Skip to content

Commit 8ba2dee

Browse files
handbook cmd
1 parent 9e394ad commit 8ba2dee

14 files changed

+445
-166
lines changed

.gitignore

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# dependencies (bun install)
22
node_modules
33
/*.exe
4-
/bin/reaper/reaper-reginfo2.ini
4+
bin/reaper/reaper-reginfo2.ini
55

66
# output
77
out

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ A set of experimental scripts to process Uma Musume Pretty Derby ( ウマ娘 プ
1313
## Requirements
1414

1515
- Windows 11 x64 Environment
16-
- Microsoft Visual C++ Redistributable Packages
16+
- [Microsoft Visual C++ Redistributable Packages](https://aka.ms/vs/17/release/vc_redist.x64.exe)
1717
- It is recommended to use the [AIO installer](https://github.com/abbodi1406/vcredist/releases/latest/download/VisualCppRedist_AIO_x86_x64.exe).
1818
- [Microsoft .NET Desktop Runtime 8.0](https://aka.ms/dotnet/8.0/windowsdesktop-runtime-win-x64.exe)
1919
- [Windows (DMM) game client](https://dmg.umamusume.jp/)

bun.lock

+25
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
"": {
55
"name": "uma-db-stuff",
66
"dependencies": {
7+
"@hono/node-server": "^1.14.1",
78
"@mongodb-js/zstd": "^2.0.1",
89
"async-retry": "^1.3.3",
910
"axios": "^1.8.4",
@@ -15,11 +16,13 @@
1516
"clui": "^0.3.6",
1617
"figlet": "^1.8.0",
1718
"fluent-ffmpeg": "^2.1.3",
19+
"hono": "^4.7.7",
1820
"ini": "^5.0.0",
1921
"ky": "^1.8.0",
2022
"log4js": "^6.9.1",
2123
"luxon": "^3.6.1",
2224
"lz4-napi": "^2.8.0",
25+
"open": "^10.1.1",
2326
"papaparse": "^5.5.2",
2427
"prompts": "^2.4.2",
2528
"qs": "^6.14.0",
@@ -105,6 +108,8 @@
105108

106109
"@biomejs/cli-win32-x64": ["@biomejs/[email protected]", "", { "os": "win32", "cpu": "x64" }, "sha512-8Y5wMhVIPaWe6jw2H+KlEm4wP/f7EW3810ZLmDlrEEy5KvBsb9ECEfu/kMWD484ijfQ8+nIi0giMgu9g1UAuuA=="],
107110

111+
"@hono/node-server": ["@hono/[email protected]", "", { "peerDependencies": { "hono": "^4" } }, "sha512-vmbuM+HPinjWzPe7FFPWMMQMsbKE9gDPhaH0FFdqbGpkT5lp++tcWDTxwBl5EgS5y6JVgIaCdjeHRfQ4XRBRjQ=="],
112+
108113
"@mongodb-js/zstd": ["@mongodb-js/[email protected]", "", { "dependencies": { "node-addon-api": "^4.3.0", "prebuild-install": "^7.1.3" } }, "sha512-hbQKltFj0hMrhe+Udh9gjkzswIJJVOo55vEHgfHbb6wjPpo4Oc3kng2bao/XnzLPCdd5Q1PXbWTC91LYPQrCtA=="],
109114

110115
"@napi-rs/triples": ["@napi-rs/[email protected]", "", {}, "sha512-HAPjR3bnCsdXBsATpDIP5WCrw0JcACwhhrwIAQhiR46n+jm+a2F8kBsfseAuWtSyQ+H3Yebt2k43B5dy+04yMA=="],
@@ -185,6 +190,8 @@
185190

186191
"bun-types": ["[email protected]", "", { "dependencies": { "@types/node": "*", "@types/ws": "*" } }, "sha512-P4hHhk7kjF99acXqKvltyuMQ2kf/rzIw3ylEDpCxDS9Xa0X0Yp/gJu/vDCucmWpiur5qJ0lwB2bWzOXa2GlHqA=="],
187192

193+
"bundle-name": ["[email protected]", "", { "dependencies": { "run-applescript": "^7.0.0" } }, "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q=="],
194+
188195
"call-bind-apply-helpers": ["[email protected]", "", { "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2" } }, "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ=="],
189196

190197
"call-bound": ["[email protected]", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "get-intrinsic": "^1.3.0" } }, "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg=="],
@@ -229,8 +236,14 @@
229236

230237
"deep-extend": ["[email protected]", "", {}, "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA=="],
231238

239+
"default-browser": ["[email protected]", "", { "dependencies": { "bundle-name": "^4.1.0", "default-browser-id": "^5.0.0" } }, "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg=="],
240+
241+
"default-browser-id": ["[email protected]", "", {}, "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA=="],
242+
232243
"defaults": ["[email protected]", "", { "dependencies": { "clone": "^1.0.2" } }, "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A=="],
233244

245+
"define-lazy-prop": ["[email protected]", "", {}, "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg=="],
246+
234247
"delayed-stream": ["[email protected]", "", {}, "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="],
235248

236249
"detect-libc": ["[email protected]", "", {}, "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw=="],
@@ -317,6 +330,8 @@
317330

318331
"hasown": ["[email protected]", "", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ=="],
319332

333+
"hono": ["[email protected]", "", {}, "sha512-2PCpQRbN87Crty8/L/7akZN3UyZIAopSoRxCwRbJgUuV1+MHNFHzYFxZTg4v/03cXUm+jce/qa2VSBZpKBm3Qw=="],
334+
320335
"ieee754": ["[email protected]", "", {}, "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="],
321336

322337
"ignore-by-default": ["[email protected]", "", {}, "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA=="],
@@ -331,16 +346,22 @@
331346

332347
"is-core-module": ["[email protected]", "", { "dependencies": { "hasown": "^2.0.2" } }, "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w=="],
333348

349+
"is-docker": ["[email protected]", "", { "bin": { "is-docker": "cli.js" } }, "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ=="],
350+
334351
"is-extglob": ["[email protected]", "", {}, "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="],
335352

336353
"is-fullwidth-code-point": ["[email protected]", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="],
337354

338355
"is-glob": ["[email protected]", "", { "dependencies": { "is-extglob": "^2.1.1" } }, "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg=="],
339356

357+
"is-inside-container": ["[email protected]", "", { "dependencies": { "is-docker": "^3.0.0" }, "bin": { "is-inside-container": "cli.js" } }, "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA=="],
358+
340359
"is-number": ["[email protected]", "", {}, "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="],
341360

342361
"is-stream": ["[email protected]", "", {}, "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ=="],
343362

363+
"is-wsl": ["[email protected]", "", { "dependencies": { "is-inside-container": "^1.0.0" } }, "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw=="],
364+
344365
"isexe": ["[email protected]", "", {}, "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="],
345366

346367
"jsonfile": ["[email protected]", "", { "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg=="],
@@ -399,6 +420,8 @@
399420

400421
"once": ["[email protected]", "", { "dependencies": { "wrappy": "1" } }, "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w=="],
401422

423+
"open": ["[email protected]", "", { "dependencies": { "default-browser": "^5.2.1", "define-lazy-prop": "^3.0.0", "is-inside-container": "^1.0.0", "is-wsl": "^3.1.0" } }, "sha512-zy1wx4+P3PfhXSEPJNtZmJXfhkkIaxU1VauWIrDZw1O7uJRDRJtKr9n3Ic4NgbA16KyOxOXO2ng9gYwCdXuSXA=="],
424+
402425
"p-finally": ["[email protected]", "", {}, "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow=="],
403426

404427
"papaparse": ["[email protected]", "", {}, "sha512-PZXg8UuAc4PcVwLosEEDYjPyfWnTEhOrUfdv+3Bx+NuAb+5NhDmXzg5fHWmdCh1mP5p7JAZfFr3IMQfcntNAdA=="],
@@ -443,6 +466,8 @@
443466

444467
"rfdc": ["[email protected]", "", {}, "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA=="],
445468

469+
"run-applescript": ["[email protected]", "", {}, "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A=="],
470+
446471
"run-parallel": ["[email protected]", "", { "dependencies": { "queue-microtask": "^1.2.2" } }, "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA=="],
447472

448473
"safe-buffer": ["[email protected]", "", {}, "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="],

package.json

+5-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "uma-db-stuff",
3-
"version": "0.1.0",
3+
"version": "0.1.1",
44
"description": "A set of experimental scripts to process Umamusume Pretty Derby game assets and database files",
55
"author": "daydreamer-json <[email protected]> (https://github.com/daydreamer-json)",
66
"license": "AGPL-3.0-or-later",
@@ -10,7 +10,7 @@
1010
"scripts": {
1111
"format": "bun x biome format --write src",
1212
"start": "bun src/main.ts",
13-
"build": "bun prebuild.ts && bun build --compile --minify --target=bun-windows-x64 src/main.ts --outfile=uma-db-stuff.exe"
13+
"build": "bun prebuild.ts && bun build --compile --minify --target=bun-windows-x64-baseline src/main.ts --outfile=uma-db-stuff.exe"
1414
},
1515
"devDependencies": {
1616
"@biomejs/biome": "^1.9.4",
@@ -35,6 +35,7 @@
3535
"typescript": "^5.8.2"
3636
},
3737
"dependencies": {
38+
"@hono/node-server": "^1.14.1",
3839
"@mongodb-js/zstd": "^2.0.1",
3940
"async-retry": "^1.3.3",
4041
"axios": "^1.8.4",
@@ -46,11 +47,13 @@
4647
"clui": "^0.3.6",
4748
"figlet": "^1.8.0",
4849
"fluent-ffmpeg": "^2.1.3",
50+
"hono": "^4.7.7",
4951
"ini": "^5.0.0",
5052
"ky": "^1.8.0",
5153
"log4js": "^6.9.1",
5254
"luxon": "^3.6.1",
5355
"lz4-napi": "^2.8.0",
56+
"open": "^10.1.1",
5457
"papaparse": "^5.5.2",
5558
"prompts": "^2.4.2",
5659
"qs": "^6.14.0",

src/cmd.ts

+16
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,22 @@ async function parseCommand() {
216216
},
217217
wrapHandler(cmds.generateLiveAudio),
218218
)
219+
.command(
220+
['openHandbook', 'handbook'],
221+
'Start HTTP server and open handbook',
222+
(yargs) => {
223+
yargs.options({
224+
'output-dir': {
225+
alias: ['o'],
226+
desc: 'Output directory',
227+
default: configUser.getConfig().file.outputPath,
228+
normalize: true,
229+
type: 'string',
230+
},
231+
});
232+
},
233+
wrapHandler(cmds.openHandbook),
234+
)
219235
.options({
220236
'no-show-progress': {
221237
alias: ['np'],

src/cmds.ts

+2
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,13 @@ import dumpMasterDb from './cmds/dumpMasterDb';
33
import extractAssetBundles from './cmds/extractAssetBundles';
44
import extractCri from './cmds/extractCri';
55
import generateLiveAudio from './cmds/generateLiveAudio';
6+
import openHandbook from './cmds/openHandbook';
67

78
export default {
89
downloadMissingAssets,
910
dumpMasterDb,
1011
extractAssetBundles,
1112
extractCri,
1213
generateLiveAudio,
14+
openHandbook,
1315
};

0 commit comments

Comments
 (0)