diff options
Diffstat (limited to 'scripts/silphco7.asm')
-rwxr-xr-x | scripts/silphco7.asm | 312 |
1 files changed, 160 insertions, 152 deletions
diff --git a/scripts/silphco7.asm b/scripts/silphco7.asm index 23eb795c..b211c8a9 100755 --- a/scripts/silphco7.asm +++ b/scripts/silphco7.asm @@ -1,51 +1,53 @@ -SilphCo7Script: ; 51b61 (14:5b61) +SilphCo7Script: call SilphCo7Script_51b77 call EnableAutoTextBoxDrawing - ld hl, SilphCo7TrainerHeaders + ld hl, SilphCo7TrainerHeader0 ld de, SilphCo7ScriptPointers - ld a, [W_SILPHCO7CURSCRIPT] + ld a, [wSilphCo7CurScript] call ExecuteCurMapScriptInTable - ld [W_SILPHCO7CURSCRIPT], a + ld [wSilphCo7CurScript], a ret -SilphCo7Script_51b77: ; 51b77 (14:5b77) - ld hl, wd126 +SilphCo7Script_51b77: + ld hl, wCurrentMapScriptFlags bit 5, [hl] res 5, [hl] ret z - ld hl, DataTable_51bc1 ; $5bc1 + ld hl, SilphCo7GateCoords call SilphCo7Text_51bc8 call SilphCo7Text_51bf4 - ld a, [wd830] - bit 4, a + CheckEvent EVENT_SILPH_CO_7_UNLOCKED_DOOR1 jr nz, .asm_51b9e push af ld a, $54 - ld [wd09f], a - ld bc, $305 + ld [wNewTileBlockID], a + lb bc, 3, 5 predef ReplaceTileBlock pop af .asm_51b9e - bit 5, a + CheckEventAfterBranchReuseA EVENT_SILPH_CO_7_UNLOCKED_DOOR2, EVENT_SILPH_CO_7_UNLOCKED_DOOR1 jr nz, .asm_51bb1 push af ld a, $54 - ld [wd09f], a - ld bc, $20a + ld [wNewTileBlockID], a + lb bc, 2, 10 predef ReplaceTileBlock pop af .asm_51bb1 - bit 6, a + CheckEventAfterBranchReuseA EVENT_SILPH_CO_7_UNLOCKED_DOOR3, EVENT_SILPH_CO_7_UNLOCKED_DOOR2 ret nz ld a, $54 - ld [wd09f], a - ld bc, $60a + ld [wNewTileBlockID], a + lb bc, 6, 10 predef_jump ReplaceTileBlock -DataTable_51bc1: ; 51bc1 (14:5bc1) - db $03,$05,$02,$0A,$06,$0A,$FF +SilphCo7GateCoords: + db $03,$05 + db $02,$0A + db $06,$0A + db $FF -SilphCo7Text_51bc8: ; 51bc8 (14:5bc8) +SilphCo7Text_51bc8: push hl ld hl, wCardKeyDoorY ld a, [hli] @@ -81,34 +83,34 @@ SilphCo7Text_51bc8: ; 51bc8 (14:5bc8) ld [$ffe0], a ret -SilphCo7Text_51bf4: ; 51bf4 (14:5bf4) - ld hl, wd830 +SilphCo7Text_51bf4: + EventFlagAddress hl, EVENT_SILPH_CO_7_UNLOCKED_DOOR1 ld a, [$ffe0] and a ret z cp $1 - jr nz, .asm_51c02 - set 4, [hl] + jr nz, .next1 + SetEventReuseHL EVENT_SILPH_CO_7_UNLOCKED_DOOR1 ret -.asm_51c02 +.next1 cp $2 - jr nz, .asm_51c09 - set 5, [hl] + jr nz, .next2 + SetEventAfterBranchReuseHL EVENT_SILPH_CO_7_UNLOCKED_DOOR2, EVENT_SILPH_CO_7_UNLOCKED_DOOR1 ret -.asm_51c09 - set 6, [hl] +.next2 + SetEventAfterBranchReuseHL EVENT_SILPH_CO_7_UNLOCKED_DOOR3, EVENT_SILPH_CO_7_UNLOCKED_DOOR1 ret -SilphCo7Text_51c0c: ; 51c0c (14:5c0c) +SilphCo7Text_51c0c: xor a ld [wJoyIgnore], a -SilphCo7Text_51c10: ; 51c10 (14:5c10) - ld [W_SILPHCO7CURSCRIPT], a - ld [W_CURMAPSCRIPT], a +SilphCo7Text_51c10: + ld [wSilphCo7CurScript], a + ld [wCurMapScript], a ret -SilphCo7ScriptPointers: ; 51c17 (14:5c17) +SilphCo7ScriptPointers: dw SilphCo7Script0 dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle @@ -116,9 +118,8 @@ SilphCo7ScriptPointers: ; 51c17 (14:5c17) dw SilphCo7Script4 dw SilphCo7Script5 -SilphCo7Script0: ; 51c23 (14:5c23) - ld a, [wd82f] - bit 0, a +SilphCo7Script0: + CheckEvent EVENT_BEAT_SILPH_CO_RIVAL jp nz, CheckFightingMapTrainers ld hl, CoordsData_51c78 call ArePlayerCoordsInArray @@ -127,60 +128,64 @@ SilphCo7Script0: ; 51c23 (14:5c23) ld [hJoyHeld], a ld a, $f0 ld [wJoyIgnore], a - ld a, $4 - ld [wd528], a + ld a, PLAYER_DIR_DOWN + ld [wPlayerMovingDirection], a ld a, $ff - ld [wc0ee], a + ld [wNewSoundID], a call PlaySound ld c, BANK(Music_MeetRival) ld a, MUSIC_MEET_RIVAL call PlayMusic ld a, $9 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $9 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [H_SPRITEINDEX], a call SetSpriteMovementBytesToFF ld de, MovementData_51c7d - ld a, [wWhichTrade] ; wWhichTrade + ld a, [wCoordIndex] ld [wcf0d], a cp $1 jr z, .asm_51c6c inc de .asm_51c6c ld a, $9 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [H_SPRITEINDEX], a call MoveSprite ld a, $3 jp SilphCo7Text_51c10 -CoordsData_51c78: ; 51c78 (14:5c78) +CoordsData_51c78: db $02,$03 db $03,$03 db $FF -MovementData_51c7d: ; 51c7d (14:5c7d) - db $40,$40,$40,$40,$FF +MovementData_51c7d: + db NPC_MOVEMENT_UP + db NPC_MOVEMENT_UP + db NPC_MOVEMENT_UP + db NPC_MOVEMENT_UP + db $FF -SilphCo7Script3: ; 51c82 (14:5c82) +SilphCo7Script3: ld a, [wd730] bit 0, a ret nz xor a ld [wJoyIgnore], a ld a, $d - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a call DisplayTextID call Delay3 ld hl, wd72d set 6, [hl] set 7, [hl] - ld hl, SilphCo7Text14 ; $5ec8 - ld de, SilphCo7Text_51ecd ; $5ecd + ld hl, SilphCo7Text14 + ld de, SilphCo7Text_51ecd call SaveEndBattleTextPointers - ld a, SONY2 + $c8 - ld [W_CUROPPONENT], a ; wd059 - ld a, [W_RIVALSTARTER] ; wd715 + ld a, OPP_SONY2 + ld [wCurOpponent], a + ld a, [wRivalStarter] cp STARTER2 jr nz, .asm_51cb6 ld a, $7 @@ -193,30 +198,29 @@ SilphCo7Script3: ; 51c82 (14:5c82) .asm_51cbe ld a, $9 .asm_51cc0 - ld [W_TRAINERNO], a ; wd05d + ld [wTrainerNo], a ld a, $4 jp SilphCo7Text_51c10 -SilphCo7Script4: ; 51cc8 (14:5cc8) - ld a, [W_ISINBATTLE] ; W_ISINBATTLE +SilphCo7Script4: + ld a, [wIsInBattle] cp $ff jp z, SilphCo7Text_51c0c ld a, $f0 ld [wJoyIgnore], a - ld hl, wd82f - set 0, [hl] - ld a, $4 - ld [wd528], a + SetEvent EVENT_BEAT_SILPH_CO_RIVAL + ld a, PLAYER_DIR_DOWN + ld [wPlayerMovingDirection], a ld a, $9 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - ld a, $4 - ld [$ff8d], a + ld [H_SPRITEINDEX], a + ld a, SPRITE_FACING_UP + ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $f - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $ff - ld [wc0ee], a + ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateStart ld de, MovementData_51d1d @@ -226,30 +230,39 @@ SilphCo7Script4: ; 51cc8 (14:5cc8) ld de, MovementData_51d1a .asm_51d0e ld a, $9 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [H_SPRITEINDEX], a call MoveSprite ld a, $5 jp SilphCo7Text_51c10 -MovementData_51d1a: ; 51d1a (14:5d1a) - db $C0,$C0,$FF +MovementData_51d1a: + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db $FF -MovementData_51d1d: ; 51d1d (14:5d1d) - db $80,$40,$40,$C0,$C0,$C0,$00,$FF +MovementData_51d1d: + db NPC_MOVEMENT_LEFT + db NPC_MOVEMENT_UP + db NPC_MOVEMENT_UP + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_DOWN + db $FF -SilphCo7Script5: ; 51d25 (14:5d25) +SilphCo7Script5: ld a, [wd730] bit 0, a ret nz ld a, HS_SILPH_CO_7F_RIVAL - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject call PlayDefaultMusic xor a ld [wJoyIgnore], a jp SilphCo7Text_51c10 -SilphCo7TextPointers: ; 51d3f (14:5d3f) +SilphCo7TextPointers: dw SilphCo7Text1 dw SilphCo7Text2 dw SilphCo7Text3 @@ -259,60 +272,58 @@ SilphCo7TextPointers: ; 51d3f (14:5d3f) dw SilphCo7Text7 dw SilphCo7Text8 dw SilphCo7Text9 - dw Predef5CText - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText dw SilphCo7Text13 dw SilphCo7Text14 dw SilphCo7Text15 -SilphCo7TrainerHeaders: ; 51d5d (14:5d5d) -SilphCo7TrainerHeader0: ; 51d5d (14:5d5d) - db $5 ; flag's bit +SilphCo7TrainerHeader0: + dbEventFlagBit EVENT_BEAT_SILPH_CO_7F_TRAINER_0 db ($2 << 4) ; trainer's view range - dw wd82f ; flag's byte - dw SilphCo7BattleText1 ; 0x5e5a TextBeforeBattle - dw SilphCo7AfterBattleText1 ; 0x5e64 TextAfterBattle - dw SilphCo7EndBattleText1 ; 0x5e5f TextEndBattle - dw SilphCo7EndBattleText1 ; 0x5e5f TextEndBattle - -SilphCo7TrainerHeader2: ; 51d69 (14:5d69) - db $6 ; flag's bit + dwEventFlagAddress EVENT_BEAT_SILPH_CO_7F_TRAINER_0 + dw SilphCo7BattleText1 ; TextBeforeBattle + dw SilphCo7AfterBattleText1 ; TextAfterBattle + dw SilphCo7EndBattleText1 ; TextEndBattle + dw SilphCo7EndBattleText1 ; TextEndBattle + +SilphCo7TrainerHeader1: + dbEventFlagBit EVENT_BEAT_SILPH_CO_7F_TRAINER_1 db ($3 << 4) ; trainer's view range - dw wd82f ; flag's byte - dw SilphCo7BattleText2 ; 0x5e73 TextBeforeBattle - dw SilphCo7AfterBattleText2 ; 0x5e7d TextAfterBattle - dw SilphCo7EndBattleText2 ; 0x5e78 TextEndBattle - dw SilphCo7EndBattleText2 ; 0x5e78 TextEndBattle - -SilphCo7TrainerHeader3: ; 51d75 (14:5d75) - db $7 ; flag's bit + dwEventFlagAddress EVENT_BEAT_SILPH_CO_7F_TRAINER_1 + dw SilphCo7BattleText2 ; TextBeforeBattle + dw SilphCo7AfterBattleText2 ; TextAfterBattle + dw SilphCo7EndBattleText2 ; TextEndBattle + dw SilphCo7EndBattleText2 ; TextEndBattle + +SilphCo7TrainerHeader2: + dbEventFlagBit EVENT_BEAT_SILPH_CO_7F_TRAINER_2 db ($3 << 4) ; trainer's view range - dw wd82f ; flag's byte - dw SilphCo7BattleText3 ; 0x5e8c TextBeforeBattle - dw SilphCo7AfterBattleText3 ; 0x5e96 TextAfterBattle - dw SilphCo7EndBattleText3 ; 0x5e91 TextEndBattle - dw SilphCo7EndBattleText3 ; 0x5e91 TextEndBattle - -SilphCo7TrainerHeader4: ; 51d81 (14:5d81) - db $8 ; flag's bit + dwEventFlagAddress EVENT_BEAT_SILPH_CO_7F_TRAINER_2 + dw SilphCo7BattleText3 ; TextBeforeBattle + dw SilphCo7AfterBattleText3 ; TextAfterBattle + dw SilphCo7EndBattleText3 ; TextEndBattle + dw SilphCo7EndBattleText3 ; TextEndBattle + +SilphCo7TrainerHeader3: + dbEventFlagBit EVENT_BEAT_SILPH_CO_7F_TRAINER_3, 1 db ($4 << 4) ; trainer's view range - dw wd82f ; flag's byte - dw SilphCo7BattleText4 ; 0x5ea5 TextBeforeBattle - dw SilphCo7AfterBattleText4 ; 0x5eaf TextAfterBattle - dw SilphCo7EndBattleText4 ; 0x5eaa TextEndBattle - dw SilphCo7EndBattleText4 ; 0x5eaa TextEndBattle + dwEventFlagAddress EVENT_BEAT_SILPH_CO_7F_TRAINER_3, 1 + dw SilphCo7BattleText4 ; TextBeforeBattle + dw SilphCo7AfterBattleText4 ; TextAfterBattle + dw SilphCo7EndBattleText4 ; TextEndBattle + dw SilphCo7EndBattleText4 ; TextEndBattle db $ff SilphCo7Text1: ; lapras guy - db $08 ; asm + TX_ASM ld a, [wd72e] bit 0, a ; got lapras? jr z, .givelapras - ld a, [wd838] - bit 7, a ; saved silph? + CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI jr nz, .savedsilph ld hl, .LaprasGuyText call PrintText @@ -320,7 +331,7 @@ SilphCo7Text1: .givelapras ld hl, .MeetLaprasGuyText call PrintText - ld bc, (LAPRAS << 8) | 15 + lb bc, LAPRAS, 15 call GivePokemon jr nc, .done ld a, [wSimulatedJoypadStatesEnd] @@ -355,9 +366,8 @@ SilphCo7Text1: db "@" SilphCo7Text2: - db $8 - ld a, [wd838] - bit 7, a ; saved silph? + TX_ASM + CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI jr nz, .savedsilph ld hl, .rockettext call PrintText @@ -377,9 +387,8 @@ SilphCo7Text2: db "@" SilphCo7Text3: - db $08 ; asm - ld a, [wd838] - bit 7, a ; saved silph? + TX_ASM + CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI jr nz, .savedsilph ld hl, .rockettext call PrintText @@ -399,9 +408,8 @@ SilphCo7Text3: db "@" SilphCo7Text4: - db $08 ; asm - ld a, [wd838] - bit 7, a ; saved silph? + TX_ASM + CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI jr nz, .savedsilph ld hl, .rockettext call PrintText @@ -420,100 +428,100 @@ SilphCo7Text4: TX_FAR _SilphCo7Text_51e4b db "@" -SilphCo7Text5: ; 51e50 (14:5e50) - db $08 ; asm +SilphCo7Text5: + TX_ASM ld hl, SilphCo7TrainerHeader0 call TalkToTrainer jp TextScriptEnd -SilphCo7BattleText1: ; 51e5a (14:5e5a) +SilphCo7BattleText1: TX_FAR _SilphCo7BattleText1 db "@" -SilphCo7EndBattleText1: ; 51e5f (14:5e5f) +SilphCo7EndBattleText1: TX_FAR _SilphCo7EndBattleText1 db "@" -SilphCo7AfterBattleText1: ; 51e64 (14:5e64) +SilphCo7AfterBattleText1: TX_FAR _SilphCo7AfterBattleText1 db "@" -SilphCo7Text6: ; 51e69 (14:5e69) - db $08 ; asm - ld hl, SilphCo7TrainerHeader2 +SilphCo7Text6: + TX_ASM + ld hl, SilphCo7TrainerHeader1 call TalkToTrainer jp TextScriptEnd -SilphCo7BattleText2: ; 51e73 (14:5e73) +SilphCo7BattleText2: TX_FAR _SilphCo7BattleText2 db "@" -SilphCo7EndBattleText2: ; 51e78 (14:5e78) +SilphCo7EndBattleText2: TX_FAR _SilphCo7EndBattleText2 db "@" -SilphCo7AfterBattleText2: ; 51e7d (14:5e7d) +SilphCo7AfterBattleText2: TX_FAR _SilphCo7AfterBattleText2 db "@" -SilphCo7Text7: ; 51e82 (14:5e82) - db $08 ; asm - ld hl, SilphCo7TrainerHeader3 +SilphCo7Text7: + TX_ASM + ld hl, SilphCo7TrainerHeader2 call TalkToTrainer jp TextScriptEnd -SilphCo7BattleText3: ; 51e8c (14:5e8c) +SilphCo7BattleText3: TX_FAR _SilphCo7BattleText3 db "@" -SilphCo7EndBattleText3: ; 51e91 (14:5e91) +SilphCo7EndBattleText3: TX_FAR _SilphCo7EndBattleText3 db "@" -SilphCo7AfterBattleText3: ; 51e96 (14:5e96) +SilphCo7AfterBattleText3: TX_FAR _SilphCo7AfterBattleText3 db "@" -SilphCo7Text8: ; 51e9b (14:5e9b) - db $08 ; asm - ld hl, SilphCo7TrainerHeader4 +SilphCo7Text8: + TX_ASM + ld hl, SilphCo7TrainerHeader3 call TalkToTrainer jp TextScriptEnd -SilphCo7BattleText4: ; 51ea5 (14:5ea5) +SilphCo7BattleText4: TX_FAR _SilphCo7BattleText4 db "@" -SilphCo7EndBattleText4: ; 51eaa (14:5eaa) +SilphCo7EndBattleText4: TX_FAR _SilphCo7EndBattleText4 db "@" -SilphCo7AfterBattleText4: ; 51eaf (14:5eaf) +SilphCo7AfterBattleText4: TX_FAR _SilphCo7AfterBattleText4 db "@" -SilphCo7Text9: ; 51eb4 (14:5eb4) - db $08 ; asm +SilphCo7Text9: + TX_ASM ld hl, SilphCo7Text_51ebe call PrintText jp TextScriptEnd -SilphCo7Text_51ebe: ; 51ebe (14:5ebe) +SilphCo7Text_51ebe: TX_FAR _SilphCo7Text_51ebe db "@" -SilphCo7Text13: ; 51ec3 (14:5ec3) +SilphCo7Text13: TX_FAR _SilphCo7Text_51ec3 db "@" -SilphCo7Text14: ; 51ec8 (14:5ec8) +SilphCo7Text14: TX_FAR _SilphCo7Text_51ec8 db "@" -SilphCo7Text_51ecd: ; 51ecd (14:5ecd) +SilphCo7Text_51ecd: TX_FAR _SilphCo7Text_51ecd db "@" -SilphCo7Text15: ; 51ed2 (14:5ed2) +SilphCo7Text15: TX_FAR _SilphCo7Text_51ed2 db "@" |