diff options
Diffstat (limited to 'scripts')
228 files changed, 10878 insertions, 11464 deletions
diff --git a/scripts/agatha.asm b/scripts/agatha.asm index a8f9e137..88d6a8de 100755 --- a/scripts/agatha.asm +++ b/scripts/agatha.asm @@ -1,46 +1,47 @@ -AgathaScript: ; 7642d (1d:642d) - call AgathaScript_76443 +AgathaScript: + call AgathaShowOrHideExitBlock call EnableAutoTextBoxDrawing - ld hl, AgathaTrainerHeaders + ld hl, AgathaTrainerHeader0 ld de, AgathaScriptPointers - ld a, [W_AGATHACURSCRIPT] + ld a, [wAgathaCurScript] call ExecuteCurMapScriptInTable - ld [W_AGATHACURSCRIPT], a + ld [wAgathaCurScript], a ret -AgathaScript_76443: ; 76443 (1d:6443) - ld hl, wd126 +AgathaShowOrHideExitBlock: +; Blocks or clears the exit to the next room. + ld hl, wCurrentMapScriptFlags bit 5, [hl] res 5, [hl] ret z - ld a, [wd865] - bit 1, a - jr z, .asm_76457 + CheckEvent EVENT_BEAT_AGATHAS_ROOM_TRAINER_0 + jr z, .blockExitToNextRoom ld a, $e - jp AgathaScript_76459 -.asm_76457 + jp .setExitBlock +.blockExitToNextRoom ld a, $3b - -AgathaScript_76459: ; 76459 (1d:6459) - ld [wd09f], a - ld bc, $2 +.setExitBlock: + ld [wNewTileBlockID], a + lb bc, 0, 2 predef_jump ReplaceTileBlock -AgathaScript_76464: ; 76464 (1d:6464) +ResetAgathaScript: xor a - ld [W_AGATHACURSCRIPT], a + ld [wAgathaCurScript], a ret -AgathaScriptPointers: ; 76469 (1d:6469) +AgathaScriptPointers: dw AgathaScript0 dw DisplayEnemyTrainerTextAndStartBattle dw AgathaScript2 dw AgathaScript3 dw AgathaScript4 -AgathaScript4: ; 76473 (1d:6473) +AgathaScript4: ret -asm_76474: ; 76474 (1d:6474) + +AgathaScriptWalkIntoRoom: +; Walk six steps upward. ld hl, wSimulatedJoypadStatesEnd ld a, D_UP ld [hli], a @@ -53,12 +54,12 @@ asm_76474: ; 76474 (1d:6474) ld [wSimulatedJoypadStatesIndex], a call StartSimulatingJoypadStates ld a, $3 - ld [W_AGATHACURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wAgathaCurScript], a + ld [wCurMapScript], a ret -AgathaScript0: ; 76490 (1d:6490) - ld hl, CoordsData_764d1 +AgathaScript0: + ld hl, AgathaEntranceCoords call ArePlayerCoordsInArray jp nc, CheckFightingMapTrainers xor a @@ -66,91 +67,88 @@ AgathaScript0: ; 76490 (1d:6490) ld [hJoyHeld], a ld [wSimulatedJoypadStatesEnd], a ld [wSimulatedJoypadStatesIndex], a - ld a, [wWhichTrade] ; wWhichTrade - cp $3 - jr c, .asm_764b4 - ld hl, wd865 - bit 6, [hl] - set 6, [hl] - jr z, asm_76474 -.asm_764b4 + ld a, [wCoordIndex] + cp $3 ; Is player standing one tile above the exit? + jr c, .stopPlayerFromLeaving + CheckAndSetEvent EVENT_AUTOWALKED_INTO_AGATHAS_ROOM + jr z, AgathaScriptWalkIntoRoom +.stopPlayerFromLeaving ld a, $2 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call DisplayTextID + ld [hSpriteIndexOrTextID], a + call DisplayTextID ; "Don't run away!" ld a, D_UP ld [wSimulatedJoypadStatesEnd], a ld a, $1 ld [wSimulatedJoypadStatesIndex], a call StartSimulatingJoypadStates ld a, $3 - ld [W_AGATHACURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wAgathaCurScript], a + ld [wCurMapScript], a ret -CoordsData_764d1: ; 764d1 (1d:64d1) +AgathaEntranceCoords: db $0A,$04 db $0A,$05 db $0B,$04 db $0B,$05 db $FF -AgathaScript3: ; 764da (1d:64da) +AgathaScript3: ld a, [wSimulatedJoypadStatesIndex] and a ret nz call Delay3 xor a ld [wJoyIgnore], a - ld [W_AGATHACURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wAgathaCurScript], a + ld [wCurMapScript], a ret -AgathaScript2: ; 764ed (1d:64ed) +AgathaScript2: call EndTrainerBattle - ld a, [W_ISINBATTLE] ; W_ISINBATTLE + ld a, [wIsInBattle] cp $ff - jp z, AgathaScript_76464 + jp z, ResetAgathaScript ld a, $1 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $1 - ld [W_GARYCURSCRIPT], a + ld [wGaryCurScript], a ret -AgathaTextPointers: ; 76505 (1d:6505) +AgathaTextPointers: dw AgathaText1 - dw AgathaText2 + dw AgathaDontRunAwayText -AgathaTrainerHeaders: ; 76509 (1d:6509) -AgathaTrainerHeader0: ; 76509 (1d:6509) - db $1 ; flag's bit +AgathaTrainerHeader0: + dbEventFlagBit EVENT_BEAT_AGATHAS_ROOM_TRAINER_0 db ($0 << 4) ; trainer's view range - dw wd865 ; flag's byte - dw AgathaBeforeBattleText ; 0x6520 TextBeforeBattle - dw AgathaAfterBattleText ; 0x652a TextAfterBattle - dw AgathaEndBattleText ; 0x6525 TextEndBattle - dw AgathaEndBattleText ; 0x6525 TextEndBattle + dwEventFlagAddress EVENT_BEAT_AGATHAS_ROOM_TRAINER_0 + dw AgathaBeforeBattleText ; TextBeforeBattle + dw AgathaAfterBattleText ; TextAfterBattle + dw AgathaEndBattleText ; TextEndBattle + dw AgathaEndBattleText ; TextEndBattle db $ff -AgathaText1: ; 76516 (1d:6516) - db $08 ; asm +AgathaText1: + TX_ASM ld hl, AgathaTrainerHeader0 call TalkToTrainer jp TextScriptEnd -AgathaBeforeBattleText: ; 76520 (1d:6520) +AgathaBeforeBattleText: TX_FAR _AgathaBeforeBattleText db "@" -AgathaEndBattleText: ; 76525 (1d:6525) +AgathaEndBattleText: TX_FAR _AgathaEndBattleText db "@" -AgathaAfterBattleText: ; 7652a (1d:652a) +AgathaAfterBattleText: TX_FAR _AgathaAfterBattleText db "@" -AgathaText2: ; 7652f (1d:652f) - TX_FAR _AgathaText2 +AgathaDontRunAwayText: + TX_FAR _AgathaDontRunAwayText db "@" diff --git a/scripts/battlecenterm.asm b/scripts/battlecenterm.asm deleted file mode 100755 index 5ab697a1..00000000 --- a/scripts/battlecenterm.asm +++ /dev/null @@ -1,38 +0,0 @@ -BattleCenterMScript: ; 4fd10 (13:7d10) - call EnableAutoTextBoxDrawing - ld a, [$ffaa] - cp $2 - ld a, $8 - jr z, .asm_4fd1d ; 0x4fd19 $2 - ld a, $c -.asm_4fd1d - ld [$ff8d], a - ld a, $1 - ld [$ff8c], a - call SetSpriteFacingDirection - ld hl, wd72d - bit 0, [hl] - set 0, [hl] - ret nz - ld hl, wSpriteStateData2 + $14 - ld a, $8 - ld [hli], a - ld a, $a - ld [hl], a - ld a, $8 - ld [wSpriteStateData1 + $19], a - ld a, [$ffaa] - cp $2 - ret z - ld a, $7 - ld [wSpriteStateData2 + $15], a - ld a, $c - ld [wSpriteStateData1 + $19], a - ret - -BattleCenterMTextPointers: ; 4fd4c (13:7d4c) - dw BattleCenterMText1 - -BattleCenterMText1: ; 4fd4e (13:7d4e) - TX_FAR _BattleCenterMText1 - db "@" diff --git a/scripts/beach_house.asm b/scripts/beach_house.asm deleted file mode 100644 index 67c29f1b..00000000 --- a/scripts/beach_house.asm +++ /dev/null @@ -1,195 +0,0 @@ -BeachHouseScript: - call $3c29 - ret - -BeachHouseTextPointers: - dw SurfinDudeText - dw BeachHousePikachuText - dw BeachHouseSign1Text - dw BeachHouseSign2Text - dw BeachHouseSign3Text - dw BeachHouseSign4Text - -SurfinDudeText: - db 8 - ld a,[$d471] - bit 6,a - jr nz,.next - ld hl,.SurfinDudeText4 - call PrintText - jr .done -.next - ld hl,$d492 - bit 0,[hl] - set 0,[hl] - jr nz,.next2 - ld hl,.SurfinDudeText1 - jr .next3 -.next2 - ld hl,.SurfinDudeText3 -.next3 - call PrintText - call YesNoChoice - ld a,[wCurrentMenuItem] - and a - jr nz,.xf226b - ld a,1 - ld [$cc3c],a - ld b,$3e - ld hl,$4000 - call $3e84 - ld hl,$d492 - set 1,[hl] - jr .done -.xf226b - ld hl,.SurfinDudeText2 - call PrintText -.done - jp TextScriptEnd - -.SurfinDudeText1 - TX_FAR _SurfinDudeText1 - db "@" -.SurfinDudeText2 - TX_FAR _SurfinDudeText2 - db "@" -.SurfinDudeText3 - TX_FAR _SurfinDudeText3 - db "@" -.SurfinDudeText4 - TX_FAR _SurfinDudeText4 - db "@" - -BeachHousePikachuText: - db 8 - ld hl,.BeachHousePikachuText - call PrintText - ld a,PIKACHU - call PlayCry - call WaitForSoundToFinish - jp TextScriptEnd - -.BeachHousePikachuText - TX_FAR _BeachHousePikachuText - db "@" - -BeachHouseSign1Text: - db 8 - ld hl,.BeachHouseSign1Text2 - ld a,[$d471] - bit 6,a - jr z,.next - ld hl,.BeachHouseSign1Text1 -.next - call PrintText - jp TextScriptEnd - -.BeachHouseSign1Text1 - TX_FAR _BeachHouseSign1Text1 - db "@" -.BeachHouseSign1Text2 - TX_FAR _BeachHouseSign1Text2 - db "@" - -BeachHouseSign2Text: - db 8 - ld hl,.BeachHouseSign2Text2 - ld a,[$d471] - bit 6,a - jr z,.next - ld hl,.BeachHouseSign2Text1 -.next - call PrintText - jp TextScriptEnd - -.BeachHouseSign2Text1 - TX_FAR _BeachHouseSign2Text1 - db "@" -.BeachHouseSign2Text2 - TX_FAR _BeachHouseSign2Text2 - db "@" - -BeachHouseSign3Text: - db 8 - ld hl,.BeachHouseSign3Text2 - ld a,[$d471] - bit 6,a - jr z,.next - ld hl,.BeachHouseSign3Text1 -.next - call PrintText - jp TextScriptEnd - -.BeachHouseSign3Text1 - TX_FAR _BeachHouseSign3Text1 - db "@" -.BeachHouseSign3Text2 - TX_FAR _BeachHouseSign3Text2 - db "@" - -BeachHouseSign4Text: - db 8 - ld a,1 - ld [$cc3c],a - ld a,[$d471] - bit 6,a - jr z,.xf2369 - - ld hl,$d492 - bit 1,[hl] - jr z,.next2 - ld a,0 - ld [$cc3c],a -.next2 - ld hl,.BeachHousePrinterText2 - call PrintText - ld a,[$d492] - bit 1,a - jr z,.xf236f - - ld a,1 - ld [$cc3c],a - ld hl,.BeachHousePrinterText3 - call PrintText - call YesNoChoice - ld a,[wCurrentMenuItem] - and a - jp z,$63d0 ; 0xf23d0 - call $36ec - ld hl,$d72f - set 6,[hl] - xor a - ld [$cfca],a - ld hl,$510a - ld b,$3a - call $3e84 - call $3852 - ld hl,$d72f - res 6,[hl] - call $3dd8 - call $2f83 - call $3dc2 - call $36f8 - call $3ddb - call $3de0 - ld a,1 - ld [$cfca],a - jr .xf236f -.xf2369 - ld hl,.BeachHousePrinterText1 - call PrintText -.xf236f - jp TextScriptEnd - -.BeachHousePrinterText1 - TX_FAR _BeachHousePrinterText1 - db $d,"@" -.BeachHousePrinterText2 - TX_FAR _BeachHousePrinterText2 - db $d,"@" -.BeachHousePrinterText3 - TX_FAR _BeachHousePrinterText3 - db "@" -.xf2383 - TX_FAR _BeachHousePrinterText4 - db "@" diff --git a/scripts/bikeshop.asm b/scripts/bikeshop.asm index 4bd26a7e..4d6853be 100755 --- a/scripts/bikeshop.asm +++ b/scripts/bikeshop.asm @@ -1,33 +1,31 @@ -BikeShopScript: ; 1d73c (7:573c) +BikeShopScript: jp EnableAutoTextBoxDrawing -BikeShopTextPointers: ; 1d73f (7:573f) +BikeShopTextPointers: dw BikeShopText1 dw BikeShopText2 dw BikeShopText3 -BikeShopText1: ; 1d745 (7:5745) - db $08 ; asm - ld a, [wd75f] - bit 0, a - jr z, .asm_260d4 ; 0x1d74b +BikeShopText1: + TX_ASM + CheckEvent EVENT_GOT_BICYCLE + jr z, .asm_260d4 ld hl, BikeShopText_1d82f call PrintText jp .Done -.asm_260d4 ; 0x1d756 +.asm_260d4 ld b, BIKE_VOUCHER call IsItemInBag - jr z, .asm_41190 ; 0x1d75b + jr z, .asm_41190 ld hl, BikeShopText_1d81f call PrintText - ld bc, (BICYCLE << 8) | 1 + lb bc, BICYCLE, 1 call GiveItem jr nc, .BagFull ld a, BIKE_VOUCHER - ldh [$db], a + ld [$ffdb], a callba RemoveItemByID - ld hl, wd75f - set 0, [hl] + SetEvent EVENT_GOT_BICYCLE ld hl, BikeShopText_1d824 call PrintText jr .Done @@ -35,13 +33,13 @@ BikeShopText1: ; 1d745 (7:5745) ld hl, BikeShopText_1d834 call PrintText jr .Done -.asm_41190 ; 0x1d78c +.asm_41190 ld hl, BikeShopText_1d810 call PrintText xor a ld [wCurrentMenuItem], a ld [wLastMenuItem], a - ld a, $3 + ld a, A_BUTTON | B_BUTTON ld [wMenuWatchedKeys], a ld a, $1 ld [wMaxMenuItem], a @@ -51,99 +49,99 @@ BikeShopText1: ; 1d745 (7:5745) ld [wTopMenuItemX], a ld hl, wd730 set 6, [hl] - ld hl, wTileMap + coord hl, 0, 0 ld b, $4 ld c, $f call TextBoxBorder call UpdateSprites - hlCoord 2, 2 + coord hl, 2, 2 ld de, BikeShopMenuText call PlaceString - hlCoord 8, 3 + coord hl, 8, 3 ld de, BikeShopMenuPrice call PlaceString ld hl, BikeShopText_1d815 call PrintText call HandleMenuInput bit 1, a - jr nz, .asm_b7579 ; 0x1d7dc + jr nz, .cancel ld hl, wd730 res 6, [hl] ld a, [wCurrentMenuItem] and a - jr nz, .asm_b7579 ; 0x1d7e7 - ld hl, BikeShopText_1d81a + jr nz, .cancel + ld hl, BikeShopCantAffordText call PrintText -.asm_b7579 ; 0x1d7ef - ld hl, BikeShopText_1d82a +.cancel + ld hl, BikeShopComeAgainText call PrintText .Done jp TextScriptEnd -BikeShopMenuText: ; 1d7f8 (7:57f8) +BikeShopMenuText: db "BICYCLE" next "CANCEL@" -BikeShopMenuPrice: ; 1d807 (7:5807) +BikeShopMenuPrice: db "¥1000000@" -BikeShopText_1d810: ; 1d810 (7:5810) +BikeShopText_1d810: TX_FAR _BikeShopText_1d810 db "@" -BikeShopText_1d815: ; 1d815 (7:5815) +BikeShopText_1d815: TX_FAR _BikeShopText_1d815 db "@" -BikeShopText_1d81a: ; 1d81a (7:581a) - TX_FAR _BikeShopText_1d81a +BikeShopCantAffordText: + TX_FAR _BikeShopCantAffordText db "@" -BikeShopText_1d81f: ; 1d81f (7:581f) +BikeShopText_1d81f: TX_FAR _BikeShopText_1d81f db "@" -BikeShopText_1d824: ; 1d824 (7:5824) - TX_FAR _BikeShopText_1d824 ; 0x98eb2 - db $11, "@" +BikeShopText_1d824: + TX_FAR _BikeShopText_1d824 + TX_SFX_KEY_ITEM + db "@" -BikeShopText_1d82a: ; 1d82a (7:582a) - TX_FAR _BikeShopText_1d82a +BikeShopComeAgainText: + TX_FAR _BikeShopComeAgainText db "@" -BikeShopText_1d82f: ; 1d82f (7:582f) +BikeShopText_1d82f: TX_FAR _BikeShopText_1d82f db "@" -BikeShopText_1d834: ; 1d834 (7:5834) +BikeShopText_1d834: TX_FAR _BikeShopText_1d834 db "@" -BikeShopText2: ; 1d839 (7:5839) - db $08 ; asm +BikeShopText2: + TX_ASM ld hl, BikeShopText_1d843 call PrintText jp TextScriptEnd -BikeShopText_1d843: ; 1d843 (7:5843) +BikeShopText_1d843: TX_FAR _BikeShopText_1d843 db "@" -BikeShopText3: ; 1d848 (7:5848) - db $08 ; asm - ld a, [wd75f] - bit 0, a +BikeShopText3: + TX_ASM + CheckEvent EVENT_GOT_BICYCLE ld hl, BikeShopText_1d861 - jr nz, .asm_34d2d ; 0x1d851 + jr nz, .asm_34d2d ld hl, BikeShopText_1d85c -.asm_34d2d ; 0x1d856 +.asm_34d2d call PrintText jp TextScriptEnd -BikeShopText_1d85c: ; 1d85c (7:585c) +BikeShopText_1d85c: TX_FAR _BikeShopText_1d85c db "@" -BikeShopText_1d861: ; 1d861 (7:5861) +BikeShopText_1d861: TX_FAR _BikeShopText_1d861 db "@" diff --git a/scripts/billshouse.asm b/scripts/billshouse.asm index 61a575b9..2b60ef8c 100755 --- a/scripts/billshouse.asm +++ b/scripts/billshouse.asm @@ -1,10 +1,10 @@ -BillsHouseScript: ; 1e76a (7:676a) +BillsHouseScript: call EnableAutoTextBoxDrawing - ld a, [W_BILLSHOUSECURSCRIPT] + ld a, [wBillsHouseCurScript] ld hl, BillsHouseScriptPointers jp CallFunctionInTable -BillsHouseScriptPointers: ; 1e776 (7:6776) +BillsHouseScriptPointers: dw BillsHouseScript0 dw BillsHouseScript1 dw BillsHouseScript2 @@ -12,47 +12,54 @@ BillsHouseScriptPointers: ; 1e776 (7:6776) dw BillsHouseScript4 dw BillsHouseScript5 -BillsHouseScript0: ; 1e782 (7:6782) +BillsHouseScript0: ret -BillsHouseScript1: ; 1e783 (7:6783) +BillsHouseScript1: ld a, [wSpriteStateData1 + 9] - and a + and a ; cp SPRITE_FACING_DOWN ld de, MovementData_1e79c - jr nz, .asm_1e78f ; 0x1e78a $3 + jr nz, .notDown ld de, MovementData_1e7a0 -.asm_1e78f +.notDown ld a, $1 - ld [$ff8c], a + ld [H_SPRITEINDEX], a call MoveSprite ld a, $2 - ld [W_BILLSHOUSECURSCRIPT], a + ld [wBillsHouseCurScript], a ret -MovementData_1e79c: ; 1e79c (7:679c) - db $40,$40,$40,$FF - -MovementData_1e7a0: ; 1e7a0 (7:67a0) - db $C0,$40,$40,$80,$40,$FF - -BillsHouseScript2: ; 1e7a6 (7:67a6) +MovementData_1e79c: + db NPC_MOVEMENT_UP + db NPC_MOVEMENT_UP + db NPC_MOVEMENT_UP + db $FF + +; make Bill walk around the player +MovementData_1e7a0: + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_UP + db NPC_MOVEMENT_UP + db NPC_MOVEMENT_LEFT + db NPC_MOVEMENT_UP + db $FF + +BillsHouseScript2: ld a, [wd730] bit 0, a ret nz ld a, HS_BILL_POKEMON - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject - ld hl, wd7f2 - set 6, [hl] + SetEvent EVENT_BILL_SAID_USE_CELL_SEPARATOR xor a ld [wJoyIgnore], a ld a, $3 - ld [W_BILLSHOUSECURSCRIPT], a + ld [wBillsHouseCurScript], a ret -BillsHouseScript3: ; 1e7c5 (7:67c5) - ld a, [wd7f2] - bit 3, a +BillsHouseScript3: + CheckEvent EVENT_USED_CELL_SEPARATOR_ON_BILL ret z ld a, $f0 ld [wJoyIgnore], a @@ -68,137 +75,140 @@ BillsHouseScript3: ; 1e7c5 (7:67c5) ld [$ffee], a call SetSpritePosition1 ld a, HS_BILL_1 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef ShowObject - ld c, $8 + ld c, 8 call DelayFrames ld a, $2 - ld [$ff8c], a + ld [H_SPRITEINDEX], a ld de, MovementData_1e807 call MoveSprite ld a, $4 - ld [W_BILLSHOUSECURSCRIPT], a + ld [wBillsHouseCurScript], a ret -MovementData_1e807: ; 1e807 (7:6807) - db $00,$C0,$C0,$C0,$00,$FF +MovementData_1e807: + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_DOWN + db $FF -BillsHouseScript4: ; 1e80d (7:680d) +BillsHouseScript4: ld a, [wd730] bit 0, a ret nz xor a ld [wJoyIgnore], a - ld hl, wd7f2 - set 5, [hl] - ld hl, wd7f1 - set 0, [hl] + SetEvent EVENT_MET_BILL_2 ; this event seems redundant + SetEvent EVENT_MET_BILL ld a, $0 - ld [W_BILLSHOUSECURSCRIPT], a + ld [wBillsHouseCurScript], a ret -BillsHouseScript5: ; 1e827 (7:6827) +BillsHouseScript5: ld a, $4 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $0 - ld [W_BILLSHOUSECURSCRIPT], a + ld [wBillsHouseCurScript], a ret -BillsHouseTextPointers: ; 1e834 (7:6834) +BillsHouseTextPointers: dw BillsHouseText1 dw BillsHouseText2 dw BillsHouseText3 dw BillsHouseText4 -BillsHouseText4: ; 1e83c (7:683c) - db $fd +BillsHouseText4: + TX_BILLS_PC -BillsHouseText1: ; 1e83d (7:683d) - db $8 +BillsHouseText1: + TX_ASM ld hl, BillsHouseText_1e865 call PrintText call YesNoChoice ld a, [wCurrentMenuItem] and a - jr nz, asm_6b196 ; 0x1e84b $d -asm_4d03c: ; 1e84d (7:684d) + jr nz, .asm_1e85a +.asm_1e84d ld hl, BillsHouseText_1e86a call PrintText ld a, $1 - ld [W_BILLSHOUSECURSCRIPT], a - jr asm_fd4e2 ; 0x1e858 $8 -asm_6b196: ; 1e85a (7:685a) + ld [wBillsHouseCurScript], a + jr .asm_1e862 +.asm_1e85a ld hl, BillsHouseText_1e86f call PrintText - jr asm_4d03c ; 0x1e860 $eb -asm_fd4e2 ; 0x1e862 + jr .asm_1e84d +.asm_1e862 jp TextScriptEnd -BillsHouseText_1e865: ; 1e865 (7:6865) - TX_FAR _BillsHouseText_1e865 ; 0x8d267 +BillsHouseText_1e865: + TX_FAR _BillsHouseText_1e865 db "@" -BillsHouseText_1e86a: ; 1e86a (7:686a) - TX_FAR _BillsHouseText_1e86a ; 0x8d345 +BillsHouseText_1e86a: + TX_FAR _BillsHouseText_1e86a db "@" -BillsHouseText_1e86f: ; 1e86f (7:686f) - TX_FAR _BillsHouseText_1e86f ; 0x8d391 +BillsHouseText_1e86f: + TX_FAR _BillsHouseText_1e86f db "@" -BillsHouseText2: ; 1e874 (7:6874) - db $08 ; asm - ld a, [wd7f2] - bit 4, a - jr nz, .asm_5491f ; 0x1e87a +BillsHouseText2: + TX_ASM + CheckEvent EVENT_GOT_SS_TICKET + jr nz, .asm_1e8a9 ld hl, BillThankYouText call PrintText - ld bc, (S_S__TICKET << 8) | 1 + lb bc, S_S_TICKET, 1 call GiveItem jr nc, .BagFull ld hl, SSTicketReceivedText call PrintText - ld hl, wd7f2 - set 4, [hl] + SetEvent EVENT_GOT_SS_TICKET ld a, HS_CERULEAN_GUARD_1 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef ShowObject ld a, HS_CERULEAN_GUARD_2 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject -.asm_5491f ; 0x1e8a9 +.asm_1e8a9 ld hl, BillsHouseText_1e8cb call PrintText - jr .asm_bd408 ; 0x1e8af + jr .asm_1e8b7 .BagFull ld hl, SSTicketNoRoomText call PrintText -.asm_bd408 ; 0x1e8b7 +.asm_1e8b7 jp TextScriptEnd -BillThankYouText: ; 1e8ba (7:68ba) +BillThankYouText: TX_FAR _BillThankYouText db "@" -SSTicketReceivedText: ; 1e8bf (7:68bf) +SSTicketReceivedText: TX_FAR _SSTicketReceivedText - db $11, $6, "@" + TX_SFX_KEY_ITEM + TX_BLINK + db "@" -SSTicketNoRoomText: ; 1e8c6 (7:68c6) +SSTicketNoRoomText: TX_FAR _SSTicketNoRoomText db "@" -BillsHouseText_1e8cb: ; 1e8cb (7:68cb) +BillsHouseText_1e8cb: TX_FAR _BillsHouseText_1e8cb db "@" -BillsHouseText3: ; 1e8d0 (7:68d0) - db $08 ; asm +BillsHouseText3: + TX_ASM ld hl, BillsHouseText_1e8da call PrintText jp TextScriptEnd -BillsHouseText_1e8da: ; 1e8da (7:68da) +BillsHouseText_1e8da: TX_FAR _BillsHouseText_1e8da db "@" diff --git a/scripts/blueshouse.asm b/scripts/blueshouse.asm index ab05e286..2b72ef97 100755 --- a/scripts/blueshouse.asm +++ b/scripts/blueshouse.asm @@ -1,89 +1,89 @@ -BluesHouseScript: ; 19b3b (6:5b3b) +BluesHouseScript: call EnableAutoTextBoxDrawing - ld hl,BluesHouseScriptPointers - ld a,[W_BLUESHOUSECURSCRIPT] + ld hl, BluesHouseScriptPointers + ld a, [wBluesHouseCurScript] jp CallFunctionInTable -BluesHouseScriptPointers: ; 19b47 (6:5b47) +BluesHouseScriptPointers: dw BluesHouseScript0 dw BluesHouseScript1 -BluesHouseScript0: ; 19b4b (6:5b4b) - ld hl,wd74a - set 1,[hl] +BluesHouseScript0: + SetEvent EVENT_ENTERED_BLUES_HOUSE ; trigger the next script - ld a,1 - ld [W_BLUESHOUSECURSCRIPT],a + ld a, 1 + ld [wBluesHouseCurScript], a ret -BluesHouseScript1: ; 19b56 (6:5b56) +BluesHouseScript1: ret -BluesHouseTextPointers: ; 19b57 (6:5b57) +BluesHouseTextPointers: dw BluesHouseText1 dw BluesHouseText2 dw BluesHouseText3 -BluesHouseText1: ; 19b5d (6:5b5d) - db 8 - ld a,[wd74a] - bit 0,a - jr nz,.GotMap - ld a,[wd74b] - bit 5,a - jr nz,.GiveMap - ld hl,DaisyInitialText +BluesHouseText1: + TX_ASM + CheckEvent EVENT_GOT_TOWN_MAP + jr nz, .GotMap + CheckEvent EVENT_GOT_POKEDEX + jr nz, .GiveMap + ld hl, DaisyInitialText call PrintText jr .done + .GiveMap - ld hl,DaisyOfferMapText + ld hl, DaisyOfferMapText call PrintText - ld bc,(TOWN_MAP << 8) | 1 + lb bc, TOWN_MAP, 1 call GiveItem jr nc, .BagFull - ld a,HS_TOWN_MAP - ld [wcc4d],a + ld a, HS_TOWN_MAP + ld [wMissableObjectIndex], a predef HideObject ; hide table map object - ld hl,GotMapText + ld hl, GotMapText call PrintText - ld hl,wd74a - set 0,[hl] + SetEvent EVENT_GOT_TOWN_MAP jr .done + .GotMap - ld hl,DaisyUseMapText + ld hl, DaisyUseMapText call PrintText jr .done + .BagFull - ld hl,DaisyBagFullText + ld hl, DaisyBagFullText call PrintText .done jp TextScriptEnd -DaisyInitialText: ; 19baa (6:5baa) +DaisyInitialText: TX_FAR _DaisyInitialText db "@" -DaisyOfferMapText: ; 19baf (6:5baf) +DaisyOfferMapText: TX_FAR _DaisyOfferMapText db "@" -GotMapText: ; 19bb4 (6:5bb4) +GotMapText: TX_FAR _GotMapText - db $11,"@" + TX_SFX_KEY_ITEM + db "@" -DaisyBagFullText: ; 19bba (6:5bba) +DaisyBagFullText: TX_FAR _DaisyBagFullText db "@" -DaisyUseMapText: ; 19bbf (6:5bbf) +DaisyUseMapText: TX_FAR _DaisyUseMapText db "@" -BluesHouseText2: ; 0x19bc4 Daisy, walking around +BluesHouseText2: ; Daisy, walking around TX_FAR _BluesHouseText2 db "@" -BluesHouseText3: ; 0x19bc9 map on table +BluesHouseText3: ; map on table TX_FAR _BluesHouseText3 db "@" diff --git a/scripts/bruno.asm b/scripts/bruno.asm index ffe05bce..02ceebf2 100755 --- a/scripts/bruno.asm +++ b/scripts/bruno.asm @@ -1,46 +1,47 @@ -BrunoScript: ; 762d6 (1d:62d6) - call BrunoScript_762ec +BrunoScript: + call BrunoShowOrHideExitBlock call EnableAutoTextBoxDrawing - ld hl, BrunoTrainerHeaders + ld hl, BrunoTrainerHeader0 ld de, BrunoScriptPointers - ld a, [W_BRUNOCURSCRIPT] + ld a, [wBrunoCurScript] call ExecuteCurMapScriptInTable - ld [W_BRUNOCURSCRIPT], a + ld [wBrunoCurScript], a ret -BrunoScript_762ec: ; 762ec (1d:62ec) - ld hl, wd126 +BrunoShowOrHideExitBlock: +; Blocks or clears the exit to the next room. + ld hl, wCurrentMapScriptFlags bit 5, [hl] res 5, [hl] ret z - ld a, [wd864] - bit 1, a - jr z, .asm_76300 + CheckEvent EVENT_BEAT_BRUNOS_ROOM_TRAINER_0 + jr z, .blockExitToNextRoom ld a, $5 - jp BrunoScript_76302 -.asm_76300 + jp .setExitBlock +.blockExitToNextRoom ld a, $24 - -BrunoScript_76302: ; 76302 (1d:6302) - ld [wd09f], a - ld bc, $2 +.setExitBlock + ld [wNewTileBlockID], a + lb bc, 0, 2 predef_jump ReplaceTileBlock -BrunoScript_7630d: ; 7630d (1d:630d) +ResetBrunoScript: xor a - ld [W_BRUNOCURSCRIPT], a + ld [wBrunoCurScript], a ret -BrunoScriptPointers: ; 76312 (1d:6312) +BrunoScriptPointers: dw BrunoScript0 dw DisplayEnemyTrainerTextAndStartBattle dw BrunoScript2 dw BrunoScript3 dw BrunoScript4 -BrunoScript4: ; 7631c (1d:631c) +BrunoScript4: ret -asm_7631d: ; 7631d (1d:631d) + +BrunoScriptWalkIntoRoom: +; Walk six steps upward. ld hl, wSimulatedJoypadStatesEnd ld a, D_UP ld [hli], a @@ -53,12 +54,12 @@ asm_7631d: ; 7631d (1d:631d) ld [wSimulatedJoypadStatesIndex], a call StartSimulatingJoypadStates ld a, $3 - ld [W_BRUNOCURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wBrunoCurScript], a + ld [wCurMapScript], a ret -BrunoScript0: ; 76339 (1d:6339) - ld hl, CoordsData_7637a +BrunoScript0: + ld hl, BrunoEntranceCoords call ArePlayerCoordsInArray jp nc, CheckFightingMapTrainers xor a @@ -66,88 +67,85 @@ BrunoScript0: ; 76339 (1d:6339) ld [hJoyHeld], a ld [wSimulatedJoypadStatesEnd], a ld [wSimulatedJoypadStatesIndex], a - ld a, [wWhichTrade] ; wWhichTrade - cp $3 - jr c, .asm_7635d - ld hl, wd864 - bit 6, [hl] - set 6, [hl] - jr z, asm_7631d -.asm_7635d + ld a, [wCoordIndex] + cp $3 ; Is player standing one tile above the exit? + jr c, .stopPlayerFromLeaving + CheckAndSetEvent EVENT_AUTOWALKED_INTO_BRUNOS_ROOM + jr z, BrunoScriptWalkIntoRoom +.stopPlayerFromLeaving ld a, $2 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call DisplayTextID + ld [hSpriteIndexOrTextID], a + call DisplayTextID ; "Don't run away!" ld a, D_UP ld [wSimulatedJoypadStatesEnd], a ld a, $1 ld [wSimulatedJoypadStatesIndex], a call StartSimulatingJoypadStates ld a, $3 - ld [W_BRUNOCURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wBrunoCurScript], a + ld [wCurMapScript], a ret -CoordsData_7637a: ; 7637a (1d:637a) +BrunoEntranceCoords: db $0A,$04 db $0A,$05 db $0B,$04 db $0B,$05 db $FF -BrunoScript3: ; 76383 (1d:6383) +BrunoScript3: ld a, [wSimulatedJoypadStatesIndex] and a ret nz call Delay3 xor a ld [wJoyIgnore], a - ld [W_BRUNOCURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wBrunoCurScript], a + ld [wCurMapScript], a ret -BrunoScript2: ; 76396 (1d:6396) +BrunoScript2: call EndTrainerBattle - ld a, [W_ISINBATTLE] ; W_ISINBATTLE + ld a, [wIsInBattle] cp $ff - jp z, BrunoScript_7630d + jp z, ResetBrunoScript ld a, $1 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a jp DisplayTextID -BrunoTextPointers: ; 763a8 (1d:63a8) +BrunoTextPointers: dw BrunoText1 - dw BrunoText2 + dw BrunoDontRunAwayText -BrunoTrainerHeaders: ; 763ac (1d:63ac) -BrunoTrainerHeader0: ; 763ac (1d:63ac) - db $1 ; flag's bit +BrunoTrainerHeader0: + dbEventFlagBit EVENT_BEAT_BRUNOS_ROOM_TRAINER_0 db ($0 << 4) ; trainer's view range - dw wd864 ; flag's byte - dw BrunoBeforeBattleText ; 0x63c3 TextBeforeBattle - dw BrunoAfterBattleText ; 0x63cd TextAfterBattle - dw BrunoEndBattleText ; 0x63c8 TextEndBattle - dw BrunoEndBattleText ; 0x63c8 TextEndBattle + dwEventFlagAddress EVENT_BEAT_BRUNOS_ROOM_TRAINER_0 + dw BrunoBeforeBattleText ; TextBeforeBattle + dw BrunoAfterBattleText ; TextAfterBattle + dw BrunoEndBattleText ; TextEndBattle + dw BrunoEndBattleText ; TextEndBattle db $ff -BrunoText1: ; 763b9 (1d:63b9) - db $08 ; asm +BrunoText1: + TX_ASM ld hl, BrunoTrainerHeader0 call TalkToTrainer jp TextScriptEnd -BrunoBeforeBattleText: ; 763c3 (1d:63c3) +BrunoBeforeBattleText: TX_FAR _BrunoBeforeBattleText db "@" -BrunoEndBattleText: ; 763c8 (1d:63c8) +BrunoEndBattleText: TX_FAR _BrunoEndBattleText db "@" -BrunoAfterBattleText: ; 763cd (1d:63cd) +BrunoAfterBattleText: TX_FAR _BrunoAfterBattleText db "@" -BrunoText2: ; 763d2 (1d:63d2) - TX_FAR _UnnamedText_763d2 +BrunoDontRunAwayText: + TX_FAR _BrunoDontRunAwayText db "@" diff --git a/scripts/celadoncity.asm b/scripts/celadoncity.asm index 004d8773..6ef679dc 100755 --- a/scripts/celadoncity.asm +++ b/scripts/celadoncity.asm @@ -1,13 +1,10 @@ -CeladonCityScript: ; 19956 (6:5956) +CeladonCityScript: call EnableAutoTextBoxDrawing - ld hl, wd77e - res 0, [hl] - res 7, [hl] - ld hl, wd816 - res 7, [hl] + ResetEvents EVENT_1B8, EVENT_1BF + ResetEvent EVENT_67F ret -CeladonCityTextPointers: ; 19966 (6:5966) +CeladonCityTextPointers: dw CeladonCityText1 dw CeladonCityText2 dw CeladonCityText3 @@ -27,30 +24,29 @@ CeladonCityTextPointers: ; 19966 (6:5966) dw CeladonCityText17 dw CeladonCityText18 -CeladonCityText1: ; 1998a (6:598a) +CeladonCityText1: TX_FAR _CeladonCityText1 db "@" -CeladonCityText2: ; 1998f (6:598f) +CeladonCityText2: TX_FAR _CeladonCityText2 db "@" -CeladonCityText3: ; 19994 (6:5994) +CeladonCityText3: TX_FAR _CeladonCityText3 db "@" -CeladonCityText4: ; 19999 (6:5999) +CeladonCityText4: TX_FAR _CeladonCityText4 db "@" -CeladonCityText5: ; 1999e (6:599e) - db $08 ; asm - ld a, [wd777] - bit 0, a - jr nz, .asm_7053f ; 0x199a4 +CeladonCityText5: + TX_ASM + CheckEvent EVENT_GOT_TM41 + jr nz, .asm_7053f ld hl, TM41PreText call PrintText - ld bc, (TM_41 << 8) | 1 + lb bc, TM_41, 1 call GiveItem jr c, .Success ld hl, TM41NoRoomText @@ -59,78 +55,78 @@ CeladonCityText5: ; 1999e (6:599e) .Success ld hl, ReceivedTM41Text call PrintText - ld hl, wd777 - set 0, [hl] + SetEvent EVENT_GOT_TM41 jr .Done -.asm_7053f ; 0x199c9 +.asm_7053f ld hl, TM41ExplanationText call PrintText .Done jp TextScriptEnd -TM41PreText: ; 199d2 (6:59d2) +TM41PreText: TX_FAR _TM41PreText db "@" -ReceivedTM41Text: ; 199d7 (6:59d7) +ReceivedTM41Text: TX_FAR _ReceivedTM41Text - db $0B, "@" + TX_SFX_ITEM_1 + db "@" -TM41ExplanationText: ; 199dd (6:59dd) +TM41ExplanationText: TX_FAR _TM41ExplanationText db "@" -TM41NoRoomText: ; 199e2 (6:59e2) +TM41NoRoomText: TX_FAR _TM41NoRoomText db "@" -CeladonCityText6: ; 199e7 (6:59e7) +CeladonCityText6: TX_FAR _CeladonCityText6 db "@" -CeladonCityText7: ; 199ec (6:59ec) +CeladonCityText7: TX_FAR _CeladonCityText7 - db $08 ; asm + TX_ASM ld a, POLIWRATH call PlayCry jp TextScriptEnd -CeladonCityText8: ; 199f9 (6:59f9) +CeladonCityText8: TX_FAR _CeladonCityText8 db "@" -CeladonCityText9: ; 199fe (6:59fe) +CeladonCityText9: TX_FAR _CeladonCityText9 db "@" -CeladonCityText10: ; 19a03 (6:5a03) +CeladonCityText10: TX_FAR _CeladonCityText10 db "@" -CeladonCityText11: ; 19a08 (6:5a08) +CeladonCityText11: TX_FAR _CeladonCityText11 db "@" -CeladonCityText13: ; 19a0d (6:5a0d) +CeladonCityText13: TX_FAR _CeladonCityText13 db "@" -CeladonCityText14: ; 19a12 (6:5a12) +CeladonCityText14: TX_FAR _CeladonCityText14 db "@" -CeladonCityText15: ; 19a17 (6:5a17) +CeladonCityText15: TX_FAR _CeladonCityText15 db "@" -CeladonCityText16: ; 19a1c (6:5a1c) +CeladonCityText16: TX_FAR _CeladonCityText16 db "@" -CeladonCityText17: ; 19a21 (6:5a21) +CeladonCityText17: TX_FAR _CeladonCityText17 db "@" -CeladonCityText18: ; 19a26 (6:5a26) +CeladonCityText18: TX_FAR _CeladonCityText18 db "@" diff --git a/scripts/celadondiner.asm b/scripts/celadondiner.asm index 5ae89022..6fd594f7 100755 --- a/scripts/celadondiner.asm +++ b/scripts/celadondiner.asm @@ -1,67 +1,66 @@ -CeladonDinerScript: ; 49151 (12:5151) +CeladonDinerScript: call EnableAutoTextBoxDrawing ret -CeladonDinerTextPointers: ; 49155 (12:5155) +CeladonDinerTextPointers: dw CeladonDinerText1 dw CeladonDinerText2 dw CeladonDinerText3 dw CeladonDinerText4 dw CeladonDinerText5 -CeladonDinerText1: ; 4915f (12:515f) +CeladonDinerText1: TX_FAR _CeladonDinerText1 db "@" -CeladonDinerText2: ; 49164 (12:5164) +CeladonDinerText2: TX_FAR _CeladonDinerText2 db "@" -CeladonDinerText3: ; 49169 (12:5169) +CeladonDinerText3: TX_FAR _CeladonDinerText3 db "@" -CeladonDinerText4: ; 4916e (12:516e) +CeladonDinerText4: TX_FAR _CeladonDinerText4 db "@" -CeladonDinerText5: ; 49173 (12:5173) - db $08 ; asm - ld a, [wd783] - bit 0, a - jr nz, .asm_eb14d ; 0x49179 +CeladonDinerText5: + TX_ASM + CheckEvent EVENT_GOT_COIN_CASE + jr nz, .asm_eb14d ld hl, CeladonDinerText_491a7 call PrintText - ld bc, (COIN_CASE << 8) | 1 + lb bc, COIN_CASE, 1 call GiveItem jr nc, .BagFull - ld hl, wd783 - set 0, [hl] + SetEvent EVENT_GOT_COIN_CASE ld hl, ReceivedCoinCaseText call PrintText - jr .asm_68b61 ; 0x49194 + jr .asm_68b61 .BagFull ld hl, CoinCaseNoRoomText call PrintText - jr .asm_68b61 ; 0x4919c -.asm_eb14d ; 0x4919e + jr .asm_68b61 +.asm_eb14d ld hl, CeladonDinerText_491b7 call PrintText -.asm_68b61 ; 0x491a4 +.asm_68b61 jp TextScriptEnd -CeladonDinerText_491a7: ; 491a7 (12:51a7) +CeladonDinerText_491a7: TX_FAR _CeladonDinerText_491a7 db "@" -ReceivedCoinCaseText: ; 491ac (12:51ac) +ReceivedCoinCaseText: TX_FAR _ReceivedCoinCaseText - db $11, "@" + TX_SFX_KEY_ITEM + db "@" -CoinCaseNoRoomText: ; 491b2 (12:51b2) +CoinCaseNoRoomText: TX_FAR _CoinCaseNoRoomText db "@" -CeladonDinerText_491b7: ; 491b7 (12:51b7) +CeladonDinerText_491b7: TX_FAR _CeladonDinerText_491b7 db "@" diff --git a/scripts/celadongamecorner.asm b/scripts/celadongamecorner.asm index 91d6742d..09d2df37 100755 --- a/scripts/celadongamecorner.asm +++ b/scripts/celadongamecorner.asm @@ -1,18 +1,18 @@ -CeladonGameCornerScript: ; 48bbd (12:4bbd) +CeladonGameCornerScript: call CeladonGameCornerScript_48bcf call CeladonGameCornerScript_48bec call EnableAutoTextBoxDrawing ld hl, CeladonGameCornerScriptPointers - ld a, [W_CELADONGAMECORNERCURSCRIPT] + ld a, [wCeladonGameCornerCurScript] jp CallFunctionInTable -CeladonGameCornerScript_48bcf: ; 48bcf (12:4bcf) - ld hl, wd126 +CeladonGameCornerScript_48bcf: + ld hl, wCurrentMapScriptFlags bit 6, [hl] res 6, [hl] ret z call Random - ld a, [$ffd3] + ld a, [hRandomAdd] cp $7 jr nc, .asm_48be2 ld a, $8 @@ -20,91 +20,103 @@ CeladonGameCornerScript_48bcf: ; 48bcf (12:4bcf) srl a srl a srl a - ld [wUnknownSlotVar], a + ld [wLuckySlotHiddenObjectIndex], a ret -CeladonGameCornerScript_48bec: ; 48bec (12:4bec) - ld hl, wd126 +CeladonGameCornerScript_48bec: + ld hl, wCurrentMapScriptFlags bit 5, [hl] res 5, [hl] ret z - ld a, [wd77e] - bit 1, a + CheckEvent EVENT_FOUND_ROCKET_HIDEOUT ret nz ld a, $2a - ld [wd09f], a - ld bc, $0208 + ld [wNewTileBlockID], a + lb bc, 2, 8 predef_jump ReplaceTileBlock -CeladonGameCornerScript_48c07: ; 48c07 (12:4c07) +CeladonGameCornerScript_48c07: xor a ld [wJoyIgnore], a - ld [W_CELADONGAMECORNERCURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wCeladonGameCornerCurScript], a + ld [wCurMapScript], a ret -CeladonGameCornerScriptPointers: ; 48c12 (12:4c12) +CeladonGameCornerScriptPointers: dw CeladonGameCornerScript0 dw CeladonGameCornerScript1 dw CeladonGameCornerScript2 -CeladonGameCornerScript0: ; 48c18 (12:4c18) +CeladonGameCornerScript0: ret -CeladonGameCornerScript1: ; 48c19 (12:4c19) - ld a, [W_ISINBATTLE] +CeladonGameCornerScript1: + ld a, [wIsInBattle] cp $ff jp z, CeladonGameCornerScript_48c07 ld a, $f0 ld [wJoyIgnore], a ld a, $d - ld [H_SPRITEHEIGHT], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $b - ld [H_SPRITEHEIGHT], a + ld [H_SPRITEINDEX], a call SetSpriteMovementBytesToFF ld de, MovementData_48c5a - ld a, [W_YCOORD] + ld a, [wYCoord] cp $6 jr nz, .asm_48c43 ld de, MovementData_48c63 jr .asm_48c4d .asm_48c43 - ld a, [W_XCOORD] + ld a, [wXCoord] cp $8 jr nz, .asm_48c4d ld de, MovementData_48c63 .asm_48c4d ld a, $b - ld [H_DOWNARROWBLINKCNT2], a + ld [H_SPRITEINDEX], a call MoveSprite ld a, $2 - ld [W_CELADONGAMECORNERCURSCRIPT], a + ld [wCeladonGameCornerCurScript], a ret -MovementData_48c5a: ; 48c5a (12:4c5a) - db $00,$C0,$C0,$40,$C0,$C0,$C0,$C0,$FF - -MovementData_48c63: ; 48c63 (12:4c63) - db $C0,$C0,$C0,$C0,$C0,$FF - -CeladonGameCornerScript2: ; 48c69 (12:4c69) +MovementData_48c5a: + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_UP + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db $FF + +MovementData_48c63: + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db $FF + +CeladonGameCornerScript2: ld a, [wd730] bit 0, a ret nz xor a ld [wJoyIgnore], a ld a, HS_GAME_CORNER_ROCKET - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject - ld hl, wd126 + ld hl, wCurrentMapScriptFlags set 5, [hl] set 6, [hl] ld a, $0 - ld [W_CELADONGAMECORNERCURSCRIPT], a + ld [wCeladonGameCornerCurScript], a ret -CeladonGameCornerTextPointers: ; 48c8a (12:4c8a) +CeladonGameCornerTextPointers: dw CeladonGameCornerText1 dw CeladonGameCornerText2 dw CeladonGameCornerText3 @@ -119,289 +131,285 @@ CeladonGameCornerTextPointers: ; 48c8a (12:4c8a) dw CeladonGameCornerText12 dw CeladonGameCornerText13 -CeladonGameCornerText1: ; 48ca4 (12:4ca4) +CeladonGameCornerText1: TX_FAR _CeladonGameCornerText1 db "@" -CeladonGameCornerText2: ; 48ca9 (12:4ca9) - db $08 ; asm +CeladonGameCornerText2: + TX_ASM call CeladonGameCornerScript_48f1e ld hl, CeladonGameCornerText_48d22 call PrintText call YesNoChoice ld a, [wCurrentMenuItem] and a - jr nz, .asm_c650b ; 0x48cba + jr nz, .asm_48d0f ld b,COIN_CASE call IsItemInBag - jr z, .asm_ed086 ; 0x48cc1 + jr z, .asm_48d19 call Has9990Coins - jr nc, .asm_31338 ; 0x48cc6 + jr nc, .asm_48d14 xor a - ldh [$9f], a - ldh [$a1], a + ld [hMoney], a + ld [hMoney + 2], a ld a, $10 - ldh [$a0], a + ld [hMoney + 1], a call HasEnoughMoney - jr nc, .asm_b6ef0 ; 0x48cd4 - ld hl, CeladonGameCornerText_48d31 ; $4d31 - jr .asm_e2afd ; 0x48cd9 -.asm_b6ef0 ; 0x48cdb + jr nc, .asm_48cdb + ld hl, CeladonGameCornerText_48d31 + jr .asm_48d1c +.asm_48cdb xor a - ldh [$9f], a - ldh [$a1], a + ld [hMoney], a + ld [hMoney + 2], a ld a, $10 - ldh [$a0], a - ld hl, $ffa1 + ld [hMoney + 1], a + ld hl, hMoney + 2 ld de, wPlayerMoney + 2 ld c, $3 predef SubBCDPredef xor a - ldh [$9f], a - ldh [$a0], a + ld [hUnusedCoinsByte], a + ld [hCoins], a ld a, $50 - ldh [$a1], a + ld [hCoins + 1], a ld de, wPlayerCoins + 1 - ld hl, $ffa1 + ld hl, hCoins + 1 ld c, $2 predef AddBCDPredef call CeladonGameCornerScript_48f1e ld hl, CeladonGameCornerText_48d27 - jr .asm_e2afd ; 0x48d0d -.asm_c650b ; 0x48d0f + jr .asm_48d1c +.asm_48d0f ld hl, CeladonGameCornerText_48d2c - jr .asm_e2afd ; 0x48d12 -.asm_31338 ; 0x48d14 + jr .asm_48d1c +.asm_48d14 ld hl, CeladonGameCornerText_48d36 - jr .asm_e2afd ; 0x48d17 -.asm_ed086 ; 0x48d19 + jr .asm_48d1c +.asm_48d19 ld hl, CeladonGameCornerText_48d3b -.asm_e2afd ; 0x48d1c +.asm_48d1c call PrintText jp TextScriptEnd -CeladonGameCornerText_48d22: ; 48d22 (12:4d22) +CeladonGameCornerText_48d22: TX_FAR _CeladonGameCornerText_48d22 db "@" -CeladonGameCornerText_48d27: ; 48d27 (12:4d27) +CeladonGameCornerText_48d27: TX_FAR _CeladonGameCornerText_48d27 db "@" -CeladonGameCornerText_48d2c: ; 48d2c (12:4d2c) +CeladonGameCornerText_48d2c: TX_FAR _CeladonGameCornerText_48d2c db "@" -CeladonGameCornerText_48d31: ; 48d31 (12:4d31) +CeladonGameCornerText_48d31: TX_FAR _CeladonGameCornerText_48d31 db "@" -CeladonGameCornerText_48d36: ; 48d36 (12:4d36) +CeladonGameCornerText_48d36: TX_FAR _CeladonGameCornerText_48d36 db "@" -CeladonGameCornerText_48d3b: ; 48d3b (12:4d3b) +CeladonGameCornerText_48d3b: TX_FAR _CeladonGameCornerText_48d3b db "@" -CeladonGameCornerText3: ; 48d40 (12:4d40) +CeladonGameCornerText3: TX_FAR _CeladonGameCornerText3 db "@" -CeladonGameCornerText4: ; 48d45 (12:4d45) +CeladonGameCornerText4: TX_FAR _CeladonGameCornerText4 db "@" -CeladonGameCornerText5: ; 48d4a (12:4d4a) - db $08 ; asm - ld a, [wd77e] - bit 2, a - jr nz, .asm_d0957 ; 0x48d50 +CeladonGameCornerText5: + TX_ASM + CheckEvent EVENT_GOT_10_COINS + jr nz, .asm_48d89 ld hl, CeladonGameCornerText_48d9c call PrintText ld b, COIN_CASE call IsItemInBag - jr z, .asm_5aef9 ; 0x48d5d + jr z, .asm_48d93 call Has9990Coins - jr nc, .asm_98546 ; 0x48d62 + jr nc, .asm_48d8e xor a - ldh [$9f], a - ldh [$a0], a + ld [hUnusedCoinsByte], a + ld [hCoins], a ld a, $10 - ldh [$a1], a + ld [hCoins + 1], a ld de, wPlayerCoins + 1 - ld hl, $ffa1 + ld hl, hCoins + 1 ld c, $2 predef AddBCDPredef - ld hl, wd77e - set 2, [hl] + SetEvent EVENT_GOT_10_COINS ld a, $1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a ld hl, Received10CoinsText - jr .asm_c7d1a ; 0x48d87 -.asm_d0957 ; 0x48d89 + jr .asm_48d96 +.asm_48d89 ld hl, CeladonGameCornerText_48dac - jr .asm_c7d1a ; 0x48d8c -.asm_98546 ; 0x48d8e + jr .asm_48d96 +.asm_48d8e ld hl, CeladonGameCornerText_48da7 - jr .asm_c7d1a ; 0x48d91 -.asm_5aef9 ; 0x48d93 + jr .asm_48d96 +.asm_48d93 ld hl, CeladonGameCornerText_48f19 -.asm_c7d1a ; 0x48d96 +.asm_48d96 call PrintText jp TextScriptEnd -CeladonGameCornerText_48d9c: ; 48d9c (12:4d9c) +CeladonGameCornerText_48d9c: TX_FAR _CeladonGameCornerText_48d9c db "@" -Received10CoinsText: ; 48da1 (12:4da1) +Received10CoinsText: TX_FAR _Received10CoinsText - db $0B, "@" + TX_SFX_ITEM_1 + db "@" -CeladonGameCornerText_48da7: ; 48da7 (12:4da7) +CeladonGameCornerText_48da7: TX_FAR _CeladonGameCornerText_48da7 db "@" -CeladonGameCornerText_48dac: ; 48dac (12:4dac) +CeladonGameCornerText_48dac: TX_FAR _CeladonGameCornerText_48dac db "@" -CeladonGameCornerText6: ; 48db1 (12:4db1) +CeladonGameCornerText6: TX_FAR _CeladonGameCornerText6 db "@" -CeladonGameCornerText7: ; 48db6 (12:4db6) - db $08 ; asm - ld a, [wd77c] - bit 1, a - ld hl, CeladonGameCornerText_48dca ; $4dca - jr z, .asm_be3fd ; 0x48dbf - ld hl, CeladonGameCornerText_48dcf ; $4dcf -.asm_be3fd ; 0x48dc4 +CeladonGameCornerText7: + TX_ASM + CheckEvent EVENT_BEAT_ERIKA + ld hl, CeladonGameCornerText_48dca + jr z, .asm_48dc4 + ld hl, CeladonGameCornerText_48dcf +.asm_48dc4 call PrintText jp TextScriptEnd -CeladonGameCornerText_48dca: ; 48dca (12:4dca) +CeladonGameCornerText_48dca: TX_FAR _CeladonGameCornerText_48dca db "@" -CeladonGameCornerText_48dcf: ; 48dcf (12:4dcf) +CeladonGameCornerText_48dcf: TX_FAR _CeladonGameCornerText_48dcf db "@" -CeladonGameCornerText8: ; 48dd4 (12:4dd4) +CeladonGameCornerText8: TX_FAR _CeladonGameCornerText8 db "@" -CeladonGameCornerText9: ; 48dd9 (12:4dd9) - db $08 ; asm - ld a, [wd77e] - bit 4, a - jr nz, .asm_ed8bc ; 0x48ddf +CeladonGameCornerText9: + TX_ASM + CheckEvent EVENT_GOT_20_COINS_2 + jr nz, .asm_48e13 ld hl, CeladonGameCornerText_48e26 call PrintText ld b, COIN_CASE call IsItemInBag - jr z, .asm_df794 ; 0x48dec + jr z, .asm_48e1d call Has9990Coins - jr nc, .asm_f17c3 ; 0x48df1 + jr nc, .asm_48e18 xor a - ldh [$9f], a - ldh [$a0], a + ld [hUnusedCoinsByte], a + ld [hCoins], a ld a, $20 - ldh [$a1], a + ld [hCoins + 1], a ld de, wPlayerCoins + 1 - ld hl, $ffa1 + ld hl, hCoins + 1 ld c, $2 predef AddBCDPredef - ld hl, wd77e - set 4, [hl] + SetEvent EVENT_GOT_20_COINS_2 ld hl, Received20CoinsText - jr .asm_0ddc2 ; 0x48e11 -.asm_ed8bc ; 0x48e13 + jr .asm_48e20 +.asm_48e13 ld hl, CeladonGameCornerText_48e36 - jr .asm_0ddc2 ; 0x48e16 -.asm_f17c3 ; 0x48e18 + jr .asm_48e20 +.asm_48e18 ld hl, CeladonGameCornerText_48e31 - jr .asm_0ddc2 ; 0x48e1b -.asm_df794 ; 0x48e1d + jr .asm_48e20 +.asm_48e1d ld hl, CeladonGameCornerText_48f19 -.asm_0ddc2 ; 0x48e20 +.asm_48e20 call PrintText jp TextScriptEnd -CeladonGameCornerText_48e26: ; 48e26 (12:4e26) +CeladonGameCornerText_48e26: TX_FAR _CeladonGameCornerText_48e26 db "@" -Received20CoinsText: ; 48e2b (12:4e2b) +Received20CoinsText: TX_FAR _Received20CoinsText - db $0B, "@" + TX_SFX_ITEM_1 + db "@" -CeladonGameCornerText_48e31: ; 48e31 (12:4e31) +CeladonGameCornerText_48e31: TX_FAR _CeladonGameCornerText_48e31 db "@" -CeladonGameCornerText_48e36: ; 48e36 (12:4e36) +CeladonGameCornerText_48e36: TX_FAR _CeladonGameCornerText_48e36 db "@" -CeladonGameCornerText10: ; 48e3b (12:4e3b) - db $08 ; asm - ld a, [wd77e] - bit 3, a - jr nz, .asm_ff080 ; 0x48e41 - ld hl, CeladonGameCornerText_48e88 ; $4e88 +CeladonGameCornerText10: + TX_ASM + CheckEvent EVENT_GOT_20_COINS + jr nz, .asm_48e75 + ld hl, CeladonGameCornerText_48e88 call PrintText ld b,COIN_CASE call IsItemInBag - jr z, .asm_4fb0c ; 0x48e4e + jr z, .asm_48e7f call Has9990Coins - jr z, .asm_9505a ; 0x48e53 + jr z, .asm_48e7a xor a - ldh [$9f], a - ldh [$a0], a + ld [hUnusedCoinsByte], a + ld [hCoins], a ld a, $20 - ldh [$a1], a + ld [hCoins + 1], a ld de, wPlayerCoins + 1 - ld hl, $ffa1 + ld hl, hCoins + 1 ld c, $2 predef AddBCDPredef - ld hl, wd77e - set 3, [hl] + SetEvent EVENT_GOT_20_COINS ld hl, CeladonGameCornerText_48e8d - jr .asm_78d65 ; 0x48e73 -.asm_ff080 ; 0x48e75 + jr .asm_48e82 +.asm_48e75 ld hl, CeladonGameCornerText_48e98 - jr .asm_78d65 ; 0x48e78 -.asm_9505a ; 0x48e7a + jr .asm_48e82 +.asm_48e7a ld hl, CeladonGameCornerText_48e93 - jr .asm_78d65 ; 0x48e7d -.asm_4fb0c ; 0x48e7f + jr .asm_48e82 +.asm_48e7f ld hl, CeladonGameCornerText_48f19 -.asm_78d65 ; 0x48e82 +.asm_48e82 call PrintText jp TextScriptEnd -CeladonGameCornerText_48e88: ; 48e88 (12:4e88) +CeladonGameCornerText_48e88: TX_FAR _CeladonGameCornerText_48e88 db "@" -CeladonGameCornerText_48e8d: ; 48e8d (12:4e8d) - TX_FAR _CeladonGameCornerText_48e8d ; 0x9dceb - db $0B, "@" +CeladonGameCornerText_48e8d: + TX_FAR _CeladonGameCornerText_48e8d + TX_SFX_ITEM_1 + db "@" -CeladonGameCornerText_48e93: ; 48e93 (12:4e93) +CeladonGameCornerText_48e93: TX_FAR _CeladonGameCornerText_48e93 db "@" -CeladonGameCornerText_48e98: ; 48e98 (12:4e98) +CeladonGameCornerText_48e98: TX_FAR _CeladonGameCornerText_48e98 db "@" -CeladonGameCornerText11: ; 48e9d (12:4e9d) - db $08 ; asm +CeladonGameCornerText11: + TX_ASM ld hl, CeladonGameCornerText_48ece call PrintText ld hl, wd72d @@ -410,89 +418,88 @@ CeladonGameCornerText11: ; 48e9d (12:4e9d) ld hl, CeladonGameCornerText_48ed3 ld de, CeladonGameCornerText_48ed3 call SaveEndBattleTextPointers - ldh a, [$8c] + ld a, [H_SPRITEINDEX] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters xor a - ldh [$b4], a - ldh [$b3], a - ldh [$b2], a + ld [hJoyHeld], a + ld [hJoyPressed], a + ld [hJoyReleased], a ld a, $1 - ld [W_CELADONGAMECORNERCURSCRIPT], a + ld [wCeladonGameCornerCurScript], a jp TextScriptEnd -CeladonGameCornerText_48ece: ; 48ece (12:4ece) +CeladonGameCornerText_48ece: TX_FAR _CeladonGameCornerText_48ece db "@" -CeladonGameCornerText_48ed3: ; 48ed3 (12:4ed3) +CeladonGameCornerText_48ed3: TX_FAR _CeladonGameCornerText_48ed3 db "@" -CeladonGameCornerText13: ; 48ed8 (12:4ed8) +CeladonGameCornerText13: TX_FAR _CeladonGameCornerText_48ed8 db "@" -CeladonGameCornerText12: ; 48edd (12:4edd) - db $08 ; asm +CeladonGameCornerText12: + TX_ASM ld a, $1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a ld hl, CeladonGameCornerText_48f09 call PrintText call WaitForSoundToFinish - ld a, (SFX_02_57 - SFX_Headers_02) / 3 + ld a, SFX_GO_INSIDE call PlaySound call WaitForSoundToFinish - ld hl, wd77e - set 1, [hl] + SetEvent EVENT_FOUND_ROCKET_HIDEOUT ld a, $43 - ld [wd09f], a - ld bc, $0208 + ld [wNewTileBlockID], a + lb bc, 2, 8 predef ReplaceTileBlock jp TextScriptEnd -CeladonGameCornerText_48f09: ; 48f09 (12:4f09) - TX_FAR _CeladonGameCornerText_48f09 ; 0x9ddb0 - db $8 - ld a, (SFX_02_49 - SFX_Headers_02) / 3 +CeladonGameCornerText_48f09: + TX_FAR _CeladonGameCornerText_48f09 + TX_ASM + ld a, SFX_SWITCH call PlaySound call WaitForSoundToFinish jp TextScriptEnd -CeladonGameCornerText_48f19: ; 48f19 (12:4f19) +CeladonGameCornerText_48f19: TX_FAR _CeladonGameCornerText_48f19 db "@" -CeladonGameCornerScript_48f1e: ; 48f1e (12:4f1e) +CeladonGameCornerScript_48f1e: ld hl, wd730 set 6, [hl] - hlCoord 11, 0 + coord hl, 11, 0 ld b, $5 ld c, $7 call TextBoxBorder call UpdateSprites - hlCoord 12, 1 - ld b, $4 - ld c, $7 + coord hl, 12, 1 + ld b, 4 + ld c, 7 call ClearScreenArea - hlCoord 12, 2 + coord hl, 12, 2 ld de, GameCornerMoneyText call PlaceString - hlCoord 12, 3 + coord hl, 12, 3 ld de, GameCornerBlankText1 call PlaceString - hlCoord 12, 3 + coord hl, 12, 3 ld de, wPlayerMoney ld c, $a3 call PrintBCDNumber - hlCoord 12, 4 + coord hl, 12, 4 ld de, GameCornerCoinText call PlaceString - hlCoord 12, 5 + coord hl, 12, 5 ld de, GameCornerBlankText2 call PlaceString - hlCoord 15, 5 + coord hl, 15, 5 ld de, wPlayerCoins ld c, $82 call PrintBCDNumber @@ -500,21 +507,21 @@ CeladonGameCornerScript_48f1e: ; 48f1e (12:4f1e) res 6, [hl] ret -GameCornerMoneyText: ; 48f7a (12:4f7a) +GameCornerMoneyText: db "MONEY@" -GameCornerCoinText: ; 48f80 (12:4f80) +GameCornerCoinText: db "COIN@" -GameCornerBlankText1: ; 48f85 (12:4f85) +GameCornerBlankText1: db " @" -GameCornerBlankText2: ; 48f8d (12:4f8d) +GameCornerBlankText2: db " @" -Has9990Coins: ; 48f95 (12:4f95) +Has9990Coins: ld a, $99 - ld [$ffa0], a + ld [hCoins], a ld a, $90 - ld [$ffa1], a + ld [hCoins + 1], a jp HasEnoughCoins diff --git a/scripts/celadongym.asm b/scripts/celadongym.asm index b1b1060c..ae7e6846 100755 --- a/scripts/celadongym.asm +++ b/scripts/celadongym.asm @@ -1,82 +1,76 @@ -CeladonGymScript: ; 4890a (12:490a) - ld hl, wd126 +CeladonGymScript: + ld hl, wCurrentMapScriptFlags bit 6, [hl] res 6, [hl] call nz, CeladonGymScript_48927 call EnableAutoTextBoxDrawing - ld hl, CeladonGymTrainerHeaders + ld hl, CeladonGymTrainerHeader0 ld de, CeladonGymScriptPointers - ld a, [W_CELADONGYMCURSCRIPT] + ld a, [wCeladonGymCurScript] call ExecuteCurMapScriptInTable - ld [W_CELADONGYMCURSCRIPT], a + ld [wCeladonGymCurScript], a ret -CeladonGymScript_48927: ; 48927 (12:4927) - ld hl, Gym4CityName ; $4930 - ld de, Gym4LeaderName ; $493d +CeladonGymScript_48927: + ld hl, Gym4CityName + ld de, Gym4LeaderName jp LoadGymLeaderAndCityName -Gym4CityName: ; 48930 (12:4930) +Gym4CityName: db "CELADON CITY@" -Gym4LeaderName: ; 4893d (12:493d) +Gym4LeaderName: db "ERIKA@" -CeladonGymText_48943: ; 48943 (12:4943) +CeladonGymText_48943: xor a ld [wJoyIgnore], a - ld [W_CELADONGYMCURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wCeladonGymCurScript], a + ld [wCurMapScript], a ret -CeladonGymScriptPointers: ; 4894e (12:494e) +CeladonGymScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle dw CeladonGymScript3 -CeladonGymScript3: ; 48956 (12:4956) - ld a, [W_ISINBATTLE] ; W_ISINBATTLE +CeladonGymScript3: + ld a, [wIsInBattle] cp $ff jp z, CeladonGymText_48943 ld a, $f0 ld [wJoyIgnore], a -CeladonGymText_48963: ; 48963 (12:4963) +CeladonGymText_48963: ld a, $9 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a call DisplayTextID - ld hl, wd77c - set 1, [hl] - ld bc, (TM_21 << 8) | 1 + SetEvent EVENT_BEAT_ERIKA + lb bc, TM_21, 1 call GiveItem jr nc, .BagFull ld a, $a - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a call DisplayTextID - ld hl, wd77c - set 0, [hl] + SetEvent EVENT_GOT_TM21 jr .asm_4898c .BagFull ld a, $b - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a call DisplayTextID .asm_4898c - ld hl, W_OBTAINEDBADGES + ld hl, wObtainedBadges set 3, [hl] - ld hl, wd72a + ld hl, wBeatGymFlags set 3, [hl] ; deactivate gym trainers - ld a, [wd77c] - or %11111100 - ld [wd77c], a - ld hl, wd77d - set 0, [hl] + SetEventRange EVENT_BEAT_CELADON_GYM_TRAINER_0, EVENT_BEAT_CELADON_GYM_TRAINER_6 jp CeladonGymText_48943 -CeladonGymTextPointers: ; 489a6 (12:49a6) +CeladonGymTextPointers: dw CeladonGymText1 dw CeladonGymText2 dw CeladonGymText3 @@ -89,87 +83,85 @@ CeladonGymTextPointers: ; 489a6 (12:49a6) dw TM21Text dw TM21NoRoomText -CeladonGymTrainerHeaders: ; 489bc (12:49bc) -CeladonGymTrainerHeader0: ; 489bc (12:49bc) - db $2 ; flag's bit +CeladonGymTrainerHeader0: + dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_0 db ($2 << 4) ; trainer's view range - dw wd77c ; flag's byte - dw CeladonGymBattleText2 ; 0x4a8b TextBeforeBattle - dw CeladonGymAfterBattleText2 ; 0x4a95 TextAfterBattle - dw CeladonGymEndBattleText2 ; 0x4a90 TextEndBattle - dw CeladonGymEndBattleText2 ; 0x4a90 TextEndBattle - -CeladonGymTrainerHeader2: ; 489c8 (12:49c8) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_0 + dw CeladonGymBattleText2 ; TextBeforeBattle + dw CeladonGymAfterBattleText2 ; TextAfterBattle + dw CeladonGymEndBattleText2 ; TextEndBattle + dw CeladonGymEndBattleText2 ; TextEndBattle + +CeladonGymTrainerHeader1: + dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_1 db ($2 << 4) ; trainer's view range - dw wd77c ; flag's byte - dw CeladonGymBattleText3 ; 0x4aa4 TextBeforeBattle - dw CeladonGymAfterBattleText3 ; 0x4aae TextAfterBattle - dw CeladonGymEndBattleText3 ; 0x4aa9 TextEndBattle - dw CeladonGymEndBattleText3 ; 0x4aa9 TextEndBattle - -CeladonGymTrainerHeader3: ; 489d4 (12:49d4) - db $4 ; flag's bit + dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_1 + dw CeladonGymBattleText3 ; TextBeforeBattle + dw CeladonGymAfterBattleText3 ; TextAfterBattle + dw CeladonGymEndBattleText3 ; TextEndBattle + dw CeladonGymEndBattleText3 ; TextEndBattle + +CeladonGymTrainerHeader2: + dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_2 db ($4 << 4) ; trainer's view range - dw wd77c ; flag's byte - dw CeladonGymBattleText4 ; 0x4abd TextBeforeBattle - dw CeladonGymAfterBattleText4 ; 0x4ac7 TextAfterBattle - dw CeladonGymEndBattleText4 ; 0x4ac2 TextEndBattle - dw CeladonGymEndBattleText4 ; 0x4ac2 TextEndBattle - -CeladonGymTrainerHeader4: ; 489e0 (12:49e0) - db $5 ; flag's bit + dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_2 + dw CeladonGymBattleText4 ; TextBeforeBattle + dw CeladonGymAfterBattleText4 ; TextAfterBattle + dw CeladonGymEndBattleText4 ; TextEndBattle + dw CeladonGymEndBattleText4 ; TextEndBattle + +CeladonGymTrainerHeader3: + dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_3 db ($4 << 4) ; trainer's view range - dw wd77c ; flag's byte - dw CeladonGymBattleText5 ; 0x4ad6 TextBeforeBattle - dw CeladonGymAfterBattleText5 ; 0x4ae0 TextAfterBattle - dw CeladonGymEndBattleText5 ; 0x4adb TextEndBattle - dw CeladonGymEndBattleText5 ; 0x4adb TextEndBattle - -CeladonGymTrainerHeader5: ; 489ec (12:49ec) - db $6 ; flag's bit + dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_3 + dw CeladonGymBattleText5 ; TextBeforeBattle + dw CeladonGymAfterBattleText5 ; TextAfterBattle + dw CeladonGymEndBattleText5 ; TextEndBattle + dw CeladonGymEndBattleText5 ; TextEndBattle + +CeladonGymTrainerHeader4: + dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_4 db ($2 << 4) ; trainer's view range - dw wd77c ; flag's byte - dw CeladonGymBattleText6 ; 0x4aef TextBeforeBattle - dw CeladonGymAfterBattleText6 ; 0x4af9 TextAfterBattle - dw CeladonGymEndBattleText6 ; 0x4af4 TextEndBattle - dw CeladonGymEndBattleText6 ; 0x4af4 TextEndBattle - -CeladonGymTrainerHeader6: ; 489f8 (12:49f8) - db $7 ; flag's bit + dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_4 + dw CeladonGymBattleText6 ; TextBeforeBattle + dw CeladonGymAfterBattleText6 ; TextAfterBattle + dw CeladonGymEndBattleText6 ; TextEndBattle + dw CeladonGymEndBattleText6 ; TextEndBattle + +CeladonGymTrainerHeader5: + dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_5 db ($2 << 4) ; trainer's view range - dw wd77c ; flag's byte - dw CeladonGymBattleText7 ; 0x4b08 TextBeforeBattle - dw CeladonGymAfterBattleText7 ; 0x4b12 TextAfterBattle - dw CeladonGymEndBattleText7 ; 0x4b0d TextEndBattle - dw CeladonGymEndBattleText7 ; 0x4b0d TextEndBattle - -CeladonGymTrainerHeader7: ; 48a04 (12:4a04) - db $8 ; flag's bit + dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_5 + dw CeladonGymBattleText7 ; TextBeforeBattle + dw CeladonGymAfterBattleText7 ; TextAfterBattle + dw CeladonGymEndBattleText7 ; TextEndBattle + dw CeladonGymEndBattleText7 ; TextEndBattle + +CeladonGymTrainerHeader6: + dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_6, 1 db ($3 << 4) ; trainer's view range - dw wd77c ; flag's byte - dw CeladonGymBattleText8 ; 0x4b21 TextBeforeBattle - dw CeladonGymAfterBattleText8 ; 0x4b2b TextAfterBattle - dw CeladonGymEndBattleText8 ; 0x4b26 TextEndBattle - dw CeladonGymEndBattleText8 ; 0x4b26 TextEndBattle + dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_6, 1 + dw CeladonGymBattleText8 ; TextBeforeBattle + dw CeladonGymAfterBattleText8 ; TextAfterBattle + dw CeladonGymEndBattleText8 ; TextEndBattle + dw CeladonGymEndBattleText8 ; TextEndBattle db $ff -CeladonGymText1: ; 48a11 (12:4a11) - db $08 ; asm - ld a, [wd77c] - bit 1, a - jr z, .asm_16064 ; 0x48a17 - bit 0, a - jr nz, .asm_3b22c ; 0x48a1b +CeladonGymText1: + TX_ASM + CheckEvent EVENT_BEAT_ERIKA + jr z, .asm_48a2d + CheckEventReuseA EVENT_GOT_TM21 + jr nz, .asm_48a25 call z, CeladonGymText_48963 call DisableWaitingAfterTextDisplay - jr .asm_96252 ; 0x48a23 -.asm_3b22c ; 0x48a25 + jr .asm_48a5b +.asm_48a25 ld hl, CeladonGymText_48a68 call PrintText - jr .asm_96252 ; 0x48a2b -.asm_16064 ; 0x48a2d + jr .asm_48a5b +.asm_48a2d ld hl, CeladonGymText_48a5e call PrintText ld hl, wd72d @@ -178,166 +170,166 @@ CeladonGymText1: ; 48a11 (12:4a11) ld hl, CeladonGymText_48a63 ld de, CeladonGymText_48a63 call SaveEndBattleTextPointers - ldh a, [$8c] + ld a, [H_SPRITEINDEX] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters ld a, $4 - ld [W_GYMLEADERNO], a + ld [wGymLeaderNo], a ld a, $3 - ld [W_CELADONGYMCURSCRIPT], a - ld [W_CURMAPSCRIPT], a -.asm_96252 ; 0x48a5b + ld [wCeladonGymCurScript], a + ld [wCurMapScript], a +.asm_48a5b jp TextScriptEnd -CeladonGymText_48a5e: ; 48a5e (12:4a5e) +CeladonGymText_48a5e: TX_FAR _CeladonGymText_48a5e db "@" -CeladonGymText_48a63: ; 48a63 (12:4a63) +CeladonGymText_48a63: TX_FAR _CeladonGymText_48a63 db "@" -CeladonGymText_48a68: ; 48a68 (12:4a68) +CeladonGymText_48a68: TX_FAR _CeladonGymText_48a68 db "@" -CeladonGymText9: ; 48a6d (12:4a6d) +CeladonGymText9: TX_FAR _CeladonGymText9 db "@" -TM21Text: ; 48a72 (12:4a72) +TM21Text: TX_FAR _ReceivedTM21Text - db $0B + TX_SFX_ITEM_1 TX_FAR _TM21ExplanationText db "@" -TM21NoRoomText: ; 48a7c (12:4a7c) +TM21NoRoomText: TX_FAR _TM21NoRoomText db "@" -CeladonGymText2: ; 48a81 (12:4a81) - db $08 ; asm +CeladonGymText2: + TX_ASM ld hl, CeladonGymTrainerHeader0 call TalkToTrainer jp TextScriptEnd -CeladonGymBattleText2: ; 48a8b (12:4a8b) +CeladonGymBattleText2: TX_FAR _CeladonGymBattleText2 db "@" -CeladonGymEndBattleText2: ; 48a90 (12:4a90) +CeladonGymEndBattleText2: TX_FAR _CeladonGymEndBattleText2 db "@" -CeladonGymAfterBattleText2: ; 48a95 (12:4a95) +CeladonGymAfterBattleText2: TX_FAR _CeladonGymAfterBattleText2 db "@" -CeladonGymText3: ; 48a9a (12:4a9a) - db $08 ; asm - ld hl, CeladonGymTrainerHeader2 +CeladonGymText3: + TX_ASM + ld hl, CeladonGymTrainerHeader1 call TalkToTrainer jp TextScriptEnd -CeladonGymBattleText3: ; 48aa4 (12:4aa4) +CeladonGymBattleText3: TX_FAR _CeladonGymBattleText3 db "@" -CeladonGymEndBattleText3: ; 48aa9 (12:4aa9) +CeladonGymEndBattleText3: TX_FAR _CeladonGymEndBattleText3 db "@" -CeladonGymAfterBattleText3: ; 48aae (12:4aae) +CeladonGymAfterBattleText3: TX_FAR _CeladonGymAfterBattleText3 db "@" -CeladonGymText4: ; 48ab3 (12:4ab3) - db $08 ; asm - ld hl, CeladonGymTrainerHeader3 +CeladonGymText4: + TX_ASM + ld hl, CeladonGymTrainerHeader2 call TalkToTrainer jp TextScriptEnd -CeladonGymBattleText4: ; 48abd (12:4abd) +CeladonGymBattleText4: TX_FAR _CeladonGymBattleText4 db "@" -CeladonGymEndBattleText4: ; 48ac2 (12:4ac2) +CeladonGymEndBattleText4: TX_FAR _CeladonGymEndBattleText4 db "@" -CeladonGymAfterBattleText4: ; 48ac7 (12:4ac7) +CeladonGymAfterBattleText4: TX_FAR _CeladonGymAfterBattleText4 db "@" -CeladonGymText5: ; 48acc (12:4acc) - db $08 ; asm - ld hl, CeladonGymTrainerHeader4 +CeladonGymText5: + TX_ASM + ld hl, CeladonGymTrainerHeader3 call TalkToTrainer jp TextScriptEnd -CeladonGymBattleText5: ; 48ad6 (12:4ad6) +CeladonGymBattleText5: TX_FAR _CeladonGymBattleText5 db "@" -CeladonGymEndBattleText5: ; 48adb (12:4adb) +CeladonGymEndBattleText5: TX_FAR _CeladonGymEndBattleText5 db "@" -CeladonGymAfterBattleText5: ; 48ae0 (12:4ae0) +CeladonGymAfterBattleText5: TX_FAR _CeladonGymAfterBattleText5 db "@" -CeladonGymText6: ; 48ae5 (12:4ae5) - db $08 ; asm - ld hl, CeladonGymTrainerHeader5 +CeladonGymText6: + TX_ASM + ld hl, CeladonGymTrainerHeader4 call TalkToTrainer jp TextScriptEnd -CeladonGymBattleText6: ; 48aef (12:4aef) +CeladonGymBattleText6: TX_FAR _CeladonGymBattleText6 db "@" -CeladonGymEndBattleText6: ; 48af4 (12:4af4) +CeladonGymEndBattleText6: TX_FAR _CeladonGymEndBattleText6 db "@" -CeladonGymAfterBattleText6: ; 48af9 (12:4af9) +CeladonGymAfterBattleText6: TX_FAR _CeladonGymAfterBattleText6 db "@" -CeladonGymText7: ; 48afe (12:4afe) - db $08 ; asm - ld hl, CeladonGymTrainerHeader6 +CeladonGymText7: + TX_ASM + ld hl, CeladonGymTrainerHeader5 call TalkToTrainer jp TextScriptEnd -CeladonGymBattleText7: ; 48b08 (12:4b08) +CeladonGymBattleText7: TX_FAR _CeladonGymBattleText7 db "@" -CeladonGymEndBattleText7: ; 48b0d (12:4b0d) +CeladonGymEndBattleText7: TX_FAR _CeladonGymEndBattleText7 db "@" -CeladonGymAfterBattleText7: ; 48b12 (12:4b12) +CeladonGymAfterBattleText7: TX_FAR _CeladonGymAfterBattleText7 db "@" -CeladonGymText8: ; 48b17 (12:4b17) - db $08 ; asm - ld hl, CeladonGymTrainerHeader7 +CeladonGymText8: + TX_ASM + ld hl, CeladonGymTrainerHeader6 call TalkToTrainer jp TextScriptEnd -CeladonGymBattleText8: ; 48b21 (12:4b21) +CeladonGymBattleText8: TX_FAR _CeladonGymBattleText8 db "@" -CeladonGymEndBattleText8: ; 48b26 (12:4b26) +CeladonGymEndBattleText8: TX_FAR _CeladonGymEndBattleText8 db "@" -CeladonGymAfterBattleText8: ; 48b2b (12:4b2b) +CeladonGymAfterBattleText8: TX_FAR _CeladonGymAfterBattleText8 db "@" diff --git a/scripts/celadonhotel.asm b/scripts/celadonhotel.asm index a0f80ff6..23b9eb55 100755 --- a/scripts/celadonhotel.asm +++ b/scripts/celadonhotel.asm @@ -1,19 +1,19 @@ -CeladonHotelScript: ; 49269 (12:5269) +CeladonHotelScript: jp EnableAutoTextBoxDrawing -CeladonHotelTextPointers: ; 4926c (12:526c) +CeladonHotelTextPointers: dw CeladonHotelText1 dw CeladonHotelText2 dw CeladonHotelText3 -CeladonHotelText1: ; 49272 (12:5272) +CeladonHotelText1: TX_FAR _CeladonHotelText1 db "@" -CeladonHotelText2: ; 49277 (12:5277) +CeladonHotelText2: TX_FAR _CeladonHotelText2 db "@" -CeladonHotelText3: ; 4927c (12:527c) +CeladonHotelText3: TX_FAR _CeladonHotelText3 db "@" diff --git a/scripts/celadonhouse.asm b/scripts/celadonhouse.asm index aa94f2fd..7f2778d1 100755 --- a/scripts/celadonhouse.asm +++ b/scripts/celadonhouse.asm @@ -1,20 +1,20 @@ -CeladonHouseScript: ; 4920e (12:520e) +CeladonHouseScript: call EnableAutoTextBoxDrawing ret -CeladonHouseTextPointers: ; 49212 (12:5212) +CeladonHouseTextPointers: dw CeladonHouseText1 dw CeladonHouseText2 dw CeladonHouseText3 -CeladonHouseText1: ; 49218 (12:5218) +CeladonHouseText1: TX_FAR _CeladonHouseText1 db "@" -CeladonHouseText2: ; 4921d (12:521d) +CeladonHouseText2: TX_FAR _CeladonHouseText2 db "@" -CeladonHouseText3: ; 49222 (12:5222) +CeladonHouseText3: TX_FAR _CeladonHouseText3 db "@" diff --git a/scripts/celadonmansion1.asm b/scripts/celadonmansion1.asm index 14832dbe..f6ef7669 100755 --- a/scripts/celadonmansion1.asm +++ b/scripts/celadonmansion1.asm @@ -1,39 +1,39 @@ -CeladonMansion1Script: ; 48694 (12:4694) +CeladonMansion1Script: jp EnableAutoTextBoxDrawing -CeladonMansion1TextPointers: ; 48697 (12:4697) +CeladonMansion1TextPointers: dw CeladonMansion1Text1 dw CeladonMansion1Text2 dw CeladonMansion1Text3 dw CeladonMansion1Text4 dw CeladonMansion1Text5 -CeladonMansion1_486a1: ; 486a1 (12:46a1) +CeladonMansion1_486a1: call PlayCry jp TextScriptEnd -CeladonMansion1Text1: ; 486a7 (12:46a7) +CeladonMansion1Text1: TX_FAR _CeladonMansion1Text1 - db $08 ; asm + TX_ASM ld a, MEOWTH jp CeladonMansion1_486a1 -CeladonMansion1Text2: ; 486b1 (12:46b1) +CeladonMansion1Text2: TX_FAR _CeladonMansion1Text2 db "@" -CeladonMansion1Text3: ; 486b6 (12:46b6) +CeladonMansion1Text3: TX_FAR _CeladonMansion1Text3 - db $8 + TX_ASM ld a, CLEFAIRY jp CeladonMansion1_486a1 -CeladonMansion1Text4: ; 486c0 (12:46c0) +CeladonMansion1Text4: TX_FAR _CeladonMansion1Text4 - db $8 + TX_ASM ld a, NIDORAN_F jp CeladonMansion1_486a1 -CeladonMansion1Text5: ; 486ca (12:46ca) +CeladonMansion1Text5: TX_FAR _CeladonMansion1Text5 db "@" diff --git a/scripts/celadonmansion2.asm b/scripts/celadonmansion2.asm index 7f7e5d45..520615d4 100755 --- a/scripts/celadonmansion2.asm +++ b/scripts/celadonmansion2.asm @@ -1,10 +1,10 @@ -CeladonMansion2Script: ; 4873a (12:473a) +CeladonMansion2Script: call EnableAutoTextBoxDrawing ret -CeladonMansion2TextPointers: ; 4873e (12:473e) +CeladonMansion2TextPointers: dw CeladonMansion2Text1 -CeladonMansion2Text1: ; 48740 (12:4740) +CeladonMansion2Text1: TX_FAR _CeladonMansion2Text1 db "@" diff --git a/scripts/celadonmansion3.asm b/scripts/celadonmansion3.asm index 47190c92..a1fe048b 100755 --- a/scripts/celadonmansion3.asm +++ b/scripts/celadonmansion3.asm @@ -1,7 +1,7 @@ -CeladonMansion3Script: ; 48790 (12:4790) +CeladonMansion3Script: jp EnableAutoTextBoxDrawing -CeladonMansion3TextPointers: ; 48793 (12:4793) +CeladonMansion3TextPointers: dw ProgrammerText dw GraphicArtistText dw WriterText @@ -11,26 +11,26 @@ CeladonMansion3TextPointers: ; 48793 (12:4793) dw GameFreakPCText3 dw GameFreakSignText -ProgrammerText: ; 487a3 (12:47a3) +ProgrammerText: TX_FAR _ProgrammerText db "@" -GraphicArtistText: ; 487a8 (12:47a8) +GraphicArtistText: TX_FAR _GraphicArtistText db "@" -WriterText: ; 487ad (12:47ad) +WriterText: TX_FAR _WriterText db "@" -DirectorText: ; 487b2 (12:47b2) - db $08 ; asm +DirectorText: + TX_ASM ; check pokédex ld hl, wPokedexOwned ld b, wPokedexOwnedEnd - wPokedexOwned call CountSetBits - ld a, [wd11e] + ld a, [wNumSetBits] cp 150 jr nc, .CompletedDex ld hl, .GameDesigner @@ -41,31 +41,31 @@ DirectorText: ; 487b2 (12:47b2) call PrintText jp TextScriptEnd -.GameDesigner ; 487d0 (12:47d0) +.GameDesigner TX_FAR _GameDesignerText db "@" .CompletedDexText TX_FAR _CompletedDexText - db $6 - db $8 ; asm + TX_BLINK + TX_ASM callab DisplayDiploma ld a, $1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a jp TextScriptEnd -GameFreakPCText1: ; 487eb (12:47eb) +GameFreakPCText1: TX_FAR _CeladonMansion3Text5 db "@" -GameFreakPCText2: ; 487f0 (12:47f0) +GameFreakPCText2: TX_FAR _CeladonMansion3Text6 db "@" -GameFreakPCText3: ; 487f5 (12:47f5) +GameFreakPCText3: TX_FAR _CeladonMansion3Text7 db "@" -GameFreakSignText: ; 487fa (12:47fa) +GameFreakSignText: TX_FAR _CeladonMansion3Text8 db "@" diff --git a/scripts/celadonmansion4.asm b/scripts/celadonmansion4.asm index f9045bcd..80d887e9 100755 --- a/scripts/celadonmansion4.asm +++ b/scripts/celadonmansion4.asm @@ -1,9 +1,9 @@ -CeladonMansion4Script: ; 4886b (12:486b) +CeladonMansion4Script: jp EnableAutoTextBoxDrawing -CeladonMansion4TextPointers: ; 4886e (12:486e) +CeladonMansion4TextPointers: dw CeladonMansion4Text1 -CeladonMansion4Text1: ; 48870 (12:4870) +CeladonMansion4Text1: TX_FAR _CeladonMansion4Text1 db "@" diff --git a/scripts/celadonmansion5.asm b/scripts/celadonmansion5.asm index c18e36c6..197a0f54 100755 --- a/scripts/celadonmansion5.asm +++ b/scripts/celadonmansion5.asm @@ -1,21 +1,21 @@ -CeladonMansion5Script: ; 1dd3a (7:5d3a) +CeladonMansion5Script: jp EnableAutoTextBoxDrawing -CeladonMansion5TextPointers: ; 1dd3d (7:5d3d) +CeladonMansion5TextPointers: dw CeladonMansion5Text1 dw CeladonMansion5Text2 -CeladonMansion5Text1: ; 1dd41 (7:5d41) +CeladonMansion5Text1: TX_FAR _CeladonMansion5Text1 db "@" -CeladonMansion5Text2: ; 1dd46 (7:5d46) - db $08 ; asm - ld bc,(EEVEE << 8) | 25 +CeladonMansion5Text2: + TX_ASM + lb bc, EEVEE, 25 call GivePokemon - jr nc, .asm_24365 ; 0x1dd4d + jr nc, .asm_24365 ld a, HS_CELADON_MANSION_5_GIFT - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject -.asm_24365 ; 0x1dd59 +.asm_24365 jp TextScriptEnd diff --git a/scripts/celadonmart1.asm b/scripts/celadonmart1.asm index 041af8b3..0f67972b 100755 --- a/scripts/celadonmart1.asm +++ b/scripts/celadonmart1.asm @@ -1,19 +1,19 @@ -CeladonMart1Script: ; 60f86 (18:4f86) +CeladonMart1Script: jp EnableAutoTextBoxDrawing -CeladonMart1TextPointers: ; 60f89 (18:4f89) +CeladonMart1TextPointers: dw CeladonMart1Text1 dw CeladonMart1Text2 dw CeladonMart1Text3 -CeladonMart1Text1: ; 60f8f (18:4f8f) +CeladonMart1Text1: TX_FAR _CeladonMart1Text1 db "@" -CeladonMart1Text2: ; 60f94 (18:4f94) +CeladonMart1Text2: TX_FAR _CeladonMart1Text2 db "@" -CeladonMart1Text3: ; 60f99 (18:4f99) +CeladonMart1Text3: TX_FAR _CeladonMart1Text3 db "@" diff --git a/scripts/celadonmart2.asm b/scripts/celadonmart2.asm index 92f04399..c438d6e1 100755 --- a/scripts/celadonmart2.asm +++ b/scripts/celadonmart2.asm @@ -1,21 +1,21 @@ -CeladonMart2Script: ; 560f5 (15:60f5) +CeladonMart2Script: jp EnableAutoTextBoxDrawing -CeladonMart2TextPointers: ; 560f8 (15:60f8) - dw CeladonMart2Text1 - dw CeladonMart2Text2 +CeladonMart2TextPointers: + dw CeladonMart2Clerk1Text + dw CeladonMart2Clerk2Text dw CeladonMart2Text3 dw CeladonMart2Text4 dw CeladonMart2Text5 -CeladonMart2Text3: ; 56102 (15:6102) +CeladonMart2Text3: TX_FAR _CeladonMart2Text3 db "@" -CeladonMart2Text4: ; 56107 (15:6107) +CeladonMart2Text4: TX_FAR _CeladonMart2Text4 db "@" -CeladonMart2Text5: ; 5610c (15:610c) +CeladonMart2Text5: TX_FAR _CeladonMart2Text5 db "@" diff --git a/scripts/celadonmart3.asm b/scripts/celadonmart3.asm index 8874a743..6af58f21 100755 --- a/scripts/celadonmart3.asm +++ b/scripts/celadonmart3.asm @@ -1,7 +1,7 @@ -CeladonMart3Script: ; 48225 (12:4225) +CeladonMart3Script: jp EnableAutoTextBoxDrawing -CeladonMart3TextPointers: ; 48228 (12:4228) +CeladonMart3TextPointers: dw CeladonMart3Text1 dw CeladonMart3Text2 dw CeladonMart3Text3 @@ -20,90 +20,89 @@ CeladonMart3TextPointers: ; 48228 (12:4228) dw CeladonMart3Text16 dw CeladonMart3Text17 -CeladonMart3Text1: ; 4824a (12:424a) - db $08 ; asm - ld a, [wd778] - bit 7, a - jr nz, .asm_a5463 ; 0x48250 +CeladonMart3Text1: + TX_ASM + CheckEvent EVENT_GOT_TM18 + jr nz, .asm_a5463 ld hl, TM18PreReceiveText call PrintText - ld bc, (TM_18 << 8) | 1 + lb bc, TM_18, 1 call GiveItem jr nc, .BagFull - ld hl, wd778 - set 7, [hl] + SetEvent EVENT_GOT_TM18 ld hl, ReceivedTM18Text - jr .asm_81359 ; 0x48268 + jr .asm_81359 .BagFull ld hl, TM18NoRoomText - jr .asm_81359 ; 0x4826d -.asm_a5463 ; 0x4826f + jr .asm_81359 +.asm_a5463 ld hl, TM18ExplanationText -.asm_81359 ; 0x48272 +.asm_81359 call PrintText jp TextScriptEnd -TM18PreReceiveText: ; 48278 (12:4278) +TM18PreReceiveText: TX_FAR _TM18PreReceiveText db "@" -ReceivedTM18Text: ; 4827d (12:427d) +ReceivedTM18Text: TX_FAR _ReceivedTM18Text - db $0B, "@" + TX_SFX_ITEM_1 + db "@" -TM18ExplanationText: ; 48283 (12:4283) +TM18ExplanationText: TX_FAR _TM18ExplanationText db "@" -TM18NoRoomText: ; 48288 (12:4288) +TM18NoRoomText: TX_FAR _TM18NoRoomText db "@" -CeladonMart3Text2: ; 4828d (12:428d) +CeladonMart3Text2: TX_FAR _CeladonMart3Text2 db "@" -CeladonMart3Text3: ; 48292 (12:4292) +CeladonMart3Text3: TX_FAR _CeladonMart3Text3 db "@" -CeladonMart3Text4: ; 48297 (12:4297) +CeladonMart3Text4: TX_FAR _CeladonMart3Text4 db "@" -CeladonMart3Text5: ; 4829c (12:429c) +CeladonMart3Text5: TX_FAR _CeladonMart3Text5 db "@" CeladonMart3Text12 -CeladonMart3Text10: ; 482a1 (12:42a1) -CeladonMart3Text8: ; 482a1 (12:42a1) -CeladonMart3Text6: ; 482a1 (12:42a1) +CeladonMart3Text10: +CeladonMart3Text8: +CeladonMart3Text6: TX_FAR _CeladonMart3Text6 db "@" -CeladonMart3Text7: ; 482a6 (12:42a6) +CeladonMart3Text7: TX_FAR _CeladonMart3Text7 db "@" -CeladonMart3Text9: ; 482ab (12:42ab) +CeladonMart3Text9: TX_FAR _CeladonMart3Text9 db "@" -CeladonMart3Text11: ; 482b0 (12:42b0) +CeladonMart3Text11: TX_FAR _CeladonMart3Text11 db "@" -CeladonMart3Text13: ; 482b5 (12:42b5) +CeladonMart3Text13: TX_FAR _CeladonMart3Text13 db "@" -CeladonMart3Text14: ; 482ba (12:42ba) +CeladonMart3Text14: TX_FAR _CeladonMart3Text14 db "@" -CeladonMart3Text17: ; 482bf (12:42bf) -CeladonMart3Text16: ; 482bf (12:42bf) -CeladonMart3Text15: ; 482bf (12:42bf) +CeladonMart3Text17: +CeladonMart3Text16: +CeladonMart3Text15: TX_FAR _CeladonMart3Text15 db "@" diff --git a/scripts/celadonmart4.asm b/scripts/celadonmart4.asm index dfe2b90a..18049dc0 100755 --- a/scripts/celadonmart4.asm +++ b/scripts/celadonmart4.asm @@ -1,20 +1,20 @@ -CeladonMart4Script: ; 48356 (12:4356) +CeladonMart4Script: jp EnableAutoTextBoxDrawing -CeladonMart4TextPointers: ; 48359 (12:4359) - dw CeladonMart4Text1 +CeladonMart4TextPointers: + dw CeladonMart4ClerkText dw CeladonMart4Text2 dw CeladonMart4Text3 dw CeladonMart4Text4 -CeladonMart4Text2: ; 48361 (12:4361) +CeladonMart4Text2: TX_FAR _CeladonMart4Text2 db "@" -CeladonMart4Text3: ; 48366 (12:4366) +CeladonMart4Text3: TX_FAR _CeladonMart4Text3 db "@" -CeladonMart4Text4: ; 4836b (12:436b) +CeladonMart4Text4: TX_FAR _CeladonMart4Text4 db "@" diff --git a/scripts/celadonmart5.asm b/scripts/celadonmart5.asm index 9bd7f991..7b7371a7 100755 --- a/scripts/celadonmart5.asm +++ b/scripts/celadonmart5.asm @@ -1,21 +1,21 @@ -CeladonMart5Script: ; 49069 (12:5069) +CeladonMart5Script: jp EnableAutoTextBoxDrawing -CeladonMart5TextPointers: ; 4906c (12:506c) +CeladonMart5TextPointers: dw CeladonMart5Text1 dw CeladonMart5Text2 - dw CeladonMart5Text3 - dw CeladonMart5Text4 + dw CeladonMart5Clerk1Text + dw CeladonMart5Clerk2Text dw CeladonMart5Text5 -CeladonMart5Text1: ; 49076 (12:5076) +CeladonMart5Text1: TX_FAR _CeladonMart5Text1 db "@" -CeladonMart5Text2: ; 4907b (12:507b) +CeladonMart5Text2: TX_FAR _CeladonMart5Text2 db "@" -CeladonMart5Text5: ; 49080 (12:5080) +CeladonMart5Text5: TX_FAR _CeladonMart5Text5 db "@" diff --git a/scripts/celadonmartelevator.asm b/scripts/celadonmartelevator.asm index ff835765..60e5210c 100755 --- a/scripts/celadonmartelevator.asm +++ b/scripts/celadonmartelevator.asm @@ -1,5 +1,5 @@ -CeladonMartElevatorScript: ; 48600 (12:4600) - ld hl, wd126 +CeladonMartElevatorScript: + ld hl, wCurrentMapScriptFlags bit 5, [hl] res 5, [hl] push hl @@ -14,15 +14,15 @@ CeladonMartElevatorScript: ; 48600 (12:4600) ld [wDoNotWaitForButtonPressAfterDisplayingText], a ret -CeladonMartElevatorScript_4861c: ; 4861c (12:461c) +CeladonMartElevatorScript_4861c: ld hl, wWarpEntries - ld a, [wd73b] + ld a, [wWarpedFromWhichWarp] ld b, a - ld a, [wd73c] + ld a, [wWarpedFromWhichMap] ld c, a call CeladonMartElevatorScript_4862a -CeladonMartElevatorScript_4862a: ; 4862a (12:462a) +CeladonMartElevatorScript_4862a: inc hl inc hl ld a, b @@ -31,20 +31,24 @@ CeladonMartElevatorScript_4862a: ; 4862a (12:462a) ld [hli], a ret -CeladonMartElevatorScript_48631: ; 48631 (12:4631) - ld hl, CeladonMartElavatorFloors ; $4643 +CeladonMartElevatorScript_48631: + ld hl, CeladonMartElevatorFloors call LoadItemList - ld hl, CeldaonMartElevatorWarpMaps ; $464a - ld de, wcc5b - ld bc, $000a + ld hl, CeladonMartElevatorWarpMaps + ld de, wElevatorWarpMaps + ld bc, CeladonMartElevatorWarpMapsEnd - CeladonMartElevatorWarpMaps jp CopyData -CeladonMartElavatorFloors: ; 48643 (12:4643) - db $05 ; num elements in list - db $56, $57, $58, $59, $5A ; "1F", "2F", "3F", "4F, "5F" - db $FF ; terminator +CeladonMartElevatorFloors: + db 5 ; number of elements in list + db FLOOR_1F + db FLOOR_2F + db FLOOR_3F + db FLOOR_4F + db FLOOR_5F + db $FF -CeldaonMartElevatorWarpMaps: ; 4864a (12:464a) +CeladonMartElevatorWarpMaps: ; first byte is warp number ; second byte is map number ; These specify where the player goes after getting out of the elevator. @@ -53,18 +57,17 @@ CeldaonMartElevatorWarpMaps: ; 4864a (12:464a) db $02, CELADON_MART_3 db $02, CELADON_MART_4 db $02, CELADON_MART_5 +CeladonMartElevatorWarpMapsEnd: -CeladonMartElevatorScript_48654: ; 48654 (12:4654) - ld b, BANK(ShakeElevator) - ld hl, ShakeElevator - jp Bankswitch +CeladonMartElevatorScript_48654: + jpba ShakeElevator -CeladonMartElevatorTextPointers: ; 4865c (12:465c) +CeladonMartElevatorTextPointers: dw CeladonMartElevatorText1 -CeladonMartElevatorText1: ; 4865e (12:465e) - db $08 ; asm +CeladonMartElevatorText1: + TX_ASM call CeladonMartElevatorScript_48631 - ld hl, CeldaonMartElevatorWarpMaps ; $464a - predef Func_1c9c6 + ld hl, CeladonMartElevatorWarpMaps + predef DisplayElevatorFloorMenu jp TextScriptEnd diff --git a/scripts/celadonmartroof.asm b/scripts/celadonmartroof.asm index d4bb4319..9034e8fc 100755 --- a/scripts/celadonmartroof.asm +++ b/scripts/celadonmartroof.asm @@ -1,217 +1,211 @@ -CeladonMartRoofScript: ; 483d5 (12:43d5) +CeladonMartRoofScript: jp EnableAutoTextBoxDrawing -CeladonMartRoofScript_483d8: ; 483d8 (12:43d8) +CeladonMartRoofScript_GetDrinksInBag: +; construct a list of all drinks in the player's bag xor a - ld [wcd37], a - ld de, wcc5b - ld hl, CeladonMartRoofDrinkList ; $4408 -.asm_483e2 + ld [wFilteredBagItemsCount], a + ld de, wFilteredBagItems + ld hl, CeladonMartRoofDrinkList +.loop ld a, [hli] and a - jr z, .asm_48404 + jr z, .done push hl push de ld [wd11e], a ld b, a - predef IsItemInBag_ + predef GetQuantityOfItemInBag pop de pop hl ld a, b and a - jr z, .asm_483e2 + jr z, .loop ; if the item isn't in the bag ld a, [wd11e] ld [de], a inc de push hl - ld hl, wcd37 + ld hl, wFilteredBagItemsCount inc [hl] pop hl - jr .asm_483e2 -.asm_48404 + jr .loop +.done ld a, $ff ld [de], a ret -CeladonMartRoofDrinkList: ; 48408 (12:4408) +CeladonMartRoofDrinkList: db FRESH_WATER db SODA_POP db LEMONADE db $00 -CeladonMartRoofScript_4840c: ; 4840c (12:440c) +CeladonMartRoofScript_GiveDrinkToGirl: ld hl, wd730 set 6, [hl] - ld hl, CeladonMartRoofText_484ee ; $44ee + ld hl, CeladonMartRoofText_484ee call PrintText xor a - ld [wCurrentMenuItem], a ; wCurrentMenuItem - ld a, $3 - ld [wMenuWatchedKeys], a ; wMenuWatchedKeys - ld a, [wcd37] + ld [wCurrentMenuItem], a + ld a, A_BUTTON | B_BUTTON + ld [wMenuWatchedKeys], a + ld a, [wFilteredBagItemsCount] dec a - ld [wMaxMenuItem], a ; wMaxMenuItem - ld a, $2 - ld [wTopMenuItemY], a ; wTopMenuItemY - ld a, $1 - ld [wTopMenuItemX], a ; wTopMenuItemX - ld a, [wcd37] + ld [wMaxMenuItem], a + ld a, 2 + ld [wTopMenuItemY], a + ld a, 1 + ld [wTopMenuItemX], a + ld a, [wFilteredBagItemsCount] dec a - ld bc, $2 - ld hl, $3 + ld bc, 2 + ld hl, 3 call AddNTimes dec l ld b, l - ld c, $c - ld hl, wTileMap + ld c, 12 + coord hl, 0, 0 call TextBoxBorder call UpdateSprites - call CeladonMartRoofScript_48532 + call CeladonMartRoofScript_PrintDrinksInBag ld hl, wd730 res 6, [hl] call HandleMenuInput - bit 1, a + bit 1, a ; pressed b ret nz - ld hl, wcc5b - ld a, [wCurrentMenuItem] ; wCurrentMenuItem - ld d, $0 + ld hl, wFilteredBagItems + ld a, [wCurrentMenuItem] + ld d, 0 ld e, a add hl, de ld a, [hl] - ld [$ffdb], a + ld [hItemToRemoveID], a cp FRESH_WATER - jr z, .asm_484b6 + jr z, .gaveFreshWater cp SODA_POP - jr z, .asm_48492 - ld a, [wd778] - bit 6, a - jr nz, .asm_484e0 - ld hl, CeladonMartRoofText_48515 ; $4515 + jr z, .gaveSodaPop +; gave Lemonade + CheckEvent EVENT_GOT_TM49 + jr nz, .alreadyGaveDrink + ld hl, CeladonMartRoofText_48515 call PrintText call RemoveItemByIDBank12 - ld bc, (TM_49 << 8) | 1 + lb bc, TM_49, 1 call GiveItem - jr nc, .BagFull + jr nc, .bagFull ld hl, ReceivedTM49Text call PrintText - ld hl, wd778 - set 6, [hl] + SetEvent EVENT_GOT_TM49 ret -.asm_48492 - ld a, [wd778] - bit 5, a - jr nz, .asm_484e0 - ld hl, CeladonMartRoofText_48504 ; $4504 +.gaveSodaPop + CheckEvent EVENT_GOT_TM48 + jr nz, .alreadyGaveDrink + ld hl, CeladonMartRoofText_48504 call PrintText call RemoveItemByIDBank12 - ld bc, (TM_48 << 8) | 1 + lb bc, TM_48, 1 call GiveItem - jr nc, .BagFull - ld hl, CeladonMartRoofText_4850a ; $450a + jr nc, .bagFull + ld hl, CeladonMartRoofText_4850a call PrintText - ld hl, wd778 - set 5, [hl] + SetEvent EVENT_GOT_TM48 ret -.asm_484b6 - ld a, [wd778] - bit 4, a - jr nz, .asm_484e0 - ld hl, CeladonMartRoofText_484f3 ; $44f3 +.gaveFreshWater + CheckEvent EVENT_GOT_TM13 + jr nz, .alreadyGaveDrink + ld hl, CeladonMartRoofText_484f3 call PrintText call RemoveItemByIDBank12 - ld bc, (TM_13 << 8) | 1 + lb bc, TM_13, 1 call GiveItem - jr nc, .BagFull - ld hl, CeladonMartRoofText_484f9 ; $44f9 + jr nc, .bagFull + ld hl, CeladonMartRoofText_484f9 call PrintText - ld hl, wd778 - set 4, [hl] + SetEvent EVENT_GOT_TM13 ret -.BagFull - ld hl, CeladonMartRoofText_48526 ; $4526 +.bagFull + ld hl, CeladonMartRoofText_48526 jp PrintText -.asm_484e0 - ld hl, CeladonMartRoofText_4852c ; $452c +.alreadyGaveDrink + ld hl, CeladonMartRoofText_4852c jp PrintText -RemoveItemByIDBank12: ; 484e6 (12:44e6) - ld b, BANK(RemoveItemByID) - ld hl, RemoveItemByID - jp Bankswitch +RemoveItemByIDBank12: + jpba RemoveItemByID -CeladonMartRoofText_484ee: ; 484ee (12:44ee) +CeladonMartRoofText_484ee: TX_FAR _CeladonMartRoofText_484ee db "@" -CeladonMartRoofText_484f3: ; 484f3 (12:44f3) +CeladonMartRoofText_484f3: TX_FAR _CeladonMartRoofText_484f3 - db $0d + TX_WAIT db "@" -CeladonMartRoofText_484f9: ; 484f9 (12:44f9) +CeladonMartRoofText_484f9: TX_FAR _CeladonMartRoofText_484f9 - db $0b + TX_SFX_ITEM_1 TX_FAR _CeladonMartRoofText_484fe - db $0d + TX_WAIT db "@" -CeladonMartRoofText_48504: ; 48504 (12:4504) +CeladonMartRoofText_48504: TX_FAR _CeladonMartRoofText_48504 - db $0d + TX_WAIT db "@" -CeladonMartRoofText_4850a: ; 4850a (12:450a) +CeladonMartRoofText_4850a: TX_FAR _CeladonMartRoofText_4850a - db $0b + TX_SFX_ITEM_1 TX_FAR _CeladonMartRoofText_4850f - db $0d + TX_WAIT db "@" -CeladonMartRoofText_48515: ; 48515 (12:4515) +CeladonMartRoofText_48515: TX_FAR _CeladonMartRoofText_48515 - db $0d + TX_WAIT db "@" -ReceivedTM49Text: ; 4851b (12:451b) +ReceivedTM49Text: TX_FAR _ReceivedTM49Text - db $0b + TX_SFX_ITEM_1 TX_FAR _CeladonMartRoofText_48520 - db $0d + TX_WAIT db "@" -CeladonMartRoofText_48526: ; 48526 (12:4526) +CeladonMartRoofText_48526: TX_FAR _CeladonMartRoofText_48526 - db $0d + TX_WAIT db "@" -CeladonMartRoofText_4852c: ; 4852c (12:452c) +CeladonMartRoofText_4852c: TX_FAR _CeladonMartRoofText_4852c - db $0d + TX_WAIT db "@" -CeladonMartRoofScript_48532: ; 48532 (12:4532) - ld hl, wcc5b +CeladonMartRoofScript_PrintDrinksInBag: + ld hl, wFilteredBagItems xor a - ld [$ffdb], a -.asm_48538 + ld [hItemCounter], a +.loop ld a, [hli] cp $ff ret z push hl ld [wd11e], a call GetItemName - hlCoord 2, 2 - ld a, [$ffdb] - ld bc, $28 + coord hl, 2, 2 + ld a, [hItemCounter] + ld bc, SCREEN_WIDTH * 2 call AddNTimes ld de, wcd6d call PlaceString - ld hl, $ffdb + ld hl, hItemCounter inc [hl] pop hl - jr .asm_48538 + jr .loop -CeladonMartRoofTextPointers: ; 4855b (12:455b) +CeladonMartRoofTextPointers: dw CeladonMartRoofText1 dw CeladonMartRoofText2 dw CeladonMartRoofText5 @@ -219,43 +213,43 @@ CeladonMartRoofTextPointers: ; 4855b (12:455b) dw CeladonMartRoofText5 dw CeladonMartRoofText6 -CeladonMartRoofText1: ; 48567 (12:4567) +CeladonMartRoofText1: TX_FAR _CeladonMartRoofText1 db "@" -CeladonMartRoofText2: ; 4856c (12:456c) - db $08 ; asm - call CeladonMartRoofScript_483d8 - ld a, [wcd37] +CeladonMartRoofText2: + TX_ASM + call CeladonMartRoofScript_GetDrinksInBag + ld a, [wFilteredBagItemsCount] and a - jr z, .asm_914b9 ; 0x48574 - ld a, $1 + jr z, .noDrinksInBag + ld a, 1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a ld hl, CeladonMartRoofText4 call PrintText call YesNoChoice ld a, [wCurrentMenuItem] and a - jr nz, .asm_05aa4 ; 0x48588 - call CeladonMartRoofScript_4840c - jr .asm_05aa4 ; 0x4858d -.asm_914b9 ; 0x4858f + jr nz, .done + call CeladonMartRoofScript_GiveDrinkToGirl + jr .done +.noDrinksInBag ld hl, CeladonMartRoofText3 call PrintText -.asm_05aa4 ; 0x48595 +.done jp TextScriptEnd -CeladonMartRoofText3: ; 48598 (12:4598) +CeladonMartRoofText3: TX_FAR _CeladonMartRoofText_48598 db "@" -CeladonMartRoofText4: ; 4859d (12:459d) +CeladonMartRoofText4: TX_FAR _CeladonMartRoofText4 db "@" -CeladonMartRoofText5: ; 485a2 (12:45a2) - db $f5 +CeladonMartRoofText5: + TX_VENDING_MACHINE -CeladonMartRoofText6: ; 485a3 (12:45a3) +CeladonMartRoofText6: TX_FAR _CeladonMartRoofText6 db "@" diff --git a/scripts/celadonpokecenter.asm b/scripts/celadonpokecenter.asm index 1b8d3a1b..bd91af20 100755 --- a/scripts/celadonpokecenter.asm +++ b/scripts/celadonpokecenter.asm @@ -1,23 +1,23 @@ -CeladonPokecenterScript: ; 488b8 (12:48b8) +CeladonPokecenterScript: call Serial_TryEstablishingExternallyClockedConnection jp EnableAutoTextBoxDrawing -CeladonPokecenterTextPointers: ; 488be (12:48be) - dw CeladonPokecenterText1 +CeladonPokecenterTextPointers: + dw CeladonHealNurseText dw CeladonPokecenterText2 dw CeladonPokecenterText3 - dw CeladonPokecenterText4 + dw CeladonTradeNurseText -CeladonPokecenterText4: ; 488c6 (12:48c6) - db $f6 +CeladonTradeNurseText: + TX_CABLE_CLUB_RECEPTIONIST -CeladonPokecenterText1: ; 488c7 (12:48c7) - db $ff +CeladonHealNurseText: + TX_POKECENTER_NURSE -CeladonPokecenterText2: ; 488c8 (12:48c8) +CeladonPokecenterText2: TX_FAR _CeladonPokecenterText2 db "@" -CeladonPokecenterText3: ; 488cd (12:48cd) +CeladonPokecenterText3: TX_FAR _CeladonPokecenterText3 db "@" diff --git a/scripts/celadonprizeroom.asm b/scripts/celadonprizeroom.asm index 2cfd01d0..a07ce162 100755 --- a/scripts/celadonprizeroom.asm +++ b/scripts/celadonprizeroom.asm @@ -1,20 +1,20 @@ -CeladonPrizeRoomScript: ; 490f0 (12:50f0) +CeladonPrizeRoomScript: jp EnableAutoTextBoxDrawing -CeladonPrizeRoomTextPointers: ; 490f3 (12:50f3) +CeladonPrizeRoomTextPointers: dw CeladonPrizeRoomText1 dw CeladonPrizeRoomText2 dw CeladonPrizeRoomText3 dw CeladonPrizeRoomText3 dw CeladonPrizeRoomText3 -CeladonPrizeRoomText1: ; 490fd (12:50fd) +CeladonPrizeRoomText1: TX_FAR _CeladonPrizeRoomText1 db "@" -CeladonPrizeRoomText2: ; 49102 (12:5102) +CeladonPrizeRoomText2: TX_FAR _CeladonPrizeRoomText2 db "@" -CeladonPrizeRoomText3: ; 49107 (12:5107) - db $f7 +CeladonPrizeRoomText3: + TX_PRIZE_VENDOR diff --git a/scripts/ceruleancity.asm b/scripts/ceruleancity.asm index bbddad79..d6269a64 100755 --- a/scripts/ceruleancity.asm +++ b/scripts/ceruleancity.asm @@ -1,74 +1,71 @@ -CeruleanCityScript: ; 19480 (6:5480) +CeruleanCityScript: call EnableAutoTextBoxDrawing ld hl, CeruleanCityScriptPointers - ld a, [W_CERULEANCITYCURSCRIPT] + ld a, [wCeruleanCityCurScript] jp CallFunctionInTable -CeruleanCityScript_1948c: ; 1948c (6:548c) +CeruleanCityScript_1948c: xor a ld [wJoyIgnore], a - ld [W_CERULEANCITYCURSCRIPT], a + ld [wCeruleanCityCurScript], a ld a, HS_CERULEAN_RIVAL - ld [wcc4d], a + ld [wMissableObjectIndex], a predef_jump HideObject -CeruleanCityScriptPointers: ; 1949d (6:549d) +CeruleanCityScriptPointers: dw CeruleanCityScript0 dw CeruleanCityScript1 dw CeruleanCityScript2 dw CeruleanCityScript3 dw CeruleanCityScript4 -CeruleanCityScript4: ; 194a7 (6:54a7) - ld a, [W_ISINBATTLE] +CeruleanCityScript4: + ld a, [wIsInBattle] cp $ff jp z, CeruleanCityScript_1948c ld a, $f0 ld [wJoyIgnore], a - ld hl, wd75b - set 7, [hl] + SetEvent EVENT_BEAT_CERULEAN_ROCKET_THIEF ld a, $2 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID xor a ld [wJoyIgnore], a - ld [W_CERULEANCITYCURSCRIPT], a + ld [wCeruleanCityCurScript], a ret -CeruleanCityScript0: ; 194c8 (6:54c8) - ld a, [wd75b] - bit 7, a - jr nz, .asm_194f7 ; 0x194cd $28 +CeruleanCityScript0: + CheckEvent EVENT_BEAT_CERULEAN_ROCKET_THIEF + jr nz, .asm_194f7 ld hl, CeruleanCityCoords1 call ArePlayerCoordsInArray - jr nc, .asm_194f7 ; 0x194d5 $20 - ld a, [wWhichTrade] + jr nc, .asm_194f7 + ld a, [wCoordIndex] cp $1 - ld a, $8 - ld b, $0 - jr nz, .asm_194e6 ; 0x194e0 $4 - ld a, $4 - ld b, $4 + ld a, PLAYER_DIR_UP + ld b, SPRITE_FACING_DOWN + jr nz, .asm_194e6 + ld a, PLAYER_DIR_DOWN + ld b, SPRITE_FACING_UP .asm_194e6 - ld [wd528], a + ld [wPlayerMovingDirection], a ld a, b - ld [wSpriteStateData1 + $29], a + ld [wSpriteStateData1 + 2 * $10 + $9], a call Delay3 ld a, $2 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a jp DisplayTextID .asm_194f7 - ld a, [wd75a] - bit 0, a + CheckEvent EVENT_BEAT_CERULEAN_RIVAL ret nz ld hl, CeruleanCityCoords2 call ArePlayerCoordsInArray ret nc ld a, [wWalkBikeSurfState] and a - jr z, .asm_19512 ; 0x19508 $8 + jr z, .asm_19512 ld a, $ff - ld [wc0ee], a + ld [wNewSoundID], a call PlaySound .asm_19512 ld c, BANK(Music_MeetRival) @@ -78,55 +75,58 @@ CeruleanCityScript0: ; 194c8 (6:54c8) ld [hJoyHeld], a ld a, $f0 ld [wJoyIgnore], a - ld a, [W_XCOORD] + ld a, [wXCoord] cp $14 - jr z, .asm_19535 ; 0x19526 $d + jr z, .asm_19535 ld a, $1 - ld [$ff8c], a + ld [H_SPRITEINDEX], a ld a, $5 - ld [$ff8b], a + ld [H_SPRITEDATAOFFSET], a call GetPointerWithinSpriteStateData2 ld [hl], $19 .asm_19535 ld a, HS_CERULEAN_RIVAL - ld [wcc4d], a + ld [wMissableObjectIndex], a predef ShowObject ld de, CeruleanCityMovement1 ld a, $1 - ld [$ff8c], a + ld [H_SPRITEINDEX], a call MoveSprite ld a, $1 - ld [W_CERULEANCITYCURSCRIPT], a + ld [wCeruleanCityCurScript], a ret -CeruleanCityCoords1: ; 1954f (6:554f) +CeruleanCityCoords1: db $07,$1e db $09,$1e db $ff -CeruleanCityCoords2: ; 19554 (6:5554) +CeruleanCityCoords2: db $06,$14 db $06,$15 db $ff -CeruleanCityMovement1: ; 19559 (6:5559) - db $00,$00,$00,$FF +CeruleanCityMovement1: + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db $FF -CeruleanCityScript_1955d: ; 1955d (6:555d) +CeruleanCityScript_1955d: ld a,1 - ld [$ff8c],a - xor a - ld [$ff8d],a + ld [H_SPRITEINDEX],a + xor a ; SPRITE_FACING_DOWN + ld [hSpriteFacingDirection],a jp SetSpriteFacingDirectionAndDelay ; face object -CeruleanCityScript1: ; 19567 (6:5567) +CeruleanCityScript1: ld a, [wd730] bit 0, a ret nz xor a ld [wJoyIgnore], a ld a, $1 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld hl, wd72d set 6, [hl] @@ -134,87 +134,100 @@ CeruleanCityScript1: ; 19567 (6:5567) ld hl, CeruleanCityText_1966d ld de, CeruleanCityText_19672 call SaveEndBattleTextPointers - ld a, SONY1 + $c8 - ld [W_CUROPPONENT], a + ld a, OPP_SONY1 + ld [wCurOpponent], a ; select which team to use during the encounter - ld a, [W_RIVALSTARTER] + ld a, [wRivalStarter] cp STARTER2 - jr nz, .NotSquirtle ; 0x19592 $4 + jr nz, .NotSquirtle ld a, $7 jr .done .NotSquirtle cp STARTER3 - jr nz, .Charmander ; 0x1959a $4 + jr nz, .Charmander ld a, $8 jr .done .Charmander ld a, $9 .done - ld [W_TRAINERNO], a + ld [wTrainerNo], a xor a ld [hJoyHeld], a call CeruleanCityScript_1955d ld a, $2 - ld [W_CERULEANCITYCURSCRIPT], a + ld [wCeruleanCityCurScript], a ret -CeruleanCityScript2: ; 195b1 (6:55b1) - ld a, [W_ISINBATTLE] +CeruleanCityScript2: + ld a, [wIsInBattle] cp $ff jp z, CeruleanCityScript_1948c call CeruleanCityScript_1955d ld a, $f0 ld [wJoyIgnore], a - ld hl, wd75a - set 0, [hl] + SetEvent EVENT_BEAT_CERULEAN_RIVAL ld a, $1 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $ff - ld [wc0ee], a + ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateStart ld a, $1 - ld [$ff8c], a + ld [H_SPRITEINDEX], a call SetSpriteMovementBytesToFF - ld a, [W_XCOORD] + ld a, [wXCoord] cp $14 - jr nz, .asm_195f0 ; 0x195e9 $5 + jr nz, .asm_195f0 ld de, CeruleanCityMovement4 - jr .asm_195f3 ; 0x195ee $3 + jr .asm_195f3 .asm_195f0 ld de, CeruleanCityMovement3 .asm_195f3 ld a, $1 - ld [$ff8c], a + ld [H_SPRITEINDEX], a call MoveSprite ld a, $3 - ld [W_CERULEANCITYCURSCRIPT], a + ld [wCeruleanCityCurScript], a ret -CeruleanCityMovement3: ; 19600 (6:5600) - db $80,$00,$00,$00,$00,$00,$00,$FF - -CeruleanCityMovement4: ; 19608 (6:5608) - db $c0,$00,$00,$00,$00,$00,$00,$FF - -CeruleanCityScript3: ; 19610 (6:5610) +CeruleanCityMovement3: + db NPC_MOVEMENT_LEFT + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db $FF + +CeruleanCityMovement4: + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db $FF + +CeruleanCityScript3: ld a, [wd730] bit 0, a ret nz ld a, HS_CERULEAN_RIVAL - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject xor a ld [wJoyIgnore], a call PlayDefaultMusic ld a, $0 - ld [W_CERULEANCITYCURSCRIPT], a + ld [wCeruleanCityCurScript], a ret -CeruleanCityTextPointers: ; 1962d (6:562d) +CeruleanCityTextPointers: dw CeruleanCityText1 dw CeruleanCityText2 dw CeruleanCityText3 @@ -233,43 +246,41 @@ CeruleanCityTextPointers: ; 1962d (6:562d) dw CeruleanCityText16 dw CeruleanCityText17 -CeruleanCityText1: ; 1964f (6:564f) - db $08 ; asm - ld a, [wd75a] ; rival battle flag - bit 0, a +CeruleanCityText1: + TX_ASM + CheckEvent EVENT_BEAT_CERULEAN_RIVAL ; do pre-battle text jr z, .PreBattleText ; or talk about bill ld hl, CeruleanCityText_19677 call PrintText - jr .end ; 0x1965d -.PreBattleText ; 0x1965f + jr .end +.PreBattleText ld hl, CeruleanCityText_19668 call PrintText -.end ; 0x19665 +.end jp TextScriptEnd -CeruleanCityText_19668: ; 19668 (6:5668) +CeruleanCityText_19668: TX_FAR _CeruleanCityText_19668 db "@" -CeruleanCityText_1966d: ; 1966d (6:566d) +CeruleanCityText_1966d: TX_FAR _CeruleanCityText_1966d db "@" -CeruleanCityText_19672: ; 19672 (6:5672) +CeruleanCityText_19672: TX_FAR _CeruleanCityText_19672 db "@" -CeruleanCityText_19677: ; 19677 (6:5677) +CeruleanCityText_19677: TX_FAR _CeruleanCityText_19677 db "@" -CeruleanCityText2: ; 1967c (6:567c) - db $8 - ld a, [wd75b] - bit 7, a - jr nz, .asm_4ca20 ; 0x19682 $29 +CeruleanCityText2: + TX_ASM + CheckEvent EVENT_BEAT_CERULEAN_ROCKET_THIEF + jr nz, .asm_4ca20 ld hl, CeruleanCityText_196d9 call PrintText ld hl, wd72d @@ -278,17 +289,17 @@ CeruleanCityText2: ; 1967c (6:567c) ld hl, CeruleanCityText_196ee ld de, CeruleanCityText_196ee call SaveEndBattleTextPointers - ld a, [$ff8c] + ld a, [hSpriteIndexOrTextID] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters ld a, $4 - ld [W_CERULEANCITYCURSCRIPT], a + ld [wCeruleanCityCurScript], a jp TextScriptEnd -.asm_4ca20 ; 0x196ad +.asm_4ca20 ld hl, CeruleanCityText_196f3 call PrintText - ld bc, (TM_28 << 8) + 1 + lb bc, TM_28, 1 call GiveItem jr c, .Success ld hl, TM28NoRoomText @@ -299,143 +310,144 @@ CeruleanCityText2: ; 1967c (6:567c) ld [wDoNotWaitForButtonPressAfterDisplayingText], a ld hl, ReceivedTM28Text call PrintText - callba Func_74872 + callba CeruleanHideRocket .Done jp TextScriptEnd -CeruleanCityText_196d9: ; 196d9 (6:56d9) +CeruleanCityText_196d9: TX_FAR _CeruleanCityText_196d9 db "@" -ReceivedTM28Text: ; 196de (6:56de) +ReceivedTM28Text: TX_FAR _ReceivedTM28Text - db $0B + TX_SFX_ITEM_1 TX_FAR _ReceivedTM28Text2 - db $0D, "@" + TX_WAIT + db "@" -TM28NoRoomText: ; 196e9 (6:56e9) +TM28NoRoomText: TX_FAR _TM28NoRoomText db "@" -CeruleanCityText_196ee: ; 196ee (6:56ee) +CeruleanCityText_196ee: TX_FAR _CeruleanCityText_196ee db "@" -CeruleanCityText_196f3: ; 196f3 (6:56f3) +CeruleanCityText_196f3: TX_FAR _CeruleanCityText_196f3 db "@" -CeruleanCityText3: ; 196f8 (6:56f8) +CeruleanCityText3: TX_FAR _CeruleanCityText3 db "@" -CeruleanCityText4: ; 196fd (6:56fd) +CeruleanCityText4: TX_FAR _CeruleanCityText4 db "@" -CeruleanCityText5: ; 19702 (6:5702) +CeruleanCityText5: TX_FAR _CeruleanCityText5 db "@" -CeruleanCityText11: ; 19707 (6:5707) -CeruleanCityText6: ; 19707 (6:5707) +CeruleanCityText11: +CeruleanCityText6: TX_FAR _CeruleanCityText6 db "@" -CeruleanCityText7: ; 1970c (6:570c) - db $08 ; asm - ldh a, [$d3] - cp $b4 - jr c, .asm_e9fc9 ; 0x19711 +CeruleanCityText7: + TX_ASM + ld a, [hRandomAdd] + cp 180 + jr c, .asm_e9fc9 ld hl, CeruleanCityText_19730 call PrintText - jr .asm_d486e ; 0x19719 -.asm_e9fc9 ; 0x1971b - cp $64 - jr c, .asm_df99b ; 0x1971d + jr .asm_d486e +.asm_e9fc9 + cp 100 + jr c, .asm_df99b ld hl, CeruleanCityText_19735 call PrintText - jr .asm_d486e ; 0x19725 -.asm_df99b ; 0x19727 + jr .asm_d486e +.asm_df99b ld hl, CeruleanCityText_1973a call PrintText -.asm_d486e ; 0x1972d +.asm_d486e jp TextScriptEnd -CeruleanCityText_19730: ; 19730 (6:5730) +CeruleanCityText_19730: TX_FAR _CeruleanCityText_19730 db "@" -CeruleanCityText_19735: ; 19735 (6:5735) +CeruleanCityText_19735: TX_FAR _CeruleanCityText_19735 db "@" -CeruleanCityText_1973a: ; 1973a (6:573a) +CeruleanCityText_1973a: TX_FAR _CeruleanCityText_1973a db "@" -CeruleanCityText8: ; 1973f (6:573f) - db $08 ; asm - ldh a, [$d3] - cp $b4 - jr c, .asm_e28da ; 0x19744 +CeruleanCityText8: + TX_ASM + ld a, [hRandomAdd] + cp 180 + jr c, .asm_e28da ld hl, CeruleanCityText_1976f call PrintText - jr .asm_f2f38 ; 0x1974c -.asm_e28da ; 0x1974e - cp $78 - jr c, .asm_15d08 ; 0x19750 + jr .asm_f2f38 +.asm_e28da + cp 120 + jr c, .asm_15d08 ld hl, CeruleanCityText_19774 call PrintText - jr .asm_f2f38 ; 0x19758 -.asm_15d08 ; 0x1975a - cp $3c - jr c, .asm_d7fea ; 0x1975c + jr .asm_f2f38 +.asm_15d08 + cp 60 + jr c, .asm_d7fea ld hl, CeruleanCityText_19779 call PrintText - jr .asm_f2f38 ; 0x19764 -.asm_d7fea ; 0x19766 + jr .asm_f2f38 +.asm_d7fea ld hl, CeruleanCityText_1977e call PrintText -.asm_f2f38 ; 0x1976c +.asm_f2f38 jp TextScriptEnd -CeruleanCityText_1976f: ; 1976f (6:576f) +CeruleanCityText_1976f: TX_FAR _CeruleanCityText_1976f db "@" -CeruleanCityText_19774: ; 19774 (6:5774) +CeruleanCityText_19774: TX_FAR _CeruleanCityText_19774 db "@" -CeruleanCityText_19779: ; 19779 (6:5779) +CeruleanCityText_19779: TX_FAR _CeruleanCityText_19779 db "@" -CeruleanCityText_1977e: ; 1977e (6:577e) +CeruleanCityText_1977e: TX_FAR _CeruleanCityText_1977e db "@" -CeruleanCityText9: ; 19783 (6:5783) +CeruleanCityText9: TX_FAR _CeruleanCityText9 db "@" -CeruleanCityText10: ; 19788 (6:5788) +CeruleanCityText10: TX_FAR _CeruleanCityText10 db "@" -CeruleanCityText12: ; 1978d (6:578d) +CeruleanCityText12: TX_FAR _CeruleanCityText12 db "@" -CeruleanCityText13: ; 19792 (6:5792) +CeruleanCityText13: TX_FAR _CeruleanCityText13 db "@" -CeruleanCityText16: ; 19797 (6:5797) +CeruleanCityText16: TX_FAR _CeruleanCityText16 db "@" -CeruleanCityText17: ; 1979c (6:579c) +CeruleanCityText17: TX_FAR _CeruleanCityText17 db "@" diff --git a/scripts/ceruleancity2.asm b/scripts/ceruleancity2.asm index 72ee4a86..53ace5c8 100755 --- a/scripts/ceruleancity2.asm +++ b/scripts/ceruleancity2.asm @@ -1,16 +1,16 @@ -Func_74872: ; 74872 (1d:4872) +CeruleanHideRocket: ; code similar to this appears in a lot of banks; this particular ; one is called after you beat the Rocket that gives you TM28 DIG. ; the screen then fades out, he disappears, and fades back in call GBFadeOutToBlack ld a, HS_CERULEAN_GUARD_1 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef ShowObject ld a, HS_CERULEAN_GUARD_2 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject ld a, HS_CERULEAN_ROCKET - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject call GBFadeInFromBlack ret diff --git a/scripts/ceruleangym.asm b/scripts/ceruleangym.asm index 079844f3..b82b89f6 100755 --- a/scripts/ceruleangym.asm +++ b/scripts/ceruleangym.asm @@ -1,80 +1,76 @@ -CeruleanGymScript: ; 5c6b3 (17:46b3) - ld hl, wd126 +CeruleanGymScript: + ld hl, wCurrentMapScriptFlags bit 6, [hl] res 6, [hl] call nz, CeruleanGymScript_5c6d0 call EnableAutoTextBoxDrawing - ld hl, CeruleanGymTrainerHeaders + ld hl, CeruleanGymTrainerHeader0 ld de, CeruleanGymScriptPointers - ld a, [W_CERULEANGYMCURSCRIPT] + ld a, [wCeruleanGymCurScript] call ExecuteCurMapScriptInTable - ld [W_CERULEANGYMCURSCRIPT], a + ld [wCeruleanGymCurScript], a ret -CeruleanGymScript_5c6d0: ; 5c6d0 (17:46d0) - ld hl, Gym2CityName ; $46d9 - ld de, Gym2LeaderName ; $46e7 +CeruleanGymScript_5c6d0: + ld hl, Gym2CityName + ld de, Gym2LeaderName jp LoadGymLeaderAndCityName -Gym2CityName: ; 5c6d9 (17:46d9) +Gym2CityName: db "CERULEAN CITY@" -Gym2LeaderName: ; 5c6e7 (17:46e7) +Gym2LeaderName: db "MISTY@" -CeruleanGymScript_5c6ed: ; 5c6ed (17:46ed) +CeruleanGymScript_5c6ed: xor a ld [wJoyIgnore], a - ld [W_CERULEANGYMCURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wCeruleanGymCurScript], a + ld [wCurMapScript], a ret -CeruleanGymScriptPointers: ; 5c6f8 (17:46f8) +CeruleanGymScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle dw CeruleanGymScript3 -CeruleanGymScript3: ; 5c700 (17:4700) - ld a, [W_ISINBATTLE] ; W_ISINBATTLE +CeruleanGymScript3: + ld a, [wIsInBattle] cp $ff jp z, CeruleanGymScript_5c6ed ld a, $f0 ld [wJoyIgnore], a -CeruleanGymScript_5c70d: ; 5c70d (17:470d) +CeruleanGymScript_5c70d: ld a, $5 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a call DisplayTextID - ld hl, wd75e - set 7, [hl] - ld bc, (TM_11 << 8) | 1 + SetEvent EVENT_BEAT_MISTY + lb bc, TM_11, 1 call GiveItem jr nc, .BagFull ld a, $6 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a call DisplayTextID - ld hl, wd75e - set 6, [hl] + SetEvent EVENT_GOT_TM11 jr .asm_5c736 .BagFull ld a, $7 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a call DisplayTextID .asm_5c736 - ld hl, W_OBTAINEDBADGES + ld hl, wObtainedBadges set 1, [hl] - ld hl, wd72a + ld hl, wBeatGymFlags set 1, [hl] ; deactivate gym trainers - ld hl, wd75e - set 2, [hl] - set 3, [hl] + SetEvents EVENT_BEAT_CERULEAN_GYM_TRAINER_0, EVENT_BEAT_CERULEAN_GYM_TRAINER_1 jp CeruleanGymScript_5c6ed -CeruleanGymTextPointers: ; 5c74a (17:474a) +CeruleanGymTextPointers: dw CeruleanGymText1 dw CeruleanGymText2 dw CeruleanGymText3 @@ -83,42 +79,40 @@ CeruleanGymTextPointers: ; 5c74a (17:474a) dw CeruleanGymText6 dw CeruleanGymText7 -CeruleanGymTrainerHeaders: ; 5c758 (17:4758) -CeruleanGymTrainerHeader0: ; 5c758 (17:4758) - db $2 ; flag's bit +CeruleanGymTrainerHeader0: + dbEventFlagBit EVENT_BEAT_CERULEAN_GYM_TRAINER_0 db ($3 << 4) ; trainer's view range - dw wd75e ; flag's byte - dw CeruleanGymBattleText1 ; 0x47e9 TextBeforeBattle - dw CeruleanGymAfterBattleText1 ; 0x47f3 TextAfterBattle - dw CeruleanGymEndBattleText1 ; 0x47ee TextEndBattle - dw CeruleanGymEndBattleText1 ; 0x47ee TextEndBattle - -CeruleanGymTrainerHeader1: ; 5c764 (17:4764) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_CERULEAN_GYM_TRAINER_0 + dw CeruleanGymBattleText1 ; TextBeforeBattle + dw CeruleanGymAfterBattleText1 ; TextAfterBattle + dw CeruleanGymEndBattleText1 ; TextEndBattle + dw CeruleanGymEndBattleText1 ; TextEndBattle + +CeruleanGymTrainerHeader1: + dbEventFlagBit EVENT_BEAT_CERULEAN_GYM_TRAINER_1 db ($3 << 4) ; trainer's view range - dw wd75e ; flag's byte - dw CeruleanGymBattleText2 ; 0x4802 TextBeforeBattle - dw CeruleanGymAfterBattleText2 ; 0x480c TextAfterBattle - dw CeruleanGymEndBattleText2 ; 0x4807 TextEndBattle - dw CeruleanGymEndBattleText2 ; 0x4807 TextEndBattle + dwEventFlagAddress EVENT_BEAT_CERULEAN_GYM_TRAINER_1 + dw CeruleanGymBattleText2 ; TextBeforeBattle + dw CeruleanGymAfterBattleText2 ; TextAfterBattle + dw CeruleanGymEndBattleText2 ; TextEndBattle + dw CeruleanGymEndBattleText2 ; TextEndBattle db $ff -CeruleanGymText1: ; 5c771 (17:4771) - db $08 ; asm - ld a, [wd75e] - bit 7, a - jr z, .asm_10854 ; 0x5c777 - bit 6, a - jr nz, .asm_37a1b ; 0x5c77b +CeruleanGymText1: + TX_ASM + CheckEvent EVENT_BEAT_MISTY + jr z, .asm_5c78d + CheckEventReuseA EVENT_GOT_TM11 + jr nz, .asm_5c785 call z, CeruleanGymScript_5c70d call DisableWaitingAfterTextDisplay - jr .asm_95b04 ; 0x5c783 -.asm_37a1b ; 0x5c785 + jr .asm_5c7bb +.asm_5c785 ld hl, CeruleanGymText_5c7c3 call PrintText - jr .asm_95b04 ; 0x5c78b -.asm_10854 ; 0x5c78d + jr .asm_5c7bb +.asm_5c78d ld hl, CeruleanGymText_5c7be call PrintText ld hl, wd72d @@ -127,98 +121,99 @@ CeruleanGymText1: ; 5c771 (17:4771) ld hl, CeruleanGymText_5c7d8 ld de, CeruleanGymText_5c7d8 call SaveEndBattleTextPointers - ldh a, [$8c] + ld a, [H_SPRITEINDEX] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters ld a, $2 - ld [W_GYMLEADERNO], a + ld [wGymLeaderNo], a xor a - ldh [$b4], a + ld [hJoyHeld], a ld a, $3 - ld [W_CERULEANGYMCURSCRIPT], a -.asm_95b04 ; 0x5c7bb + ld [wCeruleanGymCurScript], a +.asm_5c7bb jp TextScriptEnd -CeruleanGymText_5c7be: ; 5c7be (17:47be) +CeruleanGymText_5c7be: TX_FAR _CeruleanGymText_5c7be db "@" -CeruleanGymText_5c7c3: ; 5c7c3 (17:47c3) +CeruleanGymText_5c7c3: TX_FAR _CeruleanGymText_5c7c3 db "@" -CeruleanGymText5: ; 5c7c8 (17:47c8) +CeruleanGymText5: TX_FAR _CeruleanGymText_5c7c8 db "@" -CeruleanGymText6: ; 5c7cd (17:47cd) -ReceivedTM11Text: ; 5c7cd (17:47cd) +CeruleanGymText6: TX_FAR _ReceivedTM11Text - db $0B, "@" + TX_SFX_ITEM_1 + db "@" -CeruleanGymText7: ; 5c7d3 (17:47d3) +CeruleanGymText7: TX_FAR _CeruleanGymText_5c7d3 db "@" -CeruleanGymText_5c7d8: ; 5c7d8 (17:47d8) +CeruleanGymText_5c7d8: TX_FAR _CeruleanGymText_5c7d8 - db $11, $6, "@" + TX_SFX_KEY_ITEM ; actually plays the second channel of SFX_BALL_POOF due to the wrong music bank being loaded + TX_BLINK + db "@" -CeruleanGymText2: ; 5c7df (17:47df) - db $08 ; asm +CeruleanGymText2: + TX_ASM ld hl, CeruleanGymTrainerHeader0 call TalkToTrainer jp TextScriptEnd -CeruleanGymBattleText1: ; 5c7e9 (17:47e9) +CeruleanGymBattleText1: TX_FAR _CeruleanGymBattleText1 db "@" -CeruleanGymEndBattleText1: ; 5c7ee (17:47ee) +CeruleanGymEndBattleText1: TX_FAR _CeruleanGymEndBattleText1 db "@" -CeruleanGymAfterBattleText1: ; 5c7f3 (17:47f3) +CeruleanGymAfterBattleText1: TX_FAR _CeruleanGymAfterBattleText1 db "@" -CeruleanGymText3: ; 5c7f8 (17:47f8) - db $08 ; asm +CeruleanGymText3: + TX_ASM ld hl, CeruleanGymTrainerHeader1 call TalkToTrainer jp TextScriptEnd -CeruleanGymBattleText2: ; 5c802 (17:4802) +CeruleanGymBattleText2: TX_FAR _CeruleanGymBattleText2 db "@" -CeruleanGymEndBattleText2: ; 5c807 (17:4807) +CeruleanGymEndBattleText2: TX_FAR _CeruleanGymEndBattleText2 db "@" -CeruleanGymAfterBattleText2: ; 5c80c (17:480c) +CeruleanGymAfterBattleText2: TX_FAR _CeruleanGymAfterBattleText2 db "@" -CeruleanGymText4: ; 5c811 (17:4811) - db $08 ; asm - ld a, [wd75e] - bit 7, a - jr nz, .asm_f80ce ; 0x5c817 +CeruleanGymText4: + TX_ASM + CheckEvent EVENT_BEAT_MISTY + jr nz, .asm_5c821 ld hl, CeruleanGymText_5c82a call PrintText - jr .asm_18a31 ; 0x5c81f -.asm_f80ce ; 0x5c821 + jr .asm_5c827 +.asm_5c821 ld hl, CeruleanGymText_5c82f call PrintText -.asm_18a31 ; 0x5c827 +.asm_5c827 jp TextScriptEnd -CeruleanGymText_5c82a: ; 5c82a (17:482a) +CeruleanGymText_5c82a: TX_FAR _CeruleanGymText_5c82a db "@" -CeruleanGymText_5c82f: ; 5c82f (17:482f) +CeruleanGymText_5c82f: TX_FAR _CeruleanGymText_5c82f db "@" diff --git a/scripts/ceruleanhouse1.asm b/scripts/ceruleanhouse1.asm index 4b6a240a..181a22c3 100755 --- a/scripts/ceruleanhouse1.asm +++ b/scripts/ceruleanhouse1.asm @@ -1,16 +1,16 @@ -CeruleanHouse1Script: ; 1d6f6 (7:56f6) +CeruleanHouse1Script: jp EnableAutoTextBoxDrawing -CeruleanHouse1TextPointers: ; 1d6f9 (7:56f9) +CeruleanHouse1TextPointers: dw CeruleanHouse1Text1 dw CeruleanHouse1Text2 -CeruleanHouse1Text1: ; 1d6fd (7:56fd) +CeruleanHouse1Text1: TX_FAR _CeruleanHouse1Text1 db "@" -CeruleanHouse1Text2: ; 1d702 (7:5702) - db $08 ; asm +CeruleanHouse1Text2: + TX_ASM ld a, $6 ld [wWhichTrade], a predef DoInGameTradeDialogue diff --git a/scripts/ceruleanhouse2.asm b/scripts/ceruleanhouse2.asm index a40d9224..e83c2194 100755 --- a/scripts/ceruleanhouse2.asm +++ b/scripts/ceruleanhouse2.asm @@ -1,15 +1,15 @@ -CeruleanHouse2Script: ; 74e09 (1d:4e09) +CeruleanHouse2Script: ld a, $1 ld [wAutoTextBoxDrawingControl], a dec a ld [wDoNotWaitForButtonPressAfterDisplayingText], a ret -CeruleanHouse2TextPointers: ; 74e13 (1d:4e13) +CeruleanHouse2TextPointers: dw CeruleanHouse2Text1 -CeruleanHouse2Text1: ; 74e15 (1d:4e15) - db $8 +CeruleanHouse2Text1: + TX_ASM ld hl, CeruleanHouse2Text_74e77 call PrintText xor a @@ -20,18 +20,18 @@ CeruleanHouse2Text1: ; 74e15 (1d:4e15) call PrintText ld hl, BadgeItemList call LoadItemList - ld hl, wStringBuffer2 + 11 + ld hl, wItemList ld a, l - ld [wList], a + ld [wListPointer], a ld a, h - ld [wList + 1], a + ld [wListPointer + 1], a xor a - ld [wcf93], a + ld [wPrintItemPrices], a ld [wMenuItemToSwap], a ld a, SPECIALLISTMENU ld [wListMenuID], a call DisplayListMenuID - jr c, .asm_74e60 ; 0x74e49 $15 + jr c, .asm_74e60 ld hl, TextPointers_74e86 ld a, [wcf91] sub $15 @@ -43,7 +43,7 @@ CeruleanHouse2Text1: ; 74e15 (1d:4e15) ld h, [hl] ld l, a call PrintText - jr .asm_74e23 ; 0x74e5e $c3 + jr .asm_74e23 .asm_74e60 xor a ld [wListScrollOffset], a @@ -51,22 +51,22 @@ CeruleanHouse2Text1: ; 74e15 (1d:4e15) call PrintText jp TextScriptEnd -BadgeItemList: ; 74e6d (1d:4e6d) +BadgeItemList: db $8,BOULDERBADGE,CASCADEBADGE,THUNDERBADGE,RAINBOWBADGE,SOULBADGE,MARSHBADGE,VOLCANOBADGE,EARTHBADGE,$FF -CeruleanHouse2Text_74e77: ; 74e77 (1d:4e77) +CeruleanHouse2Text_74e77: TX_FAR _CeruleanHouse2Text_74e77 db "@" -CeruleanHouse2Text_74e7c: ; 74e7c (1d:4e7c) +CeruleanHouse2Text_74e7c: TX_FAR _CeruleanHouse2Text_74e7c db "@" -CeruleanHouse2Text_74e81: ; 74e81 (1d:4e81) +CeruleanHouse2Text_74e81: TX_FAR _CeruleanHouse2Text_74e81 db "@" -TextPointers_74e86: ; 74e86 (1d:4e86) +TextPointers_74e86: dw CeruleanHouse2Text_74e96 dw CeruleanHouse2Text_74e9b dw CeruleanHouse2Text_74ea0 @@ -76,34 +76,34 @@ TextPointers_74e86: ; 74e86 (1d:4e86) dw CeruleanHouse2Text_74eb4 dw CeruleanHouse2Text_74eb9 -CeruleanHouse2Text_74e96: ; 74e96 (1d:4e96) +CeruleanHouse2Text_74e96: TX_FAR _CeruleanHouse2Text_74e96 db "@" -CeruleanHouse2Text_74e9b: ; 74e9b (1d:4e9b) +CeruleanHouse2Text_74e9b: TX_FAR _CeruleanHouse2Text_74e9b db "@" -CeruleanHouse2Text_74ea0: ; 74ea0 (1d:4ea0) +CeruleanHouse2Text_74ea0: TX_FAR _CeruleanHouse2Text_74ea0 db "@" -CeruleanHouse2Text_74ea5: ; 74ea5 (1d:4ea5) +CeruleanHouse2Text_74ea5: TX_FAR _CeruleanHouse2Text_74ea5 db "@" -CeruleanHouse2Text_74eaa: ; 74eaa (1d:4eaa) +CeruleanHouse2Text_74eaa: TX_FAR _CeruleanHouse2Text_74eaa db "@" -CeruleanHouse2Text_74eaf: ; 74eaf (1d:4eaf) +CeruleanHouse2Text_74eaf: TX_FAR _CeruleanHouse2Text_74eaf db "@" -CeruleanHouse2Text_74eb4: ; 74eb4 (1d:4eb4) +CeruleanHouse2Text_74eb4: TX_FAR _CeruleanHouse2Text_74eb4 db "@" -CeruleanHouse2Text_74eb9: ; 74eb9 (1d:4eb9) +CeruleanHouse2Text_74eb9: TX_FAR _CeruleanHouse2Text_74eb9 db "@" diff --git a/scripts/ceruleanhousetrashed.asm b/scripts/ceruleanhousetrashed.asm index ee60cda7..da848b7c 100755 --- a/scripts/ceruleanhousetrashed.asm +++ b/scripts/ceruleanhousetrashed.asm @@ -1,39 +1,39 @@ -CeruleanHouseTrashedScript: ; 1d685 (7:5685) +CeruleanHouseTrashedScript: call EnableAutoTextBoxDrawing ret -CeruleanHouseTrashedTextPointers: ; 1d689 (7:5689) +CeruleanHouseTrashedTextPointers: dw CeruleanHouseTrashedText1 dw CeruleanHouseTrashedText2 dw CeruleanHouseTrashedText3 -CeruleanHouseTrashedText1: ; 1d68f (7:568f) - db $08 ; asm +CeruleanHouseTrashedText1: + TX_ASM ld b, $e4 - predef IsItemInBag_ + predef GetQuantityOfItemInBag and b - jr z, .asm_f8734 ; 0x1d698 + jr z, .asm_f8734 ld hl, CeruleanHouseTrashedText_1d6b0 call PrintText - jr .asm_8dfe9 ; 0x1d6a0 -.asm_f8734 ; 0x1d6a2 + jr .asm_8dfe9 +.asm_f8734 ld hl, CeruleanHouseTrashedText_1d6ab call PrintText -.asm_8dfe9 ; 0x1d6a8 +.asm_8dfe9 jp TextScriptEnd -CeruleanHouseTrashedText_1d6ab: ; 1d6ab (7:56ab) +CeruleanHouseTrashedText_1d6ab: TX_FAR _CeruleanTrashedText_1d6ab db "@" -CeruleanHouseTrashedText_1d6b0: ; 1d6b0 (7:56b0) +CeruleanHouseTrashedText_1d6b0: TX_FAR _CeruleanTrashedText_1d6b0 db "@" -CeruleanHouseTrashedText2: ; 1d6b5 (7:56b5) +CeruleanHouseTrashedText2: TX_FAR _CeruleanHouseTrashedText2 db "@" -CeruleanHouseTrashedText3: ; 1d6ba (7:56ba) +CeruleanHouseTrashedText3: TX_FAR _CeruleanHouseTrashedText3 db "@" diff --git a/scripts/ceruleanmart.asm b/scripts/ceruleanmart.asm index 7aea6d47..76d83f90 100755 --- a/scripts/ceruleanmart.asm +++ b/scripts/ceruleanmart.asm @@ -1,15 +1,15 @@ -CeruleanMartScript: ; 5c895 (17:4895) +CeruleanMartScript: jp EnableAutoTextBoxDrawing -CeruleanMartTextPointers: ; 5c898 (17:4898) - dw CeruleanMartText1 +CeruleanMartTextPointers: + dw CeruleanCashierText dw CeruleanMartText2 dw CeruleanMartText3 -CeruleanMartText2: ; 5c89e (17:489e) +CeruleanMartText2: TX_FAR _CeruleanMartText2 db "@" -CeruleanMartText3: ; 5c8a3 (17:48a3) +CeruleanMartText3: TX_FAR _CeruleanMartText3 db "@" diff --git a/scripts/ceruleanpokecenter.asm b/scripts/ceruleanpokecenter.asm index 5d888317..b758f497 100755 --- a/scripts/ceruleanpokecenter.asm +++ b/scripts/ceruleanpokecenter.asm @@ -1,23 +1,23 @@ -CeruleanPokecenterScript: ; 5c645 (17:4645) +CeruleanPokecenterScript: call Serial_TryEstablishingExternallyClockedConnection jp EnableAutoTextBoxDrawing -CeruleanPokecenterTextPointers: ; 5c64b (17:464b) - dw CeruleanPokecenterText1 +CeruleanPokecenterTextPointers: + dw CeruleanHealNurseText dw CeruleanPokecenterText2 dw CeruleanPokecenterText3 - dw CeruleanPokecenterText4 + dw CeruleanTradeNurseText -CeruleanPokecenterText4: ; 5c653 (17:4653) - db $f6 +CeruleanTradeNurseText: + TX_CABLE_CLUB_RECEPTIONIST -CeruleanPokecenterText1: ; 5c654 (17:4654) - db $ff +CeruleanHealNurseText: + TX_POKECENTER_NURSE -CeruleanPokecenterText2: ; 5c655 (17:4655) - TX_FAR _CeruleanPokecenterText1 +CeruleanPokecenterText2: + TX_FAR _CeruleanPokecenterText2 db "@" -CeruleanPokecenterText3: ; 5c65a (17:465a) +CeruleanPokecenterText3: TX_FAR _CeruleanPokecenterText3 db "@" diff --git a/scripts/cinnabargym.asm b/scripts/cinnabargym.asm index 48133c52..8af7bbd3 100755 --- a/scripts/cinnabargym.asm +++ b/scripts/cinnabargym.asm @@ -1,12 +1,12 @@ -CinnabarGymScript: ; 7574a (1d:574a) +CinnabarGymScript: call CinnabarGymScript_75759 call EnableAutoTextBoxDrawing ld hl, CinnabarGymScriptPointers - ld a, [W_CINNABARGYMCURSCRIPT] + ld a, [wCinnabarGymCurScript] jp CallFunctionInTable -CinnabarGymScript_75759: ; 75759 (1d:5759) - ld hl, wd126 +CinnabarGymScript_75759: + ld hl, wCurrentMapScriptFlags bit 6, [hl] res 6, [hl] push hl @@ -14,164 +14,163 @@ CinnabarGymScript_75759: ; 75759 (1d:5759) pop hl bit 5, [hl] res 5, [hl] - call nz, Func_3ead - ld hl, wd79b - res 7, [hl] + call nz, UpdateCinnabarGymGateTileBlocks + ResetEvent EVENT_2A7 ret -CinnabarGymScript_75772: ; 75772 (1d:5772) +CinnabarGymScript_75772: ld hl, Gym7CityName ld de, Gym7LeaderName jp LoadGymLeaderAndCityName -Gym7CityName: ; 7577b (1d:577b) +Gym7CityName: db "CINNABAR ISLAND@" -Gym7LeaderName: ; 7578b (1d:578b) +Gym7LeaderName: db "BLAINE@" -CinnabarGymScript_75792: ; 75792 (1d:5792) +CinnabarGymScript_75792: xor a ld [wJoyIgnore], a - ld [W_CINNABARGYMCURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ld [wda38], a + ld [wCinnabarGymCurScript], a + ld [wCurMapScript], a + ld [wOpponentAfterWrongAnswer], a ret -CinnabarGymScript_757a0: ; 757a0 (1d:57a0) - ld a, [H_DOWNARROWBLINKCNT2] ; $ff8c +CinnabarGymScript_757a0: + ld a, [hSpriteIndexOrTextID] ld [wTrainerHeaderFlagBit], a ret -CinnabarGymScriptPointers: ; 757a6 (1d:57a6) +CinnabarGymScriptPointers: dw CinnabarGymScript0 dw CinnabarGymScript1 dw CinnabarGymScript2 dw CinnabarGymScript3 -CinnabarGymScript0: ; 757ae (1d:57ae) - ld a, [wda38] +CinnabarGymScript0: + ld a, [wOpponentAfterWrongAnswer] and a ret z - ld [$ff8c], a + ld [H_SPRITEINDEX], a cp $4 - jr nz, .asm_757c3 ; 0x757b7 $a - ld a, $4 - ld [wd528], a + jr nz, .asm_757c3 + ld a, PLAYER_DIR_DOWN + ld [wPlayerMovingDirection], a ld de, MovementData_757d7 - jr .asm_757cb ; 0x757c1 $8 + jr .asm_757cb .asm_757c3 ld de, MovementData_757da - ld a, $1 - ld [wd528], a + ld a, PLAYER_DIR_RIGHT + ld [wPlayerMovingDirection], a .asm_757cb call MoveSprite ld a, $1 - ld [W_CINNABARGYMCURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wCinnabarGymCurScript], a + ld [wCurMapScript], a ret -MovementData_757d7: ; 757d7 (1d:57d7) - db $80,$40,$FF +MovementData_757d7: + db NPC_MOVEMENT_LEFT + db NPC_MOVEMENT_UP + db $FF -MovementData_757da: ; 757da (1d:57da) - db $80,$FF +MovementData_757da: + db NPC_MOVEMENT_LEFT + db $FF -CinnabarGymScript1: ; 757dc (1d:57dc) +CinnabarGymScript1: ld a, [wd730] bit 0, a ret nz xor a ld [wJoyIgnore], a - ld a, [wda38] + ld a, [wOpponentAfterWrongAnswer] ld [wTrainerHeaderFlagBit], a - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a jp DisplayTextID -CinnabarGymScript_757f1: ; 757f1 (1d:57f1) +CinnabarGymFlagAction: predef_jump FlagActionPredef -CinnabarGymScript2: ; 757f6 (1d:57f6) - ld a, [W_ISINBATTLE] +CinnabarGymScript2: + ld a, [wIsInBattle] cp $ff jp z, CinnabarGymScript_75792 ld a, [wTrainerHeaderFlagBit] ld [$ffdb], a + AdjustEventBit EVENT_BEAT_CINNABAR_GYM_TRAINER_0, 2 ld c, a - ld b, $2 - ld hl, wd79a - call CinnabarGymScript_757f1 + ld b, FLAG_TEST + EventFlagAddress hl, EVENT_BEAT_CINNABAR_GYM_TRAINER_0 + call CinnabarGymFlagAction ld a, c and a - jr nz, .asm_7581b ; 0x7580e $b + jr nz, .asm_7581b call WaitForSoundToFinish - ld a, (SFX_02_57 - SFX_Headers_02) / 3 + ld a, SFX_GO_INSIDE call PlaySound call WaitForSoundToFinish .asm_7581b ld a, [wTrainerHeaderFlagBit] ld [$ffdb], a + AdjustEventBit EVENT_BEAT_CINNABAR_GYM_TRAINER_0, 2 ld c, a - ld b, $1 - ld hl, wd79a - call CinnabarGymScript_757f1 + ld b, FLAG_SET + EventFlagAddress hl, EVENT_BEAT_CINNABAR_GYM_TRAINER_0 + call CinnabarGymFlagAction ld a, [wTrainerHeaderFlagBit] sub $2 + AdjustEventBit EVENT_CINNABAR_GYM_GATE0_UNLOCKED, 0 ld c, a - ld b, $1 - ld hl, wd79c - call CinnabarGymScript_757f1 - call Func_3ead + ld b, FLAG_SET + EventFlagAddress hl, EVENT_CINNABAR_GYM_GATE0_UNLOCKED + call CinnabarGymFlagAction + call UpdateCinnabarGymGateTileBlocks xor a ld [wJoyIgnore], a - ld [wda38], a + ld [wOpponentAfterWrongAnswer], a ld a, $0 - ld [W_CINNABARGYMCURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wCinnabarGymCurScript], a + ld [wCurMapScript], a ret -CinnabarGymScript3: ; 7584a (1d:584a) - ld a, [W_ISINBATTLE] +CinnabarGymScript3: + ld a, [wIsInBattle] cp $ff jp z, CinnabarGymScript_75792 ld a, $f0 ld [wJoyIgnore], a -CinnabarGymScript3_75857: ; 75857 (1d:5857) +CinnabarGymScript3_75857: ld a, $a - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID - ld hl, wd79a - set 1, [hl] - ld bc, (TM_38 << 8) | 1 + SetEvent EVENT_BEAT_BLAINE + lb bc, TM_38, 1 call GiveItem jr nc, .BagFull ld a, $b - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID - ld hl, wd79a - set 0, [hl] - jr .asm_75880 ; 0x75877 $7 + SetEvent EVENT_GOT_TM38 + jr .asm_75880 .BagFull ld a, $c - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID .asm_75880 - ld hl, W_OBTAINEDBADGES + ld hl, wObtainedBadges set 6, [hl] - ld hl, wd72a + ld hl, wBeatGymFlags set 6, [hl] ; deactivate gym trainers - ld a, [wd79a] - or %11111100 - ld [wd79a], a - ld hl, wd79b - set 0, [hl] + SetEventRange EVENT_BEAT_CINNABAR_GYM_TRAINER_0, EVENT_BEAT_CINNABAR_GYM_TRAINER_6 - ld hl, wd126 + ld hl, wCurrentMapScriptFlags set 5, [hl] jp CinnabarGymScript_75792 -CinnabarGymTextPointers: ; 7589f (1d:589f) +CinnabarGymTextPointers: dw CinnabarGymText1 dw CinnabarGymText2 dw CinnabarGymText3 @@ -185,8 +184,8 @@ CinnabarGymTextPointers: ; 7589f (1d:589f) dw ReceivedTM38Text dw TM38NoRoomText -CinnabarGymScript_758b7: ; 758b7 (1d:58b7) - ld a, [H_DOWNARROWBLINKCNT2] ; $ff8c +CinnabarGymScript_758b7: + ld a, [hSpriteIndexOrTextID] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters @@ -201,282 +200,273 @@ CinnabarGymScript_758b7: ; 758b7 (1d:58b7) .asm_758d4 ld a, $3 .asm_758d6 - ld [W_CINNABARGYMCURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wCinnabarGymCurScript], a + ld [wCurMapScript], a jp TextScriptEnd -CinnabarGymText1: ; 758df (1d:58df) - db $8 - ld a, [wd79a] - bit 1, a - jr z, .asm_d9332 ; 0x758e5 $16 - bit 0, a - jr nz, .asm_3012f ; 0x758e9 $9 +CinnabarGymText1: + TX_ASM + CheckEvent EVENT_BEAT_BLAINE + jr z, .asm_d9332 + CheckEventReuseA EVENT_GOT_TM38 + jr nz, .asm_3012f call z, CinnabarGymScript3_75857 call DisableWaitingAfterTextDisplay jp TextScriptEnd -.asm_3012f ; 0x758f4 +.asm_3012f ld hl, BlaineFireBlastText call PrintText jp TextScriptEnd -.asm_d9332 ; 0x758fd +.asm_d9332 ld hl, BlaineBattleText call PrintText ld hl, BlaineEndBattleText ld de, BlaineEndBattleText call SaveEndBattleTextPointers ld a, $7 - ld [W_GYMLEADERNO], a + ld [wGymLeaderNo], a jp CinnabarGymScript_758b7 -BlaineBattleText: ; 75914 (1d:5914) +BlaineBattleText: TX_FAR _BlaineBattleText db "@" -BlaineEndBattleText: ; 75919 (1d:5919) +BlaineEndBattleText: TX_FAR _BlaineEndBattleText - db $11 - db $d + TX_SFX_KEY_ITEM ; actually plays the second channel of SFX_BALL_POOF due to the wrong music bank being loaded + TX_WAIT db "@" -BlaineFireBlastText: ; 75920 (1d:5920) +BlaineFireBlastText: TX_FAR _BlaineFireBlastText db "@" -BlaineBadgeText: ; 75925 (1d:5925) +BlaineBadgeText: TX_FAR _BlaineBadgeText db "@" -ReceivedTM38Text: ; 7592a (1d:592a) +ReceivedTM38Text: TX_FAR _ReceivedTM38Text - db $0B + TX_SFX_ITEM_1 TX_FAR _TM38ExplanationText db "@" -TM38NoRoomText: ; 75934 (1d:5934) +TM38NoRoomText: TX_FAR _TM38NoRoomText db "@" -CinnabarGymText2: ; 75939 (1d:5939) - db $08 ; asm +CinnabarGymText2: + TX_ASM call CinnabarGymScript_757a0 - ld a, [wd79a] - bit 2, a - jr nz, .asm_46bb4 ; 0x75942 + CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_0 + jr nz, .asm_46bb4 ld hl, CinnabarGymText_7595f call PrintText ld hl, CinnabarGymText_75964 - ld de, CinnabarGymText_75964 ; $5964 XXX + ld de, CinnabarGymText_75964 call SaveEndBattleTextPointers jp CinnabarGymScript_758b7 -.asm_46bb4 ; 0x75956 +.asm_46bb4 ld hl, CinnabarGymText_75969 call PrintText jp TextScriptEnd -CinnabarGymText_7595f: ; 7595f (1d:595f) +CinnabarGymText_7595f: TX_FAR _CinnabarGymText_7595f db "@" -CinnabarGymText_75964: ; 75964 (1d:5964) +CinnabarGymText_75964: TX_FAR _CinnabarGymText_75964 db "@" -CinnabarGymText_75969: ; 75969 (1d:5969) +CinnabarGymText_75969: TX_FAR _CinnabarGymText_75969 db "@" -CinnabarGymText3: ; 7596e (1d:596e) - db $08 ; asm +CinnabarGymText3: + TX_ASM call CinnabarGymScript_757a0 - ld a, [wd79a] - bit 3, a - jr nz, .asm_4b406 ; 0x75977 + CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_1 + jr nz, .asm_4b406 ld hl, CinnabarGymText_75994 call PrintText ld hl, CinnabarGymText_75999 - ld de, CinnabarGymText_75999 ; $5999 XXX + ld de, CinnabarGymText_75999 call SaveEndBattleTextPointers jp CinnabarGymScript_758b7 -.asm_4b406 ; 0x7598b +.asm_4b406 ld hl, CinnabarGymText_7599e call PrintText jp TextScriptEnd -CinnabarGymText_75994: ; 75994 (1d:5994) +CinnabarGymText_75994: TX_FAR _CinnabarGymText_75994 db "@" -CinnabarGymText_75999: ; 75999 (1d:5999) +CinnabarGymText_75999: TX_FAR _CinnabarGymText_75999 db "@" -CinnabarGymText_7599e: ; 7599e (1d:599e) +CinnabarGymText_7599e: TX_FAR _CinnabarGymText_7599e db "@" -CinnabarGymText4: ; 759a3 (1d:59a3) - db $08 ; asm +CinnabarGymText4: + TX_ASM call CinnabarGymScript_757a0 - ld a, [wd79a] - bit 4, a - jr nz, .asm_c0673 ; 0x759ac + CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_2 + jr nz, .asm_c0673 ld hl, CinnabarGymText_759c9 call PrintText ld hl, CinnabarGymText_759ce - ld de, CinnabarGymText_759ce ; $59ce XXX + ld de, CinnabarGymText_759ce call SaveEndBattleTextPointers jp CinnabarGymScript_758b7 -.asm_c0673 ; 0x759c0 +.asm_c0673 ld hl, CinnabarGymText_759d3 call PrintText jp TextScriptEnd -CinnabarGymText_759c9: ; 759c9 (1d:59c9) +CinnabarGymText_759c9: TX_FAR _CinnabarGymText_759c9 db "@" -CinnabarGymText_759ce: ; 759ce (1d:59ce) +CinnabarGymText_759ce: TX_FAR _CinnabarGymText_759ce db "@" -CinnabarGymText_759d3: ; 759d3 (1d:59d3) +CinnabarGymText_759d3: TX_FAR _CinnabarGymText_759d3 db "@" -CinnabarGymText5: ; 759d8 (1d:59d8) - db $08 ; asm +CinnabarGymText5: + TX_ASM call CinnabarGymScript_757a0 - ld a, [wd79a] - bit 5, a - jr nz, .asm_5cfd7 ; 0x759e1 + CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_3 + jr nz, .asm_5cfd7 ld hl, CinnabarGymText_759fe call PrintText ld hl, CinnabarGymText_75a03 - ld de, CinnabarGymText_75a03 ; $5a03 XXX + ld de, CinnabarGymText_75a03 call SaveEndBattleTextPointers jp CinnabarGymScript_758b7 -.asm_5cfd7 ; 0x759f5 +.asm_5cfd7 ld hl, CinnabarGymText_75a08 call PrintText jp TextScriptEnd -CinnabarGymText_759fe: ; 759fe (1d:59fe) +CinnabarGymText_759fe: TX_FAR _CinnabarGymText_759fe db "@" -CinnabarGymText_75a03: ; 75a03 (1d:5a03) +CinnabarGymText_75a03: TX_FAR _CinnabarGymText_75a03 db "@" -CinnabarGymText_75a08: ; 75a08 (1d:5a08) +CinnabarGymText_75a08: TX_FAR _CinnabarGymText_75a08 db "@" -CinnabarGymText6: ; 75a0d (1d:5a0d) - db $08 ; asm +CinnabarGymText6: + TX_ASM call CinnabarGymScript_757a0 - ld a, [wd79a] - bit 6, a - jr nz, .asm_776b4 ; 0x75a16 + CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_4 + jr nz, .asm_776b4 ld hl, CinnabarGymText_75a33 call PrintText ld hl, CinnabarGymText_75a38 ld de, CinnabarGymText_75a38 call SaveEndBattleTextPointers jp CinnabarGymScript_758b7 -.asm_776b4 ; 0x75a2a +.asm_776b4 ld hl, CinnabarGymText_75a3d call PrintText jp TextScriptEnd -CinnabarGymText_75a33: ; 75a33 (1d:5a33) +CinnabarGymText_75a33: TX_FAR _CinnabarGymText_75a33 db "@" -CinnabarGymText_75a38: ; 75a38 (1d:5a38) +CinnabarGymText_75a38: TX_FAR _CinnabarGymText_75a38 db "@" -CinnabarGymText_75a3d: ; 75a3d (1d:5a3d) +CinnabarGymText_75a3d: TX_FAR _CinnabarGymText_75a3d db "@" -CinnabarGymText7: ; 75a42 (1d:5a42) - db $08 ; asm +CinnabarGymText7: + TX_ASM call CinnabarGymScript_757a0 - ld a, [wd79a] - bit 7, a - jr nz, .asm_2f755 ; 0x75a4b + CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_5 + jr nz, .asm_2f755 ld hl, CinnabarGymText_75a68 call PrintText ld hl, CinnabarGymText_75a6d ld de, CinnabarGymText_75a6d call SaveEndBattleTextPointers jp CinnabarGymScript_758b7 -.asm_2f755 ; 0x75a5f +.asm_2f755 ld hl, CinnabarGymText_75a72 call PrintText jp TextScriptEnd -CinnabarGymText_75a68: ; 75a68 (1d:5a68) +CinnabarGymText_75a68: TX_FAR _CinnabarGymText_75a68 db "@" -CinnabarGymText_75a6d: ; 75a6d (1d:5a6d) +CinnabarGymText_75a6d: TX_FAR _CinnabarGymText_75a6d db "@" -CinnabarGymText_75a72: ; 75a72 (1d:5a72) +CinnabarGymText_75a72: TX_FAR _CinnabarGymText_75a72 db "@" -CinnabarGymText8: ; 75a77 (1d:5a77) - db $08 ; asm +CinnabarGymText8: + TX_ASM call CinnabarGymScript_757a0 - ld a, [wd79b] - bit 0, a - jr nz, .asm_d87be ; 0x75a80 + CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_6 + jr nz, .asm_d87be ld hl, CinnabarGymText_75a9d call PrintText ld hl, CinnabarGymText_75aa2 - ld de, CinnabarGymText_75aa2 ; $5aa2 XXX + ld de, CinnabarGymText_75aa2 call SaveEndBattleTextPointers jp CinnabarGymScript_758b7 -.asm_d87be ; 0x75a94 +.asm_d87be ld hl, CinnabarGymText_75aa7 call PrintText jp TextScriptEnd -CinnabarGymText_75a9d: ; 75a9d (1d:5a9d) +CinnabarGymText_75a9d: TX_FAR _CinnabarGymText_75a9d db "@" -CinnabarGymText_75aa2: ; 75aa2 (1d:5aa2) +CinnabarGymText_75aa2: TX_FAR _CinnabarGymText_75aa2 db "@" -CinnabarGymText_75aa7: ; 75aa7 (1d:5aa7) +CinnabarGymText_75aa7: TX_FAR _CinnabarGymText_75aa7 db "@" -CinnabarGymText9: ; 75aac (1d:5aac) - db $08 ; asm - ld a, [wd79a] - bit 1, a - jr nz, .asm_627d9 ; 0x75ab2 +CinnabarGymText9: + TX_ASM + CheckEvent EVENT_BEAT_BLAINE + jr nz, .asm_627d9 ld hl, CinnabarGymText_75ac2 - jr .asm_0b11d ; 0x75ab7 -.asm_627d9 ; 0x75ab9 + jr .asm_0b11d +.asm_627d9 ld hl, CinnabarGymText_75ac7 -.asm_0b11d ; 0x75abc +.asm_0b11d call PrintText jp TextScriptEnd -CinnabarGymText_75ac2: ; 75ac2 (1d:5ac2) +CinnabarGymText_75ac2: TX_FAR _CinnabarGymText_75ac2 db "@" -CinnabarGymText_75ac7: ; 75ac7 (1d:5ac7) +CinnabarGymText_75ac7: TX_FAR _CinnabarGymText_75ac7 db "@" diff --git a/scripts/cinnabarisland.asm b/scripts/cinnabarisland.asm index 33a497c4..8549042f 100755 --- a/scripts/cinnabarisland.asm +++ b/scripts/cinnabarisland.asm @@ -1,33 +1,31 @@ -CinnabarIslandScript: ; 1ca19 (7:4a19) +CinnabarIslandScript: call EnableAutoTextBoxDrawing - ld hl, wd126 + ld hl, wCurrentMapScriptFlags set 5, [hl] - ld hl, wd796 - res 0, [hl] - ld hl, wd7a3 - res 1, [hl] + ResetEvent EVENT_MANSION_SWITCH_ON + ResetEvent EVENT_LAB_STILL_REVIVING_FOSSIL ld hl, CinnabarIslandScriptPointers - ld a, [W_CINNABARISLANDCURSCRIPT] + ld a, [wCinnabarIslandCurScript] jp CallFunctionInTable -CinnabarIslandScriptPointers: ; 1ca34 (7:4a34) +CinnabarIslandScriptPointers: dw CinnabarIslandScript0 dw CinnabarIslandScript1 -CinnabarIslandScript0: ; 1ca38 (7:4a38) +CinnabarIslandScript0: ld b, SECRET_KEY call IsItemInBag ret nz - ld a, [W_YCOORD] + ld a, [wYCoord] cp $4 ret nz - ld a, [W_XCOORD] + ld a, [wXCoord] cp $12 ret nz + ld a, PLAYER_DIR_UP + ld [wPlayerMovingDirection], a ld a, $8 - ld [wd528], a - ld a, $8 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID xor a ld [hJoyHeld], a @@ -40,19 +38,19 @@ CinnabarIslandScript0: ; 1ca38 (7:4a38) ld [wSpriteStateData1 + 9], a ld [wJoyIgnore], a ld a, $1 - ld [W_CINNABARISLANDCURSCRIPT], a + ld [wCinnabarIslandCurScript], a ret -CinnabarIslandScript1: ; 1ca73 (7:4a73) +CinnabarIslandScript1: ld a, [wSimulatedJoypadStatesIndex] and a ret nz call Delay3 ld a, $0 - ld [W_CINNABARISLANDCURSCRIPT], a + ld [wCinnabarIslandCurScript], a ret -CinnabarIslandTextPointers: ; 1ca81 (7:4a81) +CinnabarIslandTextPointers: dw CinnabarIslandText1 dw CinnabarIslandText2 dw CinnabarIslandText3 @@ -62,26 +60,26 @@ CinnabarIslandTextPointers: ; 1ca81 (7:4a81) dw CinnabarIslandText7 dw CinnabarIslandText8 -CinnabarIslandText8: ; 1ca91 (7:4a91) +CinnabarIslandText8: TX_FAR _CinnabarIslandText8 db "@" -CinnabarIslandText1: ; 1ca96 (7:4a96) +CinnabarIslandText1: TX_FAR _CinnabarIslandText1 db "@" -CinnabarIslandText2: ; 1ca9b (7:4a9b) +CinnabarIslandText2: TX_FAR _CinnabarIslandText2 db "@" -CinnabarIslandText3: ; 1caa0 (7:4aa0) +CinnabarIslandText3: TX_FAR _CinnabarIslandText3 db "@" -CinnabarIslandText6: ; 1caa5 (7:4aa5) +CinnabarIslandText6: TX_FAR _CinnabarIslandText6 db "@" -CinnabarIslandText7: ; 1caaa (7:4aaa) +CinnabarIslandText7: TX_FAR _CinnabarIslandText7 db "@" diff --git a/scripts/cinnabarmart.asm b/scripts/cinnabarmart.asm index 2abd7b67..55b82cf0 100755 --- a/scripts/cinnabarmart.asm +++ b/scripts/cinnabarmart.asm @@ -1,15 +1,15 @@ -CinnabarMartScript: ; 75e7e (1d:5e7e) +CinnabarMartScript: jp EnableAutoTextBoxDrawing -CinnabarMartTextPointers: ; 75e81 (1d:5e81) - dw CinnabarMartText1 +CinnabarMartTextPointers: + dw CinnabarCashierText dw CinnabarMartText2 dw CinnabarMartText3 -CinnabarMartText2: ; 75e87 (1d:5e87) +CinnabarMartText2: TX_FAR _CinnabarMartText2 db "@" -CinnabarMartText3: ; 75e8c (1d:5e8c) +CinnabarMartText3: TX_FAR _CinnabarMartText3 db "@" diff --git a/scripts/cinnabarpokecenter.asm b/scripts/cinnabarpokecenter.asm index abae9d8d..2f6d5791 100755 --- a/scripts/cinnabarpokecenter.asm +++ b/scripts/cinnabarpokecenter.asm @@ -1,23 +1,23 @@ -CinnabarPokecenterScript: ; 75e2c (1d:5e2c) +CinnabarPokecenterScript: call Serial_TryEstablishingExternallyClockedConnection jp EnableAutoTextBoxDrawing -CinnabarPokecenterTextPointers: ; 75e32 (1d:5e32) - dw CinnabarPokecenterText1 +CinnabarPokecenterTextPointers: + dw CinnabarHealNurseText dw CinnabarPokecenterText2 dw CinnabarPokecenterText3 - dw CinnabarPokecenterText4 + dw CinnabarTradeNurseText -CinnabarPokecenterText1: ; 75e3a (1d:5e3a) - db $ff +CinnabarHealNurseText: + TX_POKECENTER_NURSE -CinnabarPokecenterText2: ; 75e3b (1d:5e3b) - TX_FAR _CinnabarPokecenterText1 +CinnabarPokecenterText2: + TX_FAR _CinnabarPokecenterText2 db "@" -CinnabarPokecenterText3: ; 75e40 (1d:5e40) +CinnabarPokecenterText3: TX_FAR _CinnabarPokecenterText3 db "@" -CinnabarPokecenterText4: ; 75e45 (1d:5e45) - db $f6 +CinnabarTradeNurseText: + TX_CABLE_CLUB_RECEPTIONIST diff --git a/scripts/colosseum.asm b/scripts/colosseum.asm new file mode 100755 index 00000000..bdfa3c44 --- /dev/null +++ b/scripts/colosseum.asm @@ -0,0 +1,9 @@ +ColosseumScript: + jp TradeCenterScript + +ColosseumTextPointers: + dw ColosseumText1 + +ColosseumText1: + TX_FAR _ColosseumText1 + db "@" diff --git a/scripts/copycatshouse1f.asm b/scripts/copycatshouse1f.asm index 230a3ca3..25cd0fc2 100755 --- a/scripts/copycatshouse1f.asm +++ b/scripts/copycatshouse1f.asm @@ -1,22 +1,22 @@ -CopycatsHouse1FScript: ; 75ec3 (1d:5ec3) +CopycatsHouse1FScript: jp EnableAutoTextBoxDrawing -CopycatsHouse1FTextPointers: ; 75ec6 (1d:5ec6) +CopycatsHouse1FTextPointers: dw CopycatsHouse1FText1 dw CopycatsHouse1FText2 dw CopycatsHouse1FText3 -CopycatsHouse1FText1: ; 75ecc (1d:5ecc) +CopycatsHouse1FText1: TX_FAR _CopycatsHouse1FText1 db "@" -CopycatsHouse1FText2: ; 75ed1 (1d:5ed1) +CopycatsHouse1FText2: TX_FAR _CopycatsHouse1FText2 db "@" -CopycatsHouse1FText3: ; 75ed6 (1d:5ed6) +CopycatsHouse1FText3: TX_FAR _CopycatsHouse1FText3 - db $8 + TX_ASM ld a, CHANSEY call PlayCry jp TextScriptEnd diff --git a/scripts/copycatshouse2f.asm b/scripts/copycatshouse2f.asm index b7a1255c..87946b8f 100755 --- a/scripts/copycatshouse2f.asm +++ b/scripts/copycatshouse2f.asm @@ -1,7 +1,7 @@ -CopycatsHouse2FScript: ; 5cc71 (17:4c71) +CopycatsHouse2FScript: jp EnableAutoTextBoxDrawing -CopycatsHouse2FTextPointers: ; 5cc74 (17:4c74) +CopycatsHouse2FTextPointers: dw CopycatsHouse2FText1 dw CopycatsHouse2FText2 dw CopycatsHouse2FText3 @@ -10,93 +10,93 @@ CopycatsHouse2FTextPointers: ; 5cc74 (17:4c74) dw CopycatsHouse2FText6 dw CopycatsHouse2FText7 -CopycatsHouse2FText1: ; 5cc82 (17:4c82) - db $08 ; asm - ld a, [wd7af] - bit 0, a - jr nz, .asm_7ccf3 ; 0x5cc88 +CopycatsHouse2FText1: + TX_ASM + CheckEvent EVENT_GOT_TM31 + jr nz, .asm_7ccf3 ld a, $1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a ld hl, CopycatsHouse2FText_5ccd4 call PrintText ld b, POKE_DOLL call IsItemInBag - jr z, .asm_62ecd ; 0x5cc9a + jr z, .asm_62ecd ld hl, TM31PreReceiveText call PrintText - ld bc, (TM_31 << 8) | 1 + lb bc, TM_31, 1 call GiveItem jr nc, .BagFull ld hl, ReceivedTM31Text call PrintText ld a, POKE_DOLL - ldh [$db], a + ld [$ffdb], a callba RemoveItemByID - ld hl, wd7af - set 0, [hl] - jr .asm_62ecd ; 0x5ccc1 + SetEvent EVENT_GOT_TM31 + jr .asm_62ecd .BagFull ld hl, TM31NoRoomText call PrintText - jr .asm_62ecd ; 0x5ccc9 -.asm_7ccf3 ; 0x5cccb + jr .asm_62ecd +.asm_7ccf3 ld hl, TM31ExplanationText2 call PrintText -.asm_62ecd ; 0x5ccd1 +.asm_62ecd jp TextScriptEnd -CopycatsHouse2FText_5ccd4: ; 5ccd4 (17:4cd4) +CopycatsHouse2FText_5ccd4: TX_FAR _CopycatsHouse2FText_5ccd4 db "@" -TM31PreReceiveText: ; 5ccd9 (17:4cd9) +TM31PreReceiveText: TX_FAR _TM31PreReceiveText db "@" -ReceivedTM31Text: ; 5ccde (17:4cde) +ReceivedTM31Text: TX_FAR _ReceivedTM31Text - db $0B -TM31ExplanationText1: ; 5cce3 (17:4ce3) + TX_SFX_ITEM_1 +TM31ExplanationText1: TX_FAR _TM31ExplanationText1 - db $d, "@" + TX_WAIT + db "@" -TM31ExplanationText2: ; 5cce9 (17:4ce9) +TM31ExplanationText2: TX_FAR _TM31ExplanationText2 db "@" -TM31NoRoomText: ; 5ccee (17:4cee) +TM31NoRoomText: TX_FAR _TM31NoRoomText - db $d, "@" + TX_WAIT + db "@" -CopycatsHouse2FText2: ; 5ccf4 (17:4cf4) +CopycatsHouse2FText2: TX_FAR _CopycatsHouse2FText2 db "@" -CopycatsHouse2FText5: ; 5ccf9 (17:4cf9) -CopycatsHouse2FText4: ; 5ccf9 (17:4cf9) -CopycatsHouse2FText3: ; 5ccf9 (17:4cf9) +CopycatsHouse2FText5: +CopycatsHouse2FText4: +CopycatsHouse2FText3: TX_FAR _CopycatsHouse2FText3 db "@" -CopycatsHouse2FText6: ; 5ccfe (17:4cfe) +CopycatsHouse2FText6: TX_FAR _CopycatsHouse2FText6 db "@" -CopycatsHouse2FText7: ; 5cd03 (17:4d03) - db $08 ; asm +CopycatsHouse2FText7: + TX_ASM ld a, [wSpriteStateData1 + 9] - cp $4 + cp SPRITE_FACING_UP ld hl, CopycatsHouse2FText_5cd1c - jr nz, .asm_399a4 ; 0x5cd0c + jr nz, .notUp ld hl, CopycatsHouse2FText_5cd17 -.asm_399a4 ; 0x5cd11 +.notUp call PrintText jp TextScriptEnd -CopycatsHouse2FText_5cd17: ; 5cd17 (17:4d17) +CopycatsHouse2FText_5cd17: TX_FAR _CopycatsHouse2FText_5cd17 db "@" -CopycatsHouse2FText_5cd1c: ; 5cd1c (17:4d1c) +CopycatsHouse2FText_5cd1c: TX_FAR _CopycatsHouse2FText_5cd1c db "@" diff --git a/scripts/daycarem.asm b/scripts/daycarem.asm index 1830d2c0..60daa3d5 100755 --- a/scripts/daycarem.asm +++ b/scripts/daycarem.asm @@ -1,31 +1,31 @@ -DayCareMScript: ; 5624f (15:624f) +DayCareMScript: jp EnableAutoTextBoxDrawing -DayCareMTextPointers: ; 56252 (15:6252) +DayCareMTextPointers: dw DayCareMText1 -DayCareMText1: ; 56254 (15:6254) - db $8 +DayCareMText1: + TX_ASM call SaveScreenTilesToBuffer2 - ld a, [W_DAYCARE_IN_USE] + ld a, [wDayCareInUse] and a - jp nz, DayCareMScript_562e1 - ld hl, DayCareMText_5640f + jp nz, .daycareInUse + ld hl, DayCareIntroText call PrintText call YesNoChoice ld a, [wCurrentMenuItem] and a - ld hl, DayCareMText_5643b - jp nz, DayCareMScript_56409 + ld hl, DayCareComeAgainText + jp nz, .done ld a, [wPartyCount] dec a - ld hl, DayCareMText_56445 - jp z, DayCareMScript_56409 - ld hl, DayCareMText_56414 + ld hl, DayCareOnlyHaveOneMonText + jp z, .done + ld hl, DayCareWhichMonText call PrintText xor a ld [wUpdateSpritesEnabled], a - ld [wd07d], a + ld [wPartyMenuTypeOrMessageID], a ld [wMenuItemToSwap], a call DisplayPartyMenu push af @@ -33,90 +33,91 @@ DayCareMText1: ; 56254 (15:6254) call RestoreScreenTilesAndReloadTilePatterns call LoadGBPal pop af - ld hl, DayCareMText_56437 - jp c, DayCareMScript_56409 - callab Func_2171b - ld hl, DayCareMText_5644a - jp c, DayCareMScript_56409 + ld hl, DayCareAllRightThenText + jp c, .done + callab KnowsHMMove + ld hl, DayCareCantAcceptMonWithHMText + jp c, .done xor a - ld [wcc2b], a + ld [wPartyAndBillsPCSavedMenuItem], a ld a, [wWhichPokemon] ld hl, wPartyMonNicks call GetPartyMonName - ld hl, DayCareMText_56419 + ld hl, DayCareWillLookAfterMonText call PrintText - ld a, $1 - ld [W_DAYCARE_IN_USE], a - ld a, $3 - ld [wcf95], a - call Func_3a68 + ld a, 1 + ld [wDayCareInUse], a + ld a, PARTY_TO_DAYCARE + ld [wMoveMonType], a + call MoveMon xor a - ld [wcf95], a + ld [wRemoveMonFromBox], a call RemovePokemon ld a, [wcf91] call PlayCry - ld hl, DayCareMText_5641e - jp DayCareMScript_56409 + ld hl, DayCareComeSeeMeInAWhileText + jp .done -DayCareMScript_562e1: ; 562e1 (15:62e1) +.daycareInUse xor a - ld hl, W_DAYCAREMONNAME + ld hl, wDayCareMonName call GetPartyMonName - ld a, $3 - ld [wcc49], a + ld a, DAYCARE_DATA + ld [wMonDataLocation], a call LoadMonData callab CalcLevelFromExperience ld a, d cp MAX_LEVEL - jr c, .asm_56315 + jr c, .skipCalcExp + ld d, MAX_LEVEL callab CalcExperience ld hl, wDayCareMonExp - ld a, [H_NUMTOPRINT] + ld a, [hExperience] ld [hli], a - ld a, [$ff97] + ld a, [hExperience + 1] ld [hli], a - ld a, [$ff98] + ld a, [hExperience + 2] ld [hl], a ld d, MAX_LEVEL -.asm_56315 +.skipCalcExp xor a - ld [wTrainerEngageDistance], a + ld [wDayCareNumLevelsGrown], a ld hl, wDayCareMonBoxLevel ld a, [hl] - ld [wTrainerSpriteOffset], a + ld [wDayCareStartLevel], a cp d ld [hl], d - ld hl, DayCareMText_56432 - jr z, .asm_56333 - ld a, [wTrainerSpriteOffset] + ld hl, DayCareMonNeedsMoreTimeText + jr z, .next + ld a, [wDayCareStartLevel] ld b, a ld a, d sub b - ld [wTrainerEngageDistance], a - ld hl, DayCareMText_56423 + ld [wDayCareNumLevelsGrown], a + ld hl, DayCareMonHasGrownText -.asm_56333 +.next call PrintText ld a, [wPartyCount] cp PARTY_LENGTH - ld hl, DayCareMText_56440 - jp z, .asm_56403 - ld de, wTrainerFacingDirection + ld hl, DayCareNoRoomForMonText + jp z, .leaveMonInDayCare + ld de, wDayCareTotalCost xor a ld [de], a inc de ld [de], a - ld hl, wTrainerScreenX + ld hl, wDayCarePerLevelCost ld a, $1 ld [hli], a ld [hl], $0 - ld a, [wTrainerEngageDistance] + ld a, [wDayCareNumLevelsGrown] inc a ld b, a - ld c, $2 -.asm_56357 + ld c, 2 +.calcPriceLoop push hl push de push bc @@ -125,141 +126,144 @@ DayCareMScript_562e1: ; 562e1 (15:62e1) pop de pop hl dec b - jr nz, .asm_56357 - ld hl, DayCareMText_56428 + jr nz, .calcPriceLoop + ld hl, DayCareOweMoneyText call PrintText - ld a, $13 + ld a, MONEY_BOX ld [wTextBoxID], a call DisplayTextBoxID call YesNoChoice - ld hl, DayCareMText_56437 + ld hl, DayCareAllRightThenText ld a, [wCurrentMenuItem] and a - jp nz, .asm_56403 - ld hl, wTrainerFacingDirection - ld [$ff9f], a + jp nz, .leaveMonInDayCare + ld hl, wDayCareTotalCost + ld [hMoney], a ld a, [hli] - ld [$ffa0], a + ld [hMoney + 1], a ld a, [hl] - ld [$ffa1], a + ld [hMoney + 2], a call HasEnoughMoney - jr nc, .asm_56396 - ld hl, DayCareMText_56454 - jp .asm_56403 + jr nc, .enoughMoney + ld hl, DayCareNotEnoughMoneyText + jp .leaveMonInDayCare -.asm_56396 +.enoughMoney xor a - ld [W_DAYCARE_IN_USE], a - ld hl, wTrainerEngageDistance + ld [wDayCareInUse], a + ld hl, wDayCareNumLevelsGrown ld [hli], a inc hl ld de, wPlayerMoney + 2 ld c, $3 predef SubBCDPredef - ld a, (SFX_02_5a - SFX_Headers_02) / 3 + ld a, SFX_PURCHASE call PlaySoundWaitForCurrent - ld a, $13 + ld a, MONEY_BOX ld [wTextBoxID], a call DisplayTextBoxID - ld hl, DayCareMText_5644f + ld hl, DayCareHeresYourMonText call PrintText - ld a, $2 - ld [wcf95], a - call Func_3a68 + ld a, DAYCARE_TO_PARTY + ld [wMoveMonType], a + call MoveMon ld a, [wDayCareMonSpecies] ld [wcf91], a ld a, [wPartyCount] dec a push af - ld bc, $002c + ld bc, wPartyMon2 - wPartyMon1 push bc ld hl, wPartyMon1Moves call AddNTimes ld d, h ld e, l - ld a, $1 - ld [wHPBarMaxHP], a + ld a, 1 + ld [wLearningMovesFromDayCare], a predef WriteMonMoves pop bc pop af + +; set mon's HP to max ld hl, wPartyMon1HP call AddNTimes ld d, h ld e, l - ld bc, $0021 + ld bc, wPartyMon1MaxHP - wPartyMon1HP add hl, bc ld a, [hli] ld [de], a inc de ld a, [hl] ld [de], a + ld a, [wcf91] call PlayCry - ld hl, DayCareMText_5642d - jr DayCareMScript_56409 + ld hl, DayCareGotMonBackText + jr .done -.asm_56403 - ld a, [wTrainerSpriteOffset] +.leaveMonInDayCare + ld a, [wDayCareStartLevel] ld [wDayCareMonBoxLevel], a -DayCareMScript_56409: ; 56409 (15:6409) +.done call PrintText jp TextScriptEnd -DayCareMText_5640f: ; 5640f (15:640f) - TX_FAR _DayCareMText_5640f +DayCareIntroText: + TX_FAR _DayCareIntroText db "@" -DayCareMText_56414: ; 56414 (15:6414) - TX_FAR _DayCareMText_56414 +DayCareWhichMonText: + TX_FAR _DayCareWhichMonText db "@" -DayCareMText_56419: ; 56419 (15:6419) - TX_FAR _DayCareMText_56419 +DayCareWillLookAfterMonText: + TX_FAR _DayCareWillLookAfterMonText db "@" -DayCareMText_5641e: ; 5641e (15:641e) - TX_FAR _DayCareMText_5641e +DayCareComeSeeMeInAWhileText: + TX_FAR _DayCareComeSeeMeInAWhileText db "@" -DayCareMText_56423: ; 56423 (15:6423) - TX_FAR _DayCareMText_56423 +DayCareMonHasGrownText: + TX_FAR _DayCareMonHasGrownText db "@" -DayCareMText_56428: ; 56428 (15:6428) - TX_FAR _DayCareMText_56428 +DayCareOweMoneyText: + TX_FAR _DayCareOweMoneyText db "@" -DayCareMText_5642d: ; 5642d (15:642d) - TX_FAR _DayCareMText_5642d +DayCareGotMonBackText: + TX_FAR _DayCareGotMonBackText db "@" -DayCareMText_56432: ; 56432 (15:6432) - TX_FAR _DayCareMText_56432 +DayCareMonNeedsMoreTimeText: + TX_FAR _DayCareMonNeedsMoreTimeText db "@" -DayCareMText_56437: ; 56437 (15:6437) - TX_FAR _DayCareMText_56437 ; 0x8c000 -DayCareMText_5643b: ; 5643b (15:643b) - TX_FAR _DayCareMText_5643b ; 0x8c013 +DayCareAllRightThenText: + TX_FAR _DayCareAllRightThenText +DayCareComeAgainText: + TX_FAR _DayCareComeAgainText db "@" -DayCareMText_56440: ; 56440 (15:6440) - TX_FAR _DayCareMText_56440 +DayCareNoRoomForMonText: + TX_FAR _DayCareNoRoomForMonText db "@" -DayCareMText_56445: ; 56445 (15:6445) - TX_FAR _DayCareMText_56445 +DayCareOnlyHaveOneMonText: + TX_FAR _DayCareOnlyHaveOneMonText db "@" -DayCareMText_5644a: ; 5644a (15:644a) - TX_FAR _DayCareMText_5644a +DayCareCantAcceptMonWithHMText: + TX_FAR _DayCareCantAcceptMonWithHMText db "@" -DayCareMText_5644f: ; 5644f (15:644f) - TX_FAR _DayCareMText_5644f +DayCareHeresYourMonText: + TX_FAR _DayCareHeresYourMonText db "@" -DayCareMText_56454: ; 56454 (15:6454) - TX_FAR _DayCareMText_56454 +DayCareNotEnoughMoneyText: + TX_FAR _DayCareNotEnoughMoneyText db "@" diff --git a/scripts/diglettscave.asm b/scripts/diglettscave.asm index efbf9713..593b12a6 100755 --- a/scripts/diglettscave.asm +++ b/scripts/diglettscave.asm @@ -1,5 +1,5 @@ -DiglettsCaveScript: ; 61f6e (18:5f6e) +DiglettsCaveScript: jp EnableAutoTextBoxDrawing -DiglettsCaveTextPointers: ; 61f71 (18:5f71) +DiglettsCaveTextPointers: db "@" diff --git a/scripts/diglettscaveroute11.asm b/scripts/diglettscaveroute11.asm index 43e3f24e..d97a8446 100755 --- a/scripts/diglettscaveroute11.asm +++ b/scripts/diglettscaveroute11.asm @@ -1,12 +1,12 @@ -DiglettsCaveEntranceRoute11Script: ; 1e5ba (7:65ba) +DiglettsCaveEntranceRoute11Script: call EnableAutoTextBoxDrawing ld a, ROUTE_11 ld [wLastMap], a ret -DiglettsCaveEntranceRoute11TextPointers: ; 1e5c3 (7:65c3) +DiglettsCaveEntranceRoute11TextPointers: dw DiglettsCaveEntranceRoute11Text1 -DiglettsCaveEntranceRoute11Text1: ; 1e5c5 (7:65c5) +DiglettsCaveEntranceRoute11Text1: TX_FAR _DiglettsCaveEntRoute11Text1 db "@" diff --git a/scripts/diglettscaveroute2.asm b/scripts/diglettscaveroute2.asm index 1bee2a1c..9f061daa 100755 --- a/scripts/diglettscaveroute2.asm +++ b/scripts/diglettscaveroute2.asm @@ -1,11 +1,11 @@ -DiglettsCaveRoute2Script: ; 1deb0 (7:5eb0) +DiglettsCaveRoute2Script: ld a, ROUTE_2 ld [wLastMap], a jp EnableAutoTextBoxDrawing -DiglettsCaveRoute2TextPointers: ; 1deb8 (7:5eb8) +DiglettsCaveRoute2TextPointers: dw DiglettsCaveRoute2Text1 -DiglettsCaveRoute2Text1: ; 1deba (7:5eba) +DiglettsCaveRoute2Text1: TX_FAR _DiglettsCaveRoute2Text1 db "@" diff --git a/scripts/fanclub.asm b/scripts/fanclub.asm index f9a839fa..b6d65586 100755 --- a/scripts/fanclub.asm +++ b/scripts/fanclub.asm @@ -1,10 +1,9 @@ -FanClubScript: ; 59b70 (16:5b70) +FanClubScript: jp EnableAutoTextBoxDrawing FanClubBikeInBag: ; check if any bike paraphernalia in bag - ld a, [wd771] - bit 1, a ; got bike voucher? + CheckEvent EVENT_GOT_BIKE_VOUCHER ret nz ld b, BICYCLE call IsItemInBag @@ -12,7 +11,7 @@ FanClubBikeInBag: ld b, BIKE_VOUCHER jp IsItemInBag -FanClubTextPointers: ; 59b84 (16:5b84) +FanClubTextPointers: dw FanClubText1 dw FanClubText2 dw FanClubText3 @@ -24,20 +23,17 @@ FanClubTextPointers: ; 59b84 (16:5b84) FanClubText1: ; pikachu fan - db $08 ; asm - ld a, [wd771] - bit 7, a + TX_ASM + CheckEvent EVENT_PIKACHU_FAN_BOAST jr nz, .mineisbetter ld hl, .normaltext call PrintText - ld hl, wd771 - set 6, [hl] + SetEvent EVENT_SEEL_FAN_BOAST jr .done .mineisbetter ld hl, .bettertext call PrintText - ld hl, wd771 - res 7, [hl] + ResetEvent EVENT_PIKACHU_FAN_BOAST .done jp TextScriptEnd @@ -51,20 +47,17 @@ FanClubText1: FanClubText2: ; seel fan - db $08 ; asm - ld a, [wd771] - bit 6, a + TX_ASM + CheckEvent EVENT_SEEL_FAN_BOAST jr nz, .mineisbetter ld hl, .normaltext call PrintText - ld hl, wd771 - set 7, [hl] + SetEvent EVENT_PIKACHU_FAN_BOAST jr .done .mineisbetter ld hl, .bettertext call PrintText - ld hl, wd771 - res 6, [hl] + ResetEvent EVENT_SEEL_FAN_BOAST .done jp TextScriptEnd @@ -78,7 +71,7 @@ FanClubText2: FanClubText3: ; pikachu - db $8 + TX_ASM ld hl, .text call PrintText ld a, PIKACHU @@ -92,7 +85,7 @@ FanClubText3: FanClubText4: ; seel - db $08 ; asm + TX_ASM ld hl, .text call PrintText ld a, SEEL @@ -106,7 +99,7 @@ FanClubText4: FanClubText5: ; chair - db $08 ; asm + TX_ASM call FanClubBikeInBag jr nz, .nothingleft @@ -120,13 +113,12 @@ FanClubText5: ; tell the story ld hl, .storytext call PrintText - ld bc, (BIKE_VOUCHER << 8) | 1 + lb bc, BIKE_VOUCHER, 1 call GiveItem jr nc, .BagFull ld hl, .receivedvouchertext call PrintText - ld hl, wd771 - set 1, [hl] + SetEvent EVENT_GOT_BIKE_VOUCHER jr .done .BagFull ld hl, .bagfulltext @@ -152,7 +144,7 @@ FanClubText5: .receivedvouchertext TX_FAR ReceivedBikeVoucherText - db $11 + TX_SFX_KEY_ITEM TX_FAR ExplainBikeVoucherText db "@" @@ -168,14 +160,14 @@ FanClubText5: TX_FAR FanClubBagFullText db "@" -FanClubText6: ; 59c88 (16:5c88) +FanClubText6: TX_FAR _FanClubText6 db "@" -FanClubText7: ; 59c8d (16:5c8d) +FanClubText7: TX_FAR _FanClubText7 db "@" -FanClubText8: ; 59c92 (16:5c92) +FanClubText8: TX_FAR _FanClubText8 db "@" diff --git a/scripts/fightingdojo.asm b/scripts/fightingdojo.asm index e26da1b1..fa0cdca2 100755 --- a/scripts/fightingdojo.asm +++ b/scripts/fightingdojo.asm @@ -1,90 +1,86 @@ -FightingDojoScript: ; 5cd5d (17:4d5d) +FightingDojoScript: call EnableAutoTextBoxDrawing - ld hl, FightingDojoTrainerHeaders + ld hl, FightingDojoTrainerHeader0 ld de, FightingDojoScriptPointers - ld a, [W_FIGHTINGDOJOCURSCRIPT] + ld a, [wFightingDojoCurScript] call ExecuteCurMapScriptInTable - ld [W_FIGHTINGDOJOCURSCRIPT], a + ld [wFightingDojoCurScript], a ret -FightingDojoScript_5cd70: ; 5cd70 (17:4d70) +FightingDojoScript_5cd70: xor a ld [wJoyIgnore], a - ld [W_FIGHTINGDOJOCURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wFightingDojoCurScript], a + ld [wCurMapScript], a ret -FightingDojoScriptPointers: ; 5cd7b (17:4d7b) +FightingDojoScriptPointers: dw FightingDojoScript1 dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle dw FightingDojoScript3 -FightingDojoScript1: ; 5cd83 (17:4d83) - ld a, [wd7b1] - bit 0, a +FightingDojoScript1: + CheckEvent EVENT_DEFEATED_FIGHTING_DOJO ret nz call CheckFightingMapTrainers ld a, [wTrainerHeaderFlagBit] and a ret nz - ld a, [wd7b1] - bit 1, a + CheckEvent EVENT_BEAT_KARATE_MASTER ret nz xor a ld [hJoyHeld], a ld [wcf0d], a - ld a, [W_YCOORD] + ld a, [wYCoord] cp $3 ret nz - ld a, [W_XCOORD] + ld a, [wXCoord] cp $4 ret nz ld a, $1 ld [wcf0d], a + ld a, PLAYER_DIR_RIGHT + ld [wPlayerMovingDirection], a ld a, $1 - ld [wd528], a - ld a, $1 - ld [$ff8c], a - ld a, $8 - ld [$ff8d], a + ld [H_SPRITEINDEX], a + ld a, SPRITE_FACING_LEFT + ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $1 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ret -FightingDojoScript3: ; 5cdc6 (17:4dc6) - ld a, [W_ISINBATTLE] +FightingDojoScript3: + ld a, [wIsInBattle] cp $ff jp z, FightingDojoScript_5cd70 ld a, [wcf0d] and a jr z, .asm_5cde4 + ld a, PLAYER_DIR_RIGHT + ld [wPlayerMovingDirection], a ld a, $1 - ld [wd528], a - ld a, $1 - ld [$ff8c], a - ld a, $8 - ld [$ff8d], a + ld [H_SPRITEINDEX], a + ld a, SPRITE_FACING_LEFT + ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay .asm_5cde4 ld a, $f0 ld [wJoyIgnore], a - ld a, [wd7b1] - or $3e - ld [wd7b1], a + SetEventRange EVENT_BEAT_KARATE_MASTER, EVENT_BEAT_FIGHTING_DOJO_TRAINER_3 ld a, $8 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID xor a ld [wJoyIgnore], a - ld [W_FIGHTINGDOJOCURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wFightingDojoCurScript], a + ld [wCurMapScript], a ret -FightingDojoTextPointers: ; 5ce03 (17:4e03) +FightingDojoTextPointers: dw FightingDojoText1 dw FightingDojoText2 dw FightingDojoText3 @@ -94,51 +90,49 @@ FightingDojoTextPointers: ; 5ce03 (17:4e03) dw FightingDojoText7 dw FightingDojoText8 -FightingDojoTrainerHeaders: ; 5ce13 (17:4e13) -FightingDojoTrainerHeader0: ; 5ce13 (17:4e13) - db $2 ; flag's bit +FightingDojoTrainerHeader0: + dbEventFlagBit EVENT_BEAT_FIGHTING_DOJO_TRAINER_0 db ($4 << 4) ; trainer's view range - dw wd7b1 ; flag's byte - dw FightingDojoBattleText1 ; 0x4eac TextBeforeBattle - dw FightingDojoAfterBattleText1 ; 0x4eb6 TextAfterBattle - dw FightingDojoEndBattleText1 ; 0x4eb1 TextEndBattle - dw FightingDojoEndBattleText1 ; 0x4eb1 TextEndBattle - -FightingDojoTrainerHeader1: ; 5ce1f (17:4e1f) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_FIGHTING_DOJO_TRAINER_0 + dw FightingDojoBattleText1 ; TextBeforeBattle + dw FightingDojoAfterBattleText1 ; TextAfterBattle + dw FightingDojoEndBattleText1 ; TextEndBattle + dw FightingDojoEndBattleText1 ; TextEndBattle + +FightingDojoTrainerHeader1: + dbEventFlagBit EVENT_BEAT_FIGHTING_DOJO_TRAINER_1 db ($4 << 4) ; trainer's view range - dw wd7b1 ; flag's byte - dw FightingDojoBattleText2 ; 0x4ec5 TextBeforeBattle - dw FightingDojoAfterBattleText2 ; 0x4ecf TextAfterBattle - dw FightingDojoEndBattleText2 ; 0x4eca TextEndBattle - dw FightingDojoEndBattleText2 ; 0x4eca TextEndBattle - -FightingDojoTrainerHeader2: ; 5ce2b (17:4e2b) - db $4 ; flag's bit + dwEventFlagAddress EVENT_BEAT_FIGHTING_DOJO_TRAINER_1 + dw FightingDojoBattleText2 ; TextBeforeBattle + dw FightingDojoAfterBattleText2 ; TextAfterBattle + dw FightingDojoEndBattleText2 ; TextEndBattle + dw FightingDojoEndBattleText2 ; TextEndBattle + +FightingDojoTrainerHeader2: + dbEventFlagBit EVENT_BEAT_FIGHTING_DOJO_TRAINER_2 db ($3 << 4) ; trainer's view range - dw wd7b1 ; flag's byte - dw FightingDojoBattleText3 ; 0x4ede TextBeforeBattle - dw FightingDojoAfterBattleText3 ; 0x4ee8 TextAfterBattle - dw FightingDojoEndBattleText3 ; 0x4ee3 TextEndBattle - dw FightingDojoEndBattleText3 ; 0x4ee3 TextEndBattle - -FightingDojoTrainerHeader3: ; 5ce37 (17:4e37) - db $5 ; flag's bit + dwEventFlagAddress EVENT_BEAT_FIGHTING_DOJO_TRAINER_2 + dw FightingDojoBattleText3 ; TextBeforeBattle + dw FightingDojoAfterBattleText3 ; TextAfterBattle + dw FightingDojoEndBattleText3 ; TextEndBattle + dw FightingDojoEndBattleText3 ; TextEndBattle + +FightingDojoTrainerHeader3: + dbEventFlagBit EVENT_BEAT_FIGHTING_DOJO_TRAINER_3 db ($3 << 4) ; trainer's view range - dw wd7b1 ; flag's byte - dw FightingDojoBattleText4 ; 0x4ef7 TextBeforeBattle - dw FightingDojoAfterBattleText4 ; 0x4f01 TextAfterBattle - dw FightingDojoEndBattleText4 ; 0x4efc TextEndBattle - dw FightingDojoEndBattleText4 ; 0x4efc TextEndBattle + dwEventFlagAddress EVENT_BEAT_FIGHTING_DOJO_TRAINER_3 + dw FightingDojoBattleText4 ; TextBeforeBattle + dw FightingDojoAfterBattleText4 ; TextAfterBattle + dw FightingDojoEndBattleText4 ; TextEndBattle + dw FightingDojoEndBattleText4 ; TextEndBattle db $ff -FightingDojoText1: ; 5ce44 (17:4e44) - db $08 ; asm - ld a, [wd7b1] - bit 0, a +FightingDojoText1: + TX_ASM + CheckEvent EVENT_DEFEATED_FIGHTING_DOJO jp nz, .continue1 - bit 1, a + CheckEventReuseA EVENT_BEAT_KARATE_MASTER jp nz, .continue2 ld hl, FightingDojoText_5ce8e call PrintText @@ -148,117 +142,116 @@ FightingDojoText1: ; 5ce44 (17:4e44) ld hl, FightingDojoText_5ce93 ld de, FightingDojoText_5ce93 call SaveEndBattleTextPointers - ldh a, [$8c] + ld a, [hSpriteIndexOrTextID] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters ld a, $3 - ld [W_FIGHTINGDOJOCURSCRIPT], a - ld [W_CURMAPSCRIPT], a - jr .asm_9dba4 ; 0x5ce7b -.continue1 ; 0x5ce7d + ld [wFightingDojoCurScript], a + ld [wCurMapScript], a + jr .asm_9dba4 +.continue1 ld hl, FightingDojoText_5ce9d call PrintText - jr .asm_9dba4 ; 0x5ce83 -.continue2 ; 0x5ce85f + jr .asm_9dba4 +.continue2 ld hl, FightingDojoText8 call PrintText -.asm_9dba4 ; 0x5ce8b +.asm_9dba4 jp TextScriptEnd -FightingDojoText_5ce8e: ; 5ce8e (17:4e8e) +FightingDojoText_5ce8e: TX_FAR _FightingDojoText_5ce8e db "@" -FightingDojoText_5ce93: ; 5ce93 (17:4e93) +FightingDojoText_5ce93: TX_FAR _FightingDojoText_5ce93 db "@" -FightingDojoText8: ; 5ce98 (17:4e98) +FightingDojoText8: TX_FAR _FightingDojoText_5ce98 db "@" -FightingDojoText_5ce9d: ; 5ce9d (17:4e9d) +FightingDojoText_5ce9d: TX_FAR _FightingDojoText_5ce9d db "@" -FightingDojoText2: ; 5cea2 (17:4ea2) - db $08 ; asm +FightingDojoText2: + TX_ASM ld hl, FightingDojoTrainerHeader0 call TalkToTrainer jp TextScriptEnd -FightingDojoBattleText1: ; 5ceac (17:4eac) +FightingDojoBattleText1: TX_FAR _FightingDojoBattleText1 db "@" -FightingDojoEndBattleText1: ; 5ceb1 (17:4eb1) +FightingDojoEndBattleText1: TX_FAR _FightingDojoEndBattleText1 db "@" -FightingDojoAfterBattleText1: ; 5ceb6 (17:4eb6) +FightingDojoAfterBattleText1: TX_FAR _FightingDojoAfterBattleText1 db "@" -FightingDojoText3: ; 5cebb (17:4ebb) - db $08 ; asm +FightingDojoText3: + TX_ASM ld hl, FightingDojoTrainerHeader1 call TalkToTrainer jp TextScriptEnd -FightingDojoBattleText2: ; 5cec5 (17:4ec5) +FightingDojoBattleText2: TX_FAR _FightingDojoBattleText2 db "@" -FightingDojoEndBattleText2: ; 5ceca (17:4eca) +FightingDojoEndBattleText2: TX_FAR _FightingDojoEndBattleText2 db "@" -FightingDojoAfterBattleText2: ; 5cecf (17:4ecf) +FightingDojoAfterBattleText2: TX_FAR _FightingDojoAfterBattleText2 db "@" -FightingDojoText4: ; 5ced4 (17:4ed4) - db $08 ; asm +FightingDojoText4: + TX_ASM ld hl, FightingDojoTrainerHeader2 call TalkToTrainer jp TextScriptEnd -FightingDojoBattleText3: ; 5cede (17:4ede) +FightingDojoBattleText3: TX_FAR _FightingDojoBattleText3 db "@" -FightingDojoEndBattleText3: ; 5cee3 (17:4ee3) +FightingDojoEndBattleText3: TX_FAR _FightingDojoEndBattleText3 db "@" -FightingDojoAfterBattleText3: ; 5cee8 (17:4ee8) +FightingDojoAfterBattleText3: TX_FAR _FightingDojoAfterBattleText3 db "@" -FightingDojoText5: ; 5ceed (17:4eed) - db $08 ; asm +FightingDojoText5: + TX_ASM ld hl, FightingDojoTrainerHeader3 call TalkToTrainer jp TextScriptEnd -FightingDojoBattleText4: ; 5cef7 (17:4ef7) +FightingDojoBattleText4: TX_FAR _FightingDojoBattleText4 db "@" -FightingDojoEndBattleText4: ; 5cefc (17:4efc) +FightingDojoEndBattleText4: TX_FAR _FightingDojoEndBattleText4 db "@" -FightingDojoAfterBattleText4: ; 5cf01 (17:4f01) +FightingDojoAfterBattleText4: TX_FAR _FightingDojoAfterBattleText4 db "@" -FightingDojoText6: ; 5cf06 (17:4f06) +FightingDojoText6: ; Hitmonlee Poké Ball - db $08 ; asm - ld a, [wd7b1] - and %11000000 + TX_ASM + CheckEitherEventSet EVENT_GOT_HITMONLEE, EVENT_GOT_HITMONCHAN jr z, .GetMon ld hl, OtherHitmonText call PrintText @@ -280,23 +273,20 @@ FightingDojoText6: ; 5cf06 (17:4f06) ; once Poké Ball is taken, hide sprite ld a, HS_FIGHTING_DOJO_GIFT_1 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject - ld hl, wd7b1 - set 6, [hl] - set 0, [hl] + SetEvents EVENT_GOT_HITMONLEE, EVENT_DEFEATED_FIGHTING_DOJO .done jp TextScriptEnd -WantHitmonleeText: ; 5cf49 (17:4f49) +WantHitmonleeText: TX_FAR _WantHitmonleeText db "@" -FightingDojoText7: ; 5cf4e (17:4f4e) +FightingDojoText7: ; Hitmonchan Poké Ball - db $08 ; asm - ld a, [wd7b1] - and %11000000 + TX_ASM + CheckEitherEventSet EVENT_GOT_HITMONLEE, EVENT_GOT_HITMONCHAN jr z, .GetMon ld hl, OtherHitmonText call PrintText @@ -315,21 +305,19 @@ FightingDojoText7: ; 5cf4e (17:4f4e) ld c,30 call GivePokemon jr nc, .done - ld hl, wd7b1 - set 7, [hl] - set 0, [hl] + SetEvents EVENT_GOT_HITMONCHAN, EVENT_DEFEATED_FIGHTING_DOJO ; once Poké Ball is taken, hide sprite ld a, HS_FIGHTING_DOJO_GIFT_2 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject .done jp TextScriptEnd -WantHitmonchanText: ; 5cf91 (17:4f91) +WantHitmonchanText: TX_FAR _WantHitmonchanText db "@" -OtherHitmonText: ; 5cf96 (17:4f96) +OtherHitmonText: TX_FAR _OtherHitmonText db "@" diff --git a/scripts/fuchsiacity.asm b/scripts/fuchsiacity.asm index 6b7e067b..74d7ee30 100755 --- a/scripts/fuchsiacity.asm +++ b/scripts/fuchsiacity.asm @@ -1,7 +1,7 @@ -FuchsiaCityScript: ; 19a2b (6:5a2b) +FuchsiaCityScript: jp EnableAutoTextBoxDrawing -FuchsiaCityTextPointers: ; 19a2e (6:5a2e) +FuchsiaCityTextPointers: dw FuchsiaCityText1 dw FuchsiaCityText2 dw FuchsiaCityText3 @@ -27,144 +27,143 @@ FuchsiaCityTextPointers: ; 19a2e (6:5a2e) dw FuchsiaCityText23 dw FuchsiaCityText24 -FuchsiaCityText1: ; 19a5e (6:5a5e) +FuchsiaCityText1: TX_FAR _FuchsiaCityText1 db "@" -FuchsiaCityText2: ; 19a63 (6:5a63) +FuchsiaCityText2: TX_FAR _FuchsiaCityText2 db "@" -FuchsiaCityText3: ; 19a68 (6:5a68) +FuchsiaCityText3: TX_FAR _FuchsiaCityText3 db "@" -FuchsiaCityText4: ; 19a6d (6:5a6d) +FuchsiaCityText4: TX_FAR _FuchsiaCityText4 db "@" -FuchsiaCityText5: ; 19a72 (6:5a72) -FuchsiaCityText6: ; 19a72 (6:5a72) -FuchsiaCityText7: ; 19a72 (6:5a72) -FuchsiaCityText8: ; 19a72 (6:5a72) -FuchsiaCityText9: ; 19a72 (6:5a72) -FuchsiaCityText10: ; 19a72 (6:5a72) +FuchsiaCityText5: +FuchsiaCityText6: +FuchsiaCityText7: +FuchsiaCityText8: +FuchsiaCityText9: +FuchsiaCityText10: TX_FAR _FuchsiaCityText5 db "@" -FuchsiaCityText12: ; 19a77 (6:5a77) -FuchsiaCityText11: ; 19a77 (6:5a77) +FuchsiaCityText12: +FuchsiaCityText11: TX_FAR _FuchsiaCityText11 db "@" -FuchsiaCityText13: ; 19a7c (6:5a7c) +FuchsiaCityText13: TX_FAR _FuchsiaCityText13 db "@" -FuchsiaCityText16: ; 19a81 (6:5a81) +FuchsiaCityText16: TX_FAR _FuchsiaCityText16 db "@" -FuchsiaCityText17: ; 19a86 (6:5a86) +FuchsiaCityText17: TX_FAR _FuchsiaCityText17 db "@" -FuchsiaCityText18: ; 19a8b (6:5a8b) +FuchsiaCityText18: TX_FAR _FuchsiaCityText18 db "@" -FuchsiaCityText19: ; 19a90 (6:5a90) - db $08 ; asm +FuchsiaCityText19: + TX_ASM ld hl, FuchsiaCityChanseyText call PrintText ld a, CHANSEY call DisplayPokedex jp TextScriptEnd -FuchsiaCityChanseyText: ; 19a9f (6:5a9f) +FuchsiaCityChanseyText: TX_FAR _FuchsiaCityChanseyText db "@" -FuchsiaCityText20: ; 19aa4 (6:5aa4) - db $08 ; asm +FuchsiaCityText20: + TX_ASM ld hl, FuchsiaCityVoltorbText call PrintText ld a, VOLTORB call DisplayPokedex jp TextScriptEnd -FuchsiaCityVoltorbText: ; 19ab3 (6:5ab3) +FuchsiaCityVoltorbText: TX_FAR _FuchsiaCityVoltorbText db "@" -FuchsiaCityText21: ; 19ab8 (6:5ab8) - db $08 ; asm +FuchsiaCityText21: + TX_ASM ld hl, FuchsiaCityKangaskhanText call PrintText ld a, KANGASKHAN call DisplayPokedex jp TextScriptEnd -FuchsiaCityKangaskhanText: ; 19ac7 (6:5ac7) +FuchsiaCityKangaskhanText: TX_FAR _FuchsiaCityKangaskhanText db "@" -FuchsiaCityText22: ; 19acc (6:5acc) - db $08 ; asm +FuchsiaCityText22: + TX_ASM ld hl, FuchsiaCitySlowpokeText call PrintText ld a, SLOWPOKE call DisplayPokedex jp TextScriptEnd -FuchsiaCitySlowpokeText: ; 19adb (6:5adb) +FuchsiaCitySlowpokeText: TX_FAR _FuchsiaCitySlowpokeText db "@" -FuchsiaCityText23: ; 19ae0 (6:5ae0) - db $08 ; asm +FuchsiaCityText23: + TX_ASM ld hl, FuchsiaCityLaprasText call PrintText ld a, LAPRAS call DisplayPokedex jp TextScriptEnd -FuchsiaCityLaprasText: ; 19aef (6:5aef) +FuchsiaCityLaprasText: TX_FAR _FuchsiaCityLaprasText db "@" -FuchsiaCityText24: ; 19af4 (6:5af4) - db $08 ; asm - ld a, [wd7f6] - bit 6, a - jr nz, .asm_3b4e8 ; 0x19afa - bit 7, a - jr nz, .asm_667d5 ; 0x19afe +FuchsiaCityText24: + TX_ASM + CheckEvent EVENT_GOT_DOME_FOSSIL + jr nz, .asm_3b4e8 + CheckEventReuseA EVENT_GOT_HELIX_FOSSIL + jr nz, .asm_667d5 ld hl, FuchsiaCityText_19b2a call PrintText - jr .asm_4343f ; 0x19b06 -.asm_3b4e8 ; 0x19b08 + jr .asm_4343f +.asm_3b4e8 ld hl, FuchsiaCityOmanyteText call PrintText ld a, OMANYTE - jr .asm_81556 ; 0x19b10 -.asm_667d5 ; 0x19b12 + jr .asm_81556 +.asm_667d5 ld hl, FuchsiaCityKabutoText call PrintText ld a, KABUTO -.asm_81556 ; 0x19b1a +.asm_81556 call DisplayPokedex -.asm_4343f ; 0x19b1d +.asm_4343f jp TextScriptEnd -FuchsiaCityOmanyteText: ; 19b20 (6:5b20) +FuchsiaCityOmanyteText: TX_FAR _FuchsiaCityOmanyteText db "@" -FuchsiaCityKabutoText: ; 19b25 (6:5b25) +FuchsiaCityKabutoText: TX_FAR _FuchsiaCityKabutoText db "@" -FuchsiaCityText_19b2a: ; 19b2a (6:5b2a) +FuchsiaCityText_19b2a: TX_FAR _FuchsiaCityText_19b2a db "@" diff --git a/scripts/fuchsiagym.asm b/scripts/fuchsiagym.asm index 43d977d7..3628ebc0 100755 --- a/scripts/fuchsiagym.asm +++ b/scripts/fuchsiagym.asm @@ -1,15 +1,15 @@ -FuchsiaGymScript: ; 7543d (1d:543d) +FuchsiaGymScript: call FuchsiaGymScript_75453 call EnableAutoTextBoxDrawing - ld hl, FuchsiaGymTrainerHeaders + ld hl, FuchsiaGymTrainerHeader0 ld de, FuchsiaGymScriptPointers - ld a, [W_FUCHSIAGYMCURSCRIPT] + ld a, [wFuchsiaGymCurScript] call ExecuteCurMapScriptInTable - ld [W_FUCHSIAGYMCURSCRIPT], a + ld [wFuchsiaGymCurScript], a ret -FuchsiaGymScript_75453: ; 75453 (1d:5453) - ld hl, wd126 +FuchsiaGymScript_75453: + ld hl, wCurrentMapScriptFlags bit 6, [hl] res 6, [hl] ret z @@ -18,63 +18,59 @@ FuchsiaGymScript_75453: ; 75453 (1d:5453) call LoadGymLeaderAndCityName ret -Gym5CityName: ; 75465 (1d:5465) +Gym5CityName: db "FUCHSIA CITY@" -Gym5LeaderName: ; 75472 (1d:5472) +Gym5LeaderName: db "KOGA@" -FuchsiaGymScript_75477: ; 75477 (1d:5477) +FuchsiaGymScript_75477: xor a ld [wJoyIgnore], a - ld [W_FUCHSIAGYMCURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wFuchsiaGymCurScript], a + ld [wCurMapScript], a ret -FuchsiaGymScriptPointers: ; 75482 (1d:5482) +FuchsiaGymScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle dw FuchsiaGymScript3 -FuchsiaGymScript3: ; 7548a (1d:548a) - ld a, [W_ISINBATTLE] ; W_ISINBATTLE +FuchsiaGymScript3: + ld a, [wIsInBattle] cp $ff jp z, FuchsiaGymScript_75477 ld a, $f0 ld [wJoyIgnore], a -FuchsiaGymScript3_75497: ; 75497 (1d:5497) +FuchsiaGymScript3_75497: ld a, $9 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a call DisplayTextID - ld hl, wd792 - set 1, [hl] - ld bc, (TM_06 << 8) | 1 + SetEvent EVENT_BEAT_KOGA + lb bc, TM_06, 1 call GiveItem jr nc, .BagFull ld a, $a - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a call DisplayTextID - ld hl, wd792 - set 0, [hl] + SetEvent EVENT_GOT_TM06 jr .asm_754c0 .BagFull ld a, $b - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a call DisplayTextID .asm_754c0 - ld hl, W_OBTAINEDBADGES + ld hl, wObtainedBadges set 4, [hl] - ld hl, wd72a + ld hl, wBeatGymFlags set 4, [hl] ; deactivate gym trainers - ld a, [wd792] - or %11111100 - ld [wd792], a + SetEventRange EVENT_BEAT_FUCHSIA_GYM_TRAINER_0, EVENT_BEAT_FUCHSIA_GYM_TRAINER_5 jp FuchsiaGymScript_75477 -FuchsiaGymTextPointers: ; 754d5 (1d:54d5) +FuchsiaGymTextPointers: dw FuchsiaGymText1 dw FuchsiaGymText2 dw FuchsiaGymText3 @@ -87,250 +83,247 @@ FuchsiaGymTextPointers: ; 754d5 (1d:54d5) dw FuchsiaGymText10 dw FuchsiaGymText11 -FuchsiaGymTrainerHeaders: ; 754eb (1d:54eb) -FuchsiaGymTrainerHeader0: ; 754eb (1d:54eb) - db $2 ; flag's bit +FuchsiaGymTrainerHeader0: + dbEventFlagBit EVENT_BEAT_FUCHSIA_GYM_TRAINER_0 db ($2 << 4) ; trainer's view range - dw wd792 ; flag's byte - dw FuchsiaGymBattleText1 ; 0x55ae TextBeforeBattle - dw FuchsiaGymAfterBattleText1 ; 0x55b8 TextAfterBattle - dw FuchsiaGymEndBattleText1 ; 0x55b3 TextEndBattle - dw FuchsiaGymEndBattleText1 ; 0x55b3 TextEndBattle - -FuchsiaGymTrainerHeader2: ; 754f7 (1d:54f7) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_FUCHSIA_GYM_TRAINER_0 + dw FuchsiaGymBattleText1 ; TextBeforeBattle + dw FuchsiaGymAfterBattleText1 ; TextAfterBattle + dw FuchsiaGymEndBattleText1 ; TextEndBattle + dw FuchsiaGymEndBattleText1 ; TextEndBattle + +FuchsiaGymTrainerHeader1: + dbEventFlagBit EVENT_BEAT_FUCHSIA_GYM_TRAINER_1 db ($2 << 4) ; trainer's view range - dw wd792 ; flag's byte - dw FuchsiaGymBattleText2 ; 0x55c7 TextBeforeBattle - dw FuchsiaGymAfterBattleText2 ; 0x55d1 TextAfterBattle - dw FuchsiaGymEndBattleText2 ; 0x55cc TextEndBattle - dw FuchsiaGymEndBattleText2 ; 0x55cc TextEndBattle - -FuchsiaGymTrainerHeader3: ; 75503 (1d:5503) - db $4 ; flag's bit + dwEventFlagAddress EVENT_BEAT_FUCHSIA_GYM_TRAINER_1 + dw FuchsiaGymBattleText2 ; TextBeforeBattle + dw FuchsiaGymAfterBattleText2 ; TextAfterBattle + dw FuchsiaGymEndBattleText2 ; TextEndBattle + dw FuchsiaGymEndBattleText2 ; TextEndBattle + +FuchsiaGymTrainerHeader2: + dbEventFlagBit EVENT_BEAT_FUCHSIA_GYM_TRAINER_2 db ($4 << 4) ; trainer's view range - dw wd792 ; flag's byte - dw FuchsiaGymBattleText3 ; 0x55e0 TextBeforeBattle - dw FuchsiaGymAfterBattleText3 ; 0x55ea TextAfterBattle - dw FuchsiaGymEndBattleText3 ; 0x55e5 TextEndBattle - dw FuchsiaGymEndBattleText3 ; 0x55e5 TextEndBattle - -FuchsiaGymTrainerHeader4: ; 7550f (1d:550f) - db $5 ; flag's bit + dwEventFlagAddress EVENT_BEAT_FUCHSIA_GYM_TRAINER_2 + dw FuchsiaGymBattleText3 ; TextBeforeBattle + dw FuchsiaGymAfterBattleText3 ; TextAfterBattle + dw FuchsiaGymEndBattleText3 ; TextEndBattle + dw FuchsiaGymEndBattleText3 ; TextEndBattle + +FuchsiaGymTrainerHeader3: + dbEventFlagBit EVENT_BEAT_FUCHSIA_GYM_TRAINER_3 db ($2 << 4) ; trainer's view range - dw wd792 ; flag's byte - dw FuchsiaGymBattleText4 ; 0x55f9 TextBeforeBattle - dw FuchsiaGymAfterBattleText4 ; 0x5603 TextAfterBattle - dw FuchsiaGymEndBattleText4 ; 0x55fe TextEndBattle - dw FuchsiaGymEndBattleText4 ; 0x55fe TextEndBattle - -FuchsiaGymTrainerHeader5: ; 7551b (1d:551b) - db $6 ; flag's bit + dwEventFlagAddress EVENT_BEAT_FUCHSIA_GYM_TRAINER_3 + dw FuchsiaGymBattleText4 ; TextBeforeBattle + dw FuchsiaGymAfterBattleText4 ; TextAfterBattle + dw FuchsiaGymEndBattleText4 ; TextEndBattle + dw FuchsiaGymEndBattleText4 ; TextEndBattle + +FuchsiaGymTrainerHeader4: + dbEventFlagBit EVENT_BEAT_FUCHSIA_GYM_TRAINER_4 db ($2 << 4) ; trainer's view range - dw wd792 ; flag's byte - dw FuchsiaGymBattleText5 ; 0x5612 TextBeforeBattle - dw FuchsiaGymAfterBattleText5 ; 0x561c TextAfterBattle - dw FuchsiaGymEndBattleText5 ; 0x5617 TextEndBattle - dw FuchsiaGymEndBattleText5 ; 0x5617 TextEndBattle - -FuchsiaGymTrainerHeader6: ; 75527 (1d:5527) - db $7 ; flag's bit + dwEventFlagAddress EVENT_BEAT_FUCHSIA_GYM_TRAINER_4 + dw FuchsiaGymBattleText5 ; TextBeforeBattle + dw FuchsiaGymAfterBattleText5 ; TextAfterBattle + dw FuchsiaGymEndBattleText5 ; TextEndBattle + dw FuchsiaGymEndBattleText5 ; TextEndBattle + +FuchsiaGymTrainerHeader5: + dbEventFlagBit EVENT_BEAT_FUCHSIA_GYM_TRAINER_5 db ($2 << 4) ; trainer's view range - dw wd792 ; flag's byte - dw FuchsiaGymBattleText6 ; 0x562b TextBeforeBattle - dw FuchsiaGymAfterBattleText6 ; 0x5635 TextAfterBattle - dw FuchsiaGymEndBattleText6 ; 0x5630 TextEndBattle - dw FuchsiaGymEndBattleText6 ; 0x5630 TextEndBattle + dwEventFlagAddress EVENT_BEAT_FUCHSIA_GYM_TRAINER_5 + dw FuchsiaGymBattleText6 ; TextBeforeBattle + dw FuchsiaGymAfterBattleText6 ; TextAfterBattle + dw FuchsiaGymEndBattleText6 ; TextEndBattle + dw FuchsiaGymEndBattleText6 ; TextEndBattle db $ff -FuchsiaGymText1: ; 75534 (1d:5534) - db $08 ; asm - ld a, [wd792] - bit 1, a - jr z, .asm_181b6 ; 0x7553a - bit 0, a - jr nz, .asm_adc3b ; 0x7553e +FuchsiaGymText1: + TX_ASM + CheckEvent EVENT_BEAT_KOGA + jr z, .asm_181b6 + CheckEventReuseA EVENT_GOT_TM06 + jr nz, .asm_adc3b call z, FuchsiaGymScript3_75497 call DisableWaitingAfterTextDisplay - jr .asm_e84c6 ; 0x75546 -.asm_adc3b ; 0x75548 - ld hl, UnnamedText_7558b + jr .asm_e84c6 +.asm_adc3b + ld hl, KogaExplainToxicText call PrintText - jr .asm_e84c6 ; 0x7554e -.asm_181b6 ; 0x75550 - ld hl, UnnamedText_75581 + jr .asm_e84c6 +.asm_181b6 + ld hl, KogaBeforeBattleText call PrintText ld hl, wd72d set 6, [hl] set 7, [hl] - ld hl, UnnamedText_75586 - ld de, UnnamedText_75586 + ld hl, KogaAfterBattleText + ld de, KogaAfterBattleText call SaveEndBattleTextPointers - ldh a, [$8c] + ld a, [H_SPRITEINDEX] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters ld a, $5 - ld [W_GYMLEADERNO], a + ld [wGymLeaderNo], a xor a - ldh [$b4], a + ld [hJoyHeld], a ld a, $3 - ld [W_FUCHSIAGYMCURSCRIPT], a -.asm_e84c6 ; 0x7557e + ld [wFuchsiaGymCurScript], a +.asm_e84c6 jp TextScriptEnd -UnnamedText_75581: ; 75581 (1d:5581) - TX_FAR _UnnamedText_75581 +KogaBeforeBattleText: + TX_FAR _KogaBeforeBattleText db "@" -UnnamedText_75586: ; 75586 (1d:5586) - TX_FAR _UnnamedText_75586 +KogaAfterBattleText: + TX_FAR _KogaAfterBattleText db "@" -UnnamedText_7558b: ; 7558b (1d:558b) - TX_FAR _UnnamedText_7558b +KogaExplainToxicText: + TX_FAR _KogaExplainToxicText db "@" -FuchsiaGymText9: ; 75590 (1d:5590) - TX_FAR _UnnamedText_75590 +FuchsiaGymText9: + TX_FAR _FuchsiaGymText9 db "@" -FuchsiaGymText10: ; 75595 (1d:5595) +FuchsiaGymText10: TX_FAR _ReceivedTM06Text - db $11 + TX_SFX_KEY_ITEM -TM06ExplanationText: ; 7559a (1d:559a) +TM06ExplanationText: TX_FAR _TM06ExplanationText db "@" -FuchsiaGymText11: ; 7559f (1d:559f) +FuchsiaGymText11: TX_FAR _TM06NoRoomText db "@" -FuchsiaGymText2: ; 755a4 (1d:55a4) - db $08 ; asm +FuchsiaGymText2: + TX_ASM ld hl, FuchsiaGymTrainerHeader0 call TalkToTrainer jp TextScriptEnd -FuchsiaGymBattleText1: ; 755ae (1d:55ae) +FuchsiaGymBattleText1: TX_FAR _FuchsiaGymBattleText1 db "@" -FuchsiaGymEndBattleText1: ; 755b3 (1d:55b3) +FuchsiaGymEndBattleText1: TX_FAR _FuchsiaGymEndBattleText1 db "@" -FuchsiaGymAfterBattleText1: ; 755b8 (1d:55b8) +FuchsiaGymAfterBattleText1: TX_FAR _FuchsiaGymAfterBattleText1 db "@" -FuchsiaGymText3: ; 755bd (1d:55bd) - db $08 ; asm - ld hl, FuchsiaGymTrainerHeader2 +FuchsiaGymText3: + TX_ASM + ld hl, FuchsiaGymTrainerHeader1 call TalkToTrainer jp TextScriptEnd -FuchsiaGymBattleText2: ; 755c7 (1d:55c7) +FuchsiaGymBattleText2: TX_FAR _FuchsiaGymBattleText2 db "@" -FuchsiaGymEndBattleText2: ; 755cc (1d:55cc) +FuchsiaGymEndBattleText2: TX_FAR _FuchsiaGymEndBattleText2 db "@" -FuchsiaGymAfterBattleText2: ; 755d1 (1d:55d1) +FuchsiaGymAfterBattleText2: TX_FAR _FuchsiaGymAfterBattleText2 db "@" -FuchsiaGymText4: ; 755d6 (1d:55d6) - db $08 ; asm - ld hl, FuchsiaGymTrainerHeader3 +FuchsiaGymText4: + TX_ASM + ld hl, FuchsiaGymTrainerHeader2 call TalkToTrainer jp TextScriptEnd -FuchsiaGymBattleText3: ; 755e0 (1d:55e0) +FuchsiaGymBattleText3: TX_FAR _FuchsiaGymBattleText3 db "@" -FuchsiaGymEndBattleText3: ; 755e5 (1d:55e5) +FuchsiaGymEndBattleText3: TX_FAR _FuchsiaGymEndBattleText3 db "@" -FuchsiaGymAfterBattleText3: ; 755ea (1d:55ea) +FuchsiaGymAfterBattleText3: TX_FAR _FuchsiaGymAfterBattleText3 db "@" -FuchsiaGymText5: ; 755ef (1d:55ef) - db $08 ; asm - ld hl, FuchsiaGymTrainerHeader4 +FuchsiaGymText5: + TX_ASM + ld hl, FuchsiaGymTrainerHeader3 call TalkToTrainer jp TextScriptEnd -FuchsiaGymBattleText4: ; 755f9 (1d:55f9) +FuchsiaGymBattleText4: TX_FAR _FuchsiaGymBattleText4 db "@" -FuchsiaGymEndBattleText4: ; 755fe (1d:55fe) +FuchsiaGymEndBattleText4: TX_FAR _FuchsiaGymEndBattleText4 db "@" -FuchsiaGymAfterBattleText4: ; 75603 (1d:5603) +FuchsiaGymAfterBattleText4: TX_FAR _FuchsiaGymAfterBattleText4 db "@" -FuchsiaGymText6: ; 75608 (1d:5608) - db $08 ; asm - ld hl, FuchsiaGymTrainerHeader5 +FuchsiaGymText6: + TX_ASM + ld hl, FuchsiaGymTrainerHeader4 call TalkToTrainer jp TextScriptEnd -FuchsiaGymBattleText5: ; 75612 (1d:5612) +FuchsiaGymBattleText5: TX_FAR _FuchsiaGymBattleText5 db "@" -FuchsiaGymEndBattleText5: ; 75617 (1d:5617) +FuchsiaGymEndBattleText5: TX_FAR _FuchsiaGymEndBattleText5 db "@" -FuchsiaGymAfterBattleText5: ; 7561c (1d:561c) +FuchsiaGymAfterBattleText5: TX_FAR _FuchsiaGymAfterBattleText5 db "@" -FuchsiaGymText7: ; 75621 (1d:5621) - db $08 ; asm - ld hl, FuchsiaGymTrainerHeader6 +FuchsiaGymText7: + TX_ASM + ld hl, FuchsiaGymTrainerHeader5 call TalkToTrainer jp TextScriptEnd -FuchsiaGymBattleText6: ; 7562b (1d:562b) +FuchsiaGymBattleText6: TX_FAR _FuchsiaGymBattleText6 db "@" -FuchsiaGymEndBattleText6: ; 75630 (1d:5630) +FuchsiaGymEndBattleText6: TX_FAR _FuchsiaGymEndBattleText6 db "@" -FuchsiaGymAfterBattleText6: ; 75635 (1d:5635) +FuchsiaGymAfterBattleText6: TX_FAR _FuchsiaGymAfterBattleText6 db "@" -FuchsiaGymText8: ; 7563a (1d:563a) - db $08 ; asm - ld a, [wd792] - bit 1, a - ld hl, UnnamedText_75653 - jr nz, .asm_50671 ; 0x75643 - ld hl, UnnamedText_7564e -.asm_50671 ; 0x75648 +FuchsiaGymText8: + TX_ASM + CheckEvent EVENT_BEAT_KOGA + ld hl, FuchsiaGymText_75653 + jr nz, .asm_50671 + ld hl, FuchsiaGymText_7564e +.asm_50671 call PrintText jp TextScriptEnd -UnnamedText_7564e: ; 7564e (1d:564e) - TX_FAR _UnnamedText_7564e +FuchsiaGymText_7564e: + TX_FAR _FuchsiaGymText_7564e db "@" -UnnamedText_75653: ; 75653 (1d:5653) - TX_FAR _UnnamedText_75653 +FuchsiaGymText_75653: + TX_FAR _FuchsiaGymText_75653 db "@" diff --git a/scripts/fuchsiahouse1.asm b/scripts/fuchsiahouse1.asm index 4d5e6eb1..95e59503 100755 --- a/scripts/fuchsiahouse1.asm +++ b/scripts/fuchsiahouse1.asm @@ -1,20 +1,20 @@ -FuchsiaHouse1Script: ; 75018 (1d:5018) +FuchsiaHouse1Script: call EnableAutoTextBoxDrawing ret -FuchsiaHouse1TextPointers: ; 7501c (1d:501c) +FuchsiaHouse1TextPointers: dw FuchsiaHouse1Text1 dw FuchsiaHouse1Text2 dw FuchsiaHouse1Text3 -FuchsiaHouse1Text1: ; 75022 (1d:5022) +FuchsiaHouse1Text1: TX_FAR _FuchsiaHouse1Text1 db "@" -FuchsiaHouse1Text2: ; 75027 (1d:5027) +FuchsiaHouse1Text2: TX_FAR _FuchsiaHouse1Text2 db "@" -FuchsiaHouse1Text3: ; 7502c (1d:502c) +FuchsiaHouse1Text3: TX_FAR _FuchsiaHouse1Text3 db "@" diff --git a/scripts/fuchsiahouse2.asm b/scripts/fuchsiahouse2.asm index 33bae7e4..f9307c04 100755 --- a/scripts/fuchsiahouse2.asm +++ b/scripts/fuchsiahouse2.asm @@ -1,116 +1,113 @@ -FuchsiaHouse2Script: ; 750b5 (1d:50b5) +FuchsiaHouse2Script: jp EnableAutoTextBoxDrawing -FuchsiaHouse2TextPointers: ; 750b8 (1d:50b8) +FuchsiaHouse2TextPointers: dw FuchsiaHouse2Text1 - dw Predef5CText + dw PickUpItemText dw BoulderText dw FuchsiaHouse2Text4 dw FuchsiaHouse2Text5 -FuchsiaHouse2Text1: ; 750c2 (1d:50c2) - db $08 ; asm - ld a, [wd78e] - bit 0, a - jr nz, .subtract ; 0x750c8 +FuchsiaHouse2Text1: + TX_ASM + CheckEvent EVENT_GOT_HM04 + jr nz, .subtract ld b,GOLD_TEETH call IsItemInBag - jr nz, .asm_3f30f ; 0x750cf - ld a, [wd78e] - bit 1, a - jr nz, .asm_60cba ; 0x750d6 + jr nz, .asm_3f30f + CheckEvent EVENT_GAVE_GOLD_TEETH + jr nz, .asm_60cba ld hl, WardenGibberishText1 call PrintText call YesNoChoice ld a, [wCurrentMenuItem] and a ld hl, WardenGibberishText3 - jr nz, .asm_61238 ; 0x750e8 + jr nz, .asm_61238 ld hl, WardenGibberishText2 -.asm_61238 ; 0x750ed +.asm_61238 call PrintText - jr .asm_52039 ; 0x750f0 -.asm_3f30f ; 0x750f2 + jr .asm_52039 +.asm_3f30f ld hl, WardenTeethText1 call PrintText ld a, GOLD_TEETH - ldh [$db], a + ld [$ffdb], a callba RemoveItemByID - ld hl, wd78e - set 1, [hl] -.asm_60cba ; 0x75109 + SetEvent EVENT_GAVE_GOLD_TEETH +.asm_60cba ld hl, WardenThankYouText call PrintText - ld bc,(HM_04 << 8) | 1 + lb bc, HM_04, 1 call GiveItem jr nc, .BagFull ld hl, ReceivedHM04Text call PrintText - ld hl, wd78e - set 0, [hl] - jr .asm_52039 ; 0x75122 -.subtract ; 0x75124 + SetEvent EVENT_GOT_HM04 + jr .asm_52039 +.subtract ld hl, HM04ExplanationText call PrintText - jr .asm_52039 ; 0x7512a + jr .asm_52039 .BagFull ld hl, HM04NoRoomText call PrintText -.asm_52039 ; 0x75132 +.asm_52039 jp TextScriptEnd -WardenGibberishText1: ; 75135 (1d:5135) +WardenGibberishText1: TX_FAR _WardenGibberishText1 db "@" -WardenGibberishText2: ; 7513a (1d:513a) +WardenGibberishText2: TX_FAR _WardenGibberishText2 db "@" -WardenGibberishText3: ; 7513f (1d:513f) +WardenGibberishText3: TX_FAR _WardenGibberishText3 db "@" -WardenTeethText1: ; 75144 (1d:5144) +WardenTeethText1: TX_FAR _WardenTeethText1 - db $0b + TX_SFX_ITEM_1 -WardenTeethText2: ; 75149 (1d:5149) +WardenTeethText2: TX_FAR _WardenTeethText2 db "@" -WardenThankYouText: ; 7514e (1d:514e) +WardenThankYouText: TX_FAR _WardenThankYouText db "@" -ReceivedHM04Text: ; 75153 (1d:5153) +ReceivedHM04Text: TX_FAR _ReceivedHM04Text - db $0B, "@" + TX_SFX_ITEM_1 + db "@" -HM04ExplanationText: ; 75159 (1d:5159) +HM04ExplanationText: TX_FAR _HM04ExplanationText db "@" -HM04NoRoomText: ; 7515e (1d:515e) +HM04NoRoomText: TX_FAR _HM04NoRoomText db "@" -FuchsiaHouse2Text5: ; 75163 (1d:5163) -FuchsiaHouse2Text4: ; 75163 (1d:5163) - db $08 ; asm - ldh a, [$8c] +FuchsiaHouse2Text5: +FuchsiaHouse2Text4: + TX_ASM + ld a, [H_SPRITEINDEX] cp $4 ld hl, FuchsiaHouse2Text_7517b - jr nz, .asm_4c9a2 ; 0x7516b + jr nz, .asm_4c9a2 ld hl, FuchsiaHouse2Text_75176 -.asm_4c9a2 ; 0x75170 +.asm_4c9a2 call PrintText jp TextScriptEnd -FuchsiaHouse2Text_75176: ; 75176 (1d:5176) +FuchsiaHouse2Text_75176: TX_FAR _FuchsiaHouse2Text_75176 db "@" -FuchsiaHouse2Text_7517b: ; 7517b (1d:517b) +FuchsiaHouse2Text_7517b: TX_FAR _FuchsiaHouse2Text_7517b db "@" diff --git a/scripts/fuchsiahouse3.asm b/scripts/fuchsiahouse3.asm index 372df6a6..586d62f5 100755 --- a/scripts/fuchsiahouse3.asm +++ b/scripts/fuchsiahouse3.asm @@ -1,11 +1,11 @@ -FuchsiaHouse3Script: ; 5617c (15:617c) +FuchsiaHouse3Script: jp EnableAutoTextBoxDrawing -FuchsiaHouse3TextPointers: ; 5617f (15:617f) +FuchsiaHouse3TextPointers: dw FuchsiaHouse3Text1 -FuchsiaHouse3Text1: ; 56181 (15:6181) - db $08 ; asm +FuchsiaHouse3Text1: + TX_ASM ld a, [wd728] bit 4, a jr nz, .after @@ -18,7 +18,7 @@ FuchsiaHouse3Text1: ; 56181 (15:6181) and a jr nz, .refused - ld bc, (GOOD_ROD << 8) | 1 + lb bc, GOOD_ROD, 1 call GiveItem jr nc, .full @@ -43,16 +43,16 @@ FuchsiaHouse3Text1: ; 56181 (15:6181) call PrintText jp TextScriptEnd -FuchsiaHouse3Text_561bd: ; 561bd (15:61bd) +FuchsiaHouse3Text_561bd: TX_FAR _FuchsiaHouse3Text_561bd db "@" -FuchsiaHouse3Text_561c2: ; 561c2 (15:61c2) - TX_FAR _FuchsiaHouse3Text_561c2 ; 0xa06e8 - db $0B +FuchsiaHouse3Text_561c2: + TX_FAR _FuchsiaHouse3Text_561c2 + TX_SFX_ITEM_1 db "@" -UnnamedText_561c8: ; 561c8 +UnusedText_561c8: para "つり こそ" line "おとこの ロマン だ!" @@ -62,14 +62,14 @@ UnnamedText_561c8: ; 561c8 line "もっと いいもんが つれるんじゃ!" done -FuchsiaHouse3Text_56212: ; 56212 (15:6212) +FuchsiaHouse3Text_56212: TX_FAR _FuchsiaHouse3Text_56212 db "@" -FuchsiaHouse3Text_56217: ; 56217 (15:6217) +FuchsiaHouse3Text_56217: TX_FAR _FuchsiaHouse3Text_56217 db "@" -FuchsiaHouse3Text_5621c: ; 5621c (15:621c) +FuchsiaHouse3Text_5621c: TX_FAR _FuchsiaHouse3Text_5621c db "@" diff --git a/scripts/fuchsiamart.asm b/scripts/fuchsiamart.asm index 792dafa2..96df9290 100755 --- a/scripts/fuchsiamart.asm +++ b/scripts/fuchsiamart.asm @@ -1,15 +1,15 @@ -FuchsiaMartScript: ; 1dd88 (7:5d88) +FuchsiaMartScript: jp EnableAutoTextBoxDrawing -FuchsiaMartTextPointers: ; 1dd8b (7:5d8b) - dw FuchsiaMartText1 +FuchsiaMartTextPointers: + dw FuchsiaCashierText dw FuchsiaMartText2 dw FuchsiaMartText3 -FuchsiaMartText2: ; 1dd91 (7:5d91) +FuchsiaMartText2: TX_FAR _FuchsiaMartText2 db "@" -FuchsiaMartText3: ; 1dd96 (7:5d96) +FuchsiaMartText3: TX_FAR _FuchsiaMartText3 db "@" diff --git a/scripts/fuchsiameetingroom.asm b/scripts/fuchsiameetingroom.asm index 140a5ccc..7995a49b 100755 --- a/scripts/fuchsiameetingroom.asm +++ b/scripts/fuchsiameetingroom.asm @@ -1,20 +1,20 @@ -FuchsiaMeetingRoomScript: ; 756e3 (1d:56e3) +FuchsiaMeetingRoomScript: call EnableAutoTextBoxDrawing ret -FuchsiaMeetingRoomTextPointers: ; 756e7 (1d:56e7) +FuchsiaMeetingRoomTextPointers: dw FuchsiaMeetingRoomText1 dw FuchsiaMeetingRoomText2 dw FuchsiaMeetingRoomText3 -FuchsiaMeetingRoomText1: ; 756ed (1d:56ed) +FuchsiaMeetingRoomText1: TX_FAR _FuchsiaMeetingRoomText1 db "@" -FuchsiaMeetingRoomText2: ; 756f2 (1d:56f2) +FuchsiaMeetingRoomText2: TX_FAR _FuchsiaMeetingRoomText2 db "@" -FuchsiaMeetingRoomText3: ; 756f7 (1d:56f7) +FuchsiaMeetingRoomText3: TX_FAR _FuchsiaMeetingRoomText3 db "@" diff --git a/scripts/fuchsiapokecenter.asm b/scripts/fuchsiapokecenter.asm index 26f88844..a6111e84 100755 --- a/scripts/fuchsiapokecenter.asm +++ b/scripts/fuchsiapokecenter.asm @@ -1,23 +1,23 @@ -FuchsiaPokecenterScript: ; 75063 (1d:5063) +FuchsiaPokecenterScript: call Serial_TryEstablishingExternallyClockedConnection jp EnableAutoTextBoxDrawing -FuchsiaPokecenterTextPointers: ; 75069 (1d:5069) - dw FuchsiaPokecenterText1 +FuchsiaPokecenterTextPointers: + dw FuchsiaHealNurseText dw FuchsiaPokecenterText2 dw FuchsiaPokecenterText3 - dw FuchsiaPokecenterText4 + dw FuchsiaTradeNurseText -FuchsiaPokecenterText1: ; 75071 (1d:5071) - db $ff +FuchsiaHealNurseText: + TX_POKECENTER_NURSE -FuchsiaPokecenterText2: ; 75072 (1d:5072) +FuchsiaPokecenterText2: TX_FAR _FuchsiaPokecenterText1 db "@" -FuchsiaPokecenterText3: ; 75077 (1d:5077) +FuchsiaPokecenterText3: TX_FAR _FuchsiaPokecenterText3 db "@" -FuchsiaPokecenterText4: ; 7507c (1d:507c) - db $f6 +FuchsiaTradeNurseText: + TX_CABLE_CLUB_RECEPTIONIST diff --git a/scripts/gary.asm b/scripts/gary.asm index c0785cab..1fe65fb0 100755 --- a/scripts/gary.asm +++ b/scripts/gary.asm @@ -1,16 +1,16 @@ -GaryScript: ; 75f1d (1d:5f1d) +GaryScript: call EnableAutoTextBoxDrawing ld hl, GaryScriptPointers - ld a, [W_GARYCURSCRIPT] + ld a, [wGaryCurScript] jp CallFunctionInTable -GaryScript_75f29: ; 75f29 (1d:5f29) +ResetGaryScript: xor a ld [wJoyIgnore], a - ld [W_GARYCURSCRIPT], a + ld [wGaryCurScript], a ret -GaryScriptPointers: ; 75f31 (1d:5f31) +GaryScriptPointers: dw GaryScript0 dw GaryScript1 dw GaryScript2 @@ -23,209 +23,215 @@ GaryScriptPointers: ; 75f31 (1d:5f31) dw GaryScript9 dw GaryScript10 -GaryScript0: ; 75f47 (1d:5f47) +GaryScript0: ret -GaryScript1: ; 75f48 (1d:5f48) +GaryScript1: ld a, $ff ld [wJoyIgnore], a ld hl, wSimulatedJoypadStatesEnd - ld de, RLEMovement75f63 + ld de, GaryEntrance_RLEMovement call DecodeRLEList dec a ld [wSimulatedJoypadStatesIndex], a call StartSimulatingJoypadStates ld a, $2 - ld [W_GARYCURSCRIPT], a + ld [wGaryCurScript], a ret -RLEMovement75f63: ; 75f63 (1d:5f63) - db $40,1 - db $10,1 - db $40,3 +GaryEntrance_RLEMovement: + db D_UP,1 + db D_RIGHT,1 + db D_UP,3 db $ff -GaryScript2: ; 75f6a (1d:5f6a) +GaryScript2: ld a, [wSimulatedJoypadStatesIndex] and a ret nz call Delay3 xor a ld [wJoyIgnore], a - ld hl, W_OPTIONS - res 7, [hl] + ld hl, wOptions + res 7, [hl] ; Turn on battle animations to make the battle feel more epic. ld a, $1 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID call Delay3 ld hl, wd72d set 6, [hl] set 7, [hl] - ld hl, GaryText_760f9 - ld de, GaryText_760fe + ld hl, GaryDefeatedText + ld de, GaryVictoryText call SaveEndBattleTextPointers - ld a, SONY3 + $c8 - ld [W_CUROPPONENT], a + ld a, OPP_SONY3 + ld [wCurOpponent], a ; select which team to use during the encounter - ld a, [W_RIVALSTARTER] + ld a, [wRivalStarter] cp STARTER2 - jr nz, .NotSquirtle ; 0x75f9f $4 + jr nz, .NotStarter2 ld a, $1 - jr .done -.NotSquirtle + jr .saveTrainerId +.NotStarter2 cp STARTER3 - jr nz, .Charmander ; 0x75fa7 $4 + jr nz, .NotStarter3 ld a, $2 - jr .done -.Charmander + jr .saveTrainerId +.NotStarter3 ld a, $3 -.done - ld [W_TRAINERNO], a +.saveTrainerId + ld [wTrainerNo], a xor a ld [hJoyHeld], a ld a, $3 - ld [W_GARYCURSCRIPT], a + ld [wGaryCurScript], a ret -GaryScript3: ; 75fbb (1d:5fbb) - ld a, [W_ISINBATTLE] +GaryScript3: + ld a, [wIsInBattle] cp $ff - jp z, GaryScript_75f29 - call UpdateSprites ; move sprites - ld hl, wd867 - set 1, [hl] + jp z, ResetGaryScript + call UpdateSprites + SetEvent EVENT_BEAT_CHAMPION_RIVAL ld a, $f0 ld [wJoyIgnore], a ld a, $1 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call GaryScript_760c8 ld a, $1 - ld [$ff8c], a + ld [H_SPRITEINDEX], a call SetSpriteMovementBytesToFF ld a, $4 - ld [W_GARYCURSCRIPT], a + ld [wGaryCurScript], a ret -GaryScript4: ; 75fe4 (1d:5fe4) +GaryScript4: callba Music_Cities1AlternateTempo ld a, $2 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call GaryScript_760c8 ld a, $2 - ld [$ff8c], a + ld [H_SPRITEINDEX], a call SetSpriteMovementBytesToFF - ld de, MovementData_76014 + ld de, OakEntranceAfterVictoryMovement ld a, $2 - ld [$ff8c], a + ld [H_SPRITEINDEX], a call MoveSprite ld a, HS_CHAMPIONS_ROOM_OAK - ld [wcc4d], a + ld [wMissableObjectIndex], a predef ShowObject ld a, $5 - ld [W_GARYCURSCRIPT], a + ld [wGaryCurScript], a ret -MovementData_76014: ; 76014 (1d:6014) - db $40,$40,$40,$40,$40,$FF +OakEntranceAfterVictoryMovement: + db NPC_MOVEMENT_UP + db NPC_MOVEMENT_UP + db NPC_MOVEMENT_UP + db NPC_MOVEMENT_UP + db NPC_MOVEMENT_UP + db $FF -GaryScript5: ; 7601a (1d:601a) +GaryScript5: ld a, [wd730] bit 0, a ret nz - ld a, $2 - ld [wd528], a + ld a, PLAYER_DIR_LEFT + ld [wPlayerMovingDirection], a ld a, $1 - ld [$ff8c], a - ld a, $8 - ld [$ff8d], a + ld [H_SPRITEINDEX], a + ld a, SPRITE_FACING_LEFT + ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $2 - ld [$ff8c], a - xor a - ld [$ff8d], a - call SetSpriteFacingDirectionAndDelay ; face object + ld [H_SPRITEINDEX], a + xor a ; SPRITE_FACING_DOWN + ld [hSpriteFacingDirection], a + call SetSpriteFacingDirectionAndDelay ld a, $3 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call GaryScript_760c8 ld a, $6 - ld [W_GARYCURSCRIPT], a + ld [wGaryCurScript], a ret -GaryScript6: ; 76047 (1d:6047) +GaryScript6: ld a, $2 - ld [$ff8c], a - ld a, $c - ld [$ff8d], a - call SetSpriteFacingDirectionAndDelay ; face object + ld [H_SPRITEINDEX], a + ld a, SPRITE_FACING_RIGHT + ld [hSpriteFacingDirection], a + call SetSpriteFacingDirectionAndDelay ld a, $4 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call GaryScript_760c8 ld a, $7 - ld [W_GARYCURSCRIPT], a + ld [wGaryCurScript], a ret -GaryScript7: ; 7605f (1d:605f) +GaryScript7: ld a, $2 - ld [$ff8c], a - xor a - ld [$ff8d], a - call SetSpriteFacingDirectionAndDelay ; face object + ld [H_SPRITEINDEX], a + xor a ; SPRITE_FACING_DOWN + ld [hSpriteFacingDirection], a + call SetSpriteFacingDirectionAndDelay ld a, $5 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call GaryScript_760c8 - ld de, MovementData_76080 + ld de, OakExitGaryRoomMovement ld a, $2 - ld [$ff8c], a + ld [H_SPRITEINDEX], a call MoveSprite ld a, $8 - ld [W_GARYCURSCRIPT], a + ld [wGaryCurScript], a ret -MovementData_76080: ; 76080 (1d:6080) - db $40,$40,$FF +OakExitGaryRoomMovement: + db NPC_MOVEMENT_UP + db NPC_MOVEMENT_UP + db $FF -GaryScript8: ; 76083 (1d:6083) +GaryScript8: ld a, [wd730] bit 0, a ret nz ld a, HS_CHAMPIONS_ROOM_OAK - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject ld a, $9 - ld [W_GARYCURSCRIPT], a + ld [wGaryCurScript], a ret -GaryScript9: ; 76099 (1d:6099) +GaryScript9: ld a, $ff ld [wJoyIgnore], a ld hl, wSimulatedJoypadStatesEnd - ld de, RLEMovement760b4 + ld de, WalkToHallOfFame_RLEMovment call DecodeRLEList dec a ld [wSimulatedJoypadStatesIndex], a call StartSimulatingJoypadStates ld a, $a - ld [W_GARYCURSCRIPT], a + ld [wGaryCurScript], a ret -RLEMovement760b4 ; 760b4 (1d:60b4) - db $40,4 - db $20,1 +WalkToHallOfFame_RLEMovment: + db D_UP,4 + db D_LEFT,1 db $ff -GaryScript10: ; 760b9 (1d:60b9) +GaryScript10: ld a, [wSimulatedJoypadStatesIndex] and a ret nz xor a ld [wJoyIgnore], a ld a, $0 - ld [W_GARYCURSCRIPT], a + ld [wGaryCurScript], a ret -GaryScript_760c8 ; 760c8 (1d:60c8) +GaryScript_760c8: ld a, $f0 ld [wJoyIgnore], a call DisplayTextID @@ -233,61 +239,60 @@ GaryScript_760c8 ; 760c8 (1d:60c8) ld [wJoyIgnore], a ret -GaryTextPointers: ; 760d6 (1d:60d6) +GaryTextPointers: dw GaryText1 dw GaryText2 dw GaryText3 dw GaryText4 dw GaryText5 -GaryText1: ; 760e0 (1d:60e0) - db $08 ; asm - ld a, [wd867] - bit 1, a - ld hl, GaryText_760f4 - jr z, .asm_17e9f ; 0x760e9 +GaryText1: + TX_ASM + CheckEvent EVENT_BEAT_CHAMPION_RIVAL + ld hl, GaryChampionIntroText + jr z, .printText ld hl, GaryText_76103 -.asm_17e9f ; 0x760ee +.printText call PrintText jp TextScriptEnd -GaryText_760f4: ; 760f4 (1d:60f4) - TX_FAR _GaryText_760f4 +GaryChampionIntroText: + TX_FAR _GaryChampionIntroText db "@" -GaryText_760f9: ; 760f9 (1d:60f9) - TX_FAR _GaryText_760f9 +GaryDefeatedText: + TX_FAR _GaryDefeatedText db "@" -GaryText_760fe: ; 760fe (1d:60fe) - TX_FAR _GaryText_760fe +GaryVictoryText: + TX_FAR _GaryVictoryText db "@" -GaryText_76103: ; 76103 (1d:6103) +GaryText_76103: TX_FAR _GaryText_76103 db "@" -GaryText2: ; 76108 (1d:6108) +GaryText2: TX_FAR _GaryText2 db "@" -GaryText3: ; 7610d (1d:610d) - db $8 - ld a, [W_PLAYERSTARTER] +GaryText3: + TX_ASM + ld a, [wPlayerStarter] ld [wd11e], a call GetMonName ld hl, GaryText_76120 call PrintText jp TextScriptEnd -GaryText_76120: ; 76120 (1d:6120) +GaryText_76120: TX_FAR _GaryText_76120 db "@" -GaryText4: ; 76125 (1d:6125) +GaryText4: TX_FAR _GaryText_76125 db "@" -GaryText5: ; 7612a (1d:612a) +GaryText5: TX_FAR _GaryText_7612a db "@" diff --git a/scripts/halloffameroom.asm b/scripts/halloffameroom.asm index c44622c7..94e64431 100755 --- a/scripts/halloffameroom.asm +++ b/scripts/halloffameroom.asm @@ -1,65 +1,61 @@ -HallofFameRoomScript: ; 5a49e (16:649e) +HallofFameRoomScript: call EnableAutoTextBoxDrawing ld hl, HallofFameRoomScriptPointers - ld a, [W_HALLOFFAMEROOMCURSCRIPT] + ld a, [wHallOfFameRoomCurScript] jp CallFunctionInTable -HallofFameRoomScript_5a4aa: ; 5a4aa (16:64aa) +HallofFameRoomScript_5a4aa: xor a ld [wJoyIgnore], a - ld [W_HALLOFFAMEROOMCURSCRIPT], a + ld [wHallOfFameRoomCurScript], a ret -HallofFameRoomScriptPointers: ; 5a4b2 (16:64b2) +HallofFameRoomScriptPointers: dw HallofFameRoomScript0 dw HallofFameRoomScript1 dw HallofFameRoomScript2 dw HallofFameRoomScript3 -HallofFameRoomScript3: ; 5a4ba (16:64ba) +HallofFameRoomScript3: ret -HallofFameRoomScript2: ; 5a4bb (16:64bb) +HallofFameRoomScript2: call Delay3 - ld a, [wd358] + ld a, [wLetterPrintingDelayFlags] push af xor a ld [wJoyIgnore], a predef HallOfFamePC pop af - ld [wd358], a - ld hl, W_FLAGS_D733 + ld [wLetterPrintingDelayFlags], a + ld hl, wFlags_D733 res 1, [hl] inc hl set 0, [hl] xor a - ld hl, W_LORELEICURSCRIPT - ld [hli], a - ld [hli], a - ld [hl], a - ld [W_LANCECURSCRIPT], a - ld [W_HALLOFFAMEROOMCURSCRIPT], a - ld hl, wd863 - ld [hli], a - ld [hli], a + ld hl, wLoreleiCurScript ld [hli], a ld [hli], a ld [hl], a + ld [wLanceCurScript], a + ld [wHallOfFameRoomCurScript], a + ; Elite 4 events + ResetEventRange ELITE4_EVENTS_START, ELITE4_CHAMPION_EVENTS_END, 1 xor a - ld [W_HALLOFFAMEROOMCURSCRIPT], a + ld [wHallOfFameRoomCurScript], a ld a, PALLET_TOWN ld [wLastBlackoutMap], a callba SaveSAVtoSRAM ld b, 5 -.asm_5a4ff +.delayLoop ld c, 600 / 5 call DelayFrames dec b - jr nz, .asm_5a4ff ; 0x5a505 $f8 + jr nz, .delayLoop call WaitForTextScrollButtonPress jp Init -HallofFameRoomScript0: ; 5a50d (16:650d) +HallofFameRoomScript0: ld a, $ff ld [wJoyIgnore], a ld hl, wSimulatedJoypadStatesEnd @@ -69,45 +65,45 @@ HallofFameRoomScript0: ; 5a50d (16:650d) ld [wSimulatedJoypadStatesIndex], a call StartSimulatingJoypadStates ld a, $1 - ld [W_HALLOFFAMEROOMCURSCRIPT], a + ld [wHallOfFameRoomCurScript], a ret -RLEMovement5a528: ; 5a528 (16:6528) - db $40,$5 +RLEMovement5a528: + db D_UP,$5 db $ff -HallofFameRoomScript1: ; 5a52b (16:652b) +HallofFameRoomScript1: ld a, [wSimulatedJoypadStatesIndex] and a ret nz + ld a, PLAYER_DIR_RIGHT + ld [wPlayerMovingDirection], a ld a, $1 - ld [wd528], a - ld a, $1 - ld [$ff8c], a + ld [H_SPRITEINDEX], a call SetSpriteMovementBytesToFF - ld a, $8 - ld [$ff8d], a + ld a, SPRITE_FACING_LEFT + ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay call Delay3 xor a ld [wJoyIgnore], a - inc a - ld [wd528], a + inc a ; PLAYER_DIR_RIGHT + ld [wPlayerMovingDirection], a ld a, $1 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $ff ld [wJoyIgnore], a ld a, HS_UNKNOWN_DUNGEON_GUY - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject ld a, $2 - ld [W_HALLOFFAMEROOMCURSCRIPT], a + ld [wHallOfFameRoomCurScript], a ret -HallofFameRoomTextPointers: ; 5a56a (16:656a) +HallofFameRoomTextPointers: dw HallofFameRoomText1 -HallofFameRoomText1: ; 5a56c (16:656c) +HallofFameRoomText1: TX_FAR _HallofFameRoomText1 db "@" diff --git a/scripts/indigoplateau.asm b/scripts/indigoplateau.asm index 9e4802ba..6a6fdb6c 100755 --- a/scripts/indigoplateau.asm +++ b/scripts/indigoplateau.asm @@ -1,4 +1,4 @@ -IndigoPlateauScript: ; 50935 (14:4935) +IndigoPlateauScript: ret -IndigoPlateauTextPointers: ; 50936 (14:4936) +IndigoPlateauTextPointers: diff --git a/scripts/indigoplateaulobby.asm b/scripts/indigoplateaulobby.asm index 1b09a61d..c26f6f0c 100755 --- a/scripts/indigoplateaulobby.asm +++ b/scripts/indigoplateaulobby.asm @@ -1,41 +1,36 @@ -IndigoPlateauLobbyScript: ; 19c5b (6:5c5b) +IndigoPlateauLobbyScript: call Serial_TryEstablishingExternallyClockedConnection call EnableAutoTextBoxDrawing - ld hl, wd126 + ld hl, wCurrentMapScriptFlags bit 6, [hl] res 6, [hl] ret z - ld hl, wd869 - res 7, [hl] - ld hl, wd734 + ResetEvent EVENT_VICTORY_ROAD_1_BOULDER_ON_SWITCH + ld hl, wBeatLorelei bit 1, [hl] res 1, [hl] ret z - ld hl, wd863 - xor a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hl], a + ; Elite 4 events + ResetEventRange ELITE4_EVENTS_START, EVENT_LANCES_ROOM_LOCK_DOOR ret -IndigoPlateauLobbyTextPointers: ; 19c7f (6:5c7f) - dw IndigoPlateauLobbyText1 +IndigoPlateauLobbyTextPointers: + dw IndigoHealNurseText dw IndigoPlateauLobbyText2 dw IndigoPlateauLobbyText3 - dw IndigoPlateauLobbyText4 - dw IndigoPlateauLobbyText5 + dw IndigoCashierText + dw IndigoTradeNurseText -IndigoPlateauLobbyText1: ; 19c89 (6:5c89) - db $ff +IndigoHealNurseText: + TX_POKECENTER_NURSE -IndigoPlateauLobbyText2: ; 19c8a (6:5c8a) - TX_FAR _IndigoPlateauLobbyText1 +IndigoPlateauLobbyText2: + TX_FAR _IndigoPlateauLobbyText2 db "@" -IndigoPlateauLobbyText3: ; 19c8f (6:5c8f) +IndigoPlateauLobbyText3: TX_FAR _IndigoPlateauLobbyText3 db "@" -IndigoPlateauLobbyText5: ; 19c94 (6:5c94) - db $f6 +IndigoTradeNurseText: + TX_CABLE_CLUB_RECEPTIONIST diff --git a/scripts/lab1.asm b/scripts/lab1.asm index a4ec9b41..5b08f4f2 100755 --- a/scripts/lab1.asm +++ b/scripts/lab1.asm @@ -1,30 +1,30 @@ -Lab1Script: ; 75b8c (1d:5b8c) +Lab1Script: call EnableAutoTextBoxDrawing ret -Lab1TextPointers: ; 75b90 (1d:5b90) +Lab1TextPointers: dw Lab1Text1 dw Lab1Text2 dw Lab1Text3 dw Lab1Text4 dw Lab1Text5 -Lab1Text1: ; 75b9a (1d:5b9a) +Lab1Text1: TX_FAR _Lab1Text1 db "@" -Lab1Text2: ; 75b9f (1d:5b9f) +Lab1Text2: TX_FAR _Lab1Text2 db "@" -Lab1Text3: ; 75ba4 (1d:5ba4) +Lab1Text3: TX_FAR _Lab1Text3 db "@" -Lab1Text4: ; 75ba9 (1d:5ba9) +Lab1Text4: TX_FAR _Lab1Text4 db "@" -Lab1Text5: ; 75bae (1d:5bae) +Lab1Text5: TX_FAR _Lab1Text5 db "@" diff --git a/scripts/lab2.asm b/scripts/lab2.asm index 9839a563..ed9ef1b4 100755 --- a/scripts/lab2.asm +++ b/scripts/lab2.asm @@ -1,25 +1,25 @@ -Lab2Script: ; 75c21 (1d:5c21) +Lab2Script: jp EnableAutoTextBoxDrawing -Lab2TextPointers: ; 75c24 (1d:5c24) +Lab2TextPointers: dw Lab2Text1 dw Lab2Text2 dw Lab2Text3 -Lab2Text1: ; 75c2a (1d:5c2a) +Lab2Text1: TX_FAR _Lab2Text1 db "@" -Lab2Text2: ; 75c2f (1d:5c2f) - db $8 +Lab2Text2: + TX_ASM ld a, $7 ld [wWhichTrade], a - jr asm_78552 ; 0x75c35 $6 + jr Lab2DoTrade -Lab2Text3: ; 75c37 (1d:5c37) - db $8 +Lab2Text3: + TX_ASM ld a, $8 ld [wWhichTrade], a -asm_78552: ; 75c3d (1d:5c3d) +Lab2DoTrade: predef DoInGameTradeDialogue jp TextScriptEnd diff --git a/scripts/lab3.asm b/scripts/lab3.asm index 66839b17..b533d162 100755 --- a/scripts/lab3.asm +++ b/scripts/lab3.asm @@ -1,63 +1,62 @@ -Lab3Script: ; 75c87 (1d:5c87) +Lab3Script: jp EnableAutoTextBoxDrawing -Lab3TextPointers: ; 75c8a (1d:5c8a) +Lab3TextPointers: dw Lab3Text1 dw Lab3Text2 dw Lab3Text3 dw Lab3Text4 dw Lab3Text5 -Lab3Text1: ; 75c94 (1d:5c94) - db $08 ; asm - ld a, [wd7a1] - bit 7, a - jr nz, .asm_e551a ; 0x75c9a +Lab3Text1: + TX_ASM + CheckEvent EVENT_GOT_TM35 + jr nz, .asm_e551a ld hl, TM35PreReceiveText call PrintText - ld bc, (TM_35 << 8) | 1 + lb bc, TM_35, 1 call GiveItem jr nc, .BagFull ld hl, ReceivedTM35Text call PrintText - ld hl, wd7a1 - set 7, [hl] - jr .asm_eb896 ; 0x75cb5 + SetEvent EVENT_GOT_TM35 + jr .asm_eb896 .BagFull ld hl, TM35NoRoomText call PrintText - jr .asm_eb896 ; 0x75cbd -.asm_e551a ; 0x75cbf + jr .asm_eb896 +.asm_e551a ld hl, TM35ExplanationText call PrintText -.asm_eb896 ; 0x75cc5 +.asm_eb896 jp TextScriptEnd -TM35PreReceiveText: ; 75cc8 (1d:5cc8) +TM35PreReceiveText: TX_FAR _TM35PreReceiveText db "@" -ReceivedTM35Text: ; 75ccd (1d:5ccd) +ReceivedTM35Text: TX_FAR _ReceivedTM35Text - db $0B, "@" + TX_SFX_ITEM_1 + db "@" -TM35ExplanationText: ; 75cd3 (1d:5cd3) +TM35ExplanationText: TX_FAR _TM35ExplanationText db "@" -TM35NoRoomText: ; 75cd8 (1d:5cd8) +TM35NoRoomText: TX_FAR _TM35NoRoomText db "@" -Lab3Text2: ; 75cdd (1d:5cdd) +Lab3Text2: TX_FAR _Lab3Text2 db "@" -Lab3Text4: ; 75ce2 (1d:5ce2) -Lab3Text3: ; 75ce2 (1d:5ce2) +Lab3Text4: +Lab3Text3: TX_FAR _Lab3Text3 db "@" -Lab3Text5: ; 75ce7 (1d:5ce7) +Lab3Text5: TX_FAR _Lab3Text5 db "@" diff --git a/scripts/lab4.asm b/scripts/lab4.asm index 1e818676..7d0db339 100755 --- a/scripts/lab4.asm +++ b/scripts/lab4.asm @@ -1,16 +1,15 @@ -Lab4Script: ; 75d31 (1d:5d31) +Lab4Script: jp EnableAutoTextBoxDrawing -Lab4TextPointers: ; 75d34 (1d:5d34) +Lab4TextPointers: dw Lab4Text1 dw Lab4Text2 -Lab4Script_75d38: ; 75d38 (1d:5d38) +Lab4Script_GetFossilsInBag: ; construct a list of all fossils in the player's bag - xor a - ld [wcd37], a - ld de, wcc5b + ld [wFilteredBagItemsCount], a + ld de, wFilteredBagItems ld hl, FossilsList .loop ld a, [hli] @@ -20,7 +19,7 @@ Lab4Script_75d38: ; 75d38 (1d:5d38) push de ld [wd11e], a ld b, a - predef IsItemInBag_ + predef GetQuantityOfItemInBag pop de pop hl ld a, b @@ -32,7 +31,7 @@ Lab4Script_75d38: ; 75d38 (1d:5d38) ld [de], a inc de push hl - ld hl, wcd37 + ld hl, wFilteredBagItemsCount inc [hl] pop hl jr .loop @@ -41,77 +40,70 @@ Lab4Script_75d38: ; 75d38 (1d:5d38) ld [de], a ret -FossilsList: ; 75d68 (1d:5d68) +FossilsList: db DOME_FOSSIL db HELIX_FOSSIL db OLD_AMBER db $00 -Lab4Text1: ; 75d6c (1d:5d6c) - db $8 - ld a, [wd7a3] - bit 0, a - jr nz, .asm_75d96 ; 0x75d72 $22 +Lab4Text1: + TX_ASM + CheckEvent EVENT_GAVE_FOSSIL_TO_LAB + jr nz, .asm_75d96 ld hl, Lab4Text_75dc6 call PrintText - call Lab4Script_75d38 - ld a, [wcd37] + call Lab4Script_GetFossilsInBag + ld a, [wFilteredBagItemsCount] and a - jr z, .asm_75d8d ; 0x75d81 $a + jr z, .asm_75d8d callba GiveFossilToCinnabarLab - jr .asm_75d93 ; 0x75d8b $6 + jr .asm_75d93 .asm_75d8d ld hl, Lab4Text_75dcb call PrintText .asm_75d93 jp TextScriptEnd .asm_75d96 - bit 1, a - jr z, .asm_75da2 ; 0x75d98 $8 + CheckEventAfterBranchReuseA EVENT_LAB_STILL_REVIVING_FOSSIL, EVENT_GAVE_FOSSIL_TO_LAB + jr z, .asm_75da2 ld hl, Lab4Text_75dd0 call PrintText - jr .asm_75d93 ; 0x75da0 $f1 + jr .asm_75d93 .asm_75da2 call LoadFossilItemAndMonNameBank1D ld hl, Lab4Text_75dd5 call PrintText - ld hl, wd7a3 - set 2, [hl] - ld a, [W_FOSSILMON] + SetEvent EVENT_LAB_HANDING_OVER_FOSSIL_MON + ld a, [wFossilMon] ld b, a ld c, 30 call GivePokemon - jr nc, .asm_75d93 ; 0x75db9 $d8 - ld hl, wd7a3 - res 0, [hl] - res 1, [hl] - res 2, [hl] - jr .asm_75d93 ; 0x75dc4 $cd + jr nc, .asm_75d93 + ResetEvents EVENT_GAVE_FOSSIL_TO_LAB, EVENT_LAB_STILL_REVIVING_FOSSIL, EVENT_LAB_HANDING_OVER_FOSSIL_MON + jr .asm_75d93 -Lab4Text_75dc6: ; 75dc6 (1d:5dc6) +Lab4Text_75dc6: TX_FAR _Lab4Text_75dc6 db "@" -Lab4Text_75dcb: ; 75dcb (1d:5dcb) +Lab4Text_75dcb: TX_FAR _Lab4Text_75dcb db "@" -Lab4Text_75dd0: ; 75dd0 (1d:5dd0) +Lab4Text_75dd0: TX_FAR _Lab4Text_75dd0 db "@" -Lab4Text_75dd5: ; 75dd5 (1d:5dd5) +Lab4Text_75dd5: TX_FAR _Lab4Text_75dd5 db "@" -Lab4Text2: ; 75dda (1d:5dda) - db $08 ; asm +Lab4Text2: + TX_ASM ld a, $3 ld [wWhichTrade], a predef DoInGameTradeDialogue jp TextScriptEnd -LoadFossilItemAndMonNameBank1D: ; 75de8 (1d:5de8) - ld b, BANK(LoadFossilItemAndMonName) - ld hl, LoadFossilItemAndMonName - jp Bankswitch +LoadFossilItemAndMonNameBank1D: + jpba LoadFossilItemAndMonName diff --git a/scripts/lance.asm b/scripts/lance.asm index f2523098..a0b0e6e7 100755 --- a/scripts/lance.asm +++ b/scripts/lance.asm @@ -1,85 +1,83 @@ -LanceScript: ; 5a2ae (16:62ae) - call LanceScript_5a2c4 +LanceScript: + call LanceShowOrHideEntranceBlocks call EnableAutoTextBoxDrawing - ld hl, LanceTrainerHeaders + ld hl, LanceTrainerHeader0 ld de, LanceScriptPointers - ld a, [W_LANCECURSCRIPT] + ld a, [wLanceCurScript] call ExecuteCurMapScriptInTable - ld [W_LANCECURSCRIPT], a + ld [wLanceCurScript], a ret -LanceScript_5a2c4: ; 5a2c4 (16:62c4) - ld hl, wd126 +LanceShowOrHideEntranceBlocks: + ld hl, wCurrentMapScriptFlags bit 5, [hl] res 5, [hl] ret z - ld a, [wd866] - bit 7, a - jr nz, .asm_5a2da + CheckEvent EVENT_LANCES_ROOM_LOCK_DOOR + jr nz, .closeEntrance + ; open entrance ld a, $31 ld b, $32 - jp LanceScript_5a2de -.asm_5a2da + jp LanceSetEntranceBlocks +.closeEntrance ld a, $72 ld b, $73 -LanceScript_5a2de: ; 5a2de (16:62de) +LanceSetEntranceBlocks: +; Replaces the tile blocks so the player can't leave. push bc - ld [wd09f], a - ld bc, $602 - call LanceScript_5a2f0 + ld [wNewTileBlockID], a + lb bc, 6, 2 + call LanceSetEntranceBlock pop bc ld a, b - ld [wd09f], a - ld bc, $603 + ld [wNewTileBlockID], a + lb bc, 6, 3 -LanceScript_5a2f0: ; 5a2f0 (16:62f0) +LanceSetEntranceBlock: predef_jump ReplaceTileBlock -LanceScript_5a2f5: ; 5a2f5 (16:62f5) +ResetLanceScript: xor a - ld [W_LANCECURSCRIPT], a + ld [wLanceCurScript], a ret -LanceScriptPointers: ; 5a2fa (16:62fa) +LanceScriptPointers: dw LanceScript0 dw DisplayEnemyTrainerTextAndStartBattle dw LanceScript2 dw LanceScript3 dw LanceScript4 -LanceScript4: ; 5a304 (16:6304) +LanceScript4: ret -LanceScript0: ; 5a305 (16:6305) - ld a, [wd866] - bit 6, a +LanceScript0: + CheckEvent EVENT_BEAT_LANCE ret nz - ld hl, CoordsData_5a33e + ld hl, LanceTriggerMovementCoords call ArePlayerCoordsInArray jp nc, CheckFightingMapTrainers xor a ld [hJoyHeld], a - ld a, [wWhichTrade] ; wWhichTrade - cp $3 - jr nc, .asm_5a325 + ld a, [wCoordIndex] + cp $3 ; Is player standing next to Lance's sprite? + jr nc, .notStandingNextToLance ld a, $1 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a jp DisplayTextID -.asm_5a325 - cp $5 - jr z, LanceScript_5a35b - ld hl, wd866 - bit 7, [hl] - set 7, [hl] +.notStandingNextToLance + cp $5 ; Is player standing on the entrance staircase? + jr z, WalkToLance + CheckAndSetEvent EVENT_LANCES_ROOM_LOCK_DOOR ret nz - ld hl, wd126 + ld hl, wCurrentMapScriptFlags set 5, [hl] - ld a, (SFX_02_57 - SFX_Headers_02) / 3 + ld a, SFX_GO_INSIDE call PlaySound - jp LanceScript_5a2c4 + jp LanceShowOrHideEntranceBlocks -CoordsData_5a33e: ; 5a33e (16:633e) +LanceTriggerMovementCoords: db $01,$05 db $02,$06 db $0B,$05 @@ -87,79 +85,78 @@ CoordsData_5a33e: ; 5a33e (16:633e) db $10,$18 db $FF -LanceScript2: ; 5a349 (16:6349) +LanceScript2: call EndTrainerBattle - ld a, [W_ISINBATTLE] ; W_ISINBATTLE + ld a, [wIsInBattle] cp $ff - jp z, LanceScript_5a2f5 + jp z, ResetLanceScript ld a, $1 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a jp DisplayTextID -LanceScript_5a35b: ; 5a35b (16:635b) +WalkToLance: +; Moves the player down the hallway to Lance's room. ld a, $ff ld [wJoyIgnore], a ld hl, wSimulatedJoypadStatesEnd - ld de, RLEList_5a379 + ld de, WalkToLance_RLEList call DecodeRLEList dec a ld [wSimulatedJoypadStatesIndex], a call StartSimulatingJoypadStates ld a, $3 - ld [W_LANCECURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wLanceCurScript], a + ld [wCurMapScript], a ret -RLEList_5a379: ; 5a379 (16:6379) - db $40, $0C - db $20, $0C - db $80, $07 - db $20, $06 +WalkToLance_RLEList: + db D_UP, $0C + db D_LEFT, $0C + db D_DOWN, $07 + db D_LEFT, $06 db $FF -LanceScript3: ; 5a382 (16:6382) +LanceScript3: ld a, [wSimulatedJoypadStatesIndex] and a ret nz call Delay3 xor a ld [wJoyIgnore], a - ld [W_LANCECURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wLanceCurScript], a + ld [wCurMapScript], a ret -LanceTextPointers: ; 5a395 (16:6395) +LanceTextPointers: dw LanceText1 -LanceTrainerHeaders: ; 5a397 (16:6397) -LanceTrainerHeader0: ; 5a397 (16:6397) - db $1 ; flag's bit +LanceTrainerHeader0: + dbEventFlagBit EVENT_BEAT_LANCES_ROOM_TRAINER_0 db ($0 << 4) ; trainer's view range - dw wd866 ; flag's byte - dw LanceBeforeBattleText ; 0x63ae TextBeforeBattle - dw LanceAfterBattleText ; 0x63b8 TextAfterBattle - dw LanceEndBattleText ; 0x63b3 TextEndBattle - dw LanceEndBattleText ; 0x63b3 TextEndBattle + dwEventFlagAddress EVENT_BEAT_LANCES_ROOM_TRAINER_0 + dw LanceBeforeBattleText ; TextBeforeBattle + dw LanceAfterBattleText ; TextAfterBattle + dw LanceEndBattleText ; TextEndBattle + dw LanceEndBattleText ; TextEndBattle db $ff -LanceText1: ; 5a3a4 (16:63a4) - db $08 ; asm +LanceText1: + TX_ASM ld hl, LanceTrainerHeader0 call TalkToTrainer jp TextScriptEnd -LanceBeforeBattleText: ; 5a3ae (16:63ae) +LanceBeforeBattleText: TX_FAR _LanceBeforeBattleText db "@" -LanceEndBattleText: ; 5a3b3 (16:63b3) +LanceEndBattleText: TX_FAR _LanceEndBattleText db "@" -LanceAfterBattleText: ; 5a3b8 (16:63b8) +LanceAfterBattleText: TX_FAR _LanceAfterBattleText - db $8 - ld hl, wd866 - set 6, [hl] + TX_ASM + SetEvent EVENT_BEAT_LANCE jp TextScriptEnd diff --git a/scripts/lavenderhouse1.asm b/scripts/lavenderhouse1.asm index 5fd1dd34..91b9286b 100755 --- a/scripts/lavenderhouse1.asm +++ b/scripts/lavenderhouse1.asm @@ -1,8 +1,8 @@ -LavenderHouse1Script: ; 1d8a8 (7:58a8) +LavenderHouse1Script: call EnableAutoTextBoxDrawing ret -LavenderHouse1TextPointers: ; 1d8ac (7:58ac) +LavenderHouse1TextPointers: dw LavenderHouse1Text1 dw LavenderHouse1Text2 dw LavenderHouse1Text3 @@ -10,107 +10,103 @@ LavenderHouse1TextPointers: ; 1d8ac (7:58ac) dw LavenderHouse1Text5 dw LavenderHouse1Text6 -LavenderHouse1Text1: ; 1d8b8 (7:58b8) - db $08 ; asm - ld a, [wd7e0] - bit 7, a - jr nz, .asm_72e5d ; 0x1d8be +LavenderHouse1Text1: + TX_ASM + CheckEvent EVENT_RESCUED_MR_FUJI + jr nz, .asm_72e5d ld hl, LavenderHouse1Text_1d8d1 call PrintText - jr .asm_6957f ; 0x1d8c6 -.asm_72e5d ; 0x1d8c8 + jr .asm_6957f +.asm_72e5d ld hl, LavenderHouse1Text_1d8d6 call PrintText -.asm_6957f ; 0x1d8ce +.asm_6957f jp TextScriptEnd -LavenderHouse1Text_1d8d1: ; 1d8d1 (7:58d1) +LavenderHouse1Text_1d8d1: TX_FAR _LavenderHouse1Text_1d8d1 db "@" -LavenderHouse1Text_1d8d6: ; 1d8d6 (7:58d6) +LavenderHouse1Text_1d8d6: TX_FAR _LavenderHouse1Text_1d8d6 db "@" -LavenderHouse1Text2: ; 1d8db (7:58db) - db $08 ; asm - ld a, [wd7e0] - bit 7, a - jr nz, .asm_06470 ; 0x1d8e1 +LavenderHouse1Text2: + TX_ASM + CheckEvent EVENT_RESCUED_MR_FUJI + jr nz, .asm_06470 ld hl, LavenderHouse1Text_1d8f4 call PrintText - jr .asm_3d208 ; 0x1d8e9 -.asm_06470 ; 0x1d8eb + jr .asm_3d208 +.asm_06470 ld hl, LavenderHouse1Text_1d8f9 call PrintText -.asm_3d208 ; 0x1d8f1 +.asm_3d208 jp TextScriptEnd -LavenderHouse1Text_1d8f4: ; 1d8f4 (7:58f4) +LavenderHouse1Text_1d8f4: TX_FAR _LavenderHouse1Text_1d8f4 db "@" -LavenderHouse1Text_1d8f9: ; 1d8f9 (7:58f9) +LavenderHouse1Text_1d8f9: TX_FAR _LavenderHouse1Text_1d8f9 db "@" -LavenderHouse1Text3: ; 1d8fe (7:58fe) +LavenderHouse1Text3: TX_FAR _LavenderHouse1Text3 - db $8 + TX_ASM ld a, PSYDUCK call PlayCry jp TextScriptEnd -LavenderHouse1Text4: ; 1d90b (7:590b) +LavenderHouse1Text4: TX_FAR _LavenderHouse1Text4 - db $8 + TX_ASM ld a, NIDORINO call PlayCry jp TextScriptEnd -LavenderHouse1Text5: ; 1d918 (7:5918) - db $08 ; asm - ld a, [wd76c] - bit 0, a - jr nz, .asm_15ac2 ; 0x1d91e +LavenderHouse1Text5: + TX_ASM + CheckEvent EVENT_GOT_POKE_FLUTE + jr nz, .asm_15ac2 ld hl, LavenderHouse1Text_1d94c call PrintText - ld bc, (POKE_FLUTE << 8) | 1 + lb bc, POKE_FLUTE, 1 call GiveItem jr nc, .BagFull ld hl, ReceivedFluteText call PrintText - ld hl, wd76c - set 0, [hl] - jr .asm_da749 ; 0x1d939 + SetEvent EVENT_GOT_POKE_FLUTE + jr .asm_da749 .BagFull ld hl, FluteNoRoomText call PrintText - jr .asm_da749 ; 0x1d941 -.asm_15ac2 ; 0x1d943 + jr .asm_da749 +.asm_15ac2 ld hl, MrFujiAfterFluteText call PrintText -.asm_da749 ; 0x1d949 +.asm_da749 jp TextScriptEnd -LavenderHouse1Text_1d94c: ; 1d94c (7:594c) +LavenderHouse1Text_1d94c: TX_FAR _LavenderHouse1Text_1d94c db "@" -ReceivedFluteText: ; 1d951 (7:5951) +ReceivedFluteText: TX_FAR _ReceivedFluteText - db $11 + TX_SFX_KEY_ITEM TX_FAR _FluteExplanationText db "@" -FluteNoRoomText: ; 1d95b (7:595b) +FluteNoRoomText: TX_FAR _FluteNoRoomText db "@" -MrFujiAfterFluteText: ; 1d960 (7:5960) +MrFujiAfterFluteText: TX_FAR _MrFujiAfterFluteText db "@" -LavenderHouse1Text6: ; 1d965 (7:5965) +LavenderHouse1Text6: TX_FAR _LavenderHouse1Text6 db "@" diff --git a/scripts/lavenderhouse2.asm b/scripts/lavenderhouse2.asm index c2120058..b531c047 100755 --- a/scripts/lavenderhouse2.asm +++ b/scripts/lavenderhouse2.asm @@ -1,36 +1,35 @@ -LavenderHouse2Script: ; 1d9ae (7:59ae) +LavenderHouse2Script: call EnableAutoTextBoxDrawing ret -LavenderHouse2TextPointers: ; 1d9b2 (7:59b2) +LavenderHouse2TextPointers: dw LavenderHouse2Text1 dw LavenderHouse2Text2 -LavenderHouse2Text1: ; 1d9b6 (7:59b6) +LavenderHouse2Text1: TX_FAR _LavenderHouse2Text1 - db $8 + TX_ASM ld a, CUBONE call PlayCry jp TextScriptEnd -LavenderHouse2Text2: ; 1d9c3 (7:59c3) - db $08 ; asm - ld a, [wd7e0] - bit 7, a - jr nz, .asm_65711 ; 0x1d9c9 +LavenderHouse2Text2: + TX_ASM + CheckEvent EVENT_RESCUED_MR_FUJI + jr nz, .asm_65711 ld hl, LavenderHouse2Text_1d9dc call PrintText - jr .asm_64be1 ; 0x1d9d1 -.asm_65711 ; 0x1d9d3 + jr .asm_64be1 +.asm_65711 ld hl, LavenderHouse2Text_1d9e1 call PrintText -.asm_64be1 ; 0x1d9d9 +.asm_64be1 jp TextScriptEnd -LavenderHouse2Text_1d9dc: ; 1d9dc (7:59dc) +LavenderHouse2Text_1d9dc: TX_FAR _LavenderHouse2Text_1d9dc db "@" -LavenderHouse2Text_1d9e1: ; 1d9e1 (7:59e1) +LavenderHouse2Text_1d9e1: TX_FAR _LavenderHouse2Text_1d9e1 db "@" diff --git a/scripts/lavendermart.asm b/scripts/lavendermart.asm index 3852a235..51b64992 100755 --- a/scripts/lavendermart.asm +++ b/scripts/lavendermart.asm @@ -1,33 +1,32 @@ -LavenderMartScript: ; 5c92c (17:492c) +LavenderMartScript: jp EnableAutoTextBoxDrawing -LavenderMartTextPointers: ; 5c92f (17:492f) - dw LavenderMartText1 +LavenderMartTextPointers: + dw LavenderCashierText dw LavenderMartText2 dw LavenderMartText3 -LavenderMartText2: ; 5c935 (17:4935) +LavenderMartText2: TX_FAR _LavenderMartText2 db "@" -LavenderMartText3: ; 5c93a (17:493a) - db $08 ; asm - ld a, [wd7e0] - bit 7, a - jr nz, .asm_c88d4 ; 0x5c940 - ld hl, LavenderMart_5c953 +LavenderMartText3: + TX_ASM + CheckEvent EVENT_RESCUED_MR_FUJI + jr nz, .Nugget + ld hl, .ReviveText call PrintText - jr .asm_6d225 ; 0x5c948 -.asm_c88d4 ; 0x5c94a - ld hl, LavenderMart_5c958 + jr .done +.Nugget + ld hl, .NuggetText call PrintText -.asm_6d225 ; 0x5c950 +.done jp TextScriptEnd -LavenderMart_5c953: ; 5c953 (17:4953) - TX_FAR _LavenderMart_5c953 +.ReviveText + TX_FAR _LavenderMartReviveText db "@" -LavenderMart_5c958: ; 5c958 (17:4958) - TX_FAR _LavenderMart_5c958 +.NuggetText + TX_FAR _LavenderMartNuggetText db "@" diff --git a/scripts/lavenderpokecenter.asm b/scripts/lavenderpokecenter.asm index 452cc8a4..61d0b887 100755 --- a/scripts/lavenderpokecenter.asm +++ b/scripts/lavenderpokecenter.asm @@ -1,23 +1,23 @@ -LavenderPokecenterScript: ; 5c8da (17:48da) +LavenderPokecenterScript: call Serial_TryEstablishingExternallyClockedConnection jp EnableAutoTextBoxDrawing -LavenderPokecenterTextPointers: ; 5c8e0 (17:48e0) - dw LavenderPokecenterText1 +LavenderPokecenterTextPointers: + dw LavenderHealNurseText dw LavenderPokecenterText2 dw LavenderPokecenterText3 - dw LavenderPokecenterText4 + dw LavenderTradeNurseText -LavenderPokecenterText4: ; 5c8e8 (17:48e8) - db $f6 +LavenderTradeNurseText: + TX_CABLE_CLUB_RECEPTIONIST -LavenderPokecenterText1: ; 5c8e9 (17:48e9) - db $ff +LavenderHealNurseText: + TX_POKECENTER_NURSE -LavenderPokecenterText2: ; 5c8ea (17:48ea) - TX_FAR _LavenderPokecenterText1 +LavenderPokecenterText2: + TX_FAR _LavenderPokecenterText2 db "@" -LavenderPokecenterText3: ; 5c8ef (17:48ef) +LavenderPokecenterText3: TX_FAR _LavenderPokecenterText3 db "@" diff --git a/scripts/lavendertown.asm b/scripts/lavendertown.asm index a4f1f200..daf490b1 100755 --- a/scripts/lavendertown.asm +++ b/scripts/lavendertown.asm @@ -1,7 +1,7 @@ -LavenderTownScript: ; 4410b (11:410b) +LavenderTownScript: jp EnableAutoTextBoxDrawing -LavenderTownTextPointers: ; 4410e (11:410e) +LavenderTownTextPointers: dw LavenderTownText1 dw LavenderTownText2 dw LavenderTownText3 @@ -12,52 +12,52 @@ LavenderTownTextPointers: ; 4410e (11:410e) dw LavenderTownText8 dw LavenderTownText9 -LavenderTownText1: ; 44120 (11:4120) - db $08 ; asm +LavenderTownText1: + TX_ASM ld hl, LavenderTownText_4413c call PrintText call YesNoChoice ld a, [wCurrentMenuItem] and a ld hl, LavenderTownText_44146 - jr nz, .asm_40831 ; 0x44131 + jr nz, .asm_40831 ld hl, LavenderTownText_44141 -.asm_40831 ; 0x44136 +.asm_40831 call PrintText jp TextScriptEnd -LavenderTownText_4413c: ; 4413c (11:413c) +LavenderTownText_4413c: TX_FAR _LavenderTownText_4413c db "@" -LavenderTownText_44141: ; 44141 (11:4141) +LavenderTownText_44141: TX_FAR _LavenderTownText_44141 db "@" -LavenderTownText_44146: ; 44146 (11:4146) +LavenderTownText_44146: TX_FAR _LavenderTownText_44146 db "@" -LavenderTownText2: ; 4414b (11:414b) +LavenderTownText2: TX_FAR _LavenderTownText2 db "@" -LavenderTownText3: ; 44150 (11:4150) +LavenderTownText3: TX_FAR _LavenderTownText3 db "@" -LavenderTownText4: ; 44155 (11:4155) +LavenderTownText4: TX_FAR _LavenderTownText4 db "@" -LavenderTownText5: ; 4415a (11:415a) +LavenderTownText5: TX_FAR _LavenderTownText5 db "@" -LavenderTownText8: ; 4415f (11:415f) +LavenderTownText8: TX_FAR _LavenderTownText8 db "@" -LavenderTownText9: ; 44164 (11:4164) +LavenderTownText9: TX_FAR _LavenderTownText9 db "@" diff --git a/scripts/lorelei.asm b/scripts/lorelei.asm index ab769d94..ec29847a 100755 --- a/scripts/lorelei.asm +++ b/scripts/lorelei.asm @@ -1,47 +1,49 @@ -LoreleiScript: ; 7617b (1d:617b) - call LoreleiScript_76191 +LoreleiScript: + call LoreleiShowOrHideExitBlock call EnableAutoTextBoxDrawing - ld hl, LoreleiTrainerHeaders + ld hl, LoreleiTrainerHeader0 ld de, LoreleiScriptPointers - ld a, [W_LORELEICURSCRIPT] + ld a, [wLoreleiCurScript] call ExecuteCurMapScriptInTable - ld [W_LORELEICURSCRIPT], a + ld [wLoreleiCurScript], a ret -LoreleiScript_76191: ; 76191 (1d:6191) - ld hl, wd126 +LoreleiShowOrHideExitBlock: +; Blocks or clears the exit to the next room. + ld hl, wCurrentMapScriptFlags bit 5, [hl] res 5, [hl] ret z - ld hl, wd734 + ld hl, wBeatLorelei set 1, [hl] - ld a, [wd863] - bit 1, a - jr z, .asm_761a9 + CheckEvent EVENT_BEAT_LORELEIS_ROOM_TRAINER_0 + jr z, .blockExitToNextRoom ld a, $5 - jr .asm_761ab -.asm_761a9 + jr .setExitBlock +.blockExitToNextRoom ld a, $24 -.asm_761ab - ld [wd09f], a - ld bc, $2 +.setExitBlock + ld [wNewTileBlockID], a + lb bc, 0, 2 predef_jump ReplaceTileBlock -LoreleiScript_761b6: ; 761b6 (1d:61b6) +ResetLoreleiScript: xor a - ld [W_LORELEICURSCRIPT], a + ld [wLoreleiCurScript], a ret -LoreleiScriptPointers: ; 761bb (1d:61bb) +LoreleiScriptPointers: dw LoreleiScript0 dw DisplayEnemyTrainerTextAndStartBattle dw LoreleiScript2 dw LoreleiScript3 dw LoreleiScript4 -LoreleiScript4: ; 761c5 (1d:61c5) +LoreleiScript4: ret -asm_761c6: ; 761c6 (1d:61c6) + +LoreleiScriptWalkIntoRoom: +; Walk six steps upward. ld hl, wSimulatedJoypadStatesEnd ld a, D_UP ld [hli], a @@ -54,11 +56,12 @@ asm_761c6: ; 761c6 (1d:61c6) ld [wSimulatedJoypadStatesIndex], a call StartSimulatingJoypadStates ld a, $3 - ld [W_LORELEICURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wLoreleiCurScript], a + ld [wCurMapScript], a ret -LoreleiScript0: ; 761e2 (1d:61e2) - ld hl, CoordsData_76223 + +LoreleiScript0: + ld hl, LoreleiEntranceCoords call ArePlayerCoordsInArray jp nc, CheckFightingMapTrainers xor a @@ -66,87 +69,85 @@ LoreleiScript0: ; 761e2 (1d:61e2) ld [hJoyHeld], a ld [wSimulatedJoypadStatesEnd], a ld [wSimulatedJoypadStatesIndex], a - ld a, [wWhichTrade] ; wWhichTrade - cp $3 - jr c, .asm_76206 - ld hl, wd863 - bit 6, [hl] - set 6, [hl] - jr z, asm_761c6 -.asm_76206 + ld a, [wCoordIndex] + cp $3 ; Is player standing one tile above the exit? + jr c, .stopPlayerFromLeaving + CheckAndSetEvent EVENT_AUTOWALKED_INTO_LORELEIS_ROOM + jr z, LoreleiScriptWalkIntoRoom +.stopPlayerFromLeaving ld a, $2 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call DisplayTextID + ld [hSpriteIndexOrTextID], a + call DisplayTextID ; "Don't run away!" ld a, D_UP ld [wSimulatedJoypadStatesEnd], a ld a, $1 ld [wSimulatedJoypadStatesIndex], a call StartSimulatingJoypadStates ld a, $3 - ld [W_LORELEICURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wLoreleiCurScript], a + ld [wCurMapScript], a ret -CoordsData_76223: ; 76223 (1d:6223) +LoreleiEntranceCoords: db $0A,$04 db $0A,$05 db $0B,$04 db $0B,$05 db $FF -LoreleiScript3: ; 7622c (1d:622c) +LoreleiScript3: ld a, [wSimulatedJoypadStatesIndex] and a ret nz call Delay3 xor a ld [wJoyIgnore], a - ld [W_LORELEICURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wLoreleiCurScript], a + ld [wCurMapScript], a ret -LoreleiScript2: ; 7623f (1d:623f) + +LoreleiScript2: call EndTrainerBattle - ld a, [W_ISINBATTLE] ; W_ISINBATTLE + ld a, [wIsInBattle] cp $ff - jp z, LoreleiScript_761b6 + jp z, ResetLoreleiScript ld a, $1 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a jp DisplayTextID -LoreleiTextPointers: ; 76251 (1d:6251) +LoreleiTextPointers: dw LoreleiText1 - dw LoreleiText2 + dw LoreleiDontRunAwayText -LoreleiTrainerHeaders: ; 76255 (1d:6255) -LoreleiTrainerHeader0: ; 76255 (1d:6255) - db $1 ; flag's bit +LoreleiTrainerHeader0: + dbEventFlagBit EVENT_BEAT_LORELEIS_ROOM_TRAINER_0 db ($0 << 4) ; trainer's view range - dw wd863 ; flag's byte - dw LoreleiBeforeBattleText ; 0x626c TextBeforeBattle - dw LoreleiAfterBattleText ; 0x6276 TextAfterBattle - dw LoreleiEndBattleText ; 0x6271 TextEndBattle - dw LoreleiEndBattleText ; 0x6271 TextEndBattle + dwEventFlagAddress EVENT_BEAT_LORELEIS_ROOM_TRAINER_0 + dw LoreleiBeforeBattleText ; TextBeforeBattle + dw LoreleiAfterBattleText ; TextAfterBattle + dw LoreleiEndBattleText ; TextEndBattle + dw LoreleiEndBattleText ; TextEndBattle db $ff -LoreleiText1: ; 76262 (1d:6262) - db $08 ; asm +LoreleiText1: + TX_ASM ld hl, LoreleiTrainerHeader0 call TalkToTrainer jp TextScriptEnd -LoreleiBeforeBattleText: ; 7626c (1d:626c) +LoreleiBeforeBattleText: TX_FAR _LoreleiBeforeBattleText db "@" -LoreleiEndBattleText: ; 76271 (1d:6271) +LoreleiEndBattleText: TX_FAR _LoreleiEndBattleText db "@" -LoreleiAfterBattleText: ; 76276 (1d:6276) +LoreleiAfterBattleText: TX_FAR _LoreleiAfterBattleText db "@" -LoreleiText2: ; 7627b (1d:627b) - TX_FAR _LoreleiText2 +LoreleiDontRunAwayText: + TX_FAR _LoreleiDontRunAwayText db "@" diff --git a/scripts/mansion1.asm b/scripts/mansion1.asm index 3e067a98..2fdc18c6 100755 --- a/scripts/mansion1.asm +++ b/scripts/mansion1.asm @@ -1,138 +1,134 @@ -Mansion1Script: ; 442af (11:42af) +Mansion1Script: call Mansion1Subscript1 call EnableAutoTextBoxDrawing - ld hl, Mansion1TrainerHeaders + ld hl, Mansion1TrainerHeader0 ld de, Mansion1ScriptPointers - ld a, [W_MANSION1CURSCRIPT] + ld a, [wMansion1CurScript] call ExecuteCurMapScriptInTable - ld [W_MANSION1CURSCRIPT], a + ld [wMansion1CurScript], a ret -Mansion1Subscript1: ; 442c5 (11:42c5) - ld hl, wd126 +Mansion1Subscript1: + ld hl, wCurrentMapScriptFlags bit 5, [hl] res 5, [hl] ret z - ld a, [wd796] - bit 0, a - jr nz, .asm_442ec ; 0x442d2 $18 - ld bc, $060c + CheckEvent EVENT_MANSION_SWITCH_ON + jr nz, .asm_442ec + lb bc, 6, 12 call Mansion1Script_4430b - ld bc, $0308 + lb bc, 3, 8 call Mansion1Script_44304 - ld bc, $080a + lb bc, 8, 10 call Mansion1Script_44304 - ld bc, $0d0d + lb bc, 13, 13 jp Mansion1Script_44304 .asm_442ec - ld bc, $060c + lb bc, 6, 12 call Mansion1Script_44304 - ld bc, $0308 + lb bc, 3, 8 call Mansion1Script_4430b - ld bc, $080a + lb bc, 8, 10 call Mansion1Script_4430b - ld bc, $0d0d + lb bc, 13, 13 jp Mansion1Script_4430b -Mansion1Script_44304: ; 44304 (11:4304) +Mansion1Script_44304: ld a, $2d - ld [wd09f], a - jr asm_44310 + ld [wNewTileBlockID], a + jr Mansion1ReplaceBlock -Mansion1Script_4430b: ; 4430b (11:430b) +Mansion1Script_4430b: ld a, $e - ld [wd09f], a -asm_44310: ; 44310 (11:4310) + ld [wNewTileBlockID], a +Mansion1ReplaceBlock: predef ReplaceTileBlock ret -Mansion1Script_Switches: ; 44316 (11:4316) +Mansion1Script_Switches: ld a, [wSpriteStateData1 + 9] - cp $4 + cp SPRITE_FACING_UP ret nz xor a ld [hJoyHeld], a ld a, $4 - ld [H_SPRITEHEIGHT], a + ld [hSpriteIndexOrTextID], a jp DisplayTextID -Mansion1ScriptPointers: ; 44326 (11:4326) +Mansion1ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle -Mansion1TextPointers: ; 4432c (11:432c) +Mansion1TextPointers: dw Mansion1Text1 - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText dw Mansion1Text4 -Mansion1TrainerHeaders: ; 44334 (11:4334) -Mansion1TrainerHeader0: ; 44334 (11:4334) - db $1 ; flag's bit +Mansion1TrainerHeader0: + dbEventFlagBit EVENT_BEAT_MANSION_1_TRAINER_0 db ($3 << 4) ; trainer's view range - dw wd798 ; flag's byte - dw Mansion1BattleText2 ; 0x434b TextBeforeBattle - dw Mansion1AfterBattleText2 ; 0x4355 TextAfterBattle - dw Mansion1EndBattleText2 ; 0x4350 TextEndBattle - dw Mansion1EndBattleText2 ; 0x4350 TextEndBattle + dwEventFlagAddress EVENT_BEAT_MANSION_1_TRAINER_0 + dw Mansion1BattleText2 ; TextBeforeBattle + dw Mansion1AfterBattleText2 ; TextAfterBattle + dw Mansion1EndBattleText2 ; TextEndBattle + dw Mansion1EndBattleText2 ; TextEndBattle db $ff -Mansion1Text1: ; 44341 (11:4341) - db $08 ; asm +Mansion1Text1: + TX_ASM ld hl, Mansion1TrainerHeader0 call TalkToTrainer jp TextScriptEnd -Mansion1BattleText2: ; 4434b (11:434b) +Mansion1BattleText2: TX_FAR _Mansion1BattleText2 db "@" -Mansion1EndBattleText2: ; 44350 (11:4350) +Mansion1EndBattleText2: TX_FAR _Mansion1EndBattleText2 db "@" -Mansion1AfterBattleText2: ; 44355 (11:4355) +Mansion1AfterBattleText2: TX_FAR _Mansion1AfterBattleText2 db "@" -Mansion1Text4: ; 4435a (11:435a) - db $8 +Mansion1Text4: + TX_ASM ld hl, MansionSwitchText call PrintText call YesNoChoice ld a, [wCurrentMenuItem] and a - jr nz, .asm_4438c ; 0x44368 $22 + jr nz, .asm_4438c ld a, $1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld hl, wd126 + ld hl, wCurrentMapScriptFlags set 5, [hl] ld hl, MansionSwitchPressedText call PrintText - ld a, (SFX_02_57 - SFX_Headers_02) / 3 + ld a, SFX_GO_INSIDE call PlaySound - ld hl, wd796 - bit 0, [hl] - set 0, [hl] - jr z, .asm_44392 ; 0x44386 $a - res 0, [hl] - jr .asm_44392 ; 0x4438a $6 + CheckAndSetEvent EVENT_MANSION_SWITCH_ON + jr z, .asm_44392 + ResetEventReuseHL EVENT_MANSION_SWITCH_ON + jr .asm_44392 .asm_4438c ld hl, MansionSwitchNotPressedText call PrintText .asm_44392 jp TextScriptEnd -MansionSwitchText: ; 44395 (11:4395) +MansionSwitchText: TX_FAR _MansionSwitchText db "@" -MansionSwitchPressedText: ; 4439a (11:439a) +MansionSwitchPressedText: TX_FAR _MansionSwitchPressedText db "@" -MansionSwitchNotPressedText: ; 4439f (11:439f) +MansionSwitchNotPressedText: TX_FAR _MansionSwitchNotPressedText db "@" diff --git a/scripts/mansion2.asm b/scripts/mansion2.asm index c643d229..ddc1ff7a 100755 --- a/scripts/mansion2.asm +++ b/scripts/mansion2.asm @@ -1,144 +1,140 @@ -Mansion2Script: ; 51fd8 (14:5fd8) +Mansion2Script: call Mansion2Script_51fee call EnableAutoTextBoxDrawing - ld hl, Mansion2TrainerHeaders + ld hl, Mansion2TrainerHeader0 ld de, Mansion2ScriptPointers - ld a, [W_MANSION2CURSCRIPT] + ld a, [wMansion2CurScript] call ExecuteCurMapScriptInTable - ld [W_MANSION2CURSCRIPT], a + ld [wMansion2CurScript], a ret -Mansion2Script_51fee: ; 51fee (14:5fee) - ld hl, wd126 +Mansion2Script_51fee: + ld hl, wCurrentMapScriptFlags bit 5, [hl] res 5, [hl] ret z - ld a, [wd796] - bit 0, a + CheckEvent EVENT_MANSION_SWITCH_ON jr nz, .asm_52016 ld a, $e - ld bc, $204 + lb bc, 2, 4 call Mansion2Script_5202f ld a, $54 - ld bc, $409 + lb bc, 4, 9 call Mansion2Script_5202f ld a, $5f - ld bc, $b03 + lb bc, 11, 3 call Mansion2Script_5202f ret .asm_52016 ld a, $5f - ld bc, $204 + lb bc, 2, 4 call Mansion2Script_5202f ld a, $e - ld bc, $409 + lb bc, 4, 9 call Mansion2Script_5202f ld a, $e - ld bc, $b03 + lb bc, 11, 3 call Mansion2Script_5202f ret -Mansion2Script_5202f: ; 5202f (14:602f) - ld [wd09f], a +Mansion2Script_5202f: + ld [wNewTileBlockID], a predef_jump ReplaceTileBlock -Mansion2Script_Switches: ; 52037 (14:6037) +Mansion2Script_Switches: ld a, [wSpriteStateData1 + 9] - cp $4 + cp SPRITE_FACING_UP ret nz xor a ld [hJoyHeld], a ld a, $5 - ld [H_SPRITEHEIGHT], a + ld [hSpriteIndexOrTextID], a jp DisplayTextID -Mansion2ScriptPointers: ; 52047 (14:6047) +Mansion2ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle -Mansion2TextPointers: ; 5204d (14:604d) +Mansion2TextPointers: dw Mansion2Text1 - dw Predef5CText + dw PickUpItemText dw Mansion2Text3 dw Mansion2Text4 dw Mansion2Text5 -Mansion2TrainerHeaders: ; 52057 (14:6057) -Mansion2TrainerHeader0: ; 52057 (14:6057) - db $1 ; flag's bit +Mansion2TrainerHeader0: + dbEventFlagBit EVENT_BEAT_MANSION_2_TRAINER_0 db ($0 << 4) ; trainer's view range - dw wd847 ; flag's byte - dw Mansion2BattleText1 ; 0x606e TextBeforeBattle - dw Mansion2AfterBattleText1 ; 0x6078 TextAfterBattle - dw Mansion2EndBattleText1 ; 0x6073 TextEndBattle - dw Mansion2EndBattleText1 ; 0x6073 TextEndBattle + dwEventFlagAddress EVENT_BEAT_MANSION_2_TRAINER_0 + dw Mansion2BattleText1 ; TextBeforeBattle + dw Mansion2AfterBattleText1 ; TextAfterBattle + dw Mansion2EndBattleText1 ; TextEndBattle + dw Mansion2EndBattleText1 ; TextEndBattle db $ff -Mansion2Text1: ; 52064 (14:6064) - db $08 ; asm +Mansion2Text1: + TX_ASM ld hl, Mansion2TrainerHeader0 call TalkToTrainer jp TextScriptEnd -Mansion2BattleText1: ; 5206e (14:606e) +Mansion2BattleText1: TX_FAR _Mansion2BattleText1 db "@" -Mansion2EndBattleText1: ; 52073 (14:6073) +Mansion2EndBattleText1: TX_FAR _Mansion2EndBattleText1 db "@" -Mansion2AfterBattleText1: ; 52078 (14:6078) +Mansion2AfterBattleText1: TX_FAR _Mansion2AfterBattleText1 db "@" -Mansion2Text3: ; 5207d (14:607d) +Mansion2Text3: TX_FAR _Mansion2Text3 db "@" -Mansion2Text4: ; 52082 (14:6082) +Mansion2Text4: TX_FAR _Mansion2Text4 db "@" -Mansion3Text6: ; 52087 (14:6087) -Mansion2Text5: ; 52087 (14:6087) - db $8 +Mansion3Text6: +Mansion2Text5: + TX_ASM ld hl, Mansion2Text_520c2 call PrintText call YesNoChoice ld a, [wCurrentMenuItem] and a - jr nz, .asm_520b9 ; 0x52095 $22 + jr nz, .asm_520b9 ld a, $1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld hl, wd126 + ld hl, wCurrentMapScriptFlags set 5, [hl] ld hl, Mansion2Text_520c7 call PrintText - ld a, (SFX_02_57 - SFX_Headers_02) / 3 + ld a, SFX_GO_INSIDE call PlaySound - ld hl, wd796 - bit 0, [hl] - set 0, [hl] - jr z, .asm_520bf ; 0x520b3 $a - res 0, [hl] - jr .asm_520bf ; 0x520b7 $6 + CheckAndSetEvent EVENT_MANSION_SWITCH_ON + jr z, .asm_520bf + ResetEventReuseHL EVENT_MANSION_SWITCH_ON + jr .asm_520bf .asm_520b9 ld hl, Mansion2Text_520cc call PrintText .asm_520bf jp TextScriptEnd -Mansion2Text_520c2: ; 520c2 (14:60c2) +Mansion2Text_520c2: TX_FAR _Mansion2Text_520c2 db "@" -Mansion2Text_520c7: ; 520c7 (14:60c7) +Mansion2Text_520c7: TX_FAR _Mansion2Text_520c7 db "@" -Mansion2Text_520cc: ; 520cc (14:60cc) +Mansion2Text_520cc: TX_FAR _Mansion2Text_520cc db "@" diff --git a/scripts/mansion3.asm b/scripts/mansion3.asm index 6ad02dd9..abe76df8 100755 --- a/scripts/mansion3.asm +++ b/scripts/mansion3.asm @@ -1,20 +1,19 @@ -Mansion3Script: ; 521ee (14:61ee) +Mansion3Script: call Mansion3Script_52204 call EnableAutoTextBoxDrawing ld hl, Mansion3TrainerHeader0 ld de, Mansion3ScriptPointers - ld a, [W_MANSION3CURSCRIPT] + ld a, [wMansion3CurScript] call ExecuteCurMapScriptInTable - ld [W_MANSION3CURSCRIPT], a + ld [wMansion3CurScript], a ret -Mansion3Script_52204: ; 52204 (14:6204) - ld hl, wd126 +Mansion3Script_52204: + ld hl, wCurrentMapScriptFlags bit 5, [hl] res 5, [hl] ret z - ld a, [wd796] - bit 0, a + CheckEvent EVENT_MANSION_SWITCH_ON jr nz, .asm_52224 ld a, $e ld bc, $207 @@ -32,12 +31,12 @@ Mansion3Script_52204: ; 52204 (14:6204) call Mansion2Script_5202f ret -Mansion3ScriptPointers: ; 52235 (14:6235) +Mansion3ScriptPointers: dw Mansion3Script0 dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle -Mansion3Script0: ; 5223b (14:623b) +Mansion3Script0: ld hl, CoordsData_52254 call Mansion3Script_5225b ld a, [wWhichDungeonWarp] @@ -51,13 +50,13 @@ Mansion3Script0: ; 5223b (14:623b) ld [wDungeonWarpDestinationMap], a ret -CoordsData_52254: ; 52254 (14:6254) +CoordsData_52254: db $0E,$10 db $0E,$11 db $0E,$13 db $FF -Mansion3Script_5225b: ; 5225b (14:625b) +Mansion3Script_5225b: xor a ld [wWhichDungeonWarp], a ld a, [wd72d] @@ -65,7 +64,7 @@ Mansion3Script_5225b: ; 5225b (14:625b) ret nz call ArePlayerCoordsInArray ret nc - ld a, [wWhichTrade] ; wWhichTrade + ld a, [wCoordIndex] ld [wWhichDungeonWarp], a ld hl, wd72d set 4, [hl] @@ -73,81 +72,80 @@ Mansion3Script_5225b: ; 5225b (14:625b) set 4, [hl] ret -Mansion3Script_Switches: ; 5227a (14:627a) +Mansion3Script_Switches: ld a, [wSpriteStateData1 + 9] - cp $4 + cp SPRITE_FACING_UP ret nz xor a ld [hJoyHeld], a ld a, $6 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a jp DisplayTextID -Mansion3TextPointers: ; 5228a (14:628a) +Mansion3TextPointers: dw Mansion3Text1 dw Mansion3Text2 - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText dw Mansion3Text5 dw Mansion3Text6 -Mansion3TrainerHeaders: ; 52296 (14:6296) -Mansion3TrainerHeader0: ; 52296 (14:6296) - db $1 ; flag's bit +Mansion3TrainerHeader0: + dbEventFlagBit EVENT_BEAT_MANSION_3_TRAINER_0 db ($0 << 4) ; trainer's view range - dw wd849 ; flag's byte - dw Mansion3BattleText1 ; 0x62c3 TextBeforeBattle - dw Mansion3AfterBattleText1 ; 0x62cd TextAfterBattle - dw Mansion3EndBattleText1 ; 0x62c8 TextEndBattle - dw Mansion3EndBattleText1 ; 0x62c8 TextEndBattle - -Mansion3TrainerHeader2: ; 522a2 (14:62a2) - db $2 ; flag's bit + dwEventFlagAddress EVENT_BEAT_MANSION_3_TRAINER_0 + dw Mansion3BattleText1 ; TextBeforeBattle + dw Mansion3AfterBattleText1 ; TextAfterBattle + dw Mansion3EndBattleText1 ; TextEndBattle + dw Mansion3EndBattleText1 ; TextEndBattle + +Mansion3TrainerHeader1: + dbEventFlagBit EVENT_BEAT_MANSION_3_TRAINER_1 db ($2 << 4) ; trainer's view range - dw wd849 ; flag's byte - dw Mansion3BattleText2 ; 0x62d2 TextBeforeBattle - dw Mansion3AfterBattleText2 ; 0x62dc TextAfterBattle - dw Mansion3EndBattleText2 ; 0x62d7 TextEndBattle - dw Mansion3EndBattleText2 ; 0x62d7 TextEndBattle + dwEventFlagAddress EVENT_BEAT_MANSION_3_TRAINER_1 + dw Mansion3BattleText2 ; TextBeforeBattle + dw Mansion3AfterBattleText2 ; TextAfterBattle + dw Mansion3EndBattleText2 ; TextEndBattle + dw Mansion3EndBattleText2 ; TextEndBattle db $ff -Mansion3Text1: ; 522af (14:62af) - db $08 ; asm +Mansion3Text1: + TX_ASM ld hl, Mansion3TrainerHeader0 call TalkToTrainer jp TextScriptEnd -Mansion3Text2: ; 522b9 (14:62b9) - db $08 ; asm - ld hl, Mansion3TrainerHeader2 +Mansion3Text2: + TX_ASM + ld hl, Mansion3TrainerHeader1 call TalkToTrainer jp TextScriptEnd -Mansion3BattleText1: ; 522c3 (14:62c3) +Mansion3BattleText1: TX_FAR _Mansion3BattleText1 db "@" -Mansion3EndBattleText1: ; 522c8 (14:62c8) +Mansion3EndBattleText1: TX_FAR _Mansion3EndBattleText1 db "@" -Mansion3AfterBattleText1: ; 522cd (14:62cd) +Mansion3AfterBattleText1: TX_FAR _Mansion3AfterBattleText1 db "@" -Mansion3BattleText2: ; 522d2 (14:62d2) +Mansion3BattleText2: TX_FAR _Mansion3BattleText2 db "@" -Mansion3EndBattleText2: ; 522d7 (14:62d7) +Mansion3EndBattleText2: TX_FAR _Mansion3EndBattleText2 db "@" -Mansion3AfterBattleText2: ; 522dc (14:62dc) +Mansion3AfterBattleText2: TX_FAR _Mansion3AfterBattleText2 db "@" -Mansion3Text5: ; 522e1 (14:62e1) +Mansion3Text5: TX_FAR _Mansion3Text5 db "@" diff --git a/scripts/mansion4.asm b/scripts/mansion4.asm index b89af5f2..de8a5d58 100755 --- a/scripts/mansion4.asm +++ b/scripts/mansion4.asm @@ -1,20 +1,19 @@ -Mansion4Script: ; 523b9 (14:63b9) +Mansion4Script: call Mansion4Script_523cf call EnableAutoTextBoxDrawing ld hl, Mansion4TrainerHeader0 ld de, Mansion4ScriptPointers - ld a, [W_MANSION4CURSCRIPT] + ld a, [wMansion4CurScript] call ExecuteCurMapScriptInTable - ld [W_MANSION4CURSCRIPT], a + ld [wMansion4CurScript], a ret -Mansion4Script_523cf: ; 523cf (14:63cf) - ld hl, wd126 +Mansion4Script_523cf: + ld hl, wCurrentMapScriptFlags bit 5, [hl] res 5, [hl] ret z - ld a, [wd796] - bit 0, a + CheckEvent EVENT_MANSION_SWITCH_ON jr nz, .asm_523ff ld a, $e ld bc, $80d @@ -44,89 +43,88 @@ Mansion4Script_523cf: ; 523cf (14:63cf) call Mansion2Script_5202f ret -Mansion4Script_Switches: ; 52420 (14:6420) +Mansion4Script_Switches: ld a, [wSpriteStateData1 + 9] - cp $4 + cp SPRITE_FACING_UP ret nz xor a ld [hJoyHeld], a ld a, $9 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a jp DisplayTextID -Mansion4ScriptPointers: ; 52430 (14:6430) +Mansion4ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle -Mansion4TextPointers: ; 52436 (14:6436) +Mansion4TextPointers: dw Mansion4Text1 dw Mansion4Text2 - dw Predef5CText - dw Predef5CText - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText dw Mansion4Text7 - dw Predef5CText + dw PickUpItemText dw Mansion3Text6 -Mansion4TrainerHeaders: ; 52448 (14:6448) -Mansion4TrainerHeader0: ; 52448 (14:6448) - db $1 ; flag's bit +Mansion4TrainerHeader0: + dbEventFlagBit EVENT_BEAT_MANSION_4_TRAINER_0 db ($0 << 4) ; trainer's view range - dw wd84b ; flag's byte - dw Mansion4BattleText1 ; 0x6475 TextBeforeBattle - dw Mansion4AfterBattleText1 ; 0x647f TextAfterBattle - dw Mansion4EndBattleText1 ; 0x647a TextEndBattle - dw Mansion4EndBattleText1 ; 0x647a TextEndBattle - -Mansion4TrainerHeader2: ; 52454 (14:6454) - db $2 ; flag's bit + dwEventFlagAddress EVENT_BEAT_MANSION_4_TRAINER_0 + dw Mansion4BattleText1 ; TextBeforeBattle + dw Mansion4AfterBattleText1 ; TextAfterBattle + dw Mansion4EndBattleText1 ; TextEndBattle + dw Mansion4EndBattleText1 ; TextEndBattle + +Mansion4TrainerHeader1: + dbEventFlagBit EVENT_BEAT_MANSION_4_TRAINER_1 db ($3 << 4) ; trainer's view range - dw wd84b ; flag's byte - dw Mansion4BattleText2 ; 0x6484 TextBeforeBattle - dw Mansion4AfterBattleText2 ; 0x648e TextAfterBattle - dw Mansion4EndBattleText2 ; 0x6489 TextEndBattle - dw Mansion4EndBattleText2 ; 0x6489 TextEndBattle + dwEventFlagAddress EVENT_BEAT_MANSION_4_TRAINER_1 + dw Mansion4BattleText2 ; TextBeforeBattle + dw Mansion4AfterBattleText2 ; TextAfterBattle + dw Mansion4EndBattleText2 ; TextEndBattle + dw Mansion4EndBattleText2 ; TextEndBattle db $ff -Mansion4Text1: ; 52461 (14:6461) - db $08 ; asm +Mansion4Text1: + TX_ASM ld hl, Mansion4TrainerHeader0 call TalkToTrainer jp TextScriptEnd -Mansion4Text2: ; 5246b (14:646b) - db $08 ; asm - ld hl, Mansion4TrainerHeader2 +Mansion4Text2: + TX_ASM + ld hl, Mansion4TrainerHeader1 call TalkToTrainer jp TextScriptEnd -Mansion4BattleText1: ; 52475 (14:6475) +Mansion4BattleText1: TX_FAR _Mansion4BattleText1 db "@" -Mansion4EndBattleText1: ; 5247a (14:647a) +Mansion4EndBattleText1: TX_FAR _Mansion4EndBattleText1 db "@" -Mansion4AfterBattleText1: ; 5247f (14:647f) +Mansion4AfterBattleText1: TX_FAR _Mansion4AfterBattleText1 db "@" -Mansion4BattleText2: ; 52484 (14:6484) +Mansion4BattleText2: TX_FAR _Mansion4BattleText2 db "@" -Mansion4EndBattleText2: ; 52489 (14:6489) +Mansion4EndBattleText2: TX_FAR _Mansion4EndBattleText2 db "@" -Mansion4AfterBattleText2: ; 5248e (14:648e) +Mansion4AfterBattleText2: TX_FAR _Mansion4AfterBattleText2 db "@" -Mansion4Text7: ; 52493 (14:6493) +Mansion4Text7: TX_FAR _Mansion4Text7 db "@" diff --git a/scripts/mtmoon1.asm b/scripts/mtmoon1.asm index def597ba..5ee3d025 100755 --- a/scripts/mtmoon1.asm +++ b/scripts/mtmoon1.asm @@ -1,18 +1,18 @@ -MtMoon1Script: ; 499c8 (12:59c8) +MtMoon1Script: call EnableAutoTextBoxDrawing ld hl, MtMoon1TrainerHeader0 ld de, MtMoon1ScriptPointers - ld a, [W_MTMOON1CURSCRIPT] + ld a, [wMtMoon1CurScript] call ExecuteCurMapScriptInTable - ld [W_MTMOON1CURSCRIPT], a + ld [wMtMoon1CurScript], a ret -MtMoon1ScriptPointers: ; 499db (12:59db) +MtMoon1ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle -MtMoon1TextPointers: ; 499e1 (12:59e1) +MtMoon1TextPointers: dw MtMoon1Text1 dw MtMoon1Text2 dw MtMoon1Text3 @@ -20,206 +20,205 @@ MtMoon1TextPointers: ; 499e1 (12:59e1) dw MtMoon1Text5 dw MtMoon1Text6 dw MtMoon1Text7 - dw Predef5CText - dw Predef5CText - dw Predef5CText - dw Predef5CText - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText dw MtMoon1Text14 -MtMoon1TrainerHeaders: ; 499fd (12:59fd) -MtMoon1TrainerHeader0: ; 499fd (12:59fd) - db $1 ; flag's bit +MtMoon1TrainerHeader0: + dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_0 db ($2 << 4) ; trainer's view range - dw wd7f5 ; flag's byte - dw MtMoon1BattleText2 ; 0x5a98 TextBeforeBattle - dw MtMoon1AfterBattleText2 ; 0x5aa2 TextAfterBattle - dw MtMoon1EndBattleText2 ; 0x5a9d TextEndBattle - dw MtMoon1EndBattleText2 ; 0x5a9d TextEndBattle - -MtMoon1TrainerHeader2: ; 49a09 (12:5a09) - db $2 ; flag's bit + dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_0 + dw MtMoon1BattleText2 ; TextBeforeBattle + dw MtMoon1AfterBattleText2 ; TextAfterBattle + dw MtMoon1EndBattleText2 ; TextEndBattle + dw MtMoon1EndBattleText2 ; TextEndBattle + +MtMoon1TrainerHeader1: + dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_1 db ($3 << 4) ; trainer's view range - dw wd7f5 ; flag's byte - dw MtMoon1BattleText3 ; 0x5aa7 TextBeforeBattle - dw MtMoon1AfterBattleText3 ; 0x5ab1 TextAfterBattle - dw MtMoon1EndBattleText3 ; 0x5aac TextEndBattle - dw MtMoon1EndBattleText3 ; 0x5aac TextEndBattle - -MtMoon1TrainerHeader3: ; 49a15 (12:5a15) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_1 + dw MtMoon1BattleText3 ; TextBeforeBattle + dw MtMoon1AfterBattleText3 ; TextAfterBattle + dw MtMoon1EndBattleText3 ; TextEndBattle + dw MtMoon1EndBattleText3 ; TextEndBattle + +MtMoon1TrainerHeader2: + dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_2 db ($3 << 4) ; trainer's view range - dw wd7f5 ; flag's byte - dw MtMoon1BattleText4 ; 0x5ab6 TextBeforeBattle - dw MtMoon1AfterBattleText4 ; 0x5ac0 TextAfterBattle - dw MtMoon1EndBattleText4 ; 0x5abb TextEndBattle - dw MtMoon1EndBattleText4 ; 0x5abb TextEndBattle - -MtMoon1TrainerHeader4: ; 49a21 (12:5a21) - db $4 ; flag's bit + dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_2 + dw MtMoon1BattleText4 ; TextBeforeBattle + dw MtMoon1AfterBattleText4 ; TextAfterBattle + dw MtMoon1EndBattleText4 ; TextEndBattle + dw MtMoon1EndBattleText4 ; TextEndBattle + +MtMoon1TrainerHeader3: + dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_3 db ($3 << 4) ; trainer's view range - dw wd7f5 ; flag's byte - dw MtMoon1BattleText5 ; 0x5ac5 TextBeforeBattle - dw MtMoon1AfterBattleText5 ; 0x5acf TextAfterBattle - dw MtMoon1EndBattleText5 ; 0x5aca TextEndBattle - dw MtMoon1EndBattleText5 ; 0x5aca TextEndBattle - -MtMoon1TrainerHeader5: ; 49a2d (12:5a2d) - db $5 ; flag's bit + dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_3 + dw MtMoon1BattleText5 ; TextBeforeBattle + dw MtMoon1AfterBattleText5 ; TextAfterBattle + dw MtMoon1EndBattleText5 ; TextEndBattle + dw MtMoon1EndBattleText5 ; TextEndBattle + +MtMoon1TrainerHeader4: + dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_4 db ($3 << 4) ; trainer's view range - dw wd7f5 ; flag's byte - dw MtMoon1BattleText6 ; 0x5ad4 TextBeforeBattle - dw MtMoon1AfterBattleText6 ; 0x5ade TextAfterBattle - dw MtMoon1EndBattleText6 ; 0x5ad9 TextEndBattle - dw MtMoon1EndBattleText6 ; 0x5ad9 TextEndBattle - -MtMoon1TrainerHeader6: ; 49a39 (12:5a39) - db $6 ; flag's bit + dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_4 + dw MtMoon1BattleText6 ; TextBeforeBattle + dw MtMoon1AfterBattleText6 ; TextAfterBattle + dw MtMoon1EndBattleText6 ; TextEndBattle + dw MtMoon1EndBattleText6 ; TextEndBattle + +MtMoon1TrainerHeader5: + dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_5 db ($3 << 4) ; trainer's view range - dw wd7f5 ; flag's byte - dw MtMoon1BattleText7 ; 0x5ae3 TextBeforeBattle - dw MtMoon1AfterBattleText7 ; 0x5aed TextAfterBattle - dw MtMoon1EndBattleText7 ; 0x5ae8 TextEndBattle - dw MtMoon1EndBattleText7 ; 0x5ae8 TextEndBattle - -MtMoon1TrainerHeader7: ; 49a45 (12:5a45) - db $7 ; flag's bit + dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_5 + dw MtMoon1BattleText7 ; TextBeforeBattle + dw MtMoon1AfterBattleText7 ; TextAfterBattle + dw MtMoon1EndBattleText7 ; TextEndBattle + dw MtMoon1EndBattleText7 ; TextEndBattle + +MtMoon1TrainerHeader6: + dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_6 db ($3 << 4) ; trainer's view range - dw wd7f5 ; flag's byte - dw MtMoon1BattleText8 ; 0x5af2 TextBeforeBattle - dw MtMoon1AfterBattleText8 ; 0x5afc TextAfterBattle - dw MtMoon1EndBattleText8 ; 0x5af7 TextEndBattle - dw MtMoon1EndBattleText8 ; 0x5af7 TextEndBattle + dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_6 + dw MtMoon1BattleText8 ; TextBeforeBattle + dw MtMoon1AfterBattleText8 ; TextAfterBattle + dw MtMoon1EndBattleText8 ; TextEndBattle + dw MtMoon1EndBattleText8 ; TextEndBattle db $ff -MtMoon1Text1: ; 49a52 (12:5a52) - db $08 ; asm +MtMoon1Text1: + TX_ASM ld hl, MtMoon1TrainerHeader0 call TalkToTrainer jp TextScriptEnd -MtMoon1Text2: ; 49a5c (12:5a5c) - db $08 ; asm +MtMoon1Text2: + TX_ASM + ld hl, MtMoon1TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +MtMoon1Text3: + TX_ASM ld hl, MtMoon1TrainerHeader2 call TalkToTrainer jp TextScriptEnd -MtMoon1Text3: ; 49a66 (12:5a66) - db $08 ; asm +MtMoon1Text4: + TX_ASM ld hl, MtMoon1TrainerHeader3 call TalkToTrainer jp TextScriptEnd -MtMoon1Text4: ; 49a70 (12:5a70) - db $08 ; asm +MtMoon1Text5: + TX_ASM ld hl, MtMoon1TrainerHeader4 call TalkToTrainer jp TextScriptEnd -MtMoon1Text5: ; 49a7a (12:5a7a) - db $08 ; asm +MtMoon1Text6: + TX_ASM ld hl, MtMoon1TrainerHeader5 call TalkToTrainer jp TextScriptEnd -MtMoon1Text6: ; 49a84 (12:5a84) - db $08 ; asm +MtMoon1Text7: + TX_ASM ld hl, MtMoon1TrainerHeader6 call TalkToTrainer jp TextScriptEnd -MtMoon1Text7: ; 49a8e (12:5a8e) - db $08 ; asm - ld hl, MtMoon1TrainerHeader7 - call TalkToTrainer - jp TextScriptEnd - -MtMoon1BattleText2: ; 49a98 (12:5a98) +MtMoon1BattleText2: TX_FAR _MtMoon1BattleText2 db "@" -MtMoon1EndBattleText2: ; 49a9d (12:5a9d) +MtMoon1EndBattleText2: TX_FAR _MtMoon1EndBattleText2 db "@" -MtMoon1AfterBattleText2: ; 49aa2 (12:5aa2) +MtMoon1AfterBattleText2: TX_FAR _MtMoon1AfterBattleText2 db "@" -MtMoon1BattleText3: ; 49aa7 (12:5aa7) +MtMoon1BattleText3: TX_FAR _MtMoon1BattleText3 db "@" -MtMoon1EndBattleText3: ; 49aac (12:5aac) +MtMoon1EndBattleText3: TX_FAR _MtMoon1EndBattleText3 db "@" -MtMoon1AfterBattleText3: ; 49ab1 (12:5ab1) +MtMoon1AfterBattleText3: TX_FAR _MtMoon1AfterBattleText3 db "@" -MtMoon1BattleText4: ; 49ab6 (12:5ab6) +MtMoon1BattleText4: TX_FAR _MtMoon1BattleText4 db "@" -MtMoon1EndBattleText4: ; 49abb (12:5abb) +MtMoon1EndBattleText4: TX_FAR _MtMoon1EndBattleText4 db "@" -MtMoon1AfterBattleText4: ; 49ac0 (12:5ac0) +MtMoon1AfterBattleText4: TX_FAR _MtMoon1AfterBattleText4 db "@" -MtMoon1BattleText5: ; 49ac5 (12:5ac5) +MtMoon1BattleText5: TX_FAR _MtMoon1BattleText5 db "@" -MtMoon1EndBattleText5: ; 49aca (12:5aca) +MtMoon1EndBattleText5: TX_FAR _MtMoon1EndBattleText5 db "@" -MtMoon1AfterBattleText5: ; 49acf (12:5acf) +MtMoon1AfterBattleText5: TX_FAR _MtMoon1AfterBattleText5 db "@" -MtMoon1BattleText6: ; 49ad4 (12:5ad4) +MtMoon1BattleText6: TX_FAR _MtMoon1BattleText6 db "@" -MtMoon1EndBattleText6: ; 49ad9 (12:5ad9) +MtMoon1EndBattleText6: TX_FAR _MtMoon1EndBattleText6 db "@" -MtMoon1AfterBattleText6: ; 49ade (12:5ade) +MtMoon1AfterBattleText6: TX_FAR _MtMoon1AfterBattleText6 db "@" -MtMoon1BattleText7: ; 49ae3 (12:5ae3) +MtMoon1BattleText7: TX_FAR _MtMoon1BattleText7 db "@" -MtMoon1EndBattleText7: ; 49ae8 (12:5ae8) +MtMoon1EndBattleText7: TX_FAR _MtMoon1EndBattleText7 db "@" -MtMoon1AfterBattleText7: ; 49aed (12:5aed) +MtMoon1AfterBattleText7: TX_FAR _MtMoon1AfterBattleText7 db "@" -MtMoon1BattleText8: ; 49af2 (12:5af2) +MtMoon1BattleText8: TX_FAR _MtMoon1BattleText8 db "@" -MtMoon1EndBattleText8: ; 49af7 (12:5af7) +MtMoon1EndBattleText8: TX_FAR _MtMoon1EndBattleText8 db "@" -MtMoon1AfterBattleText8: ; 49afc (12:5afc) +MtMoon1AfterBattleText8: TX_FAR _MtMoon1AfterBattleText8 db "@" -MtMoon1Text14: ; 49b01 (12:5b01) +MtMoon1Text14: TX_FAR _MtMoon1Text14 db "@" diff --git a/scripts/mtmoon2.asm b/scripts/mtmoon2.asm index 03e9d9cb..6d1e5339 100755 --- a/scripts/mtmoon2.asm +++ b/scripts/mtmoon2.asm @@ -1,10 +1,10 @@ -MtMoon2Script: ; 51a42 (14:5a42) +MtMoon2Script: call EnableAutoTextBoxDrawing ret -MtMoon2TextPointers: ; 51a46 (14:5a46) +MtMoon2TextPointers: dw MtMoonText1 -MtMoonText1: ; 51a48 (14:5a48) +MtMoonText1: TX_FAR _MtMoonText1 db "@" diff --git a/scripts/mtmoon3.asm b/scripts/mtmoon3.asm index eb0fc301..60cd1ab8 100755 --- a/scripts/mtmoon3.asm +++ b/scripts/mtmoon3.asm @@ -1,16 +1,15 @@ -MtMoon3Script: ; 49d0b (12:5d0b) +MtMoon3Script: call EnableAutoTextBoxDrawing - ld hl, MtMoon3TrainerHeader0 ; $5e48 + ld hl, MtMoon3TrainerHeader0 ld de, MtMoon3ScriptPointers - ld a, [W_MTMOON3CURSCRIPT] + ld a, [wMtMoon3CurScript] call ExecuteCurMapScriptInTable - ld [W_MTMOON3CURSCRIPT], a - ld a, [wd7f6] - bit 1, a + ld [wMtMoon3CurScript], a + CheckEvent EVENT_BEAT_MT_MOON_EXIT_SUPER_NERD ret z ld hl, CoordsData_49d37 call ArePlayerCoordsInArray - jr nc, .asm_49d31 ; 0x49d29 $6 + jr nc, .asm_49d31 ld hl, wd72e set 4, [hl] ret @@ -19,7 +18,7 @@ MtMoon3Script: ; 49d0b (12:5d0b) res 4, [hl] ret -CoordsData_49d37: ; 49d37 (12:5d37) +CoordsData_49d37: db $05,$0B db $05,$0C db $05,$0D @@ -38,14 +37,14 @@ CoordsData_49d37: ; 49d37 (12:5d37) db $08,$0E db $FF -MtMoon3Script_49d58: ; 49d58 (12:5d58) +MtMoon3Script_49d58: xor a ld [wJoyIgnore], a - ld [W_MTMOON3CURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wMtMoon3CurScript], a + ld [wCurMapScript], a ret -MtMoon3ScriptPointers: ; 49d63 (12:5d63) +MtMoon3ScriptPointers: dw MtMoon3Script0 dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle @@ -53,46 +52,43 @@ MtMoon3ScriptPointers: ; 49d63 (12:5d63) dw MtMoon3Script4 dw MtMoon3Script5 -MtMoon3Script0: ; 49d6f (12:5d6f) - ld a, [wd7f6] - bit 1, a +MtMoon3Script0: + CheckEvent EVENT_BEAT_MT_MOON_EXIT_SUPER_NERD jp nz, MtMoon3Script_49d91 - ld a, [W_YCOORD] ; wd361 + ld a, [wYCoord] cp $8 jp nz, MtMoon3Script_49d91 - ld a, [W_XCOORD] ; wd362 + ld a, [wXCoord] cp $d jp nz, MtMoon3Script_49d91 xor a ld [hJoyHeld], a ld a, $1 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a jp DisplayTextID -MtMoon3Script_49d91: ; 49d91 (12:5d91) - ld a, [wd7f6] - and $c0 +MtMoon3Script_49d91: + CheckEitherEventSet EVENT_GOT_DOME_FOSSIL, EVENT_GOT_HELIX_FOSSIL jp z, CheckFightingMapTrainers ret -MtMoon3Script3: ; 49d9a (12:5d9a) - ld a, [W_ISINBATTLE] ; W_ISINBATTLE +MtMoon3Script3: + ld a, [wIsInBattle] cp $ff jp z, MtMoon3Script_49d58 call UpdateSprites call Delay3 - ld hl, wd7f6 - set 1, [hl] + SetEvent EVENT_BEAT_MT_MOON_EXIT_SUPER_NERD xor a ld [wJoyIgnore], a ld a, $0 - ld [W_MTMOON3CURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wMtMoon3CurScript], a + ld [wCurMapScript], a ret -MtMoon3Script4: ; 49dba (12:5dba) +MtMoon3Script4: ld a, $1 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [H_SPRITEINDEX], a call SetSpriteMovementBytesToFF ld hl, CoordsData_49dea call ArePlayerCoordsInArray @@ -106,32 +102,32 @@ MtMoon3Script4: ; 49dba (12:5dba) ld de, MovementData_49df8 .asm_49dda ld a, $1 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [H_SPRITEINDEX], a call MoveSprite ld a, $5 - ld [W_MTMOON3CURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wMtMoon3CurScript], a + ld [wCurMapScript], a ret -CoordsData_49dea: ; 49dea (12:5dea) +CoordsData_49dea: db $07,$0C db $06,$0B db $05,$0C db $FF -CoordsData_49df1: ; 49df1 (12:5df1) +CoordsData_49df1: db $07,$0D db $06,$0E db $05,$0E db $FF -MovementData_49df8: ; 49df8 (12:5df8) - db $C0 +MovementData_49df8: + db NPC_MOVEMENT_RIGHT -MovementData_49df9: ; 49df9 (12:5df9) - db $40,$FF +MovementData_49df9: + db NPC_MOVEMENT_UP,$FF -MtMoon3Script5: ; 49dfb (12:5dfb) +MtMoon3Script5: ld a, [wd730] bit 0, a ret nz @@ -140,26 +136,25 @@ MtMoon3Script5: ; 49dfb (12:5dfb) ld a, $1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a ld a, $a - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a call DisplayTextID - ld a, [wd7f6] - bit 6, a + CheckEvent EVENT_GOT_DOME_FOSSIL jr z, .asm_49e1d ld a, HS_MT_MOON_3_FOSSIL_2 jr .asm_49e1f .asm_49e1d ld a, HS_MT_MOON_3_FOSSIL_1 .asm_49e1f - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject xor a ld [wJoyIgnore], a ld a, $0 - ld [W_MTMOON3CURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wMtMoon3CurScript], a + ld [wCurMapScript], a ret -MtMoon3TextPointers: ; 49e34 (12:5e34) +MtMoon3TextPointers: dw MtMoon3Text1 dw MtMoon3Text2 dw MtMoon3Text3 @@ -167,60 +162,58 @@ MtMoon3TextPointers: ; 49e34 (12:5e34) dw MtMoon3Text5 dw MtMoon3Text6 dw MtMoon3Text7 - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText dw MtMoon3Text_49f99 -MtMoon3TrainerHeaders: ; 49e48 (12:5e48) -MtMoon3TrainerHeader0: ; 49e48 (12:5e48) - db $2 ; flag's bit +MtMoon3TrainerHeader0: + dbEventFlagBit EVENT_BEAT_MT_MOON_3_TRAINER_0 db ($4 << 4) ; trainer's view range - dw wd7f6 ; flag's byte - dw MtMoon3BattleText2 ; 0x5f9f TextBeforeBattle - dw MtMoon3AfterBattleText2 ; 0x5fa9 TextAfterBattle - dw MtMoon3EndBattleText2 ; 0x5fa4 TextEndBattle - dw MtMoon3EndBattleText2 ; 0x5fa4 TextEndBattle - -MtMoon3TrainerHeader2: ; 49e54 (12:5e54) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_MT_MOON_3_TRAINER_0 + dw MtMoon3BattleText2 ; TextBeforeBattle + dw MtMoon3AfterBattleText2 ; TextAfterBattle + dw MtMoon3EndBattleText2 ; TextEndBattle + dw MtMoon3EndBattleText2 ; TextEndBattle + +MtMoon3TrainerHeader1: + dbEventFlagBit EVENT_BEAT_MT_MOON_3_TRAINER_1 db ($4 << 4) ; trainer's view range - dw wd7f6 ; flag's byte - dw MtMoon3BattleText3 ; 0x5fae TextBeforeBattle - dw MtMoon3AfterBattleText3 ; 0x5fb8 TextAfterBattle - dw MtMoon3EndBattleText3 ; 0x5fb3 TextEndBattle - dw MtMoon3EndBattleText3 ; 0x5fb3 TextEndBattle - -MtMoon3TrainerHeader3: ; 49e60 (12:5e60) - db $4 ; flag's bit + dwEventFlagAddress EVENT_BEAT_MT_MOON_3_TRAINER_1 + dw MtMoon3BattleText3 ; TextBeforeBattle + dw MtMoon3AfterBattleText3 ; TextAfterBattle + dw MtMoon3EndBattleText3 ; TextEndBattle + dw MtMoon3EndBattleText3 ; TextEndBattle + +MtMoon3TrainerHeader2: + dbEventFlagBit EVENT_BEAT_MT_MOON_3_TRAINER_2 db ($4 << 4) ; trainer's view range - dw wd7f6 ; flag's byte - dw MtMoon3BattleText4 ; 0x5fbd TextBeforeBattle - dw MtMoon3AfterBattleText4 ; 0x5fc7 TextAfterBattle - dw MtMoon3EndBattleText4 ; 0x5fc2 TextEndBattle - dw MtMoon3EndBattleText4 ; 0x5fc2 TextEndBattle - -MtMoon3TrainerHeader4: ; 49e6c (12:5e6c) - db $5 ; flag's bit + dwEventFlagAddress EVENT_BEAT_MT_MOON_3_TRAINER_2 + dw MtMoon3BattleText4 ; TextBeforeBattle + dw MtMoon3AfterBattleText4 ; TextAfterBattle + dw MtMoon3EndBattleText4 ; TextEndBattle + dw MtMoon3EndBattleText4 ; TextEndBattle + +MtMoon3TrainerHeader3: + dbEventFlagBit EVENT_BEAT_MT_MOON_3_TRAINER_3 db ($4 << 4) ; trainer's view range - dw wd7f6 ; flag's byte - dw MtMoon3BattleText5 ; 0x5fcc TextBeforeBattle - dw MtMoon3AfterBattleText5 ; 0x5fd6 TextAfterBattle - dw MtMoon3EndBattleText5 ; 0x5fd1 TextEndBattle - dw MtMoon3EndBattleText5 ; 0x5fd1 TextEndBattle + dwEventFlagAddress EVENT_BEAT_MT_MOON_3_TRAINER_3 + dw MtMoon3BattleText5 ; TextBeforeBattle + dw MtMoon3AfterBattleText5 ; TextAfterBattle + dw MtMoon3EndBattleText5 ; TextEndBattle + dw MtMoon3EndBattleText5 ; TextEndBattle db $ff -MtMoon3Text1: ; 49e79 (12:5e79) - db $08 ; asm - ld a, [wd7f6] - bit 1, a - jr z, .asm_be1e0 ; 0x49e7f +MtMoon3Text1: + TX_ASM + CheckEvent EVENT_BEAT_MT_MOON_EXIT_SUPER_NERD + jr z, .asm_49e8d and $c0 - jr nz, .asm_f8cd4 ; 0x49e83 + jr nz, .asm_49eb8 ld hl, MtMoon3Text_49f8f call PrintText - jr .asm_f1fba ; 0x49e8b -.asm_be1e0 ; 0x49e8d + jr .asm_49ebe +.asm_49e8d ld hl, MtMoon3Text_49f85 call PrintText ld hl, wd72d @@ -229,46 +222,46 @@ MtMoon3Text1: ; 49e79 (12:5e79) ld hl, MtMoon3Text_49f8a ld de, MtMoon3Text_49f8a call SaveEndBattleTextPointers - ldh a, [$8c] + ld a, [H_SPRITEINDEX] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters ld a, $3 - ld [W_MTMOON3CURSCRIPT], a - ld [W_CURMAPSCRIPT], a - jr .asm_f1fba ; 0x49eb6 -.asm_f8cd4 ; 0x49eb8 + ld [wMtMoon3CurScript], a + ld [wCurMapScript], a + jr .asm_49ebe +.asm_49eb8 ld hl, MtMoon3Text_49f94 call PrintText -.asm_f1fba ; 0x49ebe +.asm_49ebe jp TextScriptEnd -MtMoon3Text2: ; 49ec1 (12:5ec1) - db $08 ; asm +MtMoon3Text2: + TX_ASM ld hl, MtMoon3TrainerHeader0 call TalkToTrainer jp TextScriptEnd -MtMoon3Text3: ; 49ecb (12:5ecb) - db $08 ; asm - ld hl, MtMoon3TrainerHeader2 +MtMoon3Text3: + TX_ASM + ld hl, MtMoon3TrainerHeader1 call TalkToTrainer jp TextScriptEnd -MtMoon3Text4: ; 49ed5 (12:5ed5) - db $08 ; asm - ld hl, MtMoon3TrainerHeader3 +MtMoon3Text4: + TX_ASM + ld hl, MtMoon3TrainerHeader2 call TalkToTrainer jp TextScriptEnd -MtMoon3Text5: ; 49edf (12:5edf) - db $08 ; asm - ld hl, MtMoon3TrainerHeader4 ; $5e6c +MtMoon3Text5: + TX_ASM + ld hl, MtMoon3TrainerHeader3 call TalkToTrainer jp TextScriptEnd -MtMoon3Text6: ; 49ee9 (12:5ee9) - db $08 ; asm +MtMoon3Text6: + TX_ASM ld a, $1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a ld hl, MtMoon3Text_49f24 @@ -276,28 +269,27 @@ MtMoon3Text6: ; 49ee9 (12:5ee9) call YesNoChoice ld a, [wCurrentMenuItem] and a - jr nz, .asm_1fa5e ; 0x49efc - ld bc,(DOME_FOSSIL << 8) | 1 + jr nz, .asm_49f21 + lb bc, DOME_FOSSIL, 1 call GiveItem jp nc, MtMoon3Script_49f76 call MtMoon3Script_49f69 ld a, HS_MT_MOON_3_FOSSIL_1 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject - ld hl, wd7f6 - set 6, [hl] + SetEvent EVENT_GOT_DOME_FOSSIL ld a, $4 - ld [W_MTMOON3CURSCRIPT], a - ld [W_CURMAPSCRIPT], a -.asm_1fa5e ; 0x49f21 + ld [wMtMoon3CurScript], a + ld [wCurMapScript], a +.asm_49f21 jp TextScriptEnd -MtMoon3Text_49f24: ; 49f24 (12:5f24) +MtMoon3Text_49f24: TX_FAR _MtMoon3Text_49f24 db "@" -MtMoon3Text7: ; 49f29 (12:5f29) - db $08 ; asm +MtMoon3Text7: + TX_ASM ld a, $1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a ld hl, MtMoon3Text_49f64 @@ -305,107 +297,110 @@ MtMoon3Text7: ; 49f29 (12:5f29) call YesNoChoice ld a, [wCurrentMenuItem] and a - jr nz, .asm_8e988 ; 0x49f3c - ld bc, (HELIX_FOSSIL << 8) | 1 + jr nz, .asm_49f61 + lb bc, HELIX_FOSSIL, 1 call GiveItem jp nc, MtMoon3Script_49f76 call MtMoon3Script_49f69 ld a, HS_MT_MOON_3_FOSSIL_2 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject - ld hl, wd7f6 - set 7, [hl] + SetEvent EVENT_GOT_HELIX_FOSSIL ld a, $4 - ld [W_MTMOON3CURSCRIPT], a - ld [W_CURMAPSCRIPT], a -.asm_8e988 ; 0x49f61 + ld [wMtMoon3CurScript], a + ld [wCurMapScript], a +.asm_49f61 jp TextScriptEnd -MtMoon3Text_49f64: ; 49f64 (12:5f64) +MtMoon3Text_49f64: TX_FAR _MtMoon3Text_49f64 db "@" -MtMoon3Script_49f69: ; 49f69 (12:5f69) +MtMoon3Script_49f69: ld hl, MtMoon3Text_49f6f jp PrintText -MtMoon3Text_49f6f: ; 49f6f (12:5f6f) - TX_FAR _MtMoon3Text_49f6f ; 0x80995 - db $11, $d, "@" +MtMoon3Text_49f6f: + TX_FAR _MtMoon3Text_49f6f + TX_SFX_KEY_ITEM + TX_WAIT + db "@" -MtMoon3Script_49f76: ; 49f76 (12:5f76) +MtMoon3Script_49f76: ld hl, MtMoon3Text_49f7f call PrintText jp TextScriptEnd -MtMoon3Text_49f7f: ; 49f7f (12:5f7f) - TX_FAR _MtMoon3Text_49f7f ; 0x809a8 - db $d, "@" +MtMoon3Text_49f7f: + TX_FAR _MtMoon3Text_49f7f + TX_WAIT + db "@" -MtMoon3Text_49f85: ; 49f85 (12:5f85) +MtMoon3Text_49f85: TX_FAR _MtMoon3Text_49f85 db "@" -MtMoon3Text_49f8a: ; 49f8a (12:5f8a) +MtMoon3Text_49f8a: TX_FAR _MtMoon3Text_49f8a db "@" -MtMoon3Text_49f8f: ; 49f8f (12:5f8f) +MtMoon3Text_49f8f: TX_FAR _MtMoon3Text_49f8f db "@" -MtMoon3Text_49f94: ; 49f94 (12:5f94) +MtMoon3Text_49f94: TX_FAR _MtMoon3Text_49f94 db "@" -MtMoon3Text_49f99: ; 49f99 (12:5f99) +MtMoon3Text_49f99: TX_FAR _MtMoon3Text_49f99 - db $11, "@" + TX_SFX_KEY_ITEM + db "@" -MtMoon3BattleText2: ; 49f9f (12:5f9f) +MtMoon3BattleText2: TX_FAR _MtMoon3BattleText2 db "@" -MtMoon3EndBattleText2: ; 49fa4 (12:5fa4) +MtMoon3EndBattleText2: TX_FAR _MtMoon3EndBattleText2 db "@" -MtMoon3AfterBattleText2: ; 49fa9 (12:5fa9) +MtMoon3AfterBattleText2: TX_FAR _MtMoon3AfterBattleText2 db "@" -MtMoon3BattleText3: ; 49fae (12:5fae) +MtMoon3BattleText3: TX_FAR _MtMoon3BattleText3 db "@" -MtMoon3EndBattleText3: ; 49fb3 (12:5fb3) +MtMoon3EndBattleText3: TX_FAR _MtMoon3EndBattleText3 db "@" -MtMoon3AfterBattleText3: ; 49fb8 (12:5fb8) +MtMoon3AfterBattleText3: TX_FAR _MtMoon3AfterBattleText3 db "@" -MtMoon3BattleText4: ; 49fbd (12:5fbd) +MtMoon3BattleText4: TX_FAR _MtMoon3BattleText4 db "@" -MtMoon3EndBattleText4: ; 49fc2 (12:5fc2) +MtMoon3EndBattleText4: TX_FAR _MtMoon3EndBattleText4 db "@" -MtMoon3AfterBattleText4: ; 49fc7 (12:5fc7) +MtMoon3AfterBattleText4: TX_FAR _MtMoon3AfterBattleText4 db "@" -MtMoon3BattleText5: ; 49fcc (12:5fcc) +MtMoon3BattleText5: TX_FAR _MtMoon3BattleText5 db "@" -MtMoon3EndBattleText5: ; 49fd1 (12:5fd1) +MtMoon3EndBattleText5: TX_FAR _MtMoon3EndBattleText5 db "@" -MtMoon3AfterBattleText5: ; 49fd6 (12:5fd6) +MtMoon3AfterBattleText5: TX_FAR _MtMoon3AfterBattleText5 db "@" diff --git a/scripts/mtmoonpokecenter.asm b/scripts/mtmoonpokecenter.asm index bfe9add8..b5edee8d 100755 --- a/scripts/mtmoonpokecenter.asm +++ b/scripts/mtmoonpokecenter.asm @@ -1,96 +1,94 @@ -MtMoonPokecenterScript: ; 492cf (12:52cf) +MtMoonPokecenterScript: call Serial_TryEstablishingExternallyClockedConnection jp EnableAutoTextBoxDrawing -MtMoonPokecenterTextPointers: ; 492d5 (12:52d5) - dw MtMoonPokecenterText1 +MtMoonPokecenterTextPointers: + dw MtMoonHealNurseText dw MtMoonPokecenterText2 dw MtMoonPokecenterText3 - dw MtMoonPokecenterText4 + dw MagikarpSalesmanText dw MtMoonPokecenterText5 - dw MtMoonPokecenterText6 + dw MtMoonTradeNurseText -MtMoonPokecenterText1: ; 492e1 (12:52e1) +MtMoonHealNurseText: db $ff -MtMoonPokecenterText2: ; 492e2 (12:52e2) +MtMoonPokecenterText2: TX_FAR _MtMoonPokecenterText1 db "@" -MtMoonPokecenterText3: ; 492e7 (12:52e7) +MtMoonPokecenterText3: TX_FAR _MtMoonPokecenterText3 db "@" -MtMoonPokecenterText4: ; 492ec (12:52ec) - db $08 ; asm - ld a, [wd7c6] - add a - jp c, .asm_49353 - ld hl, MtMoonPokecenterText_4935c +MagikarpSalesmanText: + TX_ASM + CheckEvent EVENT_BOUGHT_MAGIKARP, 1 + jp c, .alreadyBoughtMagikarp + ld hl, .Text1 call PrintText - ld a, $13 + ld a, MONEY_BOX ld [wTextBoxID], a call DisplayTextBoxID call YesNoChoice ld a, [wCurrentMenuItem] and a - jp nz, .asm_4934e - ldh [$9f], a - ldh [$a1], a + jp nz, .choseNo + ld [hMoney], a + ld [hMoney + 2], a ld a, $5 - ldh [$a0], a + ld [hMoney + 1], a call HasEnoughMoney - jr nc, .asm_faa09 ; 0x49317 - ld hl, MtMoonPokecenterText_49366 - jr .asm_49356 ; 0x4931c -.asm_faa09 ; 0x4931e - ld bc,(MAGIKARP << 8) | 5 + jr nc, .enoughMoney + ld hl, .NoMoneyText + jr .printText +.enoughMoney + lb bc, MAGIKARP, 5 call GivePokemon - jr nc, .asm_49359 ; 0x49324 + jr nc, .done xor a - ld [wWhichTrade], a - ld [wTrainerFacingDirection], a + ld [wPriceTemp], a + ld [wPriceTemp + 2], a ld a, $5 - ld [wTrainerEngageDistance], a - ld hl, wTrainerFacingDirection + ld [wPriceTemp + 1], a + ld hl, wPriceTemp + 2 ld de, wPlayerMoney + 2 ld c, $3 predef SubBCDPredef - ld a, $13 + ld a, MONEY_BOX ld [wTextBoxID], a call DisplayTextBoxID - ld hl, wd7c6 - set 7, [hl] - jr .asm_49359 ; 0x4934c -.asm_4934e ; 0x4934e - ld hl, MtMoonPokecenterText_49361 - jr .asm_49356 ; 0x49351 -.asm_49353 ; 0x49353 - ld hl, MtMoonPokecenterText_4936b -.asm_49356 ; 0x49356 + SetEvent EVENT_BOUGHT_MAGIKARP + jr .done +.choseNo + ld hl, .RefuseText + jr .printText +.alreadyBoughtMagikarp + ld hl, .Text2 +.printText call PrintText -.asm_49359 ; 0x49359 +.done jp TextScriptEnd -MtMoonPokecenterText_4935c: ; 4935c (12:535c) - TX_FAR _MtMoonPokecenterText_4935c +.Text1 + TX_FAR _MagikarpSalesmanText1 db "@" -MtMoonPokecenterText_49361: ; 49361 (12:5361) - TX_FAR _MtMoonPokecenterText_49361 +.RefuseText + TX_FAR _MagikarpSalesmanNoText db "@" -MtMoonPokecenterText_49366: ; 49366 (12:5366) - TX_FAR _MtMoonPokecenterText_49366 +.NoMoneyText + TX_FAR _MagikarpSalesmanNoMoneyText db "@" -MtMoonPokecenterText_4936b: ; 4936b (12:536b) - TX_FAR _MtMoonPokecenterText_4936b +.Text2 + TX_FAR _MagikarpSalesmanText2 db "@" -MtMoonPokecenterText5: ; 49370 (12:5370) +MtMoonPokecenterText5: TX_FAR _MtMoonPokecenterText5 db "@" -MtMoonPokecenterText6: ; 49375 (12:5375) +MtMoonTradeNurseText: db $f6 diff --git a/scripts/museum1f.asm b/scripts/museum1f.asm index cd2b3c29..35bfb446 100755 --- a/scripts/museum1f.asm +++ b/scripts/museum1f.asm @@ -1,75 +1,73 @@ -Museum1FScript: ; 5c0f7 (17:40f7) +Museum1FScript: ld a, $1 ld [wAutoTextBoxDrawingControl], a xor a ld [wDoNotWaitForButtonPressAfterDisplayingText], a ld hl, Museum1FScriptPointers - ld a, [W_MUSEUM1FCURSCRIPT] + ld a, [wMuseum1fCurScript] jp CallFunctionInTable -Museum1FScriptPointers: ; 5c109 (17:4109) +Museum1FScriptPointers: dw Museum1FScript0 dw Museum1FScript1 -Museum1FScript0: ; 5c10d (17:410d) - ld a, [W_YCOORD] +Museum1FScript0: + ld a, [wYCoord] cp $4 ret nz - ld a, [W_XCOORD] + ld a, [wXCoord] cp $9 - jr z, .asm_5c120 ; 0x5c118 $6 - ld a, [W_XCOORD] + jr z, .asm_5c120 + ld a, [wXCoord] cp $a ret nz .asm_5c120 xor a ld [hJoyHeld], a ld a, $1 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a jp DisplayTextID -Museum1FScript1: ; 5c12a (17:412a) +Museum1FScript1: ret -Museum1FTextPointers: ; 5c12b (17:412b) +Museum1FTextPointers: dw Museum1FText1 dw Museum1FText2 dw Museum1FText3 dw Museum1FText4 dw Museum1FText5 -Museum1FText1: ; 5c135 (17:4135) - db $8 - ld a, [W_YCOORD] +Museum1FText1: + TX_ASM + ld a, [wYCoord] cp $4 jr nz, .asm_8774b - ld a, [W_XCOORD] + ld a, [wXCoord] cp $d jp z, Museum1FScript_5c1f9 jr .asm_b8709 .asm_8774b cp $3 jr nz, .asm_d49e7 - ld a, [W_XCOORD] + ld a, [wXCoord] cp $c jp z, Museum1FScript_5c1f9 .asm_d49e7 - ld a, [wd754] - bit 0, a + CheckEvent EVENT_BOUGHT_MUSEUM_TICKET jr nz, .asm_31a16 ld hl, Museum1FText_5c23d call PrintText - jp asm_d1145 + jp Museum1FScriptEnd .asm_b8709 - ld a, [wd754] - bit 0, a + CheckEvent EVENT_BOUGHT_MUSEUM_TICKET jr z, .asm_3ded4 .asm_31a16 ld hl, Museum1FText_5c242 call PrintText - jp asm_d1145 + jp Museum1FScriptEnd .asm_3ded4 - ld a, $13 + ld a, MONEY_BOX ld [wTextBoxID], a call DisplayTextBoxID xor a @@ -81,10 +79,10 @@ Museum1FText1: ; 5c135 (17:4135) and a jr nz, .asm_de133 xor a - ld [$ff9f], a - ld [$ffa0], a + ld [hMoney], a + ld [hMoney + 1], a ld a, $50 - ld [$ffa1], a + ld [hMoney + 2], a call HasEnoughMoney jr nc, .asm_0f3e3 ld hl, Museum1FText_5c229 @@ -93,40 +91,39 @@ Museum1FText1: ; 5c135 (17:4135) .asm_0f3e3 ld hl, Museum1FText_5c224 call PrintText - ld hl, wd754 - set 0, [hl] + SetEvent EVENT_BOUGHT_MUSEUM_TICKET xor a - ld [wWhichTrade], a - ld [wTrainerEngageDistance], a + ld [wPriceTemp], a + ld [wPriceTemp + 1], a ld a, $50 - ld [wTrainerFacingDirection], a - ld hl, wTrainerFacingDirection + ld [wPriceTemp + 2], a + ld hl, wPriceTemp + 2 ld de, wPlayerMoney + 2 ld c, $3 predef SubBCDPredef - ld a, $13 + ld a, MONEY_BOX ld [wTextBoxID], a call DisplayTextBoxID - ld a, (SFX_02_5a - SFX_Headers_02) / 3 + ld a, SFX_PURCHASE call PlaySoundWaitForCurrent call WaitForSoundToFinish jr .asm_0b094 .asm_de133 - ld hl, Museum1FText_5c21a ; $421a + ld hl, Museum1FText_5c21a call PrintText ld a, $1 ld [wSimulatedJoypadStatesIndex], a - ld a, $80 + ld a, D_DOWN ld [wSimulatedJoypadStatesEnd], a call StartSimulatingJoypadStates call UpdateSprites - jr asm_d1145 + jr Museum1FScriptEnd .asm_0b094 ld a, $1 - ld [W_MUSEUM1FCURSCRIPT], a - jr asm_d1145 + ld [wMuseum1fCurScript], a + jr Museum1FScriptEnd -Museum1FScript_5c1f9: ; 5c1f9 (17:41f9) +Museum1FScript_5c1f9: ld hl, Museum1FText_5c22e call PrintText call YesNoChoice @@ -135,117 +132,116 @@ Museum1FScript_5c1f9: ; 5c1f9 (17:41f9) jr nz, .asm_d1144 ld hl, Museum1FText_5c233 call PrintText - jr asm_d1145 + jr Museum1FScriptEnd .asm_d1144 ld hl, Museum1FText_5c238 call PrintText -asm_d1145: ; 5c217 (17:4217) +Museum1FScriptEnd: jp TextScriptEnd -Museum1FText_5c21a: ; 5c21a (17:421a) +Museum1FText_5c21a: TX_FAR _Museum1FText_5c21a db "@" -Museum1FText_5c21f: ; 5c21f (17:421f) +Museum1FText_5c21f: TX_FAR _Museum1FText_5c21f db "@" -Museum1FText_5c224: ; 5c224 (17:4224) +Museum1FText_5c224: TX_FAR _Museum1FText_5c224 db "@" -Museum1FText_5c229: ; 5c229 (17:4229) +Museum1FText_5c229: TX_FAR _Museum1FText_5c229 db "@" -Museum1FText_5c22e: ; 5c22e (17:422e) +Museum1FText_5c22e: TX_FAR _Museum1FText_5c22e db "@" -Museum1FText_5c233: ; 5c233 (17:4233) +Museum1FText_5c233: TX_FAR _Museum1FText_5c233 db "@" -Museum1FText_5c238: ; 5c238 (17:4238) +Museum1FText_5c238: TX_FAR _Museum1FText_5c238 db "@" -Museum1FText_5c23d: ; 5c23d (17:423d) +Museum1FText_5c23d: TX_FAR _Museum1FText_5c23d db "@" -Museum1FText_5c242: ; 5c242 (17:4242) +Museum1FText_5c242: TX_FAR _Museum1FText_5c242 db "@" -Museum1FText2: ; 5c247 (17:4247) - db $08 ; asm +Museum1FText2: + TX_ASM ld hl, Museum1FText_5c251 call PrintText jp TextScriptEnd -Museum1FText_5c251: ; 5c251 (17:4251) +Museum1FText_5c251: TX_FAR _Museum1FText_5c251 db "@" -Museum1FText3: ; 5c256 (17:4256) - db $08 ; asm - ld a, [wd754] - bit 1, a - jr nz, .asm_16599 ; 0x5c25c +Museum1FText3: + TX_ASM + CheckEvent EVENT_GOT_OLD_AMBER + jr nz, .asm_5c285 ld hl, Museum1FText_5c28e call PrintText - ld bc, (OLD_AMBER << 8) | 1 + lb bc, OLD_AMBER, 1 call GiveItem jr nc, .BagFull - ld hl, wd754 - set 1, [hl] + SetEvent EVENT_GOT_OLD_AMBER ld a, HS_OLD_AMBER - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject ld hl, ReceivedOldAmberText - jr .asm_52e0f ; 0x5c27e + jr .asm_5c288 .BagFull ld hl, Museum1FText_5c29e - jr .asm_52e0f ; 0x5c283 -.asm_16599 ; 0x5c285 + jr .asm_5c288 +.asm_5c285 ld hl, Museum1FText_5c299 -.asm_52e0f ; 0x5c288 +.asm_5c288 call PrintText jp TextScriptEnd -Museum1FText_5c28e: ; 5c28e (17:428e) +Museum1FText_5c28e: TX_FAR _Museum1FText_5c28e db "@" -ReceivedOldAmberText: ; 5c293 (17:4293) +ReceivedOldAmberText: TX_FAR _ReceivedOldAmberText - db $0B, "@" + TX_SFX_ITEM_1 + db "@" -Museum1FText_5c299: ; 5c299 (17:4299) +Museum1FText_5c299: TX_FAR _Museum1FText_5c299 db "@" -Museum1FText_5c29e: ; 5c29e (17:429e) +Museum1FText_5c29e: TX_FAR _Museum1FText_5c29e db "@" -Museum1FText4: ; 5c2a3 (17:42a3) - db $08 ; asm +Museum1FText4: + TX_ASM ld hl, Museum1FText_5c2ad call PrintText jp TextScriptEnd -Museum1FText_5c2ad: ; 5c2ad (17:42ad) +Museum1FText_5c2ad: TX_FAR _Museum1FText_5c2ad db "@" -Museum1FText5: ; 5c2b2 (17:42b2) - db $08 ; asm +Museum1FText5: + TX_ASM ld hl, Museum1FText_5c2bc call PrintText jp TextScriptEnd -Museum1FText_5c2bc: ; 5c2bc (17:42bc) +Museum1FText_5c2bc: TX_FAR _Museum1FText_5c2bc db "@" diff --git a/scripts/museum2f.asm b/scripts/museum2f.asm index 0f8a63ec..6ee8d72a 100755 --- a/scripts/museum2f.asm +++ b/scripts/museum2f.asm @@ -1,7 +1,7 @@ -Museum2FScript: ; 5c317 (17:4317) +Museum2FScript: jp EnableAutoTextBoxDrawing -Museum2FTextPointers: ; 5c31a (17:431a) +Museum2FTextPointers: dw Museum2FText1 dw Museum2FText2 dw Museum2FText3 @@ -10,30 +10,30 @@ Museum2FTextPointers: ; 5c31a (17:431a) dw Museum2FText6 dw Museum2FText7 -Museum2FText1: ; 5c328 (17:4328) +Museum2FText1: TX_FAR _Museum2FText1 db "@" -Museum2FText2: ; 5c32d (17:432d) +Museum2FText2: TX_FAR _Museum2FText2 db "@" -Museum2FText3: ; 5c332 (17:4332) +Museum2FText3: TX_FAR _Museum2FText3 db "@" -Museum2FText4: ; 5c337 (17:4337) +Museum2FText4: TX_FAR _Museum2FText4 db "@" -Museum2FText5: ; 5c33c (17:433c) +Museum2FText5: TX_FAR _Museum2FText5 db "@" -Museum2FText6: ; 5c341 (17:4341) +Museum2FText6: TX_FAR _Museum2FText6 db "@" -Museum2FText7: ; 5c346 (17:4346) +Museum2FText7: TX_FAR _Museum2FText7 db "@" diff --git a/scripts/namerater.asm b/scripts/namerater.asm index c9e3bfb4..160948ac 100755 --- a/scripts/namerater.asm +++ b/scripts/namerater.asm @@ -1,24 +1,24 @@ -NameRaterScript: ; 1da12 (7:5a12) +NameRaterScript: jp EnableAutoTextBoxDrawing -NameRaterScript_1da15: ; 1da15 (7:5a15) +NameRaterScript_1da15: call PrintText call YesNoChoice ld a, [wCurrentMenuItem] and a ret -NameRaterScript_1da20: ; 1da20 (7:5a20) +NameRaterScript_1da20: ld hl, wPartyMonOT - ld bc, $000b + ld bc, NAME_LENGTH ld a, [wWhichPokemon] call AddNTimes ld de, wPlayerName - ld c, $b + ld c, NAME_LENGTH call .asm_1da47 - jr c, .asm_1da52 ; 0x1da34 $1c + jr c, .asm_1da52 ld hl, wPartyMon1OTID - ld bc, $002c + ld bc, wPartyMon2 - wPartyMon1 ld a, [wWhichPokemon] call AddNTimes ld de, wPlayerID @@ -26,30 +26,30 @@ NameRaterScript_1da20: ; 1da20 (7:5a20) .asm_1da47 ld a, [de] cp [hl] - jr nz, .asm_1da52 ; 0x1da49 $7 + jr nz, .asm_1da52 inc hl inc de dec c - jr nz, .asm_1da47 ; 0x1da4e $f7 + jr nz, .asm_1da47 and a ret .asm_1da52 scf ret -NameRaterTextPointers: ; 1da54 (7:5a54) +NameRaterTextPointers: dw NameRaterText1 -NameRaterText1: ; 1da56 (7:5a56) - db $8 +NameRaterText1: + TX_ASM call SaveScreenTilesToBuffer2 ld hl, NameRaterText_1dab3 call NameRaterScript_1da15 - jr nz, .asm_1daae ; 0x1da60 $4c + jr nz, .asm_1daae ld hl, NameRaterText_1dab8 call PrintText xor a - ld [wd07d], a + ld [wPartyMenuTypeOrMessageID], a ld [wUpdateSpritesEnabled], a ld [wMenuItemToSwap], a call DisplayPartyMenu @@ -58,50 +58,50 @@ NameRaterText1: ; 1da56 (7:5a56) call RestoreScreenTilesAndReloadTilePatterns call LoadGBPal pop af - jr c, .asm_1daae ; 0x1da80 $2c + jr c, .asm_1daae call GetPartyMonName2 call NameRaterScript_1da20 ld hl, NameRaterText_1dad1 - jr c, .asm_1daa8 ; 0x1da8b $1b + jr c, .asm_1daa8 ld hl, NameRaterText_1dabd call NameRaterScript_1da15 - jr nz, .asm_1daae ; 0x1da93 $19 + jr nz, .asm_1daae ld hl, NameRaterText_1dac2 call PrintText - callba Func_655c - jr c, .asm_1daae ; 0x1daa3 $9 + callba DisplayNameRaterScreen + jr c, .asm_1daae ld hl, NameRaterText_1dac7 .asm_1daa8 call PrintText jp TextScriptEnd .asm_1daae ld hl, NameRaterText_1dacc - jr .asm_1daa8 ; 0x1dab1 $f5 + jr .asm_1daa8 -NameRaterText_1dab3: ; 1dab3 (7:5ab3) +NameRaterText_1dab3: TX_FAR _NameRaterText_1dab3 db "@" -NameRaterText_1dab8: ; 1dab8 (7:5ab8) +NameRaterText_1dab8: TX_FAR _NameRaterText_1dab8 db "@" -NameRaterText_1dabd: ; 1dabd (7:5abd) +NameRaterText_1dabd: TX_FAR _NameRaterText_1dabd db "@" -NameRaterText_1dac2: ; 1dac2 (7:5ac2) +NameRaterText_1dac2: TX_FAR _NameRaterText_1dac2 db "@" -NameRaterText_1dac7: ; 1dac7 (7:5ac7) +NameRaterText_1dac7: TX_FAR _NameRaterText_1dac7 db "@" -NameRaterText_1dacc: ; 1dacc (7:5acc) +NameRaterText_1dacc: TX_FAR _NameRaterText_1dacc db "@" -NameRaterText_1dad1: ; 1dad1 (7:5ad1) +NameRaterText_1dad1: TX_FAR _NameRaterText_1dad1 db "@" diff --git a/scripts/oakslab.asm b/scripts/oakslab.asm index 8f23cd3e..b91abd43 100755 --- a/scripts/oakslab.asm +++ b/scripts/oakslab.asm @@ -1,16 +1,15 @@ -OaksLabScript: ; 1cb0e (7:4b0e) - ld a, [wd74b] - bit 6, a +OaksLabScript: + CheckEvent EVENT_PALLET_AFTER_GETTING_POKEBALLS_2 call nz, OaksLabScript_1d076 ld a, $1 ld [wAutoTextBoxDrawingControl], a xor a ld [wDoNotWaitForButtonPressAfterDisplayingText], a ld hl, OaksLabScriptPointers - ld a, [W_OAKSLABCURSCRIPT] + ld a, [wOaksLabCurScript] jp CallFunctionInTable -OaksLabScriptPointers: ; 1cb28 (7:4b28) +OaksLabScriptPointers: dw OaksLabScript0 dw OaksLabScript1 dw OaksLabScript2 @@ -31,52 +30,54 @@ OaksLabScriptPointers: ; 1cb28 (7:4b28) dw OaksLabScript17 dw OaksLabScript18 -OaksLabScript0: ; 1cb4e (7:4b4e) - ld a, [wd74b] - bit 7, a +OaksLabScript0: + CheckEvent EVENT_OAK_APPEARED_IN_PALLET ret z ld a, [wNPCMovementScriptFunctionNum] and a ret nz ld a, HS_OAKS_LAB_OAK_2 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef ShowObject ld hl, wd72e res 4, [hl] ld a, $1 - ld [W_OAKSLABCURSCRIPT], a + ld [wOaksLabCurScript], a ret -OaksLabScript1: ; 1cb6e (7:4b6e) +OaksLabScript1: ld a, $8 ld [H_SPRITEINDEX], a ld de, OakEntryMovement call MoveSprite ld a, $2 - ld [W_OAKSLABCURSCRIPT], a + ld [wOaksLabCurScript], a ret -OakEntryMovement: ; 1cb7e (7:4b7e) - db $40,$40,$40,$FF +OakEntryMovement: + db NPC_MOVEMENT_UP + db NPC_MOVEMENT_UP + db NPC_MOVEMENT_UP + db $FF -OaksLabScript2: ; 1cb82 (7:4b82) +OaksLabScript2: ld a, [wd730] bit 0, a ret nz ld a, HS_OAKS_LAB_OAK_2 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject ld a, HS_OAKS_LAB_OAK_1 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef ShowObject ld a, $3 - ld [W_OAKSLABCURSCRIPT], a + ld [wOaksLabCurScript], a ret -OaksLabScript3: ; 1cba2 (7:4ba2) +OaksLabScript3: call Delay3 ld hl, wSimulatedJoypadStatesEnd ld de, PlayerEntryMovementRLE @@ -87,153 +88,175 @@ OaksLabScript3: ; 1cba2 (7:4ba2) ld a, $1 ld [H_SPRITEINDEX], a xor a - ld [$ff8d], a + ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $5 ld [H_SPRITEINDEX], a xor a - ld [$ff8d], a + ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $4 - ld [W_OAKSLABCURSCRIPT], a + ld [wOaksLabCurScript], a ret -PlayerEntryMovementRLE: ; 1cbcf (7:4bcf) - db $40, $8, $ff +PlayerEntryMovementRLE: + db D_UP,$8 + db $ff -OaksLabScript4: ; 1cbd2 (7:4bd2) +OaksLabScript4: ld a, [wSimulatedJoypadStatesIndex] and a ret nz - ld hl, wd747 - set 0, [hl] - ld hl, wd74b - set 0, [hl] + SetEvent EVENT_FOLLOWED_OAK_INTO_LAB + SetEvent EVENT_FOLLOWED_OAK_INTO_LAB_2 ld a, $1 ld [H_SPRITEINDEX], a - ld a, $4 - ld [$ff8d], a + ld a, SPRITE_FACING_UP + ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay call UpdateSprites - ld hl, W_FLAGS_D733 + ld hl, wFlags_D733 res 1, [hl] call PlayDefaultMusic ld a, $5 - ld [W_OAKSLABCURSCRIPT], a + ld [wOaksLabCurScript], a ret -OaksLabScript5: ; 1cbfd (7:4bfd) +OaksLabScript5: ld a, $fc ld [wJoyIgnore], a ld a, $11 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID call Delay3 ld a, $12 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID call Delay3 ld a, $13 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID call Delay3 ld a, $14 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID - ld hl, wd74b - set 1, [hl] + SetEvent EVENT_OAK_ASKED_TO_CHOOSE_MON xor a ld [wJoyIgnore], a ld a, $6 - ld [W_OAKSLABCURSCRIPT], a + ld [wOaksLabCurScript], a ret -OaksLabScript6: ; 1cc36 (7:4c36) - ld a, [W_YCOORD] +OaksLabScript6: + ld a, [wYCoord] cp $6 ret nz ld a, $5 ld [H_SPRITEINDEX], a - xor a - ld [$ff8d], a + xor a ; SPRITE_FACING_DOWN + ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $1 ld [H_SPRITEINDEX], a xor a - ld [$ff8d], a + ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay call UpdateSprites ld a, $c - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $1 ld [wSimulatedJoypadStatesIndex], a - ld a, $40 + ld a, D_UP ld [wSimulatedJoypadStatesEnd], a call StartSimulatingJoypadStates - ld a, $8 - ld [wd528], a + ld a, PLAYER_DIR_UP + ld [wPlayerMovingDirection], a ld a, $7 - ld [W_OAKSLABCURSCRIPT], a + ld [wOaksLabCurScript], a ret -OaksLabScript7: ; 1cc72 (7:4c72) +OaksLabScript7: ld a, [wSimulatedJoypadStatesIndex] and a ret nz call Delay3 ld a, $6 - ld [W_OAKSLABCURSCRIPT], a + ld [wOaksLabCurScript], a ret -OaksLabScript8: ; 1cc80 (7:4c80) - ld a, [W_PLAYERSTARTER] +OaksLabScript8: + ld a, [wPlayerStarter] cp STARTER1 - jr z, .Charmander ; 0x1cc85 $6 + jr z, .Charmander cp STARTER2 - jr z, .Squirtle ; 0x1cc89 $1d - jr .Bulbasaur ; 0x1cc8b $38 + jr z, .Squirtle + jr .Bulbasaur .Charmander ld de, .MiddleBallMovement1 - ld a, [W_YCOORD] + ld a, [wYCoord] cp $4 ; is the player standing below the table? - jr z, .asm_1ccf3 ; 0x1cc95 $5c + jr z, .asm_1ccf3 ld de, .MiddleBallMovement2 - jr .asm_1ccf3 ; 0x1cc9a $57 + jr .asm_1ccf3 .MiddleBallMovement1 - db 0,0,$C0,$C0,$C0,$40,$FF + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_UP + db $FF + .MiddleBallMovement2 - db 0,$C0,$C0,$C0,$FF + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db $FF .Squirtle ld de, .RightBallMovement1 - ld a, [W_YCOORD] + ld a, [wYCoord] cp $4 ; is the player standing below the table? - jr z, .asm_1ccf3 ; 0x1ccb0 $41 + jr z, .asm_1ccf3 ld de, .RightBallMovement2 - jr .asm_1ccf3 ; 0x1ccb5 $3c + jr .asm_1ccf3 .RightBallMovement1 - db 0,0,$C0,$C0,$C0,$C0,$40,$FF + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_UP + db $FF + .RightBallMovement2 - db 0,$C0,$C0,$C0,$C0,$FF + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db $FF .Bulbasaur ld de, .LeftBallMovement1 - ld a, [W_XCOORD] + ld a, [wXCoord] cp $9 ; is the player standing to the right of the table? - jr nz, .asm_1ccf3 ; 0x1cccd $24 + jr nz, .asm_1ccf3 push hl ld a, $1 ld [H_SPRITEINDEX], a ld a, $4 - ld [$ff8b], a + ld [H_SPRITEDATAOFFSET], a call GetPointerWithinSpriteStateData1 push hl ld [hl], $4c @@ -247,12 +270,14 @@ OaksLabScript8: ; 1cc80 (7:4c80) ld [hl], $9 ld de, .LeftBallMovement2 ; the rival is not currently onscreen, so account for that pop hl - jr .asm_1ccf3 ; 0x1cced $4 + jr .asm_1ccf3 .LeftBallMovement1 - db $00,$C0 ; not yet terminated! + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_RIGHT ; not yet terminated! .LeftBallMovement2 - db $C0,$FF + db NPC_MOVEMENT_RIGHT + db $FF .asm_1ccf3 ld a, $1 @@ -260,10 +285,10 @@ OaksLabScript8: ; 1cc80 (7:4c80) call MoveSprite ld a, $9 - ld [W_OAKSLABCURSCRIPT], a + ld [wOaksLabCurScript], a ret -OaksLabScript9: ; 1cd00 (7:4d00) +OaksLabScript9: ld a, [wd730] bit 0, a ret nz @@ -271,76 +296,75 @@ OaksLabScript9: ; 1cd00 (7:4d00) ld [wJoyIgnore], a ld a, $1 ld [H_SPRITEINDEX], a - ld a, $4 - ld [$ff8d], a + ld a, SPRITE_FACING_UP + ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $d - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID - ld a, [wTrainerEngageDistance] + ld a, [wRivalStarterBallSpriteIndex] cp $2 - jr nz, .asm_1cd28 ; 0x1cd22 $4 + jr nz, .asm_1cd28 ld a, HS_STARTER_BALL_1 - jr .asm_1cd32 ; 0x1cd26 $a + jr .asm_1cd32 .asm_1cd28 cp $3 - jr nz, .asm_1cd30 ; 0x1cd2a $4 + jr nz, .asm_1cd30 ld a, HS_STARTER_BALL_2 - jr .asm_1cd32 ; 0x1cd2e $2 + jr .asm_1cd32 .asm_1cd30 ld a, HS_STARTER_BALL_3 .asm_1cd32 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject call Delay3 - ld a, [wWhichTrade] - ld [W_RIVALSTARTER], a + ld a, [wRivalStarterTemp] + ld [wRivalStarter], a ld [wcf91], a ld [wd11e], a call GetMonName ld a, $1 ld [H_SPRITEINDEX], a - ld a, $4 - ld [$ff8d], a + ld a, SPRITE_FACING_UP + ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $e - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID - ld hl, wd74b - set 2, [hl] + SetEvent EVENT_GOT_STARTER xor a ld [wJoyIgnore], a ld a, $a - ld [W_OAKSLABCURSCRIPT], a + ld [wOaksLabCurScript], a ret -OaksLabScript10: ; 1cd6d (7:4d6d) - ld a, [W_YCOORD] +OaksLabScript10: + ld a, [wYCoord] cp $6 ret nz ld a, $1 ld [H_SPRITEINDEX], a - xor a - ld [$ff8d], a + xor a ; SPRITE_FACING_DOWN + ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay - ld a, $8 - ld [wd528], a + ld a, PLAYER_DIR_UP + ld [wPlayerMovingDirection], a ld c, BANK(Music_MeetRival) ld a, MUSIC_MEET_RIVAL - call PlayMusic ; play music + call PlayMusic ld a, $f - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $1 - ld [$ff9b], a + ld [hNPCPlayerRelativePosPerspective], a ld a, $1 swap a - ld [$ff95], a + ld [hNPCSpriteOffset], a predef CalcPositionOfPlayerRelativeToNPC - ld a, [$ff95] + ld a, [hNPCPlayerYDistance] dec a - ld [$ff95], a + ld [hNPCPlayerYDistance], a predef FindPathToPlayer ld de, wNPCMovementDirections2 ld a, $1 @@ -348,31 +372,31 @@ OaksLabScript10: ; 1cd6d (7:4d6d) call MoveSprite ld a, $b - ld [W_OAKSLABCURSCRIPT], a + ld [wOaksLabCurScript], a ret -OaksLabScript11: ; 1cdb9 (7:4db9) +OaksLabScript11: ld a, [wd730] bit 0, a ret nz ; define which team rival uses, and fight it - ld a, SONY1 + $C8 - ld [W_CUROPPONENT], a - ld a, [W_RIVALSTARTER] + ld a, OPP_SONY1 + ld [wCurOpponent], a + ld a, [wRivalStarter] cp STARTER2 - jr nz, .NotSquirtle ; 0x1cdc9 $4 + jr nz, .NotSquirtle ld a, $1 - jr .done ; 0x1cdcd $a + jr .done .NotSquirtle cp STARTER3 - jr nz, .Charmander ; 0x1cdd1 $4 + jr nz, .Charmander ld a, $2 - jr .done ; 0x1cdd5 $2 + jr .done .Charmander ld a, $3 .done - ld [W_TRAINERNO], a + ld [wTrainerNo], a ld a, $1 ld [wSpriteIndex], a call GetSpritePosition1 @@ -384,119 +408,125 @@ OaksLabScript11: ; 1cdb9 (7:4db9) set 7, [hl] xor a ld [wJoyIgnore], a - ld a, $8 - ld [wd528], a + ld a, PLAYER_DIR_UP + ld [wPlayerMovingDirection], a ld a, $c - ld [W_OAKSLABCURSCRIPT], a + ld [wOaksLabCurScript], a ret -OaksLabScript12: ; 1ce03 (7:4e03) +OaksLabScript12: ld a, $f0 ld [wJoyIgnore], a - ld a, $8 - ld [wd528], a + ld a, PLAYER_DIR_UP + ld [wPlayerMovingDirection], a call UpdateSprites ld a, $1 ld [wSpriteIndex], a call SetSpritePosition1 ld a, $1 ld [H_SPRITEINDEX], a - xor a - ld [$ff8d], a + xor a ; SPRITE_FACING_DOWN + ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay predef HealParty - ld hl, wd74b - set 3, [hl] + SetEvent EVENT_BATTLED_RIVAL_IN_OAKS_LAB ld a, $d - ld [W_OAKSLABCURSCRIPT], a + ld [wOaksLabCurScript], a ret -OaksLabScript13: ; 1ce32 (7:4e32) - ld c, $14 +OaksLabScript13: + ld c, 20 call DelayFrames ld a, $10 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID callba Music_RivalAlternateStart ld a, $1 ld [H_SPRITEINDEX], a ld de, .RivalExitMovement call MoveSprite - ld a, [W_XCOORD] + ld a, [wXCoord] cp $4 ; move left or right depending on where the player is standing - jr nz, .asm_1ce5b ; 0x1ce55 $4 - ld a, $c0 - jr .asm_1ce5d ; 0x1ce59 $2 -.asm_1ce5b - ld a, $80 -.asm_1ce5d - ld [wcc5b], a + jr nz, .moveLeft + ld a, NPC_MOVEMENT_RIGHT + jr .next +.moveLeft + ld a, NPC_MOVEMENT_LEFT +.next + ld [wNPCMovementDirections], a ld a, $e - ld [W_OAKSLABCURSCRIPT], a + ld [wOaksLabCurScript], a ret .RivalExitMovement - db $E0,$00,$00,$00,$00,$00,$FF - -OaksLabScript14: ; 1ce6d (7:4e6d) + db $E0 ; change sprite facing direction + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db $FF + +OaksLabScript14: ld a, [wd730] bit 0, a - jr nz, .asm_1ce8c ; 0x1ce72 $18 + jr nz, .asm_1ce8c ld a, HS_OAKS_LAB_RIVAL - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject xor a ld [wJoyIgnore], a call PlayDefaultMusic ; reset to map music ld a, $12 - ld [W_OAKSLABCURSCRIPT], a - jr .done ; 0x1ce8a $23 + ld [wOaksLabCurScript], a + jr .done +; make the player keep facing the rival as he walks away .asm_1ce8c - ld a, [wcf0f] + ld a, [wNPCNumScriptedSteps] cp $5 - jr nz, .asm_1cea8 ; 0x1ce91 $15 - ld a, [W_XCOORD] + jr nz, .asm_1cea8 + ld a, [wXCoord] cp $4 - jr nz, .asm_1cea1 ; 0x1ce98 $7 - ld a, $c + jr nz, .asm_1cea1 + ld a, SPRITE_FACING_RIGHT ld [wSpriteStateData1 + 9], a - jr .done ; 0x1ce9f $e + jr .done .asm_1cea1 - ld a, $8 + ld a, SPRITE_FACING_LEFT ld [wSpriteStateData1 + 9], a - jr .done ; 0x1cea6 $7 + jr .done .asm_1cea8 cp $4 ret nz - xor a + xor a ; ld a, SPRITE_FACING_DOWN ld [wSpriteStateData1 + 9], a .done ret -OaksLabScript15: ; 1ceb0 (7:4eb0) +OaksLabScript15: xor a ld [hJoyHeld], a call EnableAutoTextBoxDrawing ld a, $ff - ld [wc0ee], a + ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateStart ld a, $15 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID call OaksLabScript_1d02b ld a, HS_OAKS_LAB_RIVAL - ld [wcc4d], a + ld [wMissableObjectIndex], a predef ShowObject ld a, [wNPCMovementDirections2Index] - ld [wd157], a - ld b, $0 + ld [wSavedNPCMovementDirections2Index], a + ld b, 0 ld c, a ld hl, wNPCMovementDirections2 - ld a, $40 + ld a, NPC_MOVEMENT_UP call FillMemory ld [hl], $ff ld a, $1 @@ -505,22 +535,22 @@ OaksLabScript15: ; 1ceb0 (7:4eb0) call MoveSprite ld a, $10 - ld [W_OAKSLABCURSCRIPT], a + ld [wOaksLabCurScript], a ret -OaksLabScript_1cefd ; 1cefd (7:4efd) +OaksLabScript_1cefd: ld a, $1 ld [H_SPRITEINDEX], a - ld a, $4 - ld [$ff8d], a + ld a, SPRITE_FACING_UP + ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $8 ld [H_SPRITEINDEX], a - xor a - ld [$ff8d], a + xor a ; SPRITE_FACING_DOWN + ld [hSpriteFacingDirection], a jp SetSpriteFacingDirectionAndDelay -OaksLabScript16: ; 1cf12 (7:4f12) +OaksLabScript16: ld a, [wd730] bit 0, a ret nz @@ -530,61 +560,59 @@ OaksLabScript16: ; 1cf12 (7:4f12) ld [wJoyIgnore], a call OaksLabScript_1cefd ld a, $16 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID call DelayFrame call OaksLabScript_1cefd ld a, $17 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID call DelayFrame call OaksLabScript_1cefd ld a, $18 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID call DelayFrame ld a, $19 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID call Delay3 ld a, HS_POKEDEX_1 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject ld a, HS_POKEDEX_2 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject call OaksLabScript_1cefd ld a, $1a - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $1 ld [H_SPRITEINDEX], a - ld a, $c - ld [$ff8d], a + ld a, SPRITE_FACING_RIGHT + ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay call Delay3 ld a, $1b - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID - ld hl, wd74b - set 5, [hl] - ld hl, wd74e - set 0, [hl] + SetEvent EVENT_GOT_POKEDEX + SetEvent EVENT_OAK_GOT_PARCEL ld a, HS_LYING_OLD_MAN - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject ld a, HS_OLD_MAN - ld [wcc4d], a + ld [wMissableObjectIndex], a predef ShowObject - ld a, [wd157] - ld b, $0 + ld a, [wSavedNPCMovementDirections2Index] + ld b, 0 ld c, a ld hl, wNPCMovementDirections2 - xor a + xor a ; NPC_MOVEMENT_DOWN call FillMemory ld [hl], $ff ld a, $ff - ld [wc0ee], a + ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateStart ld a, $1 @@ -593,86 +621,85 @@ OaksLabScript16: ; 1cf12 (7:4f12) call MoveSprite ld a, $11 - ld [W_OAKSLABCURSCRIPT], a + ld [wOaksLabCurScript], a ret -OaksLabScript17: ; 1cfd4 (7:4fd4) +OaksLabScript17: ld a, [wd730] bit 0, a ret nz call PlayDefaultMusic ld a, HS_OAKS_LAB_RIVAL - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject - ld hl, wd7eb - set 0, [hl] - res 1, [hl] - set 7, [hl] + SetEvent EVENT_1ST_ROUTE22_RIVAL_BATTLE + ResetEventReuseHL EVENT_2ND_ROUTE22_RIVAL_BATTLE + SetEventReuseHL EVENT_ROUTE22_RIVAL_WANTS_BATTLE ld a, HS_ROUTE_22_RIVAL_1 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef ShowObject ld a, $5 - ld [W_PALLETTOWNCURSCRIPT], a + ld [wPalletTownCurScript], a xor a ld [wJoyIgnore], a ld a, $12 - ld [W_OAKSLABCURSCRIPT], a + ld [wOaksLabCurScript], a ret -OaksLabScript18: ; 1d009 (7:5009) +OaksLabScript18: ret -OaksLabScript_1d00a: ; 1d00a (7:500a) +OaksLabScript_RemoveParcel: ld hl, wBagItems ld bc, $0000 -.asm_1d010 +.loop ld a, [hli] cp $ff ret z cp OAKS_PARCEL - jr z, .GotParcel ; 0x1d016 $4 + jr z, .foundParcel inc hl inc c - jr .asm_1d010 ; 0x1d01a $f4 -.GotParcel + jr .loop +.foundParcel ld hl, wNumBagItems ld a, c ld [wWhichPokemon], a ld a, $1 - ld [wcf96], a + ld [wItemQuantity], a jp RemoveItemFromInventory -OaksLabScript_1d02b: ; 1d02b (7:502b) +OaksLabScript_1d02b: ld a, $7c ld [$ffeb], a ld a, $8 ld [$ffee], a - ld a, [W_YCOORD] + ld a, [wYCoord] cp $3 - jr nz, .asm_1d045 ; 0x1d038 $b + jr nz, .asm_1d045 ld a, $4 ld [wNPCMovementDirections2Index], a ld a, $30 ld b, $b - jr .asm_1d068 ; 0x1d043 $23 + jr .asm_1d068 .asm_1d045 cp $1 - jr nz, .asm_1d054 ; 0x1d047 $b + jr nz, .asm_1d054 ld a, $2 ld [wNPCMovementDirections2Index], a ld a, $30 ld b, $9 - jr .asm_1d068 ; 0x1d052 $14 + jr .asm_1d068 .asm_1d054 ld a, $3 ld [wNPCMovementDirections2Index], a ld b, $a - ld a, [W_XCOORD] + ld a, [wXCoord] cp $4 - jr nz, .asm_1d066 ; 0x1d060 $4 + jr nz, .asm_1d066 ld a, $40 - jr .asm_1d068 ; 0x1d064 $2 + jr .asm_1d068 .asm_1d066 ld a, $20 .asm_1d068 @@ -684,15 +711,15 @@ OaksLabScript_1d02b: ; 1d02b (7:502b) call SetSpritePosition1 ret -OaksLabScript_1d076: ; 1d076 (7:5076) - ld hl, OaksLabTextPointers + $36 ; $50b8 ; starts at OaksLabText28 +OaksLabScript_1d076: + ld hl, OaksLabTextPointers + $36 ; starts at OaksLabText28 ld a, l - ld [W_MAPTEXTPTR], a + ld [wMapTextPtr], a ld a, h - ld [W_MAPTEXTPTR+1], a + ld [wMapTextPtr+1], a ret -OaksLabTextPointers: ; 1d082 (7:5082) +OaksLabTextPointers: dw OaksLabText1 dw OaksLabText2 dw OaksLabText3 @@ -732,110 +759,107 @@ OaksLabTextPointers: ; 1d082 (7:5082) dw OaksLabText37 dw OaksLabText38 -OaksLabText28: ; 1d0ce (7:50ce) -OaksLabText1: ; 1d0ce (7:50ce) - db $08 ; asm - ld a, [wd74b] - bit 0, a - jr nz, .asm_1d0de ; 0x1d0d4 +OaksLabText28: +OaksLabText1: + TX_ASM + CheckEvent EVENT_FOLLOWED_OAK_INTO_LAB_2 + jr nz, .asm_1d0de ld hl, OaksLabGaryText1 call PrintText - jr .asm_1d0f0 ; 0x1d0dc -.asm_1d0de ; 0x1d0de + jr .asm_1d0f0 +.asm_1d0de bit 2, a - jr nz, .asm_1d0ea ; 0x1d0e0 + jr nz, .asm_1d0ea ld hl, OaksLabText40 call PrintText - jr .asm_1d0f0 ; 0x1d0e8 -.asm_1d0ea ; 0x1d0ea + jr .asm_1d0f0 +.asm_1d0ea ld hl, OaksLabText41 call PrintText -.asm_1d0f0 ; 0x1d0f0 +.asm_1d0f0 jp TextScriptEnd -OaksLabGaryText1: ; 1d0f3 (7:50f3) +OaksLabGaryText1: TX_FAR _OaksLabGaryText1 db "@" -OaksLabText40: ; 1d0f8 (7:50f8) +OaksLabText40: TX_FAR _OaksLabText40 db "@" -OaksLabText41: ; 1d0fd (7:50fd) +OaksLabText41: TX_FAR _OaksLabText41 db "@" -OaksLabText29: ; 1d102 (7:5102) -OaksLabText2: ; 1d102 (7:5102) - db $8 +OaksLabText29: +OaksLabText2: + TX_ASM ld a, STARTER2 - ld [wWhichTrade], a + ld [wRivalStarterTemp], a ld a, $3 - ld [wTrainerEngageDistance], a + ld [wRivalStarterBallSpriteIndex], a ld a, STARTER1 ld b, $2 - jr OaksLabScript_1d133 ; 0x1d111 $20 + jr OaksLabScript_1d133 -OaksLabText30: ; 1d113 (7:5113) -OaksLabText3: ; 1d113 (7:5113) - db $8 +OaksLabText30: +OaksLabText3: + TX_ASM ld a, STARTER3 - ld [wWhichTrade], a + ld [wRivalStarterTemp], a ld a, $4 - ld [wTrainerEngageDistance], a + ld [wRivalStarterBallSpriteIndex], a ld a, STARTER2 ld b, $3 - jr OaksLabScript_1d133 ; 0x1d122 $f + jr OaksLabScript_1d133 -OaksLabText31: ; 1d124 (7:5124) -OaksLabText4: ; 1d124 (7:5124) - db $8 +OaksLabText31: +OaksLabText4: + TX_ASM ld a, STARTER1 - ld [wWhichTrade], a + ld [wRivalStarterTemp], a ld a, $2 - ld [wTrainerEngageDistance], a + ld [wRivalStarterBallSpriteIndex], a ld a, STARTER3 ld b, $4 -OaksLabScript_1d133: ; 1d133 (7:5133) +OaksLabScript_1d133: ld [wcf91], a ld [wd11e], a ld a, b ld [wSpriteIndex], a - ld a, [wd74b] - bit 2, a + CheckEvent EVENT_GOT_STARTER jp nz, OaksLabScript_1d22d - bit 1, a - jr nz, OaksLabScript_1d157 ; 0x1d147 $e + CheckEventReuseA EVENT_OAK_ASKED_TO_CHOOSE_MON + jr nz, OaksLabScript_1d157 ld hl, OaksLabText39 call PrintText jp TextScriptEnd -OaksLabText39: ; 1d152 (7:5152) +OaksLabText39: TX_FAR _OaksLabText39 db "@" -OaksLabScript_1d157: ; 1d157 (7:5157) +OaksLabScript_1d157: ld a, $5 ld [H_SPRITEINDEX], a ld a, $9 - ld [$ff8b], a + ld [H_SPRITEDATAOFFSET], a call GetPointerWithinSpriteStateData1 - ld [hl], $0 - ; manually fixed some disassembler issues around here + ld [hl], SPRITE_FACING_DOWN ld a, $1 ld [H_SPRITEINDEX], a ld a, $9 - ld [$ff8b], a + ld [H_SPRITEDATAOFFSET], a call GetPointerWithinSpriteStateData1 - ld [hl], $c + ld [hl], SPRITE_FACING_RIGHT ld hl, wd730 set 6, [hl] - predef StarterDex ; StarterDex + predef StarterDex ld hl, wd730 res 6, [hl] call ReloadMapData - ld c, $a + ld c, 10 call DelayFrames ld a, [wSpriteIndex] cp $2 @@ -844,28 +868,28 @@ OaksLabScript_1d157: ; 1d157 (7:5157) jr z, OaksLabLookAtSquirtle jr OaksLabLookAtBulbasaur -OaksLabLookAtCharmander ; 0x1d195 +OaksLabLookAtCharmander: ld hl, OaksLabCharmanderText jr OaksLabMonChoiceMenu -OaksLabCharmanderText: ; 1d19a (7:519a) +OaksLabCharmanderText: TX_FAR _OaksLabCharmanderText db "@" -OaksLabLookAtSquirtle: ; 1d19f (7:519f) +OaksLabLookAtSquirtle: ld hl, OaksLabSquirtleText jr OaksLabMonChoiceMenu -OaksLabSquirtleText: ; 1d1a4 (7:51a4) +OaksLabSquirtleText: TX_FAR _OaksLabSquirtleText db "@" -OaksLabLookAtBulbasaur: ; 1d1a9 (7:51a9) +OaksLabLookAtBulbasaur: ld hl, OaksLabBulbasaurText jr OaksLabMonChoiceMenu -OaksLabBulbasaurText: ; 1d1ae (7:51ae) +OaksLabBulbasaurText: TX_FAR _OaksLabBulbasaurText db "@" -OaksLabMonChoiceMenu: ; 1d1b3 (7:51b3) +OaksLabMonChoiceMenu: call PrintText ld a, $1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a @@ -874,23 +898,23 @@ OaksLabMonChoiceMenu: ; 1d1b3 (7:51b3) and a jr nz, OaksLabMonChoiceEnd ld a, [wcf91] - ld [W_PLAYERSTARTER], a + ld [wPlayerStarter], a ld [wd11e], a call GetMonName ld a, [wSpriteIndex] cp $2 - jr nz, asm_1d1db ; 0x1d1d5 $4 + jr nz, .asm_1d1db ld a, HS_STARTER_BALL_1 - jr asm_1d1e5 ; 0x1d1d9 $a -asm_1d1db: ; 1d1db (7:51db) + jr .asm_1d1e5 +.asm_1d1db cp $3 - jr nz, asm_1d1e3 ; 0x1d1dd $4 + jr nz, .asm_1d1e3 ld a, HS_STARTER_BALL_2 - jr asm_1d1e5 ; 0x1d1e1 $2 -asm_1d1e3: ; 1d1e3 (7:51e3) + jr .asm_1d1e5 +.asm_1d1e3 ld a, HS_STARTER_BALL_3 -asm_1d1e5: ; 1d1e5 (7:51e5) - ld [wcc4d], a +.asm_1d1e5 + ld [wMissableObjectIndex], a predef HideObject ld a, $1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a @@ -898,10 +922,10 @@ asm_1d1e5: ; 1d1e5 (7:51e5) call PrintText ld hl, OaksLabReceivedMonText call PrintText - xor a - ld [wcc49], a - ld a, $5 - ld [W_CURENEMYLVL], a + xor a ; PLAYER_PARTY_DATA + ld [wMonDataLocation], a + ld a, 5 + ld [wCurEnemyLVL], a ld a, [wcf91] ld [wd11e], a call AddPartyMon @@ -910,311 +934,308 @@ asm_1d1e5: ; 1d1e5 (7:51e5) ld a, $fc ld [wJoyIgnore], a ld a, $8 - ld [W_OAKSLABCURSCRIPT], a -OaksLabMonChoiceEnd: ; 1d21f (7:521f) + ld [wOaksLabCurScript], a +OaksLabMonChoiceEnd: jp TextScriptEnd -OaksLabMonEnergeticText: ; 1d222 (7:5222) +OaksLabMonEnergeticText: TX_FAR _OaksLabMonEnergeticText db "@" -OaksLabReceivedMonText: ; 1d227 (7:5227) +OaksLabReceivedMonText: TX_FAR _OaksLabReceivedMonText - db $11, "@" + TX_SFX_KEY_ITEM + db "@" -OaksLabScript_1d22d: ; 1d22d (7:522d) +OaksLabScript_1d22d: ld a, $5 ld [H_SPRITEINDEX], a ld a, $9 - ld [$ff8b], a + ld [H_SPRITEDATAOFFSET], a call GetPointerWithinSpriteStateData1 ld [hl], $0 ld hl, OaksLabLastMonText call PrintText jp TextScriptEnd -OaksLabLastMonText: ; 1d243 (7:5243) +OaksLabLastMonText: TX_FAR _OaksLabLastMonText db "@" -OaksLabText32: ; 1d248 (7:5248) -OaksLabText5: ; 1d248 (7:5248) - db $08 ; asm - ld a, [wd747] - bit 6, a - jr nz, .asm_50e81 ; 0x1d24e +OaksLabText32: +OaksLabText5: + TX_ASM + CheckEvent EVENT_PALLET_AFTER_GETTING_POKEBALLS + jr nz, .asm_1d266 ld hl, wPokedexOwned ld b, wPokedexOwnedEnd - wPokedexOwned call CountSetBits - ld a, [wd11e] - cp $2 - jr c, .asm_b28b0 ; 0x1d25d - ld a, [wd74b] - bit 5, a - jr z, .asm_b28b0 ; 0x1d264 -.asm_50e81 ; 0x1d266 + ld a, [wNumSetBits] + cp 2 + jr c, .asm_1d279 + CheckEvent EVENT_GOT_POKEDEX + jr z, .asm_1d279 +.asm_1d266 ld hl, OaksLabText_1d31d call PrintText ld a, $1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a predef DisplayDexRating - jp .asm_0f042 -.asm_b28b0 ; 0x1d279 + jp .asm_1d2ed +.asm_1d279 ld b,POKE_BALL call IsItemInBag - jr nz, .asm_17c30 ; 0x1d27e - ld a, [wd7eb] - bit 5, a - jr nz, .asm_f1adc ; 0x1d285 - ld a, [wd74b] - bit 5, a - jr nz, .asm_333a2 ; 0x1d28c - bit 3, a - jr nz, .asm_76269 ; 0x1d290 + jr nz, .asm_1d2e7 + CheckEvent EVENT_BEAT_ROUTE22_RIVAL_1ST_BATTLE + jr nz, .asm_1d2d0 + CheckEvent EVENT_GOT_POKEDEX + jr nz, .asm_1d2c8 + CheckEventReuseA EVENT_BATTLED_RIVAL_IN_OAKS_LAB + jr nz, .asm_1d2a9 ld a, [wd72e] bit 3, a - jr nz, .asm_4a5e0 ; 0x1d297 + jr nz, .asm_1d2a1 ld hl, OaksLabText_1d2f0 call PrintText - jr .asm_0f042 ; 0x1d29f -.asm_4a5e0 ; 0x1d2a1 + jr .asm_1d2ed +.asm_1d2a1 ld hl, OaksLabText_1d2f5 call PrintText - jr .asm_0f042 ; 0x1d2a7 -.asm_76269 ; 0x1d2a9 + jr .asm_1d2ed +.asm_1d2a9 ld b, OAKS_PARCEL call IsItemInBag - jr nz, .asm_a8fcf ; 0x1d2ae + jr nz, .asm_1d2b8 ld hl, OaksLabText_1d2fa call PrintText - jr .asm_0f042 ; 0x1d2b6 -.asm_a8fcf ; 0x1d2b8 + jr .asm_1d2ed +.asm_1d2b8 ld hl, OaksLabDeliverParcelText call PrintText - call OaksLabScript_1d00a + call OaksLabScript_RemoveParcel ld a, $f - ld [W_OAKSLABCURSCRIPT], a - jr .asm_0f042 ; 0x1d2c6 -.asm_333a2 ; 0x1d2c8 + ld [wOaksLabCurScript], a + jr .asm_1d2ed +.asm_1d2c8 ld hl, OaksLabAroundWorldText call PrintText - jr .asm_0f042 ; 0x1d2ce -.asm_f1adc ; 0x1d2d0 - ld hl, wd74b - bit 4, [hl] - set 4, [hl] - jr nz, .asm_17c30 ; 0x1d2d7 - ld bc, (POKE_BALL << 8) | 5 + jr .asm_1d2ed +.asm_1d2d0 + CheckAndSetEvent EVENT_GOT_POKEBALLS_FROM_OAK + jr nz, .asm_1d2e7 + lb bc, POKE_BALL, 5 call GiveItem ld hl, OaksLabGivePokeballsText call PrintText - jr .asm_0f042 ; 0x1d2e5 -.asm_17c30 ; 0x1d2e7 + jr .asm_1d2ed +.asm_1d2e7 ld hl, OaksLabPleaseVisitText call PrintText -.asm_0f042 ; 0x1d2ed +.asm_1d2ed jp TextScriptEnd -OaksLabText_1d2f0: ; 1d2f0 (7:52f0) +OaksLabText_1d2f0: TX_FAR _OaksLabText_1d2f0 db "@" -OaksLabText_1d2f5: ; 1d2f5 (7:52f5) +OaksLabText_1d2f5: TX_FAR _OaksLabText_1d2f5 db "@" -OaksLabText_1d2fa: ; 1d2fa (7:52fa) +OaksLabText_1d2fa: TX_FAR _OaksLabText_1d2fa db "@" -OaksLabDeliverParcelText: ; 1d2ff (7:52ff) +OaksLabDeliverParcelText: TX_FAR _OaksLabDeliverParcelText1 - db $11 + TX_SFX_KEY_ITEM TX_FAR _OaksLabDeliverParcelText2 db "@" -OaksLabAroundWorldText: ; 1d309 (7:5309) +OaksLabAroundWorldText: TX_FAR _OaksLabAroundWorldText db "@" -OaksLabGivePokeballsText: ; 1d30e (7:530e) +OaksLabGivePokeballsText: TX_FAR _OaksLabGivePokeballsText1 - db $11 + TX_SFX_KEY_ITEM TX_FAR _OaksLabGivePokeballsText2 db "@" -OaksLabPleaseVisitText: ; 1d318 (7:5318) +OaksLabPleaseVisitText: TX_FAR _OaksLabPleaseVisitText db "@" -OaksLabText_1d31d: ; 1d31d (7:531d) +OaksLabText_1d31d: TX_FAR _OaksLabText_1d31d db "@" -OaksLabText34: ; 1d322 (7:5322) -OaksLabText33: ; 1d322 (7:5322) -OaksLabText7: ; 1d322 (7:5322) -OaksLabText6: ; 1d322 (7:5322) - db $08 ; asm +OaksLabText34: +OaksLabText33: +OaksLabText7: +OaksLabText6: + TX_ASM ld hl, OaksLabText_1d32c call PrintText jp TextScriptEnd -OaksLabText_1d32c: ; 1d32c (7:532c) +OaksLabText_1d32c: TX_FAR _OaksLabText_1d32c db "@" -OaksLabText35: ; 1d331 (7:5331) -OaksLabText8: ; 1d331 (7:5331) +OaksLabText35: +OaksLabText8: TX_FAR _OaksLabText8 db "@" -OaksLabText36: ; 1d336 (7:5336) -OaksLabText9: ; 1d336 (7:5336) - db $08 ; asm +OaksLabText36: +OaksLabText9: + TX_ASM ld hl, OaksLabText_1d340 call PrintText jp TextScriptEnd -OaksLabText_1d340: ; 1d340 (7:5340) +OaksLabText_1d340: TX_FAR _OaksLabText_1d340 db "@" -OaksLabText17: ; 1d345 (7:5345) - db $8 +OaksLabText17: + TX_ASM ld hl, OaksLabRivalWaitingText call PrintText jp TextScriptEnd -OaksLabRivalWaitingText: ; 1d34f (7:534f) +OaksLabRivalWaitingText: TX_FAR _OaksLabRivalWaitingText db "@" -OaksLabText18: ; 1d354 (7:5354) - db $8 +OaksLabText18: + TX_ASM ld hl, OaksLabChooseMonText call PrintText jp TextScriptEnd -OaksLabChooseMonText: ; 1d35e (7:535e) +OaksLabChooseMonText: TX_FAR _OaksLabChooseMonText db "@" -OaksLabText19: ; 1d363 (7:5363) - db $8 +OaksLabText19: + TX_ASM ld hl, OaksLabRivalInterjectionText call PrintText jp TextScriptEnd -OaksLabRivalInterjectionText: ; 1d36d (7:536d) +OaksLabRivalInterjectionText: TX_FAR _OaksLabRivalInterjectionText db "@" -OaksLabText20: ; 1d372 (7:5372) - db $8 +OaksLabText20: + TX_ASM ld hl, OaksLabBePatientText call PrintText jp TextScriptEnd -OaksLabBePatientText: ; 1d37c (7:537c) +OaksLabBePatientText: TX_FAR _OaksLabBePatientText db "@" -OaksLabText12: ; 1d381 (7:5381) - db $8 +OaksLabText12: + TX_ASM ld hl, OaksLabLeavingText call PrintText jp TextScriptEnd -OaksLabLeavingText: ; 1d38b (7:538b) +OaksLabLeavingText: TX_FAR _OaksLabLeavingText db "@" -OaksLabText13: ; 1d390 (7:5390) - db $8 +OaksLabText13: + TX_ASM ld hl, OaksLabRivalPickingMonText call PrintText jp TextScriptEnd -OaksLabRivalPickingMonText: ; 1d39a (7:539a) +OaksLabRivalPickingMonText: TX_FAR _OaksLabRivalPickingMonText db "@" -OaksLabText14: ; 1d39f (7:539f) - db $8 +OaksLabText14: + TX_ASM ld hl, OaksLabRivalReceivedMonText call PrintText jp TextScriptEnd -OaksLabRivalReceivedMonText: ; 1d3a9 (7:53a9) +OaksLabRivalReceivedMonText: TX_FAR _OaksLabRivalReceivedMonText - db $11, "@" + TX_SFX_KEY_ITEM + db "@" -OaksLabText15: ; 1d3af (7:53af) - db $8 +OaksLabText15: + TX_ASM ld hl, OaksLabRivalChallengeText call PrintText jp TextScriptEnd -OaksLabRivalChallengeText: ; 1d3b9 (7:53b9) +OaksLabRivalChallengeText: TX_FAR _OaksLabRivalChallengeText db "@" -OaksLabText_1d3be: ; 1d3be (7:53be) +OaksLabText_1d3be: TX_FAR _OaksLabText_1d3be db "@" -OaksLabText_1d3c3: ; 1d3c3 (7:53c3) +OaksLabText_1d3c3: TX_FAR _OaksLabText_1d3c3 db "@" -OaksLabText16: ; 1d3c8 (7:53c8) - db $8 +OaksLabText16: + TX_ASM ld hl, OaksLabRivalToughenUpText call PrintText jp TextScriptEnd -OaksLabRivalToughenUpText: ; 1d3d2 (7:53d2) +OaksLabRivalToughenUpText: TX_FAR _OaksLabRivalToughenUpText db "@" -OaksLabText21: ; 1d3d7 (7:53d7) +OaksLabText21: TX_FAR _OaksLabText21 db "@" -OaksLabText22: ; 1d3dc (7:53dc) +OaksLabText22: TX_FAR _OaksLabText22 db "@" -OaksLabText23: ; 1d3e1 (7:53e1) +OaksLabText23: TX_FAR _OaksLabText23 db "@" -OaksLabText24: ; 1d3e6 (7:53e6) +OaksLabText24: TX_FAR _OaksLabText24 db "@" -OaksLabText25: ; 1d3eb (7:53eb) +OaksLabText25: TX_FAR _OaksLabText25 - db $11, "@" + TX_SFX_KEY_ITEM + db "@" -OaksLabText26: ; 1d3f1 (7:53f1) +OaksLabText26: TX_FAR _OaksLabText26 db "@" -OaksLabText27: ; 1d3f6 (7:53f6) +OaksLabText27: TX_FAR _OaksLabText27 db "@" -OaksLabText38: ; 1d3fb (7:53fb) -OaksLabText37: ; 1d3fb (7:53fb) -OaksLabText11: ; 1d3fb (7:53fb) -OaksLabText10: ; 1d3fb (7:53fb) - db $08 ; asm +OaksLabText38: +OaksLabText37: +OaksLabText11: +OaksLabText10: + TX_ASM ld hl, OaksLabText_1d405 call PrintText jp TextScriptEnd -OaksLabText_1d405: ; 1d405 (7:5405) +OaksLabText_1d405: TX_FAR _OaksLabText_1d405 db "@" diff --git a/scripts/pallettown.asm b/scripts/pallettown.asm index c43b9682..a06dfd54 100755 --- a/scripts/pallettown.asm +++ b/scripts/pallettown.asm @@ -1,16 +1,14 @@ -PalletTownScript: ; 18e5b (6:4e5b) - ld a,[wd74b] - bit 4,a +PalletTownScript: + CheckEvent EVENT_GOT_POKEBALLS_FROM_OAK jr z,.next - ld hl,wd747 - set 6,[hl] + SetEvent EVENT_PALLET_AFTER_GETTING_POKEBALLS .next call EnableAutoTextBoxDrawing ld hl,PalletTownScriptPointers - ld a,[W_PALLETTOWNCURSCRIPT] + ld a,[wPalletTownCurScript] jp CallFunctionInTable -PalletTownScriptPointers: ; 18e73 (6:4e73) +PalletTownScriptPointers: dw PalletTownScript0 dw PalletTownScript1 dw PalletTownScript2 @@ -19,93 +17,92 @@ PalletTownScriptPointers: ; 18e73 (6:4e73) dw PalletTownScript5 dw PalletTownScript6 -PalletTownScript0: ; 18e81 (6:4e81) - ld a,[wd747] - bit 0,a +PalletTownScript0: + CheckEvent EVENT_FOLLOWED_OAK_INTO_LAB ret nz - ld a,[W_YCOORD] + ld a,[wYCoord] cp 1 ; is player near north exit? ret nz xor a ld [hJoyHeld],a - ld a,4 - ld [wd528],a + ld a,PLAYER_DIR_DOWN + ld [wPlayerMovingDirection],a ld a,$FF call PlaySound ; stop music ld a, BANK(Music_MeetProfOak) - ld c,a ; song bank + ld c,a ld a, MUSIC_MEET_PROF_OAK ; “oak appears” music - call PlayMusic ; plays music + call PlayMusic ld a,$FC ld [wJoyIgnore],a - ld hl,wd74b - set 7,[hl] + SetEvent EVENT_OAK_APPEARED_IN_PALLET ; trigger the next script ld a,1 - ld [W_PALLETTOWNCURSCRIPT],a + ld [wPalletTownCurScript],a ret -PalletTownScript1: ; 18eb2 (6:4eb2) +PalletTownScript1: xor a ld [wcf0d],a ld a,1 - ld [$FF8C],a + ld [hSpriteIndexOrTextID],a call DisplayTextID ld a,$FF ld [wJoyIgnore],a ld a,HS_PALLET_TOWN_OAK - ld [wcc4d],a + ld [wMissableObjectIndex],a predef ShowObject ; trigger the next script ld a,2 - ld [W_PALLETTOWNCURSCRIPT],a + ld [wPalletTownCurScript],a ret -PalletTownScript2: ; 18ed2 (6:4ed2) +PalletTownScript2: ld a,1 - ld [$FF8C],a - ld a,4 - ld [$FF8D],a + ld [H_SPRITEINDEX],a + ld a,SPRITE_FACING_UP + ld [hSpriteFacingDirection],a call SetSpriteFacingDirectionAndDelay call Delay3 ld a,1 - ld [W_YCOORD],a + ld [wYCoord],a ld a,1 - ld [$FF9B],a + ld [hNPCPlayerRelativePosPerspective],a ld a,1 swap a - ld [$FF95],a + ld [hNPCSpriteOffset],a predef CalcPositionOfPlayerRelativeToNPC - ld hl,$FF95 + ld hl,hNPCPlayerYDistance dec [hl] predef FindPathToPlayer ; load Oak’s movement into wNPCMovementDirections2 ld de,wNPCMovementDirections2 ld a,1 ; oak - ld [$FF8C],a + ld [H_SPRITEINDEX],a call MoveSprite ld a,$FF ld [wJoyIgnore],a ; trigger the next script ld a,3 - ld [W_PALLETTOWNCURSCRIPT],a + ld [wPalletTownCurScript],a ret -PalletTownScript3: ; 18f12 (6:4f12) +PalletTownScript3: ld a,[wd730] bit 0,a ret nz - xor a + xor a ; ld a, SPRITE_FACING_DOWN ld [wSpriteStateData1 + 9],a ld a,1 ld [wcf0d],a ld a,$FC ld [wJoyIgnore],a ld a,1 - ld [$FF8C],a + ld [hSpriteIndexOrTextID],a call DisplayTextID +; set up movement script that causes the player to follow Oak to his lab ld a,$FF ld [wJoyIgnore],a ld a,1 @@ -119,44 +116,39 @@ PalletTownScript3: ; 18f12 (6:4f12) ; trigger the next script ld a,4 - ld [W_PALLETTOWNCURSCRIPT],a + ld [wPalletTownCurScript],a ret -PalletTownScript4: ; 18f4b (6:4f4b) +PalletTownScript4: ld a,[wNPCMovementScriptPointerTableNum] - and a + and a ; is the movement script over? ret nz ; trigger the next script ld a,5 - ld [W_PALLETTOWNCURSCRIPT],a + ld [wPalletTownCurScript],a ret -PalletTownScript5: ; 18f56 (6:4f56) - ld a,[wd74a] - bit 2,a +PalletTownScript5: + CheckEvent EVENT_DAISY_WALKING jr nz,.next - and 3 - cp 3 + CheckBothEventsSet EVENT_GOT_TOWN_MAP, EVENT_ENTERED_BLUES_HOUSE, 1 jr nz,.next - ld hl,wd74a - set 2,[hl] + SetEvent EVENT_DAISY_WALKING ld a,HS_DAISY_SITTING - ld [wcc4d],a + ld [wMissableObjectIndex],a predef HideObject ld a,HS_DAISY_WALKING - ld [wcc4d],a + ld [wMissableObjectIndex],a predef_jump ShowObject .next - ld a,[wd74b] - bit 4,a + CheckEvent EVENT_GOT_POKEBALLS_FROM_OAK ret z - ld hl,wd74b - set 6,[hl] -PalletTownScript6: ; 18f87 (6:4f87) + SetEvent EVENT_PALLET_AFTER_GETTING_POKEBALLS_2 +PalletTownScript6: ret -PalletTownTextPointers: ; 18f88 (6:4f88) +PalletTownTextPointers: dw PalletTownText1 dw PalletTownText2 dw PalletTownText3 @@ -165,8 +157,8 @@ PalletTownTextPointers: ; 18f88 (6:4f88) dw PalletTownText6 dw PalletTownText7 -PalletTownText1: ; 18f96 (6:4f96) - db 8 +PalletTownText1: + TX_ASM ld a,[wcf0d] and a jr nz,.next @@ -180,43 +172,43 @@ PalletTownText1: ; 18f96 (6:4f96) call PrintText jp TextScriptEnd -OakAppearsText: ; 18fb0 (6:4fb0) +OakAppearsText: TX_FAR _OakAppearsText - db 8 + TX_ASM ld c,10 call DelayFrames xor a - ld [wcd4f],a - ld [wcd50],a - predef EmotionBubble ; display ! over head - ld a,4 - ld [wd528],a + ld [wEmotionBubbleSpriteIndex],a ; player's sprite + ld [wWhichEmotionBubble],a ; EXCLAMATION_BUBBLE + predef EmotionBubble + ld a,PLAYER_DIR_DOWN + ld [wPlayerMovingDirection],a jp TextScriptEnd -OakWalksUpText: ; 18fce (6:4fce) +OakWalksUpText: TX_FAR _OakWalksUpText db "@" -PalletTownText2: ; 0x18fd3 girl +PalletTownText2: ; girl TX_FAR _PalletTownText2 db "@" -PalletTownText3: ; 0x18fd8 fat man +PalletTownText3: ; fat man TX_FAR _PalletTownText3 db "@" -PalletTownText4: ; 0x18fdd sign by lab +PalletTownText4: ; sign by lab TX_FAR _PalletTownText4 db "@" -PalletTownText5: ; 0x18fe2 sign by fence +PalletTownText5: ; sign by fence TX_FAR _PalletTownText5 db "@" -PalletTownText6: ; 0x18fe7 sign by Red’s house +PalletTownText6: ; sign by Red’s house TX_FAR _PalletTownText6 db "@" -PalletTownText7: ; 0x18fec sign by Blue’s house +PalletTownText7: ; sign by Blue’s house TX_FAR _PalletTownText7 db "@" diff --git a/scripts/pewtercity.asm b/scripts/pewtercity.asm index 55369df9..80acede8 100755 --- a/scripts/pewtercity.asm +++ b/scripts/pewtercity.asm @@ -1,10 +1,10 @@ -PewterCityScript: ; 19237 (6:5237) +PewterCityScript: call EnableAutoTextBoxDrawing ld hl, PewterCityScriptPointers - ld a, [W_PEWTERCITYCURSCRIPT] + ld a, [wPewterCityCurScript] jp CallFunctionInTable -PewterCityScriptPointers: ; 19243 (6:5243) +PewterCityScriptPointers: dw PewterCityScript0 dw PewterCityScript1 dw PewterCityScript2 @@ -13,17 +13,15 @@ PewterCityScriptPointers: ; 19243 (6:5243) dw PewterCityScript5 dw PewterCityScript6 -PewterCityScript0: ; 19251 (6:5251) +PewterCityScript0: xor a - ld [W_MUSEUM1FCURSCRIPT], a - ld hl, wd754 - res 0, [hl] + ld [wMuseum1fCurScript], a + ResetEvent EVENT_BOUGHT_MUSEUM_TICKET call PewterCityScript_1925e ret -PewterCityScript_1925e: ; 1925e (6:525e) - ld a, [wd755] - bit 7, a +PewterCityScript_1925e: + CheckEvent EVENT_BEAT_BROCK ret nz ld hl, CoordsData_19277 call ArePlayerCoordsInArray @@ -31,33 +29,33 @@ PewterCityScript_1925e: ; 1925e (6:525e) ld a, $f0 ld [wJoyIgnore], a ld a, $5 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a jp DisplayTextID -CoordsData_19277: ; 19277 (6:5277) +CoordsData_19277: db $11,$23 db $11,$24 db $12,$25 db $13,$25 db $ff -PewterCityScript1: ; 19280 (6:5280) +PewterCityScript1: ld a, [wNPCMovementScriptPointerTableNum] and a ret nz ld a, $3 ld [H_SPRITEINDEX], a ld a, SPRITE_FACING_UP - ld [$ff8d], a + ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, ($3 << 4) | SPRITE_FACING_UP - ld [$ff8d], a + ld [hSpriteImageIndex], a call SetSpriteImageIndexAfterSettingFacingDirection call PlayDefaultMusic ld hl, wFlags_0xcd60 set 4, [hl] ld a, $d - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $3c ld [$ffeb], a @@ -71,57 +69,61 @@ PewterCityScript1: ; 19280 (6:5280) ld [wSpriteIndex], a call SetSpritePosition1 ld a, $3 - ld [$ff8c], a - ld de, MovementData_PewterMuseumGuyExit ; $52ce + ld [H_SPRITEINDEX], a + ld de, MovementData_PewterMuseumGuyExit call MoveSprite ld a, $2 - ld [W_PEWTERCITYCURSCRIPT], a + ld [wPewterCityCurScript], a ret -MovementData_PewterMuseumGuyExit: ; 192ce (6:52ce) - db $00,$00,$00,$00,$FF +MovementData_PewterMuseumGuyExit: + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db $FF -PewterCityScript2: ; 192d3 (6:52d3) +PewterCityScript2: ld a, [wd730] bit 0, a ret nz ld a, HS_MUSEUM_GUY - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject ld a, $3 - ld [W_PEWTERCITYCURSCRIPT], a + ld [wPewterCityCurScript], a ret -PewterCityScript3: ; 192e9 (6:52e9) +PewterCityScript3: ld a, $3 ld [wSpriteIndex], a call SetSpritePosition2 ld a, HS_MUSEUM_GUY - ld [wcc4d], a + ld [wMissableObjectIndex], a predef ShowObject xor a ld [wJoyIgnore], a ld a, $0 - ld [W_PEWTERCITYCURSCRIPT], a + ld [wPewterCityCurScript], a ret -PewterCityScript4: ; 19305 (6:5305) +PewterCityScript4: ld a, [wNPCMovementScriptPointerTableNum] and a ret nz ld a, $5 - ld [$ff8c], a + ld [H_SPRITEINDEX], a ld a, SPRITE_FACING_LEFT - ld [$ff8d], a + ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, ($1 << 4) | SPRITE_FACING_LEFT - ld [$ff8d], a + ld [hSpriteImageIndex], a call SetSpriteImageIndexAfterSettingFacingDirection call PlayDefaultMusic ld hl, wFlags_0xcd60 set 4, [hl] ld a, $e - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $3c ld [$ffeb], a @@ -135,41 +137,46 @@ PewterCityScript4: ; 19305 (6:5305) ld [wSpriteIndex], a call SetSpritePosition1 ld a, $5 - ld [$ff8c], a + ld [H_SPRITEINDEX], a ld de, MovementData_PewterGymGuyExit call MoveSprite ld a, $5 - ld [W_PEWTERCITYCURSCRIPT], a + ld [wPewterCityCurScript], a ret -MovementData_PewterGymGuyExit: ; 19353 (6:5353) - db $C0,$C0,$C0,$C0,$C0,$FF +MovementData_PewterGymGuyExit: + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db $FF -PewterCityScript5: ; 19359 (6:5359) +PewterCityScript5: ld a, [wd730] bit 0, a ret nz ld a, HS_GYM_GUY - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject ld a, $6 - ld [W_PEWTERCITYCURSCRIPT], a + ld [wPewterCityCurScript], a ret -PewterCityScript6: ; 1936f (6:536f) +PewterCityScript6: ld a, $5 ld [wSpriteIndex], a call SetSpritePosition2 ld a, HS_GYM_GUY - ld [wcc4d], a + ld [wMissableObjectIndex], a predef ShowObject xor a ld [wJoyIgnore], a ld a, $0 - ld [W_PEWTERCITYCURSCRIPT], a + ld [wPewterCityCurScript], a ret -PewterCityTextPointers: ; 1938b (6:538b) +PewterCityTextPointers: dw PewterCityText1 dw PewterCityText2 dw PewterCityText3 @@ -185,133 +192,131 @@ PewterCityTextPointers: ; 1938b (6:538b) dw PewterCityText13 dw PewterCityText14 -PewterCityText1: ; 193a7 (6:53a7) +PewterCityText1: TX_FAR _PewterCityText1 db "@" -PewterCityText2: ; 193ac (6:53ac) +PewterCityText2: TX_FAR _PewterCityText2 db "@" -PewterCityText3: ; 193b1 (6:53b1) - db $08 ; asm +PewterCityText3: + TX_ASM ld hl, PewterCityText_193f1 call PrintText call YesNoChoice ld a, [wCurrentMenuItem] and a - jr nz, .asm_f46a9 ; 0x193bf + jr nz, .asm_193c9 ld hl, PewterCityText_193f6 call PrintText - jr .asm_ac429 ; 0x193c7 -.asm_f46a9 ; 0x193c9 + jr .asm_193ee +.asm_193c9 ld hl, PewterCityText_193fb call PrintText xor a - ldh [$b3], a - ldh [$b4], a + ld [hJoyPressed], a + ld [hJoyHeld], a ld [wNPCMovementScriptFunctionNum], a ld a, $2 ld [wNPCMovementScriptPointerTableNum], a - ldh a, [$b8] + ld a, [H_LOADEDROMBANK] ld [wNPCMovementScriptBank], a ld a, $3 ld [wSpriteIndex], a call GetSpritePosition2 ld a, $1 - ld [W_PEWTERCITYCURSCRIPT], a -.asm_ac429 ; 0x193ee + ld [wPewterCityCurScript], a +.asm_193ee jp TextScriptEnd -PewterCityText_193f1: ; 193f1 (6:53f1) +PewterCityText_193f1: TX_FAR _PewterCityText_193f1 db "@" -PewterCityText_193f6: ; 193f6 (6:53f6) +PewterCityText_193f6: TX_FAR _PewterCityText_193f6 db "@" -PewterCityText_193fb: ; 193fb (6:53fb) +PewterCityText_193fb: TX_FAR _PewterCityText_193fb db "@" -PewterCityText13: ; 19400 (6:5400) +PewterCityText13: TX_FAR _PewterCityText13 db "@" -PewterCityText4: ; 19405 (6:5405) - db $8 +PewterCityText4: + TX_ASM ld hl, PewterCityText_19427 call PrintText call YesNoChoice ld a, [wCurrentMenuItem] cp $0 - jr nz, .asm_e4603 + jr nz, .asm_1941e ld hl, PewterCityText_1942c call PrintText - jr .asm_e4604 ; 0x1941c $6 -.asm_e4603 + jr .asm_19424 +.asm_1941e ld hl, PewterCityText_19431 call PrintText -.asm_e4604 ; 0x19424 +.asm_19424 jp TextScriptEnd -PewterCityText_19427: ; 19427 (6:5427) +PewterCityText_19427: TX_FAR _PewterCityText_19427 db "@" -PewterCityText_1942c: ; 1942c (6:542c) +PewterCityText_1942c: TX_FAR _PewterCityText_1942c db "@" -PewterCityText_19431: ; 19431 (6:5431) +PewterCityText_19431: TX_FAR _PewterCityText_19431 db "@" -PewterCityText5: ; 19436 (6:5436) - db $08 ; asm +PewterCityText5: + TX_ASM ld hl, PewterCityText_1945d call PrintText xor a - ldh [$b4], a + ld [hJoyHeld], a ld [wNPCMovementScriptFunctionNum], a ld a, $3 ld [wNPCMovementScriptPointerTableNum], a - ldh a, [$b8] + ld a, [H_LOADEDROMBANK] ld [wNPCMovementScriptBank], a ld a, $5 ld [wSpriteIndex], a call GetSpritePosition2 ld a, $4 - ld [W_PEWTERCITYCURSCRIPT], a + ld [wPewterCityCurScript], a jp TextScriptEnd -PewterCityText_1945d: ; 1945d (6:545d) +PewterCityText_1945d: TX_FAR _PewterCityText_1945d db "@" -PewterCityText14: ; 19462 (6:5462) - -PewterCityText_19462: ; 19462 (6:5462) - TX_FAR _PewterCityText_19462 +PewterCityText14: + TX_FAR _PewterCityText14 db "@" -PewterCityText6: ; 19467 (6:5467) +PewterCityText6: TX_FAR _PewterCityText6 db "@" -PewterCityText7: ; 1946c (6:546c) +PewterCityText7: TX_FAR _PewterCityText7 db "@" -PewterCityText10: ; 19471 (6:5471) +PewterCityText10: TX_FAR _PewterCityText10 db "@" -PewterCityText11: ; 19476 (6:5476) +PewterCityText11: TX_FAR _PewterCityText11 db "@" -PewterCityText12: ; 1947b (6:547b) +PewterCityText12: TX_FAR _PewterCityText12 db "@" diff --git a/scripts/pewtergym.asm b/scripts/pewtergym.asm index 9f9c7c3b..2cfee6c0 100755 --- a/scripts/pewtergym.asm +++ b/scripts/pewtergym.asm @@ -1,90 +1,85 @@ -PewterGymScript: ; 5c387 (17:4387) - ld hl, wd126 +PewterGymScript: + ld hl, wCurrentMapScriptFlags bit 6, [hl] res 6, [hl] call nz, PewterGymScript_5c3a4 call EnableAutoTextBoxDrawing - ld hl, PewterGymTrainerHeaders + ld hl, PewterGymTrainerHeader0 ld de, PewterGymScriptPointers - ld a, [W_PEWTERGYMCURSCRIPT] + ld a, [wPewterGymCurScript] call ExecuteCurMapScriptInTable - ld [W_PEWTERGYMCURSCRIPT], a + ld [wPewterGymCurScript], a ret -PewterGymScript_5c3a4: ; 5c3a4 (17:43a4) - ld hl, Gym1CityName ; $43ad - ld de, Gym1LeaderName ; $43b9 +PewterGymScript_5c3a4: + ld hl, Gym1CityName + ld de, Gym1LeaderName jp LoadGymLeaderAndCityName -Gym1CityName: ; 5c3ad (17:43ad) +Gym1CityName: db "PEWTER CITY@" -Gym1LeaderName: ; 5c3b9 (17:43b9) +Gym1LeaderName: db "BROCK@" -PewterGymScript_5c3bf: ; 5c3bf (17:43bf) +PewterGymScript_5c3bf: xor a ld [wJoyIgnore], a - ld [W_PEWTERGYMCURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wPewterGymCurScript], a + ld [wCurMapScript], a ret -PewterGymScriptPointers: ; 5c3ca (17:43ca) +PewterGymScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle dw PewterGymScript3 -PewterGymScript3: ; 5c3d2 (17:43d2) - ld a, [W_ISINBATTLE] ; W_ISINBATTLE +PewterGymScript3: + ld a, [wIsInBattle] cp $ff jp z, PewterGymScript_5c3bf ld a, $f0 ld [wJoyIgnore], a -PewterGymScript_5c3df: ; 5c3df (17:43df) +PewterGymScript_5c3df: ld a, $4 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a call DisplayTextID - ld hl, wd755 - set 7, [hl] - ld bc, (TM_34 << 8) | 1 + SetEvent EVENT_BEAT_BROCK + lb bc, TM_34, 1 call GiveItem jr nc, .BagFull ld a, $5 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a call DisplayTextID - ld hl, wd755 - set 6, [hl] + SetEvent EVENT_GOT_TM34 jr .asm_5c408 .BagFull ld a, $6 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a call DisplayTextID .asm_5c408 - ld hl, W_OBTAINEDBADGES + ld hl, wObtainedBadges set 0, [hl] - ld hl, wd72a + ld hl, wBeatGymFlags set 0, [hl] ld a, HS_GYM_GUY - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject ld a, HS_ROUTE_22_RIVAL_1 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject - ld hl, wd7eb - res 0, [hl] - res 7, [hl] + ResetEvents EVENT_1ST_ROUTE22_RIVAL_BATTLE, EVENT_ROUTE22_RIVAL_WANTS_BATTLE ; deactivate gym trainers - ld hl, wd755 - set 2, [hl] + SetEvent EVENT_BEAT_PEWTER_GYM_TRAINER_0 jp PewterGymScript_5c3bf -PewterGymTextPointers: ; 5c435 (17:4435) +PewterGymTextPointers: dw PewterGymText1 dw PewterGymText2 dw PewterGymText3 @@ -92,33 +87,31 @@ PewterGymTextPointers: ; 5c435 (17:4435) dw PewterGymText5 dw PewterGymText6 -PewterGymTrainerHeaders: ; 5c441 (17:4441) -PewterGymTrainerHeader0: ; 5c441 (17:4441) - db $2 ; flag's bit +PewterGymTrainerHeader0: + dbEventFlagBit EVENT_BEAT_PEWTER_GYM_TRAINER_0 db ($5 << 4) ; trainer's view range - dw wd755 ; flag's byte - dw PewterGymBattleText1 ; 0x44d0 TextBeforeBattle - dw PewterGymAfterBattleText1 ; 0x44da TextAfterBattle - dw PewterGymEndBattleText1 ; 0x44d5 TextEndBattle - dw PewterGymEndBattleText1 ; 0x44d5 TextEndBattle + dwEventFlagAddress EVENT_BEAT_PEWTER_GYM_TRAINER_0 + dw PewterGymBattleText1 ; TextBeforeBattle + dw PewterGymAfterBattleText1 ; TextAfterBattle + dw PewterGymEndBattleText1 ; TextEndBattle + dw PewterGymEndBattleText1 ; TextEndBattle db $ff -PewterGymText1: ; 5c44e (17:444e) - db $08 ; asm - ld a, [wd755] - bit 7, a - jr z, .asm_4a735 ; 0x5c454 - bit 6, a - jr nz, .asm_ff7d0 ; 0x5c458 +PewterGymText1: + TX_ASM + CheckEvent EVENT_BEAT_BROCK + jr z, .asm_5c46a + CheckEventReuseA EVENT_GOT_TM34 + jr nz, .asm_5c462 call z, PewterGymScript_5c3df call DisableWaitingAfterTextDisplay - jr .asm_e0ffb ; 0x5c460 -.asm_ff7d0 ; 0x5c462 + jr .asm_5c49b +.asm_5c462 ld hl, PewterGymText_5c4a3 call PrintText - jr .asm_e0ffb ; 0x5c468 -.asm_4a735 ; 0x5c46a + jr .asm_5c49b +.asm_5c46a ld hl, PewterGymText_5c49e call PrintText ld hl, wd72d @@ -127,109 +120,109 @@ PewterGymText1: ; 5c44e (17:444e) ld hl, PewterGymText_5c4bc ld de, PewterGymText_5c4bc call SaveEndBattleTextPointers - ldh a, [$8c] + ld a, [H_SPRITEINDEX] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters ld a, $1 - ld [W_GYMLEADERNO], a + ld [wGymLeaderNo], a xor a - ldh [$b4], a + ld [hJoyHeld], a ld a, $3 - ld [W_PEWTERGYMCURSCRIPT], a - ld [W_CURMAPSCRIPT], a -.asm_e0ffb ; 0x5c49b + ld [wPewterGymCurScript], a + ld [wCurMapScript], a +.asm_5c49b jp TextScriptEnd -PewterGymText_5c49e: ; 5c49e (17:449e) +PewterGymText_5c49e: TX_FAR _PewterGymText_5c49e db "@" -PewterGymText_5c4a3: ; 5c4a3 (17:44a3) +PewterGymText_5c4a3: TX_FAR _PewterGymText_5c4a3 db "@" -PewterGymText4: ; 5c4a8 (17:44a8) +PewterGymText4: TX_FAR _TM34PreReceiveText db "@" -PewterGymText5: ; 5c4ad (17:44ad) +PewterGymText5: TX_FAR _ReceivedTM34Text - db $0B + TX_SFX_ITEM_1 TX_FAR _TM34ExplanationText db "@" -PewterGymText6: ; 5c4b7 (17:44b7) +PewterGymText6: TX_FAR _TM34NoRoomText db "@" -PewterGymText_5c4bc: ; 5c4bc (17:44bc) +PewterGymText_5c4bc: TX_FAR _PewterGymText_5c4bc - db $0B + TX_SFX_LEVEL_UP ; probably supposed to play SFX_GET_ITEM_1 but the wrong music bank is loaded TX_FAR _PewterGymText_5c4c1 db "@" -PewterGymText2: ; 5c4c6 (17:44c6) - db $08 ; asm +PewterGymText2: + TX_ASM ld hl, PewterGymTrainerHeader0 call TalkToTrainer jp TextScriptEnd -PewterGymBattleText1: ; 5c4d0 (17:44d0) +PewterGymBattleText1: TX_FAR _PewterGymBattleText1 db "@" -PewterGymEndBattleText1: ; 5c4d5 (17:44d5) +PewterGymEndBattleText1: TX_FAR _PewterGymEndBattleText1 db "@" -PewterGymAfterBattleText1: ; 5c4da (17:44da) +PewterGymAfterBattleText1: TX_FAR _PewterGymAfterBattleText1 db "@" -PewterGymText3: ; 5c4df (17:44df) - db $08 ; asm - ld a, [wd72a] +PewterGymText3: + TX_ASM + ld a, [wBeatGymFlags] bit 0, a - jr nz, .asm_71369 ; 0x5c4e5 + jr nz, .asm_5c50c ld hl, PewterGymText_5c515 call PrintText call YesNoChoice ld a, [wCurrentMenuItem] and a - jr nz, .asm_6123a ; 0x5c4f4 + jr nz, .asm_5c4fe ld hl, PewterGymText_5c51a call PrintText - jr .asm_d1578 ; 0x5c4fc -.asm_6123a ; 0x5c4fe + jr .asm_5c504 +.asm_5c4fe ld hl, PewterGymText_5c524 call PrintText -.asm_d1578 ; 0x5c504 +.asm_5c504 ld hl, PewterGymText_5c51f call PrintText - jr .asm_07013 ; 0x5c50a -.asm_71369 ; 0x5c50c + jr .asm_5c512 +.asm_5c50c ld hl, PewterGymText_5c529 call PrintText -.asm_07013 ; 0x5c512 +.asm_5c512 jp TextScriptEnd -PewterGymText_5c515: ; 5c515 (17:4515) +PewterGymText_5c515: TX_FAR _PewterGymText_5c515 db "@" -PewterGymText_5c51a: ; 5c51a (17:451a) +PewterGymText_5c51a: TX_FAR _PewterGymText_5c51a db "@" -PewterGymText_5c51f: ; 5c51f (17:451f) +PewterGymText_5c51f: TX_FAR _PewterGymText_5c51f db "@" -PewterGymText_5c524: ; 5c524 (17:4524) +PewterGymText_5c524: TX_FAR _PewterGymText_5c524 db "@" -PewterGymText_5c529: ; 5c529 (17:4529) +PewterGymText_5c529: TX_FAR _PewterGymText_5c529 db "@" diff --git a/scripts/pewterhouse1.asm b/scripts/pewterhouse1.asm index 05d27a14..8fa8dc3c 100755 --- a/scripts/pewterhouse1.asm +++ b/scripts/pewterhouse1.asm @@ -1,23 +1,23 @@ -PewterHouse1Script: ; 1d5f3 (7:55f3) +PewterHouse1Script: jp EnableAutoTextBoxDrawing -PewterHouse1TextPointers: ; 1d5f6 (7:55f6) +PewterHouse1TextPointers: dw PewterHouse1Text1 dw PewterHouse1Text2 dw PewterHouse1Text3 -PewterHouse1Text1: ; 1d5fc (7:55fc) +PewterHouse1Text1: TX_FAR _PewterHouse1Text1 - db $08 ; asm + TX_ASM ld a, NIDORAN_M call PlayCry call WaitForSoundToFinish jp TextScriptEnd -PewterHouse1Text2: ; 1d60c (7:560c) +PewterHouse1Text2: TX_FAR _PewterHouse1Text2 db "@" -PewterHouse1Text3: ; 1d611 (7:5611) +PewterHouse1Text3: TX_FAR _PewterHouse1Text3 db "@" diff --git a/scripts/pewterhouse2.asm b/scripts/pewterhouse2.asm index 92e40de2..e3bbe01e 100755 --- a/scripts/pewterhouse2.asm +++ b/scripts/pewterhouse2.asm @@ -1,14 +1,14 @@ -PewterHouse2Script: ; 1d648 (7:5648) +PewterHouse2Script: jp EnableAutoTextBoxDrawing -PewterHouse2TextPointers: ; 1d64b (7:564b) +PewterHouse2TextPointers: dw PewterHouse2Text1 dw PewterHouse2Text2 -PewterHouse2Text1: ; 1d64f (7:564f) +PewterHouse2Text1: TX_FAR _PewterHouse2Text1 db "@" -PewterHouse2Text2: ; 1d654 (7:5654) +PewterHouse2Text2: TX_FAR _PewterHouse2Text2 db "@" diff --git a/scripts/pewtermart.asm b/scripts/pewtermart.asm index 8fe99d94..d5281704 100755 --- a/scripts/pewtermart.asm +++ b/scripts/pewtermart.asm @@ -1,30 +1,28 @@ -PewterMartScript: ; 74cad (1d:4cad) +PewterMartScript: call EnableAutoTextBoxDrawing ld a, $1 ld [wAutoTextBoxDrawingControl], a ret -PewterMartTextPointers: ; 74cb6 (1d:4cb6) - dw PewterMartText1 +PewterMartTextPointers: + dw PewterCashierText dw PewterMartText2 dw PewterMartText3 -PewterMartText2: ; 74cbc (1d:4cbc) - db $08 ; asm - ld hl, PewterMartText_74cc6 +PewterMartText2: + TX_ASM + ld hl, .Text call PrintText jp TextScriptEnd - -PewterMartText_74cc6: ; 74cc6 (1d:4cc6) - TX_FAR _PewterMartText_74cc6 +.Text + TX_FAR _PewterMartText2 db "@" -PewterMartText3: ; 74ccb (1d:4ccb) - db $08 ; asm - ld hl, PewterMartText_74cd5 +PewterMartText3: + TX_ASM + ld hl, .Text call PrintText jp TextScriptEnd - -PewterMartText_74cd5: ; 74cd5 (1d:4cd5) - TX_FAR _PewterMartText_74cd5 +.Text + TX_FAR _PewterMartText3 db "@" diff --git a/scripts/pewterpokecenter.asm b/scripts/pewterpokecenter.asm index 1f3cabe0..5de1e6b7 100755 --- a/scripts/pewterpokecenter.asm +++ b/scripts/pewterpokecenter.asm @@ -1,75 +1,84 @@ -PewterPokecenterScript: ; 5c587 (17:4587) +PewterPokecenterScript: call Serial_TryEstablishingExternallyClockedConnection jp EnableAutoTextBoxDrawing -PewterPokecenterTextPointers: ; 5c58d (17:458d) - dw PewterPokecenterText1 +PewterPokecenterTextPointers: + dw PewterHealNurseText dw PewterPokecenterText2 - dw PewterPokecenterText3 - dw PewterPokecenterText4 + dw PewterJigglypuffText + dw PewterTradeNurseText -PewterPokecenterText1: ; 5c595 (17:4595) - db $ff +PewterHealNurseText: + TX_POKECENTER_NURSE -PewterPokecenterText2: ; 5c596 (17:4596) - TX_FAR _PewterPokecenterText1 +PewterPokecenterText2: + TX_FAR _PewterPokecenterText2 db "@" -PewterPokecenterText3: ; 5c59b (17:459b) - db $8 +PewterJigglypuffText: + TX_ASM ld a, $1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld hl, PewterPokecenterText5 + ld hl, .Text call PrintText - ld a, $ff - call PlaySound - ld c, $20 + StopAllMusic + ld c, 32 call DelayFrames - ld hl, Unknown_5c608 ; $4608 - ld de, wTrainerFacingDirection - ld bc, $0004 + ld hl, JigglypuffFacingDirections + ld de, wJigglypuffFacingDirections + ld bc, JigglypuffFacingDirectionsEnd - JigglypuffFacingDirections call CopyData - ld a, [wSpriteStateData1 + $32] - ld hl, wTrainerFacingDirection -.asm_5c5c3 + + ld a, [Sprite03SpriteImageIdx] + ld hl, wJigglypuffFacingDirections +.findMatchingFacingDirectionLoop cp [hl] inc hl - jr nz, .asm_5c5c3 ; 0x5c5c5 $fc + jr nz, .findMatchingFacingDirectionLoop dec hl push hl ld c, BANK(Music_JigglypuffSong) ld a, MUSIC_JIGGLYPUFF_SONG call PlayMusic pop hl -.asm_5c5d1 +.loop ld a, [hl] - ld [wSpriteStateData1 + $32], a + ld [Sprite03SpriteImageIdx], a + +; rotate the array push hl - ld hl, wTrainerFacingDirection - ld de, wTrainerEngageDistance - ld bc, $0004 + ld hl, wJigglypuffFacingDirections + ld de, wJigglypuffFacingDirections - 1 + ld bc, JigglypuffFacingDirectionsEnd - JigglypuffFacingDirections call CopyData - ld a, [wTrainerEngageDistance] - ld [wcd42], a + ld a, [wJigglypuffFacingDirections - 1] + ld [wJigglypuffFacingDirections + 3], a pop hl - ld c, $18 + + ld c, 24 call DelayFrames - ld a, [wc026] + + ld a, [wChannelSoundIDs] ld b, a - ld a, [wc027] + ld a, [wChannelSoundIDs + Ch1] or b - jr nz, .asm_5c5d1 ; 0x5c5f6 $d9 - ld c, $30 + jr nz, .loop + + ld c, 48 call DelayFrames call PlayDefaultMusic jp TextScriptEnd -PewterPokecenterText5: ; 5c603 (17:4603) - TX_FAR _PewterPokecenterText5 +.Text + TX_FAR _PewterJigglypuffText db "@" -Unknown_5c608: ; 5c608 (17:4608) - db $30, $38, $34, $3c +JigglypuffFacingDirections: + db $30 | SPRITE_FACING_DOWN + db $30 | SPRITE_FACING_LEFT + db $30 | SPRITE_FACING_UP + db $30 | SPRITE_FACING_RIGHT +JigglypuffFacingDirectionsEnd: -PewterPokecenterText4: ; 5c60c (17:460c) - db $f6 +PewterTradeNurseText: + TX_CABLE_CLUB_RECEPTIONIST diff --git a/scripts/pokemontower1.asm b/scripts/pokemontower1.asm index 4887e740..6d9d1b3f 100755 --- a/scripts/pokemontower1.asm +++ b/scripts/pokemontower1.asm @@ -1,29 +1,29 @@ -PokemonTower1Script: ; 6042c (18:442c) +PokemonTower1Script: jp EnableAutoTextBoxDrawing -PokemonTower1TextPointers: ; 6042f (18:442f) +PokemonTower1TextPointers: dw PokemonTower1Text1 dw PokemonTower1Text2 dw PokemonTower1Text3 dw PokemonTower1Text4 dw PokemonTower1Text5 -PokemonTower1Text1: ; 60439 (18:4439) +PokemonTower1Text1: TX_FAR _PokemonTower1Text1 db "@" -PokemonTower1Text2: ; 6043e (18:443e) +PokemonTower1Text2: TX_FAR _PokemonTower1Text2 db "@" -PokemonTower1Text3: ; 60443 (18:4443) +PokemonTower1Text3: TX_FAR _PokemonTower1Text3 db "@" -PokemonTower1Text4: ; 60448 (18:4448) +PokemonTower1Text4: TX_FAR _PokemonTower1Text4 db "@" -PokemonTower1Text5: ; 6044d (18:444d) +PokemonTower1Text5: TX_FAR _PokemonTower1Text5 db "@" diff --git a/scripts/pokemontower2.asm b/scripts/pokemontower2.asm index dc9275f2..383b175d 100755 --- a/scripts/pokemontower2.asm +++ b/scripts/pokemontower2.asm @@ -1,177 +1,188 @@ -PokemonTower2Script: ; 604f2 (18:44f2) +PokemonTower2Script: call EnableAutoTextBoxDrawing ld hl, PokemonTower2ScriptPointers - ld a, [W_POKEMONTOWER2CURSCRIPT] + ld a, [wPokemonTower2CurScript] jp CallFunctionInTable -PokemonTower2Script_604fe: ; 604fe (18:44fe) +PokemonTower2Script_604fe: xor a ld [wJoyIgnore], a - ld [W_POKEMONTOWER2CURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wPokemonTower2CurScript], a + ld [wCurMapScript], a ret -PokemonTower2ScriptPointers: ; 60509 (18:4509) +PokemonTower2ScriptPointers: dw PokemonTower2Script0 dw PokemonTower2Script1 dw PokemonTower2Script2 -PokemonTower2Script0: ; 6050f (18:450f) - ld a, [wd764] - bit 7, a +PokemonTower2Script0: + CheckEvent EVENT_BEAT_POKEMON_TOWER_RIVAL ret nz - ld hl, CoordsData_6055e ; $455e + ld hl, CoordsData_6055e call ArePlayerCoordsInArray ret nc ld a, $ff - ld [wc0ee], a + ld [wNewSoundID], a call PlaySound ld c, BANK(Music_MeetRival) ld a, MUSIC_MEET_RIVAL call PlayMusic - ld hl, wd764 - res 6, [hl] - ld a, [wWhichTrade] + ResetEvent EVENT_POKEMON_TOWER_RIVAL_ON_LEFT + ld a, [wCoordIndex] cp $1 - ld a, $8 - ld b, $0 - jr nz, .asm_60544 ; 0x60539 $9 - ld hl, wd764 - set 6, [hl] - ld a, $2 - ld b, $c + ld a, PLAYER_DIR_UP + ld b, SPRITE_FACING_DOWN + jr nz, .asm_60544 +; the rival is on the left side and the player is on the right side + SetEvent EVENT_POKEMON_TOWER_RIVAL_ON_LEFT + ld a, PLAYER_DIR_LEFT + ld b, SPRITE_FACING_RIGHT .asm_60544 - ld [wd528], a + ld [wPlayerMovingDirection], a ld a, $1 - ld [$ff8c], a + ld [H_SPRITEINDEX], a ld a, b - ld [$ff8d], a + ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $1 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID xor a ld [hJoyHeld], a ld [hJoyPressed], a ret -CoordsData_6055e: ; 6055e (18:455e) +CoordsData_6055e: db $05,$0F db $06,$0E db $0F ; isn't this supposed to end in $ff? -PokemonTower2Script1: ; 60563 (18:4563) - ld a, [W_ISINBATTLE] +PokemonTower2Script1: + ld a, [wIsInBattle] cp $ff jp z, PokemonTower2Script_604fe ld a, $f0 ld [wJoyIgnore], a - ld hl, wd764 - set 7, [hl] + SetEvent EVENT_BEAT_POKEMON_TOWER_RIVAL ld a, $1 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld de, MovementData_605b2 - ld a, [wd764] - bit 6, a - jr nz, .asm_60589 ; 0x60584 $3 + CheckEvent EVENT_POKEMON_TOWER_RIVAL_ON_LEFT + jr nz, .asm_60589 ld de, MovementData_605a9 .asm_60589 ld a, $1 - ld [$ff8c], a + ld [H_SPRITEINDEX], a call MoveSprite ld a, $ff - ld [wc0ee], a + ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateStart ld a, $2 - ld [W_POKEMONTOWER2CURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wPokemonTower2CurScript], a + ld [wCurMapScript], a ret -MovementData_605a9: ; 605a9 (18:45a9) - db $C0,$00,$00,$C0,$00,$00,$C0,$C0,$FF - -MovementData_605b2: ; 605b2 (18:45b2) - db $00,$00,$C0,$C0,$C0,$C0,$00,$00,$FF - -PokemonTower2Script2: ; 605bb (18:45bb) +MovementData_605a9: + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db $FF + +MovementData_605b2: + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db $FF + +PokemonTower2Script2: ld a, [wd730] bit 0, a ret nz ld a, HS_POKEMONTOWER_2_RIVAL - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject xor a ld [wJoyIgnore], a call PlayDefaultMusic ld a, $0 - ld [W_POKEMONTOWER2CURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wPokemonTower2CurScript], a + ld [wCurMapScript], a ret -PokemonTower2TextPointers: ; 605db (18:45db) +PokemonTower2TextPointers: dw PokemonTower2Text1 dw PokemonTower2Text2 -PokemonTower2Text1: ; 605df (18:45df) - db $08 ; asm - ld a, [wd764] - bit 7, a - jr z, .asm_16f24 ; 0x605e5 +PokemonTower2Text1: + TX_ASM + CheckEvent EVENT_BEAT_POKEMON_TOWER_RIVAL + jr z, .asm_16f24 ld hl, PokemonTower2Text_6063c call PrintText - jr .asm_41852 ; 0x605ed -.asm_16f24 ; 0x605ef + jr .asm_41852 +.asm_16f24 ld hl, PokemonTower2Text_6062d call PrintText ld hl, wd72d set 6, [hl] set 7, [hl] ld hl, PokemonTower2Text_60632 - ld de, PokemonTower2Text_60637 ; XXX $4637 + ld de, PokemonTower2Text_60637 call SaveEndBattleTextPointers - ld a, SONY2 + $c8 - ld [W_CUROPPONENT], a + ld a, OPP_SONY2 + ld [wCurOpponent], a ; select which team to use during the encounter - ld a, [W_RIVALSTARTER] + ld a, [wRivalStarter] cp STARTER2 - jr nz, .NotSquirtle ; 0x6060f + jr nz, .NotSquirtle ld a, $4 jr .done -.NotSquirtle ; 0x60615 +.NotSquirtle cp STARTER3 - jr nz, .Charmander ; 0x60617 + jr nz, .Charmander ld a, $5 jr .done -.Charmander ; 0x6061d +.Charmander ld a, $6 .done - ld [W_TRAINERNO], a + ld [wTrainerNo], a ld a, $1 - ld [W_POKEMONTOWER2CURSCRIPT], a - ld [W_CURMAPSCRIPT], a -.asm_41852 ; 0x6062a + ld [wPokemonTower2CurScript], a + ld [wCurMapScript], a +.asm_41852 jp TextScriptEnd -PokemonTower2Text_6062d: ; 6062d (18:462d) +PokemonTower2Text_6062d: TX_FAR _PokemonTower2Text_6062d db "@" -PokemonTower2Text_60632: ; 60632 (18:4632) +PokemonTower2Text_60632: TX_FAR _PokemonTower2Text_60632 db "@" -PokemonTower2Text_60637: ; 60637 (18:4637) +PokemonTower2Text_60637: TX_FAR _PokemonTower2Text_60637 db "@" -PokemonTower2Text_6063c: ; 6063c (18:463c) +PokemonTower2Text_6063c: TX_FAR _PokemonTower2Text_6063c db "@" -PokemonTower2Text2: ; 60641 (18:4641) +PokemonTower2Text2: TX_FAR _PokemonTower2Text2 db "@" diff --git a/scripts/pokemontower3.asm b/scripts/pokemontower3.asm index 8df5bfc5..6027b450 100755 --- a/scripts/pokemontower3.asm +++ b/scripts/pokemontower3.asm @@ -1,102 +1,101 @@ -PokemonTower3Script: ; 606cc (18:46cc) +PokemonTower3Script: call EnableAutoTextBoxDrawing - ld hl, PokemonTower3TrainerHeaders + ld hl, PokemonTower3TrainerHeader0 ld de, PokemonTower3ScriptPointers - ld a, [W_POKEMONTOWER3CURSCRIPT] + ld a, [wPokemonTower3CurScript] call ExecuteCurMapScriptInTable - ld [W_POKEMONTOWER3CURSCRIPT], a + ld [wPokemonTower3CurScript], a ret -PokemonTower3ScriptPointers: ; 606df (18:46df) +PokemonTower3ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle -PokemonTower3TextPointers: ; 606e5 (18:46e5) +PokemonTower3TextPointers: dw PokemonTower3Text1 dw PokemonTower3Text2 dw PokemonTower3Text3 - dw Predef5CText + dw PickUpItemText -PokemonTower3TrainerHeaders: ; 606ed (18:46ed) -PokemonTower3TrainerHeader0: ; 606ed (18:46ed) - db $1 ; flag's bit +PokemonTower3TrainerHeader0: + dbEventFlagBit EVENT_BEAT_POKEMONTOWER_3_TRAINER_0 db ($2 << 4) ; trainer's view range - dw wd765 ; flag's byte - dw PokemonTower3BattleText1 ; 0x4730 TextBeforeBattle - dw PokemonTower3AfterBattleText1 ; 0x473a TextAfterBattle - dw PokemonTower3EndBattleText1 ; 0x4735 TextEndBattle - dw PokemonTower3EndBattleText1 ; 0x4735 TextEndBattle - -PokemonTower3TrainerHeader1: ; 606f9 (18:46f9) - db $2 ; flag's bit + dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_3_TRAINER_0 + dw PokemonTower3BattleText1 ; TextBeforeBattle + dw PokemonTower3AfterBattleText1 ; TextAfterBattle + dw PokemonTower3EndBattleText1 ; TextEndBattle + dw PokemonTower3EndBattleText1 ; TextEndBattle + +PokemonTower3TrainerHeader1: + dbEventFlagBit EVENT_BEAT_POKEMONTOWER_3_TRAINER_1 db ($3 << 4) ; trainer's view range - dw wd765 ; flag's byte - dw PokemonTower3BattleText2 ; 0x473f TextBeforeBattle - dw PokemonTower3AfterBattleText2 ; 0x4749 TextAfterBattle - dw PokemonTower3EndBattleText2 ; 0x4744 TextEndBattle - dw PokemonTower3EndBattleText2 ; 0x4744 TextEndBattle - -PokemonTower3TrainerHeader2: ; 60705 (18:4705) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_3_TRAINER_1 + dw PokemonTower3BattleText2 ; TextBeforeBattle + dw PokemonTower3AfterBattleText2 ; TextAfterBattle + dw PokemonTower3EndBattleText2 ; TextEndBattle + dw PokemonTower3EndBattleText2 ; TextEndBattle + +PokemonTower3TrainerHeader2: + dbEventFlagBit EVENT_BEAT_POKEMONTOWER_3_TRAINER_2 db ($2 << 4) ; trainer's view range - dw wd765 ; flag's byte - dw PokemonTower3BattleText3 ; 0x474e TextBeforeBattle - dw PokemonTower3AfterBattleText3 ; 0x4758 TextAfterBattle - dw PokemonTower3EndBattleText3 ; 0x4753 TextEndBattle - dw PokemonTower3EndBattleText3 ; 0x4753 TextEndBattle + dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_3_TRAINER_2 + dw PokemonTower3BattleText3 ; TextBeforeBattle + dw PokemonTower3AfterBattleText3 ; TextAfterBattle + dw PokemonTower3EndBattleText3 ; TextEndBattle + dw PokemonTower3EndBattleText3 ; TextEndBattle db $ff -PokemonTower3Text1: ; 60712 (18:4712) - db $08 ; asm +PokemonTower3Text1: + TX_ASM ld hl, PokemonTower3TrainerHeader0 call TalkToTrainer jp TextScriptEnd -PokemonTower3Text2: ; 6071c (18:471c) - db $08 ; asm +PokemonTower3Text2: + TX_ASM ld hl, PokemonTower3TrainerHeader1 call TalkToTrainer jp TextScriptEnd -PokemonTower3Text3: ; 60726 (18:4726) - db $08 ; asm +PokemonTower3Text3: + TX_ASM ld hl, PokemonTower3TrainerHeader2 call TalkToTrainer jp TextScriptEnd -PokemonTower3BattleText1: ; 60730 (18:4730) +PokemonTower3BattleText1: TX_FAR _PokemonTower3BattleText1 db "@" -PokemonTower3EndBattleText1: ; 60735 (18:4735) +PokemonTower3EndBattleText1: TX_FAR _PokemonTower3EndBattleText1 db "@" -PokemonTower3AfterBattleText1: ; 6073a (18:473a) +PokemonTower3AfterBattleText1: TX_FAR _PokemonTower3AfterBattleText1 db "@" -PokemonTower3BattleText2: ; 6073f (18:473f) +PokemonTower3BattleText2: TX_FAR _PokemonTower3BattleText2 db "@" -PokemonTower3EndBattleText2: ; 60744 (18:4744) +PokemonTower3EndBattleText2: TX_FAR _PokemonTower3EndBattleText2 db "@" -PokemonTower3AfterBattleText2: ; 60749 (18:4749) +PokemonTower3AfterBattleText2: TX_FAR _PokemonTower3AfterBattleText2 db "@" -PokemonTower3BattleText3: ; 6074e (18:474e) +PokemonTower3BattleText3: TX_FAR _PokemonTower3BattleText3 db "@" -PokemonTower3EndBattleText3: ; 60753 (18:4753) +PokemonTower3EndBattleText3: TX_FAR _PokemonTower3EndBattleText3 db "@" -PokemonTower3AfterBattleText3: ; 60758 (18:4758) +PokemonTower3AfterBattleText3: TX_FAR _PokemonTower3AfterBattleText3 db "@" diff --git a/scripts/pokemontower4.asm b/scripts/pokemontower4.asm index 760bb604..a8307c01 100755 --- a/scripts/pokemontower4.asm +++ b/scripts/pokemontower4.asm @@ -1,105 +1,104 @@ -PokemonTower4Script: ; 607f6 (18:47f6) +PokemonTower4Script: call EnableAutoTextBoxDrawing - ld hl, PokemonTower4TrainerHeaders + ld hl, PokemonTower4TrainerHeader0 ld de, PokemonTower4ScriptPointers - ld a, [W_POKEMONTOWER4CURSCRIPT] + ld a, [wPokemonTower4CurScript] call ExecuteCurMapScriptInTable - ld [W_POKEMONTOWER4CURSCRIPT], a + ld [wPokemonTower4CurScript], a ret -PokemonTower4ScriptPointers: ; 60809 (18:4809) +PokemonTower4ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle -PokemonTower4TextPointers: ; 6080f (18:480f) +PokemonTower4TextPointers: dw PokemonTower4Text1 dw PokemonTower4Text2 dw PokemonTower4Text3 - dw Predef5CText - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText -PokemonTower4TrainerHeaders: ; 6081b (18:481b) -PokemonTower4TrainerHeader0: ; 6081b (18:481b) - db $1 ; flag's bit +PokemonTower4TrainerHeader0: + dbEventFlagBit EVENT_BEAT_POKEMONTOWER_4_TRAINER_0 db ($2 << 4) ; trainer's view range - dw wd766 ; flag's byte - dw PokemonTower4BattleText1 ; 0x485e TextBeforeBattle - dw PokemonTower4AfterBattleText1 ; 0x4868 TextAfterBattle - dw PokemonTower4EndBattleText1 ; 0x4863 TextEndBattle - dw PokemonTower4EndBattleText1 ; 0x4863 TextEndBattle - -PokemonTower4TrainerHeader1: ; 60827 (18:4827) - db $2 ; flag's bit + dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_4_TRAINER_0 + dw PokemonTower4BattleText1 ; TextBeforeBattle + dw PokemonTower4AfterBattleText1 ; TextAfterBattle + dw PokemonTower4EndBattleText1 ; TextEndBattle + dw PokemonTower4EndBattleText1 ; TextEndBattle + +PokemonTower4TrainerHeader1: + dbEventFlagBit EVENT_BEAT_POKEMONTOWER_4_TRAINER_1 db ($2 << 4) ; trainer's view range - dw wd766 ; flag's byte - dw PokemonTower4BattleText2 ; 0x486d TextBeforeBattle - dw PokemonTower4AfterBattleText2 ; 0x4877 TextAfterBattle - dw PokemonTower4EndBattleText2 ; 0x4872 TextEndBattle - dw PokemonTower4EndBattleText2 ; 0x4872 TextEndBattle - -PokemonTower4TrainerHeader2: ; 60833 (18:4833) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_4_TRAINER_1 + dw PokemonTower4BattleText2 ; TextBeforeBattle + dw PokemonTower4AfterBattleText2 ; TextAfterBattle + dw PokemonTower4EndBattleText2 ; TextEndBattle + dw PokemonTower4EndBattleText2 ; TextEndBattle + +PokemonTower4TrainerHeader2: + dbEventFlagBit EVENT_BEAT_POKEMONTOWER_4_TRAINER_2 db ($2 << 4) ; trainer's view range - dw wd766 ; flag's byte - dw PokemonTower4BattleText3 ; 0x487c TextBeforeBattle - dw PokemonTower4AfterBattleText3 ; 0x4886 TextAfterBattle - dw PokemonTower4EndBattleText3 ; 0x4881 TextEndBattle - dw PokemonTower4EndBattleText3 ; 0x4881 TextEndBattle + dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_4_TRAINER_2 + dw PokemonTower4BattleText3 ; TextBeforeBattle + dw PokemonTower4AfterBattleText3 ; TextAfterBattle + dw PokemonTower4EndBattleText3 ; TextEndBattle + dw PokemonTower4EndBattleText3 ; TextEndBattle db $ff -PokemonTower4Text1: ; 60840 (18:4840) - db $08 ; asm +PokemonTower4Text1: + TX_ASM ld hl, PokemonTower4TrainerHeader0 call TalkToTrainer jp TextScriptEnd -PokemonTower4Text2: ; 6084a (18:484a) - db $08 ; asm +PokemonTower4Text2: + TX_ASM ld hl, PokemonTower4TrainerHeader1 call TalkToTrainer jp TextScriptEnd -PokemonTower4Text3: ; 60854 (18:4854) - db $08 ; asm +PokemonTower4Text3: + TX_ASM ld hl, PokemonTower4TrainerHeader2 call TalkToTrainer jp TextScriptEnd -PokemonTower4BattleText1: ; 6085e (18:485e) +PokemonTower4BattleText1: TX_FAR _PokemonTower4BattleText1 db "@" -PokemonTower4EndBattleText1: ; 60863 (18:4863) +PokemonTower4EndBattleText1: TX_FAR _PokemonTower4EndBattleText1 db "@" -PokemonTower4AfterBattleText1: ; 60868 (18:4868) +PokemonTower4AfterBattleText1: TX_FAR _PokemonTower4AfterBattleText1 db "@" -PokemonTower4BattleText2: ; 6086d (18:486d) +PokemonTower4BattleText2: TX_FAR _PokemonTower4BattleText2 db "@" -PokemonTower4EndBattleText2: ; 60872 (18:4872) +PokemonTower4EndBattleText2: TX_FAR _PokemonTower4EndBattleText2 db "@" -PokemonTower4AfterBattleText2: ; 60877 (18:4877) +PokemonTower4AfterBattleText2: TX_FAR _PokemonTower4AfterBattleText2 db "@" -PokemonTower4BattleText3: ; 6087c (18:487c) +PokemonTower4BattleText3: TX_FAR _PokemonTower4BattleText3 db "@" -PokemonTower4EndBattleText3: ; 60881 (18:4881) +PokemonTower4EndBattleText3: TX_FAR _PokemonTower4EndBattleText3 db "@" -PokemonTower4AfterBattleText3: ; 60886 (18:4886) +PokemonTower4AfterBattleText3: TX_FAR _PokemonTower4AfterBattleText3 db "@" diff --git a/scripts/pokemontower5.asm b/scripts/pokemontower5.asm index b70f9e28..9a13f286 100755 --- a/scripts/pokemontower5.asm +++ b/scripts/pokemontower5.asm @@ -1,30 +1,27 @@ -PokemonTower5Script: ; 60932 (18:4932) +PokemonTower5Script: call EnableAutoTextBoxDrawing - ld hl, PokemonTower5TrainerHeaders + ld hl, PokemonTower5TrainerHeader0 ld de, PokemonTower5ScriptPointers - ld a, [W_POKEMONTOWER5CURSCRIPT] + ld a, [wPokemonTower5CurScript] call ExecuteCurMapScriptInTable - ld [W_POKEMONTOWER5CURSCRIPT], a + ld [wPokemonTower5CurScript], a ret -PokemonTower5ScriptPointers: ; 60945 (18:4945) +PokemonTower5ScriptPointers: dw PokemonTower5Script0 dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle -PokemonTower5Script0: ; 6094b (18:494b) - ld hl, CoordsData_60992 ; $4992 +PokemonTower5Script0: + ld hl, CoordsData_60992 call ArePlayerCoordsInArray jr c, .asm_60960 ld hl, wd72e res 4, [hl] - ld hl, wd767 - res 7, [hl] + ResetEvent EVENT_IN_PURIFIED_ZONE jp CheckFightingMapTrainers .asm_60960 - ld hl, wd767 - bit 7, [hl] - set 7, [hl] + CheckAndSetEvent EVENT_IN_PURIFIED_ZONE ret nz xor a ld [hJoyHeld], a @@ -38,143 +35,142 @@ PokemonTower5Script0: ; 6094b (18:494b) call Delay3 call GBFadeInFromWhite ld a, $7 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a call DisplayTextID xor a ld [wJoyIgnore], a ret -CoordsData_60992: ; 60992 (18:4992) +CoordsData_60992: db $08,$0A db $08,$0B db $09,$0A db $09,$0B db $FF -PokemonTower5TextPointers: ; 6099b (18:499b) +PokemonTower5TextPointers: dw PokemonTower5Text1 dw PokemonTower5Text2 dw PokemonTower5Text3 dw PokemonTower5Text4 dw PokemonTower5Text5 - dw Predef5CText + dw PickUpItemText dw PokemonTower5Text7 -PokemonTower5TrainerHeaders: ; 609a9 (18:49a9) -PokemonTower5TrainerHeader0: ; 609a9 (18:49a9) - db $2 ; flag's bit +PokemonTower5TrainerHeader0: + dbEventFlagBit EVENT_BEAT_POKEMONTOWER_5_TRAINER_0 db ($2 << 4) ; trainer's view range - dw wd767 ; flag's byte - dw PokemonTower5BattleText1 ; 0x49e9 TextBeforeBattle - dw PokemonTower5AfterBattleText1 ; 0x49f3 TextAfterBattle - dw PokemonTower5EndBattleText1 ; 0x49ee TextEndBattle - dw PokemonTower5EndBattleText1 ; 0x49ee TextEndBattle - -PokemonTower5TrainerHeader1: ; 609b5 (18:49b5) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_5_TRAINER_0 + dw PokemonTower5BattleText1 ; TextBeforeBattle + dw PokemonTower5AfterBattleText1 ; TextAfterBattle + dw PokemonTower5EndBattleText1 ; TextEndBattle + dw PokemonTower5EndBattleText1 ; TextEndBattle + +PokemonTower5TrainerHeader1: + dbEventFlagBit EVENT_BEAT_POKEMONTOWER_5_TRAINER_1 db ($3 << 4) ; trainer's view range - dw wd767 ; flag's byte - dw PokemonTower5BattleText2 ; 0x4a02 TextBeforeBattle - dw PokemonTower5AfterBattleText2 ; 0x4a0c TextAfterBattle - dw PokemonTower5EndBattleText2 ; 0x4a07 TextEndBattle - dw PokemonTower5EndBattleText2 ; 0x4a07 TextEndBattle - -PokemonTower5TrainerHeader2: ; 609c1 (18:49c1) - db $4 ; flag's bit + dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_5_TRAINER_1 + dw PokemonTower5BattleText2 ; TextBeforeBattle + dw PokemonTower5AfterBattleText2 ; TextAfterBattle + dw PokemonTower5EndBattleText2 ; TextEndBattle + dw PokemonTower5EndBattleText2 ; TextEndBattle + +PokemonTower5TrainerHeader2: + dbEventFlagBit EVENT_BEAT_POKEMONTOWER_5_TRAINER_2 db ($2 << 4) ; trainer's view range - dw wd767 ; flag's byte - dw PokemonTower5BattleText3 ; 0x4a1b TextBeforeBattle - dw PokemonTower5AfterBattleText3 ; 0x4a25 TextAfterBattle - dw PokemonTower5EndBattleText3 ; 0x4a20 TextEndBattle - dw PokemonTower5EndBattleText3 ; 0x4a20 TextEndBattle - -PokemonTower5TrainerHeader3: ; 609cd (18:49cd) - db $5 ; flag's bit + dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_5_TRAINER_2 + dw PokemonTower5BattleText3 ; TextBeforeBattle + dw PokemonTower5AfterBattleText3 ; TextAfterBattle + dw PokemonTower5EndBattleText3 ; TextEndBattle + dw PokemonTower5EndBattleText3 ; TextEndBattle + +PokemonTower5TrainerHeader3: + dbEventFlagBit EVENT_BEAT_POKEMONTOWER_5_TRAINER_3 db ($2 << 4) ; trainer's view range - dw wd767 ; flag's byte - dw PokemonTower5BattleText4 ; 0x4a34 TextBeforeBattle - dw PokemonTower5AfterBattleText4 ; 0x4a3e TextAfterBattle - dw PokemonTower5EndBattleText4 ; 0x4a39 TextEndBattle - dw PokemonTower5EndBattleText4 ; 0x4a39 TextEndBattle + dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_5_TRAINER_3 + dw PokemonTower5BattleText4 ; TextBeforeBattle + dw PokemonTower5AfterBattleText4 ; TextAfterBattle + dw PokemonTower5EndBattleText4 ; TextEndBattle + dw PokemonTower5EndBattleText4 ; TextEndBattle db $ff -PokemonTower5Text1: ; 609da (18:49da) +PokemonTower5Text1: TX_FAR _PokemonTower5Text1 db "@" -PokemonTower5Text2: ; 609df (18:49df) - db $08 ; asm +PokemonTower5Text2: + TX_ASM ld hl, PokemonTower5TrainerHeader0 call TalkToTrainer jp TextScriptEnd -PokemonTower5BattleText1: ; 609e9 (18:49e9) +PokemonTower5BattleText1: TX_FAR _PokemonTower5BattleText1 db "@" -PokemonTower5EndBattleText1: ; 609ee (18:49ee) +PokemonTower5EndBattleText1: TX_FAR _PokemonTower5EndBattleText1 db "@" -PokemonTower5AfterBattleText1: ; 609f3 (18:49f3) +PokemonTower5AfterBattleText1: TX_FAR _PokemonTower5AfterBattleText1 db "@" -PokemonTower5Text3: ; 609f8 (18:49f8) - db $08 ; asm +PokemonTower5Text3: + TX_ASM ld hl, PokemonTower5TrainerHeader1 call TalkToTrainer jp TextScriptEnd -PokemonTower5BattleText2: ; 60a02 (18:4a02) +PokemonTower5BattleText2: TX_FAR _PokemonTower5BattleText2 db "@" -PokemonTower5EndBattleText2: ; 60a07 (18:4a07) +PokemonTower5EndBattleText2: TX_FAR _PokemonTower5EndBattleText2 db "@" -PokemonTower5AfterBattleText2: ; 60a0c (18:4a0c) +PokemonTower5AfterBattleText2: TX_FAR _PokemonTower5AfterBattleText2 db "@" -PokemonTower5Text4: ; 60a11 (18:4a11) - db $08 ; asm +PokemonTower5Text4: + TX_ASM ld hl, PokemonTower5TrainerHeader2 call TalkToTrainer jp TextScriptEnd -PokemonTower5BattleText3: ; 60a1b (18:4a1b) +PokemonTower5BattleText3: TX_FAR _PokemonTower5BattleText3 db "@" -PokemonTower5EndBattleText3: ; 60a20 (18:4a20) +PokemonTower5EndBattleText3: TX_FAR _PokemonTower5EndBattleText3 db "@" -PokemonTower5AfterBattleText3: ; 60a25 (18:4a25) +PokemonTower5AfterBattleText3: TX_FAR _PokemonTower5AfterBattleText3 db "@" -PokemonTower5Text5: ; 60a2a (18:4a2a) - db $08 ; asm - ld hl, PokemonTower5TrainerHeader3 ; $49cd +PokemonTower5Text5: + TX_ASM + ld hl, PokemonTower5TrainerHeader3 call TalkToTrainer jp TextScriptEnd -PokemonTower5BattleText4: ; 60a34 (18:4a34) +PokemonTower5BattleText4: TX_FAR _PokemonTower5BattleText4 db "@" -PokemonTower5EndBattleText4: ; 60a39 (18:4a39) +PokemonTower5EndBattleText4: TX_FAR _PokemonTower5EndBattleText4 db "@" -PokemonTower5AfterBattleText4: ; 60a3e (18:4a3e) +PokemonTower5AfterBattleText4: TX_FAR _PokemonTower5AfterBattleText4 db "@" -PokemonTower5Text7: ; 60a43 (18:4a43) +PokemonTower5Text7: TX_FAR _PokemonTower5Text7 db "@" diff --git a/scripts/pokemontower6.asm b/scripts/pokemontower6.asm index 58968d17..c3118f62 100755 --- a/scripts/pokemontower6.asm +++ b/scripts/pokemontower6.asm @@ -1,52 +1,51 @@ -PokemonTower6Script: ; 60aef (18:4aef) +PokemonTower6Script: call EnableAutoTextBoxDrawing - ld hl, PokemonTower6TrainerHeaders + ld hl, PokemonTower6TrainerHeader0 ld de, PokemonTower6ScriptPointers - ld a, [W_POKEMONTOWER6CURSCRIPT] + ld a, [wPokemonTower6CurScript] call ExecuteCurMapScriptInTable - ld [W_POKEMONTOWER6CURSCRIPT], a + ld [wPokemonTower6CurScript], a ret -PokemonTower6Script_60b02: ; 60b02 (18:4b02) +PokemonTower6Script_60b02: xor a ld [wJoyIgnore], a - ld [W_POKEMONTOWER6CURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wPokemonTower6CurScript], a + ld [wCurMapScript], a ret -PokemonTower6ScriptPointers: ; 60b0d (18:4b0d) +PokemonTower6ScriptPointers: dw PokemonTower6Script0 dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle dw PokemonTower6Script3 dw PokemonTower6Script4 -PokemonTower6Script0: ; 60b17 (18:4b17) - ld a, [wd768] - bit 7, a +PokemonTower6Script0: + CheckEvent EVENT_BEAT_GHOST_MAROWAK jp nz, CheckFightingMapTrainers - ld hl, CoordsData_60b45 ; $4b45 + ld hl, CoordsData_60b45 call ArePlayerCoordsInArray jp nc, CheckFightingMapTrainers xor a ld [hJoyHeld], a ld a, $6 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, MAROWAK - ld [W_CUROPPONENT], a ; wd059 + ld [wCurOpponent], a ld a, 30 - ld [W_CURENEMYLVL], a ; W_CURENEMYLVL + ld [wCurEnemyLVL], a ld a, $4 - ld [W_POKEMONTOWER6CURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wPokemonTower6CurScript], a + ld [wCurMapScript], a ret -CoordsData_60b45: ; 60b45 (18:4b45) +CoordsData_60b45: db $10,$0A,$FF -PokemonTower6Script4: ; 60b48 (18:4b48) - ld a, [W_ISINBATTLE] ; W_ISINBATTLE +PokemonTower6Script4: + ld a, [wIsInBattle] cp $ff jp z, PokemonTower6Script_60b02 ld a, $ff @@ -60,16 +59,15 @@ PokemonTower6Script4: ; 60b48 (18:4b48) ld a, [wBattleResult] and a jr nz, .asm_60b82 - ld hl, wd768 - set 7, [hl] + SetEvent EVENT_BEAT_GHOST_MAROWAK ld a, $7 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a call DisplayTextID xor a ld [wJoyIgnore], a ld a, $0 - ld [W_POKEMONTOWER6CURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wPokemonTower6CurScript], a + ld [wCurMapScript], a ret .asm_60b82 ld a, $1 @@ -82,134 +80,133 @@ PokemonTower6Script4: ; 60b48 (18:4b48) ld hl, wd730 set 7, [hl] ld a, $3 - ld [W_POKEMONTOWER6CURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wPokemonTower6CurScript], a + ld [wCurMapScript], a ret -PokemonTower6Script3: ; 60ba1 (18:4ba1) +PokemonTower6Script3: ld a, [wSimulatedJoypadStatesIndex] and a ret nz call Delay3 xor a - ld [W_POKEMONTOWER6CURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wPokemonTower6CurScript], a + ld [wCurMapScript], a ret -PokemonTower6TextPointers: ; 60bb1 (18:4bb1) +PokemonTower6TextPointers: dw PokemonTower6Text1 dw PokemonTower6Text2 dw PokemonTower6Text3 - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText dw PokemonTower6Text6 dw PokemonTower6Text7 -PokemonTower6TrainerHeaders: ; 60bbf (18:4bbf) -PokemonTower6TrainerHeader0: ; 60bbf (18:4bbf) - db $1 ; flag's bit +PokemonTower6TrainerHeader0: + dbEventFlagBit EVENT_BEAT_POKEMONTOWER_6_TRAINER_0 db ($3 << 4) ; trainer's view range - dw wd768 ; flag's byte - dw PokemonTower6BattleText1 ; 0x4c29 TextBeforeBattle - dw PokemonTower6AfterBattleText1 ; 0x4c33 TextAfterBattle - dw PokemonTower6EndBattleText1 ; 0x4c2e TextEndBattle - dw PokemonTower6EndBattleText1 ; 0x4c2e TextEndBattle - -PokemonTower6TrainerHeader1: ; 60bcb (18:4bcb) - db $2 ; flag's bit + dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_6_TRAINER_0 + dw PokemonTower6BattleText1 ; TextBeforeBattle + dw PokemonTower6AfterBattleText1 ; TextAfterBattle + dw PokemonTower6EndBattleText1 ; TextEndBattle + dw PokemonTower6EndBattleText1 ; TextEndBattle + +PokemonTower6TrainerHeader1: + dbEventFlagBit EVENT_BEAT_POKEMONTOWER_6_TRAINER_1 db ($3 << 4) ; trainer's view range - dw wd768 ; flag's byte - dw PokemonTower6BattleText2 ; 0x4c38 TextBeforeBattle - dw PokemonTower6AfterBattleText2 ; 0x4c42 TextAfterBattle - dw PokemonTower6EndBattleText2 ; 0x4c3d TextEndBattle - dw PokemonTower6EndBattleText2 ; 0x4c3d TextEndBattle - -PokemonTower6TrainerHeader2: ; 60bd7 (18:4bd7) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_6_TRAINER_1 + dw PokemonTower6BattleText2 ; TextBeforeBattle + dw PokemonTower6AfterBattleText2 ; TextAfterBattle + dw PokemonTower6EndBattleText2 ; TextEndBattle + dw PokemonTower6EndBattleText2 ; TextEndBattle + +PokemonTower6TrainerHeader2: + dbEventFlagBit EVENT_BEAT_POKEMONTOWER_6_TRAINER_2 db ($2 << 4) ; trainer's view range - dw wd768 ; flag's byte - dw PokemonTower6BattleText3 ; 0x4c47 TextBeforeBattle - dw PokemonTower6AfterBattleText3 ; 0x4c51 TextAfterBattle - dw PokemonTower6EndBattleText3 ; 0x4c4c TextEndBattle - dw PokemonTower6EndBattleText3 ; 0x4c4c TextEndBattle + dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_6_TRAINER_2 + dw PokemonTower6BattleText3 ; TextBeforeBattle + dw PokemonTower6AfterBattleText3 ; TextAfterBattle + dw PokemonTower6EndBattleText3 ; TextEndBattle + dw PokemonTower6EndBattleText3 ; TextEndBattle db $ff -PokemonTower6Text1: ; 60be4 (18:4be4) - db $08 ; asm +PokemonTower6Text1: + TX_ASM ld hl, PokemonTower6TrainerHeader0 call TalkToTrainer jp TextScriptEnd -PokemonTower6Text2: ; 60bee (18:4bee) - db $08 ; asm +PokemonTower6Text2: + TX_ASM ld hl, PokemonTower6TrainerHeader1 call TalkToTrainer jp TextScriptEnd -PokemonTower6Text3: ; 60bf8 (18:4bf8) - db $08 ; asm +PokemonTower6Text3: + TX_ASM ld hl, PokemonTower6TrainerHeader2 call TalkToTrainer jp TextScriptEnd -PokemonTower6Text7: ; 60c02 (18:4c02) - db $8 +PokemonTower6Text7: + TX_ASM ld hl, PokemonTower2Text_60c1f call PrintText ld a, MAROWAK call PlayCry call WaitForSoundToFinish - ld c, $1e + ld c, 30 call DelayFrames ld hl, PokemonTower2Text_60c24 call PrintText jp TextScriptEnd -PokemonTower2Text_60c1f: ; 60c1f (18:4c1f) +PokemonTower2Text_60c1f: TX_FAR _PokemonTower2Text_60c1f db "@" -PokemonTower2Text_60c24: ; 60c24 (18:4c24) +PokemonTower2Text_60c24: TX_FAR _PokemonTower2Text_60c24 db "@" -PokemonTower6BattleText1: ; 60c29 (18:4c29) +PokemonTower6BattleText1: TX_FAR _PokemonTower6BattleText1 db "@" -PokemonTower6EndBattleText1: ; 60c2e (18:4c2e) +PokemonTower6EndBattleText1: TX_FAR _PokemonTower6EndBattleText1 db "@" -PokemonTower6AfterBattleText1: ; 60c33 (18:4c33) +PokemonTower6AfterBattleText1: TX_FAR _PokemonTower6AfterBattleText1 db "@" -PokemonTower6BattleText2: ; 60c38 (18:4c38) +PokemonTower6BattleText2: TX_FAR _PokemonTower6BattleText2 db "@" -PokemonTower6EndBattleText2: ; 60c3d (18:4c3d) +PokemonTower6EndBattleText2: TX_FAR _PokemonTower6EndBattleText2 db "@" -PokemonTower6AfterBattleText2: ; 60c42 (18:4c42) +PokemonTower6AfterBattleText2: TX_FAR _PokemonTower6AfterBattleText2 db "@" -PokemonTower6BattleText3: ; 60c47 (18:4c47) +PokemonTower6BattleText3: TX_FAR _PokemonTower6BattleText3 db "@" -PokemonTower6EndBattleText3: ; 60c4c (18:4c4c) +PokemonTower6EndBattleText3: TX_FAR _PokemonTower6EndBattleText3 db "@" -PokemonTower6AfterBattleText3: ; 60c51 (18:4c51) +PokemonTower6AfterBattleText3: TX_FAR _PokemonTower6AfterBattleText3 db "@" -PokemonTower6Text6: ; 60c56 (18:4c56) +PokemonTower6Text6: TX_FAR _PokemonTower6Text6 db "@" diff --git a/scripts/pokemontower7.asm b/scripts/pokemontower7.asm index ab42121d..88c62c53 100755 --- a/scripts/pokemontower7.asm +++ b/scripts/pokemontower7.asm @@ -1,17 +1,17 @@ -PokemonTower7Script: ; 60d05 (18:4d05) +PokemonTower7Script: call EnableAutoTextBoxDrawing - ld hl, PokemonTower7TrainerHeaders + ld hl, PokemonTower7TrainerHeader0 ld de, PokemonTower7ScriptPointers - ld a, [W_POKEMONTOWER7CURSCRIPT] + ld a, [wPokemonTower7CurScript] call ExecuteCurMapScriptInTable - ld [W_POKEMONTOWER7CURSCRIPT], a + ld [wPokemonTower7CurScript], a ret -PokemonTower7Script_60d18: ; 60d18 (18:4d18) +PokemonTower7Script_60d18: xor a ld [wJoyIgnore], a - ld [W_POKEMONTOWER7CURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wPokemonTower7CurScript], a + ld [wCurMapScript], a ret PokemonTower7ScriptPointers: @@ -21,29 +21,29 @@ PokemonTower7ScriptPointers: dw PokemonTower7Script3 dw PokemonTower7Script4 -PokemonTower7Script2: ; 60d23 (18:4d23) +PokemonTower7Script2: ld hl, wFlags_0xcd60 res 0, [hl] - ld a, [W_ISINBATTLE] ; W_ISINBATTLE + ld a, [wIsInBattle] cp $ff jp z, PokemonTower7Script_60d18 call EndTrainerBattle ld a, $f0 ld [wJoyIgnore], a ld a, [wSpriteIndex] - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a call DisplayTextID call PokemonTower7Script_60db6 ld a, $3 - ld [W_POKEMONTOWER7CURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wPokemonTower7CurScript], a + ld [wCurMapScript], a ret -PokemonTower7Script3: ; 60d56 (18:4d56) +PokemonTower7Script3: ld a, [wd730] bit 0, a ret nz - ld hl, W_MISSABLEOBJECTLIST + ld hl, wMissableObjectList ld a, [wSpriteIndex] ld b, a .missableObjectsListLoop @@ -51,28 +51,28 @@ PokemonTower7Script3: ; 60d56 (18:4d56) cp b ; search for sprite ID in missing objects list ld a, [hli] jr nz, .missableObjectsListLoop - ld [wcc4d], a ; remove missable object + ld [wMissableObjectIndex], a ; remove missable object predef HideObject xor a ld [wJoyIgnore], a ld [wSpriteIndex], a ld [wTrainerHeaderFlagBit], a - ld [wda38], a + ld [wUnusedDA38], a ld a, $0 - ld [W_POKEMONTOWER7CURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wPokemonTower7CurScript], a + ld [wCurMapScript], a ret -PokemonTower7Script4: ; 60d86 (18:4d86) +PokemonTower7Script4: ld a, $ff ld [wJoyIgnore], a ld a, HS_POKEMONTOWER_7_MR_FUJI - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject - ld a, $4 + ld a, SPRITE_FACING_UP ld [wSpriteStateData1 + 9], a ld a, LAVENDER_HOUSE_1 - ld [H_DOWNARROWBLINKCNT1], a ; $ff8b + ld [hWarpDestinationMap], a ld a, $1 ld [wDestinationWarpID], a ld a, LAVENDER_TOWN @@ -80,21 +80,21 @@ PokemonTower7Script4: ; 60d86 (18:4d86) ld hl, wd72d set 3, [hl] ld a, $0 - ld [W_POKEMONTOWER7CURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wPokemonTower7CurScript], a + ld [wCurMapScript], a ret -PokemonTower7Script_60db6: ; 60db6 (18:4db6) - ld hl, CoordsData_60de3 ; $4de3 +PokemonTower7Script_60db6: + ld hl, CoordsData_60de3 ld a, [wSpriteIndex] dec a swap a ld d, $0 ld e, a add hl, de - ld a, [W_YCOORD] ; wd361 + ld a, [wYCoord] ld b, a - ld a, [W_XCOORD] ; wd362 + ld a, [wXCoord] ld c, a .asm_60dcb ld a, [hli] @@ -107,7 +107,7 @@ PokemonTower7Script_60db6: ; 60db6 (18:4db6) ld d, [hl] ld e, a ld a, [wSpriteIndex] - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [H_SPRITEINDEX], a jp MoveSprite .asm_60dde inc hl @@ -116,7 +116,7 @@ PokemonTower7Script_60db6: ; 60db6 (18:4db6) inc hl jr .asm_60dcb -CoordsData_60de3: ; 60de3 (18:4de3) +CoordsData_60de3: db $0C,$09 dw MovementData_60e13 db $0B,$0A @@ -142,136 +142,171 @@ CoordsData_60de3: ; 60de3 (18:4de3) db $07,$0C dw MovementData_60e22 -MovementData_60e13: ; 60e13 - db $C0,$00,$00,$00,$00,$00,$80,$FF - -MovementData_60e1b: ; 60e1b - db $00,$C0,$00,$00,$00,$00,$FF - -MovementData_60e22: ; 60e22 - db $00,$00,$00,$00,$00,$FF - -MovementData_60e28: ; 60e28 - db $80,$00,$00,$00,$00,$00,$00,$FF - -MovementData_60e30: ; 60e30 - db $00,$00,$00,$80,$00,$00,$FF - -MovementData_60e37: ; 60e37 - db $C0,$00,$00,$00,$00,$00,$00,$FF - -PokemonTower7TextPointers: ; 60e3f (18:4e3f) +MovementData_60e13: + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_LEFT + db $FF + +MovementData_60e1b: + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db $FF + +MovementData_60e22: + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db $FF + +MovementData_60e28: + db NPC_MOVEMENT_LEFT + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db $FF + +MovementData_60e30: + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_LEFT + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db $FF + +MovementData_60e37: + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db $FF + +PokemonTower7TextPointers: dw PokemonTower7Text1 dw PokemonTower7Text2 dw PokemonTower7Text3 dw PokemonTower7FujiText -PokemonTower7TrainerHeaders: ; 60e47 (18:4e47) -PokemonTower7TrainerHeader0: ; 60e47 (18:4e47) - db $1 ; flag's bit +PokemonTower7TrainerHeader0: + dbEventFlagBit EVENT_BEAT_POKEMONTOWER_7_TRAINER_0 db ($3 << 4) ; trainer's view range - dw wd769 ; flag's byte - dw PokemonTower7BattleText1 ; 0x4ec9 TextBeforeBattle - dw PokemonTower7AfterBattleText1 ; 0x4ed3 TextAfterBattle - dw PokemonTower7EndBattleText1 ; 0x4ece TextEndBattle - dw PokemonTower7EndBattleText1 ; 0x4ece TextEndBattle - -PokemonTower7TrainerHeader1: ; 60e53 (18:4e53) - db $2 ; flag's bit + dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_7_TRAINER_0 + dw PokemonTower7BattleText1 ; TextBeforeBattle + dw PokemonTower7AfterBattleText1 ; TextAfterBattle + dw PokemonTower7EndBattleText1 ; TextEndBattle + dw PokemonTower7EndBattleText1 ; TextEndBattle + +PokemonTower7TrainerHeader1: + dbEventFlagBit EVENT_BEAT_POKEMONTOWER_7_TRAINER_1 db ($3 << 4) ; trainer's view range - dw wd769 ; flag's byte - dw PokemonTower7BattleText2 ; 0x4ed8 TextBeforeBattle - dw PokemonTower7AfterBattleText2 ; 0x4ee2 TextAfterBattle - dw PokemonTower7EndBattleText2 ; 0x4edd TextEndBattle - dw PokemonTower7EndBattleText2 ; 0x4edd TextEndBattle - -PokemonTower7TrainerHeader2: ; 60e5f (18:4e5f) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_7_TRAINER_1 + dw PokemonTower7BattleText2 ; TextBeforeBattle + dw PokemonTower7AfterBattleText2 ; TextAfterBattle + dw PokemonTower7EndBattleText2 ; TextEndBattle + dw PokemonTower7EndBattleText2 ; TextEndBattle + +PokemonTower7TrainerHeader2: + dbEventFlagBit EVENT_BEAT_POKEMONTOWER_7_TRAINER_2 db ($3 << 4) ; trainer's view range - dw wd769 ; flag's byte - dw PokemonTower7BattleText3 ; 0x4ee7 TextBeforeBattle - dw PokemonTower7AfterBattleText3 ; 0x4ef1 TextAfterBattle - dw PokemonTower7EndBattleText3 ; 0x4eec TextEndBattle - dw PokemonTower7EndBattleText3 ; 0x4eec TextEndBattle + dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_7_TRAINER_2 + dw PokemonTower7BattleText3 ; TextBeforeBattle + dw PokemonTower7AfterBattleText3 ; TextAfterBattle + dw PokemonTower7EndBattleText3 ; TextEndBattle + dw PokemonTower7EndBattleText3 ; TextEndBattle db $ff -PokemonTower7Text1: ; 60e6c (18:4e6c) - db $08 ; asm +PokemonTower7Text1: + TX_ASM ld hl, PokemonTower7TrainerHeader0 call TalkToTrainer jp TextScriptEnd -PokemonTower7Text2: ; 60e76 (18:4e76) - db $08 ; asm +PokemonTower7Text2: + TX_ASM ld hl, PokemonTower7TrainerHeader1 call TalkToTrainer jp TextScriptEnd -PokemonTower7Text3: ; 60e80 (18:4e80) - db $08 ; asm +PokemonTower7Text3: + TX_ASM ld hl, PokemonTower7TrainerHeader2 call TalkToTrainer jp TextScriptEnd PokemonTower7FujiText: - db 8 ; asm + TX_ASM ld hl, TowerRescueFujiText call PrintText - ld hl, wd7e0 - set 7, [hl] - ld hl, wd769 - set 7, [hl] + SetEvent EVENT_RESCUED_MR_FUJI + SetEvent EVENT_RESCUED_MR_FUJI_2 ld a, HS_LAVENDER_HOUSE_1_MR_FUJI - ld [wcc4d], a + ld [wMissableObjectIndex], a predef ShowObject ld a, HS_SAFFRON_CITY_E - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject ld a, HS_SAFFRON_CITY_F - ld [wcc4d], a + ld [wMissableObjectIndex], a predef ShowObject ld a, $4 - ld [W_POKEMONTOWER7CURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wPokemonTower7CurScript], a + ld [wCurMapScript], a jp TextScriptEnd TowerRescueFujiText: TX_FAR _TowerRescueFujiText db "@" -PokemonTower7BattleText1: ; 60ec9 (18:4ec9) +PokemonTower7BattleText1: TX_FAR _PokemonTower7BattleText1 db "@" -PokemonTower7EndBattleText1: ; 60ece (18:4ece) +PokemonTower7EndBattleText1: TX_FAR _PokemonTower7EndBattleText1 db "@" -PokemonTower7AfterBattleText1: ; 60ed3 (18:4ed3) +PokemonTower7AfterBattleText1: TX_FAR _PokemonTower7AfterBattleText1 db "@" -PokemonTower7BattleText2: ; 60ed8 (18:4ed8) +PokemonTower7BattleText2: TX_FAR _PokemonTower7BattleText2 db "@" -PokemonTower7EndBattleText2: ; 60edd (18:4edd) +PokemonTower7EndBattleText2: TX_FAR _PokemonTower7EndBattleText2 db "@" -PokemonTower7AfterBattleText2: ; 60ee2 (18:4ee2) +PokemonTower7AfterBattleText2: TX_FAR _PokemonTower7AfterBattleText2 db "@" -PokemonTower7BattleText3: ; 60ee7 (18:4ee7) +PokemonTower7BattleText3: TX_FAR _PokemonTower7BattleText3 db "@" -PokemonTower7EndBattleText3: ; 60eec (18:4eec) +PokemonTower7EndBattleText3: TX_FAR _PokemonTower7EndBattleText3 db "@" -PokemonTower7AfterBattleText3: ; 60ef1 (18:4ef1) +PokemonTower7AfterBattleText3: TX_FAR _PokemonTower7AfterBattleText3 db "@" diff --git a/scripts/powerplant.asm b/scripts/powerplant.asm index ec4f89b3..5391585d 100755 --- a/scripts/powerplant.asm +++ b/scripts/powerplant.asm @@ -1,110 +1,109 @@ -PowerPlantScript: ; 1e2c6 (7:62c6) +PowerPlantScript: call EnableAutoTextBoxDrawing - ld hl, PowerPlantTrainerHeaders - ld de, PowerPlantScriptPointers - ld a, [W_POWERPLANTCURSCRIPT] + ld hl, Voltorb0TrainerHeader + ld de, .ScriptPointers + ld a, [wPowerPlantCurScript] call ExecuteCurMapScriptInTable - ld [W_POWERPLANTCURSCRIPT], a + ld [wPowerPlantCurScript], a ret -PowerPlantScriptPointers: ; 1e2d9 (7:62d9) +.ScriptPointers dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle -PowerPlantTextPointers: ; 1e2df (7:62df) - dw PowerPlantText1 - dw PowerPlantText2 - dw PowerPlantText3 - dw PowerPlantText4 - dw PowerPlantText5 - dw PowerPlantText6 - dw PowerPlantText7 - dw PowerPlantText8 - dw PowerPlantText9 - dw Predef5CText - dw Predef5CText - dw Predef5CText - dw Predef5CText - dw Predef5CText - -PowerPlantTrainerHeaders: ; 1e2fb (7:62fb) -PowerPlantTrainerHeader0: ; 1e2fb (7:62fb) - db 1 ; flag's bit +PowerPlantTextPointers: + dw Voltorb0Text + dw Voltorb1Text + dw Voltorb2Text + dw Voltorb3Text + dw Voltorb4Text + dw Voltorb5Text + dw Voltorb6Text + dw Voltorb7Text + dw ZapdosText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + +Voltorb0TrainerHeader: + dbEventFlagBit EVENT_BEAT_POWER_PLANT_VOLTORB_0 db 0 ; view range - dw wd7d3 ; flag's byte + dwEventFlagAddress EVENT_BEAT_POWER_PLANT_VOLTORB_0 dw VoltorbBattleText ; TextBeforeBattle dw VoltorbBattleText ; TextAfterBattle dw VoltorbBattleText ; TextEndBattle dw VoltorbBattleText ; TextEndBattle -PowerPlantTrainerHeader1: ; 1e307 (7:6307) - db 2 ; flag's bit +Voltorb1TrainerHeader: + dbEventFlagBit EVENT_BEAT_POWER_PLANT_VOLTORB_1 db 0 ; view range - dw wd7d3 ; flag's byte + dwEventFlagAddress EVENT_BEAT_POWER_PLANT_VOLTORB_1 dw VoltorbBattleText ; TextBeforeBattle dw VoltorbBattleText ; TextAfterBattle dw VoltorbBattleText ; TextEndBattle dw VoltorbBattleText ; TextEndBattle -PowerPlantTrainerHeader2: ; 1e313 (7:6313) - db 3 ; flag's bit +Voltorb2TrainerHeader: + dbEventFlagBit EVENT_BEAT_POWER_PLANT_VOLTORB_2 db 0 ; view range - dw wd7d3 ; flag's byte + dwEventFlagAddress EVENT_BEAT_POWER_PLANT_VOLTORB_2 dw VoltorbBattleText ; TextBeforeBattle dw VoltorbBattleText ; TextAfterBattle dw VoltorbBattleText ; TextEndBattle dw VoltorbBattleText ; TextEndBattle -PowerPlantTrainerHeader3: ; 1e31f (7:631f) - db 4 ; flag's bit +Voltorb3TrainerHeader: + dbEventFlagBit EVENT_BEAT_POWER_PLANT_VOLTORB_3 db 0 ; view range - dw wd7d3 ; flag's byte + dwEventFlagAddress EVENT_BEAT_POWER_PLANT_VOLTORB_3 dw VoltorbBattleText ; TextBeforeBattle dw VoltorbBattleText ; TextAfterBattle dw VoltorbBattleText ; TextEndBattle dw VoltorbBattleText ; TextEndBattle -PowerPlantTrainerHeader4: ; 1e32b (7:632b) - db 5 ; flag's bit +Voltorb4TrainerHeader: + dbEventFlagBit EVENT_BEAT_POWER_PLANT_VOLTORB_4 db 0 ; view range - dw wd7d3 ; flag's byte + dwEventFlagAddress EVENT_BEAT_POWER_PLANT_VOLTORB_4 dw VoltorbBattleText ; TextBeforeBattle dw VoltorbBattleText ; TextAfterBattle dw VoltorbBattleText ; TextEndBattle dw VoltorbBattleText ; TextEndBattle -PowerPlantTrainerHeader5: ; 1e337 (7:6337) - db 6 ; flag's bit +Voltorb5TrainerHeader: + dbEventFlagBit EVENT_BEAT_POWER_PLANT_VOLTORB_5 db 0 ; view range - dw wd7d3 ; flag's byte + dwEventFlagAddress EVENT_BEAT_POWER_PLANT_VOLTORB_5 dw VoltorbBattleText ; TextBeforeBattle dw VoltorbBattleText ; TextAfterBattle dw VoltorbBattleText ; TextEndBattle dw VoltorbBattleText ; TextEndBattle -PowerPlantTrainerHeader6: ; 1e343 (7:6343) - db 7 ; flag's bit +Voltorb6TrainerHeader: + dbEventFlagBit EVENT_BEAT_POWER_PLANT_VOLTORB_6 db 0 ; view range - dw wd7d3 ; flag's byte + dwEventFlagAddress EVENT_BEAT_POWER_PLANT_VOLTORB_6 dw VoltorbBattleText ; TextBeforeBattle dw VoltorbBattleText ; TextAfterBattle dw VoltorbBattleText ; TextEndBattle dw VoltorbBattleText ; TextEndBattle -PowerPlantTrainerHeader7: ; 1e34f (7:634f) - db 8 ; flag's bit +Voltorb7TrainerHeader: + dbEventFlagBit EVENT_BEAT_POWER_PLANT_VOLTORB_7, 1 db 0 ; view range - dw wd7d3 ; flag's byte + dwEventFlagAddress EVENT_BEAT_POWER_PLANT_VOLTORB_7, 1 dw VoltorbBattleText ; TextBeforeBattle dw VoltorbBattleText ; TextAfterBattle dw VoltorbBattleText ; TextEndBattle dw VoltorbBattleText ; TextEndBattle -PowerPlantTrainerHeader8: ; 1e35b (7:635b) - db 9 ; flag's bit +ZapdosTrainerHeader: + dbEventFlagBit EVENT_BEAT_ZAPDOS, 1 db 0 ; view range - dw wd7d3 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ZAPDOS, 1 dw ZapdosBattleText ; TextBeforeBattle dw ZapdosBattleText ; TextAfterBattle dw ZapdosBattleText ; TextEndBattle @@ -112,64 +111,64 @@ PowerPlantTrainerHeader8: ; 1e35b (7:635b) db $ff -asm_234cc: ; 1e368 (7:6368) +InitVoltorbBattle: call TalkToTrainer - ld a, [W_CURMAPSCRIPT] - ld [W_POWERPLANTCURSCRIPT], a + ld a, [wCurMapScript] + ld [wPowerPlantCurScript], a jp TextScriptEnd -PowerPlantText1: ; 1e374 (7:6374) - db $8 ; asm - ld hl, PowerPlantTrainerHeader0 ; $62fb - jr asm_234cc ; 0x1e378 $ee - -PowerPlantText2: ; 1e37a (7:637a) - db $8 ; asm - ld hl, PowerPlantTrainerHeader1 ; $6307 - jr asm_234cc ; 0x1e37e $e8 - -PowerPlantText3: ; 1e380 (7:6380) - db $8 ; asm - ld hl, PowerPlantTrainerHeader2 ; $6313 - jr asm_234cc ; 0x1e384 $e2 - -PowerPlantText4: ; 1e386 (7:6386) - db $8 ; asm - ld hl, PowerPlantTrainerHeader3 ; $631f - jr asm_234cc ; 0x1e38a $dc - -PowerPlantText5: ; 1e38c (7:638c) - db $8 ; asm - ld hl, PowerPlantTrainerHeader4 ; $632b - jr asm_234cc ; 0x1e390 $d6 - -PowerPlantText6: ; 1e392 (7:6392) - db $8 ; asm - ld hl, PowerPlantTrainerHeader5 ; $6337 - jr asm_234cc ; 0x1e396 $d0 - -PowerPlantText7: ; 1e398 (7:6398) - db $8 ; asm - ld hl, PowerPlantTrainerHeader6 ; $6343 - jr asm_234cc ; 0x1e39c $ca - -PowerPlantText8: ; 1e39e (7:639e) - db $8 ; asm - ld hl, PowerPlantTrainerHeader7 ; $634f - jr asm_234cc ; 0x1e3a2 $c4 - -PowerPlantText9: ; 1e3a4 (7:63a4) - db $8 ; asm - ld hl, PowerPlantTrainerHeader8 ; $635b - jr asm_234cc ; 0x1e3a8 $be - -VoltorbBattleText: ; 1e3aa (7:63aa) +Voltorb0Text: + TX_ASM + ld hl, Voltorb0TrainerHeader + jr InitVoltorbBattle + +Voltorb1Text: + TX_ASM + ld hl, Voltorb1TrainerHeader + jr InitVoltorbBattle + +Voltorb2Text: + TX_ASM + ld hl, Voltorb2TrainerHeader + jr InitVoltorbBattle + +Voltorb3Text: + TX_ASM + ld hl, Voltorb3TrainerHeader + jr InitVoltorbBattle + +Voltorb4Text: + TX_ASM + ld hl, Voltorb4TrainerHeader + jr InitVoltorbBattle + +Voltorb5Text: + TX_ASM + ld hl, Voltorb5TrainerHeader + jr InitVoltorbBattle + +Voltorb6Text: + TX_ASM + ld hl, Voltorb6TrainerHeader + jr InitVoltorbBattle + +Voltorb7Text: + TX_ASM + ld hl, Voltorb7TrainerHeader + jr InitVoltorbBattle + +ZapdosText: + TX_ASM + ld hl, ZapdosTrainerHeader + jr InitVoltorbBattle + +VoltorbBattleText: TX_FAR _VoltorbBattleText db "@" -ZapdosBattleText: ; 1e3af (7:63af) +ZapdosBattleText: TX_FAR _ZapdosBattleText - db $8 + TX_ASM ld a, ZAPDOS call PlayCry call WaitForSoundToFinish diff --git a/scripts/redshouse1f.asm b/scripts/redshouse1f.asm index 7b3f1f87..cbfb35c8 100755 --- a/scripts/redshouse1f.asm +++ b/scripts/redshouse1f.asm @@ -1,12 +1,12 @@ -RedsHouse1FScript: ; 48168 (12:4168) +RedsHouse1FScript: jp EnableAutoTextBoxDrawing -RedsHouse1FTextPointers: ; 4816b (12:416b) +RedsHouse1FTextPointers: dw RedsHouse1FText1 dw RedsHouse1FText2 -RedsHouse1FText1: ; 4816f (12:416f) ; 416F Mom - db 8 +RedsHouse1FText1: ; Mom + TX_ASM ld a, [wd72e] bit 3, a jr nz, .heal ; if player has received a Pokémon from Oak, heal team @@ -18,52 +18,52 @@ RedsHouse1FText1: ; 4816f (12:416f) ; 416F Mom .done jp TextScriptEnd -MomWakeUpText: ; 48185 (12:4185) +MomWakeUpText: TX_FAR _MomWakeUpText db "@" -MomHealPokemon: ; 4818a (12:418a) +MomHealPokemon: ld hl, MomHealText1 call PrintText call GBFadeOutToWhite call ReloadMapData predef HealParty ld a, MUSIC_PKMN_HEALED - ld [wc0ee], a - call PlaySound ; play sound? + ld [wNewSoundID], a + call PlaySound .next - ld a, [wc026] + ld a, [wChannelSoundIDs] cp MUSIC_PKMN_HEALED jr z, .next - ld a, [wd35b] - ld [wc0ee], a + ld a, [wMapMusicSoundID] + ld [wNewSoundID], a call PlaySound call GBFadeInFromWhite ld hl, MomHealText2 jp PrintText -MomHealText1: ; 481bc (12:41bc) +MomHealText1: TX_FAR _MomHealText1 db "@" -MomHealText2: ; 481c1 (12:41c1) +MomHealText2: TX_FAR _MomHealText2 db "@" -RedsHouse1FText2: ; 0x481c6 TV - db 8 +RedsHouse1FText2: ; TV + TX_ASM ld a,[wSpriteStateData1 + 9] - cp 4 + cp SPRITE_FACING_UP ld hl,TVWrongSideText - jr nz,.done ; if player is not facing up + jr nz,.notUp ld hl,StandByMeText -.done +.notUp call PrintText jp TextScriptEnd -StandByMeText: ; 481da (12:41da) +StandByMeText: TX_FAR _StandByMeText db "@" -TVWrongSideText: ; 481df (12:41df) +TVWrongSideText: TX_FAR _TVWrongSideText db "@" diff --git a/scripts/redshouse2f.asm b/scripts/redshouse2f.asm index 8fcdc66e..60c3ea67 100755 --- a/scripts/redshouse2f.asm +++ b/scripts/redshouse2f.asm @@ -1,24 +1,24 @@ -RedsHouse2FScript: ; 5c0b0 (17:40b0) +RedsHouse2FScript: call EnableAutoTextBoxDrawing ld hl,RedsHouse2FScriptPointers - ld a,[W_REDSHOUSE2CURSCRIPT] + ld a,[wRedsHouse2CurScript] jp CallFunctionInTable -RedsHouse2FScriptPointers: ; 5c0bc (17:40bc) +RedsHouse2FScriptPointers: dw RedsHouse2FScript0 dw RedsHouse2FScript1 -RedsHouse2FScript0: ; 5c0c0 (17:40c0) +RedsHouse2FScript0: xor a ld [hJoyHeld],a - ld a,8 - ld [wd528],a + ld a,PLAYER_DIR_UP + ld [wPlayerMovingDirection],a ld a,1 - ld [W_REDSHOUSE2CURSCRIPT],a + ld [wRedsHouse2CurScript],a ret -RedsHouse2FScript1: ; 5c0ce (17:40ce) +RedsHouse2FScript1: ret -RedsHouse2FTextPointers: ; 5c0cf (17:40cf) +RedsHouse2FTextPointers: db "@" diff --git a/scripts/rockethideout1.asm b/scripts/rockethideout1.asm index 499f77ef..88b3a7e9 100755 --- a/scripts/rockethideout1.asm +++ b/scripts/rockethideout1.asm @@ -1,192 +1,189 @@ -RocketHideout1Script: ; 44bca (11:4bca) +RocketHideout1Script: call RocketHideout1Script_44be0 call EnableAutoTextBoxDrawing - ld hl, RocketHideout1TrainerHeaders + ld hl, RocketHideout1TrainerHeader0 ld de, RocketHideout1ScriptPointers - ld a, [W_ROCKETHIDEOUT1CURSCRIPT] + ld a, [wRocketHideout1CurScript] call ExecuteCurMapScriptInTable - ld [W_ROCKETHIDEOUT1CURSCRIPT], a + ld [wRocketHideout1CurScript], a ret -RocketHideout1Script_44be0: ; 44be0 (11:4be0) - ld hl, wd126 +RocketHideout1Script_44be0: + ld hl, wCurrentMapScriptFlags bit 5, [hl] res 5, [hl] ret z - ld a, [wd815] - bit 7, a + CheckEvent EVENT_677 jr nz, .asm_44c01 - bit 5, a + CheckEventReuseA EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_4 jr nz, .asm_44bf7 ld a, $54 jr .asm_44c03 .asm_44bf7 - ld a, (SFX_02_57 - SFX_Headers_02) / 3 + ld a, SFX_GO_INSIDE call PlaySound - ld hl, wd815 - bit 7, [hl] + CheckEventHL EVENT_677 .asm_44c01 ld a, $e .asm_44c03 - ld [wd09f], a - ld bc, $080c + ld [wNewTileBlockID], a + lb bc, 8, 12 predef_jump ReplaceTileBlock -RocketHideout1ScriptPointers: ; 44c0e (11:4c0e) +RocketHideout1ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle -RocketHideout1TextPointers: ; 44c14 (11:4c14) +RocketHideout1TextPointers: dw RocketHideout1Text1 dw RocketHideout1Text2 dw RocketHideout1Text3 dw RocketHideout1Text4 dw RocketHideout1Text5 - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText -RocketHideout1TrainerHeaders: ; 44c22 (11:4c22) -RocketHideout1TrainerHeader0: ; 44c22 (11:4c22) - db $1 ; flag's bit +RocketHideout1TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_0 db ($3 << 4) ; trainer's view range - dw wd815 ; flag's byte - dw RocketHideout1BattleText2 ; 0x4ca1 TextBeforeBattle - dw RocketHideout1AfterBattleTxt2 ; 0x4cab TextAfterBattle - dw RocketHideout1EndBattleText2 ; 0x4ca6 TextEndBattle - dw RocketHideout1EndBattleText2 ; 0x4ca6 TextEndBattle - -RocketHideout1TrainerHeader2: ; 44c2e (11:4c2e) - db $2 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_0 + dw RocketHideout1BattleText2 ; TextBeforeBattle + dw RocketHideout1AfterBattleTxt2 ; TextAfterBattle + dw RocketHideout1EndBattleText2 ; TextEndBattle + dw RocketHideout1EndBattleText2 ; TextEndBattle + +RocketHideout1TrainerHeader1: + dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_1 db ($2 << 4) ; trainer's view range - dw wd815 ; flag's byte - dw RocketHideout1BattleText3 ; 0x4cb0 TextBeforeBattle - dw RocketHideout1AfterBattleTxt3 ; 0x4cba TextAfterBattle - dw RocketHideout1EndBattleText3 ; 0x4cb5 TextEndBattle - dw RocketHideout1EndBattleText3 ; 0x4cb5 TextEndBattle - -RocketHideout1TrainerHeader3: ; 44c3a (11:4c3a) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_1 + dw RocketHideout1BattleText3 ; TextBeforeBattle + dw RocketHideout1AfterBattleTxt3 ; TextAfterBattle + dw RocketHideout1EndBattleText3 ; TextEndBattle + dw RocketHideout1EndBattleText3 ; TextEndBattle + +RocketHideout1TrainerHeader2: + dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_2 db ($2 << 4) ; trainer's view range - dw wd815 ; flag's byte - dw RocketHideout1BattleText4 ; 0x4cbf TextBeforeBattle - dw RocketHideout1AfterBattleTxt4 ; 0x4cc9 TextAfterBattle - dw RocketHideout1EndBattleText4 ; 0x4cc4 TextEndBattle - dw RocketHideout1EndBattleText4 ; 0x4cc4 TextEndBattle - -RocketHideout1TrainerHeader4: ; 44c46 (11:4c46) - db $4 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_2 + dw RocketHideout1BattleText4 ; TextBeforeBattle + dw RocketHideout1AfterBattleTxt4 ; TextAfterBattle + dw RocketHideout1EndBattleText4 ; TextEndBattle + dw RocketHideout1EndBattleText4 ; TextEndBattle + +RocketHideout1TrainerHeader3: + dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_3 db ($3 << 4) ; trainer's view range - dw wd815 ; flag's byte - dw RocketHideout1BattleText5 ; 0x4cce TextBeforeBattle - dw RocketHideout1AfterBattleTxt5 ; 0x4cd8 TextAfterBattle - dw RocketHideout1EndBattleText5 ; 0x4cd3 TextEndBattle - dw RocketHideout1EndBattleText5 ; 0x4cd3 TextEndBattle - -RocketHideout1TrainerHeader5: ; 44c52 (11:4c52) - db $5 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_3 + dw RocketHideout1BattleText5 ; TextBeforeBattle + dw RocketHideout1AfterBattleTxt5 ; TextAfterBattle + dw RocketHideout1EndBattleText5 ; TextEndBattle + dw RocketHideout1EndBattleText5 ; TextEndBattle + +RocketHideout1TrainerHeader4: + dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_4 db ($3 << 4) ; trainer's view range - dw wd815 ; flag's byte - dw RocketHideout1BattleText6 ; 0x4cdd TextBeforeBattle - dw RocketHideout1AfterBattleTxt6 ; 0x4ce2 TextAfterBattle - dw RocketHideout1EndBattleText6 ; 0x4c91 TextEndBattle - dw RocketHideout1EndBattleText6 ; 0x4c91 TextEndBattle + dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_4 + dw RocketHideout1BattleText6 ; TextBeforeBattle + dw RocketHideout1AfterBattleTxt6 ; TextAfterBattle + dw RocketHideout1EndBattleText6 ; TextEndBattle + dw RocketHideout1EndBattleText6 ; TextEndBattle db $ff -RocketHideout1Text1: ; 44c5f (11:4c5f) - db $08 ; asm +RocketHideout1Text1: + TX_ASM ld hl, RocketHideout1TrainerHeader0 call TalkToTrainer jp TextScriptEnd -RocketHideout1Text2: ; 44c69 (11:4c69) - db $08 ; asm - ld hl, RocketHideout1TrainerHeader2 +RocketHideout1Text2: + TX_ASM + ld hl, RocketHideout1TrainerHeader1 call TalkToTrainer jp TextScriptEnd -RocketHideout1Text3: ; 44c73 (11:4c73) - db $08 ; asm - ld hl, RocketHideout1TrainerHeader3 +RocketHideout1Text3: + TX_ASM + ld hl, RocketHideout1TrainerHeader2 call TalkToTrainer jp TextScriptEnd -RocketHideout1Text4: ; 44c7d (11:4c7d) - db $08 ; asm - ld hl, RocketHideout1TrainerHeader4 +RocketHideout1Text4: + TX_ASM + ld hl, RocketHideout1TrainerHeader3 call TalkToTrainer jp TextScriptEnd -RocketHideout1Text5: ; 44c87 (11:4c87) - db $08 ; asm - ld hl, RocketHideout1TrainerHeader5 +RocketHideout1Text5: + TX_ASM + ld hl, RocketHideout1TrainerHeader4 call TalkToTrainer jp TextScriptEnd -RocketHideout1EndBattleText6: ; 44c91 (11:4c91) +RocketHideout1EndBattleText6: TX_FAR _RocketHideout1EndBattleText6 - db $8 - ld hl, wd815 - set 5, [hl] + TX_ASM + SetEvent EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_4 ld hl, RocketHideout1Text_44c9f ret -RocketHideout1Text_44c9f: ; 44c9f (11:4c9f) - db $6, "@" +RocketHideout1Text_44c9f: + TX_BLINK + db "@" -RocketHideout1BattleText2: ; 44ca1 (11:4ca1) +RocketHideout1BattleText2: TX_FAR _RocketHideout1BattleText2 db "@" -RocketHideout1EndBattleText2: ; 44ca6 (11:4ca6) +RocketHideout1EndBattleText2: TX_FAR _RocketHideout1EndBattleText2 db "@" -RocketHideout1AfterBattleTxt2: ; 44cab (11:4cab) +RocketHideout1AfterBattleTxt2: TX_FAR _RocketHideout1AfterBattleTxt2 db "@" -RocketHideout1BattleText3: ; 44cb0 (11:4cb0) +RocketHideout1BattleText3: TX_FAR _RocketHideout1BattleText3 db "@" -RocketHideout1EndBattleText3: ; 44cb5 (11:4cb5) +RocketHideout1EndBattleText3: TX_FAR _RocketHideout1EndBattleText3 db "@" -RocketHideout1AfterBattleTxt3: ; 44cba (11:4cba) +RocketHideout1AfterBattleTxt3: TX_FAR _RocketHideout1AfterBattleTxt3 db "@" -RocketHideout1BattleText4: ; 44cbf (11:4cbf) +RocketHideout1BattleText4: TX_FAR _RocketHideout1BattleText4 db "@" -RocketHideout1EndBattleText4: ; 44cc4 (11:4cc4) +RocketHideout1EndBattleText4: TX_FAR _RocketHideout1EndBattleText4 db "@" -RocketHideout1AfterBattleTxt4: ; 44cc9 (11:4cc9) +RocketHideout1AfterBattleTxt4: TX_FAR _RocketHideout1AfterBattleTxt4 db "@" -RocketHideout1BattleText5: ; 44cce (11:4cce) +RocketHideout1BattleText5: TX_FAR _RocketHideout1BattleText5 db "@" -RocketHideout1EndBattleText5: ; 44cd3 (11:4cd3) +RocketHideout1EndBattleText5: TX_FAR _RocketHideout1EndBattleText5 db "@" -RocketHideout1AfterBattleTxt5: ; 44cd8 (11:4cd8) +RocketHideout1AfterBattleTxt5: TX_FAR _RocketHideout1AfterBattleTxt5 db "@" -RocketHideout1BattleText6: ; 44cdd (11:4cdd) +RocketHideout1BattleText6: TX_FAR _RocketHideout1BattleText6 db "@" -RocketHideout1AfterBattleTxt6: ; 44ce2 (11:4ce2) +RocketHideout1AfterBattleTxt6: TX_FAR _RocketHideout1AfterBattleTxt6 db "@" diff --git a/scripts/rockethideout2.asm b/scripts/rockethideout2.asm index 99754658..c5f026d5 100755 --- a/scripts/rockethideout2.asm +++ b/scripts/rockethideout2.asm @@ -1,22 +1,22 @@ -RocketHideout2Script: ; 44e27 (11:4e27) +RocketHideout2Script: call EnableAutoTextBoxDrawing - ld hl, RocketHideout2TrainerHeaders + ld hl, RocketHideout2TrainerHeader0 ld de, RocketHideout2ScriptPointers - ld a, [W_ROCKETHIDEOUT2CURSCRIPT] + ld a, [wRocketHideout2CurScript] call ExecuteCurMapScriptInTable - ld [W_ROCKETHIDEOUT2CURSCRIPT], a + ld [wRocketHideout2CurScript], a ret -RocketHideout2ScriptPointers: ; 44e3a (11:4e3a) +RocketHideout2ScriptPointers: dw RocketHideout2Script0 dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle dw RocketHideout2Script3 -RocketHideout2Script0: ; 44e42 (11:4e42) - ld a, [W_YCOORD] +RocketHideout2Script0: + ld a, [wYCoord] ld b, a - ld a, [W_XCOORD] + ld a, [wXCoord] ld c, a ld hl, RocketHideout2ArrowTilePlayerMovement call DecodeArrowMovementRLE @@ -25,18 +25,18 @@ RocketHideout2Script0: ; 44e42 (11:4e42) ld hl, wd736 set 7, [hl] call StartSimulatingJoypadStates - ld a, (SFX_02_52 - SFX_Headers_02) / 3 + ld a, SFX_ARROW_TILES call PlaySound ld a, $ff ld [wJoyIgnore], a ld a, $3 - ld [W_CURMAPSCRIPT], a + ld [wCurMapScript], a ret ;format: ;db y,x ;dw pointer to movement -RocketHideout2ArrowTilePlayerMovement: ; 44e6d (11:4e6d) +RocketHideout2ArrowTilePlayerMovement: db $9,$4 dw RocketHideout2ArrowMovement1 db $b,$4 @@ -126,186 +126,182 @@ RocketHideout2ArrowTilePlayerMovement: ; 44e6d (11:4e6d) db $FF ;format: direction, count -;right: $10 -;left: $20 -;up: $40 -;down: $80 ;each list is read starting from the $FF and working backwards -RocketHideout2ArrowMovement1: ; 44f1a (11:4f1a) - db $20,$02 +RocketHideout2ArrowMovement1: + db D_LEFT,$02 db $FF -RocketHideout2ArrowMovement2: ; 44f1d (11:4f1d) - db $10,$04 +RocketHideout2ArrowMovement2: + db D_RIGHT,$04 db $FF -RocketHideout2ArrowMovement3: ; 44f20 (11:4f20) - db $40,$04 - db $10,$04 +RocketHideout2ArrowMovement3: + db D_UP,$04 + db D_RIGHT,$04 db $FF -RocketHideout2ArrowMovement4: ; 44f25 (11:4f25) - db $40,$04 - db $10,$04 - db $40,$01 +RocketHideout2ArrowMovement4: + db D_UP,$04 + db D_RIGHT,$04 + db D_UP,$01 db $FF -RocketHideout2ArrowMovement5: ; 44f2c (11:4f2c) - db $20,$02 - db $40,$03 +RocketHideout2ArrowMovement5: + db D_LEFT,$02 + db D_UP,$03 db $FF -RocketHideout2ArrowMovement6: ; 44f31 (11:4f31) - db $80,$02 - db $10,$04 +RocketHideout2ArrowMovement6: + db D_DOWN,$02 + db D_RIGHT,$04 db $FF -RocketHideout2ArrowMovement7: ; 44f36 (11:4f36) - db $40,$02 +RocketHideout2ArrowMovement7: + db D_UP,$02 db $FF -RocketHideout2ArrowMovement8: ; 44f39 (11:4f39) - db $40,$04 +RocketHideout2ArrowMovement8: + db D_UP,$04 db $FF -RocketHideout2ArrowMovement9: ; 44f3c (11:4f3c) - db $20,$06 +RocketHideout2ArrowMovement9: + db D_LEFT,$06 db $FF -RocketHideout2ArrowMovement10: ; 44f3f (11:4f3f) - db $40,$01 +RocketHideout2ArrowMovement10: + db D_UP,$01 db $FF -RocketHideout2ArrowMovement11: ; 44f42 (11:4f42) - db $20,$06 - db $40,$04 +RocketHideout2ArrowMovement11: + db D_LEFT,$06 + db D_UP,$04 db $FF -RocketHideout2ArrowMovement12: ; 44f47 (11:4f47) - db $80,$02 +RocketHideout2ArrowMovement12: + db D_DOWN,$02 db $FF -RocketHideout2ArrowMovement13: ; 44f4a (11:4f4a) - db $20,$08 +RocketHideout2ArrowMovement13: + db D_LEFT,$08 db $FF -RocketHideout2ArrowMovement14: ; 44f4d (11:4f4d) - db $20,$08 - db $40,$01 +RocketHideout2ArrowMovement14: + db D_LEFT,$08 + db D_UP,$01 db $FF -RocketHideout2ArrowMovement15: ; 44f52 (11:4f52) - db $20,$08 - db $40,$06 +RocketHideout2ArrowMovement15: + db D_LEFT,$08 + db D_UP,$06 db $FF -RocketHideout2ArrowMovement16: ; 44f57 (11:4f57) - db $40,$02 - db $10,$04 +RocketHideout2ArrowMovement16: + db D_UP,$02 + db D_RIGHT,$04 db $FF -RocketHideout2ArrowMovement17: ; 44f5c (11:4f5c) - db $40,$02 - db $10,$04 - db $40,$02 +RocketHideout2ArrowMovement17: + db D_UP,$02 + db D_RIGHT,$04 + db D_UP,$02 db $FF -RocketHideout2ArrowMovement18: ; 44f63 (11:4f63) - db $80,$02 - db $10,$04 - db $80,$02 +RocketHideout2ArrowMovement18: + db D_DOWN,$02 + db D_RIGHT,$04 + db D_DOWN,$02 db $FF -RocketHideout2ArrowMovement19: ; 44f6a (11:4f6a) - db $80,$02 - db $10,$04 +RocketHideout2ArrowMovement19: + db D_DOWN,$02 + db D_RIGHT,$04 db $FF -RocketHideout2ArrowMovement20: ; 44f6f (11:4f6f) - db $20,$0A +RocketHideout2ArrowMovement20: + db D_LEFT,$0A db $FF -RocketHideout2ArrowMovement21: ; 44f72 (11:4f72) - db $20,$0A - db $40,$02 +RocketHideout2ArrowMovement21: + db D_LEFT,$0A + db D_UP,$02 db $FF -RocketHideout2ArrowMovement22: ; 44f77 (11:4f77) - db $20,$0A - db $40,$04 +RocketHideout2ArrowMovement22: + db D_LEFT,$0A + db D_UP,$04 db $FF -RocketHideout2ArrowMovement23: ; 44f7c (11:4f7c) - db $40,$02 - db $10,$02 +RocketHideout2ArrowMovement23: + db D_UP,$02 + db D_RIGHT,$02 db $FF -RocketHideout2ArrowMovement24: ; 44f81 (11:4f81) - db $10,$01 - db $80,$02 +RocketHideout2ArrowMovement24: + db D_RIGHT,$01 + db D_DOWN,$02 db $FF -RocketHideout2ArrowMovement25: ; 44f86 (11:4f86) - db $10,$01 +RocketHideout2ArrowMovement25: + db D_RIGHT,$01 db $FF -RocketHideout2ArrowMovement26: ; 44f89 (11:4f89) - db $80,$02 - db $10,$02 +RocketHideout2ArrowMovement26: + db D_DOWN,$02 + db D_RIGHT,$02 db $FF -RocketHideout2ArrowMovement27: ; 44f8e (11:4f8e) - db $80,$02 - db $20,$02 +RocketHideout2ArrowMovement27: + db D_DOWN,$02 + db D_LEFT,$02 db $FF -RocketHideout2ArrowMovement28: ; 44f93 (11:4f93) - db $40,$02 - db $10,$04 - db $40,$02 - db $20,$03 +RocketHideout2ArrowMovement28: + db D_UP,$02 + db D_RIGHT,$04 + db D_UP,$02 + db D_LEFT,$03 db $FF -RocketHideout2ArrowMovement29: ; 44f9c (11:4f9c) - db $80,$02 - db $20,$04 +RocketHideout2ArrowMovement29: + db D_DOWN,$02 + db D_LEFT,$04 db $FF -RocketHideout2ArrowMovement30: ; 44fa1 (11:4fa1) - db $20,$06 - db $40,$04 - db $20,$05 +RocketHideout2ArrowMovement30: + db D_LEFT,$06 + db D_UP,$04 + db D_LEFT,$05 db $FF -RocketHideout2ArrowMovement31: ; 44fa8 (11:4fa8) - db $40,$02 +RocketHideout2ArrowMovement31: + db D_UP,$02 db $FF -RocketHideout2ArrowMovement32: ; 44fab (11:4fab) - db $40,$01 +RocketHideout2ArrowMovement32: + db D_UP,$01 db $FF -RocketHideout2ArrowMovement33: ; 44fae (11:4fae) - db $40,$03 +RocketHideout2ArrowMovement33: + db D_UP,$03 db $FF -RocketHideout2ArrowMovement34: ; 44fb1 (11:4fb1) - db $40,$05 +RocketHideout2ArrowMovement34: + db D_UP,$05 db $FF -RocketHideout2ArrowMovement35: ; 44fb4 (11:4fb4) - db $10,$01 - db $80,$02 - db $20,$04 +RocketHideout2ArrowMovement35: + db D_RIGHT,$01 + db D_DOWN,$02 + db D_LEFT,$04 db $FF -RocketHideout2ArrowMovement36: ; 44fbb (11:4fbb) - db $20,$0A - db $40,$02 - db $20,$05 +RocketHideout2ArrowMovement36: + db D_LEFT,$0A + db D_UP,$02 + db D_LEFT,$05 db $FF -RocketHideout2Script3: ; 44fc2 (11:4fc2) +RocketHideout2Script3: ld a, [wSimulatedJoypadStatesIndex] and a jr nz, LoadSpinnerArrowTiles @@ -314,24 +310,24 @@ RocketHideout2Script3: ; 44fc2 (11:4fc2) ld hl, wd736 res 7, [hl] ld a, $0 - ld [W_CURMAPSCRIPT], a + ld [wCurMapScript], a ret -LoadSpinnerArrowTiles: ; 44fd7 (11:4fd7) +LoadSpinnerArrowTiles: ld a, [wSpriteStateData1 + 2] srl a srl a - ld hl, SpinnerPlayerFacingDirections ; $5083 + ld hl, SpinnerPlayerFacingDirections ld c, a ld b, $0 add hl, bc ld a, [hl] ld [wSpriteStateData1 + 2], a - ld a, [W_CURMAPTILESET] ; W_CURMAPTILESET + ld a, [wCurMapTileset] cp FACILITY - ld hl, FacilitySpinnerArrows ; $5023 + ld hl, FacilitySpinnerArrows jr z, .asm_44ff6 - ld hl, GymSpinnerArrows ; $5053 + ld hl, GymSpinnerArrows .asm_44ff6 ld a, [wSimulatedJoypadStatesIndex] bit 0, a @@ -404,7 +400,7 @@ vGymSpinner EQU vTileset + GYM_SPINNER spinner Gym_GFX, GYM_SPINNER + $100, 1, vGymSpinner + $100 spinner Gym_GFX, GYM_SPINNER + $110, 1, vGymSpinner + $110 -SpinnerPlayerFacingDirections: ; 45083 (11:5083) +SpinnerPlayerFacingDirections: ; This isn't the order of the facing directions. Rather, it's a list of ; the facing directions that come next. For example, when the player is ; facing down (00), the next facing direction is left (08). @@ -414,42 +410,41 @@ SpinnerPlayerFacingDirections: ; 45083 (11:5083) db $00 ; right -> down ; these tiles are the animation for the tiles that push the player in dungeons like Rocket HQ -SpinnerArrowAnimTiles: ; 45087 (11:5087) +SpinnerArrowAnimTiles: INCBIN "gfx/spinner_arrow.2bpp" -RocketHideout2TextPointers: ; 450c7 (11:50c7) +RocketHideout2TextPointers: dw RocketHideout2Text1 - dw Predef5CText - dw Predef5CText - dw Predef5CText - dw Predef5CText - -RocketHideout2TrainerHeaders: ; 450d1 (11:50d1) -RocketHideout2TrainerHeader0: ; 450d1 (11:50d1) - db $1 ; flag's bit + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + +RocketHideout2TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_2_TRAINER_0 db ($4 << 4) ; trainer's view range - dw wd817 ; flag's byte - dw RocketHideout2BattleText2 ; 0x50e8 TextBeforeBattle - dw RocketHideout2AfterBattleTxt2 ; 0x50f2 TextAfterBattle - dw RocketHideout2EndBattleText2 ; 0x50ed TextEndBattle - dw RocketHideout2EndBattleText2 ; 0x50ed TextEndBattle + dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_2_TRAINER_0 + dw RocketHideout2BattleText2 ; TextBeforeBattle + dw RocketHideout2AfterBattleTxt2 ; TextAfterBattle + dw RocketHideout2EndBattleText2 ; TextEndBattle + dw RocketHideout2EndBattleText2 ; TextEndBattle db $ff -RocketHideout2Text1: ; 450de (11:50de) - db $08 ; asm +RocketHideout2Text1: + TX_ASM ld hl, RocketHideout2TrainerHeader0 call TalkToTrainer jp TextScriptEnd -RocketHideout2BattleText2: ; 450e8 (11:50e8) +RocketHideout2BattleText2: TX_FAR _RocketHideout2BattleText2 db "@" -RocketHideout2EndBattleText2: ; 450ed (11:50ed) +RocketHideout2EndBattleText2: TX_FAR _RocketHideout2EndBattleText2 db "@" -RocketHideout2AfterBattleTxt2: ; 450f2 (11:50f2) +RocketHideout2AfterBattleTxt2: TX_FAR _RocketHideout2AfterBattleTxt2 db "@" diff --git a/scripts/rockethideout3.asm b/scripts/rockethideout3.asm index 6dc467ab..00a61568 100755 --- a/scripts/rockethideout3.asm +++ b/scripts/rockethideout3.asm @@ -1,22 +1,22 @@ -RocketHideout3Script: ; 45225 (11:5225) +RocketHideout3Script: call EnableAutoTextBoxDrawing - ld hl, RocketHideout3TrainerHeaders + ld hl, RocketHideout3TrainerHeader0 ld de, RocketHideout3ScriptPointers - ld a, [W_ROCKETHIDEOUT3CURSCRIPT] + ld a, [wRocketHideout3CurScript] call ExecuteCurMapScriptInTable - ld [W_ROCKETHIDEOUT3CURSCRIPT], a + ld [wRocketHideout3CurScript], a ret -RocketHideout3ScriptPointers: ; 45238 (11:5238) +RocketHideout3ScriptPointers: dw RocketHideout3Script0 dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle dw RocketHideout3Script3 -RocketHideout3Script0: ; 45240 (11:5240) - ld a, [W_YCOORD] +RocketHideout3Script0: + ld a, [wYCoord] ld b, a - ld a, [W_XCOORD] + ld a, [wXCoord] ld c, a ld hl, RocketHideout3ArrowTilePlayerMovement call DecodeArrowMovementRLE @@ -25,18 +25,18 @@ RocketHideout3Script0: ; 45240 (11:5240) ld hl, wd736 set 7, [hl] call StartSimulatingJoypadStates - ld a, (SFX_02_52 - SFX_Headers_02) / 3 + ld a, SFX_ARROW_TILES call PlaySound ld a, $ff ld [wJoyIgnore], a ld a, $3 - ld [W_CURMAPSCRIPT], a + ld [wCurMapScript], a ret ;format: ;db y,x ;dw pointer to movement -RocketHideout3ArrowTilePlayerMovement: ; 4526b (11:526b) +RocketHideout3ArrowTilePlayerMovement: db $d,$a dw RocketHideout3ArrowMovement6 db $13,$a @@ -72,70 +72,66 @@ RocketHideout3ArrowTilePlayerMovement: ; 4526b (11:526b) db $FF ;format: direction, count -;right: $10 -;left: $20 -;up: $40 -;down: $80 ;each list is read starting from the $FF and working backwards -RocketHideout3ArrowMovement1: ; 452ac (11:52ac) - db $10,$04 - db $40,$04 - db $10,$04 +RocketHideout3ArrowMovement1: + db D_RIGHT,$04 + db D_UP,$04 + db D_RIGHT,$04 db $FF -RocketHideout3ArrowMovement2: ; 452b3 (11:52b3) - db $80,$04 - db $10,$04 +RocketHideout3ArrowMovement2: + db D_DOWN,$04 + db D_RIGHT,$04 db $FF -RocketHideout3ArrowMovement3: ; 452b8 (11:52b8) - db $20,$02 +RocketHideout3ArrowMovement3: + db D_LEFT,$02 db $FF -RocketHideout3ArrowMovement4: ; 452bb (11:52bb) - db $10,$04 - db $40,$02 - db $10,$02 +RocketHideout3ArrowMovement4: + db D_RIGHT,$04 + db D_UP,$02 + db D_RIGHT,$02 db $FF -RocketHideout3ArrowMovement5: ; 452c2 (11:52c2) - db $10,$04 - db $40,$02 - db $10,$02 - db $40,$03 +RocketHideout3ArrowMovement5: + db D_RIGHT,$04 + db D_UP,$02 + db D_RIGHT,$02 + db D_UP,$03 db $FF -RocketHideout3ArrowMovement6: ; 452cb (11:52cb) - db $10,$04 +RocketHideout3ArrowMovement6: + db D_RIGHT,$04 db $FF -RocketHideout3ArrowMovement7: ; 452ce (11:52ce) - db $10,$02 +RocketHideout3ArrowMovement7: + db D_RIGHT,$02 db $FF -RocketHideout3ArrowMovement8: ; 452d1 (11:52d1) - db $10,$04 - db $40,$02 +RocketHideout3ArrowMovement8: + db D_RIGHT,$04 + db D_UP,$02 db $FF -RocketHideout3ArrowMovement9: ; 452d6 (11:52d6) - db $10,$04 - db $40,$04 +RocketHideout3ArrowMovement9: + db D_RIGHT,$04 + db D_UP,$04 db $FF -RocketHideout3ArrowMovement10: ; 452db (11:52db) - db $80,$04 +RocketHideout3ArrowMovement10: + db D_DOWN,$04 db $FF -RocketHideout3ArrowMovement11: ; 452de (11:52de) - db $40,$02 +RocketHideout3ArrowMovement11: + db D_UP,$02 db $FF -RocketHideout3ArrowMovement12: ; 452e1 (11:52e1) - db $40,$01 +RocketHideout3ArrowMovement12: + db D_UP,$01 db $FF -RocketHideout3Script3 ; 452e4 (11:452e4) +RocketHideout3Script3: ld a, [wSimulatedJoypadStatesIndex] and a jp nz, LoadSpinnerArrowTiles @@ -144,68 +140,67 @@ RocketHideout3Script3 ; 452e4 (11:452e4) ld hl, wd736 res 7, [hl] ld a, $0 - ld [W_CURMAPSCRIPT], a + ld [wCurMapScript], a ret -RocketHideout3TextPointers: ; 452fa (11:52fa) +RocketHideout3TextPointers: dw RocketHideout3Text1 dw RocketHideout3Text2 - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText -RocketHideout3TrainerHeaders: ; 45302 (11:5302) -RocketHideout3TrainerHeader0: ; 45302 (11:5302) - db $1 ; flag's bit +RocketHideout3TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_0 db ($2 << 4) ; trainer's view range - dw wd819 ; flag's byte - dw RocketHideout3BattleText2 ; 0x5325 TextBeforeBattle - dw RocketHideout3AfterBattleTxt2 ; 0x532f TextAfterBattle - dw RocketHideout3EndBattleText2 ; 0x532a TextEndBattle - dw RocketHideout3EndBattleText2 ; 0x532a TextEndBattle - -RocketHideout3TrainerHeader2: ; 4530e (11:530e) - db $2 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_0 + dw RocketHideout3BattleText2 ; TextBeforeBattle + dw RocketHideout3AfterBattleTxt2 ; TextAfterBattle + dw RocketHideout3EndBattleText2 ; TextEndBattle + dw RocketHideout3EndBattleText2 ; TextEndBattle + +RocketHideout3TrainerHeader1: + dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_1 db ($4 << 4) ; trainer's view range - dw wd819 ; flag's byte - dw RocketHideout3BattleTxt ; 0x533e TextBeforeBattle - dw RocketHideout3AfterBattleText3 ; 0x5348 TextAfterBattle - dw RocketHideout3EndBattleText3 ; 0x5343 TextEndBattle - dw RocketHideout3EndBattleText3 ; 0x5343 TextEndBattle + dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_1 + dw RocketHideout3BattleTxt ; TextBeforeBattle + dw RocketHideout3AfterBattleText3 ; TextAfterBattle + dw RocketHideout3EndBattleText3 ; TextEndBattle + dw RocketHideout3EndBattleText3 ; TextEndBattle db $ff -RocketHideout3Text1: ; 4531b (11:531b) - db $08 ; asm +RocketHideout3Text1: + TX_ASM ld hl, RocketHideout3TrainerHeader0 call TalkToTrainer jp TextScriptEnd -RocketHideout3BattleText2: ; 45325 (11:5325) +RocketHideout3BattleText2: TX_FAR _RocketHideout3BattleText2 db "@" -RocketHideout3EndBattleText2: ; 4532a (11:532a) +RocketHideout3EndBattleText2: TX_FAR _RocketHideout3EndBattleText2 db "@" -RocketHideout3AfterBattleTxt2: ; 4532f (11:532f) +RocketHideout3AfterBattleTxt2: TX_FAR _RocketHideout3AfterBattleTxt2 db "@" -RocketHideout3Text2: ; 45334 (11:5334) - db $08 ; asm - ld hl, RocketHideout3TrainerHeader2 +RocketHideout3Text2: + TX_ASM + ld hl, RocketHideout3TrainerHeader1 call TalkToTrainer jp TextScriptEnd -RocketHideout3BattleTxt: ; 4533e (11:533e) +RocketHideout3BattleTxt: TX_FAR _RocketHideout3BattleTxt db "@" -RocketHideout3EndBattleText3: ; 45343 (11:5343) +RocketHideout3EndBattleText3: TX_FAR _RocketHideout3EndBattleText3 db "@" -RocketHideout3AfterBattleText3: ; 45348 (11:5348) +RocketHideout3AfterBattleText3: TX_FAR _RocketHide3AfterBattleText3 db "@" diff --git a/scripts/rockethideout4.asm b/scripts/rockethideout4.asm index f1b46653..e8361988 100755 --- a/scripts/rockethideout4.asm +++ b/scripts/rockethideout4.asm @@ -1,127 +1,121 @@ -RocketHideout4Script: ; 4545d (11:545d) +RocketHideout4Script: call RocketHideout4Script_45473 call EnableAutoTextBoxDrawing ld hl, RocketHideout4TrainerHeader0 ld de, RocketHideout4ScriptPointers - ld a, [W_ROCKETHIDEOUT4CURSCRIPT] + ld a, [wRocketHideout4CurScript] call ExecuteCurMapScriptInTable - ld [W_ROCKETHIDEOUT4CURSCRIPT], a + ld [wRocketHideout4CurScript], a ret -RocketHideout4Script_45473: ; 45473 (11:5473) - ld hl, wd126 +RocketHideout4Script_45473: + ld hl, wCurrentMapScriptFlags bit 5, [hl] res 5, [hl] ret z - ld a, [wd81b] - bit 5, a + CheckEvent EVENT_ROCKET_HIDEOUT_4_DOOR_UNLOCKED jr nz, .asm_45496 - and $c - cp $c + CheckBothEventsSet EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_0, EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_1, 1 jr z, .asm_4548c ld a, $2d jr .asm_45498 .asm_4548c - ld a, (SFX_02_57 - SFX_Headers_02) / 3 + ld a, SFX_GO_INSIDE call PlaySound - ld hl, wd81b - set 5, [hl] + SetEvent EVENT_ROCKET_HIDEOUT_4_DOOR_UNLOCKED .asm_45496 ld a, $e .asm_45498 - ld [wd09f], a - ld bc, $050c + ld [wNewTileBlockID], a + lb bc, 5, 12 predef_jump ReplaceTileBlock -RocketHideout4Script_454a3: ; 454a3 (11:54a3) +RocketHideout4Script_454a3: xor a ld [wJoyIgnore], a - ld [W_ROCKETHIDEOUT4CURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wRocketHideout4CurScript], a + ld [wCurMapScript], a ret -RocketHideout4ScriptPointers: ; 454ae (11:54ae)c +RocketHideout4ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle dw RocketHideout4Script3 -RocketHideout4Script3: ; 454b6 (11:54b6) - ld a, [W_ISINBATTLE] +RocketHideout4Script3: + ld a, [wIsInBattle] cp $ff jp z, RocketHideout4Script_454a3 call UpdateSprites ld a, $f0 ld [wJoyIgnore], a - ld hl, wd81b - set 7, [hl] + SetEvent EVENT_BEAT_ROCKET_HIDEOUT_GIOVANNI ld a, $a - ld [H_SPRITEHEIGHT], a + ld [hSpriteIndexOrTextID], a call DisplayTextID call GBFadeOutToBlack ld a, HS_ROCKET_HIDEOUT_4_GIOVANNI - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject ld a, HS_ROCKET_HIDEOUT_4_ITEM_4 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef ShowObject call UpdateSprites call GBFadeInFromBlack xor a ld [wJoyIgnore], a - ld hl, wd126 + ld hl, wCurrentMapScriptFlags set 5, [hl] ld a, $0 - ld [W_ROCKETHIDEOUT4CURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wRocketHideout4CurScript], a + ld [wCurMapScript], a ret -RocketHideout4TextPointers: ; 45501 (11:5501) +RocketHideout4TextPointers: dw RocketHideout4Text1 dw RocketHideout4Text2 dw RocketHideout4Text3 dw RocketHideout4Text4 - dw Predef5CText - dw Predef5CText - dw Predef5CText - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText dw RocketHideout4Text10 -RocketHideout4TrainerHeaders: ; 45515 (11:5515) -RocketHideout4TrainerHeader0: ; 45515 (11:5515) - db $2 ; flag's bit +RocketHideout4TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_0 db ($0 << 4) ; trainer's view range - dw wd81b ; flag's byte - dw RocketHideout4BattleText2 ; 0x5593 TextBeforeBattle - dw RocketHideout4AfterBattleText2 ; 0x559d TextAfterBattle - dw RocketHideout4EndBattleText2 ; 0x5598 TextEndBattle - dw RocketHideout4EndBattleText2 ; 0x5598 TextEndBattle - -RocketHideout4TrainerHeader2: ; 45521 (11:5521) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_0 + dw RocketHideout4BattleText2 ; TextBeforeBattle + dw RocketHideout4AfterBattleText2 ; TextAfterBattle + dw RocketHideout4EndBattleText2 ; TextEndBattle + dw RocketHideout4EndBattleText2 ; TextEndBattle + +RocketHideout4TrainerHeader1: + dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_1 db ($0 << 4) ; trainer's view range - dw wd81b ; flag's byte - dw RocketHideout4BattleText3 ; 0x55ac TextBeforeBattle - dw RocketHideout4AfterBattleText3 ; 0x55b6 TextAfterBattle - dw RocketHideout4EndBattleText3 ; 0x55b1 TextEndBattle - dw RocketHideout4EndBattleText3 ; 0x55b1 TextEndBattle - -RocketHideout4TrainerHeader3: ; 4552d (11:552d) - db $4 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_1 + dw RocketHideout4BattleText3 ; TextBeforeBattle + dw RocketHideout4AfterBattleText3 ; TextAfterBattle + dw RocketHideout4EndBattleText3 ; TextEndBattle + dw RocketHideout4EndBattleText3 ; TextEndBattle + +RocketHideout4TrainerHeader2: + dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_2 db ($1 << 4) ; trainer's view range - dw wd81b ; flag's byte - dw RocketHideout4BattleText4 ; 0x55c5 TextBeforeBattle - dw RocketHideout4AfterBattleText4 ; 0x55cf TextAfterBattle - dw RocketHideout4EndBattleText4 ; 0x55ca TextEndBattle - dw RocketHideout4EndBattleText4 ; 0x55ca TextEndBattle + dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_2 + dw RocketHideout4BattleText4 ; TextBeforeBattle + dw RocketHideout4AfterBattleText4 ; TextAfterBattle + dw RocketHideout4EndBattleText4 ; TextEndBattle + dw RocketHideout4EndBattleText4 ; TextEndBattle db $ff -RocketHideout4Text1: ; 4553a (11:553a) - db $08 ; asm - ld a, [wd81b] - bit 7, a +RocketHideout4Text1: + TX_ASM + CheckEvent EVENT_BEAT_ROCKET_HIDEOUT_GIOVANNI jp nz, .asm_545571 ld hl, RocketHideout4Text_4557a call PrintText @@ -131,98 +125,96 @@ RocketHideout4Text1: ; 4553a (11:553a) ld hl, RocketHideout4Text_4557f ld de, RocketHideout4Text_4557f call SaveEndBattleTextPointers - ldh a, [$8c] + ld a, [H_SPRITEINDEX] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters xor a - ldh [$b4], a + ld [hJoyHeld], a ld a, $3 - ld [W_ROCKETHIDEOUT4CURSCRIPT], a - ld [W_CURMAPSCRIPT], a - jr .asm_209f0 ; 0x4556f + ld [wRocketHideout4CurScript], a + ld [wCurMapScript], a + jr .asm_209f0 .asm_545571 ld hl, RocketHideout4Text10 call PrintText -.asm_209f0 ; 0x45577 +.asm_209f0 jp TextScriptEnd -RocketHideout4Text_4557a: ; 4557a (11:557a) +RocketHideout4Text_4557a: TX_FAR _RocketHideout4Text_4557a db "@" -RocketHideout4Text_4557f: ; 4557f (11:557f) +RocketHideout4Text_4557f: TX_FAR _RocketHideout4Text_4557f db "@" -RocketHideout4Text10: ; 45584 (11:5584) +RocketHideout4Text10: TX_FAR _RocketHideout4Text_45584 db "@" -RocketHideout4Text2: ; 45589 (11:5589) - db $08 ; asm +RocketHideout4Text2: + TX_ASM ld hl, RocketHideout4TrainerHeader0 call TalkToTrainer jp TextScriptEnd -RocketHideout4BattleText2: ; 45593 (11:5593) +RocketHideout4BattleText2: TX_FAR _RocketHideout4BattleText2 db "@" -RocketHideout4EndBattleText2: ; 45598 (11:5598) +RocketHideout4EndBattleText2: TX_FAR _RocketHideout4EndBattleText2 db "@" -RocketHideout4AfterBattleText2: ; 4559d (11:559d) +RocketHideout4AfterBattleText2: TX_FAR _RocketHide4AfterBattleText2 db "@" -RocketHideout4Text3: ; 455a2 (11:55a2) - db $08 ; asm - ld hl, RocketHideout4TrainerHeader2 +RocketHideout4Text3: + TX_ASM + ld hl, RocketHideout4TrainerHeader1 call TalkToTrainer jp TextScriptEnd -RocketHideout4BattleText3: ; 455ac (11:55ac) +RocketHideout4BattleText3: TX_FAR _RocketHideout4BattleText3 db "@" -RocketHideout4EndBattleText3: ; 455b1 (11:55b1) +RocketHideout4EndBattleText3: TX_FAR _RocketHideout4EndBattleText3 db "@" -RocketHideout4AfterBattleText3: ; 455b6 (11:55b6) +RocketHideout4AfterBattleText3: TX_FAR _RocketHide4AfterBattleText3 db "@" -RocketHideout4Text4: ; 455bb (11:55bb) - db $08 ; asm - ld hl, RocketHideout4TrainerHeader3 +RocketHideout4Text4: + TX_ASM + ld hl, RocketHideout4TrainerHeader2 call TalkToTrainer jp TextScriptEnd -RocketHideout4BattleText4: ; 455c5 (11:55c5) +RocketHideout4BattleText4: TX_FAR _RocketHideout4BattleText4 db "@" -RocketHideout4EndBattleText4: ; 455ca (11:55ca) +RocketHideout4EndBattleText4: TX_FAR _RocketHideout4EndBattleText4 db "@" -RocketHideout4AfterBattleText4: ; 455cf (11:55cf) - db $8 - ld hl, RocketHideout4Text_455ec ; $55ec +RocketHideout4AfterBattleText4: + TX_ASM + ld hl, RocketHideout4Text_455ec call PrintText - ld hl, wd81b - bit 6, [hl] - set 6, [hl] - jr nz, .asm_455e9 ; 0x455dd $a + CheckAndSetEvent EVENT_ROCKET_DROPPED_LIFT_KEY + jr nz, .asm_455e9 ld a, HS_ROCKET_HIDEOUT_4_ITEM_5 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef ShowObject .asm_455e9 jp TextScriptEnd -RocketHideout4Text_455ec: ; 455ec (11:55ec) +RocketHideout4Text_455ec: TX_FAR _RocketHideout4Text_455ec db "@" diff --git a/scripts/rockethideoutelevator.asm b/scripts/rockethideoutelevator.asm index e7bc24f3..aed0f0cf 100755 --- a/scripts/rockethideoutelevator.asm +++ b/scripts/rockethideoutelevator.asm @@ -1,5 +1,5 @@ -RocketHideoutElevatorScript: ; 45710 (11:5710) - ld hl, wd126 +RocketHideoutElevatorScript: + ld hl, wCurrentMapScriptFlags bit 5, [hl] res 5, [hl] push hl @@ -14,15 +14,15 @@ RocketHideoutElevatorScript: ; 45710 (11:5710) ld [wDoNotWaitForButtonPressAfterDisplayingText], a ret -RocketHideoutElevatorScript_4572c: ; 4572c (11:572c) +RocketHideoutElevatorScript_4572c: ld hl, wWarpEntries - ld a, [wd73b] + ld a, [wWarpedFromWhichWarp] ld b, a - ld a, [wd73c] + ld a, [wWarpedFromWhichMap] ld c, a call RocketHideoutElevatorScript_4573a -RocketHideoutElevatorScript_4573a: ; 4573a (11:573a) +RocketHideoutElevatorScript_4573a: inc hl inc hl ld a, b @@ -31,51 +31,55 @@ RocketHideoutElevatorScript_4573a: ; 4573a (11:573a) ld [hli], a ret -RocketHideoutElevatorScript_45741: ; 45741 (11:5741) - ld hl, RocketHideoutElavatorFloors ; $5754 +RocketHideoutElevatorScript_45741: + ld hl, RocketHideoutElavatorFloors call LoadItemList - ld hl, RocketHideoutElevatorWarpMaps ; $5759 - ld de, wcc5b - ld bc, $0006 + ld hl, RocketHideoutElevatorWarpMaps + ld de, wElevatorWarpMaps + ld bc, RocketHideoutElevatorWarpMapsEnd - RocketHideoutElevatorWarpMaps call CopyData ret -RocketHideoutElavatorFloors: ; 45754 (11:5754) +RocketHideoutElavatorFloors: db $03 ; num elements in list - db $55, $54, $61 ; "B1F", "B2F", "B4F" + db FLOOR_B1F + db FLOOR_B2F + db FLOOR_B4F db $FF ; terminator -RocketHideoutElevatorWarpMaps: ; 45759 (11:5759) +RocketHideoutElevatorWarpMaps: ; first byte is warp number ; second byte is map number ; These specify where the player goes after getting out of the elevator. db $04, ROCKET_HIDEOUT_1 db $04, ROCKET_HIDEOUT_2 db $02, ROCKET_HIDEOUT_4 +RocketHideoutElevatorWarpMapsEnd: -RocketHideoutElevatorScript_4575f: ; 4575f (11:575f) +RocketHideoutElevatorScript_4575f: call Delay3 callba ShakeElevator ret -RocketHideoutElevatorTextPointers: ; 4576b (11:576b) +RocketHideoutElevatorTextPointers: dw RocketHideoutElevatorText1 -RocketHideoutElevatorText1: ; 4576d (11:576d) - db $08 ; asm +RocketHideoutElevatorText1: + TX_ASM ld b, LIFT_KEY call IsItemInBag - jr z, .asm_8d8f0 ; 0x45773 + jr z, .asm_45782 call RocketHideoutElevatorScript_45741 - ld hl, RocketHideoutElevatorWarpMaps ; $5759 - predef Func_1c9c6 - jr .asm_46c43 ; 0x45780 -.asm_8d8f0 ; 0x45782 + ld hl, RocketHideoutElevatorWarpMaps + predef DisplayElevatorFloorMenu + jr .asm_45788 +.asm_45782 ld hl, RocketHideoutElevatorText_4578b call PrintText -.asm_46c43 ; 0x45788 +.asm_45788 jp TextScriptEnd -RocketHideoutElevatorText_4578b: ; 4578b (11:578b) - TX_FAR _RocketElevatorText_4578b ; 0x82438 - db $d, "@" +RocketHideoutElevatorText_4578b: + TX_FAR _RocketElevatorText_4578b + TX_WAIT + db "@" diff --git a/scripts/rocktunnel1.asm b/scripts/rocktunnel1.asm index 1d514a05..390330e8 100755 --- a/scripts/rocktunnel1.asm +++ b/scripts/rocktunnel1.asm @@ -1,18 +1,18 @@ -RockTunnel1Script: ; 444dc (11:44dc) +RockTunnel1Script: call EnableAutoTextBoxDrawing - ld hl, RockTunnel1TrainerHeaders + ld hl, RockTunnel1TrainerHeader0 ld de, RockTunnel1ScriptPointers - ld a, [W_ROCKTUNNEL1CURSCRIPT] + ld a, [wRockTunnel1CurScript] call ExecuteCurMapScriptInTable - ld [W_ROCKTUNNEL1CURSCRIPT], a + ld [wRockTunnel1CurScript], a ret -RockTunnel1ScriptPointers: ; 444ef (11:44ef) +RockTunnel1ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle -RockTunnel1TextPointers: ; 444f5 (11:44f5) +RockTunnel1TextPointers: dw RockTunnel1Text1 dw RockTunnel1Text2 dw RockTunnel1Text3 @@ -22,193 +22,192 @@ RockTunnel1TextPointers: ; 444f5 (11:44f5) dw RockTunnel1Text7 dw RockTunnel1Text8 -RockTunnel1TrainerHeaders: ; 44505 (11:4505) -RockTunnel1TrainerHeader1: ; 44505 (11:4505) - db $1 ; flag's bit +RockTunnel1TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_0 db ($4 << 4) ; trainer's view range - dw wd7d2 ; flag's byte - dw RockTunnel1BattleText1 ; 0x4588 TextBeforeBattle - dw RockTunnel1AfterBattleText1 ; 0x4592 TextAfterBattle - dw RockTunnel1EndBattleText1 ; 0x458d TextEndBattle - dw RockTunnel1EndBattleText1 ; 0x458d TextEndBattle - -RockTunnel1TrainerHeader2: ; 44511 (11:4511) - db $2 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_0 + dw RockTunnel1BattleText1 ; TextBeforeBattle + dw RockTunnel1AfterBattleText1 ; TextAfterBattle + dw RockTunnel1EndBattleText1 ; TextEndBattle + dw RockTunnel1EndBattleText1 ; TextEndBattle + +RockTunnel1TrainerHeader1: + dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_1 db ($4 << 4) ; trainer's view range - dw wd7d2 ; flag's byte - dw RockTunnel1BattleText2 ; 0x4597 TextBeforeBattle - dw RockTunnel1AfterBattleText2 ; 0x45a1 TextAfterBattle - dw RockTunnel1EndBattleText2 ; 0x459c TextEndBattle - dw RockTunnel1EndBattleText2 ; 0x459c TextEndBattle - -RockTunnel1TrainerHeader3: ; 4451d (11:451d) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_1 + dw RockTunnel1BattleText2 ; TextBeforeBattle + dw RockTunnel1AfterBattleText2 ; TextAfterBattle + dw RockTunnel1EndBattleText2 ; TextEndBattle + dw RockTunnel1EndBattleText2 ; TextEndBattle + +RockTunnel1TrainerHeader2: + dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_2 db ($3 << 4) ; trainer's view range - dw wd7d2 ; flag's byte - dw RockTunnel1BattleText3 ; 0x45a6 TextBeforeBattle - dw RockTunnel1AfterBattleText3 ; 0x45b0 TextAfterBattle - dw RockTunnel1EndBattleText3 ; 0x45ab TextEndBattle - dw RockTunnel1EndBattleText3 ; 0x45ab TextEndBattle - -RockTunnel1TrainerHeader4: ; 44529 (11:4529) - db $4 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_2 + dw RockTunnel1BattleText3 ; TextBeforeBattle + dw RockTunnel1AfterBattleText3 ; TextAfterBattle + dw RockTunnel1EndBattleText3 ; TextEndBattle + dw RockTunnel1EndBattleText3 ; TextEndBattle + +RockTunnel1TrainerHeader3: + dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_3 db ($3 << 4) ; trainer's view range - dw wd7d2 ; flag's byte - dw RockTunnel1BattleText4 ; 0x45b5 TextBeforeBattle - dw RockTunnel1AfterBattleText4 ; 0x45bf TextAfterBattle - dw RockTunnel1EndBattleText4 ; 0x45ba TextEndBattle - dw RockTunnel1EndBattleText4 ; 0x45ba TextEndBattle - -RockTunnel1TrainerHeader5: ; 44535 (11:4535) - db $5 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_3 + dw RockTunnel1BattleText4 ; TextBeforeBattle + dw RockTunnel1AfterBattleText4 ; TextAfterBattle + dw RockTunnel1EndBattleText4 ; TextEndBattle + dw RockTunnel1EndBattleText4 ; TextEndBattle + +RockTunnel1TrainerHeader4: + dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_4 db ($4 << 4) ; trainer's view range - dw wd7d2 ; flag's byte - dw RockTunnel1BattleText5 ; 0x45c4 TextBeforeBattle - dw RockTunnel1AfterBattleText5 ; 0x45ce TextAfterBattle - dw RockTunnel1EndBattleText5 ; 0x45c9 TextEndBattle - dw RockTunnel1EndBattleText5 ; 0x45c9 TextEndBattle - -RockTunnel1TrainerHeader6: ; 44541 (11:4541) - db $6 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_4 + dw RockTunnel1BattleText5 ; TextBeforeBattle + dw RockTunnel1AfterBattleText5 ; TextAfterBattle + dw RockTunnel1EndBattleText5 ; TextEndBattle + dw RockTunnel1EndBattleText5 ; TextEndBattle + +RockTunnel1TrainerHeader5: + dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_5 db ($4 << 4) ; trainer's view range - dw wd7d2 ; flag's byte - dw RockTunnel1BattleText6 ; 0x45d3 TextBeforeBattle - dw RockTunnel1AfterBattleText6 ; 0x45dd TextAfterBattle - dw RockTunnel1EndBattleText6 ; 0x45d8 TextEndBattle - dw RockTunnel1EndBattleText6 ; 0x45d8 TextEndBattle - -RockTunnel1TrainerHeader7: ; 4454d (11:454d) - db $7 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_5 + dw RockTunnel1BattleText6 ; TextBeforeBattle + dw RockTunnel1AfterBattleText6 ; TextAfterBattle + dw RockTunnel1EndBattleText6 ; TextEndBattle + dw RockTunnel1EndBattleText6 ; TextEndBattle + +RockTunnel1TrainerHeader6: + dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_6 db ($4 << 4) ; trainer's view range - dw wd7d2 ; flag's byte - dw RockTunnel1BattleText7 ; 0x45e2 TextBeforeBattle - dw RockTunnel1AfterBattleText7 ; 0x45ec TextAfterBattle - dw RockTunnel1EndBattleText7 ; 0x45e7 TextEndBattle - dw RockTunnel1EndBattleText7 ; 0x45e7 TextEndBattle + dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_6 + dw RockTunnel1BattleText7 ; TextBeforeBattle + dw RockTunnel1AfterBattleText7 ; TextAfterBattle + dw RockTunnel1EndBattleText7 ; TextEndBattle + dw RockTunnel1EndBattleText7 ; TextEndBattle db $ff -RockTunnel1Text1: ; 4455a (11:455a) - db $8 - ld hl, RockTunnel1TrainerHeader1 ; $4505 - jr asm_0c916 ; 0x4455e $22 - -RockTunnel1Text2: ; 44560 (11:4560) - db $8 - ld hl, RockTunnel1TrainerHeader2 ; $4511 - jr asm_0c916 ; 0x44564 $1c - -RockTunnel1Text3: ; 44566 (11:4566) - db $8 - ld hl, RockTunnel1TrainerHeader3 ; $451d - jr asm_0c916 ; 0x4456a $16 - -RockTunnel1Text4: ; 4456c (11:456c) - db $8 - ld hl, RockTunnel1TrainerHeader4 ; $4529 - jr asm_0c916 ; 0x44570 $10 - -RockTunnel1Text5: ; 44572 (11:4572) - db $8 - ld hl, RockTunnel1TrainerHeader5 ; $4535 - jr asm_0c916 ; 0x44576 $a - -RockTunnel1Text6: ; 44578 (11:4578) - db $8 - ld hl, RockTunnel1TrainerHeader6 ; $4541 - jr asm_0c916 ; 0x4457c $4 - -RockTunnel1Text7: ; 4457e (11:457e) - db $8 - ld hl, RockTunnel1TrainerHeader7 ; $454d -asm_0c916: ; 44582 (11:4582) +RockTunnel1Text1: + TX_ASM + ld hl, RockTunnel1TrainerHeader0 + jr RockTunnel1TalkToTrainer + +RockTunnel1Text2: + TX_ASM + ld hl, RockTunnel1TrainerHeader1 + jr RockTunnel1TalkToTrainer + +RockTunnel1Text3: + TX_ASM + ld hl, RockTunnel1TrainerHeader2 + jr RockTunnel1TalkToTrainer + +RockTunnel1Text4: + TX_ASM + ld hl, RockTunnel1TrainerHeader3 + jr RockTunnel1TalkToTrainer + +RockTunnel1Text5: + TX_ASM + ld hl, RockTunnel1TrainerHeader4 + jr RockTunnel1TalkToTrainer + +RockTunnel1Text6: + TX_ASM + ld hl, RockTunnel1TrainerHeader5 + jr RockTunnel1TalkToTrainer + +RockTunnel1Text7: + TX_ASM + ld hl, RockTunnel1TrainerHeader6 +RockTunnel1TalkToTrainer: call TalkToTrainer jp TextScriptEnd -RockTunnel1BattleText1: ; 44588 (11:4588) +RockTunnel1BattleText1: TX_FAR _RockTunnel1BattleText1 db "@" -RockTunnel1EndBattleText1: ; 4458d (11:458d) +RockTunnel1EndBattleText1: TX_FAR _RockTunnel1EndBattleText1 db "@" -RockTunnel1AfterBattleText1: ; 44592 (11:4592) +RockTunnel1AfterBattleText1: TX_FAR _RockTunnel1AfterBattleText1 db "@" -RockTunnel1BattleText2: ; 44597 (11:4597) +RockTunnel1BattleText2: TX_FAR _RockTunnel1BattleText2 db "@" -RockTunnel1EndBattleText2: ; 4459c (11:459c) +RockTunnel1EndBattleText2: TX_FAR _RockTunnel1EndBattleText2 db "@" -RockTunnel1AfterBattleText2: ; 445a1 (11:45a1) +RockTunnel1AfterBattleText2: TX_FAR _RockTunnel1AfterBattleText2 db "@" -RockTunnel1BattleText3: ; 445a6 (11:45a6) +RockTunnel1BattleText3: TX_FAR _RockTunnel1BattleText3 db "@" -RockTunnel1EndBattleText3: ; 445ab (11:45ab) +RockTunnel1EndBattleText3: TX_FAR _RockTunnel1EndBattleText3 db "@" -RockTunnel1AfterBattleText3: ; 445b0 (11:45b0) +RockTunnel1AfterBattleText3: TX_FAR _RockTunnel1AfterBattleText3 db "@" -RockTunnel1BattleText4: ; 445b5 (11:45b5) +RockTunnel1BattleText4: TX_FAR _RockTunnel1BattleText4 db "@" -RockTunnel1EndBattleText4: ; 445ba (11:45ba) +RockTunnel1EndBattleText4: TX_FAR _RockTunnel1EndBattleText4 db "@" -RockTunnel1AfterBattleText4: ; 445bf (11:45bf) +RockTunnel1AfterBattleText4: TX_FAR _RockTunnel1AfterBattleText4 db "@" -RockTunnel1BattleText5: ; 445c4 (11:45c4) +RockTunnel1BattleText5: TX_FAR _RockTunnel1BattleText5 db "@" -RockTunnel1EndBattleText5: ; 445c9 (11:45c9) +RockTunnel1EndBattleText5: TX_FAR _RockTunnel1EndBattleText5 db "@" -RockTunnel1AfterBattleText5: ; 445ce (11:45ce) +RockTunnel1AfterBattleText5: TX_FAR _RockTunnel1AfterBattleText5 db "@" -RockTunnel1BattleText6: ; 445d3 (11:45d3) +RockTunnel1BattleText6: TX_FAR _RockTunnel1BattleText6 db "@" -RockTunnel1EndBattleText6: ; 445d8 (11:45d8) +RockTunnel1EndBattleText6: TX_FAR _RockTunnel1EndBattleText6 db "@" -RockTunnel1AfterBattleText6: ; 445dd (11:45dd) +RockTunnel1AfterBattleText6: TX_FAR _RockTunnel1AfterBattleText6 db "@" -RockTunnel1BattleText7: ; 445e2 (11:45e2) +RockTunnel1BattleText7: TX_FAR _RockTunnel1BattleText7 db "@" -RockTunnel1EndBattleText7: ; 445e7 (11:45e7) +RockTunnel1EndBattleText7: TX_FAR _RockTunnel1EndBattleText7 db "@" -RockTunnel1AfterBattleText7: ; 445ec (11:45ec) +RockTunnel1AfterBattleText7: TX_FAR _RockTunnel1AfterBattleText7 db "@" -RockTunnel1Text8: ; 445f1 (11:45f1) +RockTunnel1Text8: TX_FAR _RockTunnel1Text8 db "@" diff --git a/scripts/rocktunnel2.asm b/scripts/rocktunnel2.asm index 98b804a7..4385b5f7 100755 --- a/scripts/rocktunnel2.asm +++ b/scripts/rocktunnel2.asm @@ -1,18 +1,18 @@ -RockTunnel2Script: ; 45feb (11:5feb) +RockTunnel2Script: call EnableAutoTextBoxDrawing - ld hl, RockTunnel2TrainerHeaders + ld hl, RockTunnel2TrainerHeader0 ld de, RockTunnel2ScriptPointers - ld a, [W_ROCKTUNNEL2CURSCRIPT] + ld a, [wRockTunnel2CurScript] call ExecuteCurMapScriptInTable - ld [W_ROCKTUNNEL2CURSCRIPT], a + ld [wRockTunnel2CurScript], a ret -RockTunnel2ScriptPointers: ; 45ffe (11:5ffe) +RockTunnel2ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle -RockTunnel2TextPointers: ; 46004 (11:6004) +RockTunnel2TextPointers: dw RockTunnel2Text1 dw RockTunnel2Text2 dw RockTunnel2Text3 @@ -22,221 +22,220 @@ RockTunnel2TextPointers: ; 46004 (11:6004) dw RockTunnel2Text7 dw RockTunnel2Text8 -RockTunnel2TrainerHeaders: ; 46014 (11:6014) -RockTunnel2TrainerHeader0: ; 46014 (11:6014) - db $1 ; flag's bit +RockTunnel2TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_0 db ($4 << 4) ; trainer's view range - dw wd87d ; flag's byte - dw RockTunnel2BattleText2 ; 0x60c5 TextBeforeBattle - dw RockTunnel2AfterBattleText2 ; 0x60cf TextAfterBattle - dw RockTunnel2EndBattleText2 ; 0x60ca TextEndBattle - dw RockTunnel2EndBattleText2 ; 0x60ca TextEndBattle - -RockTunnel2TrainerHeader2: ; 46020 (11:6020) - db $2 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_0 + dw RockTunnel2BattleText2 ; TextBeforeBattle + dw RockTunnel2AfterBattleText2 ; TextAfterBattle + dw RockTunnel2EndBattleText2 ; TextEndBattle + dw RockTunnel2EndBattleText2 ; TextEndBattle + +RockTunnel2TrainerHeader1: + dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_1 db ($3 << 4) ; trainer's view range - dw wd87d ; flag's byte - dw RockTunnel2BattleText3 ; 0x60d4 TextBeforeBattle - dw RockTunnel2AfterBattleText3 ; 0x60de TextAfterBattle - dw RockTunnel2EndBattleText3 ; 0x60d9 TextEndBattle - dw RockTunnel2EndBattleText3 ; 0x60d9 TextEndBattle - -RockTunnel2TrainerHeader3: ; 4602c (11:602c) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_1 + dw RockTunnel2BattleText3 ; TextBeforeBattle + dw RockTunnel2AfterBattleText3 ; TextAfterBattle + dw RockTunnel2EndBattleText3 ; TextEndBattle + dw RockTunnel2EndBattleText3 ; TextEndBattle + +RockTunnel2TrainerHeader2: + dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_2 db ($3 << 4) ; trainer's view range - dw wd87d ; flag's byte - dw RockTunnel2BattleText4 ; 0x60e3 TextBeforeBattle - dw RockTunnel2AfterBattleText4 ; 0x60ed TextAfterBattle - dw RockTunnel2EndBattleText4 ; 0x60e8 TextEndBattle - dw RockTunnel2EndBattleText4 ; 0x60e8 TextEndBattle - -RockTunnel2TrainerHeader4: ; 46038 (11:6038) - db $4 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_2 + dw RockTunnel2BattleText4 ; TextBeforeBattle + dw RockTunnel2AfterBattleText4 ; TextAfterBattle + dw RockTunnel2EndBattleText4 ; TextEndBattle + dw RockTunnel2EndBattleText4 ; TextEndBattle + +RockTunnel2TrainerHeader3: + dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_3 db ($4 << 4) ; trainer's view range - dw wd87d ; flag's byte - dw RockTunnel2BattleText5 ; 0x60f2 TextBeforeBattle - dw RockTunnel2AfterBattleText5 ; 0x60fc TextAfterBattle - dw RockTunnel2EndBattleText5 ; 0x60f7 TextEndBattle - dw RockTunnel2EndBattleText5 ; 0x60f7 TextEndBattle - -RockTunnel2TrainerHeader5: ; 46044 (11:6044) - db $5 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_3 + dw RockTunnel2BattleText5 ; TextBeforeBattle + dw RockTunnel2AfterBattleText5 ; TextAfterBattle + dw RockTunnel2EndBattleText5 ; TextEndBattle + dw RockTunnel2EndBattleText5 ; TextEndBattle + +RockTunnel2TrainerHeader4: + dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_4 db ($3 << 4) ; trainer's view range - dw wd87d ; flag's byte - dw RockTunnel2BattleText6 ; 0x6101 TextBeforeBattle - dw RockTunnel2AfterBattleText6 ; 0x610b TextAfterBattle - dw RockTunnel2EndBattleText6 ; 0x6106 TextEndBattle - dw RockTunnel2EndBattleText6 ; 0x6106 TextEndBattle - -RockTunnel2TrainerHeader6: ; 46050 (11:6050) - db $6 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_4 + dw RockTunnel2BattleText6 ; TextBeforeBattle + dw RockTunnel2AfterBattleText6 ; TextAfterBattle + dw RockTunnel2EndBattleText6 ; TextEndBattle + dw RockTunnel2EndBattleText6 ; TextEndBattle + +RockTunnel2TrainerHeader5: + dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_5 db ($4 << 4) ; trainer's view range - dw wd87d ; flag's byte - dw RockTunnel2BattleText7 ; 0x6110 TextBeforeBattle - dw RockTunnel2AfterBattleText7 ; 0x611a TextAfterBattle - dw RockTunnel2EndBattleText7 ; 0x6115 TextEndBattle - dw RockTunnel2EndBattleText7 ; 0x6115 TextEndBattle - -RockTunnel2TrainerHeader7: ; 4605c (11:605c) - db $7 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_5 + dw RockTunnel2BattleText7 ; TextBeforeBattle + dw RockTunnel2AfterBattleText7 ; TextAfterBattle + dw RockTunnel2EndBattleText7 ; TextEndBattle + dw RockTunnel2EndBattleText7 ; TextEndBattle + +RockTunnel2TrainerHeader6: + dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_6 db ($3 << 4) ; trainer's view range - dw wd87d ; flag's byte - dw RockTunnel2BattleText8 ; 0x611f TextBeforeBattle - dw RockTunnel2AfterBattleText8 ; 0x6129 TextAfterBattle - dw RockTunnel2EndBattleText8 ; 0x6124 TextEndBattle - dw RockTunnel2EndBattleText8 ; 0x6124 TextEndBattle - -RockTunnel2TrainerHeader8: ; 46068 (11:6068) - db $8 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_6 + dw RockTunnel2BattleText8 ; TextBeforeBattle + dw RockTunnel2AfterBattleText8 ; TextAfterBattle + dw RockTunnel2EndBattleText8 ; TextEndBattle + dw RockTunnel2EndBattleText8 ; TextEndBattle + +RockTunnel2TrainerHeader7: + dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_7, 1 db ($3 << 4) ; trainer's view range - dw wd87d ; flag's byte - dw RockTunnel2BattleText9 ; 0x612e TextBeforeBattle - dw RockTunnel2AfterBattleText9 ; 0x6138 TextAfterBattle - dw RockTunnel2EndBattleText9 ; 0x6133 TextEndBattle - dw RockTunnel2EndBattleText9 ; 0x6133 TextEndBattle + dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_7, 1 + dw RockTunnel2BattleText9 ; TextBeforeBattle + dw RockTunnel2AfterBattleText9 ; TextAfterBattle + dw RockTunnel2EndBattleText9 ; TextEndBattle + dw RockTunnel2EndBattleText9 ; TextEndBattle db $ff -RockTunnel2Text1: ; 46075 (11:6075) - db $08 ; asm +RockTunnel2Text1: + TX_ASM ld hl, RockTunnel2TrainerHeader0 call TalkToTrainer jp TextScriptEnd -RockTunnel2Text2: ; 4607f (11:607f) - db $08 ; asm +RockTunnel2Text2: + TX_ASM + ld hl, RockTunnel2TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +RockTunnel2Text3: + TX_ASM ld hl, RockTunnel2TrainerHeader2 call TalkToTrainer jp TextScriptEnd -RockTunnel2Text3: ; 46089 (11:6089) - db $08 ; asm +RockTunnel2Text4: + TX_ASM ld hl, RockTunnel2TrainerHeader3 call TalkToTrainer jp TextScriptEnd -RockTunnel2Text4: ; 46093 (11:6093) - db $08 ; asm +RockTunnel2Text5: + TX_ASM ld hl, RockTunnel2TrainerHeader4 call TalkToTrainer jp TextScriptEnd -RockTunnel2Text5: ; 4609d (11:609d) - db $08 ; asm +RockTunnel2Text6: + TX_ASM ld hl, RockTunnel2TrainerHeader5 call TalkToTrainer jp TextScriptEnd -RockTunnel2Text6: ; 460a7 (11:60a7) - db $08 ; asm +RockTunnel2Text7: + TX_ASM ld hl, RockTunnel2TrainerHeader6 call TalkToTrainer jp TextScriptEnd -RockTunnel2Text7: ; 460b1 (11:60b1) - db $08 ; asm +RockTunnel2Text8: + TX_ASM ld hl, RockTunnel2TrainerHeader7 call TalkToTrainer jp TextScriptEnd -RockTunnel2Text8: ; 460bb (11:60bb) - db $08 ; asm - ld hl, RockTunnel2TrainerHeader8 - call TalkToTrainer - jp TextScriptEnd - -RockTunnel2BattleText2: ; 460c5 (11:60c5) +RockTunnel2BattleText2: TX_FAR _RockTunnel2BattleText2 db "@" -RockTunnel2EndBattleText2: ; 460ca (11:60ca) +RockTunnel2EndBattleText2: TX_FAR _RockTunnel2EndBattleText2 db "@" -RockTunnel2AfterBattleText2: ; 460cf (11:60cf) +RockTunnel2AfterBattleText2: TX_FAR _RockTunnel2AfterBattleText2 db "@" -RockTunnel2BattleText3: ; 460d4 (11:60d4) +RockTunnel2BattleText3: TX_FAR _RockTunnel2BattleText3 db "@" -RockTunnel2EndBattleText3: ; 460d9 (11:60d9) +RockTunnel2EndBattleText3: TX_FAR _RockTunnel2EndBattleText3 db "@" -RockTunnel2AfterBattleText3: ; 460de (11:60de) +RockTunnel2AfterBattleText3: TX_FAR _RockTunnel2AfterBattleText3 db "@" -RockTunnel2BattleText4: ; 460e3 (11:60e3) +RockTunnel2BattleText4: TX_FAR _RockTunnel2BattleText4 db "@" -RockTunnel2EndBattleText4: ; 460e8 (11:60e8) +RockTunnel2EndBattleText4: TX_FAR _RockTunnel2EndBattleText4 db "@" -RockTunnel2AfterBattleText4: ; 460ed (11:60ed) +RockTunnel2AfterBattleText4: TX_FAR _RockTunnel2AfterBattleText4 db "@" -RockTunnel2BattleText5: ; 460f2 (11:60f2) +RockTunnel2BattleText5: TX_FAR _RockTunnel2BattleText5 db "@" -RockTunnel2EndBattleText5: ; 460f7 (11:60f7) +RockTunnel2EndBattleText5: TX_FAR _RockTunnel2EndBattleText5 db "@" -RockTunnel2AfterBattleText5: ; 460fc (11:60fc) +RockTunnel2AfterBattleText5: TX_FAR _RockTunnel2AfterBattleText5 db "@" -RockTunnel2BattleText6: ; 46101 (11:6101) +RockTunnel2BattleText6: TX_FAR _RockTunnel2BattleText6 db "@" -RockTunnel2EndBattleText6: ; 46106 (11:6106) +RockTunnel2EndBattleText6: TX_FAR _RockTunnel2EndBattleText6 db "@" -RockTunnel2AfterBattleText6: ; 4610b (11:610b) +RockTunnel2AfterBattleText6: TX_FAR _RockTunnel2AfterBattleText6 db "@" -RockTunnel2BattleText7: ; 46110 (11:6110) +RockTunnel2BattleText7: TX_FAR _RockTunnel2BattleText7 db "@" -RockTunnel2EndBattleText7: ; 46115 (11:6115) +RockTunnel2EndBattleText7: TX_FAR _RockTunnel2EndBattleText7 db "@" -RockTunnel2AfterBattleText7: ; 4611a (11:611a) +RockTunnel2AfterBattleText7: TX_FAR _RockTunnel2AfterBattleText7 db "@" -RockTunnel2BattleText8: ; 4611f (11:611f) +RockTunnel2BattleText8: TX_FAR _RockTunnel2BattleText8 db "@" -RockTunnel2EndBattleText8: ; 46124 (11:6124) +RockTunnel2EndBattleText8: TX_FAR _RockTunnel2EndBattleText8 db "@" -RockTunnel2AfterBattleText8: ; 46129 (11:6129) +RockTunnel2AfterBattleText8: TX_FAR _RockTunnel2AfterBattleText8 db "@" -RockTunnel2BattleText9: ; 4612e (11:612e) +RockTunnel2BattleText9: TX_FAR _RockTunnel2BattleText9 db "@" -RockTunnel2EndBattleText9: ; 46133 (11:6133) +RockTunnel2EndBattleText9: TX_FAR _RockTunnel2EndBattleText9 db "@" -RockTunnel2AfterBattleText9: ; 46138 (11:6138) +RockTunnel2AfterBattleText9: TX_FAR _RockTunnel2AfterBattleText9 db "@" diff --git a/scripts/rocktunnelpokecenter.asm b/scripts/rocktunnelpokecenter.asm index 5e822bca..7bcdc1ae 100755 --- a/scripts/rocktunnelpokecenter.asm +++ b/scripts/rocktunnelpokecenter.asm @@ -1,23 +1,23 @@ -RockTunnelPokecenterScript: ; 493ba (12:53ba) +RockTunnelPokecenterScript: call Serial_TryEstablishingExternallyClockedConnection jp EnableAutoTextBoxDrawing -RockTunnelPokecenterTextPointers: ; 493c0 (12:53c0) - dw RockTunnelPokecenterText1 +RockTunnelPokecenterTextPointers: + dw RockTunnelHealNurseText dw RockTunnelPokecenterText2 dw RockTunnelPokecenterText3 - dw RockTunnelPokecenterText4 + dw RockTunnelTradeNurseText -RockTunnelPokecenterText1: ; 493c8 (12:53c8) +RockTunnelHealNurseText: db $ff -RockTunnelPokecenterText2: ; 493c9 (12:53c9) - TX_FAR _RockTunnelPokecenterText1 +RockTunnelPokecenterText2: + TX_FAR _RockTunnelPokecenterText2 db "@" -RockTunnelPokecenterText3: ; 493ce (12:53ce) +RockTunnelPokecenterText3: TX_FAR _RockTunnelPokecenterText3 db "@" -RockTunnelPokecenterText4: ; 493d3 (12:53d3) +RockTunnelTradeNurseText: db $f6 diff --git a/scripts/route1.asm b/scripts/route1.asm index 189b987b..7f988fab 100755 --- a/scripts/route1.asm +++ b/scripts/route1.asm @@ -1,53 +1,52 @@ -Route1Script: ; 1caaf (7:4aaf) +Route1Script: jp EnableAutoTextBoxDrawing -Route1TextPointers: ; 1cab2 (7:4ab2) +Route1TextPointers: dw Route1Text1 dw Route1Text2 dw Route1Text3 -Route1Text1: ; 1cab8 (7:4ab8) - db $08 ; asm - ld hl, wd7bf - bit 0, [hl] - set 0, [hl] - jr nz, .asm_02840 ; 0x1cac0 +Route1Text1: + TX_ASM + CheckAndSetEvent EVENT_GOT_POTION_SAMPLE + jr nz, .asm_1cada ld hl, Route1ViridianMartSampleText call PrintText - ld bc, (POTION << 8) | 1 + lb bc, POTION, 1 call GiveItem jr nc, .BagFull - ld hl, Route1Text_1cae8 ; $4ae8 - jr .asm_46d43 ; 0x1cad3 + ld hl, Route1Text_1cae8 + jr .asm_1cadd .BagFull - ld hl, Route1Text_1caf3 ; $4af3 - jr .asm_46d43 ; 0x1cad8 -.asm_02840 ; 0x1cada - ld hl, Route1Text_1caee ; $4aee -.asm_46d43 ; 0x1cadd + ld hl, Route1Text_1caf3 + jr .asm_1cadd +.asm_1cada + ld hl, Route1Text_1caee +.asm_1cadd call PrintText jp TextScriptEnd -Route1ViridianMartSampleText: ; 1cae3 (7:4ae3) +Route1ViridianMartSampleText: TX_FAR _Route1ViridianMartSampleText db "@" -Route1Text_1cae8: ; 1cae8 (7:4ae8) +Route1Text_1cae8: TX_FAR _Route1Text_1cae8 - db $0b,"@" + TX_SFX_ITEM_1 + db "@" -Route1Text_1caee: ; 1caee (7:4aee) +Route1Text_1caee: TX_FAR _Route1Text_1caee db "@" -Route1Text_1caf3: ; 1caf3 (7:4af3) +Route1Text_1caf3: TX_FAR _Route1Text_1caf3 db "@" -Route1Text2: ; 1caf8 (7:4af8) +Route1Text2: TX_FAR _Route1Text2 db "@" -Route1Text3: ; 1cafd (7:4afd) +Route1Text3: TX_FAR _Route1Text3 db "@" diff --git a/scripts/route10.asm b/scripts/route10.asm index c587b1df..03a1e818 100755 --- a/scripts/route10.asm +++ b/scripts/route10.asm @@ -1,18 +1,18 @@ -Route10Script: ; 59336 (16:5336) +Route10Script: call EnableAutoTextBoxDrawing - ld hl, Route10TrainerHeaders + ld hl, Route10TrainerHeader0 ld de, Route10ScriptPointers - ld a, [W_ROUTE10CURSCRIPT] + ld a, [wRoute10CurScript] call ExecuteCurMapScriptInTable - ld [W_ROUTE10CURSCRIPT], a + ld [wRoute10CurScript], a ret -Route10ScriptPointers: ; 59349 (16:5349) +Route10ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle -Route10TextPointers: ; 5934f (16:534f) +Route10TextPointers: dw Route10Text1 dw Route10Text2 dw Route10Text3 @@ -24,176 +24,175 @@ Route10TextPointers: ; 5934f (16:534f) dw Route10Text9 dw Route10Text10 -Route10TrainerHeaders: ; 59363 (16:5363) -Route10TrainerHeader0: ; 59363 (16:5363) - db $1 ; flag's bit +Route10TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROUTE_10_TRAINER_0 db ($4 << 4) ; trainer's view range - dw wd7d1 ; flag's byte - dw Route10BattleText1 ; 0x53b6 TextBeforeBattle - dw Route10AfterBattleText1 ; 0x53c0 TextAfterBattle - dw Route10EndBattleText1 ; 0x53bb TextEndBattle - dw Route10EndBattleText1 ; 0x53bb TextEndBattle - -Route10TrainerHeader1: ; 5936f (16:536f) - db $2 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_10_TRAINER_0 + dw Route10BattleText1 ; TextBeforeBattle + dw Route10AfterBattleText1 ; TextAfterBattle + dw Route10EndBattleText1 ; TextEndBattle + dw Route10EndBattleText1 ; TextEndBattle + +Route10TrainerHeader1: + dbEventFlagBit EVENT_BEAT_ROUTE_10_TRAINER_1 db ($3 << 4) ; trainer's view range - dw wd7d1 ; flag's byte - dw Route10BattleText2 ; 0x53cf TextBeforeBattle - dw Route10AfterBattleText2 ; 0x53d9 TextAfterBattle - dw Route10EndBattleText2 ; 0x53d4 TextEndBattle - dw Route10EndBattleText2 ; 0x53d4 TextEndBattle - -Route10TrainerHeader2: ; 5937b (16:537b) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_10_TRAINER_1 + dw Route10BattleText2 ; TextBeforeBattle + dw Route10AfterBattleText2 ; TextAfterBattle + dw Route10EndBattleText2 ; TextEndBattle + dw Route10EndBattleText2 ; TextEndBattle + +Route10TrainerHeader2: + dbEventFlagBit EVENT_BEAT_ROUTE_10_TRAINER_2 db ($4 << 4) ; trainer's view range - dw wd7d1 ; flag's byte - dw Route10BattleText3 ; 0x53e8 TextBeforeBattle - dw Route10AfterBattleText3 ; 0x53f2 TextAfterBattle - dw Route10EndBattleText3 ; 0x53ed TextEndBattle - dw Route10EndBattleText3 ; 0x53ed TextEndBattle - -Route10TrainerHeader3: ; 59387 (16:5387) - db $4 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_10_TRAINER_2 + dw Route10BattleText3 ; TextBeforeBattle + dw Route10AfterBattleText3 ; TextAfterBattle + dw Route10EndBattleText3 ; TextEndBattle + dw Route10EndBattleText3 ; TextEndBattle + +Route10TrainerHeader3: + dbEventFlagBit EVENT_BEAT_ROUTE_10_TRAINER_3 db ($3 << 4) ; trainer's view range - dw wd7d1 ; flag's byte - dw Route10BattleText4 ; 0x5401 TextBeforeBattle - dw Route10AfterBattleText4 ; 0x540b TextAfterBattle - dw Route10EndBattleText4 ; 0x5406 TextEndBattle - dw Route10EndBattleText4 ; 0x5406 TextEndBattle - -Route10TrainerHeader4: ; 59393 (16:5393) - db $5 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_10_TRAINER_3 + dw Route10BattleText4 ; TextBeforeBattle + dw Route10AfterBattleText4 ; TextAfterBattle + dw Route10EndBattleText4 ; TextEndBattle + dw Route10EndBattleText4 ; TextEndBattle + +Route10TrainerHeader4: + dbEventFlagBit EVENT_BEAT_ROUTE_10_TRAINER_4 db ($2 << 4) ; trainer's view range - dw wd7d1 ; flag's byte - dw Route10BattleText5 ; 0x541a TextBeforeBattle - dw Route10AfterBattleText5 ; 0x5424 TextAfterBattle - dw Route10EndBattleText5 ; 0x541f TextEndBattle - dw Route10EndBattleText5 ; 0x541f TextEndBattle - -Route10TrainerHeader5: ; 5939f (16:539f) - db $6 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_10_TRAINER_4 + dw Route10BattleText5 ; TextBeforeBattle + dw Route10AfterBattleText5 ; TextAfterBattle + dw Route10EndBattleText5 ; TextEndBattle + dw Route10EndBattleText5 ; TextEndBattle + +Route10TrainerHeader5: + dbEventFlagBit EVENT_BEAT_ROUTE_10_TRAINER_5 db ($2 << 4) ; trainer's view range - dw wd7d1 ; flag's byte - dw Route10BattleText6 ; 0x5433 TextBeforeBattle - dw Route10AfterBattleText6 ; 0x543d TextAfterBattle - dw Route10EndBattleText6 ; 0x5438 TextEndBattle - dw Route10EndBattleText6 ; 0x5438 TextEndBattle + dwEventFlagAddress EVENT_BEAT_ROUTE_10_TRAINER_5 + dw Route10BattleText6 ; TextBeforeBattle + dw Route10AfterBattleText6 ; TextAfterBattle + dw Route10EndBattleText6 ; TextEndBattle + dw Route10EndBattleText6 ; TextEndBattle db $ff -Route10Text1: ; 593ac (16:53ac) - db $08 ; asm +Route10Text1: + TX_ASM ld hl, Route10TrainerHeader0 call TalkToTrainer jp TextScriptEnd -Route10BattleText1: ; 593b6 (16:53b6) +Route10BattleText1: TX_FAR _Route10BattleText1 db "@" -Route10EndBattleText1: ; 593bb (16:53bb) +Route10EndBattleText1: TX_FAR _Route10EndBattleText1 db "@" -Route10AfterBattleText1: ; 593c0 (16:53c0) +Route10AfterBattleText1: TX_FAR _Route10AfterBattleText1 db "@" -Route10Text2: ; 593c5 (16:53c5) - db $08 ; asm +Route10Text2: + TX_ASM ld hl, Route10TrainerHeader1 call TalkToTrainer jp TextScriptEnd -Route10BattleText2: ; 593cf (16:53cf) +Route10BattleText2: TX_FAR _Route10BattleText2 db "@" -Route10EndBattleText2: ; 593d4 (16:53d4) +Route10EndBattleText2: TX_FAR _Route10EndBattleText2 db "@" -Route10AfterBattleText2: ; 593d9 (16:53d9) +Route10AfterBattleText2: TX_FAR _Route10AfterBattleText2 db "@" -Route10Text3: ; 593de (16:53de) - db $08 ; asm +Route10Text3: + TX_ASM ld hl, Route10TrainerHeader2 call TalkToTrainer jp TextScriptEnd -Route10BattleText3: ; 593e8 (16:53e8) +Route10BattleText3: TX_FAR _Route10BattleText3 db "@" -Route10EndBattleText3: ; 593ed (16:53ed) +Route10EndBattleText3: TX_FAR _Route10EndBattleText3 db "@" -Route10AfterBattleText3: ; 593f2 (16:53f2) +Route10AfterBattleText3: TX_FAR _Route10AfterBattleText3 db "@" -Route10Text4: ; 593f7 (16:53f7) - db $08 ; asm +Route10Text4: + TX_ASM ld hl, Route10TrainerHeader3 call TalkToTrainer jp TextScriptEnd -Route10BattleText4: ; 59401 (16:5401) +Route10BattleText4: TX_FAR _Route10BattleText4 db "@" -Route10EndBattleText4: ; 59406 (16:5406) +Route10EndBattleText4: TX_FAR _Route10EndBattleText4 db "@" -Route10AfterBattleText4: ; 5940b (16:540b) +Route10AfterBattleText4: TX_FAR _Route10AfterBattleText4 db "@" -Route10Text5: ; 59410 (16:5410) - db $08 ; asm +Route10Text5: + TX_ASM ld hl, Route10TrainerHeader4 call TalkToTrainer jp TextScriptEnd -Route10BattleText5: ; 5941a (16:541a) +Route10BattleText5: TX_FAR _Route10BattleText5 db "@" -Route10EndBattleText5: ; 5941f (16:541f) +Route10EndBattleText5: TX_FAR _Route10EndBattleText5 db "@" -Route10AfterBattleText5: ; 59424 (16:5424) +Route10AfterBattleText5: TX_FAR _Route10AfterBattleText5 db "@" -Route10Text6: ; 59429 (16:5429) - db $08 ; asm +Route10Text6: + TX_ASM ld hl, Route10TrainerHeader5 call TalkToTrainer jp TextScriptEnd -Route10BattleText6: ; 59433 (16:5433) +Route10BattleText6: TX_FAR _Route10BattleText6 db "@" -Route10EndBattleText6: ; 59438 (16:5438) +Route10EndBattleText6: TX_FAR _Route10EndBattleText6 db "@" -Route10AfterBattleText6: ; 5943d (16:543d) +Route10AfterBattleText6: TX_FAR _Route10AfterBattleText6 db "@" -Route10Text9: ; 59442 (16:5442) -Route10Text7: ; 59442 (16:5442) +Route10Text9: +Route10Text7: TX_FAR _Route10Text7 ; _Route10Text9 db "@" -Route10Text10: ; 59447 (16:5447) +Route10Text10: TX_FAR _Route10Text10 db "@" diff --git a/scripts/route11.asm b/scripts/route11.asm index 629a6efd..afedfc32 100755 --- a/scripts/route11.asm +++ b/scripts/route11.asm @@ -1,18 +1,18 @@ -Route11Script: ; 5944c (16:544c) +Route11Script: call EnableAutoTextBoxDrawing - ld hl, Route11TrainerHeaders + ld hl, Route11TrainerHeader0 ld de, Route11ScriptPointers - ld a, [W_ROUTE11CURSCRIPT] + ld a, [wRoute11CurScript] call ExecuteCurMapScriptInTable - ld [W_ROUTE11CURSCRIPT], a + ld [wRoute11CurScript], a ret -Route11ScriptPointers: ; 5945f (16:545f) +Route11ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle -Route11TextPointers: ; 59465 (16:5465) +Route11TextPointers: dw Route11Text1 dw Route11Text2 dw Route11Text3 @@ -25,279 +25,278 @@ Route11TextPointers: ; 59465 (16:5465) dw Route11Text10 dw Route11Text11 -Route11TrainerHeaders: ; 5947b (16:547b) -Route11TrainerHeader0: ; 5947b (16:547b) - db $1 ; flag's bit +Route11TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_0 db ($3 << 4) ; trainer's view range - dw wd7d5 ; flag's byte - dw Route11BattleText1 ; 0x54fe TextBeforeBattle - dw Route11AfterBattleText1 ; 0x5508 TextAfterBattle - dw Route11EndBattleText1 ; 0x5503 TextEndBattle - dw Route11EndBattleText1 ; 0x5503 TextEndBattle - -Route11TrainerHeader1: ; 59487 (16:5487) - db $2 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_0 + dw Route11BattleText1 ; TextBeforeBattle + dw Route11AfterBattleText1 ; TextAfterBattle + dw Route11EndBattleText1 ; TextEndBattle + dw Route11EndBattleText1 ; TextEndBattle + +Route11TrainerHeader1: + dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_1 db ($2 << 4) ; trainer's view range - dw wd7d5 ; flag's byte - dw Route11BattleText2 ; 0x5517 TextBeforeBattle - dw Route11AfterBattleText2 ; 0x5521 TextAfterBattle - dw Route11EndBattleText2 ; 0x551c TextEndBattle - dw Route11EndBattleText2 ; 0x551c TextEndBattle - -Route11TrainerHeader2: ; 59493 (16:5493) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_1 + dw Route11BattleText2 ; TextBeforeBattle + dw Route11AfterBattleText2 ; TextAfterBattle + dw Route11EndBattleText2 ; TextEndBattle + dw Route11EndBattleText2 ; TextEndBattle + +Route11TrainerHeader2: + dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_2 db ($3 << 4) ; trainer's view range - dw wd7d5 ; flag's byte - dw Route11BattleText3 ; 0x5530 TextBeforeBattle - dw Route11AfterBattleText3 ; 0x553a TextAfterBattle - dw Route11EndBattleText3 ; 0x5535 TextEndBattle - dw Route11EndBattleText3 ; 0x5535 TextEndBattle - -Route11TrainerHeader3: ; 5949f (16:549f) - db $4 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_2 + dw Route11BattleText3 ; TextBeforeBattle + dw Route11AfterBattleText3 ; TextAfterBattle + dw Route11EndBattleText3 ; TextEndBattle + dw Route11EndBattleText3 ; TextEndBattle + +Route11TrainerHeader3: + dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_3 db ($3 << 4) ; trainer's view range - dw wd7d5 ; flag's byte - dw Route11BattleText4 ; 0x5549 TextBeforeBattle - dw Route11AfterBattleText4 ; 0x5553 TextAfterBattle - dw Route11EndBattleText4 ; 0x554e TextEndBattle - dw Route11EndBattleText4 ; 0x554e TextEndBattle - -Route11TrainerHeader4: ; 594ab (16:54ab) - db $5 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_3 + dw Route11BattleText4 ; TextBeforeBattle + dw Route11AfterBattleText4 ; TextAfterBattle + dw Route11EndBattleText4 ; TextEndBattle + dw Route11EndBattleText4 ; TextEndBattle + +Route11TrainerHeader4: + dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_4 db ($4 << 4) ; trainer's view range - dw wd7d5 ; flag's byte - dw Route11BattleText5 ; 0x5562 TextBeforeBattle - dw Route11AfterBattleText5 ; 0x556c TextAfterBattle - dw Route11EndBattleText5 ; 0x5567 TextEndBattle - dw Route11EndBattleText5 ; 0x5567 TextEndBattle - -Route11TrainerHeader5: ; 594b7 (16:54b7) - db $6 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_4 + dw Route11BattleText5 ; TextBeforeBattle + dw Route11AfterBattleText5 ; TextAfterBattle + dw Route11EndBattleText5 ; TextEndBattle + dw Route11EndBattleText5 ; TextEndBattle + +Route11TrainerHeader5: + dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_5 db ($3 << 4) ; trainer's view range - dw wd7d5 ; flag's byte - dw Route11BattleText6 ; 0x557b TextBeforeBattle - dw Route11AfterBattleText6 ; 0x5585 TextAfterBattle - dw Route11EndBattleText6 ; 0x5580 TextEndBattle - dw Route11EndBattleText6 ; 0x5580 TextEndBattle - -Route11TrainerHeader6: ; 594c3 (16:54c3) - db $7 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_5 + dw Route11BattleText6 ; TextBeforeBattle + dw Route11AfterBattleText6 ; TextAfterBattle + dw Route11EndBattleText6 ; TextEndBattle + dw Route11EndBattleText6 ; TextEndBattle + +Route11TrainerHeader6: + dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_6 db ($3 << 4) ; trainer's view range - dw wd7d5 ; flag's byte - dw Route11BattleText7 ; 0x5594 TextBeforeBattle - dw Route11AfterBattleText7 ; 0x559e TextAfterBattle - dw Route11EndBattleText7 ; 0x5599 TextEndBattle - dw Route11EndBattleText7 ; 0x5599 TextEndBattle - -Route11TrainerHeader7: ; 594cf (16:54cf) - db $8 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_6 + dw Route11BattleText7 ; TextBeforeBattle + dw Route11AfterBattleText7 ; TextAfterBattle + dw Route11EndBattleText7 ; TextEndBattle + dw Route11EndBattleText7 ; TextEndBattle + +Route11TrainerHeader7: + dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_7, 1 db ($4 << 4) ; trainer's view range - dw wd7d5 ; flag's byte - dw Route11BattleText8 ; 0x55ad TextBeforeBattle - dw Route11AfterBattleText8 ; 0x55b7 TextAfterBattle - dw Route11EndBattleText8 ; 0x55b2 TextEndBattle - dw Route11EndBattleText8 ; 0x55b2 TextEndBattle - -Route11TrainerHeader8: ; 594db (16:54db) - db $9 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_7, 1 + dw Route11BattleText8 ; TextBeforeBattle + dw Route11AfterBattleText8 ; TextAfterBattle + dw Route11EndBattleText8 ; TextEndBattle + dw Route11EndBattleText8 ; TextEndBattle + +Route11TrainerHeader8: + dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_8, 1 db ($3 << 4) ; trainer's view range - dw wd7d5 ; flag's byte - dw Route11BattleText9 ; 0x55c6 TextBeforeBattle - dw Route11AfterBattleText9 ; 0x55d0 TextAfterBattle - dw Route11EndBattleText9 ; 0x55cb TextEndBattle - dw Route11EndBattleText9 ; 0x55cb TextEndBattle - -Route11TrainerHeader9: ; 594e7 (16:54e7) - db $a ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_8, 1 + dw Route11BattleText9 ; TextBeforeBattle + dw Route11AfterBattleText9 ; TextAfterBattle + dw Route11EndBattleText9 ; TextEndBattle + dw Route11EndBattleText9 ; TextEndBattle + +Route11TrainerHeader9: + dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_9, 1 db ($4 << 4) ; trainer's view range - dw wd7d5 ; flag's byte - dw Route11BattleText10 ; 0x55df TextBeforeBattle - dw Route11AfterBattleText10 ; 0x55e9 TextAfterBattle - dw Route11EndBattleText10 ; 0x55e4 TextEndBattle - dw Route11EndBattleText10 ; 0x55e4 TextEndBattle + dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_9, 1 + dw Route11BattleText10 ; TextBeforeBattle + dw Route11AfterBattleText10 ; TextAfterBattle + dw Route11EndBattleText10 ; TextEndBattle + dw Route11EndBattleText10 ; TextEndBattle db $ff -Route11Text1: ; 594f4 (16:54f4) - db $8 +Route11Text1: + TX_ASM ld hl, Route11TrainerHeader0 call TalkToTrainer jp TextScriptEnd -Route11BattleText1: ; 594fe (16:54fe) +Route11BattleText1: TX_FAR _Route11BattleText1 db "@" -Route11EndBattleText1: ; 59503 (16:5503) +Route11EndBattleText1: TX_FAR _Route11EndBattleText1 db "@" -Route11AfterBattleText1: ; 59508 (16:5508) +Route11AfterBattleText1: TX_FAR _Route11AfterBattleText1 db "@" -Route11Text2: ; 5950d (16:550d) - db $08 ; asm +Route11Text2: + TX_ASM ld hl, Route11TrainerHeader1 call TalkToTrainer jp TextScriptEnd -Route11BattleText2: ; 59517 (16:5517) +Route11BattleText2: TX_FAR _Route11BattleText2 db "@" -Route11EndBattleText2: ; 5951c (16:551c) +Route11EndBattleText2: TX_FAR _Route11EndBattleText2 db "@" -Route11AfterBattleText2: ; 59521 (16:5521) +Route11AfterBattleText2: TX_FAR _Route11AfterBattleText2 db "@" -Route11Text3: ; 59526 (16:5526) - db $08 ; asm +Route11Text3: + TX_ASM ld hl, Route11TrainerHeader2 call TalkToTrainer jp TextScriptEnd -Route11BattleText3: ; 59530 (16:5530) +Route11BattleText3: TX_FAR _Route11BattleText3 db "@" -Route11EndBattleText3: ; 59535 (16:5535) +Route11EndBattleText3: TX_FAR _Route11EndBattleText3 db "@" -Route11AfterBattleText3: ; 5953a (16:553a) +Route11AfterBattleText3: TX_FAR _Route11AfterBattleText3 db "@" -Route11Text4: ; 5953f (16:553f) - db $08 ; asm +Route11Text4: + TX_ASM ld hl, Route11TrainerHeader3 call TalkToTrainer jp TextScriptEnd -Route11BattleText4: ; 59549 (16:5549) +Route11BattleText4: TX_FAR _Route11BattleText4 db "@" -Route11EndBattleText4: ; 5954e (16:554e) +Route11EndBattleText4: TX_FAR _Route11EndBattleText4 db "@" -Route11AfterBattleText4: ; 59553 (16:5553) +Route11AfterBattleText4: TX_FAR _Route11AfterBattleText4 db "@" -Route11Text5: ; 59558 (16:5558) - db $08 ; asm +Route11Text5: + TX_ASM ld hl, Route11TrainerHeader4 call TalkToTrainer jp TextScriptEnd -Route11BattleText5: ; 59562 (16:5562) +Route11BattleText5: TX_FAR _Route11BattleText5 db "@" -Route11EndBattleText5: ; 59567 (16:5567) +Route11EndBattleText5: TX_FAR _Route11EndBattleText5 db "@" -Route11AfterBattleText5: ; 5956c (16:556c) +Route11AfterBattleText5: TX_FAR _Route11AfterBattleText5 db "@" -Route11Text6: ; 59571 (16:5571) - db $08 ; asm +Route11Text6: + TX_ASM ld hl, Route11TrainerHeader5 call TalkToTrainer jp TextScriptEnd -Route11BattleText6: ; 5957b (16:557b) +Route11BattleText6: TX_FAR _Route11BattleText6 db "@" -Route11EndBattleText6: ; 59580 (16:5580) +Route11EndBattleText6: TX_FAR _Route11EndBattleText6 db "@" -Route11AfterBattleText6: ; 59585 (16:5585) +Route11AfterBattleText6: TX_FAR _Route11AfterBattleText6 db "@" -Route11Text7: ; 5958a (16:558a) - db $08 ; asm +Route11Text7: + TX_ASM ld hl, Route11TrainerHeader6 call TalkToTrainer jp TextScriptEnd -Route11BattleText7: ; 59594 (16:5594) +Route11BattleText7: TX_FAR _Route11BattleText7 db "@" -Route11EndBattleText7: ; 59599 (16:5599) +Route11EndBattleText7: TX_FAR _Route11EndBattleText7 db "@" -Route11AfterBattleText7: ; 5959e (16:559e) +Route11AfterBattleText7: TX_FAR _Route11AfterBattleText7 db "@" -Route11Text8: ; 595a3 (16:55a3) - db $08 ; asm +Route11Text8: + TX_ASM ld hl, Route11TrainerHeader7 call TalkToTrainer jp TextScriptEnd -Route11BattleText8: ; 595ad (16:55ad) +Route11BattleText8: TX_FAR _Route11BattleText8 db "@" -Route11EndBattleText8: ; 595b2 (16:55b2) +Route11EndBattleText8: TX_FAR _Route11EndBattleText8 db "@" -Route11AfterBattleText8: ; 595b7 (16:55b7) +Route11AfterBattleText8: TX_FAR _Route11AfterBattleText8 db "@" -Route11Text9: ; 595bc (16:55bc) - db $08 ; asm +Route11Text9: + TX_ASM ld hl, Route11TrainerHeader8 call TalkToTrainer jp TextScriptEnd -Route11BattleText9: ; 595c6 (16:55c6) +Route11BattleText9: TX_FAR _Route11BattleText9 db "@" -Route11EndBattleText9: ; 595cb (16:55cb) +Route11EndBattleText9: TX_FAR _Route11EndBattleText9 db "@" -Route11AfterBattleText9: ; 595d0 (16:55d0) +Route11AfterBattleText9: TX_FAR _Route11AfterBattleText9 db "@" -Route11Text10: ; 595d5 (16:55d5) - db $08 ; asm +Route11Text10: + TX_ASM ld hl, Route11TrainerHeader9 call TalkToTrainer jp TextScriptEnd -Route11BattleText10: ; 595df (16:55df) +Route11BattleText10: TX_FAR _Route11BattleText10 db "@" -Route11EndBattleText10: ; 595e4 (16:55e4) +Route11EndBattleText10: TX_FAR _Route11EndBattleText10 db "@" -Route11AfterBattleText10: ; 595e9 (16:55e9) +Route11AfterBattleText10: TX_FAR _Route11AfterBattleText10 db "@" -Route11Text11: ; 595ee (16:55ee) +Route11Text11: TX_FAR _Route11Text11 db "@" diff --git a/scripts/route11gate.asm b/scripts/route11gate.asm index e53fc63a..9ecfe0ca 100755 --- a/scripts/route11gate.asm +++ b/scripts/route11gate.asm @@ -1,9 +1,9 @@ -Route11GateScript: ; 4940c (12:540c) +Route11GateScript: jp EnableAutoTextBoxDrawing -Route11GateTextPointers: ; 4940f (12:540f) +Route11GateTextPointers: dw Route11GateText1 -Route11GateText1: ; 49411 (12:5411) +Route11GateText1: TX_FAR _Route11GateText1 db "@" diff --git a/scripts/route11gateupstairs.asm b/scripts/route11gateupstairs.asm index d8740986..6c8d6e99 100755 --- a/scripts/route11gateupstairs.asm +++ b/scripts/route11gateupstairs.asm @@ -1,59 +1,56 @@ -Route11GateUpstairsScript: ; 49454 (12:5454) +Route11GateUpstairsScript: jp DisableAutoTextBoxDrawing -Route11GateUpstairsTextPointers: ; 49457 (12:5457) +Route11GateUpstairsTextPointers: dw Route11GateUpstairsText1 dw Route11GateUpstairsText2 dw Route11GateUpstairsText3 dw Route11GateUpstairsText4 -Route11GateUpstairsText1: ; 4945f (12:545f) - db $08 ; asm +Route11GateUpstairsText1: + TX_ASM xor a ld [wWhichTrade], a predef DoInGameTradeDialogue -asm_49469: ; 49469 (12:5469) +Route11GateUpstairsScriptEnd: jp TextScriptEnd -Route11GateUpstairsText2: ; 4946c (12:546c) - db $8 - ld a, [wd7d6] - add a - jr c, .asm_4949b ; 0x49471 $28 +Route11GateUpstairsText2: + TX_ASM + CheckEvent EVENT_GOT_ITEMFINDER, 1 + jr c, .asm_4949b ld a, 30 ; pokemon needed - ld [$ffdb], a + ld [hOaksAideRequirement], a ld a, ITEMFINDER ; oak's aide reward - ld [$ffdc], a + ld [hOaksAideRewardItem], a ld [wd11e], a call GetItemName ld h, d ld l, e - ld de, wcc5b - ld bc, $000d + ld de, wOaksAideRewardItemName + ld bc, ITEM_NAME_LENGTH call CopyData - predef OaksAideScript ; call oak's aide script - ld a, [$ffdb] + predef OaksAideScript + ld a, [hOaksAideResult] dec a - jr nz, .asm_494a1 ; 0x49494 $b - ld hl, wd7d6 - set 7, [hl] + jr nz, .asm_494a1 + SetEvent EVENT_GOT_ITEMFINDER .asm_4949b ld hl, Route11GateUpstairsText_494a3 call PrintText .asm_494a1 - jr asm_49469 ; 0x494a1 $c6 + jr Route11GateUpstairsScriptEnd -Route11GateUpstairsText_494a3: ; 494a3 (12:54a3) +Route11GateUpstairsText_494a3: TX_FAR _Route11GateUpstairsText_494a3 db "@" -Route11GateUpstairsText3: ; 494a8 (12:54a8) - db $08 ; asm +Route11GateUpstairsText3: + TX_ASM ld a, [wSpriteStateData1 + 9] - cp $4 - jp nz, Route12GateUpstairsScript_495c9 - ld a, [wd7d8] - bit 7, a ; fought snorlax? + cp SPRITE_FACING_UP + jp nz, GateUpstairsScript_PrintIfFacingUp + CheckEvent EVENT_BEAT_ROUTE12_SNORLAX ld hl, BinocularsSnorlaxText jr z, .print ld hl, BinocularsNoSnorlaxText @@ -69,11 +66,11 @@ BinocularsNoSnorlaxText: TX_FAR _BinocularsNoSnorlaxText db "@" -Route11GateUpstairsText4: ; 494ce (12:54ce) - db $8 - ld hl, Route11GateUpstairsText_494d5 ; $54d5 - jp Route12GateUpstairsScript_495c9 +Route11GateUpstairsText4: + TX_ASM + ld hl, Route11GateUpstairsText_494d5 + jp GateUpstairsScript_PrintIfFacingUp -Route11GateUpstairsText_494d5: ; 494d5 (12:54d5) +Route11GateUpstairsText_494d5: TX_FAR _Route11GateUpstairsText_494d5 db "@" diff --git a/scripts/route12.asm b/scripts/route12.asm index fdaf2a85..07b5833b 100755 --- a/scripts/route12.asm +++ b/scripts/route12.asm @@ -1,49 +1,48 @@ -Route12Script: ; 595f3 (16:55f3) +Route12Script: call EnableAutoTextBoxDrawing - ld hl, Route12TrainerHeaders + ld hl, Route12TrainerHeader0 ld de, Route12ScriptPointers - ld a, [W_ROUTE12CURSCRIPT] + ld a, [wRoute12CurScript] call ExecuteCurMapScriptInTable - ld [W_ROUTE12CURSCRIPT], a + ld [wRoute12CurScript], a ret -Route12Script_59606: ; 59606 (16:5606) +Route12Script_59606: xor a ld [wJoyIgnore], a - ld [W_ROUTE12CURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wRoute12CurScript], a + ld [wCurMapScript], a ret -Route12ScriptPointers: ; 59611 (16:5611) +Route12ScriptPointers: dw Route12Script0 dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle dw Route12Script3 -Route12Script0: ; 59619 (16:5619) - ld hl, wd7d8 - bit 7, [hl] +Route12Script0: + CheckEventHL EVENT_BEAT_ROUTE12_SNORLAX jp nz, CheckFightingMapTrainers - bit 6, [hl] - res 6, [hl] + CheckEventReuseHL EVENT_FIGHT_ROUTE12_SNORLAX + ResetEventReuseHL EVENT_FIGHT_ROUTE12_SNORLAX jp z, CheckFightingMapTrainers ld a, $d - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, SNORLAX - ld [W_CUROPPONENT], a ; wd059 + ld [wCurOpponent], a ld a, 30 - ld [W_CURENEMYLVL], a ; W_CURENEMYLVL + ld [wCurEnemyLVL], a ld a, HS_ROUTE_12_SNORLAX - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject ld a, $3 - ld [W_ROUTE12CURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wRoute12CurScript], a + ld [wCurMapScript], a ret -Route12Script3: ; 5964c (16:564c) - ld a, [W_ISINBATTLE] ; W_ISINBATTLE +Route12Script3: + ld a, [wIsInBattle] cp $ff jr z, Route12Script_59606 call UpdateSprites @@ -51,18 +50,17 @@ Route12Script3: ; 5964c (16:564c) cp $2 jr z, .asm_59664 ld a, $e - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a call DisplayTextID .asm_59664 - ld hl, wd7d8 - set 7, [hl] + SetEvent EVENT_BEAT_ROUTE12_SNORLAX call Delay3 ld a, $0 - ld [W_ROUTE12CURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wRoute12CurScript], a + ld [wCurMapScript], a ret -Route12TextPointers: ; 59675 (16:5675) +Route12TextPointers: dw Route12Text1 dw Route12Text2 dw Route12Text3 @@ -71,221 +69,220 @@ Route12TextPointers: ; 59675 (16:5675) dw Route12Text6 dw Route12Text7 dw Route12Text8 - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText dw Route12Text11 dw Route12Text12 dw Route12Text13 dw Route12Text14 -Route12TrainerHeaders: ; 59691 (16:5691) -Route12TrainerHeader0: ; 59691 (16:5691) - db $2 ; flag's bit +Route12TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_0 db ($4 << 4) ; trainer's view range - dw wd7d7 ; flag's byte - dw Route12BattleText1 ; 0x56ff TextBeforeBattle - dw Route12AfterBattleText1 ; 0x5709 TextAfterBattle - dw Route12EndBattleText1 ; 0x5704 TextEndBattle - dw Route12EndBattleText1 ; 0x5704 TextEndBattle - -Route12TrainerHeader1: ; 5969d (16:569d) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_0 + dw Route12BattleText1 ; TextBeforeBattle + dw Route12AfterBattleText1 ; TextAfterBattle + dw Route12EndBattleText1 ; TextEndBattle + dw Route12EndBattleText1 ; TextEndBattle + +Route12TrainerHeader1: + dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_1 db ($4 << 4) ; trainer's view range - dw wd7d7 ; flag's byte - dw Route12BattleText2 ; 0x5718 TextBeforeBattle - dw Route12AfterBattleText2 ; 0x5722 TextAfterBattle - dw Route12EndBattleText2 ; 0x571d TextEndBattle - dw Route12EndBattleText2 ; 0x571d TextEndBattle - -Route12TrainerHeader2: ; 596a9 (16:56a9) - db $4 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_1 + dw Route12BattleText2 ; TextBeforeBattle + dw Route12AfterBattleText2 ; TextAfterBattle + dw Route12EndBattleText2 ; TextEndBattle + dw Route12EndBattleText2 ; TextEndBattle + +Route12TrainerHeader2: + dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_2 db ($4 << 4) ; trainer's view range - dw wd7d7 ; flag's byte - dw Route12BattleText3 ; 0x5731 TextBeforeBattle - dw Route12AfterBattleText3 ; 0x573b TextAfterBattle - dw Route12EndBattleText3 ; 0x5736 TextEndBattle - dw Route12EndBattleText3 ; 0x5736 TextEndBattle - -Route12TrainerHeader3: ; 596b5 (16:56b5) - db $5 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_2 + dw Route12BattleText3 ; TextBeforeBattle + dw Route12AfterBattleText3 ; TextAfterBattle + dw Route12EndBattleText3 ; TextEndBattle + dw Route12EndBattleText3 ; TextEndBattle + +Route12TrainerHeader3: + dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_3 db ($4 << 4) ; trainer's view range - dw wd7d7 ; flag's byte - dw Route12BattleText4 ; 0x574a TextBeforeBattle - dw Route12AfterBattleText4 ; 0x5754 TextAfterBattle - dw Route12EndBattleText4 ; 0x574f TextEndBattle - dw Route12EndBattleText4 ; 0x574f TextEndBattle - -Route12TrainerHeader4: ; 596c1 (16:56c1) - db $6 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_3 + dw Route12BattleText4 ; TextBeforeBattle + dw Route12AfterBattleText4 ; TextAfterBattle + dw Route12EndBattleText4 ; TextEndBattle + dw Route12EndBattleText4 ; TextEndBattle + +Route12TrainerHeader4: + dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_4 db ($4 << 4) ; trainer's view range - dw wd7d7 ; flag's byte - dw Route12BattleText5 ; 0x5763 TextBeforeBattle - dw Route12AfterBattleText5 ; 0x576d TextAfterBattle - dw Route12EndBattleText5 ; 0x5768 TextEndBattle - dw Route12EndBattleText5 ; 0x5768 TextEndBattle - -Route12TrainerHeader5: ; 596cd (16:56cd) - db $7 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_4 + dw Route12BattleText5 ; TextBeforeBattle + dw Route12AfterBattleText5 ; TextAfterBattle + dw Route12EndBattleText5 ; TextEndBattle + dw Route12EndBattleText5 ; TextEndBattle + +Route12TrainerHeader5: + dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_5 db ($4 << 4) ; trainer's view range - dw wd7d7 ; flag's byte - dw Route12BattleText6 ; 0x577c TextBeforeBattle - dw Route12AfterBattleText6 ; 0x5786 TextAfterBattle - dw Route12EndBattleText6 ; 0x5781 TextEndBattle - dw Route12EndBattleText6 ; 0x5781 TextEndBattle - -Route12TrainerHeader6: ; 596d9 (16:56d9) - db $8 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_5 + dw Route12BattleText6 ; TextBeforeBattle + dw Route12AfterBattleText6 ; TextAfterBattle + dw Route12EndBattleText6 ; TextEndBattle + dw Route12EndBattleText6 ; TextEndBattle + +Route12TrainerHeader6: + dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_6, 1 db ($1 << 4) ; trainer's view range - dw wd7d7 ; flag's byte - dw Route12BattleText7 ; 0x5795 TextBeforeBattle - dw Route12AfterBattleText7 ; 0x579f TextAfterBattle - dw Route12EndBattleText7 ; 0x579a TextEndBattle - dw Route12EndBattleText7 ; 0x579a TextEndBattle + dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_6, 1 + dw Route12BattleText7 ; TextBeforeBattle + dw Route12AfterBattleText7 ; TextAfterBattle + dw Route12EndBattleText7 ; TextEndBattle + dw Route12EndBattleText7 ; TextEndBattle db $ff -Route12Text1: ; 596e6 (16:56e6) +Route12Text1: TX_FAR _Route12Text1 db "@" -Route12Text13: ; 596eb (16:56eb) +Route12Text13: TX_FAR _Route12Text13 db "@" -Route12Text14: ; 596f0 (16:56f0) +Route12Text14: TX_FAR _Route12Text14 db "@" -Route12Text2: ; 596f5 (16:56f5) - db $08 ; asm +Route12Text2: + TX_ASM ld hl, Route12TrainerHeader0 call TalkToTrainer jp TextScriptEnd -Route12BattleText1: ; 596ff (16:56ff) +Route12BattleText1: TX_FAR _Route12BattleText1 db "@" -Route12EndBattleText1: ; 59704 (16:5704) +Route12EndBattleText1: TX_FAR _Route12EndBattleText1 db "@" -Route12AfterBattleText1: ; 59709 (16:5709) +Route12AfterBattleText1: TX_FAR _Route12AfterBattleText1 db "@" -Route12Text3: ; 5970e (16:570e) - db $08 ; asm +Route12Text3: + TX_ASM ld hl, Route12TrainerHeader1 call TalkToTrainer jp TextScriptEnd -Route12BattleText2: ; 59718 (16:5718) +Route12BattleText2: TX_FAR _Route12BattleText2 db "@" -Route12EndBattleText2: ; 5971d (16:571d) +Route12EndBattleText2: TX_FAR _Route12EndBattleText2 db "@" -Route12AfterBattleText2: ; 59722 (16:5722) +Route12AfterBattleText2: TX_FAR _Route12AfterBattleText2 db "@" -Route12Text4: ; 59727 (16:5727) - db $08 ; asm +Route12Text4: + TX_ASM ld hl, Route12TrainerHeader2 call TalkToTrainer jp TextScriptEnd -Route12BattleText3: ; 59731 (16:5731) +Route12BattleText3: TX_FAR _Route12BattleText3 db "@" -Route12EndBattleText3: ; 59736 (16:5736) +Route12EndBattleText3: TX_FAR _Route12EndBattleText3 db "@" -Route12AfterBattleText3: ; 5973b (16:573b) +Route12AfterBattleText3: TX_FAR _Route12AfterBattleText3 db "@" -Route12Text5: ; 59740 (16:5740) - db $08 ; asm +Route12Text5: + TX_ASM ld hl, Route12TrainerHeader3 call TalkToTrainer jp TextScriptEnd -Route12BattleText4: ; 5974a (16:574a) +Route12BattleText4: TX_FAR _Route12BattleText4 db "@" -Route12EndBattleText4: ; 5974f (16:574f) +Route12EndBattleText4: TX_FAR _Route12EndBattleText4 db "@" -Route12AfterBattleText4: ; 59754 (16:5754) +Route12AfterBattleText4: TX_FAR _Route12AfterBattleText4 db "@" -Route12Text6: ; 59759 (16:5759) - db $08 ; asm +Route12Text6: + TX_ASM ld hl, Route12TrainerHeader4 call TalkToTrainer jp TextScriptEnd -Route12BattleText5: ; 59763 (16:5763) +Route12BattleText5: TX_FAR _Route12BattleText5 db "@" -Route12EndBattleText5: ; 59768 (16:5768) +Route12EndBattleText5: TX_FAR _Route12EndBattleText5 db "@" -Route12AfterBattleText5: ; 5976d (16:576d) +Route12AfterBattleText5: TX_FAR _Route12AfterBattleText5 db "@" -Route12Text7: ; 59772 (16:5772) - db $08 ; asm +Route12Text7: + TX_ASM ld hl, Route12TrainerHeader5 call TalkToTrainer jp TextScriptEnd -Route12BattleText6: ; 5977c (16:577c) +Route12BattleText6: TX_FAR _Route12BattleText6 db "@" -Route12EndBattleText6: ; 59781 (16:5781) +Route12EndBattleText6: TX_FAR _Route12EndBattleText6 db "@" -Route12AfterBattleText6: ; 59786 (16:5786) +Route12AfterBattleText6: TX_FAR _Route12AfterBattleText6 db "@" -Route12Text8: ; 5978b (16:578b) - db $08 ; asm +Route12Text8: + TX_ASM ld hl, Route12TrainerHeader6 call TalkToTrainer jp TextScriptEnd -Route12BattleText7: ; 59795 (16:5795) +Route12BattleText7: TX_FAR _Route12BattleText7 db "@" -Route12EndBattleText7: ; 5979a (16:579a) +Route12EndBattleText7: TX_FAR _Route12EndBattleText7 db "@" -Route12AfterBattleText7: ; 5979f (16:579f) +Route12AfterBattleText7: TX_FAR _Route12AfterBattleText7 db "@" -Route12Text11: ; 597a4 (16:57a4) +Route12Text11: TX_FAR _Route12Text11 db "@" -Route12Text12: ; 597a9 (16:57a9) +Route12Text12: TX_FAR _Route12Text12 db "@" diff --git a/scripts/route12gate.asm b/scripts/route12gate.asm index d8f09c92..8474100d 100755 --- a/scripts/route12gate.asm +++ b/scripts/route12gate.asm @@ -1,9 +1,9 @@ -Route12GateScript: ; 49504 (12:5504) +Route12GateScript: jp EnableAutoTextBoxDrawing -Route12GateTextPointers: ; 49507 (12:5507) +Route12GateTextPointers: dw Route12GateText1 -Route12GateText1: ; 49509 (12:5509) +Route12GateText1: TX_FAR _Route12GateText1 db "@" diff --git a/scripts/route12gateupstairs.asm b/scripts/route12gateupstairs.asm index c4c05cd6..cd355265 100755 --- a/scripts/route12gateupstairs.asm +++ b/scripts/route12gateupstairs.asm @@ -1,79 +1,78 @@ -Route12GateUpstairsScript: ; 49560 (12:5560) +Route12GateUpstairsScript: jp DisableAutoTextBoxDrawing -Route12GateUpstairsTextPointers: ; 49563 (12:5563) +Route12GateUpstairsTextPointers: dw Route12GateUpstairsText1 dw Route12GateUpstairsText2 dw Route12GateUpstairsText3 -Route12GateUpstairsText1: ; 49569 (12:5569) - db $08 ; asm - ld a, [wd7d7] - rrca - jr c, .asm_0ad3c ; 0x4956e +Route12GateUpstairsText1: + TX_ASM + CheckEvent EVENT_GOT_TM39, 1 + jr c, .asm_0ad3c ld hl, TM39PreReceiveText call PrintText - ld bc, (TM_39 << 8) | 1 + lb bc, TM_39, 1 call GiveItem jr nc, .BagFull ld hl, ReceivedTM39Text call PrintText - ld hl, wd7d7 - set 0, [hl] - jr .asm_4ba56 ; 0x49589 + SetEvent EVENT_GOT_TM39 + jr .asm_4ba56 .BagFull ld hl, TM39NoRoomText call PrintText - jr .asm_4ba56 ; 0x49591 -.asm_0ad3c ; 0x49593 + jr .asm_4ba56 +.asm_0ad3c ld hl, TM39ExplanationText call PrintText -.asm_4ba56 ; 0x49599 +.asm_4ba56 jp TextScriptEnd -TM39PreReceiveText: ; 4959c (12:559c) +TM39PreReceiveText: TX_FAR _TM39PreReceiveText db "@" -ReceivedTM39Text: ; 495a1 (12:55a1) +ReceivedTM39Text: TX_FAR _ReceivedTM39Text - db $0B, "@" + TX_SFX_ITEM_1 + db "@" -TM39ExplanationText: ; 495a7 (12:55a7) +TM39ExplanationText: TX_FAR _TM39ExplanationText db "@" -TM39NoRoomText: ; 495ac (12:55ac) +TM39NoRoomText: TX_FAR _TM39NoRoomText db "@" -Route12GateUpstairsText2: ; 495b1 (12:55b1) - db $08 ; asm +Route12GateUpstairsText2: + TX_ASM ld hl, Route12GateUpstairsText_495b8 - jp Route12GateUpstairsScript_495c9 + jp GateUpstairsScript_PrintIfFacingUp -Route12GateUpstairsText_495b8: ; 495b8 (12:55b8) +Route12GateUpstairsText_495b8: TX_FAR _Route12GateUpstairsText_495b8 db "@" -Route12GateUpstairsText3: ; 495bd (12:55bd) - db $8 +Route12GateUpstairsText3: + TX_ASM ld hl, Route12GateUpstairsText_495c4 - jp Route12GateUpstairsScript_495c9 + jp GateUpstairsScript_PrintIfFacingUp -Route12GateUpstairsText_495c4: ; 495c4 (12:55c4) +Route12GateUpstairsText_495c4: TX_FAR _Route12GateUpstairsText_495c4 db "@" -Route12GateUpstairsScript_495c9: ; 495c9 (12:55c9) +GateUpstairsScript_PrintIfFacingUp: ld a, [wSpriteStateData1 + 9] - cp $4 - jr z, .asm_495d4 ; 0x495ce $4 + cp SPRITE_FACING_UP + jr z, .up ld a, $1 - jr .asm_495d8 ; 0x495d2 $4 -.asm_495d4 + jr .done +.up call PrintText xor a -.asm_495d8 +.done ld [wDoNotWaitForButtonPressAfterDisplayingText], a jp TextScriptEnd diff --git a/scripts/route12house.asm b/scripts/route12house.asm index 44667b24..4b93395f 100755 --- a/scripts/route12house.asm +++ b/scripts/route12house.asm @@ -1,11 +1,11 @@ -Route12HouseScript: ; 5647f (15:647f) +Route12HouseScript: jp EnableAutoTextBoxDrawing -Route12HouseTextPointers: ; 56482 (15:6482) +Route12HouseTextPointers: dw Route12HouseText1 -Route12HouseText1: ; 56484 (15:6484) - db $08 ; asm +Route12HouseText1: + TX_ASM ld a, [wd728] bit 5, a jr nz, .asm_b4cad @@ -15,7 +15,7 @@ Route12HouseText1: ; 56484 (15:6484) ld a, [wCurrentMenuItem] and a jr nz, .asm_a2d76 - ld bc, (SUPER_ROD << 8) | 1 + lb bc, SUPER_ROD, 1 call GiveItem jr nc, .BagFull ld hl, wd728 @@ -27,31 +27,31 @@ Route12HouseText1: ; 56484 (15:6484) jr .asm_df984 .asm_a2d76 ld hl, Route12HouseText_564cf - jr .asm_df984 ; 0x564b5 + jr .asm_df984 .asm_b4cad ld hl, Route12HouseText_564d4 .asm_df984 call PrintText jp TextScriptEnd -Route12HouseText_564c0: ; 564c0 (15:64c0) +Route12HouseText_564c0: TX_FAR _Route12HouseText_564c0 db "@" -Route12HouseText_564c5: ; 564c5 (15:64c5) - TX_FAR _Route12HouseText_564c5 ; 0x8ca00 - db $0B - TX_FAR _Route12HouseText_564ca ; 0x8ca4f +Route12HouseText_564c5: + TX_FAR _Route12HouseText_564c5 + TX_SFX_ITEM_1 + TX_FAR _Route12HouseText_564ca db "@" -Route12HouseText_564cf: ; 564cf (15:64cf) +Route12HouseText_564cf: TX_FAR _Route12HouseText_564cf db "@" -Route12HouseText_564d4: ; 564d4 (15:64d4) +Route12HouseText_564d4: TX_FAR _Route12HouseText_564d4 db "@" -Route12HouseText_564d9: ; 564d9 (15:64d9) +Route12HouseText_564d9: TX_FAR _Route12HouseText_564d9 db "@" diff --git a/scripts/route13.asm b/scripts/route13.asm index 21862dfc..54fb9d68 100755 --- a/scripts/route13.asm +++ b/scripts/route13.asm @@ -1,18 +1,18 @@ -Route13Script: ; 5581e (15:581e) +Route13Script: call EnableAutoTextBoxDrawing - ld hl, Route13TrainerHeaders + ld hl, Route13TrainerHeader0 ld de, Route13ScriptPointers - ld a, [W_ROUTE13CURSCRIPT] + ld a, [wRoute13CurScript] call ExecuteCurMapScriptInTable - ld [W_ROUTE13CURSCRIPT], a + ld [wRoute13CurScript], a ret -Route13ScriptPointers: ; 55831 (15:5831) +Route13ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle -Route13TextPointers: ; 55837 (15:5837) +Route13TextPointers: dw Route13Text1 dw Route13Text2 dw Route13Text3 @@ -27,287 +27,286 @@ Route13TextPointers: ; 55837 (15:5837) dw Route13Text12 dw Route13Text13 -Route13TrainerHeaders: ; 55851 (15:5851) -Route13TrainerHeader0: ; 55851 (15:5851) - db $1 ; flag's bit +Route13TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_0 db ($2 << 4) ; trainer's view range - dw wd7d9 ; flag's byte - dw Route13BattleText2 ; 0x58d4 TextBeforeBattle - dw Route13AfterBattleText2 ; 0x58de TextAfterBattle - dw Route13EndBattleText2 ; 0x58d9 TextEndBattle - dw Route13EndBattleText2 ; 0x58d9 TextEndBattle - -Route13TrainerHeader2: ; 5585d (15:585d) - db $2 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_0 + dw Route13BattleText2 ; TextBeforeBattle + dw Route13AfterBattleText2 ; TextAfterBattle + dw Route13EndBattleText2 ; TextEndBattle + dw Route13EndBattleText2 ; TextEndBattle + +Route13TrainerHeader1: + dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_1 db ($2 << 4) ; trainer's view range - dw wd7d9 ; flag's byte - dw Route13BattleText3 ; 0x58ed TextBeforeBattle - dw Route13AfterBattleText3 ; 0x58f7 TextAfterBattle - dw Route13EndBattleText3 ; 0x58f2 TextEndBattle - dw Route13EndBattleText3 ; 0x58f2 TextEndBattle - -Route13TrainerHeader3: ; 55869 (15:5869) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_1 + dw Route13BattleText3 ; TextBeforeBattle + dw Route13AfterBattleText3 ; TextAfterBattle + dw Route13EndBattleText3 ; TextEndBattle + dw Route13EndBattleText3 ; TextEndBattle + +Route13TrainerHeader2: + dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_2 db ($2 << 4) ; trainer's view range - dw wd7d9 ; flag's byte - dw Route13BattleText4 ; 0x5906 TextBeforeBattle - dw Route13AfterBattleText4 ; 0x5910 TextAfterBattle - dw Route13EndBattleText4 ; 0x590b TextEndBattle - dw Route13EndBattleText4 ; 0x590b TextEndBattle - -Route13TrainerHeader4: ; 55875 (15:5875) - db $4 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_2 + dw Route13BattleText4 ; TextBeforeBattle + dw Route13AfterBattleText4 ; TextAfterBattle + dw Route13EndBattleText4 ; TextEndBattle + dw Route13EndBattleText4 ; TextEndBattle + +Route13TrainerHeader3: + dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_3 db ($2 << 4) ; trainer's view range - dw wd7d9 ; flag's byte - dw Route13BattleText5 ; 0x591f TextBeforeBattle - dw Route13AfterBattleText5 ; 0x5929 TextAfterBattle - dw Route13EndBattleText5 ; 0x5924 TextEndBattle - dw Route13EndBattleText5 ; 0x5924 TextEndBattle - -Route13TrainerHeader5: ; 55881 (15:5881) - db $5 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_3 + dw Route13BattleText5 ; TextBeforeBattle + dw Route13AfterBattleText5 ; TextAfterBattle + dw Route13EndBattleText5 ; TextEndBattle + dw Route13EndBattleText5 ; TextEndBattle + +Route13TrainerHeader4: + dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_4 db ($4 << 4) ; trainer's view range - dw wd7d9 ; flag's byte - dw Route13BattleText6 ; 0x5938 TextBeforeBattle - dw Route13AfterBattleText6 ; 0x5942 TextAfterBattle - dw Route13EndBattleText6 ; 0x593d TextEndBattle - dw Route13EndBattleText6 ; 0x593d TextEndBattle - -Route13TrainerHeader6: ; 5588d (15:588d) - db $6 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_4 + dw Route13BattleText6 ; TextBeforeBattle + dw Route13AfterBattleText6 ; TextAfterBattle + dw Route13EndBattleText6 ; TextEndBattle + dw Route13EndBattleText6 ; TextEndBattle + +Route13TrainerHeader5: + dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_5 db ($2 << 4) ; trainer's view range - dw wd7d9 ; flag's byte - dw Route13BattleText7 ; 0x5951 TextBeforeBattle - dw Route13AfterBattleText7 ; 0x595b TextAfterBattle - dw Route13EndBattleText7 ; 0x5956 TextEndBattle - dw Route13EndBattleText7 ; 0x5956 TextEndBattle - -Route13TrainerHeader7: ; 55899 (15:5899) - db $7 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_5 + dw Route13BattleText7 ; TextBeforeBattle + dw Route13AfterBattleText7 ; TextAfterBattle + dw Route13EndBattleText7 ; TextEndBattle + dw Route13EndBattleText7 ; TextEndBattle + +Route13TrainerHeader6: + dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_6 db ($4 << 4) ; trainer's view range - dw wd7d9 ; flag's byte - dw Route13BattleText8 ; 0x596a TextBeforeBattle - dw Route13AfterBattleText8 ; 0x5974 TextAfterBattle - dw Route13EndBattleText8 ; 0x596f TextEndBattle - dw Route13EndBattleText8 ; 0x596f TextEndBattle - -Route13TrainerHeader8: ; 558a5 (15:58a5) - db $8 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_6 + dw Route13BattleText8 ; TextBeforeBattle + dw Route13AfterBattleText8 ; TextAfterBattle + dw Route13EndBattleText8 ; TextEndBattle + dw Route13EndBattleText8 ; TextEndBattle + +Route13TrainerHeader7: + dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_7, 1 db ($2 << 4) ; trainer's view range - dw wd7d9 ; flag's byte - dw Route13BattleText9 ; 0x5983 TextBeforeBattle - dw Route13AfterBattleText9 ; 0x598d TextAfterBattle - dw Route13EndBattleText9 ; 0x5988 TextEndBattle - dw Route13EndBattleText9 ; 0x5988 TextEndBattle - -Route13TrainerHeader9: ; 558b1 (15:58b1) - db $9 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_7, 1 + dw Route13BattleText9 ; TextBeforeBattle + dw Route13AfterBattleText9 ; TextAfterBattle + dw Route13EndBattleText9 ; TextEndBattle + dw Route13EndBattleText9 ; TextEndBattle + +Route13TrainerHeader8: + dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_8, 1 db ($2 << 4) ; trainer's view range - dw wd7d9 ; flag's byte - dw Route13BattleText10 ; 0x599c TextBeforeBattle - dw Route13AfterBattleText10 ; 0x59a6 TextAfterBattle - dw Route13EndBattleText10 ; 0x59a1 TextEndBattle - dw Route13EndBattleText10 ; 0x59a1 TextEndBattle - -Route13TrainerHeader10: ; 558bd (15:58bd) - db $a ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_8, 1 + dw Route13BattleText10 ; TextBeforeBattle + dw Route13AfterBattleText10 ; TextAfterBattle + dw Route13EndBattleText10 ; TextEndBattle + dw Route13EndBattleText10 ; TextEndBattle + +Route13TrainerHeader9: + dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_9, 1 db ($4 << 4) ; trainer's view range - dw wd7d9 ; flag's byte - dw Route13BattleText11 ; 0x59b5 TextBeforeBattle - dw Route13AfterBattleText11 ; 0x59bf TextAfterBattle - dw Route13EndBattleText11 ; 0x59ba TextEndBattle - dw Route13EndBattleText11 ; 0x59ba TextEndBattle + dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_9, 1 + dw Route13BattleText11 ; TextBeforeBattle + dw Route13AfterBattleText11 ; TextAfterBattle + dw Route13EndBattleText11 ; TextEndBattle + dw Route13EndBattleText11 ; TextEndBattle db $ff -Route13Text1: ; 558ca (15:58ca) - db $08 ; asm +Route13Text1: + TX_ASM ld hl, Route13TrainerHeader0 call TalkToTrainer jp TextScriptEnd -Route13BattleText2: ; 558d4 (15:58d4) +Route13BattleText2: TX_FAR _Route13BattleText2 db "@" -Route13EndBattleText2: ; 558d9 (15:58d9) +Route13EndBattleText2: TX_FAR _Route13EndBattleText2 db "@" -Route13AfterBattleText2: ; 558de (15:58de) +Route13AfterBattleText2: TX_FAR _Route13AfterBattleText2 db "@" -Route13Text2: ; 558e3 (15:58e3) - db $08 ; asm - ld hl, Route13TrainerHeader2 +Route13Text2: + TX_ASM + ld hl, Route13TrainerHeader1 call TalkToTrainer jp TextScriptEnd -Route13BattleText3: ; 558ed (15:58ed) +Route13BattleText3: TX_FAR _Route13BattleText3 db "@" -Route13EndBattleText3: ; 558f2 (15:58f2) +Route13EndBattleText3: TX_FAR _Route13EndBattleText3 db "@" -Route13AfterBattleText3: ; 558f7 (15:58f7) +Route13AfterBattleText3: TX_FAR _Route13AfterBattleText3 db "@" -Route13Text3: ; 558fc (15:58fc) - db $08 ; asm - ld hl, Route13TrainerHeader3 +Route13Text3: + TX_ASM + ld hl, Route13TrainerHeader2 call TalkToTrainer jp TextScriptEnd -Route13BattleText4: ; 55906 (15:5906) +Route13BattleText4: TX_FAR _Route13BattleText4 db "@" -Route13EndBattleText4: ; 5590b (15:590b) +Route13EndBattleText4: TX_FAR _Route13EndBattleText4 db "@" -Route13AfterBattleText4: ; 55910 (15:5910) +Route13AfterBattleText4: TX_FAR _Route13AfterBattleText4 db "@" -Route13Text4: ; 55915 (15:5915) - db $08 ; asm - ld hl, Route13TrainerHeader4 +Route13Text4: + TX_ASM + ld hl, Route13TrainerHeader3 call TalkToTrainer jp TextScriptEnd -Route13BattleText5: ; 5591f (15:591f) +Route13BattleText5: TX_FAR _Route13BattleText5 db "@" -Route13EndBattleText5: ; 55924 (15:5924) +Route13EndBattleText5: TX_FAR _Route13EndBattleText5 db "@" -Route13AfterBattleText5: ; 55929 (15:5929) +Route13AfterBattleText5: TX_FAR _Route13AfterBattleText5 db "@" -Route13Text5: ; 5592e (15:592e) - db $08 ; asm - ld hl, Route13TrainerHeader5 +Route13Text5: + TX_ASM + ld hl, Route13TrainerHeader4 call TalkToTrainer jp TextScriptEnd -Route13BattleText6: ; 55938 (15:5938) +Route13BattleText6: TX_FAR _Route13BattleText6 db "@" -Route13EndBattleText6: ; 5593d (15:593d) +Route13EndBattleText6: TX_FAR _Route13EndBattleText6 db "@" -Route13AfterBattleText6: ; 55942 (15:5942) +Route13AfterBattleText6: TX_FAR _Route13AfterBattleText6 db "@" -Route13Text6: ; 55947 (15:5947) - db $08 ; asm - ld hl, Route13TrainerHeader6 +Route13Text6: + TX_ASM + ld hl, Route13TrainerHeader5 call TalkToTrainer jp TextScriptEnd -Route13BattleText7: ; 55951 (15:5951) +Route13BattleText7: TX_FAR _Route13BattleText7 db "@" -Route13EndBattleText7: ; 55956 (15:5956) +Route13EndBattleText7: TX_FAR _Route13EndBattleText7 db "@" -Route13AfterBattleText7: ; 5595b (15:595b) +Route13AfterBattleText7: TX_FAR _Route13AfterBattleText7 db "@" -Route13Text7: ; 55960 (15:5960) - db $08 ; asm - ld hl, Route13TrainerHeader7 +Route13Text7: + TX_ASM + ld hl, Route13TrainerHeader6 call TalkToTrainer jp TextScriptEnd -Route13BattleText8: ; 5596a (15:596a) +Route13BattleText8: TX_FAR _Route13BattleText8 db "@" -Route13EndBattleText8: ; 5596f (15:596f) +Route13EndBattleText8: TX_FAR _Route13EndBattleText8 db "@" -Route13AfterBattleText8: ; 55974 (15:5974) +Route13AfterBattleText8: TX_FAR _Route13AfterBattleText8 db "@" -Route13Text8: ; 55979 (15:5979) - db $08 ; asm - ld hl, Route13TrainerHeader8 +Route13Text8: + TX_ASM + ld hl, Route13TrainerHeader7 call TalkToTrainer jp TextScriptEnd -Route13BattleText9: ; 55983 (15:5983) +Route13BattleText9: TX_FAR _Route13BattleText9 db "@" -Route13EndBattleText9: ; 55988 (15:5988) +Route13EndBattleText9: TX_FAR _Route13EndBattleText9 db "@" -Route13AfterBattleText9: ; 5598d (15:598d) +Route13AfterBattleText9: TX_FAR _Route13AfterBattleText9 db "@" -Route13Text9: ; 55992 (15:5992) - db $08 ; asm - ld hl, Route13TrainerHeader9 +Route13Text9: + TX_ASM + ld hl, Route13TrainerHeader8 call TalkToTrainer jp TextScriptEnd -Route13BattleText10: ; 5599c (15:599c) +Route13BattleText10: TX_FAR _Route13BattleText10 db "@" -Route13EndBattleText10: ; 559a1 (15:59a1) +Route13EndBattleText10: TX_FAR _Route13EndBattleText10 db "@" -Route13AfterBattleText10: ; 559a6 (15:59a6) +Route13AfterBattleText10: TX_FAR _Route13AfterBattleText10 db "@" -Route13Text10: ; 559ab (15:59ab) - db $08 ; asm - ld hl, Route13TrainerHeader10 +Route13Text10: + TX_ASM + ld hl, Route13TrainerHeader9 call TalkToTrainer jp TextScriptEnd -Route13BattleText11: ; 559b5 (15:59b5) +Route13BattleText11: TX_FAR _Route13BattleText11 db "@" -Route13EndBattleText11: ; 559ba (15:59ba) +Route13EndBattleText11: TX_FAR _Route13EndBattleText11 db "@" -Route13AfterBattleText11: ; 559bf (15:59bf) +Route13AfterBattleText11: TX_FAR _Route13AfterBattleText11 db "@" -Route13Text11: ; 559c4 (15:59c4) +Route13Text11: TX_FAR _Route13Text11 db "@" -Route13Text12: ; 559c9 (15:59c9) +Route13Text12: TX_FAR _Route13Text12 db "@" -Route13Text13: ; 559ce (15:59ce) +Route13Text13: TX_FAR _Route13Text13 db "@" diff --git a/scripts/route14.asm b/scripts/route14.asm index d430f858..c929451f 100755 --- a/scripts/route14.asm +++ b/scripts/route14.asm @@ -1,18 +1,18 @@ -Route14Script: ; 559d3 (15:59d3) +Route14Script: call EnableAutoTextBoxDrawing - ld hl, Route14TrainerHeaders + ld hl, Route14TrainerHeader0 ld de, Route14ScriptPointers - ld a, [W_ROUTE14CURSCRIPT] + ld a, [wRoute14CurScript] call ExecuteCurMapScriptInTable - ld [W_ROUTE14CURSCRIPT], a + ld [wRoute14CurScript], a ret -Route14ScriptPointers: ; 559e6 (15:59e6) +Route14ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle -Route14TextPointers: ; 559ec (15:59ec) +Route14TextPointers: dw Route14Text1 dw Route14Text2 dw Route14Text3 @@ -25,279 +25,278 @@ Route14TextPointers: ; 559ec (15:59ec) dw Route14Text10 dw Route14Text11 -Route14TrainerHeaders: ; 55a02 (15:5a02) -Route14TrainerHeader0: ; 55a02 (15:5a02) - db $1 ; flag's bit +Route14TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_0 db ($2 << 4) ; trainer's view range - dw wd7db ; flag's byte - dw Route14BattleText1 ; 0x5a85 TextBeforeBattle - dw Route14AfterBattleText1 ; 0x5a8f TextAfterBattle - dw Route14EndBattleText1 ; 0x5a8a TextEndBattle - dw Route14EndBattleText1 ; 0x5a8a TextEndBattle - -Route14TrainerHeader1: ; 55a0e (15:5a0e) - db $2 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_0 + dw Route14BattleText1 ; TextBeforeBattle + dw Route14AfterBattleText1 ; TextAfterBattle + dw Route14EndBattleText1 ; TextEndBattle + dw Route14EndBattleText1 ; TextEndBattle + +Route14TrainerHeader1: + dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_1 db ($2 << 4) ; trainer's view range - dw wd7db ; flag's byte - dw Route14BattleText2 ; 0x5a9e TextBeforeBattle - dw Route14AfterBattleText2 ; 0x5aa8 TextAfterBattle - dw Route14EndBattleText2 ; 0x5aa3 TextEndBattle - dw Route14EndBattleText2 ; 0x5aa3 TextEndBattle - -Route14TrainerHeader2: ; 55a1a (15:5a1a) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_1 + dw Route14BattleText2 ; TextBeforeBattle + dw Route14AfterBattleText2 ; TextAfterBattle + dw Route14EndBattleText2 ; TextEndBattle + dw Route14EndBattleText2 ; TextEndBattle + +Route14TrainerHeader2: + dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_2 db ($4 << 4) ; trainer's view range - dw wd7db ; flag's byte - dw Route14BattleText3 ; 0x5ab7 TextBeforeBattle - dw Route14AfterBattleText3 ; 0x5ac1 TextAfterBattle - dw Route14EndBattleText3 ; 0x5abc TextEndBattle - dw Route14EndBattleText3 ; 0x5abc TextEndBattle - -Route14TrainerHeader3: ; 55a26 (15:5a26) - db $4 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_2 + dw Route14BattleText3 ; TextBeforeBattle + dw Route14AfterBattleText3 ; TextAfterBattle + dw Route14EndBattleText3 ; TextEndBattle + dw Route14EndBattleText3 ; TextEndBattle + +Route14TrainerHeader3: + dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_3 db ($3 << 4) ; trainer's view range - dw wd7db ; flag's byte - dw Route14BattleText4 ; 0x5ad0 TextBeforeBattle - dw Route14AfterBattleText4 ; 0x5ada TextAfterBattle - dw Route14EndBattleText4 ; 0x5ad5 TextEndBattle - dw Route14EndBattleText4 ; 0x5ad5 TextEndBattle - -Route14TrainerHeader4: ; 55a32 (15:5a32) - db $5 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_3 + dw Route14BattleText4 ; TextBeforeBattle + dw Route14AfterBattleText4 ; TextAfterBattle + dw Route14EndBattleText4 ; TextEndBattle + dw Route14EndBattleText4 ; TextEndBattle + +Route14TrainerHeader4: + dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_4 db ($3 << 4) ; trainer's view range - dw wd7db ; flag's byte - dw Route14BattleText5 ; 0x5ae9 TextBeforeBattle - dw Route14AfterBattleText5 ; 0x5af3 TextAfterBattle - dw Route14EndBattleText5 ; 0x5aee TextEndBattle - dw Route14EndBattleText5 ; 0x5aee TextEndBattle - -Route14TrainerHeader5: ; 55a3e (15:5a3e) - db $6 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_4 + dw Route14BattleText5 ; TextBeforeBattle + dw Route14AfterBattleText5 ; TextAfterBattle + dw Route14EndBattleText5 ; TextEndBattle + dw Route14EndBattleText5 ; TextEndBattle + +Route14TrainerHeader5: + dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_5 db ($4 << 4) ; trainer's view range - dw wd7db ; flag's byte - dw Route14BattleText6 ; 0x5b02 TextBeforeBattle - dw Route14AfterBattleText6 ; 0x5b0c TextAfterBattle - dw Route14EndBattleText6 ; 0x5b07 TextEndBattle - dw Route14EndBattleText6 ; 0x5b07 TextEndBattle - -Route14TrainerHeader6: ; 55a4a (15:5a4a) - db $7 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_5 + dw Route14BattleText6 ; TextBeforeBattle + dw Route14AfterBattleText6 ; TextAfterBattle + dw Route14EndBattleText6 ; TextEndBattle + dw Route14EndBattleText6 ; TextEndBattle + +Route14TrainerHeader6: + dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_6 db ($4 << 4) ; trainer's view range - dw wd7db ; flag's byte - dw Route14BattleText7 ; 0x5b1b TextBeforeBattle - dw Route14AfterBattleText7 ; 0x5b25 TextAfterBattle - dw Route14EndBattleText7 ; 0x5b20 TextEndBattle - dw Route14EndBattleText7 ; 0x5b20 TextEndBattle - -Route14TrainerHeader7: ; 55a56 (15:5a56) - db $8 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_6 + dw Route14BattleText7 ; TextBeforeBattle + dw Route14AfterBattleText7 ; TextAfterBattle + dw Route14EndBattleText7 ; TextEndBattle + dw Route14EndBattleText7 ; TextEndBattle + +Route14TrainerHeader7: + dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_7, 1 db ($4 << 4) ; trainer's view range - dw wd7db ; flag's byte - dw Route14BattleText8 ; 0x5b34 TextBeforeBattle - dw Route14AfterBattleText8 ; 0x5b3e TextAfterBattle - dw Route14EndBattleText8 ; 0x5b39 TextEndBattle - dw Route14EndBattleText8 ; 0x5b39 TextEndBattle - -Route14TrainerHeader8: ; 55a62 (15:5a62) - db $9 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_7, 1 + dw Route14BattleText8 ; TextBeforeBattle + dw Route14AfterBattleText8 ; TextAfterBattle + dw Route14EndBattleText8 ; TextEndBattle + dw Route14EndBattleText8 ; TextEndBattle + +Route14TrainerHeader8: + dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_8, 1 db ($3 << 4) ; trainer's view range - dw wd7db ; flag's byte - dw Route14BattleText9 ; 0x5b4d TextBeforeBattle - dw Route14AfterBattleText9 ; 0x5b57 TextAfterBattle - dw Route14EndBattleText9 ; 0x5b52 TextEndBattle - dw Route14EndBattleText9 ; 0x5b52 TextEndBattle - -Route14TrainerHeader9: ; 55a6e (15:5a6e) - db $a ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_8, 1 + dw Route14BattleText9 ; TextBeforeBattle + dw Route14AfterBattleText9 ; TextAfterBattle + dw Route14EndBattleText9 ; TextEndBattle + dw Route14EndBattleText9 ; TextEndBattle + +Route14TrainerHeader9: + dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_9, 1 db ($4 << 4) ; trainer's view range - dw wd7db ; flag's byte - dw Route14BattleText10 ; 0x5b66 TextBeforeBattle - dw Route14AfterBattleText10 ; 0x5b70 TextAfterBattle - dw Route14EndBattleText10 ; 0x5b6b TextEndBattle - dw Route14EndBattleText10 ; 0x5b6b TextEndBattle + dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_9, 1 + dw Route14BattleText10 ; TextBeforeBattle + dw Route14AfterBattleText10 ; TextAfterBattle + dw Route14EndBattleText10 ; TextEndBattle + dw Route14EndBattleText10 ; TextEndBattle db $ff -Route14Text1: ; 55a7b (15:5a7b) - db $08 ; asm +Route14Text1: + TX_ASM ld hl, Route14TrainerHeader0 call TalkToTrainer jp TextScriptEnd -Route14BattleText1: ; 55a85 (15:5a85) +Route14BattleText1: TX_FAR _Route14BattleText1 db "@" -Route14EndBattleText1: ; 55a8a (15:5a8a) +Route14EndBattleText1: TX_FAR _Route14EndBattleText1 db "@" -Route14AfterBattleText1: ; 55a8f (15:5a8f) +Route14AfterBattleText1: TX_FAR _Route14AfterBattleText1 db "@" -Route14Text2: ; 55a94 (15:5a94) - db $08 ; asm +Route14Text2: + TX_ASM ld hl, Route14TrainerHeader1 call TalkToTrainer jp TextScriptEnd -Route14BattleText2: ; 55a9e (15:5a9e) +Route14BattleText2: TX_FAR _Route14BattleText2 db "@" -Route14EndBattleText2: ; 55aa3 (15:5aa3) +Route14EndBattleText2: TX_FAR _Route14EndBattleText2 db "@" -Route14AfterBattleText2: ; 55aa8 (15:5aa8) +Route14AfterBattleText2: TX_FAR _Route14AfterBattleText2 db "@" -Route14Text3: ; 55aad (15:5aad) - db $08 ; asm +Route14Text3: + TX_ASM ld hl, Route14TrainerHeader2 call TalkToTrainer jp TextScriptEnd -Route14BattleText3: ; 55ab7 (15:5ab7) +Route14BattleText3: TX_FAR _Route14BattleText3 db "@" -Route14EndBattleText3: ; 55abc (15:5abc) +Route14EndBattleText3: TX_FAR _Route14EndBattleText3 db "@" -Route14AfterBattleText3: ; 55ac1 (15:5ac1) +Route14AfterBattleText3: TX_FAR _Route14AfterBattleText3 db "@" -Route14Text4: ; 55ac6 (15:5ac6) - db $08 ; asm +Route14Text4: + TX_ASM ld hl, Route14TrainerHeader3 call TalkToTrainer jp TextScriptEnd -Route14BattleText4: ; 55ad0 (15:5ad0) +Route14BattleText4: TX_FAR _Route14BattleText4 db "@" -Route14EndBattleText4: ; 55ad5 (15:5ad5) +Route14EndBattleText4: TX_FAR _Route14EndBattleText4 db "@" -Route14AfterBattleText4: ; 55ada (15:5ada) +Route14AfterBattleText4: TX_FAR _Route14AfterBattleText4 db "@" -Route14Text5: ; 55adf (15:5adf) - db $08 ; asm +Route14Text5: + TX_ASM ld hl, Route14TrainerHeader4 call TalkToTrainer jp TextScriptEnd -Route14BattleText5: ; 55ae9 (15:5ae9) +Route14BattleText5: TX_FAR _Route14BattleText5 db "@" -Route14EndBattleText5: ; 55aee (15:5aee) +Route14EndBattleText5: TX_FAR _Route14EndBattleText5 db "@" -Route14AfterBattleText5: ; 55af3 (15:5af3) +Route14AfterBattleText5: TX_FAR _Route14AfterBattleText5 db "@" -Route14Text6: ; 55af8 (15:5af8) - db $08 ; asm +Route14Text6: + TX_ASM ld hl, Route14TrainerHeader5 call TalkToTrainer jp TextScriptEnd -Route14BattleText6: ; 55b02 (15:5b02) +Route14BattleText6: TX_FAR _Route14BattleText6 db "@" -Route14EndBattleText6: ; 55b07 (15:5b07) +Route14EndBattleText6: TX_FAR _Route14EndBattleText6 db "@" -Route14AfterBattleText6: ; 55b0c (15:5b0c) +Route14AfterBattleText6: TX_FAR _Route14AfterBattleText6 db "@" -Route14Text7: ; 55b11 (15:5b11) - db $08 ; asm +Route14Text7: + TX_ASM ld hl, Route14TrainerHeader6 call TalkToTrainer jp TextScriptEnd -Route14BattleText7: ; 55b1b (15:5b1b) +Route14BattleText7: TX_FAR _Route14BattleText7 db "@" -Route14EndBattleText7: ; 55b20 (15:5b20) +Route14EndBattleText7: TX_FAR _Route14EndBattleText7 db "@" -Route14AfterBattleText7: ; 55b25 (15:5b25) +Route14AfterBattleText7: TX_FAR _Route14AfterBattleText7 db "@" -Route14Text8: ; 55b2a (15:5b2a) - db $08 ; asm +Route14Text8: + TX_ASM ld hl, Route14TrainerHeader7 call TalkToTrainer jp TextScriptEnd -Route14BattleText8: ; 55b34 (15:5b34) +Route14BattleText8: TX_FAR _Route14BattleText8 db "@" -Route14EndBattleText8: ; 55b39 (15:5b39) +Route14EndBattleText8: TX_FAR _Route14EndBattleText8 db "@" -Route14AfterBattleText8: ; 55b3e (15:5b3e) +Route14AfterBattleText8: TX_FAR _Route14AfterBattleText8 db "@" -Route14Text9: ; 55b43 (15:5b43) - db $08 ; asm +Route14Text9: + TX_ASM ld hl, Route14TrainerHeader8 call TalkToTrainer jp TextScriptEnd -Route14BattleText9: ; 55b4d (15:5b4d) +Route14BattleText9: TX_FAR _Route14BattleText9 db "@" -Route14EndBattleText9: ; 55b52 (15:5b52) +Route14EndBattleText9: TX_FAR _Route14EndBattleText9 db "@" -Route14AfterBattleText9: ; 55b57 (15:5b57) +Route14AfterBattleText9: TX_FAR _Route14AfterBattleText9 db "@" -Route14Text10: ; 55b5c (15:5b5c) - db $08 ; asm +Route14Text10: + TX_ASM ld hl, Route14TrainerHeader9 call TalkToTrainer jp TextScriptEnd -Route14BattleText10: ; 55b66 (15:5b66) +Route14BattleText10: TX_FAR _Route14BattleText10 db "@" -Route14EndBattleText10: ; 55b6b (15:5b6b) +Route14EndBattleText10: TX_FAR _Route14EndBattleText10 db "@" -Route14AfterBattleText10: ; 55b70 (15:5b70) +Route14AfterBattleText10: TX_FAR _Route14AfterBattleText10 db "@" -Route14Text11: ; 55b75 (15:5b75) +Route14Text11: TX_FAR _Route14Text11 db "@" diff --git a/scripts/route15.asm b/scripts/route15.asm index 733d4a1c..58c5d0ab 100755 --- a/scripts/route15.asm +++ b/scripts/route15.asm @@ -1,18 +1,18 @@ -Route15Script: ; 597ae (16:57ae) +Route15Script: call EnableAutoTextBoxDrawing - ld hl, Route15TrainerHeaders + ld hl, Route15TrainerHeader0 ld de, Route15ScriptPointers - ld a, [W_ROUTE15CURSCRIPT] + ld a, [wRoute15CurScript] call ExecuteCurMapScriptInTable - ld [W_ROUTE15CURSCRIPT], a + ld [wRoute15CurScript], a ret -Route15ScriptPointers: ; 597c1 (16:57c1) +Route15ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle -Route15TextPointers: ; 597c7 (16:57c7) +Route15TextPointers: dw Route15Text1 dw Route15Text2 dw Route15Text3 @@ -23,274 +23,273 @@ Route15TextPointers: ; 597c7 (16:57c7) dw Route15Text8 dw Route15Text9 dw Route15Text10 - dw Predef5CText + dw PickUpItemText dw Route15Text12 -Route15TrainerHeaders: ; 597df (16:57df) -Route15TrainerHeader0: ; 597df (16:57df) - db $1 ; flag's bit +Route15TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_0 db ($2 << 4) ; trainer's view range - dw wd7dd ; flag's byte - dw Route15BattleText1 ; 0x5898 TextBeforeBattle - dw Route15AfterBattleText1 ; 0x58a2 TextAfterBattle - dw Route15EndBattleText1 ; 0x589d TextEndBattle - dw Route15EndBattleText1 ; 0x589d TextEndBattle - -Route15TrainerHeader1: ; 597eb (16:57eb) - db $2 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_0 + dw Route15BattleText1 ; TextBeforeBattle + dw Route15AfterBattleText1 ; TextAfterBattle + dw Route15EndBattleText1 ; TextEndBattle + dw Route15EndBattleText1 ; TextEndBattle + +Route15TrainerHeader1: + dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_1 db ($3 << 4) ; trainer's view range - dw wd7dd ; flag's byte - dw Route15BattleText2 ; 0x58a7 TextBeforeBattle - dw Route15AfterBattleText2 ; 0x58b1 TextAfterBattle - dw Route15EndBattleText2 ; 0x58ac TextEndBattle - dw Route15EndBattleText2 ; 0x58ac TextEndBattle - -Route15TrainerHeader2: ; 597f7 (16:57f7) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_1 + dw Route15BattleText2 ; TextBeforeBattle + dw Route15AfterBattleText2 ; TextAfterBattle + dw Route15EndBattleText2 ; TextEndBattle + dw Route15EndBattleText2 ; TextEndBattle + +Route15TrainerHeader2: + dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_2 db ($3 << 4) ; trainer's view range - dw wd7dd ; flag's byte - dw Route15BattleText3 ; 0x58b6 TextBeforeBattle - dw Route15AfterBattleText3 ; 0x58c0 TextAfterBattle - dw Route15EndBattleText3 ; 0x58bb TextEndBattle - dw Route15EndBattleText3 ; 0x58bb TextEndBattle - -Route15TrainerHeader3: ; 59803 (16:5803) - db $4 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_2 + dw Route15BattleText3 ; TextBeforeBattle + dw Route15AfterBattleText3 ; TextAfterBattle + dw Route15EndBattleText3 ; TextEndBattle + dw Route15EndBattleText3 ; TextEndBattle + +Route15TrainerHeader3: + dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_3 db ($3 << 4) ; trainer's view range - dw wd7dd ; flag's byte - dw Route15BattleText4 ; 0x58c5 TextBeforeBattle - dw Route15AfterBattleText4 ; 0x58cf TextAfterBattle - dw Route15EndBattleText4 ; 0x58ca TextEndBattle - dw Route15EndBattleText4 ; 0x58ca TextEndBattle - -Route15TrainerHeader4: ; 5980f (16:580f) - db $5 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_3 + dw Route15BattleText4 ; TextBeforeBattle + dw Route15AfterBattleText4 ; TextAfterBattle + dw Route15EndBattleText4 ; TextEndBattle + dw Route15EndBattleText4 ; TextEndBattle + +Route15TrainerHeader4: + dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_4 db ($2 << 4) ; trainer's view range - dw wd7dd ; flag's byte - dw Route15BattleText5 ; 0x58d4 TextBeforeBattle - dw Route15AfterBattleText5 ; 0x58de TextAfterBattle - dw Route15EndBattleText5 ; 0x58d9 TextEndBattle - dw Route15EndBattleText5 ; 0x58d9 TextEndBattle - -Route15TrainerHeader5: ; 5981b (16:581b) - db $6 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_4 + dw Route15BattleText5 ; TextBeforeBattle + dw Route15AfterBattleText5 ; TextAfterBattle + dw Route15EndBattleText5 ; TextEndBattle + dw Route15EndBattleText5 ; TextEndBattle + +Route15TrainerHeader5: + dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_5 db ($3 << 4) ; trainer's view range - dw wd7dd ; flag's byte - dw Route15BattleText6 ; 0x58e3 TextBeforeBattle - dw Route15AfterBattleText6 ; 0x58ed TextAfterBattle - dw Route15EndBattleText6 ; 0x58e8 TextEndBattle - dw Route15EndBattleText6 ; 0x58e8 TextEndBattle - -Route15TrainerHeader6: ; 59827 (16:5827) - db $7 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_5 + dw Route15BattleText6 ; TextBeforeBattle + dw Route15AfterBattleText6 ; TextAfterBattle + dw Route15EndBattleText6 ; TextEndBattle + dw Route15EndBattleText6 ; TextEndBattle + +Route15TrainerHeader6: + dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_6 db ($3 << 4) ; trainer's view range - dw wd7dd ; flag's byte - dw Route15BattleText7 ; 0x58f2 TextBeforeBattle - dw Route15AfterBattleText7 ; 0x58fc TextAfterBattle - dw Route15EndBattleText7 ; 0x58f7 TextEndBattle - dw Route15EndBattleText7 ; 0x58f7 TextEndBattle - -Route15TrainerHeader7: ; 59833 (16:5833) - db $8 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_6 + dw Route15BattleText7 ; TextBeforeBattle + dw Route15AfterBattleText7 ; TextAfterBattle + dw Route15EndBattleText7 ; TextEndBattle + dw Route15EndBattleText7 ; TextEndBattle + +Route15TrainerHeader7: + dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_7, 1 db ($3 << 4) ; trainer's view range - dw wd7dd ; flag's byte - dw Route15BattleText8 ; 0x5901 TextBeforeBattle - dw Route15AfterBattleText8 ; 0x590b TextAfterBattle - dw Route15EndBattleText8 ; 0x5906 TextEndBattle - dw Route15EndBattleText8 ; 0x5906 TextEndBattle - -Route15TrainerHeader8: ; 5983f (16:583f) - db $9 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_7, 1 + dw Route15BattleText8 ; TextBeforeBattle + dw Route15AfterBattleText8 ; TextAfterBattle + dw Route15EndBattleText8 ; TextEndBattle + dw Route15EndBattleText8 ; TextEndBattle + +Route15TrainerHeader8: + dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_8, 1 db ($3 << 4) ; trainer's view range - dw wd7dd ; flag's byte - dw Route15BattleText9 ; 0x5910 TextBeforeBattle - dw Route15AfterBattleText9 ; 0x591a TextAfterBattle - dw Route15EndBattleText9 ; 0x5915 TextEndBattle - dw Route15EndBattleText9 ; 0x5915 TextEndBattle - -Route15TrainerHeader9: ; 5984b (16:584b) - db $a ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_8, 1 + dw Route15BattleText9 ; TextBeforeBattle + dw Route15AfterBattleText9 ; TextAfterBattle + dw Route15EndBattleText9 ; TextEndBattle + dw Route15EndBattleText9 ; TextEndBattle + +Route15TrainerHeader9: + dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_9, 1 db ($3 << 4) ; trainer's view range - dw wd7dd ; flag's byte - dw Route15BattleText10 ; 0x591f TextBeforeBattle - dw Route15AfterBattleText10 ; 0x5929 TextAfterBattle - dw Route15EndBattleText10 ; 0x5924 TextEndBattle - dw Route15EndBattleText10 ; 0x5924 TextEndBattle + dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_9, 1 + dw Route15BattleText10 ; TextBeforeBattle + dw Route15AfterBattleText10 ; TextAfterBattle + dw Route15EndBattleText10 ; TextEndBattle + dw Route15EndBattleText10 ; TextEndBattle db $ff -Route15Text1: ; 59858 (16:5858) - db $8 ; asm +Route15Text1: + TX_ASM ld hl, Route15TrainerHeader0 - jr asm_33cb7 ; 0x5985c $34 + jr Route15TalkToTrainer -Route15Text2: ; 5985e (16:585e) - db $8 ; asm +Route15Text2: + TX_ASM ld hl, Route15TrainerHeader1 - jr asm_33cb7 ; 0x59862 $2e + jr Route15TalkToTrainer -Route15Text3: ; 59864 (16:5864) - db $8 ; asm +Route15Text3: + TX_ASM ld hl, Route15TrainerHeader2 - jr asm_33cb7 ; 0x59868 $28 + jr Route15TalkToTrainer -Route15Text4: ; 5986a (16:586a) - db $8 ; asm +Route15Text4: + TX_ASM ld hl, Route15TrainerHeader3 - jr asm_33cb7 ; 0x5986e $22 + jr Route15TalkToTrainer -Route15Text5: ; 59870 (16:5870) - db $8 ; asm +Route15Text5: + TX_ASM ld hl, Route15TrainerHeader4 - jr asm_33cb7 ; 0x59874 $1c + jr Route15TalkToTrainer -Route15Text6: ; 59876 (16:5876) - db $8 ; asm +Route15Text6: + TX_ASM ld hl, Route15TrainerHeader5 - jr asm_33cb7 ; 0x5987a $16 + jr Route15TalkToTrainer -Route15Text7: ; 5987c (16:587c) - db $8 ; asm +Route15Text7: + TX_ASM ld hl, Route15TrainerHeader6 - jr asm_33cb7 ; 0x59880 $10 + jr Route15TalkToTrainer -Route15Text8: ; 59882 (16:5882) - db $8 ; asm +Route15Text8: + TX_ASM ld hl, Route15TrainerHeader7 - jr asm_33cb7 ; 0x59886 $a + jr Route15TalkToTrainer -Route15Text9: ; 59888 (16:5888) - db $8 ; asm +Route15Text9: + TX_ASM ld hl, Route15TrainerHeader8 - jr asm_33cb7 ; 0x5988c $4 + jr Route15TalkToTrainer -Route15Text10: ; 5988e (16:588e) - db $8 ; asm +Route15Text10: + TX_ASM ld hl, Route15TrainerHeader9 -asm_33cb7: ; 59892 (16:5892) +Route15TalkToTrainer: call TalkToTrainer jp TextScriptEnd -Route15BattleText1: ; 59898 (16:5898) +Route15BattleText1: TX_FAR _Route15BattleText1 db "@" -Route15EndBattleText1: ; 5989d (16:589d) +Route15EndBattleText1: TX_FAR _Route15EndBattleText1 db "@" -Route15AfterBattleText1: ; 598a2 (16:58a2) +Route15AfterBattleText1: TX_FAR _Route15AfterBattleText1 db "@" -Route15BattleText2: ; 598a7 (16:58a7) +Route15BattleText2: TX_FAR _Route15BattleText2 db "@" -Route15EndBattleText2: ; 598ac (16:58ac) +Route15EndBattleText2: TX_FAR _Route15EndBattleText2 db "@" -Route15AfterBattleText2: ; 598b1 (16:58b1) +Route15AfterBattleText2: TX_FAR _Route15AfterBattleText2 db "@" -Route15BattleText3: ; 598b6 (16:58b6) +Route15BattleText3: TX_FAR _Route15BattleText3 db "@" -Route15EndBattleText3: ; 598bb (16:58bb) +Route15EndBattleText3: TX_FAR _Route15EndBattleText3 db "@" -Route15AfterBattleText3: ; 598c0 (16:58c0) +Route15AfterBattleText3: TX_FAR _Route15AfterBattleText3 db "@" -Route15BattleText4: ; 598c5 (16:58c5) +Route15BattleText4: TX_FAR _Route15BattleText4 db "@" -Route15EndBattleText4: ; 598ca (16:58ca) +Route15EndBattleText4: TX_FAR _Route15EndBattleText4 db "@" -Route15AfterBattleText4: ; 598cf (16:58cf) +Route15AfterBattleText4: TX_FAR _Route15AfterBattleText4 db "@" -Route15BattleText5: ; 598d4 (16:58d4) +Route15BattleText5: TX_FAR _Route15BattleText5 db "@" -Route15EndBattleText5: ; 598d9 (16:58d9) +Route15EndBattleText5: TX_FAR _Route15EndBattleText5 db "@" -Route15AfterBattleText5: ; 598de (16:58de) +Route15AfterBattleText5: TX_FAR _Route15AfterBattleText5 db "@" -Route15BattleText6: ; 598e3 (16:58e3) +Route15BattleText6: TX_FAR _Route15BattleText6 db "@" -Route15EndBattleText6: ; 598e8 (16:58e8) +Route15EndBattleText6: TX_FAR _Route15EndBattleText6 db "@" -Route15AfterBattleText6: ; 598ed (16:58ed) +Route15AfterBattleText6: TX_FAR _Route15AfterBattleText6 db "@" -Route15BattleText7: ; 598f2 (16:58f2) +Route15BattleText7: TX_FAR _Route15BattleText7 db "@" -Route15EndBattleText7: ; 598f7 (16:58f7) +Route15EndBattleText7: TX_FAR _Route15EndBattleText7 db "@" -Route15AfterBattleText7: ; 598fc (16:58fc) +Route15AfterBattleText7: TX_FAR _Route15AfterBattleText7 db "@" -Route15BattleText8: ; 59901 (16:5901) +Route15BattleText8: TX_FAR _Route15BattleText8 db "@" -Route15EndBattleText8: ; 59906 (16:5906) +Route15EndBattleText8: TX_FAR _Route15EndBattleText8 db "@" -Route15AfterBattleText8: ; 5990b (16:590b) +Route15AfterBattleText8: TX_FAR _Route15AfterBattleText8 db "@" -Route15BattleText9: ; 59910 (16:5910) +Route15BattleText9: TX_FAR _Route15BattleText9 db "@" -Route15EndBattleText9: ; 59915 (16:5915) +Route15EndBattleText9: TX_FAR _Route15EndBattleText9 db "@" -Route15AfterBattleText9: ; 5991a (16:591a) +Route15AfterBattleText9: TX_FAR _Route15AfterBattleText9 db "@" -Route15BattleText10: ; 5991f (16:591f) +Route15BattleText10: TX_FAR _Route15BattleText10 db "@" -Route15EndBattleText10: ; 59924 (16:5924) +Route15EndBattleText10: TX_FAR _Route15EndBattleText10 db "@" -Route15AfterBattleText10: ; 59929 (16:5929) +Route15AfterBattleText10: TX_FAR _Route15AfterBattleText10 db "@" -Route15Text12: ; 5992e (16:592e) +Route15Text12: TX_FAR _Route15Text12 db "@" diff --git a/scripts/route15gate.asm b/scripts/route15gate.asm index 76e9aadf..40db02dd 100755 --- a/scripts/route15gate.asm +++ b/scripts/route15gate.asm @@ -1,9 +1,9 @@ -Route15GateScript: ; 49602 (12:5602) +Route15GateScript: jp EnableAutoTextBoxDrawing -Route15GateTextPointers: ; 49605 (12:5605) +Route15GateTextPointers: dw Route15GateText1 -Route15GateText1: ; 49607 (12:5607) +Route15GateText1: TX_FAR _Route15GateText1 db "@" diff --git a/scripts/route15gateupstairs.asm b/scripts/route15gateupstairs.asm index 2d328122..c7f6a2ad 100755 --- a/scripts/route15gateupstairs.asm +++ b/scripts/route15gateupstairs.asm @@ -1,46 +1,44 @@ -Route15GateUpstairsScript: ; 4964a (12:564a) +Route15GateUpstairsScript: jp DisableAutoTextBoxDrawing -Route15GateUpstairsTextPointers: ; 4964d (12:564d) +Route15GateUpstairsTextPointers: dw Route15GateUpstairsText1 dw Route15GateUpstairsText2 -Route15GateUpstairsText1: ; 49651 (12:5651) - db $8 - ld a, [wd7dd] - bit 0, a - jr nz, .asm_49683 ; 0x49657 $2a +Route15GateUpstairsText1: + TX_ASM + CheckEvent EVENT_GOT_EXP_ALL + jr nz, .asm_49683 ld a, 50 ; pokemon needed - ld [$ffdb], a - ld a, EXP__ALL ; oak's aide reward - ld [$ffdc], a + ld [hOaksAideRequirement], a + ld a, EXP_ALL ; oak's aide reward + ld [hOaksAideRewardItem], a ld [wd11e], a call GetItemName ld hl, wcd6d - ld de, wcc5b - ld bc, $000d + ld de, wOaksAideRewardItemName + ld bc, ITEM_NAME_LENGTH call CopyData - predef OaksAideScript ; call oak's aide script - ld a, [$ffdb] + predef OaksAideScript + ld a, [hOaksAideResult] cp $1 - jr nz, .asm_49689 ; 0x4967c $b - ld hl, wd7dd - set 0, [hl] + jr nz, .asm_49689 + SetEvent EVENT_GOT_EXP_ALL .asm_49683 ld hl, Route15GateUpstairsText_4968c call PrintText .asm_49689 jp TextScriptEnd -Route15GateUpstairsText_4968c: ; 4968c (12:568c) +Route15GateUpstairsText_4968c: TX_FAR _Route15GateUpstairsText_4968c db "@" -Route15GateUpstairsText2: ; 49691 (12:5691) - db $8 +Route15GateUpstairsText2: + TX_ASM ld hl, Route15GateUpstairsText_49698 - jp Route12GateUpstairsScript_495c9 + jp GateUpstairsScript_PrintIfFacingUp -Route15GateUpstairsText_49698: ; 49698 (12:5698) +Route15GateUpstairsText_49698: TX_FAR _Route15GateUpstairsText_49698 db "@" diff --git a/scripts/route16.asm b/scripts/route16.asm index ef5b5859..20431608 100755 --- a/scripts/route16.asm +++ b/scripts/route16.asm @@ -1,50 +1,49 @@ -Route16Script: ; 59933 (16:5933) +Route16Script: call EnableAutoTextBoxDrawing - ld hl, Route16TrainerHeaders + ld hl, Route16TrainerHeader0 ld de, Route16ScriptPointers - ld a, [W_ROUTE16CURSCRIPT] + ld a, [wRoute16CurScript] call ExecuteCurMapScriptInTable - ld [W_ROUTE16CURSCRIPT], a + ld [wRoute16CurScript], a ret -Route16Script_59946: ; 59946 (16:5946) +Route16Script_59946: xor a ld [wJoyIgnore], a - ld [W_ROUTE16CURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wRoute16CurScript], a + ld [wCurMapScript], a ret -Route16ScriptPointers: ; 59951 (16:5951) +Route16ScriptPointers: dw Route16Script0 dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle dw Route16Script3 -Route16Script0: ; 59959 (16:5959) - ld hl, wd7e0 - bit 1, [hl] +Route16Script0: + CheckEventHL EVENT_BEAT_ROUTE16_SNORLAX jp nz, CheckFightingMapTrainers - bit 0, [hl] - res 0, [hl] + CheckEventReuseHL EVENT_FIGHT_ROUTE16_SNORLAX + ResetEventReuseHL EVENT_FIGHT_ROUTE16_SNORLAX jp z, CheckFightingMapTrainers ld a, $a - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, SNORLAX - ld [W_CUROPPONENT], a ; wd059 + ld [wCurOpponent], a ld a, 30 - ld [W_CURENEMYLVL], a ; W_CURENEMYLVL + ld [wCurEnemyLVL], a ld a, HS_ROUTE_16_SNORLAX - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject call UpdateSprites ld a, $3 - ld [W_ROUTE16CURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wRoute16CurScript], a + ld [wCurMapScript], a ret -Route16Script3: ; 5998f (16:598f) - ld a, [W_ISINBATTLE] ; W_ISINBATTLE +Route16Script3: + ld a, [wIsInBattle] cp $ff jp z, Route16Script_59946 call UpdateSprites @@ -52,18 +51,17 @@ Route16Script3: ; 5998f (16:598f) cp $2 jr z, .asm_599a8 ld a, $b - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a call DisplayTextID .asm_599a8 - ld hl, wd7e0 - set 1, [hl] + SetEvent EVENT_BEAT_ROUTE16_SNORLAX call Delay3 ld a, $0 - ld [W_ROUTE16CURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wRoute16CurScript], a + ld [wCurMapScript], a ret -Route16TextPointers: ; 599b9 (16:59b9) +Route16TextPointers: dw Route16Text1 dw Route16Text2 dw Route16Text3 @@ -76,187 +74,186 @@ Route16TextPointers: ; 599b9 (16:59b9) dw Route16Text10 dw Route16Text11 -Route16TrainerHeaders: ; 599cf (16:59cf) -Route16TrainerHeader0: ; 599cf (16:59cf) - db $1 ; flag's bit +Route16TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROUTE_16_TRAINER_0 db ($3 << 4) ; trainer's view range - dw wd7df ; flag's byte - dw Route16BattleText1 ; 0x5a22 TextBeforeBattle - dw Route16AfterBattleText1 ; 0x5a2c TextAfterBattle - dw Route16EndBattleText1 ; 0x5a27 TextEndBattle - dw Route16EndBattleText1 ; 0x5a27 TextEndBattle - -Route16TrainerHeader1: ; 599db (16:59db) - db $2 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_16_TRAINER_0 + dw Route16BattleText1 ; TextBeforeBattle + dw Route16AfterBattleText1 ; TextAfterBattle + dw Route16EndBattleText1 ; TextEndBattle + dw Route16EndBattleText1 ; TextEndBattle + +Route16TrainerHeader1: + dbEventFlagBit EVENT_BEAT_ROUTE_16_TRAINER_1 db ($2 << 4) ; trainer's view range - dw wd7df ; flag's byte - dw Route16BattleText2 ; 0x5a3b TextBeforeBattle - dw Route16AfterBattleText2 ; 0x5a45 TextAfterBattle - dw Route16EndBattleText2 ; 0x5a40 TextEndBattle - dw Route16EndBattleText2 ; 0x5a40 TextEndBattle - -Route16TrainerHeader2: ; 599e7 (16:59e7) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_16_TRAINER_1 + dw Route16BattleText2 ; TextBeforeBattle + dw Route16AfterBattleText2 ; TextAfterBattle + dw Route16EndBattleText2 ; TextEndBattle + dw Route16EndBattleText2 ; TextEndBattle + +Route16TrainerHeader2: + dbEventFlagBit EVENT_BEAT_ROUTE_16_TRAINER_2 db ($2 << 4) ; trainer's view range - dw wd7df ; flag's byte - dw Route16BattleText3 ; 0x5a54 TextBeforeBattle - dw Route16AfterBattleText3 ; 0x5a5e TextAfterBattle - dw Route16EndBattleText3 ; 0x5a59 TextEndBattle - dw Route16EndBattleText3 ; 0x5a59 TextEndBattle - -Route16TrainerHeader3: ; 599f3 (16:59f3) - db $4 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_16_TRAINER_2 + dw Route16BattleText3 ; TextBeforeBattle + dw Route16AfterBattleText3 ; TextAfterBattle + dw Route16EndBattleText3 ; TextEndBattle + dw Route16EndBattleText3 ; TextEndBattle + +Route16TrainerHeader3: + dbEventFlagBit EVENT_BEAT_ROUTE_16_TRAINER_3 db ($2 << 4) ; trainer's view range - dw wd7df ; flag's byte - dw Route16BattleText4 ; 0x5a6d TextBeforeBattle - dw Route16AfterBattleText4 ; 0x5a77 TextAfterBattle - dw Route16EndBattleText4 ; 0x5a72 TextEndBattle - dw Route16EndBattleText4 ; 0x5a72 TextEndBattle - -Route16TrainerHeader4: ; 599ff (16:59ff) - db $5 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_16_TRAINER_3 + dw Route16BattleText4 ; TextBeforeBattle + dw Route16AfterBattleText4 ; TextAfterBattle + dw Route16EndBattleText4 ; TextEndBattle + dw Route16EndBattleText4 ; TextEndBattle + +Route16TrainerHeader4: + dbEventFlagBit EVENT_BEAT_ROUTE_16_TRAINER_4 db ($2 << 4) ; trainer's view range - dw wd7df ; flag's byte - dw Route16BattleText5 ; 0x5a86 TextBeforeBattle - dw Route16AfterBattleText5 ; 0x5a90 TextAfterBattle - dw Route16EndBattleText5 ; 0x5a8b TextEndBattle - dw Route16EndBattleText5 ; 0x5a8b TextEndBattle - -Route16TrainerHeader5: ; 59a0b (16:5a0b) - db $6 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_16_TRAINER_4 + dw Route16BattleText5 ; TextBeforeBattle + dw Route16AfterBattleText5 ; TextAfterBattle + dw Route16EndBattleText5 ; TextEndBattle + dw Route16EndBattleText5 ; TextEndBattle + +Route16TrainerHeader5: + dbEventFlagBit EVENT_BEAT_ROUTE_16_TRAINER_5 db ($4 << 4) ; trainer's view range - dw wd7df ; flag's byte - dw Route16BattleText6 ; 0x5a9f TextBeforeBattle - dw Route16AfterBattleText6 ; 0x5aa9 TextAfterBattle - dw Route16EndBattleText6 ; 0x5aa4 TextEndBattle - dw Route16EndBattleText6 ; 0x5aa4 TextEndBattle + dwEventFlagAddress EVENT_BEAT_ROUTE_16_TRAINER_5 + dw Route16BattleText6 ; TextBeforeBattle + dw Route16AfterBattleText6 ; TextAfterBattle + dw Route16EndBattleText6 ; TextEndBattle + dw Route16EndBattleText6 ; TextEndBattle db $ff -Route16Text1: ; 59a18 (16:5a18) - db $08 ; asm +Route16Text1: + TX_ASM ld hl, Route16TrainerHeader0 call TalkToTrainer jp TextScriptEnd -Route16BattleText1: ; 59a22 (16:5a22) +Route16BattleText1: TX_FAR _Route16BattleText1 db "@" -Route16EndBattleText1: ; 59a27 (16:5a27) +Route16EndBattleText1: TX_FAR _Route16EndBattleText1 db "@" -Route16AfterBattleText1: ; 59a2c (16:5a2c) +Route16AfterBattleText1: TX_FAR _Route16AfterBattleText1 db "@" -Route16Text2: ; 59a31 (16:5a31) - db $08 ; asm +Route16Text2: + TX_ASM ld hl, Route16TrainerHeader1 call TalkToTrainer jp TextScriptEnd -Route16BattleText2: ; 59a3b (16:5a3b) +Route16BattleText2: TX_FAR _Route16BattleText2 db "@" -Route16EndBattleText2: ; 59a40 (16:5a40) +Route16EndBattleText2: TX_FAR _Route16EndBattleText2 db "@" -Route16AfterBattleText2: ; 59a45 (16:5a45) +Route16AfterBattleText2: TX_FAR _Route16AfterBattleText2 db "@" -Route16Text3: ; 59a4a (16:5a4a) - db $08 ; asm +Route16Text3: + TX_ASM ld hl, Route16TrainerHeader2 call TalkToTrainer jp TextScriptEnd -Route16BattleText3: ; 59a54 (16:5a54) +Route16BattleText3: TX_FAR _Route16BattleText3 db "@" -Route16EndBattleText3: ; 59a59 (16:5a59) +Route16EndBattleText3: TX_FAR _Route16EndBattleText3 db "@" -Route16AfterBattleText3: ; 59a5e (16:5a5e) +Route16AfterBattleText3: TX_FAR _Route16AfterBattleText3 db "@" -Route16Text4: ; 59a63 (16:5a63) - db $08 ; asm +Route16Text4: + TX_ASM ld hl, Route16TrainerHeader3 call TalkToTrainer jp TextScriptEnd -Route16BattleText4: ; 59a6d (16:5a6d) +Route16BattleText4: TX_FAR _Route16BattleText4 db "@" -Route16EndBattleText4: ; 59a72 (16:5a72) +Route16EndBattleText4: TX_FAR _Route16EndBattleText4 db "@" -Route16AfterBattleText4: ; 59a77 (16:5a77) +Route16AfterBattleText4: TX_FAR _Route16AfterBattleText4 db "@" -Route16Text5: ; 59a7c (16:5a7c) - db $08 ; asm +Route16Text5: + TX_ASM ld hl, Route16TrainerHeader4 call TalkToTrainer jp TextScriptEnd -Route16BattleText5: ; 59a86 (16:5a86) +Route16BattleText5: TX_FAR _Route16BattleText5 db "@" -Route16EndBattleText5: ; 59a8b (16:5a8b) +Route16EndBattleText5: TX_FAR _Route16EndBattleText5 db "@" -Route16AfterBattleText5: ; 59a90 (16:5a90) +Route16AfterBattleText5: TX_FAR _Route16AfterBattleText5 db "@" -Route16Text6: ; 59a95 (16:5a95) - db $08 ; asm +Route16Text6: + TX_ASM ld hl, Route16TrainerHeader5 call TalkToTrainer jp TextScriptEnd -Route16BattleText6: ; 59a9f (16:5a9f) +Route16BattleText6: TX_FAR _Route16BattleText6 db "@" -Route16EndBattleText6: ; 59aa4 (16:5aa4) +Route16EndBattleText6: TX_FAR _Route16EndBattleText6 db "@" -Route16AfterBattleText6: ; 59aa9 (16:5aa9) +Route16AfterBattleText6: TX_FAR _Route16AfterBattleText6 db "@" -Route16Text7: ; 59aae (16:5aae) +Route16Text7: TX_FAR _Route16Text7 db "@" -Route16Text10: ; 59ab3 (16:5ab3) +Route16Text10: TX_FAR _Route16Text10 db "@" -Route16Text11: ; 59ab8 (16:5ab8) +Route16Text11: TX_FAR _Route16Text11 db "@" -Route16Text8: ; 59abd (16:5abd) +Route16Text8: TX_FAR _Route16Text8 db "@" -Route16Text9: ; 59ac2 (16:5ac2) +Route16Text9: TX_FAR _Route16Text9 db "@" diff --git a/scripts/route16gate.asm b/scripts/route16gate.asm index 54bca413..e20ba6f7 100755 --- a/scripts/route16gate.asm +++ b/scripts/route16gate.asm @@ -1,76 +1,76 @@ -Route16GateScript: ; 496be (12:56be) +Route16GateScript: ld hl, wd732 res 5, [hl] call EnableAutoTextBoxDrawing - ld a, [W_ROUTE16GATECURSCRIPT] + ld a, [wRoute16GateCurScript] ld hl, Route16GateScriptPointers jp CallFunctionInTable -Route16GateScriptPointers: ; 496cf (12:56cf) +Route16GateScriptPointers: dw Route16GateScript0 dw Route16GateScript1 dw Route16GateScript2 dw Route16GateScript3 -Route16GateScript0: ; 496d7 (12:56d7) +Route16GateScript0: call Route16GateScript_49755 ret nz ld hl, CoordsData_49714 call ArePlayerCoordsInArray ret nc ld a, $3 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID xor a ld [hJoyHeld], a - ld a, [wWhichTrade] + ld a, [wCoordIndex] cp $1 - jr z, .asm_4970e ; 0x496f1 $1b - ld a, [wWhichTrade] + jr z, .asm_4970e + ld a, [wCoordIndex] dec a ld [wSimulatedJoypadStatesIndex], a ld b, $0 ld c, a - ld a, $40 + ld a, D_UP ld hl, wSimulatedJoypadStatesEnd call FillMemory call StartSimulatingJoypadStates ld a, $1 - ld [W_ROUTE16GATECURSCRIPT], a + ld [wRoute16GateCurScript], a ret .asm_4970e ld a, $2 - ld [W_ROUTE16GATECURSCRIPT], a + ld [wRoute16GateCurScript], a ret -CoordsData_49714: ; 49714 (12:5714) +CoordsData_49714: db $07,$04 db $08,$04 db $09,$04 db $0A,$04 db $FF -Route16GateScript1: ; 4971d (12:571d) +Route16GateScript1: ld a, [wSimulatedJoypadStatesIndex] and a ret nz ld a, $f0 ld [wJoyIgnore], a -Route16GateScript2: ; 49727 (12:5727) +Route16GateScript2: ld a, $1 - ld [H_SPRITEHEIGHT], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $1 ld [wSimulatedJoypadStatesIndex], a - ld a, $10 + ld a, D_RIGHT ld [wSimulatedJoypadStatesEnd], a call StartSimulatingJoypadStates ld a, $3 - ld [W_ROUTE16GATECURSCRIPT], a + ld [wRoute16GateCurScript], a ret -Route16GateScript3: ; 49741 (12:5741) +Route16GateScript3: ld a, [wSimulatedJoypadStatesIndex] and a ret nz @@ -79,43 +79,43 @@ Route16GateScript3: ; 49741 (12:5741) ld hl, wd730 res 7, [hl] ld a, $0 - ld [W_ROUTE16GATECURSCRIPT], a + ld [wRoute16GateCurScript], a ret -Route16GateScript_49755: ; 49755 (12:5755) +Route16GateScript_49755: ld b, BICYCLE jp IsItemInBag -Route16GateTextPointers: ; 4975a (12:575a) +Route16GateTextPointers: dw Route16GateText1 dw Route16GateText2 dw Route16GateText3 -Route16GateText1: ; 49760 (12:5760) - db $08 ; asm +Route16GateText1: + TX_ASM call Route16GateScript_49755 - jr z, .asm_0bdf3 ; 0x49764 + jr z, .asm_0bdf3 ld hl, Route16GateText_4977c call PrintText - jr .asm_56c9d ; 0x4976c -.asm_0bdf3 ; 0x4976e + jr .asm_56c9d +.asm_0bdf3 ld hl, Route16GateText_49777 call PrintText -.asm_56c9d ; 0x49774 +.asm_56c9d jp TextScriptEnd -Route16GateText_49777: ; 49777 (12:5777) +Route16GateText_49777: TX_FAR _Route16GateText_49777 db "@" -Route16GateText_4977c: ; 4977c (12:577c) +Route16GateText_4977c: TX_FAR _Route16GateText_4977c db "@" -Route16GateText3: ; 49781 (12:5781) +Route16GateText3: TX_FAR _Route16GateText_49781 db "@" -Route16GateText2: ; 49786 (12:5786) +Route16GateText2: TX_FAR _Route16GateText2 db "@" diff --git a/scripts/route16gateupstairs.asm b/scripts/route16gateupstairs.asm index c9996dcd..664976a2 100755 --- a/scripts/route16gateupstairs.asm +++ b/scripts/route16gateupstairs.asm @@ -1,46 +1,46 @@ -Route16GateUpstairsScript: ; 4980b (12:580b) +Route16GateUpstairsScript: jp DisableAutoTextBoxDrawing -Route16GateUpstairsTextPointers: ; 4980e (12:580e) +Route16GateUpstairsTextPointers: dw Route16GateUpstairsText1 dw Route16GateUpstairsText2 dw Route16GateUpstairsText3 dw Route16GateUpstairsText4 -Route16GateUpstairsText1: ; 49816 (12:5816) - db $08 ; asm +Route16GateUpstairsText1: + TX_ASM ld hl, Route16GateUpstairsText_49820 call PrintText jp TextScriptEnd -Route16GateUpstairsText_49820: ; 49820 (12:5820) +Route16GateUpstairsText_49820: TX_FAR _Route16GateUpstairsText_49820 db "@" -Route16GateUpstairsText2: ; 49825 (12:5825) - db $08 ; asm +Route16GateUpstairsText2: + TX_ASM ld hl, Route16GateUpstairsText_4982f call PrintText jp TextScriptEnd -Route16GateUpstairsText_4982f: ; 4982f (12:582f) +Route16GateUpstairsText_4982f: TX_FAR _Route16GateUpstairsText_4982f db "@" -Route16GateUpstairsText3: ; 49834 (12:5834) - db $8 +Route16GateUpstairsText3: + TX_ASM ld hl, Route16GateUpstairsText_4983b - jp Route12GateUpstairsScript_495c9 + jp GateUpstairsScript_PrintIfFacingUp -Route16GateUpstairsText_4983b: ; 4983b (12:583b) +Route16GateUpstairsText_4983b: TX_FAR _Route16GateUpstairsText_4983b db "@" -Route16GateUpstairsText4: ; 49840 (12:5840) - db $8 - ld hl, Route16GateUpstairsText_49847 ; $5847 - jp Route12GateUpstairsScript_495c9 +Route16GateUpstairsText4: + TX_ASM + ld hl, Route16GateUpstairsText_49847 + jp GateUpstairsScript_PrintIfFacingUp -Route16GateUpstairsText_49847: ; 49847 (12:5847) +Route16GateUpstairsText_49847: TX_FAR _Route16GateUpstairsText_49847 db "@" diff --git a/scripts/route16house.asm b/scripts/route16house.asm index 9a189757..5359248c 100755 --- a/scripts/route16house.asm +++ b/scripts/route16house.asm @@ -1,49 +1,48 @@ -Route16HouseScript: ; 1e5f8 (7:65f8) +Route16HouseScript: jp EnableAutoTextBoxDrawing -Route16HouseTextPointers: ; 1e5fb (7:65fb) +Route16HouseTextPointers: dw Route16HouseText1 dw Route16HouseText2 -Route16HouseText1: ; 1e5ff (7:65ff) - db $08 ; asm - ld a, [wd7e0] - bit 6, a +Route16HouseText1: + TX_ASM + CheckEvent EVENT_GOT_HM02 ld hl, HM02ExplanationText - jr nz, .asm_13616 ; 0x1e608 + jr nz, .asm_13616 ld hl, Route16HouseText3 call PrintText - ld bc, (HM_02 << 8) | 1 + lb bc, HM_02, 1 call GiveItem jr nc, .BagFull - ld hl, wd7e0 - set 6, [hl] + SetEvent EVENT_GOT_HM02 ld hl, ReceivedHM02Text - jr .asm_13616 ; 0x1e620 + jr .asm_13616 .BagFull ld hl, HM02NoRoomText -.asm_13616 ; 0x1e625 +.asm_13616 call PrintText jp TextScriptEnd -Route16HouseText3: ; 1e62b (7:662b) +Route16HouseText3: TX_FAR _Route16HouseText3 db "@" -ReceivedHM02Text: ; 1e630 (7:6630) +ReceivedHM02Text: TX_FAR _ReceivedHM02Text - db $11, "@" + TX_SFX_KEY_ITEM + db "@" -HM02ExplanationText: ; 1e636 (7:6636) +HM02ExplanationText: TX_FAR _HM02ExplanationText db "@" -HM02NoRoomText: ; 1e63b (7:663b) +HM02NoRoomText: TX_FAR _HM02NoRoomText db "@" -Route16HouseText2: ; 1e640 (7:6640) - db $08 ; asm +Route16HouseText2: + TX_ASM ld hl, Route16HouseText_1e652 call PrintText ld a, FEAROW @@ -51,6 +50,6 @@ Route16HouseText2: ; 1e640 (7:6640) call WaitForSoundToFinish jp TextScriptEnd -Route16HouseText_1e652: ; 1e652 (7:6652) +Route16HouseText_1e652: TX_FAR _Route16HouseText_1e652 db "@" diff --git a/scripts/route17.asm b/scripts/route17.asm index ffd00634..fb9f4cd8 100755 --- a/scripts/route17.asm +++ b/scripts/route17.asm @@ -1,18 +1,18 @@ -Route17Script: ; 55b7a (15:5b7a) +Route17Script: call EnableAutoTextBoxDrawing - ld hl, Route17TrainerHeaders + ld hl, Route17TrainerHeader0 ld de, Route17ScriptPointers - ld a, [W_ROUTE17CURSCRIPT] + ld a, [wRoute17CurScript] call ExecuteCurMapScriptInTable - ld [W_ROUTE17CURSCRIPT], a + ld [wRoute17CurScript], a ret -Route17ScriptPointers: ; 55b8d (15:5b8d) +Route17ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle -Route17TextPointers: ; 55b93 (15:5b93) +Route17TextPointers: dw Route17Text1 dw Route17Text2 dw Route17Text3 @@ -30,299 +30,298 @@ Route17TextPointers: ; 55b93 (15:5b93) dw Route17Text15 dw Route17Text16 -Route17TrainerHeaders: ; 55bb3 (15:5bb3) -Route17TrainerHeader0: ; 55bb3 (15:5bb3) - db $1 ; flag's bit +Route17TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_0 db ($3 << 4) ; trainer's view range - dw wd7e1 ; flag's byte - dw Route17BattleText1 ; 0x5c36 TextBeforeBattle - dw Route17AfterBattleText1 ; 0x5c40 TextAfterBattle - dw Route17EndBattleText1 ; 0x5c3b TextEndBattle - dw Route17EndBattleText1 ; 0x5c3b TextEndBattle - -Route17TrainerHeader1: ; 55bbf (15:5bbf) - db $2 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_0 + dw Route17BattleText1 ; TextBeforeBattle + dw Route17AfterBattleText1 ; TextAfterBattle + dw Route17EndBattleText1 ; TextEndBattle + dw Route17EndBattleText1 ; TextEndBattle + +Route17TrainerHeader1: + dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_1 db ($4 << 4) ; trainer's view range - dw wd7e1 ; flag's byte - dw Route17BattleText2 ; 0x5c4f TextBeforeBattle - dw Route17AfterBattleText2 ; 0x5c59 TextAfterBattle - dw Route17EndBattleText2 ; 0x5c54 TextEndBattle - dw Route17EndBattleText2 ; 0x5c54 TextEndBattle - -Route17TrainerHeader2: ; 55bcb (15:5bcb) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_1 + dw Route17BattleText2 ; TextBeforeBattle + dw Route17AfterBattleText2 ; TextAfterBattle + dw Route17EndBattleText2 ; TextEndBattle + dw Route17EndBattleText2 ; TextEndBattle + +Route17TrainerHeader2: + dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_2 db ($4 << 4) ; trainer's view range - dw wd7e1 ; flag's byte - dw Route17BattleText3 ; 0x5c68 TextBeforeBattle - dw Route17AfterBattleText3 ; 0x5c72 TextAfterBattle - dw Route17EndBattleText3 ; 0x5c6d TextEndBattle - dw Route17EndBattleText3 ; 0x5c6d TextEndBattle - -Route17TrainerHeader3: ; 55bd7 (15:5bd7) - db $4 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_2 + dw Route17BattleText3 ; TextBeforeBattle + dw Route17AfterBattleText3 ; TextAfterBattle + dw Route17EndBattleText3 ; TextEndBattle + dw Route17EndBattleText3 ; TextEndBattle + +Route17TrainerHeader3: + dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_3 db ($4 << 4) ; trainer's view range - dw wd7e1 ; flag's byte - dw Route17BattleText4 ; 0x5c81 TextBeforeBattle - dw Route17AfterBattleText4 ; 0x5c8b TextAfterBattle - dw Route17EndBattleText4 ; 0x5c86 TextEndBattle - dw Route17EndBattleText4 ; 0x5c86 TextEndBattle - -Route17TrainerHeader4: ; 55be3 (15:5be3) - db $5 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_3 + dw Route17BattleText4 ; TextBeforeBattle + dw Route17AfterBattleText4 ; TextAfterBattle + dw Route17EndBattleText4 ; TextEndBattle + dw Route17EndBattleText4 ; TextEndBattle + +Route17TrainerHeader4: + dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_4 db ($3 << 4) ; trainer's view range - dw wd7e1 ; flag's byte - dw Route17BattleText5 ; 0x5c9a TextBeforeBattle - dw Route17AfterBattleText5 ; 0x5ca4 TextAfterBattle - dw Route17EndBattleText5 ; 0x5c9f TextEndBattle - dw Route17EndBattleText5 ; 0x5c9f TextEndBattle - -Route17TrainerHeader5: ; 55bef (15:5bef) - db $6 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_4 + dw Route17BattleText5 ; TextBeforeBattle + dw Route17AfterBattleText5 ; TextAfterBattle + dw Route17EndBattleText5 ; TextEndBattle + dw Route17EndBattleText5 ; TextEndBattle + +Route17TrainerHeader5: + dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_5 db ($2 << 4) ; trainer's view range - dw wd7e1 ; flag's byte - dw Route17BattleText6 ; 0x5cb3 TextBeforeBattle - dw Route17AfterBattleText6 ; 0x5cbd TextAfterBattle - dw Route17EndBattleText6 ; 0x5cb8 TextEndBattle - dw Route17EndBattleText6 ; 0x5cb8 TextEndBattle - -Route17TrainerHeader6: ; 55bfb (15:5bfb) - db $7 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_5 + dw Route17BattleText6 ; TextBeforeBattle + dw Route17AfterBattleText6 ; TextAfterBattle + dw Route17EndBattleText6 ; TextEndBattle + dw Route17EndBattleText6 ; TextEndBattle + +Route17TrainerHeader6: + dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_6 db ($4 << 4) ; trainer's view range - dw wd7e1 ; flag's byte - dw Route17BattleText7 ; 0x5ccc TextBeforeBattle - dw Route17AfterBattleText7 ; 0x5cd6 TextAfterBattle - dw Route17EndBattleText7 ; 0x5cd1 TextEndBattle - dw Route17EndBattleText7 ; 0x5cd1 TextEndBattle - -Route17TrainerHeader7: ; 55c07 (15:5c07) - db $8 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_6 + dw Route17BattleText7 ; TextBeforeBattle + dw Route17AfterBattleText7 ; TextAfterBattle + dw Route17EndBattleText7 ; TextEndBattle + dw Route17EndBattleText7 ; TextEndBattle + +Route17TrainerHeader7: + dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_7, 1 db ($2 << 4) ; trainer's view range - dw wd7e1 ; flag's byte - dw Route17BattleText8 ; 0x5ce5 TextBeforeBattle - dw Route17AfterBattleText8 ; 0x5cef TextAfterBattle - dw Route17EndBattleText8 ; 0x5cea TextEndBattle - dw Route17EndBattleText8 ; 0x5cea TextEndBattle - -Route17TrainerHeader8: ; 55c13 (15:5c13) - db $9 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_7, 1 + dw Route17BattleText8 ; TextBeforeBattle + dw Route17AfterBattleText8 ; TextAfterBattle + dw Route17EndBattleText8 ; TextEndBattle + dw Route17EndBattleText8 ; TextEndBattle + +Route17TrainerHeader8: + dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_8, 1 db ($3 << 4) ; trainer's view range - dw wd7e1 ; flag's byte - dw Route17BattleText9 ; 0x5cfe TextBeforeBattle - dw Route17AfterBattleText9 ; 0x5d08 TextAfterBattle - dw Route17EndBattleText9 ; 0x5d03 TextEndBattle - dw Route17EndBattleText9 ; 0x5d03 TextEndBattle - -Route17TrainerHeader9: ; 55c1f (15:5c1f) - db $a ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_8, 1 + dw Route17BattleText9 ; TextBeforeBattle + dw Route17AfterBattleText9 ; TextAfterBattle + dw Route17EndBattleText9 ; TextEndBattle + dw Route17EndBattleText9 ; TextEndBattle + +Route17TrainerHeader9: + dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_9, 1 db ($4 << 4) ; trainer's view range - dw wd7e1 ; flag's byte - dw Route17BattleText10 ; 0x5d17 TextBeforeBattle - dw Route17AfterBattleText10 ; 0x5d21 TextAfterBattle - dw Route17EndBattleText10 ; 0x5d1c TextEndBattle - dw Route17EndBattleText10 ; 0x5d1c TextEndBattle + dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_9, 1 + dw Route17BattleText10 ; TextBeforeBattle + dw Route17AfterBattleText10 ; TextAfterBattle + dw Route17EndBattleText10 ; TextEndBattle + dw Route17EndBattleText10 ; TextEndBattle db $ff -Route17Text1: ; 55c2c (15:5c2c) - db $08 ; asm +Route17Text1: + TX_ASM ld hl, Route17TrainerHeader0 call TalkToTrainer jp TextScriptEnd -Route17BattleText1: ; 55c36 (15:5c36) +Route17BattleText1: TX_FAR _Route17BattleText1 db "@" -Route17EndBattleText1: ; 55c3b (15:5c3b) +Route17EndBattleText1: TX_FAR _Route17EndBattleText1 db "@" -Route17AfterBattleText1: ; 55c40 (15:5c40) +Route17AfterBattleText1: TX_FAR _Route17AfterBattleText1 db "@" -Route17Text2: ; 55c45 (15:5c45) - db $08 ; asm +Route17Text2: + TX_ASM ld hl, Route17TrainerHeader1 call TalkToTrainer jp TextScriptEnd -Route17BattleText2: ; 55c4f (15:5c4f) +Route17BattleText2: TX_FAR _Route17BattleText2 db "@" -Route17EndBattleText2: ; 55c54 (15:5c54) +Route17EndBattleText2: TX_FAR _Route17EndBattleText2 db "@" -Route17AfterBattleText2: ; 55c59 (15:5c59) +Route17AfterBattleText2: TX_FAR _Route17AfterBattleText2 db "@" -Route17Text3: ; 55c5e (15:5c5e) - db $08 ; asm +Route17Text3: + TX_ASM ld hl, Route17TrainerHeader2 call TalkToTrainer jp TextScriptEnd -Route17BattleText3: ; 55c68 (15:5c68) +Route17BattleText3: TX_FAR _Route17BattleText3 db "@" -Route17EndBattleText3: ; 55c6d (15:5c6d) +Route17EndBattleText3: TX_FAR _Route17EndBattleText3 db "@" -Route17AfterBattleText3: ; 55c72 (15:5c72) +Route17AfterBattleText3: TX_FAR _Route17AfterBattleText3 db "@" -Route17Text4: ; 55c77 (15:5c77) - db $08 ; asm +Route17Text4: + TX_ASM ld hl, Route17TrainerHeader3 call TalkToTrainer jp TextScriptEnd -Route17BattleText4: ; 55c81 (15:5c81) +Route17BattleText4: TX_FAR _Route17BattleText4 db "@" -Route17EndBattleText4: ; 55c86 (15:5c86) +Route17EndBattleText4: TX_FAR _Route17EndBattleText4 db "@" -Route17AfterBattleText4: ; 55c8b (15:5c8b) +Route17AfterBattleText4: TX_FAR _Route17AfterBattleText4 db "@" -Route17Text5: ; 55c90 (15:5c90) - db $08 ; asm +Route17Text5: + TX_ASM ld hl, Route17TrainerHeader4 call TalkToTrainer jp TextScriptEnd -Route17BattleText5: ; 55c9a (15:5c9a) +Route17BattleText5: TX_FAR _Route17BattleText5 db "@" -Route17EndBattleText5: ; 55c9f (15:5c9f) +Route17EndBattleText5: TX_FAR _Route17EndBattleText5 db "@" -Route17AfterBattleText5: ; 55ca4 (15:5ca4) +Route17AfterBattleText5: TX_FAR _Route17AfterBattleText5 db "@" -Route17Text6: ; 55ca9 (15:5ca9) - db $08 ; asm +Route17Text6: + TX_ASM ld hl, Route17TrainerHeader5 call TalkToTrainer jp TextScriptEnd -Route17BattleText6: ; 55cb3 (15:5cb3) +Route17BattleText6: TX_FAR _Route17BattleText6 db "@" -Route17EndBattleText6: ; 55cb8 (15:5cb8) +Route17EndBattleText6: TX_FAR _Route17EndBattleText6 db "@" -Route17AfterBattleText6: ; 55cbd (15:5cbd) +Route17AfterBattleText6: TX_FAR _Route17AfterBattleText6 db "@" -Route17Text7: ; 55cc2 (15:5cc2) - db $08 ; asm +Route17Text7: + TX_ASM ld hl, Route17TrainerHeader6 call TalkToTrainer jp TextScriptEnd -Route17BattleText7: ; 55ccc (15:5ccc) +Route17BattleText7: TX_FAR _Route17BattleText7 db "@" -Route17EndBattleText7: ; 55cd1 (15:5cd1) +Route17EndBattleText7: TX_FAR _Route17EndBattleText7 db "@" -Route17AfterBattleText7: ; 55cd6 (15:5cd6) +Route17AfterBattleText7: TX_FAR _Route17AfterBattleText7 db "@" -Route17Text8: ; 55cdb (15:5cdb) - db $08 ; asm +Route17Text8: + TX_ASM ld hl, Route17TrainerHeader7 call TalkToTrainer jp TextScriptEnd -Route17BattleText8: ; 55ce5 (15:5ce5) +Route17BattleText8: TX_FAR _Route17BattleText8 db "@" -Route17EndBattleText8: ; 55cea (15:5cea) +Route17EndBattleText8: TX_FAR _Route17EndBattleText8 db "@" -Route17AfterBattleText8: ; 55cef (15:5cef) +Route17AfterBattleText8: TX_FAR _Route17AfterBattleText8 db "@" -Route17Text9: ; 55cf4 (15:5cf4) - db $08 ; asm +Route17Text9: + TX_ASM ld hl, Route17TrainerHeader8 call TalkToTrainer jp TextScriptEnd -Route17BattleText9: ; 55cfe (15:5cfe) +Route17BattleText9: TX_FAR _Route17BattleText9 db "@" -Route17EndBattleText9: ; 55d03 (15:5d03) +Route17EndBattleText9: TX_FAR _Route17EndBattleText9 db "@" -Route17AfterBattleText9: ; 55d08 (15:5d08) +Route17AfterBattleText9: TX_FAR _Route17AfterBattleText9 db "@" -Route17Text10: ; 55d0d (15:5d0d) - db $08 ; asm +Route17Text10: + TX_ASM ld hl, Route17TrainerHeader9 call TalkToTrainer jp TextScriptEnd -Route17BattleText10: ; 55d17 (15:5d17) +Route17BattleText10: TX_FAR _Route17BattleText10 db "@" -Route17EndBattleText10: ; 55d1c (15:5d1c) +Route17EndBattleText10: TX_FAR _Route17EndBattleText10 db "@" -Route17AfterBattleText10: ; 55d21 (15:5d21) +Route17AfterBattleText10: TX_FAR _Route17AfterBattleText10 db "@" -Route17Text11: ; 55d26 (15:5d26) +Route17Text11: TX_FAR _Route17Text11 db "@" -Route17Text12: ; 55d2b (15:5d2b) +Route17Text12: TX_FAR _Route17Text12 db "@" -Route17Text13: ; 55d30 (15:5d30) +Route17Text13: TX_FAR _Route17Text13 db "@" -Route17Text14: ; 55d35 (15:5d35) +Route17Text14: TX_FAR _Route17Text14 db "@" -Route17Text15: ; 55d3a (15:5d3a) +Route17Text15: TX_FAR _Route17Text15 db "@" -Route17Text16: ; 55d3f (15:5d3f) +Route17Text16: TX_FAR _Route17Text16 db "@" diff --git a/scripts/route18.asm b/scripts/route18.asm index de2fe19a..687b269c 100755 --- a/scripts/route18.asm +++ b/scripts/route18.asm @@ -1,112 +1,111 @@ -Route18Script: ; 59ac7 (16:5ac7) +Route18Script: call EnableAutoTextBoxDrawing - ld hl, Route18TrainerHeaders + ld hl, Route18TrainerHeader0 ld de, Route18ScriptPointers - ld a, [W_ROUTE18CURSCRIPT] + ld a, [wRoute18CurScript] call ExecuteCurMapScriptInTable - ld [W_ROUTE18CURSCRIPT], a + ld [wRoute18CurScript], a ret -Route18ScriptPointers: ; 59ada (16:5ada) +Route18ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle -Route18TextPointers: ; 59ae0 (16:5ae0) +Route18TextPointers: dw Route18Text1 dw Route18Text2 dw Route18Text3 dw Route18Text4 dw Route18Text5 -Route18TrainerHeaders: ; 59aea (16:5aea) -Route18TrainerHeader0: ; 59aea (16:5aea) - db $1 ; flag's bit +Route18TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROUTE_18_TRAINER_0 db ($3 << 4) ; trainer's view range - dw wd7e3 ; flag's byte - dw Route18BattleText1 ; 0x5b19 TextBeforeBattle - dw Route18AfterBattleText1 ; 0x5b23 TextAfterBattle - dw Route18EndBattleText1 ; 0x5b1e TextEndBattle - dw Route18EndBattleText1 ; 0x5b1e TextEndBattle - -Route18TrainerHeader1: ; 59af6 (16:5af6) - db $2 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_18_TRAINER_0 + dw Route18BattleText1 ; TextBeforeBattle + dw Route18AfterBattleText1 ; TextAfterBattle + dw Route18EndBattleText1 ; TextEndBattle + dw Route18EndBattleText1 ; TextEndBattle + +Route18TrainerHeader1: + dbEventFlagBit EVENT_BEAT_ROUTE_18_TRAINER_1 db ($3 << 4) ; trainer's view range - dw wd7e3 ; flag's byte - dw Route18BattleText2 ; 0x5b32 TextBeforeBattle - dw Route18AfterBattleText2 ; 0x5b3c TextAfterBattle - dw Route18EndBattleText2 ; 0x5b37 TextEndBattle - dw Route18EndBattleText2 ; 0x5b37 TextEndBattle - -Route18TrainerHeader2: ; 59b02 (16:5b02) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_18_TRAINER_1 + dw Route18BattleText2 ; TextBeforeBattle + dw Route18AfterBattleText2 ; TextAfterBattle + dw Route18EndBattleText2 ; TextEndBattle + dw Route18EndBattleText2 ; TextEndBattle + +Route18TrainerHeader2: + dbEventFlagBit EVENT_BEAT_ROUTE_18_TRAINER_2 db ($4 << 4) ; trainer's view range - dw wd7e3 ; flag's byte - dw Route18BattleText3 ; 0x5b4b TextBeforeBattle - dw Route18AfterBattleText3 ; 0x5b55 TextAfterBattle - dw Route18EndBattleText3 ; 0x5b50 TextEndBattle - dw Route18EndBattleText3 ; 0x5b50 TextEndBattle + dwEventFlagAddress EVENT_BEAT_ROUTE_18_TRAINER_2 + dw Route18BattleText3 ; TextBeforeBattle + dw Route18AfterBattleText3 ; TextAfterBattle + dw Route18EndBattleText3 ; TextEndBattle + dw Route18EndBattleText3 ; TextEndBattle db $ff -Route18Text1: ; 59b0f (16:5b0f) - db $08 ; asm +Route18Text1: + TX_ASM ld hl, Route18TrainerHeader0 call TalkToTrainer jp TextScriptEnd -Route18BattleText1: ; 59b19 (16:5b19) +Route18BattleText1: TX_FAR _Route18BattleText1 db "@" -Route18EndBattleText1: ; 59b1e (16:5b1e) +Route18EndBattleText1: TX_FAR _Route18EndBattleText1 db "@" -Route18AfterBattleText1: ; 59b23 (16:5b23) +Route18AfterBattleText1: TX_FAR _Route18AfterBattleText1 db "@" -Route18Text2: ; 59b28 (16:5b28) - db $08 ; asm +Route18Text2: + TX_ASM ld hl, Route18TrainerHeader1 call TalkToTrainer jp TextScriptEnd -Route18BattleText2: ; 59b32 (16:5b32) +Route18BattleText2: TX_FAR _Route18BattleText2 db "@" -Route18EndBattleText2: ; 59b37 (16:5b37) +Route18EndBattleText2: TX_FAR _Route18EndBattleText2 db "@" -Route18AfterBattleText2: ; 59b3c (16:5b3c) +Route18AfterBattleText2: TX_FAR _Route18AfterBattleText2 db "@" -Route18Text3: ; 59b41 (16:5b41) - db $08 ; asm +Route18Text3: + TX_ASM ld hl, Route18TrainerHeader2 call TalkToTrainer jp TextScriptEnd -Route18BattleText3: ; 59b4b (16:5b4b) +Route18BattleText3: TX_FAR _Route18BattleText3 db "@" -Route18EndBattleText3: ; 59b50 (16:5b50) +Route18EndBattleText3: TX_FAR _Route18EndBattleText3 db "@" -Route18AfterBattleText3: ; 59b55 (16:5b55) +Route18AfterBattleText3: TX_FAR _Route18AfterBattleText3 db "@" -Route18Text4: ; 59b5a (16:5b5a) +Route18Text4: TX_FAR _Route18Text4 db "@" -Route18Text5: ; 59b5f (16:5b5f) +Route18Text5: TX_FAR _Route18Text5 db "@" diff --git a/scripts/route18gate.asm b/scripts/route18gate.asm index 1500f578..893801a1 100755 --- a/scripts/route18gate.asm +++ b/scripts/route18gate.asm @@ -1,76 +1,76 @@ -Route18GateScript: ; 49876 (12:5876) +Route18GateScript: ld hl, wd732 res 5, [hl] call EnableAutoTextBoxDrawing - ld a, [W_ROUTE18GATECURSCRIPT] + ld a, [wRoute18GateCurScript] ld hl, Route18GateScriptPointers jp CallFunctionInTable -Route18GateScriptPointers: ; 49887 (12:5887) +Route18GateScriptPointers: dw Route18GateScript0 dw Route18GateScript1 dw Route18GateScript2 dw Route18GateScript3 -Route18GateScript0: ; 4988f (12:588f) +Route18GateScript0: call Route16GateScript_49755 ret nz ld hl, CoordsData_498cc call ArePlayerCoordsInArray ret nc ld a, $2 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID xor a ld [hJoyHeld], a - ld a, [wWhichTrade] + ld a, [wCoordIndex] cp $1 - jr z, .asm_498c6 ; 0x498a9 $1b - ld a, [wWhichTrade] + jr z, .asm_498c6 + ld a, [wCoordIndex] dec a ld [wSimulatedJoypadStatesIndex], a - ld b, $0 + ld b, 0 ld c, a - ld a, $40 + ld a, D_UP ld hl, wSimulatedJoypadStatesEnd call FillMemory call StartSimulatingJoypadStates ld a, $1 - ld [W_ROUTE18GATECURSCRIPT], a + ld [wRoute18GateCurScript], a ret .asm_498c6 ld a, $2 - ld [W_ROUTE18GATECURSCRIPT], a + ld [wRoute18GateCurScript], a ret -CoordsData_498cc: ; 498cc (12:58cc) +CoordsData_498cc: db $03,$04 db $04,$04 db $05,$04 db $06,$04 db $FF -Route18GateScript1: ; 498d5 (12:58d5) +Route18GateScript1: ld a, [wSimulatedJoypadStatesIndex] and a ret nz ld a, $f0 ld [wJoyIgnore], a -Route18GateScript2: ; 498df (12:58df) +Route18GateScript2: ld a, $1 - ld [H_SPRITEHEIGHT], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $1 ld [wSimulatedJoypadStatesIndex], a - ld a, $10 + ld a, D_RIGHT ld [wSimulatedJoypadStatesEnd], a call StartSimulatingJoypadStates ld a, $3 - ld [W_ROUTE18GATECURSCRIPT], a + ld [wRoute18GateCurScript], a ret -Route18GateScript3: ; 498f9 (12:58f9) +Route18GateScript3: ld a, [wSimulatedJoypadStatesIndex] and a ret nz @@ -79,34 +79,34 @@ Route18GateScript3: ; 498f9 (12:58f9) ld hl, wd730 res 7, [hl] ld a, $0 - ld [W_ROUTE18GATECURSCRIPT], a + ld [wRoute18GateCurScript], a ret -Route18GateTextPointers: ; 4990d (12:590d) +Route18GateTextPointers: dw Route18GateText1 dw Route18GateText2 -Route18GateText1: ; 49911 (12:5911) - db $08 ; asm +Route18GateText1: + TX_ASM call Route16GateScript_49755 - jr z, .asm_3c84d ; 0x49915 + jr z, .asm_3c84d ld hl, Route18GateText_4992d call PrintText - jr .asm_a8410 ; 0x4991d -.asm_3c84d ; 0x4991f + jr .asm_a8410 +.asm_3c84d ld hl, Route18GateText_49928 call PrintText -.asm_a8410 ; 0x49925 +.asm_a8410 jp TextScriptEnd -Route18GateText_49928: ; 49928 (12:5928) +Route18GateText_49928: TX_FAR _Route18GateText_49928 db "@" -Route18GateText_4992d: ; 4992d (12:592d) +Route18GateText_4992d: TX_FAR _Route18GateText_4992d db "@" -Route18GateText2: ; 49932 (12:5932) +Route18GateText2: TX_FAR _Route18GateText_49932 db "@" diff --git a/scripts/route18gateupstairs.asm b/scripts/route18gateupstairs.asm index aaa1b34e..3d623142 100755 --- a/scripts/route18gateupstairs.asm +++ b/scripts/route18gateupstairs.asm @@ -1,32 +1,32 @@ -Route18GateUpstairsScript: ; 49975 (12:5975) +Route18GateUpstairsScript: jp DisableAutoTextBoxDrawing -Route18GateUpstairsTextPointers: ; 49978 (12:5978) +Route18GateUpstairsTextPointers: dw Route18GateUpstairsText1 dw Route18GateUpstairsText2 dw Route18GateUpstairsText3 -Route18GateUpstairsText1: ; 4997e (12:597e) - db $08 ; asm +Route18GateUpstairsText1: + TX_ASM ld a, $5 ld [wWhichTrade], a predef DoInGameTradeDialogue jp TextScriptEnd -Route18GateUpstairsText2: ; 4998c (12:598c) - db $8 - ld hl, Route18GateUpstairsText_49993 ; $5993 - jp Route12GateUpstairsScript_495c9 +Route18GateUpstairsText2: + TX_ASM + ld hl, Route18GateUpstairsText_49993 + jp GateUpstairsScript_PrintIfFacingUp -Route18GateUpstairsText_49993: ; 49993 (12:5993) +Route18GateUpstairsText_49993: TX_FAR _Route18GateUpstairsText_49993 db "@" -Route18GateUpstairsText3: ; 49998 (12:5998) - db $8 - ld hl, Route18GateUpstairsText_4999f ; $599f - jp Route12GateUpstairsScript_495c9 +Route18GateUpstairsText3: + TX_ASM + ld hl, Route18GateUpstairsText_4999f + jp GateUpstairsScript_PrintIfFacingUp -Route18GateUpstairsText_4999f: ; 4999f (12:599f) +Route18GateUpstairsText_4999f: TX_FAR _Route18GateUpstairsText_4999f db "@" diff --git a/scripts/route19.asm b/scripts/route19.asm index 40c7aeb3..01ea5dce 100755 --- a/scripts/route19.asm +++ b/scripts/route19.asm @@ -1,18 +1,18 @@ -Route19Script: ; 55d44 (15:5d44) +Route19Script: call EnableAutoTextBoxDrawing - ld hl, Route19TrainerHeaders + ld hl, Route19TrainerHeader0 ld de, Route19ScriptPointers - ld a, [W_ROUTE19CURSCRIPT] + ld a, [wRoute19CurScript] call ExecuteCurMapScriptInTable - ld [W_ROUTE19CURSCRIPT], a + ld [wRoute19CurScript], a ret -Route19ScriptPointers: ; 55d57 (15:5d57) +Route19ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle -Route19TextPointers: ; 55d5d (15:5d5d) +Route19TextPointers: dw Route19Text1 dw Route19Text2 dw Route19Text3 @@ -25,279 +25,278 @@ Route19TextPointers: ; 55d5d (15:5d5d) dw Route19Text10 dw Route19Text11 -Route19TrainerHeaders: ; 55d73 (15:5d73) -Route19TrainerHeader0: ; 55d73 (15:5d73) - db $1 ; flag's bit +Route19TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_0 db ($4 << 4) ; trainer's view range - dw wd7e5 ; flag's byte - dw Route19BattleText1 ; 0x5e50 TextBeforeBattle - dw Route19AfterBattleText1 ; 0x5e5a TextAfterBattle - dw Route19EndBattleText1 ; 0x5e55 TextEndBattle - dw Route19EndBattleText1 ; 0x5e55 TextEndBattle - -Route19TrainerHeader1: ; 55d7f (15:5d7f) - db $2 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_0 + dw Route19BattleText1 ; TextBeforeBattle + dw Route19AfterBattleText1 ; TextAfterBattle + dw Route19EndBattleText1 ; TextEndBattle + dw Route19EndBattleText1 ; TextEndBattle + +Route19TrainerHeader1: + dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_1 db ($3 << 4) ; trainer's view range - dw wd7e5 ; flag's byte - dw Route19BattleText2 ; 0x5e5f TextBeforeBattle - dw Route19AfterBattleText2 ; 0x5e69 TextAfterBattle - dw Route19EndBattleText2 ; 0x5e64 TextEndBattle - dw Route19EndBattleText2 ; 0x5e64 TextEndBattle - -Route19TrainerHeader2: ; 55d8b (15:5d8b) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_1 + dw Route19BattleText2 ; TextBeforeBattle + dw Route19AfterBattleText2 ; TextAfterBattle + dw Route19EndBattleText2 ; TextEndBattle + dw Route19EndBattleText2 ; TextEndBattle + +Route19TrainerHeader2: + dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_2 db ($3 << 4) ; trainer's view range - dw wd7e5 ; flag's byte - dw Route19BattleText3 ; 0x5e6e TextBeforeBattle - dw Route19AfterBattleText3 ; 0x5e78 TextAfterBattle - dw Route19EndBattleText3 ; 0x5e73 TextEndBattle - dw Route19EndBattleText3 ; 0x5e73 TextEndBattle - -Route19TrainerHeader3: ; 55d97 (15:5d97) - db $4 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_2 + dw Route19BattleText3 ; TextBeforeBattle + dw Route19AfterBattleText3 ; TextAfterBattle + dw Route19EndBattleText3 ; TextEndBattle + dw Route19EndBattleText3 ; TextEndBattle + +Route19TrainerHeader3: + dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_3 db ($4 << 4) ; trainer's view range - dw wd7e5 ; flag's byte - dw Route19BattleText4 ; 0x5e7d TextBeforeBattle - dw Route19AfterBattleText4 ; 0x5e87 TextAfterBattle - dw Route19EndBattleText4 ; 0x5e82 TextEndBattle - dw Route19EndBattleText4 ; 0x5e82 TextEndBattle - -Route19TrainerHeader4: ; 55da3 (15:5da3) - db $5 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_3 + dw Route19BattleText4 ; TextBeforeBattle + dw Route19AfterBattleText4 ; TextAfterBattle + dw Route19EndBattleText4 ; TextEndBattle + dw Route19EndBattleText4 ; TextEndBattle + +Route19TrainerHeader4: + dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_4 db ($4 << 4) ; trainer's view range - dw wd7e5 ; flag's byte - dw Route19BattleText5 ; 0x5e8c TextBeforeBattle - dw Route19AfterBattleText5 ; 0x5e96 TextAfterBattle - dw Route19EndBattleText5 ; 0x5e91 TextEndBattle - dw Route19EndBattleText5 ; 0x5e91 TextEndBattle - -Route19TrainerHeader5: ; 55daf (15:5daf) - db $6 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_4 + dw Route19BattleText5 ; TextBeforeBattle + dw Route19AfterBattleText5 ; TextAfterBattle + dw Route19EndBattleText5 ; TextEndBattle + dw Route19EndBattleText5 ; TextEndBattle + +Route19TrainerHeader5: + dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_5 db ($4 << 4) ; trainer's view range - dw wd7e5 ; flag's byte - dw Route19BattleText6 ; 0x5e9b TextBeforeBattle - dw Route19AfterBattleText6 ; 0x5ea5 TextAfterBattle - dw Route19EndBattleText6 ; 0x5ea0 TextEndBattle - dw Route19EndBattleText6 ; 0x5ea0 TextEndBattle - -Route19TrainerHeader6: ; 55dbb (15:5dbb) - db $7 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_5 + dw Route19BattleText6 ; TextBeforeBattle + dw Route19AfterBattleText6 ; TextAfterBattle + dw Route19EndBattleText6 ; TextEndBattle + dw Route19EndBattleText6 ; TextEndBattle + +Route19TrainerHeader6: + dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_6 db ($3 << 4) ; trainer's view range - dw wd7e5 ; flag's byte - dw Route19BattleText7 ; 0x5eaa TextBeforeBattle - dw Route19AfterBattleText7 ; 0x5eb4 TextAfterBattle - dw Route19EndBattleText7 ; 0x5eaf TextEndBattle - dw Route19EndBattleText7 ; 0x5eaf TextEndBattle - -Route19TrainerHeader7: ; 55dc7 (15:5dc7) - db $8 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_6 + dw Route19BattleText7 ; TextBeforeBattle + dw Route19AfterBattleText7 ; TextAfterBattle + dw Route19EndBattleText7 ; TextEndBattle + dw Route19EndBattleText7 ; TextEndBattle + +Route19TrainerHeader7: + dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_7, 1 db ($4 << 4) ; trainer's view range - dw wd7e5 ; flag's byte - dw Route19BattleText8 ; 0x5eb9 TextBeforeBattle - dw Route19AfterBattleText8 ; 0x5ec3 TextAfterBattle - dw Route19EndBattleText8 ; 0x5ebe TextEndBattle - dw Route19EndBattleText8 ; 0x5ebe TextEndBattle - -Route19TrainerHeader8: ; 55dd3 (15:5dd3) - db $9 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_7, 1 + dw Route19BattleText8 ; TextBeforeBattle + dw Route19AfterBattleText8 ; TextAfterBattle + dw Route19EndBattleText8 ; TextEndBattle + dw Route19EndBattleText8 ; TextEndBattle + +Route19TrainerHeader8: + dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_8, 1 db ($4 << 4) ; trainer's view range - dw wd7e5 ; flag's byte - dw Route19BattleText9 ; 0x5ec8 TextBeforeBattle - dw Route19AfterBattleText9 ; 0x5ed2 TextAfterBattle - dw Route19EndBattleText9 ; 0x5ecd TextEndBattle - dw Route19EndBattleText9 ; 0x5ecd TextEndBattle - -Route19TrainerHeader9: ; 55ddf (15:5ddf) - db $a ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_8, 1 + dw Route19BattleText9 ; TextBeforeBattle + dw Route19AfterBattleText9 ; TextAfterBattle + dw Route19EndBattleText9 ; TextEndBattle + dw Route19EndBattleText9 ; TextEndBattle + +Route19TrainerHeader9: + dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_9, 1 db ($4 << 4) ; trainer's view range - dw wd7e5 ; flag's byte - dw Route19BattleText10 ; 0x5ed7 TextBeforeBattle - dw Route19AfterBattleText10 ; 0x5ee1 TextAfterBattle - dw Route19EndBattleText10 ; 0x5edc TextEndBattle - dw Route19EndBattleText10 ; 0x5edc TextEndBattle + dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_9, 1 + dw Route19BattleText10 ; TextBeforeBattle + dw Route19AfterBattleText10 ; TextAfterBattle + dw Route19EndBattleText10 ; TextEndBattle + dw Route19EndBattleText10 ; TextEndBattle db $ff -Route19Text1: ; 55dec (15:5dec) - db $08 ; asm +Route19Text1: + TX_ASM ld hl, Route19TrainerHeader0 call TalkToTrainer jp TextScriptEnd -Route19Text2: ; 55df6 (15:5df6) - db $08 ; asm +Route19Text2: + TX_ASM ld hl, Route19TrainerHeader1 call TalkToTrainer jp TextScriptEnd -Route19Text3: ; 55e00 (15:5e00) - db $08 ; asm +Route19Text3: + TX_ASM ld hl, Route19TrainerHeader2 call TalkToTrainer jp TextScriptEnd -Route19Text4: ; 55e0a (15:5e0a) - db $08 ; asm +Route19Text4: + TX_ASM ld hl, Route19TrainerHeader3 call TalkToTrainer jp TextScriptEnd -Route19Text5: ; 55e14 (15:5e14) - db $08 ; asm +Route19Text5: + TX_ASM ld hl, Route19TrainerHeader4 call TalkToTrainer jp TextScriptEnd -Route19Text6: ; 55e1e (15:5e1e) - db $08 ; asm +Route19Text6: + TX_ASM ld hl, Route19TrainerHeader5 call TalkToTrainer jp TextScriptEnd -Route19Text7: ; 55e28 (15:5e28) - db $08 ; asm +Route19Text7: + TX_ASM ld hl, Route19TrainerHeader6 call TalkToTrainer jp TextScriptEnd -Route19Text8: ; 55e32 (15:5e32) - db $08 ; asm +Route19Text8: + TX_ASM ld hl, Route19TrainerHeader7 call TalkToTrainer jp TextScriptEnd -Route19Text9: ; 55e3c (15:5e3c) - db $08 ; asm +Route19Text9: + TX_ASM ld hl, Route19TrainerHeader8 call TalkToTrainer jp TextScriptEnd -Route19Text10: ; 55e46 (15:5e46) - db $08 ; asm +Route19Text10: + TX_ASM ld hl, Route19TrainerHeader9 call TalkToTrainer jp TextScriptEnd -Route19BattleText1: ; 55e50 (15:5e50) +Route19BattleText1: TX_FAR _Route19BattleText1 db "@" -Route19EndBattleText1: ; 55e55 (15:5e55) +Route19EndBattleText1: TX_FAR _Route19EndBattleText1 db "@" -Route19AfterBattleText1: ; 55e5a (15:5e5a) +Route19AfterBattleText1: TX_FAR _Route19AfterBattleText1 db "@" -Route19BattleText2: ; 55e5f (15:5e5f) +Route19BattleText2: TX_FAR _Route19BattleText2 db "@" -Route19EndBattleText2: ; 55e64 (15:5e64) +Route19EndBattleText2: TX_FAR _Route19EndBattleText2 db "@" -Route19AfterBattleText2: ; 55e69 (15:5e69) +Route19AfterBattleText2: TX_FAR _Route19AfterBattleText2 db "@" -Route19BattleText3: ; 55e6e (15:5e6e) +Route19BattleText3: TX_FAR _Route19BattleText3 db "@" -Route19EndBattleText3: ; 55e73 (15:5e73) +Route19EndBattleText3: TX_FAR _Route19EndBattleText3 db "@" -Route19AfterBattleText3: ; 55e78 (15:5e78) +Route19AfterBattleText3: TX_FAR _Route19AfterBattleText3 db "@" -Route19BattleText4: ; 55e7d (15:5e7d) +Route19BattleText4: TX_FAR _Route19BattleText4 db "@" -Route19EndBattleText4: ; 55e82 (15:5e82) +Route19EndBattleText4: TX_FAR _Route19EndBattleText4 db "@" -Route19AfterBattleText4: ; 55e87 (15:5e87) +Route19AfterBattleText4: TX_FAR _Route19AfterBattleText4 db "@" -Route19BattleText5: ; 55e8c (15:5e8c) +Route19BattleText5: TX_FAR _Route19BattleText5 db "@" -Route19EndBattleText5: ; 55e91 (15:5e91) +Route19EndBattleText5: TX_FAR _Route19EndBattleText5 db "@" -Route19AfterBattleText5: ; 55e96 (15:5e96) +Route19AfterBattleText5: TX_FAR _Route19AfterBattleText5 db "@" -Route19BattleText6: ; 55e9b (15:5e9b) +Route19BattleText6: TX_FAR _Route19BattleText6 db "@" -Route19EndBattleText6: ; 55ea0 (15:5ea0) +Route19EndBattleText6: TX_FAR _Route19EndBattleText6 db "@" -Route19AfterBattleText6: ; 55ea5 (15:5ea5) +Route19AfterBattleText6: TX_FAR _Route19AfterBattleText6 db "@" -Route19BattleText7: ; 55eaa (15:5eaa) +Route19BattleText7: TX_FAR _Route19BattleText7 db "@" -Route19EndBattleText7: ; 55eaf (15:5eaf) +Route19EndBattleText7: TX_FAR _Route19EndBattleText7 db "@" -Route19AfterBattleText7: ; 55eb4 (15:5eb4) +Route19AfterBattleText7: TX_FAR _Route19AfterBattleText7 db "@" -Route19BattleText8: ; 55eb9 (15:5eb9) +Route19BattleText8: TX_FAR _Route19BattleText8 db "@" -Route19EndBattleText8: ; 55ebe (15:5ebe) +Route19EndBattleText8: TX_FAR _Route19EndBattleText8 db "@" -Route19AfterBattleText8: ; 55ec3 (15:5ec3) +Route19AfterBattleText8: TX_FAR _Route19AfterBattleText8 db "@" -Route19BattleText9: ; 55ec8 (15:5ec8) +Route19BattleText9: TX_FAR _Route19BattleText9 db "@" -Route19EndBattleText9: ; 55ecd (15:5ecd) +Route19EndBattleText9: TX_FAR _Route19EndBattleText9 db "@" -Route19AfterBattleText9: ; 55ed2 (15:5ed2) +Route19AfterBattleText9: TX_FAR _Route19AfterBattleText9 db "@" -Route19BattleText10: ; 55ed7 (15:5ed7) +Route19BattleText10: TX_FAR _Route19BattleText10 db "@" -Route19EndBattleText10: ; 55edc (15:5edc) +Route19EndBattleText10: TX_FAR _Route19EndBattleText10 db "@" -Route19AfterBattleText10: ; 55ee1 (15:5ee1) +Route19AfterBattleText10: TX_FAR _Route19AfterBattleText10 db "@" -Route19Text11: ; 55ee6 (15:5ee6) +Route19Text11: TX_FAR _Route19Text11 db "@" diff --git a/scripts/route2.asm b/scripts/route2.asm index fdc5eb6c..810792ef 100755 --- a/scripts/route2.asm +++ b/scripts/route2.asm @@ -1,16 +1,16 @@ -Route2Script: ; 554e3 (15:54e3) +Route2Script: jp EnableAutoTextBoxDrawing -Route2TextPointers: ; 554e6 (15:54e6) - dw Predef5CText - dw Predef5CText +Route2TextPointers: + dw PickUpItemText + dw PickUpItemText dw Route2Text3 dw Route2Text4 -Route2Text3: ; 554ee (15:54ee) +Route2Text3: TX_FAR _Route2Text3 db "@" -Route2Text4: ; 554f3 (15:54f3) +Route2Text4: TX_FAR _Route2Text4 db "@" diff --git a/scripts/route20.asm b/scripts/route20.asm index 4ef57e23..53ff5e55 100755 --- a/scripts/route20.asm +++ b/scripts/route20.asm @@ -1,26 +1,22 @@ -Route20Script: ; 50ca9 (14:4ca9) - ld hl, wd7e7 - bit 0, [hl] - res 0, [hl] +Route20Script: + CheckAndResetEvent EVENT_IN_SEAFOAM_ISLANDS call nz, Route20Script_50cc6 call EnableAutoTextBoxDrawing - ld hl, Route20TrainerHeader0 ; $4d3a + ld hl, Route20TrainerHeader0 ld de, Route20ScriptPointers - ld a, [W_ROUTE20CURSCRIPT] + ld a, [wRoute20CurScript] call ExecuteCurMapScriptInTable - ld [W_ROUTE20CURSCRIPT], a + ld [wRoute20CurScript], a ret -Route20Script_50cc6: ; 50cc6 (14:4cc6) - ld a, [wd880] - and $3 - cp $3 +Route20Script_50cc6: + CheckBothEventsSet EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE jr z, .asm_50cef - ld a, $d7 + ld a, HS_SEAFOAM_ISLANDS_1_BOULDER_1 call Route20Script_50d0c - ld a, $d8 + ld a, HS_SEAFOAM_ISLANDS_1_BOULDER_2 call Route20Script_50d0c - ld hl, .MissableObjectIDs ; $4ce8 + ld hl, .MissableObjectIDs .asm_50cdc ld a, [hli] cp $ff @@ -30,7 +26,7 @@ Route20Script_50cc6: ; 50cc6 (14:4cc6) pop hl jr .asm_50cdc -.MissableObjectIDs: ; 50ce8 (14:4ce8) +.MissableObjectIDs: db HS_SEAFOAM_ISLANDS_2_BOULDER_1 db HS_SEAFOAM_ISLANDS_2_BOULDER_2 db HS_SEAFOAM_ISLANDS_3_BOULDER_1 @@ -40,9 +36,7 @@ Route20Script_50cc6: ; 50cc6 (14:4cc6) db $FF .asm_50cef - ld a, [wd881] - and $3 - cp $3 + CheckBothEventsSet EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM4_BOULDER2_DOWN_HOLE ret z ld a, HS_SEAFOAM_ISLANDS_4_BOULDER_1 call Route20Script_50d0c @@ -54,20 +48,20 @@ Route20Script_50cc6: ; 50cc6 (14:4cc6) call Route20Script_50d14 ret -Route20Script_50d0c: ; 50d0c (14:4d0c) - ld [wcc4d], a +Route20Script_50d0c: + ld [wMissableObjectIndex], a predef_jump ShowObject -Route20Script_50d14: ; 50d14 (14:4d14) - ld [wcc4d], a +Route20Script_50d14: + ld [wMissableObjectIndex], a predef_jump HideObject -Route20ScriptPointers: ; 50d1c (14:4d1c) +Route20ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle -Route20TextPointers: ; 50d22 (14:4d22) +Route20TextPointers: dw Route20Text1 dw Route20Text2 dw Route20Text3 @@ -81,280 +75,279 @@ Route20TextPointers: ; 50d22 (14:4d22) dw Route20Text11 dw Route20Text12 -Route20TrainerHeaders: ; 50d3a (14:4d3a) -Route20TrainerHeader0: ; 50d3a (14:4d3a) - db $1 ; flag's bit +Route20TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_0 db ($4 << 4) ; trainer's view range - dw wd7e7 ; flag's byte - dw Route20BattleText1 ; 0x4e17 TextBeforeBattle - dw Route20AfterBattleText1 ; 0x4e21 TextAfterBattle - dw Route20EndBattleText1 ; 0x4e1c TextEndBattle - dw Route20EndBattleText1 ; 0x4e1c TextEndBattle - -Route20TrainerHeader2: ; 50d46 (14:4d46) - db $2 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_0 + dw Route20BattleText1 ; TextBeforeBattle + dw Route20AfterBattleText1 ; TextAfterBattle + dw Route20EndBattleText1 ; TextEndBattle + dw Route20EndBattleText1 ; TextEndBattle + +Route20TrainerHeader1: + dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_1 db ($4 << 4) ; trainer's view range - dw wd7e7 ; flag's byte - dw Route20BattleText2 ; 0x4e26 TextBeforeBattle - dw Route20AfterBattleText2 ; 0x4e30 TextAfterBattle - dw Route20EndBattleText2 ; 0x4e2b TextEndBattle - dw Route20EndBattleText2 ; 0x4e2b TextEndBattle - -Route20TrainerHeader3: ; 50d52 (14:4d52) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_1 + dw Route20BattleText2 ; TextBeforeBattle + dw Route20AfterBattleText2 ; TextAfterBattle + dw Route20EndBattleText2 ; TextEndBattle + dw Route20EndBattleText2 ; TextEndBattle + +Route20TrainerHeader2: + dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_2 db ($2 << 4) ; trainer's view range - dw wd7e7 ; flag's byte - dw Route20BattleText3 ; 0x4e35 TextBeforeBattle - dw Route20AfterBattleText3 ; 0x4e3f TextAfterBattle - dw Route20EndBattleText3 ; 0x4e3a TextEndBattle - dw Route20EndBattleText3 ; 0x4e3a TextEndBattle - -Route20TrainerHeader4: ; 50d5e (14:4d5e) - db $4 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_2 + dw Route20BattleText3 ; TextBeforeBattle + dw Route20AfterBattleText3 ; TextAfterBattle + dw Route20EndBattleText3 ; TextEndBattle + dw Route20EndBattleText3 ; TextEndBattle + +Route20TrainerHeader3: + dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_3 db ($4 << 4) ; trainer's view range - dw wd7e7 ; flag's byte - dw Route20BattleText4 ; 0x4e44 TextBeforeBattle - dw Route20AfterBattleText4 ; 0x4e4e TextAfterBattle - dw Route20EndBattleText4 ; 0x4e49 TextEndBattle - dw Route20EndBattleText4 ; 0x4e49 TextEndBattle - -Route20TrainerHeader5: ; 50d6a (14:4d6a) - db $5 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_3 + dw Route20BattleText4 ; TextBeforeBattle + dw Route20AfterBattleText4 ; TextAfterBattle + dw Route20EndBattleText4 ; TextEndBattle + dw Route20EndBattleText4 ; TextEndBattle + +Route20TrainerHeader4: + dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_4 db ($3 << 4) ; trainer's view range - dw wd7e7 ; flag's byte - dw Route20BattleText5 ; 0x4e53 TextBeforeBattle - dw Route20AfterBattleText5 ; 0x4e5d TextAfterBattle - dw Route20EndBattleText5 ; 0x4e58 TextEndBattle - dw Route20EndBattleText5 ; 0x4e58 TextEndBattle - -Route20TrainerHeader6: ; 50d76 (14:4d76) - db $6 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_4 + dw Route20BattleText5 ; TextBeforeBattle + dw Route20AfterBattleText5 ; TextAfterBattle + dw Route20EndBattleText5 ; TextEndBattle + dw Route20EndBattleText5 ; TextEndBattle + +Route20TrainerHeader5: + dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_5 db ($4 << 4) ; trainer's view range - dw wd7e7 ; flag's byte - dw Route20BattleText6 ; 0x4e62 TextBeforeBattle - dw Route20AfterBattleText6 ; 0x4e6c TextAfterBattle - dw Route20EndBattleText6 ; 0x4e67 TextEndBattle - dw Route20EndBattleText6 ; 0x4e67 TextEndBattle - -Route20TrainerHeader7: ; 50d82 (14:4d82) - db $7 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_5 + dw Route20BattleText6 ; TextBeforeBattle + dw Route20AfterBattleText6 ; TextAfterBattle + dw Route20EndBattleText6 ; TextEndBattle + dw Route20EndBattleText6 ; TextEndBattle + +Route20TrainerHeader6: + dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_6 db ($2 << 4) ; trainer's view range - dw wd7e7 ; flag's byte - dw Route20BattleText7 ; 0x4e71 TextBeforeBattle - dw Route20AfterBattleText7 ; 0x4e7b TextAfterBattle - dw Route20EndBattleText7 ; 0x4e76 TextEndBattle - dw Route20EndBattleText7 ; 0x4e76 TextEndBattle - -Route20TrainerHeader8: ; 50d8e (14:4d8e) - db $8 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_6 + dw Route20BattleText7 ; TextBeforeBattle + dw Route20AfterBattleText7 ; TextAfterBattle + dw Route20EndBattleText7 ; TextEndBattle + dw Route20EndBattleText7 ; TextEndBattle + +Route20TrainerHeader7: + dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_7, 1 db ($4 << 4) ; trainer's view range - dw wd7e7 ; flag's byte - dw Route20BattleText8 ; 0x4e80 TextBeforeBattle - dw Route20AfterBattleText8 ; 0x4e8a TextAfterBattle - dw Route20EndBattleText8 ; 0x4e85 TextEndBattle - dw Route20EndBattleText8 ; 0x4e85 TextEndBattle - -Route20TrainerHeader9: ; 50d9a (14:4d9a) - db $9 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_7, 1 + dw Route20BattleText8 ; TextBeforeBattle + dw Route20AfterBattleText8 ; TextAfterBattle + dw Route20EndBattleText8 ; TextEndBattle + dw Route20EndBattleText8 ; TextEndBattle + +Route20TrainerHeader8: + dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_8, 1 db ($3 << 4) ; trainer's view range - dw wd7e7 ; flag's byte - dw Route20BattleText9 ; 0x4e8f TextBeforeBattle - dw Route20AfterBattleText9 ; 0x4e99 TextAfterBattle - dw Route20EndBattleText9 ; 0x4e94 TextEndBattle - dw Route20EndBattleText9 ; 0x4e94 TextEndBattle - -Route20TrainerHeader10: ; 50da6 (14:4da6) - db $a ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_8, 1 + dw Route20BattleText9 ; TextBeforeBattle + dw Route20AfterBattleText9 ; TextAfterBattle + dw Route20EndBattleText9 ; TextEndBattle + dw Route20EndBattleText9 ; TextEndBattle + +Route20TrainerHeader9: + dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_9, 1 db ($4 << 4) ; trainer's view range - dw wd7e7 ; flag's byte - dw Route20BattleText10 ; 0x4e9e TextBeforeBattle - dw Route20AfterBattleText10 ; 0x4ea8 TextAfterBattle - dw Route20EndBattleText10 ; 0x4ea3 TextEndBattle - dw Route20EndBattleText10 ; 0x4ea3 TextEndBattle + dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_9, 1 + dw Route20BattleText10 ; TextBeforeBattle + dw Route20AfterBattleText10 ; TextAfterBattle + dw Route20EndBattleText10 ; TextEndBattle + dw Route20EndBattleText10 ; TextEndBattle db $ff -Route20Text1: ; 50db3 (14:4db3) - db $08 ; asm +Route20Text1: + TX_ASM ld hl, Route20TrainerHeader0 call TalkToTrainer jp TextScriptEnd -Route20Text2: ; 50dbd (14:4dbd) - db $08 ; asm +Route20Text2: + TX_ASM + ld hl, Route20TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +Route20Text3: + TX_ASM ld hl, Route20TrainerHeader2 call TalkToTrainer jp TextScriptEnd -Route20Text3: ; 50dc7 (14:4dc7) - db $08 ; asm +Route20Text4: + TX_ASM ld hl, Route20TrainerHeader3 call TalkToTrainer jp TextScriptEnd -Route20Text4: ; 50dd1 (14:4dd1) - db $08 ; asm +Route20Text5: + TX_ASM ld hl, Route20TrainerHeader4 call TalkToTrainer jp TextScriptEnd -Route20Text5: ; 50ddb (14:4ddb) - db $08 ; asm +Route20Text6: + TX_ASM ld hl, Route20TrainerHeader5 call TalkToTrainer jp TextScriptEnd -Route20Text6: ; 50de5 (14:4de5) - db $08 ; asm +Route20Text7: + TX_ASM ld hl, Route20TrainerHeader6 call TalkToTrainer jp TextScriptEnd -Route20Text7: ; 50def (14:4def) - db $08 ; asm +Route20Text8: + TX_ASM ld hl, Route20TrainerHeader7 call TalkToTrainer jp TextScriptEnd -Route20Text8: ; 50df9 (14:4df9) - db $08 ; asm +Route20Text9: + TX_ASM ld hl, Route20TrainerHeader8 call TalkToTrainer jp TextScriptEnd -Route20Text9: ; 50e03 (14:4e03) - db $08 ; asm +Route20Text10: + TX_ASM ld hl, Route20TrainerHeader9 call TalkToTrainer jp TextScriptEnd -Route20Text10: ; 50e0d (14:4e0d) - db $08 ; asm - ld hl, Route20TrainerHeader10 - call TalkToTrainer - jp TextScriptEnd - -Route20BattleText1: ; 50e17 (14:4e17) +Route20BattleText1: TX_FAR _Route20BattleText1 db "@" -Route20EndBattleText1: ; 50e1c (14:4e1c) +Route20EndBattleText1: TX_FAR _Route20EndBattleText1 db "@" -Route20AfterBattleText1: ; 50e21 (14:4e21) +Route20AfterBattleText1: TX_FAR _Route20AfterBattleText1 db "@" -Route20BattleText2: ; 50e26 (14:4e26) +Route20BattleText2: TX_FAR _Route20BattleText2 db "@" -Route20EndBattleText2: ; 50e2b (14:4e2b) +Route20EndBattleText2: TX_FAR _Route20EndBattleText2 db "@" -Route20AfterBattleText2: ; 50e30 (14:4e30) +Route20AfterBattleText2: TX_FAR _Route20AfterBattleText2 db "@" -Route20BattleText3: ; 50e35 (14:4e35) +Route20BattleText3: TX_FAR _Route20BattleText3 db "@" -Route20EndBattleText3: ; 50e3a (14:4e3a) +Route20EndBattleText3: TX_FAR _Route20EndBattleText3 db "@" -Route20AfterBattleText3: ; 50e3f (14:4e3f) +Route20AfterBattleText3: TX_FAR _Route20AfterBattleText3 db "@" -Route20BattleText4: ; 50e44 (14:4e44) +Route20BattleText4: TX_FAR _Route20BattleText4 db "@" -Route20EndBattleText4: ; 50e49 (14:4e49) +Route20EndBattleText4: TX_FAR _Route20EndBattleText4 db "@" -Route20AfterBattleText4: ; 50e4e (14:4e4e) +Route20AfterBattleText4: TX_FAR _Route20AfterBattleText4 db "@" -Route20BattleText5: ; 50e53 (14:4e53) +Route20BattleText5: TX_FAR _Route20BattleText5 db "@" -Route20EndBattleText5: ; 50e58 (14:4e58) +Route20EndBattleText5: TX_FAR _Route20EndBattleText5 db "@" -Route20AfterBattleText5: ; 50e5d (14:4e5d) +Route20AfterBattleText5: TX_FAR _Route20AfterBattleText5 db "@" -Route20BattleText6: ; 50e62 (14:4e62) +Route20BattleText6: TX_FAR _Route20BattleText6 db "@" -Route20EndBattleText6: ; 50e67 (14:4e67) +Route20EndBattleText6: TX_FAR _Route20EndBattleText6 db "@" -Route20AfterBattleText6: ; 50e6c (14:4e6c) +Route20AfterBattleText6: TX_FAR _Route20AfterBattleText6 db "@" -Route20BattleText7: ; 50e71 (14:4e71) +Route20BattleText7: TX_FAR _Route20BattleText7 db "@" -Route20EndBattleText7: ; 50e76 (14:4e76) +Route20EndBattleText7: TX_FAR _Route20EndBattleText7 db "@" -Route20AfterBattleText7: ; 50e7b (14:4e7b) +Route20AfterBattleText7: TX_FAR _Route20AfterBattleText7 db "@" -Route20BattleText8: ; 50e80 (14:4e80) +Route20BattleText8: TX_FAR _Route20BattleText8 db "@" -Route20EndBattleText8: ; 50e85 (14:4e85) +Route20EndBattleText8: TX_FAR _Route20EndBattleText8 db "@" -Route20AfterBattleText8: ; 50e8a (14:4e8a) +Route20AfterBattleText8: TX_FAR _Route20AfterBattleText8 db "@" -Route20BattleText9: ; 50e8f (14:4e8f) +Route20BattleText9: TX_FAR _Route20BattleText9 db "@" -Route20EndBattleText9: ; 50e94 (14:4e94) +Route20EndBattleText9: TX_FAR _Route20EndBattleText9 db "@" -Route20AfterBattleText9: ; 50e99 (14:4e99) +Route20AfterBattleText9: TX_FAR _Route20AfterBattleText9 db "@" -Route20BattleText10: ; 50e9e (14:4e9e) +Route20BattleText10: TX_FAR _Route20BattleText10 db "@" -Route20EndBattleText10: ; 50ea3 (14:4ea3) +Route20EndBattleText10: TX_FAR _Route20EndBattleText10 db "@" -Route20AfterBattleText10: ; 50ea8 (14:4ea8) +Route20AfterBattleText10: TX_FAR _Route20AfterBattleText10 db "@" -Route20Text12: ; 50ead (14:4ead) -Route20Text11: ; 50ead (14:4ead) +Route20Text12: +Route20Text11: TX_FAR _Route20Text11 db "@" diff --git a/scripts/route21.asm b/scripts/route21.asm index de2046dc..dcdc8022 100755 --- a/scripts/route21.asm +++ b/scripts/route21.asm @@ -1,18 +1,18 @@ -Route21Script: ; 55eeb (15:5eeb) +Route21Script: call EnableAutoTextBoxDrawing - ld hl, Route21TrainerHeaders + ld hl, Route21TrainerHeader0 ld de, Route21ScriptPointers - ld a, [W_ROUTE21CURSCRIPT] + ld a, [wRoute21CurScript] call ExecuteCurMapScriptInTable - ld [W_ROUTE21CURSCRIPT], a + ld [wRoute21CurScript], a ret -Route21ScriptPointers: ; 55efe (15:5efe) +Route21ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle -Route21TextPointers: ; 55f04 (15:5f04) +Route21TextPointers: dw Route21Text1 dw Route21Text2 dw Route21Text3 @@ -23,248 +23,247 @@ Route21TextPointers: ; 55f04 (15:5f04) dw Route21Text8 dw Route21Text9 -Route21TrainerHeaders: ; 55f16 (15:5f16) -Route21TrainerHeader0: ; 55f16 (15:5f16) - db $1 ; flag's bit +Route21TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_0 db ($0 << 4) ; trainer's view range - dw wd7e9 ; flag's byte - dw Route21BattleText1 ; 0x5fdd TextBeforeBattle - dw Route21AfterBattleText1 ; 0x5fe7 TextAfterBattle - dw Route21EndBattleText1 ; 0x5fe2 TextEndBattle - dw Route21EndBattleText1 ; 0x5fe2 TextEndBattle - -Route21TrainerHeader1: ; 55f22 (15:5f22) - db $2 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_0 + dw Route21BattleText1 ; TextBeforeBattle + dw Route21AfterBattleText1 ; TextAfterBattle + dw Route21EndBattleText1 ; TextEndBattle + dw Route21EndBattleText1 ; TextEndBattle + +Route21TrainerHeader1: + dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_1 db ($0 << 4) ; trainer's view range - dw wd7e9 ; flag's byte - dw Route21BattleText2 ; 0x5fec TextBeforeBattle - dw Route21AfterBattleText2 ; 0x5ff6 TextAfterBattle - dw Route21EndBattleText2 ; 0x5ff1 TextEndBattle - dw Route21EndBattleText2 ; 0x5ff1 TextEndBattle - -Route21TrainerHeader2: ; 55f2e (15:5f2e) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_1 + dw Route21BattleText2 ; TextBeforeBattle + dw Route21AfterBattleText2 ; TextAfterBattle + dw Route21EndBattleText2 ; TextEndBattle + dw Route21EndBattleText2 ; TextEndBattle + +Route21TrainerHeader2: + dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_2 db ($4 << 4) ; trainer's view range - dw wd7e9 ; flag's byte - dw Route21BattleText3 ; 0x5ffb TextBeforeBattle - dw Route21AfterBattleText3 ; 0x6005 TextAfterBattle - dw Route21EndBattleText3 ; 0x6000 TextEndBattle - dw Route21EndBattleText3 ; 0x6000 TextEndBattle - -Route21TrainerHeader3: ; 55f3a (15:5f3a) - db $4 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_2 + dw Route21BattleText3 ; TextBeforeBattle + dw Route21AfterBattleText3 ; TextAfterBattle + dw Route21EndBattleText3 ; TextEndBattle + dw Route21EndBattleText3 ; TextEndBattle + +Route21TrainerHeader3: + dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_3 db ($4 << 4) ; trainer's view range - dw wd7e9 ; flag's byte - dw Route21BattleText4 ; 0x600a TextBeforeBattle - dw Route21AfterBattleText4 ; 0x6014 TextAfterBattle - dw Route21EndBattleText4 ; 0x600f TextEndBattle - dw Route21EndBattleText4 ; 0x600f TextEndBattle - -Route21TrainerHeader4: ; 55f46 (15:5f46) - db $5 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_3 + dw Route21BattleText4 ; TextBeforeBattle + dw Route21AfterBattleText4 ; TextAfterBattle + dw Route21EndBattleText4 ; TextEndBattle + dw Route21EndBattleText4 ; TextEndBattle + +Route21TrainerHeader4: + dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_4 db ($4 << 4) ; trainer's view range - dw wd7e9 ; flag's byte - dw Route21BattleText5 ; 0x6019 TextBeforeBattle - dw Route21AfterBattleText5 ; 0x6023 TextAfterBattle - dw Route21EndBattleText5 ; 0x601e TextEndBattle - dw Route21EndBattleText5 ; 0x601e TextEndBattle - -Route21TrainerHeader5: ; 55f52 (15:5f52) - db $6 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_4 + dw Route21BattleText5 ; TextBeforeBattle + dw Route21AfterBattleText5 ; TextAfterBattle + dw Route21EndBattleText5 ; TextEndBattle + dw Route21EndBattleText5 ; TextEndBattle + +Route21TrainerHeader5: + dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_5 db ($4 << 4) ; trainer's view range - dw wd7e9 ; flag's byte - dw Route21BattleText6 ; 0x6028 TextBeforeBattle - dw Route21AfterBattleText6 ; 0x6032 TextAfterBattle - dw Route21EndBattleText6 ; 0x602d TextEndBattle - dw Route21EndBattleText6 ; 0x602d TextEndBattle - -Route21TrainerHeader6: ; 55f5e (15:5f5e) - db $7 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_5 + dw Route21BattleText6 ; TextBeforeBattle + dw Route21AfterBattleText6 ; TextAfterBattle + dw Route21EndBattleText6 ; TextEndBattle + dw Route21EndBattleText6 ; TextEndBattle + +Route21TrainerHeader6: + dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_6 db ($3 << 4) ; trainer's view range - dw wd7e9 ; flag's byte - dw Route21BattleText7 ; 0x6037 TextBeforeBattle - dw Route21AfterBattleText7 ; 0x6041 TextAfterBattle - dw Route21EndBattleText7 ; 0x603c TextEndBattle - dw Route21EndBattleText7 ; 0x603c TextEndBattle - -Route21TrainerHeader7: ; 55f6a (15:5f6a) - db $8 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_6 + dw Route21BattleText7 ; TextBeforeBattle + dw Route21AfterBattleText7 ; TextAfterBattle + dw Route21EndBattleText7 ; TextEndBattle + dw Route21EndBattleText7 ; TextEndBattle + +Route21TrainerHeader7: + dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_7, 1 db ($0 << 4) ; trainer's view range - dw wd7e9 ; flag's byte - dw Route21BattleText8 ; 0x6046 TextBeforeBattle - dw Route21AfterBattleText8 ; 0x6050 TextAfterBattle - dw Route21EndBattleText8 ; 0x604b TextEndBattle - dw Route21EndBattleText8 ; 0x604b TextEndBattle - -Route21TrainerHeader8: ; 55f76 (15:5f76) - db $9 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_7, 1 + dw Route21BattleText8 ; TextBeforeBattle + dw Route21AfterBattleText8 ; TextAfterBattle + dw Route21EndBattleText8 ; TextEndBattle + dw Route21EndBattleText8 ; TextEndBattle + +Route21TrainerHeader8: + dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_8, 1 db ($0 << 4) ; trainer's view range - dw wd7e9 ; flag's byte - dw Route21BattleText9 ; 0x6055 TextBeforeBattle - dw Route21AfterBattleText9 ; 0x605f TextAfterBattle - dw Route21EndBattleText9 ; 0x605a TextEndBattle - dw Route21EndBattleText9 ; 0x605a TextEndBattle + dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_8, 1 + dw Route21BattleText9 ; TextBeforeBattle + dw Route21AfterBattleText9 ; TextAfterBattle + dw Route21EndBattleText9 ; TextEndBattle + dw Route21EndBattleText9 ; TextEndBattle db $ff -Route21Text1: ; 55f83 (15:5f83) - db $08 ; asm +Route21Text1: + TX_ASM ld hl, Route21TrainerHeader0 call TalkToTrainer jp TextScriptEnd -Route21Text2: ; 55f8d (15:5f8d) - db $08 ; asm +Route21Text2: + TX_ASM ld hl, Route21TrainerHeader1 call TalkToTrainer jp TextScriptEnd -Route21Text3: ; 55f97 (15:5f97) - db $08 ; asm +Route21Text3: + TX_ASM ld hl, Route21TrainerHeader2 call TalkToTrainer jp TextScriptEnd -Route21Text4: ; 55fa1 (15:5fa1) - db $08 ; asm +Route21Text4: + TX_ASM ld hl, Route21TrainerHeader3 call TalkToTrainer jp TextScriptEnd -Route21Text5: ; 55fab (15:5fab) - db $08 ; asm +Route21Text5: + TX_ASM ld hl, Route21TrainerHeader4 call TalkToTrainer jp TextScriptEnd -Route21Text6: ; 55fb5 (15:5fb5) - db $08 ; asm +Route21Text6: + TX_ASM ld hl, Route21TrainerHeader5 call TalkToTrainer jp TextScriptEnd -Route21Text7: ; 55fbf (15:5fbf) - db $08 ; asm +Route21Text7: + TX_ASM ld hl, Route21TrainerHeader6 call TalkToTrainer jp TextScriptEnd -Route21Text8: ; 55fc9 (15:5fc9) - db $08 ; asm +Route21Text8: + TX_ASM ld hl, Route21TrainerHeader7 call TalkToTrainer jp TextScriptEnd -Route21Text9: ; 55fd3 (15:5fd3) - db $08 ; asm +Route21Text9: + TX_ASM ld hl, Route21TrainerHeader8 call TalkToTrainer jp TextScriptEnd -Route21BattleText1: ; 55fdd (15:5fdd) +Route21BattleText1: TX_FAR _Route21BattleText1 db "@" -Route21EndBattleText1: ; 55fe2 (15:5fe2) +Route21EndBattleText1: TX_FAR _Route21EndBattleText1 db "@" -Route21AfterBattleText1: ; 55fe7 (15:5fe7) +Route21AfterBattleText1: TX_FAR _Route21AfterBattleText1 db "@" -Route21BattleText2: ; 55fec (15:5fec) +Route21BattleText2: TX_FAR _Route21BattleText2 db "@" -Route21EndBattleText2: ; 55ff1 (15:5ff1) +Route21EndBattleText2: TX_FAR _Route21EndBattleText2 db "@" -Route21AfterBattleText2: ; 55ff6 (15:5ff6) +Route21AfterBattleText2: TX_FAR _Route21AfterBattleText2 db "@" -Route21BattleText3: ; 55ffb (15:5ffb) +Route21BattleText3: TX_FAR _Route21BattleText3 db "@" -Route21EndBattleText3: ; 56000 (15:6000) +Route21EndBattleText3: TX_FAR _Route21EndBattleText3 db "@" -Route21AfterBattleText3: ; 56005 (15:6005) +Route21AfterBattleText3: TX_FAR _Route21AfterBattleText3 db "@" -Route21BattleText4: ; 5600a (15:600a) +Route21BattleText4: TX_FAR _Route21BattleText4 db "@" -Route21EndBattleText4: ; 5600f (15:600f) +Route21EndBattleText4: TX_FAR _Route21EndBattleText4 db "@" -Route21AfterBattleText4: ; 56014 (15:6014) +Route21AfterBattleText4: TX_FAR _Route21AfterBattleText4 db "@" -Route21BattleText5: ; 56019 (15:6019) +Route21BattleText5: TX_FAR _Route21BattleText5 db "@" -Route21EndBattleText5: ; 5601e (15:601e) +Route21EndBattleText5: TX_FAR _Route21EndBattleText5 db "@" -Route21AfterBattleText5: ; 56023 (15:6023) +Route21AfterBattleText5: TX_FAR _Route21AfterBattleText5 db "@" -Route21BattleText6: ; 56028 (15:6028) +Route21BattleText6: TX_FAR _Route21BattleText6 db "@" -Route21EndBattleText6: ; 5602d (15:602d) +Route21EndBattleText6: TX_FAR _Route21EndBattleText6 db "@" -Route21AfterBattleText6: ; 56032 (15:6032) +Route21AfterBattleText6: TX_FAR _Route21AfterBattleText6 db "@" -Route21BattleText7: ; 56037 (15:6037) +Route21BattleText7: TX_FAR _Route21BattleText7 db "@" -Route21EndBattleText7: ; 5603c (15:603c) +Route21EndBattleText7: TX_FAR _Route21EndBattleText7 db "@" -Route21AfterBattleText7: ; 56041 (15:6041) +Route21AfterBattleText7: TX_FAR _Route21AfterBattleText7 db "@" -Route21BattleText8: ; 56046 (15:6046) +Route21BattleText8: TX_FAR _Route21BattleText8 db "@" -Route21EndBattleText8: ; 5604b (15:604b) +Route21EndBattleText8: TX_FAR _Route21EndBattleText8 db "@" -Route21AfterBattleText8: ; 56050 (15:6050) +Route21AfterBattleText8: TX_FAR _Route21AfterBattleText8 db "@" -Route21BattleText9: ; 56055 (15:6055) +Route21BattleText9: TX_FAR _Route21BattleText9 db "@" -Route21EndBattleText9: ; 5605a (15:605a) +Route21EndBattleText9: TX_FAR _Route21EndBattleText9 db "@" -Route21AfterBattleText9: ; 5605f (15:605f) +Route21AfterBattleText9: TX_FAR _Route21AfterBattleText9 db "@" diff --git a/scripts/route22.asm b/scripts/route22.asm index 9181380a..86c3768b 100755 --- a/scripts/route22.asm +++ b/scripts/route22.asm @@ -1,10 +1,10 @@ -Route22Script: ; 50eb2 (14:4eb2) +Route22Script: call EnableAutoTextBoxDrawing ld hl, Route22ScriptPointers - ld a, [W_ROUTE22CURSCRIPT] + ld a, [wRoute22CurScript] jp CallFunctionInTable -Route22ScriptPointers: ; 50ebe (14:4ebe) +Route22ScriptPointers: dw Route22Script0 dw Route22Script1 dw Route22Script2 @@ -14,15 +14,15 @@ Route22ScriptPointers: ; 50ebe (14:4ebe) dw Route22Script6 dw Route22Script7 -Route22Script_50ece: ; 50ece (14:4ece) +Route22Script_50ece: xor a ld [wJoyIgnore], a - ld [W_ROUTE22CURSCRIPT], a -Route22Script7: ; 50ed5 (14:4ed5) + ld [wRoute22CurScript], a +Route22Script7: ret -Route22Script_50ed6: ; 50ed6 (14:4ed6) - ld a, [W_RIVALSTARTER] ; wd715 +Route22Script_50ed6: + ld a, [wRivalStarter] ld b, a .asm_50eda ld a, [hli] @@ -32,43 +32,45 @@ Route22Script_50ed6: ; 50ed6 (14:4ed6) jr .asm_50eda .asm_50ee1 ld a, [hl] - ld [W_TRAINERNO], a ; wd05d + ld [wTrainerNo], a ret -Route22MoveRivalSprite: ; 50ee6 (14:4ee6) - ld de, Route22RivalMovementData ; $4efb +Route22MoveRivalSprite: + ld de, Route22RivalMovementData ld a, [wcf0d] cp $1 jr z, .asm_50ef1 inc de .asm_50ef1 call MoveSprite - ld a, $c - ld [$ff8d], a + ld a, SPRITE_FACING_RIGHT + ld [hSpriteFacingDirection], a jp SetSpriteFacingDirectionAndDelay -Route22RivalMovementData: ; 50efb (14:4efb) - db $C0,$C0,$C0,$C0,$FF ; move right 4 times +Route22RivalMovementData: + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db $FF -Route22Script0: ; 50f00 (14:4f00) - ld a, [wd7eb] - bit 7, a +Route22Script0: + CheckEvent EVENT_ROUTE22_RIVAL_WANTS_BATTLE ret z - ld hl, .Route22RivalBattleCoords ; $4f2d + ld hl, .Route22RivalBattleCoords call ArePlayerCoordsInArray ret nc - ld a, [wWhichTrade] + ld a, [wCoordIndex] ld [wcf0d], a xor a ld [hJoyHeld], a ld a, $f0 ld [wJoyIgnore], a - ld a, $2 - ld [wd528], a - ld a, [wd7eb] - bit 0, a ; is this the rival battle at the beginning of the game? - jr nz, .firstRivalBattle ; 0x50f25 $b - bit 1, a ; is this the rival at the end of the game? + ld a, PLAYER_DIR_LEFT + ld [wPlayerMovingDirection], a + CheckEvent EVENT_1ST_ROUTE22_RIVAL_BATTLE + jr nz, .firstRivalBattle + CheckEventReuseA EVENT_2ND_ROUTE22_RIVAL_BATTLE ; is this the rival at the end of the game? jp nz, Route22Script_5104e ret @@ -79,49 +81,49 @@ Route22Script0: ; 50f00 (14:4f00) .firstRivalBattle ld a, $1 - ld [wcd4f], a - xor a - ld [wcd50], a + ld [wEmotionBubbleSpriteIndex], a + xor a ; EXCLAMATION_BUBBLE + ld [wWhichEmotionBubble], a predef EmotionBubble ld a, [wWalkBikeSurfState] and a - jr z, .asm_50f4e ; 0x50f44 $8 + jr z, .asm_50f4e ld a, $ff - ld [wc0ee], a + ld [wNewSoundID], a call PlaySound .asm_50f4e ld c, BANK(Music_MeetRival) ld a, MUSIC_MEET_RIVAL call PlayMusic ld a, $1 - ld [$ff8c], a + ld [H_SPRITEINDEX], a call Route22MoveRivalSprite ld a, $1 - ld [W_ROUTE22CURSCRIPT], a + ld [wRoute22CurScript], a ret -Route22Script1: ; 50f62 (14:4f62) +Route22Script1: ld a, [wd730] bit 0, a ret nz ld a, [wcf0d] cp $1 - jr nz, .asm_50f78 ; 0x50f6d $9 - ld a, $4 - ld [wd528], a - ld a, $4 - jr .asm_50f7a ; 0x50f76 $2 + jr nz, .asm_50f78 + ld a, PLAYER_DIR_DOWN + ld [wPlayerMovingDirection], a + ld a, SPRITE_FACING_UP + jr .asm_50f7a .asm_50f78 - ld a, $c + ld a, SPRITE_FACING_RIGHT .asm_50f7a - ld [$ff8d], a + ld [hSpriteFacingDirection], a ld a, $1 - ld [$ff8c], a + ld [H_SPRITEINDEX], a call SetSpriteFacingDirectionAndDelay xor a ld [wJoyIgnore], a ld a, $1 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld hl, wd72d set 6, [hl] @@ -129,190 +131,203 @@ Route22Script1: ; 50f62 (14:4f62) ld hl, Route22RivalDefeatedText1 ld de, Route22Text_511bc call SaveEndBattleTextPointers - ld a, SONY1 + $c8 - ld [W_CUROPPONENT], a - ld hl, StarterMons_50faf ; $4faf + ld a, OPP_SONY1 + ld [wCurOpponent], a + ld hl, StarterMons_50faf call Route22Script_50ed6 ld a, $2 - ld [W_ROUTE22CURSCRIPT], a + ld [wRoute22CurScript], a ret -StarterMons_50faf: ; 50faf (14:4faf) +StarterMons_50faf: ; starter the rival picked, rival trainer number db STARTER2,$04 db STARTER3,$05 db STARTER1,$06 -Route22Script2: ; 50fb5 (14:4fb5) - ld a, [W_ISINBATTLE] +Route22Script2: + ld a, [wIsInBattle] cp $ff jp z, Route22Script_50ece ld a, [wSpriteStateData1 + 9] - and a - jr nz, .asm_50fc7 ; 0x50fc1 $4 - ld a, $4 - jr .asm_50fc9 ; 0x50fc5 $2 -.asm_50fc7 - ld a, $c -.asm_50fc9 - ld [$ff8d], a + and a ; cp SPRITE_FACING_DOWN + jr nz, .notDown + ld a, SPRITE_FACING_UP + jr .done +.notDown + ld a, SPRITE_FACING_RIGHT +.done + ld [hSpriteFacingDirection], a ld a, $1 - ld [$ff8c], a + ld [H_SPRITEINDEX], a call SetSpriteFacingDirectionAndDelay ld a, $f0 ld [wJoyIgnore], a - ld hl, wd7eb - set 5, [hl] + SetEvent EVENT_BEAT_ROUTE22_RIVAL_1ST_BATTLE ld a, $1 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $ff - ld [wc0ee], a + ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateStart ld a, [wcf0d] cp $1 - jr nz, .asm_50fff ; 0x50ff8 $5 + jr nz, .asm_50fff call Route22Script_51008 - jr .asm_51002 ; 0x50ffd $3 + jr .asm_51002 .asm_50fff call Route22Script_5100d .asm_51002 ld a, $3 - ld [W_ROUTE22CURSCRIPT], a + ld [wRoute22CurScript], a ret -Route22Script_51008: ; 51008 (14:5008) - ld de, Route22RivalExitMovementData1 ; $5017 - jr asm_51010 +Route22Script_51008: + ld de, Route22RivalExitMovementData1 + jr Route22MoveRival1 -Route22Script_5100d: ; 5100d (14:500d) - ld de, Route22RivalExitMovementData2 ; $501f -asm_51010 +Route22Script_5100d: + ld de, Route22RivalExitMovementData2 +Route22MoveRival1: ld a, $1 - ld [H_SPRITEHEIGHT], a + ld [H_SPRITEINDEX], a jp MoveSprite -Route22RivalExitMovementData1: ; 51017 (14:5017) - db $C0,$C0,$00,$00,$00,$00,$00,$FF +Route22RivalExitMovementData1: + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db $FF -Route22RivalExitMovementData2: ; 5101f (14:501f) - db $40,$C0,$C0,$C0,$00,$00,$00,$00,$00,$00,$FF +Route22RivalExitMovementData2: + db NPC_MOVEMENT_UP + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db $FF -Route22Script3: ; 5102a (14:502a) +Route22Script3: ld a, [wd730] bit 0, a ret nz xor a ld [wJoyIgnore], a ld a, HS_ROUTE_22_RIVAL_1 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject call PlayDefaultMusic - ld hl, wd7eb - res 0, [hl] - res 7, [hl] + ResetEvents EVENT_1ST_ROUTE22_RIVAL_BATTLE, EVENT_ROUTE22_RIVAL_WANTS_BATTLE ld a, $0 - ld [W_ROUTE22CURSCRIPT], a + ld [wRoute22CurScript], a ret -Route22Script_5104e: ; 5104e (14:504e) +Route22Script_5104e: ld a, $2 - ld [wcd4f], a - xor a - ld [wcd50], a + ld [wEmotionBubbleSpriteIndex], a + xor a ; EXCLAMATION_BUBBLE + ld [wWhichEmotionBubble], a predef EmotionBubble ld a, [wWalkBikeSurfState] and a jr z, .skipYVisibilityTesta ld a, $ff - ld [wc0ee], a + ld [wNewSoundID], a call PlaySound .skipYVisibilityTesta ld a, $ff - ld [wc0ee], a + ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateTempo ld a, $2 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [H_SPRITEINDEX], a call Route22MoveRivalSprite ld a, $4 - ld [W_ROUTE22CURSCRIPT], a + ld [wRoute22CurScript], a ret -Route22Script4: ; 51087 (14:5087) +Route22Script4: ld a, [wd730] bit 0, a ret nz ld a, $2 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [H_SPRITEINDEX], a ld a, [wcf0d] cp $1 jr nz, .asm_510a1 - ld a, $4 - ld [wd528], a - ld a, $4 + ld a, PLAYER_DIR_DOWN + ld [wPlayerMovingDirection], a + ld a, SPRITE_FACING_UP jr .asm_510a8 .asm_510a1 - ld a, $2 - ld [wd528], a - ld a, $c + ld a, PLAYER_DIR_LEFT + ld [wPlayerMovingDirection], a + ld a, SPRITE_FACING_RIGHT .asm_510a8 - ld [$ff8d], a + ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay xor a ld [wJoyIgnore], a ld a, $2 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a call DisplayTextID ld hl, wd72d set 6, [hl] set 7, [hl] - ld hl, Route22RivalDefeatedText2 ; $51cb - ld de, Route22Text_511d0 ; $51d0 + ld hl, Route22RivalDefeatedText2 + ld de, Route22Text_511d0 call SaveEndBattleTextPointers - ld a, SONY2 + $c8 - ld [W_CUROPPONENT], a ; wd059 - ld hl, StarterMons_510d9 ; $50d9 + ld a, OPP_SONY2 + ld [wCurOpponent], a + ld hl, StarterMons_510d9 call Route22Script_50ed6 ld a, $5 - ld [W_ROUTE22CURSCRIPT], a + ld [wRoute22CurScript], a ret -StarterMons_510d9: ; 510d9 (14:50d9) +StarterMons_510d9: db STARTER2,$0a db STARTER3,$0b db STARTER1,$0c -Route22Script5: ; 510df (14:50df) - ld a, [W_ISINBATTLE] ; W_ISINBATTLE +Route22Script5: + ld a, [wIsInBattle] cp $ff jp z, Route22Script_50ece ld a, $2 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [H_SPRITEINDEX], a ld a, [wcf0d] cp $1 jr nz, .asm_510fb - ld a, $4 - ld [wd528], a - ld a, $4 + ld a, PLAYER_DIR_DOWN + ld [wPlayerMovingDirection], a + ld a, SPRITE_FACING_UP jr .asm_51102 .asm_510fb - ld a, $2 - ld [wd528], a - ld a, $c + ld a, PLAYER_DIR_LEFT + ld [wPlayerMovingDirection], a + ld a, SPRITE_FACING_RIGHT .asm_51102 - ld [$ff8d], a + ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $f0 ld [wJoyIgnore], a - ld hl, wd7eb - set 6, [hl] + SetEvent EVENT_BEAT_ROUTE22_RIVAL_2ND_BATTLE ld a, $2 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $ff - ld [wc0ee], a + ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateStartAndTempo ld a, [wcf0d] @@ -324,108 +339,107 @@ Route22Script5: ; 510df (14:50df) call Route22Script_51142 .asm_51137 ld a, $6 - ld [W_ROUTE22CURSCRIPT], a + ld [wRoute22CurScript], a ret -Route22Script_5113d: ; 5113d (14:513d) - ld de, MovementData_5114c ; $514c - jr asm_51145 +Route22Script_5113d: + ld de, MovementData_5114c + jr Route22MoveRival2 -Route22Script_51142: ; 51142 (14:5142) - ld de, MovementData_5114d ; $514d -asm_51145: ; 51145 (14:5145) +Route22Script_51142: + ld de, MovementData_5114d +Route22MoveRival2: ld a, $2 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [H_SPRITEINDEX], a jp MoveSprite -MovementData_5114c: ; 5114c (14:514c) - db $80 ; left +MovementData_5114c: + db NPC_MOVEMENT_LEFT -MovementData_5114d: ; 5114d (14:514d) - db $80,$80,$80,$FF ; left x3 +MovementData_5114d: + db NPC_MOVEMENT_LEFT + db NPC_MOVEMENT_LEFT + db NPC_MOVEMENT_LEFT + db $FF -Route22Script6: ; 51151 (14:5151) +Route22Script6: ld a, [wd730] bit 0, a ret nz xor a ld [wJoyIgnore], a ld a, HS_ROUTE_22_RIVAL_2 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject call PlayDefaultMusic - ld hl, wd7eb - res 1, [hl] - res 7, [hl] + ResetEvents EVENT_2ND_ROUTE22_RIVAL_BATTLE, EVENT_ROUTE22_RIVAL_WANTS_BATTLE ld a, $7 - ld [W_ROUTE22CURSCRIPT], a + ld [wRoute22CurScript], a ret -Route22TextPointers: ; 51175 (14:5175) +Route22TextPointers: dw Route22Text1 dw Route22Text2 dw Route22FrontGateText -Route22Text1: ; 5117b (14:517b) - db $08 ; asm - ld a, [wd7eb] - bit 5, a - jr z, .asm_a88cf ; 0x51181 +Route22Text1: + TX_ASM + CheckEvent EVENT_BEAT_ROUTE22_RIVAL_1ST_BATTLE + jr z, .asm_5118b ld hl, Route22RivalAfterBattleText1 call PrintText - jr .asm_48088 ; 0x51189 -.asm_a88cf ; 0x5118b + jr .asm_51191 +.asm_5118b ld hl, Route22RivalBeforeBattleText1 call PrintText -.asm_48088 ; 0x51191 +.asm_51191 jp TextScriptEnd -Route22Text2: ; 51194 (14:5194) - db $08 ; asm - ld a, [wd7eb] - bit 6, a - jr z, .asm_58c0a ; 0x5119a +Route22Text2: + TX_ASM + CheckEvent EVENT_BEAT_ROUTE22_RIVAL_2ND_BATTLE + jr z, .asm_511a4 ld hl, Route22RivalAfterBattleText2 call PrintText - jr .asm_673ee ; 0x511a2 -.asm_58c0a ; 0x511a4 + jr .asm_511aa +.asm_511a4 ld hl, Route22RivalBeforeBattleText2 call PrintText -.asm_673ee ; 0x511aa +.asm_511aa jp TextScriptEnd -Route22RivalBeforeBattleText1: ; 511ad (14:51ad) +Route22RivalBeforeBattleText1: TX_FAR _Route22RivalBeforeBattleText1 db "@" -Route22RivalAfterBattleText1: ; 511b2 (14:51b2) +Route22RivalAfterBattleText1: TX_FAR _Route22RivalAfterBattleText1 db "@" -Route22RivalDefeatedText1: ; 511b7 (14:51b7) +Route22RivalDefeatedText1: TX_FAR _Route22RivalDefeatedText1 db "@" -Route22Text_511bc: ; 511bc (14:51bc) +Route22Text_511bc: TX_FAR _Route22Text_511bc db "@" -Route22RivalBeforeBattleText2: ; 511c1 (14:51c1) +Route22RivalBeforeBattleText2: TX_FAR _Route22RivalBeforeBattleText2 db "@" -Route22RivalAfterBattleText2: ; 511c6 (14:51c6) +Route22RivalAfterBattleText2: TX_FAR _Route22RivalAfterBattleText2 db "@" -Route22RivalDefeatedText2: ; 511cb (14:51cb) +Route22RivalDefeatedText2: TX_FAR _Route22RivalDefeatedText2 db "@" -Route22Text_511d0: ; 511d0 (14:51d0) +Route22Text_511d0: TX_FAR _Route22Text_511d0 db "@" -Route22FrontGateText: ; 511d5 (14:51d5) +Route22FrontGateText: TX_FAR _Route22FrontGateText db "@" diff --git a/scripts/route22gate.asm b/scripts/route22gate.asm index 6618d6a2..ee2e5b6b 100755 --- a/scripts/route22gate.asm +++ b/scripts/route22gate.asm @@ -1,47 +1,47 @@ -Route22GateScript: ; 1e683 (7:6683) +Route22GateScript: call EnableAutoTextBoxDrawing ld hl, Route22GateScriptPointers - ld a, [W_ROUTE22GATECURSCRIPT] + ld a, [wRoute22GateCurScript] call CallFunctionInTable - ld a, [W_YCOORD] + ld a, [wYCoord] cp $4 ld a, ROUTE_23 - jr c, .asm_1e69a ; 0x1e696 $2 + jr c, .asm_1e69a ld a, ROUTE_22 .asm_1e69a ld [wLastMap], a ret -Route22GateScriptPointers: ; 1e69e (7:669e) +Route22GateScriptPointers: dw Route22GateScript0 dw Route22GateScript1 dw Route22GateScript2 -Route22GateScript0: ; 1e6a4 (7:66a4) +Route22GateScript0: ld hl, Route22GateScriptCoords call ArePlayerCoordsInArray ret nc xor a ld [hJoyHeld], a ld a, $1 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a jp DisplayTextID -Route22GateScriptCoords: ; 1e6b5 (7:66b5) +Route22GateScriptCoords: db 2,4 db 2,5 db $ff -Route22GateScript_1e6ba: ; 1e6ba (7:66ba) +Route22GateScript_1e6ba: ld a, $1 ld [wSimulatedJoypadStatesIndex], a - ld a, $80 + ld a, D_DOWN ld [wSimulatedJoypadStatesEnd], a ld [wSpriteStateData1 + 9], a ld [wJoyIgnore], a jp StartSimulatingJoypadStates -Route22GateScript1: ; 1e6cd (7:66cd) +Route22GateScript1: ld a, [wSimulatedJoypadStatesIndex] and a ret nz @@ -49,44 +49,45 @@ Route22GateScript1: ; 1e6cd (7:66cd) ld [wJoyIgnore], a call Delay3 ld a, $0 - ld [W_ROUTE22GATECURSCRIPT], a -Route22GateScript2: ; 1e6de (7:66de) + ld [wRoute22GateCurScript], a +Route22GateScript2: ret -Route22GateTextPointers: ; 1e6df (7:66df) +Route22GateTextPointers: dw Route22GateText1 -Route22GateText1: ; 1e6e1 (7:66e1) - db $8 - ld a, [W_OBTAINEDBADGES] +Route22GateText1: + TX_ASM + ld a, [wObtainedBadges] bit 0, a - jr nz, .asm_8a809 ; 0x1e6e7 $d + jr nz, .asm_1e6f6 ld hl, Route22GateText_1e704 call PrintText call Route22GateScript_1e6ba ld a, $1 - jr .asm_20f7e ; 0x1e6f4 $8 -.asm_8a809 ; 0x1e6f6 + jr .asm_1e6fe +.asm_1e6f6 ld hl, Route22GateText_1e71a call PrintText ld a, $2 -.asm_20f7e ; 0x1e6fe - ld [W_ROUTE22GATECURSCRIPT], a +.asm_1e6fe + ld [wRoute22GateCurScript], a jp TextScriptEnd -Route22GateText_1e704: ; 1e704 (7:6704) - TX_FAR _Route22GateText_1e704 ; 0x8cfbb - db $8 - ld a, (SFX_02_51 - SFX_Headers_02) / 3 +Route22GateText_1e704: + TX_FAR _Route22GateText_1e704 + TX_ASM + ld a, SFX_DENIED call PlaySoundWaitForCurrent call WaitForSoundToFinish - ld hl, Route22GateText_1e715 ; $6715 + ld hl, Route22GateText_1e715 ret -Route22GateText_1e715: ; 1e715 (7:6715) +Route22GateText_1e715: TX_FAR _Route22GateText_1e715 db "@" -Route22GateText_1e71a: ; 1e71a (7:671a) - TX_FAR _Route22GateText_1e71a ; 0x8d03e - db $0B, "@" +Route22GateText_1e71a: + TX_FAR _Route22GateText_1e71a + TX_SFX_ITEM_1 + db "@" diff --git a/scripts/route23.asm b/scripts/route23.asm index 6d3849f4..4eb6b5f7 100755 --- a/scripts/route23.asm +++ b/scripts/route23.asm @@ -1,39 +1,35 @@ -Route23Script: ; 511da (14:51da) +Route23Script: call Route23Script_511e9 call EnableAutoTextBoxDrawing ld hl, Route23ScriptPointers - ld a, [W_ROUTE23CURSCRIPT] + ld a, [wRoute23CurScript] jp CallFunctionInTable -Route23Script_511e9: ; 511e9 (14:51e9) - ld hl, wd126 +Route23Script_511e9: + ld hl, wCurrentMapScriptFlags bit 6, [hl] res 6, [hl] ret z - ld hl, wd7ee - res 0, [hl] - res 7, [hl] - ld hl, wd813 - res 0, [hl] - res 6, [hl] + ResetEvents EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1, EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH2 + ResetEvents EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH1, EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH2 ld a, HS_VICTORY_ROAD_3_BOULDER - ld [wcc4d], a + ld [wMissableObjectIndex], a predef ShowObject ld a, HS_VICTORY_ROAD_2_BOULDER - ld [wcc4d], a + ld [wMissableObjectIndex], a predef_jump HideObject -Route23ScriptPointers: ; 51213 (14:5213) +Route23ScriptPointers: dw Route23Script0 dw Route23Script1 dw Route23Script2 -Route23Script0: ; 51219 (14:5219) - ld hl, YCoordsData_51255 ; $5255 - ld a, [W_YCOORD] +Route23Script0: + ld hl, YCoordsData_51255 + ld a, [wYCoord] ld b, a ld e, $0 - ld c, $7 + EventFlagBit c, EVENT_PASSED_EARTHBADGE_CHECK + 1, EVENT_PASSED_CASCADEBADGE_CHECK .asm_51224 ld a, [hli] cp $ff @@ -41,19 +37,19 @@ Route23Script0: ; 51219 (14:5219) inc e dec c cp b - jr nz, .asm_51224 ; 0x5122b $f7 + jr nz, .asm_51224 cp $23 - jr nz, .asm_51237 ; 0x5122f $6 - ld a, [W_XCOORD] + jr nz, .asm_51237 + ld a, [wXCoord] cp $e ret nc .asm_51237 ld a, e - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a ld a, c - ld [wWhichTrade], a - ld b, $2 - ld hl, wd7ed + ld [wWhichBadge], a + ld b, FLAG_TEST + EventFlagAddress hl, EVENT_PASSED_CASCADEBADGE_CHECK predef FlagActionPredef ld a, c and a @@ -64,29 +60,29 @@ Route23Script0: ; 51219 (14:5219) ld [hJoyHeld], a ret -YCoordsData_51255: ; 51255 (14:5255) +YCoordsData_51255: db $23,$38,$55,$60,$69,$77,$88,$FF -Route23Script_5125d: ; 5125d (14:525d) - ld hl, BadgeTextPointers ; $5276 - ld a, [wWhichTrade] ; wWhichTrade +Route23Script_5125d: + ld hl, BadgeTextPointers + ld a, [wWhichBadge] ld c, a - ld b, $0 + ld b, 0 add hl, bc add hl, bc ld a, [hli] ld h, [hl] ld l, a ld de, wcd6d -.asm_5126e +.copyTextLoop ld a, [hli] ld [de], a inc de - cp $50 - jr nz, .asm_5126e + cp "@" + jr nz, .copyTextLoop ret -BadgeTextPointers: ; 51276 (14:5276) +BadgeTextPointers: dw CascadeBadgeText dw ThunderBadgeText dw RainbowBadgeText @@ -95,47 +91,47 @@ BadgeTextPointers: ; 51276 (14:5276) dw VolcanoBadgeText dw EarthBadgeText -EarthBadgeText: ; 51284 (14:5284) +EarthBadgeText: db "EARTHBADGE@" -VolcanoBadgeText: ; 5128f (14:528f) +VolcanoBadgeText: db "VOLCANOBADGE@" -MarshBadgeText: ; 5129c (14:529c) +MarshBadgeText: db "MARSHBADGE@" -SoulBadgeText: ; 512a7 (14:52a7) +SoulBadgeText: db "SOULBADGE@" -RainbowBadgeText: ; 512b1 (14:52b1) +RainbowBadgeText: db "RAINBOWBADGE@" -ThunderBadgeText: ; 512be (14:52be) +ThunderBadgeText: db "THUNDERBADGE@" -CascadeBadgeText: ; 512cb (14:52cb) +CascadeBadgeText: db "CASCADEBADGE@" -Route23Script_512d8: ; 512d8 (14:52d8) +Route23Script_512d8: ld a, $1 ld [wSimulatedJoypadStatesIndex], a - ld a, $80 + ld a, D_DOWN ld [wSimulatedJoypadStatesEnd], a xor a ld [wSpriteStateData1 + 9], a ld [wJoyIgnore], a jp StartSimulatingJoypadStates -Route23Script1: ; 512ec (14:52ec) +Route23Script1: ld a, [wSimulatedJoypadStatesIndex] and a ret nz -Route23Script2: ; 512f1 (14:52f1) +Route23Script2: ld a, $0 - ld [W_ROUTE23CURSCRIPT], a + ld [wRoute23CurScript], a ret -Route23TextPointers: ; 512f7 (14:52f7) +Route23TextPointers: dw Route23Text1 dw Route23Text2 dw Route23Text3 @@ -145,56 +141,56 @@ Route23TextPointers: ; 512f7 (14:52f7) dw Route23Text7 dw Route23Text8 -Route23Text1: ; 51307 (14:5307) - db $08 ; asm - ld a, $6 +Route23Text1: + TX_ASM + EventFlagBit a, EVENT_PASSED_EARTHBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK call Route23Script_51346 jp TextScriptEnd -Route23Text2: ; 51310 (14:5310) - db $08 ; asm - ld a, $5 +Route23Text2: + TX_ASM + EventFlagBit a, EVENT_PASSED_VOLCANOBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK call Route23Script_51346 jp TextScriptEnd -Route23Text3: ; 51319 (14:5319) - db $08 ; asm - ld a, $4 +Route23Text3: + TX_ASM + EventFlagBit a, EVENT_PASSED_MARSHBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK call Route23Script_51346 jp TextScriptEnd -Route23Text4: ; 51322 (14:5322) - db $08 ; asm - ld a, $3 +Route23Text4: + TX_ASM + EventFlagBit a, EVENT_PASSED_SOULBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK call Route23Script_51346 jp TextScriptEnd -Route23Text5: ; 5132b (14:532b) - db $08 ; asm - ld a, $2 +Route23Text5: + TX_ASM + EventFlagBit a, EVENT_PASSED_RAINBOWBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK call Route23Script_51346 jp TextScriptEnd -Route23Text6: ; 51334 (14:5334) - db $08 ; asm - ld a, $1 +Route23Text6: + TX_ASM + EventFlagBit a, EVENT_PASSED_THUNDERBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK call Route23Script_51346 jp TextScriptEnd -Route23Text7: ; 5133d (14:533d) - db $8 - ld a, $0 +Route23Text7: + TX_ASM + EventFlagBit a, EVENT_PASSED_CASCADEBADGE_CHECK call Route23Script_51346 jp TextScriptEnd -Route23Script_51346: ; 51346 (14:5346) - ld [wWhichTrade], a ; wWhichTrade +Route23Script_51346: + ld [wWhichBadge], a call Route23Script_5125d - ld a, [wWhichTrade] ; wWhichTrade + ld a, [wWhichBadge] inc a ld c, a - ld b, $2 - ld hl, W_OBTAINEDBADGES + ld b, FLAG_TEST + ld hl, wObtainedBadges predef FlagActionPredef ld a, c and a @@ -203,38 +199,38 @@ Route23Script_51346: ; 51346 (14:5346) call PrintText call Route23Script_512d8 ld a, $1 - ld [W_ROUTE23CURSCRIPT], a + ld [wRoute23CurScript], a ret .asm_5136e ld hl, VictoryRoadGuardText2 call PrintText - ld a, [wWhichTrade] ; wWhichTrade + ld a, [wWhichBadge] ld c, a - ld b, $1 - ld hl, wd7ed + ld b, FLAG_SET + EventFlagAddress hl, EVENT_PASSED_CASCADEBADGE_CHECK predef FlagActionPredef ld a, $2 - ld [W_ROUTE23CURSCRIPT], a + ld [wRoute23CurScript], a ret -Route23Script_51388: ; 51388 (14:5388) +Route23Script_51388: ld hl, VictoryRoadGuardText2 jp PrintText -VictoryRoadGuardText1: ; 5138e (14:538e) +VictoryRoadGuardText1: TX_FAR _VictoryRoadGuardText1 - db $08 ; asm - ld a, (SFX_02_51 - SFX_Headers_02) / 3 + TX_ASM + ld a, SFX_DENIED call PlaySoundWaitForCurrent call WaitForSoundToFinish jp TextScriptEnd -VictoryRoadGuardText2: ; 5139e (14:539e) +VictoryRoadGuardText2: TX_FAR _VictoryRoadGuardText2 - db $b + TX_SFX_ITEM_1 TX_FAR _VictoryRoadGuardText_513a3 db "@" -Route23Text8: ; 513a8 (14:53a8) +Route23Text8: TX_FAR _Route23Text8 db "@" diff --git a/scripts/route24.asm b/scripts/route24.asm index 6916cbe7..f55d2268 100755 --- a/scripts/route24.asm +++ b/scripts/route24.asm @@ -1,85 +1,81 @@ -Route24Script: ; 513ad (14:53ad) +Route24Script: call EnableAutoTextBoxDrawing - ld hl, Route24TrainerHeaders + ld hl, Route24TrainerHeader0 ld de, Route24ScriptPointers - ld a, [W_ROUTE24CURSCRIPT] + ld a, [wRoute24CurScript] call ExecuteCurMapScriptInTable - ld [W_ROUTE24CURSCRIPT], a + ld [wRoute24CurScript], a ret -Route24Script_513c0: ; 513c0 (14:53c0) +Route24Script_513c0: xor a ld [wJoyIgnore], a - ld [W_ROUTE24CURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wRoute24CurScript], a + ld [wCurMapScript], a ret -Route24ScriptPointers: ; 513cb (14:53cb) +Route24ScriptPointers: dw Route24Script0 dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle dw Route24Script3 dw Route24Script4 -Route24Script0: ; 513d5 (14:53d5) - ld a, [wd7ef] - bit 0, a +Route24Script0: + CheckEvent EVENT_GOT_NUGGET jp nz, CheckFightingMapTrainers - ld hl, CoordsData_5140e ; $540e + ld hl, CoordsData_5140e call ArePlayerCoordsInArray jp nc, CheckFightingMapTrainers xor a ld [hJoyHeld], a ld a, $1 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a call DisplayTextID - ld hl, wd7f0 - bit 1, [hl] - res 1, [hl] + CheckAndResetEvent EVENT_NUGGET_REWARD_AVAILABLE ret z - ld a, $80 + ld a, D_DOWN ld [wSimulatedJoypadStatesEnd], a ld a, $1 ld [wSimulatedJoypadStatesIndex], a call StartSimulatingJoypadStates ld a, $4 - ld [W_ROUTE24CURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wRoute24CurScript], a + ld [wCurMapScript], a ret -CoordsData_5140e: ; 5140e (14:540e) +CoordsData_5140e: db $0F,$0A,$FF -Route24Script4: ; 51411 (14:5411) +Route24Script4: ld a, [wSimulatedJoypadStatesIndex] and a ret nz call Delay3 ld a, $0 - ld [W_ROUTE24CURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wRoute24CurScript], a + ld [wCurMapScript], a ret -Route24Script3: ; 51422 (14:5422) - ld a, [W_ISINBATTLE] ; W_ISINBATTLE +Route24Script3: + ld a, [wIsInBattle] cp $ff jp z, Route24Script_513c0 call UpdateSprites ld a, $f0 ld [wJoyIgnore], a - ld hl, wd7ef - set 1, [hl] + SetEvent EVENT_BEAT_ROUTE24_ROCKET ld a, $1 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a call DisplayTextID xor a ld [wJoyIgnore], a ld a, $0 - ld [W_ROUTE24CURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wRoute24CurScript], a + ld [wCurMapScript], a ret -Route24TextPointers: ; 5144b (14:544b) +Route24TextPointers: dw Route24Text1 dw Route24Text2 dw Route24Text3 @@ -87,79 +83,75 @@ Route24TextPointers: ; 5144b (14:544b) dw Route24Text5 dw Route24Text6 dw Route24Text7 - dw Predef5CText + dw PickUpItemText -Route24TrainerHeaders: ; 5145b (14:545b) -Route24TrainerHeader0: ; 5145b (14:545b) - db $2 ; flag's bit +Route24TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROUTE_24_TRAINER_0 db ($4 << 4) ; trainer's view range - dw wd7ef ; flag's byte - dw Route24BattleText1 ; 0x5571 TextBeforeBattle - dw Route24AfterBattleText1 ; 0x557b TextAfterBattle - dw Route24EndBattleText1 ; 0x5576 TextEndBattle - dw Route24EndBattleText1 ; 0x5576 TextEndBattle - -Route24TrainerHeader2: ; 51467 (14:5467) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_24_TRAINER_0 + dw Route24BattleText1 ; TextBeforeBattle + dw Route24AfterBattleText1 ; TextAfterBattle + dw Route24EndBattleText1 ; TextEndBattle + dw Route24EndBattleText1 ; TextEndBattle + +Route24TrainerHeader1: + dbEventFlagBit EVENT_BEAT_ROUTE_24_TRAINER_1 db ($1 << 4) ; trainer's view range - dw wd7ef ; flag's byte - dw Route24BattleText2 ; 0x5580 TextBeforeBattle - dw Route24AfterBattleText2 ; 0x558a TextAfterBattle - dw Route24EndBattleText2 ; 0x5585 TextEndBattle - dw Route24EndBattleText2 ; 0x5585 TextEndBattle - -Route24TrainerHeader3: ; 51473 (14:5473) - db $4 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_24_TRAINER_1 + dw Route24BattleText2 ; TextBeforeBattle + dw Route24AfterBattleText2 ; TextAfterBattle + dw Route24EndBattleText2 ; TextEndBattle + dw Route24EndBattleText2 ; TextEndBattle + +Route24TrainerHeader2: + dbEventFlagBit EVENT_BEAT_ROUTE_24_TRAINER_2 db ($1 << 4) ; trainer's view range - dw wd7ef ; flag's byte - dw Route24BattleText3 ; 0x558f TextBeforeBattle - dw Route24AfterBattleText3 ; 0x5599 TextAfterBattle - dw Route24EndBattleText3 ; 0x5594 TextEndBattle - dw Route24EndBattleText3 ; 0x5594 TextEndBattle - -Route24TrainerHeader4: ; 5147f (14:547f) - db $5 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_24_TRAINER_2 + dw Route24BattleText3 ; TextBeforeBattle + dw Route24AfterBattleText3 ; TextAfterBattle + dw Route24EndBattleText3 ; TextEndBattle + dw Route24EndBattleText3 ; TextEndBattle + +Route24TrainerHeader3: + dbEventFlagBit EVENT_BEAT_ROUTE_24_TRAINER_3 db ($1 << 4) ; trainer's view range - dw wd7ef ; flag's byte - dw Route24BattleText4 ; 0x559e TextBeforeBattle - dw Route24AfterBattleText4 ; 0x55a8 TextAfterBattle - dw Route24EndBattleText4 ; 0x55a3 TextEndBattle - dw Route24EndBattleText4 ; 0x55a3 TextEndBattle - -Route24TrainerHeader5: ; 5148b (14:548b) - db $6 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_24_TRAINER_3 + dw Route24BattleText4 ; TextBeforeBattle + dw Route24AfterBattleText4 ; TextAfterBattle + dw Route24EndBattleText4 ; TextEndBattle + dw Route24EndBattleText4 ; TextEndBattle + +Route24TrainerHeader4: + dbEventFlagBit EVENT_BEAT_ROUTE_24_TRAINER_4 db ($1 << 4) ; trainer's view range - dw wd7ef ; flag's byte - dw Route24BattleText5 ; 0x55ad TextBeforeBattle - dw Route24AfterBattleText5 ; 0x55b7 TextAfterBattle - dw Route24EndBattleText5 ; 0x55b2 TextEndBattle - dw Route24EndBattleText5 ; 0x55b2 TextEndBattle - -Route24TrainerHeader6: ; 51497 (14:5497) - db $7 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_24_TRAINER_4 + dw Route24BattleText5 ; TextBeforeBattle + dw Route24AfterBattleText5 ; TextAfterBattle + dw Route24EndBattleText5 ; TextEndBattle + dw Route24EndBattleText5 ; TextEndBattle + +Route24TrainerHeader5: + dbEventFlagBit EVENT_BEAT_ROUTE_24_TRAINER_5 db ($1 << 4) ; trainer's view range - dw wd7ef ; flag's byte - dw Route24BattleText6 ; 0x55bc TextBeforeBattle - dw Route24AfterBattleText6 ; 0x55c6 TextAfterBattle - dw Route24EndBattleText6 ; 0x55c1 TextEndBattle - dw Route24EndBattleText6 ; 0x55c1 TextEndBattle + dwEventFlagAddress EVENT_BEAT_ROUTE_24_TRAINER_5 + dw Route24BattleText6 ; TextBeforeBattle + dw Route24AfterBattleText6 ; TextAfterBattle + dw Route24EndBattleText6 ; TextEndBattle + dw Route24EndBattleText6 ; TextEndBattle db $ff -Route24Text1: ; 514a4 (14:54a4) - db $8 - ld hl, wd7f0 - res 1, [hl] - ld a, [wd7ef] - bit 0, a - jr nz, .asm_a03f5 ; 0x514af $48 +Route24Text1: + TX_ASM + ResetEvent EVENT_NUGGET_REWARD_AVAILABLE + CheckEvent EVENT_GOT_NUGGET + jr nz, .asm_514f9 ld hl, Route24Text_51510 call PrintText - ld bc, (NUGGET << 8) | 1 + lb bc, NUGGET, 1 call GiveItem jr nc, .BagFull - ld hl, wd7ef - set 0, [hl] + SetEvent EVENT_GOT_NUGGET ld hl, Route24Text_5151a call PrintText ld hl, Route24Text_51526 @@ -170,157 +162,158 @@ Route24Text1: ; 514a4 (14:54a4) ld hl, Route24Text_5152b ld de, Route24Text_5152b call SaveEndBattleTextPointers - ld a, [$ff8c] + ld a, [hSpriteIndexOrTextID] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters xor a ld [hJoyHeld], a ld a, $3 - ld [W_ROUTE24CURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wRoute24CurScript], a + ld [wCurMapScript], a jp TextScriptEnd -.asm_a03f5 ; 0x514f9 +.asm_514f9 ld hl, Route24Text_51530 call PrintText jp TextScriptEnd .BagFull ld hl, Route24Text_51521 call PrintText - ld hl, wd7f0 - set 1, [hl] + SetEvent EVENT_NUGGET_REWARD_AVAILABLE jp TextScriptEnd -Route24Text_51510: ; 51510 (14:5510) - TX_FAR _Route24Text_51510 ; 0x92721 - db $0B - TX_FAR _Route24Text_51515 ; 0x92755 +Route24Text_51510: + TX_FAR _Route24Text_51510 + TX_SFX_ITEM_1 + TX_FAR _Route24Text_51515 db "@" -Route24Text_5151a: ; 5151a (14:551a) - TX_FAR _Route24Text_5151a ; 0x92779 - db $0B, $6, "@" +Route24Text_5151a: + TX_FAR _Route24Text_5151a + TX_SFX_ITEM_1 + TX_BLINK + db "@" -Route24Text_51521: ; 51521 (14:5521) +Route24Text_51521: TX_FAR _Route24Text_51521 db "@" -Route24Text_51526: ; 51526 (14:5526) +Route24Text_51526: TX_FAR _Route24Text_51526 db "@" -Route24Text_5152b: ; 5152b (14:552b) +Route24Text_5152b: TX_FAR _Route24Text_5152b db "@" -Route24Text_51530: ; 51530 (14:5530) +Route24Text_51530: TX_FAR _Route24Text_51530 db "@" -Route24Text2: ; 51535 (14:5535) - db $08 ; asm +Route24Text2: + TX_ASM ld hl, Route24TrainerHeader0 call TalkToTrainer jp TextScriptEnd -Route24Text3: ; 5153f (14:553f) - db $08 ; asm +Route24Text3: + TX_ASM + ld hl, Route24TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +Route24Text4: + TX_ASM ld hl, Route24TrainerHeader2 call TalkToTrainer jp TextScriptEnd -Route24Text4: ; 51549 (14:5549) - db $08 ; asm +Route24Text5: + TX_ASM ld hl, Route24TrainerHeader3 call TalkToTrainer jp TextScriptEnd -Route24Text5: ; 51553 (14:5553) - db $08 ; asm +Route24Text6: + TX_ASM ld hl, Route24TrainerHeader4 call TalkToTrainer jp TextScriptEnd -Route24Text6: ; 5155d (14:555d) - db $08 ; asm +Route24Text7: + TX_ASM ld hl, Route24TrainerHeader5 call TalkToTrainer jp TextScriptEnd -Route24Text7: ; 51567 (14:5567) - db $08 ; asm - ld hl, Route24TrainerHeader6 - call TalkToTrainer - jp TextScriptEnd - -Route24BattleText1: ; 51571 (14:5571) +Route24BattleText1: TX_FAR _Route24BattleText1 db "@" -Route24EndBattleText1: ; 51576 (14:5576) +Route24EndBattleText1: TX_FAR _Route24EndBattleText1 db "@" -Route24AfterBattleText1: ; 5157b (14:557b) +Route24AfterBattleText1: TX_FAR _Route24AfterBattleText1 db "@" -Route24BattleText2: ; 51580 (14:5580) +Route24BattleText2: TX_FAR _Route24BattleText2 db "@" -Route24EndBattleText2: ; 51585 (14:5585) +Route24EndBattleText2: TX_FAR _Route24EndBattleText2 db "@" -Route24AfterBattleText2: ; 5158a (14:558a) +Route24AfterBattleText2: TX_FAR _Route24AfterBattleText2 db "@" -Route24BattleText3: ; 5158f (14:558f) +Route24BattleText3: TX_FAR _Route24BattleText3 db "@" -Route24EndBattleText3: ; 51594 (14:5594) +Route24EndBattleText3: TX_FAR _Route24EndBattleText3 db "@" -Route24AfterBattleText3: ; 51599 (14:5599) +Route24AfterBattleText3: TX_FAR _Route24AfterBattleText3 db "@" -Route24BattleText4: ; 5159e (14:559e) +Route24BattleText4: TX_FAR _Route24BattleText4 db "@" -Route24EndBattleText4: ; 515a3 (14:55a3) +Route24EndBattleText4: TX_FAR _Route24EndBattleText4 db "@" -Route24AfterBattleText4: ; 515a8 (14:55a8) +Route24AfterBattleText4: TX_FAR _Route24AfterBattleText4 db "@" -Route24BattleText5: ; 515ad (14:55ad) +Route24BattleText5: TX_FAR _Route24BattleText5 db "@" -Route24EndBattleText5: ; 515b2 (14:55b2) +Route24EndBattleText5: TX_FAR _Route24EndBattleText5 db "@" -Route24AfterBattleText5: ; 515b7 (14:55b7) +Route24AfterBattleText5: TX_FAR _Route24AfterBattleText5 db "@" -Route24BattleText6: ; 515bc (14:55bc) +Route24BattleText6: TX_FAR _Route24BattleText6 db "@" -Route24EndBattleText6: ; 515c1 (14:55c1) +Route24EndBattleText6: TX_FAR _Route24EndBattleText6 db "@" -Route24AfterBattleText6: ; 515c6 (14:55c6) +Route24AfterBattleText6: TX_FAR _Route24AfterBattleText6 db "@" diff --git a/scripts/route25.asm b/scripts/route25.asm index b915bdee..c83c725b 100755 --- a/scripts/route25.asm +++ b/scripts/route25.asm @@ -1,47 +1,46 @@ -Route25Script: ; 515cb (14:55cb) +Route25Script: call Route25Script_515e1 call EnableAutoTextBoxDrawing - ld hl, Route25TrainerHeaders + ld hl, Route25TrainerHeader0 ld de, Route25ScriptPointers - ld a, [W_ROUTE25CURSCRIPT] + ld a, [wRoute25CurScript] call ExecuteCurMapScriptInTable - ld [W_ROUTE25CURSCRIPT], a + ld [wRoute25CurScript], a ret -Route25Script_515e1: ; 515e1 (14:55e1) - ld hl, wd126 +Route25Script_515e1: + ld hl, wCurrentMapScriptFlags bit 6, [hl] res 6, [hl] ret z - ld hl, wd7f2 - bit 7, [hl] + CheckEventHL EVENT_LEFT_BILLS_HOUSE_AFTER_HELPING ret nz - bit 5, [hl] + CheckEventReuseHL EVENT_MET_BILL_2 jr nz, .asm_515ff - res 6, [hl] + ResetEventReuseHL EVENT_BILL_SAID_USE_CELL_SEPARATOR ld a, HS_BILL_POKEMON - ld [wcc4d], a + ld [wMissableObjectIndex], a predef_jump ShowObject .asm_515ff - bit 4, [hl] + CheckEventAfterBranchReuseHL EVENT_GOT_SS_TICKET, EVENT_MET_BILL_2 ret z - set 7, [hl] + SetEventReuseHL EVENT_LEFT_BILLS_HOUSE_AFTER_HELPING ld a, HS_NUGGET_BRIDGE_GUY - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject ld a, HS_BILL_1 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject ld a, HS_BILL_2 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef_jump ShowObject -Route25ScriptPointers: ; 51622 (14:5622) +Route25ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle -Route25TextPointers: ; 51628 (14:5628) +Route25TextPointers: dw Route25Text1 dw Route25Text2 dw Route25Text3 @@ -51,255 +50,254 @@ Route25TextPointers: ; 51628 (14:5628) dw Route25Text7 dw Route25Text8 dw Route25Text9 - dw Predef5CText + dw PickUpItemText dw Route25Text11 -Route25TrainerHeaders: ; 5163e (14:563e) -Route25TrainerHeader0: ; 5163e (14:563e) - db $1 ; flag's bit +Route25TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_0 db ($2 << 4) ; trainer's view range - dw wd7f1 ; flag's byte - dw Route25BattleText1 ; 0x5705 TextBeforeBattle - dw Route25AfterBattleText1 ; 0x570f TextAfterBattle - dw Route25EndBattleText1 ; 0x570a TextEndBattle - dw Route25EndBattleText1 ; 0x570a TextEndBattle - -Route25TrainerHeader2: ; 5164a (14:564a) - db $2 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_0 + dw Route25BattleText1 ; TextBeforeBattle + dw Route25AfterBattleText1 ; TextAfterBattle + dw Route25EndBattleText1 ; TextEndBattle + dw Route25EndBattleText1 ; TextEndBattle + +Route25TrainerHeader1: + dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_1 db ($3 << 4) ; trainer's view range - dw wd7f1 ; flag's byte - dw Route25BattleText2 ; 0x5714 TextBeforeBattle - dw Route25AfterBattleText2 ; 0x571e TextAfterBattle - dw Route25EndBattleText2 ; 0x5719 TextEndBattle - dw Route25EndBattleText2 ; 0x5719 TextEndBattle - -Route25TrainerHeader3: ; 51656 (14:5656) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_1 + dw Route25BattleText2 ; TextBeforeBattle + dw Route25AfterBattleText2 ; TextAfterBattle + dw Route25EndBattleText2 ; TextEndBattle + dw Route25EndBattleText2 ; TextEndBattle + +Route25TrainerHeader2: + dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_2 db ($3 << 4) ; trainer's view range - dw wd7f1 ; flag's byte - dw Route25BattleText3 ; 0x5723 TextBeforeBattle - dw Route25AfterBattleText3 ; 0x572d TextAfterBattle - dw Route25EndBattleText3 ; 0x5728 TextEndBattle - dw Route25EndBattleText3 ; 0x5728 TextEndBattle - -Route25TrainerHeader4: ; 51662 (14:5662) - db $4 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_2 + dw Route25BattleText3 ; TextBeforeBattle + dw Route25AfterBattleText3 ; TextAfterBattle + dw Route25EndBattleText3 ; TextEndBattle + dw Route25EndBattleText3 ; TextEndBattle + +Route25TrainerHeader3: + dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_3 db ($2 << 4) ; trainer's view range - dw wd7f1 ; flag's byte - dw Route25BattleText4 ; 0x5732 TextBeforeBattle - dw Route25AfterBattleText4 ; 0x573c TextAfterBattle - dw Route25EndBattleText4 ; 0x5737 TextEndBattle - dw Route25EndBattleText4 ; 0x5737 TextEndBattle - -Route25TrainerHeader5: ; 5166e (14:566e) - db $5 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_3 + dw Route25BattleText4 ; TextBeforeBattle + dw Route25AfterBattleText4 ; TextAfterBattle + dw Route25EndBattleText4 ; TextEndBattle + dw Route25EndBattleText4 ; TextEndBattle + +Route25TrainerHeader4: + dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_4 db ($4 << 4) ; trainer's view range - dw wd7f1 ; flag's byte - dw Route25BattleText5 ; 0x5741 TextBeforeBattle - dw Route25AfterBattleText5 ; 0x574b TextAfterBattle - dw Route25EndBattleText5 ; 0x5746 TextEndBattle - dw Route25EndBattleText5 ; 0x5746 TextEndBattle - -Route25TrainerHeader6: ; 5167a (14:567a) - db $6 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_4 + dw Route25BattleText5 ; TextBeforeBattle + dw Route25AfterBattleText5 ; TextAfterBattle + dw Route25EndBattleText5 ; TextEndBattle + dw Route25EndBattleText5 ; TextEndBattle + +Route25TrainerHeader5: + dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_5 db ($4 << 4) ; trainer's view range - dw wd7f1 ; flag's byte - dw Route25BattleText6 ; 0x5750 TextBeforeBattle - dw Route25AfterBattleText6 ; 0x575a TextAfterBattle - dw Route25EndBattleText6 ; 0x5755 TextEndBattle - dw Route25EndBattleText6 ; 0x5755 TextEndBattle - -Route25TrainerHeader7: ; 51686 (14:5686) - db $7 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_5 + dw Route25BattleText6 ; TextBeforeBattle + dw Route25AfterBattleText6 ; TextAfterBattle + dw Route25EndBattleText6 ; TextEndBattle + dw Route25EndBattleText6 ; TextEndBattle + +Route25TrainerHeader6: + dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_6 db ($3 << 4) ; trainer's view range - dw wd7f1 ; flag's byte - dw Route25BattleText7 ; 0x575f TextBeforeBattle - dw Route25AfterBattleText7 ; 0x5769 TextAfterBattle - dw Route25EndBattleText7 ; 0x5764 TextEndBattle - dw Route25EndBattleText7 ; 0x5764 TextEndBattle - -Route25TrainerHeader8: ; 51692 (14:5692) - db $8 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_6 + dw Route25BattleText7 ; TextBeforeBattle + dw Route25AfterBattleText7 ; TextAfterBattle + dw Route25EndBattleText7 ; TextEndBattle + dw Route25EndBattleText7 ; TextEndBattle + +Route25TrainerHeader7: + dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_7, 1 db ($2 << 4) ; trainer's view range - dw wd7f1 ; flag's byte - dw Route25BattleText8 ; 0x576e TextBeforeBattle - dw Route25AfterBattleText8 ; 0x5778 TextAfterBattle - dw Route25EndBattleText8 ; 0x5773 TextEndBattle - dw Route25EndBattleText8 ; 0x5773 TextEndBattle - -Route25TrainerHeader9: ; 5169e (14:569e) - db $9 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_7, 1 + dw Route25BattleText8 ; TextBeforeBattle + dw Route25AfterBattleText8 ; TextAfterBattle + dw Route25EndBattleText8 ; TextEndBattle + dw Route25EndBattleText8 ; TextEndBattle + +Route25TrainerHeader8: + dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_8, 1 db ($2 << 4) ; trainer's view range - dw wd7f1 ; flag's byte - dw Route25BattleText9 ; 0x577d TextBeforeBattle - dw Route25AfterBattleText9 ; 0x5787 TextAfterBattle - dw Route25EndBattleText9 ; 0x5782 TextEndBattle - dw Route25EndBattleText9 ; 0x5782 TextEndBattle + dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_8, 1 + dw Route25BattleText9 ; TextBeforeBattle + dw Route25AfterBattleText9 ; TextAfterBattle + dw Route25EndBattleText9 ; TextEndBattle + dw Route25EndBattleText9 ; TextEndBattle db $ff -Route25Text1: ; 516ab (14:56ab) - db $08 ; asm +Route25Text1: + TX_ASM ld hl, Route25TrainerHeader0 call TalkToTrainer jp TextScriptEnd -Route25Text2: ; 516b5 (14:56b5) - db $08 ; asm +Route25Text2: + TX_ASM + ld hl, Route25TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +Route25Text3: + TX_ASM ld hl, Route25TrainerHeader2 call TalkToTrainer jp TextScriptEnd -Route25Text3: ; 516bf (14:56bf) - db $08 ; asm +Route25Text4: + TX_ASM ld hl, Route25TrainerHeader3 call TalkToTrainer jp TextScriptEnd -Route25Text4: ; 516c9 (14:56c9) - db $08 ; asm +Route25Text5: + TX_ASM ld hl, Route25TrainerHeader4 call TalkToTrainer jp TextScriptEnd -Route25Text5: ; 516d3 (14:56d3) - db $08 ; asm +Route25Text6: + TX_ASM ld hl, Route25TrainerHeader5 call TalkToTrainer jp TextScriptEnd -Route25Text6: ; 516dd (14:56dd) - db $08 ; asm +Route25Text7: + TX_ASM ld hl, Route25TrainerHeader6 call TalkToTrainer jp TextScriptEnd -Route25Text7: ; 516e7 (14:56e7) - db $08 ; asm +Route25Text8: + TX_ASM ld hl, Route25TrainerHeader7 call TalkToTrainer jp TextScriptEnd -Route25Text8: ; 516f1 (14:56f1) - db $08 ; asm +Route25Text9: + TX_ASM ld hl, Route25TrainerHeader8 call TalkToTrainer jp TextScriptEnd -Route25Text9: ; 516fb (14:56fb) - db $08 ; asm - ld hl, Route25TrainerHeader9 - call TalkToTrainer - jp TextScriptEnd - -Route25BattleText1: ; 51705 (14:5705) +Route25BattleText1: TX_FAR _Route25BattleText1 db "@" -Route25EndBattleText1: ; 5170a (14:570a) +Route25EndBattleText1: TX_FAR _Route25EndBattleText1 db "@" -Route25AfterBattleText1: ; 5170f (14:570f) +Route25AfterBattleText1: TX_FAR _Route25AfterBattleText1 db "@" -Route25BattleText2: ; 51714 (14:5714) +Route25BattleText2: TX_FAR _Route25BattleText2 db "@" -Route25EndBattleText2: ; 51719 (14:5719) +Route25EndBattleText2: TX_FAR _Route25EndBattleText2 db "@" -Route25AfterBattleText2: ; 5171e (14:571e) +Route25AfterBattleText2: TX_FAR _Route25AfterBattleText2 db "@" -Route25BattleText3: ; 51723 (14:5723) +Route25BattleText3: TX_FAR _Route25BattleText3 db "@" -Route25EndBattleText3: ; 51728 (14:5728) +Route25EndBattleText3: TX_FAR _Route25EndBattleText3 db "@" -Route25AfterBattleText3: ; 5172d (14:572d) +Route25AfterBattleText3: TX_FAR _Route25AfterBattleText3 db "@" -Route25BattleText4: ; 51732 (14:5732) +Route25BattleText4: TX_FAR _Route25BattleText4 db "@" -Route25EndBattleText4: ; 51737 (14:5737) +Route25EndBattleText4: TX_FAR _Route25EndBattleText4 db "@" -Route25AfterBattleText4: ; 5173c (14:573c) +Route25AfterBattleText4: TX_FAR _Route25AfterBattleText4 db "@" -Route25BattleText5: ; 51741 (14:5741) +Route25BattleText5: TX_FAR _Route25BattleText5 db "@" -Route25EndBattleText5: ; 51746 (14:5746) +Route25EndBattleText5: TX_FAR _Route25EndBattleText5 db "@" -Route25AfterBattleText5: ; 5174b (14:574b) +Route25AfterBattleText5: TX_FAR _Route25AfterBattleText5 db "@" -Route25BattleText6: ; 51750 (14:5750) +Route25BattleText6: TX_FAR _Route25BattleText6 db "@" -Route25EndBattleText6: ; 51755 (14:5755) +Route25EndBattleText6: TX_FAR _Route25EndBattleText6 db "@" -Route25AfterBattleText6: ; 5175a (14:575a) +Route25AfterBattleText6: TX_FAR _Route25AfterBattleText6 db "@" -Route25BattleText7: ; 5175f (14:575f) +Route25BattleText7: TX_FAR _Route25BattleText7 db "@" -Route25EndBattleText7: ; 51764 (14:5764) +Route25EndBattleText7: TX_FAR _Route25EndBattleText7 db "@" -Route25AfterBattleText7: ; 51769 (14:5769) +Route25AfterBattleText7: TX_FAR _Route25AfterBattleText7 db "@" -Route25BattleText8: ; 5176e (14:576e) +Route25BattleText8: TX_FAR _Route25BattleText8 db "@" -Route25EndBattleText8: ; 51773 (14:5773) +Route25EndBattleText8: TX_FAR _Route25EndBattleText8 db "@" -Route25AfterBattleText8: ; 51778 (14:5778) +Route25AfterBattleText8: TX_FAR _Route25AfterBattleText8 db "@" -Route25BattleText9: ; 5177d (14:577d) +Route25BattleText9: TX_FAR _Route25BattleText9 db "@" -Route25EndBattleText9: ; 51782 (14:5782) +Route25EndBattleText9: TX_FAR _Route25EndBattleText9 db "@" -Route25AfterBattleText9: ; 51787 (14:5787) +Route25AfterBattleText9: TX_FAR _Route25AfterBattleText9 db "@" -Route25Text11: ; 5178c (14:578c) +Route25Text11: TX_FAR _Route25Text11 db "@" diff --git a/scripts/route2gate.asm b/scripts/route2gate.asm index 8ee087c8..34f1aa35 100755 --- a/scripts/route2gate.asm +++ b/scripts/route2gate.asm @@ -1,41 +1,39 @@ -Route2GateScript: ; 5d5d4 (17:55d4) +Route2GateScript: jp EnableAutoTextBoxDrawing -Route2GateTextPointers: ; 5d5d7 (17:55d7) +Route2GateTextPointers: dw Route2GateText1 dw Route2GateText2 -Route2GateText1: ; 5d5db (17:55db) - db $08 ; asm - ld a, [wd7c2] - bit 0, a - jr nz, .asm_6592c ; 0x5d5e1 +Route2GateText1: + TX_ASM + CheckEvent EVENT_GOT_HM05 + jr nz, .asm_5d60d ld a, 10 ; pokemon needed - ldh [$db], a + ld [hOaksAideRequirement], a ld a, HM_05 ; oak's aide reward - ldh [$dc], a + ld [hOaksAideRewardItem], a ld [wd11e], a - call GetItemName ; $2fcf + call GetItemName ld hl, wcd6d - ld de, wcc5b - ld bc, $000d + ld de, wOaksAideRewardItemName + ld bc, ITEM_NAME_LENGTH call CopyData - predef OaksAideScript ; call oak's aide script - ldh a, [$db] + predef OaksAideScript + ld a, [hOaksAideResult] cp $1 - jr nz, .asm_ad646 ; 0x5d606 - ld hl, wd7c2 - set 0, [hl] -.asm_6592c ; 0x5d60d + jr nz, .asm_5d613 + SetEvent EVENT_GOT_HM05 +.asm_5d60d ld hl, Route2GateText_5d616 call PrintText -.asm_ad646 ; 0x5d613 +.asm_5d613 jp TextScriptEnd -Route2GateText_5d616: ; 5d616 (17:5616) +Route2GateText_5d616: TX_FAR _Route2GateText_5d616 db "@" -Route2GateText2: ; 5d61b (17:561b) +Route2GateText2: TX_FAR _Route2GateText2 db "@" diff --git a/scripts/route2house.asm b/scripts/route2house.asm index ba13605b..95055aec 100755 --- a/scripts/route2house.asm +++ b/scripts/route2house.asm @@ -1,16 +1,16 @@ -Route2HouseScript: ; 1deed (7:5eed) +Route2HouseScript: jp EnableAutoTextBoxDrawing -Route2HouseTextPointers: ; 1def0 (7:5ef0) +Route2HouseTextPointers: dw Route2HouseText1 dw Route2HouseText2 -Route2HouseText1: ; 1def4 (7:5ef4) +Route2HouseText1: TX_FAR _Route2HouseText1 db "@" -Route2HouseText2: ; 1def9 (7:5ef9) - db $08 ; asm +Route2HouseText2: + TX_ASM ld a, $1 ld [wWhichTrade], a predef DoInGameTradeDialogue diff --git a/scripts/route3.asm b/scripts/route3.asm index acb2afce..e4748b8c 100755 --- a/scripts/route3.asm +++ b/scripts/route3.asm @@ -1,18 +1,18 @@ -Route3Script: ; 554f8 (15:54f8) +Route3Script: call EnableAutoTextBoxDrawing ld hl, Route3TrainerHeader0 ld de, Route3ScriptPointers - ld a, [W_ROUTE3CURSCRIPT] + ld a, [wRoute3CurScript] call ExecuteCurMapScriptInTable - ld [W_ROUTE3CURSCRIPT], a + ld [wRoute3CurScript], a ret -Route3ScriptPointers: ; 5550b (15:550b) +Route3ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle -Route3TextPointers: ; 55511 (15:5511) +Route3TextPointers: dw Route3Text1 dw Route3Text2 dw Route3Text3 @@ -24,229 +24,228 @@ Route3TextPointers: ; 55511 (15:5511) dw Route3Text9 dw Route3Text10 -Route3TrainerHeaders: ; 55525 (15:5525) -Route3TrainerHeader0: ; 55525 (15:5525) - db $2 ; flag's bit +Route3TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_0 db ($2 << 4) ; trainer's view range - dw wd7c3 ; flag's byte - dw Route3BattleText1 ; 0x5595 TextBeforeBattle - dw Route3AfterBattleText1 ; 0x559f TextAfterBattle - dw Route3EndBattleText1 ; 0x559a TextEndBattle - dw Route3EndBattleText1 ; 0x559a TextEndBattle - -Route3TrainerHeader2: ; 55531 (15:5531) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_0 + dw Route3BattleText1 ; TextBeforeBattle + dw Route3AfterBattleText1 ; TextAfterBattle + dw Route3EndBattleText1 ; TextEndBattle + dw Route3EndBattleText1 ; TextEndBattle + +Route3TrainerHeader1: + dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_1 db ($3 << 4) ; trainer's view range - dw wd7c3 ; flag's byte - dw Route3BattleText2 ; 0x55ae TextBeforeBattle - dw Route3AfterBattleText2 ; 0x55b8 TextAfterBattle - dw Route3EndBattleText2 ; 0x55b3 TextEndBattle - dw Route3EndBattleText2 ; 0x55b3 TextEndBattle - -Route3TrainerHeader3: ; 5553d (15:553d) - db $4 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_1 + dw Route3BattleText2 ; TextBeforeBattle + dw Route3AfterBattleText2 ; TextAfterBattle + dw Route3EndBattleText2 ; TextEndBattle + dw Route3EndBattleText2 ; TextEndBattle + +Route3TrainerHeader2: + dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_2 db ($2 << 4) ; trainer's view range - dw wd7c3 ; flag's byte - dw Route3BattleText3 ; 0x55c7 TextBeforeBattle - dw Route3AfterBattleText3 ; 0x55d1 TextAfterBattle - dw Route3EndBattleText3 ; 0x55cc TextEndBattle - dw Route3EndBattleText3 ; 0x55cc TextEndBattle - -Route3TrainerHeader4: ; 55549 (15:5549) - db $5 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_2 + dw Route3BattleText3 ; TextBeforeBattle + dw Route3AfterBattleText3 ; TextAfterBattle + dw Route3EndBattleText3 ; TextEndBattle + dw Route3EndBattleText3 ; TextEndBattle + +Route3TrainerHeader3: + dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_3 db ($1 << 4) ; trainer's view range - dw wd7c3 ; flag's byte - dw Route3BattleText4 ; 0x55e0 TextBeforeBattle - dw Route3AfterBattleText4 ; 0x55ea TextAfterBattle - dw Route3EndBattleText4 ; 0x55e5 TextEndBattle - dw Route3EndBattleText4 ; 0x55e5 TextEndBattle - -Route3TrainerHeader5: ; 55555 (15:5555) - db $6 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_3 + dw Route3BattleText4 ; TextBeforeBattle + dw Route3AfterBattleText4 ; TextAfterBattle + dw Route3EndBattleText4 ; TextEndBattle + dw Route3EndBattleText4 ; TextEndBattle + +Route3TrainerHeader4: + dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_4 db ($4 << 4) ; trainer's view range - dw wd7c3 ; flag's byte - dw Route3BattleText5 ; 0x55f9 TextBeforeBattle - dw Route3AfterBattleText5 ; 0x5603 TextAfterBattle - dw Route3EndBattleText5 ; 0x55fe TextEndBattle - dw Route3EndBattleText5 ; 0x55fe TextEndBattle - -Route3TrainerHeader6: ; 55561 (15:5561) - db $7 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_4 + dw Route3BattleText5 ; TextBeforeBattle + dw Route3AfterBattleText5 ; TextAfterBattle + dw Route3EndBattleText5 ; TextEndBattle + dw Route3EndBattleText5 ; TextEndBattle + +Route3TrainerHeader5: + dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_5 db ($3 << 4) ; trainer's view range - dw wd7c3 ; flag's byte - dw Route3BattleText6 ; 0x5612 TextBeforeBattle - dw Route3AfterBattleText6 ; 0x561c TextAfterBattle - dw Route3EndBattleText6 ; 0x5617 TextEndBattle - dw Route3EndBattleText6 ; 0x5617 TextEndBattle - -Route3TrainerHeader7: ; 5556d (15:556d) - db $8 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_5 + dw Route3BattleText6 ; TextBeforeBattle + dw Route3AfterBattleText6 ; TextAfterBattle + dw Route3EndBattleText6 ; TextEndBattle + dw Route3EndBattleText6 ; TextEndBattle + +Route3TrainerHeader6: + dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_6, 1 db ($3 << 4) ; trainer's view range - dw wd7c3 ; flag's byte - dw Route3BattleText7 ; 0x562b TextBeforeBattle - dw Route3AfterBattleText7 ; 0x5635 TextAfterBattle - dw Route3EndBattleText7 ; 0x5630 TextEndBattle - dw Route3EndBattleText7 ; 0x5630 TextEndBattle - -Route3TrainerHeader8: ; 55579 (15:5579) - db $9 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_6, 1 + dw Route3BattleText7 ; TextBeforeBattle + dw Route3AfterBattleText7 ; TextAfterBattle + dw Route3EndBattleText7 ; TextEndBattle + dw Route3EndBattleText7 ; TextEndBattle + +Route3TrainerHeader7: + dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_7, 1 db ($2 << 4) ; trainer's view range - dw wd7c3 ; flag's byte - dw Route3BattleText8 ; 0x5644 TextBeforeBattle - dw Route3AfterBattleText8 ; 0x564e TextAfterBattle - dw Route3EndBattleText8 ; 0x5649 TextEndBattle - dw Route3EndBattleText8 ; 0x5649 TextEndBattle + dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_7, 1 + dw Route3BattleText8 ; TextBeforeBattle + dw Route3AfterBattleText8 ; TextAfterBattle + dw Route3EndBattleText8 ; TextEndBattle + dw Route3EndBattleText8 ; TextEndBattle db $ff -Route3Text1: ; 55586 (15:5586) +Route3Text1: TX_FAR _Route3Text1 db "@" -Route3Text2: ; 5558b (15:558b) - db $08 ; asm +Route3Text2: + TX_ASM ld hl, Route3TrainerHeader0 call TalkToTrainer jp TextScriptEnd -Route3BattleText1: ; 55595 (15:5595) +Route3BattleText1: TX_FAR _Route3BattleText1 db "@" -Route3EndBattleText1: ; 5559a (15:559a) +Route3EndBattleText1: TX_FAR _Route3EndBattleText1 db "@" -Route3AfterBattleText1: ; 5559f (15:559f) +Route3AfterBattleText1: TX_FAR _Route3AfterBattleText1 db "@" -Route3Text3: ; 555a4 (15:55a4) - db $08 ; asm - ld hl, Route3TrainerHeader2 +Route3Text3: + TX_ASM + ld hl, Route3TrainerHeader1 call TalkToTrainer jp TextScriptEnd -Route3BattleText2: ; 555ae (15:55ae) +Route3BattleText2: TX_FAR _Route3BattleText2 db "@" -Route3EndBattleText2: ; 555b3 (15:55b3) +Route3EndBattleText2: TX_FAR _Route3EndBattleText2 db "@" -Route3AfterBattleText2: ; 555b8 (15:55b8) +Route3AfterBattleText2: TX_FAR _Route3AfterBattleText2 db "@" -Route3Text4: ; 555bd (15:55bd) - db $08 ; asm - ld hl, Route3TrainerHeader3 +Route3Text4: + TX_ASM + ld hl, Route3TrainerHeader2 call TalkToTrainer jp TextScriptEnd -Route3BattleText3: ; 555c7 (15:55c7) +Route3BattleText3: TX_FAR _Route3BattleText3 db "@" -Route3EndBattleText3: ; 555cc (15:55cc) +Route3EndBattleText3: TX_FAR _Route3EndBattleText3 db "@" -Route3AfterBattleText3: ; 555d1 (15:55d1) +Route3AfterBattleText3: TX_FAR _Route3AfterBattleText3 db "@" -Route3Text5: ; 555d6 (15:55d6) - db $08 ; asm - ld hl, Route3TrainerHeader4 +Route3Text5: + TX_ASM + ld hl, Route3TrainerHeader3 call TalkToTrainer jp TextScriptEnd -Route3BattleText4: ; 555e0 (15:55e0) +Route3BattleText4: TX_FAR _Route3BattleText4 db "@" -Route3EndBattleText4: ; 555e5 (15:55e5) +Route3EndBattleText4: TX_FAR _Route3EndBattleText4 db "@" -Route3AfterBattleText4: ; 555ea (15:55ea) +Route3AfterBattleText4: TX_FAR _Route3AfterBattleText4 db "@" -Route3Text6: ; 555ef (15:55ef) - db $08 ; asm - ld hl, Route3TrainerHeader5 +Route3Text6: + TX_ASM + ld hl, Route3TrainerHeader4 call TalkToTrainer jp TextScriptEnd -Route3BattleText5: ; 555f9 (15:55f9) +Route3BattleText5: TX_FAR _Route3BattleText5 db "@" -Route3EndBattleText5: ; 555fe (15:55fe) +Route3EndBattleText5: TX_FAR _Route3EndBattleText5 db "@" -Route3AfterBattleText5: ; 55603 (15:5603) +Route3AfterBattleText5: TX_FAR _Route3AfterBattleText5 db "@" -Route3Text7: ; 55608 (15:5608) - db $08 ; asm - ld hl, Route3TrainerHeader6 +Route3Text7: + TX_ASM + ld hl, Route3TrainerHeader5 call TalkToTrainer jp TextScriptEnd -Route3BattleText6: ; 55612 (15:5612) +Route3BattleText6: TX_FAR _Route3BattleText6 db "@" -Route3EndBattleText6: ; 55617 (15:5617) +Route3EndBattleText6: TX_FAR _Route3EndBattleText6 db "@" -Route3AfterBattleText6: ; 5561c (15:561c) +Route3AfterBattleText6: TX_FAR _Route3AfterBattleText6 db "@" -Route3Text8: ; 55621 (15:5621) - db $08 ; asm - ld hl, Route3TrainerHeader7 +Route3Text8: + TX_ASM + ld hl, Route3TrainerHeader6 call TalkToTrainer jp TextScriptEnd -Route3BattleText7: ; 5562b (15:562b) +Route3BattleText7: TX_FAR _Route3BattleText7 db "@" -Route3EndBattleText7: ; 55630 (15:5630) +Route3EndBattleText7: TX_FAR _Route3EndBattleText7 db "@" -Route3AfterBattleText7: ; 55635 (15:5635) +Route3AfterBattleText7: TX_FAR _Route3AfterBattleText7 db "@" -Route3Text9: ; 5563a (15:563a) - db $08 ; asm - ld hl, Route3TrainerHeader8 +Route3Text9: + TX_ASM + ld hl, Route3TrainerHeader7 call TalkToTrainer jp TextScriptEnd -Route3BattleText8: ; 55644 (15:5644) +Route3BattleText8: TX_FAR _Route3BattleText8 db "@" -Route3EndBattleText8: ; 55649 (15:5649) +Route3EndBattleText8: TX_FAR _Route3EndBattleText8 db "@" -Route3AfterBattleText8: ; 5564e (15:564e) +Route3AfterBattleText8: TX_FAR _Route3AfterBattleText8 db "@" -Route3Text10: ; 55653 (15:5653) +Route3Text10: TX_FAR _Route3Text10 db "@" diff --git a/scripts/route4.asm b/scripts/route4.asm index 5eafb4f7..ee9e2cdf 100755 --- a/scripts/route4.asm +++ b/scripts/route4.asm @@ -1,63 +1,62 @@ -Route4Script: ; 55658 (15:5658) +Route4Script: call EnableAutoTextBoxDrawing - ld hl, Route4TrainerHeaders + ld hl, Route4TrainerHeader0 ld de, Route4ScriptPointers - ld a, [W_ROUTE4CURSCRIPT] + ld a, [wRoute4CurScript] call ExecuteCurMapScriptInTable - ld [W_ROUTE4CURSCRIPT], a + ld [wRoute4CurScript], a ret -Route4ScriptPointers: ; 5566b (15:566b) +Route4ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle -Route4TextPointers: ; 55671 (15:5671) +Route4TextPointers: dw Route4Text1 dw Route4Text2 - dw Predef5CText + dw PickUpItemText dw PokeCenterSignText dw Route4Text5 dw Route4Text6 -Route4TrainerHeaders: ; 5567d (15:567d) -Route4TrainerHeader0: ; 5567d (15:567d) - db $2 ; flag's bit +Route4TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROUTE_4_TRAINER_0 db ($3 << 4) ; trainer's view range - dw wd7c5 ; flag's byte - dw Route4BattleText1 ; 0x5699 TextBeforeBattle - dw Route4AfterBattleText1 ; 0x56a3 TextAfterBattle - dw Route4EndBattleText1 ; 0x569e TextEndBattle - dw Route4EndBattleText1 ; 0x569e TextEndBattle + dwEventFlagAddress EVENT_BEAT_ROUTE_4_TRAINER_0 + dw Route4BattleText1 ; TextBeforeBattle + dw Route4AfterBattleText1 ; TextAfterBattle + dw Route4EndBattleText1 ; TextEndBattle + dw Route4EndBattleText1 ; TextEndBattle db $ff -Route4Text1: ; 5568a (15:568a) +Route4Text1: TX_FAR _Route4Text1 db "@" -Route4Text2: ; 5568f (15:568f) - db $08 ; asm +Route4Text2: + TX_ASM ld hl, Route4TrainerHeader0 call TalkToTrainer jp TextScriptEnd -Route4BattleText1: ; 55699 (15:5699) +Route4BattleText1: TX_FAR _Route4BattleText1 db "@" -Route4EndBattleText1: ; 5569e (15:569e) +Route4EndBattleText1: TX_FAR _Route4EndBattleText1 db "@" -Route4AfterBattleText1: ; 556a3 (15:56a3) +Route4AfterBattleText1: TX_FAR _Route4AfterBattleText1 db "@" -Route4Text5: ; 556a8 (15:56a8) +Route4Text5: TX_FAR _Route4Text5 db "@" -Route4Text6: ; 556ad (15:56ad) +Route4Text6: TX_FAR _Route4Text6 db "@" diff --git a/scripts/route5.asm b/scripts/route5.asm index 1fad3939..113212a4 100755 --- a/scripts/route5.asm +++ b/scripts/route5.asm @@ -1,9 +1,9 @@ -Route5Script: ; 556b2 (15:56b2) +Route5Script: jp EnableAutoTextBoxDrawing -Route5TextPointers: ; 556b5 (15:56b5) +Route5TextPointers: dw Route5Text1 -Route5Text1: ; 556b7 (15:56b7) +Route5Text1: TX_FAR _Route5Text1 db "@" diff --git a/scripts/route5gate.asm b/scripts/route5gate.asm index bee70e77..6072f943 100755 --- a/scripts/route5gate.asm +++ b/scripts/route5gate.asm @@ -1,116 +1,116 @@ -Route5GateScript: ; 1df33 (7:5f33) +Route5GateScript: call EnableAutoTextBoxDrawing - ld a, [W_ROUTE5GATECURSCRIPT] + ld a, [wRoute5GateCurScript] ld hl, Route5GateScriptPointers jp CallFunctionInTable -Route5GateScriptPointers: ; 1df3f (7:5f3f) +Route5GateScriptPointers: dw Route5GateScript0 dw Route5GateScript1 -Route5GateScript_1df43: ; 1df43 (7:5f43) - ld a, $40 +Route5GateScript_1df43: + ld a, D_UP ld [wSimulatedJoypadStatesEnd], a ld a, $1 ld [wSimulatedJoypadStatesIndex], a jp StartSimulatingJoypadStates -Route5GateScript0: ; 1df50 (7:5f50) +Route5GateScript0: ld a, [wd728] bit 6, a ret nz ld hl, CoordsData_1df8f call ArePlayerCoordsInArray ret nc - ld a, $2 - ld [wd528], a + ld a, PLAYER_DIR_LEFT + ld [wPlayerMovingDirection], a xor a ld [hJoyHeld], a callba RemoveGuardDrink ld a, [$ffdb] and a - jr nz, .asm_1df82 ; 0x1df70 $10 + jr nz, .asm_1df82 ld a, $2 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID call Route5GateScript_1df43 ld a, $1 - ld [W_ROUTE5GATECURSCRIPT], a + ld [wRoute5GateCurScript], a ret .asm_1df82 ld a, $3 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld hl, wd728 set 6, [hl] ret -CoordsData_1df8f: ; 1df8f (7:5f8f) +CoordsData_1df8f: db 3,3 db 3,4 db $ff -Route5GateScript1: ; 1df94 (7:5f94) +Route5GateScript1: ld a, [wSimulatedJoypadStatesIndex] and a ret nz call Delay3 xor a ld [wJoyIgnore], a - ld [W_ROUTE5GATECURSCRIPT], a + ld [wRoute5GateCurScript], a ret -Route5GateTextPointers: ; 1dfa4 (7:5fa4) +Route5GateTextPointers: dw Route5GateText1 dw Route5GateText2 dw Route5GateText3 -Route8GateText1: ; 1dfaa (7:5faa) -Route7GateText1: ; 1dfaa (7:5faa) -Route6GateText1: ; 1dfaa (7:5faa) -Route5GateText1: ; 1dfaa (7:5faa) - db $8 +Route8GateText1: +Route7GateText1: +Route6GateText1: +Route5GateText1: + TX_ASM ld a, [wd728] bit 6, a - jr nz, .asm_88856 ; 0x1dfb0 $2c + jr nz, .asm_88856 callba RemoveGuardDrink ld a, [$ffdb] and a - jr nz, .asm_768a2 ; 0x1dfbd $11 + jr nz, .asm_768a2 ld hl, Route5GateText2 call PrintText call Route5GateScript_1df43 ld a, $1 - ld [W_ROUTE5GATECURSCRIPT], a + ld [wRoute5GateCurScript], a jp TextScriptEnd -.asm_768a2 ; 0x1dfd0 +.asm_768a2 ld hl, Route5GateText3 call PrintText ld hl, wd728 set 6, [hl] jp TextScriptEnd -.asm_88856 ; 0x1dfde +.asm_88856 ld hl, SaffronGateText_1dff6 call PrintText jp TextScriptEnd -Route8GateText2: ; 1dfe7 (7:5fe7) -Route7GateText2: ; 1dfe7 (7:5fe7) -Route6GateText2: ; 1dfe7 (7:5fe7) -Route5GateText2: ; 1dfe7 (7:5fe7) +Route8GateText2: +Route7GateText2: +Route6GateText2: +Route5GateText2: TX_FAR _SaffronGateText_1dfe7 db "@" -Route8GateText3: ; 1dfec (7:5fec) -Route7GateText3: ; 1dfec (7:5fec) -Route6GateText3: ; 1dfec (7:5fec) -Route5GateText3: ; 1dfec (7:5fec) - TX_FAR _SaffronGateText_8aaa9 ; 0x8aaa9 - db $11 - TX_FAR _SaffronGateText_1dff1 ; 0x8aaef +Route8GateText3: +Route7GateText3: +Route6GateText3: +Route5GateText3: + TX_FAR _SaffronGateText_8aaa9 + TX_SFX_KEY_ITEM + TX_FAR _SaffronGateText_1dff1 db "@" -SaffronGateText_1dff6: ; 1dff6 (7:5ff6) +SaffronGateText_1dff6: TX_FAR _SaffronGateText_1dff6 db "@" diff --git a/scripts/route6.asm b/scripts/route6.asm index ee6258cd..ba727adc 100755 --- a/scripts/route6.asm +++ b/scripts/route6.asm @@ -1,18 +1,18 @@ -Route6Script: ; 590b0 (16:50b0) +Route6Script: call EnableAutoTextBoxDrawing - ld hl, Route6TrainerHeaders + ld hl, Route6TrainerHeader0 ld de, Route6ScriptPointers - ld a, [W_ROUTE6CURSCRIPT] + ld a, [wRoute6CurScript] call ExecuteCurMapScriptInTable - ld [W_ROUTE6CURSCRIPT], a + ld [wRoute6CurScript], a ret -Route6ScriptPointers: ; 590c3 (16:50c3) +Route6ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle -Route6TextPointers: ; 590c9 (16:50c9) +Route6TextPointers: dw Route6Text1 dw Route6Text2 dw Route6Text3 @@ -21,167 +21,166 @@ Route6TextPointers: ; 590c9 (16:50c9) dw Route6Text6 dw Route6Text7 -Route6TrainerHeaders: ; 590d7 (16:50d7) -Route6TrainerHeader0: ; 590d7 (16:50d7) - db $1 ; flag's bit +Route6TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROUTE_6_TRAINER_0 db ($0 << 4) ; trainer's view range - dw wd7c9 ; flag's byte - dw Route6BattleText1 ; 0x512a TextBeforeBattle - dw Route6AfterBattleText1 ; 0x5134 TextAfterBattle - dw Route6EndBattleText1 ; 0x512f TextEndBattle - dw Route6EndBattleText1 ; 0x512f TextEndBattle - -Route6TrainerHeader1: ; 590e3 (16:50e3) - db $2 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_6_TRAINER_0 + dw Route6BattleText1 ; TextBeforeBattle + dw Route6AfterBattleText1 ; TextAfterBattle + dw Route6EndBattleText1 ; TextEndBattle + dw Route6EndBattleText1 ; TextEndBattle + +Route6TrainerHeader1: + dbEventFlagBit EVENT_BEAT_ROUTE_6_TRAINER_1 db ($0 << 4) ; trainer's view range - dw wd7c9 ; flag's byte - dw Route6BattleText2 ; 0x5143 TextBeforeBattle - dw Route6AfterBattleText1 ; 0x5134 TextAfterBattle - dw Route6EndBattleText2 ; 0x5148 TextEndBattle - dw Route6EndBattleText2 ; 0x5148 TextEndBattle - -Route6TrainerHeader2: ; 590ef (16:50ef) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_6_TRAINER_1 + dw Route6BattleText2 ; TextBeforeBattle + dw Route6AfterBattleText1 ; TextAfterBattle + dw Route6EndBattleText2 ; TextEndBattle + dw Route6EndBattleText2 ; TextEndBattle + +Route6TrainerHeader2: + dbEventFlagBit EVENT_BEAT_ROUTE_6_TRAINER_2 db ($4 << 4) ; trainer's view range - dw wd7c9 ; flag's byte - dw Route6BattleText3 ; 0x5157 TextBeforeBattle - dw Route6AfterBattleText3 ; 0x5161 TextAfterBattle - dw Route6EndBattleText3 ; 0x515c TextEndBattle - dw Route6EndBattleText3 ; 0x515c TextEndBattle - -Route6TrainerHeader3: ; 590fb (16:50fb) - db $4 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_6_TRAINER_2 + dw Route6BattleText3 ; TextBeforeBattle + dw Route6AfterBattleText3 ; TextAfterBattle + dw Route6EndBattleText3 ; TextEndBattle + dw Route6EndBattleText3 ; TextEndBattle + +Route6TrainerHeader3: + dbEventFlagBit EVENT_BEAT_ROUTE_6_TRAINER_3 db ($3 << 4) ; trainer's view range - dw wd7c9 ; flag's byte - dw Route6BattleText4 ; 0x5170 TextBeforeBattle - dw Route6AfterBattleText4 ; 0x517a TextAfterBattle - dw Route6EndBattleText4 ; 0x5175 TextEndBattle - dw Route6EndBattleText4 ; 0x5175 TextEndBattle - -Route6TrainerHeader4: ; 59107 (16:5107) - db $5 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_6_TRAINER_3 + dw Route6BattleText4 ; TextBeforeBattle + dw Route6AfterBattleText4 ; TextAfterBattle + dw Route6EndBattleText4 ; TextEndBattle + dw Route6EndBattleText4 ; TextEndBattle + +Route6TrainerHeader4: + dbEventFlagBit EVENT_BEAT_ROUTE_6_TRAINER_4 db ($3 << 4) ; trainer's view range - dw wd7c9 ; flag's byte - dw Route6BattleText5 ; 0x5189 TextBeforeBattle - dw Route6AfterBattleText5 ; 0x5193 TextAfterBattle - dw Route6EndBattleText5 ; 0x518e TextEndBattle - dw Route6EndBattleText5 ; 0x518e TextEndBattle - -Route6TrainerHeader5: ; 59113 (16:5113) - db $6 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_6_TRAINER_4 + dw Route6BattleText5 ; TextBeforeBattle + dw Route6AfterBattleText5 ; TextAfterBattle + dw Route6EndBattleText5 ; TextEndBattle + dw Route6EndBattleText5 ; TextEndBattle + +Route6TrainerHeader5: + dbEventFlagBit EVENT_BEAT_ROUTE_6_TRAINER_5 db ($3 << 4) ; trainer's view range - dw wd7c9 ; flag's byte - dw Route6BattleText6 ; 0x51a2 TextBeforeBattle - dw Route6AfterBattleText6 ; 0x51ac TextAfterBattle - dw Route6EndBattleText6 ; 0x51a7 TextEndBattle - dw Route6EndBattleText6 ; 0x51a7 TextEndBattle + dwEventFlagAddress EVENT_BEAT_ROUTE_6_TRAINER_5 + dw Route6BattleText6 ; TextBeforeBattle + dw Route6AfterBattleText6 ; TextAfterBattle + dw Route6EndBattleText6 ; TextEndBattle + dw Route6EndBattleText6 ; TextEndBattle db $ff -Route6Text1: ; 59120 (16:5120) - db $8 +Route6Text1: + TX_ASM ld hl, Route6TrainerHeader0 call TalkToTrainer jp TextScriptEnd -Route6BattleText1: ; 5912a (16:512a) +Route6BattleText1: TX_FAR _Route6BattleText1 db "@" -Route6EndBattleText1: ; 5912f (16:512f) +Route6EndBattleText1: TX_FAR _Route6EndBattleText1 db "@" -Route6AfterBattleText1: ; 59134 (16:5134) +Route6AfterBattleText1: TX_FAR _Route6AfterBattleText1 db "@" -Route6Text2: ; 59139 (16:5139) - db $08 ; asm +Route6Text2: + TX_ASM ld hl, Route6TrainerHeader1 call TalkToTrainer jp TextScriptEnd -Route6BattleText2: ; 59143 (16:5143) +Route6BattleText2: TX_FAR _Route6BattleText2 db "@" -Route6EndBattleText2: ; 59148 (16:5148) +Route6EndBattleText2: TX_FAR _Route6EndBattleText2 db "@" -Route6Text3: ; 5914d (16:514d) - db $08 ; asm +Route6Text3: + TX_ASM ld hl, Route6TrainerHeader2 call TalkToTrainer jp TextScriptEnd -Route6BattleText3: ; 59157 (16:5157) +Route6BattleText3: TX_FAR _Route6BattleText3 db "@" -Route6EndBattleText3: ; 5915c (16:515c) +Route6EndBattleText3: TX_FAR _Route6EndBattleText3 db "@" -Route6AfterBattleText3: ; 59161 (16:5161) +Route6AfterBattleText3: TX_FAR _Route6AfterBattleText3 db "@" -Route6Text4: ; 59166 (16:5166) - db $08 ; asm +Route6Text4: + TX_ASM ld hl, Route6TrainerHeader3 call TalkToTrainer jp TextScriptEnd -Route6BattleText4: ; 59170 (16:5170) +Route6BattleText4: TX_FAR _Route6BattleText4 db "@" -Route6EndBattleText4: ; 59175 (16:5175) +Route6EndBattleText4: TX_FAR _Route6EndBattleText4 db "@" -Route6AfterBattleText4: ; 5917a (16:517a) +Route6AfterBattleText4: TX_FAR _Route6AfterBattleText4 db "@" -Route6Text5: ; 5917f (16:517f) - db $08 ; asm +Route6Text5: + TX_ASM ld hl, Route6TrainerHeader4 call TalkToTrainer jp TextScriptEnd -Route6BattleText5: ; 59189 (16:5189) +Route6BattleText5: TX_FAR _Route6BattleText5 db "@" -Route6EndBattleText5: ; 5918e (16:518e) +Route6EndBattleText5: TX_FAR _Route6EndBattleText5 db "@" -Route6AfterBattleText5: ; 59193 (16:5193) +Route6AfterBattleText5: TX_FAR _Route6AfterBattleText5 db "@" -Route6Text6: ; 59198 (16:5198) - db $08 ; asm +Route6Text6: + TX_ASM ld hl, Route6TrainerHeader5 call TalkToTrainer jp TextScriptEnd -Route6BattleText6: ; 591a2 (16:51a2) +Route6BattleText6: TX_FAR _Route6BattleText6 db "@" -Route6EndBattleText6: ; 591a7 (16:51a7) +Route6EndBattleText6: TX_FAR _Route6EndBattleText6 db "@" -Route6AfterBattleText6: ; 591ac (16:51ac) +Route6AfterBattleText6: TX_FAR _Route6AfterBattleText6 db "@" -Route6Text7: ; 591b1 (16:51b1) +Route6Text7: TX_FAR _Route6Text7 db "@" diff --git a/scripts/route6gate.asm b/scripts/route6gate.asm index 44d03a75..cf872f69 100755 --- a/scripts/route6gate.asm +++ b/scripts/route6gate.asm @@ -1,58 +1,58 @@ -Route6GateScript: ; 1e03d (7:603d) +Route6GateScript: call EnableAutoTextBoxDrawing ld hl, Route6GateScriptPointers - ld a, [W_ROUTE6GATECURSCRIPT] + ld a, [wRoute6GateCurScript] call CallFunctionInTable ret -Route6GateScriptPointers: ; 1e04a (7:604a) +Route6GateScriptPointers: dw Route6GateScript0 dw Route6GateScript1 -Route6GateScript0: ; 1e04e (7:604e) +Route6GateScript0: ld a, [wd728] bit 6, a ret nz ld hl, CoordsData_1e08c call ArePlayerCoordsInArray ret nc - ld a, $1 - ld [wd528], a + ld a, PLAYER_DIR_RIGHT + ld [wPlayerMovingDirection], a xor a ld [hJoyHeld], a callba RemoveGuardDrink ld a, [$ffdb] and a - jr nz, .asm_1e080 ; 0x1e06e $10 + jr nz, .asm_1e080 ld a, $2 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID call Route6GateScript_1e0a1 ld a, $1 - ld [W_ROUTE6GATECURSCRIPT], a + ld [wRoute6GateCurScript], a ret .asm_1e080 ld hl, wd728 set 6, [hl] ld a, $3 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a jp DisplayTextID -CoordsData_1e08c: ; 1e08c (7:608c) +CoordsData_1e08c: db $02,$03 db $02,$04,$FF -Route6GateScript1: ; 1e091 (7:6091) +Route6GateScript1: ld a, [wSimulatedJoypadStatesIndex] and a ret nz call Delay3 xor a ld [wJoyIgnore], a - ld [W_ROUTE6GATECURSCRIPT], a + ld [wRoute6GateCurScript], a ret -Route6GateScript_1e0a1: ; 1e0a1 (7:60a1) +Route6GateScript_1e0a1: ld hl, wd730 set 7, [hl] ld a, $80 @@ -64,7 +64,7 @@ Route6GateScript_1e0a1: ; 1e0a1 (7:60a1) ld [wOverrideSimulatedJoypadStatesMask], a ret -Route6GateTextPointers: ; 1e0b8 (7:60b8) +Route6GateTextPointers: dw Route6GateText1 dw Route6GateText2 dw Route6GateText3 diff --git a/scripts/route7.asm b/scripts/route7.asm index 484fc539..5e8288ea 100755 --- a/scripts/route7.asm +++ b/scripts/route7.asm @@ -1,9 +1,9 @@ -Route7Script: ; 48152 (12:4152) +Route7Script: jp EnableAutoTextBoxDrawing -Route7TextPointers: ; 48155 (12:4155) +Route7TextPointers: dw Route7Text1 -Route7Text1: ; 48157 (12:4157) +Route7Text1: TX_FAR _Route7Text1 db "@" diff --git a/scripts/route7gate.asm b/scripts/route7gate.asm index beab96bf..6d4e27bb 100755 --- a/scripts/route7gate.asm +++ b/scripts/route7gate.asm @@ -1,15 +1,15 @@ -Route7GateScript: ; 1e100 (7:6100) +Route7GateScript: call EnableAutoTextBoxDrawing - ld a, [W_ROUTE7GATECURSCRIPT] + ld a, [wRoute7GateCurScript] ld hl, Route7GateScriptPointers call CallFunctionInTable ret -Route7GateScriptPointers: ; 1e10d (7:610d) +Route7GateScriptPointers: dw Route7GateScript0 dw Route7GateScript1 -Route7GateScript_1e111: ; 1e111 (7:6111) +Route7GateScript_1e111: ld hl, wd730 set 7, [hl] ld a, $20 @@ -21,53 +21,53 @@ Route7GateScript_1e111: ; 1e111 (7:6111) ld [wOverrideSimulatedJoypadStatesMask], a ret -Route7GateScript0: ; 1e128 (7:6128) +Route7GateScript0: ld a, [wd728] bit 6, a ret nz ld hl, CoordsData_1e167 call ArePlayerCoordsInArray ret nc - ld a, $8 - ld [wd528], a + ld a, PLAYER_DIR_UP + ld [wPlayerMovingDirection], a xor a ld [hJoyHeld], a callba RemoveGuardDrink ld a, [$ffdb] and a - jr nz, .asm_1e15a ; 0x1e148 $10 + jr nz, .asm_1e15a ld a, $2 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID call Route7GateScript_1e111 ld a, $1 - ld [W_ROUTE7GATECURSCRIPT], a + ld [wRoute7GateCurScript], a ret .asm_1e15a ld a, $3 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld hl, wd728 set 6, [hl] ret -CoordsData_1e167: ; 1e167 (7:6167) +CoordsData_1e167: db 3,3 db 4,3 db $ff -Route7GateScript1: ; 1e16c (7:616c) +Route7GateScript1: ld a, [wSimulatedJoypadStatesIndex] and a ret nz call Delay3 xor a ld [wJoyIgnore], a - ld [W_ROUTE7GATECURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wRoute7GateCurScript], a + ld [wCurMapScript], a ret -Route7GateTextPointers: ; 1e17f (7:617f) +Route7GateTextPointers: dw Route7GateText1 dw Route7GateText2 dw Route7GateText3 diff --git a/scripts/route8.asm b/scripts/route8.asm index eed57c7b..e05508bb 100755 --- a/scripts/route8.asm +++ b/scripts/route8.asm @@ -1,18 +1,18 @@ -Route8Script: ; 591b6 (16:51b6) +Route8Script: call EnableAutoTextBoxDrawing - ld hl, Route8TrainerHeaders + ld hl, Route8TrainerHeader0 ld de, Route8ScriptPointers - ld a, [W_ROUTE8CURSCRIPT] + ld a, [wRoute8CurScript] call ExecuteCurMapScriptInTable - ld [W_ROUTE8CURSCRIPT], a + ld [wRoute8CurScript], a ret -Route8ScriptPointers: ; 591c9 (16:51c9) +Route8ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle -Route8TextPointers: ; 591cf (16:51cf) +Route8TextPointers: dw Route8Text1 dw Route8Text2 dw Route8Text3 @@ -24,252 +24,251 @@ Route8TextPointers: ; 591cf (16:51cf) dw Route8Text9 dw Route8Text10 -Route8TrainerHeaders: ; 591e3 (16:51e3) -Route8TrainerHeader0: ; 591e3 (16:51e3) - db $1 ; flag's bit +Route8TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_0 db ($4 << 4) ; trainer's view range - dw wd7cd ; flag's byte - dw Route8BattleText1 ; 0x525a TextBeforeBattle - dw Route8AfterBattleText1 ; 0x5264 TextAfterBattle - dw Route8EndBattleText1 ; 0x525f TextEndBattle - dw Route8EndBattleText1 ; 0x525f TextEndBattle - -Route8TrainerHeader1: ; 591ef (16:51ef) - db $2 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_0 + dw Route8BattleText1 ; TextBeforeBattle + dw Route8AfterBattleText1 ; TextAfterBattle + dw Route8EndBattleText1 ; TextEndBattle + dw Route8EndBattleText1 ; TextEndBattle + +Route8TrainerHeader1: + dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_1 db ($4 << 4) ; trainer's view range - dw wd7cd ; flag's byte - dw Route8BattleText2 ; 0x5273 TextBeforeBattle - dw Route8AfterBattleText2 ; 0x527d TextAfterBattle - dw Route8EndBattleText2 ; 0x5278 TextEndBattle - dw Route8EndBattleText2 ; 0x5278 TextEndBattle - -Route8TrainerHeader2: ; 591fb (16:51fb) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_1 + dw Route8BattleText2 ; TextBeforeBattle + dw Route8AfterBattleText2 ; TextAfterBattle + dw Route8EndBattleText2 ; TextEndBattle + dw Route8EndBattleText2 ; TextEndBattle + +Route8TrainerHeader2: + dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_2 db ($4 << 4) ; trainer's view range - dw wd7cd ; flag's byte - dw Route8BattleText3 ; 0x528c TextBeforeBattle - dw Route8AfterBattleText3 ; 0x5296 TextAfterBattle - dw Route8EndBattleText3 ; 0x5291 TextEndBattle - dw Route8EndBattleText3 ; 0x5291 TextEndBattle - -Route8TrainerHeader3: ; 59207 (16:5207) - db $4 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_2 + dw Route8BattleText3 ; TextBeforeBattle + dw Route8AfterBattleText3 ; TextAfterBattle + dw Route8EndBattleText3 ; TextEndBattle + dw Route8EndBattleText3 ; TextEndBattle + +Route8TrainerHeader3: + dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_3 db ($2 << 4) ; trainer's view range - dw wd7cd ; flag's byte - dw Route8BattleText4 ; 0x52a5 TextBeforeBattle - dw Route8AfterBattleText4 ; 0x52af TextAfterBattle - dw Route8EndBattleText4 ; 0x52aa TextEndBattle - dw Route8EndBattleText4 ; 0x52aa TextEndBattle - -Route8TrainerHeader4: ; 59213 (16:5213) - db $5 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_3 + dw Route8BattleText4 ; TextBeforeBattle + dw Route8AfterBattleText4 ; TextAfterBattle + dw Route8EndBattleText4 ; TextEndBattle + dw Route8EndBattleText4 ; TextEndBattle + +Route8TrainerHeader4: + dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_4 db ($3 << 4) ; trainer's view range - dw wd7cd ; flag's byte - dw Route8BattleText5 ; 0x52be TextBeforeBattle - dw Route8AfterBattleText5 ; 0x52c8 TextAfterBattle - dw Route8EndBattleText5 ; 0x52c3 TextEndBattle - dw Route8EndBattleText5 ; 0x52c3 TextEndBattle - -Route8TrainerHeader5: ; 5921f (16:521f) - db $6 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_4 + dw Route8BattleText5 ; TextBeforeBattle + dw Route8AfterBattleText5 ; TextAfterBattle + dw Route8EndBattleText5 ; TextEndBattle + dw Route8EndBattleText5 ; TextEndBattle + +Route8TrainerHeader5: + dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_5 db ($3 << 4) ; trainer's view range - dw wd7cd ; flag's byte - dw Route8BattleText6 ; 0x52d7 TextBeforeBattle - dw Route8AfterBattleText6 ; 0x52e1 TextAfterBattle - dw Route8EndBattleText6 ; 0x52dc TextEndBattle - dw Route8EndBattleText6 ; 0x52dc TextEndBattle - -Route8TrainerHeader6: ; 5922b (16:522b) - db $7 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_5 + dw Route8BattleText6 ; TextBeforeBattle + dw Route8AfterBattleText6 ; TextAfterBattle + dw Route8EndBattleText6 ; TextEndBattle + dw Route8EndBattleText6 ; TextEndBattle + +Route8TrainerHeader6: + dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_6 db ($2 << 4) ; trainer's view range - dw wd7cd ; flag's byte - dw Route8BattleText7 ; 0x52f0 TextBeforeBattle - dw Route8AfterBattleText7 ; 0x52fa TextAfterBattle - dw Route8EndBattleText7 ; 0x52f5 TextEndBattle - dw Route8EndBattleText7 ; 0x52f5 TextEndBattle - -Route8TrainerHeader7: ; 59237 (16:5237) - db $8 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_6 + dw Route8BattleText7 ; TextBeforeBattle + dw Route8AfterBattleText7 ; TextAfterBattle + dw Route8EndBattleText7 ; TextEndBattle + dw Route8EndBattleText7 ; TextEndBattle + +Route8TrainerHeader7: + dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_7, 1 db ($2 << 4) ; trainer's view range - dw wd7cd ; flag's byte - dw Route8BattleText8 ; 0x5309 TextBeforeBattle - dw Route8AfterBattleText8 ; 0x5313 TextAfterBattle - dw Route8EndBattleText8 ; 0x530e TextEndBattle - dw Route8EndBattleText8 ; 0x530e TextEndBattle - -Route8TrainerHeader8: ; 59243 (16:5243) - db $9 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_7, 1 + dw Route8BattleText8 ; TextBeforeBattle + dw Route8AfterBattleText8 ; TextAfterBattle + dw Route8EndBattleText8 ; TextEndBattle + dw Route8EndBattleText8 ; TextEndBattle + +Route8TrainerHeader8: + dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_8, 1 db ($4 << 4) ; trainer's view range - dw wd7cd ; flag's byte - dw Route8BattleText9 ; 0x5322 TextBeforeBattle - dw Route8AfterBattleText9 ; 0x532c TextAfterBattle - dw Route8EndBattleText9 ; 0x5327 TextEndBattle - dw Route8EndBattleText9 ; 0x5327 TextEndBattle + dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_8, 1 + dw Route8BattleText9 ; TextBeforeBattle + dw Route8AfterBattleText9 ; TextAfterBattle + dw Route8EndBattleText9 ; TextEndBattle + dw Route8EndBattleText9 ; TextEndBattle db $ff -Route8Text1: ; 59250 (16:5250) - db $8 +Route8Text1: + TX_ASM ld hl, Route8TrainerHeader0 call TalkToTrainer jp TextScriptEnd -Route8BattleText1: ; 5925a (16:525a) +Route8BattleText1: TX_FAR _Route8BattleText1 db "@" -Route8EndBattleText1: ; 5925f (16:525f) +Route8EndBattleText1: TX_FAR _Route8EndBattleText1 db "@" -Route8AfterBattleText1: ; 59264 (16:5264) +Route8AfterBattleText1: TX_FAR _Route8AfterBattleText1 db "@" -Route8Text2: ; 59269 (16:5269) - db $08 ; asm +Route8Text2: + TX_ASM ld hl, Route8TrainerHeader1 call TalkToTrainer jp TextScriptEnd -Route8BattleText2: ; 59273 (16:5273) +Route8BattleText2: TX_FAR _Route8BattleText2 db "@" -Route8EndBattleText2: ; 59278 (16:5278) +Route8EndBattleText2: TX_FAR _Route8EndBattleText2 db "@" -Route8AfterBattleText2: ; 5927d (16:527d) +Route8AfterBattleText2: TX_FAR _Route8AfterBattleText2 db "@" -Route8Text3: ; 59282 (16:5282) - db $08 ; asm +Route8Text3: + TX_ASM ld hl, Route8TrainerHeader2 call TalkToTrainer jp TextScriptEnd -Route8BattleText3: ; 5928c (16:528c) +Route8BattleText3: TX_FAR _Route8BattleText3 db "@" -Route8EndBattleText3: ; 59291 (16:5291) +Route8EndBattleText3: TX_FAR _Route8EndBattleText3 db "@" -Route8AfterBattleText3: ; 59296 (16:5296) +Route8AfterBattleText3: TX_FAR _Route8AfterBattleText3 db "@" -Route8Text4: ; 5929b (16:529b) - db $08 ; asm +Route8Text4: + TX_ASM ld hl, Route8TrainerHeader3 call TalkToTrainer jp TextScriptEnd -Route8BattleText4: ; 592a5 (16:52a5) +Route8BattleText4: TX_FAR _Route8BattleText4 db "@" -Route8EndBattleText4: ; 592aa (16:52aa) +Route8EndBattleText4: TX_FAR _Route8EndBattleText4 db "@" -Route8AfterBattleText4: ; 592af (16:52af) +Route8AfterBattleText4: TX_FAR _Route8AfterBattleText4 db "@" -Route8Text5: ; 592b4 (16:52b4) - db $08 ; asm +Route8Text5: + TX_ASM ld hl, Route8TrainerHeader4 call TalkToTrainer jp TextScriptEnd -Route8BattleText5: ; 592be (16:52be) +Route8BattleText5: TX_FAR _Route8BattleText5 db "@" -Route8EndBattleText5: ; 592c3 (16:52c3) +Route8EndBattleText5: TX_FAR _Route8EndBattleText5 db "@" -Route8AfterBattleText5: ; 592c8 (16:52c8) +Route8AfterBattleText5: TX_FAR _Route8AfterBattleText5 db "@" -Route8Text6: ; 592cd (16:52cd) - db $08 ; asm +Route8Text6: + TX_ASM ld hl, Route8TrainerHeader5 call TalkToTrainer jp TextScriptEnd -Route8BattleText6: ; 592d7 (16:52d7) +Route8BattleText6: TX_FAR _Route8BattleText6 db "@" -Route8EndBattleText6: ; 592dc (16:52dc) +Route8EndBattleText6: TX_FAR _Route8EndBattleText6 db "@" -Route8AfterBattleText6: ; 592e1 (16:52e1) +Route8AfterBattleText6: TX_FAR _Route8AfterBattleText6 db "@" -Route8Text7: ; 592e6 (16:52e6) - db $08 ; asm +Route8Text7: + TX_ASM ld hl, Route8TrainerHeader6 call TalkToTrainer jp TextScriptEnd -Route8BattleText7: ; 592f0 (16:52f0) +Route8BattleText7: TX_FAR _Route8BattleText7 db "@" -Route8EndBattleText7: ; 592f5 (16:52f5) +Route8EndBattleText7: TX_FAR _Route8EndBattleText7 db "@" -Route8AfterBattleText7: ; 592fa (16:52fa) +Route8AfterBattleText7: TX_FAR _Route8AfterBattleText7 db "@" -Route8Text8: ; 592ff (16:52ff) - db $08 ; asm +Route8Text8: + TX_ASM ld hl, Route8TrainerHeader7 call TalkToTrainer jp TextScriptEnd -Route8BattleText8: ; 59309 (16:5309) +Route8BattleText8: TX_FAR _Route8BattleText8 db "@" -Route8EndBattleText8: ; 5930e (16:530e) +Route8EndBattleText8: TX_FAR _Route8EndBattleText8 db "@" -Route8AfterBattleText8: ; 59313 (16:5313) +Route8AfterBattleText8: TX_FAR _Route8AfterBattleText8 db "@" -Route8Text9: ; 59318 (16:5318) - db $08 ; asm +Route8Text9: + TX_ASM ld hl, Route8TrainerHeader8 call TalkToTrainer jp TextScriptEnd -Route8BattleText9: ; 59322 (16:5322) +Route8BattleText9: TX_FAR _Route8BattleText9 db "@" -Route8EndBattleText9: ; 59327 (16:5327) +Route8EndBattleText9: TX_FAR _Route8EndBattleText9 db "@" -Route8AfterBattleText9: ; 5932c (16:532c) +Route8AfterBattleText9: TX_FAR _Route8AfterBattleText9 db "@" -Route8Text10: ; 59331 (16:5331) +Route8Text10: TX_FAR _Route8Text10 db "@" diff --git a/scripts/route8gate.asm b/scripts/route8gate.asm index 8ea12f04..28835f9d 100755 --- a/scripts/route8gate.asm +++ b/scripts/route8gate.asm @@ -1,14 +1,14 @@ -Route8GateScript: ; 1e1c7 (7:61c7) +Route8GateScript: call EnableAutoTextBoxDrawing ld hl, Route8GateScriptPointers - ld a, [W_ROUTE8GATECURSCRIPT] + ld a, [wRoute8GateCurScript] jp CallFunctionInTable -Route8GateScriptPointers: ; 1e1d3 (7:61d3) +Route8GateScriptPointers: dw Route8GateScript0 dw Route8GateScript1 -Route8GateScript_1e1d7: ; 1e1d7 (7:61d7) +Route8GateScript_1e1d7: ld hl, wd730 set 7, [hl] ld a, $10 @@ -20,51 +20,51 @@ Route8GateScript_1e1d7: ; 1e1d7 (7:61d7) ld [wOverrideSimulatedJoypadStatesMask], a ret -Route8GateScript0: ; 1e1ee (7:61ee) +Route8GateScript0: ld a, [wd728] bit 6, a ret nz ld hl, CoordsData_1e22c call ArePlayerCoordsInArray ret nc - ld a, $2 - ld [wd528], a + ld a, PLAYER_DIR_LEFT + ld [wPlayerMovingDirection], a xor a ld [hJoyHeld], a callba RemoveGuardDrink ld a, [$ffdb] and a - jr nz, .asm_1e220 ; 0x1e20e $10 + jr nz, .asm_1e220 ld a, $2 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID call Route8GateScript_1e1d7 ld a, $1 - ld [W_ROUTE8GATECURSCRIPT], a + ld [wRoute8GateCurScript], a ret .asm_1e220 ld hl, wd728 set 6, [hl] ld a, $3 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a jp DisplayTextID -CoordsData_1e22c: ; 1e22c (7:622c) +CoordsData_1e22c: db 3,2 db 4,2 db $ff -Route8GateScript1: ; 1e231 (7:6231) +Route8GateScript1: ld a, [wSimulatedJoypadStatesIndex] and a ret nz call Delay3 xor a ld [wJoyIgnore], a - ld [W_ROUTE8GATECURSCRIPT], a + ld [wRoute8GateCurScript], a ret -Route8GateTextPointers: ; 1e241 (7:6241) +Route8GateTextPointers: dw Route8GateText1 dw Route8GateText2 dw Route8GateText3 diff --git a/scripts/route9.asm b/scripts/route9.asm index 77b216c6..c965d853 100755 --- a/scripts/route9.asm +++ b/scripts/route9.asm @@ -1,18 +1,18 @@ -Route9Script: ; 556bc (15:56bc) +Route9Script: call EnableAutoTextBoxDrawing - ld hl, Route9TrainerHeaders + ld hl, Route9TrainerHeader0 ld de, Route9ScriptPointers - ld a, [W_ROUTE9CURSCRIPT] + ld a, [wRoute9CurScript] call ExecuteCurMapScriptInTable - ld [W_ROUTE9CURSCRIPT], a + ld [wRoute9CurScript], a ret -Route9ScriptPointers: ; 556cf (15:56cf) +Route9ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle -Route9TextPointers: ; 556d5 (15:56d5) +Route9TextPointers: dw Route9Text1 dw Route9Text2 dw Route9Text3 @@ -22,248 +22,247 @@ Route9TextPointers: ; 556d5 (15:56d5) dw Route9Text7 dw Route9Text8 dw Route9Text9 - dw Predef5CText + dw PickUpItemText dw Route9Text11 -Route9TrainerHeaders: ; 556eb (15:56eb) -Route9TrainerHeader0: ; 556eb (15:56eb) - db $1 ; flag's bit +Route9TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_0 db ($3 << 4) ; trainer's view range - dw wd7cf ; flag's byte - dw Route9BattleText1 ; 0x5792 TextBeforeBattle - dw Route9AfterBattleText1 ; 0x579c TextAfterBattle - dw Route9EndBattleText1 ; 0x5797 TextEndBattle - dw Route9EndBattleText1 ; 0x5797 TextEndBattle - -Route9TrainerHeader2: ; 556f7 (15:56f7) - db $2 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_0 + dw Route9BattleText1 ; TextBeforeBattle + dw Route9AfterBattleText1 ; TextAfterBattle + dw Route9EndBattleText1 ; TextEndBattle + dw Route9EndBattleText1 ; TextEndBattle + +Route9TrainerHeader1: + dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_1 db ($2 << 4) ; trainer's view range - dw wd7cf ; flag's byte - dw Route9BattleText2 ; 0x57a1 TextBeforeBattle - dw Route9AfterBattleText2 ; 0x57ab TextAfterBattle - dw Route9EndBattleText2 ; 0x57a6 TextEndBattle - dw Route9EndBattleText2 ; 0x57a6 TextEndBattle - -Route9TrainerHeader3: ; 55703 (15:5703) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_1 + dw Route9BattleText2 ; TextBeforeBattle + dw Route9AfterBattleText2 ; TextAfterBattle + dw Route9EndBattleText2 ; TextEndBattle + dw Route9EndBattleText2 ; TextEndBattle + +Route9TrainerHeader2: + dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_2 db ($4 << 4) ; trainer's view range - dw wd7cf ; flag's byte - dw Route9BattleText3 ; 0x57b0 TextBeforeBattle - dw Route9AfterBattleText3 ; 0x57ba TextAfterBattle - dw Route9EndBattleText3 ; 0x57b5 TextEndBattle - dw Route9EndBattleText3 ; 0x57b5 TextEndBattle - -Route9TrainerHeader4: ; 5570f (15:570f) - db $4 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_2 + dw Route9BattleText3 ; TextBeforeBattle + dw Route9AfterBattleText3 ; TextAfterBattle + dw Route9EndBattleText3 ; TextEndBattle + dw Route9EndBattleText3 ; TextEndBattle + +Route9TrainerHeader3: + dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_3 db ($2 << 4) ; trainer's view range - dw wd7cf ; flag's byte - dw Route9BattleText4 ; 0x57bf TextBeforeBattle - dw Route9AfterBattleText4 ; 0x57c9 TextAfterBattle - dw Route9EndBattleText4 ; 0x57c4 TextEndBattle - dw Route9EndBattleText4 ; 0x57c4 TextEndBattle - -Route9TrainerHeader5: ; 5571b (15:571b) - db $5 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_3 + dw Route9BattleText4 ; TextBeforeBattle + dw Route9AfterBattleText4 ; TextAfterBattle + dw Route9EndBattleText4 ; TextEndBattle + dw Route9EndBattleText4 ; TextEndBattle + +Route9TrainerHeader4: + dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_4 db ($2 << 4) ; trainer's view range - dw wd7cf ; flag's byte - dw Route9BattleText5 ; 0x57ce TextBeforeBattle - dw Route9AfterBattleText5 ; 0x57d8 TextAfterBattle - dw Route9EndBattleText5 ; 0x57d3 TextEndBattle - dw Route9EndBattleText5 ; 0x57d3 TextEndBattle - -Route9TrainerHeader6: ; 55727 (15:5727) - db $6 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_4 + dw Route9BattleText5 ; TextBeforeBattle + dw Route9AfterBattleText5 ; TextAfterBattle + dw Route9EndBattleText5 ; TextEndBattle + dw Route9EndBattleText5 ; TextEndBattle + +Route9TrainerHeader5: + dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_5 db ($3 << 4) ; trainer's view range - dw wd7cf ; flag's byte - dw Route9BattleText6 ; 0x57dd TextBeforeBattle - dw Route9AfterBattleText6 ; 0x57e7 TextAfterBattle - dw Route9EndBattleText6 ; 0x57e2 TextEndBattle - dw Route9EndBattleText6 ; 0x57e2 TextEndBattle - -Route9TrainerHeader7: ; 55733 (15:5733) - db $7 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_5 + dw Route9BattleText6 ; TextBeforeBattle + dw Route9AfterBattleText6 ; TextAfterBattle + dw Route9EndBattleText6 ; TextEndBattle + dw Route9EndBattleText6 ; TextEndBattle + +Route9TrainerHeader6: + dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_6 db ($4 << 4) ; trainer's view range - dw wd7cf ; flag's byte - dw Route9BattleText7 ; 0x57ec TextBeforeBattle - dw Route9AfterBattleText7 ; 0x57f6 TextAfterBattle - dw Route9EndBattleText7 ; 0x57f1 TextEndBattle - dw Route9EndBattleText7 ; 0x57f1 TextEndBattle - -Route9TrainerHeader8: ; 5573f (15:573f) - db $8 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_6 + dw Route9BattleText7 ; TextBeforeBattle + dw Route9AfterBattleText7 ; TextAfterBattle + dw Route9EndBattleText7 ; TextEndBattle + dw Route9EndBattleText7 ; TextEndBattle + +Route9TrainerHeader7: + dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_7, 1 db ($2 << 4) ; trainer's view range - dw wd7cf ; flag's byte - dw Route9BattleText8 ; 0x57fb TextBeforeBattle - dw Route9AfterBattleText8 ; 0x5805 TextAfterBattle - dw Route9EndBattleText8 ; 0x5800 TextEndBattle - dw Route9EndBattleText8 ; 0x5800 TextEndBattle - -Route9TrainerHeader9: ; 5574b (15:574b) - db $9 ; flag's bit + dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_7, 1 + dw Route9BattleText8 ; TextBeforeBattle + dw Route9AfterBattleText8 ; TextAfterBattle + dw Route9EndBattleText8 ; TextEndBattle + dw Route9EndBattleText8 ; TextEndBattle + +Route9TrainerHeader8: + dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_8, 1 db ($2 << 4) ; trainer's view range - dw wd7cf ; flag's byte - dw Route9BattleText9 ; 0x580a TextBeforeBattle - dw Route9AfterBattleText9 ; 0x5814 TextAfterBattle - dw Route9EndBattleText9 ; 0x580f TextEndBattle - dw Route9EndBattleText9 ; 0x580f TextEndBattle + dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_8, 1 + dw Route9BattleText9 ; TextBeforeBattle + dw Route9AfterBattleText9 ; TextAfterBattle + dw Route9EndBattleText9 ; TextEndBattle + dw Route9EndBattleText9 ; TextEndBattle db $ff -Route9Text1: ; 55758 (15:5758) - db $8 ; asm +Route9Text1: + TX_ASM ld hl, Route9TrainerHeader0 - jr asm_8be3d ; 0x5575c $2e + jr Route9TalkToTrainer + +Route9Text2: + TX_ASM + ld hl, Route9TrainerHeader1 + jr Route9TalkToTrainer -Route9Text2: ; 5575e (15:575e) - db $8 ; asm +Route9Text3: + TX_ASM ld hl, Route9TrainerHeader2 - jr asm_8be3d ; 0x55762 $28 + jr Route9TalkToTrainer -Route9Text3: ; 55764 (15:5764) - db $8 ; asm +Route9Text4: + TX_ASM ld hl, Route9TrainerHeader3 - jr asm_8be3d ; 0x55768 $22 + jr Route9TalkToTrainer -Route9Text4: ; 5576a (15:576a) - db $8 ; asm +Route9Text5: + TX_ASM ld hl, Route9TrainerHeader4 - jr asm_8be3d ; 0x5576e $1c + jr Route9TalkToTrainer -Route9Text5: ; 55770 (15:5770) - db $8 ; asm +Route9Text6: + TX_ASM ld hl, Route9TrainerHeader5 - jr asm_8be3d ; 0x55774 $16 + jr Route9TalkToTrainer -Route9Text6: ; 55776 (15:5776) - db $8 ; asm +Route9Text7: + TX_ASM ld hl, Route9TrainerHeader6 - jr asm_8be3d ; 0x5577a $10 + jr Route9TalkToTrainer -Route9Text7: ; 5577c (15:577c) - db $8 ; asm +Route9Text8: + TX_ASM ld hl, Route9TrainerHeader7 - jr asm_8be3d ; 0x55780 $a + jr Route9TalkToTrainer -Route9Text8: ; 55782 (15:5782) - db $8 ; asm +Route9Text9: + TX_ASM ld hl, Route9TrainerHeader8 - jr asm_8be3d ; 0x55786 $4 - -Route9Text9: ; 55788 (15:5788) - db $8 ; asm - ld hl, Route9TrainerHeader9 -asm_8be3d: ; 5578c (15:578c) +Route9TalkToTrainer: call TalkToTrainer jp TextScriptEnd -Route9BattleText1: ; 55792 (15:5792) +Route9BattleText1: TX_FAR _Route9BattleText1 db "@" -Route9EndBattleText1: ; 55797 (15:5797) +Route9EndBattleText1: TX_FAR _Route9EndBattleText1 db "@" -Route9AfterBattleText1: ; 5579c (15:579c) +Route9AfterBattleText1: TX_FAR _Route9AfterBattleText1 db "@" -Route9BattleText2: ; 557a1 (15:57a1) +Route9BattleText2: TX_FAR _Route9BattleText2 db "@" -Route9EndBattleText2: ; 557a6 (15:57a6) +Route9EndBattleText2: TX_FAR _Route9EndBattleText2 db "@" -Route9AfterBattleText2: ; 557ab (15:57ab) +Route9AfterBattleText2: TX_FAR _Route9AfterBattleText2 db "@" -Route9BattleText3: ; 557b0 (15:57b0) +Route9BattleText3: TX_FAR _Route9BattleText3 db "@" -Route9EndBattleText3: ; 557b5 (15:57b5) +Route9EndBattleText3: TX_FAR _Route9EndBattleText3 db "@" -Route9AfterBattleText3: ; 557ba (15:57ba) +Route9AfterBattleText3: TX_FAR _Route9AfterBattleText3 db "@" -Route9BattleText4: ; 557bf (15:57bf) +Route9BattleText4: TX_FAR _Route9BattleText4 db "@" -Route9EndBattleText4: ; 557c4 (15:57c4) +Route9EndBattleText4: TX_FAR _Route9EndBattleText4 db "@" -Route9AfterBattleText4: ; 557c9 (15:57c9) +Route9AfterBattleText4: TX_FAR _Route9AfterBattleText4 db "@" -Route9BattleText5: ; 557ce (15:57ce) +Route9BattleText5: TX_FAR _Route9BattleText5 db "@" -Route9EndBattleText5: ; 557d3 (15:57d3) +Route9EndBattleText5: TX_FAR _Route9EndBattleText5 db "@" -Route9AfterBattleText5: ; 557d8 (15:57d8) +Route9AfterBattleText5: TX_FAR _Route9AfterBattleText5 db "@" -Route9BattleText6: ; 557dd (15:57dd) +Route9BattleText6: TX_FAR _Route9BattleText6 db "@" -Route9EndBattleText6: ; 557e2 (15:57e2) +Route9EndBattleText6: TX_FAR _Route9EndBattleText6 db "@" -Route9AfterBattleText6: ; 557e7 (15:57e7) +Route9AfterBattleText6: TX_FAR _Route9AfterBattleText6 db "@" -Route9BattleText7: ; 557ec (15:57ec) +Route9BattleText7: TX_FAR _Route9BattleText7 db "@" -Route9EndBattleText7: ; 557f1 (15:57f1) +Route9EndBattleText7: TX_FAR _Route9EndBattleText7 db "@" -Route9AfterBattleText7: ; 557f6 (15:57f6) +Route9AfterBattleText7: TX_FAR _Route9AfterBattleText7 db "@" -Route9BattleText8: ; 557fb (15:57fb) +Route9BattleText8: TX_FAR _Route9BattleText8 db "@" -Route9EndBattleText8: ; 55800 (15:5800) +Route9EndBattleText8: TX_FAR _Route9EndBattleText8 db "@" -Route9AfterBattleText8: ; 55805 (15:5805) +Route9AfterBattleText8: TX_FAR _Route9AfterBattleText8 db "@" -Route9BattleText9: ; 5580a (15:580a) +Route9BattleText9: TX_FAR _Route9BattleText9 db "@" -Route9EndBattleText9: ; 5580f (15:580f) +Route9EndBattleText9: TX_FAR _Route9EndBattleText9 db "@" -Route9AfterBattleText9: ; 55814 (15:5814) +Route9AfterBattleText9: TX_FAR _Route9AfterBattleText9 db "@" -Route9Text11: ; 55819 (15:5819) +Route9Text11: TX_FAR _Route9Text11 db "@" diff --git a/scripts/safarizonecenter.asm b/scripts/safarizonecenter.asm index 6ff60ec6..d796c403 100755 --- a/scripts/safarizonecenter.asm +++ b/scripts/safarizonecenter.asm @@ -1,15 +1,15 @@ -SafariZoneCenterScript: ; 45bb2 (11:5bb2) +SafariZoneCenterScript: jp EnableAutoTextBoxDrawing -SafariZoneCenterTextPointers: ; 45bb5 (11:5bb5) - dw Predef5CText +SafariZoneCenterTextPointers: + dw PickUpItemText dw SafariZoneCenterText2 dw SafariZoneCenterText3 -SafariZoneCenterText2: ; 45bbb (11:5bbb) +SafariZoneCenterText2: TX_FAR _SafariZoneCenterText2 db "@" -SafariZoneCenterText3: ; 45bc0 (11:5bc0) +SafariZoneCenterText3: TX_FAR _SafariZoneCenterText3 db "@" diff --git a/scripts/safarizoneeast.asm b/scripts/safarizoneeast.asm index 3e6df139..25d0ee30 100755 --- a/scripts/safarizoneeast.asm +++ b/scripts/safarizoneeast.asm @@ -1,23 +1,23 @@ -SafariZoneEastScript: ; 4586b (11:586b) +SafariZoneEastScript: jp EnableAutoTextBoxDrawing -SafariZoneEastTextPointers: ; 4586e (11:586e) - dw Predef5CText - dw Predef5CText - dw Predef5CText - dw Predef5CText +SafariZoneEastTextPointers: + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText dw SafariZoneEastText5 dw SafariZoneEastText6 dw SafariZoneEastText7 -SafariZoneEastText5: ; 4587c (11:587c) +SafariZoneEastText5: TX_FAR _SafariZoneEastText5 db "@" -SafariZoneEastText6: ; 45881 (11:5881) +SafariZoneEastText6: TX_FAR _SafariZoneEastText6 db "@" -SafariZoneEastText7: ; 45886 (11:5886) +SafariZoneEastText7: TX_FAR _SafariZoneEastText7 db "@" diff --git a/scripts/safarizoneentrance-yellow.asm b/scripts/safarizoneentrance-yellow.asm deleted file mode 100644 index c4343095..00000000 --- a/scripts/safarizoneentrance-yellow.asm +++ /dev/null @@ -1,256 +0,0 @@ -.xf1f77 - ld hl,.ForJust500Text - call PrintText - ld a,$13 - ld [wTextBoxID],a - call DisplayTextBoxID - call YesNoChoice - ld a,[wCurrentMenuItem] - and a - jp nz,.PleaseComeAgain - ld hl,$d346 ; yellow d346 - ld a,[hli] - or [hl] - inc hl - or [hl] - jr nz,.xf1f9f -.xf1f98 - call .xf20ce - jr c,.CantPayWalkDown - jr .xf1ff2 - -.xf1f9f - xor a - ld [$ff9f],a - ld a,$05 - ld [$ffa0],a - ld a,$00 - ld [$ffa1],a - call HasEnoughMoney - jr nc,.success - ld hl,.NotEnoughMoneyText - call PrintText - call .xf2077 - jr c,.CantPayWalkDown - jr .xf1ff2 - -.success - xor a - ld [wSubtrahend],a - ld a,$05 - ld [wSubtrahend+1],a - ld a,$00 - ld [wSubtrahend+2],a - ld hl,wTrainerFacingDirection - ld de,wPlayerMoney + 2 - ld c,3 - predef SubBCDPredef - ld a,$b2 - call $3736 - call $373e - ld a,$13 - ld [wTextBoxID],a - call DisplayTextBoxID - ld hl,.MakePaymentText - call PrintText - ld a,30 - ld hl,(502 / $100) << 8 | (502 % $100) -.xf1ff2 - ld [W_NUMSAFARIBALLS],a - ld a,h - ld [wSafariSteps],a - ld a,l - ld [wSafariSteps + 1],a - ld a,$40 - ld c,3 - call SafariZoneEntranceAutoWalk - ld hl,wd790 - set 7,[hl] - res 6,[hl] - ld a,3 - ld [W_SAFARIZONEENTRANCECURSCRIPT],a - jr .done - -.PleaseComeAgain - ld hl,.PleaseComeAgainText - call PrintText -.CantPayWalkDown - ld a,$80 - ld c,1 - call SafariZoneEntranceAutoWalk - ld a,4 - ld [W_SAFARIZONEENTRANCECURSCRIPT],a -.done - ret - -.ForJust500Text - TX_FAR SafariZoneEntranceText_9e6e4 - db "@" - -.MakePaymentText - TX_FAR SafariZoneEntranceText_9e747 - db $b - TX_FAR _SafariZoneEntranceText_75360 - db "@" - -.PleaseComeAgainText - TX_FAR _SafariZoneEntranceText_75365 - db "@" - -.NotEnoughMoneyText - TX_FAR _SafariZoneEntranceText_7536a - db "@" - -.SafariZoneEntranceText2 - ld hl,.FirstTimeQuestionText - call PrintText - call YesNoChoice - ld a,[wCurrentMenuItem] - and a - ld hl,.RegularText - jr nz,.Explanation - ld hl,.ExplanationText -.Explanation - call PrintText - ret - -.FirstTimeQuestionText - TX_FAR _SafariZoneEntranceText_753e6 - db "@" - -.ExplanationText - TX_FAR _SafariZoneEntranceText_753eb - db "@" - -.RegularText - TX_FAR _SafariZoneEntranceText_753f0 - db "@" - -SafariZoneEntranceAutoWalk: - push af - ld b,0 - ld a,c - ld [wSimulatedJoypadStatesIndex],a - ld hl,wSimulatedJoypadStatesEnd - pop af - call FillMemory - jp StartSimulatingJoypadStates - -.xf2077 - ld hl,wPlayerMoney - ld de,$ff9f - ld bc,3 - call $b1 ; yellow $00b1 - xor a - ld [$ffa2],a - ld [$ffa3],a - ld a,$17 ; ¥17 per safari ball - ld [$ffa4],a - predef DivideBCDPredef3 - ld a,[$ffa4] - call .xf211e - pop af - ld hl,$d346 - xor a - ld bc,3 - call FillMemory - ld hl,.OhAllRightText - call Func_3c59 - ld a,$13 - ld a,[$d124] - call DisplayTextBoxID - ld hl,.CantGive30BallsText - call PrintText - pop af - inc a - jr z,.xf20bd - cp 29 - jr c,.xf20bf -.xf20bd - ld a,29 -.xf20bf - ld hl,$1f6 - and a - ret - -.OhAllRightText - TX_FAR _SafariZoneLowCostText1 - db "@" - -.CantGive30BallsText - TX_FAR _SafariZoneLowCostText2 - db "@" - -.xf20ce - ld hl,$d70c - ld a,[hl] - push af - inc [hl] - ld e,a - ld d,0 - ld hl,.lowcosttextpointers - add hl,de - add hl,de - ld a,[hli] - ld h,[hl] - ld l,a - call PrintText - pop af - cp 3 - jr z,.next - scf - ret - -.next - ld hl,.xf20f6 - call $3c46 - ld a,1 - ld hl,$01f6 - and a - ret - -.xf20f6 - TX_FAR _SafariZoneLowCostText3 - db $b - TX_FAR _SafariZoneLowCostText4 - db "@" - -.lowcosttextpointers - dw .xf210a - dw .xf210f - dw .xf2114 - dw .xf2119 - dw .xf2119 - -.xf210a - TX_FAR _SafariZoneLowCostText5 - db "@" - -.xf210f - TX_FAR _SafariZoneLowCostText6 - db "@" - -.xf2114 - TX_FAR _SafariZoneLowCostText7 - db "@" - -.xf2119 - TX_FAR _SafariZoneLowCostText8 - db "@" - -.xf211e - push hl - ld c,a - and $f - ld l,a - ld h,0 - ld a,c - and $f0 - swap a - ld bc,$a - call $3a74 - ld a,l - pop hl - ret - -.xf2133 diff --git a/scripts/safarizoneentrance.asm b/scripts/safarizoneentrance.asm index 294dcf58..80551e69 100755 --- a/scripts/safarizoneentrance.asm +++ b/scripts/safarizoneentrance.asm @@ -1,10 +1,10 @@ -SafariZoneEntranceScript: ; 751cd (1d:51cd) +SafariZoneEntranceScript: call EnableAutoTextBoxDrawing ld hl, SafariZoneEntranceScriptPointers - ld a, [W_SAFARIZONEENTRANCECURSCRIPT] + ld a, [wSafariZoneEntranceCurScript] jp CallFunctionInTable -SafariZoneEntranceScriptPointers: ; 751d9 (1d:51d9) +SafariZoneEntranceScriptPointers: dw .SafariZoneEntranceScript0 dw .SafariZoneEntranceScript1 dw .SafariZoneEntranceScript2 @@ -18,31 +18,31 @@ SafariZoneEntranceScriptPointers: ; 751d9 (1d:51d9) call ArePlayerCoordsInArray ret nc ld a, $3 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $ff ld [wJoyIgnore], a xor a ld [hJoyHeld], a - ld a, $c + ld a, SPRITE_FACING_RIGHT ld [wSpriteStateData1 + 9], a - ld a, [wWhichTrade] + ld a, [wCoordIndex] cp $1 - jr z, .asm_7520f ; 0x75207 $6 + jr z, .asm_7520f ld a, $2 - ld [W_SAFARIZONEENTRANCECURSCRIPT], a + ld [wSafariZoneEntranceCurScript], a ret .asm_7520f - ld a, $10 + ld a, D_RIGHT ld c, $1 call SafariZoneEntranceAutoWalk ld a, $f0 ld [wJoyIgnore], a ld a, $1 - ld [W_SAFARIZONEENTRANCECURSCRIPT], a + ld [wSafariZoneEntranceCurScript], a ret -.CoordsData_75221: ; 75221 (1d:5221) +.CoordsData_75221: db $02,$03 db $02,$04 db $FF @@ -56,7 +56,7 @@ SafariZoneEntranceScriptPointers: ; 751d9 (1d:51d9) ld [wJoyIgnore], a call UpdateSprites ld a, $4 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $ff ld [wJoyIgnore], a @@ -68,34 +68,32 @@ SafariZoneEntranceScriptPointers: ; 751d9 (1d:51d9) xor a ld [wJoyIgnore], a ld a, $5 - ld [W_SAFARIZONEENTRANCECURSCRIPT], a + ld [wSafariZoneEntranceCurScript], a ret .SafariZoneEntranceScript5 - ld a, $4 - ld [wd528], a - ld hl, wd790 - bit 6, [hl] - res 6, [hl] - jr z, .asm_7527f ; 0x7525a $23 - res 7, [hl] + ld a, PLAYER_DIR_DOWN + ld [wPlayerMovingDirection], a + CheckAndResetEvent EVENT_SAFARI_GAME_OVER + jr z, .asm_7527f + ResetEventReuseHL EVENT_IN_SAFARI_ZONE call UpdateSprites ld a, $f0 ld [wJoyIgnore], a ld a, $6 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID xor a - ld [W_NUMSAFARIBALLS], a - ld a, $80 + ld [wNumSafariBalls], a + ld a, D_DOWN ld c, $3 call SafariZoneEntranceAutoWalk ld a, $4 - ld [W_SAFARIZONEENTRANCECURSCRIPT], a - jr .asm_75286 ; 0x7527d $7 + ld [wSafariZoneEntranceCurScript], a + jr .asm_75286 .asm_7527f ld a, $5 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID .asm_75286 ret @@ -106,7 +104,7 @@ SafariZoneEntranceScriptPointers: ; 751d9 (1d:51d9) xor a ld [wJoyIgnore], a ld a, $0 - ld [W_SAFARIZONEENTRANCECURSCRIPT], a + ld [wSafariZoneEntranceCurScript], a ret .SafariZoneEntranceScript6 @@ -114,7 +112,7 @@ SafariZoneEntranceScriptPointers: ; 751d9 (1d:51d9) ret nz call Delay3 ld a, [wcf0d] - ld [W_SAFARIZONEENTRANCECURSCRIPT], a + ld [wSafariZoneEntranceCurScript], a ret SafariZoneEntranceAutoWalk: @@ -132,7 +130,7 @@ SafariZoneEntranceScript_752b4: and a ret -SafariZoneEntranceTextPointers: ; 752b9 (1d:52b9) +SafariZoneEntranceTextPointers: dw .SafariZoneEntranceText1 dw .SafariZoneEntranceText2 dw .SafariZoneEntranceText1 @@ -145,9 +143,9 @@ SafariZoneEntranceTextPointers: ; 752b9 (1d:52b9) db "@" .SafariZoneEntranceText4 - TX_FAR SafariZoneEntranceText_9e6e4 ; 0x9e6e4 - db $8 - ld a, $13 + TX_FAR SafariZoneEntranceText_9e6e4 + TX_ASM + ld a, MONEY_BOX ld [wTextBoxID],a call DisplayTextBoxID call YesNoChoice @@ -155,11 +153,11 @@ SafariZoneEntranceTextPointers: ; 752b9 (1d:52b9) and a jp nz,.PleaseComeAgain xor a - ld [$ff9f],a + ld [hMoney],a ld a,$05 - ld [$ffa0],a + ld [hMoney + 1],a ld a,$00 - ld [$ffa1],a + ld [hMoney + 2],a call HasEnoughMoney jr nc,.success ld hl,.NotEnoughMoneyText @@ -168,51 +166,50 @@ SafariZoneEntranceTextPointers: ; 752b9 (1d:52b9) .success xor a - ld [wSubtrahend],a + ld [wPriceTemp],a ld a,$05 - ld [wSubtrahend+1],a + ld [wPriceTemp + 1],a ld a,$00 - ld [wSubtrahend+2],a - ld hl,wTrainerFacingDirection + ld [wPriceTemp + 2],a + ld hl,wPriceTemp + 2 ld de,wPlayerMoney + 2 ld c,3 predef SubBCDPredef - ld a,$13 + ld a,MONEY_BOX ld [wTextBoxID],a call DisplayTextBoxID ld hl,.MakePaymentText call PrintText ld a,30 - ld [W_NUMSAFARIBALLS],a + ld [wNumSafariBalls],a ld a,502 / $100 ld [wSafariSteps],a ld a, 502 % $100 ld [wSafariSteps + 1],a - ld a,$40 + ld a,D_UP ld c,3 call SafariZoneEntranceAutoWalk - ld hl,wd790 - set 7,[hl] - res 6,[hl] + SetEvent EVENT_IN_SAFARI_ZONE + ResetEventReuseHL EVENT_SAFARI_GAME_OVER ld a,3 - ld [W_SAFARIZONEENTRANCECURSCRIPT],a + ld [wSafariZoneEntranceCurScript],a jr .done .PleaseComeAgain ld hl,.PleaseComeAgainText call PrintText .CantPayWalkDown - ld a,$80 + ld a,D_DOWN ld c,1 call SafariZoneEntranceAutoWalk ld a,4 - ld [W_SAFARIZONEENTRANCECURSCRIPT],a + ld [wSafariZoneEntranceCurScript],a .done jp TextScriptEnd .MakePaymentText TX_FAR SafariZoneEntranceText_9e747 - db $b + TX_SFX_ITEM_1 TX_FAR _SafariZoneEntranceText_75360 db "@" @@ -225,38 +222,36 @@ SafariZoneEntranceTextPointers: ; 752b9 (1d:52b9) db "@" .SafariZoneEntranceText5 - TX_FAR SafariZoneEntranceText_9e814 ; 0x9e814 - db $8 + TX_FAR SafariZoneEntranceText_9e814 + TX_ASM call YesNoChoice ld a,[wCurrentMenuItem] and a - jr nz, .asm_7539c ; 0x7537b $1f + jr nz, .asm_7539c ld hl, .SafariZoneEntranceText_753bb call PrintText xor a ld [wSpriteStateData1 + 9], a - ld a, $80 + ld a, D_DOWN ld c, $3 call SafariZoneEntranceAutoWalk - ld hl, wd790 - res 6, [hl] - res 7, [hl] + ResetEvents EVENT_SAFARI_GAME_OVER, EVENT_IN_SAFARI_ZONE ld a, $0 ld [wcf0d], a - jr .asm_753b3 ; 0x7539a $17 + jr .asm_753b3 .asm_7539c ld hl, .SafariZoneEntranceText_753c0 call PrintText - ld a, $4 + ld a, SPRITE_FACING_UP ld [wSpriteStateData1 + 9], a - ld a, $40 + ld a, D_UP ld c, $1 call SafariZoneEntranceAutoWalk ld a, $5 ld [wcf0d], a .asm_753b3 ld a, $6 - ld [W_SAFARIZONEENTRANCECURSCRIPT], a + ld [wSafariZoneEntranceCurScript], a jp TextScriptEnd .SafariZoneEntranceText_753bb @@ -272,7 +267,7 @@ SafariZoneEntranceTextPointers: ; 752b9 (1d:52b9) db "@" .SafariZoneEntranceText2 - db $08 ; asm + TX_ASM ld hl,.FirstTimeQuestionText call PrintText call YesNoChoice diff --git a/scripts/safarizonenorth.asm b/scripts/safarizonenorth.asm index 74790e76..b870c99e 100755 --- a/scripts/safarizonenorth.asm +++ b/scripts/safarizonenorth.asm @@ -1,31 +1,31 @@ -SafariZoneNorthScript: ; 459ab (11:59ab) +SafariZoneNorthScript: jp EnableAutoTextBoxDrawing -SafariZoneNorthTextPointers: ; 459ae (11:59ae) - dw Predef5CText - dw Predef5CText +SafariZoneNorthTextPointers: + dw PickUpItemText + dw PickUpItemText dw SafariZoneNorthText3 dw SafariZoneNorthText4 dw SafariZoneNorthText5 dw SafariZoneNorthText6 dw SafariZoneNorthText7 -SafariZoneNorthText3: ; 459bc (11:59bc) +SafariZoneNorthText3: TX_FAR _SafariZoneNorthText3 db "@" -SafariZoneNorthText4: ; 459c1 (11:59c1) +SafariZoneNorthText4: TX_FAR _SafariZoneNorthText4 db "@" -SafariZoneNorthText5: ; 459c6 (11:59c6) +SafariZoneNorthText5: TX_FAR _SafariZoneNorthText5 db "@" -SafariZoneNorthText6: ; 459cb (11:59cb) +SafariZoneNorthText6: TX_FAR _SafariZoneNorthText6 db "@" -SafariZoneNorthText7: ; 459d0 (11:59d0) +SafariZoneNorthText7: TX_FAR _SafariZoneNorthText7 db "@" diff --git a/scripts/safarizoneresthouse1.asm b/scripts/safarizoneresthouse1.asm index 424714e4..1d43890d 100755 --- a/scripts/safarizoneresthouse1.asm +++ b/scripts/safarizoneresthouse1.asm @@ -1,14 +1,14 @@ -SafariZoneRestHouse1Script: ; 45ced (11:5ced) +SafariZoneRestHouse1Script: jp EnableAutoTextBoxDrawing -SafariZoneRestHouse1TextPointers: ; 45cf0 (11:5cf0) +SafariZoneRestHouse1TextPointers: dw SafariZoneRestHouse1Text1 dw SafariZoneRestHouse1Text2 -SafariZoneRestHouse1Text1: ; 45cf4 (11:5cf4) +SafariZoneRestHouse1Text1: TX_FAR _SafariZoneRestHouse1Text1 db "@" -SafariZoneRestHouse1Text2: ; 45cf9 (11:5cf9) +SafariZoneRestHouse1Text2: TX_FAR _SafariZoneRestHouse1Text2 db "@" diff --git a/scripts/safarizoneresthouse2.asm b/scripts/safarizoneresthouse2.asm index 23cd53b2..4cd512f2 100755 --- a/scripts/safarizoneresthouse2.asm +++ b/scripts/safarizoneresthouse2.asm @@ -1,20 +1,20 @@ -SafariZoneRestHouse2Script: ; 45d2a (11:5d2a) +SafariZoneRestHouse2Script: call EnableAutoTextBoxDrawing ret -SafariZoneRestHouse2TextPointers: ; 45d2e (11:5d2e) +SafariZoneRestHouse2TextPointers: dw SafariZoneRestHouse2Text1 dw SafariZoneRestHouse2Text2 dw SafariZoneRestHouse2Text3 -SafariZoneRestHouse2Text1: ; 45d34 (11:5d34) +SafariZoneRestHouse2Text1: TX_FAR _SafariZoneRestHouse2Text1 db "@" -SafariZoneRestHouse2Text2: ; 45d39 (11:5d39) +SafariZoneRestHouse2Text2: TX_FAR _SafariZoneRestHouse2Text2 db "@" -SafariZoneRestHouse2Text3: ; 45d3e (11:5d3e) +SafariZoneRestHouse2Text3: TX_FAR _SafariZoneRestHouse2Text3 db "@" diff --git a/scripts/safarizoneresthouse3.asm b/scripts/safarizoneresthouse3.asm index 2faa1fbb..18c4770f 100755 --- a/scripts/safarizoneresthouse3.asm +++ b/scripts/safarizoneresthouse3.asm @@ -1,20 +1,20 @@ -SafariZoneRestHouse3Script: ; 45d75 (11:5d75) +SafariZoneRestHouse3Script: call EnableAutoTextBoxDrawing ret -SafariZoneRestHouse3TextPointers: ; 45d79 (11:5d79) +SafariZoneRestHouse3TextPointers: dw SafariZoneRestHouse3Text1 dw SafariZoneRestHouse3Text2 dw SafariZoneRestHouse3Text3 -SafariZoneRestHouse3Text1: ; 45d7f (11:5d7f) +SafariZoneRestHouse3Text1: TX_FAR _SafariZoneRestHouse3Text1 db "@" -SafariZoneRestHouse3Text2: ; 45d84 (11:5d84) +SafariZoneRestHouse3Text2: TX_FAR _SafariZoneRestHouse3Text2 db "@" -SafariZoneRestHouse3Text3: ; 45d89 (11:5d89) +SafariZoneRestHouse3Text3: TX_FAR _SafariZoneRestHouse3Text3 db "@" diff --git a/scripts/safarizoneresthouse4.asm b/scripts/safarizoneresthouse4.asm index b645431f..3ff3fa48 100755 --- a/scripts/safarizoneresthouse4.asm +++ b/scripts/safarizoneresthouse4.asm @@ -1,20 +1,20 @@ -SafariZoneRestHouse4Script: ; 45dc0 (11:5dc0) +SafariZoneRestHouse4Script: call EnableAutoTextBoxDrawing ret -SafariZoneRestHouse4TextPointers: ; 45dc4 (11:5dc4) +SafariZoneRestHouse4TextPointers: dw SafariZoneRestHouse4Text1 dw SafariZoneRestHouse4Text2 dw SafariZoneRestHouse4Text3 -SafariZoneRestHouse4Text1: ; 45dca (11:5dca) +SafariZoneRestHouse4Text1: TX_FAR _SafariZoneRestHouse4Text1 db "@" -SafariZoneRestHouse4Text2: ; 45dcf (11:5dcf) +SafariZoneRestHouse4Text2: TX_FAR _SafariZoneRestHouse4Text2 db "@" -SafariZoneRestHouse4Text3: ; 45dd4 (11:5dd4) +SafariZoneRestHouse4Text3: TX_FAR _SafariZoneRestHouse4Text3 db "@" diff --git a/scripts/safarizonesecrethouse.asm b/scripts/safarizonesecrethouse.asm index 28aae7c4..44c89281 100755 --- a/scripts/safarizonesecrethouse.asm +++ b/scripts/safarizonesecrethouse.asm @@ -1,46 +1,45 @@ -SafariZoneSecretHouseScript: ; 4a317 (12:6317) +SafariZoneSecretHouseScript: jp EnableAutoTextBoxDrawing -SafariZoneSecretHouseTextPointers: ; 4a31a (12:631a) +SafariZoneSecretHouseTextPointers: dw SafariZoneSecretHouseText1 -SafariZoneSecretHouseText1: ; 4a31c (12:631c) - db $08 ; asm - ld a, [wd857] - bit 0, a - jr nz, .asm_20a9b ; 0x4a322 +SafariZoneSecretHouseText1: + TX_ASM + CheckEvent EVENT_GOT_HM03 + jr nz, .asm_20a9b ld hl, SafariZoneSecretHouseText_4a350 call PrintText - ld bc, (HM_03 << 8) | 1 + lb bc, HM_03, 1 call GiveItem jr nc, .BagFull ld hl, ReceivedHM03Text call PrintText - ld hl, wd857 - set 0, [hl] - jr .asm_8f1fc ; 0x4a33d + SetEvent EVENT_GOT_HM03 + jr .asm_8f1fc .BagFull ld hl, HM03NoRoomText call PrintText - jr .asm_8f1fc ; 0x4a345 -.asm_20a9b ; 0x4a347 + jr .asm_8f1fc +.asm_20a9b ld hl, HM03ExplanationText call PrintText -.asm_8f1fc ; 0x4a34d +.asm_8f1fc jp TextScriptEnd -SafariZoneSecretHouseText_4a350: ; 4a350 (12:6350) +SafariZoneSecretHouseText_4a350: TX_FAR _SecretHouseText_4a350 db "@" -ReceivedHM03Text: ; 4a355 (12:6355) +ReceivedHM03Text: TX_FAR _ReceivedHM03Text - db $0B, "@" + TX_SFX_ITEM_1 + db "@" -HM03ExplanationText: ; 4a35b (12:635b) +HM03ExplanationText: TX_FAR _HM03ExplanationText db "@" -HM03NoRoomText: ; 4a360 (12:6360) +HM03NoRoomText: TX_FAR _HM03NoRoomText db "@" diff --git a/scripts/safarizonewest.asm b/scripts/safarizonewest.asm index 1465af56..81190c4c 100755 --- a/scripts/safarizonewest.asm +++ b/scripts/safarizonewest.asm @@ -1,28 +1,28 @@ -SafariZoneWestScript: ; 4a1b5 (12:61b5) +SafariZoneWestScript: jp EnableAutoTextBoxDrawing -SafariZoneWestTextPointers: ; 4a1b8 (12:61b8) - dw Predef5CText - dw Predef5CText - dw Predef5CText - dw Predef5CText +SafariZoneWestTextPointers: + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText dw SafariZoneWestText5 dw SafariZoneWestText6 dw SafariZoneWestText7 dw SafariZoneWestText8 -SafariZoneWestText5: ; 4a1c8 (12:61c8) +SafariZoneWestText5: TX_FAR _SafariZoneWestText5 db "@" -SafariZoneWestText6: ; 4a1cd (12:61cd) +SafariZoneWestText6: TX_FAR _SafariZoneWestText6 db "@" -SafariZoneWestText7: ; 4a1d2 (12:61d2) +SafariZoneWestText7: TX_FAR _SafariZoneWestText7 db "@" -SafariZoneWestText8: ; 4a1d7 (12:61d7) +SafariZoneWestText8: TX_FAR _SafariZoneWestText8 db "@" diff --git a/scripts/saffroncity.asm b/scripts/saffroncity.asm index 93bb2c88..57a1a3a5 100755 --- a/scripts/saffroncity.asm +++ b/scripts/saffroncity.asm @@ -1,7 +1,7 @@ -SaffronCityScript: ; 50c00 (14:4c00) +SaffronCityScript: jp EnableAutoTextBoxDrawing -SaffronCityTextPointers: ; 50c03 (14:4c03) +SaffronCityTextPointers: dw SaffronCityText1 dw SaffronCityText2 dw SaffronCityText3 @@ -28,94 +28,95 @@ SaffronCityTextPointers: ; 50c03 (14:4c03) dw SaffronCityText24 dw SaffronCityText25 -SaffronCityText1: ; 50c35 (14:4c35) +SaffronCityText1: TX_FAR _SaffronCityText1 db "@" -SaffronCityText2: ; 50c3a (14:4c3a) +SaffronCityText2: TX_FAR _SaffronCityText2 db "@" -SaffronCityText3: ; 50c3f (14:4c3f) +SaffronCityText3: TX_FAR _SaffronCityText3 db "@" -SaffronCityText4: ; 50c44 (14:4c44) +SaffronCityText4: TX_FAR _SaffronCityText4 db "@" -SaffronCityText5: ; 50c49 (14:4c49) +SaffronCityText5: TX_FAR _SaffronCityText5 db "@" -SaffronCityText6: ; 50c4e (14:4c4e) +SaffronCityText6: TX_FAR _SaffronCityText6 db "@" -SaffronCityText7: ; 50c53 (14:4c53) +SaffronCityText7: TX_FAR _SaffronCityText7 db "@" -SaffronCityText8: ; 50c58 (14:4c58) +SaffronCityText8: TX_FAR _SaffronCityText8 db "@" -SaffronCityText9: ; 50c5d (14:4c5d) +SaffronCityText9: TX_FAR _SaffronCityText9 db "@" -SaffronCityText10: ; 50c62 (14:4c62) +SaffronCityText10: TX_FAR _SaffronCityText10 db "@" -SaffronCityText11: ; 50c67 (14:4c67) +SaffronCityText11: TX_FAR _SaffronCityText11 db "@" -SaffronCityText12: ; 50c6c (14:4c6c) +SaffronCityText12: TX_FAR _SaffronCityText12 - db $15, "@" ; play PIDGEOT cry from TextCommandSounds + TX_CRY_PIDGEOT + db "@" -SaffronCityText13: ; 50c72 (14:4c72) +SaffronCityText13: TX_FAR _SaffronCityText13 db "@" -SaffronCityText14: ; 50c77 (14:4c77) +SaffronCityText14: TX_FAR _SaffronCityText14 db "@" -SaffronCityText15: ; 50c7c (14:4c7c) +SaffronCityText15: TX_FAR _SaffronCityText15 db "@" -SaffronCityText16: ; 50c81 (14:4c81) +SaffronCityText16: TX_FAR _SaffronCityText16 db "@" -SaffronCityText17: ; 50c86 (14:4c86) +SaffronCityText17: TX_FAR _SaffronCityText17 db "@" -SaffronCityText18: ; 50c8b (14:4c8b) +SaffronCityText18: TX_FAR _SaffronCityText18 db "@" -SaffronCityText20: ; 50c90 (14:4c90) +SaffronCityText20: TX_FAR _SaffronCityText20 db "@" -SaffronCityText21: ; 50c95 (14:4c95) +SaffronCityText21: TX_FAR _SaffronCityText21 db "@" -SaffronCityText22: ; 50c9a (14:4c9a) +SaffronCityText22: TX_FAR _SaffronCityText22 db "@" -SaffronCityText24: ; 50c9f (14:4c9f) +SaffronCityText24: TX_FAR _SaffronCityText24 db "@" -SaffronCityText25: ; 50ca4 (14:4ca4) +SaffronCityText25: TX_FAR _SaffronCityText25 db "@" diff --git a/scripts/saffrongym.asm b/scripts/saffrongym.asm index 7c2eb559..cbf935e7 100755 --- a/scripts/saffrongym.asm +++ b/scripts/saffrongym.asm @@ -1,82 +1,76 @@ -SaffronGymScript: ; 5d00d (17:500d) - ld hl, wd126 +SaffronGymScript: + ld hl, wCurrentMapScriptFlags bit 6, [hl] res 6, [hl] call nz, .extra call EnableAutoTextBoxDrawing ld hl, SaffronGymTrainerHeader0 ld de, SaffronGymScriptPointers - ld a, [W_SAFFRONGYMCURSCRIPT] + ld a, [wSaffronGymCurScript] call ExecuteCurMapScriptInTable - ld [W_SAFFRONGYMCURSCRIPT], a + ld [wSaffronGymCurScript], a ret .extra - ld hl, Gym6CityName ; $5033 - ld de, Gym6LeaderName ; $5040 + ld hl, Gym6CityName + ld de, Gym6LeaderName jp LoadGymLeaderAndCityName -Gym6CityName: ; 5d033 (17:5033) +Gym6CityName: db "SAFFRON CITY@" -Gym6LeaderName: ; 5d040 (17:5040) +Gym6LeaderName: db "SABRINA@" -SaffronGymText_5d048: ; 5d048 (17:5048) +SaffronGymText_5d048: xor a ld [wJoyIgnore], a - ld [W_SAFFRONGYMCURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wSaffronGymCurScript], a + ld [wCurMapScript], a ret -SaffronGymScriptPointers: ; 5d053 (17:5053) +SaffronGymScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle dw SaffronGymScript3 -SaffronGymScript3: ; 5d05b (17:505b) - ld a, [W_ISINBATTLE] ; W_ISINBATTLE +SaffronGymScript3: + ld a, [wIsInBattle] cp $ff jp z, SaffronGymText_5d048 ld a, $f0 ld [wJoyIgnore], a -SaffronGymText_5d068: ; 5d068 (17:5068) +SaffronGymText_5d068: ld a, $a - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a call DisplayTextID - ld hl, wd7b3 - set 1, [hl] - ld bc, (TM_46 << 8) | 1 + SetEvent EVENT_BEAT_SABRINA + lb bc, TM_46, 1 call GiveItem jr nc, .BagFull ld a, $b - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a call DisplayTextID - ld hl, wd7b3 - set 0, [hl] + SetEvent EVENT_GOT_TM46 jr .asm_5d091 .BagFull ld a, $c - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a call DisplayTextID .asm_5d091 - ld hl, W_OBTAINEDBADGES + ld hl, wObtainedBadges set 5, [hl] - ld hl, wd72a + ld hl, wBeatGymFlags set 5, [hl] ; deactivate gym trainers - ld a, [wd7b3] - or %11111100 - ld [wd7b3], a - ld hl, wd7b4 - set 0, [hl] + SetEventRange EVENT_BEAT_SAFFRON_GYM_TRAINER_0, EVENT_BEAT_SAFFRON_GYM_TRAINER_6 jp SaffronGymText_5d048 -SaffronGymTextPointers: ; 5d0ab (17:50ab) +SaffronGymTextPointers: dw SaffronGymText1 dw SaffronGymText2 dw SaffronGymText3 @@ -90,87 +84,85 @@ SaffronGymTextPointers: ; 5d0ab (17:50ab) dw SaffronGymText11 dw SaffronGymText12 -SaffronGymTrainerHeaders: ; 5d0c3 (17:50c3) -SaffronGymTrainerHeader0: ; 5d0c3 (17:50c3) - db $2 ; flag's bit +SaffronGymTrainerHeader0: + dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_0 db ($3 << 4) ; trainer's view range - dw wd7b3 ; flag's byte - dw SaffronGymBattleText1 ; 0x51f0 TextBeforeBattle - dw SaffronGymAfterBattleText1 ; 0x51fa TextAfterBattle - dw SaffronGymEndBattleText1 ; 0x51f5 TextEndBattle - dw SaffronGymEndBattleText1 ; 0x51f5 TextEndBattle - -SaffronGymTrainerHeader1: ; 5d0cf (17:50cf) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_0 + dw SaffronGymBattleText1 ; TextBeforeBattle + dw SaffronGymAfterBattleText1 ; TextAfterBattle + dw SaffronGymEndBattleText1 ; TextEndBattle + dw SaffronGymEndBattleText1 ; TextEndBattle + +SaffronGymTrainerHeader1: + dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_1 db ($3 << 4) ; trainer's view range - dw wd7b3 ; flag's byte - dw SaffronGymBattleText2 ; 0x51ff TextBeforeBattle - dw SaffronGymAfterBattleText2 ; 0x5209 TextAfterBattle - dw SaffronGymEndBattleText2 ; 0x5204 TextEndBattle - dw SaffronGymEndBattleText2 ; 0x5204 TextEndBattle - -SaffronGymTrainerHeader2: ; 5d0db (17:50db) - db $4 ; flag's bit + dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_1 + dw SaffronGymBattleText2 ; TextBeforeBattle + dw SaffronGymAfterBattleText2 ; TextAfterBattle + dw SaffronGymEndBattleText2 ; TextEndBattle + dw SaffronGymEndBattleText2 ; TextEndBattle + +SaffronGymTrainerHeader2: + dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_2 db ($3 << 4) ; trainer's view range - dw wd7b3 ; flag's byte - dw SaffronGymBattleText3 ; 0x520e TextBeforeBattle - dw SaffronGymAfterBattleText3 ; 0x5218 TextAfterBattle - dw SaffronGymEndBattleText3 ; 0x5213 TextEndBattle - dw SaffronGymEndBattleText3 ; 0x5213 TextEndBattle - -SaffronGymTrainerHeader3: ; 5d0e7 (17:50e7) - db $5 ; flag's bit + dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_2 + dw SaffronGymBattleText3 ; TextBeforeBattle + dw SaffronGymAfterBattleText3 ; TextAfterBattle + dw SaffronGymEndBattleText3 ; TextEndBattle + dw SaffronGymEndBattleText3 ; TextEndBattle + +SaffronGymTrainerHeader3: + dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_3 db ($3 << 4) ; trainer's view range - dw wd7b3 ; flag's byte - dw SaffronGymBattleText4 ; 0x521d TextBeforeBattle - dw SaffronGymAfterBattleText4 ; 0x5227 TextAfterBattle - dw SaffronGymEndBattleText4 ; 0x5222 TextEndBattle - dw SaffronGymEndBattleText4 ; 0x5222 TextEndBattle - -SaffronGymTrainerHeader4: ; 5d0f3 (17:50f3) - db $6 ; flag's bit + dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_3 + dw SaffronGymBattleText4 ; TextBeforeBattle + dw SaffronGymAfterBattleText4 ; TextAfterBattle + dw SaffronGymEndBattleText4 ; TextEndBattle + dw SaffronGymEndBattleText4 ; TextEndBattle + +SaffronGymTrainerHeader4: + dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_4 db ($3 << 4) ; trainer's view range - dw wd7b3 ; flag's byte - dw SaffronGymBattleText5 ; 0x522c TextBeforeBattle - dw SaffronGymAfterBattleText5 ; 0x5236 TextAfterBattle - dw SaffronGymEndBattleText5 ; 0x5231 TextEndBattle - dw SaffronGymEndBattleText5 ; 0x5231 TextEndBattle - -SaffronGymTrainerHeader5: ; 5d0ff (17:50ff) - db $7 ; flag's bit + dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_4 + dw SaffronGymBattleText5 ; TextBeforeBattle + dw SaffronGymAfterBattleText5 ; TextAfterBattle + dw SaffronGymEndBattleText5 ; TextEndBattle + dw SaffronGymEndBattleText5 ; TextEndBattle + +SaffronGymTrainerHeader5: + dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_5 db ($3 << 4) ; trainer's view range - dw wd7b3 ; flag's byte - dw SaffronGymBattleText6 ; 0x523b TextBeforeBattle - dw SaffronGymAfterBattleText6 ; 0x5245 TextAfterBattle - dw SaffronGymEndBattleText6 ; 0x5240 TextEndBattle - dw SaffronGymEndBattleText6 ; 0x5240 TextEndBattle - -SaffronGymTrainerHeader6: ; 5d10b (17:510b) - db $8 ; flag's bit + dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_5 + dw SaffronGymBattleText6 ; TextBeforeBattle + dw SaffronGymAfterBattleText6 ; TextAfterBattle + dw SaffronGymEndBattleText6 ; TextEndBattle + dw SaffronGymEndBattleText6 ; TextEndBattle + +SaffronGymTrainerHeader6: + dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_6, 1 db ($3 << 4) ; trainer's view range - dw wd7b3 ; flag's byte - dw SaffronGymBattleText7 ; 0x524a TextBeforeBattle - dw SaffronGymAfterBattleText7 ; 0x5254 TextAfterBattle - dw SaffronGymEndBattleText7 ; 0x524f TextEndBattle - dw SaffronGymEndBattleText7 ; 0x524f TextEndBattle + dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_6, 1 + dw SaffronGymBattleText7 ; TextBeforeBattle + dw SaffronGymAfterBattleText7 ; TextAfterBattle + dw SaffronGymEndBattleText7 ; TextEndBattle + dw SaffronGymEndBattleText7 ; TextEndBattle db $ff -SaffronGymText1: ; 5d118 (17:5118) - db $08 ; asm - ld a, [wd7b3] - bit 1, a - jr z, .asm_e3544 ; 0x5d11e - bit 0, a - jr nz, .asm_8d2f6 ; 0x5d122 +SaffronGymText1: + TX_ASM + CheckEvent EVENT_BEAT_SABRINA + jr z, .asm_5d134 + CheckEventReuseA EVENT_GOT_TM46 + jr nz, .asm_5d12c call z, SaffronGymText_5d068 call DisableWaitingAfterTextDisplay - jr .asm_34c2c ; 0x5d12a -.asm_8d2f6 ; 0x5d12c + jr .asm_5d15f +.asm_5d12c ld hl, SaffronGymText_5d16e call PrintText - jr .asm_34c2c ; 0x5d132 -.asm_e3544 ; 0x5d134 + jr .asm_5d15f +.asm_5d134 ld hl, SaffronGymText_5d162 call PrintText ld hl, wd72d @@ -179,189 +171,188 @@ SaffronGymText1: ; 5d118 (17:5118) ld hl, SaffronGymText_5d167 ld de, SaffronGymText_5d167 call SaveEndBattleTextPointers - ldh a, [$8c] + ld a, [H_SPRITEINDEX] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters ld a, $6 - ld [W_GYMLEADERNO], a + ld [wGymLeaderNo], a ld a, $3 - ld [W_SAFFRONGYMCURSCRIPT], a -.asm_34c2c ; 0x5d15f + ld [wSaffronGymCurScript], a +.asm_5d15f jp TextScriptEnd -SaffronGymText_5d162: ; 5d162 (17:5162) +SaffronGymText_5d162: TX_FAR _SaffronGymText_5d162 db "@" -SaffronGymText_5d167: ; 5d167 (17:5167) - TX_FAR _SaffronGymText_5d167 ; 0xa1c73 - db $11 ; play same sound as red giving oak parcel - db $6 ; wait for keypress +SaffronGymText_5d167: + TX_FAR _SaffronGymText_5d167 + TX_SFX_KEY_ITEM ; actually plays the second channel of SFX_BALL_POOF due to the wrong music bank being loaded + TX_BLINK db "@" -SaffronGymText_5d16e: ; 5d16e (17:516e) +SaffronGymText_5d16e: TX_FAR _SaffronGymText_5d16e db "@" -SaffronGymText10: ; 5d173 (17:5173) +SaffronGymText10: TX_FAR _SaffronGymText_5d173 db "@" -SaffronGymText11: ; 5d178 (17:5178) +SaffronGymText11: TX_FAR ReceivedTM46Text - db $b + TX_SFX_ITEM_1 TX_FAR _TM46ExplanationText db "@" -SaffronGymText12: ; 5d182 (17:5182) +SaffronGymText12: TX_FAR _TM46NoRoomText db "@" -SaffronGymText2: ; 5d187 (17:5187) - db $08 ; asm +SaffronGymText2: + TX_ASM ld hl, SaffronGymTrainerHeader0 call TalkToTrainer jp TextScriptEnd -SaffronGymText3: ; 5d191 (17:5191) - db $08 ; asm +SaffronGymText3: + TX_ASM ld hl, SaffronGymTrainerHeader1 call TalkToTrainer jp TextScriptEnd -SaffronGymText4: ; 5d19b (17:519b) - db $08 ; asm +SaffronGymText4: + TX_ASM ld hl, SaffronGymTrainerHeader2 call TalkToTrainer jp TextScriptEnd -SaffronGymText5: ; 5d1a5 (17:51a5) - db $08 ; asm +SaffronGymText5: + TX_ASM ld hl, SaffronGymTrainerHeader3 call TalkToTrainer jp TextScriptEnd -SaffronGymText6: ; 5d1af (17:51af) - db $08 ; asm +SaffronGymText6: + TX_ASM ld hl, SaffronGymTrainerHeader4 call TalkToTrainer jp TextScriptEnd -SaffronGymText7: ; 5d1b9 (17:51b9) - db $08 ; asm +SaffronGymText7: + TX_ASM ld hl, SaffronGymTrainerHeader5 call TalkToTrainer jp TextScriptEnd -SaffronGymText8: ; 5d1c3 (17:51c3) - db $08 ; asm +SaffronGymText8: + TX_ASM ld hl, SaffronGymTrainerHeader6 call TalkToTrainer jp TextScriptEnd -SaffronGymText9: ; 5d1cd (17:51cd) - db $08 ; asm - ld a, [wd7b3] - bit 1, a - jr nz, .asm_13f3c ; 0x5d1d3 +SaffronGymText9: + TX_ASM + CheckEvent EVENT_BEAT_SABRINA + jr nz, .asm_5d1dd ld hl, SaffronGymText_5d1e6 call PrintText - jr .asm_e9907 ; 0x5d1db -.asm_13f3c ; 0x5d1dd + jr .asm_5d1e3 +.asm_5d1dd ld hl, SaffronGymText_5d1eb call PrintText -.asm_e9907 ; 0x5d1e3 +.asm_5d1e3 jp TextScriptEnd -SaffronGymText_5d1e6: ; 5d1e6 (17:51e6) +SaffronGymText_5d1e6: TX_FAR _SaffronGymText_5d1e6 db "@" -SaffronGymText_5d1eb: ; 5d1eb (17:51eb) +SaffronGymText_5d1eb: TX_FAR _SaffronGymText_5d1eb db "@" -SaffronGymBattleText1: ; 5d1f0 (17:51f0) +SaffronGymBattleText1: TX_FAR _SaffronGymBattleText1 db "@" -SaffronGymEndBattleText1: ; 5d1f5 (17:51f5) +SaffronGymEndBattleText1: TX_FAR _SaffronGymEndBattleText1 db "@" -SaffronGymAfterBattleText1: ; 5d1fa (17:51fa) +SaffronGymAfterBattleText1: TX_FAR _SaffronGymAfterBattleText1 db "@" -SaffronGymBattleText2: ; 5d1ff (17:51ff) +SaffronGymBattleText2: TX_FAR _SaffronGymBattleText2 db "@" -SaffronGymEndBattleText2: ; 5d204 (17:5204) +SaffronGymEndBattleText2: TX_FAR _SaffronGymEndBattleText2 db "@" -SaffronGymAfterBattleText2: ; 5d209 (17:5209) +SaffronGymAfterBattleText2: TX_FAR _SaffronGymAfterBattleText2 db "@" -SaffronGymBattleText3: ; 5d20e (17:520e) +SaffronGymBattleText3: TX_FAR _SaffronGymBattleText3 db "@" -SaffronGymEndBattleText3: ; 5d213 (17:5213) +SaffronGymEndBattleText3: TX_FAR _SaffronGymEndBattleText3 db "@" -SaffronGymAfterBattleText3: ; 5d218 (17:5218) +SaffronGymAfterBattleText3: TX_FAR _SaffronGymAfterBattleText3 db "@" -SaffronGymBattleText4: ; 5d21d (17:521d) +SaffronGymBattleText4: TX_FAR _SaffronGymBattleText4 db "@" -SaffronGymEndBattleText4: ; 5d222 (17:5222) +SaffronGymEndBattleText4: TX_FAR _SaffronGymEndBattleText4 db "@" -SaffronGymAfterBattleText4: ; 5d227 (17:5227) +SaffronGymAfterBattleText4: TX_FAR _SaffronGymAfterBattleText4 db "@" -SaffronGymBattleText5: ; 5d22c (17:522c) +SaffronGymBattleText5: TX_FAR _SaffronGymBattleText5 db "@" -SaffronGymEndBattleText5: ; 5d231 (17:5231) +SaffronGymEndBattleText5: TX_FAR _SaffronGymEndBattleText5 db "@" -SaffronGymAfterBattleText5: ; 5d236 (17:5236) +SaffronGymAfterBattleText5: TX_FAR _SaffronGymAfterBattleText5 db "@" -SaffronGymBattleText6: ; 5d23b (17:523b) +SaffronGymBattleText6: TX_FAR _SaffronGymBattleText6 db "@" -SaffronGymEndBattleText6: ; 5d240 (17:5240) +SaffronGymEndBattleText6: TX_FAR _SaffronGymEndBattleText6 db "@" -SaffronGymAfterBattleText6: ; 5d245 (17:5245) +SaffronGymAfterBattleText6: TX_FAR _SaffronGymAfterBattleText6 db "@" -SaffronGymBattleText7: ; 5d24a (17:524a) +SaffronGymBattleText7: TX_FAR _SaffronGymBattleText7 db "@" -SaffronGymEndBattleText7: ; 5d24f (17:524f) +SaffronGymEndBattleText7: TX_FAR _SaffronGymEndBattleText7 db "@" -SaffronGymAfterBattleText7: ; 5d254 (17:5254) +SaffronGymAfterBattleText7: TX_FAR _SaffronGymAfterBattleText7 db "@" diff --git a/scripts/saffronhouse1.asm b/scripts/saffronhouse1.asm index 39a70ebf..5f417978 100755 --- a/scripts/saffronhouse1.asm +++ b/scripts/saffronhouse1.asm @@ -1,27 +1,27 @@ -SaffronHouse1Script: ; 1dddd (7:5ddd) +SaffronHouse1Script: jp EnableAutoTextBoxDrawing -SaffronHouse1TextPointers: ; 1dde0 (7:5de0) +SaffronHouse1TextPointers: dw SaffronHouse1Text1 dw SaffronHouse1Text2 dw SaffronHouse1Text3 dw SaffronHouse1Text4 -SaffronHouse1Text1: ; 1dde8 (7:5de8) +SaffronHouse1Text1: TX_FAR _SaffronHouse1Text1 db "@" -SaffronHouse1Text2: ; 1dded (7:5ded) +SaffronHouse1Text2: TX_FAR _SaffronHouse1Text2 - db $8 + TX_ASM ld a, PIDGEY call PlayCry jp TextScriptEnd -SaffronHouse1Text3: ; 1ddfa (7:5dfa) +SaffronHouse1Text3: TX_FAR _SaffronHouse1Text3 db "@" -SaffronHouse1Text4: ; 1ddff (7:5dff) +SaffronHouse1Text4: TX_FAR _SaffronHouse1Text4 db "@" diff --git a/scripts/saffronhouse2.asm b/scripts/saffronhouse2.asm index 727fd981..10c3d29e 100755 --- a/scripts/saffronhouse2.asm +++ b/scripts/saffronhouse2.asm @@ -1,46 +1,45 @@ -SaffronHouse2Script: ; 1de3c (7:5e3c) +SaffronHouse2Script: jp EnableAutoTextBoxDrawing -SaffronHouse2TextPointers: ; 1de3f (7:5e3f) +SaffronHouse2TextPointers: dw SaffronHouse2Text1 -SaffronHouse2Text1: ; 1de41 (7:5e41) - db $08 ; asm - ld a, [wd7bd] - bit 0, a - jr nz, .asm_9e72b ; 0x1de47 +SaffronHouse2Text1: + TX_ASM + CheckEvent EVENT_GOT_TM29 + jr nz, .asm_9e72b ld hl, TM29PreReceiveText call PrintText - ld bc,(TM_29 << 8) | 1 + lb bc, TM_29, 1 call GiveItem jr nc, .BagFull ld hl, ReceivedTM29Text call PrintText - ld hl, wd7bd - set 0, [hl] - jr .asm_fe4e1 ; 0x1de62 + SetEvent EVENT_GOT_TM29 + jr .asm_fe4e1 .BagFull ld hl, TM29NoRoomText call PrintText - jr .asm_fe4e1 ; 0x1de6a -.asm_9e72b ; 0x1de6c + jr .asm_fe4e1 +.asm_9e72b ld hl, TM29ExplanationText call PrintText -.asm_fe4e1 ; 0x1de72 +.asm_fe4e1 jp TextScriptEnd -TM29PreReceiveText: ; 1de75 (7:5e75) +TM29PreReceiveText: TX_FAR _TM29PreReceiveText db "@" -ReceivedTM29Text: ; 1de7a (7:5e7a) +ReceivedTM29Text: TX_FAR _ReceivedTM29Text - db $0B, "@" + TX_SFX_ITEM_1 + db "@" -TM29ExplanationText: ; 1de80 (7:5e80) +TM29ExplanationText: TX_FAR _TM29ExplanationText db "@" -TM29NoRoomText: ; 1de85 (7:5e85) +TM29NoRoomText: TX_FAR _TM29NoRoomText db "@" diff --git a/scripts/saffronmart.asm b/scripts/saffronmart.asm index 9ee1db0e..8b140610 100755 --- a/scripts/saffronmart.asm +++ b/scripts/saffronmart.asm @@ -1,15 +1,15 @@ -SaffronMartScript: ; 5d409 (17:5409) +SaffronMartScript: jp EnableAutoTextBoxDrawing -SaffronMartTextPointers: ; 5d40c (17:540c) - dw SaffronMartText1 +SaffronMartTextPointers: + dw SaffronCashierText dw SaffronMartText2 dw SaffronMartText3 -SaffronMartText2: ; 5d412 (17:5412) +SaffronMartText2: TX_FAR _SaffronMartText2 db "@" -SaffronMartText3: ; 5d417 (17:5417) +SaffronMartText3: TX_FAR _SaffronMartText3 db "@" diff --git a/scripts/saffronpokecenter.asm b/scripts/saffronpokecenter.asm index 8f569a8e..82467215 100755 --- a/scripts/saffronpokecenter.asm +++ b/scripts/saffronpokecenter.asm @@ -1,23 +1,23 @@ -SaffronPokecenterScript: ; 5d535 (17:5535) +SaffronPokecenterScript: call Serial_TryEstablishingExternallyClockedConnection jp EnableAutoTextBoxDrawing -SaffronPokecenterTextPointers: ; 5d53b (17:553b) - dw SaffronPokecenterText1 +SaffronPokecenterTextPointers: + dw SaffronHealNurseText dw SaffronPokecenterText2 dw SaffronPokecenterText3 - dw SaffronPokecenterText4 + dw SaffronTradeNurseText -SaffronPokecenterText1: ; 5d543 (17:5543) - db $ff +SaffronHealNurseText: + TX_POKECENTER_NURSE -SaffronPokecenterText2: ; 5d544 (17:5544) - TX_FAR _SaffronPokecenterText1 +SaffronPokecenterText2: + TX_FAR _SaffronPokecenterText2 db "@" -SaffronPokecenterText3: ; 5d549 (17:5549) +SaffronPokecenterText3: TX_FAR _SaffronPokecenterText3 db "@" -SaffronPokecenterText4: ; 5d54e (17:554e) - db $f6 +SaffronTradeNurseText: + TX_CABLE_CLUB_RECEPTIONIST diff --git a/scripts/school.asm b/scripts/school.asm index 57eb58c8..2300946b 100755 --- a/scripts/school.asm +++ b/scripts/school.asm @@ -1,14 +1,14 @@ -SchoolScript: ; 1d54c (7:554c) +SchoolScript: jp EnableAutoTextBoxDrawing -SchoolTextPointers: ; 1d54f (7:554f) +SchoolTextPointers: dw SchoolText1 dw SchoolText2 -SchoolText1: ; 1d553 (7:5553) +SchoolText1: TX_FAR _SchoolText1 db "@" -SchoolText2: ; 1d558 (7:5558) +SchoolText2: TX_FAR _SchoolText2 db "@" diff --git a/scripts/seafoamislands1.asm b/scripts/seafoamislands1.asm index 2e64c9d7..52561fa7 100755 --- a/scripts/seafoamislands1.asm +++ b/scripts/seafoamislands1.asm @@ -1,48 +1,47 @@ -SeafoamIslands1Script: ; 447e9 (11:47e9) +SeafoamIslands1Script: call EnableAutoTextBoxDrawing - ld hl, wd7e7 - set 0, [hl] + SetEvent EVENT_IN_SEAFOAM_ISLANDS ld hl, wFlags_0xcd60 bit 7, [hl] res 7, [hl] - jr z, .asm_4483b ; 0x447f8 $41 + jr z, .asm_4483b ld hl, Seafoam1HolesCoords call CheckBoulderCoords ret nc - ld hl, wd7e8 - ld a, [wWhichTrade] + EventFlagAddress hl, EVENT_SEAFOAM1_BOULDER1_DOWN_HOLE + ld a, [wCoordIndex] cp $1 - jr nz, .asm_44819 ; 0x44809 $e - set 6, [hl] + jr nz, .asm_44819 + SetEventReuseHL EVENT_SEAFOAM1_BOULDER1_DOWN_HOLE ld a, HS_SEAFOAM_ISLANDS_1_BOULDER_1 - ld [wd079], a + ld [wObjectToHide], a ld a, HS_SEAFOAM_ISLANDS_2_BOULDER_1 - ld [wd07a], a - jr .asm_44825 ; 0x44817 $c + ld [wObjectToShow], a + jr .asm_44825 .asm_44819 - set 7, [hl] + SetEventAfterBranchReuseHL EVENT_SEAFOAM1_BOULDER2_DOWN_HOLE, EVENT_SEAFOAM1_BOULDER1_DOWN_HOLE ld a, HS_SEAFOAM_ISLANDS_1_BOULDER_2 - ld [wd079], a + ld [wObjectToHide], a ld a, HS_SEAFOAM_ISLANDS_2_BOULDER_2 - ld [wd07a], a + ld [wObjectToShow], a .asm_44825 - ld a, [wd079] - ld [wcc4d], a + ld a, [wObjectToHide] + ld [wMissableObjectIndex], a predef HideObject - ld a, [wd07a] - ld [wcc4d], a + ld a, [wObjectToShow] + ld [wMissableObjectIndex], a predef_jump ShowObject .asm_4483b ld a, $9f ld [wDungeonWarpDestinationMap], a ld hl, Seafoam1HolesCoords - jp Func_46981 + jp IsPlayerOnDungeonWarp -Seafoam1HolesCoords: ; 44846 (11:4846) +Seafoam1HolesCoords: db $06,$11 db $06,$18 db $ff -SeafoamIslands1TextPointers: ; 4484b (11:484b) +SeafoamIslands1TextPointers: dw BoulderText dw BoulderText diff --git a/scripts/seafoamislands2.asm b/scripts/seafoamislands2.asm index 66fe9297..50024bad 100755 --- a/scripts/seafoamislands2.asm +++ b/scripts/seafoamislands2.asm @@ -1,46 +1,46 @@ -SeafoamIslands2Script: ; 46315 (11:6315) +SeafoamIslands2Script: call EnableAutoTextBoxDrawing ld hl, wFlags_0xcd60 bit 7, [hl] res 7, [hl] - jr z, .asm_46362 ; 0x4631f $41 + jr z, .asm_46362 ld hl, Seafoam2HolesCoords call CheckBoulderCoords ret nc - ld hl, wd87f - ld a, [wWhichTrade] + EventFlagAddress hl, EVENT_SEAFOAM2_BOULDER1_DOWN_HOLE + ld a, [wCoordIndex] cp $1 - jr nz, .asm_46340 ; 0x46330 $e - set 0, [hl] + jr nz, .asm_46340 + SetEventReuseHL EVENT_SEAFOAM2_BOULDER1_DOWN_HOLE ld a, HS_SEAFOAM_ISLANDS_2_BOULDER_1 - ld [wd079], a + ld [wObjectToHide], a ld a, HS_SEAFOAM_ISLANDS_3_BOULDER_1 - ld [wd07a], a - jr .asm_4634c ; 0x4633e $c + ld [wObjectToShow], a + jr .asm_4634c .asm_46340 - set 1, [hl] + SetEventAfterBranchReuseHL EVENT_SEAFOAM2_BOULDER2_DOWN_HOLE, EVENT_SEAFOAM2_BOULDER1_DOWN_HOLE ld a, HS_SEAFOAM_ISLANDS_2_BOULDER_2 - ld [wd079], a + ld [wObjectToHide], a ld a, HS_SEAFOAM_ISLANDS_3_BOULDER_2 - ld [wd07a], a + ld [wObjectToShow], a .asm_4634c - ld a, [wd079] - ld [wcc4d], a + ld a, [wObjectToHide] + ld [wMissableObjectIndex], a predef HideObject - ld a, [wd07a] - ld [wcc4d], a + ld a, [wObjectToShow] + ld [wMissableObjectIndex], a predef_jump ShowObject .asm_46362 ld a, $a0 ld [wDungeonWarpDestinationMap], a ld hl, Seafoam2HolesCoords - jp Func_46981 + jp IsPlayerOnDungeonWarp -Seafoam2HolesCoords: ; 4636d (11:636d) +Seafoam2HolesCoords: db $06,$12 db $06,$17 db $ff -SeafoamIslands2TextPointers: ; 46372 (11:6372) +SeafoamIslands2TextPointers: dw BoulderText dw BoulderText diff --git a/scripts/seafoamislands3.asm b/scripts/seafoamislands3.asm index fb7d05ba..4a7848a4 100755 --- a/scripts/seafoamislands3.asm +++ b/scripts/seafoamislands3.asm @@ -1,46 +1,46 @@ -SeafoamIslands3Script: ; 46451 (11:6451) +SeafoamIslands3Script: call EnableAutoTextBoxDrawing ld hl, wFlags_0xcd60 bit 7, [hl] res 7, [hl] - jr z, .asm_4649e ; 0x4645b $41 + jr z, .asm_4649e ld hl, Seafoam3HolesCoords call CheckBoulderCoords ret nc - ld hl, wd880 - ld a, [wWhichTrade] + EventFlagAddress hl, EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE + ld a, [wCoordIndex] cp $1 - jr nz, .asm_4647c ; 0x4646c $e - set 0, [hl] + jr nz, .asm_4647c + SetEventReuseHL EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE ld a, HS_SEAFOAM_ISLANDS_3_BOULDER_1 - ld [wd079], a + ld [wObjectToHide], a ld a, HS_SEAFOAM_ISLANDS_4_BOULDER_3 - ld [wd07a], a - jr .asm_46488 ; 0x4647a $c + ld [wObjectToShow], a + jr .asm_46488 .asm_4647c - set 1, [hl] + SetEventAfterBranchReuseHL EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE, EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE ld a, HS_SEAFOAM_ISLANDS_3_BOULDER_2 - ld [wd079], a + ld [wObjectToHide], a ld a, HS_SEAFOAM_ISLANDS_4_BOULDER_4 - ld [wd07a], a + ld [wObjectToShow], a .asm_46488 - ld a, [wd079] - ld [wcc4d], a + ld a, [wObjectToHide] + ld [wMissableObjectIndex], a predef HideObject - ld a, [wd07a] - ld [wcc4d], a + ld a, [wObjectToShow] + ld [wMissableObjectIndex], a predef_jump ShowObject .asm_4649e ld a, $a1 ld [wDungeonWarpDestinationMap], a ld hl, Seafoam3HolesCoords - jp Func_46981 + jp IsPlayerOnDungeonWarp -Seafoam3HolesCoords: ; 464a9 (11:64a9) +Seafoam3HolesCoords: db $06,$13 db $06,$16 db $ff -SeafoamIslands3TextPointers: ; 464ae (11:64ae) +SeafoamIslands3TextPointers: dw BoulderText dw BoulderText diff --git a/scripts/seafoamislands4.asm b/scripts/seafoamislands4.asm index 7e519f86..34873004 100755 --- a/scripts/seafoamislands4.asm +++ b/scripts/seafoamislands4.asm @@ -1,69 +1,67 @@ -SeafoamIslands4Script: ; 4658d (11:658d) +SeafoamIslands4Script: call EnableAutoTextBoxDrawing ld hl, wFlags_0xcd60 bit 7, [hl] res 7, [hl] - jr z, .asm_465dc ; 0x46597 $43 + jr z, .asm_465dc ld hl, Seafoam4HolesCoords call CheckBoulderCoords ret nc - ld hl, wd881 - ld a, [wWhichTrade] + EventFlagAddress hl, EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE + ld a, [wCoordIndex] cp $1 - jr nz, .asm_465b8 ; 0x465a8 $e - set 0, [hl] + jr nz, .asm_465b8 + SetEventReuseHL EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE ld a, HS_SEAFOAM_ISLANDS_4_BOULDER_1 - ld [wd079], a + ld [wObjectToHide], a ld a, HS_SEAFOAM_ISLANDS_5_BOULDER_1 - ld [wd07a], a - jr .asm_465c4 ; 0x465b6 $c + ld [wObjectToShow], a + jr .asm_465c4 .asm_465b8 - set 1, [hl] + SetEventAfterBranchReuseHL EVENT_SEAFOAM4_BOULDER2_DOWN_HOLE, EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE ld a, HS_SEAFOAM_ISLANDS_4_BOULDER_2 - ld [wd079], a + ld [wObjectToHide], a ld a, HS_SEAFOAM_ISLANDS_5_BOULDER_2 - ld [wd07a], a + ld [wObjectToShow], a .asm_465c4 - ld a, [wd079] - ld [wcc4d], a + ld a, [wObjectToHide] + ld [wMissableObjectIndex], a predef HideObject - ld a, [wd07a] - ld [wcc4d], a + ld a, [wObjectToShow] + ld [wMissableObjectIndex], a predef ShowObject - jr .asm_465ed ; 0x465da $11 + jr .asm_465ed .asm_465dc ld a, $a2 ld [wDungeonWarpDestinationMap], a ld hl, Seafoam4HolesCoords - call Func_46981 + call IsPlayerOnDungeonWarp ld a, [wd732] bit 4, a ret nz .asm_465ed ld hl, SeafoamIslands4ScriptPointers - ld a, [W_SEAFOAMISLANDS4CURSCRIPT] + ld a, [wSeafoamIslands4CurScript] jp CallFunctionInTable -Seafoam4HolesCoords: ; 465f6 (11:65f6) +Seafoam4HolesCoords: db $10,$03 db $10,$06 db $ff -SeafoamIslands4ScriptPointers: ; 465fb (11:65fb) +SeafoamIslands4ScriptPointers: dw SeafoamIslands4Script0 dw SeafoamIslands4Script1 dw SeafoamIslands4Script2 dw SeafoamIslands4Script3 -SeafoamIslands4Script0: ; 46603 (11:6603) - ld a, [wd880] - and $3 - cp $3 +SeafoamIslands4Script0: + CheckBothEventsSet EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE ret z - ld a, [W_YCOORD] + ld a, [wYCoord] cp $8 ret nz - ld a, [W_XCOORD] + ld a, [wXCoord] cp $f ret nz ld hl, wSimulatedJoypadStatesEnd @@ -72,32 +70,30 @@ SeafoamIslands4Script0: ; 46603 (11:6603) dec a ld [wSimulatedJoypadStatesIndex], a call StartSimulatingJoypadStates - ld hl, W_FLAGS_D733 + ld hl, wFlags_D733 set 2, [hl] ld a, $1 - ld [W_SEAFOAMISLANDS4CURSCRIPT], a + ld [wSeafoamIslands4CurScript], a ret -RLEMovement46632: ; 46632 (11:6632) - db $80,6 - db $10,5 - db $80,3 +RLEMovement46632: + db D_DOWN,6 + db D_RIGHT,5 + db D_DOWN,3 db $ff -SeafoamIslands4Script1: ; 46639 (11:6639) +SeafoamIslands4Script1: ld a, [wSimulatedJoypadStatesIndex] and a ret nz ld a, $0 - ld [W_SEAFOAMISLANDS4CURSCRIPT], a + ld [wSeafoamIslands4CurScript], a ret -SeafoamIslands4Script2: ; 46644 (11:6644) - ld a, [wd880] - and $3 - cp $3 +SeafoamIslands4Script2: + CheckBothEventsSet EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE ret z - ld a, [W_XCOORD] + ld a, [wXCoord] cp $12 jr z, .asm_4665e cp $13 @@ -116,28 +112,35 @@ SeafoamIslands4Script2: ; 46644 (11:6644) ld [wSpriteStateData2 + $06], a ld hl, wd730 set 7, [hl] - ld hl, W_FLAGS_D733 + ld hl, wFlags_D733 set 2, [hl] ld a, $3 .asm_4667b - ld [W_SEAFOAMISLANDS4CURSCRIPT], a + ld [wSeafoamIslands4CurScript], a ret -RLEData_4667f: ; 4667f (11:667f) - db $80,$06,$10,$02,$80,$04,$20,$01,$FF +RLEData_4667f: + db D_DOWN,$06 + db D_RIGHT,$02 + db D_DOWN,$04 + db D_LEFT,$01 + db $FF -RLEData_46688: ; 46688 (11:6688) - db $80,$06,$10,$02,$80,$04,$FF +RLEData_46688: + db D_DOWN,$06 + db D_RIGHT,$02 + db D_DOWN,$04 + db $FF -SeafoamIslands4Script3: ; 4668f (11:668f) +SeafoamIslands4Script3: ld a, [wSimulatedJoypadStatesIndex] and a ret nz ld a, $0 - ld [W_SEAFOAMISLANDS4CURSCRIPT], a + ld [wSeafoamIslands4CurScript], a ret -SeafoamIslands4TextPointers: ; 4669a (11:669a) +SeafoamIslands4TextPointers: dw BoulderText dw BoulderText dw BoulderText diff --git a/scripts/seafoamislands5.asm b/scripts/seafoamislands5.asm index b554034b..a233fb6a 100755 --- a/scripts/seafoamislands5.asm +++ b/scripts/seafoamislands5.asm @@ -1,87 +1,83 @@ -SeafoamIslands5Script: ; 46799 (11:6799) +SeafoamIslands5Script: call EnableAutoTextBoxDrawing - ld a, [W_SEAFOAMISLANDS5CURSCRIPT] + ld a, [wSeafoamIslands5CurScript] ld hl, SeafoamIslands5ScriptPointers jp CallFunctionInTable -SeafoamIslands5Script_467a5: ; 467a5 (11:67a5) +SeafoamIslands5Script_467a5: xor a - ld [W_SEAFOAMISLANDS5CURSCRIPT], a + ld [wSeafoamIslands5CurScript], a ld [wJoyIgnore], a ret -SeafoamIslands5ScriptPointers: ; 467ad (11:67ad) +SeafoamIslands5ScriptPointers: dw SeafoamIslands5Script0 dw SeafoamIslands5Script1 dw SeafoamIslands5Script2 dw SeafoamIslands5Script3 dw SeafoamIslands5Script4 -SeafoamIslands5Script4: ; 467b7 (11:67b7) - ld a, [W_ISINBATTLE] +SeafoamIslands5Script4: + ld a, [wIsInBattle] cp $ff jr z, SeafoamIslands5Script_467a5 call EndTrainerBattle ld a, $0 - ld [W_SEAFOAMISLANDS5CURSCRIPT], a + ld [wSeafoamIslands5CurScript], a ret -SeafoamIslands5Script0: ; 467c7 (11:67c7) - ld a, [wd880] - and $3 - cp $3 +SeafoamIslands5Script0: + CheckBothEventsSet EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE ret z - ld hl, CoordsData_467fe + ld hl, .Coords call ArePlayerCoordsInArray ret nc - ld a, [wWhichTrade] + ld a, [wCoordIndex] cp $3 jr nc, .asm_467e6 - ld a, $40 - ld [wccd4], a - ld a, $2 + ld a, NPC_MOVEMENT_UP + ld [wSimulatedJoypadStatesEnd + 1], a + ld a, 2 jr .asm_467e8 .asm_467e6 - ld a, $1 + ld a, 1 .asm_467e8 ld [wSimulatedJoypadStatesIndex], a - ld a, $40 + ld a, D_UP ld [wSimulatedJoypadStatesEnd], a call StartSimulatingJoypadStates - ld hl, W_FLAGS_D733 + ld hl, wFlags_D733 res 2, [hl] ld a, $1 - ld [W_SEAFOAMISLANDS5CURSCRIPT], a + ld [wSeafoamIslands5CurScript], a ret -CoordsData_467fe: ; 467fe (11:67fe) +.Coords db $11,$14 db $11,$15 db $10,$14 db $10,$15 db $FF -SeafoamIslands5Script1: ; 46807 (11:6807) +SeafoamIslands5Script1: ld a, [wSimulatedJoypadStatesIndex] and a ret nz xor a ld [wJoyIgnore], a ld a, $0 - ld [W_SEAFOAMISLANDS5CURSCRIPT], a + ld [wSeafoamIslands5CurScript], a ret -SeafoamIslands5Script2: ; 46816 (11:6816) - ld a, [wd881] - and $3 - cp $3 +SeafoamIslands5Script2: + CheckBothEventsSet EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM4_BOULDER2_DOWN_HOLE ld a, $0 jr z, .asm_46849 - ld hl, CoordsData_4684d + ld hl, .Coords call ArePlayerCoordsInArray ld a, $0 jr nc, .asm_46849 - ld a, [wWhichTrade] + ld a, [wCoordIndex] cp $1 jr nz, .asm_46837 ld de, RLEMovementData_46859 @@ -96,27 +92,27 @@ SeafoamIslands5Script2: ; 46816 (11:6816) call StartSimulatingJoypadStates ld a, $3 .asm_46849 - ld [W_SEAFOAMISLANDS5CURSCRIPT], a + ld [wSeafoamIslands5CurScript], a ret -CoordsData_4684d: ; 4684d (11:684d) +.Coords db $0E,$04 db $0E,$05 db $FF -RLEMovementData_46852: ; 46852 (11:6852) - db $40,$03 - db $10,$02 - db $40,$01 +RLEMovementData_46852: + db D_UP,$03 + db D_RIGHT,$02 + db D_UP,$01 db $FF -RLEMovementData_46859: ; 46859 (11:6859) - db $40,$03 - db $10,$03 - db $40,$01 +RLEMovementData_46859: + db D_UP,$03 + db D_RIGHT,$03 + db D_UP,$01 db $FF -SeafoamIslands5Script3: ; 46860 (11:6860) +SeafoamIslands5Script3: ld a, [wSimulatedJoypadStatesIndex] ld b, a cp $1 @@ -125,54 +121,53 @@ SeafoamIslands5Script3: ; 46860 (11:6860) and a ret nz ld a, $0 - ld [W_SEAFOAMISLANDS5CURSCRIPT], a + ld [wSeafoamIslands5CurScript], a ret -SeaFoamIslands5Script_46872: ; 46872 (11:6872) +SeaFoamIslands5Script_46872: xor a ld [wWalkBikeSurfState], a ld [wWalkBikeSurfStateCopy], a jp ForceBikeOrSurf -SeafoamIslands5TextPointers: ; 4687c (11:687c) +SeafoamIslands5TextPointers: dw BoulderText dw BoulderText - dw SeafoamIslands5Text3 + dw ArticunoText dw SeafoamIslands5Text4 dw SeafoamIslands5Text5 -SeafoamIslands5TrainerHeaders: ; 46886 (11:6886) -SeafoamIslands5TrainerHeader0: ; 46886 (11:6886) - db $2 ; flag's bit +ArticunoTrainerHeader: + dbEventFlagBit EVENT_BEAT_ARTICUNO db ($0 << 4) ; trainer's view range - dw wd882 ; flag's byte - dw SeafoamIslands5BattleText2 ; 0x68a2 TextBeforeBattle - dw SeafoamIslands5BattleText2 ; 0x68a2 TextAfterBattle - dw SeafoamIslands5BattleText2 ; 0x68a2 TextEndBattle - dw SeafoamIslands5BattleText2 ; 0x68a2 TextEndBattle + dwEventFlagAddress EVENT_BEAT_ARTICUNO + dw ArticunoBattleText ; TextBeforeBattle + dw ArticunoBattleText ; TextAfterBattle + dw ArticunoBattleText ; TextEndBattle + dw ArticunoBattleText ; TextEndBattle db $ff -SeafoamIslands5Text3: ; 46893 (11:6893) - db $08 ; asm - ld hl, SeafoamIslands5TrainerHeader0 +ArticunoText: + TX_ASM + ld hl, ArticunoTrainerHeader call TalkToTrainer ld a, $4 - ld [W_SEAFOAMISLANDS5CURSCRIPT], a + ld [wSeafoamIslands5CurScript], a jp TextScriptEnd -SeafoamIslands5BattleText2: ; 468a2 (11:68a2) - TX_FAR _SeafoamIslands5BattleText2 - db $8 +ArticunoBattleText: + TX_FAR _ArticunoBattleText + TX_ASM ld a, ARTICUNO call PlayCry call WaitForSoundToFinish jp TextScriptEnd -SeafoamIslands5Text4: ; 468b2 (11:68b2) +SeafoamIslands5Text4: TX_FAR _SeafoamIslands5Text4 db "@" -SeafoamIslands5Text5: ; 468b7 (11:68b7) +SeafoamIslands5Text5: TX_FAR _SeafoamIslands5Text5 db "@" diff --git a/scripts/silphco1.asm b/scripts/silphco1.asm index 8a399a4c..c0cb169b 100755 --- a/scripts/silphco1.asm +++ b/scripts/silphco1.asm @@ -1,19 +1,16 @@ -SilphCo1Script: ; 5d44e (17:544e) +SilphCo1Script: call EnableAutoTextBoxDrawing - ld a, [wd838] - bit 7, a + CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI ret z - ld hl, wd7b9 - bit 7, [hl] - set 7, [hl] + CheckAndSetEvent EVENT_SILPH_CO_RECEPTIONIST_AT_DESK ret nz - ld a, HS_SILPH_CO_1F_1 - ld [wcc4d], a + ld a, HS_SILPH_CO_1F_RECEPTIONIST + ld [wMissableObjectIndex], a predef_jump ShowObject -SilphCo1TextPointers: ; 5d469 (17:5469) +SilphCo1TextPointers: dw SilphCo1Text1 -SilphCo1Text1: ; 5d46b (17:546b) +SilphCo1Text1: TX_FAR _SilphCo1Text1 db "@" diff --git a/scripts/silphco10.asm b/scripts/silphco10.asm index 7d044aca..5cfb92b2 100755 --- a/scripts/silphco10.asm +++ b/scripts/silphco10.asm @@ -1,90 +1,87 @@ -SilphCo10Script: ; 5a139 (16:6139) +SilphCo10Script: call SilphCo10Script_5a14f call EnableAutoTextBoxDrawing - ld hl, SilphCo10TrainerHeaders + ld hl, SilphCo10TrainerHeader0 ld de, SilphCo10ScriptPointers - ld a, [W_SILPHCO10CURSCRIPT] + ld a, [wSilphCo10CurScript] call ExecuteCurMapScriptInTable - ld [W_SILPHCO10CURSCRIPT], a + ld [wSilphCo10CurScript], a ret -SilphCo10Script_5a14f: ; 5a14f (16:614f) - ld hl, wd126 +SilphCo10Script_5a14f: + ld hl, wCurrentMapScriptFlags bit 5, [hl] res 5, [hl] ret z - ld hl, DataTable_5a173 ; $6173 + ld hl, SilphCo10GateCoords call SilphCo2Script_59d43 call SilphCo10Text_5a176 - ld a, [wd836] - bit 0, a + CheckEvent EVENT_SILPH_CO_10_UNLOCKED_DOOR ret nz ld a, $54 - ld [wd09f], a - ld bc, $405 + ld [wNewTileBlockID], a + lb bc, 4, 5 predef_jump ReplaceTileBlock -DataTable_5a173: ; 5a173 (16:6173) - db $04,$05,$FF +SilphCo10GateCoords: + db $04,$05 + db $FF -SilphCo10Text_5a176: ; 5a176 (16:6176) +SilphCo10Text_5a176: ld a, [$ffe0] and a ret z - ld hl, wd836 - set 0, [hl] + SetEvent EVENT_SILPH_CO_10_UNLOCKED_DOOR ret -SilphCo10ScriptPointers: ; 5a180 (16:6180) +SilphCo10ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle -SilphCo10TextPointers: ; 5a186 (16:6186) +SilphCo10TextPointers: dw SilphCo10Text1 dw SilphCo10Text2 dw SilphCo10Text3 - dw Predef5CText - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText -SilphCo10TrainerHeaders: ; 5a192 (16:6192) -SilphCo10TrainerHeader0: ; 5a192 (16:6192) - db $1 ; flag's bit +SilphCo10TrainerHeader0: + dbEventFlagBit EVENT_BEAT_SILPH_CO_10F_TRAINER_0 db ($3 << 4) ; trainer's view range - dw wd835 ; flag's byte - dw SilphCo10BattleText1 ; 0x61dd TextBeforeBattle - dw SilphCo10AfterBattleText1 ; 0x61e7 TextAfterBattle - dw SilphCo10EndBattleText1 ; 0x61e2 TextEndBattle - dw SilphCo10EndBattleText1 ; 0x61e2 TextEndBattle - -SilphCo10TrainerHeader1: ; 5a19e (16:619e) - db $2 ; flag's bit + dwEventFlagAddress EVENT_BEAT_SILPH_CO_10F_TRAINER_0 + dw SilphCo10BattleText1 ; TextBeforeBattle + dw SilphCo10AfterBattleText1 ; TextAfterBattle + dw SilphCo10EndBattleText1 ; TextEndBattle + dw SilphCo10EndBattleText1 ; TextEndBattle + +SilphCo10TrainerHeader1: + dbEventFlagBit EVENT_BEAT_SILPH_CO_10F_TRAINER_1 db ($4 << 4) ; trainer's view range - dw wd835 ; flag's byte - dw SilphCo10BattleText2 ; 0x61ec TextBeforeBattle - dw SilphCo10AfterBattleText2 ; 0x61f6 TextAfterBattle - dw SilphCo10EndBattleText2 ; 0x61f1 TextEndBattle - dw SilphCo10EndBattleText2 ; 0x61f1 TextEndBattle + dwEventFlagAddress EVENT_BEAT_SILPH_CO_10F_TRAINER_1 + dw SilphCo10BattleText2 ; TextBeforeBattle + dw SilphCo10AfterBattleText2 ; TextAfterBattle + dw SilphCo10EndBattleText2 ; TextEndBattle + dw SilphCo10EndBattleText2 ; TextEndBattle db $ff -SilphCo10Text1: ; 5a1ab (16:61ab) - db $08 ; asm +SilphCo10Text1: + TX_ASM ld hl, SilphCo10TrainerHeader0 call TalkToTrainer jp TextScriptEnd -SilphCo10Text2: ; 5a1b5 (16:61b5) - db $08 ; asm +SilphCo10Text2: + TX_ASM ld hl, SilphCo10TrainerHeader1 call TalkToTrainer jp TextScriptEnd -SilphCo10Text3: ; 5a1bf (16:61bf) - db $08 ; asm - ld a, [wd838] - bit 7, a +SilphCo10Text3: + TX_ASM + CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI ld hl, SilphCo10Text_5a1d8 jr nz, .asm_cf85f ld hl, SilphCo10Text_5a1d3 @@ -92,34 +89,34 @@ SilphCo10Text3: ; 5a1bf (16:61bf) call PrintText jp TextScriptEnd -SilphCo10Text_5a1d3: ; 5a1d3 (16:61d3) +SilphCo10Text_5a1d3: TX_FAR _SilphCo10Text_5a1d3 db "@" -SilphCo10Text_5a1d8: ; 5a1d8 (16:61d8) +SilphCo10Text_5a1d8: TX_FAR _SilphCo10Text_5a1d8 db "@" -SilphCo10BattleText1: ; 5a1dd (16:61dd) +SilphCo10BattleText1: TX_FAR _SilphCo10BattleText1 db "@" -SilphCo10EndBattleText1: ; 5a1e2 (16:61e2) +SilphCo10EndBattleText1: TX_FAR _SilphCo10EndBattleText1 db "@" -SilphCo10AfterBattleText1: ; 5a1e7 (16:61e7) +SilphCo10AfterBattleText1: TX_FAR _SilphCo10AfterBattleText1 db "@" -SilphCo10BattleText2: ; 5a1ec (16:61ec) +SilphCo10BattleText2: TX_FAR _SilphCo10BattleText2 db "@" -SilphCo10EndBattleText2: ; 5a1f1 (16:61f1) +SilphCo10EndBattleText2: TX_FAR _SilphCo10EndBattleText2 db "@" -SilphCo10AfterBattleText2: ; 5a1f6 (16:61f6) +SilphCo10AfterBattleText2: TX_FAR _SilphCo10AfterBattleText2 db "@" diff --git a/scripts/silphco11.asm b/scripts/silphco11.asm index 7bb6e448..342fef07 100755 --- a/scripts/silphco11.asm +++ b/scripts/silphco11.asm @@ -1,33 +1,33 @@ -SilphCo11Script: ; 620fa (18:60fa) +SilphCo11Script: call SilphCo11Script_62110 call EnableAutoTextBoxDrawing - ld hl, SilphCo11TrainerHeaders + ld hl, SilphCo11TrainerHeader0 ld de, SilphCo11ScriptPointers - ld a, [W_SILPHCO11CURSCRIPT] + ld a, [wSilphCo11CurScript] call ExecuteCurMapScriptInTable - ld [W_SILPHCO11CURSCRIPT], a + ld [wSilphCo11CurScript], a ret -SilphCo11Script_62110: ; 62110 (18:6110) - ld hl, wd126 +SilphCo11Script_62110: + ld hl, wCurrentMapScriptFlags bit 5, [hl] res 5, [hl] ret z - ld hl, DataTable_62134 ; $6134 + ld hl, SilphCo11GateCoords call SilphCo11Script_62137 call SilphCo11Script_62163 - ld a, [wd838] - bit 0, a + CheckEvent EVENT_SILPH_CO_11_UNLOCKED_DOOR ret nz ld a, $20 - ld [wd09f], a - ld bc, $603 + ld [wNewTileBlockID], a + lb bc, 6, 3 predef_jump ReplaceTileBlock -DataTable_62134: ; 62134 (18:6134) - db $06,$03,$FF +SilphCo11GateCoords: + db $06,$03 + db $FF -SilphCo11Script_62137: ; 62137 (18:6137) +SilphCo11Script_62137: push hl ld hl, wCardKeyDoorY ld a, [hli] @@ -63,38 +63,37 @@ SilphCo11Script_62137: ; 62137 (18:6137) ld [$ffe0], a ret -SilphCo11Script_62163: ; 62163 (18:6163) +SilphCo11Script_62163: ld a, [$ffe0] and a ret z - ld hl, wd838 - set 0, [hl] + SetEvent EVENT_SILPH_CO_11_UNLOCKED_DOOR ret -SilphCo11Script_6216d: ; 6216d (18:616d) - ld hl, MissableObjectIDs_6219b ; $619b +SilphCo11Script_6216d: + ld hl, MissableObjectIDs_6219b .asm_62170 ld a, [hli] cp $ff jr z, .asm_62181 push hl - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject pop hl jr .asm_62170 .asm_62181 - ld hl, MissableObjectIDs_62194 ; $6194 + ld hl, MissableObjectIDs_62194 .asm_62184 ld a, [hli] cp $ff ret z push hl - ld [wcc4d], a + ld [wMissableObjectIndex], a predef ShowObject pop hl jr .asm_62184 -MissableObjectIDs_62194: ; 62194 (18:6194) +MissableObjectIDs_62194: db HS_SAFFRON_CITY_8 db HS_SAFFRON_CITY_9 db HS_SAFFRON_CITY_A @@ -103,7 +102,7 @@ MissableObjectIDs_62194: ; 62194 (18:6194) db HS_SAFFRON_CITY_D db $FF -MissableObjectIDs_6219b: ; 6219b (18:619b) +MissableObjectIDs_6219b: db HS_SAFFRON_CITY_1 db HS_SAFFRON_CITY_2 db HS_SAFFRON_CITY_3 @@ -146,16 +145,16 @@ MissableObjectIDs_6219b: ; 6219b (18:619b) db HS_SILPH_CO_11F_3 db $FF -SilphCo11Script_621c4: ; 621c4 (18:61c4) +SilphCo11Script_621c4: xor a ld [wJoyIgnore], a -SilphCo11Script_621c8: ; 621c8 (18:61c8) - ld [W_SILPHCO11CURSCRIPT], a - ld [W_CURMAPSCRIPT], a +SilphCo11Script_621c8: + ld [wSilphCo11CurScript], a + ld [wCurMapScript], a ret -SilphCo11ScriptPointers: ; 621cf (18:61cf) +SilphCo11ScriptPointers: dw SilphCo11Script0 dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle @@ -163,107 +162,108 @@ SilphCo11ScriptPointers: ; 621cf (18:61cf) dw SilphCo11Script4 dw SilphCo11Script5 -SilphCo11Script0: ; 621db (18:61db) - ld a, [wd838] - bit 7, a +SilphCo11Script0: + CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI ret nz - ld hl, CoordsData_62211 ; $6211 + ld hl, CoordsData_62211 call ArePlayerCoordsInArray jp nc, CheckFightingMapTrainers - ld a, [wWhichTrade] ; wWhichTrade + ld a, [wCoordIndex] ld [wcf0d], a xor a ld [hJoyHeld], a ld a, $f0 ld [wJoyIgnore], a ld a, $3 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $3 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [H_SPRITEINDEX], a call SetSpriteMovementBytesToFF ld de, MovementData_62216 call MoveSprite ld a, $3 jp SilphCo11Script_621c8 -CoordsData_62211: ; 62211 (18:6211) +CoordsData_62211: db $0D,$06 db $0C,$07 db $FF -MovementData_62216: ; 62216 (18:6216) - db $00,$00,$00,$FF +MovementData_62216: + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db $FF -SilphCo11Script_6221a: ; 6221a (18:621a) - ld [wd528], a +SilphCo11Script_6221a: + ld [wPlayerMovingDirection], a ld a, $3 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [H_SPRITEINDEX], a ld a, b - ld [$ff8d], a + ld [hSpriteFacingDirection], a jp SetSpriteFacingDirectionAndDelay -SilphCo11Script5: ; 62227 (18:6227) - ld a, [W_ISINBATTLE] ; W_ISINBATTLE +SilphCo11Script5: + ld a, [wIsInBattle] cp $ff jp z, SilphCo11Script_621c4 ld a, [wcf0d] cp $1 jr z, .asm_6223c - ld a, $2 - ld b, $c + ld a, PLAYER_DIR_LEFT + ld b, SPRITE_FACING_RIGHT jr .asm_62240 .asm_6223c - ld a, $8 - ld b, $0 + ld a, PLAYER_DIR_UP + ld b, SPRITE_FACING_DOWN .asm_62240 call SilphCo11Script_6221a ld a, $f0 ld [wJoyIgnore], a ld a, $6 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a call DisplayTextID call GBFadeOutToBlack call SilphCo11Script_6216d call UpdateSprites call Delay3 call GBFadeInFromBlack - ld hl, wd838 - set 7, [hl] + SetEvent EVENT_BEAT_SILPH_CO_GIOVANNI xor a ld [wJoyIgnore], a jp SilphCo11Script_621c8 -SilphCo11Script3: ; 6226a (18:626a) +SilphCo11Script3: ld a, [wd730] bit 0, a ret nz ld a, $3 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [H_SPRITEINDEX], a call SetSpriteMovementBytesToFF ld a, [wcf0d] cp $1 jr z, .asm_62284 - ld a, $2 - ld b, $c + ld a, PLAYER_DIR_LEFT + ld b, SPRITE_FACING_RIGHT jr .asm_62288 .asm_62284 - ld a, $8 - ld b, $0 + ld a, PLAYER_DIR_UP + ld b, SPRITE_FACING_DOWN .asm_62288 call SilphCo11Script_6221a call Delay3 ld a, $4 jp SilphCo11Script_621c8 -SilphCo11Script4: ; 62293 (18:6293) +SilphCo11Script4: ld hl, wd72d set 6, [hl] set 7, [hl] - ld hl, SilphCo10Text_62330 ; $6330 - ld de, SilphCo10Text_62330 ; $6330 + ld hl, SilphCo10Text_62330 + ld de, SilphCo10Text_62330 call SaveEndBattleTextPointers - ld a, [H_DOWNARROWBLINKCNT2] ; $ff8c + ld a, [H_SPRITEINDEX] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters @@ -272,7 +272,7 @@ SilphCo11Script4: ; 62293 (18:6293) ld a, $5 jp SilphCo11Script_621c8 -SilphCo11TextPointers: ; 622b7 (18:62b7) +SilphCo11TextPointers: dw SilphCo11Text1 dw SilphCo11Text2 dw SilphCo11Text3 @@ -280,128 +280,126 @@ SilphCo11TextPointers: ; 622b7 (18:62b7) dw SilphCo11Text5 dw SilphCo11Text6 -SilphCo11TrainerHeaders: ; 622c3 (18:62c3) -SilphCo11TrainerHeader0: ; 622c3 (18:62c3) - db $4 ; flag's bit +SilphCo11TrainerHeader0: + dbEventFlagBit EVENT_BEAT_SILPH_CO_11F_TRAINER_0 db ($4 << 4) ; trainer's view range - dw wd837 ; flag's byte - dw SilphCo11BattleText1 ; 0x6344 TextBeforeBattle - dw SilphCo11AfterBattleText1 ; 0x634e TextAfterBattle - dw SilphCo11EndBattleText1 ; 0x6349 TextEndBattle - dw SilphCo11EndBattleText1 ; 0x6349 TextEndBattle - -SilphCo11TrainerHeader1: ; 622cf (18:62cf) - db $5 ; flag's bit + dwEventFlagAddress EVENT_BEAT_SILPH_CO_11F_TRAINER_0 + dw SilphCo11BattleText1 ; TextBeforeBattle + dw SilphCo11AfterBattleText1 ; TextAfterBattle + dw SilphCo11EndBattleText1 ; TextEndBattle + dw SilphCo11EndBattleText1 ; TextEndBattle + +SilphCo11TrainerHeader1: + dbEventFlagBit EVENT_BEAT_SILPH_CO_11F_TRAINER_1 db ($3 << 4) ; trainer's view range - dw wd837 ; flag's byte - dw SilphCo11BattleText2 ; 0x635d TextBeforeBattle - dw SilphCo11AfterBattleText2 ; 0x6367 TextAfterBattle - dw SilphCo11EndBattleText2 ; 0x6362 TextEndBattle - dw SilphCo11EndBattleText2 ; 0x6362 TextEndBattle + dwEventFlagAddress EVENT_BEAT_SILPH_CO_11F_TRAINER_1 + dw SilphCo11BattleText2 ; TextBeforeBattle + dw SilphCo11AfterBattleText2 ; TextAfterBattle + dw SilphCo11EndBattleText2 ; TextEndBattle + dw SilphCo11EndBattleText2 ; TextEndBattle db $ff -SilphCo11Text1: ; 622dc (18:62dc) - db $08 ; asm - ld a, [wd838] - bit 5, a +SilphCo11Text1: + TX_ASM + CheckEvent EVENT_GOT_MASTER_BALL jp nz, .asm_62308 ld hl, SilphCoPresidentText call PrintText - ld bc, (MASTER_BALL << 8) | 1 + lb bc, MASTER_BALL, 1 call GiveItem jr nc, .BagFull ld hl, ReceivedSilphCoMasterBallText call PrintText - ld hl, wd838 - set 5, [hl] - jr .asm_fd405 ; 0x622fe + SetEvent EVENT_GOT_MASTER_BALL + jr .asm_6230e .BagFull ld hl, SilphCoMasterBallNoRoomText call PrintText - jr .asm_fd405 ; 0x62306 -.asm_62308 ; 0x62308 + jr .asm_6230e +.asm_62308 ld hl, SilphCo10Text_6231c call PrintText -.asm_fd405 ; 0x6230e +.asm_6230e jp TextScriptEnd -SilphCoPresidentText: ; 62311 (18:6311) +SilphCoPresidentText: TX_FAR _SilphCoPresidentText db "@" -ReceivedSilphCoMasterBallText: ; 62316 (18:6316) +ReceivedSilphCoMasterBallText: TX_FAR _ReceivedSilphCoMasterBallText - db $11, "@" + TX_SFX_KEY_ITEM + db "@" -SilphCo10Text_6231c: ; 6231c (18:631c) +SilphCo10Text_6231c: TX_FAR _SilphCo10Text_6231c db "@" -SilphCoMasterBallNoRoomText: ; 62321 (18:6321) +SilphCoMasterBallNoRoomText: TX_FAR _SilphCoMasterBallNoRoomText db "@" -SilphCo11Text2: ; 62326 (18:6326) +SilphCo11Text2: TX_FAR _SilphCo11Text2 db "@" -SilphCo11Text3: ; 6232b (18:632b) +SilphCo11Text3: TX_FAR _SilphCo11Text3 db "@" -SilphCo10Text_62330: ; 62330 (18:6330) +SilphCo10Text_62330: TX_FAR _SilphCo10Text_62330 db "@" -SilphCo11Text6: ; 62335 (18:6335) +SilphCo11Text6: TX_FAR _SilphCo10Text_62335 db "@" -SilphCo11Text4: ; 6233a (18:633a) - db $08 ; asm +SilphCo11Text4: + TX_ASM ld hl, SilphCo11TrainerHeader0 call TalkToTrainer jp TextScriptEnd -SilphCo11BattleText1: ; 62344 (18:6344) +SilphCo11BattleText1: TX_FAR _SilphCo11BattleText1 db "@" -SilphCo11EndBattleText1: ; 62349 (18:6349) +SilphCo11EndBattleText1: TX_FAR _SilphCo11EndBattleText1 db "@" -SilphCo11AfterBattleText1: ; 6234e (18:634e) +SilphCo11AfterBattleText1: TX_FAR _SilphCo11AfterBattleText1 db "@" -SilphCo11Text5: ; 62353 (18:6353) - db $08 ; asm +SilphCo11Text5: + TX_ASM ld hl, SilphCo11TrainerHeader1 call TalkToTrainer jp TextScriptEnd -SilphCo11BattleText2: ; 6235d (18:635d) +SilphCo11BattleText2: TX_FAR _SilphCo11BattleText2 db "@" -SilphCo11EndBattleText2: ; 62362 (18:6362) +SilphCo11EndBattleText2: TX_FAR _SilphCo11EndBattleText2 db "@" -SilphCo11AfterBattleText2: ; 62367 (18:6367) +SilphCo11AfterBattleText2: TX_FAR _SilphCo11AfterBattleText2 db "@" -SilphCo10Text_6236c: ; 6236c (18:636c) - db $8 +SilphCo10Text_6236c: + TX_ASM ld hl, SilphCo10Text_6237b call PrintText ld a, PORYGON call DisplayPokedex jp TextScriptEnd -SilphCo10Text_6237b: ; 6237b (18:637b) +SilphCo10Text_6237b: TX_FAR _SilphCo10Text_6237b db "@" diff --git a/scripts/silphco2.asm b/scripts/silphco2.asm index 63803acd..e77c45dd 100755 --- a/scripts/silphco2.asm +++ b/scripts/silphco2.asm @@ -1,42 +1,43 @@ -SilphCo2Script: ; 59cf1 (16:5cf1) +SilphCo2Script: call SilphCo2Script_59d07 call EnableAutoTextBoxDrawing - ld hl, SilphCo2TrainerHeaders + ld hl, SilphCo2TrainerHeader0 ld de, SilphCo2ScriptPointers - ld a, [W_SILPHCO2CURSCRIPT] + ld a, [wSilphCo2CurScript] call ExecuteCurMapScriptInTable - ld [W_SILPHCO2CURSCRIPT], a + ld [wSilphCo2CurScript], a ret -SilphCo2Script_59d07: ; 59d07 (16:5d07) - ld hl, wd126 +SilphCo2Script_59d07: + ld hl, wCurrentMapScriptFlags bit 5, [hl] res 5, [hl] ret z - ld hl, DataTable_59d3e + ld hl, SilphCo2GateCoords call SilphCo2Script_59d43 call SilphCo2Script_59d6f - ld a, [wd826] - bit 5, a + CheckEvent EVENT_SILPH_CO_2_UNLOCKED_DOOR1 jr nz, .asm_59d2e push af ld a, $54 - ld [wd09f], a - ld bc, $0202 + ld [wNewTileBlockID], a + lb bc, 2, 2 predef ReplaceTileBlock pop af .asm_59d2e - bit 6, a + CheckEventAfterBranchReuseA EVENT_SILPH_CO_2_UNLOCKED_DOOR2, EVENT_SILPH_CO_2_UNLOCKED_DOOR1 ret nz ld a, $54 - ld [wd09f], a - ld bc, $0502 + ld [wNewTileBlockID], a + lb bc, 5, 2 predef_jump ReplaceTileBlock -DataTable_59d3e: ; 59d3e (16:5d3e) - db $02,$02,$05,$02,$FF +SilphCo2GateCoords: + db $02,$02 + db $05,$02 + db $FF -SilphCo2Script_59d43: ; 59d43 (16:5d43) +SilphCo2Script_59d43: push hl ld hl, wCardKeyDoorY ld a, [hli] @@ -72,175 +73,173 @@ SilphCo2Script_59d43: ; 59d43 (16:5d43) ld [$ffe0], a ret -SilphCo2Script_59d6f: ; 59d6f (16:5d6f) - ld hl, wd826 +SilphCo2Script_59d6f: + EventFlagAddress hl, EVENT_SILPH_CO_2_UNLOCKED_DOOR1 ld a, [$ffe0] and a ret z cp $1 - jr nz, .asm_59d7d - set 5, [hl] + jr nz, .next + SetEventReuseHL EVENT_SILPH_CO_2_UNLOCKED_DOOR1 ret -.asm_59d7d - set 6, [hl] +.next + SetEventAfterBranchReuseHL EVENT_SILPH_CO_2_UNLOCKED_DOOR2, EVENT_SILPH_CO_2_UNLOCKED_DOOR1 ret -SilphCo2ScriptPointers: ; 59d80 (16:5d80) +SilphCo2ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle -SilphCo2TextPointers: ; 59d86 (16:5d86) +SilphCo2TextPointers: dw SilphCo2Text1 dw SilphCo2Text2 dw SilphCo2Text3 dw SilphCo2Text4 dw SilphCo2Text5 -SilphCo2TrainerHeaders: ; 59d90 (16:5d90) -SilphCo2TrainerHeader0: ; 59d90 (16:5d90) - db $2 ; flag's bit +SilphCo2TrainerHeader0: + dbEventFlagBit EVENT_BEAT_SILPH_CO_2F_TRAINER_0 db ($3 << 4) ; trainer's view range - dw wd825 ; flag's byte - dw SilphCo2BattleText1 ; 0x5e2a TextBeforeBattle - dw SilphCo2AfterBattleText1 ; 0x5e34 TextAfterBattle - dw SilphCo2EndBattleText1 ; 0x5e2f TextEndBattle - dw SilphCo2EndBattleText1 ; 0x5e2f TextEndBattle - -SilphCo2TrainerHeader1: ; 59d9c (16:5d9c) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_SILPH_CO_2F_TRAINER_0 + dw SilphCo2BattleText1 ; TextBeforeBattle + dw SilphCo2AfterBattleText1 ; TextAfterBattle + dw SilphCo2EndBattleText1 ; TextEndBattle + dw SilphCo2EndBattleText1 ; TextEndBattle + +SilphCo2TrainerHeader1: + dbEventFlagBit EVENT_BEAT_SILPH_CO_2F_TRAINER_1 db ($4 << 4) ; trainer's view range - dw wd825 ; flag's byte - dw SilphCo2BattleText2 ; 0x5e39 TextBeforeBattle - dw SilphCo2AfterBattleText2 ; 0x5e43 TextAfterBattle - dw SilphCo2EndBattleText2 ; 0x5e3e TextEndBattle - dw SilphCo2EndBattleText2 ; 0x5e3e TextEndBattle - -SilphCo2TrainerHeader2: ; 59da8 (16:5da8) - db $4 ; flag's bit + dwEventFlagAddress EVENT_BEAT_SILPH_CO_2F_TRAINER_1 + dw SilphCo2BattleText2 ; TextBeforeBattle + dw SilphCo2AfterBattleText2 ; TextAfterBattle + dw SilphCo2EndBattleText2 ; TextEndBattle + dw SilphCo2EndBattleText2 ; TextEndBattle + +SilphCo2TrainerHeader2: + dbEventFlagBit EVENT_BEAT_SILPH_CO_2F_TRAINER_2 db ($3 << 4) ; trainer's view range - dw wd825 ; flag's byte - dw SilphCo2BattleText3 ; 0x5e48 TextBeforeBattle - dw SilphCo2AfterBattleText3 ; 0x5e52 TextAfterBattle - dw SilphCo2EndBattleText3 ; 0x5e4d TextEndBattle - dw SilphCo2EndBattleText3 ; 0x5e4d TextEndBattle - -SilphCo2TrainerHeader3: ; 59db4 (16:5db4) - db $5 ; flag's bit + dwEventFlagAddress EVENT_BEAT_SILPH_CO_2F_TRAINER_2 + dw SilphCo2BattleText3 ; TextBeforeBattle + dw SilphCo2AfterBattleText3 ; TextAfterBattle + dw SilphCo2EndBattleText3 ; TextEndBattle + dw SilphCo2EndBattleText3 ; TextEndBattle + +SilphCo2TrainerHeader3: + dbEventFlagBit EVENT_BEAT_SILPH_CO_2F_TRAINER_3 db ($3 << 4) ; trainer's view range - dw wd825 ; flag's byte - dw SilphCo2BattleText4 ; 0x5e57 TextBeforeBattle - dw SilphCo2AfterBattleText4 ; 0x5e61 TextAfterBattle - dw SilphCo2EndBattleText4 ; 0x5e5c TextEndBattle - dw SilphCo2EndBattleText4 ; 0x5e5c TextEndBattle + dwEventFlagAddress EVENT_BEAT_SILPH_CO_2F_TRAINER_3 + dw SilphCo2BattleText4 ; TextBeforeBattle + dw SilphCo2AfterBattleText4 ; TextAfterBattle + dw SilphCo2EndBattleText4 ; TextEndBattle + dw SilphCo2EndBattleText4 ; TextEndBattle db $ff -SilphCo2Text1: ; 59dc1 (16:5dc1) - db $08 ; asm - ld a, [wd826] - bit 7, a - jr nz, asm_b8a0d ; 0x59dc7 +SilphCo2Text1: + TX_ASM + CheckEvent EVENT_GOT_TM36 + jr nz, .asm_59de4 ld hl, SilphCo2Text_59ded call PrintText - ld bc, (TM_36 << 8) | 1 + lb bc, TM_36, 1 call GiveItem ld hl, TM36NoRoomText - jr nc, asm_2c1e0 ; 0x59dd8 - ld hl, wd826 - set 7, [hl] + jr nc, .asm_59de7 + SetEvent EVENT_GOT_TM36 ld hl, ReceivedTM36Text - jr asm_2c1e0 ; 0x59de2 -asm_b8a0d ; 0x59de4 + jr .asm_59de7 +.asm_59de4 ld hl, TM36ExplanationText -asm_2c1e0 ; 0x59de7 +.asm_59de7 call PrintText jp TextScriptEnd -SilphCo2Text_59ded: ; 59ded (16:5ded) +SilphCo2Text_59ded: TX_FAR _SilphCo2Text_59ded db "@" -ReceivedTM36Text: ; 59df2 (16:5df2) +ReceivedTM36Text: TX_FAR _ReceivedTM36Text - db $0B, "@" + TX_SFX_ITEM_1 + db "@" -TM36ExplanationText: ; 59df8 (16:5df8) +TM36ExplanationText: TX_FAR _TM36ExplanationText db "@" -TM36NoRoomText: ; 59dfd (16:5dfd) +TM36NoRoomText: TX_FAR _TM36NoRoomText db "@" -SilphCo2Text2: ; 59e02 (16:5e02) - db $08 ; asm +SilphCo2Text2: + TX_ASM ld hl, SilphCo2TrainerHeader0 call TalkToTrainer jp TextScriptEnd -SilphCo2Text3: ; 59e0c (16:5e0c) - db $08 ; asm +SilphCo2Text3: + TX_ASM ld hl, SilphCo2TrainerHeader1 call TalkToTrainer jp TextScriptEnd -SilphCo2Text4: ; 59e16 (16:5e16) - db $08 ; asm +SilphCo2Text4: + TX_ASM ld hl, SilphCo2TrainerHeader2 call TalkToTrainer jp TextScriptEnd -SilphCo2Text5: ; 59e20 (16:5e20) - db $08 ; asm +SilphCo2Text5: + TX_ASM ld hl, SilphCo2TrainerHeader3 call TalkToTrainer jp TextScriptEnd -SilphCo2BattleText1: ; 59e2a (16:5e2a) +SilphCo2BattleText1: TX_FAR _SilphCo2BattleText1 db "@" -SilphCo2EndBattleText1: ; 59e2f (16:5e2f) +SilphCo2EndBattleText1: TX_FAR _SilphCo2EndBattleText1 db "@" -SilphCo2AfterBattleText1: ; 59e34 (16:5e34) +SilphCo2AfterBattleText1: TX_FAR _SilphCo2AfterBattleText1 db "@" -SilphCo2BattleText2: ; 59e39 (16:5e39) +SilphCo2BattleText2: TX_FAR _SilphCo2BattleText2 db "@" -SilphCo2EndBattleText2: ; 59e3e (16:5e3e) +SilphCo2EndBattleText2: TX_FAR _SilphCo2EndBattleText2 db "@" -SilphCo2AfterBattleText2: ; 59e43 (16:5e43) +SilphCo2AfterBattleText2: TX_FAR _SilphCo2AfterBattleText2 db "@" -SilphCo2BattleText3: ; 59e48 (16:5e48) +SilphCo2BattleText3: TX_FAR _SilphCo2BattleText3 db "@" -SilphCo2EndBattleText3: ; 59e4d (16:5e4d) +SilphCo2EndBattleText3: TX_FAR _SilphCo2EndBattleText3 db "@" -SilphCo2AfterBattleText3: ; 59e52 (16:5e52) +SilphCo2AfterBattleText3: TX_FAR _SilphCo2AfterBattleText3 db "@" -SilphCo2BattleText4: ; 59e57 (16:5e57) +SilphCo2BattleText4: TX_FAR _SilphCo2BattleText4 db "@" -SilphCo2EndBattleText4: ; 59e5c (16:5e5c) +SilphCo2EndBattleText4: TX_FAR _SilphCo2EndBattleText4 db "@" -SilphCo2AfterBattleText4: ; 59e61 (16:5e61) +SilphCo2AfterBattleText4: TX_FAR _SilphCo2AfterBattleText4 db "@" diff --git a/scripts/silphco3.asm b/scripts/silphco3.asm index 7b0c67c1..0d12b768 100755 --- a/scripts/silphco3.asm +++ b/scripts/silphco3.asm @@ -1,137 +1,136 @@ -SilphCo3Script: ; 59f5b (16:5f5b) +SilphCo3Script: call SilphCo3Script_59f71 call EnableAutoTextBoxDrawing - ld hl, SilphCo3TrainerHeaders + ld hl, SilphCo3TrainerHeader0 ld de, SilphCo3ScriptPointers - ld a, [W_SILPHCO3CURSCRIPT] + ld a, [wSilphCo3CurScript] call ExecuteCurMapScriptInTable - ld [W_SILPHCO3CURSCRIPT], a + ld [wSilphCo3CurScript], a ret -SilphCo3Script_59f71: ; 59f71 (16:5f71) - ld hl, wd126 +SilphCo3Script_59f71: + ld hl, wCurrentMapScriptFlags bit 5, [hl] res 5, [hl] ret z - ld hl, DataTable_59fa8 ; $5fa8 + ld hl, SilphCo3GateCoords call SilphCo2Script_59d43 call SilphCo3Script_59fad - ld a, [wd828] - bit 0, a + CheckEvent EVENT_SILPH_CO_3_UNLOCKED_DOOR1 jr nz, .asm_59f98 push af ld a, $5f - ld [wd09f], a - ld bc, $404 + ld [wNewTileBlockID], a + lb bc, 4, 4 predef ReplaceTileBlock pop af .asm_59f98 - bit 1, a + CheckEventAfterBranchReuseA EVENT_SILPH_CO_3_UNLOCKED_DOOR2, EVENT_SILPH_CO_3_UNLOCKED_DOOR1 ret nz ld a, $5f - ld [wd09f], a - ld bc, $408 + ld [wNewTileBlockID], a + lb bc, 4, 8 predef_jump ReplaceTileBlock -DataTable_59fa8: ; 59fa8 (16:5fa8) - db $04,$04,$04,$08,$FF +SilphCo3GateCoords: + db $04,$04 + db $04,$08 + db $FF -SilphCo3Script_59fad: ; 59fad (16:5fad) - ld hl, wd828 +SilphCo3Script_59fad: + EventFlagAddress hl, EVENT_SILPH_CO_3_UNLOCKED_DOOR1 ld a, [$ffe0] and a ret z cp $1 - jr nz, .asm_59fbb - set 0, [hl] + jr nz, .next + SetEventReuseHL EVENT_SILPH_CO_3_UNLOCKED_DOOR1 ret -.asm_59fbb - set 1, [hl] +.next + SetEventAfterBranchReuseHL EVENT_SILPH_CO_3_UNLOCKED_DOOR2, EVENT_SILPH_CO_3_UNLOCKED_DOOR1 ret -SilphCo3ScriptPointers: ; 59fbe (16:5fbe) +SilphCo3ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle -SilphCo3TextPointers: ; 59fc4 (16:5fc4) +SilphCo3TextPointers: dw SilphCo3Text1 dw SilphCo3Text2 dw SilphCo3Text3 - dw Predef5CText + dw PickUpItemText -SilphCo3TrainerHeaders: ; 59fcc (16:5fcc) -SilphCo3TrainerHeader0: ; 59fcc (16:5fcc) - db $2 ; flag's bit +SilphCo3TrainerHeader0: + dbEventFlagBit EVENT_BEAT_SILPH_CO_3F_TRAINER_0 db ($2 << 4) ; trainer's view range - dw wd827 ; flag's byte - dw SilphCo3BattleText1 ; 0x600d TextBeforeBattle - dw SilphCo3AfterBattleText1 ; 0x6017 TextAfterBattle - dw SilphCo3EndBattleText1 ; 0x6012 TextEndBattle - dw SilphCo3EndBattleText1 ; 0x6012 TextEndBattle - -SilphCo3TrainerHeader1: ; 59fd8 (16:5fd8) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_SILPH_CO_3F_TRAINER_0 + dw SilphCo3BattleText1 ; TextBeforeBattle + dw SilphCo3AfterBattleText1 ; TextAfterBattle + dw SilphCo3EndBattleText1 ; TextEndBattle + dw SilphCo3EndBattleText1 ; TextEndBattle + +SilphCo3TrainerHeader1: + dbEventFlagBit EVENT_BEAT_SILPH_CO_3F_TRAINER_1 db ($3 << 4) ; trainer's view range - dw wd827 ; flag's byte - dw SilphCo3BattleText2 ; 0x6026 TextBeforeBattle - dw SilphCo3AfterBattleText2 ; 0x6030 TextAfterBattle - dw SilphCo3EndBattleText2 ; 0x602b TextEndBattle - dw SilphCo3EndBattleText2 ; 0x602b TextEndBattle + dwEventFlagAddress EVENT_BEAT_SILPH_CO_3F_TRAINER_1 + dw SilphCo3BattleText2 ; TextBeforeBattle + dw SilphCo3AfterBattleText2 ; TextAfterBattle + dw SilphCo3EndBattleText2 ; TextEndBattle + dw SilphCo3EndBattleText2 ; TextEndBattle db $ff -SilphCo3Text1: ; 59fe5 (16:5fe5) - db $08 ; asm - ld a, [wd838] - bit 7, a +SilphCo3Text1: + TX_ASM + CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI ld hl, SilphCo3Text_59ffe - jr nz, asm_8c56f ; 0x59fee + jr nz, .asm_59fee ld hl, SilphCo3Text_59ff9 -asm_8c56f ; 0x59ff3 +.asm_59fee call PrintText jp TextScriptEnd -SilphCo3Text_59ff9: ; 59ff9 (16:5ff9) +SilphCo3Text_59ff9: TX_FAR _SilphCo3Text_59ff9 db "@" -SilphCo3Text_59ffe: ; 59ffe (16:5ffe) +SilphCo3Text_59ffe: TX_FAR _SilphCo3Text_59ffe db "@" -SilphCo3Text2: ; 5a003 (16:6003) - db $08 ; asm +SilphCo3Text2: + TX_ASM ld hl, SilphCo3TrainerHeader0 call TalkToTrainer jp TextScriptEnd -SilphCo3BattleText1: ; 5a00d (16:600d) +SilphCo3BattleText1: TX_FAR _SilphCo3BattleText1 db "@" -SilphCo3EndBattleText1: ; 5a012 (16:6012) +SilphCo3EndBattleText1: TX_FAR _SilphCo3EndBattleText1 db "@" -SilphCo3AfterBattleText1: ; 5a017 (16:6017) +SilphCo3AfterBattleText1: TX_FAR _SilphCo3AfterBattleText1 db "@" -SilphCo3Text3: ; 5a01c (16:601c) - db $08 ; asm +SilphCo3Text3: + TX_ASM ld hl, SilphCo3TrainerHeader1 call TalkToTrainer jp TextScriptEnd -SilphCo3BattleText2: ; 5a026 (16:6026) +SilphCo3BattleText2: TX_FAR _SilphCo3BattleText2 db "@" -SilphCo3EndBattleText2: ; 5a02b (16:602b) +SilphCo3EndBattleText2: TX_FAR _SilphCo3EndBattleText2 db "@" -SilphCo3AfterBattleText2: ; 5a030 (16:6030) +SilphCo3AfterBattleText2: TX_FAR _SilphCo3AfterBattleText2 db "@" diff --git a/scripts/silphco4.asm b/scripts/silphco4.asm index 15a46dd3..1cfd1ceb 100755 --- a/scripts/silphco4.asm +++ b/scripts/silphco4.asm @@ -1,42 +1,43 @@ -SilphCo4Script: ; 19d0b (6:5d0b) +SilphCo4Script: call SilphCo4Script_19d21 call EnableAutoTextBoxDrawing - ld hl, SilphCo4TrainerHeaders + ld hl, SilphCo4TrainerHeader0 ld de, SilphCo4ScriptPointers - ld a, [W_SILPHCO4CURSCRIPT] + ld a, [wSilphCo4CurScript] call ExecuteCurMapScriptInTable - ld [W_SILPHCO4CURSCRIPT], a + ld [wSilphCo4CurScript], a ret -SilphCo4Script_19d21: ; 19d21 (6:5d21) - ld hl, wd126 +SilphCo4Script_19d21: + ld hl, wCurrentMapScriptFlags bit 5, [hl] res 5, [hl] ret z - ld hl, SilphCo4Data19d58 + ld hl, SilphCo4GateCoords call SilphCo4Script_19d5d call SilphCo4Script_19d89 - ld a, [wd82a] - bit 0, a + CheckEvent EVENT_SILPH_CO_4_UNLOCKED_DOOR1 jr nz, .asm_19d48 push af ld a, $54 - ld [wd09f], a - ld bc, $0602 + ld [wNewTileBlockID], a + lb bc, 6, 2 predef ReplaceTileBlock pop af .asm_19d48 - bit 1, a + CheckEventAfterBranchReuseA EVENT_SILPH_CO_4_UNLOCKED_DOOR2, EVENT_SILPH_CO_4_UNLOCKED_DOOR1 ret nz ld a, $54 - ld [wd09f], a - ld bc, $0406 + ld [wNewTileBlockID], a + lb bc, 4, 6 predef_jump ReplaceTileBlock -SilphCo4Data19d58: ; 19d58 (6:5d58) - db $06, $02, $04, $06, $ff +SilphCo4GateCoords: + db $06,$02 + db $04,$06 + db $FF -SilphCo4Script_19d5d: ; 19d5d (6:5d5d) +SilphCo4Script_19d5d: push hl ld hl, wCardKeyDoorY ld a, [hli] @@ -49,19 +50,19 @@ SilphCo4Script_19d5d: ; 19d5d (6:5d5d) .asm_19d69 ld a, [hli] cp $ff - jr z, .asm_19d85 ; 0x19d6c $17 + jr z, .asm_19d85 push hl ld hl, $ffe0 inc [hl] pop hl cp b - jr z, .asm_19d7a ; 0x19d75 $3 + jr z, .asm_19d7a inc hl - jr .asm_19d69 ; 0x19d78 $ef + jr .asm_19d69 .asm_19d7a ld a, [hli] cp c - jr nz, .asm_19d69 ; 0x19d7c $eb + jr nz, .asm_19d69 ld hl, wCardKeyDoorY xor a ld [hli], a @@ -72,128 +73,127 @@ SilphCo4Script_19d5d: ; 19d5d (6:5d5d) ld [$ffe0], a ret -SilphCo4Script_19d89: ; 19d89 (6:5d89) - ld hl, wd82a +SilphCo4Script_19d89: + EventFlagAddress hl, EVENT_SILPH_CO_4_UNLOCKED_DOOR1 ld a, [$ffe0] and a ret z cp $1 - jr nz, .asm_19d97 ; 0x19d92 $3 - set 0, [hl] + jr nz, .next + SetEventReuseHL EVENT_SILPH_CO_4_UNLOCKED_DOOR1 ret -.asm_19d97 - set 1, [hl] +.next + SetEventAfterBranchReuseHL EVENT_SILPH_CO_4_UNLOCKED_DOOR2, EVENT_SILPH_CO_4_UNLOCKED_DOOR1 ret -SilphCo4ScriptPointers: ; 19d9a (6:5d9a) +SilphCo4ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle -SilphCo4TextPointers: ; 19da0 (6:5da0) +SilphCo4TextPointers: dw SilphCo4Text1 dw SilphCo4Text2 dw SilphCo4Text3 dw SilphCo4Text4 - dw Predef5CText - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText -SilphCo4TrainerHeaders: ; 19dae (6:5dae) -SilphCo4TrainerHeader0: ; 19dae (6:5dae) - db $2 ; flag's bit +SilphCo4TrainerHeader0: + dbEventFlagBit EVENT_BEAT_SILPH_CO_4F_TRAINER_0 db ($4 << 4) ; trainer's view range - dw wd829 ; flag's byte - dw SilphCo4BattleText2 ; 0x5df4 TextBeforeBattle - dw SilphCo4AfterBattleText2 ; 0x5dfe TextAfterBattle - dw SilphCo4EndBattleText2 ; 0x5df9 TextEndBattle - dw SilphCo4EndBattleText2 ; 0x5df9 TextEndBattle - -SilphCo4TrainerHeader2: ; 19dba (6:5dba) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_SILPH_CO_4F_TRAINER_0 + dw SilphCo4BattleText2 ; TextBeforeBattle + dw SilphCo4AfterBattleText2 ; TextAfterBattle + dw SilphCo4EndBattleText2 ; TextEndBattle + dw SilphCo4EndBattleText2 ; TextEndBattle + +SilphCo4TrainerHeader1: + dbEventFlagBit EVENT_BEAT_SILPH_CO_4F_TRAINER_1 db ($3 << 4) ; trainer's view range - dw wd829 ; flag's byte - dw SilphCo4BattleText3 ; 0x5e0d TextBeforeBattle - dw SilphCo4AfterBattleText3 ; 0x5e17 TextAfterBattle - dw SilphCo4EndBattleText3 ; 0x5e12 TextEndBattle - dw SilphCo4EndBattleText3 ; 0x5e12 TextEndBattle - -SilphCo4TrainerHeader3: ; 19dc6 (6:5dc6) - db $4 ; flag's bit + dwEventFlagAddress EVENT_BEAT_SILPH_CO_4F_TRAINER_1 + dw SilphCo4BattleText3 ; TextBeforeBattle + dw SilphCo4AfterBattleText3 ; TextAfterBattle + dw SilphCo4EndBattleText3 ; TextEndBattle + dw SilphCo4EndBattleText3 ; TextEndBattle + +SilphCo4TrainerHeader2: + dbEventFlagBit EVENT_BEAT_SILPH_CO_4F_TRAINER_2 db ($4 << 4) ; trainer's view range - dw wd829 ; flag's byte - dw SilphCo4BattleText4 ; 0x5e26 TextBeforeBattle - dw SilphCo4AfterBattleText4 ; 0x5e30 TextAfterBattle - dw SilphCo4EndBattleText4 ; 0x5e2b TextEndBattle - dw SilphCo4EndBattleText4 ; 0x5e2b TextEndBattle + dwEventFlagAddress EVENT_BEAT_SILPH_CO_4F_TRAINER_2 + dw SilphCo4BattleText4 ; TextBeforeBattle + dw SilphCo4AfterBattleText4 ; TextAfterBattle + dw SilphCo4EndBattleText4 ; TextEndBattle + dw SilphCo4EndBattleText4 ; TextEndBattle db $ff -SilphCo4Text1: ; 19dd3 (6:5dd3) - db $08 ; asm +SilphCo4Text1: + TX_ASM ld hl, SilphCo4Text_19de0 ld de, SilphCo4Text_19de5 call SilphCo6Script_1a22f jp TextScriptEnd -SilphCo4Text_19de0: ; 19de0 (6:5de0) +SilphCo4Text_19de0: TX_FAR _SilphCo4Text_19de0 db "@" -SilphCo4Text_19de5: ; 19de5 (6:5de5) +SilphCo4Text_19de5: TX_FAR _SilphCo4Text_19de5 db "@" -SilphCo4Text2: ; 19dea (6:5dea) - db $08 ; asm +SilphCo4Text2: + TX_ASM ld hl, SilphCo4TrainerHeader0 call TalkToTrainer jp TextScriptEnd -SilphCo4BattleText2: ; 19df4 (6:5df4) +SilphCo4BattleText2: TX_FAR _SilphCo4BattleText2 db "@" -SilphCo4EndBattleText2: ; 19df9 (6:5df9) +SilphCo4EndBattleText2: TX_FAR _SilphCo4EndBattleText2 db "@" -SilphCo4AfterBattleText2: ; 19dfe (6:5dfe) +SilphCo4AfterBattleText2: TX_FAR _SilphCo4AfterBattleText2 db "@" -SilphCo4Text3: ; 19e03 (6:5e03) - db $08 ; asm - ld hl, SilphCo4TrainerHeader2 +SilphCo4Text3: + TX_ASM + ld hl, SilphCo4TrainerHeader1 call TalkToTrainer jp TextScriptEnd -SilphCo4BattleText3: ; 19e0d (6:5e0d) +SilphCo4BattleText3: TX_FAR _SilphCo4BattleText3 db "@" -SilphCo4EndBattleText3: ; 19e12 (6:5e12) +SilphCo4EndBattleText3: TX_FAR _SilphCo4EndBattleText3 db "@" -SilphCo4AfterBattleText3: ; 19e17 (6:5e17) +SilphCo4AfterBattleText3: TX_FAR _SilphCo4AfterBattleText3 db "@" -SilphCo4Text4: ; 19e1c (6:5e1c) - db $08 ; asm - ld hl, SilphCo4TrainerHeader3 +SilphCo4Text4: + TX_ASM + ld hl, SilphCo4TrainerHeader2 call TalkToTrainer jp TextScriptEnd -SilphCo4BattleText4: ; 19e26 (6:5e26) +SilphCo4BattleText4: TX_FAR _SilphCo4BattleText4 db "@" -SilphCo4EndBattleText4: ; 19e2b (6:5e2b) +SilphCo4EndBattleText4: TX_FAR _SilphCo4EndBattleText4 db "@" -SilphCo4AfterBattleText4: ; 19e30 (6:5e30) +SilphCo4AfterBattleText4: TX_FAR _SilphCo4AfterBattleText4 db "@" diff --git a/scripts/silphco5.asm b/scripts/silphco5.asm index 0b63708b..45a81b68 100755 --- a/scripts/silphco5.asm +++ b/scripts/silphco5.asm @@ -1,220 +1,221 @@ -SilphCo5Script: ; 19f37 (6:5f37) +SilphCo5Script: call SilphCo5Script_19f4d call EnableAutoTextBoxDrawing - ld hl, SilphCo5TrainerHeaders + ld hl, SilphCo5TrainerHeader0 ld de, SilphCo5ScriptPointers - ld a, [W_SILPHCO5CURSCRIPT] + ld a, [wSilphCo5CurScript] call ExecuteCurMapScriptInTable - ld [W_SILPHCO5CURSCRIPT], a + ld [wSilphCo5CurScript], a ret -SilphCo5Script_19f4d: ; 19f4d (6:5f4d) - ld hl, wd126 +SilphCo5Script_19f4d: + ld hl, wCurrentMapScriptFlags bit 5, [hl] res 5, [hl] ret z - ld hl, SilphCo5Coords + ld hl, SilphCo5GateCoords call SilphCo4Script_19d5d call SilphCo5Script_19f9e - ld a, [wd82c] - bit 0, a - jr nz, .asm_19f74 ; 0x19f63 $f + CheckEvent EVENT_SILPH_CO_5_UNLOCKED_DOOR1 + jr nz, .asm_19f74 push af ld a, $5f - ld [wd09f], a - ld bc, $0203 + ld [wNewTileBlockID], a + lb bc, 2, 3 predef ReplaceTileBlock pop af .asm_19f74 - bit 1, a - jr nz, .asm_19f87 ; 0x19f76 $f + CheckEventAfterBranchReuseA EVENT_SILPH_CO_5_UNLOCKED_DOOR2, EVENT_SILPH_CO_5_UNLOCKED_DOOR1 + jr nz, .asm_19f87 push af ld a, $5f - ld [wd09f], a - ld bc, $0603 + ld [wNewTileBlockID], a + lb bc, 6, 3 predef ReplaceTileBlock pop af .asm_19f87 - bit 2, a + CheckEventAfterBranchReuseA EVENT_SILPH_CO_5_UNLOCKED_DOOR3, EVENT_SILPH_CO_5_UNLOCKED_DOOR2 ret nz ld a, $5f - ld [wd09f], a - ld bc, $0507 + ld [wNewTileBlockID], a + lb bc, 5, 7 predef_jump ReplaceTileBlock -SilphCo5Coords: ; 19f97 (6:5f97) ; coords? - db $02, $03, $06, $03, $05, $07, $ff +SilphCo5GateCoords: + db $02,$03 + db $06,$03 + db $05,$07 + db $FF -SilphCo5Script_19f9e: ; 19f9e (6:5f9e) - ld hl, wd82c +SilphCo5Script_19f9e: + EventFlagAddress hl, EVENT_SILPH_CO_5_UNLOCKED_DOOR1 ld a, [$ffe0] and a ret z cp $1 - jr nz, .asm_19fac ; 0x19fa7 $3 - set 0, [hl] + jr nz, .next1 + SetEventReuseHL EVENT_SILPH_CO_5_UNLOCKED_DOOR1 ret -.asm_19fac +.next1 cp $2 - jr nz, .asm_19fb3 ; 0x19fae $3 - set 1, [hl] + jr nz, .next2 + SetEventAfterBranchReuseHL EVENT_SILPH_CO_5_UNLOCKED_DOOR2, EVENT_SILPH_CO_5_UNLOCKED_DOOR1 ret -.asm_19fb3 - set 2, [hl] +.next2 + SetEventAfterBranchReuseHL EVENT_SILPH_CO_5_UNLOCKED_DOOR3, EVENT_SILPH_CO_5_UNLOCKED_DOOR1 ret -SilphCo5ScriptPointers: ; 19fb6 (6:5fb6) +SilphCo5ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle -SilphCo5TextPointers: ; 19fbc (6:5fbc) +SilphCo5TextPointers: dw SilphCo5Text1 dw SilphCo5Text2 dw SilphCo5Text3 dw SilphCo5Text4 dw SilphCo5Text5 - dw Predef5CText - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText dw SilphCo5Text9 dw SilphCo5Text10 dw SilphCo5Text11 -SilphCo5TrainerHeaders: ; 19fd2 (6:5fd2) -Silphco5TrainerHeader0: ; 19fd2 (6:5fd2) - db $2 ; flag's bit +SilphCo5TrainerHeader0: + dbEventFlagBit EVENT_BEAT_SILPH_CO_5F_TRAINER_0 db ($1 << 4) ; trainer's view range - dw wd82b ; flag's byte - dw SilphCo5BattleText2 ; 0x6024 TextBeforeBattle - dw SilphCo5AfterBattleText2 ; 0x602e TextAfterBattle - dw SilphCo5EndBattleText2 ; 0x6029 TextEndBattle - dw SilphCo5EndBattleText2 ; 0x6029 TextEndBattle - -Silphco5TrainerHeader2: ; 19fde (6:5fde) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_SILPH_CO_5F_TRAINER_0 + dw SilphCo5BattleText2 ; TextBeforeBattle + dw SilphCo5AfterBattleText2 ; TextAfterBattle + dw SilphCo5EndBattleText2 ; TextEndBattle + dw SilphCo5EndBattleText2 ; TextEndBattle + +SilphCo5TrainerHeader1: + dbEventFlagBit EVENT_BEAT_SILPH_CO_5F_TRAINER_1 db ($2 << 4) ; trainer's view range - dw wd82b ; flag's byte - dw SilphCo5BattleText3 ; 0x603d TextBeforeBattle - dw SilphCo5AfterBattleText3 ; 0x6047 TextAfterBattle - dw SilphCo5EndBattleText3 ; 0x6042 TextEndBattle - dw SilphCo5EndBattleText3 ; 0x6042 TextEndBattle - -Silphco5TrainerHeader3: ; 19fea (6:5fea) - db $4 ; flag's bit + dwEventFlagAddress EVENT_BEAT_SILPH_CO_5F_TRAINER_1 + dw SilphCo5BattleText3 ; TextBeforeBattle + dw SilphCo5AfterBattleText3 ; TextAfterBattle + dw SilphCo5EndBattleText3 ; TextEndBattle + dw SilphCo5EndBattleText3 ; TextEndBattle + +SilphCo5TrainerHeader2: + dbEventFlagBit EVENT_BEAT_SILPH_CO_5F_TRAINER_2 db ($4 << 4) ; trainer's view range - dw wd82b ; flag's byte - dw SilphCo5BattleText4 ; 0x6056 TextBeforeBattle - dw SilphCo5AfterBattleText4 ; 0x6060 TextAfterBattle - dw SilphCo5EndBattleText4 ; 0x605b TextEndBattle - dw SilphCo5EndBattleText4 ; 0x605b TextEndBattle - -Silphco5TrainerHeader4: ; 19ff6 (6:5ff6) - db $5 ; flag's bit + dwEventFlagAddress EVENT_BEAT_SILPH_CO_5F_TRAINER_2 + dw SilphCo5BattleText4 ; TextBeforeBattle + dw SilphCo5AfterBattleText4 ; TextAfterBattle + dw SilphCo5EndBattleText4 ; TextEndBattle + dw SilphCo5EndBattleText4 ; TextEndBattle + +SilphCo5TrainerHeader3: + dbEventFlagBit EVENT_BEAT_SILPH_CO_5F_TRAINER_3 db ($3 << 4) ; trainer's view range - dw wd82b ; flag's byte - dw SilphCo5BattleText5 ; 0x606f TextBeforeBattle - dw SilphCo5AfterBattleText5 ; 0x6079 TextAfterBattle - dw SilphCo5EndBattleText5 ; 0x6074 TextEndBattle - dw SilphCo5EndBattleText5 ; 0x6074 TextEndBattle + dwEventFlagAddress EVENT_BEAT_SILPH_CO_5F_TRAINER_3 + dw SilphCo5BattleText5 ; TextBeforeBattle + dw SilphCo5AfterBattleText5 ; TextAfterBattle + dw SilphCo5EndBattleText5 ; TextEndBattle + dw SilphCo5EndBattleText5 ; TextEndBattle db $ff -SilphCo5Text1: ; 1a003 (6:6003) - db $08 ; asm +SilphCo5Text1: + TX_ASM ld hl, SilphCo5Text_1a010 ld de, SilphCo5Text_1a015 call SilphCo6Script_1a22f jp TextScriptEnd -SilphCo5Text_1a010: ; 1a010 (6:6010) +SilphCo5Text_1a010: TX_FAR _SilphCo5Text_1a010 db "@" -SilphCo5Text_1a015: ; 1a015 (6:6015) +SilphCo5Text_1a015: TX_FAR _SilphCo5Text_1a015 db "@" -SilphCo5Text2: ; 1a01a (6:601a) - db $08 ; asm - ld hl, Silphco5TrainerHeader0 +SilphCo5Text2: + TX_ASM + ld hl, SilphCo5TrainerHeader0 call TalkToTrainer jp TextScriptEnd -SilphCo5BattleText2: ; 1a024 (6:6024) +SilphCo5BattleText2: TX_FAR _SilphCo5BattleText2 db "@" -SilphCo5EndBattleText2: ; 1a029 (6:6029) +SilphCo5EndBattleText2: TX_FAR _SilphCo5EndBattleText2 db "@" -SilphCo5AfterBattleText2: ; 1a02e (6:602e) +SilphCo5AfterBattleText2: TX_FAR _SilphCo5AfterBattleText2 db "@" -SilphCo5Text3: ; 1a033 (6:6033) - db $08 ; asm - ld hl, Silphco5TrainerHeader2 +SilphCo5Text3: + TX_ASM + ld hl, SilphCo5TrainerHeader1 call TalkToTrainer jp TextScriptEnd -SilphCo5BattleText3: ; 1a03d (6:603d) +SilphCo5BattleText3: TX_FAR _SilphCo5BattleText3 db "@" -SilphCo5EndBattleText3: ; 1a042 (6:6042) +SilphCo5EndBattleText3: TX_FAR _SilphCo5EndBattleText3 db "@" -SilphCo5AfterBattleText3: ; 1a047 (6:6047) +SilphCo5AfterBattleText3: TX_FAR _SilphCo5AfterBattleText3 db "@" -SilphCo5Text4: ; 1a04c (6:604c) - db $08 ; asm - ld hl, Silphco5TrainerHeader3 +SilphCo5Text4: + TX_ASM + ld hl, SilphCo5TrainerHeader2 call TalkToTrainer jp TextScriptEnd -SilphCo5BattleText4: ; 1a056 (6:6056) +SilphCo5BattleText4: TX_FAR _SilphCo5BattleText4 db "@" -SilphCo5EndBattleText4: ; 1a05b (6:605b) +SilphCo5EndBattleText4: TX_FAR _SilphCo5EndBattleText4 db "@" -SilphCo5AfterBattleText4: ; 1a060 (6:6060) +SilphCo5AfterBattleText4: TX_FAR _SilphCo5AfterBattleText4 db "@" -SilphCo5Text5: ; 1a065 (6:6065) - db $08 ; asm - ld hl, Silphco5TrainerHeader4 +SilphCo5Text5: + TX_ASM + ld hl, SilphCo5TrainerHeader3 call TalkToTrainer jp TextScriptEnd -SilphCo5BattleText5: ; 1a06f (6:606f) +SilphCo5BattleText5: TX_FAR _SilphCo5BattleText5 db "@" -SilphCo5EndBattleText5: ; 1a074 (6:6074) +SilphCo5EndBattleText5: TX_FAR _SilphCo5EndBattleText5 db "@" -SilphCo5AfterBattleText5: ; 1a079 (6:6079) +SilphCo5AfterBattleText5: TX_FAR _SilphCo5AfterBattleText5 db "@" -SilphCo5Text9: ; 1a07e (6:607e) +SilphCo5Text9: TX_FAR _SilphCo5Text9 db "@" -SilphCo5Text10: ; 1a083 (6:6083) +SilphCo5Text10: TX_FAR _SilphCo5Text10 db "@" -SilphCo5Text11: ; 1a088 (6:6088) +SilphCo5Text11: TX_FAR _SilphCo5Text11 db "@" diff --git a/scripts/silphco6.asm b/scripts/silphco6.asm index 137e31be..240b6793 100755 --- a/scripts/silphco6.asm +++ b/scripts/silphco6.asm @@ -1,47 +1,45 @@ -SilphCo6Script: ; 1a1a9 (6:61a9) +SilphCo6Script: call SilphCo6Script_1a1bf call EnableAutoTextBoxDrawing - ld hl, SilphCo6TrainerHeaders + ld hl, SilphCo6TrainerHeader0 ld de, SilphCo6ScriptPointers - ld a, [W_SILPHCO6CURSCRIPT] + ld a, [wSilphCo6CurScript] call ExecuteCurMapScriptInTable - ld [W_SILPHCO6CURSCRIPT], a + ld [wSilphCo6CurScript], a ret -SilphCo6Script_1a1bf: ; 1a1bf (6:61bf) - ld hl, wd126 +SilphCo6Script_1a1bf: + ld hl, wCurrentMapScriptFlags bit 5, [hl] res 5, [hl] ret z - ld hl, SilphCo6Coords1 + ld hl, SilphCo6GateCoords call SilphCo4Script_19d5d call SilphCo6Script_1a1e6 - ld a, [wd82e] - bit 7, a + CheckEvent EVENT_SILPH_CO_6_UNLOCKED_DOOR ret nz ld a, $5f - ld [wd09f], a - ld bc, $0602 + ld [wNewTileBlockID], a + lb bc, 6, 2 predef_jump ReplaceTileBlock -SilphCo6Coords1: ; 1a1e3 (6:61e3) - db $06, $02 - db $ff +SilphCo6GateCoords: + db $06,$02 + db $FF -SilphCo6Script_1a1e6: ; 1a1e6 (6:61e6) +SilphCo6Script_1a1e6: ld a, [$ffe0] and a ret z - ld hl, wd82e - set 7, [hl] + SetEvent EVENT_SILPH_CO_6_UNLOCKED_DOOR ret -SilphCo6ScriptPointers: ; 1a1f0 (6:61f0) +SilphCo6ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle -SilphCo6TextPointers: ; 1a1f6 (6:61f6) +SilphCo6TextPointers: dw SilphCo6Text1 dw SilphCo6Text2 dw SilphCo6Text3 @@ -50,175 +48,173 @@ SilphCo6TextPointers: ; 1a1f6 (6:61f6) dw SilphCo6Text6 dw SilphCo6Text7 dw SilphCo6Text8 - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText -SilphCo6TrainerHeaders: ; 1a20a (6:620a) -SilphCo6TrainerHeader0: ; 1a20a (6:620a) - db $6 ; flag's bit +SilphCo6TrainerHeader0: + dbEventFlagBit EVENT_BEAT_SILPH_CO_6F_TRAINER_0 db ($2 << 4) ; trainer's view range - dw wd82d ; flag's byte - dw SilphCo6BattleText2 ; 0x62ba TextBeforeBattle - dw SilphCo6AfterBattleText2 ; 0x62c4 TextAfterBattle - dw SilphCo6EndBattleText2 ; 0x62bf TextEndBattle - dw SilphCo6EndBattleText2 ; 0x62bf TextEndBattle - -SilphCo6TrainerHeader2: ; 1a216 (6:6216) - db $7 ; flag's bit + dwEventFlagAddress EVENT_BEAT_SILPH_CO_6F_TRAINER_0 + dw SilphCo6BattleText2 ; TextBeforeBattle + dw SilphCo6AfterBattleText2 ; TextAfterBattle + dw SilphCo6EndBattleText2 ; TextEndBattle + dw SilphCo6EndBattleText2 ; TextEndBattle + +SilphCo6TrainerHeader1: + dbEventFlagBit EVENT_BEAT_SILPH_CO_6F_TRAINER_1 db ($3 << 4) ; trainer's view range - dw wd82d ; flag's byte - dw SilphCo6BattleText3 ; 0x62d3 TextBeforeBattle - dw SilphCo6AfterBattleText3 ; 0x62dd TextAfterBattle - dw SilphCo6EndBattleText3 ; 0x62d8 TextEndBattle - dw SilphCo6EndBattleText3 ; 0x62d8 TextEndBattle - -SilphCo6TrainerHeader3: ; 1a222 (6:6222) - db $8 ; flag's bit + dwEventFlagAddress EVENT_BEAT_SILPH_CO_6F_TRAINER_1 + dw SilphCo6BattleText3 ; TextBeforeBattle + dw SilphCo6AfterBattleText3 ; TextAfterBattle + dw SilphCo6EndBattleText3 ; TextEndBattle + dw SilphCo6EndBattleText3 ; TextEndBattle + +SilphCo6TrainerHeader2: + dbEventFlagBit EVENT_BEAT_SILPH_CO_6F_TRAINER_2, 1 db ($2 << 4) ; trainer's view range - dw wd82d ; flag's byte - dw SilphCo6BattleText4 ; 0x62ec TextBeforeBattle - dw SilphCo6AfterBattleText4 ; 0x62f6 TextAfterBattle - dw SilphCo6EndBattleText4 ; 0x62f1 TextEndBattle - dw SilphCo6EndBattleText4 ; 0x62f1 TextEndBattle + dwEventFlagAddress EVENT_BEAT_SILPH_CO_6F_TRAINER_2, 1 + dw SilphCo6BattleText4 ; TextBeforeBattle + dw SilphCo6AfterBattleText4 ; TextAfterBattle + dw SilphCo6EndBattleText4 ; TextEndBattle + dw SilphCo6EndBattleText4 ; TextEndBattle db $ff -SilphCo6Script_1a22f: ; 1a22f (6:622f) - ld a, [wd838] - bit 7, a - jr nz, .asm_1a238 ; 0x1a234 $2 - jr .asm_1a23a ; 0x1a236 $2 +SilphCo6Script_1a22f: + CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI + jr nz, .asm_1a238 + jr .asm_1a23a .asm_1a238 ld h, d ld l, e .asm_1a23a jp PrintText -SilphCo6Text1: ; 1a23d (6:623d) - db $08 ; asm +SilphCo6Text1: + TX_ASM ld hl, SilphCo6Text_1a24a ld de, SilphCo6Text_1a24f call SilphCo6Script_1a22f jp TextScriptEnd -SilphCo6Text_1a24a: ; 1a24a (6:624a) +SilphCo6Text_1a24a: TX_FAR _SilphCo6Text_1a24a db "@" -SilphCo6Text_1a24f: ; 1a24f (6:624f) +SilphCo6Text_1a24f: TX_FAR _SilphCo6Text_1a24f db "@" -SilphCo6Text2: ; 1a254 (6:6254) - db $08 ; asm +SilphCo6Text2: + TX_ASM ld hl, SilphCo6Text_1a261 ld de, SilphCo6Text_1a266 call SilphCo6Script_1a22f jp TextScriptEnd -SilphCo6Text_1a261: ; 1a261 (6:6261) +SilphCo6Text_1a261: TX_FAR _SilphCo6Text_1a261 db "@" -SilphCo6Text_1a266: ; 1a266 (6:6266) +SilphCo6Text_1a266: TX_FAR _SilphCo6Text_1a266 db "@" -SilphCo6Text3: ; 1a26b (6:626b) - db $08 ; asm +SilphCo6Text3: + TX_ASM ld hl, SilphCo6Text_1a278 ld de, SilphCo6Text_1a27d call SilphCo6Script_1a22f jp TextScriptEnd -SilphCo6Text_1a278: ; 1a278 (6:6278) +SilphCo6Text_1a278: TX_FAR _SilphCo6Text_1a278 db "@" -SilphCo6Text_1a27d: ; 1a27d (6:627d) +SilphCo6Text_1a27d: TX_FAR _SilphCo6Text_1a27d db "@" -SilphCo6Text4: ; 1a282 (6:6282) - db $08 ; asm +SilphCo6Text4: + TX_ASM ld hl, SilphCo6Text_1a28f ld de, SilphCo6Text_1a294 call SilphCo6Script_1a22f jp TextScriptEnd -SilphCo6Text_1a28f: ; 1a28f (6:628f) +SilphCo6Text_1a28f: TX_FAR _SilphCo6Text_1a28f db "@" -SilphCo6Text_1a294: ; 1a294 (6:6294) +SilphCo6Text_1a294: TX_FAR _SilphCo6Text_1a294 db "@" -SilphCo6Text5: ; 1a299 (6:6299) - db $08 ; asm +SilphCo6Text5: + TX_ASM ld hl, SilphCo6Text_1a2a6 ld de, SilphCo6Text_1a2ab call SilphCo6Script_1a22f jp TextScriptEnd -SilphCo6Text_1a2a6: ; 1a2a6 (6:62a6) +SilphCo6Text_1a2a6: TX_FAR _SilphCo6Text_1a2a6 db "@" -SilphCo6Text_1a2ab: ; 1a2ab (6:62ab) +SilphCo6Text_1a2ab: TX_FAR _SilphCo6Text_1a2ab db "@" -SilphCo6Text6: ; 1a2b0 (6:62b0) - db $08 ; asm +SilphCo6Text6: + TX_ASM ld hl, SilphCo6TrainerHeader0 call TalkToTrainer jp TextScriptEnd -SilphCo6BattleText2: ; 1a2ba (6:62ba) +SilphCo6BattleText2: TX_FAR _SilphCo6BattleText2 db "@" -SilphCo6EndBattleText2: ; 1a2bf (6:62bf) +SilphCo6EndBattleText2: TX_FAR _SilphCo6EndBattleText2 db "@" -SilphCo6AfterBattleText2: ; 1a2c4 (6:62c4) +SilphCo6AfterBattleText2: TX_FAR _SilphCo6AfterBattleText2 db "@" -SilphCo6Text7: ; 1a2c9 (6:62c9) - db $08 ; asm - ld hl, SilphCo6TrainerHeader2 +SilphCo6Text7: + TX_ASM + ld hl, SilphCo6TrainerHeader1 call TalkToTrainer jp TextScriptEnd -SilphCo6BattleText3: ; 1a2d3 (6:62d3) +SilphCo6BattleText3: TX_FAR _SilphCo6BattleText3 db "@" -SilphCo6EndBattleText3: ; 1a2d8 (6:62d8) +SilphCo6EndBattleText3: TX_FAR _SilphCo6EndBattleText3 db "@" -SilphCo6AfterBattleText3: ; 1a2dd (6:62dd) +SilphCo6AfterBattleText3: TX_FAR _SilphCo6AfterBattleText3 db "@" -SilphCo6Text8: ; 1a2e2 (6:62e2) - db $08 ; asm - ld hl, SilphCo6TrainerHeader3 +SilphCo6Text8: + TX_ASM + ld hl, SilphCo6TrainerHeader2 call TalkToTrainer jp TextScriptEnd -SilphCo6BattleText4: ; 1a2ec (6:62ec) +SilphCo6BattleText4: TX_FAR _SilphCo6BattleText4 db "@" -SilphCo6EndBattleText4: ; 1a2f1 (6:62f1) +SilphCo6EndBattleText4: TX_FAR _SilphCo6EndBattleText4 db "@" -SilphCo6AfterBattleText4: ; 1a2f6 (6:62f6) +SilphCo6AfterBattleText4: TX_FAR _SilphCo6AfterBattleText4 db "@" 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 "@" diff --git a/scripts/silphco8.asm b/scripts/silphco8.asm index ebca9b95..498fd569 100755 --- a/scripts/silphco8.asm +++ b/scripts/silphco8.asm @@ -1,33 +1,33 @@ -SilphCo8Script: ; 56504 (15:6504) +SilphCo8Script: call SilphCo8Script_5651a call EnableAutoTextBoxDrawing ld hl, SilphCo8TrainerHeader0 ld de, SilphCo8ScriptPointers - ld a, [W_SILPHCO8CURSCRIPT] + ld a, [wSilphCo8CurScript] call ExecuteCurMapScriptInTable - ld [W_SILPHCO8CURSCRIPT], a + ld [wSilphCo8CurScript], a ret -SilphCo8Script_5651a: ; 5651a (15:651a) - ld hl, wd126 +SilphCo8Script_5651a: + ld hl, wCurrentMapScriptFlags bit 5, [hl] res 5, [hl] ret z - ld hl, DataTable_5653e ; $653e + ld hl, SilphCo8GateCoords call SilphCo8Script_56541 call SilphCo8Script_5656d - ld a, [wd832] - bit 0, a + CheckEvent EVENT_SILPH_CO_8_UNLOCKED_DOOR ret nz ld a, $5f - ld [wd09f], a - ld bc, $403 + ld [wNewTileBlockID], a + lb bc, 4, 3 predef_jump ReplaceTileBlock -DataTable_5653e: ; 5653e (15:653e) - db $04,$03,$FF +SilphCo8GateCoords: + db $04,$03 + db $FF -SilphCo8Script_56541: ; 56541 (15:6541) +SilphCo8Script_56541: push hl ld hl, wCardKeyDoorY ld a, [hli] @@ -63,124 +63,121 @@ SilphCo8Script_56541: ; 56541 (15:6541) ld [$ffe0], a ret -SilphCo8Script_5656d: ; 5656d (15:656d) +SilphCo8Script_5656d: ld a, [$ffe0] and a ret z - ld hl, wd832 - set 0, [hl] + SetEvent EVENT_SILPH_CO_8_UNLOCKED_DOOR ret -SilphCo8ScriptPointers: ; 56577 (15:6577) +SilphCo8ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle -SilphCo8TextPointers: ; 5657d (15:657d) +SilphCo8TextPointers: dw SilphCo8Text1 dw SilphCo8Text2 dw SilphCo8Text3 dw SilphCo8Text4 -SilphCo8TrainerHeaders: ; 56585 (15:6585) -SilphCo8TrainerHeader0: ; 56585 (15:6585) - db $2 ; flag's bit +SilphCo8TrainerHeader0: + dbEventFlagBit EVENT_BEAT_SILPH_CO_8F_TRAINER_0 db ($4 << 4) ; trainer's view range - dw wd831 ; flag's byte - dw SilphCo8BattleText1 ; 0x65e6 TextBeforeBattle - dw SilphCo8AfterBattleText1 ; 0x65f0 TextAfterBattle - dw SilphCo8EndBattleText1 ; 0x65eb TextEndBattle - dw SilphCo8EndBattleText1 ; 0x65eb TextEndBattle - -SilphCo8TrainerHeader1: ; 56591 (15:6591) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_SILPH_CO_8F_TRAINER_0 + dw SilphCo8BattleText1 ; TextBeforeBattle + dw SilphCo8AfterBattleText1 ; TextAfterBattle + dw SilphCo8EndBattleText1 ; TextEndBattle + dw SilphCo8EndBattleText1 ; TextEndBattle + +SilphCo8TrainerHeader1: + dbEventFlagBit EVENT_BEAT_SILPH_CO_8F_TRAINER_1 db ($4 << 4) ; trainer's view range - dw wd831 ; flag's byte - dw SilphCo8BattleText2 ; 0x65f5 TextBeforeBattle - dw SilphCo8AfterBattleText2 ; 0x65ff TextAfterBattle - dw SilphCo8EndBattleText2 ; 0x65fa TextEndBattle - dw SilphCo8EndBattleText2 ; 0x65fa TextEndBattle - -SilphCo8TrainerHeader2: ; 5659d (15:659d) - db $4 ; flag's bit + dwEventFlagAddress EVENT_BEAT_SILPH_CO_8F_TRAINER_1 + dw SilphCo8BattleText2 ; TextBeforeBattle + dw SilphCo8AfterBattleText2 ; TextAfterBattle + dw SilphCo8EndBattleText2 ; TextEndBattle + dw SilphCo8EndBattleText2 ; TextEndBattle + +SilphCo8TrainerHeader2: + dbEventFlagBit EVENT_BEAT_SILPH_CO_8F_TRAINER_2 db ($4 << 4) ; trainer's view range - dw wd831 ; flag's byte - dw SilphCo8BattleText3 ; 0x6604 TextBeforeBattle - dw SilphCo8AfterBattleText3 ; 0x660e TextAfterBattle - dw SilphCo8EndBattleText3 ; 0x6609 TextEndBattle - dw SilphCo8EndBattleText3 ; 0x6609 TextEndBattle + dwEventFlagAddress EVENT_BEAT_SILPH_CO_8F_TRAINER_2 + dw SilphCo8BattleText3 ; TextBeforeBattle + dw SilphCo8AfterBattleText3 ; TextAfterBattle + dw SilphCo8EndBattleText3 ; TextEndBattle + dw SilphCo8EndBattleText3 ; TextEndBattle db $ff -SilphCo8Text1: ; 565aa (15:65aa) - db $08 ; asm - ld a, [wd838] - bit 7, a +SilphCo8Text1: + TX_ASM + CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI ld hl, SilphCo8Text_565c3 - jr nz, asm_a468f ; 0x565b3 + jr nz, .asm_565b8 ld hl, SilphCo8Text_565be -asm_a468f ; 0x565b8 +.asm_565b8 call PrintText jp TextScriptEnd -SilphCo8Text_565be: ; 565be (15:65be) +SilphCo8Text_565be: TX_FAR _SilphCo8Text_565be db "@" -SilphCo8Text_565c3: ; 565c3 (15:65c3) +SilphCo8Text_565c3: TX_FAR _SilphCo8Text_565c3 db "@" -SilphCo8Text2: ; 565c8 (15:65c8) - db $08 ; asm +SilphCo8Text2: + TX_ASM ld hl, SilphCo8TrainerHeader0 call TalkToTrainer jp TextScriptEnd -SilphCo8Text3: ; 565d2 (15:65d2) - db $08 ; asm +SilphCo8Text3: + TX_ASM ld hl, SilphCo8TrainerHeader1 call TalkToTrainer jp TextScriptEnd -SilphCo8Text4: ; 565dc (15:65dc) - db $08 ; asm +SilphCo8Text4: + TX_ASM ld hl, SilphCo8TrainerHeader2 call TalkToTrainer jp TextScriptEnd -SilphCo8BattleText1: ; 565e6 (15:65e6) +SilphCo8BattleText1: TX_FAR _SilphCo8BattleText1 db "@" -SilphCo8EndBattleText1: ; 565eb (15:65eb) +SilphCo8EndBattleText1: TX_FAR _SilphCo8EndBattleText1 db "@" -SilphCo8AfterBattleText1: ; 565f0 (15:65f0) +SilphCo8AfterBattleText1: TX_FAR _SilphCo8AfterBattleText1 db "@" -SilphCo8BattleText2: ; 565f5 (15:65f5) +SilphCo8BattleText2: TX_FAR _SilphCo8BattleText2 db "@" -SilphCo8EndBattleText2: ; 565fa (15:65fa) +SilphCo8EndBattleText2: TX_FAR _SilphCo8EndBattleText2 db "@" -SilphCo8AfterBattleText2: ; 565ff (15:65ff) +SilphCo8AfterBattleText2: TX_FAR _SilphCo8AfterBattleText2 db "@" -SilphCo8BattleText3: ; 56604 (15:6604) +SilphCo8BattleText3: TX_FAR _SilphCo8BattleText3 db "@" -SilphCo8EndBattleText3: ; 56609 (15:6609) +SilphCo8EndBattleText3: TX_FAR _SilphCo8EndBattleText3 db "@" -SilphCo8AfterBattleText3: ; 5660e (15:660e) +SilphCo8AfterBattleText3: TX_FAR _SilphCo8AfterBattleText3 db "@" 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 "@" diff --git a/scripts/silphcoelevator.asm b/scripts/silphcoelevator.asm index 48d406cc..df4d08c7 100755 --- a/scripts/silphcoelevator.asm +++ b/scripts/silphcoelevator.asm @@ -1,5 +1,5 @@ -SilphCoElevatorScript: ; 457c0 (11:57c0) - ld hl, wd126 +SilphCoElevatorScript: + ld hl, wCurrentMapScriptFlags bit 5, [hl] res 5, [hl] push hl @@ -14,15 +14,15 @@ SilphCoElevatorScript: ; 457c0 (11:57c0) ld [wDoNotWaitForButtonPressAfterDisplayingText], a ret -SilphCoElevatorScript_457dc: ; 457dc (11:57dc) +SilphCoElevatorScript_457dc: ld hl, wWarpEntries - ld a, [wd73b] + ld a, [wWarpedFromWhichWarp] ld b, a - ld a, [wd73c] + ld a, [wWarpedFromWhichMap] ld c, a call SilphCoElevatorScript_457ea -SilphCoElevatorScript_457ea: ; 457ea (11:57ea) +SilphCoElevatorScript_457ea: inc hl inc hl ld a, b @@ -31,21 +31,31 @@ SilphCoElevatorScript_457ea: ; 457ea (11:57ea) ld [hli], a ret -SilphCoElevatorScript_457f1: ; 457f1 (11:57f1) - ld hl, SilphCoElavatorFloors ; $5804 +SilphCoElevatorScript_457f1: + ld hl, SilphCoElavatorFloors call LoadItemList - ld hl, SilphCoElevatorWarpMaps ; $5811 - ld de, wcc5b - ld bc, $16 + ld hl, SilphCoElevatorWarpMaps + ld de, wElevatorWarpMaps + ld bc, SilphCoElevatorWarpMapsEnd - SilphCoElevatorWarpMaps call CopyData ret -SilphCoElavatorFloors: ; 45804 (11:45804) +SilphCoElavatorFloors: db $0B ; num elements in list - db $56, $57, $58, $59, $5A, $5B, $5C, $5D, $5E, $5F, $60 ; "1F", "2F", "3F", "4F", ... , "11F" + db FLOOR_1F + db FLOOR_2F + db FLOOR_3F + db FLOOR_4F + db FLOOR_5F + db FLOOR_6F + db FLOOR_7F + db FLOOR_8F + db FLOOR_9F + db FLOOR_10F + db FLOOR_11F db $FF ; terminator -SilphCoElevatorWarpMaps: ; 45811 (11:45811) +SilphCoElevatorWarpMaps: ; first byte is warp number ; second byte is map number ; These specify where the player goes after getting out of the elevator. @@ -60,18 +70,19 @@ SilphCoElevatorWarpMaps: ; 45811 (11:45811) db $02, SILPH_CO_9F db $02, SILPH_CO_10F db $01, SILPH_CO_11F +SilphCoElevatorWarpMapsEnd: -SilphCoElevatorScript_45827: ; 45827 (11:5827) +SilphCoElevatorScript_45827: call Delay3 callba ShakeElevator ret -SilphCoElevatorTextPointers: ; 45833 (11:5833) +SilphCoElevatorTextPointers: dw SilphCoElevatorText1 -SilphCoElevatorText1: ; 45835 (11:5835) - db $08 ; asm +SilphCoElevatorText1: + TX_ASM call SilphCoElevatorScript_457f1 - ld hl, SilphCoElevatorWarpMaps ; $5811 - predef Func_1c9c6 + ld hl, SilphCoElevatorWarpMaps + predef DisplayElevatorFloorMenu jp TextScriptEnd diff --git a/scripts/ssanne1.asm b/scripts/ssanne1.asm index 4814dfe9..3f8861d5 100755 --- a/scripts/ssanne1.asm +++ b/scripts/ssanne1.asm @@ -1,15 +1,15 @@ -SSAnne1Script: ; 61265 (18:5265) +SSAnne1Script: call EnableAutoTextBoxDrawing ret -SSAnne1TextPointers: ; 61269 (18:5269) +SSAnne1TextPointers: dw SSAnne1Text1 dw SSAnne1Text2 -SSAnne1Text1: ; 6126d (18:526d) +SSAnne1Text1: TX_FAR _SSAnne1Text1 db "@" -SSAnne1Text2: ; 61272 (18:5272) +SSAnne1Text2: TX_FAR _SSAnne1Text2 db "@" diff --git a/scripts/ssanne10.asm b/scripts/ssanne10.asm index 8f3ff9a4..12433732 100755 --- a/scripts/ssanne10.asm +++ b/scripts/ssanne10.asm @@ -1,18 +1,18 @@ -SSAnne10Script: ; 61d55 (18:5d55) +SSAnne10Script: call EnableAutoTextBoxDrawing - ld hl, SSAnne10TrainerHeaders + ld hl, SSAnne10TrainerHeader0 ld de, SSAnne10ScriptPointers - ld a, [W_SSANNE10CURSCRIPT] + ld a, [wSSAnne10CurScript] call ExecuteCurMapScriptInTable - ld [W_SSANNE10CURSCRIPT], a + ld [wSSAnne10CurScript], a ret -SSAnne10ScriptPointers: ; 61d68 (18:5d68) +SSAnne10ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle -SSAnne10TextPointers: ; 61d6e (18:5d6e) +SSAnne10TextPointers: dw SSAnne10Text1 dw SSAnne10Text2 dw SSAnne10Text3 @@ -21,182 +21,181 @@ SSAnne10TextPointers: ; 61d6e (18:5d6e) dw SSAnne10Text6 dw SSAnne10Text7 dw SSAnne10Text8 - dw Predef5CText - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText -SSAnne10TrainerHeaders: ; 61d84 (18:5d84) -SSAnne10TrainerHeader0: ; 61d84 (18:5d84) - db $1 ; flag's bit +SSAnne10TrainerHeader0: + dbEventFlagBit EVENT_BEAT_SS_ANNE_10_TRAINER_0 db ($2 << 4) ; trainer's view range - dw wd809 ; flag's byte - dw SSAnne10BattleText1 ; 0x5e16 TextBeforeBattle - dw SSAnne10AfterBattleText1 ; 0x5e20 TextAfterBattle - dw SSAnne10EndBattleText1 ; 0x5e1b TextEndBattle - dw SSAnne10EndBattleText1 ; 0x5e1b TextEndBattle - -SSAnne10TrainerHeader1: ; 61d90 (18:5d90) - db $2 ; flag's bit + dwEventFlagAddress EVENT_BEAT_SS_ANNE_10_TRAINER_0 + dw SSAnne10BattleText1 ; TextBeforeBattle + dw SSAnne10AfterBattleText1 ; TextAfterBattle + dw SSAnne10EndBattleText1 ; TextEndBattle + dw SSAnne10EndBattleText1 ; TextEndBattle + +SSAnne10TrainerHeader1: + dbEventFlagBit EVENT_BEAT_SS_ANNE_10_TRAINER_1 db ($3 << 4) ; trainer's view range - dw wd809 ; flag's byte - dw SSAnne10BattleText2 ; 0x5e25 TextBeforeBattle - dw SSAnne10AfterBattleText2 ; 0x5e2f TextAfterBattle - dw SSAnne10EndBattleText2 ; 0x5e2a TextEndBattle - dw SSAnne10EndBattleText2 ; 0x5e2a TextEndBattle - -SSAnne10TrainerHeader2: ; 61d9c (18:5d9c) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_SS_ANNE_10_TRAINER_1 + dw SSAnne10BattleText2 ; TextBeforeBattle + dw SSAnne10AfterBattleText2 ; TextAfterBattle + dw SSAnne10EndBattleText2 ; TextEndBattle + dw SSAnne10EndBattleText2 ; TextEndBattle + +SSAnne10TrainerHeader2: + dbEventFlagBit EVENT_BEAT_SS_ANNE_10_TRAINER_2 db ($2 << 4) ; trainer's view range - dw wd809 ; flag's byte - dw SSAnne10BattleText3 ; 0x5e34 TextBeforeBattle - dw SSAnne10AfterBattleText3 ; 0x5e3e TextAfterBattle - dw SSAnne10EndBattleText3 ; 0x5e39 TextEndBattle - dw SSAnne10EndBattleText3 ; 0x5e39 TextEndBattle - -SSAnne10TrainerHeader3: ; 61da8 (18:5da8) - db $4 ; flag's bit + dwEventFlagAddress EVENT_BEAT_SS_ANNE_10_TRAINER_2 + dw SSAnne10BattleText3 ; TextBeforeBattle + dw SSAnne10AfterBattleText3 ; TextAfterBattle + dw SSAnne10EndBattleText3 ; TextEndBattle + dw SSAnne10EndBattleText3 ; TextEndBattle + +SSAnne10TrainerHeader3: + dbEventFlagBit EVENT_BEAT_SS_ANNE_10_TRAINER_3 db ($2 << 4) ; trainer's view range - dw wd809 ; flag's byte - dw SSAnne10BattleText4 ; 0x5e43 TextBeforeBattle - dw SSAnne10AfterBattleText4 ; 0x5e4d TextAfterBattle - dw SSAnne10EndBattleText4 ; 0x5e48 TextEndBattle - dw SSAnne10EndBattleText4 ; 0x5e48 TextEndBattle - -SSAnne10TrainerHeader4: ; 61db4 (18:5db4) - db $5 ; flag's bit + dwEventFlagAddress EVENT_BEAT_SS_ANNE_10_TRAINER_3 + dw SSAnne10BattleText4 ; TextBeforeBattle + dw SSAnne10AfterBattleText4 ; TextAfterBattle + dw SSAnne10EndBattleText4 ; TextEndBattle + dw SSAnne10EndBattleText4 ; TextEndBattle + +SSAnne10TrainerHeader4: + dbEventFlagBit EVENT_BEAT_SS_ANNE_10_TRAINER_4 db ($2 << 4) ; trainer's view range - dw wd809 ; flag's byte - dw SSAnne10BattleText5 ; 0x5e52 TextBeforeBattle - dw SSAnne10AfterBattleText5 ; 0x5e5c TextAfterBattle - dw SSAnne10EndBattleText5 ; 0x5e57 TextEndBattle - dw SSAnne10EndBattleText5 ; 0x5e57 TextEndBattle - -SSAnne10TrainerHeader5: ; 61dc0 (18:5dc0) - db $6 ; flag's bit + dwEventFlagAddress EVENT_BEAT_SS_ANNE_10_TRAINER_4 + dw SSAnne10BattleText5 ; TextBeforeBattle + dw SSAnne10AfterBattleText5 ; TextAfterBattle + dw SSAnne10EndBattleText5 ; TextEndBattle + dw SSAnne10EndBattleText5 ; TextEndBattle + +SSAnne10TrainerHeader5: + dbEventFlagBit EVENT_BEAT_SS_ANNE_10_TRAINER_5 db ($3 << 4) ; trainer's view range - dw wd809 ; flag's byte - dw SSAnne10BattleText6 ; 0x5e61 TextBeforeBattle - dw SSAnne10AfterBattleText6 ; 0x5e6b TextAfterBattle - dw SSAnne10EndBattleText6 ; 0x5e66 TextEndBattle - dw SSAnne10EndBattleText6 ; 0x5e66 TextEndBattle + dwEventFlagAddress EVENT_BEAT_SS_ANNE_10_TRAINER_5 + dw SSAnne10BattleText6 ; TextBeforeBattle + dw SSAnne10AfterBattleText6 ; TextAfterBattle + dw SSAnne10EndBattleText6 ; TextEndBattle + dw SSAnne10EndBattleText6 ; TextEndBattle db $ff -SSAnne10Text1: ; 61dcd (18:5dcd) - db $08 ; asm +SSAnne10Text1: + TX_ASM ld hl, SSAnne10TrainerHeader0 call TalkToTrainer jp TextScriptEnd -SSAnne10Text2: ; 61dd7 (18:5dd7) - db $08 ; asm +SSAnne10Text2: + TX_ASM ld hl, SSAnne10TrainerHeader1 call TalkToTrainer jp TextScriptEnd -SSAnne10Text3: ; 61de1 (18:5de1) - db $08 ; asm +SSAnne10Text3: + TX_ASM ld hl, SSAnne10TrainerHeader2 call TalkToTrainer jp TextScriptEnd -SSAnne10Text4: ; 61deb (18:5deb) - db $08 ; asm +SSAnne10Text4: + TX_ASM ld hl, SSAnne10TrainerHeader3 call TalkToTrainer jp TextScriptEnd -SSAnne10Text5: ; 61df5 (18:5df5) - db $08 ; asm +SSAnne10Text5: + TX_ASM ld hl, SSAnne10TrainerHeader4 call TalkToTrainer jp TextScriptEnd -SSAnne10Text6: ; 61dff (18:5dff) - db $08 ; asm +SSAnne10Text6: + TX_ASM ld hl, SSAnne10TrainerHeader5 call TalkToTrainer jp TextScriptEnd -SSAnne10Text8: ; 61e09 (18:5e09) +SSAnne10Text8: TX_FAR _SSAnne10Text8 - db $8 ; 0x61e0d + TX_ASM ld a, MACHOKE call PlayCry jp TextScriptEnd -SSAnne10BattleText1: ; 61e16 (18:5e16) +SSAnne10BattleText1: TX_FAR _SSAnne10BattleText1 db "@" -SSAnne10EndBattleText1: ; 61e1b (18:5e1b) +SSAnne10EndBattleText1: TX_FAR _SSAnne10EndBattleText1 db "@" -SSAnne10AfterBattleText1: ; 61e20 (18:5e20) +SSAnne10AfterBattleText1: TX_FAR _SSAnne10AfterBattleText1 db "@" -SSAnne10BattleText2: ; 61e25 (18:5e25) +SSAnne10BattleText2: TX_FAR _SSAnne10BattleText2 db "@" -SSAnne10EndBattleText2: ; 61e2a (18:5e2a) +SSAnne10EndBattleText2: TX_FAR _SSAnne10EndBattleText2 db "@" -SSAnne10AfterBattleText2: ; 61e2f (18:5e2f) +SSAnne10AfterBattleText2: TX_FAR _SSAnne10AfterBattleText2 db "@" -SSAnne10BattleText3: ; 61e34 (18:5e34) +SSAnne10BattleText3: TX_FAR _SSAnne10BattleText3 db "@" -SSAnne10EndBattleText3: ; 61e39 (18:5e39) +SSAnne10EndBattleText3: TX_FAR _SSAnne10EndBattleText3 db "@" -SSAnne10AfterBattleText3: ; 61e3e (18:5e3e) +SSAnne10AfterBattleText3: TX_FAR _SSAnne10AfterBattleText3 db "@" -SSAnne10BattleText4: ; 61e43 (18:5e43) +SSAnne10BattleText4: TX_FAR _SSAnne10BattleText4 db "@" -SSAnne10EndBattleText4: ; 61e48 (18:5e48) +SSAnne10EndBattleText4: TX_FAR _SSAnne10EndBattleText4 db "@" -SSAnne10AfterBattleText4: ; 61e4d (18:5e4d) +SSAnne10AfterBattleText4: TX_FAR _SSAnne10AfterBattleText4 db "@" -SSAnne10BattleText5: ; 61e52 (18:5e52) +SSAnne10BattleText5: TX_FAR _SSAnne10BattleText5 db "@" -SSAnne10EndBattleText5: ; 61e57 (18:5e57) +SSAnne10EndBattleText5: TX_FAR _SSAnne10EndBattleText5 db "@" -SSAnne10AfterBattleText5: ; 61e5c (18:5e5c) +SSAnne10AfterBattleText5: TX_FAR _SSAnne10AfterBattleText5 db "@" -SSAnne10BattleText6: ; 61e61 (18:5e61) +SSAnne10BattleText6: TX_FAR _SSAnne10BattleText6 db "@" -SSAnne10EndBattleText6: ; 61e66 (18:5e66) +SSAnne10EndBattleText6: TX_FAR _SSAnne10EndBattleText6 db "@" -SSAnne10AfterBattleText6: ; 61e6b (18:5e6b) +SSAnne10AfterBattleText6: TX_FAR _SSAnne10AfterBattleText6 db "@" -SSAnne10Text7: ; 61e70 (18:5e70) +SSAnne10Text7: TX_FAR _SSAnne10Text7 db "@" diff --git a/scripts/ssanne2.asm b/scripts/ssanne2.asm index 474aaa60..654b881a 100755 --- a/scripts/ssanne2.asm +++ b/scripts/ssanne2.asm @@ -1,43 +1,43 @@ -SSAnne2Script: ; 6139f (18:539f) +SSAnne2Script: call EnableAutoTextBoxDrawing ld hl, SSAnne2ScriptPointers - ld a, [W_SSANNE2CURSCRIPT] + ld a, [wSSAnne2CurScript] jp CallFunctionInTable -SSAnne2Script_613ab: ; 613ab (18:53ab) +SSAnne2Script_613ab: xor a ld [wJoyIgnore], a - ld [W_SSANNE2CURSCRIPT], a + ld [wSSAnne2CurScript], a ret -SSAnne2ScriptPointers: ; 613b3 (18:53b3) +SSAnne2ScriptPointers: dw SSAnne2Script0 dw SSAnne2Script1 dw SSAnne2Script2 dw SSAnne2Script3 dw SSAnne2Script4 -SSAnne2Script4: ; 613bd (18:53bd) +SSAnne2Script4: ret -SSAnne2Script0: ; 613be (18:53be) - ld hl, CoordsData_61411 ; $5411 +SSAnne2Script0: + ld hl, CoordsData_61411 call ArePlayerCoordsInArray ret nc 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, [wWhichTrade] + ld a, [wCoordIndex] ld [$ffdb], a ld a, HS_SS_ANNE_2_RIVAL - ld [wcc4d], a + ld [wMissableObjectIndex], a predef ShowObject call Delay3 ld a, $2 - ld [$ff8c], a + ld [H_SPRITEINDEX], a call SetSpriteMovementBytesToFF xor a ld [hJoyHeld], a @@ -45,43 +45,48 @@ SSAnne2Script0: ; 613be (18:53be) ld [wJoyIgnore], a ld a, [$ffdb] cp $2 - jr nz, .asm_61400 ; 0x613f9 $5 + jr nz, .asm_61400 ld de, MovementData_6140c - jr .asm_61403 ; 0x613fe $3 + jr .asm_61403 .asm_61400 ld de, MovementData_6140d .asm_61403 call MoveSprite ld a, $1 - ld [W_SSANNE2CURSCRIPT], a + ld [wSSAnne2CurScript], a ret -MovementData_6140c: ; 6140c (18:540c) - db $00 +MovementData_6140c: + db NPC_MOVEMENT_DOWN -MovementData_6140d: ; 6140d (18:540d) - db $00,$00,$00,$FF +MovementData_6140d: + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db $FF -CoordsData_61411: ; 61411 (18:5411) - db $08,$24,$08,$25,$FF +CoordsData_61411: + db $08,$24 + db $08,$25 + db $FF -SSAnne2Script_61416: ; 61416 (18:5416) - ld a, [W_XCOORD] ; wd362 +SSAnne2Script_61416: + ld a, [wXCoord] cp $25 jr nz, .asm_61426 - ld a, $2 - ld [wd528], a - ld a, $c + ld a, PLAYER_DIR_LEFT + ld [wPlayerMovingDirection], a + ld a, SPRITE_FACING_RIGHT jr .asm_61427 .asm_61426 - xor a + xor a ; SPRITE_FACING_DOWN .asm_61427 - ld [$ff8d], a + ld [hSpriteFacingDirection], a ld a, $2 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [H_SPRITEINDEX], a jp SetSpriteFacingDirectionAndDelay -SSAnne2Script1: ; 61430 (18:5430) +SSAnne2Script1: ld a, [wd730] bit 0, a ret nz @@ -89,96 +94,101 @@ SSAnne2Script1: ; 61430 (18:5430) xor a ld [wJoyIgnore], a ld a, $2 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID call Delay3 - ld a, SONY2 + $c8 - ld [W_CUROPPONENT], a + ld a, OPP_SONY2 + ld [wCurOpponent], a ; select which team to use during the encounter - ld a, [W_RIVALSTARTER] + ld a, [wRivalStarter] cp STARTER2 - jr nz, .NotSquirtle ; 0x61451 $4 + jr nz, .NotSquirtle ld a, $1 jr .done .NotSquirtle cp STARTER3 - jr nz, .Charmander ; 0x61459 $4 + jr nz, .Charmander ld a, $2 jr .done .Charmander ld a, $3 .done - ld [W_TRAINERNO], a + ld [wTrainerNo], a call SSAnne2Script_61416 ld a, $2 - ld [W_SSANNE2CURSCRIPT], a + ld [wSSAnne2CurScript], a ret -SSAnne2Script2: ; 6146d (18:546d) - ld a, [W_ISINBATTLE] +SSAnne2Script2: + ld a, [wIsInBattle] cp $ff jp z, SSAnne2Script_613ab call SSAnne2Script_61416 ld a, $f0 ld [wJoyIgnore], a ld a, $3 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $2 - ld [$ff8c], a + ld [H_SPRITEINDEX], a call SetSpriteMovementBytesToFF - ld a, [W_XCOORD] + ld a, [wXCoord] cp $25 - jr nz, .asm_61497 ; 0x61490 $5 + jr nz, .asm_61497 ld de, MovementData_614b9 - jr .asm_6149a ; 0x61495 $3 + jr .asm_6149a .asm_61497 ld de, MovementData_614b7 .asm_6149a ld a, $2 - ld [$ff8c], a + ld [H_SPRITEINDEX], a call MoveSprite ld a, $ff - ld [wc0ee], a + ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateStart ld a, $3 - ld [W_SSANNE2CURSCRIPT], a + ld [wSSAnne2CurScript], a ret -MovementData_614b7: ; 614b7 (18:54b7) - db $C0,$00 +MovementData_614b7: + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_DOWN -MovementData_614b9: ; 614b9 (18:54b9) - db $00,$00,$00,$00,$FF +MovementData_614b9: + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db $FF -SSAnne2Script3: ; 614be (18:54be) +SSAnne2Script3: ld a, [wd730] bit 0, a ret nz xor a ld [wJoyIgnore], a ld a, HS_SS_ANNE_2_RIVAL - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject call PlayDefaultMusic ld a, $4 - ld [W_SSANNE2CURSCRIPT], a + ld [wSSAnne2CurScript], a ret -SSAnne2TextPointers: ; 614db (18:54db) +SSAnne2TextPointers: dw SSAnne2Text1 dw SSAnne2Text2 dw SSAnne2Text3 -SSAnne2Text1: ; 614e1 (18:54e1) +SSAnne2Text1: TX_FAR _SSAnne2Text1 db "@" -SSAnne2Text2: ; 614e6 (18:54e6) - db $8 +SSAnne2Text2: + TX_ASM ld hl, SSAnneRivalBeforeBattleText call PrintText ld hl, wd72d @@ -189,18 +199,18 @@ SSAnne2Text2: ; 614e6 (18:54e6) call SaveEndBattleTextPointers jp TextScriptEnd -SSAnneRivalBeforeBattleText: ; 61500 (18:5500) +SSAnneRivalBeforeBattleText: TX_FAR _SSAnneRivalBeforeBattleText db "@" -SSAnneRivalDefeatedText: ; 61505 (18:5505) +SSAnneRivalDefeatedText: TX_FAR _SSAnneRivalDefeatedText db "@" -SSAnneRivalWonText: ; 6150a (18:550a) +SSAnneRivalWonText: TX_FAR _SSAnneRivalWonText db "@" -SSAnne2Text3: ; 6150f (18:550f) +SSAnne2Text3: TX_FAR _SSAnneRivalCaptainText db "@" diff --git a/scripts/ssanne3.asm b/scripts/ssanne3.asm index 56cbdd9c..e681591a 100755 --- a/scripts/ssanne3.asm +++ b/scripts/ssanne3.asm @@ -1,9 +1,9 @@ -SSAnne3Script: ; 44932 (11:4932) +SSAnne3Script: jp EnableAutoTextBoxDrawing -SSAnne3TextPointers: ; 44935 (11:4935) +SSAnne3TextPointers: dw SSAnne3Text1 -SSAnne3Text1: ; 44937 (11:4937) +SSAnne3Text1: TX_FAR _SSAnne3Text1 db "@" diff --git a/scripts/ssanne4.asm b/scripts/ssanne4.asm index 6cc0e7b9..c9411717 100755 --- a/scripts/ssanne4.asm +++ b/scripts/ssanne4.asm @@ -1,5 +1,5 @@ -SSAnne4Script: ; 6162e (18:562e) +SSAnne4Script: jp EnableAutoTextBoxDrawing -SSAnne4TextPointers: ; 61631 (18:5631) +SSAnne4TextPointers: db "@" diff --git a/scripts/ssanne5.asm b/scripts/ssanne5.asm index 96b94c52..0cfef9f4 100755 --- a/scripts/ssanne5.asm +++ b/scripts/ssanne5.asm @@ -1,89 +1,88 @@ -SSAnne5Script: ; 616ae (18:56ae) +SSAnne5Script: call EnableAutoTextBoxDrawing - ld hl, SSAnne5TrainerHeader0 ; $56d1 + ld hl, SSAnne5TrainerHeader0 ld de, SSAnne5ScriptPointers - ld a, [W_SSANNE5CURSCRIPT] + ld a, [wSSAnne5CurScript] call ExecuteCurMapScriptInTable - ld [W_SSANNE5CURSCRIPT], a + ld [wSSAnne5CurScript], a ret -SSAnne5ScriptPointers: ; 616c1 (18:56c1) +SSAnne5ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle -SSAnne5TextPointers: ; 616c7 (18:56c7) +SSAnne5TextPointers: dw SSAnne5Text1 dw SSAnne5Text2 dw SSAnne5Text3 dw SSAnne5Text4 dw SSAnne5Text5 -SSAnne5TrainerHeaders: ; 616d1 (18:56d1) -SSAnne5TrainerHeader0: ; 616d1 (18:56d1) - db $4 ; flag's bit +SSAnne5TrainerHeader0: + dbEventFlagBit EVENT_BEAT_SS_ANNE_5_TRAINER_0 db ($3 << 4) ; trainer's view range - dw wd7ff ; flag's byte - dw SSAnne5BattleText1 ; 0x5703 TextBeforeBattle - dw SSAnne5AfterBattleText1 ; 0x570d TextAfterBattle - dw SSAnne5EndBattleText1 ; 0x5708 TextEndBattle - dw SSAnne5EndBattleText1 ; 0x5708 TextEndBattle - -SSAnne5TrainerHeader1: ; 616dd (18:56dd) - db $5 ; flag's bit + dwEventFlagAddress EVENT_BEAT_SS_ANNE_5_TRAINER_0 + dw SSAnne5BattleText1 ; TextBeforeBattle + dw SSAnne5AfterBattleText1 ; TextAfterBattle + dw SSAnne5EndBattleText1 ; TextEndBattle + dw SSAnne5EndBattleText1 ; TextEndBattle + +SSAnne5TrainerHeader1: + dbEventFlagBit EVENT_BEAT_SS_ANNE_5_TRAINER_1 db ($3 << 4) ; trainer's view range - dw wd7ff ; flag's byte - dw SSAnne5BattleText2 ; 0x571c TextBeforeBattle - dw SSAnne5AfterBattleText2 ; 0x5726 TextAfterBattle - dw SSAnne5EndBattleText2 ; 0x5721 TextEndBattle - dw SSAnne5EndBattleText2 ; 0x5721 TextEndBattle + dwEventFlagAddress EVENT_BEAT_SS_ANNE_5_TRAINER_1 + dw SSAnne5BattleText2 ; TextBeforeBattle + dw SSAnne5AfterBattleText2 ; TextAfterBattle + dw SSAnne5EndBattleText2 ; TextEndBattle + dw SSAnne5EndBattleText2 ; TextEndBattle db $ff -SSAnne5Text1: ; 616ea (18:56ea) +SSAnne5Text1: TX_FAR _SSAnne5Text1 db "@" -SSAnne5Text2: ; 616ef (18:56ef) +SSAnne5Text2: TX_FAR _SSAnne5Text2 db "@" -SSAnne5Text3: ; 616f4 (18:56f4) +SSAnne5Text3: TX_FAR _SSAnne5Text3 db "@" -SSAnne5Text4: ; 616f9 (18:56f9) - db $08 ; asm +SSAnne5Text4: + TX_ASM ld hl, SSAnne5TrainerHeader0 call TalkToTrainer jp TextScriptEnd -SSAnne5BattleText1: ; 61703 (18:5703) +SSAnne5BattleText1: TX_FAR _SSAnne5BattleText1 db "@" -SSAnne5EndBattleText1: ; 61708 (18:5708) +SSAnne5EndBattleText1: TX_FAR _SSAnne5EndBattleText1 db "@" -SSAnne5AfterBattleText1: ; 6170d (18:570d) +SSAnne5AfterBattleText1: TX_FAR _SSAnne5AfterBattleText1 db "@" -SSAnne5Text5: ; 61712 (18:5712) - db $08 ; asm +SSAnne5Text5: + TX_ASM ld hl, SSAnne5TrainerHeader1 call TalkToTrainer jp TextScriptEnd -SSAnne5BattleText2: ; 6171c (18:571c) +SSAnne5BattleText2: TX_FAR _SSAnne5BattleText2 db "@" -SSAnne5EndBattleText2: ; 61721 (18:5721) +SSAnne5EndBattleText2: TX_FAR _SSAnne5EndBattleText2 db "@" -SSAnne5AfterBattleText2: ; 61726 (18:5726) +SSAnne5AfterBattleText2: TX_FAR _SSAnne5AfterBattleText2 db "@" diff --git a/scripts/ssanne6.asm b/scripts/ssanne6.asm index d3ec191f..e1998858 100755 --- a/scripts/ssanne6.asm +++ b/scripts/ssanne6.asm @@ -1,8 +1,8 @@ -SSAnne6Script: ; 617b3 (18:57b3) +SSAnne6Script: call EnableAutoTextBoxDrawing ret -SSAnne6TextPointers: ; 617b7 (18:57b7) +SSAnne6TextPointers: dw SSAnne6Text1 dw SSAnne6Text2 dw SSAnne6Text3 @@ -11,62 +11,62 @@ SSAnne6TextPointers: ; 617b7 (18:57b7) dw SSAnne6Text6 dw SSAnne6Text7 -SSAnne6Text1: ; 617c5 (18:57c5) +SSAnne6Text1: TX_FAR _SSAnne6Text1 db "@" -SSAnne6Text2: ; 617ca (18:57ca) +SSAnne6Text2: TX_FAR _SSAnne6Text2 db "@" -SSAnne6Text3: ; 617cf (18:57cf) +SSAnne6Text3: TX_FAR _SSAnne6Text3 db "@" -SSAnne6Text4: ; 617d4 (18:57d4) +SSAnne6Text4: TX_FAR _SSAnne6Text4 db "@" -SSAnne6Text5: ; 617d9 (18:57d9) +SSAnne6Text5: TX_FAR _SSAnne6Text5 db "@" -SSAnne6Text6: ; 617de (18:57de) +SSAnne6Text6: TX_FAR _SSAnne6Text6 db "@" -SSAnne6Text7: ; 617e3 (18:57e3) - db $08 ; asm +SSAnne6Text7: + TX_ASM ld hl, SSAnne6Text_61807 call PrintText - ldh a, [$d3] + ld a, [hRandomAdd] bit 7, a - jr z, .asm_93eb1 ; 0x617ee + jr z, .asm_93eb1 ld hl, SSAnne6Text_6180c - jr .asm_63292 ; 0x617f3 -.asm_93eb1 ; 0x617f5 + jr .asm_63292 +.asm_93eb1 bit 4, a - jr z, .asm_7436c ; 0x617f7 + jr z, .asm_7436c ld hl, SSAnne6Text_61811 - jr .asm_63292 ; 0x617fc -.asm_7436c ; 0x617fe + jr .asm_63292 +.asm_7436c ld hl, SSAnne6Text_61816 -.asm_63292 ; 0x61801 +.asm_63292 call PrintText jp TextScriptEnd -SSAnne6Text_61807: ; 61807 (18:5807) +SSAnne6Text_61807: TX_FAR _SSAnne6Text_61807 db "@" -SSAnne6Text_6180c: ; 6180c (18:580c) +SSAnne6Text_6180c: TX_FAR _SSAnne6Text_6180c db "@" -SSAnne6Text_61811: ; 61811 (18:5811) +SSAnne6Text_61811: TX_FAR _SSAnne6Text_61811 db "@" -SSAnne6Text_61816: ; 61816 (18:5816) +SSAnne6Text_61816: TX_FAR _SSAnne6Text_61816 db "@" diff --git a/scripts/ssanne7.asm b/scripts/ssanne7.asm index 1ca97ce2..0df842c2 100755 --- a/scripts/ssanne7.asm +++ b/scripts/ssanne7.asm @@ -1,96 +1,93 @@ -SSAnne7Script: ; 61895 (18:5895) +SSAnne7Script: call SSAnne7Script_6189b jp EnableAutoTextBoxDrawing -SSAnne7Script_6189b: ; 6189b (18:589b) - ld a, [wd803] - bit 1, a +SSAnne7Script_6189b: + CheckEvent EVENT_RUBBED_CAPTAINS_BACK ret nz ld hl, wd72d set 5, [hl] ret -SSAnne7TextPointers: ; 618a7 (18:58a7) +SSAnne7TextPointers: dw SSAnne7Text1 dw SSAnne7Text2 dw SSAnne7Text3 -SSAnne7Text1: ; 618ad (18:58ad) - db $08 ; asm - ld a, [wd803] - bit 0, a - jr nz, .asm_797c4 ; 0x618b3 +SSAnne7Text1: + TX_ASM + CheckEvent EVENT_GOT_HM01 + jr nz, .asm_797c4 ld hl, SSAnne7RubText call PrintText ld hl, ReceivingHM01Text call PrintText - ld bc, (HM_01 << 8) | 1 + lb bc, HM_01, 1 call GiveItem jr nc, .BagFull ld hl, ReceivedHM01Text call PrintText - ld hl, wd803 - set 0, [hl] - jr .asm_0faf5 ; 0x618d4 + SetEvent EVENT_GOT_HM01 + jr .asm_0faf5 .BagFull ld hl, HM01NoRoomText call PrintText ld hl, wd72d set 5, [hl] - jr .asm_0faf5 ; 0x618e1 -.asm_797c4 ; 0x618e3 + jr .asm_0faf5 +.asm_797c4 ld hl, SSAnne7Text_61932 call PrintText -.asm_0faf5 ; 0x618e9 +.asm_0faf5 jp TextScriptEnd -SSAnne7RubText: ; 618ec (18:58ec) +SSAnne7RubText: TX_FAR _SSAnne7RubText - db $8 - ld a, [wc0ef] - cp $1f - ld [wc0f0], a - jr nz, .asm_61908 ; 0x618f9 $d + TX_ASM + ld a, [wAudioROMBank] + cp BANK(Audio3_UpdateMusic) + ld [wAudioSavedROMBank], a + jr nz, .asm_61908 ld a, $ff - ld [wc0ee], a + ld [wNewSoundID], a call PlaySound - ld a, Bank(Func_9876) - ld [wc0ef], a + ld a, Bank(Music_PkmnHealed) + ld [wAudioROMBank], a .asm_61908 ld a, MUSIC_PKMN_HEALED - ld [wc0ee], a + ld [wNewSoundID], a call PlaySound .asm_61910 - ld a, [wc026] + ld a, [wChannelSoundIDs] cp MUSIC_PKMN_HEALED - jr z, .asm_61910 ; 0x61915 $f9 + jr z, .asm_61910 call PlayDefaultMusic - ld hl, wd803 - set 1, [hl] + SetEvent EVENT_RUBBED_CAPTAINS_BACK ld hl, wd72d res 5, [hl] jp TextScriptEnd -ReceivingHM01Text: ; 61927 (18:5927) +ReceivingHM01Text: TX_FAR _ReceivingHM01Text db "@" -ReceivedHM01Text: ; 6192c (18:592c) +ReceivedHM01Text: TX_FAR _ReceivedHM01Text - db $11, "@" + TX_SFX_KEY_ITEM + db "@" -SSAnne7Text_61932: ; 61932 (18:5932) +SSAnne7Text_61932: TX_FAR _SSAnne7Text_61932 db "@" -HM01NoRoomText: ; 61937 (18:5937) +HM01NoRoomText: TX_FAR _HM01NoRoomText db "@" -SSAnne7Text2: ; 6193c (18:593c) +SSAnne7Text2: TX_FAR _SSAnne7Text2 db "@" -SSAnne7Text3: ; 61941 (18:5941) +SSAnne7Text3: TX_FAR _SSAnne7Text3 db "@" diff --git a/scripts/ssanne8.asm b/scripts/ssanne8.asm index ff7fc57b..c684f84b 100755 --- a/scripts/ssanne8.asm +++ b/scripts/ssanne8.asm @@ -1,18 +1,18 @@ -SSAnne8Script: ; 61976 (18:5976) +SSAnne8Script: call EnableAutoTextBoxDrawing - ld hl, SSAnne8TrainerHeaders + ld hl, SSAnne8TrainerHeader0 ld de, SSAnne8ScriptPointers - ld a, [W_SSANNE8CURSCRIPT] + ld a, [wSSAnne8CurScript] call ExecuteCurMapScriptInTable - ld [W_SSANNE8CURSCRIPT], a + ld [wSSAnne8CurScript], a ret -SSAnne8ScriptPointers: ; 61989 (18:5989) +SSAnne8ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle -SSAnne8TextPointers: ; 6198f (18:598f) +SSAnne8TextPointers: dw SSAnne8Text1 dw SSAnne8Text2 dw SSAnne8Text3 @@ -22,143 +22,142 @@ SSAnne8TextPointers: ; 6198f (18:598f) dw SSAnne8Text7 dw SSAnne8Text8 dw SSAnne8Text9 - dw Predef5CText + dw PickUpItemText dw SSAnne8Text11 -SSAnne8TrainerHeaders: ; 619a5 (18:59a5) -SSAnne8TrainerHeader0: ; 619a5 (18:59a5) - db $1 ; flag's bit +SSAnne8TrainerHeader0: + dbEventFlagBit EVENT_BEAT_SS_ANNE_8_TRAINER_0 db ($2 << 4) ; trainer's view range - dw wd805 ; flag's byte - dw SSAnne8BattleText1 ; 0x5a0b TextBeforeBattle - dw SSAnne8AfterBattleText1 ; 0x5a15 TextAfterBattle - dw SSAnne8EndBattleText1 ; 0x5a10 TextEndBattle - dw SSAnne8EndBattleText1 ; 0x5a10 TextEndBattle - -SSAnne8TrainerHeader1: ; 619b1 (18:59b1) - db $2 ; flag's bit + dwEventFlagAddress EVENT_BEAT_SS_ANNE_8_TRAINER_0 + dw SSAnne8BattleText1 ; TextBeforeBattle + dw SSAnne8AfterBattleText1 ; TextAfterBattle + dw SSAnne8EndBattleText1 ; TextEndBattle + dw SSAnne8EndBattleText1 ; TextEndBattle + +SSAnne8TrainerHeader1: + dbEventFlagBit EVENT_BEAT_SS_ANNE_8_TRAINER_1 db ($3 << 4) ; trainer's view range - dw wd805 ; flag's byte - dw SSAnne8BattleText2 ; 0x5a1a TextBeforeBattle - dw SSAnne8AfterBattleText2 ; 0x5a24 TextAfterBattle - dw SSAnne8EndBattleText2 ; 0x5a1f TextEndBattle - dw SSAnne8EndBattleText2 ; 0x5a1f TextEndBattle - -SSAnne8TrainerHeader2: ; 619bd (18:59bd) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_SS_ANNE_8_TRAINER_1 + dw SSAnne8BattleText2 ; TextBeforeBattle + dw SSAnne8AfterBattleText2 ; TextAfterBattle + dw SSAnne8EndBattleText2 ; TextEndBattle + dw SSAnne8EndBattleText2 ; TextEndBattle + +SSAnne8TrainerHeader2: + dbEventFlagBit EVENT_BEAT_SS_ANNE_8_TRAINER_2 db ($2 << 4) ; trainer's view range - dw wd805 ; flag's byte - dw SSAnne8BattleText3 ; 0x5a29 TextBeforeBattle - dw SSAnne8AfterBattleText3 ; 0x5a33 TextAfterBattle - dw SSAnne8EndBattleText3 ; 0x5a2e TextEndBattle - dw SSAnne8EndBattleText3 ; 0x5a2e TextEndBattle - -SSAnne8TrainerHeader3: ; 619c9 (18:59c9) - db $4 ; flag's bit + dwEventFlagAddress EVENT_BEAT_SS_ANNE_8_TRAINER_2 + dw SSAnne8BattleText3 ; TextBeforeBattle + dw SSAnne8AfterBattleText3 ; TextAfterBattle + dw SSAnne8EndBattleText3 ; TextEndBattle + dw SSAnne8EndBattleText3 ; TextEndBattle + +SSAnne8TrainerHeader3: + dbEventFlagBit EVENT_BEAT_SS_ANNE_8_TRAINER_3 db ($2 << 4) ; trainer's view range - dw wd805 ; flag's byte - dw SSAnne8BattleText4 ; 0x5a38 TextBeforeBattle - dw SSAnne8AfterBattleText4 ; 0x5a42 TextAfterBattle - dw SSAnne8EndBattleText4 ; 0x5a3d TextEndBattle - dw SSAnne8EndBattleText4 ; 0x5a3d TextEndBattle + dwEventFlagAddress EVENT_BEAT_SS_ANNE_8_TRAINER_3 + dw SSAnne8BattleText4 ; TextBeforeBattle + dw SSAnne8AfterBattleText4 ; TextAfterBattle + dw SSAnne8EndBattleText4 ; TextEndBattle + dw SSAnne8EndBattleText4 ; TextEndBattle db $ff -SSAnne8Text1: ; 619d6 (18:59d6) - db $08 ; asm +SSAnne8Text1: + TX_ASM ld hl, SSAnne8TrainerHeader0 call TalkToTrainer jp TextScriptEnd -SSAnne8Text2: ; 619e0 (18:59e0) - db $08 ; asm +SSAnne8Text2: + TX_ASM ld hl, SSAnne8TrainerHeader1 call TalkToTrainer jp TextScriptEnd -SSAnne8Text3: ; 619ea (18:59ea) - db $08 ; asm +SSAnne8Text3: + TX_ASM ld hl, SSAnne8TrainerHeader2 call TalkToTrainer jp TextScriptEnd -SSAnne8Text4: ; 619f4 (18:59f4) - db $08 ; asm +SSAnne8Text4: + TX_ASM ld hl, SSAnne8TrainerHeader3 call TalkToTrainer jp TextScriptEnd -SSAnne8Text8: ; 619fe (18:59fe) +SSAnne8Text8: TX_FAR _SSAnne8Text8 - db $08 ; asm + TX_ASM ld a, WIGGLYTUFF call PlayCry jp TextScriptEnd -SSAnne8BattleText1: ; 61a0b (18:5a0b) +SSAnne8BattleText1: TX_FAR _SSAnne8BattleText1 db "@" -SSAnne8EndBattleText1: ; 61a10 (18:5a10) +SSAnne8EndBattleText1: TX_FAR _SSAnne8EndBattleText1 db "@" -SSAnne8AfterBattleText1: ; 61a15 (18:5a15) +SSAnne8AfterBattleText1: TX_FAR _SSAnne8AfterBattleText1 db "@" -SSAnne8BattleText2: ; 61a1a (18:5a1a) +SSAnne8BattleText2: TX_FAR _SSAnne8BattleText2 db "@" -SSAnne8EndBattleText2: ; 61a1f (18:5a1f) +SSAnne8EndBattleText2: TX_FAR _SSAnne8EndBattleText2 db "@" -SSAnne8AfterBattleText2: ; 61a24 (18:5a24) +SSAnne8AfterBattleText2: TX_FAR _SSAnne8AfterBattleText2 db "@" -SSAnne8BattleText3: ; 61a29 (18:5a29) +SSAnne8BattleText3: TX_FAR _SSAnne8BattleText3 db "@" -SSAnne8EndBattleText3: ; 61a2e (18:5a2e) +SSAnne8EndBattleText3: TX_FAR _SSAnne8EndBattleText3 db "@" -SSAnne8AfterBattleText3: ; 61a33 (18:5a33) +SSAnne8AfterBattleText3: TX_FAR _SSAnne8AfterBattleText3 db "@" -SSAnne8BattleText4: ; 61a38 (18:5a38) +SSAnne8BattleText4: TX_FAR _SSAnne8BattleText4 db "@" -SSAnne8EndBattleText4: ; 61a3d (18:5a3d) +SSAnne8EndBattleText4: TX_FAR _SSAnne8EndBattleText4 db "@" -SSAnne8AfterBattleText4: ; 61a42 (18:5a42) +SSAnne8AfterBattleText4: TX_FAR _SSAnne8AfterBattleText4 db "@" -SSAnne8Text5: ; 61a47 (18:5a47) +SSAnne8Text5: TX_FAR _SSAnne8Text5 db "@" -SSAnne8Text6: ; 61a4c (18:5a4c) +SSAnne8Text6: TX_FAR _SSAnne8Text6 db "@" -SSAnne8Text7: ; 61a51 (18:5a51) +SSAnne8Text7: TX_FAR _SSAnne8Text7 db "@" -SSAnne8Text9: ; 61a56 (18:5a56) +SSAnne8Text9: TX_FAR _SSAnne8Text9 db "@" -SSAnne8Text11: ; 61a5b (18:5a5b) +SSAnne8Text11: TX_FAR _SSAnne8Text11 db "@" diff --git a/scripts/ssanne9.asm b/scripts/ssanne9.asm index db34fcf2..1f965e0d 100755 --- a/scripts/ssanne9.asm +++ b/scripts/ssanne9.asm @@ -1,100 +1,99 @@ -SSAnne9Script: ; 61b4b (18:5b4b) +SSAnne9Script: ld a, $1 ld [wAutoTextBoxDrawingControl], a xor a ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld hl, SSAnne9TrainerHeaders + ld hl, SSAnne9TrainerHeader0 ld de, SSAnne9ScriptPointers - ld a, [W_SSANNE9CURSCRIPT] + ld a, [wSSAnne9CurScript] call ExecuteCurMapScriptInTable - ld [W_SSANNE9CURSCRIPT], a + ld [wSSAnne9CurScript], a ret -SSAnne9ScriptPointers: ; 61b64 (18:5b64) +SSAnne9ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle -SSAnne9TextPointers: ; 61b6a (18:5b6a) +SSAnne9TextPointers: dw SSAnne9Text1 dw SSAnne9Text2 dw SSAnne9Text3 dw SSAnne9Text4 dw SSAnne9Text5 - dw Predef5CText + dw PickUpItemText dw SSAnne9Text7 dw SSAnne9Text8 - dw Predef5CText + dw PickUpItemText dw SSAnne9Text10 dw SSAnne9Text11 dw SSAnne9Text12 dw SSAnne9Text13 -SSAnne9TrainerHeaders: ; 61b84 (18:5b84) -SSAnne9TrainerHeader0: ; 61b84 (18:5b84) - db $1 ; flag's bit +SSAnne9TrainerHeader0: + dbEventFlagBit EVENT_BEAT_SS_ANNE_9_TRAINER_0 db ($2 << 4) ; trainer's view range - dw wd807 ; flag's byte - dw SSAnne9BattleText1 ; 0x5c51 TextBeforeBattle - dw SSAnne9AfterBattleText1 ; 0x5c5b TextAfterBattle - dw SSAnne9EndBattleText1 ; 0x5c56 TextEndBattle - dw SSAnne9EndBattleText1 ; 0x5c56 TextEndBattle - -SSAnne9TrainerHeader1: ; 61b90 (18:5b90) - db $2 ; flag's bit + dwEventFlagAddress EVENT_BEAT_SS_ANNE_9_TRAINER_0 + dw SSAnne9BattleText1 ; TextBeforeBattle + dw SSAnne9AfterBattleText1 ; TextAfterBattle + dw SSAnne9EndBattleText1 ; TextEndBattle + dw SSAnne9EndBattleText1 ; TextEndBattle + +SSAnne9TrainerHeader1: + dbEventFlagBit EVENT_BEAT_SS_ANNE_9_TRAINER_1 db ($3 << 4) ; trainer's view range - dw wd807 ; flag's byte - dw SSAnne9BattleText2 ; 0x5c60 TextBeforeBattle - dw SSAnne9AfterBattleText2 ; 0x5c6a TextAfterBattle - dw SSAnne9EndBattleText2 ; 0x5c65 TextEndBattle - dw SSAnne9EndBattleText2 ; 0x5c65 TextEndBattle - -SSAnne9TrainerHeader2: ; 61b9c (18:5b9c) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_SS_ANNE_9_TRAINER_1 + dw SSAnne9BattleText2 ; TextBeforeBattle + dw SSAnne9AfterBattleText2 ; TextAfterBattle + dw SSAnne9EndBattleText2 ; TextEndBattle + dw SSAnne9EndBattleText2 ; TextEndBattle + +SSAnne9TrainerHeader2: + dbEventFlagBit EVENT_BEAT_SS_ANNE_9_TRAINER_2 db ($3 << 4) ; trainer's view range - dw wd807 ; flag's byte - dw SSAnne9BattleText3 ; 0x5c6f TextBeforeBattle - dw SSAnne9AfterBattleText3 ; 0x5c79 TextAfterBattle - dw SSAnne9EndBattleText3 ; 0x5c74 TextEndBattle - dw SSAnne9EndBattleText3 ; 0x5c74 TextEndBattle - -SSAnne9TrainerHeader3: ; 61ba8 (18:5ba8) - db $4 ; flag's bit + dwEventFlagAddress EVENT_BEAT_SS_ANNE_9_TRAINER_2 + dw SSAnne9BattleText3 ; TextBeforeBattle + dw SSAnne9AfterBattleText3 ; TextAfterBattle + dw SSAnne9EndBattleText3 ; TextEndBattle + dw SSAnne9EndBattleText3 ; TextEndBattle + +SSAnne9TrainerHeader3: + dbEventFlagBit EVENT_BEAT_SS_ANNE_9_TRAINER_3 db ($2 << 4) ; trainer's view range - dw wd807 ; flag's byte - dw SSAnne9BattleText4 ; 0x5c7e TextBeforeBattle - dw SSAnne9AfterBattleText4 ; 0x5c88 TextAfterBattle - dw SSAnne9EndBattleText4 ; 0x5c83 TextEndBattle - dw SSAnne9EndBattleText4 ; 0x5c83 TextEndBattle + dwEventFlagAddress EVENT_BEAT_SS_ANNE_9_TRAINER_3 + dw SSAnne9BattleText4 ; TextBeforeBattle + dw SSAnne9AfterBattleText4 ; TextAfterBattle + dw SSAnne9EndBattleText4 ; TextEndBattle + dw SSAnne9EndBattleText4 ; TextEndBattle db $ff -SSAnne9Text1: ; 61bb5 (18:5bb5) - db $08 ; asm +SSAnne9Text1: + TX_ASM ld hl, SSAnne9TrainerHeader0 call TalkToTrainer jp TextScriptEnd -SSAnne9Text2: ; 61bbf (18:5bbf) - db $08 ; asm +SSAnne9Text2: + TX_ASM ld hl, SSAnne9TrainerHeader1 call TalkToTrainer jp TextScriptEnd -SSAnne9Text3: ; 61bc9 (18:5bc9) - db $08 ; asm +SSAnne9Text3: + TX_ASM ld hl, SSAnne9TrainerHeader2 call TalkToTrainer jp TextScriptEnd -SSAnne9Text4: ; 61bd3 (18:5bd3) - db $08 ; asm +SSAnne9Text4: + TX_ASM ld hl, SSAnne9TrainerHeader3 call TalkToTrainer jp TextScriptEnd -SSAnne9Text5: ; 61bdd (18:5bdd) - db $08 ; asm +SSAnne9Text5: + TX_ASM call SaveScreenTilesToBuffer1 ld hl, SSAnne9Text_61bf2 call PrintText @@ -103,114 +102,114 @@ SSAnne9Text5: ; 61bdd (18:5bdd) call DisplayPokedex jp TextScriptEnd -SSAnne9Text_61bf2: ; 61bf2 (18:5bf2) +SSAnne9Text_61bf2: TX_FAR _SSAnne9Text_61bf2 db "@" -SSAnne9Text7: ; 61bf7 (18:5bf7) - db $08 ; asm +SSAnne9Text7: + TX_ASM ld hl, SSAnne9Text_61c01 call PrintText jp TextScriptEnd -SSAnne9Text_61c01: ; 61c01 (18:5c01) +SSAnne9Text_61c01: TX_FAR _SSAnne9Text_61c01 db "@" -SSAnne9Text8: ; 61c06 (18:5c06) - db $08 ; asm +SSAnne9Text8: + TX_ASM ld hl, SSAnne9Text_61c10 call PrintText jp TextScriptEnd -SSAnne9Text_61c10: ; 61c10 (18:5c10) +SSAnne9Text_61c10: TX_FAR _SSAnne9Text_61c10 db "@" -SSAnne9Text10: ; 61c15 (18:5c15) - db $08 ; asm +SSAnne9Text10: + TX_ASM ld hl, SSAnne9Text_61c1f call PrintText jp TextScriptEnd -SSAnne9Text_61c1f: ; 61c1f (18:5c1f) +SSAnne9Text_61c1f: TX_FAR _SSAnne9Text_61c1f db "@" -SSAnne9Text11: ; 61c24 (18:5c24) - db $08 ; asm +SSAnne9Text11: + TX_ASM ld hl, SSAnne9Text_61c2e call PrintText jp TextScriptEnd -SSAnne9Text_61c2e: ; 61c2e (18:5c2e) +SSAnne9Text_61c2e: TX_FAR _SSAnne9Text_61c2e db "@" -SSAnne9Text12: ; 61c33 (18:5c33) - db $08 ; asm +SSAnne9Text12: + TX_ASM ld hl, SSAnne9Text_61c3d call PrintText jp TextScriptEnd -SSAnne9Text_61c3d: ; 61c3d (18:5c3d) +SSAnne9Text_61c3d: TX_FAR _SSAnne9Text_61c3d db "@" -SSAnne9Text13: ; 61c42 (18:5c42) - db $08 ; asm +SSAnne9Text13: + TX_ASM ld hl, SSAnne9Text_61c4c call PrintText jp TextScriptEnd -SSAnne9Text_61c4c: ; 61c4c (18:5c4c) +SSAnne9Text_61c4c: TX_FAR _SSAnne9Text_61c4c db "@" -SSAnne9BattleText1: ; 61c51 (18:5c51) +SSAnne9BattleText1: TX_FAR _SSAnne9BattleText1 db "@" -SSAnne9EndBattleText1: ; 61c56 (18:5c56) +SSAnne9EndBattleText1: TX_FAR _SSAnne9EndBattleText1 db "@" -SSAnne9AfterBattleText1: ; 61c5b (18:5c5b) +SSAnne9AfterBattleText1: TX_FAR _SSAnne9AfterBattleText1 db "@" -SSAnne9BattleText2: ; 61c60 (18:5c60) +SSAnne9BattleText2: TX_FAR _SSAnne9BattleText2 db "@" -SSAnne9EndBattleText2: ; 61c65 (18:5c65) +SSAnne9EndBattleText2: TX_FAR _SSAnne9EndBattleText2 db "@" -SSAnne9AfterBattleText2: ; 61c6a (18:5c6a) +SSAnne9AfterBattleText2: TX_FAR _SSAnne9AfterBattleText2 db "@" -SSAnne9BattleText3: ; 61c6f (18:5c6f) +SSAnne9BattleText3: TX_FAR _SSAnne9BattleText3 db "@" -SSAnne9EndBattleText3: ; 61c74 (18:5c74) +SSAnne9EndBattleText3: TX_FAR _SSAnne9EndBattleText3 db "@" -SSAnne9AfterBattleText3: ; 61c79 (18:5c79) +SSAnne9AfterBattleText3: TX_FAR _SSAnne9AfterBattleText3 db "@" -SSAnne9BattleText4: ; 61c7e (18:5c7e) +SSAnne9BattleText4: TX_FAR _SSAnne9BattleText4 db "@" -SSAnne9EndBattleText4: ; 61c83 (18:5c83) +SSAnne9EndBattleText4: TX_FAR _SSAnne9EndBattleText4 db "@" -SSAnne9AfterBattleText4: ; 61c88 (18:5c88) +SSAnne9AfterBattleText4: TX_FAR _SSAnne9AfterBattleText4 db "@" diff --git a/scripts/tradecenter.asm b/scripts/tradecenter.asm new file mode 100755 index 00000000..80efe4f9 --- /dev/null +++ b/scripts/tradecenter.asm @@ -0,0 +1,38 @@ +TradeCenterScript: + call EnableAutoTextBoxDrawing + ld a, [hSerialConnectionStatus] + cp USING_INTERNAL_CLOCK + ld a, SPRITE_FACING_LEFT + jr z, .next + ld a, SPRITE_FACING_RIGHT +.next + ld [hSpriteFacingDirection], a + ld a, $1 + ld [H_SPRITEINDEX], a + call SetSpriteFacingDirection + ld hl, wd72d + bit 0, [hl] + set 0, [hl] + ret nz + ld hl, wSpriteStateData2 + $14 + ld a, $8 + ld [hli], a + ld a, $a + ld [hl], a + ld a, SPRITE_FACING_LEFT + ld [wSpriteStateData1 + $19], a + ld a, [hSerialConnectionStatus] + cp USING_INTERNAL_CLOCK + ret z + ld a, $7 + ld [wSpriteStateData2 + $15], a + ld a, SPRITE_FACING_RIGHT + ld [wSpriteStateData1 + $19], a + ret + +TradeCenterTextPointers: + dw TradeCenterText1 + +TradeCenterText1: + TX_FAR _TradeCenterText1 + db "@" diff --git a/scripts/tradecenterm.asm b/scripts/tradecenterm.asm deleted file mode 100755 index 662a1df7..00000000 --- a/scripts/tradecenterm.asm +++ /dev/null @@ -1,9 +0,0 @@ -TradeCenterMScript: ; 4fd7d (13:7d7d) - jp BattleCenterMScript - -TradeCenterMTextPointers: ; 4fd80 (13:7d80) - dw TradeCenterMText1 - -TradeCenterMText1: ; 4fd82 (13:7d82) - TX_FAR _TradeCenterMText1 - db "@" diff --git a/scripts/undergroundpathentranceroute5.asm b/scripts/undergroundpathentranceroute5.asm index 03f1c35d..18707c4a 100755 --- a/scripts/undergroundpathentranceroute5.asm +++ b/scripts/undergroundpathentranceroute5.asm @@ -1,16 +1,16 @@ -UndergroundPathEntranceRoute5Script: ; 5d6a9 (17:56a9) +UndergroundPathEntranceRoute5Script: ld a, ROUTE_5 ld [wLastMap], a ret -UndergroundPathEntranceRoute5_5d6af: ; 5d6af (17:56af) +UndergroundPathEntranceRoute5_5d6af: db "@" -UndergroundPathEntranceRoute5TextPointers: ; 5d6b0 (17:56b0) +UndergroundPathEntranceRoute5TextPointers: dw UndergroundPathEntranceRoute5Text1 -UndergroundPathEntranceRoute5Text1: ; 5d6b2 (17:56b2) - db $08 ; asm +UndergroundPathEntranceRoute5Text1: + TX_ASM ld a, $9 ld [wWhichTrade], a predef DoInGameTradeDialogue diff --git a/scripts/undergroundpathentranceroute6.asm b/scripts/undergroundpathentranceroute6.asm index 6d356fec..c6dfdcc9 100755 --- a/scripts/undergroundpathentranceroute6.asm +++ b/scripts/undergroundpathentranceroute6.asm @@ -1,11 +1,11 @@ -UndergroundPathEntranceRoute6Script: ; 5d6ef (17:56ef) +UndergroundPathEntranceRoute6Script: ld a, ROUTE_6 ld [wLastMap], a jp EnableAutoTextBoxDrawing -UndergroundPathEntranceRoute6TextPointers: ; 5d6f7 (17:56f7) +UndergroundPathEntranceRoute6TextPointers: dw UndergroundPathEntranceRoute6Text1 -UndergroundPathEntranceRoute6Text1: ; 5d6f9 (17:56f9) +UndergroundPathEntranceRoute6Text1: TX_FAR _UndergrdTunnelEntRoute6Text1 db "@" diff --git a/scripts/undergroundpathentranceroute7.asm b/scripts/undergroundpathentranceroute7.asm index c188a823..84c8e4d5 100755 --- a/scripts/undergroundpathentranceroute7.asm +++ b/scripts/undergroundpathentranceroute7.asm @@ -1,11 +1,11 @@ -UndergroundPathEntranceRoute7Script: ; 5d72c (17:572c) +UndergroundPathEntranceRoute7Script: ld a, ROUTE_7 ld [wLastMap], a jp EnableAutoTextBoxDrawing -UndergroundPathEntranceRoute7TextPointers: ; 5d734 (17:5734) +UndergroundPathEntranceRoute7TextPointers: dw UndergroundPathEntranceRoute7Text1 -UndergroundPathEntranceRoute7Text1: ; 5d736 (17:5736) +UndergroundPathEntranceRoute7Text1: TX_FAR _UndergroundPathEntRoute7Text1 db "@" diff --git a/scripts/undergroundpathentranceroute7copy.asm b/scripts/undergroundpathentranceroute7copy.asm index 2462a254..c623eeec 100755 --- a/scripts/undergroundpathentranceroute7copy.asm +++ b/scripts/undergroundpathentranceroute7copy.asm @@ -1,24 +1,24 @@ -UndergroundPathEntranceRoute7CopyScript: ; 5d769 (17:5769) +UndergroundPathEntranceRoute7CopyScript: ld a, ROUTE_7 ld [wLastMap], a ret -UndergroundPathEntranceRoute7CopyTextPointers: ; 5d76f (17:576f) - dw UnnamedText_5d773 - dw UnnamedText_5d77d +UndergroundPathEntranceRoute7CopyTextPointers: + dw UGPathRoute7EntranceUnusedText_5d773 + dw UGPathRoute7EntranceUnusedText_5d77d -UnnamedText_5d773: ; 5d773 (17:5773) - TX_FAR _UnnamedText_5d773 +UGPathRoute7EntranceUnusedText_5d773: + TX_FAR _UGPathRoute7EntranceUnusedText_5d773 db "@" -UnnamedText_5d778: ; 5d778 (17:5778) - TX_FAR _UnnamedText_5d778 +UGPathRoute7EntranceUnusedText_5d778: + TX_FAR _UGPathRoute7EntranceUnusedText_5d778 db "@" -UnnamedText_5d77d: ; 5d77d (17:577d) - TX_FAR _UnnamedText_5d77d +UGPathRoute7EntranceUnusedText_5d77d: + TX_FAR _UGPathRoute7EntranceUnusedText_5d77d db "@" -UnnamedText_5d782: ; 5d782 (17:5782) - TX_FAR _UnnamedText_5d782 +UGPathRoute7EntranceUnusedText_5d782: + TX_FAR _UGPathRoute7EntranceUnusedText_5d782 db "@" diff --git a/scripts/undergroundpathentranceroute8.asm b/scripts/undergroundpathentranceroute8.asm index 873cf902..ad0b60ab 100755 --- a/scripts/undergroundpathentranceroute8.asm +++ b/scripts/undergroundpathentranceroute8.asm @@ -1,11 +1,11 @@ -UndergroundPathEntranceRoute8Script: ; 1e289 (7:6289) +UndergroundPathEntranceRoute8Script: ld a, ROUTE_8 ld [wLastMap], a jp EnableAutoTextBoxDrawing -UndergroundPathEntranceRoute8TextPointers: ; 1e291 (7:6291) +UndergroundPathEntranceRoute8TextPointers: dw UndergroundPathEntranceRoute8Text1 -UndergroundPathEntranceRoute8Text1: ; 1e293 (7:6293) +UndergroundPathEntranceRoute8Text1: TX_FAR _UndergroundPathEntRoute8Text1 db "@" diff --git a/scripts/undergroundpathns.asm b/scripts/undergroundpathns.asm index 96bf82a6..8c744740 100755 --- a/scripts/undergroundpathns.asm +++ b/scripts/undergroundpathns.asm @@ -1,5 +1,5 @@ -UndergroundPathNSScript: ; 61f26 (18:5f26) +UndergroundPathNSScript: jp EnableAutoTextBoxDrawing -UndergroundPathNSTextPointers: ; 61f29 (18:5f29) +UndergroundPathNSTextPointers: db "@" diff --git a/scripts/undergroundpathwe.asm b/scripts/undergroundpathwe.asm index f7e3755e..921d3dab 100755 --- a/scripts/undergroundpathwe.asm +++ b/scripts/undergroundpathwe.asm @@ -1,5 +1,5 @@ -UndergroundPathWEScript: ; 61f4a (18:5f4a) +UndergroundPathWEScript: jp EnableAutoTextBoxDrawing -UndergroundPathWETextPointers: ; 61f4d (18:5f4d) +UndergroundPathWETextPointers: db "@" diff --git a/scripts/unknowndungeon1.asm b/scripts/unknowndungeon1.asm index 008a7bd7..9d7f120e 100755 --- a/scripts/unknowndungeon1.asm +++ b/scripts/unknowndungeon1.asm @@ -1,7 +1,7 @@ -UnknownDungeon1Script: ; 74d0c (1d:4d0c) +UnknownDungeon1Script: jp EnableAutoTextBoxDrawing -UnknownDungeon1TextPointers: ; 74d0f (1d:4d0f) - dw Predef5CText - dw Predef5CText - dw Predef5CText +UnknownDungeon1TextPointers: + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText diff --git a/scripts/unknowndungeon2.asm b/scripts/unknowndungeon2.asm index c8249b27..3ed00a45 100755 --- a/scripts/unknowndungeon2.asm +++ b/scripts/unknowndungeon2.asm @@ -1,7 +1,7 @@ -UnknownDungeon2Script: ; 45e0b (11:5e0b) +UnknownDungeon2Script: jp EnableAutoTextBoxDrawing -UnknownDungeon2TextPointers: ; 45e0e (11:5e0e) - dw Predef5CText - dw Predef5CText - dw Predef5CText +UnknownDungeon2TextPointers: + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText diff --git a/scripts/unknowndungeon3.asm b/scripts/unknowndungeon3.asm index d2078916..78b1ab80 100755 --- a/scripts/unknowndungeon3.asm +++ b/scripts/unknowndungeon3.asm @@ -1,43 +1,42 @@ -UnknownDungeon3Script: ; 45ef0 (11:5ef0) +UnknownDungeon3Script: call EnableAutoTextBoxDrawing - ld hl, UnknownDungeon3TrainerHeaders - ld de, UnknownDungeon3ScriptPointers - ld a, [W_UNKNOWNDUNGEON3CURSCRIPT] + ld hl, MewtwoTrainerHeader + ld de, .ScriptPointers + ld a, [wUnknownDungeon3CurScript] call ExecuteCurMapScriptInTable - ld [W_UNKNOWNDUNGEON3CURSCRIPT], a + ld [wUnknownDungeon3CurScript], a ret -UnknownDungeon3ScriptPointers: ; 45f03 (11:5f03) +.ScriptPointers dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle -UnknownDungeon3TextPointers: ; 45f09 (11:5f09) - dw UnknownDungeon3Text1 - dw Predef5CText - dw Predef5CText +UnknownDungeon3TextPointers: + dw MewtwoText + dw PickUpItemText + dw PickUpItemText -UnknownDungeon3TrainerHeaders: ; 45f0f (11:5f0f) -UnknownDungeon3TrainerHeader0: ; 45f0f (11:5f0f) - db $1 ; flag's bit +MewtwoTrainerHeader: + dbEventFlagBit EVENT_BEAT_MEWTWO db ($0 << 4) ; trainer's view range - dw wd85f ; flag's byte - dw UnknownDungeon3MewtwoText ; 0x5f26 TextBeforeBattle - dw UnknownDungeon3MewtwoText ; 0x5f26 TextAfterBattle - dw UnknownDungeon3MewtwoText ; 0x5f26 TextEndBattle - dw UnknownDungeon3MewtwoText ; 0x5f26 TextEndBattle + dwEventFlagAddress EVENT_BEAT_MEWTWO + dw MewtwoBattleText ; TextBeforeBattle + dw MewtwoBattleText ; TextAfterBattle + dw MewtwoBattleText ; TextEndBattle + dw MewtwoBattleText ; TextEndBattle db $ff -UnknownDungeon3Text1: ; 45f1c (11:5f1c) - db $08 ; asm - ld hl, UnknownDungeon3TrainerHeader0 +MewtwoText: + TX_ASM + ld hl, MewtwoTrainerHeader call TalkToTrainer jp TextScriptEnd -UnknownDungeon3MewtwoText: ; 45f26 (11:5f26) - TX_FAR _UnknownDungeon3MewtwoText - db $8 +MewtwoBattleText: + TX_FAR _MewtwoBattleText + TX_ASM ld a, MEWTWO call PlayCry call WaitForSoundToFinish diff --git a/scripts/vermilioncity.asm b/scripts/vermilioncity.asm index 1214b27c..0a734e25 100755 --- a/scripts/vermilioncity.asm +++ b/scripts/vermilioncity.asm @@ -1,6 +1,6 @@ -VermilionCityScript: ; 197a1 (6:57a1) +VermilionCityScript: call EnableAutoTextBoxDrawing - ld hl, wd126 + ld hl, wCurrentMapScriptFlags bit 6, [hl] res 6, [hl] push hl @@ -10,37 +10,36 @@ VermilionCityScript: ; 197a1 (6:57a1) res 5, [hl] call nz, VermilionCityScript_197c0 ld hl, VermilionCityScriptPointers - ld a, [W_VERMILIONCITYCURSCRIPT] + ld a, [wVermilionCityCurScript] jp CallFunctionInTable -VermilionCityScript_197c0: ; 197c0 (6:57c0) +VermilionCityScript_197c0: call Random ld a, [$ffd4] and $e - ld [wd743], a + ld [wFirstLockTrashCanIndex], a ret -VermilionCityScript_197cb: ; 197cb (6:57cb) - ld hl, wd803 - bit 2, [hl] +VermilionCityScript_197cb: + CheckEventHL EVENT_SS_ANNE_LEFT ret z - bit 3, [hl] - set 3, [hl] + CheckEventReuseHL EVENT_WALKED_PAST_GUARD_AFTER_SS_ANNE_LEFT + SetEventReuseHL EVENT_WALKED_PAST_GUARD_AFTER_SS_ANNE_LEFT ret nz ld a, $2 - ld [W_VERMILIONCITYCURSCRIPT], a + ld [wVermilionCityCurScript], a ret -VermilionCityScriptPointers: ; 197dc (6:57dc) +VermilionCityScriptPointers: dw VermilionCityScript0 dw VermilionCityScript1 dw VermilionCityScript2 dw VermilionCityScript3 dw VermilionCityScript4 -VermilionCityScript0: ; 197e6 (6:57e6) +VermilionCityScript0: ld a, [wSpriteStateData1 + 9] - and a + and a ; cp SPRITE_FACING_DOWN ret nz ld hl, CoordsData_19823 call ArePlayerCoordsInArray @@ -49,52 +48,51 @@ VermilionCityScript0: ; 197e6 (6:57e6) ld [hJoyHeld], a ld [wcf0d], a ld a, $3 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID - ld a, [wd803] - bit 2, a - jr nz, .asm_19810 ; 0x19804 $a - ld b, $3f - predef IsItemInBag_ + CheckEvent EVENT_SS_ANNE_LEFT + jr nz, .asm_19810 + ld b, S_S_TICKET + predef GetQuantityOfItemInBag ld a, b and a ret nz .asm_19810 - ld a, $40 + ld a, D_UP ld [wSimulatedJoypadStatesEnd], a ld a, $1 ld [wSimulatedJoypadStatesIndex], a call StartSimulatingJoypadStates ld a, $1 - ld [W_VERMILIONCITYCURSCRIPT], a + ld [wVermilionCityCurScript], a ret -CoordsData_19823: ; 19823 (6:5823) +CoordsData_19823: db $1e,$12 db $ff -VermilionCityScript4: ; 19826 (6:5826) +VermilionCityScript4: ld hl, CoordsData_19823 call ArePlayerCoordsInArray ret c ld a, $0 - ld [W_VERMILIONCITYCURSCRIPT], a + ld [wVermilionCityCurScript], a ret -VermilionCityScript2: ; 19833 (6:5833) +VermilionCityScript2: ld a, $ff ld [wJoyIgnore], a - ld a, $40 + ld a, D_UP ld [wSimulatedJoypadStatesEnd], a - ld [wccd4], a - ld a, $2 + ld [wSimulatedJoypadStatesEnd + 1], a + ld a, 2 ld [wSimulatedJoypadStatesIndex], a call StartSimulatingJoypadStates ld a, $3 - ld [W_VERMILIONCITYCURSCRIPT], a + ld [wVermilionCityCurScript], a ret -VermilionCityScript3: ; 1984e (6:584e) +VermilionCityScript3: ld a, [wSimulatedJoypadStatesIndex] and a ret nz @@ -102,20 +100,20 @@ VermilionCityScript3: ; 1984e (6:584e) ld [wJoyIgnore], a ld [hJoyHeld], a ld a, $0 - ld [W_VERMILIONCITYCURSCRIPT], a + ld [wVermilionCityCurScript], a ret -VermilionCityScript1: ; 1985f (6:585f) +VermilionCityScript1: ld a, [wSimulatedJoypadStatesIndex] and a ret nz - ld c, $a + ld c, 10 call DelayFrames ld a, $0 - ld [W_VERMILIONCITYCURSCRIPT], a + ld [wVermilionCityCurScript], a ret -VermilionCityTextPointers: ; 1986f (6:586f) +VermilionCityTextPointers: dw VermilionCityText1 dw VermilionCityText2 dw VermilionCityText3 @@ -130,132 +128,130 @@ VermilionCityTextPointers: ; 1986f (6:586f) dw VermilionCityText12 dw VermilionCityText13 -VermilionCityText1: ; 19889 (6:5889) +VermilionCityText1: TX_FAR _VermilionCityText1 db "@" -VermilionCityText2: ; 1988e (6:588e) - db $08 ; asm - ld a, [wd803] - bit 2, a - jr nz, .asm_359bd ; 0x19894 +VermilionCityText2: + TX_ASM + CheckEvent EVENT_SS_ANNE_LEFT + jr nz, .asm_1989e ld hl, VermilionCityText_198a7 call PrintText - jr .asm_735d9 ; 0x1989c -.asm_359bd ; 0x1989e + jr .asm_198a4 +.asm_1989e ld hl, VermilionCityText_198ac call PrintText -.asm_735d9 ; 0x198a4 +.asm_198a4 jp TextScriptEnd -VermilionCityText_198a7: ; 198a7 (6:58a7) +VermilionCityText_198a7: TX_FAR _VermilionCityText_198a7 db "@" -VermilionCityText_198ac: ; 198ac (6:58ac) +VermilionCityText_198ac: TX_FAR _VermilionCityText_198ac db "@" -VermilionCityText3: ; 198b1 (6:58b1) - db $08 ; asm - ld a, [wd803] - bit 2, a - jr nz, .asm_3e0e9 ; 0x198b7 +VermilionCityText3: + TX_ASM + CheckEvent EVENT_SS_ANNE_LEFT + jr nz, .asm_198f6 ld a, [wSpriteStateData1 + 9] - cp $c - jr z, .asm_07af3 ; 0x198be + cp SPRITE_FACING_RIGHT + jr z, .asm_198c8 ld hl, VermilionCityCoords1 call ArePlayerCoordsInArray - jr nc, .asm_57b73 ; 0x198c6 -.asm_07af3 ; 0x198c8 + jr nc, .asm_198d0 +.asm_198c8 ld hl, SSAnneWelcomeText4 call PrintText - jr .asm_79bd1 ; 0x198ce -.asm_57b73 ; 0x198d0 + jr .asm_198fc +.asm_198d0 ld hl, SSAnneWelcomeText9 call PrintText - ld b, S_S__TICKET - predef IsItemInBag_ + ld b, S_S_TICKET + predef GetQuantityOfItemInBag ld a, b and a - jr nz, .asm_0419b ; 0x198df + jr nz, .asm_198e9 ld hl, SSAnneNoTicketText call PrintText - jr .asm_79bd1 ; 0x198e7 -.asm_0419b ; 0x198e9 + jr .asm_198fc +.asm_198e9 ld hl, SSAnneFlashedTicketText call PrintText ld a, $4 - ld [W_VERMILIONCITYCURSCRIPT], a - jr .asm_79bd1 ; 0x198f4 -.asm_3e0e9 ; 0x198f6 + ld [wVermilionCityCurScript], a + jr .asm_198fc +.asm_198f6 ld hl, SSAnneNotHereText call PrintText -.asm_79bd1 ; 0x198fc +.asm_198fc jp TextScriptEnd -VermilionCityCoords1: ; 198ff (6:58ff) +VermilionCityCoords1: db $1d,$13 db $1f,$13 db $ff -SSAnneWelcomeText4: ; 19904 (6:5904) +SSAnneWelcomeText4: TX_FAR _SSAnneWelcomeText4 db "@" -SSAnneWelcomeText9: ; 19909 (6:5909) +SSAnneWelcomeText9: TX_FAR _SSAnneWelcomeText9 db "@" -SSAnneFlashedTicketText: ; 1990e (6:590e) +SSAnneFlashedTicketText: TX_FAR _SSAnneFlashedTicketText db "@" -SSAnneNoTicketText: ; 19913 (6:5913) +SSAnneNoTicketText: TX_FAR _SSAnneNoTicketText db "@" -SSAnneNotHereText: ; 19918 (6:5918) +SSAnneNotHereText: TX_FAR _SSAnneNotHereText db "@" -VermilionCityText4: ; 1991d (6:591d) +VermilionCityText4: TX_FAR _VermilionCityText4 db "@" -VermilionCityText5: ; 19922 (6:5922) +VermilionCityText5: TX_FAR _VermilionCityText5 - db $08 ; asm + TX_ASM ld a, MACHOP call PlayCry call WaitForSoundToFinish - ld hl, VermilionCityText14 ; $5933 + ld hl, VermilionCityText14 ret -VermilionCityText14: ; 19933 (6:5933) +VermilionCityText14: TX_FAR _VermilionCityText14 db "@" -VermilionCityText6: ; 19938 (6:5938) +VermilionCityText6: TX_FAR _VermilionCityText6 db "@" -VermilionCityText7: ; 1993d (6:593d) +VermilionCityText7: TX_FAR _VermilionCityText7 db "@" -VermilionCityText8: ; 19942 (6:5942) +VermilionCityText8: TX_FAR _VermilionCityText8 db "@" -VermilionCityText11: ; 19947 (6:5947) +VermilionCityText11: TX_FAR _VermilionCityText11 db "@" -VermilionCityText12: ; 1994c (6:594c) +VermilionCityText12: TX_FAR _VermilionCityText12 db "@" -VermilionCityText13: ; 19951 (6:5951) +VermilionCityText13: TX_FAR _VermilionCityText13 db "@" diff --git a/scripts/vermiliondock.asm b/scripts/vermiliondock.asm index 7b23c41e..5b5d520b 100755 --- a/scripts/vermiliondock.asm +++ b/scripts/vermiliondock.asm @@ -1,21 +1,20 @@ -VermilionDockScript: ; 1db52 (7:5b52) +VermilionDockScript: call EnableAutoTextBoxDrawing - ld hl, wd803 - bit 4, [hl] - jr nz, .asm_1db8d ; 0x1db5a $31 - bit 0, [hl] + CheckEventHL EVENT_STARTED_WALKING_OUT_OF_DOCK + jr nz, .asm_1db8d + CheckEventReuseHL EVENT_GOT_HM01 ret z ld a, [wDestinationWarpID] cp $1 ret nz - bit 2, [hl] + CheckEventReuseHL EVENT_SS_ANNE_LEFT jp z, VermilionDock_1db9b - set 4, [hl] + SetEventReuseHL EVENT_STARTED_WALKING_OUT_OF_DOCK call Delay3 ld hl, wd730 set 7, [hl] ld hl, wSimulatedJoypadStatesEnd - ld a, $40 + ld a, D_UP ld [hli], a ld [hli], a ld [hl], a @@ -28,20 +27,20 @@ VermilionDockScript: ; 1db52 (7:5b52) ld [wJoyIgnore], a ret .asm_1db8d - bit 5, [hl] + CheckEventAfterBranchReuseHL EVENT_WALKED_OUT_OF_DOCK, EVENT_STARTED_WALKING_OUT_OF_DOCK ret nz ld a, [wSimulatedJoypadStatesIndex] and a ret nz ld [wJoyIgnore], a - set 5, [hl] + SetEventReuseHL EVENT_WALKED_OUT_OF_DOCK ret -VermilionDock_1db9b: ; 1db9b (7:5b9b) - set 2, [hl] +VermilionDock_1db9b: + SetEventForceReuseHL EVENT_SS_ANNE_LEFT ld a, $ff ld [wJoyIgnore], a - ld [wc0ee], a + ld [wNewSoundID], a call PlaySound ld c, BANK(Music_Surfing) ld a, MUSIC_SURFING @@ -49,30 +48,30 @@ VermilionDock_1db9b: ; 1db9b (7:5b9b) callba LoadSmokeTileFourTimes xor a ld [wSpriteStateData1 + 2], a - ld c, $78 + ld c, 120 call DelayFrames ld b, $9c call CopyScreenTileBufferToVRAM - hlCoord 0, 10 - ld bc, $0078 - ld a, $14 + coord hl, 0, 10 + ld bc, SCREEN_WIDTH * 6 + ld a, $14 ; water tile call FillMemory - ld a, $1 - ld [$ffba], a + ld a, 1 + ld [H_AUTOBGTRANSFERENABLED], a call Delay3 xor a - ld [$ffba], a - ld [wWhichTrade], a - ld [$ff49], a - ld a, $58 - ld [wTrainerEngageDistance], a + ld [H_AUTOBGTRANSFERENABLED], a + ld [wSSAnneSmokeDriftAmount], a + ld [rOBP1], a + ld a, 88 + ld [wSSAnneSmokeX], a ld hl, wMapViewVRAMPointer ld c, [hl] inc hl ld b, [hl] push bc push hl - ld a, (SFX_02_54 - SFX_Headers_02) / 3 + ld a, SFX_SS_ANNE_HORN call PlaySoundWaitForCurrent ld a, $ff ld [wUpdateSpritesEnabled], a @@ -88,26 +87,26 @@ VermilionDock_1db9b: ; 1db9b (7:5b9b) push hl push de call ScheduleEastColumnRedraw - call VermilionDock_1dc59 + call VermilionDock_EmitSmokePuff pop de ld b, $10 .asm_1dc11 - call VermilionDock_1dc42 + call VermilionDock_AnimSmokePuffDriftRight ld c, $8 .asm_1dc16 call VermilionDock_1dc7c dec c - jr nz, .asm_1dc16 ; 0x1dc1a $fa + jr nz, .asm_1dc16 inc d dec b - jr nz, .asm_1dc11 ; 0x1dc1e $f1 + jr nz, .asm_1dc11 pop bc dec e - jr nz, .asm_1dbfa ; 0x1dc22 $d6 + jr nz, .asm_1dbfa xor a - ld [$ff4a], a + ld [rWY], a ld [hWY], a - call VermilionDock_1dc94 + call VermilionDock_EraseSSAnne ld a, $90 ld [hWY], a ld a, $1 @@ -122,86 +121,95 @@ VermilionDock_1db9b: ; 1db9b (7:5b9b) dec [hl] ret -VermilionDock_1dc42: ; 1dc42 (7:5c42) +VermilionDock_AnimSmokePuffDriftRight: push bc push de ld hl, wOAMBuffer + $11 - ld a, [wWhichTrade] + ld a, [wSSAnneSmokeDriftAmount] swap a ld c, a - ld de, $0004 -.asm_1dc50 + ld de, 4 +.loop inc [hl] inc [hl] add hl, de dec c - jr nz, .asm_1dc50 ; 0x1dc54 $fa + jr nz, .loop pop de pop bc ret -VermilionDock_1dc59: ; 1dc59 (7:5c59) - ld a, [wTrainerEngageDistance] - sub $10 - ld [wTrainerEngageDistance], a +VermilionDock_EmitSmokePuff: +; new smoke puff above the S.S. Anne's front smokestack + ld a, [wSSAnneSmokeX] + sub 16 + ld [wSSAnneSmokeX], a ld c, a - ld b, $64 - ld a, [wWhichTrade] + ld b, 100 ; Y + ld a, [wSSAnneSmokeDriftAmount] inc a - ld [wWhichTrade], a + ld [wSSAnneSmokeDriftAmount], a ld a, $1 ld de, VermilionDockOAMBlock call WriteOAMBlock ret -VermilionDockOAMBlock: ; 1dc74 (7:5c74) +VermilionDockOAMBlock: db $fc, $10 db $fd, $10 db $fe, $10 db $ff, $10 -VermilionDock_1dc7c: ; 1dc7c (7:5c7c) +VermilionDock_1dc7c: ld h, d ld l, $50 call .asm_1dc86 ld h, $0 ld l, $80 .asm_1dc86 - ld a, [$ff44] + ld a, [rLY] cp l - jr nz, .asm_1dc86 ; 0x1dc89 $fb + jr nz, .asm_1dc86 ld a, h - ld [$ff43], a + ld [rSCX], a .asm_1dc8e - ld a, [$ff44] + ld a, [rLY] cp h - jr z, .asm_1dc8e ; 0x1dc91 $fb + jr z, .asm_1dc8e ret -VermilionDock_1dc94: ; 1dc94 (7:5c94) - ld hl, wcc5b - ld bc, $00b4 - ld a, $14 +VermilionDock_EraseSSAnne: +; Fill the area the S.S. Anne occupies in BG map 0 with water tiles. + ld hl, wVermilionDockTileMapBuffer + ld bc, (5 * BG_MAP_WIDTH) + SCREEN_WIDTH + ld a, $14 ; water tile call FillMemory - ld hl, vBGMap0 + 10 * 32 - ld de, wcc5b - ld bc, $000c + ld hl, vBGMap0 + 10 * BG_MAP_WIDTH + ld de, wVermilionDockTileMapBuffer + ld bc, (6 * BG_MAP_WIDTH) / 16 call CopyVideoData - ld hl, wOverworldMap + 10 + 7 * VERMILION_DOCK_WIDTH ; 10, 7 - ld a, $d + +; Replace the blocks of the lower half of the ship with water blocks. This +; leaves the upper half alone, but that doesn't matter because replacing any of +; the blocks is unnecessary because the blocks the ship occupies are south of +; the player and won't be redrawn when the player automatically walks north and +; exits the map. This code could be removed without affecting anything. + overworldMapCoord hl, 5, 2, VERMILION_DOCK_WIDTH + ld a, $d ; water block ld [hli], a ld [hli], a ld [hli], a ld [hl], a - ld a, (SFX_02_54 - SFX_Headers_02) / 3 + + ld a, SFX_SS_ANNE_HORN call PlaySound - ld c, $78 + ld c, 120 call DelayFrames ret -VermilionDockTextPointers: ; 1dcbf (7:5cbf) +VermilionDockTextPointers: dw VermilionDockText1 -VermilionDockText1: ; 1dcc1 (7:5cc1) +VermilionDockText1: TX_FAR _VermilionDockText1 db "@" diff --git a/scripts/vermiliongym.asm b/scripts/vermiliongym.asm index 6178dafb..c22ce9ce 100755 --- a/scripts/vermiliongym.asm +++ b/scripts/vermiliongym.asm @@ -1,5 +1,5 @@ -VermilionGymScript: ; 5ca26 (17:4a26) - ld hl, wd126 +VermilionGymScript: + ld hl, wCurrentMapScriptFlags bit 5, [hl] res 5, [hl] push hl @@ -11,90 +11,85 @@ VermilionGymScript: ; 5ca26 (17:4a26) call EnableAutoTextBoxDrawing ld hl, VermilionGymTrainerHeader0 ld de, VermilionGymScriptPointers - ld a, [W_VERMILIONGYMCURSCRIPT] + ld a, [wVermilionGymCurScript] call ExecuteCurMapScriptInTable - ld [W_VERMILIONGYMCURSCRIPT], a + ld [wVermilionGymCurScript], a ret -VermilionGymScript_5ca4c: ; 5ca4c (17:4a4c) - ld hl, Gym3CityName ; $4a55 - ld de, Gym3LeaderName ; $4a64 +VermilionGymScript_5ca4c: + ld hl, Gym3CityName + ld de, Gym3LeaderName jp LoadGymLeaderAndCityName -Gym3CityName: ; 5ca55 (17:4a55) +Gym3CityName: db "VERMILION CITY@" -Gym3LeaderName: ; 5ca64 (17:4a64) +Gym3LeaderName: db "LT.SURGE@" -VermilionGymScript_5ca6d: ; 5ca6d (17:4a6d) - ld a, [wd773] - bit 0, a +VermilionGymScript_5ca6d: + CheckEvent EVENT_2ND_LOCK_OPENED jr nz, .asm_5ca78 ld a, $24 jr .asm_5ca7f .asm_5ca78 - ld a, (SFX_02_57 - SFX_Headers_02) / 3 + ld a, SFX_GO_INSIDE call PlaySound ld a, $5 .asm_5ca7f - ld [wd09f], a - ld bc, $202 + ld [wNewTileBlockID], a + lb bc, 2, 2 predef_jump ReplaceTileBlock -VermilionGymScript_5ca8a: ; 5ca8a (17:4a8a) +VermilionGymScript_5ca8a: xor a ld [wJoyIgnore], a - ld [W_VERMILIONGYMCURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wVermilionGymCurScript], a + ld [wCurMapScript], a ret -VermilionGymScriptPointers: ; 5ca95 (17:4a95) +VermilionGymScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle dw VermilionGymScript3 -VermilionGymScript3: ; 5ca9d (17:4a9d) - ld a, [W_ISINBATTLE] ; W_ISINBATTLE +VermilionGymScript3: + ld a, [wIsInBattle] cp $ff jp z, VermilionGymScript_5ca8a ld a, $f0 ld [wJoyIgnore], a -VermilionGymScript_5caaa: ; 5caaa (17:4aaa) +VermilionGymScript_5caaa: ld a, $6 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a call DisplayTextID - ld hl, wd773 - set 7, [hl] - ld bc, (TM_24 << 8) | 1 + SetEvent EVENT_BEAT_LT_SURGE + lb bc, TM_24, 1 call GiveItem jr nc, .BagFull ld a, $7 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a call DisplayTextID - ld hl, wd773 - set 6, [hl] + SetEvent EVENT_GOT_TM24 jr .asm_5cad3 .BagFull ld a, $8 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a call DisplayTextID .asm_5cad3 - ld hl, W_OBTAINEDBADGES + ld hl, wObtainedBadges set 2, [hl] - ld hl, wd72a + ld hl, wBeatGymFlags set 2, [hl] ; deactivate gym trainers - ld a, [wd773] - or %00011100 - ld [wd773], a + SetEventRange EVENT_BEAT_VERMILION_GYM_TRAINER_0, EVENT_BEAT_VERMILION_GYM_TRAINER_2 jp VermilionGymScript_5ca8a -VermilionGymTextPointers: ; 5cae8 (17:4ae8) +VermilionGymTextPointers: dw VermilionGymText1 dw VermilionGymText2 dw VermilionGymText3 @@ -104,51 +99,49 @@ VermilionGymTextPointers: ; 5cae8 (17:4ae8) dw VermilionGymText7 dw VermilionGymText8 -VermilionGymTrainerHeaders: ; 5caf8 (17:4af8) -VermilionGymTrainerHeader0: ; 5caf8 (17:4af8) - db $2 ; flag's bit +VermilionGymTrainerHeader0: + dbEventFlagBit EVENT_BEAT_VERMILION_GYM_TRAINER_0 db ($3 << 4) ; trainer's view range - dw wd773 ; flag's byte - dw VermilionGymBattleText1 ; 0x4b9a TextBeforeBattle - dw VermilionGymAfterBattleText1 ; 0x4ba4 TextAfterBattle - dw VermilionGymEndBattleText1 ; 0x4b9f TextEndBattle - dw VermilionGymEndBattleText1 ; 0x4b9f TextEndBattle - -VermilionGymTrainerHeader1: ; 5cb04 (17:4b04) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_VERMILION_GYM_TRAINER_0 + dw VermilionGymBattleText1 ; TextBeforeBattle + dw VermilionGymAfterBattleText1 ; TextAfterBattle + dw VermilionGymEndBattleText1 ; TextEndBattle + dw VermilionGymEndBattleText1 ; TextEndBattle + +VermilionGymTrainerHeader1: + dbEventFlagBit EVENT_BEAT_VERMILION_GYM_TRAINER_1 db ($2 << 4) ; trainer's view range - dw wd773 ; flag's byte - dw VermilionGymBattleText2 ; 0x4bb3 TextBeforeBattle - dw VermilionGymAfterBattleText2 ; 0x4bbd TextAfterBattle - dw VermilionGymEndBattleText2 ; 0x4bb8 TextEndBattle - dw VermilionGymEndBattleText2 ; 0x4bb8 TextEndBattle - -VermilionGymTrainerHeader2: ; 5cb10 (17:4b10) - db $4 ; flag's bit + dwEventFlagAddress EVENT_BEAT_VERMILION_GYM_TRAINER_1 + dw VermilionGymBattleText2 ; TextBeforeBattle + dw VermilionGymAfterBattleText2 ; TextAfterBattle + dw VermilionGymEndBattleText2 ; TextEndBattle + dw VermilionGymEndBattleText2 ; TextEndBattle + +VermilionGymTrainerHeader2: + dbEventFlagBit EVENT_BEAT_VERMILION_GYM_TRAINER_2 db ($3 << 4) ; trainer's view range - dw wd773 ; flag's byte - dw VermilionGymBattleText3 ; 0x4bcc TextBeforeBattle - dw VermilionGymAfterBattleText3 ; 0x4bd6 TextAfterBattle - dw VermilionGymEndBattleText3 ; 0x4bd1 TextEndBattle - dw VermilionGymEndBattleText3 ; 0x4bd1 TextEndBattle + dwEventFlagAddress EVENT_BEAT_VERMILION_GYM_TRAINER_2 + dw VermilionGymBattleText3 ; TextBeforeBattle + dw VermilionGymAfterBattleText3 ; TextAfterBattle + dw VermilionGymEndBattleText3 ; TextEndBattle + dw VermilionGymEndBattleText3 ; TextEndBattle db $ff -VermilionGymText1: ; 5cb1d (17:4b1d) - db $08 ; asm - ld a, [wd773] - bit 7, a - jr z, .asm_7cc29 ; 0x5cb23 - bit 6, a - jr nz, .asm_41203 ; 0x5cb27 +VermilionGymText1: + TX_ASM + CheckEvent EVENT_BEAT_LT_SURGE + jr z, .asm_5cb39 + CheckEventReuseA EVENT_GOT_TM24 + jr nz, .asm_5cb31 call z, VermilionGymScript_5caaa call DisableWaitingAfterTextDisplay - jr .asm_23621 ; 0x5cb2f -.asm_41203 ; 0x5cb31 + jr .asm_5cb6a +.asm_5cb31 ld hl, VermilionGymText_5cb72 call PrintText - jr .asm_23621 ; 0x5cb37 -.asm_7cc29 ; 0x5cb39 + jr .asm_5cb6a +.asm_5cb39 ld hl, VermilionGymText_5cb6d call PrintText ld hl, wd72d @@ -157,118 +150,118 @@ VermilionGymText1: ; 5cb1d (17:4b1d) ld hl, ReceivedThunderbadgeText ld de, ReceivedThunderbadgeText call SaveEndBattleTextPointers - ldh a, [$8c] + ld a, [H_SPRITEINDEX] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters ld a, $3 - ld [W_GYMLEADERNO], a + ld [wGymLeaderNo], a xor a - ldh [$b4], a + ld [hJoyHeld], a ld a, $3 - ld [W_VERMILIONGYMCURSCRIPT], a - ld [W_CURMAPSCRIPT], a -.asm_23621 ; 0x5cb6a + ld [wVermilionGymCurScript], a + ld [wCurMapScript], a +.asm_5cb6a jp TextScriptEnd -VermilionGymText_5cb6d: ; 5cb6d (17:4b6d) +VermilionGymText_5cb6d: TX_FAR _VermilionGymText_5cb6d db "@" -VermilionGymText_5cb72: ; 5cb72 (17:4b72) +VermilionGymText_5cb72: TX_FAR _VermilionGymText_5cb72 db "@" -VermilionGymText6: ; 5cb77 (17:4b77) +VermilionGymText6: TX_FAR _VermilionGymText_5cb77 db "@" -VermilionGymText7: ; 5cb7c (17:4b7c) +VermilionGymText7: TX_FAR _ReceivedTM24Text - db $11 + TX_SFX_KEY_ITEM TX_FAR _TM24ExplanationText db "@" -VermilionGymText8: ; 5cb86 (17:4b86) +VermilionGymText8: TX_FAR _TM24NoRoomText db "@" -ReceivedThunderbadgeText: ; 5cb8b (17:4b8b) +ReceivedThunderbadgeText: TX_FAR _ReceivedThunderbadgeText db "@" -VermilionGymText2: ; 5cb90 (17:4b90) - db $08 ; asm +VermilionGymText2: + TX_ASM ld hl, VermilionGymTrainerHeader0 call TalkToTrainer jp TextScriptEnd -VermilionGymBattleText1: ; 5cb9a (17:4b9a) +VermilionGymBattleText1: TX_FAR _VermilionGymBattleText1 db "@" -VermilionGymEndBattleText1: ; 5cb9f (17:4b9f) +VermilionGymEndBattleText1: TX_FAR _VermilionGymEndBattleText1 db "@" -VermilionGymAfterBattleText1: ; 5cba4 (17:4ba4) +VermilionGymAfterBattleText1: TX_FAR _VermilionGymAfterBattleText1 db "@" -VermilionGymText3: ; 5cba9 (17:4ba9) - db $08 ; asm +VermilionGymText3: + TX_ASM ld hl, VermilionGymTrainerHeader1 call TalkToTrainer jp TextScriptEnd -VermilionGymBattleText2: ; 5cbb3 (17:4bb3) +VermilionGymBattleText2: TX_FAR _VermilionGymBattleText2 db "@" -VermilionGymEndBattleText2: ; 5cbb8 (17:4bb8) +VermilionGymEndBattleText2: TX_FAR _VermilionGymEndBattleText2 db "@" -VermilionGymAfterBattleText2: ; 5cbbd (17:4bbd) +VermilionGymAfterBattleText2: TX_FAR _VermilionGymAfterBattleText2 db "@" -VermilionGymText4: ; 5cbc2 (17:4bc2) - db $08 ; asm +VermilionGymText4: + TX_ASM ld hl, VermilionGymTrainerHeader2 call TalkToTrainer jp TextScriptEnd -VermilionGymBattleText3: ; 5cbcc (17:4bcc) +VermilionGymBattleText3: TX_FAR _VermilionGymBattleText3 db "@" -VermilionGymEndBattleText3: ; 5cbd1 (17:4bd1) +VermilionGymEndBattleText3: TX_FAR _VermilionGymEndBattleText3 db "@" -VermilionGymAfterBattleText3: ; 5cbd6 (17:4bd6) +VermilionGymAfterBattleText3: TX_FAR _VermilionGymAfterBattleText3 db "@" -VermilionGymText5: ; 5cbdb (17:4bdb) - db $08 ; asm - ld a, [wd72a] +VermilionGymText5: + TX_ASM + ld a, [wBeatGymFlags] bit 2, a - jr nz, .asm_13b67 ; 0x5cbe1 + jr nz, .asm_5cbeb ld hl, VermilionGymText_5cbf4 call PrintText - jr .asm_c2b38 ; 0x5cbe9 -.asm_13b67 ; 0x5cbeb + jr .asm_5cbf1 +.asm_5cbeb ld hl, VermilionGymText_5cbf9 call PrintText -.asm_c2b38 ; 0x5cbf1 +.asm_5cbf1 jp TextScriptEnd -VermilionGymText_5cbf4: ; 5cbf4 (17:4bf4) +VermilionGymText_5cbf4: TX_FAR _VermilionGymText_5cbf4 db "@" -VermilionGymText_5cbf9: ; 5cbf9 (17:4bf9) +VermilionGymText_5cbf9: TX_FAR _VermilionGymText_5cbf9 db "@" diff --git a/scripts/vermilionhouse1.asm b/scripts/vermilionhouse1.asm index 4ead1af7..d2dac4ca 100755 --- a/scripts/vermilionhouse1.asm +++ b/scripts/vermilionhouse1.asm @@ -1,24 +1,24 @@ -VermilionHouse1Script: ; 1dafc (7:5afc) +VermilionHouse1Script: call EnableAutoTextBoxDrawing ret -VermilionHouse1TextPointers: ; 1db00 (7:5b00) +VermilionHouse1TextPointers: dw VermilionHouse1Text1 dw VermilionHouse1Text2 dw VermilionHouse1Text3 -VermilionHouse1Text1: ; 1db06 (7:5b06) +VermilionHouse1Text1: TX_FAR _VermilionHouse1Text1 db "@" -VermilionHouse1Text2: ; 1db0b (7:5b0b) +VermilionHouse1Text2: TX_FAR _VermilionHouse1Text2 - db $08 ; asm + TX_ASM ld a, PIDGEY call PlayCry call WaitForSoundToFinish jp TextScriptEnd -VermilionHouse1Text3: ; 1db1b (7:5b1b) +VermilionHouse1Text3: TX_FAR _VermilionHouse1Text3 db "@" diff --git a/scripts/vermilionhouse2.asm b/scripts/vermilionhouse2.asm index 7c06c6e9..c0735f32 100755 --- a/scripts/vermilionhouse2.asm +++ b/scripts/vermilionhouse2.asm @@ -1,11 +1,11 @@ -VermilionHouse2Script: ; 56070 (15:6070) +VermilionHouse2Script: jp EnableAutoTextBoxDrawing -VermilionHouse2TextPointers: ; 56073 (15:6073) +VermilionHouse2TextPointers: dw VermilionHouse2Text1 -VermilionHouse2Text1: ; 56075 (15:6075) - db $08 ; asm +VermilionHouse2Text1: + TX_ASM ld a, [wd728] bit 3, a jr nz, .asm_03ef5 @@ -15,7 +15,7 @@ VermilionHouse2Text1: ; 56075 (15:6075) ld a, [wCurrentMenuItem] and a jr nz, .asm_eb1b7 - ld bc, (OLD_ROD << 8) | 1 + lb bc, OLD_ROD, 1 call GiveItem jr nc, .BagFull ld hl, wd728 @@ -34,24 +34,24 @@ VermilionHouse2Text1: ; 56075 (15:6075) call PrintText jp TextScriptEnd -VermilionHouse2Text_560b1: ; 560b1 (15:60b1) +VermilionHouse2Text_560b1: TX_FAR _VermilionHouse2Text_560b1 db "@" -VermilionHouse2Text_560b6: ; 560b6 (15:60b6) - TX_FAR _VermilionHouse2Text_560b6 ; 0x9c554 - db $0B - TX_FAR _VermilionHouse2Text_560bb ; 0x9c5a4 +VermilionHouse2Text_560b6: + TX_FAR _VermilionHouse2Text_560b6 + TX_SFX_ITEM_1 + TX_FAR _VermilionHouse2Text_560bb db "@" -VermilionHouse2Text_560c0: ; 560c0 (15:60c0) +VermilionHouse2Text_560c0: TX_FAR _VermilionHouse2Text_560c0 db "@" -VermilionHouse2Text_560c5: ; 560c5 (15:60c5) +VermilionHouse2Text_560c5: TX_FAR _VermilionHouse2Text_560c5 db "@" -VermilionHouse2Text_560ca: ; 560ca (15:60ca) +VermilionHouse2Text_560ca: TX_FAR _VermilionHouse2Text_560ca db "@" diff --git a/scripts/vermilionhouse3.asm b/scripts/vermilionhouse3.asm index 08e2e395..1f0af501 100755 --- a/scripts/vermilionhouse3.asm +++ b/scripts/vermilionhouse3.asm @@ -1,11 +1,11 @@ -VermilionHouse3Script: ; 19c12 (6:5c12) +VermilionHouse3Script: jp EnableAutoTextBoxDrawing -VermilionHouse3TextPointers: ; 19c15 (6:5c15) +VermilionHouse3TextPointers: dw VermilionHouse3Text1 -VermilionHouse3Text1: ; 19c17 (6:5c17) - db $08 ; asm +VermilionHouse3Text1: + TX_ASM ld a, $4 ld [wWhichTrade], a predef DoInGameTradeDialogue diff --git a/scripts/vermilionmart.asm b/scripts/vermilionmart.asm index 921e7852..2d4df78d 100755 --- a/scripts/vermilionmart.asm +++ b/scripts/vermilionmart.asm @@ -1,15 +1,15 @@ -VermilionMartScript: ; 5c9e1 (17:49e1) +VermilionMartScript: jp EnableAutoTextBoxDrawing -VermilionMartTextPointers: ; 5c9e4 (17:49e4) - dw VermilionMartText1 +VermilionMartTextPointers: + dw VermilionCashierText dw VermilionMartText2 dw VermilionMartText3 -VermilionMartText2: ; 5c9ea (17:49ea) +VermilionMartText2: TX_FAR _VermilionMartText2 db "@" -VermilionMartText3: ; 5c9ef (17:49ef) +VermilionMartText3: TX_FAR _VermilionMartText3 db "@" diff --git a/scripts/vermilionpokecenter.asm b/scripts/vermilionpokecenter.asm index 6e85b3e3..f70aed31 100755 --- a/scripts/vermilionpokecenter.asm +++ b/scripts/vermilionpokecenter.asm @@ -1,23 +1,23 @@ -VermilionPokecenterScript: ; 5c98f (17:498f) +VermilionPokecenterScript: call Serial_TryEstablishingExternallyClockedConnection jp EnableAutoTextBoxDrawing -VermilionPokecenterTextPointers: ; 5c995 (17:4995) - dw VermilionPokecenterText1 +VermilionPokecenterTextPointers: + dw VermilionHealNurseText dw VermilionPokecenterText2 dw VermilionPokecenterText3 - dw VermilionPokecenterText4 + dw VermilionTradeNurseText -VermilionPokecenterText1: ; 5c99d (17:499d) - db $ff +VermilionHealNurseText: + TX_POKECENTER_NURSE -VermilionPokecenterText2: ; 5c99e (17:499e) - TX_FAR _VermilionPokecenterText1 +VermilionPokecenterText2: + TX_FAR _VermilionPokecenterText2 db "@" -VermilionPokecenterText3: ; 5c9a3 (17:49a3) +VermilionPokecenterText3: TX_FAR _VermilionPokecenterText3 db "@" -VermilionPokecenterText4: ; 5c9a8 (17:49a8) - db $f6 +VermilionTradeNurseText: + TX_CABLE_CLUB_RECEPTIONIST diff --git a/scripts/victoryroad1.asm b/scripts/victoryroad1.asm index b6d2bf3e..5409d733 100755 --- a/scripts/victoryroad1.asm +++ b/scripts/victoryroad1.asm @@ -1,107 +1,103 @@ -VictoryRoad1Script: ; 5da0a (17:5a0a) - ld hl, wd126 +VictoryRoad1Script: + ld hl, wCurrentMapScriptFlags bit 5, [hl] res 5, [hl] call nz, .next call EnableAutoTextBoxDrawing - ld hl, VictoryRoad1TrainerHeaders + ld hl, VictoryRoad1TrainerHeader0 ld de, VictoryRoad1ScriptPointers - ld a, [W_VICTORYROAD1CURSCRIPT] + ld a, [wVictoryRoad1CurScript] call ExecuteCurMapScriptInTable - ld [W_VICTORYROAD1CURSCRIPT], a + ld [wVictoryRoad1CurScript], a ret .next - ld a, [wd869] - bit 7, a + CheckEvent EVENT_VICTORY_ROAD_1_BOULDER_ON_SWITCH ret z ld a, $1d - ld [wd09f], a - ld bc, $604 + ld [wNewTileBlockID], a + lb bc, 6, 4 predef_jump ReplaceTileBlock -VictoryRoad1ScriptPointers: ; 5da3a (17:5a3a) +VictoryRoad1ScriptPointers: dw VictoryRoad1Script0 dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle -VictoryRoad1Script0: ; 5da40 (17:5a40) - ld a, [wd869] - bit 7, a +VictoryRoad1Script0: + CheckEvent EVENT_VICTORY_ROAD_1_BOULDER_ON_SWITCH jp nz, CheckFightingMapTrainers - ld hl, CoordsData_5da5c ; $5a5c + ld hl, CoordsData_5da5c call CheckBoulderCoords jp nc, CheckFightingMapTrainers - ld hl, wd126 + ld hl, wCurrentMapScriptFlags set 5, [hl] - ld hl, wd869 - set 7, [hl] + SetEvent EVENT_VICTORY_ROAD_1_BOULDER_ON_SWITCH ret -CoordsData_5da5c: ; 5da5c (17:5a5c) +CoordsData_5da5c: db $0D,$11,$FF -VictoryRoad1TextPointers: ; 5da5f (17:5a5f) +VictoryRoad1TextPointers: dw VictoryRoad1Text1 dw VictoryRoad1Text2 - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText dw BoulderText dw BoulderText dw BoulderText -VictoryRoad1TrainerHeaders: ; 5da6d (17:5a6d) -VictoryRoad1TrainerHeader0: ; 5da6d (17:5a6d) - db $1 ; flag's bit +VictoryRoad1TrainerHeader0: + dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_1_TRAINER_0 db ($2 << 4) ; trainer's view range - dw wd869 ; flag's byte - dw VictoryRoad1BattleText1 ; 0x5a9a TextBeforeBattle - dw VictoryRoad1AfterBattleText1 ; 0x5aa4 TextAfterBattle - dw VictoryRoad1EndBattleText1 ; 0x5a9f TextEndBattle - dw VictoryRoad1EndBattleText1 ; 0x5a9f TextEndBattle + dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_1_TRAINER_0 + dw VictoryRoad1BattleText1 ; TextBeforeBattle + dw VictoryRoad1AfterBattleText1 ; TextAfterBattle + dw VictoryRoad1EndBattleText1 ; TextEndBattle + dw VictoryRoad1EndBattleText1 ; TextEndBattle -VictoryRoad1TrainerHeader1: ; 5da79 (17:5a79) - db $2 ; flag's bit +VictoryRoad1TrainerHeader1: + dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_1_TRAINER_1 db ($2 << 4) ; trainer's view range - dw wd869 ; flag's byte - dw VictoryRoad1BattleText2 ; 0x5aa9 TextBeforeBattle - dw VictoryRoad1AfterBattleText2 ; 0x5ab3 TextAfterBattle - dw VictoryRoad1EndBattleText2 ; 0x5aae TextEndBattle - dw VictoryRoad1EndBattleText2 ; 0x5aae TextEndBattle + dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_1_TRAINER_1 + dw VictoryRoad1BattleText2 ; TextBeforeBattle + dw VictoryRoad1AfterBattleText2 ; TextAfterBattle + dw VictoryRoad1EndBattleText2 ; TextEndBattle + dw VictoryRoad1EndBattleText2 ; TextEndBattle db $ff -VictoryRoad1Text1: ; 5da86 (17:5a86) - db $08 ; asm +VictoryRoad1Text1: + TX_ASM ld hl, VictoryRoad1TrainerHeader0 call TalkToTrainer jp TextScriptEnd -VictoryRoad1Text2: ; 5da90 (17:5a90) - db $08 ; asm +VictoryRoad1Text2: + TX_ASM ld hl, VictoryRoad1TrainerHeader1 call TalkToTrainer jp TextScriptEnd -VictoryRoad1BattleText1: ; 5da9a (17:5a9a) +VictoryRoad1BattleText1: TX_FAR _VictoryRoad1BattleText1 db "@" -VictoryRoad1EndBattleText1: ; 5da9f (17:5a9f) +VictoryRoad1EndBattleText1: TX_FAR _VictoryRoad1EndBattleText1 db "@" -VictoryRoad1AfterBattleText1: ; 5daa4 (17:5aa4) +VictoryRoad1AfterBattleText1: TX_FAR _VictoryRoad1AfterBattleText1 db "@" -VictoryRoad1BattleText2: ; 5daa9 (17:5aa9) +VictoryRoad1BattleText2: TX_FAR _VictoryRoad1BattleText2 db "@" -VictoryRoad1EndBattleText2: ; 5daae (17:5aae) +VictoryRoad1EndBattleText2: TX_FAR _VictoryRoad1EndBattleText2 db "@" -VictoryRoad1AfterBattleText2: ; 5dab3 (17:5ab3) +VictoryRoad1AfterBattleText2: TX_FAR _VictoryRoad1AfterBattleText2 db "@" diff --git a/scripts/victoryroad2.asm b/scripts/victoryroad2.asm index 4aab61ca..847573d8 100755 --- a/scripts/victoryroad2.asm +++ b/scripts/victoryroad2.asm @@ -1,247 +1,244 @@ -VictoryRoad2Script: ; 5179d (14:579d) - ld hl, wd126 +VictoryRoad2Script: + ld hl, wCurrentMapScriptFlags bit 6, [hl] res 6, [hl] call nz, VictoryRoad2Script_517c4 - ld hl, wd126 + ld hl, wCurrentMapScriptFlags bit 5, [hl] res 5, [hl] call nz, VictoryRoad2Script_517c9 call EnableAutoTextBoxDrawing - ld hl, VictoryRoad2TrainerHeaders + ld hl, VictoryRoad2TrainerHeader0 ld de, VictoryRoad2ScriptPointers - ld a, [W_VICTORYROAD2CURSCRIPT] + ld a, [wVictoryRoad2CurScript] call ExecuteCurMapScriptInTable - ld [W_VICTORYROAD2CURSCRIPT], a + ld [wVictoryRoad2CurScript], a ret -VictoryRoad2Script_517c4: ; 517c4 (14:57c4) - ld hl, wd869 - res 7, [hl] +VictoryRoad2Script_517c4: + ResetEvent EVENT_VICTORY_ROAD_1_BOULDER_ON_SWITCH -VictoryRoad2Script_517c9: ; 517c9 (14:57c9) - ld a, [wd7ee] - bit 0, a +VictoryRoad2Script_517c9: + CheckEvent EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1 jr z, .asm_517da push af ld a, $15 - ld bc, $403 + lb bc, 4, 3 call VictoryRoad2Script_517e2 pop af .asm_517da bit 7, a ret z ld a, $1d - ld bc, $70b + lb bc, 7, 11 -VictoryRoad2Script_517e2: ; 517e2 (14:57e2) - ld [wd09f], a +VictoryRoad2Script_517e2: + ld [wNewTileBlockID], a predef ReplaceTileBlock ret -VictoryRoad2ScriptPointers: ; 517eb (14:57eb) +VictoryRoad2ScriptPointers: dw VictoryRoad2Script0 dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle -VictoryRoad2Script0: ; 517f1 (14:57f1) - ld hl, CoordsData_51816 ; $5816 +VictoryRoad2Script0: + ld hl, CoordsData_51816 call CheckBoulderCoords jp nc, CheckFightingMapTrainers - ld hl, wd7ee - ld a, [wWhichTrade] ; wWhichTrade + EventFlagAddress hl, EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1 + ld a, [wCoordIndex] cp $2 jr z, .asm_5180b - bit 0, [hl] - set 0, [hl] + CheckEventReuseHL EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1 + SetEventReuseHL EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1 ret nz jr .asm_51810 .asm_5180b - bit 7, [hl] - set 7, [hl] + CheckEventAfterBranchReuseHL EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH2, EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1 + SetEventReuseHL EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH2 ret nz .asm_51810 - ld hl, wd126 + ld hl, wCurrentMapScriptFlags set 5, [hl] ret -CoordsData_51816: ; 51816 (14:5816) +CoordsData_51816: db $10,$01 db $10,$09 db $FF -VictoryRoad2TextPointers: ; 5181b (14:581b) +VictoryRoad2TextPointers: dw VictoryRoad2Text1 dw VictoryRoad2Text2 dw VictoryRoad2Text3 dw VictoryRoad2Text4 dw VictoryRoad2Text5 - dw VictoryRoad2Text6 - dw Predef5CText - dw Predef5CText - dw Predef5CText - dw Predef5CText + dw MoltresText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText dw BoulderText dw BoulderText dw BoulderText -VictoryRoad2TrainerHeaders: ; 51835 (14:5835) -VictoryRoad2TrainerHeader0: ; 51835 (14:5835) - db $1 ; flag's bit +VictoryRoad2TrainerHeader0: + dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_2_TRAINER_0 db ($4 << 4) ; trainer's view range - dw wd7ee ; flag's byte - dw VictoryRoad2BattleText1 ; 0x58ca TextBeforeBattle - dw VictoryRoad2AfterBattleText1 ; 0x58d4 TextAfterBattle - dw VictoryRoad2EndBattleText1 ; 0x58cf TextEndBattle - dw VictoryRoad2EndBattleText1 ; 0x58cf TextEndBattle - -VictoryRoad2TrainerHeader2: ; 51841 (14:5841) - db $2 ; flag's bit + dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_2_TRAINER_0 + dw VictoryRoad2BattleText1 ; TextBeforeBattle + dw VictoryRoad2AfterBattleText1 ; TextAfterBattle + dw VictoryRoad2EndBattleText1 ; TextEndBattle + dw VictoryRoad2EndBattleText1 ; TextEndBattle + +VictoryRoad2TrainerHeader1: + dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_2_TRAINER_1 db ($3 << 4) ; trainer's view range - dw wd7ee ; flag's byte - dw VictoryRoad2BattleText2 ; 0x58d9 TextBeforeBattle - dw VictoryRoad2AfterBattleText2 ; 0x58e3 TextAfterBattle - dw VictoryRoad2EndBattleText2 ; 0x58de TextEndBattle - dw VictoryRoad2EndBattleText2 ; 0x58de TextEndBattle - -VictoryRoad2TrainerHeader3: ; 5184d (14:584d) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_2_TRAINER_1 + dw VictoryRoad2BattleText2 ; TextBeforeBattle + dw VictoryRoad2AfterBattleText2 ; TextAfterBattle + dw VictoryRoad2EndBattleText2 ; TextEndBattle + dw VictoryRoad2EndBattleText2 ; TextEndBattle + +VictoryRoad2TrainerHeader2: + dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_2_TRAINER_2 db ($3 << 4) ; trainer's view range - dw wd7ee ; flag's byte - dw VictoryRoad2BattleText3 ; 0x58e8 TextBeforeBattle - dw VictoryRoad2AfterBattleText3 ; 0x58f2 TextAfterBattle - dw VictoryRoad2EndBattleText3 ; 0x58ed TextEndBattle - dw VictoryRoad2EndBattleText3 ; 0x58ed TextEndBattle - -VictoryRoad2TrainerHeader4: ; 51859 (14:5859) - db $4 ; flag's bit + dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_2_TRAINER_2 + dw VictoryRoad2BattleText3 ; TextBeforeBattle + dw VictoryRoad2AfterBattleText3 ; TextAfterBattle + dw VictoryRoad2EndBattleText3 ; TextEndBattle + dw VictoryRoad2EndBattleText3 ; TextEndBattle + +VictoryRoad2TrainerHeader3: + dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_2_TRAINER_3 db ($1 << 4) ; trainer's view range - dw wd7ee ; flag's byte - dw VictoryRoad2BattleText4 ; 0x58f7 TextBeforeBattle - dw VictoryRoad2AfterBattleText4 ; 0x5901 TextAfterBattle - dw VictoryRoad2EndBattleText4 ; 0x58fc TextEndBattle - dw VictoryRoad2EndBattleText4 ; 0x58fc TextEndBattle - -VictoryRoad2TrainerHeader5: ; 51865 (14:5865) - db $5 ; flag's bit + dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_2_TRAINER_3 + dw VictoryRoad2BattleText4 ; TextBeforeBattle + dw VictoryRoad2AfterBattleText4 ; TextAfterBattle + dw VictoryRoad2EndBattleText4 ; TextEndBattle + dw VictoryRoad2EndBattleText4 ; TextEndBattle + +VictoryRoad2TrainerHeader4: + dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_2_TRAINER_4 db ($3 << 4) ; trainer's view range - dw wd7ee ; flag's byte - dw VictoryRoad2BattleText5 ; 0x5906 TextBeforeBattle - dw VictoryRoad2AfterBattleText5 ; 0x5910 TextAfterBattle - dw VictoryRoad2EndBattleText5 ; 0x590b TextEndBattle - dw VictoryRoad2EndBattleText5 ; 0x590b TextEndBattle - -VictoryRoad2TrainerHeader6: ; 51871 (14:5871) - db $6 ; flag's bit + dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_2_TRAINER_4 + dw VictoryRoad2BattleText5 ; TextBeforeBattle + dw VictoryRoad2AfterBattleText5 ; TextAfterBattle + dw VictoryRoad2EndBattleText5 ; TextEndBattle + dw VictoryRoad2EndBattleText5 ; TextEndBattle + +MoltresTrainerHeader: + dbEventFlagBit EVENT_BEAT_MOLTRES db ($0 << 4) ; trainer's view range - dw wd7ee ; flag's byte - dw VictoryRoad2BattleText6 ; 0x58ba TextBeforeBattle - dw VictoryRoad2BattleText6 ; 0x58ba TextAfterBattle - dw VictoryRoad2BattleText6 ; 0x58ba TextEndBattle - dw VictoryRoad2BattleText6 ; 0x58ba TextEndBattle + dwEventFlagAddress EVENT_BEAT_MOLTRES + dw MoltresBattleText ; TextBeforeBattle + dw MoltresBattleText ; TextAfterBattle + dw MoltresBattleText ; TextEndBattle + dw MoltresBattleText ; TextEndBattle db $ff -VictoryRoad2Text1: ; 5187e (14:587e) - db $08 ; asm +VictoryRoad2Text1: + TX_ASM ld hl, VictoryRoad2TrainerHeader0 call TalkToTrainer jp TextScriptEnd -VictoryRoad2Text2: ; 51888 (14:5888) - db $08 ; asm - ld hl, VictoryRoad2TrainerHeader2 +VictoryRoad2Text2: + TX_ASM + ld hl, VictoryRoad2TrainerHeader1 call TalkToTrainer jp TextScriptEnd -VictoryRoad2Text3: ; 51892 (14:5892) - db $08 ; asm - ld hl, VictoryRoad2TrainerHeader3 +VictoryRoad2Text3: + TX_ASM + ld hl, VictoryRoad2TrainerHeader2 call TalkToTrainer jp TextScriptEnd -VictoryRoad2Text4: ; 5189c (14:589c) - db $08 ; asm - ld hl, VictoryRoad2TrainerHeader4 +VictoryRoad2Text4: + TX_ASM + ld hl, VictoryRoad2TrainerHeader3 call TalkToTrainer jp TextScriptEnd -VictoryRoad2Text5: ; 518a6 (14:58a6) - db $08 ; asm - ld hl, VictoryRoad2TrainerHeader5 +VictoryRoad2Text5: + TX_ASM + ld hl, VictoryRoad2TrainerHeader4 call TalkToTrainer jp TextScriptEnd -VictoryRoad2Text6: ; 518b0 (14:58b0) - db $08 ; asm - ld hl, VictoryRoad2TrainerHeader6 +MoltresText: + TX_ASM + ld hl, MoltresTrainerHeader call TalkToTrainer jp TextScriptEnd -VictoryRoad2BattleText6: ; 518ba (14:58ba) - TX_FAR _VictoryRoad2BattleText6 - db $8 +MoltresBattleText: + TX_FAR _MoltresBattleText + TX_ASM ld a, MOLTRES call PlayCry call WaitForSoundToFinish jp TextScriptEnd -VictoryRoad2BattleText1: ; 518ca (14:58ca) +VictoryRoad2BattleText1: TX_FAR _VictoryRoad2BattleText1 db "@" -VictoryRoad2EndBattleText1: ; 518cf (14:58cf) +VictoryRoad2EndBattleText1: TX_FAR _VictoryRoad2EndBattleText1 db "@" -VictoryRoad2AfterBattleText1: ; 518d4 (14:58d4) +VictoryRoad2AfterBattleText1: TX_FAR _VictoryRoad2AfterBattleText1 db "@" -VictoryRoad2BattleText2: ; 518d9 (14:58d9) +VictoryRoad2BattleText2: TX_FAR _VictoryRoad2BattleText2 db "@" -VictoryRoad2EndBattleText2: ; 518de (14:58de) +VictoryRoad2EndBattleText2: TX_FAR _VictoryRoad2EndBattleText2 db "@" -VictoryRoad2AfterBattleText2: ; 518e3 (14:58e3) +VictoryRoad2AfterBattleText2: TX_FAR _VictoryRoad2AfterBattleText2 db "@" -VictoryRoad2BattleText3: ; 518e8 (14:58e8) +VictoryRoad2BattleText3: TX_FAR _VictoryRoad2BattleText3 db "@" -VictoryRoad2EndBattleText3: ; 518ed (14:58ed) +VictoryRoad2EndBattleText3: TX_FAR _VictoryRoad2EndBattleText3 db "@" -VictoryRoad2AfterBattleText3: ; 518f2 (14:58f2) +VictoryRoad2AfterBattleText3: TX_FAR _VictoryRoad2AfterBattleText3 db "@" -VictoryRoad2BattleText4: ; 518f7 (14:58f7) +VictoryRoad2BattleText4: TX_FAR _VictoryRoad2BattleText4 db "@" -VictoryRoad2EndBattleText4: ; 518fc (14:58fc) +VictoryRoad2EndBattleText4: TX_FAR _VictoryRoad2EndBattleText4 db "@" -VictoryRoad2AfterBattleText4: ; 51901 (14:5901) +VictoryRoad2AfterBattleText4: TX_FAR _VictoryRoad2AfterBattleText4 db "@" -VictoryRoad2BattleText5: ; 51906 (14:5906) +VictoryRoad2BattleText5: TX_FAR _VictoryRoad2BattleText5 db "@" -VictoryRoad2EndBattleText5: ; 5190b (14:590b) +VictoryRoad2EndBattleText5: TX_FAR _VictoryRoad2EndBattleText5 db "@" -VictoryRoad2AfterBattleText5: ; 51910 (14:5910) +VictoryRoad2AfterBattleText5: TX_FAR _VictoryRoad2AfterBattleText5 db "@" diff --git a/scripts/victoryroad3.asm b/scripts/victoryroad3.asm index 01269a3f..c615091b 100755 --- a/scripts/victoryroad3.asm +++ b/scripts/victoryroad3.asm @@ -1,70 +1,66 @@ -VictoryRoad3Script: ; 44980 (11:4980) +VictoryRoad3Script: call VictoryRoad3Script_44996 call EnableAutoTextBoxDrawing - ld hl, VictoryRoad3TrainerHeaders + ld hl, VictoryRoad3TrainerHeader0 ld de, VictoryRoad3ScriptPointers - ld a, [W_VICTORYROAD3CURSCRIPT] + ld a, [wVictoryRoad3CurScript] call ExecuteCurMapScriptInTable - ld [W_VICTORYROAD3CURSCRIPT], a + ld [wVictoryRoad3CurScript], a ret -VictoryRoad3Script_44996: ; 44996 (11:4996) - ld hl, wd126 +VictoryRoad3Script_44996: + ld hl, wCurrentMapScriptFlags bit 5, [hl] res 5, [hl] ret z - ld hl, wd813 - bit 0, [hl] + CheckEventHL EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH1 ret z ld a, $1d - ld [wd09f], a - ld bc, $503 + ld [wNewTileBlockID], a + lb bc, 5, 3 predef_jump ReplaceTileBlock -VictoryRoad3ScriptPointers: ; 449b1 (11:49b1) +VictoryRoad3ScriptPointers: dw VictoryRoad3Script0 dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle -VictoryRoad3Script0: ; 449b7 (11:49b7) +VictoryRoad3Script0: ld hl, wFlags_0xcd60 bit 7, [hl] res 7, [hl] jp z, .asm_449fe - ld hl, .coordsData_449f9 ; $49f9 + ld hl, .coordsData_449f9 call CheckBoulderCoords jp nc, .asm_449fe - ld a, [wWhichTrade] ; wWhichTrade + ld a, [wCoordIndex] cp $1 jr nz, .asm_449dc - ld hl, wd126 + ld hl, wCurrentMapScriptFlags set 5, [hl] - ld hl, wd813 - set 0, [hl] + SetEvent EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH1 ret .asm_449dc - ld hl, wd813 - bit 6, [hl] - set 6, [hl] + CheckAndSetEvent EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH2 jr nz, .asm_449fe ld a, HS_VICTORY_ROAD_3_BOULDER - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject ld a, HS_VICTORY_ROAD_2_BOULDER - ld [wcc4d], a + ld [wMissableObjectIndex], a predef_jump ShowObject -.coordsData_449f9: ; 449f9 (11:49f9) +.coordsData_449f9: db $05,$03 db $0F,$17 db $FF .asm_449fe - ld a, $c2 + ld a, VICTORY_ROAD_2 ld [wDungeonWarpDestinationMap], a - ld hl, .coordsData_449f9 ; $49f9 - call Func_46981 - ld a, [wWhichTrade] ; wWhichTrade + ld hl, .coordsData_449f9 + call IsPlayerOnDungeonWarp + ld a, [wCoordIndex] cp $1 jr nz, .asm_44a1b ld hl, wd72d @@ -78,125 +74,124 @@ VictoryRoad3Script0: ; 449b7 (11:49b7) jp z, CheckFightingMapTrainers ret -VictoryRoad3TextPointers: ; 44a24 (11:4a24) +VictoryRoad3TextPointers: dw VictoryRoad3Text1 dw VictoryRoad3Text2 dw VictoryRoad3Text3 dw VictoryRoad3Text4 - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText dw BoulderText dw BoulderText dw BoulderText dw BoulderText -VictoryRoad3TrainerHeaders: ; 44a38 (11:4a38) -VictoryRoad3TrainerHeader0: ; 44a38 (11:4a38) - db $1 ; flag's bit +VictoryRoad3TrainerHeader0: + dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_3_TRAINER_0 db ($1 << 4) ; trainer's view range - dw wd813 ; flag's byte - dw VictoryRoad3BattleText2 ; 0x4a91 TextBeforeBattle - dw VictoryRoad3AfterBattleText2 ; 0x4a9b TextAfterBattle - dw VictoryRoad3EndBattleText2 ; 0x4a96 TextEndBattle - dw VictoryRoad3EndBattleText2 ; 0x4a96 TextEndBattle - -VictoryRoad3TrainerHeader2: ; 44a44 (11:4a44) - db $2 ; flag's bit + dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_3_TRAINER_0 + dw VictoryRoad3BattleText2 ; TextBeforeBattle + dw VictoryRoad3AfterBattleText2 ; TextAfterBattle + dw VictoryRoad3EndBattleText2 ; TextEndBattle + dw VictoryRoad3EndBattleText2 ; TextEndBattle + +VictoryRoad3TrainerHeader1: + dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_3_TRAINER_1 db ($4 << 4) ; trainer's view range - dw wd813 ; flag's byte - dw VictoryRoad3BattleText3 ; 0x4aa0 TextBeforeBattle - dw VictoryRoad3AfterBattleText3 ; 0x4aaa TextAfterBattle - dw VictoryRoad3EndBattleText3 ; 0x4aa5 TextEndBattle - dw VictoryRoad3EndBattleText3 ; 0x4aa5 TextEndBattle - -VictoryRoad3TrainerHeader3: ; 44a50 (11:4a50) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_3_TRAINER_1 + dw VictoryRoad3BattleText3 ; TextBeforeBattle + dw VictoryRoad3AfterBattleText3 ; TextAfterBattle + dw VictoryRoad3EndBattleText3 ; TextEndBattle + dw VictoryRoad3EndBattleText3 ; TextEndBattle + +VictoryRoad3TrainerHeader2: + dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_3_TRAINER_2 db ($4 << 4) ; trainer's view range - dw wd813 ; flag's byte - dw VictoryRoad3BattleText4 ; 0x4aaf TextBeforeBattle - dw VictoryRoad3AfterBattleText4 ; 0x4ab9 TextAfterBattle - dw VictoryRoad3EndBattleText4 ; 0x4ab4 TextEndBattle - dw VictoryRoad3EndBattleText4 ; 0x4ab4 TextEndBattle - -VictoryRoad3TrainerHeader4: ; 44a5c (11:4a5c) - db $4 ; flag's bit + dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_3_TRAINER_2 + dw VictoryRoad3BattleText4 ; TextBeforeBattle + dw VictoryRoad3AfterBattleText4 ; TextAfterBattle + dw VictoryRoad3EndBattleText4 ; TextEndBattle + dw VictoryRoad3EndBattleText4 ; TextEndBattle + +VictoryRoad3TrainerHeader3: + dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_3_TRAINER_3 db ($4 << 4) ; trainer's view range - dw wd813 ; flag's byte - dw VictoryRoad3BattleText5 ; 0x4abe TextBeforeBattle - dw VictoryRoad3AfterBattleText5 ; 0x4ac8 TextAfterBattle - dw VictoryRoad3EndBattleText5 ; 0x4ac3 TextEndBattle - dw VictoryRoad3EndBattleText5 ; 0x4ac3 TextEndBattle + dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_3_TRAINER_3 + dw VictoryRoad3BattleText5 ; TextBeforeBattle + dw VictoryRoad3AfterBattleText5 ; TextAfterBattle + dw VictoryRoad3EndBattleText5 ; TextEndBattle + dw VictoryRoad3EndBattleText5 ; TextEndBattle db $ff -VictoryRoad3Text1: ; 44a69 (11:4a69) - db $08 ; asm +VictoryRoad3Text1: + TX_ASM ld hl, VictoryRoad3TrainerHeader0 call TalkToTrainer jp TextScriptEnd -VictoryRoad3Text2: ; 44a73 (11:4a73) - db $08 ; asm - ld hl, VictoryRoad3TrainerHeader2 +VictoryRoad3Text2: + TX_ASM + ld hl, VictoryRoad3TrainerHeader1 call TalkToTrainer jp TextScriptEnd -VictoryRoad3Text3: ; 44a7d (11:4a7d) - db $08 ; asm - ld hl, VictoryRoad3TrainerHeader3 +VictoryRoad3Text3: + TX_ASM + ld hl, VictoryRoad3TrainerHeader2 call TalkToTrainer jp TextScriptEnd -VictoryRoad3Text4: ; 44a87 (11:4a87) - db $08 ; asm - ld hl, VictoryRoad3TrainerHeader4 +VictoryRoad3Text4: + TX_ASM + ld hl, VictoryRoad3TrainerHeader3 call TalkToTrainer jp TextScriptEnd -VictoryRoad3BattleText2: ; 44a91 (11:4a91) +VictoryRoad3BattleText2: TX_FAR _VictoryRoad3BattleText2 db "@" -VictoryRoad3EndBattleText2: ; 44a96 (11:4a96) +VictoryRoad3EndBattleText2: TX_FAR _VictoryRoad3EndBattleText2 db "@" -VictoryRoad3AfterBattleText2: ; 44a9b (11:4a9b) +VictoryRoad3AfterBattleText2: TX_FAR _VictoryRoad3AfterBattleText2 db "@" -VictoryRoad3BattleText3: ; 44aa0 (11:4aa0) +VictoryRoad3BattleText3: TX_FAR _VictoryRoad3BattleText3 db "@" -VictoryRoad3EndBattleText3: ; 44aa5 (11:4aa5) +VictoryRoad3EndBattleText3: TX_FAR _VictoryRoad3EndBattleText3 db "@" -VictoryRoad3AfterBattleText3: ; 44aaa (11:4aaa) +VictoryRoad3AfterBattleText3: TX_FAR _VictoryRoad3AfterBattleText3 db "@" -VictoryRoad3BattleText4: ; 44aaf (11:4aaf) +VictoryRoad3BattleText4: TX_FAR _VictoryRoad3BattleText4 db "@" -VictoryRoad3EndBattleText4: ; 44ab4 (11:4ab4) +VictoryRoad3EndBattleText4: TX_FAR _VictoryRoad3EndBattleText4 db "@" -VictoryRoad3AfterBattleText4: ; 44ab9 (11:4ab9) +VictoryRoad3AfterBattleText4: TX_FAR _VictoryRoad3AfterBattleText4 db "@" -VictoryRoad3BattleText5: ; 44abe (11:4abe) +VictoryRoad3BattleText5: TX_FAR _VictoryRoad3BattleText5 db "@" -VictoryRoad3EndBattleText5: ; 44ac3 (11:4ac3) +VictoryRoad3EndBattleText5: TX_FAR _VictoryRoad3EndBattleText5 db "@" -VictoryRoad3AfterBattleText5: ; 44ac8 (11:4ac8) +VictoryRoad3AfterBattleText5: TX_FAR _VictoryRoad3AfterBattleText5 db "@" diff --git a/scripts/viridiancity.asm b/scripts/viridiancity.asm index d0b2b4ae..3ccdc509 100755 --- a/scripts/viridiancity.asm +++ b/scripts/viridiancity.asm @@ -1,67 +1,64 @@ -ViridianCityScript: ; 18ff1 (6:4ff1) +ViridianCityScript: call EnableAutoTextBoxDrawing ld hl, ViridianCityScriptPointers - ld a, [W_VIRIDIANCITYCURSCRIPT] + ld a, [wViridianCityCurScript] jp CallFunctionInTable -ViridianCityScriptPointers: ; 18ffd (6:4ffd) +ViridianCityScriptPointers: dw ViridianCityScript0 dw ViridianCityScript1 dw ViridianCityScript2 dw ViridianCityScript3 -ViridianCityScript0: ; 19005 (6:5005) +ViridianCityScript0: call ViridianCityScript_1900b jp ViridianCityScript_1903d -ViridianCityScript_1900b: ; 1900b (6:500b) - ld a, [wd74c] - bit 0, a +ViridianCityScript_1900b: + CheckEvent EVENT_VIRIDIAN_GYM_OPEN ret nz - ld a, [W_OBTAINEDBADGES] + ld a, [wObtainedBadges] cp %01111111 - jr nz, .asm_1901e ; 0x19016 $6 - ld hl, wd74c - set 0, [hl] + jr nz, .asm_1901e + SetEvent EVENT_VIRIDIAN_GYM_OPEN ret .asm_1901e - ld a, [W_YCOORD] + ld a, [wYCoord] cp $8 ret nz - ld a, [W_XCOORD] + ld a, [wXCoord] cp $20 ret nz ld a, $e - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID xor a ld [hJoyHeld], a call ViridianCityScript_190cf ld a, $3 - ld [W_VIRIDIANCITYCURSCRIPT], a + ld [wViridianCityCurScript], a ret -ViridianCityScript_1903d: ; 1903d (6:503d) - ld a, [wd74b] - bit 5, a +ViridianCityScript_1903d: + CheckEvent EVENT_GOT_POKEDEX ret nz - ld a, [W_YCOORD] + ld a, [wYCoord] cp $9 ret nz - ld a, [W_XCOORD] + ld a, [wXCoord] cp $13 ret nz ld a, $5 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID xor a ld [hJoyHeld], a call ViridianCityScript_190cf ld a, $3 - ld [W_VIRIDIANCITYCURSCRIPT], a + ld [wViridianCityCurScript], a ret -ViridianCityScript1: ; 19062 (6:5062) +ViridianCityScript1: ld a, [wSpriteStateData1 + $34] ld [$ffeb], a ld a, [wSpriteStateData1 + $36] @@ -74,17 +71,17 @@ ViridianCityScript1: ; 19062 (6:5062) ld [wListScrollOffset], a ; set up battle for Old Man - ld a, $1 - ld [W_BATTLETYPE], a + ld a, BATTLE_TYPE_OLD_MAN + ld [wBattleType], a ld a, 5 - ld [W_CURENEMYLVL], a + ld [wCurEnemyLVL], a ld a, WEEDLE - ld [W_CUROPPONENT], a + ld [wCurOpponent], a ld a, $2 - ld [W_VIRIDIANCITYCURSCRIPT], a + ld [wViridianCityCurScript], a ret -ViridianCityScript2: ; 1908f (6:508f) +ViridianCityScript2: ld a, [$ffeb] ld [wSpriteStateData1 + $34], a ld a, [$ffec] @@ -98,36 +95,36 @@ ViridianCityScript2: ; 1908f (6:508f) xor a ld [wJoyIgnore], a ld a, $f - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID xor a - ld [W_BATTLETYPE], a + ld [wBattleType], a ld [wJoyIgnore], a ld a, $0 - ld [W_VIRIDIANCITYCURSCRIPT], a + ld [wViridianCityCurScript], a ret -ViridianCityScript3: ; 190c1 (6:50c1) +ViridianCityScript3: ld a, [wSimulatedJoypadStatesIndex] and a ret nz call Delay3 ld a, 0 - ld [W_VIRIDIANCITYCURSCRIPT], a + ld [wViridianCityCurScript], a ret -ViridianCityScript_190cf: ; 190cf (6:50cf) +ViridianCityScript_190cf: call StartSimulatingJoypadStates ld a, $1 ld [wSimulatedJoypadStatesIndex], a - ld a, $80 + ld a, D_DOWN ld [wSimulatedJoypadStatesEnd], a xor a ld [wSpriteStateData1 + 9], a ld [wJoyIgnore], a ret -ViridianCityTextPointers: ; 190e4 (6:50e4) +ViridianCityTextPointers: dw ViridianCityText1 dw ViridianCityText2 dw ViridianCityText3 @@ -144,190 +141,187 @@ ViridianCityTextPointers: ; 190e4 (6:50e4) dw ViridianCityText14 dw ViridianCityText15 -ViridianCityText1: ; 19102 (6:5102) +ViridianCityText1: TX_FAR _ViridianCityText1 db "@" -ViridianCityText2: ; 19107 (6:5107) - db $08 ; asm - ld a, [W_OBTAINEDBADGES] +ViridianCityText2: + TX_ASM + ld a, [wObtainedBadges] cp %01111111 ld hl, ViridianCityText_19127 - jr z, .asm_ae9fe ; 0x19110 - ld a, [wd751] - bit 1, a - jr nz, .asm_ae9fe ; 0x19117 + jr z, .asm_ae9fe + CheckEvent EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI + jr nz, .asm_ae9fe ld hl, ViridianCityText_19122 -.asm_ae9fe ; 0x1911c +.asm_ae9fe call PrintText jp TextScriptEnd -ViridianCityText_19122: ; 19122 (6:5122) +ViridianCityText_19122: TX_FAR _ViridianCityText_19122 db "@" -ViridianCityText_19127: ; 19127 (6:5127) +ViridianCityText_19127: TX_FAR _ViridianCityText_19127 db "@" -ViridianCityText3: ; 1912c (6:512c) - db $08 ; asm +ViridianCityText3: + TX_ASM ld hl, ViridianCityText_1914d call PrintText call YesNoChoice ld a, [wCurrentMenuItem] and a - jr nz, .asm_6dfea ; 0x1913a + jr nz, .asm_6dfea ld hl, ViridianCityText_19157 call PrintText - jr .asm_d611f ; 0x19142 -.asm_6dfea ; 0x19144 + jr .asm_d611f +.asm_6dfea ld hl, ViridianCityText_19152 call PrintText -.asm_d611f ; 0x1914a +.asm_d611f jp TextScriptEnd -ViridianCityText_1914d: ; 1914d (6:514d) +ViridianCityText_1914d: TX_FAR _ViridianCityText_1914d db "@" -ViridianCityText_19152: ; 19152 (6:5152) +ViridianCityText_19152: TX_FAR _ViridianCityText_19152 db "@" -ViridianCityText_19157: ; 19157 (6:5157) +ViridianCityText_19157: TX_FAR _ViridianCityText_19157 db "@" -ViridianCityText4: ; 1915c (6:515c) - db $08 ; asm - ld a, [wd74b] - bit 5, a - jr nz, .asm_83894 ; 0x19162 +ViridianCityText4: + TX_ASM + CheckEvent EVENT_GOT_POKEDEX + jr nz, .asm_83894 ld hl, ViridianCityText_19175 call PrintText - jr .asm_700a6 ; 0x1916a -.asm_83894 ; 0x1916c + jr .asm_700a6 +.asm_83894 ld hl, ViridianCityText_1917a call PrintText -.asm_700a6 ; 0x19172 +.asm_700a6 jp TextScriptEnd -ViridianCityText_19175: ; 19175 (6:5175) +ViridianCityText_19175: TX_FAR _ViridianCityText_19175 db "@" -ViridianCityText_1917a: ; 1917a (6:517a) +ViridianCityText_1917a: TX_FAR _ViridianCityText_1917a db "@" -ViridianCityText5: ; 1917f (6:517f) - db $08 ; asm +ViridianCityText5: + TX_ASM ld hl, ViridianCityText_19191 call PrintText call ViridianCityScript_190cf ld a, $3 - ld [W_VIRIDIANCITYCURSCRIPT], a + ld [wViridianCityCurScript], a jp TextScriptEnd -ViridianCityText_19191: ; 19191 (6:5191) +ViridianCityText_19191: TX_FAR _ViridianCityText_19191 db "@" -ViridianCityText6: ; 19196 (6:5196) - db $08 ; asm - ld a, [wd74c] - bit 1, a - jr nz, .asm_4e5a0 ; 0x1919c +ViridianCityText6: + TX_ASM + CheckEvent EVENT_GOT_TM42 + jr nz, .asm_4e5a0 ld hl, ViridianCityText_191ca call PrintText - ld bc, (TM_42 << 8) | 1 + lb bc, TM_42, 1 call GiveItem jr nc, .BagFull ld hl, ReceivedTM42Text call PrintText - ld hl, wd74c - set 1, [hl] - jr .asm_3c73c ; 0x191b7 + SetEvent EVENT_GOT_TM42 + jr .asm_3c73c .BagFull ld hl, TM42NoRoomText call PrintText - jr .asm_3c73c ; 0x191bf -.asm_4e5a0 ; 0x191c1 + jr .asm_3c73c +.asm_4e5a0 ld hl, TM42Explanation call PrintText -.asm_3c73c ; 0x191c7 +.asm_3c73c jp TextScriptEnd -ViridianCityText_191ca: ; 191ca (6:51ca) +ViridianCityText_191ca: TX_FAR _ViridianCityText_191ca db "@" -ReceivedTM42Text: ; 191cf (6:51cf) +ReceivedTM42Text: TX_FAR _ReceivedTM42Text - db $10, "@" + TX_SFX_ITEM_2 + db "@" -TM42Explanation: ; 191d5 (6:51d5) +TM42Explanation: TX_FAR _TM42Explanation db "@" -TM42NoRoomText: ; 191da (6:51da) +TM42NoRoomText: TX_FAR _TM42NoRoomText db "@" -ViridianCityText7: ; 191df (6:51df) - db $08 ; asm +ViridianCityText7: + TX_ASM ld hl, ViridianCityText_1920a call PrintText - ld c, $2 + ld c, 2 call DelayFrames call YesNoChoice ld a, [wCurrentMenuItem] and a - jr z, .asm_42f68 ; 0x191f2 + jr z, .asm_42f68 ld hl, ViridianCityText_1920f call PrintText ld a, $1 - ld [W_VIRIDIANCITYCURSCRIPT], a - jr .asm_2413a ; 0x191ff -.asm_42f68 ; 0x19201 + ld [wViridianCityCurScript], a + jr .asm_2413a +.asm_42f68 ld hl, ViridianCityText_19214 call PrintText -.asm_2413a ; 0x19207 +.asm_2413a jp TextScriptEnd -ViridianCityText_1920a: ; 1920a (6:520a) +ViridianCityText_1920a: TX_FAR _ViridianCityText_1920a db "@" -ViridianCityText_1920f: ; 1920f (6:520f) +ViridianCityText_1920f: TX_FAR _ViridianCityText_1920f db "@" -ViridianCityText_19214: ; 19214 (6:5214) +ViridianCityText_19214: TX_FAR _ViridianCityText_19214 db "@" -ViridianCityText15: ; 19219 (6:5219) +ViridianCityText15: TX_FAR _ViridianCityText_19219 db "@" -ViridianCityText8: ; 1921e (6:521e) +ViridianCityText8: TX_FAR _ViridianCityText8 db "@" -ViridianCityText9: ; 19223 (6:5223) +ViridianCityText9: TX_FAR _ViridianCityText9 db "@" -ViridianCityText10: ; 19228 (6:5228) +ViridianCityText10: TX_FAR _ViridianCityText10 db "@" -ViridianCityText13: ; 1922d (6:522d) +ViridianCityText13: TX_FAR _ViridianCityText13 db "@" -ViridianCityText14: ; 19232 (6:5232) +ViridianCityText14: TX_FAR _ViridianCityText14 db "@" diff --git a/scripts/viridianforest.asm b/scripts/viridianforest.asm index 4ec1c0aa..bce093a9 100755 --- a/scripts/viridianforest.asm +++ b/scripts/viridianforest.asm @@ -1,25 +1,25 @@ -ViridianForestScript: ; 6110d (18:510d) +ViridianForestScript: call EnableAutoTextBoxDrawing - ld hl, ViridianForestTrainerHeaders + ld hl, ViridianForestTrainerHeader0 ld de, ViridianForestScriptPointers - ld a, [W_VIRIDIANFORESTCURSCRIPT] + ld a, [wViridianForestCurScript] call ExecuteCurMapScriptInTable - ld [W_VIRIDIANFORESTCURSCRIPT], a + ld [wViridianForestCurScript], a ret -ViridianForestScriptPointers: ; 61120 (18:5120) +ViridianForestScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle -ViridianForestTextPointers: ; 61126 (18:5126) +ViridianForestTextPointers: dw ViridianForestText1 dw ViridianForestText2 dw ViridianForestText3 dw ViridianForestText4 - dw Predef5CText - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText dw ViridianForestText8 dw ViridianForestText9 dw ViridianForestText10 @@ -28,118 +28,117 @@ ViridianForestTextPointers: ; 61126 (18:5126) dw ViridianForestText13 dw ViridianForestText14 -ViridianForestTrainerHeaders: ; 61142 (18:5142) -ViridianForestTrainerHeader0: ; 61142 (18:5142) - db $2 ; flag's bit +ViridianForestTrainerHeader0: + dbEventFlagBit EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_0 db ($4 << 4) ; trainer's view range - dw wd7f3 ; flag's byte - dw ViridianForestBattleText1 ; 0x518a TextBeforeBattle - dw ViridianForestAfterBattleText1 ; 0x5194 TextAfterBattle - dw ViridianForestEndBattleText1 ; 0x518f TextEndBattle - dw ViridianForestEndBattleText1 ; 0x518f TextEndBattle - -ViridianForestTrainerHeader1: ; 6114e (18:514e) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_0 + dw ViridianForestBattleText1 ; TextBeforeBattle + dw ViridianForestAfterBattleText1 ; TextAfterBattle + dw ViridianForestEndBattleText1 ; TextEndBattle + dw ViridianForestEndBattleText1 ; TextEndBattle + +ViridianForestTrainerHeader1: + dbEventFlagBit EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_1 db ($4 << 4) ; trainer's view range - dw wd7f3 ; flag's byte - dw ViridianForestBattleText2 ; 0x5199 TextBeforeBattle - dw ViridianForestAfterBattleText2 ; 0x51a3 TextAfterBattle - dw ViridianForestEndBattleText2 ; 0x519e TextEndBattle - dw ViridianForestEndBattleText2 ; 0x519e TextEndBattle - -ViridianForestTrainerHeader2: ; 6115a (18:515a) - db $4 ; flag's bit + dwEventFlagAddress EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_1 + dw ViridianForestBattleText2 ; TextBeforeBattle + dw ViridianForestAfterBattleText2 ; TextAfterBattle + dw ViridianForestEndBattleText2 ; TextEndBattle + dw ViridianForestEndBattleText2 ; TextEndBattle + +ViridianForestTrainerHeader2: + dbEventFlagBit EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_2 db ($1 << 4) ; trainer's view range - dw wd7f3 ; flag's byte - dw ViridianForestBattleText3 ; 0x51a8 TextBeforeBattle - dw ViridianForestAfterBattleText3 ; 0x51b2 TextAfterBattle - dw ViridianForestEndBattleText3 ; 0x51ad TextEndBattle - dw ViridianForestEndBattleText3 ; 0x51ad TextEndBattle + dwEventFlagAddress EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_2 + dw ViridianForestBattleText3 ; TextBeforeBattle + dw ViridianForestAfterBattleText3 ; TextAfterBattle + dw ViridianForestEndBattleText3 ; TextEndBattle + dw ViridianForestEndBattleText3 ; TextEndBattle db $ff -ViridianForestText1: ; 61167 (18:5167) +ViridianForestText1: TX_FAR _ViridianForestText1 db "@" -ViridianForestText2: ; 6116c (18:516c) - db $08 ; asm +ViridianForestText2: + TX_ASM ld hl, ViridianForestTrainerHeader0 call TalkToTrainer jp TextScriptEnd -ViridianForestText3: ; 61176 (18:5176) - db $08 ; asm +ViridianForestText3: + TX_ASM ld hl, ViridianForestTrainerHeader1 call TalkToTrainer jp TextScriptEnd -ViridianForestText4: ; 61180 (18:5180) - db $08 ; asm +ViridianForestText4: + TX_ASM ld hl, ViridianForestTrainerHeader2 call TalkToTrainer jp TextScriptEnd -ViridianForestBattleText1: ; 6118a (18:518a) +ViridianForestBattleText1: TX_FAR _ViridianForestBattleText1 db "@" -ViridianForestEndBattleText1: ; 6118f (18:518f) +ViridianForestEndBattleText1: TX_FAR _ViridianForestEndBattleText1 db "@" -ViridianForestAfterBattleText1: ; 61194 (18:5194) +ViridianForestAfterBattleText1: TX_FAR _ViridianFrstAfterBattleText1 db "@" -ViridianForestBattleText2: ; 61199 (18:5199) +ViridianForestBattleText2: TX_FAR _ViridianForestBattleText2 db "@" -ViridianForestEndBattleText2: ; 6119e (18:519e) +ViridianForestEndBattleText2: TX_FAR _ViridianForestEndBattleText2 db "@" -ViridianForestAfterBattleText2: ; 611a3 (18:51a3) +ViridianForestAfterBattleText2: TX_FAR _ViridianFrstAfterBattleText2 db "@" -ViridianForestBattleText3: ; 611a8 (18:51a8) +ViridianForestBattleText3: TX_FAR _ViridianForestBattleText3 db "@" -ViridianForestEndBattleText3: ; 611ad (18:51ad) +ViridianForestEndBattleText3: TX_FAR _ViridianForestEndBattleText3 db "@" -ViridianForestAfterBattleText3: ; 611b2 (18:51b2) +ViridianForestAfterBattleText3: TX_FAR _ViridianFrstAfterBattleText3 db "@" -ViridianForestText8: ; 611b7 (18:51b7) +ViridianForestText8: TX_FAR _ViridianForestText8 db "@" -ViridianForestText9: ; 611bc (18:51bc) +ViridianForestText9: TX_FAR _ViridianForestText9 db "@" -ViridianForestText10: ; 611c1 (18:51c1) +ViridianForestText10: TX_FAR _ViridianForestText10 db "@" -ViridianForestText11: ; 611c6 (18:51c6) +ViridianForestText11: TX_FAR _ViridianForestText11 db "@" -ViridianForestText12: ; 611cb (18:51cb) +ViridianForestText12: TX_FAR _ViridianForestText12 db "@" -ViridianForestText13: ; 611d0 (18:51d0) +ViridianForestText13: TX_FAR _ViridianForestText13 db "@" -ViridianForestText14: ; 611d5 (18:51d5) +ViridianForestText14: TX_FAR _ViridianForestText14 db "@" diff --git a/scripts/viridianforestentrance.asm b/scripts/viridianforestentrance.asm index 14b6cf49..e24225ed 100755 --- a/scripts/viridianforestentrance.asm +++ b/scripts/viridianforestentrance.asm @@ -1,14 +1,14 @@ -ViridianForestEntranceScript: ; 5d65c (17:565c) +ViridianForestEntranceScript: jp EnableAutoTextBoxDrawing -ViridianForestEntranceTextPointers: ; 5d65f (17:565f) +ViridianForestEntranceTextPointers: dw ViridianForestEntranceText1 dw ViridianForestEntranceText2 -ViridianForestEntranceText1: ; 5d663 (17:5663) +ViridianForestEntranceText1: TX_FAR _ViridianForestEntranceText1 db "@" -ViridianForestEntranceText2: ; 5d668 (17:5668) +ViridianForestEntranceText2: TX_FAR _ViridianForestEntranceText2 db "@" diff --git a/scripts/viridianforestexit.asm b/scripts/viridianforestexit.asm index 0d4d4b29..af7a8523 100755 --- a/scripts/viridianforestexit.asm +++ b/scripts/viridianforestexit.asm @@ -1,14 +1,14 @@ -ViridianForestExitScript: ; 5d587 (17:5587) +ViridianForestExitScript: jp EnableAutoTextBoxDrawing -ViridianForestExitTextPointers: ; 5d58a (17:558a) +ViridianForestExitTextPointers: dw ViridianForestExitText1 dw ViridianForestExitText2 -ViridianForestExitText1: ; 5d58e (17:558e) +ViridianForestExitText1: TX_FAR _ViridianForestExitText1 db "@" -ViridianForestExitText2: ; 5d593 (17:5593) +ViridianForestExitText2: TX_FAR _ViridianForestExitText2 db "@" diff --git a/scripts/viridiangym.asm b/scripts/viridiangym.asm index 6ced7d82..cc8dcb90 100755 --- a/scripts/viridiangym.asm +++ b/scripts/viridiangym.asm @@ -1,38 +1,38 @@ -ViridianGymScript: ; 748a3 (1d:48a3) +ViridianGymScript: ld hl, Gym8CityName ld de, Gym8LeaderName call LoadGymLeaderAndCityName call EnableAutoTextBoxDrawing - ld hl, ViridianGymTrainerHeaders + ld hl, ViridianGymTrainerHeader0 ld de, ViridianGymScriptPointers - ld a, [W_VIRIDIANGYMCURSCRIPT] + ld a, [wViridianGymCurScript] call ExecuteCurMapScriptInTable - ld [W_VIRIDIANGYMCURSCRIPT], a + ld [wViridianGymCurScript], a ret -Gym8CityName: ; 748bf (1d:48bf) +Gym8CityName: db "VIRIDIAN CITY@" -Gym8LeaderName: ; 748cd (1d:48cd) +Gym8LeaderName: db "GIOVANNI@" -ViridianGymScript_748d6: ; 748d6 (1d:48d6) +ViridianGymScript_748d6: xor a ld [wJoyIgnore], a - ld [W_VIRIDIANGYMCURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wViridianGymCurScript], a + ld [wCurMapScript], a ret -ViridianGymScriptPointers: ; 748e1 (1d:48e1) +ViridianGymScriptPointers: dw ViridianGymScript0 dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle dw ViridianGymScript3 dw ViridianGymScript4 -ViridianGymScript0: ; 748eb (1d:48eb) - ld a, [W_YCOORD] ; wd361 +ViridianGymScript0: + ld a, [wYCoord] ld b, a - ld a, [W_XCOORD] ; wd362 + ld a, [wXCoord] ld c, a ld hl, ViridianGymArrowTilePlayerMovement call DecodeArrowMovementRLE @@ -41,18 +41,18 @@ ViridianGymScript0: ; 748eb (1d:48eb) call StartSimulatingJoypadStates ld hl, wd736 set 7, [hl] - ld a, (SFX_02_52 - SFX_Headers_02) / 3 + ld a, SFX_ARROW_TILES call PlaySound ld a, $ff ld [wJoyIgnore], a ld a, $4 - ld [W_CURMAPSCRIPT], a + ld [wCurMapScript], a ret ;format: ;db y,x ;dw pointer to movement -ViridianGymArrowTilePlayerMovement: ; 74916 (1d:4916) +ViridianGymArrowTilePlayerMovement: db $b,$13 dw ViridianGymArrowMovement1 db $1,$13 @@ -80,47 +80,43 @@ ViridianGymArrowTilePlayerMovement: ; 74916 (1d:4916) db $FF ;format: direction, count -;right: $10 -;left: $20 -;up: $40 -;down: $80 -ViridianGymArrowMovement1: ; 74947 (1d:4947) - db $40,$09,$FF +ViridianGymArrowMovement1: + db D_UP,$09,$FF -ViridianGymArrowMovement2: ; 7494a (1d:494a) - db $20,$08,$FF +ViridianGymArrowMovement2: + db D_LEFT,$08,$FF -ViridianGymArrowMovement3: ; 7494d (1d:494d) - db $80,$09,$FF +ViridianGymArrowMovement3: + db D_DOWN,$09,$FF -ViridianGymArrowMovement4: ; 74950 (1d:4950) - db $10,$06,$FF +ViridianGymArrowMovement4: + db D_RIGHT,$06,$FF -ViridianGymArrowMovement5: ; 74953 (1d:4953) - db $80,$02,$FF +ViridianGymArrowMovement5: + db D_DOWN,$02,$FF -ViridianGymArrowMovement6: ; 74956 (1d:4956) - db $80,$07,$FF +ViridianGymArrowMovement6: + db D_DOWN,$07,$FF -ViridianGymArrowMovement7: ; 74959 (1d:4959) - db $10,$08,$FF +ViridianGymArrowMovement7: + db D_RIGHT,$08,$FF -ViridianGymArrowMovement8: ; 7495c (1d:495c) - db $10,$09,$FF +ViridianGymArrowMovement8: + db D_RIGHT,$09,$FF -ViridianGymArrowMovement9: ; 7495f (1d:495f) - db $40,$08,$FF +ViridianGymArrowMovement9: + db D_UP,$08,$FF -ViridianGymArrowMovement10: ; 74962 (1d:4962) - db $40,$06,$FF +ViridianGymArrowMovement10: + db D_UP,$06,$FF -ViridianGymArrowMovement11: ; 74965 (1d:4965) - db $20,$06,$FF +ViridianGymArrowMovement11: + db D_LEFT,$06,$FF -ViridianGymArrowMovement12: ; 74968 (1d:4968) - db $20,$0C,$FF +ViridianGymArrowMovement12: + db D_LEFT,$0C,$FF -ViridianGymScript4: ; 7496b (1d:496b) +ViridianGymScript4: ld a, [wSimulatedJoypadStatesIndex] and a jr nz, .asm_74980 @@ -129,61 +125,50 @@ ViridianGymScript4: ; 7496b (1d:496b) ld hl, wd736 res 7, [hl] ld a, $0 - ld [W_CURMAPSCRIPT], a + ld [wCurMapScript], a ret .asm_74980 - ld b, BANK(LoadSpinnerArrowTiles) - ld hl, LoadSpinnerArrowTiles - jp Bankswitch + jpba LoadSpinnerArrowTiles -ViridianGymScript3: ; 74988 (1d:4988) - ld a, [W_ISINBATTLE] ; W_ISINBATTLE +ViridianGymScript3: + ld a, [wIsInBattle] cp $ff jp z, ViridianGymScript_748d6 ld a, $f0 ld [wJoyIgnore], a -ViridianGymScript3_74995: ; 74995 (1d:4995) +ViridianGymScript3_74995: ld a, $c - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a call DisplayTextID - ld hl, wd751 - set 1, [hl] - ld bc, (TM_27 << 8) | 1 + SetEvent EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI + lb bc, TM_27, 1 call GiveItem jr nc, .BagFull ld a, $d - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a call DisplayTextID - ld hl, wd751 - set 0, [hl] + SetEvent EVENT_GOT_TM27 jr .asm_749be .BagFull ld a, $e - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a call DisplayTextID .asm_749be - ld hl, W_OBTAINEDBADGES + ld hl, wObtainedBadges set 7, [hl] - ld hl, wd72a + ld hl, wBeatGymFlags set 7, [hl] ; deactivate gym trainers - ld a, [wd751] - or %11111100 - ld [wd751], a - ld a, [wd752] - or %00000011 - ld [wd752], a + SetEventRange EVENT_BEAT_VIRIDIAN_GYM_TRAINER_0, EVENT_BEAT_VIRIDIAN_GYM_TRAINER_7 ld a, HS_ROUTE_22_RIVAL_2 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef ShowObject - ld hl, wd7eb - set 1, [hl] - set 7, [hl] + SetEvents EVENT_2ND_ROUTE22_RIVAL_BATTLE, EVENT_ROUTE22_RIVAL_WANTS_BATTLE jp ViridianGymScript_748d6 -ViridianGymTextPointers: ; 749ec (1d:49ec) +ViridianGymTextPointers: dw ViridianGymText1 dw ViridianGymText2 dw ViridianGymText3 @@ -194,110 +179,108 @@ ViridianGymTextPointers: ; 749ec (1d:49ec) dw ViridianGymText8 dw ViridianGymText9 dw ViridianGymText10 - dw Predef5CText + dw PickUpItemText dw ViridianGymText12 dw ViridianGymText13 dw ViridianGymText14 -ViridianGymTrainerHeaders: ; 74a08 (1d:4a08) -ViridianGymTrainerHeader0: ; 74a08 (1d:4a08) - db $2 ; flag's bit +ViridianGymTrainerHeader0: + dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_0 db ($4 << 4) ; trainer's view range - dw wd751 ; flag's byte - dw ViridianGymBattleText1 ; 0x4afd TextBeforeBattle - dw ViridianGymAfterBattleText1 ; 0x4b07 TextAfterBattle - dw ViridianGymEndBattleText1 ; 0x4b02 TextEndBattle - dw ViridianGymEndBattleText1 ; 0x4b02 TextEndBattle - -ViridianGymTrainerHeader1: ; 74a14 (1d:4a14) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_0 + dw ViridianGymBattleText1 ; TextBeforeBattle + dw ViridianGymAfterBattleText1 ; TextAfterBattle + dw ViridianGymEndBattleText1 ; TextEndBattle + dw ViridianGymEndBattleText1 ; TextEndBattle + +ViridianGymTrainerHeader1: + dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_1 db ($4 << 4) ; trainer's view range - dw wd751 ; flag's byte - dw ViridianGymBattleText2 ; 0x4b16 TextBeforeBattle - dw ViridianGymAfterBattleText2 ; 0x4b20 TextAfterBattle - dw ViridianGymEndBattleText2 ; 0x4b1b TextEndBattle - dw ViridianGymEndBattleText2 ; 0x4b1b TextEndBattle - -ViridianGymTrainerHeader2: ; 74a20 (1d:4a20) - db $4 ; flag's bit + dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_1 + dw ViridianGymBattleText2 ; TextBeforeBattle + dw ViridianGymAfterBattleText2 ; TextAfterBattle + dw ViridianGymEndBattleText2 ; TextEndBattle + dw ViridianGymEndBattleText2 ; TextEndBattle + +ViridianGymTrainerHeader2: + dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_2 db ($4 << 4) ; trainer's view range - dw wd751 ; flag's byte - dw ViridianGymBattleText3 ; 0x4b2f TextBeforeBattle - dw ViridianGymAfterBattleText3 ; 0x4b39 TextAfterBattle - dw ViridianGymEndBattleText3 ; 0x4b34 TextEndBattle - dw ViridianGymEndBattleText3 ; 0x4b34 TextEndBattle - -ViridianGymTrainerHeader3: ; 74a2c (1d:4a2c) - db $5 ; flag's bit + dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_2 + dw ViridianGymBattleText3 ; TextBeforeBattle + dw ViridianGymAfterBattleText3 ; TextAfterBattle + dw ViridianGymEndBattleText3 ; TextEndBattle + dw ViridianGymEndBattleText3 ; TextEndBattle + +ViridianGymTrainerHeader3: + dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_3 db ($2 << 4) ; trainer's view range - dw wd751 ; flag's byte - dw ViridianGymBattleText4 ; 0x4b48 TextBeforeBattle - dw ViridianGymAfterBattleText4 ; 0x4b52 TextAfterBattle - dw ViridianGymEndBattleText4 ; 0x4b4d TextEndBattle - dw ViridianGymEndBattleText4 ; 0x4b4d TextEndBattle - -ViridianGymTrainerHeader4: ; 74a38 (1d:4a38) - db $6 ; flag's bit + dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_3 + dw ViridianGymBattleText4 ; TextBeforeBattle + dw ViridianGymAfterBattleText4 ; TextAfterBattle + dw ViridianGymEndBattleText4 ; TextEndBattle + dw ViridianGymEndBattleText4 ; TextEndBattle + +ViridianGymTrainerHeader4: + dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_4 db ($3 << 4) ; trainer's view range - dw wd751 ; flag's byte - dw ViridianGymBattleText5 ; 0x4b61 TextBeforeBattle - dw ViridianGymAfterBattleText5 ; 0x4b6b TextAfterBattle - dw ViridianGymEndBattleText5 ; 0x4b66 TextEndBattle - dw ViridianGymEndBattleText5 ; 0x4b66 TextEndBattle - -ViridianGymTrainerHeader5: ; 74a44 (1d:4a44) - db $7 ; flag's bit + dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_4 + dw ViridianGymBattleText5 ; TextBeforeBattle + dw ViridianGymAfterBattleText5 ; TextAfterBattle + dw ViridianGymEndBattleText5 ; TextEndBattle + dw ViridianGymEndBattleText5 ; TextEndBattle + +ViridianGymTrainerHeader5: + dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_5 db ($4 << 4) ; trainer's view range - dw wd751 ; flag's byte - dw ViridianGymBattleText6 ; 0x4b7a TextBeforeBattle - dw ViridianGymAfterBattleText6 ; 0x4b84 TextAfterBattle - dw ViridianGymEndBattleText6 ; 0x4b7f TextEndBattle - dw ViridianGymEndBattleText6 ; 0x4b7f TextEndBattle - -ViridianGymTrainerHeader6: ; 74a50 (1d:4a50) - db $8 ; flag's bit + dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_5 + dw ViridianGymBattleText6 ; TextBeforeBattle + dw ViridianGymAfterBattleText6 ; TextAfterBattle + dw ViridianGymEndBattleText6 ; TextEndBattle + dw ViridianGymEndBattleText6 ; TextEndBattle + +ViridianGymTrainerHeader6: + dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_6, 1 db ($3 << 4) ; trainer's view range - dw wd751 ; flag's byte - dw ViridianGymBattleText7 ; 0x4b93 TextBeforeBattle - dw ViridianGymAfterBattleText7 ; 0x4b9d TextAfterBattle - dw ViridianGymEndBattleText7 ; 0x4b98 TextEndBattle - dw ViridianGymEndBattleText7 ; 0x4b98 TextEndBattle - -ViridianGymTrainerHeader7: ; 74a5c (1d:4a5c) - db $9 ; flag's bit + dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_6, 1 + dw ViridianGymBattleText7 ; TextBeforeBattle + dw ViridianGymAfterBattleText7 ; TextAfterBattle + dw ViridianGymEndBattleText7 ; TextEndBattle + dw ViridianGymEndBattleText7 ; TextEndBattle + +ViridianGymTrainerHeader7: + dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_7, 1 db ($4 << 4) ; trainer's view range - dw wd751 ; flag's byte - dw ViridianGymBattleText8 ; 0x4bac TextBeforeBattle - dw ViridianGymAfterBattleText8 ; 0x4bb6 TextAfterBattle - dw ViridianGymEndBattleText8 ; 0x4bb1 TextEndBattle - dw ViridianGymEndBattleText8 ; 0x4bb1 TextEndBattle + dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_7, 1 + dw ViridianGymBattleText8 ; TextBeforeBattle + dw ViridianGymAfterBattleText8 ; TextAfterBattle + dw ViridianGymEndBattleText8 ; TextEndBattle + dw ViridianGymEndBattleText8 ; TextEndBattle db $ff -ViridianGymText1: ; 74a69 (1d:4a69) - db $08 ; asm - ld a, [wd751] - bit 1, a - jr z, .asm_6de66 ; 0x74a6f - bit 0, a - jr nz, .asm_9fc95 ; 0x74a73 +ViridianGymText1: + TX_ASM + CheckEvent EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI + jr z, .asm_6de66 + CheckEventReuseA EVENT_GOT_TM27 + jr nz, .asm_9fc95 call z, ViridianGymScript3_74995 call DisableWaitingAfterTextDisplay - jr .asm_6dff7 ; 0x74a7b -.asm_9fc95 ; 0x74a7d + jr .asm_6dff7 +.asm_9fc95 ld a, $1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a ld hl, ViridianGymText_74ad9 call PrintText call GBFadeOutToBlack ld a, HS_VIRIDIAN_GYM_GIOVANNI - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject call UpdateSprites call Delay3 call GBFadeInFromBlack - jr .asm_6dff7 ; 0x74a9e -.asm_6de66 ; 0x74aa0 + jr .asm_6dff7 +.asm_6de66 ld hl, ViridianGymText_74ace call PrintText ld hl, wd72d @@ -306,207 +289,208 @@ ViridianGymText1: ; 74a69 (1d:4a69) ld hl, ViridianGymText_74ad3 ld de, ViridianGymText_74ad3 call SaveEndBattleTextPointers - ldh a, [$8c] + ld a, [H_SPRITEINDEX] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters ld a, $8 - ld [W_GYMLEADERNO], a + ld [wGymLeaderNo], a ld a, $3 - ld [W_VIRIDIANGYMCURSCRIPT], a -.asm_6dff7 ; 0x74acb + ld [wViridianGymCurScript], a +.asm_6dff7 jp TextScriptEnd -ViridianGymText_74ace: ; 74ace (1d:4ace) +ViridianGymText_74ace: TX_FAR _ViridianGymText_74ace db "@" -ViridianGymText_74ad3: ; 74ad3 (1d:4ad3) +ViridianGymText_74ad3: TX_FAR _ViridianGymText_74ad3 - db $0b, "@" + TX_SFX_LEVEL_UP ; probably supposed to play SFX_GET_ITEM_1 but the wrong music bank is loaded + db "@" -ViridianGymText_74ad9: ; 74ad9 (1d:4ad9) +ViridianGymText_74ad9: TX_FAR _ViridianGymText_74ad9 - db $0d, "@" + TX_WAIT + db "@" -ViridianGymText12: ; 74adf (1d:4adf) +ViridianGymText12: TX_FAR _ViridianGymText12 db "@" -ViridianGymText13: ; 74ae4 (1d:4ae4) +ViridianGymText13: TX_FAR _ReceivedTM27Text - db $0b + TX_SFX_ITEM_1 -TM27ExplanationText: ; 74ae9 (1d:4ae9) +TM27ExplanationText: TX_FAR _TM27ExplanationText db "@" -ViridianGymText14: ; 74aee (1d:4aee) +ViridianGymText14: TX_FAR _TM27NoRoomText db "@" -ViridianGymText2: ; 74af3 (1d:4af3) - db $08 ; asm +ViridianGymText2: + TX_ASM ld hl, ViridianGymTrainerHeader0 call TalkToTrainer jp TextScriptEnd -ViridianGymBattleText1: ; 74afd (1d:4afd) +ViridianGymBattleText1: TX_FAR _ViridianGymBattleText1 db "@" -ViridianGymEndBattleText1: ; 74b02 (1d:4b02) +ViridianGymEndBattleText1: TX_FAR _ViridianGymEndBattleText1 db "@" -ViridianGymAfterBattleText1: ; 74b07 (1d:4b07) +ViridianGymAfterBattleText1: TX_FAR _ViridianGymAfterBattleText1 db "@" -ViridianGymText3: ; 74b0c (1d:4b0c) - db $08 ; asm +ViridianGymText3: + TX_ASM ld hl, ViridianGymTrainerHeader1 call TalkToTrainer jp TextScriptEnd -ViridianGymBattleText2: ; 74b16 (1d:4b16) +ViridianGymBattleText2: TX_FAR _ViridianGymBattleText2 db "@" -ViridianGymEndBattleText2: ; 74b1b (1d:4b1b) +ViridianGymEndBattleText2: TX_FAR _ViridianGymEndBattleText2 db "@" -ViridianGymAfterBattleText2: ; 74b20 (1d:4b20) +ViridianGymAfterBattleText2: TX_FAR _ViridianGymAfterBattleText2 db "@" -ViridianGymText4: ; 74b25 (1d:4b25) - db $08 ; asm +ViridianGymText4: + TX_ASM ld hl, ViridianGymTrainerHeader2 call TalkToTrainer jp TextScriptEnd -ViridianGymBattleText3: ; 74b2f (1d:4b2f) +ViridianGymBattleText3: TX_FAR _ViridianGymBattleText3 db "@" -ViridianGymEndBattleText3: ; 74b34 (1d:4b34) +ViridianGymEndBattleText3: TX_FAR _ViridianGymEndBattleText3 db "@" -ViridianGymAfterBattleText3: ; 74b39 (1d:4b39) +ViridianGymAfterBattleText3: TX_FAR _ViridianGymAfterBattleText3 db "@" -ViridianGymText5: ; 74b3e (1d:4b3e) - db $08 ; asm +ViridianGymText5: + TX_ASM ld hl, ViridianGymTrainerHeader3 call TalkToTrainer jp TextScriptEnd -ViridianGymBattleText4: ; 74b48 (1d:4b48) +ViridianGymBattleText4: TX_FAR _ViridianGymBattleText4 db "@" -ViridianGymEndBattleText4: ; 74b4d (1d:4b4d) +ViridianGymEndBattleText4: TX_FAR _ViridianGymEndBattleText4 db "@" -ViridianGymAfterBattleText4: ; 74b52 (1d:4b52) +ViridianGymAfterBattleText4: TX_FAR _ViridianGymAfterBattleText4 db "@" -ViridianGymText6: ; 74b57 (1d:4b57) - db $08 ; asm +ViridianGymText6: + TX_ASM ld hl, ViridianGymTrainerHeader4 call TalkToTrainer jp TextScriptEnd -ViridianGymBattleText5: ; 74b61 (1d:4b61) +ViridianGymBattleText5: TX_FAR _ViridianGymBattleText5 db "@" -ViridianGymEndBattleText5: ; 74b66 (1d:4b66) +ViridianGymEndBattleText5: TX_FAR _ViridianGymEndBattleText5 db "@" -ViridianGymAfterBattleText5: ; 74b6b (1d:4b6b) +ViridianGymAfterBattleText5: TX_FAR _ViridianGymAfterBattleText5 db "@" -ViridianGymText7: ; 74b70 (1d:4b70) - db $08 ; asm +ViridianGymText7: + TX_ASM ld hl, ViridianGymTrainerHeader5 call TalkToTrainer jp TextScriptEnd -ViridianGymBattleText6: ; 74b7a (1d:4b7a) +ViridianGymBattleText6: TX_FAR _ViridianGymBattleText6 db "@" -ViridianGymEndBattleText6: ; 74b7f (1d:4b7f) +ViridianGymEndBattleText6: TX_FAR _ViridianGymEndBattleText6 db "@" -ViridianGymAfterBattleText6: ; 74b84 (1d:4b84) +ViridianGymAfterBattleText6: TX_FAR _ViridianGymAfterBattleText6 db "@" -ViridianGymText8: ; 74b89 (1d:4b89) - db $08 ; asm +ViridianGymText8: + TX_ASM ld hl, ViridianGymTrainerHeader6 call TalkToTrainer jp TextScriptEnd -ViridianGymBattleText7: ; 74b93 (1d:4b93) +ViridianGymBattleText7: TX_FAR _ViridianGymBattleText7 db "@" -ViridianGymEndBattleText7: ; 74b98 (1d:4b98) +ViridianGymEndBattleText7: TX_FAR _ViridianGymEndBattleText7 db "@" -ViridianGymAfterBattleText7: ; 74b9d (1d:4b9d) +ViridianGymAfterBattleText7: TX_FAR _ViridianGymAfterBattleText7 db "@" -ViridianGymText9: ; 74ba2 (1d:4ba2) - db $08 ; asm +ViridianGymText9: + TX_ASM ld hl, ViridianGymTrainerHeader7 call TalkToTrainer jp TextScriptEnd -ViridianGymBattleText8: ; 74bac (1d:4bac) +ViridianGymBattleText8: TX_FAR _ViridianGymBattleText8 db "@" -ViridianGymEndBattleText8: ; 74bb1 (1d:4bb1) +ViridianGymEndBattleText8: TX_FAR _ViridianGymEndBattleText8 db "@" -ViridianGymAfterBattleText8: ; 74bb6 (1d:4bb6) +ViridianGymAfterBattleText8: TX_FAR _ViridianGymAfterBattleText8 db "@" -ViridianGymText10: ; 74bbb (1d:4bbb) - db $08 ; asm - ld a, [wd751] - bit 1, a - jr nz, .asm_1abd1 ; 0x74bc1 +ViridianGymText10: + TX_ASM + CheckEvent EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI + jr nz, .asm_1abd1 ld hl, ViridianGymText_74bd4 call PrintText - jr .asm_6064d ; 0x74bc9 -.asm_1abd1 ; 0x74bcb + jr .asm_6064d +.asm_1abd1 ld hl, ViridianGymText_74bd9 call PrintText -.asm_6064d ; 0x74bd1 +.asm_6064d jp TextScriptEnd -ViridianGymText_74bd4: ; 74bd4 (1d:4bd4) +ViridianGymText_74bd4: TX_FAR _ViridianGymText_74bd4 db "@" -ViridianGymText_74bd9: ; 74bd9 (1d:4bd9) +ViridianGymText_74bd9: TX_FAR _ViridianGymText_74bd9 db "@" diff --git a/scripts/viridianhouse.asm b/scripts/viridianhouse.asm index ab8b6786..105c8fb6 100755 --- a/scripts/viridianhouse.asm +++ b/scripts/viridianhouse.asm @@ -1,22 +1,22 @@ -ViridianHouseScript: ; 1d58a (7:558a) +ViridianHouseScript: jp EnableAutoTextBoxDrawing -ViridianHouseTextPointers: ; 1d58d (7:558d) +ViridianHouseTextPointers: dw ViridianHouseText1 dw ViridianHouseText2 dw ViridianHouseText3 dw ViridianHouseText4 -ViridianHouseText1: ; 1d595 (7:5595) +ViridianHouseText1: TX_FAR _ViridianHouseText1 db "@" -ViridianHouseText2: ; 1d59a (7:559a) +ViridianHouseText2: TX_FAR _ViridianHouseText2 db "@" -ViridianHouseText3: ; 1d59f (7:559f) - db $08 ; asm +ViridianHouseText3: + TX_ASM ld hl, ViridianHouseText_1d5b1 call PrintText ld a, SPEAROW @@ -24,10 +24,10 @@ ViridianHouseText3: ; 1d59f (7:559f) call WaitForSoundToFinish jp TextScriptEnd -ViridianHouseText_1d5b1: ; 1d5b1 (7:55b1) +ViridianHouseText_1d5b1: TX_FAR _ViridianHouseText_1d5b1 db "@" -ViridianHouseText4: ; 1d5b6 (7:55b6) +ViridianHouseText4: TX_FAR _ViridianHouseText4 db "@" diff --git a/scripts/viridianmart.asm b/scripts/viridianmart.asm index d33dfe81..451ab989 100755 --- a/scripts/viridianmart.asm +++ b/scripts/viridianmart.asm @@ -1,34 +1,33 @@ -ViridianMartScript: ; 1d46e (7:546e) +ViridianMartScript: call ViridianMartScript_1d47d call EnableAutoTextBoxDrawing ld hl, ViridianMartScriptPointers - ld a, [W_VIRIDIANMARKETCURSCRIPT] + ld a, [wViridianMarketCurScript] jp CallFunctionInTable -ViridianMartScript_1d47d: ; 1d47d (7:547d) - ld a, [wd74e] - bit 0, a - jr nz, .asm_1d489 ; 0x1d482 $5 - ld hl, ViridianMartTextPointers ; $54e0 - jr .asm_1d48c ; 0x1d487 $3 +ViridianMartScript_1d47d: + CheckEvent EVENT_OAK_GOT_PARCEL + jr nz, .asm_1d489 + ld hl, ViridianMartTextPointers + jr .asm_1d48c .asm_1d489 - ld hl, ViridianMartTextPointers + $a ; $54ea ; starts at ViridianMartText6 + ld hl, ViridianMartTextPointers + $a ; starts at ViridianMartText6 .asm_1d48c ld a, l - ld [W_MAPTEXTPTR], a + ld [wMapTextPtr], a ld a, h - ld [W_MAPTEXTPTR+1], a + ld [wMapTextPtr+1], a ret -ViridianMartScriptPointers: ; 1d495 (7:5495) +ViridianMartScriptPointers: dw ViridianMartScript0 dw ViridianMartScript1 dw ViridianMartScript2 -ViridianMartScript0: ; 1d49b (7:549b) +ViridianMartScript0: call UpdateSprites ld a, $4 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld hl, wSimulatedJoypadStatesEnd ld de, RLEMovement1d4bb @@ -37,59 +36,58 @@ ViridianMartScript0: ; 1d49b (7:549b) ld [wSimulatedJoypadStatesIndex], a call StartSimulatingJoypadStates ld a, $1 - ld [W_VIRIDIANMARKETCURSCRIPT], a + ld [wViridianMarketCurScript], a ret -RLEMovement1d4bb: ; 1d4bb (7:54bb) - db $20, $01 - db $40, $02 +RLEMovement1d4bb: + db D_LEFT, $01 + db D_UP, $02 db $ff -ViridianMartScript1: ; 1d4c0 (7:54c0) +ViridianMartScript1: ld a, [wSimulatedJoypadStatesIndex] and a ret nz call Delay3 ld a, $5 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID - ld bc, (OAKS_PARCEL << 8) + 1 + lb bc, OAKS_PARCEL, 1 call GiveItem - ld hl, wd74e - set 1, [hl] + SetEvent EVENT_GOT_OAKS_PARCEL ld a, $2 - ld [W_VIRIDIANMARKETCURSCRIPT], a + ld [wViridianMarketCurScript], a ; fallthrough -ViridianMartScript2: ; 1d4df (7:54df) +ViridianMartScript2: ret -ViridianMartTextPointers: ; 1d4e0 (7:54e0) +ViridianMartTextPointers: dw ViridianMartText1 dw ViridianMartText2 dw ViridianMartText3 dw ViridianMartText4 dw ViridianMartText5 - dw ViridianMartText6 + dw ViridianCashierText dw ViridianMartText2 dw ViridianMartText3 -ViridianMartText1: ; 1d4f0 (7:54f0) +ViridianMartText1: TX_FAR _ViridianMartText1 db "@" -ViridianMartText4: ; 1d4f5 (7:54f5) +ViridianMartText4: TX_FAR _ViridianMartText4 db "@" -ViridianMartText5: ; 1d4fa (7:54fa) +ViridianMartText5: TX_FAR ViridianMartParcelQuestText - db $11 + TX_SFX_KEY_ITEM db "@" -ViridianMartText2: ; 1d500 (7:5500) +ViridianMartText2: TX_FAR _ViridianMartText2 db "@" -ViridianMartText3: ; 1d505 (7:5505) +ViridianMartText3: TX_FAR _ViridianMartText3 db "@" diff --git a/scripts/viridianpokecenter.asm b/scripts/viridianpokecenter.asm index ae5e32c8..904ff47f 100755 --- a/scripts/viridianpokecenter.asm +++ b/scripts/viridianpokecenter.asm @@ -1,23 +1,23 @@ -ViridianPokeCenterScript: ; 4425d (11:425d) +ViridianPokeCenterScript: call Serial_TryEstablishingExternallyClockedConnection jp EnableAutoTextBoxDrawing -ViridianPokecenterTextPointers: ; 44263 (11:4263) - dw ViridianPokeCenterText1 +ViridianPokecenterTextPointers: + dw ViridianHealNurseText dw ViridianPokeCenterText2 dw ViridianPokeCenterText3 - dw ViridianPokeCenterText4 + dw ViridianTradeNurseText -ViridianPokeCenterText1: ; 4426b (11:426b) - db $ff +ViridianHealNurseText: + TX_POKECENTER_NURSE -ViridianPokeCenterText2: ; 4426c (11:426c) - TX_FAR _ViridianPokeCenterText1 +ViridianPokeCenterText2: + TX_FAR _ViridianPokeCenterText2 db "@" -ViridianPokeCenterText3: ; 44271 (11:4271) +ViridianPokeCenterText3: TX_FAR _ViridianPokeCenterText3 db "@" -ViridianPokeCenterText4: ; 44276 (11:4276) - db $f6 +ViridianTradeNurseText: + TX_CABLE_CLUB_RECEPTIONIST |