From 948b270a83dce5f985cf347e88cd3ed0b110e1c1 Mon Sep 17 00:00:00 2001 From: Andrew Martinek Date: Thu, 12 Sep 2019 12:29:47 -0400 Subject: Script reversing --- src/engine/bank03.asm | 77 ++++++++++++++++++++++++++++++++++++++------------- src/engine/bank04.asm | 31 +++++++++++---------- src/engine/bank07.asm | 31 ++++++++++++++++++++- src/engine/home.asm | 4 +-- 4 files changed, 105 insertions(+), 38 deletions(-) (limited to 'src/engine') diff --git a/src/engine/bank03.asm b/src/engine/bank03.asm index b33fd35..e63481f 100644 --- a/src/engine/bank03.asm +++ b/src/engine/bank03.asm @@ -1207,6 +1207,7 @@ Func_c926: ; c926 (3:4926) ld [wd3b6], a farcall Func_1c768 pop bc +; fallthrough Func_c935: ; c935 (3:4935) push hl @@ -1567,7 +1568,7 @@ EventFlagMods: ; cb37 (3:4b37) Func_cc32: ; cc32 (3:4c32) push hl - ld hl, wd0c8 + ld hl, wCurrentNPCNameTx ld e, [hl] inc hl ld d, [hl] @@ -2200,13 +2201,14 @@ Func_cfd4: ; cfd4 (3:4fd4) dec l pop bc ld b, $0 - ld hl, $5006 + ld hl, Data_d006 add hl, bc ld c, [hl] call Func_ca8f dec hl jp IncreaseOWScriptPointerBy1 +Data_d006: ; d006 (3:5006) INCROM $d006, $d00b Func_d00b: ; d00b (3:500b) @@ -2277,9 +2279,9 @@ OWScript_MovePlayer: ; 505c (3:505c) call SetScreenScroll jp IncreaseOWScriptPointerBy3 -Func_d080: ; d080 (3:5080) +OWScript_SetDialogName: ; d080 (3:5080) ld a, c - farcall Func_11893 + farcall SetNPCDialogName jp IncreaseOWScriptPointerBy2 Func_d088: ; d088 (3:5088) @@ -2408,7 +2410,7 @@ Func_d135: ; d135 (3:5135) INCROM $d153, $d16b Func_d16b: ; d16b (3:516b) - ld hl, wd0c8 + ld hl, wCurrentNPCNameTx ld e, [hl] inc hl ld d, [hl] @@ -2419,14 +2421,14 @@ Func_d16b: ; d16b (3:516b) add hl, bc push hl ld a, [wd696] - farcall Func_11893 + farcall SetNPCDialogName pop hl - ld a, [wd0c8] + ld a, [wCurrentNPCNameTx] ld [hli], a - ld a, [wd0c9] + ld a, [wCurrentNPCNameTx+1] ld [hl], a pop de - ld hl, wd0c8 + ld hl, wCurrentNPCNameTx ld [hl], e inc hl ld [hl], d @@ -2916,7 +2918,25 @@ asm_d4e6 jp IncreaseOWScriptPointerBy4 ; 0xd4ec - INCROM $d4ec, $d753 + INCROM $d4ec, $d52e + +OWSequence_d52e: ; d52e (3:552e) + start_script + run_script Func_d0ce + db $3c + run_script Func_d3e0 + run_script Func_d0ce + db $78 + run_script Func_d36d + db $02 + db $01 + db $0e + db $1a + db $00 + run_script OWScript_EndScriptCloseText +; 0xd53b + + INCROM $d53b, $d753 OWSequence_d753: ; d753 (3:5753) start_script @@ -2950,22 +2970,39 @@ OWSequence_d753: ; d753 (3:5753) run_script OWScript_PrintTextString tx Text05e3 run_script OWScript_CloseTextBox - run_script Func_d088 + run_script Func_d088 ; run OWSequence with given npc (ID corresponds to a row in the wd34a table, i dont know why they correspond to what number though) db $07 - db $79 - db $57 + dw OWSequence_d779 run_script OWScript_EndScriptLoop1 ret +OWSequence_d779: ; d779 (03:5779) start_script - run_script Func_ce4a + run_script Func_ce4a ; handles some sort of npc movement, and rotation? db $80 db $58 - db $02 - - ; there's more to this script but it hasn't been disassembled yet + run_script OWScript_PrintTextString + tx Text05e4 + run_script OWScript_SetDialogName + db DRMASON + run_script OWScript_PrintTextString + tx Text05e5 + run_script Func_ce84 + run_script Func_ce4a + db $82 + db $58 + run_script Func_cfc6 + db $01 + run_script Func_d055 + db $03 + run_script OWScript_CloseTextBox + run_script Func_d088 + db $01 + db $94 + db $57 + run_script OWScript_EndScriptLoop1 - INCROM $d77e, $e13f + INCROM $d793, $e13f WaterClubMovePlayer: ; e13f (3:613f) ld a, [wPlayerYCoord] @@ -3200,9 +3237,9 @@ Func_fc2b: ; fc2b (3:7c2b) inc hl ld b, [hl] ld a, $b0 - ld [wd0c8], a + ld [wCurrentNPCNameTx], a ld a, $3 - ld [wd0c9], a + ld [wCurrentNPCNameTx+1], a jp Func_c935 PointerTable_fc4c: ; fc4c (3:7c4c) diff --git a/src/engine/bank04.asm b/src/engine/bank04.asm index e2ca66c..48b6c12 100644 --- a/src/engine/bank04.asm +++ b/src/engine/bank04.asm @@ -839,7 +839,7 @@ Func_115a3: ; 115a3 (4:55a3) INCLUDE "data/map_scripts.asm" ; loads a pointer into hl found on PointerTable_118f5 -Func_1184a: ; 1184a (4:584a) +GetNPCDataPointer: ; 1184a (4:584a) ; this may have been a macro rlca add LOW(PointerTable_118f5) @@ -855,7 +855,7 @@ Func_1184a: ; 1184a (4:584a) Func_11857: ; 11857 (4:5857) push hl push bc - call Func_1184a + call GetNPCDataPointer ld a, [hli] ld [wd3ab], a ld a, [hli] @@ -880,30 +880,31 @@ Func_11857: ; 11857 (4:5857) ; this appears to find data about the NPC we're talking to Func_1187d: ; 1187d (4:587d) push hl - call Func_1184a - ld bc, $5 + call GetNPCDataPointer + ld bc, NPC_DATA_OWSEQUENCE_PTR add hl, bc ld c, [hl] inc hl ld b, [hl] inc hl ld a, [hli] - ld [wd0c8], a + ld [wCurrentNPCNameTx], a ld a, [hli] - ld [wd0c9], a + ld [wCurrentNPCNameTx+1], a pop hl ret -Func_11893: ; 11893 (4:5893) +; Sets Dialog Box title to the name of the npc in 'a' +SetNPCDialogName: ; 11893 (4:5893) push hl push bc - call Func_1184a - ld bc, $0007 + call GetNPCDataPointer + ld bc, NPC_DATA_NAME_TEXT add hl, bc ld a, [hli] - ld [wd0c8], a + ld [wCurrentNPCNameTx], a ld a, [hli] - ld [wd0c9], a + ld [wCurrentNPCNameTx+1], a pop bc pop hl ret @@ -911,7 +912,7 @@ Func_11893: ; 11893 (4:5893) Func_118a7: ; 118a7 (4:58a7) push hl push bc - call Func_1184a + call GetNPCDataPointer ld bc, $0007 add hl, bc ld a, [hli] @@ -927,7 +928,7 @@ Func_118a7: ; 118a7 (4:58a7) Func_118bf: ; 118bf (4:58bf) push hl push bc - call Func_1184a + call GetNPCDataPointer ld bc, $000a add hl, bc ld a, [hli] @@ -942,7 +943,7 @@ Func_118d3: ; 118d3 (4:58d3) push hl push bc push af - call Func_1184a + call GetNPCDataPointer ld bc, $000c add hl, bc ld a, [hli] @@ -999,7 +1000,7 @@ OverworldScriptTable: ; 1217b (4:617b) dw Func_d055 dw OWScript_MovePlayer dw Func_cee2 - dw Func_d080 + dw OWScript_SetDialogName dw Func_d088 dw Func_d095 dw Func_d0be diff --git a/src/engine/bank07.asm b/src/engine/bank07.asm index 7c53b96..ecc281d 100644 --- a/src/engine/bank07.asm +++ b/src/engine/bank07.asm @@ -224,7 +224,36 @@ Func_1c57b: ; 1c57b (7:457b) ret Func_1c58e: ; 1c58e (7:458e) - INCROM $1c58e, $1c5e9 + push hl + push bc + ld a, [wWhichSprite] + push af + ld a, [wd3aa] + call Func_39a7 + ld a, [hli] + or a + jr z, .asm_1c5b2 + ld a, [hl] + ld [wWhichSprite], a + ld bc, $5 + add hl, bc + ld a, [hld] + bit 4, [hl] + jr nz, .asm_1c5ae + dec hl + add [hl] + inc hl +.asm_1c5ae + farcall Func_12ab5 +.asm_1c5b2 + pop af + ld [wWhichSprite], a + pop bc + pop hl + ret +; 0x1c5b9 + + INCROM $1c5b9, $1c5e9 Func_1c5e9: ; 1c5e9 (7:45e9) INCROM $1c5e9, $1c610 diff --git a/src/engine/home.asm b/src/engine/home.asm index 15778ca..5acb742 100644 --- a/src/engine/home.asm +++ b/src/engine/home.asm @@ -11091,9 +11091,9 @@ Func_3a5e: ; 3a5e (0:3a5e) ld a, [hli] ld [wd0cb], a ld a, [hli] - ld [wd0c8], a + ld [wCurrentNPCNameTx], a ld a, [hli] - ld [wd0c9], a + ld [wCurrentNPCNameTx+1], a pop hl pop bc pop af -- cgit v1.2.3 From 751b28d4fee472af4d0de83ef22a1f11ec6fade6 Mon Sep 17 00:00:00 2001 From: Andrew Martinek Date: Sun, 15 Sep 2019 21:55:11 -0400 Subject: Lots of NPC data, some temp. comments on mapdatapointers --- src/engine/bank03.asm | 19 +++-- src/engine/bank04.asm | 6 +- src/engine/bank20.asm | 225 +++++++++++++++++++++++++++++++++++++++++++++----- src/engine/home.asm | 35 ++++---- 4 files changed, 238 insertions(+), 47 deletions(-) (limited to 'src/engine') diff --git a/src/engine/bank03.asm b/src/engine/bank03.asm index e63481f..e89bbfb 100644 --- a/src/engine/bank03.asm +++ b/src/engine/bank03.asm @@ -128,9 +128,9 @@ Func_c10a: ; c10a (3:410a) ; closes dialogue window. seems to be for other things as well. CloseDialogueBox: ; c111 (3:4111) - ld a, [wd0c1] + ld a, [wd0c1] ; with 0 set i can't move cursors, can move around bit 0, a - call nz, Func_c135 + call nz, Func_c135 ; seems to actually close the dialog window ld a, [wd0c1] bit 1, a jr z, .asm_c12a @@ -144,10 +144,11 @@ CloseDialogueBox: ; c111 (3:4111) ld [wd0bf], a ret +; this seems to legitimately close the dialogue box Func_c135: ; c135 (3:4135) push hl - farcall Func_80028 - ld hl, wd0c1 + farcall Func_80028 ; Draw background of the current room, I think + ld hl, wd0c1 ; at this point, the background tiles are back to normal res 0, [hl] pop hl ret @@ -1236,7 +1237,7 @@ Func_c943: ; c943 (3:4943) ld [wd4c6], a ld de, wd3ab ld bc, $0006 - call Func_3bf5 + call CopyBankedDataToDE ld a, [wd3ab] or a jr z, .asm_c98f @@ -2324,12 +2325,12 @@ Func_d0be: ; d0be (3:50be) farcall Func_1c461 jp IncreaseOWScriptPointerBy3 -Func_d0ce: ; d0ce (3:50ce) +OWScript_DoFrames: ; d0ce (3:50ce) push bc call DoFrameIfLCDEnabled pop bc dec c - jr nz, Func_d0ce + jr nz, OWScript_DoFrames jp IncreaseOWScriptPointerBy2 Func_d0d9: ; d0d9 (3:50d9) @@ -2922,10 +2923,10 @@ asm_d4e6 OWSequence_d52e: ; d52e (3:552e) start_script - run_script Func_d0ce + run_script OWScript_DoFrames db $3c run_script Func_d3e0 - run_script Func_d0ce + run_script OWScript_DoFrames db $78 run_script Func_d36d db $02 diff --git a/src/engine/bank04.asm b/src/engine/bank04.asm index 48b6c12..2ebb399 100644 --- a/src/engine/bank04.asm +++ b/src/engine/bank04.asm @@ -1004,7 +1004,7 @@ OverworldScriptTable: ; 1217b (4:617b) dw Func_d088 dw Func_d095 dw Func_d0be - dw Func_d0ce + dw OWScript_DoFrames dw Func_d0d9 dw Func_d0f2 dw Func_ce4a @@ -1331,7 +1331,7 @@ Func_12ae2: ; 12ae2 (4:6ae2) ld [hli], a push hl ld l, $6 - farcall Func_8020f + farcall GetMapDataPointer farcall Func_80229 pop hl ld a, [wd4c6] @@ -1374,7 +1374,7 @@ Func_12b13: ; 12b13 (4:6b13) ld [hl], a ld de, wd23e ld bc, $0004 - call Func_3bf5 + call CopyBankedDataToDE pop hl ld de, wd23e ld a, [de] diff --git a/src/engine/bank20.asm b/src/engine/bank20.asm index d2acf6a..967ffb0 100644 --- a/src/engine/bank20.asm +++ b/src/engine/bank20.asm @@ -2,7 +2,7 @@ Func_80000: ; 80000 (20:4000) INCROM $80000, $80028 Func_80028: ; 80028 (20:4028) - call Func_801f1 + call Func_801f1 ; Clears the first x800 bytes of S1:a000 ld bc, $0000 call Func_80077 farcall $3, $49c7 @@ -13,6 +13,7 @@ Func_80028: ; 80028 (20:4028) INCROM $8003d, $80077 +; loads the background it seems. Also includes background tile permissions? Func_80077: ; 80077 (20:4077) ld a, $1 ld [wd292], a @@ -25,37 +26,187 @@ Func_80077: ; 80077 (20:4077) push hl push bc push de - call BCCoordToBGMap0Address + call BCCoordToBGMap0Address ; de ld hl, wd4c2 ld [hl], e inc hl ld [hl], d - call $43b9 + call Func_803b9 ; load more d4c* stuff from mapdatapointers ld a, [wd4c6] - ld [wd23d], a + ld [wd23d], a ; copies the bank of the data we loaded to wd23d ld de, wd23e ld bc, $0006 - call Func_3bf5 + call CopyBankedDataToDE ; copies 6 bytes to wd23e+ ld l, e - ld h, d + ld h, d ; then copies that data into various other places? ld a, [hli] - ld [wd12f], a + ld [wd12f], a ; just happens to correspond to size of room ld a, [hli] - ld [wd130], a + ld [wd130], a ; hmmm ld a, [hli] - ld [wd23a], a + ld [wd23a], a ; these 3 are before this data and after room collision ld a, [hli] ld [wd23b], a ld a, [hli] ld [wd23c], a - call $40bd + call Func_800bd ; moves the background data to some place vblank knows about pop de pop bc pop hl ret -; 0x800bd - INCROM $800bd, $801a1 +Func_800bd: ; 800bd (20:40bd) + push hl + push bc + push de + ld a, [wd4c4] ; these are still the copy locations + add $05 + ld e, a + ld a, [wd4c5] + adc $00 + ld d, a ; de = [wd4c4/5] + 5 + ld b, $c0 ; b = c0 + call Func_08bf + ld a, [wd4c2] + ld e, a + ld a, [wd4c3] ; bg map coord from earlier + ld d, a + call Func_800e0 + pop de + pop bc + pop hl + ret + +; de is a bg map coord +Func_800e0: ; 800e0 (20:40e0) + push hl + ld hl, $d28e + ld a, [wd12f] + ld [hl], a + ld a, [wd23c] + or a + jr z, .asm_800f0 + sla [hl] ; if wd23c is nonzero, double d28e +.asm_800f0 + ld c, $40 + ld hl, wd23e + xor a +.asm_800f6 + ld [hli], a + dec c + jr nz, .asm_800f6 ; clear out wd23e-40+ + ld a, [wd130] + ld c, a +.asm_800fe + push bc ; push the height of this map + push de ; push the destination of this map + ld b, $00 + ld a, [$d28e] + ld c, a ; bc is now the width + ld de, wd23e ; wd23e is the place we copied map data to (The 6 bytes) before + call Func_3be4 + ld a, [wd12f] + ld b, a + pop de + push de + ld hl, wd23e + call Func_8016e + ld a, [wConsole] + cp $02 + jr nz, .asm_8013b + call BankswitchVRAM1 + ld a, [wd12f] + ld c, a + ld b, $00 + ld hl, wd23e + add hl, bc + pop de + push de + ld a, [wd12f] + ld b, a + call Func_80148 + call Func_8016e + call BankswitchVRAM0 +.asm_8013b + pop de + ld hl, $20 + add hl, de + ld e, l + ld d, h + pop bc + dec c + jr nz, .asm_800fe + pop hl + ret +; 0x80148 + +Func_80148: ; 80148 (20:4148) + ld a, [$d291] + or a + ret z + ld a, [$d23c] + or a + jr z, .asm_80162 + push hl + push bc +.asm_80155 + push bc + ld a, [$d291] + add [hl] + ld [hli], a + pop bc + dec b + jr nz, .asm_80155 + pop bc + pop hl + ret +.asm_80162 + push hl + push bc + ld a, [$d291] +.asm_80167 + ld [hli], a + dec b + jr nz, .asm_80167 + pop bc + pop hl + ret + +Func_8016e: ; 8016e (20:416e) + ld a, [wd292] + or a + jp z, SafeCopyDataHLtoDE + push hl + push bc + push de + ldh a, [hBankSRAM] + push af + ld a, $01 + call BankswitchSRAM + push hl + ld hl, $800 + ldh a, [hBankVRAM] + or a + jr z, .asm_8018c + ld hl, $c00 +.asm_8018c + add hl, de + ld e, l + ld d, h + pop hl +.asm_80190 + ld a, [hli] + ld [de], a + inc de + dec b + jr nz, .asm_80190 + pop af + call BankswitchSRAM + call DisableSRAM + pop de + pop bc + pop hl + ret Func_801a1: ; 801a1 (20:41a1) push hl @@ -108,6 +259,7 @@ Func_801a1: ; 801a1 (20:41a1) pop hl ret +; Clears the first x800 bytes of S1:a000 Func_801f1: ; 801f1 (20:41f1) push hl push bc @@ -118,7 +270,7 @@ Func_801f1: ; 801f1 (20:41f1) ld hl, $a000 ld bc, $0800 xor a - call $3c10 + call FillMemoryWithA pop af call BankswitchSRAM call DisableSRAM @@ -126,7 +278,7 @@ Func_801f1: ; 801f1 (20:41f1) pop hl ret -Func_8020f: ; 8020f (20:420f) +GetMapDataPointer: ; 8020f (20:420f) push bc push af ld bc, MapDataPointers @@ -135,17 +287,18 @@ Func_8020f: ; 8020f (20:420f) ld c, [hl] inc hl ld b, [hl] - pop af + pop af ; bc = [MapDataPointers+l] ld l, a ld h, $0 sla l rl h sla l rl h - add hl, bc + add hl, bc ; hl = [MapDataPointers+l] + 4*a pop bc ret +; These vars are used as a copy source for something about drawing the background? Func_80229: ; 80229 (20:4229) ld a, [hli] ld [wd4c4], a @@ -162,7 +315,7 @@ Func_80229: ; 80229 (20:4229) Func_8025b: ; 8025b (20:425b) push hl ld l, $4 - call Func_8020f + call GetMapDataPointer call Func_80229 ld a, [hl] push af @@ -234,7 +387,19 @@ Func_802bb: ; 802bb (20:42bb) ret ; 0x802d4 - INCROM $802d4, $80418 + INCROM $802d4, $803b9 + +Func_803b9: ; 803b9 (20:43b9) + ld l, $00 + ld a, [wd131] ; current screen/state/almost room? + call GetMapDataPointer + call Func_80229 ; basically get pointer to background tilemap? + ld a, [hl] + ld [$d239], a ; the final value in mapDataPointer goes to this mystery + ret +; 0x803c9 + + INCROM $803c9, $80418 Func_80418: ; 80418 (20:4418) INCROM $80418, $80480 @@ -332,5 +497,27 @@ Func_80ba4: ; 80ba4 (20:4ba4) Unknown_80e5a: ; 80e5a (20:4e5a) INCROM $80e5a, $80e5d +; might be closer to "screen specific data" than map data +; ex: one thing is reading from something that changes multipl times in loading +; of screens, and changes in duels (4d131) MapDataPointers: ; 80e5d (20:4e5d) - INCROM $80e5d, $84000 + dw MapDataPointers_80e67 + dw MapDataPointers_8100f + dw MapDataPointers_8116b + dw MapDataPointers_81333 + dw MapDataPointers_81697 + +MapDataPointers_80e67: ; 80e67 (20:4e67) + INCROM $80e67, $8100f + +MapDataPointers_8100f: ; 8100f (20:500f) + INCROM $8100f, $8116b + +MapDataPointers_8116b: ; 8116b (20:516b) + INCROM $8116b, $81333 + +MapDataPointers_81333: ; 81333 (20:5333) + INCROM $81333, $81697 + +MapDataPointers_81697: ; 81697 (20:5697) + INCROM $81697, $84000 diff --git a/src/engine/home.asm b/src/engine/home.asm index 5acb742..450d9c1 100644 --- a/src/engine/home.asm +++ b/src/engine/home.asm @@ -1537,37 +1537,39 @@ UpdateRNGSources: ; 089b (0:089b) pop hl ret +; ld d, a ; de = wd4c4/5 + 5 +; ld b, $c0 ; b = c0 Func_08bf: ; 08bf (0:08bf) ld hl, wcad6 ld [hl], e inc hl - ld [hl], d + ld [hl], d ; load wcad6/7 with [wd4c4]+5 ld hl, wcad8 ld [hl], $1 - inc hl + inc hl ; wcad8 is 1, a bunch of things after it are 0 xor a ld [hli], a ld [hli], a ld [hli], a ld [hli], a - ld [hl], b + ld [hl], b ; then wcad i think is set to c0 inc hl - ld [hli], a - ld [hl], $ef + ld [hli], a ; 0 + ld [hl], $ef ; and ef ld h, b - ld l, $0 + ld l, $0 ; hl is now c000, first byte of wram, first card collection or no name xor a .asm_8d9 - ld [hl], a - inc l + ld [hl], a ; 0 out ff bytes + inc l ; inc the first ff bytes of wram (was an arg so could be other stuff) jr nz, .asm_8d9 ret Func_08de: ; 08de (0:08de) - push hl - push de + push hl ; wd23e + 40 i think? + push de ; 6 mdp bytes .asm_8e0 - push bc + push bc ; as of first run, bc is the width call Func_08ef ld [de], a inc de @@ -1584,7 +1586,7 @@ Func_08ef: ; 08ef (0:08ef) ld hl, wcadc ld a, [hl] or a - jr z, .asm_902 + jr z, .asm_902 ; for the purpose of this, we made it 0 earlier dec [hl] inc hl .asm_8f8 @@ -1603,9 +1605,9 @@ Func_08ef: ; 08ef (0:08ef) ld c, [hl] inc hl ld b, [hl] - inc hl - dec [hl] - inc hl + inc hl ; get pointer from wcad6/7 + dec [hl] ; dec wcad8 (was 1) + inc hl ; wcad9 jr nz, .asm_914 dec hl ld [hl], $8 @@ -11329,7 +11331,8 @@ Func_3be4: ; 3be4 (0:3be4) ret ; 0x3bf5 -Func_3bf5: ; 3bf5 (0:3bf5) +; Copies bc bytes from [wd4c4] to de +CopyBankedDataToDE: ; 3bf5 (0:3bf5) ldh a, [hBankROM] push af push hl -- cgit v1.2.3 From f3f374e6b7e26bc93c8428c8cb7b8c210223b2f4 Mon Sep 17 00:00:00 2001 From: Andrew Martinek Date: Mon, 23 Sep 2019 12:27:12 -0400 Subject: Fleshed out flags a lot --- src/engine/bank03.asm | 670 ++++++++++++++++++++++++++++++++++++++------------ src/engine/bank04.asm | 65 ++--- src/engine/bank07.asm | 17 +- src/engine/bank1c.asm | 4 +- src/engine/home.asm | 10 +- 5 files changed, 573 insertions(+), 193 deletions(-) (limited to 'src/engine') diff --git a/src/engine/bank03.asm b/src/engine/bank03.asm index e89bbfb..d7f3496 100644 --- a/src/engine/bank03.asm +++ b/src/engine/bank03.asm @@ -127,10 +127,10 @@ Func_c10a: ; c10a (3:410a) jp hl ; closes dialogue window. seems to be for other things as well. -CloseDialogueBox: ; c111 (3:4111) - ld a, [wd0c1] ; with 0 set i can't move cursors, can move around +CloseAdvancedDialogueBox: ; c111 (3:4111) + ld a, [wd0c1] bit 0, a - call nz, Func_c135 ; seems to actually close the dialog window + call nz, CloseTextBox ld a, [wd0c1] bit 1, a jr z, .asm_c12a @@ -144,11 +144,11 @@ CloseDialogueBox: ; c111 (3:4111) ld [wd0bf], a ret -; this seems to legitimately close the dialogue box -Func_c135: ; c135 (3:4135) +; redraws the background and removes textbox control +CloseTextBox: ; c135 (3:4135) push hl - farcall Func_80028 ; Draw background of the current room, I think - ld hl, wd0c1 ; at this point, the background tiles are back to normal + farcall Func_80028 + ld hl, wd0c1 res 0, [hl] pop hl ret @@ -971,7 +971,7 @@ Func_c74d: ; c74d (3:474d) push bc push de call MainMenu_c75a - call CloseDialogueBox + call CloseAdvancedDialogueBox pop de pop bc pop hl @@ -1088,11 +1088,11 @@ PC_c7ea: ; c7ea (3:47ea) call Func_c32b jr .asm_c801 .asm_c82f - call Func_c135 + call CloseTextBox call DoFrameIfLCDEnabled ldtx hl, TurnedPCOffText call Func_c891 - call CloseDialogueBox + call CloseAdvancedDialogueBox xor a ld [wd112], a call Func_39fc @@ -1109,7 +1109,7 @@ Func_c891: ; c891 (3:4891) ld hl, wd3b9 ld a, [hli] or [hl] - call nz, Func_c135 + call nz, CloseTextBox .asm_c8a1 xor a @@ -1142,7 +1142,7 @@ Func_c8ba: ; c8ba (3:48ba) jr z, .asm_c8d4 .asm_c8d1 - call Func_c135 + call CloseTextBox .asm_c8d4 ld hl, wd3b9 @@ -1412,19 +1412,22 @@ Func_ca0e: ; ca0e (3:4a0e) Func_ca69: ; ca69 (3:4a69) call Func_cab3 -CheckIfEventFlagSet: ; ca6c (3:4a6c) + +; returns the event flag's value in a +; also ors it with itself before returning +GetEventFlagValue: ; ca6c (3:4a6c) push hl push bc - call GetEventFlagMod + call GetEventFlag ld c, [hl] - ld a, [wd3d1] -.asm_ca75 + ld a, [wLoadedFlagBits] +.shiftLoop bit 0, a - jr nz, .asm_ca7f + jr nz, .lsbReached srl a srl c - jr .asm_ca75 -.asm_ca7f + jr .shiftLoop +.lsbReached and c pop bc pop hl @@ -1437,12 +1440,13 @@ CheckIfEventFlagSet: ; ca6c (3:4a6c) Func_ca8f: ; ca8f (3:4a8f) call Func_cab3 -; a - pointer on table for cb1d, c - set or reset control bit -ModifyEventFlags: ; ca92 (3:4a92) +; a - flag +; c - value - truncated to fit only the flag's bounds +SetEventFlagValue: ; ca92 (3:4a92) push hl push bc - call GetEventFlagMod - ld a, [wd3d1] + call GetEventFlag + ld a, [wLoadedFlagBits] .asm_ca9a bit 0, a jr nz, .asm_caa4 @@ -1450,10 +1454,10 @@ ModifyEventFlags: ; ca92 (3:4a92) sla c jr .asm_ca9a .asm_caa4 - ld a, [wd3d1] + ld a, [wLoadedFlagBits] and c ld c, a - ld a, [wd3d1] + ld a, [wLoadedFlagBits] cpl and [hl] or c @@ -1481,20 +1485,20 @@ Func_cab3: ; cab3 (3:4ab3) INCROM $cac2, $cac5 -SetEventFlags: ; cac5 (3:4ac5) +MaxOutEventFlag: ; cac5 (3:4ac5) push bc ld c, $ff - call ModifyEventFlags + call SetEventFlagValue pop bc ret ; 0xcacd INCROM $cacd, $cad0 -Func_cad0: ; cad0 (3:4ad0) +ZeroOutEventFlag: ; cad0 (3:4ad0) push bc ld c, $0 - call ModifyEventFlags + call SetEventFlagValue pop bc ret @@ -1505,7 +1509,7 @@ Func_cad8: ; cad8 (3:4ad8) ld bc, $0008 .asm_cae0 ld a, [hli] - call CheckIfEventFlagSet + call GetEventFlagValue jr z, .asm_cae7 inc b @@ -1545,7 +1549,8 @@ Func_cad8: ; cad8 (3:4ad8) INCROM $cb15, $cb1d -GetEventFlagMod: ; cb1d (3:4b1d) +; returns wEventFlags byte in hl, related bits in wLoadedFlagBits +GetEventFlag: ; cb1d (3:4b1d) push bc ld c, a ld b, $0 @@ -1556,7 +1561,7 @@ GetEventFlagMod: ; cb1d (3:4b1d) ld a, [hli] ld c, a ld a, [hl] - ld [wd3d1], a + ld [wLoadedFlagBits], a ld b, $0 ld hl, wEventFlags add hl, bc @@ -1565,7 +1570,61 @@ GetEventFlagMod: ; cb1d (3:4b1d) ; offset - bytes to set or reset EventFlagMods: ; cb37 (3:4b37) - INCROM $cb37, $cc32 + const_def + flag_def EVENT_FLAG_00, $3f, %10000000 + flag_def EVENT_FLAG_01, $3f, %01000000 + flag_def EVENT_FLAG_02, $3f, %00100000 + flag_def EVENT_FLAG_03, $3f, %00010000 + flag_def EVENT_FLAG_04, $3f, %00001000 + flag_def EVENT_FLAG_05, $3f, %00000100 + flag_def EVENT_FLAG_06, $3f, %00000010 + flag_def EVENT_FLAG_07, $3f, %00000001 + flag_def EVENT_FLAG_08, $00, %10000000 + flag_def EVENT_FLAG_09, $00, %01000000 + flag_def EVENT_FLAG_0A, $00, %00100000 + flag_def EVENT_BEAT_AMY, $00, %00010000 + flag_def EVENT_FLAG_0C, $00, %00001000 + flag_def EVENT_FLAG_0D, $00, %00000100 + flag_def EVENT_FLAG_0E, $00, %00000010 + flag_def EVENT_FLAG_0F, $00, %00000001 + flag_def EVENT_FLAG_10, $00, %11111111 + flag_def EVENT_FLAG_11, $01, %11110000 + flag_def EVENT_FLAG_12, $01, %00001111 + flag_def EVENT_FLAG_13, $02, %11000000 + flag_def EVENT_FLAG_14, $02, %00110000 + flag_def EVENT_BEAT_SARA, $02, %00001000 + flag_def EVENT_BEAT_AMANDA, $02, %00000100 + flag_def EVENT_FLAG_17, $03, %11110000 + flag_def EVENT_FLAG_18, $03, %00001111 + flag_def EVENT_FLAG_19, $04, %11110000 + flag_def EVENT_FLAG_1A, $04, %00001111 + flag_def EVENT_FLAG_1B, $05, %10000000 + flag_def EVENT_FLAG_1C, $05, %01000000 + flag_def EVENT_FLAG_1D, $05, %00100000 + flag_def EVENT_FLAG_1E, $05, %00010000 + flag_def EVENT_FLAG_1F, $05, %00001111 + flag_def EVENT_FLAG_20, $06, %11110000 + flag_def EVENT_FLAG_21, $06, %00001100 + flag_def EVENT_FLAG_22, $06, %00000010 + flag_def EVENT_FLAG_23, $06, %00000001 + flag_def EVENT_FLAG_24, $07, %11000000 + flag_def EVENT_FLAG_25, $07, %00100000 + flag_def EVENT_FLAG_26, $07, %00010000 + flag_def EVENT_FLAG_27, $07, %00001000 + flag_def EVENT_FLAG_28, $07, %00000100 + flag_def EVENT_FLAG_29, $07, %00000010 + flag_def EVENT_FLAG_2A, $07, %00000001 + flag_def EVENT_FLAG_2B, $08, %11111111 + flag_def EVENT_FLAG_2C, $09, %11100000 + flag_def EVENT_FLAG_2D, $09, %00011111 + flag_def EVENT_FLAG_2E, $0a, %11110000 + flag_def EVENT_FLAG_2F, $0a, %00001000 + flag_def EVENT_FLAG_30, $0a, %00000100 + flag_def EVENT_FLAG_31, $0a, %00000011 + flag_def EVENT_FLAG_32, $0b, %10000000 + flag_def EVENT_JOSHUA_STATE, $0b, %01110000 + + INCROM $cb9f, $cc32 Func_cc32: ; cc32 (3:4c32) push hl @@ -1669,14 +1728,14 @@ GetOWSArgsAfterPointer: ; cca0 (3:4ca0) or b ret -Func_ccb3: ; ccb3 (3:4cb3) +SetScriptControlBytePass: ; ccb3 (3:4cb3) ld a, $ff - ld [wd415], a + ld [wScriptControlByte], a ret -Func_ccb9: ; ccb9 (3:4cb9) +SetScriptControlByteFail: ; ccb9 (3:4cb9) xor a - ld [wd415], a + ld [wScriptControlByte], a ret OWScript_EndScriptLoop1: ; ccbe (3:4cbe) @@ -1693,12 +1752,12 @@ OWScript_EndScriptLoop10: ; ccbe (3:4cbe) ld [wBreakOWScriptLoop], a jp IncreaseOWScriptPointerBy1 -OWScript_CloseTextBox: ; ccc6 (3:4cc6) - call CloseDialogueBox +OWScript_CloseAdvancedTextBox: ; ccc6 (3:4cc6) + call CloseAdvancedDialogueBox jp IncreaseOWScriptPointerBy1 OWScript_EndScriptCloseText: ; cccc (3:4ccc) - call OWScript_CloseTextBox + call OWScript_CloseAdvancedTextBox call OWScript_EndScriptLoop1 pop hl ret @@ -1726,7 +1785,7 @@ OWScript_AskQuestionJump: ; cce9 (3:4ce9) ld h, b call Func_c8ed ld a, [hCurMenuItem] - ld [wd415], a + ld [wScriptControlByte], a jr c, .asm_ccfe call GetOWSArgs3AfterPointer jr z, .asm_ccfe @@ -1802,12 +1861,13 @@ Func_cd76: ; cd76 (3:4d76) set 6, [hl] jp IncreaseOWScriptPointerBy1 -Func_cd83: ; cd83 (3:4d83) - ld a, [wd415] +; prints text arg 1 or arg 2 depending on wScriptControlByte. +OWScript_PrintVariableText: ; cd83 (3:4d83) + ld a, [wScriptControlByte] or a - jr nz, .asm_cd8c + jr nz, .printText call GetOWSArgs3AfterPointer -.asm_cd8c +.printText ld l, c ld h, b call Func_cc32 @@ -1828,7 +1888,7 @@ Unknown_cd98: jp IncreaseOWScriptPointerBy7 Func_cda8: ; cda8 (3:4da8) - ld a, [wd415] + ld a, [wScriptControlByte] or a jr nz, .asm_cdb1 call GetOWSArgs3AfterPointer @@ -1842,7 +1902,7 @@ OWScript_PrintTextCloseBox: ; cdb9 (3:4db9) ld l, c ld h, b call Func_cc32 - call CloseDialogueBox + call CloseAdvancedDialogueBox ld a, $1 ld [wBreakOWScriptLoop], a call IncreaseOWScriptPointerBy3 @@ -1950,8 +2010,8 @@ Func_ce6f: ; ce6f (3:4e6f) pop af jr asm_ce5d -Func_ce84: ; ce84 (3:4e84) - call Func_c135 +OWScript_CloseTextBox: ; ce84 (3:4e84) + call CloseTextBox jp IncreaseOWScriptPointerBy1 ; args: booster pack index, booster pack index, booster pack index @@ -2041,11 +2101,11 @@ asm_cf16 jr nz, asm_cf1f asm_cf19 - call Func_ccb9 + call SetScriptControlByteFail jp IncreaseOWScriptPointerBy4 asm_cf1f - call Func_ccb3 + call SetScriptControlBytePass call GetOWSArgs2AfterPointer jr z, asm_cf2a jp SetOWScriptPointer @@ -2099,11 +2159,11 @@ Func_cf53: ; cf53 (3:4f53) or a jr nz, Func_cf6d Func_cf67: ; cf67 (3:4f67) - call Func_ccb9 + call SetScriptControlByteFail jp IncreaseOWScriptPointerBy3 Func_cf6d: ; cf6d (3:4f6d) - call Func_ccb3 + call SetScriptControlBytePass call GetOWSArgs1AfterPointer jr z, .asm_cf78 jp SetOWScriptPointer @@ -2249,7 +2309,7 @@ Func_d03f: ; d03f (3:503f) call RemoveCardFromCollection jp IncreaseOWScriptPointerBy1 -OWScript_ScriptJump: ; d049 (3:5049) +OWScript_Jump: ; d049 (3:5049) call GetOWSArgs1AfterPointer jp SetOWScriptPointer @@ -2285,6 +2345,8 @@ OWScript_SetDialogName: ; d080 (3:5080) farcall SetNPCDialogName jp IncreaseOWScriptPointerBy2 +; Calls another OWSequence with a specified NPC +; Not confident enough to give it a name yet Func_d088: ; d088 (3:5088) ld a, c ld [wd3ab], a @@ -2341,20 +2403,20 @@ Func_d0d9: ; d0d9 (3:50d9) farcall Func_1c477 ld a, e cp c - jp nz, Func_d48a + jp nz, ScriptEventFailedNoJump ld a, d cp b - jp nz, Func_d48a - jp Func_d490 + jp nz, ScriptEventFailedNoJump + jp ScriptEventPassedTryJump Func_d0f2: ; d0f2 (3:50f2) ld a, [wPlayerXCoord] cp c - jp nz, Func_d48a + jp nz, ScriptEventFailedNoJump ld a, [wPlayerYCoord] cp b - jp nz, Func_d48a - jp Func_d490 + jp nz, ScriptEventFailedNoJump + jp ScriptEventPassedTryJump Func_d103: ; d103 (3:5103) ld a, [wd3aa] @@ -2507,7 +2569,7 @@ Func_d209: ; d209 (3:5209) ld hl, $5240 add hl, bc ld a, [hl] - call SetEventFlags + call MaxOutEventFlag pop bc ld hl, $5234 ld a, c @@ -2726,9 +2788,9 @@ Func_d3b9: ; d3b9 (3:53b9) set 6, [hl] jp IncreaseOWScriptPointerBy1 -Func_d3c9: ; d3c9 (3:53c9) +OWScript_GivePCPack: ; d3c9 (3:53c9) ld a, c - farcall Func_10a70 + farcall GivePCPack jp IncreaseOWScriptPointerBy2 Func_d3d1: ; d3d1 (3:53d1) @@ -2803,119 +2865,126 @@ Func_d43d: ; d43d (3:543d) set 6, [hl] jp IncreaseOWScriptPointerBy1 -OWScript_CustomModifyEventFlags: ; d44a (3:544a) +; sets the event flag in arg 1 to the value in arg 2 +OWScript_SetFlagValue: ; d44a (3:544a) ld a, c ld c, b - call ModifyEventFlags + call SetEventFlagValue jp IncreaseOWScriptPointerBy3 -Func_d452: ; d452 (3:5452) +OWScript_IncrementFlagValue: ; d452 (3:5452) ld a, c push af - call CheckIfEventFlagSet + call GetEventFlagValue inc a ld c, a pop af - call ModifyEventFlags + call SetEventFlagValue jp IncreaseOWScriptPointerBy2 -Func_d460: ; d460 (3:5460) +OWScript_JumpIfFlagZero1: ; d460 (3:5460) ld a, c - call CheckIfEventFlagSet + call GetEventFlagValue or a - jr z, asm_d46d -asm_d467 - call Func_ccb9 + jr z, OWScript_JumpIfFlagZero1.passTryJump + +.fail + call SetScriptControlByteFail ; 0 out wScriptControlByte jp IncreaseOWScriptPointerBy4 -asm_d46d - call Func_ccb3 +.passTryJump + call SetScriptControlBytePass ; ff wScriptControlByte call GetOWSArgs2AfterPointer - jr z, .asm_d478 + jr z, .noJumpTarget jp SetOWScriptPointer -.asm_d478 +.noJumpTarget jp IncreaseOWScriptPointerBy4 -OWScript_JumpIfFlagSet: ; d47b (3:547b) +OWScript_JumpIfFlagNonzero1: ; d47b (3:547b) ld a, c - call CheckIfEventFlagSet + call GetEventFlagValue or a - jr nz, asm_d46d - jr asm_d467 + jr nz, OWScript_JumpIfFlagZero1.passTryJump + jr OWScript_JumpIfFlagZero1.fail -Func_d484: ; d484 (3:5484) - call Func_d4b6 +; args - event flag, value, jump address +OWScript_JumpIfFlagEqual: ; d484 (3:5484) + call GetEventFlagValueBC cp c - jr z, Func_d490 + jr z, ScriptEventPassedTryJump -Func_d48a: ; d48a (3:548a) - call Func_ccb9 +ScriptEventFailedNoJump ; d48a (3:548a) + call SetScriptControlByteFail jp IncreaseOWScriptPointerBy5 -Func_d490: ; d490 (3:5490) - call Func_ccb3 +ScriptEventPassedTryJump ; d490 (3:5490) + call SetScriptControlBytePass call GetOWSArgs3AfterPointer - jr z, .asm_d49b + jr z, .noJumpAddress jp SetOWScriptPointer -.asm_d49b +.noJumpAddress jp IncreaseOWScriptPointerBy5 -Func_d49e: ; d49e (3:549e) - call Func_d4b6 +OWScript_JumpIfFlagNotEqual: ; d49e (3:549e) + call GetEventFlagValueBC cp c - jr nz, Func_d490 - jr Func_d48a + jr nz, ScriptEventPassedTryJump + jr ScriptEventFailedNoJump -Func_d4a6: ; d4a6 (3:54a6) - call Func_d4b6 +OWScript_JumpIfFlagNotLessThan: ; d4a6 (3:54a6) + call GetEventFlagValueBC cp c - jr nc, Func_d490 - jr Func_d48a + jr nc, ScriptEventPassedTryJump + jr ScriptEventFailedNoJump -Func_d4ae: ; d4ae (3:54ae) - call Func_d4b6 +OWScript_JumpIfFlagLessThan: ; d4ae (3:54ae) + call GetEventFlagValueBC cp c - jr c, Func_d490 ; 0xd4b2 $dc - jr Func_d48a ; 0xd4b4 $d4 + jr c, ScriptEventPassedTryJump + jr ScriptEventFailedNoJump -Func_d4b6: ; d4b6 (3:54b6) +; Gets event flag at c (OWScript defaults) +; c takes on the value of b as a side effect +GetEventFlagValueBC: ; d4b6 (3:54b6) ld a, c ld c, b - call CheckIfEventFlagSet + call GetEventFlagValue ret -OWScript_SetEventFlags: ; d4bc (3:54bc) +OWScript_MaxOutFlagValue: ; d4bc (3:54bc) ld a, c - call SetEventFlags + call MaxOutEventFlag jp IncreaseOWScriptPointerBy2 -Func_d4c3: ; d4c3 (3:54c3) +OWScript_ZeroOutFlagValue: ; d4c3 (3:54c3) ld a, c - call Func_cad0 + call ZeroOutEventFlag jp IncreaseOWScriptPointerBy2 -Func_d4ca: ; d4ca (3:54ca) +OWScript_JumpIfFlagNonzero2: ; d4ca (3:54ca) ld a, c - call CheckIfEventFlagSet + call GetEventFlagValue or a - jr z, asm_d4e6 -Func_d4d1: - call Func_ccb3 + jr z, OWScript_JumpIfFlagZero2.fail + +.passTryJump: + call SetScriptControlBytePass call GetOWSArgs2AfterPointer - jr z, .asm_d4dc + jr z, .noJumpArgs jp SetOWScriptPointer -.asm_d4dc +.noJumpArgs jp IncreaseOWScriptPointerBy4 -OWScript_JumpIfFlagNotSet: +OWScript_JumpIfFlagZero2: ld a, c - call CheckIfEventFlagSet + call GetEventFlagValue or a - jr z, Func_d4d1 -asm_d4e6 - call Func_ccb9 + jr z, OWScript_JumpIfFlagNonzero2.passTryJump + +.fail + call SetScriptControlByteFail jp IncreaseOWScriptPointerBy4 ; 0xd4ec @@ -2970,9 +3039,9 @@ OWSequence_d753: ; d753 (3:5753) db $02 run_script OWScript_PrintTextString tx Text05e3 - run_script OWScript_CloseTextBox - run_script Func_d088 ; run OWSequence with given npc (ID corresponds to a row in the wd34a table, i dont know why they correspond to what number though) - db $07 + run_script OWScript_CloseAdvancedTextBox + run_script Func_d088 + db SAM dw OWSequence_d779 run_script OWScript_EndScriptLoop1 ret @@ -2988,7 +3057,7 @@ OWSequence_d779: ; d779 (03:5779) db DRMASON run_script OWScript_PrintTextString tx Text05e5 - run_script Func_ce84 + run_script OWScript_CloseTextBox run_script Func_ce4a db $82 db $58 @@ -2996,7 +3065,7 @@ OWSequence_d779: ; d779 (03:5779) db $01 run_script Func_d055 db $03 - run_script OWScript_CloseTextBox + run_script OWScript_CloseAdvancedTextBox run_script Func_d088 db $01 db $94 @@ -3024,21 +3093,25 @@ WaterClubAfterDuel: ;e157 (3:6157) ret .after_duel_table - dw $1f1f + db SARA + db SARA dw OWSequence_BeatSara dw OWSequence_LostToSara - dw $2020 + db AMANDA + db AMANDA dw OWSequence_BeatAmanda dw OWSequence_LostToAmanda - dw $2121 - dw $626c - dw $6260 + db JOSHUA + db JOSHUA + dw OWSequence_BeatJoshua + dw OWSequence_LostToJoshua - dw $2222 - dw $6322 - dw $6344 + db AMY + db AMY + dw OWSequence_BeatAmy + dw OWSequence_LostToAmy db $00 OWSequence_Sara: ; e177 (3:6177) @@ -3055,14 +3128,14 @@ OWSequence_Sara: ; e177 (3:6177) run_script OWScript_PrintTextString tx Text042f run_script OWScript_StartBattle - db 2 + db PRIZES_2 db WATERFRONT_POKEMON_DECK_ID ; 6189 db MUSIC_DUEL_THEME_1 run_script OWScript_EndScriptCloseText OWSequence_BeatSara: ; e18c (3:618c) start_script - run_script OWScript_SetEventFlags + run_script OWScript_MaxOutFlagValue db EVENT_BEAT_SARA run_script OWScript_PrintTextString tx Text0430 @@ -3093,14 +3166,14 @@ OWSequence_Amanda: ; e19e (03:619e) run_script OWScript_PrintTextString tx Text0436 run_script OWScript_StartBattle - db 03 + db PRIZES_3 db LONELY_FRIENDS_DECK_ID db MUSIC_DUEL_THEME_1 run_script OWScript_EndScriptCloseText OWSequence_BeatAmanda: ; e1b3 (03:61b3) start_script - run_script OWScript_SetEventFlags + run_script OWScript_MaxOutFlagValue db EVENT_BEAT_AMANDA run_script OWScript_PrintTextString tx Text0437 @@ -3118,41 +3191,332 @@ OWSequence_LostToAmanda: ; e1c1 (03:61c1) tx Text0439 OWSequence_NotReadyToSeeAmy: - INCROM $e1c5, $e21c + start_script + run_script Func_d0f2 + db $12 + db $08 + dw $61ec + run_script Func_d0f2 + db $14 + db $08 + dw $61f2 + run_script Func_d0f2 + db $18 + db $08 + dw $61f8 + run_script OWScript_MovePlayer + db $02 + db $04 + run_script Func_ce4a + db $13 + db $62 + run_script OWScript_PrintTextString + tx Text043a + run_script Func_d0f2 + db $12 + db $0a + dw $61fe + run_script Func_d0f2 + db $14 + db $0a + dw $6202 + run_script Func_ce4a + db $15 + db $62 + run_script OWScript_EndScriptCloseText + +.ows_e1ec + run_script Func_ce4a + db $06 + db $62 + run_script OWScript_Jump + dw $61d5 + run_script Func_ce4a + db $0b + db $62 + run_script OWScript_Jump + dw $61d5 + run_script Func_ce4a + db $0f + db $62 + run_script OWScript_Jump + dw $61d5 + run_script Func_ce4a + db $18 + db $62 + run_script OWScript_EndScriptCloseText +; 0xe202 + + INCROM $e202, $e21c OWSequence_Joshua: start_script - run_script OWScript_JumpIfFlagNotSet + run_script OWScript_JumpIfFlagZero2 db EVENT_BEAT_AMANDA dw .sara_and_amanda_not_beaten - run_script OWScript_JumpIfFlagNotSet + run_script OWScript_JumpIfFlagZero2 db EVENT_BEAT_SARA dw .sara_and_amanda_not_beaten - run_script OWScript_ScriptJump + run_script OWScript_Jump dw .beat_sara_and_amanda .sara_and_amanda_not_beaten - run_script OWScript_CustomModifyEventFlags - db $33 ; offset on flagmod table - db $01 ; the control bit + run_script OWScript_SetFlagValue + db EVENT_JOSHUA_STATE + db JOSHUA_TALKED run_script OWScript_PrintTextString tx Text043b run_script OWScript_EndScriptCloseText + .beat_sara_and_amanda - run_script OWScript_JumpIfFlagSet - db $33 - dw $623c - run_script OWScript_CustomModifyEventFlags - db $33 - db $01 + run_script OWScript_JumpIfFlagNonzero1 + db EVENT_JOSHUA_STATE + dw .already_talked + run_script OWScript_SetFlagValue + db EVENT_JOSHUA_STATE + db JOSHUA_TALKED run_script OWScript_PrintTextString tx Text043b run_script OWScript_PrintTextString tx Text043c - run_script Func_d484 - db $33 +.already_talked + run_script OWScript_JumpIfFlagEqual + db EVENT_JOSHUA_STATE + db JOSHUA_TALKED + dw NO_JUMP + run_script OWScript_PrintVariableText + tx Text043d + tx Text043e + run_script OWScript_AskQuestionJump + tx Text043f + dw .startDuel + run_script OWScript_JumpIfFlagEqual + db EVENT_JOSHUA_STATE + db JOSHUA_TALKED + dw NO_JUMP + run_script OWScript_PrintVariableText + tx Text0440 + tx Text0441 + run_script OWScript_EndScriptCloseText + +.startDuel: + run_script OWScript_PrintTextString + tx Text0442 + run_script OWScript_GivePCPack + db $04 + run_script OWScript_StartBattle + db PRIZES_4 + db SOUND_OF_THE_WAVES_DECK_ID + db MUSIC_DUEL_THEME_1 + run_script OWScript_EndScriptCloseText + +OWSequence_LostToJoshua: ; e260 (3:6260) + start_script + run_script OWScript_JumpIfFlagEqual + db EVENT_JOSHUA_STATE + db JOSHUA_TALKED + dw NO_JUMP + run_script OWScript_PrintVariableText + tx Text0443 + tx Text0444 + run_script OWScript_EndScriptCloseText + +OWSequence_BeatJoshua: ; e26c (3:626c) + start_script + run_script OWScript_JumpIfFlagEqual + db EVENT_JOSHUA_STATE + db JOSHUA_TALKED + dw NO_JUMP + run_script OWScript_PrintVariableText + tx Text0445 + tx Text0446 + run_script OWScript_GiveBoosterPacks + db BOOSTER_MYSTERY_WATER_COLORLESS + db BOOSTER_MYSTERY_WATER_COLORLESS + db NO_BOOSTER + run_script OWScript_JumpIfFlagEqual + db EVENT_JOSHUA_STATE + db JOSHUA_TALKED + dw NO_JUMP + run_script OWScript_PrintVariableText + tx Text0447 + tx Text0448 + run_script OWScript_JumpIfFlagNotEqual + db EVENT_JOSHUA_STATE + db JOSHUA_BEATEN + dw .firstJoshuaWin + run_script OWScript_EndScriptCloseText + +.firstJoshuaWin: + run_script OWScript_SetFlagValue + db EVENT_JOSHUA_STATE + db JOSHUA_BEATEN + run_script OWScript_PrintTextString + tx Text0449 + run_script OWScript_CloseTextBox + run_script Func_ce26 + dw $62a1 + run_script OWScript_PrintTextString + tx Text044a + run_script Func_cfc6 + db $00 + run_script OWScript_CloseAdvancedTextBox + run_script Func_d088 + db AMY + dw OWSequence_MeetAmy + run_script OWScript_EndScriptLoop1 +; 0xe2a0 + + INCROM $e2a0, $e2d1 + +OWSequence_MeetAmy: ; e2d1 (3:62d1) + start_script + run_script OWScript_PrintTextString + tx Text044b + run_script OWScript_SetDialogName + db JOSHUA + run_script OWScript_PrintTextString + tx Text044c + run_script OWScript_SetDialogName + db AMY + run_script OWScript_PrintTextString + tx Text044d + run_script OWScript_CloseTextBox + run_script Func_d095 + db $09 + db $2f + db $10 + run_script OWScript_DoFrames + db $20 + run_script Func_d095 + db $04 + db $0e + db $00 + run_script Func_d0be + db $14 + db $04 + run_script Func_d055 + db $03 + run_script OWScript_MovePlayer + db $03 db $01 + run_script Func_d055 + db $00 + run_script OWScript_MovePlayer + db $00 + db $01 + run_script OWScript_MovePlayer + db $00 + db $01 + run_script Func_ce6f + db $21 + db $ab + db $62 + run_script OWScript_PrintTextString + tx Text044e + run_script OWScript_Jump + dw OWSequence_Amy.askConfirmDuel + +OWSequence_Amy: ; e304 (3:6304) + start_script + run_script OWScript_JumpIfFlagNonzero2 + db EVENT_BEAT_AMY + dw OWJump_TalkToAmyAgain + run_script OWScript_PrintTextString + tx Text044f +.askConfirmDuel + run_script OWScript_AskQuestionJump + tx Text0450 + dw .startDuel + +.denyDuel + run_script OWScript_PrintTextString + tx Text0451 + run_script Func_d0d9 + db $14 + db $04 + dw OWSequence_LostToAmy.ows_e34e + run_script OWScript_EndScriptCloseText + +.startDuel + run_script OWScript_PrintTextString + tx Text0452 + run_script OWScript_StartBattle + db PRIZES_6 + db GO_GO_RAIN_DANCE_DECK_ID + db MUSIC_DUEL_THEME_2 + run_script OWScript_EndScriptCloseText + +OWSequence_BeatAmy: ; e322 (3:6322) + start_script + run_script OWScript_PrintTextString + tx Text0453 + run_script OWScript_JumpIfFlagNonzero2 + db EVENT_BEAT_AMY + dw .beatAmyCommon + run_script OWScript_PrintTextString + tx Text0454 + run_script OWScript_MaxOutFlagValue + db EVENT_BEAT_AMY + run_script Func_d04f + run_script Func_d125 + db EVENT_BEAT_AMY + run_script Func_d435 + db $03 + run_script OWScript_PrintTextString + tx Text0455 +.beatAmyCommon + run_script OWScript_GiveBoosterPacks + db BOOSTER_LABORATORY_WATER + db BOOSTER_LABORATORY_WATER + db NO_BOOSTER + run_script OWScript_PrintTextString + tx Text0456 + run_script Func_d0d9 + db $14 + db $04 + dw OWSequence_LostToAmy.ows_e34e + run_script OWScript_EndScriptCloseText + +OWSequence_LostToAmy: ; e344 (3:6344) + start_script + run_script OWScript_PrintTextString + tx Text0457 + run_script Func_d0d9 + db $14 + db $04 + dw .ows_e34e + run_script OWScript_EndScriptCloseText + +.ows_e34e + run_script Func_d095 + db $08 + db $2e + db $10 + run_script Func_d0be + db $16 + db $04 + run_script OWScript_EndScriptCloseText + +OWJump_TalkToAmyAgain: ; e356 (3:6356) + run_script OWScript_PrintTextString + tx Text0458 + run_script OWScript_AskQuestionJump + tx Text0450 + dw .startDuel + run_script OWScript_Jump + dw OWSequence_Amy.denyDuel + +.startDuel + run_script OWScript_PrintTextString + tx Text0459 + run_script OWScript_StartBattle + db PRIZES_6 + db GO_GO_RAIN_DANCE_DECK_ID + db MUSIC_DUEL_THEME_2 + run_script OWScript_EndScriptCloseText +; 0xe369 - INCROM $e23f, $e52c + INCROM $e369, $e52c FindEndOfBattleScript: ; e52c (3:652c) ld c, $0 diff --git a/src/engine/bank04.asm b/src/engine/bank04.asm index 2ebb399..0c91398 100644 --- a/src/engine/bank04.asm +++ b/src/engine/bank04.asm @@ -239,38 +239,39 @@ Func_10548: ; 10548 (4:4548) Func_10756: ; 10756 (4:4756) INCROM $10756, $10a70 -Func_10a70: ; 10a70 (4:4a70) +; gives the pc pack described in a +GivePCPack: ; 10a70 (4:4a70) push hl push bc push de ld b, a - ld c, $f + ld c, $f ; number of packs possible ld hl, wPCPacks -.asm_10a79 +.searchLoop1 ld a, [hli] and $7f cp b - jr z, .asm_10a97 + jr z, .quit dec c - jr nz, .asm_10a79 + jr nz, .searchLoop1 ld c, $f ld hl, wPCPacks -.asm_10a87 +.findFreeSlotLoop ld a, [hl] and $7f - jr z, .asm_10a93 + jr z, .foundFreeSlot inc hl dec c - jr nz, .asm_10a87 + jr nz, .findFreeSlotLoop debug_ret - jr .asm_10a97 + jr .quit -.asm_10a93 +.foundFreeSlot ld a, b - or $80 + or $80 ; mark pack as unopened ld [hl], a -.asm_10a97 +.quit pop de pop bc pop hl @@ -332,7 +333,7 @@ Func_10dba: ; 10dba (4:4dba) push af ld hl, $4df0 call JumpToFunctionInTable - farcall Func_c135 + farcall CloseTextBox call DoFrameIfLCDEnabled pop af ret @@ -457,7 +458,7 @@ Func_10f4a: ; 10f4a (4:4f4a) jr nz, .asm_10f5f ld c, a ld a, $1e - farcall CheckIfEventFlagSet + farcall GetEventFlagValue or a ld a, c jr nz, .asm_10f5f @@ -530,7 +531,7 @@ Func_10fde: ; 10fde (4:4fde) ld [wd33c], a call Func_12ab5 ld a, $3e - farcall CheckIfEventFlagSet + farcall GetEventFlagValue or a jr nz, .asm_11015 ld c, SPRITE_ANIM_FIELD_0F @@ -969,17 +970,17 @@ Func_11f4e: ; 11f4e (4:5f4e) OverworldScriptTable: ; 1217b (4:617b) dw OWScript_EndScriptLoop1 - dw OWScript_CloseTextBox + dw OWScript_CloseAdvancedTextBox dw OWScript_PrintTextString dw Func_ccdc dw OWScript_AskQuestionJump dw OWScript_StartBattle - dw Func_cd83 + dw OWScript_PrintVariableText dw Func_cda8 dw OWScript_PrintTextCloseBox dw Func_cdcb dw Func_ce26 - dw Func_ce84 + dw OWScript_CloseTextBox dw OWScript_GiveBoosterPacks dw Func_cf0c dw Func_cf12 @@ -995,7 +996,7 @@ OverworldScriptTable: ; 1217b (4:617b) dw Func_d025 dw Func_d032 dw Func_d03f - dw OWScript_ScriptJump + dw OWScript_Jump dw Func_d04f dw Func_d055 dw OWScript_MovePlayer @@ -1034,7 +1035,7 @@ OverworldScriptTable: ; 1217b (4:617b) dw Func_cd76 dw Func_d39d dw Func_d3b9 - dw Func_d3c9 + dw OWScript_GivePCPack dw Func_d3d1 dw Func_d3d4 dw Func_d3e0 @@ -1056,18 +1057,18 @@ OverworldScriptTable: ; 1217b (4:617b) dw OWScript_EndScriptLoop4 dw OWScript_EndScriptLoop5 dw OWScript_EndScriptLoop6 - dw OWScript_CustomModifyEventFlags - dw Func_d460 - dw OWScript_JumpIfFlagSet - dw Func_d484 - dw Func_d49e - dw Func_d4a6 - dw Func_d4ae - dw OWScript_SetEventFlags - dw Func_d4c3 - dw Func_d4ca - dw OWScript_JumpIfFlagNotSet - dw Func_d452 + dw OWScript_SetFlagValue + dw OWScript_JumpIfFlagZero1 + dw OWScript_JumpIfFlagNonzero1 + dw OWScript_JumpIfFlagEqual + dw OWScript_JumpIfFlagNotEqual + dw OWScript_JumpIfFlagNotLessThan + dw OWScript_JumpIfFlagLessThan + dw OWScript_MaxOutFlagValue + dw OWScript_ZeroOutFlagValue + dw OWScript_JumpIfFlagNonzero2 + dw OWScript_JumpIfFlagZero2 + dw OWScript_IncrementFlagValue dw OWScript_EndScriptLoop7 dw OWScript_EndScriptLoop8 dw OWScript_EndScriptLoop9 diff --git a/src/engine/bank07.asm b/src/engine/bank07.asm index ecc281d..25534f1 100644 --- a/src/engine/bank07.asm +++ b/src/engine/bank07.asm @@ -256,7 +256,22 @@ Func_1c58e: ; 1c58e (7:458e) INCROM $1c5b9, $1c5e9 Func_1c5e9: ; 1c5e9 (7:45e9) - INCROM $1c5e9, $1c610 + push hl + push bc + ld a, [wd3aa] + ld l, $07 + call Func_39ad + ld a, [hl] + ld bc, $fffd + add hl, bc + ld [hl], a + call Func_1c58e + pop bc + pop hl + ret +; 0x1c5ff + + INCROM $1c5ff, $1c610 Func_1c610: ; 1c610 (7:4610) INCROM $1c610, $1c6f8 diff --git a/src/engine/bank1c.asm b/src/engine/bank1c.asm index 7b5cbc5..7fa5bf4 100644 --- a/src/engine/bank1c.asm +++ b/src/engine/bank1c.asm @@ -4,7 +4,7 @@ Func_70000: ; 70000 (1c:4000) ret nz ld b, $1 ld a, $22 - farcall CheckIfEventFlagSet + farcall GetEventFlagValue or a jr z, .asm_70013 ld b, $2 @@ -294,7 +294,7 @@ Func_70214: ; 70214 (1c:4214) ret nz ld hl, Unknown_7024a ld a, $10 - farcall CheckIfEventFlagSet + farcall GetEventFlagValue ld c, $8 .asm_70227 push bc diff --git a/src/engine/home.asm b/src/engine/home.asm index 450d9c1..62eaa62 100644 --- a/src/engine/home.asm +++ b/src/engine/home.asm @@ -1586,7 +1586,7 @@ Func_08ef: ; 08ef (0:08ef) ld hl, wcadc ld a, [hl] or a - jr z, .asm_902 ; for the purpose of this, we made it 0 earlier + jr z, .asm_902 dec [hl] inc hl .asm_8f8 @@ -1605,9 +1605,9 @@ Func_08ef: ; 08ef (0:08ef) ld c, [hl] inc hl ld b, [hl] - inc hl ; get pointer from wcad6/7 - dec [hl] ; dec wcad8 (was 1) - inc hl ; wcad9 + inc hl + dec [hl] + inc hl jr nz, .asm_914 dec hl ld [hl], $8 @@ -10803,7 +10803,7 @@ GameEvent_Credits: ; 3911 (0:3911) Func_3917: ; 3917 (0:3917) ld a, $22 - farcall CheckIfEventFlagSet + farcall GetEventFlagValue call EnableSRAM ld [s0a00a], a call DisableSRAM -- cgit v1.2.3 From 1b2d7cbaa7aba718b8ef1e9ae0cbe1f349d673be Mon Sep 17 00:00:00 2001 From: Andrew Martinek Date: Mon, 23 Sep 2019 12:37:41 -0400 Subject: Fix style, remove excess comments --- src/engine/bank03.asm | 4 ++-- src/engine/bank20.asm | 55 +++++++++++++++++++++++---------------------------- src/engine/home.asm | 22 ++++++++++----------- 3 files changed, 37 insertions(+), 44 deletions(-) (limited to 'src/engine') diff --git a/src/engine/bank03.asm b/src/engine/bank03.asm index d7f3496..f873953 100644 --- a/src/engine/bank03.asm +++ b/src/engine/bank03.asm @@ -2889,11 +2889,11 @@ OWScript_JumpIfFlagZero1: ; d460 (3:5460) jr z, OWScript_JumpIfFlagZero1.passTryJump .fail - call SetScriptControlByteFail ; 0 out wScriptControlByte + call SetScriptControlByteFail jp IncreaseOWScriptPointerBy4 .passTryJump - call SetScriptControlBytePass ; ff wScriptControlByte + call SetScriptControlBytePass call GetOWSArgs2AfterPointer jr z, .noJumpTarget jp SetOWScriptPointer diff --git a/src/engine/bank20.asm b/src/engine/bank20.asm index 967ffb0..1502ea4 100644 --- a/src/engine/bank20.asm +++ b/src/engine/bank20.asm @@ -2,7 +2,7 @@ Func_80000: ; 80000 (20:4000) INCROM $80000, $80028 Func_80028: ; 80028 (20:4028) - call Func_801f1 ; Clears the first x800 bytes of S1:a000 + call Func_801f1 ld bc, $0000 call Func_80077 farcall $3, $49c7 @@ -13,7 +13,6 @@ Func_80028: ; 80028 (20:4028) INCROM $8003d, $80077 -; loads the background it seems. Also includes background tile permissions? Func_80077: ; 80077 (20:4077) ld a, $1 ld [wd292], a @@ -26,30 +25,30 @@ Func_80077: ; 80077 (20:4077) push hl push bc push de - call BCCoordToBGMap0Address ; de + call BCCoordToBGMap0Address ld hl, wd4c2 ld [hl], e inc hl ld [hl], d - call Func_803b9 ; load more d4c* stuff from mapdatapointers + call Func_803b9 ld a, [wd4c6] - ld [wd23d], a ; copies the bank of the data we loaded to wd23d + ld [wd23d], a ld de, wd23e ld bc, $0006 - call CopyBankedDataToDE ; copies 6 bytes to wd23e+ + call CopyBankedDataToDE ld l, e - ld h, d ; then copies that data into various other places? + ld h, d ld a, [hli] - ld [wd12f], a ; just happens to correspond to size of room + ld [wd12f], a ld a, [hli] - ld [wd130], a ; hmmm + ld [wd130], a ld a, [hli] - ld [wd23a], a ; these 3 are before this data and after room collision + ld [wd23a], a ld a, [hli] ld [wd23b], a ld a, [hli] ld [wd23c], a - call Func_800bd ; moves the background data to some place vblank knows about + call Func_800bd pop de pop bc pop hl @@ -59,17 +58,17 @@ Func_800bd: ; 800bd (20:40bd) push hl push bc push de - ld a, [wd4c4] ; these are still the copy locations + ld a, [wd4c4] add $05 ld e, a ld a, [wd4c5] adc $00 - ld d, a ; de = [wd4c4/5] + 5 - ld b, $c0 ; b = c0 + ld d, a + ld b, $c0 call Func_08bf ld a, [wd4c2] ld e, a - ld a, [wd4c3] ; bg map coord from earlier + ld a, [wd4c3] ld d, a call Func_800e0 pop de @@ -77,7 +76,6 @@ Func_800bd: ; 800bd (20:40bd) pop hl ret -; de is a bg map coord Func_800e0: ; 800e0 (20:40e0) push hl ld hl, $d28e @@ -86,7 +84,7 @@ Func_800e0: ; 800e0 (20:40e0) ld a, [wd23c] or a jr z, .asm_800f0 - sla [hl] ; if wd23c is nonzero, double d28e + sla [hl] .asm_800f0 ld c, $40 ld hl, wd23e @@ -94,16 +92,16 @@ Func_800e0: ; 800e0 (20:40e0) .asm_800f6 ld [hli], a dec c - jr nz, .asm_800f6 ; clear out wd23e-40+ + jr nz, .asm_800f6 ld a, [wd130] ld c, a .asm_800fe - push bc ; push the height of this map - push de ; push the destination of this map + push bc + push de ld b, $00 ld a, [$d28e] - ld c, a ; bc is now the width - ld de, wd23e ; wd23e is the place we copied map data to (The 6 bytes) before + ld c, a + ld de, wd23e call Func_3be4 ld a, [wd12f] ld b, a @@ -287,18 +285,17 @@ GetMapDataPointer: ; 8020f (20:420f) ld c, [hl] inc hl ld b, [hl] - pop af ; bc = [MapDataPointers+l] + pop af ld l, a ld h, $0 sla l rl h sla l rl h - add hl, bc ; hl = [MapDataPointers+l] + 4*a + add hl, bc pop bc ret -; These vars are used as a copy source for something about drawing the background? Func_80229: ; 80229 (20:4229) ld a, [hli] ld [wd4c4], a @@ -391,11 +388,11 @@ Func_802bb: ; 802bb (20:42bb) Func_803b9: ; 803b9 (20:43b9) ld l, $00 - ld a, [wd131] ; current screen/state/almost room? + ld a, [wd131] call GetMapDataPointer - call Func_80229 ; basically get pointer to background tilemap? + call Func_80229 ld a, [hl] - ld [$d239], a ; the final value in mapDataPointer goes to this mystery + ld [$d239], a ret ; 0x803c9 @@ -498,8 +495,6 @@ Unknown_80e5a: ; 80e5a (20:4e5a) INCROM $80e5a, $80e5d ; might be closer to "screen specific data" than map data -; ex: one thing is reading from something that changes multipl times in loading -; of screens, and changes in duels (4d131) MapDataPointers: ; 80e5d (20:4e5d) dw MapDataPointers_80e67 dw MapDataPointers_8100f diff --git a/src/engine/home.asm b/src/engine/home.asm index 62eaa62..8545b3d 100644 --- a/src/engine/home.asm +++ b/src/engine/home.asm @@ -1537,39 +1537,37 @@ UpdateRNGSources: ; 089b (0:089b) pop hl ret -; ld d, a ; de = wd4c4/5 + 5 -; ld b, $c0 ; b = c0 Func_08bf: ; 08bf (0:08bf) ld hl, wcad6 ld [hl], e inc hl - ld [hl], d ; load wcad6/7 with [wd4c4]+5 + ld [hl], d ld hl, wcad8 ld [hl], $1 - inc hl ; wcad8 is 1, a bunch of things after it are 0 + inc hl xor a ld [hli], a ld [hli], a ld [hli], a ld [hli], a - ld [hl], b ; then wcad i think is set to c0 + ld [hl], b inc hl ld [hli], a ; 0 - ld [hl], $ef ; and ef + ld [hl], $ef ld h, b - ld l, $0 ; hl is now c000, first byte of wram, first card collection or no name + ld l, $0 xor a .asm_8d9 - ld [hl], a ; 0 out ff bytes - inc l ; inc the first ff bytes of wram (was an arg so could be other stuff) + ld [hl], a + inc l jr nz, .asm_8d9 ret Func_08de: ; 08de (0:08de) - push hl ; wd23e + 40 i think? - push de ; 6 mdp bytes + push hl + push de .asm_8e0 - push bc ; as of first run, bc is the width + push bc call Func_08ef ld [de], a inc de -- cgit v1.2.3 From 516f47dd3efc34ee938b14f74e4c7eda0c19fc2d Mon Sep 17 00:00:00 2001 From: Andrew Martinek Date: Wed, 2 Oct 2019 23:50:47 -0400 Subject: layout another NPC script, make some assumptions about flags --- src/engine/bank01.asm | 4 +- src/engine/bank02.asm | 37 ++++++++++-- src/engine/bank03.asm | 161 +++++++++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 191 insertions(+), 11 deletions(-) (limited to 'src/engine') diff --git a/src/engine/bank01.asm b/src/engine/bank01.asm index f9f8781..d5926df 100644 --- a/src/engine/bank01.asm +++ b/src/engine/bank01.asm @@ -6288,10 +6288,10 @@ DiscardSavedDuelData: ; 6785 (1:6785) ; 0x6793 ; loads a player deck (sDeck*Cards) from SRAM to wPlayerDeck -; s0b700 determines which sDeck*Cards source (0-3) +; sCurrentlySelectedDeck determines which sDeck*Cards source (0-3) LoadPlayerDeck: ; 6793 (1:6793) call EnableSRAM - ld a, [s0b700] + ld a, [sCurrentlySelectedDeck] ld l, a ld h, sDeck2Cards - sDeck1Cards call HtimesL diff --git a/src/engine/bank02.asm b/src/engine/bank02.asm index 51127a2..108a34d 100644 --- a/src/engine/bank02.asm +++ b/src/engine/bank02.asm @@ -2171,7 +2171,7 @@ Func_8f8a: ; 8f8a (2:4f8a) Func_8f9d: ; 8f9d (2:4f9d) call EnableSRAM - ld a, [s0b700] + ld a, [sCurrentlySelectedDeck] call DisableSRAM ld h, $3 ld l, a @@ -2185,7 +2185,7 @@ Func_8f9d: ; 8f9d (2:4f9d) call FillRectangle ld a, [wceb1] call EnableSRAM - ld [s0b700], a + ld [sCurrentlySelectedDeck], a call DisableSRAM call Func_9326 call GetPointerToDeckName @@ -2519,7 +2519,7 @@ Func_9168: ; 9168 (2:5168) ld [wceb5], a .asm_9214 call EnableSRAM - ld a, [s0b700] + ld a, [sCurrentlySelectedDeck] ld c, a ld b, $0 ld d, $2 @@ -2539,7 +2539,7 @@ Func_9168: ; 9168 (2:5168) jr .asm_921f .asm_9234 ld a, c - ld [s0b700], a + ld [sCurrentlySelectedDeck], a call DisableSRAM call Func_9326 call EnableLCD @@ -2628,7 +2628,7 @@ Func_9314: ; 9314 (2:5314) Func_9326: ; 9326 (2:5326) call EnableSRAM - ld a, [s0b700] + ld a, [sCurrentlySelectedDeck] call DisableSRAM ld h, 3 ld l, a @@ -2643,7 +2643,32 @@ Func_9326: ; 9326 (2:5326) ret Func_9345: ; 9345 (2:5345) - INCROM $9345, $9843 + INCROM $9345, $9649 + +; checks if selected deck has any basics +Func_9649: ; 9649 (2:5649) + ld hl, wcf17 +.asm_964c + ld a, [hli] + ld e, a + or a + jr z, .asm_9665 + call LoadCardDataToBuffer1_FromCardID + jr c, .asm_9665 + ld a, [wLoadedCard1Type] + and $08 + jr nz, .asm_964c + ld a, [wLoadedCard1Stage] + or a + jr nz, .asm_964c + scf + ret +.asm_9665 + or a + ret +; 0x9667 + + INCROM $9667, $9843 Func_9843: ; 9843 (2:5843) INCROM $9843, $98a6 diff --git a/src/engine/bank03.asm b/src/engine/bank03.asm index f873953..1f1fbc5 100644 --- a/src/engine/bank03.asm +++ b/src/engine/bank03.asm @@ -1623,8 +1623,82 @@ EventFlagMods: ; cb37 (3:4b37) flag_def EVENT_FLAG_31, $0a, %00000011 flag_def EVENT_FLAG_32, $0b, %10000000 flag_def EVENT_JOSHUA_STATE, $0b, %01110000 - - INCROM $cb9f, $cc32 + flag_def EVENT_FLAG_34, $0b, %00001100 + flag_def EVENT_FLAG_35, $0b, %00000011 + flag_def EVENT_FLAG_36, $0c, %11100000 + flag_def EVENT_FLAG_37, $0c, %00011100 + flag_def EVENT_FLAG_38, $0c, %00000010 + flag_def EVENT_FLAG_39, $0c, %00000001 + flag_def EVENT_FLAG_3A, $0d, %10000000 + flag_def EVENT_FLAG_3B, $0d, %01000000 + flag_def EVENT_FLAG_3C, $0d, %00100000 + flag_def EVENT_FLAG_3D, $0d, %00010000 + flag_def EVENT_FLAG_3E, $0d, %00001110 + flag_def EVENT_FLAG_3F, $0e, %11100000 + flag_def EVENT_FLAG_40, $0e, %00011100 + flag_def EVENT_FLAG_41, $0f, %11100000 + flag_def EVENT_FLAG_42, $10, %10000000 + flag_def EVENT_FLAG_43, $10, %01000000 + flag_def EVENT_FLAG_44, $10, %00110000 + flag_def EVENT_FLAG_45, $10, %00001100 + flag_def EVENT_FLAG_46, $10, %00000010 + flag_def EVENT_FLAG_47, $10, %00000001 + flag_def EVENT_FLAG_48, $11, %11100000 + flag_def EVENT_FLAG_49, $11, %00011100 + flag_def EVENT_FLAG_4A, $12, %11100000 + flag_def EVENT_FLAG_4B, $13, %10000000 + flag_def EVENT_FLAG_4C, $13, %01100000 + flag_def EVENT_FLAG_4D, $13, %00011000 + flag_def EVENT_FLAG_4E, $13, %00000100 + flag_def EVENT_FLAG_4F, $13, %00000010 + flag_def EVENT_FLAG_50, $14, %10000000 + flag_def EVENT_FLAG_51, $14, %01000000 + flag_def EVENT_FLAG_52, $14, %00100000 + flag_def EVENT_FLAG_53, $14, %00010000 + flag_def EVENT_FLAG_54, $14, %00001000 + flag_def EVENT_FLAG_55, $14, %00000100 + flag_def EVENT_FLAG_56, $14, %00000010 + flag_def EVENT_FLAG_57, $14, %00000001 + flag_def EVENT_FLAG_58, $15, %11110000 + flag_def EVENT_FLAG_59, $15, %00001000 + flag_def EVENT_FLAG_5A, $16, %10000000 + flag_def EVENT_FLAG_5B, $16, %01000000 + flag_def EVENT_FLAG_5C, $16, %00100000 + flag_def EVENT_FLAG_5D, $16, %00010000 + flag_def EVENT_FLAG_5E, $16, %00001000 + flag_def EVENT_FLAG_5F, $16, %00000100 + flag_def EVENT_FLAG_60, $16, %00000010 + flag_def EVENT_FLAG_61, $16, %00000001 + flag_def EVENT_FLAG_62, $16, %11111111 + flag_def EVENT_FLAG_63, $17, %10000000 + flag_def EVENT_FLAG_64, $17, %01000000 + flag_def EVENT_FLAG_65, $17, %00110000 + flag_def EVENT_FLAG_66, $17, %00001000 + flag_def EVENT_FLAG_67, $17, %00000100 + flag_def EVENT_FLAG_68, $18, %11000000 + flag_def EVENT_FLAG_69, $18, %00110000 + flag_def EVENT_FLAG_6A, $18, %00001100 + flag_def EVENT_FLAG_6B, $18, %00000011 + flag_def EVENT_FLAG_6C, $19, %11000000 + flag_def EVENT_FLAG_6D, $19, %00100000 + flag_def EVENT_FLAG_6E, $19, %00010000 + flag_def EVENT_FLAG_6F, $19, %00001000 + flag_def EVENT_FLAG_70, $19, %00000100 + flag_def EVENT_FLAG_71, $19, %00111100 + flag_def EVENT_FLAG_72, $1a, %11111100 + flag_def EVENT_FLAG_73, $1a, %00000011 + flag_def EVENT_FLAG_74, $1b, %11111111 + flag_def EVENT_FLAG_75, $1c, %11110000 + flag_def EVENT_FLAG_76, $1c, %00001111 + +Func_cc25: ; cc25 (3:4c25) + ld hl, wd0ca + ld a, [hli] + ld h, [hl] + ld l, a + call Func_cc32 + call CloseAdvancedDialogueBox + ret Func_cc32: ; cc32 (3:4c32) push hl @@ -3549,7 +3623,88 @@ FindEndOfBattleScript: ; e52c (3:652c) jp Func_c926 ; 0xe553 - INCROM $e553, $f580 + INCROM $e553, $e5c4 + +GrassClubLobbyAfterDuel: ; e5c4 (3:65cb) + ld hl, .after_duel_table + call FindEndOfBattleScript + ret +.after_duel_table + db BRITTANY + db BRITTANY + dw OWSequence_BeatBrittany + dw OWSequence_LostToBrittany + db $00 + +OWSequence_Brittany: ; e5d2 (3:65d2) + start_script + run_script OWScript_JumpIfFlagLessThan + db EVENT_FLAG_35 + db $01 + dw NO_JUMP + run_script OWScript_PrintVariableText + tx Text06e0 + tx Text06e1 + run_script OWScript_AskQuestionJump + tx Text06e2 + dw .wantToDuel + run_script OWScript_PrintTextString + tx Text06e3 + run_script OWScript_EndScriptCloseText + +.wantToDuel + run_script OWScript_PrintTextString + tx Text06e4 + run_script OWScript_StartBattle + db PRIZES_4 + db ETCETERA_DECK_ID + db MUSIC_DUEL_THEME_1 + run_script OWScript_EndScriptCloseText + +OWSequence_BeatBrittany: ; e5ee (3:65ee) + start_script + run_script OWScript_PrintTextString + tx Text06e5 + run_script OWScript_GiveBoosterPacks + db BOOSTER_MYSTERY_GRASS_COLORLESS + db BOOSTER_MYSTERY_GRASS_COLORLESS + db NO_BOOSTER + run_script OWScript_JumpIfFlagLessThan + db EVENT_FLAG_35 + db $02 + dw NO_JUMP + run_script OWScript_PrintVariableText + tx Text06e6 + tx Text06e7 + run_script OWScript_MaxOutFlagValue + db EVENT_FLAG_3C + run_script OWScript_JumpIfFlagNotLessThan + db EVENT_FLAG_35 + db $02 + dw .ows_e617 + run_script OWScript_JumpIfFlagZero2 + db EVENT_FLAG_3A + dw .ows_e617 + run_script OWScript_JumpIfFlagZero2 + db EVENT_FLAG_3B + dw .ows_e617 + run_script OWScript_SetFlagValue + db EVENT_FLAG_35 + db $01 + run_script OWScript_MaxOutFlagValue + db EVENT_FLAG_1E + run_script OWScript_PrintTextString + tx Text06e8 +.ows_e617 + run_script OWScript_EndScriptCloseText + +OWSequence_LostToBrittany: ; e618 (3:6618) + start_script + run_script OWScript_PrintTextCloseBox + tx Text06e9 +; 0xe61c + + INCROM $e61c, $f580 Func_f580: ; f580 (3:7580) call Func_ca69 -- cgit v1.2.3 From 8c416b556348fe9a98e28fd0ba5628b5c74edcc8 Mon Sep 17 00:00:00 2001 From: Andrew Martinek Date: Thu, 3 Oct 2019 22:04:51 -0400 Subject: Ronald scripts and overworld data routines. Also made script extractor better --- src/engine/bank03.asm | 309 +++++++++++++++++++++++++++++++++++++++++++++++--- src/engine/bank04.asm | 4 +- 2 files changed, 296 insertions(+), 17 deletions(-) (limited to 'src/engine') diff --git a/src/engine/bank03.asm b/src/engine/bank03.asm index 1f1fbc5..6149c08 100644 --- a/src/engine/bank03.asm +++ b/src/engine/bank03.asm @@ -1631,7 +1631,7 @@ EventFlagMods: ; cb37 (3:4b37) flag_def EVENT_FLAG_39, $0c, %00000001 flag_def EVENT_FLAG_3A, $0d, %10000000 flag_def EVENT_FLAG_3B, $0d, %01000000 - flag_def EVENT_FLAG_3C, $0d, %00100000 + flag_def FLAG_BEAT_BRITTANY, $0d, %00100000 flag_def EVENT_FLAG_3D, $0d, %00010000 flag_def EVENT_FLAG_3E, $0d, %00001110 flag_def EVENT_FLAG_3F, $0e, %11100000 @@ -1852,8 +1852,10 @@ Func_ccdc: ; ccdc (3:4cdc) Func_cce4: ; cce4 (3:4ce4) ld a, $1 ld [wDefaultYesOrNo], a +; fallthrough -; Asks the player a question then jumps if they answer yes +; Asks the player a question then jumps if they answer yes. Seem to be able to +; take a text of 0000 to overwrite last with (yes no) prompt at the bottom OWScript_AskQuestionJump: ; cce9 (3:4ce9) ld l, c ld h, b @@ -2202,17 +2204,18 @@ Func_cf2d: ; cf2d (3:4f2d) jr nc, asm_cf1f jr asm_cf19 -Func_cf3f: ; cf3f (3:4f3f) +; Gives the first arg as a card. If that's 0 pulls from wd697 +OWScript_GiveCard: ; cf3f (3:4f3f) ld a, c or a - jr nz, .asm_cf46 + jr nz, .giveCard ld a, [wd697] -.asm_cf46 +.giveCard call AddCardToCollection jp IncreaseOWScriptPointerBy2 -Func_cf4c: ; cf4c (3:4f4c) +OWScript_TakeCard: ; cf4c (3:4f4c) ld a, c call RemoveCardFromCollection jp IncreaseOWScriptPointerBy2 @@ -3590,7 +3593,12 @@ OWJump_TalkToAmyAgain: ; e356 (3:6356) run_script OWScript_EndScriptCloseText ; 0xe369 - INCROM $e369, $e52c + INCROM $e369, $e525 + +GrassClubEntranceAfterDuel: ; e525 (3:6525) + ld hl, GrassClubEntranceAfterDuelTable + call FindEndOfBattleScript + ret FindEndOfBattleScript: ; e52c (3:652c) ld c, $0 @@ -3623,12 +3631,30 @@ FindEndOfBattleScript: ; e52c (3:652c) jp Func_c926 ; 0xe553 - INCROM $e553, $e5c4 +GrassClubEntranceAfterDuelTable: ; e553 (3:6553) + db MICHAEL + db MICHAEL + dw $6597 + dw $65ab + + db RONALD2 + db RONALD2 + dw OWSequence_BeatFirstRonaldFight + dw OWSequence_LostToFirstRonaldFight + + db RONALD3 + db RONALD3 + dw OWSequence_BeatSecondRonaldFight + dw OWSequence_LostToSecondRonaldFight + db $00 + + INCROM $e566, $e5c4 -GrassClubLobbyAfterDuel: ; e5c4 (3:65cb) +GrassClubLobbyAfterDuel: ; e5c4 (3:65c4) ld hl, .after_duel_table call FindEndOfBattleScript ret + .after_duel_table db BRITTANY db BRITTANY @@ -3677,17 +3703,17 @@ OWSequence_BeatBrittany: ; e5ee (3:65ee) tx Text06e6 tx Text06e7 run_script OWScript_MaxOutFlagValue - db EVENT_FLAG_3C + db FLAG_BEAT_BRITTANY run_script OWScript_JumpIfFlagNotLessThan db EVENT_FLAG_35 db $02 - dw .ows_e617 + dw .finishSequence run_script OWScript_JumpIfFlagZero2 db EVENT_FLAG_3A - dw .ows_e617 + dw .finishSequence run_script OWScript_JumpIfFlagZero2 db EVENT_FLAG_3B - dw .ows_e617 + dw .finishSequence run_script OWScript_SetFlagValue db EVENT_FLAG_35 db $01 @@ -3695,7 +3721,7 @@ OWSequence_BeatBrittany: ; e5ee (3:65ee) db EVENT_FLAG_1E run_script OWScript_PrintTextString tx Text06e8 -.ows_e617 +.finishSequence run_script OWScript_EndScriptCloseText OWSequence_LostToBrittany: ; e618 (3:6618) @@ -3704,7 +3730,260 @@ OWSequence_LostToBrittany: ; e618 (3:6618) tx Text06e9 ; 0xe61c - INCROM $e61c, $f580 + INCROM $e61c, $e7f6 + +ClubEntranceAfterDuel: ; e7f6 (3:67f6) + ld hl, .after_duel_table + jp FindEndOfBattleScript + +.after_duel_table + db RONALD2 + db RONALD2 + dw OWSequence_BeatFirstRonaldFight + dw OWSequence_LostToFirstRonaldFight + + db RONALD3 + db RONALD3 + dw OWSequence_BeatSecondRonaldFight + dw OWSequence_LostToSecondRonaldFight + db $00 + +LoadClubEntrance: ; e809 (3:6809) + call TryFirstRonaldFight + call TrySecondRonaldFight + call TryFirstRonaldEncounter + ret + +TryFirstRonaldEncounter: ; e813 (3:6813) + ld a, RONALD1 + ld [wd3ab], a + call Func_39c3 + ret c + ld bc, OWSequence_FirstRonaldEncounter + jp Func_c926 + +TryFirstRonaldFight: ; e822 (3:6822) + ld a, RONALD2 + ld [$d3ab], a + call Func_39c3 + ret c + call Func_ca69 + ld c, h + or a + ret nz + ld bc, OWSequence_FirstRonaldFight + jp Func_c926 + +TrySecondRonaldFight: ; e837 (3:6837) + ld a, RONALD3 + ld [$d3ab], a + call Func_39c3 + ret c + call Func_ca69 + ld c, l + or a + ret nz + ld bc, OWSequenceSecondRonaldFight + jp Func_c926 +; 0xe84c + + INCROM $e84c, $e862 + +OWSequence_FirstRonaldEncounter: ; e862 (3:6862) + start_script + run_script OWScript_MaxOutFlagValue + db $4b + run_script Func_ce4a + db $94 + db $68 + run_script Func_d135 + db $00 + run_script OWScript_PrintTextString + tx Text0645 + run_script OWScript_CloseTextBox + run_script OWScript_MovePlayer + db $00 + db $01 + run_script OWScript_MovePlayer + db $00 + db $01 + run_script OWScript_PrintTextString + tx Text0646 + run_script Func_cce4 + dw 0000 + dw .ows_e882 + run_script OWScript_PrintTextString + tx Text0647 + run_script OWScript_Jump + dw .ows_e885 + +.ows_e882 + run_script OWScript_PrintTextString + tx Text0648 +.ows_e885 + run_script OWScript_PrintTextString + tx Text0649 + run_script OWScript_CloseTextBox + run_script Func_d055 + db $03 + run_script OWScript_MovePlayer + db $01 + db $04 + run_script Func_ce4a + db $94 + db $68 + run_script Func_cdcb + run_script Func_d41d + run_script OWScript_EndScriptCloseText +; 0xe894 + + INCROM $e894, $e8c0 + +OWSequence_FirstRonaldFight: ; e8c0 (3:68c0) + start_script + run_script Func_ce4a + db $05 + db $69 + run_script OWScript_DoFrames + db $3c + run_script Func_ce4a + db $0d + db $69 + run_script OWScript_PrintTextString + tx Text064a + run_script Func_d0f2 + db $08 + db $02 + dw $68d6 + run_script Func_d055 + db $03 + run_script OWScript_MovePlayer + db $03 + db $01 + run_script Func_d055 + db $02 + run_script OWScript_MovePlayer + db $02 + db $01 + run_script OWScript_MovePlayer + db $02 + db $01 + run_script OWScript_PrintTextString + tx Text064b + run_script OWScript_SetFlagValue + db $4c + db $01 + run_script OWScript_StartBattle + db PRIZES_6 + db IM_RONALD_DECK_ID + db MUSIC_RONALD + run_script OWScript_EndScriptCloseText + +OWSequence_BeatFirstRonaldFight: ; e8e9 (3:68e9) + start_script + run_script OWScript_PrintTextString + tx Text064c + run_script OWScript_GiveCard + db JIGGLYPUFF1 + run_script Func_cee2 + db JIGGLYPUFF1 + run_script OWScript_PrintTextString + tx Text064d + run_script OWScript_Jump + dw OWJump_FinishedFirstRonaldFight + +OWSequence_LostToFirstRonaldFight: ; e8f7 (3:68f7) + start_script + run_script OWScript_PrintTextString + tx Text064e + +OWJump_FinishedFirstRonaldFight + run_script OWScript_SetFlagValue + db EVENT_FLAG_4C + db $02 + run_script OWScript_CloseTextBox + run_script Func_ce4a + db $0f + db $69 + run_script Func_cdcb + run_script Func_d41d + run_script OWScript_EndScriptCloseText +; 0xe905 + + INCROM $e905, $e91e + +OWSequenceSecondRonaldFight: ; e91e (3:691e) + start_script + run_script Func_ce4a + db $05 + db $69 + run_script OWScript_DoFrames + db $3c + run_script Func_ce4a + db $0d + db $69 + run_script OWScript_PrintTextString + tx Text064f + run_script Func_d0f2 + db $08 + db $02 + dw $6934 + run_script Func_d055 + db $03 + run_script OWScript_MovePlayer + db $03 + db $01 + run_script Func_d055 + db $02 + run_script OWScript_MovePlayer + db $02 + db $01 + run_script OWScript_MovePlayer + db $02 + db $01 + run_script OWScript_PrintTextString + tx Text0650 + run_script OWScript_SetFlagValue + db $4d + db $01 + run_script OWScript_StartBattle + db PRIZES_6 + db POWERFUL_RONALD_DECK_ID + db MUSIC_RONALD + run_script OWScript_EndScriptCloseText + +OWSequence_BeatSecondRonaldFight: ; e947 (3:6947) + start_script + run_script OWScript_PrintTextString + tx Text0651 + run_script OWScript_GiveCard + db SUPER_ENERGY_RETRIEVAL + run_script Func_cee2 + db SUPER_ENERGY_RETRIEVAL + run_script OWScript_PrintTextString + tx Text0652 + run_script OWScript_Jump + dw OWJump_FinishedSecondRonaldFight + +OWSequence_LostToSecondRonaldFight: ; e955 (3:6955) + start_script + run_script OWScript_PrintTextString + tx Text0653 + +OWJump_FinishedSecondRonaldFight ; e959 (3:6959) + run_script OWScript_SetFlagValue + db $4d + db $02 + run_script OWScript_CloseTextBox + run_script Func_ce4a + db $0f + db $69 + run_script Func_cdcb + run_script Func_d41d + run_script OWScript_EndScriptCloseText +; 0xe963 + + INCROM $e963, $f580 Func_f580: ; f580 (3:7580) call Func_ca69 diff --git a/src/engine/bank04.asm b/src/engine/bank04.asm index 0c91398..e127f70 100644 --- a/src/engine/bank04.asm +++ b/src/engine/bank04.asm @@ -984,8 +984,8 @@ OverworldScriptTable: ; 1217b (4:617b) dw OWScript_GiveBoosterPacks dw Func_cf0c dw Func_cf12 - dw Func_cf3f - dw Func_cf4c + dw OWScript_GiveCard + dw OWScript_TakeCard dw Func_cf53 dw Func_cf7b dw Func_cf2d -- cgit v1.2.3 From fda59356c20813bb57d59de8d9b2b100f0fe275d Mon Sep 17 00:00:00 2001 From: Andrew Martinek Date: Sun, 6 Oct 2019 11:24:18 -0400 Subject: Uncovered a lot of NPC map data and loading functions. --- src/engine/bank03.asm | 264 +++++++++++++++++++++++++++++--------------------- src/engine/bank04.asm | 106 ++++++++++---------- src/engine/bank07.asm | 104 +++++++++++++++++++- src/engine/bank20.asm | 14 +-- src/engine/home.asm | 44 +++++---- 5 files changed, 343 insertions(+), 189 deletions(-) (limited to 'src/engine') diff --git a/src/engine/bank03.asm b/src/engine/bank03.asm index 6149c08..5330bd1 100644 --- a/src/engine/bank03.asm +++ b/src/engine/bank03.asm @@ -176,7 +176,7 @@ Func_c158: ; c158 (3:4158) cp $1 ret nz ld a, [wd0c4] - ld [wd3ab], a + ld [wTempNPC], a call Func_39c3 jr c, .asm_c179 ld a, [wd3aa] @@ -580,7 +580,7 @@ Func_c4b9: ; c4b9 (3:44b9) ld a, b ld [wd337], a ld a, $0 - farcall Func_1299f + farcall CreateSpriteAndAnimBufferEntry ld a, [wWhichSprite] ld [wd336], a ld b, $2 @@ -1225,51 +1225,51 @@ Func_c943: ; c943 (3:4943) push hl push bc push de - ld l, $0 - call Func_3abd - jr nc, .asm_c98f -.asm_c94d + ld l, MAP_SCRIPT_NPCS + call GetMapScriptPointer + jr nc, .quit +.loadNPCLoop ld a, l - ld [wd4c4], a + ld [wTempPointer], a ld a, h - ld [wd4c5], a - ld a, $4 - ld [wd4c6], a - ld de, wd3ab - ld bc, $0006 + ld [wTempPointer + 1], a + ld a, BANK(MapScripts) + ld [wTempPointerBank], a + ld de, wTempNPC + ld bc, NPC_MAP_SIZE call CopyBankedDataToDE - ld a, [wd3ab] + ld a, [wTempNPC] or a - jr z, .asm_c98f + jr z, .quit push hl - ld a, [wd3af] + ld a, [wLoadNPCFunction] ld l, a - ld a, [wd3b0] + ld a, [wLoadNPCFunction+1] ld h, a or l - jr z, .asm_c97a + jr z, .noScript call CallHL2 - jr nc, .asm_c988 -.asm_c97a - ld a, [wd3ab] - farcall Func_11857 + jr nc, .nextNPC +.noScript + ld a, [wTempNPC] + farcall LoadNPCSpriteData call Func_c998 farcall Func_1c485 -.asm_c988 +.nextNPC pop hl - ld bc, $0006 + ld bc, NPC_MAP_SIZE add hl, bc - jr .asm_c94d -.asm_c98f - ld l, $2 - call Func_c9c2 + jr .loadNPCLoop +.quit + ld l, MAP_SCRIPT_POST_NPC + call CallMapScriptPointerIfExists pop de pop bc pop hl ret Func_c998: ; c998 (3:4998) - ld a, [wd3ab] + ld a, [wTempNPC] cp $22 ret nz ld a, [wd3d0] @@ -1289,23 +1289,23 @@ Func_c998: ; c998 (3:4998) Func_c9b8: ; c9b8 (3:49b8) ld l, $8 - jr Func_c9c2 + jr CallMapScriptPointerIfExists Func_c9bc: ; c9bc (3:49bc) ld l, $a - jr Func_c9c2 + jr CallMapScriptPointerIfExists Func_c9c0: ; c9c0 (3:49c0) ld l, $c -Func_c9c2: ; c9c2 (3:49c2) - call Func_3abd +CallMapScriptPointerIfExists: ; c9c2 (3:49c2) + call GetMapScriptPointer ret nc jp hl Func_c9c7: ; c9c7 (3:49c7) ld l, $e - jr Func_c9c2 + jr CallMapScriptPointerIfExists Func_c9cb: ; c9cb (3:49cb) push hl @@ -1493,7 +1493,9 @@ MaxOutEventFlag: ; cac5 (3:4ac5) ret ; 0xcacd - INCROM $cacd, $cad0 +Func_cacd: ; cacd (3:4acd) + call Func_cab3 +; fallthrough ZeroOutEventFlag: ; cad0 (3:4ad0) push bc @@ -1951,7 +1953,7 @@ OWScript_PrintVariableText: ; cd83 (3:4d83) Func_cd94: ; cd94 (3:4d94) call Func_ca69 - ld b, h + db $44 Unknown_cd98: dec a and $3 @@ -1995,14 +1997,14 @@ Func_cdd1: ; cdd1 (3:4dd1) Func_cdd8: ; cdd8 (3:4dd8) ld a, [wd3aa] push af - ld a, [wd3ab] + ld a, [wTempNPC] push af ld a, [wd696] - ld [wd3ab], a + ld [wTempNPC], a call Func_39c3 call Func_cdd1 pop af - ld [wd3ab], a + ld [wTempNPC], a pop af ld [wd3aa], a ret @@ -2010,21 +2012,21 @@ Func_cdd8: ; cdd8 (3:4dd8) Func_cdf5: ; cdf5 (3:4df5) ld a, [wd3aa] push af - ld a, [wd3ab] + ld a, [wTempNPC] push af ld a, [wd696] - ld [wd3ab], a + ld [wTempNPC], a ld a, c - ld [wd3ac], a + ld [wLoadNPCXPos], a ld a, b - ld [wd3ad], a + ld [wLoadNPCYPos], a ld a, $2 - ld [wd3ae], a - ld a, [wd3ab] - farcall Func_11857 + ld [wLoadNPCDirection], a + ld a, [wTempNPC] + farcall LoadNPCSpriteData farcall Func_1c485 pop af - ld [wd3ab], a + ld [wTempNPC], a pop af ld [wd3aa], a jp IncreaseOWScriptPointerBy3 @@ -2059,15 +2061,15 @@ Func_ce4a: ; ce4a (3:4e4a) Func_ce52: ; ce52 (3:4e52) ld a, [wd3aa] push af - ld a, [wd3ab] + ld a, [wTempNPC] push af ld a, [wd696] asm_ce5d - ld [wd3ab], a + ld [wTempNPC], a call Func_39c3 call Func_ce3a pop af - ld [wd3ab], a + ld [wTempNPC], a pop af ld [wd3aa], a ret @@ -2075,7 +2077,7 @@ asm_ce5d Func_ce6f: ; ce6f (3:4e6f) ld a, [wd3aa] push af - ld a, [wd3ab] + ld a, [wTempNPC] push af ld a, c push af @@ -2270,28 +2272,30 @@ Func_cf7b: ; cf7b (3:4f7b) jr c, .asm_cf7d jp IncreaseOWScriptPointerBy1 -; This function doesn't look like a valid function, but it's pointed to in the table. Func_cf96: ; cf96 (3:4f96) ld c, $0 call Func_ca69 - ld de, $28b7 - ld hl, $08fe + db $11 + or a + jr z, Func_cfc0 + cp a, $08 jr c, .asm_cfa4 inc c .asm_cfa4 call Func_ca69 - rla + db $17 cp $8 jr c, .asm_cfad inc c .asm_cfad call Func_ca69 -.asm_cfb0 - jr nz, .asm_cfb0 - ld [$0138], sp + db $20 + cp a, $08 + jr c, .asm_cfb6 inc c +.asm_cfb6 ld a, c rlca add $3 @@ -2311,7 +2315,7 @@ Func_cfc6: ; cfc6 (3:4fc6) Func_cfd4: ; cfd4 (3:4fd4) call Func_ca69 - dec l + db $2d ld b, a .asm_cfd9 ld a, $5 @@ -2356,7 +2360,7 @@ Func_d00b: ; d00b (3:500b) add hl, bc push hl call Func_ca69 - dec hl + db $2b ld e, a ld d, $0 call GetCardName @@ -2368,21 +2372,21 @@ Func_d00b: ; d00b (3:500b) Func_d025: ; d025 (3:5025) call Func_ca69 - dec hl + db $2b call GetCardCountInCollectionAndDecks jp c, Func_cf67 jp Func_cf6d Func_d032: ; d032 (3:5032) call Func_ca69 - dec hl + db $2b call GetCardCountInCollection jp c, Func_cf67 jp Func_cf6d Func_d03f: ; d03f (3:503f) call Func_ca69 - dec hl + db $2b call RemoveCardFromCollection jp IncreaseOWScriptPointerBy1 @@ -2399,7 +2403,8 @@ Func_d055: ; d055 (3:5055) call Func_c5ce jp IncreaseOWScriptPointerBy2 - +; arg1 - Direction (index in ScriptedMovementOffsetTable) +; arg2 - Tiles Moves (Speed) OWScript_MovePlayer: ; 505c (3:505c) ld a, c ld [wd339], a @@ -2426,7 +2431,7 @@ OWScript_SetDialogName: ; d080 (3:5080) ; Not confident enough to give it a name yet Func_d088: ; d088 (3:5088) ld a, c - ld [wd3ab], a + ld [wTempNPC], a call GetOWSArgs2AfterPointer call Func_c926 jp IncreaseOWScriptPointerBy4 @@ -2498,10 +2503,10 @@ Func_d0f2: ; d0f2 (3:50f2) Func_d103: ; d103 (3:5103) ld a, [wd3aa] push af - ld a, [wd3ab] + ld a, [wTempNPC] push af ld a, c - ld [wd3ab], a + ld [wTempNPC], a call Func_39c3 jr c, .asm_d119 call $54d1 @@ -2512,7 +2517,7 @@ Func_d103: ; d103 (3:5103) .asm_d11c pop af - ld [wd3ab], a + ld [wTempNPC], a pop af ld [wd3aa], a ret @@ -2575,17 +2580,17 @@ Func_d16b: ; d16b (3:516b) jp IncreaseOWScriptPointerBy2 Func_d195: ; d195 (3:5195) - ld a, [wd3ab] + ld a, [wTempNPC] push af call Func_ca69 - ld b, l + db $45 inc a ld c, a call Func_ca8f ld b, l call Func_f580 pop af - ld [wd3ab], a + ld [wTempNPC], a jp IncreaseOWScriptPointerBy1 Func_d1ad: ; d1ad (3:51ad) @@ -2594,7 +2599,7 @@ Func_d1ad: ; d1ad (3:51ad) Func_d1b3: ; d1b3 (3:51b3) call Func_ca69 - ld b, h + db $44 dec a cp $2 jr c, .asm_d1c3 @@ -2623,7 +2628,7 @@ asm_d1c6 Func_d209: ; d209 (3:5209) call Func_ca69 - ld [hl], c + db $71 ld e, a .asm_d20e call UpdateRNGSources @@ -2870,7 +2875,7 @@ OWScript_GivePCPack: ; d3c9 (3:53c9) farcall GivePCPack jp IncreaseOWScriptPointerBy2 -Func_d3d1: ; d3d1 (3:53d1) +OWScript_nop: ; d3d1 (3:53d1) jp IncreaseOWScriptPointerBy1 Func_d3d4: ; d3d4 (3:53d4) @@ -3065,7 +3070,44 @@ OWScript_JumpIfFlagZero2: jp IncreaseOWScriptPointerBy4 ; 0xd4ec - INCROM $d4ec, $d52e +LoadOverworld: ; d4ec (3:54ec) + call Func_d4fb + call Func_ca69 + ld a, $b7 + ret nz + ld bc, OWSequence_d52e + jp Func_c935 + +Func_d4fb: ; d4fb (3:54fb) + call Func_cacd + ld e, c + call Func_f602 + call Func_ca69 + db $3f + cp $02 + jr z, .asm_d527 + call Func_ca69 + db $40 + cp $02 + jr z, .asm_d521 + call Func_ca69 + db $41 + cp $02 + jr z, .asm_d51b + ret +.asm_d51b + ld c, $07 + call Func_ca8f + ld b, c +.asm_d521 + ld c, $07 + call Func_ca8f + ld b, b +.asm_d527 + ld c, $07 + call Func_ca8f + ccf + ret OWSequence_d52e: ; d52e (3:552e) start_script @@ -3088,31 +3130,31 @@ OWSequence_d52e: ; d52e (3:552e) OWSequence_d753: ; d753 (3:5753) start_script run_script OWScript_MovePlayer - db $00 + db NORTH db $02 run_script OWScript_MovePlayer - db $00 + db NORTH db $02 run_script OWScript_MovePlayer - db $00 + db NORTH db $02 run_script OWScript_MovePlayer - db $00 + db NORTH db $02 run_script OWScript_MovePlayer - db $00 + db NORTH db $02 run_script OWScript_MovePlayer - db $00 + db NORTH db $02 run_script OWScript_MovePlayer - db $00 + db NORTH db $02 run_script OWScript_MovePlayer - db $00 + db NORTH db $02 run_script OWScript_MovePlayer - db $00 + db NORTH db $02 run_script OWScript_PrintTextString tx Text05e3 @@ -3145,8 +3187,7 @@ OWSequence_d779: ; d779 (03:5779) run_script OWScript_CloseAdvancedTextBox run_script Func_d088 db $01 - db $94 - db $57 + dw $5794 run_script OWScript_EndScriptLoop1 INCROM $d793, $e13f @@ -3156,11 +3197,11 @@ WaterClubMovePlayer: ; e13f (3:613f) cp $8 ret nz call Func_ca69 - inc sp + db $33 cp $2 ret nc ld a, $21 - ld [wd3ab], a + ld [wTempNPC], a ld bc, OWSequence_NotReadyToSeeAmy jp Func_c926 @@ -3282,7 +3323,7 @@ OWSequence_NotReadyToSeeAmy: db $08 dw $61f8 run_script OWScript_MovePlayer - db $02 + db SOUTH db $04 run_script Func_ce4a db $13 @@ -3474,15 +3515,15 @@ OWSequence_MeetAmy: ; e2d1 (3:62d1) run_script Func_d055 db $03 run_script OWScript_MovePlayer - db $03 + db WEST db $01 run_script Func_d055 db $00 run_script OWScript_MovePlayer - db $00 + db NORTH db $01 run_script OWScript_MovePlayer - db $00 + db NORTH db $01 run_script Func_ce6f db $21 @@ -3622,7 +3663,7 @@ FindEndOfBattleScript: ; e52c (3:652c) .found_enemy ld a, [hli] - ld [wd3ab], a + ld [wTempNPC], a ld b, $0 add hl, bc ld c, [hl] @@ -3748,6 +3789,8 @@ ClubEntranceAfterDuel: ; e7f6 (3:67f6) dw OWSequence_LostToSecondRonaldFight db $00 +; A Ronald is already loaded or not loaded depending on Pre-Load scripts +; in data/npc_map_data.asm. This just starts a sequence if possible. LoadClubEntrance: ; e809 (3:6809) call TryFirstRonaldFight call TrySecondRonaldFight @@ -3756,7 +3799,7 @@ LoadClubEntrance: ; e809 (3:6809) TryFirstRonaldEncounter: ; e813 (3:6813) ld a, RONALD1 - ld [wd3ab], a + ld [wTempNPC], a call Func_39c3 ret c ld bc, OWSequence_FirstRonaldEncounter @@ -3768,7 +3811,7 @@ TryFirstRonaldFight: ; e822 (3:6822) call Func_39c3 ret c call Func_ca69 - ld c, h + db $4c or a ret nz ld bc, OWSequence_FirstRonaldFight @@ -3780,7 +3823,7 @@ TrySecondRonaldFight: ; e837 (3:6837) call Func_39c3 ret c call Func_ca69 - ld c, l + db $4d or a ret nz ld bc, OWSequenceSecondRonaldFight @@ -3792,7 +3835,7 @@ TrySecondRonaldFight: ; e837 (3:6837) OWSequence_FirstRonaldEncounter: ; e862 (3:6862) start_script run_script OWScript_MaxOutFlagValue - db $4b + db EVENT_FLAG_4B run_script Func_ce4a db $94 db $68 @@ -3802,10 +3845,10 @@ OWSequence_FirstRonaldEncounter: ; e862 (3:6862) tx Text0645 run_script OWScript_CloseTextBox run_script OWScript_MovePlayer - db $00 + db NORTH db $01 run_script OWScript_MovePlayer - db $00 + db NORTH db $01 run_script OWScript_PrintTextString tx Text0646 @@ -3827,7 +3870,7 @@ OWSequence_FirstRonaldEncounter: ; e862 (3:6862) run_script Func_d055 db $03 run_script OWScript_MovePlayer - db $01 + db EAST db $04 run_script Func_ce4a db $94 @@ -3858,15 +3901,15 @@ OWSequence_FirstRonaldFight: ; e8c0 (3:68c0) run_script Func_d055 db $03 run_script OWScript_MovePlayer - db $03 + db WEST db $01 run_script Func_d055 db $02 run_script OWScript_MovePlayer - db $02 + db SOUTH db $01 run_script OWScript_MovePlayer - db $02 + db SOUTH db $01 run_script OWScript_PrintTextString tx Text064b @@ -3931,15 +3974,15 @@ OWSequenceSecondRonaldFight: ; e91e (3:691e) run_script Func_d055 db $03 run_script OWScript_MovePlayer - db $03 + db WEST db $01 run_script Func_d055 db $02 run_script OWScript_MovePlayer - db $02 + db SOUTH db $01 run_script OWScript_MovePlayer - db $02 + db SOUTH db $01 run_script OWScript_PrintTextString tx Text0650 @@ -3987,11 +4030,11 @@ OWJump_FinishedSecondRonaldFight ; e959 (3:6959) Func_f580: ; f580 (3:7580) call Func_ca69 - ld b, h + db $44 cp $3 jr z, .asm_f596 call Func_ca69 - ld b, l + db $45 cp $3 ld d, $18 jr nz, .asm_f598 @@ -4014,12 +4057,15 @@ Func_f580: ; f580 (3:7580) ld a, [hl] .asm_f5ac - ld [wd3ab], a + ld [wTempNPC], a ld [wd696], a ret ; 0xf5b3 - INCROM $f5b3, $fc2b + INCROM $f5b3, $f602 + +Func_f602: ; f602 (3:7602) + INCROM $f602, $fc2b Func_fc2b: ; fc2b (3:7c2b) ld a, [wDuelResult] diff --git a/src/engine/bank04.asm b/src/engine/bank04.asm index e127f70..4cba1d9 100644 --- a/src/engine/bank04.asm +++ b/src/engine/bank04.asm @@ -495,7 +495,7 @@ INCLUDE "data/overworld_indexes.asm" Func_10fbc: ; 10fbc (4:4fbc) ld a, $25 - farcall Func_1299f + farcall CreateSpriteAndAnimBufferEntry ld c, SPRITE_ANIM_COORD_X call GetSpriteAnimBufferProperty ld a, $80 @@ -518,7 +518,7 @@ Func_10fde: ; 10fde (4:4fde) xor a ld [wd33e], a ld a, $25 - call Func_1299f + call CreateSpriteAndAnimBufferEntry ld a, [wWhichSprite] ld [wd33b], a ld b, $35 @@ -839,13 +839,13 @@ Func_115a3: ; 115a3 (4:55a3) INCLUDE "data/map_scripts.asm" -; loads a pointer into hl found on PointerTable_118f5 +; loads a pointer into hl found on NPCDataTable GetNPCDataPointer: ; 1184a (4:584a) ; this may have been a macro rlca - add LOW(PointerTable_118f5) + add LOW(NPCDataTable) ld l, a - ld a, HIGH(PointerTable_118f5) + ld a, HIGH(NPCDataTable) adc $00 ld h, a ld a, [hli] @@ -853,12 +853,12 @@ GetNPCDataPointer: ; 1184a (4:584a) ld l, a ret -Func_11857: ; 11857 (4:5857) +LoadNPCSpriteData: ; 11857 (4:5857) push hl push bc call GetNPCDataPointer ld a, [hli] - ld [wd3ab], a + ld [wTempNPC], a ld a, [hli] ld [wd3b3], a ld a, [hli] @@ -869,7 +869,7 @@ Func_11857: ; 11857 (4:5857) ld [wd3b2], a pop bc ld a, [wConsole] - cp $2 + cp CONSOLE_CGB jr nz, .asm_1187a ld a, b ld [wd3b1], a @@ -1036,7 +1036,7 @@ OverworldScriptTable: ; 1217b (4:617b) dw Func_d39d dw Func_d3b9 dw OWScript_GivePCPack - dw Func_d3d1 + dw OWScript_nop dw Func_d3d4 dw Func_d3e0 dw Func_d3fe @@ -1231,14 +1231,15 @@ Unknown_128fb: ; 128fb Func_1296e: ; 1296e (4:696e) INCROM $1296e, $1299f -Func_1299f: ; 1299f (4:699f) +; creates a new entry in SpriteAnimBuffer, Alse loads the sprite if need be +CreateSpriteAndAnimBufferEntry: ; 1299f (4:699f) push af ld a, [wd5d7] or a - jr z, .asm_129a8 + jr z, .continue pop af ret -.asm_129a8 +.continue pop af push bc push hl @@ -1246,50 +1247,50 @@ Func_1299f: ; 1299f (4:699f) ld [wd5d3], a xor a ld [wWhichSprite], a - call Func_3db7 - ld bc, $0010 -.asm_129bb + call GetFirstSpriteAnimBufferProperty + ld bc, SPRITE_ANIM_LENGTH +.findFirstEmptyAnimField ld a, [hl] or a - jr z, .asm_129cf + jr z, .foundEmptyAnimField add hl, bc ld a, [wWhichSprite] inc a ld [wWhichSprite], a cp $10 - jr nz, .asm_129bb + jr nz, .findFirstEmptyAnimField debug_ret scf - jr .asm_129d6 -.asm_129cf + jr .quit +.foundEmptyAnimField ld a, $1 ld [hl], a - call Func_129d9 + call FillNewSpriteAnimBufferEntry or a -.asm_129d6 +.quit pop hl pop bc ret -Func_129d9: ; 129d9 (4:69d9) +FillNewSpriteAnimBufferEntry: ; 129d9 (4:69d9) push hl push bc push hl inc hl - ld c, $f + ld c, SPRITE_ANIM_LENGTH - 1 xor a -.asm_129e0 +.clearSpriteAnimBufferEntryLoop ld [hli], a dec c - jr nz, .asm_129e0 + jr nz, .clearSpriteAnimBufferEntryLoop pop hl - ld bc, $0004 + ld bc, SPRITE_ANIM_FIELD_05 - 1 add hl, bc ld a, [wd5d3] ld [hli], a ld a, $ff ld [hl], a - ld bc, $0009 + ld bc, SPRITE_ANIM_MOVEMENT_COUNTER - SPRITE_ANIM_FIELD_05 add hl, bc ld a, $ff ld [hl], a @@ -1324,7 +1325,7 @@ Func_12ab5: ; 12ab5 (4:6ab5) Func_12ae2: ; 12ae2 (4:6ae2) push bc push af - call Func_3db7 + call GetFirstSpriteAnimBufferProperty pop af push hl ld bc, $0005 @@ -1335,12 +1336,12 @@ Func_12ae2: ; 12ae2 (4:6ae2) farcall GetMapDataPointer farcall Func_80229 pop hl - ld a, [wd4c6] + ld a, [wTempPointerBank] ld [hli], a - ld a, [wd4c4] + ld a, [wTempPointer] ld [hli], a ld c, a - ld a, [wd4c5] + ld a, [wTempPointer + 1] ld [hli], a ld b, a ld a, $3 @@ -1362,15 +1363,15 @@ Func_12b13: ; 12b13 (4:6b13) ld bc, $0006 add hl, bc ld a, [hli] - ld [wd4c6], a + ld [wTempPointerBank], a inc hl inc hl ld a, [hl] - ld [wd4c4], a + ld [wTempPointer], a add $4 ld [hli], a ld a, [hl] - ld [wd4c5], a + ld [wTempPointer + 1], a adc $0 ld [hl], a ld de, wd23e @@ -1423,11 +1424,11 @@ Func_12b6a: ; 12b6a (4:6b6a) ld bc, $0006 add hl, bc ld a, [hli] - ld [wd4c6], a + ld [wTempPointerBank], a ld a, [hli] - ld [wd4c4], a + ld [wTempPointer], a ld a, [hli] - ld [wd4c5], a + ld [wTempPointer + 1], a pop hl call Func_3d72 pop de @@ -1467,6 +1468,8 @@ Func_12ba7: ; 12ba7 (4:6ba7) Func_12bcd: ; 12bcd (4:6bcd) INCROM $12bcd, $12c05 +; gets some value based on the sprite in b and wd5d8 +; loads the sprites data if it doesn't already exist Func_12c05: ; 12c05 (4:6c05) push hl push bc @@ -1477,23 +1480,24 @@ Func_12c05: ; 12c05 (4:6c05) ld c, a ld hl, wd5d8 or a - jr z, .asm_12c22 -.asm_12c15 + jr z, .tryToAddSprite + +.findSpriteMatchLoop inc hl ld a, [hl] cp b - jr z, .asm_12c3a + jr z, .foundSpriteMatch inc hl ld a, [hli] add [hl] ld d, a inc hl dec c - jr nz, .asm_12c15 -.asm_12c22 + jr nz, .findSpriteMatchLoop +.tryToAddSprite ld a, [wd618] cp $10 - jr nc, .asm_12c48 + jr nc, .quitFail inc a ld [wd618], a inc hl @@ -1507,7 +1511,7 @@ Func_12c05: ; 12c05 (4:6c05) pop af ld [hl], a pop hl -.asm_12c3a +.foundSpriteMatch dec hl inc [hl] inc hl @@ -1515,15 +1519,15 @@ Func_12c05: ; 12c05 (4:6c05) ld a, [hli] add [hl] cp $81 - jr nc, .asm_12c48 + jr nc, .quitFail ld a, d or a - jr .asm_12c4b -.asm_12c48 + jr .quitSucceed +.quitFail debug_ret xor a scf -.asm_12c4b +.quitSucceed pop de pop bc pop hl @@ -1584,4 +1588,8 @@ Func_13485: ; 13485 (4:7485) ret ; 0x134b1 - INCROM $134b1, $14000 + INCROM $134b1, $1372f + +INCLUDE "data/npc_map_data.asm" + + INCROM $13b04, $14000 diff --git a/src/engine/bank07.asm b/src/engine/bank07.asm index 25534f1..0b2ec00 100644 --- a/src/engine/bank07.asm +++ b/src/engine/bank07.asm @@ -128,8 +128,83 @@ Func_1c477: ; 1c477 (7:4477) pop hl ret +; Loads NPC Sprite Data Func_1c485: ; 1c485 (7:4485) - INCROM $1c485, $1c50a + push hl + push bc + push de + xor a + ld [wd3aa], a + ld b, a + ld c, $08 + ld hl, wd34a + ld de, $c +.findEmptyIndexLoop + ld a, [hl] + or a + jr z, .foundEmptyIndex + add hl, de + inc b + dec c + jr nz, .findEmptyIndexLoop + ld hl, wd34a + debug_ret + jr .exit +.foundEmptyIndex + ld a, b + ld [wd3aa], a + ld a, [wd3b3] + farcall CreateSpriteAndAnimBufferEntry + jr c, .exit + ld a, [wd3aa] + call Func_39a7 + push hl + ld a, [wTempNPC] + ld [hli], a + ld a, [wWhichSprite] + ld [hli], a + ld a, [wLoadNPCXPos] + ld [hli], a + ld a, [wLoadNPCYPos] + ld [hli], a + ld a, [wLoadNPCDirection] + ld [hli], a + ld a, [wd3b2] + ld [hli], a + ld a, [wd3b1] + ld [hli], a + ld a, [wLoadNPCDirection] + ld [hli], a + call Func_1c58e + call Func_1c5b9 + ld hl, wd349 + inc [hl] + pop hl + call Func_1c665 + call Func_1c6e3 + ld a, [wTempNPC] + call Func_1c4fa + jr nc, .exit + ld a, $01 + ld [wd3b8], a +.exit + pop de + pop bc + pop hl + ret + +Func_1c4fa: ; 1c4fa (7:44fa) + cp RONALD1 + jr z, .asm_1c508 + cp RONALD2 + jr z, .asm_1c508 + cp RONALD3 + jr z, .asm_1c508 + or a + ret +.asm_1c508 + scf + ret Func_1c50a: ; 1c50a (7:450a) push hl @@ -190,10 +265,10 @@ Func_1c557: ; 1c557 (7:4557) ld c, a ld a, [wd3aa] push af - ld a, [wd3ab] + ld a, [wTempNPC] push af ld a, c - ld [wd3ab], a + ld [wTempNPC], a ld c, $0 call Func_39c3 jr c, .asm_1c570 @@ -202,7 +277,7 @@ Func_1c557: ; 1c557 (7:4557) .asm_1c570 pop af - ld [wd3ab], a + ld [wTempNPC], a pop af ld [wd3aa], a ld a, c @@ -253,6 +328,7 @@ Func_1c58e: ; 1c58e (7:458e) ret ; 0x1c5b9 +Func_1c5b9: ; 1c5b9 (7:45b9) INCROM $1c5b9, $1c5e9 Func_1c5e9: ; 1c5e9 (7:45e9) @@ -274,7 +350,25 @@ Func_1c5e9: ; 1c5e9 (7:45e9) INCROM $1c5ff, $1c610 Func_1c610: ; 1c610 (7:4610) - INCROM $1c610, $1c6f8 + INCROM $1c610, $1c665 + +Func_1c665: ; 1c665 (7:4665) + INCROM $1c665, $1c6e3 + +Func_1c6e3: ; 1c6e3 (7:46e3) + push hl + push bc + ld a, [$d3aa] + ld l, $02 + call Func_39ad + ld a, [hli] + ld b, a + ld c, [hl] + ld a, $40 + call SetPermissionOfMapPosition + pop bc + pop hl + ret Func_1c6f8: ; 1c6f8 (7:46f8) INCROM $1c6f8, $1c719 diff --git a/src/engine/bank20.asm b/src/engine/bank20.asm index 1502ea4..0086f96 100644 --- a/src/engine/bank20.asm +++ b/src/engine/bank20.asm @@ -31,7 +31,7 @@ Func_80077: ; 80077 (20:4077) inc hl ld [hl], d call Func_803b9 - ld a, [wd4c6] + ld a, [wTempPointerBank] ld [wd23d], a ld de, wd23e ld bc, $0006 @@ -58,10 +58,10 @@ Func_800bd: ; 800bd (20:40bd) push hl push bc push de - ld a, [wd4c4] + ld a, [wTempPointer] add $05 ld e, a - ld a, [wd4c5] + ld a, [wTempPointer + 1] adc $00 ld d, a ld b, $c0 @@ -298,12 +298,12 @@ GetMapDataPointer: ; 8020f (20:420f) Func_80229: ; 80229 (20:4229) ld a, [hli] - ld [wd4c4], a + ld [wTempPointer], a ld a, [hli] - ld [wd4c5], a + ld [wTempPointer + 1], a ld a, [hli] add $20 - ld [wd4c6], a + ld [wTempPointerBank], a ret ; 0x80238 @@ -342,7 +342,7 @@ asm_8027c ld e, [hl] inc hl ld d, [hl] - ld hl, wd4c4 + ld hl, wTempPointer ld a, [hli] ld h, [hl] ld l, a diff --git a/src/engine/home.asm b/src/engine/home.asm index 8545b3d..adcbabd 100644 --- a/src/engine/home.asm +++ b/src/engine/home.asm @@ -10865,7 +10865,7 @@ GetPermissionByteOfMapPosition: ; 3946 (0:3946) Func_395a: ; 395a (0:395a) ldh a, [hBankROM] push af - ld a, [wd4c6] + ld a, [wTempPointerBank] call BankswitchROM call CopyGfxData pop af @@ -10934,6 +10934,9 @@ Func_39ad: ; 39ad (0:39ad) pop bc ret +; Finds the index on wd34a table of the npc in wTempNPC +; returns it in a and puts it into wd3aa +; c flag set if no npc found Func_39c3: ; 39c3 (0:39c3) push hl push bc @@ -10944,21 +10947,21 @@ Func_39c3: ; 39c3 (0:39c3) ld c, $8 ld de, $000c ld hl, wd34a - ld a, [wd3ab] -.asm_39d6 + ld a, [wTempNPC] +.findNPCLoop cp [hl] - jr z, .asm_39e1 + jr z, .foundNPCMatch add hl, de inc b dec c - jr nz, .asm_39d6 + jr nz, .findNPCLoop scf - jr z, .asm_39e6 -.asm_39e1 + jr z, .exit +.foundNPCMatch ld a, b ld [wd3aa], a or a -.asm_39e6 +.exit pop de pop bc pop hl @@ -11059,7 +11062,7 @@ Func_3a5e: ; 3a5e (0:3a5e) ldh a, [hBankROM] push af ld l, $4 - call Func_3abd + call GetMapScriptPointer jr nc, .asm_3ab3 ld a, BANK(Func_c653) call BankswitchROM @@ -11113,7 +11116,10 @@ Func_3a5e: ; 3a5e (0:3a5e) call $49c2 ret -Func_3abd: ; 3abd (0:3abd) +; returns a map script pointer in hl given +; current map in wCurMap and which sub-script in l +; sets c if pointer is found +GetMapScriptPointer: ; 3abd (0:3abd) push bc push hl ld a, [wCurMap] @@ -11321,7 +11327,7 @@ ResetDoFrameFunction: ; 3bdb (0:3bdb) Func_3be4: ; 3be4 (0:3be4) ldh a, [hBankROM] push af - ld a, [wd4c6] + ld a, [wTempPointerBank] call BankswitchROM call Func_08de pop af @@ -11329,16 +11335,16 @@ Func_3be4: ; 3be4 (0:3be4) ret ; 0x3bf5 -; Copies bc bytes from [wd4c4] to de +; Copies bc bytes from [wTempPointer] to de CopyBankedDataToDE: ; 3bf5 (0:3bf5) ldh a, [hBankROM] push af push hl - ld a, [wd4c6] + ld a, [wTempPointerBank] call BankswitchROM - ld a, [wd4c4] + ld a, [wTempPointer] ld l, a - ld a, [wd4c5] + ld a, [wTempPointer + 1] ld h, a call CopyDataHLtoDE_SaveRegisters pop hl @@ -11635,11 +11641,11 @@ Func_3d72: ; 3d72 (0:3d72) xor a jr .asm_3da1 .asm_3d84 - ld a, [wd4c4] + ld a, [wTempPointer] ld l, a - ld a, [wd4c5] + ld a, [wTempPointer + 1] ld h, a - ld a, [wd4c6] + ld a, [wTempPointerBank] call BankswitchROM ld a, [hli] push af @@ -11670,7 +11676,7 @@ Func_3d72: ; 3d72 (0:3d72) call BankswitchROM ret -Func_3db7: ; 3db7 (0:3db7) +GetFirstSpriteAnimBufferProperty: ; 3db7 (0:3db7) push bc ld c, SPRITE_ANIM_FIELD_00 call GetSpriteAnimBufferProperty -- cgit v1.2.3 From a44f17b9a15cf1a572d5e8056a69c368265729f2 Mon Sep 17 00:00:00 2001 From: Andrew Martinek Date: Sun, 6 Oct 2019 23:00:27 -0400 Subject: Fixed a few macros that were giving weird code. Updated tcgdisasm --- src/engine/bank03.asm | 507 +++++++++++++++++++++++--------------------------- src/engine/bank04.asm | 12 +- src/engine/bank07.asm | 128 ++++++------- src/engine/home.asm | 37 ++-- 4 files changed, 325 insertions(+), 359 deletions(-) (limited to 'src/engine') diff --git a/src/engine/bank03.asm b/src/engine/bank03.asm index 5330bd1..c75c009 100644 --- a/src/engine/bank03.asm +++ b/src/engine/bank03.asm @@ -109,18 +109,18 @@ Func_c0ed: ; c0ed (3:40ed) Func_c0f1: ; c0f1 (3:40f1) ld a, [wd3b6] - ld [wd3aa], a - farcall Func_1c768 + ld [wLoadedNPCTempIndex], a + farcall SetNewOWSequenceNPC ld a, c - ld [wd0c6], a + ld [wNextOWSequence], a ld a, b - ld [wd0c7], a + ld [wNextOWSequence+1], a ld a, $3 ld [wd0bf], a jr Func_c10a Func_c10a: ; c10a (3:410a) - ld hl, wd0c6 + ld hl, wNextOWSequence ld a, [hli] ld h, [hl] ld l, a @@ -135,7 +135,7 @@ CloseAdvancedDialogueBox: ; c111 (3:4111) bit 1, a jr z, .asm_c12a ld a, [wd3b6] - ld [wd3aa], a + ld [wLoadedNPCTempIndex], a farcall Func_1c5e9 .asm_c12a xor a @@ -177,11 +177,11 @@ Func_c158: ; c158 (3:4158) ret nz ld a, [wd0c4] ld [wTempNPC], a - call Func_39c3 + call FindLoadedNPC jr c, .asm_c179 - ld a, [wd3aa] - ld l, $4 - call Func_39ad + ld a, [wLoadedNPCTempIndex] + ld l, LOADED_NPC_DIRECTION + call GetItemInLoadedNPCIndex ld a, [wd0c5] ld [hl], a farcall Func_1c58e @@ -283,7 +283,7 @@ Func_c228: ; c228 (3:4228) ld [wd0bc], a ld a, [wPlayerYCoord] ld [wd0bd], a - ld a, [wd334] + ld a, [wPlayerDirection] ld [wd0be], a ret @@ -591,7 +591,7 @@ Func_c4b9: ; c4b9 (3:44b9) ld b, a .asm_c4ee ld a, b - ld [wd334], a + ld [wPlayerDirection], a call Func_c5e9 ld a, [wCurMap] cp OVERWORLD_MAP @@ -716,7 +716,7 @@ Func_c5ac: ; c5ac (3:45ac) Func_c5cb: ; c5cb (3:45cb) call Func_c5d5 Func_c5ce: ; c5ce (3:45ce) - ld [wd334], a + ld [wPlayerDirection], a call Func_c5e9 ret @@ -744,7 +744,7 @@ Func_c5e9: ; c5e9 (3:45e9) ld [wWhichSprite], a ld a, [wd337] ld b, a - ld a, [wd334] + ld a, [wPlayerDirection] add b farcall Func_12ab5 pop bc @@ -802,7 +802,7 @@ AttemptScriptedMovement: ; c619 (3:4619) ret Func_c653: ; c653 (3:4653) - ld a, [wd334] + ld a, [wPlayerDirection] FindScriptedMovementWithOffset: ; c656 (3:4656) rlca @@ -833,7 +833,7 @@ Func_c66c: ; c66c (3:466c) jr c, .asm_c67e inc c .asm_c67e - ld a, [wd334] + ld a, [wPlayerDirection] call Func_c694 pop bc pop hl @@ -949,7 +949,7 @@ Func_c71e: ; c71e (3:471e) jr z, .asm_c73d farcall Func_1c72e jr c, .asm_c73d - ld a, [wd3aa] + ld a, [wLoadedNPCTempIndex] ld [wd3b6], a ld a, $2 jr .asm_c748 @@ -1201,18 +1201,18 @@ Func_c915: ; c915 (3:4915) pop bc ret -Func_c926: ; c926 (3:4926) +SetNextNPCAndOWSequence: ; c926 (3:4926) push bc - call Func_39c3 - ld a, [wd3aa] + call FindLoadedNPC + ld a, [wLoadedNPCTempIndex] ld [wd3b6], a - farcall Func_1c768 + farcall SetNewOWSequenceNPC pop bc ; fallthrough -Func_c935: ; c935 (3:4935) +SetNextOWSequence: ; c935 (3:4935) push hl - ld hl, wd0c6 + ld hl, wNextOWSequence ld [hl], c inc hl ld [hl], b @@ -1332,8 +1332,7 @@ Func_c9dd: ; c9dd (3:49dd) Func_c9e8: ; c9e8 (3:49e8) ld c, $0 - call Func_ca69 - db $13 + get_flag_value EVENT_FLAG_13 cp $2 jr c, .asm_ca04 .asm_c9f2 @@ -1348,8 +1347,7 @@ Func_c9e8: ; c9e8 (3:49e8) jr z, .asm_c9f2 .asm_ca04 ld a, c - call Func_ca8f - db $34 + set_flag_value EVENT_FLAG_34 ret Unknown_ca0a: ; ca0a (3:4a04) @@ -1359,12 +1357,10 @@ Func_ca0e: ; ca0e (3:4a0e) ld a, [wd32e] cp $b jr z, .asm_ca68 - call Func_ca69 - db $22 + get_flag_value EVENT_FLAG_22 or a jr nz, .asm_ca4a - call Func_ca69 - db $40 + get_flag_value EVENT_FLAG_40 cp $7 jr z, .asm_ca68 or a @@ -1372,12 +1368,10 @@ Func_ca0e: ; ca0e (3:4a0e) cp $2 jr z, .asm_ca62 ld c, $1 - call Func_ca8f - db $40 + set_flag_value EVENT_FLAG_40 jr .asm_ca62 .asm_ca33 - call Func_ca69 - db $3f + get_flag_value EVENT_FLAG_3F cp $7 jr z, .asm_ca68 or a @@ -1385,8 +1379,7 @@ Func_ca0e: ; ca0e (3:4a0e) cp $2 jr z, .asm_ca68 ld c, $1 - call Func_ca8f - db $3f + set_flag_value EVENT_FLAG_3F jr .asm_ca68 .asm_ca4a call UpdateRNGSources @@ -1396,22 +1389,20 @@ Func_ca0e: ; ca0e (3:4a0e) jr z, .asm_ca56 ld c, $0 .asm_ca56 - call Func_ca8f - db $41 + set_flag_value EVENT_FLAG_41 jr .asm_ca5c .asm_ca5c ld c, $7 - call Func_ca8f - db $40 + set_flag_value EVENT_FLAG_40 .asm_ca62 ld c, $7 - call Func_ca8f - db $3f + set_flag_value EVENT_FLAG_3F .asm_ca68 ret -Func_ca69: ; ca69 (3:4a69) - call Func_cab3 +GetStackFlagValue: ; ca69 (3:4a69) + call GetByteAfterCall +; fallthrough ; returns the event flag's value in a ; also ors it with itself before returning @@ -1437,8 +1428,11 @@ GetEventFlagValue: ; ca6c (3:4a6c) INCROM $ca84, $ca8f -Func_ca8f: ; ca8f (3:4a8f) - call Func_cab3 +; Use macro set_flag_value. The byte db'd after this func is called +; is used at the flag argument for SetEventFlagValue +SetStackFlagValue: ; ca8f (3:4a8f) + call GetByteAfterCall +; fallthrough ; a - flag ; c - value - truncated to fit only the flag's bounds @@ -1466,7 +1460,8 @@ SetEventFlagValue: ; ca92 (3:4a92) pop hl ret -Func_cab3: ; cab3 (3:4ab3) +; returns in a the byte db'd after the call to a function that calls this +GetByteAfterCall: ; cab3 (3:4ab3) push hl ld hl, sp+$4 push bc @@ -1493,8 +1488,8 @@ MaxOutEventFlag: ; cac5 (3:4ac5) ret ; 0xcacd -Func_cacd: ; cacd (3:4acd) - call Func_cab3 +ZeroStackFlagValue: ; cacd (3:4acd) + call GetByteAfterCall ; fallthrough ZeroOutEventFlag: ; cad0 (3:4ad0) @@ -1519,8 +1514,8 @@ Func_cad8: ; cad8 (3:4ad8) dec c jr nz, .asm_cae0 ld c, b - call Func_ca8f - ld l, $79 + set_flag_value EVENT_FLAG_2E + ld a, c push af cp $8 jr nc, .asm_caff @@ -1572,126 +1567,125 @@ GetEventFlag: ; cb1d (3:4b1d) ; offset - bytes to set or reset EventFlagMods: ; cb37 (3:4b37) - const_def - flag_def EVENT_FLAG_00, $3f, %10000000 - flag_def EVENT_FLAG_01, $3f, %01000000 - flag_def EVENT_FLAG_02, $3f, %00100000 - flag_def EVENT_FLAG_03, $3f, %00010000 - flag_def EVENT_FLAG_04, $3f, %00001000 - flag_def EVENT_FLAG_05, $3f, %00000100 - flag_def EVENT_FLAG_06, $3f, %00000010 - flag_def EVENT_FLAG_07, $3f, %00000001 - flag_def EVENT_FLAG_08, $00, %10000000 - flag_def EVENT_FLAG_09, $00, %01000000 - flag_def EVENT_FLAG_0A, $00, %00100000 - flag_def EVENT_BEAT_AMY, $00, %00010000 - flag_def EVENT_FLAG_0C, $00, %00001000 - flag_def EVENT_FLAG_0D, $00, %00000100 - flag_def EVENT_FLAG_0E, $00, %00000010 - flag_def EVENT_FLAG_0F, $00, %00000001 - flag_def EVENT_FLAG_10, $00, %11111111 - flag_def EVENT_FLAG_11, $01, %11110000 - flag_def EVENT_FLAG_12, $01, %00001111 - flag_def EVENT_FLAG_13, $02, %11000000 - flag_def EVENT_FLAG_14, $02, %00110000 - flag_def EVENT_BEAT_SARA, $02, %00001000 - flag_def EVENT_BEAT_AMANDA, $02, %00000100 - flag_def EVENT_FLAG_17, $03, %11110000 - flag_def EVENT_FLAG_18, $03, %00001111 - flag_def EVENT_FLAG_19, $04, %11110000 - flag_def EVENT_FLAG_1A, $04, %00001111 - flag_def EVENT_FLAG_1B, $05, %10000000 - flag_def EVENT_FLAG_1C, $05, %01000000 - flag_def EVENT_FLAG_1D, $05, %00100000 - flag_def EVENT_FLAG_1E, $05, %00010000 - flag_def EVENT_FLAG_1F, $05, %00001111 - flag_def EVENT_FLAG_20, $06, %11110000 - flag_def EVENT_FLAG_21, $06, %00001100 - flag_def EVENT_FLAG_22, $06, %00000010 - flag_def EVENT_FLAG_23, $06, %00000001 - flag_def EVENT_FLAG_24, $07, %11000000 - flag_def EVENT_FLAG_25, $07, %00100000 - flag_def EVENT_FLAG_26, $07, %00010000 - flag_def EVENT_FLAG_27, $07, %00001000 - flag_def EVENT_FLAG_28, $07, %00000100 - flag_def EVENT_FLAG_29, $07, %00000010 - flag_def EVENT_FLAG_2A, $07, %00000001 - flag_def EVENT_FLAG_2B, $08, %11111111 - flag_def EVENT_FLAG_2C, $09, %11100000 - flag_def EVENT_FLAG_2D, $09, %00011111 - flag_def EVENT_FLAG_2E, $0a, %11110000 - flag_def EVENT_FLAG_2F, $0a, %00001000 - flag_def EVENT_FLAG_30, $0a, %00000100 - flag_def EVENT_FLAG_31, $0a, %00000011 - flag_def EVENT_FLAG_32, $0b, %10000000 - flag_def EVENT_JOSHUA_STATE, $0b, %01110000 - flag_def EVENT_FLAG_34, $0b, %00001100 - flag_def EVENT_FLAG_35, $0b, %00000011 - flag_def EVENT_FLAG_36, $0c, %11100000 - flag_def EVENT_FLAG_37, $0c, %00011100 - flag_def EVENT_FLAG_38, $0c, %00000010 - flag_def EVENT_FLAG_39, $0c, %00000001 - flag_def EVENT_FLAG_3A, $0d, %10000000 - flag_def EVENT_FLAG_3B, $0d, %01000000 - flag_def FLAG_BEAT_BRITTANY, $0d, %00100000 - flag_def EVENT_FLAG_3D, $0d, %00010000 - flag_def EVENT_FLAG_3E, $0d, %00001110 - flag_def EVENT_FLAG_3F, $0e, %11100000 - flag_def EVENT_FLAG_40, $0e, %00011100 - flag_def EVENT_FLAG_41, $0f, %11100000 - flag_def EVENT_FLAG_42, $10, %10000000 - flag_def EVENT_FLAG_43, $10, %01000000 - flag_def EVENT_FLAG_44, $10, %00110000 - flag_def EVENT_FLAG_45, $10, %00001100 - flag_def EVENT_FLAG_46, $10, %00000010 - flag_def EVENT_FLAG_47, $10, %00000001 - flag_def EVENT_FLAG_48, $11, %11100000 - flag_def EVENT_FLAG_49, $11, %00011100 - flag_def EVENT_FLAG_4A, $12, %11100000 - flag_def EVENT_FLAG_4B, $13, %10000000 - flag_def EVENT_FLAG_4C, $13, %01100000 - flag_def EVENT_FLAG_4D, $13, %00011000 - flag_def EVENT_FLAG_4E, $13, %00000100 - flag_def EVENT_FLAG_4F, $13, %00000010 - flag_def EVENT_FLAG_50, $14, %10000000 - flag_def EVENT_FLAG_51, $14, %01000000 - flag_def EVENT_FLAG_52, $14, %00100000 - flag_def EVENT_FLAG_53, $14, %00010000 - flag_def EVENT_FLAG_54, $14, %00001000 - flag_def EVENT_FLAG_55, $14, %00000100 - flag_def EVENT_FLAG_56, $14, %00000010 - flag_def EVENT_FLAG_57, $14, %00000001 - flag_def EVENT_FLAG_58, $15, %11110000 - flag_def EVENT_FLAG_59, $15, %00001000 - flag_def EVENT_FLAG_5A, $16, %10000000 - flag_def EVENT_FLAG_5B, $16, %01000000 - flag_def EVENT_FLAG_5C, $16, %00100000 - flag_def EVENT_FLAG_5D, $16, %00010000 - flag_def EVENT_FLAG_5E, $16, %00001000 - flag_def EVENT_FLAG_5F, $16, %00000100 - flag_def EVENT_FLAG_60, $16, %00000010 - flag_def EVENT_FLAG_61, $16, %00000001 - flag_def EVENT_FLAG_62, $16, %11111111 - flag_def EVENT_FLAG_63, $17, %10000000 - flag_def EVENT_FLAG_64, $17, %01000000 - flag_def EVENT_FLAG_65, $17, %00110000 - flag_def EVENT_FLAG_66, $17, %00001000 - flag_def EVENT_FLAG_67, $17, %00000100 - flag_def EVENT_FLAG_68, $18, %11000000 - flag_def EVENT_FLAG_69, $18, %00110000 - flag_def EVENT_FLAG_6A, $18, %00001100 - flag_def EVENT_FLAG_6B, $18, %00000011 - flag_def EVENT_FLAG_6C, $19, %11000000 - flag_def EVENT_FLAG_6D, $19, %00100000 - flag_def EVENT_FLAG_6E, $19, %00010000 - flag_def EVENT_FLAG_6F, $19, %00001000 - flag_def EVENT_FLAG_70, $19, %00000100 - flag_def EVENT_FLAG_71, $19, %00111100 - flag_def EVENT_FLAG_72, $1a, %11111100 - flag_def EVENT_FLAG_73, $1a, %00000011 - flag_def EVENT_FLAG_74, $1b, %11111111 - flag_def EVENT_FLAG_75, $1c, %11110000 - flag_def EVENT_FLAG_76, $1c, %00001111 + flag_def $3f, %10000000 ; EVENT_FLAG_00 + flag_def $3f, %01000000 ; EVENT_FLAG_01 + flag_def $3f, %00100000 ; EVENT_FLAG_02 + flag_def $3f, %00010000 ; EVENT_FLAG_03 + flag_def $3f, %00001000 ; EVENT_FLAG_04 + flag_def $3f, %00000100 ; EVENT_FLAG_05 + flag_def $3f, %00000010 ; EVENT_FLAG_06 + flag_def $3f, %00000001 ; EVENT_FLAG_07 + flag_def $00, %10000000 ; EVENT_FLAG_08 + flag_def $00, %01000000 ; EVENT_FLAG_09 + flag_def $00, %00100000 ; EVENT_FLAG_0A + flag_def $00, %00010000 ; EVENT_BEAT_AMY + flag_def $00, %00001000 ; EVENT_FLAG_0C + flag_def $00, %00000100 ; EVENT_FLAG_0D + flag_def $00, %00000010 ; EVENT_FLAG_0E + flag_def $00, %00000001 ; EVENT_FLAG_0F + flag_def $00, %11111111 ; EVENT_FLAG_10 + flag_def $01, %11110000 ; EVENT_FLAG_11 + flag_def $01, %00001111 ; EVENT_FLAG_12 + flag_def $02, %11000000 ; EVENT_FLAG_13 + flag_def $02, %00110000 ; EVENT_FLAG_14 + flag_def $02, %00001000 ; EVENT_BEAT_SARA + flag_def $02, %00000100 ; EVENT_BEAT_AMANDA + flag_def $03, %11110000 ; EVENT_FLAG_17 + flag_def $03, %00001111 ; EVENT_FLAG_18 + flag_def $04, %11110000 ; EVENT_FLAG_19 + flag_def $04, %00001111 ; EVENT_FLAG_1A + flag_def $05, %10000000 ; EVENT_FLAG_1B + flag_def $05, %01000000 ; EVENT_FLAG_1C + flag_def $05, %00100000 ; EVENT_FLAG_1D + flag_def $05, %00010000 ; EVENT_FLAG_1E + flag_def $05, %00001111 ; EVENT_FLAG_1F + flag_def $06, %11110000 ; EVENT_FLAG_20 + flag_def $06, %00001100 ; EVENT_FLAG_21 + flag_def $06, %00000010 ; EVENT_FLAG_22 + flag_def $06, %00000001 ; EVENT_FLAG_23 + flag_def $07, %11000000 ; EVENT_FLAG_24 + flag_def $07, %00100000 ; EVENT_FLAG_25 + flag_def $07, %00010000 ; EVENT_FLAG_26 + flag_def $07, %00001000 ; EVENT_FLAG_27 + flag_def $07, %00000100 ; EVENT_FLAG_28 + flag_def $07, %00000010 ; EVENT_FLAG_29 + flag_def $07, %00000001 ; EVENT_FLAG_2A + flag_def $08, %11111111 ; EVENT_FLAG_2B + flag_def $09, %11100000 ; EVENT_FLAG_2C + flag_def $09, %00011111 ; EVENT_FLAG_2D + flag_def $0a, %11110000 ; EVENT_FLAG_2E + flag_def $0a, %00001000 ; EVENT_FLAG_2F + flag_def $0a, %00000100 ; EVENT_FLAG_30 + flag_def $0a, %00000011 ; EVENT_FLAG_31 + flag_def $0b, %10000000 ; EVENT_FLAG_32 + flag_def $0b, %01110000 ; EVENT_JOSHUA_STATE + flag_def $0b, %00001100 ; EVENT_FLAG_34 + flag_def $0b, %00000011 ; EVENT_FLAG_35 + flag_def $0c, %11100000 ; EVENT_FLAG_36 + flag_def $0c, %00011100 ; EVENT_FLAG_37 + flag_def $0c, %00000010 ; EVENT_FLAG_38 + flag_def $0c, %00000001 ; EVENT_FLAG_39 + flag_def $0d, %10000000 ; EVENT_FLAG_3A + flag_def $0d, %01000000 ; EVENT_FLAG_3B + flag_def $0d, %00100000 ; FLAG_BEAT_BRITTANY + flag_def $0d, %00010000 ; EVENT_FLAG_3D + flag_def $0d, %00001110 ; EVENT_FLAG_3E + flag_def $0e, %11100000 ; EVENT_FLAG_3F + flag_def $0e, %00011100 ; EVENT_FLAG_40 + flag_def $0f, %11100000 ; EVENT_FLAG_41 + flag_def $10, %10000000 ; EVENT_FLAG_42 + flag_def $10, %01000000 ; EVENT_FLAG_43 + flag_def $10, %00110000 ; EVENT_FLAG_44 + flag_def $10, %00001100 ; EVENT_FLAG_45 + flag_def $10, %00000010 ; EVENT_FLAG_46 + flag_def $10, %00000001 ; EVENT_FLAG_47 + flag_def $11, %11100000 ; EVENT_FLAG_48 + flag_def $11, %00011100 ; EVENT_FLAG_49 + flag_def $12, %11100000 ; EVENT_FLAG_4A + flag_def $13, %10000000 ; EVENT_FLAG_4B + flag_def $13, %01100000 ; EVENT_FLAG_4C + flag_def $13, %00011000 ; EVENT_FLAG_4D + flag_def $13, %00000100 ; EVENT_FLAG_4E + flag_def $13, %00000010 ; EVENT_FLAG_4F + flag_def $14, %10000000 ; EVENT_FLAG_50 + flag_def $14, %01000000 ; EVENT_FLAG_51 + flag_def $14, %00100000 ; EVENT_FLAG_52 + flag_def $14, %00010000 ; EVENT_FLAG_53 + flag_def $14, %00001000 ; EVENT_FLAG_54 + flag_def $14, %00000100 ; EVENT_FLAG_55 + flag_def $14, %00000010 ; EVENT_FLAG_56 + flag_def $14, %00000001 ; EVENT_FLAG_57 + flag_def $15, %11110000 ; EVENT_FLAG_58 + flag_def $15, %00001000 ; EVENT_FLAG_59 + flag_def $16, %10000000 ; EVENT_FLAG_5A + flag_def $16, %01000000 ; EVENT_FLAG_5B + flag_def $16, %00100000 ; EVENT_FLAG_5C + flag_def $16, %00010000 ; EVENT_FLAG_5D + flag_def $16, %00001000 ; EVENT_FLAG_5E + flag_def $16, %00000100 ; EVENT_FLAG_5F + flag_def $16, %00000010 ; EVENT_FLAG_60 + flag_def $16, %00000001 ; EVENT_FLAG_61 + flag_def $16, %11111111 ; EVENT_FLAG_62 + flag_def $17, %10000000 ; EVENT_FLAG_63 + flag_def $17, %01000000 ; EVENT_FLAG_64 + flag_def $17, %00110000 ; EVENT_FLAG_65 + flag_def $17, %00001000 ; EVENT_FLAG_66 + flag_def $17, %00000100 ; EVENT_FLAG_67 + flag_def $18, %11000000 ; EVENT_FLAG_68 + flag_def $18, %00110000 ; EVENT_FLAG_69 + flag_def $18, %00001100 ; EVENT_FLAG_6A + flag_def $18, %00000011 ; EVENT_FLAG_6B + flag_def $19, %11000000 ; EVENT_FLAG_6C + flag_def $19, %00100000 ; EVENT_FLAG_6D + flag_def $19, %00010000 ; EVENT_FLAG_6E + flag_def $19, %00001000 ; EVENT_FLAG_6F + flag_def $19, %00000100 ; EVENT_FLAG_70 + flag_def $19, %00111100 ; EVENT_FLAG_71 + flag_def $1a, %11111100 ; EVENT_FLAG_72 + flag_def $1a, %00000011 ; EVENT_FLAG_73 + flag_def $1b, %11111111 ; EVENT_FLAG_74 + flag_def $1c, %11110000 ; EVENT_FLAG_75 + flag_def $1c, %00001111 ; EVENT_FLAG_76 Func_cc25: ; cc25 (3:4c25) ld hl, wd0ca @@ -1877,8 +1871,8 @@ OWScript_AskQuestionJump: ; cce9 (3:4ce9) OWScript_StartBattle: ; cd01 (3:4d01) call Func_cd66 ld a, [wd3b6] - ld l, $0 - call Func_39ad + ld l, LOADED_NPC_ID + call GetItemInLoadedNPCIndex ld a, [hl] farcall Func_118d3 ld a, [wcc19] @@ -1893,8 +1887,8 @@ OWScript_StartBattle: ; cd01 (3:4d01) ld [wcc19], a .asm_cd26 ld a, [wd3b6] - ld l, $0 - call Func_39ad + ld l, LOADED_NPC_ID + call GetItemInLoadedNPCIndex ld a, [hl] asm_cd2f ld [wd0c4], a @@ -1952,8 +1946,7 @@ OWScript_PrintVariableText: ; cd83 (3:4d83) jp IncreaseOWScriptPointerBy5 Func_cd94: ; cd94 (3:4d94) - call Func_ca69 - db $44 + get_flag_value EVENT_FLAG_44 Unknown_cd98: dec a and $3 @@ -1989,28 +1982,28 @@ OWScript_PrintTextCloseBox: ; cdb9 (3:4db9) Func_cdcb: ; cdcb (3:4dcb) ld a, [wd3b6] - ld [wd3aa], a + ld [wLoadedNPCTempIndex], a Func_cdd1: ; cdd1 (3:4dd1) farcall Func_1c50a jp IncreaseOWScriptPointerBy1 Func_cdd8: ; cdd8 (3:4dd8) - ld a, [wd3aa] + ld a, [wLoadedNPCTempIndex] push af ld a, [wTempNPC] push af ld a, [wd696] ld [wTempNPC], a - call Func_39c3 + call FindLoadedNPC call Func_cdd1 pop af ld [wTempNPC], a pop af - ld [wd3aa], a + ld [wLoadedNPCTempIndex], a ret Func_cdf5: ; cdf5 (3:4df5) - ld a, [wd3aa] + ld a, [wLoadedNPCTempIndex] push af ld a, [wTempNPC] push af @@ -2028,12 +2021,12 @@ Func_cdf5: ; cdf5 (3:4df5) pop af ld [wTempNPC], a pop af - ld [wd3aa], a + ld [wLoadedNPCTempIndex], a jp IncreaseOWScriptPointerBy3 Func_ce26: ; ce26 (3:4e26) ld a, [wd3b6] - ld [wd3aa], a + ld [wLoadedNPCTempIndex], a farcall Func_1c455 rlca add c @@ -2055,27 +2048,27 @@ Func_ce3a: ; ce3a (3:4e3a) Func_ce4a: ; ce4a (3:4e4a) ld a, [wd3b6] - ld [wd3aa], a + ld [wLoadedNPCTempIndex], a jr Func_ce3a Func_ce52: ; ce52 (3:4e52) - ld a, [wd3aa] + ld a, [wLoadedNPCTempIndex] push af ld a, [wTempNPC] push af ld a, [wd696] asm_ce5d ld [wTempNPC], a - call Func_39c3 + call FindLoadedNPC call Func_ce3a pop af ld [wTempNPC], a pop af - ld [wd3aa], a + ld [wLoadedNPCTempIndex], a ret Func_ce6f: ; ce6f (3:4e6f) - ld a, [wd3aa] + ld a, [wLoadedNPCTempIndex] push af ld a, [wTempNPC] push af @@ -2274,8 +2267,7 @@ Func_cf7b: ; cf7b (3:4f7b) Func_cf96: ; cf96 (3:4f96) ld c, $0 - call Func_ca69 - db $11 + get_flag_value EVENT_FLAG_11 or a jr z, Func_cfc0 cp a, $08 @@ -2283,15 +2275,13 @@ Func_cf96: ; cf96 (3:4f96) inc c .asm_cfa4 - call Func_ca69 - db $17 + get_flag_value EVENT_FLAG_17 cp $8 jr c, .asm_cfad inc c .asm_cfad - call Func_ca69 - db $20 + get_flag_value EVENT_FLAG_20 cp a, $08 jr c, .asm_cfb6 inc c @@ -2308,14 +2298,13 @@ Func_cfc0: ; cfc0 (3:4fc0) Func_cfc6: ; cfc6 (3:4fc6) ld a, [wd3b6] - ld [wd3aa], a + ld [wLoadedNPCTempIndex], a ld a, c farcall Func_1c52e jp IncreaseOWScriptPointerBy2 Func_cfd4: ; cfd4 (3:4fd4) - call Func_ca69 - db $2d + get_flag_value EVENT_FLAG_2D ld b, a .asm_cfd9 ld a, $5 @@ -2339,15 +2328,13 @@ Func_cfd4: ; cfd4 (3:4fd4) or b push bc ld c, a - call Func_ca8f - dec l + set_flag_value EVENT_FLAG_2D pop bc ld b, $0 ld hl, Data_d006 add hl, bc ld c, [hl] - call Func_ca8f - dec hl + set_flag_value EVENT_FLAG_2B jp IncreaseOWScriptPointerBy1 Data_d006: ; d006 (3:5006) @@ -2359,8 +2346,7 @@ Func_d00b: ; d00b (3:500b) ld hl, wTxRam2 add hl, bc push hl - call Func_ca69 - db $2b + get_flag_value EVENT_FLAG_2B ld e, a ld d, $0 call GetCardName @@ -2371,22 +2357,19 @@ Func_d00b: ; d00b (3:500b) jp IncreaseOWScriptPointerBy2 Func_d025: ; d025 (3:5025) - call Func_ca69 - db $2b + get_flag_value EVENT_FLAG_2B call GetCardCountInCollectionAndDecks jp c, Func_cf67 jp Func_cf6d Func_d032: ; d032 (3:5032) - call Func_ca69 - db $2b + get_flag_value EVENT_FLAG_2B call GetCardCountInCollection jp c, Func_cf67 jp Func_cf6d Func_d03f: ; d03f (3:503f) - call Func_ca69 - db $2b + get_flag_value EVENT_FLAG_2B call RemoveCardFromCollection jp IncreaseOWScriptPointerBy1 @@ -2433,17 +2416,17 @@ Func_d088: ; d088 (3:5088) ld a, c ld [wTempNPC], a call GetOWSArgs2AfterPointer - call Func_c926 + call SetNextNPCAndOWSequence jp IncreaseOWScriptPointerBy4 Func_d095: ; d095 (3:5095) ld a, [wd3b6] - ld [wd3aa], a + ld [wLoadedNPCTempIndex], a push bc call GetOWSArgs3AfterPointer ld a, [wd3b6] - ld l, $5 - call Func_39ad + ld l, LOADED_NPC_FIELD_05 + call GetItemInLoadedNPCIndex res 4, [hl] ld a, [hl] or c @@ -2462,7 +2445,7 @@ Func_d095: ; d095 (3:5095) Func_d0be: ; d0be (3:50be) ld a, [wd3b6] - ld [wd3aa], a + ld [wLoadedNPCTempIndex], a ld a, c ld c, b ld b, a @@ -2479,7 +2462,7 @@ OWScript_DoFrames: ; d0ce (3:50ce) Func_d0d9: ; d0d9 (3:50d9) ld a, [wd3b6] - ld [wd3aa], a + ld [wLoadedNPCTempIndex], a ld d, c ld e, b farcall Func_1c477 @@ -2501,13 +2484,13 @@ Func_d0f2: ; d0f2 (3:50f2) jp ScriptEventPassedTryJump Func_d103: ; d103 (3:5103) - ld a, [wd3aa] + ld a, [wLoadedNPCTempIndex] push af ld a, [wTempNPC] push af ld a, c ld [wTempNPC], a - call Func_39c3 + call FindLoadedNPC jr c, .asm_d119 call $54d1 jr .asm_d11c @@ -2519,7 +2502,7 @@ Func_d103: ; d103 (3:5103) pop af ld [wTempNPC], a pop af - ld [wd3aa], a + ld [wLoadedNPCTempIndex], a ret Func_d125: ; d125 (3:5125) @@ -2582,12 +2565,10 @@ Func_d16b: ; d16b (3:516b) Func_d195: ; d195 (3:5195) ld a, [wTempNPC] push af - call Func_ca69 - db $45 + get_flag_value EVENT_FLAG_45 inc a ld c, a - call Func_ca8f - ld b, l + set_flag_value EVENT_FLAG_45 call Func_f580 pop af ld [wTempNPC], a @@ -2598,8 +2579,7 @@ Func_d1ad: ; d1ad (3:51ad) jp IncreaseOWScriptPointerBy1 Func_d1b3: ; d1b3 (3:51b3) - call Func_ca69 - db $44 + get_flag_value EVENT_FLAG_44 dec a cp $2 jr c, .asm_d1c3 @@ -2627,8 +2607,7 @@ asm_d1c6 INCROM $d1dc, $d209 Func_d209: ; d209 (3:5209) - call Func_ca69 - db $71 + get_flag_value EVENT_FLAG_71 ld e, a .asm_d20e call UpdateRNGSources @@ -2670,8 +2649,7 @@ Func_d24c: ; d24c (3:524c) call Func_d28c ld a, [wd695] ld c, a - call Func_ca8f - halt + set_flag_value EVENT_FLAG_76 jp IncreaseOWScriptPointerBy1 INCROM $d25e, $d271 @@ -2767,8 +2745,7 @@ Func_d2f6: ; d2f6 (3:52f6) call Func_d28c ld a, [wd694] ld c, a - call Func_ca8f - ld [hl], l + set_flag_value EVENT_FLAG_75 xor a ld [wd694], a jp IncreaseOWScriptPointerBy1 @@ -2782,8 +2759,7 @@ Func_d317: ; d317 (3:5317) call Func_d28c ld a, [wd694] ld c, a - call Func_ca8f - ld [hl], l + set_flag_value EVENT_FLAG_75 jp IncreaseOWScriptPointerBy1 @@ -2849,8 +2825,7 @@ Func_d39d: ; d39d (3:539d) jr nz, .asm_d3ac farcall Func_10dba ld c, a - call Func_ca8f - ld [hl], d + set_flag_value EVENT_FLAG_72 jr .asm_d3b6 .asm_d3ac @@ -3072,41 +3047,34 @@ OWScript_JumpIfFlagZero2: LoadOverworld: ; d4ec (3:54ec) call Func_d4fb - call Func_ca69 - ld a, $b7 + get_flag_value EVENT_FLAG_3E + or a ret nz ld bc, OWSequence_d52e - jp Func_c935 + jp SetNextOWSequence Func_d4fb: ; d4fb (3:54fb) - call Func_cacd - ld e, c + zero_out_flag EVENT_FLAG_59 call Func_f602 - call Func_ca69 - db $3f + get_flag_value EVENT_FLAG_3F cp $02 jr z, .asm_d527 - call Func_ca69 - db $40 + get_flag_value EVENT_FLAG_40 cp $02 jr z, .asm_d521 - call Func_ca69 - db $41 + get_flag_value EVENT_FLAG_41 cp $02 jr z, .asm_d51b ret .asm_d51b ld c, $07 - call Func_ca8f - ld b, c + set_flag_value EVENT_FLAG_41 .asm_d521 ld c, $07 - call Func_ca8f - ld b, b + set_flag_value EVENT_FLAG_40 .asm_d527 ld c, $07 - call Func_ca8f - ccf + set_flag_value EVENT_FLAG_3F ret OWSequence_d52e: ; d52e (3:552e) @@ -3196,14 +3164,13 @@ WaterClubMovePlayer: ; e13f (3:613f) ld a, [wPlayerYCoord] cp $8 ret nz - call Func_ca69 - db $33 + get_flag_value EVENT_JOSHUA_STATE cp $2 ret nc ld a, $21 ld [wTempNPC], a ld bc, OWSequence_NotReadyToSeeAmy - jp Func_c926 + jp SetNextNPCAndOWSequence WaterClubAfterDuel: ;e157 (3:6157) ld hl, .after_duel_table @@ -3669,7 +3636,7 @@ FindEndOfBattleScript: ; e52c (3:652c) ld c, [hl] inc hl ld b, [hl] - jp Func_c926 + jp SetNextNPCAndOWSequence ; 0xe553 GrassClubEntranceAfterDuelTable: ; e553 (3:6553) @@ -3800,34 +3767,32 @@ LoadClubEntrance: ; e809 (3:6809) TryFirstRonaldEncounter: ; e813 (3:6813) ld a, RONALD1 ld [wTempNPC], a - call Func_39c3 + call FindLoadedNPC ret c ld bc, OWSequence_FirstRonaldEncounter - jp Func_c926 + jp SetNextNPCAndOWSequence TryFirstRonaldFight: ; e822 (3:6822) ld a, RONALD2 ld [$d3ab], a - call Func_39c3 + call FindLoadedNPC ret c - call Func_ca69 - db $4c + get_flag_value EVENT_FLAG_4C or a ret nz ld bc, OWSequence_FirstRonaldFight - jp Func_c926 + jp SetNextNPCAndOWSequence TrySecondRonaldFight: ; e837 (3:6837) ld a, RONALD3 ld [$d3ab], a - call Func_39c3 + call FindLoadedNPC ret c - call Func_ca69 - db $4d + get_flag_value EVENT_FLAG_4D or a ret nz ld bc, OWSequenceSecondRonaldFight - jp Func_c926 + jp SetNextNPCAndOWSequence ; 0xe84c INCROM $e84c, $e862 @@ -4029,12 +3994,10 @@ OWJump_FinishedSecondRonaldFight ; e959 (3:6959) INCROM $e963, $f580 Func_f580: ; f580 (3:7580) - call Func_ca69 - db $44 + get_flag_value EVENT_FLAG_44 cp $3 jr z, .asm_f596 - call Func_ca69 - db $45 + get_flag_value EVENT_FLAG_45 cp $3 ld d, $18 jr nz, .asm_f598 @@ -4085,7 +4048,7 @@ Func_fc2b: ; fc2b (3:7c2b) ld [wCurrentNPCNameTx], a ld a, $3 ld [wCurrentNPCNameTx+1], a - jp Func_c935 + jp SetNextOWSequence PointerTable_fc4c: ; fc4c (3:7c4c) dw Unknown_fc64 diff --git a/src/engine/bank04.asm b/src/engine/bank04.asm index 4cba1d9..c81db5c 100644 --- a/src/engine/bank04.asm +++ b/src/engine/bank04.asm @@ -366,7 +366,7 @@ Func_10e71: ; 10e71 (4:4e71) and D_PAD jr z, .asm_10e83 farcall Func_c5d5 - ld [wd334], a + ld [wPlayerDirection], a call Func_10e97 jr .asm_10e96 .asm_10e83 @@ -388,7 +388,7 @@ Func_10e97: ; 10e97 (4:4e97) rlca rlca ld c, a - ld a, [wd334] + ld a, [wPlayerDirection] add c ld c, a ld b, $0 @@ -711,7 +711,7 @@ Func_11102: ; 11102 (4:5102) jr z, .asm_1113a ld a, $3 .asm_1113a - ld [wd334], a + ld [wPlayerDirection], a ret Func_1113e: ; 1113e (4:513e) @@ -747,7 +747,7 @@ Func_1113e: ; 1113e (4:513e) jr z, .asm_11175 ld a, $0 .asm_11175 - ld [wd334], a + ld [wPlayerDirection], a ret Func_11179: ; 11179 (4:5179) @@ -878,8 +878,8 @@ LoadNPCSpriteData: ; 11857 (4:5857) pop hl ret -; this appears to find data about the NPC we're talking to -Func_1187d: ; 1187d (4:587d) +; Loads Name into wCurrentNPCNameTx and gets OWSequence ptr into bc +GetNPCNameAndOWSequence: ; 1187d (4:587d) push hl call GetNPCDataPointer ld bc, NPC_DATA_OWSEQUENCE_PTR diff --git a/src/engine/bank07.asm b/src/engine/bank07.asm index 0b2ec00..4455d3f 100644 --- a/src/engine/bank07.asm +++ b/src/engine/bank07.asm @@ -40,7 +40,7 @@ Func_1c056: ; 1c056 (7:4056) ld [wd0bc], a ld a, [hli] ld [wd0bd], a - ld a, [wd334] + ld a, [wPlayerDirection] ld [wd0be], a .asm_1c095 pop de @@ -95,9 +95,9 @@ Func_1c440: ; 1c440 (7:4440) Func_1c455: ; 1c455 (7:4455) push hl - ld a, [wd3aa] - ld l, $4 - call Func_39ad + ld a, [wLoadedNPCTempIndex] + ld l, LOADED_NPC_DIRECTION + call GetItemInLoadedNPCIndex ld a, [hl] pop hl ret @@ -106,9 +106,9 @@ Func_1c461: ; 1c461 (7:4461) push hl push bc call Func_1c719 - ld a, [wd3aa] - ld l, $2 - call Func_39ad + ld a, [wLoadedNPCTempIndex] + ld l, LOADED_NPC_COORD_X + call GetItemInLoadedNPCIndex ld a, b ld [hli], a ld [hl], c @@ -119,9 +119,9 @@ Func_1c461: ; 1c461 (7:4461) Func_1c477: ; 1c477 (7:4477) push hl - ld a, [wd3aa] - ld l, $2 - call Func_39ad + ld a, [wLoadedNPCTempIndex] + ld l, LOADED_NPC_COORD_X + call GetItemInLoadedNPCIndex ld a, [hli] ld b, a ld c, [hl] @@ -134,11 +134,11 @@ Func_1c485: ; 1c485 (7:4485) push bc push de xor a - ld [wd3aa], a + ld [wLoadedNPCTempIndex], a ld b, a - ld c, $08 - ld hl, wd34a - ld de, $c + ld c, LOADED_NPC_MAX + ld hl, wLoadedNPCs + ld de, LOADED_NPC_LENGTH .findEmptyIndexLoop ld a, [hl] or a @@ -147,17 +147,17 @@ Func_1c485: ; 1c485 (7:4485) inc b dec c jr nz, .findEmptyIndexLoop - ld hl, wd34a + ld hl, wLoadedNPCs debug_ret jr .exit .foundEmptyIndex ld a, b - ld [wd3aa], a + ld [wLoadedNPCTempIndex], a ld a, [wd3b3] farcall CreateSpriteAndAnimBufferEntry jr c, .exit - ld a, [wd3aa] - call Func_39a7 + ld a, [wLoadedNPCTempIndex] + call GetLoadedNPCID push hl ld a, [wTempNPC] ld [hli], a @@ -209,8 +209,8 @@ Func_1c4fa: ; 1c4fa (7:44fa) Func_1c50a: ; 1c50a (7:450a) push hl call Func_1c719 - ld a, [wd3aa] - call Func_39a7 + ld a, [wLoadedNPCTempIndex] + call GetLoadedNPCID ld a, [hl] or a jr z, .asm_1c52c @@ -234,9 +234,9 @@ Func_1c50a: ; 1c50a (7:450a) Func_1c52e: ; 1c52e (7:452e) push hl push af - ld a, [wd3aa] - ld l, $7 - call Func_39ad + ld a, [wLoadedNPCTempIndex] + ld l, LOADED_NPC_FIELD_07 + call GetItemInLoadedNPCIndex pop af ld [hl], a call Func_1c5e9 @@ -246,9 +246,9 @@ Func_1c52e: ; 1c52e (7:452e) Func_1c53f: ; 1c53f (7:453f) push hl push bc - ld a, [wd3aa] - ld l, $4 - call Func_39ad + ld a, [wLoadedNPCTempIndex] + ld l, LOADED_NPC_DIRECTION + call GetItemInLoadedNPCIndex ld a, [hl] ld bc, $0003 add hl, bc @@ -263,14 +263,14 @@ Func_1c53f: ; 1c53f (7:453f) Func_1c557: ; 1c557 (7:4557) push bc ld c, a - ld a, [wd3aa] + ld a, [wLoadedNPCTempIndex] push af ld a, [wTempNPC] push af ld a, c ld [wTempNPC], a ld c, $0 - call Func_39c3 + call FindLoadedNPC jr c, .asm_1c570 call Func_1c53f ld c, a @@ -279,7 +279,7 @@ Func_1c557: ; 1c557 (7:4557) pop af ld [wTempNPC], a pop af - ld [wd3aa], a + ld [wLoadedNPCTempIndex], a ld a, c pop bc ret @@ -288,9 +288,9 @@ Func_1c57b: ; 1c57b (7:457b) push hl push bc push af - ld a, [wd3aa] - ld l, $6 - call Func_39ad + ld a, [wLoadedNPCTempIndex] + ld l, LOADED_NPC_FIELD_06 + call GetItemInLoadedNPCIndex pop af ld [hl], a call Func_1c58e @@ -303,14 +303,14 @@ Func_1c58e: ; 1c58e (7:458e) push bc ld a, [wWhichSprite] push af - ld a, [wd3aa] - call Func_39a7 + ld a, [wLoadedNPCTempIndex] + call GetLoadedNPCID ld a, [hli] or a - jr z, .asm_1c5b2 + jr z, .quit ld a, [hl] ld [wWhichSprite], a - ld bc, $5 + ld bc, LOADED_NPC_FIELD_06 - LOADED_NPC_SPRITE add hl, bc ld a, [hld] bit 4, [hl] @@ -320,7 +320,7 @@ Func_1c58e: ; 1c58e (7:458e) inc hl .asm_1c5ae farcall Func_12ab5 -.asm_1c5b2 +.quit pop af ld [wWhichSprite], a pop bc @@ -334,9 +334,9 @@ Func_1c5b9: ; 1c5b9 (7:45b9) Func_1c5e9: ; 1c5e9 (7:45e9) push hl push bc - ld a, [wd3aa] - ld l, $07 - call Func_39ad + ld a, [wLoadedNPCTempIndex] + ld l, LOADED_NPC_FIELD_07 + call GetItemInLoadedNPCIndex ld a, [hl] ld bc, $fffd add hl, bc @@ -358,9 +358,9 @@ Func_1c665: ; 1c665 (7:4665) Func_1c6e3: ; 1c6e3 (7:46e3) push hl push bc - ld a, [$d3aa] - ld l, $02 - call Func_39ad + ld a, [wLoadedNPCTempIndex] + ld l, LOADED_NPC_COORD_X + call GetItemInLoadedNPCIndex ld a, [hli] ld b, a ld c, [hl] @@ -376,9 +376,9 @@ Func_1c6f8: ; 1c6f8 (7:46f8) Func_1c719: ; 1c719 (7:4719) push hl push bc - ld a, [wd3aa] - ld l, $2 - call Func_39ad + ld a, [wLoadedNPCTempIndex] + ld l, LOADED_NPC_COORD_X + call GetItemInLoadedNPCIndex ld a, [hli] ld b, a ld c, [hl] @@ -391,33 +391,35 @@ Func_1c719: ; 1c719 (7:4719) Func_1c72e: ; 1c72e (7:472e) INCROM $1c72e, $1c768 -Func_1c768: ; 1c768 (7:4768) +; Probably needs a new name. Loads data for NPC that the next OWSequence is for +; Sets direction, Loads Image data for it, loads name, and more +SetNewOWSequenceNPC: ; 1c768 (7:4768) push hl - ld a, [wd3aa] - ld l, $04 - call Func_39ad - ld a, [wd334] + ld a, [wLoadedNPCTempIndex] + ld l, LOADED_NPC_DIRECTION + call GetItemInLoadedNPCIndex + ld a, [wPlayerDirection] xor $02 ld [hl], a call Func_1c58e ld a, $02 farcall Func_c29b - ld a, [wd3aa] - call Func_39a7 + ld a, [wLoadedNPCTempIndex] + call GetLoadedNPCID ld a, [hl] - farcall Func_1187d + farcall GetNPCNameAndOWSequence pop hl ret Func_1c78d: ; 1c78d (7:478d) push hl - ld a, [wd3aa] - ld l, $5 - call Func_39ad + ld a, [wLoadedNPCTempIndex] + ld l, LOADED_NPC_FIELD_05 + call GetItemInLoadedNPCIndex set 5, [hl] - ld a, [wd3aa] - ld l, $8 - call Func_39ad + ld a, [wLoadedNPCTempIndex] + ld l, LOADED_NPC_FIELD_08 + call GetItemInLoadedNPCIndex xor a ld [hli], a .asm_1c7a2 @@ -457,9 +459,9 @@ Func_1c78d: ; 1c78d (7:478d) jr .asm_1c7a2 .asm_1c7d2 - ld a, [wd3aa] - ld l, $5 - call Func_39ad + ld a, [wLoadedNPCTempIndex] + ld l, LOADED_NPC_FIELD_05 + call GetItemInLoadedNPCIndex res 5, [hl] .asm_1c7dc diff --git a/src/engine/home.asm b/src/engine/home.asm index adcbabd..4135afa 100644 --- a/src/engine/home.asm +++ b/src/engine/home.asm @@ -10908,15 +10908,16 @@ Func_3997: ; 3997 (0:3997) call BankswitchROM ret -Func_39a7: ; 39a7 (0:39a7) - ld l, $0 - call Func_39ad +; returns in hl a pointer to the first element for the a'th NPC +GetLoadedNPCID: ; 39a7 (0:39a7) + ld l, LOADED_NPC_ID + call GetItemInLoadedNPCIndex ret -; return hl = wd34a + a * $c + l, with a < $8 -Func_39ad: ; 39ad (0:39ad) +; return in hl a pointer to the a'th items element l +GetItemInLoadedNPCIndex: ; 39ad (0:39ad) push bc - cp $8 + cp LOADED_NPC_MAX jr c, .asm_39b4 debug_ret xor a @@ -10929,24 +10930,24 @@ Func_39ad: ; 39ad (0:39ad) add l ld l, a ld h, $0 - ld bc, wd34a + ld bc, wLoadedNPCs add hl, bc pop bc ret -; Finds the index on wd34a table of the npc in wTempNPC -; returns it in a and puts it into wd3aa +; Finds the index on wLoadedNPCs table of the npc in wTempNPC +; returns it in a and puts it into wLoadedNPCTempIndex ; c flag set if no npc found -Func_39c3: ; 39c3 (0:39c3) +FindLoadedNPC: ; 39c3 (0:39c3) push hl push bc push de xor a - ld [wd3aa], a + ld [wLoadedNPCTempIndex], a ld b, a - ld c, $8 - ld de, $000c - ld hl, wd34a + ld c, LOADED_NPC_MAX + ld de, LOADED_NPC_LENGTH + ld hl, wLoadedNPCs ld a, [wTempNPC] .findNPCLoop cp [hl] @@ -10959,7 +10960,7 @@ Func_39c3: ; 39c3 (0:39c3) jr z, .exit .foundNPCMatch ld a, b - ld [wd3aa], a + ld [wLoadedNPCTempIndex], a or a .exit pop de @@ -11069,7 +11070,7 @@ Func_3a5e: ; 3a5e (0:3a5e) call Func_c653 ld a, $4 call BankswitchROM - ld a, [wd334] + ld a, [wPlayerDirection] ld d, a .asm_3a79 ld a, [hli] @@ -11086,9 +11087,9 @@ Func_3a5e: ; 3a5e (0:3a5e) cp c jr nz, .asm_3aab ld a, [hli] - ld [wd0c6], a + ld [wNextOWSequence], a ld a, [hli] - ld [wd0c7], a + ld [wNextOWSequence+1], a ld a, [hli] ld [wd0ca], a ld a, [hli] -- cgit v1.2.3 From cb88ee5a13498f060da1be80eb0cc0fcd1357a05 Mon Sep 17 00:00:00 2001 From: Andrew Martinek Date: Tue, 8 Oct 2019 00:20:52 -0400 Subject: Created python script to calculate progress and documented some scripts --- src/engine/bank03.asm | 511 +++++++++++++++++++++++++++++++++++++++----------- src/engine/bank04.asm | 32 ++-- src/engine/bank07.asm | 8 +- 3 files changed, 420 insertions(+), 131 deletions(-) (limited to 'src/engine') diff --git a/src/engine/bank03.asm b/src/engine/bank03.asm index c75c009..02ddc67 100644 --- a/src/engine/bank03.asm +++ b/src/engine/bank03.asm @@ -29,11 +29,11 @@ LoadMap: ; c000 (3:4000) ld a, PLAYER_TURN ldh [hWhoseTurn], a farcall Func_1c440 - ld a, [wd0bb] + ld a, [wTempMap] ld [wCurMap], a - ld a, [wd0bc] + ld a, [wTempPlayerXCoord] ld [wPlayerXCoord], a - ld a, [wd0bd] + ld a, [wTempPlayerYCoord] ld [wPlayerYCoord], a call Func_c36a call Func_c184 @@ -231,13 +231,13 @@ Func_c1b1: ; c1b1 (3:41b1) ld a, $c ld [wd32e], a ld a, $0 - ld [wd0bb], a + ld [wTempMap], a ld a, $c - ld [wd0bc], a + ld [wTempPlayerXCoord], a ld a, $c - ld [wd0bd], a + ld [wTempPlayerYCoord], a ld a, $2 - ld [wd0be], a + ld [wTempPlayerDirection], a call Func_c9cb call Func_c9dd farcall Func_80b7a @@ -278,13 +278,13 @@ Func_c1f8: ; c1f8 (3:41f8) Func_c228: ; c228 (3:4228) ld a, [wCurMap] - ld [wd0bb], a + ld [wTempMap], a ld a, [wPlayerXCoord] - ld [wd0bc], a + ld [wTempPlayerXCoord], a ld a, [wPlayerYCoord] - ld [wd0bd], a + ld [wTempPlayerYCoord], a ld a, [wPlayerDirection] - ld [wd0be], a + ld [wTempPlayerDirection], a ret Func_c241: ; c241 (3:4241) @@ -587,7 +587,7 @@ Func_c4b9: ; c4b9 (3:44b9) ld a, [wCurMap] cp OVERWORLD_MAP jr z, .asm_c4ee - ld a, [wd0be] + ld a, [wTempPlayerDirection] ld b, a .asm_c4ee ld a, b @@ -930,7 +930,7 @@ Func_c6f7: ; c6f7 (3:46f7) Func_c70d: ; c70d (3:470d) push hl - ld hl, wd0bb + ld hl, wTempMap ld a, [wCurMap] cp [hl] jr z, .asm_c71c @@ -1288,15 +1288,15 @@ Func_c998: ; c998 (3:4998) ret Func_c9b8: ; c9b8 (3:49b8) - ld l, $8 + ld l, MAP_SCRIPT_LOAD_MAP jr CallMapScriptPointerIfExists Func_c9bc: ; c9bc (3:49bc) - ld l, $a + ld l, MAP_SCRIPT_AFTER_DUEL jr CallMapScriptPointerIfExists Func_c9c0: ; c9c0 (3:49c0) - ld l, $c + ld l, MAP_SCRIPT_MOVED_PLAYER CallMapScriptPointerIfExists: ; c9c2 (3:49c2) call GetMapScriptPointer @@ -1304,7 +1304,7 @@ CallMapScriptPointerIfExists: ; c9c2 (3:49c2) jp hl Func_c9c7: ; c9c7 (3:49c7) - ld l, $e + ld l, MAP_SCRIPT_CLOSE_TEXTBOX jr CallMapScriptPointerIfExists Func_c9cb: ; c9cb (3:49cb) @@ -1342,7 +1342,7 @@ Func_c9e8: ; c9e8 (3:49e8) ld b, $0 ld hl, Unknown_ca0a add hl, bc - ld a, [wd0bb] + ld a, [wTempMap] cp [hl] jr z, .asm_c9f2 .asm_ca04 @@ -1719,11 +1719,11 @@ RST20: ; cc42 (3:4c42) ld [wOWScriptPointer+1], a xor a ld [wBreakOWScriptLoop], a -.asm_cc4f +.continueScriptLoop call RunOverworldScript ld a, [wBreakOWScriptLoop] ; if you break out, it jumps or a - jr z, .asm_cc4f + jr z, .continueScriptLoop ld hl, wOWScriptPointer ld a, [hli] ld c, a @@ -1808,6 +1808,7 @@ SetScriptControlByteFail: ; ccb9 (3:4cb9) ld [wScriptControlByte], a ret +; Exits Script mode and runs the next instruction like normal OWScript_EndScriptLoop1: ; ccbe (3:4cbe) OWScript_EndScriptLoop2: ; ccbe (3:4cbe) OWScript_EndScriptLoop3: ; ccbe (3:4cbe) @@ -1826,7 +1827,7 @@ OWScript_CloseAdvancedTextBox: ; ccc6 (3:4cc6) call CloseAdvancedDialogueBox jp IncreaseOWScriptPointerBy1 -OWScript_EndScriptCloseText: ; cccc (3:4ccc) +OWScript_QuitScriptFully: ; cccc (3:4ccc) call OWScript_CloseAdvancedTextBox call OWScript_EndScriptLoop1 pop hl @@ -1845,7 +1846,7 @@ Func_ccdc: ; ccdc (3:4cdc) call Func_c891 jp IncreaseOWScriptPointerBy3 -Func_cce4: ; cce4 (3:4ce4) +OWScript_AskQuestionJumpDefaultYes: ; cce4 (3:4ce4) ld a, $1 ld [wDefaultYesOrNo], a ; fallthrough @@ -2099,42 +2100,48 @@ OWScript_GiveBoosterPacks: ; ce8a (3:4e8a) ld [wd117], a pop bc ld a, b - cp $ff + cp NO_BOOSTER jr z, .asm_ceb4 farcall BoosterPack_1031b call GetOWSArgs3AfterPointer ld a, c - cp $ff + cp NO_BOOSTER jr z, .asm_ceb4 farcall BoosterPack_1031b .asm_ceb4 call Func_c2d4 jp IncreaseOWScriptPointerBy4 -Func_ceba: ; ceba (3:4eba) +OWScript_GiveOneOfEachTrainerBooster: ; ceba (3:4eba) xor a ld [wd117], a call Func_c2a3 - ld hl, $4edd -.asm_cec4 + ld hl, .booster_type_table +.giveBoosterLoop ld a, [hl] - cp $ff - jr z, .asm_ced7 + cp NO_BOOSTER + jr z, .done push hl farcall BoosterPack_1031b ld a, $1 ld [wd117], a pop hl inc hl - jr .asm_cec4 -.asm_ced7 + jr .giveBoosterLoop +.done call Func_c2d4 jp IncreaseOWScriptPointerBy1 -; 0xcedd - INCROM $cedd, $cee2 +.booster_type_table + db BOOSTER_COLOSSEUM_TRAINER + db BOOSTER_EVOLUTION_TRAINER + db BOOSTER_MYSTERY_TRAINER_COLORLESS + db BOOSTER_LABORATORY_TRAINER + db NO_BOOSTER ; $ff -Func_cee2: ; cee2 (3:4ee2) +; Shows the card received screen for a given promotional card +; arg can either be the card, $00 for a wram card, or $ff for the 4 legends +OWScript_ShowCardReceivedScreen: ; cee2 (3:4ee2) call Func_c2a3 ld a, c cp $ff @@ -2381,7 +2388,7 @@ Func_d04f: ; d04f (3:504f) call Func_cad8 jp IncreaseOWScriptPointerBy1 -Func_d055: ; d055 (3:5055) +OWScript_SetPlayerDirection: ; d055 (3:5055) ld a, c call Func_c5ce jp IncreaseOWScriptPointerBy2 @@ -2410,9 +2417,7 @@ OWScript_SetDialogName: ; d080 (3:5080) farcall SetNPCDialogName jp IncreaseOWScriptPointerBy2 -; Calls another OWSequence with a specified NPC -; Not confident enough to give it a name yet -Func_d088: ; d088 (3:5088) +OWScript_SetNextNPCandOWSequence: ; d088 (3:5088) ld a, c ld [wTempNPC], a call GetOWSArgs2AfterPointer @@ -2474,7 +2479,7 @@ Func_d0d9: ; d0d9 (3:50d9) jp nz, ScriptEventFailedNoJump jp ScriptEventPassedTryJump -Func_d0f2: ; d0f2 (3:50f2) +OWScript_JumpIfPlayerCoordMatches: ; d0f2 (3:50f2) ld a, [wPlayerXCoord] cp c jp nz, ScriptEventFailedNoJump @@ -2792,7 +2797,8 @@ OWScript_OpenDeckMachine: ; d336 (3:5336) call Func_c2d4 jp IncreaseOWScriptPointerBy2 -Func_d36d: ; d36d (3:536d) +; args: unused, room, new player x, new player y, new player direction +OWScript_EnterMap: ; d36d (3:536d) ld a, [wOWScriptPointer] ld l, a ld a, [wOWScriptPointer+1] @@ -2800,13 +2806,13 @@ Func_d36d: ; d36d (3:536d) inc hl ld a, [hli] ld a, [hli] - ld [wd0bb], a + ld [wTempMap], a ld a, [hli] - ld [wd0bc], a + ld [wTempPlayerXCoord], a ld a, [hli] - ld [wd0bd], a + ld [wTempPlayerYCoord], a ld a, [hli] - ld [wd0be], a + ld [wTempPlayerDirection], a ld hl, wd0b4 set 4, [hl] jp IncreaseOWScriptPointerBy6 @@ -3050,7 +3056,7 @@ LoadOverworld: ; d4ec (3:54ec) get_flag_value EVENT_FLAG_3E or a ret nz - ld bc, OWSequence_d52e + ld bc, OWSequence_BeginGame jp SetNextOWSequence Func_d4fb: ; d4fb (3:54fb) @@ -3077,23 +3083,34 @@ Func_d4fb: ; d4fb (3:54fb) set_flag_value EVENT_FLAG_3F ret -OWSequence_d52e: ; d52e (3:552e) +OWSequence_BeginGame: ; d52e (3:552e) start_script run_script OWScript_DoFrames db $3c run_script Func_d3e0 run_script OWScript_DoFrames db $78 - run_script Func_d36d + run_script OWScript_EnterMap db $02 - db $01 - db $0e - db $1a + db MASON_LABORATORY + db 14 + db 26 + db NORTH + run_script OWScript_QuitScriptFully + +MasonLaboratoryAfterDuel: ; d53b (3:553b) + ld hl, .after_duel_table + call FindEndOfBattleScript + ret + +.after_duel_table + db SAM + db SAM + dw $568a + dw $569f db $00 - run_script OWScript_EndScriptCloseText -; 0xd53b - INCROM $d53b, $d753 + INCROM $d549, $d753 OWSequence_d753: ; d753 (3:5753) start_script @@ -3127,7 +3144,7 @@ OWSequence_d753: ; d753 (3:5753) run_script OWScript_PrintTextString tx Text05e3 run_script OWScript_CloseAdvancedTextBox - run_script Func_d088 + run_script OWScript_SetNextNPCandOWSequence db SAM dw OWSequence_d779 run_script OWScript_EndScriptLoop1 @@ -3150,15 +3167,286 @@ OWSequence_d779: ; d779 (03:5779) db $58 run_script Func_cfc6 db $01 - run_script Func_d055 + run_script OWScript_SetPlayerDirection db $03 run_script OWScript_CloseAdvancedTextBox - run_script Func_d088 + run_script OWScript_SetNextNPCandOWSequence + db DRMASON + dw OWSequence_d794 + run_script OWScript_EndScriptLoop1 + ret + +OWSequence_d794: ; d794 (3:5794) + start_script + run_script Func_ce4a + db $8b + db $58 + run_script OWScript_DoFrames + db $28 + run_script OWScript_PrintTextString + tx Text05e6 + run_script OWScript_CloseTextBox + run_script OWScript_MovePlayer + db WEST + db $01 + run_script OWScript_MovePlayer + db WEST + db $01 + run_script OWScript_SetPlayerDirection + db SOUTH + run_script OWScript_MovePlayer + db SOUTH + db $01 + run_script OWScript_MovePlayer + db SOUTH + db $01 + run_script OWScript_MovePlayer + db SOUTH + db $01 + run_script OWScript_SetPlayerDirection + db WEST + run_script Func_ce4a + db $94 + db $58 + run_script OWScript_PrintTextString + tx Text05e7 + run_script OWScript_SetDialogName + db $07 + run_script OWScript_PrintTextString + tx Text05e8 + +.ows_d7bc + run_script OWScript_CloseTextBox + run_script Func_d317 + run_script OWScript_CloseTextBox + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_75 + db $07 + dw .ows_d80c + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_75 + db $01 + dw .ows_d7e8 + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_75 + db $02 + dw .ows_d7ee + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_75 + db $03 + dw .ows_d7f4 + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_75 + db $04 + dw .ows_d7fa + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_75 + db $05 + dw .ows_d800 + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_75 + db $06 + dw .ows_d806 + run_script OWScript_PrintTextString + tx Text05d6 + run_script OWScript_Jump + dw .ows_d7bc + +.ows_d7e8 + run_script OWScript_PrintTextString + tx Text05d7 + run_script OWScript_Jump + dw .ows_d7bc + +.ows_d7ee + run_script OWScript_PrintTextString + tx Text05d8 + run_script OWScript_Jump + dw .ows_d7bc + +.ows_d7f4 + run_script OWScript_PrintTextString + tx Text05d9 + run_script OWScript_Jump + dw .ows_d7bc + +.ows_d7fa + run_script OWScript_PrintTextString + tx Text05da + run_script OWScript_Jump + dw .ows_d7bc + +.ows_d800 + run_script OWScript_PrintTextString + tx Text05db + run_script OWScript_Jump + dw .ows_d7bc + +.ows_d806 + run_script OWScript_PrintTextString + tx Text05dc + run_script OWScript_Jump + dw .ows_d7bc + +.ows_d80c + run_script OWScript_PrintTextString + tx Text05e9 + run_script OWScript_AskQuestionJumpDefaultYes + dw 0000 + dw .ows_d817 + run_script OWScript_Jump + dw .ows_d7bc + +.ows_d817 + run_script OWScript_SetDialogName + db $01 + run_script OWScript_PrintTextString + tx Text05ea + run_script OWScript_nop + run_script OWScript_SetFlagValue + db EVENT_FLAG_3E db $01 - dw $5794 + run_script OWScript_CloseAdvancedTextBox + run_script OWScript_SetNextNPCandOWSequence + db SAM + dw OWSequence_d827 run_script OWScript_EndScriptLoop1 + ret + +OWSequence_d827: ; d827 (3:5827) + start_script + run_script OWScript_StartBattle + db PRIZES_2 + db SAMS_PRACTICE_DECK_ID + db MUSIC_DUEL_THEME_1 + run_script OWScript_QuitScriptFully +; 0xd82d + + INCROM $d82d, $dc68 + +FightingClubLobbyAfterDuel: ; dc68 (3:5c68) + ld hl, .after_duel_table + call FindEndOfBattleScript + ret +.after_duel_table + db IMAKUNI + db IMAKUNI + dw OWSequence_BeatImakuni + dw OWSequence_LostToImakuni + db $00 + + INCROM $dc76, $dd0d + +OWSequence_Imakuni: ; dd0d (3:5d0d) + start_script + run_script OWScript_SetFlagValue + db EVENT_FLAG_13 + db $02 + run_script OWScript_JumpIfFlagZero2 + db EVENT_FLAG_02 + dw NO_JUMP + run_script OWScript_PrintVariableText + tx Text0467 + tx Text0468 + run_script OWScript_MaxOutFlagValue + db EVENT_FLAG_02 + run_script OWScript_AskQuestionJump + tx Text0469 + dw .declineDuel + run_script OWScript_PrintTextString + tx Text046a + run_script OWScript_QuitScriptFully + +.declineDuel + run_script OWScript_PrintTextString + tx Text046b + run_script OWScript_StartBattle + db PRIZES_6 + db IMAKUNI_DECK_ID + db MUSIC_IMAKUNI + run_script OWScript_QuitScriptFully +; 0xdd2d + +OWSequence_BeatImakuni: ; dd2d (3:5d2d) + start_script + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_36 + db $07 + dw .ows_dd3f + run_script OWScript_IncrementFlagValue + db EVENT_FLAG_36 + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_36 + db $03 + dw .ows_dd46 + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_36 + db $06 + dw .ows_dd4c +.ows_dd3f + run_script OWScript_PrintTextString + tx Text046c + run_script OWScript_GiveOneOfEachTrainerBooster + run_script OWScript_Jump + dw .ows_dd56 + +.ows_dd46 + run_script OWScript_PrintTextString + tx Text046d + run_script OWScript_Jump + dw .ows_dd4f + +.ows_dd4c + run_script OWScript_PrintTextString + tx Text046e +.ows_dd4f + run_script OWScript_PrintTextString + tx Text046f + run_script OWScript_GiveCard + db IMAKUNI_CARD + run_script OWScript_ShowCardReceivedScreen + db IMAKUNI_CARD +.ows_dd56 + run_script OWScript_PrintTextString + tx Text0470 + run_script OWScript_Jump + dw OWJump_ImakuniCommon - INCROM $d793, $e13f +OWSequence_LostToImakuni: ; dd5c (3:5d5c) + start_script + run_script OWScript_PrintTextString + tx Text0471 + +OWJump_ImakuniCommon: ; dd60 (3:5d60) + run_script OWScript_CloseTextBox + run_script OWScript_JumpIfPlayerCoordMatches + db 18 + db 4 + dw .ows_dd69 + run_script OWScript_Jump + dw .ows_dd6e + +.ows_dd69 + run_script OWScript_SetPlayerDirection + db EAST + run_script OWScript_MovePlayer + db WEST + db $01 + +.ows_dd6e + run_script Func_ce4a + db $78 + db $5d + run_script Func_cdcb + run_script OWScript_MaxOutFlagValue + db EVENT_FLAG_03 + run_script Func_d408 + db $09 + run_script Func_d41d + run_script OWScript_QuitScriptFully +; 0xdd78 + + INCROM $dd78, $e13f WaterClubMovePlayer: ; e13f (3:613f) ld a, [wPlayerYCoord] @@ -3167,7 +3455,7 @@ WaterClubMovePlayer: ; e13f (3:613f) get_flag_value EVENT_JOSHUA_STATE cp $2 ret nc - ld a, $21 + ld a, JOSHUA ld [wTempNPC], a ld bc, OWSequence_NotReadyToSeeAmy jp SetNextNPCAndOWSequence @@ -3208,7 +3496,7 @@ OWSequence_Sara: ; e177 (3:6177) dw .yes_duel run_script OWScript_PrintTextString tx Text042e - run_script OWScript_EndScriptCloseText + run_script OWScript_QuitScriptFully .yes_duel run_script OWScript_PrintTextString tx Text042f @@ -3216,7 +3504,7 @@ OWSequence_Sara: ; e177 (3:6177) db PRIZES_2 db WATERFRONT_POKEMON_DECK_ID ; 6189 db MUSIC_DUEL_THEME_1 - run_script OWScript_EndScriptCloseText + run_script OWScript_QuitScriptFully OWSequence_BeatSara: ; e18c (3:618c) start_script @@ -3230,7 +3518,7 @@ OWSequence_BeatSara: ; e18c (3:618c) db NO_BOOSTER run_script OWScript_PrintTextString tx Text0431 - run_script OWScript_EndScriptCloseText + run_script OWScript_QuitScriptFully OWSequence_LostToSara: ; e19a (03:619a) start_script @@ -3246,7 +3534,7 @@ OWSequence_Amanda: ; e19e (03:619e) dw .yes_duel run_script OWScript_PrintTextString tx Text0435 - run_script OWScript_EndScriptCloseText + run_script OWScript_QuitScriptFully .yes_duel run_script OWScript_PrintTextString tx Text0436 @@ -3254,7 +3542,7 @@ OWSequence_Amanda: ; e19e (03:619e) db PRIZES_3 db LONELY_FRIENDS_DECK_ID db MUSIC_DUEL_THEME_1 - run_script OWScript_EndScriptCloseText + run_script OWScript_QuitScriptFully OWSequence_BeatAmanda: ; e1b3 (03:61b3) start_script @@ -3268,24 +3556,24 @@ OWSequence_BeatAmanda: ; e1b3 (03:61b3) db NO_BOOSTER run_script OWScript_PrintTextString tx Text0438 - run_script OWScript_EndScriptCloseText + run_script OWScript_QuitScriptFully OWSequence_LostToAmanda: ; e1c1 (03:61c1) start_script run_script OWScript_PrintTextCloseBox tx Text0439 -OWSequence_NotReadyToSeeAmy: +OWSequence_NotReadyToSeeAmy: ; e15c (03:6153) start_script - run_script Func_d0f2 + run_script OWScript_JumpIfPlayerCoordMatches db $12 db $08 dw $61ec - run_script Func_d0f2 + run_script OWScript_JumpIfPlayerCoordMatches db $14 db $08 dw $61f2 - run_script Func_d0f2 + run_script OWScript_JumpIfPlayerCoordMatches db $18 db $08 dw $61f8 @@ -3297,18 +3585,18 @@ OWSequence_NotReadyToSeeAmy: db $62 run_script OWScript_PrintTextString tx Text043a - run_script Func_d0f2 + run_script OWScript_JumpIfPlayerCoordMatches db $12 db $0a dw $61fe - run_script Func_d0f2 + run_script OWScript_JumpIfPlayerCoordMatches db $14 db $0a dw $6202 run_script Func_ce4a db $15 db $62 - run_script OWScript_EndScriptCloseText + run_script OWScript_QuitScriptFully .ows_e1ec run_script Func_ce4a @@ -3329,7 +3617,7 @@ OWSequence_NotReadyToSeeAmy: run_script Func_ce4a db $18 db $62 - run_script OWScript_EndScriptCloseText + run_script OWScript_QuitScriptFully ; 0xe202 INCROM $e202, $e21c @@ -3350,7 +3638,7 @@ OWSequence_Joshua: db JOSHUA_TALKED run_script OWScript_PrintTextString tx Text043b - run_script OWScript_EndScriptCloseText + run_script OWScript_QuitScriptFully .beat_sara_and_amanda run_script OWScript_JumpIfFlagNonzero1 @@ -3381,7 +3669,7 @@ OWSequence_Joshua: run_script OWScript_PrintVariableText tx Text0440 tx Text0441 - run_script OWScript_EndScriptCloseText + run_script OWScript_QuitScriptFully .startDuel: run_script OWScript_PrintTextString @@ -3392,7 +3680,7 @@ OWSequence_Joshua: db PRIZES_4 db SOUND_OF_THE_WAVES_DECK_ID db MUSIC_DUEL_THEME_1 - run_script OWScript_EndScriptCloseText + run_script OWScript_QuitScriptFully OWSequence_LostToJoshua: ; e260 (3:6260) start_script @@ -3403,7 +3691,7 @@ OWSequence_LostToJoshua: ; e260 (3:6260) run_script OWScript_PrintVariableText tx Text0443 tx Text0444 - run_script OWScript_EndScriptCloseText + run_script OWScript_QuitScriptFully OWSequence_BeatJoshua: ; e26c (3:626c) start_script @@ -3429,7 +3717,7 @@ OWSequence_BeatJoshua: ; e26c (3:626c) db EVENT_JOSHUA_STATE db JOSHUA_BEATEN dw .firstJoshuaWin - run_script OWScript_EndScriptCloseText + run_script OWScript_QuitScriptFully .firstJoshuaWin: run_script OWScript_SetFlagValue @@ -3445,13 +3733,13 @@ OWSequence_BeatJoshua: ; e26c (3:626c) run_script Func_cfc6 db $00 run_script OWScript_CloseAdvancedTextBox - run_script Func_d088 + run_script OWScript_SetNextNPCandOWSequence db AMY dw OWSequence_MeetAmy run_script OWScript_EndScriptLoop1 -; 0xe2a0 + ret - INCROM $e2a0, $e2d1 + INCROM $e2a1, $e2d1 OWSequence_MeetAmy: ; e2d1 (3:62d1) start_script @@ -3479,12 +3767,12 @@ OWSequence_MeetAmy: ; e2d1 (3:62d1) run_script Func_d0be db $14 db $04 - run_script Func_d055 + run_script OWScript_SetPlayerDirection db $03 run_script OWScript_MovePlayer db WEST db $01 - run_script Func_d055 + run_script OWScript_SetPlayerDirection db $00 run_script OWScript_MovePlayer db NORTH @@ -3520,7 +3808,7 @@ OWSequence_Amy: ; e304 (3:6304) db $14 db $04 dw OWSequence_LostToAmy.ows_e34e - run_script OWScript_EndScriptCloseText + run_script OWScript_QuitScriptFully .startDuel run_script OWScript_PrintTextString @@ -3529,7 +3817,7 @@ OWSequence_Amy: ; e304 (3:6304) db PRIZES_6 db GO_GO_RAIN_DANCE_DECK_ID db MUSIC_DUEL_THEME_2 - run_script OWScript_EndScriptCloseText + run_script OWScript_QuitScriptFully OWSequence_BeatAmy: ; e322 (3:6322) start_script @@ -3560,7 +3848,7 @@ OWSequence_BeatAmy: ; e322 (3:6322) db $14 db $04 dw OWSequence_LostToAmy.ows_e34e - run_script OWScript_EndScriptCloseText + run_script OWScript_QuitScriptFully OWSequence_LostToAmy: ; e344 (3:6344) start_script @@ -3570,7 +3858,7 @@ OWSequence_LostToAmy: ; e344 (3:6344) db $14 db $04 dw .ows_e34e - run_script OWScript_EndScriptCloseText + run_script OWScript_QuitScriptFully .ows_e34e run_script Func_d095 @@ -3580,7 +3868,7 @@ OWSequence_LostToAmy: ; e344 (3:6344) run_script Func_d0be db $16 db $04 - run_script OWScript_EndScriptCloseText + run_script OWScript_QuitScriptFully OWJump_TalkToAmyAgain: ; e356 (3:6356) run_script OWScript_PrintTextString @@ -3598,7 +3886,7 @@ OWJump_TalkToAmyAgain: ; e356 (3:6356) db PRIZES_6 db GO_GO_RAIN_DANCE_DECK_ID db MUSIC_DUEL_THEME_2 - run_script OWScript_EndScriptCloseText + run_script OWScript_QuitScriptFully ; 0xe369 INCROM $e369, $e525 @@ -3684,7 +3972,7 @@ OWSequence_Brittany: ; e5d2 (3:65d2) dw .wantToDuel run_script OWScript_PrintTextString tx Text06e3 - run_script OWScript_EndScriptCloseText + run_script OWScript_QuitScriptFully .wantToDuel run_script OWScript_PrintTextString @@ -3693,7 +3981,7 @@ OWSequence_Brittany: ; e5d2 (3:65d2) db PRIZES_4 db ETCETERA_DECK_ID db MUSIC_DUEL_THEME_1 - run_script OWScript_EndScriptCloseText + run_script OWScript_QuitScriptFully OWSequence_BeatBrittany: ; e5ee (3:65ee) start_script @@ -3730,7 +4018,7 @@ OWSequence_BeatBrittany: ; e5ee (3:65ee) run_script OWScript_PrintTextString tx Text06e8 .finishSequence - run_script OWScript_EndScriptCloseText + run_script OWScript_QuitScriptFully OWSequence_LostToBrittany: ; e618 (3:6618) start_script @@ -3817,7 +4105,7 @@ OWSequence_FirstRonaldEncounter: ; e862 (3:6862) db $01 run_script OWScript_PrintTextString tx Text0646 - run_script Func_cce4 + run_script OWScript_AskQuestionJumpDefaultYes dw 0000 dw .ows_e882 run_script OWScript_PrintTextString @@ -3832,7 +4120,7 @@ OWSequence_FirstRonaldEncounter: ; e862 (3:6862) run_script OWScript_PrintTextString tx Text0649 run_script OWScript_CloseTextBox - run_script Func_d055 + run_script OWScript_SetPlayerDirection db $03 run_script OWScript_MovePlayer db EAST @@ -3842,7 +4130,7 @@ OWSequence_FirstRonaldEncounter: ; e862 (3:6862) db $68 run_script Func_cdcb run_script Func_d41d - run_script OWScript_EndScriptCloseText + run_script OWScript_QuitScriptFully ; 0xe894 INCROM $e894, $e8c0 @@ -3859,16 +4147,16 @@ OWSequence_FirstRonaldFight: ; e8c0 (3:68c0) db $69 run_script OWScript_PrintTextString tx Text064a - run_script Func_d0f2 + run_script OWScript_JumpIfPlayerCoordMatches db $08 db $02 dw $68d6 - run_script Func_d055 + run_script OWScript_SetPlayerDirection db $03 run_script OWScript_MovePlayer db WEST db $01 - run_script Func_d055 + run_script OWScript_SetPlayerDirection db $02 run_script OWScript_MovePlayer db SOUTH @@ -3885,7 +4173,7 @@ OWSequence_FirstRonaldFight: ; e8c0 (3:68c0) db PRIZES_6 db IM_RONALD_DECK_ID db MUSIC_RONALD - run_script OWScript_EndScriptCloseText + run_script OWScript_QuitScriptFully OWSequence_BeatFirstRonaldFight: ; e8e9 (3:68e9) start_script @@ -3893,7 +4181,7 @@ OWSequence_BeatFirstRonaldFight: ; e8e9 (3:68e9) tx Text064c run_script OWScript_GiveCard db JIGGLYPUFF1 - run_script Func_cee2 + run_script OWScript_ShowCardReceivedScreen db JIGGLYPUFF1 run_script OWScript_PrintTextString tx Text064d @@ -3915,7 +4203,7 @@ OWJump_FinishedFirstRonaldFight db $69 run_script Func_cdcb run_script Func_d41d - run_script OWScript_EndScriptCloseText + run_script OWScript_QuitScriptFully ; 0xe905 INCROM $e905, $e91e @@ -3926,22 +4214,23 @@ OWSequenceSecondRonaldFight: ; e91e (3:691e) db $05 db $69 run_script OWScript_DoFrames - db $3c + db 60 run_script Func_ce4a db $0d db $69 run_script OWScript_PrintTextString tx Text064f - run_script Func_d0f2 + run_script OWScript_JumpIfPlayerCoordMatches db $08 db $02 - dw $6934 - run_script Func_d055 + dw .ows_6934 + run_script OWScript_SetPlayerDirection db $03 run_script OWScript_MovePlayer db WEST db $01 - run_script Func_d055 +.ows_6934 + run_script OWScript_SetPlayerDirection db $02 run_script OWScript_MovePlayer db SOUTH @@ -3952,13 +4241,13 @@ OWSequenceSecondRonaldFight: ; e91e (3:691e) run_script OWScript_PrintTextString tx Text0650 run_script OWScript_SetFlagValue - db $4d + db EVENT_FLAG_4D db $01 run_script OWScript_StartBattle db PRIZES_6 db POWERFUL_RONALD_DECK_ID db MUSIC_RONALD - run_script OWScript_EndScriptCloseText + run_script OWScript_QuitScriptFully OWSequence_BeatSecondRonaldFight: ; e947 (3:6947) start_script @@ -3966,7 +4255,7 @@ OWSequence_BeatSecondRonaldFight: ; e947 (3:6947) tx Text0651 run_script OWScript_GiveCard db SUPER_ENERGY_RETRIEVAL - run_script Func_cee2 + run_script OWScript_ShowCardReceivedScreen db SUPER_ENERGY_RETRIEVAL run_script OWScript_PrintTextString tx Text0652 @@ -3980,7 +4269,7 @@ OWSequence_LostToSecondRonaldFight: ; e955 (3:6955) OWJump_FinishedSecondRonaldFight ; e959 (3:6959) run_script OWScript_SetFlagValue - db $4d + db EVENT_FLAG_4D db $02 run_script OWScript_CloseTextBox run_script Func_ce4a @@ -3988,7 +4277,7 @@ OWJump_FinishedSecondRonaldFight ; e959 (3:6959) db $69 run_script Func_cdcb run_script Func_d41d - run_script OWScript_EndScriptCloseText + run_script OWScript_QuitScriptFully ; 0xe963 INCROM $e963, $f580 diff --git a/src/engine/bank04.asm b/src/engine/bank04.asm index c81db5c..1613204 100644 --- a/src/engine/bank04.asm +++ b/src/engine/bank04.asm @@ -478,13 +478,13 @@ LoadOverworldMapSelection: ; 10f61 (4:4f61) ld hl, OverworldMapIndexes add hl, bc ld a, [hli] - ld [wd0bb], a + ld [wTempMap], a ld a, [hli] - ld [wd0bc], a + ld [wTempPlayerXCoord], a ld a, [hli] - ld [wd0bd], a + ld [wTempPlayerYCoord], a ld a, $0 - ld [wd0be], a + ld [wTempPlayerDirection], a ld hl, wd0b4 set 4, [hl] pop bc @@ -819,13 +819,13 @@ Func_1157c: ; 1157c (4:557c) .asm_11586 ld a, $2 - ld [wd0bc], a + ld [wTempPlayerXCoord], a ld a, $4 - ld [wd0bd], a + ld [wTempPlayerYCoord], a ld a, $2 - ld [wd0be], a + ld [wTempPlayerDirection], a ld a, $1 - ld [wd0bb], a + ld [wTempMap], a ld a, $1 ld [wd32e], a @@ -998,18 +998,18 @@ OverworldScriptTable: ; 1217b (4:617b) dw Func_d03f dw OWScript_Jump dw Func_d04f - dw Func_d055 + dw OWScript_SetPlayerDirection dw OWScript_MovePlayer - dw Func_cee2 + dw OWScript_ShowCardReceivedScreen dw OWScript_SetDialogName - dw Func_d088 + dw OWScript_SetNextNPCandOWSequence dw Func_d095 dw Func_d0be dw OWScript_DoFrames dw Func_d0d9 - dw Func_d0f2 + dw OWScript_JumpIfPlayerCoordMatches dw Func_ce4a - dw Func_ceba + dw OWScript_GiveOneOfEachTrainerBooster dw Func_d103 dw Func_d125 dw Func_d135 @@ -1022,12 +1022,12 @@ OverworldScriptTable: ; 1217b (4:617b) dw Func_d195 dw Func_d1ad dw Func_d1b3 - dw OWScript_EndScriptCloseText + dw OWScript_QuitScriptFully dw Func_d244 dw Func_d24c dw OWScript_OpenDeckMachine dw Func_d271 - dw Func_d36d + dw OWScript_EnterMap dw Func_ce6f dw Func_d209 dw Func_d38f @@ -1048,7 +1048,7 @@ OverworldScriptTable: ; 1217b (4:617b) dw Func_d41d dw Func_d42f dw Func_d435 - dw Func_cce4 + dw OWScript_AskQuestionJumpDefaultYes dw Func_d2f6 dw Func_d317 dw Func_d43d diff --git a/src/engine/bank07.asm b/src/engine/bank07.asm index 4455d3f..b5b9504 100644 --- a/src/engine/bank07.asm +++ b/src/engine/bank07.asm @@ -35,13 +35,13 @@ Func_1c056: ; 1c056 (7:4056) inc hl inc hl ld a, [hli] - ld [wd0bb], a + ld [wTempMap], a ld a, [hli] - ld [wd0bc], a + ld [wTempPlayerXCoord], a ld a, [hli] - ld [wd0bd], a + ld [wTempPlayerYCoord], a ld a, [wPlayerDirection] - ld [wd0be], a + ld [wTempPlayerDirection], a .asm_1c095 pop de pop bc -- cgit v1.2.3 From 299f013b8b14184b9f06da3b89ba87ce2ba9e0f3 Mon Sep 17 00:00:00 2001 From: Andrew Martinek Date: Sun, 13 Oct 2019 19:39:13 -0400 Subject: More scripts, start to figure out mapscripts --- src/engine/bank03.asm | 945 ++++++++++++++++++++++++++++++++++++++++---------- src/engine/bank04.asm | 41 ++- src/engine/bank07.asm | 53 ++- src/engine/home.asm | 48 +-- 4 files changed, 862 insertions(+), 225 deletions(-) (limited to 'src/engine') diff --git a/src/engine/bank03.asm b/src/engine/bank03.asm index 02ddc67..b573956 100644 --- a/src/engine/bank03.asm +++ b/src/engine/bank03.asm @@ -94,10 +94,10 @@ Func_c0ce: ; c0ce (3:40ce) jp hl PointerTable_c0e0: ; c0e0 (3:40e0) - dw Func_c0e8 - dw Func_c0ed - dw Func_c0f1 - dw Func_c10a + dw Func_c0e8 ; on map + dw Func_c0ed ; walking around + dw SetOWSequenceData ; beginning ows + dw EnterOWSequence ; mid-ows Func_c0e8: ; c0e8 (3:40e8) farcall Func_10e55 @@ -107,8 +107,8 @@ Func_c0ed: ; c0ed (3:40ed) call Func_c510 ret -Func_c0f1: ; c0f1 (3:40f1) - ld a, [wd3b6] +SetOWSequenceData: ; c0f1 (3:40f1) + ld a, [wScriptNPC] ld [wLoadedNPCTempIndex], a farcall SetNewOWSequenceNPC ld a, c @@ -117,9 +117,9 @@ Func_c0f1: ; c0f1 (3:40f1) ld [wNextOWSequence+1], a ld a, $3 ld [wd0bf], a - jr Func_c10a + jr EnterOWSequence -Func_c10a: ; c10a (3:410a) +EnterOWSequence: ; c10a (3:410a) ld hl, wNextOWSequence ld a, [hli] ld h, [hl] @@ -134,7 +134,7 @@ CloseAdvancedDialogueBox: ; c111 (3:4111) ld a, [wd0c1] bit 1, a jr z, .asm_c12a - ld a, [wd3b6] + ld a, [wScriptNPC] ld [wLoadedNPCTempIndex], a farcall Func_1c5e9 .asm_c12a @@ -582,7 +582,7 @@ Func_c4b9: ; c4b9 (3:44b9) ld a, $0 farcall CreateSpriteAndAnimBufferEntry ld a, [wWhichSprite] - ld [wd336], a + ld [wPlayerSpriteIndex], a ld b, $2 ld a, [wCurMap] cp OVERWORLD_MAP @@ -592,12 +592,12 @@ Func_c4b9: ; c4b9 (3:44b9) .asm_c4ee ld a, b ld [wPlayerDirection], a - call Func_c5e9 + call UpdatePlayerSprite ld a, [wCurMap] cp OVERWORLD_MAP call nz, Func_c6f7 xor a - ld [wd335], a + ld [wPlayerCurrentlyMoving], a ld [wd338], a ld a, [wCurMap] cp OVERWORLD_MAP @@ -607,41 +607,41 @@ Func_c4b9: ; c4b9 (3:44b9) ret Func_c510: ; c510 (3:4510) - ld a, [wd336] + ld a, [wPlayerSpriteIndex] ld [wWhichSprite], a - ld a, [wd335] + ld a, [wPlayerCurrentlyMoving] bit 4, a ret nz bit 0, a call z, Func_c5ac - ld a, [wd335] + ld a, [wPlayerCurrentlyMoving] or a jr z, .asm_c535 bit 0, a call nz, Func_c66c - ld a, [wd335] + ld a, [wPlayerCurrentlyMoving] bit 1, a call nz, Func_c6dc ret .asm_c535 ldh a, [hKeysPressed] and START - call nz, Func_c74d + call nz, OpenStartMenu ret Func_c53d: ; c53d (3:453d) - ld a, [wd336] + ld a, [wPlayerSpriteIndex] ld [wWhichSprite], a - ld a, [wd335] + ld a, [wPlayerCurrentlyMoving] bit 0, a call nz, Func_c687 - ld a, [wd335] + ld a, [wPlayerCurrentlyMoving] bit 1, a call nz, Func_c6dc ret Func_c554: ; c554 (3:4554) - ld a, [wd336] + ld a, [wPlayerSpriteIndex] ld [wWhichSprite], a ld a, [wCurMap] cp OVERWORLD_MAP @@ -698,49 +698,50 @@ Func_c58b: ; c58b (3:458b) Func_c5ac: ; c5ac (3:45ac) ldh a, [hKeysHeld] and D_PAD - jr z, .asm_c5bf - call Func_c5cb - call Func_c5fe - ld a, [wd335] + jr z, .skipMoving + call UpdatePlayerDirectionFromDPad + call AttemptPlayerMovementFromDirection + ld a, [wPlayerCurrentlyMoving] and $1 - jr nz, .asm_c5ca -.asm_c5bf + jr nz, .done +.skipMoving ldh a, [hKeysPressed] and A_BUTTON - jr z, .asm_c5ca + jr z, .done call Func_c71e - jr .asm_c5ca -.asm_c5ca + jr .done +.done ret -Func_c5cb: ; c5cb (3:45cb) - call Func_c5d5 -Func_c5ce: ; c5ce (3:45ce) +UpdatePlayerDirectionFromDPad: ; c5cb (3:45cb) + call GetDirectionFromDPad +UpdatePlayerDirection: ; c5ce (3:45ce) ld [wPlayerDirection], a - call Func_c5e9 + call UpdatePlayerSprite ret -Func_c5d5: ; c5d5 (3:45d5) +GetDirectionFromDPad: ; c5d5 (3:45d5) push hl - ld hl, Unknown_c5e5 + ld hl, KeypadDirectionMap or a - jr z, .asm_c5e2 -.asm_c5dc + jr z, .loadDirectionMapping +.findDirectionMappingLoop rlca - jr c, .asm_c5e2 + jr c, .loadDirectionMapping inc hl - jr .asm_c5dc -.asm_c5e2 + jr .findDirectionMappingLoop +.loadDirectionMapping ld a, [hl] pop hl ret -Unknown_c5e5: ; c5e5 (3:45e5) - db $02,$00,$03,$01 +KeypadDirectionMap: ; c5e5 (3:45e5) + db SOUTH, NORTH, WEST, EAST -Func_c5e9: ; c5e9 (3:45e9) +; Updates sprite depending on direction +UpdatePlayerSprite: ; c5e9 (3:45e9) push bc - ld a, [wd336] + ld a, [wPlayerSpriteIndex] ld [wWhichSprite], a ld a, [wd337] ld b, a @@ -750,25 +751,25 @@ Func_c5e9: ; c5e9 (3:45e9) pop bc ret -Func_c5fe: ; c5fe (3:45fe) +AttemptPlayerMovementFromDirection: ; c5fe (3:45fe) push bc - call Func_c653 - call AttemptScriptedMovement + call FindPlayerMovementFromDirection + call AttemptPlayerMovement pop bc ret StartScriptedMovement: ; c607 (3:4607) push bc - ld a, [wd336] + ld a, [wPlayerSpriteIndex] ld [wWhichSprite], a ld a, [wd339] - call FindScriptedMovementWithOffset - call AttemptScriptedMovement + call FindPlayerMovementWithOffset + call AttemptPlayerMovement pop bc ret ; bc is the location the player is being scripted to move towards. -AttemptScriptedMovement: ; c619 (3:4619) +AttemptPlayerMovement: ; c619 (3:4619) push hl push bc ld a, b @@ -784,9 +785,9 @@ AttemptScriptedMovement: ; c619 (3:4619) ld [wPlayerXCoord], a ld a, c ld [wPlayerYCoord], a - ld a, [wd335] ; I believe everything starting here is animation related. + ld a, [wPlayerCurrentlyMoving] ; I believe everything starting here is animation related. or $1 - ld [wd335], a + ld [wPlayerCurrentlyMoving], a ld a, $10 ld [wd338], a ld c, SPRITE_ANIM_FIELD_0F @@ -801,15 +802,15 @@ AttemptScriptedMovement: ; c619 (3:4619) pop hl ret -Func_c653: ; c653 (3:4653) +FindPlayerMovementFromDirection: ; c653 (3:4653) ld a, [wPlayerDirection] -FindScriptedMovementWithOffset: ; c656 (3:4656) +FindPlayerMovementWithOffset: ; c656 (3:4656) rlca ld c, a ld b, $0 push hl - ld hl, ScriptedMovementOffsetTable + ld hl, PlayerMovementOffsetTable add hl, bc ld a, [wPlayerXCoord] add [hl] @@ -877,7 +878,7 @@ Func_c694: ; c694 (3:4694) ld a, [wd338] or a jr nz, .asm_c6c3 - ld hl, wd335 + ld hl, wPlayerCurrentlyMoving set 1, [hl] .asm_c6c3 call Func_c41c @@ -904,7 +905,7 @@ Func_c6d4: ; c6d4 (3:46d4) Func_c6dc: ; c6dc (3:46dc) push hl - ld hl, wd335 + ld hl, wPlayerCurrentlyMoving res 0, [hl] res 1, [hl] call Func_c6f7 @@ -917,7 +918,7 @@ Func_c6dc: ; c6dc (3:46dc) ret Func_c6f7: ; c6f7 (3:46f7) - ld a, [wd336] + ld a, [wPlayerSpriteIndex] ld [wWhichSprite], a ld c, SPRITE_ANIM_FIELD_0F call GetSpriteAnimBufferProperty @@ -940,20 +941,22 @@ Func_c70d: ; c70d (3:470d) pop hl ret +; Arrives here if A button is pressed when not moving + in map move state Func_c71e: ; c71e (3:471e) ld a, $ff - ld [wd3b6], a - call Func_c653 + ld [wScriptNPC], a + call FindPlayerMovementFromDirection call GetPermissionOfMapPosition and $40 - jr z, .asm_c73d - farcall Func_1c72e - jr c, .asm_c73d + jr z, .noNPC + farcall FindNPCAtLocation + jr c, .noNPC ld a, [wLoadedNPCTempIndex] - ld [wd3b6], a - ld a, $2 + ld [wScriptNPC], a + ld a, $2 ; start OWScript jr .asm_c748 -.asm_c73d + +.noNPC call Func_3a5e jr nc, .asm_c746 ld a, $3 @@ -966,7 +969,7 @@ Func_c71e: ; c71e (3:471e) scf ret -Func_c74d: ; c74d (3:474d) +OpenStartMenu: ; c74d (3:474d) push hl push bc push de @@ -1061,7 +1064,7 @@ PC_c7ea: ; c7ea (3:47ea) ld a, MUSIC_PC_MAIN_MENU call PlaySong call Func_c241 - call $4915 + call Func_c915 call DoFrameIfLCDEnabled ldtx hl, TurnedPCOnText call PrintScrollableText_NoTextBoxLabel @@ -1120,7 +1123,7 @@ Func_c891: ; c891 (3:4891) ld a, $1 call Func_c29b call Func_c241 - call $4915 + call Func_c915 call DoFrameIfLCDEnabled call PrintScrollableText_NoTextBoxLabel ret @@ -1153,20 +1156,20 @@ Func_c8ba: ; c8ba (3:48ba) ld a, $1 call Func_c29b call Func_c241 - call $4915 + call Func_c915 call DoFrameIfLCDEnabled call $2c62 ret ; 0xc8ed -Func_c8ed: ; c8ed (3:c8ed) +Func_c8ed: ; c8ed (3:48ed) push hl push bc push de push hl ld a, $1 call Func_c29b - call $4915 + call Func_c915 call DoFrameIfLCDEnabled pop hl ld a, l @@ -1205,7 +1208,7 @@ SetNextNPCAndOWSequence: ; c926 (3:4926) push bc call FindLoadedNPC ld a, [wLoadedNPCTempIndex] - ld [wd3b6], a + ld [wScriptNPC], a farcall SetNewOWSequenceNPC pop bc ; fallthrough @@ -1323,35 +1326,41 @@ Func_c9cb: ; c9cb (3:49cb) pop hl ret +; Clears temporary flags before determining Imakuni Room Func_c9dd: ; c9dd (3:49dd) xor a - ld [wd411], a - call Func_c9e8 + ld [wEventFlags + EVENT_FLAG_BYTES - 1], a + call DetermineImakuniRoom call Func_ca0e ret -Func_c9e8: ; c9e8 (3:49e8) +; Determines what room Imakuni is in when you reset +; Skips current room and does not occur if you haven't talked to Imakuni +DetermineImakuniRoom: ; c9e8 (3:49e8) ld c, $0 - get_flag_value EVENT_FLAG_13 - cp $2 - jr c, .asm_ca04 -.asm_c9f2 + get_flag_value EVENT_IMAKUNI_STATE + cp IMAKUNI_TALKED + jr c, .finish +.tryLoadImakuniLoop call UpdateRNGSources and $3 ld c, a ld b, $0 - ld hl, Unknown_ca0a + ld hl, ImakuniPossibleRooms add hl, bc ld a, [wTempMap] cp [hl] - jr z, .asm_c9f2 -.asm_ca04 + jr z, .tryLoadImakuniLoop +.finish ld a, c - set_flag_value EVENT_FLAG_34 + set_flag_value EVENT_IMAKUNI_ROOM ret -Unknown_ca0a: ; ca0a (3:4a04) - INCROM $ca0a, $ca0e +ImakuniPossibleRooms: ; ca0a (3:4a04) + db FIGHTING_CLUB_LOBBY + db SCIENCE_CLUB_LOBBY + db LIGHTNING_CLUB_LOBBY + db WATER_CLUB_LOBBY Func_ca0e: ; ca0e (3:4a0e) ld a, [wd32e] @@ -1499,52 +1508,60 @@ ZeroOutEventFlag: ; cad0 (3:4ad0) pop bc ret -Func_cad8: ; cad8 (3:4ad8) +TryGiveMedalPCPacks: ; cad8 (3:4ad8) push hl push bc - ld hl, $4b15 + ld hl, MedalEventFlags ld bc, $0008 -.asm_cae0 +.countMedalsLoop ld a, [hli] call GetEventFlagValue - jr z, .asm_cae7 + jr z, .noMedal inc b - -.asm_cae7 +.noMedal dec c - jr nz, .asm_cae0 + jr nz, .countMedalsLoop + ld c, b - set_flag_value EVENT_FLAG_2E + set_flag_value EVENT_MEDAL_COUNT ld a, c push af cp $8 - jr nc, .asm_caff + jr nc, .givePacksForEightMedals cp $7 - jr nc, .asm_cb05 + jr nc, .givePacksForSevenMedals cp $3 - jr nc, .asm_cb0b - jr .asm_cb11 + jr nc, .givePacksForTwoMedals + jr .finish -.asm_caff +.givePacksForEightMedals ld a, $c - farcall $4, $4a70 + farcall TryGivePCPack -.asm_cb05 +.givePacksForSevenMedals ld a, $b - farcall $4, $4a70 + farcall TryGivePCPack -.asm_cb0b +.givePacksForTwoMedals ld a, $a - farcall $4, $4a70 + farcall TryGivePCPack -.asm_cb11 +.finish pop af pop bc pop hl ret ; 0xcb15 - INCROM $cb15, $cb1d +MedalEventFlags: ; cb15 (3:4b15) + db EVENT_FLAG_08 + db EVENT_FLAG_09 + db EVENT_FLAG_0A + db EVENT_BEAT_AMY + db EVENT_FLAG_0C + db EVENT_FLAG_0D + db EVENT_FLAG_0E + db EVENT_FLAG_0F ; returns wEventFlags byte in hl, related bits in wLoadedFlagBits GetEventFlag: ; cb1d (3:4b1d) @@ -1567,10 +1584,10 @@ GetEventFlag: ; cb1d (3:4b1d) ; offset - bytes to set or reset EventFlagMods: ; cb37 (3:4b37) - flag_def $3f, %10000000 ; EVENT_FLAG_00 + flag_def $3f, %10000000 ; EVENT_FLAG_00 ; 0-7 are reset when game resets flag_def $3f, %01000000 ; EVENT_FLAG_01 - flag_def $3f, %00100000 ; EVENT_FLAG_02 - flag_def $3f, %00010000 ; EVENT_FLAG_03 + flag_def $3f, %00100000 ; EVENT_TEMP_TALKED_TO_IMAKUNI + flag_def $3f, %00010000 ; EVENT_TEMP_BATTLED_IMAKUNI flag_def $3f, %00001000 ; EVENT_FLAG_04 flag_def $3f, %00000100 ; EVENT_FLAG_05 flag_def $3f, %00000010 ; EVENT_FLAG_06 @@ -1586,7 +1603,7 @@ EventFlagMods: ; cb37 (3:4b37) flag_def $00, %11111111 ; EVENT_FLAG_10 flag_def $01, %11110000 ; EVENT_FLAG_11 flag_def $01, %00001111 ; EVENT_FLAG_12 - flag_def $02, %11000000 ; EVENT_FLAG_13 + flag_def $02, %11000000 ; EVENT_IMAKUNI_STATE flag_def $02, %00110000 ; EVENT_FLAG_14 flag_def $02, %00001000 ; EVENT_BEAT_SARA flag_def $02, %00000100 ; EVENT_BEAT_AMANDA @@ -1613,15 +1630,15 @@ EventFlagMods: ; cb37 (3:4b37) flag_def $08, %11111111 ; EVENT_FLAG_2B flag_def $09, %11100000 ; EVENT_FLAG_2C flag_def $09, %00011111 ; EVENT_FLAG_2D - flag_def $0a, %11110000 ; EVENT_FLAG_2E + flag_def $0a, %11110000 ; EVENT_MEDAL_COUNT flag_def $0a, %00001000 ; EVENT_FLAG_2F flag_def $0a, %00000100 ; EVENT_FLAG_30 flag_def $0a, %00000011 ; EVENT_FLAG_31 flag_def $0b, %10000000 ; EVENT_FLAG_32 flag_def $0b, %01110000 ; EVENT_JOSHUA_STATE - flag_def $0b, %00001100 ; EVENT_FLAG_34 + flag_def $0b, %00001100 ; EVENT_IMAKUNI_ROOM flag_def $0b, %00000011 ; EVENT_FLAG_35 - flag_def $0c, %11100000 ; EVENT_FLAG_36 + flag_def $0c, %11100000 ; EVENT_IMAKUNI_WIN_COUNT flag_def $0c, %00011100 ; EVENT_FLAG_37 flag_def $0c, %00000010 ; EVENT_FLAG_38 flag_def $0c, %00000001 ; EVENT_FLAG_39 @@ -1687,7 +1704,8 @@ EventFlagMods: ; cb37 (3:4b37) flag_def $1c, %11110000 ; EVENT_FLAG_75 flag_def $1c, %00001111 ; EVENT_FLAG_76 -Func_cc25: ; cc25 (3:4c25) +; Used for basic level objects that just print text and quit +PrintInteractableObjectText: ; cc25 (3:4c25) ld hl, wd0ca ld a, [hli] ld h, [hl] @@ -1705,12 +1723,14 @@ Func_cc32: ; cc32 (3:4c32) pop hl call Func_c8ba ret -; 0xcc3e - INCROM $cc3e, $cc42 +Func_cc3e: ; cc3e (3:4c3e) + call CloseAdvancedDialogueBox + ret -; called when pressing a in front of an object. creates a pointer to the data right after an RST20 -; was called, then runs RunOverworldScript to handle that data +; Enters into the script loop, continuing until wBreakOWScriptLoop > 0 +; When the loop is broken, it resumes normal code execution where script ended +; Note: Some scripts "double return" and skip this. RST20: ; cc42 (3:4c42) pop hl ld a, l @@ -1728,8 +1748,7 @@ RST20: ; cc42 (3:4c42) ld a, [hli] ld c, a ld b, [hl] - push bc - ret + retbc IncreaseOWScriptPointerBy1: ; cc60 (3:4c60) ld a, 1 @@ -1871,7 +1890,7 @@ OWScript_AskQuestionJump: ; cce9 (3:4ce9) ; sets a battle up, doesn't start until we break out of the script system. OWScript_StartBattle: ; cd01 (3:4d01) call Func_cd66 - ld a, [wd3b6] + ld a, [wScriptNPC] ld l, LOADED_NPC_ID call GetItemInLoadedNPCIndex ld a, [hl] @@ -1887,7 +1906,7 @@ OWScript_StartBattle: ; cd01 (3:4d01) ld a, [hl] ld [wcc19], a .asm_cd26 - ld a, [wd3b6] + ld a, [wScriptNPC] ld l, LOADED_NPC_ID call GetItemInLoadedNPCIndex ld a, [hl] @@ -1970,7 +1989,8 @@ Func_cda8: ; cda8 (3:4da8) call Func_c891 jp IncreaseOWScriptPointerBy5 -OWScript_PrintTextCloseBox: ; cdb9 (3:4db9) +; Does not return to RST20 - pops an extra time to skip that. +OWScript_PrintTextQuitFully: ; cdb9 (3:4db9) ld l, c ld h, b call Func_cc32 @@ -1982,7 +2002,7 @@ OWScript_PrintTextCloseBox: ; cdb9 (3:4db9) ret Func_cdcb: ; cdcb (3:4dcb) - ld a, [wd3b6] + ld a, [wScriptNPC] ld [wLoadedNPCTempIndex], a Func_cdd1: ; cdd1 (3:4dd1) farcall Func_1c50a @@ -2026,7 +2046,7 @@ Func_cdf5: ; cdf5 (3:4df5) jp IncreaseOWScriptPointerBy3 Func_ce26: ; ce26 (3:4e26) - ld a, [wd3b6] + ld a, [wScriptNPC] ld [wLoadedNPCTempIndex], a farcall Func_1c455 rlca @@ -2048,7 +2068,7 @@ Func_ce3a: ; ce3a (3:4e3a) jp IncreaseOWScriptPointerBy3 Func_ce4a: ; ce4a (3:4e4a) - ld a, [wd3b6] + ld a, [wScriptNPC] ld [wLoadedNPCTempIndex], a jr Func_ce3a @@ -2304,7 +2324,7 @@ Func_cfc0: ; cfc0 (3:4fc0) jp SetOWScriptPointer Func_cfc6: ; cfc6 (3:4fc6) - ld a, [wd3b6] + ld a, [wScriptNPC] ld [wLoadedNPCTempIndex], a ld a, c farcall Func_1c52e @@ -2384,16 +2404,16 @@ OWScript_Jump: ; d049 (3:5049) call GetOWSArgs1AfterPointer jp SetOWScriptPointer -Func_d04f: ; d04f (3:504f) - call Func_cad8 +OWScript_TryGiveMedalPCPacks: ; d04f (3:504f) + call TryGiveMedalPCPacks jp IncreaseOWScriptPointerBy1 OWScript_SetPlayerDirection: ; d055 (3:5055) ld a, c - call Func_c5ce + call UpdatePlayerDirection jp IncreaseOWScriptPointerBy2 -; arg1 - Direction (index in ScriptedMovementOffsetTable) +; arg1 - Direction (index in PlayerMovementOffsetTable) ; arg2 - Tiles Moves (Speed) OWScript_MovePlayer: ; 505c (3:505c) ld a, c @@ -2405,7 +2425,7 @@ OWScript_MovePlayer: ; 505c (3:505c) call DoFrameIfLCDEnabled call SetScreenScroll call Func_c53d - ld a, [wd335] + ld a, [wPlayerCurrentlyMoving] and $03 jr nz, .asm_d067 call DoFrameIfLCDEnabled @@ -2425,11 +2445,11 @@ OWScript_SetNextNPCandOWSequence: ; d088 (3:5088) jp IncreaseOWScriptPointerBy4 Func_d095: ; d095 (3:5095) - ld a, [wd3b6] + ld a, [wScriptNPC] ld [wLoadedNPCTempIndex], a push bc call GetOWSArgs3AfterPointer - ld a, [wd3b6] + ld a, [wScriptNPC] ld l, LOADED_NPC_FIELD_05 call GetItemInLoadedNPCIndex res 4, [hl] @@ -2449,7 +2469,7 @@ Func_d095: ; d095 (3:5095) jp IncreaseOWScriptPointerBy4 Func_d0be: ; d0be (3:50be) - ld a, [wd3b6] + ld a, [wScriptNPC] ld [wLoadedNPCTempIndex], a ld a, c ld c, b @@ -2466,7 +2486,7 @@ OWScript_DoFrames: ; d0ce (3:50ce) jp IncreaseOWScriptPointerBy2 Func_d0d9: ; d0d9 (3:50d9) - ld a, [wd3b6] + ld a, [wScriptNPC] ld [wLoadedNPCTempIndex], a ld d, c ld e, b @@ -2767,7 +2787,7 @@ Func_d317: ; d317 (3:5317) set_flag_value EVENT_FLAG_75 jp IncreaseOWScriptPointerBy1 - +Unknown_d32b: ; d32b (3:532b) INCROM $d32b, $d336 OWScript_OpenDeckMachine: ; d336 (3:5336) @@ -2851,9 +2871,9 @@ Func_d3b9: ; d3b9 (3:53b9) set 6, [hl] jp IncreaseOWScriptPointerBy1 -OWScript_GivePCPack: ; d3c9 (3:53c9) +OWScript_TryGivePCPack: ; d3c9 (3:53c9) ld a, c - farcall GivePCPack + farcall TryGivePCPack jp IncreaseOWScriptPointerBy2 OWScript_nop: ; d3d1 (3:53d1) @@ -2892,10 +2912,10 @@ Func_d408: ; d408 (3:5408) Func_d40f: ; d40f (3:540f) ld a, c - call Func_3c83 + call CallPlaySong jp IncreaseOWScriptPointerBy2 -Func_d416: ; d416 (3:5416) +OWScript_PlaySFX: ; d416 (3:5416) ld a, c call PlaySFX jp IncreaseOWScriptPointerBy2 @@ -2904,16 +2924,16 @@ Func_d41d: ; d41d (3:541d) call Func_39fc jp IncreaseOWScriptPointerBy1 -Func_d423: ; d423 (3:5423) +OWScript_PauseSong: ; d423 (3:5423) call PauseSong jp IncreaseOWScriptPointerBy1 -Func_d429: ; d429 (3:5429) +OWScript_ResumeSong: ; d429 (3:5429) call ResumeSong jp IncreaseOWScriptPointerBy1 -Func_d42f: ; d42f (3:542f) - call Func_3c96 +OWScript_WaitForSongToFinish: ; d42f (3:542f) + call WaitForSongToFinish jp IncreaseOWScriptPointerBy1 Func_d435: ; d435 (3:5435) @@ -3322,7 +3342,312 @@ OWSequence_d827: ; d827 (3:5827) run_script OWScript_QuitScriptFully ; 0xd82d - INCROM $d82d, $dc68 + INCROM $d82d, $d932 + +OWSequence_d932: ; d932 (3:5932) + start_script + run_script Func_ccdc + tx Text0605 + run_script OWScript_AskQuestionJumpDefaultYes + tx Text0606 + dw .ows_d93c + run_script OWScript_QuitScriptFully + +.ows_d93c + run_script OWScript_OpenDeckMachine + db $09 + run_script OWScript_QuitScriptFully +; 0xd93f + + INCROM $d93f, $dadd + +Preload_NikkiInIshiharasHouse: ; dadd (3:5add) + get_flag_value EVENT_FLAG_35 + cp $01 + jr nz, .dontLoadNikki + scf + ret +.dontLoadNikki + or a + ret +; 0xdae9 + + INCROM $dae9, $db3d + +Preload_IshiharaInIshiharasHouse: ; db3d (3:5b3d) + get_flag_value EVENT_FLAG_1C + or a + ret z + get_flag_value EVENT_FLAG_1F + cp $08 + ret + +OWSequence_Ishihara: ; db4a (3:5b4a) + start_script + run_script OWScript_MaxOutFlagValue + db EVENT_FLAG_1D + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_1F + db $00 + dw .ows_db80 + run_script OWScript_JumpIfFlagNonzero2 + db EVENT_FLAG_39 + dw .ows_db5a + run_script OWScript_JumpIfFlagNonzero2 + db EVENT_FLAG_22 + dw .ows_dc3e +.ows_db5a + run_script OWScript_JumpIfFlagNonzero2 + db EVENT_FLAG_00 + dw .ows_db90 + run_script OWScript_JumpIfFlagZero2 + db EVENT_FLAG_38 + dw .ows_db90 + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_1F + db $01 + dw .ows_db93 + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_1F + db $02 + dw .ows_db93 + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_1F + db $03 + dw .ows_dbcc + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_1F + db $04 + dw .ows_dbcc + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_1F + db $05 + dw .ows_dc05 + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_1F + db $06 + dw .ows_dc05 +.ows_db80 + run_script OWScript_MaxOutFlagValue + db EVENT_FLAG_00 + run_script OWScript_SetFlagValue + db EVENT_FLAG_1F + db $01 + run_script OWScript_ZeroOutFlagValue + db EVENT_FLAG_38 + run_script OWScript_JumpIfFlagZero2 + db EVENT_FLAG_22 + dw .ows_db8d + run_script OWScript_MaxOutFlagValue + db EVENT_FLAG_39 +.ows_db8d + run_script OWScript_PrintTextQuitFully + tx Text0727 + +.ows_db90 + run_script OWScript_PrintTextQuitFully + tx Text0728 + +.ows_db93 + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_1F + db $01 + dw NO_JUMP + run_script OWScript_PrintVariableText + tx Text0729 + tx Text072a + run_script OWScript_SetFlagValue + db EVENT_FLAG_1F + db $02 + run_script OWScript_AskQuestionJump + tx Text072b + dw .ows_dba8 + run_script OWScript_PrintTextQuitFully + tx Text072c + +.ows_dba8 + run_script Func_cf0c + db $ac + dw .ows_dbaf + run_script OWScript_PrintTextQuitFully + tx Text072d + +.ows_dbaf + run_script Func_cf12 + db $ac + dw .ows_dbb6 + run_script OWScript_PrintTextQuitFully + tx Text072e + +.ows_dbb6 + run_script OWScript_MaxOutFlagValue + db EVENT_FLAG_00 + run_script OWScript_SetFlagValue + db EVENT_FLAG_1F + db $03 + run_script OWScript_ZeroOutFlagValue + db EVENT_FLAG_38 + run_script OWScript_PrintTextString + tx Text072f + run_script Func_ccdc + tx Text0730 + run_script OWScript_TakeCard + db CLEFABLE + run_script OWScript_GiveCard + db SURFING_PIKACHU1 + run_script OWScript_ShowCardReceivedScreen + db SURFING_PIKACHU1 + run_script OWScript_PrintTextQuitFully + tx Text0731 + +.ows_dbcc + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_1F + db $03 + dw NO_JUMP + run_script OWScript_PrintVariableText + tx Text0732 + tx Text0733 + run_script OWScript_SetFlagValue + db EVENT_FLAG_1F + db $04 + run_script OWScript_AskQuestionJump + tx Text072b + dw .ows_dbe1 + run_script OWScript_PrintTextQuitFully + tx Text072c + +.ows_dbe1 + run_script Func_cf0c + db $bb + dw .ows_dbe8 + run_script OWScript_PrintTextQuitFully + tx Text0734 + +.ows_dbe8 + run_script Func_cf12 + db $bb + dw .ows_dbef + run_script OWScript_PrintTextQuitFully + tx Text0735 + +.ows_dbef + run_script OWScript_MaxOutFlagValue + db EVENT_FLAG_00 + run_script OWScript_SetFlagValue + db EVENT_FLAG_1F + db $05 + run_script OWScript_ZeroOutFlagValue + db EVENT_FLAG_38 + run_script OWScript_PrintTextString + tx Text072f + run_script Func_ccdc + tx Text0736 + run_script OWScript_TakeCard + db DITTO + run_script OWScript_GiveCard + db FLYING_PIKACHU + run_script OWScript_ShowCardReceivedScreen + db FLYING_PIKACHU + run_script OWScript_PrintTextQuitFully + tx Text0737 + +.ows_dc05 + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_1F + db $05 + dw NO_JUMP + run_script OWScript_PrintVariableText + tx Text0738 + tx Text0739 + run_script OWScript_SetFlagValue + db EVENT_FLAG_1F + db $06 + run_script OWScript_AskQuestionJump + tx Text072b + dw .ows_dc1a + run_script OWScript_PrintTextQuitFully + tx Text072c + +.ows_dc1a + run_script Func_cf0c + db $b8 + dw .ows_dc21 + run_script OWScript_PrintTextQuitFully + tx Text073a + +.ows_dc21 + run_script Func_cf12 + db $b8 + dw .ows_dc28 + run_script OWScript_PrintTextQuitFully + tx Text073b + +.ows_dc28 + run_script OWScript_MaxOutFlagValue + db EVENT_FLAG_00 + run_script OWScript_SetFlagValue + db EVENT_FLAG_1F + db $07 + run_script OWScript_ZeroOutFlagValue + db EVENT_FLAG_38 + run_script OWScript_PrintTextString + tx Text072f + run_script Func_ccdc + tx Text073c + run_script OWScript_TakeCard + db CHANSEY + run_script OWScript_GiveCard + db SURFING_PIKACHU2 + run_script OWScript_ShowCardReceivedScreen + db SURFING_PIKACHU2 + run_script OWScript_PrintTextQuitFully + tx Text073d + +.ows_dc3e + run_script OWScript_MaxOutFlagValue + db EVENT_FLAG_39 + run_script OWScript_PrintTextQuitFully + tx Text073e + +Preload_Ronald1InIshiharasHouse: ; dc43 (3:5c43) + get_flag_value EVENT_FLAG_22 + cp $01 + ccf + ret + +OWSequence_Ronald: ; dc4b (3:5c4b) + start_script + run_script OWScript_JumpIfFlagNonzero2 + db EVENT_FLAG_4E + dw .ows_dc55 + run_script OWScript_MaxOutFlagValue + db EVENT_FLAG_4E + run_script OWScript_PrintTextQuitFully + tx Text073f + +.ows_dc55 + run_script OWScript_PrintTextString + tx Text0740 + run_script OWScript_AskQuestionJump + tx Text0741 + dw .ows_dc60 + run_script OWScript_PrintTextQuitFully + tx Text0742 + +.ows_dc60 + run_script OWScript_PrintTextQuitFully + tx Text0743 +; 0xdc63 + + ; could be a commented function, or could be placed by mistake from + ; someone thinking that the Ronald script ended with more code execution + ret + +OWSequence_Clerk1: ; dc64 (3:5c64) + start_script + run_script OWScript_PrintTextQuitFully + tx Text045a FightingClubLobbyAfterDuel: ; dc68 (3:5c68) ld hl, .after_duel_table @@ -3340,16 +3665,16 @@ FightingClubLobbyAfterDuel: ; dc68 (3:5c68) OWSequence_Imakuni: ; dd0d (3:5d0d) start_script run_script OWScript_SetFlagValue - db EVENT_FLAG_13 - db $02 + db EVENT_IMAKUNI_STATE + db IMAKUNI_TALKED run_script OWScript_JumpIfFlagZero2 - db EVENT_FLAG_02 + db EVENT_TEMP_TALKED_TO_IMAKUNI dw NO_JUMP run_script OWScript_PrintVariableText tx Text0467 tx Text0468 run_script OWScript_MaxOutFlagValue - db EVENT_FLAG_02 + db EVENT_TEMP_TALKED_TO_IMAKUNI run_script OWScript_AskQuestionJump tx Text0469 dw .declineDuel @@ -3370,43 +3695,43 @@ OWSequence_Imakuni: ; dd0d (3:5d0d) OWSequence_BeatImakuni: ; dd2d (3:5d2d) start_script run_script OWScript_JumpIfFlagEqual - db EVENT_FLAG_36 + db EVENT_IMAKUNI_WIN_COUNT db $07 - dw .ows_dd3f + dw .giveBoosters run_script OWScript_IncrementFlagValue - db EVENT_FLAG_36 + db EVENT_IMAKUNI_WIN_COUNT run_script OWScript_JumpIfFlagEqual - db EVENT_FLAG_36 + db EVENT_IMAKUNI_WIN_COUNT db $03 - dw .ows_dd46 + dw .threeWins run_script OWScript_JumpIfFlagEqual - db EVENT_FLAG_36 + db EVENT_IMAKUNI_WIN_COUNT db $06 - dw .ows_dd4c -.ows_dd3f + dw .sixWins +.giveBoosters run_script OWScript_PrintTextString tx Text046c run_script OWScript_GiveOneOfEachTrainerBooster run_script OWScript_Jump - dw .ows_dd56 + dw .done -.ows_dd46 +.threeWins run_script OWScript_PrintTextString tx Text046d run_script OWScript_Jump - dw .ows_dd4f + dw .giveImakuniCard -.ows_dd4c +.sixWins run_script OWScript_PrintTextString tx Text046e -.ows_dd4f +.giveImakuniCard run_script OWScript_PrintTextString tx Text046f run_script OWScript_GiveCard db IMAKUNI_CARD run_script OWScript_ShowCardReceivedScreen db IMAKUNI_CARD -.ows_dd56 +.done run_script OWScript_PrintTextString tx Text0470 run_script OWScript_Jump @@ -3439,14 +3764,140 @@ OWJump_ImakuniCommon: ; dd60 (3:5d60) db $5d run_script Func_cdcb run_script OWScript_MaxOutFlagValue - db EVENT_FLAG_03 + db EVENT_TEMP_BATTLED_IMAKUNI run_script Func_d408 db $09 run_script Func_d41d run_script OWScript_QuitScriptFully ; 0xdd78 - INCROM $dd78, $e13f + INCROM $dd78, $e0b0 + +Preload_ImakuniInWaterClubLobby: ; e0b0 (3:60b0) + get_flag_value EVENT_IMAKUNI_STATE + cp IMAKUNI_TALKED + jr c, .asm_e0c6 + get_flag_value EVENT_TEMP_BATTLED_IMAKUNI + jr nz, .asm_e0c6 + get_flag_value EVENT_IMAKUNI_ROOM + cp IMAKUNI_WATER_CLUB + jr z, .asm_e0c8 +.asm_e0c6 + or a + ret +.asm_e0c8 + ld a, $10 + ld [wd111], a + scf + ret +; 0xe0cf + +OWSequence_Gal1: ; e0cf (3:60cf) + start_script + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_12 + db $02 + dw .ows_e10e + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_12 + db $00 + dw NO_JUMP + run_script OWScript_PrintVariableText + tx Text041d + tx Text041e + run_script OWScript_SetFlagValue + db EVENT_FLAG_12 + db $01 + run_script OWScript_AskQuestionJump + tx Text041f + dw .ows_e0eb + run_script OWScript_PrintTextString + tx Text0420 + run_script OWScript_QuitScriptFully + +.ows_e0eb + run_script Func_cf0c + db $59 + dw .ows_e0f3 + run_script OWScript_PrintTextString + tx Text0421 + run_script OWScript_QuitScriptFully + +.ows_e0f3 + run_script Func_cf12 + db $59 + dw .ows_e0fb + run_script OWScript_PrintTextString + tx Text0422 + run_script OWScript_QuitScriptFully + +.ows_e0fb + run_script OWScript_SetFlagValue + db EVENT_FLAG_12 + db $02 + run_script OWScript_PrintTextString + tx Text0423 + run_script Func_ccdc + tx Text0424 + run_script OWScript_TakeCard + db LAPRAS + run_script OWScript_GiveCard + db ARCANINE1 + run_script OWScript_ShowCardReceivedScreen + db ARCANINE1 + run_script OWScript_PrintTextString + tx Text0425 + run_script OWScript_QuitScriptFully + +.ows_e10e + run_script OWScript_PrintTextQuitFully + tx Text0426 + +OWSequence_Lass1: ; e111 (3:6111) + start_script + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_14 + db $01 + dw .ows_e121 + run_script OWScript_PrintTextString + tx Text0427 + run_script OWScript_SetFlagValue + db EVENT_FLAG_14 + db $01 + run_script OWScript_SetFlagValue + db EVENT_IMAKUNI_STATE + db IMAKUNI_MENTIONED + run_script OWScript_QuitScriptFully + +.ows_e121 + run_script OWScript_JumpIfFlagNotEqual + db EVENT_IMAKUNI_ROOM + db IMAKUNI_WATER_CLUB + dw .ows_e12d + run_script OWScript_JumpIfFlagNonzero2 + db EVENT_TEMP_BATTLED_IMAKUNI + dw .ows_e12d + run_script OWScript_PrintTextQuitFully + tx Text0428 + +.ows_e12d + run_script OWScript_PrintTextQuitFully + tx Text0429 + +Preload_Man2InWaterClubLobby: ; e130 (3:6130) + get_flag_value EVENT_JOSHUA_STATE + cp JOSHUA_BEATEN + ret + +OWSequence_Man2: ; e137 (3:6137) + start_script + run_script OWScript_PrintTextQuitFully + tx Text042a + +OWSequence_Pappy2: ; e13b (3:613b) + start_script + run_script OWScript_PrintTextQuitFully + tx Text042b WaterClubMovePlayer: ; e13f (3:613f) ld a, [wPlayerYCoord] @@ -3522,7 +3973,7 @@ OWSequence_BeatSara: ; e18c (3:618c) OWSequence_LostToSara: ; e19a (03:619a) start_script - run_script OWScript_PrintTextCloseBox + run_script OWScript_PrintTextQuitFully tx Text0432 OWSequence_Amanda: ; e19e (03:619e) @@ -3560,7 +4011,7 @@ OWSequence_BeatAmanda: ; e1b3 (03:61b3) OWSequence_LostToAmanda: ; e1c1 (03:61c1) start_script - run_script OWScript_PrintTextCloseBox + run_script OWScript_PrintTextQuitFully tx Text0439 OWSequence_NotReadyToSeeAmy: ; e15c (03:6153) @@ -3674,7 +4125,7 @@ OWSequence_Joshua: .startDuel: run_script OWScript_PrintTextString tx Text0442 - run_script OWScript_GivePCPack + run_script OWScript_TryGivePCPack db $04 run_script OWScript_StartBattle db PRIZES_4 @@ -3782,8 +4233,7 @@ OWSequence_MeetAmy: ; e2d1 (3:62d1) db $01 run_script Func_ce6f db $21 - db $ab - db $62 + dw $62ab run_script OWScript_PrintTextString tx Text044e run_script OWScript_Jump @@ -3830,7 +4280,7 @@ OWSequence_BeatAmy: ; e322 (3:6322) tx Text0454 run_script OWScript_MaxOutFlagValue db EVENT_BEAT_AMY - run_script Func_d04f + run_script OWScript_TryGiveMedalPCPacks run_script Func_d125 db EVENT_BEAT_AMY run_script Func_d435 @@ -4022,7 +4472,7 @@ OWSequence_BeatBrittany: ; e5ee (3:65ee) OWSequence_LostToBrittany: ; e618 (3:6618) start_script - run_script OWScript_PrintTextCloseBox + run_script OWScript_PrintTextQuitFully tx Text06e9 ; 0xe61c @@ -4317,7 +4767,22 @@ Func_f580: ; f580 (3:7580) INCROM $f5b3, $f602 Func_f602: ; f602 (3:7602) - INCROM $f602, $fc2b + INCROM $f602, $f631 + +OWSequence_f631: ; f631 (3:7631) + start_script + run_script OWScript_PrintTextString + tx Text0508 + run_script OWScript_CloseAdvancedTextBox + run_script OWScript_SetNextNPCandOWSequence + db $02 + dw $763c + run_script OWScript_EndScriptLoop1 + + ret +; 0xf63c + + INCROM $f63c, $fc2b Func_fc2b: ; fc2b (3:7c2b) ld a, [wDuelResult] @@ -4344,7 +4809,19 @@ PointerTable_fc4c: ; fc4c (3:7c4c) dw Unknown_fc68 dw Unknown_fc60 - INCROM $fc52, $fc60 +OWSequence_fc52: ; fc52 (3:7c52) + start_script + run_script OWScript_PrintTextString + tx Text06c8 + run_script OWScript_AskQuestionJumpDefaultYes + dw $0000 + dw .ows_fc5e + run_script OWScript_PrintTextQuitFully + tx Text06c9 + +.ows_fc5e + run_script Func_cd76 + run_script OWScript_QuitScriptFully Unknown_fc60: ; fc60 (3:7c60) INCROM $fc60, $fc64 @@ -4353,7 +4830,117 @@ Unknown_fc64: ; fc64 (3:7c64) INCROM $fc64, $fc68 Unknown_fc68: ; fc68 (3:7c68) - INCROM $fc68, $fcad + INCROM $fc68, $fc6c + +; Clerk looks away from you if you can't use infrared +; This is one of the preloads that does not change whether or not they appear +Preload_GiftCenterClerk: ; fc6c (3:7c6c) + ld a, [wConsole] + cp CONSOLE_CGB + jr z, .notCGB + ld a, NORTH + ld [wLoadNPCDirection], a +.notCGB + scf + ret + +Func_fc7a: ; fc7a (3:7c7a) + ld a, [wConsole] + ld c, a + set_flag_value EVENT_FLAG_74 + + start_script + run_script OWScript_JumpIfFlagNotEqual + db EVENT_FLAG_74 + db $02 + dw Func_fcad.ows_fcd5 + run_script OWScript_PrintTextString + tx Text06cd + run_script Func_d39d + db $00 + run_script OWScript_JumpIfFlagNotLessThan + db EVENT_FLAG_72 + db $04 + dw Func_fc7a.ows_fcaa + run_script OWScript_PrintTextString + tx Text06ce + run_script OWScript_AskQuestionJumpDefaultYes + tx Text06cf + dw .ows_fca0 + run_script OWScript_PrintTextString + tx Text06d0 + run_script OWScript_Jump + dw Func_fc7a.ows_fcaa + +.ows_fca0 + run_script Func_d396 + db $00 + run_script OWScript_PlaySFX + db $56 + run_script Func_ccdc + tx Text06d1 + run_script Func_d39d + db $01 + run_script OWScript_QuitScriptFully + +.ows_fcaa + run_script OWScript_PrintTextQuitFully + tx Text06d2 Func_fcad: ; fcad (3:7cad) - INCROM $fcad, $10000 + ld a, [wd10e] + ld c, a + set_flag_value EVENT_FLAG_72 + + start_script + run_script OWScript_PlaySFX + db $56 + run_script Func_d396 + db $00 + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_72 + db $00 + dw .ows_fccc + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_72 + db $02 + dw .ows_fccf + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_72 + db $03 + dw .ows_fcd2 + run_script OWScript_Jump + dw Func_fc7a.ows_fcaa + +.ows_fccc + run_script OWScript_PrintTextQuitFully + tx Text06d3 + +.ows_fccf + run_script OWScript_PrintTextQuitFully + tx Text06d4 + +.ows_fcd2 + run_script OWScript_PrintTextQuitFully + tx Text06d5 + +.ows_fcd5 + run_script Func_ce6f + db $3c + dw Unknown_fce1 + run_script OWScript_PrintTextString + tx Text06d6 + run_script Func_ce6f + db $3c + dw Unknown_fce3 + run_script OWScript_QuitScriptFully + +Unknown_fce1: ; fce1 (3:7ce1) + db $82, $ff + +Unknown_fce3: ; fce3 (3:7ce3) + db $80, $ff + +rept $31b + db $ff +endr diff --git a/src/engine/bank04.asm b/src/engine/bank04.asm index 1613204..b01c51b 100644 --- a/src/engine/bank04.asm +++ b/src/engine/bank04.asm @@ -92,7 +92,7 @@ Medal_1029e: ; 1029e (4:429e) jr nz, .asm_102e2 ldtx hl, WonTheMedalText call PrintScrollableText_NoTextBoxLabel - call Func_3c96 + call WaitForSongToFinish call ResumeSong pop af ld [wd291], a @@ -149,7 +149,7 @@ BoosterPack_1031b: ; 1031b (4:431b) ldtx hl, AndAnotherBoosterPackText .asm_10373 call PrintScrollableText_NoTextBoxLabel - call Func_3c96 + call WaitForSongToFinish call ResumeSong ldtx hl, CheckedCardsInBoosterPackText call PrintScrollableText_NoTextBoxLabel @@ -224,7 +224,7 @@ Duel_Init: ; 103d3 (4:43d3) lb de, 18, 17 ; x, y call SetCursorParametersForTextBox call WaitForButtonAorB - call Func_3c96 + call WaitForSongToFinish call Func_10ab4 ; fade out pop af ld [wd291], a @@ -240,7 +240,7 @@ Func_10756: ; 10756 (4:4756) INCROM $10756, $10a70 ; gives the pc pack described in a -GivePCPack: ; 10a70 (4:4a70) +TryGivePCPack: ; 10a70 (4:4a70) push hl push bc push de @@ -345,7 +345,7 @@ Func_10e28: ; 10e28 (4:4e28) INCROM $10e28, $10e55 Func_10e55: ; 10e55 (4:4e55) - ld a, [wd336] + ld a, [wPlayerSpriteIndex] ld [wWhichSprite], a ld a, [wd33e] or a @@ -365,7 +365,7 @@ Func_10e71: ; 10e71 (4:4e71) ldh a, [hKeysPressed] and D_PAD jr z, .asm_10e83 - farcall Func_c5d5 + farcall GetDirectionFromDPad ld [wPlayerDirection], a call Func_10e97 jr .asm_10e96 @@ -551,7 +551,7 @@ Func_11016: ; 11016 (4:5016) Func_11024: ; 11024 (4:5024) ld a, SFX_57 call PlaySFX - ld a, [wd336] + ld a, [wPlayerSpriteIndex] ld [wWhichSprite], a ld c, SPRITE_ANIM_FIELD_0F call GetSpriteAnimBufferProperty @@ -583,7 +583,7 @@ Func_11024: ; 11024 (4:5024) ret Func_11060: ; 11060 (4:5060) - ld a, [wd336] + ld a, [wPlayerSpriteIndex] ld [wWhichSprite], a ld a, [wd341] or a @@ -673,7 +673,7 @@ Func_110a6: ; 110a6 (4:50a6) xor a ld [wd347], a ld [wd348], a - farcall Func_c5e9 + farcall UpdatePlayerSprite pop hl ret @@ -977,7 +977,7 @@ OverworldScriptTable: ; 1217b (4:617b) dw OWScript_StartBattle dw OWScript_PrintVariableText dw Func_cda8 - dw OWScript_PrintTextCloseBox + dw OWScript_PrintTextQuitFully dw Func_cdcb dw Func_ce26 dw OWScript_CloseTextBox @@ -997,7 +997,7 @@ OverworldScriptTable: ; 1217b (4:617b) dw Func_d032 dw Func_d03f dw OWScript_Jump - dw Func_d04f + dw OWScript_TryGiveMedalPCPacks dw OWScript_SetPlayerDirection dw OWScript_MovePlayer dw OWScript_ShowCardReceivedScreen @@ -1035,18 +1035,18 @@ OverworldScriptTable: ; 1217b (4:617b) dw Func_cd76 dw Func_d39d dw Func_d3b9 - dw OWScript_GivePCPack + dw OWScript_TryGivePCPack dw OWScript_nop dw Func_d3d4 dw Func_d3e0 dw Func_d3fe dw Func_d408 dw Func_d40f - dw Func_d416 - dw Func_d423 - dw Func_d429 + dw OWScript_PlaySFX + dw OWScript_PauseSong + dw OWScript_ResumeSong dw Func_d41d - dw Func_d42f + dw OWScript_WaitForSongToFinish dw Func_d435 dw OWScript_AskQuestionJumpDefaultYes dw Func_d2f6 @@ -1561,7 +1561,7 @@ Func_1344d: ; 1344d (4:744d) call PlaySong ldtx hl, DefeatedFiveOpponentsText call PrintScrollableText_NoTextBoxLabel - call Func_3c96 + call WaitForSongToFinish call ResumeSong ret ; 0x13462 @@ -1583,7 +1583,7 @@ Func_13485: ; 13485 (4:7485) call PlaySong ldtx hl, ConsecutiveWinRecordIncreasedText call PrintScrollableText_NoTextBoxLabel - call Func_3c96 + call WaitForSongToFinish call ResumeSong ret ; 0x134b1 @@ -1591,5 +1591,8 @@ Func_13485: ; 13485 (4:7485) INCROM $134b1, $1372f INCLUDE "data/npc_map_data.asm" +INCLUDE "data/level_objects.asm" - INCROM $13b04, $14000 +rept $119 + db $ff +endr diff --git a/src/engine/bank07.asm b/src/engine/bank07.asm index b5b9504..d655c42 100644 --- a/src/engine/bank07.asm +++ b/src/engine/bank07.asm @@ -388,8 +388,55 @@ Func_1c719: ; 1c719 (7:4719) pop hl ret -Func_1c72e: ; 1c72e (7:472e) - INCROM $1c72e, $1c768 +; Find NPC at coords b (x) c (y) +FindNPCAtLocation: ; 1c72e (7:472e) + push hl + push bc + push de + ld d, $00 + ld e, LOADED_NPC_MAX + ld hl, wLoadedNPC1CoordX +.findValidNPCLoop + ld a, [hli] + cp b + jr nz, .noValidNPCHere + ld a, [hl] + cp c + jr nz, .noValidNPCHere + push hl + inc hl + inc hl + bit 6, [hl] + pop hl + jr nz, .noValidNPCHere + push hl + dec hl + dec hl + ld a, [hl] + or a + pop hl + jr nz, .foundNPCExit +.noValidNPCHere + ld a, LOADED_NPC_LENGTH - 1 + add l + ld l, a + ld a, h + adc $00 + ld h, a + inc d + dec e + jr nz, .findValidNPCLoop + scf + jr .exit +.foundNPCExit + ld a, d + ld [wLoadedNPCTempIndex], a + or a +.exit + pop de + pop bc + pop hl + ret ; Probably needs a new name. Loads data for NPC that the next OWSequence is for ; Sets direction, Loads Image data for it, loads name, and more @@ -731,7 +778,7 @@ Credits_1d6ad: ; 1d6ad (7:56ad) ld a, [wd633] cp $ff jr nz, .asm_1d6c8 - call Func_3c96 + call WaitForSongToFinish ld a, $8 farcall $4, $6863 ld a, MUSIC_STOP diff --git a/src/engine/home.asm b/src/engine/home.asm index 4135afa..681069d 100644 --- a/src/engine/home.asm +++ b/src/engine/home.asm @@ -10800,7 +10800,7 @@ GameEvent_Credits: ; 3911 (0:3911) ret Func_3917: ; 3917 (0:3917) - ld a, $22 + ld a, EVENT_FLAG_22 farcall GetEventFlagValue call EnableSRAM ld [s0a00a], a @@ -10875,8 +10875,8 @@ Func_395a: ; 395a (0:395a) Unknown_396b: ; 396b (0:396b) db $00, -$01, $01, $00, $00, $01, -$01, $00 -; Movement offsets for scripted movements -ScriptedMovementOffsetTable: ; 3973 (0:3973) +; Movement offsets for player movements +PlayerMovementOffsetTable: ; 3973 (0:3973) db 0, -2 ; move 2 tiles up db 2, 0 ; move 2 tiles right db 0, 2 ; move 2 tiles down @@ -11062,30 +11062,30 @@ Func_3a4f: ; 3a4f (0:3a4f) Func_3a5e: ; 3a5e (0:3a5e) ldh a, [hBankROM] push af - ld l, $4 + ld l, MAP_SCRIPT_PRESSED_A_1 call GetMapScriptPointer - jr nc, .asm_3ab3 - ld a, BANK(Func_c653) + jr nc, .handleSecondAPressScript + ld a, BANK(FindPlayerMovementFromDirection) call BankswitchROM - call Func_c653 + call FindPlayerMovementFromDirection ld a, $4 call BankswitchROM ld a, [wPlayerDirection] ld d, a -.asm_3a79 +.findAPressMatchLoop ld a, [hli] bit 7, a - jr nz, .asm_3ab3 + jr nz, .handleSecondAPressScript push bc push hl cp d - jr nz, .asm_3aab + jr nz, .noMatch ld a, [hli] cp b - jr nz, .asm_3aab + jr nz, .noMatch ld a, [hli] cp c - jr nz, .asm_3aab + jr nz, .noMatch ld a, [hli] ld [wNextOWSequence], a ld a, [hli] @@ -11104,17 +11104,17 @@ Func_3a5e: ; 3a5e (0:3a5e) call BankswitchROM scf ret -.asm_3aab +.noMatch pop hl ld bc, $0008 add hl, bc pop bc - jr .asm_3a79 -.asm_3ab3 + jr .findAPressMatchLoop +.handleSecondAPressScript pop af call BankswitchROM - ld l, $6 - call $49c2 + ld l, MAP_SCRIPT_PRESSED_A_2 + call CallMapScriptPointerIfExists ret ; returns a map script pointer in hl given @@ -11415,9 +11415,8 @@ CallHL2: ; 3c45 (0:3c45) jp hl ; 0x3c46 -PushBC_Ret: ; 3c46 (0:3c46) - push bc - ret +CallBC: ; 3c46 (0:3c46) + retbc ; 0x3c48 DoFrameIfLCDEnabled: ; 3c48 (0:3c48) @@ -11468,7 +11467,7 @@ DivideBCbyDE: ; 3c5a (0:3c5a) jr nz, .asm_3c63 ret -Func_3c83: ; 3c83 (0:3c83) +CallPlaySong: ; 3c83 (0:3c83) call PlaySong ret ; 0x3c87 @@ -11478,18 +11477,19 @@ Func_3c87: ; 3c87 (0:3c87) call PauseSong pop af call PlaySong - call Func_3c96 + call WaitForSongToFinish call ResumeSong ret ; 0x3c96 -Func_3c96: ; 3c96 (0:3c96) +WaitForSongToFinish: ; 3c96 (0:3c96) call DoFrameIfLCDEnabled call AssertSongFinished or a - jr nz, Func_3c96 + jr nz, WaitForSongToFinish ret +; clear [SOMETHING] - something relating to animations Func_3ca0: ; 3ca0 (0:3ca0) xor a ld [wd5d7], a -- cgit v1.2.3 From 3ac91a513dc9351734927182e46b0acd010053cf Mon Sep 17 00:00:00 2001 From: Andrew Martinek Date: Thu, 24 Oct 2019 17:45:50 -0400 Subject: Uncovered NPC Movement and named OWObjects --- src/engine/bank03.asm | 546 ++++++++++++++++++++++++++++++++++++++------------ src/engine/bank04.asm | 2 +- src/engine/bank20.asm | 26 ++- src/engine/home.asm | 16 +- 4 files changed, 450 insertions(+), 140 deletions(-) (limited to 'src/engine') diff --git a/src/engine/bank03.asm b/src/engine/bank03.asm index b573956..651109d 100644 --- a/src/engine/bank03.asm +++ b/src/engine/bank03.asm @@ -54,7 +54,7 @@ LoadMap: ; c000 (3:4000) .asm_c092 call DoFrameIfLCDEnabled call SetScreenScroll - call Func_c0ce + call HandleOverworldMode ld hl, wd0b4 ld a, [hl] and $d0 @@ -79,13 +79,13 @@ LoadMap: ; c000 (3:4000) call Func_c280 ret -Func_c0ce: ; c0ce (3:40ce) - ld a, [wd0bf] +HandleOverworldMode: ; c0ce (3:40ce) + ld a, [wOverworldMode] res 7, a rlca - add LOW(PointerTable_c0e0) + add LOW(OverworldModePointers) ld l, a - ld a, HIGH(PointerTable_c0e0) + ld a, HIGH(OverworldModePointers) adc $0 ld h, a ld a, [hli] @@ -93,18 +93,18 @@ Func_c0ce: ; c0ce (3:40ce) ld l, a jp hl -PointerTable_c0e0: ; c0e0 (3:40e0) +OverworldModePointers: ; c0e0 (3:40e0) dw Func_c0e8 ; on map - dw Func_c0ed ; walking around - dw SetOWSequenceData ; beginning ows - dw EnterOWSequence ; mid-ows + dw CallHandlePlayerMoveMode + dw SetOWSequenceData + dw EnterOWSequence Func_c0e8: ; c0e8 (3:40e8) farcall Func_10e55 ret -Func_c0ed: ; c0ed (3:40ed) - call Func_c510 +CallHandlePlayerMoveMode: ; c0ed (3:40ed) + call HandlePlayerMoveMode ret SetOWSequenceData: ; c0f1 (3:40f1) @@ -116,7 +116,7 @@ SetOWSequenceData: ; c0f1 (3:40f1) ld a, b ld [wNextOWSequence+1], a ld a, $3 - ld [wd0bf], a + ld [wOverworldMode], a jr EnterOWSequence EnterOWSequence: ; c10a (3:410a) @@ -141,7 +141,7 @@ CloseAdvancedDialogueBox: ; c111 (3:4111) xor a ld [wd0c1], a ld a, [wd0c0] - ld [wd0bf], a + ld [wOverworldMode], a ret ; redraws the background and removes textbox control @@ -189,7 +189,7 @@ Func_c158: ; c158 (3:4158) ret Func_c17a: ; c17a (3:417a) - ld a, [wd0bf] + ld a, [wOverworldMode] cp $3 ret z call Func_c9b8 @@ -204,7 +204,7 @@ Func_c184: ; c184 (3:4184) ld c, $0 .asm_c190 ld a, c - ld [wd0bf], a + ld [wOverworldMode], a ld [wd0c0], a pop bc ret @@ -606,24 +606,24 @@ Func_c4b9: ; c4b9 (3:44b9) .asm_c50f ret -Func_c510: ; c510 (3:4510) +HandlePlayerMoveMode: ; c510 (3:4510) ld a, [wPlayerSpriteIndex] ld [wWhichSprite], a ld a, [wPlayerCurrentlyMoving] bit 4, a ret nz bit 0, a - call z, Func_c5ac + call z, HandlePlayerMoveModeInput ld a, [wPlayerCurrentlyMoving] or a - jr z, .asm_c535 + jr z, .notMoving bit 0, a call nz, Func_c66c ld a, [wPlayerCurrentlyMoving] bit 1, a call nz, Func_c6dc ret -.asm_c535 +.notMoving ldh a, [hKeysPressed] and START call nz, OpenStartMenu @@ -695,7 +695,7 @@ Func_c58b: ; c58b (3:458b) pop hl ret -Func_c5ac: ; c5ac (3:45ac) +HandlePlayerMoveModeInput: ; c5ac (3:45ac) ldh a, [hKeysHeld] and D_PAD jr z, .skipMoving @@ -708,7 +708,7 @@ Func_c5ac: ; c5ac (3:45ac) ldh a, [hKeysPressed] and A_BUTTON jr z, .done - call Func_c71e + call FindNPCOrObject jr .done .done ret @@ -911,7 +911,7 @@ Func_c6dc: ; c6dc (3:46dc) call Func_c6f7 call Func_3997 call Func_c70d - ld a, [wd0bf] + ld a, [wOverworldMode] cp $1 call z, Func_c9c0 pop hl @@ -942,7 +942,7 @@ Func_c70d: ; c70d (3:470d) ret ; Arrives here if A button is pressed when not moving + in map move state -Func_c71e: ; c71e (3:471e) +FindNPCOrObject: ; c71e (3:471e) ld a, $ff ld [wScriptNPC], a call FindPlayerMovementFromDirection @@ -953,19 +953,19 @@ Func_c71e: ; c71e (3:471e) jr c, .noNPC ld a, [wLoadedNPCTempIndex] ld [wScriptNPC], a - ld a, $2 ; start OWScript - jr .asm_c748 + ld a, OWMODE_START_SCRIPT + jr .changeStateExit .noNPC - call Func_3a5e - jr nc, .asm_c746 - ld a, $3 - jr .asm_c748 -.asm_c746 + call HandleMoveModeAPress + jr nc, .exit + ld a, OWMODE_SCRIPT + jr .changeStateExit +.exit or a ret -.asm_c748 - ld [wd0bf], a +.changeStateExit + ld [wOverworldMode], a scf ret @@ -1220,7 +1220,7 @@ SetNextOWSequence: ; c935 (3:4935) inc hl ld [hl], b ld a, $3 - ld [wd0bf], a + ld [wOverworldMode], a pop hl ret @@ -1366,7 +1366,7 @@ Func_ca0e: ; ca0e (3:4a0e) ld a, [wd32e] cp $b jr z, .asm_ca68 - get_flag_value EVENT_FLAG_22 + get_flag_value EVENT_RECEIVED_LEGEND_CARDS or a jr nz, .asm_ca4a get_flag_value EVENT_FLAG_40 @@ -1618,7 +1618,7 @@ EventFlagMods: ; cb37 (3:4b37) flag_def $05, %00001111 ; EVENT_FLAG_1F flag_def $06, %11110000 ; EVENT_FLAG_20 flag_def $06, %00001100 ; EVENT_FLAG_21 - flag_def $06, %00000010 ; EVENT_FLAG_22 + flag_def $06, %00000010 ; EVENT_RECEIVED_LEGEND_CARDS flag_def $06, %00000001 ; EVENT_FLAG_23 flag_def $07, %11000000 ; EVENT_FLAG_24 flag_def $07, %00100000 ; EVENT_FLAG_25 @@ -1706,7 +1706,7 @@ EventFlagMods: ; cb37 (3:4b37) ; Used for basic level objects that just print text and quit PrintInteractableObjectText: ; cc25 (3:4c25) - ld hl, wd0ca + ld hl, wDefaultObjectText ld a, [hli] ld h, [hl] ld l, a @@ -2059,7 +2059,9 @@ Func_ce26: ; ce26 (3:4e26) inc hl ld b, [hl] -Func_ce3a: ; ce3a (3:4e3a) +; Moves an NPC given the list of directions pointed to by bc +; set bit 7 to only rotate the NPC +ExecuteNPCMovement: ; ce3a (3:4e3a) farcall Func_1c78d .asm_ce3e call DoFrameIfLCDEnabled @@ -2067,11 +2069,15 @@ Func_ce3a: ; ce3a (3:4e3a) jr nz, .asm_ce3e jp IncreaseOWScriptPointerBy3 -Func_ce4a: ; ce4a (3:4e4a) +; Begin a series of NPC movements on the currently talking NPC +; based on the series of directions pointed to by bc +OWScript_MoveActiveNPC: ; ce4a (3:4e4a) ld a, [wScriptNPC] ld [wLoadedNPCTempIndex], a - jr Func_ce3a + jr ExecuteNPCMovement +; Begin a series of NPC movements on an arbitrary NPC +; based on the series of directions pointed to by bc Func_ce52: ; ce52 (3:4e52) ld a, [wLoadedNPCTempIndex] push af @@ -2081,7 +2087,7 @@ Func_ce52: ; ce52 (3:4e52) asm_ce5d ld [wTempNPC], a call FindLoadedNPC - call Func_ce3a + call ExecuteNPCMovement pop af ld [wTempNPC], a pop af @@ -2652,16 +2658,30 @@ Func_d209: ; d209 (3:5209) jr nz, .asm_d20e push bc ld b, $0 - ld hl, $5240 + ld hl, Flags_d240 add hl, bc ld a, [hl] call MaxOutEventFlag pop bc - ld hl, $5234 + ld hl, LegendCards ld a, c jr asm_d1c6 - INCROM $d234, $d244 +LegendCards: ; d234 (3:5234) + db ZAPDOS3 + tx Text03f0 + db MOLTRES2 + tx Text03f1 + db ARTICUNO2 + tx Text03f2 + db DRAGONITE1 + tx Text03f3 + +Flags_d240: ; d240 (3:5240) + db EVENT_FLAG_6D + db EVENT_FLAG_6E + db EVENT_FLAG_6F + db EVENT_FLAG_70 Func_d244: ; d244 (3:5244) ld a, c @@ -3130,9 +3150,41 @@ MasonLaboratoryAfterDuel: ; d53b (3:553b) dw $569f db $00 - INCROM $d549, $d753 +MasonLabLoadMap: ; d549 (3:5549) + get_flag_value EVENT_FLAG_3E + cp $03 + ret nc + ld a, DRMASON + ld [wTempNPC], a + call FindLoadedNPC + ld bc, OWSequence_EnterLabFirstTime + jp SetNextNPCAndOWSequence + +MasonLabCloseTextBox: ; d55e (3:555e) + ld a, $0a + farcall Func_80b89 + ret + +; Lets you access the Challenge Machine if available +MasonLabPressedA: ; d565 (3:5565) + get_flag_value EVENT_RECEIVED_LEGEND_CARDS + or a + ret z + ld hl, ChallengeMachineObjectTable + call FindExtraInteractableObjects + ret + +ChallengeMachineObjectTable: ; d572 (3:5572) + db 10, 4, NORTH + dw OWSequence_d57d + db 12, 4, NORTH + dw OWSequence_d57d + db $00 + +OWSequence_d57d: ; d57d (3:557d) + INCROM $d57d, $d753 -OWSequence_d753: ; d753 (3:5753) +OWSequence_EnterLabFirstTime: ; d753 (3:5753) start_script run_script OWScript_MovePlayer db NORTH @@ -3172,9 +3224,8 @@ OWSequence_d753: ; d753 (3:5753) OWSequence_d779: ; d779 (03:5779) start_script - run_script Func_ce4a ; handles some sort of npc movement, and rotation? - db $80 - db $58 + run_script OWScript_MoveActiveNPC + dw NPCMovement_d880 run_script OWScript_PrintTextString tx Text05e4 run_script OWScript_SetDialogName @@ -3182,9 +3233,8 @@ OWSequence_d779: ; d779 (03:5779) run_script OWScript_PrintTextString tx Text05e5 run_script OWScript_CloseTextBox - run_script Func_ce4a - db $82 - db $58 + run_script OWScript_MoveActiveNPC + dw NPCMovement_d882 run_script Func_cfc6 db $01 run_script OWScript_SetPlayerDirection @@ -3198,11 +3248,10 @@ OWSequence_d779: ; d779 (03:5779) OWSequence_d794: ; d794 (3:5794) start_script - run_script Func_ce4a - db $8b - db $58 + run_script OWScript_MoveActiveNPC + dw NPCMovement_d88b run_script OWScript_DoFrames - db $28 + db 40 run_script OWScript_PrintTextString tx Text05e6 run_script OWScript_CloseTextBox @@ -3225,9 +3274,8 @@ OWSequence_d794: ; d794 (3:5794) db $01 run_script OWScript_SetPlayerDirection db WEST - run_script Func_ce4a - db $94 - db $58 + run_script OWScript_MoveActiveNPC + dw NPCMovement_d894 run_script OWScript_PrintTextString tx Text05e7 run_script OWScript_SetDialogName @@ -3342,7 +3390,39 @@ OWSequence_d827: ; d827 (3:5827) run_script OWScript_QuitScriptFully ; 0xd82d - INCROM $d82d, $d932 + INCROM $d82d, $d880 + +NPCMovement_d880: ; d880 (3:5880) + db EAST + db $ff + +NPCMovement_d882: ; d882 (3:5882) + db SOUTH + db SOUTH + db WEST + db WEST + db WEST + db WEST + db SOUTH + db EAST | NO_MOVE + db $ff + +NPCMovement_d88b: ; d88b (3:588b) + db WEST + db SOUTH + db SOUTH + db SOUTH + db WEST + db WEST + db WEST + db EAST | NO_MOVE + db $ff + +NPCMovement_d894: ; d894 (4:5894) + db SOUTH | NO_MOVE + db $ff + + INCROM $d896, $d932 OWSequence_d932: ; d932 (3:5932) start_script @@ -3394,7 +3474,7 @@ OWSequence_Ishihara: ; db4a (3:5b4a) db EVENT_FLAG_39 dw .ows_db5a run_script OWScript_JumpIfFlagNonzero2 - db EVENT_FLAG_22 + db EVENT_RECEIVED_LEGEND_CARDS dw .ows_dc3e .ows_db5a run_script OWScript_JumpIfFlagNonzero2 @@ -3436,7 +3516,7 @@ OWSequence_Ishihara: ; db4a (3:5b4a) run_script OWScript_ZeroOutFlagValue db EVENT_FLAG_38 run_script OWScript_JumpIfFlagZero2 - db EVENT_FLAG_22 + db EVENT_RECEIVED_LEGEND_CARDS dw .ows_db8d run_script OWScript_MaxOutFlagValue db EVENT_FLAG_39 @@ -3611,7 +3691,7 @@ OWSequence_Ishihara: ; db4a (3:5b4a) tx Text073e Preload_Ronald1InIshiharasHouse: ; dc43 (3:5c43) - get_flag_value EVENT_FLAG_22 + get_flag_value EVENT_RECEIVED_LEGEND_CARDS cp $01 ccf ret @@ -3759,9 +3839,8 @@ OWJump_ImakuniCommon: ; dd60 (3:5d60) db $01 .ows_dd6e - run_script Func_ce4a - db $78 - db $5d + run_script OWScript_MoveActiveNPC + dw NPCMovement_dd78 run_script Func_cdcb run_script OWScript_MaxOutFlagValue db EVENT_TEMP_BATTLED_IMAKUNI @@ -3771,7 +3850,19 @@ OWJump_ImakuniCommon: ; dd60 (3:5d60) run_script OWScript_QuitScriptFully ; 0xdd78 - INCROM $dd78, $e0b0 +NPCMovement_dd78 ; dd78 (3:5d78) + db SOUTH + db SOUTH + db SOUTH + db SOUTH + db EAST + db EAST + db EAST + db EAST + db EAST + db $ff + + INCROM $dd82, $e0b0 Preload_ImakuniInWaterClubLobby: ; e0b0 (3:60b0) get_flag_value EVENT_IMAKUNI_STATE @@ -4014,66 +4105,103 @@ OWSequence_LostToAmanda: ; e1c1 (03:61c1) run_script OWScript_PrintTextQuitFully tx Text0439 -OWSequence_NotReadyToSeeAmy: ; e15c (03:6153) +OWSequence_NotReadyToSeeAmy: ; e1c5 (03:61c5) start_script run_script OWScript_JumpIfPlayerCoordMatches db $12 db $08 - dw $61ec + dw .ows_e1ec run_script OWScript_JumpIfPlayerCoordMatches db $14 db $08 - dw $61f2 + dw .ows_e1f2 run_script OWScript_JumpIfPlayerCoordMatches db $18 db $08 - dw $61f8 + dw .ows_e1f8 +.ows_e1d5 run_script OWScript_MovePlayer db SOUTH db $04 - run_script Func_ce4a - db $13 - db $62 + run_script OWScript_MoveActiveNPC + dw NPCMovement_e213 run_script OWScript_PrintTextString tx Text043a run_script OWScript_JumpIfPlayerCoordMatches db $12 db $0a - dw $61fe + dw .ows_e1fe run_script OWScript_JumpIfPlayerCoordMatches db $14 db $0a - dw $6202 - run_script Func_ce4a - db $15 - db $62 + dw .ows_e202 + run_script OWScript_MoveActiveNPC + dw NPCMovement_e215 run_script OWScript_QuitScriptFully .ows_e1ec - run_script Func_ce4a - db $06 - db $62 + run_script OWScript_MoveActiveNPC + dw NPCMovement_e206 run_script OWScript_Jump - dw $61d5 - run_script Func_ce4a - db $0b - db $62 + dw .ows_e1d5 +.ows_e1f2 + run_script OWScript_MoveActiveNPC + dw NPCMovement_e20b run_script OWScript_Jump - dw $61d5 - run_script Func_ce4a - db $0f - db $62 + dw .ows_e1d5 +.ows_e1f8 + run_script OWScript_MoveActiveNPC + dw NPCMovement_e20f run_script OWScript_Jump - dw $61d5 - run_script Func_ce4a - db $18 - db $62 + dw .ows_e1d5 +.ows_e1fe + run_script OWScript_MoveActiveNPC + dw NPCMovement_e218 run_script OWScript_QuitScriptFully -; 0xe202 - INCROM $e202, $e21c +.ows_e202 + run_script OWScript_MoveActiveNPC + dw NPCMovement_e219 + run_script OWScript_QuitScriptFully + +NPCMovement_e206: ; e206 (3:6206) + db NORTH + db WEST + db WEST + db SOUTH | NO_MOVE + db $ff + +NPCMovement_e20b: ; e20b (3:620b) + db NORTH + db WEST + db SOUTH | NO_MOVE + db $ff + +NPCMovement_e20f: ; e20f (3:620f) + db NORTH + db EAST + db SOUTH | NO_MOVE + db $ff + +NPCMovement_e213: ; e213 (3:6213) + db SOUTH + db $ff + +NPCMovement_e215: ; e215 (3:6215) + db WEST + db SOUTH | NO_MOVE + db $ff + +NPCMovement_e218: ; e218 (3:6218) + db EAST +; fallthrough + +NPCMovement_e219: ; e219 (3:6219) + db EAST + db SOUTH | NO_MOVE + db $ff -OWSequence_Joshua: +OWSequence_Joshua: ; e21c (3:621c) start_script run_script OWScript_JumpIfFlagZero2 db EVENT_BEAT_AMANDA @@ -4539,9 +4667,8 @@ OWSequence_FirstRonaldEncounter: ; e862 (3:6862) start_script run_script OWScript_MaxOutFlagValue db EVENT_FLAG_4B - run_script Func_ce4a - db $94 - db $68 + run_script OWScript_MoveActiveNPC + dw NPCMovement_e894 run_script Func_d135 db $00 run_script OWScript_PrintTextString @@ -4575,26 +4702,31 @@ OWSequence_FirstRonaldEncounter: ; e862 (3:6862) run_script OWScript_MovePlayer db EAST db $04 - run_script Func_ce4a - db $94 - db $68 + run_script OWScript_MoveActiveNPC + dw NPCMovement_e894 run_script Func_cdcb run_script Func_d41d run_script OWScript_QuitScriptFully -; 0xe894 - INCROM $e894, $e8c0 +NPCMovement_e894: ; e894 (3:6894) + db SOUTH + db SOUTH + db SOUTH + db SOUTH + db SOUTH + db $ff +; e89a + + INCROM $e89a, $e8c0 OWSequence_FirstRonaldFight: ; e8c0 (3:68c0) start_script - run_script Func_ce4a - db $05 - db $69 + run_script OWScript_MoveActiveNPC + dw NPCMovement_e905 run_script OWScript_DoFrames db $3c - run_script Func_ce4a - db $0d - db $69 + run_script OWScript_MoveActiveNPC + dw NPCMovement_e90d run_script OWScript_PrintTextString tx Text064a run_script OWScript_JumpIfPlayerCoordMatches @@ -4602,12 +4734,12 @@ OWSequence_FirstRonaldFight: ; e8c0 (3:68c0) db $02 dw $68d6 run_script OWScript_SetPlayerDirection - db $03 + db WEST run_script OWScript_MovePlayer db WEST db $01 run_script OWScript_SetPlayerDirection - db $02 + db SOUTH run_script OWScript_MovePlayer db SOUTH db $01 @@ -4648,26 +4780,45 @@ OWJump_FinishedFirstRonaldFight db EVENT_FLAG_4C db $02 run_script OWScript_CloseTextBox - run_script Func_ce4a - db $0f - db $69 + run_script OWScript_MoveActiveNPC + dw NPCMovement_e90f run_script Func_cdcb run_script Func_d41d run_script OWScript_QuitScriptFully -; 0xe905 - INCROM $e905, $e91e +NPCMovement_e905: ; e905 (3:6905) + db EAST + db EAST + db EAST + db EAST + db EAST + db SOUTH + db NORTH | NO_MOVE + db $ff + +NPCMovement_e90d: ; e90d (3:690d) + db NORTH + db $ff + +NPCMovement_e90f: ; e90f (3:690f) + db SOUTH + db SOUTH + db SOUTH + db SOUTH + db SOUTH + db $ff +; e915 + + INCROM $e915, $e91e OWSequenceSecondRonaldFight: ; e91e (3:691e) start_script - run_script Func_ce4a - db $05 - db $69 + run_script OWScript_MoveActiveNPC + dw NPCMovement_e905 run_script OWScript_DoFrames db 60 - run_script Func_ce4a - db $0d - db $69 + run_script OWScript_MoveActiveNPC + dw NPCMovement_e90d run_script OWScript_PrintTextString tx Text064f run_script OWScript_JumpIfPlayerCoordMatches @@ -4675,13 +4826,13 @@ OWSequenceSecondRonaldFight: ; e91e (3:691e) db $02 dw .ows_6934 run_script OWScript_SetPlayerDirection - db $03 + db WEST run_script OWScript_MovePlayer db WEST db $01 .ows_6934 run_script OWScript_SetPlayerDirection - db $02 + db SOUTH run_script OWScript_MovePlayer db SOUTH db $01 @@ -4722,15 +4873,85 @@ OWJump_FinishedSecondRonaldFight ; e959 (3:6959) db EVENT_FLAG_4D db $02 run_script OWScript_CloseTextBox - run_script Func_ce4a - db $0f - db $69 + run_script OWScript_MoveActiveNPC + dw NPCMovement_e90f run_script Func_cdcb run_script Func_d41d run_script OWScript_QuitScriptFully ; 0xe963 - INCROM $e963, $f580 + INCROM $e963, $ed57 + +FireClubPressedA: ; ed57 (3:6d57) + ld hl, SlowpokePaintingObjectTable + call FindExtraInteractableObjects + ret + +SlowpokePaintingObjectTable: ; ed5e (3:6d5e) + db 16, 2, NORTH + dw OWSequence_ee76 + db $00 + +; Given a table with data of the form: +; X, Y, Dir, OWSequence +; Searches to try to find a match, and starts an OWSequence if possible +FindExtraInteractableObjects: ; ed64 (3:6d64) + ld de, $5 +.findObjectMatchLoop + ld a, [hl] + or a + ret z + push hl + ld a, [wPlayerXCoord] + cp [hl] + jr nz, .didNotMatch + inc hl + ld a, [wPlayerYCoord] + cp [hl] + jr nz, .didNotMatch + inc hl + ld a, [wPlayerDirection] + cp [hl] + jr z, .foundObject +.didNotMatch + pop hl + add hl, de + jr .findObjectMatchLoop +.foundObject + inc hl + ld c, [hl] + inc hl + ld b, [hl] + pop hl + call SetNextOWSequence + scf + ret +; 0xed8d + + INCROM $ed8d, $ee76 + +OWSequence_ee76: ; ee76 (3:6e76) + start_script + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_21 + db $01 + dw .ows_ee7d + run_script OWScript_QuitScriptFully + +.ows_ee7d + run_script OWScript_SetFlagValue + db EVENT_FLAG_21 + db $02 + run_script Func_ccdc + tx Text06a2 + run_script OWScript_GiveCard + db SLOWPOKE1 + run_script OWScript_ShowCardReceivedScreen + db SLOWPOKE1 + run_script OWScript_QuitScriptFully +; 0xee88 + + INCROM $ee88, $f580 Func_f580: ; f580 (3:7580) get_flag_value EVENT_FLAG_44 @@ -4782,7 +5003,72 @@ OWSequence_f631: ; f631 (3:7631) ret ; 0xf63c - INCROM $f63c, $fc2b + INCROM $f63c, $fbdb + +HallOfHonorLoadMap: ; fbdb (3:7bdb) + ld a, SFX_10 + call PlaySFX + ret +; 0xfbe1 + + INCROM $fbe1, $fbf1 + +OWSequence_fbf1: ; fbf1 (3:7bf1) + start_script + run_script OWScript_JumpIfFlagNonzero2 + db EVENT_RECEIVED_LEGEND_CARDS + dw .ows_fc10 + run_script OWScript_MaxOutFlagValue + db EVENT_RECEIVED_LEGEND_CARDS + run_script Func_ccdc + tx Text05b8 + run_script OWScript_GiveCard + db ZAPDOS3 + run_script OWScript_GiveCard + db MOLTRES2 + run_script OWScript_GiveCard + db ARTICUNO2 + run_script OWScript_GiveCard + db DRAGONITE1 + run_script OWScript_ShowCardReceivedScreen + db $ff +.ows_fc05 + run_script Func_d38f + db $00 + run_script Func_ccdc + tx Text05b9 +.ows_fc0a + run_script Func_d38f + db $01 + run_script Func_d396 + db $01 + run_script Func_d3b9 + run_script OWScript_QuitScriptFully + +.ows_fc10 + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_71 + db $0f + dw .ows_fc20 + run_script Func_d209 + run_script Func_ccdc + tx Text05ba + run_script OWScript_GiveCard + db $00 + run_script OWScript_ShowCardReceivedScreen + db $00 + run_script OWScript_Jump + dw .ows_fc05 + +.ows_fc20 + run_script Func_ccdc + tx Text05bb + run_script Func_d38f + db $00 + run_script Func_ccdc + tx Text05bc + run_script OWScript_Jump + dw .ows_fc0a Func_fc2b: ; fc2b (3:7c2b) ld a, [wDuelResult] diff --git a/src/engine/bank04.asm b/src/engine/bank04.asm index b01c51b..3f1d4f4 100644 --- a/src/engine/bank04.asm +++ b/src/engine/bank04.asm @@ -1008,7 +1008,7 @@ OverworldScriptTable: ; 1217b (4:617b) dw OWScript_DoFrames dw Func_d0d9 dw OWScript_JumpIfPlayerCoordMatches - dw Func_ce4a + dw OWScript_MoveActiveNPC dw OWScript_GiveOneOfEachTrainerBooster dw Func_d103 dw Func_d125 diff --git a/src/engine/bank20.asm b/src/engine/bank20.asm index 0086f96..b656f90 100644 --- a/src/engine/bank20.asm +++ b/src/engine/bank20.asm @@ -408,13 +408,37 @@ Func_804d8: ; 804d8 (20:44d8) INCROM $804d8, $80b7a Func_80b7a: ; 80b7a (20:4b7a) - INCROM $80b7a, $80ba4 + INCROM $80b7a, $80b89 + +Func_80b89: ; 80b89 (20:4b89) + push hl + push bc + push af + ld c, a + ld a, $01 + ld [$d292], a + ld b, $00 + ld hl, $d323 + add hl, bc + ld a, [hl] + or a + jr z, .asm_80ba0 + ld a, c + call Func_80baa +.asm_80ba0 + pop af + pop bc + pop hl + ret Func_80ba4: ; 80ba4 (20:4ba4) push af xor a ld [wd292], a pop af +; Fallthrough + +Func_80baa: ; 80baa (20:4baa) push hl push bc push de diff --git a/src/engine/home.asm b/src/engine/home.asm index 681069d..ca0eb19 100644 --- a/src/engine/home.asm +++ b/src/engine/home.asm @@ -10800,7 +10800,7 @@ GameEvent_Credits: ; 3911 (0:3911) ret Func_3917: ; 3917 (0:3917) - ld a, EVENT_FLAG_22 + ld a, EVENT_RECEIVED_LEGEND_CARDS farcall GetEventFlagValue call EnableSRAM ld [s0a00a], a @@ -11059,16 +11059,16 @@ Func_3a4f: ; 3a4f (0:3a4f) ret ; 0x3a5e -Func_3a5e: ; 3a5e (0:3a5e) +HandleMoveModeAPress: ; 3a5e (0:3a5e) ldh a, [hBankROM] push af - ld l, MAP_SCRIPT_PRESSED_A_1 + ld l, MAP_SCRIPT_OBJECTS call GetMapScriptPointer jr nc, .handleSecondAPressScript ld a, BANK(FindPlayerMovementFromDirection) call BankswitchROM call FindPlayerMovementFromDirection - ld a, $4 + ld a, BANK(MapScripts) call BankswitchROM ld a, [wPlayerDirection] ld d, a @@ -11091,9 +11091,9 @@ Func_3a5e: ; 3a5e (0:3a5e) ld a, [hli] ld [wNextOWSequence+1], a ld a, [hli] - ld [wd0ca], a + ld [wDefaultObjectText], a ld a, [hli] - ld [wd0cb], a + ld [wDefaultObjectText+1], a ld a, [hli] ld [wCurrentNPCNameTx], a ld a, [hli] @@ -11106,14 +11106,14 @@ Func_3a5e: ; 3a5e (0:3a5e) ret .noMatch pop hl - ld bc, $0008 + ld bc, LEVEL_OBJECT_SIZE - 1 add hl, bc pop bc jr .findAPressMatchLoop .handleSecondAPressScript pop af call BankswitchROM - ld l, MAP_SCRIPT_PRESSED_A_2 + ld l, MAP_SCRIPT_PRESSED_A call CallMapScriptPointerIfExists ret -- cgit v1.2.3 From e58e93fdb14173ae7a9edcd782f70fe67402c42f Mon Sep 17 00:00:00 2001 From: Andrew Martinek Date: Fri, 25 Oct 2019 19:41:50 -0400 Subject: a bit more scripting stuff, figured out more npc data --- src/engine/bank03.asm | 94 +++++++++++++++++++++++++++++++++++++-------------- src/engine/bank04.asm | 4 +-- src/engine/bank07.asm | 2 +- 3 files changed, 72 insertions(+), 28 deletions(-) (limited to 'src/engine') diff --git a/src/engine/bank03.asm b/src/engine/bank03.asm index 651109d..38a736e 100644 --- a/src/engine/bank03.asm +++ b/src/engine/bank03.asm @@ -1901,7 +1901,7 @@ OWScript_StartBattle: ; cd01 (3:4d01) ld a, [wd695] ld c, a ld b, $0 - ld hl, $4d63 + ld hl, AaronDeckIDs add hl, bc ld a, [hl] ld [wcc19], a @@ -1933,8 +1933,10 @@ Func_cd4f: ; cd4f (3:4d4f) ld a, [wd696] jr asm_cd2f -Unknown_dd63: ; cd4f (3:4d4f) - INCROM $cd63, $cd66 +AaronDeckIDs: ; cd63 (3:4d63) + db LIGHTNING_AND_FIRE_DECK_ID + db WATER_AND_FIGHTING_DECK_ID + db GRASS_AND_PSYCHIC_DECK_ID Func_cd66: ; cd66 (3:4d66) ld a, c @@ -2045,10 +2047,12 @@ Func_cdf5: ; cdf5 (3:4df5) ld [wLoadedNPCTempIndex], a jp IncreaseOWScriptPointerBy3 -Func_ce26: ; ce26 (3:4e26) +; Finds and executes an NPCMovement script in the table provided in bc +; based on the active NPC's current direction +OWScript_MoveActiveNPCByDirection: ; ce26 (3:4e26) ld a, [wScriptNPC] ld [wLoadedNPCTempIndex], a - farcall Func_1c455 + farcall GetNPCDirection rlca add c ld l, a @@ -2058,6 +2062,7 @@ Func_ce26: ; ce26 (3:4e26) ld c, [hl] inc hl ld b, [hl] +; fallthrough ; Moves an NPC given the list of directions pointed to by bc ; set bit 7 to only rotate the NPC @@ -2084,7 +2089,11 @@ Func_ce52: ; ce52 (3:4e52) ld a, [wTempNPC] push af ld a, [wd696] -asm_ce5d +; fallthrough + +; Executes movement on an arbitrary NPC using values in a and on the stack +; Changes and fixes Temp NPC using stack values +ExecuteArbitraryNPCMovementFromStack ld [wTempNPC], a call FindLoadedNPC call ExecuteNPCMovement @@ -2094,7 +2103,7 @@ asm_ce5d ld [wLoadedNPCTempIndex], a ret -Func_ce6f: ; ce6f (3:4e6f) +OWScript_MoveArbitraryNPC: ; ce6f (3:4e6f) ld a, [wLoadedNPCTempIndex] push af ld a, [wTempNPC] @@ -2106,7 +2115,7 @@ Func_ce6f: ; ce6f (3:4e6f) call IncreaseOWScriptPointerBy1 pop bc pop af - jr asm_ce5d + jr ExecuteArbitraryNPCMovementFromStack OWScript_CloseTextBox: ; ce84 (3:4e84) call CloseTextBox @@ -4044,7 +4053,7 @@ OWSequence_Sara: ; e177 (3:6177) tx Text042f run_script OWScript_StartBattle db PRIZES_2 - db WATERFRONT_POKEMON_DECK_ID ; 6189 + db WATERFRONT_POKEMON_DECK_ID db MUSIC_DUEL_THEME_1 run_script OWScript_QuitScriptFully @@ -4305,8 +4314,8 @@ OWSequence_BeatJoshua: ; e26c (3:626c) run_script OWScript_PrintTextString tx Text0449 run_script OWScript_CloseTextBox - run_script Func_ce26 - dw $62a1 + run_script OWScript_MoveActiveNPCByDirection + dw NPCMovementTable_e2a1 run_script OWScript_PrintTextString tx Text044a run_script Func_cfc6 @@ -4318,7 +4327,39 @@ OWSequence_BeatJoshua: ; e26c (3:626c) run_script OWScript_EndScriptLoop1 ret - INCROM $e2a1, $e2d1 +NPCMovementTable_e2a1: ; e2a1 (3:62a1) + dw NPCMovement_e2a9 + dw NPCMovement_e2a9 + dw NPCMovement_e2a9 + dw NPCMovement_e2a9 + +NPCMovement_e2a9: ; e2a9 (3:62a9) + db NORTH + db $ff + +NPCMovement_e2ab: ; e2ab (3:62ab) + db SOUTH + db $ff + +Preload_Amy: ; e2ad (3:62ad) + xor a + ld [wd3d0], a + ld a, [wd0c2] + or a + jr z, .asm_e2cf + ld a, [wPlayerXCoord] + cp $14 + jr nz, .asm_e2cf + ld a, [wPlayerYCoord] + cp $06 + jr nz, .asm_e2cf + ld a, $14 + ld [wLoadNPCXPos], a + ld a, $01 + ld [wd3d0], a +.asm_e2cf + scf + ret OWSequence_MeetAmy: ; e2d1 (3:62d1) start_script @@ -4359,9 +4400,9 @@ OWSequence_MeetAmy: ; e2d1 (3:62d1) run_script OWScript_MovePlayer db NORTH db $01 - run_script Func_ce6f - db $21 - dw $62ab + run_script OWScript_MoveArbitraryNPC + db JOSHUA + dw NPCMovement_e2ab run_script OWScript_PrintTextString tx Text044e run_script OWScript_Jump @@ -5211,21 +5252,24 @@ Func_fcad: ; fcad (3:7cad) tx Text06d5 .ows_fcd5 - run_script Func_ce6f - db $3c - dw Unknown_fce1 + run_script OWScript_MoveArbitraryNPC + db GIFT_CENTER_CLERK + dw NPCMovement_fce1 run_script OWScript_PrintTextString tx Text06d6 - run_script Func_ce6f - db $3c - dw Unknown_fce3 + run_script OWScript_MoveArbitraryNPC + db GIFT_CENTER_CLERK + dw NPCMovement_fce3 run_script OWScript_QuitScriptFully -Unknown_fce1: ; fce1 (3:7ce1) - db $82, $ff +NPCMovement_fce1: ; fce1 (3:7ce1) + db SOUTH | NO_MOVE + db $ff -Unknown_fce3: ; fce3 (3:7ce3) - db $80, $ff +NPCMovement_fce3: ; fce3 (3:7ce3) + db NORTH | NO_MOVE + db $ff +; fce5 rept $31b db $ff diff --git a/src/engine/bank04.asm b/src/engine/bank04.asm index 3f1d4f4..76b7c0a 100644 --- a/src/engine/bank04.asm +++ b/src/engine/bank04.asm @@ -979,7 +979,7 @@ OverworldScriptTable: ; 1217b (4:617b) dw Func_cda8 dw OWScript_PrintTextQuitFully dw Func_cdcb - dw Func_ce26 + dw OWScript_MoveActiveNPCByDirection dw OWScript_CloseTextBox dw OWScript_GiveBoosterPacks dw Func_cf0c @@ -1028,7 +1028,7 @@ OverworldScriptTable: ; 1217b (4:617b) dw OWScript_OpenDeckMachine dw Func_d271 dw OWScript_EnterMap - dw Func_ce6f + dw OWScript_MoveArbitraryNPC dw Func_d209 dw Func_d38f dw Func_d396 diff --git a/src/engine/bank07.asm b/src/engine/bank07.asm index d655c42..54e5c74 100644 --- a/src/engine/bank07.asm +++ b/src/engine/bank07.asm @@ -93,7 +93,7 @@ INCLUDE "data/map_headers.asm" Func_1c440: ; 1c440 (7:4440) INCROM $1c440, $1c455 -Func_1c455: ; 1c455 (7:4455) +GetNPCDirection: ; 1c455 (7:4455) push hl ld a, [wLoadedNPCTempIndex] ld l, LOADED_NPC_DIRECTION -- cgit v1.2.3 From 3f99d5555ce7b8a2467aef9d24d7192f993343d9 Mon Sep 17 00:00:00 2001 From: Andrew Martinek Date: Mon, 28 Oct 2019 17:25:50 -0400 Subject: extracted a lot of challenge hall scripts --- src/engine/bank03.asm | 684 +++++++++++++++++++++++++++++++++++++++++++++++++- src/engine/bank04.asm | 2 +- 2 files changed, 682 insertions(+), 4 deletions(-) (limited to 'src/engine') diff --git a/src/engine/bank03.asm b/src/engine/bank03.asm index 38a736e..b36371d 100644 --- a/src/engine/bank03.asm +++ b/src/engine/bank03.asm @@ -2083,7 +2083,7 @@ OWScript_MoveActiveNPC: ; ce4a (3:4e4a) ; Begin a series of NPC movements on an arbitrary NPC ; based on the series of directions pointed to by bc -Func_ce52: ; ce52 (3:4e52) +OWScript_MoveWramNPC: ; ce52 (3:4e52) ld a, [wLoadedNPCTempIndex] push af ld a, [wTempNPC] @@ -2626,6 +2626,7 @@ Func_d1b3: ; d1b3 (3:51b3) ld a, $d call Random add $2 +; fallthrough .asm_d1c3 ld hl, $51dc @@ -4645,7 +4646,178 @@ OWSequence_LostToBrittany: ; e618 (3:6618) tx Text06e9 ; 0xe61c - INCROM $e61c, $e7f6 +OWSequence_e61c: ; e61c (3:661c) + run_script OWScript_PrintTextQuitFully + tx Text06ea + +OWSequence_e61f: ; e61f (3:661f) + start_script + run_script OWScript_JumpIfFlagNonzero2 + db EVENT_FLAG_04 + dw OWSequence_e61c + run_script OWScript_JumpIfFlagNotLessThan + db EVENT_FLAG_37 + db $06 + dw OWSequence_e61c + run_script OWScript_JumpIfFlagNotLessThan + db EVENT_FLAG_37 + db $04 + dw .ows_e6a1 + run_script OWScript_JumpIfFlagNotLessThan + db EVENT_FLAG_37 + db $02 + dw .ows_e66a + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_37 + db $00 + dw NO_JUMP + run_script OWScript_PrintVariableText + tx Text06eb + tx Text06ec + run_script OWScript_SetFlagValue + db EVENT_FLAG_37 + db $01 + run_script OWScript_AskQuestionJump + tx Text06ed + dw .ows_e648 + run_script OWScript_PrintTextQuitFully + tx Text06ee + +.ows_e648 + run_script Func_cf0c + db $1c + dw .ows_e64f + run_script OWScript_PrintTextQuitFully + tx Text06ef + +.ows_e64f + run_script Func_cf12 + db $1c + dw .ows_e656 + run_script OWScript_PrintTextQuitFully + tx Text06f0 + +.ows_e656 + run_script OWScript_MaxOutFlagValue + db EVENT_FLAG_04 + run_script OWScript_SetFlagValue + db EVENT_FLAG_37 + db $02 + run_script OWScript_PrintTextString + tx Text06f1 + run_script Func_ccdc + tx Text06f2 + run_script OWScript_TakeCard + db ODDISH + run_script OWScript_GiveCard + db VILEPLUME + run_script OWScript_ShowCardReceivedScreen + db VILEPLUME + run_script OWScript_PrintTextQuitFully + tx Text06f3 + +.ows_e66a + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_37 + db $02 + dw NO_JUMP + run_script OWScript_PrintVariableText + tx Text06f4 + tx Text06f5 + run_script OWScript_SetFlagValue + db EVENT_FLAG_37 + db $03 + run_script OWScript_AskQuestionJump + tx Text06ed + dw .ows_e67f + run_script OWScript_PrintTextQuitFully + tx Text06f6 + +.ows_e67f + run_script Func_cf0c + db $ab + dw .ows_e686 + run_script OWScript_PrintTextQuitFully + tx Text06f7 + +.ows_e686 + run_script Func_cf12 + db $ab + dw .ows_e68d + run_script OWScript_PrintTextQuitFully + tx Text06f8 + +.ows_e68d + run_script OWScript_MaxOutFlagValue + db EVENT_FLAG_04 + run_script OWScript_SetFlagValue + db EVENT_FLAG_37 + db $04 + run_script OWScript_PrintTextString + tx Text06f9 + run_script Func_ccdc + tx Text06fa + run_script OWScript_TakeCard + db CLEFAIRY + run_script OWScript_GiveCard + db PIKACHU3 + run_script OWScript_ShowCardReceivedScreen + db PIKACHU3 + run_script OWScript_PrintTextQuitFully + tx Text06f3 + +.ows_e6a1 + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_37 + db $04 + dw NO_JUMP + run_script OWScript_PrintVariableText + tx Text06fb + tx Text06fc + run_script OWScript_SetFlagValue + db EVENT_FLAG_37 + db $05 + run_script OWScript_AskQuestionJump + tx Text06ed + dw .ows_e6b6 + run_script OWScript_PrintTextQuitFully + tx Text06fd + +.ows_e6b6 + run_script Func_cf0c + db $32 + dw .ows_e6bd + run_script OWScript_PrintTextQuitFully + tx Text06fe + +.ows_e6bd + run_script Func_cf12 + db $32 + dw .ows_e6c4 + run_script OWScript_PrintTextQuitFully + tx Text06ff + +.ows_e6c4 + run_script OWScript_MaxOutFlagValue + db EVENT_FLAG_04 + run_script OWScript_SetFlagValue + db EVENT_FLAG_37 + db $06 + run_script OWScript_PrintTextString + tx Text0700 + run_script Func_ccdc + tx Text0701 + run_script OWScript_TakeCard + db CHARIZARD + run_script OWScript_GiveCard + db BLASTOISE + run_script OWScript_ShowCardReceivedScreen + db BLASTOISE + run_script OWScript_PrintTextQuitFully + tx Text06f3 +; 0xe6d8 + + INCROM $e6d8, $e7f6 ClubEntranceAfterDuel: ; e7f6 (3:67f6) ld hl, .after_duel_table @@ -4992,7 +5164,513 @@ OWSequence_ee76: ; ee76 (3:6e76) run_script OWScript_QuitScriptFully ; 0xee88 - INCROM $ee88, $f580 + INCROM $ee88, $f239 + +ChallengeHallAfterDuel: ; f239 (3:7239) + ld c, $00 + ld a, [wDuelResult] + or a + jr z, .won + ld c, $02 +.won + ld b, $00 + ld hl, ChallengeHallAfterDuelTable + add hl, bc + ld c, [hl] + inc hl + ld b, [hl] + ld a, HOST + ld [wTempNPC], a + jp SetNextNPCAndOWSequence + +ChallengeHallAfterDuelTable: + dw WonAtChallengeHall + dw LostAtChallengeHall + +ChallengeHallLoadMap: ; f258 (3:7258) + get_flag_value EVENT_FLAG_47 + or a + ret z + ld a, HOST + ld [wTempNPC], a + call FindLoadedNPC + ld bc, OWSequence_f433 + jp SetNextNPCAndOWSequence + +OWSequence_Clerk13: ; f26c (3:726c) + start_script + run_script OWScript_PrintTextQuitFully + tx Text0525 + +Preload_Guide: ; f270 (3:7270) + get_flag_value EVENT_FLAG_42 + or a + jr z, .asm_f281 + ld a, $1c + ld [wLoadNPCXPos], a + ld a, $02 + ld [wLoadNPCYPos], a +.asm_f281 + scf + ret +; 0xf283 + + INCROM $f283, $f34c + +NPCMovement_f34c: ; f34c (3:734c) + db WEST | NO_MOVE + db $ff +; f34e + + INCROM $f34e, $f37d + +NPCMovement_f37d: ; f37d (3:737d) + db EAST | NO_MOVE + db $ff + +NPCMovement_f37f: ; f37f (3:737f) + db EAST + db EAST + db SOUTH + db $ff + +NPCMovement_f383: ; f383 (3:7383) + db NORTH + db WEST + db WEST + db SOUTH | NO_MOVE + db $ff +; f388 + + INCROM $f388, $f38b + +NPCMovement_f38b: ; f38b (3:738b) + db WEST + db SOUTH + db $ff + +NPCMovement_f38e: ; f38e (3:738e) + db NORTH + db EAST +; fallthrough + +NPCMovement_f390: ; f390 (3:7390) + db SOUTH | NO_MOVE + db $ff + +LostAtChallengeHall: ; f392 (3:7392) + start_script + run_script OWScript_DoFrames + db 20 + run_script OWScript_MoveActiveNPC + dw NPCMovement_f37d + run_script OWScript_DoFrames + db 20 + run_script OWScript_MoveActiveNPC + dw NPCMovement_f390 + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_45 + db $02 + dw OWJump_f410 + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_45 + db $03 + dw OWJump_f410.ows_f41a + run_script Func_d16b + db $00 + run_script Func_d16b + db $01 + run_script OWScript_PrintTextString + tx Text0536 +.ows_f3ae + run_script OWScript_CloseTextBox + run_script OWScript_MoveActiveNPC + dw NPCMovement_f38b + run_script OWScript_PrintTextString + tx Text0537 + run_script OWScript_CloseTextBox + run_script OWScript_MoveActiveNPC + dw NPCMovement_f38e + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_44 + db $02 + dw .ows_f3ce + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_44 + db $03 + dw .ows_f3d9 + run_script OWScript_SetFlagValue + db EVENT_FLAG_3F + db $03 + run_script OWScript_SetFlagValue + db EVENT_FLAG_48 + db $03 + run_script OWScript_ZeroOutFlagValue + db EVENT_FLAG_51 + run_script OWScript_Jump + dw .ows_f3e2 +.ows_f3ce + run_script OWScript_SetFlagValue + db EVENT_FLAG_40 + db $03 + run_script OWScript_SetFlagValue + db EVENT_FLAG_49 + db $03 + run_script OWScript_ZeroOutFlagValue + db EVENT_FLAG_55 + run_script OWScript_Jump + dw .ows_f3e2 +.ows_f3d9 + run_script OWScript_SetFlagValue + db EVENT_FLAG_41 + db $03 + run_script OWScript_SetFlagValue + db EVENT_FLAG_4A + db $03 + run_script OWScript_Jump + dw .ows_f3e2 +.ows_f3e2 + run_script OWScript_CloseAdvancedTextBox + run_script OWScript_SetNextNPCandOWSequence + db CLERK12 + dw OWSequence_f3e9 + run_script OWScript_EndScriptLoop1 + ret + +OWSequence_f3e9: ; f3e9 (3:73e9) + start_script + run_script OWScript_MoveActiveNPC + dw NPCMovement_f40a + run_script OWScript_SetPlayerDirection + db WEST + run_script OWScript_MovePlayer + db WEST + db $01 + run_script OWScript_SetPlayerDirection + db SOUTH + run_script OWScript_MovePlayer + db SOUTH + db $01 + run_script OWScript_MovePlayer + db SOUTH + db $01 + run_script OWScript_MovePlayer + db SOUTH + db $01 + run_script OWScript_MovePlayer + db SOUTH + db $01 + run_script OWScript_MovePlayer + db SOUTH + db $01 + run_script OWScript_MovePlayer + db SOUTH + db $01 + run_script OWScript_MoveActiveNPC + dw NPCMovement_f40d + run_script OWScript_QuitScriptFully + +NPCMovement_f40a: ; f40a (3:740a) + db WEST + db EAST | NO_MOVE + db $ff + +NPCMovement_f40d: ; f40d (3:740d) + db EAST + db SOUTH | NO_MOVE + db $ff + +OWJump_f410: ; f410 (4:7410) + run_script Func_d16b + db $00 + run_script Func_d16b + db $01 + run_script OWScript_PrintTextString + tx Text0538 + run_script OWScript_Jump + dw LostAtChallengeHall.ows_f3ae + +.ows_f41a + run_script OWScript_PrintTextString + tx Text0539 + run_script OWScript_SetDialogName + db RONALD1 + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_44 + db $03 + dw .ows_f42e + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_44 + db $01 + dw NO_JUMP + run_script OWScript_PrintVariableText + tx Text053a + tx Text053b +.ows_f42e + run_script OWScript_SetDialogName + db HOST + run_script OWScript_Jump + dw LostAtChallengeHall.ows_f3ae + +OWSequence_f433: ; f433 (3:7433) + start_script + run_script OWScript_DoFrames + db 20 + run_script OWScript_MoveActiveNPC + dw NPCMovement_f37d + run_script OWScript_DoFrames + db 20 + run_script OWScript_MoveActiveNPC + dw NPCMovement_f390 + run_script OWScript_Jump + dw WonAtChallengeHall.ows_f4a4 + +WonAtChallengeHall; f441 (3:7441) + start_script + run_script OWScript_DoFrames + db 20 + run_script OWScript_MoveActiveNPC + dw NPCMovement_f37d + run_script OWScript_DoFrames + db 20 + run_script OWScript_MoveActiveNPC + dw NPCMovement_f390 + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_45 + db $03 + dw OWJump_f4db + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_45 + db $02 + dw .ows_f456 +.ows_f456 + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_45 + db $01 + dw NO_JUMP + run_script OWScript_PrintVariableText + tx Text053c + tx Text053d + run_script OWScript_MoveActiveNPC + dw NPCMovement_f37f + run_script Func_d16b + db $00 + run_script OWScript_PrintTextString + tx Text053e + run_script OWScript_CloseTextBox + run_script OWScript_MoveWramNPC + dw NPCMovement_f4c8 + run_script Func_cdd8 + run_script OWScript_PrintTextString + tx Text053f + run_script OWScript_CloseTextBox + run_script Func_d195 + run_script Func_cdf5 + db $14 + db $14 + run_script OWScript_MoveWramNPC + dw NPCMovement_f4d0 + run_script Func_d16b + db $00 + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_45 + db $02 + dw NO_JUMP + run_script OWScript_PrintVariableText + tx Text0540 + tx Text0541 + run_script OWScript_MoveActiveNPC + dw NPCMovement_f383 + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_45 + db $02 + dw .ows_f4a4 + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_44 + db $03 + dw .ows_f4a1 + run_script OWScript_CloseTextBox + run_script OWScript_SetDialogName + db $02 + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_44 + db $01 + dw NO_JUMP + run_script OWScript_PrintVariableText + tx Text0542 + tx Text0543 + run_script OWScript_SetDialogName + db HOST + run_script OWScript_CloseTextBox +.ows_f4a1 + run_script OWScript_PrintTextString + tx Text0544 +.ows_f4a4 + run_script OWScript_ZeroOutFlagValue + db EVENT_FLAG_47 + run_script OWScript_PrintTextString + tx Text0545 + run_script OWScript_AskQuestionJumpDefaultYes + tx Text0546 + dw .ows_f4bd + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_45 + db $02 + dw NO_JUMP + run_script OWScript_PrintVariableText + tx Text0547 + tx Text0548 + run_script Func_cd4f + db $04 + db $00 + db $00 + run_script OWScript_QuitScriptFully +.ows_f4bd + run_script OWScript_PrintTextString + tx Text0549 + run_script OWScript_CloseTextBox + run_script OWScript_MaxOutFlagValue + db EVENT_FLAG_47 + run_script Func_d1ad + run_script OWScript_CloseTextBox + run_script OWScript_Jump + dw .ows_f4a4 + +NPCMovement_f4c8: ; f4c8 (3:74c8) + db EAST +NPCMovement_f4c9: ; f4c9 (3:74c9) + db SOUTH + db SOUTH + db SOUTH + db SOUTH + db SOUTH + db SOUTH + db $ff + +NPCMovement_f4d0: ; f4d0 (3:74d0) + db NORTH + db NORTH + db NORTH + db NORTH + db NORTH + db NORTH + db WEST + db $ff + +NPCMovement_f4d8: ; f4d8 (3:74d8) + db EAST + db SOUTH | NO_MOVE + db $ff + +OWJump_f4db: ; f4db (3:74db) + run_script OWScript_PrintTextString + tx Text054a + run_script OWScript_MoveActiveNPC + dw NPCMovement_f37f + run_script Func_d16b + db $00 + run_script OWScript_PrintTextString + tx Text054b + run_script OWScript_CloseTextBox + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_44 + db $03 + dw .ows_f513 + run_script OWScript_SetDialogName + db $02 + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_44 + db $01 + dw NO_JUMP + run_script OWScript_PrintVariableText + tx Text054c + tx Text054d + run_script OWScript_MoveWramNPC + dw NPCMovement_f4d8 + run_script OWScript_DoFrames + db 40 + run_script OWScript_MoveWramNPC + dw NPCMovement_f34c + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_44 + db $01 + dw NO_JUMP + run_script OWScript_PrintVariableText + tx Text054e + tx Text054f + run_script OWScript_SetDialogName + db HOST + run_script OWScript_CloseTextBox + run_script OWScript_MoveWramNPC + dw NPCMovement_f4c9 + run_script OWScript_Jump + dw .ows_f516 +.ows_f513 + run_script OWScript_MoveWramNPC + dw NPCMovement_f4c8 +.ows_f516 + run_script Func_cdd8 + run_script OWScript_MoveActiveNPC + dw NPCMovement_f383 + run_script OWScript_PrintTextString + tx Text0550 + run_script OWScript_CloseTextBox + run_script OWScript_MoveActiveNPC + dw NPCMovement_f38b + run_script Func_d1b3 + run_script OWScript_PrintTextString + tx Text0551 + run_script OWScript_GiveCard + db $00 + run_script OWScript_ShowCardReceivedScreen + db $00 + run_script OWScript_PrintTextString + tx Text0552 + run_script OWScript_CloseTextBox + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_44 + db $02 + dw .ows_f540 + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_44 + db $03 + dw .ows_f549 + run_script OWScript_SetFlagValue + db EVENT_FLAG_3F + db $02 + run_script OWScript_SetFlagValue + db EVENT_FLAG_48 + db $02 + run_script OWScript_Jump + dw .ows_f552 +.ows_f540 + run_script OWScript_SetFlagValue + db EVENT_FLAG_40 + db $02 + run_script OWScript_SetFlagValue + db EVENT_FLAG_49 + db $02 + run_script OWScript_Jump + dw .ows_f552 +.ows_f549 + run_script OWScript_SetFlagValue + db EVENT_FLAG_41 + db $02 + run_script OWScript_SetFlagValue + db EVENT_FLAG_4A + db $02 + run_script OWScript_Jump + dw .ows_f552 +.ows_f552 + run_script OWScript_CloseAdvancedTextBox + run_script OWScript_SetNextNPCandOWSequence + db CLERK12 + dw OWSequence_f3e9 + run_script OWScript_EndScriptLoop1 + ret +; f559 + + INCROM $f559, $f580 Func_f580: ; f580 (3:7580) get_flag_value EVENT_FLAG_44 diff --git a/src/engine/bank04.asm b/src/engine/bank04.asm index 76b7c0a..1eeffab 100644 --- a/src/engine/bank04.asm +++ b/src/engine/bank04.asm @@ -1016,7 +1016,7 @@ OverworldScriptTable: ; 1217b (4:617b) dw Func_d16b dw Func_cd4f dw Func_cd94 - dw Func_ce52 + dw OWScript_MoveWramNPC dw Func_cdd8 dw Func_cdf5 dw Func_d195 -- cgit v1.2.3 From adc5a467eeccb0e44f4fcd2ed14d2b185ca1c14c Mon Sep 17 00:00:00 2001 From: Andrew Martinek Date: Tue, 29 Oct 2019 16:35:04 -0400 Subject: Finished extracting Challenge Hall scripts --- src/engine/bank03.asm | 593 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 581 insertions(+), 12 deletions(-) (limited to 'src/engine') diff --git a/src/engine/bank03.asm b/src/engine/bank03.asm index b36371d..4ee4626 100644 --- a/src/engine/bank03.asm +++ b/src/engine/bank03.asm @@ -1435,7 +1435,13 @@ GetEventFlagValue: ; ca6c (3:4a6c) ret ; 0xca84 - INCROM $ca84, $ca8f +ZeroStackFlagValue2: ; ca84 (3:4a84) + call GetByteAfterCall + push bc + ld c, $00 + call SetEventFlagValue + pop bc + ret ; Use macro set_flag_value. The byte db'd after this func is called ; is used at the flag argument for SetEventFlagValue @@ -1487,7 +1493,9 @@ GetByteAfterCall: ; cab3 (3:4ab3) ret ; 0xcac2 - INCROM $cac2, $cac5 +MaxStackFlagValue: ; cac2 (3:4ac2) + call GetByteAfterCall +; fallthrough MaxOutEventFlag: ; cac5 (3:4ac5) push bc @@ -1724,7 +1732,9 @@ Func_cc32: ; cc32 (3:4c32) call Func_c8ba ret -Func_cc3e: ; cc3e (3:4c3e) +; Used for things that are represented as NPCs but don't have an OWSequence +; EX: Clerks and legendary cards that interact through Level Objects +NoOverworldSequence: ; cc3e (3:4c3e) call CloseAdvancedDialogueBox ret @@ -3110,7 +3120,7 @@ LoadOverworld: ; d4ec (3:54ec) jp SetNextOWSequence Func_d4fb: ; d4fb (3:54fb) - zero_out_flag EVENT_FLAG_59 + zero_flag_value EVENT_FLAG_59 call Func_f602 get_flag_value EVENT_FLAG_3F cp $02 @@ -5164,7 +5174,296 @@ OWSequence_ee76: ; ee76 (3:6e76) run_script OWScript_QuitScriptFully ; 0xee88 - INCROM $ee88, $f239 + INCROM $ee88, $ef96 + +Preload_Clerk9: ; ef96 (3:6f96) + call TryGiveMedalPCPacks + get_flag_value EVENT_MEDAL_COUNT + ld hl, .jumpTable + cp $09 + jp c, JumpToFunctionInTable + debug_ret + jr .asm_efe4 + +.jumpTable + dw .asm_efe4 + dw .asm_efe4 + dw .asm_efe4 + dw .asm_efba + dw .asm_efde + dw .asm_efc9 + dw .asm_efd8 + dw .asm_efd8 + dw .asm_efd8 + +.asm_efba + get_flag_value EVENT_FLAG_3F + or a + jr nz, .asm_efe4 + ld c, $01 + set_flag_value EVENT_FLAG_3F + jr .asm_efe4 + +.asm_efc9 + get_flag_value EVENT_FLAG_40 + or a + jr nz, .asm_efde + ld c, $01 + set_flag_value EVENT_FLAG_40 + jr .asm_efde + +.asm_efd8 + ld c, $07 + set_flag_value EVENT_FLAG_40 +.asm_efde + ld c, $07 + set_flag_value EVENT_FLAG_3F +.asm_efe4 + zero_flag_value EVENT_FLAG_42 + get_flag_value EVENT_FLAG_3F + cp $00 + jr z, .asm_eff8 + cp $07 + jr z, .asm_eff8 + ld c, $01 + jr .asm_f016 + +.asm_eff8 + get_flag_value EVENT_FLAG_40 + cp $00 + jr z, .asm_f008 + cp $07 + jr z, .asm_f008 + ld c, $02 + jr .asm_f016 + +.asm_f008 + get_flag_value EVENT_FLAG_41 + cp $00 + jr z, .asm_f023 + cp $07 + jr z, .asm_f023 + ld c, $03 +.asm_f016 + set_flag_value EVENT_FLAG_44 + max_flag_value EVENT_FLAG_42 + ld a, $0b + ld [wd111], a +.asm_f023 + scf + ret + +OWSequence_Clerk9: ; f025 (3:7025) + start_script + run_script OWScript_JumpIfFlagZero1 + db EVENT_FLAG_3F + dw .ows_f066 + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_41 + db $07 + dw .ows_f069 + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_41 + db $03 + dw .ows_f06f + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_41 + db $02 + dw .ows_f072 + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_41 + db $01 + dw .ows_f06c + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_40 + db $07 + dw .ows_f069 + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_40 + db $03 + dw .ows_f06f + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_40 + db $02 + dw .ows_f072 + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_40 + db $01 + dw .ows_f06c + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_3F + db $07 + dw .ows_f069 + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_3F + db $03 + dw .ows_f06f + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_3F + db $02 + dw .ows_f072 + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_3F + db $01 + dw .ows_f06c +.ows_f066 + run_script OWScript_PrintTextQuitFully + tx Text050a + +.ows_f069 + run_script OWScript_PrintTextQuitFully + tx Text050b + +.ows_f06c + run_script OWScript_PrintTextQuitFully + tx Text050c + +.ows_f06f + run_script OWScript_PrintTextQuitFully + tx Text050d + +.ows_f072 + run_script OWScript_PrintTextQuitFully + tx Text050e + +Preload_ChallengeHallNPCs2: ; f075 (3:7075) + call Preload_ChallengeHallNPCs1 + ccf + ret + +Preload_ChallengeHallNPCs1: ; f07a (3:707a) + get_flag_value EVENT_FLAG_42 + or a + jr z, .quit + ld a, $0b + ld [wd111], a + scf +.quit + ret + +ChallengeHallLobbyLoadMap: ; f088 (3:7088) + get_flag_value EVENT_FLAG_58 + or a + ret z + ld a, $02 + ld [wTempNPC], a + call FindLoadedNPC + ld bc, $7166 + jp SetNextNPCAndOWSequence + +OWSequence_Pappy3: ; f09c (3:709c) + start_script + run_script OWScript_PrintTextQuitFully + tx Text050f + +OWSequence_Gal4: ; f0a0 (3:70a0) + start_script + run_script OWScript_PrintTextQuitFully + tx Text0510 + +OWSequence_Champ: ; f0a4 (3:70a4) + start_script + run_script OWScript_PrintTextQuitFully + tx Text0511 + +OWSequence_Hood2: ; f0a8 (3:70a8) + start_script + run_script OWScript_PrintTextQuitFully + tx Text0512 + +OWSequence_Lass5: ; f0ac (3:70ac) + start_script + run_script OWScript_PrintTextQuitFully + tx Text0513 + +OWSequence_Chap5: ; f0b0 (3:70b0) + start_script + run_script OWScript_PrintTextQuitFully + tx Text0514 + +Preload_ChallengeHallLobbyRonald1: ; f0b4 (3:70b4) + zero_flag_value2 EVENT_FLAG_58 + get_flag_value EVENT_RECEIVED_LEGEND_CARDS + or a + jr nz, .asm_f0ff + get_flag_value EVENT_FLAG_59 + or a + jr nz, .asm_f11f + get_flag_value EVENT_FLAG_40 + cp $00 + jr z, .asm_f0e5 + call .asm_710f + get_flag_value EVENT_FLAG_40 + ld e, a + get_flag_value EVENT_FLAG_49 + ld d, a + ld hl, Unknown_f156 + call Func_f121 + jr nc, .asm_f11f + jr .asm_f0f7 +.asm_f0e5 + get_flag_value EVENT_FLAG_3F + ld e, a + get_flag_value EVENT_FLAG_48 + ld d, a + ld hl, Unknown_f146 + call Func_f121 + jr nc, .asm_f11f +.asm_f0f7 + ld a, [wPlayerYCoord] + ld [wLoadNPCYPos], a + scf + ret +.asm_f0ff + max_flag_value EVENT_FLAG_54 + max_flag_value EVENT_FLAG_55 + max_flag_value EVENT_FLAG_56 + max_flag_value EVENT_FLAG_57 +.asm_710f + max_flag_value EVENT_FLAG_50 + max_flag_value EVENT_FLAG_51 + max_flag_value EVENT_FLAG_52 + max_flag_value EVENT_FLAG_53 +.asm_f11f + or a + ret + +Func_f121: ; f121 (3:7121) + ld c, $04 +.asm_f123 + ld a, [hli] + cp e + jr nz, .asm_f13e + ld a, [hli] + cp d + jr nz, .asm_f13f + ld a, [hl] + call GetEventFlagValue + or a + jr nz, .asm_f13f + ld a, [hl] + call MaxOutEventFlag + inc hl + ld c, [hl] + set_flag_value EVENT_FLAG_58 + scf + ret +.asm_f13e + inc hl +.asm_f13f + inc hl + inc hl + dec c + jr nz, .asm_f123 + or a + ret +; 0xf146 + +Unknown_f146: ; f146 (3:7146) + INCROM $f146, $f156 + +Unknown_f156: ; f156 (3:7156) + INCROM $f156, $f239 ChallengeHallAfterDuel: ; f239 (3:7239) ld c, $00 @@ -5215,14 +5514,251 @@ Preload_Guide: ; f270 (3:7270) ret ; 0xf283 - INCROM $f283, $f34c +OWSequence_Guide: ; f283 (3:7283) + start_script + run_script OWScript_JumpIfFlagZero2 + db EVENT_FLAG_42 + dw .ows_f28b + run_script OWScript_PrintTextQuitFully + tx Text0526 + +.ows_f28b + run_script OWScript_JumpIfFlagZero1 + db $3f + dw .ows_f292 + run_script OWScript_PrintTextQuitFully + tx Text0527 + +.ows_f292 + run_script OWScript_PrintTextQuitFully + tx Text0528 + +OWSequence_Clerk12: ; f295 (3:7295) + start_script + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_41 + db $03 + dw .ows_f2c4 + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_41 + db $02 + dw .ows_f2c1 + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_40 + db $03 + dw .ows_f2c4 + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_40 + db $02 + dw .ows_f2c1 + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_3F + db $03 + dw .ows_f2c4 + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_3F + db $02 + dw .ows_f2c1 + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_44 + db $02 + dw .ows_f2cd + run_script OWScript_JumpIfFlagEqual + db EVENT_FLAG_44 + db $03 + dw .ows_f2d3 + run_script OWScript_Jump + dw .ows_f2c7 + +.ows_f2c1 + run_script OWScript_PrintTextQuitFully + tx Text0529 + +.ows_f2c4 + run_script OWScript_PrintTextQuitFully + tx Text052a + +.ows_f2c7 + run_script OWScript_PrintTextString + tx Text052b + run_script OWScript_Jump + dw .ows_f2d6 + +.ows_f2cd + run_script OWScript_PrintTextString + tx Text052c + run_script OWScript_Jump + dw .ows_f2d6 + +.ows_f2d3 + run_script OWScript_PrintTextString + tx Text052d +.ows_f2d6 + run_script OWScript_PrintTextString + tx Text052e + run_script OWScript_AskQuestionJump + tx Text052f + dw .ows_f2e1 + run_script OWScript_PrintTextQuitFully + tx Text0530 + +.ows_f2e1 + run_script OWScript_MaxOutFlagValue + db EVENT_FLAG_59 + run_script OWScript_PrintTextString + tx Text0531 + run_script OWScript_CloseTextBox + run_script OWScript_MoveActiveNPC + dw NPCMovement_f349 + run_script OWScript_JumpIfPlayerCoordMatches + db 8 + db 18 + dw .ows_f2fa + run_script OWScript_JumpIfPlayerCoordMatches + db 12 + db 18 + dw .ows_f302 + run_script OWScript_MovePlayer + db NORTH + db $02 + run_script OWScript_Jump + dw .ows_f307 + +.ows_f2fa + run_script OWScript_SetPlayerDirection + db EAST + run_script OWScript_MovePlayer + db EAST + db $02 + run_script OWScript_Jump + dw .ows_f307 + +.ows_f302 + run_script OWScript_SetPlayerDirection + db WEST + run_script OWScript_MovePlayer + db WEST + db $02 +.ows_f307 + run_script OWScript_SetPlayerDirection + db NORTH + run_script OWScript_MovePlayer + db NORTH + db $01 + run_script OWScript_MovePlayer + db NORTH + db $01 + run_script OWScript_MovePlayer + db NORTH + db $01 + run_script OWScript_MovePlayer + db NORTH + db $01 + run_script OWScript_MovePlayer + db NORTH + db $01 + run_script OWScript_JumpIfFlagNonzero2 + db EVENT_FLAG_43 + dw .ows_f33a + run_script OWScript_MaxOutFlagValue + db EVENT_FLAG_43 + run_script OWScript_MovePlayer + db NORTH + db $01 + run_script OWScript_MovePlayer + db NORTH + db $01 + run_script OWScript_SetPlayerDirection + db EAST + run_script OWScript_DoFrames + db 30 + run_script OWScript_SetPlayerDirection + db SOUTH + run_script OWScript_DoFrames + db 20 + run_script OWScript_SetPlayerDirection + db EAST + run_script OWScript_DoFrames + db 20 + run_script OWScript_SetPlayerDirection + db SOUTH + run_script OWScript_DoFrames + db 30 + run_script OWScript_MovePlayer + db SOUTH + db $01 + run_script OWScript_MovePlayer + db SOUTH + db $01 +.ows_f33a + run_script OWScript_SetPlayerDirection + db EAST + run_script OWScript_MovePlayer + db EAST + db $01 + run_script OWScript_MoveActiveNPC + dw NPCMovement_f34e + run_script OWScript_CloseAdvancedTextBox + run_script OWScript_SetNextNPCandOWSequence + db $4a + dw OWSequence_f353 + run_script OWScript_EndScriptLoop1 + ret +; f349 + +NPCMovement_f349: ; f349 (3:7349) + db NORTH + db NORTH + db EAST +; fallthrough NPCMovement_f34c: ; f34c (3:734c) db WEST | NO_MOVE db $ff -; f34e - INCROM $f34e, $f37d +NPCMovement_f34e: ; f34e (3:734e) + db WEST + db SOUTH + db SOUTH + db $ff + +OWSequence_HostStubbed: ; f352 (3:7352) + ret + +OWSequence_f353: ; f353 (3:7353) + start_script + run_script OWScript_DoFrames + db 20 + run_script OWScript_MoveActiveNPC + dw NPCMovement_f37d + run_script OWScript_DoFrames + db 20 + run_script OWScript_MoveActiveNPC + dw NPCMovement_f390 + run_script Func_d16b + db $00 + run_script OWScript_PrintTextString + tx Text0532 + run_script OWScript_CloseTextBox + run_script OWScript_MoveActiveNPC + dw NPCMovement_f37f + run_script OWScript_PrintTextString + tx Text0533 + run_script OWScript_CloseTextBox + run_script OWScript_MoveActiveNPC + dw NPCMovement_f388 + run_script OWScript_PrintTextString + tx Text0534 + run_script OWScript_CloseTextBox + run_script OWScript_MoveActiveNPC + dw NPCMovement_f38e + run_script OWScript_PrintTextString + tx Text0535 + run_script Func_cd4f + db $04 + db $00 + db $00 + run_script OWScript_QuitScriptFully NPCMovement_f37d: ; f37d (3:737d) db EAST | NO_MOVE @@ -5240,9 +5776,12 @@ NPCMovement_f383: ; f383 (3:7383) db WEST db SOUTH | NO_MOVE db $ff -; f388 - INCROM $f388, $f38b +NPCMovement_f388: ; f388 (3:7388) + db NORTH + db WEST + db WEST +; fallthrough NPCMovement_f38b: ; f38b (3:738b) db WEST @@ -5670,7 +6209,26 @@ OWJump_f4db: ; f4db (3:74db) ret ; f559 - INCROM $f559, $f580 +; Loads the NPC to fight at the challenge hall +Preload_ChallengeHallOpponent: ; f559 (3:7559) + get_flag_value EVENT_FLAG_42 + or a + ret z + get_flag_value EVENT_FLAG_46 + or a + jr z, .asm_f56e + ld a, [wd696] + ld [wTempNPC], a + scf + ret +.asm_f56e + call Func_f5db + ld c, $01 + set_flag_value EVENT_FLAG_45 + call Func_f580 + max_flag_value EVENT_FLAG_46 + scf + ret Func_f580: ; f580 (3:7580) get_flag_value EVENT_FLAG_44 @@ -5704,7 +6262,18 @@ Func_f580: ; f580 (3:7580) ret ; 0xf5b3 - INCROM $f5b3, $f602 + INCROM $f5b3, $f5db + +Func_f5db: ; f5db (3:75db) + xor a + ld [$d698], a + ld [$d699], a + ld [$d69a], a + ld [$d69b], a + ret +; 0xf5e9 + + INCROM $f5e9, $f602 Func_f602: ; f602 (3:7602) INCROM $f602, $f631 -- cgit v1.2.3 From b7f47ca621716938cfc6df7d4eea90b2be909eaf Mon Sep 17 00:00:00 2001 From: Andrew Martinek Date: Sun, 3 May 2020 12:06:02 -0400 Subject: add challenge machine --- src/engine/bank03.asm | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'src/engine') diff --git a/src/engine/bank03.asm b/src/engine/bank03.asm index 4ee4626..31d8846 100644 --- a/src/engine/bank03.asm +++ b/src/engine/bank03.asm @@ -3196,13 +3196,19 @@ MasonLabPressedA: ; d565 (3:5565) ChallengeMachineObjectTable: ; d572 (3:5572) db 10, 4, NORTH - dw OWSequence_d57d + dw OWSequence_ChallengeMachine db 12, 4, NORTH - dw OWSequence_d57d + dw OWSequence_ChallengeMachine db $00 -OWSequence_d57d: ; d57d (3:557d) - INCROM $d57d, $d753 +OWSequence_ChallengeMachine: ; d57d (3:557d) + start_script + run_script Func_ccdc + tx Text05bd + run_script Func_d43d + run_script OWScript_QuitScriptFully + + INCROM $d583, $d753 OWSequence_EnterLabFirstTime: ; d753 (3:5753) start_script -- cgit v1.2.3 From 085660d0799a85e18fa6a25f251875ce7c0db5d4 Mon Sep 17 00:00:00 2001 From: Andrew Martinek Date: Tue, 5 May 2020 21:29:47 -0400 Subject: Added NPC_ Prefix, Changed Level to Map in some places --- src/engine/bank03.asm | 94 +++++++++++++++++++++++++-------------------------- src/engine/bank04.asm | 2 +- src/engine/bank07.asm | 6 ++-- src/engine/home.asm | 2 +- 4 files changed, 52 insertions(+), 52 deletions(-) (limited to 'src/engine') diff --git a/src/engine/bank03.asm b/src/engine/bank03.asm index 31d8846..eef0d46 100644 --- a/src/engine/bank03.asm +++ b/src/engine/bank03.asm @@ -3164,8 +3164,8 @@ MasonLaboratoryAfterDuel: ; d53b (3:553b) ret .after_duel_table - db SAM - db SAM + db NPC_SAM + db NPC_SAM dw $568a dw $569f db $00 @@ -3174,7 +3174,7 @@ MasonLabLoadMap: ; d549 (3:5549) get_flag_value EVENT_FLAG_3E cp $03 ret nc - ld a, DRMASON + ld a, NPC_DRMASON ld [wTempNPC], a call FindLoadedNPC ld bc, OWSequence_EnterLabFirstTime @@ -3243,7 +3243,7 @@ OWSequence_EnterLabFirstTime: ; d753 (3:5753) tx Text05e3 run_script OWScript_CloseAdvancedTextBox run_script OWScript_SetNextNPCandOWSequence - db SAM + db NPC_SAM dw OWSequence_d779 run_script OWScript_EndScriptLoop1 ret @@ -3255,7 +3255,7 @@ OWSequence_d779: ; d779 (03:5779) run_script OWScript_PrintTextString tx Text05e4 run_script OWScript_SetDialogName - db DRMASON + db NPC_DRMASON run_script OWScript_PrintTextString tx Text05e5 run_script OWScript_CloseTextBox @@ -3267,7 +3267,7 @@ OWSequence_d779: ; d779 (03:5779) db $03 run_script OWScript_CloseAdvancedTextBox run_script OWScript_SetNextNPCandOWSequence - db DRMASON + db NPC_DRMASON dw OWSequence_d794 run_script OWScript_EndScriptLoop1 ret @@ -3402,7 +3402,7 @@ OWSequence_d794: ; d794 (3:5794) db $01 run_script OWScript_CloseAdvancedTextBox run_script OWScript_SetNextNPCandOWSequence - db SAM + db NPC_SAM dw OWSequence_d827 run_script OWScript_EndScriptLoop1 ret @@ -3760,8 +3760,8 @@ FightingClubLobbyAfterDuel: ; dc68 (3:5c68) call FindEndOfBattleScript ret .after_duel_table - db IMAKUNI - db IMAKUNI + db NPC_IMAKUNI + db NPC_IMAKUNI dw OWSequence_BeatImakuni dw OWSequence_LostToImakuni db $00 @@ -4023,7 +4023,7 @@ WaterClubMovePlayer: ; e13f (3:613f) get_flag_value EVENT_JOSHUA_STATE cp $2 ret nc - ld a, JOSHUA + ld a, NPC_JOSHUA ld [wTempNPC], a ld bc, OWSequence_NotReadyToSeeAmy jp SetNextNPCAndOWSequence @@ -4034,23 +4034,23 @@ WaterClubAfterDuel: ;e157 (3:6157) ret .after_duel_table - db SARA - db SARA + db NPC_SARA + db NPC_SARA dw OWSequence_BeatSara dw OWSequence_LostToSara - db AMANDA - db AMANDA + db NPC_AMANDA + db NPC_AMANDA dw OWSequence_BeatAmanda dw OWSequence_LostToAmanda - db JOSHUA - db JOSHUA + db NPC_JOSHUA + db NPC_JOSHUA dw OWSequence_BeatJoshua dw OWSequence_LostToJoshua - db AMY - db AMY + db NPC_AMY + db NPC_AMY dw OWSequence_BeatAmy dw OWSequence_LostToAmy db $00 @@ -4339,7 +4339,7 @@ OWSequence_BeatJoshua: ; e26c (3:626c) db $00 run_script OWScript_CloseAdvancedTextBox run_script OWScript_SetNextNPCandOWSequence - db AMY + db NPC_AMY dw OWSequence_MeetAmy run_script OWScript_EndScriptLoop1 ret @@ -4383,11 +4383,11 @@ OWSequence_MeetAmy: ; e2d1 (3:62d1) run_script OWScript_PrintTextString tx Text044b run_script OWScript_SetDialogName - db JOSHUA + db NPC_JOSHUA run_script OWScript_PrintTextString tx Text044c run_script OWScript_SetDialogName - db AMY + db NPC_AMY run_script OWScript_PrintTextString tx Text044d run_script OWScript_CloseTextBox @@ -4418,7 +4418,7 @@ OWSequence_MeetAmy: ; e2d1 (3:62d1) db NORTH db $01 run_script OWScript_MoveArbitraryNPC - db JOSHUA + db NPC_JOSHUA dw NPCMovement_e2ab run_script OWScript_PrintTextString tx Text044e @@ -4564,18 +4564,18 @@ FindEndOfBattleScript: ; e52c (3:652c) ; 0xe553 GrassClubEntranceAfterDuelTable: ; e553 (3:6553) - db MICHAEL - db MICHAEL + db NPC_MICHAEL + db NPC_MICHAEL dw $6597 dw $65ab - db RONALD2 - db RONALD2 + db NPC_RONALD2 + db NPC_RONALD2 dw OWSequence_BeatFirstRonaldFight dw OWSequence_LostToFirstRonaldFight - db RONALD3 - db RONALD3 + db NPC_RONALD3 + db NPC_RONALD3 dw OWSequence_BeatSecondRonaldFight dw OWSequence_LostToSecondRonaldFight db $00 @@ -4588,8 +4588,8 @@ GrassClubLobbyAfterDuel: ; e5c4 (3:65c4) ret .after_duel_table - db BRITTANY - db BRITTANY + db NPC_BRITTANY + db NPC_BRITTANY dw OWSequence_BeatBrittany dw OWSequence_LostToBrittany db $00 @@ -4840,13 +4840,13 @@ ClubEntranceAfterDuel: ; e7f6 (3:67f6) jp FindEndOfBattleScript .after_duel_table - db RONALD2 - db RONALD2 + db NPC_RONALD2 + db NPC_RONALD2 dw OWSequence_BeatFirstRonaldFight dw OWSequence_LostToFirstRonaldFight - db RONALD3 - db RONALD3 + db NPC_RONALD3 + db NPC_RONALD3 dw OWSequence_BeatSecondRonaldFight dw OWSequence_LostToSecondRonaldFight db $00 @@ -4860,7 +4860,7 @@ LoadClubEntrance: ; e809 (3:6809) ret TryFirstRonaldEncounter: ; e813 (3:6813) - ld a, RONALD1 + ld a, NPC_RONALD1 ld [wTempNPC], a call FindLoadedNPC ret c @@ -4868,7 +4868,7 @@ TryFirstRonaldEncounter: ; e813 (3:6813) jp SetNextNPCAndOWSequence TryFirstRonaldFight: ; e822 (3:6822) - ld a, RONALD2 + ld a, NPC_RONALD2 ld [$d3ab], a call FindLoadedNPC ret c @@ -4879,7 +4879,7 @@ TryFirstRonaldFight: ; e822 (3:6822) jp SetNextNPCAndOWSequence TrySecondRonaldFight: ; e837 (3:6837) - ld a, RONALD3 + ld a, NPC_RONALD3 ld [$d3ab], a call FindLoadedNPC ret c @@ -5484,7 +5484,7 @@ ChallengeHallAfterDuel: ; f239 (3:7239) ld c, [hl] inc hl ld b, [hl] - ld a, HOST + ld a, NPC_HOST ld [wTempNPC], a jp SetNextNPCAndOWSequence @@ -5496,7 +5496,7 @@ ChallengeHallLoadMap: ; f258 (3:7258) get_flag_value EVENT_FLAG_47 or a ret z - ld a, HOST + ld a, NPC_HOST ld [wTempNPC], a call FindLoadedNPC ld bc, OWSequence_f433 @@ -5877,7 +5877,7 @@ LostAtChallengeHall: ; f392 (3:7392) .ows_f3e2 run_script OWScript_CloseAdvancedTextBox run_script OWScript_SetNextNPCandOWSequence - db CLERK12 + db NPC_CLERK12 dw OWSequence_f3e9 run_script OWScript_EndScriptLoop1 ret @@ -5939,7 +5939,7 @@ OWJump_f410: ; f410 (4:7410) run_script OWScript_PrintTextString tx Text0539 run_script OWScript_SetDialogName - db RONALD1 + db NPC_RONALD1 run_script OWScript_JumpIfFlagEqual db EVENT_FLAG_44 db $03 @@ -5953,7 +5953,7 @@ OWJump_f410: ; f410 (4:7410) tx Text053b .ows_f42e run_script OWScript_SetDialogName - db HOST + db NPC_HOST run_script OWScript_Jump dw LostAtChallengeHall.ows_f3ae @@ -6045,7 +6045,7 @@ WonAtChallengeHall; f441 (3:7441) tx Text0542 tx Text0543 run_script OWScript_SetDialogName - db HOST + db NPC_HOST run_script OWScript_CloseTextBox .ows_f4a1 run_script OWScript_PrintTextString @@ -6144,7 +6144,7 @@ OWJump_f4db: ; f4db (3:74db) tx Text054e tx Text054f run_script OWScript_SetDialogName - db HOST + db NPC_HOST run_script OWScript_CloseTextBox run_script OWScript_MoveWramNPC dw NPCMovement_f4c9 @@ -6209,7 +6209,7 @@ OWJump_f4db: ; f4db (3:74db) .ows_f552 run_script OWScript_CloseAdvancedTextBox run_script OWScript_SetNextNPCandOWSequence - db CLERK12 + db NPC_CLERK12 dw OWSequence_f3e9 run_script OWScript_EndScriptLoop1 ret @@ -6506,12 +6506,12 @@ Func_fcad: ; fcad (3:7cad) .ows_fcd5 run_script OWScript_MoveArbitraryNPC - db GIFT_CENTER_CLERK + db NPC_GIFT_CENTER_CLERK dw NPCMovement_fce1 run_script OWScript_PrintTextString tx Text06d6 run_script OWScript_MoveArbitraryNPC - db GIFT_CENTER_CLERK + db NPC_GIFT_CENTER_CLERK dw NPCMovement_fce3 run_script OWScript_QuitScriptFully diff --git a/src/engine/bank04.asm b/src/engine/bank04.asm index 1eeffab..7be9960 100644 --- a/src/engine/bank04.asm +++ b/src/engine/bank04.asm @@ -1591,7 +1591,7 @@ Func_13485: ; 13485 (4:7485) INCROM $134b1, $1372f INCLUDE "data/npc_map_data.asm" -INCLUDE "data/level_objects.asm" +INCLUDE "data/map_objects.asm" rept $119 db $ff diff --git a/src/engine/bank07.asm b/src/engine/bank07.asm index 48d2565..6bad8c9 100644 --- a/src/engine/bank07.asm +++ b/src/engine/bank07.asm @@ -194,11 +194,11 @@ Func_1c485: ; 1c485 (7:4485) ret Func_1c4fa: ; 1c4fa (7:44fa) - cp RONALD1 + cp NPC_RONALD1 jr z, .asm_1c508 - cp RONALD2 + cp NPC_RONALD2 jr z, .asm_1c508 - cp RONALD3 + cp NPC_RONALD3 jr z, .asm_1c508 or a ret diff --git a/src/engine/home.asm b/src/engine/home.asm index 1ec17fb..094127e 100644 --- a/src/engine/home.asm +++ b/src/engine/home.asm @@ -11106,7 +11106,7 @@ HandleMoveModeAPress: ; 3a5e (0:3a5e) ret .noMatch pop hl - ld bc, LEVEL_OBJECT_SIZE - 1 + ld bc, MAP_OBJECT_SIZE - 1 add hl, bc pop bc jr .findAPressMatchLoop -- cgit v1.2.3 From a1f9dca9f563e6bc82c533f8e3a82edb954b8842 Mon Sep 17 00:00:00 2001 From: Andrew Martinek Date: Tue, 5 May 2020 22:45:50 -0400 Subject: changed wording when it comes to the legendary card sprite --- src/engine/bank03.asm | 22 +++++++++++----------- src/engine/home.asm | 2 +- 2 files changed, 12 insertions(+), 12 deletions(-) (limited to 'src/engine') diff --git a/src/engine/bank03.asm b/src/engine/bank03.asm index eef0d46..80722f7 100644 --- a/src/engine/bank03.asm +++ b/src/engine/bank03.asm @@ -1366,7 +1366,7 @@ Func_ca0e: ; ca0e (3:4a0e) ld a, [wd32e] cp $b jr z, .asm_ca68 - get_flag_value EVENT_RECEIVED_LEGEND_CARDS + get_flag_value EVENT_RECEIVED_LEGENDARY_CARD or a jr nz, .asm_ca4a get_flag_value EVENT_FLAG_40 @@ -1626,7 +1626,7 @@ EventFlagMods: ; cb37 (3:4b37) flag_def $05, %00001111 ; EVENT_FLAG_1F flag_def $06, %11110000 ; EVENT_FLAG_20 flag_def $06, %00001100 ; EVENT_FLAG_21 - flag_def $06, %00000010 ; EVENT_RECEIVED_LEGEND_CARDS + flag_def $06, %00000010 ; EVENT_RECEIVED_LEGENDARY_CARD flag_def $06, %00000001 ; EVENT_FLAG_23 flag_def $07, %11000000 ; EVENT_FLAG_24 flag_def $07, %00100000 ; EVENT_FLAG_25 @@ -2683,11 +2683,11 @@ Func_d209: ; d209 (3:5209) ld a, [hl] call MaxOutEventFlag pop bc - ld hl, LegendCards + ld hl, LegendaryCards ld a, c jr asm_d1c6 -LegendCards: ; d234 (3:5234) +LegendaryCards: ; d234 (3:5234) db ZAPDOS3 tx Text03f0 db MOLTRES2 @@ -3187,7 +3187,7 @@ MasonLabCloseTextBox: ; d55e (3:555e) ; Lets you access the Challenge Machine if available MasonLabPressedA: ; d565 (3:5565) - get_flag_value EVENT_RECEIVED_LEGEND_CARDS + get_flag_value EVENT_RECEIVED_LEGENDARY_CARD or a ret z ld hl, ChallengeMachineObjectTable @@ -3500,7 +3500,7 @@ OWSequence_Ishihara: ; db4a (3:5b4a) db EVENT_FLAG_39 dw .ows_db5a run_script OWScript_JumpIfFlagNonzero2 - db EVENT_RECEIVED_LEGEND_CARDS + db EVENT_RECEIVED_LEGENDARY_CARD dw .ows_dc3e .ows_db5a run_script OWScript_JumpIfFlagNonzero2 @@ -3542,7 +3542,7 @@ OWSequence_Ishihara: ; db4a (3:5b4a) run_script OWScript_ZeroOutFlagValue db EVENT_FLAG_38 run_script OWScript_JumpIfFlagZero2 - db EVENT_RECEIVED_LEGEND_CARDS + db EVENT_RECEIVED_LEGENDARY_CARD dw .ows_db8d run_script OWScript_MaxOutFlagValue db EVENT_FLAG_39 @@ -3717,7 +3717,7 @@ OWSequence_Ishihara: ; db4a (3:5b4a) tx Text073e Preload_Ronald1InIshiharasHouse: ; dc43 (3:5c43) - get_flag_value EVENT_RECEIVED_LEGEND_CARDS + get_flag_value EVENT_RECEIVED_LEGENDARY_CARD cp $01 ccf ret @@ -5389,7 +5389,7 @@ OWSequence_Chap5: ; f0b0 (3:70b0) Preload_ChallengeHallLobbyRonald1: ; f0b4 (3:70b4) zero_flag_value2 EVENT_FLAG_58 - get_flag_value EVENT_RECEIVED_LEGEND_CARDS + get_flag_value EVENT_RECEIVED_LEGENDARY_CARD or a jr nz, .asm_f0ff get_flag_value EVENT_FLAG_59 @@ -6310,10 +6310,10 @@ HallOfHonorLoadMap: ; fbdb (3:7bdb) OWSequence_fbf1: ; fbf1 (3:7bf1) start_script run_script OWScript_JumpIfFlagNonzero2 - db EVENT_RECEIVED_LEGEND_CARDS + db EVENT_RECEIVED_LEGENDARY_CARD dw .ows_fc10 run_script OWScript_MaxOutFlagValue - db EVENT_RECEIVED_LEGEND_CARDS + db EVENT_RECEIVED_LEGENDARY_CARD run_script Func_ccdc tx Text05b8 run_script OWScript_GiveCard diff --git a/src/engine/home.asm b/src/engine/home.asm index 094127e..24cb61d 100644 --- a/src/engine/home.asm +++ b/src/engine/home.asm @@ -10800,7 +10800,7 @@ GameEvent_Credits: ; 3911 (0:3911) ret Func_3917: ; 3917 (0:3917) - ld a, EVENT_RECEIVED_LEGEND_CARDS + ld a, EVENT_RECEIVED_LEGENDARY_CARD farcall GetEventFlagValue call EnableSRAM ld [s0a00a], a -- cgit v1.2.3 From e02184fbcd4426fd0774d0dd80268c515d8aadd1 Mon Sep 17 00:00:00 2001 From: Andrew Martinek Date: Sat, 9 May 2020 15:36:16 -0400 Subject: changed OWScript to ScriptCommand and OWSequence to Script --- src/engine/bank03.asm | 2240 ++++++++++++++++++++++++------------------------- src/engine/bank04.asm | 116 +-- src/engine/bank07.asm | 6 +- src/engine/home.asm | 8 +- 4 files changed, 1185 insertions(+), 1185 deletions(-) (limited to 'src/engine') diff --git a/src/engine/bank03.asm b/src/engine/bank03.asm index 80722f7..7fb9ee9 100644 --- a/src/engine/bank03.asm +++ b/src/engine/bank03.asm @@ -96,8 +96,8 @@ HandleOverworldMode: ; c0ce (3:40ce) OverworldModePointers: ; c0e0 (3:40e0) dw Func_c0e8 ; on map dw CallHandlePlayerMoveMode - dw SetOWSequenceData - dw EnterOWSequence + dw SetScriptData + dw EnterScript Func_c0e8: ; c0e8 (3:40e8) farcall Func_10e55 @@ -107,20 +107,20 @@ CallHandlePlayerMoveMode: ; c0ed (3:40ed) call HandlePlayerMoveMode ret -SetOWSequenceData: ; c0f1 (3:40f1) +SetScriptData: ; c0f1 (3:40f1) ld a, [wScriptNPC] ld [wLoadedNPCTempIndex], a - farcall SetNewOWSequenceNPC + farcall SetNewScriptNPC ld a, c - ld [wNextOWSequence], a + ld [wNextScript], a ld a, b - ld [wNextOWSequence+1], a + ld [wNextScript+1], a ld a, $3 ld [wOverworldMode], a - jr EnterOWSequence + jr EnterScript -EnterOWSequence: ; c10a (3:410a) - ld hl, wNextOWSequence +EnterScript: ; c10a (3:410a) + ld hl, wNextScript ld a, [hli] ld h, [hl] ld l, a @@ -758,7 +758,7 @@ AttemptPlayerMovementFromDirection: ; c5fe (3:45fe) pop bc ret -StartScriptedMovement: ; c607 (3:4607) +StartScript_dMovement: ; c607 (3:4607) push bc ld a, [wPlayerSpriteIndex] ld [wWhichSprite], a @@ -1204,18 +1204,18 @@ Func_c915: ; c915 (3:4915) pop bc ret -SetNextNPCAndOWSequence: ; c926 (3:4926) +SetNextNPCAndScript: ; c926 (3:4926) push bc call FindLoadedNPC ld a, [wLoadedNPCTempIndex] ld [wScriptNPC], a - farcall SetNewOWSequenceNPC + farcall SetNewScriptNPC pop bc ; fallthrough -SetNextOWSequence: ; c935 (3:4935) +SetNextScript: ; c935 (3:4935) push hl - ld hl, wNextOWSequence + ld hl, wNextScript ld [hl], c inc hl ld [hl], b @@ -1732,67 +1732,67 @@ Func_cc32: ; cc32 (3:4c32) call Func_c8ba ret -; Used for things that are represented as NPCs but don't have an OWSequence +; Used for things that are represented as NPCs but don't have a Script ; EX: Clerks and legendary cards that interact through Level Objects NoOverworldSequence: ; cc3e (3:4c3e) call CloseAdvancedDialogueBox ret -; Enters into the script loop, continuing until wBreakOWScriptLoop > 0 +; Enters into the script loop, continuing until wBreakScriptLoop > 0 ; When the loop is broken, it resumes normal code execution where script ended ; Note: Some scripts "double return" and skip this. RST20: ; cc42 (3:4c42) pop hl ld a, l - ld [wOWScriptPointer], a + ld [wScriptPointer], a ld a, h - ld [wOWScriptPointer+1], a + ld [wScriptPointer+1], a xor a - ld [wBreakOWScriptLoop], a + ld [wBreakScriptLoop], a .continueScriptLoop call RunOverworldScript - ld a, [wBreakOWScriptLoop] ; if you break out, it jumps + ld a, [wBreakScriptLoop] ; if you break out, it jumps or a jr z, .continueScriptLoop - ld hl, wOWScriptPointer + ld hl, wScriptPointer ld a, [hli] ld c, a ld b, [hl] retbc -IncreaseOWScriptPointerBy1: ; cc60 (3:4c60) +IncreaseScriptPointerBy1: ; cc60 (3:4c60) ld a, 1 - jr IncreaseOWScriptPointer -IncreaseOWScriptPointerBy2: ; cc64 (3:4c64) + jr IncreaseScriptPointer +IncreaseScriptPointerBy2: ; cc64 (3:4c64) ld a, 2 - jr IncreaseOWScriptPointer -IncreaseOWScriptPointerBy4: ; cc68 (3:4c68) + jr IncreaseScriptPointer +IncreaseScriptPointerBy4: ; cc68 (3:4c68) ld a, 4 - jr IncreaseOWScriptPointer -IncreaseOWScriptPointerBy5: ; cc6c (3:4c6c) + jr IncreaseScriptPointer +IncreaseScriptPointerBy5: ; cc6c (3:4c6c) ld a, 5 - jr IncreaseOWScriptPointer -IncreaseOWScriptPointerBy6: ; cc70 (3:4c70) + jr IncreaseScriptPointer +IncreaseScriptPointerBy6: ; cc70 (3:4c70) ld a, 6 - jr IncreaseOWScriptPointer -IncreaseOWScriptPointerBy7: ; cc74 (3:4c74) + jr IncreaseScriptPointer +IncreaseScriptPointerBy7: ; cc74 (3:4c74) ld a, 7 - jr IncreaseOWScriptPointer -IncreaseOWScriptPointerBy3: ; cc78 (3:4c78) + jr IncreaseScriptPointer +IncreaseScriptPointerBy3: ; cc78 (3:4c78) ld a, 3 -IncreaseOWScriptPointer: ; cc7a (3:4c7a) +IncreaseScriptPointer: ; cc7a (3:4c7a) ld c, a - ld a, [wOWScriptPointer] + ld a, [wScriptPointer] add c - ld [wOWScriptPointer], a - ld a, [wOWScriptPointer+1] + ld [wScriptPointer], a + ld a, [wScriptPointer+1] adc 0 - ld [wOWScriptPointer+1], a + ld [wScriptPointer+1], a ret -SetOWScriptPointer: ; cc8b (3:4c8b) - ld hl, wOWScriptPointer +SetScriptPointer: ; cc8b (3:4c8b) + ld hl, wScriptPointer ld [hl], c inc hl ld [hl], b @@ -1801,23 +1801,23 @@ SetOWScriptPointer: ; cc8b (3:4c8b) INCROM $cc92, $cc96 -GetOWSArgs1AfterPointer: ; cc96 (3:4c96) +GetScriptArgs1AfterPointer: ; cc96 (3:4c96) ld a, $1 - jr GetOWSArgsAfterPointer + jr GetScriptArgsAfterPointer -GetOWSArgs2AfterPointer: ; cc9a (3:4c9a) +GetScriptArgs2AfterPointer: ; cc9a (3:4c9a) ld a, $2 - jr GetOWSArgsAfterPointer -GetOWSArgs3AfterPointer: ; cc9e (3:4c9e) + jr GetScriptArgsAfterPointer +GetScriptArgs3AfterPointer: ; cc9e (3:4c9e) ld a, $3 -GetOWSArgsAfterPointer: ; cca0 (3:4ca0) +GetScriptArgsAfterPointer: ; cca0 (3:4ca0) push hl ld l, a - ld a, [wOWScriptPointer] + ld a, [wScriptPointer] add l ld l, a - ld a, [wOWScriptPointer+1] + ld a, [wScriptPointer+1] adc $0 ld h, a ld a, [hli] @@ -1838,67 +1838,67 @@ SetScriptControlByteFail: ; ccb9 (3:4cb9) ret ; Exits Script mode and runs the next instruction like normal -OWScript_EndScriptLoop1: ; ccbe (3:4cbe) -OWScript_EndScriptLoop2: ; ccbe (3:4cbe) -OWScript_EndScriptLoop3: ; ccbe (3:4cbe) -OWScript_EndScriptLoop4: ; ccbe (3:4cbe) -OWScript_EndScriptLoop5: ; ccbe (3:4cbe) -OWScript_EndScriptLoop6: ; ccbe (3:4cbe) -OWScript_EndScriptLoop7: ; ccbe (3:4cbe) -OWScript_EndScriptLoop8: ; ccbe (3:4cbe) -OWScript_EndScriptLoop9: ; ccbe (3:4cbe) -OWScript_EndScriptLoop10: ; ccbe (3:4cbe) +ScriptCommand_EndScriptLoop1: ; ccbe (3:4cbe) +ScriptCommand_EndScriptLoop2: ; ccbe (3:4cbe) +ScriptCommand_EndScriptLoop3: ; ccbe (3:4cbe) +ScriptCommand_EndScriptLoop4: ; ccbe (3:4cbe) +ScriptCommand_EndScriptLoop5: ; ccbe (3:4cbe) +ScriptCommand_EndScriptLoop6: ; ccbe (3:4cbe) +ScriptCommand_EndScriptLoop7: ; ccbe (3:4cbe) +ScriptCommand_EndScriptLoop8: ; ccbe (3:4cbe) +ScriptCommand_EndScriptLoop9: ; ccbe (3:4cbe) +ScriptCommand_EndScriptLoop10: ; ccbe (3:4cbe) ld a, $01 - ld [wBreakOWScriptLoop], a - jp IncreaseOWScriptPointerBy1 + ld [wBreakScriptLoop], a + jp IncreaseScriptPointerBy1 -OWScript_CloseAdvancedTextBox: ; ccc6 (3:4cc6) +ScriptCommand_CloseAdvancedTextBox: ; ccc6 (3:4cc6) call CloseAdvancedDialogueBox - jp IncreaseOWScriptPointerBy1 + jp IncreaseScriptPointerBy1 -OWScript_QuitScriptFully: ; cccc (3:4ccc) - call OWScript_CloseAdvancedTextBox - call OWScript_EndScriptLoop1 +ScriptCommand_QuitScriptFully: ; cccc (3:4ccc) + call ScriptCommand_CloseAdvancedTextBox + call ScriptCommand_EndScriptLoop1 pop hl ret ; args: 2-Text String Index -OWScript_PrintTextString: ; ccd4 (3:4cd4) +ScriptCommand_PrintTextString: ; ccd4 (3:4cd4) ld l, c ld h, b call Func_cc32 - jp IncreaseOWScriptPointerBy3 + jp IncreaseScriptPointerBy3 Func_ccdc: ; ccdc (3:4cdc) ld l, c ld h, b call Func_c891 - jp IncreaseOWScriptPointerBy3 + jp IncreaseScriptPointerBy3 -OWScript_AskQuestionJumpDefaultYes: ; cce4 (3:4ce4) +ScriptCommand_AskQuestionJumpDefaultYes: ; cce4 (3:4ce4) ld a, $1 ld [wDefaultYesOrNo], a ; fallthrough ; Asks the player a question then jumps if they answer yes. Seem to be able to ; take a text of 0000 to overwrite last with (yes no) prompt at the bottom -OWScript_AskQuestionJump: ; cce9 (3:4ce9) +ScriptCommand_AskQuestionJump: ; cce9 (3:4ce9) ld l, c ld h, b call Func_c8ed ld a, [hCurMenuItem] ld [wScriptControlByte], a jr c, .asm_ccfe - call GetOWSArgs3AfterPointer + call GetScriptArgs3AfterPointer jr z, .asm_ccfe - jp SetOWScriptPointer + jp SetScriptPointer .asm_ccfe - jp IncreaseOWScriptPointerBy5 + jp IncreaseScriptPointerBy5 ; args - prize cards, deck id, duel theme index ; sets a battle up, doesn't start until we break out of the script system. -OWScript_StartBattle: ; cd01 (3:4d01) +ScriptCommand_StartBattle: ; cd01 (3:4d01) call Func_cd66 ld a, [wScriptNPC] ld l, LOADED_NPC_ID @@ -1932,7 +1932,7 @@ asm_cd2f ld [wGameEvent], a ld hl, wd0b4 set 6, [hl] - jp IncreaseOWScriptPointerBy4 + jp IncreaseScriptPointerBy4 Func_cd4f: ; cd4f (3:4d4f) call Func_cd66 @@ -1953,7 +1953,7 @@ Func_cd66: ; cd66 (3:4d66) ld [wcc18], a ld a, b ld [wcc19], a - call GetOWSArgs3AfterPointer + call GetScriptArgs3AfterPointer ld a, c ld [wDuelTheme], a ret @@ -1963,19 +1963,19 @@ Func_cd76: ; cd76 (3:4d76) ld [wGameEvent], a ld hl, wd0b4 set 6, [hl] - jp IncreaseOWScriptPointerBy1 + jp IncreaseScriptPointerBy1 ; prints text arg 1 or arg 2 depending on wScriptControlByte. -OWScript_PrintVariableText: ; cd83 (3:4d83) +ScriptCommand_PrintVariableText: ; cd83 (3:4d83) ld a, [wScriptControlByte] or a jr nz, .printText - call GetOWSArgs3AfterPointer + call GetScriptArgs3AfterPointer .printText ld l, c ld h, b call Func_cc32 - jp IncreaseOWScriptPointerBy5 + jp IncreaseScriptPointerBy5 Func_cd94: ; cd94 (3:4d94) get_flag_value EVENT_FLAG_44 @@ -1984,32 +1984,32 @@ Unknown_cd98: and $3 add a inc a - call GetOWSArgsAfterPointer + call GetScriptArgsAfterPointer ld l, c ld h, b call Func_cc32 - jp IncreaseOWScriptPointerBy7 + jp IncreaseScriptPointerBy7 Func_cda8: ; cda8 (3:4da8) ld a, [wScriptControlByte] or a jr nz, .asm_cdb1 - call GetOWSArgs3AfterPointer + call GetScriptArgs3AfterPointer .asm_cdb1 ld l, c ld h, b call Func_c891 - jp IncreaseOWScriptPointerBy5 + jp IncreaseScriptPointerBy5 ; Does not return to RST20 - pops an extra time to skip that. -OWScript_PrintTextQuitFully: ; cdb9 (3:4db9) +ScriptCommand_PrintTextQuitFully: ; cdb9 (3:4db9) ld l, c ld h, b call Func_cc32 call CloseAdvancedDialogueBox ld a, $1 - ld [wBreakOWScriptLoop], a - call IncreaseOWScriptPointerBy3 + ld [wBreakScriptLoop], a + call IncreaseScriptPointerBy3 pop hl ret @@ -2018,7 +2018,7 @@ Func_cdcb: ; cdcb (3:4dcb) ld [wLoadedNPCTempIndex], a Func_cdd1: ; cdd1 (3:4dd1) farcall Func_1c50a - jp IncreaseOWScriptPointerBy1 + jp IncreaseScriptPointerBy1 Func_cdd8: ; cdd8 (3:4dd8) ld a, [wLoadedNPCTempIndex] @@ -2055,11 +2055,11 @@ Func_cdf5: ; cdf5 (3:4df5) ld [wTempNPC], a pop af ld [wLoadedNPCTempIndex], a - jp IncreaseOWScriptPointerBy3 + jp IncreaseScriptPointerBy3 ; Finds and executes an NPCMovement script in the table provided in bc ; based on the active NPC's current direction -OWScript_MoveActiveNPCByDirection: ; ce26 (3:4e26) +ScriptCommand_MoveActiveNPCByDirection: ; ce26 (3:4e26) ld a, [wScriptNPC] ld [wLoadedNPCTempIndex], a farcall GetNPCDirection @@ -2082,18 +2082,18 @@ ExecuteNPCMovement: ; ce3a (3:4e3a) call DoFrameIfLCDEnabled farcall Func_1c7de jr nz, .asm_ce3e - jp IncreaseOWScriptPointerBy3 + jp IncreaseScriptPointerBy3 ; Begin a series of NPC movements on the currently talking NPC ; based on the series of directions pointed to by bc -OWScript_MoveActiveNPC: ; ce4a (3:4e4a) +ScriptCommand_MoveActiveNPC: ; ce4a (3:4e4a) ld a, [wScriptNPC] ld [wLoadedNPCTempIndex], a jr ExecuteNPCMovement ; Begin a series of NPC movements on an arbitrary NPC ; based on the series of directions pointed to by bc -OWScript_MoveWramNPC: ; ce52 (3:4e52) +ScriptCommand_MoveWramNPC: ; ce52 (3:4e52) ld a, [wLoadedNPCTempIndex] push af ld a, [wTempNPC] @@ -2113,26 +2113,26 @@ ExecuteArbitraryNPCMovementFromStack ld [wLoadedNPCTempIndex], a ret -OWScript_MoveArbitraryNPC: ; ce6f (3:4e6f) +ScriptCommand_MoveArbitraryNPC: ; ce6f (3:4e6f) ld a, [wLoadedNPCTempIndex] push af ld a, [wTempNPC] push af ld a, c push af - call GetOWSArgs2AfterPointer + call GetScriptArgs2AfterPointer push bc - call IncreaseOWScriptPointerBy1 + call IncreaseScriptPointerBy1 pop bc pop af jr ExecuteArbitraryNPCMovementFromStack -OWScript_CloseTextBox: ; ce84 (3:4e84) +ScriptCommand_CloseTextBox: ; ce84 (3:4e84) call CloseTextBox - jp IncreaseOWScriptPointerBy1 + jp IncreaseScriptPointerBy1 ; args: booster pack index, booster pack index, booster pack index -OWScript_GiveBoosterPacks: ; ce8a (3:4e8a) +ScriptCommand_GiveBoosterPacks: ; ce8a (3:4e8a) xor a ld [wd117], a push bc @@ -2148,16 +2148,16 @@ OWScript_GiveBoosterPacks: ; ce8a (3:4e8a) cp NO_BOOSTER jr z, .asm_ceb4 farcall BoosterPack_1031b - call GetOWSArgs3AfterPointer + call GetScriptArgs3AfterPointer ld a, c cp NO_BOOSTER jr z, .asm_ceb4 farcall BoosterPack_1031b .asm_ceb4 call Func_c2d4 - jp IncreaseOWScriptPointerBy4 + jp IncreaseScriptPointerBy4 -OWScript_GiveOneOfEachTrainerBooster: ; ceba (3:4eba) +ScriptCommand_GiveOneOfEachTrainerBooster: ; ceba (3:4eba) xor a ld [wd117], a call Func_c2a3 @@ -2175,7 +2175,7 @@ OWScript_GiveOneOfEachTrainerBooster: ; ceba (3:4eba) jr .giveBoosterLoop .done call Func_c2d4 - jp IncreaseOWScriptPointerBy1 + jp IncreaseScriptPointerBy1 .booster_type_table db BOOSTER_COLOSSEUM_TRAINER @@ -2186,7 +2186,7 @@ OWScript_GiveOneOfEachTrainerBooster: ; ceba (3:4eba) ; Shows the card received screen for a given promotional card ; arg can either be the card, $00 for a wram card, or $ff for the 4 legends -OWScript_ShowCardReceivedScreen: ; cee2 (3:4ee2) +ScriptCommand_ShowCardReceivedScreen: ; cee2 (3:4ee2) call Func_c2a3 ld a, c cp $ff @@ -2204,7 +2204,7 @@ OWScript_ShowCardReceivedScreen: ; cee2 (3:4ee2) call WhiteOutDMGPals call DoFrameIfLCDEnabled call Func_c2d4 - jp IncreaseOWScriptPointerBy2 + jp IncreaseScriptPointerBy2 .asm_cf09 xor a @@ -2225,20 +2225,20 @@ asm_cf16 asm_cf19 call SetScriptControlByteFail - jp IncreaseOWScriptPointerBy4 + jp IncreaseScriptPointerBy4 asm_cf1f call SetScriptControlBytePass - call GetOWSArgs2AfterPointer + call GetScriptArgs2AfterPointer jr z, asm_cf2a - jp SetOWScriptPointer + jp SetScriptPointer asm_cf2a - jp IncreaseOWScriptPointerBy4 + jp IncreaseScriptPointerBy4 Func_cf2d: ; cf2d (3:4f2d) push bc - call IncreaseOWScriptPointerBy1 + call IncreaseScriptPointerBy1 pop bc call GetRawAmountOfCardsOwned ld a, h @@ -2252,7 +2252,7 @@ Func_cf2d: ; cf2d (3:4f2d) jr asm_cf19 ; Gives the first arg as a card. If that's 0 pulls from wd697 -OWScript_GiveCard: ; cf3f (3:4f3f) +ScriptCommand_GiveCard: ; cf3f (3:4f3f) ld a, c or a jr nz, .giveCard @@ -2260,12 +2260,12 @@ OWScript_GiveCard: ; cf3f (3:4f3f) .giveCard call AddCardToCollection - jp IncreaseOWScriptPointerBy2 + jp IncreaseScriptPointerBy2 -OWScript_TakeCard: ; cf4c (3:4f4c) +ScriptCommand_TakeCard: ; cf4c (3:4f4c) ld a, c call RemoveCardFromCollection - jp IncreaseOWScriptPointerBy2 + jp IncreaseScriptPointerBy2 Func_cf53: ; cf53 (3:4f53) ld c, $1 @@ -2284,16 +2284,16 @@ Func_cf53: ; cf53 (3:4f53) jr nz, Func_cf6d Func_cf67: ; cf67 (3:4f67) call SetScriptControlByteFail - jp IncreaseOWScriptPointerBy3 + jp IncreaseScriptPointerBy3 Func_cf6d: ; cf6d (3:4f6d) call SetScriptControlBytePass - call GetOWSArgs1AfterPointer + call GetScriptArgs1AfterPointer jr z, .asm_cf78 - jp SetOWScriptPointer + jp SetScriptPointer .asm_cf78 - jp IncreaseOWScriptPointerBy3 + jp IncreaseScriptPointerBy3 Func_cf7b: ; cf7b (3:4f7b) ld c, $1 @@ -2315,7 +2315,7 @@ Func_cf7b: ; cf7b (3:4f7b) ld a, c cp $8 jr c, .asm_cf7d - jp IncreaseOWScriptPointerBy1 + jp IncreaseScriptPointerBy1 Func_cf96: ; cf96 (3:4f96) ld c, $0 @@ -2341,19 +2341,19 @@ Func_cf96: ; cf96 (3:4f96) ld a, c rlca add $3 - call GetOWSArgsAfterPointer - jp SetOWScriptPointer + call GetScriptArgsAfterPointer + jp SetScriptPointer Func_cfc0: ; cfc0 (3:4fc0) - call GetOWSArgs1AfterPointer - jp SetOWScriptPointer + call GetScriptArgs1AfterPointer + jp SetScriptPointer Func_cfc6: ; cfc6 (3:4fc6) ld a, [wScriptNPC] ld [wLoadedNPCTempIndex], a ld a, c farcall Func_1c52e - jp IncreaseOWScriptPointerBy2 + jp IncreaseScriptPointerBy2 Func_cfd4: ; cfd4 (3:4fd4) get_flag_value EVENT_FLAG_2D @@ -2387,7 +2387,7 @@ Func_cfd4: ; cfd4 (3:4fd4) add hl, bc ld c, [hl] set_flag_value EVENT_FLAG_2B - jp IncreaseOWScriptPointerBy1 + jp IncreaseScriptPointerBy1 Data_d006: ; d006 (3:5006) INCROM $d006, $d00b @@ -2406,7 +2406,7 @@ Func_d00b: ; d00b (3:500b) ld [hl], e inc hl ld [hl], d - jp IncreaseOWScriptPointerBy2 + jp IncreaseScriptPointerBy2 Func_d025: ; d025 (3:5025) get_flag_value EVENT_FLAG_2B @@ -2423,29 +2423,29 @@ Func_d032: ; d032 (3:5032) Func_d03f: ; d03f (3:503f) get_flag_value EVENT_FLAG_2B call RemoveCardFromCollection - jp IncreaseOWScriptPointerBy1 + jp IncreaseScriptPointerBy1 -OWScript_Jump: ; d049 (3:5049) - call GetOWSArgs1AfterPointer - jp SetOWScriptPointer +ScriptCommand_Jump: ; d049 (3:5049) + call GetScriptArgs1AfterPointer + jp SetScriptPointer -OWScript_TryGiveMedalPCPacks: ; d04f (3:504f) +ScriptCommand_TryGiveMedalPCPacks: ; d04f (3:504f) call TryGiveMedalPCPacks - jp IncreaseOWScriptPointerBy1 + jp IncreaseScriptPointerBy1 -OWScript_SetPlayerDirection: ; d055 (3:5055) +ScriptCommand_SetPlayerDirection: ; d055 (3:5055) ld a, c call UpdatePlayerDirection - jp IncreaseOWScriptPointerBy2 + jp IncreaseScriptPointerBy2 ; arg1 - Direction (index in PlayerMovementOffsetTable) ; arg2 - Tiles Moves (Speed) -OWScript_MovePlayer: ; 505c (3:505c) +ScriptCommand_MovePlayer: ; 505c (3:505c) ld a, c ld [wd339], a ld a, b ld [wd33a], a - call StartScriptedMovement + call StartScript_dMovement .asm_d067 call DoFrameIfLCDEnabled call SetScreenScroll @@ -2455,25 +2455,25 @@ OWScript_MovePlayer: ; 505c (3:505c) jr nz, .asm_d067 call DoFrameIfLCDEnabled call SetScreenScroll - jp IncreaseOWScriptPointerBy3 + jp IncreaseScriptPointerBy3 -OWScript_SetDialogName: ; d080 (3:5080) +ScriptCommand_SetDialogName: ; d080 (3:5080) ld a, c farcall SetNPCDialogName - jp IncreaseOWScriptPointerBy2 + jp IncreaseScriptPointerBy2 -OWScript_SetNextNPCandOWSequence: ; d088 (3:5088) +ScriptCommand_SetNextNPCandScript: ; d088 (3:5088) ld a, c ld [wTempNPC], a - call GetOWSArgs2AfterPointer - call SetNextNPCAndOWSequence - jp IncreaseOWScriptPointerBy4 + call GetScriptArgs2AfterPointer + call SetNextNPCAndScript + jp IncreaseScriptPointerBy4 Func_d095: ; d095 (3:5095) ld a, [wScriptNPC] ld [wLoadedNPCTempIndex], a push bc - call GetOWSArgs3AfterPointer + call GetScriptArgs3AfterPointer ld a, [wScriptNPC] ld l, LOADED_NPC_FIELD_05 call GetItemInLoadedNPCIndex @@ -2491,7 +2491,7 @@ Func_d095: ; d095 (3:5095) .asm_d0b6 ld a, e farcall Func_1c57b - jp IncreaseOWScriptPointerBy4 + jp IncreaseScriptPointerBy4 Func_d0be: ; d0be (3:50be) ld a, [wScriptNPC] @@ -2500,15 +2500,15 @@ Func_d0be: ; d0be (3:50be) ld c, b ld b, a farcall Func_1c461 - jp IncreaseOWScriptPointerBy3 + jp IncreaseScriptPointerBy3 -OWScript_DoFrames: ; d0ce (3:50ce) +ScriptCommand_DoFrames: ; d0ce (3:50ce) push bc call DoFrameIfLCDEnabled pop bc dec c - jr nz, OWScript_DoFrames - jp IncreaseOWScriptPointerBy2 + jr nz, ScriptCommand_DoFrames + jp IncreaseScriptPointerBy2 Func_d0d9: ; d0d9 (3:50d9) ld a, [wScriptNPC] @@ -2524,7 +2524,7 @@ Func_d0d9: ; d0d9 (3:50d9) jp nz, ScriptEventFailedNoJump jp ScriptEventPassedTryJump -OWScript_JumpIfPlayerCoordMatches: ; d0f2 (3:50f2) +ScriptCommand_JumpIfPlayerCoordMatches: ; d0f2 (3:50f2) ld a, [wPlayerXCoord] cp c jp nz, ScriptEventFailedNoJump @@ -2562,7 +2562,7 @@ Func_d125: ; d125 (3:5125) pop af farcall Medal_1029e call Func_c2d4 - jp IncreaseOWScriptPointerBy2 + jp IncreaseScriptPointerBy2 Func_d135: ; d135 (3:5135) sla c @@ -2583,7 +2583,7 @@ Func_d135: ; d135 (3:5135) ld [hl], e inc hl ld [hl], d - jp IncreaseOWScriptPointerBy2 + jp IncreaseScriptPointerBy2 INCROM $d153, $d16b @@ -2610,7 +2610,7 @@ Func_d16b: ; d16b (3:516b) ld [hl], e inc hl ld [hl], d - jp IncreaseOWScriptPointerBy2 + jp IncreaseScriptPointerBy2 Func_d195: ; d195 (3:5195) ld a, [wTempNPC] @@ -2622,11 +2622,11 @@ Func_d195: ; d195 (3:5195) call Func_f580 pop af ld [wTempNPC], a - jp IncreaseOWScriptPointerBy1 + jp IncreaseScriptPointerBy1 Func_d1ad: ; d1ad (3:51ad) call MainMenu_c75a - jp IncreaseOWScriptPointerBy1 + jp IncreaseScriptPointerBy1 Func_d1b3: ; d1b3 (3:51b3) get_flag_value EVENT_FLAG_44 @@ -2653,7 +2653,7 @@ asm_d1c6 ld [wTxRam2], a ld a, [hl] ld [wTxRam2 + 1], a - jp IncreaseOWScriptPointerBy1 + jp IncreaseScriptPointerBy1 INCROM $d1dc, $d209 @@ -2706,7 +2706,7 @@ Flags_d240: ; d240 (3:5240) Func_d244: ; d244 (3:5244) ld a, c farcall Func_80ba4 - jp IncreaseOWScriptPointerBy2 + jp IncreaseScriptPointerBy2 Func_d24c: ; d24c (3:524c) ld hl, $525e @@ -2715,7 +2715,7 @@ Func_d24c: ; d24c (3:524c) ld a, [wd695] ld c, a set_flag_value EVENT_FLAG_76 - jp IncreaseOWScriptPointerBy1 + jp IncreaseScriptPointerBy1 INCROM $d25e, $d271 @@ -2723,7 +2723,7 @@ Func_d271: ; d271 (3:5271) ld hl, $527b xor a call Func_d28c - jp IncreaseOWScriptPointerBy1 + jp IncreaseScriptPointerBy1 ; 0xd27b INCROM $d27b, $d28c @@ -2813,7 +2813,7 @@ Func_d2f6: ; d2f6 (3:52f6) set_flag_value EVENT_FLAG_75 xor a ld [wd694], a - jp IncreaseOWScriptPointerBy1 + jp IncreaseScriptPointerBy1 ; 0xd30c INCROM $d30c, $d317 @@ -2825,12 +2825,12 @@ Func_d317: ; d317 (3:5317) ld a, [wd694] ld c, a set_flag_value EVENT_FLAG_75 - jp IncreaseOWScriptPointerBy1 + jp IncreaseScriptPointerBy1 Unknown_d32b: ; d32b (3:532b) INCROM $d32b, $d336 -OWScript_OpenDeckMachine: ; d336 (3:5336) +ScriptCommand_OpenDeckMachine: ; d336 (3:5336) push bc call Func_c2a3 call PauseSong @@ -2855,13 +2855,13 @@ OWScript_OpenDeckMachine: ; d336 (3:5336) .asm_d364 call ResumeSong call Func_c2d4 - jp IncreaseOWScriptPointerBy2 + jp IncreaseScriptPointerBy2 ; args: unused, room, new player x, new player y, new player direction -OWScript_EnterMap: ; d36d (3:536d) - ld a, [wOWScriptPointer] +ScriptCommand_EnterMap: ; d36d (3:536d) + ld a, [wScriptPointer] ld l, a - ld a, [wOWScriptPointer+1] + ld a, [wScriptPointer+1] ld h, a inc hl ld a, [hli] @@ -2875,15 +2875,15 @@ OWScript_EnterMap: ; d36d (3:536d) ld [wTempPlayerDirection], a ld hl, wd0b4 set 4, [hl] - jp IncreaseOWScriptPointerBy6 + jp IncreaseScriptPointerBy6 Func_d38f: ; d38f (3:538f) farcall Func_10c96 - jp IncreaseOWScriptPointerBy2 + jp IncreaseScriptPointerBy2 Func_d396: ; d396 (3:5396) farcall Func_1157c - jp IncreaseOWScriptPointerBy2 + jp IncreaseScriptPointerBy2 Func_d39d: ; d39d (3:539d) ld a, c @@ -2901,7 +2901,7 @@ Func_d39d: ; d39d (3:539d) set 6, [hl] .asm_d3b6 - jp IncreaseOWScriptPointerBy2 + jp IncreaseScriptPointerBy2 Func_d3b9: ; d3b9 (3:53b9) call Func_3917 @@ -2909,20 +2909,20 @@ Func_d3b9: ; d3b9 (3:53b9) ld [wGameEvent], a ld hl, wd0b4 set 6, [hl] - jp IncreaseOWScriptPointerBy1 + jp IncreaseScriptPointerBy1 -OWScript_TryGivePCPack: ; d3c9 (3:53c9) +ScriptCommand_TryGivePCPack: ; d3c9 (3:53c9) ld a, c farcall TryGivePCPack - jp IncreaseOWScriptPointerBy2 + jp IncreaseScriptPointerBy2 -OWScript_nop: ; d3d1 (3:53d1) - jp IncreaseOWScriptPointerBy1 +ScriptCommand_nop: ; d3d1 (3:53d1) + jp IncreaseScriptPointerBy1 Func_d3d4: ; d3d4 (3:53d4) ld a, [wd693] bank1call Func_7576 - jp IncreaseOWScriptPointerBy1 + jp IncreaseScriptPointerBy1 INCROM $d3dd, $d3e0 @@ -2937,65 +2937,65 @@ Func_d3e0: ; d3e0 (3:53e0) cp $2 jr nz, .asm_d3e9 farcall Func_10f2e - jp IncreaseOWScriptPointerBy1 + jp IncreaseScriptPointerBy1 Func_d3fe: ; d3fe (3:53fe) ld a, c ld [wd112], a call PlaySong - jp IncreaseOWScriptPointerBy2 + jp IncreaseScriptPointerBy2 Func_d408: ; d408 (3:5408) ld a, c ld [wd111], a - jp IncreaseOWScriptPointerBy2 + jp IncreaseScriptPointerBy2 Func_d40f: ; d40f (3:540f) ld a, c call CallPlaySong - jp IncreaseOWScriptPointerBy2 + jp IncreaseScriptPointerBy2 -OWScript_PlaySFX: ; d416 (3:5416) +ScriptCommand_PlaySFX: ; d416 (3:5416) ld a, c call PlaySFX - jp IncreaseOWScriptPointerBy2 + jp IncreaseScriptPointerBy2 Func_d41d: ; d41d (3:541d) call Func_39fc - jp IncreaseOWScriptPointerBy1 + jp IncreaseScriptPointerBy1 -OWScript_PauseSong: ; d423 (3:5423) +ScriptCommand_PauseSong: ; d423 (3:5423) call PauseSong - jp IncreaseOWScriptPointerBy1 + jp IncreaseScriptPointerBy1 -OWScript_ResumeSong: ; d429 (3:5429) +ScriptCommand_ResumeSong: ; d429 (3:5429) call ResumeSong - jp IncreaseOWScriptPointerBy1 + jp IncreaseScriptPointerBy1 -OWScript_WaitForSongToFinish: ; d42f (3:542f) +ScriptCommand_WaitForSongToFinish: ; d42f (3:542f) call WaitForSongToFinish - jp IncreaseOWScriptPointerBy1 + jp IncreaseScriptPointerBy1 Func_d435: ; d435 (3:5435) ld a, c farcall Func_1c83d - jp IncreaseOWScriptPointerBy2 + jp IncreaseScriptPointerBy2 Func_d43d: ; d43d (3:543d) ld a, GAME_EVENT_CHALLENGE_MACHINE ld [wGameEvent], a ld hl, wd0b4 set 6, [hl] - jp IncreaseOWScriptPointerBy1 + jp IncreaseScriptPointerBy1 ; sets the event flag in arg 1 to the value in arg 2 -OWScript_SetFlagValue: ; d44a (3:544a) +ScriptCommand_SetFlagValue: ; d44a (3:544a) ld a, c ld c, b call SetEventFlagValue - jp IncreaseOWScriptPointerBy3 + jp IncreaseScriptPointerBy3 -OWScript_IncrementFlagValue: ; d452 (3:5452) +ScriptCommand_IncrementFlagValue: ; d452 (3:5452) ld a, c push af call GetEventFlagValue @@ -3003,72 +3003,72 @@ OWScript_IncrementFlagValue: ; d452 (3:5452) ld c, a pop af call SetEventFlagValue - jp IncreaseOWScriptPointerBy2 + jp IncreaseScriptPointerBy2 -OWScript_JumpIfFlagZero1: ; d460 (3:5460) +ScriptCommand_JumpIfFlagZero1: ; d460 (3:5460) ld a, c call GetEventFlagValue or a - jr z, OWScript_JumpIfFlagZero1.passTryJump + jr z, ScriptCommand_JumpIfFlagZero1.passTryJump .fail call SetScriptControlByteFail - jp IncreaseOWScriptPointerBy4 + jp IncreaseScriptPointerBy4 .passTryJump call SetScriptControlBytePass - call GetOWSArgs2AfterPointer + call GetScriptArgs2AfterPointer jr z, .noJumpTarget - jp SetOWScriptPointer + jp SetScriptPointer .noJumpTarget - jp IncreaseOWScriptPointerBy4 + jp IncreaseScriptPointerBy4 -OWScript_JumpIfFlagNonzero1: ; d47b (3:547b) +ScriptCommand_JumpIfFlagNonzero1: ; d47b (3:547b) ld a, c call GetEventFlagValue or a - jr nz, OWScript_JumpIfFlagZero1.passTryJump - jr OWScript_JumpIfFlagZero1.fail + jr nz, ScriptCommand_JumpIfFlagZero1.passTryJump + jr ScriptCommand_JumpIfFlagZero1.fail ; args - event flag, value, jump address -OWScript_JumpIfFlagEqual: ; d484 (3:5484) +ScriptCommand_JumpIfFlagEqual: ; d484 (3:5484) call GetEventFlagValueBC cp c jr z, ScriptEventPassedTryJump ScriptEventFailedNoJump ; d48a (3:548a) call SetScriptControlByteFail - jp IncreaseOWScriptPointerBy5 + jp IncreaseScriptPointerBy5 ScriptEventPassedTryJump ; d490 (3:5490) call SetScriptControlBytePass - call GetOWSArgs3AfterPointer + call GetScriptArgs3AfterPointer jr z, .noJumpAddress - jp SetOWScriptPointer + jp SetScriptPointer .noJumpAddress - jp IncreaseOWScriptPointerBy5 + jp IncreaseScriptPointerBy5 -OWScript_JumpIfFlagNotEqual: ; d49e (3:549e) +ScriptCommand_JumpIfFlagNotEqual: ; d49e (3:549e) call GetEventFlagValueBC cp c jr nz, ScriptEventPassedTryJump jr ScriptEventFailedNoJump -OWScript_JumpIfFlagNotLessThan: ; d4a6 (3:54a6) +ScriptCommand_JumpIfFlagNotLessThan: ; d4a6 (3:54a6) call GetEventFlagValueBC cp c jr nc, ScriptEventPassedTryJump jr ScriptEventFailedNoJump -OWScript_JumpIfFlagLessThan: ; d4ae (3:54ae) +ScriptCommand_JumpIfFlagLessThan: ; d4ae (3:54ae) call GetEventFlagValueBC cp c jr c, ScriptEventPassedTryJump jr ScriptEventFailedNoJump -; Gets event flag at c (OWScript defaults) +; Gets event flag at c (Script defaults) ; c takes on the value of b as a side effect GetEventFlagValueBC: ; d4b6 (3:54b6) ld a, c @@ -3076,39 +3076,39 @@ GetEventFlagValueBC: ; d4b6 (3:54b6) call GetEventFlagValue ret -OWScript_MaxOutFlagValue: ; d4bc (3:54bc) +ScriptCommand_MaxOutFlagValue: ; d4bc (3:54bc) ld a, c call MaxOutEventFlag - jp IncreaseOWScriptPointerBy2 + jp IncreaseScriptPointerBy2 -OWScript_ZeroOutFlagValue: ; d4c3 (3:54c3) +ScriptCommand_ZeroOutFlagValue: ; d4c3 (3:54c3) ld a, c call ZeroOutEventFlag - jp IncreaseOWScriptPointerBy2 + jp IncreaseScriptPointerBy2 -OWScript_JumpIfFlagNonzero2: ; d4ca (3:54ca) +ScriptCommand_JumpIfFlagNonzero2: ; d4ca (3:54ca) ld a, c call GetEventFlagValue or a - jr z, OWScript_JumpIfFlagZero2.fail + jr z, ScriptCommand_JumpIfFlagZero2.fail .passTryJump: call SetScriptControlBytePass - call GetOWSArgs2AfterPointer + call GetScriptArgs2AfterPointer jr z, .noJumpArgs - jp SetOWScriptPointer + jp SetScriptPointer .noJumpArgs - jp IncreaseOWScriptPointerBy4 + jp IncreaseScriptPointerBy4 -OWScript_JumpIfFlagZero2: +ScriptCommand_JumpIfFlagZero2: ld a, c call GetEventFlagValue or a - jr z, OWScript_JumpIfFlagNonzero2.passTryJump + jr z, ScriptCommand_JumpIfFlagNonzero2.passTryJump .fail call SetScriptControlByteFail - jp IncreaseOWScriptPointerBy4 + jp IncreaseScriptPointerBy4 ; 0xd4ec LoadOverworld: ; d4ec (3:54ec) @@ -3116,8 +3116,8 @@ LoadOverworld: ; d4ec (3:54ec) get_flag_value EVENT_FLAG_3E or a ret nz - ld bc, OWSequence_BeginGame - jp SetNextOWSequence + ld bc, Script_BeginGame + jp SetNextScript Func_d4fb: ; d4fb (3:54fb) zero_flag_value EVENT_FLAG_59 @@ -3143,20 +3143,20 @@ Func_d4fb: ; d4fb (3:54fb) set_flag_value EVENT_FLAG_3F ret -OWSequence_BeginGame: ; d52e (3:552e) +Script_BeginGame: ; d52e (3:552e) start_script - run_script OWScript_DoFrames + run_script ScriptCommand_DoFrames db $3c run_script Func_d3e0 - run_script OWScript_DoFrames + run_script ScriptCommand_DoFrames db $78 - run_script OWScript_EnterMap + run_script ScriptCommand_EnterMap db $02 db MASON_LABORATORY db 14 db 26 db NORTH - run_script OWScript_QuitScriptFully + run_script ScriptCommand_QuitScriptFully MasonLaboratoryAfterDuel: ; d53b (3:553b) ld hl, .after_duel_table @@ -3177,8 +3177,8 @@ MasonLabLoadMap: ; d549 (3:5549) ld a, NPC_DRMASON ld [wTempNPC], a call FindLoadedNPC - ld bc, OWSequence_EnterLabFirstTime - jp SetNextNPCAndOWSequence + ld bc, Script_EnterLabFirstTime + jp SetNextNPCAndScript MasonLabCloseTextBox: ; d55e (3:555e) ld a, $0a @@ -3196,224 +3196,224 @@ MasonLabPressedA: ; d565 (3:5565) ChallengeMachineObjectTable: ; d572 (3:5572) db 10, 4, NORTH - dw OWSequence_ChallengeMachine + dw Script_ChallengeMachine db 12, 4, NORTH - dw OWSequence_ChallengeMachine + dw Script_ChallengeMachine db $00 -OWSequence_ChallengeMachine: ; d57d (3:557d) +Script_ChallengeMachine: ; d57d (3:557d) start_script run_script Func_ccdc tx Text05bd run_script Func_d43d - run_script OWScript_QuitScriptFully + run_script ScriptCommand_QuitScriptFully INCROM $d583, $d753 -OWSequence_EnterLabFirstTime: ; d753 (3:5753) +Script_EnterLabFirstTime: ; d753 (3:5753) start_script - run_script OWScript_MovePlayer + run_script ScriptCommand_MovePlayer db NORTH db $02 - run_script OWScript_MovePlayer + run_script ScriptCommand_MovePlayer db NORTH db $02 - run_script OWScript_MovePlayer + run_script ScriptCommand_MovePlayer db NORTH db $02 - run_script OWScript_MovePlayer + run_script ScriptCommand_MovePlayer db NORTH db $02 - run_script OWScript_MovePlayer + run_script ScriptCommand_MovePlayer db NORTH db $02 - run_script OWScript_MovePlayer + run_script ScriptCommand_MovePlayer db NORTH db $02 - run_script OWScript_MovePlayer + run_script ScriptCommand_MovePlayer db NORTH db $02 - run_script OWScript_MovePlayer + run_script ScriptCommand_MovePlayer db NORTH db $02 - run_script OWScript_MovePlayer + run_script ScriptCommand_MovePlayer db NORTH db $02 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text05e3 - run_script OWScript_CloseAdvancedTextBox - run_script OWScript_SetNextNPCandOWSequence + run_script ScriptCommand_CloseAdvancedTextBox + run_script ScriptCommand_SetNextNPCandScript db NPC_SAM - dw OWSequence_d779 - run_script OWScript_EndScriptLoop1 + dw Script_d779 + run_script ScriptCommand_EndScriptLoop1 ret -OWSequence_d779: ; d779 (03:5779) +Script_d779: ; d779 (03:5779) start_script - run_script OWScript_MoveActiveNPC + run_script ScriptCommand_MoveActiveNPC dw NPCMovement_d880 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text05e4 - run_script OWScript_SetDialogName + run_script ScriptCommand_SetDialogName db NPC_DRMASON - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text05e5 - run_script OWScript_CloseTextBox - run_script OWScript_MoveActiveNPC + run_script ScriptCommand_CloseTextBox + run_script ScriptCommand_MoveActiveNPC dw NPCMovement_d882 run_script Func_cfc6 db $01 - run_script OWScript_SetPlayerDirection + run_script ScriptCommand_SetPlayerDirection db $03 - run_script OWScript_CloseAdvancedTextBox - run_script OWScript_SetNextNPCandOWSequence + run_script ScriptCommand_CloseAdvancedTextBox + run_script ScriptCommand_SetNextNPCandScript db NPC_DRMASON - dw OWSequence_d794 - run_script OWScript_EndScriptLoop1 + dw Script_d794 + run_script ScriptCommand_EndScriptLoop1 ret -OWSequence_d794: ; d794 (3:5794) +Script_d794: ; d794 (3:5794) start_script - run_script OWScript_MoveActiveNPC + run_script ScriptCommand_MoveActiveNPC dw NPCMovement_d88b - run_script OWScript_DoFrames + run_script ScriptCommand_DoFrames db 40 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text05e6 - run_script OWScript_CloseTextBox - run_script OWScript_MovePlayer + run_script ScriptCommand_CloseTextBox + run_script ScriptCommand_MovePlayer db WEST db $01 - run_script OWScript_MovePlayer + run_script ScriptCommand_MovePlayer db WEST db $01 - run_script OWScript_SetPlayerDirection + run_script ScriptCommand_SetPlayerDirection db SOUTH - run_script OWScript_MovePlayer + run_script ScriptCommand_MovePlayer db SOUTH db $01 - run_script OWScript_MovePlayer + run_script ScriptCommand_MovePlayer db SOUTH db $01 - run_script OWScript_MovePlayer + run_script ScriptCommand_MovePlayer db SOUTH db $01 - run_script OWScript_SetPlayerDirection + run_script ScriptCommand_SetPlayerDirection db WEST - run_script OWScript_MoveActiveNPC + run_script ScriptCommand_MoveActiveNPC dw NPCMovement_d894 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text05e7 - run_script OWScript_SetDialogName + run_script ScriptCommand_SetDialogName db $07 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text05e8 .ows_d7bc - run_script OWScript_CloseTextBox + run_script ScriptCommand_CloseTextBox run_script Func_d317 - run_script OWScript_CloseTextBox - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_CloseTextBox + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_75 db $07 dw .ows_d80c - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_75 db $01 dw .ows_d7e8 - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_75 db $02 dw .ows_d7ee - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_75 db $03 dw .ows_d7f4 - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_75 db $04 dw .ows_d7fa - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_75 db $05 dw .ows_d800 - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_75 db $06 dw .ows_d806 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text05d6 - run_script OWScript_Jump + run_script ScriptCommand_Jump dw .ows_d7bc .ows_d7e8 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text05d7 - run_script OWScript_Jump + run_script ScriptCommand_Jump dw .ows_d7bc .ows_d7ee - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text05d8 - run_script OWScript_Jump + run_script ScriptCommand_Jump dw .ows_d7bc .ows_d7f4 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text05d9 - run_script OWScript_Jump + run_script ScriptCommand_Jump dw .ows_d7bc .ows_d7fa - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text05da - run_script OWScript_Jump + run_script ScriptCommand_Jump dw .ows_d7bc .ows_d800 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text05db - run_script OWScript_Jump + run_script ScriptCommand_Jump dw .ows_d7bc .ows_d806 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text05dc - run_script OWScript_Jump + run_script ScriptCommand_Jump dw .ows_d7bc .ows_d80c - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text05e9 - run_script OWScript_AskQuestionJumpDefaultYes + run_script ScriptCommand_AskQuestionJumpDefaultYes dw 0000 dw .ows_d817 - run_script OWScript_Jump + run_script ScriptCommand_Jump dw .ows_d7bc .ows_d817 - run_script OWScript_SetDialogName + run_script ScriptCommand_SetDialogName db $01 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text05ea - run_script OWScript_nop - run_script OWScript_SetFlagValue + run_script ScriptCommand_nop + run_script ScriptCommand_SetFlagValue db EVENT_FLAG_3E db $01 - run_script OWScript_CloseAdvancedTextBox - run_script OWScript_SetNextNPCandOWSequence + run_script ScriptCommand_CloseAdvancedTextBox + run_script ScriptCommand_SetNextNPCandScript db NPC_SAM - dw OWSequence_d827 - run_script OWScript_EndScriptLoop1 + dw Script_d827 + run_script ScriptCommand_EndScriptLoop1 ret -OWSequence_d827: ; d827 (3:5827) +Script_d827: ; d827 (3:5827) start_script - run_script OWScript_StartBattle + run_script ScriptCommand_StartBattle db PRIZES_2 db SAMS_PRACTICE_DECK_ID db MUSIC_DUEL_THEME_1 - run_script OWScript_QuitScriptFully + run_script ScriptCommand_QuitScriptFully ; 0xd82d INCROM $d82d, $d880 @@ -3450,19 +3450,19 @@ NPCMovement_d894: ; d894 (4:5894) INCROM $d896, $d932 -OWSequence_d932: ; d932 (3:5932) +Script_d932: ; d932 (3:5932) start_script run_script Func_ccdc tx Text0605 - run_script OWScript_AskQuestionJumpDefaultYes + run_script ScriptCommand_AskQuestionJumpDefaultYes tx Text0606 dw .ows_d93c - run_script OWScript_QuitScriptFully + run_script ScriptCommand_QuitScriptFully .ows_d93c - run_script OWScript_OpenDeckMachine + run_script ScriptCommand_OpenDeckMachine db $09 - run_script OWScript_QuitScriptFully + run_script ScriptCommand_QuitScriptFully ; 0xd93f INCROM $d93f, $dadd @@ -3488,232 +3488,232 @@ Preload_IshiharaInIshiharasHouse: ; db3d (3:5b3d) cp $08 ret -OWSequence_Ishihara: ; db4a (3:5b4a) +Script_Ishihara: ; db4a (3:5b4a) start_script - run_script OWScript_MaxOutFlagValue + run_script ScriptCommand_MaxOutFlagValue db EVENT_FLAG_1D - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_1F db $00 dw .ows_db80 - run_script OWScript_JumpIfFlagNonzero2 + run_script ScriptCommand_JumpIfFlagNonzero2 db EVENT_FLAG_39 dw .ows_db5a - run_script OWScript_JumpIfFlagNonzero2 + run_script ScriptCommand_JumpIfFlagNonzero2 db EVENT_RECEIVED_LEGENDARY_CARD dw .ows_dc3e .ows_db5a - run_script OWScript_JumpIfFlagNonzero2 + run_script ScriptCommand_JumpIfFlagNonzero2 db EVENT_FLAG_00 dw .ows_db90 - run_script OWScript_JumpIfFlagZero2 + run_script ScriptCommand_JumpIfFlagZero2 db EVENT_FLAG_38 dw .ows_db90 - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_1F db $01 dw .ows_db93 - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_1F db $02 dw .ows_db93 - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_1F db $03 dw .ows_dbcc - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_1F db $04 dw .ows_dbcc - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_1F db $05 dw .ows_dc05 - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_1F db $06 dw .ows_dc05 .ows_db80 - run_script OWScript_MaxOutFlagValue + run_script ScriptCommand_MaxOutFlagValue db EVENT_FLAG_00 - run_script OWScript_SetFlagValue + run_script ScriptCommand_SetFlagValue db EVENT_FLAG_1F db $01 - run_script OWScript_ZeroOutFlagValue + run_script ScriptCommand_ZeroOutFlagValue db EVENT_FLAG_38 - run_script OWScript_JumpIfFlagZero2 + run_script ScriptCommand_JumpIfFlagZero2 db EVENT_RECEIVED_LEGENDARY_CARD dw .ows_db8d - run_script OWScript_MaxOutFlagValue + run_script ScriptCommand_MaxOutFlagValue db EVENT_FLAG_39 .ows_db8d - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text0727 .ows_db90 - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text0728 .ows_db93 - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_1F db $01 dw NO_JUMP - run_script OWScript_PrintVariableText + run_script ScriptCommand_PrintVariableText tx Text0729 tx Text072a - run_script OWScript_SetFlagValue + run_script ScriptCommand_SetFlagValue db EVENT_FLAG_1F db $02 - run_script OWScript_AskQuestionJump + run_script ScriptCommand_AskQuestionJump tx Text072b dw .ows_dba8 - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text072c .ows_dba8 run_script Func_cf0c db $ac dw .ows_dbaf - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text072d .ows_dbaf run_script Func_cf12 db $ac dw .ows_dbb6 - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text072e .ows_dbb6 - run_script OWScript_MaxOutFlagValue + run_script ScriptCommand_MaxOutFlagValue db EVENT_FLAG_00 - run_script OWScript_SetFlagValue + run_script ScriptCommand_SetFlagValue db EVENT_FLAG_1F db $03 - run_script OWScript_ZeroOutFlagValue + run_script ScriptCommand_ZeroOutFlagValue db EVENT_FLAG_38 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text072f run_script Func_ccdc tx Text0730 - run_script OWScript_TakeCard + run_script ScriptCommand_TakeCard db CLEFABLE - run_script OWScript_GiveCard + run_script ScriptCommand_GiveCard db SURFING_PIKACHU1 - run_script OWScript_ShowCardReceivedScreen + run_script ScriptCommand_ShowCardReceivedScreen db SURFING_PIKACHU1 - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text0731 .ows_dbcc - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_1F db $03 dw NO_JUMP - run_script OWScript_PrintVariableText + run_script ScriptCommand_PrintVariableText tx Text0732 tx Text0733 - run_script OWScript_SetFlagValue + run_script ScriptCommand_SetFlagValue db EVENT_FLAG_1F db $04 - run_script OWScript_AskQuestionJump + run_script ScriptCommand_AskQuestionJump tx Text072b dw .ows_dbe1 - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text072c .ows_dbe1 run_script Func_cf0c db $bb dw .ows_dbe8 - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text0734 .ows_dbe8 run_script Func_cf12 db $bb dw .ows_dbef - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text0735 .ows_dbef - run_script OWScript_MaxOutFlagValue + run_script ScriptCommand_MaxOutFlagValue db EVENT_FLAG_00 - run_script OWScript_SetFlagValue + run_script ScriptCommand_SetFlagValue db EVENT_FLAG_1F db $05 - run_script OWScript_ZeroOutFlagValue + run_script ScriptCommand_ZeroOutFlagValue db EVENT_FLAG_38 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text072f run_script Func_ccdc tx Text0736 - run_script OWScript_TakeCard + run_script ScriptCommand_TakeCard db DITTO - run_script OWScript_GiveCard + run_script ScriptCommand_GiveCard db FLYING_PIKACHU - run_script OWScript_ShowCardReceivedScreen + run_script ScriptCommand_ShowCardReceivedScreen db FLYING_PIKACHU - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text0737 .ows_dc05 - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_1F db $05 dw NO_JUMP - run_script OWScript_PrintVariableText + run_script ScriptCommand_PrintVariableText tx Text0738 tx Text0739 - run_script OWScript_SetFlagValue + run_script ScriptCommand_SetFlagValue db EVENT_FLAG_1F db $06 - run_script OWScript_AskQuestionJump + run_script ScriptCommand_AskQuestionJump tx Text072b dw .ows_dc1a - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text072c .ows_dc1a run_script Func_cf0c db $b8 dw .ows_dc21 - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text073a .ows_dc21 run_script Func_cf12 db $b8 dw .ows_dc28 - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text073b .ows_dc28 - run_script OWScript_MaxOutFlagValue + run_script ScriptCommand_MaxOutFlagValue db EVENT_FLAG_00 - run_script OWScript_SetFlagValue + run_script ScriptCommand_SetFlagValue db EVENT_FLAG_1F db $07 - run_script OWScript_ZeroOutFlagValue + run_script ScriptCommand_ZeroOutFlagValue db EVENT_FLAG_38 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text072f run_script Func_ccdc tx Text073c - run_script OWScript_TakeCard + run_script ScriptCommand_TakeCard db CHANSEY - run_script OWScript_GiveCard + run_script ScriptCommand_GiveCard db SURFING_PIKACHU2 - run_script OWScript_ShowCardReceivedScreen + run_script ScriptCommand_ShowCardReceivedScreen db SURFING_PIKACHU2 - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text073d .ows_dc3e - run_script OWScript_MaxOutFlagValue + run_script ScriptCommand_MaxOutFlagValue db EVENT_FLAG_39 - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text073e Preload_Ronald1InIshiharasHouse: ; dc43 (3:5c43) @@ -3722,27 +3722,27 @@ Preload_Ronald1InIshiharasHouse: ; dc43 (3:5c43) ccf ret -OWSequence_Ronald: ; dc4b (3:5c4b) +Script_Ronald: ; dc4b (3:5c4b) start_script - run_script OWScript_JumpIfFlagNonzero2 + run_script ScriptCommand_JumpIfFlagNonzero2 db EVENT_FLAG_4E dw .ows_dc55 - run_script OWScript_MaxOutFlagValue + run_script ScriptCommand_MaxOutFlagValue db EVENT_FLAG_4E - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text073f .ows_dc55 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0740 - run_script OWScript_AskQuestionJump + run_script ScriptCommand_AskQuestionJump tx Text0741 dw .ows_dc60 - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text0742 .ows_dc60 - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text0743 ; 0xdc63 @@ -3750,9 +3750,9 @@ OWSequence_Ronald: ; dc4b (3:5c4b) ; someone thinking that the Ronald script ended with more code execution ret -OWSequence_Clerk1: ; dc64 (3:5c64) +Script_Clerk1: ; dc64 (3:5c64) start_script - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text045a FightingClubLobbyAfterDuel: ; dc68 (3:5c68) @@ -3762,118 +3762,118 @@ FightingClubLobbyAfterDuel: ; dc68 (3:5c68) .after_duel_table db NPC_IMAKUNI db NPC_IMAKUNI - dw OWSequence_BeatImakuni - dw OWSequence_LostToImakuni + dw Script_BeatImakuni + dw Script_LostToImakuni db $00 INCROM $dc76, $dd0d -OWSequence_Imakuni: ; dd0d (3:5d0d) +Script_Imakuni: ; dd0d (3:5d0d) start_script - run_script OWScript_SetFlagValue + run_script ScriptCommand_SetFlagValue db EVENT_IMAKUNI_STATE db IMAKUNI_TALKED - run_script OWScript_JumpIfFlagZero2 + run_script ScriptCommand_JumpIfFlagZero2 db EVENT_TEMP_TALKED_TO_IMAKUNI dw NO_JUMP - run_script OWScript_PrintVariableText + run_script ScriptCommand_PrintVariableText tx Text0467 tx Text0468 - run_script OWScript_MaxOutFlagValue + run_script ScriptCommand_MaxOutFlagValue db EVENT_TEMP_TALKED_TO_IMAKUNI - run_script OWScript_AskQuestionJump + run_script ScriptCommand_AskQuestionJump tx Text0469 dw .declineDuel - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text046a - run_script OWScript_QuitScriptFully + run_script ScriptCommand_QuitScriptFully .declineDuel - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text046b - run_script OWScript_StartBattle + run_script ScriptCommand_StartBattle db PRIZES_6 db IMAKUNI_DECK_ID db MUSIC_IMAKUNI - run_script OWScript_QuitScriptFully + run_script ScriptCommand_QuitScriptFully ; 0xdd2d -OWSequence_BeatImakuni: ; dd2d (3:5d2d) +Script_BeatImakuni: ; dd2d (3:5d2d) start_script - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_IMAKUNI_WIN_COUNT db $07 dw .giveBoosters - run_script OWScript_IncrementFlagValue + run_script ScriptCommand_IncrementFlagValue db EVENT_IMAKUNI_WIN_COUNT - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_IMAKUNI_WIN_COUNT db $03 dw .threeWins - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_IMAKUNI_WIN_COUNT db $06 dw .sixWins .giveBoosters - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text046c - run_script OWScript_GiveOneOfEachTrainerBooster - run_script OWScript_Jump + run_script ScriptCommand_GiveOneOfEachTrainerBooster + run_script ScriptCommand_Jump dw .done .threeWins - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text046d - run_script OWScript_Jump + run_script ScriptCommand_Jump dw .giveImakuniCard .sixWins - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text046e .giveImakuniCard - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text046f - run_script OWScript_GiveCard + run_script ScriptCommand_GiveCard db IMAKUNI_CARD - run_script OWScript_ShowCardReceivedScreen + run_script ScriptCommand_ShowCardReceivedScreen db IMAKUNI_CARD .done - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0470 - run_script OWScript_Jump - dw OWJump_ImakuniCommon + run_script ScriptCommand_Jump + dw ScriptJump_ImakuniCommon -OWSequence_LostToImakuni: ; dd5c (3:5d5c) +Script_LostToImakuni: ; dd5c (3:5d5c) start_script - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0471 -OWJump_ImakuniCommon: ; dd60 (3:5d60) - run_script OWScript_CloseTextBox - run_script OWScript_JumpIfPlayerCoordMatches +ScriptJump_ImakuniCommon: ; dd60 (3:5d60) + run_script ScriptCommand_CloseTextBox + run_script ScriptCommand_JumpIfPlayerCoordMatches db 18 db 4 dw .ows_dd69 - run_script OWScript_Jump + run_script ScriptCommand_Jump dw .ows_dd6e .ows_dd69 - run_script OWScript_SetPlayerDirection + run_script ScriptCommand_SetPlayerDirection db EAST - run_script OWScript_MovePlayer + run_script ScriptCommand_MovePlayer db WEST db $01 .ows_dd6e - run_script OWScript_MoveActiveNPC + run_script ScriptCommand_MoveActiveNPC dw NPCMovement_dd78 run_script Func_cdcb - run_script OWScript_MaxOutFlagValue + run_script ScriptCommand_MaxOutFlagValue db EVENT_TEMP_BATTLED_IMAKUNI run_script Func_d408 db $09 run_script Func_d41d - run_script OWScript_QuitScriptFully + run_script ScriptCommand_QuitScriptFully ; 0xdd78 NPCMovement_dd78 ; dd78 (3:5d78) @@ -3909,96 +3909,96 @@ Preload_ImakuniInWaterClubLobby: ; e0b0 (3:60b0) ret ; 0xe0cf -OWSequence_Gal1: ; e0cf (3:60cf) +Script_Gal1: ; e0cf (3:60cf) start_script - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_12 db $02 dw .ows_e10e - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_12 db $00 dw NO_JUMP - run_script OWScript_PrintVariableText + run_script ScriptCommand_PrintVariableText tx Text041d tx Text041e - run_script OWScript_SetFlagValue + run_script ScriptCommand_SetFlagValue db EVENT_FLAG_12 db $01 - run_script OWScript_AskQuestionJump + run_script ScriptCommand_AskQuestionJump tx Text041f dw .ows_e0eb - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0420 - run_script OWScript_QuitScriptFully + run_script ScriptCommand_QuitScriptFully .ows_e0eb run_script Func_cf0c db $59 dw .ows_e0f3 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0421 - run_script OWScript_QuitScriptFully + run_script ScriptCommand_QuitScriptFully .ows_e0f3 run_script Func_cf12 db $59 dw .ows_e0fb - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0422 - run_script OWScript_QuitScriptFully + run_script ScriptCommand_QuitScriptFully .ows_e0fb - run_script OWScript_SetFlagValue + run_script ScriptCommand_SetFlagValue db EVENT_FLAG_12 db $02 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0423 run_script Func_ccdc tx Text0424 - run_script OWScript_TakeCard + run_script ScriptCommand_TakeCard db LAPRAS - run_script OWScript_GiveCard + run_script ScriptCommand_GiveCard db ARCANINE1 - run_script OWScript_ShowCardReceivedScreen + run_script ScriptCommand_ShowCardReceivedScreen db ARCANINE1 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0425 - run_script OWScript_QuitScriptFully + run_script ScriptCommand_QuitScriptFully .ows_e10e - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text0426 -OWSequence_Lass1: ; e111 (3:6111) +Script_Lass1: ; e111 (3:6111) start_script - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_14 db $01 dw .ows_e121 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0427 - run_script OWScript_SetFlagValue + run_script ScriptCommand_SetFlagValue db EVENT_FLAG_14 db $01 - run_script OWScript_SetFlagValue + run_script ScriptCommand_SetFlagValue db EVENT_IMAKUNI_STATE db IMAKUNI_MENTIONED - run_script OWScript_QuitScriptFully + run_script ScriptCommand_QuitScriptFully .ows_e121 - run_script OWScript_JumpIfFlagNotEqual + run_script ScriptCommand_JumpIfFlagNotEqual db EVENT_IMAKUNI_ROOM db IMAKUNI_WATER_CLUB dw .ows_e12d - run_script OWScript_JumpIfFlagNonzero2 + run_script ScriptCommand_JumpIfFlagNonzero2 db EVENT_TEMP_BATTLED_IMAKUNI dw .ows_e12d - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text0428 .ows_e12d - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text0429 Preload_Man2InWaterClubLobby: ; e130 (3:6130) @@ -4006,14 +4006,14 @@ Preload_Man2InWaterClubLobby: ; e130 (3:6130) cp JOSHUA_BEATEN ret -OWSequence_Man2: ; e137 (3:6137) +Script_Man2: ; e137 (3:6137) start_script - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text042a -OWSequence_Pappy2: ; e13b (3:613b) +Script_Pappy2: ; e13b (3:613b) start_script - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text042b WaterClubMovePlayer: ; e13f (3:613f) @@ -4025,8 +4025,8 @@ WaterClubMovePlayer: ; e13f (3:613f) ret nc ld a, NPC_JOSHUA ld [wTempNPC], a - ld bc, OWSequence_NotReadyToSeeAmy - jp SetNextNPCAndOWSequence + ld bc, Script_NotReadyToSeeAmy + jp SetNextNPCAndScript WaterClubAfterDuel: ;e157 (3:6157) ld hl, .after_duel_table @@ -4036,159 +4036,159 @@ WaterClubAfterDuel: ;e157 (3:6157) .after_duel_table db NPC_SARA db NPC_SARA - dw OWSequence_BeatSara - dw OWSequence_LostToSara + dw Script_BeatSara + dw Script_LostToSara db NPC_AMANDA db NPC_AMANDA - dw OWSequence_BeatAmanda - dw OWSequence_LostToAmanda + dw Script_BeatAmanda + dw Script_LostToAmanda db NPC_JOSHUA db NPC_JOSHUA - dw OWSequence_BeatJoshua - dw OWSequence_LostToJoshua + dw Script_BeatJoshua + dw Script_LostToJoshua db NPC_AMY db NPC_AMY - dw OWSequence_BeatAmy - dw OWSequence_LostToAmy + dw Script_BeatAmy + dw Script_LostToAmy db $00 -OWSequence_Sara: ; e177 (3:6177) +Script_Sara: ; e177 (3:6177) start_script - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text042c - run_script OWScript_AskQuestionJump + run_script ScriptCommand_AskQuestionJump tx Text042d dw .yes_duel - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text042e - run_script OWScript_QuitScriptFully + run_script ScriptCommand_QuitScriptFully .yes_duel - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text042f - run_script OWScript_StartBattle + run_script ScriptCommand_StartBattle db PRIZES_2 db WATERFRONT_POKEMON_DECK_ID db MUSIC_DUEL_THEME_1 - run_script OWScript_QuitScriptFully + run_script ScriptCommand_QuitScriptFully -OWSequence_BeatSara: ; e18c (3:618c) +Script_BeatSara: ; e18c (3:618c) start_script - run_script OWScript_MaxOutFlagValue + run_script ScriptCommand_MaxOutFlagValue db EVENT_BEAT_SARA - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0430 - run_script OWScript_GiveBoosterPacks + run_script ScriptCommand_GiveBoosterPacks db BOOSTER_COLOSSEUM_WATER db BOOSTER_COLOSSEUM_WATER db NO_BOOSTER - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0431 - run_script OWScript_QuitScriptFully + run_script ScriptCommand_QuitScriptFully -OWSequence_LostToSara: ; e19a (03:619a) +Script_LostToSara: ; e19a (03:619a) start_script - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text0432 -OWSequence_Amanda: ; e19e (03:619e) +Script_Amanda: ; e19e (03:619e) start_script - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0433 - run_script OWScript_AskQuestionJump + run_script ScriptCommand_AskQuestionJump tx Text0434 dw .yes_duel - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0435 - run_script OWScript_QuitScriptFully + run_script ScriptCommand_QuitScriptFully .yes_duel - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0436 - run_script OWScript_StartBattle + run_script ScriptCommand_StartBattle db PRIZES_3 db LONELY_FRIENDS_DECK_ID db MUSIC_DUEL_THEME_1 - run_script OWScript_QuitScriptFully + run_script ScriptCommand_QuitScriptFully -OWSequence_BeatAmanda: ; e1b3 (03:61b3) +Script_BeatAmanda: ; e1b3 (03:61b3) start_script - run_script OWScript_MaxOutFlagValue + run_script ScriptCommand_MaxOutFlagValue db EVENT_BEAT_AMANDA - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0437 - run_script OWScript_GiveBoosterPacks + run_script ScriptCommand_GiveBoosterPacks db BOOSTER_MYSTERY_LIGHTNING_COLORLESS db BOOSTER_MYSTERY_LIGHTNING_COLORLESS db NO_BOOSTER - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0438 - run_script OWScript_QuitScriptFully + run_script ScriptCommand_QuitScriptFully -OWSequence_LostToAmanda: ; e1c1 (03:61c1) +Script_LostToAmanda: ; e1c1 (03:61c1) start_script - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text0439 -OWSequence_NotReadyToSeeAmy: ; e1c5 (03:61c5) +Script_NotReadyToSeeAmy: ; e1c5 (03:61c5) start_script - run_script OWScript_JumpIfPlayerCoordMatches + run_script ScriptCommand_JumpIfPlayerCoordMatches db $12 db $08 dw .ows_e1ec - run_script OWScript_JumpIfPlayerCoordMatches + run_script ScriptCommand_JumpIfPlayerCoordMatches db $14 db $08 dw .ows_e1f2 - run_script OWScript_JumpIfPlayerCoordMatches + run_script ScriptCommand_JumpIfPlayerCoordMatches db $18 db $08 dw .ows_e1f8 .ows_e1d5 - run_script OWScript_MovePlayer + run_script ScriptCommand_MovePlayer db SOUTH db $04 - run_script OWScript_MoveActiveNPC + run_script ScriptCommand_MoveActiveNPC dw NPCMovement_e213 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text043a - run_script OWScript_JumpIfPlayerCoordMatches + run_script ScriptCommand_JumpIfPlayerCoordMatches db $12 db $0a dw .ows_e1fe - run_script OWScript_JumpIfPlayerCoordMatches + run_script ScriptCommand_JumpIfPlayerCoordMatches db $14 db $0a dw .ows_e202 - run_script OWScript_MoveActiveNPC + run_script ScriptCommand_MoveActiveNPC dw NPCMovement_e215 - run_script OWScript_QuitScriptFully + run_script ScriptCommand_QuitScriptFully .ows_e1ec - run_script OWScript_MoveActiveNPC + run_script ScriptCommand_MoveActiveNPC dw NPCMovement_e206 - run_script OWScript_Jump + run_script ScriptCommand_Jump dw .ows_e1d5 .ows_e1f2 - run_script OWScript_MoveActiveNPC + run_script ScriptCommand_MoveActiveNPC dw NPCMovement_e20b - run_script OWScript_Jump + run_script ScriptCommand_Jump dw .ows_e1d5 .ows_e1f8 - run_script OWScript_MoveActiveNPC + run_script ScriptCommand_MoveActiveNPC dw NPCMovement_e20f - run_script OWScript_Jump + run_script ScriptCommand_Jump dw .ows_e1d5 .ows_e1fe - run_script OWScript_MoveActiveNPC + run_script ScriptCommand_MoveActiveNPC dw NPCMovement_e218 - run_script OWScript_QuitScriptFully + run_script ScriptCommand_QuitScriptFully .ows_e202 - run_script OWScript_MoveActiveNPC + run_script ScriptCommand_MoveActiveNPC dw NPCMovement_e219 - run_script OWScript_QuitScriptFully + run_script ScriptCommand_QuitScriptFully NPCMovement_e206: ; e206 (3:6206) db NORTH @@ -4227,121 +4227,121 @@ NPCMovement_e219: ; e219 (3:6219) db SOUTH | NO_MOVE db $ff -OWSequence_Joshua: ; e21c (3:621c) +Script_Joshua: ; e21c (3:621c) start_script - run_script OWScript_JumpIfFlagZero2 + run_script ScriptCommand_JumpIfFlagZero2 db EVENT_BEAT_AMANDA dw .sara_and_amanda_not_beaten - run_script OWScript_JumpIfFlagZero2 + run_script ScriptCommand_JumpIfFlagZero2 db EVENT_BEAT_SARA dw .sara_and_amanda_not_beaten - run_script OWScript_Jump + run_script ScriptCommand_Jump dw .beat_sara_and_amanda .sara_and_amanda_not_beaten - run_script OWScript_SetFlagValue + run_script ScriptCommand_SetFlagValue db EVENT_JOSHUA_STATE db JOSHUA_TALKED - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text043b - run_script OWScript_QuitScriptFully + run_script ScriptCommand_QuitScriptFully .beat_sara_and_amanda - run_script OWScript_JumpIfFlagNonzero1 + run_script ScriptCommand_JumpIfFlagNonzero1 db EVENT_JOSHUA_STATE dw .already_talked - run_script OWScript_SetFlagValue + run_script ScriptCommand_SetFlagValue db EVENT_JOSHUA_STATE db JOSHUA_TALKED - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text043b - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text043c .already_talked - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_JOSHUA_STATE db JOSHUA_TALKED dw NO_JUMP - run_script OWScript_PrintVariableText + run_script ScriptCommand_PrintVariableText tx Text043d tx Text043e - run_script OWScript_AskQuestionJump + run_script ScriptCommand_AskQuestionJump tx Text043f dw .startDuel - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_JOSHUA_STATE db JOSHUA_TALKED dw NO_JUMP - run_script OWScript_PrintVariableText + run_script ScriptCommand_PrintVariableText tx Text0440 tx Text0441 - run_script OWScript_QuitScriptFully + run_script ScriptCommand_QuitScriptFully .startDuel: - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0442 - run_script OWScript_TryGivePCPack + run_script ScriptCommand_TryGivePCPack db $04 - run_script OWScript_StartBattle + run_script ScriptCommand_StartBattle db PRIZES_4 db SOUND_OF_THE_WAVES_DECK_ID db MUSIC_DUEL_THEME_1 - run_script OWScript_QuitScriptFully + run_script ScriptCommand_QuitScriptFully -OWSequence_LostToJoshua: ; e260 (3:6260) +Script_LostToJoshua: ; e260 (3:6260) start_script - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_JOSHUA_STATE db JOSHUA_TALKED dw NO_JUMP - run_script OWScript_PrintVariableText + run_script ScriptCommand_PrintVariableText tx Text0443 tx Text0444 - run_script OWScript_QuitScriptFully + run_script ScriptCommand_QuitScriptFully -OWSequence_BeatJoshua: ; e26c (3:626c) +Script_BeatJoshua: ; e26c (3:626c) start_script - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_JOSHUA_STATE db JOSHUA_TALKED dw NO_JUMP - run_script OWScript_PrintVariableText + run_script ScriptCommand_PrintVariableText tx Text0445 tx Text0446 - run_script OWScript_GiveBoosterPacks + run_script ScriptCommand_GiveBoosterPacks db BOOSTER_MYSTERY_WATER_COLORLESS db BOOSTER_MYSTERY_WATER_COLORLESS db NO_BOOSTER - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_JOSHUA_STATE db JOSHUA_TALKED dw NO_JUMP - run_script OWScript_PrintVariableText + run_script ScriptCommand_PrintVariableText tx Text0447 tx Text0448 - run_script OWScript_JumpIfFlagNotEqual + run_script ScriptCommand_JumpIfFlagNotEqual db EVENT_JOSHUA_STATE db JOSHUA_BEATEN dw .firstJoshuaWin - run_script OWScript_QuitScriptFully + run_script ScriptCommand_QuitScriptFully .firstJoshuaWin: - run_script OWScript_SetFlagValue + run_script ScriptCommand_SetFlagValue db EVENT_JOSHUA_STATE db JOSHUA_BEATEN - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0449 - run_script OWScript_CloseTextBox - run_script OWScript_MoveActiveNPCByDirection + run_script ScriptCommand_CloseTextBox + run_script ScriptCommand_MoveActiveNPCByDirection dw NPCMovementTable_e2a1 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text044a run_script Func_cfc6 db $00 - run_script OWScript_CloseAdvancedTextBox - run_script OWScript_SetNextNPCandOWSequence + run_script ScriptCommand_CloseAdvancedTextBox + run_script ScriptCommand_SetNextNPCandScript db NPC_AMY - dw OWSequence_MeetAmy - run_script OWScript_EndScriptLoop1 + dw Script_MeetAmy + run_script ScriptCommand_EndScriptLoop1 ret NPCMovementTable_e2a1: ; e2a1 (3:62a1) @@ -4378,24 +4378,24 @@ Preload_Amy: ; e2ad (3:62ad) scf ret -OWSequence_MeetAmy: ; e2d1 (3:62d1) +Script_MeetAmy: ; e2d1 (3:62d1) start_script - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text044b - run_script OWScript_SetDialogName + run_script ScriptCommand_SetDialogName db NPC_JOSHUA - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text044c - run_script OWScript_SetDialogName + run_script ScriptCommand_SetDialogName db NPC_AMY - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text044d - run_script OWScript_CloseTextBox + run_script ScriptCommand_CloseTextBox run_script Func_d095 db $09 db $2f db $10 - run_script OWScript_DoFrames + run_script ScriptCommand_DoFrames db $20 run_script Func_d095 db $04 @@ -4404,97 +4404,97 @@ OWSequence_MeetAmy: ; e2d1 (3:62d1) run_script Func_d0be db $14 db $04 - run_script OWScript_SetPlayerDirection + run_script ScriptCommand_SetPlayerDirection db $03 - run_script OWScript_MovePlayer + run_script ScriptCommand_MovePlayer db WEST db $01 - run_script OWScript_SetPlayerDirection + run_script ScriptCommand_SetPlayerDirection db $00 - run_script OWScript_MovePlayer + run_script ScriptCommand_MovePlayer db NORTH db $01 - run_script OWScript_MovePlayer + run_script ScriptCommand_MovePlayer db NORTH db $01 - run_script OWScript_MoveArbitraryNPC + run_script ScriptCommand_MoveArbitraryNPC db NPC_JOSHUA dw NPCMovement_e2ab - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text044e - run_script OWScript_Jump - dw OWSequence_Amy.askConfirmDuel + run_script ScriptCommand_Jump + dw Script_Amy.askConfirmDuel -OWSequence_Amy: ; e304 (3:6304) +Script_Amy: ; e304 (3:6304) start_script - run_script OWScript_JumpIfFlagNonzero2 + run_script ScriptCommand_JumpIfFlagNonzero2 db EVENT_BEAT_AMY - dw OWJump_TalkToAmyAgain - run_script OWScript_PrintTextString + dw ScriptJump_TalkToAmyAgain + run_script ScriptCommand_PrintTextString tx Text044f .askConfirmDuel - run_script OWScript_AskQuestionJump + run_script ScriptCommand_AskQuestionJump tx Text0450 dw .startDuel .denyDuel - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0451 run_script Func_d0d9 db $14 db $04 - dw OWSequence_LostToAmy.ows_e34e - run_script OWScript_QuitScriptFully + dw Script_LostToAmy.ows_e34e + run_script ScriptCommand_QuitScriptFully .startDuel - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0452 - run_script OWScript_StartBattle + run_script ScriptCommand_StartBattle db PRIZES_6 db GO_GO_RAIN_DANCE_DECK_ID db MUSIC_DUEL_THEME_2 - run_script OWScript_QuitScriptFully + run_script ScriptCommand_QuitScriptFully -OWSequence_BeatAmy: ; e322 (3:6322) +Script_BeatAmy: ; e322 (3:6322) start_script - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0453 - run_script OWScript_JumpIfFlagNonzero2 + run_script ScriptCommand_JumpIfFlagNonzero2 db EVENT_BEAT_AMY dw .beatAmyCommon - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0454 - run_script OWScript_MaxOutFlagValue + run_script ScriptCommand_MaxOutFlagValue db EVENT_BEAT_AMY - run_script OWScript_TryGiveMedalPCPacks + run_script ScriptCommand_TryGiveMedalPCPacks run_script Func_d125 db EVENT_BEAT_AMY run_script Func_d435 db $03 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0455 .beatAmyCommon - run_script OWScript_GiveBoosterPacks + run_script ScriptCommand_GiveBoosterPacks db BOOSTER_LABORATORY_WATER db BOOSTER_LABORATORY_WATER db NO_BOOSTER - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0456 run_script Func_d0d9 db $14 db $04 - dw OWSequence_LostToAmy.ows_e34e - run_script OWScript_QuitScriptFully + dw Script_LostToAmy.ows_e34e + run_script ScriptCommand_QuitScriptFully -OWSequence_LostToAmy: ; e344 (3:6344) +Script_LostToAmy: ; e344 (3:6344) start_script - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0457 run_script Func_d0d9 db $14 db $04 dw .ows_e34e - run_script OWScript_QuitScriptFully + run_script ScriptCommand_QuitScriptFully .ows_e34e run_script Func_d095 @@ -4504,25 +4504,25 @@ OWSequence_LostToAmy: ; e344 (3:6344) run_script Func_d0be db $16 db $04 - run_script OWScript_QuitScriptFully + run_script ScriptCommand_QuitScriptFully -OWJump_TalkToAmyAgain: ; e356 (3:6356) - run_script OWScript_PrintTextString +ScriptJump_TalkToAmyAgain: ; e356 (3:6356) + run_script ScriptCommand_PrintTextString tx Text0458 - run_script OWScript_AskQuestionJump + run_script ScriptCommand_AskQuestionJump tx Text0450 dw .startDuel - run_script OWScript_Jump - dw OWSequence_Amy.denyDuel + run_script ScriptCommand_Jump + dw Script_Amy.denyDuel .startDuel - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0459 - run_script OWScript_StartBattle + run_script ScriptCommand_StartBattle db PRIZES_6 db GO_GO_RAIN_DANCE_DECK_ID db MUSIC_DUEL_THEME_2 - run_script OWScript_QuitScriptFully + run_script ScriptCommand_QuitScriptFully ; 0xe369 INCROM $e369, $e525 @@ -4560,7 +4560,7 @@ FindEndOfBattleScript: ; e52c (3:652c) ld c, [hl] inc hl ld b, [hl] - jp SetNextNPCAndOWSequence + jp SetNextNPCAndScript ; 0xe553 GrassClubEntranceAfterDuelTable: ; e553 (3:6553) @@ -4571,13 +4571,13 @@ GrassClubEntranceAfterDuelTable: ; e553 (3:6553) db NPC_RONALD2 db NPC_RONALD2 - dw OWSequence_BeatFirstRonaldFight - dw OWSequence_LostToFirstRonaldFight + dw Script_BeatFirstRonaldFight + dw Script_LostToFirstRonaldFight db NPC_RONALD3 db NPC_RONALD3 - dw OWSequence_BeatSecondRonaldFight - dw OWSequence_LostToSecondRonaldFight + dw Script_BeatSecondRonaldFight + dw Script_LostToSecondRonaldFight db $00 INCROM $e566, $e5c4 @@ -4590,246 +4590,246 @@ GrassClubLobbyAfterDuel: ; e5c4 (3:65c4) .after_duel_table db NPC_BRITTANY db NPC_BRITTANY - dw OWSequence_BeatBrittany - dw OWSequence_LostToBrittany + dw Script_BeatBrittany + dw Script_LostToBrittany db $00 -OWSequence_Brittany: ; e5d2 (3:65d2) +Script_Brittany: ; e5d2 (3:65d2) start_script - run_script OWScript_JumpIfFlagLessThan + run_script ScriptCommand_JumpIfFlagLessThan db EVENT_FLAG_35 db $01 dw NO_JUMP - run_script OWScript_PrintVariableText + run_script ScriptCommand_PrintVariableText tx Text06e0 tx Text06e1 - run_script OWScript_AskQuestionJump + run_script ScriptCommand_AskQuestionJump tx Text06e2 dw .wantToDuel - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text06e3 - run_script OWScript_QuitScriptFully + run_script ScriptCommand_QuitScriptFully .wantToDuel - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text06e4 - run_script OWScript_StartBattle + run_script ScriptCommand_StartBattle db PRIZES_4 db ETCETERA_DECK_ID db MUSIC_DUEL_THEME_1 - run_script OWScript_QuitScriptFully + run_script ScriptCommand_QuitScriptFully -OWSequence_BeatBrittany: ; e5ee (3:65ee) +Script_BeatBrittany: ; e5ee (3:65ee) start_script - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text06e5 - run_script OWScript_GiveBoosterPacks + run_script ScriptCommand_GiveBoosterPacks db BOOSTER_MYSTERY_GRASS_COLORLESS db BOOSTER_MYSTERY_GRASS_COLORLESS db NO_BOOSTER - run_script OWScript_JumpIfFlagLessThan + run_script ScriptCommand_JumpIfFlagLessThan db EVENT_FLAG_35 db $02 dw NO_JUMP - run_script OWScript_PrintVariableText + run_script ScriptCommand_PrintVariableText tx Text06e6 tx Text06e7 - run_script OWScript_MaxOutFlagValue + run_script ScriptCommand_MaxOutFlagValue db FLAG_BEAT_BRITTANY - run_script OWScript_JumpIfFlagNotLessThan + run_script ScriptCommand_JumpIfFlagNotLessThan db EVENT_FLAG_35 db $02 dw .finishSequence - run_script OWScript_JumpIfFlagZero2 + run_script ScriptCommand_JumpIfFlagZero2 db EVENT_FLAG_3A dw .finishSequence - run_script OWScript_JumpIfFlagZero2 + run_script ScriptCommand_JumpIfFlagZero2 db EVENT_FLAG_3B dw .finishSequence - run_script OWScript_SetFlagValue + run_script ScriptCommand_SetFlagValue db EVENT_FLAG_35 db $01 - run_script OWScript_MaxOutFlagValue + run_script ScriptCommand_MaxOutFlagValue db EVENT_FLAG_1E - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text06e8 .finishSequence - run_script OWScript_QuitScriptFully + run_script ScriptCommand_QuitScriptFully -OWSequence_LostToBrittany: ; e618 (3:6618) +Script_LostToBrittany: ; e618 (3:6618) start_script - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text06e9 ; 0xe61c -OWSequence_e61c: ; e61c (3:661c) - run_script OWScript_PrintTextQuitFully +Script_e61c: ; e61c (3:661c) + run_script ScriptCommand_PrintTextQuitFully tx Text06ea -OWSequence_e61f: ; e61f (3:661f) +Script_e61f: ; e61f (3:661f) start_script - run_script OWScript_JumpIfFlagNonzero2 + run_script ScriptCommand_JumpIfFlagNonzero2 db EVENT_FLAG_04 - dw OWSequence_e61c - run_script OWScript_JumpIfFlagNotLessThan + dw Script_e61c + run_script ScriptCommand_JumpIfFlagNotLessThan db EVENT_FLAG_37 db $06 - dw OWSequence_e61c - run_script OWScript_JumpIfFlagNotLessThan + dw Script_e61c + run_script ScriptCommand_JumpIfFlagNotLessThan db EVENT_FLAG_37 db $04 dw .ows_e6a1 - run_script OWScript_JumpIfFlagNotLessThan + run_script ScriptCommand_JumpIfFlagNotLessThan db EVENT_FLAG_37 db $02 dw .ows_e66a - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_37 db $00 dw NO_JUMP - run_script OWScript_PrintVariableText + run_script ScriptCommand_PrintVariableText tx Text06eb tx Text06ec - run_script OWScript_SetFlagValue + run_script ScriptCommand_SetFlagValue db EVENT_FLAG_37 db $01 - run_script OWScript_AskQuestionJump + run_script ScriptCommand_AskQuestionJump tx Text06ed dw .ows_e648 - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text06ee .ows_e648 run_script Func_cf0c db $1c dw .ows_e64f - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text06ef .ows_e64f run_script Func_cf12 db $1c dw .ows_e656 - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text06f0 .ows_e656 - run_script OWScript_MaxOutFlagValue + run_script ScriptCommand_MaxOutFlagValue db EVENT_FLAG_04 - run_script OWScript_SetFlagValue + run_script ScriptCommand_SetFlagValue db EVENT_FLAG_37 db $02 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text06f1 run_script Func_ccdc tx Text06f2 - run_script OWScript_TakeCard + run_script ScriptCommand_TakeCard db ODDISH - run_script OWScript_GiveCard + run_script ScriptCommand_GiveCard db VILEPLUME - run_script OWScript_ShowCardReceivedScreen + run_script ScriptCommand_ShowCardReceivedScreen db VILEPLUME - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text06f3 .ows_e66a - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_37 db $02 dw NO_JUMP - run_script OWScript_PrintVariableText + run_script ScriptCommand_PrintVariableText tx Text06f4 tx Text06f5 - run_script OWScript_SetFlagValue + run_script ScriptCommand_SetFlagValue db EVENT_FLAG_37 db $03 - run_script OWScript_AskQuestionJump + run_script ScriptCommand_AskQuestionJump tx Text06ed dw .ows_e67f - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text06f6 .ows_e67f run_script Func_cf0c db $ab dw .ows_e686 - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text06f7 .ows_e686 run_script Func_cf12 db $ab dw .ows_e68d - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text06f8 .ows_e68d - run_script OWScript_MaxOutFlagValue + run_script ScriptCommand_MaxOutFlagValue db EVENT_FLAG_04 - run_script OWScript_SetFlagValue + run_script ScriptCommand_SetFlagValue db EVENT_FLAG_37 db $04 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text06f9 run_script Func_ccdc tx Text06fa - run_script OWScript_TakeCard + run_script ScriptCommand_TakeCard db CLEFAIRY - run_script OWScript_GiveCard + run_script ScriptCommand_GiveCard db PIKACHU3 - run_script OWScript_ShowCardReceivedScreen + run_script ScriptCommand_ShowCardReceivedScreen db PIKACHU3 - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text06f3 .ows_e6a1 - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_37 db $04 dw NO_JUMP - run_script OWScript_PrintVariableText + run_script ScriptCommand_PrintVariableText tx Text06fb tx Text06fc - run_script OWScript_SetFlagValue + run_script ScriptCommand_SetFlagValue db EVENT_FLAG_37 db $05 - run_script OWScript_AskQuestionJump + run_script ScriptCommand_AskQuestionJump tx Text06ed dw .ows_e6b6 - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text06fd .ows_e6b6 run_script Func_cf0c db $32 dw .ows_e6bd - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text06fe .ows_e6bd run_script Func_cf12 db $32 dw .ows_e6c4 - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text06ff .ows_e6c4 - run_script OWScript_MaxOutFlagValue + run_script ScriptCommand_MaxOutFlagValue db EVENT_FLAG_04 - run_script OWScript_SetFlagValue + run_script ScriptCommand_SetFlagValue db EVENT_FLAG_37 db $06 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0700 run_script Func_ccdc tx Text0701 - run_script OWScript_TakeCard + run_script ScriptCommand_TakeCard db CHARIZARD - run_script OWScript_GiveCard + run_script ScriptCommand_GiveCard db BLASTOISE - run_script OWScript_ShowCardReceivedScreen + run_script ScriptCommand_ShowCardReceivedScreen db BLASTOISE - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text06f3 ; 0xe6d8 @@ -4842,13 +4842,13 @@ ClubEntranceAfterDuel: ; e7f6 (3:67f6) .after_duel_table db NPC_RONALD2 db NPC_RONALD2 - dw OWSequence_BeatFirstRonaldFight - dw OWSequence_LostToFirstRonaldFight + dw Script_BeatFirstRonaldFight + dw Script_LostToFirstRonaldFight db NPC_RONALD3 db NPC_RONALD3 - dw OWSequence_BeatSecondRonaldFight - dw OWSequence_LostToSecondRonaldFight + dw Script_BeatSecondRonaldFight + dw Script_LostToSecondRonaldFight db $00 ; A Ronald is already loaded or not loaded depending on Pre-Load scripts @@ -4864,8 +4864,8 @@ TryFirstRonaldEncounter: ; e813 (3:6813) ld [wTempNPC], a call FindLoadedNPC ret c - ld bc, OWSequence_FirstRonaldEncounter - jp SetNextNPCAndOWSequence + ld bc, Script_FirstRonaldEncounter + jp SetNextNPCAndScript TryFirstRonaldFight: ; e822 (3:6822) ld a, NPC_RONALD2 @@ -4875,8 +4875,8 @@ TryFirstRonaldFight: ; e822 (3:6822) get_flag_value EVENT_FLAG_4C or a ret nz - ld bc, OWSequence_FirstRonaldFight - jp SetNextNPCAndOWSequence + ld bc, Script_FirstRonaldFight + jp SetNextNPCAndScript TrySecondRonaldFight: ; e837 (3:6837) ld a, NPC_RONALD3 @@ -4886,56 +4886,56 @@ TrySecondRonaldFight: ; e837 (3:6837) get_flag_value EVENT_FLAG_4D or a ret nz - ld bc, OWSequenceSecondRonaldFight - jp SetNextNPCAndOWSequence + ld bc, ScriptSecondRonaldFight + jp SetNextNPCAndScript ; 0xe84c INCROM $e84c, $e862 -OWSequence_FirstRonaldEncounter: ; e862 (3:6862) +Script_FirstRonaldEncounter: ; e862 (3:6862) start_script - run_script OWScript_MaxOutFlagValue + run_script ScriptCommand_MaxOutFlagValue db EVENT_FLAG_4B - run_script OWScript_MoveActiveNPC + run_script ScriptCommand_MoveActiveNPC dw NPCMovement_e894 run_script Func_d135 db $00 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0645 - run_script OWScript_CloseTextBox - run_script OWScript_MovePlayer + run_script ScriptCommand_CloseTextBox + run_script ScriptCommand_MovePlayer db NORTH db $01 - run_script OWScript_MovePlayer + run_script ScriptCommand_MovePlayer db NORTH db $01 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0646 - run_script OWScript_AskQuestionJumpDefaultYes + run_script ScriptCommand_AskQuestionJumpDefaultYes dw 0000 dw .ows_e882 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0647 - run_script OWScript_Jump + run_script ScriptCommand_Jump dw .ows_e885 .ows_e882 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0648 .ows_e885 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0649 - run_script OWScript_CloseTextBox - run_script OWScript_SetPlayerDirection + run_script ScriptCommand_CloseTextBox + run_script ScriptCommand_SetPlayerDirection db $03 - run_script OWScript_MovePlayer + run_script ScriptCommand_MovePlayer db EAST db $04 - run_script OWScript_MoveActiveNPC + run_script ScriptCommand_MoveActiveNPC dw NPCMovement_e894 run_script Func_cdcb run_script Func_d41d - run_script OWScript_QuitScriptFully + run_script ScriptCommand_QuitScriptFully NPCMovement_e894: ; e894 (3:6894) db SOUTH @@ -4948,72 +4948,72 @@ NPCMovement_e894: ; e894 (3:6894) INCROM $e89a, $e8c0 -OWSequence_FirstRonaldFight: ; e8c0 (3:68c0) +Script_FirstRonaldFight: ; e8c0 (3:68c0) start_script - run_script OWScript_MoveActiveNPC + run_script ScriptCommand_MoveActiveNPC dw NPCMovement_e905 - run_script OWScript_DoFrames + run_script ScriptCommand_DoFrames db $3c - run_script OWScript_MoveActiveNPC + run_script ScriptCommand_MoveActiveNPC dw NPCMovement_e90d - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text064a - run_script OWScript_JumpIfPlayerCoordMatches + run_script ScriptCommand_JumpIfPlayerCoordMatches db $08 db $02 dw $68d6 - run_script OWScript_SetPlayerDirection + run_script ScriptCommand_SetPlayerDirection db WEST - run_script OWScript_MovePlayer + run_script ScriptCommand_MovePlayer db WEST db $01 - run_script OWScript_SetPlayerDirection + run_script ScriptCommand_SetPlayerDirection db SOUTH - run_script OWScript_MovePlayer + run_script ScriptCommand_MovePlayer db SOUTH db $01 - run_script OWScript_MovePlayer + run_script ScriptCommand_MovePlayer db SOUTH db $01 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text064b - run_script OWScript_SetFlagValue + run_script ScriptCommand_SetFlagValue db $4c db $01 - run_script OWScript_StartBattle + run_script ScriptCommand_StartBattle db PRIZES_6 db IM_RONALD_DECK_ID db MUSIC_RONALD - run_script OWScript_QuitScriptFully + run_script ScriptCommand_QuitScriptFully -OWSequence_BeatFirstRonaldFight: ; e8e9 (3:68e9) +Script_BeatFirstRonaldFight: ; e8e9 (3:68e9) start_script - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text064c - run_script OWScript_GiveCard + run_script ScriptCommand_GiveCard db JIGGLYPUFF1 - run_script OWScript_ShowCardReceivedScreen + run_script ScriptCommand_ShowCardReceivedScreen db JIGGLYPUFF1 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text064d - run_script OWScript_Jump - dw OWJump_FinishedFirstRonaldFight + run_script ScriptCommand_Jump + dw ScriptJump_FinishedFirstRonaldFight -OWSequence_LostToFirstRonaldFight: ; e8f7 (3:68f7) +Script_LostToFirstRonaldFight: ; e8f7 (3:68f7) start_script - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text064e -OWJump_FinishedFirstRonaldFight - run_script OWScript_SetFlagValue +ScriptJump_FinishedFirstRonaldFight + run_script ScriptCommand_SetFlagValue db EVENT_FLAG_4C db $02 - run_script OWScript_CloseTextBox - run_script OWScript_MoveActiveNPC + run_script ScriptCommand_CloseTextBox + run_script ScriptCommand_MoveActiveNPC dw NPCMovement_e90f run_script Func_cdcb run_script Func_d41d - run_script OWScript_QuitScriptFully + run_script ScriptCommand_QuitScriptFully NPCMovement_e905: ; e905 (3:6905) db EAST @@ -5040,73 +5040,73 @@ NPCMovement_e90f: ; e90f (3:690f) INCROM $e915, $e91e -OWSequenceSecondRonaldFight: ; e91e (3:691e) +ScriptSecondRonaldFight: ; e91e (3:691e) start_script - run_script OWScript_MoveActiveNPC + run_script ScriptCommand_MoveActiveNPC dw NPCMovement_e905 - run_script OWScript_DoFrames + run_script ScriptCommand_DoFrames db 60 - run_script OWScript_MoveActiveNPC + run_script ScriptCommand_MoveActiveNPC dw NPCMovement_e90d - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text064f - run_script OWScript_JumpIfPlayerCoordMatches + run_script ScriptCommand_JumpIfPlayerCoordMatches db $08 db $02 dw .ows_6934 - run_script OWScript_SetPlayerDirection + run_script ScriptCommand_SetPlayerDirection db WEST - run_script OWScript_MovePlayer + run_script ScriptCommand_MovePlayer db WEST db $01 .ows_6934 - run_script OWScript_SetPlayerDirection + run_script ScriptCommand_SetPlayerDirection db SOUTH - run_script OWScript_MovePlayer + run_script ScriptCommand_MovePlayer db SOUTH db $01 - run_script OWScript_MovePlayer + run_script ScriptCommand_MovePlayer db SOUTH db $01 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0650 - run_script OWScript_SetFlagValue + run_script ScriptCommand_SetFlagValue db EVENT_FLAG_4D db $01 - run_script OWScript_StartBattle + run_script ScriptCommand_StartBattle db PRIZES_6 db POWERFUL_RONALD_DECK_ID db MUSIC_RONALD - run_script OWScript_QuitScriptFully + run_script ScriptCommand_QuitScriptFully -OWSequence_BeatSecondRonaldFight: ; e947 (3:6947) +Script_BeatSecondRonaldFight: ; e947 (3:6947) start_script - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0651 - run_script OWScript_GiveCard + run_script ScriptCommand_GiveCard db SUPER_ENERGY_RETRIEVAL - run_script OWScript_ShowCardReceivedScreen + run_script ScriptCommand_ShowCardReceivedScreen db SUPER_ENERGY_RETRIEVAL - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0652 - run_script OWScript_Jump - dw OWJump_FinishedSecondRonaldFight + run_script ScriptCommand_Jump + dw ScriptJump_FinishedSecondRonaldFight -OWSequence_LostToSecondRonaldFight: ; e955 (3:6955) +Script_LostToSecondRonaldFight: ; e955 (3:6955) start_script - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0653 -OWJump_FinishedSecondRonaldFight ; e959 (3:6959) - run_script OWScript_SetFlagValue +ScriptJump_FinishedSecondRonaldFight ; e959 (3:6959) + run_script ScriptCommand_SetFlagValue db EVENT_FLAG_4D db $02 - run_script OWScript_CloseTextBox - run_script OWScript_MoveActiveNPC + run_script ScriptCommand_CloseTextBox + run_script ScriptCommand_MoveActiveNPC dw NPCMovement_e90f run_script Func_cdcb run_script Func_d41d - run_script OWScript_QuitScriptFully + run_script ScriptCommand_QuitScriptFully ; 0xe963 INCROM $e963, $ed57 @@ -5118,12 +5118,12 @@ FireClubPressedA: ; ed57 (3:6d57) SlowpokePaintingObjectTable: ; ed5e (3:6d5e) db 16, 2, NORTH - dw OWSequence_ee76 + dw Script_ee76 db $00 ; Given a table with data of the form: -; X, Y, Dir, OWSequence -; Searches to try to find a match, and starts an OWSequence if possible +; X, Y, Dir, Script +; Searches to try to find a match, and starts a Script if possible FindExtraInteractableObjects: ; ed64 (3:6d64) ld de, $5 .findObjectMatchLoop @@ -5152,32 +5152,32 @@ FindExtraInteractableObjects: ; ed64 (3:6d64) inc hl ld b, [hl] pop hl - call SetNextOWSequence + call SetNextScript scf ret ; 0xed8d INCROM $ed8d, $ee76 -OWSequence_ee76: ; ee76 (3:6e76) +Script_ee76: ; ee76 (3:6e76) start_script - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_21 db $01 dw .ows_ee7d - run_script OWScript_QuitScriptFully + run_script ScriptCommand_QuitScriptFully .ows_ee7d - run_script OWScript_SetFlagValue + run_script ScriptCommand_SetFlagValue db EVENT_FLAG_21 db $02 run_script Func_ccdc tx Text06a2 - run_script OWScript_GiveCard + run_script ScriptCommand_GiveCard db SLOWPOKE1 - run_script OWScript_ShowCardReceivedScreen + run_script ScriptCommand_ShowCardReceivedScreen db SLOWPOKE1 - run_script OWScript_QuitScriptFully + run_script ScriptCommand_QuitScriptFully ; 0xee88 INCROM $ee88, $ef96 @@ -5259,77 +5259,77 @@ Preload_Clerk9: ; ef96 (3:6f96) scf ret -OWSequence_Clerk9: ; f025 (3:7025) +Script_Clerk9: ; f025 (3:7025) start_script - run_script OWScript_JumpIfFlagZero1 + run_script ScriptCommand_JumpIfFlagZero1 db EVENT_FLAG_3F dw .ows_f066 - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_41 db $07 dw .ows_f069 - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_41 db $03 dw .ows_f06f - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_41 db $02 dw .ows_f072 - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_41 db $01 dw .ows_f06c - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_40 db $07 dw .ows_f069 - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_40 db $03 dw .ows_f06f - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_40 db $02 dw .ows_f072 - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_40 db $01 dw .ows_f06c - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_3F db $07 dw .ows_f069 - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_3F db $03 dw .ows_f06f - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_3F db $02 dw .ows_f072 - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_3F db $01 dw .ows_f06c .ows_f066 - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text050a .ows_f069 - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text050b .ows_f06c - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text050c .ows_f06f - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text050d .ows_f072 - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text050e Preload_ChallengeHallNPCs2: ; f075 (3:7075) @@ -5355,36 +5355,36 @@ ChallengeHallLobbyLoadMap: ; f088 (3:7088) ld [wTempNPC], a call FindLoadedNPC ld bc, $7166 - jp SetNextNPCAndOWSequence + jp SetNextNPCAndScript -OWSequence_Pappy3: ; f09c (3:709c) +Script_Pappy3: ; f09c (3:709c) start_script - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text050f -OWSequence_Gal4: ; f0a0 (3:70a0) +Script_Gal4: ; f0a0 (3:70a0) start_script - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text0510 -OWSequence_Champ: ; f0a4 (3:70a4) +Script_Champ: ; f0a4 (3:70a4) start_script - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text0511 -OWSequence_Hood2: ; f0a8 (3:70a8) +Script_Hood2: ; f0a8 (3:70a8) start_script - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text0512 -OWSequence_Lass5: ; f0ac (3:70ac) +Script_Lass5: ; f0ac (3:70ac) start_script - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text0513 -OWSequence_Chap5: ; f0b0 (3:70b0) +Script_Chap5: ; f0b0 (3:70b0) start_script - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text0514 Preload_ChallengeHallLobbyRonald1: ; f0b4 (3:70b4) @@ -5486,7 +5486,7 @@ ChallengeHallAfterDuel: ; f239 (3:7239) ld b, [hl] ld a, NPC_HOST ld [wTempNPC], a - jp SetNextNPCAndOWSequence + jp SetNextNPCAndScript ChallengeHallAfterDuelTable: dw WonAtChallengeHall @@ -5499,12 +5499,12 @@ ChallengeHallLoadMap: ; f258 (3:7258) ld a, NPC_HOST ld [wTempNPC], a call FindLoadedNPC - ld bc, OWSequence_f433 - jp SetNextNPCAndOWSequence + ld bc, Script_f433 + jp SetNextNPCAndScript -OWSequence_Clerk13: ; f26c (3:726c) +Script_Clerk13: ; f26c (3:726c) start_script - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text0525 Preload_Guide: ; f270 (3:7270) @@ -5520,195 +5520,195 @@ Preload_Guide: ; f270 (3:7270) ret ; 0xf283 -OWSequence_Guide: ; f283 (3:7283) +Script_Guide: ; f283 (3:7283) start_script - run_script OWScript_JumpIfFlagZero2 + run_script ScriptCommand_JumpIfFlagZero2 db EVENT_FLAG_42 dw .ows_f28b - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text0526 .ows_f28b - run_script OWScript_JumpIfFlagZero1 + run_script ScriptCommand_JumpIfFlagZero1 db $3f dw .ows_f292 - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text0527 .ows_f292 - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text0528 -OWSequence_Clerk12: ; f295 (3:7295) +Script_Clerk12: ; f295 (3:7295) start_script - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_41 db $03 dw .ows_f2c4 - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_41 db $02 dw .ows_f2c1 - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_40 db $03 dw .ows_f2c4 - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_40 db $02 dw .ows_f2c1 - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_3F db $03 dw .ows_f2c4 - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_3F db $02 dw .ows_f2c1 - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_44 db $02 dw .ows_f2cd - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_44 db $03 dw .ows_f2d3 - run_script OWScript_Jump + run_script ScriptCommand_Jump dw .ows_f2c7 .ows_f2c1 - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text0529 .ows_f2c4 - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text052a .ows_f2c7 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text052b - run_script OWScript_Jump + run_script ScriptCommand_Jump dw .ows_f2d6 .ows_f2cd - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text052c - run_script OWScript_Jump + run_script ScriptCommand_Jump dw .ows_f2d6 .ows_f2d3 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text052d .ows_f2d6 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text052e - run_script OWScript_AskQuestionJump + run_script ScriptCommand_AskQuestionJump tx Text052f dw .ows_f2e1 - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text0530 .ows_f2e1 - run_script OWScript_MaxOutFlagValue + run_script ScriptCommand_MaxOutFlagValue db EVENT_FLAG_59 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0531 - run_script OWScript_CloseTextBox - run_script OWScript_MoveActiveNPC + run_script ScriptCommand_CloseTextBox + run_script ScriptCommand_MoveActiveNPC dw NPCMovement_f349 - run_script OWScript_JumpIfPlayerCoordMatches + run_script ScriptCommand_JumpIfPlayerCoordMatches db 8 db 18 dw .ows_f2fa - run_script OWScript_JumpIfPlayerCoordMatches + run_script ScriptCommand_JumpIfPlayerCoordMatches db 12 db 18 dw .ows_f302 - run_script OWScript_MovePlayer + run_script ScriptCommand_MovePlayer db NORTH db $02 - run_script OWScript_Jump + run_script ScriptCommand_Jump dw .ows_f307 .ows_f2fa - run_script OWScript_SetPlayerDirection + run_script ScriptCommand_SetPlayerDirection db EAST - run_script OWScript_MovePlayer + run_script ScriptCommand_MovePlayer db EAST db $02 - run_script OWScript_Jump + run_script ScriptCommand_Jump dw .ows_f307 .ows_f302 - run_script OWScript_SetPlayerDirection + run_script ScriptCommand_SetPlayerDirection db WEST - run_script OWScript_MovePlayer + run_script ScriptCommand_MovePlayer db WEST db $02 .ows_f307 - run_script OWScript_SetPlayerDirection + run_script ScriptCommand_SetPlayerDirection db NORTH - run_script OWScript_MovePlayer + run_script ScriptCommand_MovePlayer db NORTH db $01 - run_script OWScript_MovePlayer + run_script ScriptCommand_MovePlayer db NORTH db $01 - run_script OWScript_MovePlayer + run_script ScriptCommand_MovePlayer db NORTH db $01 - run_script OWScript_MovePlayer + run_script ScriptCommand_MovePlayer db NORTH db $01 - run_script OWScript_MovePlayer + run_script ScriptCommand_MovePlayer db NORTH db $01 - run_script OWScript_JumpIfFlagNonzero2 + run_script ScriptCommand_JumpIfFlagNonzero2 db EVENT_FLAG_43 dw .ows_f33a - run_script OWScript_MaxOutFlagValue + run_script ScriptCommand_MaxOutFlagValue db EVENT_FLAG_43 - run_script OWScript_MovePlayer + run_script ScriptCommand_MovePlayer db NORTH db $01 - run_script OWScript_MovePlayer + run_script ScriptCommand_MovePlayer db NORTH db $01 - run_script OWScript_SetPlayerDirection + run_script ScriptCommand_SetPlayerDirection db EAST - run_script OWScript_DoFrames + run_script ScriptCommand_DoFrames db 30 - run_script OWScript_SetPlayerDirection + run_script ScriptCommand_SetPlayerDirection db SOUTH - run_script OWScript_DoFrames + run_script ScriptCommand_DoFrames db 20 - run_script OWScript_SetPlayerDirection + run_script ScriptCommand_SetPlayerDirection db EAST - run_script OWScript_DoFrames + run_script ScriptCommand_DoFrames db 20 - run_script OWScript_SetPlayerDirection + run_script ScriptCommand_SetPlayerDirection db SOUTH - run_script OWScript_DoFrames + run_script ScriptCommand_DoFrames db 30 - run_script OWScript_MovePlayer + run_script ScriptCommand_MovePlayer db SOUTH db $01 - run_script OWScript_MovePlayer + run_script ScriptCommand_MovePlayer db SOUTH db $01 .ows_f33a - run_script OWScript_SetPlayerDirection + run_script ScriptCommand_SetPlayerDirection db EAST - run_script OWScript_MovePlayer + run_script ScriptCommand_MovePlayer db EAST db $01 - run_script OWScript_MoveActiveNPC + run_script ScriptCommand_MoveActiveNPC dw NPCMovement_f34e - run_script OWScript_CloseAdvancedTextBox - run_script OWScript_SetNextNPCandOWSequence + run_script ScriptCommand_CloseAdvancedTextBox + run_script ScriptCommand_SetNextNPCandScript db $4a - dw OWSequence_f353 - run_script OWScript_EndScriptLoop1 + dw Script_f353 + run_script ScriptCommand_EndScriptLoop1 ret ; f349 @@ -5728,43 +5728,43 @@ NPCMovement_f34e: ; f34e (3:734e) db SOUTH db $ff -OWSequence_HostStubbed: ; f352 (3:7352) +Script_HostStubbed: ; f352 (3:7352) ret -OWSequence_f353: ; f353 (3:7353) +Script_f353: ; f353 (3:7353) start_script - run_script OWScript_DoFrames + run_script ScriptCommand_DoFrames db 20 - run_script OWScript_MoveActiveNPC + run_script ScriptCommand_MoveActiveNPC dw NPCMovement_f37d - run_script OWScript_DoFrames + run_script ScriptCommand_DoFrames db 20 - run_script OWScript_MoveActiveNPC + run_script ScriptCommand_MoveActiveNPC dw NPCMovement_f390 run_script Func_d16b db $00 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0532 - run_script OWScript_CloseTextBox - run_script OWScript_MoveActiveNPC + run_script ScriptCommand_CloseTextBox + run_script ScriptCommand_MoveActiveNPC dw NPCMovement_f37f - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0533 - run_script OWScript_CloseTextBox - run_script OWScript_MoveActiveNPC + run_script ScriptCommand_CloseTextBox + run_script ScriptCommand_MoveActiveNPC dw NPCMovement_f388 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0534 - run_script OWScript_CloseTextBox - run_script OWScript_MoveActiveNPC + run_script ScriptCommand_CloseTextBox + run_script ScriptCommand_MoveActiveNPC dw NPCMovement_f38e - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0535 run_script Func_cd4f db $04 db $00 db $00 - run_script OWScript_QuitScriptFully + run_script ScriptCommand_QuitScriptFully NPCMovement_f37d: ; f37d (3:737d) db EAST | NO_MOVE @@ -5805,115 +5805,115 @@ NPCMovement_f390: ; f390 (3:7390) LostAtChallengeHall: ; f392 (3:7392) start_script - run_script OWScript_DoFrames + run_script ScriptCommand_DoFrames db 20 - run_script OWScript_MoveActiveNPC + run_script ScriptCommand_MoveActiveNPC dw NPCMovement_f37d - run_script OWScript_DoFrames + run_script ScriptCommand_DoFrames db 20 - run_script OWScript_MoveActiveNPC + run_script ScriptCommand_MoveActiveNPC dw NPCMovement_f390 - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_45 db $02 - dw OWJump_f410 - run_script OWScript_JumpIfFlagEqual + dw ScriptJump_f410 + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_45 db $03 - dw OWJump_f410.ows_f41a + dw ScriptJump_f410.ows_f41a run_script Func_d16b db $00 run_script Func_d16b db $01 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0536 .ows_f3ae - run_script OWScript_CloseTextBox - run_script OWScript_MoveActiveNPC + run_script ScriptCommand_CloseTextBox + run_script ScriptCommand_MoveActiveNPC dw NPCMovement_f38b - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0537 - run_script OWScript_CloseTextBox - run_script OWScript_MoveActiveNPC + run_script ScriptCommand_CloseTextBox + run_script ScriptCommand_MoveActiveNPC dw NPCMovement_f38e - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_44 db $02 dw .ows_f3ce - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_44 db $03 dw .ows_f3d9 - run_script OWScript_SetFlagValue + run_script ScriptCommand_SetFlagValue db EVENT_FLAG_3F db $03 - run_script OWScript_SetFlagValue + run_script ScriptCommand_SetFlagValue db EVENT_FLAG_48 db $03 - run_script OWScript_ZeroOutFlagValue + run_script ScriptCommand_ZeroOutFlagValue db EVENT_FLAG_51 - run_script OWScript_Jump + run_script ScriptCommand_Jump dw .ows_f3e2 .ows_f3ce - run_script OWScript_SetFlagValue + run_script ScriptCommand_SetFlagValue db EVENT_FLAG_40 db $03 - run_script OWScript_SetFlagValue + run_script ScriptCommand_SetFlagValue db EVENT_FLAG_49 db $03 - run_script OWScript_ZeroOutFlagValue + run_script ScriptCommand_ZeroOutFlagValue db EVENT_FLAG_55 - run_script OWScript_Jump + run_script ScriptCommand_Jump dw .ows_f3e2 .ows_f3d9 - run_script OWScript_SetFlagValue + run_script ScriptCommand_SetFlagValue db EVENT_FLAG_41 db $03 - run_script OWScript_SetFlagValue + run_script ScriptCommand_SetFlagValue db EVENT_FLAG_4A db $03 - run_script OWScript_Jump + run_script ScriptCommand_Jump dw .ows_f3e2 .ows_f3e2 - run_script OWScript_CloseAdvancedTextBox - run_script OWScript_SetNextNPCandOWSequence + run_script ScriptCommand_CloseAdvancedTextBox + run_script ScriptCommand_SetNextNPCandScript db NPC_CLERK12 - dw OWSequence_f3e9 - run_script OWScript_EndScriptLoop1 + dw Script_f3e9 + run_script ScriptCommand_EndScriptLoop1 ret -OWSequence_f3e9: ; f3e9 (3:73e9) +Script_f3e9: ; f3e9 (3:73e9) start_script - run_script OWScript_MoveActiveNPC + run_script ScriptCommand_MoveActiveNPC dw NPCMovement_f40a - run_script OWScript_SetPlayerDirection + run_script ScriptCommand_SetPlayerDirection db WEST - run_script OWScript_MovePlayer + run_script ScriptCommand_MovePlayer db WEST db $01 - run_script OWScript_SetPlayerDirection + run_script ScriptCommand_SetPlayerDirection db SOUTH - run_script OWScript_MovePlayer + run_script ScriptCommand_MovePlayer db SOUTH db $01 - run_script OWScript_MovePlayer + run_script ScriptCommand_MovePlayer db SOUTH db $01 - run_script OWScript_MovePlayer + run_script ScriptCommand_MovePlayer db SOUTH db $01 - run_script OWScript_MovePlayer + run_script ScriptCommand_MovePlayer db SOUTH db $01 - run_script OWScript_MovePlayer + run_script ScriptCommand_MovePlayer db SOUTH db $01 - run_script OWScript_MovePlayer + run_script ScriptCommand_MovePlayer db SOUTH db $01 - run_script OWScript_MoveActiveNPC + run_script ScriptCommand_MoveActiveNPC dw NPCMovement_f40d - run_script OWScript_QuitScriptFully + run_script ScriptCommand_QuitScriptFully NPCMovement_f40a: ; f40a (3:740a) db WEST @@ -5925,160 +5925,160 @@ NPCMovement_f40d: ; f40d (3:740d) db SOUTH | NO_MOVE db $ff -OWJump_f410: ; f410 (4:7410) +ScriptJump_f410: ; f410 (4:7410) run_script Func_d16b db $00 run_script Func_d16b db $01 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0538 - run_script OWScript_Jump + run_script ScriptCommand_Jump dw LostAtChallengeHall.ows_f3ae .ows_f41a - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0539 - run_script OWScript_SetDialogName + run_script ScriptCommand_SetDialogName db NPC_RONALD1 - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_44 db $03 dw .ows_f42e - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_44 db $01 dw NO_JUMP - run_script OWScript_PrintVariableText + run_script ScriptCommand_PrintVariableText tx Text053a tx Text053b .ows_f42e - run_script OWScript_SetDialogName + run_script ScriptCommand_SetDialogName db NPC_HOST - run_script OWScript_Jump + run_script ScriptCommand_Jump dw LostAtChallengeHall.ows_f3ae -OWSequence_f433: ; f433 (3:7433) +Script_f433: ; f433 (3:7433) start_script - run_script OWScript_DoFrames + run_script ScriptCommand_DoFrames db 20 - run_script OWScript_MoveActiveNPC + run_script ScriptCommand_MoveActiveNPC dw NPCMovement_f37d - run_script OWScript_DoFrames + run_script ScriptCommand_DoFrames db 20 - run_script OWScript_MoveActiveNPC + run_script ScriptCommand_MoveActiveNPC dw NPCMovement_f390 - run_script OWScript_Jump + run_script ScriptCommand_Jump dw WonAtChallengeHall.ows_f4a4 WonAtChallengeHall; f441 (3:7441) start_script - run_script OWScript_DoFrames + run_script ScriptCommand_DoFrames db 20 - run_script OWScript_MoveActiveNPC + run_script ScriptCommand_MoveActiveNPC dw NPCMovement_f37d - run_script OWScript_DoFrames + run_script ScriptCommand_DoFrames db 20 - run_script OWScript_MoveActiveNPC + run_script ScriptCommand_MoveActiveNPC dw NPCMovement_f390 - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_45 db $03 - dw OWJump_f4db - run_script OWScript_JumpIfFlagEqual + dw ScriptJump_f4db + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_45 db $02 dw .ows_f456 .ows_f456 - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_45 db $01 dw NO_JUMP - run_script OWScript_PrintVariableText + run_script ScriptCommand_PrintVariableText tx Text053c tx Text053d - run_script OWScript_MoveActiveNPC + run_script ScriptCommand_MoveActiveNPC dw NPCMovement_f37f run_script Func_d16b db $00 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text053e - run_script OWScript_CloseTextBox - run_script OWScript_MoveWramNPC + run_script ScriptCommand_CloseTextBox + run_script ScriptCommand_MoveWramNPC dw NPCMovement_f4c8 run_script Func_cdd8 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text053f - run_script OWScript_CloseTextBox + run_script ScriptCommand_CloseTextBox run_script Func_d195 run_script Func_cdf5 db $14 db $14 - run_script OWScript_MoveWramNPC + run_script ScriptCommand_MoveWramNPC dw NPCMovement_f4d0 run_script Func_d16b db $00 - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_45 db $02 dw NO_JUMP - run_script OWScript_PrintVariableText + run_script ScriptCommand_PrintVariableText tx Text0540 tx Text0541 - run_script OWScript_MoveActiveNPC + run_script ScriptCommand_MoveActiveNPC dw NPCMovement_f383 - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_45 db $02 dw .ows_f4a4 - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_44 db $03 dw .ows_f4a1 - run_script OWScript_CloseTextBox - run_script OWScript_SetDialogName + run_script ScriptCommand_CloseTextBox + run_script ScriptCommand_SetDialogName db $02 - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_44 db $01 dw NO_JUMP - run_script OWScript_PrintVariableText + run_script ScriptCommand_PrintVariableText tx Text0542 tx Text0543 - run_script OWScript_SetDialogName + run_script ScriptCommand_SetDialogName db NPC_HOST - run_script OWScript_CloseTextBox + run_script ScriptCommand_CloseTextBox .ows_f4a1 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0544 .ows_f4a4 - run_script OWScript_ZeroOutFlagValue + run_script ScriptCommand_ZeroOutFlagValue db EVENT_FLAG_47 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0545 - run_script OWScript_AskQuestionJumpDefaultYes + run_script ScriptCommand_AskQuestionJumpDefaultYes tx Text0546 dw .ows_f4bd - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_45 db $02 dw NO_JUMP - run_script OWScript_PrintVariableText + run_script ScriptCommand_PrintVariableText tx Text0547 tx Text0548 run_script Func_cd4f db $04 db $00 db $00 - run_script OWScript_QuitScriptFully + run_script ScriptCommand_QuitScriptFully .ows_f4bd - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0549 - run_script OWScript_CloseTextBox - run_script OWScript_MaxOutFlagValue + run_script ScriptCommand_CloseTextBox + run_script ScriptCommand_MaxOutFlagValue db EVENT_FLAG_47 run_script Func_d1ad - run_script OWScript_CloseTextBox - run_script OWScript_Jump + run_script ScriptCommand_CloseTextBox + run_script ScriptCommand_Jump dw .ows_f4a4 NPCMovement_f4c8: ; f4c8 (3:74c8) @@ -6107,111 +6107,111 @@ NPCMovement_f4d8: ; f4d8 (3:74d8) db SOUTH | NO_MOVE db $ff -OWJump_f4db: ; f4db (3:74db) - run_script OWScript_PrintTextString +ScriptJump_f4db: ; f4db (3:74db) + run_script ScriptCommand_PrintTextString tx Text054a - run_script OWScript_MoveActiveNPC + run_script ScriptCommand_MoveActiveNPC dw NPCMovement_f37f run_script Func_d16b db $00 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text054b - run_script OWScript_CloseTextBox - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_CloseTextBox + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_44 db $03 dw .ows_f513 - run_script OWScript_SetDialogName + run_script ScriptCommand_SetDialogName db $02 - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_44 db $01 dw NO_JUMP - run_script OWScript_PrintVariableText + run_script ScriptCommand_PrintVariableText tx Text054c tx Text054d - run_script OWScript_MoveWramNPC + run_script ScriptCommand_MoveWramNPC dw NPCMovement_f4d8 - run_script OWScript_DoFrames + run_script ScriptCommand_DoFrames db 40 - run_script OWScript_MoveWramNPC + run_script ScriptCommand_MoveWramNPC dw NPCMovement_f34c - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_44 db $01 dw NO_JUMP - run_script OWScript_PrintVariableText + run_script ScriptCommand_PrintVariableText tx Text054e tx Text054f - run_script OWScript_SetDialogName + run_script ScriptCommand_SetDialogName db NPC_HOST - run_script OWScript_CloseTextBox - run_script OWScript_MoveWramNPC + run_script ScriptCommand_CloseTextBox + run_script ScriptCommand_MoveWramNPC dw NPCMovement_f4c9 - run_script OWScript_Jump + run_script ScriptCommand_Jump dw .ows_f516 .ows_f513 - run_script OWScript_MoveWramNPC + run_script ScriptCommand_MoveWramNPC dw NPCMovement_f4c8 .ows_f516 run_script Func_cdd8 - run_script OWScript_MoveActiveNPC + run_script ScriptCommand_MoveActiveNPC dw NPCMovement_f383 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0550 - run_script OWScript_CloseTextBox - run_script OWScript_MoveActiveNPC + run_script ScriptCommand_CloseTextBox + run_script ScriptCommand_MoveActiveNPC dw NPCMovement_f38b run_script Func_d1b3 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0551 - run_script OWScript_GiveCard + run_script ScriptCommand_GiveCard db $00 - run_script OWScript_ShowCardReceivedScreen + run_script ScriptCommand_ShowCardReceivedScreen db $00 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0552 - run_script OWScript_CloseTextBox - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_CloseTextBox + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_44 db $02 dw .ows_f540 - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_44 db $03 dw .ows_f549 - run_script OWScript_SetFlagValue + run_script ScriptCommand_SetFlagValue db EVENT_FLAG_3F db $02 - run_script OWScript_SetFlagValue + run_script ScriptCommand_SetFlagValue db EVENT_FLAG_48 db $02 - run_script OWScript_Jump + run_script ScriptCommand_Jump dw .ows_f552 .ows_f540 - run_script OWScript_SetFlagValue + run_script ScriptCommand_SetFlagValue db EVENT_FLAG_40 db $02 - run_script OWScript_SetFlagValue + run_script ScriptCommand_SetFlagValue db EVENT_FLAG_49 db $02 - run_script OWScript_Jump + run_script ScriptCommand_Jump dw .ows_f552 .ows_f549 - run_script OWScript_SetFlagValue + run_script ScriptCommand_SetFlagValue db EVENT_FLAG_41 db $02 - run_script OWScript_SetFlagValue + run_script ScriptCommand_SetFlagValue db EVENT_FLAG_4A db $02 - run_script OWScript_Jump + run_script ScriptCommand_Jump dw .ows_f552 .ows_f552 - run_script OWScript_CloseAdvancedTextBox - run_script OWScript_SetNextNPCandOWSequence + run_script ScriptCommand_CloseAdvancedTextBox + run_script ScriptCommand_SetNextNPCandScript db NPC_CLERK12 - dw OWSequence_f3e9 - run_script OWScript_EndScriptLoop1 + dw Script_f3e9 + run_script ScriptCommand_EndScriptLoop1 ret ; f559 @@ -6284,15 +6284,15 @@ Func_f5db: ; f5db (3:75db) Func_f602: ; f602 (3:7602) INCROM $f602, $f631 -OWSequence_f631: ; f631 (3:7631) +Script_f631: ; f631 (3:7631) start_script - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text0508 - run_script OWScript_CloseAdvancedTextBox - run_script OWScript_SetNextNPCandOWSequence + run_script ScriptCommand_CloseAdvancedTextBox + run_script ScriptCommand_SetNextNPCandScript db $02 dw $763c - run_script OWScript_EndScriptLoop1 + run_script ScriptCommand_EndScriptLoop1 ret ; 0xf63c @@ -6307,24 +6307,24 @@ HallOfHonorLoadMap: ; fbdb (3:7bdb) INCROM $fbe1, $fbf1 -OWSequence_fbf1: ; fbf1 (3:7bf1) +Script_fbf1: ; fbf1 (3:7bf1) start_script - run_script OWScript_JumpIfFlagNonzero2 + run_script ScriptCommand_JumpIfFlagNonzero2 db EVENT_RECEIVED_LEGENDARY_CARD dw .ows_fc10 - run_script OWScript_MaxOutFlagValue + run_script ScriptCommand_MaxOutFlagValue db EVENT_RECEIVED_LEGENDARY_CARD run_script Func_ccdc tx Text05b8 - run_script OWScript_GiveCard + run_script ScriptCommand_GiveCard db ZAPDOS3 - run_script OWScript_GiveCard + run_script ScriptCommand_GiveCard db MOLTRES2 - run_script OWScript_GiveCard + run_script ScriptCommand_GiveCard db ARTICUNO2 - run_script OWScript_GiveCard + run_script ScriptCommand_GiveCard db DRAGONITE1 - run_script OWScript_ShowCardReceivedScreen + run_script ScriptCommand_ShowCardReceivedScreen db $ff .ows_fc05 run_script Func_d38f @@ -6337,21 +6337,21 @@ OWSequence_fbf1: ; fbf1 (3:7bf1) run_script Func_d396 db $01 run_script Func_d3b9 - run_script OWScript_QuitScriptFully + run_script ScriptCommand_QuitScriptFully .ows_fc10 - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_71 db $0f dw .ows_fc20 run_script Func_d209 run_script Func_ccdc tx Text05ba - run_script OWScript_GiveCard + run_script ScriptCommand_GiveCard db $00 - run_script OWScript_ShowCardReceivedScreen + run_script ScriptCommand_ShowCardReceivedScreen db $00 - run_script OWScript_Jump + run_script ScriptCommand_Jump dw .ows_fc05 .ows_fc20 @@ -6361,7 +6361,7 @@ OWSequence_fbf1: ; fbf1 (3:7bf1) db $00 run_script Func_ccdc tx Text05bc - run_script OWScript_Jump + run_script ScriptCommand_Jump dw .ows_fc0a Func_fc2b: ; fc2b (3:7c2b) @@ -6382,26 +6382,26 @@ Func_fc2b: ; fc2b (3:7c2b) ld [wCurrentNPCNameTx], a ld a, $3 ld [wCurrentNPCNameTx+1], a - jp SetNextOWSequence + jp SetNextScript PointerTable_fc4c: ; fc4c (3:7c4c) dw Unknown_fc64 dw Unknown_fc68 dw Unknown_fc60 -OWSequence_fc52: ; fc52 (3:7c52) +Script_fc52: ; fc52 (3:7c52) start_script - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text06c8 - run_script OWScript_AskQuestionJumpDefaultYes + run_script ScriptCommand_AskQuestionJumpDefaultYes dw $0000 dw .ows_fc5e - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text06c9 .ows_fc5e run_script Func_cd76 - run_script OWScript_QuitScriptFully + run_script ScriptCommand_QuitScriptFully Unknown_fc60: ; fc60 (3:7c60) INCROM $fc60, $fc64 @@ -6430,41 +6430,41 @@ Func_fc7a: ; fc7a (3:7c7a) set_flag_value EVENT_FLAG_74 start_script - run_script OWScript_JumpIfFlagNotEqual + run_script ScriptCommand_JumpIfFlagNotEqual db EVENT_FLAG_74 db $02 dw Func_fcad.ows_fcd5 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text06cd run_script Func_d39d db $00 - run_script OWScript_JumpIfFlagNotLessThan + run_script ScriptCommand_JumpIfFlagNotLessThan db EVENT_FLAG_72 db $04 dw Func_fc7a.ows_fcaa - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text06ce - run_script OWScript_AskQuestionJumpDefaultYes + run_script ScriptCommand_AskQuestionJumpDefaultYes tx Text06cf dw .ows_fca0 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text06d0 - run_script OWScript_Jump + run_script ScriptCommand_Jump dw Func_fc7a.ows_fcaa .ows_fca0 run_script Func_d396 db $00 - run_script OWScript_PlaySFX + run_script ScriptCommand_PlaySFX db $56 run_script Func_ccdc tx Text06d1 run_script Func_d39d db $01 - run_script OWScript_QuitScriptFully + run_script ScriptCommand_QuitScriptFully .ows_fcaa - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text06d2 Func_fcad: ; fcad (3:7cad) @@ -6473,47 +6473,47 @@ Func_fcad: ; fcad (3:7cad) set_flag_value EVENT_FLAG_72 start_script - run_script OWScript_PlaySFX + run_script ScriptCommand_PlaySFX db $56 run_script Func_d396 db $00 - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_72 db $00 dw .ows_fccc - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_72 db $02 dw .ows_fccf - run_script OWScript_JumpIfFlagEqual + run_script ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_72 db $03 dw .ows_fcd2 - run_script OWScript_Jump + run_script ScriptCommand_Jump dw Func_fc7a.ows_fcaa .ows_fccc - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text06d3 .ows_fccf - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text06d4 .ows_fcd2 - run_script OWScript_PrintTextQuitFully + run_script ScriptCommand_PrintTextQuitFully tx Text06d5 .ows_fcd5 - run_script OWScript_MoveArbitraryNPC + run_script ScriptCommand_MoveArbitraryNPC db NPC_GIFT_CENTER_CLERK dw NPCMovement_fce1 - run_script OWScript_PrintTextString + run_script ScriptCommand_PrintTextString tx Text06d6 - run_script OWScript_MoveArbitraryNPC + run_script ScriptCommand_MoveArbitraryNPC db NPC_GIFT_CENTER_CLERK dw NPCMovement_fce3 - run_script OWScript_QuitScriptFully + run_script ScriptCommand_QuitScriptFully NPCMovement_fce1: ; fce1 (3:7ce1) db SOUTH | NO_MOVE diff --git a/src/engine/bank04.asm b/src/engine/bank04.asm index 7be9960..13df81b 100644 --- a/src/engine/bank04.asm +++ b/src/engine/bank04.asm @@ -878,8 +878,8 @@ LoadNPCSpriteData: ; 11857 (4:5857) pop hl ret -; Loads Name into wCurrentNPCNameTx and gets OWSequence ptr into bc -GetNPCNameAndOWSequence: ; 1187d (4:587d) +; Loads Name into wCurrentNPCNameTx and gets Script ptr into bc +GetNPCNameAndScript: ; 1187d (4:587d) push hl call GetNPCDataPointer ld bc, NPC_DATA_OWSEQUENCE_PTR @@ -969,23 +969,23 @@ Func_11f4e: ; 11f4e (4:5f4e) INCROM $11f4e, $1217b OverworldScriptTable: ; 1217b (4:617b) - dw OWScript_EndScriptLoop1 - dw OWScript_CloseAdvancedTextBox - dw OWScript_PrintTextString + dw ScriptCommand_EndScriptLoop1 + dw ScriptCommand_CloseAdvancedTextBox + dw ScriptCommand_PrintTextString dw Func_ccdc - dw OWScript_AskQuestionJump - dw OWScript_StartBattle - dw OWScript_PrintVariableText + dw ScriptCommand_AskQuestionJump + dw ScriptCommand_StartBattle + dw ScriptCommand_PrintVariableText dw Func_cda8 - dw OWScript_PrintTextQuitFully + dw ScriptCommand_PrintTextQuitFully dw Func_cdcb - dw OWScript_MoveActiveNPCByDirection - dw OWScript_CloseTextBox - dw OWScript_GiveBoosterPacks + dw ScriptCommand_MoveActiveNPCByDirection + dw ScriptCommand_CloseTextBox + dw ScriptCommand_GiveBoosterPacks dw Func_cf0c dw Func_cf12 - dw OWScript_GiveCard - dw OWScript_TakeCard + dw ScriptCommand_GiveCard + dw ScriptCommand_TakeCard dw Func_cf53 dw Func_cf7b dw Func_cf2d @@ -996,83 +996,83 @@ OverworldScriptTable: ; 1217b (4:617b) dw Func_d025 dw Func_d032 dw Func_d03f - dw OWScript_Jump - dw OWScript_TryGiveMedalPCPacks - dw OWScript_SetPlayerDirection - dw OWScript_MovePlayer - dw OWScript_ShowCardReceivedScreen - dw OWScript_SetDialogName - dw OWScript_SetNextNPCandOWSequence + dw ScriptCommand_Jump + dw ScriptCommand_TryGiveMedalPCPacks + dw ScriptCommand_SetPlayerDirection + dw ScriptCommand_MovePlayer + dw ScriptCommand_ShowCardReceivedScreen + dw ScriptCommand_SetDialogName + dw ScriptCommand_SetNextNPCandScript dw Func_d095 dw Func_d0be - dw OWScript_DoFrames + dw ScriptCommand_DoFrames dw Func_d0d9 - dw OWScript_JumpIfPlayerCoordMatches - dw OWScript_MoveActiveNPC - dw OWScript_GiveOneOfEachTrainerBooster + dw ScriptCommand_JumpIfPlayerCoordMatches + dw ScriptCommand_MoveActiveNPC + dw ScriptCommand_GiveOneOfEachTrainerBooster dw Func_d103 dw Func_d125 dw Func_d135 dw Func_d16b dw Func_cd4f dw Func_cd94 - dw OWScript_MoveWramNPC + dw ScriptCommand_MoveWramNPC dw Func_cdd8 dw Func_cdf5 dw Func_d195 dw Func_d1ad dw Func_d1b3 - dw OWScript_QuitScriptFully + dw ScriptCommand_QuitScriptFully dw Func_d244 dw Func_d24c - dw OWScript_OpenDeckMachine + dw ScriptCommand_OpenDeckMachine dw Func_d271 - dw OWScript_EnterMap - dw OWScript_MoveArbitraryNPC + dw ScriptCommand_EnterMap + dw ScriptCommand_MoveArbitraryNPC dw Func_d209 dw Func_d38f dw Func_d396 dw Func_cd76 dw Func_d39d dw Func_d3b9 - dw OWScript_TryGivePCPack - dw OWScript_nop + dw ScriptCommand_TryGivePCPack + dw ScriptCommand_nop dw Func_d3d4 dw Func_d3e0 dw Func_d3fe dw Func_d408 dw Func_d40f - dw OWScript_PlaySFX - dw OWScript_PauseSong - dw OWScript_ResumeSong + dw ScriptCommand_PlaySFX + dw ScriptCommand_PauseSong + dw ScriptCommand_ResumeSong dw Func_d41d - dw OWScript_WaitForSongToFinish + dw ScriptCommand_WaitForSongToFinish dw Func_d435 - dw OWScript_AskQuestionJumpDefaultYes + dw ScriptCommand_AskQuestionJumpDefaultYes dw Func_d2f6 dw Func_d317 dw Func_d43d - dw OWScript_EndScriptLoop2 - dw OWScript_EndScriptLoop3 - dw OWScript_EndScriptLoop4 - dw OWScript_EndScriptLoop5 - dw OWScript_EndScriptLoop6 - dw OWScript_SetFlagValue - dw OWScript_JumpIfFlagZero1 - dw OWScript_JumpIfFlagNonzero1 - dw OWScript_JumpIfFlagEqual - dw OWScript_JumpIfFlagNotEqual - dw OWScript_JumpIfFlagNotLessThan - dw OWScript_JumpIfFlagLessThan - dw OWScript_MaxOutFlagValue - dw OWScript_ZeroOutFlagValue - dw OWScript_JumpIfFlagNonzero2 - dw OWScript_JumpIfFlagZero2 - dw OWScript_IncrementFlagValue - dw OWScript_EndScriptLoop7 - dw OWScript_EndScriptLoop8 - dw OWScript_EndScriptLoop9 - dw OWScript_EndScriptLoop10 + dw ScriptCommand_EndScriptLoop2 + dw ScriptCommand_EndScriptLoop3 + dw ScriptCommand_EndScriptLoop4 + dw ScriptCommand_EndScriptLoop5 + dw ScriptCommand_EndScriptLoop6 + dw ScriptCommand_SetFlagValue + dw ScriptCommand_JumpIfFlagZero1 + dw ScriptCommand_JumpIfFlagNonzero1 + dw ScriptCommand_JumpIfFlagEqual + dw ScriptCommand_JumpIfFlagNotEqual + dw ScriptCommand_JumpIfFlagNotLessThan + dw ScriptCommand_JumpIfFlagLessThan + dw ScriptCommand_MaxOutFlagValue + dw ScriptCommand_ZeroOutFlagValue + dw ScriptCommand_JumpIfFlagNonzero2 + dw ScriptCommand_JumpIfFlagZero2 + dw ScriptCommand_IncrementFlagValue + dw ScriptCommand_EndScriptLoop7 + dw ScriptCommand_EndScriptLoop8 + dw ScriptCommand_EndScriptLoop9 + dw ScriptCommand_EndScriptLoop10 INCROM $1224b, $1229f diff --git a/src/engine/bank07.asm b/src/engine/bank07.asm index 6bad8c9..45cc8b1 100644 --- a/src/engine/bank07.asm +++ b/src/engine/bank07.asm @@ -438,9 +438,9 @@ FindNPCAtLocation: ; 1c72e (7:472e) pop hl ret -; Probably needs a new name. Loads data for NPC that the next OWSequence is for +; Probably needs a new name. Loads data for NPC that the next Script is for ; Sets direction, Loads Image data for it, loads name, and more -SetNewOWSequenceNPC: ; 1c768 (7:4768) +SetNewScriptNPC: ; 1c768 (7:4768) push hl ld a, [wLoadedNPCTempIndex] ld l, LOADED_NPC_DIRECTION @@ -454,7 +454,7 @@ SetNewOWSequenceNPC: ; 1c768 (7:4768) ld a, [wLoadedNPCTempIndex] call GetLoadedNPCID ld a, [hl] - farcall GetNPCNameAndOWSequence + farcall GetNPCNameAndScript pop hl ret diff --git a/src/engine/home.asm b/src/engine/home.asm index 24cb61d..478aa39 100644 --- a/src/engine/home.asm +++ b/src/engine/home.asm @@ -11087,9 +11087,9 @@ HandleMoveModeAPress: ; 3a5e (0:3a5e) cp c jr nz, .noMatch ld a, [hli] - ld [wNextOWSequence], a + ld [wNextScript], a ld a, [hli] - ld [wNextOWSequence+1], a + ld [wNextScript+1], a ld a, [hli] ld [wDefaultObjectText], a ld a, [hli] @@ -11159,9 +11159,9 @@ Func_3ae8: ; 3ae8 (0:3ae8) ret ; 0x3aed -; finds an OWScript from the first byte and puts the next two bytes (usually arguments?) into cb +; finds a Script from the first byte and puts the next two bytes (usually arguments?) into cb RunOverworldScript: ; 3aed (0:3aed) - ld hl, wOWScriptPointer + ld hl, wScriptPointer ld a, [hli] ld h, [hl] ld l, a -- cgit v1.2.3 From 29ed945c4adce0b6bc45be3964f95393d8248390 Mon Sep 17 00:00:00 2001 From: Andrew Martinek Date: Sat, 9 May 2020 15:49:35 -0400 Subject: changed run_script and updated script extraction tool --- src/engine/bank03.asm | 1690 ++++++++++++++++++++++++------------------------- 1 file changed, 845 insertions(+), 845 deletions(-) (limited to 'src/engine') diff --git a/src/engine/bank03.asm b/src/engine/bank03.asm index 7fb9ee9..07e903e 100644 --- a/src/engine/bank03.asm +++ b/src/engine/bank03.asm @@ -3145,18 +3145,18 @@ Func_d4fb: ; d4fb (3:54fb) Script_BeginGame: ; d52e (3:552e) start_script - run_script ScriptCommand_DoFrames + run_command ScriptCommand_DoFrames db $3c - run_script Func_d3e0 - run_script ScriptCommand_DoFrames + run_command Func_d3e0 + run_command ScriptCommand_DoFrames db $78 - run_script ScriptCommand_EnterMap + run_command ScriptCommand_EnterMap db $02 db MASON_LABORATORY db 14 db 26 db NORTH - run_script ScriptCommand_QuitScriptFully + run_command ScriptCommand_QuitScriptFully MasonLaboratoryAfterDuel: ; d53b (3:553b) ld hl, .after_duel_table @@ -3203,217 +3203,217 @@ ChallengeMachineObjectTable: ; d572 (3:5572) Script_ChallengeMachine: ; d57d (3:557d) start_script - run_script Func_ccdc + run_command Func_ccdc tx Text05bd - run_script Func_d43d - run_script ScriptCommand_QuitScriptFully + run_command Func_d43d + run_command ScriptCommand_QuitScriptFully INCROM $d583, $d753 Script_EnterLabFirstTime: ; d753 (3:5753) start_script - run_script ScriptCommand_MovePlayer + run_command ScriptCommand_MovePlayer db NORTH db $02 - run_script ScriptCommand_MovePlayer + run_command ScriptCommand_MovePlayer db NORTH db $02 - run_script ScriptCommand_MovePlayer + run_command ScriptCommand_MovePlayer db NORTH db $02 - run_script ScriptCommand_MovePlayer + run_command ScriptCommand_MovePlayer db NORTH db $02 - run_script ScriptCommand_MovePlayer + run_command ScriptCommand_MovePlayer db NORTH db $02 - run_script ScriptCommand_MovePlayer + run_command ScriptCommand_MovePlayer db NORTH db $02 - run_script ScriptCommand_MovePlayer + run_command ScriptCommand_MovePlayer db NORTH db $02 - run_script ScriptCommand_MovePlayer + run_command ScriptCommand_MovePlayer db NORTH db $02 - run_script ScriptCommand_MovePlayer + run_command ScriptCommand_MovePlayer db NORTH db $02 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text05e3 - run_script ScriptCommand_CloseAdvancedTextBox - run_script ScriptCommand_SetNextNPCandScript + run_command ScriptCommand_CloseAdvancedTextBox + run_command ScriptCommand_SetNextNPCandScript db NPC_SAM dw Script_d779 - run_script ScriptCommand_EndScriptLoop1 + run_command ScriptCommand_EndScriptLoop1 ret Script_d779: ; d779 (03:5779) start_script - run_script ScriptCommand_MoveActiveNPC + run_command ScriptCommand_MoveActiveNPC dw NPCMovement_d880 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text05e4 - run_script ScriptCommand_SetDialogName + run_command ScriptCommand_SetDialogName db NPC_DRMASON - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text05e5 - run_script ScriptCommand_CloseTextBox - run_script ScriptCommand_MoveActiveNPC + run_command ScriptCommand_CloseTextBox + run_command ScriptCommand_MoveActiveNPC dw NPCMovement_d882 - run_script Func_cfc6 + run_command Func_cfc6 db $01 - run_script ScriptCommand_SetPlayerDirection + run_command ScriptCommand_SetPlayerDirection db $03 - run_script ScriptCommand_CloseAdvancedTextBox - run_script ScriptCommand_SetNextNPCandScript + run_command ScriptCommand_CloseAdvancedTextBox + run_command ScriptCommand_SetNextNPCandScript db NPC_DRMASON dw Script_d794 - run_script ScriptCommand_EndScriptLoop1 + run_command ScriptCommand_EndScriptLoop1 ret Script_d794: ; d794 (3:5794) start_script - run_script ScriptCommand_MoveActiveNPC + run_command ScriptCommand_MoveActiveNPC dw NPCMovement_d88b - run_script ScriptCommand_DoFrames + run_command ScriptCommand_DoFrames db 40 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text05e6 - run_script ScriptCommand_CloseTextBox - run_script ScriptCommand_MovePlayer + run_command ScriptCommand_CloseTextBox + run_command ScriptCommand_MovePlayer db WEST db $01 - run_script ScriptCommand_MovePlayer + run_command ScriptCommand_MovePlayer db WEST db $01 - run_script ScriptCommand_SetPlayerDirection + run_command ScriptCommand_SetPlayerDirection db SOUTH - run_script ScriptCommand_MovePlayer + run_command ScriptCommand_MovePlayer db SOUTH db $01 - run_script ScriptCommand_MovePlayer + run_command ScriptCommand_MovePlayer db SOUTH db $01 - run_script ScriptCommand_MovePlayer + run_command ScriptCommand_MovePlayer db SOUTH db $01 - run_script ScriptCommand_SetPlayerDirection + run_command ScriptCommand_SetPlayerDirection db WEST - run_script ScriptCommand_MoveActiveNPC + run_command ScriptCommand_MoveActiveNPC dw NPCMovement_d894 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text05e7 - run_script ScriptCommand_SetDialogName + run_command ScriptCommand_SetDialogName db $07 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text05e8 .ows_d7bc - run_script ScriptCommand_CloseTextBox - run_script Func_d317 - run_script ScriptCommand_CloseTextBox - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_CloseTextBox + run_command Func_d317 + run_command ScriptCommand_CloseTextBox + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_75 db $07 dw .ows_d80c - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_75 db $01 dw .ows_d7e8 - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_75 db $02 dw .ows_d7ee - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_75 db $03 dw .ows_d7f4 - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_75 db $04 dw .ows_d7fa - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_75 db $05 dw .ows_d800 - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_75 db $06 dw .ows_d806 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text05d6 - run_script ScriptCommand_Jump + run_command ScriptCommand_Jump dw .ows_d7bc .ows_d7e8 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text05d7 - run_script ScriptCommand_Jump + run_command ScriptCommand_Jump dw .ows_d7bc .ows_d7ee - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text05d8 - run_script ScriptCommand_Jump + run_command ScriptCommand_Jump dw .ows_d7bc .ows_d7f4 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text05d9 - run_script ScriptCommand_Jump + run_command ScriptCommand_Jump dw .ows_d7bc .ows_d7fa - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text05da - run_script ScriptCommand_Jump + run_command ScriptCommand_Jump dw .ows_d7bc .ows_d800 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text05db - run_script ScriptCommand_Jump + run_command ScriptCommand_Jump dw .ows_d7bc .ows_d806 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text05dc - run_script ScriptCommand_Jump + run_command ScriptCommand_Jump dw .ows_d7bc .ows_d80c - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text05e9 - run_script ScriptCommand_AskQuestionJumpDefaultYes + run_command ScriptCommand_AskQuestionJumpDefaultYes dw 0000 dw .ows_d817 - run_script ScriptCommand_Jump + run_command ScriptCommand_Jump dw .ows_d7bc .ows_d817 - run_script ScriptCommand_SetDialogName + run_command ScriptCommand_SetDialogName db $01 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text05ea - run_script ScriptCommand_nop - run_script ScriptCommand_SetFlagValue + run_command ScriptCommand_nop + run_command ScriptCommand_SetFlagValue db EVENT_FLAG_3E db $01 - run_script ScriptCommand_CloseAdvancedTextBox - run_script ScriptCommand_SetNextNPCandScript + run_command ScriptCommand_CloseAdvancedTextBox + run_command ScriptCommand_SetNextNPCandScript db NPC_SAM dw Script_d827 - run_script ScriptCommand_EndScriptLoop1 + run_command ScriptCommand_EndScriptLoop1 ret Script_d827: ; d827 (3:5827) start_script - run_script ScriptCommand_StartBattle + run_command ScriptCommand_StartBattle db PRIZES_2 db SAMS_PRACTICE_DECK_ID db MUSIC_DUEL_THEME_1 - run_script ScriptCommand_QuitScriptFully + run_command ScriptCommand_QuitScriptFully ; 0xd82d INCROM $d82d, $d880 @@ -3452,17 +3452,17 @@ NPCMovement_d894: ; d894 (4:5894) Script_d932: ; d932 (3:5932) start_script - run_script Func_ccdc + run_command Func_ccdc tx Text0605 - run_script ScriptCommand_AskQuestionJumpDefaultYes + run_command ScriptCommand_AskQuestionJumpDefaultYes tx Text0606 dw .ows_d93c - run_script ScriptCommand_QuitScriptFully + run_command ScriptCommand_QuitScriptFully .ows_d93c - run_script ScriptCommand_OpenDeckMachine + run_command ScriptCommand_OpenDeckMachine db $09 - run_script ScriptCommand_QuitScriptFully + run_command ScriptCommand_QuitScriptFully ; 0xd93f INCROM $d93f, $dadd @@ -3490,230 +3490,230 @@ Preload_IshiharaInIshiharasHouse: ; db3d (3:5b3d) Script_Ishihara: ; db4a (3:5b4a) start_script - run_script ScriptCommand_MaxOutFlagValue + run_command ScriptCommand_MaxOutFlagValue db EVENT_FLAG_1D - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_1F db $00 dw .ows_db80 - run_script ScriptCommand_JumpIfFlagNonzero2 + run_command ScriptCommand_JumpIfFlagNonzero2 db EVENT_FLAG_39 dw .ows_db5a - run_script ScriptCommand_JumpIfFlagNonzero2 + run_command ScriptCommand_JumpIfFlagNonzero2 db EVENT_RECEIVED_LEGENDARY_CARD dw .ows_dc3e .ows_db5a - run_script ScriptCommand_JumpIfFlagNonzero2 + run_command ScriptCommand_JumpIfFlagNonzero2 db EVENT_FLAG_00 dw .ows_db90 - run_script ScriptCommand_JumpIfFlagZero2 + run_command ScriptCommand_JumpIfFlagZero2 db EVENT_FLAG_38 dw .ows_db90 - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_1F db $01 dw .ows_db93 - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_1F db $02 dw .ows_db93 - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_1F db $03 dw .ows_dbcc - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_1F db $04 dw .ows_dbcc - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_1F db $05 dw .ows_dc05 - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_1F db $06 dw .ows_dc05 .ows_db80 - run_script ScriptCommand_MaxOutFlagValue + run_command ScriptCommand_MaxOutFlagValue db EVENT_FLAG_00 - run_script ScriptCommand_SetFlagValue + run_command ScriptCommand_SetFlagValue db EVENT_FLAG_1F db $01 - run_script ScriptCommand_ZeroOutFlagValue + run_command ScriptCommand_ZeroOutFlagValue db EVENT_FLAG_38 - run_script ScriptCommand_JumpIfFlagZero2 + run_command ScriptCommand_JumpIfFlagZero2 db EVENT_RECEIVED_LEGENDARY_CARD dw .ows_db8d - run_script ScriptCommand_MaxOutFlagValue + run_command ScriptCommand_MaxOutFlagValue db EVENT_FLAG_39 .ows_db8d - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text0727 .ows_db90 - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text0728 .ows_db93 - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_1F db $01 dw NO_JUMP - run_script ScriptCommand_PrintVariableText + run_command ScriptCommand_PrintVariableText tx Text0729 tx Text072a - run_script ScriptCommand_SetFlagValue + run_command ScriptCommand_SetFlagValue db EVENT_FLAG_1F db $02 - run_script ScriptCommand_AskQuestionJump + run_command ScriptCommand_AskQuestionJump tx Text072b dw .ows_dba8 - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text072c .ows_dba8 - run_script Func_cf0c + run_command Func_cf0c db $ac dw .ows_dbaf - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text072d .ows_dbaf - run_script Func_cf12 + run_command Func_cf12 db $ac dw .ows_dbb6 - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text072e .ows_dbb6 - run_script ScriptCommand_MaxOutFlagValue + run_command ScriptCommand_MaxOutFlagValue db EVENT_FLAG_00 - run_script ScriptCommand_SetFlagValue + run_command ScriptCommand_SetFlagValue db EVENT_FLAG_1F db $03 - run_script ScriptCommand_ZeroOutFlagValue + run_command ScriptCommand_ZeroOutFlagValue db EVENT_FLAG_38 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text072f - run_script Func_ccdc + run_command Func_ccdc tx Text0730 - run_script ScriptCommand_TakeCard + run_command ScriptCommand_TakeCard db CLEFABLE - run_script ScriptCommand_GiveCard + run_command ScriptCommand_GiveCard db SURFING_PIKACHU1 - run_script ScriptCommand_ShowCardReceivedScreen + run_command ScriptCommand_ShowCardReceivedScreen db SURFING_PIKACHU1 - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text0731 .ows_dbcc - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_1F db $03 dw NO_JUMP - run_script ScriptCommand_PrintVariableText + run_command ScriptCommand_PrintVariableText tx Text0732 tx Text0733 - run_script ScriptCommand_SetFlagValue + run_command ScriptCommand_SetFlagValue db EVENT_FLAG_1F db $04 - run_script ScriptCommand_AskQuestionJump + run_command ScriptCommand_AskQuestionJump tx Text072b dw .ows_dbe1 - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text072c .ows_dbe1 - run_script Func_cf0c + run_command Func_cf0c db $bb dw .ows_dbe8 - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text0734 .ows_dbe8 - run_script Func_cf12 + run_command Func_cf12 db $bb dw .ows_dbef - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text0735 .ows_dbef - run_script ScriptCommand_MaxOutFlagValue + run_command ScriptCommand_MaxOutFlagValue db EVENT_FLAG_00 - run_script ScriptCommand_SetFlagValue + run_command ScriptCommand_SetFlagValue db EVENT_FLAG_1F db $05 - run_script ScriptCommand_ZeroOutFlagValue + run_command ScriptCommand_ZeroOutFlagValue db EVENT_FLAG_38 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text072f - run_script Func_ccdc + run_command Func_ccdc tx Text0736 - run_script ScriptCommand_TakeCard + run_command ScriptCommand_TakeCard db DITTO - run_script ScriptCommand_GiveCard + run_command ScriptCommand_GiveCard db FLYING_PIKACHU - run_script ScriptCommand_ShowCardReceivedScreen + run_command ScriptCommand_ShowCardReceivedScreen db FLYING_PIKACHU - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text0737 .ows_dc05 - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_1F db $05 dw NO_JUMP - run_script ScriptCommand_PrintVariableText + run_command ScriptCommand_PrintVariableText tx Text0738 tx Text0739 - run_script ScriptCommand_SetFlagValue + run_command ScriptCommand_SetFlagValue db EVENT_FLAG_1F db $06 - run_script ScriptCommand_AskQuestionJump + run_command ScriptCommand_AskQuestionJump tx Text072b dw .ows_dc1a - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text072c .ows_dc1a - run_script Func_cf0c + run_command Func_cf0c db $b8 dw .ows_dc21 - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text073a .ows_dc21 - run_script Func_cf12 + run_command Func_cf12 db $b8 dw .ows_dc28 - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text073b .ows_dc28 - run_script ScriptCommand_MaxOutFlagValue + run_command ScriptCommand_MaxOutFlagValue db EVENT_FLAG_00 - run_script ScriptCommand_SetFlagValue + run_command ScriptCommand_SetFlagValue db EVENT_FLAG_1F db $07 - run_script ScriptCommand_ZeroOutFlagValue + run_command ScriptCommand_ZeroOutFlagValue db EVENT_FLAG_38 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text072f - run_script Func_ccdc + run_command Func_ccdc tx Text073c - run_script ScriptCommand_TakeCard + run_command ScriptCommand_TakeCard db CHANSEY - run_script ScriptCommand_GiveCard + run_command ScriptCommand_GiveCard db SURFING_PIKACHU2 - run_script ScriptCommand_ShowCardReceivedScreen + run_command ScriptCommand_ShowCardReceivedScreen db SURFING_PIKACHU2 - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text073d .ows_dc3e - run_script ScriptCommand_MaxOutFlagValue + run_command ScriptCommand_MaxOutFlagValue db EVENT_FLAG_39 - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text073e Preload_Ronald1InIshiharasHouse: ; dc43 (3:5c43) @@ -3724,25 +3724,25 @@ Preload_Ronald1InIshiharasHouse: ; dc43 (3:5c43) Script_Ronald: ; dc4b (3:5c4b) start_script - run_script ScriptCommand_JumpIfFlagNonzero2 + run_command ScriptCommand_JumpIfFlagNonzero2 db EVENT_FLAG_4E dw .ows_dc55 - run_script ScriptCommand_MaxOutFlagValue + run_command ScriptCommand_MaxOutFlagValue db EVENT_FLAG_4E - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text073f .ows_dc55 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0740 - run_script ScriptCommand_AskQuestionJump + run_command ScriptCommand_AskQuestionJump tx Text0741 dw .ows_dc60 - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text0742 .ows_dc60 - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text0743 ; 0xdc63 @@ -3752,7 +3752,7 @@ Script_Ronald: ; dc4b (3:5c4b) Script_Clerk1: ; dc64 (3:5c64) start_script - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text045a FightingClubLobbyAfterDuel: ; dc68 (3:5c68) @@ -3770,110 +3770,110 @@ FightingClubLobbyAfterDuel: ; dc68 (3:5c68) Script_Imakuni: ; dd0d (3:5d0d) start_script - run_script ScriptCommand_SetFlagValue + run_command ScriptCommand_SetFlagValue db EVENT_IMAKUNI_STATE db IMAKUNI_TALKED - run_script ScriptCommand_JumpIfFlagZero2 + run_command ScriptCommand_JumpIfFlagZero2 db EVENT_TEMP_TALKED_TO_IMAKUNI dw NO_JUMP - run_script ScriptCommand_PrintVariableText + run_command ScriptCommand_PrintVariableText tx Text0467 tx Text0468 - run_script ScriptCommand_MaxOutFlagValue + run_command ScriptCommand_MaxOutFlagValue db EVENT_TEMP_TALKED_TO_IMAKUNI - run_script ScriptCommand_AskQuestionJump + run_command ScriptCommand_AskQuestionJump tx Text0469 dw .declineDuel - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text046a - run_script ScriptCommand_QuitScriptFully + run_command ScriptCommand_QuitScriptFully .declineDuel - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text046b - run_script ScriptCommand_StartBattle + run_command ScriptCommand_StartBattle db PRIZES_6 db IMAKUNI_DECK_ID db MUSIC_IMAKUNI - run_script ScriptCommand_QuitScriptFully + run_command ScriptCommand_QuitScriptFully ; 0xdd2d Script_BeatImakuni: ; dd2d (3:5d2d) start_script - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_IMAKUNI_WIN_COUNT db $07 dw .giveBoosters - run_script ScriptCommand_IncrementFlagValue + run_command ScriptCommand_IncrementFlagValue db EVENT_IMAKUNI_WIN_COUNT - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_IMAKUNI_WIN_COUNT db $03 dw .threeWins - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_IMAKUNI_WIN_COUNT db $06 dw .sixWins .giveBoosters - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text046c - run_script ScriptCommand_GiveOneOfEachTrainerBooster - run_script ScriptCommand_Jump + run_command ScriptCommand_GiveOneOfEachTrainerBooster + run_command ScriptCommand_Jump dw .done .threeWins - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text046d - run_script ScriptCommand_Jump + run_command ScriptCommand_Jump dw .giveImakuniCard .sixWins - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text046e .giveImakuniCard - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text046f - run_script ScriptCommand_GiveCard + run_command ScriptCommand_GiveCard db IMAKUNI_CARD - run_script ScriptCommand_ShowCardReceivedScreen + run_command ScriptCommand_ShowCardReceivedScreen db IMAKUNI_CARD .done - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0470 - run_script ScriptCommand_Jump + run_command ScriptCommand_Jump dw ScriptJump_ImakuniCommon Script_LostToImakuni: ; dd5c (3:5d5c) start_script - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0471 ScriptJump_ImakuniCommon: ; dd60 (3:5d60) - run_script ScriptCommand_CloseTextBox - run_script ScriptCommand_JumpIfPlayerCoordMatches + run_command ScriptCommand_CloseTextBox + run_command ScriptCommand_JumpIfPlayerCoordMatches db 18 db 4 dw .ows_dd69 - run_script ScriptCommand_Jump + run_command ScriptCommand_Jump dw .ows_dd6e .ows_dd69 - run_script ScriptCommand_SetPlayerDirection + run_command ScriptCommand_SetPlayerDirection db EAST - run_script ScriptCommand_MovePlayer + run_command ScriptCommand_MovePlayer db WEST db $01 .ows_dd6e - run_script ScriptCommand_MoveActiveNPC + run_command ScriptCommand_MoveActiveNPC dw NPCMovement_dd78 - run_script Func_cdcb - run_script ScriptCommand_MaxOutFlagValue + run_command Func_cdcb + run_command ScriptCommand_MaxOutFlagValue db EVENT_TEMP_BATTLED_IMAKUNI - run_script Func_d408 + run_command Func_d408 db $09 - run_script Func_d41d - run_script ScriptCommand_QuitScriptFully + run_command Func_d41d + run_command ScriptCommand_QuitScriptFully ; 0xdd78 NPCMovement_dd78 ; dd78 (3:5d78) @@ -3911,94 +3911,94 @@ Preload_ImakuniInWaterClubLobby: ; e0b0 (3:60b0) Script_Gal1: ; e0cf (3:60cf) start_script - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_12 db $02 dw .ows_e10e - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_12 db $00 dw NO_JUMP - run_script ScriptCommand_PrintVariableText + run_command ScriptCommand_PrintVariableText tx Text041d tx Text041e - run_script ScriptCommand_SetFlagValue + run_command ScriptCommand_SetFlagValue db EVENT_FLAG_12 db $01 - run_script ScriptCommand_AskQuestionJump + run_command ScriptCommand_AskQuestionJump tx Text041f dw .ows_e0eb - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0420 - run_script ScriptCommand_QuitScriptFully + run_command ScriptCommand_QuitScriptFully .ows_e0eb - run_script Func_cf0c + run_command Func_cf0c db $59 dw .ows_e0f3 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0421 - run_script ScriptCommand_QuitScriptFully + run_command ScriptCommand_QuitScriptFully .ows_e0f3 - run_script Func_cf12 + run_command Func_cf12 db $59 dw .ows_e0fb - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0422 - run_script ScriptCommand_QuitScriptFully + run_command ScriptCommand_QuitScriptFully .ows_e0fb - run_script ScriptCommand_SetFlagValue + run_command ScriptCommand_SetFlagValue db EVENT_FLAG_12 db $02 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0423 - run_script Func_ccdc + run_command Func_ccdc tx Text0424 - run_script ScriptCommand_TakeCard + run_command ScriptCommand_TakeCard db LAPRAS - run_script ScriptCommand_GiveCard + run_command ScriptCommand_GiveCard db ARCANINE1 - run_script ScriptCommand_ShowCardReceivedScreen + run_command ScriptCommand_ShowCardReceivedScreen db ARCANINE1 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0425 - run_script ScriptCommand_QuitScriptFully + run_command ScriptCommand_QuitScriptFully .ows_e10e - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text0426 Script_Lass1: ; e111 (3:6111) start_script - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_14 db $01 dw .ows_e121 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0427 - run_script ScriptCommand_SetFlagValue + run_command ScriptCommand_SetFlagValue db EVENT_FLAG_14 db $01 - run_script ScriptCommand_SetFlagValue + run_command ScriptCommand_SetFlagValue db EVENT_IMAKUNI_STATE db IMAKUNI_MENTIONED - run_script ScriptCommand_QuitScriptFully + run_command ScriptCommand_QuitScriptFully .ows_e121 - run_script ScriptCommand_JumpIfFlagNotEqual + run_command ScriptCommand_JumpIfFlagNotEqual db EVENT_IMAKUNI_ROOM db IMAKUNI_WATER_CLUB dw .ows_e12d - run_script ScriptCommand_JumpIfFlagNonzero2 + run_command ScriptCommand_JumpIfFlagNonzero2 db EVENT_TEMP_BATTLED_IMAKUNI dw .ows_e12d - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text0428 .ows_e12d - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text0429 Preload_Man2InWaterClubLobby: ; e130 (3:6130) @@ -4008,12 +4008,12 @@ Preload_Man2InWaterClubLobby: ; e130 (3:6130) Script_Man2: ; e137 (3:6137) start_script - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text042a Script_Pappy2: ; e13b (3:613b) start_script - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text042b WaterClubMovePlayer: ; e13f (3:613f) @@ -4057,138 +4057,138 @@ WaterClubAfterDuel: ;e157 (3:6157) Script_Sara: ; e177 (3:6177) start_script - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text042c - run_script ScriptCommand_AskQuestionJump + run_command ScriptCommand_AskQuestionJump tx Text042d dw .yes_duel - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text042e - run_script ScriptCommand_QuitScriptFully + run_command ScriptCommand_QuitScriptFully .yes_duel - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text042f - run_script ScriptCommand_StartBattle + run_command ScriptCommand_StartBattle db PRIZES_2 db WATERFRONT_POKEMON_DECK_ID db MUSIC_DUEL_THEME_1 - run_script ScriptCommand_QuitScriptFully + run_command ScriptCommand_QuitScriptFully Script_BeatSara: ; e18c (3:618c) start_script - run_script ScriptCommand_MaxOutFlagValue + run_command ScriptCommand_MaxOutFlagValue db EVENT_BEAT_SARA - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0430 - run_script ScriptCommand_GiveBoosterPacks + run_command ScriptCommand_GiveBoosterPacks db BOOSTER_COLOSSEUM_WATER db BOOSTER_COLOSSEUM_WATER db NO_BOOSTER - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0431 - run_script ScriptCommand_QuitScriptFully + run_command ScriptCommand_QuitScriptFully Script_LostToSara: ; e19a (03:619a) start_script - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text0432 Script_Amanda: ; e19e (03:619e) start_script - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0433 - run_script ScriptCommand_AskQuestionJump + run_command ScriptCommand_AskQuestionJump tx Text0434 dw .yes_duel - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0435 - run_script ScriptCommand_QuitScriptFully + run_command ScriptCommand_QuitScriptFully .yes_duel - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0436 - run_script ScriptCommand_StartBattle + run_command ScriptCommand_StartBattle db PRIZES_3 db LONELY_FRIENDS_DECK_ID db MUSIC_DUEL_THEME_1 - run_script ScriptCommand_QuitScriptFully + run_command ScriptCommand_QuitScriptFully Script_BeatAmanda: ; e1b3 (03:61b3) start_script - run_script ScriptCommand_MaxOutFlagValue + run_command ScriptCommand_MaxOutFlagValue db EVENT_BEAT_AMANDA - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0437 - run_script ScriptCommand_GiveBoosterPacks + run_command ScriptCommand_GiveBoosterPacks db BOOSTER_MYSTERY_LIGHTNING_COLORLESS db BOOSTER_MYSTERY_LIGHTNING_COLORLESS db NO_BOOSTER - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0438 - run_script ScriptCommand_QuitScriptFully + run_command ScriptCommand_QuitScriptFully Script_LostToAmanda: ; e1c1 (03:61c1) start_script - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text0439 Script_NotReadyToSeeAmy: ; e1c5 (03:61c5) start_script - run_script ScriptCommand_JumpIfPlayerCoordMatches + run_command ScriptCommand_JumpIfPlayerCoordMatches db $12 db $08 dw .ows_e1ec - run_script ScriptCommand_JumpIfPlayerCoordMatches + run_command ScriptCommand_JumpIfPlayerCoordMatches db $14 db $08 dw .ows_e1f2 - run_script ScriptCommand_JumpIfPlayerCoordMatches + run_command ScriptCommand_JumpIfPlayerCoordMatches db $18 db $08 dw .ows_e1f8 .ows_e1d5 - run_script ScriptCommand_MovePlayer + run_command ScriptCommand_MovePlayer db SOUTH db $04 - run_script ScriptCommand_MoveActiveNPC + run_command ScriptCommand_MoveActiveNPC dw NPCMovement_e213 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text043a - run_script ScriptCommand_JumpIfPlayerCoordMatches + run_command ScriptCommand_JumpIfPlayerCoordMatches db $12 db $0a dw .ows_e1fe - run_script ScriptCommand_JumpIfPlayerCoordMatches + run_command ScriptCommand_JumpIfPlayerCoordMatches db $14 db $0a dw .ows_e202 - run_script ScriptCommand_MoveActiveNPC + run_command ScriptCommand_MoveActiveNPC dw NPCMovement_e215 - run_script ScriptCommand_QuitScriptFully + run_command ScriptCommand_QuitScriptFully .ows_e1ec - run_script ScriptCommand_MoveActiveNPC + run_command ScriptCommand_MoveActiveNPC dw NPCMovement_e206 - run_script ScriptCommand_Jump + run_command ScriptCommand_Jump dw .ows_e1d5 .ows_e1f2 - run_script ScriptCommand_MoveActiveNPC + run_command ScriptCommand_MoveActiveNPC dw NPCMovement_e20b - run_script ScriptCommand_Jump + run_command ScriptCommand_Jump dw .ows_e1d5 .ows_e1f8 - run_script ScriptCommand_MoveActiveNPC + run_command ScriptCommand_MoveActiveNPC dw NPCMovement_e20f - run_script ScriptCommand_Jump + run_command ScriptCommand_Jump dw .ows_e1d5 .ows_e1fe - run_script ScriptCommand_MoveActiveNPC + run_command ScriptCommand_MoveActiveNPC dw NPCMovement_e218 - run_script ScriptCommand_QuitScriptFully + run_command ScriptCommand_QuitScriptFully .ows_e202 - run_script ScriptCommand_MoveActiveNPC + run_command ScriptCommand_MoveActiveNPC dw NPCMovement_e219 - run_script ScriptCommand_QuitScriptFully + run_command ScriptCommand_QuitScriptFully NPCMovement_e206: ; e206 (3:6206) db NORTH @@ -4229,119 +4229,119 @@ NPCMovement_e219: ; e219 (3:6219) Script_Joshua: ; e21c (3:621c) start_script - run_script ScriptCommand_JumpIfFlagZero2 + run_command ScriptCommand_JumpIfFlagZero2 db EVENT_BEAT_AMANDA dw .sara_and_amanda_not_beaten - run_script ScriptCommand_JumpIfFlagZero2 + run_command ScriptCommand_JumpIfFlagZero2 db EVENT_BEAT_SARA dw .sara_and_amanda_not_beaten - run_script ScriptCommand_Jump + run_command ScriptCommand_Jump dw .beat_sara_and_amanda .sara_and_amanda_not_beaten - run_script ScriptCommand_SetFlagValue + run_command ScriptCommand_SetFlagValue db EVENT_JOSHUA_STATE db JOSHUA_TALKED - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text043b - run_script ScriptCommand_QuitScriptFully + run_command ScriptCommand_QuitScriptFully .beat_sara_and_amanda - run_script ScriptCommand_JumpIfFlagNonzero1 + run_command ScriptCommand_JumpIfFlagNonzero1 db EVENT_JOSHUA_STATE dw .already_talked - run_script ScriptCommand_SetFlagValue + run_command ScriptCommand_SetFlagValue db EVENT_JOSHUA_STATE db JOSHUA_TALKED - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text043b - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text043c .already_talked - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_JOSHUA_STATE db JOSHUA_TALKED dw NO_JUMP - run_script ScriptCommand_PrintVariableText + run_command ScriptCommand_PrintVariableText tx Text043d tx Text043e - run_script ScriptCommand_AskQuestionJump + run_command ScriptCommand_AskQuestionJump tx Text043f dw .startDuel - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_JOSHUA_STATE db JOSHUA_TALKED dw NO_JUMP - run_script ScriptCommand_PrintVariableText + run_command ScriptCommand_PrintVariableText tx Text0440 tx Text0441 - run_script ScriptCommand_QuitScriptFully + run_command ScriptCommand_QuitScriptFully .startDuel: - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0442 - run_script ScriptCommand_TryGivePCPack + run_command ScriptCommand_TryGivePCPack db $04 - run_script ScriptCommand_StartBattle + run_command ScriptCommand_StartBattle db PRIZES_4 db SOUND_OF_THE_WAVES_DECK_ID db MUSIC_DUEL_THEME_1 - run_script ScriptCommand_QuitScriptFully + run_command ScriptCommand_QuitScriptFully Script_LostToJoshua: ; e260 (3:6260) start_script - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_JOSHUA_STATE db JOSHUA_TALKED dw NO_JUMP - run_script ScriptCommand_PrintVariableText + run_command ScriptCommand_PrintVariableText tx Text0443 tx Text0444 - run_script ScriptCommand_QuitScriptFully + run_command ScriptCommand_QuitScriptFully Script_BeatJoshua: ; e26c (3:626c) start_script - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_JOSHUA_STATE db JOSHUA_TALKED dw NO_JUMP - run_script ScriptCommand_PrintVariableText + run_command ScriptCommand_PrintVariableText tx Text0445 tx Text0446 - run_script ScriptCommand_GiveBoosterPacks + run_command ScriptCommand_GiveBoosterPacks db BOOSTER_MYSTERY_WATER_COLORLESS db BOOSTER_MYSTERY_WATER_COLORLESS db NO_BOOSTER - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_JOSHUA_STATE db JOSHUA_TALKED dw NO_JUMP - run_script ScriptCommand_PrintVariableText + run_command ScriptCommand_PrintVariableText tx Text0447 tx Text0448 - run_script ScriptCommand_JumpIfFlagNotEqual + run_command ScriptCommand_JumpIfFlagNotEqual db EVENT_JOSHUA_STATE db JOSHUA_BEATEN dw .firstJoshuaWin - run_script ScriptCommand_QuitScriptFully + run_command ScriptCommand_QuitScriptFully .firstJoshuaWin: - run_script ScriptCommand_SetFlagValue + run_command ScriptCommand_SetFlagValue db EVENT_JOSHUA_STATE db JOSHUA_BEATEN - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0449 - run_script ScriptCommand_CloseTextBox - run_script ScriptCommand_MoveActiveNPCByDirection + run_command ScriptCommand_CloseTextBox + run_command ScriptCommand_MoveActiveNPCByDirection dw NPCMovementTable_e2a1 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text044a - run_script Func_cfc6 + run_command Func_cfc6 db $00 - run_script ScriptCommand_CloseAdvancedTextBox - run_script ScriptCommand_SetNextNPCandScript + run_command ScriptCommand_CloseAdvancedTextBox + run_command ScriptCommand_SetNextNPCandScript db NPC_AMY dw Script_MeetAmy - run_script ScriptCommand_EndScriptLoop1 + run_command ScriptCommand_EndScriptLoop1 ret NPCMovementTable_e2a1: ; e2a1 (3:62a1) @@ -4380,149 +4380,149 @@ Preload_Amy: ; e2ad (3:62ad) Script_MeetAmy: ; e2d1 (3:62d1) start_script - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text044b - run_script ScriptCommand_SetDialogName + run_command ScriptCommand_SetDialogName db NPC_JOSHUA - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text044c - run_script ScriptCommand_SetDialogName + run_command ScriptCommand_SetDialogName db NPC_AMY - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text044d - run_script ScriptCommand_CloseTextBox - run_script Func_d095 + run_command ScriptCommand_CloseTextBox + run_command Func_d095 db $09 db $2f db $10 - run_script ScriptCommand_DoFrames + run_command ScriptCommand_DoFrames db $20 - run_script Func_d095 + run_command Func_d095 db $04 db $0e db $00 - run_script Func_d0be + run_command Func_d0be db $14 db $04 - run_script ScriptCommand_SetPlayerDirection + run_command ScriptCommand_SetPlayerDirection db $03 - run_script ScriptCommand_MovePlayer + run_command ScriptCommand_MovePlayer db WEST db $01 - run_script ScriptCommand_SetPlayerDirection + run_command ScriptCommand_SetPlayerDirection db $00 - run_script ScriptCommand_MovePlayer + run_command ScriptCommand_MovePlayer db NORTH db $01 - run_script ScriptCommand_MovePlayer + run_command ScriptCommand_MovePlayer db NORTH db $01 - run_script ScriptCommand_MoveArbitraryNPC + run_command ScriptCommand_MoveArbitraryNPC db NPC_JOSHUA dw NPCMovement_e2ab - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text044e - run_script ScriptCommand_Jump + run_command ScriptCommand_Jump dw Script_Amy.askConfirmDuel Script_Amy: ; e304 (3:6304) start_script - run_script ScriptCommand_JumpIfFlagNonzero2 + run_command ScriptCommand_JumpIfFlagNonzero2 db EVENT_BEAT_AMY dw ScriptJump_TalkToAmyAgain - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text044f .askConfirmDuel - run_script ScriptCommand_AskQuestionJump + run_command ScriptCommand_AskQuestionJump tx Text0450 dw .startDuel .denyDuel - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0451 - run_script Func_d0d9 + run_command Func_d0d9 db $14 db $04 dw Script_LostToAmy.ows_e34e - run_script ScriptCommand_QuitScriptFully + run_command ScriptCommand_QuitScriptFully .startDuel - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0452 - run_script ScriptCommand_StartBattle + run_command ScriptCommand_StartBattle db PRIZES_6 db GO_GO_RAIN_DANCE_DECK_ID db MUSIC_DUEL_THEME_2 - run_script ScriptCommand_QuitScriptFully + run_command ScriptCommand_QuitScriptFully Script_BeatAmy: ; e322 (3:6322) start_script - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0453 - run_script ScriptCommand_JumpIfFlagNonzero2 + run_command ScriptCommand_JumpIfFlagNonzero2 db EVENT_BEAT_AMY dw .beatAmyCommon - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0454 - run_script ScriptCommand_MaxOutFlagValue + run_command ScriptCommand_MaxOutFlagValue db EVENT_BEAT_AMY - run_script ScriptCommand_TryGiveMedalPCPacks - run_script Func_d125 + run_command ScriptCommand_TryGiveMedalPCPacks + run_command Func_d125 db EVENT_BEAT_AMY - run_script Func_d435 + run_command Func_d435 db $03 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0455 .beatAmyCommon - run_script ScriptCommand_GiveBoosterPacks + run_command ScriptCommand_GiveBoosterPacks db BOOSTER_LABORATORY_WATER db BOOSTER_LABORATORY_WATER db NO_BOOSTER - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0456 - run_script Func_d0d9 + run_command Func_d0d9 db $14 db $04 dw Script_LostToAmy.ows_e34e - run_script ScriptCommand_QuitScriptFully + run_command ScriptCommand_QuitScriptFully Script_LostToAmy: ; e344 (3:6344) start_script - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0457 - run_script Func_d0d9 + run_command Func_d0d9 db $14 db $04 dw .ows_e34e - run_script ScriptCommand_QuitScriptFully + run_command ScriptCommand_QuitScriptFully .ows_e34e - run_script Func_d095 + run_command Func_d095 db $08 db $2e db $10 - run_script Func_d0be + run_command Func_d0be db $16 db $04 - run_script ScriptCommand_QuitScriptFully + run_command ScriptCommand_QuitScriptFully ScriptJump_TalkToAmyAgain: ; e356 (3:6356) - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0458 - run_script ScriptCommand_AskQuestionJump + run_command ScriptCommand_AskQuestionJump tx Text0450 dw .startDuel - run_script ScriptCommand_Jump + run_command ScriptCommand_Jump dw Script_Amy.denyDuel .startDuel - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0459 - run_script ScriptCommand_StartBattle + run_command ScriptCommand_StartBattle db PRIZES_6 db GO_GO_RAIN_DANCE_DECK_ID db MUSIC_DUEL_THEME_2 - run_script ScriptCommand_QuitScriptFully + run_command ScriptCommand_QuitScriptFully ; 0xe369 INCROM $e369, $e525 @@ -4596,240 +4596,240 @@ GrassClubLobbyAfterDuel: ; e5c4 (3:65c4) Script_Brittany: ; e5d2 (3:65d2) start_script - run_script ScriptCommand_JumpIfFlagLessThan + run_command ScriptCommand_JumpIfFlagLessThan db EVENT_FLAG_35 db $01 dw NO_JUMP - run_script ScriptCommand_PrintVariableText + run_command ScriptCommand_PrintVariableText tx Text06e0 tx Text06e1 - run_script ScriptCommand_AskQuestionJump + run_command ScriptCommand_AskQuestionJump tx Text06e2 dw .wantToDuel - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text06e3 - run_script ScriptCommand_QuitScriptFully + run_command ScriptCommand_QuitScriptFully .wantToDuel - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text06e4 - run_script ScriptCommand_StartBattle + run_command ScriptCommand_StartBattle db PRIZES_4 db ETCETERA_DECK_ID db MUSIC_DUEL_THEME_1 - run_script ScriptCommand_QuitScriptFully + run_command ScriptCommand_QuitScriptFully Script_BeatBrittany: ; e5ee (3:65ee) start_script - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text06e5 - run_script ScriptCommand_GiveBoosterPacks + run_command ScriptCommand_GiveBoosterPacks db BOOSTER_MYSTERY_GRASS_COLORLESS db BOOSTER_MYSTERY_GRASS_COLORLESS db NO_BOOSTER - run_script ScriptCommand_JumpIfFlagLessThan + run_command ScriptCommand_JumpIfFlagLessThan db EVENT_FLAG_35 db $02 dw NO_JUMP - run_script ScriptCommand_PrintVariableText + run_command ScriptCommand_PrintVariableText tx Text06e6 tx Text06e7 - run_script ScriptCommand_MaxOutFlagValue + run_command ScriptCommand_MaxOutFlagValue db FLAG_BEAT_BRITTANY - run_script ScriptCommand_JumpIfFlagNotLessThan + run_command ScriptCommand_JumpIfFlagNotLessThan db EVENT_FLAG_35 db $02 dw .finishSequence - run_script ScriptCommand_JumpIfFlagZero2 + run_command ScriptCommand_JumpIfFlagZero2 db EVENT_FLAG_3A dw .finishSequence - run_script ScriptCommand_JumpIfFlagZero2 + run_command ScriptCommand_JumpIfFlagZero2 db EVENT_FLAG_3B dw .finishSequence - run_script ScriptCommand_SetFlagValue + run_command ScriptCommand_SetFlagValue db EVENT_FLAG_35 db $01 - run_script ScriptCommand_MaxOutFlagValue + run_command ScriptCommand_MaxOutFlagValue db EVENT_FLAG_1E - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text06e8 .finishSequence - run_script ScriptCommand_QuitScriptFully + run_command ScriptCommand_QuitScriptFully Script_LostToBrittany: ; e618 (3:6618) start_script - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text06e9 ; 0xe61c Script_e61c: ; e61c (3:661c) - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text06ea Script_e61f: ; e61f (3:661f) start_script - run_script ScriptCommand_JumpIfFlagNonzero2 + run_command ScriptCommand_JumpIfFlagNonzero2 db EVENT_FLAG_04 dw Script_e61c - run_script ScriptCommand_JumpIfFlagNotLessThan + run_command ScriptCommand_JumpIfFlagNotLessThan db EVENT_FLAG_37 db $06 dw Script_e61c - run_script ScriptCommand_JumpIfFlagNotLessThan + run_command ScriptCommand_JumpIfFlagNotLessThan db EVENT_FLAG_37 db $04 dw .ows_e6a1 - run_script ScriptCommand_JumpIfFlagNotLessThan + run_command ScriptCommand_JumpIfFlagNotLessThan db EVENT_FLAG_37 db $02 dw .ows_e66a - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_37 db $00 dw NO_JUMP - run_script ScriptCommand_PrintVariableText + run_command ScriptCommand_PrintVariableText tx Text06eb tx Text06ec - run_script ScriptCommand_SetFlagValue + run_command ScriptCommand_SetFlagValue db EVENT_FLAG_37 db $01 - run_script ScriptCommand_AskQuestionJump + run_command ScriptCommand_AskQuestionJump tx Text06ed dw .ows_e648 - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text06ee .ows_e648 - run_script Func_cf0c + run_command Func_cf0c db $1c dw .ows_e64f - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text06ef .ows_e64f - run_script Func_cf12 + run_command Func_cf12 db $1c dw .ows_e656 - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text06f0 .ows_e656 - run_script ScriptCommand_MaxOutFlagValue + run_command ScriptCommand_MaxOutFlagValue db EVENT_FLAG_04 - run_script ScriptCommand_SetFlagValue + run_command ScriptCommand_SetFlagValue db EVENT_FLAG_37 db $02 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text06f1 - run_script Func_ccdc + run_command Func_ccdc tx Text06f2 - run_script ScriptCommand_TakeCard + run_command ScriptCommand_TakeCard db ODDISH - run_script ScriptCommand_GiveCard + run_command ScriptCommand_GiveCard db VILEPLUME - run_script ScriptCommand_ShowCardReceivedScreen + run_command ScriptCommand_ShowCardReceivedScreen db VILEPLUME - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text06f3 .ows_e66a - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_37 db $02 dw NO_JUMP - run_script ScriptCommand_PrintVariableText + run_command ScriptCommand_PrintVariableText tx Text06f4 tx Text06f5 - run_script ScriptCommand_SetFlagValue + run_command ScriptCommand_SetFlagValue db EVENT_FLAG_37 db $03 - run_script ScriptCommand_AskQuestionJump + run_command ScriptCommand_AskQuestionJump tx Text06ed dw .ows_e67f - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text06f6 .ows_e67f - run_script Func_cf0c + run_command Func_cf0c db $ab dw .ows_e686 - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text06f7 .ows_e686 - run_script Func_cf12 + run_command Func_cf12 db $ab dw .ows_e68d - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text06f8 .ows_e68d - run_script ScriptCommand_MaxOutFlagValue + run_command ScriptCommand_MaxOutFlagValue db EVENT_FLAG_04 - run_script ScriptCommand_SetFlagValue + run_command ScriptCommand_SetFlagValue db EVENT_FLAG_37 db $04 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text06f9 - run_script Func_ccdc + run_command Func_ccdc tx Text06fa - run_script ScriptCommand_TakeCard + run_command ScriptCommand_TakeCard db CLEFAIRY - run_script ScriptCommand_GiveCard + run_command ScriptCommand_GiveCard db PIKACHU3 - run_script ScriptCommand_ShowCardReceivedScreen + run_command ScriptCommand_ShowCardReceivedScreen db PIKACHU3 - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text06f3 .ows_e6a1 - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_37 db $04 dw NO_JUMP - run_script ScriptCommand_PrintVariableText + run_command ScriptCommand_PrintVariableText tx Text06fb tx Text06fc - run_script ScriptCommand_SetFlagValue + run_command ScriptCommand_SetFlagValue db EVENT_FLAG_37 db $05 - run_script ScriptCommand_AskQuestionJump + run_command ScriptCommand_AskQuestionJump tx Text06ed dw .ows_e6b6 - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text06fd .ows_e6b6 - run_script Func_cf0c + run_command Func_cf0c db $32 dw .ows_e6bd - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text06fe .ows_e6bd - run_script Func_cf12 + run_command Func_cf12 db $32 dw .ows_e6c4 - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text06ff .ows_e6c4 - run_script ScriptCommand_MaxOutFlagValue + run_command ScriptCommand_MaxOutFlagValue db EVENT_FLAG_04 - run_script ScriptCommand_SetFlagValue + run_command ScriptCommand_SetFlagValue db EVENT_FLAG_37 db $06 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0700 - run_script Func_ccdc + run_command Func_ccdc tx Text0701 - run_script ScriptCommand_TakeCard + run_command ScriptCommand_TakeCard db CHARIZARD - run_script ScriptCommand_GiveCard + run_command ScriptCommand_GiveCard db BLASTOISE - run_script ScriptCommand_ShowCardReceivedScreen + run_command ScriptCommand_ShowCardReceivedScreen db BLASTOISE - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text06f3 ; 0xe6d8 @@ -4894,48 +4894,48 @@ TrySecondRonaldFight: ; e837 (3:6837) Script_FirstRonaldEncounter: ; e862 (3:6862) start_script - run_script ScriptCommand_MaxOutFlagValue + run_command ScriptCommand_MaxOutFlagValue db EVENT_FLAG_4B - run_script ScriptCommand_MoveActiveNPC + run_command ScriptCommand_MoveActiveNPC dw NPCMovement_e894 - run_script Func_d135 + run_command Func_d135 db $00 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0645 - run_script ScriptCommand_CloseTextBox - run_script ScriptCommand_MovePlayer + run_command ScriptCommand_CloseTextBox + run_command ScriptCommand_MovePlayer db NORTH db $01 - run_script ScriptCommand_MovePlayer + run_command ScriptCommand_MovePlayer db NORTH db $01 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0646 - run_script ScriptCommand_AskQuestionJumpDefaultYes + run_command ScriptCommand_AskQuestionJumpDefaultYes dw 0000 dw .ows_e882 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0647 - run_script ScriptCommand_Jump + run_command ScriptCommand_Jump dw .ows_e885 .ows_e882 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0648 .ows_e885 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0649 - run_script ScriptCommand_CloseTextBox - run_script ScriptCommand_SetPlayerDirection + run_command ScriptCommand_CloseTextBox + run_command ScriptCommand_SetPlayerDirection db $03 - run_script ScriptCommand_MovePlayer + run_command ScriptCommand_MovePlayer db EAST db $04 - run_script ScriptCommand_MoveActiveNPC + run_command ScriptCommand_MoveActiveNPC dw NPCMovement_e894 - run_script Func_cdcb - run_script Func_d41d - run_script ScriptCommand_QuitScriptFully + run_command Func_cdcb + run_command Func_d41d + run_command ScriptCommand_QuitScriptFully NPCMovement_e894: ; e894 (3:6894) db SOUTH @@ -4950,70 +4950,70 @@ NPCMovement_e894: ; e894 (3:6894) Script_FirstRonaldFight: ; e8c0 (3:68c0) start_script - run_script ScriptCommand_MoveActiveNPC + run_command ScriptCommand_MoveActiveNPC dw NPCMovement_e905 - run_script ScriptCommand_DoFrames + run_command ScriptCommand_DoFrames db $3c - run_script ScriptCommand_MoveActiveNPC + run_command ScriptCommand_MoveActiveNPC dw NPCMovement_e90d - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text064a - run_script ScriptCommand_JumpIfPlayerCoordMatches + run_command ScriptCommand_JumpIfPlayerCoordMatches db $08 db $02 dw $68d6 - run_script ScriptCommand_SetPlayerDirection + run_command ScriptCommand_SetPlayerDirection db WEST - run_script ScriptCommand_MovePlayer + run_command ScriptCommand_MovePlayer db WEST db $01 - run_script ScriptCommand_SetPlayerDirection + run_command ScriptCommand_SetPlayerDirection db SOUTH - run_script ScriptCommand_MovePlayer + run_command ScriptCommand_MovePlayer db SOUTH db $01 - run_script ScriptCommand_MovePlayer + run_command ScriptCommand_MovePlayer db SOUTH db $01 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text064b - run_script ScriptCommand_SetFlagValue + run_command ScriptCommand_SetFlagValue db $4c db $01 - run_script ScriptCommand_StartBattle + run_command ScriptCommand_StartBattle db PRIZES_6 db IM_RONALD_DECK_ID db MUSIC_RONALD - run_script ScriptCommand_QuitScriptFully + run_command ScriptCommand_QuitScriptFully Script_BeatFirstRonaldFight: ; e8e9 (3:68e9) start_script - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text064c - run_script ScriptCommand_GiveCard + run_command ScriptCommand_GiveCard db JIGGLYPUFF1 - run_script ScriptCommand_ShowCardReceivedScreen + run_command ScriptCommand_ShowCardReceivedScreen db JIGGLYPUFF1 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text064d - run_script ScriptCommand_Jump + run_command ScriptCommand_Jump dw ScriptJump_FinishedFirstRonaldFight Script_LostToFirstRonaldFight: ; e8f7 (3:68f7) start_script - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text064e ScriptJump_FinishedFirstRonaldFight - run_script ScriptCommand_SetFlagValue + run_command ScriptCommand_SetFlagValue db EVENT_FLAG_4C db $02 - run_script ScriptCommand_CloseTextBox - run_script ScriptCommand_MoveActiveNPC + run_command ScriptCommand_CloseTextBox + run_command ScriptCommand_MoveActiveNPC dw NPCMovement_e90f - run_script Func_cdcb - run_script Func_d41d - run_script ScriptCommand_QuitScriptFully + run_command Func_cdcb + run_command Func_d41d + run_command ScriptCommand_QuitScriptFully NPCMovement_e905: ; e905 (3:6905) db EAST @@ -5042,71 +5042,71 @@ NPCMovement_e90f: ; e90f (3:690f) ScriptSecondRonaldFight: ; e91e (3:691e) start_script - run_script ScriptCommand_MoveActiveNPC + run_command ScriptCommand_MoveActiveNPC dw NPCMovement_e905 - run_script ScriptCommand_DoFrames + run_command ScriptCommand_DoFrames db 60 - run_script ScriptCommand_MoveActiveNPC + run_command ScriptCommand_MoveActiveNPC dw NPCMovement_e90d - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text064f - run_script ScriptCommand_JumpIfPlayerCoordMatches + run_command ScriptCommand_JumpIfPlayerCoordMatches db $08 db $02 dw .ows_6934 - run_script ScriptCommand_SetPlayerDirection + run_command ScriptCommand_SetPlayerDirection db WEST - run_script ScriptCommand_MovePlayer + run_command ScriptCommand_MovePlayer db WEST db $01 .ows_6934 - run_script ScriptCommand_SetPlayerDirection + run_command ScriptCommand_SetPlayerDirection db SOUTH - run_script ScriptCommand_MovePlayer + run_command ScriptCommand_MovePlayer db SOUTH db $01 - run_script ScriptCommand_MovePlayer + run_command ScriptCommand_MovePlayer db SOUTH db $01 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0650 - run_script ScriptCommand_SetFlagValue + run_command ScriptCommand_SetFlagValue db EVENT_FLAG_4D db $01 - run_script ScriptCommand_StartBattle + run_command ScriptCommand_StartBattle db PRIZES_6 db POWERFUL_RONALD_DECK_ID db MUSIC_RONALD - run_script ScriptCommand_QuitScriptFully + run_command ScriptCommand_QuitScriptFully Script_BeatSecondRonaldFight: ; e947 (3:6947) start_script - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0651 - run_script ScriptCommand_GiveCard + run_command ScriptCommand_GiveCard db SUPER_ENERGY_RETRIEVAL - run_script ScriptCommand_ShowCardReceivedScreen + run_command ScriptCommand_ShowCardReceivedScreen db SUPER_ENERGY_RETRIEVAL - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0652 - run_script ScriptCommand_Jump + run_command ScriptCommand_Jump dw ScriptJump_FinishedSecondRonaldFight Script_LostToSecondRonaldFight: ; e955 (3:6955) start_script - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0653 ScriptJump_FinishedSecondRonaldFight ; e959 (3:6959) - run_script ScriptCommand_SetFlagValue + run_command ScriptCommand_SetFlagValue db EVENT_FLAG_4D db $02 - run_script ScriptCommand_CloseTextBox - run_script ScriptCommand_MoveActiveNPC + run_command ScriptCommand_CloseTextBox + run_command ScriptCommand_MoveActiveNPC dw NPCMovement_e90f - run_script Func_cdcb - run_script Func_d41d - run_script ScriptCommand_QuitScriptFully + run_command Func_cdcb + run_command Func_d41d + run_command ScriptCommand_QuitScriptFully ; 0xe963 INCROM $e963, $ed57 @@ -5161,23 +5161,23 @@ FindExtraInteractableObjects: ; ed64 (3:6d64) Script_ee76: ; ee76 (3:6e76) start_script - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_21 db $01 dw .ows_ee7d - run_script ScriptCommand_QuitScriptFully + run_command ScriptCommand_QuitScriptFully .ows_ee7d - run_script ScriptCommand_SetFlagValue + run_command ScriptCommand_SetFlagValue db EVENT_FLAG_21 db $02 - run_script Func_ccdc + run_command Func_ccdc tx Text06a2 - run_script ScriptCommand_GiveCard + run_command ScriptCommand_GiveCard db SLOWPOKE1 - run_script ScriptCommand_ShowCardReceivedScreen + run_command ScriptCommand_ShowCardReceivedScreen db SLOWPOKE1 - run_script ScriptCommand_QuitScriptFully + run_command ScriptCommand_QuitScriptFully ; 0xee88 INCROM $ee88, $ef96 @@ -5261,75 +5261,75 @@ Preload_Clerk9: ; ef96 (3:6f96) Script_Clerk9: ; f025 (3:7025) start_script - run_script ScriptCommand_JumpIfFlagZero1 + run_command ScriptCommand_JumpIfFlagZero1 db EVENT_FLAG_3F dw .ows_f066 - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_41 db $07 dw .ows_f069 - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_41 db $03 dw .ows_f06f - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_41 db $02 dw .ows_f072 - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_41 db $01 dw .ows_f06c - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_40 db $07 dw .ows_f069 - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_40 db $03 dw .ows_f06f - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_40 db $02 dw .ows_f072 - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_40 db $01 dw .ows_f06c - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_3F db $07 dw .ows_f069 - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_3F db $03 dw .ows_f06f - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_3F db $02 dw .ows_f072 - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_3F db $01 dw .ows_f06c .ows_f066 - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text050a .ows_f069 - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text050b .ows_f06c - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text050c .ows_f06f - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text050d .ows_f072 - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text050e Preload_ChallengeHallNPCs2: ; f075 (3:7075) @@ -5359,32 +5359,32 @@ ChallengeHallLobbyLoadMap: ; f088 (3:7088) Script_Pappy3: ; f09c (3:709c) start_script - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text050f Script_Gal4: ; f0a0 (3:70a0) start_script - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text0510 Script_Champ: ; f0a4 (3:70a4) start_script - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text0511 Script_Hood2: ; f0a8 (3:70a8) start_script - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text0512 Script_Lass5: ; f0ac (3:70ac) start_script - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text0513 Script_Chap5: ; f0b0 (3:70b0) start_script - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text0514 Preload_ChallengeHallLobbyRonald1: ; f0b4 (3:70b4) @@ -5504,7 +5504,7 @@ ChallengeHallLoadMap: ; f258 (3:7258) Script_Clerk13: ; f26c (3:726c) start_script - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text0525 Preload_Guide: ; f270 (3:7270) @@ -5522,193 +5522,193 @@ Preload_Guide: ; f270 (3:7270) Script_Guide: ; f283 (3:7283) start_script - run_script ScriptCommand_JumpIfFlagZero2 + run_command ScriptCommand_JumpIfFlagZero2 db EVENT_FLAG_42 dw .ows_f28b - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text0526 .ows_f28b - run_script ScriptCommand_JumpIfFlagZero1 + run_command ScriptCommand_JumpIfFlagZero1 db $3f dw .ows_f292 - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text0527 .ows_f292 - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text0528 Script_Clerk12: ; f295 (3:7295) start_script - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_41 db $03 dw .ows_f2c4 - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_41 db $02 dw .ows_f2c1 - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_40 db $03 dw .ows_f2c4 - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_40 db $02 dw .ows_f2c1 - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_3F db $03 dw .ows_f2c4 - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_3F db $02 dw .ows_f2c1 - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_44 db $02 dw .ows_f2cd - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_44 db $03 dw .ows_f2d3 - run_script ScriptCommand_Jump + run_command ScriptCommand_Jump dw .ows_f2c7 .ows_f2c1 - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text0529 .ows_f2c4 - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text052a .ows_f2c7 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text052b - run_script ScriptCommand_Jump + run_command ScriptCommand_Jump dw .ows_f2d6 .ows_f2cd - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text052c - run_script ScriptCommand_Jump + run_command ScriptCommand_Jump dw .ows_f2d6 .ows_f2d3 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text052d .ows_f2d6 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text052e - run_script ScriptCommand_AskQuestionJump + run_command ScriptCommand_AskQuestionJump tx Text052f dw .ows_f2e1 - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text0530 .ows_f2e1 - run_script ScriptCommand_MaxOutFlagValue + run_command ScriptCommand_MaxOutFlagValue db EVENT_FLAG_59 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0531 - run_script ScriptCommand_CloseTextBox - run_script ScriptCommand_MoveActiveNPC + run_command ScriptCommand_CloseTextBox + run_command ScriptCommand_MoveActiveNPC dw NPCMovement_f349 - run_script ScriptCommand_JumpIfPlayerCoordMatches + run_command ScriptCommand_JumpIfPlayerCoordMatches db 8 db 18 dw .ows_f2fa - run_script ScriptCommand_JumpIfPlayerCoordMatches + run_command ScriptCommand_JumpIfPlayerCoordMatches db 12 db 18 dw .ows_f302 - run_script ScriptCommand_MovePlayer + run_command ScriptCommand_MovePlayer db NORTH db $02 - run_script ScriptCommand_Jump + run_command ScriptCommand_Jump dw .ows_f307 .ows_f2fa - run_script ScriptCommand_SetPlayerDirection + run_command ScriptCommand_SetPlayerDirection db EAST - run_script ScriptCommand_MovePlayer + run_command ScriptCommand_MovePlayer db EAST db $02 - run_script ScriptCommand_Jump + run_command ScriptCommand_Jump dw .ows_f307 .ows_f302 - run_script ScriptCommand_SetPlayerDirection + run_command ScriptCommand_SetPlayerDirection db WEST - run_script ScriptCommand_MovePlayer + run_command ScriptCommand_MovePlayer db WEST db $02 .ows_f307 - run_script ScriptCommand_SetPlayerDirection + run_command ScriptCommand_SetPlayerDirection db NORTH - run_script ScriptCommand_MovePlayer + run_command ScriptCommand_MovePlayer db NORTH db $01 - run_script ScriptCommand_MovePlayer + run_command ScriptCommand_MovePlayer db NORTH db $01 - run_script ScriptCommand_MovePlayer + run_command ScriptCommand_MovePlayer db NORTH db $01 - run_script ScriptCommand_MovePlayer + run_command ScriptCommand_MovePlayer db NORTH db $01 - run_script ScriptCommand_MovePlayer + run_command ScriptCommand_MovePlayer db NORTH db $01 - run_script ScriptCommand_JumpIfFlagNonzero2 + run_command ScriptCommand_JumpIfFlagNonzero2 db EVENT_FLAG_43 dw .ows_f33a - run_script ScriptCommand_MaxOutFlagValue + run_command ScriptCommand_MaxOutFlagValue db EVENT_FLAG_43 - run_script ScriptCommand_MovePlayer + run_command ScriptCommand_MovePlayer db NORTH db $01 - run_script ScriptCommand_MovePlayer + run_command ScriptCommand_MovePlayer db NORTH db $01 - run_script ScriptCommand_SetPlayerDirection + run_command ScriptCommand_SetPlayerDirection db EAST - run_script ScriptCommand_DoFrames + run_command ScriptCommand_DoFrames db 30 - run_script ScriptCommand_SetPlayerDirection + run_command ScriptCommand_SetPlayerDirection db SOUTH - run_script ScriptCommand_DoFrames + run_command ScriptCommand_DoFrames db 20 - run_script ScriptCommand_SetPlayerDirection + run_command ScriptCommand_SetPlayerDirection db EAST - run_script ScriptCommand_DoFrames + run_command ScriptCommand_DoFrames db 20 - run_script ScriptCommand_SetPlayerDirection + run_command ScriptCommand_SetPlayerDirection db SOUTH - run_script ScriptCommand_DoFrames + run_command ScriptCommand_DoFrames db 30 - run_script ScriptCommand_MovePlayer + run_command ScriptCommand_MovePlayer db SOUTH db $01 - run_script ScriptCommand_MovePlayer + run_command ScriptCommand_MovePlayer db SOUTH db $01 .ows_f33a - run_script ScriptCommand_SetPlayerDirection + run_command ScriptCommand_SetPlayerDirection db EAST - run_script ScriptCommand_MovePlayer + run_command ScriptCommand_MovePlayer db EAST db $01 - run_script ScriptCommand_MoveActiveNPC + run_command ScriptCommand_MoveActiveNPC dw NPCMovement_f34e - run_script ScriptCommand_CloseAdvancedTextBox - run_script ScriptCommand_SetNextNPCandScript + run_command ScriptCommand_CloseAdvancedTextBox + run_command ScriptCommand_SetNextNPCandScript db $4a dw Script_f353 - run_script ScriptCommand_EndScriptLoop1 + run_command ScriptCommand_EndScriptLoop1 ret ; f349 @@ -5733,38 +5733,38 @@ Script_HostStubbed: ; f352 (3:7352) Script_f353: ; f353 (3:7353) start_script - run_script ScriptCommand_DoFrames + run_command ScriptCommand_DoFrames db 20 - run_script ScriptCommand_MoveActiveNPC + run_command ScriptCommand_MoveActiveNPC dw NPCMovement_f37d - run_script ScriptCommand_DoFrames + run_command ScriptCommand_DoFrames db 20 - run_script ScriptCommand_MoveActiveNPC + run_command ScriptCommand_MoveActiveNPC dw NPCMovement_f390 - run_script Func_d16b + run_command Func_d16b db $00 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0532 - run_script ScriptCommand_CloseTextBox - run_script ScriptCommand_MoveActiveNPC + run_command ScriptCommand_CloseTextBox + run_command ScriptCommand_MoveActiveNPC dw NPCMovement_f37f - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0533 - run_script ScriptCommand_CloseTextBox - run_script ScriptCommand_MoveActiveNPC + run_command ScriptCommand_CloseTextBox + run_command ScriptCommand_MoveActiveNPC dw NPCMovement_f388 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0534 - run_script ScriptCommand_CloseTextBox - run_script ScriptCommand_MoveActiveNPC + run_command ScriptCommand_CloseTextBox + run_command ScriptCommand_MoveActiveNPC dw NPCMovement_f38e - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0535 - run_script Func_cd4f + run_command Func_cd4f db $04 db $00 db $00 - run_script ScriptCommand_QuitScriptFully + run_command ScriptCommand_QuitScriptFully NPCMovement_f37d: ; f37d (3:737d) db EAST | NO_MOVE @@ -5805,115 +5805,115 @@ NPCMovement_f390: ; f390 (3:7390) LostAtChallengeHall: ; f392 (3:7392) start_script - run_script ScriptCommand_DoFrames + run_command ScriptCommand_DoFrames db 20 - run_script ScriptCommand_MoveActiveNPC + run_command ScriptCommand_MoveActiveNPC dw NPCMovement_f37d - run_script ScriptCommand_DoFrames + run_command ScriptCommand_DoFrames db 20 - run_script ScriptCommand_MoveActiveNPC + run_command ScriptCommand_MoveActiveNPC dw NPCMovement_f390 - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_45 db $02 dw ScriptJump_f410 - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_45 db $03 dw ScriptJump_f410.ows_f41a - run_script Func_d16b + run_command Func_d16b db $00 - run_script Func_d16b + run_command Func_d16b db $01 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0536 .ows_f3ae - run_script ScriptCommand_CloseTextBox - run_script ScriptCommand_MoveActiveNPC + run_command ScriptCommand_CloseTextBox + run_command ScriptCommand_MoveActiveNPC dw NPCMovement_f38b - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0537 - run_script ScriptCommand_CloseTextBox - run_script ScriptCommand_MoveActiveNPC + run_command ScriptCommand_CloseTextBox + run_command ScriptCommand_MoveActiveNPC dw NPCMovement_f38e - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_44 db $02 dw .ows_f3ce - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_44 db $03 dw .ows_f3d9 - run_script ScriptCommand_SetFlagValue + run_command ScriptCommand_SetFlagValue db EVENT_FLAG_3F db $03 - run_script ScriptCommand_SetFlagValue + run_command ScriptCommand_SetFlagValue db EVENT_FLAG_48 db $03 - run_script ScriptCommand_ZeroOutFlagValue + run_command ScriptCommand_ZeroOutFlagValue db EVENT_FLAG_51 - run_script ScriptCommand_Jump + run_command ScriptCommand_Jump dw .ows_f3e2 .ows_f3ce - run_script ScriptCommand_SetFlagValue + run_command ScriptCommand_SetFlagValue db EVENT_FLAG_40 db $03 - run_script ScriptCommand_SetFlagValue + run_command ScriptCommand_SetFlagValue db EVENT_FLAG_49 db $03 - run_script ScriptCommand_ZeroOutFlagValue + run_command ScriptCommand_ZeroOutFlagValue db EVENT_FLAG_55 - run_script ScriptCommand_Jump + run_command ScriptCommand_Jump dw .ows_f3e2 .ows_f3d9 - run_script ScriptCommand_SetFlagValue + run_command ScriptCommand_SetFlagValue db EVENT_FLAG_41 db $03 - run_script ScriptCommand_SetFlagValue + run_command ScriptCommand_SetFlagValue db EVENT_FLAG_4A db $03 - run_script ScriptCommand_Jump + run_command ScriptCommand_Jump dw .ows_f3e2 .ows_f3e2 - run_script ScriptCommand_CloseAdvancedTextBox - run_script ScriptCommand_SetNextNPCandScript + run_command ScriptCommand_CloseAdvancedTextBox + run_command ScriptCommand_SetNextNPCandScript db NPC_CLERK12 dw Script_f3e9 - run_script ScriptCommand_EndScriptLoop1 + run_command ScriptCommand_EndScriptLoop1 ret Script_f3e9: ; f3e9 (3:73e9) start_script - run_script ScriptCommand_MoveActiveNPC + run_command ScriptCommand_MoveActiveNPC dw NPCMovement_f40a - run_script ScriptCommand_SetPlayerDirection + run_command ScriptCommand_SetPlayerDirection db WEST - run_script ScriptCommand_MovePlayer + run_command ScriptCommand_MovePlayer db WEST db $01 - run_script ScriptCommand_SetPlayerDirection + run_command ScriptCommand_SetPlayerDirection db SOUTH - run_script ScriptCommand_MovePlayer + run_command ScriptCommand_MovePlayer db SOUTH db $01 - run_script ScriptCommand_MovePlayer + run_command ScriptCommand_MovePlayer db SOUTH db $01 - run_script ScriptCommand_MovePlayer + run_command ScriptCommand_MovePlayer db SOUTH db $01 - run_script ScriptCommand_MovePlayer + run_command ScriptCommand_MovePlayer db SOUTH db $01 - run_script ScriptCommand_MovePlayer + run_command ScriptCommand_MovePlayer db SOUTH db $01 - run_script ScriptCommand_MovePlayer + run_command ScriptCommand_MovePlayer db SOUTH db $01 - run_script ScriptCommand_MoveActiveNPC + run_command ScriptCommand_MoveActiveNPC dw NPCMovement_f40d - run_script ScriptCommand_QuitScriptFully + run_command ScriptCommand_QuitScriptFully NPCMovement_f40a: ; f40a (3:740a) db WEST @@ -5926,159 +5926,159 @@ NPCMovement_f40d: ; f40d (3:740d) db $ff ScriptJump_f410: ; f410 (4:7410) - run_script Func_d16b + run_command Func_d16b db $00 - run_script Func_d16b + run_command Func_d16b db $01 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0538 - run_script ScriptCommand_Jump + run_command ScriptCommand_Jump dw LostAtChallengeHall.ows_f3ae .ows_f41a - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0539 - run_script ScriptCommand_SetDialogName + run_command ScriptCommand_SetDialogName db NPC_RONALD1 - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_44 db $03 dw .ows_f42e - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_44 db $01 dw NO_JUMP - run_script ScriptCommand_PrintVariableText + run_command ScriptCommand_PrintVariableText tx Text053a tx Text053b .ows_f42e - run_script ScriptCommand_SetDialogName + run_command ScriptCommand_SetDialogName db NPC_HOST - run_script ScriptCommand_Jump + run_command ScriptCommand_Jump dw LostAtChallengeHall.ows_f3ae Script_f433: ; f433 (3:7433) start_script - run_script ScriptCommand_DoFrames + run_command ScriptCommand_DoFrames db 20 - run_script ScriptCommand_MoveActiveNPC + run_command ScriptCommand_MoveActiveNPC dw NPCMovement_f37d - run_script ScriptCommand_DoFrames + run_command ScriptCommand_DoFrames db 20 - run_script ScriptCommand_MoveActiveNPC + run_command ScriptCommand_MoveActiveNPC dw NPCMovement_f390 - run_script ScriptCommand_Jump + run_command ScriptCommand_Jump dw WonAtChallengeHall.ows_f4a4 WonAtChallengeHall; f441 (3:7441) start_script - run_script ScriptCommand_DoFrames + run_command ScriptCommand_DoFrames db 20 - run_script ScriptCommand_MoveActiveNPC + run_command ScriptCommand_MoveActiveNPC dw NPCMovement_f37d - run_script ScriptCommand_DoFrames + run_command ScriptCommand_DoFrames db 20 - run_script ScriptCommand_MoveActiveNPC + run_command ScriptCommand_MoveActiveNPC dw NPCMovement_f390 - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_45 db $03 dw ScriptJump_f4db - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_45 db $02 dw .ows_f456 .ows_f456 - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_45 db $01 dw NO_JUMP - run_script ScriptCommand_PrintVariableText + run_command ScriptCommand_PrintVariableText tx Text053c tx Text053d - run_script ScriptCommand_MoveActiveNPC + run_command ScriptCommand_MoveActiveNPC dw NPCMovement_f37f - run_script Func_d16b + run_command Func_d16b db $00 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text053e - run_script ScriptCommand_CloseTextBox - run_script ScriptCommand_MoveWramNPC + run_command ScriptCommand_CloseTextBox + run_command ScriptCommand_MoveWramNPC dw NPCMovement_f4c8 - run_script Func_cdd8 - run_script ScriptCommand_PrintTextString + run_command Func_cdd8 + run_command ScriptCommand_PrintTextString tx Text053f - run_script ScriptCommand_CloseTextBox - run_script Func_d195 - run_script Func_cdf5 + run_command ScriptCommand_CloseTextBox + run_command Func_d195 + run_command Func_cdf5 db $14 db $14 - run_script ScriptCommand_MoveWramNPC + run_command ScriptCommand_MoveWramNPC dw NPCMovement_f4d0 - run_script Func_d16b + run_command Func_d16b db $00 - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_45 db $02 dw NO_JUMP - run_script ScriptCommand_PrintVariableText + run_command ScriptCommand_PrintVariableText tx Text0540 tx Text0541 - run_script ScriptCommand_MoveActiveNPC + run_command ScriptCommand_MoveActiveNPC dw NPCMovement_f383 - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_45 db $02 dw .ows_f4a4 - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_44 db $03 dw .ows_f4a1 - run_script ScriptCommand_CloseTextBox - run_script ScriptCommand_SetDialogName + run_command ScriptCommand_CloseTextBox + run_command ScriptCommand_SetDialogName db $02 - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_44 db $01 dw NO_JUMP - run_script ScriptCommand_PrintVariableText + run_command ScriptCommand_PrintVariableText tx Text0542 tx Text0543 - run_script ScriptCommand_SetDialogName + run_command ScriptCommand_SetDialogName db NPC_HOST - run_script ScriptCommand_CloseTextBox + run_command ScriptCommand_CloseTextBox .ows_f4a1 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0544 .ows_f4a4 - run_script ScriptCommand_ZeroOutFlagValue + run_command ScriptCommand_ZeroOutFlagValue db EVENT_FLAG_47 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0545 - run_script ScriptCommand_AskQuestionJumpDefaultYes + run_command ScriptCommand_AskQuestionJumpDefaultYes tx Text0546 dw .ows_f4bd - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_45 db $02 dw NO_JUMP - run_script ScriptCommand_PrintVariableText + run_command ScriptCommand_PrintVariableText tx Text0547 tx Text0548 - run_script Func_cd4f + run_command Func_cd4f db $04 db $00 db $00 - run_script ScriptCommand_QuitScriptFully + run_command ScriptCommand_QuitScriptFully .ows_f4bd - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0549 - run_script ScriptCommand_CloseTextBox - run_script ScriptCommand_MaxOutFlagValue + run_command ScriptCommand_CloseTextBox + run_command ScriptCommand_MaxOutFlagValue db EVENT_FLAG_47 - run_script Func_d1ad - run_script ScriptCommand_CloseTextBox - run_script ScriptCommand_Jump + run_command Func_d1ad + run_command ScriptCommand_CloseTextBox + run_command ScriptCommand_Jump dw .ows_f4a4 NPCMovement_f4c8: ; f4c8 (3:74c8) @@ -6108,110 +6108,110 @@ NPCMovement_f4d8: ; f4d8 (3:74d8) db $ff ScriptJump_f4db: ; f4db (3:74db) - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text054a - run_script ScriptCommand_MoveActiveNPC + run_command ScriptCommand_MoveActiveNPC dw NPCMovement_f37f - run_script Func_d16b + run_command Func_d16b db $00 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text054b - run_script ScriptCommand_CloseTextBox - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_CloseTextBox + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_44 db $03 dw .ows_f513 - run_script ScriptCommand_SetDialogName + run_command ScriptCommand_SetDialogName db $02 - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_44 db $01 dw NO_JUMP - run_script ScriptCommand_PrintVariableText + run_command ScriptCommand_PrintVariableText tx Text054c tx Text054d - run_script ScriptCommand_MoveWramNPC + run_command ScriptCommand_MoveWramNPC dw NPCMovement_f4d8 - run_script ScriptCommand_DoFrames + run_command ScriptCommand_DoFrames db 40 - run_script ScriptCommand_MoveWramNPC + run_command ScriptCommand_MoveWramNPC dw NPCMovement_f34c - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_44 db $01 dw NO_JUMP - run_script ScriptCommand_PrintVariableText + run_command ScriptCommand_PrintVariableText tx Text054e tx Text054f - run_script ScriptCommand_SetDialogName + run_command ScriptCommand_SetDialogName db NPC_HOST - run_script ScriptCommand_CloseTextBox - run_script ScriptCommand_MoveWramNPC + run_command ScriptCommand_CloseTextBox + run_command ScriptCommand_MoveWramNPC dw NPCMovement_f4c9 - run_script ScriptCommand_Jump + run_command ScriptCommand_Jump dw .ows_f516 .ows_f513 - run_script ScriptCommand_MoveWramNPC + run_command ScriptCommand_MoveWramNPC dw NPCMovement_f4c8 .ows_f516 - run_script Func_cdd8 - run_script ScriptCommand_MoveActiveNPC + run_command Func_cdd8 + run_command ScriptCommand_MoveActiveNPC dw NPCMovement_f383 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0550 - run_script ScriptCommand_CloseTextBox - run_script ScriptCommand_MoveActiveNPC + run_command ScriptCommand_CloseTextBox + run_command ScriptCommand_MoveActiveNPC dw NPCMovement_f38b - run_script Func_d1b3 - run_script ScriptCommand_PrintTextString + run_command Func_d1b3 + run_command ScriptCommand_PrintTextString tx Text0551 - run_script ScriptCommand_GiveCard + run_command ScriptCommand_GiveCard db $00 - run_script ScriptCommand_ShowCardReceivedScreen + run_command ScriptCommand_ShowCardReceivedScreen db $00 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0552 - run_script ScriptCommand_CloseTextBox - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_CloseTextBox + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_44 db $02 dw .ows_f540 - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_44 db $03 dw .ows_f549 - run_script ScriptCommand_SetFlagValue + run_command ScriptCommand_SetFlagValue db EVENT_FLAG_3F db $02 - run_script ScriptCommand_SetFlagValue + run_command ScriptCommand_SetFlagValue db EVENT_FLAG_48 db $02 - run_script ScriptCommand_Jump + run_command ScriptCommand_Jump dw .ows_f552 .ows_f540 - run_script ScriptCommand_SetFlagValue + run_command ScriptCommand_SetFlagValue db EVENT_FLAG_40 db $02 - run_script ScriptCommand_SetFlagValue + run_command ScriptCommand_SetFlagValue db EVENT_FLAG_49 db $02 - run_script ScriptCommand_Jump + run_command ScriptCommand_Jump dw .ows_f552 .ows_f549 - run_script ScriptCommand_SetFlagValue + run_command ScriptCommand_SetFlagValue db EVENT_FLAG_41 db $02 - run_script ScriptCommand_SetFlagValue + run_command ScriptCommand_SetFlagValue db EVENT_FLAG_4A db $02 - run_script ScriptCommand_Jump + run_command ScriptCommand_Jump dw .ows_f552 .ows_f552 - run_script ScriptCommand_CloseAdvancedTextBox - run_script ScriptCommand_SetNextNPCandScript + run_command ScriptCommand_CloseAdvancedTextBox + run_command ScriptCommand_SetNextNPCandScript db NPC_CLERK12 dw Script_f3e9 - run_script ScriptCommand_EndScriptLoop1 + run_command ScriptCommand_EndScriptLoop1 ret ; f559 @@ -6286,13 +6286,13 @@ Func_f602: ; f602 (3:7602) Script_f631: ; f631 (3:7631) start_script - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text0508 - run_script ScriptCommand_CloseAdvancedTextBox - run_script ScriptCommand_SetNextNPCandScript + run_command ScriptCommand_CloseAdvancedTextBox + run_command ScriptCommand_SetNextNPCandScript db $02 dw $763c - run_script ScriptCommand_EndScriptLoop1 + run_command ScriptCommand_EndScriptLoop1 ret ; 0xf63c @@ -6309,59 +6309,59 @@ HallOfHonorLoadMap: ; fbdb (3:7bdb) Script_fbf1: ; fbf1 (3:7bf1) start_script - run_script ScriptCommand_JumpIfFlagNonzero2 + run_command ScriptCommand_JumpIfFlagNonzero2 db EVENT_RECEIVED_LEGENDARY_CARD dw .ows_fc10 - run_script ScriptCommand_MaxOutFlagValue + run_command ScriptCommand_MaxOutFlagValue db EVENT_RECEIVED_LEGENDARY_CARD - run_script Func_ccdc + run_command Func_ccdc tx Text05b8 - run_script ScriptCommand_GiveCard + run_command ScriptCommand_GiveCard db ZAPDOS3 - run_script ScriptCommand_GiveCard + run_command ScriptCommand_GiveCard db MOLTRES2 - run_script ScriptCommand_GiveCard + run_command ScriptCommand_GiveCard db ARTICUNO2 - run_script ScriptCommand_GiveCard + run_command ScriptCommand_GiveCard db DRAGONITE1 - run_script ScriptCommand_ShowCardReceivedScreen + run_command ScriptCommand_ShowCardReceivedScreen db $ff .ows_fc05 - run_script Func_d38f + run_command Func_d38f db $00 - run_script Func_ccdc + run_command Func_ccdc tx Text05b9 .ows_fc0a - run_script Func_d38f + run_command Func_d38f db $01 - run_script Func_d396 + run_command Func_d396 db $01 - run_script Func_d3b9 - run_script ScriptCommand_QuitScriptFully + run_command Func_d3b9 + run_command ScriptCommand_QuitScriptFully .ows_fc10 - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_71 db $0f dw .ows_fc20 - run_script Func_d209 - run_script Func_ccdc + run_command Func_d209 + run_command Func_ccdc tx Text05ba - run_script ScriptCommand_GiveCard + run_command ScriptCommand_GiveCard db $00 - run_script ScriptCommand_ShowCardReceivedScreen + run_command ScriptCommand_ShowCardReceivedScreen db $00 - run_script ScriptCommand_Jump + run_command ScriptCommand_Jump dw .ows_fc05 .ows_fc20 - run_script Func_ccdc + run_command Func_ccdc tx Text05bb - run_script Func_d38f + run_command Func_d38f db $00 - run_script Func_ccdc + run_command Func_ccdc tx Text05bc - run_script ScriptCommand_Jump + run_command ScriptCommand_Jump dw .ows_fc0a Func_fc2b: ; fc2b (3:7c2b) @@ -6391,17 +6391,17 @@ PointerTable_fc4c: ; fc4c (3:7c4c) Script_fc52: ; fc52 (3:7c52) start_script - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text06c8 - run_script ScriptCommand_AskQuestionJumpDefaultYes + run_command ScriptCommand_AskQuestionJumpDefaultYes dw $0000 dw .ows_fc5e - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text06c9 .ows_fc5e - run_script Func_cd76 - run_script ScriptCommand_QuitScriptFully + run_command Func_cd76 + run_command ScriptCommand_QuitScriptFully Unknown_fc60: ; fc60 (3:7c60) INCROM $fc60, $fc64 @@ -6430,41 +6430,41 @@ Func_fc7a: ; fc7a (3:7c7a) set_flag_value EVENT_FLAG_74 start_script - run_script ScriptCommand_JumpIfFlagNotEqual + run_command ScriptCommand_JumpIfFlagNotEqual db EVENT_FLAG_74 db $02 dw Func_fcad.ows_fcd5 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text06cd - run_script Func_d39d + run_command Func_d39d db $00 - run_script ScriptCommand_JumpIfFlagNotLessThan + run_command ScriptCommand_JumpIfFlagNotLessThan db EVENT_FLAG_72 db $04 dw Func_fc7a.ows_fcaa - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text06ce - run_script ScriptCommand_AskQuestionJumpDefaultYes + run_command ScriptCommand_AskQuestionJumpDefaultYes tx Text06cf dw .ows_fca0 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text06d0 - run_script ScriptCommand_Jump + run_command ScriptCommand_Jump dw Func_fc7a.ows_fcaa .ows_fca0 - run_script Func_d396 + run_command Func_d396 db $00 - run_script ScriptCommand_PlaySFX + run_command ScriptCommand_PlaySFX db $56 - run_script Func_ccdc + run_command Func_ccdc tx Text06d1 - run_script Func_d39d + run_command Func_d39d db $01 - run_script ScriptCommand_QuitScriptFully + run_command ScriptCommand_QuitScriptFully .ows_fcaa - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text06d2 Func_fcad: ; fcad (3:7cad) @@ -6473,47 +6473,47 @@ Func_fcad: ; fcad (3:7cad) set_flag_value EVENT_FLAG_72 start_script - run_script ScriptCommand_PlaySFX + run_command ScriptCommand_PlaySFX db $56 - run_script Func_d396 + run_command Func_d396 db $00 - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_72 db $00 dw .ows_fccc - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_72 db $02 dw .ows_fccf - run_script ScriptCommand_JumpIfFlagEqual + run_command ScriptCommand_JumpIfFlagEqual db EVENT_FLAG_72 db $03 dw .ows_fcd2 - run_script ScriptCommand_Jump + run_command ScriptCommand_Jump dw Func_fc7a.ows_fcaa .ows_fccc - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text06d3 .ows_fccf - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text06d4 .ows_fcd2 - run_script ScriptCommand_PrintTextQuitFully + run_command ScriptCommand_PrintTextQuitFully tx Text06d5 .ows_fcd5 - run_script ScriptCommand_MoveArbitraryNPC + run_command ScriptCommand_MoveArbitraryNPC db NPC_GIFT_CENTER_CLERK dw NPCMovement_fce1 - run_script ScriptCommand_PrintTextString + run_command ScriptCommand_PrintTextString tx Text06d6 - run_script ScriptCommand_MoveArbitraryNPC + run_command ScriptCommand_MoveArbitraryNPC db NPC_GIFT_CENTER_CLERK dw NPCMovement_fce3 - run_script ScriptCommand_QuitScriptFully + run_command ScriptCommand_QuitScriptFully NPCMovement_fce1: ; fce1 (3:7ce1) db SOUTH | NO_MOVE -- cgit v1.2.3