Catch level parse errors in the bulk test dialog
This commit is contained in:
parent
07c9a83f75
commit
0f02e270f2
14
js/main.js
14
js/main.js
@ -2133,16 +2133,16 @@ class PackTestDialog extends DialogOverlay {
|
|||||||
let t0 = performance.now();
|
let t0 = performance.now();
|
||||||
let last_pause = t0;
|
let last_pause = t0;
|
||||||
for (let i = 0; i < num_levels; i++) {
|
for (let i = 0; i < num_levels; i++) {
|
||||||
let stored_level = pack.load_level(i);
|
let stored_level, level;
|
||||||
let status_li = this.results_summary.childNodes[i];
|
let status_li = this.results_summary.childNodes[i];
|
||||||
let record_result = (token, title, comment, include_canvas) => {
|
let record_result = (token, title, comment, include_canvas) => {
|
||||||
status_li.setAttribute('data-status', token);
|
status_li.setAttribute('data-status', token);
|
||||||
status_li.setAttribute('title', title);
|
status_li.setAttribute('title', title);
|
||||||
let li = mk(
|
let li = mk(
|
||||||
'li', {'data-status': token, 'data-index': i},
|
'li', {'data-status': token, 'data-index': i},
|
||||||
`#${i + 1} ${stored_level.title}: `,
|
`#${i + 1} ${stored_level ? stored_level.title : "???"}: `,
|
||||||
comment);
|
comment);
|
||||||
if (include_canvas) {
|
if (include_canvas && level) {
|
||||||
let canvas = mk('canvas', {
|
let canvas = mk('canvas', {
|
||||||
width: this.renderer.canvas.width,
|
width: this.renderer.canvas.width,
|
||||||
height: this.renderer.canvas.height,
|
height: this.renderer.canvas.height,
|
||||||
@ -2154,8 +2154,13 @@ class PackTestDialog extends DialogOverlay {
|
|||||||
}
|
}
|
||||||
this.results.append(li);
|
this.results.append(li);
|
||||||
|
|
||||||
|
if (level) {
|
||||||
total_tics += level.tic_counter;
|
total_tics += level.tic_counter;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
try {
|
||||||
|
stored_level = pack.load_level(i);
|
||||||
if (! stored_level.has_replay) {
|
if (! stored_level.has_replay) {
|
||||||
record_result('no-replay', "N/A", "No replay available");
|
record_result('no-replay', "N/A", "No replay available");
|
||||||
continue;
|
continue;
|
||||||
@ -2165,12 +2170,11 @@ class PackTestDialog extends DialogOverlay {
|
|||||||
|
|
||||||
// TODO compat options here??
|
// TODO compat options here??
|
||||||
let replay = stored_level.replay;
|
let replay = stored_level.replay;
|
||||||
let level = new Level(stored_level, {});
|
level = new Level(stored_level, {});
|
||||||
level.sfx = dummy_sfx;
|
level.sfx = dummy_sfx;
|
||||||
level.force_floor_direction = replay.initial_force_floor_direction;
|
level.force_floor_direction = replay.initial_force_floor_direction;
|
||||||
level._blob_modifier = replay.blob_seed;
|
level._blob_modifier = replay.blob_seed;
|
||||||
|
|
||||||
try {
|
|
||||||
while (true) {
|
while (true) {
|
||||||
let input = replay.get(level.tic_counter);
|
let input = replay.get(level.tic_counter);
|
||||||
level.advance_tic(input);
|
level.advance_tic(input);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user