-
Notifications
You must be signed in to change notification settings - Fork 0
Event Loc 55 Hillstone
Navigation: Home - Wiki - Event Loc 55 Hillstone
-
event.dat offset
0x01125F, length 1463 bytes - Map: map screen 55; Hillstone
-
Record kind:
mixed_pool - Triggers: 72; script segments: 43; strings: 23
| Tile (y,x) | pos | Event | Condition |
|---|---|---|---|
| (0,2) | 0x02 |
18 | ANY_DIR |
| (0,3) | 0x03 |
3 | DIR_W? |
| (0,12) | 0x0C |
3 | DIR_E? |
| (0,13) | 0x0D |
18 | ANY_DIR |
| (1,1) | 0x11 |
19 | ANY_DIR |
| (1,8) | 0x18 |
19 | ANY_DIR |
| (1,9) | 0x19 |
19 | ANY_DIR |
| (1,14) | 0x1E |
19 | ANY_DIR |
| (2,0) | 0x20 |
18 | ANY_DIR |
| (2,5) | 0x25 |
15 | DIR_S? |
| (2,8) | 0x28 |
19 | ANY_DIR |
| (2,9) | 0x29 |
19 | ANY_DIR |
| (2,11) | 0x2B |
2 | DIR_N? |
| (2,12) | 0x2C |
13 | DIR_N? |
| (2,13) | 0x2D |
41 | 0x90 |
| (2,15) | 0x2F |
18 | ANY_DIR |
| (3,0) | 0x30 |
3 | DIR_S? |
| (3,2) | 0x32 |
12 | DIR_S? |
| (3,5) | 0x35 |
6 | DIR_S? |
| (3,12) | 0x3C |
37 | ANY_DIR |
| (3,14) | 0x3E |
39 | ANY_DIR |
| (3,15) | 0x3F |
3 | DIR_S? |
| (4,8) | 0x48 |
16 | DIR_S? |
| (4,11) | 0x4B |
17 | DIR_N? |
| (4,12) | 0x4C |
35 | ANY_DIR |
| (4,14) | 0x4E |
38 | ANY_DIR |
| (5,5) | 0x55 |
9 | DIR_W? |
| (5,10) | 0x5A |
18 | ANY_DIR |
| (5,12) | 0x5C |
33 | ANY_DIR |
| (5,14) | 0x5E |
36 | ANY_DIR |
| (6,8) | 0x68 |
1 | DIR_S? |
| (6,12) | 0x6C |
31 | ANY_DIR |
| (6,14) | 0x6E |
34 | ANY_DIR |
| (7,5) | 0x75 |
9 | DIR_W? |
| (7,9) | 0x79 |
18 | ANY_DIR |
| (7,10) | 0x7A |
18 | ANY_DIR |
| (7,12) | 0x7C |
29 | ANY_DIR |
| (7,14) | 0x7E |
32 | ANY_DIR |
| (8,12) | 0x8C |
27 | ANY_DIR |
| (8,14) | 0x8E |
30 | ANY_DIR |
| (9,2) | 0x92 |
9 | DIR_S? |
| (9,3) | 0x93 |
9 | DIR_S? |
| (9,5) | 0x95 |
20 | DIR_S? |
| (9,12) | 0x9C |
25 | ANY_DIR |
| (9,14) | 0x9E |
28 | ANY_DIR |
| (10,12) | 0xAC |
23 | ANY_DIR |
| (10,14) | 0xAE |
26 | ANY_DIR |
| (11,10) | 0xBA |
4 | DIR_E? |
| (11,11) | 0xBB |
5 | DIR_N? |
| (11,14) | 0xBE |
24 | ANY_DIR |
| (12,0) | 0xC0 |
3 | DIR_N? |
| (12,4) | 0xC4 |
18 | ANY_DIR |
| (12,8) | 0xC8 |
18 | ANY_DIR |
| (12,11) | 0xCB |
40 | ANY_DIR |
| (12,12) | 0xCC |
21 | ANY_DIR |
| (12,14) | 0xCE |
22 | ANY_DIR |
| (12,15) | 0xCF |
3 | DIR_N? |
| (13,0) | 0xD0 |
18 | ANY_DIR |
| (13,3) | 0xD3 |
14 | DIR_S? |
| (13,5) | 0xD5 |
19 | ANY_DIR |
| (13,7) | 0xD7 |
8 | DIR_S? |
| (13,8) | 0xD8 |
7 | DIR_S? |
| (13,10) | 0xDA |
10 | 0x30 |
| (13,15) | 0xDF |
18 | ANY_DIR |
| (14,1) | 0xE1 |
19 | ANY_DIR |
| (14,14) | 0xEE |
19 | ANY_DIR |
| (15,2) | 0xF2 |
18 | ANY_DIR |
| (15,3) | 0xF3 |
3 | DIR_W? |
| (15,7) | 0xF7 |
11 | DIR_N? |
| (15,8) | 0xF8 |
11 | DIR_N? |
| (15,12) | 0xFC |
3 | DIR_E? |
| (15,13) | 0xFD |
18 | ANY_DIR |
Event 01 — triggers: (6,8)/DIR_S?
04 01
00: show_text_above_door(str[1] "Prison")
Event 02 — triggers: (2,11)/DIR_N?
04 02
00: show_text_above_door(str[2] "Red Room")
Event 03 — triggers: (0,3)/DIR_W?, (0,12)/DIR_E?, (3,0)/DIR_S?, (3,15)/DIR_S?, (12,0)/DIR_N?, (12,15)/DIR_N?, (15,3)/DIR_W?, (15,12)/DIR_E?
04 03
00: show_text_above_door(str[3] "Guard Tower")
Event 04 — triggers: (11,10)/DIR_E?
04 04
00: show_text_above_door(str[4] "The Zoo")
Event 05 — triggers: (11,11)/DIR_N?
04 05
00: show_text_above_door(str[5] "Zookeeper")
Event 06 — triggers: (3,5)/DIR_S?
04 06
00: show_text_above_door(str[6] "Throne Room")
Event 07 — triggers: (13,8)/DIR_S?
04 07
00: show_text_above_door(str[7] "No Entry")
Event 08 — triggers: (13,7)/DIR_S?
04 08
00: show_text_above_door(str[8] "Slayer's Palace")
Event 09 — triggers: (5,5)/DIR_W?, (7,5)/DIR_W?, (9,2)/DIR_S?, (9,3)/DIR_S?
04 09
00: show_text_above_door(str[9] "Grand Hall")
Event 10 — triggers: (13,10)/0x30
01 0a 09 11 01 0c 2d f8 0f
00: show_text_basic(str[10] "Stairs to Dungeon. Descend (y/n)?")
01: cond = prompt_yes_no()
02: if not cond: skip_tokens(1)
# skip -> end_script()
03: map_transition(0x2D, 0xF8)
04: end_script()
Event 11 — triggers: (15,7)/DIR_N?, (15,8)/DIR_N?
01 0b 09 11 01 0c 27 1d 0f
00: show_text_basic(str[11] "Castle Exit. Leave (y/n)?")
01: cond = prompt_yes_no()
02: if not cond: skip_tokens(1)
# skip -> end_script()
03: map_transition(0x27, 0x1D)
04: end_script()
Event 12 — triggers: (3,2)/DIR_S?
01 0c 0d 09 29
00: show_text_basic(str[12] "You win the Booby Prize!")
01: engine_call(0x09)
02: set_abort_and_exit()
Event 13 — triggers: (2,12)/DIR_N?
02 0d 09 11 01 18 00 42 00 28 14
00: show_text_block(str[13] "Food is stacked to the ceiling. Take / some (y/n)?")
01: cond = prompt_yes_no()
02: if not cond: skip_tokens(1)
# skip -> clear_current_tile_event_flag()
03: apply_party_masked(count=0x00, set=0x42, and=0x00, or=0x28)
04: clear_current_tile_event_flag()
Event 14 — triggers: (13,3)/DIR_S?
02 0e 19 01 fe 07 00 10 01 01 0f 07 14
00: show_text_block(str[14] "You have found an N-19 Capitor.")
01: add_party_entity(0x01, f3a=0xFE, f40=0x07, f46=0x00)
02: if cond: skip_tokens(1)
# skip -> wait_for_space()
03: show_text_basic(str[15] "*** Backpacks Full ***")
04: wait_for_space()
05: clear_current_tile_event_flag()
Event 15 — triggers: (2,5)/DIR_S?
0b 0e 00 32 04 11 01 0e ca 02 15 08 0f
00: service_sign(idx=0x0E -> sign 49 [49.anm], pos=0x00)
01: cond = load_cond_from_var(0x04)
02: if not cond: skip_tokens(1)
# skip -> show_text_block(str[21] "Lord Slayer will only bestow a / quest unto a Crusader.")
03: exec_selector(0xCA) # quest_handler_202
04: show_text_block(str[21] "Lord Slayer will only bestow a / quest unto a Crusader.")
05: wait_key()
06: end_script()
Event 16 — triggers: (4,8)/DIR_S?
17 0b 00 10 01 0e f8 14
00: cond = load_var8(group=0x0B, index=0x00)
01: if cond: skip_tokens(1)
# skip -> clear_current_tile_event_flag()
02: exec_selector(0xF8)
03: clear_current_tile_event_flag()
Event 17 — triggers: (4,11)/DIR_N?
0b 05 00 28 01 71 11 2c 02 13 1f 00 31 04 40 1f 00 15 01 7d 61 1b 61 11 02 1f 01 31 04 a0 86 01 18 01 7d 9e 00 15 02 7d 61 1b 61 11 02 1f 02 31 04 a0 86 01 18 02 7d 9e 00 15 03 7d 61 1b 61 11 02 1f 03 31 04 a0 86 01 18 03 7d 9e 00 15 04 7d 61 1b 61 11 02 1f 04 31 04 a0 86 01 18 04 7d 9e 00 15 05 7d 61 1b 61 11 02 1f 05 31 04 a0 86 01 18 05 7d 9e 00 15 06 7d 61 1b 61 11 02 1f 06 31 04 a0 86 01 18 06 7d 9e 00 15 07 7d 61 1b 61 11 02 1f 07 31 04 a0 86 01 18 07 7d 9e 00 15 08 7d 61 1b 61 11 02 1f 08 31 04 a0 86 01 18 08 7d 9e 00 08 14 02 12 08 0f
00: service_sign(idx=0x05 -> sign 72 [72.anm], pos=0x00)
01: cond = consume_item(item_id=113, name="Red Key", probe=1)
02: if not cond: skip_tokens(44)
# skip -> show_text_block(str[18] "The Bishop of Red Battle is locked in / a cage.")
03: show_text_block(str[19] "The Bishop of Red Battle is freed / from imprisonment by your red key / ")
04: party_effect(sel=0x00, 31 04 40 1F 00)
05: apply_party(count=0x01, op=0x7D, val=0x61)
06: cond = (cond >= 0x61)
07: if not cond: skip_tokens(2)
# skip -> apply_party(count=0x02, op=0x7D, val=0x61)
08: party_effect(sel=0x01, 31 04 A0 86 01)
09: apply_party_masked(count=0x01, set=0x7D, and=0x9E, or=0x00)
10: apply_party(count=0x02, op=0x7D, val=0x61)
11: cond = (cond >= 0x61)
12: if not cond: skip_tokens(2)
# skip -> apply_party(count=0x03, op=0x7D, val=0x61)
13: party_effect(sel=0x02, 31 04 A0 86 01)
14: apply_party_masked(count=0x02, set=0x7D, and=0x9E, or=0x00)
15: apply_party(count=0x03, op=0x7D, val=0x61)
16: cond = (cond >= 0x61)
17: if not cond: skip_tokens(2)
# skip -> apply_party(count=0x04, op=0x7D, val=0x61)
18: party_effect(sel=0x03, 31 04 A0 86 01)
19: apply_party_masked(count=0x03, set=0x7D, and=0x9E, or=0x00)
20: apply_party(count=0x04, op=0x7D, val=0x61)
21: cond = (cond >= 0x61)
22: if not cond: skip_tokens(2)
# skip -> apply_party(count=0x05, op=0x7D, val=0x61)
23: party_effect(sel=0x04, 31 04 A0 86 01)
24: apply_party_masked(count=0x04, set=0x7D, and=0x9E, or=0x00)
25: apply_party(count=0x05, op=0x7D, val=0x61)
26: cond = (cond >= 0x61)
27: if not cond: skip_tokens(2)
# skip -> apply_party(count=0x06, op=0x7D, val=0x61)
28: party_effect(sel=0x05, 31 04 A0 86 01)
29: apply_party_masked(count=0x05, set=0x7D, and=0x9E, or=0x00)
30: apply_party(count=0x06, op=0x7D, val=0x61)
31: cond = (cond >= 0x61)
32: if not cond: skip_tokens(2)
# skip -> apply_party(count=0x07, op=0x7D, val=0x61)
33: party_effect(sel=0x06, 31 04 A0 86 01)
34: apply_party_masked(count=0x06, set=0x7D, and=0x9E, or=0x00)
35: apply_party(count=0x07, op=0x7D, val=0x61)
36: cond = (cond >= 0x61)
37: if not cond: skip_tokens(2)
# skip -> apply_party(count=0x08, op=0x7D, val=0x61)
38: party_effect(sel=0x07, 31 04 A0 86 01)
39: apply_party_masked(count=0x07, set=0x7D, and=0x9E, or=0x00)
40: apply_party(count=0x08, op=0x7D, val=0x61)
41: cond = (cond >= 0x61)
42: if not cond: skip_tokens(2)
# skip -> wait_key()
43: party_effect(sel=0x08, 31 04 A0 86 01)
44: apply_party_masked(count=0x08, set=0x7D, and=0x9E, or=0x00)
45: wait_key()
46: clear_current_tile_event_flag()
47: show_text_block(str[18] "The Bishop of Red Battle is locked in / a cage.")
48: wait_key()
49: end_script()
Event 18 — triggers: (0,2)/ANY_DIR, (0,13)/ANY_DIR, (2,0)/ANY_DIR, (2,15)/ANY_DIR, (5,10)/ANY_DIR, (7,9)/ANY_DIR, (7,10)/ANY_DIR, (12,4)/ANY_DIR, (12,8)/ANY_DIR, (13,0)/ANY_DIR, (13,15)/ANY_DIR, (15,2)/ANY_DIR, (15,13)/ANY_DIR
2b 01 12 69 69 69 69 69 69 00 00 00 00 00 00 14
00: skip_tokens(1)
# skip -> clear_current_tile_event_flag()
01: encounter_setup(monsters=69 69 69 69 69 69 00 00 00 00, flags=00 00)
02: clear_current_tile_event_flag()
Event 19 — triggers: (1,1)/ANY_DIR, (1,8)/ANY_DIR, (1,9)/ANY_DIR, (1,14)/ANY_DIR, (2,8)/ANY_DIR, (2,9)/ANY_DIR, (13,5)/ANY_DIR, (14,1)/ANY_DIR, (14,14)/ANY_DIR
2b 01 12 69 69 69 69 69 69 69 69 69 69 00 00 14
00: skip_tokens(1)
# skip -> clear_current_tile_event_flag()
01: encounter_setup(monsters=69 69 69 69 69 69 69 69 69 69, flags=00 00)
02: clear_current_tile_event_flag()
Event 20 — triggers: (9,5)/DIR_S?
0b 0d 00 01 14 0e e2
00: service_sign(idx=0x0D -> sign 5 [5.anm], pos=0x00)
01: show_text_basic(str[20] "Here's the joke of the day:")
02: exec_selector(0xE2) # special_226
Event 21 — triggers: (12,12)/ANY_DIR
2b 01 12 0e 0e 00 00 00 00 00 00 00 00 00 00 0e fa
00: skip_tokens(1)
# skip -> exec_selector(0xFA)
01: encounter_setup(monsters=0E 0E 00 00 00 00 00 00 00 00, flags=00 00)
02: exec_selector(0xFA)
Event 22 — triggers: (12,14)/ANY_DIR
2b 01 12 1d 1d 00 00 00 00 00 00 00 00 00 00 0e fa
00: skip_tokens(1)
# skip -> exec_selector(0xFA)
01: encounter_setup(monsters=1D 1D 00 00 00 00 00 00 00 00, flags=00 00)
02: exec_selector(0xFA)
Event 23 — triggers: (10,12)/ANY_DIR
2b 01 12 2e 2e 00 00 00 00 00 00 00 00 00 00 0e fa
00: skip_tokens(1)
# skip -> exec_selector(0xFA)
01: encounter_setup(monsters=2E 2E 00 00 00 00 00 00 00 00, flags=00 00)
02: exec_selector(0xFA)
Event 24 — triggers: (11,14)/ANY_DIR
2b 01 12 3d 3d 00 00 00 00 00 00 00 00 00 00 0e fa
00: skip_tokens(1)
# skip -> exec_selector(0xFA)
01: encounter_setup(monsters=3D 3D 00 00 00 00 00 00 00 00, flags=00 00)
02: exec_selector(0xFA)
Event 25 — triggers: (9,12)/ANY_DIR
2b 01 12 44 44 00 00 00 00 00 00 00 00 00 00 0e fa
00: skip_tokens(1)
# skip -> exec_selector(0xFA)
01: encounter_setup(monsters=44 44 00 00 00 00 00 00 00 00, flags=00 00)
02: exec_selector(0xFA)
Event 26 — triggers: (10,14)/ANY_DIR
2b 01 12 47 47 00 00 00 00 00 00 00 00 00 00 0e fa
00: skip_tokens(1)
# skip -> exec_selector(0xFA)
01: encounter_setup(monsters=47 47 00 00 00 00 00 00 00 00, flags=00 00)
02: exec_selector(0xFA)
Event 27 — triggers: (8,12)/ANY_DIR
2b 01 12 52 52 00 00 00 00 00 00 00 00 00 00 0e fa
00: skip_tokens(1)
# skip -> exec_selector(0xFA)
01: encounter_setup(monsters=52 52 00 00 00 00 00 00 00 00, flags=00 00)
02: exec_selector(0xFA)
Event 28 — triggers: (9,14)/ANY_DIR
2b 01 12 5a 5a 00 00 00 00 00 00 00 00 00 00 0e fa
00: skip_tokens(1)
# skip -> exec_selector(0xFA)
01: encounter_setup(monsters=5A 5A 00 00 00 00 00 00 00 00, flags=00 00)
02: exec_selector(0xFA)
Event 29 — triggers: (7,12)/ANY_DIR
2b 01 12 5c 5c 00 00 00 00 00 00 00 00 00 00 0e fa
00: skip_tokens(1)
# skip -> exec_selector(0xFA)
01: encounter_setup(monsters=5C 5C 00 00 00 00 00 00 00 00, flags=00 00)
02: exec_selector(0xFA)
Event 30 — triggers: (8,14)/ANY_DIR
2b 01 12 5d 5d 00 00 00 00 00 00 00 00 00 00 0e fa
00: skip_tokens(1)
# skip -> exec_selector(0xFA)
01: encounter_setup(monsters=5D 5D 00 00 00 00 00 00 00 00, flags=00 00)
02: exec_selector(0xFA)
Event 31 — triggers: (6,12)/ANY_DIR
2b 01 12 5f 5f 00 00 00 00 00 00 00 00 00 00 0e fa
00: skip_tokens(1)
# skip -> exec_selector(0xFA)
01: encounter_setup(monsters=5F 5F 00 00 00 00 00 00 00 00, flags=00 00)
02: exec_selector(0xFA)
Event 32 — triggers: (7,14)/ANY_DIR
2b 01 12 6d 6d 00 00 00 00 00 00 00 00 00 00 0e fa
00: skip_tokens(1)
# skip -> exec_selector(0xFA)
01: encounter_setup(monsters=6D 6D 00 00 00 00 00 00 00 00, flags=00 00)
02: exec_selector(0xFA)
Event 33 — triggers: (5,12)/ANY_DIR
2b 01 12 71 71 00 00 00 00 00 00 00 00 00 00 0e fa
00: skip_tokens(1)
# skip -> exec_selector(0xFA)
01: encounter_setup(monsters=71 71 00 00 00 00 00 00 00 00, flags=00 00)
02: exec_selector(0xFA)
Event 34 — triggers: (6,14)/ANY_DIR
2b 01 12 73 73 00 00 00 00 00 00 00 00 00 00 0e fa
00: skip_tokens(1)
# skip -> exec_selector(0xFA)
01: encounter_setup(monsters=73 73 00 00 00 00 00 00 00 00, flags=00 00)
02: exec_selector(0xFA)
Event 35 — triggers: (4,12)/ANY_DIR
2b 01 12 7e 7e 00 00 00 00 00 00 00 00 00 00 0e fa
00: skip_tokens(1)
# skip -> exec_selector(0xFA)
01: encounter_setup(monsters=7E 7E 00 00 00 00 00 00 00 00, flags=00 00)
02: exec_selector(0xFA)
Event 36 — triggers: (5,14)/ANY_DIR
2b 01 12 7a 7a 00 00 00 00 00 00 00 00 00 00 0e fa
00: skip_tokens(1)
# skip -> exec_selector(0xFA)
01: encounter_setup(monsters=7A 7A 00 00 00 00 00 00 00 00, flags=00 00)
02: exec_selector(0xFA)
Event 37 — triggers: (3,12)/ANY_DIR
2b 01 12 8a 8a 00 00 00 00 00 00 00 00 00 00 0e fa
00: skip_tokens(1)
# skip -> exec_selector(0xFA)
01: encounter_setup(monsters=8A 8A 00 00 00 00 00 00 00 00, flags=00 00)
02: exec_selector(0xFA)
Event 38 — triggers: (4,14)/ANY_DIR
2b 01 12 8c 8c 00 00 00 00 00 00 00 00 00 00 0e fa
00: skip_tokens(1)
# skip -> exec_selector(0xFA)
01: encounter_setup(monsters=8C 8C 00 00 00 00 00 00 00 00, flags=00 00)
02: exec_selector(0xFA)
Event 39 — triggers: (3,14)/ANY_DIR
2b 01 12 87 87 00 00 00 00 00 00 00 00 00 00 0e fa
00: skip_tokens(1)
# skip -> exec_selector(0xFA)
01: encounter_setup(monsters=87 87 00 00 00 00 00 00 00 00, flags=00 00)
02: exec_selector(0xFA)
Event 40 — triggers: (12,11)/ANY_DIR
2b 01 12 9d 9d 00 00 00 00 00 00 00 00 00 00 0e fa
00: skip_tokens(1)
# skip -> exec_selector(0xFA)
01: encounter_setup(monsters=9D 9D 00 00 00 00 00 00 00 00, flags=00 00)
02: exec_selector(0xFA)
Event 41 — triggers: (2,13)/0x90
0e fb
00: exec_selector(0xFB)
-
[00] -
[01]Prison -
[02]Red Room -
[03]Guard Tower -
[04]The Zoo -
[05]Zookeeper -
[06]Throne Room -
[07]No Entry -
[08]Slayer's Palace -
[09]Grand Hall -
[10]Stairs to Dungeon. Descend (y/n)? -
[11]Castle Exit. Leave (y/n)? -
[12]You win the Booby Prize! -
[13]Food is stacked to the ceiling. Take / some (y/n)? -
[14]You have found an N-19 Capitor. -
[15]*** Backpacks Full *** -
[16]E -
[17]T -
[18]The Bishop of Red Battle is locked in / a cage. -
[19]The Bishop of Red Battle is freed / from imprisonment by your red key / (+8000 exp). He grants all red / triple crown winners 100,000 exp. -
[20]Here's the joke of the day: -
[21]Lord Slayer will only bestow a / quest unto a Crusader. -
[22]
Generated by tools/build_event_location_docs.py from event.dat. Decoder: tools/decode_event.py.
- Docs Wiki Hub ← full doc index
- Getting Started ← read this first
- Overview
- Workspace Notes
- Open Questions
- Full Analysis
- Game Remake
- Startup and Init
- Runtime Memory Map
- Main Loop and Map
- Exploration Input and Options
- Party and Session
- Game State Struct
- Data Hunk mm2 data 00
- Time Era Calendar
- GFX Loading
- ANM TV Format
- PC DOS graphics
- SNES graphics
- 3D View and Game Screen
- Amiga 3D Render Process
- Scripted Scene Graphics
- Event Graphics Opcodes
- Title Screen Assets
- Title Screen Animation
- Format inventory
- items.dat
- monsters.dat
- roster.dat
- attrib.dat
- map.dat
- spells & item use
- event.dat
- Events by location ← 71 maps
- Events hub (numbered)
- Event Script Opcodes
-
Event Script DSL ←
.mm2evtauthoring - Event Text Rendering
- Event Graphics Opcodes
- Combat Overview
- Combat System
- Encounter Tables
- Spell Cast ASM
- monsters.dat abilities
- Spells and item use
- Town Services
- Spell Sources
- Character Mechanics
- Skills and Hirelings
- Commerce Formulas
- Commerce World Services
- Mount Farview Class Quest
- Class Quest HP Bug
- Event Runtime
- Event to String Path
- Embedded Exe Strings
- Copy Protection
- Time Era Calendar
- Game State Struct
- MM1 Overview ← hub + decode status
- MM1 MAZEDATA format
- MM1 to MM2 outdoor
- MM1 WALLPIX by sector
- MM1 art & graphics
- MM1 items / monsters (status)
- MM1 map walker ↗
- MM1 2D maps gallery
- MM1 WALLPIX gallery