diff options
Diffstat (limited to 'scripts/silphco9.asm')
-rwxr-xr-x | scripts/silphco9.asm | 175 |
1 files changed, 88 insertions, 87 deletions
diff --git a/scripts/silphco9.asm b/scripts/silphco9.asm index e8b16927..57b8bc89 100755 --- a/scripts/silphco9.asm +++ b/scripts/silphco9.asm @@ -1,60 +1,63 @@ -SilphCo9Script: ; 5d7bb (17:57bb) +SilphCo9Script: call SilphCo9Script_5d7d1 call EnableAutoTextBoxDrawing - ld hl, SilphCo9TrainerHeaders + ld hl, SilphCo9TrainerHeader0 ld de, SilphCo9ScriptPointers - ld a, [W_SILPHCO9CURSCRIPT] + ld a, [wSilphCo9CurScript] call ExecuteCurMapScriptInTable - ld [W_SILPHCO9CURSCRIPT], a + ld [wSilphCo9CurScript], a ret -SilphCo9Script_5d7d1: ; 5d7d1 (17:57d1) - ld hl, wd126 +SilphCo9Script_5d7d1: + ld hl, wCurrentMapScriptFlags bit 5, [hl] res 5, [hl] ret z - ld hl, DataTable_5d82e ; $582e + ld hl, SilphCo9GateCoords call SilphCo9Script_5d837 call SilphCo9Script_5d863 - ld a, [wd834] - bit 0, a + CheckEvent EVENT_SILPH_CO_9_UNLOCKED_DOOR1 jr nz, .asm_5d7f8 push af ld a, $5f - ld [wd09f], a - ld bc, $401 + ld [wNewTileBlockID], a + lb bc, 4, 1 predef ReplaceTileBlock pop af .asm_5d7f8 - bit 1, a + CheckEventAfterBranchReuseA EVENT_SILPH_CO_9_UNLOCKED_DOOR2, EVENT_SILPH_CO_9_UNLOCKED_DOOR1 jr nz, .asm_5d80b push af ld a, $54 - ld [wd09f], a - ld bc, $209 + ld [wNewTileBlockID], a + lb bc, 2, 9 predef ReplaceTileBlock pop af .asm_5d80b - bit 2, a + CheckEventAfterBranchReuseA EVENT_SILPH_CO_9_UNLOCKED_DOOR3, EVENT_SILPH_CO_9_UNLOCKED_DOOR2 jr nz, .asm_5d81e push af ld a, $54 - ld [wd09f], a - ld bc, $509 + ld [wNewTileBlockID], a + lb bc, 5, 9 predef ReplaceTileBlock pop af .asm_5d81e - bit 3, a + CheckEventAfterBranchReuseA EVENT_SILPH_CO_9_UNLOCKED_DOOR4, EVENT_SILPH_CO_9_UNLOCKED_DOOR3 ret nz ld a, $5f - ld [wd09f], a - ld bc, $605 + ld [wNewTileBlockID], a + lb bc, 6, 5 predef_jump ReplaceTileBlock -DataTable_5d82e: ; 5d82e (17:582e) - db $04,$01,$02,$09,$05,$09,$06,$05,$FF +SilphCo9GateCoords: + db $04,$01 + db $02,$09 + db $05,$09 + db $06,$05 + db $FF -SilphCo9Script_5d837: ; 5d837 (17:5837) +SilphCo9Script_5d837: push hl ld hl, wCardKeyDoorY ld a, [hli] @@ -90,77 +93,75 @@ SilphCo9Script_5d837: ; 5d837 (17:5837) ld [$ffe0], a ret -SilphCo9Script_5d863: ; 5d863 (17:5863) - ld hl, wd834 +SilphCo9Script_5d863: + EventFlagAddress hl, EVENT_SILPH_CO_9_UNLOCKED_DOOR1 ld a, [$ffe0] and a ret z cp $1 - jr nz, .asm_5d871 - set 0, [hl] + jr nz, .next1 + SetEventReuseHL EVENT_SILPH_CO_9_UNLOCKED_DOOR1 ret -.asm_5d871 +.next1 cp $2 - jr nz, .asm_5d878 - set 1, [hl] + jr nz, .next2 + SetEventAfterBranchReuseHL EVENT_SILPH_CO_9_UNLOCKED_DOOR2, EVENT_SILPH_CO_9_UNLOCKED_DOOR1 ret -.asm_5d878 +.next2 cp $3 - jr nz, .asm_5d87f - set 2, [hl] + jr nz, .next3 + SetEventAfterBranchReuseHL EVENT_SILPH_CO_9_UNLOCKED_DOOR3, EVENT_SILPH_CO_9_UNLOCKED_DOOR1 ret -.asm_5d87f +.next3 cp $4 ret nz - set 3, [hl] + SetEventAfterBranchReuseHL EVENT_SILPH_CO_9_UNLOCKED_DOOR4, EVENT_SILPH_CO_9_UNLOCKED_DOOR1 ret -SilphCo9ScriptPointers: ; 5d885 (17:5885) +SilphCo9ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle -SilphCo9TextPointers: ; 5d88b (17:588b) +SilphCo9TextPointers: dw SilphCo9Text1 dw SilphCo9Text2 dw SilphCo9Text3 dw SilphCo9Text4 -SilphCo9TrainerHeaders: ; 5d893 (17:5893) -SilphCo9TrainerHeader0: ; 5d893 (17:5893) - db $2 ; flag's bit +SilphCo9TrainerHeader0: + dbEventFlagBit EVENT_BEAT_SILPH_CO_9F_TRAINER_0 db ($4 << 4) ; trainer's view range - dw wd833 ; flag's byte - dw SilphCo9BattleText1 ; 0x5912 TextBeforeBattle - dw SilphCo9AfterBattleText1 ; 0x591c TextAfterBattle - dw SilphCo9EndBattleText1 ; 0x5917 TextEndBattle - dw SilphCo9EndBattleText1 ; 0x5917 TextEndBattle - -SilphCo9TrainerHeader1: ; 5d89f (17:589f) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_SILPH_CO_9F_TRAINER_0 + dw SilphCo9BattleText1 ; TextBeforeBattle + dw SilphCo9AfterBattleText1 ; TextAfterBattle + dw SilphCo9EndBattleText1 ; TextEndBattle + dw SilphCo9EndBattleText1 ; TextEndBattle + +SilphCo9TrainerHeader1: + dbEventFlagBit EVENT_BEAT_SILPH_CO_9F_TRAINER_1 db ($2 << 4) ; trainer's view range - dw wd833 ; flag's byte - dw SilphCo9BattleText2 ; 0x5921 TextBeforeBattle - dw SilphCo9AfterBattleText2 ; 0x592b TextAfterBattle - dw SilphCo9EndBattleText2 ; 0x5926 TextEndBattle - dw SilphCo9EndBattleText2 ; 0x5926 TextEndBattle - -SilphCo9TrainerHeader2: ; 5d8ab (17:58ab) - db $4 ; flag's bit + dwEventFlagAddress EVENT_BEAT_SILPH_CO_9F_TRAINER_1 + dw SilphCo9BattleText2 ; TextBeforeBattle + dw SilphCo9AfterBattleText2 ; TextAfterBattle + dw SilphCo9EndBattleText2 ; TextEndBattle + dw SilphCo9EndBattleText2 ; TextEndBattle + +SilphCo9TrainerHeader2: + dbEventFlagBit EVENT_BEAT_SILPH_CO_9F_TRAINER_2 db ($4 << 4) ; trainer's view range - dw wd833 ; flag's byte - dw SilphCo9BattleText3 ; 0x5930 TextBeforeBattle - dw SilphCo9AfterBattleText3 ; 0x593a TextAfterBattle - dw SilphCo9EndBattleText3 ; 0x5935 TextEndBattle - dw SilphCo9EndBattleText3 ; 0x5935 TextEndBattle + dwEventFlagAddress EVENT_BEAT_SILPH_CO_9F_TRAINER_2 + dw SilphCo9BattleText3 ; TextBeforeBattle + dw SilphCo9AfterBattleText3 ; TextAfterBattle + dw SilphCo9EndBattleText3 ; TextEndBattle + dw SilphCo9EndBattleText3 ; TextEndBattle db $ff -SilphCo9Text1: ; 5d8b8 (17:58b8) - db $08 ; asm - ld a, [wd838] - bit 7, a - jr nz, .asm_a14c3 ; 0x5d8be +SilphCo9Text1: + TX_ASM + CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI + jr nz, .asm_5d8dc ld hl, SilphCo9Text_5d8e5 call PrintText predef HealParty @@ -169,75 +170,75 @@ SilphCo9Text1: ; 5d8b8 (17:58b8) call GBFadeInFromWhite ld hl, SilphCo9Text_5d8ea call PrintText - jr .asm_b6e28 ; 0x5d8da -.asm_a14c3 ; 0x5d8dc + jr .asm_5d8e2 +.asm_5d8dc ld hl, SilphCo9Text_5d8ef call PrintText -.asm_b6e28 ; 0x5d8e2 +.asm_5d8e2 jp TextScriptEnd -SilphCo9Text_5d8e5: ; 5d8e5 (17:58e5) +SilphCo9Text_5d8e5: TX_FAR _SilphCo9Text_5d8e5 db "@" -SilphCo9Text_5d8ea: ; 5d8ea (17:58ea) +SilphCo9Text_5d8ea: TX_FAR _SilphCo9Text_5d8ea db "@" -SilphCo9Text_5d8ef: ; 5d8ef (17:58ef) +SilphCo9Text_5d8ef: TX_FAR _SilphCo9Text_5d8ef db "@" -SilphCo9Text2: ; 5d8f4 (17:58f4) - db $08 ; asm +SilphCo9Text2: + TX_ASM ld hl, SilphCo9TrainerHeader0 call TalkToTrainer jp TextScriptEnd -SilphCo9Text3: ; 5d8fe (17:58fe) - db $08 ; asm +SilphCo9Text3: + TX_ASM ld hl, SilphCo9TrainerHeader1 call TalkToTrainer jp TextScriptEnd -SilphCo9Text4: ; 5d908 (17:5908) - db $08 ; asm +SilphCo9Text4: + TX_ASM ld hl, SilphCo9TrainerHeader2 call TalkToTrainer jp TextScriptEnd -SilphCo9BattleText1: ; 5d912 (17:5912) +SilphCo9BattleText1: TX_FAR _SilphCo9BattleText1 db "@" -SilphCo9EndBattleText1: ; 5d917 (17:5917) +SilphCo9EndBattleText1: TX_FAR _SilphCo9EndBattleText1 db "@" -SilphCo9AfterBattleText1: ; 5d91c (17:591c) +SilphCo9AfterBattleText1: TX_FAR _SilphCo9AfterBattleText1 db "@" -SilphCo9BattleText2: ; 5d921 (17:5921) +SilphCo9BattleText2: TX_FAR _SilphCo9BattleText2 db "@" -SilphCo9EndBattleText2: ; 5d926 (17:5926) +SilphCo9EndBattleText2: TX_FAR _SilphCo9EndBattleText2 db "@" -SilphCo9AfterBattleText2: ; 5d92b (17:592b) +SilphCo9AfterBattleText2: TX_FAR _SilphCo9AfterBattleText2 db "@" -SilphCo9BattleText3: ; 5d930 (17:5930) +SilphCo9BattleText3: TX_FAR _SilphCo9BattleText3 db "@" -SilphCo9EndBattleText3: ; 5d935 (17:5935) +SilphCo9EndBattleText3: TX_FAR _SilphCo9EndBattleText3 db "@" -SilphCo9AfterBattleText3: ; 5d93a (17:593a) +SilphCo9AfterBattleText3: TX_FAR _SilphCo9AfterBattleText3 db "@" |