diff --git a/.gitignore b/.gitignore index 34e3f65..4422d64 100644 --- a/.gitignore +++ b/.gitignore @@ -27,6 +27,7 @@ coverage *.sln *.sw? +library saves out -*.zip +*.zip \ No newline at end of file diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..75d2ff4 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "server/MaaJSLoader"] + path = server/MaaJSLoader + url = https://github.com/neko-para/MaaJSLoader diff --git a/server/MaaJSLoader b/server/MaaJSLoader new file mode 160000 index 0000000..6643668 --- /dev/null +++ b/server/MaaJSLoader @@ -0,0 +1 @@ +Subproject commit 664366805e8d8f904a30e76d4079eb6f7ac7fd35 diff --git a/server/package.json b/server/package.json index 5a3fdb6..49b2fa1 100644 --- a/server/package.json +++ b/server/package.json @@ -1,7 +1,7 @@ { "name": "maa-json-viewer-server", "scripts": { - "build": "esbuild --bundle src/index.ts --outfile=dist/index.js --sourcemap --platform=node", + "build": "esbuild --bundle src/index.ts --outfile=dist/index.js --sourcemap --platform=node --loader:.node=copy", "run": "npm run build && node dist/index.js" }, "devDependencies": { diff --git a/server/src/index.ts b/server/src/index.ts index 7284937..d52f3dc 100644 --- a/server/src/index.ts +++ b/server/src/index.ts @@ -4,6 +4,14 @@ import fs from 'fs/promises' import multer, { memoryStorage } from 'multer' import path from 'path' +import { + MaaController, + MaaFrameworkLoader, + MaaInstance, + MaaResource +} from '../MaaJSLoader' +import { MaaAdbControllerTypeEnum } from '../MaaJSLoader/src/framework/types' + async function main() { const config = JSON.parse(await fs.readFile('config.json', 'utf-8')) as { port: number @@ -54,4 +62,48 @@ async function main() { }) } +async function testLoader() { + const loader = new MaaFrameworkLoader() + loader.load('./library/maaframework/bin') + + loader.setLogging('./debug') + + const res = new MaaResource(loader) + console.log( + 'resource load:', + await res.load('./library/maaframework/share/resource') + ) + + const ctrl = new MaaController( + loader, + 'adb.exe', + '127.0.0.1:16384', + MaaAdbControllerTypeEnum.Input_Preset_Adb | + MaaAdbControllerTypeEnum.Screencap_RawWithGzip, + await fs.readFile( + './library/maaframework/share/controller_config.json', + 'utf-8' + ), + (msg, detail) => { + console.log(msg, detail) + } + ) + console.log('controller connect:', await ctrl.connect()) + await ctrl.screencap() + const buf = ctrl.image() + if (buf) { + await fs.writeFile('test.png', buf) + } + + const inst = new MaaInstance(loader, (msg, detail) => { + console.log(msg, detail) + }) + + inst.bindResource(res) + inst.bindController(ctrl) + + console.log('instance inited:', inst.inited()) +} + +testLoader() main()