@pkmn/engine 0.1.0-dev.d716e940 → 0.1.0-dev.fb5bf955
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +22 -22
- package/build/pkg/addon.d.ts +2 -2
- package/build/pkg/addon.js +5 -5
- package/build/pkg/addon.js.map +1 -1
- package/build/pkg/data/layout.json +1 -1
- package/build/pkg/gen1.d.ts +4 -5
- package/build/pkg/gen1.js +24 -43
- package/build/pkg/gen1.js.map +1 -1
- package/build/pkg/index.d.ts +12 -15
- package/build/pkg/index.js.map +1 -1
- package/build/pkg/protocol.d.ts +2 -4
- package/build/pkg/protocol.js +2 -4
- package/build/pkg/protocol.js.map +1 -1
- package/build/test/display.js +13 -31
- package/build/test/display.js.map +1 -1
- package/build.zig +22 -17
- package/package.json +9 -10
- package/src/bin/install-pkmn-engine +3 -3
- package/src/bin/pkmn-debug +6 -29
- package/src/lib/binding/node.zig +5 -5
- package/src/lib/binding/wasm.zig +3 -3
- package/src/lib/common/debug.zig +0 -1
- package/src/lib/common/options.zig +3 -3
- package/src/lib/common/protocol.zig +38 -38
- package/src/lib/gen1/README.md +71 -99
- package/src/lib/gen1/data.zig +17 -19
- package/src/lib/gen1/helpers.zig +14 -3
- package/src/lib/gen1/mechanics.zig +304 -378
- package/src/lib/gen2/data.zig +4 -4
- package/src/lib/pkmn.zig +7 -7
package/build/pkg/protocol.js
CHANGED
|
@@ -165,9 +165,8 @@ DECODERS[ArgType.Move] = function (offset, data) {
|
|
|
165
165
|
const source = decodeIdent(this.info, data.getUint8(offset++));
|
|
166
166
|
const m = data.getUint8(offset++);
|
|
167
167
|
const { player, id } = decodeIdentRaw(data.getUint8(offset++));
|
|
168
|
-
const set = this.info[player].team[id - 1];
|
|
169
168
|
const target = id === 0
|
|
170
|
-
? '' : `${player}a: ${
|
|
169
|
+
? '' : `${player}a: ${this.info[player].team[id - 1].name}`;
|
|
171
170
|
const reason = data.getUint8(offset++);
|
|
172
171
|
const move = reason === data_1.PROTOCOL.Move.Recharge
|
|
173
172
|
? 'recharge' : this.gen.moves.get(this.lookup.moveByNum(m)).name;
|
|
@@ -406,8 +405,7 @@ function decodeProtocol(type, offset, data, info) {
|
|
|
406
405
|
}
|
|
407
406
|
function decodeIdent(info, byte) {
|
|
408
407
|
const { player, id } = decodeIdentRaw(byte);
|
|
409
|
-
|
|
410
|
-
return `${player}a: ${(set.name || set.species)}`;
|
|
408
|
+
return `${player}a: ${info[player].team[id - 1].name}`;
|
|
411
409
|
}
|
|
412
410
|
function decodeDetails(offset, data, gen, lookup) {
|
|
413
411
|
const species = gen.species.get(lookup.speciesByNum(data.getUint8(offset++))).name;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/pkg/protocol.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/pkg/protocol.ts"],"names":[],"mappings":"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"}
|
package/build/test/display.js
CHANGED
|
@@ -88,8 +88,7 @@ function render(gen, showdown, error, seed, frames, partial = {}) {
|
|
|
88
88
|
buf.push(`<pre class="error"><code>${escapeHTML(err)}</pre></code>`);
|
|
89
89
|
}
|
|
90
90
|
const type = Array.isArray(last) ? 'showdown' : 'pkmn';
|
|
91
|
-
|
|
92
|
-
return (0, html_minifier_1.minify)(render(fs.readFileSync(template(type), 'utf8'), type === 'pkmn'
|
|
91
|
+
return (0, html_minifier_1.minify)(mustache.render(fs.readFileSync(template(type), 'utf8'), type === 'pkmn'
|
|
93
92
|
? { content: buf.join('') }
|
|
94
93
|
: {
|
|
95
94
|
seed: buf.shift(),
|
|
@@ -142,26 +141,22 @@ function displayBattle(gen, showdown, battle, last) {
|
|
|
142
141
|
buf.push('<div class="sides">');
|
|
143
142
|
const [p1, p2] = Array.from(battle.sides);
|
|
144
143
|
const [o1, o2] = last ? Array.from(last.sides) : [undefined, undefined];
|
|
145
|
-
buf.push(displaySide(gen, showdown, battle, 'p1', p1, o1));
|
|
146
|
-
buf.push(displaySide(gen, showdown, battle, 'p2', p2, o2));
|
|
144
|
+
buf.push(displaySide(gen, showdown, !!battle.turn, 'p1', p1, o1));
|
|
145
|
+
buf.push(displaySide(gen, showdown, !!battle.turn, 'p2', p2, o2));
|
|
147
146
|
buf.push('</div>');
|
|
148
147
|
buf.push('</div>');
|
|
149
148
|
return buf.join('');
|
|
150
149
|
}
|
|
151
|
-
function displaySide(gen, showdown,
|
|
150
|
+
function displaySide(gen, showdown, started, player, side, last) {
|
|
152
151
|
const buf = [];
|
|
153
152
|
buf.push(`<div class="side ${player}">`);
|
|
154
|
-
if (
|
|
153
|
+
if (started) {
|
|
155
154
|
buf.push('<div class="details">');
|
|
156
155
|
const used = side.lastUsedMove ? gen.moves.get(side.lastUsedMove).name : '<em>None</em>';
|
|
157
156
|
buf.push(`<div><strong>Last Used</strong><br />${used}</div>`);
|
|
158
|
-
const selected = side.lastSelectedMove ? gen.moves.get(side.lastSelectedMove) :
|
|
159
|
-
const
|
|
160
|
-
|
|
161
|
-
(selected.type === 'Normal' || selected.type === 'Fighting');
|
|
162
|
-
const mismatch = counterable !== side.lastMoveCounterable ? '*' : '';
|
|
163
|
-
const index = side.lastMoveIndex ? ` (${side.lastMoveIndex})` : '';
|
|
164
|
-
buf.push(`<div><strong>Last Selected</strong><br />${move}${mismatch}${index}</div>`);
|
|
157
|
+
const selected = side.lastSelectedMove ? gen.moves.get(side.lastSelectedMove).name : '<em>None</em>';
|
|
158
|
+
const index = side.lastSelectedIndex ? ` (${side.lastSelectedIndex})` : '';
|
|
159
|
+
buf.push(`<div><strong>Last Selected</strong><br />${selected}${index}</div>`);
|
|
165
160
|
buf.push('</div>');
|
|
166
161
|
}
|
|
167
162
|
if (side.active) {
|
|
@@ -175,7 +170,7 @@ function displaySide(gen, showdown, battle, player, side, last) {
|
|
|
175
170
|
}
|
|
176
171
|
}
|
|
177
172
|
}
|
|
178
|
-
buf.push(displayPokemon(gen, showdown,
|
|
173
|
+
buf.push(displayPokemon(gen, showdown, side.active, true, prev));
|
|
179
174
|
buf.push('</div>');
|
|
180
175
|
}
|
|
181
176
|
buf.push('<details class="team">');
|
|
@@ -191,14 +186,14 @@ function displaySide(gen, showdown, battle, player, side, last) {
|
|
|
191
186
|
buf.push(b.join(''));
|
|
192
187
|
buf.push('</div></summary>');
|
|
193
188
|
for (const pokemon of side.pokemon) {
|
|
194
|
-
buf.push(displayPokemon(gen, showdown,
|
|
189
|
+
buf.push(displayPokemon(gen, showdown, pokemon, false));
|
|
195
190
|
}
|
|
196
191
|
buf.push('</details>');
|
|
197
192
|
buf.push('</div>');
|
|
198
193
|
return buf.join('');
|
|
199
194
|
}
|
|
200
195
|
const STATS = ['hp', 'atk', 'def', 'spa', 'spd', 'spe'];
|
|
201
|
-
function displayPokemon(gen, showdown,
|
|
196
|
+
function displayPokemon(gen, showdown, pokemon, active, last) {
|
|
202
197
|
const buf = [];
|
|
203
198
|
buf.push('<div class="pokemon">');
|
|
204
199
|
const species = active ? pokemon.species : pokemon.stored.species;
|
|
@@ -307,21 +302,8 @@ function displayPokemon(gen, showdown, battle, pokemon, active, last) {
|
|
|
307
302
|
data = `${val.duration}${val.accuracy ? ` (${val.accuracy})` : ''}`;
|
|
308
303
|
}
|
|
309
304
|
else if (volatile === 'transform') {
|
|
310
|
-
const
|
|
311
|
-
|
|
312
|
-
let i = 0;
|
|
313
|
-
for (const side of battle.sides) {
|
|
314
|
-
if (i++ === p) {
|
|
315
|
-
i = 1;
|
|
316
|
-
for (const poke of side.pokemon) {
|
|
317
|
-
if (i++ === slot) {
|
|
318
|
-
data = `${player}${POSITIONS[poke.position - 1]}`;
|
|
319
|
-
break;
|
|
320
|
-
}
|
|
321
|
-
}
|
|
322
|
-
break;
|
|
323
|
-
}
|
|
324
|
-
}
|
|
305
|
+
const slot = POSITIONS[pokemon.volatiles[volatile].slot];
|
|
306
|
+
data = `${pokemon.volatiles[volatile].player}${slot}`;
|
|
325
307
|
}
|
|
326
308
|
data = (data ? `${name}: ${data}` : name).replace(' ', ' ');
|
|
327
309
|
buf.push(`<span class="volatile ${type}">${data}</span>`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"display.js","sourceRoot":"","sources":["../../src/test/display.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"display.js","sourceRoot":"","sources":["../../src/test/display.ts"],"names":[],"mappings":"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"}
|
package/build.zig
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
const std = @import("std");
|
|
2
2
|
const builtin = @import("builtin");
|
|
3
3
|
|
|
4
|
-
pub const Options = struct { showdown: ?bool = null,
|
|
4
|
+
pub const Options = struct { showdown: ?bool = null, trace: ?bool = null };
|
|
5
5
|
|
|
6
6
|
pub fn module(b: *std.Build, options: Options) *std.Build.Module {
|
|
7
7
|
const dirname = comptime std.fs.path.dirname(@src().file) orelse ".";
|
|
8
8
|
const build_options = b.addOptions();
|
|
9
9
|
build_options.addOption(?bool, "showdown", options.showdown);
|
|
10
|
-
build_options.addOption(?bool, "
|
|
10
|
+
build_options.addOption(?bool, "trace", options.trace);
|
|
11
11
|
return b.createModule(.{
|
|
12
12
|
.source_file = .{ .path = dirname ++ "/src/lib/pkmn.zig" },
|
|
13
13
|
.dependencies = &.{.{ .name = "build_options", .module = build_options.createModule() }},
|
|
@@ -27,7 +27,6 @@ pub fn build(b: *std.Build) !void {
|
|
|
27
27
|
const dynamic = b.option(bool, "dynamic", "Build a dynamic library") orelse false;
|
|
28
28
|
const strip = b.option(bool, "strip", "Strip debugging symbols from binary") orelse false;
|
|
29
29
|
const pic = b.option(bool, "pic", "Force position independent code") orelse false;
|
|
30
|
-
const emit_asm = b.option(bool, "emit-asm", "Output .s (assembly code)") orelse false;
|
|
31
30
|
|
|
32
31
|
const cmd = b.findProgram(&.{"strip"}, &.{}) catch null;
|
|
33
32
|
|
|
@@ -42,11 +41,11 @@ pub fn build(b: *std.Build) !void {
|
|
|
42
41
|
|
|
43
42
|
const showdown =
|
|
44
43
|
b.option(bool, "showdown", "Enable Pokémon Showdown compatibility mode") orelse false;
|
|
45
|
-
const
|
|
44
|
+
const trace = b.option(bool, "trace", "Enable trace logs") orelse false;
|
|
46
45
|
|
|
47
46
|
const options = b.addOptions();
|
|
48
47
|
options.addOption(?bool, "showdown", showdown);
|
|
49
|
-
options.addOption(?bool, "
|
|
48
|
+
options.addOption(?bool, "trace", trace);
|
|
50
49
|
|
|
51
50
|
const name = if (showdown) "pkmn-showdown" else "pkmn";
|
|
52
51
|
|
|
@@ -80,7 +79,7 @@ pub fn build(b: *std.Build) !void {
|
|
|
80
79
|
//
|
|
81
80
|
// But ziglang/zig#14647 broke this so we now need to do an install() and then manually
|
|
82
81
|
// rename the file ourself in install-pkmn-engine
|
|
83
|
-
|
|
82
|
+
lib.install();
|
|
84
83
|
} else if (wasm) {
|
|
85
84
|
const lib = b.addSharedLibrary(.{
|
|
86
85
|
.name = name,
|
|
@@ -106,7 +105,7 @@ pub fn build(b: *std.Build) !void {
|
|
|
106
105
|
sh.addFileSourceArg(.{ .path = out });
|
|
107
106
|
b.getInstallStep().dependOn(&sh.step);
|
|
108
107
|
}
|
|
109
|
-
|
|
108
|
+
lib.install();
|
|
110
109
|
} else if (dynamic) {
|
|
111
110
|
const lib = b.addSharedLibrary(.{
|
|
112
111
|
.name = name,
|
|
@@ -120,7 +119,7 @@ pub fn build(b: *std.Build) !void {
|
|
|
120
119
|
lib.addIncludePath("src/include");
|
|
121
120
|
maybeStrip(b, lib, b.getInstallStep(), strip, cmd);
|
|
122
121
|
if (pic) lib.force_pic = pic;
|
|
123
|
-
|
|
122
|
+
lib.install();
|
|
124
123
|
c = true;
|
|
125
124
|
} else {
|
|
126
125
|
const lib = b.addStaticLibrary(.{
|
|
@@ -135,8 +134,7 @@ pub fn build(b: *std.Build) !void {
|
|
|
135
134
|
lib.bundle_compiler_rt = true;
|
|
136
135
|
maybeStrip(b, lib, b.getInstallStep(), strip, cmd);
|
|
137
136
|
if (pic) lib.force_pic = pic;
|
|
138
|
-
|
|
139
|
-
b.installArtifact(lib);
|
|
137
|
+
lib.install();
|
|
140
138
|
c = true;
|
|
141
139
|
}
|
|
142
140
|
|
|
@@ -185,7 +183,7 @@ pub fn build(b: *std.Build) !void {
|
|
|
185
183
|
.general = config,
|
|
186
184
|
.tool = .{
|
|
187
185
|
.showdown = showdown,
|
|
188
|
-
.
|
|
186
|
+
.trace = trace,
|
|
189
187
|
.tests = if (tests.build) tests else null,
|
|
190
188
|
.exes = &exes,
|
|
191
189
|
},
|
|
@@ -207,7 +205,7 @@ pub fn build(b: *std.Build) !void {
|
|
|
207
205
|
const lint_exe =
|
|
208
206
|
b.addExecutable(.{ .name = "lint", .root_source_file = .{ .path = "src/tools/lint.zig" } });
|
|
209
207
|
if (tests.build) tests.step.dependOn(&lint_exe.step);
|
|
210
|
-
const lint =
|
|
208
|
+
const lint = lint_exe.run();
|
|
211
209
|
|
|
212
210
|
b.step("benchmark", "Run benchmark code").dependOn(&benchmark.step);
|
|
213
211
|
b.step("fuzz", "Run fuzz tester").dependOn(&fuzz.step);
|
|
@@ -258,8 +256,11 @@ const TestStep = struct {
|
|
|
258
256
|
pub fn create(b: *std.Build, options: *std.Build.OptionsStep, config: Config) *TestStep {
|
|
259
257
|
const coverage = b.option([]const u8, "test-coverage", "Generate test coverage");
|
|
260
258
|
const test_file = b.option([]const u8, "test-file", "Input file for test");
|
|
259
|
+
const test_bin = b.option([]const u8, "test-bin", "Emit test binary to");
|
|
261
260
|
const test_filter =
|
|
262
261
|
b.option([]const u8, "test-filter", "Skip tests that do not match filter");
|
|
262
|
+
const test_no_exec =
|
|
263
|
+
b.option(bool, "test-no-exec", "Compiles test binary without running it") orelse false;
|
|
263
264
|
|
|
264
265
|
const self = b.allocator.create(TestStep) catch @panic("OOM");
|
|
265
266
|
const step = std.Build.Step.init(.{ .id = .custom, .name = "Run all tests", .owner = b });
|
|
@@ -273,17 +274,21 @@ const TestStep = struct {
|
|
|
273
274
|
.root_source_file = .{ .path = path },
|
|
274
275
|
.optimize = config.optimize,
|
|
275
276
|
.target = config.target,
|
|
276
|
-
.filter = test_filter,
|
|
277
277
|
});
|
|
278
278
|
tests.setMainPkgPath("./");
|
|
279
|
+
tests.setFilter(test_filter);
|
|
279
280
|
tests.addOptions("build_options", options);
|
|
280
281
|
tests.single_threaded = true;
|
|
281
282
|
maybeStrip(b, tests, &tests.step, config.strip, config.cmd);
|
|
282
283
|
if (config.pic) tests.force_pic = config.pic;
|
|
284
|
+
if (test_bin) |bin| {
|
|
285
|
+
tests.name = std.fs.path.basename(bin);
|
|
286
|
+
if (std.fs.path.dirname(bin)) |dir| tests.setOutputDir(dir);
|
|
287
|
+
}
|
|
283
288
|
if (coverage) |c| {
|
|
284
289
|
tests.setExecCmd(&.{ "kcov", "--include-pattern=src/lib", c, null });
|
|
285
290
|
}
|
|
286
|
-
self.step.dependOn(&
|
|
291
|
+
self.step.dependOn(if (test_no_exec) &tests.step else &tests.run().step);
|
|
287
292
|
}
|
|
288
293
|
return self;
|
|
289
294
|
}
|
|
@@ -293,7 +298,7 @@ const ToolConfig = struct {
|
|
|
293
298
|
general: Config,
|
|
294
299
|
tool: struct {
|
|
295
300
|
showdown: bool,
|
|
296
|
-
|
|
301
|
+
trace: bool,
|
|
297
302
|
tests: ?*TestStep,
|
|
298
303
|
name: ?[]const u8 = null,
|
|
299
304
|
exes: *std.ArrayList(*std.Build.CompileStep),
|
|
@@ -314,14 +319,14 @@ fn tool(b: *std.Build, path: []const u8, config: ToolConfig) *std.Build.RunStep
|
|
|
314
319
|
});
|
|
315
320
|
exe.addModule("pkmn", module(b, .{
|
|
316
321
|
.showdown = config.tool.showdown,
|
|
317
|
-
.
|
|
322
|
+
.trace = config.tool.trace,
|
|
318
323
|
}));
|
|
319
324
|
exe.single_threaded = true;
|
|
320
325
|
if (config.general.pic) exe.force_pic = config.general.pic;
|
|
321
326
|
if (config.tool.tests) |ts| ts.step.dependOn(&exe.step);
|
|
322
327
|
config.tool.exes.append(exe) catch @panic("OOM");
|
|
323
328
|
|
|
324
|
-
const run =
|
|
329
|
+
const run = exe.run();
|
|
325
330
|
maybeStrip(b, exe, &run.step, config.general.strip, config.general.cmd);
|
|
326
331
|
if (b.args) |args| run.addArgs(args);
|
|
327
332
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pkmn/engine",
|
|
3
|
-
"version": "0.1.0-dev.
|
|
3
|
+
"version": "0.1.0-dev.fb5bf955",
|
|
4
4
|
"description": "A minimal, complete, Pokémon battle simulation engine optimized for performance",
|
|
5
5
|
"repository": "github:pkmn/engine",
|
|
6
6
|
"license": "MIT",
|
|
@@ -66,30 +66,30 @@
|
|
|
66
66
|
"access": "public"
|
|
67
67
|
},
|
|
68
68
|
"dependencies": {
|
|
69
|
-
"@pkmn/data": "^0.7.
|
|
69
|
+
"@pkmn/data": "^0.7.36",
|
|
70
70
|
"@pkmn/protocol": "^0.6.11"
|
|
71
71
|
},
|
|
72
72
|
"devDependencies": {
|
|
73
73
|
"@pkmn/eslint-config": "^3.0.0",
|
|
74
74
|
"@pkmn/img": "^0.2.8",
|
|
75
75
|
"@pkmn/sets": "^5.0.4",
|
|
76
|
-
"@pkmn/sim": "0.7.
|
|
76
|
+
"@pkmn/sim": "0.7.36",
|
|
77
77
|
"@types/html-minifier": "^4.0.2",
|
|
78
78
|
"@types/jest": "^29.5.0",
|
|
79
79
|
"@types/minimist": "^1.2.2",
|
|
80
80
|
"@types/mustache": "^4.2.2",
|
|
81
81
|
"@types/node": "^18.15.11",
|
|
82
|
-
"@vitest/coverage-c8": "^0.
|
|
82
|
+
"@vitest/coverage-c8": "^0.29.8",
|
|
83
83
|
"binaryen": "^112.0.0",
|
|
84
|
-
"eslint": "^8.
|
|
84
|
+
"eslint": "^8.37.0",
|
|
85
85
|
"html-minifier": "^4.0.0",
|
|
86
|
-
"json-stringify-pretty-compact": "
|
|
86
|
+
"json-stringify-pretty-compact": "3.0.0",
|
|
87
87
|
"minimist": "^1.2.8",
|
|
88
88
|
"mustache": "^4.2.0",
|
|
89
89
|
"source-map-support": "^0.5.21",
|
|
90
90
|
"trakr": "^0.2.0",
|
|
91
|
-
"typescript": "^5.0.
|
|
92
|
-
"vitest": "^0.
|
|
91
|
+
"typescript": "^5.0.3",
|
|
92
|
+
"vitest": "^0.29.8"
|
|
93
93
|
},
|
|
94
94
|
"scripts": {
|
|
95
95
|
"lint": "eslint --cache src --ext ts,js && eslint src/bin/*",
|
|
@@ -161,8 +161,7 @@
|
|
|
161
161
|
},
|
|
162
162
|
{
|
|
163
163
|
"files": [
|
|
164
|
-
"src/test/*.test.ts"
|
|
165
|
-
"src/test/regression/*.test.ts"
|
|
164
|
+
"src/test/*.test.ts"
|
|
166
165
|
],
|
|
167
166
|
"rules": {
|
|
168
167
|
"jest/no-standalone-expect": "off"
|
|
@@ -10,7 +10,7 @@ const path = require('path');
|
|
|
10
10
|
const {pipeline} = require('stream/promises');
|
|
11
11
|
const tty = require('tty');
|
|
12
12
|
|
|
13
|
-
const ZIG_VERSION = {major: 0, minor: 11, patch: 0, dev:
|
|
13
|
+
const ZIG_VERSION = {major: 0, minor: 11, patch: 0, dev: 2168};
|
|
14
14
|
const DEV = ZIG_VERSION.dev ? `-dev.${ZIG_VERSION.dev}` : '';
|
|
15
15
|
const VERSION = `${ZIG_VERSION.major}.${ZIG_VERSION.minor}.${ZIG_VERSION.patch}${DEV}`;
|
|
16
16
|
const INDEX = 'https://ziglang.org/download/index.json';
|
|
@@ -337,13 +337,13 @@ const downloadImportLib = async () => {
|
|
|
337
337
|
if (!options) {
|
|
338
338
|
const addon = require(copy);
|
|
339
339
|
if (addon.options.showdown) opts.push('-Dshowdown');
|
|
340
|
-
if (addon.options.
|
|
340
|
+
if (addon.options.trace) opts.push('-Dtrace');
|
|
341
341
|
}
|
|
342
342
|
} else if (!options) {
|
|
343
343
|
const addon = await WebAssembly.instantiate(fs.readFileSync(copy));
|
|
344
344
|
const values = new Uint8Array(addon.instance.exports.memory.buffer);
|
|
345
345
|
if (values[addon.instance.exports.SHOWDOWN.value]) opts.push('-Dshowdown');
|
|
346
|
-
if (values[addon.instance.exports.
|
|
346
|
+
if (values[addon.instance.exports.TRACE.value]) opts.push('-Dtrace');
|
|
347
347
|
}
|
|
348
348
|
const key = `${type} ${opts.sort().join(' ')}`;
|
|
349
349
|
if (!configs.has(key)) configs.set(key, {type, options: opts});
|
package/src/bin/pkmn-debug
CHANGED
|
@@ -8,54 +8,31 @@ try {
|
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
const {execFileSync} = require('child_process');
|
|
11
|
-
const {readFileSync} = require('fs');
|
|
12
|
-
const {join, resolve} = require('path');
|
|
13
11
|
|
|
14
|
-
const
|
|
15
|
-
const packageJSON = JSON.parse(readFileSync(join(ROOT, 'package.json'), 'utf8'));
|
|
12
|
+
const {Generations} = require('@pkmn/data');
|
|
16
13
|
|
|
17
|
-
const
|
|
18
|
-
for (const dep of ['@pkmn/img', 'html-minifier', 'mustache']) {
|
|
19
|
-
try {
|
|
20
|
-
require.resolve(dep);
|
|
21
|
-
} catch (e) {
|
|
22
|
-
if (e.code !== 'MODULE_NOT_FOUND') throw e;
|
|
23
|
-
missing.push(`${dep}@${packageJSON.devDependencies[dep]}`);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
14
|
+
const {run} = require('../../build/tools/debug');
|
|
26
15
|
|
|
27
|
-
let Dex
|
|
16
|
+
let Dex;
|
|
28
17
|
try {
|
|
29
18
|
Dex = require('@pkmn/sim').Dex;
|
|
30
19
|
} catch (err) {
|
|
31
20
|
if (err.code !== 'MODULE_NOT_FOUND') throw err;
|
|
32
21
|
try {
|
|
33
|
-
|
|
22
|
+
require.resolve('@pkmn/dex');
|
|
34
23
|
} catch (e) {
|
|
35
24
|
if (e.code !== 'MODULE_NOT_FOUND') throw e;
|
|
36
|
-
|
|
25
|
+
execFileSync('npm', ['install', '@pkmn/dex', '--global', '--silent']);
|
|
37
26
|
}
|
|
38
|
-
}
|
|
39
27
|
|
|
40
|
-
if (missing.length) {
|
|
41
28
|
if (+/^v(\d+)/.exec(process.version)[1] < 16) {
|
|
42
29
|
console.error('pkmn-debug requires Node v16+');
|
|
43
30
|
process.exit(1);
|
|
44
31
|
}
|
|
45
32
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
const node_modules = execFileSync('npm', ['root', '--global'], {encoding: 'utf8'}).trim();
|
|
49
|
-
if (!process.env.NODE_PATH || !process.env.NODE_PATH.includes(node_modules)) {
|
|
50
|
-
console.error(`NODE_PATH must include npm's global node_modules directory: '${node_modules}'`);
|
|
51
|
-
process.exit(1);
|
|
52
|
-
}
|
|
33
|
+
Dex = require('@pkmn/dex').Dex;
|
|
53
34
|
}
|
|
54
35
|
|
|
55
|
-
const {Generations} = require('@pkmn/data');
|
|
56
|
-
|
|
57
|
-
const {run} = require('../../build/tools/debug');
|
|
58
|
-
|
|
59
36
|
run(new Generations(Dex)).catch(err => {
|
|
60
37
|
console.error(err.message);
|
|
61
38
|
process.exit(1);
|