@lewismoten/gamemaker-sandbox-engine 3.1.0 → 3.3.0

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.
Files changed (108) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/NOTICE.md +58 -753
  3. package/README.md +94 -10
  4. package/dist/assets/{music.worklet-NqOeNo6T.js → music.worklet-aD2x7RRM.js} +23 -21
  5. package/dist/audio/cmfLoad.js +10 -0
  6. package/dist/audio/cmfPlayer.js +201 -0
  7. package/dist/audio/context.js +75 -0
  8. package/dist/audio/engine.js +173 -0
  9. package/dist/audio/mix.js +40 -0
  10. package/dist/audio/opl.js +245 -0
  11. package/dist/audio/output.js +40 -0
  12. package/dist/core/gameFiles.js +89 -0
  13. package/dist/engine/character.js +187 -0
  14. package/dist/engine/funcKeys.js +164 -0
  15. package/dist/engine/game.js +133 -0
  16. package/dist/engine/keys.js +68 -0
  17. package/dist/engine/machine.js +192 -0
  18. package/dist/engine/menus.js +135 -0
  19. package/dist/engine/monsters.js +259 -0
  20. package/dist/engine/playGain.js +10 -0
  21. package/dist/engine/playerLook.js +48 -0
  22. package/dist/engine/recorder.js +127 -0
  23. package/dist/engine/render.js +45 -0
  24. package/dist/engine/scene.js +324 -0
  25. package/dist/engine/scroll.js +79 -0
  26. package/dist/engine/showGraphic.js +107 -0
  27. package/dist/engine/slowPc.js +98 -0
  28. package/dist/engine/slowPcMusic.js +46 -0
  29. package/dist/engine/touch.js +61 -0
  30. package/dist/engine/world.js +205 -0
  31. package/dist/formats/binary.js +120 -0
  32. package/dist/formats/blocks.js +103 -0
  33. package/dist/formats/character.js +83 -0
  34. package/dist/formats/cmf.js +37 -0
  35. package/dist/formats/cmfEdit.js +154 -0
  36. package/dist/formats/cmfPreview.js +89 -0
  37. package/dist/formats/cmfSong.js +190 -0
  38. package/dist/formats/fli.js +340 -0
  39. package/dist/formats/fliFrames.js +34 -0
  40. package/dist/formats/fliLimits.js +54 -0
  41. package/dist/formats/game.js +198 -0
  42. package/dist/formats/gif.js +125 -0
  43. package/dist/formats/gifProgressive.js +99 -0
  44. package/dist/formats/graphicScripts.js +44 -0
  45. package/dist/formats/highscore.js +30 -0
  46. package/dist/formats/jpeg.js +359 -0
  47. package/dist/formats/map.js +38 -0
  48. package/dist/formats/monster.js +69 -0
  49. package/dist/formats/palette.js +58 -0
  50. package/dist/formats/recording.js +17 -0
  51. package/dist/formats/sound.js +44 -0
  52. package/dist/formats/voc.js +303 -0
  53. package/dist/gfx/colorVision.js +45 -0
  54. package/dist/gfx/cp437Glyphs.js +337 -0
  55. package/dist/gfx/font8x8.js +10 -0
  56. package/dist/gfx/screen.js +151 -0
  57. package/dist/index.js +15 -0
  58. package/dist/input/chords.js +46 -0
  59. package/dist/input/deskMouse.js +24 -0
  60. package/dist/input/keyboard.js +82 -0
  61. package/dist/input/scancodes.js +143 -0
  62. package/dist/player/fileExtensions.js +118 -0
  63. package/dist/player/patchRules.js +129 -0
  64. package/dist/player/patchTable.js +1753 -0
  65. package/dist/text/cp437.js +44 -0
  66. package/dist/types/audio/cmfPlayer.d.ts +1 -1
  67. package/dist/types/audio/engine.d.ts +21 -0
  68. package/dist/types/audio/mix.d.ts +14 -0
  69. package/dist/types/audio/music.worklet.d.ts +8 -0
  70. package/dist/types/engine/character.d.ts +3 -3
  71. package/dist/types/engine/funcKeys.d.ts +8 -6
  72. package/dist/types/engine/game.d.ts +9 -4
  73. package/dist/types/engine/keys.d.ts +2 -2
  74. package/dist/types/engine/machine.d.ts +8 -4
  75. package/dist/types/engine/menus.d.ts +4 -4
  76. package/dist/types/engine/monsters.d.ts +1 -1
  77. package/dist/types/engine/playerLook.d.ts +20 -2
  78. package/dist/types/engine/recorder.d.ts +8 -1
  79. package/dist/types/engine/render.d.ts +2 -2
  80. package/dist/types/engine/scene.d.ts +41 -9
  81. package/dist/types/engine/scroll.d.ts +9 -1
  82. package/dist/types/engine/showGraphic.d.ts +2 -2
  83. package/dist/types/engine/slowPc.d.ts +64 -2
  84. package/dist/types/engine/slowPcMusic.d.ts +18 -0
  85. package/dist/types/engine/touch.d.ts +2 -2
  86. package/dist/types/engine/world.d.ts +28 -6
  87. package/dist/types/formats/cmfEdit.d.ts +53 -0
  88. package/dist/types/formats/cmfPreview.d.ts +19 -0
  89. package/dist/types/formats/cmfSong.d.ts +74 -0
  90. package/dist/types/formats/fli.d.ts +11 -0
  91. package/dist/types/formats/fliFrames.d.ts +18 -0
  92. package/dist/types/formats/fliLimits.d.ts +13 -0
  93. package/dist/types/formats/game.d.ts +7 -0
  94. package/dist/types/formats/gif.d.ts +1 -1
  95. package/dist/types/formats/gifProgressive.d.ts +46 -0
  96. package/dist/types/formats/jpeg.d.ts +20 -0
  97. package/dist/types/gfx/colorVision.d.ts +26 -0
  98. package/dist/types/gfx/screen.d.ts +4 -0
  99. package/dist/types/index.d.ts +4 -0
  100. package/dist/types/input/keyboard.d.ts +1 -1
  101. package/dist/types/{dosPlayer → player}/patchRules.d.ts +1 -1
  102. package/dist/types/{dosPlayer → player}/patchTable.d.ts +8 -5
  103. package/dist/types/text/cp437.d.ts +6 -0
  104. package/package.json +322 -9
  105. package/dist/engine.js +0 -5436
  106. package/dist/types/engine/package.d.ts +0 -4
  107. /package/dist/types/{project → core}/gameFiles.d.ts +0 -0
  108. /package/dist/types/{dosPlayer → player}/fileExtensions.d.ts +0 -0
