From f4a31b3e0b7ca89e14c4e3836f3d3ad15f38e5ce Mon Sep 17 00:00:00 2001 From: "U-Daniel-PC\\Daniel" Date: Fri, 3 Jul 2015 14:38:12 -0500 Subject: Rename/organize part 2 of 4 rename functions, clean up address/wram comments, other misc only broken up so that all changes are viewable on github --- scripts/vermiliondock.asm | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'scripts/vermiliondock.asm') diff --git a/scripts/vermiliondock.asm b/scripts/vermiliondock.asm index 7b23c41e..f070d377 100755 --- a/scripts/vermiliondock.asm +++ b/scripts/vermiliondock.asm @@ -2,7 +2,7 @@ VermilionDockScript: ; 1db52 (7:5b52) call EnableAutoTextBoxDrawing ld hl, wd803 bit 4, [hl] - jr nz, .asm_1db8d ; 0x1db5a $31 + jr nz, .asm_1db8d bit 0, [hl] ret z ld a, [wDestinationWarpID] @@ -49,7 +49,7 @@ 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 @@ -97,13 +97,13 @@ VermilionDock_1db9b: ; 1db9b (7:5b9b) .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 [hWY], a @@ -135,7 +135,7 @@ VermilionDock_1dc42: ; 1dc42 (7:5c42) inc [hl] add hl, de dec c - jr nz, .asm_1dc50 ; 0x1dc54 $fa + jr nz, .asm_1dc50 pop de pop bc ret @@ -169,13 +169,13 @@ VermilionDock_1dc7c: ; 1dc7c (7:5c7c) .asm_1dc86 ld a, [$ff44] cp l - jr nz, .asm_1dc86 ; 0x1dc89 $fb + jr nz, .asm_1dc86 ld a, h ld [$ff43], a .asm_1dc8e ld a, [$ff44] cp h - jr z, .asm_1dc8e ; 0x1dc91 $fb + jr z, .asm_1dc8e ret VermilionDock_1dc94: ; 1dc94 (7:5c94) @@ -195,7 +195,7 @@ VermilionDock_1dc94: ; 1dc94 (7:5c94) ld [hl], a ld a, (SFX_02_54 - SFX_Headers_02) / 3 call PlaySound - ld c, $78 + ld c, 120 call DelayFrames ret -- cgit v1.3.1-sl0p From 07dd7056372288de7bb5b64f9416d741adb3b499 Mon Sep 17 00:00:00 2001 From: YamaArashi Date: Tue, 14 Jul 2015 19:46:52 -0700 Subject: hall of fame / credits --- constants/misc_constants.asm | 2 +- engine/HoF_room_pc.asm | 124 +++++++++++++++++++++++-------------------- engine/battle/animations.asm | 2 +- engine/battle/core.asm | 4 +- engine/hall_of_fame.asm | 118 ++++++++++++++++++++-------------------- engine/menu/bills_pc.asm | 6 +-- engine/menu/league_pc.asm | 44 +++++++-------- engine/menu/main_menu.asm | 8 +-- engine/oak_speech.asm | 10 ++-- engine/overworld/cut.asm | 4 +- engine/overworld/cut2.asm | 2 +- engine/save.asm | 8 +-- engine/titlescreen.asm | 6 +-- engine/titlescreen2.asm | 4 +- home.asm | 6 +-- home/init.asm | 2 +- home/text.asm | 6 +-- scripts/halloffameroom.asm | 4 +- scripts/vermiliondock.asm | 4 +- sram.asm | 2 +- wram.asm | 34 ++++++++++-- 21 files changed, 221 insertions(+), 179 deletions(-) (limited to 'scripts/vermiliondock.asm') diff --git a/constants/misc_constants.asm b/constants/misc_constants.asm index eca97408..2495f17f 100644 --- a/constants/misc_constants.asm +++ b/constants/misc_constants.asm @@ -8,7 +8,7 @@ NUM_BOXES EQU 12 HOF_MON EQU $10 HOF_TEAM EQU PARTY_LENGTH * HOF_MON -NUM_HOF_TEAMS EQU 50 +HOF_TEAM_CAPACITY EQU 50 A_BUTTON EQU %00000001 diff --git a/engine/HoF_room_pc.asm b/engine/HoF_room_pc.asm index 98c77903..77a07ea3 100755 --- a/engine/HoF_room_pc.asm +++ b/engine/HoF_room_pc.asm @@ -6,10 +6,10 @@ HallOfFamePC: ; 7405c (1d:405c) call DisableLCD ld hl, vFont ld bc, $800 / 2 - call Func_74171 + call ZeroMemory ld hl, vChars2 + $600 ld bc, $200 / 2 - call Func_74171 + call ZeroMemory ld hl, vChars2 + $7e0 ld bc, $10 ld a, $ff @@ -30,12 +30,12 @@ HallOfFamePC: ; 7405c (1d:405c) call DelayFrames xor a ld [wWhichTrade], a - ld [wTrainerEngageDistance], a + ld [wNumCreditsMonsDisplayed], a jp Credits -Func_740ba: ; 740ba (1d:40ba) +FadeInCreditsText: ; 740ba (1d:40ba) ld hl, HoFGBPalettes - ld b, $4 + ld b, 4 .asm_740bf ld a, [hli] ld [rBGP], a @@ -52,7 +52,7 @@ DisplayCreditsMon: ; 740cb (1d:40cb) call FillMiddleOfScreenWithWhite ; display the next monster from CreditsMons - ld hl,wTrainerEngageDistance + ld hl,wNumCreditsMonsDisplayed ld c,[hl] ; how many monsters have we displayed so far? inc [hl] ld b,0 @@ -65,62 +65,69 @@ DisplayCreditsMon: ; 740cb (1d:40cb) call GetMonHeader call LoadFrontSpriteByMonIndex ld hl,vBGMap0 + $c - call Func_74164 + call CopyTileMapToVRAM xor a ld [H_AUTOBGTRANSFERENABLED],a call LoadScreenTilesFromBuffer1 ld hl,vBGMap0 - call Func_74164 + call CopyTileMapToVRAM ld a,$A7 - ld [$FF4B],a + ld [rWX],a ld hl,vBGMap1 - call Func_74164 + call CopyTileMapToVRAM call FillMiddleOfScreenWithWhite - ld a,$FC + ld a,%11111100 ; make the mon a black silhouette ld [rBGP],a + +; scroll the mon left by one tile 7 times ld bc,7 -.next - call Func_74140 +.scrollLoop1 + call ScrollCreditsMonLeft dec c - jr nz,.next - ld c,$14 -.next2 - call Func_74140 - ld a,[$FF4B] + jr nz,.scrollLoop1 + +; scroll the mon left by one tile 20 times +; This time, we have to move the window left too in order to hide the text that +; is wrapping around to the right side of the screen. + ld c,20 +.scrollLoop2 + call ScrollCreditsMonLeft + ld a,[rWX] sub 8 - ld [$FF4B],a + ld [rWX],a dec c - jr nz,.next2 + jr nz,.scrollLoop2 + xor a ld [hWY],a - ld a,$C0 + ld a,%11000000 ld [rBGP],a ret INCLUDE "data/credit_mons.asm" -Func_74140: ; 74140 (1d:4140) +ScrollCreditsMonLeft: ; 74140 (1d:4140) ld h, b ld l, $20 - call Func_74152 + call ScrollCreditsMonLeft_SetSCX ld h, $0 ld l, $70 - call Func_74152 + call ScrollCreditsMonLeft_SetSCX ld a, b add $8 ld b, a ret -Func_74152: ; 74152 (1d:4152) - ld a, [$ff44] +ScrollCreditsMonLeft_SetSCX: ; 74152 (1d:4152) + ld a, [rLY] cp l - jr nz, Func_74152 + jr nz, ScrollCreditsMonLeft_SetSCX ld a, h ld [rSCX], a -.asm_7415a - ld a, [$ff44] +.loop + ld a, [rLY] cp h - jr z, .asm_7415a + jr z, .loop ret HoFGBPalettes: ; 74160 (1d:4160) @@ -129,7 +136,7 @@ HoFGBPalettes: ; 74160 (1d:4160) db %11100000 db %11110000 -Func_74164: ; 74164 (1d:4164) +CopyTileMapToVRAM: ; 74164 (1d:4164) ld a, l ld [H_AUTOBGTRANSFERDEST], a ld a, h @@ -138,14 +145,15 @@ Func_74164: ; 74164 (1d:4164) ld [H_AUTOBGTRANSFERENABLED], a jp Delay3 -Func_74171: ; 74171 (1d:4171) - ld [hl], $0 +ZeroMemory: ; 74171 (1d:4171) +; zero bc bytes at hl + ld [hl], 0 inc hl inc hl dec bc ld a, b or c - jr nz, Func_74171 + jr nz, ZeroMemory ret FillFourRowsWithBlack: ; 7417b (1d:417b) @@ -162,26 +170,26 @@ FillMiddleOfScreenWithWhite: ; 74183 (1d:4183) Credits: ; 7418e (1d:418e) ld de, CreditsOrder push de -.asm_74192 +.nextCreditsScreen pop de hlCoord 9, 6 push hl call FillMiddleOfScreenWithWhite pop hl -.asm_7419b +.nextCreditsCommand ld a, [de] inc de push de cp $ff - jr z, .asm_741d5 + jr z, .fadeInTextAndShowMon cp $fe - jr z, .asm_741dc + jr z, .showTextAndShowMon cp $fd - jr z, .asm_741e6 + jr z, .fadeInText cp $fc - jr z, .asm_741ed + jr z, .showText cp $fb - jr z, .asm_741f4 + jr z, .showCopyrightText cp $fa jr z, .showTheEnd push hl @@ -189,7 +197,7 @@ Credits: ; 7418e (1d:418e) ld hl, CreditsTextPointers add a ld c, a - ld b, $0 + ld b, 0 add hl, bc ld e, [hl] inc hl @@ -205,32 +213,32 @@ Credits: ; 7418e (1d:418e) ld bc, SCREEN_WIDTH * 2 add hl, bc pop de - jr .asm_7419b -.asm_741d5 - call Func_740ba + jr .nextCreditsCommand +.fadeInTextAndShowMon + call FadeInCreditsText ld c, 90 - jr .asm_741de -.asm_741dc + jr .next1 +.showTextAndShowMon ld c, 110 -.asm_741de +.next1 call DelayFrames call DisplayCreditsMon - jr .asm_74192 -.asm_741e6 - call Func_740ba + jr .nextCreditsScreen +.fadeInText + call FadeInCreditsText ld c, 120 - jr .asm_741ef -.asm_741ed + jr .next2 +.showText ld c, 140 -.asm_741ef +.next2 call DelayFrames - jr .asm_74192 -.asm_741f4 + jr .nextCreditsScreen +.showCopyrightText push de callba LoadCopyrightTiles pop de pop de - jr .asm_7419b + jr .nextCreditsCommand .showTheEnd ld c, 16 call DelayFrames @@ -246,7 +254,7 @@ Credits: ; 7418e (1d:418e) hlCoord 4, 9 inc de call PlaceString - jp Func_740ba + jp FadeInCreditsText TheEndTextString: ; 74229 (1d:4229) ; "T H E E N D" diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm index 32f98f19..9f725cc9 100755 --- a/engine/battle/animations.asm +++ b/engine/battle/animations.asm @@ -1973,7 +1973,7 @@ AnimationWavyScreen: ; 79666 (1e:5666) push hl .asm_79680 call Func_796ae - ld a, [$ff44] + ld a, [rLY] cp e jr nz, .asm_79680 pop hl diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 5ef94998..9535a8c5 100755 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -6856,7 +6856,7 @@ DetermineWildOpponent: ; 3ef23 (f:6f23) InitBattleCommon: ; 3ef3d (f:6f3d) ld a, [wMapPalOffset] push af - ld hl, wd358 + ld hl, wLetterPrintingDelayFlags ld a, [hl] push af res 1, [hl] @@ -6963,7 +6963,7 @@ InitBattle_Common: ; 3efeb (f:6feb) call StartBattle callab EndOfBattle pop af - ld [wd358], a + ld [wLetterPrintingDelayFlags], a pop af ld [wMapPalOffset], a ld a, [wd0d4] diff --git a/engine/hall_of_fame.asm b/engine/hall_of_fame.asm index 7882a226..81ccffdc 100755 --- a/engine/hall_of_fame.asm +++ b/engine/hall_of_fame.asm @@ -1,5 +1,5 @@ AnimateHallOfFame: ; 701a0 (1c:41a0) - call Func_70423 + call HoFFadeOutScreenAndMusic call ClearScreen ld c, 100 call DelayFrames @@ -21,16 +21,16 @@ AnimateHallOfFame: ; 701a0 (1c:41a0) ld [wUpdateSpritesEnabled], a ld [hTilesetType], a ld [W_SPRITEFLIPPED], a - ld [wd358], a - ld [wTrainerScreenY], a + ld [wLetterPrintingDelayFlags], a ; no delay + ld [wHoFMonOrPlayer], a ; mon inc a ld [H_AUTOBGTRANSFERENABLED], a - ld hl, wd5a2 + ld hl, wNumHoFTeams ld a, [hl] inc a - jr z, .asm_701eb + jr z, .skipInc ; don't wrap around to 0 inc [hl] -.asm_701eb +.skipInc ld a, $90 ld [hWY], a ld c, BANK(Music_HallOfFame) @@ -38,23 +38,23 @@ AnimateHallOfFame: ; 701a0 (1c:41a0) call PlayMusic ld hl, wPartySpecies ld c, $ff -.asm_701fb +.partyMonLoop ld a, [hli] cp $ff - jr z, .asm_70241 + jr z, .doneShowingParty inc c push hl push bc - ld [wWhichTrade], a + ld [wHoFMonSpecies], a ld a, c - ld [wTrainerEngageDistance], a + ld [wHoFPartyMonIndex], a ld hl, wPartyMon1Level ld bc, wPartyMon2 - wPartyMon1 call AddNTimes ld a, [hl] - ld [wTrainerFacingDirection], a - call Func_70278 - call Func_702e1 + ld [wHoFMonLevel], a + call HoFShowMonOrPlayer + call HoFDisplayAndRecordMonInfo ld c, 80 call DelayFrames hlCoord 2, 13 @@ -69,8 +69,8 @@ AnimateHallOfFame: ; 701a0 (1c:41a0) call GBFadeOutToWhite pop bc pop hl - jr .asm_701fb -.asm_70241 + jr .partyMonLoop +.doneShowingParty ld a, c inc a ld hl, wHallOfFame @@ -79,12 +79,12 @@ AnimateHallOfFame: ; 701a0 (1c:41a0) ld [hl], $ff call SaveHallOfFameTeams xor a - ld [wWhichTrade], a + ld [wHoFMonSpecies], a inc a - ld [wTrainerScreenY], a - call Func_70278 + ld [wHoFMonOrPlayer], a ; player + call HoFShowMonOrPlayer call HoFDisplayPlayerStats - call Func_70423 + call HoFFadeOutScreenAndMusic xor a ld [hWY], a ld hl, rLCDC @@ -94,69 +94,72 @@ AnimateHallOfFame: ; 701a0 (1c:41a0) HallOfFameText: ; 7026b (1c:426b) db "HALL OF FAME@" -Func_70278: ; 70278 (1c:4278) +HoFShowMonOrPlayer: ; 70278 (1c:4278) call ClearScreen ld a, $d0 ld [hSCY], a ld a, $c0 ld [hSCX], a - ld a, [wWhichTrade] + ld a, [wHoFMonSpecies] ld [wcf91], a ld [wd0b5], a ld [wBattleMonSpecies2], a ld [wcf1d], a - ld a, [wTrainerScreenY] + ld a, [wHoFMonOrPlayer] and a - jr z, .asm_7029d + jr z, .showMon +; show player call HoFLoadPlayerPics - jr .asm_702ab -.asm_7029d + jr .next1 +.showMon hlCoord 12, 5 call GetMonHeader call LoadFrontSpriteByMonIndex predef LoadMonBackPic -.asm_702ab +.next1 ld b, $b ld c, $0 call GoPAL_SET - ld a, $e4 + ld a, %11100100 ld [rBGP], a - ld c, $31 - call Func_7036d + ld c, $31 ; back pic + call HoFLoadMonPlayerPicTileIDs ld d, $a0 - ld e, $4 + ld e, 4 ld a, [wOnSGB] and a - jr z, .asm_702c7 - sla e -.asm_702c7 - call .asm_702d5 + jr z, .next2 + sla e ; scroll more slowly on SGB +.next2 + call .ScrollPic ; scroll back pic left xor a ld [hSCY], a - ld c, a - call Func_7036d - ld d, $0 - ld e, $fc -.asm_702d5 + ld c, a ; front pic + call HoFLoadMonPlayerPicTileIDs + ld d, 0 + ld e, -4 +; scroll front pic right + +.ScrollPic call DelayFrame ld a, [hSCX] add e ld [hSCX], a cp d - jr nz, .asm_702d5 + jr nz, .ScrollPic ret -Func_702e1: ; 702e1 (1c:42e1) - ld a, [wTrainerEngageDistance] +HoFDisplayAndRecordMonInfo: ; 702e1 (1c:42e1) + ld a, [wHoFPartyMonIndex] ld hl, wPartyMonNicks call GetPartyMonName - call Func_702f0 - jp Func_70404 + call HoFDisplayMonInfo + jp HoFRecordMonInfo -Func_702f0: ; 702f0 (1c:42f0) +HoFDisplayMonInfo: ; 702f0 (1c:42f0) hlCoord 0, 2 - ld b, $9 - ld c, $a + ld b, 9 + ld c, 10 call TextBoxBorder hlCoord 2, 6 ld de, HoFMonInfoText @@ -164,14 +167,14 @@ Func_702f0: ; 702f0 (1c:42f0) hlCoord 1, 4 ld de, wcd6d call PlaceString - ld a, [wTrainerFacingDirection] + ld a, [wHoFMonLevel] hlCoord 8, 7 call PrintLevelCommon - ld a, [wWhichTrade] + ld a, [wHoFMonSpecies] ld [wd0b5], a hlCoord 3, 9 predef PrintMonType - ld a, [wWhichTrade] + ld a, [wHoFMonSpecies] jp PlayCry HoFMonInfoText: ; 70329 (1c:4329) @@ -197,8 +200,9 @@ HoFLoadPlayerPics: ; 7033e (1c:433e) call InterlaceMergeSpriteBuffers ld c, $1 -Func_7036d: ; 7036d (1c:436d) - ld b, $0 +HoFLoadMonPlayerPicTileIDs: ; 7036d (1c:436d) +; c = base tile ID + ld b, 0 hlCoord 12, 5 predef_jump CopyTileIDsFromList @@ -261,14 +265,14 @@ DexRatingText: ; 703ff (1c:43ff) TX_FAR _DexRatingText db "@" -Func_70404: ; 70404 (1c:4404) +HoFRecordMonInfo: ; 70404 (1c:4404) ld hl, wHallOfFame ld bc, HOF_MON - ld a, [wTrainerEngageDistance] + ld a, [wHoFPartyMonIndex] call AddNTimes - ld a, [wWhichTrade] + ld a, [wHoFMonSpecies] ld [hli], a - ld a, [wTrainerFacingDirection] + ld a, [wHoFMonLevel] ld [hli], a ld e, l ld d, h @@ -276,7 +280,7 @@ Func_70404: ; 70404 (1c:4404) ld bc, $b jp CopyData -Func_70423: ; 70423 (1c:4423) +HoFFadeOutScreenAndMusic: ; 70423 (1c:4423) ld a, $a ld [wcfc8], a ld [wcfc9], a diff --git a/engine/menu/bills_pc.asm b/engine/menu/bills_pc.asm index fcc51af1..ec7d728a 100644 --- a/engine/menu/bills_pc.asm +++ b/engine/menu/bills_pc.asm @@ -2,13 +2,13 @@ Func_213c8:: ; 213c8 (8:53c8) xor a ld [H_AUTOBGTRANSFERENABLED], a call SaveScreenTilesToBuffer2 - ld a, [wd5a2] + ld a, [wNumHoFTeams] and a jr nz, .asm_213f3 ld a, [wd74b] bit 5, a jr z, .asm_213ea - ld a, [wd5a2] + ld a, [wNumHoFTeams] and a jr nz, .asm_213f3 hlCoord 0, 0 @@ -53,7 +53,7 @@ Func_213c8:: ; 213c8 (8:53c8) hlCoord 2, 6 ld de, OaksPCText call PlaceString - ld a, [wd5a2] + ld a, [wNumHoFTeams] and a jr z, .asm_2145a ld a, $4 diff --git a/engine/menu/league_pc.asm b/engine/menu/league_pc.asm index a6dd7021..c38ab86b 100755 --- a/engine/menu/league_pc.asm +++ b/engine/menu/league_pc.asm @@ -13,30 +13,32 @@ PKMNLeaguePC: ; 0x7657e ld [W_SPRITEFLIPPED], a ld [wUpdateSpritesEnabled], a ld [wTrainerScreenX], a - ld [wcd42], a - ld a, [wd5a2] + ld [wHoFTeamNo], a + ld a, [wNumHoFTeams] ld b, a - cp NUM_HOF_TEAMS + 1 - jr c, .first - ld b, NUM_HOF_TEAMS + cp HOF_TEAM_CAPACITY + 1 + jr c, .loop +; If the total number of hall of fame teams is greater than the storage +; capacity, then calculate the number of the first team that is still recorded. + ld b, HOF_TEAM_CAPACITY sub b - ld [wcd42], a -.first - ld hl, wcd42 + ld [wHoFTeamNo], a +.loop + ld hl, wHoFTeamNo inc [hl] push bc ld a, [wTrainerScreenX] - ld [wWhichTrade], a + ld [wHoFMonSpecies], a callba LoadHallOfFameTeams - call Func_765e5 + call LeaguePCShowTeam pop bc - jr c, .second + jr c, .doneShowingTeams ld hl, wTrainerScreenX inc [hl] ld a, [hl] cp b - jr nz, .first -.second + jr nz, .loop +.doneShowingTeams pop af ld [hTilesetType], a pop af @@ -48,11 +50,11 @@ PKMNLeaguePC: ; 0x7657e call GoPAL_SET_CF1C jp GBPalNormal -Func_765e5: ; 765e5 (1d:65e5) +LeaguePCShowTeam: ; 765e5 (1d:65e5) ld c, PARTY_LENGTH .loop push bc - call Func_76610 + call LeaguePCShowMon call WaitForTextScrollButtonPress ld a, [hJoyHeld] bit 1, a @@ -75,18 +77,18 @@ Func_765e5: ; 765e5 (1d:65e5) scf ret -Func_76610: ; 76610 (1d:6610) +LeaguePCShowMon: ; 76610 (1d:6610) call GBPalWhiteOutWithDelay3 call ClearScreen ld hl, wHallOfFame ld a, [hli] - ld [wWhichTrade], a + ld [wHoFMonSpecies], a ld [wcf91], a ld [wd0b5], a ld [wBattleMonSpecies2], a ld [wcf1d], a ld a, [hli] - ld [wTrainerFacingDirection], a + ld [wHoFMonLevel], a ld de, wcd6d ld bc, $000B call CopyData @@ -105,11 +107,11 @@ Func_76610: ; 76610 (1d:6610) ld de, HallOfFameNoText call PlaceString hlCoord 16, 15 - ld de, wcd42 + ld de, wHoFTeamNo ld bc, $0103 call PrintNumber - ld b, BANK(Func_702f0) - ld hl, Func_702f0 + ld b, BANK(HoFDisplayMonInfo) + ld hl, HoFDisplayMonInfo jp Bankswitch HallOfFameNoText: ; 76670 (1d:6670) diff --git a/engine/menu/main_menu.asm b/engine/menu/main_menu.asm index 0856352c..55c559f5 100755 --- a/engine/menu/main_menu.asm +++ b/engine/menu/main_menu.asm @@ -109,7 +109,7 @@ MainMenu: ; 5af2 (1:5af2) ld [wd52a],a ld c,10 call DelayFrames - ld a,[wd5a2] + ld a,[wNumHoFTeams] and a jp z,SpecialEnterMap ld a,[W_CURMAP] ; map ID @@ -124,14 +124,14 @@ MainMenu: ; 5af2 (1:5af2) Func_5bff: ; 5bff (1:5bff) ld a,1 - ld [wd358],a + ld [wLetterPrintingDelayFlags],a ld a,3 ld [W_OPTIONS],a ret LinkMenu: ; 5c0a (1:5c0a) xor a - ld [wd358], a + ld [wLetterPrintingDelayFlags], a ld hl, wd72e set 6, [hl] ld hl, TextTerminator_6b20 @@ -452,7 +452,7 @@ DisplayOptionMenu: ; 5e8a (1:5e8a) ld [wCurrentMenuItem],a ld [wLastMenuItem],a inc a - ld [wd358],a + ld [wLetterPrintingDelayFlags],a ld [wTrainerScreenY],a ld a,3 ; text speed cursor Y coordinate ld [wTopMenuItemY],a diff --git a/engine/oak_speech.asm b/engine/oak_speech.asm index f333586d..df092d4c 100755 --- a/engine/oak_speech.asm +++ b/engine/oak_speech.asm @@ -1,5 +1,5 @@ SetDefaultNames: ; 60ca (1:60ca) - ld a, [wd358] + ld a, [wLetterPrintingDelayFlags] push af ld a, [W_OPTIONS] push af @@ -18,7 +18,7 @@ SetDefaultNames: ; 60ca (1:60ca) pop af ld [W_OPTIONS], a pop af - ld [wd358], a + ld [wLetterPrintingDelayFlags], a ld a, [wd08a] and a call z, Func_5bff @@ -193,18 +193,18 @@ IntroFadePalettes: ; 6282 (1:6282) MovePicLeft: ; 6288 (1:6288) ld a,119 - ld [$FF4B],a + ld [rWX],a call DelayFrame ld a,$E4 ld [rBGP],a .next call DelayFrame - ld a,[$FF4B] + ld a,[rWX] sub 8 cp $FF ret z - ld [$FF4B],a + ld [rWX],a jr .next Predef3B: ; 62a1 (1:62a1) diff --git a/engine/overworld/cut.asm b/engine/overworld/cut.asm index 163b32e7..8f171545 100755 --- a/engine/overworld/cut.asm +++ b/engine/overworld/cut.asm @@ -26,7 +26,7 @@ UsedCut: ; ef54 (3:6f54) db "@" .asm_ef82 - ld [wcd4d], a + ld [wCutTile], a ld a, $1 ld [wcd6a], a ld a, [wWhichPokemon] @@ -76,7 +76,7 @@ AnimateCutTree: ; eff7 (3:6ff7) ld [wWhichAnimationOffsets], a ld a, $e4 ld [rOBP1], a - ld a, [wcd4d] + ld a, [wCutTile] cp $52 jr z, .asm_f020 ld de, Overworld_GFX + $2d0 ; cuttable tree sprite top row diff --git a/engine/overworld/cut2.asm b/engine/overworld/cut2.asm index 9cb011b4..3194b39b 100755 --- a/engine/overworld/cut2.asm +++ b/engine/overworld/cut2.asm @@ -1,5 +1,5 @@ Func_79e96: ; 79e96 (1e:5e96) - ld a, [wcd4d] + ld a, [wCutTile] cp $52 jr z, .asm_79ec8 ld c, $8 diff --git a/engine/save.asm b/engine/save.asm index 4849c53e..ac97e6ba 100755 --- a/engine/save.asm +++ b/engine/save.asm @@ -620,9 +620,9 @@ SAVCheckRandomID: ; 73ad1 (1c:7ad1) ret SaveHallOfFameTeams: ; 73b0d (1c:7b0d) - ld a, [wd5a2] + ld a, [wNumHoFTeams] dec a - cp NUM_HOF_TEAMS + cp HOF_TEAM_CAPACITY jr nc, .asm_73b28 ld hl, sHallOfFame ld bc, HOF_TEAM @@ -636,10 +636,10 @@ SaveHallOfFameTeams: ; 73b0d (1c:7b0d) .asm_73b28 ld hl, sHallOfFame + HOF_TEAM ld de, sHallOfFame - ld bc, HOF_TEAM * (NUM_HOF_TEAMS - 1) + ld bc, HOF_TEAM * (HOF_TEAM_CAPACITY - 1) call HallOfFame_Copy ld hl, wcc5b - ld de, sHallOfFame + HOF_TEAM * (NUM_HOF_TEAMS - 1) + ld de, sHallOfFame + HOF_TEAM * (HOF_TEAM_CAPACITY - 1) ld bc, HOF_TEAM jr HallOfFame_Copy diff --git a/engine/titlescreen.asm b/engine/titlescreen.asm index 69a3a20e..7230f08f 100755 --- a/engine/titlescreen.asm +++ b/engine/titlescreen.asm @@ -12,7 +12,7 @@ SetDefaultNamesBeforeTitlescreen: ; 42b7 (1:42b7) call CopyFixedLengthText xor a ld [hWY], a - ld [wd358], a + ld [wLetterPrintingDelayFlags], a ld hl, wd732 ld [hli], a ld [hli], a @@ -284,7 +284,7 @@ Func_44c1: ; 44c1 (1:44c1) Func_44cf: ; 44cf (1:44cf) .wait - ld a, [$ff44] ; rLY + ld a, [rLY] cp l jr nz, .wait @@ -292,7 +292,7 @@ Func_44cf: ; 44cf (1:44cf) ld [rSCX], a .wait2 - ld a, [$ff44] ; rLY + ld a, [rLY] cp h jr z, .wait2 ret diff --git a/engine/titlescreen2.asm b/engine/titlescreen2.asm index 57e5c3d5..61b97edc 100755 --- a/engine/titlescreen2.asm +++ b/engine/titlescreen2.asm @@ -69,7 +69,7 @@ _TitleScroll: ; 3726a (d:726a) .ScrollBetween ; 37292 (d:7292) .wait - ld a, [$ff44] ; rLY + ld a, [rLY] ; rLY cp l jr nz, .wait @@ -77,7 +77,7 @@ _TitleScroll: ; 3726a (d:726a) ld [rSCX], a .wait2 - ld a, [$ff44] ; rLY + ld a, [rLY] ; rLY cp h jr z, .wait2 ret diff --git a/home.asm b/home.asm index bf5ed9c3..7f1a790e 100644 --- a/home.asm +++ b/home.asm @@ -3538,18 +3538,18 @@ Divide:: ; 38b9 (0:38b9) ; This function is used to wait a short period after printing a letter to the ; screen unless the player presses the A/B button or the delay is turned off -; through the [wd730] or [wd358] flags. +; through the [wd730] or [wLetterPrintingDelayFlags] flags. PrintLetterDelay:: ; 38d3 (0:38d3) ld a,[wd730] bit 6,a ret nz - ld a,[wd358] + ld a,[wLetterPrintingDelayFlags] bit 1,a ret z push hl push de push bc - ld a,[wd358] + ld a,[wLetterPrintingDelayFlags] bit 0,a jr z,.waitOneFrame ld a,[W_OPTIONS] diff --git a/home/init.asm b/home/init.asm index b3f31944..932797ac 100644 --- a/home/init.asm +++ b/home/init.asm @@ -27,7 +27,7 @@ rLCDC_DEFAULT EQU %11100011 ld [$ff42], a ld [rSB], a ld [rSC], a - ld [$ff4b], a + ld [rWX], a ld [$ff4a], a ld [$ff06], a ld [$ff07], a diff --git a/home/text.asm b/home/text.asm index b77e1930..ebdc83f4 100644 --- a/home/text.asm +++ b/home/text.asm @@ -368,13 +368,13 @@ ProtectedDelay3:: ; 1b3a (0:1b3a) ret TextCommandProcessor:: ; 1b40 (0:1b40) - ld a,[wd358] + ld a,[wLetterPrintingDelayFlags] push af set 1,a ld e,a ld a,[$fff4] xor e - ld [wd358],a + ld [wLetterPrintingDelayFlags],a ld a,c ld [wcc3a],a ld a,b @@ -385,7 +385,7 @@ NextTextCommand:: ; 1b55 (0:1b55) cp a, "@" ; terminator jr nz,.doTextCommand pop af - ld [wd358],a + ld [wLetterPrintingDelayFlags],a ret .doTextCommand push hl diff --git a/scripts/halloffameroom.asm b/scripts/halloffameroom.asm index 1d522e60..afdd4e0c 100755 --- a/scripts/halloffameroom.asm +++ b/scripts/halloffameroom.asm @@ -21,13 +21,13 @@ HallofFameRoomScript3: ; 5a4ba (16:64ba) HallofFameRoomScript2: ; 5a4bb (16:64bb) call Delay3 - ld a, [wd358] + ld a, [wLetterPrintingDelayFlags] push af xor a ld [wJoyIgnore], a predef HallOfFamePC pop af - ld [wd358], a + ld [wLetterPrintingDelayFlags], a ld hl, W_FLAGS_D733 res 1, [hl] inc hl diff --git a/scripts/vermiliondock.asm b/scripts/vermiliondock.asm index f070d377..361f4997 100755 --- a/scripts/vermiliondock.asm +++ b/scripts/vermiliondock.asm @@ -167,13 +167,13 @@ VermilionDock_1dc7c: ; 1dc7c (7:5c7c) ld h, $0 ld l, $80 .asm_1dc86 - ld a, [$ff44] + ld a, [rLY] cp l jr nz, .asm_1dc86 ld a, h ld [$ff43], a .asm_1dc8e - ld a, [$ff44] + ld a, [rLY] cp h jr z, .asm_1dc8e ret diff --git a/sram.asm b/sram.asm index f20f8adf..9d498df9 100644 --- a/sram.asm +++ b/sram.asm @@ -6,7 +6,7 @@ S_SPRITEBUFFER2:: ds SPRITEBUFFERSIZE ; a310 ds $100 -sHallOfFame:: ds HOF_TEAM * NUM_HOF_TEAMS ; a598 +sHallOfFame:: ds HOF_TEAM * HOF_TEAM_CAPACITY ; a598 SECTION "Save Data", SRAM, BANK[1] diff --git a/wram.asm b/wram.asm index c150b6c6..61dba700 100755 --- a/wram.asm +++ b/wram.asm @@ -601,6 +601,8 @@ wOverrideSimulatedJoypadStatesMask:: ; cd3b ds 1 +wHoFMonSpecies:: ; cd3d + wFieldMoves:: ; cd3d ; 4 bytes ; the current mon's field moves @@ -642,6 +644,11 @@ wWhichTrade:: ; cd3d wTrainerSpriteOffset:: ; cd3d ds 1 +wHoFPartyMonIndex:: ; cd3e + +wNumCreditsMonsDisplayed:: ; cd3e +; the number of credits mons that have been displayed so far + wBadgeNameTile:: ; cd3e ; first tile ID of the name being drawn @@ -665,6 +672,8 @@ wHiddenObjectFunctionRomBank:: ; cd3e wTrainerEngageDistance:: ; cd3e ds 1 +wHoFMonLevel:: ; cd3f + wBadgeOrFaceTiles:: ; cd3f ; 8 bytes ; a list of the first tile IDs of each badge or face (depending on whether the @@ -686,6 +695,11 @@ wTrainerFacingDirection:: ; cd3f wcd3f:: ; used with daycare text for money amount ds 1 +wHoFMonOrPlayer:: ; cd40 +; show mon or show player? +; 0 = mon +; 1 = player + wSlotMachineWheel3Offset:: ; cd40 wPlayerSpinInPlaceAnimSoundID:: ; cd40 @@ -710,6 +724,8 @@ wTrainerScreenX:: ; cd41 ds 1 ; a lot of the uses for these values use more than the said address +wHoFTeamNo:: ; cd42 + wSlotMachineWheel1MiddleTile:: ; cd42 wFieldMovesLeftmostXCoord:: ; cd42 @@ -776,7 +792,10 @@ wSlotMachineFlags:: ; cd4c wSlotMachineWheel1SlipCounter:: ; cd4d ; wheel 1 can "slip" while this is non-zero -wcd4d:: ds 1 ; used with cut and slot machine +wCutTile:: ; cd4d +; $3d = tree tile +; $52 = grass tile + ds 1 wSlotMachineWheel2SlipCounter:: ; cd4e ; wheel 2 can "slip" while this is non-zero @@ -1695,7 +1714,12 @@ W_OBTAINEDBADGES:: ; d356 ds 1 -wd358:: ds 1 ; bit 0 set = no delay when printing text (W_OPTIONS is still checked though) +wLetterPrintingDelayFlags:: ; d358 +; bit 0: If 0, limit the delay to 1 frame. Note that this has no effect if +; the delay has been disabled entirely through bit 1 of this variable +; or bit 6 of wd730. +; bit 1: If 0, no delay. + ds 1 wPlayerID:: ; d359 ds 2 @@ -1904,7 +1928,11 @@ wBoxItems:: ; d53b ds 1 ; end wd5a0:: ds 2 ; current box number -wd5a2:: ds 1 ; number of HOF teams + +wNumHoFTeams:: ; d5a2 +; number of HOF teams + ds 1 + wd5a3:: ds 1 ; unused? (written to when loading map data) wPlayerCoins:: ; d5a4 -- cgit v1.3.1-sl0p From 148d3f3cf28f9c270e3d5043af0692d95bc731c5 Mon Sep 17 00:00:00 2001 From: dannye Date: Sat, 18 Jul 2015 15:52:03 -0500 Subject: Consolidate coord macros --- engine/HoF_room_pc.asm | 14 +-- engine/battle/animations.asm | 46 +++++----- engine/battle/battle_transitions.asm | 44 ++++----- engine/battle/core.asm | 126 +++++++++++++------------- engine/battle/draw_hud_pokeball_gfx.asm | 4 +- engine/battle/end_of_battle.asm | 2 +- engine/battle/ghost_marowak_anim.asm | 2 +- engine/battle/link_battle_versus_text.asm | 8 +- engine/battle/moveEffects/drain_hp_effect.asm | 4 +- engine/battle/moveEffects/heal_effect.asm | 4 +- engine/battle/moveEffects/recoil_effect.asm | 4 +- engine/battle/scroll_draw_trainer_pic.asm | 2 +- engine/battle/trainer_ai.asm | 2 +- engine/battle/wild_encounters.asm | 2 +- engine/cable_club.asm | 48 +++++----- engine/clear_save.asm | 2 +- engine/evolution.asm | 4 +- engine/evos_moves.asm | 2 +- engine/hall_of_fame.asm | 32 +++---- engine/hidden_object_functions17.asm | 12 +-- engine/hidden_object_functions7.asm | 4 +- engine/intro.asm | 8 +- engine/items/items.asm | 6 +- engine/learn_move.asm | 8 +- engine/menu/bills_pc.asm | 38 ++++---- engine/menu/diploma.asm | 4 +- engine/menu/league_pc.asm | 8 +- engine/menu/main_menu.asm | 58 ++++++------ engine/menu/naming_screen.asm | 22 ++--- engine/menu/party_menu.asm | 2 +- engine/menu/players_pc.asm | 4 +- engine/menu/pokedex.asm | 58 ++++++------ engine/menu/prize_menu.asm | 30 +++--- engine/menu/start_sub_menus.asm | 26 +++--- engine/menu/status_screen.asm | 62 ++++++------- engine/menu/vending_machine.asm | 6 +- engine/oak_speech.asm | 8 +- engine/oak_speech2.asm | 12 +-- engine/overworld/cinnabar_lab.asm | 4 +- engine/overworld/movement.asm | 2 +- engine/overworld/pokemart.asm | 4 +- engine/save.asm | 18 ++-- engine/slot_machine.asm | 26 +++--- engine/titlescreen.asm | 12 +-- engine/town_map.asm | 32 +++---- engine/trade.asm | 32 +++---- engine/trade2.asm | 20 ++-- home.asm | 44 ++++----- home/copy2.asm | 8 +- home/overworld.asm | 12 +-- home/text.asm | 22 ++--- home/vcopy.asm | 6 +- macros.asm | 21 +---- main.asm | 48 +++++----- scripts/bikeshop.asm | 6 +- scripts/celadongamecorner.asm | 16 ++-- scripts/celadonmartroof.asm | 4 +- scripts/vermiliondock.asm | 2 +- 58 files changed, 528 insertions(+), 539 deletions(-) (limited to 'scripts/vermiliondock.asm') diff --git a/engine/HoF_room_pc.asm b/engine/HoF_room_pc.asm index 77a07ea3..dc05814a 100755 --- a/engine/HoF_room_pc.asm +++ b/engine/HoF_room_pc.asm @@ -14,9 +14,9 @@ HallOfFamePC: ; 7405c (1d:405c) ld bc, $10 ld a, $ff call FillMemory - hlCoord 0, 0 + coord hl, 0, 0 call FillFourRowsWithBlack - hlCoord 0, 14 + coord hl, 0, 14 call FillFourRowsWithBlack ld a, $c0 ld [rBGP], a @@ -61,7 +61,7 @@ DisplayCreditsMon: ; 740cb (1d:40cb) ld a,[hl] ld [wcf91],a ld [wd0b5],a - hlCoord 8, 6 + coord hl, 8, 6 call GetMonHeader call LoadFrontSpriteByMonIndex ld hl,vBGMap0 + $c @@ -162,7 +162,7 @@ FillFourRowsWithBlack: ; 7417b (1d:417b) jp FillMemory FillMiddleOfScreenWithWhite: ; 74183 (1d:4183) - hlCoord 0, 4 + coord hl, 0, 4 ld bc, SCREEN_WIDTH * 10 ld a, $7f ; blank white tile jp FillMemory @@ -172,7 +172,7 @@ Credits: ; 7418e (1d:418e) push de .nextCreditsScreen pop de - hlCoord 9, 6 + coord hl, 9, 6 push hl call FillMiddleOfScreenWithWhite pop hl @@ -248,10 +248,10 @@ Credits: ; 7418e (1d:418e) ld hl, vChars2 + $600 ld bc, (BANK(TheEndGfx) << 8) + $0a call CopyVideoData - hlCoord 4, 8 + coord hl, 4, 8 ld de, TheEndTextString call PlaceString - hlCoord 4, 9 + coord hl, 4, 9 inc de call PlaceString jp FadeInCreditsText diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm index 7764603d..6803c38b 100755 --- a/engine/battle/animations.asm +++ b/engine/battle/animations.asm @@ -759,7 +759,7 @@ DoBallTossSpecialEffects: ; 78f3e (1e:4f3e) cp a,1 ret nz .moveGhostMarowakLeft - hlCoord 17, 0 + coord hl, 17, 0 ld de,20 ld bc,$0707 ; 7 rows and 7 columns .loop @@ -858,7 +858,7 @@ DoExplodeSpecialEffects: ; 79009 (1e:5009) cp a,1 ; is it the end of the subanimation? jr nz,FlashScreenEveryFourFrameBlocks ; if it's the end of the subanimation, make the attacking pokemon disappear - hlCoord 1, 5 + coord hl, 1, 5 jp AnimationHideMonPic ; make pokemon disappear ; flashes the screen when subanimation counter is 1 modulo 4 @@ -1292,12 +1292,12 @@ AnimationSlideMonUp: ; 7927a (1e:527a) ld c, $7 ld a, [H_WHOSETURN] and a - hlCoord 1, 6 - deCoord 1, 5 + coord hl, 1, 6 + coord de, 1, 5 ld a, $30 jr z, .asm_79291 - hlCoord 12, 1 - deCoord 12, 0 + coord hl, 12, 1 + coord de, 12, 0 ld a, $ff .asm_79291 ld [wd09f], a @@ -1352,9 +1352,9 @@ _AnimationSlideMonUp: ; 792bf (1e:52bf) jr nz, .asm_792c4 ld a, [H_WHOSETURN] and a - hlCoord 1, 11 + coord hl, 1, 11 jr z, .asm_792e2 - hlCoord 12, 6 + coord hl, 12, 6 .asm_792e2 ld a, [wd09f] inc a @@ -1513,11 +1513,11 @@ AnimationShakeBackAndForth: ; 793b1 (1e:53b1) ; The mon's sprite disappears after this animation. ld a, [H_WHOSETURN] and a - hlCoord 0, 5 - deCoord 2, 5 + coord hl, 0, 5 + coord de, 2, 5 jr z, .asm_793c2 - hlCoord 11, 0 - deCoord 13, 0 + coord hl, 11, 0 + coord de, 13, 0 .asm_793c2 xor a @@ -1561,9 +1561,9 @@ AnimationMoveMonHorizontally: ; 793f9 (1e:53f9) call AnimationHideMonPic ld a, [H_WHOSETURN] and a - hlCoord 2, 5 + coord hl, 2, 5 jr z, .asm_79407 - hlCoord 11, 0 + coord hl, 11, 0 .asm_79407 xor a push hl @@ -1674,12 +1674,12 @@ AnimationSquishMonPic: ; 794a1 (1e:54a1) ld a, [H_WHOSETURN] and a jr z, .asm_794b1 - hlCoord 16, 0 - deCoord 14, 0 + coord hl, 16, 0 + coord de, 14, 0 jr .asm_794b7 .asm_794b1 - hlCoord 5, 5 - deCoord 3, 5 + coord hl, 5, 5 + coord de, 3, 5 .asm_794b7 push de xor a @@ -1883,10 +1883,10 @@ AnimationSlideMonLeft: ; 795f8 (1e:55f8) ld a, [H_WHOSETURN] and a jr z, .asm_79602 - hlCoord 12, 0 + coord hl, 12, 0 jr .asm_79605 .asm_79602 - hlCoord 0, 5 + coord hl, 0, 5 .asm_79605 ld d, $8 .asm_79607 @@ -2121,7 +2121,7 @@ Func_79793: ; 79793 (1e:5793) xor a ld [W_SPRITEFLIPPED], a call GetMonHeader - hlCoord 12, 0 + coord hl, 12, 0 call LoadFrontSpriteByMonIndex jr .asm_797d3 .asm_797b0 @@ -2185,7 +2185,7 @@ Func_7980c: ; 7980c (1e:580c) push bc ld e, a ld d, $0 - hlCoord 0, 0 + coord hl, 0, 0 add hl, de ld bc, $707 call ClearScreenArea @@ -2207,7 +2207,7 @@ GetMonSpriteTileMapPointerFromRowCount: ; 79820 (1e:5820) .enemyTurn ld a, 12 .next - hlCoord 0, 0 + coord hl, 0, 0 ld e, a ld d, 0 add hl, de diff --git a/engine/battle/battle_transitions.asm b/engine/battle/battle_transitions.asm index 997f23ef..4f605b52 100644 --- a/engine/battle/battle_transitions.asm +++ b/engine/battle/battle_transitions.asm @@ -202,7 +202,7 @@ BattleTransition_Spiral: ; 70a72 (1c:4a72) call BattleTransition_InwardSpiral jr .done .outwardSpiral - hlCoord 10, 10 + coord hl, 10, 10 ld a, $3 ld [wd09f], a ld a, l @@ -231,7 +231,7 @@ BattleTransition_Spiral: ; 70a72 (1c:4a72) BattleTransition_InwardSpiral: ; 70aaa (1c:4aaa) ld a, $7 ld [wWhichTrade], a - hlCoord 0, 0 + coord hl, 0, 0 ld c, $11 ld de, SCREEN_WIDTH call BattleTransition_InwardSpiral_ @@ -371,20 +371,20 @@ BattleTransition_Shrink: ; 70b7f (1c:4b7f) push bc xor a ld [H_AUTOBGTRANSFERENABLED], a - hlCoord 0, 7 - deCoord 0, 8 + coord hl, 0, 7 + coord de, 0, 8 ld bc, -SCREEN_WIDTH * 2 call BattleTransition_CopyTiles1 - hlCoord 0, 10 - deCoord 0, 9 + coord hl, 0, 10 + coord de, 0, 9 ld bc, SCREEN_WIDTH * 2 call BattleTransition_CopyTiles1 - hlCoord 8, 0 - deCoord 9, 0 + coord hl, 8, 0 + coord de, 9, 0 ld bc, -2 call BattleTransition_CopyTiles2 - hlCoord 11, 0 - deCoord 10, 0 + coord hl, 11, 0 + coord de, 10, 0 ld bc, $2 call BattleTransition_CopyTiles2 ld a, $1 @@ -405,20 +405,20 @@ BattleTransition_Split: ; 70bca (1c:4bca) ld [H_AUTOBGTRANSFERENABLED], a .loop push bc - hlCoord 0, 16 - deCoord 0, 17 + coord hl, 0, 16 + coord de, 0, 17 ld bc, -SCREEN_WIDTH * 2 call BattleTransition_CopyTiles1 - hlCoord 0, 1 - deCoord 0, 0 + coord hl, 0, 1 + coord de, 0, 0 ld bc, SCREEN_WIDTH * 2 call BattleTransition_CopyTiles1 - hlCoord 18, 0 - deCoord 19, 0 + coord hl, 18, 0 + coord de, 19, 0 ld bc, -2 call BattleTransition_CopyTiles2 - hlCoord 1, 0 - deCoord 0, 0 + coord hl, 1, 0 + coord de, 0, 0 ld bc, $2 call BattleTransition_CopyTiles2 call BattleTransition_TransferDelay3 @@ -514,8 +514,8 @@ BattleTransition_CopyTiles2: ; 70c3f (1c:4c3f) ; used for high level wild dungeon battles BattleTransition_VerticalStripes: ; 70c7e (1c:4c7e) ld c, SCREEN_HEIGHT - hlCoord 0, 0 - deCoord 1, 17 + coord hl, 0, 0 + coord de, 1, 17 xor a ld [H_AUTOBGTRANSFERENABLED], a .loop @@ -553,8 +553,8 @@ BattleTransition_VerticalStripes_: ; 70caa (1c:4caa) ; used for low level wild dungeon battles BattleTransition_HorizontalStripes: ; 70cb4 (1c:4cb4) ld c, SCREEN_WIDTH - hlCoord 0, 0 - deCoord 19, 1 + coord hl, 0, 0 + coord de, 19, 1 xor a ld [H_AUTOBGTRANSFERENABLED], a .loop diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 2f407290..5deeb4dc 100755 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -101,7 +101,7 @@ SlidePlayerAndEnemySilhouettesOnScreen: ; 3c04c (f:404c) ld a, MESSAGE_BOX ; the usual text box at the bottom of the screen ld [wTextBoxID], a call DisplayTextBoxID - hlCoord 1, 5 + coord hl, 1, 5 ld bc, $307 call ClearScreenArea call DisableLCD @@ -117,7 +117,7 @@ SlidePlayerAndEnemySilhouettesOnScreen: ; 3c04c (f:404c) or c jr nz, .clearBackgroundLoop ; copy the work RAM tile map to VRAM - hlCoord 0, 0 + coord hl, 0, 0 ld de, vBGMap0 ld b, 18 ; number of rows .copyRowLoop @@ -176,7 +176,7 @@ SlidePlayerAndEnemySilhouettesOnScreen: ; 3c04c (f:404c) ld [H_AUTOBGTRANSFERENABLED], a ld a, $31 ld [$ffe1], a - hlCoord 1, 5 + coord hl, 1, 5 predef CopyUncompressedPicToTilemap xor a ld [hWY], a @@ -324,7 +324,7 @@ StartBattle: ; 3c11e (f:411e) ld [wcf91], a ld [wBattleMonSpecies2], a call LoadScreenTilesFromBuffer1 - hlCoord 1, 5 + coord hl, 1, 5 ld a, $9 call SlideTrainerPicOffScreen call SaveScreenTilesToBuffer1 @@ -760,12 +760,12 @@ HandlePoisonBurnLeechSeed_IncreaseEnemyHP: ; 3c4a3 (f:44a3) ret UpdateCurMonHPBar: ; 3c4f6 (f:44f6) - hlCoord 10, 9 ; tile pointer to player HP bar + coord hl, 10, 9 ; tile pointer to player HP bar ld a, [H_WHOSETURN] and a ld a, $1 jr z, .playersTurn - hlCoord 2, 2 ; tile pointer to enemy HP bar + coord hl, 2, 2 ; tile pointer to enemy HP bar xor a .playersTurn push bc @@ -852,10 +852,10 @@ FaintEnemyPokemon: ; 0x3c567 ld hl, wPlayerUsedMove ld [hli], a ld [hl], a - hlCoord 12, 5 - deCoord 12, 6 + coord hl, 12, 5 + coord de, 12, 6 call SlideDownFaintedMonPic - hlCoord 0, 0 + coord hl, 0, 0 ld bc, $40b call ClearScreenArea ld a, [W_ISINBATTLE] @@ -1105,11 +1105,11 @@ RemoveFaintedPlayerMon: ; 3c741 (f:4741) ld [hl], a ld [wBattleMonStatus], a call ReadPlayerMonCurHPAndStatus - hlCoord 9, 7 + coord hl, 9, 7 ld bc, $50b call ClearScreenArea - hlCoord 1, 10 - deCoord 1, 11 + coord hl, 1, 10 + coord de, 1, 11 call SlideDownFaintedMonPic ld a, $1 ld [wBattleResult], a @@ -1137,7 +1137,7 @@ DoUseNextMonDialogue: ; 3c79b (f:479b) ld hl, UseNextMonText call PrintText .displayYesNoBox - hlCoord 13, 9 + coord hl, 13, 9 ld bc, $a0e ld a, TWO_OPTION_MENU ld [wTextBoxID], a @@ -1214,7 +1214,7 @@ HandlePlayerBlackOut: ; 3c837 (f:4837) ld a, [W_CUROPPONENT] cp $c8 + SONY1 jr nz, .notSony1Battle - hlCoord 0, 0 ; sony 1 battle + coord hl, 0, 0 ; sony 1 battle ld bc, $815 call ClearScreenArea call ScrollTrainerPicAfterBattle @@ -1384,7 +1384,7 @@ EnemySendOutFirstMon: ; 3c92a (f:492a) ld [wAICount],a ld hl,W_PLAYERBATTSTATUS1 res 5,[hl] - hlCoord 18, 0 + coord hl, 18, 0 ld a,8 call SlideTrainerPicOffScreen call PrintEmptyString @@ -1454,7 +1454,7 @@ EnemySendOutFirstMon: ; 3c92a (f:492a) jr nz,.next4 ld hl, TrainerAboutToUseText call PrintText - hlCoord 0, 7 + coord hl, 0, 7 ld bc,$0801 ld a,TWO_OPTION_MENU ld [wTextBoxID],a @@ -1489,7 +1489,7 @@ EnemySendOutFirstMon: ; 3c92a (f:492a) call LoadScreenTilesFromBuffer1 .next4 call ClearSprites - hlCoord 0, 0 + coord hl, 0, 0 ld bc,$040B call ClearScreenArea ld b,1 @@ -1505,7 +1505,7 @@ EnemySendOutFirstMon: ; 3c92a (f:492a) call LoadMonFrontSprite ld a,$CF ld [$FFE1],a - hlCoord 15, 6 + coord hl, 15, 6 predef AnimateSendingOutMon ld a,[wEnemyMonSpecies2] call PlayCry @@ -1835,7 +1835,7 @@ SendOutMon: ; 3cc91 (f:4c91) ld [H_WHOSETURN], a ld a, POOF_ANIM call PlayMoveAnimation - hlCoord 4, 11 + coord hl, 4, 11 predef AnimateSendingOutMon ld a, [wcf91] call PlayCry @@ -1844,10 +1844,10 @@ SendOutMon: ; 3cc91 (f:4c91) ; show 2 stages of the player mon getting smaller before disappearing AnimateRetreatingPlayerMon: ; 3ccfa (f:4cfa) - hlCoord 1, 5 + coord hl, 1, 5 ld bc, $707 call ClearScreenArea - hlCoord 3, 7 + coord hl, 3, 7 ld bc, $505 xor a ld [wDownscaledMonSize], a @@ -1856,7 +1856,7 @@ AnimateRetreatingPlayerMon: ; 3ccfa (f:4cfa) ld c, 4 call DelayFrames call .clearScreenArea - hlCoord 4, 9 + coord hl, 4, 9 ld bc, $303 ld a, $1 ld [wDownscaledMonSize], a @@ -1868,7 +1868,7 @@ AnimateRetreatingPlayerMon: ; 3ccfa (f:4cfa) ld a, $4c Coorda 5, 11 .clearScreenArea - hlCoord 1, 5 + coord hl, 1, 5 ld bc, $707 jp ClearScreenArea @@ -1891,14 +1891,14 @@ DrawHUDsAndHPBars: ; 3cd5a (f:4d5a) DrawPlayerHUDAndHPBar: ; 3cd60 (f:4d60) xor a ld [H_AUTOBGTRANSFERENABLED], a - hlCoord 9, 7 + coord hl, 9, 7 ld bc, $50b call ClearScreenArea callab PlacePlayerHUDTiles - hlCoord 18, 9 + coord hl, 18, 9 ld [hl], $73 ld de, wBattleMonNick - hlCoord 10, 7 + coord hl, 10, 7 call CenterMonName call PlaceString ld hl, wBattleMonSpecies @@ -1909,7 +1909,7 @@ DrawPlayerHUDAndHPBar: ; 3cd60 (f:4d60) ld de, wLoadedMonLevel ld bc, $b call CopyData - hlCoord 14, 8 + coord hl, 14, 8 push hl inc hl ld de, wLoadedMonStatus @@ -1920,7 +1920,7 @@ DrawPlayerHUDAndHPBar: ; 3cd60 (f:4d60) .asm_3cdae ld a, [wLoadedMonSpecies] ld [wcf91], a - hlCoord 10, 9 + coord hl, 10, 9 predef DrawHP ld a, $1 ld [H_AUTOBGTRANSFERENABLED], a @@ -1952,15 +1952,15 @@ DrawPlayerHUDAndHPBar: ; 3cd60 (f:4d60) DrawEnemyHUDAndHPBar: ; 3cdec (f:4dec) xor a ld [H_AUTOBGTRANSFERENABLED], a - hlCoord 0, 0 + coord hl, 0, 0 ld bc, $40c call ClearScreenArea callab PlaceEnemyHUDTiles ld de, wEnemyMonNick - hlCoord 1, 0 + coord hl, 1, 0 call CenterMonName call PlaceString - hlCoord 4, 1 + coord hl, 4, 1 push hl inc hl ld de, wEnemyMonStatus @@ -2033,7 +2033,7 @@ DrawEnemyHUDAndHPBar: ; 3cdec (f:4dec) .drawHPBar xor a ld [wHPBarType], a - hlCoord 2, 2 + coord hl, 2, 2 call DrawHPBar ld a, $1 ld [H_AUTOBGTRANSFERENABLED], a @@ -2108,12 +2108,12 @@ DisplayBattleMenu: ; 3ceb3 (f:4eb3) ld bc, $b call CopyData ; the following simulates the keystrokes by drawing menus on screen - hlCoord 9, 14 + coord hl, 9, 14 ld [hl], "▶" ld c, 80 call DelayFrames ld [hl], $7f - hlCoord 9, 16 + coord hl, 9, 16 ld [hl], "▶" ld c, 50 call DelayFrames @@ -2145,7 +2145,7 @@ DisplayBattleMenu: ; 3ceb3 (f:4eb3) .safariLeftColumn Coorda 13, 14 Coorda 13, 16 - hlCoord 7, 14 + coord hl, 7, 14 ld de, W_NUMSAFARIBALLS ld bc, $102 call PrintNumber @@ -2178,7 +2178,7 @@ DisplayBattleMenu: ; 3ceb3 (f:4eb3) .safariRightColumn Coorda 1, 14 ; clear upper cursor position in left column Coorda 1, 16 ; clear lower cursor position in left column - hlCoord 7, 14 + coord hl, 7, 14 ld de, W_NUMSAFARIBALLS ld bc, $102 call PrintNumber @@ -2399,7 +2399,7 @@ PartyMenuOrRockOrRun: call GBPalNormal jp DisplayBattleMenu .partyMonDeselected - hlCoord 11, 11 + coord hl, 11, 11 ld bc, $81 ld a, $7f call FillMemory @@ -2561,17 +2561,17 @@ MoveSelectionMenu: ; 3d219 (f:5219) ret z ld hl, wBattleMonMoves call .loadmoves - hlCoord 4, 12 + coord hl, 4, 12 ld b, $4 ld c, $e di call TextBoxBorder - hlCoord 4, 12 + coord hl, 4, 12 ld [hl], $7a - hlCoord 10, 12 + coord hl, 10, 12 ld [hl], $7e ei - hlCoord 6, 13 + coord hl, 6, 13 call .writemoves ld b, $5 ld a, $c @@ -2579,11 +2579,11 @@ MoveSelectionMenu: ; 3d219 (f:5219) .mimicmenu ld hl, wEnemyMonMoves call .loadmoves - hlCoord 0, 7 + coord hl, 0, 7 ld b, $4 ld c, $e call TextBoxBorder - hlCoord 2, 8 + coord hl, 2, 8 call .writemoves ld b, $1 ld a, $7 @@ -2594,11 +2594,11 @@ MoveSelectionMenu: ; 3d219 (f:5219) ld bc, $2c call AddNTimes call .loadmoves - hlCoord 4, 7 + coord hl, 4, 7 ld b, $4 ld c, $e call TextBoxBorder - hlCoord 6, 8 + coord hl, 6, 8 call .writemoves ld b, $5 ld a, $7 @@ -2654,7 +2654,7 @@ SelectMenuItem: ; 3d2fe (f:52fe) jr z, .battleselect dec a jr nz, .select - hlCoord 1, 14 + coord hl, 1, 14 ld de, WhichTechniqueString call PlaceString jr .select @@ -2666,7 +2666,7 @@ SelectMenuItem: ; 3d2fe (f:52fe) ld a, [wMenuItemToSwap] and a jr z, .select - hlCoord 5, 13 + coord hl, 5, 13 dec a ld bc, $14 call AddNTimes @@ -2903,7 +2903,7 @@ SwapMovesInMenu: ; 3d435 (f:5435) PrintMenuItem: ; 3d4b6 (f:54b6) xor a ld [H_AUTOBGTRANSFERENABLED], a - hlCoord 0, 8 + coord hl, 0, 8 ld b, $3 ld c, $9 call TextBoxBorder @@ -2916,7 +2916,7 @@ PrintMenuItem: ; 3d4b6 (f:54b6) ld a, [wCurrentMenuItem] cp b jr nz, .notDisabled - hlCoord 1, 10 + coord hl, 1, 10 ld de, DisabledText call PlaceString jr .moveDisabled @@ -2948,23 +2948,23 @@ PrintMenuItem: ; 3d4b6 (f:54b6) and $3f ld [wcd6d], a ; print TYPE/ and / - hlCoord 1, 9 + coord hl, 1, 9 ld de, TypeText call PlaceString - hlCoord 7, 11 + coord hl, 7, 11 ld [hl], "/" - hlCoord 5, 9 + coord hl, 5, 9 ld [hl], "/" - hlCoord 5, 11 + coord hl, 5, 11 ld de, wcd6d ld bc, $102 call PrintNumber - hlCoord 8, 11 + coord hl, 8, 11 ld de, wd11e ld bc, $102 call PrintNumber call GetCurrentMove - hlCoord 2, 10 + coord hl, 2, 10 predef PrintMoveType .moveDisabled ld a, $1 @@ -4924,7 +4924,7 @@ ApplyDamageToEnemyPokemon: ; 3e142 (f:6142) ld [wHPBarNewHP+1],a ld a,[hl] ld [wHPBarNewHP],a - hlCoord 2, 2 + coord hl, 2, 2 xor a ld [wHPBarType],a predef UpdateHPBar2 ; animate the HP bar shortening @@ -5042,7 +5042,7 @@ ApplyDamageToPlayerPokemon: ; 3e200 (f:6200) ld [wHPBarMaxHP+1],a ld a,[hl] ld [wHPBarMaxHP],a - hlCoord 10, 9 + coord hl, 10, 9 ld a,$01 ld [wHPBarType],a predef UpdateHPBar2 ; animate the HP bar shortening @@ -6456,7 +6456,7 @@ LoadPlayerBackPic: ; 3ec92 (f:6c92) ld [$0], a ld a, $31 ld [$ffe1], a - hlCoord 1, 5 + coord hl, 1, 5 predef_jump CopyUncompressedPicToTilemap ; does nothing since no stats are ever selected (barring glitches) @@ -6875,7 +6875,7 @@ InitBattleCommon: ; 3ef3d (f:6f3d) ld [$ffe1], a dec a ld [wAICount], a - hlCoord 12, 0 + coord hl, 12, 0 predef CopyUncompressedPicToTilemap ld a, $ff ld [wEnemyMonPartyPos], a @@ -6929,7 +6929,7 @@ InitWildBattle: ; 3ef8b (f:6f8b) xor a ld [W_TRAINERCLASS], a ld [$ffe1], a - hlCoord 12, 0 + coord hl, 12, 0 predef CopyUncompressedPicToTilemap ; common code that executes after init battle code specific to trainer or wild battles @@ -6951,10 +6951,10 @@ InitBattle_Common: ; 3efeb (f:6feb) ld a, $9c ld [H_AUTOBGTRANSFERDEST + 1], a call LoadScreenTilesFromBuffer1 - hlCoord 9, 7 + coord hl, 9, 7 ld bc, $50a call ClearScreenArea - hlCoord 1, 0 + coord hl, 1, 0 ld bc, $40a call ClearScreenArea call ClearSprites @@ -7098,7 +7098,7 @@ LoadMonBackPic: ; 3f103 (f:7103) ; been loaded with GetMonHeader. ld a, [wBattleMonSpecies2] ld [wcf91], a - hlCoord 1, 5 + coord hl, 1, 5 ld b, $7 ld c, $8 call ClearScreenArea diff --git a/engine/battle/draw_hud_pokeball_gfx.asm b/engine/battle/draw_hud_pokeball_gfx.asm index 06280a15..e9be0da5 100644 --- a/engine/battle/draw_hud_pokeball_gfx.asm +++ b/engine/battle/draw_hud_pokeball_gfx.asm @@ -121,7 +121,7 @@ PlacePlayerHUDTiles: ; 3a902 (e:6902) ld de, wTrainerFacingDirection ld bc, $3 call CopyData - hlCoord 18, 10 + coord hl, 18, 10 ld de, rIE jr PlaceHUDTiles @@ -136,7 +136,7 @@ PlaceEnemyHUDTiles: ; 3a919 (e:6919) ld de, wTrainerFacingDirection ld bc, $3 call CopyData - hlCoord 1, 2 + coord hl, 1, 2 ld de, $1 jr PlaceHUDTiles diff --git a/engine/battle/end_of_battle.asm b/engine/battle/end_of_battle.asm index 075cbeb1..8264e49c 100755 --- a/engine/battle/end_of_battle.asm +++ b/engine/battle/end_of_battle.asm @@ -19,7 +19,7 @@ EndOfBattle: ; 137aa (4:77aa) jr z, .placeWinOrLoseString ld de, DrawText .placeWinOrLoseString - hlCoord 6, 8 + coord hl, 6, 8 call PlaceString ld c, 200 call DelayFrames diff --git a/engine/battle/ghost_marowak_anim.asm b/engine/battle/ghost_marowak_anim.asm index 73d3bcc2..e3b3f42c 100644 --- a/engine/battle/ghost_marowak_anim.asm +++ b/engine/battle/ghost_marowak_anim.asm @@ -4,7 +4,7 @@ MarowakAnim: ; 708ca (1c:48ca) ld [rOBP1], a call CopyMonPicFromBGToSpriteVRAM ; cover the BG ghost pic with a sprite ghost pic that looks the same ; now that the ghost pic is being displayed using sprites, clear the ghost pic from the BG tilemap - hlCoord 12, 0 + coord hl, 12, 0 ld bc, $707 call ClearScreenArea call Delay3 diff --git a/engine/battle/link_battle_versus_text.asm b/engine/battle/link_battle_versus_text.asm index 7320da29..dfb2fe35 100644 --- a/engine/battle/link_battle_versus_text.asm +++ b/engine/battle/link_battle_versus_text.asm @@ -1,18 +1,18 @@ ; display "[player] VS [enemy]" text box with pokeballs representing their parties next to the names DisplayLinkBattleVersusTextBox: ; 372d6 (d:72d6) call LoadTextBoxTilePatterns - hlCoord 3, 4 + coord hl, 3, 4 ld b, $7 ld c, $c call TextBoxBorder - hlCoord 4, 5 + coord hl, 4, 5 ld de, wPlayerName call PlaceString - hlCoord 4, 10 + coord hl, 4, 10 ld de, wLinkEnemyTrainerName call PlaceString ; place bold "VS" tiles between the names - hlCoord 9, 8 + coord hl, 9, 8 ld a, $69 ld [hli], a ld [hl], $6a diff --git a/engine/battle/moveEffects/drain_hp_effect.asm b/engine/battle/moveEffects/drain_hp_effect.asm index be52e76d..1096794f 100644 --- a/engine/battle/moveEffects/drain_hp_effect.asm +++ b/engine/battle/moveEffects/drain_hp_effect.asm @@ -71,10 +71,10 @@ DrainHPEffect_: ; 783f (1:783f) .next ld a, [H_WHOSETURN] and a - hlCoord 10, 9 + coord hl, 10, 9 ld a, $1 jr z, .next2 - hlCoord 2, 2 + coord hl, 2, 2 xor a .next2 ld [wHPBarType], a diff --git a/engine/battle/moveEffects/heal_effect.asm b/engine/battle/moveEffects/heal_effect.asm index d9729747..cea63a1f 100644 --- a/engine/battle/moveEffects/heal_effect.asm +++ b/engine/battle/moveEffects/heal_effect.asm @@ -89,10 +89,10 @@ HealEffect_: ; 3b9ec (e:79ec) call BankswitchEtoF ld a, [H_WHOSETURN] and a - hlCoord 10, 9 + coord hl, 10, 9 ld a, $1 jr z, .updateHPBar - hlCoord 2, 2 + coord hl, 2, 2 xor a .updateHPBar ld [wHPBarType], a diff --git a/engine/battle/moveEffects/recoil_effect.asm b/engine/battle/moveEffects/recoil_effect.asm index 95b54922..51232af6 100644 --- a/engine/battle/moveEffects/recoil_effect.asm +++ b/engine/battle/moveEffects/recoil_effect.asm @@ -53,12 +53,12 @@ RecoilEffect_: ; 1392c (4:792c) ld [hli], a ld [hl], a .getHPBarCoords - hlCoord 10, 9 + coord hl, 10, 9 ld a, [H_WHOSETURN] and a ld a, $1 jr z, .updateHPBar - hlCoord 2, 2 + coord hl, 2, 2 xor a .updateHPBar ld [wHPBarType], a diff --git a/engine/battle/scroll_draw_trainer_pic.asm b/engine/battle/scroll_draw_trainer_pic.asm index 18df86e0..b32650e3 100644 --- a/engine/battle/scroll_draw_trainer_pic.asm +++ b/engine/battle/scroll_draw_trainer_pic.asm @@ -6,7 +6,7 @@ _ScrollTrainerPicAfterBattle: ; 396d3 (e:56d3) ld b, $1 call GoPAL_SET callab _LoadTrainerPic - hlCoord 19, 0 + coord hl, 19, 0 ld c, $0 .scrollLoop inc c diff --git a/engine/battle/trainer_ai.asm b/engine/battle/trainer_ai.asm index 55314ea9..a53f00f6 100644 --- a/engine/battle/trainer_ai.asm +++ b/engine/battle/trainer_ai.asm @@ -641,7 +641,7 @@ AIRecoverHP: ; 3a6da (e:66da) AIPrintItemUseAndUpdateHPBar: ; 3a718 (e:6718) call AIPrintItemUse_ - hlCoord 2, 2 + coord hl, 2, 2 xor a ld [wHPBarType],a predef UpdateHPBar2 diff --git a/engine/battle/wild_encounters.asm b/engine/battle/wild_encounters.asm index 03dc6fb6..5964f996 100644 --- a/engine/battle/wild_encounters.asm +++ b/engine/battle/wild_encounters.asm @@ -25,7 +25,7 @@ TryDoWildEncounter: ; 13870 (4:7870) .asm_1389e ; determine if wild pokemon can appear in the half-block we're standing in ; is the bottom right tile (9,9) of the half-block we're standing in a grass/water tile? - hlCoord 9, 9 + coord hl, 9, 9 ld c, [hl] ld a, [W_GRASSTILE] cp c diff --git a/engine/cable_club.asm b/engine/cable_club.asm index 87f7b34c..fbdb6260 100755 --- a/engine/cable_club.asm +++ b/engine/cable_club.asm @@ -9,11 +9,11 @@ CableClub_DoBattleOrTrade: ; 5317 (1:5317) call LoadFontTilePatterns call LoadHpBarAndStatusTilePatterns call LoadTrainerInfoTextBoxTiles - hlCoord 3, 8 + coord hl, 3, 8 ld b, 2 ld c, 12 call CableClub_TextBoxBorder - hlCoord 4, 10 + coord hl, 4, 10 ld de, PleaseWaitString call PlaceString ld hl, wPlayerNumHits @@ -399,7 +399,7 @@ TradeCenter_SelectMon: ld [wTopMenuItemY], a ld a, 1 ld [wTopMenuItemX], a - hlCoord 1, 1 + coord hl, 1, 1 ld bc, $0601 call ClearScreenArea .playerMonMenu_HandleInput @@ -464,11 +464,11 @@ TradeCenter_SelectMon: dec a .displayStatsTradeMenu push af - hlCoord 0, 14 + coord hl, 0, 14 ld b, 2 ld c, 18 call CableClub_TextBoxBorder - hlCoord 2, 16 + coord hl, 2, 16 ld de, .statsTrade call PlaceString xor a @@ -596,15 +596,15 @@ ReturnToCableClubRoom: ; 577d (1:577d) ret TradeCenter_DrawCancelBox: - hlCoord 11, 15 + coord hl, 11, 15 ld a, $7e ld bc, 2 * 20 + 9 call FillMemory - hlCoord 0, 15 + coord hl, 0, 15 ld b, 1 ld c, 9 call CableClub_TextBoxBorder - hlCoord 2, 16 + coord hl, 2, 16 ld de, CancelTextString jp PlaceString @@ -613,7 +613,7 @@ CancelTextString: TradeCenter_PlaceSelectedEnemyMonMenuCursor: ld a, [wSerialSyncAndExchangeNybbleReceiveData] - hlCoord 1, 9 + coord hl, 1, 9 ld bc, 20 call AddNTimes ld [hl], $ec ; cursor @@ -630,24 +630,24 @@ TradeCenter_DisplayStats: jp TradeCenter_DrawCancelBox TradeCenter_DrawPartyLists: - hlCoord 0, 0 + coord hl, 0, 0 ld b, 6 ld c, 18 call CableClub_TextBoxBorder - hlCoord 0, 8 + coord hl, 0, 8 ld b, 6 ld c, 18 call CableClub_TextBoxBorder - hlCoord 5, 0 + coord hl, 5, 0 ld de, wPlayerName call PlaceString - hlCoord 5, 8 + coord hl, 5, 8 ld de, wLinkEnemyTrainerName call PlaceString - hlCoord 2, 1 + coord hl, 2, 1 ld de, wPartySpecies call TradeCenter_PrintPartyListNames - hlCoord 2, 9 + coord hl, 2, 9 ld de, wEnemyPartyMons ; fall through @@ -684,7 +684,7 @@ TradeCenter_Trade: ld [wSerialExchangeNybbleReceiveData], a ld [wMenuWatchMovingOutOfBounds], a ld [wMenuJoypadPollCount], a - hlCoord 0, 12 + coord hl, 0, 12 ld b, 4 ld c, 18 call CableClub_TextBoxBorder @@ -709,10 +709,10 @@ TradeCenter_Trade: ld [wd11e], a call GetMonName ld hl, WillBeTradedText - bcCoord 1, 14 + coord bc, 1, 14 call TextCommandProcessor call SaveScreenTilesToBuffer1 - hlCoord 10, 7 + coord hl, 10, 7 ld bc, $080b ld a, TRADE_CANCEL_MENU ld [wTwoOptionMenuID], a @@ -726,11 +726,11 @@ TradeCenter_Trade: ; if trade cancelled ld a, $1 ld [wSerialExchangeNybbleSendData], a - hlCoord 0, 12 + coord hl, 0, 12 ld b, 4 ld c, 18 call CableClub_TextBoxBorder - hlCoord 1, 14 + coord hl, 1, 14 ld de, TradeCanceled call PlaceString call Serial_PrintWaitingTextAndSyncAndExchangeNybble @@ -743,11 +743,11 @@ TradeCenter_Trade: dec a ; did the other person cancel? jr nz, .doTrade ; if the other person cancelled - hlCoord 0, 12 + coord hl, 0, 12 ld b, 4 ld c, 18 call CableClub_TextBoxBorder - hlCoord 1, 14 + coord hl, 1, 14 ld de, TradeCanceled call PlaceString jp .tradeCancelled @@ -851,11 +851,11 @@ TradeCenter_Trade: call Serial_PrintWaitingTextAndSyncAndExchangeNybble ld c, 40 call DelayFrames - hlCoord 0, 12 + coord hl, 0, 12 ld b, 4 ld c, 18 call CableClub_TextBoxBorder - hlCoord 1, 14 + coord hl, 1, 14 ld de, TradeCompleted call PlaceString predef SaveSAVtoSRAM2 diff --git a/engine/clear_save.asm b/engine/clear_save.asm index 66d7e920..2febb123 100755 --- a/engine/clear_save.asm +++ b/engine/clear_save.asm @@ -5,7 +5,7 @@ DoClearSaveDialogue: ; 1c98a (7:498a) call LoadTextBoxTilePatterns ld hl, ClearSaveDataText call PrintText - hlCoord 14, 7 + coord hl, 14, 7 ld bc, $80f ld a, NO_YES_MENU ld [wTwoOptionMenuID], a diff --git a/engine/evolution.asm b/engine/evolution.asm index 4776b3b6..9ed38c21 100755 --- a/engine/evolution.asm +++ b/engine/evolution.asm @@ -99,7 +99,7 @@ EvolutionSetWholeScreenPalette: ; 7beb4 (1e:7eb4) Evolution_LoadPic: ; 7beb9 (1e:7eb9) call GetMonHeader - hlCoord 7, 2 + coord hl, 7, 2 jp LoadFlippedFrontSpriteByMonIndex Func_7bec2: ; 7bec2 (1e:7ec2) @@ -117,7 +117,7 @@ Func_7bed6: ; 7bed6 (1e:7ed6) push bc xor a ld [H_AUTOBGTRANSFERENABLED], a - hlCoord 7, 2 + coord hl, 7, 2 ld bc, $707 ld de, $d .asm_7bee3 diff --git a/engine/evos_moves.asm b/engine/evos_moves.asm index 2b54108d..4a253c68 100755 --- a/engine/evos_moves.asm +++ b/engine/evos_moves.asm @@ -121,7 +121,7 @@ Evolution_PartyMonLoop: ; loop over party mons call DelayFrames xor a ld [H_AUTOBGTRANSFERENABLED], a - hlCoord 0, 0 + coord hl, 0, 0 ld bc, $c14 call ClearScreenArea ld a, $1 diff --git a/engine/hall_of_fame.asm b/engine/hall_of_fame.asm index 81ccffdc..0d933571 100755 --- a/engine/hall_of_fame.asm +++ b/engine/hall_of_fame.asm @@ -57,11 +57,11 @@ AnimateHallOfFame: ; 701a0 (1c:41a0) call HoFDisplayAndRecordMonInfo ld c, 80 call DelayFrames - hlCoord 2, 13 + coord hl, 2, 13 ld b, $3 ld c, $e call TextBoxBorder - hlCoord 4, 15 + coord hl, 4, 15 ld de, HallOfFameText call PlaceString ld c, 180 @@ -112,7 +112,7 @@ HoFShowMonOrPlayer: ; 70278 (1c:4278) call HoFLoadPlayerPics jr .next1 .showMon - hlCoord 12, 5 + coord hl, 12, 5 call GetMonHeader call LoadFrontSpriteByMonIndex predef LoadMonBackPic @@ -157,22 +157,22 @@ HoFDisplayAndRecordMonInfo: ; 702e1 (1c:42e1) jp HoFRecordMonInfo HoFDisplayMonInfo: ; 702f0 (1c:42f0) - hlCoord 0, 2 + coord hl, 0, 2 ld b, 9 ld c, 10 call TextBoxBorder - hlCoord 2, 6 + coord hl, 2, 6 ld de, HoFMonInfoText call PlaceString - hlCoord 1, 4 + coord hl, 1, 4 ld de, wcd6d call PlaceString ld a, [wHoFMonLevel] - hlCoord 8, 7 + coord hl, 8, 7 call PrintLevelCommon ld a, [wHoFMonSpecies] ld [wd0b5], a - hlCoord 3, 9 + coord hl, 3, 9 predef PrintMonType ld a, [wHoFMonSpecies] jp PlayCry @@ -203,28 +203,28 @@ HoFLoadPlayerPics: ; 7033e (1c:433e) HoFLoadMonPlayerPicTileIDs: ; 7036d (1c:436d) ; c = base tile ID ld b, 0 - hlCoord 12, 5 + coord hl, 12, 5 predef_jump CopyTileIDsFromList HoFDisplayPlayerStats: ; 70377 (1c:4377) ld hl, wd747 set 3, [hl] predef DisplayDexRating - hlCoord 0, 4 + coord hl, 0, 4 ld b, $6 ld c, $a call TextBoxBorder - hlCoord 5, 0 + coord hl, 5, 0 ld b, $2 ld c, $9 call TextBoxBorder - hlCoord 7, 2 + coord hl, 7, 2 ld de, wPlayerName call PlaceString - hlCoord 1, 6 + coord hl, 1, 6 ld de, HoFPlayTimeText call PlaceString - hlCoord 5, 7 + coord hl, 5, 7 ld de, W_PLAYTIMEHOURS + 1 ld bc, $103 call PrintNumber @@ -233,10 +233,10 @@ HoFDisplayPlayerStats: ; 70377 (1c:4377) ld de, W_PLAYTIMEMINUTES + 1 ld bc, $8102 call PrintNumber - hlCoord 1, 9 + coord hl, 1, 9 ld de, HoFMoneyText call PlaceString - hlCoord 4, 10 + coord hl, 4, 10 ld de, wPlayerMoney ld c, $a3 call PrintBCDNumber diff --git a/engine/hidden_object_functions17.asm b/engine/hidden_object_functions17.asm index a8b4f812..841929b8 100755 --- a/engine/hidden_object_functions17.asm +++ b/engine/hidden_object_functions17.asm @@ -72,7 +72,7 @@ DisplayMonFrontSpriteInBox: ; 5dbd9 (17:5bd9) call LoadMonFrontSprite ld a, $80 ld [$ffe1], a - hlCoord 10, 11 + coord hl, 10, 11 predef AnimateSendingOutMon call WaitForTextScrollButtonPress call LoadScreenTilesFromBuffer1 @@ -109,11 +109,11 @@ LinkCableHelp: ; 5dc29 (17:5c29) .asm_5c51 ld hl, wd730 set 6, [hl] - hlCoord 0, 0 + coord hl, 0, 0 ld b, $8 ld c, $d call TextBoxBorder - hlCoord 2, 2 + coord hl, 2, 2 ld de, HowToLinkText call PlaceString ld hl, LinkCableHelpText2 @@ -193,13 +193,13 @@ ViridianSchoolBlackboard: ; 5dced (17:5ced) .asm_5dd15 ld hl, wd730 set 6, [hl] - hlCoord 0, 0 + coord hl, 0, 0 ld bc, $060a call TextBoxBorder - hlCoord 1, 2 + coord hl, 1, 2 ld de, StatusAilmentText1 call PlaceString - hlCoord 6, 2 + coord hl, 6, 2 ld de, StatusAilmentText2 call PlaceString ld hl, ViridianSchoolBlackboardText2 diff --git a/engine/hidden_object_functions7.asm b/engine/hidden_object_functions7.asm index c835775e..810d9bfe 100755 --- a/engine/hidden_object_functions7.asm +++ b/engine/hidden_object_functions7.asm @@ -402,11 +402,11 @@ BillsHousePokemonList: ; 1ec05 (7:6c05) .asm_1ec2d ld hl, wd730 set 6, [hl] - hlCoord 0, 0 + coord hl, 0, 0 ld b, $a ld c, $9 call TextBoxBorder - hlCoord 2, 2 + coord hl, 2, 2 ld de, BillsMonListText call PlaceString ld hl, BillsHousePokemonListText2 diff --git a/engine/intro.asm b/engine/intro.asm index bbe47cdb..79cc2101 100755 --- a/engine/intro.asm +++ b/engine/intro.asm @@ -205,7 +205,7 @@ IntroClearScreen: ; 417f0 (10:57f0) IntroClearMiddleOfScreen: ; 417f8 (10:57f8) ; clear the area of the tile map between the black bars on the top and bottom - hlCoord 0, 4 + coord hl, 0, 4 ld bc, SCREEN_WIDTH * 10 IntroClearCommon: ; 417fe (10:57fe) @@ -263,7 +263,7 @@ IntroMoveMon: ; 4180e (10:580e) ret IntroCopyTiles: ; 4183f (10:583f) - hlCoord 13, 7 + coord hl, 13, 7 CopyTileIDsFromList_ZeroBaseTileID: ; 41842 (10:5842) ld c, 0 @@ -337,10 +337,10 @@ PlayShootingStar: ; 4188a (10:588a) IntroDrawBlackBars: ; 418e9 (10:58e9) ; clear the screen and draw black bars on the top and bottom call IntroClearScreen - hlCoord 0, 0 + coord hl, 0, 0 ld c, SCREEN_WIDTH * 4 call IntroPlaceBlackTiles - hlCoord 0, 14 + coord hl, 0, 14 ld c, SCREEN_WIDTH * 4 call IntroPlaceBlackTiles ld hl, vBGMap1 diff --git a/engine/items/items.asm b/engine/items/items.asm index 7617ba6c..bd19c152 100755 --- a/engine/items/items.asm +++ b/engine/items/items.asm @@ -913,7 +913,7 @@ ItemUseMedicine: ; dabb (3:5abb) sbc b ld [hl],a ld [wHPBarNewHP+1],a - hlCoord 4, 1 + coord hl, 4, 1 ld a,[wWhichPokemon] ld bc,2 * 20 call AddNTimes ; calculate coordinates of HP bar of pokemon that used Softboiled @@ -2095,7 +2095,7 @@ ItemUseTMHM: ; e479 (3:6479) call PrintText ld hl,TeachMachineMoveText call PrintText - hlCoord 14, 7 + coord hl, 14, 7 ld bc,$080f ld a,TWO_OPTION_MENU ld [wTextBoxID],a @@ -2486,7 +2486,7 @@ TossItem_: ; e6f1 (3:66f1) call CopyStringToCF4B ; copy name to wcf4b ld hl,IsItOKToTossItemText call PrintText - hlCoord 14, 7 + coord hl, 14, 7 ld bc,$080f ld a,TWO_OPTION_MENU ld [wTextBoxID],a diff --git a/engine/learn_move.asm b/engine/learn_move.asm index cb5bdbd7..1c0e038c 100755 --- a/engine/learn_move.asm +++ b/engine/learn_move.asm @@ -76,7 +76,7 @@ DontAbandonLearning: ; 6e5b (1:6e5b) AbandonLearning: ; 6eda (1:6eda) ld hl, AbandonLearningText call PrintText - hlCoord 14, 7 + coord hl, 14, 7 ld bc, $80f ld a, TWO_OPTION_MENU ld [wTextBoxID], a @@ -99,7 +99,7 @@ TryingToLearn: ; 6f07 (1:6f07) push hl ld hl, TryingToLearnText call PrintText - hlCoord 14, 7 + coord hl, 14, 7 ld bc, $80f ld a, TWO_OPTION_MENU ld [wTextBoxID], a @@ -120,11 +120,11 @@ TryingToLearn: ; 6f07 (1:6f07) push hl ld hl, WhichMoveToForgetText call PrintText - hlCoord 4, 7 + coord hl, 4, 7 ld b, $4 ld c, $e call TextBoxBorder - hlCoord 6, 8 + coord hl, 6, 8 ld de, wMovesString ld a, [hFlags_0xFFF6] set 2, a diff --git a/engine/menu/bills_pc.asm b/engine/menu/bills_pc.asm index 59da2774..d491cd38 100644 --- a/engine/menu/bills_pc.asm +++ b/engine/menu/bills_pc.asm @@ -11,17 +11,17 @@ DisplayPCMainMenu:: ; 213c8 (8:53c8) ld a, [wNumHoFTeams] and a jr nz, .leaguePCAvailable - hlCoord 0, 0 + coord hl, 0, 0 ld b, 8 ld c, 14 jr .next .noOaksPC - hlCoord 0, 0 + coord hl, 0, 0 ld b, 6 ld c, 14 jr .next .leaguePCAvailable - hlCoord 0, 0 + coord hl, 0, 0 ld b, 10 ld c, 14 .next @@ -32,15 +32,15 @@ DisplayPCMainMenu:: ; 213c8 (8:53c8) ld a, [wd7f1] bit 0, a jr nz, .metBill - hlCoord 2, 2 + coord hl, 2, 2 ld de, SomeonesPCText jr .next2 .metBill - hlCoord 2, 2 + coord hl, 2, 2 ld de, BillsPCText .next2 call PlaceString - hlCoord 2, 4 + coord hl, 2, 4 ld de, wPlayerName call PlaceString ld l, c @@ -50,7 +50,7 @@ DisplayPCMainMenu:: ; 213c8 (8:53c8) ld a, [wd74b] bit 5, a ; received pokedex? jr z, .noOaksPC2 - hlCoord 2, 6 + coord hl, 2, 6 ld de, OaksPCText call PlaceString ld a, [wNumHoFTeams] @@ -58,20 +58,20 @@ DisplayPCMainMenu:: ; 213c8 (8:53c8) jr z, .noLeaguePC ld a, 4 ld [wMaxMenuItem], a - hlCoord 2, 8 + coord hl, 2, 8 ld de, PKMNLeaguePCText call PlaceString - hlCoord 2, 10 + coord hl, 2, 10 ld de, LogOffPCText jr .next3 .noLeaguePC - hlCoord 2, 8 + coord hl, 2, 8 ld de, LogOffPCText jr .next3 .noOaksPC2 ld a, $2 ld [wMaxMenuItem], a - hlCoord 2, 6 + coord hl, 2, 6 ld de, LogOffPCText .next3 call PlaceString @@ -122,11 +122,11 @@ BillsPCMenu: ; 214e8 (8:54e8) ld bc, (BANK(PokeballTileGraphics) << 8) + $01 call CopyVideoData call LoadScreenTilesFromBuffer2DisableBGTransfer - hlCoord 0, 0 + coord hl, 0, 0 ld b, 10 ld c, 12 call TextBoxBorder - hlCoord 2, 2 + coord hl, 2, 2 ld de, BillsPCMenuText call PlaceString ld hl, wTopMenuItemY @@ -149,7 +149,7 @@ BillsPCMenu: ; 214e8 (8:54e8) ld [wPlayerMonNumber], a ld hl, WhatText call PrintText - hlCoord 9, 14 + coord hl, 9, 14 ld b, 2 ld c, 9 call TextBoxBorder @@ -159,7 +159,7 @@ BillsPCMenu: ; 214e8 (8:54e8) jr c, .singleDigitBoxNum ; two digit box num sub 9 - hlCoord 17, 16 + coord hl, 17, 16 ld [hl], "1" add "0" jr .next @@ -167,7 +167,7 @@ BillsPCMenu: ; 214e8 (8:54e8) add "1" .next Coorda 18, 16 - hlCoord 10, 16 + coord hl, 10, 16 ld de, BoxNoPCText call PlaceString ld a, 1 @@ -391,7 +391,7 @@ HMMoveArray: ; 21745 (8:5745) db -1 DisplayDepositWithdrawMenu: ; 2174b (8:574b) - hlCoord 9, 10 + coord hl, 9, 10 ld b, 6 ld c, 9 call TextBoxBorder @@ -401,9 +401,9 @@ DisplayDepositWithdrawMenu: ; 2174b (8:574b) jr nz, .next ld de, WithdrawPCText .next - hlCoord 11, 12 + coord hl, 11, 12 call PlaceString - hlCoord 11, 14 + coord hl, 11, 14 ld de, StatsCancelPCText call PlaceString ld hl, wTopMenuItemY diff --git a/engine/menu/diploma.asm b/engine/menu/diploma.asm index 33453a53..56373dd3 100755 --- a/engine/menu/diploma.asm +++ b/engine/menu/diploma.asm @@ -12,7 +12,7 @@ DisplayDiploma: ; 566e2 (15:66e2) ld bc, $0010 ld a, BANK(CircleTile) call FarCopyData2 - hlCoord 0, 0 + coord hl, 0, 0 ld bc, $1012 predef Diploma_TextBoxBorder ld hl, DiplomaTextPointersAndCoords @@ -33,7 +33,7 @@ DisplayDiploma: ; 566e2 (15:66e2) pop bc dec c jr nz, .asm_56715 - hlCoord 10, 4 + coord hl, 10, 4 ld de, wPlayerName call PlaceString callba DrawPlayerCharacter diff --git a/engine/menu/league_pc.asm b/engine/menu/league_pc.asm index c38ab86b..560ed421 100755 --- a/engine/menu/league_pc.asm +++ b/engine/menu/league_pc.asm @@ -95,18 +95,18 @@ LeaguePCShowMon: ; 76610 (1d:6610) ld b, $0B ld c, 0 call GoPAL_SET - hlCoord 12, 5 + coord hl, 12, 5 call GetMonHeader call LoadFrontSpriteByMonIndex call GBPalNormal - hlCoord 0, 13 + coord hl, 0, 13 ld b, 2 ld c, $12 call TextBoxBorder - hlCoord 1, 15 + coord hl, 1, 15 ld de, HallOfFameNoText call PlaceString - hlCoord 16, 15 + coord hl, 16, 15 ld de, wHoFTeamNo ld bc, $0103 call PrintNumber diff --git a/engine/menu/main_menu.asm b/engine/menu/main_menu.asm index 10ad7a2d..9e160f81 100755 --- a/engine/menu/main_menu.asm +++ b/engine/menu/main_menu.asm @@ -33,20 +33,20 @@ MainMenu: ; 5af2 (1:5af2) ld a,[wd088] cp a,1 jr z,.next1 - hlCoord 0, 0 + coord hl, 0, 0 ld b,6 ld c,13 call TextBoxBorder - hlCoord 2, 2 + coord hl, 2, 2 ld de,ContinueText call PlaceString jr .next2 .next1 - hlCoord 0, 0 + coord hl, 0, 0 ld b,4 ld c,13 call TextBoxBorder - hlCoord 2, 2 + coord hl, 2, 2 ld de,NewGameText call PlaceString .next2 @@ -139,12 +139,12 @@ LinkMenu: ; 5c0a (1:5c0a) call SaveScreenTilesToBuffer1 ld hl, WhereWouldYouLikeText call PrintText - hlCoord 5, 5 + coord hl, 5, 5 ld b, $6 ld c, $d call TextBoxBorder call UpdateSprites - hlCoord 7, 7 + coord hl, 7, 7 ld de, CableClubOptionsText call PlaceString xor a @@ -340,21 +340,21 @@ CableClubOptionsText: ; 5d97 (1:5d97) ContinueGame: ; 5db5 (1:5db5) xor a ld [H_AUTOBGTRANSFERENABLED], a - hlCoord 4, 7 + coord hl, 4, 7 ld b, $8 ld c, $e call TextBoxBorder - hlCoord 5, 9 + coord hl, 5, 9 ld de, SaveScreenInfoText call PlaceString - hlCoord 12, 9 + coord hl, 12, 9 ld de, wPlayerName call PlaceString - hlCoord 17, 11 + coord hl, 17, 11 call Func_5e2f - hlCoord 16, 13 + coord hl, 16, 13 call Func_5e42 - hlCoord 13, 15 + coord hl, 13, 15 call Func_5e55 ld a, $1 ld [H_AUTOBGTRANSFERENABLED], a @@ -364,23 +364,23 @@ ContinueGame: ; 5db5 (1:5db5) PrintSaveScreenText: ; 5def (1:5def) xor a ld [H_AUTOBGTRANSFERENABLED], a - hlCoord 4, 0 + coord hl, 4, 0 ld b, $8 ld c, $e call TextBoxBorder call LoadTextBoxTilePatterns call UpdateSprites - hlCoord 5, 2 + coord hl, 5, 2 ld de, SaveScreenInfoText call PlaceString - hlCoord 12, 2 + coord hl, 12, 2 ld de, wPlayerName call PlaceString - hlCoord 17, 4 + coord hl, 17, 4 call Func_5e2f - hlCoord 16, 6 + coord hl, 16, 6 call Func_5e42 - hlCoord 13, 8 + coord hl, 13, 8 call Func_5e55 ld a, $1 ld [H_AUTOBGTRANSFERENABLED], a @@ -424,28 +424,28 @@ SaveScreenInfoText: ; 5e6a (1:5e6a) next "TIME@" DisplayOptionMenu: ; 5e8a (1:5e8a) - hlCoord 0, 0 + coord hl, 0, 0 ld b,3 ld c,18 call TextBoxBorder - hlCoord 0, 5 + coord hl, 0, 5 ld b,3 ld c,18 call TextBoxBorder - hlCoord 0, 10 + coord hl, 0, 10 ld b,3 ld c,18 call TextBoxBorder - hlCoord 1, 1 + coord hl, 1, 1 ld de,TextSpeedOptionText call PlaceString - hlCoord 1, 6 + coord hl, 1, 6 ld de,BattleAnimationOptionText call PlaceString - hlCoord 1, 11 + coord hl, 1, 11 ld de,BattleStyleOptionText call PlaceString - hlCoord 2, 16 + coord hl, 2, 16 ld de,OptionMenuCancelText call PlaceString xor a @@ -639,7 +639,7 @@ SetCursorPositionsFromOptions: ; 604c (1:604c) dec hl ld a,[hl] ld [wOptionsTextSpeedCursorX],a ; text speed cursor X coordinate - hlCoord 0, 3 + coord hl, 0, 3 call .placeUnfilledRightArrow sla c ld a,1 ; On @@ -647,7 +647,7 @@ SetCursorPositionsFromOptions: ; 604c (1:604c) ld a,10 ; Off .storeBattleAnimationCursorX ld [wOptionsBattleAnimCursorX],a ; battle animation cursor X coordinate - hlCoord 0, 8 + coord hl, 0, 8 call .placeUnfilledRightArrow sla c ld a,1 @@ -655,10 +655,10 @@ SetCursorPositionsFromOptions: ; 604c (1:604c) ld a,10 .storeBattleStyleCursorX ld [wOptionsBattleStyleCursorX],a ; battle style cursor X coordinate - hlCoord 0, 13 + coord hl, 0, 13 call .placeUnfilledRightArrow ; cursor in front of Cancel - hlCoord 0, 16 + coord hl, 0, 16 ld a,1 .placeUnfilledRightArrow ld e,a diff --git a/engine/menu/naming_screen.asm b/engine/menu/naming_screen.asm index 2416f0da..20deb834 100755 --- a/engine/menu/naming_screen.asm +++ b/engine/menu/naming_screen.asm @@ -4,7 +4,7 @@ AskName: ; 64eb (1:64eb) push hl ld a, [W_ISINBATTLE] dec a - hlCoord 0, 0 + coord hl, 0, 0 ld b, $4 ld c, $b call z, ClearScreenArea ; only if in wild batle @@ -13,7 +13,7 @@ AskName: ; 64eb (1:64eb) call GetMonName ld hl, DoYouWantToNicknameText call PrintText - hlCoord 14, 7 + coord hl, 14, 7 ld bc, $80f ld a, TWO_OPTION_MENU ld [wTextBoxID], a @@ -93,7 +93,7 @@ DisplayNamingScreen: ; 6596 (1:6596) call LoadHpBarAndStatusTilePatterns call LoadEDTile callba LoadMonPartySpriteGfx - hlCoord 0, 4 + coord hl, 0, 4 ld b, $9 ld c, $12 call TextBoxBorder @@ -343,7 +343,7 @@ PrintAlphabet: ; 676f (1:676f) jr nz, .lowercase ld de, UpperCaseAlphabet .lowercase - hlCoord 2, 5 + coord hl, 2, 5 ld bc, $509 ; 5 rows, 9 columns .outerLoop push bc @@ -374,13 +374,13 @@ PrintNicknameAndUnderscores: ; 680e (1:680e) call CalcStringLength ld a, c ld [wHPBarMaxHP], a - hlCoord 10, 2 + coord hl, 10, 2 ld bc, $10a call ClearScreenArea - hlCoord 10, 2 + coord hl, 10, 2 ld de, wcf4b call PlaceString - hlCoord 10, 3 + coord hl, 10, 3 ld a, [wNamingScreenType] cp NAME_MON_SCREEN jr nc, .pokemon1 @@ -419,7 +419,7 @@ PrintNicknameAndUnderscores: ; 680e (1:680e) .emptySpacesRemaining ld c, a ld b, $0 - hlCoord 10, 3 + coord hl, 10, 3 add hl, bc ld [hl], $77 ; raised underscore tile id ret @@ -467,7 +467,7 @@ CalcStringLength: ; 68eb (1:68eb) jr .loop PrintNamingText: ; 68f8 (1:68f8) - hlCoord 0, 1 + coord hl, 0, 1 ld a, [wNamingScreenType] ld de, YourTextString and a @@ -482,12 +482,12 @@ PrintNamingText: ; 68f8 (1:68f8) pop af ld [wd11e], a call GetMonName - hlCoord 4, 1 + coord hl, 4, 1 call PlaceString ld hl, $1 add hl, bc ld [hl], $c9 - hlCoord 1, 3 + coord hl, 1, 3 ld de, NicknameTextString jr .placeString .notNickname diff --git a/engine/menu/party_menu.asm b/engine/menu/party_menu.asm index fcdd5c50..00ae3912 100755 --- a/engine/menu/party_menu.asm +++ b/engine/menu/party_menu.asm @@ -30,7 +30,7 @@ RedrawPartyMenu_: ; 12ce3 (4:6ce3) jp z,.printMessage call ErasePartyMenuCursors callba SendBlkPacket_PartyMenu - hlCoord 3, 0 + coord hl, 3, 0 ld de,wPartySpecies xor a ld c,a diff --git a/engine/menu/players_pc.asm b/engine/menu/players_pc.asm index f436ae24..89974dd0 100755 --- a/engine/menu/players_pc.asm +++ b/engine/menu/players_pc.asm @@ -22,12 +22,12 @@ PlayerPCMenu: ; 790c (1:790c) ld hl, wFlags_0xcd60 set 5, [hl] call LoadScreenTilesFromBuffer2 - hlCoord 0, 0 + coord hl, 0, 0 ld b, $8 ld c, $e call TextBoxBorder call UpdateSprites - hlCoord 2, 2 + coord hl, 2, 2 ld de, PlayersPCMenuEntries call PlaceString ld hl, wTopMenuItemY diff --git a/engine/menu/pokedex.asm b/engine/menu/pokedex.asm index 80eedecd..08ce0da9 100755 --- a/engine/menu/pokedex.asm +++ b/engine/menu/pokedex.asm @@ -118,7 +118,7 @@ HandlePokedexSideMenu: ; 4006d (10:406d) pop af ld [wCurrentMenuItem],a push bc - hlCoord 0, 3 + coord hl, 0, 3 ld de,20 ld bc,$7f0d ; 13 blank tiles call DrawTileLine ; cover up the menu cursor in the pokemon list @@ -126,7 +126,7 @@ HandlePokedexSideMenu: ; 4006d (10:406d) ret .buttonBPressed push bc - hlCoord 15, 10 + coord hl, 15, 10 ld de,20 ld bc,$7f07 ; 7 blank tiles call DrawTileLine ; cover up the menu cursor in the side menu @@ -153,43 +153,43 @@ HandlePokedexListMenu: ; 40111 (10:4111) xor a ld [H_AUTOBGTRANSFERENABLED],a ; draw the horizontal line separating the seen and owned amounts from the menu - hlCoord 15, 8 + coord hl, 15, 8 ld a,$7a ; horizontal line tile ld [hli],a ld [hli],a ld [hli],a ld [hli],a ld [hli],a - hlCoord 14, 0 + coord hl, 14, 0 ld [hl],$71 ; vertical line tile - hlCoord 14, 1 + coord hl, 14, 1 call DrawPokedexVerticalLine - hlCoord 14, 9 + coord hl, 14, 9 call DrawPokedexVerticalLine ld hl,wPokedexSeen ld b,wPokedexSeenEnd - wPokedexSeen call CountSetBits ld de,wd11e - hlCoord 16, 3 + coord hl, 16, 3 ld bc,$0103 call PrintNumber ; print number of seen pokemon ld hl,wPokedexOwned ld b,wPokedexOwnedEnd - wPokedexOwned call CountSetBits ld de,wd11e - hlCoord 16, 6 + coord hl, 16, 6 ld bc,$0103 call PrintNumber ; print number of owned pokemon - hlCoord 16, 2 + coord hl, 16, 2 ld de,PokedexSeenText call PlaceString - hlCoord 16, 5 + coord hl, 16, 5 ld de,PokedexOwnText call PlaceString - hlCoord 1, 1 + coord hl, 1, 1 ld de,PokedexContentsText call PlaceString - hlCoord 16, 10 + coord hl, 16, 10 ld de,PokedexMenuItemsText call PlaceString ; find the highest pokedex number among the pokemon the player has seen @@ -211,10 +211,10 @@ HandlePokedexListMenu: ; 40111 (10:4111) .loop xor a ld [H_AUTOBGTRANSFERENABLED],a - hlCoord 4, 2 + coord hl, 4, 2 ld bc,$0e0a call ClearScreenArea - hlCoord 1, 3 + coord hl, 1, 3 ld a,[wListScrollOffset] ld [wd11e],a ld d,7 @@ -411,18 +411,18 @@ ShowPokedexDataInternal: ; 402e2 (10:42e2) push af xor a ld [hTilesetType],a - hlCoord 0, 0 + coord hl, 0, 0 ld de,1 ld bc,$6414 call DrawTileLine ; draw top border - hlCoord 0, 17 + coord hl, 0, 17 ld b,$6f call DrawTileLine ; draw bottom border - hlCoord 0, 1 + coord hl, 0, 1 ld de,20 ld bc,$6610 call DrawTileLine ; draw left border - hlCoord 19, 1 + coord hl, 19, 1 ld b,$67 call DrawTileLine ; draw right border ld a,$63 ; upper left corner tile @@ -433,14 +433,14 @@ ShowPokedexDataInternal: ; 402e2 (10:42e2) Coorda 0, 17 ld a,$6e ; lower right corner tile Coorda 19, 17 - hlCoord 0, 9 + coord hl, 0, 9 ld de,PokedexDataDividerLine call PlaceString ; draw horizontal divider line - hlCoord 9, 6 + coord hl, 9, 6 ld de,HeightWeightText call PlaceString call GetMonName - hlCoord 9, 2 + coord hl, 9, 2 call PlaceString ld hl,PokedexEntryPointers ld a,[wd11e] @@ -452,7 +452,7 @@ ShowPokedexDataInternal: ; 402e2 (10:42e2) ld a,[hli] ld e,a ld d,[hl] ; de = address of pokedex entry - hlCoord 9, 4 + coord hl, 9, 4 call PlaceString ; print species name ld h,b ld l,c @@ -460,7 +460,7 @@ ShowPokedexDataInternal: ; 402e2 (10:42e2) ld a,[wd11e] push af call IndexToPokedex - hlCoord 2, 8 + coord hl, 2, 8 ld a, "№" ld [hli],a ld a,$f2 @@ -482,7 +482,7 @@ ShowPokedexDataInternal: ; 402e2 (10:42e2) call Delay3 call GBPalNormal call GetMonHeader ; load pokemon picture location - hlCoord 1, 1 + coord hl, 1, 1 call LoadFlippedFrontSpriteByMonIndex ; draw pokemon picture ld a,[wcf91] call PlayCry ; play pokemon cry @@ -495,14 +495,14 @@ ShowPokedexDataInternal: ; 402e2 (10:42e2) jp z,.waitForButtonPress ; if the pokemon has not been owned, don't print the height, weight, or description inc de ; de = address of feet (height) ld a,[de] ; reads feet, but a is overwritten without being used - hlCoord 12, 6 + coord hl, 12, 6 ld bc,$0102 call PrintNumber ; print feet (height) ld a,$60 ; feet symbol tile (one tick) ld [hl],a inc de inc de ; de = address of inches (height) - hlCoord 15, 6 + coord hl, 15, 6 ld bc,$8102 call PrintNumber ; print inches (height) ld a,$61 ; inches symbol tile (two ticks) @@ -524,10 +524,10 @@ ShowPokedexDataInternal: ; 402e2 (10:42e2) ld a,[de] ; a = lower byte of weight ld [hl],a ; store lower byte of weight in [hDexWeight + 1] ld de,hDexWeight - hlCoord 11, 8 + coord hl, 11, 8 ld bc,$0205 ; no leading zeroes, right-aligned, 2 bytes, 5 digits call PrintNumber ; print weight - hlCoord 14, 8 + coord hl, 14, 8 ld a,[hDexWeight + 1] sub a,10 ld a,[hDexWeight] @@ -545,7 +545,7 @@ ShowPokedexDataInternal: ; 402e2 (10:42e2) ld [hDexWeight],a ; restore original value of [hDexWeight] pop hl inc hl ; hl = address of pokedex description text - bcCoord 1, 11 + coord bc, 1, 11 ld a,2 ld [$fff4],a call TextCommandProcessor ; print pokedex description text diff --git a/engine/menu/prize_menu.asm b/engine/menu/prize_menu.asm index f7206a7f..d1fa0c72 100755 --- a/engine/menu/prize_menu.asm +++ b/engine/menu/prize_menu.asm @@ -22,7 +22,7 @@ CeladonPrizeMenu: ; 5271b (14:671b) ld a,$01 ld [wTopMenuItemX],a call PrintPrizePrice - hlCoord 0, 2 + coord hl, 0, 2 ld b,$08 ld c,$10 call TextBoxBorder @@ -93,42 +93,42 @@ GetPrizeMenuId: ; 5278e (14:678e) ld a,[W_PRIZE1] ld [wd11e],a call GetItemName - hlCoord 2, 4 + coord hl, 2, 4 call PlaceString ld a,[W_PRIZE2] ld [wd11e],a call GetItemName - hlCoord 2, 6 + coord hl, 2, 6 call PlaceString ld a,[W_PRIZE3] ld [wd11e],a call GetItemName - hlCoord 2, 8 + coord hl, 2, 8 call PlaceString jr .putNoThanksText .putMonName ld a,[W_PRIZE1] ld [wd11e],a call GetMonName - hlCoord 2, 4 + coord hl, 2, 4 call PlaceString ld a,[W_PRIZE2] ld [wd11e],a call GetMonName - hlCoord 2, 6 + coord hl, 2, 6 call PlaceString ld a,[W_PRIZE3] ld [wd11e],a call GetMonName - hlCoord 2, 8 + coord hl, 2, 8 call PlaceString .putNoThanksText - hlCoord 2, 10 + coord hl, 2, 10 ld de,NoThanksText call PlaceString ; put prices on the right side of the textbox ld de,wd141 - hlCoord 13, 5 + coord hl, 13, 5 ; reg. c: ; [low nybble] number of bytes ; [bit 765 = %100] space-padding (not zero-padding) @@ -137,29 +137,29 @@ GetPrizeMenuId: ; 5278e (14:678e) ; used by text-command $02) call PrintBCDNumber ld de,wd143 - hlCoord 13, 7 + coord hl, 13, 7 ld c,(%1 << 7 | 2) call PrintBCDNumber ld de,wd145 - hlCoord 13, 9 + coord hl, 13, 9 ld c,(1 << 7 | 2) jp PrintBCDNumber INCLUDE "data/prizes.asm" PrintPrizePrice: ; 5287a (14:687a) - hlCoord 11, 0 + coord hl, 11, 0 ld b,$01 ld c,$07 call TextBoxBorder call UpdateSprites - hlCoord 12, 0 + coord hl, 12, 0 ld de,.CoinText call PlaceString - hlCoord 13, 1 + coord hl, 13, 1 ld de,.SixSpacesText call PlaceString - hlCoord 13, 1 + coord hl, 13, 1 ld de,wPlayerCoins ld c,%10000010 call PrintBCDNumber diff --git a/engine/menu/start_sub_menus.asm b/engine/menu/start_sub_menus.asm index 2804ef7b..0036d66e 100755 --- a/engine/menu/start_sub_menus.asm +++ b/engine/menu/start_sub_menus.asm @@ -285,7 +285,7 @@ StartMenu_Pokemon: ; 130a9 (4:70a9) ; writes a blank tile to all possible menu cursor positions on the party menu ErasePartyMenuCursors: ; 132ed (4:72ed) - hlCoord 0, 1 + coord hl, 0, 1 ld bc,2 * 20 ; menu cursor positions are 2 rows apart ld a,6 ; 6 menu cursor positions .loop @@ -526,10 +526,10 @@ DrawTrainerInfo: ; 1349a (4:749a) ld bc,(BANK(RedPicFront) << 8) | $01 predef DisplayPicCenteredOrUpperRight call DisableLCD - hlCoord 0, 2 + coord hl, 0, 2 ld a," " call TrainerInfo_DrawVerticalLine - hlCoord 1, 2 + coord hl, 1, 2 call TrainerInfo_DrawVerticalLine ld hl,vChars2 + $70 ld de,vChars2 @@ -572,7 +572,7 @@ DrawTrainerInfo: ; 1349a (4:749a) dec a ld [hli],a ld [hl],1 - hlCoord 0, 0 + coord hl, 0, 0 call TrainerInfo_DrawTextBox ld hl,wTrainerInfoTextBoxWidthPlus1 ld a,16 + 1 @@ -580,27 +580,27 @@ DrawTrainerInfo: ; 1349a (4:749a) dec a ld [hli],a ld [hl],3 - hlCoord 1, 10 + coord hl, 1, 10 call TrainerInfo_DrawTextBox - hlCoord 0, 10 + coord hl, 0, 10 ld a,$d7 call TrainerInfo_DrawVerticalLine - hlCoord 19, 10 + coord hl, 19, 10 call TrainerInfo_DrawVerticalLine - hlCoord 6, 9 + coord hl, 6, 9 ld de,TrainerInfo_BadgesText call PlaceString - hlCoord 2, 2 + coord hl, 2, 2 ld de,TrainerInfo_NameMoneyTimeText call PlaceString - hlCoord 7, 2 + coord hl, 7, 2 ld de,wPlayerName call PlaceString - hlCoord 8, 4 + coord hl, 8, 4 ld de,wPlayerMoney ld c,$e3 call PrintBCDNumber - hlCoord 9, 6 + coord hl, 9, 6 ld de,W_PLAYTIMEHOURS + 1 ; hours ld bc,$4103 call PrintNumber @@ -713,7 +713,7 @@ SwitchPartyMon: ; 13613 (4:7613) SwitchPartyMon_ClearGfx: ; 13625 (4:7625) push af - hlCoord 0, 0 + coord hl, 0, 0 ld bc, SCREEN_WIDTH * 2 call AddNTimes ld c, SCREEN_WIDTH * 2 diff --git a/engine/menu/status_screen.asm b/engine/menu/status_screen.asm index 3f73a84f..75de182b 100755 --- a/engine/menu/status_screen.asm +++ b/engine/menu/status_screen.asm @@ -105,7 +105,7 @@ StatusScreen: ; 12953 (4:6953) push af xor a ld [hTilesetType], a - hlCoord 19, 1 + coord hl, 19, 1 ld bc, $060a call DrawLineBox ; Draws the box around name, HP and status ld de, $fffa @@ -113,54 +113,54 @@ StatusScreen: ; 12953 (4:6953) ld [hl], $f2 ; . after No ("." is a different one) dec hl ld [hl], "№" - hlCoord 19, 9 + coord hl, 19, 9 ld bc, $0806 call DrawLineBox ; Draws the box around types, ID No. and OT - hlCoord 10, 9 + coord hl, 10, 9 ld de, Type1Text call PlaceString ; "TYPE1/" - hlCoord 11, 3 + coord hl, 11, 3 predef DrawHP ld hl, wcf25 call GetHealthBarColor ld b, $3 call GoPAL_SET ; SGB palette - hlCoord 16, 6 + coord hl, 16, 6 ld de, wLoadedMonStatus call PrintStatusCondition jr nz, .StatusWritten - hlCoord 16, 6 + coord hl, 16, 6 ld de, OKText call PlaceString ; "OK" .StatusWritten - hlCoord 9, 6 + coord hl, 9, 6 ld de, StatusText call PlaceString ; "STATUS/" - hlCoord 14, 2 + coord hl, 14, 2 call PrintLevel ; Pokémon level ld a, [W_MONHDEXNUM] ld [wd11e], a ld [wd0b5], a predef IndexToPokedex - hlCoord 3, 7 + coord hl, 3, 7 ld de, wd11e ld bc, $8103 ; Zero-padded, 3 call PrintNumber ; Pokémon no. - hlCoord 11, 10 + coord hl, 11, 10 predef PrintMonType ld hl, NamePointers2 call .GetStringPointer ld d, h ld e, l - hlCoord 9, 1 + coord hl, 9, 1 call PlaceString ; Pokémon name ld hl, OTPointers call .GetStringPointer ld d, h ld e, l - hlCoord 12, 16 + coord hl, 12, 16 call PlaceString ; OT - hlCoord 12, 14 + coord hl, 12, 14 ld de, wLoadedMonOTID ld bc, $8205 ; 5 call PrintNumber ; ID Number @@ -168,7 +168,7 @@ StatusScreen: ; 12953 (4:6953) call PrintStatsBox call Delay3 call GBPalNormal - hlCoord 1, 0 + coord hl, 1, 0 call LoadFlippedFrontSpriteByMonIndex ; draw Pokémon picture ld a, [wcf91] call PlayCry ; play Pokémon cry @@ -247,19 +247,19 @@ PrintStatsBox: ; 12ae4 (4:6ae4) ld a, d and a ; a is 0 from the status screen jr nz, .DifferentBox - hlCoord 0, 8 + coord hl, 0, 8 ld b, $8 ld c, $8 call TextBoxBorder ; Draws the box - hlCoord 1, 9 ; Start printing stats from here + coord hl, 1, 9 ; Start printing stats from here ld bc, $0019 ; Number offset jr .PrintStats .DifferentBox - hlCoord 9, 2 + coord hl, 9, 2 ld b, $8 ld c, $9 call TextBoxBorder - hlCoord 11, 3 + coord hl, 11, 3 ld bc, $0018 .PrintStats push bc @@ -306,16 +306,16 @@ StatusScreen2: ; 12b57 (4:6b57) ld bc, NUM_MOVES call CopyData callab FormatMovesString - hlCoord 9, 2 + coord hl, 9, 2 ld bc, $050a call ClearScreenArea ; Clear under name - hlCoord 19, 3 + coord hl, 19, 3 ld [hl], $78 - hlCoord 0, 8 + coord hl, 0, 8 ld b, $8 ld c, $12 call TextBoxBorder ; Draw move container - hlCoord 2, 9 + coord hl, 2, 9 ld de, wMovesString call PlaceString ; Print moves ld a, [wNumMovesMinusOne] @@ -324,7 +324,7 @@ StatusScreen2: ; 12b57 (4:6b57) ld a, $4 sub c ld b, a ; Number of moves ? - hlCoord 11, 10 + coord hl, 11, 10 ld de, SCREEN_WIDTH * 2 ld a, $72 ; special P tile id call StatusScreen_PrintPP ; Print "PP" @@ -336,7 +336,7 @@ StatusScreen2: ; 12b57 (4:6b57) call StatusScreen_PrintPP ; Fill the rest with -- .InitPP ; 12bbb ld hl, wLoadedMonMoves - deCoord 14, 10 + coord de, 14, 10 ld b, 0 .PrintPP ; 12bc3 ld a, [hli] @@ -386,7 +386,7 @@ StatusScreen2: ; 12b57 (4:6b57) cp $4 jr nz, .PrintPP .PPDone - hlCoord 9, 3 + coord hl, 9, 3 ld de, EXPPointsText call PlaceString ld a, [wLoadedMonLevel] ; level @@ -396,7 +396,7 @@ StatusScreen2: ; 12b57 (4:6b57) inc a ld [wLoadedMonLevel], a ; Increase temporarily if not 100 .Level100 - hlCoord 14, 6 + coord hl, 14, 6 ld [hl], $70 ; 1-tile "to" inc hl inc hl @@ -404,22 +404,22 @@ StatusScreen2: ; 12b57 (4:6b57) pop af ld [wLoadedMonLevel], a ld de, wLoadedMonExp - hlCoord 12, 4 + coord hl, 12, 4 ld bc, $0307 call PrintNumber ; exp call .asm_12c86 ld de, wLoadedMonExp - hlCoord 7, 6 + coord hl, 7, 6 ld bc, $0307 call PrintNumber - hlCoord 9, 0 + coord hl, 9, 0 call StatusScreen_ClearName - hlCoord 9, 1 + coord hl, 9, 1 call StatusScreen_ClearName ld a, [W_MONHDEXNUM] ld [wd11e], a call GetMonName - hlCoord 9, 1 + coord hl, 9, 1 call PlaceString ld a, $1 ld [$ffba], a diff --git a/engine/menu/vending_machine.asm b/engine/menu/vending_machine.asm index 07cf8854..0f6c6a13 100755 --- a/engine/menu/vending_machine.asm +++ b/engine/menu/vending_machine.asm @@ -17,15 +17,15 @@ VendingMachineMenu: ; 74ee0 (1d:4ee0) ld [wTopMenuItemX], a ld hl, wd730 set 6, [hl] - hlCoord 0, 3 + coord hl, 0, 3 ld b, 8 ld c, 12 call TextBoxBorder call UpdateSprites - hlCoord 2, 5 + coord hl, 2, 5 ld de, DrinkText call PlaceString - hlCoord 9, 6 + coord hl, 9, 6 ld de, DrinkPriceText call PlaceString ld hl, wd730 diff --git a/engine/oak_speech.asm b/engine/oak_speech.asm index bd7f672e..c7b2f4d6 100755 --- a/engine/oak_speech.asm +++ b/engine/oak_speech.asm @@ -68,7 +68,7 @@ OakSpeech: ; 6115 (1:6115) ld [wd0b5],a ld [wcf91],a call GetMonHeader - hlCoord 6, 4 + coord hl, 6, 4 call LoadFlippedFrontSpriteByMonIndex call MovePicLeft ld hl,OakSpeechText2 @@ -141,7 +141,7 @@ OakSpeech: ; 6115 (1:6115) ld [MBC1RomBank],a ld c,20 call DelayFrames - hlCoord 6, 5 + coord hl, 6, 5 ld b,7 ld c,7 call ClearScreenArea @@ -224,9 +224,9 @@ IntroDisplayPicCenteredOrUpperRight: ; 62a4 (1:62a4) pop bc ld a,c and a - hlCoord 15, 1 + coord hl, 15, 1 jr nz,.next - hlCoord 6, 4 + coord hl, 6, 4 .next xor a ld [$FFE1],a diff --git a/engine/oak_speech2.asm b/engine/oak_speech2.asm index f881b43b..bdc4d38f 100755 --- a/engine/oak_speech2.asm +++ b/engine/oak_speech2.asm @@ -66,7 +66,7 @@ HisNameIsText: ; 69e7 (1:69e7) OakSpeechSlidePicLeft: ; 69ec (1:69ec) push de - hlCoord 0, 0 + coord hl, 0, 0 lb bc, 12, 11 call ClearScreenArea ; clear the name list text box ld c, 10 @@ -76,13 +76,13 @@ OakSpeechSlidePicLeft: ; 69ec (1:69ec) ld bc, $b call CopyData call Delay3 - hlCoord 12, 4 + coord hl, 12, 4 lb de, 6, 6 * SCREEN_WIDTH + 5 ld a, $ff jr OakSpeechSlidePicCommon OakSpeechSlidePicRight: ; 6a12 (1:6a12) - hlCoord 5, 4 + coord hl, 5, 4 lb de, 6, 6 * SCREEN_WIDTH + 5 xor a @@ -161,15 +161,15 @@ OakSpeechSlidePicCommon: ; 6a19 (1:6a19) DisplayIntroNameTextBox: ; 6a6c (1:6a6c) push de - hlCoord 0, 0 + coord hl, 0, 0 ld b, $a ld c, $9 call TextBoxBorder - hlCoord 3, 0 + coord hl, 3, 0 ld de, .namestring call PlaceString pop de - hlCoord 2, 2 + coord hl, 2, 2 call PlaceString call UpdateSprites xor a diff --git a/engine/overworld/cinnabar_lab.asm b/engine/overworld/cinnabar_lab.asm index 3d39ad6b..18ce23ed 100755 --- a/engine/overworld/cinnabar_lab.asm +++ b/engine/overworld/cinnabar_lab.asm @@ -20,7 +20,7 @@ GiveFossilToCinnabarLab: ; 61006 (18:5006) dec l ld b, l ld c, $d - hlCoord 0, 0 + coord hl, 0, 0 call TextBoxBorder call UpdateSprites call Func_610c2 @@ -101,7 +101,7 @@ Func_610c2: ; 610c2 (18:50c2) push hl ld [wd11e], a call GetItemName - hlCoord 2, 2 + coord hl, 2, 2 ld a, [$ffdb] ld bc, SCREEN_WIDTH * 2 call AddNTimes diff --git a/engine/overworld/movement.asm b/engine/overworld/movement.asm index c85a4174..89b09bba 100644 --- a/engine/overworld/movement.asm +++ b/engine/overworld/movement.asm @@ -704,7 +704,7 @@ GetTileSpriteStandsOn: ; 5207 (1:5207) add SCREEN_WIDTH ; screen X tile + 20 ld d, $0 ld e, a - hlCoord 0, 0 + coord hl, 0, 0 add hl, bc add hl, bc add hl, bc diff --git a/engine/overworld/pokemart.asm b/engine/overworld/pokemart.asm index e6fdfc92..ebc99eed 100755 --- a/engine/overworld/pokemart.asm +++ b/engine/overworld/pokemart.asm @@ -84,7 +84,7 @@ DisplayPokemartDialogue_: ; 6c20 (1:6c20) ld hl,PokemartTellSellPriceText ld bc,$0e01 call PrintText - hlCoord 14, 7 + coord hl, 14, 7 ld bc,$080f ld a,TWO_OPTION_MENU ld [wTextBoxID],a @@ -162,7 +162,7 @@ DisplayPokemartDialogue_: ; 6c20 (1:6c20) call CopyStringToCF4B ; copy name to wcf4b ld hl,PokemartTellBuyPriceText call PrintText - hlCoord 14, 7 + coord hl, 14, 7 ld bc,$080f ld a,TWO_OPTION_MENU ld [wTextBoxID],a diff --git a/engine/save.asm b/engine/save.asm index 6dc1a46c..56468595 100755 --- a/engine/save.asm +++ b/engine/save.asm @@ -151,10 +151,10 @@ SaveSAV: ; 7370a (1c:770a) ret nz .save call SaveSAVtoSRAM - hlCoord 1, 13 + coord hl, 1, 13 ld bc,$0412 call ClearScreenArea ; clear area 4x12 starting at 13,1 - hlCoord 1, 14 + coord hl, 1, 14 ld de,NowSavingString call PlaceString ld c,120 @@ -172,7 +172,7 @@ NowSavingString: SaveSAVConfirm: ; 73768 (1c:7768) call PrintText - hlCoord 0, 7 + coord hl, 0, 7 ld bc,$0801 ld a,TWO_OPTION_MENU ld [wTextBoxID],a @@ -426,20 +426,20 @@ Func_7393f: ; 7393f (1c:793f) and $7f ld [wCurrentMenuItem], a ld [wLastMenuItem], a - hlCoord 0, 0 + coord hl, 0, 0 ld b, $2 ld c, $9 call TextBoxBorder ld hl, ChooseABoxText call PrintText - hlCoord 11, 0 + coord hl, 11, 0 ld b, $c ld c, $7 call TextBoxBorder ld hl, hFlags_0xFFF6 set 2, [hl] ld de, BoxNames - hlCoord 13, 1 + coord hl, 13, 1 call PlaceString ld hl, hFlags_0xFFF6 res 2, [hl] @@ -448,7 +448,7 @@ Func_7393f: ; 7393f (1c:793f) cp 9 jr c, .asm_739a6 sub 9 - hlCoord 8, 2 + coord hl, 8, 2 ld [hl], "1" add "0" jr .asm_739a8 @@ -456,11 +456,11 @@ Func_7393f: ; 7393f (1c:793f) add "1" .asm_739a8 Coorda 9, 2 - hlCoord 1, 2 + coord hl, 1, 2 ld de, BoxNoText call PlaceString call Func_73a84 - hlCoord 18, 1 + coord hl, 18, 1 ld de, wWhichTrade ld bc, SCREEN_WIDTH ld a, $c diff --git a/engine/slot_machine.asm b/engine/slot_machine.asm index 9a4c85da..ea1eb315 100755 --- a/engine/slot_machine.asm +++ b/engine/slot_machine.asm @@ -79,11 +79,11 @@ MainSlotMachineLoop: ; 37395 (d:7395) ld [wCurrentMenuItem], a ld [wLastMenuItem], a ld [wMenuWatchMovingOutOfBounds], a - hlCoord 14, 11 + coord hl, 14, 11 ld b, 5 ld c, 4 call TextBoxBorder - hlCoord 16, 12 + coord hl, 16, 12 ld de, CoinMultiplierSlotMachineText call PlaceString call HandleMenuInput @@ -133,7 +133,7 @@ MainSlotMachineLoop: ; 37395 (d:7395) .skip2 ld hl, OneMoreGoSlotMachineText call PrintText - hlCoord 14, 12 + coord hl, 14, 12 ld bc, $0d0f xor a ; YES_NO_MENU ld [wTwoOptionMenuID], a @@ -614,7 +614,7 @@ YeahText: ; 37722 (d:7722) SlotMachine_PrintWinningSymbol: ; 37728 (d:7728) ; prints winning symbol and down arrow in text box - hlCoord 2, 14 + coord hl, 2, 14 ld a, [wSlotMachineWinningSymbol] add $25 ld [hli], a @@ -626,7 +626,7 @@ SlotMachine_PrintWinningSymbol: ; 37728 (d:7728) ld [hli], a inc a ld [hl], a - hlCoord 18, 16 + coord hl, 18, 16 ld [hl], $ee ; down arrow ret @@ -641,13 +641,13 @@ SlotMachine_SubtractBetFromPlayerCoins: ; 37741 (d:7741) predef SubBCDPredef SlotMachine_PrintCreditCoins: ; 37754 (d:7754) - hlCoord 5, 1 + coord hl, 5, 1 ld de, wPlayerCoins ld c, $2 jp PrintBCDNumber SlotMachine_PrintPayoutCoins: ; 3775f (d:775f) - hlCoord 11, 1 + coord hl, 11, 1 ld de, wPayoutCoins ld bc, $8204 ; 2 bytes, 4 digits, leading zeroes jp PrintNumber @@ -724,19 +724,19 @@ SlotMachine_LightBalls: ; 377d5 (d:77d5) jr z, SlotMachine_UpdateTwoCoinBallTiles SlotMachine_UpdateThreeCoinBallTiles: ; 377e3 (d:77e3) - hlCoord 3, 2 + coord hl, 3, 2 call SlotMachine_UpdateBallTiles - hlCoord 3, 10 + coord hl, 3, 10 call SlotMachine_UpdateBallTiles SlotMachine_UpdateTwoCoinBallTiles: ; 377ef (d:77ef) - hlCoord 3, 4 + coord hl, 3, 4 call SlotMachine_UpdateBallTiles - hlCoord 3, 8 + coord hl, 3, 8 call SlotMachine_UpdateBallTiles SlotMachine_UpdateOneCoinBallTiles: ; 377fb (d:77fb) - hlCoord 3, 6 + coord hl, 3, 6 SlotMachine_UpdateBallTiles: ; 377fe (d:77fe) ld a, [wd08a] @@ -863,7 +863,7 @@ LoadSlotMachineTiles: ; 378a8 (d:78a8) ld a, BANK(SlotMachineTiles2) call FarCopyData2 ld hl, SlotMachineMap - deCoord 0, 0 + coord de, 0, 0 ld bc, $00f0 call CopyData call EnableLCD diff --git a/engine/titlescreen.asm b/engine/titlescreen.asm index 74f7ad61..3a4e2e4c 100755 --- a/engine/titlescreen.asm +++ b/engine/titlescreen.asm @@ -70,7 +70,7 @@ ENDC call ClearBothBGMaps ; place tiles for pokemon logo (except for the last row) - hlCoord 2, 1 + coord hl, 2, 1 ld a, $80 ld de, SCREEN_WIDTH ld c, 6 @@ -88,7 +88,7 @@ ENDC jr nz, .pokemonLogoTileLoop ; place tiles for the last row of the pokemon logo - hlCoord 2, 7 + coord hl, 2, 7 ld a, $31 ld b, $10 .pokemonLogoLastTileRowLoop @@ -105,7 +105,7 @@ ENDC ld [hl], a ; place tiles for title screen copyright - hlCoord 2, 17 + coord hl, 2, 17 ld de, .tileScreenCopyrightTiles ld b, $10 .tileScreenCopyrightTilesLoop @@ -362,7 +362,7 @@ ClearBothBGMaps: ; 4519 (1:4519) LoadTitleMonSprite: ; 4524 (1:4524) ld [wcf91], a ld [wd0b5], a - hlCoord 5, 10 + coord hl, 5, 10 call GetMonHeader jp LoadFrontSpriteByMonIndex @@ -381,7 +381,7 @@ LoadCopyrightTiles: ; 4541 (1:4541) ld hl, vChars2 + $600 ld bc, (BANK(NintendoCopyrightLogoGraphics) << 8) + $1c call CopyVideoData - hlCoord 2, 7 + coord hl, 2, 7 ld de, CopyrightTextString jp PlaceString @@ -395,7 +395,7 @@ INCLUDE "data/title_mons.asm" ; prints version text (red, blue) PrintGameVersionOnTitleScreen: ; 4598 (1:4598) - hlCoord 7, 8 + coord hl, 7, 8 ld de, VersionOnTitleScreenText jp PlaceString diff --git a/engine/town_map.asm b/engine/town_map.asm index a92f49e4..302efa0f 100755 --- a/engine/town_map.asm +++ b/engine/town_map.asm @@ -11,7 +11,7 @@ DisplayTownMap: ; 70e3e (1c:4e3e) push af ld b, $0 call DrawPlayerOrBirdSprite ; player sprite - hlCoord 1, 0 + coord hl, 1, 0 ld de, wcd6d call PlaceString ld hl, wOAMBuffer @@ -28,7 +28,7 @@ DisplayTownMap: ; 70e3e (1c:4e3e) jr .enterLoop .townMapLoop - hlCoord 0, 0 + coord hl, 0, 0 ld bc, $114 call ClearScreenArea ld hl, TownMapOrder @@ -55,7 +55,7 @@ DisplayTownMap: ; 70e3e (1c:4e3e) inc de cp $50 jr nz, .copyMapName - hlCoord 1, 0 + coord hl, 1, 0 ld de, wcd6d call PlaceString ld hl, wOAMBuffer + $10 @@ -117,7 +117,7 @@ LoadTownMap_Nest: ; 70f60 (1c:4f60) push hl call DisplayWildLocations call GetMonName - hlCoord 1, 0 + coord hl, 1, 0 call PlaceString ld h, b ld l, c @@ -152,34 +152,34 @@ LoadTownMap_Fly: ; 70f90 (1c:4f90) push af ld [hl], $ff push hl - hlCoord 0, 0 + coord hl, 0, 0 ld de, ToText call PlaceString ld a, [W_CURMAP] ld b, $0 call DrawPlayerOrBirdSprite ld hl, wFlyLocationsList - deCoord 18, 0 + coord de, 18, 0 .townMapFlyLoop ld a, $7f ld [de], a push hl push hl - hlCoord 3, 0 + coord hl, 3, 0 ld bc, $10f call ClearScreenArea pop hl ld a, [hl] ld b, $4 call DrawPlayerOrBirdSprite ; draw bird sprite - hlCoord 3, 0 + coord hl, 3, 0 ld de, wcd6d call PlaceString ld c, 15 call DelayFrames - hlCoord 18, 0 + coord hl, 18, 0 ld [hl], $ed - hlCoord 19, 0 + coord hl, 19, 0 ld [hl], $ee pop hl .inputLoop @@ -218,7 +218,7 @@ LoadTownMap_Fly: ; 70f90 (1c:4f90) ld [hl], a ret .pressedUp - deCoord 18, 0 + coord de, 18, 0 inc hl ld a, [hl] cp $ff @@ -230,7 +230,7 @@ LoadTownMap_Fly: ; 70f90 (1c:4f90) ld hl, wFlyLocationsList jp .townMapFlyLoop .pressedDown - deCoord 19, 0 + coord de, 19, 0 dec hl ld a, [hl] cp $ff @@ -276,7 +276,7 @@ LoadTownMap: ; 7109b (1c:509b) call GBPalWhiteOutWithDelay3 call ClearScreen call UpdateSprites - hlCoord 0, 0 + coord hl, 0, 0 ld b, $12 ld c, $12 call TextBoxBorder @@ -291,7 +291,7 @@ LoadTownMap: ; 7109b (1c:509b) ld bc, $8 ld a, BANK(MonNestIcon) call FarCopyDataDouble - hlCoord 0, 0 + coord hl, 0, 0 ld de, CompressedMap .nextTile ld a, [de] @@ -394,11 +394,11 @@ DisplayWildLocations: ; 711ef (1c:51ef) and a ; were any OAM entries written? jr nz, .drawPlayerSprite ; if no OAM entries were written, print area unknown text - hlCoord 1, 7 + coord hl, 1, 7 ld b, $2 ld c, $f call TextBoxBorder - hlCoord 2, 9 + coord hl, 2, 9 ld de, AreaUnknownText call PlaceString jr .done diff --git a/engine/trade.asm b/engine/trade.asm index 37ff5c05..531085b9 100755 --- a/engine/trade.asm +++ b/engine/trade.asm @@ -148,7 +148,7 @@ Trade_Delay80: ; 41191 (10:5191) jp DelayFrames Trade_ClearTileMap: ; 41196 (10:5196) - hlCoord 0, 0 + coord hl, 0, 0 ld bc, 20 * 18 ld a, " " jp FillMemory @@ -234,7 +234,7 @@ Trade_ShowPlayerMon: ; 41245 (10:5245) ld [hSCX], a xor a ld [H_AUTOBGTRANSFERENABLED], a - hlCoord 4, 0 + coord hl, 4, 0 ld b, 6 ld c, 10 call TextBoxBorder @@ -283,7 +283,7 @@ Trade_DrawOpenEndOfLinkCable: ; 41298 (10:5298) call DelayFrame ld a, %10001011 ld [rLCDC], a - hlCoord 6, 2 + coord hl, 6, 2 ld b, $7 ; open end of link cable tile ID list index call CopyTileIDsFromList_ZeroBaseTileID call Trade_CopyTileMapToVRAM @@ -355,7 +355,7 @@ Trade_ShowEnemyMon: ; 41336 (10:5336) ld a, TRADE_BALL_TILT_ANIM call Trade_ShowAnimation call Trade_ShowClearedWindow - hlCoord 4, 10 + coord hl, 4, 10 ld b, 6 ld c, 10 call TextBoxBorder @@ -372,7 +372,7 @@ Trade_ShowEnemyMon: ; 41336 (10:5336) ld a, [wTradedEnemyMonSpecies] call PlayCry call Trade_Delay100 - hlCoord 4, 10 + coord hl, 4, 10 ld bc, $80c call ClearScreenArea jp PrintTradeTakeCareText @@ -464,7 +464,7 @@ Trade_DrawLeftGameboy: ; 4142d (10:542d) call Trade_ClearTileMap ; draw link cable - hlCoord 11, 4 + coord hl, 11, 4 ld a, $5d ld [hli], a ld a, $5e @@ -475,16 +475,16 @@ Trade_DrawLeftGameboy: ; 4142d (10:542d) jr nz, .loop ; draw gameboy pic - hlCoord 5, 3 + coord hl, 5, 3 ld b, $6 call CopyTileIDsFromList_ZeroBaseTileID ; draw text box with player name below gameboy pic - hlCoord 4, 12 + coord hl, 4, 12 ld b, 2 ld c, 7 call TextBoxBorder - hlCoord 5, 14 + coord hl, 5, 14 ld de, wPlayerName call PlaceString @@ -494,7 +494,7 @@ Trade_DrawRightGameboy: ; 4145c (10:545c) call Trade_ClearTileMap ; draw horizontal segment of link cable - hlCoord 0, 4 + coord hl, 0, 4 ld a, $5e ld c, $e .loop @@ -522,16 +522,16 @@ Trade_DrawRightGameboy: ; 4145c (10:545c) ld [hl], a ; draw gameboy pic - hlCoord 7, 8 + coord hl, 7, 8 ld b, $6 call CopyTileIDsFromList_ZeroBaseTileID ; draw text box with enemy name above link cable - hlCoord 6, 0 + coord hl, 6, 0 ld b, $2 ld c, $7 call TextBoxBorder - hlCoord 7, 2 + coord hl, 7, 2 ld de, wLinkEnemyTrainerName call PlaceString @@ -540,7 +540,7 @@ Trade_DrawRightGameboy: ; 4145c (10:545c) Trade_DrawCableAcrossScreen: ; 4149f (10:549f) ; Draws the link cable across the screen. call Trade_ClearTileMap - hlCoord 0, 4 + coord hl, 0, 4 ld a, $5e ld c, SCREEN_WIDTH .loop @@ -553,7 +553,7 @@ Trade_CopyCableTilesOffScreen: ; 414ae (10:54ae) ; This is used to copy the link cable tiles off screen so that the cable ; continues when the screen is scrolled. push hl - hlCoord 0, 4 + coord hl, 0, 4 call CopyToScreenEdgeTiles pop hl ld a, h @@ -737,7 +737,7 @@ Trade_LoadMonSprite: ; 415a4 (10:55a4) xor $1 ld [H_AUTOBGTRANSFERENABLED], a call GetMonHeader - hlCoord 7, 2 + coord hl, 7, 2 call LoadFlippedFrontSpriteByMonIndex ld c, 10 jp DelayFrames diff --git a/engine/trade2.asm b/engine/trade2.asm index da199e77..d7a16716 100755 --- a/engine/trade2.asm +++ b/engine/trade2.asm @@ -1,43 +1,43 @@ Trade_PrintPlayerMonInfoText: ; 42769 (10:6769) - hlCoord 5, 0 + coord hl, 5, 0 ld de,Trade_MonInfoText call PlaceString ld a,[wTradedPlayerMonSpecies] ld [wd11e],a predef IndexToPokedex - hlCoord 9, 0 + coord hl, 9, 0 ld de,wd11e ld bc,$8103 call PrintNumber - hlCoord 5, 2 + coord hl, 5, 2 ld de,wcf4b call PlaceString - hlCoord 8, 4 + coord hl, 8, 4 ld de,wTradedPlayerMonOT call PlaceString - hlCoord 8, 6 + coord hl, 8, 6 ld de,wTradedPlayerMonOTID ld bc,$8205 jp PrintNumber Trade_PrintEnemyMonInfoText: ; 427a7 (10:67a7) - hlCoord 5, 10 + coord hl, 5, 10 ld de,Trade_MonInfoText call PlaceString ld a,[wTradedEnemyMonSpecies] ld [wd11e],a predef IndexToPokedex - hlCoord 9, 10 + coord hl, 9, 10 ld de,wd11e ld bc,$8103 call PrintNumber - hlCoord 5, 12 + coord hl, 5, 12 ld de,wcd6d call PlaceString - hlCoord 8, 14 + coord hl, 8, 14 ld de,wTradedEnemyMonOT call PlaceString - hlCoord 8, 16 + coord hl, 8, 16 ld de,wTradedEnemyMonOTID ld bc,$8205 jp PrintNumber diff --git a/home.asm b/home.asm index f9004e7e..1b910054 100644 --- a/home.asm +++ b/home.asm @@ -1405,7 +1405,7 @@ DisplayListMenuID:: ; 2be6 (0:2be6) call DisplayTextBoxID ; draw the menu text box call UpdateSprites ; disable sprites behind the text box ; the code up to .skipMovingSprites appears to be useless - hlCoord 4, 2 ; coordinates of upper left corner of menu text box + coord hl, 4, 2 ; coordinates of upper left corner of menu text box ld de,$090e ; height and width of menu text box ld a,[wListMenuID] and a ; is it a PC pokemon list? @@ -1446,7 +1446,7 @@ DisplayListMenuIDLoop:: ; 2c53 (0:2c53) call DelayFrames xor a ld [wCurrentMenuItem],a - hlCoord 5, 4 + coord hl, 5, 4 ld a,l ld [wMenuCursorLocation],a ld a,h @@ -1568,23 +1568,23 @@ DisplayListMenuIDLoop:: ; 2c53 (0:2c53) DisplayChooseQuantityMenu:: ; 2d57 (0:2d57) ; text box dimensions/coordinates for just quantity - hlCoord 15, 9 + coord hl, 15, 9 ld b,1 ; height ld c,3 ; width ld a,[wListMenuID] cp a,PRICEDITEMLISTMENU jr nz,.drawTextBox ; text box dimensions/coordinates for quantity and price - hlCoord 7, 9 + coord hl, 7, 9 ld b,1 ; height ld c,11 ; width .drawTextBox call TextBoxBorder - hlCoord 16, 10 + coord hl, 16, 10 ld a,[wListMenuID] cp a,PRICEDITEMLISTMENU jr nz,.printInitialQuantity - hlCoord 8, 10 + coord hl, 8, 10 .printInitialQuantity ld de,InitialQuantityText call PlaceString @@ -1624,7 +1624,7 @@ DisplayChooseQuantityMenu:: ; 2d57 (0:2d57) ld a,[wMaxItemQuantity] ld [hl],a .handleNewQuantity - hlCoord 17, 10 + coord hl, 17, 10 ld a,[wListMenuID] cp a,PRICEDITEMLISTMENU jr nz,.printQuantity @@ -1663,13 +1663,13 @@ DisplayChooseQuantityMenu:: ; 2d57 (0:2d57) ld a,[hDivideBCDQuotient + 2] ld [hMoney + 2],a .skipHalvingPrice - hlCoord 12, 10 + coord hl, 12, 10 ld de,SpacesBetweenQuantityAndPriceText call PlaceString ld de,hMoney ; total price ld c,$a3 call PrintBCDNumber - hlCoord 9, 10 + coord hl, 9, 10 .printQuantity ld de,wItemQuantity ; current quantity ld bc,$8102 ; print leading zeroes, 1 byte, 2 digits @@ -1708,7 +1708,7 @@ ExitListMenu:: ; 2e3b (0:2e3b) ret PrintListMenuEntries:: ; 2e5a (0:2e5a) - hlCoord 5, 3 + coord hl, 5, 3 ld b,$09 ld c,$0e call ClearScreenArea @@ -1733,7 +1733,7 @@ PrintListMenuEntries:: ; 2e5a (0:2e5a) jr nc,.noCarry inc d .noCarry - hlCoord 6, 4 ; coordinates of first list entry name + coord hl, 6, 4 ; coordinates of first list entry name ld b,4 ; print 4 names .loop ld a,b @@ -3011,7 +3011,7 @@ Func_35f4:: ; 35f4 (0:35f4) InitYesNoTextBoxParameters:: ; 35ff (0:35ff) xor a ; YES_NO_MENU ld [wTwoOptionMenuID], a - hlCoord 14, 7 + coord hl, 14, 7 ld bc, $80f ret @@ -3019,7 +3019,7 @@ YesNoChoicePokeCenter:: ; 360a (0:360a) call SaveScreenTilesToBuffer1 ld a, HEAL_CANCEL_MENU ld [wTwoOptionMenuID], a - hlCoord 11, 6 + coord hl, 11, 6 ld bc, $80c jr DisplayYesNoChoice @@ -3027,7 +3027,7 @@ Func_361a:: ; 361a (0:361a) call SaveScreenTilesToBuffer1 ld a, WIDE_YES_NO_MENU ld [wTwoOptionMenuID], a - hlCoord 12, 7 + coord hl, 12, 7 ld bc, $080d DisplayYesNoChoice:: ; 3628 (0:3628) ld a, TWO_OPTION_MENU @@ -3176,7 +3176,7 @@ UncompressSpriteFromDE:: ; 36eb (0:36eb) SaveScreenTilesToBuffer2:: ; 36f4 (0:36f4) - hlCoord 0, 0 + coord hl, 0, 0 ld de, wTileMapBackup2 ld bc, SCREEN_WIDTH * SCREEN_HEIGHT call CopyData @@ -3193,13 +3193,13 @@ LoadScreenTilesFromBuffer2DisableBGTransfer:: ; 3709 (0:3709) xor a ld [H_AUTOBGTRANSFERENABLED], a ld hl, wTileMapBackup2 - deCoord 0, 0 + coord de, 0, 0 ld bc, $168 call CopyData ret SaveScreenTilesToBuffer1:: ; 3719 (0:3719) - hlCoord 0, 0 + coord hl, 0, 0 ld de, wTileMapBackup ld bc, SCREEN_WIDTH * SCREEN_HEIGHT jp CopyData @@ -3208,7 +3208,7 @@ LoadScreenTilesFromBuffer1:: ; 3725 (0:3725) xor a ld [H_AUTOBGTRANSFERENABLED], a ld hl, wTileMapBackup - deCoord 0, 0 + coord de, 0, 0 ld bc, SCREEN_WIDTH * SCREEN_HEIGHT call CopyData ld a, $1 @@ -3470,7 +3470,7 @@ WaitForTextScrollButtonPress:: ; 3865 (0:3865) jr z, .skipAnimation call TownMapSpriteBlinkingAnimation .skipAnimation - hlCoord 18, 16 + coord hl, 18, 16 call HandleDownArrowBlinkTiming pop hl call JoypadLowSensitivity @@ -3946,7 +3946,7 @@ HandleMenuInputPokemonSelection:: ; 3ac2 (0:3ac2) and a ; was a key pressed? jr nz,.keyPressed push hl - hlCoord 18, 11 ; coordinates of blinking down arrow in some menus + coord hl, 18, 11 ; coordinates of blinking down arrow in some menus call HandleDownArrowBlinkTiming ; blink down arrow (if any) pop hl ld a,[wMenuJoypadPollCount] @@ -4037,7 +4037,7 @@ PlaceMenuCursor:: ; 3b7c (0:3b7c) ld a,[wTopMenuItemY] and a ; is the y coordinate 0? jr z,.adjustForXCoord - hlCoord 0, 0 + coord hl, 0, 0 ld bc,SCREEN_WIDTH .topMenuItemLoop add hl,bc @@ -4207,7 +4207,7 @@ PrintText:: ; 3c49 (0:3c49) call Delay3 pop hl Func_3c59:: ; 3c59 (0:3c59) - bcCoord 1, 14 + coord bc, 1, 14 jp TextCommandProcessor diff --git a/home/copy2.asm b/home/copy2.asm index f872ebbc..3f7a4400 100644 --- a/home/copy2.asm +++ b/home/copy2.asm @@ -184,17 +184,17 @@ CopyScreenTileBufferToVRAM:: ld c, 6 ld hl, $600 * 0 - deCoord 0, 6 * 0 + coord de, 0, 6 * 0 call .setup call DelayFrame ld hl, $600 * 1 - deCoord 0, 6 * 1 + coord de, 0, 6 * 1 call .setup call DelayFrame ld hl, $600 * 2 - deCoord 0, 6 * 2 + coord de, 0, 6 * 2 call .setup jp DelayFrame @@ -217,7 +217,7 @@ ClearScreen:: ; for the bg map to update. ld bc, 20 * 18 inc b - hlCoord 0, 0 + coord hl, 0, 0 ld a, $7f .loop ld [hli], a diff --git a/home/overworld.asm b/home/overworld.asm index da514763..0485335a 100644 --- a/home/overworld.asm +++ b/home/overworld.asm @@ -1420,7 +1420,7 @@ LoadCurrentMapView:: ; 0caa (0:0caa) ld bc,$0002 add hl,bc .copyToVisibleAreaBuffer - deCoord 0, 0 ; base address for the tiles that are directly transfered to VRAM during V-blank + coord de, 0, 0 ; base address for the tiles that are directly transfered to VRAM during V-blank ld b, SCREEN_HEIGHT .rowLoop2 ld c, SCREEN_WIDTH @@ -1693,7 +1693,7 @@ MoveTileBlockMapPointerNorth:: ; 0e85 (0:0e85) ; the portion of the map that was newly exposed due to the player's movement ScheduleNorthRowRedraw:: ; 0e91 (0:0e91) - hlCoord 0, 0 + coord hl, 0, 0 call CopyToScreenEdgeTiles ld a,[wMapViewVRAMPointer] ld [H_SCREENEDGEREDRAWADDR],a @@ -1715,7 +1715,7 @@ CopyToScreenEdgeTiles:: ; 0ea6 (0:0ea6) ret ScheduleSouthRowRedraw:: ; 0eb2 (0:0eb2) - hlCoord 0, 16 + coord hl, 0, 16 call CopyToScreenEdgeTiles ld a,[wMapViewVRAMPointer] ld l,a @@ -1734,7 +1734,7 @@ ScheduleSouthRowRedraw:: ; 0eb2 (0:0eb2) ret ScheduleEastColumnRedraw:: ; 0ed3 (0:0ed3) - hlCoord 18, 0 + coord hl, 18, 0 call ScheduleColumnRedrawHelper ld a,[wMapViewVRAMPointer] ld c,a @@ -1772,7 +1772,7 @@ ScheduleColumnRedrawHelper:: ; 0ef2 (0:0ef2) ret ScheduleWestColumnRedraw:: ; 0f08 (0:0f08) - hlCoord 0, 0 + coord hl, 0, 0 call ScheduleColumnRedrawHelper ld a,[wMapViewVRAMPointer] ld [H_SCREENEDGEREDRAWADDR],a @@ -2323,7 +2323,7 @@ LoadMapData:: ; 1241 (0:1241) call LoadTilesetTilePatternData call LoadCurrentMapView ; copy current map view to VRAM - hlCoord 0, 0 + coord hl, 0, 0 ld de,vBGMap0 ld b,18 .vramCopyLoop diff --git a/home/text.asm b/home/text.asm index ebdc83f4..7eb5148b 100644 --- a/home/text.asm +++ b/home/text.asm @@ -76,7 +76,7 @@ PlaceNextChar:: ; 1956 (0:1956) cp $4F jr nz,.next3 pop hl - hlCoord 1, 16 + coord hl, 1, 16 push hl jp PlaceNextChar_inc @@ -290,13 +290,13 @@ Char51:: ; 1ab4 (0:1ab4) Coorda 18, 16 call ProtectedDelay3 call ManualTextScroll - hlCoord 1, 13 + coord hl, 1, 13 ld bc,$0412 call ClearScreenArea ld c,20 call DelayFrames pop de - hlCoord 1, 14 + coord hl, 1, 14 jp PlaceNextChar_inc Char49:: ; 1ad5 (0:1ad5) @@ -305,14 +305,14 @@ Char49:: ; 1ad5 (0:1ad5) Coorda 18, 16 call ProtectedDelay3 call ManualTextScroll - hlCoord 1, 10 + coord hl, 1, 10 ld bc,$0712 call ClearScreenArea ld c,20 call DelayFrames pop de pop hl - hlCoord 1, 11 + coord hl, 1, 11 push hl jp PlaceNextChar_inc @@ -330,13 +330,13 @@ Char4C:: ; 1b0a (0:1b0a) push de call Next1B18 call Next1B18 - hlCoord 1, 16 + coord hl, 1, 16 pop de jp PlaceNextChar_inc Next1B18:: ; 1b18 (0:1b18) - hlCoord 0, 14 - deCoord 0, 13 + coord hl, 0, 14 + coord de, 0, 13 ld b,60 .next ld a,[hli] @@ -344,7 +344,7 @@ Next1B18:: ; 1b18 (0:1b18) inc de dec b jr nz,.next - hlCoord 1, 16 + coord hl, 1, 16 ld a, " " ld b,SCREEN_WIDTH - 2 .next2 @@ -499,7 +499,7 @@ TextCommand03:: ; 1bb7 (0:1bb7) ; (no arguments) TextCommand05:: ; 1bc5 (0:1bc5) pop hl - bcCoord 1, 16 ; address of second line of dialogue text box + coord bc, 1, 16 ; address of second line of dialogue text box jp NextTextCommand ; blink arrow and wait for A or B to be pressed @@ -528,7 +528,7 @@ TextCommand07:: ; 1be7 (0:1be7) call Next1B18 ; scroll up text call Next1B18 pop hl - bcCoord 1, 16 ; address of second line of dialogue text box + coord bc, 1, 16 ; address of second line of dialogue text box jp NextTextCommand ; execute asm inline diff --git a/home/vcopy.asm b/home/vcopy.asm index d42293d9..e90accb5 100644 --- a/home/vcopy.asm +++ b/home/vcopy.asm @@ -130,7 +130,7 @@ AutoBgMapTransfer:: ; 1d57 (0:1d57) dec a jr z,.transferMiddleThird .transferBottomThird - hlCoord 0, 12 + coord hl, 0, 12 ld sp,hl ld a,[H_AUTOBGTRANSFERDEST + 1] ld h,a @@ -141,7 +141,7 @@ AutoBgMapTransfer:: ; 1d57 (0:1d57) xor a ; TRANSFERTOP jr .doTransfer .transferTopThird - hlCoord 0, 0 + coord hl, 0, 0 ld sp,hl ld a,[H_AUTOBGTRANSFERDEST + 1] ld h,a @@ -150,7 +150,7 @@ AutoBgMapTransfer:: ; 1d57 (0:1d57) ld a,TRANSFERMIDDLE jr .doTransfer .transferMiddleThird - hlCoord 0, 6 + coord hl, 0, 6 ld sp,hl ld a,[H_AUTOBGTRANSFERDEST + 1] ld h,a diff --git a/macros.asm b/macros.asm index a25c0006..10317246 100644 --- a/macros.asm +++ b/macros.asm @@ -67,22 +67,11 @@ bcd3: MACRO coins equs "bcd2" money equs "bcd3" -;\1 = X -;\2 = Y -hlCoord: MACRO - ld hl, wTileMap + 20 * \2 + \1 - ENDM - -;\1 = X -;\2 = Y -deCoord: MACRO - ld de, wTileMap + 20 * \2 + \1 - ENDM - -;\1 = X -;\2 = Y -bcCoord: MACRO - ld bc, wTileMap + 20 * \2 + \1 +;\1 = r +;\2 = X +;\3 = Y +coord: MACRO + ld \1, wTileMap + 20 * \3 + \2 ENDM ;\1 = X diff --git a/main.asm b/main.asm index 9ceb5f81..08747a5a 100755 --- a/main.asm +++ b/main.asm @@ -158,7 +158,7 @@ INCLUDE "engine/overworld/oam.asm" INCLUDE "engine/oam_dma.asm" PrintWaitingText: - hlCoord 3, 10 + coord hl, 3, 10 ld b, $1 ld c, $b ld a, [W_ISINBATTLE] @@ -169,7 +169,7 @@ PrintWaitingText: .asm_4c17 call CableClub_TextBoxBorder .asm_4c1a - hlCoord 4, 11 + coord hl, 4, 11 ld de, WaitingText call PlaceString ld c, 50 @@ -1005,18 +1005,18 @@ DisplayTextIDInit: ; 7096 (1:7096) ld a,[wd74b] bit 5,a ; does the player have the pokedex? ; start menu with pokedex - hlCoord 10, 0 + coord hl, 10, 0 ld b,$0e ld c,$08 jr nz,.drawTextBoxBorder ; start menu without pokedex - hlCoord 10, 0 + coord hl, 10, 0 ld b,$0c ld c,$08 jr .drawTextBoxBorder ; if text ID is not 0 (i.e. not the start menu) then do a standard dialogue text box .notStartMenu - hlCoord 0, 12 + coord hl, 0, 12 ld b,$04 ld c,$12 .drawTextBoxBorder @@ -1074,12 +1074,12 @@ DrawStartMenu: ; 710b (1:710b) ld a,[wd74b] bit 5,a ; does the player have the pokedex? ; menu with pokedex - hlCoord 10, 0 + coord hl, 10, 0 ld b,$0e ld c,$08 jr nz,.drawTextBoxBorder ; shorter menu if the player doesn't have the pokedex - hlCoord 10, 0 + coord hl, 10, 0 ld b,$0c ld c,$08 .drawTextBoxBorder @@ -1097,7 +1097,7 @@ DrawStartMenu: ; 710b (1:710b) ld [wMenuWatchMovingOutOfBounds],a ld hl,wd730 set 6,[hl] ; no pauses between printing each letter - hlCoord 12, 2 + coord hl, 12, 2 ld a,[wd74b] bit 5,a ; does the player have the pokedex? ; case for not having pokdex @@ -1276,7 +1276,7 @@ GetTextBoxIDText: ; 7367 (1:7367) ; hl = address of upper left corner of text box GetAddressOfScreenCoords: ; 7375 (1:7375) push bc - hlCoord 0, 0 + coord hl, 0, 0 ld bc,20 .loop ; loop to add d rows to the base address ld a,d @@ -1437,11 +1437,11 @@ DisplayMoneyBox: ; 74ba (1:74ba) ld a, MONEY_BOX_TEMPLATE ld [wTextBoxID], a call DisplayTextBoxID - hlCoord 13, 1 + coord hl, 13, 1 ld b, $1 ld c, $6 call ClearScreenArea - hlCoord 12, 1 + coord hl, 12, 1 ld de, wPlayerMoney ld c, $a3 call PrintBCDNumber @@ -1734,14 +1734,14 @@ DisplayFieldMoveMonMenu: ; 76e1 (1:76e1) jr nz, .fieldMovesExist ; no field moves - hlCoord 11, 11 + coord hl, 11, 11 ld b, 5 ld c, 7 call TextBoxBorder call UpdateSprites ld a, 12 ld [hFieldMoveMonMenuTopMenuItemX], a - hlCoord 13, 12 + coord hl, 13, 12 ld de, PokemonMenuEntries jp PlaceString @@ -1750,7 +1750,7 @@ DisplayFieldMoveMonMenu: ; 76e1 (1:76e1) ; Calculate the text box position and dimensions based on the leftmost X coord ; of the field move names before adjusting for the number of field moves. - hlCoord 0, 11 + coord hl, 0, 11 ld a, [wFieldMovesLeftmostXCoord] dec a ld e, a @@ -1781,7 +1781,7 @@ DisplayFieldMoveMonMenu: ; 76e1 (1:76e1) call UpdateSprites ; Calculate the position of the first field move name to print. - hlCoord 0, 12 + coord hl, 0, 12 ld a, [wFieldMovesLeftmostXCoord] inc a ld e, a @@ -1830,7 +1830,7 @@ DisplayFieldMoveMonMenu: ; 76e1 (1:76e1) pop hl ld a, [wFieldMovesLeftmostXCoord] ld [hFieldMoveMonMenuTopMenuItemX], a - hlCoord 0, 12 + coord hl, 0, 12 ld a, [wFieldMovesLeftmostXCoord] inc a ld e, a @@ -2316,28 +2316,28 @@ PrintSafariZoneSteps: ; c52f (3:452f) ret c cp UNKNOWN_DUNGEON_2 ret nc - hlCoord 0, 0 + coord hl, 0, 0 ld b, $3 ld c, $7 call TextBoxBorder - hlCoord 1, 1 + coord hl, 1, 1 ld de, wSafariSteps ld bc, $203 call PrintNumber - hlCoord 4, 1 + coord hl, 4, 1 ld de, SafariSteps call PlaceString - hlCoord 1, 3 + coord hl, 1, 3 ld de, SafariBallText call PlaceString ld a, [W_NUMSAFARIBALLS] cp $a jr nc, .asm_c56d - hlCoord 5, 3 + coord hl, 5, 3 ld a, $7f ld [hl], a .asm_c56d - hlCoord 6, 3 + coord hl, 6, 3 ld de, W_NUMSAFARIBALLS ld bc, $102 jp PrintNumber @@ -3025,11 +3025,11 @@ DrawBadges: ; ea03 (3:6a03) ld [hli], a ld [hl], $60 ; First name - hlCoord 2, 11 + coord hl, 2, 11 ld de, wTempObtainedBadgesBooleans call .DrawBadgeRow - hlCoord 2, 14 + coord hl, 2, 14 ld de, wTempObtainedBadgesBooleans + 4 ; call .DrawBadgeRow ; ret diff --git a/scripts/bikeshop.asm b/scripts/bikeshop.asm index 55ceb5cc..6779d9f6 100755 --- a/scripts/bikeshop.asm +++ b/scripts/bikeshop.asm @@ -51,15 +51,15 @@ BikeShopText1: ; 1d745 (7:5745) ld [wTopMenuItemX], a ld hl, wd730 set 6, [hl] - hlCoord 0, 0 + 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 diff --git a/scripts/celadongamecorner.asm b/scripts/celadongamecorner.asm index b9c006d1..519c0c67 100755 --- a/scripts/celadongamecorner.asm +++ b/scripts/celadongamecorner.asm @@ -480,32 +480,32 @@ CeladonGameCornerText_48f19: ; 48f19 (12:4f19) CeladonGameCornerScript_48f1e: ; 48f1e (12:4f1e) 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 + 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 diff --git a/scripts/celadonmartroof.asm b/scripts/celadonmartroof.asm index 8b6ff60f..b0afbee0 100755 --- a/scripts/celadonmartroof.asm +++ b/scripts/celadonmartroof.asm @@ -63,7 +63,7 @@ CeladonMartRoofScript_4840c: ; 4840c (12:440c) dec l ld b, l ld c, $c - hlCoord 0, 0 + coord hl, 0, 0 call TextBoxBorder call UpdateSprites call CeladonMartRoofScript_48532 @@ -200,7 +200,7 @@ CeladonMartRoofScript_48532: ; 48532 (12:4532) push hl ld [wd11e], a call GetItemName - hlCoord 2, 2 + coord hl, 2, 2 ld a, [$ffdb] ld bc, SCREEN_WIDTH * 2 call AddNTimes diff --git a/scripts/vermiliondock.asm b/scripts/vermiliondock.asm index 361f4997..a8cf3b8d 100755 --- a/scripts/vermiliondock.asm +++ b/scripts/vermiliondock.asm @@ -53,7 +53,7 @@ VermilionDock_1db9b: ; 1db9b (7:5b9b) call DelayFrames ld b, $9c call CopyScreenTileBufferToVRAM - hlCoord 0, 10 + coord hl, 0, 10 ld bc, $0078 ld a, $14 call FillMemory -- cgit v1.3.1-sl0p From c169073eed4f0362ef42170098a141a2fcbd71d0 Mon Sep 17 00:00:00 2001 From: YamaArashi Date: Sat, 18 Jul 2015 20:49:52 -0700 Subject: misc --- constants/misc_constants.asm | 1 - engine/HoF_room_pc.asm | 2 +- engine/battle/animations.asm | 10 +- engine/battle/core.asm | 2 +- engine/battle/experience.asm | 2 +- engine/battle/init_battle_variables.asm | 2 +- engine/cable_club.asm | 2 +- engine/evolution.asm | 67 ++++++------ engine/evos_moves.asm | 68 +++++++----- engine/experience.asm | 84 ++++++++------- engine/game_corner_slots.asm | 2 +- engine/game_corner_slots2.asm | 4 +- engine/give_pokemon.asm | 25 +++-- engine/hidden_object_functions17.asm | 6 +- engine/hidden_object_functions7.asm | 2 +- engine/items/itemfinder.asm | 32 +++--- engine/items/items.asm | 36 +++---- engine/menu/league_pc.asm | 8 +- engine/menu/main_menu.asm | 120 +++++++++++---------- engine/menu/pokedex.asm | 18 ++-- engine/menu/prize_menu.asm | 10 +- engine/menu/status_screen.asm | 43 ++++---- engine/oak_speech.asm | 4 +- engine/oam_dma.asm | 2 +- engine/overworld/hidden_items.asm | 44 ++++---- engine/overworld/hidden_objects.asm | 10 +- engine/overworld/movement.asm | 17 ++- engine/palettes.asm | 46 ++++---- engine/predefs.asm | 8 +- engine/save.asm | 181 +++++++++++++++++--------------- engine/slot_machine.asm | 2 +- engine/titlescreen.asm | 2 +- home/init.asm | 16 +-- hram.asm | 4 + macros.asm | 2 +- main.asm | 8 +- scripts/agatha.asm | 2 +- scripts/bruno.asm | 2 +- scripts/ceruleancity.asm | 2 +- scripts/daycarem.asm | 144 +++++++++++++------------ scripts/lance.asm | 2 +- scripts/lorelei.asm | 2 +- scripts/mansion3.asm | 2 +- scripts/mtmoonpokecenter.asm | 36 +++---- scripts/museum1f.asm | 8 +- scripts/oakslab.asm | 20 ++-- scripts/pewterpokecenter.asm | 34 +++--- scripts/safarizoneentrance.asm | 2 +- scripts/seafoamislands1.asm | 4 +- scripts/seafoamislands2.asm | 4 +- scripts/seafoamislands3.asm | 4 +- scripts/seafoamislands4.asm | 4 +- scripts/seafoamislands5.asm | 4 +- scripts/silphco7.asm | 2 +- scripts/vermiliondock.asm | 47 +++++---- scripts/victoryroad2.asm | 2 +- scripts/victoryroad3.asm | 8 +- sram.asm | 8 +- text/maps/daycare_1.asm | 20 ++-- text/maps/daycare_2.asm | 14 +-- wram.asm | 86 +++++++++++++-- 61 files changed, 743 insertions(+), 612 deletions(-) (limited to 'scripts/vermiliondock.asm') diff --git a/constants/misc_constants.asm b/constants/misc_constants.asm index 5eecb38f..c06e7a65 100644 --- a/constants/misc_constants.asm +++ b/constants/misc_constants.asm @@ -10,7 +10,6 @@ HOF_MON EQU $10 HOF_TEAM EQU PARTY_LENGTH * HOF_MON HOF_TEAM_CAPACITY EQU 50 - A_BUTTON EQU %00000001 B_BUTTON EQU %00000010 SELECT EQU %00000100 diff --git a/engine/HoF_room_pc.asm b/engine/HoF_room_pc.asm index dc05814a..06c926db 100755 --- a/engine/HoF_room_pc.asm +++ b/engine/HoF_room_pc.asm @@ -29,7 +29,7 @@ HallOfFamePC: ; 7405c (1d:405c) ld c, 128 call DelayFrames xor a - ld [wWhichTrade], a + ld [wNumCreditsMonsDisplayed - 1], a ; not read ld [wNumCreditsMonsDisplayed], a jp Credits diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm index 6803c38b..d21e07e5 100755 --- a/engine/battle/animations.asm +++ b/engine/battle/animations.asm @@ -796,9 +796,9 @@ DoBallShakeSpecialEffects: ; 78f96 (1e:4f96) dec a ret nz ; if it's the end of the ball shaking subanimation, check if more shakes are left and restart the subanimation - ld a,[wWhichTrade] ; number of shakes + ld a,[wNumShakes] ; number of shakes dec a ; decrement number of shakes - ld [wWhichTrade],a + ld [wNumShakes],a ret z ; if there are shakes left, restart the subanimation ld a,[W_SUBANIMSUBENTRYADDR] @@ -1998,11 +1998,11 @@ AnimationWavyScreen: ; 79666 (1e:5666) ret Func_796ae: ; 796ae (1e:56ae) - ld a, [$ff41] + ld a, [rSTAT] and $3 jr nz, Func_796ae ld a, [hl] - ld [$ff43], a + ld [rSCX], a inc hl ld a, [hl] cp d @@ -2895,7 +2895,7 @@ TossBallAnimation: ; 79e16 (1e:5e16) ; store these for later ld a,b and a,$F - ld [wWhichTrade],a + ld [wNumShakes],a ld hl,.PokeBallAnimations ; choose which toss animation to use diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 5deeb4dc..3cf3c9e9 100755 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -6298,7 +6298,7 @@ LoadEnemyMonData: ; 3eb01 (f:6b01) dec de dec de xor a - ld [wHPBarMaxHP], a + ld [wLearningMovesFromDayCare], a predef WriteMonMoves ; get moves based on current level .loadMovePPs ld hl, wEnemyMonMoves diff --git a/engine/battle/experience.asm b/engine/battle/experience.asm index 11a1e87c..6ec8c463 100644 --- a/engine/battle/experience.asm +++ b/engine/battle/experience.asm @@ -254,7 +254,7 @@ GainExperience: ; 5524f (15:524f) ld a, [wd0b5] ld [wd11e], a predef LearnMoveFromLevelUp - ld hl, wccd3 + ld hl, wCanEvolveFlags ld a, [wWhichPokemon] ld c, a ld b, $1 diff --git a/engine/battle/init_battle_variables.asm b/engine/battle/init_battle_variables.asm index 74df62aa..f10e9f5e 100644 --- a/engine/battle/init_battle_variables.asm +++ b/engine/battle/init_battle_variables.asm @@ -19,7 +19,7 @@ InitBattleVariables: ; 525af (14:65af) ld hl, wcf1d ld [hli], a ld [hl], a - ld hl, wccd3 + ld hl, wCanEvolveFlags ld b, $3c .loop ld [hli], a diff --git a/engine/cable_club.asm b/engine/cable_club.asm index fbdb6260..9ccffdbb 100755 --- a/engine/cable_club.asm +++ b/engine/cable_club.asm @@ -297,7 +297,7 @@ CallCurrentTradeCenterFunction: ld b, 0 ld a, [wTradeCenterPointerTableIndex] cp $ff - jp z, LoadTitlescreenGraphics + jp z, DisplayTitleScreen add a ld c, a add hl, bc diff --git a/engine/evolution.asm b/engine/evolution.asm index 9ed38c21..d110110a 100755 --- a/engine/evolution.asm +++ b/engine/evolution.asm @@ -20,11 +20,11 @@ EvolveMon: ; 7bde9 (1e:7de9) xor a ld [H_AUTOBGTRANSFERENABLED], a ld [hTilesetType], a - ld a, [wHPBarMaxHP] + ld a, [wEvoOldSpecies] ld [wcf1d], a ld c, $0 call EvolutionSetWholeScreenPalette - ld a, [wHPBarMaxHP + 1] + ld a, [wEvoNewSpecies] ld [wcf91], a ld [wd0b5], a call Evolution_LoadPic @@ -32,13 +32,13 @@ EvolveMon: ; 7bde9 (1e:7de9) ld hl, vBackPic ld bc, 7 * 7 call CopyVideoData - ld a, [wHPBarMaxHP] + ld a, [wEvoOldSpecies] ld [wcf91], a ld [wd0b5], a call Evolution_LoadPic ld a, $1 ld [H_AUTOBGTRANSFERENABLED], a - ld a, [wHPBarMaxHP] + ld a, [wEvoOldSpecies] call PlayCry call WaitForSoundToFinish ld c, BANK(Music_SafariZone) @@ -49,23 +49,23 @@ EvolveMon: ; 7bde9 (1e:7de9) ld c, $1 call EvolutionSetWholeScreenPalette ld bc, $110 -.asm_7be63 +.animLoop push bc call Evolution_CheckForCancel jr c, .evolutionCancelled - call Func_7bec2 + call Evolution_BackAndForthAnim pop bc inc b dec c dec c - jr nz, .asm_7be63 + jr nz, .animLoop xor a - ld [wHPBarOldHP + 1], a + ld [wEvoCancelled], a ld a, $31 - ld [wHPBarOldHP], a - call Func_7bed6 - ld a, [wHPBarMaxHP + 1] -.afterCancellation + ld [wEvoMonTileOffset], a + call Evolution_ChangeMonPic ; show the new species pic + ld a, [wEvoNewSpecies] +.done ld [wcf1d], a ld a, $ff ld [wc0ee], a @@ -81,17 +81,17 @@ EvolveMon: ; 7bde9 (1e:7de9) pop bc pop de pop hl - ld a, [wHPBarOldHP + 1] + ld a, [wEvoCancelled] and a ret z scf ret .evolutionCancelled pop bc - ld a, $1 - ld [wHPBarOldHP + 1], a - ld a, [wHPBarMaxHP] - jr .afterCancellation + ld a, 1 + ld [wEvoCancelled], a + ld a, [wEvoOldSpecies] + jr .done EvolutionSetWholeScreenPalette: ; 7beb4 (1e:7eb4) ld b, $b @@ -102,37 +102,38 @@ Evolution_LoadPic: ; 7beb9 (1e:7eb9) coord hl, 7, 2 jp LoadFlippedFrontSpriteByMonIndex -Func_7bec2: ; 7bec2 (1e:7ec2) +Evolution_BackAndForthAnim: ; 7bec2 (1e:7ec2) +; show the mon change back and forth between the new and old species b times ld a, $31 - ld [wHPBarOldHP], a - call Func_7bed6 - ld a, $cf - ld [wHPBarOldHP], a - call Func_7bed6 + ld [wEvoMonTileOffset], a + call Evolution_ChangeMonPic + ld a, -$31 + ld [wEvoMonTileOffset], a + call Evolution_ChangeMonPic dec b - jr nz, Func_7bec2 + jr nz, Evolution_BackAndForthAnim ret -Func_7bed6: ; 7bed6 (1e:7ed6) +Evolution_ChangeMonPic: ; 7bed6 (1e:7ed6) push bc xor a ld [H_AUTOBGTRANSFERENABLED], a coord hl, 7, 2 - ld bc, $707 - ld de, $d -.asm_7bee3 + lb bc, 7, 7 + ld de, SCREEN_WIDTH - 7 +.loop push bc -.asm_7bee4 - ld a, [wHPBarOldHP] +.innerLoop + ld a, [wEvoMonTileOffset] add [hl] ld [hli], a dec c - jr nz, .asm_7bee4 + jr nz, .innerLoop pop bc add hl, de dec b - jr nz, .asm_7bee3 - ld a, $1 + jr nz, .loop + ld a, 1 ld [H_AUTOBGTRANSFERENABLED], a call Delay3 pop bc diff --git a/engine/evos_moves.asm b/engine/evos_moves.asm index 4a253c68..9a0f2d84 100755 --- a/engine/evos_moves.asm +++ b/engine/evos_moves.asm @@ -1,6 +1,6 @@ ; try to evolve the mon in [wWhichPokemon] TryEvolvingMon: ; 3ad0e (e:6d0e) - ld hl, wccd3 + ld hl, wCanEvolveFlags xor a ld [hl], a ld a, [wWhichPokemon] @@ -31,17 +31,17 @@ Evolution_PartyMonLoop: ; loop over party mons ld a, [hl] cp $ff ; have we reached the end of the party? jp z, .done - ld [wHPBarMaxHP], a + ld [wEvoOldSpecies], a push hl ld a, [wWhichPokemon] ld c, a - ld hl, wccd3 + ld hl, wCanEvolveFlags ld b, $2 call Evolution_FlagAction ld a, c and a ; is the mon's bit set? jp z, Evolution_PartyMonLoop ; if not, go to the next mon - ld a, [wHPBarMaxHP] + ld a, [wEvoOldSpecies] dec a ld b, 0 ld hl, EvosMovesPointerTable @@ -110,7 +110,7 @@ Evolution_PartyMonLoop: ; loop over party mons ld [wd121], a push hl ld a, [hl] - ld [wHPBarMaxHP + 1], a + ld [wEvoNewSpecies], a ld a, [wWhichPokemon] ld hl, wPartyMonNicks call GetPartyMonName @@ -122,7 +122,7 @@ Evolution_PartyMonLoop: ; loop over party mons xor a ld [H_AUTOBGTRANSFERENABLED], a coord hl, 0, 0 - ld bc, $c14 + lb bc, 12, 20 call ClearScreenArea ld a, $1 ld [H_AUTOBGTRANSFERENABLED], a @@ -137,7 +137,7 @@ Evolution_PartyMonLoop: ; loop over party mons ld a, [hl] ld [wd0b5], a ld [wLoadedMonSpecies], a - ld [wHPBarMaxHP + 1], a + ld [wEvoNewSpecies], a ld a, MONSTER_NAME ld [wNameListType], a ld a, BANK(TrainerNames) ; bank is not used for monster names @@ -357,7 +357,7 @@ LearnMoveFromLevelUp: ; 3af5b (e:6f5b) ld bc, wPartyMon2 - wPartyMon1 call AddNTimes .next - ld b, $4 + ld b, NUM_MOVES .checkCurrentMovesLoop ; check if the move to learn is already known ld a, [hli] cp d @@ -377,14 +377,13 @@ LearnMoveFromLevelUp: ; 3af5b (e:6f5b) ; writes the moves a mon has at level [W_CURENEMYLVL] to [de] ; move slots are being filled up sequentially and shifted if all slots are full -; [wHPBarMaxHP]: (?) WriteMonMoves: ; 3afb8 (e:6fb8) call GetPredefRegisters push hl push de push bc ld hl, EvosMovesPointerTable - ld b, $0 + ld b, 0 ld a, [wcf91] ; cur mon ID dec a add a @@ -411,25 +410,30 @@ WriteMonMoves: ; 3afb8 (e:6fb8) ld a, [W_CURENEMYLVL] cp b jp c, .done ; mon level < move level (assumption: learnset is sorted by level) - ld a, [wHPBarMaxHP] + ld a, [wLearningMovesFromDayCare] and a jr z, .skipMinLevelCheck - ld a, [wWhichTrade] ; min move level) + ld a, [wDayCareStartLevel] cp b jr nc, .nextMove2 ; min level >= move level + .skipMinLevelCheck + +; check if the move is already known push de - ld c, $4 -.moveAlreadyLearnedCheckLoop + ld c, NUM_MOVES +.alreadyKnowsCheckLoop ld a, [de] inc de cp [hl] jr z, .nextMove dec c - jr nz, .moveAlreadyLearnedCheckLoop + jr nz, .alreadyKnowsCheckLoop + +; try to find an empty move slot pop de push de - ld c, $4 + ld c, NUM_MOVES .findEmptySlotLoop ld a, [de] and a @@ -437,47 +441,55 @@ WriteMonMoves: ; 3afb8 (e:6fb8) inc de dec c jr nz, .findEmptySlotLoop - pop de ; no empty move slots found + +; no empty move slots found + pop de push de push hl ld h, d ld l, e call WriteMonMoves_ShiftMoveData ; shift all moves one up (deleting move 1) - ld a, [wHPBarMaxHP] + ld a, [wLearningMovesFromDayCare] and a jr z, .writeMoveToSlot + +; shift PP as well if learning moves from day care push de - ld bc, $12 + ld bc, wPartyMon1PP - (wPartyMon1Moves + 3) add hl, bc ld d, h ld e, l call WriteMonMoves_ShiftMoveData ; shift all move PP data one up pop de + .writeMoveToSlot pop hl .writeMoveToSlot2 ld a, [hl] ld [de], a - ld a, [wHPBarMaxHP] + ld a, [wLearningMovesFromDayCare] and a jr z, .nextMove - push hl ; write move PP value + +; write move PP value if learning moves from day care + push hl ld a, [hl] - ld hl, $15 + ld hl, wPartyMon1PP - wPartyMon1Moves add hl, de push hl dec a ld hl, Moves - ld bc, $6 + ld bc, 6 call AddNTimes - ld de, wHPBarMaxHP + ld de, wBuffer ld a, BANK(Moves) call FarCopyData - ld a, [wHPBarNewHP + 1] + ld a, [wBuffer + 5] pop hl ld [hl], a pop hl jr .nextMove + .done pop bc pop de @@ -486,13 +498,13 @@ WriteMonMoves: ; 3afb8 (e:6fb8) ; shifts all move data one up (freeing 4th move slot) WriteMonMoves_ShiftMoveData: ; 3b04e (e:704e) - ld c, $3 -.asm_3b050 + ld c, NUM_MOVES - 1 +.loop inc de ld a, [de] ld [hli], a dec c - jr nz, .asm_3b050 + jr nz, .loop ret Evolution_FlagAction: ; 3b057 (e:7057) diff --git a/engine/experience.asm b/engine/experience.asm index 752536cf..b43fbcf9 100755 --- a/engine/experience.asm +++ b/engine/experience.asm @@ -10,15 +10,15 @@ CalcLevelFromExperience: ; 58f43 (16:4f43) push hl ld hl, wLoadedMonExp + 2 ; current exp ; compare exp needed for level d with current exp - ld a, [H_MULTIPLICAND + 2] + ld a, [hExperience + 2] ld c, a ld a, [hld] sub c - ld a, [H_MULTIPLICAND + 1] + ld a, [hExperience + 1] ld c, a ld a, [hld] sbc c - ld a, [H_MULTIPLICAND] + ld a, [hExperience] ld c, a ld a, [hl] sbc c @@ -33,7 +33,7 @@ CalcExperience: ; 58f6a (16:4f6a) add a add a ld c, a - ld b, $0 + ld b, 0 ld hl, GrowthRateTable add hl, bc call CalcDSquared @@ -50,96 +50,100 @@ CalcExperience: ; 58f6a (16:4f6a) ld [H_DIVISOR], a ld b, $4 call Divide - ld a, [H_MULTIPLICAND] ; (aliases: H_NUMTOPRINT) + ld a, [H_QUOTIENT + 1] push af - ld a, [H_MULTIPLICAND+1] + ld a, [H_QUOTIENT + 2] push af - ld a, [H_MULTIPLICAND+2] + ld a, [H_QUOTIENT + 3] push af call CalcDSquared ld a, [hl] and $7f ld [H_MULTIPLIER], a call Multiply - ld a, [H_MULTIPLICAND] ; (aliases: H_NUMTOPRINT) + ld a, [H_PRODUCT + 1] push af - ld a, [H_MULTIPLICAND+1] + ld a, [H_PRODUCT + 2] push af - ld a, [H_MULTIPLICAND+2] + ld a, [H_PRODUCT + 3] push af ld a, [hli] push af xor a ld [H_MULTIPLICAND], a - ld [H_MULTIPLICAND+1], a + ld [H_MULTIPLICAND + 1], a ld a, d - ld [H_MULTIPLICAND+2], a + ld [H_MULTIPLICAND + 2], a ld a, [hli] ld [H_MULTIPLIER], a call Multiply ld b, [hl] - ld a, [H_MULTIPLICAND+2] + ld a, [H_PRODUCT + 3] sub b - ld [H_MULTIPLICAND+2], a + ld [H_PRODUCT + 3], a ld b, $0 - ld a, [H_MULTIPLICAND+1] + ld a, [H_PRODUCT + 2] sbc b - ld [H_MULTIPLICAND+1], a - ld a, [H_MULTIPLICAND] + ld [H_PRODUCT + 2], a + ld a, [H_PRODUCT + 1] sbc b - ld [H_MULTIPLICAND], a + ld [H_PRODUCT + 1], a +; The difference of the linear term and the constant term consists of 3 bytes +; starting at H_PRODUCT + 1. Below, hExperience (an alias of that address) will +; be used instead for the further work of adding or subtracting the squared +; term and adding the cubed term. pop af and $80 jr nz, .subtractSquaredTerm ; check sign pop bc - ld a, [H_MULTIPLICAND+2] + ld a, [hExperience + 2] add b - ld [H_MULTIPLICAND+2], a + ld [hExperience + 2], a pop bc - ld a, [H_MULTIPLICAND+1] + ld a, [hExperience + 1] adc b - ld [H_MULTIPLICAND+1], a + ld [hExperience + 1], a pop bc - ld a, [H_MULTIPLICAND] + ld a, [hExperience] adc b - ld [H_MULTIPLICAND], a + ld [hExperience], a jr .addCubedTerm .subtractSquaredTerm pop bc - ld a, [H_MULTIPLICAND+2] + ld a, [hExperience + 2] sub b - ld [H_MULTIPLICAND+2], a + ld [hExperience + 2], a pop bc - ld a, [H_MULTIPLICAND+1] + ld a, [hExperience + 1] sbc b - ld [H_MULTIPLICAND+1], a + ld [hExperience + 1], a pop bc - ld a, [H_MULTIPLICAND] + ld a, [hExperience] sbc b - ld [H_MULTIPLICAND], a + ld [hExperience], a .addCubedTerm pop bc - ld a, [H_MULTIPLICAND+2] + ld a, [hExperience + 2] add b - ld [H_MULTIPLICAND+2], a + ld [hExperience + 2], a pop bc - ld a, [H_MULTIPLICAND+1] + ld a, [hExperience + 1] adc b - ld [H_MULTIPLICAND+1], a + ld [hExperience + 1], a pop bc - ld a, [H_MULTIPLICAND] + ld a, [hExperience] adc b - ld [H_MULTIPLICAND], a + ld [hExperience], a ret ; calculates d*d CalcDSquared: ; 59010 (16:5010) xor a - ld [H_MULTIPLICAND], a ; (aliases: H_NUMTOPRINT) - ld [H_MULTIPLICAND+1], a + ld [H_MULTIPLICAND], a + ld [H_MULTIPLICAND + 1], a ld a, d - ld [H_MULTIPLICAND+2], a - ld [H_MULTIPLIER], a ; (aliases: H_DIVISOR, H_REMAINDER, H_POWEROFTEN) + ld [H_MULTIPLICAND + 2], a + ld [H_MULTIPLIER], a jp Multiply ; each entry has the following scheme: diff --git a/engine/game_corner_slots.asm b/engine/game_corner_slots.asm index b3b2490c..ff17d4d3 100755 --- a/engine/game_corner_slots.asm +++ b/engine/game_corner_slots.asm @@ -7,7 +7,7 @@ StartSlotMachine: ; 37e2d (d:7e2d) cp $ff jr z, .printSomeonesKeys callba AbleToPlaySlotsCheck - ld a, [wHiddenObjectFunctionArgument] + ld a, [wCanPlaySlots] and a ret z ld a, [wLuckySlotHiddenObjectIndex] diff --git a/engine/game_corner_slots2.asm b/engine/game_corner_slots2.asm index 850b1f99..643536ea 100755 --- a/engine/game_corner_slots2.asm +++ b/engine/game_corner_slots2.asm @@ -1,4 +1,4 @@ -AbleToPlaySlotsCheck ; 2ff09 (b:7f09) +AbleToPlaySlotsCheck: ; 2ff09 (b:7f09) ld a, [wSpriteStateData1 + 2] and $8 jr z, .done ; not able @@ -19,7 +19,7 @@ AbleToPlaySlotsCheck ; 2ff09 (b:7f09) call PrintPredefTextID xor a .done - ld [wWhichTrade], a + ld [wCanPlaySlots], a ret GameCornerCoinCaseText: ; 2ff32 (b:7f32) diff --git a/engine/give_pokemon.asm b/engine/give_pokemon.asm index 45e88b9c..4b45631d 100755 --- a/engine/give_pokemon.asm +++ b/engine/give_pokemon.asm @@ -1,13 +1,16 @@ _GivePokemon: ; 4fda5 (13:7da5) +; returns success in carry +; and whether the mon was added to the party in [wAddedToParty] call EnableAutoTextBoxDrawing xor a - ld [wccd3], a + ld [wAddedToParty], a ld a, [wPartyCount] cp PARTY_LENGTH - jr c, .asm_4fe01 + jr c, .addToParty ld a, [W_NUMINBOX] cp MONS_PER_BOX - jr nc, .asm_4fdf9 + jr nc, .boxFull +; add to box xor a ld [W_ENEMYBATTSTATUS3], a ld a, [wcf91] @@ -19,32 +22,32 @@ _GivePokemon: ; 4fda5 (13:7da5) ld a, [wCurrentBoxNum] and $7f cp 9 - jr c, .asm_4fdec + jr c, .singleDigitBoxNum sub 9 ld [hl], "1" inc hl add "0" - jr .asm_4fdee -.asm_4fdec + jr .next +.singleDigitBoxNum add "1" -.asm_4fdee +.next ld [hli], a ld [hl], "@" ld hl, SetToBoxText call PrintText scf ret -.asm_4fdf9 +.boxFull ld hl, BoxIsFullText call PrintText and a ret -.asm_4fe01 +.addToParty call SetPokedexOwnedFlag call AddPartyMon - ld a, $1 + ld a, 1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld [wccd3], a + ld [wAddedToParty], a scf ret diff --git a/engine/hidden_object_functions17.asm b/engine/hidden_object_functions17.asm index 841929b8..44941d36 100755 --- a/engine/hidden_object_functions17.asm +++ b/engine/hidden_object_functions17.asm @@ -55,7 +55,7 @@ KabutopsFossilText: ; 5dbd4 (17:5bd4) DisplayMonFrontSpriteInBox: ; 5dbd9 (17:5bd9) ; Displays a pokemon's front sprite in a pop-up window. ; [wcf91] = pokemon interal id number - ld a, $1 + ld a, 1 ld [H_AUTOBGTRANSFERENABLED], a call Delay3 xor a @@ -85,7 +85,7 @@ PrintBlackboardLinkCableText: ; 5dc1a (17:5c1a) call EnableAutoTextBoxDrawing ld a, $1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld a, [wWhichTrade] + ld a, [wHiddenObjectFunctionArgument] call PrintPredefTextID ret @@ -310,7 +310,7 @@ VermilionGymTrashText: ; 5ddf7 (17:5df7) GymTrashScript: ; 5ddfc (17:5dfc) call EnableAutoTextBoxDrawing - ld a, [wWhichTrade] + ld a, [wHiddenObjectFunctionArgument] ld [wcd5b], a ; Don't do the trash can puzzle if it's already been done. diff --git a/engine/hidden_object_functions7.asm b/engine/hidden_object_functions7.asm index 31ae17a4..8e8b27b1 100755 --- a/engine/hidden_object_functions7.asm +++ b/engine/hidden_object_functions7.asm @@ -128,7 +128,7 @@ CinnabarGymQuiz: ; 1ea25 (7:6a25) TX_ASM xor a ld [wda38], a - ld a, [wWhichTrade] + ld a, [wHiddenObjectFunctionArgument] push af and $f ld [$ffdb], a diff --git a/engine/items/itemfinder.asm b/engine/items/itemfinder.asm index 96abecd3..51277632 100755 --- a/engine/items/itemfinder.asm +++ b/engine/items/itemfinder.asm @@ -1,14 +1,14 @@ HiddenItemNear: ; 7481f (1d:481f) ld hl, HiddenItemCoords - ld b, $0 -.asm_74824 - ld de, $0003 + ld b, 0 +.loop + ld de, 3 ld a, [W_CURMAP] call IsInRestOfArray ret nc ; return if current map has no hidden items push bc push hl - ld hl, wd6f0 + ld hl, wObtainedHiddenItemsFlags ld c, b ld b, $2 predef FlagActionPredef @@ -22,28 +22,30 @@ HiddenItemNear: ; 7481f (1d:481f) inc hl ld e, [hl] inc hl - jr nz, .asm_74824 + jr nz, .loop ; if the item has already been obtained +; check if the item is within 4-5 tiles (depending on the direction of item) ld a, [W_YCOORD] - call Func_7486b + call Sub5ClampTo0 cp d - jr nc, .asm_74824 + jr nc, .loop ld a, [W_YCOORD] - add $4 + add 4 cp d - jr c, .asm_74824 + jr c, .loop ld a, [W_XCOORD] - call Func_7486b + call Sub5ClampTo0 cp e - jr nc, .asm_74824 + jr nc, .loop ld a, [W_XCOORD] - add $5 + add 5 cp e - jr c, .asm_74824 + jr c, .loop scf ret -Func_7486b: ; 7486b (1d:486b) - sub $5 +Sub5ClampTo0: ; 7486b (1d:486b) +; subtract 5 but clamp to 0 + sub 5 cp $f0 ret c xor a diff --git a/engine/items/items.asm b/engine/items/items.asm index fe2d71c8..bc8d16fa 100755 --- a/engine/items/items.asm +++ b/engine/items/items.asm @@ -1216,11 +1216,11 @@ ItemUseMedicine: ; dabb (3:5abb) ld bc,-19 add hl,bc ; hl now points to experience ; update experience to minimum for new level - ld a,[$ff96] + 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 pop hl ld a,[wWhichPokemon] @@ -1618,8 +1618,8 @@ ItemUsePokeflute: ; e140 (3:6140) jp PrintText .inBattle xor a - ld [wWhichTrade],a ; initialize variable that indicates if any pokemon were woken up to zero - ld b,~SLP & $FF + ld [wWereAnyMonsAsleep],a + ld b,~SLP & $ff ld hl,wPartyMon1Status call WakeUpEntireParty ld a,[W_ISINBATTLE] @@ -1638,7 +1638,7 @@ ItemUsePokeflute: ; e140 (3:6140) and b ; remove Sleep status ld [hl],a call LoadScreenTilesFromBuffer2 ; restore saved screen - ld a,[wWhichTrade] + ld a,[wWereAnyMonsAsleep] and a ; were any pokemon asleep before playing the flute? ld hl,PlayedFluteNoEffectText jp z,PrintText ; if no pokemon were asleep @@ -1662,9 +1662,9 @@ ItemUsePokeflute: ; e140 (3:6140) ; INPUT: ; hl must point to status of first pokemon in party (player's or enemy's) ; b must equal ~SLP -; [wWhichTrade] should be initialized to 0 +; [wWereAnyMonsAsleep] should be initialized to 0 ; OUTPUT: -; [wWhichTrade]: set to 1 if any pokemon were asleep +; [wWereAnyMonsAsleep]: set to 1 if any pokemon were asleep WakeUpEntireParty: ; e1e5 (3:61e5) ld de,44 ld c,6 @@ -1674,7 +1674,7 @@ WakeUpEntireParty: ; e1e5 (3:61e5) and a,SLP ; is pokemon asleep? jr z,.notAsleep ld a,1 - ld [wWhichTrade],a ; indicate that a pokemon had to be woken up + ld [wWereAnyMonsAsleep],a ; indicate that a pokemon had to be woken up .notAsleep pop af and b ; remove Sleep status @@ -1874,7 +1874,7 @@ ItemUsePPRestore: ; e31e (3:631e) ld a,[wWhichPokemon] push af ld a,[wcf91] - ld [wWhichTrade],a + ld [wPPRestoreItem],a .chooseMon xor a ld [wUpdateSpritesEnabled],a @@ -1884,13 +1884,13 @@ ItemUsePPRestore: ; e31e (3:631e) jr nc,.chooseMove jp .itemNotUsed .chooseMove - ld a,[wWhichTrade] + ld a,[wPPRestoreItem] cp a,ELIXER jp nc,.useElixir ; if Elixir or Max Elixir ld a,$02 ld [wMoveMenuType],a ld hl,RaisePPWhichTechniqueText - ld a,[wWhichTrade] + ld a,[wPPRestoreItem] cp a,ETHER ; is it a PP Up? jr c,.printWhichTechniqueMessage ; if so, print the raise PP message ld hl,RestorePPWhichTechniqueText ; otherwise, print the restore PP message @@ -1911,7 +1911,7 @@ ItemUsePPRestore: ; e31e (3:631e) call GetMoveName call CopyStringToCF4B ; copy name to wcf4b pop hl - ld a,[wWhichTrade] + ld a,[wPPRestoreItem] cp a,ETHER jr nc,.useEther ; if Ether or Max Ether .usePPUp @@ -1973,7 +1973,7 @@ ItemUsePPRestore: ; e31e (3:631e) add hl,bc ; hl now points to move's PP ld a,[wd11e] ld b,a ; b = max PP - ld a,[wWhichTrade] + ld a,[wPPRestoreItem] cp a,MAX_ETHER jr z,.fullyRestorePP ld a,[hl] ; move PP @@ -2005,7 +2005,7 @@ ItemUsePPRestore: ; e31e (3:631e) jr .storeNewAmount .useElixir ; decrement the item ID so that ELIXER becomes ETHER and MAX_ELIXER becomes MAX_ETHER - ld hl,wWhichTrade + ld hl,wPPRestoreItem dec [hl] dec [hl] xor a @@ -2701,13 +2701,13 @@ SendNewMonToBox: ; e7a4 (3:67a4) ld d, a callab CalcExperience pop de - ld a, [H_NUMTOPRINT] ; (aliases: H_MULTIPLICAND) + ld a, [hExperience] ld [de], a inc de - ld a, [$ff97] + ld a, [hExperience + 1] ld [de], a inc de - ld a, [$ff98] + ld a, [hExperience + 2] ld [de], a inc de xor a diff --git a/engine/menu/league_pc.asm b/engine/menu/league_pc.asm index 560ed421..06a7894c 100755 --- a/engine/menu/league_pc.asm +++ b/engine/menu/league_pc.asm @@ -12,7 +12,7 @@ PKMNLeaguePC: ; 0x7657e ld [hTilesetType], a ld [W_SPRITEFLIPPED], a ld [wUpdateSpritesEnabled], a - ld [wTrainerScreenX], a + ld [wHoFTeamIndex2], a ld [wHoFTeamNo], a ld a, [wNumHoFTeams] ld b, a @@ -27,13 +27,13 @@ PKMNLeaguePC: ; 0x7657e ld hl, wHoFTeamNo inc [hl] push bc - ld a, [wTrainerScreenX] - ld [wHoFMonSpecies], a + ld a, [wHoFTeamIndex2] + ld [wHoFTeamIndex], a callba LoadHallOfFameTeams call LeaguePCShowTeam pop bc jr c, .doneShowingTeams - ld hl, wTrainerScreenX + ld hl, wHoFTeamIndex2 inc [hl] ld a, [hl] cp b diff --git a/engine/menu/main_menu.asm b/engine/menu/main_menu.asm index 9e160f81..5dc6e61f 100755 --- a/engine/menu/main_menu.asm +++ b/engine/menu/main_menu.asm @@ -1,17 +1,16 @@ MainMenu: ; 5af2 (1:5af2) ; Check save file - call Func_5bff + call InitOptions xor a - ld [wd08a],a + ld [wOptionsInitialized],a inc a - ld [wd088],a - call Func_609e - jr nc,.next0 + ld [wSaveFileStatus],a + call CheckForPlayerNameInSRAM + jr nc,.mainMenuLoop - ; Predef 52 loads the save from SRAM to RAM predef LoadSAV -.next0 +.mainMenuLoop ld c,20 call DelayFrames xor a ; LINK_STATE_NONE @@ -30,9 +29,10 @@ MainMenu: ; 5af2 (1:5af2) call LoadFontTilePatterns ld hl,wd730 set 6,[hl] - ld a,[wd088] + ld a,[wSaveFileStatus] cp a,1 - jr z,.next1 + jr z,.noSaveFile +; there's a save file coord hl, 0, 0 ld b,6 ld c,13 @@ -41,7 +41,7 @@ MainMenu: ; 5af2 (1:5af2) ld de,ContinueText call PlaceString jr .next2 -.next1 +.noSaveFile coord hl, 0, 0 ld b,4 ld c,13 @@ -63,31 +63,33 @@ MainMenu: ; 5af2 (1:5af2) ld [wTopMenuItemY],a ld a,$B ld [wMenuWatchedKeys],a - ld a,[wd088] + ld a,[wSaveFileStatus] ld [wMaxMenuItem],a call HandleMenuInput - bit 1,a - jp nz,LoadTitlescreenGraphics ; load title screen (gfx and arrangement) + bit 1,a ; pressed B? + jp nz,DisplayTitleScreen ; if so, go back to the title screen ld c,20 call DelayFrames ld a,[wCurrentMenuItem] ld b,a - ld a,[wd088] + ld a,[wSaveFileStatus] cp a,2 - jp z,.next3 - inc b ; adjust MenuArrow_Counter -.next3 + jp z,.skipInc +; If there's no save file, increment the current menu item so that the numbers +; are the same whether or not there's a save file. + inc b +.skipInc ld a,b and a - jr z,.next4 ; if press_A on Continue + jr z,.choseContinue cp a,1 - jp z,Func_5d52 ; if press_A on NewGame - call DisplayOptionMenu ; if press_a on Options + jp z,StartNewGame + call DisplayOptionMenu ld a,1 - ld [wd08a],a - jp .next0 -.next4 - call ContinueGame + ld [wOptionsInitialized],a + jp .mainMenuLoop +.choseContinue + call DisplayContinueGameInfo ld hl,wd126 set 5,[hl] .inputLoop @@ -100,7 +102,7 @@ MainMenu: ; 5af2 (1:5af2) bit 0,a jr nz,.pressedA bit 1,a - jp nz,.next0 ; pressedB + jp nz,.mainMenuLoop ; pressed B jr .inputLoop .pressedA call GBPalWhiteOutWithDelay3 @@ -122,10 +124,10 @@ MainMenu: ; 5af2 (1:5af2) call SpecialWarpIn jp SpecialEnterMap -Func_5bff: ; 5bff (1:5bff) - ld a,1 +InitOptions: ; 5bff (1:5bff) + ld a,1 ; no delay ld [wLetterPrintingDelayFlags],a - ld a,3 + ld a,3 ; medium speed ld [W_OPTIONS],a ret @@ -301,7 +303,7 @@ LinkCanceledText: ; 5d4d (1:5d4d) TX_FAR _LinkCanceledText db "@" -Func_5d52: ; 5d52 (1:5d52) +StartNewGame: ; 5d52 (1:5d52) ld hl, wd732 res 1, [hl] call OakSpeech @@ -337,12 +339,12 @@ CableClubOptionsText: ; 5d97 (1:5d97) db "COLOSSEUM", $4e db "CANCEL@" -ContinueGame: ; 5db5 (1:5db5) +DisplayContinueGameInfo: ; 5db5 (1:5db5) xor a ld [H_AUTOBGTRANSFERENABLED], a coord hl, 4, 7 - ld b, $8 - ld c, $e + ld b, 8 + ld c, 14 call TextBoxBorder coord hl, 5, 9 ld de, SaveScreenInfoText @@ -351,12 +353,12 @@ ContinueGame: ; 5db5 (1:5db5) ld de, wPlayerName call PlaceString coord hl, 17, 11 - call Func_5e2f + call PrintNumBadges coord hl, 16, 13 - call Func_5e42 + call PrintNumOwnedMons coord hl, 13, 15 - call Func_5e55 - ld a, $1 + call PrintPlayTime + ld a, 1 ld [H_AUTOBGTRANSFERENABLED], a ld c, 30 jp DelayFrames @@ -377,17 +379,17 @@ PrintSaveScreenText: ; 5def (1:5def) ld de, wPlayerName call PlaceString coord hl, 17, 4 - call Func_5e2f + call PrintNumBadges coord hl, 16, 6 - call Func_5e42 + call PrintNumOwnedMons coord hl, 13, 8 - call Func_5e55 + call PrintPlayTime ld a, $1 ld [H_AUTOBGTRANSFERENABLED], a ld c, 30 jp DelayFrames -Func_5e2f: ; 5e2f (1:5e2f) +PrintNumBadges: ; 5e2f (1:5e2f) push hl ld hl, W_OBTAINEDBADGES ld b, $1 @@ -397,7 +399,7 @@ Func_5e2f: ; 5e2f (1:5e2f) ld bc, $102 jp PrintNumber -Func_5e42: ; 5e42 (1:5e42) +PrintNumOwnedMons: ; 5e42 (1:5e42) push hl ld hl, wPokedexOwned ld b, wPokedexOwnedEnd - wPokedexOwned @@ -407,7 +409,7 @@ Func_5e42: ; 5e42 (1:5e42) ld bc, $103 jp PrintNumber -Func_5e55: ; 5e55 (1:5e55) +PrintPlayTime: ; 5e55 (1:5e55) ld de, W_PLAYTIMEHOURS + 1 ld bc, $103 call PrintNumber @@ -678,28 +680,32 @@ TextSpeedOptionData: ; 6096 (1:6096) db 7 ; default X coordinate (Medium) db $ff ; terminator -Func_609e: ; 609e (1:609e) - ld a, $a - ld [$0], a +CheckForPlayerNameInSRAM: ; 609e (1:609e) +; Check if the player name data in SRAM has a string terminator character +; (indicating that a name may have been saved there) and return whether it does +; in carry. + ld a, SRAM_ENABLE + ld [MBC1SRamEnable], a ld a, $1 - ld [$6000], a - ld [$4000], a + ld [MBC1SRamBankingMode], a + ld [MBC1SRamBank], a ld b, $b - ld hl, $a598 -.asm_60b0 + ld hl, sPlayerName +.loop ld a, [hli] - cp $50 - jr z, .asm_60c1 + cp "@" + jr z, .found dec b - jr nz, .asm_60b0 + jr nz, .loop +; not found xor a - ld [$0], a - ld [$6000], a + ld [MBC1SRamEnable], a + ld [MBC1SRamBankingMode], a and a ret -.asm_60c1 +.found xor a - ld [$0], a - ld [$6000], a + ld [MBC1SRamEnable], a + ld [MBC1SRamBankingMode], a scf ret diff --git a/engine/menu/pokedex.asm b/engine/menu/pokedex.asm index 08ce0da9..4e173bc0 100755 --- a/engine/menu/pokedex.asm +++ b/engine/menu/pokedex.asm @@ -71,8 +71,8 @@ HandlePokedexSideMenu: ; 4006d (10:406d) ld [wd11e],a ld a,[wd11e] push af - ld a,[wWhichTrade] - push af + ld a,[wDexMaxSeenMon] + push af ; this doesn't need to be preserved ld hl,wPokedexSeen call IsPokemonBitSet ld b,2 @@ -108,7 +108,7 @@ HandlePokedexSideMenu: ; 4006d (10:406d) ld b,1 .exitSideMenu pop af - ld [wWhichTrade],a + ld [wDexMaxSeenMon],a pop af ld [wd11e],a pop af @@ -207,7 +207,7 @@ HandlePokedexListMenu: ; 40111 (10:4111) jr .maxSeenPokemonLoop .storeMaxSeenPokemon ld a,b - ld [wWhichTrade],a ; max seen pokemon + ld [wDexMaxSeenMon],a .loop xor a ld [H_AUTOBGTRANSFERENABLED],a @@ -218,7 +218,7 @@ HandlePokedexListMenu: ; 40111 (10:4111) ld a,[wListScrollOffset] ld [wd11e],a ld d,7 - ld a,[wWhichTrade] + ld a,[wDexMaxSeenMon] cp a,7 jr nc,.printPokemonLoop ld d,a @@ -294,9 +294,9 @@ HandlePokedexListMenu: ; 40111 (10:4111) bit 7,a ; was Down pressed? jr z,.checkIfRightPressed .downPressed ; scroll down one row - ld a,[wWhichTrade] + ld a,[wDexMaxSeenMon] cp a,7 - jp c,.loop + jp c,.loop ; can't if the list is shorter than 7 sub a,7 ld b,a ld a,[wListScrollOffset] @@ -309,9 +309,9 @@ HandlePokedexListMenu: ; 40111 (10:4111) bit 4,a ; was Right pressed? jr z,.checkIfLeftPressed .rightPressed ; scroll down 7 rows - ld a,[wWhichTrade] + ld a,[wDexMaxSeenMon] cp a,7 - jp c,.loop + jp c,.loop ; can't if the list is shorter than 7 sub a,6 ld b,a ld a,[wListScrollOffset] diff --git a/engine/menu/prize_menu.asm b/engine/menu/prize_menu.asm index d1fa0c72..b1b751b9 100755 --- a/engine/menu/prize_menu.asm +++ b/engine/menu/prize_menu.asm @@ -231,18 +231,24 @@ HandlePrizeChoice: ; 528c6 (14:68c6) pop af ld b,a call GivePokemon + +; If either the party or box was full, wait after displaying message. push af - ld a,[wccd3] ; XXX is there room? + ld a,[wAddedToParty] and a call z,WaitForTextScrollButtonPress pop af + +; If the mon couldn't be given to the player (because both the party and box +; were full), return without subtracting coins. ret nc + .SubtractCoins call LoadCoinsToSubtract ld hl,hCoins + 1 ld de,wPlayerCoins + 1 ld c,$02 ; how many bytes - predef SubBCDPredef ; subtract coins (BCD daa operations) + predef SubBCDPredef jp PrintPrizePrice .BagFull ld hl,PrizeRoomBagIsFullTextPtr diff --git a/engine/menu/status_screen.asm b/engine/menu/status_screen.asm index 75de182b..3bf3464a 100755 --- a/engine/menu/status_screen.asm +++ b/engine/menu/status_screen.asm @@ -297,8 +297,8 @@ StatusScreen2: ; 12b57 (4:6b57) push af xor a ld [hTilesetType], a - ld [$ffba], a - ld bc, $0005 + ld [H_AUTOBGTRANSFERENABLED], a + ld bc, NUM_MOVES + 1 ld hl, wMoves call FillMemory ld hl, wLoadedMonMoves @@ -307,13 +307,13 @@ StatusScreen2: ; 12b57 (4:6b57) call CopyData callab FormatMovesString coord hl, 9, 2 - ld bc, $050a + lb bc, 5, 10 call ClearScreenArea ; Clear under name coord hl, 19, 3 ld [hl], $78 coord hl, 0, 8 - ld b, $8 - ld c, $12 + ld b, 8 + ld c, 18 call TextBoxBorder ; Draw move container coord hl, 2, 9 ld de, wMovesString @@ -387,9 +387,9 @@ StatusScreen2: ; 12b57 (4:6b57) jr nz, .PrintPP .PPDone coord hl, 9, 3 - ld de, EXPPointsText + ld de, StatusScreenExpText call PlaceString - ld a, [wLoadedMonLevel] ; level + ld a, [wLoadedMonLevel] push af cp MAX_LEVEL jr z, .Level100 @@ -407,11 +407,11 @@ StatusScreen2: ; 12b57 (4:6b57) coord hl, 12, 4 ld bc, $0307 call PrintNumber ; exp - call .asm_12c86 + call CalcExpToLevelUp ld de, wLoadedMonExp coord hl, 7, 6 ld bc, $0307 - call PrintNumber + call PrintNumber ; exp needed to level up coord hl, 9, 0 call StatusScreen_ClearName coord hl, 9, 1 @@ -422,7 +422,7 @@ StatusScreen2: ; 12b57 (4:6b57) coord hl, 9, 1 call PlaceString ld a, $1 - ld [$ffba], a + ld [H_AUTOBGTRANSFERENABLED], a call Delay3 call WaitForTextScrollButtonPress ; wait for button pop af @@ -433,25 +433,26 @@ StatusScreen2: ; 12b57 (4:6b57) ld [$ff24], a call GBPalWhiteOut jp ClearScreen -.asm_12c86 ; This does some magic with lvl/exp? - ld a, [wLoadedMonLevel] ; Load level + +CalcExpToLevelUp: ; 12c86 (4:6c86) + ld a, [wLoadedMonLevel] cp MAX_LEVEL - jr z, .asm_12ca7 ; If 100 + jr z, .atMaxLevel inc a ld d, a callab CalcExperience ld hl, wLoadedMonExp + 2 - ld a, [$ff98] + ld a, [hExperience + 2] sub [hl] ld [hld], a - ld a, [$ff97] + ld a, [hExperience + 1] sbc [hl] ld [hld], a - ld a, [$ff96] + ld a, [hExperience] sbc [hl] ld [hld], a ret -.asm_12ca7 +.atMaxLevel ld hl, wLoadedMonExp xor a ld [hli], a @@ -459,11 +460,9 @@ StatusScreen2: ; 12b57 (4:6b57) ld [hl], a ret -EXPPointsText: ; 12caf (4:6caf) - db "EXP POINTS", $4e - -LevelUpText: ; 12cba (4:6cba) - db "LEVEL UP@" +StatusScreenExpText: ; 12caf (4:6caf) + db "EXP POINTS" + next "LEVEL UP@" StatusScreen_ClearName: ; 12cc3 (4:6cc3) ld bc, 10 diff --git a/engine/oak_speech.asm b/engine/oak_speech.asm index c7b2f4d6..9b9b1c7e 100755 --- a/engine/oak_speech.asm +++ b/engine/oak_speech.asm @@ -19,9 +19,9 @@ SetDefaultNames: ; 60ca (1:60ca) ld [W_OPTIONS], a pop af ld [wLetterPrintingDelayFlags], a - ld a, [wd08a] + ld a, [wOptionsInitialized] and a - call z, Func_5bff + call z, InitOptions ld hl, NintenText ld de, wPlayerName ld bc, $b diff --git a/engine/oam_dma.asm b/engine/oam_dma.asm index bd89677a..7326445e 100644 --- a/engine/oam_dma.asm +++ b/engine/oam_dma.asm @@ -15,7 +15,7 @@ WriteDMACodeToHRAM: DMARoutine: ; initiate DMA ld a, wOAMBuffer / $100 - ld [$ff46], a + ld [rDMA], a ; wait for DMA to finish ld a, $28 diff --git a/engine/overworld/hidden_items.asm b/engine/overworld/hidden_items.asm index 910fcf04..3fb4ffca 100755 --- a/engine/overworld/hidden_items.asm +++ b/engine/overworld/hidden_items.asm @@ -1,9 +1,9 @@ HiddenItems: ; 76688 (1d:6688) ld hl, HiddenItemCoords - call Func_76857 - ld [wTrainerScreenX], a - ld hl, wd6f0 - ld a, [wTrainerScreenX] + call FindHiddenItemOrCoinsIndex + ld [wHiddenItemOrCoinsIndex], a + ld hl, wObtainedHiddenItemsFlags + ld a, [wHiddenItemOrCoinsIndex] ld c, a ld b, $2 predef FlagActionPredef @@ -11,9 +11,9 @@ HiddenItems: ; 76688 (1d:6688) and a ret nz call EnableAutoTextBoxDrawing - ld a, $1 + ld a, 1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld a, [wWhichTrade] ; item ID + ld a, [wHiddenObjectFunctionArgument] ; item ID ld [wd11e], a call GetItemName tx_pre_jump FoundHiddenItemText @@ -23,12 +23,12 @@ INCLUDE "data/hidden_item_coords.asm" FoundHiddenItemText: ; 7675b (1d:675b) TX_FAR _FoundHiddenItemText TX_ASM - ld a, [wWhichTrade] ; item ID + ld a, [wHiddenObjectFunctionArgument] ; item ID ld b, a ld c, 1 call GiveItem jr nc, .BagFull - ld hl, wd6f0 + ld hl, wObtainedHiddenItemsFlags ld a, [wTrainerScreenX] ld c, a ld b, $1 @@ -56,10 +56,10 @@ HiddenCoins: ; 76799 (1d:6799) and a ret z ld hl, HiddenCoinCoords - call Func_76857 - ld [wTrainerScreenX], a - ld hl, wd6fe - ld a, [wTrainerScreenX] + call FindHiddenItemOrCoinsIndex + ld [wHiddenItemOrCoinsIndex], a + ld hl, wObtainedHiddenCoinsFlags + ld a, [wHiddenItemOrCoinsIndex] ld c, a ld b, $2 predef FlagActionPredef @@ -70,7 +70,7 @@ HiddenCoins: ; 76799 (1d:6799) ld [hCoins - 1], a ld [hCoins], a ld [hCoins + 1], a - ld a, [wWhichTrade] + ld a, [wHiddenObjectFunctionArgument] sub COIN cp 10 jr z, .bcd10 @@ -99,7 +99,7 @@ HiddenCoins: ; 76799 (1d:6799) ld hl, hCoins + 1 ld c, $2 predef AddBCDPredef - ld hl, wd6fe + ld hl, wObtainedHiddenCoinsFlags ld a, [wTrainerScreenX] ld c, a ld b, $1 @@ -130,31 +130,31 @@ DroppedHiddenCoinsText: ; 7684d (1d:684d) TX_FAR _DroppedHiddenCoinsText db "@" -Func_76857: ; 76857 (1d:6857) - ld a, [wTrainerScreenY] +FindHiddenItemOrCoinsIndex: ; 76857 (1d:6857) + ld a, [wHiddenObjectY] ld d, a - ld a, [wTrainerScreenX] + ld a, [wHiddenObjectX] ld e, a ld a, [W_CURMAP] ld b, a - ld c, $ff + ld c, -1 .loop inc c ld a, [hli] cp $ff ; end of the list? ret z ; if so, we're done here cp b - jr nz, .asm_76877 + jr nz, .next1 ld a, [hli] cp d - jr nz, .asm_76878 + jr nz, .next2 ld a, [hli] cp e jr nz, .loop ld a, c ret -.asm_76877 +.next1 inc hl -.asm_76878 +.next2 inc hl jr .loop diff --git a/engine/overworld/hidden_objects.asm b/engine/overworld/hidden_objects.asm index ae67aeed..cabfc093 100755 --- a/engine/overworld/hidden_objects.asm +++ b/engine/overworld/hidden_objects.asm @@ -1,4 +1,4 @@ -Func_46981: ; 46981 (11:6981) +IsPlayerOnDungeonWarp: ; 46981 (11:6981) xor a ld [wWhichDungeonWarp], a ld a, [wd72d] @@ -6,7 +6,7 @@ Func_46981: ; 46981 (11:6981) ret nz call ArePlayerCoordsInArray ret nc - ld a, [wWhichTrade] + ld a, [wCoordIndex] ld [wWhichDungeonWarp], a ld hl, wd72d set 4, [hl] @@ -58,7 +58,7 @@ CheckForHiddenObject: ; 469a0 (11:69a0) ld [wHiddenObjectX], a ld c, a call CheckIfCoordsInFrontOfPlayerMatch - ld a, [$ffea] + ld a, [hCoordsInFrontOfPlayerMatch] and a jr z, .foundMatchingObject inc hl @@ -85,7 +85,7 @@ CheckForHiddenObject: ; 469a0 (11:69a0) ret ; checks if the coordinates in front of the player's sprite match Y in b and X in c -; [$ffea] = $00 if they match, $ff if they don't match +; [hCoordsInFrontOfPlayerMatch] = $00 if they match, $ff if they don't match CheckIfCoordsInFrontOfPlayerMatch: ; 46a01 (11:6a01) ld a, [wSpriteStateData1 + 9] ; player's sprite facing direction cp SPRITE_FACING_UP @@ -127,7 +127,7 @@ CheckIfCoordsInFrontOfPlayerMatch: ; 46a01 (11:6a01) .didNotMatch ld a, $ff .done - ld [$ffea], a + ld [hCoordsInFrontOfPlayerMatch], a ret INCLUDE "data/hidden_objects.asm" diff --git a/engine/overworld/movement.asm b/engine/overworld/movement.asm index 89b09bba..f618261e 100644 --- a/engine/overworld/movement.asm +++ b/engine/overworld/movement.asm @@ -210,9 +210,8 @@ UpdateNPCSprite: ; 4ed1 (1:4ed1) .moveDown ld de, 2*SCREEN_WIDTH add hl, de ; move tile pointer two rows down - ld de, $100 - - ld bc, $400 + lb de, 1, 0 + lb bc, 4, SPRITE_FACING_DOWN jr TryWalking .notDown cp $80 ; $40 <= a < $80: up (or right) @@ -223,8 +222,8 @@ UpdateNPCSprite: ; 4ed1 (1:4ed1) .moveUp ld de, -2*SCREEN_WIDTH add hl, de ; move tile pointer two rows up - ld de, $ff00 - ld bc, $804 + lb de, -1, 0 + lb bc, 8, SPRITE_FACING_UP jr TryWalking .notUp cp $c0 ; $80 <= a < $c0: left (or up) @@ -235,8 +234,8 @@ UpdateNPCSprite: ; 4ed1 (1:4ed1) .moveLeft dec hl dec hl ; move tile pointer two columns left - ld de, $ff - ld bc, $208 + lb de, 0, -1 + lb bc, 2, SPRITE_FACING_LEFT jr TryWalking .notLeft ; $c0 <= a: right (or down) ld a, [wCurSpriteMovement2] @@ -245,8 +244,8 @@ UpdateNPCSprite: ; 4ed1 (1:4ed1) .moveRight inc hl inc hl ; move tile pointer two columns right - ld de, $1 - ld bc, $10c + lb de, 0, 1 + lb bc, 1, SPRITE_FACING_RIGHT jr TryWalking ; changes facing direction by zeroing the movement delta and calling TryWalking diff --git a/engine/palettes.asm b/engine/palettes.asm index a9160d21..a325e0a3 100755 --- a/engine/palettes.asm +++ b/engine/palettes.asm @@ -328,10 +328,10 @@ SendSGBPacket: ; 71feb (1c:5feb) ld [$fff9],a ; send RESET signal (P14=LOW, P15=LOW) xor a - ld [$ff00],a + ld [rJOYP],a ; set P14=HIGH, P15=HIGH ld a,$30 - ld [$ff00],a + ld [rJOYP],a ;load length of packets (16 bytes) ld b,$10 .nextByte @@ -348,10 +348,10 @@ SendSGBPacket: ; 71feb (1c:5feb) ; else (if 0th bit is zero) set P14=LOW,P15=HIGH (send bit 0) ld a,$20 .next0 - ld [$ff00],a + ld [rJOYP],a ; must set P14=HIGH,P15=HIGH between each "pulse" ld a,$30 - ld [$ff00],a + ld [rJOYP],a ; rotation will put next bit in 0th position (so we can always use command ; "bit 0,d" to fetch the bit that has to be sent) rr d @@ -362,10 +362,10 @@ SendSGBPacket: ; 71feb (1c:5feb) jr nz,.nextByte ; send bit 1 as a "stop bit" (end of parameter data) ld a,$20 - ld [$ff00],a + ld [rJOYP],a ; set P14=HIGH,P15=HIGH ld a,$30 - ld [$ff00],a + ld [rJOYP],a xor a ld [$fff9],a ; wait for about 70000 cycles @@ -448,38 +448,38 @@ CheckSGB: ; 7209b (1c:609b) ld [$fff9], a ei call Wait7000 - ld a, [rJOYP] ; $ff0 + ld a, [rJOYP] and $3 cp $3 jr nz, .asm_720fd ld a, $20 - ld [rJOYP], a ; $ff0 - ld a, [rJOYP] ; $ff0 - ld a, [rJOYP] ; $ff0 + ld [rJOYP], a + ld a, [rJOYP] + ld a, [rJOYP] call Wait7000 call Wait7000 ld a, $30 - ld [rJOYP], a ; $ff0 + ld [rJOYP], a call Wait7000 call Wait7000 ld a, $10 - ld [rJOYP], a ; $ff0 - ld a, [rJOYP] ; $ff0 - ld a, [rJOYP] ; $ff0 - ld a, [rJOYP] ; $ff0 - ld a, [rJOYP] ; $ff0 - ld a, [rJOYP] ; $ff0 - ld a, [rJOYP] ; $ff0 + ld [rJOYP], a + ld a, [rJOYP] + ld a, [rJOYP] + ld a, [rJOYP] + ld a, [rJOYP] + ld a, [rJOYP] + ld a, [rJOYP] call Wait7000 call Wait7000 ld a, $30 - ld [rJOYP], a ; $ff0 - ld a, [rJOYP] ; $ff0 - ld a, [rJOYP] ; $ff0 - ld a, [rJOYP] ; $ff0 + ld [rJOYP], a + ld a, [rJOYP] + ld a, [rJOYP] + ld a, [rJOYP] call Wait7000 call Wait7000 - ld a, [rJOYP] ; $ff0 + ld a, [rJOYP] and $3 cp $3 jr nz, .asm_720fd diff --git a/engine/predefs.asm b/engine/predefs.asm index 17f94b73..73a22ad9 100755 --- a/engine/predefs.asm +++ b/engine/predefs.asm @@ -111,7 +111,7 @@ PredefPointers:: ; 4fe79 (13:7e79) add_predef InternalClockTradeAnim add_predef TrainerEngage add_predef IndexToPokedex - add_predef DisplayPicCenteredOrUpperRight; 3B display pic? + add_predef DisplayPicCenteredOrUpperRight add_predef UsedCut add_predef ShowPokedexData add_predef WriteMonMoves @@ -128,15 +128,15 @@ PredefPointers:: ; 4fe79 (13:7e79) add_predef DrawEnemyHUDAndHPBar add_predef LoadTownMap_Nest add_predef PrintMonType - add_predef EmotionBubble; 4C player exclamation + add_predef EmotionBubble add_predef EmptyFunc3; return immediately add_predef AskName add_predef PewterGuys add_predef SaveSAVtoSRAM2 - add_predef LoadSAVCheckSum2 + add_predef LoadSAV2 add_predef LoadSAV add_predef SaveSAVtoSRAM1 - add_predef DoInGameTradeDialogue ; 54 initiate trade + add_predef DoInGameTradeDialogue add_predef HallOfFamePC add_predef DisplayDexRating dbw $1E, _LeaveMapAnim ; wrong bank diff --git a/engine/save.asm b/engine/save.asm index 56468595..7265fa3c 100755 --- a/engine/save.asm +++ b/engine/save.asm @@ -4,11 +4,11 @@ LoadSAV: ; 735e8 (1c:75e8) call ClearScreen call LoadFontTilePatterns call LoadTextBoxTilePatterns - call LoadSAVCheckSum + call LoadSAV0 jr c, .badsum - call LoadSAVCheckSum1 + call LoadSAV1 jr c, .badsum - call LoadSAVCheckSum2 + call LoadSAV2 jr c, .badsum ld a, $2 ; good checksum jr .goodsum @@ -24,14 +24,14 @@ LoadSAV: ; 735e8 (1c:75e8) res 6, [hl] ld a, $1 ; bad checksum .goodsum - ld [wd088], a ; checksum flag + ld [wSaveFileStatus], a ret FileDataDestroyedText: ; 7361e (1c:761e) TX_FAR _FileDataDestroyedText db "@" -LoadSAVCheckSum: ; 73623 (1c:7623) +LoadSAV0: ; 73623 (1c:7623) ld a, SRAM_ENABLE ld [MBC1SRamEnable], a ld a, $1 @@ -43,7 +43,9 @@ LoadSAVCheckSum: ; 73623 (1c:7623) ld c, a ld a, [sMainDataCheckSum] ; SAV's checksum cp c - jp z, .Func_73652 + jp z, .checkSumsMatched + +; If the computed checksum didn't match the saved on, try again. ld hl, sPlayerName ld bc, sMainDataCheckSum - sPlayerName call SAVCheckSum @@ -52,7 +54,7 @@ LoadSAVCheckSum: ; 73623 (1c:7623) cp c jp nz, SAVBadCheckSum -.Func_73652 ; 73652 (1c:7652) +.checkSumsMatched ld hl, sPlayerName ld de, wPlayerName ld bc, 11 @@ -76,7 +78,7 @@ LoadSAVCheckSum: ; 73623 (1c:7623) and a jp SAVGoodChecksum -LoadSAVCheckSum1: ; 73690 (1c:7690) +LoadSAV1: ; 73690 (1c:7690) ld a, SRAM_ENABLE ld [MBC1SRamEnable], a ld a, $1 @@ -96,7 +98,7 @@ LoadSAVCheckSum1: ; 73690 (1c:7690) and a jp SAVGoodChecksum -LoadSAVCheckSum2: ; 736bd (1c:76bd) +LoadSAV2: ; 736bd (1c:76bd) ld a, SRAM_ENABLE ld [MBC1SRamEnable], a ld a, $1 @@ -129,10 +131,11 @@ SAVGoodChecksum: ; 736f8 (1c:76f8) ld [MBC1SRamEnable], a ret -Func_73701: ; 73701 (1c:7701) - call LoadSAVCheckSum - call LoadSAVCheckSum1 - jp LoadSAVCheckSum2 +LoadSAVIgnoreBadCheckSum: ; 73701 (1c:7701) +; unused function that loads save data and ignores bad checksums + call LoadSAV0 + call LoadSAV1 + jp LoadSAV2 SaveSAV: ; 7370a (1c:770a) callba PrintSaveScreenText @@ -140,7 +143,7 @@ SaveSAV: ; 7370a (1c:770a) call SaveSAVConfirm and a ;|0 = Yes|1 = No| ret nz - ld a,[wd088] + ld a,[wSaveFileStatus] dec a jr z,.save call SAVCheckRandomID @@ -270,14 +273,14 @@ SaveSAVtoSRAM2: ; 7380f (1c:780f) SaveSAVtoSRAM: ; 73848 (1c:7848) ld a, $2 - ld [wd088], a + ld [wSaveFileStatus], a call SaveSAVtoSRAM0 call SaveSAVtoSRAM1 jp SaveSAVtoSRAM2 SAVCheckSum: ; 73856 (1c:7856) ;Check Sum (result[1 byte] is complemented) - ld d, $0 + ld d, 0 .loop ld a, [hli] add d @@ -290,11 +293,11 @@ SAVCheckSum: ; 73856 (1c:7856) cpl ret -Func_73863: ; 73863 (1c:7863) +CalcIndividualBoxCheckSums: ; 73863 (1c:7863) ld hl, sBox1 ; sBox7 - ld de, sBoxes1CheckSum2 ; sBoxes2CheckSum2 + ld de, sBank2IndividualBoxChecksums ; sBank3IndividualBoxChecksums ld b, NUM_BOXES / 2 -.asm_7386b +.loop push bc push de ld bc, wBoxMonNicksEnd - W_NUMINBOX @@ -304,21 +307,23 @@ Func_73863: ; 73863 (1c:7863) inc de pop bc dec b - jr nz, .asm_7386b + jr nz, .loop ret -Func_7387b: ; 7387b (1c:787b) - ld hl, PointerTable_73895 +GetBoxSRAMLocation: ; 7387b (1c:787b) +; in: a = box num +; out: b = box SRAM bank, hl = pointer to start of box + ld hl, BoxSRAMPointerTable ld a, [wCurrentBoxNum] and $7f cp NUM_BOXES / 2 - ld b, $2 - jr c, .asm_7388c + ld b, 2 + jr c, .next inc b sub NUM_BOXES / 2 -.asm_7388c +.next ld e, a - ld d, $0 + ld d, 0 add hl, de add hl, de ld a, [hli] @@ -326,7 +331,7 @@ Func_7387b: ; 7387b (1c:787b) ld l, a ret -PointerTable_73895: ; 73895 (1c:7895) +BoxSRAMPointerTable: ; 73895 (1c:7895) dw sBox1 ; sBox7 dw sBox2 ; sBox8 dw sBox3 ; sBox9 @@ -342,9 +347,9 @@ ChangeBox:: ; 738a1 (1c:78a1) and a ret nz ; return if No was chosen ld hl, wCurrentBoxNum - bit 7, [hl] - call z, Func_73a29 - call Func_7393f + bit 7, [hl] ; is it the first time player is changing the box? + call z, EmptyAllSRAMBoxes ; if so, empty all boxes in SRAM + call DisplayChangeBoxMenu call UpdateSprites ld hl, hFlags_0xFFF6 set 1, [hl] @@ -353,17 +358,17 @@ ChangeBox:: ; 738a1 (1c:78a1) res 1, [hl] bit 1, a ret nz - call Func_7387b + call GetBoxSRAMLocation ld e, l ld d, h ld hl, W_NUMINBOX - call Func_7390e + call CopyBoxToOrFromSRAM ; copy old box from WRAM to SRAM ld a, [wCurrentMenuItem] set 7, a ld [wCurrentBoxNum], a - call Func_7387b + call GetBoxSRAMLocation ld de, W_NUMINBOX - call Func_7390e + call CopyBoxToOrFromSRAM ; copy new box from SRAM to WRAM ld hl, W_MAPTEXTPTR ld de, wChangeBoxSavedMapTextPointer ld a, [hli] @@ -384,7 +389,8 @@ WhenYouChangeBoxText: ; 73909 (1c:7909) TX_FAR _WhenYouChangeBoxText db "@" -Func_7390e: ; 7390e (1c:790e) +CopyBoxToOrFromSRAM: ; 7390e (1c:790e) +; copy an entire box from hl to de with b as the SRAM bank push hl ld a, SRAM_ENABLE ld [MBC1SRamEnable], a @@ -395,30 +401,33 @@ Func_7390e: ; 7390e (1c:790e) ld bc, wBoxMonNicksEnd - W_NUMINBOX call CopyData pop hl + +; mark the memory that the box was copied from as am empty box xor a ld [hli], a dec a ld [hl], a + ld hl, sBox1 ; sBox7 - ld bc, sBoxes1CheckSum - sBox1 + ld bc, sBank2AllBoxesChecksum - sBox1 call SAVCheckSum - ld [sBoxes1CheckSum], a ; sBoxes2CheckSum - call Func_73863 + ld [sBank2AllBoxesChecksum], a ; sBank3AllBoxesChecksum + call CalcIndividualBoxCheckSums xor a ld [MBC1SRamBankingMode], a ld [MBC1SRamEnable], a ret -Func_7393f: ; 7393f (1c:793f) +DisplayChangeBoxMenu: ; 7393f (1c:793f) xor a ld [H_AUTOBGTRANSFERENABLED], a - ld a, $3 + ld a, A_BUTTON | B_BUTTON ld [wMenuWatchedKeys], a - ld a, $b + ld a, 11 ld [wMaxMenuItem], a - ld a, $1 + ld a, 1 ld [wTopMenuItemY], a - ld a, $c + ld a, 12 ld [wTopMenuItemX], a xor a ld [wMenuWatchMovingOutOfBounds], a @@ -427,14 +436,14 @@ Func_7393f: ; 7393f (1c:793f) ld [wCurrentMenuItem], a ld [wLastMenuItem], a coord hl, 0, 0 - ld b, $2 - ld c, $9 + ld b, 2 + ld c, 9 call TextBoxBorder ld hl, ChooseABoxText call PrintText coord hl, 11, 0 - ld b, $c - ld c, $7 + ld b, 12 + ld c, 7 call TextBoxBorder ld hl, hFlags_0xFFF6 set 2, [hl] @@ -446,37 +455,37 @@ Func_7393f: ; 7393f (1c:793f) ld a, [wCurrentBoxNum] and $7f cp 9 - jr c, .asm_739a6 + jr c, .singleDigitBoxNum sub 9 coord hl, 8, 2 ld [hl], "1" add "0" - jr .asm_739a8 -.asm_739a6 + jr .next +.singleDigitBoxNum add "1" -.asm_739a8 +.next Coorda 9, 2 coord hl, 1, 2 ld de, BoxNoText call PlaceString - call Func_73a84 + call GetMonCountsForAllBoxes coord hl, 18, 1 - ld de, wWhichTrade + ld de, wBoxMonCounts ld bc, SCREEN_WIDTH ld a, $c -.asm_739c2 +.loop push af ld a, [de] - and a - jr z, .asm_739c9 - ld [hl], $78 -.asm_739c9 + and a ; is the box empty? + jr z, .skipPlacingPokeball + ld [hl], $78 ; place pokeball tile next to box name if box not empty +.skipPlacingPokeball add hl, bc inc de pop af dec a - jr nz, .asm_739c2 - ld a, $1 + jr nz, .loop + ld a, 1 ld [H_AUTOBGTRANSFERENABLED], a ret @@ -501,51 +510,54 @@ BoxNames: ; 739d9 (1c:79d9) BoxNoText: ; 73a21 (1c:7a21) db "BOX No.@" -Func_73a29: ; 73a29 (1c:7a29) +EmptyAllSRAMBoxes: ; 73a29 (1c:7a29) +; marks all boxes in SRAM as empty (initialisation for the first time the +; player changes the box) ld a, SRAM_ENABLE ld [MBC1SRamEnable], a ld a, $1 ld [MBC1SRamBankingMode], a - ld a, $2 + ld a, 2 ld [MBC1SRamBank], a - call Func_73a4b - ld a, $3 + call EmptySRAMBoxesInBank + ld a, 3 ld [MBC1SRamBank], a - call Func_73a4b + call EmptySRAMBoxesInBank xor a ld [MBC1SRamBankingMode], a ld [MBC1SRamEnable], a ret -Func_73a4b: ; 73a4b (1c:7a4b) +EmptySRAMBoxesInBank: ; 73a4b (1c:7a4b) +; marks every box in the current SRAM bank as empty ld hl, sBox1 ; sBox7 - call Func_73a7f + call EmptySRAMBox ld hl, sBox2 ; sBox8 - call Func_73a7f + call EmptySRAMBox ld hl, sBox3 ; sBox9 - call Func_73a7f + call EmptySRAMBox ld hl, sBox4 ; sBox10 - call Func_73a7f + call EmptySRAMBox ld hl, sBox5 ; sBox11 - call Func_73a7f + call EmptySRAMBox ld hl, sBox6 ; sBox12 - call Func_73a7f + call EmptySRAMBox ld hl, sBox1 ; sBox7 - ld bc, sBoxes1CheckSum - sBox1 + ld bc, sBank2AllBoxesChecksum - sBox1 call SAVCheckSum - ld [sBoxes1CheckSum], a ; sBoxes2CheckSum - call Func_73863 + ld [sBank2AllBoxesChecksum], a ; sBank3AllBoxesChecksum + call CalcIndividualBoxCheckSums ret -Func_73a7f: ; 73a7f (1c:7a7f) +EmptySRAMBox: ; 73a7f (1c:7a7f) xor a ld [hli], a dec a ld [hl], a ret -Func_73a84: ; 73a84 (1c:7a84) - ld hl, wWhichTrade +GetMonCountsForAllBoxes: ; 73a84 (1c:7a84) + ld hl, wBoxMonCounts push hl ld a, SRAM_ENABLE ld [MBC1SRamEnable], a @@ -553,24 +565,27 @@ Func_73a84: ; 73a84 (1c:7a84) ld [MBC1SRamBankingMode], a ld a, $2 ld [MBC1SRamBank], a - call Func_73ab8 + call GetMonCountsForBoxesInBank ld a, $3 ld [MBC1SRamBank], a - call Func_73ab8 + call GetMonCountsForBoxesInBank xor a ld [MBC1SRamBankingMode], a ld [MBC1SRamEnable], a pop hl + +; copy the count for the current box from WRAM ld a, [wCurrentBoxNum] and $7f ld c, a - ld b, $0 + ld b, 0 add hl, bc ld a, [W_NUMINBOX] ld [hl], a + ret -Func_73ab8: ; 73ab8 (1c:7ab8) +GetMonCountsForBoxesInBank: ; 73ab8 (1c:7ab8) ld a, [sBox1] ; sBox7 ld [hli], a ld a, [sBox2] ; sBox8 @@ -646,7 +661,7 @@ SaveHallOfFameTeams: ; 73b0d (1c:7b0d) LoadHallOfFameTeams: ; 73b3f (1c:7b3f) ld hl, sHallOfFame ld bc, HOF_TEAM - ld a, [wWhichTrade] + ld a, [wHoFTeamIndex] call AddNTimes ld de, wcc5b ld bc, HOF_TEAM diff --git a/engine/slot_machine.asm b/engine/slot_machine.asm index ea1eb315..cf6ad3d5 100755 --- a/engine/slot_machine.asm +++ b/engine/slot_machine.asm @@ -867,7 +867,7 @@ LoadSlotMachineTiles: ; 378a8 (d:78a8) ld bc, $00f0 call CopyData call EnableLCD - ld hl, wTrainerEngageDistance + ld hl, wSlotMachineWheel1Offset ld a, $1c ld [hli], a ld [hli], a diff --git a/engine/titlescreen.asm b/engine/titlescreen.asm index 3a4e2e4c..5acdd2c9 100755 --- a/engine/titlescreen.asm +++ b/engine/titlescreen.asm @@ -21,7 +21,7 @@ SetDefaultNamesBeforeTitlescreen: ; 42b7 (1:42b7) ld [wc0ef], a ld [wc0f0], a -LoadTitlescreenGraphics: ; 42dd (1:42dd) +DisplayTitleScreen: ; 42dd (1:42dd) call GBPalWhiteOut ld a, $1 ld [H_AUTOBGTRANSFERENABLED], a diff --git a/home/init.asm b/home/init.asm index 932797ac..3e8d1d2b 100644 --- a/home/init.asm +++ b/home/init.asm @@ -23,17 +23,17 @@ rLCDC_DEFAULT EQU %11100011 xor a ld [rIF], a ld [rIE], a - ld [$ff43], a - ld [$ff42], a + ld [rSCX], a + ld [rSCY], a ld [rSB], a ld [rSC], a ld [rWX], a - ld [$ff4a], a - ld [$ff06], a - ld [$ff07], a + ld [rWY], a + ld [rTMA], a + ld [rTAC], a ld [rBGP], a ld [rOBP0], a - ld [$ff49], a + ld [rOBP1], a ld a, rLCDC_ENABLE_MASK ld [rLCDC], a @@ -66,10 +66,10 @@ rLCDC_DEFAULT EQU %11100011 xor a ld [hTilesetType], a - ld [$ff41], a + ld [rSTAT], a ld [hSCX], a ld [hSCY], a - ld [$ff0f], a + ld [rIF], a ld a, 1 << VBLANK + 1 << TIMER + 1 << SERIAL ld [rIE], a diff --git a/hram.asm b/hram.asm index a05f3d18..8bbf7150 100644 --- a/hram.asm +++ b/hram.asm @@ -90,6 +90,8 @@ hNPCSpriteOffset EQU $FF95 ; temp value used when swapping bytes hSwapTemp EQU $FF95 +hExperience EQU $FF96 ; 3 bytes, big endian + ; Multiplcation and division variables are meant ; to overlap for back-to-back usage. Big endian. @@ -261,6 +263,8 @@ hQuotient2 EQU $FFE7 hSpriteVRAMSlotAndFacing EQU $FFE9 +hCoordsInFrontOfPlayerMatch EQU $FFEA + hSpriteAnimFrameCounter EQU $FFEA H_WHOSETURN EQU $FFF3 ; 0 on player’s turn, 1 on enemy’s turn diff --git a/macros.asm b/macros.asm index 5f1deaf6..ba83e73a 100644 --- a/macros.asm +++ b/macros.asm @@ -14,7 +14,7 @@ dex EQUS "db $5f, $50" ; End a Pokedex entry. percent EQUS "* $ff / 100" lb: MACRO ; r, hi, lo - ld \1, (\2) << 8 + (\3) + ld \1, (\2) << 8 + ((\3) & $ff) ENDM diff --git a/main.asm b/main.asm index 08747a5a..c90f5436 100755 --- a/main.asm +++ b/main.asm @@ -3743,7 +3743,7 @@ _AddPartyMon: ; f2e5 (3:72e5) dec de dec de xor a - ld [wHPBarMaxHP], a + ld [wLearningMovesFromDayCare], a predef WriteMonMoves pop de ld a, [wPlayerID] ; set trainer ID to player ID @@ -3758,13 +3758,13 @@ _AddPartyMon: ; f2e5 (3:72e5) callab CalcExperience pop de inc de - ld a, [H_MULTIPLICAND] ; write experience + ld a, [hExperience] ; write experience ld [de], a inc de - ld a, [H_MULTIPLICAND+1] + ld a, [hExperience + 1] ld [de], a inc de - ld a, [H_MULTIPLICAND+2] + ld a, [hExperience + 2] ld [de], a xor a ld b, $a diff --git a/scripts/agatha.asm b/scripts/agatha.asm index e65b1fa2..850cc0bb 100755 --- a/scripts/agatha.asm +++ b/scripts/agatha.asm @@ -67,7 +67,7 @@ AgathaScript0: ; 76490 (1d:6490) ld [hJoyHeld], a ld [wSimulatedJoypadStatesEnd], a ld [wSimulatedJoypadStatesIndex], a - ld a, [wWhichTrade] + ld a, [wCoordIndex] cp $3 jr c, .asm_764b4 ld hl, wd865 diff --git a/scripts/bruno.asm b/scripts/bruno.asm index bd28917c..76a5919a 100755 --- a/scripts/bruno.asm +++ b/scripts/bruno.asm @@ -67,7 +67,7 @@ BrunoScript0: ; 76339 (1d:6339) ld [hJoyHeld], a ld [wSimulatedJoypadStatesEnd], a ld [wSimulatedJoypadStatesIndex], a - ld a, [wWhichTrade] + ld a, [wCoordIndex] cp $3 jr c, .asm_7635d ld hl, wd864 diff --git a/scripts/ceruleancity.asm b/scripts/ceruleancity.asm index 20873a81..2c7bd449 100755 --- a/scripts/ceruleancity.asm +++ b/scripts/ceruleancity.asm @@ -42,7 +42,7 @@ CeruleanCityScript0: ; 194c8 (6:54c8) ld hl, CeruleanCityCoords1 call ArePlayerCoordsInArray jr nc, .asm_194f7 - ld a, [wWhichTrade] + ld a, [wCoordIndex] cp $1 ld a, $8 ld b, SPRITE_FACING_DOWN diff --git a/scripts/daycarem.asm b/scripts/daycarem.asm index 330f2234..794d681e 100755 --- a/scripts/daycarem.asm +++ b/scripts/daycarem.asm @@ -9,19 +9,19 @@ DayCareMText1: ; 56254 (15:6254) call SaveScreenTilesToBuffer2 ld a, [W_DAYCARE_IN_USE] 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 @@ -33,17 +33,17 @@ DayCareMText1: ; 56254 (15:6254) call RestoreScreenTilesAndReloadTilePatterns call LoadGBPal pop af - ld hl, DayCareMText_56437 - jp c, DayCareMScript_56409 + ld hl, DayCareAllRightThenText + jp c, .done callab KnowsHMMove - ld hl, DayCareMText_5644a - jp c, DayCareMScript_56409 + ld hl, DayCareCantAcceptMonWithHMText + jp c, .done xor 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 @@ -55,10 +55,10 @@ DayCareMText1: ; 56254 (15:6254) 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 call GetPartyMonName @@ -68,40 +68,41 @@ DayCareMScript_562e1: ; 562e1 (15:62e1) 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 + ld hl, DayCareNoRoomForMonText jp z, .asm_56403 ld de, wTrainerFacingDirection xor a @@ -112,7 +113,7 @@ DayCareMScript_562e1: ; 562e1 (15:62e1) ld a, $1 ld [hli], a ld [hl], $0 - ld a, [wTrainerEngageDistance] + ld a, [wDayCareNumLevelsGrown] inc a ld b, a ld c, $2 @@ -126,13 +127,13 @@ DayCareMScript_562e1: ; 562e1 (15:62e1) pop hl dec b jr nz, .asm_56357 - ld hl, DayCareMText_56428 + ld hl, DayCareOweMoneyText call PrintText ld a, $13 ld [wTextBoxID], a call DisplayTextBoxID call YesNoChoice - ld hl, DayCareMText_56437 + ld hl, DayCareAllRightThenText ld a, [wCurrentMenuItem] and a jp nz, .asm_56403 @@ -144,13 +145,13 @@ DayCareMScript_562e1: ; 562e1 (15:62e1) ld [hMoney + 2], a call HasEnoughMoney jr nc, .asm_56396 - ld hl, DayCareMText_56454 + ld hl, DayCareNotEnoughMoneyText jp .asm_56403 .asm_56396 xor a ld [W_DAYCARE_IN_USE], a - ld hl, wTrainerEngageDistance + ld hl, wDayCareNumLevelsGrown ld [hli], a inc hl ld de, wPlayerMoney + 2 @@ -161,7 +162,7 @@ DayCareMScript_562e1: ; 562e1 (15:62e1) ld a, MONEY_BOX ld [wTextBoxID], a call DisplayTextBoxID - ld hl, DayCareMText_5644f + ld hl, DayCareHeresYourMonText call PrintText ld a, DAYCARE_TO_PARTY ld [wMoveMonType], a @@ -178,10 +179,12 @@ DayCareMScript_562e1: ; 562e1 (15:62e1) ld d, h ld e, l ld a, 1 - ld [wHPBarMaxHP], a + ld [wLearningMovesFromDayCare], a predef WriteMonMoves pop bc pop af + +; set mon's HP to max ld hl, wPartyMon1HP call AddNTimes ld d, h @@ -193,73 +196,74 @@ DayCareMScript_562e1: ; 562e1 (15:62e1) 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] + 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: ; 5640f (15:640f) + TX_FAR _DayCareIntroText db "@" -DayCareMText_56414: ; 56414 (15:6414) - TX_FAR _DayCareMText_56414 +DayCareWhichMonText: ; 56414 (15:6414) + TX_FAR _DayCareWhichMonText db "@" -DayCareMText_56419: ; 56419 (15:6419) - TX_FAR _DayCareMText_56419 +DayCareWillLookAfterMonText: ; 56419 (15:6419) + TX_FAR _DayCareWillLookAfterMonText db "@" -DayCareMText_5641e: ; 5641e (15:641e) - TX_FAR _DayCareMText_5641e +DayCareComeSeeMeInAWhileText: ; 5641e (15:641e) + TX_FAR _DayCareComeSeeMeInAWhileText db "@" -DayCareMText_56423: ; 56423 (15:6423) - TX_FAR _DayCareMText_56423 +DayCareMonHasGrownText: ; 56423 (15:6423) + TX_FAR _DayCareMonHasGrownText db "@" -DayCareMText_56428: ; 56428 (15:6428) - TX_FAR _DayCareMText_56428 +DayCareOweMoneyText: ; 56428 (15:6428) + TX_FAR _DayCareOweMoneyText db "@" -DayCareMText_5642d: ; 5642d (15:642d) - TX_FAR _DayCareMText_5642d +DayCareGotMonBackText: ; 5642d (15:642d) + TX_FAR _DayCareGotMonBackText db "@" -DayCareMText_56432: ; 56432 (15:6432) - TX_FAR _DayCareMText_56432 +DayCareMonNeedsMoreTimeText: ; 56432 (15:6432) + TX_FAR _DayCareMonNeedsMoreTimeText db "@" -DayCareMText_56437: ; 56437 (15:6437) - TX_FAR _DayCareMText_56437 -DayCareMText_5643b: ; 5643b (15:643b) - TX_FAR _DayCareMText_5643b +DayCareAllRightThenText: ; 56437 (15:6437) + TX_FAR _DayCareAllRightThenText +DayCareComeAgainText: ; 5643b (15:643b) + TX_FAR _DayCareComeAgainText db "@" -DayCareMText_56440: ; 56440 (15:6440) - TX_FAR _DayCareMText_56440 +DayCareNoRoomForMonText: ; 56440 (15:6440) + TX_FAR _DayCareNoRoomForMonText db "@" -DayCareMText_56445: ; 56445 (15:6445) - TX_FAR _DayCareMText_56445 +DayCareOnlyHaveOneMonText: ; 56445 (15:6445) + TX_FAR _DayCareOnlyHaveOneMonText db "@" -DayCareMText_5644a: ; 5644a (15:644a) - TX_FAR _DayCareMText_5644a +DayCareCantAcceptMonWithHMText: ; 5644a (15:644a) + TX_FAR _DayCareCantAcceptMonWithHMText db "@" -DayCareMText_5644f: ; 5644f (15:644f) - TX_FAR _DayCareMText_5644f +DayCareHeresYourMonText: ; 5644f (15:644f) + TX_FAR _DayCareHeresYourMonText db "@" -DayCareMText_56454: ; 56454 (15:6454) - TX_FAR _DayCareMText_56454 +DayCareNotEnoughMoneyText: ; 56454 (15:6454) + TX_FAR _DayCareNotEnoughMoneyText db "@" diff --git a/scripts/lance.asm b/scripts/lance.asm index e335914b..a4089be4 100755 --- a/scripts/lance.asm +++ b/scripts/lance.asm @@ -60,7 +60,7 @@ LanceScript0: ; 5a305 (16:6305) jp nc, CheckFightingMapTrainers xor a ld [hJoyHeld], a - ld a, [wWhichTrade] + ld a, [wCoordIndex] cp $3 jr nc, .asm_5a325 ld a, $1 diff --git a/scripts/lorelei.asm b/scripts/lorelei.asm index 1f1fcde0..eb6c3e7d 100755 --- a/scripts/lorelei.asm +++ b/scripts/lorelei.asm @@ -68,7 +68,7 @@ LoreleiScript0: ; 761e2 (1d:61e2) ld [hJoyHeld], a ld [wSimulatedJoypadStatesEnd], a ld [wSimulatedJoypadStatesIndex], a - ld a, [wWhichTrade] + ld a, [wCoordIndex] cp $3 jr c, .asm_76206 ld hl, wd863 diff --git a/scripts/mansion3.asm b/scripts/mansion3.asm index fa31718f..c22bf761 100755 --- a/scripts/mansion3.asm +++ b/scripts/mansion3.asm @@ -65,7 +65,7 @@ Mansion3Script_5225b: ; 5225b (14:625b) ret nz call ArePlayerCoordsInArray ret nc - ld a, [wWhichTrade] + ld a, [wCoordIndex] ld [wWhichDungeonWarp], a ld hl, wd72d set 4, [hl] diff --git a/scripts/mtmoonpokecenter.asm b/scripts/mtmoonpokecenter.asm index bba73dbd..d4996b4b 100755 --- a/scripts/mtmoonpokecenter.asm +++ b/scripts/mtmoonpokecenter.asm @@ -25,51 +25,51 @@ MtMoonPokecenterText4: ; 492ec (12:52ec) TX_ASM ld a, [wd7c6] add a - jp c, .asm_49353 + jp c, .alreadyBoughtMagikarp ld hl, MtMoonPokecenterText_4935c 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 + jp nz, .choseNo ld [hMoney], a ld [hMoney + 2], a ld a, $5 ld [hMoney + 1], a call HasEnoughMoney - jr nc, .asm_faa09 + jr nc, .enoughMoney ld hl, MtMoonPokecenterText_49366 - jr .asm_49356 -.asm_faa09 + jr .printText +.enoughMoney ld bc,(MAGIKARP << 8) | 5 call GivePokemon - jr nc, .asm_49359 + 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 -.asm_4934e + jr .done +.choseNo ld hl, MtMoonPokecenterText_49361 - jr .asm_49356 -.asm_49353 + jr .printText +.alreadyBoughtMagikarp ld hl, MtMoonPokecenterText_4936b -.asm_49356 +.printText call PrintText -.asm_49359 +.done jp TextScriptEnd MtMoonPokecenterText_4935c: ; 4935c (12:535c) diff --git a/scripts/museum1f.asm b/scripts/museum1f.asm index 38c3f717..f4d7de10 100755 --- a/scripts/museum1f.asm +++ b/scripts/museum1f.asm @@ -96,11 +96,11 @@ Museum1FText1: ; 5c135 (17:4135) ld hl, wd754 set 0, [hl] xor a - ld [wMuseumPriceTemp], a - ld [wMuseumPriceTemp + 1], a + ld [wPriceTemp], a + ld [wPriceTemp + 1], a ld a, $50 - ld [wMuseumPriceTemp + 2], a - ld hl, wMuseumPriceTemp + 2 + ld [wPriceTemp + 2], a + ld hl, wPriceTemp + 2 ld de, wPlayerMoney + 2 ld c, $3 predef SubBCDPredef diff --git a/scripts/oakslab.asm b/scripts/oakslab.asm index 5463b879..226c2d2d 100755 --- a/scripts/oakslab.asm +++ b/scripts/oakslab.asm @@ -307,7 +307,7 @@ OaksLabScript9: ; 1cd00 (7:4d00) ld a, $d ld [hSpriteIndexOrTextID], a call DisplayTextID - ld a, [wTrainerEngageDistance] + ld a, [wRivalStarterBallSpriteIndex] cp $2 jr nz, .asm_1cd28 ld a, HS_STARTER_BALL_1 @@ -323,7 +323,7 @@ OaksLabScript9: ; 1cd00 (7:4d00) ld [wcc4d], a predef HideObject call Delay3 - ld a, [wWhichTrade] + ld a, [wRivalStarterTemp] ld [W_RIVALSTARTER], a ld [wcf91], a ld [wd11e], a @@ -806,9 +806,9 @@ OaksLabText29: ; 1d102 (7:5102) OaksLabText2: ; 1d102 (7:5102) 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 @@ -817,9 +817,9 @@ OaksLabText30: ; 1d113 (7:5113) OaksLabText3: ; 1d113 (7:5113) 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 @@ -828,9 +828,9 @@ OaksLabText31: ; 1d124 (7:5124) OaksLabText4: ; 1d124 (7:5124) 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 @@ -858,13 +858,13 @@ OaksLabScript_1d157: ; 1d157 (7:5157) ld a, $9 ld [H_SPRITEDATAOFFSET], a call GetPointerWithinSpriteStateData1 - ld [hl], $0 + ld [hl], SPRITE_FACING_DOWN ld a, $1 ld [H_SPRITEINDEX], a ld a, $9 ld [H_SPRITEDATAOFFSET], a call GetPointerWithinSpriteStateData1 - ld [hl], $c + ld [hl], SPRITE_FACING_RIGHT ld hl, wd730 set 6, [hl] predef StarterDex ; StarterDex diff --git a/scripts/pewterpokecenter.asm b/scripts/pewterpokecenter.asm index 42bc3086..584878eb 100755 --- a/scripts/pewterpokecenter.asm +++ b/scripts/pewterpokecenter.asm @@ -26,39 +26,45 @@ PewterPokecenterText3: ; 5c59b (17:459b) ld c, 32 call DelayFrames ld hl, JigglypuffFacingDirections - ld de, wTrainerFacingDirection - ld bc, $0004 + ld de, wJigglypuffFacingDirections + ld bc, 4 call CopyData - ld a, [wSpriteStateData1 + $32] - ld hl, wTrainerFacingDirection -.asm_5c5c3 + + ld a, [wSpriteStateData1 + 3 * $10 + $2] + ld hl, wJigglypuffFacingDirections +.findMatchingFacingDirectionLoop cp [hl] inc hl - jr nz, .asm_5c5c3 + 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 [wSpriteStateData1 + 3 * $10 + $2], a + +; rotate the array push hl - ld hl, wTrainerFacingDirection - ld de, wTrainerEngageDistance - ld bc, $0004 + ld hl, wJigglypuffFacingDirections + ld de, wJigglypuffFacingDirections - 1 + ld bc, 4 call CopyData - ld a, [wTrainerEngageDistance] - ld [wcd42], a + ld a, [wJigglypuffFacingDirections - 1] + ld [wJigglypuffFacingDirections + 3], a pop hl + ld c, 24 call DelayFrames + ld a, [wc026] ld b, a ld a, [wc027] or b - jr nz, .asm_5c5d1 + jr nz, .loop + ld c, 48 call DelayFrames call PlayDefaultMusic diff --git a/scripts/safarizoneentrance.asm b/scripts/safarizoneentrance.asm index e89630fc..2e5b55f7 100755 --- a/scripts/safarizoneentrance.asm +++ b/scripts/safarizoneentrance.asm @@ -26,7 +26,7 @@ SafariZoneEntranceScriptPointers: ; 751d9 (1d:51d9) ld [hJoyHeld], a ld a, SPRITE_FACING_RIGHT ld [wSpriteStateData1 + 9], a - ld a, [wWhichTrade] + ld a, [wCoordIndex] cp $1 jr z, .asm_7520f ld a, $2 diff --git a/scripts/seafoamislands1.asm b/scripts/seafoamislands1.asm index 6a8b23ea..f71fc648 100755 --- a/scripts/seafoamislands1.asm +++ b/scripts/seafoamislands1.asm @@ -10,7 +10,7 @@ SeafoamIslands1Script: ; 447e9 (11:47e9) call CheckBoulderCoords ret nc ld hl, wd7e8 - ld a, [wWhichTrade] + ld a, [wCoordIndex] cp $1 jr nz, .asm_44819 set 6, [hl] @@ -36,7 +36,7 @@ SeafoamIslands1Script: ; 447e9 (11:47e9) ld a, $9f ld [wDungeonWarpDestinationMap], a ld hl, Seafoam1HolesCoords - jp Func_46981 + jp IsPlayerOnDungeonWarp Seafoam1HolesCoords: ; 44846 (11:4846) db $06,$11 diff --git a/scripts/seafoamislands2.asm b/scripts/seafoamislands2.asm index 44e92bd0..a62d6bda 100755 --- a/scripts/seafoamislands2.asm +++ b/scripts/seafoamislands2.asm @@ -8,7 +8,7 @@ SeafoamIslands2Script: ; 46315 (11:6315) call CheckBoulderCoords ret nc ld hl, wd87f - ld a, [wWhichTrade] + ld a, [wCoordIndex] cp $1 jr nz, .asm_46340 set 0, [hl] @@ -34,7 +34,7 @@ SeafoamIslands2Script: ; 46315 (11:6315) ld a, $a0 ld [wDungeonWarpDestinationMap], a ld hl, Seafoam2HolesCoords - jp Func_46981 + jp IsPlayerOnDungeonWarp Seafoam2HolesCoords: ; 4636d (11:636d) db $06,$12 diff --git a/scripts/seafoamislands3.asm b/scripts/seafoamislands3.asm index 882553ab..0b650135 100755 --- a/scripts/seafoamislands3.asm +++ b/scripts/seafoamislands3.asm @@ -8,7 +8,7 @@ SeafoamIslands3Script: ; 46451 (11:6451) call CheckBoulderCoords ret nc ld hl, wd880 - ld a, [wWhichTrade] + ld a, [wCoordIndex] cp $1 jr nz, .asm_4647c set 0, [hl] @@ -34,7 +34,7 @@ SeafoamIslands3Script: ; 46451 (11:6451) ld a, $a1 ld [wDungeonWarpDestinationMap], a ld hl, Seafoam3HolesCoords - jp Func_46981 + jp IsPlayerOnDungeonWarp Seafoam3HolesCoords: ; 464a9 (11:64a9) db $06,$13 diff --git a/scripts/seafoamislands4.asm b/scripts/seafoamislands4.asm index 8009e221..f16ab2c6 100755 --- a/scripts/seafoamislands4.asm +++ b/scripts/seafoamislands4.asm @@ -8,7 +8,7 @@ SeafoamIslands4Script: ; 4658d (11:658d) call CheckBoulderCoords ret nc ld hl, wd881 - ld a, [wWhichTrade] + ld a, [wCoordIndex] cp $1 jr nz, .asm_465b8 set 0, [hl] @@ -35,7 +35,7 @@ SeafoamIslands4Script: ; 4658d (11:658d) ld a, $a2 ld [wDungeonWarpDestinationMap], a ld hl, Seafoam4HolesCoords - call Func_46981 + call IsPlayerOnDungeonWarp ld a, [wd732] bit 4, a ret nz diff --git a/scripts/seafoamislands5.asm b/scripts/seafoamislands5.asm index 47583600..ab303728 100755 --- a/scripts/seafoamislands5.asm +++ b/scripts/seafoamislands5.asm @@ -34,7 +34,7 @@ SeafoamIslands5Script0: ; 467c7 (11:67c7) ld hl, CoordsData_467fe call ArePlayerCoordsInArray ret nc - ld a, [wWhichTrade] + ld a, [wCoordIndex] cp $3 jr nc, .asm_467e6 ld a, $40 @@ -81,7 +81,7 @@ SeafoamIslands5Script2: ; 46816 (11:6816) 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 diff --git a/scripts/silphco7.asm b/scripts/silphco7.asm index 8538d37f..5043b947 100755 --- a/scripts/silphco7.asm +++ b/scripts/silphco7.asm @@ -142,7 +142,7 @@ SilphCo7Script0: ; 51c23 (14:5c23) ld [H_SPRITEINDEX], a call SetSpriteMovementBytesToFF ld de, MovementData_51c7d - ld a, [wWhichTrade] + ld a, [wCoordIndex] ld [wcf0d], a cp $1 jr z, .asm_51c6c diff --git a/scripts/vermiliondock.asm b/scripts/vermiliondock.asm index a8cf3b8d..adae2e91 100755 --- a/scripts/vermiliondock.asm +++ b/scripts/vermiliondock.asm @@ -57,15 +57,15 @@ VermilionDock_1db9b: ; 1db9b (7:5b9b) ld bc, $0078 ld a, $14 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 @@ -88,11 +88,11 @@ 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 @@ -105,7 +105,7 @@ VermilionDock_1db9b: ; 1db9b (7:5b9b) dec e jr nz, .asm_1dbfa xor a - ld [$ff4a], a + ld [rWY], a ld [hWY], a call VermilionDock_1dc94 ld a, $90 @@ -122,33 +122,34 @@ VermilionDock_1db9b: ; 1db9b (7:5b9b) dec [hl] ret -VermilionDock_1dc42: ; 1dc42 (7:5c42) +VermilionDock_AnimSmokePuffDriftRight: ; 1dc42 (7:5c42) 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 + jr nz, .loop pop de pop bc ret -VermilionDock_1dc59: ; 1dc59 (7:5c59) - ld a, [wTrainerEngageDistance] - sub $10 - ld [wTrainerEngageDistance], a +VermilionDock_EmitSmokePuff: ; 1dc59 (7:5c59) +; 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 @@ -171,7 +172,7 @@ VermilionDock_1dc7c: ; 1dc7c (7:5c7c) cp l jr nz, .asm_1dc86 ld a, h - ld [$ff43], a + ld [rSCX], a .asm_1dc8e ld a, [rLY] cp h diff --git a/scripts/victoryroad2.asm b/scripts/victoryroad2.asm index 51346032..fd095638 100755 --- a/scripts/victoryroad2.asm +++ b/scripts/victoryroad2.asm @@ -49,7 +49,7 @@ VictoryRoad2Script0: ; 517f1 (14:57f1) call CheckBoulderCoords jp nc, CheckFightingMapTrainers ld hl, wd7ee - ld a, [wWhichTrade] + ld a, [wCoordIndex] cp $2 jr z, .asm_5180b bit 0, [hl] diff --git a/scripts/victoryroad3.asm b/scripts/victoryroad3.asm index 9aeb1d18..14b6895d 100755 --- a/scripts/victoryroad3.asm +++ b/scripts/victoryroad3.asm @@ -34,7 +34,7 @@ VictoryRoad3Script0: ; 449b7 (11:49b7) ld hl, .coordsData_449f9 call CheckBoulderCoords jp nc, .asm_449fe - ld a, [wWhichTrade] + ld a, [wCoordIndex] cp $1 jr nz, .asm_449dc ld hl, wd126 @@ -60,11 +60,11 @@ VictoryRoad3Script0: ; 449b7 (11:49b7) db $FF .asm_449fe - ld a, $c2 + ld a, VICTORY_ROAD_2 ld [wDungeonWarpDestinationMap], a ld hl, .coordsData_449f9 - call Func_46981 - ld a, [wWhichTrade] + call IsPlayerOnDungeonWarp + ld a, [wCoordIndex] cp $1 jr nz, .asm_44a1b ld hl, wd72d diff --git a/sram.asm b/sram.asm index 9d498df9..f0cf6fac 100644 --- a/sram.asm +++ b/sram.asm @@ -29,8 +29,8 @@ sBox3:: ds wBoxMonNicksEnd - W_NUMINBOX ; a8c4 sBox4:: ds wBoxMonNicksEnd - W_NUMINBOX ; ad26 sBox5:: ds wBoxMonNicksEnd - W_NUMINBOX ; b188 sBox6:: ds wBoxMonNicksEnd - W_NUMINBOX ; b5ea -sBoxes1CheckSum:: ds 1 ; ba4c -sBoxes1CheckSum2:: ds 6 ; ba4d +sBank2AllBoxesChecksum:: ds 1 ; ba4c +sBank2IndividualBoxChecksums:: ds 6 ; ba4d SECTION "Saved Boxes 2", SRAM, BANK[3] @@ -41,5 +41,5 @@ sBox9:: ds wBoxMonNicksEnd - W_NUMINBOX ; a8c4 sBox10:: ds wBoxMonNicksEnd - W_NUMINBOX ; ad26 sBox11:: ds wBoxMonNicksEnd - W_NUMINBOX ; b188 sBox12:: ds wBoxMonNicksEnd - W_NUMINBOX ; b5ea -sBoxes2CheckSum:: ds 1 ; ba4c -sBoxes2CheckSum2:: ds 6 ; ba4d +sBank3AllBoxesChecksum:: ds 1 ; ba4c +sBank3IndividualBoxChecksums:: ds 6 ; ba4d diff --git a/text/maps/daycare_1.asm b/text/maps/daycare_1.asm index a4182351..a42e3cf2 100644 --- a/text/maps/daycare_1.asm +++ b/text/maps/daycare_1.asm @@ -1,16 +1,16 @@ -_DayCareMText_5640f:: ; 8ab95 (22:6b95) +_DayCareIntroText:: ; 8ab95 (22:6b95) text "I run a DAYCARE." line "Would you like me" cont "to raise one of" cont "your #MON?" done -_DayCareMText_56414:: ; 8abd4 (22:6bd4) +_DayCareWhichMonText:: ; 8abd4 (22:6bd4) text "Which #MON" line "should I raise?" prompt -_DayCareMText_56419:: ; 8abf0 (22:6bf0) +_DayCareWillLookAfterMonText:: ; 8abf0 (22:6bf0) text "Fine, I'll look" line "after @" TX_RAM wcd6d @@ -18,12 +18,12 @@ _DayCareMText_56419:: ; 8abf0 (22:6bf0) cont "for a while." prompt -_DayCareMText_5641e:: ; 8ac19 (22:6c19) +_DayCareComeSeeMeInAWhileText:: ; 8ac19 (22:6c19) text "Come see me in" line "a while." done -_DayCareMText_56423:: ; 8ac32 (22:6c32) +_DayCareMonHasGrownText:: ; 8ac32 (22:6c32) text "Your @" TX_RAM wcd6d db $0 @@ -31,15 +31,13 @@ _DayCareMText_56423:: ; 8ac32 (22:6c32) para "By level, it's" line "grown by @" - -DayCareMText_8ac67:: ; 8ac67 (22:6c67) - TX_NUM wTrainerEngageDistance,$1,$3 + TX_NUM wDayCareNumLevelsGrown,$1,$3 text "!" para "Aren't I great?" prompt -_DayCareMText_56428:: ; 8ac7d (22:6c7d) +_DayCareOweMoneyText:: ; 8ac7d (22:6c7d) text "You owe me ¥@" TX_BCD wcd3f, $c2 db $0 @@ -47,14 +45,14 @@ _DayCareMText_56428:: ; 8ac7d (22:6c7d) cont "of this #MON." done -_DayCareMText_5642d:: ; 8acae (22:6cae) +_DayCareGotMonBackText:: ; 8acae (22:6cae) text $52, " got" line "@" TX_RAM W_DAYCAREMONNAME text " back!" done -_DayCareMText_56432:: ; 8acc1 (22:6cc1) +_DayCareMonNeedsMoreTimeText:: ; 8acc1 (22:6cc1) text "Back already?" line "Your @" TX_RAM wcd6d diff --git a/text/maps/daycare_2.asm b/text/maps/daycare_2.asm index c6478a76..b5104e60 100644 --- a/text/maps/daycare_2.asm +++ b/text/maps/daycare_2.asm @@ -1,8 +1,8 @@ -_DayCareMText_56437:: ; 8c000 (23:4000) +_DayCareAllRightThenText:: ; 8c000 (23:4000) text "All right then," line "@@" -_DayCareMText_5643b:: ; 8c013 (23:4013) +_DayCareComeAgainText:: ; 8c013 (23:4013) IF DEF(_YELLOW) text "Come again." ELSE @@ -10,28 +10,28 @@ ELSE ENDC done -_DayCareMText_56440:: ; 8c020 (23:4020) +_DayCareNoRoomForMonText:: ; 8c020 (23:4020) text "You have no room" line "for this #MON!" done -_DayCareMText_56445:: ; 8c041 (23:4041) +_DayCareOnlyHaveOneMonText:: ; 8c041 (23:4041) text "You only have one" line "#MON with you." done -_DayCareMText_5644a:: ; 8c063 (23:4063) +_DayCareCantAcceptMonWithHMText:: ; 8c063 (23:4063) text "I can't accept a" line "#MON that" cont "knows an HM move." done -_DayCareMText_5644f:: ; 8c090 (23:4090) +_DayCareHeresYourMonText:: ; 8c090 (23:4090) text "Thank you! Here's" line "your #MON!" prompt -_DayCareMText_56454:: ; 8c0ad (23:40ad) +_DayCareNotEnoughMoneyText:: ; 8c0ad (23:40ad) text "Hey, you don't" line "have enough ¥!" done diff --git a/wram.asm b/wram.asm index 8633e732..f089352b 100755 --- a/wram.asm +++ b/wram.asm @@ -424,6 +424,10 @@ wNumStepsToTake:: ; cca1 wRLEByteCount:: ; ccd2 ds 1 +wAddedToParty:: ; ccd3 +; 0 = not added +; 1 = added + wSimulatedJoypadStatesEnd:: ; ccd3 ; this is the end of the joypad states ; the list starts above this address and extends downwards in memory until here @@ -431,7 +435,13 @@ wSimulatedJoypadStatesEnd:: ; ccd3 wParentMenuItem:: ; ccd3 -wccd3:: ds 1 ; used in battle, pokemon, PC and game corner stuff +wCanEvolveFlags:: ; ccd3 +; 1 flag for each party member indicating whether it can evolve +; The purpose of these flags is to track which mons levelled up during the +; current battle at the end of the battle when evolution occurs. +; Other methods of evolution simply set it by calling TryEvolvingMon. + ds 1 + wForceEvolution:: wccd4:: ds 1 ; has a direct reference for simulated joypad stuff in vermillion and seafoam @@ -634,9 +644,33 @@ wOverrideSimulatedJoypadStatesMask:: ; cd3b ds 1 +wHoFTeamIndex:: ; cd3d + +wSSAnneSmokeDriftAmount:: ; cd3d +; multiplied by 16 to get the number of times to go right by 2 pixels + +wRivalStarterTemp:: ; cd3d + +wBoxMonCounts:: ; cd3d +; 12 bytes +; array of the number of mons in each box + +wDexMaxSeenMon:: ; cd3d + +wPPRestoreItem:: ; cd3d + +wWereAnyMonsAsleep:: ; cd3d + +wCanPlaySlots:: ; cd3d + +wNumShakes:: ; cd3d + +wDayCareStartLevel:: ; cd3d +; the level of the mon at the time it entered day care + wWhichBadge:: ; cd3d -wMuseumPriceTemp:: ; cd3d +wPriceTemp:: ; cd3d ; 3-byte BCD number wTitleMonSpecies:: ; cd3d @@ -701,6 +735,12 @@ wWhichTrade:: ; cd3d wTrainerSpriteOffset:: ; cd3d ds 1 +wSSAnneSmokeX:: ; cd3e + +wRivalStarterBallSpriteIndex:: ; cd3e + +wDayCareNumLevelsGrown:: ; cd3e + wOptionsBattleAnimCursorX:: ; cd3e wTrainerInfoTextBoxWidth:: ; cd3e @@ -733,6 +773,8 @@ wHiddenObjectFunctionRomBank:: ; cd3e wTrainerEngageDistance:: ; cd3e ds 1 +wJigglypuffFacingDirections:: ; cd3f + wOptionsBattleStyleCursorX:: ; cd3f wTrainerInfoTextBoxNextRowOffset:: ; cd3f @@ -774,6 +816,10 @@ wHiddenObjectY:: ; cd40 wTrainerScreenY:: ; cd40 ds 1 +wHoFTeamIndex2:: ; cd41 + +wHiddenItemOrCoinsIndex:: ; cd41 + wTradedPlayerMonOT:: ; cd41 wHiddenObjectX:: ; cd41 @@ -962,16 +1008,32 @@ wTileMapBackup2:: ; cd81 ; second buffer for temporarily saving and restoring current screen's tiles (e.g. if menus are drawn on top) ds 20 * 18 +wEvoOldSpecies:: ; cee9 + wBuffer:: ; cee9 ; Temporary storage area of 30 bytes. wTownMapCoords:: ; cee9 ; lower nybble is x, upper nybble is y +wLearningMovesFromDayCare:: ; cee9 +; whether WriteMonMoves is being used to make a mon learn moves from day care +; non-zero if so + wHPBarMaxHP:: ; cee9 - ds 2 + ds 1 + +wEvoNewSpecies:: ; ceea + ds 1 + +wEvoMonTileOffset:: ; ceeb + wHPBarOldHP:: ; ceeb - ds 2 + ds 1 + +wEvoCancelled:: ; ceec + ds 1 + wHPBarNewHP:: ; ceed ds 2 wHPBarDelta:: ; ceef @@ -1453,7 +1515,10 @@ W_SUBANIMCOUNTER:: ; d087 ; counts the number of subentries left in the current subanimation ds 1 -wd088:: ds 1 ; savefile checksum (if file is corrupted) +wSaveFileStatus:: +; 1 = no save file or save file is corrupted +; 2 = save file exists and no corruption has been detected + ds 1 W_NUMFBTILES:: ; d089 ; number of tiles in current battle animation frame block @@ -1462,6 +1527,8 @@ W_NUMFBTILES:: ; d089 wTradedMonMovingRight:: ; d08a ; $01 if mon is moving from left gameboy to right gameboy; $00 if vice versa +wOptionsInitialized:: ; d08a + wd08a:: ds 1 ; used with sprites and displaying the option menu on the main menu screen? wAnimCounter:: ; d08b @@ -2079,6 +2146,8 @@ wBoxItems:: ; d53b ds 1 ; end wCurrentBoxNum:: ; d5a0 +; bits 0-6: box number +; bit 7: whether the player has changed boxes before ds 2 wNumHoFTeams:: ; d5a2 @@ -2319,8 +2388,11 @@ W_ROUTE18GATECURSCRIPT:: ; d669 ds 134 -wd6f0:: ds 14 ; flags for hidden items? -wd6fe:: ds 2 ; flags for hidden coins? +wObtainedHiddenItemsFlags:: + ds 14 + +wObtainedHiddenCoinsFlags:: + ds 2 wWalkBikeSurfState:: ; d700 ; $00 = walking -- cgit v1.3.1-sl0p From ea9cc86949cecc3508aeac06b807372b6b0134d8 Mon Sep 17 00:00:00 2001 From: dannye Date: Sun, 19 Jul 2015 03:46:12 -0500 Subject: Name sound effects --- audio.asm | 16 +- constants/music_constants.asm | 176 +++++++++++++++++ engine/battle/animations.asm | 350 ++++++++++++++++----------------- engine/battle/common_text.asm | 2 +- engine/battle/core.asm | 10 +- engine/battle/trainer_ai.asm | 2 +- engine/evolution.asm | 2 +- engine/evos_moves.asm | 2 +- engine/gamefreak.asm | 2 +- engine/hidden_object_functions17.asm | 8 +- engine/hidden_object_functions7.asm | 16 +- engine/intro.asm | 20 +- engine/items/items.asm | 24 +-- engine/learn_move.asm | 2 +- engine/menu/main_menu.asm | 2 +- engine/menu/naming_screen.asm | 2 +- engine/menu/pc.asm | 12 +- engine/menu/players_pc.asm | 8 +- engine/menu/start_menu.asm | 2 +- engine/menu/start_sub_menus.asm | 2 +- engine/menu/vending_machine.asm | 2 +- engine/oak_speech.asm | 2 +- engine/overworld/cable_club_npc.asm | 2 +- engine/overworld/card_key.asm | 2 +- engine/overworld/cut.asm | 2 +- engine/overworld/elevator.asm | 4 +- engine/overworld/healing_machine.asm | 2 +- engine/overworld/hidden_items.asm | 2 +- engine/overworld/ledges.asm | 2 +- engine/overworld/player_animations.asm | 12 +- engine/overworld/pokemart.asm | 2 +- engine/save.asm | 4 +- engine/slot_machine.asm | 10 +- engine/titlescreen.asm | 4 +- engine/town_map.asm | 6 +- engine/trade.asm | 4 +- home.asm | 6 +- home/overworld.asm | 12 +- home/text.asm | 14 +- main.asm | 8 +- scripts/celadongamecorner.asm | 4 +- scripts/cinnabargym.asm | 2 +- scripts/daycarem.asm | 2 +- scripts/lance.asm | 2 +- scripts/mansion1.asm | 2 +- scripts/mansion2.asm | 2 +- scripts/museum1f.asm | 2 +- scripts/rockethideout1.asm | 2 +- scripts/rockethideout2.asm | 2 +- scripts/rockethideout3.asm | 2 +- scripts/rockethideout4.asm | 2 +- scripts/route22gate.asm | 2 +- scripts/route23.asm | 2 +- scripts/vermiliondock.asm | 4 +- scripts/vermiliongym.asm | 2 +- scripts/viridiangym.asm | 2 +- 56 files changed, 487 insertions(+), 311 deletions(-) (limited to 'scripts/vermiliondock.asm') diff --git a/audio.asm b/audio.asm index aaf4f8ed..27570b93 100644 --- a/audio.asm +++ b/audio.asm @@ -538,7 +538,7 @@ INCLUDE "audio/engine_2.asm" Music_PokeFluteInBattle:: ; 22306 (8:6306) - ld a, (SFX_08_46 - SFX_Headers_08) / 3 ; PokeFlute outside of battle + ld a, SFX_BATTLE_06 ; PokeFlute outside of battle call PlaySoundWaitForCurrent ld hl, wc00e ld de, SFX_08_PokeFlute_Ch1 @@ -583,13 +583,13 @@ PlayPokedexRatingSfx:: ; 7d13b (1f:513b) jp PlayDefaultMusic PokedexRatingSfxPointers: ; 7d162 (1f:5162) - db (SFX_1f_51 - SFX_Headers_1f) / 3, BANK(SFX_1f_51) - db (SFX_02_41 - SFX_Headers_02) / 3, BANK(SFX_02_41) - db (SFX_02_3a - SFX_Headers_02) / 3, BANK(SFX_02_3a) - db (SFX_08_46 - SFX_Headers_08) / 3, BANK(SFX_08_46) - db (SFX_08_3a - SFX_Headers_08) / 3, BANK(SFX_08_3a) - db (SFX_02_42 - SFX_Headers_02) / 3, BANK(SFX_02_42) - db (SFX_02_3b - SFX_Headers_02) / 3, BANK(SFX_02_3b) + db SFX_DENIED, BANK(SFX_1f_51) + db SFX_POKEDEX_RATING, BANK(SFX_02_41) + db SFX_GET_ITEM_1, BANK(SFX_02_3a) + db SFX_BATTLE_06, BANK(SFX_08_46) + db SFX_LEVEL_UP, BANK(SFX_08_3a) + db SFX_GET_KEY_ITEM, BANK(SFX_02_42) + db SFX_GET_ITEM_2, BANK(SFX_02_3b) OwnedMonValues: ; 7d170 (1f:5170) db 10, 40, 60, 90, 120, 150, $ff diff --git a/constants/music_constants.asm b/constants/music_constants.asm index 30d11543..260ccd39 100644 --- a/constants/music_constants.asm +++ b/constants/music_constants.asm @@ -4,6 +4,7 @@ music_const: MACRO \1 EQUS "((\2 - SFX_Headers_02) / 3)" ENDM + ; AUDIO_1 music_const MUSIC_PALLET_TOWN, Music_PalletTown music_const MUSIC_POKECENTER, Music_Pokecenter music_const MUSIC_GYM, Music_Gym @@ -25,6 +26,7 @@ ENDM music_const MUSIC_ROUTES4, Music_Routes4 music_const MUSIC_INDIGO_PLATEAU, Music_IndigoPlateau + ; AUDIO_2 music_const MUSIC_GYM_LEADER_BATTLE, Music_GymLeaderBattle music_const MUSIC_TRAINER_BATTLE, Music_TrainerBattle music_const MUSIC_WILD_BATTLE, Music_WildBattle @@ -33,6 +35,7 @@ ENDM music_const MUSIC_DEFEATED_WILD_MON, Music_DefeatedWildMon music_const MUSIC_DEFEATED_GYM_LEADER, Music_DefeatedGymLeader + ; AUDIO_3 music_const MUSIC_TITLE_SCREEN, Music_TitleScreen music_const MUSIC_CREDITS, Music_Credits music_const MUSIC_HALL_OF_FAME, Music_HallOfFame @@ -52,3 +55,176 @@ ENDM music_const MUSIC_MEET_FEMALE_TRAINER, Music_MeetFemaleTrainer music_const MUSIC_MEET_MALE_TRAINER, Music_MeetMaleTrainer + ; AUDIO_1 AUDIO_2 AUDIO_3 + music_const SFX_SNARE_1, SFX_02_01 + music_const SFX_SNARE_2, SFX_02_02 + music_const SFX_SNARE_3, SFX_02_03 + music_const SFX_SNARE_4, SFX_02_04 + music_const SFX_SNARE_5, SFX_02_05 + music_const SFX_TRIANGLE_1, SFX_02_06 + music_const SFX_TRIANGLE_2, SFX_02_07 + music_const SFX_SNARE_6, SFX_02_08 + music_const SFX_SNARE_7, SFX_02_09 + music_const SFX_SNARE_8, SFX_02_0a + music_const SFX_SNARE_9, SFX_02_0b + music_const SFX_CYMBAL_1, SFX_02_0c + music_const SFX_CYMBAL_2, SFX_02_0d + music_const SFX_CYMBAL_3, SFX_02_0e + music_const SFX_MUTED_SNARE_1, SFX_02_0f + music_const SFX_TRIANGLE_3, SFX_02_10 + music_const SFX_MUTED_SNARE_2, SFX_02_11 + music_const SFX_MUTED_SNARE_3, SFX_02_12 + music_const SFX_MUTED_SNARE_4, SFX_02_13 + music_const SFX_CRY_00, SFX_02_14 + music_const SFX_CRY_01, SFX_02_15 + music_const SFX_CRY_02, SFX_02_16 + music_const SFX_CRY_03, SFX_02_17 + music_const SFX_CRY_04, SFX_02_18 + music_const SFX_CRY_05, SFX_02_19 + music_const SFX_CRY_06, SFX_02_1a + music_const SFX_CRY_07, SFX_02_1b + music_const SFX_CRY_08, SFX_02_1c + music_const SFX_CRY_09, SFX_02_1d + music_const SFX_CRY_0A, SFX_02_1e + music_const SFX_CRY_0B, SFX_02_1f + music_const SFX_CRY_0C, SFX_02_20 + music_const SFX_CRY_0D, SFX_02_21 + music_const SFX_CRY_0E, SFX_02_22 + music_const SFX_CRY_0F, SFX_02_23 + music_const SFX_CRY_10, SFX_02_24 + music_const SFX_CRY_11, SFX_02_25 + music_const SFX_CRY_12, SFX_02_26 + music_const SFX_CRY_13, SFX_02_27 + music_const SFX_CRY_14, SFX_02_28 + music_const SFX_CRY_15, SFX_02_29 + music_const SFX_CRY_16, SFX_02_2a + music_const SFX_CRY_17, SFX_02_2b + music_const SFX_CRY_18, SFX_02_2c + music_const SFX_CRY_19, SFX_02_2d + music_const SFX_CRY_1A, SFX_02_2e + music_const SFX_CRY_1B, SFX_02_2f + music_const SFX_CRY_1C, SFX_02_30 + music_const SFX_CRY_1D, SFX_02_31 + music_const SFX_CRY_1E, SFX_02_32 + music_const SFX_CRY_1F, SFX_02_33 + music_const SFX_CRY_20, SFX_02_34 + music_const SFX_CRY_21, SFX_02_35 + music_const SFX_CRY_22, SFX_02_36 + music_const SFX_CRY_23, SFX_02_37 + music_const SFX_CRY_24, SFX_02_38 + music_const SFX_CRY_25, SFX_02_39 + + music_const SFX_GET_ITEM_2, SFX_02_3b + music_const SFX_TINK, SFX_02_3c + music_const SFX_HEAL_HP, SFX_02_3d + music_const SFX_HEAL_AILMENT, SFX_02_3e + music_const SFX_START_MENU, SFX_02_3f + music_const SFX_PRESS_AB, SFX_02_40 + + ; AUDIO_1 AUDIO_3 + music_const SFX_GET_ITEM_1, SFX_02_3a + + music_const SFX_POKEDEX_RATING, SFX_02_41 + music_const SFX_GET_KEY_ITEM, SFX_02_42 + music_const SFX_POISONED, SFX_02_43 + music_const SFX_TRADE_MACHINE, SFX_02_44 + music_const SFX_TURN_ON_PC, SFX_02_45 + music_const SFX_TURN_OFF_PC, SFX_02_46 + music_const SFX_ENTER_PC, SFX_02_47 + music_const SFX_SHRINK, SFX_02_48 + music_const SFX_SWITCH, SFX_02_49 + music_const SFX_HEALING_MACHINE, SFX_02_4a + music_const SFX_TELEPORT_1, SFX_02_4b + music_const SFX_TELEPORT_2, SFX_02_4c + music_const SFX_TELEPORT_3, SFX_02_4d + music_const SFX_LEDGE, SFX_02_4e + music_const SFX_FLY_1, SFX_02_4f + music_const SFX_FLY_2, SFX_02_50 + music_const SFX_DENIED, SFX_02_51 + music_const SFX_ARROW_TILES, SFX_02_52 + music_const SFX_PUSH_BOULDER, SFX_02_53 + music_const SFX_SS_ANNE_HORN, SFX_02_54 + music_const SFX_WITHDRAW_DEPOSIT, SFX_02_55 + music_const SFX_CUT, SFX_02_56 + music_const SFX_GO_INSIDE, SFX_02_57 + music_const SFX_SWAP, SFX_02_58 + music_const SFX_59, SFX_02_59 ; unused, sounds similar to SFX_SLOTS_STOP_WHEEL + music_const SFX_PURCHASE, SFX_02_5a + music_const SFX_COLLISION, SFX_02_5b + music_const SFX_GO_OUTSIDE, SFX_02_5c + music_const SFX_SAVE, SFX_02_5d + + ; AUDIO_1 + music_const SFX_POKEFLUE, SFX_02_5e + music_const SFX_SAFARI_ZONE_PA, SFX_02_5f + + ; AUDIO_2 + music_const SFX_LEVEL_UP, SFX_08_3a + + music_const SFX_BATTLE_01, SFX_08_41 + music_const SFX_BATTLE_02, SFX_08_42 + music_const SFX_BATTLE_03, SFX_08_43 + music_const SFX_BATTLE_04, SFX_08_44 + music_const SFX_BATTLE_05, SFX_08_45 + music_const SFX_BATTLE_06, SFX_08_46 + music_const SFX_BATTLE_07, SFX_08_47 + music_const SFX_BATTLE_08, SFX_08_48 + music_const SFX_BATTLE_09, SFX_08_49 + music_const SFX_BATTLE_0A, SFX_08_4a + music_const SFX_BATTLE_0B, SFX_08_4b + music_const SFX_BATTLE_0C, SFX_08_4c + music_const SFX_BATTLE_0D, SFX_08_4d + music_const SFX_BATTLE_0E, SFX_08_4e + music_const SFX_BATTLE_0F, SFX_08_4f + music_const SFX_BATTLE_10, SFX_08_50 + music_const SFX_BATTLE_11, SFX_08_51 + music_const SFX_BATTLE_12, SFX_08_52 + music_const SFX_BATTLE_13, SFX_08_53 + music_const SFX_BATTLE_14, SFX_08_54 + music_const SFX_BATTLE_15, SFX_08_55 + music_const SFX_BATTLE_16, SFX_08_56 ; unused? + music_const SFX_BATTLE_17, SFX_08_57 + music_const SFX_BATTLE_18, SFX_08_58 + music_const SFX_BATTLE_19, SFX_08_59 + music_const SFX_BATTLE_1A, SFX_08_5a + music_const SFX_BATTLE_1B, SFX_08_5b + music_const SFX_BATTLE_1C, SFX_08_5c + music_const SFX_BATTLE_1D, SFX_08_5d + music_const SFX_BATTLE_1E, SFX_08_5e + music_const SFX_BATTLE_1F, SFX_08_5f + music_const SFX_BATTLE_20, SFX_08_60 + music_const SFX_BATTLE_21, SFX_08_61 + music_const SFX_BATTLE_22, SFX_08_62 + music_const SFX_BATTLE_23, SFX_08_63 + music_const SFX_BATTLE_24, SFX_08_64 + music_const SFX_BATTLE_25, SFX_08_65 + music_const SFX_BATTLE_26, SFX_08_66 + music_const SFX_BATTLE_27, SFX_08_67 + music_const SFX_BATTLE_28, SFX_08_68 + music_const SFX_BATTLE_29, SFX_08_69 + music_const SFX_BATTLE_2A, SFX_08_6a + music_const SFX_BATTLE_2B, SFX_08_6b + music_const SFX_BATTLE_2C, SFX_08_6c + music_const SFX_BATTLE_2D, SFX_08_6d + music_const SFX_BATTLE_2E, SFX_08_6e + music_const SFX_BATTLE_2F, SFX_08_6f + music_const SFX_BATTLE_30, SFX_08_70 + music_const SFX_BATTLE_31, SFX_08_71 + music_const SFX_BATTLE_32, SFX_08_72 + music_const SFX_BATTLE_33, SFX_08_73 + music_const SFX_BATTLE_34, SFX_08_74 + music_const SFX_BATTLE_35, SFX_08_75 + music_const SFX_BATTLE_36, SFX_08_76 + music_const SFX_BATTLE_37, SFX_08_77 + + ; AUDIO_3 + music_const SFX_INTRO_LUNGE, SFX_1f_5e + music_const SFX_INTRO_HIP, SFX_1f_5f + music_const SFX_INTRO_HOP, SFX_1f_60 + music_const SFX_INTRO_RAISE, SFX_1f_61 + music_const SFX_INTRO_CRASH, SFX_1f_62 + music_const SFX_INTRO_WHOOSH, SFX_1f_63 + music_const SFX_SLOTS_STOP_WHEEL, SFX_1f_64 + music_const SFX_SLOTS_REWARD, SFX_1f_65 + music_const SFX_SLOTS_NEW_SPIN, SFX_1f_66 + music_const SFX_SHOOTING_STAR, SFX_1f_67 diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm index 6803c38b..19625b15 100755 --- a/engine/battle/animations.asm +++ b/engine/battle/animations.asm @@ -741,7 +741,7 @@ DoBallTossSpecialEffects: ; 78f3e (1e:4f3e) cp a,11 ; is it the beginning of the subanimation? jr nz,.skipPlayingSound ; if it is the beginning of the subanimation, play a sound - ld a,(SFX_08_41 - SFX_Headers_08) / 3 + ld a,SFX_BATTLE_01 call PlaySound .skipPlayingSound ld a,[W_ISINBATTLE] @@ -787,7 +787,7 @@ DoBallShakeSpecialEffects: ; 78f96 (1e:4f96) cp a,4 ; is it the beginning of a shake? jr nz,.skipPlayingSound ; if it is the beginning of a shake, play a sound and wait 2/3 of a second - ld a,(SFX_08_3c - SFX_Headers_08) / 3 + ld a,SFX_TINK call PlaySound ld c,40 call DelayFrames @@ -820,7 +820,7 @@ DoPoofSpecialEffects: ; 78fce (1e:4fce) ld a,[W_SUBANIMCOUNTER] cp a,5 ret nz - ld a,(SFX_08_42 - SFX_Headers_08) / 3 + ld a,SFX_BATTLE_02 jp PlaySound DoRockSlideSpecialEffects: ; 78fd9 (1e:4fd9) @@ -921,7 +921,7 @@ TradeShakePokeball: ; 7904c (1e:504c) jr .loop .done call AnimationCleanOAM - ld a,(SFX_02_44 - SFX_Headers_02) / 3 + ld a,SFX_TRADE_MACHINE jp PlaySound BallMoveDistances1: ; 79078 (1e:5078) @@ -952,7 +952,7 @@ TradeJumpPokeball: ; 507C cp a,$ff jr nz,.skipPlayingSound .playSound ; play sound if next move distance is 12 or this is the last one - ld a,(SFX_08_58 - SFX_Headers_08) / 3 + ld a,SFX_BATTLE_18 call PlaySound .skipPlayingSound push bc @@ -2329,172 +2329,172 @@ IsCryMove: ; 798ad (1e:58ad) ret MoveSoundTable: ; 798bc (1e:58bc) - db (SFX_08_4a - SFX_Headers_08) / 3,$00,$80 - db (SFX_08_4c - SFX_Headers_08) / 3,$10,$80 - db (SFX_08_5d - SFX_Headers_08) / 3,$00,$80 - db (SFX_08_4b - SFX_Headers_08) / 3,$01,$80 - db (SFX_08_4d - SFX_Headers_08) / 3,$00,$40 - db (SFX_08_77 - SFX_Headers_08) / 3,$00,$ff - db (SFX_08_4d - SFX_Headers_08) / 3,$10,$60 - db (SFX_08_4d - SFX_Headers_08) / 3,$20,$80 - db (SFX_08_4d - SFX_Headers_08) / 3,$00,$a0 - db (SFX_08_50 - SFX_Headers_08) / 3,$00,$80 - db (SFX_08_4f - SFX_Headers_08) / 3,$20,$40 - db (SFX_08_4f - SFX_Headers_08) / 3,$00,$80 - db (SFX_08_4e - SFX_Headers_08) / 3,$00,$a0 - db (SFX_08_51 - SFX_Headers_08) / 3,$10,$c0 - db (SFX_08_51 - SFX_Headers_08) / 3,$00,$a0 - db (SFX_08_52 - SFX_Headers_08) / 3,$00,$c0 - db (SFX_08_52 - SFX_Headers_08) / 3,$10,$a0 - db (SFX_08_53 - SFX_Headers_08) / 3,$00,$e0 - db (SFX_08_51 - SFX_Headers_08) / 3,$20,$c0 - db (SFX_08_54 - SFX_Headers_08) / 3,$00,$80 - db (SFX_08_62 - SFX_Headers_08) / 3,$00,$80 - db (SFX_08_55 - SFX_Headers_08) / 3,$01,$80 - db (SFX_08_60 - SFX_Headers_08) / 3,$00,$80 - db (SFX_08_57 - SFX_Headers_08) / 3,$f0,$40 - db (SFX_08_5a - SFX_Headers_08) / 3,$00,$80 - db (SFX_08_57 - SFX_Headers_08) / 3,$00,$80 - db (SFX_08_61 - SFX_Headers_08) / 3,$10,$80 - db (SFX_08_5b - SFX_Headers_08) / 3,$01,$a0 - db (SFX_08_58 - SFX_Headers_08) / 3,$00,$80 - db (SFX_08_5e - SFX_Headers_08) / 3,$00,$60 - db (SFX_08_5e - SFX_Headers_08) / 3,$01,$40 - db (SFX_08_5f - SFX_Headers_08) / 3,$00,$a0 - db (SFX_08_5a - SFX_Headers_08) / 3,$10,$a0 - db (SFX_08_60 - SFX_Headers_08) / 3,$00,$c0 - db (SFX_08_54 - SFX_Headers_08) / 3,$10,$60 - db (SFX_08_5a - SFX_Headers_08) / 3,$00,$a0 - db (SFX_08_62 - SFX_Headers_08) / 3,$11,$c0 - db (SFX_08_5a - SFX_Headers_08) / 3,$20,$c0 - db (SFX_08_61 - SFX_Headers_08) / 3,$00,$80 - db (SFX_08_5b - SFX_Headers_08) / 3,$00,$80 - db (SFX_08_5b - SFX_Headers_08) / 3,$20,$c0 - db (SFX_08_59 - SFX_Headers_08) / 3,$00,$80 - db (SFX_08_71 - SFX_Headers_08) / 3,$ff,$40 - db (SFX_08_5e - SFX_Headers_08) / 3,$00,$80 - db (SFX_08_4b - SFX_Headers_08) / 3,$00,$c0 - db (SFX_08_4b - SFX_Headers_08) / 3,$00,$40 - db (SFX_08_75 - SFX_Headers_08) / 3,$00,$80 - db (SFX_08_67 - SFX_Headers_08) / 3,$40,$60 - db (SFX_08_67 - SFX_Headers_08) / 3,$00,$80 - db (SFX_08_67 - SFX_Headers_08) / 3,$ff,$40 - db (SFX_08_6a - SFX_Headers_08) / 3,$80,$c0 - db (SFX_08_59 - SFX_Headers_08) / 3,$10,$a0 - db (SFX_08_59 - SFX_Headers_08) / 3,$21,$e0 - db (SFX_08_69 - SFX_Headers_08) / 3,$00,$80 - db (SFX_08_64 - SFX_Headers_08) / 3,$20,$60 - db (SFX_08_6a - SFX_Headers_08) / 3,$00,$80 - db (SFX_08_6c - SFX_Headers_08) / 3,$00,$80 - db (SFX_08_68 - SFX_Headers_08) / 3,$40,$80 - db (SFX_08_69 - SFX_Headers_08) / 3,$f0,$e0 - db (SFX_08_6d - SFX_Headers_08) / 3,$00,$80 - db (SFX_08_6a - SFX_Headers_08) / 3,$f0,$60 - db (SFX_08_68 - SFX_Headers_08) / 3,$00,$80 - db (SFX_08_76 - SFX_Headers_08) / 3,$00,$80 - db (SFX_08_47 - SFX_Headers_08) / 3,$01,$a0 - db (SFX_08_53 - SFX_Headers_08) / 3,$f0,$20 - db (SFX_08_63 - SFX_Headers_08) / 3,$01,$c0 - db (SFX_08_63 - SFX_Headers_08) / 3,$00,$80 - db (SFX_08_5a - SFX_Headers_08) / 3,$00,$e0 - db (SFX_08_66 - SFX_Headers_08) / 3,$01,$60 - db (SFX_08_66 - SFX_Headers_08) / 3,$20,$40 - db (SFX_08_64 - SFX_Headers_08) / 3,$00,$80 - db (SFX_08_64 - SFX_Headers_08) / 3,$40,$c0 - db (SFX_08_5b - SFX_Headers_08) / 3,$03,$60 - db (SFX_08_65 - SFX_Headers_08) / 3,$11,$e0 - db (SFX_08_52 - SFX_Headers_08) / 3,$20,$e0 - db (SFX_08_6e - SFX_Headers_08) / 3,$00,$80 - db (SFX_08_5c - SFX_Headers_08) / 3,$00,$80 - db (SFX_08_5c - SFX_Headers_08) / 3,$11,$a0 - db (SFX_08_5c - SFX_Headers_08) / 3,$01,$c0 - db (SFX_08_53 - SFX_Headers_08) / 3,$14,$c0 - db (SFX_08_5b - SFX_Headers_08) / 3,$02,$a0 - db (SFX_08_69 - SFX_Headers_08) / 3,$f0,$80 - db (SFX_08_69 - SFX_Headers_08) / 3,$20,$c0 - db (SFX_08_6f - SFX_Headers_08) / 3,$00,$20 - db (SFX_08_6f - SFX_Headers_08) / 3,$20,$80 - db (SFX_08_6e - SFX_Headers_08) / 3,$12,$60 - db (SFX_08_66 - SFX_Headers_08) / 3,$00,$80 - db (SFX_08_54 - SFX_Headers_08) / 3,$01,$e0 - db (SFX_08_69 - SFX_Headers_08) / 3,$0f,$e0 - db (SFX_08_69 - SFX_Headers_08) / 3,$11,$20 - db (SFX_08_50 - SFX_Headers_08) / 3,$10,$40 - db (SFX_08_4f - SFX_Headers_08) / 3,$10,$c0 - db (SFX_08_54 - SFX_Headers_08) / 3,$00,$20 - db (SFX_08_70 - SFX_Headers_08) / 3,$00,$80 - db (SFX_08_75 - SFX_Headers_08) / 3,$11,$18 - db (SFX_08_49 - SFX_Headers_08) / 3,$20,$c0 - db (SFX_08_48 - SFX_Headers_08) / 3,$20,$c0 - db (SFX_08_65 - SFX_Headers_08) / 3,$00,$10 - db (SFX_08_66 - SFX_Headers_08) / 3,$f0,$20 - db (SFX_08_73 - SFX_Headers_08) / 3,$f0,$c0 - db (SFX_08_51 - SFX_Headers_08) / 3,$f0,$e0 - db (SFX_08_49 - SFX_Headers_08) / 3,$f0,$40 - db (SFX_08_71 - SFX_Headers_08) / 3,$00,$80 - db (SFX_08_73 - SFX_Headers_08) / 3,$80,$40 - db (SFX_08_73 - SFX_Headers_08) / 3,$00,$80 - db (SFX_08_54 - SFX_Headers_08) / 3,$11,$20 - db (SFX_08_54 - SFX_Headers_08) / 3,$22,$10 - db (SFX_08_5b - SFX_Headers_08) / 3,$f1,$ff - db (SFX_08_53 - SFX_Headers_08) / 3,$f1,$ff - db (SFX_08_54 - SFX_Headers_08) / 3,$33,$30 - db (SFX_08_72 - SFX_Headers_08) / 3,$40,$c0 - db (SFX_08_4e - SFX_Headers_08) / 3,$20,$20 - db (SFX_08_4e - SFX_Headers_08) / 3,$f0,$10 - db (SFX_08_4f - SFX_Headers_08) / 3,$f8,$10 - db (SFX_08_51 - SFX_Headers_08) / 3,$f0,$10 - db (SFX_08_65 - SFX_Headers_08) / 3,$00,$80 - db (SFX_08_58 - SFX_Headers_08) / 3,$00,$c0 - db (SFX_08_72 - SFX_Headers_08) / 3,$c0,$ff - db (SFX_08_49 - SFX_Headers_08) / 3,$f2,$20 - db (SFX_08_74 - SFX_Headers_08) / 3,$00,$80 - db (SFX_08_74 - SFX_Headers_08) / 3,$00,$40 - db (SFX_08_49 - SFX_Headers_08) / 3,$00,$40 - db (SFX_08_51 - SFX_Headers_08) / 3,$10,$ff - db (SFX_08_6a - SFX_Headers_08) / 3,$20,$20 - db (SFX_08_72 - SFX_Headers_08) / 3,$00,$80 - db (SFX_08_69 - SFX_Headers_08) / 3,$1f,$20 - db (SFX_08_65 - SFX_Headers_08) / 3,$2f,$80 - db (SFX_08_4f - SFX_Headers_08) / 3,$1f,$ff - db (SFX_08_6b - SFX_Headers_08) / 3,$1f,$60 - db (SFX_08_66 - SFX_Headers_08) / 3,$1e,$20 - db (SFX_08_66 - SFX_Headers_08) / 3,$1f,$18 - db (SFX_08_54 - SFX_Headers_08) / 3,$0f,$80 - db (SFX_08_49 - SFX_Headers_08) / 3,$f8,$10 - db (SFX_08_48 - SFX_Headers_08) / 3,$18,$20 - db (SFX_08_72 - SFX_Headers_08) / 3,$08,$40 - db (SFX_08_57 - SFX_Headers_08) / 3,$01,$e0 - db (SFX_08_51 - SFX_Headers_08) / 3,$09,$ff - db (SFX_08_75 - SFX_Headers_08) / 3,$42,$01 - db (SFX_08_5c - SFX_Headers_08) / 3,$00,$ff - db (SFX_08_72 - SFX_Headers_08) / 3,$08,$e0 - db (SFX_08_64 - SFX_Headers_08) / 3,$00,$80 - db (SFX_08_49 - SFX_Headers_08) / 3,$88,$10 - db (SFX_08_65 - SFX_Headers_08) / 3,$48,$ff - db (SFX_08_48 - SFX_Headers_08) / 3,$ff,$ff - db (SFX_08_64 - SFX_Headers_08) / 3,$ff,$10 - db (SFX_08_48 - SFX_Headers_08) / 3,$ff,$04 - db (SFX_08_5c - SFX_Headers_08) / 3,$01,$ff - db (SFX_08_53 - SFX_Headers_08) / 3,$f8,$ff - db (SFX_08_4c - SFX_Headers_08) / 3,$f0,$f0 - db (SFX_08_4f - SFX_Headers_08) / 3,$08,$10 - db (SFX_08_4d - SFX_Headers_08) / 3,$f0,$ff - db (SFX_08_5a - SFX_Headers_08) / 3,$f0,$ff - db (SFX_08_74 - SFX_Headers_08) / 3,$10,$ff - db (SFX_08_4e - SFX_Headers_08) / 3,$f0,$20 - db (SFX_08_6b - SFX_Headers_08) / 3,$f0,$60 - db (SFX_08_61 - SFX_Headers_08) / 3,$12,$10 - db (SFX_08_76 - SFX_Headers_08) / 3,$f0,$20 - db (SFX_08_5e - SFX_Headers_08) / 3,$12,$ff - db (SFX_08_71 - SFX_Headers_08) / 3,$80,$04 - db (SFX_08_73 - SFX_Headers_08) / 3,$f0,$10 - db (SFX_08_69 - SFX_Headers_08) / 3,$f8,$ff - db (SFX_08_66 - SFX_Headers_08) / 3,$f0,$ff - db (SFX_08_51 - SFX_Headers_08) / 3,$01,$ff - db (SFX_08_6c - SFX_Headers_08) / 3,$d8,$04 - db (SFX_08_4b - SFX_Headers_08) / 3,$00,$80 - db (SFX_08_4b - SFX_Headers_08) / 3,$00,$80 + db SFX_BATTLE_0A,$00,$80 + db SFX_BATTLE_0C,$10,$80 + db SFX_BATTLE_1D,$00,$80 + db SFX_BATTLE_0B,$01,$80 + db SFX_BATTLE_0D,$00,$40 + db SFX_BATTLE_37,$00,$ff + db SFX_BATTLE_0D,$10,$60 + db SFX_BATTLE_0D,$20,$80 + db SFX_BATTLE_0D,$00,$a0 + db SFX_BATTLE_10,$00,$80 + db SFX_BATTLE_0F,$20,$40 + db SFX_BATTLE_0F,$00,$80 + db SFX_BATTLE_0E,$00,$a0 + db SFX_BATTLE_11,$10,$c0 + db SFX_BATTLE_11,$00,$a0 + db SFX_BATTLE_12,$00,$c0 + db SFX_BATTLE_12,$10,$a0 + db SFX_BATTLE_13,$00,$e0 + db SFX_BATTLE_11,$20,$c0 + db SFX_BATTLE_14,$00,$80 + db SFX_BATTLE_22,$00,$80 + db SFX_BATTLE_15,$01,$80 + db SFX_BATTLE_20,$00,$80 + db SFX_BATTLE_17,$f0,$40 + db SFX_BATTLE_1A,$00,$80 + db SFX_BATTLE_17,$00,$80 + db SFX_BATTLE_21,$10,$80 + db SFX_BATTLE_1B,$01,$a0 + db SFX_BATTLE_18,$00,$80 + db SFX_BATTLE_1E,$00,$60 + db SFX_BATTLE_1E,$01,$40 + db SFX_BATTLE_1F,$00,$a0 + db SFX_BATTLE_1A,$10,$a0 + db SFX_BATTLE_20,$00,$c0 + db SFX_BATTLE_14,$10,$60 + db SFX_BATTLE_1A,$00,$a0 + db SFX_BATTLE_22,$11,$c0 + db SFX_BATTLE_1A,$20,$c0 + db SFX_BATTLE_21,$00,$80 + db SFX_BATTLE_1B,$00,$80 + db SFX_BATTLE_1B,$20,$c0 + db SFX_BATTLE_19,$00,$80 + db SFX_BATTLE_31,$ff,$40 + db SFX_BATTLE_1E,$00,$80 + db SFX_BATTLE_0B,$00,$c0 + db SFX_BATTLE_0B,$00,$40 + db SFX_BATTLE_35,$00,$80 + db SFX_BATTLE_27,$40,$60 + db SFX_BATTLE_27,$00,$80 + db SFX_BATTLE_27,$ff,$40 + db SFX_BATTLE_2A,$80,$c0 + db SFX_BATTLE_19,$10,$a0 + db SFX_BATTLE_19,$21,$e0 + db SFX_BATTLE_29,$00,$80 + db SFX_BATTLE_24,$20,$60 + db SFX_BATTLE_2A,$00,$80 + db SFX_BATTLE_2C,$00,$80 + db SFX_BATTLE_28,$40,$80 + db SFX_BATTLE_29,$f0,$e0 + db SFX_BATTLE_2D,$00,$80 + db SFX_BATTLE_2A,$f0,$60 + db SFX_BATTLE_28,$00,$80 + db SFX_BATTLE_36,$00,$80 + db SFX_BATTLE_07,$01,$a0 + db SFX_BATTLE_13,$f0,$20 + db SFX_BATTLE_23,$01,$c0 + db SFX_BATTLE_23,$00,$80 + db SFX_BATTLE_1A,$00,$e0 + db SFX_BATTLE_26,$01,$60 + db SFX_BATTLE_26,$20,$40 + db SFX_BATTLE_24,$00,$80 + db SFX_BATTLE_24,$40,$c0 + db SFX_BATTLE_1B,$03,$60 + db SFX_BATTLE_25,$11,$e0 + db SFX_BATTLE_12,$20,$e0 + db SFX_BATTLE_2E,$00,$80 + db SFX_BATTLE_1C,$00,$80 + db SFX_BATTLE_1C,$11,$a0 + db SFX_BATTLE_1C,$01,$c0 + db SFX_BATTLE_13,$14,$c0 + db SFX_BATTLE_1B,$02,$a0 + db SFX_BATTLE_29,$f0,$80 + db SFX_BATTLE_29,$20,$c0 + db SFX_BATTLE_2F,$00,$20 + db SFX_BATTLE_2F,$20,$80 + db SFX_BATTLE_2E,$12,$60 + db SFX_BATTLE_26,$00,$80 + db SFX_BATTLE_14,$01,$e0 + db SFX_BATTLE_29,$0f,$e0 + db SFX_BATTLE_29,$11,$20 + db SFX_BATTLE_10,$10,$40 + db SFX_BATTLE_0F,$10,$c0 + db SFX_BATTLE_14,$00,$20 + db SFX_BATTLE_30,$00,$80 + db SFX_BATTLE_35,$11,$18 + db SFX_BATTLE_09,$20,$c0 + db SFX_BATTLE_08,$20,$c0 + db SFX_BATTLE_25,$00,$10 + db SFX_BATTLE_26,$f0,$20 + db SFX_BATTLE_33,$f0,$c0 + db SFX_BATTLE_11,$f0,$e0 + db SFX_BATTLE_09,$f0,$40 + db SFX_BATTLE_31,$00,$80 + db SFX_BATTLE_33,$80,$40 + db SFX_BATTLE_33,$00,$80 + db SFX_BATTLE_14,$11,$20 + db SFX_BATTLE_14,$22,$10 + db SFX_BATTLE_1B,$f1,$ff + db SFX_BATTLE_13,$f1,$ff + db SFX_BATTLE_14,$33,$30 + db SFX_BATTLE_32,$40,$c0 + db SFX_BATTLE_0E,$20,$20 + db SFX_BATTLE_0E,$f0,$10 + db SFX_BATTLE_0F,$f8,$10 + db SFX_BATTLE_11,$f0,$10 + db SFX_BATTLE_25,$00,$80 + db SFX_BATTLE_18,$00,$c0 + db SFX_BATTLE_32,$c0,$ff + db SFX_BATTLE_09,$f2,$20 + db SFX_BATTLE_34,$00,$80 + db SFX_BATTLE_34,$00,$40 + db SFX_BATTLE_09,$00,$40 + db SFX_BATTLE_11,$10,$ff + db SFX_BATTLE_2A,$20,$20 + db SFX_BATTLE_32,$00,$80 + db SFX_BATTLE_29,$1f,$20 + db SFX_BATTLE_25,$2f,$80 + db SFX_BATTLE_0F,$1f,$ff + db SFX_BATTLE_2B,$1f,$60 + db SFX_BATTLE_26,$1e,$20 + db SFX_BATTLE_26,$1f,$18 + db SFX_BATTLE_14,$0f,$80 + db SFX_BATTLE_09,$f8,$10 + db SFX_BATTLE_08,$18,$20 + db SFX_BATTLE_32,$08,$40 + db SFX_BATTLE_17,$01,$e0 + db SFX_BATTLE_11,$09,$ff + db SFX_BATTLE_35,$42,$01 + db SFX_BATTLE_1C,$00,$ff + db SFX_BATTLE_32,$08,$e0 + db SFX_BATTLE_24,$00,$80 + db SFX_BATTLE_09,$88,$10 + db SFX_BATTLE_25,$48,$ff + db SFX_BATTLE_08,$ff,$ff + db SFX_BATTLE_24,$ff,$10 + db SFX_BATTLE_08,$ff,$04 + db SFX_BATTLE_1C,$01,$ff + db SFX_BATTLE_13,$f8,$ff + db SFX_BATTLE_0C,$f0,$f0 + db SFX_BATTLE_0F,$08,$10 + db SFX_BATTLE_0D,$f0,$ff + db SFX_BATTLE_1A,$f0,$ff + db SFX_BATTLE_34,$10,$ff + db SFX_BATTLE_0E,$f0,$20 + db SFX_BATTLE_2B,$f0,$60 + db SFX_BATTLE_21,$12,$10 + db SFX_BATTLE_36,$f0,$20 + db SFX_BATTLE_1E,$12,$ff + db SFX_BATTLE_31,$80,$04 + db SFX_BATTLE_33,$f0,$10 + db SFX_BATTLE_29,$f8,$ff + db SFX_BATTLE_26,$f0,$ff + db SFX_BATTLE_11,$01,$ff + db SFX_BATTLE_2C,$d8,$04 + db SFX_BATTLE_0B,$00,$80 + db SFX_BATTLE_0B,$00,$80 CopyPicTiles: ; 79aae (1e:5aae) ld a, [H_WHOSETURN] @@ -2929,7 +2929,7 @@ TossBallAnimation: ; 79e16 (1e:5e16) ld a,TOSS_ANIM ld [W_ANIMATIONID],a call PlayAnimation - ld a,(SFX_08_43 - SFX_Headers_08) / 3 + ld a,SFX_BATTLE_03 call PlaySound ld a,BLOCKBALL_ANIM ld [W_ANIMATIONID],a @@ -2945,15 +2945,15 @@ PlayApplyingAttackSound: ; 79e6a (1e:5e6a) cp $a ld a, $20 ld b, $30 - ld c, (SFX_08_50 - SFX_Headers_08) / 3 + ld c, SFX_BATTLE_10 jr z, .asm_79e8b ld a, $e0 ld b, $ff - ld c, (SFX_08_5a - SFX_Headers_08) / 3 + ld c, SFX_BATTLE_1A jr nc, .asm_79e8b ld a, $50 ld b, $1 - ld c, (SFX_08_51 - SFX_Headers_08) / 3 + ld c, SFX_BATTLE_11 .asm_79e8b ld [wc0f1], a ld a, b diff --git a/engine/battle/common_text.asm b/engine/battle/common_text.asm index 11309a86..41e402f3 100644 --- a/engine/battle/common_text.asm +++ b/engine/battle/common_text.asm @@ -64,7 +64,7 @@ PrintBeginningBattleText: ; 58d99 (16:4d99) ld [wc0f1], a ld a, $80 ld [wc0f2], a - ld a, (SFX_08_77 - SFX_Headers_08) / 3 + ld a, SFX_BATTLE_37 call PlaySound jp WaitForSoundToFinish .done diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 5deeb4dc..30b62dea 100755 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -355,7 +355,7 @@ EnemyRan: ; 3c202 (f:4202) ld hl, EnemyRanText .printText call PrintText - ld a, (SFX_08_44 - SFX_Headers_08) / 3 + ld a, SFX_BATTLE_04 call PlaySoundWaitForCurrent xor a ld [H_WHOSETURN], a @@ -864,13 +864,13 @@ FaintEnemyPokemon: ; 0x3c567 xor a ld [wc0f1], a ld [wc0f2], a - ld a, (SFX_08_48 - SFX_Headers_08) / 3 ; SFX_FALL? + ld a, SFX_BATTLE_08 ; SFX_FALL? call PlaySoundWaitForCurrent .sfxwait ld a, [wc02a] - cp (SFX_08_48 - SFX_Headers_08) / 3 + cp SFX_BATTLE_08 jr z, .sfxwait - ld a, (SFX_08_43 - SFX_Headers_08) / 3 ; SFX_DROP + ld a, SFX_BATTLE_03 ; SFX_DROP call PlaySound call WaitForSoundToFinish jr .sfxplayed @@ -1678,7 +1678,7 @@ TryRunningFromBattle: ; 3cab9 (f:4ab9) dec a .playSound ld [wBattleResult], a - ld a, (SFX_08_44 - SFX_Headers_08) / 3 + ld a, SFX_BATTLE_04 call PlaySoundWaitForCurrent ld hl, GotAwayText call PrintText diff --git a/engine/battle/trainer_ai.asm b/engine/battle/trainer_ai.asm index a53f00f6..c803a870 100644 --- a/engine/battle/trainer_ai.asm +++ b/engine/battle/trainer_ai.asm @@ -553,7 +553,7 @@ DecrementAICount: ; 3a695 (e:6695) ret AIPlayRestoringSFX: ; 3a69b (e:669b) - ld a,(SFX_08_3e - SFX_Headers_08) / 3 + ld a,SFX_HEAL_AILMENT jp PlaySoundWaitForCurrent AIUseFullRestore: ; 3a6a0 (e:66a0) diff --git a/engine/evolution.asm b/engine/evolution.asm index 9ed38c21..0f3a0d00 100755 --- a/engine/evolution.asm +++ b/engine/evolution.asm @@ -14,7 +14,7 @@ EvolveMon: ; 7bde9 (1e:7de9) call PlaySound ld a, $1 ld [H_AUTOBGTRANSFERENABLED], a - ld a, (SFX_08_3c - SFX_Headers_08) / 3 + ld a, SFX_TINK call PlaySound call Delay3 xor a diff --git a/engine/evos_moves.asm b/engine/evos_moves.asm index 4a253c68..9cdc617c 100755 --- a/engine/evos_moves.asm +++ b/engine/evos_moves.asm @@ -146,7 +146,7 @@ Evolution_PartyMonLoop: ; loop over party mons push hl ld hl, IntoText call Func_3c59 - ld a, (SFX_02_3b - SFX_Headers_02) / 3 + ld a, SFX_GET_ITEM_2 call PlaySoundWaitForCurrent call WaitForSoundToFinish ld c, 40 diff --git a/engine/gamefreak.asm b/engine/gamefreak.asm index 38c66793..49c938f7 100755 --- a/engine/gamefreak.asm +++ b/engine/gamefreak.asm @@ -26,7 +26,7 @@ LoadShootingStarGraphics: ; 70000 (1c:4000) AnimateShootingStar: ; 70044 (1c:4044) call LoadShootingStarGraphics - ld a, (SFX_1f_67 - SFX_Headers_1f) / 3 + ld a, SFX_SHOOTING_STAR call PlaySound ; Move the big star down and left across the screen. diff --git a/engine/hidden_object_functions17.asm b/engine/hidden_object_functions17.asm index 841929b8..b65ee2c8 100755 --- a/engine/hidden_object_functions17.asm +++ b/engine/hidden_object_functions17.asm @@ -423,7 +423,7 @@ VermilionGymTrashSuccesText1: ; 5dec8 (17:5ec8) TX_FAR _VermilionGymTrashSuccesText1 TX_ASM call WaitForSoundToFinish - ld a, (SFX_02_49 - SFX_Headers_02) / 3 + ld a, SFX_SWITCH call PlaySound call WaitForSoundToFinish jp TextScriptEnd @@ -437,7 +437,7 @@ VermilionGymTrashSuccesText2: ; 5dedb (17:5edb) VermilionGymTrashSuccesPlaySfx: ; 5dee0 (17:5ee0) TX_ASM call WaitForSoundToFinish - ld a, (SFX_02_49 - SFX_Headers_02) / 3 + ld a, SFX_SWITCH call PlaySound call WaitForSoundToFinish jp TextScriptEnd @@ -446,7 +446,7 @@ VermilionGymTrashSuccesText3: ; 5deef (17:5eef) TX_FAR _VermilionGymTrashSuccesText3 TX_ASM call WaitForSoundToFinish - ld a, (SFX_02_57 - SFX_Headers_02) / 3 + ld a, SFX_GO_INSIDE call PlaySound call WaitForSoundToFinish jp TextScriptEnd @@ -455,7 +455,7 @@ VermilionGymTrashFailText: ; 5df02 (17:5f02) TX_FAR _VermilionGymTrashFailText TX_ASM call WaitForSoundToFinish - ld a, (SFX_02_51 - SFX_Headers_02) / 3 + ld a, SFX_DENIED call PlaySound call WaitForSoundToFinish jp TextScriptEnd diff --git a/engine/hidden_object_functions7.asm b/engine/hidden_object_functions7.asm index 31ae17a4..4c2ea816 100755 --- a/engine/hidden_object_functions7.asm +++ b/engine/hidden_object_functions7.asm @@ -68,7 +68,7 @@ SafariZoneGameOver: ; 1e9b0 (7:69b0) dec a call PlaySound ld c, BANK(SFX_02_5f) - ld a, (SFX_02_5f - SFX_Headers_02) / 3 + ld a, SFX_SAFARI_ZONE_PA call PlayMusic .asm_1e9c2 ld a, [wc02a] @@ -214,7 +214,7 @@ CinnabarGymQuiz_1ea92: ; 1ea92 (7:6a92) jp CinnabarGymQuiz_1eb0a .asm_1eab8 call WaitForSoundToFinish - ld a, (SFX_02_51 - SFX_Headers_02) / 3 + ld a, SFX_DENIED call PlaySound call WaitForSoundToFinish ld hl, CinnabarGymQuizIncorrectText @@ -247,7 +247,7 @@ CinnabarGymQuizCorrectText: ; 1eae3 (7:6ae3) and a jp nz, TextScriptEnd call WaitForSoundToFinish - ld a, (SFX_02_57 - SFX_Headers_02) / 3 + ld a, SFX_GO_INSIDE call PlaySound call WaitForSoundToFinish jp TextScriptEnd @@ -335,22 +335,22 @@ BillsHousePC: ; 1eb6e (7:6b6e) tx_pre BillsHouseInitiatedText ld c, 32 call DelayFrames - ld a, (SFX_02_3c - SFX_Headers_02) / 3 + ld a, SFX_TINK call PlaySound call WaitForSoundToFinish ld c, 80 call DelayFrames - ld a, (SFX_02_48 - SFX_Headers_02) / 3 + ld a, SFX_SHRINK call PlaySound call WaitForSoundToFinish ld c, 48 call DelayFrames - ld a, (SFX_02_3c - SFX_Headers_02) / 3 + ld a, SFX_TINK call PlaySound call WaitForSoundToFinish ld c, 32 call DelayFrames - ld a, (SFX_02_3a - SFX_Headers_02) / 3 + ld a, SFX_GET_ITEM_1 call PlaySound call WaitForSoundToFinish call PlayDefaultMusic @@ -376,7 +376,7 @@ BillsHouseInitiatedText: ; 1ebe2 (7:6be2) call PlaySound ld c, 16 call DelayFrames - ld a, (SFX_02_49 - SFX_Headers_02) / 3 + ld a, SFX_SWITCH call PlaySound call WaitForSoundToFinish ld c, 60 diff --git a/engine/intro.asm b/engine/intro.asm index 79cc2101..6b5c46c9 100755 --- a/engine/intro.asm +++ b/engine/intro.asm @@ -35,14 +35,14 @@ PlayIntroScene: ; 4169d (10:569d) ret c ; hip - ld a, (SFX_1f_5f - SFX_Headers_1f) / 3 + ld a, SFX_INTRO_HIP call PlaySound xor a ld [wd09f], a ld de, IntroNidorinoAnimation1 call AnimateIntroNidorino ; hop - ld a, (SFX_1f_60 - SFX_Headers_1f) / 3 + ld a, SFX_INTRO_HOP call PlaySound ld de, IntroNidorinoAnimation2 call AnimateIntroNidorino @@ -51,12 +51,12 @@ PlayIntroScene: ; 4169d (10:569d) ret c ; hip - ld a, (SFX_1f_5f - SFX_Headers_1f) / 3 + ld a, SFX_INTRO_HIP call PlaySound ld de, IntroNidorinoAnimation1 call AnimateIntroNidorino ; hop - ld a, (SFX_1f_60 - SFX_Headers_1f) / 3 + ld a, SFX_INTRO_HOP call PlaySound ld de, IntroNidorinoAnimation2 call AnimateIntroNidorino @@ -67,7 +67,7 @@ PlayIntroScene: ; 4169d (10:569d) ; raise ld b, $4 call IntroCopyTiles - ld a, (SFX_1f_61 - SFX_Headers_1f) / 3 + ld a, SFX_INTRO_RAISE call PlaySound ld de, $401 ; move Gengar left by 8 pixels call IntroMoveMon @@ -78,12 +78,12 @@ PlayIntroScene: ; 4169d (10:569d) ; slash ld b, $5 call IntroCopyTiles - ld a, (SFX_1f_62 - SFX_Headers_1f) / 3 + ld a, SFX_INTRO_CRASH call PlaySound ld de, $800 ; move Gengar right by 16 pixels call IntroMoveMon ; hip - ld a, (SFX_1f_5f - SFX_Headers_1f) / 3 + ld a, SFX_INTRO_HIP call PlaySound ld a, $24 ld [wd09f], a @@ -102,14 +102,14 @@ PlayIntroScene: ; 4169d (10:569d) ret c ; hip - ld a, (SFX_1f_5f - SFX_Headers_1f) / 3 + ld a, SFX_INTRO_HIP call PlaySound xor a ld [wd09f], a ld de, IntroNidorinoAnimation4 call AnimateIntroNidorino ; hop - ld a, (SFX_1f_60 - SFX_Headers_1f) / 3 + ld a, SFX_INTRO_HOP call PlaySound ld de, IntroNidorinoAnimation5 call AnimateIntroNidorino @@ -126,7 +126,7 @@ PlayIntroScene: ; 4169d (10:569d) ret c ; lunge - ld a, (SFX_1f_5e - SFX_Headers_1f) / 3 + ld a, SFX_INTRO_LUNGE call PlaySound ld a, $48 ld [wd09f], a diff --git a/engine/items/items.asm b/engine/items/items.asm index fe2d71c8..69e8b4bf 100755 --- a/engine/items/items.asm +++ b/engine/items/items.asm @@ -644,7 +644,7 @@ ItemUseEvoStone: ; da5b (3:5a5b) ld [wcf91],a ld a,$01 ld [wForceEvolution],a - ld a,(SFX_02_3e - SFX_Headers_02) / 3 + ld a,SFX_HEAL_AILMENT call PlaySoundWaitForCurrent call WaitForSoundToFinish callab TryEvolvingMon ; try to evolve pokemon @@ -917,7 +917,7 @@ ItemUseMedicine: ; dabb (3:5abb) ld a,[wWhichPokemon] ld bc,2 * 20 call AddNTimes ; calculate coordinates of HP bar of pokemon that used Softboiled - ld a,(SFX_02_3d - SFX_Headers_02) / 3 + ld a,SFX_HEAL_HP call PlaySoundWaitForCurrent ld a,[hFlags_0xFFF6] set 0,a @@ -1067,7 +1067,7 @@ ItemUseMedicine: ; dabb (3:5abb) jr c,.playStatusAilmentCuringSound cp a,FULL_HEAL jr z,.playStatusAilmentCuringSound - ld a,(SFX_02_3d - SFX_Headers_02) / 3 ; HP healing sound + ld a,SFX_HEAL_HP call PlaySoundWaitForCurrent ld a,[hFlags_0xFFF6] set 0,a @@ -1089,7 +1089,7 @@ ItemUseMedicine: ; dabb (3:5abb) ld [wPartyMenuTypeOrMessageID],a jr .showHealingItemMessage .playStatusAilmentCuringSound - ld a,(SFX_02_3e - SFX_Headers_02) / 3 ; status ailment curing sound + ld a,SFX_HEAL_AILMENT call PlaySoundWaitForCurrent .showHealingItemMessage xor a @@ -1178,7 +1178,7 @@ ItemUseMedicine: ; dabb (3:5abb) ld de,wcf4b ld bc,10 call CopyData ; copy the stat's name to wcf4b - ld a,(SFX_02_3e - SFX_Headers_02) / 3 + ld a,SFX_HEAL_AILMENT call PlaySound ld hl,VitaminStatRoseText call PrintText @@ -1720,7 +1720,7 @@ PlayedFluteHadEffectText: ; e215 (3:6215) ; play out-of-battle pokeflute music ld a,$ff call PlaySound ; turn off music - ld a, (SFX_02_5e - SFX_Headers_02) / 3 + ld a, SFX_POKEFLUE ld c, BANK(SFX_02_5e) call PlayMusic .musicWaitLoop ; wait for music to finish playing @@ -1824,7 +1824,7 @@ FishingInit: ; e2b4 (3:62b4) call ItemUseReloadOverworldData ld hl,ItemUseText00 call PrintText - ld a,(SFX_02_3e - SFX_Headers_02) / 3 + ld a,SFX_HEAL_AILMENT call PlaySound ld c,80 call DelayFrames @@ -1847,9 +1847,9 @@ ItemUseItemfinder: ; e2e1 (3:62e1) jr nc,.printText ; if no hidden items ld c,4 .loop - ld a,(SFX_02_4a - SFX_Headers_02) / 3 + ld a,SFX_HEALING_MACHINE call PlaySoundWaitForCurrent - ld a,(SFX_02_5a - SFX_Headers_02) / 3 + ld a,SFX_PURCHASE call PlaySoundWaitForCurrent dec c jr nz,.loop @@ -1951,7 +1951,7 @@ ItemUsePPRestore: ; e31e (3:631e) ld bc,4 call CopyData ; copy party data to in-battle data .skipUpdatingInBattleData - ld a,(SFX_02_3e - SFX_Headers_02) / 3 + ld a,SFX_HEAL_AILMENT call PlaySound ld hl,PPRestoredText call PrintText @@ -2146,7 +2146,7 @@ ItemUseTMHM: ; e479 (3:6479) and a ; can the pokemon learn the move? jr nz,.checkIfAlreadyLearnedMove ; if the pokemon can't learn the move - ld a,(SFX_02_51 - SFX_Headers_02) / 3 + ld a,SFX_DENIED call PlaySoundWaitForCurrent ld hl,MonCannotLearnMachineMoveText call PrintText @@ -2186,7 +2186,7 @@ MonCannotLearnMachineMoveText: ; e55e (3:655e) PrintItemUseTextAndRemoveItem: ; e563 (3:6563) ld hl,ItemUseText00 call PrintText - ld a,(SFX_02_3e - SFX_Headers_02) / 3 + ld a,SFX_HEAL_AILMENT call PlaySound call WaitForTextScrollButtonPress ; wait for button press diff --git a/engine/learn_move.asm b/engine/learn_move.asm index 1c0e038c..abc3b7d4 100755 --- a/engine/learn_move.asm +++ b/engine/learn_move.asm @@ -207,7 +207,7 @@ OneTwoAndText: ; 6fc8 (1:6fc8) TX_FAR _OneTwoAndText db $a TX_ASM - ld a, (SFX_02_58 - SFX_Headers_02) / 3 + ld a, SFX_SWAP call PlaySoundWaitForCurrent ld hl, PoofText ret diff --git a/engine/menu/main_menu.asm b/engine/menu/main_menu.asm index 9e160f81..dc936c97 100755 --- a/engine/menu/main_menu.asm +++ b/engine/menu/main_menu.asm @@ -481,7 +481,7 @@ DisplayOptionMenu: ; 5e8a (1:5e8a) cp a,16 ; is the cursor on Cancel? jr nz,.loop .exitMenu - ld a,(SFX_02_40 - SFX_Headers_02) / 3 + ld a,SFX_PRESS_AB call PlaySound ret .eraseOldMenuCursor diff --git a/engine/menu/naming_screen.asm b/engine/menu/naming_screen.asm index 20deb834..9a608491 100755 --- a/engine/menu/naming_screen.asm +++ b/engine/menu/naming_screen.asm @@ -262,7 +262,7 @@ DisplayNamingScreen: ; 6596 (1:6596) ld a, [wHPBarNewHP] ld [hli], a ld [hl], $50 - ld a, (SFX_02_40 - SFX_Headers_02) / 3 + ld a, SFX_PRESS_AB call PlaySound ret .pressedB diff --git a/engine/menu/pc.asm b/engine/menu/pc.asm index 8ee40c7c..b5281964 100755 --- a/engine/menu/pc.asm +++ b/engine/menu/pc.asm @@ -1,6 +1,6 @@ ActivatePC: ; 17e2c (5:7e2c) call SaveScreenTilesToBuffer2 - ld a, (SFX_02_45 - SFX_Headers_02) / 3 + ld a, SFX_TURN_ON_PC call PlaySound ld hl, TurnedOnPC1Text call PrintText @@ -51,7 +51,7 @@ PCMainMenu: ; 17e48 (5:7e48) ld hl, wFlags_0xcd60 res 5, [hl] set 3, [hl] - ld a, (SFX_02_47 - SFX_Headers_02) / 3 + ld a, SFX_ENTER_PC call PlaySound call WaitForSoundToFinish ld hl, AccessedMyPCText @@ -59,19 +59,19 @@ PCMainMenu: ; 17e48 (5:7e48) callba PlayerPC jr ReloadMainMenu OaksPC: ; 17ec0 (5:7ec0) - ld a, (SFX_02_47 - SFX_Headers_02) / 3 + ld a, SFX_ENTER_PC call PlaySound call WaitForSoundToFinish callba OpenOaksPC jr ReloadMainMenu PKMNLeague: ; 17ed2 (5:7ed2) - ld a, (SFX_02_47 - SFX_Headers_02) / 3 + ld a, SFX_ENTER_PC call PlaySound call WaitForSoundToFinish callba PKMNLeaguePC jr ReloadMainMenu BillsPC: ; 17ee4 (5:7ee4) - ld a, (SFX_02_47 - SFX_Headers_02) / 3 + ld a, SFX_ENTER_PC call PlaySound call WaitForSoundToFinish ld a, [wd7f1] ;has to do with having met Bill @@ -91,7 +91,7 @@ ReloadMainMenu: ; 17f06 (5:7f06) call UpdateSprites jp PCMainMenu LogOff: ; 17f13 (5:7f13) - ld a, (SFX_02_46 - SFX_Headers_02) / 3 + ld a, SFX_TURN_OFF_PC call PlaySound call WaitForSoundToFinish ld hl, wFlags_0xcd60 diff --git a/engine/menu/players_pc.asm b/engine/menu/players_pc.asm index 89974dd0..00889e93 100755 --- a/engine/menu/players_pc.asm +++ b/engine/menu/players_pc.asm @@ -11,7 +11,7 @@ PlayerPC: ; 78e6 (1:78e6) bit 3, a ; accessing player's PC through another PC? jr nz, PlayerPCMenu ; accessing it directly - ld a, (SFX_02_45 - SFX_Headers_02) / 3 + ld a, SFX_TURN_ON_PC call PlaySound ld hl, TurnedOnPC2Text call PrintText @@ -67,7 +67,7 @@ ExitPlayerPC: ; 796d (1:796d) bit 3, a ; accessing player's PC through another PC? jr nz, .next ; accessing it directly - ld a, (SFX_02_46 - SFX_Headers_02) / 3 + ld a, SFX_TURN_OFF_PC call PlaySound call WaitForSoundToFinish .next @@ -130,7 +130,7 @@ PlayerPCDeposit: ; 7995 (1:7995) ld hl, wNumBagItems call RemoveItemFromInventory call WaitForSoundToFinish - ld a, (SFX_02_55 - SFX_Headers_02) / 3 + ld a, SFX_WITHDRAW_DEPOSIT call PlaySound call WaitForSoundToFinish ld hl, ItemWasStoredText @@ -184,7 +184,7 @@ PlayerPCWithdraw: ; 7a12 (1:7a12) ld hl, wNumBoxItems call RemoveItemFromInventory call WaitForSoundToFinish - ld a, (SFX_02_55 - SFX_Headers_02) / 3 + ld a, SFX_WITHDRAW_DEPOSIT call PlaySound call WaitForSoundToFinish ld hl, WithdrewItemText diff --git a/engine/menu/start_menu.asm b/engine/menu/start_menu.asm index 7aa09df7..bd876f5b 100755 --- a/engine/menu/start_menu.asm +++ b/engine/menu/start_menu.asm @@ -4,7 +4,7 @@ DisplayStartMenu:: ; 2acd (0:2acd) ld [MBC1RomBank],a ld a,[wWalkBikeSurfState] ; walking/biking/surfing ld [wWalkBikeSurfStateCopy],a - ld a, (SFX_02_3f - SFX_Headers_02) / 3 ; Start menu sound + ld a, SFX_START_MENU call PlaySound RedisplayStartMenu:: ; 2adf (0:2adf) diff --git a/engine/menu/start_sub_menus.asm b/engine/menu/start_sub_menus.asm index 0036d66e..481c0fbe 100755 --- a/engine/menu/start_sub_menus.asm +++ b/engine/menu/start_sub_menus.asm @@ -734,7 +734,7 @@ SwitchPartyMon_ClearGfx: ; 13625 (4:7625) dec c jr nz, .clearMonOAMLoop call WaitForSoundToFinish - ld a, (SFX_02_58 - SFX_Headers_02) / 3 + ld a, SFX_SWAP jp PlaySound SwitchPartyMon_InitVarOrSwapData: ; 13653 (4:7653) diff --git a/engine/menu/vending_machine.asm b/engine/menu/vending_machine.asm index 0f6c6a13..8460889f 100755 --- a/engine/menu/vending_machine.asm +++ b/engine/menu/vending_machine.asm @@ -58,7 +58,7 @@ VendingMachineMenu: ; 74ee0 (1d:4ee0) ld c, 2 call DelayFrames push bc - ld a, (SFX_02_53 - SFX_Headers_02) / 3 + ld a, SFX_PUSH_BOULDER call PlaySound pop bc dec b diff --git a/engine/oak_speech.asm b/engine/oak_speech.asm index c7b2f4d6..62b054df 100755 --- a/engine/oak_speech.asm +++ b/engine/oak_speech.asm @@ -106,7 +106,7 @@ OakSpeech: ; 6115 (1:6115) .next ld a,[H_LOADEDROMBANK] push af - ld a,(SFX_02_48 - SFX_Headers_02) / 3 + ld a,SFX_SHRINK call PlaySound pop af ld [H_LOADEDROMBANK],a diff --git a/engine/overworld/cable_club_npc.asm b/engine/overworld/cable_club_npc.asm index 86a7ab7d..b9e3102a 100755 --- a/engine/overworld/cable_club_npc.asm +++ b/engine/overworld/cable_club_npc.asm @@ -57,7 +57,7 @@ CableClubNPC: ; 71c5 (1:71c5) jr nz, .choseNo callab SaveSAVtoSRAM call WaitForSoundToFinish - ld a, (SFX_02_5d - SFX_Headers_02) / 3 + ld a, SFX_SAVE call PlaySoundWaitForCurrent ld hl, CableClubNPCPleaseWaitText call PrintText diff --git a/engine/overworld/card_key.asm b/engine/overworld/card_key.asm index 94c1868c..746ea326 100755 --- a/engine/overworld/card_key.asm +++ b/engine/overworld/card_key.asm @@ -51,7 +51,7 @@ PrintCardKeyText: ; 52673 (14:6673) predef ReplaceTileBlock ld hl, wd126 set 5, [hl] - ld a, (SFX_1f_57 - SFX_Headers_1f) / 3 + ld a, SFX_GO_INSIDE jp PlaySound .noCardKey tx_pre_id CardKeyFailText diff --git a/engine/overworld/cut.asm b/engine/overworld/cut.asm index f7be269c..293daee7 100755 --- a/engine/overworld/cut.asm +++ b/engine/overworld/cut.asm @@ -60,7 +60,7 @@ UsedCut: ; ef54 (3:6f54) callba Func_79e96 ld a, $1 ld [wUpdateSpritesEnabled], a - ld a, (SFX_02_56 - SFX_Headers_02) / 3 + ld a, SFX_CUT call PlaySound ld a, $90 ld [hWY], a diff --git a/engine/overworld/elevator.asm b/engine/overworld/elevator.asm index f5b1d14c..0c30ee59 100755 --- a/engine/overworld/elevator.asm +++ b/engine/overworld/elevator.asm @@ -19,7 +19,7 @@ ShakeElevator: ; 7bf15 (1e:7f15) ld [hSCY], a push bc ld c, BANK(SFX_02_5b) - ld a, (SFX_02_5b - SFX_Headers_02) / 3 + ld a, SFX_COLLISION call PlayMusic pop bc ld c, 2 @@ -31,7 +31,7 @@ ShakeElevator: ; 7bf15 (1e:7f15) ld a, $ff call PlaySound ld c, BANK(SFX_02_5f) - ld a, (SFX_02_5f - SFX_Headers_02) / 3 + ld a, SFX_SAFARI_ZONE_PA call PlayMusic .asm_7bf57 ld a, [wc02a] diff --git a/engine/overworld/healing_machine.asm b/engine/overworld/healing_machine.asm index d00bbc05..fce797d0 100755 --- a/engine/overworld/healing_machine.asm +++ b/engine/overworld/healing_machine.asm @@ -28,7 +28,7 @@ AnimateHealingMachine: ; 70433 (1c:4433) ld b, a .asm_7046e call Func_70503 - ld a, (SFX_02_4a - SFX_Headers_02) / 3 + ld a, SFX_HEALING_MACHINE call PlaySound ld c, 30 call DelayFrames diff --git a/engine/overworld/hidden_items.asm b/engine/overworld/hidden_items.asm index 910fcf04..94f20439 100755 --- a/engine/overworld/hidden_items.asm +++ b/engine/overworld/hidden_items.asm @@ -33,7 +33,7 @@ FoundHiddenItemText: ; 7675b (1d:675b) ld c, a ld b, $1 predef FlagActionPredef - ld a, (SFX_02_3b - SFX_Headers_02) / 3 + ld a, SFX_GET_ITEM_2 call PlaySoundWaitForCurrent call WaitForSoundToFinish jp TextScriptEnd diff --git a/engine/overworld/ledges.asm b/engine/overworld/ledges.asm index 3a183c0f..51819802 100755 --- a/engine/overworld/ledges.asm +++ b/engine/overworld/ledges.asm @@ -50,7 +50,7 @@ HandleLedges: ; 1a672 (6:6672) ld a, $2 ld [wSimulatedJoypadStatesIndex], a call LoadHoppingShadowOAM - ld a, (SFX_02_4e - SFX_Headers_02) / 3 + ld a, SFX_LEDGE call PlaySound ret diff --git a/engine/overworld/player_animations.asm b/engine/overworld/player_animations.asm index 98ea466d..5ce2b2a6 100755 --- a/engine/overworld/player_animations.asm +++ b/engine/overworld/player_animations.asm @@ -9,7 +9,7 @@ EnterMapAnim: ; 70510 (1c:4510) bit 7, [hl] ; used fly out of battle? res 7, [hl] jr nz, .flyAnimation - ld a, (SFX_02_4c - SFX_Headers_02) / 3 + ld a, SFX_TELEPORT_2 call PlaySound ld hl, wd732 bit 4, [hl] ; used dungeon warp? @@ -17,7 +17,7 @@ EnterMapAnim: ; 70510 (1c:4510) pop hl jr nz, .dungeonWarpAnimation call PlayerSpinWhileMovingDown - ld a, (SFX_02_4f - SFX_Headers_02) / 3 + ld a, SFX_FLY_1 call PlaySound call IsPlayerStandingOnWarpPadOrHole ld a, b @@ -50,7 +50,7 @@ EnterMapAnim: ; 70510 (1c:4510) ld bc, (BANK(BirdSprite) << 8) + $0c call CopyVideoData call LoadBirdSpriteGraphics - ld a, (SFX_02_50 - SFX_Headers_02) / 3 + ld a, SFX_FLY_2 call PlaySound ld hl, wFlyAnimUsingCoordList xor a ; is using coord list @@ -99,7 +99,7 @@ _LeaveMapAnim: ; 705ba (1c:45ba) dec a jp nz, LeaveMapThroughHoleAnim .spinWhileMovingUp - ld a, (SFX_02_4b - SFX_Headers_02) / 3 + ld a, SFX_TELEPORT_1 call PlaySound ld hl, wPlayerSpinWhileMovingUpOrDownAnimDeltaY ld a, -$10 @@ -133,7 +133,7 @@ _LeaveMapAnim: ; 705ba (1c:45ba) ld [hli], a ; wPlayerSpinInPlaceAnimFrameDelayDelta xor a ld [hli], a ; wPlayerSpinInPlaceAnimFrameDelayEndValue - ld [hl], (SFX_02_4d - SFX_Headers_02) / 3 ; wPlayerSpinInPlaceAnimSoundID + ld [hl], SFX_TELEPORT_3 ; wPlayerSpinInPlaceAnimSoundID ld hl, wFacingDirectionList call PlayerSpinInPlace jr .spinWhileMovingUp @@ -146,7 +146,7 @@ _LeaveMapAnim: ; 705ba (1c:45ba) ld [hli], a ; wFlyAnimCounter ld [hl], $c ; wFlyAnimBirdSpriteImageIndex call DoFlyAnimation - ld a, (SFX_02_50 - SFX_Headers_02) / 3 + ld a, SFX_FLY_2 call PlaySound ld hl, wFlyAnimUsingCoordList xor a ; is using coord list diff --git a/engine/overworld/pokemart.asm b/engine/overworld/pokemart.asm index ebc99eed..d59b2dc7 100755 --- a/engine/overworld/pokemart.asm +++ b/engine/overworld/pokemart.asm @@ -190,7 +190,7 @@ DisplayPokemartDialogue_: ; 6c20 (1:6c20) ld a,1 ld [wBoughtOrSoldItemInMart],a .skipSettingFlag2 - ld a,(SFX_02_5a - SFX_Headers_02) / 3 + ld a,SFX_PURCHASE call PlaySoundWaitForCurrent call WaitForSoundToFinish ld hl,PokemartBoughtItemText diff --git a/engine/save.asm b/engine/save.asm index 56468595..d13a2aa7 100755 --- a/engine/save.asm +++ b/engine/save.asm @@ -161,7 +161,7 @@ SaveSAV: ; 7370a (1c:770a) call DelayFrames ld hl,GameSavedText call PrintText - ld a, (SFX_02_5d - SFX_Headers_02) / 3 ;sound for saved game + ld a, SFX_SAVE call PlaySoundWaitForCurrent call WaitForSoundToFinish ld c,30 @@ -375,7 +375,7 @@ ChangeBox:: ; 738a1 (1c:78a1) call SaveSAVtoSRAM ld hl, wChangeBoxSavedMapTextPointer call SetMapTextPointer - ld a, (SFX_02_5d - SFX_Headers_02) / 3 + ld a, SFX_SAVE call PlaySoundWaitForCurrent call WaitForSoundToFinish ret diff --git a/engine/slot_machine.asm b/engine/slot_machine.asm index ea1eb315..c7968c10 100755 --- a/engine/slot_machine.asm +++ b/engine/slot_machine.asm @@ -116,7 +116,7 @@ MainSlotMachineLoop: ; 37395 (d:7395) ld [hli], a ld [hl], a call WaitForSoundToFinish - ld a, (SFX_1f_66 - SFX_Headers_1f) / 3 + ld a, SFX_SLOTS_NEW_SPIN call PlaySound ld hl, StartSlotMachineText call PrintText @@ -584,7 +584,7 @@ SlotReward15Func: ; 376e5 (d:76e5) ret SlotReward100Func: ; 376f3 (d:76f3) - ld a, (SFX_1f_42 - SFX_Headers_1f) / 3 + ld a, SFX_GET_KEY_ITEM call PlaySound xor a ld [wSlotMachineFlags], a @@ -595,7 +595,7 @@ SlotReward100Func: ; 376f3 (d:76f3) SlotReward300Func: ; 37702 (d:7702) ld hl, YeahText call PrintText - ld a, (SFX_1f_3b - SFX_Headers_1f) / 3 + ld a, SFX_GET_ITEM_2 call PlaySound call Random cp $80 @@ -689,7 +689,7 @@ SlotMachine_PayCoinsToPlayer: ; 3776b (d:776b) predef AddBCDPredef call SlotMachine_PrintCreditCoins call SlotMachine_PrintPayoutCoins - ld a, (SFX_1f_65 - SFX_Headers_1f) / 3 + ld a, SFX_SLOTS_REWARD call PlaySound ld a, [wAnimCounter] dec a @@ -837,7 +837,7 @@ SlotMachine_HandleInputWhileWheelsSpin: ; 37882 (d:7882) jr z, .skip .loop inc [hl] - ld a, (SFX_1f_64 - SFX_Headers_1f) / 3 + ld a, SFX_SLOTS_STOP_WHEEL jp PlaySound .skip ld a, [de] diff --git a/engine/titlescreen.asm b/engine/titlescreen.asm index 3a4e2e4c..c5f72aee 100755 --- a/engine/titlescreen.asm +++ b/engine/titlescreen.asm @@ -157,7 +157,7 @@ ENDC ld d, a cp -3 jr nz, .skipPlayingSound - ld a, (SFX_1f_62 - SFX_Headers_1f) / 3 + ld a, SFX_INTRO_CRASH call PlaySound .skipPlayingSound ld a, [hli] @@ -191,7 +191,7 @@ ENDC call LoadScreenTilesFromBuffer1 ld c, 36 call DelayFrames - ld a, (SFX_1f_63 - SFX_Headers_1f) / 3 + ld a, SFX_INTRO_WHOOSH call PlaySound ; scroll game version in from the right diff --git a/engine/town_map.asm b/engine/town_map.asm index 302efa0f..a90aa331 100755 --- a/engine/town_map.asm +++ b/engine/town_map.asm @@ -69,7 +69,7 @@ DisplayTownMap: ; 70e3e (1c:4e3e) ld b, a and A_BUTTON | B_BUTTON | D_UP | D_DOWN jr z, .inputLoop - ld a, (SFX_02_3c - SFX_Headers_02) / 3 + ld a, SFX_TINK call PlaySound bit 6, b jr nz, .pressedUp @@ -193,7 +193,7 @@ LoadTownMap_Fly: ; 70f90 (1c:4f90) jr z, .inputLoop bit 0, b jr nz, .pressedA - ld a, (SFX_02_3c - SFX_Headers_02) / 3 + ld a, SFX_TINK call PlaySound bit 6, b jr nz, .pressedUp @@ -201,7 +201,7 @@ LoadTownMap_Fly: ; 70f90 (1c:4f90) jr nz, .pressedDown jr .pressedB .pressedA - ld a, (SFX_02_3e - SFX_Headers_02) / 3 + ld a, SFX_HEAL_AILMENT call PlaySound ld a, [hl] ld [wDestinationMap], a diff --git a/engine/trade.asm b/engine/trade.asm index 531085b9..68baaa16 100755 --- a/engine/trade.asm +++ b/engine/trade.asm @@ -287,7 +287,7 @@ Trade_DrawOpenEndOfLinkCable: ; 41298 (10:5298) ld b, $7 ; open end of link cable tile ID list index call CopyTileIDsFromList_ZeroBaseTileID call Trade_CopyTileMapToVRAM - ld a, (SFX_02_3d - SFX_Headers_02) / 3 + ld a, SFX_HEAL_HP call PlaySound ld c, 20 .loop @@ -332,7 +332,7 @@ Trade_AnimateBallEnteringLinkCable: ; 412d2 (10:52d2) ld c, a cp $a0 jr nc, .ballSpriteReachedEdgeOfScreen - ld a, (SFX_02_3c - SFX_Headers_02) / 3 + ld a, SFX_TINK call PlaySound jr .moveBallInsideLinkCableLoop .ballSpriteReachedEdgeOfScreen diff --git a/home.asm b/home.asm index 1b910054..cb4f7ad2 100644 --- a/home.asm +++ b/home.asm @@ -1330,7 +1330,7 @@ AddAmountSoldToMoney:: ; 2b9e (0:2b9e) ld a,MONEY_BOX ld [wTextBoxID],a call DisplayTextBoxID ; redraw money text box - ld a, (SFX_02_5a - SFX_Headers_02) / 3 + ld a, SFX_PURCHASE call PlaySoundWaitForCurrent jp WaitForSoundToFinish @@ -3490,7 +3490,7 @@ ManualTextScroll:: ; 3898 (0:3898) cp LINK_STATE_BATTLING jr z, .inLinkBattle call WaitForTextScrollButtonPress - ld a, (SFX_02_40 - SFX_Headers_02) / 3 + ld a, SFX_PRESS_AB jp PlaySound .inLinkBattle ld c, 65 @@ -4016,7 +4016,7 @@ HandleMenuInputPokemonSelection:: ; 3ac2 (0:3ac2) bit 5,[hl] pop hl jr nz,.skipPlayingSound - ld a,(SFX_02_40 - SFX_Headers_02) / 3 + ld a,SFX_PRESS_AB call PlaySound .skipPlayingSound pop af diff --git a/home/overworld.asm b/home/overworld.asm index 0485335a..814e8c54 100644 --- a/home/overworld.asm +++ b/home/overworld.asm @@ -674,10 +674,10 @@ PlayMapChangeSound:: ; 08c9 (0:08c9) aCoord 8, 8 ; upper left tile of the 4x4 square the player's sprite is standing on cp a,$0b ; door tile in tileset 0 jr nz,.didNotGoThroughDoor - ld a,(SFX_02_57 - SFX_Headers_02) / 3 + ld a,SFX_GO_INSIDE jr .playSound .didNotGoThroughDoor - ld a,(SFX_02_5c - SFX_Headers_02) / 3 + ld a,SFX_GO_OUTSIDE .playSound call PlaySound ld a,[wMapPalOffset] @@ -1227,9 +1227,9 @@ CollisionCheckOnLand:: ; 0bd1 (0:0bd1) jr nc,.noCollision .collision ld a,[wc02a] - cp a,(SFX_02_5b - SFX_Headers_02) / 3 ; check if collision sound is already playing + cp a,SFX_COLLISION ; check if collision sound is already playing jr z,.setCarry - ld a,(SFX_02_5b - SFX_Headers_02) / 3 + ld a,SFX_COLLISION call PlaySound ; play collision sound (if it's not already playing) .setCarry scf @@ -1930,9 +1930,9 @@ CollisionCheckOnWater:: ; 0fb7 (0:0fb7) jr .loop .collision ld a,[wc02a] - cp a,(SFX_02_5b - SFX_Headers_02) / 3 ; check if collision sound is already playing + cp a,SFX_COLLISION ; check if collision sound is already playing jr z,.setCarry - ld a,(SFX_02_5b - SFX_Headers_02) / 3 + ld a,SFX_COLLISION call PlaySound ; play collision sound (if it's not already playing) .setCarry scf diff --git a/home/text.asm b/home/text.asm index 7eb5148b..89708306 100644 --- a/home/text.asm +++ b/home/text.asm @@ -626,13 +626,13 @@ TextCommand0B:: ; 1c31 (0:1c31) ; format: text command ID, sound ID or cry ID TextCommandSounds:: ; 1c64 (0:1c64) - db $0B,(SFX_02_3a - SFX_Headers_02) / 3 - db $12,(SFX_08_46 - SFX_Headers_08) / 3 - db $0E,(SFX_02_41 - SFX_Headers_02) / 3 - db $0F,(SFX_02_3a - SFX_Headers_02) / 3 - db $10,(SFX_02_3b - SFX_Headers_02) / 3 - db $11,(SFX_02_42 - SFX_Headers_02) / 3 - db $13,(SFX_08_45 - SFX_Headers_08) / 3 + db $0B,SFX_GET_ITEM_1 + db $12,SFX_BATTLE_06 + db $0E,SFX_POKEDEX_RATING + db $0F,SFX_GET_ITEM_1 + db $10,SFX_GET_ITEM_2 + db $11,SFX_GET_KEY_ITEM + db $13,SFX_BATTLE_05 db $14,NIDORINA ; used in OakSpeech db $15,PIDGEOT ; used in SaffronCityText12 db $16,DEWGONG ; unused? diff --git a/main.asm b/main.asm index 08747a5a..a81e7d98 100755 --- a/main.asm +++ b/main.asm @@ -1605,7 +1605,7 @@ DisplayTwoOptionMenu: ; 7559 (1:7559) pop af pop hl ld [wFlags_0xcd60], a - ld a, (SFX_02_40 - SFX_Headers_02) / 3 + ld a, SFX_PRESS_AB call PlaySound jr .pressedAButton .notNoYesMenu @@ -2631,7 +2631,7 @@ ApplyOutOfBattlePoisonDamage: ; c69c (3:469c) jr z, .skipPoisonEffectAndSound ld b, $2 predef ChangeBGPalColor0_4Frames ; change BG white to dark grey for 4 frames - ld a, (SFX_02_43 - SFX_Headers_02) / 3 + ld a, SFX_POISONED call PlaySound .skipPoisonEffectAndSound predef AnyPartyAlive @@ -3512,7 +3512,7 @@ TryPushingBoulder: ; f225 (3:7225) ld de, PushBoulderRightMovementData .done call MoveSprite - ld a, (SFX_02_53 - SFX_Headers_02) / 3 + ld a, SFX_PUSH_BOULDER call PlaySound ld hl, wFlags_0xcd60 set 1, [hl] @@ -3543,7 +3543,7 @@ DoBoulderDustAnimation: ; f2b5 (3:72b5) ld [H_SPRITEINDEX], a call GetSpriteMovementByte2Pointer ld [hl], $10 - ld a, (SFX_02_56 - SFX_Headers_02) / 3 + ld a, SFX_CUT jp PlaySound ResetBoulderPushFlags: ; f2dd (3:72dd) diff --git a/scripts/celadongamecorner.asm b/scripts/celadongamecorner.asm index 519c0c67..53e55872 100755 --- a/scripts/celadongamecorner.asm +++ b/scripts/celadongamecorner.asm @@ -454,7 +454,7 @@ CeladonGameCornerText12: ; 48edd (12:4edd) 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 @@ -468,7 +468,7 @@ CeladonGameCornerText12: ; 48edd (12:4edd) CeladonGameCornerText_48f09: ; 48f09 (12:4f09) TX_FAR _CeladonGameCornerText_48f09 TX_ASM - ld a, (SFX_02_49 - SFX_Headers_02) / 3 + ld a, SFX_SWITCH call PlaySound call WaitForSoundToFinish jp TextScriptEnd diff --git a/scripts/cinnabargym.asm b/scripts/cinnabargym.asm index dbede0d3..9b308bd3 100755 --- a/scripts/cinnabargym.asm +++ b/scripts/cinnabargym.asm @@ -106,7 +106,7 @@ CinnabarGymScript2: ; 757f6 (1d:57f6) and a 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 diff --git a/scripts/daycarem.asm b/scripts/daycarem.asm index 330f2234..a9798f19 100755 --- a/scripts/daycarem.asm +++ b/scripts/daycarem.asm @@ -156,7 +156,7 @@ DayCareMScript_562e1: ; 562e1 (15:62e1) 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, MONEY_BOX ld [wTextBoxID], a diff --git a/scripts/lance.asm b/scripts/lance.asm index e335914b..f5095a69 100755 --- a/scripts/lance.asm +++ b/scripts/lance.asm @@ -75,7 +75,7 @@ LanceScript0: ; 5a305 (16:6305) ret nz ld hl, wd126 set 5, [hl] - ld a, (SFX_02_57 - SFX_Headers_02) / 3 + ld a, SFX_GO_INSIDE call PlaySound jp LanceScript_5a2c4 diff --git a/scripts/mansion1.asm b/scripts/mansion1.asm index 6673e03b..a9e2616a 100755 --- a/scripts/mansion1.asm +++ b/scripts/mansion1.asm @@ -111,7 +111,7 @@ Mansion1Text4: ; 4435a (11:435a) 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] diff --git a/scripts/mansion2.asm b/scripts/mansion2.asm index 27ccbdfb..1cacae02 100755 --- a/scripts/mansion2.asm +++ b/scripts/mansion2.asm @@ -117,7 +117,7 @@ Mansion2Text5: ; 52087 (14:6087) 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] diff --git a/scripts/museum1f.asm b/scripts/museum1f.asm index 38c3f717..f41f05ff 100755 --- a/scripts/museum1f.asm +++ b/scripts/museum1f.asm @@ -107,7 +107,7 @@ Museum1FText1: ; 5c135 (17:4135) 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 diff --git a/scripts/rockethideout1.asm b/scripts/rockethideout1.asm index 967ab77b..b798744d 100755 --- a/scripts/rockethideout1.asm +++ b/scripts/rockethideout1.asm @@ -21,7 +21,7 @@ RocketHideout1Script_44be0: ; 44be0 (11:4be0) 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] diff --git a/scripts/rockethideout2.asm b/scripts/rockethideout2.asm index c2184bdb..ead69458 100755 --- a/scripts/rockethideout2.asm +++ b/scripts/rockethideout2.asm @@ -25,7 +25,7 @@ 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 diff --git a/scripts/rockethideout3.asm b/scripts/rockethideout3.asm index b025acd0..2060c26c 100755 --- a/scripts/rockethideout3.asm +++ b/scripts/rockethideout3.asm @@ -25,7 +25,7 @@ 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 diff --git a/scripts/rockethideout4.asm b/scripts/rockethideout4.asm index 635c6095..44536279 100755 --- a/scripts/rockethideout4.asm +++ b/scripts/rockethideout4.asm @@ -22,7 +22,7 @@ RocketHideout4Script_45473: ; 45473 (11:5473) 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] diff --git a/scripts/route22gate.asm b/scripts/route22gate.asm index 8b24c820..95546a99 100755 --- a/scripts/route22gate.asm +++ b/scripts/route22gate.asm @@ -77,7 +77,7 @@ Route22GateText1: ; 1e6e1 (7:66e1) Route22GateText_1e704: ; 1e704 (7:6704) TX_FAR _Route22GateText_1e704 TX_ASM - ld a, (SFX_02_51 - SFX_Headers_02) / 3 + ld a, SFX_DENIED call PlaySoundWaitForCurrent call WaitForSoundToFinish ld hl, Route22GateText_1e715 diff --git a/scripts/route23.asm b/scripts/route23.asm index eeaf2a2b..a258b88a 100755 --- a/scripts/route23.asm +++ b/scripts/route23.asm @@ -224,7 +224,7 @@ Route23Script_51388: ; 51388 (14:5388) VictoryRoadGuardText1: ; 5138e (14:538e) TX_FAR _VictoryRoadGuardText1 TX_ASM - ld a, (SFX_02_51 - SFX_Headers_02) / 3 + ld a, SFX_DENIED call PlaySoundWaitForCurrent call WaitForSoundToFinish jp TextScriptEnd diff --git a/scripts/vermiliondock.asm b/scripts/vermiliondock.asm index a8cf3b8d..c65c7aea 100755 --- a/scripts/vermiliondock.asm +++ b/scripts/vermiliondock.asm @@ -72,7 +72,7 @@ VermilionDock_1db9b: ; 1db9b (7:5b9b) 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 @@ -193,7 +193,7 @@ VermilionDock_1dc94: ; 1dc94 (7:5c94) 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, 120 call DelayFrames diff --git a/scripts/vermiliongym.asm b/scripts/vermiliongym.asm index 193b3a06..614e0b4d 100755 --- a/scripts/vermiliongym.asm +++ b/scripts/vermiliongym.asm @@ -34,7 +34,7 @@ VermilionGymScript_5ca6d: ; 5ca6d (17:4a6d) 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 diff --git a/scripts/viridiangym.asm b/scripts/viridiangym.asm index 9a0ce855..7a577095 100755 --- a/scripts/viridiangym.asm +++ b/scripts/viridiangym.asm @@ -41,7 +41,7 @@ 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 -- cgit v1.3.1-sl0p From fcab935a0f449246380480613ac0896e0b90a0d8 Mon Sep 17 00:00:00 2001 From: YamaArashi Date: Mon, 20 Jul 2015 18:32:02 -0700 Subject: enumerate events --- constants.asm | 1 + constants/event_constants.asm | 2562 +++++++++++++++++++++++++++++++++ engine/hall_of_fame.asm | 3 +- engine/hidden_object_functions17.asm | 12 +- engine/hidden_object_functions18.asm | 3 +- engine/hidden_object_functions7.asm | 24 +- engine/items/items.asm | 18 +- engine/menu/bills_pc.asm | 9 +- engine/menu/pc.asm | 3 +- engine/menu/start_menu.asm | 9 +- engine/overworld/cable_club_npc.asm | 3 +- engine/overworld/cinnabar_lab.asm | 4 +- engine/pokedex_rating.asm | 5 +- home/overworld.asm | 6 +- macros.asm | 426 ++++++ main.asm | 13 +- scripts/agatha.asm | 11 +- scripts/bikeshop.asm | 9 +- scripts/billshouse.asm | 18 +- scripts/blueshouse.asm | 12 +- scripts/bruno.asm | 11 +- scripts/celadoncity.asm | 13 +- scripts/celadondiner.asm | 6 +- scripts/celadongamecorner.asm | 27 +- scripts/celadongym.asm | 45 +- scripts/celadonmart3.asm | 6 +- scripts/celadonmartroof.asm | 18 +- scripts/ceruleancity.asm | 18 +- scripts/ceruleangym.asm | 26 +- scripts/cinnabargym.asm | 53 +- scripts/cinnabarisland.asm | 6 +- scripts/copycatshouse2f.asm | 6 +- scripts/fanclub.asm | 24 +- scripts/fightingdojo.asm | 45 +- scripts/fuchsiacity.asm | 5 +- scripts/fuchsiagym.asm | 42 +- scripts/fuchsiahouse2.asm | 12 +- scripts/gary.asm | 6 +- scripts/halloffameroom.asm | 8 +- scripts/indigoplateaulobby.asm | 11 +- scripts/lab3.asm | 6 +- scripts/lab4.asm | 11 +- scripts/lance.asm | 17 +- scripts/lavenderhouse1.asm | 12 +- scripts/lavenderhouse2.asm | 3 +- scripts/lavendermart.asm | 3 +- scripts/lorelei.asm | 11 +- scripts/mansion1.asm | 13 +- scripts/mansion2.asm | 13 +- scripts/mansion3.asm | 11 +- scripts/mansion4.asm | 11 +- scripts/mtmoon1.asm | 28 +- scripts/mtmoon3.asm | 40 +- scripts/mtmoonpokecenter.asm | 6 +- scripts/museum1f.asm | 15 +- scripts/oakslab.asm | 60 +- scripts/pallettown.asm | 24 +- scripts/pewtercity.asm | 6 +- scripts/pewtergym.asm | 22 +- scripts/pokemontower2.asm | 18 +- scripts/pokemontower3.asm | 12 +- scripts/pokemontower4.asm | 12 +- scripts/pokemontower5.asm | 23 +- scripts/pokemontower6.asm | 18 +- scripts/pokemontower7.asm | 18 +- scripts/powerplant.asm | 36 +- scripts/rockethideout1.asm | 31 +- scripts/rockethideout2.asm | 4 +- scripts/rockethideout3.asm | 8 +- scripts/rockethideout4.asm | 28 +- scripts/rocktunnel1.asm | 28 +- scripts/rocktunnel2.asm | 32 +- scripts/route1.asm | 4 +- scripts/route10.asm | 24 +- scripts/route11.asm | 40 +- scripts/route11gateupstairs.asm | 9 +- scripts/route12.asm | 38 +- scripts/route12gateupstairs.asm | 6 +- scripts/route13.asm | 40 +- scripts/route14.asm | 40 +- scripts/route15.asm | 40 +- scripts/route15gateupstairs.asm | 6 +- scripts/route16.asm | 34 +- scripts/route16house.asm | 6 +- scripts/route17.asm | 40 +- scripts/route18.asm | 12 +- scripts/route19.asm | 40 +- scripts/route20.asm | 52 +- scripts/route21.asm | 36 +- scripts/route22.asm | 28 +- scripts/route23.asm | 28 +- scripts/route24.asm | 46 +- scripts/route25.asm | 47 +- scripts/route2gate.asm | 6 +- scripts/route3.asm | 32 +- scripts/route4.asm | 4 +- scripts/route6.asm | 24 +- scripts/route8.asm | 36 +- scripts/route9.asm | 36 +- scripts/safarizoneentrance-yellow.asm | 5 +- scripts/safarizoneentrance.asm | 15 +- scripts/safarizonesecrethouse.asm | 6 +- scripts/saffrongym.asm | 48 +- scripts/saffronhouse2.asm | 6 +- scripts/seafoamislands1.asm | 9 +- scripts/seafoamislands2.asm | 6 +- scripts/seafoamislands3.asm | 6 +- scripts/seafoamislands4.asm | 14 +- scripts/seafoamislands5.asm | 12 +- scripts/silphco1.asm | 7 +- scripts/silphco10.asm | 17 +- scripts/silphco11.asm | 26 +- scripts/silphco2.asm | 35 +- scripts/silphco3.asm | 24 +- scripts/silphco4.asm | 25 +- scripts/silphco5.asm | 35 +- scripts/silphco6.asm | 21 +- scripts/silphco7.asm | 53 +- scripts/silphco8.asm | 21 +- scripts/silphco9.asm | 40 +- scripts/ssanne10.asm | 24 +- scripts/ssanne5.asm | 8 +- scripts/ssanne7.asm | 12 +- scripts/ssanne8.asm | 16 +- scripts/ssanne9.asm | 16 +- scripts/unknowndungeon3.asm | 4 +- scripts/vermilioncity.asm | 16 +- scripts/vermiliondock.asm | 15 +- scripts/vermiliongym.asm | 30 +- scripts/victoryroad1.asm | 17 +- scripts/victoryroad2.asm | 40 +- scripts/victoryroad3.asm | 26 +- scripts/viridiancity.asm | 21 +- scripts/viridianforest.asm | 12 +- scripts/viridiangym.asm | 57 +- scripts/viridianmart.asm | 6 +- wram.asm | 139 +- 137 files changed, 4108 insertions(+), 1655 deletions(-) create mode 100755 constants/event_constants.asm (limited to 'scripts/vermiliondock.asm') diff --git a/constants.asm b/constants.asm index 0b24ea05..e121b6b3 100644 --- a/constants.asm +++ b/constants.asm @@ -30,3 +30,4 @@ INCLUDE "constants/credits_constants.asm" INCLUDE "constants/music_constants.asm" INCLUDE "constants/tilesets.asm" INCLUDE "constants/starter_mons.asm" +INCLUDE "constants/event_constants.asm" diff --git a/constants/event_constants.asm b/constants/event_constants.asm new file mode 100755 index 00000000..64241ae6 --- /dev/null +++ b/constants/event_constants.asm @@ -0,0 +1,2562 @@ +const_value = 0 + + const EVENT_STOPPED_FROM_LEAVING_PALLET + const EVENT_001 + const EVENT_002 + const EVENT_003 + const EVENT_004 + const EVENT_005 + const EVENT_006 + const EVENT_007 + const EVENT_008 + const EVENT_009 + const EVENT_00A + const EVENT_00B + const EVENT_00C + const EVENT_00D + const EVENT_00E + const EVENT_00F + const EVENT_010 + const EVENT_011 + const EVENT_012 + const EVENT_013 + const EVENT_014 + const EVENT_015 + const EVENT_016 + const EVENT_017 + const EVENT_018 + const EVENT_019 + const EVENT_01A + const EVENT_01B + const EVENT_01C + const EVENT_01D + const EVENT_01E + const EVENT_01F + const EVENT_FOLLOWED_OAK_INSIDE_LAB + const EVENT_OAK_ASKED_TO_CHOOSE_MON + const EVENT_GOT_STARTER + const EVENT_BATTLED_RIVAL_IN_OAKS_LAB + const EVENT_GOT_POKEBALLS_FROM_OAK + const EVENT_GOT_POKEDEX + const EVENT_026 + const EVENT_027 + const EVENT_028 + const EVENT_029 + const EVENT_02A + const EVENT_02B + const EVENT_02C + const EVENT_02D + const EVENT_02E + const EVENT_02F + const EVENT_030 + const EVENT_031 + const EVENT_032 + const EVENT_033 + const EVENT_034 + const EVENT_035 + const EVENT_036 + const EVENT_037 + const EVENT_038 + const EVENT_039 + const EVENT_03A + const EVENT_03B + const EVENT_03C + const EVENT_03D + const EVENT_03E + const EVENT_03F + const EVENT_040 + const EVENT_041 + const EVENT_042 + const EVENT_043 + const EVENT_044 + const EVENT_045 + const EVENT_046 + const EVENT_047 + const EVENT_048 + const EVENT_049 + const EVENT_04A + const EVENT_04B + const EVENT_04C + const EVENT_04D + const EVENT_04E + const EVENT_04F + const EVENT_050 + const EVENT_051 + const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_0 + const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_1 + const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_2 + const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_3 + const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_4 + const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_5 + const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_6 + const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_7 + const EVENT_05A + const EVENT_05B + const EVENT_05C + const EVENT_05D + const EVENT_05E + const EVENT_05F + const EVENT_060 + const EVENT_061 + const EVENT_062 + const EVENT_063 + const EVENT_064 + const EVENT_065 + const EVENT_066 + const EVENT_067 + const EVENT_068 + const EVENT_069 + const EVENT_06A + const EVENT_06B + const EVENT_06C + const EVENT_06D + const EVENT_06E + const EVENT_06F + const EVENT_070 + const EVENT_071 + const EVENT_BEAT_PEWTER_GYM_TRAINER_0 + const EVENT_073 + const EVENT_074 + const EVENT_075 + const EVENT_076 + const EVENT_077 + const EVENT_078 + const EVENT_079 + const EVENT_07A + const EVENT_07B + const EVENT_07C + const EVENT_07D + const EVENT_07E + const EVENT_07F + const EVENT_080 + const EVENT_081 + const EVENT_082 + const EVENT_083 + const EVENT_084 + const EVENT_085 + const EVENT_086 + const EVENT_087 + const EVENT_088 + const EVENT_089 + const EVENT_08A + const EVENT_08B + const EVENT_08C + const EVENT_08D + const EVENT_08E + const EVENT_08F + const EVENT_090 + const EVENT_091 + const EVENT_092 + const EVENT_093 + const EVENT_094 + const EVENT_095 + const EVENT_096 + const EVENT_097 + const EVENT_098 + const EVENT_099 + const EVENT_09A + const EVENT_09B + const EVENT_09C + const EVENT_09D + const EVENT_09E + const EVENT_09F + const EVENT_0A0 + const EVENT_0A1 + const EVENT_0A2 + const EVENT_0A3 + const EVENT_0A4 + const EVENT_0A5 + const EVENT_0A6 + const EVENT_0A7 + const EVENT_0A8 + const EVENT_0A9 + const EVENT_0AA + const EVENT_0AB + const EVENT_0AC + const EVENT_0AD + const EVENT_0AE + const EVENT_0AF + const EVENT_0B0 + const EVENT_0B1 + const EVENT_0B2 + const EVENT_0B3 + const EVENT_0B4 + const EVENT_0B5 + const EVENT_0B6 + const EVENT_0B7 + const EVENT_0B8 + const EVENT_0B9 + const EVENT_BEAT_CERULEAN_GYM_TRAINER_0 + const EVENT_BEAT_CERULEAN_GYM_TRAINER_1 + const EVENT_0BC + const EVENT_0BD + const EVENT_0BE + const EVENT_0BF + const EVENT_0C0 + const EVENT_0C1 + const EVENT_0C2 + const EVENT_0C3 + const EVENT_0C4 + const EVENT_0C5 + const EVENT_0C6 + const EVENT_0C7 + const EVENT_0C8 + const EVENT_0C9 + const EVENT_0CA + const EVENT_0CB + const EVENT_0CC + const EVENT_0CD + const EVENT_0CE + const EVENT_0CF + const EVENT_0D0 + const EVENT_0D1 + const EVENT_0D2 + const EVENT_0D3 + const EVENT_0D4 + const EVENT_0D5 + const EVENT_0D6 + const EVENT_0D7 + const EVENT_0D8 + const EVENT_0D9 + const EVENT_0DA + const EVENT_0DB + const EVENT_0DC + const EVENT_0DD + const EVENT_0DE + const EVENT_0DF + const EVENT_0E0 + const EVENT_0E1 + const EVENT_0E2 + const EVENT_0E3 + const EVENT_0E4 + const EVENT_0E5 + const EVENT_0E6 + const EVENT_0E7 + const EVENT_0E8 + const EVENT_0E9 + const EVENT_0EA + const EVENT_0EB + const EVENT_0EC + const EVENT_0ED + const EVENT_0EE + const EVENT_0EF + const EVENT_0F0 + const EVENT_BEAT_POKEMONTOWER_3_TRAINER_0 + const EVENT_BEAT_POKEMONTOWER_3_TRAINER_1 + const EVENT_BEAT_POKEMONTOWER_3_TRAINER_2 + const EVENT_0F4 + const EVENT_0F5 + const EVENT_0F6 + const EVENT_0F7 + const EVENT_0F8 + const EVENT_BEAT_POKEMONTOWER_4_TRAINER_0 + const EVENT_BEAT_POKEMONTOWER_4_TRAINER_1 + const EVENT_BEAT_POKEMONTOWER_4_TRAINER_2 + const EVENT_0FC + const EVENT_0FD + const EVENT_0FE + const EVENT_0FF + const EVENT_100 + const EVENT_101 + const EVENT_BEAT_POKEMONTOWER_5_TRAINER_0 + const EVENT_BEAT_POKEMONTOWER_5_TRAINER_1 + const EVENT_BEAT_POKEMONTOWER_5_TRAINER_2 + const EVENT_BEAT_POKEMONTOWER_5_TRAINER_3 + const EVENT_106 + const EVENT_107 + const EVENT_108 + const EVENT_BEAT_POKEMONTOWER_6_TRAINER_0 + const EVENT_BEAT_POKEMONTOWER_6_TRAINER_1 + const EVENT_BEAT_POKEMONTOWER_6_TRAINER_2 + const EVENT_10C + const EVENT_10D + const EVENT_10E + const EVENT_10F + const EVENT_110 + const EVENT_BEAT_POKEMONTOWER_7_TRAINER_0 + const EVENT_BEAT_POKEMONTOWER_7_TRAINER_1 + const EVENT_BEAT_POKEMONTOWER_7_TRAINER_2 + const EVENT_114 + const EVENT_115 + const EVENT_116 + const EVENT_117 + const EVENT_118 + const EVENT_119 + const EVENT_11A + const EVENT_11B + const EVENT_11C + const EVENT_11D + const EVENT_11E + const EVENT_11F + const EVENT_120 + const EVENT_121 + const EVENT_122 + const EVENT_123 + const EVENT_124 + const EVENT_125 + const EVENT_126 + const EVENT_127 + const EVENT_128 + const EVENT_129 + const EVENT_12A + const EVENT_12B + const EVENT_12C + const EVENT_12D + const EVENT_12E + const EVENT_12F + const EVENT_130 + const EVENT_131 + const EVENT_132 + const EVENT_133 + const EVENT_134 + const EVENT_135 + const EVENT_136 + const EVENT_137 + const EVENT_138 + const EVENT_139 + const EVENT_13A + const EVENT_13B + const EVENT_13C + const EVENT_13D + const EVENT_13E + const EVENT_13F + const EVENT_140 + const EVENT_141 + const EVENT_142 + const EVENT_143 + const EVENT_144 + const EVENT_145 + const EVENT_146 + const EVENT_147 + const EVENT_148 + const EVENT_149 + const EVENT_14A + const EVENT_14B + const EVENT_14C + const EVENT_14D + const EVENT_14E + const EVENT_14F + const EVENT_150 + const EVENT_GOT_BIKE_VOUCHER + const EVENT_152 + const EVENT_153 + const EVENT_154 + const EVENT_155 + const EVENT_156 + const EVENT_157 + const EVENT_158 + const EVENT_159 + const EVENT_15A + const EVENT_15B + const EVENT_15C + const EVENT_15D + const EVENT_15E + const EVENT_15F + const EVENT_2ND_LOCK_OPENED + const EVENT_1ST_LOCK_OPENED + const EVENT_BEAT_VERMILION_GYM_TRAINER_0 + const EVENT_BEAT_VERMILION_GYM_TRAINER_1 + const EVENT_BEAT_VERMILION_GYM_TRAINER_2 + const EVENT_165 + const EVENT_166 + const EVENT_167 + const EVENT_168 + const EVENT_169 + const EVENT_16A + const EVENT_16B + const EVENT_16C + const EVENT_16D + const EVENT_16E + const EVENT_16F + const EVENT_170 + const EVENT_171 + const EVENT_172 + const EVENT_173 + const EVENT_174 + const EVENT_175 + const EVENT_176 + const EVENT_177 + const EVENT_178 + const EVENT_179 + const EVENT_17A + const EVENT_17B + const EVENT_17C + const EVENT_17D + const EVENT_17E + const EVENT_17F + const EVENT_180 + const EVENT_181 + const EVENT_182 + const EVENT_183 + const EVENT_184 + const EVENT_185 + const EVENT_186 + const EVENT_187 + const EVENT_188 + const EVENT_189 + const EVENT_18A + const EVENT_18B + const EVENT_18C + const EVENT_18D + const EVENT_18E + const EVENT_18F + const EVENT_190 + const EVENT_191 + const EVENT_192 + const EVENT_193 + const EVENT_194 + const EVENT_195 + const EVENT_196 + const EVENT_197 + const EVENT_198 + const EVENT_199 + const EVENT_19A + const EVENT_19B + const EVENT_19C + const EVENT_19D + const EVENT_19E + const EVENT_19F + const EVENT_1A0 + const EVENT_1A1 + const EVENT_1A2 + const EVENT_1A3 + const EVENT_1A4 + const EVENT_1A5 + const EVENT_1A6 + const EVENT_1A7 + const EVENT_1A8 + const EVENT_1A9 + const EVENT_BEAT_CELADON_GYM_TRAINER_0 + const EVENT_BEAT_CELADON_GYM_TRAINER_2 + const EVENT_BEAT_CELADON_GYM_TRAINER_3 + const EVENT_BEAT_CELADON_GYM_TRAINER_4 + const EVENT_BEAT_CELADON_GYM_TRAINER_5 + const EVENT_BEAT_CELADON_GYM_TRAINER_6 + const EVENT_BEAT_CELADON_GYM_TRAINER_7 + const EVENT_1B1 + const EVENT_1B2 + const EVENT_1B3 + const EVENT_1B4 + const EVENT_1B5 + const EVENT_1B6 + const EVENT_1B7 + const EVENT_1B8 + const EVENT_1B9 + const EVENT_1BA + const EVENT_1BB + const EVENT_1BC + const EVENT_1BD + const EVENT_1BE + const EVENT_1BF + const EVENT_1C0 + const EVENT_1C1 + const EVENT_1C2 + const EVENT_1C3 + const EVENT_1C4 + const EVENT_1C5 + const EVENT_1C6 + const EVENT_1C7 + const EVENT_1C8 + const EVENT_1C9 + const EVENT_1CA + const EVENT_1CB + const EVENT_1CC + const EVENT_1CD + const EVENT_1CE + const EVENT_1CF + const EVENT_1D0 + const EVENT_1D1 + const EVENT_1D2 + const EVENT_1D3 + const EVENT_1D4 + const EVENT_1D5 + const EVENT_1D6 + const EVENT_1D7 + const EVENT_1D8 + const EVENT_1D9 + const EVENT_1DA + const EVENT_1DB + const EVENT_1DC + const EVENT_1DD + const EVENT_1DE + const EVENT_1DF + const EVENT_1E0 + const EVENT_1E1 + const EVENT_1E2 + const EVENT_1E3 + const EVENT_1E4 + const EVENT_1E5 + const EVENT_1E6 + const EVENT_1E7 + const EVENT_1E8 + const EVENT_1E9 + const EVENT_1EA + const EVENT_1EB + const EVENT_1EC + const EVENT_1ED + const EVENT_1EE + const EVENT_1EF + const EVENT_1F0 + const EVENT_1F1 + const EVENT_1F2 + const EVENT_1F3 + const EVENT_1F4 + const EVENT_1F5 + const EVENT_1F6 + const EVENT_1F7 + const EVENT_1F8 + const EVENT_1F9 + const EVENT_1FA + const EVENT_1FB + const EVENT_1FC + const EVENT_1FD + const EVENT_1FE + const EVENT_1FF + const EVENT_200 + const EVENT_201 + const EVENT_202 + const EVENT_203 + const EVENT_204 + const EVENT_205 + const EVENT_206 + const EVENT_207 + const EVENT_208 + const EVENT_209 + const EVENT_20A + const EVENT_20B + const EVENT_20C + const EVENT_20D + const EVENT_20E + const EVENT_20F + const EVENT_210 + const EVENT_211 + const EVENT_212 + const EVENT_213 + const EVENT_214 + const EVENT_215 + const EVENT_216 + const EVENT_217 + const EVENT_218 + const EVENT_219 + const EVENT_21A + const EVENT_21B + const EVENT_21C + const EVENT_21D + const EVENT_21E + const EVENT_21F + const EVENT_220 + const EVENT_221 + const EVENT_222 + const EVENT_223 + const EVENT_224 + const EVENT_225 + const EVENT_226 + const EVENT_227 + const EVENT_228 + const EVENT_229 + const EVENT_22A + const EVENT_22B + const EVENT_22C + const EVENT_22D + const EVENT_22E + const EVENT_22F + const EVENT_230 + const EVENT_231 + const EVENT_232 + const EVENT_233 + const EVENT_234 + const EVENT_235 + const EVENT_236 + const EVENT_237 + const EVENT_238 + const EVENT_239 + const EVENT_23A + const EVENT_23B + const EVENT_23C + const EVENT_23D + const EVENT_23E + const EVENT_23F + const EVENT_240 + const EVENT_241 + const EVENT_242 + const EVENT_243 + const EVENT_244 + const EVENT_245 + const EVENT_246 + const EVENT_247 + const EVENT_248 + const EVENT_249 + const EVENT_24A + const EVENT_24B + const EVENT_24C + const EVENT_24D + const EVENT_SAFARI_GAME_OVER + const EVENT_IN_SAFARI_ZONE + const EVENT_250 + const EVENT_251 + const EVENT_252 + const EVENT_253 + const EVENT_254 + const EVENT_255 + const EVENT_256 + const EVENT_257 + const EVENT_258 + const EVENT_259 + const EVENT_BEAT_FUCHSIA_GYM_TRAINER_0 + const EVENT_BEAT_FUCHSIA_GYM_TRAINER_2 + const EVENT_BEAT_FUCHSIA_GYM_TRAINER_3 + const EVENT_BEAT_FUCHSIA_GYM_TRAINER_4 + const EVENT_BEAT_FUCHSIA_GYM_TRAINER_5 + const EVENT_BEAT_FUCHSIA_GYM_TRAINER_6 + const EVENT_260 + const EVENT_261 + const EVENT_262 + const EVENT_263 + const EVENT_264 + const EVENT_265 + const EVENT_266 + const EVENT_267 + const EVENT_268 + const EVENT_269 + const EVENT_26A + const EVENT_26B + const EVENT_26C + const EVENT_26D + const EVENT_26E + const EVENT_26F + const EVENT_270 + const EVENT_271 + const EVENT_272 + const EVENT_273 + const EVENT_274 + const EVENT_275 + const EVENT_276 + const EVENT_277 + const EVENT_278 + const EVENT_279 + const EVENT_27A + const EVENT_27B + const EVENT_27C + const EVENT_27D + const EVENT_27E + const EVENT_27F + const EVENT_280 + const EVENT_281 + const EVENT_282 + const EVENT_283 + const EVENT_284 + const EVENT_285 + const EVENT_286 + const EVENT_287 + const EVENT_288 + const EVENT_BEAT_MANSION_1_TRAINER_0 + const EVENT_28A + const EVENT_28B + const EVENT_28C + const EVENT_28D + const EVENT_28E + const EVENT_28F + const EVENT_290 + const EVENT_291 + const EVENT_292 + const EVENT_293 + const EVENT_294 + const EVENT_295 + const EVENT_296 + const EVENT_297 + const EVENT_298 + const EVENT_299 + const EVENT_29A + const EVENT_29B + const EVENT_29C + const EVENT_29D + const EVENT_29E + const EVENT_29F + const EVENT_2A0 + const EVENT_2A1 + const EVENT_2A2 + const EVENT_2A3 + const EVENT_2A4 + const EVENT_2A5 + const EVENT_2A6 + const EVENT_2A7 + const EVENT_2A8 + const EVENT_2A9 + const EVENT_2AA + const EVENT_2AB + const EVENT_2AC + const EVENT_2AD + const EVENT_2AE + const EVENT_2AF + const EVENT_2B0 + const EVENT_2B1 + const EVENT_2B2 + const EVENT_2B3 + const EVENT_2B4 + const EVENT_2B5 + const EVENT_2B6 + const EVENT_2B7 + const EVENT_2B8 + const EVENT_2B9 + const EVENT_2BA + const EVENT_2BB + const EVENT_2BC + const EVENT_2BD + const EVENT_2BE + const EVENT_2BF + const EVENT_2C0 + const EVENT_2C1 + const EVENT_2C2 + const EVENT_2C3 + const EVENT_2C4 + const EVENT_2C5 + const EVENT_2C6 + const EVENT_2C7 + const EVENT_2C8 + const EVENT_2C9 + const EVENT_2CA + const EVENT_2CB + const EVENT_2CC + const EVENT_2CD + const EVENT_2CE + const EVENT_2CF + const EVENT_2D0 + const EVENT_2D1 + const EVENT_2D2 + const EVENT_2D3 + const EVENT_2D4 + const EVENT_2D5 + const EVENT_2D6 + const EVENT_2D7 + const EVENT_2D8 + const EVENT_2D9 + const EVENT_2DA + const EVENT_2DB + const EVENT_2DC + const EVENT_2DD + const EVENT_2DE + const EVENT_2DF + const EVENT_2E0 + const EVENT_2E1 + const EVENT_2E2 + const EVENT_2E3 + const EVENT_2E4 + const EVENT_2E5 + const EVENT_2E6 + const EVENT_2E7 + const EVENT_2E8 + const EVENT_2E9 + const EVENT_2EA + const EVENT_2EB + const EVENT_2EC + const EVENT_2ED + const EVENT_2EE + const EVENT_2EF + const EVENT_2F0 + const EVENT_2F1 + const EVENT_2F2 + const EVENT_2F3 + const EVENT_2F4 + const EVENT_2F5 + const EVENT_2F6 + const EVENT_2F7 + const EVENT_2F8 + const EVENT_2F9 + const EVENT_2FA + const EVENT_2FB + const EVENT_2FC + const EVENT_2FD + const EVENT_2FE + const EVENT_2FF + const EVENT_300 + const EVENT_301 + const EVENT_302 + const EVENT_303 + const EVENT_304 + const EVENT_305 + const EVENT_306 + const EVENT_307 + const EVENT_308 + const EVENT_309 + const EVENT_30A + const EVENT_30B + const EVENT_30C + const EVENT_30D + const EVENT_30E + const EVENT_30F + const EVENT_310 + const EVENT_311 + const EVENT_312 + const EVENT_313 + const EVENT_314 + const EVENT_315 + const EVENT_316 + const EVENT_317 + const EVENT_318 + const EVENT_319 + const EVENT_31A + const EVENT_31B + const EVENT_31C + const EVENT_31D + const EVENT_31E + const EVENT_31F + const EVENT_320 + const EVENT_321 + const EVENT_322 + const EVENT_323 + const EVENT_324 + const EVENT_325 + const EVENT_326 + const EVENT_327 + const EVENT_328 + const EVENT_329 + const EVENT_32A + const EVENT_32B + const EVENT_32C + const EVENT_32D + const EVENT_32E + const EVENT_32F + const EVENT_330 + const EVENT_331 + const EVENT_332 + const EVENT_333 + const EVENT_334 + const EVENT_335 + const EVENT_336 + const EVENT_337 + const EVENT_338 + const EVENT_339 + const EVENT_33A + const EVENT_33B + const EVENT_33C + const EVENT_33D + const EVENT_33E + const EVENT_33F + const EVENT_340 + const EVENT_341 + const EVENT_342 + const EVENT_343 + const EVENT_344 + const EVENT_345 + const EVENT_346 + const EVENT_347 + const EVENT_348 + const EVENT_349 + const EVENT_34A + const EVENT_34B + const EVENT_34C + const EVENT_34D + const EVENT_34E + const EVENT_34F + const EVENT_350 + const EVENT_351 + const EVENT_BEAT_FIGHTING_DOJO_TRAINER_0 + const EVENT_BEAT_FIGHTING_DOJO_TRAINER_1 + const EVENT_BEAT_FIGHTING_DOJO_TRAINER_2 + const EVENT_BEAT_FIGHTING_DOJO_TRAINER_3 + const EVENT_356 + const EVENT_357 + const EVENT_358 + const EVENT_359 + const EVENT_35A + const EVENT_35B + const EVENT_35C + const EVENT_35D + const EVENT_35E + const EVENT_35F + const EVENT_360 + const EVENT_361 + const EVENT_BEAT_SAFFRON_GYM_TRAINER_0 + const EVENT_BEAT_SAFFRON_GYM_TRAINER_1 + const EVENT_BEAT_SAFFRON_GYM_TRAINER_2 + const EVENT_BEAT_SAFFRON_GYM_TRAINER_3 + const EVENT_BEAT_SAFFRON_GYM_TRAINER_4 + const EVENT_BEAT_SAFFRON_GYM_TRAINER_5 + const EVENT_BEAT_SAFFRON_GYM_TRAINER_6 + const EVENT_369 + const EVENT_36A + const EVENT_36B + const EVENT_36C + const EVENT_36D + const EVENT_36E + const EVENT_36F + const EVENT_370 + const EVENT_371 + const EVENT_372 + const EVENT_373 + const EVENT_374 + const EVENT_375 + const EVENT_376 + const EVENT_377 + const EVENT_378 + const EVENT_379 + const EVENT_37A + const EVENT_37B + const EVENT_37C + const EVENT_37D + const EVENT_37E + const EVENT_37F + const EVENT_380 + const EVENT_381 + const EVENT_382 + const EVENT_383 + const EVENT_384 + const EVENT_385 + const EVENT_386 + const EVENT_387 + const EVENT_388 + const EVENT_389 + const EVENT_38A + const EVENT_38B + const EVENT_38C + const EVENT_38D + const EVENT_38E + const EVENT_38F + const EVENT_390 + const EVENT_391 + const EVENT_392 + const EVENT_393 + const EVENT_394 + const EVENT_395 + const EVENT_396 + const EVENT_397 + const EVENT_398 + const EVENT_399 + const EVENT_39A + const EVENT_39B + const EVENT_39C + const EVENT_39D + const EVENT_39E + const EVENT_39F + const EVENT_3A0 + const EVENT_3A1 + const EVENT_3A2 + const EVENT_3A3 + const EVENT_3A4 + const EVENT_3A5 + const EVENT_3A6 + const EVENT_3A7 + const EVENT_3A8 + const EVENT_3A9 + const EVENT_3AA + const EVENT_3AB + const EVENT_3AC + const EVENT_3AD + const EVENT_3AE + const EVENT_3AF + const EVENT_3B0 + const EVENT_3B1 + const EVENT_3B2 + const EVENT_3B3 + const EVENT_3B4 + const EVENT_3B5 + const EVENT_3B6 + const EVENT_3B7 + const EVENT_3B8 + const EVENT_3B9 + const EVENT_3BA + const EVENT_3BB + const EVENT_3BC + const EVENT_3BD + const EVENT_3BE + const EVENT_3BF + const EVENT_3C0 + const EVENT_3C1 + const EVENT_3C2 + const EVENT_3C3 + const EVENT_3C4 + const EVENT_3C5 + const EVENT_3C6 + const EVENT_3C7 + const EVENT_3C8 + const EVENT_3C9 + const EVENT_3CA + const EVENT_3CB + const EVENT_3CC + const EVENT_3CD + const EVENT_3CE + const EVENT_3CF + const EVENT_3D0 + const EVENT_3D1 + const EVENT_3D2 + const EVENT_3D3 + const EVENT_3D4 + const EVENT_3D5 + const EVENT_3D6 + const EVENT_3D7 + const EVENT_3D8 + const EVENT_3D9 + const EVENT_3DA + const EVENT_3DB + const EVENT_3DC + const EVENT_3DD + const EVENT_3DE + const EVENT_3DF + const EVENT_3E0 + const EVENT_3E1 + const EVENT_BEAT_ROUTE_3_TRAINER_0 + const EVENT_BEAT_ROUTE_3_TRAINER_2 + const EVENT_BEAT_ROUTE_3_TRAINER_3 + const EVENT_BEAT_ROUTE_3_TRAINER_4 + const EVENT_BEAT_ROUTE_3_TRAINER_5 + const EVENT_BEAT_ROUTE_3_TRAINER_6 + const EVENT_BEAT_ROUTE_3_TRAINER_7 + const EVENT_BEAT_ROUTE_3_TRAINER_8 + const EVENT_3EA + const EVENT_3EB + const EVENT_3EC + const EVENT_3ED + const EVENT_3EE + const EVENT_3EF + const EVENT_3F0 + const EVENT_3F1 + const EVENT_BEAT_ROUTE_4_TRAINER_0 + const EVENT_3F3 + const EVENT_3F4 + const EVENT_3F5 + const EVENT_3F6 + const EVENT_3F7 + const EVENT_3F8 + const EVENT_3F9 + const EVENT_3FA + const EVENT_3FB + const EVENT_3FC + const EVENT_3FD + const EVENT_3FE + const EVENT_BOUGHT_MAGIKARP + const EVENT_400 + const EVENT_401 + const EVENT_402 + const EVENT_403 + const EVENT_404 + const EVENT_405 + const EVENT_406 + const EVENT_407 + const EVENT_408 + const EVENT_409 + const EVENT_40A + const EVENT_40B + const EVENT_40C + const EVENT_40D + const EVENT_40E + const EVENT_40F + const EVENT_410 + const EVENT_BEAT_ROUTE_6_TRAINER_0 + const EVENT_BEAT_ROUTE_6_TRAINER_1 + const EVENT_BEAT_ROUTE_6_TRAINER_2 + const EVENT_BEAT_ROUTE_6_TRAINER_3 + const EVENT_BEAT_ROUTE_6_TRAINER_4 + const EVENT_BEAT_ROUTE_6_TRAINER_5 + const EVENT_417 + const EVENT_418 + const EVENT_419 + const EVENT_41A + const EVENT_41B + const EVENT_41C + const EVENT_41D + const EVENT_41E + const EVENT_41F + const EVENT_420 + const EVENT_421 + const EVENT_422 + const EVENT_423 + const EVENT_424 + const EVENT_425 + const EVENT_426 + const EVENT_427 + const EVENT_428 + const EVENT_429 + const EVENT_42A + const EVENT_42B + const EVENT_42C + const EVENT_42D + const EVENT_42E + const EVENT_42F + const EVENT_430 + const EVENT_BEAT_ROUTE_8_TRAINER_0 + const EVENT_BEAT_ROUTE_8_TRAINER_1 + const EVENT_BEAT_ROUTE_8_TRAINER_2 + const EVENT_BEAT_ROUTE_8_TRAINER_3 + const EVENT_BEAT_ROUTE_8_TRAINER_4 + const EVENT_BEAT_ROUTE_8_TRAINER_5 + const EVENT_BEAT_ROUTE_8_TRAINER_6 + const EVENT_BEAT_ROUTE_8_TRAINER_7 + const EVENT_BEAT_ROUTE_8_TRAINER_8 + const EVENT_43A + const EVENT_43B + const EVENT_43C + const EVENT_43D + const EVENT_43E + const EVENT_43F + const EVENT_440 + const EVENT_BEAT_ROUTE_9_TRAINER_0 + const EVENT_BEAT_ROUTE_9_TRAINER_2 + const EVENT_BEAT_ROUTE_9_TRAINER_3 + const EVENT_BEAT_ROUTE_9_TRAINER_4 + const EVENT_BEAT_ROUTE_9_TRAINER_5 + const EVENT_BEAT_ROUTE_9_TRAINER_6 + const EVENT_BEAT_ROUTE_9_TRAINER_7 + const EVENT_BEAT_ROUTE_9_TRAINER_8 + const EVENT_BEAT_ROUTE_9_TRAINER_9 + const EVENT_44A + const EVENT_44B + const EVENT_44C + const EVENT_44D + const EVENT_44E + const EVENT_44F + const EVENT_450 + const EVENT_BEAT_ROUTE_10_TRAINER_0 + const EVENT_BEAT_ROUTE_10_TRAINER_1 + const EVENT_BEAT_ROUTE_10_TRAINER_2 + const EVENT_BEAT_ROUTE_10_TRAINER_3 + const EVENT_BEAT_ROUTE_10_TRAINER_4 + const EVENT_BEAT_ROUTE_10_TRAINER_5 + const EVENT_457 + const EVENT_458 + const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_1 + const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_2 + const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_3 + const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_4 + const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_5 + const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_6 + const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_7 + const EVENT_460 + const EVENT_BEAT_POWER_PLANT_TRAINER_0 + const EVENT_BEAT_POWER_PLANT_TRAINER_1 + const EVENT_BEAT_POWER_PLANT_TRAINER_2 + const EVENT_BEAT_POWER_PLANT_TRAINER_3 + const EVENT_BEAT_POWER_PLANT_TRAINER_4 + const EVENT_BEAT_POWER_PLANT_TRAINER_5 + const EVENT_BEAT_POWER_PLANT_TRAINER_6 + const EVENT_BEAT_POWER_PLANT_TRAINER_7 + const EVENT_BEAT_POWER_PLANT_TRAINER_8 + const EVENT_46A + const EVENT_46B + const EVENT_46C + const EVENT_46D + const EVENT_46E + const EVENT_46F + const EVENT_470 + const EVENT_BEAT_ROUTE_11_TRAINER_0 + const EVENT_BEAT_ROUTE_11_TRAINER_1 + const EVENT_BEAT_ROUTE_11_TRAINER_2 + const EVENT_BEAT_ROUTE_11_TRAINER_3 + const EVENT_BEAT_ROUTE_11_TRAINER_4 + const EVENT_BEAT_ROUTE_11_TRAINER_5 + const EVENT_BEAT_ROUTE_11_TRAINER_6 + const EVENT_BEAT_ROUTE_11_TRAINER_7 + const EVENT_BEAT_ROUTE_11_TRAINER_8 + const EVENT_BEAT_ROUTE_11_TRAINER_9 + const EVENT_47B + const EVENT_47C + const EVENT_47D + const EVENT_47E + const EVENT_47F + const EVENT_480 + const EVENT_481 + const EVENT_BEAT_ROUTE_12_TRAINER_0 + const EVENT_BEAT_ROUTE_12_TRAINER_1 + const EVENT_BEAT_ROUTE_12_TRAINER_2 + const EVENT_BEAT_ROUTE_12_TRAINER_3 + const EVENT_BEAT_ROUTE_12_TRAINER_4 + const EVENT_BEAT_ROUTE_12_TRAINER_5 + const EVENT_BEAT_ROUTE_12_TRAINER_6 + const EVENT_489 + const EVENT_48A + const EVENT_48B + const EVENT_48C + const EVENT_48D + const EVENT_FIGHT_ROUTE12_SNORLAX + const EVENT_BEAT_ROUTE12_SNORLAX + const EVENT_490 + const EVENT_BEAT_ROUTE_13_TRAINER_0 + const EVENT_BEAT_ROUTE_13_TRAINER_2 + const EVENT_BEAT_ROUTE_13_TRAINER_3 + const EVENT_BEAT_ROUTE_13_TRAINER_4 + const EVENT_BEAT_ROUTE_13_TRAINER_5 + const EVENT_BEAT_ROUTE_13_TRAINER_6 + const EVENT_BEAT_ROUTE_13_TRAINER_7 + const EVENT_BEAT_ROUTE_13_TRAINER_8 + const EVENT_BEAT_ROUTE_13_TRAINER_9 + const EVENT_BEAT_ROUTE_13_TRAINER_10 + const EVENT_49B + const EVENT_49C + const EVENT_49D + const EVENT_49E + const EVENT_49F + const EVENT_4A0 + const EVENT_BEAT_ROUTE_14_TRAINER_0 + const EVENT_BEAT_ROUTE_14_TRAINER_1 + const EVENT_BEAT_ROUTE_14_TRAINER_2 + const EVENT_BEAT_ROUTE_14_TRAINER_3 + const EVENT_BEAT_ROUTE_14_TRAINER_4 + const EVENT_BEAT_ROUTE_14_TRAINER_5 + const EVENT_BEAT_ROUTE_14_TRAINER_6 + const EVENT_BEAT_ROUTE_14_TRAINER_7 + const EVENT_BEAT_ROUTE_14_TRAINER_8 + const EVENT_BEAT_ROUTE_14_TRAINER_9 + const EVENT_4AB + const EVENT_4AC + const EVENT_4AD + const EVENT_4AE + const EVENT_4AF + const EVENT_4B0 + const EVENT_BEAT_ROUTE_15_TRAINER_0 + const EVENT_BEAT_ROUTE_15_TRAINER_1 + const EVENT_BEAT_ROUTE_15_TRAINER_2 + const EVENT_BEAT_ROUTE_15_TRAINER_3 + const EVENT_BEAT_ROUTE_15_TRAINER_4 + const EVENT_BEAT_ROUTE_15_TRAINER_5 + const EVENT_BEAT_ROUTE_15_TRAINER_6 + const EVENT_BEAT_ROUTE_15_TRAINER_7 + const EVENT_BEAT_ROUTE_15_TRAINER_8 + const EVENT_BEAT_ROUTE_15_TRAINER_9 + const EVENT_4BB + const EVENT_4BC + const EVENT_4BD + const EVENT_4BE + const EVENT_4BF + const EVENT_4C0 + const EVENT_BEAT_ROUTE_16_TRAINER_0 + const EVENT_BEAT_ROUTE_16_TRAINER_1 + const EVENT_BEAT_ROUTE_16_TRAINER_2 + const EVENT_BEAT_ROUTE_16_TRAINER_3 + const EVENT_BEAT_ROUTE_16_TRAINER_4 + const EVENT_BEAT_ROUTE_16_TRAINER_5 + const EVENT_4C7 + const EVENT_FIGHT_ROUTE16_SNORLAX + const EVENT_BEAT_ROUTE16_SNORLAX + const EVENT_4CA + const EVENT_4CB + const EVENT_4CC + const EVENT_4CD + const EVENT_4CE + const EVENT_4CF + const EVENT_4D0 + const EVENT_BEAT_ROUTE_17_TRAINER_0 + const EVENT_BEAT_ROUTE_17_TRAINER_1 + const EVENT_BEAT_ROUTE_17_TRAINER_2 + const EVENT_BEAT_ROUTE_17_TRAINER_3 + const EVENT_BEAT_ROUTE_17_TRAINER_4 + const EVENT_BEAT_ROUTE_17_TRAINER_5 + const EVENT_BEAT_ROUTE_17_TRAINER_6 + const EVENT_BEAT_ROUTE_17_TRAINER_7 + const EVENT_BEAT_ROUTE_17_TRAINER_8 + const EVENT_BEAT_ROUTE_17_TRAINER_9 + const EVENT_4DB + const EVENT_4DC + const EVENT_4DD + const EVENT_4DE + const EVENT_4DF + const EVENT_4E0 + const EVENT_BEAT_ROUTE_18_TRAINER_0 + const EVENT_BEAT_ROUTE_18_TRAINER_1 + const EVENT_BEAT_ROUTE_18_TRAINER_2 + const EVENT_4E4 + const EVENT_4E5 + const EVENT_4E6 + const EVENT_4E7 + const EVENT_4E8 + const EVENT_4E9 + const EVENT_4EA + const EVENT_4EB + const EVENT_4EC + const EVENT_4ED + const EVENT_4EE + const EVENT_4EF + const EVENT_4F0 + const EVENT_BEAT_ROUTE_19_TRAINER_0 + const EVENT_BEAT_ROUTE_19_TRAINER_1 + const EVENT_BEAT_ROUTE_19_TRAINER_2 + const EVENT_BEAT_ROUTE_19_TRAINER_3 + const EVENT_BEAT_ROUTE_19_TRAINER_4 + const EVENT_BEAT_ROUTE_19_TRAINER_5 + const EVENT_BEAT_ROUTE_19_TRAINER_6 + const EVENT_BEAT_ROUTE_19_TRAINER_7 + const EVENT_BEAT_ROUTE_19_TRAINER_8 + const EVENT_BEAT_ROUTE_19_TRAINER_9 + const EVENT_4FB + const EVENT_4FC + const EVENT_4FD + const EVENT_4FE + const EVENT_4FF + const EVENT_500 + const EVENT_BEAT_ROUTE_20_TRAINER_0 + const EVENT_BEAT_ROUTE_20_TRAINER_2 + const EVENT_BEAT_ROUTE_20_TRAINER_3 + const EVENT_BEAT_ROUTE_20_TRAINER_4 + const EVENT_BEAT_ROUTE_20_TRAINER_5 + const EVENT_BEAT_ROUTE_20_TRAINER_6 + const EVENT_BEAT_ROUTE_20_TRAINER_7 + const EVENT_BEAT_ROUTE_20_TRAINER_8 + const EVENT_BEAT_ROUTE_20_TRAINER_9 + const EVENT_BEAT_ROUTE_20_TRAINER_10 + const EVENT_50B + const EVENT_50C + const EVENT_50D + const EVENT_50E + const EVENT_50F + const EVENT_510 + const EVENT_BEAT_ROUTE_21_TRAINER_0 + const EVENT_BEAT_ROUTE_21_TRAINER_1 + const EVENT_BEAT_ROUTE_21_TRAINER_2 + const EVENT_BEAT_ROUTE_21_TRAINER_3 + const EVENT_BEAT_ROUTE_21_TRAINER_4 + const EVENT_BEAT_ROUTE_21_TRAINER_5 + const EVENT_BEAT_ROUTE_21_TRAINER_6 + const EVENT_BEAT_ROUTE_21_TRAINER_7 + const EVENT_BEAT_ROUTE_21_TRAINER_8 + const EVENT_51A + const EVENT_51B + const EVENT_51C + const EVENT_51D + const EVENT_51E + const EVENT_51F + const EVENT_520 + const EVENT_521 + const EVENT_522 + const EVENT_523 + const EVENT_524 + const EVENT_525 + const EVENT_526 + const EVENT_527 + const EVENT_528 + const EVENT_529 + const EVENT_52A + const EVENT_52B + const EVENT_52C + const EVENT_52D + const EVENT_52E + const EVENT_52F + const EVENT_530 + const EVENT_531 + const EVENT_532 + const EVENT_533 + const EVENT_534 + const EVENT_535 + const EVENT_536 + const EVENT_537 + const EVENT_538 + const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_0 + const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_2 + const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_3 + const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_4 + const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_5 + const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_6 + const EVENT_53F + const EVENT_540 + const EVENT_541 + const EVENT_BEAT_ROUTE_24_TRAINER_0 + const EVENT_BEAT_ROUTE_24_TRAINER_2 + const EVENT_BEAT_ROUTE_24_TRAINER_3 + const EVENT_BEAT_ROUTE_24_TRAINER_4 + const EVENT_BEAT_ROUTE_24_TRAINER_5 + const EVENT_BEAT_ROUTE_24_TRAINER_6 + const EVENT_548 + const EVENT_549 + const EVENT_54A + const EVENT_54B + const EVENT_54C + const EVENT_54D + const EVENT_54E + const EVENT_54F + const EVENT_550 + const EVENT_BEAT_ROUTE_25_TRAINER_0 + const EVENT_BEAT_ROUTE_25_TRAINER_2 + const EVENT_BEAT_ROUTE_25_TRAINER_3 + const EVENT_BEAT_ROUTE_25_TRAINER_4 + const EVENT_BEAT_ROUTE_25_TRAINER_5 + const EVENT_BEAT_ROUTE_25_TRAINER_6 + const EVENT_BEAT_ROUTE_25_TRAINER_7 + const EVENT_BEAT_ROUTE_25_TRAINER_8 + const EVENT_BEAT_ROUTE_25_TRAINER_9 + const EVENT_55A + const EVENT_55B + const EVENT_55C + const EVENT_55D + const EVENT_55E + const EVENT_55F + const EVENT_560 + const EVENT_561 + const EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_0 + const EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_1 + const EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_2 + const EVENT_565 + const EVENT_566 + const EVENT_567 + const EVENT_568 + const EVENT_569 + const EVENT_56A + const EVENT_56B + const EVENT_56C + const EVENT_56D + const EVENT_56E + const EVENT_56F + const EVENT_570 + const EVENT_BEAT_MT_MOON_1_TRAINER_0 + const EVENT_BEAT_MT_MOON_1_TRAINER_2 + const EVENT_BEAT_MT_MOON_1_TRAINER_3 + const EVENT_BEAT_MT_MOON_1_TRAINER_4 + const EVENT_BEAT_MT_MOON_1_TRAINER_5 + const EVENT_BEAT_MT_MOON_1_TRAINER_6 + const EVENT_BEAT_MT_MOON_1_TRAINER_7 + const EVENT_578 + const EVENT_579 + const EVENT_BEAT_MT_MOON_3_TRAINER_0 + const EVENT_BEAT_MT_MOON_3_TRAINER_2 + const EVENT_BEAT_MT_MOON_3_TRAINER_3 + const EVENT_BEAT_MT_MOON_3_TRAINER_4 + const EVENT_57E + const EVENT_57F + const EVENT_580 + const EVENT_581 + const EVENT_582 + const EVENT_583 + const EVENT_584 + const EVENT_585 + const EVENT_586 + const EVENT_587 + const EVENT_588 + const EVENT_589 + const EVENT_58A + const EVENT_58B + const EVENT_58C + const EVENT_58D + const EVENT_58E + const EVENT_58F + const EVENT_590 + const EVENT_591 + const EVENT_592 + const EVENT_593 + const EVENT_594 + const EVENT_595 + const EVENT_596 + const EVENT_597 + const EVENT_598 + const EVENT_599 + const EVENT_59A + const EVENT_59B + const EVENT_59C + const EVENT_59D + const EVENT_59E + const EVENT_59F + const EVENT_5A0 + const EVENT_5A1 + const EVENT_5A2 + const EVENT_5A3 + const EVENT_5A4 + const EVENT_5A5 + const EVENT_5A6 + const EVENT_5A7 + const EVENT_5A8 + const EVENT_5A9 + const EVENT_5AA + const EVENT_5AB + const EVENT_5AC + const EVENT_5AD + const EVENT_5AE + const EVENT_5AF + const EVENT_5B0 + const EVENT_5B1 + const EVENT_5B2 + const EVENT_5B3 + const EVENT_5B4 + const EVENT_5B5 + const EVENT_5B6 + const EVENT_5B7 + const EVENT_5B8 + const EVENT_5B9 + const EVENT_5BA + const EVENT_5BB + const EVENT_5BC + const EVENT_5BD + const EVENT_5BE + const EVENT_5BF + const EVENT_5C0 + const EVENT_5C1 + const EVENT_5C2 + const EVENT_5C3 + const EVENT_BEAT_SS_ANNE_5_TRAINER_0 + const EVENT_BEAT_SS_ANNE_5_TRAINER_1 + const EVENT_5C6 + const EVENT_5C7 + const EVENT_5C8 + const EVENT_5C9 + const EVENT_5CA + const EVENT_5CB + const EVENT_5CC + const EVENT_5CD + const EVENT_5CE + const EVENT_5CF + const EVENT_5D0 + const EVENT_5D1 + const EVENT_5D2 + const EVENT_5D3 + const EVENT_5D4 + const EVENT_5D5 + const EVENT_5D6 + const EVENT_5D7 + const EVENT_5D8 + const EVENT_5D9 + const EVENT_5DA + const EVENT_5DB + const EVENT_5DC + const EVENT_5DD + const EVENT_5DE + const EVENT_5DF + const EVENT_5E0 + const EVENT_5E1 + const EVENT_SS_ANNE_LEFT + const EVENT_5E3 + const EVENT_5E4 + const EVENT_5E5 + const EVENT_5E6 + const EVENT_5E7 + const EVENT_5E8 + const EVENT_5E9 + const EVENT_5EA + const EVENT_5EB + const EVENT_5EC + const EVENT_5ED + const EVENT_5EE + const EVENT_5EF + const EVENT_5F0 + const EVENT_BEAT_SS_ANNE_8_TRAINER_0 + const EVENT_BEAT_SS_ANNE_8_TRAINER_1 + const EVENT_BEAT_SS_ANNE_8_TRAINER_2 + const EVENT_BEAT_SS_ANNE_8_TRAINER_3 + const EVENT_5F5 + const EVENT_5F6 + const EVENT_5F7 + const EVENT_5F8 + const EVENT_5F9 + const EVENT_5FA + const EVENT_5FB + const EVENT_5FC + const EVENT_5FD + const EVENT_5FE + const EVENT_5FF + const EVENT_600 + const EVENT_BEAT_SS_ANNE_9_TRAINER_0 + const EVENT_BEAT_SS_ANNE_9_TRAINER_1 + const EVENT_BEAT_SS_ANNE_9_TRAINER_2 + const EVENT_BEAT_SS_ANNE_9_TRAINER_3 + const EVENT_605 + const EVENT_606 + const EVENT_607 + const EVENT_608 + const EVENT_609 + const EVENT_60A + const EVENT_60B + const EVENT_60C + const EVENT_60D + const EVENT_60E + const EVENT_60F + const EVENT_610 + const EVENT_BEAT_SS_ANNE_10_TRAINER_0 + const EVENT_BEAT_SS_ANNE_10_TRAINER_1 + const EVENT_BEAT_SS_ANNE_10_TRAINER_2 + const EVENT_BEAT_SS_ANNE_10_TRAINER_3 + const EVENT_BEAT_SS_ANNE_10_TRAINER_4 + const EVENT_BEAT_SS_ANNE_10_TRAINER_5 + const EVENT_617 + const EVENT_618 + const EVENT_619 + const EVENT_61A + const EVENT_61B + const EVENT_61C + const EVENT_61D + const EVENT_61E + const EVENT_61F + const EVENT_620 + const EVENT_621 + const EVENT_622 + const EVENT_623 + const EVENT_624 + const EVENT_625 + const EVENT_626 + const EVENT_627 + const EVENT_628 + const EVENT_629 + const EVENT_62A + const EVENT_62B + const EVENT_62C + const EVENT_62D + const EVENT_62E + const EVENT_62F + const EVENT_630 + const EVENT_631 + const EVENT_632 + const EVENT_633 + const EVENT_634 + const EVENT_635 + const EVENT_636 + const EVENT_637 + const EVENT_638 + const EVENT_639 + const EVENT_63A + const EVENT_63B + const EVENT_63C + const EVENT_63D + const EVENT_63E + const EVENT_63F + const EVENT_640 + const EVENT_641 + const EVENT_642 + const EVENT_643 + const EVENT_644 + const EVENT_645 + const EVENT_646 + const EVENT_647 + const EVENT_648 + const EVENT_649 + const EVENT_64A + const EVENT_64B + const EVENT_64C + const EVENT_64D + const EVENT_64E + const EVENT_64F + const EVENT_650 + const EVENT_651 + const EVENT_652 + const EVENT_653 + const EVENT_654 + const EVENT_655 + const EVENT_656 + const EVENT_657 + const EVENT_658 + const EVENT_659 + const EVENT_65A + const EVENT_65B + const EVENT_65C + const EVENT_65D + const EVENT_65E + const EVENT_65F + const EVENT_660 + const EVENT_BEAT_VICTORY_ROAD_3_TRAINER_0 + const EVENT_BEAT_VICTORY_ROAD_3_TRAINER_2 + const EVENT_BEAT_VICTORY_ROAD_3_TRAINER_3 + const EVENT_BEAT_VICTORY_ROAD_3_TRAINER_4 + const EVENT_665 + const EVENT_666 + const EVENT_667 + const EVENT_668 + const EVENT_669 + const EVENT_66A + const EVENT_66B + const EVENT_66C + const EVENT_66D + const EVENT_66E + const EVENT_66F + const EVENT_670 + const EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_0 + const EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_2 + const EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_3 + const EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_4 + const EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_5 + const EVENT_676 + const EVENT_677 + const EVENT_678 + const EVENT_679 + const EVENT_67A + const EVENT_67B + const EVENT_67C + const EVENT_67D + const EVENT_67E + const EVENT_67F + const EVENT_680 + const EVENT_BEAT_ROCKET_HIDEOUT_2_TRAINER_0 + const EVENT_682 + const EVENT_683 + const EVENT_684 + const EVENT_685 + const EVENT_686 + const EVENT_687 + const EVENT_688 + const EVENT_689 + const EVENT_68A + const EVENT_68B + const EVENT_68C + const EVENT_68D + const EVENT_68E + const EVENT_68F + const EVENT_690 + const EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_0 + const EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_2 + const EVENT_693 + const EVENT_694 + const EVENT_695 + const EVENT_696 + const EVENT_697 + const EVENT_698 + const EVENT_699 + const EVENT_69A + const EVENT_69B + const EVENT_69C + const EVENT_69D + const EVENT_69E + const EVENT_69F + const EVENT_6A0 + const EVENT_6A1 + const EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_0 + const EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_2 + const EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_3 + const EVENT_6A5 + const EVENT_6A6 + const EVENT_6A7 + const EVENT_6A8 + const EVENT_6A9 + const EVENT_6AA + const EVENT_6AB + const EVENT_6AC + const EVENT_6AD + const EVENT_6AE + const EVENT_6AF + const EVENT_6B0 + const EVENT_6B1 + const EVENT_6B2 + const EVENT_6B3 + const EVENT_6B4 + const EVENT_6B5 + const EVENT_6B6 + const EVENT_6B7 + const EVENT_6B8 + const EVENT_6B9 + const EVENT_6BA + const EVENT_6BB + const EVENT_6BC + const EVENT_6BD + const EVENT_6BE + const EVENT_6BF + const EVENT_6C0 + const EVENT_6C1 + const EVENT_6C2 + const EVENT_6C3 + const EVENT_6C4 + const EVENT_6C5 + const EVENT_6C6 + const EVENT_6C7 + const EVENT_6C8 + const EVENT_6C9 + const EVENT_6CA + const EVENT_6CB + const EVENT_6CC + const EVENT_6CD + const EVENT_6CE + const EVENT_6CF + const EVENT_6D0 + const EVENT_6D1 + const EVENT_6D2 + const EVENT_6D3 + const EVENT_6D4 + const EVENT_6D5 + const EVENT_6D6 + const EVENT_6D7 + const EVENT_6D8 + const EVENT_6D9 + const EVENT_6DA + const EVENT_6DB + const EVENT_6DC + const EVENT_6DD + const EVENT_6DE + const EVENT_6DF + const EVENT_6E0 + const EVENT_6E1 + const EVENT_6E2 + const EVENT_6E3 + const EVENT_6E4 + const EVENT_6E5 + const EVENT_6E6 + const EVENT_6E7 + const EVENT_6E8 + const EVENT_6E9 + const EVENT_6EA + const EVENT_6EB + const EVENT_6EC + const EVENT_6ED + const EVENT_6EE + const EVENT_6EF + const EVENT_6F0 + const EVENT_6F1 + const EVENT_BEAT_SILPH_CO_2F_TRAINER_0 + const EVENT_BEAT_SILPH_CO_2F_TRAINER_1 + const EVENT_BEAT_SILPH_CO_2F_TRAINER_2 + const EVENT_BEAT_SILPH_CO_2F_TRAINER_3 + const EVENT_6F6 + const EVENT_6F7 + const EVENT_6F8 + const EVENT_6F9 + const EVENT_6FA + const EVENT_6FB + const EVENT_6FC + const EVENT_6FD + const EVENT_6FE + const EVENT_6FF + const EVENT_700 + const EVENT_701 + const EVENT_BEAT_SILPH_CO_3F_TRAINER_0 + const EVENT_BEAT_SILPH_CO_3F_TRAINER_1 + const EVENT_704 + const EVENT_705 + const EVENT_706 + const EVENT_707 + const EVENT_708 + const EVENT_709 + const EVENT_70A + const EVENT_70B + const EVENT_70C + const EVENT_70D + const EVENT_70E + const EVENT_70F + const EVENT_710 + const EVENT_711 + const EVENT_BEAT_SILPH_CO_4F_TRAINER_0 + const EVENT_BEAT_SILPH_CO_4F_TRAINER_2 + const EVENT_BEAT_SILPH_CO_4F_TRAINER_3 + const EVENT_715 + const EVENT_716 + const EVENT_717 + const EVENT_718 + const EVENT_719 + const EVENT_71A + const EVENT_71B + const EVENT_71C + const EVENT_71D + const EVENT_71E + const EVENT_71F + const EVENT_720 + const EVENT_721 + const EVENT_BEAT_SILPH_CO_5F_TRAINER_0 + const EVENT_BEAT_SILPH_CO_5F_TRAINER_2 + const EVENT_BEAT_SILPH_CO_5F_TRAINER_3 + const EVENT_BEAT_SILPH_CO_5F_TRAINER_4 + const EVENT_726 + const EVENT_727 + const EVENT_728 + const EVENT_729 + const EVENT_72A + const EVENT_72B + const EVENT_72C + const EVENT_72D + const EVENT_72E + const EVENT_72F + const EVENT_730 + const EVENT_731 + const EVENT_732 + const EVENT_733 + const EVENT_734 + const EVENT_735 + const EVENT_BEAT_SILPH_CO_6F_TRAINER_0 + const EVENT_BEAT_SILPH_CO_6F_TRAINER_2 + const EVENT_BEAT_SILPH_CO_6F_TRAINER_3 + const EVENT_739 + const EVENT_73A + const EVENT_73B + const EVENT_73C + const EVENT_73D + const EVENT_73E + const EVENT_73F + const EVENT_740 + const EVENT_741 + const EVENT_742 + const EVENT_743 + const EVENT_744 + const EVENT_BEAT_SILPH_CO_7F_TRAINER_0 + const EVENT_BEAT_SILPH_CO_7F_TRAINER_2 + const EVENT_BEAT_SILPH_CO_7F_TRAINER_3 + const EVENT_BEAT_SILPH_CO_7F_TRAINER_4 + const EVENT_749 + const EVENT_74A + const EVENT_74B + const EVENT_74C + const EVENT_74D + const EVENT_74E + const EVENT_74F + const EVENT_750 + const EVENT_751 + const EVENT_BEAT_SILPH_CO_8F_TRAINER_0 + const EVENT_BEAT_SILPH_CO_8F_TRAINER_1 + const EVENT_BEAT_SILPH_CO_8F_TRAINER_2 + const EVENT_755 + const EVENT_756 + const EVENT_757 + const EVENT_758 + const EVENT_759 + const EVENT_75A + const EVENT_75B + const EVENT_75C + const EVENT_75D + const EVENT_75E + const EVENT_75F + const EVENT_760 + const EVENT_761 + const EVENT_BEAT_SILPH_CO_9F_TRAINER_0 + const EVENT_BEAT_SILPH_CO_9F_TRAINER_1 + const EVENT_BEAT_SILPH_CO_9F_TRAINER_2 + const EVENT_765 + const EVENT_766 + const EVENT_767 + const EVENT_768 + const EVENT_769 + const EVENT_76A + const EVENT_76B + const EVENT_76C + const EVENT_76D + const EVENT_76E + const EVENT_76F + const EVENT_770 + const EVENT_BEAT_SILPH_CO_10F_TRAINER_0 + const EVENT_BEAT_SILPH_CO_10F_TRAINER_1 + const EVENT_773 + const EVENT_774 + const EVENT_775 + const EVENT_776 + const EVENT_777 + const EVENT_778 + const EVENT_779 + const EVENT_77A + const EVENT_77B + const EVENT_77C + const EVENT_77D + const EVENT_77E + const EVENT_77F + const EVENT_780 + const EVENT_781 + const EVENT_782 + const EVENT_783 + const EVENT_BEAT_SILPH_CO_11F_TRAINER_0 + const EVENT_BEAT_SILPH_CO_11F_TRAINER_1 + const EVENT_786 + const EVENT_787 + const EVENT_788 + const EVENT_789 + const EVENT_78A + const EVENT_78B + const EVENT_78C + const EVENT_78D + const EVENT_78E + const EVENT_78F + const EVENT_790 + const EVENT_791 + const EVENT_792 + const EVENT_793 + const EVENT_794 + const EVENT_795 + const EVENT_796 + const EVENT_797 + const EVENT_798 + const EVENT_799 + const EVENT_79A + const EVENT_79B + const EVENT_79C + const EVENT_79D + const EVENT_79E + const EVENT_79F + const EVENT_7A0 + const EVENT_7A1 + const EVENT_7A2 + const EVENT_7A3 + const EVENT_7A4 + const EVENT_7A5 + const EVENT_7A6 + const EVENT_7A7 + const EVENT_7A8 + const EVENT_7A9 + const EVENT_7AA + const EVENT_7AB + const EVENT_7AC + const EVENT_7AD + const EVENT_7AE + const EVENT_7AF + const EVENT_7B0 + const EVENT_7B1 + const EVENT_7B2 + const EVENT_7B3 + const EVENT_7B4 + const EVENT_7B5 + const EVENT_7B6 + const EVENT_7B7 + const EVENT_7B8 + const EVENT_7B9 + const EVENT_7BA + const EVENT_7BB + const EVENT_7BC + const EVENT_7BD + const EVENT_7BE + const EVENT_7BF + const EVENT_7C0 + const EVENT_7C1 + const EVENT_7C2 + const EVENT_7C3 + const EVENT_7C4 + const EVENT_7C5 + const EVENT_7C6 + const EVENT_7C7 + const EVENT_7C8 + const EVENT_7C9 + const EVENT_7CA + const EVENT_7CB + const EVENT_7CC + const EVENT_7CD + const EVENT_7CE + const EVENT_7CF + const EVENT_7D0 + const EVENT_7D1 + const EVENT_7D2 + const EVENT_7D3 + const EVENT_7D4 + const EVENT_7D5 + const EVENT_7D6 + const EVENT_7D7 + const EVENT_7D8 + const EVENT_7D9 + const EVENT_7DA + const EVENT_7DB + const EVENT_7DC + const EVENT_7DD + const EVENT_7DE + const EVENT_7DF + const EVENT_7E0 + const EVENT_7E1 + const EVENT_7E2 + const EVENT_7E3 + const EVENT_7E4 + const EVENT_7E5 + const EVENT_7E6 + const EVENT_7E7 + const EVENT_7E8 + const EVENT_7E9 + const EVENT_7EA + const EVENT_7EB + const EVENT_7EC + const EVENT_7ED + const EVENT_7EE + const EVENT_7EF + const EVENT_7F0 + const EVENT_7F1 + const EVENT_7F2 + const EVENT_7F3 + const EVENT_7F4 + const EVENT_7F5 + const EVENT_7F6 + const EVENT_7F7 + const EVENT_7F8 + const EVENT_7F9 + const EVENT_7FA + const EVENT_7FB + const EVENT_7FC + const EVENT_7FD + const EVENT_7FE + const EVENT_7FF + const EVENT_800 + const EVENT_BEAT_MANSION_2_TRAINER_0 + const EVENT_802 + const EVENT_803 + const EVENT_804 + const EVENT_805 + const EVENT_806 + const EVENT_807 + const EVENT_808 + const EVENT_809 + const EVENT_80A + const EVENT_80B + const EVENT_80C + const EVENT_80D + const EVENT_80E + const EVENT_80F + const EVENT_810 + const EVENT_BEAT_MANSION_3_TRAINER_0 + const EVENT_BEAT_MANSION_3_TRAINER_2 + const EVENT_813 + const EVENT_814 + const EVENT_815 + const EVENT_816 + const EVENT_817 + const EVENT_818 + const EVENT_819 + const EVENT_81A + const EVENT_81B + const EVENT_81C + const EVENT_81D + const EVENT_81E + const EVENT_81F + const EVENT_820 + const EVENT_BEAT_MANSION_4_TRAINER_0 + const EVENT_BEAT_MANSION_4_TRAINER_2 + const EVENT_823 + const EVENT_824 + const EVENT_825 + const EVENT_826 + const EVENT_827 + const EVENT_828 + const EVENT_829 + const EVENT_82A + const EVENT_82B + const EVENT_82C + const EVENT_82D + const EVENT_82E + const EVENT_82F + const EVENT_830 + const EVENT_831 + const EVENT_832 + const EVENT_833 + const EVENT_834 + const EVENT_835 + const EVENT_836 + const EVENT_837 + const EVENT_838 + const EVENT_839 + const EVENT_83A + const EVENT_83B + const EVENT_83C + const EVENT_83D + const EVENT_83E + const EVENT_83F + const EVENT_840 + const EVENT_841 + const EVENT_842 + const EVENT_843 + const EVENT_844 + const EVENT_845 + const EVENT_846 + const EVENT_847 + const EVENT_848 + const EVENT_849 + const EVENT_84A + const EVENT_84B + const EVENT_84C + const EVENT_84D + const EVENT_84E + const EVENT_84F + const EVENT_850 + const EVENT_851 + const EVENT_852 + const EVENT_853 + const EVENT_854 + const EVENT_855 + const EVENT_856 + const EVENT_857 + const EVENT_858 + const EVENT_859 + const EVENT_85A + const EVENT_85B + const EVENT_85C + const EVENT_85D + const EVENT_85E + const EVENT_85F + const EVENT_860 + const EVENT_861 + const EVENT_862 + const EVENT_863 + const EVENT_864 + const EVENT_865 + const EVENT_866 + const EVENT_867 + const EVENT_868 + const EVENT_869 + const EVENT_86A + const EVENT_86B + const EVENT_86C + const EVENT_86D + const EVENT_86E + const EVENT_86F + const EVENT_870 + const EVENT_871 + const EVENT_872 + const EVENT_873 + const EVENT_874 + const EVENT_875 + const EVENT_876 + const EVENT_877 + const EVENT_878 + const EVENT_879 + const EVENT_87A + const EVENT_87B + const EVENT_87C + const EVENT_87D + const EVENT_87E + const EVENT_87F + const EVENT_880 + const EVENT_881 + const EVENT_882 + const EVENT_883 + const EVENT_884 + const EVENT_885 + const EVENT_886 + const EVENT_887 + const EVENT_888 + const EVENT_889 + const EVENT_88A + const EVENT_88B + const EVENT_88C + const EVENT_88D + const EVENT_88E + const EVENT_88F + const EVENT_890 + const EVENT_891 + const EVENT_892 + const EVENT_893 + const EVENT_894 + const EVENT_895 + const EVENT_896 + const EVENT_897 + const EVENT_898 + const EVENT_899 + const EVENT_89A + const EVENT_89B + const EVENT_89C + const EVENT_89D + const EVENT_89E + const EVENT_89F + const EVENT_8A0 + const EVENT_8A1 + const EVENT_8A2 + const EVENT_8A3 + const EVENT_8A4 + const EVENT_8A5 + const EVENT_8A6 + const EVENT_8A7 + const EVENT_8A8 + const EVENT_8A9 + const EVENT_8AA + const EVENT_8AB + const EVENT_8AC + const EVENT_8AD + const EVENT_8AE + const EVENT_8AF + const EVENT_8B0 + const EVENT_8B1 + const EVENT_8B2 + const EVENT_8B3 + const EVENT_8B4 + const EVENT_8B5 + const EVENT_8B6 + const EVENT_8B7 + const EVENT_8B8 + const EVENT_8B9 + const EVENT_8BA + const EVENT_8BB + const EVENT_8BC + const EVENT_8BD + const EVENT_8BE + const EVENT_8BF + const EVENT_8C0 + const EVENT_BEAT_UNKNOWN_DUNGEON_3_TRAINER_0 + const EVENT_8C2 + const EVENT_8C3 + const EVENT_8C4 + const EVENT_8C5 + const EVENT_8C6 + const EVENT_8C7 + const EVENT_8C8 + const EVENT_8C9 + const EVENT_8CA + const EVENT_8CB + const EVENT_8CC + const EVENT_8CD + const EVENT_8CE + const EVENT_8CF + const EVENT_8D0 + const EVENT_8D1 + const EVENT_8D2 + const EVENT_8D3 + const EVENT_8D4 + const EVENT_8D5 + const EVENT_8D6 + const EVENT_8D7 + const EVENT_8D8 + const EVENT_8D9 + const EVENT_8DA + const EVENT_8DB + const EVENT_8DC + const EVENT_8DD + const EVENT_8DE + const EVENT_8DF + const EVENT_8E0 + const EVENT_BEAT_LORELEIS_ROOM_TRAINER_0 + const EVENT_8E2 + const EVENT_8E3 + const EVENT_8E4 + const EVENT_8E5 + const EVENT_8E6 + const EVENT_8E7 + const EVENT_8E8 + const EVENT_BEAT_BRUNOS_ROOM_TRAINER_0 + const EVENT_8EA + const EVENT_8EB + const EVENT_8EC + const EVENT_8ED + const EVENT_8EE + const EVENT_8EF + const EVENT_8F0 + const EVENT_BEAT_AGATHAS_ROOM_TRAINER_0 + const EVENT_8F2 + const EVENT_8F3 + const EVENT_8F4 + const EVENT_8F5 + const EVENT_8F6 + const EVENT_8F7 + const EVENT_8F8 + const EVENT_BEAT_LANCES_ROOM_TRAINER_0 + const EVENT_8FA + const EVENT_8FB + const EVENT_8FC + const EVENT_8FD + const EVENT_8FE + const EVENT_8FF + const EVENT_900 + const EVENT_901 + const EVENT_902 + const EVENT_903 + const EVENT_904 + const EVENT_905 + const EVENT_906 + const EVENT_907 + const EVENT_908 + const EVENT_909 + const EVENT_90A + const EVENT_90B + const EVENT_90C + const EVENT_90D + const EVENT_90E + const EVENT_90F + const EVENT_910 + const EVENT_BEAT_VICTORY_ROAD_1_TRAINER_0 + const EVENT_BEAT_VICTORY_ROAD_1_TRAINER_1 + const EVENT_913 + const EVENT_914 + const EVENT_915 + const EVENT_916 + const EVENT_917 + const EVENT_918 + const EVENT_919 + const EVENT_91A + const EVENT_91B + const EVENT_91C + const EVENT_91D + const EVENT_91E + const EVENT_91F + const EVENT_920 + const EVENT_921 + const EVENT_922 + const EVENT_923 + const EVENT_924 + const EVENT_925 + const EVENT_926 + const EVENT_927 + const EVENT_928 + const EVENT_929 + const EVENT_92A + const EVENT_92B + const EVENT_92C + const EVENT_92D + const EVENT_92E + const EVENT_92F + const EVENT_930 + const EVENT_931 + const EVENT_932 + const EVENT_933 + const EVENT_934 + const EVENT_935 + const EVENT_936 + const EVENT_937 + const EVENT_938 + const EVENT_939 + const EVENT_93A + const EVENT_93B + const EVENT_93C + const EVENT_93D + const EVENT_93E + const EVENT_93F + const EVENT_940 + const EVENT_941 + const EVENT_942 + const EVENT_943 + const EVENT_944 + const EVENT_945 + const EVENT_946 + const EVENT_947 + const EVENT_948 + const EVENT_949 + const EVENT_94A + const EVENT_94B + const EVENT_94C + const EVENT_94D + const EVENT_94E + const EVENT_94F + const EVENT_950 + const EVENT_951 + const EVENT_952 + const EVENT_953 + const EVENT_954 + const EVENT_955 + const EVENT_956 + const EVENT_957 + const EVENT_958 + const EVENT_959 + const EVENT_95A + const EVENT_95B + const EVENT_95C + const EVENT_95D + const EVENT_95E + const EVENT_95F + const EVENT_960 + const EVENT_961 + const EVENT_962 + const EVENT_963 + const EVENT_964 + const EVENT_965 + const EVENT_966 + const EVENT_967 + const EVENT_968 + const EVENT_969 + const EVENT_96A + const EVENT_96B + const EVENT_96C + const EVENT_96D + const EVENT_96E + const EVENT_96F + const EVENT_970 + const EVENT_971 + const EVENT_972 + const EVENT_973 + const EVENT_974 + const EVENT_975 + const EVENT_976 + const EVENT_977 + const EVENT_978 + const EVENT_979 + const EVENT_97A + const EVENT_97B + const EVENT_97C + const EVENT_97D + const EVENT_97E + const EVENT_97F + const EVENT_980 + const EVENT_981 + const EVENT_982 + const EVENT_983 + const EVENT_984 + const EVENT_985 + const EVENT_986 + const EVENT_987 + const EVENT_988 + const EVENT_989 + const EVENT_98A + const EVENT_98B + const EVENT_98C + const EVENT_98D + const EVENT_98E + const EVENT_98F + const EVENT_990 + const EVENT_991 + const EVENT_992 + const EVENT_993 + const EVENT_994 + const EVENT_995 + const EVENT_996 + const EVENT_997 + const EVENT_998 + const EVENT_999 + const EVENT_99A + const EVENT_99B + const EVENT_99C + const EVENT_99D + const EVENT_99E + const EVENT_99F + const EVENT_9A0 + const EVENT_9A1 + const EVENT_9A2 + const EVENT_9A3 + const EVENT_9A4 + const EVENT_9A5 + const EVENT_9A6 + const EVENT_9A7 + const EVENT_9A8 + const EVENT_9A9 + const EVENT_9AA + const EVENT_9AB + const EVENT_9AC + const EVENT_9AD + const EVENT_9AE + const EVENT_9AF + const EVENT_9B0 + const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_0 + const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_2 + const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_3 + const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_4 + const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_5 + const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_6 + const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_7 + const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_8 + const EVENT_9B9 + const EVENT_9BA + const EVENT_9BB + const EVENT_9BC + const EVENT_9BD + const EVENT_9BE + const EVENT_9BF + const EVENT_9C0 + const EVENT_9C1 + const EVENT_9C2 + const EVENT_9C3 + const EVENT_9C4 + const EVENT_9C5 + const EVENT_9C6 + const EVENT_9C7 + const EVENT_9C8 + const EVENT_9C9 + const EVENT_9CA + const EVENT_9CB + const EVENT_9CC + const EVENT_9CD + const EVENT_9CE + const EVENT_9CF + const EVENT_9D0 + const EVENT_9D1 + const EVENT_9D2 + const EVENT_9D3 + const EVENT_9D4 + const EVENT_9D5 + const EVENT_9D6 + const EVENT_9D7 + const EVENT_9D8 + const EVENT_9D9 + const EVENT_BEAT_SEAFOAM_ISLANDS_5_TRAINER_0 + const EVENT_9DB + const EVENT_9DC + const EVENT_9DD + const EVENT_9DE + const EVENT_9DF + const EVENT_9E0 + const EVENT_9E1 + const EVENT_9E2 + const EVENT_9E3 + const EVENT_9E4 + const EVENT_9E5 + const EVENT_9E6 + const EVENT_9E7 + const EVENT_9E8 + const EVENT_9E9 + const EVENT_9EA + const EVENT_9EB + const EVENT_9EC + const EVENT_9ED + const EVENT_9EE + const EVENT_9EF + const EVENT_9F0 + const EVENT_9F1 + const EVENT_9F2 + const EVENT_9F3 + const EVENT_9F4 + const EVENT_9F5 + const EVENT_9F6 + const EVENT_9F7 + const EVENT_9F8 + const EVENT_9F9 + const EVENT_9FA + const EVENT_9FB + const EVENT_9FC + const EVENT_9FD + const EVENT_9FE + const EVENT_9FF diff --git a/engine/hall_of_fame.asm b/engine/hall_of_fame.asm index 0d933571..7361fea2 100755 --- a/engine/hall_of_fame.asm +++ b/engine/hall_of_fame.asm @@ -207,8 +207,7 @@ HoFLoadMonPlayerPicTileIDs: ; 7036d (1c:436d) predef_jump CopyTileIDsFromList HoFDisplayPlayerStats: ; 70377 (1c:4377) - ld hl, wd747 - set 3, [hl] + SetEvent EVENT_003 predef DisplayDexRating coord hl, 0, 4 ld b, $6 diff --git a/engine/hidden_object_functions17.asm b/engine/hidden_object_functions17.asm index 94b37193..01787e3e 100755 --- a/engine/hidden_object_functions17.asm +++ b/engine/hidden_object_functions17.asm @@ -314,8 +314,7 @@ GymTrashScript: ; 5ddfc (17:5dfc) ld [wcd5b], a ; Don't do the trash can puzzle if it's already been done. - ld a, [wd773] - bit 0, a + CheckEvent EVENT_2ND_LOCK_OPENED jr z, .ok tx_pre_jump VermilionGymTrashText @@ -335,8 +334,7 @@ GymTrashScript: ; 5ddfc (17:5dfc) .openFirstLock ; Next can is trying for the second switch. - ld hl, wd773 - set 1, [hl] + SetEvent EVENT_1ST_LOCK_OPENED ld hl, GymTrashCans ld a, [wcd5b] @@ -379,8 +377,7 @@ GymTrashScript: ; 5ddfc (17:5dfc) jr z, .openSecondLock ; Reset the cans. - ld hl, wd773 - res 1, [hl] + ResetEvent EVENT_1ST_LOCK_OPENED call Random and $e @@ -391,8 +388,7 @@ GymTrashScript: ; 5ddfc (17:5dfc) .openSecondLock ; Completed the trash can puzzle. - ld hl, wd773 - set 0, [hl] + SetEvent EVENT_2ND_LOCK_OPENED ld hl, wd126 set 6, [hl] diff --git a/engine/hidden_object_functions18.asm b/engine/hidden_object_functions18.asm index e293b0a0..cf18799d 100755 --- a/engine/hidden_object_functions18.asm +++ b/engine/hidden_object_functions18.asm @@ -152,8 +152,7 @@ CinnabarIslandPokecenterBenchGuyText: ; 624df (18:64df) SaffronCityPokecenterBenchGuyText: ; 624e4 (18:64e4) TX_ASM - ld a, [wd838] - bit 7, a + CheckEvent EVENT_78F ld hl, SaffronCityPokecenterBenchGuyText2 jr nz, .asm_624f2 ld hl, SaffronCityPokecenterBenchGuyText1 diff --git a/engine/hidden_object_functions7.asm b/engine/hidden_object_functions7.asm index 8893e496..d4a0ce88 100755 --- a/engine/hidden_object_functions7.asm +++ b/engine/hidden_object_functions7.asm @@ -36,8 +36,7 @@ StrengthsAndWeaknessesText: ; 1e983 (7:6983) db "@" SafariZoneCheck: ; 1e988 (7:6988) - ld hl, wd790 - bit 7, [hl]; if we are not in the Safari Zone, + CheckEventHL EVENT_IN_SAFARI_ZONE ; if we are not in the Safari Zone, jr z, SafariZoneGameStillGoing ; don't bother printing game over text ld a, [W_NUMSAFARIBALLS] and a @@ -85,8 +84,7 @@ SafariZoneGameOver: ; 1e9b0 (7:69b0) ld [wDestinationWarpID], a ld a, $5 ld [W_SAFARIZONEENTRANCECURSCRIPT], a - ld hl, wd790 - set 6, [hl] + SetEvent EVENT_SAFARI_GAME_OVER ld a, $1 ld [wSafariZoneGameOver], a ret @@ -191,7 +189,7 @@ CinnabarQuizQuestionsText6: ; 1ea85 (7:6a85) db "@" CinnabarGymQuiz_1ea8a: ; 1ea8a (7:6a8a) - ld hl, wd79c + EventFlagAddress hl, EVENT_2A8 predef_jump FlagActionPredef CinnabarGymQuiz_1ea92: ; 1ea92 (7:6a92) @@ -208,6 +206,7 @@ CinnabarGymQuiz_1ea92: ; 1ea92 (7:6a92) ld hl, CinnabarGymQuizCorrectText call PrintText ld a, [$ffe0] + AdjustEventBit EVENT_2A8, 0 ld c, a ld b, FLAG_SET call CinnabarGymQuiz_1ea8a @@ -221,9 +220,10 @@ CinnabarGymQuiz_1ea92: ; 1ea92 (7:6a92) call PrintText ld a, [$ffdb] add $2 + AdjustEventBit EVENT_29A, 2 ld c, a ld b, FLAG_TEST - ld hl, wd79a + EventFlagAddress hl, EVENT_29A predef FlagActionPredef ld a, c and a @@ -240,6 +240,7 @@ CinnabarGymQuizCorrectText: ; 1eae3 (7:6ae3) TX_ASM ld a, [$ffe0] + AdjustEventBit EVENT_2A8, 0 ld c, a ld b, FLAG_TEST call CinnabarGymQuiz_1ea8a @@ -277,6 +278,7 @@ CinnabarGymQuiz_1eb0a: ; 1eb0a (7:6b0a) push bc ld a, [$ffdb] ld [$ffe0], a + AdjustEventBit EVENT_2A8, 0 ld c, a ld b, FLAG_TEST call CinnabarGymQuiz_1ea8a @@ -320,12 +322,11 @@ BillsHousePC: ; 1eb6e (7:6b6e) ld a, [wSpriteStateData1 + 9] cp SPRITE_FACING_UP ret nz - ld a, [wd7f2] - bit 7, a + CheckEvent EVENT_55F jr nz, .asm_1ebd2 - bit 3, a + CheckEventReuseA EVENT_55B jr nz, .asm_1eb86 - bit 6, a + CheckEventReuseA EVENT_55E jr nz, .asm_1eb8b .asm_1eb86 tx_pre_jump BillsHouseMonitorText @@ -354,8 +355,7 @@ BillsHousePC: ; 1eb6e (7:6b6e) call PlaySound call WaitForSoundToFinish call PlayDefaultMusic - ld hl, wd7f2 - set 3, [hl] + SetEvent EVENT_55B ret .asm_1ebd2 ld a, $1 diff --git a/engine/items/items.asm b/engine/items/items.asm index f2c41ef6..a7c731c2 100755 --- a/engine/items/items.asm +++ b/engine/items/items.asm @@ -432,8 +432,7 @@ ItemUseBall: ; d687 (3:5687) call ClearSprites call SendNewMonToBox ld hl,ItemUseBallText07 - ld a,[wd7f1] - bit 0,a ;already met Bill? + CheckEvent EVENT_550 jr nz,.sendToBox2 ld hl,ItemUseBallText08 .sendToBox2 @@ -1375,8 +1374,7 @@ ItemUseEscapeRope: ; dfaf (3:5faf) set 6,[hl] ld hl,wd72e res 4,[hl] - ld hl,wd790 - res 7,[hl] ; unset Safari Zone bit + ResetEvent EVENT_IN_SAFARI_ZONE xor a ld [W_NUMSAFARIBALLS],a ld [W_SAFARIZONEENTRANCECURSCRIPT],a @@ -1584,8 +1582,7 @@ ItemUsePokeflute: ; e140 (3:6140) ld a,[W_CURMAP] cp a,ROUTE_12 jr nz,.notRoute12 - ld a,[wd7d8] - bit 7,a ; has the player beaten Route 12 Snorlax yet? + CheckEvent EVENT_BEAT_ROUTE12_SNORLAX jr nz,.noSnorlaxToWakeUp ; if the player hasn't beaten Route 12 Snorlax ld hl,Route12SnorlaxFluteCoords @@ -1593,14 +1590,12 @@ ItemUsePokeflute: ; e140 (3:6140) jr nc,.noSnorlaxToWakeUp ld hl,PlayedFluteHadEffectText call PrintText - ld hl,wd7d8 - set 6,[hl] ; trigger Snorlax fight (handled by map script) + SetEvent EVENT_FIGHT_ROUTE12_SNORLAX ret .notRoute12 cp a,ROUTE_16 jr nz,.noSnorlaxToWakeUp - ld a,[wd7e0] - bit 1,a ; has the player beaten Route 16 Snorlax yet? + CheckEvent EVENT_BEAT_ROUTE16_SNORLAX jr nz,.noSnorlaxToWakeUp ; if the player hasn't beaten Route 16 Snorlax ld hl,Route16SnorlaxFluteCoords @@ -1608,8 +1603,7 @@ ItemUsePokeflute: ; e140 (3:6140) jr nc,.noSnorlaxToWakeUp ld hl,PlayedFluteHadEffectText call PrintText - ld hl,wd7e0 - set 0,[hl] ; trigger Snorlax fight (handled by map script) + SetEvent EVENT_FIGHT_ROUTE16_SNORLAX ret .noSnorlaxToWakeUp ld hl,PlayedFluteNoEffectText diff --git a/engine/menu/bills_pc.asm b/engine/menu/bills_pc.asm index d491cd38..f9df345f 100644 --- a/engine/menu/bills_pc.asm +++ b/engine/menu/bills_pc.asm @@ -5,8 +5,7 @@ DisplayPCMainMenu:: ; 213c8 (8:53c8) ld a, [wNumHoFTeams] and a jr nz, .leaguePCAvailable - ld a, [wd74b] - bit 5, a ; received pokedex? + CheckEvent EVENT_GOT_POKEDEX jr z, .noOaksPC ld a, [wNumHoFTeams] and a @@ -29,8 +28,7 @@ DisplayPCMainMenu:: ; 213c8 (8:53c8) call UpdateSprites ld a, 3 ld [wMaxMenuItem], a - ld a, [wd7f1] - bit 0, a + CheckEvent EVENT_550 jr nz, .metBill coord hl, 2, 2 ld de, SomeonesPCText @@ -47,8 +45,7 @@ DisplayPCMainMenu:: ; 213c8 (8:53c8) ld h, b ld de, PlayersPCText call PlaceString - ld a, [wd74b] - bit 5, a ; received pokedex? + CheckEvent EVENT_GOT_POKEDEX jr z, .noOaksPC2 coord hl, 2, 6 ld de, OaksPCText diff --git a/engine/menu/pc.asm b/engine/menu/pc.asm index b5281964..43bd8452 100755 --- a/engine/menu/pc.asm +++ b/engine/menu/pc.asm @@ -74,8 +74,7 @@ BillsPC: ; 17ee4 (5:7ee4) ld a, SFX_ENTER_PC call PlaySound call WaitForSoundToFinish - ld a, [wd7f1] ;has to do with having met Bill - bit 0, a + CheckEvent EVENT_550 jr nz, .billsPC ;if you've met bill, use that bill's instead of someone's ld hl, AccessedSomeonesPCText jr .printText diff --git a/engine/menu/start_menu.asm b/engine/menu/start_menu.asm index bd876f5b..3c48e6ed 100755 --- a/engine/menu/start_menu.asm +++ b/engine/menu/start_menu.asm @@ -24,8 +24,7 @@ RedisplayStartMenu:: ; 2adf (0:2adf) and a jr nz,.loop ; if the player pressed tried to go past the top item, wrap around to the bottom - ld a,[wd74b] - bit 5,a ; does the player have the pokedex? + CheckEvent EVENT_GOT_POKEDEX ld a,6 ; there are 7 menu items with the pokedex, so the max index is 6 jr nz,.wrapMenuItemId dec a ; there are only 6 menu items without the pokedex @@ -37,8 +36,7 @@ RedisplayStartMenu:: ; 2adf (0:2adf) bit 7,a jr z,.buttonPressed ; if the player pressed tried to go past the bottom item, wrap around to the top - ld a,[wd74b] - bit 5,a ; does the player have the pokedex? + CheckEvent EVENT_GOT_POKEDEX ld a,[wCurrentMenuItem] ld c,7 ; there are 7 menu items with the pokedex jr nz,.checkIfPastBottom @@ -59,8 +57,7 @@ RedisplayStartMenu:: ; 2adf (0:2adf) and a,%00001010 ; was the Start button or B button pressed? jp nz,CloseStartMenu call SaveScreenTilesToBuffer2 ; copy background from wTileMap to wTileMapBackup2 - ld a,[wd74b] - bit 5,a ; does the player have the pokedex? + CheckEvent EVENT_GOT_POKEDEX ld a,[wCurrentMenuItem] jr nz,.displayMenuItem inc a ; adjust position to account for missing pokedex menu item diff --git a/engine/overworld/cable_club_npc.asm b/engine/overworld/cable_club_npc.asm index 2a9b19fe..65837150 100755 --- a/engine/overworld/cable_club_npc.asm +++ b/engine/overworld/cable_club_npc.asm @@ -1,8 +1,7 @@ CableClubNPC: ; 71c5 (1:71c5) ld hl, CableClubNPCWelcomeText call PrintText - ld a, [wd74b] - bit 5, a ; received pokedex? + CheckEvent EVENT_GOT_POKEDEX jp nz, .receivedPokedex ; if the player hasn't received the pokedex ld c, 60 diff --git a/engine/overworld/cinnabar_lab.asm b/engine/overworld/cinnabar_lab.asm index 18ce23ed..5cc5536c 100755 --- a/engine/overworld/cinnabar_lab.asm +++ b/engine/overworld/cinnabar_lab.asm @@ -65,9 +65,7 @@ GiveFossilToCinnabarLab: ; 61006 (18:5006) callba RemoveItemByID ld hl, LabFossil_610b8 call PrintText - ld hl, wd7a3 - set 0, [hl] - set 1, [hl] + SetEvents EVENT_2E0, EVENT_2E1 ret .asm_610a7 ld hl, LabFossil_610bd diff --git a/engine/pokedex_rating.asm b/engine/pokedex_rating.asm index 881c9716..2d7073df 100755 --- a/engine/pokedex_rating.asm +++ b/engine/pokedex_rating.asm @@ -23,10 +23,7 @@ DisplayDexRating: ; 44169 (11:4169) ld a, [hli] ld h, [hl] ld l, a ; load text pointer into hl - ld a, [wd747] - bit 3, a - res 3, a - ld [wd747], a + CheckAndResetEventA EVENT_003 jr nz, .label3 push hl ld hl, PokedexRatingText_441cc diff --git a/home/overworld.asm b/home/overworld.asm index cc5e9f5e..9b60d7e9 100644 --- a/home/overworld.asm +++ b/home/overworld.asm @@ -287,8 +287,7 @@ OverworldLoopLessDelay:: ld hl,wd72c res 0,[hl] ; indicate that the player has stepped thrice since the last battle .doneStepCounting - ld a,[wd790] - bit 7,a ; in the safari zone? + CheckEvent EVENT_IN_SAFARI_ZONE jr z,.notSafariZone callba SafariZoneCheckSteps ld a,[wSafariZoneGameOver] @@ -320,8 +319,7 @@ OverworldLoopLessDelay:: ld a,[W_CURMAP] cp a,CINNABAR_GYM jr nz,.notCinnabarGym - ld hl,wd79b - set 7,[hl] + SetEvent EVENT_2A7 .notCinnabarGym ld hl,wd72e set 5,[hl] diff --git a/macros.asm b/macros.asm index 659b0722..11f0f37b 100644 --- a/macros.asm +++ b/macros.asm @@ -79,6 +79,432 @@ bcd3: MACRO coins equs "bcd2" money equs "bcd3" +;\1 = event index +;\2 = return result in carry instead of zero flag +CheckEvent: MACRO +event_byte = ((\1) / 8) + ld a, [wEventFlags + event_byte] + + IF _NARG > 1 + IF ((\1) % 8) == 7 + add a + ELSE + REPT ((\1) % 8) + 1 + rrca + ENDR + ENDC + ELSE + bit (\1) % 8, a + ENDC + ENDM + +;\1 = event index +CheckEventReuseA: MACRO +IF event_byte != ((\1) / 8) +event_byte = ((\1) / 8) + ld a, [wEventFlags + event_byte] + ENDC + + bit (\1) % 8, a + ENDM + +;\1 = reg +;\2 = event index +;\3 = event index this event is relative to (optional, this is needed when there is a fixed flag address) +EventFlagBit: MACRO + IF _NARG > 2 + ld \1, ((\3) % 8) + ((\2) - (\3)) + ELSE + ld \1, (\2) % 8 + ENDC + ENDM + +;\1 = reg +;\2 = event index +EventFlagAddress: MACRO +event_byte = ((\2) / 8) + ld \1, wEventFlags + event_byte + ENDM + +;\1 = event index +CheckEventHL: MACRO +event_byte = ((\1) / 8) + ld hl, wEventFlags + event_byte + bit (\1) % 8, [hl] + ENDM + +;\1 = event index +CheckEventReuseHL: MACRO +IF event_byte != ((\1) / 8) +event_byte = ((\1) / 8) + ld hl, wEventFlags + event_byte + ENDC + + bit (\1) % 8, [hl] + ENDM + +; dangerous, only use when HL is guaranteed to be the desired value +;\1 = event index +CheckEventForceReuseHL: MACRO +event_byte = ((\1) / 8) + bit (\1) % 8, [hl] + ENDM + +;\1 = event index +;\2 = event index of the last event used before the branch +CheckEventAfterBranchReuseHL: MACRO +event_byte = ((\2) / 8) +IF event_byte != ((\1) / 8) +event_byte = ((\1) / 8) + ld hl, wEventFlags + event_byte + ENDC + + bit (\1) % 8, [hl] + ENDM + +;\1 = event index +CheckAndSetEvent: MACRO +event_byte = ((\1) / 8) + ld hl, wEventFlags + event_byte + bit (\1) % 8, [hl] + set (\1) % 8, [hl] + ENDM + +;\1 = event index +CheckAndResetEvent: MACRO +event_byte = ((\1) / 8) + ld hl, wEventFlags + event_byte + bit (\1) % 8, [hl] + res (\1) % 8, [hl] + ENDM + +;\1 = event index +CheckAndSetEventA: MACRO + ld a, [wEventFlags + ((\1) / 8)] + bit (\1) % 8, a + set (\1) % 8, a + ld [wEventFlags + ((\1) / 8)], a + ENDM + +;\1 = event index +CheckAndResetEventA: MACRO + ld a, [wEventFlags + ((\1) / 8)] + bit (\1) % 8, a + res (\1) % 8, a + ld [wEventFlags + ((\1) / 8)], a + ENDM + +;\1 = event index +SetEvent: MACRO +event_byte = ((\1) / 8) + ld hl, wEventFlags + event_byte + set (\1) % 8, [hl] + ENDM + +;\1 = event index +SetEventReuseHL: MACRO + IF event_byte != ((\1) / 8) +event_byte = ((\1) / 8) + ld hl, wEventFlags + event_byte + ENDC + + set (\1) % 8, [hl] + ENDM + +;\1 = event index +;\2 = event index of the last event used before the branch +SetEventAfterBranchReuseHL: MACRO +event_byte = ((\2) / 8) +IF event_byte != ((\1) / 8) +event_byte = ((\1) / 8) + ld hl, wEventFlags + event_byte + ENDC + + set (\1) % 8, [hl] + ENDM + +; dangerous, only use when HL is guaranteed to be the desired value +;\1 = event index +SetEventForceReuseHL: MACRO +event_byte = ((\1) / 8) + set (\1) % 8, [hl] + ENDM + +;\1 = event index +;\2 = event index +;\3 = event index (optional) +SetEvents: MACRO + SetEvent \1 + SetEventReuseHL \2 + + IF _NARG > 2 + SetEventReuseHL \3 + ENDC + ENDM + +;\1 = event index +ResetEvent: MACRO +event_byte = ((\1) / 8) + ld hl, wEventFlags + event_byte + res (\1) % 8, [hl] + ENDM + +;\1 = event index +ResetEventReuseHL: MACRO + IF event_byte != ((\1) / 8) +event_byte = ((\1) / 8) + ld hl, wEventFlags + event_byte + ENDC + + res (\1) % 8, [hl] + ENDM + +;\1 = event index +;\2 = event index of the last event used before the branch +ResetEventAfterBranchReuseHL: MACRO +event_byte = ((\2) / 8) +IF event_byte != ((\1) / 8) +event_byte = ((\1) / 8) + ld hl, wEventFlags + event_byte + ENDC + + res (\1) % 8, [hl] + ENDM + +; dangerous, only use when HL is guaranteed to be the desired value +;\1 = event index +ResetEventForceReuseHL: MACRO +event_byte = ((\1) / 8) + res (\1) % 8, [hl] + ENDM + +;\1 = event index +;\2 = event index +;\3 = event index (optional) +ResetEvents: MACRO + ResetEvent \1 + ResetEventReuseHL \2 + + IF _NARG > 2 + ResetEventReuseHL \3 + ENDC + ENDM + +;\1 = event index +;\2 = number of bytes away from the base address (optional, for matching the ROM) +dbEventFlagBit: MACRO + IF _NARG > 1 + db ((\1) % 8) + ((\2) * 8) + ELSE + db ((\1) % 8) + ENDC + ENDM + +;\1 = event index +;\2 = number of bytes away from the base address (optional, for matching the ROM) +dwEventFlagAddress: MACRO + IF _NARG > 1 + dw wEventFlags + ((\1) / 8) - (\2) + ELSE + dw wEventFlags + ((\1) / 8) + ENDC + ENDM + +;\1 = start +;\2 = end +SetEventRange: MACRO +event_start_byte = ((\1) / 8) +event_end_byte = ((\2) / 8) + + IF event_end_byte < event_start_byte + FAIL "Incorrect argument order in SetEventRange." + ENDC + + IF event_start_byte == event_end_byte + ld a, [wEventFlags + event_start_byte] + or (1 << (((\2) % 8) + 1)) - (1 << ((\1) % 8)) + ld [wEventFlags + event_start_byte], a + ELSE +event_fill_start = event_start_byte + 1 +event_fill_count = event_end_byte - event_start_byte - 1 + + IF ((\1) % 8) == 0 +event_fill_start = -1 + event_fill_start +event_fill_count = 1 + event_fill_count + ELSE + ld a, [wEventFlags + event_start_byte] + or $ff - ((1 << ((\1) % 8)) - 1) + ld [wEventFlags + event_start_byte], a + ENDC + + IF ((\2) % 8) == 7 +event_fill_count = 1 + event_fill_count + ENDC + + IF event_fill_count == 1 + ld hl, wEventFlags + event_fill_start + ld [hl], $ff + ENDC + + IF event_fill_count > 1 + ld a, $ff + ld hl, wEventFlags + event_fill_start + + REPT -1 + event_fill_count + ld [hli], a + ENDR + + ld [hl], a + ENDC + + IF ((\2) % 8) == 0 + ld hl, wEventFlags + event_end_byte + set 0, [hl] + ELSE + IF ((\2) % 8) != 7 + ld a, [wEventFlags + event_end_byte] + or (1 << (((\2) % 8) + 1)) - 1 + ld [wEventFlags + event_end_byte], a + ENDC + ENDC + ENDC + ENDM + +;\1 = start +;\2 = end +;\3 = assume a is 0 if present +ResetEventRange: MACRO +event_start_byte = ((\1) / 8) +event_end_byte = ((\2) / 8) + + IF event_end_byte < event_start_byte + FAIL "Incorrect argument order in ResetEventRange." + ENDC + + IF event_start_byte == event_end_byte + ld a, [wEventFlags + event_start_byte] + and ~((1 << (((\2) % 8) + 1)) - (1 << ((\1) % 8))) & $ff + ld [wEventFlags + event_start_byte], a + ELSE +event_fill_start = event_start_byte + 1 +event_fill_count = event_end_byte - event_start_byte - 1 + + IF ((\1) % 8) == 0 +event_fill_start = -1 + event_fill_start +event_fill_count = 1 + event_fill_count + ELSE + ld a, [wEventFlags + event_start_byte] + and ~($ff - ((1 << ((\1) % 8)) - 1)) & $ff + ld [wEventFlags + event_start_byte], a + ENDC + + IF ((\2) % 8) == 7 +event_fill_count = 1 + event_fill_count + ENDC + + IF event_fill_count == 1 + ld hl, wEventFlags + event_fill_start + ld [hl], 0 + ENDC + + IF event_fill_count > 1 + ld hl, wEventFlags + event_fill_start + + ; force xor a if we just to wrote to it above + IF (_NARG < 3) || (((\1) % 8) != 0) + xor a + ENDC + + REPT -1 + event_fill_count + ld [hli], a + ENDR + + ld [hl], a + ENDC + + IF ((\2) % 8) == 0 + ld hl, wEventFlags + event_end_byte + res 0, [hl] + ELSE + IF ((\2) % 8) != 7 + ld a, [wEventFlags + event_end_byte] + and ~((1 << (((\2) % 8) + 1)) - 1) $ ff + ld [wEventFlags + event_end_byte], a + ENDC + ENDC + ENDC + ENDM + +; returns whether both events are set in Z flag +;\1 = event index 1 +;\2 = event index 2 +CheckBothEventsSet: MACRO + IF ((\1) / 8) == ((\2) / 8) + ld a, [wEventFlags + ((\1) / 8)] + and (1 << ((\1) % 8)) | (1 << ((\2) % 8)) + cp (1 << ((\1) % 8)) | (1 << ((\2) % 8)) + ELSE + ; This case doesn't happen in the original ROM. + IF ((\1) % 8) == ((\2) % 8) + push hl + ld a, [wEventFlags + ((\1) / 8)] + ld hl, wEventFlags + ((\2) / 8) + and [hl] + cpl + bit ((\1) % 8), a + pop hl + ELSE + push bc + ld a, [wEventFlags + ((\1) / 8)] + and (1 << ((\1) % 8)) + ld b, a + ld a, [wEventFlags + ((\2) / 8)] + and (1 << ((\2) % 8)) + or b + cp (1 << ((\1) % 8)) | (1 << ((\2) % 8)) + pop bc + ENDC + ENDC + ENDM + +; returns the complement of whether either event is set in Z flag +;\1 = event index 1 +;\2 = event index 2 +CheckEitherEventSet: MACRO + IF ((\1) / 8) == ((\2) / 8) + ld a, [wEventFlags + ((\1) / 8)] + and (1 << ((\1) % 8)) | (1 << ((\2) % 8)) + ELSE + ; This case doesn't happen in the original ROM. + IF ((\1) % 8) == ((\2) % 8) + push hl + ld a, [wEventFlags + ((\1) / 8)] + ld hl, wEventFlags + ((\2) / 8) + or [hl] + bit ((\1) % 8), a + pop hl + ELSE + push bc + ld a, [wEventFlags + ((\1) / 8)] + and (1 << ((\1) % 8)) + ld b, a + ld a, [wEventFlags + ((\2) / 8)] + and (1 << ((\2) % 8)) + or b + pop bc + ENDC + ENDC + ENDM + +; for handling fixed event bits when events are inserted/removed +;\1 = event index +;\2 = fixed flag bit +AdjustEventBit: MACRO + IF ((\1) % 8) != (\2) + add ((\1) % 8) - (\2) + ENDC + ENDM + ;\1 = r ;\2 = X ;\3 = Y diff --git a/main.asm b/main.asm index 2261acb8..ea13bd64 100755 --- a/main.asm +++ b/main.asm @@ -1002,8 +1002,7 @@ DisplayTextIDInit: ; 7096 (1:7096) ; if text ID is 0 (i.e. the start menu) ; Note that the start menu text border is also drawn in the function directly ; below this, so this seems unnecessary. - ld a,[wd74b] - bit 5,a ; does the player have the pokedex? + CheckEvent EVENT_GOT_POKEDEX ; start menu with pokedex coord hl, 10, 0 ld b,$0e @@ -1071,8 +1070,7 @@ DisplayTextIDInit: ; 7096 (1:7096) ; function that displays the start menu DrawStartMenu: ; 710b (1:710b) - ld a,[wd74b] - bit 5,a ; does the player have the pokedex? + CheckEvent EVENT_GOT_POKEDEX ; menu with pokedex coord hl, 10, 0 ld b,$0e @@ -1098,8 +1096,7 @@ DrawStartMenu: ; 710b (1:710b) ld hl,wd730 set 6,[hl] ; no pauses between printing each letter coord hl, 12, 2 - ld a,[wd74b] - bit 5,a ; does the player have the pokedex? + CheckEvent EVENT_GOT_POKEDEX ; case for not having pokdex ld a,$06 jr z,.storeMenuItemCount @@ -2763,9 +2760,7 @@ CheckForForcedBikeSurf: ; cdc0 (3:4dc0) ld a, [W_CURMAP] cp SEAFOAM_ISLANDS_5 ret nz - ld a, [wd881] - and $3 - cp $3 + CheckBothEventsSet EVENT_9D0, EVENT_9D1 ret z ld hl, CoordsData_cdf7 call ArePlayerCoordsInArray diff --git a/scripts/agatha.asm b/scripts/agatha.asm index 850cc0bb..c9df27d2 100755 --- a/scripts/agatha.asm +++ b/scripts/agatha.asm @@ -13,8 +13,7 @@ AgathaScript_76443: ; 76443 (1d:6443) bit 5, [hl] res 5, [hl] ret z - ld a, [wd865] - bit 1, a + CheckEvent EVENT_BEAT_AGATHAS_ROOM_TRAINER_0 jr z, .asm_76457 ld a, $e jp AgathaScript_76459 @@ -70,9 +69,7 @@ AgathaScript0: ; 76490 (1d:6490) ld a, [wCoordIndex] cp $3 jr c, .asm_764b4 - ld hl, wd865 - bit 6, [hl] - set 6, [hl] + CheckAndSetEvent EVENT_8F6 jr z, AgathaScript_76474 .asm_764b4 ld a, $2 @@ -124,9 +121,9 @@ AgathaTextPointers: ; 76505 (1d:6505) AgathaTrainerHeaders: ; 76509 (1d:6509) AgathaTrainerHeader0: ; 76509 (1d:6509) - db $1 ; flag's bit + dbEventFlagBit EVENT_BEAT_AGATHAS_ROOM_TRAINER_0 db ($0 << 4) ; trainer's view range - dw wd865 ; flag's byte + dwEventFlagAddress EVENT_BEAT_AGATHAS_ROOM_TRAINER_0 dw AgathaBeforeBattleText ; TextBeforeBattle dw AgathaAfterBattleText ; TextAfterBattle dw AgathaEndBattleText ; TextEndBattle diff --git a/scripts/bikeshop.asm b/scripts/bikeshop.asm index 6779d9f6..bdae3536 100755 --- a/scripts/bikeshop.asm +++ b/scripts/bikeshop.asm @@ -8,8 +8,7 @@ BikeShopTextPointers: ; 1d73f (7:573f) BikeShopText1: ; 1d745 (7:5745) TX_ASM - ld a, [wd75f] - bit 0, a + CheckEvent EVENT_0C0 jr z, .asm_260d4 ld hl, BikeShopText_1d82f call PrintText @@ -26,8 +25,7 @@ BikeShopText1: ; 1d745 (7:5745) ld a, BIKE_VOUCHER ld [$ffdb], a callba RemoveItemByID - ld hl, wd75f - set 0, [hl] + SetEvent EVENT_0C0 ld hl, BikeShopText_1d824 call PrintText jr .Done @@ -131,8 +129,7 @@ BikeShopText_1d843: ; 1d843 (7:5843) BikeShopText3: ; 1d848 (7:5848) TX_ASM - ld a, [wd75f] - bit 0, a + CheckEvent EVENT_0C0 ld hl, BikeShopText_1d861 jr nz, .asm_34d2d ld hl, BikeShopText_1d85c diff --git a/scripts/billshouse.asm b/scripts/billshouse.asm index 115b3b19..b7e85f9a 100755 --- a/scripts/billshouse.asm +++ b/scripts/billshouse.asm @@ -51,8 +51,7 @@ BillsHouseScript2: ; 1e7a6 (7:67a6) ld a, HS_BILL_POKEMON ld [wcc4d], a predef HideObject - ld hl, wd7f2 - set 6, [hl] + SetEvent EVENT_55E xor a ld [wJoyIgnore], a ld a, $3 @@ -60,8 +59,7 @@ BillsHouseScript2: ; 1e7a6 (7:67a6) ret BillsHouseScript3: ; 1e7c5 (7:67c5) - ld a, [wd7f2] - bit 3, a + CheckEvent EVENT_55B ret z ld a, $f0 ld [wJoyIgnore], a @@ -103,10 +101,8 @@ BillsHouseScript4: ; 1e80d (7:680d) ret nz xor a ld [wJoyIgnore], a - ld hl, wd7f2 - set 5, [hl] - ld hl, wd7f1 - set 0, [hl] + SetEvent EVENT_55D + SetEvent EVENT_550 ld a, $0 ld [W_BILLSHOUSECURSCRIPT], a ret @@ -163,8 +159,7 @@ BillsHouseText_1e86f: ; 1e86f (7:686f) BillsHouseText2: ; 1e874 (7:6874) TX_ASM - ld a, [wd7f2] - bit 4, a + CheckEvent EVENT_55C jr nz, .asm_1e8a9 ld hl, BillThankYouText call PrintText @@ -173,8 +168,7 @@ BillsHouseText2: ; 1e874 (7:6874) jr nc, .BagFull ld hl, SSTicketReceivedText call PrintText - ld hl, wd7f2 - set 4, [hl] + SetEvent EVENT_55C ld a, HS_CERULEAN_GUARD_1 ld [wcc4d], a predef ShowObject diff --git a/scripts/blueshouse.asm b/scripts/blueshouse.asm index 5d6f1f83..17b182f5 100755 --- a/scripts/blueshouse.asm +++ b/scripts/blueshouse.asm @@ -9,8 +9,7 @@ BluesHouseScriptPointers: ; 19b47 (6:5b47) dw BluesHouseScript1 BluesHouseScript0: ; 19b4b (6:5b4b) - ld hl,wd74a - set 1,[hl] + SetEvent EVENT_019 ; trigger the next script ld a,1 @@ -27,11 +26,9 @@ BluesHouseTextPointers: ; 19b57 (6:5b57) BluesHouseText1: ; 19b5d (6:5b5d) TX_ASM - ld a,[wd74a] - bit 0,a + CheckEvent EVENT_018 jr nz,.GotMap - ld a,[wd74b] - bit 5,a + CheckEvent EVENT_GOT_POKEDEX jr nz,.GiveMap ld hl,DaisyInitialText call PrintText @@ -47,8 +44,7 @@ BluesHouseText1: ; 19b5d (6:5b5d) predef HideObject ; hide table map object ld hl,GotMapText call PrintText - ld hl,wd74a - set 0,[hl] + SetEvent EVENT_018 jr .done .GotMap ld hl,DaisyUseMapText diff --git a/scripts/bruno.asm b/scripts/bruno.asm index 76a5919a..9cd55193 100755 --- a/scripts/bruno.asm +++ b/scripts/bruno.asm @@ -13,8 +13,7 @@ BrunoScript_762ec: ; 762ec (1d:62ec) bit 5, [hl] res 5, [hl] ret z - ld a, [wd864] - bit 1, a + CheckEvent EVENT_BEAT_BRUNOS_ROOM_TRAINER_0 jr z, .asm_76300 ld a, $5 jp BrunoScript_76302 @@ -70,9 +69,7 @@ BrunoScript0: ; 76339 (1d:6339) ld a, [wCoordIndex] cp $3 jr c, .asm_7635d - ld hl, wd864 - bit 6, [hl] - set 6, [hl] + CheckAndSetEvent EVENT_8EE jr z, BrunoScript_7631d .asm_7635d ld a, $2 @@ -121,9 +118,9 @@ BrunoTextPointers: ; 763a8 (1d:63a8) BrunoTrainerHeaders: ; 763ac (1d:63ac) BrunoTrainerHeader0: ; 763ac (1d:63ac) - db $1 ; flag's bit + dbEventFlagBit EVENT_BEAT_BRUNOS_ROOM_TRAINER_0 db ($0 << 4) ; trainer's view range - dw wd864 ; flag's byte + dwEventFlagAddress EVENT_BEAT_BRUNOS_ROOM_TRAINER_0 dw BrunoBeforeBattleText ; TextBeforeBattle dw BrunoAfterBattleText ; TextAfterBattle dw BrunoEndBattleText ; TextEndBattle diff --git a/scripts/celadoncity.asm b/scripts/celadoncity.asm index 9107d254..65e71cca 100755 --- a/scripts/celadoncity.asm +++ b/scripts/celadoncity.asm @@ -1,10 +1,7 @@ CeladonCityScript: ; 19956 (6:5956) 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) @@ -45,8 +42,7 @@ CeladonCityText4: ; 19999 (6:5999) CeladonCityText5: ; 1999e (6:599e) TX_ASM - ld a, [wd777] - bit 0, a + CheckEvent EVENT_180 jr nz, .asm_7053f ld hl, TM41PreText call PrintText @@ -59,8 +55,7 @@ CeladonCityText5: ; 1999e (6:599e) .Success ld hl, ReceivedTM41Text call PrintText - ld hl, wd777 - set 0, [hl] + SetEvent EVENT_180 jr .Done .asm_7053f ld hl, TM41ExplanationText diff --git a/scripts/celadondiner.asm b/scripts/celadondiner.asm index f6db1606..d4d4b84b 100755 --- a/scripts/celadondiner.asm +++ b/scripts/celadondiner.asm @@ -27,16 +27,14 @@ CeladonDinerText4: ; 4916e (12:516e) CeladonDinerText5: ; 49173 (12:5173) TX_ASM - ld a, [wd783] - bit 0, a + CheckEvent EVENT_1E0 jr nz, .asm_eb14d ld hl, CeladonDinerText_491a7 call PrintText ld bc, (COIN_CASE << 8) | 1 call GiveItem jr nc, .BagFull - ld hl, wd783 - set 0, [hl] + SetEvent EVENT_1E0 ld hl, ReceivedCoinCaseText call PrintText jr .asm_68b61 diff --git a/scripts/celadongamecorner.asm b/scripts/celadongamecorner.asm index c8d07058..51ffef89 100755 --- a/scripts/celadongamecorner.asm +++ b/scripts/celadongamecorner.asm @@ -28,8 +28,7 @@ CeladonGameCornerScript_48bec: ; 48bec (12:4bec) bit 5, [hl] res 5, [hl] ret z - ld a, [wd77e] - bit 1, a + CheckEvent EVENT_1B9 ret nz ld a, $2a ld [wd09f], a @@ -227,8 +226,7 @@ CeladonGameCornerText4: ; 48d45 (12:4d45) CeladonGameCornerText5: ; 48d4a (12:4d4a) TX_ASM - ld a, [wd77e] - bit 2, a + CheckEvent EVENT_1BA jr nz, .asm_48d89 ld hl, CeladonGameCornerText_48d9c call PrintText @@ -246,8 +244,7 @@ CeladonGameCornerText5: ; 48d4a (12:4d4a) ld hl, hCoins + 1 ld c, $2 predef AddBCDPredef - ld hl, wd77e - set 2, [hl] + SetEvent EVENT_1BA ld a, $1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a ld hl, Received10CoinsText @@ -286,8 +283,7 @@ CeladonGameCornerText6: ; 48db1 (12:4db1) CeladonGameCornerText7: ; 48db6 (12:4db6) TX_ASM - ld a, [wd77c] - bit 1, a + CheckEvent EVENT_1A9 ld hl, CeladonGameCornerText_48dca jr z, .asm_48dc4 ld hl, CeladonGameCornerText_48dcf @@ -309,8 +305,7 @@ CeladonGameCornerText8: ; 48dd4 (12:4dd4) CeladonGameCornerText9: ; 48dd9 (12:4dd9) TX_ASM - ld a, [wd77e] - bit 4, a + CheckEvent EVENT_1BC jr nz, .asm_48e13 ld hl, CeladonGameCornerText_48e26 call PrintText @@ -328,8 +323,7 @@ CeladonGameCornerText9: ; 48dd9 (12:4dd9) ld hl, hCoins + 1 ld c, $2 predef AddBCDPredef - ld hl, wd77e - set 4, [hl] + SetEvent EVENT_1BC ld hl, Received20CoinsText jr .asm_48e20 .asm_48e13 @@ -362,8 +356,7 @@ CeladonGameCornerText_48e36: ; 48e36 (12:4e36) CeladonGameCornerText10: ; 48e3b (12:4e3b) TX_ASM - ld a, [wd77e] - bit 3, a + CheckEvent EVENT_1BB jr nz, .asm_48e75 ld hl, CeladonGameCornerText_48e88 call PrintText @@ -381,8 +374,7 @@ CeladonGameCornerText10: ; 48e3b (12:4e3b) ld hl, hCoins + 1 ld c, $2 predef AddBCDPredef - ld hl, wd77e - set 3, [hl] + SetEvent EVENT_1BB ld hl, CeladonGameCornerText_48e8d jr .asm_48e82 .asm_48e75 @@ -457,8 +449,7 @@ CeladonGameCornerText12: ; 48edd (12:4edd) ld a, SFX_GO_INSIDE call PlaySound call WaitForSoundToFinish - ld hl, wd77e - set 1, [hl] + SetEvent EVENT_1B9 ld a, $43 ld [wd09f], a ld bc, $0208 diff --git a/scripts/celadongym.asm b/scripts/celadongym.asm index b978b272..1e2959dd 100755 --- a/scripts/celadongym.asm +++ b/scripts/celadongym.asm @@ -46,16 +46,14 @@ CeladonGymText_48963: ; 48963 (12:4963) ld a, $9 ld [hSpriteIndexOrTextID], a call DisplayTextID - ld hl, wd77c - set 1, [hl] + SetEvent EVENT_1A9 ld bc, (TM_21 << 8) | 1 call GiveItem jr nc, .BagFull ld a, $a ld [hSpriteIndexOrTextID], a call DisplayTextID - ld hl, wd77c - set 0, [hl] + SetEvent EVENT_1A8 jr .asm_4898c .BagFull ld a, $b @@ -68,11 +66,7 @@ CeladonGymText_48963: ; 48963 (12:4963) 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_7 jp CeladonGymText_48943 @@ -91,63 +85,63 @@ CeladonGymTextPointers: ; 489a6 (12:49a6) CeladonGymTrainerHeaders: ; 489bc (12:49bc) CeladonGymTrainerHeader0: ; 489bc (12:49bc) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_0 db ($2 << 4) ; trainer's view range - dw wd77c ; flag's byte + dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_0 dw CeladonGymBattleText2 ; TextBeforeBattle dw CeladonGymAfterBattleText2 ; TextAfterBattle dw CeladonGymEndBattleText2 ; TextEndBattle dw CeladonGymEndBattleText2 ; TextEndBattle CeladonGymTrainerHeader2: ; 489c8 (12:49c8) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_2 db ($2 << 4) ; trainer's view range - dw wd77c ; flag's byte + dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_2 dw CeladonGymBattleText3 ; TextBeforeBattle dw CeladonGymAfterBattleText3 ; TextAfterBattle dw CeladonGymEndBattleText3 ; TextEndBattle dw CeladonGymEndBattleText3 ; TextEndBattle CeladonGymTrainerHeader3: ; 489d4 (12:49d4) - db $4 ; flag's bit + dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_3 db ($4 << 4) ; trainer's view range - dw wd77c ; flag's byte + dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_3 dw CeladonGymBattleText4 ; TextBeforeBattle dw CeladonGymAfterBattleText4 ; TextAfterBattle dw CeladonGymEndBattleText4 ; TextEndBattle dw CeladonGymEndBattleText4 ; TextEndBattle CeladonGymTrainerHeader4: ; 489e0 (12:49e0) - db $5 ; flag's bit + dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_4 db ($4 << 4) ; trainer's view range - dw wd77c ; flag's byte + dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_4 dw CeladonGymBattleText5 ; TextBeforeBattle dw CeladonGymAfterBattleText5 ; TextAfterBattle dw CeladonGymEndBattleText5 ; TextEndBattle dw CeladonGymEndBattleText5 ; TextEndBattle CeladonGymTrainerHeader5: ; 489ec (12:49ec) - db $6 ; flag's bit + dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_5 db ($2 << 4) ; trainer's view range - dw wd77c ; flag's byte + dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_5 dw CeladonGymBattleText6 ; TextBeforeBattle dw CeladonGymAfterBattleText6 ; TextAfterBattle dw CeladonGymEndBattleText6 ; TextEndBattle dw CeladonGymEndBattleText6 ; TextEndBattle CeladonGymTrainerHeader6: ; 489f8 (12:49f8) - db $7 ; flag's bit + dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_6 db ($2 << 4) ; trainer's view range - dw wd77c ; flag's byte + dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_6 dw CeladonGymBattleText7 ; TextBeforeBattle dw CeladonGymAfterBattleText7 ; TextAfterBattle dw CeladonGymEndBattleText7 ; TextEndBattle dw CeladonGymEndBattleText7 ; TextEndBattle CeladonGymTrainerHeader7: ; 48a04 (12:4a04) - db $8 ; flag's bit + dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_7, 1 db ($3 << 4) ; trainer's view range - dw wd77c ; flag's byte + dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_7, 1 dw CeladonGymBattleText8 ; TextBeforeBattle dw CeladonGymAfterBattleText8 ; TextAfterBattle dw CeladonGymEndBattleText8 ; TextEndBattle @@ -157,10 +151,9 @@ CeladonGymTrainerHeader7: ; 48a04 (12:4a04) CeladonGymText1: ; 48a11 (12:4a11) TX_ASM - ld a, [wd77c] - bit 1, a + CheckEvent EVENT_1A9 jr z, .asm_48a2d - bit 0, a + CheckEventReuseA EVENT_1A8 jr nz, .asm_48a25 call z, CeladonGymText_48963 call DisableWaitingAfterTextDisplay diff --git a/scripts/celadonmart3.asm b/scripts/celadonmart3.asm index 46e58d8c..6e17ac77 100755 --- a/scripts/celadonmart3.asm +++ b/scripts/celadonmart3.asm @@ -22,16 +22,14 @@ CeladonMart3TextPointers: ; 48228 (12:4228) CeladonMart3Text1: ; 4824a (12:424a) TX_ASM - ld a, [wd778] - bit 7, a + CheckEvent EVENT_18F jr nz, .asm_a5463 ld hl, TM18PreReceiveText call PrintText ld bc, (TM_18 << 8) | 1 call GiveItem jr nc, .BagFull - ld hl, wd778 - set 7, [hl] + SetEvent EVENT_18F ld hl, ReceivedTM18Text jr .asm_81359 .BagFull diff --git a/scripts/celadonmartroof.asm b/scripts/celadonmartroof.asm index f83e466d..e509ffeb 100755 --- a/scripts/celadonmartroof.asm +++ b/scripts/celadonmartroof.asm @@ -83,8 +83,7 @@ CeladonMartRoofScript_4840c: ; 4840c (12:440c) jr z, .asm_484b6 cp SODA_POP jr z, .asm_48492 - ld a, [wd778] - bit 6, a + CheckEvent EVENT_18E jr nz, .asm_484e0 ld hl, CeladonMartRoofText_48515 call PrintText @@ -94,12 +93,10 @@ CeladonMartRoofScript_4840c: ; 4840c (12:440c) jr nc, .BagFull ld hl, ReceivedTM49Text call PrintText - ld hl, wd778 - set 6, [hl] + SetEvent EVENT_18E ret .asm_48492 - ld a, [wd778] - bit 5, a + CheckEvent EVENT_18D jr nz, .asm_484e0 ld hl, CeladonMartRoofText_48504 call PrintText @@ -109,12 +106,10 @@ CeladonMartRoofScript_4840c: ; 4840c (12:440c) jr nc, .BagFull ld hl, CeladonMartRoofText_4850a call PrintText - ld hl, wd778 - set 5, [hl] + SetEvent EVENT_18D ret .asm_484b6 - ld a, [wd778] - bit 4, a + CheckEvent EVENT_18C jr nz, .asm_484e0 ld hl, CeladonMartRoofText_484f3 call PrintText @@ -124,8 +119,7 @@ CeladonMartRoofScript_4840c: ; 4840c (12:440c) jr nc, .BagFull ld hl, CeladonMartRoofText_484f9 call PrintText - ld hl, wd778 - set 4, [hl] + SetEvent EVENT_18C ret .BagFull ld hl, CeladonMartRoofText_48526 diff --git a/scripts/ceruleancity.asm b/scripts/ceruleancity.asm index 48480167..b009ca95 100755 --- a/scripts/ceruleancity.asm +++ b/scripts/ceruleancity.asm @@ -25,8 +25,7 @@ CeruleanCityScript4: ; 194a7 (6:54a7) jp z, CeruleanCityScript_1948c ld a, $f0 ld [wJoyIgnore], a - ld hl, wd75b - set 7, [hl] + SetEvent EVENT_0A7 ld a, $2 ld [hSpriteIndexOrTextID], a call DisplayTextID @@ -36,8 +35,7 @@ CeruleanCityScript4: ; 194a7 (6:54a7) ret CeruleanCityScript0: ; 194c8 (6:54c8) - ld a, [wd75b] - bit 7, a + CheckEvent EVENT_0A7 jr nz, .asm_194f7 ld hl, CeruleanCityCoords1 call ArePlayerCoordsInArray @@ -58,8 +56,7 @@ CeruleanCityScript0: ; 194c8 (6:54c8) ld [hSpriteIndexOrTextID], a jp DisplayTextID .asm_194f7 - ld a, [wd75a] - bit 0, a + CheckEvent EVENT_098 ret nz ld hl, CeruleanCityCoords2 call ArePlayerCoordsInArray @@ -170,8 +167,7 @@ CeruleanCityScript2: ; 195b1 (6:55b1) call CeruleanCityScript_1955d ld a, $f0 ld [wJoyIgnore], a - ld hl, wd75a - set 0, [hl] + SetEvent EVENT_098 ld a, $1 ld [hSpriteIndexOrTextID], a call DisplayTextID @@ -252,8 +248,7 @@ CeruleanCityTextPointers: ; 1962d (6:562d) CeruleanCityText1: ; 1964f (6:564f) TX_ASM - ld a, [wd75a] ; rival battle flag - bit 0, a + CheckEvent EVENT_098 ; do pre-battle text jr z, .PreBattleText ; or talk about bill @@ -284,8 +279,7 @@ CeruleanCityText_19677: ; 19677 (6:5677) CeruleanCityText2: ; 1967c (6:567c) TX_ASM - ld a, [wd75b] - bit 7, a + CheckEvent EVENT_0A7 jr nz, .asm_4ca20 ld hl, CeruleanCityText_196d9 call PrintText diff --git a/scripts/ceruleangym.asm b/scripts/ceruleangym.asm index 2343af03..e4c614d6 100755 --- a/scripts/ceruleangym.asm +++ b/scripts/ceruleangym.asm @@ -46,16 +46,14 @@ CeruleanGymScript_5c70d: ; 5c70d (17:470d) ld a, $5 ld [hSpriteIndexOrTextID], a call DisplayTextID - ld hl, wd75e - set 7, [hl] + SetEvent EVENT_0BF ld bc, (TM_11 << 8) | 1 call GiveItem jr nc, .BagFull ld a, $6 ld [hSpriteIndexOrTextID], a call DisplayTextID - ld hl, wd75e - set 6, [hl] + SetEvent EVENT_0BE jr .asm_5c736 .BagFull ld a, $7 @@ -68,9 +66,7 @@ CeruleanGymScript_5c70d: ; 5c70d (17:470d) 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 @@ -85,18 +81,18 @@ CeruleanGymTextPointers: ; 5c74a (17:474a) CeruleanGymTrainerHeaders: ; 5c758 (17:4758) CeruleanGymTrainerHeader0: ; 5c758 (17:4758) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_CERULEAN_GYM_TRAINER_0 db ($3 << 4) ; trainer's view range - dw wd75e ; flag's byte + dwEventFlagAddress EVENT_BEAT_CERULEAN_GYM_TRAINER_0 dw CeruleanGymBattleText1 ; TextBeforeBattle dw CeruleanGymAfterBattleText1 ; TextAfterBattle dw CeruleanGymEndBattleText1 ; TextEndBattle dw CeruleanGymEndBattleText1 ; TextEndBattle CeruleanGymTrainerHeader1: ; 5c764 (17:4764) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_CERULEAN_GYM_TRAINER_1 db ($3 << 4) ; trainer's view range - dw wd75e ; flag's byte + dwEventFlagAddress EVENT_BEAT_CERULEAN_GYM_TRAINER_1 dw CeruleanGymBattleText2 ; TextBeforeBattle dw CeruleanGymAfterBattleText2 ; TextAfterBattle dw CeruleanGymEndBattleText2 ; TextEndBattle @@ -106,10 +102,9 @@ CeruleanGymTrainerHeader1: ; 5c764 (17:4764) CeruleanGymText1: ; 5c771 (17:4771) TX_ASM - ld a, [wd75e] - bit 7, a + CheckEvent EVENT_0BF jr z, .asm_5c78d - bit 6, a + CheckEventReuseA EVENT_0BE jr nz, .asm_5c785 call z, CeruleanGymScript_5c70d call DisableWaitingAfterTextDisplay @@ -203,8 +198,7 @@ CeruleanGymAfterBattleText2: ; 5c80c (17:480c) CeruleanGymText4: ; 5c811 (17:4811) TX_ASM - ld a, [wd75e] - bit 7, a + CheckEvent EVENT_0BF jr nz, .asm_5c821 ld hl, CeruleanGymText_5c82a call PrintText diff --git a/scripts/cinnabargym.asm b/scripts/cinnabargym.asm index 213568d5..fe7f1c13 100755 --- a/scripts/cinnabargym.asm +++ b/scripts/cinnabargym.asm @@ -15,8 +15,7 @@ CinnabarGymScript_75759: ; 75759 (1d:5759) bit 5, [hl] res 5, [hl] call nz, Func_3ead - ld hl, wd79b - res 7, [hl] + ResetEvent EVENT_2A7 ret CinnabarGymScript_75772: ; 75772 (1d:5772) ld hl, Gym7CityName @@ -98,9 +97,10 @@ CinnabarGymScript2: ; 757f6 (1d:57f6) jp z, CinnabarGymScript_75792 ld a, [wTrainerHeaderFlagBit] ld [$ffdb], a + AdjustEventBit EVENT_29A, 2 ld c, a ld b, FLAG_TEST - ld hl, wd79a + EventFlagAddress hl, EVENT_29A call CinnabarGymScript_757f1 ld a, c and a @@ -112,15 +112,17 @@ CinnabarGymScript2: ; 757f6 (1d:57f6) .asm_7581b ld a, [wTrainerHeaderFlagBit] ld [$ffdb], a + AdjustEventBit EVENT_29A, 2 ld c, a ld b, FLAG_SET - ld hl, wd79a + EventFlagAddress hl, EVENT_29A call CinnabarGymScript_757f1 ld a, [wTrainerHeaderFlagBit] sub $2 + AdjustEventBit EVENT_2A8, 0 ld c, a ld b, FLAG_SET - ld hl, wd79c + EventFlagAddress hl, EVENT_2A8 call CinnabarGymScript_757f1 call Func_3ead xor a @@ -141,16 +143,14 @@ CinnabarGymScript3_75857: ; 75857 (1d:5857) ld a, $a ld [hSpriteIndexOrTextID], a call DisplayTextID - ld hl, wd79a - set 1, [hl] + SetEvent EVENT_299 ld bc, (TM_38 << 8) | 1 call GiveItem jr nc, .BagFull ld a, $b ld [hSpriteIndexOrTextID], a call DisplayTextID - ld hl, wd79a - set 0, [hl] + SetEvent EVENT_298 jr .asm_75880 .BagFull ld a, $c @@ -163,11 +163,7 @@ CinnabarGymScript3_75857: ; 75857 (1d:5857) set 6, [hl] ; deactivate gym trainers - ld a, [wd79a] - or %11111100 - ld [wd79a], a - ld hl, wd79b - set 0, [hl] + SetEventRange EVENT_29A, EVENT_2A0 ld hl, wd126 set 5, [hl] @@ -210,10 +206,9 @@ CinnabarGymScript_758b7: ; 758b7 (1d:58b7) CinnabarGymText1: ; 758df (1d:58df) TX_ASM - ld a, [wd79a] - bit 1, a + CheckEvent EVENT_299 jr z, .asm_d9332 - bit 0, a + CheckEventReuseA EVENT_298 jr nz, .asm_3012f call z, CinnabarGymScript3_75857 call DisableWaitingAfterTextDisplay @@ -263,8 +258,7 @@ TM38NoRoomText: ; 75934 (1d:5934) CinnabarGymText2: ; 75939 (1d:5939) TX_ASM call CinnabarGymScript_757a0 - ld a, [wd79a] - bit 2, a + CheckEvent EVENT_29A jr nz, .asm_46bb4 ld hl, CinnabarGymText_7595f call PrintText @@ -292,8 +286,7 @@ CinnabarGymText_75969: ; 75969 (1d:5969) CinnabarGymText3: ; 7596e (1d:596e) TX_ASM call CinnabarGymScript_757a0 - ld a, [wd79a] - bit 3, a + CheckEvent EVENT_29B jr nz, .asm_4b406 ld hl, CinnabarGymText_75994 call PrintText @@ -321,8 +314,7 @@ CinnabarGymText_7599e: ; 7599e (1d:599e) CinnabarGymText4: ; 759a3 (1d:59a3) TX_ASM call CinnabarGymScript_757a0 - ld a, [wd79a] - bit 4, a + CheckEvent EVENT_29C jr nz, .asm_c0673 ld hl, CinnabarGymText_759c9 call PrintText @@ -350,8 +342,7 @@ CinnabarGymText_759d3: ; 759d3 (1d:59d3) CinnabarGymText5: ; 759d8 (1d:59d8) TX_ASM call CinnabarGymScript_757a0 - ld a, [wd79a] - bit 5, a + CheckEvent EVENT_29D jr nz, .asm_5cfd7 ld hl, CinnabarGymText_759fe call PrintText @@ -379,8 +370,7 @@ CinnabarGymText_75a08: ; 75a08 (1d:5a08) CinnabarGymText6: ; 75a0d (1d:5a0d) TX_ASM call CinnabarGymScript_757a0 - ld a, [wd79a] - bit 6, a + CheckEvent EVENT_29E jr nz, .asm_776b4 ld hl, CinnabarGymText_75a33 call PrintText @@ -408,8 +398,7 @@ CinnabarGymText_75a3d: ; 75a3d (1d:5a3d) CinnabarGymText7: ; 75a42 (1d:5a42) TX_ASM call CinnabarGymScript_757a0 - ld a, [wd79a] - bit 7, a + CheckEvent EVENT_29F jr nz, .asm_2f755 ld hl, CinnabarGymText_75a68 call PrintText @@ -437,8 +426,7 @@ CinnabarGymText_75a72: ; 75a72 (1d:5a72) CinnabarGymText8: ; 75a77 (1d:5a77) TX_ASM call CinnabarGymScript_757a0 - ld a, [wd79b] - bit 0, a + CheckEvent EVENT_2A0 jr nz, .asm_d87be ld hl, CinnabarGymText_75a9d call PrintText @@ -465,8 +453,7 @@ CinnabarGymText_75aa7: ; 75aa7 (1d:5aa7) CinnabarGymText9: ; 75aac (1d:5aac) TX_ASM - ld a, [wd79a] - bit 1, a + CheckEvent EVENT_299 jr nz, .asm_627d9 ld hl, CinnabarGymText_75ac2 jr .asm_0b11d diff --git a/scripts/cinnabarisland.asm b/scripts/cinnabarisland.asm index 92c0fc6b..2fc0503f 100755 --- a/scripts/cinnabarisland.asm +++ b/scripts/cinnabarisland.asm @@ -2,10 +2,8 @@ CinnabarIslandScript: ; 1ca19 (7:4a19) call EnableAutoTextBoxDrawing ld hl, wd126 set 5, [hl] - ld hl, wd796 - res 0, [hl] - ld hl, wd7a3 - res 1, [hl] + ResetEvent EVENT_278 + ResetEvent EVENT_2E1 ld hl, CinnabarIslandScriptPointers ld a, [W_CINNABARISLANDCURSCRIPT] jp CallFunctionInTable diff --git a/scripts/copycatshouse2f.asm b/scripts/copycatshouse2f.asm index 51a633b1..d6a330f3 100755 --- a/scripts/copycatshouse2f.asm +++ b/scripts/copycatshouse2f.asm @@ -12,8 +12,7 @@ CopycatsHouse2FTextPointers: ; 5cc74 (17:4c74) CopycatsHouse2FText1: ; 5cc82 (17:4c82) TX_ASM - ld a, [wd7af] - bit 0, a + CheckEvent EVENT_340 jr nz, .asm_7ccf3 ld a, $1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a @@ -32,8 +31,7 @@ CopycatsHouse2FText1: ; 5cc82 (17:4c82) ld a, POKE_DOLL ld [$ffdb], a callba RemoveItemByID - ld hl, wd7af - set 0, [hl] + SetEvent EVENT_340 jr .asm_62ecd .BagFull ld hl, TM31NoRoomText diff --git a/scripts/fanclub.asm b/scripts/fanclub.asm index 79621fce..45298c0b 100755 --- a/scripts/fanclub.asm +++ b/scripts/fanclub.asm @@ -3,8 +3,7 @@ FanClubScript: ; 59b70 (16:5b70) 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 @@ -25,19 +24,16 @@ FanClubTextPointers: ; 59b84 (16:5b84) FanClubText1: ; pikachu fan TX_ASM - ld a, [wd771] - bit 7, a + CheckEvent EVENT_157 jr nz, .mineisbetter ld hl, .normaltext call PrintText - ld hl, wd771 - set 6, [hl] + SetEvent EVENT_156 jr .done .mineisbetter ld hl, .bettertext call PrintText - ld hl, wd771 - res 7, [hl] + ResetEvent EVENT_157 .done jp TextScriptEnd @@ -52,19 +48,16 @@ FanClubText1: FanClubText2: ; seel fan TX_ASM - ld a, [wd771] - bit 6, a + CheckEvent EVENT_156 jr nz, .mineisbetter ld hl, .normaltext call PrintText - ld hl, wd771 - set 7, [hl] + SetEvent EVENT_157 jr .done .mineisbetter ld hl, .bettertext call PrintText - ld hl, wd771 - res 6, [hl] + ResetEvent EVENT_156 .done jp TextScriptEnd @@ -125,8 +118,7 @@ FanClubText5: 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 diff --git a/scripts/fightingdojo.asm b/scripts/fightingdojo.asm index c21dde00..e27baf57 100755 --- a/scripts/fightingdojo.asm +++ b/scripts/fightingdojo.asm @@ -21,15 +21,13 @@ FightingDojoScriptPointers: ; 5cd7b (17:4d7b) dw FightingDojoScript3 FightingDojoScript1: ; 5cd83 (17:4d83) - ld a, [wd7b1] - bit 0, a + CheckEvent EVENT_350 ret nz call CheckFightingMapTrainers ld a, [wTrainerHeaderFlagBit] and a ret nz - ld a, [wd7b1] - bit 1, a + CheckEvent EVENT_351 ret nz xor a ld [hJoyHeld], a @@ -72,9 +70,7 @@ FightingDojoScript3: ; 5cdc6 (17:4dc6) .asm_5cde4 ld a, $f0 ld [wJoyIgnore], a - ld a, [wd7b1] - or $3e - ld [wd7b1], a + SetEventRange EVENT_351, EVENT_BEAT_FIGHTING_DOJO_TRAINER_3 ld a, $8 ld [hSpriteIndexOrTextID], a call DisplayTextID @@ -96,36 +92,36 @@ FightingDojoTextPointers: ; 5ce03 (17:4e03) FightingDojoTrainerHeaders: ; 5ce13 (17:4e13) FightingDojoTrainerHeader0: ; 5ce13 (17:4e13) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_FIGHTING_DOJO_TRAINER_0 db ($4 << 4) ; trainer's view range - dw wd7b1 ; flag's byte + dwEventFlagAddress EVENT_BEAT_FIGHTING_DOJO_TRAINER_0 dw FightingDojoBattleText1 ; TextBeforeBattle dw FightingDojoAfterBattleText1 ; TextAfterBattle dw FightingDojoEndBattleText1 ; TextEndBattle dw FightingDojoEndBattleText1 ; TextEndBattle FightingDojoTrainerHeader1: ; 5ce1f (17:4e1f) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_FIGHTING_DOJO_TRAINER_1 db ($4 << 4) ; trainer's view range - dw wd7b1 ; flag's byte + dwEventFlagAddress EVENT_BEAT_FIGHTING_DOJO_TRAINER_1 dw FightingDojoBattleText2 ; TextBeforeBattle dw FightingDojoAfterBattleText2 ; TextAfterBattle dw FightingDojoEndBattleText2 ; TextEndBattle dw FightingDojoEndBattleText2 ; TextEndBattle FightingDojoTrainerHeader2: ; 5ce2b (17:4e2b) - db $4 ; flag's bit + dbEventFlagBit EVENT_BEAT_FIGHTING_DOJO_TRAINER_2 db ($3 << 4) ; trainer's view range - dw wd7b1 ; flag's byte + dwEventFlagAddress EVENT_BEAT_FIGHTING_DOJO_TRAINER_2 dw FightingDojoBattleText3 ; TextBeforeBattle dw FightingDojoAfterBattleText3 ; TextAfterBattle dw FightingDojoEndBattleText3 ; TextEndBattle dw FightingDojoEndBattleText3 ; TextEndBattle FightingDojoTrainerHeader3: ; 5ce37 (17:4e37) - db $5 ; flag's bit + dbEventFlagBit EVENT_BEAT_FIGHTING_DOJO_TRAINER_3 db ($3 << 4) ; trainer's view range - dw wd7b1 ; flag's byte + dwEventFlagAddress EVENT_BEAT_FIGHTING_DOJO_TRAINER_3 dw FightingDojoBattleText4 ; TextBeforeBattle dw FightingDojoAfterBattleText4 ; TextAfterBattle dw FightingDojoEndBattleText4 ; TextEndBattle @@ -135,10 +131,9 @@ FightingDojoTrainerHeader3: ; 5ce37 (17:4e37) FightingDojoText1: ; 5ce44 (17:4e44) TX_ASM - ld a, [wd7b1] - bit 0, a + CheckEvent EVENT_350 jp nz, .continue1 - bit 1, a + CheckEventReuseA EVENT_351 jp nz, .continue2 ld hl, FightingDojoText_5ce8e call PrintText @@ -257,8 +252,7 @@ FightingDojoAfterBattleText4: ; 5cf01 (17:4f01) FightingDojoText6: ; 5cf06 (17:4f06) ; Hitmonlee Poké Ball TX_ASM - ld a, [wd7b1] - and %11000000 + CheckEitherEventSet EVENT_356, EVENT_357 jr z, .GetMon ld hl, OtherHitmonText call PrintText @@ -282,9 +276,7 @@ FightingDojoText6: ; 5cf06 (17:4f06) ld a, HS_FIGHTING_DOJO_GIFT_1 ld [wcc4d], a predef HideObject - ld hl, wd7b1 - set 6, [hl] - set 0, [hl] + SetEvents EVENT_356, EVENT_350 .done jp TextScriptEnd @@ -295,8 +287,7 @@ WantHitmonleeText: ; 5cf49 (17:4f49) FightingDojoText7: ; 5cf4e (17:4f4e) ; Hitmonchan Poké Ball TX_ASM - ld a, [wd7b1] - and %11000000 + CheckEitherEventSet EVENT_356, EVENT_357 jr z, .GetMon ld hl, OtherHitmonText call PrintText @@ -315,9 +306,7 @@ FightingDojoText7: ; 5cf4e (17:4f4e) ld c,30 call GivePokemon jr nc, .done - ld hl, wd7b1 - set 7, [hl] - set 0, [hl] + SetEvents EVENT_357, EVENT_350 ; once Poké Ball is taken, hide sprite ld a, HS_FIGHTING_DOJO_GIFT_2 diff --git a/scripts/fuchsiacity.asm b/scripts/fuchsiacity.asm index 462e6084..b314b983 100755 --- a/scripts/fuchsiacity.asm +++ b/scripts/fuchsiacity.asm @@ -135,10 +135,9 @@ FuchsiaCityLaprasText: ; 19aef (6:5aef) FuchsiaCityText24: ; 19af4 (6:5af4) TX_ASM - ld a, [wd7f6] - bit 6, a + CheckEvent EVENT_57E jr nz, .asm_3b4e8 - bit 7, a + CheckEventReuseA EVENT_57F jr nz, .asm_667d5 ld hl, FuchsiaCityText_19b2a call PrintText diff --git a/scripts/fuchsiagym.asm b/scripts/fuchsiagym.asm index 843e7293..f13af011 100755 --- a/scripts/fuchsiagym.asm +++ b/scripts/fuchsiagym.asm @@ -46,16 +46,14 @@ FuchsiaGymScript3_75497: ; 75497 (1d:5497) ld a, $9 ld [hSpriteIndexOrTextID], a call DisplayTextID - ld hl, wd792 - set 1, [hl] + SetEvent EVENT_259 ld bc, (TM_06 << 8) | 1 call GiveItem jr nc, .BagFull ld a, $a ld [hSpriteIndexOrTextID], a call DisplayTextID - ld hl, wd792 - set 0, [hl] + SetEvent EVENT_258 jr .asm_754c0 .BagFull ld a, $b @@ -68,9 +66,7 @@ FuchsiaGymScript3_75497: ; 75497 (1d:5497) 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_6 jp FuchsiaGymScript_75477 @@ -89,54 +85,54 @@ FuchsiaGymTextPointers: ; 754d5 (1d:54d5) FuchsiaGymTrainerHeaders: ; 754eb (1d:54eb) FuchsiaGymTrainerHeader0: ; 754eb (1d:54eb) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_FUCHSIA_GYM_TRAINER_0 db ($2 << 4) ; trainer's view range - dw wd792 ; flag's byte + dwEventFlagAddress EVENT_BEAT_FUCHSIA_GYM_TRAINER_0 dw FuchsiaGymBattleText1 ; TextBeforeBattle dw FuchsiaGymAfterBattleText1 ; TextAfterBattle dw FuchsiaGymEndBattleText1 ; TextEndBattle dw FuchsiaGymEndBattleText1 ; TextEndBattle FuchsiaGymTrainerHeader2: ; 754f7 (1d:54f7) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_FUCHSIA_GYM_TRAINER_2 db ($2 << 4) ; trainer's view range - dw wd792 ; flag's byte + dwEventFlagAddress EVENT_BEAT_FUCHSIA_GYM_TRAINER_2 dw FuchsiaGymBattleText2 ; TextBeforeBattle dw FuchsiaGymAfterBattleText2 ; TextAfterBattle dw FuchsiaGymEndBattleText2 ; TextEndBattle dw FuchsiaGymEndBattleText2 ; TextEndBattle FuchsiaGymTrainerHeader3: ; 75503 (1d:5503) - db $4 ; flag's bit + dbEventFlagBit EVENT_BEAT_FUCHSIA_GYM_TRAINER_3 db ($4 << 4) ; trainer's view range - dw wd792 ; flag's byte + dwEventFlagAddress EVENT_BEAT_FUCHSIA_GYM_TRAINER_3 dw FuchsiaGymBattleText3 ; TextBeforeBattle dw FuchsiaGymAfterBattleText3 ; TextAfterBattle dw FuchsiaGymEndBattleText3 ; TextEndBattle dw FuchsiaGymEndBattleText3 ; TextEndBattle FuchsiaGymTrainerHeader4: ; 7550f (1d:550f) - db $5 ; flag's bit + dbEventFlagBit EVENT_BEAT_FUCHSIA_GYM_TRAINER_4 db ($2 << 4) ; trainer's view range - dw wd792 ; flag's byte + dwEventFlagAddress EVENT_BEAT_FUCHSIA_GYM_TRAINER_4 dw FuchsiaGymBattleText4 ; TextBeforeBattle dw FuchsiaGymAfterBattleText4 ; TextAfterBattle dw FuchsiaGymEndBattleText4 ; TextEndBattle dw FuchsiaGymEndBattleText4 ; TextEndBattle FuchsiaGymTrainerHeader5: ; 7551b (1d:551b) - db $6 ; flag's bit + dbEventFlagBit EVENT_BEAT_FUCHSIA_GYM_TRAINER_5 db ($2 << 4) ; trainer's view range - dw wd792 ; flag's byte + dwEventFlagAddress EVENT_BEAT_FUCHSIA_GYM_TRAINER_5 dw FuchsiaGymBattleText5 ; TextBeforeBattle dw FuchsiaGymAfterBattleText5 ; TextAfterBattle dw FuchsiaGymEndBattleText5 ; TextEndBattle dw FuchsiaGymEndBattleText5 ; TextEndBattle FuchsiaGymTrainerHeader6: ; 75527 (1d:5527) - db $7 ; flag's bit + dbEventFlagBit EVENT_BEAT_FUCHSIA_GYM_TRAINER_6 db ($2 << 4) ; trainer's view range - dw wd792 ; flag's byte + dwEventFlagAddress EVENT_BEAT_FUCHSIA_GYM_TRAINER_6 dw FuchsiaGymBattleText6 ; TextBeforeBattle dw FuchsiaGymAfterBattleText6 ; TextAfterBattle dw FuchsiaGymEndBattleText6 ; TextEndBattle @@ -146,10 +142,9 @@ FuchsiaGymTrainerHeader6: ; 75527 (1d:5527) FuchsiaGymText1: ; 75534 (1d:5534) TX_ASM - ld a, [wd792] - bit 1, a + CheckEvent EVENT_259 jr z, .asm_181b6 - bit 0, a + CheckEventReuseA EVENT_258 jr nz, .asm_adc3b call z, FuchsiaGymScript3_75497 call DisableWaitingAfterTextDisplay @@ -318,8 +313,7 @@ FuchsiaGymAfterBattleText6: ; 75635 (1d:5635) FuchsiaGymText8: ; 7563a (1d:563a) TX_ASM - ld a, [wd792] - bit 1, a + CheckEvent EVENT_259 ld hl, FuchsiaGymText_75653 jr nz, .asm_50671 ld hl, FuchsiaGymText_7564e diff --git a/scripts/fuchsiahouse2.asm b/scripts/fuchsiahouse2.asm index f758b49e..b755b3bc 100755 --- a/scripts/fuchsiahouse2.asm +++ b/scripts/fuchsiahouse2.asm @@ -10,14 +10,12 @@ FuchsiaHouse2TextPointers: ; 750b8 (1d:50b8) FuchsiaHouse2Text1: ; 750c2 (1d:50c2) TX_ASM - ld a, [wd78e] - bit 0, a + CheckEvent EVENT_238 jr nz, .subtract ld b,GOLD_TEETH call IsItemInBag jr nz, .asm_3f30f - ld a, [wd78e] - bit 1, a + CheckEvent EVENT_239 jr nz, .asm_60cba ld hl, WardenGibberishText1 call PrintText @@ -36,8 +34,7 @@ FuchsiaHouse2Text1: ; 750c2 (1d:50c2) ld a, GOLD_TEETH ld [$ffdb], a callba RemoveItemByID - ld hl, wd78e - set 1, [hl] + SetEvent EVENT_239 .asm_60cba ld hl, WardenThankYouText call PrintText @@ -46,8 +43,7 @@ FuchsiaHouse2Text1: ; 750c2 (1d:50c2) jr nc, .BagFull ld hl, ReceivedHM04Text call PrintText - ld hl, wd78e - set 0, [hl] + SetEvent EVENT_238 jr .asm_52039 .subtract ld hl, HM04ExplanationText diff --git a/scripts/gary.asm b/scripts/gary.asm index d01161da..ab991942 100755 --- a/scripts/gary.asm +++ b/scripts/gary.asm @@ -94,8 +94,7 @@ GaryScript3: ; 75fbb (1d:5fbb) cp $ff jp z, GaryScript_75f29 call UpdateSprites - ld hl, wd867 - set 1, [hl] + SetEvent EVENT_901 ld a, $f0 ld [wJoyIgnore], a ld a, $1 @@ -249,8 +248,7 @@ GaryTextPointers: ; 760d6 (1d:60d6) GaryText1: ; 760e0 (1d:60e0) TX_ASM - ld a, [wd867] - bit 1, a + CheckEvent EVENT_901 ld hl, GaryText_760f4 jr z, .asm_17e9f ld hl, GaryText_76103 diff --git a/scripts/halloffameroom.asm b/scripts/halloffameroom.asm index bc0d19e1..136061d8 100755 --- a/scripts/halloffameroom.asm +++ b/scripts/halloffameroom.asm @@ -39,12 +39,8 @@ HallofFameRoomScript2: ; 5a4bb (16:64bb) ld [hl], a ld [W_LANCECURSCRIPT], a ld [W_HALLOFFAMEROOMCURSCRIPT], a - ld hl, wd863 - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hl], a + ; Elite 4 events + ResetEventRange EVENT_8E0, EVENT_907, 1 xor a ld [W_HALLOFFAMEROOMCURSCRIPT], a ld a, PALLET_TOWN diff --git a/scripts/indigoplateaulobby.asm b/scripts/indigoplateaulobby.asm index 1b09a61d..8cde0854 100755 --- a/scripts/indigoplateaulobby.asm +++ b/scripts/indigoplateaulobby.asm @@ -5,18 +5,13 @@ IndigoPlateauLobbyScript: ; 19c5b (6:5c5b) bit 6, [hl] res 6, [hl] ret z - ld hl, wd869 - res 7, [hl] + ResetEvent EVENT_917 ld hl, wd734 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 EVENT_8E0, EVENT_8FF ret IndigoPlateauLobbyTextPointers: ; 19c7f (6:5c7f) diff --git a/scripts/lab3.asm b/scripts/lab3.asm index e91d36f3..0351038d 100755 --- a/scripts/lab3.asm +++ b/scripts/lab3.asm @@ -10,8 +10,7 @@ Lab3TextPointers: ; 75c8a (1d:5c8a) Lab3Text1: ; 75c94 (1d:5c94) TX_ASM - ld a, [wd7a1] - bit 7, a + CheckEvent EVENT_2D7 jr nz, .asm_e551a ld hl, TM35PreReceiveText call PrintText @@ -20,8 +19,7 @@ Lab3Text1: ; 75c94 (1d:5c94) jr nc, .BagFull ld hl, ReceivedTM35Text call PrintText - ld hl, wd7a1 - set 7, [hl] + SetEvent EVENT_2D7 jr .asm_eb896 .BagFull ld hl, TM35NoRoomText diff --git a/scripts/lab4.asm b/scripts/lab4.asm index 21fee0c6..44dcb2c3 100755 --- a/scripts/lab4.asm +++ b/scripts/lab4.asm @@ -49,8 +49,7 @@ FossilsList: ; 75d68 (1d:5d68) Lab4Text1: ; 75d6c (1d:5d6c) TX_ASM - ld a, [wd7a3] - bit 0, a + CheckEvent EVENT_2E0 jr nz, .asm_75d96 ld hl, Lab4Text_75dc6 call PrintText @@ -75,17 +74,13 @@ Lab4Text1: ; 75d6c (1d:5d6c) call LoadFossilItemAndMonNameBank1D ld hl, Lab4Text_75dd5 call PrintText - ld hl, wd7a3 - set 2, [hl] + SetEvent EVENT_2E2 ld a, [W_FOSSILMON] ld b, a ld c, 30 call GivePokemon jr nc, .asm_75d93 - ld hl, wd7a3 - res 0, [hl] - res 1, [hl] - res 2, [hl] + ResetEvents EVENT_2E0, EVENT_2E1, EVENT_2E2 jr .asm_75d93 Lab4Text_75dc6: ; 75dc6 (1d:5dc6) diff --git a/scripts/lance.asm b/scripts/lance.asm index 80780cd1..9d3a2f99 100755 --- a/scripts/lance.asm +++ b/scripts/lance.asm @@ -13,8 +13,7 @@ LanceScript_5a2c4: ; 5a2c4 (16:62c4) bit 5, [hl] res 5, [hl] ret z - ld a, [wd866] - bit 7, a + CheckEvent EVENT_8FF jr nz, .asm_5a2da ld a, $31 ld b, $32 @@ -52,8 +51,7 @@ LanceScript4: ; 5a304 (16:6304) ret LanceScript0: ; 5a305 (16:6305) - ld a, [wd866] - bit 6, a + CheckEvent EVENT_8FE ret nz ld hl, CoordsData_5a33e call ArePlayerCoordsInArray @@ -69,9 +67,7 @@ LanceScript0: ; 5a305 (16:6305) .asm_5a325 cp $5 jr z, LanceScript_5a35b - ld hl, wd866 - bit 7, [hl] - set 7, [hl] + CheckAndSetEvent EVENT_8FF ret nz ld hl, wd126 set 5, [hl] @@ -133,9 +129,9 @@ LanceTextPointers: ; 5a395 (16:6395) LanceTrainerHeaders: ; 5a397 (16:6397) LanceTrainerHeader0: ; 5a397 (16:6397) - db $1 ; flag's bit + dbEventFlagBit EVENT_BEAT_LANCES_ROOM_TRAINER_0 db ($0 << 4) ; trainer's view range - dw wd866 ; flag's byte + dwEventFlagAddress EVENT_BEAT_LANCES_ROOM_TRAINER_0 dw LanceBeforeBattleText ; TextBeforeBattle dw LanceAfterBattleText ; TextAfterBattle dw LanceEndBattleText ; TextEndBattle @@ -160,6 +156,5 @@ LanceEndBattleText: ; 5a3b3 (16:63b3) LanceAfterBattleText: ; 5a3b8 (16:63b8) TX_FAR _LanceAfterBattleText TX_ASM - ld hl, wd866 - set 6, [hl] + SetEvent EVENT_8FE jp TextScriptEnd diff --git a/scripts/lavenderhouse1.asm b/scripts/lavenderhouse1.asm index 9c812c71..21e67013 100755 --- a/scripts/lavenderhouse1.asm +++ b/scripts/lavenderhouse1.asm @@ -12,8 +12,7 @@ LavenderHouse1TextPointers: ; 1d8ac (7:58ac) LavenderHouse1Text1: ; 1d8b8 (7:58b8) TX_ASM - ld a, [wd7e0] - bit 7, a + CheckEvent EVENT_4CF jr nz, .asm_72e5d ld hl, LavenderHouse1Text_1d8d1 call PrintText @@ -34,8 +33,7 @@ LavenderHouse1Text_1d8d6: ; 1d8d6 (7:58d6) LavenderHouse1Text2: ; 1d8db (7:58db) TX_ASM - ld a, [wd7e0] - bit 7, a + CheckEvent EVENT_4CF jr nz, .asm_06470 ld hl, LavenderHouse1Text_1d8f4 call PrintText @@ -70,8 +68,7 @@ LavenderHouse1Text4: ; 1d90b (7:590b) LavenderHouse1Text5: ; 1d918 (7:5918) TX_ASM - ld a, [wd76c] - bit 0, a + CheckEvent EVENT_128 jr nz, .asm_15ac2 ld hl, LavenderHouse1Text_1d94c call PrintText @@ -80,8 +77,7 @@ LavenderHouse1Text5: ; 1d918 (7:5918) jr nc, .BagFull ld hl, ReceivedFluteText call PrintText - ld hl, wd76c - set 0, [hl] + SetEvent EVENT_128 jr .asm_da749 .BagFull ld hl, FluteNoRoomText diff --git a/scripts/lavenderhouse2.asm b/scripts/lavenderhouse2.asm index 4dc5c7b7..4c3ad333 100755 --- a/scripts/lavenderhouse2.asm +++ b/scripts/lavenderhouse2.asm @@ -15,8 +15,7 @@ LavenderHouse2Text1: ; 1d9b6 (7:59b6) LavenderHouse2Text2: ; 1d9c3 (7:59c3) TX_ASM - ld a, [wd7e0] - bit 7, a + CheckEvent EVENT_4CF jr nz, .asm_65711 ld hl, LavenderHouse2Text_1d9dc call PrintText diff --git a/scripts/lavendermart.asm b/scripts/lavendermart.asm index 53967cf2..ababf70d 100755 --- a/scripts/lavendermart.asm +++ b/scripts/lavendermart.asm @@ -12,8 +12,7 @@ LavenderMartText2: ; 5c935 (17:4935) LavenderMartText3: ; 5c93a (17:493a) TX_ASM - ld a, [wd7e0] - bit 7, a + CheckEvent EVENT_4CF jr nz, .asm_c88d4 ld hl, LavenderMart_5c953 call PrintText diff --git a/scripts/lorelei.asm b/scripts/lorelei.asm index eb6c3e7d..a8e0cb5b 100755 --- a/scripts/lorelei.asm +++ b/scripts/lorelei.asm @@ -15,8 +15,7 @@ LoreleiScript_76191: ; 76191 (1d:6191) ret z ld hl, wd734 set 1, [hl] - ld a, [wd863] - bit 1, a + CheckEvent EVENT_BEAT_LORELEIS_ROOM_TRAINER_0 jr z, .asm_761a9 ld a, $5 jr .asm_761ab @@ -71,9 +70,7 @@ LoreleiScript0: ; 761e2 (1d:61e2) ld a, [wCoordIndex] cp $3 jr c, .asm_76206 - ld hl, wd863 - bit 6, [hl] - set 6, [hl] + CheckAndSetEvent EVENT_8E6 jr z, LoreleiScript_761c6 .asm_76206 ld a, $2 @@ -121,9 +118,9 @@ LoreleiTextPointers: ; 76251 (1d:6251) LoreleiTrainerHeaders: ; 76255 (1d:6255) LoreleiTrainerHeader0: ; 76255 (1d:6255) - db $1 ; flag's bit + dbEventFlagBit EVENT_BEAT_LORELEIS_ROOM_TRAINER_0 db ($0 << 4) ; trainer's view range - dw wd863 ; flag's byte + dwEventFlagAddress EVENT_BEAT_LORELEIS_ROOM_TRAINER_0 dw LoreleiBeforeBattleText ; TextBeforeBattle dw LoreleiAfterBattleText ; TextAfterBattle dw LoreleiEndBattleText ; TextEndBattle diff --git a/scripts/mansion1.asm b/scripts/mansion1.asm index a9e2616a..ff8707e0 100755 --- a/scripts/mansion1.asm +++ b/scripts/mansion1.asm @@ -13,8 +13,7 @@ Mansion1Subscript1: ; 442c5 (11:42c5) bit 5, [hl] res 5, [hl] ret z - ld a, [wd796] - bit 0, a + CheckEvent EVENT_278 jr nz, .asm_442ec ld bc, $060c call Mansion1Script_4430b @@ -69,9 +68,9 @@ Mansion1TextPointers: ; 4432c (11:432c) Mansion1TrainerHeaders: ; 44334 (11:4334) Mansion1TrainerHeader0: ; 44334 (11:4334) - db $1 ; flag's bit + dbEventFlagBit EVENT_BEAT_MANSION_1_TRAINER_0 db ($3 << 4) ; trainer's view range - dw wd798 ; flag's byte + dwEventFlagAddress EVENT_BEAT_MANSION_1_TRAINER_0 dw Mansion1BattleText2 ; TextBeforeBattle dw Mansion1AfterBattleText2 ; TextAfterBattle dw Mansion1EndBattleText2 ; TextEndBattle @@ -113,11 +112,9 @@ Mansion1Text4: ; 4435a (11:435a) call PrintText ld a, SFX_GO_INSIDE call PlaySound - ld hl, wd796 - bit 0, [hl] - set 0, [hl] + CheckAndSetEvent EVENT_278 jr z, .asm_44392 - res 0, [hl] + ResetEventReuseHL EVENT_278 jr .asm_44392 .asm_4438c ld hl, MansionSwitchNotPressedText diff --git a/scripts/mansion2.asm b/scripts/mansion2.asm index 1cacae02..6e1a26c0 100755 --- a/scripts/mansion2.asm +++ b/scripts/mansion2.asm @@ -13,8 +13,7 @@ Mansion2Script_51fee: ; 51fee (14:5fee) bit 5, [hl] res 5, [hl] ret z - ld a, [wd796] - bit 0, a + CheckEvent EVENT_278 jr nz, .asm_52016 ld a, $e ld bc, $204 @@ -66,9 +65,9 @@ Mansion2TextPointers: ; 5204d (14:604d) Mansion2TrainerHeaders: ; 52057 (14:6057) Mansion2TrainerHeader0: ; 52057 (14:6057) - db $1 ; flag's bit + dbEventFlagBit EVENT_BEAT_MANSION_2_TRAINER_0 db ($0 << 4) ; trainer's view range - dw wd847 ; flag's byte + dwEventFlagAddress EVENT_BEAT_MANSION_2_TRAINER_0 dw Mansion2BattleText1 ; TextBeforeBattle dw Mansion2AfterBattleText1 ; TextAfterBattle dw Mansion2EndBattleText1 ; TextEndBattle @@ -119,11 +118,9 @@ Mansion2Text5: ; 52087 (14:6087) call PrintText ld a, SFX_GO_INSIDE call PlaySound - ld hl, wd796 - bit 0, [hl] - set 0, [hl] + CheckAndSetEvent EVENT_278 jr z, .asm_520bf - res 0, [hl] + ResetEventReuseHL EVENT_278 jr .asm_520bf .asm_520b9 ld hl, Mansion2Text_520cc diff --git a/scripts/mansion3.asm b/scripts/mansion3.asm index c22bf761..0aec82b3 100755 --- a/scripts/mansion3.asm +++ b/scripts/mansion3.asm @@ -13,8 +13,7 @@ Mansion3Script_52204: ; 52204 (14:6204) bit 5, [hl] res 5, [hl] ret z - ld a, [wd796] - bit 0, a + CheckEvent EVENT_278 jr nz, .asm_52224 ld a, $e ld bc, $207 @@ -93,18 +92,18 @@ Mansion3TextPointers: ; 5228a (14:628a) Mansion3TrainerHeaders: ; 52296 (14:6296) Mansion3TrainerHeader0: ; 52296 (14:6296) - db $1 ; flag's bit + dbEventFlagBit EVENT_BEAT_MANSION_3_TRAINER_0 db ($0 << 4) ; trainer's view range - dw wd849 ; flag's byte + dwEventFlagAddress EVENT_BEAT_MANSION_3_TRAINER_0 dw Mansion3BattleText1 ; TextBeforeBattle dw Mansion3AfterBattleText1 ; TextAfterBattle dw Mansion3EndBattleText1 ; TextEndBattle dw Mansion3EndBattleText1 ; TextEndBattle Mansion3TrainerHeader2: ; 522a2 (14:62a2) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_MANSION_3_TRAINER_2 db ($2 << 4) ; trainer's view range - dw wd849 ; flag's byte + dwEventFlagAddress EVENT_BEAT_MANSION_3_TRAINER_2 dw Mansion3BattleText2 ; TextBeforeBattle dw Mansion3AfterBattleText2 ; TextAfterBattle dw Mansion3EndBattleText2 ; TextEndBattle diff --git a/scripts/mansion4.asm b/scripts/mansion4.asm index 68e74fd5..98c55a76 100755 --- a/scripts/mansion4.asm +++ b/scripts/mansion4.asm @@ -13,8 +13,7 @@ Mansion4Script_523cf: ; 523cf (14:63cf) bit 5, [hl] res 5, [hl] ret z - ld a, [wd796] - bit 0, a + CheckEvent EVENT_278 jr nz, .asm_523ff ld a, $e ld bc, $80d @@ -72,18 +71,18 @@ Mansion4TextPointers: ; 52436 (14:6436) Mansion4TrainerHeaders: ; 52448 (14:6448) Mansion4TrainerHeader0: ; 52448 (14:6448) - db $1 ; flag's bit + dbEventFlagBit EVENT_BEAT_MANSION_4_TRAINER_0 db ($0 << 4) ; trainer's view range - dw wd84b ; flag's byte + dwEventFlagAddress EVENT_BEAT_MANSION_4_TRAINER_0 dw Mansion4BattleText1 ; TextBeforeBattle dw Mansion4AfterBattleText1 ; TextAfterBattle dw Mansion4EndBattleText1 ; TextEndBattle dw Mansion4EndBattleText1 ; TextEndBattle Mansion4TrainerHeader2: ; 52454 (14:6454) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_MANSION_4_TRAINER_2 db ($3 << 4) ; trainer's view range - dw wd84b ; flag's byte + dwEventFlagAddress EVENT_BEAT_MANSION_4_TRAINER_2 dw Mansion4BattleText2 ; TextBeforeBattle dw Mansion4AfterBattleText2 ; TextAfterBattle dw Mansion4EndBattleText2 ; TextEndBattle diff --git a/scripts/mtmoon1.asm b/scripts/mtmoon1.asm index 868b70d1..4a5eeae3 100755 --- a/scripts/mtmoon1.asm +++ b/scripts/mtmoon1.asm @@ -30,63 +30,63 @@ MtMoon1TextPointers: ; 499e1 (12:59e1) MtMoon1TrainerHeaders: ; 499fd (12:59fd) MtMoon1TrainerHeader0: ; 499fd (12:59fd) - db $1 ; flag's bit + dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_0 db ($2 << 4) ; trainer's view range - dw wd7f5 ; flag's byte + dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_0 dw MtMoon1BattleText2 ; TextBeforeBattle dw MtMoon1AfterBattleText2 ; TextAfterBattle dw MtMoon1EndBattleText2 ; TextEndBattle dw MtMoon1EndBattleText2 ; TextEndBattle MtMoon1TrainerHeader2: ; 49a09 (12:5a09) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_2 db ($3 << 4) ; trainer's view range - dw wd7f5 ; flag's byte + dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_2 dw MtMoon1BattleText3 ; TextBeforeBattle dw MtMoon1AfterBattleText3 ; TextAfterBattle dw MtMoon1EndBattleText3 ; TextEndBattle dw MtMoon1EndBattleText3 ; TextEndBattle MtMoon1TrainerHeader3: ; 49a15 (12:5a15) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_3 db ($3 << 4) ; trainer's view range - dw wd7f5 ; flag's byte + dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_3 dw MtMoon1BattleText4 ; TextBeforeBattle dw MtMoon1AfterBattleText4 ; TextAfterBattle dw MtMoon1EndBattleText4 ; TextEndBattle dw MtMoon1EndBattleText4 ; TextEndBattle MtMoon1TrainerHeader4: ; 49a21 (12:5a21) - db $4 ; flag's bit + dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_4 db ($3 << 4) ; trainer's view range - dw wd7f5 ; flag's byte + dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_4 dw MtMoon1BattleText5 ; TextBeforeBattle dw MtMoon1AfterBattleText5 ; TextAfterBattle dw MtMoon1EndBattleText5 ; TextEndBattle dw MtMoon1EndBattleText5 ; TextEndBattle MtMoon1TrainerHeader5: ; 49a2d (12:5a2d) - db $5 ; flag's bit + dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_5 db ($3 << 4) ; trainer's view range - dw wd7f5 ; flag's byte + dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_5 dw MtMoon1BattleText6 ; TextBeforeBattle dw MtMoon1AfterBattleText6 ; TextAfterBattle dw MtMoon1EndBattleText6 ; TextEndBattle dw MtMoon1EndBattleText6 ; TextEndBattle MtMoon1TrainerHeader6: ; 49a39 (12:5a39) - db $6 ; flag's bit + dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_6 db ($3 << 4) ; trainer's view range - dw wd7f5 ; flag's byte + dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_6 dw MtMoon1BattleText7 ; TextBeforeBattle dw MtMoon1AfterBattleText7 ; TextAfterBattle dw MtMoon1EndBattleText7 ; TextEndBattle dw MtMoon1EndBattleText7 ; TextEndBattle MtMoon1TrainerHeader7: ; 49a45 (12:5a45) - db $7 ; flag's bit + dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_7 db ($3 << 4) ; trainer's view range - dw wd7f5 ; flag's byte + dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_7 dw MtMoon1BattleText8 ; TextBeforeBattle dw MtMoon1AfterBattleText8 ; TextAfterBattle dw MtMoon1EndBattleText8 ; TextEndBattle diff --git a/scripts/mtmoon3.asm b/scripts/mtmoon3.asm index ee163738..dfa92260 100755 --- a/scripts/mtmoon3.asm +++ b/scripts/mtmoon3.asm @@ -5,8 +5,7 @@ MtMoon3Script: ; 49d0b (12:5d0b) ld a, [W_MTMOON3CURSCRIPT] call ExecuteCurMapScriptInTable ld [W_MTMOON3CURSCRIPT], a - ld a, [wd7f6] - bit 1, a + CheckEvent EVENT_579 ret z ld hl, CoordsData_49d37 call ArePlayerCoordsInArray @@ -54,8 +53,7 @@ MtMoon3ScriptPointers: ; 49d63 (12:5d63) dw MtMoon3Script5 MtMoon3Script0: ; 49d6f (12:5d6f) - ld a, [wd7f6] - bit 1, a + CheckEvent EVENT_579 jp nz, MtMoon3Script_49d91 ld a, [W_YCOORD] cp $8 @@ -70,8 +68,7 @@ MtMoon3Script0: ; 49d6f (12:5d6f) jp DisplayTextID MtMoon3Script_49d91: ; 49d91 (12:5d91) - ld a, [wd7f6] - and $c0 + CheckEitherEventSet EVENT_57E, EVENT_57F jp z, CheckFightingMapTrainers ret @@ -81,8 +78,7 @@ MtMoon3Script3: ; 49d9a (12:5d9a) jp z, MtMoon3Script_49d58 call UpdateSprites call Delay3 - ld hl, wd7f6 - set 1, [hl] + SetEvent EVENT_579 xor a ld [wJoyIgnore], a ld a, $0 @@ -142,8 +138,7 @@ MtMoon3Script5: ; 49dfb (12:5dfb) ld a, $a ld [hSpriteIndexOrTextID], a call DisplayTextID - ld a, [wd7f6] - bit 6, a + CheckEvent EVENT_57E jr z, .asm_49e1d ld a, HS_MT_MOON_3_FOSSIL_2 jr .asm_49e1f @@ -173,36 +168,36 @@ MtMoon3TextPointers: ; 49e34 (12:5e34) MtMoon3TrainerHeaders: ; 49e48 (12:5e48) MtMoon3TrainerHeader0: ; 49e48 (12:5e48) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_MT_MOON_3_TRAINER_0 db ($4 << 4) ; trainer's view range - dw wd7f6 ; flag's byte + dwEventFlagAddress EVENT_BEAT_MT_MOON_3_TRAINER_0 dw MtMoon3BattleText2 ; TextBeforeBattle dw MtMoon3AfterBattleText2 ; TextAfterBattle dw MtMoon3EndBattleText2 ; TextEndBattle dw MtMoon3EndBattleText2 ; TextEndBattle MtMoon3TrainerHeader2: ; 49e54 (12:5e54) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_MT_MOON_3_TRAINER_2 db ($4 << 4) ; trainer's view range - dw wd7f6 ; flag's byte + dwEventFlagAddress EVENT_BEAT_MT_MOON_3_TRAINER_2 dw MtMoon3BattleText3 ; TextBeforeBattle dw MtMoon3AfterBattleText3 ; TextAfterBattle dw MtMoon3EndBattleText3 ; TextEndBattle dw MtMoon3EndBattleText3 ; TextEndBattle MtMoon3TrainerHeader3: ; 49e60 (12:5e60) - db $4 ; flag's bit + dbEventFlagBit EVENT_BEAT_MT_MOON_3_TRAINER_3 db ($4 << 4) ; trainer's view range - dw wd7f6 ; flag's byte + dwEventFlagAddress EVENT_BEAT_MT_MOON_3_TRAINER_3 dw MtMoon3BattleText4 ; TextBeforeBattle dw MtMoon3AfterBattleText4 ; TextAfterBattle dw MtMoon3EndBattleText4 ; TextEndBattle dw MtMoon3EndBattleText4 ; TextEndBattle MtMoon3TrainerHeader4: ; 49e6c (12:5e6c) - db $5 ; flag's bit + dbEventFlagBit EVENT_BEAT_MT_MOON_3_TRAINER_4 db ($4 << 4) ; trainer's view range - dw wd7f6 ; flag's byte + dwEventFlagAddress EVENT_BEAT_MT_MOON_3_TRAINER_4 dw MtMoon3BattleText5 ; TextBeforeBattle dw MtMoon3AfterBattleText5 ; TextAfterBattle dw MtMoon3EndBattleText5 ; TextEndBattle @@ -212,8 +207,7 @@ MtMoon3TrainerHeader4: ; 49e6c (12:5e6c) MtMoon3Text1: ; 49e79 (12:5e79) TX_ASM - ld a, [wd7f6] - bit 1, a + CheckEvent EVENT_579 jr z, .asm_49e8d and $c0 jr nz, .asm_49eb8 @@ -284,8 +278,7 @@ MtMoon3Text6: ; 49ee9 (12:5ee9) ld a, HS_MT_MOON_3_FOSSIL_1 ld [wcc4d], a predef HideObject - ld hl, wd7f6 - set 6, [hl] + SetEvent EVENT_57E ld a, $4 ld [W_MTMOON3CURSCRIPT], a ld [W_CURMAPSCRIPT], a @@ -313,8 +306,7 @@ MtMoon3Text7: ; 49f29 (12:5f29) ld a, HS_MT_MOON_3_FOSSIL_2 ld [wcc4d], a predef HideObject - ld hl, wd7f6 - set 7, [hl] + SetEvent EVENT_57F ld a, $4 ld [W_MTMOON3CURSCRIPT], a ld [W_CURMAPSCRIPT], a diff --git a/scripts/mtmoonpokecenter.asm b/scripts/mtmoonpokecenter.asm index d4996b4b..63cc06e4 100755 --- a/scripts/mtmoonpokecenter.asm +++ b/scripts/mtmoonpokecenter.asm @@ -23,8 +23,7 @@ MtMoonPokecenterText3: ; 492e7 (12:52e7) MtMoonPokecenterText4: ; 492ec (12:52ec) TX_ASM - ld a, [wd7c6] - add a + CheckEvent EVENT_BOUGHT_MAGIKARP, 1 jp c, .alreadyBoughtMagikarp ld hl, MtMoonPokecenterText_4935c call PrintText @@ -59,8 +58,7 @@ MtMoonPokecenterText4: ; 492ec (12:52ec) ld a, MONEY_BOX ld [wTextBoxID], a call DisplayTextBoxID - ld hl, wd7c6 - set 7, [hl] + SetEvent EVENT_BOUGHT_MAGIKARP jr .done .choseNo ld hl, MtMoonPokecenterText_49361 diff --git a/scripts/museum1f.asm b/scripts/museum1f.asm index 32e489ca..2acf1af5 100755 --- a/scripts/museum1f.asm +++ b/scripts/museum1f.asm @@ -54,15 +54,13 @@ Museum1FText1: ; 5c135 (17:4135) cp $c jp z, Museum1FScript_5c1f9 .asm_d49e7 - ld a, [wd754] - bit 0, a + CheckEvent EVENT_068 jr nz, .asm_31a16 ld hl, Museum1FText_5c23d call PrintText jp Museum1FScriptEnd .asm_b8709 - ld a, [wd754] - bit 0, a + CheckEvent EVENT_068 jr z, .asm_3ded4 .asm_31a16 ld hl, Museum1FText_5c242 @@ -93,8 +91,7 @@ Museum1FText1: ; 5c135 (17:4135) .asm_0f3e3 ld hl, Museum1FText_5c224 call PrintText - ld hl, wd754 - set 0, [hl] + SetEvent EVENT_068 xor a ld [wPriceTemp], a ld [wPriceTemp + 1], a @@ -190,16 +187,14 @@ Museum1FText_5c251: ; 5c251 (17:4251) Museum1FText3: ; 5c256 (17:4256) TX_ASM - ld a, [wd754] - bit 1, a + CheckEvent EVENT_069 jr nz, .asm_5c285 ld hl, Museum1FText_5c28e call PrintText ld bc, (OLD_AMBER << 8) | 1 call GiveItem jr nc, .BagFull - ld hl, wd754 - set 1, [hl] + SetEvent EVENT_069 ld a, HS_OLD_AMBER ld [wcc4d], a predef HideObject diff --git a/scripts/oakslab.asm b/scripts/oakslab.asm index ae6da40d..6f51aca0 100755 --- a/scripts/oakslab.asm +++ b/scripts/oakslab.asm @@ -1,6 +1,5 @@ OaksLabScript: ; 1cb0e (7:4b0e) - ld a, [wd74b] - bit 6, a + CheckEvent EVENT_026 call nz, OaksLabScript_1d076 ld a, $1 ld [wAutoTextBoxDrawingControl], a @@ -32,8 +31,7 @@ OaksLabScriptPointers: ; 1cb28 (7:4b28) dw OaksLabScript18 OaksLabScript0: ; 1cb4e (7:4b4e) - ld a, [wd74b] - bit 7, a + CheckEvent EVENT_027 ret z ld a, [wNPCMovementScriptFunctionNum] and a @@ -110,10 +108,8 @@ OaksLabScript4: ; 1cbd2 (7:4bd2) ld a, [wSimulatedJoypadStatesIndex] and a ret nz - ld hl, wd747 - set 0, [hl] - ld hl, wd74b - set 0, [hl] + SetEvent EVENT_STOPPED_FROM_LEAVING_PALLET + SetEvent EVENT_FOLLOWED_OAK_INSIDE_LAB ld a, $1 ld [H_SPRITEINDEX], a ld a, SPRITE_FACING_UP @@ -146,8 +142,7 @@ OaksLabScript5: ; 1cbfd (7:4bfd) ld a, $14 ld [hSpriteIndexOrTextID], a call DisplayTextID - ld hl, wd74b - set 1, [hl] + SetEvent EVENT_OAK_ASKED_TO_CHOOSE_MON xor a ld [wJoyIgnore], a @@ -336,8 +331,7 @@ OaksLabScript9: ; 1cd00 (7:4d00) ld a, $e ld [hSpriteIndexOrTextID], a call DisplayTextID - ld hl, wd74b - set 2, [hl] + SetEvent EVENT_GOT_STARTER xor a ld [wJoyIgnore], a @@ -435,8 +429,7 @@ OaksLabScript12: ; 1ce03 (7:4e03) 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 @@ -603,10 +596,8 @@ OaksLabScript16: ; 1cf12 (7:4f12) ld a, $1b ld [hSpriteIndexOrTextID], a call DisplayTextID - ld hl, wd74b - set 5, [hl] - ld hl, wd74e - set 0, [hl] + SetEvent EVENT_GOT_POKEDEX + SetEvent EVENT_038 ld a, HS_LYING_OLD_MAN ld [wcc4d], a predef HideObject @@ -641,10 +632,9 @@ OaksLabScript17: ; 1cfd4 (7:4fd4) ld a, HS_OAKS_LAB_RIVAL ld [wcc4d], a predef HideObject - ld hl, wd7eb - set 0, [hl] - res 1, [hl] - set 7, [hl] + SetEvent EVENT_520 + ResetEventReuseHL EVENT_521 + SetEventReuseHL EVENT_527 ld a, HS_ROUTE_22_RIVAL_1 ld [wcc4d], a predef ShowObject @@ -772,8 +762,7 @@ OaksLabTextPointers: ; 1d082 (7:5082) OaksLabText28: ; 1d0ce (7:50ce) OaksLabText1: ; 1d0ce (7:50ce) TX_ASM - ld a, [wd74b] - bit 0, a + CheckEvent EVENT_FOLLOWED_OAK_INSIDE_LAB jr nz, .asm_1d0de ld hl, OaksLabGaryText1 call PrintText @@ -839,10 +828,9 @@ OaksLabScript_1d133: ; 1d133 (7:5133) 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 + CheckEventReuseA EVENT_OAK_ASKED_TO_CHOOSE_MON jr nz, OaksLabScript_1d157 ld hl, OaksLabText39 call PrintText @@ -976,8 +964,7 @@ OaksLabLastMonText: ; 1d243 (7:5243) OaksLabText32: ; 1d248 (7:5248) OaksLabText5: ; 1d248 (7:5248) TX_ASM - ld a, [wd747] - bit 6, a + CheckEvent EVENT_006 jr nz, .asm_1d266 ld hl, wPokedexOwned ld b, wPokedexOwnedEnd - wPokedexOwned @@ -985,8 +972,7 @@ OaksLabText5: ; 1d248 (7:5248) ld a, [wd11e] cp $2 jr c, .asm_1d279 - ld a, [wd74b] - bit 5, a + CheckEvent EVENT_GOT_POKEDEX jr z, .asm_1d279 .asm_1d266 ld hl, OaksLabText_1d31d @@ -999,13 +985,11 @@ OaksLabText5: ; 1d248 (7:5248) ld b,POKE_BALL call IsItemInBag jr nz, .asm_1d2e7 - ld a, [wd7eb] - bit 5, a + CheckEvent EVENT_525 jr nz, .asm_1d2d0 - ld a, [wd74b] - bit 5, a + CheckEvent EVENT_GOT_POKEDEX jr nz, .asm_1d2c8 - bit 3, a + CheckEventReuseA EVENT_BATTLED_RIVAL_IN_OAKS_LAB jr nz, .asm_1d2a9 ld a, [wd72e] bit 3, a @@ -1036,9 +1020,7 @@ OaksLabText5: ; 1d248 (7:5248) call PrintText jr .asm_1d2ed .asm_1d2d0 - ld hl, wd74b - bit 4, [hl] - set 4, [hl] + CheckAndSetEvent EVENT_GOT_POKEBALLS_FROM_OAK jr nz, .asm_1d2e7 ld bc, (POKE_BALL << 8) | 5 call GiveItem diff --git a/scripts/pallettown.asm b/scripts/pallettown.asm index b463c4d6..15956e7b 100755 --- a/scripts/pallettown.asm +++ b/scripts/pallettown.asm @@ -1,9 +1,7 @@ PalletTownScript: ; 18e5b (6:4e5b) - ld a,[wd74b] - bit 4,a + CheckEvent EVENT_GOT_POKEBALLS_FROM_OAK jr z,.next - ld hl,wd747 - set 6,[hl] + SetEvent EVENT_006 .next call EnableAutoTextBoxDrawing ld hl,PalletTownScriptPointers @@ -20,8 +18,7 @@ PalletTownScriptPointers: ; 18e73 (6:4e73) dw PalletTownScript6 PalletTownScript0: ; 18e81 (6:4e81) - ld a,[wd747] - bit 0,a + CheckEvent EVENT_STOPPED_FROM_LEAVING_PALLET ret nz ld a,[W_YCOORD] cp 1 ; is player near north exit? @@ -38,8 +35,7 @@ PalletTownScript0: ; 18e81 (6:4e81) call PlayMusic ld a,$FC ld [wJoyIgnore],a - ld hl,wd74b - set 7,[hl] + SetEvent EVENT_027 ; trigger the next script ld a,1 @@ -134,14 +130,12 @@ PalletTownScript4: ; 18f4b (6:4f4b) ret PalletTownScript5: ; 18f56 (6:4f56) - ld a,[wd74a] - bit 2,a + CheckEvent EVENT_01A jr nz,.next and 3 cp 3 jr nz,.next - ld hl,wd74a - set 2,[hl] + SetEvent EVENT_01A ld a,HS_DAISY_SITTING ld [wcc4d],a predef HideObject @@ -149,11 +143,9 @@ PalletTownScript5: ; 18f56 (6:4f56) ld [wcc4d],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] + SetEvent EVENT_026 PalletTownScript6: ; 18f87 (6:4f87) ret diff --git a/scripts/pewtercity.asm b/scripts/pewtercity.asm index 94d23caa..2fce86df 100755 --- a/scripts/pewtercity.asm +++ b/scripts/pewtercity.asm @@ -16,14 +16,12 @@ PewterCityScriptPointers: ; 19243 (6:5243) PewterCityScript0: ; 19251 (6:5251) xor a ld [W_MUSEUM1FCURSCRIPT], a - ld hl, wd754 - res 0, [hl] + ResetEvent EVENT_068 call PewterCityScript_1925e ret PewterCityScript_1925e: ; 1925e (6:525e) - ld a, [wd755] - bit 7, a + CheckEvent EVENT_077 ret nz ld hl, CoordsData_19277 call ArePlayerCoordsInArray diff --git a/scripts/pewtergym.asm b/scripts/pewtergym.asm index 9f1493d4..e2798b24 100755 --- a/scripts/pewtergym.asm +++ b/scripts/pewtergym.asm @@ -46,16 +46,14 @@ PewterGymScript_5c3df: ; 5c3df (17:43df) ld a, $4 ld [hSpriteIndexOrTextID], a call DisplayTextID - ld hl, wd755 - set 7, [hl] + SetEvent EVENT_077 ld bc, (TM_34 << 8) | 1 call GiveItem jr nc, .BagFull ld a, $5 ld [hSpriteIndexOrTextID], a call DisplayTextID - ld hl, wd755 - set 6, [hl] + SetEvent EVENT_076 jr .asm_5c408 .BagFull ld a, $6 @@ -74,13 +72,10 @@ PewterGymScript_5c3df: ; 5c3df (17:43df) ld [wcc4d], a predef HideObject - ld hl, wd7eb - res 0, [hl] - res 7, [hl] + ResetEvents EVENT_520, EVENT_527 ; deactivate gym trainers - ld hl, wd755 - set 2, [hl] + SetEvent EVENT_BEAT_PEWTER_GYM_TRAINER_0 jp PewterGymScript_5c3bf @@ -94,9 +89,9 @@ PewterGymTextPointers: ; 5c435 (17:4435) PewterGymTrainerHeaders: ; 5c441 (17:4441) PewterGymTrainerHeader0: ; 5c441 (17:4441) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_PEWTER_GYM_TRAINER_0 db ($5 << 4) ; trainer's view range - dw wd755 ; flag's byte + dwEventFlagAddress EVENT_BEAT_PEWTER_GYM_TRAINER_0 dw PewterGymBattleText1 ; TextBeforeBattle dw PewterGymAfterBattleText1 ; TextAfterBattle dw PewterGymEndBattleText1 ; TextEndBattle @@ -106,10 +101,9 @@ PewterGymTrainerHeader0: ; 5c441 (17:4441) PewterGymText1: ; 5c44e (17:444e) TX_ASM - ld a, [wd755] - bit 7, a + CheckEvent EVENT_077 jr z, .asm_5c46a - bit 6, a + CheckEventReuseA EVENT_076 jr nz, .asm_5c462 call z, PewterGymScript_5c3df call DisableWaitingAfterTextDisplay diff --git a/scripts/pokemontower2.asm b/scripts/pokemontower2.asm index 6a54d549..a9619170 100755 --- a/scripts/pokemontower2.asm +++ b/scripts/pokemontower2.asm @@ -17,8 +17,7 @@ PokemonTower2ScriptPointers: ; 60509 (18:4509) dw PokemonTower2Script2 PokemonTower2Script0: ; 6050f (18:450f) - ld a, [wd764] - bit 7, a + CheckEvent EVENT_0EF ret nz ld hl, CoordsData_6055e call ArePlayerCoordsInArray @@ -29,15 +28,13 @@ PokemonTower2Script0: ; 6050f (18:450f) ld c, BANK(Music_MeetRival) ld a, MUSIC_MEET_RIVAL call PlayMusic - ld hl, wd764 - res 6, [hl] + ResetEvent EVENT_0EE ld a, [wCoordIndex] cp $1 ld a, PLAYER_DIR_UP ld b, SPRITE_FACING_DOWN jr nz, .asm_60544 - ld hl, wd764 - set 6, [hl] + SetEvent EVENT_0EE ld a, PLAYER_DIR_LEFT ld b, SPRITE_FACING_RIGHT .asm_60544 @@ -66,14 +63,12 @@ PokemonTower2Script1: ; 60563 (18:4563) jp z, PokemonTower2Script_604fe ld a, $f0 ld [wJoyIgnore], a - ld hl, wd764 - set 7, [hl] + SetEvent EVENT_0EF ld a, $1 ld [hSpriteIndexOrTextID], a call DisplayTextID ld de, MovementData_605b2 - ld a, [wd764] - bit 6, a + CheckEvent EVENT_0EE jr nz, .asm_60589 ld de, MovementData_605a9 .asm_60589 @@ -132,8 +127,7 @@ PokemonTower2TextPointers: ; 605db (18:45db) PokemonTower2Text1: ; 605df (18:45df) TX_ASM - ld a, [wd764] - bit 7, a + CheckEvent EVENT_0EF jr z, .asm_16f24 ld hl, PokemonTower2Text_6063c call PrintText diff --git a/scripts/pokemontower3.asm b/scripts/pokemontower3.asm index 9d08aec4..a4fbbf18 100755 --- a/scripts/pokemontower3.asm +++ b/scripts/pokemontower3.asm @@ -20,27 +20,27 @@ PokemonTower3TextPointers: ; 606e5 (18:46e5) PokemonTower3TrainerHeaders: ; 606ed (18:46ed) PokemonTower3TrainerHeader0: ; 606ed (18:46ed) - db $1 ; flag's bit + dbEventFlagBit EVENT_BEAT_POKEMONTOWER_3_TRAINER_0 db ($2 << 4) ; trainer's view range - dw wd765 ; flag's byte + dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_3_TRAINER_0 dw PokemonTower3BattleText1 ; TextBeforeBattle dw PokemonTower3AfterBattleText1 ; TextAfterBattle dw PokemonTower3EndBattleText1 ; TextEndBattle dw PokemonTower3EndBattleText1 ; TextEndBattle PokemonTower3TrainerHeader1: ; 606f9 (18:46f9) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_POKEMONTOWER_3_TRAINER_1 db ($3 << 4) ; trainer's view range - dw wd765 ; flag's byte + dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_3_TRAINER_1 dw PokemonTower3BattleText2 ; TextBeforeBattle dw PokemonTower3AfterBattleText2 ; TextAfterBattle dw PokemonTower3EndBattleText2 ; TextEndBattle dw PokemonTower3EndBattleText2 ; TextEndBattle PokemonTower3TrainerHeader2: ; 60705 (18:4705) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_POKEMONTOWER_3_TRAINER_2 db ($2 << 4) ; trainer's view range - dw wd765 ; flag's byte + dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_3_TRAINER_2 dw PokemonTower3BattleText3 ; TextBeforeBattle dw PokemonTower3AfterBattleText3 ; TextAfterBattle dw PokemonTower3EndBattleText3 ; TextEndBattle diff --git a/scripts/pokemontower4.asm b/scripts/pokemontower4.asm index c4732397..2638bdc2 100755 --- a/scripts/pokemontower4.asm +++ b/scripts/pokemontower4.asm @@ -22,27 +22,27 @@ PokemonTower4TextPointers: ; 6080f (18:480f) PokemonTower4TrainerHeaders: ; 6081b (18:481b) PokemonTower4TrainerHeader0: ; 6081b (18:481b) - db $1 ; flag's bit + dbEventFlagBit EVENT_BEAT_POKEMONTOWER_4_TRAINER_0 db ($2 << 4) ; trainer's view range - dw wd766 ; flag's byte + dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_4_TRAINER_0 dw PokemonTower4BattleText1 ; TextBeforeBattle dw PokemonTower4AfterBattleText1 ; TextAfterBattle dw PokemonTower4EndBattleText1 ; TextEndBattle dw PokemonTower4EndBattleText1 ; TextEndBattle PokemonTower4TrainerHeader1: ; 60827 (18:4827) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_POKEMONTOWER_4_TRAINER_1 db ($2 << 4) ; trainer's view range - dw wd766 ; flag's byte + dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_4_TRAINER_1 dw PokemonTower4BattleText2 ; TextBeforeBattle dw PokemonTower4AfterBattleText2 ; TextAfterBattle dw PokemonTower4EndBattleText2 ; TextEndBattle dw PokemonTower4EndBattleText2 ; TextEndBattle PokemonTower4TrainerHeader2: ; 60833 (18:4833) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_POKEMONTOWER_4_TRAINER_2 db ($2 << 4) ; trainer's view range - dw wd766 ; flag's byte + dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_4_TRAINER_2 dw PokemonTower4BattleText3 ; TextBeforeBattle dw PokemonTower4AfterBattleText3 ; TextAfterBattle dw PokemonTower4EndBattleText3 ; TextEndBattle diff --git a/scripts/pokemontower5.asm b/scripts/pokemontower5.asm index 9ef5d419..b418b361 100755 --- a/scripts/pokemontower5.asm +++ b/scripts/pokemontower5.asm @@ -18,13 +18,10 @@ PokemonTower5Script0: ; 6094b (18:494b) jr c, .asm_60960 ld hl, wd72e res 4, [hl] - ld hl, wd767 - res 7, [hl] + ResetEvent EVENT_107 jp CheckFightingMapTrainers .asm_60960 - ld hl, wd767 - bit 7, [hl] - set 7, [hl] + CheckAndSetEvent EVENT_107 ret nz xor a ld [hJoyHeld], a @@ -62,36 +59,36 @@ PokemonTower5TextPointers: ; 6099b (18:499b) PokemonTower5TrainerHeaders: ; 609a9 (18:49a9) PokemonTower5TrainerHeader0: ; 609a9 (18:49a9) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_POKEMONTOWER_5_TRAINER_0 db ($2 << 4) ; trainer's view range - dw wd767 ; flag's byte + dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_5_TRAINER_0 dw PokemonTower5BattleText1 ; TextBeforeBattle dw PokemonTower5AfterBattleText1 ; TextAfterBattle dw PokemonTower5EndBattleText1 ; TextEndBattle dw PokemonTower5EndBattleText1 ; TextEndBattle PokemonTower5TrainerHeader1: ; 609b5 (18:49b5) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_POKEMONTOWER_5_TRAINER_1 db ($3 << 4) ; trainer's view range - dw wd767 ; flag's byte + dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_5_TRAINER_1 dw PokemonTower5BattleText2 ; TextBeforeBattle dw PokemonTower5AfterBattleText2 ; TextAfterBattle dw PokemonTower5EndBattleText2 ; TextEndBattle dw PokemonTower5EndBattleText2 ; TextEndBattle PokemonTower5TrainerHeader2: ; 609c1 (18:49c1) - db $4 ; flag's bit + dbEventFlagBit EVENT_BEAT_POKEMONTOWER_5_TRAINER_2 db ($2 << 4) ; trainer's view range - dw wd767 ; flag's byte + dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_5_TRAINER_2 dw PokemonTower5BattleText3 ; TextBeforeBattle dw PokemonTower5AfterBattleText3 ; TextAfterBattle dw PokemonTower5EndBattleText3 ; TextEndBattle dw PokemonTower5EndBattleText3 ; TextEndBattle PokemonTower5TrainerHeader3: ; 609cd (18:49cd) - db $5 ; flag's bit + dbEventFlagBit EVENT_BEAT_POKEMONTOWER_5_TRAINER_3 db ($2 << 4) ; trainer's view range - dw wd767 ; flag's byte + dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_5_TRAINER_3 dw PokemonTower5BattleText4 ; TextBeforeBattle dw PokemonTower5AfterBattleText4 ; TextAfterBattle dw PokemonTower5EndBattleText4 ; TextEndBattle diff --git a/scripts/pokemontower6.asm b/scripts/pokemontower6.asm index e9412fb0..68260484 100755 --- a/scripts/pokemontower6.asm +++ b/scripts/pokemontower6.asm @@ -22,8 +22,7 @@ PokemonTower6ScriptPointers: ; 60b0d (18:4b0d) dw PokemonTower6Script4 PokemonTower6Script0: ; 60b17 (18:4b17) - ld a, [wd768] - bit 7, a + CheckEvent EVENT_10F jp nz, CheckFightingMapTrainers ld hl, CoordsData_60b45 call ArePlayerCoordsInArray @@ -60,8 +59,7 @@ PokemonTower6Script4: ; 60b48 (18:4b48) ld a, [wBattleResult] and a jr nz, .asm_60b82 - ld hl, wd768 - set 7, [hl] + SetEvent EVENT_10F ld a, $7 ld [hSpriteIndexOrTextID], a call DisplayTextID @@ -107,27 +105,27 @@ PokemonTower6TextPointers: ; 60bb1 (18:4bb1) PokemonTower6TrainerHeaders: ; 60bbf (18:4bbf) PokemonTower6TrainerHeader0: ; 60bbf (18:4bbf) - db $1 ; flag's bit + dbEventFlagBit EVENT_BEAT_POKEMONTOWER_6_TRAINER_0 db ($3 << 4) ; trainer's view range - dw wd768 ; flag's byte + dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_6_TRAINER_0 dw PokemonTower6BattleText1 ; TextBeforeBattle dw PokemonTower6AfterBattleText1 ; TextAfterBattle dw PokemonTower6EndBattleText1 ; TextEndBattle dw PokemonTower6EndBattleText1 ; TextEndBattle PokemonTower6TrainerHeader1: ; 60bcb (18:4bcb) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_POKEMONTOWER_6_TRAINER_1 db ($3 << 4) ; trainer's view range - dw wd768 ; flag's byte + dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_6_TRAINER_1 dw PokemonTower6BattleText2 ; TextBeforeBattle dw PokemonTower6AfterBattleText2 ; TextAfterBattle dw PokemonTower6EndBattleText2 ; TextEndBattle dw PokemonTower6EndBattleText2 ; TextEndBattle PokemonTower6TrainerHeader2: ; 60bd7 (18:4bd7) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_POKEMONTOWER_6_TRAINER_2 db ($2 << 4) ; trainer's view range - dw wd768 ; flag's byte + dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_6_TRAINER_2 dw PokemonTower6BattleText3 ; TextBeforeBattle dw PokemonTower6AfterBattleText3 ; TextAfterBattle dw PokemonTower6EndBattleText3 ; TextEndBattle diff --git a/scripts/pokemontower7.asm b/scripts/pokemontower7.asm index 60635f20..c2fe1508 100755 --- a/scripts/pokemontower7.asm +++ b/scripts/pokemontower7.asm @@ -206,27 +206,27 @@ PokemonTower7TextPointers: ; 60e3f (18:4e3f) PokemonTower7TrainerHeaders: ; 60e47 (18:4e47) PokemonTower7TrainerHeader0: ; 60e47 (18:4e47) - db $1 ; flag's bit + dbEventFlagBit EVENT_BEAT_POKEMONTOWER_7_TRAINER_0 db ($3 << 4) ; trainer's view range - dw wd769 ; flag's byte + dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_7_TRAINER_0 dw PokemonTower7BattleText1 ; TextBeforeBattle dw PokemonTower7AfterBattleText1 ; TextAfterBattle dw PokemonTower7EndBattleText1 ; TextEndBattle dw PokemonTower7EndBattleText1 ; TextEndBattle PokemonTower7TrainerHeader1: ; 60e53 (18:4e53) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_POKEMONTOWER_7_TRAINER_1 db ($3 << 4) ; trainer's view range - dw wd769 ; flag's byte + dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_7_TRAINER_1 dw PokemonTower7BattleText2 ; TextBeforeBattle dw PokemonTower7AfterBattleText2 ; TextAfterBattle dw PokemonTower7EndBattleText2 ; TextEndBattle dw PokemonTower7EndBattleText2 ; TextEndBattle PokemonTower7TrainerHeader2: ; 60e5f (18:4e5f) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_POKEMONTOWER_7_TRAINER_2 db ($3 << 4) ; trainer's view range - dw wd769 ; flag's byte + dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_7_TRAINER_2 dw PokemonTower7BattleText3 ; TextBeforeBattle dw PokemonTower7AfterBattleText3 ; TextAfterBattle dw PokemonTower7EndBattleText3 ; TextEndBattle @@ -256,10 +256,8 @@ PokemonTower7FujiText: TX_ASM ld hl, TowerRescueFujiText call PrintText - ld hl, wd7e0 - set 7, [hl] - ld hl, wd769 - set 7, [hl] + SetEvent EVENT_4CF + SetEvent EVENT_117 ld a, HS_LAVENDER_HOUSE_1_MR_FUJI ld [wcc4d], a predef ShowObject diff --git a/scripts/powerplant.asm b/scripts/powerplant.asm index 0026d525..48f291e1 100755 --- a/scripts/powerplant.asm +++ b/scripts/powerplant.asm @@ -30,81 +30,81 @@ PowerPlantTextPointers: ; 1e2df (7:62df) PowerPlantTrainerHeaders: ; 1e2fb (7:62fb) PowerPlantTrainerHeader0: ; 1e2fb (7:62fb) - db 1 ; flag's bit + dbEventFlagBit EVENT_BEAT_POWER_PLANT_TRAINER_0 db 0 ; view range - dw wd7d3 ; flag's byte + dwEventFlagAddress EVENT_BEAT_POWER_PLANT_TRAINER_0 dw VoltorbBattleText ; TextBeforeBattle dw VoltorbBattleText ; TextAfterBattle dw VoltorbBattleText ; TextEndBattle dw VoltorbBattleText ; TextEndBattle PowerPlantTrainerHeader1: ; 1e307 (7:6307) - db 2 ; flag's bit + dbEventFlagBit EVENT_BEAT_POWER_PLANT_TRAINER_1 db 0 ; view range - dw wd7d3 ; flag's byte + dwEventFlagAddress EVENT_BEAT_POWER_PLANT_TRAINER_1 dw VoltorbBattleText ; TextBeforeBattle dw VoltorbBattleText ; TextAfterBattle dw VoltorbBattleText ; TextEndBattle dw VoltorbBattleText ; TextEndBattle PowerPlantTrainerHeader2: ; 1e313 (7:6313) - db 3 ; flag's bit + dbEventFlagBit EVENT_BEAT_POWER_PLANT_TRAINER_2 db 0 ; view range - dw wd7d3 ; flag's byte + dwEventFlagAddress EVENT_BEAT_POWER_PLANT_TRAINER_2 dw VoltorbBattleText ; TextBeforeBattle dw VoltorbBattleText ; TextAfterBattle dw VoltorbBattleText ; TextEndBattle dw VoltorbBattleText ; TextEndBattle PowerPlantTrainerHeader3: ; 1e31f (7:631f) - db 4 ; flag's bit + dbEventFlagBit EVENT_BEAT_POWER_PLANT_TRAINER_3 db 0 ; view range - dw wd7d3 ; flag's byte + dwEventFlagAddress EVENT_BEAT_POWER_PLANT_TRAINER_3 dw VoltorbBattleText ; TextBeforeBattle dw VoltorbBattleText ; TextAfterBattle dw VoltorbBattleText ; TextEndBattle dw VoltorbBattleText ; TextEndBattle PowerPlantTrainerHeader4: ; 1e32b (7:632b) - db 5 ; flag's bit + dbEventFlagBit EVENT_BEAT_POWER_PLANT_TRAINER_4 db 0 ; view range - dw wd7d3 ; flag's byte + dwEventFlagAddress EVENT_BEAT_POWER_PLANT_TRAINER_4 dw VoltorbBattleText ; TextBeforeBattle dw VoltorbBattleText ; TextAfterBattle dw VoltorbBattleText ; TextEndBattle dw VoltorbBattleText ; TextEndBattle PowerPlantTrainerHeader5: ; 1e337 (7:6337) - db 6 ; flag's bit + dbEventFlagBit EVENT_BEAT_POWER_PLANT_TRAINER_5 db 0 ; view range - dw wd7d3 ; flag's byte + dwEventFlagAddress EVENT_BEAT_POWER_PLANT_TRAINER_5 dw VoltorbBattleText ; TextBeforeBattle dw VoltorbBattleText ; TextAfterBattle dw VoltorbBattleText ; TextEndBattle dw VoltorbBattleText ; TextEndBattle PowerPlantTrainerHeader6: ; 1e343 (7:6343) - db 7 ; flag's bit + dbEventFlagBit EVENT_BEAT_POWER_PLANT_TRAINER_6 db 0 ; view range - dw wd7d3 ; flag's byte + dwEventFlagAddress EVENT_BEAT_POWER_PLANT_TRAINER_6 dw VoltorbBattleText ; TextBeforeBattle dw VoltorbBattleText ; TextAfterBattle dw VoltorbBattleText ; TextEndBattle dw VoltorbBattleText ; TextEndBattle PowerPlantTrainerHeader7: ; 1e34f (7:634f) - db 8 ; flag's bit + dbEventFlagBit EVENT_BEAT_POWER_PLANT_TRAINER_7, 1 db 0 ; view range - dw wd7d3 ; flag's byte + dwEventFlagAddress EVENT_BEAT_POWER_PLANT_TRAINER_7, 1 dw VoltorbBattleText ; TextBeforeBattle dw VoltorbBattleText ; TextAfterBattle dw VoltorbBattleText ; TextEndBattle dw VoltorbBattleText ; TextEndBattle PowerPlantTrainerHeader8: ; 1e35b (7:635b) - db 9 ; flag's bit + dbEventFlagBit EVENT_BEAT_POWER_PLANT_TRAINER_8, 1 db 0 ; view range - dw wd7d3 ; flag's byte + dwEventFlagAddress EVENT_BEAT_POWER_PLANT_TRAINER_8, 1 dw ZapdosBattleText ; TextBeforeBattle dw ZapdosBattleText ; TextAfterBattle dw ZapdosBattleText ; TextEndBattle diff --git a/scripts/rockethideout1.asm b/scripts/rockethideout1.asm index b798744d..ccf40cb4 100755 --- a/scripts/rockethideout1.asm +++ b/scripts/rockethideout1.asm @@ -13,18 +13,16 @@ RocketHideout1Script_44be0: ; 44be0 (11:4be0) 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_5 jr nz, .asm_44bf7 ld a, $54 jr .asm_44c03 .asm_44bf7 ld a, SFX_GO_INSIDE call PlaySound - ld hl, wd815 - bit 7, [hl] + CheckEventHL EVENT_677 .asm_44c01 ld a, $e .asm_44c03 @@ -48,45 +46,45 @@ RocketHideout1TextPointers: ; 44c14 (11:4c14) RocketHideout1TrainerHeaders: ; 44c22 (11:4c22) RocketHideout1TrainerHeader0: ; 44c22 (11:4c22) - db $1 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_0 db ($3 << 4) ; trainer's view range - dw wd815 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_0 dw RocketHideout1BattleText2 ; TextBeforeBattle dw RocketHideout1AfterBattleTxt2 ; TextAfterBattle dw RocketHideout1EndBattleText2 ; TextEndBattle dw RocketHideout1EndBattleText2 ; TextEndBattle RocketHideout1TrainerHeader2: ; 44c2e (11:4c2e) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_2 db ($2 << 4) ; trainer's view range - dw wd815 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_2 dw RocketHideout1BattleText3 ; TextBeforeBattle dw RocketHideout1AfterBattleTxt3 ; TextAfterBattle dw RocketHideout1EndBattleText3 ; TextEndBattle dw RocketHideout1EndBattleText3 ; TextEndBattle RocketHideout1TrainerHeader3: ; 44c3a (11:4c3a) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_3 db ($2 << 4) ; trainer's view range - dw wd815 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_3 dw RocketHideout1BattleText4 ; TextBeforeBattle dw RocketHideout1AfterBattleTxt4 ; TextAfterBattle dw RocketHideout1EndBattleText4 ; TextEndBattle dw RocketHideout1EndBattleText4 ; TextEndBattle RocketHideout1TrainerHeader4: ; 44c46 (11:4c46) - db $4 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_4 db ($3 << 4) ; trainer's view range - dw wd815 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_4 dw RocketHideout1BattleText5 ; TextBeforeBattle dw RocketHideout1AfterBattleTxt5 ; TextAfterBattle dw RocketHideout1EndBattleText5 ; TextEndBattle dw RocketHideout1EndBattleText5 ; TextEndBattle RocketHideout1TrainerHeader5: ; 44c52 (11:4c52) - db $5 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_5 db ($3 << 4) ; trainer's view range - dw wd815 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_5 dw RocketHideout1BattleText6 ; TextBeforeBattle dw RocketHideout1AfterBattleTxt6 ; TextAfterBattle dw RocketHideout1EndBattleText6 ; TextEndBattle @@ -127,8 +125,7 @@ RocketHideout1Text5: ; 44c87 (11:4c87) RocketHideout1EndBattleText6: ; 44c91 (11:4c91) TX_FAR _RocketHideout1EndBattleText6 TX_ASM - ld hl, wd815 - set 5, [hl] + SetEvent EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_5 ld hl, RocketHideout1Text_44c9f ret diff --git a/scripts/rockethideout2.asm b/scripts/rockethideout2.asm index ead69458..f269faef 100755 --- a/scripts/rockethideout2.asm +++ b/scripts/rockethideout2.asm @@ -422,9 +422,9 @@ RocketHideout2TextPointers: ; 450c7 (11:50c7) RocketHideout2TrainerHeaders: ; 450d1 (11:50d1) RocketHideout2TrainerHeader0: ; 450d1 (11:50d1) - db $1 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_2_TRAINER_0 db ($4 << 4) ; trainer's view range - dw wd817 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_2_TRAINER_0 dw RocketHideout2BattleText2 ; TextBeforeBattle dw RocketHideout2AfterBattleTxt2 ; TextAfterBattle dw RocketHideout2EndBattleText2 ; TextEndBattle diff --git a/scripts/rockethideout3.asm b/scripts/rockethideout3.asm index 2060c26c..1f6d5b41 100755 --- a/scripts/rockethideout3.asm +++ b/scripts/rockethideout3.asm @@ -151,18 +151,18 @@ RocketHideout3TextPointers: ; 452fa (11:52fa) RocketHideout3TrainerHeaders: ; 45302 (11:5302) RocketHideout3TrainerHeader0: ; 45302 (11:5302) - db $1 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_0 db ($2 << 4) ; trainer's view range - dw wd819 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_0 dw RocketHideout3BattleText2 ; TextBeforeBattle dw RocketHideout3AfterBattleTxt2 ; TextAfterBattle dw RocketHideout3EndBattleText2 ; TextEndBattle dw RocketHideout3EndBattleText2 ; TextEndBattle RocketHideout3TrainerHeader2: ; 4530e (11:530e) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_2 db ($4 << 4) ; trainer's view range - dw wd819 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_2 dw RocketHideout3BattleTxt ; TextBeforeBattle dw RocketHideout3AfterBattleText3 ; TextAfterBattle dw RocketHideout3EndBattleText3 ; TextEndBattle diff --git a/scripts/rockethideout4.asm b/scripts/rockethideout4.asm index 44536279..e6ba430b 100755 --- a/scripts/rockethideout4.asm +++ b/scripts/rockethideout4.asm @@ -13,8 +13,7 @@ RocketHideout4Script_45473: ; 45473 (11:5473) bit 5, [hl] res 5, [hl] ret z - ld a, [wd81b] - bit 5, a + CheckEvent EVENT_6A5 jr nz, .asm_45496 and $c cp $c @@ -24,8 +23,7 @@ RocketHideout4Script_45473: ; 45473 (11:5473) .asm_4548c ld a, SFX_GO_INSIDE call PlaySound - ld hl, wd81b - set 5, [hl] + SetEvent EVENT_6A5 .asm_45496 ld a, $e .asm_45498 @@ -53,8 +51,7 @@ RocketHideout4Script3: ; 454b6 (11:54b6) call UpdateSprites ld a, $f0 ld [wJoyIgnore], a - ld hl, wd81b - set 7, [hl] + SetEvent EVENT_6A7 ld a, $a ld [hSpriteIndexOrTextID], a call DisplayTextID @@ -90,27 +87,27 @@ RocketHideout4TextPointers: ; 45501 (11:5501) RocketHideout4TrainerHeaders: ; 45515 (11:5515) RocketHideout4TrainerHeader0: ; 45515 (11:5515) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_0 db ($0 << 4) ; trainer's view range - dw wd81b ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_0 dw RocketHideout4BattleText2 ; TextBeforeBattle dw RocketHideout4AfterBattleText2 ; TextAfterBattle dw RocketHideout4EndBattleText2 ; TextEndBattle dw RocketHideout4EndBattleText2 ; TextEndBattle RocketHideout4TrainerHeader2: ; 45521 (11:5521) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_2 db ($0 << 4) ; trainer's view range - dw wd81b ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_2 dw RocketHideout4BattleText3 ; TextBeforeBattle dw RocketHideout4AfterBattleText3 ; TextAfterBattle dw RocketHideout4EndBattleText3 ; TextEndBattle dw RocketHideout4EndBattleText3 ; TextEndBattle RocketHideout4TrainerHeader3: ; 4552d (11:552d) - db $4 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_3 db ($1 << 4) ; trainer's view range - dw wd81b ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_3 dw RocketHideout4BattleText4 ; TextBeforeBattle dw RocketHideout4AfterBattleText4 ; TextAfterBattle dw RocketHideout4EndBattleText4 ; TextEndBattle @@ -120,8 +117,7 @@ RocketHideout4TrainerHeader3: ; 4552d (11:552d) RocketHideout4Text1: ; 4553a (11:553a) TX_ASM - ld a, [wd81b] - bit 7, a + CheckEvent EVENT_6A7 jp nz, .asm_545571 ld hl, RocketHideout4Text_4557a call PrintText @@ -213,9 +209,7 @@ RocketHideout4AfterBattleText4: ; 455cf (11:55cf) TX_ASM ld hl, RocketHideout4Text_455ec call PrintText - ld hl, wd81b - bit 6, [hl] - set 6, [hl] + CheckAndSetEvent EVENT_6A6 jr nz, .asm_455e9 ld a, HS_ROCKET_HIDEOUT_4_ITEM_5 ld [wcc4d], a diff --git a/scripts/rocktunnel1.asm b/scripts/rocktunnel1.asm index 72881e65..d03a5ba1 100755 --- a/scripts/rocktunnel1.asm +++ b/scripts/rocktunnel1.asm @@ -24,63 +24,63 @@ RockTunnel1TextPointers: ; 444f5 (11:44f5) RockTunnel1TrainerHeaders: ; 44505 (11:4505) RockTunnel1TrainerHeader1: ; 44505 (11:4505) - db $1 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_1 db ($4 << 4) ; trainer's view range - dw wd7d2 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_1 dw RockTunnel1BattleText1 ; TextBeforeBattle dw RockTunnel1AfterBattleText1 ; TextAfterBattle dw RockTunnel1EndBattleText1 ; TextEndBattle dw RockTunnel1EndBattleText1 ; TextEndBattle RockTunnel1TrainerHeader2: ; 44511 (11:4511) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_2 db ($4 << 4) ; trainer's view range - dw wd7d2 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_2 dw RockTunnel1BattleText2 ; TextBeforeBattle dw RockTunnel1AfterBattleText2 ; TextAfterBattle dw RockTunnel1EndBattleText2 ; TextEndBattle dw RockTunnel1EndBattleText2 ; TextEndBattle RockTunnel1TrainerHeader3: ; 4451d (11:451d) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_3 db ($3 << 4) ; trainer's view range - dw wd7d2 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_3 dw RockTunnel1BattleText3 ; TextBeforeBattle dw RockTunnel1AfterBattleText3 ; TextAfterBattle dw RockTunnel1EndBattleText3 ; TextEndBattle dw RockTunnel1EndBattleText3 ; TextEndBattle RockTunnel1TrainerHeader4: ; 44529 (11:4529) - db $4 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_4 db ($3 << 4) ; trainer's view range - dw wd7d2 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_4 dw RockTunnel1BattleText4 ; TextBeforeBattle dw RockTunnel1AfterBattleText4 ; TextAfterBattle dw RockTunnel1EndBattleText4 ; TextEndBattle dw RockTunnel1EndBattleText4 ; TextEndBattle RockTunnel1TrainerHeader5: ; 44535 (11:4535) - db $5 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_5 db ($4 << 4) ; trainer's view range - dw wd7d2 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_5 dw RockTunnel1BattleText5 ; TextBeforeBattle dw RockTunnel1AfterBattleText5 ; TextAfterBattle dw RockTunnel1EndBattleText5 ; TextEndBattle dw RockTunnel1EndBattleText5 ; TextEndBattle RockTunnel1TrainerHeader6: ; 44541 (11:4541) - db $6 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_6 db ($4 << 4) ; trainer's view range - dw wd7d2 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_6 dw RockTunnel1BattleText6 ; TextBeforeBattle dw RockTunnel1AfterBattleText6 ; TextAfterBattle dw RockTunnel1EndBattleText6 ; TextEndBattle dw RockTunnel1EndBattleText6 ; TextEndBattle RockTunnel1TrainerHeader7: ; 4454d (11:454d) - db $7 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_7 db ($4 << 4) ; trainer's view range - dw wd7d2 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_7 dw RockTunnel1BattleText7 ; TextBeforeBattle dw RockTunnel1AfterBattleText7 ; TextAfterBattle dw RockTunnel1EndBattleText7 ; TextEndBattle diff --git a/scripts/rocktunnel2.asm b/scripts/rocktunnel2.asm index 832a244f..2082394a 100755 --- a/scripts/rocktunnel2.asm +++ b/scripts/rocktunnel2.asm @@ -24,72 +24,72 @@ RockTunnel2TextPointers: ; 46004 (11:6004) RockTunnel2TrainerHeaders: ; 46014 (11:6014) RockTunnel2TrainerHeader0: ; 46014 (11:6014) - db $1 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_0 db ($4 << 4) ; trainer's view range - dw wd87d ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_0 dw RockTunnel2BattleText2 ; TextBeforeBattle dw RockTunnel2AfterBattleText2 ; TextAfterBattle dw RockTunnel2EndBattleText2 ; TextEndBattle dw RockTunnel2EndBattleText2 ; TextEndBattle RockTunnel2TrainerHeader2: ; 46020 (11:6020) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_2 db ($3 << 4) ; trainer's view range - dw wd87d ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_2 dw RockTunnel2BattleText3 ; TextBeforeBattle dw RockTunnel2AfterBattleText3 ; TextAfterBattle dw RockTunnel2EndBattleText3 ; TextEndBattle dw RockTunnel2EndBattleText3 ; TextEndBattle RockTunnel2TrainerHeader3: ; 4602c (11:602c) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_3 db ($3 << 4) ; trainer's view range - dw wd87d ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_3 dw RockTunnel2BattleText4 ; TextBeforeBattle dw RockTunnel2AfterBattleText4 ; TextAfterBattle dw RockTunnel2EndBattleText4 ; TextEndBattle dw RockTunnel2EndBattleText4 ; TextEndBattle RockTunnel2TrainerHeader4: ; 46038 (11:6038) - db $4 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_4 db ($4 << 4) ; trainer's view range - dw wd87d ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_4 dw RockTunnel2BattleText5 ; TextBeforeBattle dw RockTunnel2AfterBattleText5 ; TextAfterBattle dw RockTunnel2EndBattleText5 ; TextEndBattle dw RockTunnel2EndBattleText5 ; TextEndBattle RockTunnel2TrainerHeader5: ; 46044 (11:6044) - db $5 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_5 db ($3 << 4) ; trainer's view range - dw wd87d ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_5 dw RockTunnel2BattleText6 ; TextBeforeBattle dw RockTunnel2AfterBattleText6 ; TextAfterBattle dw RockTunnel2EndBattleText6 ; TextEndBattle dw RockTunnel2EndBattleText6 ; TextEndBattle RockTunnel2TrainerHeader6: ; 46050 (11:6050) - db $6 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_6 db ($4 << 4) ; trainer's view range - dw wd87d ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_6 dw RockTunnel2BattleText7 ; TextBeforeBattle dw RockTunnel2AfterBattleText7 ; TextAfterBattle dw RockTunnel2EndBattleText7 ; TextEndBattle dw RockTunnel2EndBattleText7 ; TextEndBattle RockTunnel2TrainerHeader7: ; 4605c (11:605c) - db $7 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_7 db ($3 << 4) ; trainer's view range - dw wd87d ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_7 dw RockTunnel2BattleText8 ; TextBeforeBattle dw RockTunnel2AfterBattleText8 ; TextAfterBattle dw RockTunnel2EndBattleText8 ; TextEndBattle dw RockTunnel2EndBattleText8 ; TextEndBattle RockTunnel2TrainerHeader8: ; 46068 (11:6068) - db $8 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_8, 1 db ($3 << 4) ; trainer's view range - dw wd87d ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_8, 1 dw RockTunnel2BattleText9 ; TextBeforeBattle dw RockTunnel2AfterBattleText9 ; TextAfterBattle dw RockTunnel2EndBattleText9 ; TextEndBattle diff --git a/scripts/route1.asm b/scripts/route1.asm index 74ac9605..d1e39c06 100755 --- a/scripts/route1.asm +++ b/scripts/route1.asm @@ -8,9 +8,7 @@ Route1TextPointers: ; 1cab2 (7:4ab2) Route1Text1: ; 1cab8 (7:4ab8) TX_ASM - ld hl, wd7bf - bit 0, [hl] - set 0, [hl] + CheckAndSetEvent EVENT_3C0 jr nz, .asm_1cada ld hl, Route1ViridianMartSampleText call PrintText diff --git a/scripts/route10.asm b/scripts/route10.asm index fbc3b01a..2d5d2ae4 100755 --- a/scripts/route10.asm +++ b/scripts/route10.asm @@ -26,54 +26,54 @@ Route10TextPointers: ; 5934f (16:534f) Route10TrainerHeaders: ; 59363 (16:5363) Route10TrainerHeader0: ; 59363 (16:5363) - db $1 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_10_TRAINER_0 db ($4 << 4) ; trainer's view range - dw wd7d1 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_10_TRAINER_0 dw Route10BattleText1 ; TextBeforeBattle dw Route10AfterBattleText1 ; TextAfterBattle dw Route10EndBattleText1 ; TextEndBattle dw Route10EndBattleText1 ; TextEndBattle Route10TrainerHeader1: ; 5936f (16:536f) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_10_TRAINER_1 db ($3 << 4) ; trainer's view range - dw wd7d1 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_10_TRAINER_1 dw Route10BattleText2 ; TextBeforeBattle dw Route10AfterBattleText2 ; TextAfterBattle dw Route10EndBattleText2 ; TextEndBattle dw Route10EndBattleText2 ; TextEndBattle Route10TrainerHeader2: ; 5937b (16:537b) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_10_TRAINER_2 db ($4 << 4) ; trainer's view range - dw wd7d1 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_10_TRAINER_2 dw Route10BattleText3 ; TextBeforeBattle dw Route10AfterBattleText3 ; TextAfterBattle dw Route10EndBattleText3 ; TextEndBattle dw Route10EndBattleText3 ; TextEndBattle Route10TrainerHeader3: ; 59387 (16:5387) - db $4 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_10_TRAINER_3 db ($3 << 4) ; trainer's view range - dw wd7d1 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_10_TRAINER_3 dw Route10BattleText4 ; TextBeforeBattle dw Route10AfterBattleText4 ; TextAfterBattle dw Route10EndBattleText4 ; TextEndBattle dw Route10EndBattleText4 ; TextEndBattle Route10TrainerHeader4: ; 59393 (16:5393) - db $5 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_10_TRAINER_4 db ($2 << 4) ; trainer's view range - dw wd7d1 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_10_TRAINER_4 dw Route10BattleText5 ; TextBeforeBattle dw Route10AfterBattleText5 ; TextAfterBattle dw Route10EndBattleText5 ; TextEndBattle dw Route10EndBattleText5 ; TextEndBattle Route10TrainerHeader5: ; 5939f (16:539f) - db $6 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_10_TRAINER_5 db ($2 << 4) ; trainer's view range - dw wd7d1 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_10_TRAINER_5 dw Route10BattleText6 ; TextBeforeBattle dw Route10AfterBattleText6 ; TextAfterBattle dw Route10EndBattleText6 ; TextEndBattle diff --git a/scripts/route11.asm b/scripts/route11.asm index 7a31232b..3a9f1e0d 100755 --- a/scripts/route11.asm +++ b/scripts/route11.asm @@ -27,90 +27,90 @@ Route11TextPointers: ; 59465 (16:5465) Route11TrainerHeaders: ; 5947b (16:547b) Route11TrainerHeader0: ; 5947b (16:547b) - db $1 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_0 db ($3 << 4) ; trainer's view range - dw wd7d5 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_0 dw Route11BattleText1 ; TextBeforeBattle dw Route11AfterBattleText1 ; TextAfterBattle dw Route11EndBattleText1 ; TextEndBattle dw Route11EndBattleText1 ; TextEndBattle Route11TrainerHeader1: ; 59487 (16:5487) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_1 db ($2 << 4) ; trainer's view range - dw wd7d5 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_1 dw Route11BattleText2 ; TextBeforeBattle dw Route11AfterBattleText2 ; TextAfterBattle dw Route11EndBattleText2 ; TextEndBattle dw Route11EndBattleText2 ; TextEndBattle Route11TrainerHeader2: ; 59493 (16:5493) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_2 db ($3 << 4) ; trainer's view range - dw wd7d5 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_2 dw Route11BattleText3 ; TextBeforeBattle dw Route11AfterBattleText3 ; TextAfterBattle dw Route11EndBattleText3 ; TextEndBattle dw Route11EndBattleText3 ; TextEndBattle Route11TrainerHeader3: ; 5949f (16:549f) - db $4 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_3 db ($3 << 4) ; trainer's view range - dw wd7d5 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_3 dw Route11BattleText4 ; TextBeforeBattle dw Route11AfterBattleText4 ; TextAfterBattle dw Route11EndBattleText4 ; TextEndBattle dw Route11EndBattleText4 ; TextEndBattle Route11TrainerHeader4: ; 594ab (16:54ab) - db $5 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_4 db ($4 << 4) ; trainer's view range - dw wd7d5 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_4 dw Route11BattleText5 ; TextBeforeBattle dw Route11AfterBattleText5 ; TextAfterBattle dw Route11EndBattleText5 ; TextEndBattle dw Route11EndBattleText5 ; TextEndBattle Route11TrainerHeader5: ; 594b7 (16:54b7) - db $6 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_5 db ($3 << 4) ; trainer's view range - dw wd7d5 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_5 dw Route11BattleText6 ; TextBeforeBattle dw Route11AfterBattleText6 ; TextAfterBattle dw Route11EndBattleText6 ; TextEndBattle dw Route11EndBattleText6 ; TextEndBattle Route11TrainerHeader6: ; 594c3 (16:54c3) - db $7 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_6 db ($3 << 4) ; trainer's view range - dw wd7d5 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_6 dw Route11BattleText7 ; TextBeforeBattle dw Route11AfterBattleText7 ; TextAfterBattle dw Route11EndBattleText7 ; TextEndBattle dw Route11EndBattleText7 ; TextEndBattle Route11TrainerHeader7: ; 594cf (16:54cf) - db $8 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_7, 1 db ($4 << 4) ; trainer's view range - dw wd7d5 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_7, 1 dw Route11BattleText8 ; TextBeforeBattle dw Route11AfterBattleText8 ; TextAfterBattle dw Route11EndBattleText8 ; TextEndBattle dw Route11EndBattleText8 ; TextEndBattle Route11TrainerHeader8: ; 594db (16:54db) - db $9 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_8, 1 db ($3 << 4) ; trainer's view range - dw wd7d5 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_8, 1 dw Route11BattleText9 ; TextBeforeBattle dw Route11AfterBattleText9 ; TextAfterBattle dw Route11EndBattleText9 ; TextEndBattle dw Route11EndBattleText9 ; TextEndBattle Route11TrainerHeader9: ; 594e7 (16:54e7) - db $a ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_9, 1 db ($4 << 4) ; trainer's view range - dw wd7d5 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_9, 1 dw Route11BattleText10 ; TextBeforeBattle dw Route11AfterBattleText10 ; TextAfterBattle dw Route11EndBattleText10 ; TextEndBattle diff --git a/scripts/route11gateupstairs.asm b/scripts/route11gateupstairs.asm index eded4165..7720b176 100755 --- a/scripts/route11gateupstairs.asm +++ b/scripts/route11gateupstairs.asm @@ -17,8 +17,7 @@ Route11GateUpstairsScriptEnd: ; 49469 (12:5469) Route11GateUpstairsText2: ; 4946c (12:546c) TX_ASM - ld a, [wd7d6] - add a + CheckEvent EVENT_47F, 1 jr c, .asm_4949b ld a, 30 ; pokemon needed ld [$ffdb], a @@ -35,8 +34,7 @@ Route11GateUpstairsText2: ; 4946c (12:546c) ld a, [$ffdb] dec a jr nz, .asm_494a1 - ld hl, wd7d6 - set 7, [hl] + SetEvent EVENT_47F .asm_4949b ld hl, Route11GateUpstairsText_494a3 call PrintText @@ -52,8 +50,7 @@ Route11GateUpstairsText3: ; 494a8 (12:54a8) ld a, [wSpriteStateData1 + 9] cp SPRITE_FACING_UP jp nz, GateUpstairsScript_PrintIfFacingUp - ld a, [wd7d8] - bit 7, a ; fought snorlax? + CheckEvent EVENT_BEAT_ROUTE12_SNORLAX ld hl, BinocularsSnorlaxText jr z, .print ld hl, BinocularsNoSnorlaxText diff --git a/scripts/route12.asm b/scripts/route12.asm index 8fe9d8f7..be20958e 100755 --- a/scripts/route12.asm +++ b/scripts/route12.asm @@ -21,11 +21,10 @@ Route12ScriptPointers: ; 59611 (16:5611) dw Route12Script3 Route12Script0: ; 59619 (16:5619) - ld hl, wd7d8 - bit 7, [hl] + 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 [hSpriteIndexOrTextID], a @@ -54,8 +53,7 @@ Route12Script3: ; 5964c (16:564c) 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 @@ -80,63 +78,63 @@ Route12TextPointers: ; 59675 (16:5675) Route12TrainerHeaders: ; 59691 (16:5691) Route12TrainerHeader0: ; 59691 (16:5691) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_0 db ($4 << 4) ; trainer's view range - dw wd7d7 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_0 dw Route12BattleText1 ; TextBeforeBattle dw Route12AfterBattleText1 ; TextAfterBattle dw Route12EndBattleText1 ; TextEndBattle dw Route12EndBattleText1 ; TextEndBattle Route12TrainerHeader1: ; 5969d (16:569d) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_1 db ($4 << 4) ; trainer's view range - dw wd7d7 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_1 dw Route12BattleText2 ; TextBeforeBattle dw Route12AfterBattleText2 ; TextAfterBattle dw Route12EndBattleText2 ; TextEndBattle dw Route12EndBattleText2 ; TextEndBattle Route12TrainerHeader2: ; 596a9 (16:56a9) - db $4 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_2 db ($4 << 4) ; trainer's view range - dw wd7d7 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_2 dw Route12BattleText3 ; TextBeforeBattle dw Route12AfterBattleText3 ; TextAfterBattle dw Route12EndBattleText3 ; TextEndBattle dw Route12EndBattleText3 ; TextEndBattle Route12TrainerHeader3: ; 596b5 (16:56b5) - db $5 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_3 db ($4 << 4) ; trainer's view range - dw wd7d7 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_3 dw Route12BattleText4 ; TextBeforeBattle dw Route12AfterBattleText4 ; TextAfterBattle dw Route12EndBattleText4 ; TextEndBattle dw Route12EndBattleText4 ; TextEndBattle Route12TrainerHeader4: ; 596c1 (16:56c1) - db $6 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_4 db ($4 << 4) ; trainer's view range - dw wd7d7 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_4 dw Route12BattleText5 ; TextBeforeBattle dw Route12AfterBattleText5 ; TextAfterBattle dw Route12EndBattleText5 ; TextEndBattle dw Route12EndBattleText5 ; TextEndBattle Route12TrainerHeader5: ; 596cd (16:56cd) - db $7 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_5 db ($4 << 4) ; trainer's view range - dw wd7d7 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_5 dw Route12BattleText6 ; TextBeforeBattle dw Route12AfterBattleText6 ; TextAfterBattle dw Route12EndBattleText6 ; TextEndBattle dw Route12EndBattleText6 ; TextEndBattle Route12TrainerHeader6: ; 596d9 (16:56d9) - db $8 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_6, 1 db ($1 << 4) ; trainer's view range - dw wd7d7 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_6, 1 dw Route12BattleText7 ; TextBeforeBattle dw Route12AfterBattleText7 ; TextAfterBattle dw Route12EndBattleText7 ; TextEndBattle diff --git a/scripts/route12gateupstairs.asm b/scripts/route12gateupstairs.asm index d4e8e983..e1f8901f 100755 --- a/scripts/route12gateupstairs.asm +++ b/scripts/route12gateupstairs.asm @@ -8,8 +8,7 @@ Route12GateUpstairsTextPointers: ; 49563 (12:5563) Route12GateUpstairsText1: ; 49569 (12:5569) TX_ASM - ld a, [wd7d7] - rrca + CheckEvent EVENT_480, 1 jr c, .asm_0ad3c ld hl, TM39PreReceiveText call PrintText @@ -18,8 +17,7 @@ Route12GateUpstairsText1: ; 49569 (12:5569) jr nc, .BagFull ld hl, ReceivedTM39Text call PrintText - ld hl, wd7d7 - set 0, [hl] + SetEvent EVENT_480 jr .asm_4ba56 .BagFull ld hl, TM39NoRoomText diff --git a/scripts/route13.asm b/scripts/route13.asm index aed4745c..ab061071 100755 --- a/scripts/route13.asm +++ b/scripts/route13.asm @@ -29,90 +29,90 @@ Route13TextPointers: ; 55837 (15:5837) Route13TrainerHeaders: ; 55851 (15:5851) Route13TrainerHeader0: ; 55851 (15:5851) - db $1 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_0 db ($2 << 4) ; trainer's view range - dw wd7d9 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_0 dw Route13BattleText2 ; TextBeforeBattle dw Route13AfterBattleText2 ; TextAfterBattle dw Route13EndBattleText2 ; TextEndBattle dw Route13EndBattleText2 ; TextEndBattle Route13TrainerHeader2: ; 5585d (15:585d) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_2 db ($2 << 4) ; trainer's view range - dw wd7d9 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_2 dw Route13BattleText3 ; TextBeforeBattle dw Route13AfterBattleText3 ; TextAfterBattle dw Route13EndBattleText3 ; TextEndBattle dw Route13EndBattleText3 ; TextEndBattle Route13TrainerHeader3: ; 55869 (15:5869) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_3 db ($2 << 4) ; trainer's view range - dw wd7d9 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_3 dw Route13BattleText4 ; TextBeforeBattle dw Route13AfterBattleText4 ; TextAfterBattle dw Route13EndBattleText4 ; TextEndBattle dw Route13EndBattleText4 ; TextEndBattle Route13TrainerHeader4: ; 55875 (15:5875) - db $4 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_4 db ($2 << 4) ; trainer's view range - dw wd7d9 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_4 dw Route13BattleText5 ; TextBeforeBattle dw Route13AfterBattleText5 ; TextAfterBattle dw Route13EndBattleText5 ; TextEndBattle dw Route13EndBattleText5 ; TextEndBattle Route13TrainerHeader5: ; 55881 (15:5881) - db $5 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_5 db ($4 << 4) ; trainer's view range - dw wd7d9 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_5 dw Route13BattleText6 ; TextBeforeBattle dw Route13AfterBattleText6 ; TextAfterBattle dw Route13EndBattleText6 ; TextEndBattle dw Route13EndBattleText6 ; TextEndBattle Route13TrainerHeader6: ; 5588d (15:588d) - db $6 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_6 db ($2 << 4) ; trainer's view range - dw wd7d9 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_6 dw Route13BattleText7 ; TextBeforeBattle dw Route13AfterBattleText7 ; TextAfterBattle dw Route13EndBattleText7 ; TextEndBattle dw Route13EndBattleText7 ; TextEndBattle Route13TrainerHeader7: ; 55899 (15:5899) - db $7 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_7 db ($4 << 4) ; trainer's view range - dw wd7d9 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_7 dw Route13BattleText8 ; TextBeforeBattle dw Route13AfterBattleText8 ; TextAfterBattle dw Route13EndBattleText8 ; TextEndBattle dw Route13EndBattleText8 ; TextEndBattle Route13TrainerHeader8: ; 558a5 (15:58a5) - db $8 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_8, 1 db ($2 << 4) ; trainer's view range - dw wd7d9 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_8, 1 dw Route13BattleText9 ; TextBeforeBattle dw Route13AfterBattleText9 ; TextAfterBattle dw Route13EndBattleText9 ; TextEndBattle dw Route13EndBattleText9 ; TextEndBattle Route13TrainerHeader9: ; 558b1 (15:58b1) - db $9 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_9, 1 db ($2 << 4) ; trainer's view range - dw wd7d9 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_9, 1 dw Route13BattleText10 ; TextBeforeBattle dw Route13AfterBattleText10 ; TextAfterBattle dw Route13EndBattleText10 ; TextEndBattle dw Route13EndBattleText10 ; TextEndBattle Route13TrainerHeader10: ; 558bd (15:58bd) - db $a ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_10, 1 db ($4 << 4) ; trainer's view range - dw wd7d9 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_10, 1 dw Route13BattleText11 ; TextBeforeBattle dw Route13AfterBattleText11 ; TextAfterBattle dw Route13EndBattleText11 ; TextEndBattle diff --git a/scripts/route14.asm b/scripts/route14.asm index 25a2cd85..d65e257f 100755 --- a/scripts/route14.asm +++ b/scripts/route14.asm @@ -27,90 +27,90 @@ Route14TextPointers: ; 559ec (15:59ec) Route14TrainerHeaders: ; 55a02 (15:5a02) Route14TrainerHeader0: ; 55a02 (15:5a02) - db $1 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_0 db ($2 << 4) ; trainer's view range - dw wd7db ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_0 dw Route14BattleText1 ; TextBeforeBattle dw Route14AfterBattleText1 ; TextAfterBattle dw Route14EndBattleText1 ; TextEndBattle dw Route14EndBattleText1 ; TextEndBattle Route14TrainerHeader1: ; 55a0e (15:5a0e) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_1 db ($2 << 4) ; trainer's view range - dw wd7db ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_1 dw Route14BattleText2 ; TextBeforeBattle dw Route14AfterBattleText2 ; TextAfterBattle dw Route14EndBattleText2 ; TextEndBattle dw Route14EndBattleText2 ; TextEndBattle Route14TrainerHeader2: ; 55a1a (15:5a1a) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_2 db ($4 << 4) ; trainer's view range - dw wd7db ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_2 dw Route14BattleText3 ; TextBeforeBattle dw Route14AfterBattleText3 ; TextAfterBattle dw Route14EndBattleText3 ; TextEndBattle dw Route14EndBattleText3 ; TextEndBattle Route14TrainerHeader3: ; 55a26 (15:5a26) - db $4 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_3 db ($3 << 4) ; trainer's view range - dw wd7db ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_3 dw Route14BattleText4 ; TextBeforeBattle dw Route14AfterBattleText4 ; TextAfterBattle dw Route14EndBattleText4 ; TextEndBattle dw Route14EndBattleText4 ; TextEndBattle Route14TrainerHeader4: ; 55a32 (15:5a32) - db $5 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_4 db ($3 << 4) ; trainer's view range - dw wd7db ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_4 dw Route14BattleText5 ; TextBeforeBattle dw Route14AfterBattleText5 ; TextAfterBattle dw Route14EndBattleText5 ; TextEndBattle dw Route14EndBattleText5 ; TextEndBattle Route14TrainerHeader5: ; 55a3e (15:5a3e) - db $6 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_5 db ($4 << 4) ; trainer's view range - dw wd7db ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_5 dw Route14BattleText6 ; TextBeforeBattle dw Route14AfterBattleText6 ; TextAfterBattle dw Route14EndBattleText6 ; TextEndBattle dw Route14EndBattleText6 ; TextEndBattle Route14TrainerHeader6: ; 55a4a (15:5a4a) - db $7 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_6 db ($4 << 4) ; trainer's view range - dw wd7db ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_6 dw Route14BattleText7 ; TextBeforeBattle dw Route14AfterBattleText7 ; TextAfterBattle dw Route14EndBattleText7 ; TextEndBattle dw Route14EndBattleText7 ; TextEndBattle Route14TrainerHeader7: ; 55a56 (15:5a56) - db $8 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_7, 1 db ($4 << 4) ; trainer's view range - dw wd7db ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_7, 1 dw Route14BattleText8 ; TextBeforeBattle dw Route14AfterBattleText8 ; TextAfterBattle dw Route14EndBattleText8 ; TextEndBattle dw Route14EndBattleText8 ; TextEndBattle Route14TrainerHeader8: ; 55a62 (15:5a62) - db $9 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_8, 1 db ($3 << 4) ; trainer's view range - dw wd7db ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_8, 1 dw Route14BattleText9 ; TextBeforeBattle dw Route14AfterBattleText9 ; TextAfterBattle dw Route14EndBattleText9 ; TextEndBattle dw Route14EndBattleText9 ; TextEndBattle Route14TrainerHeader9: ; 55a6e (15:5a6e) - db $a ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_9, 1 db ($4 << 4) ; trainer's view range - dw wd7db ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_9, 1 dw Route14BattleText10 ; TextBeforeBattle dw Route14AfterBattleText10 ; TextAfterBattle dw Route14EndBattleText10 ; TextEndBattle diff --git a/scripts/route15.asm b/scripts/route15.asm index fe70d2b4..023f859c 100755 --- a/scripts/route15.asm +++ b/scripts/route15.asm @@ -28,90 +28,90 @@ Route15TextPointers: ; 597c7 (16:57c7) Route15TrainerHeaders: ; 597df (16:57df) Route15TrainerHeader0: ; 597df (16:57df) - db $1 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_0 db ($2 << 4) ; trainer's view range - dw wd7dd ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_0 dw Route15BattleText1 ; TextBeforeBattle dw Route15AfterBattleText1 ; TextAfterBattle dw Route15EndBattleText1 ; TextEndBattle dw Route15EndBattleText1 ; TextEndBattle Route15TrainerHeader1: ; 597eb (16:57eb) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_1 db ($3 << 4) ; trainer's view range - dw wd7dd ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_1 dw Route15BattleText2 ; TextBeforeBattle dw Route15AfterBattleText2 ; TextAfterBattle dw Route15EndBattleText2 ; TextEndBattle dw Route15EndBattleText2 ; TextEndBattle Route15TrainerHeader2: ; 597f7 (16:57f7) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_2 db ($3 << 4) ; trainer's view range - dw wd7dd ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_2 dw Route15BattleText3 ; TextBeforeBattle dw Route15AfterBattleText3 ; TextAfterBattle dw Route15EndBattleText3 ; TextEndBattle dw Route15EndBattleText3 ; TextEndBattle Route15TrainerHeader3: ; 59803 (16:5803) - db $4 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_3 db ($3 << 4) ; trainer's view range - dw wd7dd ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_3 dw Route15BattleText4 ; TextBeforeBattle dw Route15AfterBattleText4 ; TextAfterBattle dw Route15EndBattleText4 ; TextEndBattle dw Route15EndBattleText4 ; TextEndBattle Route15TrainerHeader4: ; 5980f (16:580f) - db $5 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_4 db ($2 << 4) ; trainer's view range - dw wd7dd ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_4 dw Route15BattleText5 ; TextBeforeBattle dw Route15AfterBattleText5 ; TextAfterBattle dw Route15EndBattleText5 ; TextEndBattle dw Route15EndBattleText5 ; TextEndBattle Route15TrainerHeader5: ; 5981b (16:581b) - db $6 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_5 db ($3 << 4) ; trainer's view range - dw wd7dd ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_5 dw Route15BattleText6 ; TextBeforeBattle dw Route15AfterBattleText6 ; TextAfterBattle dw Route15EndBattleText6 ; TextEndBattle dw Route15EndBattleText6 ; TextEndBattle Route15TrainerHeader6: ; 59827 (16:5827) - db $7 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_6 db ($3 << 4) ; trainer's view range - dw wd7dd ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_6 dw Route15BattleText7 ; TextBeforeBattle dw Route15AfterBattleText7 ; TextAfterBattle dw Route15EndBattleText7 ; TextEndBattle dw Route15EndBattleText7 ; TextEndBattle Route15TrainerHeader7: ; 59833 (16:5833) - db $8 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_7, 1 db ($3 << 4) ; trainer's view range - dw wd7dd ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_7, 1 dw Route15BattleText8 ; TextBeforeBattle dw Route15AfterBattleText8 ; TextAfterBattle dw Route15EndBattleText8 ; TextEndBattle dw Route15EndBattleText8 ; TextEndBattle Route15TrainerHeader8: ; 5983f (16:583f) - db $9 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_8, 1 db ($3 << 4) ; trainer's view range - dw wd7dd ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_8, 1 dw Route15BattleText9 ; TextBeforeBattle dw Route15AfterBattleText9 ; TextAfterBattle dw Route15EndBattleText9 ; TextEndBattle dw Route15EndBattleText9 ; TextEndBattle Route15TrainerHeader9: ; 5984b (16:584b) - db $a ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_9, 1 db ($3 << 4) ; trainer's view range - dw wd7dd ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_9, 1 dw Route15BattleText10 ; TextBeforeBattle dw Route15AfterBattleText10 ; TextAfterBattle dw Route15EndBattleText10 ; TextEndBattle diff --git a/scripts/route15gateupstairs.asm b/scripts/route15gateupstairs.asm index 8969fd74..e3a3cf3b 100755 --- a/scripts/route15gateupstairs.asm +++ b/scripts/route15gateupstairs.asm @@ -7,8 +7,7 @@ Route15GateUpstairsTextPointers: ; 4964d (12:564d) Route15GateUpstairsText1: ; 49651 (12:5651) TX_ASM - ld a, [wd7dd] - bit 0, a + CheckEvent EVENT_4B0 jr nz, .asm_49683 ld a, 50 ; pokemon needed ld [$ffdb], a @@ -24,8 +23,7 @@ Route15GateUpstairsText1: ; 49651 (12:5651) ld a, [$ffdb] cp $1 jr nz, .asm_49689 - ld hl, wd7dd - set 0, [hl] + SetEvent EVENT_4B0 .asm_49683 ld hl, Route15GateUpstairsText_4968c call PrintText diff --git a/scripts/route16.asm b/scripts/route16.asm index cdf436a5..286b5289 100755 --- a/scripts/route16.asm +++ b/scripts/route16.asm @@ -21,11 +21,10 @@ Route16ScriptPointers: ; 59951 (16:5951) dw Route16Script3 Route16Script0: ; 59959 (16:5959) - ld hl, wd7e0 - bit 1, [hl] + 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 [hSpriteIndexOrTextID], a @@ -55,8 +54,7 @@ Route16Script3: ; 5998f (16:598f) 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 @@ -78,54 +76,54 @@ Route16TextPointers: ; 599b9 (16:59b9) Route16TrainerHeaders: ; 599cf (16:59cf) Route16TrainerHeader0: ; 599cf (16:59cf) - db $1 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_16_TRAINER_0 db ($3 << 4) ; trainer's view range - dw wd7df ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_16_TRAINER_0 dw Route16BattleText1 ; TextBeforeBattle dw Route16AfterBattleText1 ; TextAfterBattle dw Route16EndBattleText1 ; TextEndBattle dw Route16EndBattleText1 ; TextEndBattle Route16TrainerHeader1: ; 599db (16:59db) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_16_TRAINER_1 db ($2 << 4) ; trainer's view range - dw wd7df ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_16_TRAINER_1 dw Route16BattleText2 ; TextBeforeBattle dw Route16AfterBattleText2 ; TextAfterBattle dw Route16EndBattleText2 ; TextEndBattle dw Route16EndBattleText2 ; TextEndBattle Route16TrainerHeader2: ; 599e7 (16:59e7) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_16_TRAINER_2 db ($2 << 4) ; trainer's view range - dw wd7df ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_16_TRAINER_2 dw Route16BattleText3 ; TextBeforeBattle dw Route16AfterBattleText3 ; TextAfterBattle dw Route16EndBattleText3 ; TextEndBattle dw Route16EndBattleText3 ; TextEndBattle Route16TrainerHeader3: ; 599f3 (16:59f3) - db $4 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_16_TRAINER_3 db ($2 << 4) ; trainer's view range - dw wd7df ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_16_TRAINER_3 dw Route16BattleText4 ; TextBeforeBattle dw Route16AfterBattleText4 ; TextAfterBattle dw Route16EndBattleText4 ; TextEndBattle dw Route16EndBattleText4 ; TextEndBattle Route16TrainerHeader4: ; 599ff (16:59ff) - db $5 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_16_TRAINER_4 db ($2 << 4) ; trainer's view range - dw wd7df ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_16_TRAINER_4 dw Route16BattleText5 ; TextBeforeBattle dw Route16AfterBattleText5 ; TextAfterBattle dw Route16EndBattleText5 ; TextEndBattle dw Route16EndBattleText5 ; TextEndBattle Route16TrainerHeader5: ; 59a0b (16:5a0b) - db $6 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_16_TRAINER_5 db ($4 << 4) ; trainer's view range - dw wd7df ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_16_TRAINER_5 dw Route16BattleText6 ; TextBeforeBattle dw Route16AfterBattleText6 ; TextAfterBattle dw Route16EndBattleText6 ; TextEndBattle diff --git a/scripts/route16house.asm b/scripts/route16house.asm index 5035b190..d01465cb 100755 --- a/scripts/route16house.asm +++ b/scripts/route16house.asm @@ -7,8 +7,7 @@ Route16HouseTextPointers: ; 1e5fb (7:65fb) Route16HouseText1: ; 1e5ff (7:65ff) TX_ASM - ld a, [wd7e0] - bit 6, a + CheckEvent EVENT_4CE ld hl, HM02ExplanationText jr nz, .asm_13616 ld hl, Route16HouseText3 @@ -16,8 +15,7 @@ Route16HouseText1: ; 1e5ff (7:65ff) ld bc, (HM_02 << 8) | 1 call GiveItem jr nc, .BagFull - ld hl, wd7e0 - set 6, [hl] + SetEvent EVENT_4CE ld hl, ReceivedHM02Text jr .asm_13616 .BagFull diff --git a/scripts/route17.asm b/scripts/route17.asm index 8de70c3b..28c43627 100755 --- a/scripts/route17.asm +++ b/scripts/route17.asm @@ -32,90 +32,90 @@ Route17TextPointers: ; 55b93 (15:5b93) Route17TrainerHeaders: ; 55bb3 (15:5bb3) Route17TrainerHeader0: ; 55bb3 (15:5bb3) - db $1 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_0 db ($3 << 4) ; trainer's view range - dw wd7e1 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_0 dw Route17BattleText1 ; TextBeforeBattle dw Route17AfterBattleText1 ; TextAfterBattle dw Route17EndBattleText1 ; TextEndBattle dw Route17EndBattleText1 ; TextEndBattle Route17TrainerHeader1: ; 55bbf (15:5bbf) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_1 db ($4 << 4) ; trainer's view range - dw wd7e1 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_1 dw Route17BattleText2 ; TextBeforeBattle dw Route17AfterBattleText2 ; TextAfterBattle dw Route17EndBattleText2 ; TextEndBattle dw Route17EndBattleText2 ; TextEndBattle Route17TrainerHeader2: ; 55bcb (15:5bcb) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_2 db ($4 << 4) ; trainer's view range - dw wd7e1 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_2 dw Route17BattleText3 ; TextBeforeBattle dw Route17AfterBattleText3 ; TextAfterBattle dw Route17EndBattleText3 ; TextEndBattle dw Route17EndBattleText3 ; TextEndBattle Route17TrainerHeader3: ; 55bd7 (15:5bd7) - db $4 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_3 db ($4 << 4) ; trainer's view range - dw wd7e1 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_3 dw Route17BattleText4 ; TextBeforeBattle dw Route17AfterBattleText4 ; TextAfterBattle dw Route17EndBattleText4 ; TextEndBattle dw Route17EndBattleText4 ; TextEndBattle Route17TrainerHeader4: ; 55be3 (15:5be3) - db $5 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_4 db ($3 << 4) ; trainer's view range - dw wd7e1 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_4 dw Route17BattleText5 ; TextBeforeBattle dw Route17AfterBattleText5 ; TextAfterBattle dw Route17EndBattleText5 ; TextEndBattle dw Route17EndBattleText5 ; TextEndBattle Route17TrainerHeader5: ; 55bef (15:5bef) - db $6 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_5 db ($2 << 4) ; trainer's view range - dw wd7e1 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_5 dw Route17BattleText6 ; TextBeforeBattle dw Route17AfterBattleText6 ; TextAfterBattle dw Route17EndBattleText6 ; TextEndBattle dw Route17EndBattleText6 ; TextEndBattle Route17TrainerHeader6: ; 55bfb (15:5bfb) - db $7 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_6 db ($4 << 4) ; trainer's view range - dw wd7e1 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_6 dw Route17BattleText7 ; TextBeforeBattle dw Route17AfterBattleText7 ; TextAfterBattle dw Route17EndBattleText7 ; TextEndBattle dw Route17EndBattleText7 ; TextEndBattle Route17TrainerHeader7: ; 55c07 (15:5c07) - db $8 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_7, 1 db ($2 << 4) ; trainer's view range - dw wd7e1 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_7, 1 dw Route17BattleText8 ; TextBeforeBattle dw Route17AfterBattleText8 ; TextAfterBattle dw Route17EndBattleText8 ; TextEndBattle dw Route17EndBattleText8 ; TextEndBattle Route17TrainerHeader8: ; 55c13 (15:5c13) - db $9 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_8, 1 db ($3 << 4) ; trainer's view range - dw wd7e1 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_8, 1 dw Route17BattleText9 ; TextBeforeBattle dw Route17AfterBattleText9 ; TextAfterBattle dw Route17EndBattleText9 ; TextEndBattle dw Route17EndBattleText9 ; TextEndBattle Route17TrainerHeader9: ; 55c1f (15:5c1f) - db $a ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_9, 1 db ($4 << 4) ; trainer's view range - dw wd7e1 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_9, 1 dw Route17BattleText10 ; TextBeforeBattle dw Route17AfterBattleText10 ; TextAfterBattle dw Route17EndBattleText10 ; TextEndBattle diff --git a/scripts/route18.asm b/scripts/route18.asm index 80242169..9a077faf 100755 --- a/scripts/route18.asm +++ b/scripts/route18.asm @@ -21,27 +21,27 @@ Route18TextPointers: ; 59ae0 (16:5ae0) Route18TrainerHeaders: ; 59aea (16:5aea) Route18TrainerHeader0: ; 59aea (16:5aea) - db $1 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_18_TRAINER_0 db ($3 << 4) ; trainer's view range - dw wd7e3 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_18_TRAINER_0 dw Route18BattleText1 ; TextBeforeBattle dw Route18AfterBattleText1 ; TextAfterBattle dw Route18EndBattleText1 ; TextEndBattle dw Route18EndBattleText1 ; TextEndBattle Route18TrainerHeader1: ; 59af6 (16:5af6) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_18_TRAINER_1 db ($3 << 4) ; trainer's view range - dw wd7e3 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_18_TRAINER_1 dw Route18BattleText2 ; TextBeforeBattle dw Route18AfterBattleText2 ; TextAfterBattle dw Route18EndBattleText2 ; TextEndBattle dw Route18EndBattleText2 ; TextEndBattle Route18TrainerHeader2: ; 59b02 (16:5b02) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_18_TRAINER_2 db ($4 << 4) ; trainer's view range - dw wd7e3 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_18_TRAINER_2 dw Route18BattleText3 ; TextBeforeBattle dw Route18AfterBattleText3 ; TextAfterBattle dw Route18EndBattleText3 ; TextEndBattle diff --git a/scripts/route19.asm b/scripts/route19.asm index 0265d2a3..4a60e40f 100755 --- a/scripts/route19.asm +++ b/scripts/route19.asm @@ -27,90 +27,90 @@ Route19TextPointers: ; 55d5d (15:5d5d) Route19TrainerHeaders: ; 55d73 (15:5d73) Route19TrainerHeader0: ; 55d73 (15:5d73) - db $1 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_0 db ($4 << 4) ; trainer's view range - dw wd7e5 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_0 dw Route19BattleText1 ; TextBeforeBattle dw Route19AfterBattleText1 ; TextAfterBattle dw Route19EndBattleText1 ; TextEndBattle dw Route19EndBattleText1 ; TextEndBattle Route19TrainerHeader1: ; 55d7f (15:5d7f) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_1 db ($3 << 4) ; trainer's view range - dw wd7e5 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_1 dw Route19BattleText2 ; TextBeforeBattle dw Route19AfterBattleText2 ; TextAfterBattle dw Route19EndBattleText2 ; TextEndBattle dw Route19EndBattleText2 ; TextEndBattle Route19TrainerHeader2: ; 55d8b (15:5d8b) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_2 db ($3 << 4) ; trainer's view range - dw wd7e5 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_2 dw Route19BattleText3 ; TextBeforeBattle dw Route19AfterBattleText3 ; TextAfterBattle dw Route19EndBattleText3 ; TextEndBattle dw Route19EndBattleText3 ; TextEndBattle Route19TrainerHeader3: ; 55d97 (15:5d97) - db $4 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_3 db ($4 << 4) ; trainer's view range - dw wd7e5 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_3 dw Route19BattleText4 ; TextBeforeBattle dw Route19AfterBattleText4 ; TextAfterBattle dw Route19EndBattleText4 ; TextEndBattle dw Route19EndBattleText4 ; TextEndBattle Route19TrainerHeader4: ; 55da3 (15:5da3) - db $5 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_4 db ($4 << 4) ; trainer's view range - dw wd7e5 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_4 dw Route19BattleText5 ; TextBeforeBattle dw Route19AfterBattleText5 ; TextAfterBattle dw Route19EndBattleText5 ; TextEndBattle dw Route19EndBattleText5 ; TextEndBattle Route19TrainerHeader5: ; 55daf (15:5daf) - db $6 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_5 db ($4 << 4) ; trainer's view range - dw wd7e5 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_5 dw Route19BattleText6 ; TextBeforeBattle dw Route19AfterBattleText6 ; TextAfterBattle dw Route19EndBattleText6 ; TextEndBattle dw Route19EndBattleText6 ; TextEndBattle Route19TrainerHeader6: ; 55dbb (15:5dbb) - db $7 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_6 db ($3 << 4) ; trainer's view range - dw wd7e5 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_6 dw Route19BattleText7 ; TextBeforeBattle dw Route19AfterBattleText7 ; TextAfterBattle dw Route19EndBattleText7 ; TextEndBattle dw Route19EndBattleText7 ; TextEndBattle Route19TrainerHeader7: ; 55dc7 (15:5dc7) - db $8 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_7, 1 db ($4 << 4) ; trainer's view range - dw wd7e5 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_7, 1 dw Route19BattleText8 ; TextBeforeBattle dw Route19AfterBattleText8 ; TextAfterBattle dw Route19EndBattleText8 ; TextEndBattle dw Route19EndBattleText8 ; TextEndBattle Route19TrainerHeader8: ; 55dd3 (15:5dd3) - db $9 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_8, 1 db ($4 << 4) ; trainer's view range - dw wd7e5 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_8, 1 dw Route19BattleText9 ; TextBeforeBattle dw Route19AfterBattleText9 ; TextAfterBattle dw Route19EndBattleText9 ; TextEndBattle dw Route19EndBattleText9 ; TextEndBattle Route19TrainerHeader9: ; 55ddf (15:5ddf) - db $a ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_9, 1 db ($4 << 4) ; trainer's view range - dw wd7e5 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_9, 1 dw Route19BattleText10 ; TextBeforeBattle dw Route19AfterBattleText10 ; TextAfterBattle dw Route19EndBattleText10 ; TextEndBattle diff --git a/scripts/route20.asm b/scripts/route20.asm index 085a6c18..f4690732 100755 --- a/scripts/route20.asm +++ b/scripts/route20.asm @@ -1,7 +1,5 @@ Route20Script: ; 50ca9 (14:4ca9) - ld hl, wd7e7 - bit 0, [hl] - res 0, [hl] + CheckAndResetEvent EVENT_500 call nz, Route20Script_50cc6 call EnableAutoTextBoxDrawing ld hl, Route20TrainerHeader0 @@ -12,9 +10,7 @@ Route20Script: ; 50ca9 (14:4ca9) ret Route20Script_50cc6: ; 50cc6 (14:4cc6) - ld a, [wd880] - and $3 - cp $3 + CheckBothEventsSet EVENT_9C8, EVENT_9C9 jr z, .asm_50cef ld a, HS_SEAFOAM_ISLANDS_1_BOULDER_1 call Route20Script_50d0c @@ -40,9 +36,7 @@ Route20Script_50cc6: ; 50cc6 (14:4cc6) db $FF .asm_50cef - ld a, [wd881] - and $3 - cp $3 + CheckBothEventsSet EVENT_9D0, EVENT_9D1 ret z ld a, HS_SEAFOAM_ISLANDS_4_BOULDER_1 call Route20Script_50d0c @@ -83,90 +77,90 @@ Route20TextPointers: ; 50d22 (14:4d22) Route20TrainerHeaders: ; 50d3a (14:4d3a) Route20TrainerHeader0: ; 50d3a (14:4d3a) - db $1 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_0 db ($4 << 4) ; trainer's view range - dw wd7e7 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_0 dw Route20BattleText1 ; TextBeforeBattle dw Route20AfterBattleText1 ; TextAfterBattle dw Route20EndBattleText1 ; TextEndBattle dw Route20EndBattleText1 ; TextEndBattle Route20TrainerHeader2: ; 50d46 (14:4d46) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_2 db ($4 << 4) ; trainer's view range - dw wd7e7 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_2 dw Route20BattleText2 ; TextBeforeBattle dw Route20AfterBattleText2 ; TextAfterBattle dw Route20EndBattleText2 ; TextEndBattle dw Route20EndBattleText2 ; TextEndBattle Route20TrainerHeader3: ; 50d52 (14:4d52) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_3 db ($2 << 4) ; trainer's view range - dw wd7e7 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_3 dw Route20BattleText3 ; TextBeforeBattle dw Route20AfterBattleText3 ; TextAfterBattle dw Route20EndBattleText3 ; TextEndBattle dw Route20EndBattleText3 ; TextEndBattle Route20TrainerHeader4: ; 50d5e (14:4d5e) - db $4 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_4 db ($4 << 4) ; trainer's view range - dw wd7e7 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_4 dw Route20BattleText4 ; TextBeforeBattle dw Route20AfterBattleText4 ; TextAfterBattle dw Route20EndBattleText4 ; TextEndBattle dw Route20EndBattleText4 ; TextEndBattle Route20TrainerHeader5: ; 50d6a (14:4d6a) - db $5 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_5 db ($3 << 4) ; trainer's view range - dw wd7e7 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_5 dw Route20BattleText5 ; TextBeforeBattle dw Route20AfterBattleText5 ; TextAfterBattle dw Route20EndBattleText5 ; TextEndBattle dw Route20EndBattleText5 ; TextEndBattle Route20TrainerHeader6: ; 50d76 (14:4d76) - db $6 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_6 db ($4 << 4) ; trainer's view range - dw wd7e7 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_6 dw Route20BattleText6 ; TextBeforeBattle dw Route20AfterBattleText6 ; TextAfterBattle dw Route20EndBattleText6 ; TextEndBattle dw Route20EndBattleText6 ; TextEndBattle Route20TrainerHeader7: ; 50d82 (14:4d82) - db $7 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_7 db ($2 << 4) ; trainer's view range - dw wd7e7 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_7 dw Route20BattleText7 ; TextBeforeBattle dw Route20AfterBattleText7 ; TextAfterBattle dw Route20EndBattleText7 ; TextEndBattle dw Route20EndBattleText7 ; TextEndBattle Route20TrainerHeader8: ; 50d8e (14:4d8e) - db $8 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_8, 1 db ($4 << 4) ; trainer's view range - dw wd7e7 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_8, 1 dw Route20BattleText8 ; TextBeforeBattle dw Route20AfterBattleText8 ; TextAfterBattle dw Route20EndBattleText8 ; TextEndBattle dw Route20EndBattleText8 ; TextEndBattle Route20TrainerHeader9: ; 50d9a (14:4d9a) - db $9 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_9, 1 db ($3 << 4) ; trainer's view range - dw wd7e7 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_9, 1 dw Route20BattleText9 ; TextBeforeBattle dw Route20AfterBattleText9 ; TextAfterBattle dw Route20EndBattleText9 ; TextEndBattle dw Route20EndBattleText9 ; TextEndBattle Route20TrainerHeader10: ; 50da6 (14:4da6) - db $a ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_10, 1 db ($4 << 4) ; trainer's view range - dw wd7e7 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_10, 1 dw Route20BattleText10 ; TextBeforeBattle dw Route20AfterBattleText10 ; TextAfterBattle dw Route20EndBattleText10 ; TextEndBattle diff --git a/scripts/route21.asm b/scripts/route21.asm index cbb5ea7b..4c8087fd 100755 --- a/scripts/route21.asm +++ b/scripts/route21.asm @@ -25,81 +25,81 @@ Route21TextPointers: ; 55f04 (15:5f04) Route21TrainerHeaders: ; 55f16 (15:5f16) Route21TrainerHeader0: ; 55f16 (15:5f16) - db $1 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_0 db ($0 << 4) ; trainer's view range - dw wd7e9 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_0 dw Route21BattleText1 ; TextBeforeBattle dw Route21AfterBattleText1 ; TextAfterBattle dw Route21EndBattleText1 ; TextEndBattle dw Route21EndBattleText1 ; TextEndBattle Route21TrainerHeader1: ; 55f22 (15:5f22) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_1 db ($0 << 4) ; trainer's view range - dw wd7e9 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_1 dw Route21BattleText2 ; TextBeforeBattle dw Route21AfterBattleText2 ; TextAfterBattle dw Route21EndBattleText2 ; TextEndBattle dw Route21EndBattleText2 ; TextEndBattle Route21TrainerHeader2: ; 55f2e (15:5f2e) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_2 db ($4 << 4) ; trainer's view range - dw wd7e9 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_2 dw Route21BattleText3 ; TextBeforeBattle dw Route21AfterBattleText3 ; TextAfterBattle dw Route21EndBattleText3 ; TextEndBattle dw Route21EndBattleText3 ; TextEndBattle Route21TrainerHeader3: ; 55f3a (15:5f3a) - db $4 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_3 db ($4 << 4) ; trainer's view range - dw wd7e9 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_3 dw Route21BattleText4 ; TextBeforeBattle dw Route21AfterBattleText4 ; TextAfterBattle dw Route21EndBattleText4 ; TextEndBattle dw Route21EndBattleText4 ; TextEndBattle Route21TrainerHeader4: ; 55f46 (15:5f46) - db $5 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_4 db ($4 << 4) ; trainer's view range - dw wd7e9 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_4 dw Route21BattleText5 ; TextBeforeBattle dw Route21AfterBattleText5 ; TextAfterBattle dw Route21EndBattleText5 ; TextEndBattle dw Route21EndBattleText5 ; TextEndBattle Route21TrainerHeader5: ; 55f52 (15:5f52) - db $6 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_5 db ($4 << 4) ; trainer's view range - dw wd7e9 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_5 dw Route21BattleText6 ; TextBeforeBattle dw Route21AfterBattleText6 ; TextAfterBattle dw Route21EndBattleText6 ; TextEndBattle dw Route21EndBattleText6 ; TextEndBattle Route21TrainerHeader6: ; 55f5e (15:5f5e) - db $7 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_6 db ($3 << 4) ; trainer's view range - dw wd7e9 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_6 dw Route21BattleText7 ; TextBeforeBattle dw Route21AfterBattleText7 ; TextAfterBattle dw Route21EndBattleText7 ; TextEndBattle dw Route21EndBattleText7 ; TextEndBattle Route21TrainerHeader7: ; 55f6a (15:5f6a) - db $8 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_7, 1 db ($0 << 4) ; trainer's view range - dw wd7e9 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_7, 1 dw Route21BattleText8 ; TextBeforeBattle dw Route21AfterBattleText8 ; TextAfterBattle dw Route21EndBattleText8 ; TextEndBattle dw Route21EndBattleText8 ; TextEndBattle Route21TrainerHeader8: ; 55f76 (15:5f76) - db $9 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_8, 1 db ($0 << 4) ; trainer's view range - dw wd7e9 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_8, 1 dw Route21BattleText9 ; TextBeforeBattle dw Route21AfterBattleText9 ; TextAfterBattle dw Route21EndBattleText9 ; TextEndBattle diff --git a/scripts/route22.asm b/scripts/route22.asm index 01f8bee8..dec8afd6 100755 --- a/scripts/route22.asm +++ b/scripts/route22.asm @@ -55,8 +55,7 @@ Route22RivalMovementData: ; 50efb (14:4efb) db $FF Route22Script0: ; 50f00 (14:4f00) - ld a, [wd7eb] - bit 7, a + CheckEvent EVENT_527 ret z ld hl, .Route22RivalBattleCoords call ArePlayerCoordsInArray @@ -69,10 +68,9 @@ Route22Script0: ; 50f00 (14:4f00) ld [wJoyIgnore], a ld a, PLAYER_DIR_LEFT ld [wPlayerMovingDirection], a - ld a, [wd7eb] - bit 0, a ; is this the rival battle at the beginning of the game? + CheckEvent EVENT_520 jr nz, .firstRivalBattle - bit 1, a ; is this the rival at the end of the game? + CheckEventReuseA EVENT_521 ; is this the rival at the end of the game? jp nz, Route22Script_5104e ret @@ -165,8 +163,7 @@ Route22Script2: ; 50fb5 (14:4fb5) call SetSpriteFacingDirectionAndDelay ld a, $f0 ld [wJoyIgnore], a - ld hl, wd7eb - set 5, [hl] + SetEvent EVENT_525 ld a, $1 ld [hSpriteIndexOrTextID], a call DisplayTextID @@ -230,9 +227,7 @@ Route22Script3: ; 5102a (14:502a) ld [wcc4d], a predef HideObject call PlayDefaultMusic - ld hl, wd7eb - res 0, [hl] - res 7, [hl] + ResetEvents EVENT_520, EVENT_527 ld a, $0 ld [W_ROUTE22CURSCRIPT], a ret @@ -327,8 +322,7 @@ Route22Script5: ; 510df (14:50df) call SetSpriteFacingDirectionAndDelay ld a, $f0 ld [wJoyIgnore], a - ld hl, wd7eb - set 6, [hl] + SetEvent EVENT_526 ld a, $2 ld [hSpriteIndexOrTextID], a call DisplayTextID @@ -378,9 +372,7 @@ Route22Script6: ; 51151 (14:5151) ld [wcc4d], a predef HideObject call PlayDefaultMusic - ld hl, wd7eb - res 1, [hl] - res 7, [hl] + ResetEvents EVENT_521, EVENT_527 ld a, $7 ld [W_ROUTE22CURSCRIPT], a ret @@ -392,8 +384,7 @@ Route22TextPointers: ; 51175 (14:5175) Route22Text1: ; 5117b (14:517b) TX_ASM - ld a, [wd7eb] - bit 5, a + CheckEvent EVENT_525 jr z, .asm_5118b ld hl, Route22RivalAfterBattleText1 call PrintText @@ -406,8 +397,7 @@ Route22Text1: ; 5117b (14:517b) Route22Text2: ; 51194 (14:5194) TX_ASM - ld a, [wd7eb] - bit 6, a + CheckEvent EVENT_526 jr z, .asm_511a4 ld hl, Route22RivalAfterBattleText2 call PrintText diff --git a/scripts/route23.asm b/scripts/route23.asm index cfcf41f5..e17b7d23 100755 --- a/scripts/route23.asm +++ b/scripts/route23.asm @@ -10,12 +10,8 @@ Route23Script_511e9: ; 511e9 (14:51e9) 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_538, EVENT_53F + ResetEvents EVENT_660, EVENT_666 ld a, HS_VICTORY_ROAD_3_BOULDER ld [wcc4d], a predef ShowObject @@ -33,7 +29,7 @@ Route23Script0: ; 51219 (14:5219) ld a, [W_YCOORD] ld b, a ld e, $0 - ld c, $7 + EventFlagBit c, EVENT_536 + 1, EVENT_530 .asm_51224 ld a, [hli] cp $ff @@ -53,7 +49,7 @@ Route23Script0: ; 51219 (14:5219) ld a, c ld [wWhichBadge], a ld b, FLAG_TEST - ld hl, wd7ed + EventFlagAddress hl, EVENT_530 predef FlagActionPredef ld a, c and a @@ -147,43 +143,43 @@ Route23TextPointers: ; 512f7 (14:52f7) Route23Text1: ; 51307 (14:5307) TX_ASM - ld a, $6 + EventFlagBit a, EVENT_536, EVENT_530 call Route23Script_51346 jp TextScriptEnd Route23Text2: ; 51310 (14:5310) TX_ASM - ld a, $5 + EventFlagBit a, EVENT_535, EVENT_530 call Route23Script_51346 jp TextScriptEnd Route23Text3: ; 51319 (14:5319) TX_ASM - ld a, $4 + EventFlagBit a, EVENT_534, EVENT_530 call Route23Script_51346 jp TextScriptEnd Route23Text4: ; 51322 (14:5322) TX_ASM - ld a, $3 + EventFlagBit a, EVENT_533, EVENT_530 call Route23Script_51346 jp TextScriptEnd Route23Text5: ; 5132b (14:532b) TX_ASM - ld a, $2 + EventFlagBit a, EVENT_532, EVENT_530 call Route23Script_51346 jp TextScriptEnd Route23Text6: ; 51334 (14:5334) TX_ASM - ld a, $1 + EventFlagBit a, EVENT_531, EVENT_530 call Route23Script_51346 jp TextScriptEnd Route23Text7: ; 5133d (14:533d) TX_ASM - ld a, $0 + EventFlagBit a, EVENT_530 call Route23Script_51346 jp TextScriptEnd @@ -211,7 +207,7 @@ Route23Script_51346: ; 51346 (14:5346) ld a, [wWhichBadge] ld c, a ld b, FLAG_SET - ld hl, wd7ed + EventFlagAddress hl, EVENT_530 predef FlagActionPredef ld a, $2 ld [W_ROUTE23CURSCRIPT], a diff --git a/scripts/route24.asm b/scripts/route24.asm index f6822a35..c946159c 100755 --- a/scripts/route24.asm +++ b/scripts/route24.asm @@ -22,8 +22,7 @@ Route24ScriptPointers: ; 513cb (14:53cb) dw Route24Script4 Route24Script0: ; 513d5 (14:53d5) - ld a, [wd7ef] - bit 0, a + CheckEvent EVENT_540 jp nz, CheckFightingMapTrainers ld hl, CoordsData_5140e call ArePlayerCoordsInArray @@ -33,9 +32,7 @@ Route24Script0: ; 513d5 (14:53d5) ld a, $1 ld [hSpriteIndexOrTextID], a call DisplayTextID - ld hl, wd7f0 - bit 1, [hl] - res 1, [hl] + CheckAndResetEvent EVENT_549 ret z ld a, D_DOWN ld [wSimulatedJoypadStatesEnd], a @@ -67,8 +64,7 @@ Route24Script3: ; 51422 (14:5422) call UpdateSprites ld a, $f0 ld [wJoyIgnore], a - ld hl, wd7ef - set 1, [hl] + SetEvent EVENT_541 ld a, $1 ld [hSpriteIndexOrTextID], a call DisplayTextID @@ -91,54 +87,54 @@ Route24TextPointers: ; 5144b (14:544b) Route24TrainerHeaders: ; 5145b (14:545b) Route24TrainerHeader0: ; 5145b (14:545b) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_24_TRAINER_0 db ($4 << 4) ; trainer's view range - dw wd7ef ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_24_TRAINER_0 dw Route24BattleText1 ; TextBeforeBattle dw Route24AfterBattleText1 ; TextAfterBattle dw Route24EndBattleText1 ; TextEndBattle dw Route24EndBattleText1 ; TextEndBattle Route24TrainerHeader2: ; 51467 (14:5467) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_24_TRAINER_2 db ($1 << 4) ; trainer's view range - dw wd7ef ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_24_TRAINER_2 dw Route24BattleText2 ; TextBeforeBattle dw Route24AfterBattleText2 ; TextAfterBattle dw Route24EndBattleText2 ; TextEndBattle dw Route24EndBattleText2 ; TextEndBattle Route24TrainerHeader3: ; 51473 (14:5473) - db $4 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_24_TRAINER_3 db ($1 << 4) ; trainer's view range - dw wd7ef ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_24_TRAINER_3 dw Route24BattleText3 ; TextBeforeBattle dw Route24AfterBattleText3 ; TextAfterBattle dw Route24EndBattleText3 ; TextEndBattle dw Route24EndBattleText3 ; TextEndBattle Route24TrainerHeader4: ; 5147f (14:547f) - db $5 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_24_TRAINER_4 db ($1 << 4) ; trainer's view range - dw wd7ef ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_24_TRAINER_4 dw Route24BattleText4 ; TextBeforeBattle dw Route24AfterBattleText4 ; TextAfterBattle dw Route24EndBattleText4 ; TextEndBattle dw Route24EndBattleText4 ; TextEndBattle Route24TrainerHeader5: ; 5148b (14:548b) - db $6 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_24_TRAINER_5 db ($1 << 4) ; trainer's view range - dw wd7ef ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_24_TRAINER_5 dw Route24BattleText5 ; TextBeforeBattle dw Route24AfterBattleText5 ; TextAfterBattle dw Route24EndBattleText5 ; TextEndBattle dw Route24EndBattleText5 ; TextEndBattle Route24TrainerHeader6: ; 51497 (14:5497) - db $7 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_24_TRAINER_6 db ($1 << 4) ; trainer's view range - dw wd7ef ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_24_TRAINER_6 dw Route24BattleText6 ; TextBeforeBattle dw Route24AfterBattleText6 ; TextAfterBattle dw Route24EndBattleText6 ; TextEndBattle @@ -148,18 +144,15 @@ Route24TrainerHeader6: ; 51497 (14:5497) Route24Text1: ; 514a4 (14:54a4) TX_ASM - ld hl, wd7f0 - res 1, [hl] - ld a, [wd7ef] - bit 0, a + ResetEvent EVENT_549 + CheckEvent EVENT_540 jr nz, .asm_514f9 ld hl, Route24Text_51510 call PrintText ld bc, (NUGGET << 8) | 1 call GiveItem jr nc, .BagFull - ld hl, wd7ef - set 0, [hl] + SetEvent EVENT_540 ld hl, Route24Text_5151a call PrintText ld hl, Route24Text_51526 @@ -187,8 +180,7 @@ Route24Text1: ; 514a4 (14:54a4) .BagFull ld hl, Route24Text_51521 call PrintText - ld hl, wd7f0 - set 1, [hl] + SetEvent EVENT_549 jp TextScriptEnd Route24Text_51510: ; 51510 (14:5510) diff --git a/scripts/route25.asm b/scripts/route25.asm index 5f544365..6bbb5e26 100755 --- a/scripts/route25.asm +++ b/scripts/route25.asm @@ -13,19 +13,18 @@ Route25Script_515e1: ; 515e1 (14:55e1) bit 6, [hl] res 6, [hl] ret z - ld hl, wd7f2 - bit 7, [hl] + CheckEventHL EVENT_55F ret nz - bit 5, [hl] + CheckEventReuseHL EVENT_55D jr nz, .asm_515ff - res 6, [hl] + ResetEventReuseHL EVENT_55E ld a, HS_BILL_POKEMON ld [wcc4d], a predef_jump ShowObject .asm_515ff - bit 4, [hl] + CheckEventAfterBranchReuseHL EVENT_55C, EVENT_55D ret z - set 7, [hl] + SetEventReuseHL EVENT_55F ld a, HS_NUGGET_BRIDGE_GUY ld [wcc4d], a predef HideObject @@ -56,81 +55,81 @@ Route25TextPointers: ; 51628 (14:5628) Route25TrainerHeaders: ; 5163e (14:563e) Route25TrainerHeader0: ; 5163e (14:563e) - db $1 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_0 db ($2 << 4) ; trainer's view range - dw wd7f1 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_0 dw Route25BattleText1 ; TextBeforeBattle dw Route25AfterBattleText1 ; TextAfterBattle dw Route25EndBattleText1 ; TextEndBattle dw Route25EndBattleText1 ; TextEndBattle Route25TrainerHeader2: ; 5164a (14:564a) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_2 db ($3 << 4) ; trainer's view range - dw wd7f1 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_2 dw Route25BattleText2 ; TextBeforeBattle dw Route25AfterBattleText2 ; TextAfterBattle dw Route25EndBattleText2 ; TextEndBattle dw Route25EndBattleText2 ; TextEndBattle Route25TrainerHeader3: ; 51656 (14:5656) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_3 db ($3 << 4) ; trainer's view range - dw wd7f1 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_3 dw Route25BattleText3 ; TextBeforeBattle dw Route25AfterBattleText3 ; TextAfterBattle dw Route25EndBattleText3 ; TextEndBattle dw Route25EndBattleText3 ; TextEndBattle Route25TrainerHeader4: ; 51662 (14:5662) - db $4 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_4 db ($2 << 4) ; trainer's view range - dw wd7f1 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_4 dw Route25BattleText4 ; TextBeforeBattle dw Route25AfterBattleText4 ; TextAfterBattle dw Route25EndBattleText4 ; TextEndBattle dw Route25EndBattleText4 ; TextEndBattle Route25TrainerHeader5: ; 5166e (14:566e) - db $5 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_5 db ($4 << 4) ; trainer's view range - dw wd7f1 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_5 dw Route25BattleText5 ; TextBeforeBattle dw Route25AfterBattleText5 ; TextAfterBattle dw Route25EndBattleText5 ; TextEndBattle dw Route25EndBattleText5 ; TextEndBattle Route25TrainerHeader6: ; 5167a (14:567a) - db $6 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_6 db ($4 << 4) ; trainer's view range - dw wd7f1 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_6 dw Route25BattleText6 ; TextBeforeBattle dw Route25AfterBattleText6 ; TextAfterBattle dw Route25EndBattleText6 ; TextEndBattle dw Route25EndBattleText6 ; TextEndBattle Route25TrainerHeader7: ; 51686 (14:5686) - db $7 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_7 db ($3 << 4) ; trainer's view range - dw wd7f1 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_7 dw Route25BattleText7 ; TextBeforeBattle dw Route25AfterBattleText7 ; TextAfterBattle dw Route25EndBattleText7 ; TextEndBattle dw Route25EndBattleText7 ; TextEndBattle Route25TrainerHeader8: ; 51692 (14:5692) - db $8 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_8, 1 db ($2 << 4) ; trainer's view range - dw wd7f1 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_8, 1 dw Route25BattleText8 ; TextBeforeBattle dw Route25AfterBattleText8 ; TextAfterBattle dw Route25EndBattleText8 ; TextEndBattle dw Route25EndBattleText8 ; TextEndBattle Route25TrainerHeader9: ; 5169e (14:569e) - db $9 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_9, 1 db ($2 << 4) ; trainer's view range - dw wd7f1 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_9, 1 dw Route25BattleText9 ; TextBeforeBattle dw Route25AfterBattleText9 ; TextAfterBattle dw Route25EndBattleText9 ; TextEndBattle diff --git a/scripts/route2gate.asm b/scripts/route2gate.asm index e8d02321..49c28e02 100755 --- a/scripts/route2gate.asm +++ b/scripts/route2gate.asm @@ -7,8 +7,7 @@ Route2GateTextPointers: ; 5d5d7 (17:55d7) Route2GateText1: ; 5d5db (17:55db) TX_ASM - ld a, [wd7c2] - bit 0, a + CheckEvent EVENT_3D8 jr nz, .asm_5d60d ld a, 10 ; pokemon needed ld [$ffdb], a @@ -24,8 +23,7 @@ Route2GateText1: ; 5d5db (17:55db) ld a, [$ffdb] cp $1 jr nz, .asm_5d613 - ld hl, wd7c2 - set 0, [hl] + SetEvent EVENT_3D8 .asm_5d60d ld hl, Route2GateText_5d616 call PrintText diff --git a/scripts/route3.asm b/scripts/route3.asm index c39a5435..50c4e00d 100755 --- a/scripts/route3.asm +++ b/scripts/route3.asm @@ -26,72 +26,72 @@ Route3TextPointers: ; 55511 (15:5511) Route3TrainerHeaders: ; 55525 (15:5525) Route3TrainerHeader0: ; 55525 (15:5525) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_0 db ($2 << 4) ; trainer's view range - dw wd7c3 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_0 dw Route3BattleText1 ; TextBeforeBattle dw Route3AfterBattleText1 ; TextAfterBattle dw Route3EndBattleText1 ; TextEndBattle dw Route3EndBattleText1 ; TextEndBattle Route3TrainerHeader2: ; 55531 (15:5531) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_2 db ($3 << 4) ; trainer's view range - dw wd7c3 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_2 dw Route3BattleText2 ; TextBeforeBattle dw Route3AfterBattleText2 ; TextAfterBattle dw Route3EndBattleText2 ; TextEndBattle dw Route3EndBattleText2 ; TextEndBattle Route3TrainerHeader3: ; 5553d (15:553d) - db $4 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_3 db ($2 << 4) ; trainer's view range - dw wd7c3 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_3 dw Route3BattleText3 ; TextBeforeBattle dw Route3AfterBattleText3 ; TextAfterBattle dw Route3EndBattleText3 ; TextEndBattle dw Route3EndBattleText3 ; TextEndBattle Route3TrainerHeader4: ; 55549 (15:5549) - db $5 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_4 db ($1 << 4) ; trainer's view range - dw wd7c3 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_4 dw Route3BattleText4 ; TextBeforeBattle dw Route3AfterBattleText4 ; TextAfterBattle dw Route3EndBattleText4 ; TextEndBattle dw Route3EndBattleText4 ; TextEndBattle Route3TrainerHeader5: ; 55555 (15:5555) - db $6 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_5 db ($4 << 4) ; trainer's view range - dw wd7c3 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_5 dw Route3BattleText5 ; TextBeforeBattle dw Route3AfterBattleText5 ; TextAfterBattle dw Route3EndBattleText5 ; TextEndBattle dw Route3EndBattleText5 ; TextEndBattle Route3TrainerHeader6: ; 55561 (15:5561) - db $7 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_6 db ($3 << 4) ; trainer's view range - dw wd7c3 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_6 dw Route3BattleText6 ; TextBeforeBattle dw Route3AfterBattleText6 ; TextAfterBattle dw Route3EndBattleText6 ; TextEndBattle dw Route3EndBattleText6 ; TextEndBattle Route3TrainerHeader7: ; 5556d (15:556d) - db $8 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_7, 1 db ($3 << 4) ; trainer's view range - dw wd7c3 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_7, 1 dw Route3BattleText7 ; TextBeforeBattle dw Route3AfterBattleText7 ; TextAfterBattle dw Route3EndBattleText7 ; TextEndBattle dw Route3EndBattleText7 ; TextEndBattle Route3TrainerHeader8: ; 55579 (15:5579) - db $9 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_8, 1 db ($2 << 4) ; trainer's view range - dw wd7c3 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_8, 1 dw Route3BattleText8 ; TextBeforeBattle dw Route3AfterBattleText8 ; TextAfterBattle dw Route3EndBattleText8 ; TextEndBattle diff --git a/scripts/route4.asm b/scripts/route4.asm index 10d3882d..f5bdd9e8 100755 --- a/scripts/route4.asm +++ b/scripts/route4.asm @@ -22,9 +22,9 @@ Route4TextPointers: ; 55671 (15:5671) Route4TrainerHeaders: ; 5567d (15:567d) Route4TrainerHeader0: ; 5567d (15:567d) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_4_TRAINER_0 db ($3 << 4) ; trainer's view range - dw wd7c5 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_4_TRAINER_0 dw Route4BattleText1 ; TextBeforeBattle dw Route4AfterBattleText1 ; TextAfterBattle dw Route4EndBattleText1 ; TextEndBattle diff --git a/scripts/route6.asm b/scripts/route6.asm index 51116390..e748fed1 100755 --- a/scripts/route6.asm +++ b/scripts/route6.asm @@ -23,54 +23,54 @@ Route6TextPointers: ; 590c9 (16:50c9) Route6TrainerHeaders: ; 590d7 (16:50d7) Route6TrainerHeader0: ; 590d7 (16:50d7) - db $1 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_6_TRAINER_0 db ($0 << 4) ; trainer's view range - dw wd7c9 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_6_TRAINER_0 dw Route6BattleText1 ; TextBeforeBattle dw Route6AfterBattleText1 ; TextAfterBattle dw Route6EndBattleText1 ; TextEndBattle dw Route6EndBattleText1 ; TextEndBattle Route6TrainerHeader1: ; 590e3 (16:50e3) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_6_TRAINER_1 db ($0 << 4) ; trainer's view range - dw wd7c9 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_6_TRAINER_1 dw Route6BattleText2 ; TextBeforeBattle dw Route6AfterBattleText1 ; TextAfterBattle dw Route6EndBattleText2 ; TextEndBattle dw Route6EndBattleText2 ; TextEndBattle Route6TrainerHeader2: ; 590ef (16:50ef) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_6_TRAINER_2 db ($4 << 4) ; trainer's view range - dw wd7c9 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_6_TRAINER_2 dw Route6BattleText3 ; TextBeforeBattle dw Route6AfterBattleText3 ; TextAfterBattle dw Route6EndBattleText3 ; TextEndBattle dw Route6EndBattleText3 ; TextEndBattle Route6TrainerHeader3: ; 590fb (16:50fb) - db $4 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_6_TRAINER_3 db ($3 << 4) ; trainer's view range - dw wd7c9 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_6_TRAINER_3 dw Route6BattleText4 ; TextBeforeBattle dw Route6AfterBattleText4 ; TextAfterBattle dw Route6EndBattleText4 ; TextEndBattle dw Route6EndBattleText4 ; TextEndBattle Route6TrainerHeader4: ; 59107 (16:5107) - db $5 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_6_TRAINER_4 db ($3 << 4) ; trainer's view range - dw wd7c9 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_6_TRAINER_4 dw Route6BattleText5 ; TextBeforeBattle dw Route6AfterBattleText5 ; TextAfterBattle dw Route6EndBattleText5 ; TextEndBattle dw Route6EndBattleText5 ; TextEndBattle Route6TrainerHeader5: ; 59113 (16:5113) - db $6 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_6_TRAINER_5 db ($3 << 4) ; trainer's view range - dw wd7c9 ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_6_TRAINER_5 dw Route6BattleText6 ; TextBeforeBattle dw Route6AfterBattleText6 ; TextAfterBattle dw Route6EndBattleText6 ; TextEndBattle diff --git a/scripts/route8.asm b/scripts/route8.asm index 8d589c90..c734c62d 100755 --- a/scripts/route8.asm +++ b/scripts/route8.asm @@ -26,81 +26,81 @@ Route8TextPointers: ; 591cf (16:51cf) Route8TrainerHeaders: ; 591e3 (16:51e3) Route8TrainerHeader0: ; 591e3 (16:51e3) - db $1 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_0 db ($4 << 4) ; trainer's view range - dw wd7cd ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_0 dw Route8BattleText1 ; TextBeforeBattle dw Route8AfterBattleText1 ; TextAfterBattle dw Route8EndBattleText1 ; TextEndBattle dw Route8EndBattleText1 ; TextEndBattle Route8TrainerHeader1: ; 591ef (16:51ef) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_1 db ($4 << 4) ; trainer's view range - dw wd7cd ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_1 dw Route8BattleText2 ; TextBeforeBattle dw Route8AfterBattleText2 ; TextAfterBattle dw Route8EndBattleText2 ; TextEndBattle dw Route8EndBattleText2 ; TextEndBattle Route8TrainerHeader2: ; 591fb (16:51fb) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_2 db ($4 << 4) ; trainer's view range - dw wd7cd ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_2 dw Route8BattleText3 ; TextBeforeBattle dw Route8AfterBattleText3 ; TextAfterBattle dw Route8EndBattleText3 ; TextEndBattle dw Route8EndBattleText3 ; TextEndBattle Route8TrainerHeader3: ; 59207 (16:5207) - db $4 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_3 db ($2 << 4) ; trainer's view range - dw wd7cd ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_3 dw Route8BattleText4 ; TextBeforeBattle dw Route8AfterBattleText4 ; TextAfterBattle dw Route8EndBattleText4 ; TextEndBattle dw Route8EndBattleText4 ; TextEndBattle Route8TrainerHeader4: ; 59213 (16:5213) - db $5 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_4 db ($3 << 4) ; trainer's view range - dw wd7cd ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_4 dw Route8BattleText5 ; TextBeforeBattle dw Route8AfterBattleText5 ; TextAfterBattle dw Route8EndBattleText5 ; TextEndBattle dw Route8EndBattleText5 ; TextEndBattle Route8TrainerHeader5: ; 5921f (16:521f) - db $6 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_5 db ($3 << 4) ; trainer's view range - dw wd7cd ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_5 dw Route8BattleText6 ; TextBeforeBattle dw Route8AfterBattleText6 ; TextAfterBattle dw Route8EndBattleText6 ; TextEndBattle dw Route8EndBattleText6 ; TextEndBattle Route8TrainerHeader6: ; 5922b (16:522b) - db $7 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_6 db ($2 << 4) ; trainer's view range - dw wd7cd ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_6 dw Route8BattleText7 ; TextBeforeBattle dw Route8AfterBattleText7 ; TextAfterBattle dw Route8EndBattleText7 ; TextEndBattle dw Route8EndBattleText7 ; TextEndBattle Route8TrainerHeader7: ; 59237 (16:5237) - db $8 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_7, 1 db ($2 << 4) ; trainer's view range - dw wd7cd ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_7, 1 dw Route8BattleText8 ; TextBeforeBattle dw Route8AfterBattleText8 ; TextAfterBattle dw Route8EndBattleText8 ; TextEndBattle dw Route8EndBattleText8 ; TextEndBattle Route8TrainerHeader8: ; 59243 (16:5243) - db $9 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_8, 1 db ($4 << 4) ; trainer's view range - dw wd7cd ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_8, 1 dw Route8BattleText9 ; TextBeforeBattle dw Route8AfterBattleText9 ; TextAfterBattle dw Route8EndBattleText9 ; TextEndBattle diff --git a/scripts/route9.asm b/scripts/route9.asm index d6050970..9d26ee96 100755 --- a/scripts/route9.asm +++ b/scripts/route9.asm @@ -27,81 +27,81 @@ Route9TextPointers: ; 556d5 (15:56d5) Route9TrainerHeaders: ; 556eb (15:56eb) Route9TrainerHeader0: ; 556eb (15:56eb) - db $1 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_0 db ($3 << 4) ; trainer's view range - dw wd7cf ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_0 dw Route9BattleText1 ; TextBeforeBattle dw Route9AfterBattleText1 ; TextAfterBattle dw Route9EndBattleText1 ; TextEndBattle dw Route9EndBattleText1 ; TextEndBattle Route9TrainerHeader2: ; 556f7 (15:56f7) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_2 db ($2 << 4) ; trainer's view range - dw wd7cf ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_2 dw Route9BattleText2 ; TextBeforeBattle dw Route9AfterBattleText2 ; TextAfterBattle dw Route9EndBattleText2 ; TextEndBattle dw Route9EndBattleText2 ; TextEndBattle Route9TrainerHeader3: ; 55703 (15:5703) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_3 db ($4 << 4) ; trainer's view range - dw wd7cf ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_3 dw Route9BattleText3 ; TextBeforeBattle dw Route9AfterBattleText3 ; TextAfterBattle dw Route9EndBattleText3 ; TextEndBattle dw Route9EndBattleText3 ; TextEndBattle Route9TrainerHeader4: ; 5570f (15:570f) - db $4 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_4 db ($2 << 4) ; trainer's view range - dw wd7cf ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_4 dw Route9BattleText4 ; TextBeforeBattle dw Route9AfterBattleText4 ; TextAfterBattle dw Route9EndBattleText4 ; TextEndBattle dw Route9EndBattleText4 ; TextEndBattle Route9TrainerHeader5: ; 5571b (15:571b) - db $5 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_5 db ($2 << 4) ; trainer's view range - dw wd7cf ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_5 dw Route9BattleText5 ; TextBeforeBattle dw Route9AfterBattleText5 ; TextAfterBattle dw Route9EndBattleText5 ; TextEndBattle dw Route9EndBattleText5 ; TextEndBattle Route9TrainerHeader6: ; 55727 (15:5727) - db $6 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_6 db ($3 << 4) ; trainer's view range - dw wd7cf ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_6 dw Route9BattleText6 ; TextBeforeBattle dw Route9AfterBattleText6 ; TextAfterBattle dw Route9EndBattleText6 ; TextEndBattle dw Route9EndBattleText6 ; TextEndBattle Route9TrainerHeader7: ; 55733 (15:5733) - db $7 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_7 db ($4 << 4) ; trainer's view range - dw wd7cf ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_7 dw Route9BattleText7 ; TextBeforeBattle dw Route9AfterBattleText7 ; TextAfterBattle dw Route9EndBattleText7 ; TextEndBattle dw Route9EndBattleText7 ; TextEndBattle Route9TrainerHeader8: ; 5573f (15:573f) - db $8 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_8, 1 db ($2 << 4) ; trainer's view range - dw wd7cf ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_8, 1 dw Route9BattleText8 ; TextBeforeBattle dw Route9AfterBattleText8 ; TextAfterBattle dw Route9EndBattleText8 ; TextEndBattle dw Route9EndBattleText8 ; TextEndBattle Route9TrainerHeader9: ; 5574b (15:574b) - db $9 ; flag's bit + dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_9, 1 db ($2 << 4) ; trainer's view range - dw wd7cf ; flag's byte + dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_9, 1 dw Route9BattleText9 ; TextBeforeBattle dw Route9AfterBattleText9 ; TextAfterBattle dw Route9EndBattleText9 ; TextEndBattle diff --git a/scripts/safarizoneentrance-yellow.asm b/scripts/safarizoneentrance-yellow.asm index 74ecaa54..6ff0e298 100644 --- a/scripts/safarizoneentrance-yellow.asm +++ b/scripts/safarizoneentrance-yellow.asm @@ -64,9 +64,8 @@ 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 jr .done diff --git a/scripts/safarizoneentrance.asm b/scripts/safarizoneentrance.asm index ab54dd8a..6ed62fd1 100755 --- a/scripts/safarizoneentrance.asm +++ b/scripts/safarizoneentrance.asm @@ -74,11 +74,9 @@ SafariZoneEntranceScriptPointers: ; 751d9 (1d:51d9) .SafariZoneEntranceScript5 ld a, PLAYER_DIR_DOWN ld [wPlayerMovingDirection], a - ld hl, wd790 - bit 6, [hl] - res 6, [hl] + CheckAndResetEvent EVENT_SAFARI_GAME_OVER jr z, .asm_7527f - res 7, [hl] + ResetEventReuseHL EVENT_IN_SAFARI_ZONE call UpdateSprites ld a, $f0 ld [wJoyIgnore], a @@ -191,9 +189,8 @@ SafariZoneEntranceTextPointers: ; 752b9 (1d:52b9) 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 jr .done @@ -238,9 +235,7 @@ SafariZoneEntranceTextPointers: ; 752b9 (1d:52b9) 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 diff --git a/scripts/safarizonesecrethouse.asm b/scripts/safarizonesecrethouse.asm index b1dd95d3..48992d94 100755 --- a/scripts/safarizonesecrethouse.asm +++ b/scripts/safarizonesecrethouse.asm @@ -6,8 +6,7 @@ SafariZoneSecretHouseTextPointers: ; 4a31a (12:631a) SafariZoneSecretHouseText1: ; 4a31c (12:631c) TX_ASM - ld a, [wd857] - bit 0, a + CheckEvent EVENT_880 jr nz, .asm_20a9b ld hl, SafariZoneSecretHouseText_4a350 call PrintText @@ -16,8 +15,7 @@ SafariZoneSecretHouseText1: ; 4a31c (12:631c) jr nc, .BagFull ld hl, ReceivedHM03Text call PrintText - ld hl, wd857 - set 0, [hl] + SetEvent EVENT_880 jr .asm_8f1fc .BagFull ld hl, HM03NoRoomText diff --git a/scripts/saffrongym.asm b/scripts/saffrongym.asm index 349eda5e..4e2115c3 100755 --- a/scripts/saffrongym.asm +++ b/scripts/saffrongym.asm @@ -46,16 +46,14 @@ SaffronGymText_5d068: ; 5d068 (17:5068) ld a, $a ld [hSpriteIndexOrTextID], a call DisplayTextID - ld hl, wd7b3 - set 1, [hl] + SetEvent EVENT_361 ld bc, (TM_46 << 8) | 1 call GiveItem jr nc, .BagFull ld a, $b ld [hSpriteIndexOrTextID], a call DisplayTextID - ld hl, wd7b3 - set 0, [hl] + SetEvent EVENT_360 jr .asm_5d091 .BagFull ld a, $c @@ -68,11 +66,7 @@ SaffronGymText_5d068: ; 5d068 (17:5068) 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 @@ -92,63 +86,63 @@ SaffronGymTextPointers: ; 5d0ab (17:50ab) SaffronGymTrainerHeaders: ; 5d0c3 (17:50c3) SaffronGymTrainerHeader0: ; 5d0c3 (17:50c3) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_0 db ($3 << 4) ; trainer's view range - dw wd7b3 ; flag's byte + dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_0 dw SaffronGymBattleText1 ; TextBeforeBattle dw SaffronGymAfterBattleText1 ; TextAfterBattle dw SaffronGymEndBattleText1 ; TextEndBattle dw SaffronGymEndBattleText1 ; TextEndBattle SaffronGymTrainerHeader1: ; 5d0cf (17:50cf) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_1 db ($3 << 4) ; trainer's view range - dw wd7b3 ; flag's byte + dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_1 dw SaffronGymBattleText2 ; TextBeforeBattle dw SaffronGymAfterBattleText2 ; TextAfterBattle dw SaffronGymEndBattleText2 ; TextEndBattle dw SaffronGymEndBattleText2 ; TextEndBattle SaffronGymTrainerHeader2: ; 5d0db (17:50db) - db $4 ; flag's bit + dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_2 db ($3 << 4) ; trainer's view range - dw wd7b3 ; flag's byte + dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_2 dw SaffronGymBattleText3 ; TextBeforeBattle dw SaffronGymAfterBattleText3 ; TextAfterBattle dw SaffronGymEndBattleText3 ; TextEndBattle dw SaffronGymEndBattleText3 ; TextEndBattle SaffronGymTrainerHeader3: ; 5d0e7 (17:50e7) - db $5 ; flag's bit + dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_3 db ($3 << 4) ; trainer's view range - dw wd7b3 ; flag's byte + dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_3 dw SaffronGymBattleText4 ; TextBeforeBattle dw SaffronGymAfterBattleText4 ; TextAfterBattle dw SaffronGymEndBattleText4 ; TextEndBattle dw SaffronGymEndBattleText4 ; TextEndBattle SaffronGymTrainerHeader4: ; 5d0f3 (17:50f3) - db $6 ; flag's bit + dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_4 db ($3 << 4) ; trainer's view range - dw wd7b3 ; flag's byte + dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_4 dw SaffronGymBattleText5 ; TextBeforeBattle dw SaffronGymAfterBattleText5 ; TextAfterBattle dw SaffronGymEndBattleText5 ; TextEndBattle dw SaffronGymEndBattleText5 ; TextEndBattle SaffronGymTrainerHeader5: ; 5d0ff (17:50ff) - db $7 ; flag's bit + dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_5 db ($3 << 4) ; trainer's view range - dw wd7b3 ; flag's byte + dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_5 dw SaffronGymBattleText6 ; TextBeforeBattle dw SaffronGymAfterBattleText6 ; TextAfterBattle dw SaffronGymEndBattleText6 ; TextEndBattle dw SaffronGymEndBattleText6 ; TextEndBattle SaffronGymTrainerHeader6: ; 5d10b (17:510b) - db $8 ; flag's bit + dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_6, 1 db ($3 << 4) ; trainer's view range - dw wd7b3 ; flag's byte + dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_6, 1 dw SaffronGymBattleText7 ; TextBeforeBattle dw SaffronGymAfterBattleText7 ; TextAfterBattle dw SaffronGymEndBattleText7 ; TextEndBattle @@ -158,10 +152,9 @@ SaffronGymTrainerHeader6: ; 5d10b (17:510b) SaffronGymText1: ; 5d118 (17:5118) TX_ASM - ld a, [wd7b3] - bit 1, a + CheckEvent EVENT_361 jr z, .asm_5d134 - bit 0, a + CheckEventReuseA EVENT_360 jr nz, .asm_5d12c call z, SaffronGymText_5d068 call DisableWaitingAfterTextDisplay @@ -262,8 +255,7 @@ SaffronGymText8: ; 5d1c3 (17:51c3) SaffronGymText9: ; 5d1cd (17:51cd) TX_ASM - ld a, [wd7b3] - bit 1, a + CheckEvent EVENT_361 jr nz, .asm_5d1dd ld hl, SaffronGymText_5d1e6 call PrintText diff --git a/scripts/saffronhouse2.asm b/scripts/saffronhouse2.asm index b7d8ed26..68300183 100755 --- a/scripts/saffronhouse2.asm +++ b/scripts/saffronhouse2.asm @@ -6,8 +6,7 @@ SaffronHouse2TextPointers: ; 1de3f (7:5e3f) SaffronHouse2Text1: ; 1de41 (7:5e41) TX_ASM - ld a, [wd7bd] - bit 0, a + CheckEvent EVENT_3B0 jr nz, .asm_9e72b ld hl, TM29PreReceiveText call PrintText @@ -16,8 +15,7 @@ SaffronHouse2Text1: ; 1de41 (7:5e41) jr nc, .BagFull ld hl, ReceivedTM29Text call PrintText - ld hl, wd7bd - set 0, [hl] + SetEvent EVENT_3B0 jr .asm_fe4e1 .BagFull ld hl, TM29NoRoomText diff --git a/scripts/seafoamislands1.asm b/scripts/seafoamislands1.asm index f71fc648..89972aca 100755 --- a/scripts/seafoamislands1.asm +++ b/scripts/seafoamislands1.asm @@ -1,7 +1,6 @@ SeafoamIslands1Script: ; 447e9 (11:47e9) call EnableAutoTextBoxDrawing - ld hl, wd7e7 - set 0, [hl] + SetEvent EVENT_500 ld hl, wFlags_0xcd60 bit 7, [hl] res 7, [hl] @@ -9,18 +8,18 @@ SeafoamIslands1Script: ; 447e9 (11:47e9) ld hl, Seafoam1HolesCoords call CheckBoulderCoords ret nc - ld hl, wd7e8 + EventFlagAddress hl, EVENT_50E ld a, [wCoordIndex] cp $1 jr nz, .asm_44819 - set 6, [hl] + SetEventReuseHL EVENT_50E ld a, HS_SEAFOAM_ISLANDS_1_BOULDER_1 ld [wd079], a ld a, HS_SEAFOAM_ISLANDS_2_BOULDER_1 ld [wd07a], a jr .asm_44825 .asm_44819 - set 7, [hl] + SetEventAfterBranchReuseHL EVENT_50F, EVENT_50E ld a, HS_SEAFOAM_ISLANDS_1_BOULDER_2 ld [wd079], a ld a, HS_SEAFOAM_ISLANDS_2_BOULDER_2 diff --git a/scripts/seafoamislands2.asm b/scripts/seafoamislands2.asm index a62d6bda..c24ba601 100755 --- a/scripts/seafoamislands2.asm +++ b/scripts/seafoamislands2.asm @@ -7,18 +7,18 @@ SeafoamIslands2Script: ; 46315 (11:6315) ld hl, Seafoam2HolesCoords call CheckBoulderCoords ret nc - ld hl, wd87f + EventFlagAddress hl, EVENT_9C0 ld a, [wCoordIndex] cp $1 jr nz, .asm_46340 - set 0, [hl] + SetEventReuseHL EVENT_9C0 ld a, HS_SEAFOAM_ISLANDS_2_BOULDER_1 ld [wd079], a ld a, HS_SEAFOAM_ISLANDS_3_BOULDER_1 ld [wd07a], a jr .asm_4634c .asm_46340 - set 1, [hl] + SetEventAfterBranchReuseHL EVENT_9C1, EVENT_9C0 ld a, HS_SEAFOAM_ISLANDS_2_BOULDER_2 ld [wd079], a ld a, HS_SEAFOAM_ISLANDS_3_BOULDER_2 diff --git a/scripts/seafoamislands3.asm b/scripts/seafoamislands3.asm index 0b650135..f117c2a7 100755 --- a/scripts/seafoamislands3.asm +++ b/scripts/seafoamislands3.asm @@ -7,18 +7,18 @@ SeafoamIslands3Script: ; 46451 (11:6451) ld hl, Seafoam3HolesCoords call CheckBoulderCoords ret nc - ld hl, wd880 + EventFlagAddress hl, EVENT_9C8 ld a, [wCoordIndex] cp $1 jr nz, .asm_4647c - set 0, [hl] + SetEventReuseHL EVENT_9C8 ld a, HS_SEAFOAM_ISLANDS_3_BOULDER_1 ld [wd079], a ld a, HS_SEAFOAM_ISLANDS_4_BOULDER_3 ld [wd07a], a jr .asm_46488 .asm_4647c - set 1, [hl] + SetEventAfterBranchReuseHL EVENT_9C9, EVENT_9C8 ld a, HS_SEAFOAM_ISLANDS_3_BOULDER_2 ld [wd079], a ld a, HS_SEAFOAM_ISLANDS_4_BOULDER_4 diff --git a/scripts/seafoamislands4.asm b/scripts/seafoamislands4.asm index f16ab2c6..031f9d13 100755 --- a/scripts/seafoamislands4.asm +++ b/scripts/seafoamislands4.asm @@ -7,18 +7,18 @@ SeafoamIslands4Script: ; 4658d (11:658d) ld hl, Seafoam4HolesCoords call CheckBoulderCoords ret nc - ld hl, wd881 + EventFlagAddress hl, EVENT_9D0 ld a, [wCoordIndex] cp $1 jr nz, .asm_465b8 - set 0, [hl] + SetEventReuseHL EVENT_9D0 ld a, HS_SEAFOAM_ISLANDS_4_BOULDER_1 ld [wd079], a ld a, HS_SEAFOAM_ISLANDS_5_BOULDER_1 ld [wd07a], a jr .asm_465c4 .asm_465b8 - set 1, [hl] + SetEventAfterBranchReuseHL EVENT_9D1, EVENT_9D0 ld a, HS_SEAFOAM_ISLANDS_4_BOULDER_2 ld [wd079], a ld a, HS_SEAFOAM_ISLANDS_5_BOULDER_2 @@ -56,9 +56,7 @@ SeafoamIslands4ScriptPointers: ; 465fb (11:65fb) dw SeafoamIslands4Script3 SeafoamIslands4Script0: ; 46603 (11:6603) - ld a, [wd880] - and $3 - cp $3 + CheckBothEventsSet EVENT_9C8, EVENT_9C9 ret z ld a, [W_YCOORD] cp $8 @@ -93,9 +91,7 @@ SeafoamIslands4Script1: ; 46639 (11:6639) ret SeafoamIslands4Script2: ; 46644 (11:6644) - ld a, [wd880] - and $3 - cp $3 + CheckBothEventsSet EVENT_9C8, EVENT_9C9 ret z ld a, [W_XCOORD] cp $12 diff --git a/scripts/seafoamislands5.asm b/scripts/seafoamislands5.asm index ab303728..9324a187 100755 --- a/scripts/seafoamislands5.asm +++ b/scripts/seafoamislands5.asm @@ -27,9 +27,7 @@ SeafoamIslands5Script4: ; 467b7 (11:67b7) ret SeafoamIslands5Script0: ; 467c7 (11:67c7) - ld a, [wd880] - and $3 - cp $3 + CheckBothEventsSet EVENT_9C8, EVENT_9C9 ret z ld hl, CoordsData_467fe call ArePlayerCoordsInArray @@ -72,9 +70,7 @@ SeafoamIslands5Script1: ; 46807 (11:6807) ret SeafoamIslands5Script2: ; 46816 (11:6816) - ld a, [wd881] - and $3 - cp $3 + CheckBothEventsSet EVENT_9D0, EVENT_9D1 ld a, $0 jr z, .asm_46849 ld hl, CoordsData_4684d @@ -143,9 +139,9 @@ SeafoamIslands5TextPointers: ; 4687c (11:687c) SeafoamIslands5TrainerHeaders: ; 46886 (11:6886) SeafoamIslands5TrainerHeader0: ; 46886 (11:6886) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_SEAFOAM_ISLANDS_5_TRAINER_0 db ($0 << 4) ; trainer's view range - dw wd882 ; flag's byte + dwEventFlagAddress EVENT_BEAT_SEAFOAM_ISLANDS_5_TRAINER_0 dw SeafoamIslands5BattleText2 ; TextBeforeBattle dw SeafoamIslands5BattleText2 ; TextAfterBattle dw SeafoamIslands5BattleText2 ; TextEndBattle diff --git a/scripts/silphco1.asm b/scripts/silphco1.asm index 8a399a4c..26c8c888 100755 --- a/scripts/silphco1.asm +++ b/scripts/silphco1.asm @@ -1,11 +1,8 @@ SilphCo1Script: ; 5d44e (17:544e) call EnableAutoTextBoxDrawing - ld a, [wd838] - bit 7, a + CheckEvent EVENT_78F ret z - ld hl, wd7b9 - bit 7, [hl] - set 7, [hl] + CheckAndSetEvent EVENT_397 ret nz ld a, HS_SILPH_CO_1F_1 ld [wcc4d], a diff --git a/scripts/silphco10.asm b/scripts/silphco10.asm index 47700664..7c7bf785 100755 --- a/scripts/silphco10.asm +++ b/scripts/silphco10.asm @@ -16,8 +16,7 @@ SilphCo10Script_5a14f: ; 5a14f (16:614f) ld hl, DataTable_5a173 call SilphCo2Script_59d43 call SilphCo10Text_5a176 - ld a, [wd836] - bit 0, a + CheckEvent EVENT_778 ret nz ld a, $54 ld [wd09f], a @@ -31,8 +30,7 @@ SilphCo10Text_5a176: ; 5a176 (16:6176) ld a, [$ffe0] and a ret z - ld hl, wd836 - set 0, [hl] + SetEvent EVENT_778 ret SilphCo10ScriptPointers: ; 5a180 (16:6180) @@ -50,18 +48,18 @@ SilphCo10TextPointers: ; 5a186 (16:6186) SilphCo10TrainerHeaders: ; 5a192 (16:6192) SilphCo10TrainerHeader0: ; 5a192 (16:6192) - db $1 ; flag's bit + dbEventFlagBit EVENT_BEAT_SILPH_CO_10F_TRAINER_0 db ($3 << 4) ; trainer's view range - dw wd835 ; flag's byte + dwEventFlagAddress EVENT_BEAT_SILPH_CO_10F_TRAINER_0 dw SilphCo10BattleText1 ; TextBeforeBattle dw SilphCo10AfterBattleText1 ; TextAfterBattle dw SilphCo10EndBattleText1 ; TextEndBattle dw SilphCo10EndBattleText1 ; TextEndBattle SilphCo10TrainerHeader1: ; 5a19e (16:619e) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_SILPH_CO_10F_TRAINER_1 db ($4 << 4) ; trainer's view range - dw wd835 ; flag's byte + dwEventFlagAddress EVENT_BEAT_SILPH_CO_10F_TRAINER_1 dw SilphCo10BattleText2 ; TextBeforeBattle dw SilphCo10AfterBattleText2 ; TextAfterBattle dw SilphCo10EndBattleText2 ; TextEndBattle @@ -83,8 +81,7 @@ SilphCo10Text2: ; 5a1b5 (16:61b5) SilphCo10Text3: ; 5a1bf (16:61bf) TX_ASM - ld a, [wd838] - bit 7, a + CheckEvent EVENT_78F ld hl, SilphCo10Text_5a1d8 jr nz, .asm_cf85f ld hl, SilphCo10Text_5a1d3 diff --git a/scripts/silphco11.asm b/scripts/silphco11.asm index 62591476..b855e6d0 100755 --- a/scripts/silphco11.asm +++ b/scripts/silphco11.asm @@ -16,8 +16,7 @@ SilphCo11Script_62110: ; 62110 (18:6110) ld hl, DataTable_62134 call SilphCo11Script_62137 call SilphCo11Script_62163 - ld a, [wd838] - bit 0, a + CheckEvent EVENT_788 ret nz ld a, $20 ld [wd09f], a @@ -67,8 +66,7 @@ SilphCo11Script_62163: ; 62163 (18:6163) ld a, [$ffe0] and a ret z - ld hl, wd838 - set 0, [hl] + SetEvent EVENT_788 ret SilphCo11Script_6216d: ; 6216d (18:616d) @@ -164,8 +162,7 @@ SilphCo11ScriptPointers: ; 621cf (18:61cf) dw SilphCo11Script5 SilphCo11Script0: ; 621db (18:61db) - ld a, [wd838] - bit 7, a + CheckEvent EVENT_78F ret nz ld hl, CoordsData_62211 call ArePlayerCoordsInArray @@ -231,8 +228,7 @@ SilphCo11Script5: ; 62227 (18:6227) call UpdateSprites call Delay3 call GBFadeInFromBlack - ld hl, wd838 - set 7, [hl] + SetEvent EVENT_78F xor a ld [wJoyIgnore], a jp SilphCo11Script_621c8 @@ -285,18 +281,18 @@ SilphCo11TextPointers: ; 622b7 (18:62b7) SilphCo11TrainerHeaders: ; 622c3 (18:62c3) SilphCo11TrainerHeader0: ; 622c3 (18:62c3) - db $4 ; flag's bit + dbEventFlagBit EVENT_BEAT_SILPH_CO_11F_TRAINER_0 db ($4 << 4) ; trainer's view range - dw wd837 ; flag's byte + dwEventFlagAddress EVENT_BEAT_SILPH_CO_11F_TRAINER_0 dw SilphCo11BattleText1 ; TextBeforeBattle dw SilphCo11AfterBattleText1 ; TextAfterBattle dw SilphCo11EndBattleText1 ; TextEndBattle dw SilphCo11EndBattleText1 ; TextEndBattle SilphCo11TrainerHeader1: ; 622cf (18:62cf) - db $5 ; flag's bit + dbEventFlagBit EVENT_BEAT_SILPH_CO_11F_TRAINER_1 db ($3 << 4) ; trainer's view range - dw wd837 ; flag's byte + dwEventFlagAddress EVENT_BEAT_SILPH_CO_11F_TRAINER_1 dw SilphCo11BattleText2 ; TextBeforeBattle dw SilphCo11AfterBattleText2 ; TextAfterBattle dw SilphCo11EndBattleText2 ; TextEndBattle @@ -306,8 +302,7 @@ SilphCo11TrainerHeader1: ; 622cf (18:62cf) SilphCo11Text1: ; 622dc (18:62dc) TX_ASM - ld a, [wd838] - bit 5, a + CheckEvent EVENT_78D jp nz, .asm_62308 ld hl, SilphCoPresidentText call PrintText @@ -316,8 +311,7 @@ SilphCo11Text1: ; 622dc (18:62dc) jr nc, .BagFull ld hl, ReceivedSilphCoMasterBallText call PrintText - ld hl, wd838 - set 5, [hl] + SetEvent EVENT_78D jr .asm_6230e .BagFull ld hl, SilphCoMasterBallNoRoomText diff --git a/scripts/silphco2.asm b/scripts/silphco2.asm index ee0bd150..eb6b1b8e 100755 --- a/scripts/silphco2.asm +++ b/scripts/silphco2.asm @@ -16,8 +16,7 @@ SilphCo2Script_59d07: ; 59d07 (16:5d07) ld hl, DataTable_59d3e call SilphCo2Script_59d43 call SilphCo2Script_59d6f - ld a, [wd826] - bit 5, a + CheckEvent EVENT_6FD jr nz, .asm_59d2e push af ld a, $54 @@ -73,16 +72,16 @@ SilphCo2Script_59d43: ; 59d43 (16:5d43) ret SilphCo2Script_59d6f: ; 59d6f (16:5d6f) - ld hl, wd826 + EventFlagAddress hl, EVENT_6FD ld a, [$ffe0] and a ret z cp $1 - jr nz, .asm_59d7d - set 5, [hl] + jr nz, .next + SetEventReuseHL EVENT_6FD ret -.asm_59d7d - set 6, [hl] +.next + SetEventAfterBranchReuseHL EVENT_6FE, EVENT_6FD ret SilphCo2ScriptPointers: ; 59d80 (16:5d80) @@ -99,36 +98,36 @@ SilphCo2TextPointers: ; 59d86 (16:5d86) SilphCo2TrainerHeaders: ; 59d90 (16:5d90) SilphCo2TrainerHeader0: ; 59d90 (16:5d90) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_SILPH_CO_2F_TRAINER_0 db ($3 << 4) ; trainer's view range - dw wd825 ; flag's byte + dwEventFlagAddress EVENT_BEAT_SILPH_CO_2F_TRAINER_0 dw SilphCo2BattleText1 ; TextBeforeBattle dw SilphCo2AfterBattleText1 ; TextAfterBattle dw SilphCo2EndBattleText1 ; TextEndBattle dw SilphCo2EndBattleText1 ; TextEndBattle SilphCo2TrainerHeader1: ; 59d9c (16:5d9c) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_SILPH_CO_2F_TRAINER_1 db ($4 << 4) ; trainer's view range - dw wd825 ; flag's byte + dwEventFlagAddress EVENT_BEAT_SILPH_CO_2F_TRAINER_1 dw SilphCo2BattleText2 ; TextBeforeBattle dw SilphCo2AfterBattleText2 ; TextAfterBattle dw SilphCo2EndBattleText2 ; TextEndBattle dw SilphCo2EndBattleText2 ; TextEndBattle SilphCo2TrainerHeader2: ; 59da8 (16:5da8) - db $4 ; flag's bit + dbEventFlagBit EVENT_BEAT_SILPH_CO_2F_TRAINER_2 db ($3 << 4) ; trainer's view range - dw wd825 ; flag's byte + dwEventFlagAddress EVENT_BEAT_SILPH_CO_2F_TRAINER_2 dw SilphCo2BattleText3 ; TextBeforeBattle dw SilphCo2AfterBattleText3 ; TextAfterBattle dw SilphCo2EndBattleText3 ; TextEndBattle dw SilphCo2EndBattleText3 ; TextEndBattle SilphCo2TrainerHeader3: ; 59db4 (16:5db4) - db $5 ; flag's bit + dbEventFlagBit EVENT_BEAT_SILPH_CO_2F_TRAINER_3 db ($3 << 4) ; trainer's view range - dw wd825 ; flag's byte + dwEventFlagAddress EVENT_BEAT_SILPH_CO_2F_TRAINER_3 dw SilphCo2BattleText4 ; TextBeforeBattle dw SilphCo2AfterBattleText4 ; TextAfterBattle dw SilphCo2EndBattleText4 ; TextEndBattle @@ -138,8 +137,7 @@ SilphCo2TrainerHeader3: ; 59db4 (16:5db4) SilphCo2Text1: ; 59dc1 (16:5dc1) TX_ASM - ld a, [wd826] - bit 7, a + CheckEvent EVENT_6FF jr nz, .asm_59de4 ld hl, SilphCo2Text_59ded call PrintText @@ -147,8 +145,7 @@ SilphCo2Text1: ; 59dc1 (16:5dc1) call GiveItem ld hl, TM36NoRoomText jr nc, .asm_59de7 - ld hl, wd826 - set 7, [hl] + SetEvent EVENT_6FF ld hl, ReceivedTM36Text jr .asm_59de7 .asm_59de4 diff --git a/scripts/silphco3.asm b/scripts/silphco3.asm index 4bd1edd1..0cb54726 100755 --- a/scripts/silphco3.asm +++ b/scripts/silphco3.asm @@ -16,8 +16,7 @@ SilphCo3Script_59f71: ; 59f71 (16:5f71) ld hl, DataTable_59fa8 call SilphCo2Script_59d43 call SilphCo3Script_59fad - ld a, [wd828] - bit 0, a + CheckEvent EVENT_708 jr nz, .asm_59f98 push af ld a, $5f @@ -37,16 +36,16 @@ DataTable_59fa8: ; 59fa8 (16:5fa8) db $04,$04,$04,$08,$FF SilphCo3Script_59fad: ; 59fad (16:5fad) - ld hl, wd828 + EventFlagAddress hl, EVENT_708 ld a, [$ffe0] and a ret z cp $1 - jr nz, .asm_59fbb - set 0, [hl] + jr nz, .next + SetEventReuseHL EVENT_708 ret -.asm_59fbb - set 1, [hl] +.next + SetEventAfterBranchReuseHL EVENT_709, EVENT_708 ret SilphCo3ScriptPointers: ; 59fbe (16:5fbe) @@ -62,18 +61,18 @@ SilphCo3TextPointers: ; 59fc4 (16:5fc4) SilphCo3TrainerHeaders: ; 59fcc (16:5fcc) SilphCo3TrainerHeader0: ; 59fcc (16:5fcc) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_SILPH_CO_3F_TRAINER_0 db ($2 << 4) ; trainer's view range - dw wd827 ; flag's byte + dwEventFlagAddress EVENT_BEAT_SILPH_CO_3F_TRAINER_0 dw SilphCo3BattleText1 ; TextBeforeBattle dw SilphCo3AfterBattleText1 ; TextAfterBattle dw SilphCo3EndBattleText1 ; TextEndBattle dw SilphCo3EndBattleText1 ; TextEndBattle SilphCo3TrainerHeader1: ; 59fd8 (16:5fd8) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_SILPH_CO_3F_TRAINER_1 db ($3 << 4) ; trainer's view range - dw wd827 ; flag's byte + dwEventFlagAddress EVENT_BEAT_SILPH_CO_3F_TRAINER_1 dw SilphCo3BattleText2 ; TextBeforeBattle dw SilphCo3AfterBattleText2 ; TextAfterBattle dw SilphCo3EndBattleText2 ; TextEndBattle @@ -83,8 +82,7 @@ SilphCo3TrainerHeader1: ; 59fd8 (16:5fd8) SilphCo3Text1: ; 59fe5 (16:5fe5) TX_ASM - ld a, [wd838] - bit 7, a + CheckEvent EVENT_78F ld hl, SilphCo3Text_59ffe jr nz, .asm_59fee ld hl, SilphCo3Text_59ff9 diff --git a/scripts/silphco4.asm b/scripts/silphco4.asm index a3953e27..aff77e4a 100755 --- a/scripts/silphco4.asm +++ b/scripts/silphco4.asm @@ -16,8 +16,7 @@ SilphCo4Script_19d21: ; 19d21 (6:5d21) ld hl, SilphCo4Data19d58 call SilphCo4Script_19d5d call SilphCo4Script_19d89 - ld a, [wd82a] - bit 0, a + CheckEvent EVENT_718 jr nz, .asm_19d48 push af ld a, $54 @@ -73,16 +72,16 @@ SilphCo4Script_19d5d: ; 19d5d (6:5d5d) ret SilphCo4Script_19d89: ; 19d89 (6:5d89) - ld hl, wd82a + EventFlagAddress hl, EVENT_718 ld a, [$ffe0] and a ret z cp $1 - jr nz, .asm_19d97 - set 0, [hl] + jr nz, .next + SetEventReuseHL EVENT_718 ret -.asm_19d97 - set 1, [hl] +.next + SetEventAfterBranchReuseHL EVENT_719, EVENT_718 ret SilphCo4ScriptPointers: ; 19d9a (6:5d9a) @@ -101,27 +100,27 @@ SilphCo4TextPointers: ; 19da0 (6:5da0) SilphCo4TrainerHeaders: ; 19dae (6:5dae) SilphCo4TrainerHeader0: ; 19dae (6:5dae) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_SILPH_CO_4F_TRAINER_0 db ($4 << 4) ; trainer's view range - dw wd829 ; flag's byte + dwEventFlagAddress EVENT_BEAT_SILPH_CO_4F_TRAINER_0 dw SilphCo4BattleText2 ; TextBeforeBattle dw SilphCo4AfterBattleText2 ; TextAfterBattle dw SilphCo4EndBattleText2 ; TextEndBattle dw SilphCo4EndBattleText2 ; TextEndBattle SilphCo4TrainerHeader2: ; 19dba (6:5dba) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_SILPH_CO_4F_TRAINER_2 db ($3 << 4) ; trainer's view range - dw wd829 ; flag's byte + dwEventFlagAddress EVENT_BEAT_SILPH_CO_4F_TRAINER_2 dw SilphCo4BattleText3 ; TextBeforeBattle dw SilphCo4AfterBattleText3 ; TextAfterBattle dw SilphCo4EndBattleText3 ; TextEndBattle dw SilphCo4EndBattleText3 ; TextEndBattle SilphCo4TrainerHeader3: ; 19dc6 (6:5dc6) - db $4 ; flag's bit + dbEventFlagBit EVENT_BEAT_SILPH_CO_4F_TRAINER_3 db ($4 << 4) ; trainer's view range - dw wd829 ; flag's byte + dwEventFlagAddress EVENT_BEAT_SILPH_CO_4F_TRAINER_3 dw SilphCo4BattleText4 ; TextBeforeBattle dw SilphCo4AfterBattleText4 ; TextAfterBattle dw SilphCo4EndBattleText4 ; TextEndBattle diff --git a/scripts/silphco5.asm b/scripts/silphco5.asm index 1ed6006f..cd220b3e 100755 --- a/scripts/silphco5.asm +++ b/scripts/silphco5.asm @@ -16,8 +16,7 @@ SilphCo5Script_19f4d: ; 19f4d (6:5f4d) ld hl, SilphCo5Coords call SilphCo4Script_19d5d call SilphCo5Script_19f9e - ld a, [wd82c] - bit 0, a + CheckEvent EVENT_728 jr nz, .asm_19f74 push af ld a, $5f @@ -46,21 +45,21 @@ SilphCo5Coords: ; 19f97 (6:5f97) db $02, $03, $06, $03, $05, $07, $ff SilphCo5Script_19f9e: ; 19f9e (6:5f9e) - ld hl, wd82c + EventFlagAddress hl, EVENT_728 ld a, [$ffe0] and a ret z cp $1 - jr nz, .asm_19fac - set 0, [hl] + jr nz, .next1 + SetEventReuseHL EVENT_728 ret -.asm_19fac +.next1 cp $2 - jr nz, .asm_19fb3 - set 1, [hl] + jr nz, .next2 + SetEventAfterBranchReuseHL EVENT_729, EVENT_728 ret -.asm_19fb3 - set 2, [hl] +.next2 + SetEventAfterBranchReuseHL EVENT_72A, EVENT_728 ret SilphCo5ScriptPointers: ; 19fb6 (6:5fb6) @@ -83,36 +82,36 @@ SilphCo5TextPointers: ; 19fbc (6:5fbc) SilphCo5TrainerHeaders: ; 19fd2 (6:5fd2) Silphco5TrainerHeader0: ; 19fd2 (6:5fd2) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_SILPH_CO_5F_TRAINER_0 db ($1 << 4) ; trainer's view range - dw wd82b ; flag's byte + dwEventFlagAddress EVENT_BEAT_SILPH_CO_5F_TRAINER_0 dw SilphCo5BattleText2 ; TextBeforeBattle dw SilphCo5AfterBattleText2 ; TextAfterBattle dw SilphCo5EndBattleText2 ; TextEndBattle dw SilphCo5EndBattleText2 ; TextEndBattle Silphco5TrainerHeader2: ; 19fde (6:5fde) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_SILPH_CO_5F_TRAINER_2 db ($2 << 4) ; trainer's view range - dw wd82b ; flag's byte + dwEventFlagAddress EVENT_BEAT_SILPH_CO_5F_TRAINER_2 dw SilphCo5BattleText3 ; TextBeforeBattle dw SilphCo5AfterBattleText3 ; TextAfterBattle dw SilphCo5EndBattleText3 ; TextEndBattle dw SilphCo5EndBattleText3 ; TextEndBattle Silphco5TrainerHeader3: ; 19fea (6:5fea) - db $4 ; flag's bit + dbEventFlagBit EVENT_BEAT_SILPH_CO_5F_TRAINER_3 db ($4 << 4) ; trainer's view range - dw wd82b ; flag's byte + dwEventFlagAddress EVENT_BEAT_SILPH_CO_5F_TRAINER_3 dw SilphCo5BattleText4 ; TextBeforeBattle dw SilphCo5AfterBattleText4 ; TextAfterBattle dw SilphCo5EndBattleText4 ; TextEndBattle dw SilphCo5EndBattleText4 ; TextEndBattle Silphco5TrainerHeader4: ; 19ff6 (6:5ff6) - db $5 ; flag's bit + dbEventFlagBit EVENT_BEAT_SILPH_CO_5F_TRAINER_4 db ($3 << 4) ; trainer's view range - dw wd82b ; flag's byte + dwEventFlagAddress EVENT_BEAT_SILPH_CO_5F_TRAINER_4 dw SilphCo5BattleText5 ; TextBeforeBattle dw SilphCo5AfterBattleText5 ; TextAfterBattle dw SilphCo5EndBattleText5 ; TextEndBattle diff --git a/scripts/silphco6.asm b/scripts/silphco6.asm index fe1e6224..ca52d05c 100755 --- a/scripts/silphco6.asm +++ b/scripts/silphco6.asm @@ -16,8 +16,7 @@ SilphCo6Script_1a1bf: ; 1a1bf (6:61bf) ld hl, SilphCo6Coords1 call SilphCo4Script_19d5d call SilphCo6Script_1a1e6 - ld a, [wd82e] - bit 7, a + CheckEvent EVENT_73F ret nz ld a, $5f ld [wd09f], a @@ -32,8 +31,7 @@ SilphCo6Script_1a1e6: ; 1a1e6 (6:61e6) ld a, [$ffe0] and a ret z - ld hl, wd82e - set 7, [hl] + SetEvent EVENT_73F ret SilphCo6ScriptPointers: ; 1a1f0 (6:61f0) @@ -55,27 +53,27 @@ SilphCo6TextPointers: ; 1a1f6 (6:61f6) SilphCo6TrainerHeaders: ; 1a20a (6:620a) SilphCo6TrainerHeader0: ; 1a20a (6:620a) - db $6 ; flag's bit + dbEventFlagBit EVENT_BEAT_SILPH_CO_6F_TRAINER_0 db ($2 << 4) ; trainer's view range - dw wd82d ; flag's byte + dwEventFlagAddress EVENT_BEAT_SILPH_CO_6F_TRAINER_0 dw SilphCo6BattleText2 ; TextBeforeBattle dw SilphCo6AfterBattleText2 ; TextAfterBattle dw SilphCo6EndBattleText2 ; TextEndBattle dw SilphCo6EndBattleText2 ; TextEndBattle SilphCo6TrainerHeader2: ; 1a216 (6:6216) - db $7 ; flag's bit + dbEventFlagBit EVENT_BEAT_SILPH_CO_6F_TRAINER_2 db ($3 << 4) ; trainer's view range - dw wd82d ; flag's byte + dwEventFlagAddress EVENT_BEAT_SILPH_CO_6F_TRAINER_2 dw SilphCo6BattleText3 ; TextBeforeBattle dw SilphCo6AfterBattleText3 ; TextAfterBattle dw SilphCo6EndBattleText3 ; TextEndBattle dw SilphCo6EndBattleText3 ; TextEndBattle SilphCo6TrainerHeader3: ; 1a222 (6:6222) - db $8 ; flag's bit + dbEventFlagBit EVENT_BEAT_SILPH_CO_6F_TRAINER_3, 1 db ($2 << 4) ; trainer's view range - dw wd82d ; flag's byte + dwEventFlagAddress EVENT_BEAT_SILPH_CO_6F_TRAINER_3, 1 dw SilphCo6BattleText4 ; TextBeforeBattle dw SilphCo6AfterBattleText4 ; TextAfterBattle dw SilphCo6EndBattleText4 ; TextEndBattle @@ -84,8 +82,7 @@ SilphCo6TrainerHeader3: ; 1a222 (6:6222) db $ff SilphCo6Script_1a22f: ; 1a22f (6:622f) - ld a, [wd838] - bit 7, a + CheckEvent EVENT_78F jr nz, .asm_1a238 jr .asm_1a23a .asm_1a238 diff --git a/scripts/silphco7.asm b/scripts/silphco7.asm index 78d6e0d7..64c79c3a 100755 --- a/scripts/silphco7.asm +++ b/scripts/silphco7.asm @@ -16,8 +16,7 @@ SilphCo7Script_51b77: ; 51b77 (14:5b77) ld hl, DataTable_51bc1 call SilphCo7Text_51bc8 call SilphCo7Text_51bf4 - ld a, [wd830] - bit 4, a + CheckEvent EVENT_74C jr nz, .asm_51b9e push af ld a, $54 @@ -82,21 +81,21 @@ SilphCo7Text_51bc8: ; 51bc8 (14:5bc8) ret SilphCo7Text_51bf4: ; 51bf4 (14:5bf4) - ld hl, wd830 + EventFlagAddress hl, EVENT_74C ld a, [$ffe0] and a ret z cp $1 - jr nz, .asm_51c02 - set 4, [hl] + jr nz, .next1 + SetEventReuseHL EVENT_74C ret -.asm_51c02 +.next1 cp $2 - jr nz, .asm_51c09 - set 5, [hl] + jr nz, .next2 + SetEventAfterBranchReuseHL EVENT_74D, EVENT_74C ret -.asm_51c09 - set 6, [hl] +.next2 + SetEventAfterBranchReuseHL EVENT_74E, EVENT_74C ret SilphCo7Text_51c0c: ; 51c0c (14:5c0c) @@ -117,8 +116,7 @@ SilphCo7ScriptPointers: ; 51c17 (14:5c17) dw SilphCo7Script5 SilphCo7Script0: ; 51c23 (14:5c23) - ld a, [wd82f] - bit 0, a + CheckEvent EVENT_740 jp nz, CheckFightingMapTrainers ld hl, CoordsData_51c78 call ArePlayerCoordsInArray @@ -207,8 +205,7 @@ SilphCo7Script4: ; 51cc8 (14:5cc8) jp z, SilphCo7Text_51c0c ld a, $f0 ld [wJoyIgnore], a - ld hl, wd82f - set 0, [hl] + SetEvent EVENT_740 ld a, PLAYER_DIR_DOWN ld [wPlayerMovingDirection], a ld a, $9 @@ -281,36 +278,36 @@ SilphCo7TextPointers: ; 51d3f (14:5d3f) SilphCo7TrainerHeaders: ; 51d5d (14:5d5d) SilphCo7TrainerHeader0: ; 51d5d (14:5d5d) - db $5 ; flag's bit + dbEventFlagBit EVENT_BEAT_SILPH_CO_7F_TRAINER_0 db ($2 << 4) ; trainer's view range - dw wd82f ; flag's byte + dwEventFlagAddress EVENT_BEAT_SILPH_CO_7F_TRAINER_0 dw SilphCo7BattleText1 ; TextBeforeBattle dw SilphCo7AfterBattleText1 ; TextAfterBattle dw SilphCo7EndBattleText1 ; TextEndBattle dw SilphCo7EndBattleText1 ; TextEndBattle SilphCo7TrainerHeader2: ; 51d69 (14:5d69) - db $6 ; flag's bit + dbEventFlagBit EVENT_BEAT_SILPH_CO_7F_TRAINER_2 db ($3 << 4) ; trainer's view range - dw wd82f ; flag's byte + dwEventFlagAddress EVENT_BEAT_SILPH_CO_7F_TRAINER_2 dw SilphCo7BattleText2 ; TextBeforeBattle dw SilphCo7AfterBattleText2 ; TextAfterBattle dw SilphCo7EndBattleText2 ; TextEndBattle dw SilphCo7EndBattleText2 ; TextEndBattle SilphCo7TrainerHeader3: ; 51d75 (14:5d75) - db $7 ; flag's bit + dbEventFlagBit EVENT_BEAT_SILPH_CO_7F_TRAINER_3 db ($3 << 4) ; trainer's view range - dw wd82f ; flag's byte + dwEventFlagAddress EVENT_BEAT_SILPH_CO_7F_TRAINER_3 dw SilphCo7BattleText3 ; TextBeforeBattle dw SilphCo7AfterBattleText3 ; TextAfterBattle dw SilphCo7EndBattleText3 ; TextEndBattle dw SilphCo7EndBattleText3 ; TextEndBattle SilphCo7TrainerHeader4: ; 51d81 (14:5d81) - db $8 ; flag's bit + dbEventFlagBit EVENT_BEAT_SILPH_CO_7F_TRAINER_4, 1 db ($4 << 4) ; trainer's view range - dw wd82f ; flag's byte + dwEventFlagAddress EVENT_BEAT_SILPH_CO_7F_TRAINER_4, 1 dw SilphCo7BattleText4 ; TextBeforeBattle dw SilphCo7AfterBattleText4 ; TextAfterBattle dw SilphCo7EndBattleText4 ; TextEndBattle @@ -324,8 +321,7 @@ SilphCo7Text1: ld a, [wd72e] bit 0, a ; got lapras? jr z, .givelapras - ld a, [wd838] - bit 7, a ; saved silph? + CheckEvent EVENT_78F jr nz, .savedsilph ld hl, .LaprasGuyText call PrintText @@ -369,8 +365,7 @@ SilphCo7Text1: SilphCo7Text2: TX_ASM - ld a, [wd838] - bit 7, a ; saved silph? + CheckEvent EVENT_78F jr nz, .savedsilph ld hl, .rockettext call PrintText @@ -391,8 +386,7 @@ SilphCo7Text2: SilphCo7Text3: TX_ASM - ld a, [wd838] - bit 7, a ; saved silph? + CheckEvent EVENT_78F jr nz, .savedsilph ld hl, .rockettext call PrintText @@ -413,8 +407,7 @@ SilphCo7Text3: SilphCo7Text4: TX_ASM - ld a, [wd838] - bit 7, a ; saved silph? + CheckEvent EVENT_78F jr nz, .savedsilph ld hl, .rockettext call PrintText diff --git a/scripts/silphco8.asm b/scripts/silphco8.asm index 95a1096d..ec54ea8e 100755 --- a/scripts/silphco8.asm +++ b/scripts/silphco8.asm @@ -16,8 +16,7 @@ SilphCo8Script_5651a: ; 5651a (15:651a) ld hl, DataTable_5653e call SilphCo8Script_56541 call SilphCo8Script_5656d - ld a, [wd832] - bit 0, a + CheckEvent EVENT_758 ret nz ld a, $5f ld [wd09f], a @@ -67,8 +66,7 @@ SilphCo8Script_5656d: ; 5656d (15:656d) ld a, [$ffe0] and a ret z - ld hl, wd832 - set 0, [hl] + SetEvent EVENT_758 ret SilphCo8ScriptPointers: ; 56577 (15:6577) @@ -84,27 +82,27 @@ SilphCo8TextPointers: ; 5657d (15:657d) SilphCo8TrainerHeaders: ; 56585 (15:6585) SilphCo8TrainerHeader0: ; 56585 (15:6585) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_SILPH_CO_8F_TRAINER_0 db ($4 << 4) ; trainer's view range - dw wd831 ; flag's byte + dwEventFlagAddress EVENT_BEAT_SILPH_CO_8F_TRAINER_0 dw SilphCo8BattleText1 ; TextBeforeBattle dw SilphCo8AfterBattleText1 ; TextAfterBattle dw SilphCo8EndBattleText1 ; TextEndBattle dw SilphCo8EndBattleText1 ; TextEndBattle SilphCo8TrainerHeader1: ; 56591 (15:6591) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_SILPH_CO_8F_TRAINER_1 db ($4 << 4) ; trainer's view range - dw wd831 ; flag's byte + dwEventFlagAddress EVENT_BEAT_SILPH_CO_8F_TRAINER_1 dw SilphCo8BattleText2 ; TextBeforeBattle dw SilphCo8AfterBattleText2 ; TextAfterBattle dw SilphCo8EndBattleText2 ; TextEndBattle dw SilphCo8EndBattleText2 ; TextEndBattle SilphCo8TrainerHeader2: ; 5659d (15:659d) - db $4 ; flag's bit + dbEventFlagBit EVENT_BEAT_SILPH_CO_8F_TRAINER_2 db ($4 << 4) ; trainer's view range - dw wd831 ; flag's byte + dwEventFlagAddress EVENT_BEAT_SILPH_CO_8F_TRAINER_2 dw SilphCo8BattleText3 ; TextBeforeBattle dw SilphCo8AfterBattleText3 ; TextAfterBattle dw SilphCo8EndBattleText3 ; TextEndBattle @@ -114,8 +112,7 @@ SilphCo8TrainerHeader2: ; 5659d (15:659d) SilphCo8Text1: ; 565aa (15:65aa) TX_ASM - ld a, [wd838] - bit 7, a + CheckEvent EVENT_78F ld hl, SilphCo8Text_565c3 jr nz, .asm_565b8 ld hl, SilphCo8Text_565be diff --git a/scripts/silphco9.asm b/scripts/silphco9.asm index b19dbde4..2c41e019 100755 --- a/scripts/silphco9.asm +++ b/scripts/silphco9.asm @@ -16,8 +16,7 @@ SilphCo9Script_5d7d1: ; 5d7d1 (17:57d1) ld hl, DataTable_5d82e call SilphCo9Script_5d837 call SilphCo9Script_5d863 - ld a, [wd834] - bit 0, a + CheckEvent EVENT_768 jr nz, .asm_5d7f8 push af ld a, $5f @@ -91,28 +90,28 @@ SilphCo9Script_5d837: ; 5d837 (17:5837) ret SilphCo9Script_5d863: ; 5d863 (17:5863) - ld hl, wd834 + EventFlagAddress hl, EVENT_768 ld a, [$ffe0] and a ret z cp $1 - jr nz, .asm_5d871 - set 0, [hl] + jr nz, .next1 + SetEventReuseHL EVENT_768 ret -.asm_5d871 +.next1 cp $2 - jr nz, .asm_5d878 - set 1, [hl] + jr nz, .next2 + SetEventAfterBranchReuseHL EVENT_769, EVENT_768 ret -.asm_5d878 +.next2 cp $3 - jr nz, .asm_5d87f - set 2, [hl] + jr nz, .next3 + SetEventAfterBranchReuseHL EVENT_76A, EVENT_768 ret -.asm_5d87f +.next3 cp $4 ret nz - set 3, [hl] + SetEventAfterBranchReuseHL EVENT_76B, EVENT_768 ret SilphCo9ScriptPointers: ; 5d885 (17:5885) @@ -128,27 +127,27 @@ SilphCo9TextPointers: ; 5d88b (17:588b) SilphCo9TrainerHeaders: ; 5d893 (17:5893) SilphCo9TrainerHeader0: ; 5d893 (17:5893) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_SILPH_CO_9F_TRAINER_0 db ($4 << 4) ; trainer's view range - dw wd833 ; flag's byte + dwEventFlagAddress EVENT_BEAT_SILPH_CO_9F_TRAINER_0 dw SilphCo9BattleText1 ; TextBeforeBattle dw SilphCo9AfterBattleText1 ; TextAfterBattle dw SilphCo9EndBattleText1 ; TextEndBattle dw SilphCo9EndBattleText1 ; TextEndBattle SilphCo9TrainerHeader1: ; 5d89f (17:589f) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_SILPH_CO_9F_TRAINER_1 db ($2 << 4) ; trainer's view range - dw wd833 ; flag's byte + dwEventFlagAddress EVENT_BEAT_SILPH_CO_9F_TRAINER_1 dw SilphCo9BattleText2 ; TextBeforeBattle dw SilphCo9AfterBattleText2 ; TextAfterBattle dw SilphCo9EndBattleText2 ; TextEndBattle dw SilphCo9EndBattleText2 ; TextEndBattle SilphCo9TrainerHeader2: ; 5d8ab (17:58ab) - db $4 ; flag's bit + dbEventFlagBit EVENT_BEAT_SILPH_CO_9F_TRAINER_2 db ($4 << 4) ; trainer's view range - dw wd833 ; flag's byte + dwEventFlagAddress EVENT_BEAT_SILPH_CO_9F_TRAINER_2 dw SilphCo9BattleText3 ; TextBeforeBattle dw SilphCo9AfterBattleText3 ; TextAfterBattle dw SilphCo9EndBattleText3 ; TextEndBattle @@ -158,8 +157,7 @@ SilphCo9TrainerHeader2: ; 5d8ab (17:58ab) SilphCo9Text1: ; 5d8b8 (17:58b8) TX_ASM - ld a, [wd838] - bit 7, a + CheckEvent EVENT_78F jr nz, .asm_5d8dc ld hl, SilphCo9Text_5d8e5 call PrintText diff --git a/scripts/ssanne10.asm b/scripts/ssanne10.asm index 031315c3..3b53b961 100755 --- a/scripts/ssanne10.asm +++ b/scripts/ssanne10.asm @@ -27,54 +27,54 @@ SSAnne10TextPointers: ; 61d6e (18:5d6e) SSAnne10TrainerHeaders: ; 61d84 (18:5d84) SSAnne10TrainerHeader0: ; 61d84 (18:5d84) - db $1 ; flag's bit + dbEventFlagBit EVENT_BEAT_SS_ANNE_10_TRAINER_0 db ($2 << 4) ; trainer's view range - dw wd809 ; flag's byte + dwEventFlagAddress EVENT_BEAT_SS_ANNE_10_TRAINER_0 dw SSAnne10BattleText1 ; TextBeforeBattle dw SSAnne10AfterBattleText1 ; TextAfterBattle dw SSAnne10EndBattleText1 ; TextEndBattle dw SSAnne10EndBattleText1 ; TextEndBattle SSAnne10TrainerHeader1: ; 61d90 (18:5d90) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_SS_ANNE_10_TRAINER_1 db ($3 << 4) ; trainer's view range - dw wd809 ; flag's byte + dwEventFlagAddress EVENT_BEAT_SS_ANNE_10_TRAINER_1 dw SSAnne10BattleText2 ; TextBeforeBattle dw SSAnne10AfterBattleText2 ; TextAfterBattle dw SSAnne10EndBattleText2 ; TextEndBattle dw SSAnne10EndBattleText2 ; TextEndBattle SSAnne10TrainerHeader2: ; 61d9c (18:5d9c) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_SS_ANNE_10_TRAINER_2 db ($2 << 4) ; trainer's view range - dw wd809 ; flag's byte + dwEventFlagAddress EVENT_BEAT_SS_ANNE_10_TRAINER_2 dw SSAnne10BattleText3 ; TextBeforeBattle dw SSAnne10AfterBattleText3 ; TextAfterBattle dw SSAnne10EndBattleText3 ; TextEndBattle dw SSAnne10EndBattleText3 ; TextEndBattle SSAnne10TrainerHeader3: ; 61da8 (18:5da8) - db $4 ; flag's bit + dbEventFlagBit EVENT_BEAT_SS_ANNE_10_TRAINER_3 db ($2 << 4) ; trainer's view range - dw wd809 ; flag's byte + dwEventFlagAddress EVENT_BEAT_SS_ANNE_10_TRAINER_3 dw SSAnne10BattleText4 ; TextBeforeBattle dw SSAnne10AfterBattleText4 ; TextAfterBattle dw SSAnne10EndBattleText4 ; TextEndBattle dw SSAnne10EndBattleText4 ; TextEndBattle SSAnne10TrainerHeader4: ; 61db4 (18:5db4) - db $5 ; flag's bit + dbEventFlagBit EVENT_BEAT_SS_ANNE_10_TRAINER_4 db ($2 << 4) ; trainer's view range - dw wd809 ; flag's byte + dwEventFlagAddress EVENT_BEAT_SS_ANNE_10_TRAINER_4 dw SSAnne10BattleText5 ; TextBeforeBattle dw SSAnne10AfterBattleText5 ; TextAfterBattle dw SSAnne10EndBattleText5 ; TextEndBattle dw SSAnne10EndBattleText5 ; TextEndBattle SSAnne10TrainerHeader5: ; 61dc0 (18:5dc0) - db $6 ; flag's bit + dbEventFlagBit EVENT_BEAT_SS_ANNE_10_TRAINER_5 db ($3 << 4) ; trainer's view range - dw wd809 ; flag's byte + dwEventFlagAddress EVENT_BEAT_SS_ANNE_10_TRAINER_5 dw SSAnne10BattleText6 ; TextBeforeBattle dw SSAnne10AfterBattleText6 ; TextAfterBattle dw SSAnne10EndBattleText6 ; TextEndBattle diff --git a/scripts/ssanne5.asm b/scripts/ssanne5.asm index 063ccbb8..76553563 100755 --- a/scripts/ssanne5.asm +++ b/scripts/ssanne5.asm @@ -21,18 +21,18 @@ SSAnne5TextPointers: ; 616c7 (18:56c7) SSAnne5TrainerHeaders: ; 616d1 (18:56d1) SSAnne5TrainerHeader0: ; 616d1 (18:56d1) - db $4 ; flag's bit + dbEventFlagBit EVENT_BEAT_SS_ANNE_5_TRAINER_0 db ($3 << 4) ; trainer's view range - dw wd7ff ; flag's byte + dwEventFlagAddress EVENT_BEAT_SS_ANNE_5_TRAINER_0 dw SSAnne5BattleText1 ; TextBeforeBattle dw SSAnne5AfterBattleText1 ; TextAfterBattle dw SSAnne5EndBattleText1 ; TextEndBattle dw SSAnne5EndBattleText1 ; TextEndBattle SSAnne5TrainerHeader1: ; 616dd (18:56dd) - db $5 ; flag's bit + dbEventFlagBit EVENT_BEAT_SS_ANNE_5_TRAINER_1 db ($3 << 4) ; trainer's view range - dw wd7ff ; flag's byte + dwEventFlagAddress EVENT_BEAT_SS_ANNE_5_TRAINER_1 dw SSAnne5BattleText2 ; TextBeforeBattle dw SSAnne5AfterBattleText2 ; TextAfterBattle dw SSAnne5EndBattleText2 ; TextEndBattle diff --git a/scripts/ssanne7.asm b/scripts/ssanne7.asm index a1fd791a..a47cc069 100755 --- a/scripts/ssanne7.asm +++ b/scripts/ssanne7.asm @@ -3,8 +3,7 @@ SSAnne7Script: ; 61895 (18:5895) jp EnableAutoTextBoxDrawing SSAnne7Script_6189b: ; 6189b (18:589b) - ld a, [wd803] - bit 1, a + CheckEvent EVENT_5E1 ret nz ld hl, wd72d set 5, [hl] @@ -17,8 +16,7 @@ SSAnne7TextPointers: ; 618a7 (18:58a7) SSAnne7Text1: ; 618ad (18:58ad) TX_ASM - ld a, [wd803] - bit 0, a + CheckEvent EVENT_5E0 jr nz, .asm_797c4 ld hl, SSAnne7RubText call PrintText @@ -29,8 +27,7 @@ SSAnne7Text1: ; 618ad (18:58ad) jr nc, .BagFull ld hl, ReceivedHM01Text call PrintText - ld hl, wd803 - set 0, [hl] + SetEvent EVENT_5E0 jr .asm_0faf5 .BagFull ld hl, HM01NoRoomText @@ -65,8 +62,7 @@ SSAnne7RubText: ; 618ec (18:58ec) cp MUSIC_PKMN_HEALED jr z, .asm_61910 call PlayDefaultMusic - ld hl, wd803 - set 1, [hl] + SetEvent EVENT_5E1 ld hl, wd72d res 5, [hl] jp TextScriptEnd diff --git a/scripts/ssanne8.asm b/scripts/ssanne8.asm index 7885135b..195c9a81 100755 --- a/scripts/ssanne8.asm +++ b/scripts/ssanne8.asm @@ -27,36 +27,36 @@ SSAnne8TextPointers: ; 6198f (18:598f) SSAnne8TrainerHeaders: ; 619a5 (18:59a5) SSAnne8TrainerHeader0: ; 619a5 (18:59a5) - db $1 ; flag's bit + dbEventFlagBit EVENT_BEAT_SS_ANNE_8_TRAINER_0 db ($2 << 4) ; trainer's view range - dw wd805 ; flag's byte + dwEventFlagAddress EVENT_BEAT_SS_ANNE_8_TRAINER_0 dw SSAnne8BattleText1 ; TextBeforeBattle dw SSAnne8AfterBattleText1 ; TextAfterBattle dw SSAnne8EndBattleText1 ; TextEndBattle dw SSAnne8EndBattleText1 ; TextEndBattle SSAnne8TrainerHeader1: ; 619b1 (18:59b1) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_SS_ANNE_8_TRAINER_1 db ($3 << 4) ; trainer's view range - dw wd805 ; flag's byte + dwEventFlagAddress EVENT_BEAT_SS_ANNE_8_TRAINER_1 dw SSAnne8BattleText2 ; TextBeforeBattle dw SSAnne8AfterBattleText2 ; TextAfterBattle dw SSAnne8EndBattleText2 ; TextEndBattle dw SSAnne8EndBattleText2 ; TextEndBattle SSAnne8TrainerHeader2: ; 619bd (18:59bd) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_SS_ANNE_8_TRAINER_2 db ($2 << 4) ; trainer's view range - dw wd805 ; flag's byte + dwEventFlagAddress EVENT_BEAT_SS_ANNE_8_TRAINER_2 dw SSAnne8BattleText3 ; TextBeforeBattle dw SSAnne8AfterBattleText3 ; TextAfterBattle dw SSAnne8EndBattleText3 ; TextEndBattle dw SSAnne8EndBattleText3 ; TextEndBattle SSAnne8TrainerHeader3: ; 619c9 (18:59c9) - db $4 ; flag's bit + dbEventFlagBit EVENT_BEAT_SS_ANNE_8_TRAINER_3 db ($2 << 4) ; trainer's view range - dw wd805 ; flag's byte + dwEventFlagAddress EVENT_BEAT_SS_ANNE_8_TRAINER_3 dw SSAnne8BattleText4 ; TextBeforeBattle dw SSAnne8AfterBattleText4 ; TextAfterBattle dw SSAnne8EndBattleText4 ; TextEndBattle diff --git a/scripts/ssanne9.asm b/scripts/ssanne9.asm index 0cee1e08..525a2964 100755 --- a/scripts/ssanne9.asm +++ b/scripts/ssanne9.asm @@ -32,36 +32,36 @@ SSAnne9TextPointers: ; 61b6a (18:5b6a) SSAnne9TrainerHeaders: ; 61b84 (18:5b84) SSAnne9TrainerHeader0: ; 61b84 (18:5b84) - db $1 ; flag's bit + dbEventFlagBit EVENT_BEAT_SS_ANNE_9_TRAINER_0 db ($2 << 4) ; trainer's view range - dw wd807 ; flag's byte + dwEventFlagAddress EVENT_BEAT_SS_ANNE_9_TRAINER_0 dw SSAnne9BattleText1 ; TextBeforeBattle dw SSAnne9AfterBattleText1 ; TextAfterBattle dw SSAnne9EndBattleText1 ; TextEndBattle dw SSAnne9EndBattleText1 ; TextEndBattle SSAnne9TrainerHeader1: ; 61b90 (18:5b90) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_SS_ANNE_9_TRAINER_1 db ($3 << 4) ; trainer's view range - dw wd807 ; flag's byte + dwEventFlagAddress EVENT_BEAT_SS_ANNE_9_TRAINER_1 dw SSAnne9BattleText2 ; TextBeforeBattle dw SSAnne9AfterBattleText2 ; TextAfterBattle dw SSAnne9EndBattleText2 ; TextEndBattle dw SSAnne9EndBattleText2 ; TextEndBattle SSAnne9TrainerHeader2: ; 61b9c (18:5b9c) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_SS_ANNE_9_TRAINER_2 db ($3 << 4) ; trainer's view range - dw wd807 ; flag's byte + dwEventFlagAddress EVENT_BEAT_SS_ANNE_9_TRAINER_2 dw SSAnne9BattleText3 ; TextBeforeBattle dw SSAnne9AfterBattleText3 ; TextAfterBattle dw SSAnne9EndBattleText3 ; TextEndBattle dw SSAnne9EndBattleText3 ; TextEndBattle SSAnne9TrainerHeader3: ; 61ba8 (18:5ba8) - db $4 ; flag's bit + dbEventFlagBit EVENT_BEAT_SS_ANNE_9_TRAINER_3 db ($2 << 4) ; trainer's view range - dw wd807 ; flag's byte + dwEventFlagAddress EVENT_BEAT_SS_ANNE_9_TRAINER_3 dw SSAnne9BattleText4 ; TextBeforeBattle dw SSAnne9AfterBattleText4 ; TextAfterBattle dw SSAnne9EndBattleText4 ; TextEndBattle diff --git a/scripts/unknowndungeon3.asm b/scripts/unknowndungeon3.asm index 1c87aa39..42459766 100755 --- a/scripts/unknowndungeon3.asm +++ b/scripts/unknowndungeon3.asm @@ -19,9 +19,9 @@ UnknownDungeon3TextPointers: ; 45f09 (11:5f09) UnknownDungeon3TrainerHeaders: ; 45f0f (11:5f0f) UnknownDungeon3TrainerHeader0: ; 45f0f (11:5f0f) - db $1 ; flag's bit + dbEventFlagBit EVENT_BEAT_UNKNOWN_DUNGEON_3_TRAINER_0 db ($0 << 4) ; trainer's view range - dw wd85f ; flag's byte + dwEventFlagAddress EVENT_BEAT_UNKNOWN_DUNGEON_3_TRAINER_0 dw UnknownDungeon3MewtwoText ; TextBeforeBattle dw UnknownDungeon3MewtwoText ; TextAfterBattle dw UnknownDungeon3MewtwoText ; TextEndBattle diff --git a/scripts/vermilioncity.asm b/scripts/vermilioncity.asm index 6b9f94f7..0d6ccbee 100755 --- a/scripts/vermilioncity.asm +++ b/scripts/vermilioncity.asm @@ -21,11 +21,10 @@ VermilionCityScript_197c0: ; 197c0 (6:57c0) ret VermilionCityScript_197cb: ; 197cb (6:57cb) - ld hl, wd803 - bit 2, [hl] + CheckEventHL EVENT_SS_ANNE_LEFT ret z - bit 3, [hl] - set 3, [hl] + CheckEventReuseHL EVENT_5E3 + SetEventReuseHL EVENT_5E3 ret nz ld a, $2 ld [W_VERMILIONCITYCURSCRIPT], a @@ -51,8 +50,7 @@ VermilionCityScript0: ; 197e6 (6:57e6) ld a, $3 ld [hSpriteIndexOrTextID], a call DisplayTextID - ld a, [wd803] - bit 2, a + CheckEvent EVENT_SS_ANNE_LEFT jr nz, .asm_19810 ld b, S_S__TICKET predef IsItemInBag_ @@ -136,8 +134,7 @@ VermilionCityText1: ; 19889 (6:5889) VermilionCityText2: ; 1988e (6:588e) TX_ASM - ld a, [wd803] - bit 2, a + CheckEvent EVENT_SS_ANNE_LEFT jr nz, .asm_1989e ld hl, VermilionCityText_198a7 call PrintText @@ -158,8 +155,7 @@ VermilionCityText_198ac: ; 198ac (6:58ac) VermilionCityText3: ; 198b1 (6:58b1) TX_ASM - ld a, [wd803] - bit 2, a + CheckEvent EVENT_SS_ANNE_LEFT jr nz, .asm_198f6 ld a, [wSpriteStateData1 + 9] cp SPRITE_FACING_RIGHT diff --git a/scripts/vermiliondock.asm b/scripts/vermiliondock.asm index 7c2fb656..20288102 100755 --- a/scripts/vermiliondock.asm +++ b/scripts/vermiliondock.asm @@ -1,16 +1,15 @@ VermilionDockScript: ; 1db52 (7:5b52) call EnableAutoTextBoxDrawing - ld hl, wd803 - bit 4, [hl] + CheckEventHL EVENT_5E4 jr nz, .asm_1db8d - bit 0, [hl] + CheckEventReuseHL EVENT_5E0 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_5E4 call Delay3 ld hl, wd730 set 7, [hl] @@ -28,17 +27,17 @@ VermilionDockScript: ; 1db52 (7:5b52) ld [wJoyIgnore], a ret .asm_1db8d - bit 5, [hl] + CheckEventAfterBranchReuseHL EVENT_5E5, EVENT_5E4 ret nz ld a, [wSimulatedJoypadStatesIndex] and a ret nz ld [wJoyIgnore], a - set 5, [hl] + SetEventReuseHL EVENT_5E5 ret VermilionDock_1db9b: ; 1db9b (7:5b9b) - set 2, [hl] + SetEventForceReuseHL EVENT_SS_ANNE_LEFT ld a, $ff ld [wJoyIgnore], a ld [wc0ee], a diff --git a/scripts/vermiliongym.asm b/scripts/vermiliongym.asm index 614e0b4d..31f736cd 100755 --- a/scripts/vermiliongym.asm +++ b/scripts/vermiliongym.asm @@ -28,8 +28,7 @@ Gym3LeaderName: ; 5ca64 (17:4a64) db "LT.SURGE@" VermilionGymScript_5ca6d: ; 5ca6d (17:4a6d) - ld a, [wd773] - bit 0, a + CheckEvent EVENT_2ND_LOCK_OPENED jr nz, .asm_5ca78 ld a, $24 jr .asm_5ca7f @@ -66,16 +65,14 @@ VermilionGymScript_5caaa: ; 5caaa (17:4aaa) ld a, $6 ld [hSpriteIndexOrTextID], a call DisplayTextID - ld hl, wd773 - set 7, [hl] + SetEvent EVENT_167 ld bc, (TM_24 << 8) | 1 call GiveItem jr nc, .BagFull ld a, $7 ld [hSpriteIndexOrTextID], a call DisplayTextID - ld hl, wd773 - set 6, [hl] + SetEvent EVENT_166 jr .asm_5cad3 .BagFull ld a, $8 @@ -88,9 +85,7 @@ VermilionGymScript_5caaa: ; 5caaa (17:4aaa) 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 @@ -106,27 +101,27 @@ VermilionGymTextPointers: ; 5cae8 (17:4ae8) VermilionGymTrainerHeaders: ; 5caf8 (17:4af8) VermilionGymTrainerHeader0: ; 5caf8 (17:4af8) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_VERMILION_GYM_TRAINER_0 db ($3 << 4) ; trainer's view range - dw wd773 ; flag's byte + dwEventFlagAddress EVENT_BEAT_VERMILION_GYM_TRAINER_0 dw VermilionGymBattleText1 ; TextBeforeBattle dw VermilionGymAfterBattleText1 ; TextAfterBattle dw VermilionGymEndBattleText1 ; TextEndBattle dw VermilionGymEndBattleText1 ; TextEndBattle VermilionGymTrainerHeader1: ; 5cb04 (17:4b04) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_VERMILION_GYM_TRAINER_1 db ($2 << 4) ; trainer's view range - dw wd773 ; flag's byte + dwEventFlagAddress EVENT_BEAT_VERMILION_GYM_TRAINER_1 dw VermilionGymBattleText2 ; TextBeforeBattle dw VermilionGymAfterBattleText2 ; TextAfterBattle dw VermilionGymEndBattleText2 ; TextEndBattle dw VermilionGymEndBattleText2 ; TextEndBattle VermilionGymTrainerHeader2: ; 5cb10 (17:4b10) - db $4 ; flag's bit + dbEventFlagBit EVENT_BEAT_VERMILION_GYM_TRAINER_2 db ($3 << 4) ; trainer's view range - dw wd773 ; flag's byte + dwEventFlagAddress EVENT_BEAT_VERMILION_GYM_TRAINER_2 dw VermilionGymBattleText3 ; TextBeforeBattle dw VermilionGymAfterBattleText3 ; TextAfterBattle dw VermilionGymEndBattleText3 ; TextEndBattle @@ -136,10 +131,9 @@ VermilionGymTrainerHeader2: ; 5cb10 (17:4b10) VermilionGymText1: ; 5cb1d (17:4b1d) TX_ASM - ld a, [wd773] - bit 7, a + CheckEvent EVENT_167 jr z, .asm_5cb39 - bit 6, a + CheckEventReuseA EVENT_166 jr nz, .asm_5cb31 call z, VermilionGymScript_5caaa call DisableWaitingAfterTextDisplay diff --git a/scripts/victoryroad1.asm b/scripts/victoryroad1.asm index 4f1df52f..e8b90e05 100755 --- a/scripts/victoryroad1.asm +++ b/scripts/victoryroad1.asm @@ -11,8 +11,7 @@ VictoryRoad1Script: ; 5da0a (17:5a0a) ld [W_VICTORYROAD1CURSCRIPT], a ret .next - ld a, [wd869] - bit 7, a + CheckEvent EVENT_917 ret z ld a, $1d ld [wd09f], a @@ -25,16 +24,14 @@ VictoryRoad1ScriptPointers: ; 5da3a (17:5a3a) dw EndTrainerBattle VictoryRoad1Script0: ; 5da40 (17:5a40) - ld a, [wd869] - bit 7, a + CheckEvent EVENT_917 jp nz, CheckFightingMapTrainers ld hl, CoordsData_5da5c call CheckBoulderCoords jp nc, CheckFightingMapTrainers ld hl, wd126 set 5, [hl] - ld hl, wd869 - set 7, [hl] + SetEvent EVENT_917 ret CoordsData_5da5c: ; 5da5c (17:5a5c) @@ -51,18 +48,18 @@ VictoryRoad1TextPointers: ; 5da5f (17:5a5f) VictoryRoad1TrainerHeaders: ; 5da6d (17:5a6d) VictoryRoad1TrainerHeader0: ; 5da6d (17:5a6d) - db $1 ; flag's bit + dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_1_TRAINER_0 db ($2 << 4) ; trainer's view range - dw wd869 ; flag's byte + 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 + dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_1_TRAINER_1 db ($2 << 4) ; trainer's view range - dw wd869 ; flag's byte + dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_1_TRAINER_1 dw VictoryRoad1BattleText2 ; TextBeforeBattle dw VictoryRoad1AfterBattleText2 ; TextAfterBattle dw VictoryRoad1EndBattleText2 ; TextEndBattle diff --git a/scripts/victoryroad2.asm b/scripts/victoryroad2.asm index fd095638..46755c46 100755 --- a/scripts/victoryroad2.asm +++ b/scripts/victoryroad2.asm @@ -16,12 +16,10 @@ VictoryRoad2Script: ; 5179d (14:579d) ret VictoryRoad2Script_517c4: ; 517c4 (14:57c4) - ld hl, wd869 - res 7, [hl] + ResetEvent EVENT_917 VictoryRoad2Script_517c9: ; 517c9 (14:57c9) - ld a, [wd7ee] - bit 0, a + CheckEvent EVENT_538 jr z, .asm_517da push af ld a, $15 @@ -48,17 +46,17 @@ VictoryRoad2Script0: ; 517f1 (14:57f1) ld hl, CoordsData_51816 call CheckBoulderCoords jp nc, CheckFightingMapTrainers - ld hl, wd7ee + EventFlagAddress hl, EVENT_538 ld a, [wCoordIndex] cp $2 jr z, .asm_5180b - bit 0, [hl] - set 0, [hl] + CheckEventReuseHL EVENT_538 + SetEventReuseHL EVENT_538 ret nz jr .asm_51810 .asm_5180b - bit 7, [hl] - set 7, [hl] + CheckEventAfterBranchReuseHL EVENT_53F, EVENT_538 + SetEventReuseHL EVENT_53F ret nz .asm_51810 ld hl, wd126 @@ -87,54 +85,54 @@ VictoryRoad2TextPointers: ; 5181b (14:581b) VictoryRoad2TrainerHeaders: ; 51835 (14:5835) VictoryRoad2TrainerHeader0: ; 51835 (14:5835) - db $1 ; flag's bit + dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_2_TRAINER_0 db ($4 << 4) ; trainer's view range - dw wd7ee ; flag's byte + dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_2_TRAINER_0 dw VictoryRoad2BattleText1 ; TextBeforeBattle dw VictoryRoad2AfterBattleText1 ; TextAfterBattle dw VictoryRoad2EndBattleText1 ; TextEndBattle dw VictoryRoad2EndBattleText1 ; TextEndBattle VictoryRoad2TrainerHeader2: ; 51841 (14:5841) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_2_TRAINER_2 db ($3 << 4) ; trainer's view range - dw wd7ee ; flag's byte + dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_2_TRAINER_2 dw VictoryRoad2BattleText2 ; TextBeforeBattle dw VictoryRoad2AfterBattleText2 ; TextAfterBattle dw VictoryRoad2EndBattleText2 ; TextEndBattle dw VictoryRoad2EndBattleText2 ; TextEndBattle VictoryRoad2TrainerHeader3: ; 5184d (14:584d) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_2_TRAINER_3 db ($3 << 4) ; trainer's view range - dw wd7ee ; flag's byte + dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_2_TRAINER_3 dw VictoryRoad2BattleText3 ; TextBeforeBattle dw VictoryRoad2AfterBattleText3 ; TextAfterBattle dw VictoryRoad2EndBattleText3 ; TextEndBattle dw VictoryRoad2EndBattleText3 ; TextEndBattle VictoryRoad2TrainerHeader4: ; 51859 (14:5859) - db $4 ; flag's bit + dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_2_TRAINER_4 db ($1 << 4) ; trainer's view range - dw wd7ee ; flag's byte + dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_2_TRAINER_4 dw VictoryRoad2BattleText4 ; TextBeforeBattle dw VictoryRoad2AfterBattleText4 ; TextAfterBattle dw VictoryRoad2EndBattleText4 ; TextEndBattle dw VictoryRoad2EndBattleText4 ; TextEndBattle VictoryRoad2TrainerHeader5: ; 51865 (14:5865) - db $5 ; flag's bit + dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_2_TRAINER_5 db ($3 << 4) ; trainer's view range - dw wd7ee ; flag's byte + dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_2_TRAINER_5 dw VictoryRoad2BattleText5 ; TextBeforeBattle dw VictoryRoad2AfterBattleText5 ; TextAfterBattle dw VictoryRoad2EndBattleText5 ; TextEndBattle dw VictoryRoad2EndBattleText5 ; TextEndBattle VictoryRoad2TrainerHeader6: ; 51871 (14:5871) - db $6 ; flag's bit + dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_2_TRAINER_6 db ($0 << 4) ; trainer's view range - dw wd7ee ; flag's byte + dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_2_TRAINER_6 dw VictoryRoad2BattleText6 ; TextBeforeBattle dw VictoryRoad2BattleText6 ; TextAfterBattle dw VictoryRoad2BattleText6 ; TextEndBattle diff --git a/scripts/victoryroad3.asm b/scripts/victoryroad3.asm index 14b6895d..bbb64272 100755 --- a/scripts/victoryroad3.asm +++ b/scripts/victoryroad3.asm @@ -13,8 +13,7 @@ VictoryRoad3Script_44996: ; 44996 (11:4996) bit 5, [hl] res 5, [hl] ret z - ld hl, wd813 - bit 0, [hl] + CheckEventHL EVENT_660 ret z ld a, $1d ld [wd09f], a @@ -39,13 +38,10 @@ VictoryRoad3Script0: ; 449b7 (11:49b7) jr nz, .asm_449dc ld hl, wd126 set 5, [hl] - ld hl, wd813 - set 0, [hl] + SetEvent EVENT_660 ret .asm_449dc - ld hl, wd813 - bit 6, [hl] - set 6, [hl] + CheckAndSetEvent EVENT_666 jr nz, .asm_449fe ld a, HS_VICTORY_ROAD_3_BOULDER ld [wcc4d], a @@ -92,36 +88,36 @@ VictoryRoad3TextPointers: ; 44a24 (11:4a24) VictoryRoad3TrainerHeaders: ; 44a38 (11:4a38) VictoryRoad3TrainerHeader0: ; 44a38 (11:4a38) - db $1 ; flag's bit + dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_3_TRAINER_0 db ($1 << 4) ; trainer's view range - dw wd813 ; flag's byte + dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_3_TRAINER_0 dw VictoryRoad3BattleText2 ; TextBeforeBattle dw VictoryRoad3AfterBattleText2 ; TextAfterBattle dw VictoryRoad3EndBattleText2 ; TextEndBattle dw VictoryRoad3EndBattleText2 ; TextEndBattle VictoryRoad3TrainerHeader2: ; 44a44 (11:4a44) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_3_TRAINER_2 db ($4 << 4) ; trainer's view range - dw wd813 ; flag's byte + dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_3_TRAINER_2 dw VictoryRoad3BattleText3 ; TextBeforeBattle dw VictoryRoad3AfterBattleText3 ; TextAfterBattle dw VictoryRoad3EndBattleText3 ; TextEndBattle dw VictoryRoad3EndBattleText3 ; TextEndBattle VictoryRoad3TrainerHeader3: ; 44a50 (11:4a50) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_3_TRAINER_3 db ($4 << 4) ; trainer's view range - dw wd813 ; flag's byte + dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_3_TRAINER_3 dw VictoryRoad3BattleText4 ; TextBeforeBattle dw VictoryRoad3AfterBattleText4 ; TextAfterBattle dw VictoryRoad3EndBattleText4 ; TextEndBattle dw VictoryRoad3EndBattleText4 ; TextEndBattle VictoryRoad3TrainerHeader4: ; 44a5c (11:4a5c) - db $4 ; flag's bit + dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_3_TRAINER_4 db ($4 << 4) ; trainer's view range - dw wd813 ; flag's byte + dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_3_TRAINER_4 dw VictoryRoad3BattleText5 ; TextBeforeBattle dw VictoryRoad3AfterBattleText5 ; TextAfterBattle dw VictoryRoad3EndBattleText5 ; TextEndBattle diff --git a/scripts/viridiancity.asm b/scripts/viridiancity.asm index c358e961..f7884c9b 100755 --- a/scripts/viridiancity.asm +++ b/scripts/viridiancity.asm @@ -15,14 +15,12 @@ ViridianCityScript0: ; 19005 (6:5005) jp ViridianCityScript_1903d ViridianCityScript_1900b: ; 1900b (6:500b) - ld a, [wd74c] - bit 0, a + CheckEvent EVENT_028 ret nz ld a, [W_OBTAINEDBADGES] cp %01111111 jr nz, .asm_1901e - ld hl, wd74c - set 0, [hl] + SetEvent EVENT_028 ret .asm_1901e ld a, [W_YCOORD] @@ -42,8 +40,7 @@ ViridianCityScript_1900b: ; 1900b (6:500b) ret ViridianCityScript_1903d: ; 1903d (6:503d) - ld a, [wd74b] - bit 5, a + CheckEvent EVENT_GOT_POKEDEX ret nz ld a, [W_YCOORD] cp $9 @@ -154,8 +151,7 @@ ViridianCityText2: ; 19107 (6:5107) cp %01111111 ld hl, ViridianCityText_19127 jr z, .asm_ae9fe - ld a, [wd751] - bit 1, a + CheckEvent EVENT_051 jr nz, .asm_ae9fe ld hl, ViridianCityText_19122 .asm_ae9fe @@ -201,8 +197,7 @@ ViridianCityText_19157: ; 19157 (6:5157) ViridianCityText4: ; 1915c (6:515c) TX_ASM - ld a, [wd74b] - bit 5, a + CheckEvent EVENT_GOT_POKEDEX jr nz, .asm_83894 ld hl, ViridianCityText_19175 call PrintText @@ -236,8 +231,7 @@ ViridianCityText_19191: ; 19191 (6:5191) ViridianCityText6: ; 19196 (6:5196) TX_ASM - ld a, [wd74c] - bit 1, a + CheckEvent EVENT_029 jr nz, .asm_4e5a0 ld hl, ViridianCityText_191ca call PrintText @@ -246,8 +240,7 @@ ViridianCityText6: ; 19196 (6:5196) jr nc, .BagFull ld hl, ReceivedTM42Text call PrintText - ld hl, wd74c - set 1, [hl] + SetEvent EVENT_029 jr .asm_3c73c .BagFull ld hl, TM42NoRoomText diff --git a/scripts/viridianforest.asm b/scripts/viridianforest.asm index 554c2125..892eeef2 100755 --- a/scripts/viridianforest.asm +++ b/scripts/viridianforest.asm @@ -30,27 +30,27 @@ ViridianForestTextPointers: ; 61126 (18:5126) ViridianForestTrainerHeaders: ; 61142 (18:5142) ViridianForestTrainerHeader0: ; 61142 (18:5142) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_0 db ($4 << 4) ; trainer's view range - dw wd7f3 ; flag's byte + dwEventFlagAddress EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_0 dw ViridianForestBattleText1 ; TextBeforeBattle dw ViridianForestAfterBattleText1 ; TextAfterBattle dw ViridianForestEndBattleText1 ; TextEndBattle dw ViridianForestEndBattleText1 ; TextEndBattle ViridianForestTrainerHeader1: ; 6114e (18:514e) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_1 db ($4 << 4) ; trainer's view range - dw wd7f3 ; flag's byte + dwEventFlagAddress EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_1 dw ViridianForestBattleText2 ; TextBeforeBattle dw ViridianForestAfterBattleText2 ; TextAfterBattle dw ViridianForestEndBattleText2 ; TextEndBattle dw ViridianForestEndBattleText2 ; TextEndBattle ViridianForestTrainerHeader2: ; 6115a (18:515a) - db $4 ; flag's bit + dbEventFlagBit EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_2 db ($1 << 4) ; trainer's view range - dw wd7f3 ; flag's byte + dwEventFlagAddress EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_2 dw ViridianForestBattleText3 ; TextBeforeBattle dw ViridianForestAfterBattleText3 ; TextAfterBattle dw ViridianForestEndBattleText3 ; TextEndBattle diff --git a/scripts/viridiangym.asm b/scripts/viridiangym.asm index 40484d21..9047b80a 100755 --- a/scripts/viridiangym.asm +++ b/scripts/viridiangym.asm @@ -140,16 +140,14 @@ ViridianGymScript3_74995: ; 74995 (1d:4995) ld a, $c ld [hSpriteIndexOrTextID], a call DisplayTextID - ld hl, wd751 - set 1, [hl] + SetEvent EVENT_051 ld bc, (TM_27 << 8) | 1 call GiveItem jr nc, .BagFull ld a, $d ld [hSpriteIndexOrTextID], a call DisplayTextID - ld hl, wd751 - set 0, [hl] + SetEvent EVENT_050 jr .asm_749be .BagFull ld a, $e @@ -162,19 +160,12 @@ ViridianGymScript3_74995: ; 74995 (1d:4995) 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 predef ShowObject - ld hl, wd7eb - set 1, [hl] - set 7, [hl] + SetEvents EVENT_521, EVENT_527 jp ViridianGymScript_748d6 ViridianGymTextPointers: ; 749ec (1d:49ec) @@ -195,72 +186,72 @@ ViridianGymTextPointers: ; 749ec (1d:49ec) ViridianGymTrainerHeaders: ; 74a08 (1d:4a08) ViridianGymTrainerHeader0: ; 74a08 (1d:4a08) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_0 db ($4 << 4) ; trainer's view range - dw wd751 ; flag's byte + dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_0 dw ViridianGymBattleText1 ; TextBeforeBattle dw ViridianGymAfterBattleText1 ; TextAfterBattle dw ViridianGymEndBattleText1 ; TextEndBattle dw ViridianGymEndBattleText1 ; TextEndBattle ViridianGymTrainerHeader1: ; 74a14 (1d:4a14) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_1 db ($4 << 4) ; trainer's view range - dw wd751 ; flag's byte + dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_1 dw ViridianGymBattleText2 ; TextBeforeBattle dw ViridianGymAfterBattleText2 ; TextAfterBattle dw ViridianGymEndBattleText2 ; TextEndBattle dw ViridianGymEndBattleText2 ; TextEndBattle ViridianGymTrainerHeader2: ; 74a20 (1d:4a20) - db $4 ; flag's bit + dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_2 db ($4 << 4) ; trainer's view range - dw wd751 ; flag's byte + dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_2 dw ViridianGymBattleText3 ; TextBeforeBattle dw ViridianGymAfterBattleText3 ; TextAfterBattle dw ViridianGymEndBattleText3 ; TextEndBattle dw ViridianGymEndBattleText3 ; TextEndBattle ViridianGymTrainerHeader3: ; 74a2c (1d:4a2c) - db $5 ; flag's bit + dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_3 db ($2 << 4) ; trainer's view range - dw wd751 ; flag's byte + dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_3 dw ViridianGymBattleText4 ; TextBeforeBattle dw ViridianGymAfterBattleText4 ; TextAfterBattle dw ViridianGymEndBattleText4 ; TextEndBattle dw ViridianGymEndBattleText4 ; TextEndBattle ViridianGymTrainerHeader4: ; 74a38 (1d:4a38) - db $6 ; flag's bit + dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_4 db ($3 << 4) ; trainer's view range - dw wd751 ; flag's byte + dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_4 dw ViridianGymBattleText5 ; TextBeforeBattle dw ViridianGymAfterBattleText5 ; TextAfterBattle dw ViridianGymEndBattleText5 ; TextEndBattle dw ViridianGymEndBattleText5 ; TextEndBattle ViridianGymTrainerHeader5: ; 74a44 (1d:4a44) - db $7 ; flag's bit + dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_5 db ($4 << 4) ; trainer's view range - dw wd751 ; flag's byte + dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_5 dw ViridianGymBattleText6 ; TextBeforeBattle dw ViridianGymAfterBattleText6 ; TextAfterBattle dw ViridianGymEndBattleText6 ; TextEndBattle dw ViridianGymEndBattleText6 ; TextEndBattle ViridianGymTrainerHeader6: ; 74a50 (1d:4a50) - db $8 ; flag's bit + dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_6, 1 db ($3 << 4) ; trainer's view range - dw wd751 ; flag's byte + dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_6, 1 dw ViridianGymBattleText7 ; TextBeforeBattle dw ViridianGymAfterBattleText7 ; TextAfterBattle dw ViridianGymEndBattleText7 ; TextEndBattle dw ViridianGymEndBattleText7 ; TextEndBattle ViridianGymTrainerHeader7: ; 74a5c (1d:4a5c) - db $9 ; flag's bit + dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_7, 1 db ($4 << 4) ; trainer's view range - dw wd751 ; flag's byte + dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_7, 1 dw ViridianGymBattleText8 ; TextBeforeBattle dw ViridianGymAfterBattleText8 ; TextAfterBattle dw ViridianGymEndBattleText8 ; TextEndBattle @@ -270,10 +261,9 @@ ViridianGymTrainerHeader7: ; 74a5c (1d:4a5c) ViridianGymText1: ; 74a69 (1d:4a69) TX_ASM - ld a, [wd751] - bit 1, a + CheckEvent EVENT_051 jr z, .asm_6de66 - bit 0, a + CheckEventReuseA EVENT_050 jr nz, .asm_9fc95 call z, ViridianGymScript3_74995 call DisableWaitingAfterTextDisplay @@ -485,8 +475,7 @@ ViridianGymAfterBattleText8: ; 74bb6 (1d:4bb6) ViridianGymText10: ; 74bbb (1d:4bbb) TX_ASM - ld a, [wd751] - bit 1, a + CheckEvent EVENT_051 jr nz, .asm_1abd1 ld hl, ViridianGymText_74bd4 call PrintText diff --git a/scripts/viridianmart.asm b/scripts/viridianmart.asm index b6621684..7008ba5b 100755 --- a/scripts/viridianmart.asm +++ b/scripts/viridianmart.asm @@ -6,8 +6,7 @@ ViridianMartScript: ; 1d46e (7:546e) jp CallFunctionInTable ViridianMartScript_1d47d: ; 1d47d (7:547d) - ld a, [wd74e] - bit 0, a + CheckEvent EVENT_038 jr nz, .asm_1d489 ld hl, ViridianMartTextPointers jr .asm_1d48c @@ -55,8 +54,7 @@ ViridianMartScript1: ; 1d4c0 (7:54c0) call DisplayTextID ld bc, (OAKS_PARCEL << 8) + 1 call GiveItem - ld hl, wd74e - set 1, [hl] + SetEvent EVENT_039 ld a, $2 ld [W_VIRIDIANMARKETCURSCRIPT], a ; fallthrough diff --git a/wram.asm b/wram.asm index b43f3845..767cc0d4 100755 --- a/wram.asm +++ b/wram.asm @@ -2575,142 +2575,9 @@ wCardKeyDoorX:: ; d740 wd743:: ds 1 ; used with surge gym trash cans wd744:: ds 3 ; also used with surge gym trash cans -wd747:: ds 3 ; and we're getting to flags, which I'm not going to bother commenting -wd74a:: ds 1 - -wd74b:: ; d74b -; bit 0: Prof. Oak has lead the player to the north end of his lab -; bit 1: Prof. Oak has asked the player to choose a pokemon -; bit 2: the player and the rival have received their pokemon -; bit 3: the player has battled the rival in Oak's lab -; bit 4: Prof. Oak has given the player 5 pokeballs -; bit 5: received pokedex - ds 1 - -wd74c:: ds 2 -wd74e:: ds 3 -wd751:: ds 1 -wd752:: ds 2 -wd754:: ds 1 -wd755:: ds 5 -wd75a:: ds 1 -wd75b:: ds 3 -wd75e:: ds 1 -wd75f:: ds 5 -wd764:: ds 1 -wd765:: ds 1 -wd766:: ds 1 -wd767:: ds 1 -wd768:: ds 1 -wd769:: ds 3 -wd76c:: ds 5 -wd771:: ds 2 -wd773:: ds 4 -wd777:: ds 1 -wd778:: ds 4 -wd77c:: ds 1 -wd77d:: ds 1 -wd77e:: ds 5 -wd783:: ds 11 -wd78e:: ds 2 -wd790:: ds 2 -wd792:: ds 4 -wd796:: ds 2 -wd798:: ds 2 -wd79a:: ds 1 -wd79b:: ds 1 -wd79c:: ds 5 -wd7a1:: ds 2 -wd7a3:: ds 12 -wd7af:: ds 2 -wd7b1:: ds 2 -wd7b3:: ds 1 -wd7b4:: ds 5 -wd7b9:: ds 4 -wd7bd:: ds 2 -wd7bf:: ds 3 -wd7c2:: ds 1 -wd7c3:: ds 2 -wd7c5:: ds 1 -wd7c6:: ds 3 -wd7c9:: ds 4 -wd7cd:: ds 2 -wd7cf:: ds 2 -wd7d1:: ds 1 -wd7d2:: ds 1 -wd7d3:: ds 2 -wd7d5:: ds 1 -wd7d6:: ds 1 -wd7d7:: ds 1 -wd7d8:: ds 1 -wd7d9:: ds 2 -wd7db:: ds 2 -wd7dd:: ds 2 -wd7df:: ds 1 -wd7e0:: ds 1 -wd7e1:: ds 2 -wd7e3:: ds 2 -wd7e5:: ds 2 -wd7e7:: ds 1 -wd7e8:: ds 1 -wd7e9:: ds 2 -wd7eb:: ds 2 -wd7ed:: ds 1 -wd7ee:: ds 1 -wd7ef:: ds 1 -wd7f0:: ds 1 -wd7f1:: ds 1 -wd7f2:: ds 1 -wd7f3:: ds 2 -wd7f5:: ds 1 -wd7f6:: ds 9 -wd7ff:: ds 4 -wd803:: ds 2 -wd805:: ds 2 -wd807:: ds 2 -wd809:: ds 10 -wd813:: ds 2 -wd815:: ds 1 -wd816:: ds 1 -wd817:: ds 2 -wd819:: ds 2 -wd81b:: ds 10 -wd825:: ds 1 -wd826:: ds 1 -wd827:: ds 1 -wd828:: ds 1 -wd829:: ds 1 -wd82a:: ds 1 -wd82b:: ds 1 -wd82c:: ds 1 -wd82d:: ds 1 -wd82e:: ds 1 -wd82f:: ds 1 -wd830:: ds 1 -wd831:: ds 1 -wd832:: ds 1 -wd833:: ds 1 -wd834:: ds 1 -wd835:: ds 1 -wd836:: ds 1 -wd837:: ds 1 -wd838:: ds 15 -wd847:: ds 2 -wd849:: ds 2 -wd84b:: ds 12 -wd857:: ds 8 -wd85f:: ds 4 -wd863:: ds 1 -wd864:: ds 1 -wd865:: ds 1 -wd866:: ds 1 -wd867:: ds 2 -wd869:: ds 20 -wd87d:: ds 2 -wd87f:: ds 1 -wd880:: ds 1 -wd881:: ds 1 -wd882:: ds 5 + +wEventFlags:: ; d747 + ds 320 wLinkEnemyTrainerName:: ; d887 ; linked game's trainer name -- cgit v1.3.1-sl0p From 73171bfff573fa8900563319c014f3e626db6b3e Mon Sep 17 00:00:00 2001 From: YamaArashi Date: Tue, 21 Jul 2015 10:36:03 -0700 Subject: named most of the used events --- constants/event_constants.asm | 268 +++++++++++++++++------------------ constants/event_macros.asm | 24 +++- constants/hide_show_constants.asm | 2 +- engine/hidden_object_functions18.asm | 2 +- engine/hidden_object_functions7.asm | 8 +- engine/items/items.asm | 2 +- engine/menu/bills_pc.asm | 2 +- engine/menu/pc.asm | 2 +- engine/overworld/cinnabar_lab.asm | 2 +- main.asm | 2 +- scripts/agatha.asm | 2 +- scripts/bikeshop.asm | 6 +- scripts/billshouse.asm | 12 +- scripts/blueshouse.asm | 6 +- scripts/bruno.asm | 2 +- scripts/celadoncity.asm | 4 +- scripts/celadondiner.asm | 4 +- scripts/celadongamecorner.asm | 16 +-- scripts/celadonmart3.asm | 4 +- scripts/celadonmartroof.asm | 12 +- scripts/ceruleancity.asm | 12 +- scripts/cinnabarisland.asm | 4 +- scripts/copycatshouse2f.asm | 4 +- scripts/fanclub.asm | 12 +- scripts/fightingdojo.asm | 18 +-- scripts/fuchsiacity.asm | 4 +- scripts/fuchsiahouse2.asm | 8 +- scripts/gary.asm | 4 +- scripts/halloffameroom.asm | 2 +- scripts/indigoplateaulobby.asm | 4 +- scripts/lab3.asm | 4 +- scripts/lab4.asm | 8 +- scripts/lance.asm | 8 +- scripts/lavenderhouse1.asm | 8 +- scripts/lavenderhouse2.asm | 2 +- scripts/lavendermart.asm | 2 +- scripts/lorelei.asm | 2 +- scripts/mansion1.asm | 6 +- scripts/mansion2.asm | 6 +- scripts/mansion3.asm | 2 +- scripts/mansion4.asm | 2 +- scripts/mtmoon3.asm | 16 +-- scripts/museum1f.asm | 10 +- scripts/oakslab.asm | 34 ++--- scripts/pallettown.asm | 15 +- scripts/pewtercity.asm | 2 +- scripts/pewtergym.asm | 2 +- scripts/pokemontower2.asm | 13 +- scripts/pokemontower5.asm | 4 +- scripts/pokemontower6.asm | 4 +- scripts/pokemontower7.asm | 4 +- scripts/rockethideout4.asm | 13 +- scripts/route1.asm | 2 +- scripts/route11gateupstairs.asm | 4 +- scripts/route12gateupstairs.asm | 4 +- scripts/route15gateupstairs.asm | 4 +- scripts/route16house.asm | 4 +- scripts/route20.asm | 6 +- scripts/route22.asm | 18 +-- scripts/route23.asm | 24 ++-- scripts/route24.asm | 14 +- scripts/route25.asm | 10 +- scripts/route2gate.asm | 4 +- scripts/safarizonesecrethouse.asm | 4 +- scripts/saffronhouse2.asm | 4 +- scripts/seafoamislands1.asm | 8 +- scripts/seafoamislands2.asm | 6 +- scripts/seafoamislands3.asm | 6 +- scripts/seafoamislands4.asm | 10 +- scripts/seafoamislands5.asm | 4 +- scripts/silphco1.asm | 6 +- scripts/silphco10.asm | 6 +- scripts/silphco11.asm | 12 +- scripts/silphco2.asm | 14 +- scripts/silphco3.asm | 12 +- scripts/silphco4.asm | 10 +- scripts/silphco5.asm | 14 +- scripts/silphco6.asm | 6 +- scripts/silphco7.asm | 26 ++-- scripts/silphco8.asm | 6 +- scripts/silphco9.asm | 20 +-- scripts/ssanne7.asm | 8 +- scripts/vermilioncity.asm | 4 +- scripts/vermiliondock.asm | 12 +- scripts/victoryroad1.asm | 6 +- scripts/victoryroad2.asm | 14 +- scripts/victoryroad3.asm | 6 +- scripts/viridiancity.asm | 8 +- scripts/viridiangym.asm | 2 +- scripts/viridianmart.asm | 4 +- 90 files changed, 485 insertions(+), 468 deletions(-) (limited to 'scripts/vermiliondock.asm') diff --git a/constants/event_constants.asm b/constants/event_constants.asm index 072a90b8..c5ca0b39 100755 --- a/constants/event_constants.asm +++ b/constants/event_constants.asm @@ -1,12 +1,12 @@ const_value = 0 - const EVENT_STOPPED_FROM_LEAVING_PALLET + const EVENT_FOLLOWED_OAK_INTO_LAB const EVENT_001 const EVENT_002 const EVENT_003 const EVENT_004 const EVENT_005 - const EVENT_006 + const EVENT_PALLET_AFTER_GETTING_POKEBALLS const EVENT_007 const EVENT_008 const EVENT_009 @@ -24,24 +24,24 @@ const_value = 0 const EVENT_015 const EVENT_016 const EVENT_017 - const EVENT_018 - const EVENT_019 - const EVENT_01A + const EVENT_GOT_TOWN_MAP + const EVENT_ENTERED_BLUES_HOUSE + const EVENT_DAISY_WALKING const EVENT_01B const EVENT_01C const EVENT_01D const EVENT_01E const EVENT_01F - const EVENT_FOLLOWED_OAK_INSIDE_LAB + const EVENT_FOLLOWED_OAK_INTO_LAB_2 const EVENT_OAK_ASKED_TO_CHOOSE_MON const EVENT_GOT_STARTER const EVENT_BATTLED_RIVAL_IN_OAKS_LAB const EVENT_GOT_POKEBALLS_FROM_OAK const EVENT_GOT_POKEDEX - const EVENT_026 - const EVENT_027 - const EVENT_028 - const EVENT_029 + const EVENT_PALLET_AFTER_GETTING_POKEBALLS_2 + const EVENT_OAK_APPEARED_IN_PALLET + const EVENT_VIRIDIAN_GYM_OPEN + const EVENT_GOT_TM42 const EVENT_02A const EVENT_02B const EVENT_02C @@ -56,8 +56,8 @@ const_value = 0 const EVENT_035 const EVENT_036 const EVENT_037 - const EVENT_038 - const EVENT_039 + const EVENT_OAK_GOT_PARCEL + const EVENT_GOT_OAKS_PARCEL const EVENT_03A const EVENT_03B const EVENT_03C @@ -104,8 +104,8 @@ const_value = 0 const EVENT_065 const EVENT_066 const EVENT_067 - const EVENT_068 - const EVENT_069 + const EVENT_BOUGHT_MUSEUM_TICKET + const EVENT_GOT_OLD_AMBER const EVENT_06A const EVENT_06B const EVENT_06C @@ -152,7 +152,7 @@ const_value = 0 const EVENT_095 const EVENT_096 const EVENT_097 - const EVENT_098 + const EVENT_BEAT_CERULEAN_RIVAL const EVENT_099 const EVENT_09A const EVENT_09B @@ -167,7 +167,7 @@ const_value = 0 const EVENT_0A4 const EVENT_0A5 const EVENT_0A6 - const EVENT_0A7 + const EVENT_BEAT_CERULEAN_ROCKET_THIEF const EVENT_0A8 const EVENT_0A9 const EVENT_0AA @@ -192,7 +192,7 @@ const_value = 0 const EVENT_0BD const EVENT_GOT_TM11 const EVENT_BEAT_MISTY - const EVENT_0C0 + const EVENT_GOT_BICYCLE const EVENT_0C1 const EVENT_0C2 const EVENT_0C3 @@ -238,8 +238,8 @@ const_value = 0 const EVENT_0EB const EVENT_0EC const EVENT_0ED - const EVENT_0EE - const EVENT_0EF + const EVENT_POKEMON_TOWER_RIVAL_ON_LEFT + const EVENT_BEAT_POKEMON_TOWER_RIVAL const EVENT_0F0 const EVENT_BEAT_POKEMONTOWER_3_TRAINER_0 const EVENT_BEAT_POKEMONTOWER_3_TRAINER_1 @@ -263,7 +263,7 @@ const_value = 0 const EVENT_BEAT_POKEMONTOWER_5_TRAINER_2 const EVENT_BEAT_POKEMONTOWER_5_TRAINER_3 const EVENT_106 - const EVENT_107 + const EVENT_IN_PURIFIED_ZONE const EVENT_108 const EVENT_BEAT_POKEMONTOWER_6_TRAINER_0 const EVENT_BEAT_POKEMONTOWER_6_TRAINER_1 @@ -271,7 +271,7 @@ const_value = 0 const EVENT_10C const EVENT_10D const EVENT_10E - const EVENT_10F + const EVENT_BEAT_GHOST_MAROWAK const EVENT_110 const EVENT_BEAT_POKEMONTOWER_7_TRAINER_0 const EVENT_BEAT_POKEMONTOWER_7_TRAINER_1 @@ -279,7 +279,7 @@ const_value = 0 const EVENT_114 const EVENT_115 const EVENT_116 - const EVENT_117 + const EVENT_RESCUED_MR_FUJI_2 const EVENT_118 const EVENT_119 const EVENT_11A @@ -296,7 +296,7 @@ const_value = 0 const EVENT_125 const EVENT_126 const EVENT_127 - const EVENT_128 + const EVENT_GOT_POKE_FLUTE const EVENT_129 const EVENT_12A const EVENT_12B @@ -342,8 +342,8 @@ const_value = 0 const EVENT_153 const EVENT_154 const EVENT_155 - const EVENT_156 - const EVENT_157 + const EVENT_SEEL_FAN_BOAST + const EVENT_PIKACHU_FAN_BOAST const EVENT_158 const EVENT_159 const EVENT_15A @@ -384,7 +384,7 @@ const_value = 0 const EVENT_17D const EVENT_17E const EVENT_17F - const EVENT_180 + const EVENT_GOT_TM41 const EVENT_181 const EVENT_182 const EVENT_183 @@ -396,10 +396,10 @@ const_value = 0 const EVENT_189 const EVENT_18A const EVENT_18B - const EVENT_18C - const EVENT_18D - const EVENT_18E - const EVENT_18F + const EVENT_GOT_TM13 + const EVENT_GOT_TM48 + const EVENT_GOT_TM49 + const EVENT_GOT_TM18 const EVENT_190 const EVENT_191 const EVENT_192 @@ -441,10 +441,10 @@ const_value = 0 const EVENT_1B6 const EVENT_1B7 const EVENT_1B8 - const EVENT_1B9 - const EVENT_1BA - const EVENT_1BB - const EVENT_1BC + const EVENT_FOUND_ROCKET_HIDEOUT + const EVENT_GOT_10_COINS + const EVENT_GOT_20_COINS + const EVENT_GOT_20_COINS_2 const EVENT_1BD const EVENT_1BE const EVENT_1BF @@ -480,7 +480,7 @@ const_value = 0 const EVENT_1DD const EVENT_1DE const EVENT_1DF - const EVENT_1E0 + const EVENT_GOT_COIN_CASE const EVENT_1E1 const EVENT_1E2 const EVENT_1E3 @@ -568,8 +568,8 @@ const_value = 0 const EVENT_235 const EVENT_236 const EVENT_237 - const EVENT_238 - const EVENT_239 + const EVENT_GOT_HM04 + const EVENT_GAVE_GOLD_TEETH const EVENT_23A const EVENT_23B const EVENT_23C @@ -632,7 +632,7 @@ const_value = 0 const EVENT_275 const EVENT_276 const EVENT_277 - const EVENT_278 + const EVENT_MANSION_SWITCH_ON const EVENT_279 const EVENT_27A const EVENT_27B @@ -727,7 +727,7 @@ const_value = 0 const EVENT_2D4 const EVENT_2D5 const EVENT_2D6 - const EVENT_2D7 + const EVENT_GOT_TM35 const EVENT_2D8 const EVENT_2D9 const EVENT_2DA @@ -736,9 +736,9 @@ const_value = 0 const EVENT_2DD const EVENT_2DE const EVENT_2DF - const EVENT_2E0 - const EVENT_2E1 - const EVENT_2E2 + const EVENT_GAVE_FOSSIL_TO_LAB + const EVENT_LAB_STILL_REVIVING_FOSSIL + const EVENT_LAB_HANDING_OVER_FOSSIL_MON const EVENT_2E3 const EVENT_2E4 const EVENT_2E5 @@ -832,7 +832,7 @@ const_value = 0 const EVENT_33D const EVENT_33E const EVENT_33F - const EVENT_340 + const EVENT_GOT_TM31 const EVENT_341 const EVENT_342 const EVENT_343 @@ -848,14 +848,14 @@ const_value = 0 const EVENT_34D const EVENT_34E const EVENT_34F - const EVENT_350 - const EVENT_351 + const EVENT_DEFEATED_FIGHTING_DOJO + const EVENT_BEAT_KARATE_MASTER const EVENT_BEAT_FIGHTING_DOJO_TRAINER_0 const EVENT_BEAT_FIGHTING_DOJO_TRAINER_1 const EVENT_BEAT_FIGHTING_DOJO_TRAINER_2 const EVENT_BEAT_FIGHTING_DOJO_TRAINER_3 - const EVENT_356 - const EVENT_357 + const EVENT_GOT_HITMONLEE + const EVENT_GOT_HITMONCHAN const EVENT_358 const EVENT_359 const EVENT_35A @@ -919,7 +919,7 @@ const_value = 0 const EVENT_394 const EVENT_395 const EVENT_396 - const EVENT_397 + const EVENT_SILPH_CO_RECEPTIONIST_AT_DESK const EVENT_398 const EVENT_399 const EVENT_39A @@ -944,7 +944,7 @@ const_value = 0 const EVENT_3AD const EVENT_3AE const EVENT_3AF - const EVENT_3B0 + const EVENT_GOT_TM29 const EVENT_3B1 const EVENT_3B2 const EVENT_3B3 @@ -960,7 +960,7 @@ const_value = 0 const EVENT_3BD const EVENT_3BE const EVENT_3BF - const EVENT_3C0 + const EVENT_GOT_POTION_SAMPLE const EVENT_3C1 const EVENT_3C2 const EVENT_3C3 @@ -984,7 +984,7 @@ const_value = 0 const EVENT_3D5 const EVENT_3D6 const EVENT_3D7 - const EVENT_3D8 + const EVENT_GOT_HM05 const EVENT_3D9 const EVENT_3DA const EVENT_3DB @@ -1151,8 +1151,8 @@ const_value = 0 const EVENT_47C const EVENT_47D const EVENT_47E - const EVENT_47F - const EVENT_480 + const EVENT_GOT_ITEMFINDER + const EVENT_GOT_TM39 const EVENT_481 const EVENT_BEAT_ROUTE_12_TRAINER_0 const EVENT_BEAT_ROUTE_12_TRAINER_1 @@ -1200,7 +1200,7 @@ const_value = 0 const EVENT_4AD const EVENT_4AE const EVENT_4AF - const EVENT_4B0 + const EVENT_GOT_EXP_ALL const EVENT_BEAT_ROUTE_15_TRAINER_0 const EVENT_BEAT_ROUTE_15_TRAINER_1 const EVENT_BEAT_ROUTE_15_TRAINER_2 @@ -1230,8 +1230,8 @@ const_value = 0 const EVENT_4CB const EVENT_4CC const EVENT_4CD - const EVENT_4CE - const EVENT_4CF + const EVENT_GOT_HM02 + const EVENT_RESCUED_MR_FUJI const EVENT_4D0 const EVENT_BEAT_ROUTE_17_TRAINER_0 const EVENT_BEAT_ROUTE_17_TRAINER_1 @@ -1280,7 +1280,7 @@ const_value = 0 const EVENT_4FD const EVENT_4FE const EVENT_4FF - const EVENT_500 + const EVENT_IN_SEAFOAM_ISLANDS const EVENT_BEAT_ROUTE_20_TRAINER_0 const EVENT_BEAT_ROUTE_20_TRAINER_2 const EVENT_BEAT_ROUTE_20_TRAINER_3 @@ -1294,8 +1294,8 @@ const_value = 0 const EVENT_50B const EVENT_50C const EVENT_50D - const EVENT_50E - const EVENT_50F + const EVENT_SEAFOAM1_BOULDER1_DOWN_HOLE + const EVENT_SEAFOAM1_BOULDER2_DOWN_HOLE const EVENT_510 const EVENT_BEAT_ROUTE_21_TRAINER_0 const EVENT_BEAT_ROUTE_21_TRAINER_1 @@ -1312,14 +1312,14 @@ const_value = 0 const EVENT_51D const EVENT_51E const EVENT_51F - const EVENT_520 - const EVENT_521 + const EVENT_1ST_ROUTE22_RIVAL_BATTLE + const EVENT_2ND_ROUTE22_RIVAL_BATTLE const EVENT_522 const EVENT_523 const EVENT_524 - const EVENT_525 - const EVENT_526 - const EVENT_527 + const EVENT_BEAT_ROUTE22_RIVAL_1ST_FIGHT + const EVENT_BEAT_ROUTE22_RIVAL_2ND_FIGHT + const EVENT_ROUTE22_RIVAL_WANTS_FIGHT const EVENT_528 const EVENT_529 const EVENT_52A @@ -1328,24 +1328,24 @@ const_value = 0 const EVENT_52D const EVENT_52E const EVENT_52F - const EVENT_530 - const EVENT_531 - const EVENT_532 - const EVENT_533 - const EVENT_534 - const EVENT_535 - const EVENT_536 + const EVENT_PASSED_CASCADEBADGE_CHECK + const EVENT_PASSED_THUNDERBADGE_CHECK + const EVENT_PASSED_RAINBOWBADGE_CHECK + const EVENT_PASSED_SOULBADGE_CHECK + const EVENT_PASSED_MARSHBADGE_CHECK + const EVENT_PASSED_VOLCANOBADGE_CHECK + const EVENT_PASSED_EARTHBADGE_CHECK const EVENT_537 - const EVENT_538 + const EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1 const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_0 const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_2 const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_3 const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_4 const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_5 const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_6 - const EVENT_53F - const EVENT_540 - const EVENT_541 + const EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH2 + const EVENT_GOT_NUGGET + const EVENT_BEAT_ROUTE24_ROCKET const EVENT_BEAT_ROUTE_24_TRAINER_0 const EVENT_BEAT_ROUTE_24_TRAINER_2 const EVENT_BEAT_ROUTE_24_TRAINER_3 @@ -1353,14 +1353,14 @@ const_value = 0 const EVENT_BEAT_ROUTE_24_TRAINER_5 const EVENT_BEAT_ROUTE_24_TRAINER_6 const EVENT_548 - const EVENT_549 + const EVENT_NUGGET_REWARD_AVAILABLE const EVENT_54A const EVENT_54B const EVENT_54C const EVENT_54D const EVENT_54E const EVENT_54F - const EVENT_550 + const EVENT_MET_BILL const EVENT_BEAT_ROUTE_25_TRAINER_0 const EVENT_BEAT_ROUTE_25_TRAINER_2 const EVENT_BEAT_ROUTE_25_TRAINER_3 @@ -1371,11 +1371,11 @@ const_value = 0 const EVENT_BEAT_ROUTE_25_TRAINER_8 const EVENT_BEAT_ROUTE_25_TRAINER_9 const EVENT_55A - const EVENT_55B - const EVENT_55C - const EVENT_55D - const EVENT_55E - const EVENT_55F + const EVENT_USED_CELL_SEPARATOR_ON_BILL + const EVENT_GOT_SS_TICKET + const EVENT_MET_BILL_2 + const EVENT_BILL_SAID_USE_CELL_SEPARATOR + const EVENT_LEFT_BILLS_HOUSE_AFTER_HELPING const EVENT_560 const EVENT_561 const EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_0 @@ -1401,13 +1401,13 @@ const_value = 0 const EVENT_BEAT_MT_MOON_1_TRAINER_6 const EVENT_BEAT_MT_MOON_1_TRAINER_7 const EVENT_578 - const EVENT_579 + const EVENT_BEAT_MT_MOON_EXIT_SUPER_NERD const EVENT_BEAT_MT_MOON_3_TRAINER_0 const EVENT_BEAT_MT_MOON_3_TRAINER_2 const EVENT_BEAT_MT_MOON_3_TRAINER_3 const EVENT_BEAT_MT_MOON_3_TRAINER_4 - const EVENT_57E - const EVENT_57F + const EVENT_GOT_DOME_FOSSIL + const EVENT_GOT_HELIX_FOSSIL const EVENT_580 const EVENT_581 const EVENT_582 @@ -1504,12 +1504,12 @@ const_value = 0 const EVENT_5DD const EVENT_5DE const EVENT_5DF - const EVENT_5E0 - const EVENT_5E1 + const EVENT_GOT_HM01 + const EVENT_RUBBED_CAPTAINS_BACK const EVENT_SS_ANNE_LEFT - const EVENT_5E3 - const EVENT_5E4 - const EVENT_5E5 + const EVENT_WALKED_PAST_GUARD_AFTER_SS_ANNE_LEFT + const EVENT_STARTED_WALKING_OUT_OF_DOCK + const EVENT_WALKED_OUT_OF_DOCK const EVENT_5E6 const EVENT_5E7 const EVENT_5E8 @@ -1632,13 +1632,13 @@ const_value = 0 const EVENT_65D const EVENT_65E const EVENT_65F - const EVENT_660 + const EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH1 const EVENT_BEAT_VICTORY_ROAD_3_TRAINER_0 const EVENT_BEAT_VICTORY_ROAD_3_TRAINER_2 const EVENT_BEAT_VICTORY_ROAD_3_TRAINER_3 const EVENT_BEAT_VICTORY_ROAD_3_TRAINER_4 const EVENT_665 - const EVENT_666 + const EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH2 const EVENT_667 const EVENT_668 const EVENT_669 @@ -1701,9 +1701,9 @@ const_value = 0 const EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_0 const EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_2 const EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_3 - const EVENT_6A5 - const EVENT_6A6 - const EVENT_6A7 + const EVENT_ROCKET_HIDEOUT_4_DOOR_UNLOCKED + const EVENT_ROCKET_DROPPED_LIFT_KEY + const EVENT_BEAT_ROCKET_HIDEOUT_GIOVANNI const EVENT_6A8 const EVENT_6A9 const EVENT_6AA @@ -1789,9 +1789,9 @@ const_value = 0 const EVENT_6FA const EVENT_6FB const EVENT_6FC - const EVENT_6FD - const EVENT_6FE - const EVENT_6FF + const EVENT_SILPH_CO_2_UNLOCKED_DOOR1 + const EVENT_SILPH_CO_2_UNLOCKED_DOOR2 + const EVENT_GOT_TM36 const EVENT_700 const EVENT_701 const EVENT_BEAT_SILPH_CO_3F_TRAINER_0 @@ -1800,8 +1800,8 @@ const_value = 0 const EVENT_705 const EVENT_706 const EVENT_707 - const EVENT_708 - const EVENT_709 + const EVENT_SILPH_CO_3_UNLOCKED_DOOR1 + const EVENT_SILPH_CO_3_UNLOCKED_DOOR2 const EVENT_70A const EVENT_70B const EVENT_70C @@ -1816,8 +1816,8 @@ const_value = 0 const EVENT_715 const EVENT_716 const EVENT_717 - const EVENT_718 - const EVENT_719 + const EVENT_SILPH_CO_4_UNLOCKED_DOOR1 + const EVENT_SILPH_CO_4_UNLOCKED_DOOR2 const EVENT_71A const EVENT_71B const EVENT_71C @@ -1832,9 +1832,9 @@ const_value = 0 const EVENT_BEAT_SILPH_CO_5F_TRAINER_4 const EVENT_726 const EVENT_727 - const EVENT_728 - const EVENT_729 - const EVENT_72A + const EVENT_SILPH_CO_5_UNLOCKED_DOOR1 + const EVENT_SILPH_CO_5_UNLOCKED_DOOR2 + const EVENT_SILPH_CO_5_UNLOCKED_DOOR3 const EVENT_72B const EVENT_72C const EVENT_72D @@ -1855,8 +1855,8 @@ const_value = 0 const EVENT_73C const EVENT_73D const EVENT_73E - const EVENT_73F - const EVENT_740 + const EVENT_SILPH_CO_6_UNLOCKED_DOOR + const EVENT_BEAT_SILPH_CO_RIVAL const EVENT_741 const EVENT_742 const EVENT_743 @@ -1868,9 +1868,9 @@ const_value = 0 const EVENT_749 const EVENT_74A const EVENT_74B - const EVENT_74C - const EVENT_74D - const EVENT_74E + const EVENT_SILPH_CO_7_UNLOCKED_DOOR1 + const EVENT_SILPH_CO_7_UNLOCKED_DOOR2 + const EVENT_SILPH_CO_7_UNLOCKED_DOOR3 const EVENT_74F const EVENT_750 const EVENT_751 @@ -1880,7 +1880,7 @@ const_value = 0 const EVENT_755 const EVENT_756 const EVENT_757 - const EVENT_758 + const EVENT_SILPH_CO_8_UNLOCKED_DOOR const EVENT_759 const EVENT_75A const EVENT_75B @@ -1896,10 +1896,10 @@ const_value = 0 const EVENT_765 const EVENT_766 const EVENT_767 - const EVENT_768 - const EVENT_769 - const EVENT_76A - const EVENT_76B + const EVENT_SILPH_CO_9_UNLOCKED_DOOR1 + const EVENT_SILPH_CO_9_UNLOCKED_DOOR2 + const EVENT_SILPH_CO_9_UNLOCKED_DOOR3 + const EVENT_SILPH_CO_9_UNLOCKED_DOOR4 const EVENT_76C const EVENT_76D const EVENT_76E @@ -1912,7 +1912,7 @@ const_value = 0 const EVENT_775 const EVENT_776 const EVENT_777 - const EVENT_778 + const EVENT_SILPH_CO_10_UNLOCKED_DOOR const EVENT_779 const EVENT_77A const EVENT_77B @@ -1928,14 +1928,14 @@ const_value = 0 const EVENT_BEAT_SILPH_CO_11F_TRAINER_1 const EVENT_786 const EVENT_787 - const EVENT_788 + const EVENT_SILPH_CO_11_UNLOCKED_DOOR const EVENT_789 const EVENT_78A const EVENT_78B const EVENT_78C - const EVENT_78D + const EVENT_GOT_MASTER_BALL const EVENT_78E - const EVENT_78F + const EVENT_BEAT_SILPH_CO_GIOVANNI const EVENT_790 const EVENT_791 const EVENT_792 @@ -2176,7 +2176,7 @@ const_value = 0 const EVENT_87D const EVENT_87E const EVENT_87F - const EVENT_880 + const EVENT_GOT_HM03 const EVENT_881 const EVENT_882 const EVENT_883 @@ -2272,13 +2272,13 @@ const_value = 0 const EVENT_8DD const EVENT_8DE const EVENT_8DF - const EVENT_8E0 + const EVENT_ELITE4_EVENTS_START const EVENT_BEAT_LORELEIS_ROOM_TRAINER_0 const EVENT_8E2 const EVENT_8E3 const EVENT_8E4 const EVENT_8E5 - const EVENT_8E6 + const EVENT_AUTOWALKED_INTO_LORELEIS_ROOM const EVENT_8E7 const EVENT_8E8 const EVENT_BEAT_BRUNOS_ROOM_TRAINER_0 @@ -2286,7 +2286,7 @@ const_value = 0 const EVENT_8EB const EVENT_8EC const EVENT_8ED - const EVENT_8EE + const EVENT_AUTOWALKED_INTO_BRUNOS_ROOM const EVENT_8EF const EVENT_8F0 const EVENT_BEAT_AGATHAS_ROOM_TRAINER_0 @@ -2294,7 +2294,7 @@ const_value = 0 const EVENT_8F3 const EVENT_8F4 const EVENT_8F5 - const EVENT_8F6 + const EVENT_AUTOWALKED_INTO_AGATHAS_ROOM const EVENT_8F7 const EVENT_8F8 const EVENT_BEAT_LANCES_ROOM_TRAINER_0 @@ -2302,10 +2302,10 @@ const_value = 0 const EVENT_8FB const EVENT_8FC const EVENT_8FD - const EVENT_8FE - const EVENT_8FF + const EVENT_BEAT_LANCE + const EVENT_LANCES_ROOM_LOCK_DOOR const EVENT_900 - const EVENT_901 + const EVENT_BEAT_CHAMPION_RIVAL const EVENT_902 const EVENT_903 const EVENT_904 @@ -2327,7 +2327,7 @@ const_value = 0 const EVENT_914 const EVENT_915 const EVENT_916 - const EVENT_917 + const EVENT_VICTORY_ROAD_1_BOULDER_ON_SWITCH const EVENT_918 const EVENT_919 const EVENT_91A @@ -2496,24 +2496,24 @@ const_value = 0 const EVENT_9BD const EVENT_9BE const EVENT_9BF - const EVENT_9C0 - const EVENT_9C1 + const EVENT_SEAFOAM2_BOULDER1_DOWN_HOLE + const EVENT_SEAFOAM2_BOULDER2_DOWN_HOLE const EVENT_9C2 const EVENT_9C3 const EVENT_9C4 const EVENT_9C5 const EVENT_9C6 const EVENT_9C7 - const EVENT_9C8 - const EVENT_9C9 + const EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE + const EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE const EVENT_9CA const EVENT_9CB const EVENT_9CC const EVENT_9CD const EVENT_9CE const EVENT_9CF - const EVENT_9D0 - const EVENT_9D1 + const EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE + const EVENT_SEAFOAM4_BOULDER2_DOWN_HOLE const EVENT_9D2 const EVENT_9D3 const EVENT_9D4 diff --git a/constants/event_macros.asm b/constants/event_macros.asm index 8daaea28..cc7c03f5 100755 --- a/constants/event_macros.asm +++ b/constants/event_macros.asm @@ -19,7 +19,19 @@ event_byte = ((\1) / 8) ;\1 = event index CheckEventReuseA: MACRO -IF event_byte != ((\1) / 8) + IF event_byte != ((\1) / 8) +event_byte = ((\1) / 8) + ld a, [wEventFlags + event_byte] + ENDC + + bit (\1) % 8, a + ENDM + +;\1 = event index +;\2 = event index of the last event used before the branch +CheckEventAfterBranchReuseA: MACRO +event_byte = ((\2) / 8) + IF event_byte != ((\1) / 8) event_byte = ((\1) / 8) ld a, [wEventFlags + event_byte] ENDC @@ -355,11 +367,17 @@ event_fill_count = event_fill_count + 1 ENDM ; returns whether both events are set in Z flag +; This is counter-intuitive because the other event checks set the Z flag when +; the event is not set, but this sets the Z flag when the event is set. ;\1 = event index 1 ;\2 = event index 2 +;\3 = try to reuse a (optional) CheckBothEventsSet: MACRO IF ((\1) / 8) == ((\2) / 8) - ld a, [wEventFlags + ((\1) / 8)] + IF (_NARG < 3) || (((\1) / 8) != event_byte) +event_byte = ((\1) / 8) + ld a, [wEventFlags + ((\1) / 8)] + ENDC and (1 << ((\1) % 8)) | (1 << ((\2) % 8)) cp (1 << ((\1) % 8)) | (1 << ((\2) % 8)) ELSE @@ -422,4 +440,4 @@ AdjustEventBit: MACRO IF ((\1) % 8) != (\2) add ((\1) % 8) - (\2) ENDC - ENDM \ No newline at end of file + ENDM diff --git a/constants/hide_show_constants.asm b/constants/hide_show_constants.asm index 1c5beb77..2afe9914 100755 --- a/constants/hide_show_constants.asm +++ b/constants/hide_show_constants.asm @@ -82,7 +82,7 @@ const_value = 0 const HS_MANSION_1_ITEM_2 ; 49 X const HS_FIGHTING_DOJO_GIFT_1 ; 4A const HS_FIGHTING_DOJO_GIFT_2 ; 4B - const HS_SILPH_CO_1F_1 ; 4C + const HS_SILPH_CO_1F_RECEPTIONIST ; 4C const HS_VOLTORB_1 ; 4D X const HS_VOLTORB_2 ; 4E X const HS_VOLTORB_3 ; 4F X diff --git a/engine/hidden_object_functions18.asm b/engine/hidden_object_functions18.asm index cf18799d..00744c5d 100755 --- a/engine/hidden_object_functions18.asm +++ b/engine/hidden_object_functions18.asm @@ -152,7 +152,7 @@ CinnabarIslandPokecenterBenchGuyText: ; 624df (18:64df) SaffronCityPokecenterBenchGuyText: ; 624e4 (18:64e4) TX_ASM - CheckEvent EVENT_78F + CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI ld hl, SaffronCityPokecenterBenchGuyText2 jr nz, .asm_624f2 ld hl, SaffronCityPokecenterBenchGuyText1 diff --git a/engine/hidden_object_functions7.asm b/engine/hidden_object_functions7.asm index d4a0ce88..90de784f 100755 --- a/engine/hidden_object_functions7.asm +++ b/engine/hidden_object_functions7.asm @@ -322,11 +322,11 @@ BillsHousePC: ; 1eb6e (7:6b6e) ld a, [wSpriteStateData1 + 9] cp SPRITE_FACING_UP ret nz - CheckEvent EVENT_55F + CheckEvent EVENT_LEFT_BILLS_HOUSE_AFTER_HELPING jr nz, .asm_1ebd2 - CheckEventReuseA EVENT_55B + CheckEventReuseA EVENT_USED_CELL_SEPARATOR_ON_BILL jr nz, .asm_1eb86 - CheckEventReuseA EVENT_55E + CheckEventReuseA EVENT_BILL_SAID_USE_CELL_SEPARATOR jr nz, .asm_1eb8b .asm_1eb86 tx_pre_jump BillsHouseMonitorText @@ -355,7 +355,7 @@ BillsHousePC: ; 1eb6e (7:6b6e) call PlaySound call WaitForSoundToFinish call PlayDefaultMusic - SetEvent EVENT_55B + SetEvent EVENT_USED_CELL_SEPARATOR_ON_BILL ret .asm_1ebd2 ld a, $1 diff --git a/engine/items/items.asm b/engine/items/items.asm index a7c731c2..eb9f5663 100755 --- a/engine/items/items.asm +++ b/engine/items/items.asm @@ -432,7 +432,7 @@ ItemUseBall: ; d687 (3:5687) call ClearSprites call SendNewMonToBox ld hl,ItemUseBallText07 - CheckEvent EVENT_550 + CheckEvent EVENT_MET_BILL jr nz,.sendToBox2 ld hl,ItemUseBallText08 .sendToBox2 diff --git a/engine/menu/bills_pc.asm b/engine/menu/bills_pc.asm index f9df345f..a810afd2 100644 --- a/engine/menu/bills_pc.asm +++ b/engine/menu/bills_pc.asm @@ -28,7 +28,7 @@ DisplayPCMainMenu:: ; 213c8 (8:53c8) call UpdateSprites ld a, 3 ld [wMaxMenuItem], a - CheckEvent EVENT_550 + CheckEvent EVENT_MET_BILL jr nz, .metBill coord hl, 2, 2 ld de, SomeonesPCText diff --git a/engine/menu/pc.asm b/engine/menu/pc.asm index 43bd8452..a804abb2 100755 --- a/engine/menu/pc.asm +++ b/engine/menu/pc.asm @@ -74,7 +74,7 @@ BillsPC: ; 17ee4 (5:7ee4) ld a, SFX_ENTER_PC call PlaySound call WaitForSoundToFinish - CheckEvent EVENT_550 + CheckEvent EVENT_MET_BILL jr nz, .billsPC ;if you've met bill, use that bill's instead of someone's ld hl, AccessedSomeonesPCText jr .printText diff --git a/engine/overworld/cinnabar_lab.asm b/engine/overworld/cinnabar_lab.asm index 5cc5536c..1b96b4c6 100755 --- a/engine/overworld/cinnabar_lab.asm +++ b/engine/overworld/cinnabar_lab.asm @@ -65,7 +65,7 @@ GiveFossilToCinnabarLab: ; 61006 (18:5006) callba RemoveItemByID ld hl, LabFossil_610b8 call PrintText - SetEvents EVENT_2E0, EVENT_2E1 + SetEvents EVENT_GAVE_FOSSIL_TO_LAB, EVENT_LAB_STILL_REVIVING_FOSSIL ret .asm_610a7 ld hl, LabFossil_610bd diff --git a/main.asm b/main.asm index ea13bd64..ed1dfe25 100755 --- a/main.asm +++ b/main.asm @@ -2760,7 +2760,7 @@ CheckForForcedBikeSurf: ; cdc0 (3:4dc0) ld a, [W_CURMAP] cp SEAFOAM_ISLANDS_5 ret nz - CheckBothEventsSet EVENT_9D0, EVENT_9D1 + CheckBothEventsSet EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM4_BOULDER2_DOWN_HOLE ret z ld hl, CoordsData_cdf7 call ArePlayerCoordsInArray diff --git a/scripts/agatha.asm b/scripts/agatha.asm index c9df27d2..f0607785 100755 --- a/scripts/agatha.asm +++ b/scripts/agatha.asm @@ -69,7 +69,7 @@ AgathaScript0: ; 76490 (1d:6490) ld a, [wCoordIndex] cp $3 jr c, .asm_764b4 - CheckAndSetEvent EVENT_8F6 + CheckAndSetEvent EVENT_AUTOWALKED_INTO_AGATHAS_ROOM jr z, AgathaScript_76474 .asm_764b4 ld a, $2 diff --git a/scripts/bikeshop.asm b/scripts/bikeshop.asm index bdae3536..f0bdf615 100755 --- a/scripts/bikeshop.asm +++ b/scripts/bikeshop.asm @@ -8,7 +8,7 @@ BikeShopTextPointers: ; 1d73f (7:573f) BikeShopText1: ; 1d745 (7:5745) TX_ASM - CheckEvent EVENT_0C0 + CheckEvent EVENT_GOT_BICYCLE jr z, .asm_260d4 ld hl, BikeShopText_1d82f call PrintText @@ -25,7 +25,7 @@ BikeShopText1: ; 1d745 (7:5745) ld a, BIKE_VOUCHER ld [$ffdb], a callba RemoveItemByID - SetEvent EVENT_0C0 + SetEvent EVENT_GOT_BICYCLE ld hl, BikeShopText_1d824 call PrintText jr .Done @@ -129,7 +129,7 @@ BikeShopText_1d843: ; 1d843 (7:5843) BikeShopText3: ; 1d848 (7:5848) TX_ASM - CheckEvent EVENT_0C0 + CheckEvent EVENT_GOT_BICYCLE ld hl, BikeShopText_1d861 jr nz, .asm_34d2d ld hl, BikeShopText_1d85c diff --git a/scripts/billshouse.asm b/scripts/billshouse.asm index b7e85f9a..71e61603 100755 --- a/scripts/billshouse.asm +++ b/scripts/billshouse.asm @@ -51,7 +51,7 @@ BillsHouseScript2: ; 1e7a6 (7:67a6) ld a, HS_BILL_POKEMON ld [wcc4d], a predef HideObject - SetEvent EVENT_55E + SetEvent EVENT_BILL_SAID_USE_CELL_SEPARATOR xor a ld [wJoyIgnore], a ld a, $3 @@ -59,7 +59,7 @@ BillsHouseScript2: ; 1e7a6 (7:67a6) ret BillsHouseScript3: ; 1e7c5 (7:67c5) - CheckEvent EVENT_55B + CheckEvent EVENT_USED_CELL_SEPARATOR_ON_BILL ret z ld a, $f0 ld [wJoyIgnore], a @@ -101,8 +101,8 @@ BillsHouseScript4: ; 1e80d (7:680d) ret nz xor a ld [wJoyIgnore], a - SetEvent EVENT_55D - SetEvent EVENT_550 + SetEvent EVENT_MET_BILL_2 ; this event seems redundant + SetEvent EVENT_MET_BILL ld a, $0 ld [W_BILLSHOUSECURSCRIPT], a ret @@ -159,7 +159,7 @@ BillsHouseText_1e86f: ; 1e86f (7:686f) BillsHouseText2: ; 1e874 (7:6874) TX_ASM - CheckEvent EVENT_55C + CheckEvent EVENT_GOT_SS_TICKET jr nz, .asm_1e8a9 ld hl, BillThankYouText call PrintText @@ -168,7 +168,7 @@ BillsHouseText2: ; 1e874 (7:6874) jr nc, .BagFull ld hl, SSTicketReceivedText call PrintText - SetEvent EVENT_55C + SetEvent EVENT_GOT_SS_TICKET ld a, HS_CERULEAN_GUARD_1 ld [wcc4d], a predef ShowObject diff --git a/scripts/blueshouse.asm b/scripts/blueshouse.asm index 17b182f5..12ca9106 100755 --- a/scripts/blueshouse.asm +++ b/scripts/blueshouse.asm @@ -9,7 +9,7 @@ BluesHouseScriptPointers: ; 19b47 (6:5b47) dw BluesHouseScript1 BluesHouseScript0: ; 19b4b (6:5b4b) - SetEvent EVENT_019 + SetEvent EVENT_ENTERED_BLUES_HOUSE ; trigger the next script ld a,1 @@ -26,7 +26,7 @@ BluesHouseTextPointers: ; 19b57 (6:5b57) BluesHouseText1: ; 19b5d (6:5b5d) TX_ASM - CheckEvent EVENT_018 + CheckEvent EVENT_GOT_TOWN_MAP jr nz,.GotMap CheckEvent EVENT_GOT_POKEDEX jr nz,.GiveMap @@ -44,7 +44,7 @@ BluesHouseText1: ; 19b5d (6:5b5d) predef HideObject ; hide table map object ld hl,GotMapText call PrintText - SetEvent EVENT_018 + SetEvent EVENT_GOT_TOWN_MAP jr .done .GotMap ld hl,DaisyUseMapText diff --git a/scripts/bruno.asm b/scripts/bruno.asm index 9cd55193..1aae7d19 100755 --- a/scripts/bruno.asm +++ b/scripts/bruno.asm @@ -69,7 +69,7 @@ BrunoScript0: ; 76339 (1d:6339) ld a, [wCoordIndex] cp $3 jr c, .asm_7635d - CheckAndSetEvent EVENT_8EE + CheckAndSetEvent EVENT_AUTOWALKED_INTO_BRUNOS_ROOM jr z, BrunoScript_7631d .asm_7635d ld a, $2 diff --git a/scripts/celadoncity.asm b/scripts/celadoncity.asm index 65e71cca..ce0c4731 100755 --- a/scripts/celadoncity.asm +++ b/scripts/celadoncity.asm @@ -42,7 +42,7 @@ CeladonCityText4: ; 19999 (6:5999) CeladonCityText5: ; 1999e (6:599e) TX_ASM - CheckEvent EVENT_180 + CheckEvent EVENT_GOT_TM41 jr nz, .asm_7053f ld hl, TM41PreText call PrintText @@ -55,7 +55,7 @@ CeladonCityText5: ; 1999e (6:599e) .Success ld hl, ReceivedTM41Text call PrintText - SetEvent EVENT_180 + SetEvent EVENT_GOT_TM41 jr .Done .asm_7053f ld hl, TM41ExplanationText diff --git a/scripts/celadondiner.asm b/scripts/celadondiner.asm index d4d4b84b..a37bc558 100755 --- a/scripts/celadondiner.asm +++ b/scripts/celadondiner.asm @@ -27,14 +27,14 @@ CeladonDinerText4: ; 4916e (12:516e) CeladonDinerText5: ; 49173 (12:5173) TX_ASM - CheckEvent EVENT_1E0 + CheckEvent EVENT_GOT_COIN_CASE jr nz, .asm_eb14d ld hl, CeladonDinerText_491a7 call PrintText ld bc, (COIN_CASE << 8) | 1 call GiveItem jr nc, .BagFull - SetEvent EVENT_1E0 + SetEvent EVENT_GOT_COIN_CASE ld hl, ReceivedCoinCaseText call PrintText jr .asm_68b61 diff --git a/scripts/celadongamecorner.asm b/scripts/celadongamecorner.asm index ef4b4760..48264603 100755 --- a/scripts/celadongamecorner.asm +++ b/scripts/celadongamecorner.asm @@ -28,7 +28,7 @@ CeladonGameCornerScript_48bec: ; 48bec (12:4bec) bit 5, [hl] res 5, [hl] ret z - CheckEvent EVENT_1B9 + CheckEvent EVENT_FOUND_ROCKET_HIDEOUT ret nz ld a, $2a ld [wd09f], a @@ -226,7 +226,7 @@ CeladonGameCornerText4: ; 48d45 (12:4d45) CeladonGameCornerText5: ; 48d4a (12:4d4a) TX_ASM - CheckEvent EVENT_1BA + CheckEvent EVENT_GOT_10_COINS jr nz, .asm_48d89 ld hl, CeladonGameCornerText_48d9c call PrintText @@ -244,7 +244,7 @@ CeladonGameCornerText5: ; 48d4a (12:4d4a) ld hl, hCoins + 1 ld c, $2 predef AddBCDPredef - SetEvent EVENT_1BA + SetEvent EVENT_GOT_10_COINS ld a, $1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a ld hl, Received10CoinsText @@ -305,7 +305,7 @@ CeladonGameCornerText8: ; 48dd4 (12:4dd4) CeladonGameCornerText9: ; 48dd9 (12:4dd9) TX_ASM - CheckEvent EVENT_1BC + CheckEvent EVENT_GOT_20_COINS_2 jr nz, .asm_48e13 ld hl, CeladonGameCornerText_48e26 call PrintText @@ -323,7 +323,7 @@ CeladonGameCornerText9: ; 48dd9 (12:4dd9) ld hl, hCoins + 1 ld c, $2 predef AddBCDPredef - SetEvent EVENT_1BC + SetEvent EVENT_GOT_20_COINS_2 ld hl, Received20CoinsText jr .asm_48e20 .asm_48e13 @@ -356,7 +356,7 @@ CeladonGameCornerText_48e36: ; 48e36 (12:4e36) CeladonGameCornerText10: ; 48e3b (12:4e3b) TX_ASM - CheckEvent EVENT_1BB + CheckEvent EVENT_GOT_20_COINS jr nz, .asm_48e75 ld hl, CeladonGameCornerText_48e88 call PrintText @@ -374,7 +374,7 @@ CeladonGameCornerText10: ; 48e3b (12:4e3b) ld hl, hCoins + 1 ld c, $2 predef AddBCDPredef - SetEvent EVENT_1BB + SetEvent EVENT_GOT_20_COINS ld hl, CeladonGameCornerText_48e8d jr .asm_48e82 .asm_48e75 @@ -449,7 +449,7 @@ CeladonGameCornerText12: ; 48edd (12:4edd) ld a, SFX_GO_INSIDE call PlaySound call WaitForSoundToFinish - SetEvent EVENT_1B9 + SetEvent EVENT_FOUND_ROCKET_HIDEOUT ld a, $43 ld [wd09f], a ld bc, $0208 diff --git a/scripts/celadonmart3.asm b/scripts/celadonmart3.asm index 6e17ac77..f525d0af 100755 --- a/scripts/celadonmart3.asm +++ b/scripts/celadonmart3.asm @@ -22,14 +22,14 @@ CeladonMart3TextPointers: ; 48228 (12:4228) CeladonMart3Text1: ; 4824a (12:424a) TX_ASM - CheckEvent EVENT_18F + CheckEvent EVENT_GOT_TM18 jr nz, .asm_a5463 ld hl, TM18PreReceiveText call PrintText ld bc, (TM_18 << 8) | 1 call GiveItem jr nc, .BagFull - SetEvent EVENT_18F + SetEvent EVENT_GOT_TM18 ld hl, ReceivedTM18Text jr .asm_81359 .BagFull diff --git a/scripts/celadonmartroof.asm b/scripts/celadonmartroof.asm index e509ffeb..113044cd 100755 --- a/scripts/celadonmartroof.asm +++ b/scripts/celadonmartroof.asm @@ -83,7 +83,7 @@ CeladonMartRoofScript_4840c: ; 4840c (12:440c) jr z, .asm_484b6 cp SODA_POP jr z, .asm_48492 - CheckEvent EVENT_18E + CheckEvent EVENT_GOT_TM49 jr nz, .asm_484e0 ld hl, CeladonMartRoofText_48515 call PrintText @@ -93,10 +93,10 @@ CeladonMartRoofScript_4840c: ; 4840c (12:440c) jr nc, .BagFull ld hl, ReceivedTM49Text call PrintText - SetEvent EVENT_18E + SetEvent EVENT_GOT_TM49 ret .asm_48492 - CheckEvent EVENT_18D + CheckEvent EVENT_GOT_TM48 jr nz, .asm_484e0 ld hl, CeladonMartRoofText_48504 call PrintText @@ -106,10 +106,10 @@ CeladonMartRoofScript_4840c: ; 4840c (12:440c) jr nc, .BagFull ld hl, CeladonMartRoofText_4850a call PrintText - SetEvent EVENT_18D + SetEvent EVENT_GOT_TM48 ret .asm_484b6 - CheckEvent EVENT_18C + CheckEvent EVENT_GOT_TM13 jr nz, .asm_484e0 ld hl, CeladonMartRoofText_484f3 call PrintText @@ -119,7 +119,7 @@ CeladonMartRoofScript_4840c: ; 4840c (12:440c) jr nc, .BagFull ld hl, CeladonMartRoofText_484f9 call PrintText - SetEvent EVENT_18C + SetEvent EVENT_GOT_TM13 ret .BagFull ld hl, CeladonMartRoofText_48526 diff --git a/scripts/ceruleancity.asm b/scripts/ceruleancity.asm index b009ca95..5da549f3 100755 --- a/scripts/ceruleancity.asm +++ b/scripts/ceruleancity.asm @@ -25,7 +25,7 @@ CeruleanCityScript4: ; 194a7 (6:54a7) jp z, CeruleanCityScript_1948c ld a, $f0 ld [wJoyIgnore], a - SetEvent EVENT_0A7 + SetEvent EVENT_BEAT_CERULEAN_ROCKET_THIEF ld a, $2 ld [hSpriteIndexOrTextID], a call DisplayTextID @@ -35,7 +35,7 @@ CeruleanCityScript4: ; 194a7 (6:54a7) ret CeruleanCityScript0: ; 194c8 (6:54c8) - CheckEvent EVENT_0A7 + CheckEvent EVENT_BEAT_CERULEAN_ROCKET_THIEF jr nz, .asm_194f7 ld hl, CeruleanCityCoords1 call ArePlayerCoordsInArray @@ -56,7 +56,7 @@ CeruleanCityScript0: ; 194c8 (6:54c8) ld [hSpriteIndexOrTextID], a jp DisplayTextID .asm_194f7 - CheckEvent EVENT_098 + CheckEvent EVENT_BEAT_CERULEAN_RIVAL ret nz ld hl, CeruleanCityCoords2 call ArePlayerCoordsInArray @@ -167,7 +167,7 @@ CeruleanCityScript2: ; 195b1 (6:55b1) call CeruleanCityScript_1955d ld a, $f0 ld [wJoyIgnore], a - SetEvent EVENT_098 + SetEvent EVENT_BEAT_CERULEAN_RIVAL ld a, $1 ld [hSpriteIndexOrTextID], a call DisplayTextID @@ -248,7 +248,7 @@ CeruleanCityTextPointers: ; 1962d (6:562d) CeruleanCityText1: ; 1964f (6:564f) TX_ASM - CheckEvent EVENT_098 + CheckEvent EVENT_BEAT_CERULEAN_RIVAL ; do pre-battle text jr z, .PreBattleText ; or talk about bill @@ -279,7 +279,7 @@ CeruleanCityText_19677: ; 19677 (6:5677) CeruleanCityText2: ; 1967c (6:567c) TX_ASM - CheckEvent EVENT_0A7 + CheckEvent EVENT_BEAT_CERULEAN_ROCKET_THIEF jr nz, .asm_4ca20 ld hl, CeruleanCityText_196d9 call PrintText diff --git a/scripts/cinnabarisland.asm b/scripts/cinnabarisland.asm index 2fc0503f..c06c784c 100755 --- a/scripts/cinnabarisland.asm +++ b/scripts/cinnabarisland.asm @@ -2,8 +2,8 @@ CinnabarIslandScript: ; 1ca19 (7:4a19) call EnableAutoTextBoxDrawing ld hl, wd126 set 5, [hl] - ResetEvent EVENT_278 - ResetEvent EVENT_2E1 + ResetEvent EVENT_MANSION_SWITCH_ON + ResetEvent EVENT_LAB_STILL_REVIVING_FOSSIL ld hl, CinnabarIslandScriptPointers ld a, [W_CINNABARISLANDCURSCRIPT] jp CallFunctionInTable diff --git a/scripts/copycatshouse2f.asm b/scripts/copycatshouse2f.asm index d6a330f3..953c7126 100755 --- a/scripts/copycatshouse2f.asm +++ b/scripts/copycatshouse2f.asm @@ -12,7 +12,7 @@ CopycatsHouse2FTextPointers: ; 5cc74 (17:4c74) CopycatsHouse2FText1: ; 5cc82 (17:4c82) TX_ASM - CheckEvent EVENT_340 + CheckEvent EVENT_GOT_TM31 jr nz, .asm_7ccf3 ld a, $1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a @@ -31,7 +31,7 @@ CopycatsHouse2FText1: ; 5cc82 (17:4c82) ld a, POKE_DOLL ld [$ffdb], a callba RemoveItemByID - SetEvent EVENT_340 + SetEvent EVENT_GOT_TM31 jr .asm_62ecd .BagFull ld hl, TM31NoRoomText diff --git a/scripts/fanclub.asm b/scripts/fanclub.asm index 45298c0b..adde809f 100755 --- a/scripts/fanclub.asm +++ b/scripts/fanclub.asm @@ -24,16 +24,16 @@ FanClubTextPointers: ; 59b84 (16:5b84) FanClubText1: ; pikachu fan TX_ASM - CheckEvent EVENT_157 + CheckEvent EVENT_PIKACHU_FAN_BOAST jr nz, .mineisbetter ld hl, .normaltext call PrintText - SetEvent EVENT_156 + SetEvent EVENT_SEEL_FAN_BOAST jr .done .mineisbetter ld hl, .bettertext call PrintText - ResetEvent EVENT_157 + ResetEvent EVENT_PIKACHU_FAN_BOAST .done jp TextScriptEnd @@ -48,16 +48,16 @@ FanClubText1: FanClubText2: ; seel fan TX_ASM - CheckEvent EVENT_156 + CheckEvent EVENT_SEEL_FAN_BOAST jr nz, .mineisbetter ld hl, .normaltext call PrintText - SetEvent EVENT_157 + SetEvent EVENT_PIKACHU_FAN_BOAST jr .done .mineisbetter ld hl, .bettertext call PrintText - ResetEvent EVENT_156 + ResetEvent EVENT_SEEL_FAN_BOAST .done jp TextScriptEnd diff --git a/scripts/fightingdojo.asm b/scripts/fightingdojo.asm index e27baf57..91d8a484 100755 --- a/scripts/fightingdojo.asm +++ b/scripts/fightingdojo.asm @@ -21,13 +21,13 @@ FightingDojoScriptPointers: ; 5cd7b (17:4d7b) dw FightingDojoScript3 FightingDojoScript1: ; 5cd83 (17:4d83) - CheckEvent EVENT_350 + CheckEvent EVENT_DEFEATED_FIGHTING_DOJO ret nz call CheckFightingMapTrainers ld a, [wTrainerHeaderFlagBit] and a ret nz - CheckEvent EVENT_351 + CheckEvent EVENT_BEAT_KARATE_MASTER ret nz xor a ld [hJoyHeld], a @@ -70,7 +70,7 @@ FightingDojoScript3: ; 5cdc6 (17:4dc6) .asm_5cde4 ld a, $f0 ld [wJoyIgnore], a - SetEventRange EVENT_351, EVENT_BEAT_FIGHTING_DOJO_TRAINER_3 + SetEventRange EVENT_BEAT_KARATE_MASTER, EVENT_BEAT_FIGHTING_DOJO_TRAINER_3 ld a, $8 ld [hSpriteIndexOrTextID], a call DisplayTextID @@ -131,9 +131,9 @@ FightingDojoTrainerHeader3: ; 5ce37 (17:4e37) FightingDojoText1: ; 5ce44 (17:4e44) TX_ASM - CheckEvent EVENT_350 + CheckEvent EVENT_DEFEATED_FIGHTING_DOJO jp nz, .continue1 - CheckEventReuseA EVENT_351 + CheckEventReuseA EVENT_BEAT_KARATE_MASTER jp nz, .continue2 ld hl, FightingDojoText_5ce8e call PrintText @@ -252,7 +252,7 @@ FightingDojoAfterBattleText4: ; 5cf01 (17:4f01) FightingDojoText6: ; 5cf06 (17:4f06) ; Hitmonlee Poké Ball TX_ASM - CheckEitherEventSet EVENT_356, EVENT_357 + CheckEitherEventSet EVENT_GOT_HITMONLEE, EVENT_GOT_HITMONCHAN jr z, .GetMon ld hl, OtherHitmonText call PrintText @@ -276,7 +276,7 @@ FightingDojoText6: ; 5cf06 (17:4f06) ld a, HS_FIGHTING_DOJO_GIFT_1 ld [wcc4d], a predef HideObject - SetEvents EVENT_356, EVENT_350 + SetEvents EVENT_GOT_HITMONLEE, EVENT_DEFEATED_FIGHTING_DOJO .done jp TextScriptEnd @@ -287,7 +287,7 @@ WantHitmonleeText: ; 5cf49 (17:4f49) FightingDojoText7: ; 5cf4e (17:4f4e) ; Hitmonchan Poké Ball TX_ASM - CheckEitherEventSet EVENT_356, EVENT_357 + CheckEitherEventSet EVENT_GOT_HITMONLEE, EVENT_GOT_HITMONCHAN jr z, .GetMon ld hl, OtherHitmonText call PrintText @@ -306,7 +306,7 @@ FightingDojoText7: ; 5cf4e (17:4f4e) ld c,30 call GivePokemon jr nc, .done - SetEvents EVENT_357, EVENT_350 + SetEvents EVENT_GOT_HITMONCHAN, EVENT_DEFEATED_FIGHTING_DOJO ; once Poké Ball is taken, hide sprite ld a, HS_FIGHTING_DOJO_GIFT_2 diff --git a/scripts/fuchsiacity.asm b/scripts/fuchsiacity.asm index b314b983..cdf8e203 100755 --- a/scripts/fuchsiacity.asm +++ b/scripts/fuchsiacity.asm @@ -135,9 +135,9 @@ FuchsiaCityLaprasText: ; 19aef (6:5aef) FuchsiaCityText24: ; 19af4 (6:5af4) TX_ASM - CheckEvent EVENT_57E + CheckEvent EVENT_GOT_DOME_FOSSIL jr nz, .asm_3b4e8 - CheckEventReuseA EVENT_57F + CheckEventReuseA EVENT_GOT_HELIX_FOSSIL jr nz, .asm_667d5 ld hl, FuchsiaCityText_19b2a call PrintText diff --git a/scripts/fuchsiahouse2.asm b/scripts/fuchsiahouse2.asm index b755b3bc..37aebd23 100755 --- a/scripts/fuchsiahouse2.asm +++ b/scripts/fuchsiahouse2.asm @@ -10,12 +10,12 @@ FuchsiaHouse2TextPointers: ; 750b8 (1d:50b8) FuchsiaHouse2Text1: ; 750c2 (1d:50c2) TX_ASM - CheckEvent EVENT_238 + CheckEvent EVENT_GOT_HM04 jr nz, .subtract ld b,GOLD_TEETH call IsItemInBag jr nz, .asm_3f30f - CheckEvent EVENT_239 + CheckEvent EVENT_GAVE_GOLD_TEETH jr nz, .asm_60cba ld hl, WardenGibberishText1 call PrintText @@ -34,7 +34,7 @@ FuchsiaHouse2Text1: ; 750c2 (1d:50c2) ld a, GOLD_TEETH ld [$ffdb], a callba RemoveItemByID - SetEvent EVENT_239 + SetEvent EVENT_GAVE_GOLD_TEETH .asm_60cba ld hl, WardenThankYouText call PrintText @@ -43,7 +43,7 @@ FuchsiaHouse2Text1: ; 750c2 (1d:50c2) jr nc, .BagFull ld hl, ReceivedHM04Text call PrintText - SetEvent EVENT_238 + SetEvent EVENT_GOT_HM04 jr .asm_52039 .subtract ld hl, HM04ExplanationText diff --git a/scripts/gary.asm b/scripts/gary.asm index ab991942..24a2d2de 100755 --- a/scripts/gary.asm +++ b/scripts/gary.asm @@ -94,7 +94,7 @@ GaryScript3: ; 75fbb (1d:5fbb) cp $ff jp z, GaryScript_75f29 call UpdateSprites - SetEvent EVENT_901 + SetEvent EVENT_BEAT_CHAMPION_RIVAL ld a, $f0 ld [wJoyIgnore], a ld a, $1 @@ -248,7 +248,7 @@ GaryTextPointers: ; 760d6 (1d:60d6) GaryText1: ; 760e0 (1d:60e0) TX_ASM - CheckEvent EVENT_901 + CheckEvent EVENT_BEAT_CHAMPION_RIVAL ld hl, GaryText_760f4 jr z, .asm_17e9f ld hl, GaryText_76103 diff --git a/scripts/halloffameroom.asm b/scripts/halloffameroom.asm index 136061d8..503327f3 100755 --- a/scripts/halloffameroom.asm +++ b/scripts/halloffameroom.asm @@ -40,7 +40,7 @@ HallofFameRoomScript2: ; 5a4bb (16:64bb) ld [W_LANCECURSCRIPT], a ld [W_HALLOFFAMEROOMCURSCRIPT], a ; Elite 4 events - ResetEventRange EVENT_8E0, EVENT_907, 1 + ResetEventRange EVENT_ELITE4_EVENTS_START, EVENT_907, 1 xor a ld [W_HALLOFFAMEROOMCURSCRIPT], a ld a, PALLET_TOWN diff --git a/scripts/indigoplateaulobby.asm b/scripts/indigoplateaulobby.asm index 8cde0854..e4a64ce6 100755 --- a/scripts/indigoplateaulobby.asm +++ b/scripts/indigoplateaulobby.asm @@ -5,13 +5,13 @@ IndigoPlateauLobbyScript: ; 19c5b (6:5c5b) bit 6, [hl] res 6, [hl] ret z - ResetEvent EVENT_917 + ResetEvent EVENT_VICTORY_ROAD_1_BOULDER_ON_SWITCH ld hl, wd734 bit 1, [hl] res 1, [hl] ret z ; Elite 4 events - ResetEventRange EVENT_8E0, EVENT_8FF + ResetEventRange EVENT_ELITE4_EVENTS_START, EVENT_LANCES_ROOM_LOCK_DOOR ret IndigoPlateauLobbyTextPointers: ; 19c7f (6:5c7f) diff --git a/scripts/lab3.asm b/scripts/lab3.asm index 0351038d..59b04b8c 100755 --- a/scripts/lab3.asm +++ b/scripts/lab3.asm @@ -10,7 +10,7 @@ Lab3TextPointers: ; 75c8a (1d:5c8a) Lab3Text1: ; 75c94 (1d:5c94) TX_ASM - CheckEvent EVENT_2D7 + CheckEvent EVENT_GOT_TM35 jr nz, .asm_e551a ld hl, TM35PreReceiveText call PrintText @@ -19,7 +19,7 @@ Lab3Text1: ; 75c94 (1d:5c94) jr nc, .BagFull ld hl, ReceivedTM35Text call PrintText - SetEvent EVENT_2D7 + SetEvent EVENT_GOT_TM35 jr .asm_eb896 .BagFull ld hl, TM35NoRoomText diff --git a/scripts/lab4.asm b/scripts/lab4.asm index 44dcb2c3..f2c4d8d7 100755 --- a/scripts/lab4.asm +++ b/scripts/lab4.asm @@ -49,7 +49,7 @@ FossilsList: ; 75d68 (1d:5d68) Lab4Text1: ; 75d6c (1d:5d6c) TX_ASM - CheckEvent EVENT_2E0 + CheckEvent EVENT_GAVE_FOSSIL_TO_LAB jr nz, .asm_75d96 ld hl, Lab4Text_75dc6 call PrintText @@ -65,7 +65,7 @@ Lab4Text1: ; 75d6c (1d:5d6c) .asm_75d93 jp TextScriptEnd .asm_75d96 - bit 1, a + CheckEventAfterBranchReuseA EVENT_LAB_STILL_REVIVING_FOSSIL, EVENT_GAVE_FOSSIL_TO_LAB jr z, .asm_75da2 ld hl, Lab4Text_75dd0 call PrintText @@ -74,13 +74,13 @@ Lab4Text1: ; 75d6c (1d:5d6c) call LoadFossilItemAndMonNameBank1D ld hl, Lab4Text_75dd5 call PrintText - SetEvent EVENT_2E2 + SetEvent EVENT_LAB_HANDING_OVER_FOSSIL_MON ld a, [W_FOSSILMON] ld b, a ld c, 30 call GivePokemon jr nc, .asm_75d93 - ResetEvents EVENT_2E0, EVENT_2E1, EVENT_2E2 + 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) diff --git a/scripts/lance.asm b/scripts/lance.asm index 9d3a2f99..4d0072be 100755 --- a/scripts/lance.asm +++ b/scripts/lance.asm @@ -13,7 +13,7 @@ LanceScript_5a2c4: ; 5a2c4 (16:62c4) bit 5, [hl] res 5, [hl] ret z - CheckEvent EVENT_8FF + CheckEvent EVENT_LANCES_ROOM_LOCK_DOOR jr nz, .asm_5a2da ld a, $31 ld b, $32 @@ -51,7 +51,7 @@ LanceScript4: ; 5a304 (16:6304) ret LanceScript0: ; 5a305 (16:6305) - CheckEvent EVENT_8FE + CheckEvent EVENT_BEAT_LANCE ret nz ld hl, CoordsData_5a33e call ArePlayerCoordsInArray @@ -67,7 +67,7 @@ LanceScript0: ; 5a305 (16:6305) .asm_5a325 cp $5 jr z, LanceScript_5a35b - CheckAndSetEvent EVENT_8FF + CheckAndSetEvent EVENT_LANCES_ROOM_LOCK_DOOR ret nz ld hl, wd126 set 5, [hl] @@ -156,5 +156,5 @@ LanceEndBattleText: ; 5a3b3 (16:63b3) LanceAfterBattleText: ; 5a3b8 (16:63b8) TX_FAR _LanceAfterBattleText TX_ASM - SetEvent EVENT_8FE + SetEvent EVENT_BEAT_LANCE jp TextScriptEnd diff --git a/scripts/lavenderhouse1.asm b/scripts/lavenderhouse1.asm index 21e67013..556e94a3 100755 --- a/scripts/lavenderhouse1.asm +++ b/scripts/lavenderhouse1.asm @@ -12,7 +12,7 @@ LavenderHouse1TextPointers: ; 1d8ac (7:58ac) LavenderHouse1Text1: ; 1d8b8 (7:58b8) TX_ASM - CheckEvent EVENT_4CF + CheckEvent EVENT_RESCUED_MR_FUJI jr nz, .asm_72e5d ld hl, LavenderHouse1Text_1d8d1 call PrintText @@ -33,7 +33,7 @@ LavenderHouse1Text_1d8d6: ; 1d8d6 (7:58d6) LavenderHouse1Text2: ; 1d8db (7:58db) TX_ASM - CheckEvent EVENT_4CF + CheckEvent EVENT_RESCUED_MR_FUJI jr nz, .asm_06470 ld hl, LavenderHouse1Text_1d8f4 call PrintText @@ -68,7 +68,7 @@ LavenderHouse1Text4: ; 1d90b (7:590b) LavenderHouse1Text5: ; 1d918 (7:5918) TX_ASM - CheckEvent EVENT_128 + CheckEvent EVENT_GOT_POKE_FLUTE jr nz, .asm_15ac2 ld hl, LavenderHouse1Text_1d94c call PrintText @@ -77,7 +77,7 @@ LavenderHouse1Text5: ; 1d918 (7:5918) jr nc, .BagFull ld hl, ReceivedFluteText call PrintText - SetEvent EVENT_128 + SetEvent EVENT_GOT_POKE_FLUTE jr .asm_da749 .BagFull ld hl, FluteNoRoomText diff --git a/scripts/lavenderhouse2.asm b/scripts/lavenderhouse2.asm index 4c3ad333..fe0b3ee2 100755 --- a/scripts/lavenderhouse2.asm +++ b/scripts/lavenderhouse2.asm @@ -15,7 +15,7 @@ LavenderHouse2Text1: ; 1d9b6 (7:59b6) LavenderHouse2Text2: ; 1d9c3 (7:59c3) TX_ASM - CheckEvent EVENT_4CF + CheckEvent EVENT_RESCUED_MR_FUJI jr nz, .asm_65711 ld hl, LavenderHouse2Text_1d9dc call PrintText diff --git a/scripts/lavendermart.asm b/scripts/lavendermart.asm index ababf70d..85518fd2 100755 --- a/scripts/lavendermart.asm +++ b/scripts/lavendermart.asm @@ -12,7 +12,7 @@ LavenderMartText2: ; 5c935 (17:4935) LavenderMartText3: ; 5c93a (17:493a) TX_ASM - CheckEvent EVENT_4CF + CheckEvent EVENT_RESCUED_MR_FUJI jr nz, .asm_c88d4 ld hl, LavenderMart_5c953 call PrintText diff --git a/scripts/lorelei.asm b/scripts/lorelei.asm index a8e0cb5b..fe136784 100755 --- a/scripts/lorelei.asm +++ b/scripts/lorelei.asm @@ -70,7 +70,7 @@ LoreleiScript0: ; 761e2 (1d:61e2) ld a, [wCoordIndex] cp $3 jr c, .asm_76206 - CheckAndSetEvent EVENT_8E6 + CheckAndSetEvent EVENT_AUTOWALKED_INTO_LORELEIS_ROOM jr z, LoreleiScript_761c6 .asm_76206 ld a, $2 diff --git a/scripts/mansion1.asm b/scripts/mansion1.asm index ff8707e0..7d349276 100755 --- a/scripts/mansion1.asm +++ b/scripts/mansion1.asm @@ -13,7 +13,7 @@ Mansion1Subscript1: ; 442c5 (11:42c5) bit 5, [hl] res 5, [hl] ret z - CheckEvent EVENT_278 + CheckEvent EVENT_MANSION_SWITCH_ON jr nz, .asm_442ec ld bc, $060c call Mansion1Script_4430b @@ -112,9 +112,9 @@ Mansion1Text4: ; 4435a (11:435a) call PrintText ld a, SFX_GO_INSIDE call PlaySound - CheckAndSetEvent EVENT_278 + CheckAndSetEvent EVENT_MANSION_SWITCH_ON jr z, .asm_44392 - ResetEventReuseHL EVENT_278 + ResetEventReuseHL EVENT_MANSION_SWITCH_ON jr .asm_44392 .asm_4438c ld hl, MansionSwitchNotPressedText diff --git a/scripts/mansion2.asm b/scripts/mansion2.asm index 6e1a26c0..4f5aac9f 100755 --- a/scripts/mansion2.asm +++ b/scripts/mansion2.asm @@ -13,7 +13,7 @@ Mansion2Script_51fee: ; 51fee (14:5fee) bit 5, [hl] res 5, [hl] ret z - CheckEvent EVENT_278 + CheckEvent EVENT_MANSION_SWITCH_ON jr nz, .asm_52016 ld a, $e ld bc, $204 @@ -118,9 +118,9 @@ Mansion2Text5: ; 52087 (14:6087) call PrintText ld a, SFX_GO_INSIDE call PlaySound - CheckAndSetEvent EVENT_278 + CheckAndSetEvent EVENT_MANSION_SWITCH_ON jr z, .asm_520bf - ResetEventReuseHL EVENT_278 + ResetEventReuseHL EVENT_MANSION_SWITCH_ON jr .asm_520bf .asm_520b9 ld hl, Mansion2Text_520cc diff --git a/scripts/mansion3.asm b/scripts/mansion3.asm index 0aec82b3..e49667ef 100755 --- a/scripts/mansion3.asm +++ b/scripts/mansion3.asm @@ -13,7 +13,7 @@ Mansion3Script_52204: ; 52204 (14:6204) bit 5, [hl] res 5, [hl] ret z - CheckEvent EVENT_278 + CheckEvent EVENT_MANSION_SWITCH_ON jr nz, .asm_52224 ld a, $e ld bc, $207 diff --git a/scripts/mansion4.asm b/scripts/mansion4.asm index 98c55a76..59ee3704 100755 --- a/scripts/mansion4.asm +++ b/scripts/mansion4.asm @@ -13,7 +13,7 @@ Mansion4Script_523cf: ; 523cf (14:63cf) bit 5, [hl] res 5, [hl] ret z - CheckEvent EVENT_278 + CheckEvent EVENT_MANSION_SWITCH_ON jr nz, .asm_523ff ld a, $e ld bc, $80d diff --git a/scripts/mtmoon3.asm b/scripts/mtmoon3.asm index dfa92260..4542cc53 100755 --- a/scripts/mtmoon3.asm +++ b/scripts/mtmoon3.asm @@ -5,7 +5,7 @@ MtMoon3Script: ; 49d0b (12:5d0b) ld a, [W_MTMOON3CURSCRIPT] call ExecuteCurMapScriptInTable ld [W_MTMOON3CURSCRIPT], a - CheckEvent EVENT_579 + CheckEvent EVENT_BEAT_MT_MOON_EXIT_SUPER_NERD ret z ld hl, CoordsData_49d37 call ArePlayerCoordsInArray @@ -53,7 +53,7 @@ MtMoon3ScriptPointers: ; 49d63 (12:5d63) dw MtMoon3Script5 MtMoon3Script0: ; 49d6f (12:5d6f) - CheckEvent EVENT_579 + CheckEvent EVENT_BEAT_MT_MOON_EXIT_SUPER_NERD jp nz, MtMoon3Script_49d91 ld a, [W_YCOORD] cp $8 @@ -68,7 +68,7 @@ MtMoon3Script0: ; 49d6f (12:5d6f) jp DisplayTextID MtMoon3Script_49d91: ; 49d91 (12:5d91) - CheckEitherEventSet EVENT_57E, EVENT_57F + CheckEitherEventSet EVENT_GOT_DOME_FOSSIL, EVENT_GOT_HELIX_FOSSIL jp z, CheckFightingMapTrainers ret @@ -78,7 +78,7 @@ MtMoon3Script3: ; 49d9a (12:5d9a) jp z, MtMoon3Script_49d58 call UpdateSprites call Delay3 - SetEvent EVENT_579 + SetEvent EVENT_BEAT_MT_MOON_EXIT_SUPER_NERD xor a ld [wJoyIgnore], a ld a, $0 @@ -138,7 +138,7 @@ MtMoon3Script5: ; 49dfb (12:5dfb) ld a, $a ld [hSpriteIndexOrTextID], a call DisplayTextID - CheckEvent EVENT_57E + CheckEvent EVENT_GOT_DOME_FOSSIL jr z, .asm_49e1d ld a, HS_MT_MOON_3_FOSSIL_2 jr .asm_49e1f @@ -207,7 +207,7 @@ MtMoon3TrainerHeader4: ; 49e6c (12:5e6c) MtMoon3Text1: ; 49e79 (12:5e79) TX_ASM - CheckEvent EVENT_579 + CheckEvent EVENT_BEAT_MT_MOON_EXIT_SUPER_NERD jr z, .asm_49e8d and $c0 jr nz, .asm_49eb8 @@ -278,7 +278,7 @@ MtMoon3Text6: ; 49ee9 (12:5ee9) ld a, HS_MT_MOON_3_FOSSIL_1 ld [wcc4d], a predef HideObject - SetEvent EVENT_57E + SetEvent EVENT_GOT_DOME_FOSSIL ld a, $4 ld [W_MTMOON3CURSCRIPT], a ld [W_CURMAPSCRIPT], a @@ -306,7 +306,7 @@ MtMoon3Text7: ; 49f29 (12:5f29) ld a, HS_MT_MOON_3_FOSSIL_2 ld [wcc4d], a predef HideObject - SetEvent EVENT_57F + SetEvent EVENT_GOT_HELIX_FOSSIL ld a, $4 ld [W_MTMOON3CURSCRIPT], a ld [W_CURMAPSCRIPT], a diff --git a/scripts/museum1f.asm b/scripts/museum1f.asm index 2acf1af5..77c7f270 100755 --- a/scripts/museum1f.asm +++ b/scripts/museum1f.asm @@ -54,13 +54,13 @@ Museum1FText1: ; 5c135 (17:4135) cp $c jp z, Museum1FScript_5c1f9 .asm_d49e7 - CheckEvent EVENT_068 + CheckEvent EVENT_BOUGHT_MUSEUM_TICKET jr nz, .asm_31a16 ld hl, Museum1FText_5c23d call PrintText jp Museum1FScriptEnd .asm_b8709 - CheckEvent EVENT_068 + CheckEvent EVENT_BOUGHT_MUSEUM_TICKET jr z, .asm_3ded4 .asm_31a16 ld hl, Museum1FText_5c242 @@ -91,7 +91,7 @@ Museum1FText1: ; 5c135 (17:4135) .asm_0f3e3 ld hl, Museum1FText_5c224 call PrintText - SetEvent EVENT_068 + SetEvent EVENT_BOUGHT_MUSEUM_TICKET xor a ld [wPriceTemp], a ld [wPriceTemp + 1], a @@ -187,14 +187,14 @@ Museum1FText_5c251: ; 5c251 (17:4251) Museum1FText3: ; 5c256 (17:4256) TX_ASM - CheckEvent EVENT_069 + CheckEvent EVENT_GOT_OLD_AMBER jr nz, .asm_5c285 ld hl, Museum1FText_5c28e call PrintText ld bc, (OLD_AMBER << 8) | 1 call GiveItem jr nc, .BagFull - SetEvent EVENT_069 + SetEvent EVENT_GOT_OLD_AMBER ld a, HS_OLD_AMBER ld [wcc4d], a predef HideObject diff --git a/scripts/oakslab.asm b/scripts/oakslab.asm index 6f51aca0..620923ad 100755 --- a/scripts/oakslab.asm +++ b/scripts/oakslab.asm @@ -1,5 +1,5 @@ OaksLabScript: ; 1cb0e (7:4b0e) - CheckEvent EVENT_026 + CheckEvent EVENT_PALLET_AFTER_GETTING_POKEBALLS_2 call nz, OaksLabScript_1d076 ld a, $1 ld [wAutoTextBoxDrawingControl], a @@ -31,7 +31,7 @@ OaksLabScriptPointers: ; 1cb28 (7:4b28) dw OaksLabScript18 OaksLabScript0: ; 1cb4e (7:4b4e) - CheckEvent EVENT_027 + CheckEvent EVENT_OAK_APPEARED_IN_PALLET ret z ld a, [wNPCMovementScriptFunctionNum] and a @@ -108,8 +108,8 @@ OaksLabScript4: ; 1cbd2 (7:4bd2) ld a, [wSimulatedJoypadStatesIndex] and a ret nz - SetEvent EVENT_STOPPED_FROM_LEAVING_PALLET - SetEvent EVENT_FOLLOWED_OAK_INSIDE_LAB + SetEvent EVENT_FOLLOWED_OAK_INTO_LAB + SetEvent EVENT_FOLLOWED_OAK_INTO_LAB_2 ld a, $1 ld [H_SPRITEINDEX], a ld a, SPRITE_FACING_UP @@ -597,7 +597,7 @@ OaksLabScript16: ; 1cf12 (7:4f12) ld [hSpriteIndexOrTextID], a call DisplayTextID SetEvent EVENT_GOT_POKEDEX - SetEvent EVENT_038 + SetEvent EVENT_OAK_GOT_PARCEL ld a, HS_LYING_OLD_MAN ld [wcc4d], a predef HideObject @@ -632,9 +632,9 @@ OaksLabScript17: ; 1cfd4 (7:4fd4) ld a, HS_OAKS_LAB_RIVAL ld [wcc4d], a predef HideObject - SetEvent EVENT_520 - ResetEventReuseHL EVENT_521 - SetEventReuseHL EVENT_527 + SetEvent EVENT_1ST_ROUTE22_RIVAL_BATTLE + ResetEventReuseHL EVENT_2ND_ROUTE22_RIVAL_BATTLE + SetEventReuseHL EVENT_ROUTE22_RIVAL_WANTS_FIGHT ld a, HS_ROUTE_22_RIVAL_1 ld [wcc4d], a predef ShowObject @@ -650,19 +650,19 @@ OaksLabScript17: ; 1cfd4 (7:4fd4) OaksLabScript18: ; 1d009 (7:5009) ret -OaksLabScript_1d00a: ; 1d00a (7:500a) +OaksLabScript_RemoveParcel: ; 1d00a (7:500a) ld hl, wBagItems ld bc, $0000 -.asm_1d010 +.loop ld a, [hli] cp $ff ret z cp OAKS_PARCEL - jr z, .GotParcel + jr z, .foundParcel inc hl inc c - jr .asm_1d010 -.GotParcel + jr .loop +.foundParcel ld hl, wNumBagItems ld a, c ld [wWhichPokemon], a @@ -762,7 +762,7 @@ OaksLabTextPointers: ; 1d082 (7:5082) OaksLabText28: ; 1d0ce (7:50ce) OaksLabText1: ; 1d0ce (7:50ce) TX_ASM - CheckEvent EVENT_FOLLOWED_OAK_INSIDE_LAB + CheckEvent EVENT_FOLLOWED_OAK_INTO_LAB_2 jr nz, .asm_1d0de ld hl, OaksLabGaryText1 call PrintText @@ -964,7 +964,7 @@ OaksLabLastMonText: ; 1d243 (7:5243) OaksLabText32: ; 1d248 (7:5248) OaksLabText5: ; 1d248 (7:5248) TX_ASM - CheckEvent EVENT_006 + CheckEvent EVENT_PALLET_AFTER_GETTING_POKEBALLS jr nz, .asm_1d266 ld hl, wPokedexOwned ld b, wPokedexOwnedEnd - wPokedexOwned @@ -985,7 +985,7 @@ OaksLabText5: ; 1d248 (7:5248) ld b,POKE_BALL call IsItemInBag jr nz, .asm_1d2e7 - CheckEvent EVENT_525 + CheckEvent EVENT_BEAT_ROUTE22_RIVAL_1ST_FIGHT jr nz, .asm_1d2d0 CheckEvent EVENT_GOT_POKEDEX jr nz, .asm_1d2c8 @@ -1011,7 +1011,7 @@ OaksLabText5: ; 1d248 (7:5248) .asm_1d2b8 ld hl, OaksLabDeliverParcelText call PrintText - call OaksLabScript_1d00a + call OaksLabScript_RemoveParcel ld a, $f ld [W_OAKSLABCURSCRIPT], a jr .asm_1d2ed diff --git a/scripts/pallettown.asm b/scripts/pallettown.asm index 15956e7b..0fd7300e 100755 --- a/scripts/pallettown.asm +++ b/scripts/pallettown.asm @@ -1,7 +1,7 @@ PalletTownScript: ; 18e5b (6:4e5b) CheckEvent EVENT_GOT_POKEBALLS_FROM_OAK jr z,.next - SetEvent EVENT_006 + SetEvent EVENT_PALLET_AFTER_GETTING_POKEBALLS .next call EnableAutoTextBoxDrawing ld hl,PalletTownScriptPointers @@ -18,7 +18,7 @@ PalletTownScriptPointers: ; 18e73 (6:4e73) dw PalletTownScript6 PalletTownScript0: ; 18e81 (6:4e81) - CheckEvent EVENT_STOPPED_FROM_LEAVING_PALLET + CheckEvent EVENT_FOLLOWED_OAK_INTO_LAB ret nz ld a,[W_YCOORD] cp 1 ; is player near north exit? @@ -35,7 +35,7 @@ PalletTownScript0: ; 18e81 (6:4e81) call PlayMusic ld a,$FC ld [wJoyIgnore],a - SetEvent EVENT_027 + SetEvent EVENT_OAK_APPEARED_IN_PALLET ; trigger the next script ld a,1 @@ -130,12 +130,11 @@ PalletTownScript4: ; 18f4b (6:4f4b) ret PalletTownScript5: ; 18f56 (6:4f56) - CheckEvent EVENT_01A + CheckEvent EVENT_DAISY_WALKING jr nz,.next - and 3 - cp 3 + CheckBothEventsSet EVENT_GOT_TOWN_MAP, EVENT_ENTERED_BLUES_HOUSE, 1 jr nz,.next - SetEvent EVENT_01A + SetEvent EVENT_DAISY_WALKING ld a,HS_DAISY_SITTING ld [wcc4d],a predef HideObject @@ -145,7 +144,7 @@ PalletTownScript5: ; 18f56 (6:4f56) .next CheckEvent EVENT_GOT_POKEBALLS_FROM_OAK ret z - SetEvent EVENT_026 + SetEvent EVENT_PALLET_AFTER_GETTING_POKEBALLS_2 PalletTownScript6: ; 18f87 (6:4f87) ret diff --git a/scripts/pewtercity.asm b/scripts/pewtercity.asm index 8e72ee4b..77da14f8 100755 --- a/scripts/pewtercity.asm +++ b/scripts/pewtercity.asm @@ -16,7 +16,7 @@ PewterCityScriptPointers: ; 19243 (6:5243) PewterCityScript0: ; 19251 (6:5251) xor a ld [W_MUSEUM1FCURSCRIPT], a - ResetEvent EVENT_068 + ResetEvent EVENT_BOUGHT_MUSEUM_TICKET call PewterCityScript_1925e ret diff --git a/scripts/pewtergym.asm b/scripts/pewtergym.asm index 03a1c218..186d0176 100755 --- a/scripts/pewtergym.asm +++ b/scripts/pewtergym.asm @@ -72,7 +72,7 @@ PewterGymScript_5c3df: ; 5c3df (17:43df) ld [wcc4d], a predef HideObject - ResetEvents EVENT_520, EVENT_527 + ResetEvents EVENT_1ST_ROUTE22_RIVAL_BATTLE, EVENT_ROUTE22_RIVAL_WANTS_FIGHT ; deactivate gym trainers SetEvent EVENT_BEAT_PEWTER_GYM_TRAINER_0 diff --git a/scripts/pokemontower2.asm b/scripts/pokemontower2.asm index a9619170..c7b94c4f 100755 --- a/scripts/pokemontower2.asm +++ b/scripts/pokemontower2.asm @@ -17,7 +17,7 @@ PokemonTower2ScriptPointers: ; 60509 (18:4509) dw PokemonTower2Script2 PokemonTower2Script0: ; 6050f (18:450f) - CheckEvent EVENT_0EF + CheckEvent EVENT_BEAT_POKEMON_TOWER_RIVAL ret nz ld hl, CoordsData_6055e call ArePlayerCoordsInArray @@ -28,13 +28,14 @@ PokemonTower2Script0: ; 6050f (18:450f) ld c, BANK(Music_MeetRival) ld a, MUSIC_MEET_RIVAL call PlayMusic - ResetEvent EVENT_0EE + ResetEvent EVENT_POKEMON_TOWER_RIVAL_ON_LEFT ld a, [wCoordIndex] cp $1 ld a, PLAYER_DIR_UP ld b, SPRITE_FACING_DOWN jr nz, .asm_60544 - SetEvent EVENT_0EE +; 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 @@ -63,12 +64,12 @@ PokemonTower2Script1: ; 60563 (18:4563) jp z, PokemonTower2Script_604fe ld a, $f0 ld [wJoyIgnore], a - SetEvent EVENT_0EF + SetEvent EVENT_BEAT_POKEMON_TOWER_RIVAL ld a, $1 ld [hSpriteIndexOrTextID], a call DisplayTextID ld de, MovementData_605b2 - CheckEvent EVENT_0EE + CheckEvent EVENT_POKEMON_TOWER_RIVAL_ON_LEFT jr nz, .asm_60589 ld de, MovementData_605a9 .asm_60589 @@ -127,7 +128,7 @@ PokemonTower2TextPointers: ; 605db (18:45db) PokemonTower2Text1: ; 605df (18:45df) TX_ASM - CheckEvent EVENT_0EF + CheckEvent EVENT_BEAT_POKEMON_TOWER_RIVAL jr z, .asm_16f24 ld hl, PokemonTower2Text_6063c call PrintText diff --git a/scripts/pokemontower5.asm b/scripts/pokemontower5.asm index b418b361..c4e9eed9 100755 --- a/scripts/pokemontower5.asm +++ b/scripts/pokemontower5.asm @@ -18,10 +18,10 @@ PokemonTower5Script0: ; 6094b (18:494b) jr c, .asm_60960 ld hl, wd72e res 4, [hl] - ResetEvent EVENT_107 + ResetEvent EVENT_IN_PURIFIED_ZONE jp CheckFightingMapTrainers .asm_60960 - CheckAndSetEvent EVENT_107 + CheckAndSetEvent EVENT_IN_PURIFIED_ZONE ret nz xor a ld [hJoyHeld], a diff --git a/scripts/pokemontower6.asm b/scripts/pokemontower6.asm index 68260484..37ca1b33 100755 --- a/scripts/pokemontower6.asm +++ b/scripts/pokemontower6.asm @@ -22,7 +22,7 @@ PokemonTower6ScriptPointers: ; 60b0d (18:4b0d) dw PokemonTower6Script4 PokemonTower6Script0: ; 60b17 (18:4b17) - CheckEvent EVENT_10F + CheckEvent EVENT_BEAT_GHOST_MAROWAK jp nz, CheckFightingMapTrainers ld hl, CoordsData_60b45 call ArePlayerCoordsInArray @@ -59,7 +59,7 @@ PokemonTower6Script4: ; 60b48 (18:4b48) ld a, [wBattleResult] and a jr nz, .asm_60b82 - SetEvent EVENT_10F + SetEvent EVENT_BEAT_GHOST_MAROWAK ld a, $7 ld [hSpriteIndexOrTextID], a call DisplayTextID diff --git a/scripts/pokemontower7.asm b/scripts/pokemontower7.asm index c2fe1508..3698f4ee 100755 --- a/scripts/pokemontower7.asm +++ b/scripts/pokemontower7.asm @@ -256,8 +256,8 @@ PokemonTower7FujiText: TX_ASM ld hl, TowerRescueFujiText call PrintText - SetEvent EVENT_4CF - SetEvent EVENT_117 + SetEvent EVENT_RESCUED_MR_FUJI + SetEvent EVENT_RESCUED_MR_FUJI_2 ld a, HS_LAVENDER_HOUSE_1_MR_FUJI ld [wcc4d], a predef ShowObject diff --git a/scripts/rockethideout4.asm b/scripts/rockethideout4.asm index e6ba430b..3c312d4c 100755 --- a/scripts/rockethideout4.asm +++ b/scripts/rockethideout4.asm @@ -13,17 +13,16 @@ RocketHideout4Script_45473: ; 45473 (11:5473) bit 5, [hl] res 5, [hl] ret z - CheckEvent EVENT_6A5 + 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_2, 1 jr z, .asm_4548c ld a, $2d jr .asm_45498 .asm_4548c ld a, SFX_GO_INSIDE call PlaySound - SetEvent EVENT_6A5 + SetEvent EVENT_ROCKET_HIDEOUT_4_DOOR_UNLOCKED .asm_45496 ld a, $e .asm_45498 @@ -51,7 +50,7 @@ RocketHideout4Script3: ; 454b6 (11:54b6) call UpdateSprites ld a, $f0 ld [wJoyIgnore], a - SetEvent EVENT_6A7 + SetEvent EVENT_BEAT_ROCKET_HIDEOUT_GIOVANNI ld a, $a ld [hSpriteIndexOrTextID], a call DisplayTextID @@ -117,7 +116,7 @@ RocketHideout4TrainerHeader3: ; 4552d (11:552d) RocketHideout4Text1: ; 4553a (11:553a) TX_ASM - CheckEvent EVENT_6A7 + CheckEvent EVENT_BEAT_ROCKET_HIDEOUT_GIOVANNI jp nz, .asm_545571 ld hl, RocketHideout4Text_4557a call PrintText @@ -209,7 +208,7 @@ RocketHideout4AfterBattleText4: ; 455cf (11:55cf) TX_ASM ld hl, RocketHideout4Text_455ec call PrintText - CheckAndSetEvent EVENT_6A6 + CheckAndSetEvent EVENT_ROCKET_DROPPED_LIFT_KEY jr nz, .asm_455e9 ld a, HS_ROCKET_HIDEOUT_4_ITEM_5 ld [wcc4d], a diff --git a/scripts/route1.asm b/scripts/route1.asm index d1e39c06..6c00e555 100755 --- a/scripts/route1.asm +++ b/scripts/route1.asm @@ -8,7 +8,7 @@ Route1TextPointers: ; 1cab2 (7:4ab2) Route1Text1: ; 1cab8 (7:4ab8) TX_ASM - CheckAndSetEvent EVENT_3C0 + CheckAndSetEvent EVENT_GOT_POTION_SAMPLE jr nz, .asm_1cada ld hl, Route1ViridianMartSampleText call PrintText diff --git a/scripts/route11gateupstairs.asm b/scripts/route11gateupstairs.asm index 7720b176..9bae1398 100755 --- a/scripts/route11gateupstairs.asm +++ b/scripts/route11gateupstairs.asm @@ -17,7 +17,7 @@ Route11GateUpstairsScriptEnd: ; 49469 (12:5469) Route11GateUpstairsText2: ; 4946c (12:546c) TX_ASM - CheckEvent EVENT_47F, 1 + CheckEvent EVENT_GOT_ITEMFINDER, 1 jr c, .asm_4949b ld a, 30 ; pokemon needed ld [$ffdb], a @@ -34,7 +34,7 @@ Route11GateUpstairsText2: ; 4946c (12:546c) ld a, [$ffdb] dec a jr nz, .asm_494a1 - SetEvent EVENT_47F + SetEvent EVENT_GOT_ITEMFINDER .asm_4949b ld hl, Route11GateUpstairsText_494a3 call PrintText diff --git a/scripts/route12gateupstairs.asm b/scripts/route12gateupstairs.asm index e1f8901f..f651d373 100755 --- a/scripts/route12gateupstairs.asm +++ b/scripts/route12gateupstairs.asm @@ -8,7 +8,7 @@ Route12GateUpstairsTextPointers: ; 49563 (12:5563) Route12GateUpstairsText1: ; 49569 (12:5569) TX_ASM - CheckEvent EVENT_480, 1 + CheckEvent EVENT_GOT_TM39, 1 jr c, .asm_0ad3c ld hl, TM39PreReceiveText call PrintText @@ -17,7 +17,7 @@ Route12GateUpstairsText1: ; 49569 (12:5569) jr nc, .BagFull ld hl, ReceivedTM39Text call PrintText - SetEvent EVENT_480 + SetEvent EVENT_GOT_TM39 jr .asm_4ba56 .BagFull ld hl, TM39NoRoomText diff --git a/scripts/route15gateupstairs.asm b/scripts/route15gateupstairs.asm index e3a3cf3b..cedabdc0 100755 --- a/scripts/route15gateupstairs.asm +++ b/scripts/route15gateupstairs.asm @@ -7,7 +7,7 @@ Route15GateUpstairsTextPointers: ; 4964d (12:564d) Route15GateUpstairsText1: ; 49651 (12:5651) TX_ASM - CheckEvent EVENT_4B0 + CheckEvent EVENT_GOT_EXP_ALL jr nz, .asm_49683 ld a, 50 ; pokemon needed ld [$ffdb], a @@ -23,7 +23,7 @@ Route15GateUpstairsText1: ; 49651 (12:5651) ld a, [$ffdb] cp $1 jr nz, .asm_49689 - SetEvent EVENT_4B0 + SetEvent EVENT_GOT_EXP_ALL .asm_49683 ld hl, Route15GateUpstairsText_4968c call PrintText diff --git a/scripts/route16house.asm b/scripts/route16house.asm index d01465cb..4a0ac0c3 100755 --- a/scripts/route16house.asm +++ b/scripts/route16house.asm @@ -7,7 +7,7 @@ Route16HouseTextPointers: ; 1e5fb (7:65fb) Route16HouseText1: ; 1e5ff (7:65ff) TX_ASM - CheckEvent EVENT_4CE + CheckEvent EVENT_GOT_HM02 ld hl, HM02ExplanationText jr nz, .asm_13616 ld hl, Route16HouseText3 @@ -15,7 +15,7 @@ Route16HouseText1: ; 1e5ff (7:65ff) ld bc, (HM_02 << 8) | 1 call GiveItem jr nc, .BagFull - SetEvent EVENT_4CE + SetEvent EVENT_GOT_HM02 ld hl, ReceivedHM02Text jr .asm_13616 .BagFull diff --git a/scripts/route20.asm b/scripts/route20.asm index f4690732..2ef51da9 100755 --- a/scripts/route20.asm +++ b/scripts/route20.asm @@ -1,5 +1,5 @@ Route20Script: ; 50ca9 (14:4ca9) - CheckAndResetEvent EVENT_500 + CheckAndResetEvent EVENT_IN_SEAFOAM_ISLANDS call nz, Route20Script_50cc6 call EnableAutoTextBoxDrawing ld hl, Route20TrainerHeader0 @@ -10,7 +10,7 @@ Route20Script: ; 50ca9 (14:4ca9) ret Route20Script_50cc6: ; 50cc6 (14:4cc6) - CheckBothEventsSet EVENT_9C8, EVENT_9C9 + CheckBothEventsSet EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE jr z, .asm_50cef ld a, HS_SEAFOAM_ISLANDS_1_BOULDER_1 call Route20Script_50d0c @@ -36,7 +36,7 @@ Route20Script_50cc6: ; 50cc6 (14:4cc6) db $FF .asm_50cef - CheckBothEventsSet EVENT_9D0, EVENT_9D1 + CheckBothEventsSet EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM4_BOULDER2_DOWN_HOLE ret z ld a, HS_SEAFOAM_ISLANDS_4_BOULDER_1 call Route20Script_50d0c diff --git a/scripts/route22.asm b/scripts/route22.asm index dec8afd6..73fe2f55 100755 --- a/scripts/route22.asm +++ b/scripts/route22.asm @@ -55,7 +55,7 @@ Route22RivalMovementData: ; 50efb (14:4efb) db $FF Route22Script0: ; 50f00 (14:4f00) - CheckEvent EVENT_527 + CheckEvent EVENT_ROUTE22_RIVAL_WANTS_FIGHT ret z ld hl, .Route22RivalBattleCoords call ArePlayerCoordsInArray @@ -68,9 +68,9 @@ Route22Script0: ; 50f00 (14:4f00) ld [wJoyIgnore], a ld a, PLAYER_DIR_LEFT ld [wPlayerMovingDirection], a - CheckEvent EVENT_520 + CheckEvent EVENT_1ST_ROUTE22_RIVAL_BATTLE jr nz, .firstRivalBattle - CheckEventReuseA EVENT_521 ; is this the rival at the end of the game? + CheckEventReuseA EVENT_2ND_ROUTE22_RIVAL_BATTLE ; is this the rival at the end of the game? jp nz, Route22Script_5104e ret @@ -163,7 +163,7 @@ Route22Script2: ; 50fb5 (14:4fb5) call SetSpriteFacingDirectionAndDelay ld a, $f0 ld [wJoyIgnore], a - SetEvent EVENT_525 + SetEvent EVENT_BEAT_ROUTE22_RIVAL_1ST_FIGHT ld a, $1 ld [hSpriteIndexOrTextID], a call DisplayTextID @@ -227,7 +227,7 @@ Route22Script3: ; 5102a (14:502a) ld [wcc4d], a predef HideObject call PlayDefaultMusic - ResetEvents EVENT_520, EVENT_527 + ResetEvents EVENT_1ST_ROUTE22_RIVAL_BATTLE, EVENT_ROUTE22_RIVAL_WANTS_FIGHT ld a, $0 ld [W_ROUTE22CURSCRIPT], a ret @@ -322,7 +322,7 @@ Route22Script5: ; 510df (14:50df) call SetSpriteFacingDirectionAndDelay ld a, $f0 ld [wJoyIgnore], a - SetEvent EVENT_526 + SetEvent EVENT_BEAT_ROUTE22_RIVAL_2ND_FIGHT ld a, $2 ld [hSpriteIndexOrTextID], a call DisplayTextID @@ -372,7 +372,7 @@ Route22Script6: ; 51151 (14:5151) ld [wcc4d], a predef HideObject call PlayDefaultMusic - ResetEvents EVENT_521, EVENT_527 + ResetEvents EVENT_2ND_ROUTE22_RIVAL_BATTLE, EVENT_ROUTE22_RIVAL_WANTS_FIGHT ld a, $7 ld [W_ROUTE22CURSCRIPT], a ret @@ -384,7 +384,7 @@ Route22TextPointers: ; 51175 (14:5175) Route22Text1: ; 5117b (14:517b) TX_ASM - CheckEvent EVENT_525 + CheckEvent EVENT_BEAT_ROUTE22_RIVAL_1ST_FIGHT jr z, .asm_5118b ld hl, Route22RivalAfterBattleText1 call PrintText @@ -397,7 +397,7 @@ Route22Text1: ; 5117b (14:517b) Route22Text2: ; 51194 (14:5194) TX_ASM - CheckEvent EVENT_526 + CheckEvent EVENT_BEAT_ROUTE22_RIVAL_2ND_FIGHT jr z, .asm_511a4 ld hl, Route22RivalAfterBattleText2 call PrintText diff --git a/scripts/route23.asm b/scripts/route23.asm index e17b7d23..adc631d8 100755 --- a/scripts/route23.asm +++ b/scripts/route23.asm @@ -10,8 +10,8 @@ Route23Script_511e9: ; 511e9 (14:51e9) bit 6, [hl] res 6, [hl] ret z - ResetEvents EVENT_538, EVENT_53F - ResetEvents EVENT_660, EVENT_666 + 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 predef ShowObject @@ -29,7 +29,7 @@ Route23Script0: ; 51219 (14:5219) ld a, [W_YCOORD] ld b, a ld e, $0 - EventFlagBit c, EVENT_536 + 1, EVENT_530 + EventFlagBit c, EVENT_PASSED_EARTHBADGE_CHECK + 1, EVENT_PASSED_CASCADEBADGE_CHECK .asm_51224 ld a, [hli] cp $ff @@ -49,7 +49,7 @@ Route23Script0: ; 51219 (14:5219) ld a, c ld [wWhichBadge], a ld b, FLAG_TEST - EventFlagAddress hl, EVENT_530 + EventFlagAddress hl, EVENT_PASSED_CASCADEBADGE_CHECK predef FlagActionPredef ld a, c and a @@ -143,43 +143,43 @@ Route23TextPointers: ; 512f7 (14:52f7) Route23Text1: ; 51307 (14:5307) TX_ASM - EventFlagBit a, EVENT_536, EVENT_530 + EventFlagBit a, EVENT_PASSED_EARTHBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK call Route23Script_51346 jp TextScriptEnd Route23Text2: ; 51310 (14:5310) TX_ASM - EventFlagBit a, EVENT_535, EVENT_530 + EventFlagBit a, EVENT_PASSED_VOLCANOBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK call Route23Script_51346 jp TextScriptEnd Route23Text3: ; 51319 (14:5319) TX_ASM - EventFlagBit a, EVENT_534, EVENT_530 + EventFlagBit a, EVENT_PASSED_MARSHBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK call Route23Script_51346 jp TextScriptEnd Route23Text4: ; 51322 (14:5322) TX_ASM - EventFlagBit a, EVENT_533, EVENT_530 + EventFlagBit a, EVENT_PASSED_SOULBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK call Route23Script_51346 jp TextScriptEnd Route23Text5: ; 5132b (14:532b) TX_ASM - EventFlagBit a, EVENT_532, EVENT_530 + EventFlagBit a, EVENT_PASSED_RAINBOWBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK call Route23Script_51346 jp TextScriptEnd Route23Text6: ; 51334 (14:5334) TX_ASM - EventFlagBit a, EVENT_531, EVENT_530 + EventFlagBit a, EVENT_PASSED_THUNDERBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK call Route23Script_51346 jp TextScriptEnd Route23Text7: ; 5133d (14:533d) TX_ASM - EventFlagBit a, EVENT_530 + EventFlagBit a, EVENT_PASSED_CASCADEBADGE_CHECK call Route23Script_51346 jp TextScriptEnd @@ -207,7 +207,7 @@ Route23Script_51346: ; 51346 (14:5346) ld a, [wWhichBadge] ld c, a ld b, FLAG_SET - EventFlagAddress hl, EVENT_530 + EventFlagAddress hl, EVENT_PASSED_CASCADEBADGE_CHECK predef FlagActionPredef ld a, $2 ld [W_ROUTE23CURSCRIPT], a diff --git a/scripts/route24.asm b/scripts/route24.asm index c946159c..4e83a5cd 100755 --- a/scripts/route24.asm +++ b/scripts/route24.asm @@ -22,7 +22,7 @@ Route24ScriptPointers: ; 513cb (14:53cb) dw Route24Script4 Route24Script0: ; 513d5 (14:53d5) - CheckEvent EVENT_540 + CheckEvent EVENT_GOT_NUGGET jp nz, CheckFightingMapTrainers ld hl, CoordsData_5140e call ArePlayerCoordsInArray @@ -32,7 +32,7 @@ Route24Script0: ; 513d5 (14:53d5) ld a, $1 ld [hSpriteIndexOrTextID], a call DisplayTextID - CheckAndResetEvent EVENT_549 + CheckAndResetEvent EVENT_NUGGET_REWARD_AVAILABLE ret z ld a, D_DOWN ld [wSimulatedJoypadStatesEnd], a @@ -64,7 +64,7 @@ Route24Script3: ; 51422 (14:5422) call UpdateSprites ld a, $f0 ld [wJoyIgnore], a - SetEvent EVENT_541 + SetEvent EVENT_BEAT_ROUTE24_ROCKET ld a, $1 ld [hSpriteIndexOrTextID], a call DisplayTextID @@ -144,15 +144,15 @@ Route24TrainerHeader6: ; 51497 (14:5497) Route24Text1: ; 514a4 (14:54a4) TX_ASM - ResetEvent EVENT_549 - CheckEvent EVENT_540 + ResetEvent EVENT_NUGGET_REWARD_AVAILABLE + CheckEvent EVENT_GOT_NUGGET jr nz, .asm_514f9 ld hl, Route24Text_51510 call PrintText ld bc, (NUGGET << 8) | 1 call GiveItem jr nc, .BagFull - SetEvent EVENT_540 + SetEvent EVENT_GOT_NUGGET ld hl, Route24Text_5151a call PrintText ld hl, Route24Text_51526 @@ -180,7 +180,7 @@ Route24Text1: ; 514a4 (14:54a4) .BagFull ld hl, Route24Text_51521 call PrintText - SetEvent EVENT_549 + SetEvent EVENT_NUGGET_REWARD_AVAILABLE jp TextScriptEnd Route24Text_51510: ; 51510 (14:5510) diff --git a/scripts/route25.asm b/scripts/route25.asm index 6bbb5e26..a123d74a 100755 --- a/scripts/route25.asm +++ b/scripts/route25.asm @@ -13,18 +13,18 @@ Route25Script_515e1: ; 515e1 (14:55e1) bit 6, [hl] res 6, [hl] ret z - CheckEventHL EVENT_55F + CheckEventHL EVENT_LEFT_BILLS_HOUSE_AFTER_HELPING ret nz - CheckEventReuseHL EVENT_55D + CheckEventReuseHL EVENT_MET_BILL_2 jr nz, .asm_515ff - ResetEventReuseHL EVENT_55E + ResetEventReuseHL EVENT_BILL_SAID_USE_CELL_SEPARATOR ld a, HS_BILL_POKEMON ld [wcc4d], a predef_jump ShowObject .asm_515ff - CheckEventAfterBranchReuseHL EVENT_55C, EVENT_55D + CheckEventAfterBranchReuseHL EVENT_GOT_SS_TICKET, EVENT_MET_BILL_2 ret z - SetEventReuseHL EVENT_55F + SetEventReuseHL EVENT_LEFT_BILLS_HOUSE_AFTER_HELPING ld a, HS_NUGGET_BRIDGE_GUY ld [wcc4d], a predef HideObject diff --git a/scripts/route2gate.asm b/scripts/route2gate.asm index 49c28e02..789482dc 100755 --- a/scripts/route2gate.asm +++ b/scripts/route2gate.asm @@ -7,7 +7,7 @@ Route2GateTextPointers: ; 5d5d7 (17:55d7) Route2GateText1: ; 5d5db (17:55db) TX_ASM - CheckEvent EVENT_3D8 + CheckEvent EVENT_GOT_HM05 jr nz, .asm_5d60d ld a, 10 ; pokemon needed ld [$ffdb], a @@ -23,7 +23,7 @@ Route2GateText1: ; 5d5db (17:55db) ld a, [$ffdb] cp $1 jr nz, .asm_5d613 - SetEvent EVENT_3D8 + SetEvent EVENT_GOT_HM05 .asm_5d60d ld hl, Route2GateText_5d616 call PrintText diff --git a/scripts/safarizonesecrethouse.asm b/scripts/safarizonesecrethouse.asm index 48992d94..6cf17b9d 100755 --- a/scripts/safarizonesecrethouse.asm +++ b/scripts/safarizonesecrethouse.asm @@ -6,7 +6,7 @@ SafariZoneSecretHouseTextPointers: ; 4a31a (12:631a) SafariZoneSecretHouseText1: ; 4a31c (12:631c) TX_ASM - CheckEvent EVENT_880 + CheckEvent EVENT_GOT_HM03 jr nz, .asm_20a9b ld hl, SafariZoneSecretHouseText_4a350 call PrintText @@ -15,7 +15,7 @@ SafariZoneSecretHouseText1: ; 4a31c (12:631c) jr nc, .BagFull ld hl, ReceivedHM03Text call PrintText - SetEvent EVENT_880 + SetEvent EVENT_GOT_HM03 jr .asm_8f1fc .BagFull ld hl, HM03NoRoomText diff --git a/scripts/saffronhouse2.asm b/scripts/saffronhouse2.asm index 68300183..f3ec4c99 100755 --- a/scripts/saffronhouse2.asm +++ b/scripts/saffronhouse2.asm @@ -6,7 +6,7 @@ SaffronHouse2TextPointers: ; 1de3f (7:5e3f) SaffronHouse2Text1: ; 1de41 (7:5e41) TX_ASM - CheckEvent EVENT_3B0 + CheckEvent EVENT_GOT_TM29 jr nz, .asm_9e72b ld hl, TM29PreReceiveText call PrintText @@ -15,7 +15,7 @@ SaffronHouse2Text1: ; 1de41 (7:5e41) jr nc, .BagFull ld hl, ReceivedTM29Text call PrintText - SetEvent EVENT_3B0 + SetEvent EVENT_GOT_TM29 jr .asm_fe4e1 .BagFull ld hl, TM29NoRoomText diff --git a/scripts/seafoamislands1.asm b/scripts/seafoamislands1.asm index 89972aca..542afe18 100755 --- a/scripts/seafoamislands1.asm +++ b/scripts/seafoamislands1.asm @@ -1,6 +1,6 @@ SeafoamIslands1Script: ; 447e9 (11:47e9) call EnableAutoTextBoxDrawing - SetEvent EVENT_500 + SetEvent EVENT_IN_SEAFOAM_ISLANDS ld hl, wFlags_0xcd60 bit 7, [hl] res 7, [hl] @@ -8,18 +8,18 @@ SeafoamIslands1Script: ; 447e9 (11:47e9) ld hl, Seafoam1HolesCoords call CheckBoulderCoords ret nc - EventFlagAddress hl, EVENT_50E + EventFlagAddress hl, EVENT_SEAFOAM1_BOULDER1_DOWN_HOLE ld a, [wCoordIndex] cp $1 jr nz, .asm_44819 - SetEventReuseHL EVENT_50E + SetEventReuseHL EVENT_SEAFOAM1_BOULDER1_DOWN_HOLE ld a, HS_SEAFOAM_ISLANDS_1_BOULDER_1 ld [wd079], a ld a, HS_SEAFOAM_ISLANDS_2_BOULDER_1 ld [wd07a], a jr .asm_44825 .asm_44819 - SetEventAfterBranchReuseHL EVENT_50F, EVENT_50E + SetEventAfterBranchReuseHL EVENT_SEAFOAM1_BOULDER2_DOWN_HOLE, EVENT_SEAFOAM1_BOULDER1_DOWN_HOLE ld a, HS_SEAFOAM_ISLANDS_1_BOULDER_2 ld [wd079], a ld a, HS_SEAFOAM_ISLANDS_2_BOULDER_2 diff --git a/scripts/seafoamislands2.asm b/scripts/seafoamislands2.asm index c24ba601..bf81a467 100755 --- a/scripts/seafoamislands2.asm +++ b/scripts/seafoamislands2.asm @@ -7,18 +7,18 @@ SeafoamIslands2Script: ; 46315 (11:6315) ld hl, Seafoam2HolesCoords call CheckBoulderCoords ret nc - EventFlagAddress hl, EVENT_9C0 + EventFlagAddress hl, EVENT_SEAFOAM2_BOULDER1_DOWN_HOLE ld a, [wCoordIndex] cp $1 jr nz, .asm_46340 - SetEventReuseHL EVENT_9C0 + SetEventReuseHL EVENT_SEAFOAM2_BOULDER1_DOWN_HOLE ld a, HS_SEAFOAM_ISLANDS_2_BOULDER_1 ld [wd079], a ld a, HS_SEAFOAM_ISLANDS_3_BOULDER_1 ld [wd07a], a jr .asm_4634c .asm_46340 - SetEventAfterBranchReuseHL EVENT_9C1, EVENT_9C0 + SetEventAfterBranchReuseHL EVENT_SEAFOAM2_BOULDER2_DOWN_HOLE, EVENT_SEAFOAM2_BOULDER1_DOWN_HOLE ld a, HS_SEAFOAM_ISLANDS_2_BOULDER_2 ld [wd079], a ld a, HS_SEAFOAM_ISLANDS_3_BOULDER_2 diff --git a/scripts/seafoamislands3.asm b/scripts/seafoamislands3.asm index f117c2a7..8f66a0ca 100755 --- a/scripts/seafoamislands3.asm +++ b/scripts/seafoamislands3.asm @@ -7,18 +7,18 @@ SeafoamIslands3Script: ; 46451 (11:6451) ld hl, Seafoam3HolesCoords call CheckBoulderCoords ret nc - EventFlagAddress hl, EVENT_9C8 + EventFlagAddress hl, EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE ld a, [wCoordIndex] cp $1 jr nz, .asm_4647c - SetEventReuseHL EVENT_9C8 + SetEventReuseHL EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE ld a, HS_SEAFOAM_ISLANDS_3_BOULDER_1 ld [wd079], a ld a, HS_SEAFOAM_ISLANDS_4_BOULDER_3 ld [wd07a], a jr .asm_46488 .asm_4647c - SetEventAfterBranchReuseHL EVENT_9C9, EVENT_9C8 + SetEventAfterBranchReuseHL EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE, EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE ld a, HS_SEAFOAM_ISLANDS_3_BOULDER_2 ld [wd079], a ld a, HS_SEAFOAM_ISLANDS_4_BOULDER_4 diff --git a/scripts/seafoamislands4.asm b/scripts/seafoamislands4.asm index 031f9d13..dc198123 100755 --- a/scripts/seafoamislands4.asm +++ b/scripts/seafoamislands4.asm @@ -7,18 +7,18 @@ SeafoamIslands4Script: ; 4658d (11:658d) ld hl, Seafoam4HolesCoords call CheckBoulderCoords ret nc - EventFlagAddress hl, EVENT_9D0 + EventFlagAddress hl, EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE ld a, [wCoordIndex] cp $1 jr nz, .asm_465b8 - SetEventReuseHL EVENT_9D0 + SetEventReuseHL EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE ld a, HS_SEAFOAM_ISLANDS_4_BOULDER_1 ld [wd079], a ld a, HS_SEAFOAM_ISLANDS_5_BOULDER_1 ld [wd07a], a jr .asm_465c4 .asm_465b8 - SetEventAfterBranchReuseHL EVENT_9D1, EVENT_9D0 + SetEventAfterBranchReuseHL EVENT_SEAFOAM4_BOULDER2_DOWN_HOLE, EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE ld a, HS_SEAFOAM_ISLANDS_4_BOULDER_2 ld [wd079], a ld a, HS_SEAFOAM_ISLANDS_5_BOULDER_2 @@ -56,7 +56,7 @@ SeafoamIslands4ScriptPointers: ; 465fb (11:65fb) dw SeafoamIslands4Script3 SeafoamIslands4Script0: ; 46603 (11:6603) - CheckBothEventsSet EVENT_9C8, EVENT_9C9 + CheckBothEventsSet EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE ret z ld a, [W_YCOORD] cp $8 @@ -91,7 +91,7 @@ SeafoamIslands4Script1: ; 46639 (11:6639) ret SeafoamIslands4Script2: ; 46644 (11:6644) - CheckBothEventsSet EVENT_9C8, EVENT_9C9 + CheckBothEventsSet EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE ret z ld a, [W_XCOORD] cp $12 diff --git a/scripts/seafoamislands5.asm b/scripts/seafoamislands5.asm index 9324a187..eca361f3 100755 --- a/scripts/seafoamislands5.asm +++ b/scripts/seafoamislands5.asm @@ -27,7 +27,7 @@ SeafoamIslands5Script4: ; 467b7 (11:67b7) ret SeafoamIslands5Script0: ; 467c7 (11:67c7) - CheckBothEventsSet EVENT_9C8, EVENT_9C9 + CheckBothEventsSet EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE ret z ld hl, CoordsData_467fe call ArePlayerCoordsInArray @@ -70,7 +70,7 @@ SeafoamIslands5Script1: ; 46807 (11:6807) ret SeafoamIslands5Script2: ; 46816 (11:6816) - CheckBothEventsSet EVENT_9D0, EVENT_9D1 + CheckBothEventsSet EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM4_BOULDER2_DOWN_HOLE ld a, $0 jr z, .asm_46849 ld hl, CoordsData_4684d diff --git a/scripts/silphco1.asm b/scripts/silphco1.asm index 26c8c888..71b59d72 100755 --- a/scripts/silphco1.asm +++ b/scripts/silphco1.asm @@ -1,10 +1,10 @@ SilphCo1Script: ; 5d44e (17:544e) call EnableAutoTextBoxDrawing - CheckEvent EVENT_78F + CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI ret z - CheckAndSetEvent EVENT_397 + CheckAndSetEvent EVENT_SILPH_CO_RECEPTIONIST_AT_DESK ret nz - ld a, HS_SILPH_CO_1F_1 + ld a, HS_SILPH_CO_1F_RECEPTIONIST ld [wcc4d], a predef_jump ShowObject diff --git a/scripts/silphco10.asm b/scripts/silphco10.asm index 7c7bf785..326b0aeb 100755 --- a/scripts/silphco10.asm +++ b/scripts/silphco10.asm @@ -16,7 +16,7 @@ SilphCo10Script_5a14f: ; 5a14f (16:614f) ld hl, DataTable_5a173 call SilphCo2Script_59d43 call SilphCo10Text_5a176 - CheckEvent EVENT_778 + CheckEvent EVENT_SILPH_CO_10_UNLOCKED_DOOR ret nz ld a, $54 ld [wd09f], a @@ -30,7 +30,7 @@ SilphCo10Text_5a176: ; 5a176 (16:6176) ld a, [$ffe0] and a ret z - SetEvent EVENT_778 + SetEvent EVENT_SILPH_CO_10_UNLOCKED_DOOR ret SilphCo10ScriptPointers: ; 5a180 (16:6180) @@ -81,7 +81,7 @@ SilphCo10Text2: ; 5a1b5 (16:61b5) SilphCo10Text3: ; 5a1bf (16:61bf) TX_ASM - CheckEvent EVENT_78F + CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI ld hl, SilphCo10Text_5a1d8 jr nz, .asm_cf85f ld hl, SilphCo10Text_5a1d3 diff --git a/scripts/silphco11.asm b/scripts/silphco11.asm index b855e6d0..8f37b57f 100755 --- a/scripts/silphco11.asm +++ b/scripts/silphco11.asm @@ -16,7 +16,7 @@ SilphCo11Script_62110: ; 62110 (18:6110) ld hl, DataTable_62134 call SilphCo11Script_62137 call SilphCo11Script_62163 - CheckEvent EVENT_788 + CheckEvent EVENT_SILPH_CO_11_UNLOCKED_DOOR ret nz ld a, $20 ld [wd09f], a @@ -66,7 +66,7 @@ SilphCo11Script_62163: ; 62163 (18:6163) ld a, [$ffe0] and a ret z - SetEvent EVENT_788 + SetEvent EVENT_SILPH_CO_11_UNLOCKED_DOOR ret SilphCo11Script_6216d: ; 6216d (18:616d) @@ -162,7 +162,7 @@ SilphCo11ScriptPointers: ; 621cf (18:61cf) dw SilphCo11Script5 SilphCo11Script0: ; 621db (18:61db) - CheckEvent EVENT_78F + CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI ret nz ld hl, CoordsData_62211 call ArePlayerCoordsInArray @@ -228,7 +228,7 @@ SilphCo11Script5: ; 62227 (18:6227) call UpdateSprites call Delay3 call GBFadeInFromBlack - SetEvent EVENT_78F + SetEvent EVENT_BEAT_SILPH_CO_GIOVANNI xor a ld [wJoyIgnore], a jp SilphCo11Script_621c8 @@ -302,7 +302,7 @@ SilphCo11TrainerHeader1: ; 622cf (18:62cf) SilphCo11Text1: ; 622dc (18:62dc) TX_ASM - CheckEvent EVENT_78D + CheckEvent EVENT_GOT_MASTER_BALL jp nz, .asm_62308 ld hl, SilphCoPresidentText call PrintText @@ -311,7 +311,7 @@ SilphCo11Text1: ; 622dc (18:62dc) jr nc, .BagFull ld hl, ReceivedSilphCoMasterBallText call PrintText - SetEvent EVENT_78D + SetEvent EVENT_GOT_MASTER_BALL jr .asm_6230e .BagFull ld hl, SilphCoMasterBallNoRoomText diff --git a/scripts/silphco2.asm b/scripts/silphco2.asm index eb6b1b8e..a8d0fa56 100755 --- a/scripts/silphco2.asm +++ b/scripts/silphco2.asm @@ -16,7 +16,7 @@ SilphCo2Script_59d07: ; 59d07 (16:5d07) ld hl, DataTable_59d3e call SilphCo2Script_59d43 call SilphCo2Script_59d6f - CheckEvent EVENT_6FD + CheckEvent EVENT_SILPH_CO_2_UNLOCKED_DOOR1 jr nz, .asm_59d2e push af ld a, $54 @@ -25,7 +25,7 @@ SilphCo2Script_59d07: ; 59d07 (16:5d07) 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 @@ -72,16 +72,16 @@ SilphCo2Script_59d43: ; 59d43 (16:5d43) ret SilphCo2Script_59d6f: ; 59d6f (16:5d6f) - EventFlagAddress hl, EVENT_6FD + EventFlagAddress hl, EVENT_SILPH_CO_2_UNLOCKED_DOOR1 ld a, [$ffe0] and a ret z cp $1 jr nz, .next - SetEventReuseHL EVENT_6FD + SetEventReuseHL EVENT_SILPH_CO_2_UNLOCKED_DOOR1 ret .next - SetEventAfterBranchReuseHL EVENT_6FE, EVENT_6FD + SetEventAfterBranchReuseHL EVENT_SILPH_CO_2_UNLOCKED_DOOR2, EVENT_SILPH_CO_2_UNLOCKED_DOOR1 ret SilphCo2ScriptPointers: ; 59d80 (16:5d80) @@ -137,7 +137,7 @@ SilphCo2TrainerHeader3: ; 59db4 (16:5db4) SilphCo2Text1: ; 59dc1 (16:5dc1) TX_ASM - CheckEvent EVENT_6FF + CheckEvent EVENT_GOT_TM36 jr nz, .asm_59de4 ld hl, SilphCo2Text_59ded call PrintText @@ -145,7 +145,7 @@ SilphCo2Text1: ; 59dc1 (16:5dc1) call GiveItem ld hl, TM36NoRoomText jr nc, .asm_59de7 - SetEvent EVENT_6FF + SetEvent EVENT_GOT_TM36 ld hl, ReceivedTM36Text jr .asm_59de7 .asm_59de4 diff --git a/scripts/silphco3.asm b/scripts/silphco3.asm index 0cb54726..b55cc5eb 100755 --- a/scripts/silphco3.asm +++ b/scripts/silphco3.asm @@ -16,7 +16,7 @@ SilphCo3Script_59f71: ; 59f71 (16:5f71) ld hl, DataTable_59fa8 call SilphCo2Script_59d43 call SilphCo3Script_59fad - CheckEvent EVENT_708 + CheckEvent EVENT_SILPH_CO_3_UNLOCKED_DOOR1 jr nz, .asm_59f98 push af ld a, $5f @@ -25,7 +25,7 @@ SilphCo3Script_59f71: ; 59f71 (16:5f71) 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 @@ -36,16 +36,16 @@ DataTable_59fa8: ; 59fa8 (16:5fa8) db $04,$04,$04,$08,$FF SilphCo3Script_59fad: ; 59fad (16:5fad) - EventFlagAddress hl, EVENT_708 + EventFlagAddress hl, EVENT_SILPH_CO_3_UNLOCKED_DOOR1 ld a, [$ffe0] and a ret z cp $1 jr nz, .next - SetEventReuseHL EVENT_708 + SetEventReuseHL EVENT_SILPH_CO_3_UNLOCKED_DOOR1 ret .next - SetEventAfterBranchReuseHL EVENT_709, EVENT_708 + SetEventAfterBranchReuseHL EVENT_SILPH_CO_3_UNLOCKED_DOOR2, EVENT_SILPH_CO_3_UNLOCKED_DOOR1 ret SilphCo3ScriptPointers: ; 59fbe (16:5fbe) @@ -82,7 +82,7 @@ SilphCo3TrainerHeader1: ; 59fd8 (16:5fd8) SilphCo3Text1: ; 59fe5 (16:5fe5) TX_ASM - CheckEvent EVENT_78F + CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI ld hl, SilphCo3Text_59ffe jr nz, .asm_59fee ld hl, SilphCo3Text_59ff9 diff --git a/scripts/silphco4.asm b/scripts/silphco4.asm index aff77e4a..815170ff 100755 --- a/scripts/silphco4.asm +++ b/scripts/silphco4.asm @@ -16,7 +16,7 @@ SilphCo4Script_19d21: ; 19d21 (6:5d21) ld hl, SilphCo4Data19d58 call SilphCo4Script_19d5d call SilphCo4Script_19d89 - CheckEvent EVENT_718 + CheckEvent EVENT_SILPH_CO_4_UNLOCKED_DOOR1 jr nz, .asm_19d48 push af ld a, $54 @@ -25,7 +25,7 @@ SilphCo4Script_19d21: ; 19d21 (6:5d21) 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 @@ -72,16 +72,16 @@ SilphCo4Script_19d5d: ; 19d5d (6:5d5d) ret SilphCo4Script_19d89: ; 19d89 (6:5d89) - EventFlagAddress hl, EVENT_718 + EventFlagAddress hl, EVENT_SILPH_CO_4_UNLOCKED_DOOR1 ld a, [$ffe0] and a ret z cp $1 jr nz, .next - SetEventReuseHL EVENT_718 + SetEventReuseHL EVENT_SILPH_CO_4_UNLOCKED_DOOR1 ret .next - SetEventAfterBranchReuseHL EVENT_719, EVENT_718 + SetEventAfterBranchReuseHL EVENT_SILPH_CO_4_UNLOCKED_DOOR2, EVENT_SILPH_CO_4_UNLOCKED_DOOR1 ret SilphCo4ScriptPointers: ; 19d9a (6:5d9a) diff --git a/scripts/silphco5.asm b/scripts/silphco5.asm index cd220b3e..ecc57537 100755 --- a/scripts/silphco5.asm +++ b/scripts/silphco5.asm @@ -16,7 +16,7 @@ SilphCo5Script_19f4d: ; 19f4d (6:5f4d) ld hl, SilphCo5Coords call SilphCo4Script_19d5d call SilphCo5Script_19f9e - CheckEvent EVENT_728 + CheckEvent EVENT_SILPH_CO_5_UNLOCKED_DOOR1 jr nz, .asm_19f74 push af ld a, $5f @@ -25,7 +25,7 @@ SilphCo5Script_19f4d: ; 19f4d (6:5f4d) predef ReplaceTileBlock pop af .asm_19f74 - bit 1, a + CheckEventAfterBranchReuseA EVENT_SILPH_CO_5_UNLOCKED_DOOR2, EVENT_SILPH_CO_5_UNLOCKED_DOOR1 jr nz, .asm_19f87 push af ld a, $5f @@ -34,7 +34,7 @@ SilphCo5Script_19f4d: ; 19f4d (6:5f4d) 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 @@ -45,21 +45,21 @@ SilphCo5Coords: ; 19f97 (6:5f97) db $02, $03, $06, $03, $05, $07, $ff SilphCo5Script_19f9e: ; 19f9e (6:5f9e) - EventFlagAddress hl, EVENT_728 + EventFlagAddress hl, EVENT_SILPH_CO_5_UNLOCKED_DOOR1 ld a, [$ffe0] and a ret z cp $1 jr nz, .next1 - SetEventReuseHL EVENT_728 + SetEventReuseHL EVENT_SILPH_CO_5_UNLOCKED_DOOR1 ret .next1 cp $2 jr nz, .next2 - SetEventAfterBranchReuseHL EVENT_729, EVENT_728 + SetEventAfterBranchReuseHL EVENT_SILPH_CO_5_UNLOCKED_DOOR2, EVENT_SILPH_CO_5_UNLOCKED_DOOR1 ret .next2 - SetEventAfterBranchReuseHL EVENT_72A, EVENT_728 + SetEventAfterBranchReuseHL EVENT_SILPH_CO_5_UNLOCKED_DOOR3, EVENT_SILPH_CO_5_UNLOCKED_DOOR1 ret SilphCo5ScriptPointers: ; 19fb6 (6:5fb6) diff --git a/scripts/silphco6.asm b/scripts/silphco6.asm index ca52d05c..a84f0dc4 100755 --- a/scripts/silphco6.asm +++ b/scripts/silphco6.asm @@ -16,7 +16,7 @@ SilphCo6Script_1a1bf: ; 1a1bf (6:61bf) ld hl, SilphCo6Coords1 call SilphCo4Script_19d5d call SilphCo6Script_1a1e6 - CheckEvent EVENT_73F + CheckEvent EVENT_SILPH_CO_6_UNLOCKED_DOOR ret nz ld a, $5f ld [wd09f], a @@ -31,7 +31,7 @@ SilphCo6Script_1a1e6: ; 1a1e6 (6:61e6) ld a, [$ffe0] and a ret z - SetEvent EVENT_73F + SetEvent EVENT_SILPH_CO_6_UNLOCKED_DOOR ret SilphCo6ScriptPointers: ; 1a1f0 (6:61f0) @@ -82,7 +82,7 @@ SilphCo6TrainerHeader3: ; 1a222 (6:6222) db $ff SilphCo6Script_1a22f: ; 1a22f (6:622f) - CheckEvent EVENT_78F + CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI jr nz, .asm_1a238 jr .asm_1a23a .asm_1a238 diff --git a/scripts/silphco7.asm b/scripts/silphco7.asm index 64c79c3a..26d9e62f 100755 --- a/scripts/silphco7.asm +++ b/scripts/silphco7.asm @@ -16,7 +16,7 @@ SilphCo7Script_51b77: ; 51b77 (14:5b77) ld hl, DataTable_51bc1 call SilphCo7Text_51bc8 call SilphCo7Text_51bf4 - CheckEvent EVENT_74C + CheckEvent EVENT_SILPH_CO_7_UNLOCKED_DOOR1 jr nz, .asm_51b9e push af ld a, $54 @@ -25,7 +25,7 @@ SilphCo7Script_51b77: ; 51b77 (14:5b77) 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 @@ -34,7 +34,7 @@ SilphCo7Script_51b77: ; 51b77 (14:5b77) 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 @@ -81,21 +81,21 @@ SilphCo7Text_51bc8: ; 51bc8 (14:5bc8) ret SilphCo7Text_51bf4: ; 51bf4 (14:5bf4) - EventFlagAddress hl, EVENT_74C + EventFlagAddress hl, EVENT_SILPH_CO_7_UNLOCKED_DOOR1 ld a, [$ffe0] and a ret z cp $1 jr nz, .next1 - SetEventReuseHL EVENT_74C + SetEventReuseHL EVENT_SILPH_CO_7_UNLOCKED_DOOR1 ret .next1 cp $2 jr nz, .next2 - SetEventAfterBranchReuseHL EVENT_74D, EVENT_74C + SetEventAfterBranchReuseHL EVENT_SILPH_CO_7_UNLOCKED_DOOR2, EVENT_SILPH_CO_7_UNLOCKED_DOOR1 ret .next2 - SetEventAfterBranchReuseHL EVENT_74E, EVENT_74C + SetEventAfterBranchReuseHL EVENT_SILPH_CO_7_UNLOCKED_DOOR3, EVENT_SILPH_CO_7_UNLOCKED_DOOR1 ret SilphCo7Text_51c0c: ; 51c0c (14:5c0c) @@ -116,7 +116,7 @@ SilphCo7ScriptPointers: ; 51c17 (14:5c17) dw SilphCo7Script5 SilphCo7Script0: ; 51c23 (14:5c23) - CheckEvent EVENT_740 + CheckEvent EVENT_BEAT_SILPH_CO_RIVAL jp nz, CheckFightingMapTrainers ld hl, CoordsData_51c78 call ArePlayerCoordsInArray @@ -205,7 +205,7 @@ SilphCo7Script4: ; 51cc8 (14:5cc8) jp z, SilphCo7Text_51c0c ld a, $f0 ld [wJoyIgnore], a - SetEvent EVENT_740 + SetEvent EVENT_BEAT_SILPH_CO_RIVAL ld a, PLAYER_DIR_DOWN ld [wPlayerMovingDirection], a ld a, $9 @@ -321,7 +321,7 @@ SilphCo7Text1: ld a, [wd72e] bit 0, a ; got lapras? jr z, .givelapras - CheckEvent EVENT_78F + CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI jr nz, .savedsilph ld hl, .LaprasGuyText call PrintText @@ -365,7 +365,7 @@ SilphCo7Text1: SilphCo7Text2: TX_ASM - CheckEvent EVENT_78F + CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI jr nz, .savedsilph ld hl, .rockettext call PrintText @@ -386,7 +386,7 @@ SilphCo7Text2: SilphCo7Text3: TX_ASM - CheckEvent EVENT_78F + CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI jr nz, .savedsilph ld hl, .rockettext call PrintText @@ -407,7 +407,7 @@ SilphCo7Text3: SilphCo7Text4: TX_ASM - CheckEvent EVENT_78F + CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI jr nz, .savedsilph ld hl, .rockettext call PrintText diff --git a/scripts/silphco8.asm b/scripts/silphco8.asm index ec54ea8e..26a89355 100755 --- a/scripts/silphco8.asm +++ b/scripts/silphco8.asm @@ -16,7 +16,7 @@ SilphCo8Script_5651a: ; 5651a (15:651a) ld hl, DataTable_5653e call SilphCo8Script_56541 call SilphCo8Script_5656d - CheckEvent EVENT_758 + CheckEvent EVENT_SILPH_CO_8_UNLOCKED_DOOR ret nz ld a, $5f ld [wd09f], a @@ -66,7 +66,7 @@ SilphCo8Script_5656d: ; 5656d (15:656d) ld a, [$ffe0] and a ret z - SetEvent EVENT_758 + SetEvent EVENT_SILPH_CO_8_UNLOCKED_DOOR ret SilphCo8ScriptPointers: ; 56577 (15:6577) @@ -112,7 +112,7 @@ SilphCo8TrainerHeader2: ; 5659d (15:659d) SilphCo8Text1: ; 565aa (15:65aa) TX_ASM - CheckEvent EVENT_78F + CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI ld hl, SilphCo8Text_565c3 jr nz, .asm_565b8 ld hl, SilphCo8Text_565be diff --git a/scripts/silphco9.asm b/scripts/silphco9.asm index 2c41e019..8960c290 100755 --- a/scripts/silphco9.asm +++ b/scripts/silphco9.asm @@ -16,7 +16,7 @@ SilphCo9Script_5d7d1: ; 5d7d1 (17:57d1) ld hl, DataTable_5d82e call SilphCo9Script_5d837 call SilphCo9Script_5d863 - CheckEvent EVENT_768 + CheckEvent EVENT_SILPH_CO_9_UNLOCKED_DOOR1 jr nz, .asm_5d7f8 push af ld a, $5f @@ -25,7 +25,7 @@ SilphCo9Script_5d7d1: ; 5d7d1 (17:57d1) 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 @@ -34,7 +34,7 @@ SilphCo9Script_5d7d1: ; 5d7d1 (17:57d1) 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 @@ -43,7 +43,7 @@ SilphCo9Script_5d7d1: ; 5d7d1 (17:57d1) 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 @@ -90,28 +90,28 @@ SilphCo9Script_5d837: ; 5d837 (17:5837) ret SilphCo9Script_5d863: ; 5d863 (17:5863) - EventFlagAddress hl, EVENT_768 + EventFlagAddress hl, EVENT_SILPH_CO_9_UNLOCKED_DOOR1 ld a, [$ffe0] and a ret z cp $1 jr nz, .next1 - SetEventReuseHL EVENT_768 + SetEventReuseHL EVENT_SILPH_CO_9_UNLOCKED_DOOR1 ret .next1 cp $2 jr nz, .next2 - SetEventAfterBranchReuseHL EVENT_769, EVENT_768 + SetEventAfterBranchReuseHL EVENT_SILPH_CO_9_UNLOCKED_DOOR2, EVENT_SILPH_CO_9_UNLOCKED_DOOR1 ret .next2 cp $3 jr nz, .next3 - SetEventAfterBranchReuseHL EVENT_76A, EVENT_768 + SetEventAfterBranchReuseHL EVENT_SILPH_CO_9_UNLOCKED_DOOR3, EVENT_SILPH_CO_9_UNLOCKED_DOOR1 ret .next3 cp $4 ret nz - SetEventAfterBranchReuseHL EVENT_76B, EVENT_768 + SetEventAfterBranchReuseHL EVENT_SILPH_CO_9_UNLOCKED_DOOR4, EVENT_SILPH_CO_9_UNLOCKED_DOOR1 ret SilphCo9ScriptPointers: ; 5d885 (17:5885) @@ -157,7 +157,7 @@ SilphCo9TrainerHeader2: ; 5d8ab (17:58ab) SilphCo9Text1: ; 5d8b8 (17:58b8) TX_ASM - CheckEvent EVENT_78F + CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI jr nz, .asm_5d8dc ld hl, SilphCo9Text_5d8e5 call PrintText diff --git a/scripts/ssanne7.asm b/scripts/ssanne7.asm index a47cc069..a445ad46 100755 --- a/scripts/ssanne7.asm +++ b/scripts/ssanne7.asm @@ -3,7 +3,7 @@ SSAnne7Script: ; 61895 (18:5895) jp EnableAutoTextBoxDrawing SSAnne7Script_6189b: ; 6189b (18:589b) - CheckEvent EVENT_5E1 + CheckEvent EVENT_RUBBED_CAPTAINS_BACK ret nz ld hl, wd72d set 5, [hl] @@ -16,7 +16,7 @@ SSAnne7TextPointers: ; 618a7 (18:58a7) SSAnne7Text1: ; 618ad (18:58ad) TX_ASM - CheckEvent EVENT_5E0 + CheckEvent EVENT_GOT_HM01 jr nz, .asm_797c4 ld hl, SSAnne7RubText call PrintText @@ -27,7 +27,7 @@ SSAnne7Text1: ; 618ad (18:58ad) jr nc, .BagFull ld hl, ReceivedHM01Text call PrintText - SetEvent EVENT_5E0 + SetEvent EVENT_GOT_HM01 jr .asm_0faf5 .BagFull ld hl, HM01NoRoomText @@ -62,7 +62,7 @@ SSAnne7RubText: ; 618ec (18:58ec) cp MUSIC_PKMN_HEALED jr z, .asm_61910 call PlayDefaultMusic - SetEvent EVENT_5E1 + SetEvent EVENT_RUBBED_CAPTAINS_BACK ld hl, wd72d res 5, [hl] jp TextScriptEnd diff --git a/scripts/vermilioncity.asm b/scripts/vermilioncity.asm index 0d6ccbee..7448e8f9 100755 --- a/scripts/vermilioncity.asm +++ b/scripts/vermilioncity.asm @@ -23,8 +23,8 @@ VermilionCityScript_197c0: ; 197c0 (6:57c0) VermilionCityScript_197cb: ; 197cb (6:57cb) CheckEventHL EVENT_SS_ANNE_LEFT ret z - CheckEventReuseHL EVENT_5E3 - SetEventReuseHL EVENT_5E3 + 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 diff --git a/scripts/vermiliondock.asm b/scripts/vermiliondock.asm index 20288102..a65b3603 100755 --- a/scripts/vermiliondock.asm +++ b/scripts/vermiliondock.asm @@ -1,20 +1,20 @@ VermilionDockScript: ; 1db52 (7:5b52) call EnableAutoTextBoxDrawing - CheckEventHL EVENT_5E4 + CheckEventHL EVENT_STARTED_WALKING_OUT_OF_DOCK jr nz, .asm_1db8d - CheckEventReuseHL EVENT_5E0 + CheckEventReuseHL EVENT_GOT_HM01 ret z ld a, [wDestinationWarpID] cp $1 ret nz CheckEventReuseHL EVENT_SS_ANNE_LEFT jp z, VermilionDock_1db9b - SetEventReuseHL EVENT_5E4 + 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 @@ -27,13 +27,13 @@ VermilionDockScript: ; 1db52 (7:5b52) ld [wJoyIgnore], a ret .asm_1db8d - CheckEventAfterBranchReuseHL EVENT_5E5, EVENT_5E4 + CheckEventAfterBranchReuseHL EVENT_WALKED_OUT_OF_DOCK, EVENT_STARTED_WALKING_OUT_OF_DOCK ret nz ld a, [wSimulatedJoypadStatesIndex] and a ret nz ld [wJoyIgnore], a - SetEventReuseHL EVENT_5E5 + SetEventReuseHL EVENT_WALKED_OUT_OF_DOCK ret VermilionDock_1db9b: ; 1db9b (7:5b9b) diff --git a/scripts/victoryroad1.asm b/scripts/victoryroad1.asm index e8b90e05..91e20ad3 100755 --- a/scripts/victoryroad1.asm +++ b/scripts/victoryroad1.asm @@ -11,7 +11,7 @@ VictoryRoad1Script: ; 5da0a (17:5a0a) ld [W_VICTORYROAD1CURSCRIPT], a ret .next - CheckEvent EVENT_917 + CheckEvent EVENT_VICTORY_ROAD_1_BOULDER_ON_SWITCH ret z ld a, $1d ld [wd09f], a @@ -24,14 +24,14 @@ VictoryRoad1ScriptPointers: ; 5da3a (17:5a3a) dw EndTrainerBattle VictoryRoad1Script0: ; 5da40 (17:5a40) - CheckEvent EVENT_917 + CheckEvent EVENT_VICTORY_ROAD_1_BOULDER_ON_SWITCH jp nz, CheckFightingMapTrainers ld hl, CoordsData_5da5c call CheckBoulderCoords jp nc, CheckFightingMapTrainers ld hl, wd126 set 5, [hl] - SetEvent EVENT_917 + SetEvent EVENT_VICTORY_ROAD_1_BOULDER_ON_SWITCH ret CoordsData_5da5c: ; 5da5c (17:5a5c) diff --git a/scripts/victoryroad2.asm b/scripts/victoryroad2.asm index 46755c46..b7aa40b5 100755 --- a/scripts/victoryroad2.asm +++ b/scripts/victoryroad2.asm @@ -16,10 +16,10 @@ VictoryRoad2Script: ; 5179d (14:579d) ret VictoryRoad2Script_517c4: ; 517c4 (14:57c4) - ResetEvent EVENT_917 + ResetEvent EVENT_VICTORY_ROAD_1_BOULDER_ON_SWITCH VictoryRoad2Script_517c9: ; 517c9 (14:57c9) - CheckEvent EVENT_538 + CheckEvent EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1 jr z, .asm_517da push af ld a, $15 @@ -46,17 +46,17 @@ VictoryRoad2Script0: ; 517f1 (14:57f1) ld hl, CoordsData_51816 call CheckBoulderCoords jp nc, CheckFightingMapTrainers - EventFlagAddress hl, EVENT_538 + EventFlagAddress hl, EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1 ld a, [wCoordIndex] cp $2 jr z, .asm_5180b - CheckEventReuseHL EVENT_538 - SetEventReuseHL EVENT_538 + CheckEventReuseHL EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1 + SetEventReuseHL EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1 ret nz jr .asm_51810 .asm_5180b - CheckEventAfterBranchReuseHL EVENT_53F, EVENT_538 - SetEventReuseHL EVENT_53F + 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 diff --git a/scripts/victoryroad3.asm b/scripts/victoryroad3.asm index bbb64272..2984e4ae 100755 --- a/scripts/victoryroad3.asm +++ b/scripts/victoryroad3.asm @@ -13,7 +13,7 @@ VictoryRoad3Script_44996: ; 44996 (11:4996) bit 5, [hl] res 5, [hl] ret z - CheckEventHL EVENT_660 + CheckEventHL EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH1 ret z ld a, $1d ld [wd09f], a @@ -38,10 +38,10 @@ VictoryRoad3Script0: ; 449b7 (11:49b7) jr nz, .asm_449dc ld hl, wd126 set 5, [hl] - SetEvent EVENT_660 + SetEvent EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH1 ret .asm_449dc - CheckAndSetEvent EVENT_666 + CheckAndSetEvent EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH2 jr nz, .asm_449fe ld a, HS_VICTORY_ROAD_3_BOULDER ld [wcc4d], a diff --git a/scripts/viridiancity.asm b/scripts/viridiancity.asm index 2d55cc44..7cdf5ad8 100755 --- a/scripts/viridiancity.asm +++ b/scripts/viridiancity.asm @@ -15,12 +15,12 @@ ViridianCityScript0: ; 19005 (6:5005) jp ViridianCityScript_1903d ViridianCityScript_1900b: ; 1900b (6:500b) - CheckEvent EVENT_028 + CheckEvent EVENT_VIRIDIAN_GYM_OPEN ret nz ld a, [W_OBTAINEDBADGES] cp %01111111 jr nz, .asm_1901e - SetEvent EVENT_028 + SetEvent EVENT_VIRIDIAN_GYM_OPEN ret .asm_1901e ld a, [W_YCOORD] @@ -231,7 +231,7 @@ ViridianCityText_19191: ; 19191 (6:5191) ViridianCityText6: ; 19196 (6:5196) TX_ASM - CheckEvent EVENT_029 + CheckEvent EVENT_GOT_TM42 jr nz, .asm_4e5a0 ld hl, ViridianCityText_191ca call PrintText @@ -240,7 +240,7 @@ ViridianCityText6: ; 19196 (6:5196) jr nc, .BagFull ld hl, ReceivedTM42Text call PrintText - SetEvent EVENT_029 + SetEvent EVENT_GOT_TM42 jr .asm_3c73c .BagFull ld hl, TM42NoRoomText diff --git a/scripts/viridiangym.asm b/scripts/viridiangym.asm index 1dd736cf..2124d965 100755 --- a/scripts/viridiangym.asm +++ b/scripts/viridiangym.asm @@ -165,7 +165,7 @@ ViridianGymScript3_74995: ; 74995 (1d:4995) ld a, HS_ROUTE_22_RIVAL_2 ld [wcc4d], a predef ShowObject - SetEvents EVENT_521, EVENT_527 + SetEvents EVENT_2ND_ROUTE22_RIVAL_BATTLE, EVENT_ROUTE22_RIVAL_WANTS_FIGHT jp ViridianGymScript_748d6 ViridianGymTextPointers: ; 749ec (1d:49ec) diff --git a/scripts/viridianmart.asm b/scripts/viridianmart.asm index 7008ba5b..986ac8f1 100755 --- a/scripts/viridianmart.asm +++ b/scripts/viridianmart.asm @@ -6,7 +6,7 @@ ViridianMartScript: ; 1d46e (7:546e) jp CallFunctionInTable ViridianMartScript_1d47d: ; 1d47d (7:547d) - CheckEvent EVENT_038 + CheckEvent EVENT_OAK_GOT_PARCEL jr nz, .asm_1d489 ld hl, ViridianMartTextPointers jr .asm_1d48c @@ -54,7 +54,7 @@ ViridianMartScript1: ; 1d4c0 (7:54c0) call DisplayTextID ld bc, (OAKS_PARCEL << 8) + 1 call GiveItem - SetEvent EVENT_039 + SetEvent EVENT_GOT_OAKS_PARCEL ld a, $2 ld [W_VIRIDIANMARKETCURSCRIPT], a ; fallthrough -- cgit v1.3.1-sl0p From 2b018159997e3b580efd114ff4e3548a0de3cbc5 Mon Sep 17 00:00:00 2001 From: YamaArashi Date: Sat, 8 Aug 2015 22:32:44 -0700 Subject: commented audio code --- audio.asm | 32 +- audio/engine_1.asm | 1277 ++++++++++++++++++---------------- audio/engine_2.asm | 540 +++++++------- audio/engine_3.asm | 532 +++++++------- constants/hardware_constants.asm | 1 - constants/music_constants.asm | 39 ++ engine/battle/animations.asm | 18 +- engine/battle/common_text.asm | 4 +- engine/battle/core.asm | 16 +- engine/battle/end_of_battle.asm | 2 +- engine/cable_club.asm | 16 +- engine/evolution.asm | 6 +- engine/hall_of_fame.asm | 8 +- engine/hidden_object_functions7.asm | 6 +- engine/intro.asm | 6 +- engine/items/items.asm | 8 +- engine/menu/pokedex.asm | 4 +- engine/menu/status_screen.asm | 4 +- engine/oak_speech.asm | 10 +- engine/overworld/elevator.asm | 2 +- engine/overworld/healing_machine.asm | 40 +- engine/overworld/npc_movement.asm | 12 +- engine/overworld/pokecenter.asm | 12 +- engine/slot_machine.asm | 4 +- engine/titlescreen.asm | 6 +- home.asm | 52 +- home/audio.asm | 233 ++++--- home/init.asm | 14 +- home/overworld.asm | 22 +- home/vblank.asm | 12 +- hram.asm | 4 +- scripts/ceruleancity.asm | 4 +- scripts/oakslab.asm | 4 +- scripts/pewterpokecenter.asm | 4 +- scripts/pokemontower2.asm | 4 +- scripts/redshouse1f.asm | 8 +- scripts/route22.asm | 10 +- scripts/silphco7.asm | 4 +- scripts/ssanne2.asm | 4 +- scripts/ssanne7.asm | 12 +- scripts/vermiliondock.asm | 2 +- wram.asm | 239 +++++-- 42 files changed, 1731 insertions(+), 1506 deletions(-) (limited to 'scripts/vermiliondock.asm') diff --git a/audio.asm b/audio.asm index 286dc7ed..037145d8 100644 --- a/audio.asm +++ b/audio.asm @@ -364,10 +364,10 @@ SECTION "Audio Engine 1", ROMX, BANK[AUDIO_1] PlayBattleMusic:: ; 0x90c6 xor a - ld [wMusicHeaderPointer], a + ld [wAudioFadeOutControl], a ld [wLowHealthAlarm], a dec a - ld [wc0ee], a + ld [wNewSoundID], a call PlaySound ; stop music call DelayFrame ld c, BANK(Music_GymLeaderBattle) @@ -406,7 +406,7 @@ Music_RivalAlternateStart:: ; 0x9b47 ld c, BANK(Music_MeetRival) ld a, MUSIC_MEET_RIVAL call PlayMusic - ld hl, wc006 + ld hl, wChannelCommandPointers ld de, Music_MeetRival_branch_b1a2 call Audio1_OverwriteChannelPointer ld de, Music_MeetRival_branch_b21d @@ -425,30 +425,30 @@ Music_RivalAlternateTempo:: ; 0x9b65 ld c, BANK(Music_MeetRival) ld a, MUSIC_MEET_RIVAL call PlayMusic - ld hl, wc006 + ld hl, wChannelCommandPointers ld de, Music_MeetRival_branch_b119 jp Audio1_OverwriteChannelPointer ; applies both the alternate start and alternate tempo Music_RivalAlternateStartAndTempo:: ; 0x9b75 call Music_RivalAlternateStart - ld hl, wc006 + ld hl, wChannelCommandPointers ld de, Music_MeetRival_branch_b19b jp Audio1_OverwriteChannelPointer ; an alternate tempo for Cities1 which is used for the Hall of Fame room Music_Cities1AlternateTempo:: ; 0x9b81 - ld a, $a - ld [wcfc8], a - ld [wcfc9], a - ld a, $ff - ld [wMusicHeaderPointer], a + ld a, 10 + ld [wAudioFadeOutCounterReloadValue], a + ld [wAudioFadeOutCounter], a + ld a, $ff ; stop playing music after the fade-out is finished + ld [wAudioFadeOutControl], a ld c, 100 - call DelayFrames + call DelayFrames ; wait for the fade-out to finish ld c, BANK(Music_Cities1) ld a, MUSIC_CITIES1 call PlayMusic - ld hl, wc006 + ld hl, wChannelCommandPointers ld de, Music_Cities1_branch_aa6f jp Audio1_OverwriteChannelPointer @@ -477,7 +477,7 @@ Music_DoLowHealthAlarm:: ; 2136e (8:536e) .asm_2138a ld a, $86 - ld [wc02a], a ;disable sound channel? + ld [wChannelSoundIDs + CH4], a ;disable sound channel? ld a, [wLowHealthAlarm] and $7f ;decrement alarm timer. dec a @@ -491,7 +491,7 @@ Music_DoLowHealthAlarm:: ; 2136e (8:536e) .disableAlarm xor a ld [wLowHealthAlarm], a ;disable alarm - ld [wc02a], a ;re-enable sound channel? + ld [wChannelSoundIDs + CH4], a ;re-enable sound channel? ld de, .toneDataSilence jr .playTone @@ -542,7 +542,7 @@ Music_PokeFluteInBattle:: ; 22306 (8:6306) ld a, SFX_CAUGHT_MON call PlaySoundWaitForCurrent ; then immediately overwrtie the channel pointers - ld hl, wc00e + ld hl, wChannelCommandPointers + CH4 * 2 ld de, SFX_08_PokeFlute_Ch1 call Audio2_OverwriteChannelPointer ld de, SFX_08_PokeFlute_Ch2 @@ -572,7 +572,7 @@ PlayPokedexRatingSfx:: ; 7d13b (1f:513b) .gotSfxPointer push bc ld a, $ff - ld [wc0ee], a + ld [wNewSoundID], a call PlaySoundWaitForCurrent pop bc ld b, $0 diff --git a/audio/engine_1.asm b/audio/engine_1.asm index 9a302ef3..c729fa7e 100644 --- a/audio/engine_1.asm +++ b/audio/engine_1.asm @@ -3,29 +3,29 @@ Audio1_UpdateMusic:: ; 0x9103 ld c, CH0 .loop - ld b, $0 - ld hl, wc026 + ld b, 0 + ld hl, wChannelSoundIDs add hl, bc ld a, [hl] and a jr z, .nextChannel ld a, c cp CH4 - jr nc, .asm_912e ; if sfx channel - ld a, [wc002] + jr nc, .applyAffects ; if sfx channel + ld a, [wMuteAudioAndPauseMusic] and a - jr z, .asm_912e + jr z, .applyAffects bit 7, a jr nz, .nextChannel set 7, a - ld [wc002], a - xor a - ld [$ff25], a - ld [$ff1a], a + ld [wMuteAudioAndPauseMusic], a + xor a ; disable all channels' output + ld [rNR51], a + ld [rNR30], a ld a, $80 - ld [$ff1a], a + ld [rNR30], a jr .nextChannel -.asm_912e +.applyAffects call Audio1_ApplyMusicAffects .nextChannel ld a, c @@ -36,15 +36,9 @@ Audio1_UpdateMusic:: ; 0x9103 ; this routine checks flags for music effects currently applied ; to the channel and calls certain functions based on flags. -; known flags for wc02e: -; 0: toggleperfectpitch has been used -; 1: call has been used -; 3: a toggle used only by this routine for vibrato -; 4: pitchbend flag -; 6: dutycycle flag Audio1_ApplyMusicAffects: ; 0x9138 ld b, $0 - ld hl, wc0b6 ; delay until next note + ld hl, wChannelNoteDelayCounters ; delay until next note add hl, bc ld a, [hl] cp $1 ; if the delay is 1, play next note @@ -54,45 +48,45 @@ Audio1_ApplyMusicAffects: ; 0x9138 ld a, c cp CH4 jr nc, .startChecks ; if a sfx channel - ld hl, wc02a + ld hl, wChannelSoundIDs + CH4 add hl, bc ld a, [hl] and a jr z, .startChecks ret .startChecks - ld hl, wc02e + ld hl, wChannelFlags1 add hl, bc - bit 6, [hl] ; dutycycle + bit BIT_ROTATE_DUTY, [hl] jr z, .checkForExecuteMusic call Audio1_ApplyDutyCycle .checkForExecuteMusic - ld b, $0 - ld hl, wc036 + ld b, 0 + ld hl, wChannelFlags2 add hl, bc - bit 0, [hl] + bit BIT_EXECUTE_MUSIC, [hl] jr nz, .checkForPitchBend - ld hl, wc02e + ld hl, wChannelFlags1 add hl, bc - bit 2, [hl] - jr nz, .disablePitchBendVibrato + bit BIT_NOISE_OR_SFX, [hl] + jr nz, .skipPitchBendVibrato .checkForPitchBend - ld hl, wc02e + ld hl, wChannelFlags1 add hl, bc - bit 4, [hl] ; pitchbend + bit BIT_PITCH_BEND_ON, [hl] jr z, .checkVibratoDelay jp Audio1_ApplyPitchBend .checkVibratoDelay - ld hl, wc04e ; vibrato delay + ld hl, wChannelVibratoDelayCounters add hl, bc ld a, [hl] and a ; check if delay is over jr z, .checkForVibrato dec [hl] ; otherwise, dec delay -.disablePitchBendVibrato +.skipPitchBendVibrato ret .checkForVibrato - ld hl, wc056 ; vibrato rate + ld hl, wChannelVibratoExtents add hl, bc ld a, [hl] and a @@ -100,38 +94,40 @@ Audio1_ApplyMusicAffects: ; 0x9138 ret ; no vibrato .vibrato ld d, a - ld hl, wc05e + ld hl, wChannelVibratoRates add hl, bc ld a, [hl] and $f and a - jr z, .vibratoAlreadyDone - dec [hl] ; apply vibrato pitch change + jr z, .applyVibrato + dec [hl] ; decrement counter ret -.vibratoAlreadyDone +.applyVibrato ld a, [hl] swap [hl] or [hl] - ld [hl], a ; reset the vibrato value and start again - ld hl, wc066 + ld [hl], a ; reload the counter + ld hl, wChannelFrequencyLowBytes add hl, bc ld e, [hl] ; get note pitch - ld hl, wc02e + ld hl, wChannelFlags1 add hl, bc - bit 3, [hl] ; this is the only code that sets/resets bit three so - jr z, .unset ; it continuously alternates which path it takes - res 3, [hl] +; This is the only code that sets/resets the vibrato direction bit, so it +; continuously alternates which path it takes. + bit BIT_VIBRATO_DIRECTION, [hl] + jr z, .unset + res BIT_VIBRATO_DIRECTION, [hl] ld a, d and $f ld d, a ld a, e sub d jr nc, .noCarry - ld a, $0 + ld a, 0 .noCarry jr .done .unset - set 3, [hl] + set BIT_VIBRATO_DIRECTION, [hl] ld a, d and $f0 swap a @@ -140,8 +136,8 @@ Audio1_ApplyMusicAffects: ; 0x9138 ld a, $ff .done ld d, a - ld b, $3 - call Audio1_9838 + ld b, REG_FREQUENCY_LO + call Audio1_GetRegisterPointer ld [hl], d ret @@ -149,16 +145,18 @@ Audio1_ApplyMusicAffects: ; 0x9138 ; like tempo changes, duty changes etc. and doesn't return ; until the first note is reached Audio1_PlayNextNote: ; 0x91d0 - ld hl, wc06e +; reload the vibrato delay counter + ld hl, wChannelVibratoDelayCounterReloadValues add hl, bc ld a, [hl] - ld hl, wc04e + ld hl, wChannelVibratoDelayCounters add hl, bc ld [hl], a - ld hl, wc02e + + ld hl, wChannelFlags1 add hl, bc - res 4, [hl] - res 5, [hl] + res BIT_PITCH_BEND_ON, [hl] + res BIT_PITCH_BEND_DECREASING, [hl] call Audio1_endchannel ret @@ -167,34 +165,35 @@ Audio1_endchannel: ; 0x91e6 ld d, a cp $ff ; is this command an endchannel? jp nz, Audio1_callchannel ; no - ld b, $0 ; yes - ld hl, wc02e + ld b, 0 + ld hl, wChannelFlags1 add hl, bc - bit 1, [hl] + bit BIT_CHANNEL_CALL, [hl] jr nz, .returnFromCall ld a, c cp CH3 jr nc, .noiseOrSfxChannel - jr .asm_923f + jr .disableChannelOutput .noiseOrSfxChannel - res 2, [hl] - ld hl, wc036 + res BIT_NOISE_OR_SFX, [hl] + ld hl, wChannelFlags2 add hl, bc - res 0, [hl] + res BIT_EXECUTE_MUSIC, [hl] cp CH6 - jr nz, .notSfxChannel3 + jr nz, .skipSfxChannel3 +; restart hardware channel 3 (wave channel) output ld a, $0 - ld [$ff1a], a + ld [rNR30], a ld a, $80 - ld [$ff1a], a -.notSfxChannel3 + ld [rNR30], a +.skipSfxChannel3 jr nz, .asm_9222 - ld a, [wc003] + ld a, [wDisableChannelOutputWhenSfxEnds] and a jr z, .asm_9222 xor a - ld [wc003], a - jr .asm_923f + ld [wDisableChannelOutputWhenSfxEnds], a + jr .disableChannelOutput .asm_9222 jr .asm_9248 .returnFromCall @@ -203,10 +202,10 @@ Audio1_endchannel: ; 0x91e6 ld a, c add a ld e, a - ld hl, wc006 + ld hl, wChannelCommandPointers add hl, de push hl ; store current channel address - ld hl, wc016 + ld hl, wChannelReturnAddresses add hl, de ld e, l ld d, h @@ -217,36 +216,36 @@ Audio1_endchannel: ; 0x91e6 ld a, [de] ld [hl], a ; loads channel address to return to jp Audio1_endchannel -.asm_923f - ld hl, Unknown_9b1f +.disableChannelOutput + ld hl, Audio1_HWChannelDisableMasks add hl, bc - ld a, [$ff25] + ld a, [rNR51] and [hl] - ld [$ff25], a + ld [rNR51], a .asm_9248 - ld a, [wc02a] - cp $14 + ld a, [wChannelSoundIDs + CH4] + cp CRY_SFX_START jr nc, .asm_9251 - jr .asm_926e + jr .skipCry .asm_9251 - ld a, [wc02a] - cp $86 - jr z, .asm_926e - jr c, .asm_925c - jr .asm_926e -.asm_925c + ld a, [wChannelSoundIDs + CH4] + cp CRY_SFX_END + jr z, .skipCry + jr c, .cry + jr .skipCry +.cry ld a, c cp CH4 jr z, .asm_9265 - call Audio1_96c7 + call Audio1_GoBackOneCommandIfCry ret c .asm_9265 - ld a, [wc005] - ld [$ff24], a + ld a, [wSavedVolume] + ld [rNR50], a xor a - ld [wc005], a -.asm_926e - ld hl, wc026 + ld [wSavedVolume], a +.skipCry + ld hl, wChannelSoundIDs add hl, bc ld [hl], b ret @@ -254,7 +253,7 @@ Audio1_endchannel: ; 0x91e6 Audio1_callchannel: ; 0x9274 cp $fd ; is this command a callchannel? jp nz, Audio1_loopchannel ; no - call Audio1_GetNextMusicByte ; yes + call Audio1_GetNextMusicByte push af call Audio1_GetNextMusicByte ld d, a @@ -265,10 +264,10 @@ Audio1_callchannel: ; 0x9274 ld a, c add a ld e, a - ld hl, wc006 + ld hl, wChannelCommandPointers add hl, de push hl - ld hl, wc016 + ld hl, wChannelReturnAddresses add hl, de ld e, l ld d, h @@ -283,20 +282,20 @@ Audio1_callchannel: ; 0x9274 inc hl ld [hl], d ; overwrite current address with pointer ld b, $0 - ld hl, wc02e + ld hl, wChannelFlags1 add hl, bc - set 1, [hl] ; set the call flag + set BIT_CHANNEL_CALL, [hl] ; set the call flag jp Audio1_endchannel Audio1_loopchannel: ; 0x92a9 cp $fe ; is this command a loopchannel? jp nz, Audio1_notetype ; no - call Audio1_GetNextMusicByte ; yes + call Audio1_GetNextMusicByte ld e, a and a jr z, .infiniteLoop - ld b, $0 - ld hl, wc0be + ld b, 0 + ld hl, wChannelLoopCounters add hl, bc ld a, [hl] cp e @@ -319,7 +318,7 @@ Audio1_loopchannel: ; 0x92a9 ld a, c add a ld e, a - ld hl, wc006 + ld hl, wChannelCommandPointers add hl, de pop af ld [hli], a @@ -330,10 +329,10 @@ Audio1_notetype: ; 0x92e4 and $f0 cp $d0 ; is this command a notetype? jp nz, Audio1_toggleperfectpitch ; no - ld a, d ; yes + ld a, d and $f ld b, $0 - ld hl, wc0c6 + ld hl, wChannelNoteSpeeds add hl, bc ld [hl], a ; store low nibble as speed ld a, c @@ -345,15 +344,15 @@ Audio1_notetype: ; 0x92e4 cp CH2 jr z, .musicChannel3 cp CH6 - jr nz, .notChannel3 - ld hl, wc0e7 - jr .sfxChannel3 + jr nz, .skipChannel3 + ld hl, wSfxWaveInstrument + jr .channel3 .musicChannel3 - ld hl, wc0e6 -.sfxChannel3 + ld hl, wMusicWaveInstrument +.channel3 ld a, d and $f - ld [hl], a ; store low nibble of param as duty + ld [hl], a ; store low nibble of param as wave instrument ld a, d and $30 sla a @@ -362,9 +361,9 @@ Audio1_notetype: ; 0x92e4 ; if channel 3, store high nibble as volume ; else, store volume (high nibble) and fade (low nibble) -.notChannel3 - ld b, $0 - ld hl, wc0de +.skipChannel3 + ld b, 0 + ld hl, wChannelVolumes add hl, bc ld [hl], d .noiseChannel @@ -374,56 +373,70 @@ Audio1_toggleperfectpitch: ; 0x9323 ld a, d cp $e8 ; is this command a toggleperfectpitch? jr nz, Audio1_vibrato ; no - ld b, $0 ; yes - ld hl, wc02e + ld b, 0 + ld hl, wChannelFlags1 add hl, bc ld a, [hl] xor $1 - ld [hl], a ; flip bit 0 of wc02e + ld [hl], a ; flip bit 0 of wChannelFlags1 jp Audio1_endchannel Audio1_vibrato: ; 0x9335 cp $ea ; is this command a vibrato? jr nz, Audio1_pitchbend ; no - call Audio1_GetNextMusicByte ; yes - ld b, $0 - ld hl, wc04e + call Audio1_GetNextMusicByte + ld b, 0 + ld hl, wChannelVibratoDelayCounters add hl, bc ld [hl], a ; store delay - ld hl, wc06e + ld hl, wChannelVibratoDelayCounterReloadValues add hl, bc ld [hl], a ; store delay call Audio1_GetNextMusicByte ld d, a + +; The high nybble of the command byte is the extent of the vibrato. +; Let n be the extent. +; The upper nybble of the channel's byte in the wChannelVibratoExtents +; array will store the extent above the note: (n / 2) + (n % 2). +; The lower nybble will store the extent below the note: (n / 2). +; These two values add to the total extent, n. and $f0 swap a - ld b, $0 - ld hl, wc056 + ld b, 0 + ld hl, wChannelVibratoExtents add hl, bc srl a ld e, a adc b swap a or e - ld [hl], a ; store rate as both high and low nibbles + ld [hl], a + +; The low nybble of the command byte is the rate of the vibrato. +; The high and low nybbles of the channel's byte in the wChannelVibratoRates +; array are both initialised to this value because the high nybble is the +; counter reload value and the low nybble is the counter itself, which should +; start at its value upon reload. ld a, d and $f ld d, a - ld hl, wc05e + ld hl, wChannelVibratoRates add hl, bc swap a or d - ld [hl], a ; store depth as both high and low nibbles + ld [hl], a + jp Audio1_endchannel Audio1_pitchbend: ; 0x936d cp $eb ; is this command a pitchbend? jr nz, Audio1_duty ; no - call Audio1_GetNextMusicByte ; yes - ld b, $0 - ld hl, wc076 + call Audio1_GetNextMusicByte + ld b, 0 + ld hl, wChannelPitchBendLengthModifiers add hl, bc - ld [hl], a ; store first param + ld [hl], a call Audio1_GetNextMusicByte ld d, a and $f0 @@ -431,18 +444,18 @@ Audio1_pitchbend: ; 0x936d ld b, a ld a, d and $f - call Audio1_9858 - ld b, $0 - ld hl, wc0a6 + call Audio1_CalculateFrequency + ld b, 0 + ld hl, wChannelPitchBendTargetFrequencyHighBytes add hl, bc - ld [hl], d ; store unknown part of second param - ld hl, wc0ae + ld [hl], d + ld hl, wChannelPitchBendTargetFrequencyLowBytes add hl, bc - ld [hl], e ; store unknown part of second param - ld b, $0 - ld hl, wc02e + ld [hl], e + ld b, 0 + ld hl, wChannelFlags1 add hl, bc - set 4, [hl] ; set pitchbend flag + set BIT_PITCH_BEND_ON, [hl] call Audio1_GetNextMusicByte ld d, a jp Audio1_notelength @@ -450,12 +463,12 @@ Audio1_pitchbend: ; 0x936d Audio1_duty: ; 0x93a5 cp $ec ; is this command a duty? jr nz, Audio1_tempo ; no - call Audio1_GetNextMusicByte ; yes + call Audio1_GetNextMusicByte rrca rrca and $c0 - ld b, $0 - ld hl, wc03e + ld b, 0 + ld hl, wChannelDuties add hl, bc ld [hl], a ; store duty jp Audio1_endchannel @@ -463,96 +476,96 @@ Audio1_duty: ; 0x93a5 Audio1_tempo: ; 0x93ba cp $ed ; is this command a tempo? jr nz, Audio1_stereopanning ; no - ld a, c ; yes + ld a, c cp CH4 jr nc, .sfxChannel call Audio1_GetNextMusicByte - ld [wc0e8], a ; store first param + ld [wMusicTempo], a ; store first param call Audio1_GetNextMusicByte - ld [wc0e9], a ; store second param + ld [wMusicTempo + 1], a ; store second param xor a - ld [wc0ce], a ; clear RAM - ld [wc0cf], a - ld [wc0d0], a - ld [wc0d1], a + ld [wChannelNoteDelayCountersFractionalPart], a ; clear RAM + ld [wChannelNoteDelayCountersFractionalPart + 1], a + ld [wChannelNoteDelayCountersFractionalPart + 2], a + ld [wChannelNoteDelayCountersFractionalPart + 3], a jr .musicChannelDone .sfxChannel call Audio1_GetNextMusicByte - ld [wc0ea], a ; store first param + ld [wSfxTempo], a ; store first param call Audio1_GetNextMusicByte - ld [wc0eb], a ; store second param + ld [wSfxTempo + 1], a ; store second param xor a - ld [wc0d2], a ; clear RAM - ld [wc0d3], a - ld [wc0d4], a - ld [wc0d5], a + ld [wChannelNoteDelayCountersFractionalPart + 4], a ; clear RAM + ld [wChannelNoteDelayCountersFractionalPart + 5], a + ld [wChannelNoteDelayCountersFractionalPart + 6], a + ld [wChannelNoteDelayCountersFractionalPart + 7], a .musicChannelDone jp Audio1_endchannel Audio1_stereopanning: ; 0x93fa cp $ee ; is this command a stereopanning? jr nz, Audio1_unknownmusic0xef ; no - call Audio1_GetNextMusicByte ; yes - ld [wc004], a ; store panning + call Audio1_GetNextMusicByte + ld [wStereoPanning], a ; store panning jp Audio1_endchannel ; this appears to never be used Audio1_unknownmusic0xef: ; 0x9407 cp $ef ; is this command an unknownmusic0xef? jr nz, Audio1_dutycycle ; no - call Audio1_GetNextMusicByte ; yes + call Audio1_GetNextMusicByte push bc - call Audio1_9876 + call Audio1_PlaySound pop bc - ld a, [wc003] + ld a, [wDisableChannelOutputWhenSfxEnds] and a jr nz, .skip - ld a, [wc02d] - ld [wc003], a + ld a, [wChannelSoundIDs + CH7] + ld [wDisableChannelOutputWhenSfxEnds], a xor a - ld [wc02d], a + ld [wChannelSoundIDs + CH7], a .skip jp Audio1_endchannel Audio1_dutycycle: ; 0x9426 cp $fc ; is this command a dutycycle? jr nz, Audio1_volume ; no - call Audio1_GetNextMusicByte ; yes - ld b, $0 - ld hl, wc046 + call Audio1_GetNextMusicByte + ld b, 0 + ld hl, wChannelDutyCycles add hl, bc ld [hl], a ; store full cycle and $c0 - ld hl, wc03e + ld hl, wChannelDuties add hl, bc ld [hl], a ; store first duty - ld hl, wc02e + ld hl, wChannelFlags1 add hl, bc - set 6, [hl] ; set dutycycle flag + set BIT_ROTATE_DUTY, [hl] jp Audio1_endchannel Audio1_volume: ; 0x9444 cp $f0 ; is this command a volume? jr nz, Audio1_executemusic ; no - call Audio1_GetNextMusicByte ; yes - ld [$ff24], a ; store volume + call Audio1_GetNextMusicByte + ld [rNR50], a ; store volume jp Audio1_endchannel Audio1_executemusic: ; 0x9450 cp $f8 ; is this command an executemusic? jr nz, Audio1_octave ; no - ld b, $0 ; yes - ld hl, wc036 + ld b, $0 + ld hl, wChannelFlags2 add hl, bc - set 0, [hl] + set BIT_EXECUTE_MUSIC, [hl] jp Audio1_endchannel Audio1_octave: ; 0x945f and $f0 cp $e0 ; is this command an octave? jr nz, Audio1_unknownsfx0x20 ; no - ld hl, wc0d6 ; yes - ld b, $0 + ld hl, wChannelOctaves + ld b, 0 add hl, bc ld a, d and $f @@ -561,47 +574,54 @@ Audio1_octave: ; 0x945f Audio1_unknownsfx0x20: ; 0x9472 cp $20 ; is this command an unknownsfx0x20? - jr nz, Audio1_unknownsfx0x10 ; no + jr nz, Audio1_unknownsfx0x10 ld a, c cp CH3 ; is this a noise or sfx channel? jr c, Audio1_unknownsfx0x10 ; no - ld b, $0 - ld hl, wc036 + ld b, 0 + ld hl, wChannelFlags2 add hl, bc - bit 0, [hl] - jr nz, Audio1_unknownsfx0x10 ; no - call Audio1_notelength ; yes + bit BIT_EXECUTE_MUSIC, [hl] ; is executemusic being used? + jr nz, Audio1_unknownsfx0x10 ; yes + call Audio1_notelength + +; This code seems to do the same thing as what Audio1_ApplyDutyAndSoundLength +; does below. ld d, a - ld b, $0 - ld hl, wc03e + ld b, 0 + ld hl, wChannelDuties add hl, bc ld a, [hl] or d ld d, a - ld b, $1 - call Audio1_9838 + ld b, REG_DUTY_SOUND_LEN + call Audio1_GetRegisterPointer ld [hl], d + call Audio1_GetNextMusicByte ld d, a - ld b, $2 - call Audio1_9838 + ld b, REG_VOLUME_ENVELOPE + call Audio1_GetRegisterPointer ld [hl], d call Audio1_GetNextMusicByte ld e, a ld a, c cp CH7 - ld a, $0 - jr z, .sfxNoiseChannel ; only two params for noise channel + ld a, 0 + jr z, .skip +; Channels 1 through 3 have 2 registers that control frequency, but the noise +; channel a single register (the polynomial counter) that controls frequency, +; so this command has one less byte on the noise channel. push de call Audio1_GetNextMusicByte pop de -.sfxNoiseChannel +.skip ld d, a push de - call Audio1_9629 - call Audio1_95f8 + call Audio1_ApplyDutyAndSoundLength + call Audio1_EnableChannelOutput pop de - call Audio1_964b + call Audio1_ApplyWavePatternAndFrequency ret Audio1_unknownsfx0x10: @@ -612,12 +632,12 @@ Audio1_unknownsfx0x10: cp $10 ; is this command a unknownsfx0x10? jr nz, Audio1_note ; no ld b, $0 - ld hl, wc036 + ld hl, wChannelFlags2 add hl, bc - bit 0, [hl] + bit BIT_EXECUTE_MUSIC, [hl] jr nz, Audio1_note ; no - call Audio1_GetNextMusicByte ; yes - ld [$ff10], a + call Audio1_GetNextMusicByte + ld [rNR10], a jp Audio1_endchannel Audio1_note: @@ -627,7 +647,7 @@ Audio1_note: ld a, d and $f0 cp $b0 ; is this command a dnote? - jr z, Audio1_dnote ; yes + jr z, Audio1_dnote jr nc, Audio1_notelength ; no swap a ld b, a @@ -647,11 +667,11 @@ Audio1_dnote: call Audio1_GetNextMusicByte ; get dnote instrument asm_94fd ld d, a - ld a, [wc003] + ld a, [wDisableChannelOutputWhenSfxEnds] and a jr nz, .asm_9508 ld a, d - call Audio1_9876 + call Audio1_PlaySound .asm_9508 pop bc pop de @@ -661,20 +681,20 @@ Audio1_notelength: ; 0x950a push af and $f inc a - ld b, $0 + ld b, 0 ld e, a ; store note length (in 16ths) ld d, b - ld hl, wc0c6 + ld hl, wChannelNoteSpeeds add hl, bc ld a, [hl] ld l, b - call Audio1_9847 + call Audio1_MultiplyAdd ld a, c cp CH4 jr nc, .sfxChannel - ld a, [wc0e8] + ld a, [wMusicTempo] ld d, a - ld a, [wc0e9] + ld a, [wMusicTempo + 1] ld e, a jr .skip .sfxChannel @@ -682,34 +702,34 @@ Audio1_notelength: ; 0x950a ld e, $0 cp CH7 jr z, .skip ; if noise channel - call Audio1_9693 - ld a, [wc0ea] + call Audio1_SetSfxTempo + ld a, [wSfxTempo] ld d, a - ld a, [wc0eb] + ld a, [wSfxTempo + 1] ld e, a .skip - ld a, l - ld b, $0 - ld hl, wc0ce + ld a, l ; a = note_length * note_speed + ld b, 0 + ld hl, wChannelNoteDelayCountersFractionalPart add hl, bc ld l, [hl] - call Audio1_9847 + call Audio1_MultiplyAdd ld e, l - ld d, h - ld hl, wc0ce + ld d, h ; de = note_delay_frac_part + (note_length * note_speed * tempo) + ld hl, wChannelNoteDelayCountersFractionalPart add hl, bc ld [hl], e ld a, d - ld hl, wc0b6 + ld hl, wChannelNoteDelayCounters add hl, bc ld [hl], a - ld hl, wc036 + ld hl, wChannelFlags2 add hl, bc - bit 0, [hl] + bit BIT_EXECUTE_MUSIC, [hl] jr nz, Audio1_notepitch - ld hl, wc02e + ld hl, wChannelFlags1 add hl, bc - bit 2, [hl] + bit BIT_NOISE_OR_SFX, [hl] jr z, Audio1_notepitch pop hl ret @@ -721,177 +741,183 @@ Audio1_notepitch: ; 0x9568 jr nz, .notRest ld a, c cp CH4 - jr nc, .sfxChannel - ld hl, wc02a + jr nc, .next +; If this isn't an SFX channel, try the corresponding SFX channel. + ld hl, wChannelSoundIDs + CH4 add hl, bc ld a, [hl] and a jr nz, .done ; fall through -.sfxChannel +.next ld a, c cp CH2 - jr z, .musicChannel3 + jr z, .channel3 cp CH6 - jr nz, .notSfxChannel3 -.musicChannel3 - ld b, $0 - ld hl, Unknown_9b1f + jr nz, .notChannel3 +.channel3 + ld b, 0 + ld hl, Audio1_HWChannelDisableMasks add hl, bc - ld a, [$ff25] + ld a, [rNR51] and [hl] - ld [$ff25], a + ld [rNR51], a ; disable hardware channel 3's output jr .done -.notSfxChannel3 - ld b, $2 - call Audio1_9838 - ld a, $8 +.notChannel3 + ld b, REG_VOLUME_ENVELOPE + call Audio1_GetRegisterPointer + ld a, $8 ; fade in sound ld [hli], a inc hl - ld a, $80 + ld a, $80 ; restart sound ld [hl], a .done ret .notRest swap a - ld b, $0 - ld hl, wc0d6 + ld b, 0 + ld hl, wChannelOctaves add hl, bc ld b, [hl] - call Audio1_9858 - ld b, $0 - ld hl, wc02e - add hl, bc - bit 4, [hl] - jr z, .asm_95b8 - call Audio1_978f -.asm_95b8 + call Audio1_CalculateFrequency + ld b, 0 + ld hl, wChannelFlags1 + add hl, bc + bit BIT_PITCH_BEND_ON, [hl] + jr z, .skipPitchBend + call Audio1_InitPitchBendVars +.skipPitchBend push de ld a, c cp CH4 - jr nc, .skip ; if sfx channel - ld hl, wc02a - ld d, $0 + jr nc, .sfxChannel ; if sfx channel +; If this isn't an SFX channel, try the corresponding SFX channel. + ld hl, wChannelSoundIDs + CH4 + ld d, 0 ld e, a add hl, de ld a, [hl] and a - jr nz, .asm_95cb - jr .skip -.asm_95cb + jr nz, .noSfx + jr .sfxChannel +.noSfx pop de ret -.skip - ld b, $0 - ld hl, wc0de +.sfxChannel + ld b, 0 + ld hl, wChannelVolumes add hl, bc ld d, [hl] - ld b, $2 - call Audio1_9838 + ld b, REG_VOLUME_ENVELOPE + call Audio1_GetRegisterPointer ld [hl], d - call Audio1_9629 - call Audio1_95f8 + call Audio1_ApplyDutyAndSoundLength + call Audio1_EnableChannelOutput pop de ld b, $0 - ld hl, wc02e + ld hl, wChannelFlags1 add hl, bc - bit 0, [hl] ; has toggleperfectpitch been used? - jr z, .skip2 - inc e ; if yes, increment the pitch by 1 - jr nc, .skip2 + bit BIT_PERFECT_PITCH, [hl] ; has toggleperfectpitch been used? + jr z, .skipFrequencyInc + inc e ; if yes, increment the frequency by 1 + jr nc, .skipFrequencyInc inc d -.skip2 - ld hl, wc066 +.skipFrequencyInc + ld hl, wChannelFrequencyLowBytes add hl, bc ld [hl], e - call Audio1_964b + call Audio1_ApplyWavePatternAndFrequency ret -Audio1_95f8: ; 0x95f8 - ld b, $0 - ld hl, Unknown_9b27 +Audio1_EnableChannelOutput: ; 0x95f8 + ld b, 0 + ld hl, Audio1_HWChannelEnableMasks add hl, bc - ld a, [$ff25] - or [hl] + ld a, [rNR51] + or [hl] ; set this channel's bits ld d, a ld a, c cp CH7 - jr z, .sfxNoiseChannel + jr z, .noiseChannelOrNoSfx cp CH4 jr nc, .skip ; if sfx channel - ld hl, wc02a +; If this isn't an SFX channel, try the corresponding SFX channel. + ld hl, wChannelSoundIDs + CH4 add hl, bc ld a, [hl] and a jr nz, .skip -.sfxNoiseChannel - ld a, [wc004] - ld hl, Unknown_9b27 +.noiseChannelOrNoSfx +; If this is the SFX noise channel or a music channel whose corresponding +; SFX channel is off, apply stereo panning. + ld a, [wStereoPanning] + ld hl, Audio1_HWChannelEnableMasks add hl, bc and [hl] ld d, a - ld a, [$ff25] - ld hl, Unknown_9b1f + ld a, [rNR51] + ld hl, Audio1_HWChannelDisableMasks add hl, bc - and [hl] - or d + and [hl] ; reset this channel's output bits + or d ; set this channel's output bits that enabled in [wStereoPanning] ld d, a .skip ld a, d - ld [$ff25], a + ld [rNR51], a ret -Audio1_9629: ; 0x9629 - ld b, $0 - ld hl, wc0b6 +Audio1_ApplyDutyAndSoundLength: ; 0x9629 + ld b, 0 + ld hl, wChannelNoteDelayCounters ; use the note delay as sound length add hl, bc ld d, [hl] ld a, c cp CH2 - jr z, .channel3 ; if music channel 3 + jr z, .skipDuty ; if music channel 3 cp CH6 - jr z, .channel3 ; if sfx channel 3 + jr z, .skipDuty ; if sfx channel 3 +; include duty (except on channel 3 which doesn't have it) ld a, d and $3f ld d, a - ld hl, wc03e + ld hl, wChannelDuties add hl, bc ld a, [hl] or d ld d, a -.channel3 - ld b, $1 - call Audio1_9838 +.skipDuty + ld b, REG_DUTY_SOUND_LEN + call Audio1_GetRegisterPointer ld [hl], d ret -Audio1_964b: ; 0x964b +Audio1_ApplyWavePatternAndFrequency: ; 0x964b ld a, c cp CH2 jr z, .channel3 cp CH6 - jr nz, .notSfxChannel3 + jr nz, .notChannel3 ; fall through .channel3 push de - ld de, wc0e6 + ld de, wMusicWaveInstrument cp CH2 - jr z, .musicChannel3 - ld de, wc0e7 -.musicChannel3 + jr z, .next + ld de, wSfxWaveInstrument +.next ld a, [de] add a - ld d, $0 + ld d, 0 ld e, a ld hl, Audio1_WavePointers add hl, de ld e, [hl] inc hl ld d, [hl] - ld hl, $ff30 + ld hl, $ff30 ; wave pattern RAM ld b, $f - ld a, $0 - ld [$ff1a], a + ld a, $0 ; stop hardware channel 3 + ld [rNR30], a .loop ld a, [de] inc de @@ -900,152 +926,155 @@ Audio1_964b: ; 0x964b dec b and a jr nz, .loop - ld a, $80 - ld [$ff1a], a + ld a, $80 ; start hardware channel 3 + ld [rNR30], a pop de -.notSfxChannel3 +.notChannel3 ld a, d - or $80 - and $c7 + or $80 ; use counter mode (i.e. disable output when the counter reaches 0) + and $c7 ; zero the unused bits in the register ld d, a - ld b, $3 - call Audio1_9838 - ld [hl], e + ld b, REG_FREQUENCY_LO + call Audio1_GetRegisterPointer + ld [hl], e ; store frequency low byte inc hl - ld [hl], d - call Audio1_96b5 + ld [hl], d ; store frequency high byte + call Audio1_ApplyFrequencyModifier ret -Audio1_9693: ; 0x9693 - call Audio1_96e5 - jr nc, .asm_96ab - ld d, $0 - ld a, [wc0f2] +Audio1_SetSfxTempo: ; 0x9693 + call Audio1_IsCry + jr nc, .notCry + ld d, 0 + ld a, [wTempoModifier] add $80 - jr nc, .asm_96a2 + jr nc, .next inc d -.asm_96a2 - ld [wc0eb], a +.next + ld [wSfxTempo + 1], a ld a, d - ld [wc0ea], a - jr .asm_96b4 -.asm_96ab + ld [wSfxTempo], a + jr .done +.notCry xor a - ld [wc0eb], a + ld [wSfxTempo + 1], a ld a, $1 - ld [wc0ea], a -.asm_96b4 + ld [wSfxTempo], a +.done ret -Audio1_96b5: ; 0x96b5 - call Audio1_96e5 - jr nc, .asm_96c6 - ld a, [wc0f1] +Audio1_ApplyFrequencyModifier: ; 0x96b5 + call Audio1_IsCry + jr nc, .done +; if playing a cry, add the cry's frequency modifier + ld a, [wFrequencyModifier] add e - jr nc, .asm_96c1 + jr nc, .noCarry inc d -.asm_96c1 +.noCarry dec hl ld e, a ld [hl], e inc hl ld [hl], d -.asm_96c6 +.done ret -Audio1_96c7: ; 0x96c7 - call Audio1_96e5 - jr nc, .asm_96e2 - ld hl, wc006 +Audio1_GoBackOneCommandIfCry: ; 0x96c7 + call Audio1_IsCry + jr nc, .done + ld hl, wChannelCommandPointers ld e, c - ld d, $0 + ld d, 0 sla e rl d add hl, de ld a, [hl] - sub $1 + sub 1 ld [hl], a inc hl ld a, [hl] - sbc $0 + sbc 0 ld [hl], a scf ret -.asm_96e2 +.done scf ccf ret -Audio1_96e5: ; 0x96e5 - ld a, [wc02a] - cp $14 - jr nc, .asm_96ee - jr .asm_96f4 -.asm_96ee - cp $86 - jr z, .asm_96f4 - jr c, .asm_96f7 -.asm_96f4 +Audio1_IsCry: ; 0x96e5 +; Returns whether the currently playing audio is a cry in carry. + ld a, [wChannelSoundIDs + CH4] + cp CRY_SFX_START + jr nc, .next + jr .no +.next + cp CRY_SFX_END + jr z, .no + jr c, .yes +.no scf ccf ret -.asm_96f7 +.yes scf ret Audio1_ApplyPitchBend: ; 0x96f9 - ld hl, wc02e + ld hl, wChannelFlags1 add hl, bc - bit 5, [hl] - jp nz, .asm_9740 - ld hl, wc09e + bit BIT_PITCH_BEND_DECREASING, [hl] + jp nz, .frequencyDecreasing +; frequency increasing + ld hl, wChannelPitchBendCurrentFrequencyLowBytes add hl, bc ld e, [hl] - ld hl, wc096 + ld hl, wChannelPitchBendCurrentFrequencyHighBytes add hl, bc ld d, [hl] - ld hl, wc07e + ld hl, wChannelPitchBendFrequencySteps add hl, bc ld l, [hl] ld h, b add hl, de ld d, h ld e, l - ld hl, wc08e + ld hl, wChannelPitchBendCurrentFrequencyFractionalPart add hl, bc push hl - ld hl, wc086 + ld hl, wChannelPitchBendFrequencyStepsFractionalPart add hl, bc ld a, [hl] pop hl add [hl] ld [hl], a - ld a, $0 + ld a, 0 adc e ld e, a - ld a, $0 + ld a, 0 adc d ld d, a - ld hl, wc0a6 + ld hl, wChannelPitchBendTargetFrequencyHighBytes add hl, bc ld a, [hl] cp d - jp c, .asm_9786 - jr nz, .asm_9773 - ld hl, wc0ae + jp c, .reachedTargetFrequency + jr nz, .applyUpdatedFrequency + ld hl, wChannelPitchBendTargetFrequencyLowBytes add hl, bc ld a, [hl] cp e - jp c, .asm_9786 - jr .asm_9773 -.asm_9740 - ld hl, wc09e + jp c, .reachedTargetFrequency + jr .applyUpdatedFrequency +.frequencyDecreasing + ld hl, wChannelPitchBendCurrentFrequencyLowBytes add hl, bc ld a, [hl] - ld hl, wc096 + ld hl, wChannelPitchBendCurrentFrequencyHighBytes add hl, bc ld d, [hl] - ld hl, wc07e + ld hl, wChannelPitchBendFrequencySteps add hl, bc ld e, [hl] sub e @@ -1053,7 +1082,7 @@ Audio1_ApplyPitchBend: ; 0x96f9 ld a, d sbc b ld d, a - ld hl, wc086 + ld hl, wChannelPitchBendFrequencyStepsFractionalPart add hl, bc ld a, [hl] add a @@ -1064,129 +1093,140 @@ Audio1_ApplyPitchBend: ; 0x96f9 ld a, d sbc b ld d, a - ld hl, wc0a6 + ld hl, wChannelPitchBendTargetFrequencyHighBytes add hl, bc ld a, d cp [hl] - jr c, .asm_9786 - jr nz, .asm_9773 - ld hl, wc0ae + jr c, .reachedTargetFrequency + jr nz, .applyUpdatedFrequency + ld hl, wChannelPitchBendTargetFrequencyLowBytes add hl, bc ld a, e cp [hl] - jr c, .asm_9786 -.asm_9773 - ld hl, wc09e + jr c, .reachedTargetFrequency +.applyUpdatedFrequency + ld hl, wChannelPitchBendCurrentFrequencyLowBytes add hl, bc ld [hl], e - ld hl, wc096 + ld hl, wChannelPitchBendCurrentFrequencyHighBytes add hl, bc ld [hl], d - ld b, $3 - call Audio1_9838 + ld b, REG_FREQUENCY_LO + call Audio1_GetRegisterPointer ld a, e ld [hli], a ld [hl], d ret -.asm_9786 - ld hl, wc02e +.reachedTargetFrequency +; Turn off pitch bend when the target frequency has been reached. + ld hl, wChannelFlags1 add hl, bc - res 4, [hl] - res 5, [hl] + res BIT_PITCH_BEND_ON, [hl] + res BIT_PITCH_BEND_DECREASING, [hl] ret -Audio1_978f: ; 0x978f - ld hl, wc096 +Audio1_InitPitchBendVars: ; 0x978f + ld hl, wChannelPitchBendCurrentFrequencyHighBytes add hl, bc ld [hl], d - ld hl, wc09e + ld hl, wChannelPitchBendCurrentFrequencyLowBytes add hl, bc ld [hl], e - ld hl, wc0b6 + ld hl, wChannelNoteDelayCounters add hl, bc ld a, [hl] - ld hl, wc076 + ld hl, wChannelPitchBendLengthModifiers add hl, bc sub [hl] - jr nc, .asm_97a7 - ld a, $1 -.asm_97a7 + jr nc, .next + ld a, 1 +.next ld [hl], a - ld hl, wc0ae + ld hl, wChannelPitchBendTargetFrequencyLowBytes add hl, bc ld a, e sub [hl] ld e, a ld a, d sbc b - ld hl, wc0a6 + ld hl, wChannelPitchBendTargetFrequencyHighBytes add hl, bc sub [hl] - jr c, .asm_97c3 + jr c, .targetFrequencyGreater ld d, a - ld b, $0 - ld hl, wc02e + ld b, 0 + ld hl, wChannelFlags1 add hl, bc - set 5, [hl] - jr .asm_97e6 -.asm_97c3 - ld hl, wc096 + set BIT_PITCH_BEND_DECREASING, [hl] + jr .next2 +.targetFrequencyGreater +; If the target frequency is greater, subtract the current frequency from +; the target frequency to get the absolute difference. + ld hl, wChannelPitchBendCurrentFrequencyHighBytes add hl, bc ld d, [hl] - ld hl, wc09e + ld hl, wChannelPitchBendCurrentFrequencyLowBytes add hl, bc ld e, [hl] - ld hl, wc0ae + ld hl, wChannelPitchBendTargetFrequencyLowBytes add hl, bc ld a, [hl] sub e ld e, a + +; Bug. Instead of borrowing from the high byte of the target frequency as it +; should, it borrows from the high byte of the current frequency instead. +; This means that the result will be 0x200 greater than it should be if the +; low byte of the current frequency is greater than the low byte of the +; target frequency. ld a, d sbc b ld d, a - ld hl, wc0a6 + + ld hl, wChannelPitchBendTargetFrequencyHighBytes add hl, bc ld a, [hl] sub d ld d, a - ld b, $0 - ld hl, wc02e + ld b, 0 + ld hl, wChannelFlags1 add hl, bc - res 5, [hl] -.asm_97e6 - ld hl, wc076 + res BIT_PITCH_BEND_DECREASING, [hl] + +.next2 + ld hl, wChannelPitchBendLengthModifiers add hl, bc -.asm_97ea +.divideLoop inc b ld a, e sub [hl] ld e, a - jr nc, .asm_97ea + jr nc, .divideLoop ld a, d and a - jr z, .asm_97f8 + jr z, .doneDividing dec a ld d, a - jr .asm_97ea -.asm_97f8 - ld a, e + jr .divideLoop +.doneDividing + ld a, e ; a = remainder - dividend add [hl] - ld d, b - ld b, $0 - ld hl, wc07e + ld d, b ; d = quotient + 1 + ld b, 0 + ld hl, wChannelPitchBendFrequencySteps add hl, bc - ld [hl], d - ld hl, wc086 + ld [hl], d ; store quotient + 1 + ld hl, wChannelPitchBendFrequencyStepsFractionalPart add hl, bc - ld [hl], a - ld hl, wc08e + ld [hl], a ; store remainder - dividend + ld hl, wChannelPitchBendCurrentFrequencyFractionalPart add hl, bc - ld [hl], a + ld [hl], a ; store remainder - dividend ret Audio1_ApplyDutyCycle: ; 0x980d - ld b, $0 - ld hl, wc046 + ld b, 0 + ld hl, wChannelDutyCycles add hl, bc ld a, [hl] rlca @@ -1194,8 +1234,8 @@ Audio1_ApplyDutyCycle: ; 0x980d ld [hl], a and $c0 ld d, a - ld b, $1 - call Audio1_9838 + ld b, REG_DUTY_SOUND_LEN + call Audio1_GetRegisterPointer ld a, [hl] and $3f or d @@ -1203,11 +1243,11 @@ Audio1_ApplyDutyCycle: ; 0x980d ret Audio1_GetNextMusicByte: ; 0x9825 - ld d, $0 + ld d, 0 ld a, c add a ld e, a - ld hl, wc006 + ld hl, wChannelCommandPointers add hl, de ld a, [hli] ld e, a @@ -1220,9 +1260,10 @@ Audio1_GetNextMusicByte: ; 0x9825 ld [hl], d ret -Audio1_9838: ; 0x9838 +Audio1_GetRegisterPointer: ; 0x9838 +; hl = address of hardware sound register b for software channel c ld a, c - ld hl, Unknown_9b17 + ld hl, Audio1_HWChannelBaseAddresses add l jr nc, .noCarry inc h @@ -1234,13 +1275,14 @@ Audio1_9838: ; 0x9838 ld h, $ff ret -Audio1_9847: ; 0x9847 - ld h, $0 +Audio1_MultiplyAdd: ; 0x9847 +; hl = l + (a * de) + ld h, 0 .loop srl a - jr nc, .noCarry + jr nc, .skipAdd add hl, de -.noCarry +.skipAdd sla e rl d and a @@ -1249,8 +1291,9 @@ Audio1_9847: ; 0x9847 .done ret -Audio1_9858: ; 0x9858 - ld h, $0 +Audio1_CalculateFrequency: ; 0x9858 +; return the frequency for note a, octave b in de + ld h, 0 ld l, a add hl, hl ld d, h @@ -1262,137 +1305,138 @@ Audio1_9858: ; 0x9858 ld d, [hl] ld a, b .loop - cp $7 + cp 7 jr z, .done sra d rr e inc a jr .loop .done - ld a, $8 + ld a, 8 add d ld d, a ret -Audio1_9876:: ; 0x9876 - ld [wc001], a +Audio1_PlaySound:: ; 0x9876 + ld [wSoundID], a cp $ff - jp z, Audio1_9a34 - cp $b9 - jp z, Audio1_994e - jp c, Audio1_994e + jp z, .stopAllAudio + cp MAX_SFX_ID + jp z, .playSfx + jp c, .playSfx cp $fe - jr z, .asm_988d - jp nc, Audio1_994e -.asm_988d + jr z, .playMusic + jp nc, .playSfx + +.playMusic xor a - ld [wc000], a - ld [wc003], a - ld [wc0e9], a - ld [wc0e6], a - ld [wc0e7], a + ld [wUnusedC000], a + ld [wDisableChannelOutputWhenSfxEnds], a + ld [wMusicTempo + 1], a + ld [wMusicWaveInstrument], a + ld [wSfxWaveInstrument], a ld d, $8 - ld hl, wc016 - call FillAudioRAM1 - ld hl, wc006 - call FillAudioRAM1 + ld hl, wChannelReturnAddresses + call .FillMem + ld hl, wChannelCommandPointers + call .FillMem ld d, $4 - ld hl, wc026 - call FillAudioRAM1 - ld hl, wc02e - call FillAudioRAM1 - ld hl, wc03e - call FillAudioRAM1 - ld hl, wc046 - call FillAudioRAM1 - ld hl, wc04e - call FillAudioRAM1 - ld hl, wc056 - call FillAudioRAM1 - ld hl, wc05e - call FillAudioRAM1 - ld hl, wc066 - call FillAudioRAM1 - ld hl, wc06e - call FillAudioRAM1 - ld hl, wc036 - call FillAudioRAM1 - ld hl, wc076 - call FillAudioRAM1 - ld hl, wc07e - call FillAudioRAM1 - ld hl, wc086 - call FillAudioRAM1 - ld hl, wc08e - call FillAudioRAM1 - ld hl, wc096 - call FillAudioRAM1 - ld hl, wc09e - call FillAudioRAM1 - ld hl, wc0a6 - call FillAudioRAM1 - ld hl, wc0ae - call FillAudioRAM1 + ld hl, wChannelSoundIDs + call .FillMem + ld hl, wChannelFlags1 + call .FillMem + ld hl, wChannelDuties + call .FillMem + ld hl, wChannelDutyCycles + call .FillMem + ld hl, wChannelVibratoDelayCounters + call .FillMem + ld hl, wChannelVibratoExtents + call .FillMem + ld hl, wChannelVibratoRates + call .FillMem + ld hl, wChannelFrequencyLowBytes + call .FillMem + ld hl, wChannelVibratoDelayCounterReloadValues + call .FillMem + ld hl, wChannelFlags2 + call .FillMem + ld hl, wChannelPitchBendLengthModifiers + call .FillMem + ld hl, wChannelPitchBendFrequencySteps + call .FillMem + ld hl, wChannelPitchBendFrequencyStepsFractionalPart + call .FillMem + ld hl, wChannelPitchBendCurrentFrequencyFractionalPart + call .FillMem + ld hl, wChannelPitchBendCurrentFrequencyHighBytes + call .FillMem + ld hl, wChannelPitchBendCurrentFrequencyLowBytes + call .FillMem + ld hl, wChannelPitchBendTargetFrequencyHighBytes + call .FillMem + ld hl, wChannelPitchBendTargetFrequencyLowBytes + call .FillMem ld a, $1 - ld hl, wc0be - call FillAudioRAM1 - ld hl, wc0b6 - call FillAudioRAM1 - ld hl, wc0c6 - call FillAudioRAM1 - ld [wc0e8], a + ld hl, wChannelLoopCounters + call .FillMem + ld hl, wChannelNoteDelayCounters + call .FillMem + ld hl, wChannelNoteSpeeds + call .FillMem + ld [wMusicTempo], a ld a, $ff - ld [wc004], a + ld [wStereoPanning], a xor a - ld [$ff24], a + ld [rNR50], a ld a, $8 - ld [$ff10], a - ld a, $0 - ld [$ff25], a + ld [rNR10], a + ld a, 0 + ld [rNR51], a xor a - ld [$ff1a], a + ld [rNR30], a ld a, $80 - ld [$ff1a], a + ld [rNR30], a ld a, $77 - ld [$ff24], a - jp Audio1_9a8f + ld [rNR50], a + jp .playSoundCommon -Audio1_994e: ; 0x994e +.playSfx ld l, a ld e, a - ld h, $0 + ld h, 0 ld d, h add hl, hl add hl, de ld de, SFX_Headers_1 add hl, de ld a, h - ld [wc0ec], a + ld [wSfxHeaderPointer], a ld a, l - ld [wc0ed], a + ld [wSfxHeaderPointer + 1], a ld a, [hl] and $c0 rlca rlca ld c, a -.asm_9967 +.sfxChannelLoop ld d, c ld a, c add a add c ld c, a - ld b, $0 - ld a, [wc0ec] + ld b, 0 + ld a, [wSfxHeaderPointer] ld h, a - ld a, [wc0ed] + ld a, [wSfxHeaderPointer + 1] ld l, a add hl, bc ld c, d ld a, [hl] and $f - ld e, a - ld d, $0 - ld hl, wc026 + ld e, a ; software channel ID + ld d, 0 + ld hl, wChannelSoundIDs add hl, de ld a, [hl] and a @@ -1400,7 +1444,7 @@ Audio1_994e: ; 0x994e ld a, e cp $7 jr nz, .asm_999a - ld a, [wc001] + ld a, [wSoundID] cp $14 jr nc, .asm_9993 ret @@ -1410,7 +1454,7 @@ Audio1_994e: ; 0x994e jr z, .asm_99a3 jr c, .asm_99a3 .asm_999a - ld a, [wc001] + ld a, [wSoundID] cp [hl] jr z, .asm_99a3 jr c, .asm_99a3 @@ -1423,132 +1467,132 @@ Audio1_994e: ; 0x994e add hl, hl ld d, h ld e, l - ld hl, wc016 + ld hl, wChannelReturnAddresses add hl, de ld [hli], a ld [hl], a - ld hl, wc006 + ld hl, wChannelCommandPointers add hl, de ld [hli], a ld [hl], a pop de - ld hl, wc026 + ld hl, wChannelSoundIDs add hl, de ld [hl], a - ld hl, wc02e + ld hl, wChannelFlags1 add hl, de ld [hl], a - ld hl, wc03e + ld hl, wChannelDuties add hl, de ld [hl], a - ld hl, wc046 + ld hl, wChannelDutyCycles add hl, de ld [hl], a - ld hl, wc04e + ld hl, wChannelVibratoDelayCounters add hl, de ld [hl], a - ld hl, wc056 + ld hl, wChannelVibratoExtents add hl, de ld [hl], a - ld hl, wc05e + ld hl, wChannelVibratoRates add hl, de ld [hl], a - ld hl, wc066 + ld hl, wChannelFrequencyLowBytes add hl, de ld [hl], a - ld hl, wc06e + ld hl, wChannelVibratoDelayCounterReloadValues add hl, de ld [hl], a - ld hl, wc076 + ld hl, wChannelPitchBendLengthModifiers add hl, de ld [hl], a - ld hl, wc07e + ld hl, wChannelPitchBendFrequencySteps add hl, de ld [hl], a - ld hl, wc086 + ld hl, wChannelPitchBendFrequencyStepsFractionalPart add hl, de ld [hl], a - ld hl, wc08e + ld hl, wChannelPitchBendCurrentFrequencyFractionalPart add hl, de ld [hl], a - ld hl, wc096 + ld hl, wChannelPitchBendCurrentFrequencyHighBytes add hl, de ld [hl], a - ld hl, wc09e + ld hl, wChannelPitchBendCurrentFrequencyLowBytes add hl, de ld [hl], a - ld hl, wc0a6 + ld hl, wChannelPitchBendTargetFrequencyHighBytes add hl, de ld [hl], a - ld hl, wc0ae + ld hl, wChannelPitchBendTargetFrequencyLowBytes add hl, de ld [hl], a - ld hl, wc036 + ld hl, wChannelFlags2 add hl, de ld [hl], a ld a, $1 - ld hl, wc0be + ld hl, wChannelLoopCounters add hl, de ld [hl], a - ld hl, wc0b6 + ld hl, wChannelNoteDelayCounters add hl, de ld [hl], a - ld hl, wc0c6 + ld hl, wChannelNoteSpeeds add hl, de ld [hl], a ld a, e - cp $4 + cp CH4 jr nz, .asm_9a2b ld a, $8 - ld [$ff10], a + ld [rNR10], a ; sweep off .asm_9a2b ld a, c and a - jp z, Audio1_9a8f + jp z, .playSoundCommon dec c - jp .asm_9967 + jp .sfxChannelLoop -Audio1_9a34: ; 0x9a34 +.stopAllAudio ld a, $80 - ld [$ff26], a - ld [$ff1a], a + ld [rNR52], a ; sound hardware on + ld [rNR30], a ; wave playback on xor a - ld [$ff25], a - ld [$ff1c], a + ld [rNR51], a ; no sound output + ld [rNR32], a ; mute channel 3 (wave channel) ld a, $8 - ld [$ff10], a - ld [$ff12], a - ld [$ff17], a - ld [$ff21], a + ld [rNR10], a ; sweep off + ld [rNR12], a ; mute channel 1 (pulse channel 1) + ld [rNR22], a ; mute channel 2 (pulse channel 2) + ld [rNR42], a ; mute channel 4 (noise channel) ld a, $40 - ld [$ff14], a - ld [$ff19], a - ld [$ff23], a + ld [rNR14], a ; counter mode + ld [rNR24], a + ld [rNR44], a ld a, $77 - ld [$ff24], a + ld [rNR50], a ; full volume xor a - ld [wc000], a - ld [wc003], a - ld [wc002], a - ld [wc0e9], a - ld [wc0eb], a - ld [wc0e6], a - ld [wc0e7], a + ld [wUnusedC000], a + ld [wDisableChannelOutputWhenSfxEnds], a + ld [wMuteAudioAndPauseMusic], a + ld [wMusicTempo + 1], a + ld [wSfxTempo + 1], a + ld [wMusicWaveInstrument], a + ld [wSfxWaveInstrument], a ld d, $a0 - ld hl, wc006 - call FillAudioRAM1 + ld hl, wChannelCommandPointers + call .FillMem ld a, $1 ld d, $18 - ld hl, wc0b6 - call FillAudioRAM1 - ld [wc0e8], a - ld [wc0ea], a + ld hl, wChannelNoteDelayCounters + call .FillMem + ld [wMusicTempo], a + ld [wSfxTempo], a ld a, $ff - ld [wc004], a + ld [wStereoPanning], a ret ; fills d bytes at hl with a -FillAudioRAM1: ; 0x9a89 +.FillMem ld b, d .loop ld [hli], a @@ -1556,11 +1600,11 @@ FillAudioRAM1: ; 0x9a89 jr nz, .loop ret -Audio1_9a8f: ; 0x9a8f - ld a, [wc001] +.playSoundCommon + ld a, [wSoundID] ld l, a ld e, a - ld h, $0 + ld h, 0 ld d, h add hl, hl add hl, de @@ -1568,7 +1612,7 @@ Audio1_9a8f: ; 0x9a8f add hl, de ld e, l ld d, h - ld hl, wc006 + ld hl, wChannelCommandPointers ld a, [de] ; get channel number ld b, a rlca @@ -1580,31 +1624,31 @@ Audio1_9a8f: ; 0x9a8f ld b, c inc b inc de - ld c, $0 -.asm_9ab1 + ld c, 0 +.commandPointerLoop cp c - jr z, .asm_9ab9 + jr z, .next inc c inc hl inc hl - jr .asm_9ab1 -.asm_9ab9 + jr .commandPointerLoop +.next push hl push bc push af - ld b, $0 + ld b, 0 ld c, a - ld hl, wc026 + ld hl, wChannelSoundIDs add hl, bc - ld a, [wc001] + ld a, [wSoundID] ld [hl], a pop af - cp $3 - jr c, .asm_9ad2 - ld hl, wc02e + cp CH3 + jr c, .skipSettingFlag + ld hl, wChannelFlags1 add hl, bc - set 2, [hl] -.asm_9ad2 + set BIT_NOISE_OR_SFX, [hl] +.skipSettingFlag pop bc pop hl ld a, [de] ; get channel pointer @@ -1619,52 +1663,53 @@ Audio1_9a8f: ; 0x9a8f and a ld a, [de] inc de - jr nz, .asm_9ab1 - ld a, [wc001] - cp $14 + jr nz, .commandPointerLoop + ld a, [wSoundID] + cp CRY_SFX_START jr nc, .asm_9aeb - jr .asm_9b15 + jr .done .asm_9aeb - ld a, [wc001] - cp $86 - jr z, .asm_9b15 - jr c, .asm_9af6 - jr .asm_9b15 -.asm_9af6 - ld hl, wc02a + ld a, [wSoundID] + cp CRY_SFX_END + jr z, .done + jr c, .cry + jr .done +.cry + ld hl, wChannelSoundIDs + CH4 ld [hli], a ld [hli], a ld [hli], a ld [hl], a - ld hl, wc012 ; sfx noise channel pointer - ld de, Noise1_endchannel + ld hl, wChannelCommandPointers + CH6 * 2 ; sfx wave channel pointer + ld de, Audio1_CryEndchannel ld [hl], e inc hl ld [hl], d ; overwrite pointer to point to endchannel - ld a, [wc005] + ld a, [wSavedVolume] and a - jr nz, .asm_9b15 - ld a, [$ff24] - ld [wc005], a + jr nz, .done + ld a, [rNR50] + ld [wSavedVolume], a ld a, $77 - ld [$ff24], a -.asm_9b15 + ld [rNR50], a ; full volume +.done ret -Noise1_endchannel: ; 0x9b16 +Audio1_CryEndchannel: ; 0x9b16 endchannel -Unknown_9b17: ; 0x9b17 - db $10, $15, $1A, $1F ; channels 0-3 - db $10, $15, $1A, $1F ; channels 4-7 +Audio1_HWChannelBaseAddresses: ; 0x9b17 +; the low bytes of each HW channel's base address + db HW_CH1_BASE, HW_CH2_BASE, HW_CH3_BASE, HW_CH4_BASE ; channels 0-3 + db HW_CH1_BASE, HW_CH2_BASE, HW_CH3_BASE, HW_CH4_BASE ; channels 4-7 -Unknown_9b1f: ; 0x9b1f - db $EE, $DD, $BB, $77 ; channels 0-3 - db $EE, $DD, $BB, $77 ; channels 4-7 +Audio1_HWChannelDisableMasks: ; 0x9b1f + db HW_CH1_DISABLE_MASK, HW_CH2_DISABLE_MASK, HW_CH3_DISABLE_MASK, HW_CH4_DISABLE_MASK ; channels 0-3 + db HW_CH1_DISABLE_MASK, HW_CH2_DISABLE_MASK, HW_CH3_DISABLE_MASK, HW_CH4_DISABLE_MASK ; channels 4-7 -Unknown_9b27: ; 0x9b27 - db $11, $22, $44, $88 ; channels 0-3 - db $11, $22, $44, $88 ; channels 4-7 +Audio1_HWChannelEnableMasks: ; 0x9b27 + db HW_CH1_ENABLE_MASK, HW_CH2_ENABLE_MASK, HW_CH3_ENABLE_MASK, HW_CH4_ENABLE_MASK ; channels 0-3 + db HW_CH1_ENABLE_MASK, HW_CH2_ENABLE_MASK, HW_CH3_ENABLE_MASK, HW_CH4_ENABLE_MASK ; channels 4-7 Audio1_Pitches: ; 0x9b2f dw $F82C ; C_ diff --git a/audio/engine_2.asm b/audio/engine_2.asm index 62b82cec..e70a305f 100644 --- a/audio/engine_2.asm +++ b/audio/engine_2.asm @@ -4,7 +4,7 @@ Audio2_UpdateMusic:: ; 21879 (8:5879) ld c, CH0 .loop ld b, $0 - ld hl, wc026 + ld hl, wChannelSoundIDs add hl, bc ld a, [hl] and a @@ -12,18 +12,18 @@ Audio2_UpdateMusic:: ; 21879 (8:5879) ld a, c cp CH4 jr nc, .applyAffects ; if sfx channel - ld a, [wc002] + ld a, [wMuteAudioAndPauseMusic] and a jr z, .applyAffects bit 7, a jr nz, .nextChannel set 7, a - ld [wc002], a + ld [wMuteAudioAndPauseMusic], a xor a - ld [$ff25], a - ld [$ff1a], a + ld [rNR51], a + ld [rNR30], a ld a, $80 - ld [$ff1a], a + ld [rNR30], a jr .nextChannel .applyAffects call Audio2_ApplyMusicAffects @@ -36,7 +36,7 @@ Audio2_UpdateMusic:: ; 21879 (8:5879) ; this routine checks flags for music effects currently applied ; to the channel and calls certain functions based on flags. -; known flags for wc02e: +; known flags for wChannelFlags1: ; 0: toggleperfectpitch has been used ; 1: call has been used ; 3: a toggle used only by this routine for vibrato @@ -44,7 +44,7 @@ Audio2_UpdateMusic:: ; 21879 (8:5879) ; 6: dutycycle flag Audio2_ApplyMusicAffects: ; 218ae (8:58ae) ld b, $0 - ld hl, wc0b6 ; delay until next note + ld hl, wChannelNoteDelayCounters ; delay until next note add hl, bc ld a, [hl] cp $1 ; if the delay is 1, play next note @@ -54,36 +54,36 @@ Audio2_ApplyMusicAffects: ; 218ae (8:58ae) ld a, c cp CH4 jr nc, .startChecks ; if a sfx channel - ld hl, wc02a + ld hl, wChannelSoundIDs + CH4 add hl, bc ld a, [hl] and a jr z, .startChecks ret .startChecks - ld hl, wc02e + ld hl, wChannelFlags1 add hl, bc bit 6, [hl] ; dutycycle jr z, .checkForExecuteMusic call Audio2_ApplyDutyCycle .checkForExecuteMusic ld b, $0 - ld hl, wc036 + ld hl, wChannelFlags2 add hl, bc bit 0, [hl] jr nz, .checkForPitchBend - ld hl, wc02e + ld hl, wChannelFlags1 add hl, bc bit 2, [hl] jr nz, .disablePitchBendVibrato .checkForPitchBend - ld hl, wc02e + ld hl, wChannelFlags1 add hl, bc bit 4, [hl] ; pitchbend jr z, .checkVibratoDelay jp Audio2_ApplyPitchBend .checkVibratoDelay - ld hl, wc04e ; vibrato delay + ld hl, wChannelVibratoDelayCounters ; vibrato delay add hl, bc ld a, [hl] and a ; check if delay is over @@ -92,7 +92,7 @@ Audio2_ApplyMusicAffects: ; 218ae (8:58ae) .disablePitchBendVibrato ret .checkForVibrato - ld hl, wc056 ; vibrato rate + ld hl, wChannelVibratoExtents ; vibrato rate add hl, bc ld a, [hl] and a @@ -100,7 +100,7 @@ Audio2_ApplyMusicAffects: ; 218ae (8:58ae) ret ; no vibrato .vibrato ld d, a - ld hl, wc05e + ld hl, wChannelVibratoRates add hl, bc ld a, [hl] and $f @@ -113,10 +113,10 @@ Audio2_ApplyMusicAffects: ; 218ae (8:58ae) swap [hl] or [hl] ld [hl], a ; reset the vibrato value and start again - ld hl, wc066 + ld hl, wChannelFrequencyLowBytes add hl, bc ld e, [hl] ; get note pitch - ld hl, wc02e + ld hl, wChannelFlags1 add hl, bc bit 3, [hl] ; this is the only code that sets/resets bit three so jr z, .unset ; it continuously alternates which path it takes @@ -149,13 +149,13 @@ Audio2_ApplyMusicAffects: ; 218ae (8:58ae) ; like tempo changes, duty changes etc. and doesn't return ; until the first note is reached Audio2_PlayNextNote: ; 21946 (8:5946) - ld hl, wc06e + ld hl, wChannelVibratoDelayCounterReloadValues add hl, bc ld a, [hl] - ld hl, wc04e + ld hl, wChannelVibratoDelayCounters add hl, bc ld [hl], a - ld hl, wc02e + ld hl, wChannelFlags1 add hl, bc res 4, [hl] res 5, [hl] @@ -175,7 +175,7 @@ Audio2_endchannel: ; 21967 (8:5967) cp $ff ; is this command an endchannel? jp nz, Audio2_callchannel ; no ld b, $0 ; yes - ld hl, wc02e + ld hl, wChannelFlags1 add hl, bc bit 1, [hl] jr nz, .returnFromCall @@ -185,22 +185,22 @@ Audio2_endchannel: ; 21967 (8:5967) jr .asm_219c0 .noiseOrSfxChannel res 2, [hl] - ld hl, wc036 + ld hl, wChannelFlags2 add hl, bc res 0, [hl] cp CH6 jr nz, .notSfxChannel3 ld a, $0 - ld [$ff1a], a + ld [rNR30], a ld a, $80 - ld [$ff1a], a + ld [rNR30], a .notSfxChannel3 jr nz, .asm_219a3 - ld a, [wc003] + ld a, [wDisableChannelOutputWhenSfxEnds] and a jr z, .asm_219a3 xor a - ld [wc003], a + ld [wDisableChannelOutputWhenSfxEnds], a jr .asm_219c0 .asm_219a3 jr .asm_219c9 @@ -210,10 +210,10 @@ Audio2_endchannel: ; 21967 (8:5967) ld a, c add a ld e, a - ld hl, wc006 + ld hl, wChannelCommandPointers add hl, de push hl ; store current channel address - ld hl, wc016 + ld hl, wChannelReturnAddresses add hl, de ld e, l ld d, h @@ -227,16 +227,16 @@ Audio2_endchannel: ; 21967 (8:5967) .asm_219c0 ld hl, Unknown_222de add hl, bc - ld a, [$ff25] + ld a, [rNR51] and [hl] - ld [$ff25], a + ld [rNR51], a .asm_219c9 - ld a, [wc02a] + ld a, [wChannelSoundIDs + CH4] cp $14 jr nc, .asm_219d2 jr .asm_219ef .asm_219d2 - ld a, [wc02a] + ld a, [wChannelSoundIDs + CH4] cp $86 jr z, .asm_219ef jr c, .asm_219dd @@ -248,12 +248,12 @@ Audio2_endchannel: ; 21967 (8:5967) call Audio2_21e6d ret c .asm_219e6 - ld a, [wc005] - ld [$ff24], a + ld a, [wSavedVolume] + ld [rNR50], a xor a - ld [wc005], a + ld [wSavedVolume], a .asm_219ef - ld hl, wc026 + ld hl, wChannelSoundIDs add hl, bc ld [hl], b ret @@ -272,10 +272,10 @@ Audio2_callchannel: ; 219f5 (8:59f5) ld a, c add a ld e, a - ld hl, wc006 + ld hl, wChannelCommandPointers add hl, de push hl - ld hl, wc016 + ld hl, wChannelReturnAddresses add hl, de ld e, l ld d, h @@ -290,7 +290,7 @@ Audio2_callchannel: ; 219f5 (8:59f5) inc hl ld [hl], d ; overwrite current address with pointer ld b, $0 - ld hl, wc02e + ld hl, wChannelFlags1 add hl, bc set 1, [hl] ; set the call flag jp Audio2_endchannel @@ -303,7 +303,7 @@ Audio2_loopchannel: ; 21a2a (8:5a2a) and a jr z, .infiniteLoop ld b, $0 - ld hl, wc0be + ld hl, wChannelLoopCounters add hl, bc ld a, [hl] cp e @@ -326,7 +326,7 @@ Audio2_loopchannel: ; 21a2a (8:5a2a) ld a, c add a ld e, a - ld hl, wc006 + ld hl, wChannelCommandPointers add hl, de pop af ld [hli], a @@ -340,7 +340,7 @@ Audio2_notetype: ; 21a65 (8:5a65) ld a, d ; yes and $f ld b, $0 - ld hl, wc0c6 + ld hl, wChannelNoteSpeeds add hl, bc ld [hl], a ; store low nibble as speed ld a, c @@ -353,10 +353,10 @@ Audio2_notetype: ; 21a65 (8:5a65) jr z, .musicChannel3 cp CH6 jr nz, .notChannel3 - ld hl, wc0e7 + ld hl, wSfxWaveInstrument jr .sfxChannel3 .musicChannel3 - ld hl, wc0e6 + ld hl, wMusicWaveInstrument .sfxChannel3 ld a, d and $f @@ -371,7 +371,7 @@ Audio2_notetype: ; 21a65 (8:5a65) ; else, store volume (high nibble) and fade (low nibble) .notChannel3 ld b, $0 - ld hl, wc0de + ld hl, wChannelVolumes add hl, bc ld [hl], d .noiseChannel @@ -382,11 +382,11 @@ Audio2_toggleperfectpitch: ; 21aa4 (8:5aa4) cp $e8 ; is this command a toggleperfectpitch? jr nz, Audio2_vibrato ; no ld b, $0 ; yes - ld hl, wc02e + ld hl, wChannelFlags1 add hl, bc ld a, [hl] xor $1 - ld [hl], a ; flip bit 0 of wc02e + ld [hl], a ; flip bit 0 of wChannelFlags1 jp Audio2_endchannel Audio2_vibrato: ; 21ab6 (8:5ab6) @@ -394,10 +394,10 @@ Audio2_vibrato: ; 21ab6 (8:5ab6) jr nz, Audio2_pitchbend ; no call Audio2_GetNextMusicByte ; yes ld b, $0 - ld hl, wc04e + ld hl, wChannelVibratoDelayCounters add hl, bc ld [hl], a ; store delay - ld hl, wc06e + ld hl, wChannelVibratoDelayCounterReloadValues add hl, bc ld [hl], a ; store delay call Audio2_GetNextMusicByte @@ -405,7 +405,7 @@ Audio2_vibrato: ; 21ab6 (8:5ab6) and $f0 swap a ld b, $0 - ld hl, wc056 + ld hl, wChannelVibratoExtents add hl, bc srl a ld e, a @@ -416,7 +416,7 @@ Audio2_vibrato: ; 21ab6 (8:5ab6) ld a, d and $f ld d, a - ld hl, wc05e + ld hl, wChannelVibratoRates add hl, bc swap a or d @@ -428,7 +428,7 @@ Audio2_pitchbend: ; 21aee (8:5aee) jr nz, Audio2_duty ; no call Audio2_GetNextMusicByte ; yes ld b, $0 - ld hl, wc076 + ld hl, wChannelPitchBendLengthModifiers add hl, bc ld [hl], a ; store first param call Audio2_GetNextMusicByte @@ -440,14 +440,14 @@ Audio2_pitchbend: ; 21aee (8:5aee) and $f call Audio2_22017 ld b, $0 - ld hl, wc0a6 + ld hl, wChannelPitchBendTargetFrequencyHighBytes add hl, bc ld [hl], d ; store unknown part of second param - ld hl, wc0ae + ld hl, wChannelPitchBendTargetFrequencyLowBytes add hl, bc ld [hl], e ; store unknown part of second param ld b, $0 - ld hl, wc02e + ld hl, wChannelFlags1 add hl, bc set 4, [hl] ; set pitchbend flag call Audio2_GetNextMusicByte @@ -462,7 +462,7 @@ Audio2_duty: ; 21b26 (8:5b26) rrca and $c0 ld b, $0 - ld hl, wc03e + ld hl, wChannelDuties add hl, bc ld [hl], a ; store duty jp Audio2_endchannel @@ -474,25 +474,25 @@ Audio2_tempo: ; 21b3b (8:5b3b) cp CH4 jr nc, .sfxChannel call Audio2_GetNextMusicByte - ld [wc0e8], a ; store first param + ld [wMusicTempo], a ; store first param call Audio2_GetNextMusicByte - ld [wc0e9], a ; store second param + ld [wMusicTempo + 1], a ; store second param xor a - ld [wc0ce], a ; clear RAM - ld [wc0cf], a - ld [wc0d0], a - ld [wc0d1], a + ld [wChannelNoteDelayCountersFractionalPart], a ; clear RAM + ld [wChannelNoteDelayCountersFractionalPart + 1], a + ld [wChannelNoteDelayCountersFractionalPart + 2], a + ld [wChannelNoteDelayCountersFractionalPart + 3], a jr .musicChannelDone .sfxChannel call Audio2_GetNextMusicByte - ld [wc0ea], a ; store first param + ld [wSfxTempo], a ; store first param call Audio2_GetNextMusicByte - ld [wc0eb], a ; store second param + ld [wSfxTempo + 1], a ; store second param xor a - ld [wc0d2], a ; clear RAM - ld [wc0d3], a - ld [wc0d4], a - ld [wc0d5], a + ld [wChannelNoteDelayCountersFractionalPart + 4], a ; clear RAM + ld [wChannelNoteDelayCountersFractionalPart + 5], a + ld [wChannelNoteDelayCountersFractionalPart + 6], a + ld [wChannelNoteDelayCountersFractionalPart + 7], a .musicChannelDone jp Audio2_endchannel @@ -500,7 +500,7 @@ Audio2_stereopanning: ; 21b7b (8:5b7b) cp $ee ; is this command a stereopanning? jr nz, Audio2_unknownmusic0xef ; no call Audio2_GetNextMusicByte ; yes - ld [wc004], a ; store panning + ld [wStereoPanning], a ; store panning jp Audio2_endchannel ; this appears to never be used @@ -509,15 +509,15 @@ Audio2_unknownmusic0xef: ; 21b88 (8:5b88) jr nz, Audio2_dutycycle ; no call Audio2_GetNextMusicByte ; yes push bc - call Audio2_22035 + call Audio2_PlaySound pop bc - ld a, [wc003] + ld a, [wDisableChannelOutputWhenSfxEnds] and a jr nz, .skip - ld a, [wc02d] - ld [wc003], a + ld a, [wChannelSoundIDs + CH7] + ld [wDisableChannelOutputWhenSfxEnds], a xor a - ld [wc02d], a + ld [wChannelSoundIDs + CH7], a .skip jp Audio2_endchannel @@ -526,14 +526,14 @@ Audio2_dutycycle: ; 21ba7 (8:5ba7) jr nz, Audio2_volume ; no call Audio2_GetNextMusicByte ; yes ld b, $0 - ld hl, wc046 + ld hl, wChannelDutyCycles add hl, bc ld [hl], a ; store full cycle and $c0 - ld hl, wc03e + ld hl, wChannelDuties add hl, bc ld [hl], a ; store first duty - ld hl, wc02e + ld hl, wChannelFlags1 add hl, bc set 6, [hl] ; set dutycycle flag jp Audio2_endchannel @@ -542,14 +542,14 @@ Audio2_volume: ; 21bc5 (8:5bc5) cp $f0 ; is this command a volume? jr nz, Audio2_executemusic ; no call Audio2_GetNextMusicByte ; yes - ld [$ff24], a ; store volume + ld [rNR50], a ; store volume jp Audio2_endchannel Audio2_executemusic: ; 21bd1 (8:5bd1) cp $f8 ; is this command an executemusic? jr nz, Audio2_octave ; no ld b, $0 ; yes - ld hl, wc036 + ld hl, wChannelFlags2 add hl, bc set 0, [hl] jp Audio2_endchannel @@ -558,7 +558,7 @@ Audio2_octave: ; 21be0 (8:5be0) and $f0 cp $e0 ; is this command an octave? jr nz, Audio2_unknownsfx0x20 ; no - ld hl, wc0d6 ; yes + ld hl, wChannelOctaves ; yes ld b, $0 add hl, bc ld a, d @@ -573,14 +573,14 @@ Audio2_unknownsfx0x20: ; 21bf3 cp CH3 ; is this a noise or sfx channel? jr c, Audio2_unknownsfx0x10 ; no ld b, $0 - ld hl, wc036 + ld hl, wChannelFlags2 add hl, bc bit 0, [hl] jr nz, Audio2_unknownsfx0x10 ; no call Audio2_notelength ld d, a ld b, $0 - ld hl, wc03e + ld hl, wChannelDuties add hl, bc ld a, [hl] or d @@ -619,12 +619,12 @@ Audio2_unknownsfx0x10: ; 21c40 (8:5c40) cp $10 ; is this command a unknownsfx0x10? jr nz, Audio2_note ; no ld b, $0 - ld hl, wc036 + ld hl, wChannelFlags2 add hl, bc bit 0, [hl] jr nz, Audio2_note ; no call Audio2_GetNextMusicByte ; yes - ld [$ff10], a + ld [rNR10], a jp Audio2_endchannel Audio2_note: ; 21c5c (8:5c5c) @@ -654,11 +654,11 @@ Audio2_dnote: ; 21c76 (8:5c76) call Audio2_GetNextMusicByte ; get dnote instrument asm_21c7e ld d, a - ld a, [wc003] + ld a, [wDisableChannelOutputWhenSfxEnds] and a jr nz, .asm_21c89 ld a, d - call Audio2_22035 + call Audio2_PlaySound .asm_21c89 pop bc pop de @@ -671,7 +671,7 @@ Audio2_notelength: ; 21c8b (8:5c8b) ld b, $0 ld e, a ; store note length (in 16ths) ld d, b - ld hl, wc0c6 + ld hl, wChannelNoteSpeeds add hl, bc ld a, [hl] ld l, b @@ -679,9 +679,9 @@ Audio2_notelength: ; 21c8b (8:5c8b) ld a, c cp CH4 jr nc, .sfxChannel - ld a, [wc0e8] + ld a, [wMusicTempo] ld d, a - ld a, [wc0e9] + ld a, [wMusicTempo + 1] ld e, a jr .skip .sfxChannel @@ -690,31 +690,31 @@ Audio2_notelength: ; 21c8b (8:5c8b) cp CH7 jr z, .skip ; if noise channel call Audio2_21e2f - ld a, [wc0ea] + ld a, [wSfxTempo] ld d, a - ld a, [wc0eb] + ld a, [wSfxTempo + 1] ld e, a .skip ld a, l ld b, $0 - ld hl, wc0ce + ld hl, wChannelNoteDelayCountersFractionalPart add hl, bc ld l, [hl] call Audio2_22006 ld e, l ld d, h - ld hl, wc0ce + ld hl, wChannelNoteDelayCountersFractionalPart add hl, bc ld [hl], e ld a, d - ld hl, wc0b6 + ld hl, wChannelNoteDelayCounters add hl, bc ld [hl], a - ld hl, wc036 + ld hl, wChannelFlags2 add hl, bc bit 0, [hl] jr nz, Audio2_notepitch - ld hl, wc02e + ld hl, wChannelFlags1 add hl, bc bit 2, [hl] jr z, Audio2_notepitch @@ -729,7 +729,7 @@ Audio2_notepitch: ; 21ce9 (8:5ce9) ld a, c cp CH4 jr nc, .sfxChannel - ld hl, wc02a + ld hl, wChannelSoundIDs + CH4 add hl, bc ld a, [hl] and a @@ -745,9 +745,9 @@ Audio2_notepitch: ; 21ce9 (8:5ce9) ld b, $0 ld hl, Unknown_222de add hl, bc - ld a, [$ff25] + ld a, [rNR51] and [hl] - ld [$ff25], a + ld [rNR51], a jr .done .notSfxChannel3 ld b, $2 @@ -762,12 +762,12 @@ Audio2_notepitch: ; 21ce9 (8:5ce9) .notRest swap a ld b, $0 - ld hl, wc0d6 + ld hl, wChannelOctaves add hl, bc ld b, [hl] call Audio2_22017 ld b, $0 - ld hl, wc02e + ld hl, wChannelFlags1 add hl, bc bit 4, [hl] jr z, .asm_21d39 @@ -777,7 +777,7 @@ Audio2_notepitch: ; 21ce9 (8:5ce9) ld a, c cp CH4 jr nc, .skip ; if sfx channel - ld hl, wc02a + ld hl, wChannelSoundIDs + CH4 ld d, $0 ld e, a add hl, de @@ -790,7 +790,7 @@ Audio2_notepitch: ; 21ce9 (8:5ce9) ret .skip ld b, $0 - ld hl, wc0de + ld hl, wChannelVolumes add hl, bc ld d, [hl] ld b, $2 @@ -800,7 +800,7 @@ Audio2_notepitch: ; 21ce9 (8:5ce9) call Audio2_21d79 pop de ld b, $0 - ld hl, wc02e + ld hl, wChannelFlags1 add hl, bc bit 0, [hl] ; has toggleperfectpitch been used? jr z, .skip2 @@ -808,7 +808,7 @@ Audio2_notepitch: ; 21ce9 (8:5ce9) jr nc, .skip2 inc d .skip2 - ld hl, wc066 + ld hl, wChannelFrequencyLowBytes add hl, bc ld [hl], e call Audio2_21dcc @@ -818,7 +818,7 @@ Audio2_21d79: ; 21d79 (8:5d79) ld b, $0 ld hl, Unknown_222e6 add hl, bc - ld a, [$ff25] + ld a, [rNR51] or [hl] ld d, a ld a, c @@ -826,18 +826,18 @@ Audio2_21d79: ; 21d79 (8:5d79) jr z, .sfxNoiseChannel cp CH4 jr nc, .skip ; if sfx channel - ld hl, wc02a + ld hl, wChannelSoundIDs + CH4 add hl, bc ld a, [hl] and a jr nz, .skip .sfxNoiseChannel - ld a, [wc004] + ld a, [wStereoPanning] ld hl, Unknown_222e6 add hl, bc and [hl] ld d, a - ld a, [$ff25] + ld a, [rNR51] ld hl, Unknown_222de add hl, bc and [hl] @@ -845,12 +845,12 @@ Audio2_21d79: ; 21d79 (8:5d79) ld d, a .skip ld a, d - ld [$ff25], a + ld [rNR51], a ret Audio2_21daa: ; 21daa (8:5daa) ld b, $0 - ld hl, wc0b6 + ld hl, wChannelNoteDelayCounters add hl, bc ld d, [hl] ld a, c @@ -861,7 +861,7 @@ Audio2_21daa: ; 21daa (8:5daa) ld a, d and $3f ld d, a - ld hl, wc03e + ld hl, wChannelDuties add hl, bc ld a, [hl] or d @@ -881,10 +881,10 @@ Audio2_21dcc: ; 21dcc (8:5dcc) ; fall through .channel3 push de - ld de, wc0e6 + ld de, wMusicWaveInstrument cp CH2 jr z, .musicChannel3 - ld de, wc0e7 + ld de, wSfxWaveInstrument .musicChannel3 ld a, [de] add a @@ -898,7 +898,7 @@ Audio2_21dcc: ; 21dcc (8:5dcc) ld hl, $ff30 ld b, $f ld a, $0 - ld [$ff1a], a + ld [rNR30], a .loop ld a, [de] inc de @@ -908,7 +908,7 @@ Audio2_21dcc: ; 21dcc (8:5dcc) and a jr nz, .loop ld a, $80 - ld [$ff1a], a + ld [rNR30], a pop de .notSfxChannel3 ld a, d @@ -935,9 +935,9 @@ Audio2_21e19: ; 21e19 (8:5e19) bit 7, a jr z, .asm_21e2e xor a - ld [wc0f1], a + ld [wFrequencyModifier], a ld a, $80 - ld [wc0f2], a + ld [wTempoModifier], a .asm_21e2e ret @@ -948,20 +948,20 @@ Audio2_21e2f: ; 21e2f (8:5e2f) jr nc, .asm_21e4c .asm_21e39 ld d, $0 - ld a, [wc0f2] + ld a, [wTempoModifier] add $80 jr nc, .asm_21e43 inc d .asm_21e43 - ld [wc0eb], a + ld [wSfxTempo + 1], a ld a, d - ld [wc0ea], a + ld [wSfxTempo], a jr .asm_21e55 .asm_21e4c xor a - ld [wc0eb], a + ld [wSfxTempo + 1], a ld a, $1 - ld [wc0ea], a + ld [wSfxTempo], a .asm_21e55 ret @@ -971,7 +971,7 @@ Audio2_21e56: ; 21e56 (8:5e56) call Audio2_21e9f jr nc, .asm_21e6c .asm_21e60 - ld a, [wc0f1] + ld a, [wFrequencyModifier] add e jr nc, .asm_21e67 inc d @@ -987,7 +987,7 @@ Audio2_21e56: ; 21e56 (8:5e56) Audio2_21e6d: ; 21e6d (8:5e6d) call Audio2_21e8b jr nc, .asm_21e88 - ld hl, wc006 + ld hl, wChannelCommandPointers ld e, c ld d, $0 sla e @@ -1008,7 +1008,7 @@ Audio2_21e6d: ; 21e6d (8:5e6d) ret Audio2_21e8b: ; 21e8b (8:5e8b) - ld a, [wc02a] + ld a, [wChannelSoundIDs + CH4] cp $14 jr nc, .asm_21e94 jr .asm_21e9a @@ -1025,9 +1025,9 @@ Audio2_21e8b: ; 21e8b (8:5e8b) ret Audio2_21e9f: ; 21e9f (8:5e9f) - ld a, [wc02d] + ld a, [wChannelSoundIDs + CH7] ld b, a - ld a, [wc02a] + ld a, [wChannelSoundIDs + CH4] or b cp $9d jr nc, .asm_21ead @@ -1045,27 +1045,27 @@ Audio2_21e9f: ; 21e9f (8:5e9f) ret Audio2_ApplyPitchBend: ; 21eb8 (8:5eb8) - ld hl, wc02e + ld hl, wChannelFlags1 add hl, bc bit 5, [hl] jp nz, .asm_21eff - ld hl, wc09e + ld hl, wChannelPitchBendCurrentFrequencyLowBytes add hl, bc ld e, [hl] - ld hl, wc096 + ld hl, wChannelPitchBendCurrentFrequencyHighBytes add hl, bc ld d, [hl] - ld hl, wc07e + ld hl, wChannelPitchBendFrequencySteps add hl, bc ld l, [hl] ld h, b add hl, de ld d, h ld e, l - ld hl, wc08e + ld hl, wChannelPitchBendCurrentFrequencyFractionalPart add hl, bc push hl - ld hl, wc086 + ld hl, wChannelPitchBendFrequencyStepsFractionalPart add hl, bc ld a, [hl] pop hl @@ -1077,26 +1077,26 @@ Audio2_ApplyPitchBend: ; 21eb8 (8:5eb8) ld a, $0 adc d ld d, a - ld hl, wc0a6 + ld hl, wChannelPitchBendTargetFrequencyHighBytes add hl, bc ld a, [hl] cp d jp c, .asm_21f45 jr nz, .asm_21f32 - ld hl, wc0ae + ld hl, wChannelPitchBendTargetFrequencyLowBytes add hl, bc ld a, [hl] cp e jp c, .asm_21f45 jr .asm_21f32 .asm_21eff - ld hl, wc09e + ld hl, wChannelPitchBendCurrentFrequencyLowBytes add hl, bc ld a, [hl] - ld hl, wc096 + ld hl, wChannelPitchBendCurrentFrequencyHighBytes add hl, bc ld d, [hl] - ld hl, wc07e + ld hl, wChannelPitchBendFrequencySteps add hl, bc ld e, [hl] sub e @@ -1104,7 +1104,7 @@ Audio2_ApplyPitchBend: ; 21eb8 (8:5eb8) ld a, d sbc b ld d, a - ld hl, wc086 + ld hl, wChannelPitchBendFrequencyStepsFractionalPart add hl, bc ld a, [hl] add a @@ -1115,22 +1115,22 @@ Audio2_ApplyPitchBend: ; 21eb8 (8:5eb8) ld a, d sbc b ld d, a - ld hl, wc0a6 + ld hl, wChannelPitchBendTargetFrequencyHighBytes add hl, bc ld a, d cp [hl] jr c, .asm_21f45 jr nz, .asm_21f32 - ld hl, wc0ae + ld hl, wChannelPitchBendTargetFrequencyLowBytes add hl, bc ld a, e cp [hl] jr c, .asm_21f45 .asm_21f32 - ld hl, wc09e + ld hl, wChannelPitchBendCurrentFrequencyLowBytes add hl, bc ld [hl], e - ld hl, wc096 + ld hl, wChannelPitchBendCurrentFrequencyHighBytes add hl, bc ld [hl], d ld b, $3 @@ -1140,54 +1140,54 @@ Audio2_ApplyPitchBend: ; 21eb8 (8:5eb8) ld [hl], d ret .asm_21f45 - ld hl, wc02e + ld hl, wChannelFlags1 add hl, bc res 4, [hl] res 5, [hl] ret Audio2_21f4e: ; 21f4e (8:5f4e) - ld hl, wc096 + ld hl, wChannelPitchBendCurrentFrequencyHighBytes add hl, bc ld [hl], d - ld hl, wc09e + ld hl, wChannelPitchBendCurrentFrequencyLowBytes add hl, bc ld [hl], e - ld hl, wc0b6 + ld hl, wChannelNoteDelayCounters add hl, bc ld a, [hl] - ld hl, wc076 + ld hl, wChannelPitchBendLengthModifiers add hl, bc sub [hl] jr nc, .asm_21f66 ld a, $1 .asm_21f66 ld [hl], a - ld hl, wc0ae + ld hl, wChannelPitchBendTargetFrequencyLowBytes add hl, bc ld a, e sub [hl] ld e, a ld a, d sbc b - ld hl, wc0a6 + ld hl, wChannelPitchBendTargetFrequencyHighBytes add hl, bc sub [hl] jr c, .asm_21f82 ld d, a ld b, $0 - ld hl, wc02e + ld hl, wChannelFlags1 add hl, bc set 5, [hl] jr .asm_21fa5 .asm_21f82 - ld hl, wc096 + ld hl, wChannelPitchBendCurrentFrequencyHighBytes add hl, bc ld d, [hl] - ld hl, wc09e + ld hl, wChannelPitchBendCurrentFrequencyLowBytes add hl, bc ld e, [hl] - ld hl, wc0ae + ld hl, wChannelPitchBendTargetFrequencyLowBytes add hl, bc ld a, [hl] sub e @@ -1195,17 +1195,17 @@ Audio2_21f4e: ; 21f4e (8:5f4e) ld a, d sbc b ld d, a - ld hl, wc0a6 + ld hl, wChannelPitchBendTargetFrequencyHighBytes add hl, bc ld a, [hl] sub d ld d, a ld b, $0 - ld hl, wc02e + ld hl, wChannelFlags1 add hl, bc res 5, [hl] .asm_21fa5 - ld hl, wc076 + ld hl, wChannelPitchBendLengthModifiers add hl, bc .asm_21fa9 inc b @@ -1224,20 +1224,20 @@ Audio2_21f4e: ; 21f4e (8:5f4e) add [hl] ld d, b ld b, $0 - ld hl, wc07e + ld hl, wChannelPitchBendFrequencySteps add hl, bc ld [hl], d - ld hl, wc086 + ld hl, wChannelPitchBendFrequencyStepsFractionalPart add hl, bc ld [hl], a - ld hl, wc08e + ld hl, wChannelPitchBendCurrentFrequencyFractionalPart add hl, bc ld [hl], a ret Audio2_ApplyDutyCycle: ; 21fcc (8:5fcc) ld b, $0 - ld hl, wc046 + ld hl, wChannelDutyCycles add hl, bc ld a, [hl] rlca @@ -1258,7 +1258,7 @@ Audio2_GetNextMusicByte: ; 21fe4 (8:5fe4) ld a, c add a ld e, a - ld hl, wc006 + ld hl, wChannelCommandPointers add hl, de ld a, [hli] ld e, a @@ -1325,8 +1325,8 @@ Audio2_22017: ; 22017 (8:6017) ld d, a ret -Audio2_22035:: ; 22035 (8:6035) - ld [wc001], a +Audio2_PlaySound:: ; 22035 (8:6035) + ld [wSoundID], a cp $ff jp z, Audio2_221f3 cp $e9 @@ -1337,75 +1337,75 @@ Audio2_22035:: ; 22035 (8:6035) jp nc, Audio2_2210d .asm_2204c xor a - ld [wc000], a - ld [wc003], a - ld [wc0e9], a - ld [wc0e6], a - ld [wc0e7], a + ld [wUnusedC000], a + ld [wDisableChannelOutputWhenSfxEnds], a + ld [wMusicTempo + 1], a + ld [wMusicWaveInstrument], a + ld [wSfxWaveInstrument], a ld d, $8 - ld hl, wc016 + ld hl, wChannelReturnAddresses call FillAudioRAM2 - ld hl, wc006 + ld hl, wChannelCommandPointers call FillAudioRAM2 ld d, $4 - ld hl, wc026 + ld hl, wChannelSoundIDs call FillAudioRAM2 - ld hl, wc02e + ld hl, wChannelFlags1 call FillAudioRAM2 - ld hl, wc03e + ld hl, wChannelDuties call FillAudioRAM2 - ld hl, wc046 + ld hl, wChannelDutyCycles call FillAudioRAM2 - ld hl, wc04e + ld hl, wChannelVibratoDelayCounters call FillAudioRAM2 - ld hl, wc056 + ld hl, wChannelVibratoExtents call FillAudioRAM2 - ld hl, wc05e + ld hl, wChannelVibratoRates call FillAudioRAM2 - ld hl, wc066 + ld hl, wChannelFrequencyLowBytes call FillAudioRAM2 - ld hl, wc06e + ld hl, wChannelVibratoDelayCounterReloadValues call FillAudioRAM2 - ld hl, wc036 + ld hl, wChannelFlags2 call FillAudioRAM2 - ld hl, wc076 + ld hl, wChannelPitchBendLengthModifiers call FillAudioRAM2 - ld hl, wc07e + ld hl, wChannelPitchBendFrequencySteps call FillAudioRAM2 - ld hl, wc086 + ld hl, wChannelPitchBendFrequencyStepsFractionalPart call FillAudioRAM2 - ld hl, wc08e + ld hl, wChannelPitchBendCurrentFrequencyFractionalPart call FillAudioRAM2 - ld hl, wc096 + ld hl, wChannelPitchBendCurrentFrequencyHighBytes call FillAudioRAM2 - ld hl, wc09e + ld hl, wChannelPitchBendCurrentFrequencyLowBytes call FillAudioRAM2 - ld hl, wc0a6 + ld hl, wChannelPitchBendTargetFrequencyHighBytes call FillAudioRAM2 - ld hl, wc0ae + ld hl, wChannelPitchBendTargetFrequencyLowBytes call FillAudioRAM2 ld a, $1 - ld hl, wc0be + ld hl, wChannelLoopCounters call FillAudioRAM2 - ld hl, wc0b6 + ld hl, wChannelNoteDelayCounters call FillAudioRAM2 - ld hl, wc0c6 + ld hl, wChannelNoteSpeeds call FillAudioRAM2 - ld [wc0e8], a + ld [wMusicTempo], a ld a, $ff - ld [wc004], a + ld [wStereoPanning], a xor a - ld [$ff24], a + ld [rNR50], a ld a, $8 - ld [$ff10], a + ld [rNR10], a ld a, $0 - ld [$ff25], a + ld [rNR51], a xor a - ld [$ff1a], a + ld [rNR30], a ld a, $80 - ld [$ff1a], a + ld [rNR30], a ld a, $77 - ld [$ff24], a + ld [rNR50], a jp Audio2_2224e Audio2_2210d: ; 2210d (8:610d) @@ -1418,9 +1418,9 @@ Audio2_2210d: ; 2210d (8:610d) ld de, SFX_Headers_2 add hl, de ld a, h - ld [wc0ec], a + ld [wSfxHeaderPointer], a ld a, l - ld [wc0ed], a + ld [wSfxHeaderPointer + 1], a ld a, [hl] and $c0 rlca @@ -1433,9 +1433,9 @@ Audio2_2210d: ; 2210d (8:610d) add c ld c, a ld b, $0 - ld a, [wc0ec] + ld a, [wSfxHeaderPointer] ld h, a - ld a, [wc0ed] + ld a, [wSfxHeaderPointer + 1] ld l, a add hl, bc ld c, d @@ -1443,7 +1443,7 @@ Audio2_2210d: ; 2210d (8:610d) and $f ld e, a ld d, $0 - ld hl, wc026 + ld hl, wChannelSoundIDs add hl, de ld a, [hl] and a @@ -1451,7 +1451,7 @@ Audio2_2210d: ; 2210d (8:610d) ld a, e cp $7 jr nz, .asm_22159 - ld a, [wc001] + ld a, [wSoundID] cp $14 jr nc, .asm_22152 ret @@ -1461,7 +1461,7 @@ Audio2_2210d: ; 2210d (8:610d) jr z, .asm_22162 jr c, .asm_22162 .asm_22159 - ld a, [wc001] + ld a, [wSoundID] cp [hl] jr z, .asm_22162 jr c, .asm_22162 @@ -1474,84 +1474,84 @@ Audio2_2210d: ; 2210d (8:610d) add hl, hl ld d, h ld e, l - ld hl, wc016 + ld hl, wChannelReturnAddresses add hl, de ld [hli], a ld [hl], a - ld hl, wc006 + ld hl, wChannelCommandPointers add hl, de ld [hli], a ld [hl], a pop de - ld hl, wc026 + ld hl, wChannelSoundIDs add hl, de ld [hl], a - ld hl, wc02e + ld hl, wChannelFlags1 add hl, de ld [hl], a - ld hl, wc03e + ld hl, wChannelDuties add hl, de ld [hl], a - ld hl, wc046 + ld hl, wChannelDutyCycles add hl, de ld [hl], a - ld hl, wc04e + ld hl, wChannelVibratoDelayCounters add hl, de ld [hl], a - ld hl, wc056 + ld hl, wChannelVibratoExtents add hl, de ld [hl], a - ld hl, wc05e + ld hl, wChannelVibratoRates add hl, de ld [hl], a - ld hl, wc066 + ld hl, wChannelFrequencyLowBytes add hl, de ld [hl], a - ld hl, wc06e + ld hl, wChannelVibratoDelayCounterReloadValues add hl, de ld [hl], a - ld hl, wc076 + ld hl, wChannelPitchBendLengthModifiers add hl, de ld [hl], a - ld hl, wc07e + ld hl, wChannelPitchBendFrequencySteps add hl, de ld [hl], a - ld hl, wc086 + ld hl, wChannelPitchBendFrequencyStepsFractionalPart add hl, de ld [hl], a - ld hl, wc08e + ld hl, wChannelPitchBendCurrentFrequencyFractionalPart add hl, de ld [hl], a - ld hl, wc096 + ld hl, wChannelPitchBendCurrentFrequencyHighBytes add hl, de ld [hl], a - ld hl, wc09e + ld hl, wChannelPitchBendCurrentFrequencyLowBytes add hl, de ld [hl], a - ld hl, wc0a6 + ld hl, wChannelPitchBendTargetFrequencyHighBytes add hl, de ld [hl], a - ld hl, wc0ae + ld hl, wChannelPitchBendTargetFrequencyLowBytes add hl, de ld [hl], a - ld hl, wc036 + ld hl, wChannelFlags2 add hl, de ld [hl], a ld a, $1 - ld hl, wc0be + ld hl, wChannelLoopCounters add hl, de ld [hl], a - ld hl, wc0b6 + ld hl, wChannelNoteDelayCounters add hl, de ld [hl], a - ld hl, wc0c6 + ld hl, wChannelNoteSpeeds add hl, de ld [hl], a ld a, e cp $4 jr nz, .asm_221ea ld a, $8 - ld [$ff10], a + ld [rNR10], a .asm_221ea ld a, c and a @@ -1561,41 +1561,41 @@ Audio2_2210d: ; 2210d (8:610d) Audio2_221f3: ; 221f3 (8:61f3) ld a, $80 - ld [$ff26], a - ld [$ff1a], a + ld [rNR52], a + ld [rNR30], a xor a - ld [$ff25], a - ld [$ff1c], a + ld [rNR51], a + ld [rNR32], a ld a, $8 - ld [$ff10], a - ld [$ff12], a - ld [$ff17], a - ld [$ff21], a + ld [rNR10], a + ld [rNR12], a + ld [rNR22], a + ld [rNR42], a ld a, $40 - ld [$ff14], a - ld [$ff19], a - ld [$ff23], a + ld [rNR14], a + ld [rNR24], a + ld [rNR44], a ld a, $77 - ld [$ff24], a + ld [rNR50], a xor a - ld [wc000], a - ld [wc003], a - ld [wc002], a - ld [wc0e9], a - ld [wc0eb], a - ld [wc0e6], a - ld [wc0e7], a + ld [wUnusedC000], a + ld [wDisableChannelOutputWhenSfxEnds], a + ld [wMuteAudioAndPauseMusic], a + ld [wMusicTempo + 1], a + ld [wSfxTempo + 1], a + ld [wMusicWaveInstrument], a + ld [wSfxWaveInstrument], a ld d, $a0 - ld hl, wc006 + ld hl, wChannelCommandPointers call FillAudioRAM2 ld a, $1 ld d, $18 - ld hl, wc0b6 + ld hl, wChannelNoteDelayCounters call FillAudioRAM2 - ld [wc0e8], a - ld [wc0ea], a + ld [wMusicTempo], a + ld [wSfxTempo], a ld a, $ff - ld [wc004], a + ld [wStereoPanning], a ret ; fills d bytes at hl with a @@ -1608,7 +1608,7 @@ FillAudioRAM2: ; 22248 (8:6248) ret Audio2_2224e: ; 2224e (8:624e) - ld a, [wc001] + ld a, [wSoundID] ld l, a ld e, a ld h, $0 @@ -1619,7 +1619,7 @@ Audio2_2224e: ; 2224e (8:624e) add hl, de ld e, l ld d, h - ld hl, wc006 + ld hl, wChannelCommandPointers ld a, [de] ; get channel number ld b, a rlca @@ -1645,14 +1645,14 @@ Audio2_2224e: ; 2224e (8:624e) push af ld b, $0 ld c, a - ld hl, wc026 + ld hl, wChannelSoundIDs add hl, bc - ld a, [wc001] + ld a, [wSoundID] ld [hl], a pop af cp $3 jr c, .asm_22291 - ld hl, wc02e + ld hl, wChannelFlags1 add hl, bc set 2, [hl] .asm_22291 @@ -1671,34 +1671,34 @@ Audio2_2224e: ; 2224e (8:624e) ld a, [de] inc de jr nz, .asm_22270 - ld a, [wc001] + ld a, [wSoundID] cp $14 jr nc, .asm_222aa jr .asm_222d4 .asm_222aa - ld a, [wc001] + ld a, [wSoundID] cp $86 jr z, .asm_222d4 jr c, .asm_222b5 jr .asm_222d4 .asm_222b5 - ld hl, wc02a + ld hl, wChannelSoundIDs + CH4 ld [hli], a ld [hli], a ld [hli], a ld [hl], a - ld hl, wc012 ; sfx noise channel pointer + ld hl, wChannelCommandPointers + CH6 * 2 ; sfx noise channel pointer ld de, Noise2_endchannel ld [hl], e inc hl ld [hl], d ; overwrite pointer to point to endchannel - ld a, [wc005] + ld a, [wSavedVolume] and a jr nz, .asm_222d4 - ld a, [$ff24] - ld [wc005], a + ld a, [rNR50] + ld [wSavedVolume], a ld a, $77 - ld [$ff24], a + ld [rNR50], a .asm_222d4 ret diff --git a/audio/engine_3.asm b/audio/engine_3.asm index 93fa62aa..c7254405 100644 --- a/audio/engine_3.asm +++ b/audio/engine_3.asm @@ -4,7 +4,7 @@ Audio3_UpdateMusic:: ; 7d177 (1f:5177) ld c, CH0 .loop ld b, $0 - ld hl, wc026 + ld hl, wChannelSoundIDs add hl, bc ld a, [hl] and a @@ -12,18 +12,18 @@ Audio3_UpdateMusic:: ; 7d177 (1f:5177) ld a, c cp CH4 jr nc, .applyAffects ; if sfx channel - ld a, [wc002] + ld a, [wMuteAudioAndPauseMusic] and a jr z, .applyAffects bit 7, a jr nz, .nextChannel set 7, a - ld [wc002], a + ld [wMuteAudioAndPauseMusic], a xor a - ld [$ff25], a - ld [$ff1a], a + ld [rNR51], a + ld [rNR30], a ld a, $80 - ld [$ff1a], a + ld [rNR30], a jr .nextChannel .applyAffects call Audio3_ApplyMusicAffects @@ -36,7 +36,7 @@ Audio3_UpdateMusic:: ; 7d177 (1f:5177) ; this routine checks flags for music effects currently applied ; to the channel and calls certain functions based on flags. -; known flags for wc02e: +; known flags for wChannelFlags1: ; 0: toggleperfectpitch has been used ; 1: call has been used ; 3: a toggle used only by this routine for vibrato @@ -44,7 +44,7 @@ Audio3_UpdateMusic:: ; 7d177 (1f:5177) ; 6: dutycycle flag Audio3_ApplyMusicAffects: ; 7d1ac (1f:51ac) ld b, $0 - ld hl, wc0b6 ; delay until next note + ld hl, wChannelNoteDelayCounters ; delay until next note add hl, bc ld a, [hl] cp $1 ; if delay is 1, play next note @@ -54,36 +54,36 @@ Audio3_ApplyMusicAffects: ; 7d1ac (1f:51ac) ld a, c cp CH4 jr nc, .startChecks ; if a sfx channel - ld hl, wc02a + ld hl, wChannelSoundIDs + CH4 add hl, bc ld a, [hl] and a jr z, .startChecks ret .startChecks - ld hl, wc02e + ld hl, wChannelFlags1 add hl, bc bit 6, [hl] ; dutycycle jr z, .checkForExecuteMusic call Audio3_ApplyDutyCycle .checkForExecuteMusic ld b, $0 - ld hl, wc036 + ld hl, wChannelFlags2 add hl, bc bit 0, [hl] jr nz, .checkForPitchBend - ld hl, wc02e + ld hl, wChannelFlags1 add hl, bc bit 2, [hl] jr nz, .disablePitchBendVibrato .checkForPitchBend - ld hl, wc02e + ld hl, wChannelFlags1 add hl, bc bit 4, [hl] ; pitchbend jr z, .checkVibratoDelay jp Audio3_ApplyPitchBend .checkVibratoDelay - ld hl, wc04e ; vibrato delay + ld hl, wChannelVibratoDelayCounters ; vibrato delay add hl, bc ld a, [hl] and a ; check if delay is over @@ -92,7 +92,7 @@ Audio3_ApplyMusicAffects: ; 7d1ac (1f:51ac) .disablePitchBendVibrato ret .checkForVibrato - ld hl, wc056 ; vibrato rate + ld hl, wChannelVibratoExtents ; vibrato rate add hl, bc ld a, [hl] and a @@ -100,7 +100,7 @@ Audio3_ApplyMusicAffects: ; 7d1ac (1f:51ac) ret ; no vibrato .vibrato ld d, a - ld hl, wc05e + ld hl, wChannelVibratoRates add hl, bc ld a, [hl] and $f @@ -113,10 +113,10 @@ Audio3_ApplyMusicAffects: ; 7d1ac (1f:51ac) swap [hl] or [hl] ld [hl], a ; reset the vibrato value and start again - ld hl, wc066 + ld hl, wChannelFrequencyLowBytes add hl, bc ld e, [hl] ; get note pitch - ld hl, wc02e + ld hl, wChannelFlags1 add hl, bc bit 3, [hl] ; this is the only code that sets/resets bit three so jr z, .unset ; it continuously alternates which path it takes @@ -149,13 +149,13 @@ Audio3_ApplyMusicAffects: ; 7d1ac (1f:51ac) ; like tempo changes, duty changes etc. and doesn't return ; until the first note is reached Audio3_PlayNextNote: ; 7d244 (1f:5244) - ld hl, wc06e + ld hl, wChannelVibratoDelayCounterReloadValues add hl, bc ld a, [hl] - ld hl, wc04e + ld hl, wChannelVibratoDelayCounters add hl, bc ld [hl], a - ld hl, wc02e + ld hl, wChannelFlags1 add hl, bc res 4, [hl] res 5, [hl] @@ -168,7 +168,7 @@ Audio3_endchannel: ; 7d25a (1f:525a) cp $ff ; is this command an endchannel? jp nz, Audio3_callchannel ; no ld b, $0 ; yes - ld hl, wc02e + ld hl, wChannelFlags1 add hl, bc bit 1, [hl] jr nz, .returnFromCall @@ -178,22 +178,22 @@ Audio3_endchannel: ; 7d25a (1f:525a) jr .asm_7d2b3 .noiseOrSfxChannel res 2, [hl] - ld hl, wc036 + ld hl, wChannelFlags2 add hl, bc res 0, [hl] cp CH6 jr nz, .notSfxChannel3 ld a, $0 - ld [$ff1a], a + ld [rNR30], a ld a, $80 - ld [$ff1a], a + ld [rNR30], a .notSfxChannel3 jr nz, .asm_7d296 - ld a, [wc003] + ld a, [wDisableChannelOutputWhenSfxEnds] and a jr z, .asm_7d296 xor a - ld [wc003], a + ld [wDisableChannelOutputWhenSfxEnds], a jr .asm_7d2b3 .asm_7d296 jr .asm_7d2bc @@ -203,10 +203,10 @@ Audio3_endchannel: ; 7d25a (1f:525a) ld a, c add a ld e, a - ld hl, wc006 + ld hl, wChannelCommandPointers add hl, de push hl ; store current channel address - ld hl, wc016 + ld hl, wChannelReturnAddresses add hl, de ld e, l ld d, h @@ -220,16 +220,16 @@ Audio3_endchannel: ; 7d25a (1f:525a) .asm_7d2b3 ld hl, Unknown_7db93 add hl, bc - ld a, [$ff25] + ld a, [rNR51] and [hl] - ld [$ff25], a + ld [rNR51], a .asm_7d2bc - ld a, [wc02a] + ld a, [wChannelSoundIDs + CH4] cp $14 jr nc, .asm_7d2c5 jr .asm_7d2e2 .asm_7d2c5 - ld a, [wc02a] + ld a, [wChannelSoundIDs + CH4] cp $86 jr z, .asm_7d2e2 jr c, .asm_7d2d0 @@ -241,12 +241,12 @@ Audio3_endchannel: ; 7d25a (1f:525a) call Audio3_7d73b ret c .asm_7d2d9 - ld a, [wc005] - ld [$ff24], a + ld a, [wSavedVolume] + ld [rNR50], a xor a - ld [wc005], a + ld [wSavedVolume], a .asm_7d2e2 - ld hl, wc026 + ld hl, wChannelSoundIDs add hl, bc ld [hl], b ret @@ -265,10 +265,10 @@ Audio3_callchannel: ; 7d2e8 (1f:52e8) ld a, c add a ld e, a - ld hl, wc006 + ld hl, wChannelCommandPointers add hl, de push hl - ld hl, wc016 + ld hl, wChannelReturnAddresses add hl, de ld e, l ld d, h @@ -283,7 +283,7 @@ Audio3_callchannel: ; 7d2e8 (1f:52e8) inc hl ld [hl], d ; overwrite current address with pointer ld b, $0 - ld hl, wc02e + ld hl, wChannelFlags1 add hl, bc set 1, [hl] ; set the call flag jp Audio3_endchannel @@ -296,7 +296,7 @@ Audio3_loopchannel: ; 7d31d (1f:531d) and a jr z, .infiniteLoop ld b, $0 - ld hl, wc0be + ld hl, wChannelLoopCounters add hl, bc ld a, [hl] cp e @@ -319,7 +319,7 @@ Audio3_loopchannel: ; 7d31d (1f:531d) ld a, c add a ld e, a - ld hl, wc006 + ld hl, wChannelCommandPointers add hl, de pop af ld [hli], a @@ -333,7 +333,7 @@ Audio3_notetype: ; 7d358 (1f:5358) ld a, d ; yes and $f ld b, $0 - ld hl, wc0c6 + ld hl, wChannelNoteSpeeds add hl, bc ld [hl], a ; store low nibble as speed ld a, c @@ -346,10 +346,10 @@ Audio3_notetype: ; 7d358 (1f:5358) jr z, .musicChannel3 cp CH6 jr nz, .notChannel3 - ld hl, wc0e7 + ld hl, wSfxWaveInstrument jr .sfxChannel3 .musicChannel3 - ld hl, wc0e6 + ld hl, wMusicWaveInstrument .sfxChannel3 ld a, d and $f @@ -364,7 +364,7 @@ Audio3_notetype: ; 7d358 (1f:5358) ; else, store volume (high nibble) and fade (low nibble) .notChannel3 ld b, $0 - ld hl, wc0de + ld hl, wChannelVolumes add hl, bc ld [hl], d .noiseChannel @@ -375,11 +375,11 @@ Audio3_toggleperfectpitch: ; 7d397 (1f:5397) cp $e8 ; is this command a toggleperfectpitch? jr nz, Audio3_vibrato ; no ld b, $0 ; yes - ld hl, wc02e + ld hl, wChannelFlags1 add hl, bc ld a, [hl] xor $1 - ld [hl], a ; flip bit 0 of wc02e + ld [hl], a ; flip bit 0 of wChannelFlags1 jp Audio3_endchannel Audio3_vibrato: ; 7d3a9 (1f:53a9) @@ -387,10 +387,10 @@ Audio3_vibrato: ; 7d3a9 (1f:53a9) jr nz, Audio3_pitchbend ; no call Audio3_GetNextMusicByte ; yes ld b, $0 - ld hl, wc04e + ld hl, wChannelVibratoDelayCounters add hl, bc ld [hl], a ; store delay - ld hl, wc06e + ld hl, wChannelVibratoDelayCounterReloadValues add hl, bc ld [hl], a ; store delay call Audio3_GetNextMusicByte @@ -398,7 +398,7 @@ Audio3_vibrato: ; 7d3a9 (1f:53a9) and $f0 swap a ld b, $0 - ld hl, wc056 + ld hl, wChannelVibratoExtents add hl, bc srl a ld e, a @@ -409,7 +409,7 @@ Audio3_vibrato: ; 7d3a9 (1f:53a9) ld a, d and $f ld d, a - ld hl, wc05e + ld hl, wChannelVibratoRates add hl, bc swap a or d @@ -421,7 +421,7 @@ Audio3_pitchbend: ; 7d3e1 (1f:53e1) jr nz, Audio3_duty ; no call Audio3_GetNextMusicByte ; yes ld b, $0 - ld hl, wc076 + ld hl, wChannelPitchBendLengthModifiers add hl, bc ld [hl], a ; store first param call Audio3_GetNextMusicByte @@ -433,14 +433,14 @@ Audio3_pitchbend: ; 7d3e1 (1f:53e1) and $f call Audio3_7d8cc ld b, $0 - ld hl, wc0a6 + ld hl, wChannelPitchBendTargetFrequencyHighBytes add hl, bc ld [hl], d ; store unknown part of second param - ld hl, wc0ae + ld hl, wChannelPitchBendTargetFrequencyLowBytes add hl, bc ld [hl], e ; store unknown part of second param ld b, $0 - ld hl, wc02e + ld hl, wChannelFlags1 add hl, bc set 4, [hl] ; set pitchbend flag call Audio3_GetNextMusicByte @@ -455,7 +455,7 @@ Audio3_duty: ; 7d419 (1f:5419) rrca and $c0 ld b, $0 - ld hl, wc03e + ld hl, wChannelDuties add hl, bc ld [hl], a ; store duty jp Audio3_endchannel @@ -467,25 +467,25 @@ Audio3_tempo: ; 7d42e (1f:542e) cp CH4 jr nc, .sfxChannel call Audio3_GetNextMusicByte - ld [wc0e8], a ; store first param + ld [wMusicTempo], a ; store first param call Audio3_GetNextMusicByte - ld [wc0e9], a ; store second param + ld [wMusicTempo + 1], a ; store second param xor a - ld [wc0ce], a ; clear RAM - ld [wc0cf], a - ld [wc0d0], a - ld [wc0d1], a + ld [wChannelNoteDelayCountersFractionalPart], a ; clear RAM + ld [wChannelNoteDelayCountersFractionalPart + 1], a + ld [wChannelNoteDelayCountersFractionalPart + 2], a + ld [wChannelNoteDelayCountersFractionalPart + 3], a jr .musicChannelDone .sfxChannel call Audio3_GetNextMusicByte - ld [wc0ea], a ; store first param + ld [wSfxTempo], a ; store first param call Audio3_GetNextMusicByte - ld [wc0eb], a ; store second param + ld [wSfxTempo + 1], a ; store second param xor a - ld [wc0d2], a ; clear RAM - ld [wc0d3], a - ld [wc0d4], a - ld [wc0d5], a + ld [wChannelNoteDelayCountersFractionalPart + 4], a ; clear RAM + ld [wChannelNoteDelayCountersFractionalPart + 5], a + ld [wChannelNoteDelayCountersFractionalPart + 6], a + ld [wChannelNoteDelayCountersFractionalPart + 7], a .musicChannelDone jp Audio3_endchannel @@ -493,7 +493,7 @@ Audio3_stereopanning: ; 7d46e (1f:546e) cp $ee ; is this command a stereopanning? jr nz, Audio3_unknownmusic0xef ; no call Audio3_GetNextMusicByte ; yes - ld [wc004], a ; store panning + ld [wStereoPanning], a ; store panning jp Audio3_endchannel ; this appears to never be used @@ -502,15 +502,15 @@ Audio3_unknownmusic0xef: ; 7d47b (1f:547b) jr nz, Audio3_dutycycle ; no call Audio3_GetNextMusicByte ; yes push bc - call Audio3_7d8ea + call Audio3_PlaySound pop bc - ld a, [wc003] + ld a, [wDisableChannelOutputWhenSfxEnds] and a jr nz, .skip - ld a, [wc02d] - ld [wc003], a + ld a, [wChannelSoundIDs + CH7] + ld [wDisableChannelOutputWhenSfxEnds], a xor a - ld [wc02d], a + ld [wChannelSoundIDs + CH7], a .skip jp Audio3_endchannel @@ -519,14 +519,14 @@ Audio3_dutycycle: ; 7d49a (1f:549a) jr nz, Audio3_volume ; no call Audio3_GetNextMusicByte ; yes ld b, $0 - ld hl, wc046 + ld hl, wChannelDutyCycles add hl, bc ld [hl], a ; store full cycle and $c0 - ld hl, wc03e + ld hl, wChannelDuties add hl, bc ld [hl], a ; store first duty - ld hl, wc02e + ld hl, wChannelFlags1 add hl, bc set 6, [hl] ; set duty flag jp Audio3_endchannel @@ -535,14 +535,14 @@ Audio3_volume: ; 7d4b8 (1f:54b8) cp $f0 ; is this command a volume? jr nz, Audio3_executemusic ; no call Audio3_GetNextMusicByte ; yes - ld [$ff24], a ; store volume + ld [rNR50], a ; store volume jp Audio3_endchannel Audio3_executemusic: ; 7d4c4 (1f:54c4) cp $f8 ; is this command an executemusic? jr nz, Audio3_octave ; no ld b, $0 ; yes - ld hl, wc036 + ld hl, wChannelFlags2 add hl, bc set 0, [hl] jp Audio3_endchannel @@ -551,7 +551,7 @@ Audio3_octave: ; 7d4d3 (1f:54d3) and $f0 cp $e0 ; is this command an octave? jr nz, Audio3_unknownsfx0x20 ; no - ld hl, wc0d6 ; yes + ld hl, wChannelOctaves ; yes ld b, $0 add hl, bc ld a, d @@ -566,14 +566,14 @@ Audio3_unknownsfx0x20: ; 7d4e6 (1f:54e6) cp CH3 ; is this a noise or sfx channel? jr c, Audio3_unknownsfx0x10 ; no ld b, $0 - ld hl, wc036 + ld hl, wChannelFlags2 add hl, bc bit 0, [hl] jr nz, Audio3_unknownsfx0x10 ; no call Audio3_notelength ; yes ld d, a ld b, $0 - ld hl, wc03e + ld hl, wChannelDuties add hl, bc ld a, [hl] or d @@ -612,12 +612,12 @@ Audio3_unknownsfx0x10: ; 7d533 (1f:5533) cp $10 ; is this command an unknownsfx0x10? jr nz, Audio3_note ; no ld b, $0 - ld hl, wc036 + ld hl, wChannelFlags2 add hl, bc bit 0, [hl] jr nz, Audio3_note ; no call Audio3_GetNextMusicByte ; yes - ld [$ff10], a + ld [rNR10], a jp Audio3_endchannel Audio3_note: ; 7d54f (1f:554f) @@ -647,11 +647,11 @@ Audio3_dnote: ; 7d569 (1f:5569) call Audio3_GetNextMusicByte ; get dnote instrument asm_7d571 ld d, a - ld a, [wc003] + ld a, [wDisableChannelOutputWhenSfxEnds] and a jr nz, .asm_7d57c ld a, d - call Audio3_7d8ea + call Audio3_PlaySound .asm_7d57c pop bc pop de @@ -664,7 +664,7 @@ Audio3_notelength: ; 7d57e (1f:557e) ld b, $0 ld e, a ; store note length (in 16ths) ld d, b - ld hl, wc0c6 + ld hl, wChannelNoteSpeeds add hl, bc ld a, [hl] ld l, b @@ -672,9 +672,9 @@ Audio3_notelength: ; 7d57e (1f:557e) ld a, c cp CH4 jr nc, .sfxChannel - ld a, [wc0e8] + ld a, [wMusicTempo] ld d, a - ld a, [wc0e9] + ld a, [wMusicTempo + 1] ld e, a jr .skip .sfxChannel @@ -683,31 +683,31 @@ Audio3_notelength: ; 7d57e (1f:557e) cp CH7 jr z, .skip ; if noise channel call Audio3_7d707 - ld a, [wc0ea] + ld a, [wSfxTempo] ld d, a - ld a, [wc0eb] + ld a, [wSfxTempo + 1] ld e, a .skip ld a, l ld b, $0 - ld hl, wc0ce + ld hl, wChannelNoteDelayCountersFractionalPart add hl, bc ld l, [hl] call Audio3_7d8bb ld e, l ld d, h - ld hl, wc0ce + ld hl, wChannelNoteDelayCountersFractionalPart add hl, bc ld [hl], e ld a, d - ld hl, wc0b6 + ld hl, wChannelNoteDelayCounters add hl, bc ld [hl], a - ld hl, wc036 + ld hl, wChannelFlags2 add hl, bc bit 0, [hl] jr nz, Audio3_notepitch - ld hl, wc02e + ld hl, wChannelFlags1 add hl, bc bit 2, [hl] jr z, Audio3_notepitch @@ -722,7 +722,7 @@ Audio3_notepitch: ; 7d5dc (1f:55dc) ld a, c cp CH4 jr nc, .sfxChannel - ld hl, wc02a + ld hl, wChannelSoundIDs + CH4 add hl, bc ld a, [hl] and a @@ -738,9 +738,9 @@ Audio3_notepitch: ; 7d5dc (1f:55dc) ld b, $0 ld hl, Unknown_7db93 add hl, bc - ld a, [$ff25] + ld a, [rNR51] and [hl] - ld [$ff25], a + ld [rNR51], a jr .quit .notSfxChannel3 ld b, $2 @@ -755,12 +755,12 @@ Audio3_notepitch: ; 7d5dc (1f:55dc) .notRest swap a ld b, $0 - ld hl, wc0d6 + ld hl, wChannelOctaves add hl, bc ld b, [hl] call Audio3_7d8cc ld b, $0 - ld hl, wc02e + ld hl, wChannelFlags1 add hl, bc bit 4, [hl] jr z, .asm_7d62c @@ -770,7 +770,7 @@ Audio3_notepitch: ; 7d5dc (1f:55dc) ld a, c cp CH4 jr nc, .skip ; if sfx Channel - ld hl, wc02a + ld hl, wChannelSoundIDs + CH4 ld d, $0 ld e, a add hl, de @@ -783,7 +783,7 @@ Audio3_notepitch: ; 7d5dc (1f:55dc) ret .skip ld b, $0 - ld hl, wc0de + ld hl, wChannelVolumes add hl, bc ld d, [hl] ld b, $2 @@ -793,7 +793,7 @@ Audio3_notepitch: ; 7d5dc (1f:55dc) call Audio3_7d66c pop de ld b, $0 - ld hl, wc02e + ld hl, wChannelFlags1 add hl, bc bit 0, [hl] ; has toggleperfectpitch been used? jr z, .skip2 @@ -801,7 +801,7 @@ Audio3_notepitch: ; 7d5dc (1f:55dc) jr nc, .skip2 inc d .skip2 - ld hl, wc066 + ld hl, wChannelFrequencyLowBytes add hl, bc ld [hl], e call Audio3_7d6bf @@ -811,7 +811,7 @@ Audio3_7d66c: ; 7d66c (1f:566c) ld b, $0 ld hl, Unknown_7db9b add hl, bc - ld a, [$ff25] + ld a, [rNR51] or [hl] ld d, a ld a, c @@ -819,18 +819,18 @@ Audio3_7d66c: ; 7d66c (1f:566c) jr z, .sfxNoiseChannel cp CH4 jr nc, .skip ; if sfx channel - ld hl, wc02a + ld hl, wChannelSoundIDs + CH4 add hl, bc ld a, [hl] and a jr nz, .skip .sfxNoiseChannel - ld a, [wc004] + ld a, [wStereoPanning] ld hl, Unknown_7db9b add hl, bc and [hl] ld d, a - ld a, [$ff25] + ld a, [rNR51] ld hl, Unknown_7db93 add hl, bc and [hl] @@ -838,12 +838,12 @@ Audio3_7d66c: ; 7d66c (1f:566c) ld d, a .skip ld a, d - ld [$ff25], a + ld [rNR51], a ret Audio3_7d69d: ; 7d69d (1f:569d) ld b, $0 - ld hl, wc0b6 + ld hl, wChannelNoteDelayCounters add hl, bc ld d, [hl] ld a, c @@ -854,7 +854,7 @@ Audio3_7d69d: ; 7d69d (1f:569d) ld a, d and $3f ld d, a - ld hl, wc03e + ld hl, wChannelDuties add hl, bc ld a, [hl] or d @@ -874,10 +874,10 @@ Audio3_7d6bf: ; 7d6bf (1f:56bf) ; fall through .channel3 push de - ld de, wc0e6 + ld de, wMusicWaveInstrument cp CH2 jr z, .musicChannel3 - ld de, wc0e7 + ld de, wSfxWaveInstrument .musicChannel3 ld a, [de] add a @@ -891,7 +891,7 @@ Audio3_7d6bf: ; 7d6bf (1f:56bf) ld hl, $ff30 ld b, $f ld a, $0 - ld [$ff1a], a + ld [rNR30], a .loop ld a, [de] inc de @@ -901,7 +901,7 @@ Audio3_7d6bf: ; 7d6bf (1f:56bf) and a jr nz, .loop ld a, $80 - ld [$ff1a], a + ld [rNR30], a pop de .notSfxChannel3 ld a, d @@ -920,27 +920,27 @@ Audio3_7d707: ; 7d707 (1f:5707) call Audio3_7d759 jr nc, .asm_7d71f ld d, $0 - ld a, [wc0f2] + ld a, [wTempoModifier] add $80 jr nc, .asm_7d716 inc d .asm_7d716 - ld [wc0eb], a + ld [wSfxTempo + 1], a ld a, d - ld [wc0ea], a + ld [wSfxTempo], a jr .asm_7d728 .asm_7d71f xor a - ld [wc0eb], a + ld [wSfxTempo + 1], a ld a, $1 - ld [wc0ea], a + ld [wSfxTempo], a .asm_7d728 ret Audio3_7d729: ; 7d729 (1f:5729) call Audio3_7d759 jr nc, .asm_7d73a - ld a, [wc0f1] + ld a, [wFrequencyModifier] add e jr nc, .asm_7d735 inc d @@ -956,7 +956,7 @@ Audio3_7d729: ; 7d729 (1f:5729) Audio3_7d73b: ; 7d73b (1f:573b) call Audio3_7d759 jr nc, .asm_7d756 - ld hl, wc006 + ld hl, wChannelCommandPointers ld e, c ld d, $0 sla e @@ -977,7 +977,7 @@ Audio3_7d73b: ; 7d73b (1f:573b) ret Audio3_7d759: ; 7d759 (1f:5759) - ld a, [wc02a] + ld a, [wChannelSoundIDs + CH4] cp $14 jr nc, .asm_7d762 jr .asm_7d768 @@ -994,27 +994,27 @@ Audio3_7d759: ; 7d759 (1f:5759) ret Audio3_ApplyPitchBend: ; 7d76d (1f:576d) - ld hl, wc02e + ld hl, wChannelFlags1 add hl, bc bit 5, [hl] jp nz, .asm_7d7b4 - ld hl, wc09e + ld hl, wChannelPitchBendCurrentFrequencyLowBytes add hl, bc ld e, [hl] - ld hl, wc096 + ld hl, wChannelPitchBendCurrentFrequencyHighBytes add hl, bc ld d, [hl] - ld hl, wc07e + ld hl, wChannelPitchBendFrequencySteps add hl, bc ld l, [hl] ld h, b add hl, de ld d, h ld e, l - ld hl, wc08e + ld hl, wChannelPitchBendCurrentFrequencyFractionalPart add hl, bc push hl - ld hl, wc086 + ld hl, wChannelPitchBendFrequencyStepsFractionalPart add hl, bc ld a, [hl] pop hl @@ -1026,26 +1026,26 @@ Audio3_ApplyPitchBend: ; 7d76d (1f:576d) ld a, $0 adc d ld d, a - ld hl, wc0a6 + ld hl, wChannelPitchBendTargetFrequencyHighBytes add hl, bc ld a, [hl] cp d jp c, .asm_7d7fa jr nz, .asm_7d7e7 - ld hl, wc0ae + ld hl, wChannelPitchBendTargetFrequencyLowBytes add hl, bc ld a, [hl] cp e jp c, .asm_7d7fa jr .asm_7d7e7 .asm_7d7b4 - ld hl, wc09e + ld hl, wChannelPitchBendCurrentFrequencyLowBytes add hl, bc ld a, [hl] - ld hl, wc096 + ld hl, wChannelPitchBendCurrentFrequencyHighBytes add hl, bc ld d, [hl] - ld hl, wc07e + ld hl, wChannelPitchBendFrequencySteps add hl, bc ld e, [hl] sub e @@ -1053,7 +1053,7 @@ Audio3_ApplyPitchBend: ; 7d76d (1f:576d) ld a, d sbc b ld d, a - ld hl, wc086 + ld hl, wChannelPitchBendFrequencyStepsFractionalPart add hl, bc ld a, [hl] add a @@ -1064,22 +1064,22 @@ Audio3_ApplyPitchBend: ; 7d76d (1f:576d) ld a, d sbc b ld d, a - ld hl, wc0a6 + ld hl, wChannelPitchBendTargetFrequencyHighBytes add hl, bc ld a, d cp [hl] jr c, .asm_7d7fa jr nz, .asm_7d7e7 - ld hl, wc0ae + ld hl, wChannelPitchBendTargetFrequencyLowBytes add hl, bc ld a, e cp [hl] jr c, .asm_7d7fa .asm_7d7e7 - ld hl, wc09e + ld hl, wChannelPitchBendCurrentFrequencyLowBytes add hl, bc ld [hl], e - ld hl, wc096 + ld hl, wChannelPitchBendCurrentFrequencyHighBytes add hl, bc ld [hl], d ld b, $3 @@ -1089,54 +1089,54 @@ Audio3_ApplyPitchBend: ; 7d76d (1f:576d) ld [hl], d ret .asm_7d7fa - ld hl, wc02e + ld hl, wChannelFlags1 add hl, bc res 4, [hl] res 5, [hl] ret Audio3_7d803: ; 7d803 (1f:5803) - ld hl, wc096 + ld hl, wChannelPitchBendCurrentFrequencyHighBytes add hl, bc ld [hl], d - ld hl, wc09e + ld hl, wChannelPitchBendCurrentFrequencyLowBytes add hl, bc ld [hl], e - ld hl, wc0b6 + ld hl, wChannelNoteDelayCounters add hl, bc ld a, [hl] - ld hl, wc076 + ld hl, wChannelPitchBendLengthModifiers add hl, bc sub [hl] jr nc, .asm_7d81b ld a, $1 .asm_7d81b ld [hl], a - ld hl, wc0ae + ld hl, wChannelPitchBendTargetFrequencyLowBytes add hl, bc ld a, e sub [hl] ld e, a ld a, d sbc b - ld hl, wc0a6 + ld hl, wChannelPitchBendTargetFrequencyHighBytes add hl, bc sub [hl] jr c, .asm_7d837 ld d, a ld b, $0 - ld hl, wc02e + ld hl, wChannelFlags1 add hl, bc set 5, [hl] jr .asm_7d85a .asm_7d837 - ld hl, wc096 + ld hl, wChannelPitchBendCurrentFrequencyHighBytes add hl, bc ld d, [hl] - ld hl, wc09e + ld hl, wChannelPitchBendCurrentFrequencyLowBytes add hl, bc ld e, [hl] - ld hl, wc0ae + ld hl, wChannelPitchBendTargetFrequencyLowBytes add hl, bc ld a, [hl] sub e @@ -1144,17 +1144,17 @@ Audio3_7d803: ; 7d803 (1f:5803) ld a, d sbc b ld d, a - ld hl, wc0a6 + ld hl, wChannelPitchBendTargetFrequencyHighBytes add hl, bc ld a, [hl] sub d ld d, a ld b, $0 - ld hl, wc02e + ld hl, wChannelFlags1 add hl, bc res 5, [hl] .asm_7d85a - ld hl, wc076 + ld hl, wChannelPitchBendLengthModifiers add hl, bc .asm_7d85e inc b @@ -1173,20 +1173,20 @@ Audio3_7d803: ; 7d803 (1f:5803) add [hl] ld d, b ld b, $0 - ld hl, wc07e + ld hl, wChannelPitchBendFrequencySteps add hl, bc ld [hl], d - ld hl, wc086 + ld hl, wChannelPitchBendFrequencyStepsFractionalPart add hl, bc ld [hl], a - ld hl, wc08e + ld hl, wChannelPitchBendCurrentFrequencyFractionalPart add hl, bc ld [hl], a ret Audio3_ApplyDutyCycle: ; 7d881 (1f:5881) ld b, $0 - ld hl, wc046 + ld hl, wChannelDutyCycles add hl, bc ld a, [hl] rlca @@ -1207,7 +1207,7 @@ Audio3_GetNextMusicByte: ; 7d899 (1f:5899) ld a, c add a ld e, a - ld hl, wc006 + ld hl, wChannelCommandPointers add hl, de ld a, [hli] ld e, a @@ -1274,8 +1274,8 @@ Audio3_7d8cc: ; 7d8cc (1f:58cc) ld d, a ret -Audio3_7d8ea:: ; 7d8ea (1f:58ea) - ld [wc001], a +Audio3_PlaySound:: ; 7d8ea (1f:58ea) + ld [wSoundID], a cp $ff jp z, Audio3_7daa8 cp $c2 @@ -1286,75 +1286,75 @@ Audio3_7d8ea:: ; 7d8ea (1f:58ea) jp nc, Audio3_7d9c2 .asm_7d901 xor a - ld [wc000], a - ld [wc003], a - ld [wc0e9], a - ld [wc0e6], a - ld [wc0e7], a + ld [wUnusedC000], a + ld [wDisableChannelOutputWhenSfxEnds], a + ld [wMusicTempo + 1], a + ld [wMusicWaveInstrument], a + ld [wSfxWaveInstrument], a ld d, $8 - ld hl, wc016 + ld hl, wChannelReturnAddresses call FillAudioRAM3 - ld hl, wc006 + ld hl, wChannelCommandPointers call FillAudioRAM3 ld d, $4 - ld hl, wc026 + ld hl, wChannelSoundIDs call FillAudioRAM3 - ld hl, wc02e + ld hl, wChannelFlags1 call FillAudioRAM3 - ld hl, wc03e + ld hl, wChannelDuties call FillAudioRAM3 - ld hl, wc046 + ld hl, wChannelDutyCycles call FillAudioRAM3 - ld hl, wc04e + ld hl, wChannelVibratoDelayCounters call FillAudioRAM3 - ld hl, wc056 + ld hl, wChannelVibratoExtents call FillAudioRAM3 - ld hl, wc05e + ld hl, wChannelVibratoRates call FillAudioRAM3 - ld hl, wc066 + ld hl, wChannelFrequencyLowBytes call FillAudioRAM3 - ld hl, wc06e + ld hl, wChannelVibratoDelayCounterReloadValues call FillAudioRAM3 - ld hl, wc036 + ld hl, wChannelFlags2 call FillAudioRAM3 - ld hl, wc076 + ld hl, wChannelPitchBendLengthModifiers call FillAudioRAM3 - ld hl, wc07e + ld hl, wChannelPitchBendFrequencySteps call FillAudioRAM3 - ld hl, wc086 + ld hl, wChannelPitchBendFrequencyStepsFractionalPart call FillAudioRAM3 - ld hl, wc08e + ld hl, wChannelPitchBendCurrentFrequencyFractionalPart call FillAudioRAM3 - ld hl, wc096 + ld hl, wChannelPitchBendCurrentFrequencyHighBytes call FillAudioRAM3 - ld hl, wc09e + ld hl, wChannelPitchBendCurrentFrequencyLowBytes call FillAudioRAM3 - ld hl, wc0a6 + ld hl, wChannelPitchBendTargetFrequencyHighBytes call FillAudioRAM3 - ld hl, wc0ae + ld hl, wChannelPitchBendTargetFrequencyLowBytes call FillAudioRAM3 ld a, $1 - ld hl, wc0be + ld hl, wChannelLoopCounters call FillAudioRAM3 - ld hl, wc0b6 + ld hl, wChannelNoteDelayCounters call FillAudioRAM3 - ld hl, wc0c6 + ld hl, wChannelNoteSpeeds call FillAudioRAM3 - ld [wc0e8], a + ld [wMusicTempo], a ld a, $ff - ld [wc004], a + ld [wStereoPanning], a xor a - ld [$ff24], a + ld [rNR50], a ld a, $8 - ld [$ff10], a + ld [rNR10], a ld a, $0 - ld [$ff25], a + ld [rNR51], a xor a - ld [$ff1a], a + ld [rNR30], a ld a, $80 - ld [$ff1a], a + ld [rNR30], a ld a, $77 - ld [$ff24], a + ld [rNR50], a jp Audio3_7db03 Audio3_7d9c2: ; 7d9c2 (1f:59c2) @@ -1367,9 +1367,9 @@ Audio3_7d9c2: ; 7d9c2 (1f:59c2) ld de, SFX_Headers_3 add hl, de ld a, h - ld [wc0ec], a + ld [wSfxHeaderPointer], a ld a, l - ld [wc0ed], a + ld [wSfxHeaderPointer + 1], a ld a, [hl] and $c0 rlca @@ -1382,9 +1382,9 @@ Audio3_7d9c2: ; 7d9c2 (1f:59c2) add c ld c, a ld b, $0 - ld a, [wc0ec] + ld a, [wSfxHeaderPointer] ld h, a - ld a, [wc0ed] + ld a, [wSfxHeaderPointer + 1] ld l, a add hl, bc ld c, d @@ -1392,7 +1392,7 @@ Audio3_7d9c2: ; 7d9c2 (1f:59c2) and $f ld e, a ld d, $0 - ld hl, wc026 + ld hl, wChannelSoundIDs add hl, de ld a, [hl] and a @@ -1400,7 +1400,7 @@ Audio3_7d9c2: ; 7d9c2 (1f:59c2) ld a, e cp $7 jr nz, .asm_7da0e - ld a, [wc001] + ld a, [wSoundID] cp $14 jr nc, .asm_7da07 ret @@ -1410,7 +1410,7 @@ Audio3_7d9c2: ; 7d9c2 (1f:59c2) jr z, .asm_7da17 jr c, .asm_7da17 .asm_7da0e - ld a, [wc001] + ld a, [wSoundID] cp [hl] jr z, .asm_7da17 jr c, .asm_7da17 @@ -1423,84 +1423,84 @@ Audio3_7d9c2: ; 7d9c2 (1f:59c2) add hl, hl ld d, h ld e, l - ld hl, wc016 + ld hl, wChannelReturnAddresses add hl, de ld [hli], a ld [hl], a - ld hl, wc006 + ld hl, wChannelCommandPointers add hl, de ld [hli], a ld [hl], a pop de - ld hl, wc026 + ld hl, wChannelSoundIDs add hl, de ld [hl], a - ld hl, wc02e + ld hl, wChannelFlags1 add hl, de ld [hl], a - ld hl, wc03e + ld hl, wChannelDuties add hl, de ld [hl], a - ld hl, wc046 + ld hl, wChannelDutyCycles add hl, de ld [hl], a - ld hl, wc04e + ld hl, wChannelVibratoDelayCounters add hl, de ld [hl], a - ld hl, wc056 + ld hl, wChannelVibratoExtents add hl, de ld [hl], a - ld hl, wc05e + ld hl, wChannelVibratoRates add hl, de ld [hl], a - ld hl, wc066 + ld hl, wChannelFrequencyLowBytes add hl, de ld [hl], a - ld hl, wc06e + ld hl, wChannelVibratoDelayCounterReloadValues add hl, de ld [hl], a - ld hl, wc076 + ld hl, wChannelPitchBendLengthModifiers add hl, de ld [hl], a - ld hl, wc07e + ld hl, wChannelPitchBendFrequencySteps add hl, de ld [hl], a - ld hl, wc086 + ld hl, wChannelPitchBendFrequencyStepsFractionalPart add hl, de ld [hl], a - ld hl, wc08e + ld hl, wChannelPitchBendCurrentFrequencyFractionalPart add hl, de ld [hl], a - ld hl, wc096 + ld hl, wChannelPitchBendCurrentFrequencyHighBytes add hl, de ld [hl], a - ld hl, wc09e + ld hl, wChannelPitchBendCurrentFrequencyLowBytes add hl, de ld [hl], a - ld hl, wc0a6 + ld hl, wChannelPitchBendTargetFrequencyHighBytes add hl, de ld [hl], a - ld hl, wc0ae + ld hl, wChannelPitchBendTargetFrequencyLowBytes add hl, de ld [hl], a - ld hl, wc036 + ld hl, wChannelFlags2 add hl, de ld [hl], a ld a, $1 - ld hl, wc0be + ld hl, wChannelLoopCounters add hl, de ld [hl], a - ld hl, wc0b6 + ld hl, wChannelNoteDelayCounters add hl, de ld [hl], a - ld hl, wc0c6 + ld hl, wChannelNoteSpeeds add hl, de ld [hl], a ld a, e cp $4 jr nz, .asm_7da9f ld a, $8 - ld [$ff10], a + ld [rNR10], a .asm_7da9f ld a, c and a @@ -1510,41 +1510,41 @@ Audio3_7d9c2: ; 7d9c2 (1f:59c2) Audio3_7daa8: ; 7daa8 (1f:5aa8) ld a, $80 - ld [$ff26], a - ld [$ff1a], a + ld [rNR52], a + ld [rNR30], a xor a - ld [$ff25], a - ld [$ff1c], a + ld [rNR51], a + ld [rNR32], a ld a, $8 - ld [$ff10], a - ld [$ff12], a - ld [$ff17], a - ld [$ff21], a + ld [rNR10], a + ld [rNR12], a + ld [rNR22], a + ld [rNR42], a ld a, $40 - ld [$ff14], a - ld [$ff19], a - ld [$ff23], a + ld [rNR14], a + ld [rNR24], a + ld [rNR44], a ld a, $77 - ld [$ff24], a + ld [rNR50], a xor a - ld [wc000], a - ld [wc003], a - ld [wc002], a - ld [wc0e9], a - ld [wc0eb], a - ld [wc0e6], a - ld [wc0e7], a + ld [wUnusedC000], a + ld [wDisableChannelOutputWhenSfxEnds], a + ld [wMuteAudioAndPauseMusic], a + ld [wMusicTempo + 1], a + ld [wSfxTempo + 1], a + ld [wMusicWaveInstrument], a + ld [wSfxWaveInstrument], a ld d, $a0 - ld hl, wc006 + ld hl, wChannelCommandPointers call FillAudioRAM3 ld a, $1 ld d, $18 - ld hl, wc0b6 + ld hl, wChannelNoteDelayCounters call FillAudioRAM3 - ld [wc0e8], a - ld [wc0ea], a + ld [wMusicTempo], a + ld [wSfxTempo], a ld a, $ff - ld [wc004], a + ld [wStereoPanning], a ret ; fills d bytes at hl with a @@ -1557,7 +1557,7 @@ FillAudioRAM3: ; 7dafd (1f:5afd) ret Audio3_7db03: ; 7db03 (1f:5b03) - ld a, [wc001] + ld a, [wSoundID] ld l, a ld e, a ld h, $0 @@ -1568,7 +1568,7 @@ Audio3_7db03: ; 7db03 (1f:5b03) add hl, de ld e, l ld d, h - ld hl, wc006 + ld hl, wChannelCommandPointers ld a, [de] ; get channel number ld b, a rlca @@ -1594,14 +1594,14 @@ Audio3_7db03: ; 7db03 (1f:5b03) push af ld b, $0 ld c, a - ld hl, wc026 + ld hl, wChannelSoundIDs add hl, bc - ld a, [wc001] + ld a, [wSoundID] ld [hl], a pop af cp $3 jr c, .asm_7db46 - ld hl, wc02e + ld hl, wChannelFlags1 add hl, bc set 2, [hl] .asm_7db46 @@ -1620,34 +1620,34 @@ Audio3_7db03: ; 7db03 (1f:5b03) ld a, [de] inc de jr nz, .asm_7db25 - ld a, [wc001] + ld a, [wSoundID] cp $14 jr nc, .asm_7db5f jr .asm_7db89 .asm_7db5f - ld a, [wc001] + ld a, [wSoundID] cp $86 jr z, .asm_7db89 jr c, .asm_7db6a jr .asm_7db89 .asm_7db6a - ld hl, wc02a + ld hl, wChannelSoundIDs + CH4 ld [hli], a ld [hli], a ld [hli], a ld [hl], a - ld hl, wc012 ; sfx noise channel pointer + ld hl, wChannelCommandPointers + CH6 * 2 ; sfx noise channel pointer ld de, Noise3_endchannel ld [hl], e inc hl ld [hl], d ; overwrite pointer to point to endchannel - ld a, [wc005] + ld a, [wSavedVolume] and a jr nz, .asm_7db89 - ld a, [$ff24] - ld [wc005], a + ld a, [rNR50] + ld [wSavedVolume], a ld a, $77 - ld [$ff24], a + ld [rNR50], a .asm_7db89 ret diff --git a/constants/hardware_constants.asm b/constants/hardware_constants.asm index f9e3fe19..21a3ad93 100644 --- a/constants/hardware_constants.asm +++ b/constants/hardware_constants.asm @@ -107,4 +107,3 @@ rUNKNOWN5 EQU $ff75 ; (8Fh) - Bit 4-6 (Read/Write) rUNKNOWN6 EQU $ff76 ; (00h) - Always 00h (Read Only) rUNKNOWN7 EQU $ff77 ; (00h) - Always 00h (Read Only) rIE EQU $ffff ; Interrupt Enable (R/W) - diff --git a/constants/music_constants.asm b/constants/music_constants.asm index f239acea..57ad230d 100644 --- a/constants/music_constants.asm +++ b/constants/music_constants.asm @@ -1,3 +1,42 @@ +; HW sound channel register base addresses +HW_CH1_BASE EQU (rNR10 % $100) +HW_CH2_BASE EQU ((rNR21 % $100) - 1) +HW_CH3_BASE EQU (rNR30 % $100) +HW_CH4_BASE EQU ((rNR41 % $100) - 1) + +; HW sound channel enable bit masks +HW_CH1_ENABLE_MASK EQU %00010001 +HW_CH2_ENABLE_MASK EQU %00100010 +HW_CH3_ENABLE_MASK EQU %01000100 +HW_CH4_ENABLE_MASK EQU %10001000 + +; HW sound channel disable bit masks +HW_CH1_DISABLE_MASK EQU (~HW_CH1_ENABLE_MASK & $ff) +HW_CH2_DISABLE_MASK EQU (~HW_CH2_ENABLE_MASK & $ff) +HW_CH3_DISABLE_MASK EQU (~HW_CH3_ENABLE_MASK & $ff) +HW_CH4_DISABLE_MASK EQU (~HW_CH4_ENABLE_MASK & $ff) + +REG_DUTY_SOUND_LEN EQU 1 +REG_VOLUME_ENVELOPE EQU 2 +REG_FREQUENCY_LO EQU 3 + +MAX_SFX_ID EQU $B9 + +CRY_SFX_START EQU $14 +CRY_SFX_END EQU $86 + +; wChannelFlags1 constants +BIT_PERFECT_PITCH EQU 0 ; controlled by toggleperfectpitch command +BIT_CHANNEL_CALL EQU 1 ; if in channel call +BIT_NOISE_OR_SFX EQU 2 ; if channel is the music noise channel or an SFX channel +BIT_VIBRATO_DIRECTION EQU 3 ; if the pitch is above or below normal (cycles) +BIT_PITCH_BEND_ON EQU 4 ; if pitch bend is active +BIT_PITCH_BEND_DECREASING EQU 5 ; if the pitch bend frequency is decreasing (instead of increasing) +BIT_ROTATE_DUTY EQU 6 ; if rotating duty + +; wChannelFlags2 constant (only has one flag) +BIT_EXECUTE_MUSIC EQU 0 ; if in execute music + ; Song ids are calculated by address to save space. music_const: MACRO diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm index b46842ec..1bd48988 100755 --- a/engine/battle/animations.asm +++ b/engine/battle/animations.asm @@ -772,7 +772,7 @@ DoBallTossSpecialEffects: ; 78f3e (1e:4f3e) dec b jr nz,.loop ld a,%00001000 - ld [$ff10],a ; Channel 1 sweep register + ld [rNR10],a ; Channel 1 sweep register ret .isTrainerBattle ; if it's a trainer battle, shorten the animation by one frame ld a,[W_SUBANIMCOUNTER] @@ -2335,19 +2335,19 @@ GetMoveSound: ; 7986f (1e:586f) call GetCryData ld b,a pop hl - ld a,[wc0f1] + ld a,[wFrequencyModifier] add [hl] - ld [wc0f1],a + ld [wFrequencyModifier],a inc hl - ld a,[wc0f2] + ld a,[wTempoModifier] add [hl] - ld [wc0f2],a + ld [wTempoModifier],a jr .done .NotCryMove ld a,[hli] - ld [wc0f1],a + ld [wFrequencyModifier],a ld a,[hli] - ld [wc0f2],a + ld [wTempoModifier],a .done ld a,b ret @@ -3029,8 +3029,8 @@ PlayApplyingAttackSound: ; 79e6a (1e:5e6a) ld b, $1 ld c, SFX_NOT_VERY_EFFECTIVE .playSound - ld [wc0f1], a + ld [wFrequencyModifier], a ld a, b - ld [wc0f2], a + ld [wTempoModifier], a ld a, c jp PlaySound diff --git a/engine/battle/common_text.asm b/engine/battle/common_text.asm index a00e9d59..a1afcb75 100644 --- a/engine/battle/common_text.asm +++ b/engine/battle/common_text.asm @@ -61,9 +61,9 @@ PrintBeginningBattleText: ; 58d99 (16:4d99) .playSFX xor a - ld [wc0f1], a + ld [wFrequencyModifier], a ld a, $80 - ld [wc0f2], a + ld [wTempoModifier], a ld a, SFX_SILPH_SCOPE call PlaySound jp WaitForSoundToFinish diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 004859da..22a47908 100755 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -867,12 +867,12 @@ FaintEnemyPokemon: ; 0x3c567 dec a jr z, .wild_win xor a - ld [wc0f1], a - ld [wc0f2], a + ld [wFrequencyModifier], a + ld [wTempoModifier], a ld a, SFX_FAINT_FALL call PlaySoundWaitForCurrent .sfxwait - ld a, [wc02a] + ld a, [wChannelSoundIDs + CH4] cp SFX_FAINT_FALL jr z, .sfxwait ld a, SFX_FAINT_THUD @@ -952,7 +952,7 @@ EnemyMonFaintedText: ; 0x3c63e EndLowHealthAlarm: ; 3c643 (f:4643) xor a ld [wLowHealthAlarm], a ;disable low health alarm - ld [wc02a], a + ld [wChannelSoundIDs + CH4], a inc a ld [wccf6], a ret @@ -1045,7 +1045,7 @@ TrainerDefeatedText: ; 3c6e9 (f:46e9) PlayBattleVictoryMusic: ; 3c6ee (f:46ee) push af ld a, $ff - ld [wc0ee], a + ld [wNewSoundID], a call PlaySoundWaitForCurrent ld c, BANK(Music_DefeatedTrainer) pop af @@ -1944,7 +1944,7 @@ DrawPlayerHUDAndHPBar: ; 3cd60 (f:4d60) ld [hl], $0 ret z xor a - ld [wc02a], a + ld [wChannelSoundIDs + CH4], a ret .asm_3cde6 ld hl, wLowHealthAlarm @@ -6993,8 +6993,8 @@ _LoadTrainerPic: ; 3f04b (f:704b) ; unreferenced ResetCryModifiers: ; 3f069 (f:7069) xor a - ld [wc0f1], a - ld [wc0f2], a + ld [wFrequencyModifier], a + ld [wTempoModifier], a jp PlaySound ; animates the mon "growing" out of the pokeball diff --git a/engine/battle/end_of_battle.asm b/engine/battle/end_of_battle.asm index c642d206..f1de313c 100755 --- a/engine/battle/end_of_battle.asm +++ b/engine/battle/end_of_battle.asm @@ -46,7 +46,7 @@ EndOfBattle: ; 137aa (4:77aa) .resetVariables xor a ld [wLowHealthAlarm], a ;disable low health alarm - ld [wc02a], a + ld [wChannelSoundIDs + CH4], a ld [W_ISINBATTLE], a ld [W_BATTLETYPE], a ld [W_MOVEMISSED], a diff --git a/engine/cable_club.asm b/engine/cable_club.asm index 078ae5c2..dec18fe3 100755 --- a/engine/cable_club.asm +++ b/engine/cable_club.asm @@ -824,12 +824,12 @@ TradeCenter_Trade: add hl, bc ld a, [hl] ld [wTradedEnemyMonSpecies], a - ld a, $a - ld [wMusicHeaderPointer], a + ld a, 10 + ld [wAudioFadeOutControl], a ld a, $2 - ld [wc0f0], a + ld [wAudioSavedROMBank], a ld a, MUSIC_SAFARI_ZONE - ld [wc0ee], a + ld [wNewSoundID], a call PlaySound ld c, 100 call DelayFrames @@ -915,12 +915,12 @@ CableClub_Run: ; 5a5f (1:5a5f) inc a ; LINK_STATE_IN_CABLE_CLUB ld [wLinkState], a ld [$ffb5], a - ld a, $a - ld [wMusicHeaderPointer], a + ld a, 10 + ld [wAudioFadeOutControl], a ld a, BANK(Music_Celadon) - ld [wc0f0], a + ld [wAudioSavedROMBank], a ld a, MUSIC_CELADON - ld [wc0ee], a + ld [wNewSoundID], a jp PlaySound EmptyFunc3: ; 5aaf (1:5aaf) diff --git a/engine/evolution.asm b/engine/evolution.asm index 720e77cd..8fbf568a 100755 --- a/engine/evolution.asm +++ b/engine/evolution.asm @@ -8,9 +8,9 @@ EvolveMon: ; 7bde9 (1e:7de9) push af xor a ld [wLowHealthAlarm], a - ld [wc02a], a + ld [wChannelSoundIDs + CH4], a dec a - ld [wc0ee], a + ld [wNewSoundID], a call PlaySound ld a, $1 ld [H_AUTOBGTRANSFERENABLED], a @@ -68,7 +68,7 @@ EvolveMon: ; 7bde9 (1e:7de9) .done ld [wcf1d], a ld a, $ff - ld [wc0ee], a + ld [wNewSoundID], a call PlaySound ld a, [wcf1d] call PlayCry diff --git a/engine/hall_of_fame.asm b/engine/hall_of_fame.asm index ce1430e3..293c756f 100755 --- a/engine/hall_of_fame.asm +++ b/engine/hall_of_fame.asm @@ -280,9 +280,9 @@ HoFRecordMonInfo: ; 70404 (1c:4404) jp CopyData HoFFadeOutScreenAndMusic: ; 70423 (1c:4423) - ld a, $a - ld [wcfc8], a - ld [wcfc9], a + ld a, 10 + ld [wAudioFadeOutCounterReloadValue], a + ld [wAudioFadeOutCounter], a ld a, $ff - ld [wMusicHeaderPointer], a + ld [wAudioFadeOutControl], a jp GBFadeOutToWhite diff --git a/engine/hidden_object_functions7.asm b/engine/hidden_object_functions7.asm index 0753531e..67e75301 100755 --- a/engine/hidden_object_functions7.asm +++ b/engine/hidden_object_functions7.asm @@ -63,14 +63,14 @@ SafariZoneGameStillGoing: ; 1e9ab (7:69ab) SafariZoneGameOver: ; 1e9b0 (7:69b0) call EnableAutoTextBoxDrawing xor a - ld [wMusicHeaderPointer], a + ld [wAudioFadeOutControl], a dec a call PlaySound ld c, BANK(SFX_Safari_Zone_PA) ld a, SFX_SAFARI_ZONE_PA call PlayMusic .asm_1e9c2 - ld a, [wc02a] + ld a, [wChannelSoundIDs + CH4] cp $b9 jr nz, .asm_1e9c2 ld a, TEXT_SAFARI_GAME_OVER @@ -374,7 +374,7 @@ BillsHouseInitiatedText: ; 1ebe2 (7:6be2) db $06 TX_ASM ld a, $ff - ld [wc0ee], a + ld [wNewSoundID], a call PlaySound ld c, 16 call DelayFrames diff --git a/engine/intro.asm b/engine/intro.asm index 154c41fd..572d51fa 100755 --- a/engine/intro.asm +++ b/engine/intro.asm @@ -325,10 +325,10 @@ PlayShootingStar: ; 4188a (10:588a) call DelayFrames .next ld a, BANK(Music_IntroBattle) - ld [wc0ef], a - ld [wc0f0], a + ld [wAudioROMBank], a + ld [wAudioSavedROMBank], a ld a, MUSIC_INTRO_BATTLE - ld [wc0ee], a + ld [wNewSoundID], a call PlaySound call IntroClearMiddleOfScreen call ClearSprites diff --git a/engine/items/items.asm b/engine/items/items.asm index a45b9185..84490521 100755 --- a/engine/items/items.asm +++ b/engine/items/items.asm @@ -856,7 +856,7 @@ ItemUseMedicine: ; dabb (3:5abb) .notFullHP ; if the pokemon's current HP doesn't equal its max HP xor a ld [wLowHealthAlarm],a ;disable low health alarm - ld [wc02a],a + ld [wChannelSoundIDs + CH4],a push hl push de ld bc,32 @@ -1643,7 +1643,7 @@ ItemUsePokeflute: ; e140 (3:6140) call WaitForSoundToFinish ; wait for sound to end callba Music_PokeFluteInBattle ; play in-battle pokeflute music .musicWaitLoop ; wait for music to finish playing - ld a,[wc02c] + ld a,[wChannelSoundIDs + CH6] and a ; music off? jr nz,.musicWaitLoop .skipMusic @@ -1716,8 +1716,8 @@ PlayedFluteHadEffectText: ; e215 (3:6215) ld c, BANK(SFX_Pokeflute) call PlayMusic .musicWaitLoop ; wait for music to finish playing - ld a,[wc028] - cp a,$b8 + ld a,[wChannelSoundIDs + CH2] + cp a, SFX_POKEFLUE jr z,.musicWaitLoop call PlayDefaultMusic ; start playing normal music again .done diff --git a/engine/menu/pokedex.asm b/engine/menu/pokedex.asm index b5ebd83e..fd8a928d 100755 --- a/engine/menu/pokedex.asm +++ b/engine/menu/pokedex.asm @@ -397,7 +397,7 @@ ShowPokedexDataInternal: ; 402e2 (10:42e2) ld hl,wd72c set 1,[hl] ld a,$33 ; 3/7 volume - ld [$ff24],a + ld [rNR50],a call GBPalWhiteOut ; zero all palettes call ClearScreen ld a,[wd11e] ; pokemon ID @@ -566,7 +566,7 @@ ShowPokedexDataInternal: ; 402e2 (10:42e2) ld hl,wd72c res 1,[hl] ld a,$77 ; max volume - ld [$ff24],a + ld [rNR50],a ret HeightWeightText: ; 40448 (10:4448) diff --git a/engine/menu/status_screen.asm b/engine/menu/status_screen.asm index c13d7c85..bc58ba21 100755 --- a/engine/menu/status_screen.asm +++ b/engine/menu/status_screen.asm @@ -80,7 +80,7 @@ StatusScreen: ; 12953 (4:6953) ld hl, wd72c set 1, [hl] ld a, $33 - ld [$ff24], a ; Reduce the volume + ld [rNR50], a ; Reduce the volume call GBPalWhiteOutWithDelay3 call ClearScreen call UpdateSprites @@ -430,7 +430,7 @@ StatusScreen2: ; 12b57 (4:6b57) ld hl, wd72c res 1, [hl] ld a, $77 - ld [$ff24], a + ld [rNR50], a call GBPalWhiteOut jp ClearScreen diff --git a/engine/oak_speech.asm b/engine/oak_speech.asm index 98499d7f..566bd880 100755 --- a/engine/oak_speech.asm +++ b/engine/oak_speech.asm @@ -129,12 +129,12 @@ OakSpeech: ; 6115 (1:6115) ld a,[H_LOADEDROMBANK] push af ld a, BANK(Music_PalletTown) - ld [wc0ef],a - ld [wc0f0],a - ld a,$A - ld [wMusicHeaderPointer],a + ld [wAudioROMBank],a + ld [wAudioSavedROMBank],a + ld a, 10 + ld [wAudioFadeOutControl],a ld a,$FF - ld [wc0ee],a + ld [wNewSoundID],a call PlaySound ; stop music pop af ld [H_LOADEDROMBANK],a diff --git a/engine/overworld/elevator.asm b/engine/overworld/elevator.asm index eb62fee7..05a9cc4e 100755 --- a/engine/overworld/elevator.asm +++ b/engine/overworld/elevator.asm @@ -33,7 +33,7 @@ ShakeElevator: ; 7bf15 (1e:7f15) ld a, SFX_SAFARI_ZONE_PA call PlayMusic .musicLoop - ld a, [wc02a] + ld a, [wChannelSoundIDs + CH4] cp $b9 jr z, .musicLoop call UpdateSprites diff --git a/engine/overworld/healing_machine.asm b/engine/overworld/healing_machine.asm index d3513b0d..0c04ff0e 100755 --- a/engine/overworld/healing_machine.asm +++ b/engine/overworld/healing_machine.asm @@ -15,44 +15,44 @@ AnimateHealingMachine: ; 70433 (1c:4433) ld hl, wOAMBuffer + $84 ld de, PokeCenterOAMData call CopyHealingMachineOAM - ld a, $4 - ld [wMusicHeaderPointer], a + ld a, 4 + ld [wAudioFadeOutControl], a ld a, $ff - ld [wc0ee], a + ld [wNewSoundID], a call PlaySound -.asm_70464 - ld a, [wMusicHeaderPointer] - and a - jr nz, .asm_70464 +.waitLoop + ld a, [wAudioFadeOutControl] + and a ; is fade-out finished? + jr nz, .waitLoop ; if not, check again ld a, [wPartyCount] ld b, a -.asm_7046e +.partyLoop call CopyHealingMachineOAM ld a, SFX_HEALING_MACHINE call PlaySound ld c, 30 call DelayFrames dec b - jr nz, .asm_7046e - ld a, [wc0ef] + jr nz, .partyLoop + ld a, [wAudioROMBank] cp BANK(Audio3_UpdateMusic) - ld [wc0f0], a - jr nz, .asm_70495 + ld [wAudioSavedROMBank], a + jr nz, .next ld a, $ff - ld [wc0ee], a + ld [wNewSoundID], a call PlaySound ld a, BANK(Music_PkmnHealed) - ld [wc0ef], a -.asm_70495 + ld [wAudioROMBank], a +.next ld a, MUSIC_PKMN_HEALED - ld [wc0ee], a + ld [wNewSoundID], a call PlaySound ld d, $28 call FlashSprite8Times -.asm_704a2 - ld a, [wc026] - cp MUSIC_PKMN_HEALED - jr z, .asm_704a2 +.waitLoop2 + ld a, [wChannelSoundIDs] + cp MUSIC_PKMN_HEALED ; is the healed music still playing? + jr z, .waitLoop2 ; if so, check gain ld c, 32 call DelayFrames pop af diff --git a/engine/overworld/npc_movement.asm b/engine/overworld/npc_movement.asm index 0c01e38c..fa5ac222 100755 --- a/engine/overworld/npc_movement.asm +++ b/engine/overworld/npc_movement.asm @@ -163,10 +163,10 @@ PewterMuseumGuyMovementScriptPointerTable: ; 1a510 (6:6510) PewterMovementScript_WalkToMuseum: ; 1a514 (6:6514) ld a, BANK(Music_MuseumGuy) - ld [wc0ef], a - ld [wc0f0], a + ld [wAudioROMBank], a + ld [wAudioSavedROMBank], a ld a, MUSIC_MUSEUM_GUY - ld [wc0ee], a + ld [wNewSoundID], a call PlaySound ld a, [wSpriteIndex] swap a @@ -219,10 +219,10 @@ PewterGymGuyMovementScriptPointerTable: ; 1a57d (6:657d) PewterMovementScript_WalkToGym: ; 1a581 (6:6581) ld a, BANK(Music_MuseumGuy) - ld [wc0ef], a - ld [wc0f0], a + ld [wAudioROMBank], a + ld [wAudioSavedROMBank], a ld a, MUSIC_MUSEUM_GUY - ld [wc0ee], a + ld [wNewSoundID], a call PlaySound ld a, [wSpriteIndex] swap a diff --git a/engine/overworld/pokecenter.asm b/engine/overworld/pokecenter.asm index 5b2e4cbb..f302d994 100755 --- a/engine/overworld/pokecenter.asm +++ b/engine/overworld/pokecenter.asm @@ -24,12 +24,12 @@ DisplayPokemonCenterDialogue_: ; 6fe6 (1:6fe6) predef HealParty callba AnimateHealingMachine ; do the healing machine animation xor a - ld [wMusicHeaderPointer], a - ld a, [wc0f0] - ld [wc0ef], a - ld a, [wd35b] - ld [wcfca], a - ld [wc0ee], a + ld [wAudioFadeOutControl], a + ld a, [wAudioSavedROMBank] + ld [wAudioROMBank], a + ld a, [wMapMusicSoundID] + ld [wLastMusicSoundID], a + ld [wNewSoundID], a call PlaySound ld hl, PokemonFightingFitText call PrintText diff --git a/engine/slot_machine.asm b/engine/slot_machine.asm index 3b392dde..b68b9294 100755 --- a/engine/slot_machine.asm +++ b/engine/slot_machine.asm @@ -411,7 +411,7 @@ SlotMachine_CheckForMatches: ; 37588 (d:7588) call PrintText .done xor a - ld [wc002], a + ld [wMuteAudioAndPauseMusic], a ret .rollWheel3DownByOneSymbol call SlotMachine_AnimWheel3 @@ -654,7 +654,7 @@ SlotMachine_PrintPayoutCoins: ; 3775f (d:775f) SlotMachine_PayCoinsToPlayer: ; 3776b (d:776b) ld a, $1 - ld [wc002], a + ld [wMuteAudioAndPauseMusic], a call WaitForSoundToFinish ; Put 1 in the temp coins variable. This value is added to the player's coins diff --git a/engine/titlescreen.asm b/engine/titlescreen.asm index df47275b..17609786 100755 --- a/engine/titlescreen.asm +++ b/engine/titlescreen.asm @@ -18,8 +18,8 @@ SetDefaultNamesBeforeTitlescreen: ; 42b7 (1:42b7) ld [hli], a ld [hl], a ld a, BANK(Music_TitleScreen) - ld [wc0ef], a - ld [wc0f0], a + ld [wAudioROMBank], a + ld [wAudioSavedROMBank], a DisplayTitleScreen: ; 42dd (1:42dd) call GBPalWhiteOut @@ -219,7 +219,7 @@ ENDC call Delay3 call WaitForSoundToFinish ld a, MUSIC_TITLE_SCREEN - ld [wc0ee], a + ld [wNewSoundID], a call PlaySound xor a ld [wcc5b], a diff --git a/home.asm b/home.asm index b18a4ec3..e850c858 100644 --- a/home.asm +++ b/home.asm @@ -332,9 +332,9 @@ GetCryData:: ; 13d9 (0:13d9) ld a, [hli] ld b, a ; cry id ld a, [hli] - ld [wc0f1], a + ld [wFrequencyModifier], a ld a, [hl] - ld [wc0f2], a + ld [wTempoModifier], a call BankswitchBack ; Cry headers have 3 channels, @@ -998,27 +998,27 @@ ResetPlayerSpriteData_ClearSpriteData:: ; 28c4 (0:28c4) xor a jp FillMemory -Func_28cb:: ; 28cb (0:28cb) - ld a, [wMusicHeaderPointer] +FadeOutAudio:: ; 28cb (0:28cb) + ld a, [wAudioFadeOutControl] and a jr nz, .asm_28dc ld a, [wd72c] bit 1, a ret nz ld a, $77 - ld [$ff24], a + ld [rNR50], a ret .asm_28dc - ld a, [wcfc9] + ld a, [wAudioFadeOutCounter] and a - jr z, .asm_28e7 + jr z, .counterReachedZero dec a - ld [wcfc9], a + ld [wAudioFadeOutCounter], a ret -.asm_28e7 - ld a, [wcfc8] - ld [wcfc9], a - ld a, [$ff24] +.counterReachedZero + ld a, [wAudioFadeOutCounterReloadValue] + ld [wAudioFadeOutCounter], a + ld a, [rNR50] and a jr z, .asm_2903 ld b, a @@ -1031,20 +1031,20 @@ Func_28cb:: ; 28cb (0:28cb) dec a swap a or c - ld [$ff24], a + ld [rNR50], a ret .asm_2903 - ld a, [wMusicHeaderPointer] + ld a, [wAudioFadeOutControl] ld b, a xor a - ld [wMusicHeaderPointer], a + ld [wAudioFadeOutControl], a ld a, $ff - ld [wc0ee], a + ld [wNewSoundID], a call PlaySound - ld a, [wc0f0] - ld [wc0ef], a + ld a, [wAudioSavedROMBank] + ld [wAudioROMBank], a ld a, b - ld [wc0ee], a + ld [wNewSoundID], a jp PlaySound ; this function is used to display sign messages, sprite dialog, etc. @@ -2604,12 +2604,12 @@ PlayTrainerMusic:: ; 33e8 (0:33e8) and a ret nz xor a - ld [wMusicHeaderPointer], a + ld [wAudioFadeOutControl], a ld a, $ff call PlaySound ld a, BANK(Music_MeetEvilTrainer) - ld [wc0ef], a - ld [wc0f0], a + ld [wAudioROMBank], a + ld [wAudioSavedROMBank], a ld a, [wEngagedTrainerClass] ld b, a ld hl, EvilTrainerList @@ -2634,7 +2634,7 @@ PlayTrainerMusic:: ; 33e8 (0:33e8) .maleTrainer ld a, MUSIC_MEET_MALE_TRAINER .PlaySound - ld [wc0ee], a + ld [wNewSoundID], a jp PlaySound INCLUDE "data/trainer_types.asm" @@ -3217,8 +3217,8 @@ WaitForSoundToFinish:: ; 3748 (0:3748) and $80 ret nz push hl -.asm_374f - ld hl, wc02a +.waitLoop + ld hl, wChannelSoundIDs + CH4 xor a or [hl] inc hl @@ -3226,7 +3226,7 @@ WaitForSoundToFinish:: ; 3748 (0:3748) inc hl inc hl or [hl] - jr nz, .asm_374f + jr nz, .waitLoop pop hl ret diff --git a/home/audio.asm b/home/audio.asm index 033f4067..2c46ec7a 100644 --- a/home/audio.asm +++ b/home/audio.asm @@ -3,112 +3,139 @@ PlayDefaultMusic:: ; 2307 (0:2307) xor a ld c, a ld d, a - ld [wcfca], a - jr Func_2324 + ld [wLastMusicSoundID], a + jr PlayDefaultMusicCommon -Func_2312:: ; 2312 (0:2312) - ld c, $a - ld d, $0 +PlayDefaultMusicFadeOutCurrent:: ; 2312 (0:2312) +; Fade out the current music and then play the default music. + ld c, 10 + ld d, 0 ld a, [wd72e] - bit 5, a - jr z, Func_2324 + bit 5, a ; has a battle just ended? + jr z, PlayDefaultMusicCommon xor a - ld [wcfca], a - ld c, $8 + ld [wLastMusicSoundID], a + ld c, 8 ld d, c -Func_2324:: ; 2324 (0:2324) + +PlayDefaultMusicCommon:: ; 2324 (0:2324) ld a, [wWalkBikeSurfState] and a - jr z, .asm_2343 + jr z, .walking cp $2 - jr z, .asm_2332 + jr z, .surfing ld a, MUSIC_BIKE_RIDING - jr .asm_2334 -.asm_2332 + jr .next + +.surfing ld a, MUSIC_SURFING -.asm_2334 + +.next ld b, a ld a, d - and a + and a ; should current music be faded out first? ld a, BANK(Music_BikeRiding) - jr nz, .asm_233e - ld [wc0ef], a -.asm_233e - ld [wc0f0], a - jr .asm_234c -.asm_2343 - ld a, [wd35b] + jr nz, .next2 + +; Only change the audio ROM bank if the current music isn't going to be faded +; out before the default music begins. + ld [wAudioROMBank], a + +.next2 +; [wAudioSavedROMBank] will be copied to [wAudioROMBank] after fading out the +; current music (if the current music is faded out). + ld [wAudioSavedROMBank], a + jr .next3 + +.walking + ld a, [wMapMusicSoundID] ld b, a - call Func_2385 - jr c, .asm_2351 -.asm_234c - ld a, [wcfca] - cp b - ret z -.asm_2351 + call CompareMapMusicBankWithCurrentBank + jr c, .next4 + +.next3 + ld a, [wLastMusicSoundID] + cp b ; is the default music already playing? + ret z ; if so, do nothing + +.next4 ld a, c - ld [wMusicHeaderPointer], a + ld [wAudioFadeOutControl], a ld a, b - ld [wcfca], a - ld [wc0ee], a + ld [wLastMusicSoundID], a + ld [wNewSoundID], a jp PlaySound -Func_235f:: ; 235f (0:235f) - ld a, [wc0ef] +UpdateMusic6Times:: ; 235f (0:235f) +; This is called when entering a map, before fading out the current music and +; playing the default music (i.e. the map's music or biking/surfing music). + ld a, [wAudioROMBank] ld b, a cp BANK(Audio1_UpdateMusic) jr nz, .checkForAudio2 -.audio1 + +; audio 1 ld hl, Audio1_UpdateMusic - jr .asm_2378 + jr .next + .checkForAudio2 cp BANK(Audio2_UpdateMusic) jr nz, .audio3 -.audio2 + +; audio 2 ld hl, Audio2_UpdateMusic - jr .asm_2378 + jr .next + .audio3 ld hl, Audio3_UpdateMusic -.asm_2378 - ld c, $6 -.asm_237a + +.next + ld c, 6 +.loop push bc push hl call Bankswitch pop hl pop bc dec c - jr nz, .asm_237a + jr nz, .loop ret -Func_2385:: ; 2385 (0:2385) - ld a, [wd35c] +CompareMapMusicBankWithCurrentBank:: ; 2385 (0:2385) +; Compares the map music's audio ROM bank with the current audio ROM bank +; and updates the audio ROM bank variables. +; Returns whether the banks are different in carry. + ld a, [wMapMusicROMBank] ld e, a - ld a, [wc0ef] + ld a, [wAudioROMBank] cp e - jr nz, .asm_2394 - ld [wc0f0], a + jr nz, .differentBanks + ld [wAudioSavedROMBank], a and a ret -.asm_2394 - ld a, c +.differentBanks + ld a, c ; this is a fade-out counter value and it's always non-zero and a ld a, e - jr nz, .asm_239c - ld [wc0ef], a -.asm_239c - ld [wc0f0], a + jr nz, .next +; If the fade-counter is non-zero, we don't change the audio ROM bank because +; it's needed to keep playing the music as it fades out. The FadeOutAudio +; routine will take care of copying [wAudioSavedROMBank] to [wAudioROMBank] +; when the music has faded out. + ld [wAudioROMBank], a +.next + ld [wAudioSavedROMBank], a scf ret PlayMusic:: ; 23a1 (0:23a1) ld b, a - ld [wc0ee], a + ld [wNewSoundID], a xor a - ld [wMusicHeaderPointer], a + ld [wAudioFadeOutControl], a ld a, c - ld [wc0ef], a - ld [wc0f0], a + ld [wAudioROMBank], a + ld [wAudioSavedROMBank], a ld a, b ; plays music specified by a. If value is $ff, music is stopped @@ -117,66 +144,74 @@ PlaySound:: ; 23b1 (0:23b1) push de push bc ld b, a - ld a, [wc0ee] + ld a, [wNewSoundID] and a - jr z, .asm_23c8 + jr z, .next xor a - ld [wc02a], a - ld [wc02b], a - ld [wc02c], a - ld [wc02d], a -.asm_23c8 - ld a, [wMusicHeaderPointer] - and a - jr z, .asm_23e3 - ld a, [wc0ee] - and a - jr z, .asm_2425 + ld [wChannelSoundIDs + CH4], a + ld [wChannelSoundIDs + CH5], a + ld [wChannelSoundIDs + CH6], a + ld [wChannelSoundIDs + CH7], a +.next + ld a, [wAudioFadeOutControl] + and a ; has a fade-out length been specified? + jr z, .noFadeOut + ld a, [wNewSoundID] + and a ; is the new sound ID 0? + jr z, .done ; if so, do nothing xor a - ld [wc0ee], a - ld a, [wcfca] - cp $ff - jr nz, .asm_2414 + ld [wNewSoundID], a + ld a, [wLastMusicSoundID] + cp $ff ; has the music been stopped? + jr nz, .fadeOut ; if not, fade out the current music +; If it has been stopped, start playing the new music immediately. xor a - ld [wMusicHeaderPointer], a -.asm_23e3 + ld [wAudioFadeOutControl], a +.noFadeOut xor a - ld [wc0ee], a + ld [wNewSoundID], a ld a, [H_LOADEDROMBANK] - ld [$ffb9], a - ld a, [wc0ef] + ld [hSavedROMBank], a + ld a, [wAudioROMBank] ld [H_LOADEDROMBANK], a ld [MBC1RomBank], a - cp BANK(Audio1_9876) + cp BANK(Audio1_PlaySound) jr nz, .checkForAudio2 -.audio1 + +; audio 1 ld a, b - call Audio1_9876 - jr .asm_240b + call Audio1_PlaySound + jr .next2 + .checkForAudio2 - cp BANK(Audio2_22035) + cp BANK(Audio2_PlaySound) jr nz, .audio3 -.audio2 + +; audio 2 ld a, b - call Audio2_22035 - jr .asm_240b + call Audio2_PlaySound + jr .next2 + .audio3 ld a, b - call Audio3_7d8ea -.asm_240b - ld a, [$ffb9] + call Audio3_PlaySound + +.next2 + ld a, [hSavedROMBank] ld [H_LOADEDROMBANK], a ld [MBC1RomBank], a - jr .asm_2425 -.asm_2414 + jr .done + +.fadeOut ld a, b - ld [wcfca], a - ld a, [wMusicHeaderPointer] - ld [wcfc8], a - ld [wcfc9], a + ld [wLastMusicSoundID], a + ld a, [wAudioFadeOutControl] + ld [wAudioFadeOutCounterReloadValue], a + ld [wAudioFadeOutCounter], a ld a, b - ld [wMusicHeaderPointer], a -.asm_2425 + ld [wAudioFadeOutControl], a + +.done pop bc pop de pop hl diff --git a/home/init.asm b/home/init.asm index 624a4d6a..cb5c6583 100644 --- a/home/init.asm +++ b/home/init.asm @@ -98,8 +98,8 @@ rLCDC_DEFAULT EQU %11100011 predef LoadSGB ld a, BANK(SFX_Shooting_Star) - ld [wc0ef], a - ld [wc0f0], a + ld [wAudioROMBank], a + ld [wAudioSavedROMBank], a ld a, $9c ld [H_AUTOBGTRANSFERDEST + 1], a xor a @@ -127,11 +127,11 @@ ClearVram: StopAllSounds:: ld a, BANK(Audio1_UpdateMusic) - ld [wc0ef], a - ld [wc0f0], a + ld [wAudioROMBank], a + ld [wAudioSavedROMBank], a xor a - ld [wMusicHeaderPointer], a - ld [wc0ee], a - ld [wcfca], a + ld [wAudioFadeOutControl], a + ld [wNewSoundID], a + ld [wLastMusicSoundID], a dec a jp PlaySound diff --git a/home/overworld.asm b/home/overworld.asm index f8d6e7e1..eba47df2 100644 --- a/home/overworld.asm +++ b/home/overworld.asm @@ -658,7 +658,7 @@ CheckMapConnections:: ; 07ba (0:07ba) ld [wCurrentTileBlockMapViewPointer + 1],a .loadNewMap ; load the connected map that was entered call LoadMapHeader - call Func_2312 ; music + call PlayDefaultMusicFadeOutCurrent ld b,$09 call GoPAL_SET ; Since the sprite set shouldn't change, this will just update VRAM slots at @@ -750,16 +750,16 @@ HandleBlackOut:: ld [MBC1RomBank], a call ResetStatusAndHalveMoneyOnBlackout call SpecialWarpIn - call Func_2312 + call PlayDefaultMusicFadeOutCurrent jp SpecialEnterMap StopMusic:: - ld [wMusicHeaderPointer], a + ld [wAudioFadeOutControl], a ld a, $ff - ld [wc0ee], a + ld [wNewSoundID], a call PlaySound .wait - ld a, [wMusicHeaderPointer] + ld a, [wAudioFadeOutControl] and a jr nz, .wait jp StopAllSounds @@ -1224,7 +1224,7 @@ CollisionCheckOnLand:: ; 0bd1 (0:0bd1) call CheckTilePassable jr nc,.noCollision .collision - ld a,[wc02a] + ld a,[wChannelSoundIDs + CH4] cp a,SFX_COLLISION ; check if collision sound is already playing jr z,.setCarry ld a,SFX_COLLISION @@ -1927,7 +1927,7 @@ CollisionCheckOnWater:: ; 0fb7 (0:0fb7) jr z,.stopSurfing ; stop surfing if the tile is passable jr .loop .collision - ld a,[wc02a] + ld a,[wChannelSoundIDs + CH4] cp a,SFX_COLLISION ; check if collision sound is already playing jr z,.setCarry ld a,SFX_COLLISION @@ -2279,9 +2279,9 @@ LoadMapHeader:: ; 107c (0:107c) add hl,bc add hl,bc ld a,[hli] - ld [wd35b],a ; music 1 + ld [wMapMusicSoundID],a ; music 1 ld a,[hl] - ld [wd35c],a ; music 2 + ld [wMapMusicROMBank],a ; music 2 pop af ld [H_LOADEDROMBANK],a ld [MBC1RomBank],a @@ -2352,8 +2352,8 @@ LoadMapData:: ; 1241 (0:1241) ld a,[W_FLAGS_D733] bit 1,a jr nz,.restoreRomBank - call Func_235f ; music related - call Func_2312 ; music related + call UpdateMusic6Times + call PlayDefaultMusicFadeOutCurrent .restoreRomBank pop af ld [H_LOADEDROMBANK],a diff --git a/home/vblank.asm b/home/vblank.asm index 6abc3756..3bdbe7cb 100644 --- a/home/vblank.asm +++ b/home/vblank.asm @@ -38,21 +38,21 @@ VBlank:: ld a, [H_VBLANKOCCURRED] and a - jr z, .vblanked + jr z, .skipZeroing xor a ld [H_VBLANKOCCURRED], a -.vblanked +.skipZeroing ld a, [H_FRAMECOUNTER] and a - jr z, .decced + jr z, .skipDec dec a ld [H_FRAMECOUNTER], a -.decced - call Func_28cb +.skipDec + call FadeOutAudio - ld a, [wc0ef] ; music ROM bank + ld a, [wAudioROMBank] ; music ROM bank ld [H_LOADEDROMBANK], a ld [MBC1RomBank], a diff --git a/hram.asm b/hram.asm index 2f70b91a..3f331cfb 100644 --- a/hram.asm +++ b/hram.asm @@ -182,7 +182,9 @@ hJoy5 EQU $FFB5 hJoy6 EQU $FFB6 hJoy7 EQU $FFB7 -H_LOADEDROMBANK EQU $FFB8 +H_LOADEDROMBANK EQU $FFB8 + +hSavedROMBank EQU $FFB9 ; is automatic background transfer during V-blank enabled? ; if nonzero, yes diff --git a/scripts/ceruleancity.asm b/scripts/ceruleancity.asm index 158a683d..d5aa57c1 100755 --- a/scripts/ceruleancity.asm +++ b/scripts/ceruleancity.asm @@ -65,7 +65,7 @@ CeruleanCityScript0: ; 194c8 (6:54c8) and a jr z, .asm_19512 ld a, $ff - ld [wc0ee], a + ld [wNewSoundID], a call PlaySound .asm_19512 ld c, BANK(Music_MeetRival) @@ -172,7 +172,7 @@ CeruleanCityScript2: ; 195b1 (6:55b1) ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $ff - ld [wc0ee], a + ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateStart ld a, $1 diff --git a/scripts/oakslab.asm b/scripts/oakslab.asm index c52f00cf..db6fa696 100755 --- a/scripts/oakslab.asm +++ b/scripts/oakslab.asm @@ -511,7 +511,7 @@ OaksLabScript15: ; 1ceb0 (7:4eb0) ld [hJoyHeld], a call EnableAutoTextBoxDrawing ld a, $ff - ld [wc0ee], a + ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateStart ld a, $15 @@ -612,7 +612,7 @@ OaksLabScript16: ; 1cf12 (7:4f12) call FillMemory ld [hl], $ff ld a, $ff - ld [wc0ee], a + ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateStart ld a, $1 diff --git a/scripts/pewterpokecenter.asm b/scripts/pewterpokecenter.asm index 584878eb..25c07be6 100755 --- a/scripts/pewterpokecenter.asm +++ b/scripts/pewterpokecenter.asm @@ -59,9 +59,9 @@ PewterPokecenterText3: ; 5c59b (17:459b) 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, .loop diff --git a/scripts/pokemontower2.asm b/scripts/pokemontower2.asm index a569b60b..5422d887 100755 --- a/scripts/pokemontower2.asm +++ b/scripts/pokemontower2.asm @@ -23,7 +23,7 @@ PokemonTower2Script0: ; 6050f (18:450f) 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 @@ -77,7 +77,7 @@ PokemonTower2Script1: ; 60563 (18:4563) ld [H_SPRITEINDEX], a call MoveSprite ld a, $ff - ld [wc0ee], a + ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateStart ld a, $2 diff --git a/scripts/redshouse1f.asm b/scripts/redshouse1f.asm index 09ce97dc..f9c7193f 100755 --- a/scripts/redshouse1f.asm +++ b/scripts/redshouse1f.asm @@ -29,14 +29,14 @@ MomHealPokemon: ; 4818a (12:418a) call ReloadMapData predef HealParty ld a, MUSIC_PKMN_HEALED - ld [wc0ee], a + 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 diff --git a/scripts/route22.asm b/scripts/route22.asm index 041f75e6..f6f6778e 100755 --- a/scripts/route22.asm +++ b/scripts/route22.asm @@ -89,7 +89,7 @@ Route22Script0: ; 50f00 (14:4f00) and a jr z, .asm_50f4e ld a, $ff - ld [wc0ee], a + ld [wNewSoundID], a call PlaySound .asm_50f4e ld c, BANK(Music_MeetRival) @@ -168,7 +168,7 @@ Route22Script2: ; 50fb5 (14:4fb5) ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $ff - ld [wc0ee], a + ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateStart ld a, [wcf0d] @@ -242,11 +242,11 @@ Route22Script_5104e: ; 5104e (14:504e) 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 @@ -327,7 +327,7 @@ Route22Script5: ; 510df (14:50df) ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $ff - ld [wc0ee], a + ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateStartAndTempo ld a, [wcf0d] diff --git a/scripts/silphco7.asm b/scripts/silphco7.asm index 525405c7..0de4b324 100755 --- a/scripts/silphco7.asm +++ b/scripts/silphco7.asm @@ -131,7 +131,7 @@ SilphCo7Script0: ; 51c23 (14:5c23) 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 @@ -220,7 +220,7 @@ SilphCo7Script4: ; 51cc8 (14:5cc8) ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $ff - ld [wc0ee], a + ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateStart ld de, MovementData_51d1d diff --git a/scripts/ssanne2.asm b/scripts/ssanne2.asm index b95c5723..c4afd9d0 100755 --- a/scripts/ssanne2.asm +++ b/scripts/ssanne2.asm @@ -25,7 +25,7 @@ SSAnne2Script0: ; 613be (18:53be) 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 @@ -146,7 +146,7 @@ SSAnne2Script2: ; 6146d (18:546d) ld [H_SPRITEINDEX], a call MoveSprite ld a, $ff - ld [wc0ee], a + ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateStart ld a, $3 diff --git a/scripts/ssanne7.asm b/scripts/ssanne7.asm index b99f5bb2..911dac7f 100755 --- a/scripts/ssanne7.asm +++ b/scripts/ssanne7.asm @@ -44,21 +44,21 @@ SSAnne7Text1: ; 618ad (18:58ad) SSAnne7RubText: ; 618ec (18:58ec) TX_FAR _SSAnne7RubText TX_ASM - ld a, [wc0ef] + ld a, [wAudioROMBank] cp BANK(Audio3_UpdateMusic) - ld [wc0f0], a + ld [wAudioSavedROMBank], a jr nz, .asm_61908 ld a, $ff - ld [wc0ee], a + ld [wNewSoundID], a call PlaySound ld a, Bank(Music_PkmnHealed) - ld [wc0ef], a + 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 call PlayDefaultMusic diff --git a/scripts/vermiliondock.asm b/scripts/vermiliondock.asm index a65b3603..8c2173cc 100755 --- a/scripts/vermiliondock.asm +++ b/scripts/vermiliondock.asm @@ -40,7 +40,7 @@ VermilionDock_1db9b: ; 1db9b (7:5b9b) 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 diff --git a/wram.asm b/wram.asm index 872d1e8e..2fc94e8d 100755 --- a/wram.asm +++ b/wram.asm @@ -61,66 +61,146 @@ ENDM SECTION "WRAM Bank 0", WRAM0 -wc000:: ds 1 -wc001:: ds 1 -wc002:: ds 1 -wc003:: ds 1 -wc004:: ds 1 -wc005:: ds 1 -wc006:: ds 8 -wc00e:: ds 4 -wc012:: ds 4 -wc016:: ds 16 -wc026:: ds 1 -wc027:: ds 1 -wc028:: ds 2 -wc02a:: ds 1 -wc02b:: ds 1 -wc02c:: ds 1 -wc02d:: ds 1 -wc02e:: ds 8 -wc036:: ds 8 -wc03e:: ds 8 -wc046:: ds 8 -wc04e:: ds 8 -wc056:: ds 8 -wc05e:: ds 8 -wc066:: ds 8 -wc06e:: ds 8 -wc076:: ds 8 -wc07e:: ds 8 -wc086:: ds 8 -wc08e:: ds 8 -wc096:: ds 8 -wc09e:: ds 8 -wc0a6:: ds 8 -wc0ae:: ds 8 -wc0b6:: ds 8 -wc0be:: ds 8 -wc0c6:: ds 8 -wc0ce:: ds 1 -wc0cf:: ds 1 -wc0d0:: ds 1 -wc0d1:: ds 1 -wc0d2:: ds 1 -wc0d3:: ds 1 -wc0d4:: ds 1 -wc0d5:: ds 1 -wc0d6:: ds 8 -wc0de:: ds 8 -wc0e6:: ds 1 -wc0e7:: ds 1 -wc0e8:: ds 1 -wc0e9:: ds 1 -wc0ea:: ds 1 -wc0eb:: ds 1 -wc0ec:: ds 1 -wc0ed:: ds 1 -wc0ee:: ds 1 -wc0ef:: ds 1 -wc0f0:: ds 1 -wc0f1:: ds 1 -wc0f2:: ds 14 +wUnusedC000:: ; c000 + ds 1 + +wSoundID:: ; c001 + ds 1 + +wMuteAudioAndPauseMusic:: ; c002 +; bit 7: whether sound has been muted +; all bits: whether the effective is active +; Store 1 to activate effect (any value in the range [1, 127] works). +; All audio is muted and music is paused. Sfx continues playing until it +; ends normally. +; Store 0 to resume music. + ds 1 + +wDisableChannelOutputWhenSfxEnds:: ; c003 + ds 1 + +wStereoPanning:: ; c004 + ds 1 + +wSavedVolume:: ; c005 + ds 1 + +wChannelCommandPointers:: ; c006 + ds 16 + +wChannelReturnAddresses:: ; c016 + ds 16 + +wChannelSoundIDs:: ; c026 + ds 8 + +wChannelFlags1:: ; c02e + ds 8 + +wChannelFlags2:: ; c036 + ds 8 + +wChannelDuties:: ; c03e + ds 8 + +wChannelDutyCycles:: ; c046 + ds 8 + +wChannelVibratoDelayCounters:: ; c04e +; reloaded at the beginning of a note. counts down until the vibrato begins. + ds 8 + +wChannelVibratoExtents:: ; c056 + ds 8 + +wChannelVibratoRates:: ; c05e +; high nybble is rate (counter reload value) and low nybble is counter. +; time between applications of vibrato. + ds 8 + +wChannelFrequencyLowBytes:: ; c066 + ds 8 + +wChannelVibratoDelayCounterReloadValues:: ; c06e +; delay of the beginning of the vibrato from the start of the note + ds 8 + +wChannelPitchBendLengthModifiers:: ; c076 + ds 8 + +wChannelPitchBendFrequencySteps:: ; c07e + ds 8 + +wChannelPitchBendFrequencyStepsFractionalPart:: ; c086 + ds 8 + +wChannelPitchBendCurrentFrequencyFractionalPart:: ; c08e + ds 8 + +wChannelPitchBendCurrentFrequencyHighBytes:: ; c096 + ds 8 + +wChannelPitchBendCurrentFrequencyLowBytes:: ; c09e + ds 8 + +wChannelPitchBendTargetFrequencyHighBytes:: ; c0a6 + ds 8 + +wChannelPitchBendTargetFrequencyLowBytes:: ; c0ae + ds 8 + +wChannelNoteDelayCounters:: ; c0b6 +; Note delays are stored as 16-bit fixed-point numbers where the integer part +; is 8 bits and the fractional part is 8 bits. + ds 8 + +wChannelLoopCounters:: ; c0be + ds 8 + +wChannelNoteSpeeds:: ; c0c6 + ds 8 + +wChannelNoteDelayCountersFractionalPart:: ; c0ce + ds 8 + +wChannelOctaves:: ; c0d6 + ds 8 + +wChannelVolumes:: ; c0de +; also includes fade for hardware channels that support it + ds 8 + +wMusicWaveInstrument:: + ds 1 + +wSfxWaveInstrument:: + ds 1 + +wMusicTempo:: ; c0e8 + ds 2 + +wSfxTempo:: ; c0ea + ds 2 + +wSfxHeaderPointer:: ; c0ec + ds 2 + +wNewSoundID:: ; c0ee + ds 1 + +wAudioROMBank:: ; c0ef + ds 1 + +wAudioSavedROMBank:: ; c0f0 + ds 1 + +wFrequencyModifier:: ; c0f1 + ds 1 + +wTempoModifier:: ; c0f2 + ds 1 + + ds 13 SECTION "Sprite State Data", WRAM0[$c100] @@ -1289,13 +1369,35 @@ wTileInFrontOfPlayer:: ; cfc6 ; background tile number in front of the player (either 1 or 2 steps ahead) ds 1 -wMusicHeaderPointer:: ; cfc7 -; (the current music channel address - $4000) / 3 +wAudioFadeOutControl:: ; cfc7 +; The desired fade counter reload value is stored here prior to calling +; PlaySound in order to cause the current music to fade out before the new +; music begins playing. Storing 0 causes no fade out to occur and the new music +; to begin immediately. +; This variable has another use related to fade-out, as well. PlaySound stores +; the sound ID of the music that should be played after the fade-out is finished +; in this variable. FadeOutAudio checks if it's non-zero every V-Blank and +; fades out the current audio if it is. Once it has finished fading out the +; audio, it zeroes this variable and starts playing the sound ID stored in it. ds 1 -wcfc8:: ds 1 ; used with audio -wcfc9:: ds 1 ; also used with audio -wcfca:: ds 1 ; also used with audio too +wAudioFadeOutCounterReloadValue:: ; cfc8 + ds 1 + +wAudioFadeOutCounter:: ; cfc9 + ds 1 + +wLastMusicSoundID:: ; cfca +; This is used to determine whether the default music is already playing when +; attempting to play the default music (in order to avoid restarting the same +; music) and whether the music has already been stopped when attempting to +; fade out the current music (so that the new music can be begin immediately +; instead of waiting). +; It sometimes contains the sound ID of the last music played, but it may also +; contain $ff (if the music has been stopped) or 0 (because some routines zero +; it in order to prevent assumptions from being made about the current state of +; the music). + ds 1 wUpdateSpritesEnabled:: ; cfcb ; $00 = causes sprites to be hidden and the value to change to $ff @@ -2126,8 +2228,11 @@ wLetterPrintingDelayFlags:: ; d358 wPlayerID:: ; d359 ds 2 -wd35b:: ds 1 ; used with audio stuff -wd35c:: ds 1 ; storage for audio bank for current map? +wMapMusicSoundID:: ; d35b + ds 1 + +wMapMusicROMBank:: ; d35c + ds 1 wMapPalOffset:: ; d35d ; offset subtracted from FadePal4 to get the background and object palettes for the current map -- cgit v1.3.1-sl0p From 8a6d46f3d9ba4fb6939eb9ea9949f47aa8608d4a Mon Sep 17 00:00:00 2001 From: dannye Date: Sun, 9 Aug 2015 23:56:20 -0500 Subject: Replace some hardcoded data sizes --- data/evos_moves.asm | 1 + data/moves.asm | 1 + engine/HoF_room_pc.asm | 3 ++- engine/battle/battle_transitions.asm | 3 ++- engine/battle/core.asm | 14 +++++++------- engine/battle/draw_hud_pokeball_gfx.asm | 3 ++- engine/battle/trainer_ai.asm | 2 +- engine/cable_club.asm | 4 ++-- engine/evos_moves.asm | 2 +- engine/gamefreak.asm | 12 ++++++++---- engine/intro.asm | 16 ++++++++++------ engine/items/items.asm | 8 ++++---- engine/learn_move.asm | 2 +- engine/load_pokedex_tiles.asm | 2 +- engine/menu/naming_screen.asm | 5 ++++- engine/menu/party_menu.asm | 2 +- engine/menu/start_sub_menus.asm | 2 +- engine/menu/status_screen.asm | 3 ++- engine/overworld/emotion_bubbles.asm | 2 +- engine/overworld/healing_machine.asm | 2 +- engine/overworld/ledges.asm | 3 ++- engine/overworld/ssanne.asm | 3 ++- engine/titlescreen.asm | 15 ++++----------- engine/town_map.asm | 11 +++++++---- engine/trade.asm | 8 ++++---- home.asm | 12 ++++++------ main.asm | 25 +++++++++++++++++++------ scripts/celadonmartelevator.asm | 3 ++- scripts/namerater.asm | 6 +++--- scripts/pewterpokecenter.asm | 5 +++-- scripts/rockethideoutelevator.asm | 3 ++- scripts/silphcoelevator.asm | 3 ++- scripts/vermiliondock.asm | 6 +++--- wram.asm | 10 ++++++++-- 34 files changed, 120 insertions(+), 82 deletions(-) (limited to 'scripts/vermiliondock.asm') diff --git a/data/evos_moves.asm b/data/evos_moves.asm index cdbec0d8..a2ef5478 100755 --- a/data/evos_moves.asm +++ b/data/evos_moves.asm @@ -1262,6 +1262,7 @@ Mon133_EvosMoves: ; 3b644 (e:7644) db EV_ITEM,THUNDER_STONE ,1,JOLTEON db EV_ITEM,WATER_STONE ,1,VAPOREON db 0 +Mon133_EvosEnd: ;Learnset db 27,QUICK_ATTACK db 31,TAIL_WHIP diff --git a/data/moves.asm b/data/moves.asm index 22165b7d..44859681 100755 --- a/data/moves.asm +++ b/data/moves.asm @@ -11,6 +11,7 @@ move: macro endm move POUND, NO_ADDITIONAL_EFFECT, 40, NORMAL, 100, 35 +MoveEnd: move KARATE_CHOP, NO_ADDITIONAL_EFFECT, 50, NORMAL, 100, 25 move DOUBLESLAP, TWO_TO_FIVE_ATTACKS_EFFECT, 15, NORMAL, 85, 10 move COMET_PUNCH, TWO_TO_FIVE_ATTACKS_EFFECT, 18, NORMAL, 85, 15 diff --git a/engine/HoF_room_pc.asm b/engine/HoF_room_pc.asm index 704fea16..e00fc57d 100755 --- a/engine/HoF_room_pc.asm +++ b/engine/HoF_room_pc.asm @@ -246,7 +246,7 @@ Credits: ; 7418e (1d:418e) pop de ld de, TheEndGfx ld hl, vChars2 + $600 - lb bc, BANK(TheEndGfx), $0a + lb bc, BANK(TheEndGfx), (TheEndGfxEnd - TheEndGfx) / $10 call CopyVideoData coord hl, 4, 8 ld de, TheEndTextString @@ -267,3 +267,4 @@ INCLUDE "text/credits_text.asm" TheEndGfx: ; 7473e (1d:473e) (7473f on blue) INCBIN "gfx/theend.interleave.2bpp" +TheEndGfxEnd: diff --git a/engine/battle/battle_transitions.asm b/engine/battle/battle_transitions.asm index e9e247f9..8f57777c 100644 --- a/engine/battle/battle_transitions.asm +++ b/engine/battle/battle_transitions.asm @@ -184,11 +184,12 @@ DungeonMaps2: ; 70a44 (1c:4a44) LoadBattleTransitionTile: ; 70a4d (1c:4a4d) ld hl, vChars1 + $7f0 ld de, BattleTransitionTile - lb bc, BANK(BattleTransitionTile), $01 + lb bc, BANK(BattleTransitionTile), (BattleTransitionTileEnd - BattleTransitionTile) / $10 jp CopyVideoData BattleTransitionTile: ; 70a59 (1c:4a59) INCBIN "gfx/battle_transition.2bpp" +BattleTransitionTileEnd: BattleTransition_BlackScreen: ; 70a69 (1c:4a69) ld a, $ff diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 65549f7b..ee93023f 100755 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -2394,7 +2394,7 @@ PartyMenuOrRockOrRun: jp DisplayBattleMenu .partyMonDeselected coord hl, 11, 11 - ld bc, $81 + ld bc, 6 * SCREEN_WIDTH + 9 ld a, " " call FillMemory xor a ; NORMAL_PARTY_MENU @@ -5194,7 +5194,7 @@ ReloadMoveData: ; 3e329 (f:6329) ld [wd11e],a dec a ld hl,Moves - ld bc,$0006 + ld bc,MoveEnd - Moves call AddNTimes ld a,BANK(Moves) call FarCopyData ; copy the move's stats @@ -6170,7 +6170,7 @@ GetCurrentMove: ; 3eabe (f:6abe) ld [wd0b5], a dec a ld hl, Moves - ld bc, $6 + ld bc, MoveEnd - Moves call AddNTimes ld a, BANK(Moves) call FarCopyData @@ -6707,22 +6707,22 @@ LoadHudTilePatterns: ; 3ee5b (f:6e5b) .lcdDisabled ld hl, BattleHudTiles1 ld de, vChars2 + $6d0 - ld bc, $18 + ld bc, BattleHudTiles1End - BattleHudTiles1 ld a, BANK(BattleHudTiles1) call FarCopyDataDouble ld hl, BattleHudTiles2 ld de, vChars2 + $730 - ld bc, $30 + ld bc, BattleHudTiles3End - BattleHudTiles2 ld a, BANK(BattleHudTiles2) jp FarCopyDataDouble .lcdEnabled ld de, BattleHudTiles1 ld hl, vChars2 + $6d0 - lb bc, BANK(BattleHudTiles1), $03 + lb bc, BANK(BattleHudTiles1), (BattleHudTiles1End - BattleHudTiles1) / $8 call CopyVideoDataDouble ld de, BattleHudTiles2 ld hl, vChars2 + $730 - lb bc, BANK(BattleHudTiles2), $06 + lb bc, BANK(BattleHudTiles2), (BattleHudTiles3End - BattleHudTiles2) / $8 jp CopyVideoDataDouble PrintEmptyString: ; 3ee94 (f:6e94) diff --git a/engine/battle/draw_hud_pokeball_gfx.asm b/engine/battle/draw_hud_pokeball_gfx.asm index 7198d984..c1387b7b 100644 --- a/engine/battle/draw_hud_pokeball_gfx.asm +++ b/engine/battle/draw_hud_pokeball_gfx.asm @@ -13,7 +13,7 @@ DrawEnemyPokeballs: ; 3a857 (e:6857) LoadPartyPokeballGfx: ; 3a85d (e:685d) ld de, PokeballTileGraphics ld hl, vSprites + $310 - lb bc, BANK(PokeballTileGraphics), $04 + lb bc, BANK(PokeballTileGraphics), (PokeballTileGraphicsEnd - PokeballTileGraphics) / $10 jp CopyVideoData SetupOwnPartyPokeballs: ; 3a869 (e:6869) @@ -189,3 +189,4 @@ SetupPlayerAndEnemyPokeballs: ; 3a948 (e:6948) ; four tiles: pokeball, black pokeball (status ailment), crossed out pokeball (faited) and pokeball slot (no mon) PokeballTileGraphics:: ; 3a97e (e:697e) INCBIN "gfx/pokeball.2bpp" +PokeballTileGraphicsEnd: diff --git a/engine/battle/trainer_ai.asm b/engine/battle/trainer_ai.asm index 9102b2d8..08205048 100644 --- a/engine/battle/trainer_ai.asm +++ b/engine/battle/trainer_ai.asm @@ -264,7 +264,7 @@ ReadMove: ; 39884 (e:5884) push bc dec a ld hl,Moves - ld bc,6 + ld bc,MoveEnd - Moves call AddNTimes ld de,W_ENEMYMOVENUM call CopyData diff --git a/engine/cable_club.asm b/engine/cable_club.asm index 07284d13..88e85e8b 100755 --- a/engine/cable_club.asm +++ b/engine/cable_club.asm @@ -598,7 +598,7 @@ ReturnToCableClubRoom: ; 577d (1:577d) TradeCenter_DrawCancelBox: coord hl, 11, 15 ld a, $7e - ld bc, 2 * 20 + 9 + ld bc, 2 * SCREEN_WIDTH + 9 call FillMemory coord hl, 0, 15 ld b, 1 @@ -614,7 +614,7 @@ CancelTextString: TradeCenter_PlaceSelectedEnemyMonMenuCursor: ld a, [wSerialSyncAndExchangeNybbleReceiveData] coord hl, 1, 9 - ld bc, 20 + ld bc, SCREEN_WIDTH call AddNTimes ld [hl], $ec ; cursor ret diff --git a/engine/evos_moves.asm b/engine/evos_moves.asm index 16e893e5..4e55cdea 100755 --- a/engine/evos_moves.asm +++ b/engine/evos_moves.asm @@ -479,7 +479,7 @@ WriteMonMoves: ; 3afb8 (e:6fb8) push hl dec a ld hl, Moves - ld bc, 6 + ld bc, MoveEnd - Moves call AddNTimes ld de, wBuffer ld a, BANK(Moves) diff --git a/engine/gamefreak.asm b/engine/gamefreak.asm index 73e4f074..fa8faebc 100755 --- a/engine/gamefreak.asm +++ b/engine/gamefreak.asm @@ -13,15 +13,15 @@ LoadShootingStarGraphics: ; 70000 (1c:4000) call CopyVideoData ld de, FallingStar ld hl, vChars1 + $220 - lb bc, BANK(FallingStar), $01 + lb bc, BANK(FallingStar), (FallingStarEnd - FallingStar) / $10 call CopyVideoData ld hl, GameFreakLogoOAMData ld de, wOAMBuffer + $60 - ld bc, $40 + ld bc, GameFreakLogoOAMDataEnd - GameFreakLogoOAMData call CopyData ld hl, GameFreakShootingStarOAMData ld de, wOAMBuffer - ld bc, $10 + ld bc, GameFreakShootingStarOAMDataEnd - GameFreakShootingStarOAMData jp CopyData AnimateShootingStar: ; 70044 (1c:4044) @@ -88,7 +88,7 @@ AnimateShootingStar: ; 70044 (1c:4044) .initSmallStarsOAMLoop push af ld hl, SmallStarsOAM - ld bc, 4 + ld bc, SmallStarsOAMEnd - SmallStarsOAM call CopyData pop af dec a @@ -147,6 +147,7 @@ AnimateShootingStar: ; 70044 (1c:4044) SmallStarsOAM: ; 700ee (1c:40ee) db $00,$00,$A2,$90 +SmallStarsOAMEnd: SmallStarsWaveCoordsPointerTable: ; 700f2 (1c:40f2) dw SmallStarsWave1Coords @@ -229,12 +230,15 @@ GameFreakLogoOAMData: ; 70140 (1c:4140) db $60,$68,$83,$00 db $60,$70,$81,$00 db $60,$78,$86,$00 +GameFreakLogoOAMDataEnd: GameFreakShootingStarOAMData: ; 70180 (1c:4180) db $00,$A0,$A0,$10 db $00,$A8,$A0,$30 db $08,$A0,$A1,$10 db $08,$A8,$A1,$30 +GameFreakShootingStarOAMDataEnd: FallingStar: ; 70190 (1c:4190) INCBIN "gfx/falling_star.2bpp" +FallingStarEnd: diff --git a/engine/intro.asm b/engine/intro.asm index 154c41fd..636b4af5 100755 --- a/engine/intro.asm +++ b/engine/intro.asm @@ -278,22 +278,22 @@ PlayMoveSoundB: ; 41849 (10:5849) LoadIntroGraphics: ; 41852 (10:5852) ld hl, FightIntroBackMon ld de, vChars2 - ld bc, $600 + ld bc, FightIntroBackMonEnd - FightIntroBackMon ld a, BANK(FightIntroBackMon) call FarCopyData2 ld hl, GameFreakIntro ld de, vChars2 + $600 - ld bc, $140 + ld bc, GameFreakIntroEnd - GameFreakIntro ld a, BANK(GameFreakIntro) call FarCopyData2 ld hl, GameFreakIntro ld de, vChars1 - ld bc, $140 + ld bc, GameFreakIntroEnd - GameFreakIntro ld a, BANK(GameFreakIntro) call FarCopyData2 ld hl, FightIntroFrontMon ld de, vChars0 - ld bc, $6c0 + ld bc, FightIntroFrontMonEnd - FightIntroFrontMon ld a, BANK(FightIntroFrontMon) jp FarCopyData2 @@ -430,9 +430,11 @@ GameFreakIntro: ; 41959 (10:5959) INCBIN "gfx/gamefreak_intro.2bpp" INCBIN "gfx/gamefreak_logo.2bpp" ds $10 ; blank tile +GameFreakIntroEnd: FightIntroBackMon: ; 41a99 (10:5a99) INCBIN "gfx/intro_fight.2bpp" +FightIntroBackMonEnd: FightIntroFrontMon: ; 42099 (10:6099) @@ -440,11 +442,13 @@ IF DEF(_RED) INCBIN "gfx/red/intro_nido_1.6x6.2bpp" INCBIN "gfx/red/intro_nido_2.6x6.2bpp" INCBIN "gfx/red/intro_nido_3.6x6.2bpp" - ds $10 ; blank tile ENDC IF DEF(_BLUE) INCBIN "gfx/blue/intro_purin_1.6x6.2bpp" INCBIN "gfx/blue/intro_purin_2.6x6.2bpp" INCBIN "gfx/blue/intro_purin_3.6x6.2bpp" - ds $10 ; blank tile ENDC + +FightIntroFrontMonEnd: + + ds $10 ; blank tile diff --git a/engine/items/items.asm b/engine/items/items.asm index 364570da..bae86ddb 100755 --- a/engine/items/items.asm +++ b/engine/items/items.asm @@ -912,7 +912,7 @@ ItemUseMedicine: ; dabb (3:5abb) ld [wHPBarNewHP+1],a coord hl, 4, 1 ld a,[wWhichPokemon] - ld bc,2 * 20 + ld bc,2 * SCREEN_WIDTH call AddNTimes ; calculate coordinates of HP bar of pokemon that used Softboiled ld a,SFX_HEAL_HP call PlaySoundWaitForCurrent @@ -1937,7 +1937,7 @@ ItemUsePPRestore: ; e31e (3:631e) cp b ; is the pokemon whose PP was restored active in battle? jr nz,.skipUpdatingInBattleData ld hl,wPartyMon1PP - ld bc,44 + ld bc,wPartyMon2 - wPartyMon1 call AddNTimes ld de,wBattleMonPP ld bc,4 @@ -2289,7 +2289,7 @@ GotOffBicycleText: ; e5fc (3:65fc) ; [wCurrentMenuItem] = index of move (when using a PP Up) RestoreBonusPP: ; e606 (3:6606) ld hl,wPartyMon1Moves - ld bc,44 + ld bc,wPartyMon2 - wPartyMon1 ld a,[wWhichPokemon] call AddNTimes push hl @@ -2407,7 +2407,7 @@ GetMaxPP: ; e677 (3:6677) dec a push hl ld hl,Moves - ld bc,6 + ld bc,MoveEnd - Moves call AddNTimes ld de,wcd6d ld a,BANK(Moves) diff --git a/engine/learn_move.asm b/engine/learn_move.asm index 88dedd3d..02459b20 100755 --- a/engine/learn_move.asm +++ b/engine/learn_move.asm @@ -44,7 +44,7 @@ DontAbandonLearning: ; 6e5b (1:6e5b) push de dec a ld hl, Moves - ld bc, $6 + ld bc, MoveEnd - Moves call AddNTimes ld de, wBuffer ld a, BANK(Moves) diff --git a/engine/load_pokedex_tiles.asm b/engine/load_pokedex_tiles.asm index f4e45247..1189d2f0 100755 --- a/engine/load_pokedex_tiles.asm +++ b/engine/load_pokedex_tiles.asm @@ -3,7 +3,7 @@ LoadPokedexTilePatterns: ; 17840 (5:7840) call LoadHpBarAndStatusTilePatterns ld de,PokedexTileGraphics ld hl,vChars2 + $600 - lb bc, BANK(PokedexTileGraphics), $12 + lb bc, BANK(PokedexTileGraphics), (PokedexTileGraphicsEnd - PokedexTileGraphics) / $10 call CopyVideoData ld de,PokeballTileGraphics ld hl,vChars2 + $720 diff --git a/engine/menu/naming_screen.asm b/engine/menu/naming_screen.asm index 967f11e8..e64a4bee 100755 --- a/engine/menu/naming_screen.asm +++ b/engine/menu/naming_screen.asm @@ -326,11 +326,14 @@ DisplayNamingScreen: ; 6596 (1:6596) LoadEDTile: ; 675b (1:675b) ld de, ED_Tile ld hl, vFont + $700 - ld bc, $1 + ld bc, (ED_TileEnd - ED_Tile) / $8 + ; to fix the graphical bug on poor emulators + ;lb bc, BANK(ED_Tile), (ED_TileEnd - ED_Tile) / $8 jp CopyVideoDataDouble ED_Tile: ; 6767 (1:6767) INCBIN "gfx/ED_tile.1bpp" +ED_TileEnd: PrintAlphabet: ; 676f (1:676f) xor a diff --git a/engine/menu/party_menu.asm b/engine/menu/party_menu.asm index 42ab553a..d83c4fbe 100755 --- a/engine/menu/party_menu.asm +++ b/engine/menu/party_menu.asm @@ -150,7 +150,7 @@ RedrawPartyMenu_: ; 12ce3 (4:6ce3) ld l,a ld de,wcd6d ld a,BANK(EvosMovesPointerTable) - ld bc,13 + ld bc,Mon133_EvosEnd - Mon133_EvosMoves call FarCopyData ld hl,wcd6d ld de,.notAbleToEvolveText diff --git a/engine/menu/start_sub_menus.asm b/engine/menu/start_sub_menus.asm index f061fbf6..110da50d 100755 --- a/engine/menu/start_sub_menus.asm +++ b/engine/menu/start_sub_menus.asm @@ -611,7 +611,7 @@ DrawTrainerInfo: ; 1349a (4:749a) jp PrintNumber TrainerInfo_FarCopyData: ; 1357f (4:757f) - ld a,$0b + ld a,BANK(TrainerInfoTextBoxTileGraphics) jp FarCopyData2 TrainerInfo_NameMoneyTimeText: ; 13584 (4:7584) diff --git a/engine/menu/status_screen.asm b/engine/menu/status_screen.asm index d8a504bb..c959400a 100755 --- a/engine/menu/status_screen.asm +++ b/engine/menu/status_screen.asm @@ -99,7 +99,7 @@ StatusScreen: ; 12953 (4:6953) call CopyVideoDataDouble ; ─┘ ld de, PTile ld hl, vChars2 + $720 - lb bc, BANK(PTile), $01 + lb bc, BANK(PTile), (PTileEnd - PTile) / $8 call CopyVideoDataDouble ; P (for PP), inline ld a, [hTilesetType] push af @@ -242,6 +242,7 @@ DrawLineBox: ; 0x12ac7 PTile: ; 12adc (4:6adc) ; This is a single 1bpp "P" tile INCBIN "gfx/p_tile.1bpp" +PTileEnd: PrintStatsBox: ; 12ae4 (4:6ae4) ld a, d diff --git a/engine/overworld/emotion_bubbles.asm b/engine/overworld/emotion_bubbles.asm index ebd441aa..f8665dd6 100755 --- a/engine/overworld/emotion_bubbles.asm +++ b/engine/overworld/emotion_bubbles.asm @@ -9,7 +9,7 @@ EmotionBubble: ; 17c47 (5:7c47) inc hl ld d, [hl] ld hl, vChars1 + $780 - lb bc, BANK(EmotionBubblesPointerTable), $04 + lb bc, BANK(EmotionBubbles), $04 call CopyVideoData ld a, [wUpdateSpritesEnabled] push af diff --git a/engine/overworld/healing_machine.asm b/engine/overworld/healing_machine.asm index d3513b0d..3ab41d5f 100755 --- a/engine/overworld/healing_machine.asm +++ b/engine/overworld/healing_machine.asm @@ -1,7 +1,7 @@ AnimateHealingMachine: ; 70433 (1c:4433) ld de, PokeCenterFlashingMonitorAndHealBall ld hl, vChars0 + $7c0 - lb bc, BANK(PokeCenterFlashingMonitorAndHealBall), $03 + lb bc, BANK(PokeCenterFlashingMonitorAndHealBall), $03 ; loads one too many tiles call CopyVideoData ld hl, wUpdateSpritesEnabled ld a, [hl] diff --git a/engine/overworld/ledges.asm b/engine/overworld/ledges.asm index 5a3bfbe0..df4273fd 100755 --- a/engine/overworld/ledges.asm +++ b/engine/overworld/ledges.asm @@ -69,7 +69,7 @@ LedgeTiles: ; 1a6cf (6:66cf) LoadHoppingShadowOAM: ; 1a6f0 (6:66f0) ld hl, vChars1 + $7f0 ld de, LedgeHoppingShadow - lb bc, BANK(LedgeHoppingShadow), $01 + lb bc, BANK(LedgeHoppingShadow), (LedgeHoppingShadowEnd - LedgeHoppingShadow) / $8 call CopyVideoDataDouble ld a, $9 lb bc, $54, $48 ; b, c = y, x coordinates of shadow @@ -79,6 +79,7 @@ LoadHoppingShadowOAM: ; 1a6f0 (6:66f0) LedgeHoppingShadow: ; 1a708 (6:6708) INCBIN "gfx/ledge_hopping_shadow.1bpp" +LedgeHoppingShadowEnd: LedgeHoppingShadowOAM: ; 1a710 (6:6710) db $FF,$10,$FF,$20 diff --git a/engine/overworld/ssanne.asm b/engine/overworld/ssanne.asm index 1dccd026..e631bbfa 100755 --- a/engine/overworld/ssanne.asm +++ b/engine/overworld/ssanne.asm @@ -85,8 +85,9 @@ LoadSmokeTileFourTimes: ; 79fc0 (1e:5fc0) LoadSmokeTile: ; 79fd4 (1e:5fd4) ld de, SSAnneSmokePuffTile - lb bc, BANK(SSAnneSmokePuffTile), $01 + lb bc, BANK(SSAnneSmokePuffTile), (SSAnneSmokePuffTileEnd - SSAnneSmokePuffTile) / $10 jp CopyVideoData SSAnneSmokePuffTile: ; 79fdd (1e:5fdd) INCBIN "gfx/ss_anne_smoke_puff.2bpp" +SSAnneSmokePuffTileEnd: diff --git a/engine/titlescreen.asm b/engine/titlescreen.asm index df47275b..fea179d6 100755 --- a/engine/titlescreen.asm +++ b/engine/titlescreen.asm @@ -56,15 +56,8 @@ DisplayTitleScreen: ; 42dd (1:42dd) ld a, BANK(PokemonLogoGraphics) call FarCopyData2 ; second chunk ld hl, Version_GFX -IF DEF(_RED) - ld de,vChars2 + $600 - ld bc,$50 -ENDC -IF DEF(_BLUE) - ld de,vChars2 + $600 + $10 - ld bc,$50 - $10 -ENDC - + ld de,vChars2 + $600 - (Version_GFXEnd - Version_GFX - $50) + ld bc, Version_GFXEnd - Version_GFX ld a, BANK(Version_GFX) call FarCopyDataDouble call ClearBothBGMaps @@ -317,7 +310,7 @@ ScrollTitleScreenGameVersion: ; 44cf (1:44cf) DrawPlayerCharacter: ; 44dd (1:44dd) ld hl, PlayerCharacterTitleGraphics ld de, vSprites - ld bc, $230 + ld bc, PlayerCharacterTitleGraphicsEnd - PlayerCharacterTitleGraphics ld a, BANK(PlayerCharacterTitleGraphics) call FarCopyData2 call ClearSprites @@ -377,7 +370,7 @@ LoadCopyrightAndTextBoxTiles: ; 4538 (1:4538) LoadCopyrightTiles: ; 4541 (1:4541) ld de, NintendoCopyrightLogoGraphics ld hl, vChars2 + $600 - lb bc, BANK(NintendoCopyrightLogoGraphics), $1c + lb bc, BANK(NintendoCopyrightLogoGraphics), (GamefreakLogoGraphicsEnd - NintendoCopyrightLogoGraphics) / $10 call CopyVideoData coord hl, 2, 7 ld de, CopyrightTextString diff --git a/engine/town_map.asm b/engine/town_map.asm index 037a59fa..414b6509 100755 --- a/engine/town_map.asm +++ b/engine/town_map.asm @@ -20,7 +20,7 @@ DisplayTownMap: ; 70e3e (1c:4e3e) call CopyData ld hl, vSprites + $40 ld de, TownMapCursor - lb bc, BANK(TownMapCursor), $04 + lb bc, BANK(TownMapCursor), (TownMapCursorEnd - TownMapCursor) / $8 call CopyVideoDataDouble xor a ld [wWhichTownMapLocation], a @@ -107,6 +107,7 @@ INCLUDE "data/town_map_order.asm" TownMapCursor: ; 70f40 (1c:4f40) INCBIN "gfx/town_map_cursor.1bpp" +TownMapCursorEnd: LoadTownMap_Nest: ; 70f60 (1c:4f60) call LoadTownMap @@ -144,7 +145,7 @@ LoadTownMap_Fly: ; 70f90 (1c:4f90) call CopyVideoData ld de, TownMapUpArrow ld hl, vChars1 + $6d0 - lb bc, BANK(TownMapUpArrow), $01 + lb bc, BANK(TownMapUpArrow), (TownMapUpArrowEnd - TownMapUpArrow) / $8 call CopyVideoDataDouble call BuildFlyLocationsList ld hl, wUpdateSpritesEnabled @@ -271,6 +272,7 @@ BuildFlyLocationsList: ; 71070 (1c:5070) TownMapUpArrow: ; 71093 (1c:5093) INCBIN "gfx/up_arrow.1bpp" +TownMapUpArrowEnd: LoadTownMap: ; 7109b (1c:509b) call GBPalWhiteOutWithDelay3 @@ -283,12 +285,12 @@ LoadTownMap: ; 7109b (1c:509b) call DisableLCD ld hl, WorldMapTileGraphics ld de, vChars2 + $600 - ld bc, $100 + ld bc, WorldMapTileGraphicsEnd - WorldMapTileGraphics ld a, BANK(WorldMapTileGraphics) call FarCopyData2 ld hl, MonNestIcon ld de, vSprites + $40 - ld bc, $8 + ld bc, MonNestIconEnd - MonNestIcon ld a, BANK(MonNestIcon) call FarCopyDataDouble coord hl, 0, 0 @@ -582,6 +584,7 @@ INCLUDE "text/map_names.asm" MonNestIcon: ; 716be (1c:56be) INCBIN "gfx/mon_nest_icon.1bpp" +MonNestIconEnd: TownMapSpriteBlinkingAnimation: ; 716c6 (1c:56c6) ld a, [wAnimCounter] diff --git a/engine/trade.asm b/engine/trade.asm index 1a0e5f61..6e825fe5 100755 --- a/engine/trade.asm +++ b/engine/trade.asm @@ -149,7 +149,7 @@ Trade_Delay80: ; 41191 (10:5191) Trade_ClearTileMap: ; 41196 (10:5196) coord hl, 0, 0 - ld bc, 20 * 18 + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT ld a, " " jp FillMemory @@ -158,12 +158,12 @@ LoadTradingGFXAndMonNames: ; 411a1 (10:51a1) call DisableLCD ld hl, TradingAnimationGraphics ld de, vChars2 + $310 - ld bc, $310 + ld bc, TradingAnimationGraphicsEnd - TradingAnimationGraphics ld a, BANK(TradingAnimationGraphics) call FarCopyData2 ld hl, TradingAnimationGraphics2 ld de, vSprites + $7c0 - ld bc, $40 + ld bc, TradingAnimationGraphics2End - TradingAnimationGraphics2 ld a, BANK(TradingAnimationGraphics2) call FarCopyData2 ld hl, vBGMap0 @@ -190,7 +190,7 @@ LoadTradingGFXAndMonNames: ; 411a1 (10:51a1) call GetMonName ld hl, wcd6d ld de, wcf4b - ld bc, $b + ld bc, 11 call CopyData ld a, [wTradedEnemyMonSpecies] ld [wd11e], a diff --git a/home.asm b/home.asm index 2753307b..c796d9e2 100644 --- a/home.asm +++ b/home.asm @@ -3092,13 +3092,13 @@ LoadFontTilePatterns:: .off ld hl, FontGraphics ld de, vFont - ld bc, $400 + ld bc, FontGraphicsEnd - FontGraphics ld a, BANK(FontGraphics) jp FarCopyDataDouble ; if LCD is off, transfer all at once .on ld de, FontGraphics ld hl, vFont - lb bc, BANK(FontGraphics), $80 + lb bc, BANK(FontGraphics), (FontGraphicsEnd - FontGraphics) / $8 jp CopyVideoDataDouble ; if LCD is on, transfer during V-blank LoadTextBoxTilePatterns:: @@ -3108,13 +3108,13 @@ LoadTextBoxTilePatterns:: .off ld hl, TextBoxGraphics ld de, vChars2 + $600 - ld bc, $200 + ld bc, TextBoxGraphicsEnd - TextBoxGraphics ld a, BANK(TextBoxGraphics) jp FarCopyData2 ; if LCD is off, transfer all at once .on ld de, TextBoxGraphics ld hl, vChars2 + $600 - lb bc, BANK(TextBoxGraphics), $20 + lb bc, BANK(TextBoxGraphics), (TextBoxGraphicsEnd - TextBoxGraphics) / $10 jp CopyVideoData ; if LCD is on, transfer during V-blank LoadHpBarAndStatusTilePatterns:: @@ -3124,13 +3124,13 @@ LoadHpBarAndStatusTilePatterns:: .off ld hl, HpBarAndStatusGraphics ld de, vChars2 + $620 - ld bc, $1e0 + ld bc, HpBarAndStatusGraphicsEnd - HpBarAndStatusGraphics ld a, BANK(HpBarAndStatusGraphics) jp FarCopyData2 ; if LCD is off, transfer all at once .on ld de, HpBarAndStatusGraphics ld hl, vChars2 + $620 - lb bc, BANK(HpBarAndStatusGraphics), $1e + lb bc, BANK(HpBarAndStatusGraphics), (HpBarAndStatusGraphicsEnd - HpBarAndStatusGraphics) / $10 jp CopyVideoData ; if LCD is on, transfer during V-blank diff --git a/main.asm b/main.asm index 8def2f85..ab664b4f 100755 --- a/main.asm +++ b/main.asm @@ -590,7 +590,7 @@ INCLUDE "engine/cable_club.asm" LoadTrainerInfoTextBoxTiles: ; 5ae6 (1:5ae6) ld de, TrainerInfoTextBoxTileGraphics ld hl, vChars2 + $760 - lb bc, BANK(TrainerInfoTextBoxTileGraphics), $09 + lb bc, BANK(TrainerInfoTextBoxTileGraphics), (TrainerInfoTextBoxTileGraphicsEnd - TrainerInfoTextBoxTileGraphics) / $10 jp CopyVideoData INCLUDE "engine/menu/main_menu.asm" @@ -2068,7 +2068,7 @@ ClearVariablesAfterLoadingMapData: ; c335 (3:4335) ld [hli], a ld [hl], a ld hl, wWhichTrade - ld bc, $1e + ld bc, wStandingOnWarpPadOrHole - wWhichTrade call FillMemory ret @@ -3296,7 +3296,7 @@ LoadMissableObjects: ; f132 (3:7132) InitializeMissableObjectsFlags: ; f175 (3:7175) ld hl, W_MISSABLEOBJECTFLAGS - ld bc, $20 + ld bc, wMissableObjectFlagsEnd - W_MISSABLEOBJECTFLAGS xor a call FillMemory ; clear missable objects flags ld hl, MapHS00 @@ -3808,7 +3808,7 @@ AddPartyMon_WriteMovePP: ; f476 (3:7476) push de push bc ld hl, Moves - ld bc, $6 + ld bc, MoveEnd - Moves call AddNTimes ld de, wcd6d ld a, BANK(Moves) @@ -4173,7 +4173,7 @@ HealParty: push bc ld hl, Moves - ld bc, 6 + ld bc, MoveEnd - Moves call AddNTimes ld de, wcd6d ld a, BANK(Moves) @@ -4495,7 +4495,7 @@ START_MONEY EQU $3000 ld [hl], a ld hl, W_GAMEPROGRESSFLAGS - ld bc, $c8 + ld bc, wGameProgressFlagsEnd - W_GAMEPROGRESSFLAGS call FillMemory ; clear all game progress flags jp InitializeMissableObjectsFlags @@ -4767,17 +4767,26 @@ SECTION "Graphics", ROMX, BANK[GFX] PokemonLogoGraphics: INCBIN "gfx/pokemon_logo.2bpp" FontGraphics: INCBIN "gfx/font.1bpp" +FontGraphicsEnd: ABTiles: INCBIN "gfx/AB.2bpp" HpBarAndStatusGraphics: INCBIN "gfx/hp_bar_and_status.2bpp" +HpBarAndStatusGraphicsEnd: BattleHudTiles1: INCBIN "gfx/battle_hud1.1bpp" +BattleHudTiles1End: BattleHudTiles2: INCBIN "gfx/battle_hud2.1bpp" BattleHudTiles3: INCBIN "gfx/battle_hud3.1bpp" +BattleHudTiles3End: NintendoCopyrightLogoGraphics: INCBIN "gfx/copyright.2bpp" GamefreakLogoGraphics: INCBIN "gfx/gamefreak.2bpp" +GamefreakLogoGraphicsEnd: TextBoxGraphics: INCBIN "gfx/text_box.2bpp" +TextBoxGraphicsEnd: PokedexTileGraphics: INCBIN "gfx/pokedex.2bpp" +PokedexTileGraphicsEnd: WorldMapTileGraphics: INCBIN "gfx/town_map.2bpp" +WorldMapTileGraphicsEnd: PlayerCharacterTitleGraphics: INCBIN "gfx/player_title.2bpp" +PlayerCharacterTitleGraphicsEnd: SECTION "Battle (bank 4)", ROMX, BANK[$4] @@ -5337,6 +5346,7 @@ SECTION "Battle (bank B)", ROMX, BANK[$B] INCLUDE "engine/battle/display_effectiveness.asm" TrainerInfoTextBoxTileGraphics: INCBIN "gfx/trainer_info.2bpp" +TrainerInfoTextBoxTileGraphicsEnd: BlankLeaderNames: INCBIN "gfx/blank_leader_names.2bpp" CircleTile: INCBIN "gfx/circle_tile.2bpp" BadgeNumbersTileGraphics: INCBIN "gfx/badge_numbers.2bpp" @@ -5498,10 +5508,12 @@ INCLUDE "engine/battle/draw_hud_pokeball_gfx.asm" TradingAnimationGraphics: INCBIN "gfx/game_boy.norepeat.2bpp" INCBIN "gfx/link_cable.2bpp" +TradingAnimationGraphicsEnd: TradingAnimationGraphics2: ; Pokeball traveling through the link cable. INCBIN "gfx/trade2.2bpp" +TradingAnimationGraphics2End: INCLUDE "engine/evos_moves.asm" INCLUDE "engine/battle/moveEffects/heal_effect.asm" @@ -6487,6 +6499,7 @@ ENDC IF DEF(_BLUE) INCBIN "gfx/blue/blueversion.1bpp" ; 8 tiles ENDC +Version_GFXEnd: Dojo_GFX: Gym_GFX: INCBIN "gfx/tilesets/gym.2bpp" diff --git a/scripts/celadonmartelevator.asm b/scripts/celadonmartelevator.asm index 53f1f434..ea4792c0 100755 --- a/scripts/celadonmartelevator.asm +++ b/scripts/celadonmartelevator.asm @@ -36,7 +36,7 @@ CeladonMartElevatorScript_48631: ; 48631 (12:4631) call LoadItemList ld hl, CeldaonMartElevatorWarpMaps ld de, wcc5b - ld bc, $000a + ld bc, CeldaonMartElevatorWarpMapsEnd - CeldaonMartElevatorWarpMaps jp CopyData CeladonMartElavatorFloors: ; 48643 (12:4643) @@ -53,6 +53,7 @@ CeldaonMartElevatorWarpMaps: ; 4864a (12:464a) db $02, CELADON_MART_3 db $02, CELADON_MART_4 db $02, CELADON_MART_5 +CeldaonMartElevatorWarpMapsEnd: CeladonMartElevatorScript_48654: ; 48654 (12:4654) jpba ShakeElevator diff --git a/scripts/namerater.asm b/scripts/namerater.asm index c2d028ef..0222d596 100755 --- a/scripts/namerater.asm +++ b/scripts/namerater.asm @@ -10,15 +10,15 @@ NameRaterScript_1da15: ; 1da15 (7:5a15) NameRaterScript_1da20: ; 1da20 (7:5a20) ld hl, wPartyMonOT - ld bc, $000b + ld bc, 11 ld a, [wWhichPokemon] call AddNTimes ld de, wPlayerName - ld c, $b + ld c, 11 call .asm_1da47 jr c, .asm_1da52 ld hl, wPartyMon1OTID - ld bc, $002c + ld bc, wPartyMon2 - wPartyMon1 ld a, [wWhichPokemon] call AddNTimes ld de, wPlayerID diff --git a/scripts/pewterpokecenter.asm b/scripts/pewterpokecenter.asm index 584878eb..1e64032b 100755 --- a/scripts/pewterpokecenter.asm +++ b/scripts/pewterpokecenter.asm @@ -27,7 +27,7 @@ PewterPokecenterText3: ; 5c59b (17:459b) call DelayFrames ld hl, JigglypuffFacingDirections ld de, wJigglypuffFacingDirections - ld bc, 4 + ld bc, JigglypuffFacingDirectionsEnd - JigglypuffFacingDirections call CopyData ld a, [wSpriteStateData1 + 3 * $10 + $2] @@ -50,7 +50,7 @@ PewterPokecenterText3: ; 5c59b (17:459b) push hl ld hl, wJigglypuffFacingDirections ld de, wJigglypuffFacingDirections - 1 - ld bc, 4 + ld bc, JigglypuffFacingDirectionsEnd - JigglypuffFacingDirections call CopyData ld a, [wJigglypuffFacingDirections - 1] ld [wJigglypuffFacingDirections + 3], a @@ -79,6 +79,7 @@ JigglypuffFacingDirections: ; 5c608 (17:4608) db $30 | SPRITE_FACING_LEFT db $30 | SPRITE_FACING_UP db $30 | SPRITE_FACING_RIGHT +JigglypuffFacingDirectionsEnd: PewterPokecenterText4: ; 5c60c (17:460c) db $f6 diff --git a/scripts/rockethideoutelevator.asm b/scripts/rockethideoutelevator.asm index 52c7fad3..ac936b46 100755 --- a/scripts/rockethideoutelevator.asm +++ b/scripts/rockethideoutelevator.asm @@ -36,7 +36,7 @@ RocketHideoutElevatorScript_45741: ; 45741 (11:5741) call LoadItemList ld hl, RocketHideoutElevatorWarpMaps ld de, wcc5b - ld bc, $0006 + ld bc, RocketHideoutElevatorWarpMapsEnd - RocketHideoutElevatorWarpMaps call CopyData ret @@ -52,6 +52,7 @@ RocketHideoutElevatorWarpMaps: ; 45759 (11:5759) db $04, ROCKET_HIDEOUT_1 db $04, ROCKET_HIDEOUT_2 db $02, ROCKET_HIDEOUT_4 +RocketHideoutElevatorWarpMapsEnd: RocketHideoutElevatorScript_4575f: ; 4575f (11:575f) call Delay3 diff --git a/scripts/silphcoelevator.asm b/scripts/silphcoelevator.asm index 36dbb6d2..5bd189ae 100755 --- a/scripts/silphcoelevator.asm +++ b/scripts/silphcoelevator.asm @@ -36,7 +36,7 @@ SilphCoElevatorScript_457f1: ; 457f1 (11:57f1) call LoadItemList ld hl, SilphCoElevatorWarpMaps ld de, wcc5b - ld bc, $16 + ld bc, SilphCoElevatorWarpMapsEnd - SilphCoElevatorWarpMaps call CopyData ret @@ -60,6 +60,7 @@ 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) call Delay3 diff --git a/scripts/vermiliondock.asm b/scripts/vermiliondock.asm index a65b3603..6157ba8d 100755 --- a/scripts/vermiliondock.asm +++ b/scripts/vermiliondock.asm @@ -53,8 +53,8 @@ VermilionDock_1db9b: ; 1db9b (7:5b9b) ld b, $9c call CopyScreenTileBufferToVRAM coord hl, 0, 10 - ld bc, $0078 - ld a, $14 + ld bc, SCREEN_WIDTH * 6 + ld a, $14 ; water tile call FillMemory ld a, 1 ld [H_AUTOBGTRANSFERENABLED], a @@ -180,7 +180,7 @@ VermilionDock_1dc7c: ; 1dc7c (7:5c7c) VermilionDock_1dc94: ; 1dc94 (7:5c94) ld hl, wcc5b - ld bc, $00b4 + ld bc, SCREEN_WIDTH * 9 ld a, $14 call FillMemory ld hl, vBGMap0 + 10 * 32 diff --git a/wram.asm b/wram.asm index c470d6a4..2fdc2237 100755 --- a/wram.asm +++ b/wram.asm @@ -2397,7 +2397,10 @@ wPlayerCoins:: ; d5a4 W_MISSABLEOBJECTFLAGS:: ; d5a6 ; bit array of missable objects. set = removed - ds 39 + ds 32 +wMissableObjectFlagsEnd:: + + ds 7 wd5cd:: ds 1 ; temp copy of c1x2 (sprite facing/anim) @@ -2622,7 +2625,10 @@ W_SEAFOAMISLANDS5CURSCRIPT:: ; d668 W_ROUTE18GATECURSCRIPT:: ; d669 ds 1 - ds 134 + ds 78 +wGameProgressFlagsEnd:: + + ds 56 wObtainedHiddenItemsFlags:: ds 14 -- cgit v1.3.1-sl0p From 132d0367522b7acce602b146ca69bfad87ef96c6 Mon Sep 17 00:00:00 2001 From: YamaArashi Date: Wed, 12 Aug 2015 22:14:31 -0700 Subject: named more variables --- engine/battle/experience.asm | 8 +-- engine/cable_club.asm | 2 +- engine/game_corner_slots2.asm | 2 +- engine/hall_of_fame.asm | 2 +- engine/items/items.asm | 2 +- engine/menu/main_menu.asm | 2 +- engine/mon_party_sprites.asm | 10 ++-- engine/overworld/cinnabar_lab.asm | 16 +++--- engine/overworld/hidden_items.asm | 2 +- engine/overworld/oaks_aide.asm | 2 +- engine/pokedex_rating.asm | 2 +- engine/predefs.asm | 2 +- engine/predefs7.asm | 2 +- engine/save.asm | 6 +-- engine/titlescreen.asm | 2 +- engine/trade.asm | 2 +- home.asm | 2 +- hram.asm | 4 +- main.asm | 14 +++--- scripts/celadonmartelevator.asm | 2 +- scripts/celadonmartroof.asm | 102 +++++++++++++++++++------------------- scripts/ceruleanhousetrashed.asm | 2 +- scripts/lab4.asm | 15 +++--- scripts/oakslab.asm | 16 +++--- scripts/rockethideoutelevator.asm | 2 +- scripts/route11gateupstairs.asm | 4 +- scripts/route15gateupstairs.asm | 4 +- scripts/route2gate.asm | 4 +- scripts/silphcoelevator.asm | 2 +- scripts/vermilioncity.asm | 4 +- scripts/vermiliondock.asm | 26 ++++++---- text.asm | 16 +++--- wram.asm | 44 +++++++++++++--- 33 files changed, 185 insertions(+), 142 deletions(-) (limited to 'scripts/vermiliondock.asm') diff --git a/engine/battle/experience.asm b/engine/battle/experience.asm index 433588e3..ab3e3c19 100644 --- a/engine/battle/experience.asm +++ b/engine/battle/experience.asm @@ -76,11 +76,11 @@ GainExperience: ; 5524f (15:524f) ld b, [hl] ld a, [wPlayerID + 1] cp b - ld a, $0 + ld a, 0 jr z, .next .tradedMon call BoostExp ; traded mon exp boost - ld a, $1 + ld a, 1 .next ld [wGainBoostedExp], a ld a, [W_ISINBATTLE] @@ -92,12 +92,12 @@ GainExperience: ; 5524f (15:524f) ; add the gained exp to the party mon's exp ld b, [hl] ld a, [H_QUOTIENT + 3] - ld [wcf4c], a + ld [wExpAmountGained + 1], a add b ld [hld], a ld b, [hl] ld a, [H_QUOTIENT + 2] - ld [wcf4b], a + ld [wExpAmountGained], a adc b ld [hl], a jr nc, .noCarry diff --git a/engine/cable_club.asm b/engine/cable_club.asm index 0759bd11..465561ca 100755 --- a/engine/cable_club.asm +++ b/engine/cable_club.asm @@ -836,7 +836,7 @@ TradeCenter_Trade: call ClearScreen call LoadHpBarAndStatusTilePatterns xor a - ld [wcc5b], a + ld [wUnusedCC5B], a ld a, [hSerialConnectionStatus] cp USING_EXTERNAL_CLOCK jr z, .usingExternalClock diff --git a/engine/game_corner_slots2.asm b/engine/game_corner_slots2.asm index 643536ea..58386ba1 100755 --- a/engine/game_corner_slots2.asm +++ b/engine/game_corner_slots2.asm @@ -3,7 +3,7 @@ AbleToPlaySlotsCheck: ; 2ff09 (b:7f09) and $8 jr z, .done ; not able ld b, COIN_CASE - predef IsItemInBag_ ; IsItemInBag_ + predef GetQuantityOfItemInBag ld a, b and a ld b, (GameCornerCoinCaseText_id - TextPredefs) / 2 + 1 diff --git a/engine/hall_of_fame.asm b/engine/hall_of_fame.asm index c329c1a9..d95c01c5 100755 --- a/engine/hall_of_fame.asm +++ b/engine/hall_of_fame.asm @@ -243,7 +243,7 @@ HoFDisplayPlayerStats: ; 70377 (1c:4377) call HoFPrintTextAndDelay ld hl, DexRatingText call HoFPrintTextAndDelay - ld hl, wcc5d + ld hl, wDexRatingText HoFPrintTextAndDelay: ; 703e2 (1c:43e2) call PrintText diff --git a/engine/items/items.asm b/engine/items/items.asm index 418b21da..1a342d97 100755 --- a/engine/items/items.asm +++ b/engine/items/items.asm @@ -1324,7 +1324,7 @@ ItemUseRock: ; df67 (3:5f67) BaitRockCommon: ; df7f (3:5f7f) ld [W_ANIMATIONID],a xor a - ld [wcc5b],a + ld [wAnimationType],a ld [H_WHOSETURN],a ld [de],a ; zero escape factor (for bait), zero bait factor (for rock) .randomLoop ; loop until a random number less than 5 is generated diff --git a/engine/menu/main_menu.asm b/engine/menu/main_menu.asm index bff0fbe7..6c109cec 100755 --- a/engine/menu/main_menu.asm +++ b/engine/menu/main_menu.asm @@ -150,7 +150,7 @@ LinkMenu: ; 5c0a (1:5c0a) ld de, CableClubOptionsText call PlaceString xor a - ld [wcd37], a + ld [wUnusedCD37], a ld [wd72d], a ld hl, wTopMenuItemY ld a, $7 diff --git a/engine/mon_party_sprites.asm b/engine/mon_party_sprites.asm index c0163b1e..185151cb 100755 --- a/engine/mon_party_sprites.asm +++ b/engine/mon_party_sprites.asm @@ -13,7 +13,7 @@ AnimatePartyMon: ; 716ff (1c:56ff) ld hl, wPartyMenuHPBarColors ld a, [wCurrentMenuItem] ld c, a - ld b, $0 + ld b, 0 add hl, bc ld a, [hl] @@ -42,7 +42,7 @@ GetAnimationSpeed: ; 7170a (1c:570a) jp DelayFrame .resetSprites push bc - ld hl, wcc5b + ld hl, wMonPartySpritesSavedOAM ld de, wOAMBuffer ld bc, $60 call CopyData @@ -86,7 +86,7 @@ GetAnimationSpeed: ; 7170a (1c:570a) ; that each frame lasts for green HP, yellow HP, and red HP in order. ; On the naming screen, the yellow HP speed is always used. PartyMonSpeeds: ; 71769 (1c:5769) - db $05,$10,$20 + db 5, 16, 32 LoadMonPartySpriteGfx: ; 7176c (1c:576c) ; Load mon party sprite tile patterns into VRAM during V-blank. @@ -372,7 +372,7 @@ UnusedPartyMonSpriteFunction: ; 71890 (1c:5890) WriteMonPartySpriteOAM: ; 718c3 (1c:58c3) ; Write the OAM blocks for the first animation frame into the OAM buffer and -; make a copy at wcc5b. +; make a copy at wMonPartySpritesSavedOAM. push af ld c, $10 ld h, wOAMBuffer / $100 @@ -392,7 +392,7 @@ WriteMonPartySpriteOAM: ; 718c3 (1c:58c3) ; we can flip back to it from the second frame by copying it back. .makeCopy ld hl, wOAMBuffer - ld de, wcc5b + ld de, wMonPartySpritesSavedOAM ld bc, $60 jp CopyData diff --git a/engine/overworld/cinnabar_lab.asm b/engine/overworld/cinnabar_lab.asm index 5337255c..f81324e0 100755 --- a/engine/overworld/cinnabar_lab.asm +++ b/engine/overworld/cinnabar_lab.asm @@ -5,14 +5,14 @@ GiveFossilToCinnabarLab: ; 61006 (18:5006) ld [wCurrentMenuItem], a ld a, A_BUTTON | B_BUTTON ld [wMenuWatchedKeys], a - ld a, [wcd37] + ld a, [wFilteredBagItemsCount] dec a ld [wMaxMenuItem], a ld a, 2 ld [wTopMenuItemY], a ld a, 1 ld [wTopMenuItemX], a - ld a, [wcd37] + ld a, [wFilteredBagItemsCount] dec a ld bc, 2 ld hl, 3 @@ -29,9 +29,9 @@ GiveFossilToCinnabarLab: ; 61006 (18:5006) call HandleMenuInput bit 1, a ; pressed B? jr nz, .cancelledGivingFossil - ld hl, wcc5b + ld hl, wFilteredBagItems ld a, [wCurrentMenuItem] - ld d, $0 + ld d, 0 ld e, a add hl, de ld a, [hl] @@ -90,9 +90,9 @@ LabFossil_610bd: ; 610bd (18:50bd) PrintFossilsInBag: ; 610c2 (18:50c2) ; Prints each fossil in the player's bag on a separate line in the menu. - ld hl, wcc5b + ld hl, wFilteredBagItems xor a - ld [hFossilCounter], a + ld [hItemCounter], a .loop ld a, [hli] cp $ff @@ -101,12 +101,12 @@ PrintFossilsInBag: ; 610c2 (18:50c2) ld [wd11e], a call GetItemName coord hl, 2, 2 - ld a, [hFossilCounter] + ld a, [hItemCounter] ld bc, SCREEN_WIDTH * 2 call AddNTimes ld de, wcd6d call PlaceString - ld hl, hFossilCounter + ld hl, hItemCounter inc [hl] pop hl jr .loop diff --git a/engine/overworld/hidden_items.asm b/engine/overworld/hidden_items.asm index 1203dd2a..28528116 100755 --- a/engine/overworld/hidden_items.asm +++ b/engine/overworld/hidden_items.asm @@ -51,7 +51,7 @@ HiddenItemBagFullText: ; 76794 (1d:6794) HiddenCoins: ; 76799 (1d:6799) ld b, COIN_CASE - predef IsItemInBag_ + predef GetQuantityOfItemInBag ld a, b and a ret z diff --git a/engine/overworld/oaks_aide.asm b/engine/overworld/oaks_aide.asm index 31832315..8ac456d2 100755 --- a/engine/overworld/oaks_aide.asm +++ b/engine/overworld/oaks_aide.asm @@ -18,7 +18,7 @@ OaksAideScript: ; 0x59035 .giveItem ld hl, OaksAideHereYouGoText call PrintText - ld a, [hOaksAideItemReward] + ld a, [hOaksAideRewardItem] ld b, a ld c, 1 call GiveItem diff --git a/engine/pokedex_rating.asm b/engine/pokedex_rating.asm index 265eff40..73025f0a 100755 --- a/engine/pokedex_rating.asm +++ b/engine/pokedex_rating.asm @@ -33,7 +33,7 @@ DisplayDexRating: ; 44169 (11:4169) callba PlayPokedexRatingSfx jp WaitForTextScrollButtonPress .hallOfFame - ld de, wcc5b + ld de, wDexRatingNumMonsSeen ld a, [hDexRatingNumMonsSeen] ld [de], a inc de diff --git a/engine/predefs.asm b/engine/predefs.asm index 0abdb5b3..16533751 100755 --- a/engine/predefs.asm +++ b/engine/predefs.asm @@ -80,7 +80,7 @@ PredefPointers:: ; 4fe79 (13:7e79) add_predef LoadTilesetHeader add_predef LearnMoveFromLevelUp add_predef LearnMove - add_predef IsItemInBag_ + add_predef GetQuantityOfItemInBag dbw $03,CheckForHiddenObjectOrBookshelfOrCardKeyDoor ; for these two, the bank number is actually 0 dbw $03,GiveItem add_predef ChangeBGPalColor0_4Frames diff --git a/engine/predefs7.asm b/engine/predefs7.asm index bf31772c..a2c08171 100755 --- a/engine/predefs7.asm +++ b/engine/predefs7.asm @@ -21,7 +21,7 @@ DisplayElevatorFloorMenu: ; 1c9c6 (7:49c6) ret c ld hl, wd126 set 7, [hl] - ld hl, wcc5b + ld hl, wElevatorWarpMaps ld a, [wWhichPokemon] add a ld d, 0 diff --git a/engine/save.asm b/engine/save.asm index ae895d96..a7b2a7c0 100755 --- a/engine/save.asm +++ b/engine/save.asm @@ -644,7 +644,7 @@ SaveHallOfFameTeams: ; 73b0d (1c:7b0d) call AddNTimes ld e, l ld d, h - ld hl, wcc5b + ld hl, wHallOfFame ld bc, HOF_TEAM jr HallOfFame_Copy @@ -653,7 +653,7 @@ SaveHallOfFameTeams: ; 73b0d (1c:7b0d) ld de, sHallOfFame ld bc, HOF_TEAM * (HOF_TEAM_CAPACITY - 1) call HallOfFame_Copy - ld hl, wcc5b + ld hl, wHallOfFame ld de, sHallOfFame + HOF_TEAM * (HOF_TEAM_CAPACITY - 1) ld bc, HOF_TEAM jr HallOfFame_Copy @@ -663,7 +663,7 @@ LoadHallOfFameTeams: ; 73b3f (1c:7b3f) ld bc, HOF_TEAM ld a, [wHoFTeamIndex] call AddNTimes - ld de, wcc5b + ld de, wHallOfFame ld bc, HOF_TEAM ; fallthrough diff --git a/engine/titlescreen.asm b/engine/titlescreen.asm index a75d3dcf..b0bf0fb6 100755 --- a/engine/titlescreen.asm +++ b/engine/titlescreen.asm @@ -215,7 +215,7 @@ ENDC ld [wNewSoundID], a call PlaySound xor a - ld [wcc5b], a + ld [wUnusedCC5B], a ; Keep scrolling in new mons indefinitely until the user performs input. .awaitUserInterruptionLoop diff --git a/engine/trade.asm b/engine/trade.asm index 16a3d6a9..0e816e05 100755 --- a/engine/trade.asm +++ b/engine/trade.asm @@ -849,5 +849,5 @@ TradeforText: ; 41671 (10:5671) Trade_ShowAnimation: ; 41676 (10:5676) ld [W_ANIMATIONID], a xor a - ld [wcc5b], a + ld [wAnimationType], a predef_jump MoveAnimation diff --git a/home.asm b/home.asm index 3206a7ad..0d7c5271 100644 --- a/home.asm +++ b/home.asm @@ -2706,7 +2706,7 @@ IsItemInBag:: ; 3493 (0:3493) ; set zero flag if item isn't in player's bag ; else reset zero flag ; related to Pokémon Tower and ghosts - predef IsItemInBag_ + predef GetQuantityOfItemInBag ld a,b and a ret diff --git a/hram.asm b/hram.asm index 77fb7c1e..c1fb4c4c 100644 --- a/hram.asm +++ b/hram.asm @@ -269,7 +269,7 @@ hMovingBGTilesCounter1 EQU $FFD8 H_CURRENTSPRITEOFFSET EQU $FFDA ; multiple of $10 -hFossilCounter EQU $FFDB +hItemCounter EQU $FFDB hGymGateIndex EQU $FFDB @@ -285,7 +285,7 @@ hDexRatingNumMonsOwned EQU $FFDC hOaksAideResult EQU $FFDB hOaksAideRequirement EQU $FFDB ; required number of owned mons -hOaksAideItemReward EQU $FFDC +hOaksAideRewardItem EQU $FFDC hOaksAideNumMonsOwned EQU $FFDD hItemToRemoveID EQU $FFDB diff --git a/main.asm b/main.asm index a61c433b..6db76b46 100755 --- a/main.asm +++ b/main.asm @@ -4508,21 +4508,23 @@ InitializeEmptyList: ret -IsItemInBag_: ; f8a5 (3:78a5) +GetQuantityOfItemInBag: ; f8a5 (3:78a5) +; In: b = item ID +; Out: b = how many of that item are in the bag call GetPredefRegisters ld hl, wNumBagItems -.asm_f8ab +.loop inc hl ld a, [hli] cp $ff - jr z, .asm_f8b7 + jr z, .notInBag cp b - jr nz, .asm_f8ab + jr nz, .loop ld a, [hl] ld b, a ret -.asm_f8b7 - ld b, $0 +.notInBag + ld b, 0 ret FindPathToPlayer: ; f8ba (3:78ba) diff --git a/scripts/celadonmartelevator.asm b/scripts/celadonmartelevator.asm index 9295d8e6..6d901613 100755 --- a/scripts/celadonmartelevator.asm +++ b/scripts/celadonmartelevator.asm @@ -35,7 +35,7 @@ CeladonMartElevatorScript_48631: ; 48631 (12:4631) ld hl, CeladonMartElavatorFloors call LoadItemList ld hl, CeldaonMartElevatorWarpMaps - ld de, wcc5b + ld de, wElevatorWarpMaps ld bc, CeldaonMartElevatorWarpMapsEnd - CeldaonMartElevatorWarpMaps jp CopyData diff --git a/scripts/celadonmartroof.asm b/scripts/celadonmartroof.asm index 4a90535a..439ab62e 100755 --- a/scripts/celadonmartroof.asm +++ b/scripts/celadonmartroof.asm @@ -1,34 +1,35 @@ CeladonMartRoofScript: ; 483d5 (12:43d5) jp EnableAutoTextBoxDrawing -CeladonMartRoofScript_483d8: ; 483d8 (12:43d8) +CeladonMartRoofScript_GetDrinksInBag: ; 483d8 (12:43d8) +; construct a list of all drinks in the player's bag xor a - ld [wcd37], a - ld de, wcc5b + ld [wFilteredBagItemsCount], a + ld de, wFilteredBagItems ld hl, CeladonMartRoofDrinkList -.asm_483e2 +.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 @@ -39,7 +40,7 @@ CeladonMartRoofDrinkList: ; 48408 (12:4408) db LEMONADE db $00 -CeladonMartRoofScript_4840c: ; 4840c (12:440c) +CeladonMartRoofScript_GiveDrinkToGirl: ; 4840c (12:440c) ld hl, wd730 set 6, [hl] ld hl, CeladonMartRoofText_484ee @@ -48,83 +49,84 @@ CeladonMartRoofScript_4840c: ; 4840c (12:440c) ld [wCurrentMenuItem], a ld a, A_BUTTON | B_BUTTON ld [wMenuWatchedKeys], a - ld a, [wcd37] + ld a, [wFilteredBagItemsCount] dec a ld [wMaxMenuItem], a - ld a, $2 + ld a, 2 ld [wTopMenuItemY], a - ld a, $1 + ld a, 1 ld [wTopMenuItemX], a - ld a, [wcd37] + 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 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 ; pressed b ret nz - ld hl, wcc5b + ld hl, wFilteredBagItems ld a, [wCurrentMenuItem] - ld d, $0 + 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 + jr z, .gaveSodaPop +; gave Lemonade CheckEvent EVENT_GOT_TM49 - jr nz, .asm_484e0 + jr nz, .alreadyGaveDrink ld hl, CeladonMartRoofText_48515 call PrintText call RemoveItemByIDBank12 lb bc, TM_49, 1 call GiveItem - jr nc, .BagFull + jr nc, .bagFull ld hl, ReceivedTM49Text call PrintText SetEvent EVENT_GOT_TM49 ret -.asm_48492 +.gaveSodaPop CheckEvent EVENT_GOT_TM48 - jr nz, .asm_484e0 + jr nz, .alreadyGaveDrink ld hl, CeladonMartRoofText_48504 call PrintText call RemoveItemByIDBank12 lb bc, TM_48, 1 call GiveItem - jr nc, .BagFull + jr nc, .bagFull ld hl, CeladonMartRoofText_4850a call PrintText SetEvent EVENT_GOT_TM48 ret -.asm_484b6 +.gaveFreshWater CheckEvent EVENT_GOT_TM13 - jr nz, .asm_484e0 + jr nz, .alreadyGaveDrink ld hl, CeladonMartRoofText_484f3 call PrintText call RemoveItemByIDBank12 lb bc, TM_13, 1 call GiveItem - jr nc, .BagFull + jr nc, .bagFull ld hl, CeladonMartRoofText_484f9 call PrintText SetEvent EVENT_GOT_TM13 ret -.BagFull +.bagFull ld hl, CeladonMartRoofText_48526 jp PrintText -.asm_484e0 +.alreadyGaveDrink ld hl, CeladonMartRoofText_4852c jp PrintText @@ -181,11 +183,11 @@ CeladonMartRoofText_4852c: ; 4852c (12:452c) db $0d db "@" -CeladonMartRoofScript_48532: ; 48532 (12:4532) - ld hl, wcc5b +CeladonMartRoofScript_PrintDrinksInBag: ; 48532 (12:4532) + ld hl, wFilteredBagItems xor a - ld [$ffdb], a -.asm_48538 + ld [hItemCounter], a +.loop ld a, [hli] cp $ff ret z @@ -193,15 +195,15 @@ CeladonMartRoofScript_48532: ; 48532 (12:4532) ld [wd11e], a call GetItemName coord hl, 2, 2 - ld a, [$ffdb] + 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) dw CeladonMartRoofText1 @@ -217,24 +219,24 @@ CeladonMartRoofText1: ; 48567 (12:4567) CeladonMartRoofText2: ; 4856c (12:456c) TX_ASM - call CeladonMartRoofScript_483d8 - ld a, [wcd37] + call CeladonMartRoofScript_GetDrinksInBag + ld a, [wFilteredBagItemsCount] and a - jr z, .asm_4858f - 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_48595 - call CeladonMartRoofScript_4840c - jr .asm_48595 -.asm_4858f + jr nz, .done + call CeladonMartRoofScript_GiveDrinkToGirl + jr .done +.noDrinksInBag ld hl, CeladonMartRoofText3 call PrintText -.asm_48595 +.done jp TextScriptEnd CeladonMartRoofText3: ; 48598 (12:4598) diff --git a/scripts/ceruleanhousetrashed.asm b/scripts/ceruleanhousetrashed.asm index e0a194fe..a1f58684 100755 --- a/scripts/ceruleanhousetrashed.asm +++ b/scripts/ceruleanhousetrashed.asm @@ -10,7 +10,7 @@ CeruleanHouseTrashedTextPointers: ; 1d689 (7:5689) CeruleanHouseTrashedText1: ; 1d68f (7:568f) TX_ASM ld b, $e4 - predef IsItemInBag_ + predef GetQuantityOfItemInBag and b jr z, .asm_f8734 ld hl, CeruleanHouseTrashedText_1d6b0 diff --git a/scripts/lab4.asm b/scripts/lab4.asm index f2c4d8d7..dab07824 100755 --- a/scripts/lab4.asm +++ b/scripts/lab4.asm @@ -5,12 +5,11 @@ Lab4TextPointers: ; 75d34 (1d:5d34) dw Lab4Text1 dw Lab4Text2 -Lab4Script_75d38: ; 75d38 (1d:5d38) +Lab4Script_GetFossilsInBag: ; 75d38 (1d:5d38) ; 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 @@ -53,8 +52,8 @@ Lab4Text1: ; 75d6c (1d:5d6c) 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 callba GiveFossilToCinnabarLab diff --git a/scripts/oakslab.asm b/scripts/oakslab.asm index 9d3cd7b1..c5ca2e6e 100755 --- a/scripts/oakslab.asm +++ b/scripts/oakslab.asm @@ -449,13 +449,13 @@ OaksLabScript13: ; 1ce32 (7:4e32) ld a, [W_XCOORD] cp $4 ; move left or right depending on where the player is standing - jr nz, .asm_1ce5b - ld a, $c0 - jr .asm_1ce5d -.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 @@ -855,7 +855,7 @@ OaksLabScript_1d157: ; 1d157 (7:5157) ld [hl], SPRITE_FACING_RIGHT ld hl, wd730 set 6, [hl] - predef StarterDex ; StarterDex + predef StarterDex ld hl, wd730 res 6, [hl] call ReloadMapData diff --git a/scripts/rockethideoutelevator.asm b/scripts/rockethideoutelevator.asm index 21a543e9..8a0ca049 100755 --- a/scripts/rockethideoutelevator.asm +++ b/scripts/rockethideoutelevator.asm @@ -35,7 +35,7 @@ RocketHideoutElevatorScript_45741: ; 45741 (11:5741) ld hl, RocketHideoutElavatorFloors call LoadItemList ld hl, RocketHideoutElevatorWarpMaps - ld de, wcc5b + ld de, wElevatorWarpMaps ld bc, RocketHideoutElevatorWarpMapsEnd - RocketHideoutElevatorWarpMaps call CopyData ret diff --git a/scripts/route11gateupstairs.asm b/scripts/route11gateupstairs.asm index a1906c5d..05ea2a95 100755 --- a/scripts/route11gateupstairs.asm +++ b/scripts/route11gateupstairs.asm @@ -22,12 +22,12 @@ Route11GateUpstairsText2: ; 4946c (12:546c) ld a, 30 ; pokemon needed ld [hOaksAideRequirement], a ld a, ITEMFINDER ; oak's aide reward - ld [hOaksAideItemReward], a + ld [hOaksAideRewardItem], a ld [wd11e], a call GetItemName ld h, d ld l, e - ld de, wcc5b + ld de, wOaksAideRewardItemName ld bc, $000d call CopyData predef OaksAideScript diff --git a/scripts/route15gateupstairs.asm b/scripts/route15gateupstairs.asm index 0fc806da..5cfb8903 100755 --- a/scripts/route15gateupstairs.asm +++ b/scripts/route15gateupstairs.asm @@ -12,11 +12,11 @@ Route15GateUpstairsText1: ; 49651 (12:5651) ld a, 50 ; pokemon needed ld [hOaksAideRequirement], a ld a, EXP__ALL ; oak's aide reward - ld [hOaksAideItemReward], a + ld [hOaksAideRewardItem], a ld [wd11e], a call GetItemName ld hl, wcd6d - ld de, wcc5b + ld de, wOaksAideRewardItemName ld bc, $000d call CopyData predef OaksAideScript diff --git a/scripts/route2gate.asm b/scripts/route2gate.asm index 65d53bc7..1bd82c04 100755 --- a/scripts/route2gate.asm +++ b/scripts/route2gate.asm @@ -12,11 +12,11 @@ Route2GateText1: ; 5d5db (17:55db) ld a, 10 ; pokemon needed ld [hOaksAideRequirement], a ld a, HM_05 ; oak's aide reward - ld [hOaksAideItemReward], a + ld [hOaksAideRewardItem], a ld [wd11e], a call GetItemName ld hl, wcd6d - ld de, wcc5b + ld de, wOaksAideRewardItemName ld bc, $000d call CopyData predef OaksAideScript diff --git a/scripts/silphcoelevator.asm b/scripts/silphcoelevator.asm index 3e36214e..d080cfef 100755 --- a/scripts/silphcoelevator.asm +++ b/scripts/silphcoelevator.asm @@ -35,7 +35,7 @@ SilphCoElevatorScript_457f1: ; 457f1 (11:57f1) ld hl, SilphCoElavatorFloors call LoadItemList ld hl, SilphCoElevatorWarpMaps - ld de, wcc5b + ld de, wElevatorWarpMaps ld bc, SilphCoElevatorWarpMapsEnd - SilphCoElevatorWarpMaps call CopyData ret diff --git a/scripts/vermilioncity.asm b/scripts/vermilioncity.asm index de721a2f..a203323f 100755 --- a/scripts/vermilioncity.asm +++ b/scripts/vermilioncity.asm @@ -53,7 +53,7 @@ VermilionCityScript0: ; 197e6 (6:57e6) CheckEvent EVENT_SS_ANNE_LEFT jr nz, .asm_19810 ld b, S_S__TICKET - predef IsItemInBag_ + predef GetQuantityOfItemInBag ld a, b and a ret nz @@ -171,7 +171,7 @@ VermilionCityText3: ; 198b1 (6:58b1) ld hl, SSAnneWelcomeText9 call PrintText ld b, S_S__TICKET - predef IsItemInBag_ + predef GetQuantityOfItemInBag ld a, b and a jr nz, .asm_198e9 diff --git a/scripts/vermiliondock.asm b/scripts/vermiliondock.asm index 62323fd8..d3c7e31a 100755 --- a/scripts/vermiliondock.asm +++ b/scripts/vermiliondock.asm @@ -106,7 +106,7 @@ VermilionDock_1db9b: ; 1db9b (7:5b9b) xor a ld [rWY], a ld [hWY], a - call VermilionDock_1dc94 + call VermilionDock_EraseSSAnne ld a, $90 ld [hWY], a ld a, $1 @@ -178,21 +178,29 @@ VermilionDock_1dc7c: ; 1dc7c (7:5c7c) jr z, .asm_1dc8e ret -VermilionDock_1dc94: ; 1dc94 (7:5c94) - ld hl, wcc5b - ld bc, SCREEN_WIDTH * 9 - ld a, $14 +VermilionDock_EraseSSAnne: ; 1dc94 (7:5c94) +; Fill the area the S.S. Anne occupies in BG map 0 with water tiles. + ld hl, wVermilionDockTileMapBuffer + ld bc, (5 * 32) + SCREEN_WIDTH + ld a, $14 ; water tile call FillMemory ld hl, vBGMap0 + 10 * 32 - ld de, wcc5b - ld bc, $000c + ld de, wVermilionDockTileMapBuffer + ld bc, (6 * 32) / 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. + ld hl, wOverworldMap + (5 + 3) + (2 + 3) * (VERMILION_DOCK_WIDTH + 6) ; (5, 2) + ld a, $d ; water block ld [hli], a ld [hli], a ld [hli], a ld [hl], a + ld a, SFX_SS_ANNE_HORN call PlaySound ld c, 120 diff --git a/text.asm b/text.asm index 8b0482f3..9bbbb819 100644 --- a/text.asm +++ b/text.asm @@ -100,7 +100,7 @@ _OaksAideHiText:: ; 80143 (20:4143) cont "I'm supposed to" cont "give you an" cont "@" - TX_RAM wcc5b + TX_RAM wOaksAideRewardItemName text "!" para "So, ", $52, "! Have" @@ -124,7 +124,7 @@ _OaksAideUhOhText:: ; 801e4 (20:41e4) text " kinds" line "if you want the" cont "@" - TX_RAM wcc5b + TX_RAM wOaksAideRewardItemName text "." done @@ -136,7 +136,7 @@ _OaksAideComeBackText:: ; 80250 (20:4250) db $0 line "kinds, come back" cont "for @" - TX_RAM wcc5b + TX_RAM wOaksAideRewardItemName text "." done @@ -154,7 +154,7 @@ _OaksAideHereYouGoText:: ; 8028c (20:428c) _OaksAideGotItemText:: ; 802d9 (20:42d9) text $52, " got the" line "@" - TX_RAM wcc5b + TX_RAM wOaksAideRewardItemName text "!@@" _OaksAideNoRoomText:: ; 802ec (20:42ec) @@ -162,7 +162,7 @@ _OaksAideNoRoomText:: ; 802ec (20:42ec) line "don't have any" cont "room for the" cont "@" - TX_RAM wcc5b + TX_RAM wOaksAideRewardItemName text "." done @@ -363,10 +363,10 @@ _YeahText:: ; 88236 (22:4236) _DexSeenOwnedText:: ; 8823e (22:423e) text "#DEX Seen:@" - TX_NUM wcc5b, 1, 3 + TX_NUM wDexRatingNumMonsSeen, 1, 3 db $0 line " Owned:@" - TX_NUM wcc5c, 1, 3 + TX_NUM wDexRatingNumMonsOwned, 1, 3 db "@" _DexRatingText:: ; 88267 (22:4267) @@ -1467,7 +1467,7 @@ _BoostedText:: ; 89be1 (22:5be1) text "a boosted" cont "@@" _ExpPointsText:: ; 89bee (22:5bee) - TX_NUM wcf4b, 2, 4 + TX_NUM wExpAmountGained, 2, 4 text " EXP. Points!" prompt diff --git a/wram.asm b/wram.asm index 67cdd5fa..e529049e 100755 --- a/wram.asm +++ b/wram.asm @@ -477,6 +477,26 @@ wNPCMovementScriptBank:: ; cc58 ds 2 +wUnusedCC5B:: ; cc5b + +wVermilionDockTileMapBuffer:: ; cc5b +; 180 bytes + +wOaksAideRewardItemName:: ; cc5b + +wDexRatingNumMonsSeen:: ; cc5b + +wFilteredBagItems:: ; cc5b +; List of bag items that has been filtered to a certain type of items, +; such as drinks or fossils. + +wElevatorWarpMaps:: ; cc5b + +wMonPartySpritesSavedOAM:: ; cc5b +; Saved copy of OAM for the first frame of the animation to make it easy to +; flip back from the second frame. +; $60 bytes + wTrainerCardBlkPacket:: ; cc5b ; $40 bytes @@ -493,10 +513,13 @@ wAnimationType:: ; cc5b ; values between 0-6. Shake screen horizontally, shake screen vertically, blink Pokemon... wNPCMovementDirections:: ; cc5b + ds 1 -wcc5b:: ds 1 ; these upcoming values below are miscellaneous storage values -wcc5c:: ds 1 ; used in pokedex evaluation as well -wcc5d:: ds 1 ; used in pokedex evaluation +wDexRatingNumMonsOwned:: ; cc5c + ds 1 + +wDexRatingText:: ; cc5d + ds 1 wSlotMachineSavedROMBank:: ; cc5e ; ROM back to return to when the player is done with the slot machine @@ -723,7 +746,11 @@ wInGameTradeReceiveMonSpecies:: wNPCMovementDirections2Index:: ; cd37 -wcd37:: ds 1 ; used in list menus, like the fossil lab menu or drink girl menu. Also used in link menu. +wUnusedCD37:: ; cd37 + +wFilteredBagItemsCount:: ; cd37 +; number of items in wFilteredBagItems list + ds 1 wSimulatedJoypadStatesIndex:: ; cd38 ; the next simulated joypad state is at wSimulatedJoypadStatesEnd plus this value minus 1 @@ -1320,10 +1347,15 @@ wPartyMenuBlkPacket:: ; cf2e ; $30 bytes ds 29 -wcf4b:: ds 1 ; storage buffer for various strings -wcf4c:: ds 1 ; used with displaying EXP value, probably also overflowed with wcf4b +wExpAmountGained:: ; cf4b +; 2-byte big-endian number +; the total amount of exp a mon gained + +wcf4b:: ds 2 ; storage buffer for various strings + wGainBoostedExp:: ; cf4d ds 1 + ds 17 wGymCityName:: ; cf5f -- cgit v1.3.1-sl0p From b6ac1018c29592d667a559016baa18301f21dad4 Mon Sep 17 00:00:00 2001 From: YamaArashi Date: Fri, 14 Aug 2015 02:46:12 -0700 Subject: add border constant and clear up misnomer --- constants/connection_constants.asm | 4 ++ constants/misc_constants.asm | 9 +++-- engine/trade.asm | 10 ++--- home/overworld.asm | 76 +++++++++++++++++++------------------- home/vblank.asm | 2 +- home/vcopy.asm | 51 +++++++++++++------------ hram.asm | 8 ++-- macros.asm | 8 ++++ main.asm | 10 ++--- scripts/vermiliondock.asm | 8 ++-- wram.asm | 4 +- 11 files changed, 103 insertions(+), 87 deletions(-) (limited to 'scripts/vermiliondock.asm') diff --git a/constants/connection_constants.asm b/constants/connection_constants.asm index 916d6c4f..154c4163 100755 --- a/constants/connection_constants.asm +++ b/constants/connection_constants.asm @@ -1,3 +1,7 @@ +; width of east/west connections +; height of north/south connections +MAP_BORDER EQU 3 + ; connection directions EAST EQU 1 WEST EQU 2 diff --git a/constants/misc_constants.asm b/constants/misc_constants.asm index 9fa50e9c..43dc908e 100644 --- a/constants/misc_constants.asm +++ b/constants/misc_constants.asm @@ -25,13 +25,14 @@ D_LEFT EQU %00100000 D_UP EQU %01000000 D_DOWN EQU %10000000 -PIXELS_PER_TILE EQU 8 - SCREEN_WIDTH EQU 20 SCREEN_HEIGHT EQU 18 -SCREEN_WIDTH_PIXELS EQU SCREEN_WIDTH * PIXELS_PER_TILE -SCREEN_HEIGHT_PIXELS EQU SCREEN_HEIGHT * PIXELS_PER_TILE +SCREEN_WIDTH_PIXELS EQU SCREEN_WIDTH * 8 +SCREEN_HEIGHT_PIXELS EQU SCREEN_HEIGHT * 8 + +BG_MAP_WIDTH EQU 32 +BG_MAP_HEIGHT EQU 32 NPC_MOVEMENT_DOWN EQU $00 NPC_MOVEMENT_UP EQU $40 diff --git a/engine/trade.asm b/engine/trade.asm index 0e816e05..66afa47e 100755 --- a/engine/trade.asm +++ b/engine/trade.asm @@ -552,14 +552,14 @@ Trade_CopyCableTilesOffScreen: ; 414ae (10:54ae) ; continues when the screen is scrolled. push hl coord hl, 0, 4 - call CopyToScreenEdgeTiles + call CopyToRedrawRowOrColumnSrcTiles pop hl ld a, h - ld [H_SCREENEDGEREDRAWADDR + 1], a + ld [hRedrawRowOrColumnDest + 1], a ld a, l - ld [H_SCREENEDGEREDRAWADDR], a - ld a, REDRAWROW - ld [H_SCREENEDGEREDRAW], a + ld [hRedrawRowOrColumnDest], a + ld a, REDRAW_ROW + ld [hRedrawRowOrColumnMode], a ld c, 10 jp DelayFrames diff --git a/home/overworld.asm b/home/overworld.asm index 6b3a75c6..051d055e 100644 --- a/home/overworld.asm +++ b/home/overworld.asm @@ -555,10 +555,10 @@ CheckMapConnections:: ; 07ba (0:07ba) jr z,.savePointer1 .pointerAdjustmentLoop1 ld a,[wWestConnectedMapWidth] ; width of connected map - add a,$06 + add a,MAP_BORDER * 2 ld e,a - ld d,$00 - ld b,$00 + ld d,0 + ld b,0 add hl,de dec c jr nz,.pointerAdjustmentLoop1 @@ -591,10 +591,10 @@ CheckMapConnections:: ; 07ba (0:07ba) jr z,.savePointer2 .pointerAdjustmentLoop2 ld a,[wEastConnectedMapWidth] - add a,$06 + add a,MAP_BORDER * 2 ld e,a - ld d,$00 - ld b,$00 + ld d,0 + ld b,0 add hl,de dec c jr nz,.pointerAdjustmentLoop2 @@ -883,15 +883,15 @@ LoadTileBlockMap:: ; 09fc (0:09fc) ld hl,wOverworldMap ld a,[W_CURMAPWIDTH] ld [hMapWidth],a - add a,$06 ; border (east and west) + add a,MAP_BORDER * 2 ; east and west ld [hMapStride],a ; map width + border - ld b,$00 + ld b,0 ld c,a ; make space for north border (next 3 lines) add hl,bc add hl,bc add hl,bc - ld c,$03 + ld c,MAP_BORDER add hl,bc ; this puts us past the (west) border ld a,[W_MAPDATAPTR] ; tile map pointer ld e,a @@ -995,7 +995,7 @@ LoadTileBlockMap:: ; 09fc (0:09fc) ret LoadNorthSouthConnectionsTileMap:: ; 0ade (0:0ade) - ld c,$03 + ld c,MAP_BORDER .loop push de push hl @@ -1016,7 +1016,7 @@ LoadNorthSouthConnectionsTileMap:: ; 0ade (0:0ade) inc h .noCarry1 ld a,[W_CURMAPWIDTH] - add a,$06 + add a,MAP_BORDER * 2 add e ld e,a jr nc,.noCarry2 @@ -1029,7 +1029,7 @@ LoadNorthSouthConnectionsTileMap:: ; 0ade (0:0ade) LoadEastWestConnectionsTileMap:: ; 0b02 (0:0b02) push hl push de - ld c,$03 + ld c,MAP_BORDER .innerLoop ld a,[hli] ld [de],a @@ -1045,7 +1045,7 @@ LoadEastWestConnectionsTileMap:: ; 0b02 (0:0b02) inc h .noCarry1 ld a,[W_CURMAPWIDTH] - add a,$06 + add a,MAP_BORDER * 2 add e ld e,a jr nc,.noCarry2 @@ -1387,7 +1387,7 @@ LoadCurrentMapView:: ; 0caa (0:0caa) ; update tile block map pointer to next row's address pop de ld a,[W_CURMAPWIDTH] - add a,$06 + add a,MAP_BORDER * 2 add e ld e,a jr nc,.noCarry @@ -1418,7 +1418,7 @@ LoadCurrentMapView:: ; 0caa (0:0caa) ld bc,$0002 add hl,bc .copyToVisibleAreaBuffer - coord de, 0, 0 ; base address for the tiles that are directly transfered to VRAM during V-blank + coord de, 0, 0 ; base address for the tiles that are directly transferred to VRAM during V-blank ld b, SCREEN_HEIGHT .rowLoop2 ld c, SCREEN_WIDTH @@ -1662,7 +1662,7 @@ MoveTileBlockMapPointerWest:: ; 0e6f (0:0e6f) ret MoveTileBlockMapPointerSouth:: ; 0e79 (0:0e79) - add a,$06 + add a,MAP_BORDER * 2 ld b,a ld a,[de] add b @@ -1675,7 +1675,7 @@ MoveTileBlockMapPointerSouth:: ; 0e79 (0:0e79) ret MoveTileBlockMapPointerNorth:: ; 0e85 (0:0e85) - add a,$06 + add a,MAP_BORDER * 2 ld b,a ld a,[de] sub b @@ -1692,17 +1692,17 @@ MoveTileBlockMapPointerNorth:: ; 0e85 (0:0e85) ScheduleNorthRowRedraw:: ; 0e91 (0:0e91) coord hl, 0, 0 - call CopyToScreenEdgeTiles + call CopyToRedrawRowOrColumnSrcTiles ld a,[wMapViewVRAMPointer] - ld [H_SCREENEDGEREDRAWADDR],a + ld [hRedrawRowOrColumnDest],a ld a,[wMapViewVRAMPointer + 1] - ld [H_SCREENEDGEREDRAWADDR + 1],a - ld a,REDRAWROW - ld [H_SCREENEDGEREDRAW],a + ld [hRedrawRowOrColumnDest + 1],a + ld a,REDRAW_ROW + ld [hRedrawRowOrColumnMode],a ret -CopyToScreenEdgeTiles:: ; 0ea6 (0:0ea6) - ld de,wScreenEdgeTiles +CopyToRedrawRowOrColumnSrcTiles:: ; 0ea6 (0:0ea6) + ld de,wRedrawRowOrColumnSrcTiles ld c,2 * SCREEN_WIDTH .loop ld a,[hli] @@ -1714,7 +1714,7 @@ CopyToScreenEdgeTiles:: ; 0ea6 (0:0ea6) ScheduleSouthRowRedraw:: ; 0eb2 (0:0eb2) coord hl, 0, 16 - call CopyToScreenEdgeTiles + call CopyToRedrawRowOrColumnSrcTiles ld a,[wMapViewVRAMPointer] ld l,a ld a,[wMapViewVRAMPointer + 1] @@ -1724,11 +1724,11 @@ ScheduleSouthRowRedraw:: ; 0eb2 (0:0eb2) ld a,h and a,$03 or a,$98 - ld [H_SCREENEDGEREDRAWADDR + 1],a + ld [hRedrawRowOrColumnDest + 1],a ld a,l - ld [H_SCREENEDGEREDRAWADDR],a - ld a,REDRAWROW - ld [H_SCREENEDGEREDRAW],a + ld [hRedrawRowOrColumnDest],a + ld a,REDRAW_ROW + ld [hRedrawRowOrColumnMode],a ret ScheduleEastColumnRedraw:: ; 0ed3 (0:0ed3) @@ -1742,15 +1742,15 @@ ScheduleEastColumnRedraw:: ; 0ed3 (0:0ed3) add a,18 and a,$1f or b - ld [H_SCREENEDGEREDRAWADDR],a + ld [hRedrawRowOrColumnDest],a ld a,[wMapViewVRAMPointer + 1] - ld [H_SCREENEDGEREDRAWADDR + 1],a - ld a,REDRAWCOL - ld [H_SCREENEDGEREDRAW],a + ld [hRedrawRowOrColumnDest + 1],a + ld a,REDRAW_COL + ld [hRedrawRowOrColumnMode],a ret ScheduleColumnRedrawHelper:: ; 0ef2 (0:0ef2) - ld de,wScreenEdgeTiles + ld de,wRedrawRowOrColumnSrcTiles ld c,SCREEN_HEIGHT .loop ld a,[hli] @@ -1773,11 +1773,11 @@ ScheduleWestColumnRedraw:: ; 0f08 (0:0f08) coord hl, 0, 0 call ScheduleColumnRedrawHelper ld a,[wMapViewVRAMPointer] - ld [H_SCREENEDGEREDRAWADDR],a + ld [hRedrawRowOrColumnDest],a ld a,[wMapViewVRAMPointer + 1] - ld [H_SCREENEDGEREDRAWADDR + 1],a - ld a,REDRAWCOL - ld [H_SCREENEDGEREDRAW],a + ld [hRedrawRowOrColumnDest + 1],a + ld a,REDRAW_COL + ld [hRedrawRowOrColumnMode],a ret ; function to write the tiles that make up a tile block to memory diff --git a/home/vblank.asm b/home/vblank.asm index 8ffae9f1..f69d4a86 100644 --- a/home/vblank.asm +++ b/home/vblank.asm @@ -22,7 +22,7 @@ VBlank:: call AutoBgMapTransfer call VBlankCopyBgMap - call RedrawExposedScreenEdge + call RedrawRowOrColumn call VBlankCopy call VBlankCopyDouble call UpdateMovingBgTiles diff --git a/home/vcopy.asm b/home/vcopy.asm index 02caef29..69773cfe 100644 --- a/home/vcopy.asm +++ b/home/vcopy.asm @@ -33,23 +33,26 @@ ClearBgMap:: ; 1cf0 (0:1cf0) jr nz,.loop ret -; When the player takes a step, a row or column of 2x2 tile blocks at the edge -; of the screen toward which they moved is exposed and has to be redrawn. -; This function does the redrawing. -RedrawExposedScreenEdge:: ; 1d01 (0:1d01) - ld a,[H_SCREENEDGEREDRAW] +RedrawRowOrColumn:: ; 1d01 (0:1d01) +; This function redraws a BG row of height 2 or a BG column of width 2. +; One of its main uses is redrawing the row or column that will be exposed upon +; scrolling the BG when the player takes a step. Redrawing only the exposed +; row or column is more efficient than redrawing the entire screen. +; However, this function is also called repeatedly to redraw the whole screen +; when necessary. It is also used in trade animation and elevator code. + ld a,[hRedrawRowOrColumnMode] and a ret z ld b,a xor a - ld [H_SCREENEDGEREDRAW],a + ld [hRedrawRowOrColumnMode],a dec b jr nz,.redrawRow .redrawColumn - ld hl,wScreenEdgeTiles - ld a,[H_SCREENEDGEREDRAWADDR] + ld hl,wRedrawRowOrColumnSrcTiles + ld a,[hRedrawRowOrColumnDest] ld e,a - ld a,[H_SCREENEDGEREDRAWADDR + 1] + ld a,[hRedrawRowOrColumnDest + 1] ld d,a ld c,SCREEN_HEIGHT .loop1 @@ -58,7 +61,7 @@ RedrawExposedScreenEdge:: ; 1d01 (0:1d01) inc de ld a,[hli] ld [de],a - ld a,31 + ld a,BG_MAP_WIDTH - 1 add e ld e,a jr nc,.noCarry @@ -72,23 +75,24 @@ RedrawExposedScreenEdge:: ; 1d01 (0:1d01) dec c jr nz,.loop1 xor a - ld [H_SCREENEDGEREDRAW],a + ld [hRedrawRowOrColumnMode],a ret .redrawRow - ld hl,wScreenEdgeTiles - ld a,[H_SCREENEDGEREDRAWADDR] + ld hl,wRedrawRowOrColumnSrcTiles + ld a,[hRedrawRowOrColumnDest] ld e,a - ld a,[H_SCREENEDGEREDRAWADDR + 1] + ld a,[hRedrawRowOrColumnDest + 1] ld d,a push de - call .drawHalf ; draw upper half + call .DrawHalf ; draw upper half pop de - ld a,32 ; width of VRAM background map + ld a,BG_MAP_WIDTH ; width of VRAM background map add e ld e,a - ; draw lower half -.drawHalf - ld c,10 + ; fall through and draw lower half + +.DrawHalf + ld c,SCREEN_WIDTH / 2 .loop2 ld a,[hli] ld [de],a @@ -113,7 +117,7 @@ RedrawExposedScreenEdge:: ; 1d01 (0:1d01) ; background per V-blank. It cycles through which third it draws. ; This transfer is turned off when walking around the map, but is turned ; on when talking to sprites, battling, using menus, etc. This is because -; the above function, RedrawExposedScreenEdge, is used when walking to +; the above function, RedrawRowOrColumn, is used when walking to ; improve efficiency. AutoBgMapTransfer:: ; 1d57 (0:1d57) ld a,[H_AUTOBGTRANSFERENABLED] @@ -302,12 +306,11 @@ VBlankCopyDouble:: VBlankCopy:: -; Copy [H_VBCOPYSIZE] 2bpp tiles +; Copy [H_VBCOPYSIZE] 2bpp tiles (or 16 * [H_VBCOPYSIZE] tile map entries) ; from H_VBCOPYSRC to H_VBCOPYDEST. -; Source and destination addresses -; are updated, so transfer can -; continue in subsequent calls. +; Source and destination addresses are updated, +; so transfer can continue in subsequent calls. ld a, [H_VBCOPYSIZE] and a diff --git a/hram.asm b/hram.asm index c1fb4c4c..f5817fa4 100644 --- a/hram.asm +++ b/hram.asm @@ -242,12 +242,12 @@ H_VBCOPYDOUBLEDEST EQU $FFCE ; 00 = no redraw ; 01 = redraw column ; 02 = redraw row -H_SCREENEDGEREDRAW EQU $FFD0 +hRedrawRowOrColumnMode EQU $FFD0 -REDRAWCOL EQU 1 -REDRAWROW EQU 2 +REDRAW_COL EQU 1 +REDRAW_ROW EQU 2 -H_SCREENEDGEREDRAWADDR EQU $FFD1 +hRedrawRowOrColumnDest EQU $FFD1 hRandomAdd EQU $FFD3 hRandomSub EQU $FFD4 diff --git a/macros.asm b/macros.asm index 20a82007..9efb69e5 100644 --- a/macros.asm +++ b/macros.asm @@ -104,6 +104,14 @@ dwCoord: MACRO dw wTileMap + 20 * \2 + \1 ENDM +;\1 = r +;\2 = X +;\3 = Y +;\4 = map width +overworldMapCoord: MACRO + ld \1, wOverworldMap + ((\2) + 3) + (((\3) + 3) * ((\4) + (3 * 2))) + ENDM + ;\1 = Map Width ;\2 = Rows above (Y-blocks) ;\3 = X movement (X-blocks) diff --git a/main.asm b/main.asm index 6db76b46..c87cd1f0 100755 --- a/main.asm +++ b/main.asm @@ -3184,7 +3184,7 @@ RedrawMapView: ; eedc (3:6edc) add hl, de dec a jr nz, .calcWRAMAddrLoop - call CopyToScreenEdgeTiles + call CopyToRedrawRowOrColumnSrcTiles pop hl ld de, $20 ld a, [$ffbe] @@ -3196,11 +3196,11 @@ RedrawMapView: ; eedc (3:6edc) or $98 dec c jr nz, .calcVRAMAddrLoop - ld [H_SCREENEDGEREDRAWADDR + 1], a + ld [hRedrawRowOrColumnDest + 1], a ld a, l - ld [H_SCREENEDGEREDRAWADDR], a - ld a, REDRAWROW - ld [H_SCREENEDGEREDRAW], a + ld [hRedrawRowOrColumnDest], a + ld a, REDRAW_ROW + ld [hRedrawRowOrColumnMode], a call DelayFrame ld hl, $ffbe inc [hl] diff --git a/scripts/vermiliondock.asm b/scripts/vermiliondock.asm index d3c7e31a..78ada7cf 100755 --- a/scripts/vermiliondock.asm +++ b/scripts/vermiliondock.asm @@ -181,12 +181,12 @@ VermilionDock_1dc7c: ; 1dc7c (7:5c7c) VermilionDock_EraseSSAnne: ; 1dc94 (7:5c94) ; Fill the area the S.S. Anne occupies in BG map 0 with water tiles. ld hl, wVermilionDockTileMapBuffer - ld bc, (5 * 32) + SCREEN_WIDTH + ld bc, (5 * BG_MAP_WIDTH) + SCREEN_WIDTH ld a, $14 ; water tile call FillMemory - ld hl, vBGMap0 + 10 * 32 + ld hl, vBGMap0 + 10 * BG_MAP_WIDTH ld de, wVermilionDockTileMapBuffer - ld bc, (6 * 32) / 16 + ld bc, (6 * BG_MAP_WIDTH) / 16 call CopyVideoData ; Replace the blocks of the lower half of the ship with water blocks. This @@ -194,7 +194,7 @@ VermilionDock_EraseSSAnne: ; 1dc94 (7:5c94) ; 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. - ld hl, wOverworldMap + (5 + 3) + (2 + 3) * (VERMILION_DOCK_WIDTH + 6) ; (5, 2) + overworldMapCoord hl, 5, 2, VERMILION_DOCK_WIDTH ld a, $d ; water block ld [hli], a ld [hli], a diff --git a/wram.asm b/wram.asm index 44ad46a5..7ab8f8c9 100755 --- a/wram.asm +++ b/wram.asm @@ -287,8 +287,8 @@ wTempPic:: wOverworldMap:: ; c6e8 ds 1300 -wScreenEdgeTiles:: ; cbfc -; the tiles of the row or column to be redrawn by RedrawExposedScreenEdge +wRedrawRowOrColumnSrcTiles:: ; cbfc +; the tiles of the row or column to be redrawn by RedrawRowOrColumn ds 20 * 2 ; coordinates of the position of the cursor for the top menu item (id 0) -- cgit v1.3.1-sl0p