@@ -0,0 +1,1753 @@
1
+ const n = { yellow: 623, red: 626, blue: 629, purple: 632, hsRed: 5626, hsBlue: 5629, hsGreen: 5632 }, a = 10489, l = [
2
+ { id: "str.menu.play", group: "words", screen: "menu", label: "Play", safety: "safe", web: !0, kind: "text", offset: 153435, length: 4, stock: "Play" },
3
+ {
4
+ id: "str.menu.instructions",
5
+ group: "words",
6
+ screen: "menu",
7
+ label: "Read Instructions",
8
+ safety: "safe",
9
+ web: !0,
10
+ kind: "text",
11
+ offset: 153440,
12
+ length: 17,
13
+ stock: "Read Instructions"
14
+ },
15
+ {
16
+ id: "str.menu.storyline",
17
+ group: "words",
18
+ screen: "menu",
19
+ label: "Read Storyline",
20
+ safety: "safe",
21
+ web: !0,
22
+ kind: "text",
23
+ offset: 153458,
24
+ length: 14,
25
+ stock: "Read Storyline"
26
+ },
27
+ {
28
+ id: "str.menu.credits",
29
+ group: "words",
30
+ screen: "menu",
31
+ label: "See Credits",
32
+ safety: "safe",
33
+ web: !0,
34
+ kind: "text",
35
+ offset: 153473,
36
+ length: 11,
37
+ stock: "See Credits"
38
+ },
39
+ {
40
+ id: "str.menu.highScores",
41
+ group: "words",
42
+ screen: "menu",
43
+ label: "See Highest Scores",
44
+ safety: "safe",
45
+ web: !0,
46
+ kind: "text",
47
+ offset: 153485,
48
+ length: 18,
49
+ stock: "See Highest Scores"
50
+ },
51
+ { id: "str.menu.quit", group: "words", screen: "menu", label: "Quit", safety: "safe", web: !0, kind: "text", offset: 153504, length: 4, stock: "Quit" },
52
+ {
53
+ id: "str.menu.noInstructions",
54
+ group: "words",
55
+ screen: "menu",
56
+ label: "No instructions",
57
+ safety: "safe",
58
+ web: !0,
59
+ kind: "text",
60
+ offset: 153344,
61
+ length: 30,
62
+ stock: "No game-specific instructions."
63
+ },
64
+ {
65
+ id: "str.menu.noStoryline",
66
+ group: "words",
67
+ screen: "menu",
68
+ label: "No storyline",
69
+ safety: "safe",
70
+ web: !0,
71
+ kind: "text",
72
+ offset: 153375,
73
+ length: 27,
74
+ stock: "No game-specific storyline."
75
+ },
76
+ {
77
+ id: "str.menu.noCredits",
78
+ group: "words",
79
+ screen: "menu",
80
+ label: "No credits",
81
+ safety: "safe",
82
+ web: !0,
83
+ kind: "text",
84
+ offset: 153403,
85
+ length: 31,
86
+ stock: "No game-specific credits given."
87
+ },
88
+ {
89
+ id: "str.hiscore.title",
90
+ group: "words",
91
+ screen: "hiscores",
92
+ label: "Heading",
93
+ safety: "safe",
94
+ web: !0,
95
+ kind: "text",
96
+ offset: 157899,
97
+ length: 14,
98
+ stock: "Top Ten Scores"
99
+ },
100
+ {
101
+ id: "str.hiscore.latest",
102
+ group: "words",
103
+ screen: "hiscores",
104
+ label: "Your latest score",
105
+ safety: "caution",
106
+ web: !0,
107
+ kind: "format",
108
+ offset: 157923,
109
+ length: 23,
110
+ stock: "%10ld Your Latest Score"
111
+ },
112
+ {
113
+ id: "str.hiscore.anyKey",
114
+ group: "words",
115
+ screen: "hiscores",
116
+ label: "Foot",
117
+ safety: "safe",
118
+ web: !0,
119
+ kind: "text",
120
+ offset: 157947,
121
+ length: 11,
122
+ stock: "Hit any key"
123
+ },
124
+ {
125
+ id: "str.hiscore.congrats",
126
+ group: "words",
127
+ screen: "newHiscore",
128
+ label: "Congratulations",
129
+ safety: "safe",
130
+ web: !0,
131
+ kind: "text",
132
+ offset: 157967,
133
+ length: 16,
134
+ stock: "Congratulations!"
135
+ },
136
+ {
137
+ id: "str.hiscore.place",
138
+ group: "words",
139
+ screen: "newHiscore",
140
+ label: "Place line",
141
+ safety: "caution",
142
+ web: !0,
143
+ kind: "format",
144
+ offset: 157984,
145
+ length: 37,
146
+ stock: "You scored number %2d on the Top Ten!"
147
+ },
148
+ {
149
+ id: "str.hiscore.enterName",
150
+ group: "words",
151
+ screen: "newHiscore",
152
+ label: "Name prompt",
153
+ safety: "safe",
154
+ web: !0,
155
+ kind: "text",
156
+ offset: 158022,
157
+ length: 16,
158
+ stock: "Enter Your Name:"
159
+ },
160
+ {
161
+ id: "str.invent.score",
162
+ group: "words",
163
+ screen: "status",
164
+ label: "Score",
165
+ safety: "caution",
166
+ web: !0,
167
+ kind: "format",
168
+ offset: 154428,
169
+ length: 14,
170
+ stock: "Score: %ld"
171
+ },
172
+ {
173
+ id: "str.invent.money",
174
+ group: "words",
175
+ screen: "status",
176
+ label: "Money",
177
+ safety: "caution",
178
+ web: !0,
179
+ kind: "format",
180
+ offset: 154443,
181
+ length: 13,
182
+ stock: "Money: %d"
183
+ },
184
+ {
185
+ id: "str.invent.hitpoints",
186
+ group: "words",
187
+ screen: "status",
188
+ label: "Hitpoints",
189
+ safety: "caution",
190
+ web: !0,
191
+ kind: "format",
192
+ offset: 154457,
193
+ length: 13,
194
+ stock: "Hitpoints: %d"
195
+ },
196
+ {
197
+ id: "str.invent.lives",
198
+ group: "words",
199
+ screen: "status",
200
+ label: "Lives",
201
+ safety: "caution",
202
+ web: !0,
203
+ kind: "format",
204
+ offset: 154471,
205
+ length: 13,
206
+ stock: "Lives: %d"
207
+ },
208
+ {
209
+ id: "str.invent.time",
210
+ group: "words",
211
+ screen: "status",
212
+ label: "Elapsed time",
213
+ safety: "caution",
214
+ web: !0,
215
+ kind: "format",
216
+ offset: 154485,
217
+ length: 37,
218
+ stock: "Elapsed Time: %02ld:%02ld:%02ld.%02ld"
219
+ },
220
+ {
221
+ id: "str.load.title",
222
+ group: "words",
223
+ screen: "load",
224
+ label: "Heading (no load picture)",
225
+ safety: "safe",
226
+ web: !0,
227
+ kind: "text",
228
+ offset: 153633,
229
+ length: 9,
230
+ stock: "Load Game"
231
+ },
232
+ {
233
+ id: "str.load.empty",
234
+ group: "words",
235
+ screen: "load",
236
+ label: "Empty slot",
237
+ safety: "safe",
238
+ web: !0,
239
+ kind: "text",
240
+ offset: 153646,
241
+ length: 29,
242
+ stock: "This game has not been saved!"
243
+ },
244
+ {
245
+ id: "str.load.done",
246
+ group: "words",
247
+ screen: "load",
248
+ label: "Loaded",
249
+ safety: "safe",
250
+ web: !0,
251
+ kind: "text",
252
+ offset: 153676,
253
+ length: 16,
254
+ stock: "Old Game Loaded!"
255
+ },
256
+ {
257
+ id: "str.save.title",
258
+ group: "words",
259
+ screen: "save",
260
+ label: "Heading (no save picture)",
261
+ safety: "safe",
262
+ web: !0,
263
+ kind: "text",
264
+ offset: 153695,
265
+ length: 9,
266
+ stock: "Save Game"
267
+ },
268
+ {
269
+ id: "str.save.marker",
270
+ group: "words",
271
+ screen: "save",
272
+ label: "Slot mark (no save picture)",
273
+ safety: "safe",
274
+ web: !0,
275
+ kind: "text",
276
+ offset: 153705,
277
+ length: 1,
278
+ stock: ">"
279
+ },
280
+ {
281
+ id: "str.save.done",
282
+ group: "words",
283
+ screen: "save",
284
+ label: "Saved",
285
+ safety: "safe",
286
+ web: !0,
287
+ kind: "text",
288
+ offset: 153735,
289
+ length: 11,
290
+ stock: "Game Saved!"
291
+ },
292
+ {
293
+ id: "str.save.failed",
294
+ group: "words",
295
+ screen: "save",
296
+ label: "Could not save (DOS only)",
297
+ safety: "safe",
298
+ web: !1,
299
+ kind: "text",
300
+ offset: 153710,
301
+ length: 24,
302
+ stock: "I cannot save your game!"
303
+ },
304
+ {
305
+ id: "str.drop.title",
306
+ group: "words",
307
+ screen: "drop",
308
+ label: "Heading",
309
+ safety: "safe",
310
+ web: !0,
311
+ kind: "text",
312
+ offset: 155007,
313
+ length: 21,
314
+ stock: "Choose object to drop"
315
+ },
316
+ {
317
+ id: "str.drop.help1",
318
+ group: "words",
319
+ screen: "drop",
320
+ label: "Help line 1",
321
+ safety: "safe",
322
+ web: !0,
323
+ kind: "text",
324
+ offset: 155029,
325
+ length: 25,
326
+ stock: "Use arrow keys to select,"
327
+ },
328
+ {
329
+ id: "str.drop.help2",
330
+ group: "words",
331
+ screen: "drop",
332
+ label: "Help line 2",
333
+ safety: "safe",
334
+ web: !0,
335
+ kind: "text",
336
+ offset: 155055,
337
+ length: 25,
338
+ stock: "<Enter> to accept, <ESC> "
339
+ },
340
+ {
341
+ id: "str.drop.help3",
342
+ group: "words",
343
+ screen: "drop",
344
+ label: "Help line 3",
345
+ safety: "safe",
346
+ web: !0,
347
+ kind: "text",
348
+ offset: 155081,
349
+ length: 25,
350
+ stock: "to quit without dropping."
351
+ },
352
+ {
353
+ id: "str.help.none",
354
+ group: "words",
355
+ screen: "help",
356
+ label: "No help (F1)",
357
+ safety: "safe",
358
+ web: !0,
359
+ kind: "text",
360
+ offset: 154396,
361
+ length: 31,
362
+ stock: "No game-specific help included."
363
+ },
364
+ {
365
+ id: "str.text.more",
366
+ group: "words",
367
+ screen: "text",
368
+ label: "MORE...",
369
+ safety: "safe",
370
+ web: !0,
371
+ kind: "text",
372
+ offset: 154584,
373
+ length: 7,
374
+ stock: "MORE..."
375
+ },
376
+ {
377
+ id: "str.text.missingTitle",
378
+ group: "words",
379
+ screen: "text",
380
+ label: "Missing file",
381
+ safety: "safe",
382
+ web: !0,
383
+ kind: "text",
384
+ offset: 154526,
385
+ length: 13,
386
+ stock: "Missing File:"
387
+ },
388
+ {
389
+ id: "str.text.missingFile",
390
+ group: "words",
391
+ screen: "text",
392
+ label: "Missing file name line",
393
+ safety: "caution",
394
+ web: !0,
395
+ kind: "format",
396
+ offset: 154540,
397
+ length: 14,
398
+ stock: "The file %s is"
399
+ },
400
+ {
401
+ id: "str.text.missingTail",
402
+ group: "words",
403
+ screen: "text",
404
+ label: "Missing file, second line",
405
+ safety: "safe",
406
+ web: !0,
407
+ kind: "text",
408
+ offset: 154555,
409
+ length: 28,
410
+ stock: "missing or cannot be opened."
411
+ },
412
+ {
413
+ id: "str.missing.title",
414
+ group: "words",
415
+ screen: "missing",
416
+ label: "Heading",
417
+ safety: "safe",
418
+ web: !0,
419
+ kind: "text",
420
+ offset: 155111,
421
+ length: 30,
422
+ stock: "I am missing these game files:"
423
+ },
424
+ {
425
+ id: "str.missing.anyKey",
426
+ group: "words",
427
+ screen: "missing",
428
+ label: "Foot",
429
+ safety: "safe",
430
+ web: !0,
431
+ kind: "text",
432
+ offset: 155142,
433
+ length: 14,
434
+ stock: "Hit any key..."
435
+ },
436
+ {
437
+ id: "color.rgb.yellow",
438
+ group: "colors",
439
+ screen: "all",
440
+ label: "Yellow",
441
+ note: "About text, load and save slot names",
442
+ safety: "safe",
443
+ web: !0,
444
+ kind: "rgb",
445
+ offsets: [90934, 90939, 90944],
446
+ stock: [63, 63, 0]
447
+ },
448
+ {
449
+ id: "color.rgb.red",
450
+ group: "colors",
451
+ screen: "all",
452
+ label: "Red",
453
+ note: '"No game-specific" lines, F1 no-help line, markers, missing-file text',
454
+ safety: "safe",
455
+ web: !0,
456
+ kind: "rgb",
457
+ offsets: [90949, 90954, 90959],
458
+ stock: [63, 10, 10]
459
+ },
460
+ {
461
+ id: "color.rgb.blue",
462
+ group: "colors",
463
+ screen: "all",
464
+ label: "Blue",
465
+ note: "Menu words and title, load/save words, status, drop picker",
466
+ safety: "safe",
467
+ web: !0,
468
+ kind: "rgb",
469
+ offsets: [90964, 90969, 90974],
470
+ stock: [10, 10, 63]
471
+ },
472
+ {
473
+ id: "color.rgb.purple",
474
+ group: "colors",
475
+ screen: "all",
476
+ label: "Purple",
477
+ note: "Text pages",
478
+ safety: "safe",
479
+ web: !0,
480
+ kind: "rgb",
481
+ offsets: [90979, 90984, 90989],
482
+ stock: [50, 10, 50]
483
+ },
484
+ {
485
+ id: "color.rgb.hsRed",
486
+ group: "colors",
487
+ screen: "all",
488
+ label: "High-score red",
489
+ note: "High-score heading, foot and prompts",
490
+ safety: "safe",
491
+ web: !0,
492
+ kind: "rgb",
493
+ offsets: [114840, 114845, 114850],
494
+ stock: [63, 10, 10]
495
+ },
496
+ {
497
+ id: "color.rgb.hsBlue",
498
+ group: "colors",
499
+ screen: "all",
500
+ label: "High-score blue",
501
+ note: "High-score rows and typed name",
502
+ safety: "safe",
503
+ web: !0,
504
+ kind: "rgb",
505
+ offsets: [114855, 114860, 114865],
506
+ stock: [10, 10, 63]
507
+ },
508
+ {
509
+ id: "color.rgb.hsGreen",
510
+ group: "colors",
511
+ screen: "all",
512
+ label: "Spare (high-score green)",
513
+ note: "Unused in the stock player: free for any screen",
514
+ safety: "safe",
515
+ web: !0,
516
+ kind: "rgb",
517
+ offsets: [114870, 114875, 114880],
518
+ stock: [10, 63, 10]
519
+ },
520
+ {
521
+ id: "color.select.menu",
522
+ group: "colors",
523
+ screen: "menu",
524
+ label: "Menu words, title and marker",
525
+ safety: "safe",
526
+ web: !0,
527
+ kind: "select",
528
+ offset: 44932,
529
+ stock: "blue"
530
+ },
531
+ {
532
+ id: "color.select.menuMessages",
533
+ group: "colors",
534
+ screen: "menu",
535
+ label: '"No game-specific" lines',
536
+ safety: "safe",
537
+ web: !0,
538
+ kind: "select",
539
+ offset: 44951,
540
+ stock: "red"
541
+ },
542
+ {
543
+ id: "color.select.textPages",
544
+ group: "colors",
545
+ screen: "text",
546
+ label: "Text pages",
547
+ safety: "safe",
548
+ web: !0,
549
+ kind: "select",
550
+ offset: 49580,
551
+ stock: "purple"
552
+ },
553
+ {
554
+ id: "color.select.textMissing",
555
+ group: "colors",
556
+ screen: "text",
557
+ label: "Missing-file text and MORE...",
558
+ safety: "safe",
559
+ web: !0,
560
+ kind: "select",
561
+ offset: 58095,
562
+ stock: "red"
563
+ },
564
+ {
565
+ id: "color.select.helpNone",
566
+ group: "colors",
567
+ screen: "help",
568
+ label: "F1 no-help line",
569
+ safety: "safe",
570
+ web: !0,
571
+ kind: "select",
572
+ offset: 57338,
573
+ stock: "red"
574
+ },
575
+ {
576
+ id: "color.select.loadSlots",
577
+ group: "colors",
578
+ screen: "load",
579
+ label: "Load: slot names",
580
+ safety: "safe",
581
+ web: !0,
582
+ kind: "select",
583
+ offset: 52484,
584
+ stock: "yellow"
585
+ },
586
+ {
587
+ id: "color.select.loadMarker",
588
+ group: "colors",
589
+ screen: "load",
590
+ label: "Load: marker",
591
+ safety: "safe",
592
+ web: !0,
593
+ kind: "select",
594
+ offset: 52505,
595
+ stock: "red"
596
+ },
597
+ {
598
+ id: "color.select.loadText",
599
+ group: "colors",
600
+ screen: "load",
601
+ label: "Load: heading and messages",
602
+ safety: "safe",
603
+ web: !0,
604
+ kind: "select",
605
+ offset: 53390,
606
+ stock: "blue"
607
+ },
608
+ {
609
+ id: "color.select.loadTextPic",
610
+ group: "colors",
611
+ screen: "load",
612
+ label: "Load: messages over the load picture",
613
+ safety: "safe",
614
+ web: !0,
615
+ kind: "select",
616
+ offset: 53359,
617
+ stock: "blue"
618
+ },
619
+ {
620
+ id: "color.select.saveSlots",
621
+ group: "colors",
622
+ screen: "save",
623
+ label: "Save: slot names",
624
+ safety: "safe",
625
+ web: !0,
626
+ kind: "select",
627
+ offset: 52743,
628
+ stock: "yellow"
629
+ },
630
+ {
631
+ id: "color.select.saveMarker",
632
+ group: "colors",
633
+ screen: "save",
634
+ label: "Save: marker",
635
+ safety: "safe",
636
+ web: !0,
637
+ kind: "select",
638
+ offset: 52764,
639
+ stock: "red"
640
+ },
641
+ {
642
+ id: "color.select.saveText",
643
+ group: "colors",
644
+ screen: "save",
645
+ label: "Save: heading, marks and messages",
646
+ safety: "safe",
647
+ web: !0,
648
+ kind: "select",
649
+ offset: 55918,
650
+ stock: "blue"
651
+ },
652
+ {
653
+ id: "color.select.saveTextPic",
654
+ group: "colors",
655
+ screen: "save",
656
+ label: "Save: messages over the save picture",
657
+ safety: "safe",
658
+ web: !0,
659
+ kind: "select",
660
+ offset: 55874,
661
+ stock: "blue"
662
+ },
663
+ {
664
+ id: "color.select.status",
665
+ group: "colors",
666
+ screen: "status",
667
+ label: "Status: frames, grid and words",
668
+ safety: "safe",
669
+ web: !0,
670
+ kind: "select",
671
+ offset: 57398,
672
+ stock: "blue"
673
+ },
674
+ {
675
+ id: "color.select.dropFrame",
676
+ group: "colors",
677
+ screen: "drop",
678
+ label: "Drop: frames, grid and words",
679
+ safety: "safe",
680
+ web: !0,
681
+ kind: "select",
682
+ offset: 59847,
683
+ stock: "blue"
684
+ },
685
+ {
686
+ id: "color.select.dropCursor",
687
+ group: "colors",
688
+ screen: "drop",
689
+ label: "Drop: selection box",
690
+ safety: "safe",
691
+ web: !0,
692
+ kind: "select",
693
+ offset: 59828,
694
+ stock: "red"
695
+ },
696
+ {
697
+ id: "color.select.aboutFrame",
698
+ group: "colors",
699
+ screen: "about",
700
+ label: "About: frames",
701
+ safety: "safe",
702
+ web: !0,
703
+ kind: "select",
704
+ offset: 56613,
705
+ stock: "blue"
706
+ },
707
+ {
708
+ id: "color.select.aboutText",
709
+ group: "colors",
710
+ screen: "about",
711
+ label: "About: words",
712
+ safety: "safe",
713
+ web: !0,
714
+ kind: "select",
715
+ offset: 56632,
716
+ stock: "yellow"
717
+ },
718
+ { id: "color.select.joyText", group: "colors", screen: "play", label: "F9: words", safety: "safe", web: !0, kind: "select", offset: 58645, stock: "blue" },
719
+ {
720
+ id: "color.select.hsTitle",
721
+ group: "colors",
722
+ screen: "hiscores",
723
+ label: "High scores: heading and foot",
724
+ safety: "safe",
725
+ web: !0,
726
+ kind: "select",
727
+ offset: 113918,
728
+ stock: "hsRed"
729
+ },
730
+ {
731
+ id: "color.select.hsRows",
732
+ group: "colors",
733
+ screen: "hiscores",
734
+ label: "High scores: rows",
735
+ safety: "safe",
736
+ web: !0,
737
+ kind: "select",
738
+ offset: 113937,
739
+ stock: "hsBlue"
740
+ },
741
+ {
742
+ id: "color.select.hsPrompt",
743
+ group: "colors",
744
+ screen: "newHiscore",
745
+ label: "New high score: Congratulations and prompt",
746
+ safety: "safe",
747
+ web: !0,
748
+ kind: "select",
749
+ offset: 114468,
750
+ stock: "hsRed"
751
+ },
752
+ {
753
+ id: "color.select.hsName",
754
+ group: "colors",
755
+ screen: "newHiscore",
756
+ label: "New high score: place line and name",
757
+ safety: "safe",
758
+ web: !0,
759
+ kind: "select",
760
+ offset: 114487,
761
+ stock: "hsBlue"
762
+ },
763
+ {
764
+ id: "color.missing.1",
765
+ group: "colors",
766
+ screen: "missing",
767
+ label: "Missing files: heading",
768
+ note: "A fixed palette entry this screen sets",
769
+ safety: "safe",
770
+ web: !0,
771
+ kind: "rgb",
772
+ offsets: [80491, 80489, 80487],
773
+ stock: [63, 63, 0]
774
+ },
775
+ {
776
+ id: "color.missing.2",
777
+ group: "colors",
778
+ screen: "missing",
779
+ label: "Missing files: file names",
780
+ note: "A fixed palette entry this screen sets",
781
+ safety: "safe",
782
+ web: !0,
783
+ kind: "rgb",
784
+ offsets: [80507, 80505, 80503],
785
+ stock: [63, 0, 33]
786
+ },
787
+ {
788
+ id: "color.missing.3",
789
+ group: "colors",
790
+ screen: "missing",
791
+ label: "Missing files: foot",
792
+ note: "A fixed palette entry this screen sets",
793
+ safety: "safe",
794
+ web: !0,
795
+ kind: "rgb",
796
+ offsets: [80523, 80521, 80519],
797
+ stock: [0, 58, 58]
798
+ },
799
+ {
800
+ id: "color.missing.4",
801
+ group: "colors",
802
+ screen: "missing",
803
+ label: "Missing files: frames",
804
+ note: "A fixed palette entry this screen sets",
805
+ safety: "safe",
806
+ web: !0,
807
+ kind: "rgb",
808
+ offsets: [80539, 80537, 80535],
809
+ stock: [63, 0, 0]
810
+ },
811
+ {
812
+ id: "border.invent.outer",
813
+ group: "frames",
814
+ screen: "status",
815
+ label: "Status (F2), outer frame",
816
+ safety: "safe",
817
+ web: !0,
818
+ kind: "frame",
819
+ fields: [
820
+ { offset: 57423, size: 1 },
821
+ { offset: 57421, size: 1 },
822
+ { offset: 57418, size: 2 },
823
+ { offset: 57415, size: 2 }
824
+ ],
825
+ stock: [10, 10, 310, 190]
826
+ },
827
+ {
828
+ id: "border.invent.inner",
829
+ group: "frames",
830
+ screen: "status",
831
+ label: "Status (F2), inner frame",
832
+ safety: "safe",
833
+ web: !0,
834
+ kind: "frame",
835
+ fields: [
836
+ { offset: 57444, size: 1 },
837
+ { offset: 57442, size: 1 },
838
+ { offset: 57439, size: 2 },
839
+ { offset: 57436, size: 2 }
840
+ ],
841
+ stock: [15, 15, 305, 185]
842
+ },
843
+ {
844
+ id: "border.drop.outer",
845
+ group: "frames",
846
+ screen: "drop",
847
+ label: "Drop picker, outer frame",
848
+ safety: "safe",
849
+ web: !0,
850
+ kind: "frame",
851
+ fields: [
852
+ { offset: 59872, size: 1 },
853
+ { offset: 59870, size: 1 },
854
+ { offset: 59867, size: 2 },
855
+ { offset: 59864, size: 2 }
856
+ ],
857
+ stock: [10, 10, 310, 190]
858
+ },
859
+ {
860
+ id: "border.drop.inner",
861
+ group: "frames",
862
+ screen: "drop",
863
+ label: "Drop picker, inner frame",
864
+ safety: "safe",
865
+ web: !0,
866
+ kind: "frame",
867
+ fields: [
868
+ { offset: 59893, size: 1 },
869
+ { offset: 59891, size: 1 },
870
+ { offset: 59888, size: 2 },
871
+ { offset: 59885, size: 2 }
872
+ ],
873
+ stock: [15, 15, 305, 185]
874
+ },
875
+ {
876
+ id: "border.about.outer",
877
+ group: "frames",
878
+ screen: "about",
879
+ label: "About (F10), outer frame",
880
+ safety: "safe",
881
+ web: !0,
882
+ kind: "frame",
883
+ fields: [
884
+ { offset: 56657, size: 1 },
885
+ { offset: 56655, size: 1 },
886
+ { offset: 56652, size: 2 },
887
+ { offset: 56649, size: 2 }
888
+ ],
889
+ stock: [10, 10, 310, 190]
890
+ },
891
+ {
892
+ id: "border.about.inner",
893
+ group: "frames",
894
+ screen: "about",
895
+ label: "About (F10), inner frame",
896
+ safety: "safe",
897
+ web: !0,
898
+ kind: "frame",
899
+ fields: [
900
+ { offset: 56678, size: 1 },
901
+ { offset: 56676, size: 1 },
902
+ { offset: 56673, size: 2 },
903
+ { offset: 56670, size: 2 }
904
+ ],
905
+ stock: [15, 15, 305, 185]
906
+ },
907
+ {
908
+ id: "border.missing.outer",
909
+ group: "frames",
910
+ screen: "missing",
911
+ label: "Missing files, outer frame",
912
+ safety: "safe",
913
+ web: !0,
914
+ kind: "frame",
915
+ fields: [
916
+ { offset: 80616, size: 1 },
917
+ { offset: 80614, size: 1 },
918
+ { offset: 80611, size: 2 },
919
+ { offset: 80608, size: 2 }
920
+ ],
921
+ stock: [10, 10, 310, 190]
922
+ },
923
+ {
924
+ id: "border.missing.inner",
925
+ group: "frames",
926
+ screen: "missing",
927
+ label: "Missing files, inner frame",
928
+ safety: "safe",
929
+ web: !0,
930
+ kind: "frame",
931
+ fields: [
932
+ { offset: 80636, size: 1 },
933
+ { offset: 80634, size: 1 },
934
+ { offset: 80631, size: 2 },
935
+ { offset: 80628, size: 2 }
936
+ ],
937
+ stock: [15, 15, 305, 185]
938
+ },
939
+ {
940
+ id: "border.marker.width",
941
+ group: "frames",
942
+ screen: "menu",
943
+ label: "Menu marker width (minus 1)",
944
+ note: "Every menu marker: main menu, load and save",
945
+ safety: "caution",
946
+ web: !0,
947
+ kind: "number",
948
+ fields: [
949
+ { offset: 43664, size: 2 },
950
+ { offset: 43950, size: 2 }
951
+ ],
952
+ signed: !1,
953
+ min: 0,
954
+ max: 40,
955
+ stock: 5
956
+ },
957
+ {
958
+ id: "layout.menu.play.x",
959
+ group: "positions",
960
+ screen: "menu",
961
+ label: '"Play" x',
962
+ safety: "caution",
963
+ web: !0,
964
+ kind: "number",
965
+ fields: [{ offset: 46782, size: 1 }],
966
+ signed: !0,
967
+ min: 0,
968
+ max: 127,
969
+ stock: 80
970
+ },
971
+ {
972
+ id: "layout.menu.play.y",
973
+ group: "positions",
974
+ screen: "menu",
975
+ label: '"Play" y',
976
+ safety: "caution",
977
+ web: !0,
978
+ kind: "number",
979
+ fields: [{ offset: 46780, size: 1 }],
980
+ signed: !0,
981
+ min: 0,
982
+ max: 127,
983
+ stock: 120
984
+ },
985
+ {
986
+ id: "layout.menu.instructions.x",
987
+ group: "positions",
988
+ screen: "menu",
989
+ label: '"Read Instructions" x',
990
+ safety: "caution",
991
+ web: !0,
992
+ kind: "number",
993
+ fields: [{ offset: 46799, size: 1 }],
994
+ signed: !0,
995
+ min: 0,
996
+ max: 127,
997
+ stock: 80
998
+ },
999
+ {
1000
+ id: "layout.menu.instructions.y",
1001
+ group: "positions",
1002
+ screen: "menu",
1003
+ label: '"Read Instructions" y',
1004
+ safety: "caution",
1005
+ web: !0,
1006
+ kind: "number",
1007
+ fields: [{ offset: 46796, size: 2 }],
1008
+ signed: !1,
1009
+ min: 0,
1010
+ max: 199,
1011
+ stock: 128
1012
+ },
1013
+ {
1014
+ id: "layout.menu.storyline.x",
1015
+ group: "positions",
1016
+ screen: "menu",
1017
+ label: '"Read Storyline" x',
1018
+ safety: "caution",
1019
+ web: !0,
1020
+ kind: "number",
1021
+ fields: [{ offset: 46816, size: 1 }],
1022
+ signed: !0,
1023
+ min: 0,
1024
+ max: 127,
1025
+ stock: 80
1026
+ },
1027
+ {
1028
+ id: "layout.menu.storyline.y",
1029
+ group: "positions",
1030
+ screen: "menu",
1031
+ label: '"Read Storyline" y',
1032
+ safety: "caution",
1033
+ web: !0,
1034
+ kind: "number",
1035
+ fields: [{ offset: 46813, size: 2 }],
1036
+ signed: !1,
1037
+ min: 0,
1038
+ max: 199,
1039
+ stock: 136
1040
+ },
1041
+ {
1042
+ id: "layout.menu.credits.x",
1043
+ group: "positions",
1044
+ screen: "menu",
1045
+ label: '"See Credits" x',
1046
+ safety: "caution",
1047
+ web: !0,
1048
+ kind: "number",
1049
+ fields: [{ offset: 46833, size: 1 }],
1050
+ signed: !0,
1051
+ min: 0,
1052
+ max: 127,
1053
+ stock: 80
1054
+ },
1055
+ {
1056
+ id: "layout.menu.credits.y",
1057
+ group: "positions",
1058
+ screen: "menu",
1059
+ label: '"See Credits" y',
1060
+ safety: "caution",
1061
+ web: !0,
1062
+ kind: "number",
1063
+ fields: [{ offset: 46830, size: 2 }],
1064
+ signed: !1,
1065
+ min: 0,
1066
+ max: 199,
1067
+ stock: 144
1068
+ },
1069
+ {
1070
+ id: "layout.menu.highScores.x",
1071
+ group: "positions",
1072
+ screen: "menu",
1073
+ label: '"See Highest Scores" x',
1074
+ safety: "caution",
1075
+ web: !0,
1076
+ kind: "number",
1077
+ fields: [{ offset: 46853, size: 1 }],
1078
+ signed: !0,
1079
+ min: 0,
1080
+ max: 127,
1081
+ stock: 80
1082
+ },
1083
+ {
1084
+ id: "layout.menu.highScores.y",
1085
+ group: "positions",
1086
+ screen: "menu",
1087
+ label: '"See Highest Scores" y',
1088
+ safety: "caution",
1089
+ web: !0,
1090
+ kind: "number",
1091
+ fields: [{ offset: 46850, size: 2 }],
1092
+ signed: !1,
1093
+ min: 0,
1094
+ max: 199,
1095
+ stock: 152
1096
+ },
1097
+ {
1098
+ id: "layout.menu.quit.x",
1099
+ group: "positions",
1100
+ screen: "menu",
1101
+ label: '"Quit" x',
1102
+ safety: "caution",
1103
+ web: !0,
1104
+ kind: "number",
1105
+ fields: [{ offset: 46870, size: 1 }],
1106
+ signed: !0,
1107
+ min: 0,
1108
+ max: 127,
1109
+ stock: 80
1110
+ },
1111
+ {
1112
+ id: "layout.menu.quit.y",
1113
+ group: "positions",
1114
+ screen: "menu",
1115
+ label: '"Quit" y',
1116
+ safety: "caution",
1117
+ web: !0,
1118
+ kind: "number",
1119
+ fields: [{ offset: 46867, size: 2 }],
1120
+ signed: !1,
1121
+ min: 0,
1122
+ max: 199,
1123
+ stock: 160
1124
+ },
1125
+ {
1126
+ id: "layout.menu.titleX",
1127
+ group: "positions",
1128
+ screen: "menu",
1129
+ label: "Game name x",
1130
+ safety: "safe",
1131
+ web: !0,
1132
+ kind: "number",
1133
+ fields: [{ offset: 46766, size: 1 }],
1134
+ signed: !0,
1135
+ min: 0,
1136
+ max: 127,
1137
+ stock: 96
1138
+ },
1139
+ {
1140
+ id: "layout.menu.titleY",
1141
+ group: "positions",
1142
+ screen: "menu",
1143
+ label: "Game name y",
1144
+ safety: "safe",
1145
+ web: !0,
1146
+ kind: "number",
1147
+ fields: [{ offset: 46764, size: 1 }],
1148
+ signed: !0,
1149
+ min: 0,
1150
+ max: 127,
1151
+ stock: 104
1152
+ },
1153
+ {
1154
+ id: "layout.menu.markerX",
1155
+ group: "positions",
1156
+ screen: "menu",
1157
+ label: "Marker x",
1158
+ note: "Also where a click is read",
1159
+ safety: "caution",
1160
+ web: !0,
1161
+ kind: "number",
1162
+ fields: [{ offset: 44996, size: 1 }],
1163
+ signed: !0,
1164
+ min: 0,
1165
+ max: 127,
1166
+ stock: 70
1167
+ },
1168
+ {
1169
+ id: "layout.menu.firstY",
1170
+ group: "positions",
1171
+ screen: "menu",
1172
+ label: "Marker y (first choice)",
1173
+ safety: "caution",
1174
+ web: !0,
1175
+ kind: "number",
1176
+ fields: [{ offset: 44994, size: 1 }],
1177
+ signed: !0,
1178
+ min: 0,
1179
+ max: 127,
1180
+ stock: 121
1181
+ },
1182
+ {
1183
+ id: "layout.menu.spacing",
1184
+ group: "positions",
1185
+ screen: "menu",
1186
+ label: "Marker spacing",
1187
+ safety: "caution",
1188
+ web: !0,
1189
+ kind: "number",
1190
+ fields: [{ offset: 44992, size: 1 }],
1191
+ signed: !0,
1192
+ min: 1,
1193
+ max: 20,
1194
+ stock: 8
1195
+ },
1196
+ {
1197
+ id: "layout.menu.noFile.x",
1198
+ group: "positions",
1199
+ screen: "menu",
1200
+ label: '"No game-specific" lines x',
1201
+ safety: "safe",
1202
+ web: !0,
1203
+ kind: "number",
1204
+ fields: [{ offset: 45922, size: 1 }],
1205
+ signed: !0,
1206
+ min: 0,
1207
+ max: 127,
1208
+ stock: 40
1209
+ },
1210
+ {
1211
+ id: "layout.menu.noFile.y",
1212
+ group: "positions",
1213
+ screen: "menu",
1214
+ label: '"No game-specific" lines y',
1215
+ safety: "safe",
1216
+ web: !0,
1217
+ kind: "number",
1218
+ fields: [{ offset: 45920, size: 1 }],
1219
+ signed: !0,
1220
+ min: 0,
1221
+ max: 127,
1222
+ stock: 80
1223
+ },
1224
+ {
1225
+ id: "layout.hiscore.title.x",
1226
+ group: "positions",
1227
+ screen: "hiscores",
1228
+ label: "Heading x",
1229
+ safety: "safe",
1230
+ web: !0,
1231
+ kind: "number",
1232
+ fields: [{ offset: 113969, size: 1 }],
1233
+ signed: !0,
1234
+ min: 0,
1235
+ max: 127,
1236
+ stock: 104
1237
+ },
1238
+ {
1239
+ id: "layout.hiscore.title.y",
1240
+ group: "positions",
1241
+ screen: "hiscores",
1242
+ label: "Heading y",
1243
+ safety: "safe",
1244
+ web: !0,
1245
+ kind: "number",
1246
+ fields: [{ offset: 113967, size: 1 }],
1247
+ signed: !0,
1248
+ min: 0,
1249
+ max: 127,
1250
+ stock: 0
1251
+ },
1252
+ {
1253
+ id: "layout.hiscore.anyKey.x",
1254
+ group: "positions",
1255
+ screen: "hiscores",
1256
+ label: "Foot x",
1257
+ safety: "safe",
1258
+ web: !0,
1259
+ kind: "number",
1260
+ fields: [{ offset: 114175, size: 1 }],
1261
+ signed: !0,
1262
+ min: 0,
1263
+ max: 127,
1264
+ stock: 116
1265
+ },
1266
+ {
1267
+ id: "layout.hiscore.anyKey.y",
1268
+ group: "positions",
1269
+ screen: "hiscores",
1270
+ label: "Foot y",
1271
+ safety: "safe",
1272
+ web: !0,
1273
+ kind: "number",
1274
+ fields: [{ offset: 114172, size: 2 }],
1275
+ signed: !1,
1276
+ min: 0,
1277
+ max: 199,
1278
+ stock: 192
1279
+ },
1280
+ {
1281
+ id: "layout.hiscore.firstRowY",
1282
+ group: "positions",
1283
+ screen: "hiscores",
1284
+ label: "First row y",
1285
+ safety: "safe",
1286
+ web: !0,
1287
+ kind: "number",
1288
+ fields: [{ offset: 113986, size: 2 }],
1289
+ signed: !1,
1290
+ min: 0,
1291
+ max: 199,
1292
+ stock: 27
1293
+ },
1294
+ {
1295
+ id: "layout.hiscore.rowSpacing",
1296
+ group: "positions",
1297
+ screen: "hiscores",
1298
+ label: "Row spacing (start)",
1299
+ note: "Shrinks by 2, 1, 2, 1... per row",
1300
+ safety: "caution",
1301
+ web: !0,
1302
+ kind: "number",
1303
+ fields: [{ offset: 113981, size: 2 }],
1304
+ signed: !1,
1305
+ min: 10,
1306
+ max: 24,
1307
+ stock: 22
1308
+ },
1309
+ {
1310
+ id: "layout.hiscore.rows",
1311
+ group: "positions",
1312
+ screen: "hiscores",
1313
+ label: "Rows shown",
1314
+ safety: "caution",
1315
+ web: !0,
1316
+ kind: "number",
1317
+ fields: [{ offset: 114104, size: 1 }],
1318
+ signed: !0,
1319
+ min: 1,
1320
+ max: 10,
1321
+ stock: 10
1322
+ },
1323
+ {
1324
+ id: "layout.hiscore.congrats.x",
1325
+ group: "positions",
1326
+ screen: "newHiscore",
1327
+ label: "Congratulations x",
1328
+ safety: "safe",
1329
+ web: !0,
1330
+ kind: "number",
1331
+ fields: [{ offset: 114620, size: 1 }],
1332
+ signed: !0,
1333
+ min: 0,
1334
+ max: 127,
1335
+ stock: 96
1336
+ },
1337
+ {
1338
+ id: "layout.hiscore.congrats.y",
1339
+ group: "positions",
1340
+ screen: "newHiscore",
1341
+ label: "Congratulations y",
1342
+ safety: "safe",
1343
+ web: !0,
1344
+ kind: "number",
1345
+ fields: [{ offset: 114618, size: 1 }],
1346
+ signed: !0,
1347
+ min: 0,
1348
+ max: 127,
1349
+ stock: 40
1350
+ },
1351
+ {
1352
+ id: "layout.hiscore.enterName.x",
1353
+ group: "positions",
1354
+ screen: "newHiscore",
1355
+ label: "Name prompt x",
1356
+ safety: "caution",
1357
+ web: !0,
1358
+ kind: "number",
1359
+ fields: [{ offset: 114699, size: 1 }],
1360
+ signed: !0,
1361
+ min: 0,
1362
+ max: 127,
1363
+ stock: 0
1364
+ },
1365
+ {
1366
+ id: "layout.hiscore.enterName.y",
1367
+ group: "positions",
1368
+ screen: "newHiscore",
1369
+ label: "Name prompt y",
1370
+ safety: "caution",
1371
+ web: !0,
1372
+ kind: "number",
1373
+ fields: [{ offset: 114697, size: 1 }],
1374
+ signed: !0,
1375
+ min: 0,
1376
+ max: 127,
1377
+ stock: 120
1378
+ },
1379
+ {
1380
+ id: "layout.load.title.x",
1381
+ group: "positions",
1382
+ screen: "load",
1383
+ label: "Heading x",
1384
+ safety: "safe",
1385
+ web: !0,
1386
+ kind: "number",
1387
+ fields: [{ offset: 53433, size: 1 }],
1388
+ signed: !0,
1389
+ min: 0,
1390
+ max: 127,
1391
+ stock: 124
1392
+ },
1393
+ {
1394
+ id: "layout.load.title.y",
1395
+ group: "positions",
1396
+ screen: "load",
1397
+ label: "Heading y",
1398
+ safety: "safe",
1399
+ web: !0,
1400
+ kind: "number",
1401
+ fields: [{ offset: 53431, size: 1 }],
1402
+ signed: !0,
1403
+ min: 0,
1404
+ max: 127,
1405
+ stock: 10
1406
+ },
1407
+ {
1408
+ id: "layout.save.title.x",
1409
+ group: "positions",
1410
+ screen: "save",
1411
+ label: "Heading x",
1412
+ safety: "safe",
1413
+ web: !0,
1414
+ kind: "number",
1415
+ fields: [{ offset: 55961, size: 1 }],
1416
+ signed: !0,
1417
+ min: 0,
1418
+ max: 127,
1419
+ stock: 124
1420
+ },
1421
+ {
1422
+ id: "layout.save.title.y",
1423
+ group: "positions",
1424
+ screen: "save",
1425
+ label: "Heading y",
1426
+ safety: "safe",
1427
+ web: !0,
1428
+ kind: "number",
1429
+ fields: [{ offset: 55959, size: 1 }],
1430
+ signed: !0,
1431
+ min: 0,
1432
+ max: 127,
1433
+ stock: 10
1434
+ },
1435
+ {
1436
+ id: "timing.menu.idleSeconds",
1437
+ group: "times",
1438
+ screen: "menu",
1439
+ label: "Menu idle before the demo",
1440
+ note: "Seconds",
1441
+ safety: "safe",
1442
+ web: !0,
1443
+ kind: "number",
1444
+ fields: [{ offset: 44982, size: 1 }],
1445
+ signed: !0,
1446
+ min: 1,
1447
+ max: 127,
1448
+ stock: 30
1449
+ },
1450
+ {
1451
+ id: "timing.menuNoFile",
1452
+ group: "times",
1453
+ screen: "menu",
1454
+ label: '"No game-specific" lines',
1455
+ note: "Seconds; -1 waits for a key",
1456
+ safety: "safe",
1457
+ web: !0,
1458
+ kind: "number",
1459
+ fields: [{ offset: 45929, size: 1 }],
1460
+ signed: !0,
1461
+ min: -1,
1462
+ max: 127,
1463
+ stock: 10
1464
+ },
1465
+ {
1466
+ id: "timing.highScores",
1467
+ group: "times",
1468
+ screen: "hiscores",
1469
+ label: "High-score table",
1470
+ note: "Seconds; -1 waits for a key",
1471
+ safety: "safe",
1472
+ web: !0,
1473
+ kind: "number",
1474
+ fields: [{ offset: 114182, size: 1 }],
1475
+ signed: !0,
1476
+ min: -1,
1477
+ max: 127,
1478
+ stock: 30
1479
+ },
1480
+ {
1481
+ id: "timing.helpNone",
1482
+ group: "times",
1483
+ screen: "help",
1484
+ label: "F1 no-help line",
1485
+ note: "Seconds; -1 waits for a key",
1486
+ safety: "safe",
1487
+ web: !0,
1488
+ kind: "number",
1489
+ fields: [{ offset: 57371, size: 1 }],
1490
+ signed: !0,
1491
+ min: -1,
1492
+ max: 127,
1493
+ stock: 5
1494
+ },
1495
+ {
1496
+ id: "timing.loadMessage",
1497
+ group: "times",
1498
+ screen: "load",
1499
+ label: "Load message",
1500
+ note: "Seconds; -1 waits for a key",
1501
+ safety: "safe",
1502
+ web: !0,
1503
+ kind: "number",
1504
+ fields: [{ offset: 55559, size: 1 }],
1505
+ signed: !0,
1506
+ min: -1,
1507
+ max: 127,
1508
+ stock: 2
1509
+ },
1510
+ {
1511
+ id: "timing.saveMessage",
1512
+ group: "times",
1513
+ screen: "save",
1514
+ label: "Save message",
1515
+ note: "Seconds; -1 waits for a key",
1516
+ safety: "safe",
1517
+ web: !0,
1518
+ kind: "number",
1519
+ fields: [{ offset: 56566, size: 1 }],
1520
+ signed: !0,
1521
+ min: -1,
1522
+ max: 127,
1523
+ stock: 2
1524
+ },
1525
+ {
1526
+ id: "timing.missingFiles",
1527
+ group: "times",
1528
+ screen: "missing",
1529
+ label: "Missing files",
1530
+ note: "Seconds; -1 waits for a key",
1531
+ safety: "safe",
1532
+ web: !0,
1533
+ kind: "number",
1534
+ fields: [{ offset: 80874, size: 1 }],
1535
+ signed: !0,
1536
+ min: -1,
1537
+ max: 127,
1538
+ stock: 20
1539
+ },
1540
+ {
1541
+ id: "timing.aboutPage1",
1542
+ group: "times",
1543
+ screen: "about",
1544
+ label: "About page 1",
1545
+ note: "Seconds; -1 waits for a key",
1546
+ safety: "safe",
1547
+ web: !0,
1548
+ kind: "number",
1549
+ fields: [{ offset: 56984, size: 1 }],
1550
+ signed: !0,
1551
+ min: -1,
1552
+ max: 127,
1553
+ stock: 60
1554
+ },
1555
+ {
1556
+ id: "timing.showGraphic.gif",
1557
+ group: "times",
1558
+ screen: "text",
1559
+ label: "Default .gif time",
1560
+ note: "Seconds; 65535 waits for a key",
1561
+ safety: "caution",
1562
+ web: !0,
1563
+ kind: "number",
1564
+ fields: [{ offset: 48656, size: 2 }],
1565
+ signed: !1,
1566
+ min: 0,
1567
+ max: 65535,
1568
+ stock: 15
1569
+ },
1570
+ {
1571
+ id: "timing.showGraphic.bkd",
1572
+ group: "times",
1573
+ screen: "text",
1574
+ label: "Default .bkd time",
1575
+ note: "Seconds; 65535 waits for a key",
1576
+ safety: "caution",
1577
+ web: !0,
1578
+ kind: "number",
1579
+ fields: [{ offset: 48842, size: 2 }],
1580
+ signed: !1,
1581
+ min: 0,
1582
+ max: 65535,
1583
+ stock: 20
1584
+ },
1585
+ {
1586
+ id: "timing.showGraphic.fli",
1587
+ group: "times",
1588
+ screen: "text",
1589
+ label: "Default .fli time",
1590
+ note: "Seconds; 65535 waits for a key",
1591
+ safety: "caution",
1592
+ web: !0,
1593
+ kind: "number",
1594
+ fields: [{ offset: 49140, size: 2 }],
1595
+ signed: !1,
1596
+ min: 0,
1597
+ max: 65535,
1598
+ stock: 0
1599
+ },
1600
+ {
1601
+ id: "timing.showGraphic.txt",
1602
+ group: "times",
1603
+ screen: "text",
1604
+ label: "Default .txt page time",
1605
+ note: "Seconds; 65535 waits for a key",
1606
+ safety: "caution",
1607
+ web: !0,
1608
+ kind: "number",
1609
+ fields: [{ offset: 49554, size: 2 }],
1610
+ signed: !1,
1611
+ min: 0,
1612
+ max: 65535,
1613
+ stock: 90
1614
+ },
1615
+ { id: "table.fkeys.F5", group: "keys", screen: "play", label: "F5 saves", safety: "caution", web: !0, kind: "fkey", key: 5, offset: 52456, stock: 10424 },
1616
+ { id: "table.fkeys.F6", group: "keys", screen: "play", label: "F6 loads", safety: "caution", web: !0, kind: "fkey", key: 6, offset: 52458, stock: 10442 },
1617
+ {
1618
+ id: "table.fkeys.F9",
1619
+ group: "keys",
1620
+ screen: "play",
1621
+ label: "F9 joystick setup",
1622
+ safety: "caution",
1623
+ web: !0,
1624
+ kind: "fkey",
1625
+ key: 9,
1626
+ offset: 52464,
1627
+ stock: 10468
1628
+ },
1629
+ ...r()
1630
+ ];
1631
+ function s(e, ...o) {
1632
+ return o.map((t) => ({ offset: t, size: e }));
1633
+ }
1634
+ function i(...e) {
1635
+ return e.map((o, t) => ({ offset: o, size: t % 2 ? 2 : 1, ...t % 4 >= 2 ? { negate: !0 } : {} }));
1636
+ }
1637
+ function r() {
1638
+ const e = { group: "play", screen: "gameplay", safety: "experimental", web: !0, kind: "number" };
1639
+ return [
1640
+ // MAXGRAV in MoveChar's speed limit (PLAYGAME.C:2484-2487); signed imm8 compares
1641
+ {
1642
+ ...e,
1643
+ id: "play.maxSpeed",
1644
+ label: "Character top speed",
1645
+ note: "Pixels a move",
1646
+ fields: i(62727, 62733, 62738, 62744, 62749, 62755, 62760, 62766),
1647
+ signed: !0,
1648
+ min: 1,
1649
+ max: 19,
1650
+ stock: 11
1651
+ },
1652
+ // MAXGRAV*4, folded to 44, in MoveCharGrav (PLAYGAME.C:3761-3764)
1653
+ {
1654
+ ...e,
1655
+ id: "play.gravityCap",
1656
+ label: "Gravity top pull",
1657
+ note: "0 turns gravity blocks off",
1658
+ fields: i(75345, 75352, 75358, 75365, 75371, 75378, 75384, 75391),
1659
+ signed: !0,
1660
+ min: 0,
1661
+ max: 127,
1662
+ stock: 44
1663
+ },
1664
+ // GRAVSPEED: clock >= gclk + GRAVSPEED (PLAYGAME.C:3738), add ax, imm16
1665
+ {
1666
+ ...e,
1667
+ id: "play.gravityTicks",
1668
+ label: "Gravity step",
1669
+ note: "Ticks between pulls, 18 a second",
1670
+ fields: s(2, 74997),
1671
+ signed: !1,
1672
+ min: 1,
1673
+ max: 18,
1674
+ stock: 1
1675
+ },
1676
+ // ATTACKX, ATTACKY: MonInRange (PLAYGAME.C:2608-2609), cmp ax, imm16
1677
+ {
1678
+ ...e,
1679
+ id: "play.attackX",
1680
+ label: "Monster attack reach across",
1681
+ note: "Blocks; 0 never attacks",
1682
+ fields: s(2, 63569),
1683
+ signed: !1,
1684
+ min: 0,
1685
+ max: 100,
1686
+ stock: 8
1687
+ },
1688
+ {
1689
+ ...e,
1690
+ id: "play.attackY",
1691
+ label: "Monster attack reach up and down",
1692
+ note: "Blocks; 0 never attacks",
1693
+ fields: s(2, 63590),
1694
+ signed: !1,
1695
+ min: 0,
1696
+ max: 100,
1697
+ stock: 5
1698
+ },
1699
+ // SCRSPDX, SCRSPDY: ChangeScroll's imul imm8 (PLAYGAME.C:3935-3953); past 100 the 16-bit product can overflow
1700
+ {
1701
+ ...e,
1702
+ id: "play.scrollSpeedX",
1703
+ label: "Scroll speed across",
1704
+ note: "At the screen edge; a move still stops at 28 pixels",
1705
+ fields: s(1, 76458, 76503),
1706
+ signed: !0,
1707
+ min: 1,
1708
+ max: 100,
1709
+ stock: 40
1710
+ },
1711
+ {
1712
+ ...e,
1713
+ id: "play.scrollSpeedY",
1714
+ label: "Scroll speed up and down",
1715
+ note: "At the screen edge; a move still stops at 28 pixels",
1716
+ fields: s(1, 76552, 76601),
1717
+ signed: !0,
1718
+ min: 1,
1719
+ max: 100,
1720
+ stock: 40
1721
+ },
1722
+ // SCROLLPERMOVE: Movx.Iters, Movy.Iters (PLAYGAME.C:3963, 3967); 0 would hang BresenhamScroll
1723
+ {
1724
+ ...e,
1725
+ id: "play.scrollSteps",
1726
+ label: "Scroll smoothing",
1727
+ note: "Timer ticks a scroll move is spread over",
1728
+ fields: s(2, 76686, 76704),
1729
+ signed: !1,
1730
+ min: 1,
1731
+ max: 60,
1732
+ stock: 6
1733
+ },
1734
+ // FadeTo's tim at its five calls and FadeAllTo's at its one (push imm8); FadeTo's counters are
1735
+ // signed chars that reach tim + 62, so 65 is the most that works
1736
+ {
1737
+ ...e,
1738
+ id: "play.fadeSteps",
1739
+ label: "Fade length",
1740
+ note: "Steps, 70 a second; 0 cuts at once",
1741
+ fields: s(1, 48753, 48939, 50708, 51498, 87511, 108844),
1742
+ signed: !0,
1743
+ min: 0,
1744
+ max: 65,
1745
+ stock: 65
1746
+ }
1747
+ ];
1748
+ }
1749
+ export {
1750
+ n as COLOR_TARGETS,
1751
+ a as FKEY_OFF,
1752
+ l as PATCHES
1753
+ };