From cd649184f556db777d592671a7274bfa4a8423d7 Mon Sep 17 00:00:00 2001 From: "U-Daniel-PC\\Daniel" Date: Fri, 3 Jul 2015 14:37:53 -0500 Subject: Rename/organize part 1 of 4 rename functions, clean up address/wram comments, other misc only broken up so that all changes are viewable on github --- engine/town_map.asm | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) (limited to 'engine/town_map.asm') diff --git a/engine/town_map.asm b/engine/town_map.asm index 5a718519..0dd84226 100755 --- a/engine/town_map.asm +++ b/engine/town_map.asm @@ -7,7 +7,7 @@ DisplayTownMap: ; 70e3e (1c:4e3e) push hl ld a, $1 ld [hJoy7], a - ld a, [W_CURMAP] ; W_CURMAP + ld a, [W_CURMAP] push af ld b, $0 call Func_711c4 @@ -19,11 +19,11 @@ DisplayTownMap: ; 70e3e (1c:4e3e) ld bc, $10 call CopyData ld hl, vSprites + $40 - ld de, TownMapCursor ; $4f40 + ld de, TownMapCursor ld bc, (BANK(TownMapCursor) << 8) + $04 call CopyVideoDataDouble xor a - ld [wWhichTrade], a ; wWhichTrade + ld [wWhichTrade], a pop af jr Func_70e92 @@ -31,8 +31,8 @@ Func_70e7e: ; 70e7e (1c:4e7e) ld hl, wTileMap ld bc, $114 call ClearScreenArea - ld hl, TownMapOrder ; $4f11 - ld a, [wWhichTrade] ; wWhichTrade + ld hl, TownMapOrder + ld a, [wWhichTrade] ld c, a ld b, $0 add hl, bc @@ -86,22 +86,22 @@ Func_70e92: ; 70e92 (1c:4e92) ld [hl], a ret .asm_70ef2 - ld a, [wWhichTrade] ; wWhichTrade + ld a, [wWhichTrade] inc a cp $2f jr nz, .asm_70efb xor a .asm_70efb - ld [wWhichTrade], a ; wWhichTrade + ld [wWhichTrade], a jp Func_70e7e .asm_70f01 - ld a, [wWhichTrade] ; wWhichTrade + ld a, [wWhichTrade] dec a cp $ff jr nz, .asm_70f0b ld a, $2e .asm_70f0b - ld [wWhichTrade], a ; wWhichTrade + ld [wWhichTrade], a jp Func_70e7e INCLUDE "data/town_map_order.asm" @@ -139,11 +139,11 @@ LoadTownMap_Fly: ; 70f90 (1c:4f90) call LoadTownMap call LoadPlayerSpriteGraphics call LoadFontTilePatterns - ld de, BirdSprite ; $4d80 + ld de, BirdSprite ld hl, vSprites + $40 ld bc, (BANK(BirdSprite) << 8) + $0c call CopyVideoData - ld de, TownMapUpArrow ; $5093 + ld de, TownMapUpArrow ld hl, vChars1 + $6d0 ld bc, (BANK(TownMapUpArrow) << 8) + $01 call CopyVideoDataDouble @@ -156,7 +156,7 @@ LoadTownMap_Fly: ; 70f90 (1c:4f90) ld hl, wTileMap ld de, ToText call PlaceString - ld a, [W_CURMAP] ; W_CURMAP + ld a, [W_CURMAP] ld b, $0 call Func_711c4 ld hl, wTrainerEngageDistance @@ -177,7 +177,7 @@ LoadTownMap_Fly: ; 70f90 (1c:4f90) hlCoord 3, 0 ld de, wcd6d call PlaceString - ld c, $f + ld c, 15 call DelayFrames hlCoord 18, 0 ld [hl], $ed @@ -248,7 +248,7 @@ ToText: ; 7106d (1c:506d) db "To@" Func_71070: ; 71070 (1c:5070) - ld hl, wWhichTrade ; wWhichTrade + ld hl, wWhichTrade ld [hl], $ff inc hl ld a, [W_TOWNVISITEDFLAG] @@ -283,18 +283,18 @@ LoadTownMap: ; 7109b (1c:509b) ld c, $12 call TextBoxBorder call DisableLCD - ld hl, WorldMapTileGraphics ; $65a8 + ld hl, WorldMapTileGraphics ld de, vChars2 + $600 ld bc, $100 ld a, BANK(WorldMapTileGraphics) call FarCopyData2 - ld hl, MonNestIcon ; $56be + ld hl, MonNestIcon ld de, vSprites + $40 ld bc, $8 ld a, BANK(MonNestIcon) call FarCopyDataDouble ld hl, wTileMap - ld de, CompressedMap ; $5100 + ld de, CompressedMap .asm_710d3 ld a, [de] and a @@ -401,7 +401,7 @@ Func_711ef: ; 711ef (1c:51ef) call PlaceString jr .asm_7123e .asm_71236 - ld a, [W_CURMAP] ; W_CURMAP + ld a, [W_CURMAP] ld b, $0 call Func_711c4 .asm_7123e @@ -545,7 +545,7 @@ Func_712f1: ; 712f1 (1c:52f1) cp REDS_HOUSE_1F jr c, .asm_71304 ld bc, $4 - ld hl, InternalMapEntries ; $5382 + ld hl, InternalMapEntries .asm_712fb cp [hl] jr c, .asm_71301 @@ -555,7 +555,7 @@ Func_712f1: ; 712f1 (1c:52f1) inc hl jr .asm_7130d .asm_71304 - ld hl, ExternalMapEntries ; $5313 + ld hl, ExternalMapEntries ld c, a ld b, $0 add hl, bc -- cgit v1.3.1-sl0p From f66a74b9fcb762d693e89415836386bcad2475b5 Mon Sep 17 00:00:00 2001 From: YamaArashi Date: Mon, 13 Jul 2015 13:35:35 -0700 Subject: comment slot machine --- constants/misc_constants.asm | 13 + engine/HoF_room_pc.asm | 4 +- engine/battle/animations.asm | 6 +- engine/game_corner_slots.asm | 24 +- engine/menu/diploma.asm | 2 +- engine/menu/naming_screen.asm | 2 +- engine/mon_party_sprites.asm | 4 +- engine/slot_machine.asm | 596 ++++++++++++++++++++++-------------------- engine/town_map.asm | 8 +- home.asm | 2 +- home/init.asm | 4 +- scripts/celadongamecorner.asm | 4 +- wram.asm | 109 +++++++- 13 files changed, 449 insertions(+), 329 deletions(-) (limited to 'engine/town_map.asm') diff --git a/constants/misc_constants.asm b/constants/misc_constants.asm index 8aac849e..323e2ab6 100644 --- a/constants/misc_constants.asm +++ b/constants/misc_constants.asm @@ -72,6 +72,19 @@ PARTY_TO_BOX EQU 1 DAYCARE_TO_PARTY EQU 2 PARTY_TO_DAYCARE EQU 3 +; emotion bubbles +EXCLAMATION_BUBBLE EQU 0 +QUESTION_BUBBLE EQU 1 +SMILE_BUBBLE EQU 2 + +; slot symbols +SLOTS7 EQU $0200 +SLOTSBAR EQU $0604 +SLOTSCHERRY EQU $0A08 +SLOTSFISH EQU $0E0C +SLOTSBIRD EQU $1210 +SLOTSMOUSE EQU $1614 + ; serial ESTABLISH_CONNECTION_WITH_INTERNAL_CLOCK EQU $01 diff --git a/engine/HoF_room_pc.asm b/engine/HoF_room_pc.asm index 14382288..7a2226be 100755 --- a/engine/HoF_room_pc.asm +++ b/engine/HoF_room_pc.asm @@ -77,7 +77,7 @@ DisplayCreditsMon: ; 740cb (1d:40cb) call Func_74164 call FillMiddleOfScreenWithWhite ld a,$FC - ld [$FF47],a + ld [rBGP],a ld bc,7 .next call Func_74140 @@ -94,7 +94,7 @@ DisplayCreditsMon: ; 740cb (1d:40cb) xor a ld [hWY],a ld a,$C0 - ld [$FF47],a + ld [rBGP],a ret INCLUDE "data/credit_mons.asm" diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm index a54233d0..ea879e53 100755 --- a/engine/battle/animations.asm +++ b/engine/battle/animations.asm @@ -2645,16 +2645,16 @@ Unknown_79c50: ; 79c50 (1e:5c50) AnimationLeavesFalling: ; 79c74 (1e:5c74) ; Makes leaves float down from the top of the screen. This is used ; in Razor Leaf's animation. - ld a, [$ff48] + ld a, [rOBP0] push af ld a, [wcc79] - ld [$ff48], a + ld [rOBP0], a ld d, $37 ld a, $3 ld [W_SUBANIMTRANSFORM], a call Func_79c97 pop af - ld [$ff48], a + ld [rOBP0], a ret AnimationPetalsFalling: ; 79c8a (1e:5c8a) diff --git a/engine/game_corner_slots.asm b/engine/game_corner_slots.asm index 01d42d21..b3b2490c 100755 --- a/engine/game_corner_slots.asm +++ b/engine/game_corner_slots.asm @@ -1,5 +1,5 @@ StartSlotMachine: ; 37e2d (d:7e2d) - ld a, [wTrainerSpriteOffset] + ld a, [wHiddenObjectFunctionArgument] cp $fd jr z, .printOutOfOrder cp $fe @@ -7,23 +7,23 @@ StartSlotMachine: ; 37e2d (d:7e2d) cp $ff jr z, .printSomeonesKeys callba AbleToPlaySlotsCheck - ld a, [wTrainerSpriteOffset] + ld a, [wHiddenObjectFunctionArgument] and a ret z - ld a, [wUnknownSlotVar] + ld a, [wLuckySlotHiddenObjectIndex] ld b, a - ld a, [wTrainerFacingDirection] + ld a, [wHiddenObjectIndex] inc a cp b - jr z, .asm_37e58 - ld a, $fd - jr .asm_37e5a -.asm_37e58 - ld a, $fa -.asm_37e5a - ld [wcc5b], a + jr z, .match + ld a, 253 + jr .next +.match + ld a, 250 +.next + ld [wSlotMachineSevenAndBarModeChance], a ld a, [H_LOADEDROMBANK] - ld [wcc5e], a + ld [wSlotMachineSavedROMBank], a call PromptUserToPlaySlots ret .printOutOfOrder diff --git a/engine/menu/diploma.asm b/engine/menu/diploma.asm index 067cd7d2..9305bb0c 100755 --- a/engine/menu/diploma.asm +++ b/engine/menu/diploma.asm @@ -56,7 +56,7 @@ DisplayDiploma: ; 566e2 (15:66e2) call Delay3 call GBPalNormal ld a, $90 - ld [$ff48], a + ld [rOBP0], a call WaitForTextScrollButtonPress ld hl, wd730 res 6, [hl] diff --git a/engine/menu/naming_screen.asm b/engine/menu/naming_screen.asm index bd1c39dd..f77f7331 100755 --- a/engine/menu/naming_screen.asm +++ b/engine/menu/naming_screen.asm @@ -114,7 +114,7 @@ DisplayNamingScreen: ; 6596 (1:6596) ld hl, wHPBarMaxHP + 1 ld [hli], a ld [hli], a - ld [wPartyMonAnimCounter], a + ld [wAnimCounter], a .asm_65ed call PrintAlphabet call GBPalNormal diff --git a/engine/mon_party_sprites.asm b/engine/mon_party_sprites.asm index e3323cfc..e3ccde57 100755 --- a/engine/mon_party_sprites.asm +++ b/engine/mon_party_sprites.asm @@ -27,7 +27,7 @@ GetAnimationSpeed: ; 7170a (1c:570a) ld c, a add a ld b, a - ld a, [wPartyMonAnimCounter] + ld a, [wAnimCounter] and a jr z, .resetSprites cp c @@ -38,7 +38,7 @@ GetAnimationSpeed: ; 7170a (1c:570a) jr nz, .skipResetTimer xor a ; reset timer .skipResetTimer - ld [wPartyMonAnimCounter], a + ld [wAnimCounter], a jp DelayFrame .resetSprites push bc diff --git a/engine/slot_machine.asm b/engine/slot_machine.asm index 6dae7293..f30a361c 100755 --- a/engine/slot_machine.asm +++ b/engine/slot_machine.asm @@ -10,13 +10,13 @@ PromptUserToPlaySlots: ; 3730e (d:730e) call YesNoChoice ld a, [wCurrentMenuItem] and a - jr nz, .skip + jr nz, .done ; if player chose No dec a ld [wUpdateSpritesEnabled], a - ld hl, wcd4f + ld hl, wSlotMachineRerollCounter xor a ld [hli], a - ld [hl], $2 + ld [hl], SMILE_BUBBLE predef EmotionBubble call GBPalWhiteOutWithDelay3 call LoadSlotMachineTiles @@ -25,30 +25,30 @@ PromptUserToPlaySlots: ; 3730e (d:730e) call GoPAL_SET call GBPalNormal ld a, $e4 - ld [$ff48], a + ld [rOBP0], a ld hl, wd730 set 6, [hl] xor a - ld [W_SUBANIMSUBENTRYADDR], a - ld hl, wTrainerSpriteOffset + ld [wSlotMachineAllowMatchesCounter], a + ld hl, wStoppingWhichSlotMachineWheel ld bc, $0014 call FillMemory call MainSlotMachineLoop ld hl, wd730 res 6, [hl] xor a - ld [W_SUBANIMSUBENTRYADDR], a + ld [wSlotMachineAllowMatchesCounter], a call GBPalWhiteOutWithDelay3 ld a, $1 ld [wUpdateSpritesEnabled], a call GoPAL_SET_CF1C call ReloadMapSpriteTilePatterns call ReloadTilesetTilePatterns -.skip +.done call LoadScreenTilesFromBuffer2 call Delay3 call GBPalNormal - ld a, [wcc5e] + ld a, [wSlotMachineSavedROMBank] push af jp CloseTextDisplay @@ -57,43 +57,43 @@ PlaySlotMachineText: ; 37390 (d:7390) db "@" MainSlotMachineLoop: ; 37395 (d:7395) - call SlotMachine_37754 + call SlotMachine_PrintCreditCoins xor a - ld hl, wcd4a + ld hl, wPayoutCoins ld [hli], a ld [hl], a - call SlotMachine_3775f + call SlotMachine_PrintPayoutCoins ld hl, BetHowManySlotMachineText call PrintText call SaveScreenTilesToBuffer1 .loop - ld a, $3 + ld a, A_BUTTON | B_BUTTON ld [wMenuWatchedKeys], a - ld a, $2 + ld a, 2 ld [wMaxMenuItem], a - ld a, $c + ld a, 12 ld [wTopMenuItemY], a - ld a, $f + ld a, 15 ld [wTopMenuItemX], a xor a ld [wCurrentMenuItem], a ld [wLastMenuItem], a ld [wMenuWatchMovingOutOfBounds], a - ld hl, wTileMap + $ea - ld b, $5 - ld c, $4 + hlCoord 14, 11 + ld b, 5 + ld c, 4 call TextBoxBorder - ld hl, wTileMap + $100 + hlCoord 16, 12 ld de, CoinMultiplierSlotMachineText call PlaceString call HandleMenuInput - and $2 + and B_BUTTON jp nz, LoadScreenTilesFromBuffer1 ld a, [wCurrentMenuItem] ld b, a - ld a, $3 + ld a, 3 sub b - ld [wcd50], a + ld [wSlotMachineBet], a ld hl, wPlayerCoins ld c, a ld a, [hli] @@ -107,11 +107,11 @@ MainSlotMachineLoop: ; 37395 (d:7395) jr .loop .skip1 call LoadScreenTilesFromBuffer1 - call SlotMachine_37741 - call SlotMachine_377d5 - call SlotMachine_37480 - ld a, $4 - ld hl, wcd4d + call SlotMachine_SubtractBetFromPlayerCoins + call SlotMachine_LightBalls + call SlotMachine_SetFlags + ld a, 4 + ld hl, wSlotMachineWheel1SlipCounter ld [hli], a ld [hli], a ld [hl], a @@ -120,8 +120,8 @@ MainSlotMachineLoop: ; 37395 (d:7395) call PlaySound ld hl, StartSlotMachineText call PrintText - call SlotMachine_374ad - call SlotMachine_37588 + call SlotMachine_SpinWheels + call SlotMachine_CheckForMatches ld hl, wPlayerCoins ld a, [hli] or [hl] @@ -143,7 +143,7 @@ MainSlotMachineLoop: ; 37395 (d:7395) ld a, [wCurrentMenuItem] and a ret nz - call SlotMachine_377ce + call SlotMachine_PutOutLitBalls jp MainSlotMachineLoop CoinMultiplierSlotMachineText: ; 3745e (d:745e) @@ -171,55 +171,55 @@ OneMoreGoSlotMachineText: ; 3747b (d:747b) TX_FAR _OneMoreGoSlotMachineText db "@" -SlotMachine_37480: ; 37480 (d:7480) - ld hl, wcd4c +SlotMachine_SetFlags: ; 37480 (d:7480) + ld hl, wSlotMachineFlags bit 7, [hl] ret nz - ld a, [W_SUBANIMSUBENTRYADDR] + ld a, [wSlotMachineAllowMatchesCounter] and a - jr nz, .skip1 + jr nz, .allowMatches call Random and a - jr z, .skip2 + jr z, .setAllowMatchesCounter ; 1/256 (~0.4%) chance ld b, a - ld a, [wcc5b] + ld a, [wSlotMachineSevenAndBarModeChance] cp b - jr c, .skip3 - ld a, $d2 + jr c, .allowSevenAndBarMatches + ld a, 210 cp b - jr c, .skip1 - ld [hl], $0 + jr c, .allowMatches ; 55/256 (~21.5%) chance + ld [hl], 0 ret -.skip1 +.allowMatches set 6, [hl] ret -.skip2 - ld a, $3c - ld [W_SUBANIMSUBENTRYADDR], a +.setAllowMatchesCounter + ld a, 60 + ld [wSlotMachineAllowMatchesCounter], a ret -.skip3 +.allowSevenAndBarMatches set 7, [hl] ret -SlotMachine_374ad: ; 374ad (d:74ad) +SlotMachine_SpinWheels: ; 374ad (d:74ad) ld c, 20 .loop1 push bc - call SlotMachine_37813 - call SlotMachine_37823 - call SlotMachine_37833 + call SlotMachine_AnimWheel1 + call SlotMachine_AnimWheel2 + call SlotMachine_AnimWheel3 ld c, 2 call DelayFrames pop bc dec c jr nz, .loop1 xor a - ld [wTrainerSpriteOffset], a + ld [wStoppingWhichSlotMachineWheel], a .loop2 - call SlotMachine_37882 - call SlotMachine_374df - call SlotMachine_374fb - call SlotMachine_37517 + call SlotMachine_HandleInputWhileWheelsSpin + call SlotMachine_StopOrAnimWheel1 + call SlotMachine_StopOrAnimWheel2 + call SlotMachine_StopOrAnimWheel3 ret c ld a, [wOnSGB] xor $1 @@ -228,194 +228,214 @@ SlotMachine_374ad: ; 374ad (d:74ad) call DelayFrames jr .loop2 -SlotMachine_374df: ; 374df (d:74df) - ld a, [wTrainerSpriteOffset] - cp $1 - jr c, .skip - ld de, wTrainerEngageDistance +; Note that the wheels can only stop when a symbol is centred in the wheel +; and thus 3 full symbols rather than 2 full symbols and 2 half symbols are +; visible. The 3 functions below ensure this by checking if the wheel offset +; is even before stopping the wheel. + +SlotMachine_StopOrAnimWheel1: ; 374df (d:74df) + ld a, [wStoppingWhichSlotMachineWheel] + cp 1 + jr c, .animWheel + ld de, wSlotMachineWheel1Offset ld a, [de] rra - jr nc, .skip - ld hl, wcd4d + jr nc, .animWheel ; check that a symbol is centred in the wheel + ld hl, wSlotMachineWheel1SlipCounter ld a, [hl] and a ret z dec [hl] - call SlotMachine_3752c + call SlotMachine_StopWheel1Early ret nz -.skip - jp SlotMachine_37813 - -SlotMachine_374fb: ; 374fb (d:74fb) - ld a, [wTrainerSpriteOffset] - cp $2 - jr c, .skip - ld de, wTrainerFacingDirection +.animWheel + jp SlotMachine_AnimWheel1 + +SlotMachine_StopOrAnimWheel2: ; 374fb (d:74fb) + ld a, [wStoppingWhichSlotMachineWheel] + cp 2 + jr c, .animWheel + ld de, wSlotMachineWheel2Offset ld a, [de] rra - jr nc, .skip - ld hl, wcd4e + jr nc, .animWheel ; check that a symbol is centred in the wheel + ld hl, wSlotMachineWheel2SlipCounter ld a, [hl] and a ret z dec [hl] - call SlotMachine_37552 + call SlotMachine_StopWheel2Early ret z -.skip - jp SlotMachine_37823 - -SlotMachine_37517: ; 37517 (d:7517) - ld a, [wTrainerSpriteOffset] - cp $3 - jr c, .skip - ld de, wTrainerScreenY +.animWheel + jp SlotMachine_AnimWheel2 + +SlotMachine_StopOrAnimWheel3: ; 37517 (d:7517) + ld a, [wStoppingWhichSlotMachineWheel] + cp 3 + jr c, .animWheel + ld de, wSlotMachineWheel3Offset ld a, [de] rra - jr nc, .skip + jr nc, .animWheel ; check that a symbol is centred in the wheel +; wheel 3 stops as soon as possible scf ret -.skip - call SlotMachine_37833 +.animWheel + call SlotMachine_AnimWheel3 and a ret -SlotMachine_3752c: ; 3752c (d:752c) - call SlotMachine_GetWheelOneTile - ld hl, wTrainerScreenX - ld a, [wcd4c] +SlotMachine_StopWheel1Early: ; 3752c (d:752c) + call SlotMachine_GetWheel1Tiles + ld hl, wSlotMachineWheel1BottomTile + ld a, [wSlotMachineFlags] and $80 - jr nz, .skip1 + jr nz, .sevenAndBarMode +; Stop early if the middle symbol is not a cherry. inc hl ld a, [hl] - cp $a - jr nz, .skip2 + cp SLOTSCHERRY >> 8 + jr nz, .stopWheel ret -.skip1 +; It looks like this was intended to make the wheel stop when a 7 symbol was +; visible, but it has a bug and so the wheel stops randomly. +.sevenAndBarMode ld c, $3 .loop ld a, [hli] - cp $2 - jr c, .skip2 + cp SLOTS7 >> 8 + jr c, .stopWheel ; condition never true dec c jr nz, .loop ret -.skip2 +.stopWheel inc a - ld hl, wcd4d - ld [hl], $0 + ld hl, wSlotMachineWheel1SlipCounter + ld [hl], 0 ret -SlotMachine_37552: ; 37552 (d:7552) - call SlotMachine_GetWheelTwoTile - ld a, [wcd4c] +SlotMachine_StopWheel2Early: ; 37552 (d:7552) + call SlotMachine_GetWheel2Tiles + ld a, [wSlotMachineFlags] and $80 - jr nz, .skip1 - call SlotMachine_3756e + jr nz, .sevenAndBarMode +; Stop early if any symbols are lined up in the first two wheels. + call SlotMachine_FindWheel1Wheel2Matches ret nz - jr .skip2 -.skip1 - call SlotMachine_3756e + jr .stopWheel +; Stop early if two 7 symbols or two bar symbols are lined up in the first two +; wheels OR if no symbols are lined up and the bottom symbol in wheel 2 is a +; 7 symbol or bar symbol. The second part could be a bug or a way to reduce the +; player's odds. +.sevenAndBarMode + call SlotMachine_FindWheel1Wheel2Matches ld a, [de] - cp $7 + cp (SLOTSBAR >> 8) + 1 ret nc -.skip2 +.stopWheel xor a - ld [wcd4e], a + ld [wSlotMachineWheel2SlipCounter], a ret -SlotMachine_3756e: ; 3756e (d:756e) - ld hl, wTrainerScreenX - ld de, wcd44 +SlotMachine_FindWheel1Wheel2Matches: ; 3756e (d:756e) +; return whether wheel 1 and wheel 2's current positions allow a match (given +; that wheel 3 stops in a good position) in Z + ld hl, wSlotMachineWheel1BottomTile + ld de, wSlotMachineWheel2BottomTile ld a, [de] - cp [hl] + cp [hl] ; wheel 1 bottom, wheel 2 bottom ret z inc de ld a, [de] - cp [hl] + cp [hl] ; wheel 1 bottom, wheel 2 middle ret z inc hl - cp [hl] + cp [hl] ; wheel 1 middle, wheel 2 middle ret z inc hl - cp [hl] + cp [hl] ; wheel 1 top, wheel 2 middle ret z inc de ld a, [de] - cp [hl] + cp [hl] ; wheel 1 top, wheel 2 top ret z dec de dec de ret -SlotMachine_37588: ; 37588 (d:7588) - call SlotMachine_GetWheelThreeTile - ld a, [wcd50] - cp $2 - jr z, .skip1 - cp $1 - jr z, .skip2 - ld hl, wTrainerScreenX - ld de, wcd45 - ld bc, wcd49 +SlotMachine_CheckForMatches: ; 37588 (d:7588) + call SlotMachine_GetWheel3Tiles + ld a, [wSlotMachineBet] + cp 2 + jr z, .checkMatchesFor2CoinBet + cp 1 + jr z, .checkMatchFor1CoinBet +; 3 coin bet allows diagonal matches (plus the matches for 1/2 coin bets) + ld hl, wSlotMachineWheel1BottomTile + ld de, wSlotMachineWheel2MiddleTile + ld bc, wSlotMachineWheel3TopTile call SlotMachine_CheckForMatch - jp z, .skip5 - ld hl, wcd43 - ld de, wcd45 - ld bc, wcd47 + jp z, .foundMatch + ld hl, wSlotMachineWheel1TopTile + ld de, wSlotMachineWheel2MiddleTile + ld bc, wSlotMachineWheel3BottomTile call SlotMachine_CheckForMatch - jr z, .skip5 -.skip1 - ld hl, wcd43 - ld de, wcd46 - ld bc, wcd49 + jr z, .foundMatch +; 2 coin bet allows top/bottom horizontal matches (plus the match for a 1 coin bet) +.checkMatchesFor2CoinBet + ld hl, wSlotMachineWheel1TopTile + ld de, wSlotMachineWheel2TopTile + ld bc, wSlotMachineWheel3TopTile call SlotMachine_CheckForMatch - jr z, .skip5 - ld hl, wTrainerScreenX - ld de, wcd44 - ld bc, wcd47 + jr z, .foundMatch + ld hl, wSlotMachineWheel1BottomTile + ld de, wSlotMachineWheel2BottomTile + ld bc, wSlotMachineWheel3BottomTile call SlotMachine_CheckForMatch - jr z, .skip5 -.skip2 - ld hl, wcd42 - ld de, wcd45 - ld bc, wcd48 + jr z, .foundMatch +; 1 coin bet only allows a middle horizontal match +.checkMatchFor1CoinBet + ld hl, wSlotMachineWheel1MiddleTile + ld de, wSlotMachineWheel2MiddleTile + ld bc, wSlotMachineWheel3MiddleTile call SlotMachine_CheckForMatch - jr z, .skip5 - ld a, [wcd4c] + jr z, .foundMatch + ld a, [wSlotMachineFlags] and $c0 - jr z, .skip3 - ld hl, wcd4f + jr z, .noMatch + ld hl, wSlotMachineRerollCounter dec [hl] - jr nz, .skip4 -.skip3 + jr nz, .rollWheel3DownByOneSymbol +.noMatch ld hl, NotThisTimeText call PrintText -.loop +.done xor a ld [wc002], a ret -.skip4 - call SlotMachine_37833 +.rollWheel3DownByOneSymbol + call SlotMachine_AnimWheel3 call DelayFrame - call SlotMachine_37833 + call SlotMachine_AnimWheel3 call DelayFrame - jp SlotMachine_37588 -.skip5 - ld a, [wcd4c] + jp SlotMachine_CheckForMatches +.foundMatch + ld a, [wSlotMachineFlags] and $c0 - jr z, .skip4 + jr z, .rollWheel3DownByOneSymbol ; roll wheel if player isn't allowed to win and $80 - jr nz, .skip6 + jr nz, .acceptMatch +; if 7/bar matches aren't enabled and the match was a 7/bar symbol, roll wheel ld a, [hl] - cp $7 - jr c, .skip4 -.skip6 + cp (SLOTSBAR >> 8) + 1 + jr c, .rollWheel3DownByOneSymbol +.acceptMatch ld a, [hl] sub $2 - ld [wTrainerScreenX], a + ld [wSlotMachineWinningSymbol], a ld hl, SlotRewardPointers ld c, a - ld b, $0 + ld b, 0 add hl, bc ld a, [hli] ld e, a @@ -426,39 +446,39 @@ SlotMachine_37588: ; 37588 (d:7588) ld h, [hl] ld l, a ld de, wcf4b - ld bc, $0004 + ld bc, 4 call CopyData pop hl - ld de, .asm_37638 + ld de, .flashScreenLoop push de jp [hl] -.asm_37638 - ld a, [$ff47] +.flashScreenLoop + ld a, [rBGP] xor $40 - ld [$ff47], a + ld [rBGP], a ld c, 5 call DelayFrames dec b - jr nz, .asm_37638 - ld hl, wcd4a + jr nz, .flashScreenLoop + ld hl, wPayoutCoins ld [hl], d inc hl ld [hl], e - call SlotMachine_3775f - ld hl, SlotsMachineText_37665 + call SlotMachine_PrintPayoutCoins + ld hl, SymbolLinedUpSlotMachineText call PrintText call WaitForTextScrollButtonPress - call SlotMachine_3776b - call SlotMachine_3775f + call SlotMachine_PayCoinsToPlayer + call SlotMachine_PrintPayoutCoins ld a, $e4 - ld [$ff48], a - jp .loop + ld [rOBP0], a + jp .done -SlotsMachineText_37665: ; 37665 (d:7665) +SymbolLinedUpSlotMachineText: ; 37665 (d:7665) TX_ASM push bc - call SlotMachine_37728 + call SlotMachine_PrintWinningSymbol ld hl, LinedUpText pop bc inc bc @@ -510,28 +530,28 @@ SlotMachine_CheckForMatch: ; 376a2 (d:76a2) cp [hl] ret -SlotMachine_GetWheelThreeTile: ; 376a8 (d:76a8) - ld de, wcd47 +SlotMachine_GetWheel3Tiles: ; 376a8 (d:76a8) + ld de, wSlotMachineWheel3BottomTile ld hl, SlotMachineWheel3 - ld a, [wTrainerScreenY] - call SlotMachine_GetWheelTile + ld a, [wSlotMachineWheel3Offset] + call SlotMachine_GetWheelTiles -SlotMachine_GetWheelTwoTile: ; 376b4 (d:76b4) - ld de, wcd44 +SlotMachine_GetWheel2Tiles: ; 376b4 (d:76b4) + ld de, wSlotMachineWheel2BottomTile ld hl, SlotMachineWheel2 - ld a, [wTrainerFacingDirection] - call SlotMachine_GetWheelTile + ld a, [wSlotMachineWheel2Offset] + call SlotMachine_GetWheelTiles -SlotMachine_GetWheelOneTile: ; 376c0 (d:76c0) - ld de, wTrainerScreenX +SlotMachine_GetWheel1Tiles: ; 376c0 (d:76c0) + ld de, wSlotMachineWheel1BottomTile ld hl, SlotMachineWheel1 - ld a, [wTrainerEngageDistance] + ld a, [wSlotMachineWheel1Offset] -SlotMachine_GetWheelTile: ; 376c9 (d:76c9) +SlotMachine_GetWheelTiles: ; 376c9 (d:76c9) ld c, a - ld b, $0 + ld b, 0 add hl, bc - ld c, $3 + ld c, 3 .loop ld a, [hli] ld [de], a @@ -542,7 +562,7 @@ SlotMachine_GetWheelTile: ; 376c9 (d:76c9) ret SlotReward8Func: ; 376d7 (d:76d7) - ld hl, W_SUBANIMSUBENTRYADDR + ld hl, wSlotMachineAllowMatchesCounter ld a, [hl] and a jr z, .skip @@ -553,7 +573,7 @@ SlotReward8Func: ; 376d7 (d:76d7) ret SlotReward15Func: ; 376e5 (d:76e5) - ld hl, W_SUBANIMSUBENTRYADDR + ld hl, wSlotMachineAllowMatchesCounter ld a, [hl] and a jr z, .skip @@ -567,7 +587,7 @@ SlotReward100Func: ; 376f3 (d:76f3) ld a, (SFX_1f_42 - SFX_Headers_1f) / 3 call PlaySound xor a - ld [wcd4c], a + ld [wSlotMachineFlags], a ld b, $8 ld de, 100 ret @@ -581,9 +601,9 @@ SlotReward300Func: ; 37702 (d:7702) cp $80 ld a, $0 jr c, .skip - ld [wcd4c], a + ld [wSlotMachineFlags], a .skip - ld [W_SUBANIMSUBENTRYADDR], a + ld [wSlotMachineAllowMatchesCounter], a ld b, $14 ld de, 300 ret @@ -592,26 +612,27 @@ YeahText: ; 37722 (d:7722) TX_FAR _YeahText db $0a, "@" -SlotMachine_37728: ; 37728 (d:7728) - ld hl, wTileMap + $11a - ld a, [wTrainerScreenX] +SlotMachine_PrintWinningSymbol: ; 37728 (d:7728) +; prints winning symbol and down arrow in text box + hlCoord 2, 14 + ld a, [wSlotMachineWinningSymbol] add $25 ld [hli], a inc a ld [hld], a inc a - ld de, $ffec + ld de, -SCREEN_WIDTH add hl, de ld [hli], a inc a ld [hl], a - ld hl, wTileMap + $152 - ld [hl], $ee + hlCoord 18, 16 + ld [hl], $ee ; down arrow ret -SlotMachine_37741: ; 37741 (d:7741) - ld hl, wcd4b - ld a, [wcd50] +SlotMachine_SubtractBetFromPlayerCoins: ; 37741 (d:7741) + ld hl, wTempCoins2 + 1 + ld a, [wSlotMachineBet] ld [hld], a xor a ld [hli], a @@ -619,136 +640,143 @@ SlotMachine_37741: ; 37741 (d:7741) ld c, $2 predef SubBCDPredef -SlotMachine_37754: ; 37754 (d:7754) - ld hl, wTileMap + $19 +SlotMachine_PrintCreditCoins: ; 37754 (d:7754) + hlCoord 5, 1 ld de, wPlayerCoins ld c, $2 jp PrintBCDNumber -SlotMachine_3775f: ; 3775f (d:775f) - ld hl, wTileMap + $1f - ld de, wcd4a - ld bc, $8204 +SlotMachine_PrintPayoutCoins: ; 3775f (d:775f) + hlCoord 11, 1 + ld de, wPayoutCoins + ld bc, $8204 ; 2 bytes, 4 digits, leading zeroes jp PrintNumber -SlotMachine_3776b: ; 3776b (d:776b) +SlotMachine_PayCoinsToPlayer: ; 3776b (d:776b) ld a, $1 ld [wc002], a call WaitForSoundToFinish - ld hl, wcd46 + +; Put 1 in the temp coins variable. This value is added to the player's coins +; repeatedly so the player can watch the value go up 1 coin at a time. + ld hl, wTempCoins1 xor a ld [hli], a inc a ld [hl], a - ld a, $5 - ld [W_SUBANIMTRANSFORM], a + + ld a, 5 + ld [wAnimCounter], a + +; Subtract 1 from the payout amount and add 1 to the player's coins each +; iteration until the payout amount reaches 0. .loop - ld a, [wcd4b] + ld a, [wPayoutCoins + 1] ld l, a - ld a, [wcd4a] + ld a, [wPayoutCoins] ld h, a or l ret z - ld de, $ffff + ld de, -1 add hl, de ld a, l - ld [wcd4b], a + ld [wPayoutCoins + 1], a ld a, h - ld [wcd4a], a - ld hl, wcd47 + ld [wPayoutCoins], a + ld hl, wTempCoins1 + 1 ld de, wPlayerCoins + 1 ld c, $2 predef AddBCDPredef - call SlotMachine_37754 - call SlotMachine_3775f + call SlotMachine_PrintCreditCoins + call SlotMachine_PrintPayoutCoins ld a, (SFX_1f_65 - SFX_Headers_1f) / 3 call PlaySound - ld a, [W_SUBANIMTRANSFORM] + ld a, [wAnimCounter] dec a jr nz, .skip1 - ld a, [$ff48] - xor $40 - ld [$ff48], a - ld a, $5 + ld a, [rOBP0] + xor $40 ; make the slot wheel symbols flash + ld [rOBP0], a + ld a, 5 .skip1 - ld [W_SUBANIMTRANSFORM], a - ld a, [wTrainerScreenX] - cp $7 + ld [wAnimCounter], a + ld a, [wSlotMachineWinningSymbol] + cp (SLOTSBAR >> 8) + 1 ld c, 8 jr nc, .skip2 - srl c + srl c ; c = 4 (make the the coins transfer faster if the symbol was 7 or bar) .skip2 call DelayFrames jr .loop -SlotMachine_377ce: ; 377ce (d:77ce) +SlotMachine_PutOutLitBalls: ; 377ce (d:77ce) ld a, $23 ld [wd08a], a - jr SlotMachine_377e3 + jr SlotMachine_UpdateThreeCoinBallTiles -SlotMachine_377d5: ; 377d5 (d:77d5) +SlotMachine_LightBalls: ; 377d5 (d:77d5) ld a, $14 ld [wd08a], a - ld a, [wcd50] + ld a, [wSlotMachineBet] dec a - jr z, SlotMachine_377fb + jr z, SlotMachine_UpdateOneCoinBallTiles dec a - jr z, SlotMachine_377ef + jr z, SlotMachine_UpdateTwoCoinBallTiles -SlotMachine_377e3: ; 377e3 (d:77e3) - ld hl, wTileMap + $2b - call SlotMachine_377fe - ld hl, wTileMap + $cb - call SlotMachine_377fe +SlotMachine_UpdateThreeCoinBallTiles: ; 377e3 (d:77e3) + hlCoord 3, 2 + call SlotMachine_UpdateBallTiles + hlCoord 3, 10 + call SlotMachine_UpdateBallTiles -SlotMachine_377ef: ; 377ef (d:77ef) - ld hl, wTileMap + $53 - call SlotMachine_377fe - ld hl, wTileMap + $a3 - call SlotMachine_377fe +SlotMachine_UpdateTwoCoinBallTiles: ; 377ef (d:77ef) + hlCoord 3, 4 + call SlotMachine_UpdateBallTiles + hlCoord 3, 8 + call SlotMachine_UpdateBallTiles -SlotMachine_377fb: ; 377fb (d:77fb) - ld hl, wTileMap + $7b +SlotMachine_UpdateOneCoinBallTiles: ; 377fb (d:77fb) + hlCoord 3, 6 -SlotMachine_377fe: ; 377fe (d:77fe) +SlotMachine_UpdateBallTiles: ; 377fe (d:77fe) ld a, [wd08a] ld [hl], a - ld bc, $000d + ld bc, 13 add hl, bc ld [hl], a - ld bc, $0007 + ld bc, 7 add hl, bc inc a ld [hl], a - ld bc, $000d + ld bc, 13 add hl, bc ld [hl], a ret -SlotMachine_37813: ; 37813 (d:7813) +SlotMachine_AnimWheel1: ; 37813 (d:7813) ld bc, SlotMachineWheel1 - ld de, wTrainerEngageDistance + ld de, wSlotMachineWheel1Offset ld hl, wOAMBuffer ld a, $30 ld [W_BASECOORDX], a - jr SlotMachine_37841 + jr SlotMachine_AnimWheel -SlotMachine_37823: ; 37823 (d:7823) +SlotMachine_AnimWheel2: ; 37823 (d:7823) ld bc, SlotMachineWheel2 - ld de, wTrainerFacingDirection + ld de, wSlotMachineWheel2Offset ld hl, wOAMBuffer + $30 ld a, $50 ld [W_BASECOORDX], a - jr SlotMachine_37841 + jr SlotMachine_AnimWheel -SlotMachine_37833: ; 37833 (d:7833) +SlotMachine_AnimWheel3: ; 37833 (d:7833) ld bc, SlotMachineWheel3 - ld de, wTrainerScreenY + ld de, wSlotMachineWheel3Offset ld hl, wOAMBuffer + $60 ld a, $70 ld [W_BASECOORDX], a -SlotMachine_37841: ; 37841 (d:7841) +SlotMachine_AnimWheel: ; 37841 (d:7841) ld a, $58 ld [W_BASECOORDY], a push de @@ -756,10 +784,9 @@ SlotMachine_37841: ; 37841 (d:7841) ld d, b add c ld e, a - jr nc, SlotMachine_3784e + jr nc, .loop inc d - -SlotMachine_3784e: ; 3784e (d:784e) +.loop ld a, [W_BASECOORDY] ld [hli], a ld a, [W_BASECOORDX] @@ -783,30 +810,30 @@ SlotMachine_3784e: ; 3784e (d:784e) sub $8 ld [W_BASECOORDY], a cp $28 - jr nz, SlotMachine_3784e + jr nz, .loop pop de ld a, [de] - inc a - cp $1e + inc a ; advance the offset so that the wheel animates + cp 30 jr nz, .skip - xor a + xor a ; wrap around to 0 when the offset reaches 30 .skip ld [de], a ret -SlotMachine_37882: ; 37882 (d:7882) +SlotMachine_HandleInputWhileWheelsSpin: ; 37882 (d:7882) call DelayFrame call JoypadLowSensitivity ld a, [hJoy5] - and $1 + and A_BUTTON ret z - ld hl, wTrainerSpriteOffset + ld hl, wStoppingWhichSlotMachineWheel ld a, [hl] dec a - ld de, wcd4d + ld de, wSlotMachineWheel1SlipCounter jr z, .skip dec a - ld de, wcd4e + ld de, wSlotMachineWheel2SlipCounter jr z, .skip .loop inc [hl] @@ -845,20 +872,13 @@ LoadSlotMachineTiles: ; 378a8 (d:78a8) ld [hli], a ld [hli], a ld [hl], a - call SlotMachine_37813 - call SlotMachine_37823 - jp SlotMachine_37833 + call SlotMachine_AnimWheel1 + call SlotMachine_AnimWheel2 + jp SlotMachine_AnimWheel3 SlotMachineMap: ; 378f5 (d:78f5) INCBIN "gfx/tilemaps/slotmachine.map" -SLOTS7 EQU $0200 -SLOTSBAR EQU $0604 -SLOTSCHERRY EQU $0A08 -SLOTSFISH EQU $0E0C -SLOTSBIRD EQU $1210 -SLOTSMOUSE EQU $1614 - INCLUDE "data/slot_machine_wheels.asm" SlotMachineTiles1: ; 37a51 (d:7a51) diff --git a/engine/town_map.asm b/engine/town_map.asm index 0dd84226..d90dab95 100755 --- a/engine/town_map.asm +++ b/engine/town_map.asm @@ -79,7 +79,7 @@ Func_70e92: ; 70e92 (1c:4e92) xor a ld [wTownMapSpriteBlinkingEnabled], a ld [hJoy7], a - ld [wTownMapSpriteBlinkingCounter], a + ld [wAnimCounter], a call Func_711ab pop hl pop af @@ -319,7 +319,7 @@ LoadTownMap: ; 7109b (1c:509b) call Delay3 call GBPalNormal xor a - ld [wTownMapSpriteBlinkingCounter], a + ld [wAnimCounter], a inc a ld [wTownMapSpriteBlinkingEnabled], a ret @@ -577,7 +577,7 @@ MonNestIcon: ; 716be (1c:56be) INCBIN "gfx/mon_nest_icon.1bpp" TownMapSpriteBlinkingAnimation: ; 716c6 (1c:56c6) - ld a, [wTownMapSpriteBlinkingCounter] + ld a, [wAnimCounter] inc a cp 25 jr z, .hideSprites @@ -601,5 +601,5 @@ TownMapSpriteBlinkingAnimation: ; 716c6 (1c:56c6) jr nz, .hideSpritesLoop ld a, 25 .done - ld [wTownMapSpriteBlinkingCounter], a + ld [wAnimCounter], a jp DelayFrame diff --git a/home.asm b/home.asm index f6a1c914..f7da6e3a 100644 --- a/home.asm +++ b/home.asm @@ -3928,7 +3928,7 @@ HandleMenuInputPokemonSelection:: ; 3ac2 (0:3ac2) ld [H_DOWNARROWBLINKCNT2],a ; blinking down arrow timing value 2 .loop1 xor a - ld [wPartyMonAnimCounter],a ; counter for pokemon shaking animation + ld [wAnimCounter],a ; counter for pokemon shaking animation call PlaceMenuCursor call Delay3 .loop2 diff --git a/home/init.asm b/home/init.asm index 5a74dca9..b3f31944 100644 --- a/home/init.asm +++ b/home/init.asm @@ -31,8 +31,8 @@ rLCDC_DEFAULT EQU %11100011 ld [$ff4a], a ld [$ff06], a ld [$ff07], a - ld [$ff47], a - ld [$ff48], a + ld [rBGP], a + ld [rOBP0], a ld [$ff49], a ld a, rLCDC_ENABLE_MASK diff --git a/scripts/celadongamecorner.asm b/scripts/celadongamecorner.asm index 6887c9c4..64701f08 100755 --- a/scripts/celadongamecorner.asm +++ b/scripts/celadongamecorner.asm @@ -12,7 +12,7 @@ CeladonGameCornerScript_48bcf: ; 48bcf (12:4bcf) res 6, [hl] ret z call Random - ld a, [$ffd3] + ld a, [hRandomAdd] cp $7 jr nc, .asm_48be2 ld a, $8 @@ -20,7 +20,7 @@ CeladonGameCornerScript_48bcf: ; 48bcf (12:4bcf) srl a srl a srl a - ld [wUnknownSlotVar], a + ld [wLuckySlotHiddenObjectIndex], a ret CeladonGameCornerScript_48bec: ; 48bec (12:4bec) diff --git a/wram.asm b/wram.asm index a1b9f1d3..c1002fcd 100755 --- a/wram.asm +++ b/wram.asm @@ -357,6 +357,13 @@ wNPCMovementScriptBank:: ; cc58 ds 2 +wSlotMachineSevenAndBarModeChance:: ; cc5b +; If a random number greater than this value is generated, then the player is +; allowed to have three 7 symbols or bar symbols line up. +; So, this value is actually the chance of NOT entering that mode. +; If the slot is lucky, it equals 250, giving a 5/256 (~2%) chance. +; Otherwise, it equals 253, giving a 2/256 (~0.8%) chance. + wHallOfFame:: ; cc5b wBoostExpByExpAll:: ; cc5b wAnimationType:: ; cc5b @@ -365,7 +372,12 @@ wAnimationType:: ; cc5b 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 -wcc5e:: ds 13 ; as well as used as miscellaneous storage value, this is also used for the game corner slots + +wSlotMachineSavedROMBank:: ; cc5e +; ROM back to return to when the player is done with the slot machine + ds 1 + + ds 12 wcc6b:: ds 14 ; doesn't seem to be used for anything, probably just more storage wcc79:: ds 30 ; used in battle animations @@ -463,7 +475,7 @@ wPlayerMonMinimized:: ds 1 ; ccf7 ds 13 -wUnknownSlotVar:: ; cd05 +wLuckySlotHiddenObjectIndex:: ; cd05 wEnemyNumHits:: ; cd05 ; number of hits by enemy in attacks like Double Slap, etc. @@ -588,6 +600,10 @@ wOverrideSimulatedJoypadStatesMask:: ; cd3b ds 1 +wStoppingWhichSlotMachineWheel:: ; cd3d +; which wheel the player is trying to stop +; 0 = none, 1 = wheel 1, 2 = wheel 2, 3 or greater = wheel 3 + wTradedPlayerMonSpecies:: ; cd3d wTradingWhichPlayerMon:: ; cd3d @@ -611,6 +627,8 @@ wWhichTrade:: ; cd3d wTrainerSpriteOffset:: ; cd3d ds 1 +wSlotMachineWheel1Offset:: ; cd3e + wTradedEnemyMonSpecies:: ; cd3e wTradingWhichEnemyMon:: ; cd3e @@ -626,6 +644,8 @@ wHiddenObjectFunctionRomBank:: ; cd3e wTrainerEngageDistance:: ; cd3e ds 1 +wSlotMachineWheel2Offset:: ; cd3f + wNameOfPlayerMonToBeTraded:: ; cd3f wFlyAnimBirdSpriteImageIndex:: ; cd3f @@ -640,6 +660,8 @@ wTrainerFacingDirection:: ; cd3f wcd3f:: ; used with daycare text for money amount ds 1 +wSlotMachineWheel3Offset:: ; cd40 + wPlayerSpinInPlaceAnimSoundID:: ; cd40 wHiddenObjectY:: ; cd40 @@ -651,30 +673,89 @@ wTradedPlayerMonOT:: ; cd41 wHiddenObjectX:: ; cd41 +wSlotMachineWinningSymbol:: ; cd42 +; the OAM tile number of the upper left corner of the winning symbol minus 2 + +wSlotMachineWheel1BottomTile:: ; cd41 + wTrainerScreenX:: ; cd41 ds 1 ; a lot of the uses for these values use more than the said address +wSlotMachineWheel1MiddleTile:: ; cd42 + wcd42:: ds 1 ; used in pewter center script, printing field mon moves, slot machines and HoF PC + +wSlotMachineWheel1TopTile:: ; cd43 + wcd43:: ds 1 ; slot machine stuff and GetMonFieldMoves -wcd44:: ds 1 ; just slot machine -wcd45:: ds 1 ; slot machine... -wcd46:: ds 1 ; slot machine... + +wSlotMachineWheel2BottomTile:: ; cd44 + ds 1 + +wSlotMachineWheel2MiddleTile:: ; cd45 + ds 1 + +wTempCoins1:: ; cd46 +; 2 bytes +; temporary variable used to add payout amount to the player's coins + +wSlotMachineWheel2TopTile:: ; cd46 + ds 1 + +wSlotMachineWheel3BottomTile:: ; cd47 + wcd47:: ds 1 ; used in slot machine and spinning player sprite + +wSlotMachineWheel3MiddleTile:: ; cd48 + wcd48:: ds 1 ; same as above + +wSlotMachineWheel3TopTile:: ; cd49 + wcd49:: ds 1 ; used in slot machine, displaying the gym leaders/badges on the trainer card, and displaying the town map -wcd4a:: ds 1 ; probably used in one of the above mentioned functions -wcd4b:: ds 1 ; same as above + +wTempCoins2:: ; cd4a +; 2 bytes +; temporary variable used to subtract the bet amount from the player's coins + +wPayoutCoins:: ; cd4a +; 2 bytes + ds 1 + +wcd4b:: ; cd4b +; used in player animations + ds 1 wTradedPlayerMonOTID:: ; cd4c -wcd4c:: ds 1 ; slot machine and probably other above stuff +wSlotMachineFlags:: ; cd4c +; These flags are set randomly and control when the wheels stop. +; bit 6: allow the player to win in general +; bit 7: allow the player to win with 7 or bar (plus the effect of bit 6) + ds 1 + +wSlotMachineWheel1SlipCounter:: ; cd4d +; wheel 1 can "slip" while this is non-zero + wcd4d:: ds 1 ; used with cut and slot machine +wSlotMachineWheel2SlipCounter:: ; cd4e +; wheel 2 can "slip" while this is non-zero + wTradedEnemyMonOT:: ; cd4e wcd4e:: ds 1 ; used with in-game trades and slot machine + +wSlotMachineRerollCounter:: ; cd4f +; The remaining number of times wheel 3 will roll down a symbol until a match is +; found, when winning is enabled. It's initialized to 4 each bet. + wcd4f:: ds 1 ; used with in-game trades, emotion bubbles, and player animations + +wSlotMachineBet:: ; cd50 +; how many coins the player bet on the slot machine (1 to 3) + wcd50:: ds 9 ; used with in-game trades, emotion bubbles, and player and miscellaneous sprite animations wTradedEnemyMonOTID:: ; cd59 @@ -1194,9 +1275,8 @@ wTradedMonMovingRight:: ; d08a wd08a:: ds 1 ; used with sprites and displaying the option menu on the main menu screen? -wTownMapSpriteBlinkingCounter:: ; d08b - -wPartyMonAnimCounter:: ; d08b +wAnimCounter:: ; d08b +; generic counter variable for various animations W_SUBANIMTRANSFORM:: ; d08b ; controls what transformations are applied to the subanimation @@ -1222,6 +1302,13 @@ wEndBattleTextRomBank:: ; d092 W_SUBANIMADDRPTR:: ; d094 ; the address _of the address_ of the current subanimation entry ds 2 + +wSlotMachineAllowMatchesCounter:: ; d096 +; If non-zero, the allow matches flag is always set. +; There is a 1/256 (~0.4%) chance that this value will be set to 60, which is +; the only way it can increase. Winning certain payout amounts will decrement it +; or zero it. + W_SUBANIMSUBENTRYADDR:: ; d096 ; the address of the current subentry of the current subanimation ds 2 -- cgit v1.3.1-sl0p From 5d3b958763d48e6049e13b068d2f2d5382cdcad2 Mon Sep 17 00:00:00 2001 From: YamaArashi Date: Mon, 13 Jul 2015 19:24:07 -0700 Subject: named town map stuff --- constants/misc_constants.asm | 2 + engine/mon_party_sprites.asm | 4 +- engine/town_map.asm | 282 ++++++++++++++++++++++--------------------- wram.asm | 11 ++ 4 files changed, 159 insertions(+), 140 deletions(-) (limited to 'engine/town_map.asm') diff --git a/constants/misc_constants.asm b/constants/misc_constants.asm index eca97408..7bad3f09 100644 --- a/constants/misc_constants.asm +++ b/constants/misc_constants.asm @@ -109,6 +109,8 @@ NAME_PLAYER_SCREEN EQU 0 NAME_RIVAL_SCREEN EQU 1 NAME_MON_SCREEN EQU 2 +NUM_TOWN_MAP_LOCATIONS EQU $2F + ; serial ESTABLISH_CONNECTION_WITH_INTERNAL_CLOCK EQU $01 diff --git a/engine/mon_party_sprites.asm b/engine/mon_party_sprites.asm index e3ccde57..e7f9d2df 100755 --- a/engine/mon_party_sprites.asm +++ b/engine/mon_party_sprites.asm @@ -315,7 +315,7 @@ WriteMonPartySpriteOAMByPartyIndex: ; 71868 (1c:5868) add hl, de ld a, [hl] call GetPartyMonSpriteID - ld [wcd5b], a + ld [wOAMBaseTile], a call WriteMonPartySpriteOAM pop bc pop de @@ -329,7 +329,7 @@ WriteMonPartySpriteOAMBySpecies: ; 71882 (1c:5882) ld [hPartyMonIndex], a ld a, [wMonPartySpriteSpecies] call GetPartyMonSpriteID - ld [wcd5b], a + ld [wOAMBaseTile], a jr WriteMonPartySpriteOAM UnusedPartyMonSpriteFunction: ; 71890 (1c:5890) diff --git a/engine/town_map.asm b/engine/town_map.asm index d90dab95..c58b9fd8 100755 --- a/engine/town_map.asm +++ b/engine/town_map.asm @@ -10,7 +10,7 @@ DisplayTownMap: ; 70e3e (1c:4e3e) ld a, [W_CURMAP] push af ld b, $0 - call Func_711c4 + call DrawPlayerOrBirdSprite ; player sprite hlCoord 1, 0 ld de, wcd6d call PlaceString @@ -23,39 +23,37 @@ DisplayTownMap: ; 70e3e (1c:4e3e) ld bc, (BANK(TownMapCursor) << 8) + $04 call CopyVideoDataDouble xor a - ld [wWhichTrade], a + ld [wWhichTownMapLocation], a pop af - jr Func_70e92 - -Func_70e7e: ; 70e7e (1c:4e7e) + jr .next +.changeSelectedLocation ld hl, wTileMap ld bc, $114 call ClearScreenArea ld hl, TownMapOrder - ld a, [wWhichTrade] + ld a, [wWhichTownMapLocation] ld c, a - ld b, $0 + ld b, 0 add hl, bc ld a, [hl] - -Func_70e92: ; 70e92 (1c:4e92) - ld de, wHPBarMaxHP - call Func_712f1 +.next + ld de, wTownMapCoords + call LoadTownMapEntry ld a, [de] push hl - call Func_71258 + call TownMapCoordsToOAMCoords ld a, $4 - ld [wcd5b], a + ld [wOAMBaseTile], a ld hl, wOAMBuffer + $10 - call Func_71279 + call WriteTownMapSpriteOAM ; town map cursor sprite pop hl ld de, wcd6d -.asm_70eac +.copyMapName ld a, [hli] ld [de], a inc de cp $50 - jr nz, .asm_70eac + jr nz, .copyMapName hlCoord 1, 0 ld de, wcd6d call PlaceString @@ -63,46 +61,46 @@ Func_70e92: ; 70e92 (1c:4e92) ld de, wTileMapBackup + 16 ld bc, $10 call CopyData -.asm_70ec8 +.inputLoop call TownMapSpriteBlinkingAnimation call JoypadLowSensitivity ld a, [hJoy5] ld b, a - and $c3 - jr z, .asm_70ec8 + and D_UP | D_DOWN | A_BUTTON | B_BUTTON + jr z, .inputLoop ld a, (SFX_02_3c - SFX_Headers_02) / 3 call PlaySound bit 6, b - jr nz, .asm_70ef2 + jr nz, .pressedUp bit 7, b - jr nz, .asm_70f01 + jr nz, .pressedDown xor a ld [wTownMapSpriteBlinkingEnabled], a ld [hJoy7], a ld [wAnimCounter], a - call Func_711ab + call TownMapCleanUp pop hl pop af ld [hl], a ret -.asm_70ef2 - ld a, [wWhichTrade] +.pressedUp + ld a, [wWhichTownMapLocation] inc a - cp $2f - jr nz, .asm_70efb - xor a -.asm_70efb - ld [wWhichTrade], a - jp Func_70e7e -.asm_70f01 - ld a, [wWhichTrade] + cp NUM_TOWN_MAP_LOCATIONS + jr nz, .skipWrapping1 + xor a ; wrap to 0 +.skipWrapping1 + ld [wWhichTownMapLocation], a + jp .changeSelectedLocation +.pressedDown + ld a, [wWhichTownMapLocation] dec a - cp $ff - jr nz, .asm_70f0b - ld a, $2e -.asm_70f0b - ld [wWhichTrade], a - jp Func_70e7e + cp -1 + jr nz, .skipWrapping2 + ld a, NUM_TOWN_MAP_LOCATIONS - 1 ; wrap to last location +.skipWrapping2 + ld [wWhichTownMapLocation], a + jp .changeSelectedLocation INCLUDE "data/town_map_order.asm" @@ -125,7 +123,7 @@ LoadTownMap_Nest: ; 70f60 (1c:4f60) ld de, MonsNestText call PlaceString call WaitForTextScrollButtonPress - call Func_711ab + call TownMapCleanUp pop hl pop af ld [hl], a @@ -147,7 +145,7 @@ LoadTownMap_Fly: ; 70f90 (1c:4f90) ld hl, vChars1 + $6d0 ld bc, (BANK(TownMapUpArrow) << 8) + $01 call CopyVideoDataDouble - call Func_71070 + call BuildFlyLocationsList ld hl, wUpdateSpritesEnabled ld a, [hl] push af @@ -158,10 +156,9 @@ LoadTownMap_Fly: ; 70f90 (1c:4f90) call PlaceString ld a, [W_CURMAP] ld b, $0 - call Func_711c4 - ld hl, wTrainerEngageDistance + call DrawPlayerOrBirdSprite + ld hl, wFlyLocationsList deCoord 18, 0 - .townMapFlyLoop ld a, $7f ld [de], a @@ -173,7 +170,7 @@ LoadTownMap_Fly: ; 70f90 (1c:4f90) pop hl ld a, [hl] ld b, $4 - call Func_711c4 + call DrawPlayerOrBirdSprite ; draw bird sprite hlCoord 3, 0 ld de, wcd6d call PlaceString @@ -184,25 +181,25 @@ LoadTownMap_Fly: ; 70f90 (1c:4f90) hlCoord 19, 0 ld [hl], $ee pop hl -.asm_71004 +.inputLoop push hl call DelayFrame call JoypadLowSensitivity ld a, [hJoy5] ld b, a pop hl - and $c3 - jr z, .asm_71004 + and D_UP | D_DOWN | A_BUTTON | B_BUTTON + jr z, .inputLoop bit 0, b - jr nz, .asm_71026 + jr nz, .pressedA ld a, (SFX_02_3c - SFX_Headers_02) / 3 call PlaySound bit 6, b - jr nz, .asm_71042 + jr nz, .pressedUp bit 7, b - jr nz, .asm_71058 - jr .asm_71037 -.asm_71026 + jr nz, .pressedDown + jr .pressedB +.pressedA ld a, (SFX_02_3e - SFX_Headers_02) / 3 call PlaySound ld a, [hl] @@ -211,7 +208,7 @@ LoadTownMap_Fly: ; 70f90 (1c:4f90) set 3, [hl] inc hl set 7, [hl] -.asm_71037 +.pressedB xor a ld [wTownMapSpriteBlinkingEnabled], a call GBPalWhiteOutWithDelay3 @@ -219,55 +216,55 @@ LoadTownMap_Fly: ; 70f90 (1c:4f90) pop af ld [hl], a ret -.asm_71042 +.pressedUp deCoord 18, 0 inc hl ld a, [hl] cp $ff - jr z, .asm_71052 + jr z, .wrapToStartOfList cp $fe - jr z, .asm_71042 + jr z, .pressedUp ; skip past unvisited towns jp .townMapFlyLoop -.asm_71052 - ld hl, wTrainerEngageDistance +.wrapToStartOfList + ld hl, wFlyLocationsList jp .townMapFlyLoop -.asm_71058 +.pressedDown deCoord 19, 0 dec hl ld a, [hl] cp $ff - jr z, .asm_71068 + jr z, .wrapToEndOfList cp $fe - jr z, .asm_71058 + jr z, .pressedDown ; skip past unvisited towns jp .townMapFlyLoop -.asm_71068 - ld hl, wcd49 - jr .asm_71058 +.wrapToEndOfList + ld hl, wFlyLocationsList + 11 + jr .pressedDown ToText: ; 7106d (1c:506d) db "To@" -Func_71070: ; 71070 (1c:5070) - ld hl, wWhichTrade +BuildFlyLocationsList: ; 71070 (1c:5070) + ld hl, wFlyLocationsList - 1 ld [hl], $ff inc hl ld a, [W_TOWNVISITEDFLAG] ld e, a ld a, [W_TOWNVISITEDFLAG + 1] ld d, a - ld bc, $b -.asm_71081 + ld bc, 11 ; number of towns +.loop srl d rr e - ld a, $fe - jr nc, .asm_7108a - ld a, b -.asm_7108a + ld a, $fe ; store $fe if the town hasn't been visited + jr nc, .next + ld a, b ; store the map number of the town if it has been visited +.next ld [hl], a inc hl inc b dec c - jr nz, .asm_71081 + jr nz, .loop ld [hl], $ff ret @@ -295,10 +292,10 @@ LoadTownMap: ; 7109b (1c:509b) call FarCopyDataDouble ld hl, wTileMap ld de, CompressedMap -.asm_710d3 +.loop ld a, [de] and a - jr z, .asm_710e9 + jr z, .done ld b, a and $f ld c, a @@ -306,13 +303,13 @@ LoadTownMap: ; 7109b (1c:509b) swap a and $f add $60 -.asm_710e2 +.writeRunLoop ; write one run of the RLE data ld [hli], a dec c - jr nz, .asm_710e2 + jr nz, .writeRunLoop inc de - jr .asm_710d3 -.asm_710e9 + jr .loop +.done call EnableLCD ld b, $2 call GoPAL_SET @@ -328,7 +325,8 @@ CompressedMap: ; 71100 (1c:5100) ; you can decompress this file with the redrle program in the extras/ dir INCBIN "gfx/town_map.rle" -Func_711ab: ; 711ab (1c:51ab) +TownMapCleanUp: ; 711ab (1c:51ab) +; clear town map graphics data and load usual graphics data xor a ld [wTownMapSpriteBlinkingEnabled], a call GBPalWhiteOut @@ -339,17 +337,19 @@ Func_711ab: ; 711ab (1c:51ab) call UpdateSprites jp GoPAL_SET_CF1C -Func_711c4: ; 711c4 (1c:51c4) +DrawPlayerOrBirdSprite: ; 711c4 (1c:51c4) +; a = map number +; b = OAM base tile push af ld a, b - ld [wcd5b], a + ld [wOAMBaseTile], a pop af - ld de, wHPBarMaxHP - call Func_712f1 + ld de, wTownMapCoords + call LoadTownMapEntry ld a, [de] push hl - call Func_71258 - call Func_7126d + call TownMapCoordsToOAMCoords + call WritePlayerOrBirdSpriteOAM pop hl ld de, wcd6d .asm_711dc @@ -365,33 +365,34 @@ Func_711c4: ; 711c4 (1c:51c4) Func_711ef: ; 711ef (1c:51ef) callba FindWildLocationsOfMon - call Func_712d9 + call ZeroOutDuplicatesInList ld hl, wOAMBuffer - ld de, wBuffer -.asm_71200 + ld de, wTownMapCoords +.loop ld a, [de] cp $ff - jr z, .asm_7121d + jr z, .loopDone and a - jr z, .asm_7121a + jr z, .nextEntry push hl - call Func_712f1 + call LoadTownMapEntry pop hl ld a, [de] - cp $19 - jr z, .asm_7121a - call Func_71258 + cp $19 ; Cerulean Cave's coordinates + jr z, .nextEntry ; skip Cerulean Cave + call TownMapCoordsToOAMCoords ld a, $4 ld [hli], a xor a ld [hli], a -.asm_7121a +.nextEntry inc de - jr .asm_71200 -.asm_7121d + jr .loop +.loopDone ld a, l - and a - jr nz, .asm_71236 + and a ; were any OAM entries written? + jr nz, .drawPlayerSprite +; if no OAM entries were written, print area unknown text hlCoord 1, 7 ld b, $2 ld c, $f @@ -399,12 +400,12 @@ Func_711ef: ; 711ef (1c:51ef) hlCoord 2, 9 ld de, AreaUnknownText call PlaceString - jr .asm_7123e -.asm_71236 + jr .done +.drawPlayerSprite ld a, [W_CURMAP] ld b, $0 - call Func_711c4 -.asm_7123e + call DrawPlayerOrBirdSprite +.done ld hl, wOAMBuffer ld de, wTileMapBackup ld bc, $a0 @@ -413,39 +414,41 @@ Func_711ef: ; 711ef (1c:51ef) AreaUnknownText: ; 7124a (1c:524a) db " AREA UNKNOWN@" -Func_71258: ; 71258 (1c:5258) +TownMapCoordsToOAMCoords: ; 71258 (1c:5258) +; in: lower nybble of a = x, upper nybble of a = y +; out: b and [hl] = (y * 8) + 24, c and [hl+1] = (x * 8) + 24 push af and $f0 srl a - add $18 + add 24 ld b, a ld [hli], a pop af and $f swap a srl a - add $18 + add 24 ld c, a ld [hli], a ret -Func_7126d: ; 7126d (1c:526d) - ld a, [wcd5b] +WritePlayerOrBirdSpriteOAM: ; 7126d (1c:526d) + ld a, [wOAMBaseTile] and a - ld hl, wOAMBuffer + $90 - jr z, Func_71279 - ld hl, wOAMBuffer + $80 + ld hl, wOAMBuffer + $90 ; for player sprite + jr z, WriteTownMapSpriteOAM + ld hl, wOAMBuffer + $80 ; for bird sprite -Func_71279: ; 71279 (1c:5279) +WriteTownMapSpriteOAM: ; 71279 (1c:5279) push hl ld hl, $fcfc - add hl, bc + add hl, bc ; subtract 4 from c (X coord) and 3 from b (Y coord) ld b, h ld c, l pop hl WriteAsymmetricMonPartySpriteOAM: ; 71281 (1c:5281) -; Writes 4 OAM blocks for a helix mon party sprite, since is does not have +; Writes 4 OAM blocks for a helix mon party sprite, since it does not have ; a vertical line of symmetry. ld de, $202 .loop @@ -456,10 +459,10 @@ WriteAsymmetricMonPartySpriteOAM: ; 71281 (1c:5281) ld [hli], a ld a, c ld [hli], a - ld a, [wcd5b] + ld a, [wOAMBaseTile] ld [hli], a inc a - ld [wcd5b], a + ld [wOAMBaseTile], a xor a ld [hli], a inc d @@ -493,7 +496,7 @@ WriteSymmetricMonPartySpriteOAM: ; 712a6 (1c:52a6) ld [hli], a ld a, c ld [hli], a - ld a, [wcd5b] + ld a, [wOAMBaseTile] ld [hli], a ld a, [wcd5c] ld [hli], a @@ -508,7 +511,7 @@ WriteSymmetricMonPartySpriteOAM: ; 712a6 (1c:52a6) pop bc pop de push hl - ld hl, wcd5b + ld hl, wOAMBaseTile inc [hl] inc [hl] pop hl @@ -519,9 +522,10 @@ WriteSymmetricMonPartySpriteOAM: ; 712a6 (1c:52a6) jr nz, .loop ret -Func_712d9: ; 712d9 (1c:52d9) - ld de, wHPBarMaxHP -.asm_712dc +ZeroOutDuplicatesInList: ; 712d9 (1c:52d9) +; replace duplicate bytes in the list of wild pokemon locations with 0 + ld de, wBuffer +.loop ld a, [de] inc de cp $ff @@ -529,39 +533,41 @@ Func_712d9: ; 712d9 (1c:52d9) ld c, a ld l, e ld h, d -.asm_712e4 +.zeroDuplicatesLoop ld a, [hl] cp $ff - jr z, .asm_712dc + jr z, .loop cp c - jr nz, .asm_712ee + jr nz, .skipZeroing xor a ld [hl], a -.asm_712ee +.skipZeroing inc hl - jr .asm_712e4 + jr .zeroDuplicatesLoop -Func_712f1: ; 712f1 (1c:52f1) +LoadTownMapEntry: ; 712f1 (1c:52f1) +; in: a = map number +; out: lower nybble of [de] = x, upper nybble of [de] = y, hl = address of name cp REDS_HOUSE_1F - jr c, .asm_71304 - ld bc, $4 + jr c, .external + ld bc, 4 ld hl, InternalMapEntries -.asm_712fb +.loop cp [hl] - jr c, .asm_71301 + jr c, .foundEntry add hl, bc - jr .asm_712fb -.asm_71301 + jr .loop +.foundEntry inc hl - jr .asm_7130d -.asm_71304 + jr .readEntry +.external ld hl, ExternalMapEntries ld c, a - ld b, $0 + ld b, 0 add hl, bc add hl, bc add hl, bc -.asm_7130d +.readEntry ld a, [hli] ld [de], a ld a, [hli] diff --git a/wram.asm b/wram.asm index 13853b55..18d9487c 100755 --- a/wram.asm +++ b/wram.asm @@ -600,6 +600,8 @@ wOverrideSimulatedJoypadStatesMask:: ; cd3b ds 1 +wWhichTownMapLocation:: ; cd3d + wStoppingWhichSlotMachineWheel:: ; cd3d ; which wheel the player is trying to stop ; 0 = none, 1 = wheel 1, 2 = wheel 2, 3 or greater = wheel 3 @@ -627,6 +629,9 @@ wWhichTrade:: ; cd3d wTrainerSpriteOffset:: ; cd3d ds 1 +wFlyLocationsList:: ; cd3e +; 11 bytes plus $ff sentinel values at each end + wSlotMachineWheel1Offset:: ; cd3e wTradedEnemyMonSpecies:: ; cd3e @@ -761,6 +766,8 @@ wcd50:: ds 9 ; used with in-game trades, emotion bubbles, and player and miscell wTradedEnemyMonOTID:: ; cd59 ds 2 +wOAMBaseTile:: ; cd5b + wcd5b:: ds 1 ; used in some sprite stuff, town map and surge gym trash cans wcd5c:: ds 1 ; used in town map @@ -807,6 +814,10 @@ wTileMapBackup2:: ; cd81 wBuffer:: ; cee9 ; Temporary storage area of 30 bytes. + +wTownMapCoords:: ; cee9 +; lower nybble is x, upper nybble is y + wHPBarMaxHP:: ; cee9 ds 2 wHPBarOldHP:: ; ceeb -- cgit v1.3.1-sl0p From b509b48a7f5a9a80225b9c030d7334b26b521c62 Mon Sep 17 00:00:00 2001 From: dannye Date: Tue, 14 Jul 2015 00:21:03 -0500 Subject: Use more *Coord also town map code relabelling YamaArashi just did town map relabelling but oh well I aleady made the changes and don't feel like redoing it --- data/town_map_order.asm | 1 + engine/HoF_room_pc.asm | 23 ++--- engine/battle/animations.asm | 4 +- engine/battle/battle_transitions.asm | 10 +-- engine/battle/core.asm | 10 +-- engine/evos_moves.asm | 2 +- engine/hidden_object_functions17.asm | 10 +-- engine/hidden_object_functions3.asm | 2 +- engine/hidden_object_functions7.asm | 4 +- engine/intro.asm | 2 +- engine/menu/bills_pc.asm | 8 +- engine/menu/diploma.asm | 12 +-- engine/menu/main_menu.asm | 12 +-- engine/menu/naming_screen.asm | 2 +- engine/menu/players_pc.asm | 2 +- engine/menu/prize_menu.asm | 36 ++++---- engine/menu/start_sub_menus.asm | 2 +- engine/oak_speech2.asm | 4 +- engine/overworld/cinnabar_lab.asm | 2 +- engine/overworld/movement.asm | 2 +- engine/save.asm | 2 +- engine/slot_machine.asm | 4 +- engine/town_map.asm | 165 +++++++++++++++++------------------ engine/trade.asm | 2 +- home.asm | 10 +-- home/copy2.asm | 8 +- home/overworld.asm | 8 +- home/text.asm | 2 +- main.asm | 4 +- scripts/bikeshop.asm | 2 +- scripts/celadonmartroof.asm | 2 +- scripts/redshouse1f.asm | 2 +- 32 files changed, 182 insertions(+), 179 deletions(-) (limited to 'engine/town_map.asm') diff --git a/data/town_map_order.asm b/data/town_map_order.asm index 3bd8c223..4fb4f33b 100755 --- a/data/town_map_order.asm +++ b/data/town_map_order.asm @@ -46,3 +46,4 @@ TownMapOrder: ; 70f11 (1c:4f11) db VICTORY_ROAD_3 db INDIGO_PLATEAU db POWER_PLANT +TownMapOrderEnd: diff --git a/engine/HoF_room_pc.asm b/engine/HoF_room_pc.asm index c33e9141..de048ffe 100755 --- a/engine/HoF_room_pc.asm +++ b/engine/HoF_room_pc.asm @@ -14,10 +14,10 @@ HallOfFamePC: ; 7405c (1d:405c) ld bc, $10 ld a, $ff call FillMemory - ld hl, wTileMap - call Func_7417b + hlCoord 0, 0 + call FillFourRowsWithBlack hlCoord 0, 14 - call Func_7417b + call FillFourRowsWithBlack ld a, $c0 ld [rBGP], a call EnableLCD @@ -34,7 +34,7 @@ HallOfFamePC: ; 7405c (1d:405c) jp Credits Func_740ba: ; 740ba (1d:40ba) - ld hl, DataTable_74160 + ld hl, HoFGBPalettes ld b, $4 .asm_740bf ld a, [hli] @@ -123,8 +123,11 @@ Func_74152: ; 74152 (1d:4152) jr z, .asm_7415a ret -DataTable_74160: ; 74160 (1d:4160) - db $C0,$D0,$E0,$F0 +HoFGBPalettes: ; 74160 (1d:4160) + db %11000000 + db %11010000 + db %11100000 + db %11110000 Func_74164: ; 74164 (1d:4164) ld a, l @@ -145,14 +148,14 @@ Func_74171: ; 74171 (1d:4171) jr nz, Func_74171 ret -Func_7417b: ; 7417b (1d:417b) - ld bc, $50 +FillFourRowsWithBlack: ; 7417b (1d:417b) + ld bc, SCREEN_WIDTH * 4 ld a, $7e jp FillMemory FillMiddleOfScreenWithWhite: ; 74183 (1d:4183) hlCoord 0, 4 - ld bc, $c8 ; 10 rows of 20 tiles each + ld bc, SCREEN_WIDTH * 10 ld a, $7f ; blank white tile jp FillMemory @@ -254,5 +257,5 @@ INCLUDE "data/credits_order.asm" INCLUDE "text/credits_text.asm" -TheEndGfx: ; 7473e (1d:473e) ; 473E (473F on blue) +TheEndGfx: ; 7473e (1d:473e) (7473f on blue) INCBIN "gfx/theend.interleave.2bpp" diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm index cdd28422..3321b738 100755 --- a/engine/battle/animations.asm +++ b/engine/battle/animations.asm @@ -2184,7 +2184,7 @@ Func_7980c: ; 7980c (1e:580c) push bc ld e, a ld d, $0 - ld hl, wTileMap + hlCoord 0, 0 add hl, de ld bc, $707 call ClearScreenArea @@ -2206,7 +2206,7 @@ GetMonSpriteTileMapPointerFromRowCount: ; 79820 (1e:5820) .enemyTurn ld a, 12 .next - ld hl, wTileMap + hlCoord 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 b231459d..3315b36a 100644 --- a/engine/battle/battle_transitions.asm +++ b/engine/battle/battle_transitions.asm @@ -231,7 +231,7 @@ BattleTransition_Spiral: ; 70a72 (1c:4a72) BattleTransition_InwardSpiral: ; 70aaa (1c:4aaa) ld a, $7 ld [wWhichTrade], a - ld hl, wTileMap + hlCoord 0, 0 ld c, $11 ld de, $14 call BattleTransition_InwardSpiral_ @@ -410,7 +410,7 @@ BattleTransition_Split: ; 70bca (1c:4bca) ld bc, $ffd8 call BattleTransition_CopyTiles1 hlCoord 0, 1 - ld de, wTileMap + deCoord 0, 0 ld bc, $28 call BattleTransition_CopyTiles1 hlCoord 18, 0 @@ -418,7 +418,7 @@ BattleTransition_Split: ; 70bca (1c:4bca) ld bc, $fffe call BattleTransition_CopyTiles2 hlCoord 1, 0 - ld de, wTileMap + deCoord 0, 0 ld bc, $2 call BattleTransition_CopyTiles2 call BattleTransition_TransferDelay3 @@ -514,7 +514,7 @@ BattleTransition_CopyTiles2: ; 70c3f (1c:4c3f) ; used for high level wild dungeon battles BattleTransition_VerticalStripes: ; 70c7e (1c:4c7e) ld c, $12 - ld hl, wTileMap + hlCoord 0, 0 deCoord 1, 17 xor a ld [H_AUTOBGTRANSFERENABLED], a @@ -553,7 +553,7 @@ BattleTransition_VerticalStripes_: ; 70caa (1c:4caa) ; used for low level wild dungeon battles BattleTransition_HorizontalStripes: ; 70cb4 (1c:4cb4) ld c, $14 - ld hl, wTileMap + hlCoord 0, 0 deCoord 19, 1 xor a ld [H_AUTOBGTRANSFERENABLED], a diff --git a/engine/battle/core.asm b/engine/battle/core.asm index ec67d094..52beca1a 100755 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -117,7 +117,7 @@ SlidePlayerAndEnemySilhouettesOnScreen: ; 3c04c (f:404c) or c jr nz, .clearBackgroundLoop ; copy the work RAM tile map to VRAM - ld hl, wTileMap + hlCoord 0, 0 ld de, vBGMap0 ld b, 18 ; number of rows .copyRowLoop @@ -855,7 +855,7 @@ FaintEnemyPokemon: ; 0x3c567 hlCoord 12, 5 deCoord 12, 6 call SlideDownFaintedMonPic - ld hl, wTileMap + hlCoord 0, 0 ld bc, $40b call ClearScreenArea ld a, [W_ISINBATTLE] @@ -1214,7 +1214,7 @@ HandlePlayerBlackOut: ; 3c837 (f:4837) ld a, [W_CUROPPONENT] cp $c8 + SONY1 jr nz, .notSony1Battle - ld hl, wTileMap ; sony 1 battle + hlCoord 0, 0 ; sony 1 battle ld bc, $815 call ClearScreenArea call ScrollTrainerPicAfterBattle @@ -1489,7 +1489,7 @@ EnemySendOutFirstMon: ; 3c92a (f:492a) call LoadScreenTilesFromBuffer1 .next4 call ClearSprites - ld hl,wTileMap + hlCoord 0, 0 ld bc,$040B call ClearScreenArea ld b,1 @@ -1952,7 +1952,7 @@ DrawPlayerHUDAndHPBar: ; 3cd60 (f:4d60) DrawEnemyHUDAndHPBar: ; 3cdec (f:4dec) xor a ld [H_AUTOBGTRANSFERENABLED], a - ld hl, wTileMap + hlCoord 0, 0 ld bc, $40c call ClearScreenArea callab PlaceEnemyHUDTiles diff --git a/engine/evos_moves.asm b/engine/evos_moves.asm index bddaffe5..c4af3951 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 - ld hl, wTileMap + hlCoord 0, 0 ld bc, $c14 call ClearScreenArea ld a, $1 diff --git a/engine/hidden_object_functions17.asm b/engine/hidden_object_functions17.asm index 46140927..a8b4f812 100755 --- a/engine/hidden_object_functions17.asm +++ b/engine/hidden_object_functions17.asm @@ -109,11 +109,11 @@ LinkCableHelp: ; 5dc29 (17:5c29) .asm_5c51 ld hl, wd730 set 6, [hl] - ld hl, wTileMap + hlCoord 0, 0 ld b, $8 ld c, $d call TextBoxBorder - ld hl, wTileMap + $2a + hlCoord 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] - ld hl, wTileMap + hlCoord 0, 0 ld bc, $060a call TextBoxBorder - ld hl, wTileMap + $29 + hlCoord 1, 2 ld de, StatusAilmentText1 call PlaceString - ld hl, wTileMap + $2e + hlCoord 6, 2 ld de, StatusAilmentText2 call PlaceString ld hl, ViridianSchoolBlackboardText2 diff --git a/engine/hidden_object_functions3.asm b/engine/hidden_object_functions3.asm index c40073cb..8502cea8 100755 --- a/engine/hidden_object_functions3.asm +++ b/engine/hidden_object_functions3.asm @@ -107,7 +107,7 @@ BookOrSculptureText: ; fbe8 (3:7be8) ld a, [W_CURMAPTILESET] cp MANSION ; Celadon Mansion tileset jr nz, .asm_fbfd - ld a, [wTileMap + $80] + aCoord 8, 6 cp $38 jr nz, .asm_fbfd ld hl, DiglettSculptureText diff --git a/engine/hidden_object_functions7.asm b/engine/hidden_object_functions7.asm index f29b0925..3c3b2fb0 100755 --- a/engine/hidden_object_functions7.asm +++ b/engine/hidden_object_functions7.asm @@ -401,11 +401,11 @@ BillsHousePokemonList: ; 1ec05 (7:6c05) .asm_1ec2d ld hl, wd730 set 6, [hl] - ld hl, wTileMap + hlCoord 0, 0 ld b, $a ld c, $9 call TextBoxBorder - ld hl, wTileMap + $2a + hlCoord 2, 2 ld de, BillsMonListText call PlaceString ld hl, BillsHousePokemonListText2 diff --git a/engine/intro.asm b/engine/intro.asm index 2043771d..c306555d 100755 --- a/engine/intro.asm +++ b/engine/intro.asm @@ -330,7 +330,7 @@ PlayShootingStar: ; 4188a (10:588a) Func_418e9: ; 418e9 (10:58e9) call Func_417f0 - ld hl, wTileMap + hlCoord 0, 0 ld c, $50 call Func_41807 hlCoord 0, 14 diff --git a/engine/menu/bills_pc.asm b/engine/menu/bills_pc.asm index c9dd41b1..b42a34f0 100644 --- a/engine/menu/bills_pc.asm +++ b/engine/menu/bills_pc.asm @@ -11,17 +11,17 @@ Func_213c8:: ; 213c8 (8:53c8) ld a, [wd5a2] and a jr nz, .asm_213f3 - ld hl, wTileMap + hlCoord 0, 0 ld b, $8 ld c, $e jr .asm_213fa .asm_213ea - ld hl, wTileMap + hlCoord 0, 0 ld b, $6 ld c, $e jr .asm_213fa .asm_213f3 - ld hl, wTileMap + hlCoord 0, 0 ld b, $a ld c, $e .asm_213fa @@ -122,7 +122,7 @@ BillsPCMenu: ld bc, (BANK(PokeballTileGraphics) << 8) + $01 call CopyVideoData call LoadScreenTilesFromBuffer2DisableBGTransfer - ld hl, wTileMap + hlCoord 0, 0 ld b, $a ld c, $c call TextBoxBorder diff --git a/engine/menu/diploma.asm b/engine/menu/diploma.asm index 067cd7d2..a1a0e526 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 - ld hl, wTileMap + hlCoord 0, 0 ld bc, $1012 predef Diploma_TextBoxBorder ld hl, DiplomaTextPointersAndCoords @@ -77,15 +77,15 @@ Func_56777: ; 56777 (15:6777) DiplomaTextPointersAndCoords: ; 56784 (15:6784) dw DiplomaText - dw wTileMap + $2d + dwCoord 5, 2 dw DiplomaPlayer - dw wTileMap + $53 + dwCoord 3, 4 dw DiplomaEmptyText - dw wTileMap + $5f + dwCoord 15, 4 dw DiplomaCongrats - dw wTileMap + $7a + dwCoord 2, 6 dw DiplomaGameFreak - dw wTileMap + $149 + dwCoord 9, 16 DiplomaText: db $70,"Diploma",$70,"@" diff --git a/engine/menu/main_menu.asm b/engine/menu/main_menu.asm index f0628367..f6d3e127 100755 --- a/engine/menu/main_menu.asm +++ b/engine/menu/main_menu.asm @@ -363,23 +363,23 @@ ContinueGame: ; 5db5 (1:5db5) PrintSaveScreenText: ; 5def (1:5def) xor a ld [H_AUTOBGTRANSFERENABLED], a - ld hl, wTileMap + $4 + hlCoord 4, 0 ld b, $8 ld c, $e call TextBoxBorder call LoadTextBoxTilePatterns call UpdateSprites - ld hl, wTileMap + $2d + hlCoord 5, 2 ld de, SaveScreenInfoText call PlaceString - ld hl, wTileMap + $34 + hlCoord 12, 2 ld de, wPlayerName call PlaceString - ld hl, wTileMap + $61 + hlCoord 17, 4 call Func_5e2f - ld hl, wTileMap + $88 + hlCoord 16, 6 call Func_5e42 - ld hl, wTileMap + $ad + hlCoord 13, 8 call Func_5e55 ld a, $1 ld [H_AUTOBGTRANSFERENABLED], a diff --git a/engine/menu/naming_screen.asm b/engine/menu/naming_screen.asm index bd1c39dd..a5a71b73 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 - ld hl, wTileMap + hlCoord 0, 0 ld b, $4 ld c, $b call z, ClearScreenArea ; only if in wild batle diff --git a/engine/menu/players_pc.asm b/engine/menu/players_pc.asm index 147a27a4..e4973dd4 100755 --- a/engine/menu/players_pc.asm +++ b/engine/menu/players_pc.asm @@ -21,7 +21,7 @@ Func_790c: ; 790c (1:790c) ld hl, wFlags_0xcd60 set 5, [hl] call LoadScreenTilesFromBuffer2 - ld hl, wTileMap + hlCoord 0, 0 ld b, $8 ld c, $e call TextBoxBorder diff --git a/engine/menu/prize_menu.asm b/engine/menu/prize_menu.asm index d12308f8..acc18633 100755 --- a/engine/menu/prize_menu.asm +++ b/engine/menu/prize_menu.asm @@ -21,12 +21,12 @@ CeladonPrizeMenu: ; 5271b (14:671b) ld [wTopMenuItemY],a ld a,$01 ld [wTopMenuItemX],a - call PrintPrizePrice ; 687A + call PrintPrizePrice hlCoord 0, 2 ld b,$08 ld c,$10 call TextBoxBorder - call GetPrizeMenuId ;678E + call GetPrizeMenuId call UpdateSprites ld hl,WhichPrizeTextPtr call PrintText @@ -36,7 +36,7 @@ CeladonPrizeMenu: ; 5271b (14:671b) ld a,[wCurrentMenuItem] cp a,$03 ; "NO,THANKS" choice jr z,.NoChoice - call HandlePrizeChoice ; 14:68C6 + call HandlePrizeChoice .NoChoice ld hl,wd730 res 6,[hl] @@ -106,7 +106,7 @@ GetPrizeMenuId: ; 5278e (14:678e) hlCoord 2, 8 call PlaceString jr .putNoThanksText -.putMonName ; 14:67EC +.putMonName ld a,[W_PRIZE1] ld [wd11e],a call GetMonName @@ -122,7 +122,7 @@ GetPrizeMenuId: ; 5278e (14:678e) call GetMonName hlCoord 2, 8 call PlaceString -.putNoThanksText ; 14:6819 +.putNoThanksText hlCoord 2, 10 ld de,NoThanksText call PlaceString @@ -135,7 +135,7 @@ GetPrizeMenuId: ; 5278e (14:678e) ld c,(1 << 7 | 2) ; Function $15CD displays BCD value (same routine ; used by text-command $02) - call PrintBCDNumber ; Print_BCD + call PrintBCDNumber ld de,wd143 hlCoord 13, 7 ld c,(%1 << 7 | 2) @@ -165,10 +165,10 @@ PrintPrizePrice: ; 5287a (14:687a) call PrintBCDNumber ret -.CoinText ; 14:68A5 +.CoinText db "COIN@" -.SixSpacesText ; 14:68AA +.SixSpacesText db " @" LoadCoinsToSubtract: ; 528b1 (14:68b1) @@ -200,9 +200,9 @@ HandlePrizeChoice: ; 528c6 (14:68c6) jr nz,.GetMonName call GetItemName jr .GivePrize -.GetMonName ; 14:68E3 +.GetMonName call GetMonName -.GivePrize ; 14:68E6 +.GivePrize ld hl,SoYouWantPrizeTextPtr call PrintText call YesNoChoice ; yes/no textbox @@ -219,14 +219,14 @@ HandlePrizeChoice: ; 528c6 (14:68c6) ld b,a ld a,1 ld c,a - call GiveItem ; GiveItem + call GiveItem jr nc,.BagFull jr .SubtractCoins -.GiveMon ; 14:6912 +.GiveMon ld a,[wd11e] ld [wcf91],a push af - call GetPrizeMonLevel ; 14:6977 + call GetPrizeMonLevel ld c,a pop af ld b,a @@ -237,7 +237,7 @@ HandlePrizeChoice: ; 528c6 (14:68c6) call z,WaitForTextScrollButtonPress pop af ret nc -.SubtractCoins ; 14:692C +.SubtractCoins call LoadCoinsToSubtract ld hl,$FFA1 ld de,wPlayerCoins + 1 @@ -247,10 +247,10 @@ HandlePrizeChoice: ; 528c6 (14:68c6) .BagFull ld hl,PrizeRoomBagIsFullTextPtr jp PrintText -.NotEnoughCoins ; 14:6945 +.NotEnoughCoins ld hl,SorryNeedMoreCoinsText jp PrintText -.PrintOhFineThen ; 14:694B +.PrintOhFineThen ld hl,OhFineThenTextPtr jp PrintText @@ -286,13 +286,13 @@ GetPrizeMonLevel: ; 52977 (14:6977) ld a,[wcf91] ld b,a ld hl,PrizeMonLevelDictionary -.loop ; 14:697E +.loop ld a,[hli] cp b jr z,.matchFound inc hl jr .loop -.matchFound ; 14:6985 +.matchFound ld a,[hl] ld [W_CURENEMYLVL],a ret diff --git a/engine/menu/start_sub_menus.asm b/engine/menu/start_sub_menus.asm index b84657d5..487daa2d 100755 --- a/engine/menu/start_sub_menus.asm +++ b/engine/menu/start_sub_menus.asm @@ -713,7 +713,7 @@ SwitchPartyMon: ; 13613 (4:7613) SwitchPartyMon_OAM: ; 13625 (4:7625) push af - ld hl, wTileMap + hlCoord 0, 0 ld bc, $28 call AddNTimes ld c, $28 diff --git a/engine/oak_speech2.asm b/engine/oak_speech2.asm index d8043484..179de389 100755 --- a/engine/oak_speech2.asm +++ b/engine/oak_speech2.asm @@ -66,7 +66,7 @@ HisNameIsText: ; 69e7 (1:69e7) Func_69ec: ; 69ec (1:69ec) push de - ld hl, wTileMap + hlCoord 0, 0 ld bc, $c0b call ClearScreenArea ld c, 10 @@ -155,7 +155,7 @@ asm_6a19: ; 6a19 (1:6a19) DisplayIntroNameTextBox: ; 6a6c (1:6a6c) push de - ld hl, wTileMap + hlCoord 0, 0 ld b, $a ld c, $9 call TextBoxBorder diff --git a/engine/overworld/cinnabar_lab.asm b/engine/overworld/cinnabar_lab.asm index a23348db..e9bde496 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 - ld hl, wTileMap + hlCoord 0, 0 call TextBoxBorder call UpdateSprites call Func_610c2 diff --git a/engine/overworld/movement.asm b/engine/overworld/movement.asm index dac03f3a..9854df61 100644 --- a/engine/overworld/movement.asm +++ b/engine/overworld/movement.asm @@ -694,7 +694,7 @@ getTileSpriteStandsOn: ; 5207 (1:5207) add $14 ; screen X tile + 20 ld d, $0 ld e, a - ld hl, wTileMap + hlCoord 0, 0 add hl, bc add hl, bc add hl, bc diff --git a/engine/save.asm b/engine/save.asm index cc5e6c4a..b4e343e3 100755 --- a/engine/save.asm +++ b/engine/save.asm @@ -426,7 +426,7 @@ Func_7393f: ; 7393f (1c:793f) and $7f ld [wCurrentMenuItem], a ld [wLastMenuItem], a - ld hl, wTileMap + hlCoord 0, 0 ld b, $2 ld c, $9 call TextBoxBorder diff --git a/engine/slot_machine.asm b/engine/slot_machine.asm index 0b9f8bc9..c95e9d20 100755 --- a/engine/slot_machine.asm +++ b/engine/slot_machine.asm @@ -133,7 +133,7 @@ MainSlotMachineLoop: ; 37395 (d:7395) .skip2 ld hl, OneMoreGoSlotMachineText call PrintText - ld hl, wTileMap + $fe + hlCoord 14, 12 ld bc, $0d0f xor a ; YES_NO_MENU ld [wTwoOptionMenuID], a @@ -836,7 +836,7 @@ LoadSlotMachineTiles: ; 378a8 (d:78a8) ld a, BANK(SlotMachineTiles2) call FarCopyData2 ld hl, SlotMachineMap - ld de, wTileMap + deCoord 0, 0 ld bc, $00f0 call CopyData call EnableLCD diff --git a/engine/town_map.asm b/engine/town_map.asm index 0dd84226..2e0921a8 100755 --- a/engine/town_map.asm +++ b/engine/town_map.asm @@ -25,10 +25,10 @@ DisplayTownMap: ; 70e3e (1c:4e3e) xor a ld [wWhichTrade], a pop af - jr Func_70e92 + jr .enterLoop -Func_70e7e: ; 70e7e (1c:4e7e) - ld hl, wTileMap +.townMapLoop + hlCoord 0, 0 ld bc, $114 call ClearScreenArea ld hl, TownMapOrder @@ -37,13 +37,12 @@ Func_70e7e: ; 70e7e (1c:4e7e) ld b, $0 add hl, bc ld a, [hl] - -Func_70e92: ; 70e92 (1c:4e92) +.enterLoop ld de, wHPBarMaxHP - call Func_712f1 + call FindTownMapCoords ld a, [de] push hl - call Func_71258 + call SetTownMapOAMCoords ld a, $4 ld [wcd5b], a ld hl, wOAMBuffer + $10 @@ -63,46 +62,46 @@ Func_70e92: ; 70e92 (1c:4e92) ld de, wTileMapBackup + 16 ld bc, $10 call CopyData -.asm_70ec8 +.inputLoop call TownMapSpriteBlinkingAnimation call JoypadLowSensitivity ld a, [hJoy5] ld b, a - and $c3 - jr z, .asm_70ec8 + and A_BUTTON | B_BUTTON | D_UP | D_DOWN + jr z, .inputLoop ld a, (SFX_02_3c - SFX_Headers_02) / 3 call PlaySound bit 6, b - jr nz, .asm_70ef2 + jr nz, .upPressed bit 7, b - jr nz, .asm_70f01 + jr nz, .downPressed xor a ld [wTownMapSpriteBlinkingEnabled], a ld [hJoy7], a ld [wTownMapSpriteBlinkingCounter], a - call Func_711ab + call ExitTownMap pop hl pop af ld [hl], a ret -.asm_70ef2 +.upPressed ld a, [wWhichTrade] inc a - cp $2f - jr nz, .asm_70efb + cp TownMapOrderEnd - TownMapOrder ; number of list items + 1 + jr nz, .noOverflow xor a -.asm_70efb +.noOverflow ld [wWhichTrade], a - jp Func_70e7e -.asm_70f01 + jp .townMapLoop +.downPressed ld a, [wWhichTrade] dec a cp $ff - jr nz, .asm_70f0b - ld a, $2e -.asm_70f0b + jr nz, .noUnderflow + ld a, TownMapOrderEnd - TownMapOrder - 1 ; number of list items +.noUnderflow ld [wWhichTrade], a - jp Func_70e7e + jp .townMapLoop INCLUDE "data/town_map_order.asm" @@ -116,7 +115,7 @@ LoadTownMap_Nest: ; 70f60 (1c:4f60) push af ld [hl], $ff push hl - call Func_711ef + call DisplayWildLocations call GetMonName hlCoord 1, 0 call PlaceString @@ -125,7 +124,7 @@ LoadTownMap_Nest: ; 70f60 (1c:4f60) ld de, MonsNestText call PlaceString call WaitForTextScrollButtonPress - call Func_711ab + call ExitTownMap pop hl pop af ld [hl], a @@ -147,13 +146,13 @@ LoadTownMap_Fly: ; 70f90 (1c:4f90) ld hl, vChars1 + $6d0 ld bc, (BANK(TownMapUpArrow) << 8) + $01 call CopyVideoDataDouble - call Func_71070 + call SetupVisitedTownsList ld hl, wUpdateSpritesEnabled ld a, [hl] push af ld [hl], $ff push hl - ld hl, wTileMap + hlCoord 0, 0 ld de, ToText call PlaceString ld a, [W_CURMAP] @@ -184,25 +183,25 @@ LoadTownMap_Fly: ; 70f90 (1c:4f90) hlCoord 19, 0 ld [hl], $ee pop hl -.asm_71004 +.inputLoop push hl call DelayFrame call JoypadLowSensitivity ld a, [hJoy5] ld b, a pop hl - and $c3 - jr z, .asm_71004 + and A_BUTTON | B_BUTTON | D_UP | D_DOWN + jr z, .inputLoop bit 0, b - jr nz, .asm_71026 + jr nz, .aButtonPressed ld a, (SFX_02_3c - SFX_Headers_02) / 3 call PlaySound bit 6, b - jr nz, .asm_71042 + jr nz, .upPressed bit 7, b - jr nz, .asm_71058 - jr .asm_71037 -.asm_71026 + jr nz, .downPressed + jr .bButtonPressed +.aButtonPressed ld a, (SFX_02_3e - SFX_Headers_02) / 3 call PlaySound ld a, [hl] @@ -211,7 +210,7 @@ LoadTownMap_Fly: ; 70f90 (1c:4f90) set 3, [hl] inc hl set 7, [hl] -.asm_71037 +.bButtonPressed xor a ld [wTownMapSpriteBlinkingEnabled], a call GBPalWhiteOutWithDelay3 @@ -219,35 +218,35 @@ LoadTownMap_Fly: ; 70f90 (1c:4f90) pop af ld [hl], a ret -.asm_71042 +.upPressed deCoord 18, 0 inc hl ld a, [hl] cp $ff jr z, .asm_71052 cp $fe - jr z, .asm_71042 + jr z, .upPressed jp .townMapFlyLoop .asm_71052 ld hl, wTrainerEngageDistance jp .townMapFlyLoop -.asm_71058 +.downPressed deCoord 19, 0 dec hl ld a, [hl] cp $ff jr z, .asm_71068 cp $fe - jr z, .asm_71058 + jr z, .downPressed jp .townMapFlyLoop .asm_71068 ld hl, wcd49 - jr .asm_71058 + jr .downPressed ToText: ; 7106d (1c:506d) db "To@" -Func_71070: ; 71070 (1c:5070) +SetupVisitedTownsList: ; 71070 (1c:5070) ld hl, wWhichTrade ld [hl], $ff inc hl @@ -255,19 +254,19 @@ Func_71070: ; 71070 (1c:5070) ld e, a ld a, [W_TOWNVISITEDFLAG + 1] ld d, a - ld bc, $b -.asm_71081 + ld bc, SAFFRON_CITY + 1 +.loop srl d rr e ld a, $fe - jr nc, .asm_7108a + jr nc, .notVisited ld a, b -.asm_7108a +.notVisited ld [hl], a inc hl inc b dec c - jr nz, .asm_71081 + jr nz, .loop ld [hl], $ff ret @@ -278,7 +277,7 @@ LoadTownMap: ; 7109b (1c:509b) call GBPalWhiteOutWithDelay3 call ClearScreen call UpdateSprites - ld hl, wTileMap + hlCoord 0, 0 ld b, $12 ld c, $12 call TextBoxBorder @@ -293,12 +292,12 @@ LoadTownMap: ; 7109b (1c:509b) ld bc, $8 ld a, BANK(MonNestIcon) call FarCopyDataDouble - ld hl, wTileMap + hlCoord 0, 0 ld de, CompressedMap -.asm_710d3 +.nextTile ld a, [de] and a - jr z, .asm_710e9 + jr z, .done ld b, a and $f ld c, a @@ -306,13 +305,13 @@ LoadTownMap: ; 7109b (1c:509b) swap a and $f add $60 -.asm_710e2 +.uncompressTile ld [hli], a dec c - jr nz, .asm_710e2 + jr nz, .uncompressTile inc de - jr .asm_710d3 -.asm_710e9 + jr .nextTile +.done call EnableLCD ld b, $2 call GoPAL_SET @@ -328,7 +327,7 @@ CompressedMap: ; 71100 (1c:5100) ; you can decompress this file with the redrle program in the extras/ dir INCBIN "gfx/town_map.rle" -Func_711ab: ; 711ab (1c:51ab) +ExitTownMap: ; 711ab (1c:51ab) xor a ld [wTownMapSpriteBlinkingEnabled], a call GBPalWhiteOut @@ -345,10 +344,10 @@ Func_711c4: ; 711c4 (1c:51c4) ld [wcd5b], a pop af ld de, wHPBarMaxHP - call Func_712f1 + call FindTownMapCoords ld a, [de] push hl - call Func_71258 + call SetTownMapOAMCoords call Func_7126d pop hl ld de, wcd6d @@ -363,35 +362,35 @@ Func_711c4: ; 711c4 (1c:51c4) ld bc, $a0 jp CopyData -Func_711ef: ; 711ef (1c:51ef) +DisplayWildLocations: ; 711ef (1c:51ef) callba FindWildLocationsOfMon call Func_712d9 ld hl, wOAMBuffer ld de, wBuffer -.asm_71200 +.loop ld a, [de] cp $ff - jr z, .asm_7121d + jr z, .exitLoop and a - jr z, .asm_7121a + jr z, .next push hl - call Func_712f1 + call FindTownMapCoords pop hl ld a, [de] cp $19 - jr z, .asm_7121a - call Func_71258 - ld a, $4 + jr z, .next + call SetTownMapOAMCoords + ld a, $4 ; nest icon tile no. ld [hli], a xor a ld [hli], a -.asm_7121a +.next inc de - jr .asm_71200 -.asm_7121d + jr .loop +.exitLoop ld a, l and a - jr nz, .asm_71236 + jr nz, .locationKnown hlCoord 1, 7 ld b, $2 ld c, $f @@ -399,12 +398,12 @@ Func_711ef: ; 711ef (1c:51ef) hlCoord 2, 9 ld de, AreaUnknownText call PlaceString - jr .asm_7123e -.asm_71236 + jr .done +.locationKnown ld a, [W_CURMAP] ld b, $0 call Func_711c4 -.asm_7123e +.done ld hl, wOAMBuffer ld de, wTileMapBackup ld bc, $a0 @@ -413,7 +412,7 @@ Func_711ef: ; 711ef (1c:51ef) AreaUnknownText: ; 7124a (1c:524a) db " AREA UNKNOWN@" -Func_71258: ; 71258 (1c:5258) +SetTownMapOAMCoords: ; 71258 (1c:5258) push af and $f0 srl a @@ -541,27 +540,27 @@ Func_712d9: ; 712d9 (1c:52d9) inc hl jr .asm_712e4 -Func_712f1: ; 712f1 (1c:52f1) +FindTownMapCoords: ; 712f1 (1c:52f1) cp REDS_HOUSE_1F - jr c, .asm_71304 + jr c, .townOrRoute ld bc, $4 ld hl, InternalMapEntries -.asm_712fb +.loop cp [hl] - jr c, .asm_71301 + jr c, .match add hl, bc - jr .asm_712fb -.asm_71301 + jr .loop +.match inc hl - jr .asm_7130d -.asm_71304 + jr .done +.townOrRoute ld hl, ExternalMapEntries ld c, a ld b, $0 add hl, bc add hl, bc add hl, bc -.asm_7130d +.done ld a, [hli] ld [de], a ld a, [hli] diff --git a/engine/trade.asm b/engine/trade.asm index 6309e8d5..adf3d417 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) - ld hl, wTileMap + hlCoord 0, 0 ld bc, 20 * 18 ld a, " " jp FillMemory diff --git a/home.asm b/home.asm index 06a0aec3..03e3842f 100644 --- a/home.asm +++ b/home.asm @@ -3171,7 +3171,7 @@ UncompressSpriteFromDE:: ; 36eb (0:36eb) SaveScreenTilesToBuffer2:: ; 36f4 (0:36f4) - ld hl, wTileMap + hlCoord 0, 0 ld de, wTileMapBackup2 ld bc, $168 call CopyData @@ -3188,13 +3188,13 @@ LoadScreenTilesFromBuffer2DisableBGTransfer:: ; 3709 (0:3709) xor a ld [H_AUTOBGTRANSFERENABLED], a ld hl, wTileMapBackup2 - ld de, wTileMap + deCoord 0, 0 ld bc, $168 call CopyData ret SaveScreenTilesToBuffer1:: ; 3719 (0:3719) - ld hl, wTileMap + hlCoord 0, 0 ld de, wTileMapBackup ld bc, $168 jp CopyData @@ -3203,7 +3203,7 @@ LoadScreenTilesFromBuffer1:: ; 3725 (0:3725) xor a ld [H_AUTOBGTRANSFERENABLED], a ld hl, wTileMapBackup - ld de, wTileMap + deCoord 0, 0 ld bc, $168 call CopyData ld a, $1 @@ -4032,7 +4032,7 @@ PlaceMenuCursor:: ; 3b7c (0:3b7c) ld a,[wTopMenuItemY] and a ; is the y coordinate 0? jr z,.adjustForXCoord - ld hl,wTileMap + hlCoord 0, 0 ld bc,SCREEN_WIDTH .topMenuItemLoop add hl,bc diff --git a/home/copy2.asm b/home/copy2.asm index 7b407cdc..e5f28383 100644 --- a/home/copy2.asm +++ b/home/copy2.asm @@ -184,17 +184,17 @@ CopyScreenTileBufferToVRAM:: ld c, 6 ld hl, $600 * 0 - ld de, wTileMap + 20 * 6 * 0 + deCoord 0, 6 * 0 call .setup call DelayFrame ld hl, $600 * 1 - ld de, wTileMap + 20 * 6 * 1 + deCoord 0, 6 * 1 call .setup call DelayFrame ld hl, $600 * 2 - ld de, wTileMap + 20 * 6 * 2 + deCoord 0, 6 * 2 call .setup jp DelayFrame @@ -217,7 +217,7 @@ ClearScreen:: ; for the bg map to update. ld bc, 20 * 18 inc b - ld hl, wTileMap + hlCoord 0, 0 ld a, $7f .loop ld [hli], a diff --git a/home/overworld.asm b/home/overworld.asm index 0e62a932..4197e2a3 100644 --- a/home/overworld.asm +++ b/home/overworld.asm @@ -1420,10 +1420,10 @@ LoadCurrentMapView:: ; 0caa (0:0caa) ld bc,$0002 add hl,bc .copyToVisibleAreaBuffer - ld de,wTileMap ; base address for the tiles that are directly transfered to VRAM during V-blank - ld b,$12 + deCoord 0, 0 ; base address for the tiles that are directly transfered to VRAM during V-blank + ld b, SCREEN_HEIGHT .rowLoop2 - ld c,$14 + ld c, SCREEN_WIDTH .rowInnerLoop2 ld a,[hli] ld [de],a @@ -2323,7 +2323,7 @@ LoadMapData:: ; 1241 (0:1241) call LoadTilesetTilePatternData call LoadCurrentMapView ; copy current map view to VRAM - ld hl,wTileMap + hlCoord 0, 0 ld de,vBGMap0 ld b,18 .vramCopyLoop diff --git a/home/text.asm b/home/text.asm index fabcd843..172a4eb2 100644 --- a/home/text.asm +++ b/home/text.asm @@ -207,7 +207,7 @@ MonsterNameCharsCommon:: ; 1a37 (0:1a37) ld de,wBattleMonNick ; player active monster name jr FinishDTE -.Enemy ; 1A40 +.Enemy ; print “Enemy ” ld de,Char5AText call PlaceString diff --git a/main.asm b/main.asm index 7372381a..c7a21243 100755 --- a/main.asm +++ b/main.asm @@ -1276,7 +1276,7 @@ GetTextBoxIDText: ; 7367 (1:7367) ; hl = address of upper left corner of text box GetAddressOfScreenCoords: ; 7375 (1:7375) push bc - ld hl,wTileMap + hlCoord 0, 0 ld bc,20 .loop ; loop to add d rows to the base address ld a,d @@ -2298,7 +2298,7 @@ PrintSafariZoneSteps: ; c52f (3:452f) ret c cp UNKNOWN_DUNGEON_2 ret nc - ld hl, wTileMap + hlCoord 0, 0 ld b, $3 ld c, $7 call TextBoxBorder diff --git a/scripts/bikeshop.asm b/scripts/bikeshop.asm index 4a8183ec..55ceb5cc 100755 --- a/scripts/bikeshop.asm +++ b/scripts/bikeshop.asm @@ -51,7 +51,7 @@ BikeShopText1: ; 1d745 (7:5745) ld [wTopMenuItemX], a ld hl, wd730 set 6, [hl] - ld hl, wTileMap + hlCoord 0, 0 ld b, $4 ld c, $f call TextBoxBorder diff --git a/scripts/celadonmartroof.asm b/scripts/celadonmartroof.asm index 07b26788..953b1583 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 - ld hl, wTileMap + hlCoord 0, 0 call TextBoxBorder call UpdateSprites call CeladonMartRoofScript_48532 diff --git a/scripts/redshouse1f.asm b/scripts/redshouse1f.asm index 0f5251b8..09ce97dc 100755 --- a/scripts/redshouse1f.asm +++ b/scripts/redshouse1f.asm @@ -5,7 +5,7 @@ RedsHouse1FTextPointers: ; 4816b (12:416b) dw RedsHouse1FText1 dw RedsHouse1FText2 -RedsHouse1FText1: ; 4816f (12:416f) ; 416F Mom +RedsHouse1FText1: ; 4816f (12:416f) Mom TX_ASM ld a, [wd72e] bit 3, a -- 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 'engine/town_map.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 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 'engine/town_map.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 7f6d0d49b61a77cfba76057d99881634b882486b Mon Sep 17 00:00:00 2001 From: YamaArashi Date: Fri, 24 Jul 2015 20:27:59 -0700 Subject: more naming variables --- engine/battle/core.asm | 28 ++++---- engine/battle/end_of_battle.asm | 2 +- engine/battle/read_trainer_party.asm | 2 +- engine/battle/trainer_ai.asm | 26 ++++---- engine/evos_moves.asm | 12 ++-- engine/hidden_object_functions17.asm | 18 +++--- engine/hp_bar.asm | 17 ++--- engine/items/items.asm | 10 +-- engine/learn_move.asm | 4 +- engine/menu/naming_screen.asm | 48 +++++++------- engine/overworld/item.asm | 2 +- engine/overworld/npc_movement.asm | 2 +- engine/overworld/player_animations.asm | 4 +- engine/town_map.asm | 22 +++---- home.asm | 14 ++-- home/overworld.asm | 37 ++++++----- home/vblank.asm | 4 +- home/vcopy.asm | 20 +++--- hram.asm | 2 + main.asm | 62 +++++++++--------- scripts/billshouse.asm | 8 +-- scripts/blueshouse.asm | 2 +- scripts/celadongamecorner.asm | 2 +- scripts/celadonmansion5.asm | 2 +- scripts/ceruleancity.asm | 6 +- scripts/ceruleancity2.asm | 6 +- scripts/fightingdojo.asm | 4 +- scripts/gary.asm | 4 +- scripts/halloffameroom.asm | 2 +- scripts/mtmoon3.asm | 6 +- scripts/museum1f.asm | 2 +- scripts/oakslab.asm | 26 ++++---- scripts/pallettown.asm | 6 +- scripts/pewtercity.asm | 8 +-- scripts/pewtergym.asm | 4 +- scripts/pokemontower2.asm | 2 +- scripts/pokemontower7.asm | 10 +-- scripts/rockethideout4.asm | 6 +- scripts/route12.asm | 2 +- scripts/route16.asm | 2 +- scripts/route20.asm | 4 +- scripts/route22.asm | 4 +- scripts/route23.asm | 4 +- scripts/route25.asm | 8 +-- scripts/seafoamislands1.asm | 16 ++--- scripts/seafoamislands2.asm | 16 ++--- scripts/seafoamislands3.asm | 16 ++--- scripts/seafoamislands4.asm | 16 ++--- scripts/silphco1.asm | 2 +- scripts/silphco11.asm | 4 +- scripts/silphco7.asm | 2 +- scripts/ssanne2.asm | 4 +- scripts/vermilioncity.asm | 2 +- scripts/victoryroad3.asm | 4 +- scripts/viridiangym.asm | 4 +- text/maps/name_rater.asm | 2 +- wram.asm | 114 ++++++++++++++++++++++++++------- 57 files changed, 374 insertions(+), 294 deletions(-) (limited to 'engine/town_map.asm') diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 0406fe7b..b3d82f8c 100755 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -225,7 +225,7 @@ StartBattle: ; 3c11e (f:411e) ld [wPartyFoughtCurrentEnemyFlags], a ld [wActionResultOrTookBattleTurn], a inc a - ld [wd11d], a + ld [wFirstMonsNotOutYet], a ld hl, wEnemyMon1HP ld bc, wEnemyMon2 - wEnemyMon1 - 1 ld d, $3 @@ -379,7 +379,7 @@ MainInBattleLoop: ; 3c233 (f:4233) jp z, HandleEnemyMonFainted ; if enemy mon HP is 0, jump call SaveScreenTilesToBuffer1 xor a - ld [wd11d], a + ld [wFirstMonsNotOutYet], a ld a, [W_PLAYERBATTSTATUS2] and (1 << NeedsToRecharge) | (1 << UsingRage) ; check if the player is using Rage or needs to recharge jr nz, .selectEnemyMove @@ -1434,7 +1434,7 @@ EnemySendOutFirstMon: ; 3c92a (f:492a) ld [wLastSwitchInEnemyMonHP + 1],a ld a,1 ld [wCurrentMenuItem],a - ld a,[wd11d] + ld a,[wFirstMonsNotOutYet] dec a jr z,.next4 ld a,[wPartyCount] @@ -1549,7 +1549,7 @@ HasMonFainted: ; 3ca97 (f:4a97) ld a, [hli] or [hl] ret nz - ld a, [wd11d] + ld a, [wFirstMonsNotOutYet] and a jr nz, .done ld hl, NoWillText @@ -1647,8 +1647,8 @@ TryRunningFromBattle: ; 3cab9 (f:4ab9) ld hl, NoRunningText .printCantEscapeOrNoRunningText call PrintText - ld a, $1 - ld [wd11f], a + ld a, 1 + ld [wForcePlayerToChooseMon], a call SaveScreenTilesToBuffer1 and a ; reset carry ret @@ -2334,7 +2334,7 @@ UseBagItem: res UsingTrappingMove, [hl] ; not using multi-turn move any more .checkIfMonCaptured - ld a, [wd11c] + ld a, [wCapturedMonSpecies] and a ; was the enemy mon captured with a ball? jr nz, .returnAfterCapturingMon @@ -2354,7 +2354,7 @@ UseBagItem: .returnAfterCapturingMon call GBPalNormal xor a - ld [wd11c], a + ld [wCapturedMonSpecies], a ld a, $2 ld [wBattleResult], a scf ; set carry @@ -2516,8 +2516,8 @@ BattleMenu_RunWasSelected: ; 3d1fa (f:51fa) ld hl, wBattleMonSpeed ld de, wEnemyMonSpeed call TryRunningFromBattle - ld a, $0 - ld [wd11f], a + ld a, 0 + ld [wForcePlayerToChooseMon], a ret c ld a, [wActionResultOrTookBattleTurn] and a @@ -3035,18 +3035,18 @@ SelectEnemyMove: ; 3d564 (f:5564) push hl call BattleRandom ld b, $1 - cp $3f ; select move 1 in [0,3e] (63/256 chance) + cp $3f ; select move 1, [0,3e] (63/256 chance) jr c, .moveChosen inc hl inc b - cp $7f ; select move 1 in [3f,7e] (64/256 chance) + cp $7f ; select move 2, [3f,7e] (64/256 chance) jr c, .moveChosen inc hl inc b - cp $be ; select move 1 in [7f,bd] (63/256 chance) + cp $be ; select move 3, [7f,bd] (63/256 chance) jr c, .moveChosen inc hl - inc b ; select move 4 in [be,ff] (66/256 chance) + inc b ; select move 4, [be,ff] (66/256 chance) .moveChosen ld a, b dec a diff --git a/engine/battle/end_of_battle.asm b/engine/battle/end_of_battle.asm index 8264e49c..c642d206 100755 --- a/engine/battle/end_of_battle.asm +++ b/engine/battle/end_of_battle.asm @@ -51,7 +51,7 @@ EndOfBattle: ; 137aa (4:77aa) ld [W_BATTLETYPE], a ld [W_MOVEMISSED], a ld [W_CUROPPONENT], a - ld [wd11f], a + ld [wForcePlayerToChooseMon], a ld [wNumRunAttempts], a ld [wEscapedFromBattle], a ld hl, wPartyAndBillsPCSavedMenuItem diff --git a/engine/battle/read_trainer_party.asm b/engine/battle/read_trainer_party.asm index 4f72aea1..0976c7c7 100755 --- a/engine/battle/read_trainer_party.asm +++ b/engine/battle/read_trainer_party.asm @@ -154,7 +154,7 @@ ReadTrainer: ; 39c53 (e:5c53) ld b,a .LastLoop ; update wAmountMoneyWon addresses (money to win) based on enemy's level - ld hl,wd047 + ld hl,wTrainerBaseMoney + 1 ld c,2 ; wAmountMoneyWon is a 3-byte number push bc predef AddBCDPredef diff --git a/engine/battle/trainer_ai.asm b/engine/battle/trainer_ai.asm index c803a870..fb932035 100644 --- a/engine/battle/trainer_ai.asm +++ b/engine/battle/trainer_ai.asm @@ -2,7 +2,7 @@ ; unused slots are filled with 0, all used slots may be chosen with equal probability AIEnemyTrainerChooseMoves: ; 39719 (e:5719) ld a, $a - ld hl, wHPBarMaxHP ; init temporary move selection array. Only the moves with the lowest numbers are chosen in the end + ld hl, wBuffer ; init temporary move selection array. Only the moves with the lowest numbers are chosen in the end ld [hli], a ; move 1 ld [hli], a ; move 2 ld [hli], a ; move 3 @@ -11,14 +11,14 @@ AIEnemyTrainerChooseMoves: ; 39719 (e:5719) swap a and $f jr z, .noMoveDisabled - ld hl, wHPBarMaxHP + ld hl, wBuffer dec a ld c, a ld b, $0 add hl, bc ; advance pointer to forbidden move ld [hl], $50 ; forbid (highly discourage) disabled move .noMoveDisabled - ld hl, TrainerClassMoveChoiceModifications ; 589B + ld hl, TrainerClassMoveChoiceModifications ld a, [W_TRAINERCLASS] ld b, a .loopTrainerClasses @@ -44,7 +44,7 @@ AIEnemyTrainerChooseMoves: ; 39719 (e:5719) dec a add a ld c, a - ld b, $0 + ld b, 0 add hl, bc ; skip to pointer ld a, [hli] ; read pointer into hl ld h, [hl] @@ -53,9 +53,9 @@ AIEnemyTrainerChooseMoves: ; 39719 (e:5719) push de jp [hl] ; execute modification function .loopFindMinimumEntries ; all entries will be decremented sequentially until one of them is zero - ld hl, wHPBarMaxHP ; temp move selection array + ld hl, wBuffer ; temp move selection array ld de, wEnemyMonMoves ; enemy moves - ld c, $4 + ld c, NUM_MOVES .loopDecrementEntries ld a, [de] inc de @@ -73,11 +73,11 @@ AIEnemyTrainerChooseMoves: ; 39719 (e:5719) inc [hl] dec hl inc a - cp $5 + cp NUM_MOVES + 1 jr nz, .loopUndoPartialIteration - ld hl, wHPBarMaxHP ; temp move selection array + ld hl, wBuffer ; temp move selection array ld de, wEnemyMonMoves ; enemy moves - ld c, $4 + ld c, NUM_MOVES .filterMinimalEntries ; all minimal entries now have value 1. All other slots will be disabled (move set to 0) ld a, [de] and a @@ -97,7 +97,7 @@ AIEnemyTrainerChooseMoves: ; 39719 (e:5719) inc de dec c jr nz, .filterMinimalEntries - ld hl, wHPBarMaxHP ; use created temporary array as move set + ld hl, wBuffer ; use created temporary array as move set ret .useOriginalMoveSet ld hl, wEnemyMonMoves ; use original move set @@ -694,11 +694,13 @@ SwitchEnemyMon: ; 3a74b (e:674b) ld hl, AIBattleWithdrawText call PrintText + ; This wFirstMonsNotOutYet variable is abused to prevent the player from + ; switching in a new mon in response to this switch. ld a,1 - ld [wd11d],a + ld [wFirstMonsNotOutYet],a callab EnemySendOut xor a - ld [wd11d],a + ld [wFirstMonsNotOutYet],a ld a,[wLinkState] cp LINK_STATE_BATTLING diff --git a/engine/evos_moves.asm b/engine/evos_moves.asm index b9b4bb0f..7dcc0513 100755 --- a/engine/evos_moves.asm +++ b/engine/evos_moves.asm @@ -14,7 +14,7 @@ EvolutionAfterBattle: ; 3ad1c (e:6d1c) ld a, [hTilesetType] push af xor a - ld [wd121], a + ld [wEvolutionOccurred], a dec a ld [wWhichPokemon], a push hl @@ -91,7 +91,7 @@ Evolution_PartyMonLoop: ; loop over party mons ld a, [wLoadedMonLevel] cp b ; is the mon's level greater than the evolution requirement? jp c, Evolution_PartyMonLoop ; if so, go the next mon - jr .asm_3adb6 + jr .doEvolution .checkItemEvo ld a, [hli] ld b, a ; evolution item @@ -104,10 +104,10 @@ Evolution_PartyMonLoop: ; loop over party mons ld a, [wLoadedMonLevel] cp b ; is the mon's level greater than the evolution requirement? jp c, .nextEvoEntry2 ; if so, go the next evolution entry -.asm_3adb6 +.doEvolution ld [W_CURENEMYLVL], a - ld a, $1 - ld [wd121], a + ld a, 1 + ld [wEvolutionOccurred], a push hl ld a, [hl] ld [wEvoNewSpecies], a @@ -252,7 +252,7 @@ Evolution_PartyMonLoop: ; loop over party mons ld a, [W_ISINBATTLE] and a ret nz - ld a, [wd121] + ld a, [wEvolutionOccurred] and a call nz, PlayDefaultMusic ret diff --git a/engine/hidden_object_functions17.asm b/engine/hidden_object_functions17.asm index 97681b79..788dd777 100755 --- a/engine/hidden_object_functions17.asm +++ b/engine/hidden_object_functions17.asm @@ -311,7 +311,7 @@ VermilionGymTrashText: ; 5ddf7 (17:5df7) GymTrashScript: ; 5ddfc (17:5dfc) call EnableAutoTextBoxDrawing ld a, [wHiddenObjectFunctionArgument] - ld [wcd5b], a + ld [wGymTrashCanIndex], a ; Don't do the trash can puzzle if it's already been done. CheckEvent EVENT_2ND_LOCK_OPENED @@ -320,12 +320,12 @@ GymTrashScript: ; 5ddfc (17:5dfc) tx_pre_jump VermilionGymTrashText .ok - bit 1, a + CheckEventReuseA EVENT_1ST_LOCK_OPENED jr nz, .trySecondLock - ld a, [wd743] + ld a, [wFirstLockTrashCanIndex] ld b, a - ld a, [wcd5b] + ld a, [wGymTrashCanIndex] cp b jr z, .openFirstLock @@ -337,7 +337,7 @@ GymTrashScript: ; 5ddfc (17:5dfc) SetEvent EVENT_1ST_LOCK_OPENED ld hl, GymTrashCans - ld a, [wcd5b] + ld a, [wGymTrashCanIndex] ; * 5 ld b, a add a @@ -364,15 +364,15 @@ GymTrashScript: ; 5ddfc (17:5dfc) add hl, de ld a, [hl] and $f - ld [wd744], a + ld [wSecondLockTrashCanIndex], a tx_pre_id VermilionGymTrashSuccesText1 jr .done .trySecondLock - ld a, [wd744] + ld a, [wSecondLockTrashCanIndex] ld b, a - ld a, [wcd5b] + ld a, [wGymTrashCanIndex] cp b jr z, .openSecondLock @@ -381,7 +381,7 @@ GymTrashScript: ; 5ddfc (17:5dfc) call Random and $e - ld [wd743], a + ld [wFirstLockTrashCanIndex], a tx_pre_id VermilionGymTrashFailText jr .done diff --git a/engine/hp_bar.asm b/engine/hp_bar.asm index 61209778..d1367b4e 100755 --- a/engine/hp_bar.asm +++ b/engine/hp_bar.asm @@ -205,20 +205,21 @@ UpdateHPBar_PrintHPNumber: ; faf5 (3:7af5) push de ld a, [wHPBarType] and a - jr z, .asm_fb2d + jr z, .done ; don't print number in enemy HUD +; convert from little-endian to big-endian for PrintNumber ld a, [wHPBarOldHP] - ld [wcef1], a - ld a, [wHPBarOldHP+1] - ld [wcef0], a + ld [wHPBarTempHP + 1], a + ld a, [wHPBarOldHP + 1] + ld [wHPBarTempHP], a push hl ld a, [hFlags_0xFFF6] bit 0, a jr z, .asm_fb15 ld de, $9 - jr .asm_fb18 + jr .next .asm_fb15 ld de, $15 -.asm_fb18 +.next add hl, de push hl ld a, $7f @@ -226,12 +227,12 @@ UpdateHPBar_PrintHPNumber: ; faf5 (3:7af5) ld [hli], a ld [hli], a pop hl - ld de, wcef0 + ld de, wHPBarTempHP ld bc, $203 call PrintNumber call DelayFrame pop hl -.asm_fb2d +.done pop de pop af ret diff --git a/engine/items/items.asm b/engine/items/items.asm index b0013b46..5669f012 100755 --- a/engine/items/items.asm +++ b/engine/items/items.asm @@ -118,7 +118,7 @@ ItemUseBall: ; d687 (3:5687) .UseBall ;ok, you can use a ball xor a - ld [wd11c],a + ld [wCapturedMonSpecies],a ld a,[W_BATTLETYPE] cp a,2 ;SafariBattle jr nz,.skipSafariZoneCode @@ -388,7 +388,7 @@ ItemUseBall: ; d687 (3:5687) pop af ld [hl],a ld a,[wEnemyMonSpecies] ;enemy - ld [wd11c],a + ld [wCapturedMonSpecies],a ld [wcf91],a ld [wd11e],a ld a,[W_BATTLETYPE] @@ -645,7 +645,7 @@ ItemUseEvoStone: ; da5b (3:5a5b) call PlaySoundWaitForCurrent call WaitForSoundToFinish callab TryEvolvingMon ; try to evolve pokemon - ld a,[wd121] + ld a,[wEvolutionOccurred] and a jr z,.noEffect pop af @@ -2537,13 +2537,13 @@ IsKeyItem_: ; e764 (3:6764) ; if the item is not an HM or TM push af ld hl,KeyItemBitfield - ld de,wHPBarMaxHP + ld de,wBuffer ld bc,15 ; only 11 bytes are actually used call CopyData pop af dec a ld c,a - ld hl,wHPBarMaxHP + ld hl,wBuffer ld b,FLAG_TEST predef FlagActionPredef ld a,c diff --git a/engine/learn_move.asm b/engine/learn_move.asm index abc3b7d4..a6a78355 100755 --- a/engine/learn_move.asm +++ b/engine/learn_move.asm @@ -46,10 +46,10 @@ DontAbandonLearning: ; 6e5b (1:6e5b) ld hl, Moves 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] ; a = move's max PP pop de pop hl ld [hl], a diff --git a/engine/menu/naming_screen.asm b/engine/menu/naming_screen.asm index 6037329e..20745c58 100755 --- a/engine/menu/naming_screen.asm +++ b/engine/menu/naming_screen.asm @@ -54,7 +54,7 @@ DoYouWantToNicknameText: ; 0x6557 db "@" DisplayNameRaterScreen: ; 655c (1:655c) - ld hl, wHPBarMaxHP + ld hl, wBuffer xor a ld [wUpdateSpritesEnabled], a ld a, NAME_MON_SCREEN @@ -72,7 +72,7 @@ DisplayNameRaterScreen: ; 655c (1:655c) call AddNTimes ld e, l ld d, h - ld hl, wHPBarMaxHP + ld hl, wBuffer ld bc, 11 call CopyData and a @@ -94,24 +94,24 @@ DisplayNamingScreen: ; 6596 (1:6596) call LoadEDTile callba LoadMonPartySpriteGfx coord hl, 0, 4 - ld b, $9 - ld c, $12 + ld b, 9 + ld c, 18 call TextBoxBorder call PrintNamingText - ld a, $3 + ld a, 3 ld [wTopMenuItemY], a - ld a, $1 + ld a, 1 ld [wTopMenuItemX], a ld [wLastMenuItem], a ld [wCurrentMenuItem], a ld a, $ff ld [wMenuWatchedKeys], a - ld a, $7 + ld a, 7 ld [wMaxMenuItem], a ld a, $50 ld [wcf4b], a xor a - ld hl, wHPBarMaxHP + 1 + ld hl, wNamingScreenSubmitName ld [hli], a ld [hli], a ld [wAnimCounter], a @@ -119,7 +119,7 @@ DisplayNamingScreen: ; 6596 (1:6596) call PrintAlphabet call GBPalNormal .ABStartReturnPoint - ld a, [wHPBarMaxHP + 1] + ld a, [wNamingScreenSubmitName] and a jr nz, .submitNickname call PrintNicknameAndUnderscores @@ -197,14 +197,14 @@ DisplayNamingScreen: ; 6596 (1:6596) ld de, .selectReturnPoint push de .pressedSelect - ld a, [wHPBarOldHP] + ld a, [wAlphabetCase] xor $1 - ld [wHPBarOldHP], a + ld [wAlphabetCase], a ret .pressedStart - ld a, $1 - ld [wHPBarMaxHP + 1], a + ld a, 1 + ld [wNamingScreenSubmitName], a ret .pressedA @@ -216,7 +216,7 @@ DisplayNamingScreen: ; 6596 (1:6596) jr z, .pressedStart .didNotPressED ld a, [wCurrentMenuItem] - cp $6 ; case swtich row + cp $6 ; case switch row jr nz, .didNotPressCaseSwtich ld a, [wTopMenuItemX] cp $1 ; case switch column @@ -228,9 +228,9 @@ DisplayNamingScreen: ; 6596 (1:6596) ld l, a inc hl ld a, [hl] - ld [wHPBarNewHP], a + ld [wNamingScreenLetter], a call CalcStringLength - ld a, [wHPBarNewHP] + ld a, [wNamingScreenLetter] cp $e5 ld de, Dakutens jr z, .dakutensAndHandakutens @@ -240,11 +240,11 @@ DisplayNamingScreen: ; 6596 (1:6596) ld a, [wNamingScreenType] cp NAME_MON_SCREEN jr nc, .checkMonNameLength - ld a, [wHPBarMaxHP] + ld a, [wNamingScreenNameLength] cp $7 ; max length of player/rival names jr .checkNameLength .checkMonNameLength - ld a, [wHPBarMaxHP] + ld a, [wNamingScreenNameLength] cp $a ; max length of pokemon nicknames .checkNameLength jr c, .addLetter @@ -257,14 +257,14 @@ DisplayNamingScreen: ; 6596 (1:6596) ret nc dec hl .addLetter - ld a, [wHPBarNewHP] + ld a, [wNamingScreenLetter] ld [hli], a ld [hl], $50 ld a, SFX_PRESS_AB call PlaySound ret .pressedB - ld a, [wHPBarMaxHP] + ld a, [wNamingScreenNameLength] and a ret z call CalcStringLength @@ -335,7 +335,7 @@ ED_Tile: ; 6767 (1:6767) PrintAlphabet: ; 676f (1:676f) xor a ld [H_AUTOBGTRANSFERENABLED], a - ld a, [wHPBarOldHP] + ld a, [wAlphabetCase] and a ld de, LowerCaseAlphabet jr nz, .lowercase @@ -371,7 +371,7 @@ UpperCaseAlphabet: ; 67d6 (1:67d6) PrintNicknameAndUnderscores: ; 680e (1:680e) call CalcStringLength ld a, c - ld [wHPBarMaxHP], a + ld [wNamingScreenNameLength], a coord hl, 10, 2 ld bc, $10a call ClearScreenArea @@ -394,7 +394,7 @@ PrintNicknameAndUnderscores: ; 680e (1:680e) jr nz, .placeUnderscoreLoop ld a, [wNamingScreenType] cp NAME_MON_SCREEN - ld a, [wHPBarMaxHP] + ld a, [wNamingScreenNameLength] jr nc, .pokemon2 cp 7 ; player or rival max name length jr .playerOrRival2 @@ -433,7 +433,7 @@ DakutensAndHandakutens: ; 6871 (1:6871) ret nc inc hl ld a, [hl] - ld [wHPBarNewHP], a + ld [wNamingScreenLetter], a ret Dakutens: ; 6885 (1:6885) diff --git a/engine/overworld/item.asm b/engine/overworld/item.asm index eb6d743a..6fbe823d 100644 --- a/engine/overworld/item.asm +++ b/engine/overworld/item.asm @@ -31,7 +31,7 @@ PickUpItem: jr nc, .BagFull ld a, [$ffdb] - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject ld a, 1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a diff --git a/engine/overworld/npc_movement.asm b/engine/overworld/npc_movement.asm index fcef55e0..c9265f3e 100755 --- a/engine/overworld/npc_movement.asm +++ b/engine/overworld/npc_movement.asm @@ -149,7 +149,7 @@ PalletMovementScript_Done: ; 1a4f4 (6:64f4) and a ret nz ld a, $0 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject ld hl, wd730 res 7, [hl] diff --git a/engine/overworld/player_animations.asm b/engine/overworld/player_animations.asm index a9aa2cf2..1a3d374f 100755 --- a/engine/overworld/player_animations.asm +++ b/engine/overworld/player_animations.asm @@ -370,10 +370,10 @@ IsPlayerStandingOnWarpPadOrHole: ; 70787 (1c:4787) ld b, [hl] .done ld a, b - ld [wcd5b], a + ld [wStandingOnWarpPadOrHole], a ret -; format: db tileset id, tile id, value to be put in wcd5b +; format: db tileset id, tile id, value to be put in [wStandingOnWarpPadOrHole] .warpPadAndHoleData: ; 707a9 (1c:47a9) db FACILITY, $20, 1 ; warp pad db FACILITY, $11, 2 ; hole diff --git a/engine/town_map.asm b/engine/town_map.asm index a90aa331..f5a047c3 100755 --- a/engine/town_map.asm +++ b/engine/town_map.asm @@ -487,24 +487,24 @@ WriteSymmetricMonPartySpriteOAM: ; 712a6 (1c:52a6) ; the X-flip OAM bit to be used so that only 2 rather than 4 tile patterns are ; needed. xor a - ld [wcd5c], a - ld de, $202 + ld [wSymmetricSpriteOAMAttributes], a + lb de, 2, 2 .loop push de push bc .innerLoop ld a, b - ld [hli], a + ld [hli], a ; Y ld a, c - ld [hli], a + ld [hli], a ; X ld a, [wOAMBaseTile] - ld [hli], a - ld a, [wcd5c] - ld [hli], a - xor $20 - ld [wcd5c], a + ld [hli], a ; tile + ld a, [wSymmetricSpriteOAMAttributes] + ld [hli], a ; attributes + xor (1 << OAM_X_FLIP) + ld [wSymmetricSpriteOAMAttributes], a inc d - ld a, $8 + ld a, 8 add c ld c, a dec e @@ -516,7 +516,7 @@ WriteSymmetricMonPartySpriteOAM: ; 712a6 (1c:52a6) inc [hl] inc [hl] pop hl - ld a, $8 + ld a, 8 add b ld b, a dec d diff --git a/home.asm b/home.asm index 8226e352..c0f973be 100644 --- a/home.asm +++ b/home.asm @@ -394,13 +394,13 @@ PartyMenuInit:: ; 1420 (0:1420) ; otherwise, it is 0 .storeMaxMenuItemID ld [hli], a ; max menu item ID - ld a, [wd11f] + ld a, [wForcePlayerToChooseMon] and a - ld a, A_BUTTON + B_BUTTON + ld a, A_BUTTON | B_BUTTON jr z, .next xor a - ld [wd11f], a - inc a + ld [wForcePlayerToChooseMon], a + inc a ; a = A_BUTTON .next ld [hli], a ; menu watched keys pop af @@ -2403,7 +2403,7 @@ EndTrainerBattle:: ; 3275 (0:3275) call IsInArray ; search for sprite ID inc hl ld a, [hl] - ld [wcc4d], a ; load corresponding missable object index and remove it + ld [wMissableObjectIndex], a ; load corresponding missable object index and remove it predef HideObject .skipRemoveSprite ld hl, wd730 @@ -2905,7 +2905,7 @@ GetTrainerInformation:: ; 3566 (0:3566) inc de ld a, [hli] ld [de], a - ld de, wd046 + ld de, wTrainerBaseMoney ld a, [hli] ld [de], a inc de @@ -3944,7 +3944,7 @@ HandleMenuInput_:: ; 3ac2 (0:3ac2) ret .keyPressed xor a - ld [wcc4b],a + ld [wCheckFor180DegreeTurn],a ld a,[hJoy5] ld b,a bit 6,a ; pressed Up key? diff --git a/home/overworld.asm b/home/overworld.asm index 9b60d7e9..bd9f4a0a 100644 --- a/home/overworld.asm +++ b/home/overworld.asm @@ -132,8 +132,8 @@ OverworldLoopLessDelay:: ld hl,wFlags_0xcd60 res 2,[hl] call UpdateSprites - ld a,$01 - ld [wcc4b],a + ld a,1 + ld [wCheckFor180DegreeTurn],a ld a,[wPlayerMovingDirection] ; the direction that was pressed last time and a jp z,OverworldLoop @@ -174,7 +174,7 @@ OverworldLoopLessDelay:: ld a,[wd730] bit 7,a ; are we simulating button presses? jr nz,.noDirectionChange ; ignore direction changes if we are - ld a,[wcc4b] + ld a,[wCheckFor180DegreeTurn] and a jr z,.noDirectionChange ld a,[wPlayerDirection] ; new direction @@ -182,39 +182,44 @@ OverworldLoopLessDelay:: ld a,[wPlayerLastStopDirection] ; old direction cp b jr z,.noDirectionChange -; the code below is strange -; it computes whether or not the player did a 180 degree turn, but then overwrites the result -; also, it does a seemingly pointless loop afterwards +; Check whether the player did a 180-degree turn. +; It appears that this code was supposed to show the player rotate by having +; the player's sprite face an intermediate direction before facing the opposite +; direction (instead of doing an instantaneous about-face), but the intermediate +; direction is only set for a short period of time. It is unlikely for it to +; ever be visible because DelayFrame is called at the start of OverworldLoop and +; normally not enough cycles would be executed between then and the time the +; direction is set for V-blank to occur while the direction is still set. swap a ; put old direction in upper half or b ; put new direction in lower half cp a,(PLAYER_DIR_DOWN << 4) | PLAYER_DIR_UP ; change dir from down to up jr nz,.notDownToUp ld a,PLAYER_DIR_LEFT ld [wPlayerMovingDirection],a - jr .oddLoop + jr .holdIntermediateDirectionLoop .notDownToUp cp a,(PLAYER_DIR_UP << 4) | PLAYER_DIR_DOWN ; change dir from up to down jr nz,.notUpToDown ld a,PLAYER_DIR_RIGHT ld [wPlayerMovingDirection],a - jr .oddLoop + jr .holdIntermediateDirectionLoop .notUpToDown cp a,(PLAYER_DIR_RIGHT << 4) | PLAYER_DIR_LEFT ; change dir from right to left jr nz,.notRightToLeft ld a,PLAYER_DIR_DOWN ld [wPlayerMovingDirection],a - jr .oddLoop + jr .holdIntermediateDirectionLoop .notRightToLeft cp a,(PLAYER_DIR_LEFT << 4) | PLAYER_DIR_RIGHT ; change dir from left to right - jr nz,.oddLoop + jr nz,.holdIntermediateDirectionLoop ld a,PLAYER_DIR_UP ld [wPlayerMovingDirection],a -.oddLoop +.holdIntermediateDirectionLoop ld hl,wFlags_0xcd60 set 2,[hl] - ld hl,wcc4b + ld hl,wCheckFor180DegreeTurn dec [hl] - jr nz,.oddLoop + jr nz,.holdIntermediateDirectionLoop ld a,[wPlayerDirection] ld [wPlayerMovingDirection],a call NewBattle @@ -493,7 +498,7 @@ WarpFound2:: ; 073c (0:073c) ; if not going back to the previous map ld [W_CURMAP],a callba IsPlayerStandingOnWarpPadOrHole - ld a,[wcd5b] + ld a,[wStandingOnWarpPadOrHole] dec a ; is the player on a warp pad? jr nz,.notWarpPad ; if the player is on a warp pad @@ -2007,7 +2012,7 @@ LoadPlayerSpriteGraphicsCommon:: ; 1063 (0:1063) LoadMapHeader:: ; 107c (0:107c) callba MarkTownVisitedAndLoadMissableObjects ld a,[W_CURMAPTILESET] - ld [wd119],a + ld [wUnusedD119],a ld a,[W_CURMAP] call SwitchToMapRomBank ld a,[W_CURMAPTILESET] @@ -2305,7 +2310,7 @@ LoadMapData:: ; 1241 (0:1241) ld [hSCY],a ld [hSCX],a ld [wWalkCounter],a - ld [wd119],a + ld [wUnusedD119],a ld [wWalkBikeSurfStateCopy],a ld [W_SPRITESETID],a call LoadTextBoxTilePatterns diff --git a/home/vblank.asm b/home/vblank.asm index 05b01a3d..6abc3756 100644 --- a/home/vblank.asm +++ b/home/vblank.asm @@ -6,7 +6,7 @@ VBlank:: push hl ld a, [H_LOADEDROMBANK] - ld [wd122], a + ld [wVBlankSavedROMBank], a ld a, [hSCX] ld [rSCX], a @@ -78,7 +78,7 @@ VBlank:: and a call z, ReadJoypad - ld a, [wd122] + ld a, [wVBlankSavedROMBank] ld [H_LOADEDROMBANK], a ld [MBC1RomBank], a diff --git a/home/vcopy.asm b/home/vcopy.asm index 8de00e38..02caef29 100644 --- a/home/vcopy.asm +++ b/home/vcopy.asm @@ -380,21 +380,23 @@ UpdateMovingBgTiles:: and a ret z ; no animations if indoors (or if a menu set this to 0) - ld a, [$ffd8] + ld a, [hMovingBGTilesCounter1] inc a - ld [$ffd8], a - cp $14 + ld [hMovingBGTilesCounter1], a + cp 20 ret c - cp $15 + cp 21 jr z, .flower +; water + ld hl, vTileset + $14 * $10 ld c, $10 - ld a, [wd085] + ld a, [wMovingBGTilesCounter2] inc a and 7 - ld [wd085], a + ld [wMovingBGTilesCounter2], a and 4 jr nz, .left @@ -417,14 +419,14 @@ UpdateMovingBgTiles:: ret nc ; if in a cave, no flower animations xor a - ld [$ffd8], a + ld [hMovingBGTilesCounter1], a ret .flower xor a - ld [$ffd8], a + ld [hMovingBGTilesCounter1], a - ld a, [wd085] + ld a, [wMovingBGTilesCounter2] and 3 cp 2 ld hl, FlowerTile1 diff --git a/hram.asm b/hram.asm index c74e53d7..16cc4a44 100644 --- a/hram.asm +++ b/hram.asm @@ -259,6 +259,8 @@ H_VBLANKOCCURRED EQU $FFD6 ; this is often set to 00 in order to turn off water and flower BG tile animations hTilesetType EQU $FFD7 +hMovingBGTilesCounter1 EQU $FFD8 + H_CURRENTSPRITEOFFSET EQU $FFDA ; multiple of $10 hFossilCounter EQU $FFDB diff --git a/main.asm b/main.asm index 8160afa5..d98f27c3 100755 --- a/main.asm +++ b/main.asm @@ -1642,39 +1642,39 @@ DisplayTwoOptionMenu: ; 7559 (1:7559) ; The bottom and right edges of the menu may remain after the function returns. TwoOptionMenu_SaveScreenTiles: ; 763e (1:763e) - ld de, wHPBarMaxHP - ld bc, $506 -.asm_7644 + ld de, wBuffer + lb bc, 5, 6 +.loop ld a, [hli] ld [de], a inc de dec c - jr nz, .asm_7644 + jr nz, .loop push bc - ld bc, 14 + ld bc, SCREEN_WIDTH - 6 add hl, bc pop bc ld c, $6 dec b - jr nz, .asm_7644 + jr nz, .loop ret TwoOptionMenu_RestoreScreenTiles: ; 7656 (1:7656) - ld de, wHPBarMaxHP - ld bc, $506 -.asm_765c + ld de, wBuffer + lb bc, 5, 6 +.loop ld a, [de] inc de ld [hli], a dec c - jr nz, .asm_765c + jr nz, .loop push bc - ld bc, $e + ld bc, SCREEN_WIDTH - 6 add hl, bc pop bc - ld c, $6 + ld c, 6 dec b - jr nz, .asm_765c + jr nz, .loop call UpdateSprites ret @@ -3167,9 +3167,9 @@ RedrawMapView: ; eedc (3:6edc) and $3 or $98 ld a, l - ld [wHPBarMaxHP], a + ld [wBuffer], a ld a, h - ld [wHPBarMaxHP + 1], a + ld [wBuffer + 1], a ; this copy of the address is not used ld a, 2 ld [$ffbe], a ld c, 9 ; number of rows of 2x2 tiles (this covers the whole screen) @@ -3177,25 +3177,25 @@ RedrawMapView: ; eedc (3:6edc) push bc push hl push hl - ld hl, wTileMap - 2 * 20 - ld de, 20 + ld hl, wTileMap - 2 * SCREEN_WIDTH + ld de, SCREEN_WIDTH ld a, [$ffbe] -.asm_ef1a +.calcWRAMAddrLoop add hl, de dec a - jr nz, .asm_ef1a + jr nz, .calcWRAMAddrLoop call CopyToScreenEdgeTiles pop hl ld de, $20 ld a, [$ffbe] ld c, a -.asm_ef28 +.calcVRAMAddrLoop add hl, de ld a, h and $3 or $98 dec c - jr nz, .asm_ef28 + jr nz, .calcVRAMAddrLoop ld [H_SCREENEDGEREDRAWADDR + 1], a ld a, l ld [H_SCREENEDGEREDRAWADDR], a @@ -3301,7 +3301,7 @@ InitializeMissableObjectsFlags: ; f175 (3:7175) call FillMemory ; clear missable objects flags ld hl, MapHS00 xor a - ld [wd048], a + ld [wMissableObjectCounter], a .missableObjectsLoop ld a, [hli] cp $ff ; end of list @@ -3310,14 +3310,14 @@ InitializeMissableObjectsFlags: ; f175 (3:7175) inc hl ld a, [hl] cp Hide - jr nz, .asm_f19d + jr nz, .skip ld hl, W_MISSABLEOBJECTFLAGS - ld a, [wd048] + ld a, [wMissableObjectCounter] ld c, a ld b, FLAG_SET - call MissableObjectFlagAction ; set flag iff Item is hidden -.asm_f19d - ld hl, wd048 + call MissableObjectFlagAction ; set flag if Item is hidden +.skip + ld hl, wMissableObjectCounter inc [hl] pop hl inc hl @@ -3351,21 +3351,21 @@ IsObjectHidden: ; f1a6 (3:71a6) ret ; adds missable object (items, leg. pokemon, etc.) to the map -; [wcc4d]: index of the missable object to be added (global index) +; [wMissableObjectIndex]: index of the missable object to be added (global index) ShowObject: ; f1c8 (3:71c8) ShowObject2: ld hl, W_MISSABLEOBJECTFLAGS - ld a, [wcc4d] + ld a, [wMissableObjectIndex] ld c, a ld b, FLAG_RESET call MissableObjectFlagAction ; reset "removed" flag jp UpdateSprites ; removes missable object (items, leg. pokemon, etc.) from the map -; [wcc4d]: index of the missable object to be removed (global index) +; [wMissableObjectIndex]: index of the missable object to be removed (global index) HideObject: ; f1d7 (3:71d7) ld hl, W_MISSABLEOBJECTFLAGS - ld a, [wcc4d] + ld a, [wMissableObjectIndex] ld c, a ld b, FLAG_SET call MissableObjectFlagAction ; set "removed" flag diff --git a/scripts/billshouse.asm b/scripts/billshouse.asm index 71e61603..e4cfc031 100755 --- a/scripts/billshouse.asm +++ b/scripts/billshouse.asm @@ -49,7 +49,7 @@ BillsHouseScript2: ; 1e7a6 (7:67a6) bit 0, a ret nz ld a, HS_BILL_POKEMON - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject SetEvent EVENT_BILL_SAID_USE_CELL_SEPARATOR xor a @@ -75,7 +75,7 @@ BillsHouseScript3: ; 1e7c5 (7:67c5) ld [$ffee], a call SetSpritePosition1 ld a, HS_BILL_1 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef ShowObject ld c, 8 call DelayFrames @@ -170,10 +170,10 @@ BillsHouseText2: ; 1e874 (7:6874) call PrintText SetEvent EVENT_GOT_SS_TICKET ld a, HS_CERULEAN_GUARD_1 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef ShowObject ld a, HS_CERULEAN_GUARD_2 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject .asm_1e8a9 ld hl, BillsHouseText_1e8cb diff --git a/scripts/blueshouse.asm b/scripts/blueshouse.asm index 12ca9106..0e29d64c 100755 --- a/scripts/blueshouse.asm +++ b/scripts/blueshouse.asm @@ -40,7 +40,7 @@ BluesHouseText1: ; 19b5d (6:5b5d) call GiveItem jr nc, .BagFull ld a,HS_TOWN_MAP - ld [wcc4d],a + ld [wMissableObjectIndex],a predef HideObject ; hide table map object ld hl,GotMapText call PrintText diff --git a/scripts/celadongamecorner.asm b/scripts/celadongamecorner.asm index 84919b64..e8917434 100755 --- a/scripts/celadongamecorner.asm +++ b/scripts/celadongamecorner.asm @@ -107,7 +107,7 @@ CeladonGameCornerScript2: ; 48c69 (12:4c69) xor a ld [wJoyIgnore], a ld a, HS_GAME_CORNER_ROCKET - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject ld hl, wd126 set 5, [hl] diff --git a/scripts/celadonmansion5.asm b/scripts/celadonmansion5.asm index f847759b..60d2cc92 100755 --- a/scripts/celadonmansion5.asm +++ b/scripts/celadonmansion5.asm @@ -15,7 +15,7 @@ CeladonMansion5Text2: ; 1dd46 (7:5d46) call GivePokemon jr nc, .asm_24365 ld a, HS_CELADON_MANSION_5_GIFT - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject .asm_24365 jp TextScriptEnd diff --git a/scripts/ceruleancity.asm b/scripts/ceruleancity.asm index 5da549f3..c13e66e2 100755 --- a/scripts/ceruleancity.asm +++ b/scripts/ceruleancity.asm @@ -9,7 +9,7 @@ CeruleanCityScript_1948c: ; 1948c (6:548c) ld [wJoyIgnore], a ld [W_CERULEANCITYCURSCRIPT], a ld a, HS_CERULEAN_RIVAL - ld [wcc4d], a + ld [wMissableObjectIndex], a predef_jump HideObject CeruleanCityScriptPointers: ; 1949d (6:549d) @@ -86,7 +86,7 @@ CeruleanCityScript0: ; 194c8 (6:54c8) ld [hl], $19 .asm_19535 ld a, HS_CERULEAN_RIVAL - ld [wcc4d], a + ld [wMissableObjectIndex], a predef ShowObject ld de, CeruleanCityMovement1 ld a, $1 @@ -218,7 +218,7 @@ CeruleanCityScript3: ; 19610 (6:5610) bit 0, a ret nz ld a, HS_CERULEAN_RIVAL - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject xor a ld [wJoyIgnore], a diff --git a/scripts/ceruleancity2.asm b/scripts/ceruleancity2.asm index 2232b0f4..3dafb3f8 100755 --- a/scripts/ceruleancity2.asm +++ b/scripts/ceruleancity2.asm @@ -4,13 +4,13 @@ CeruleanHideRocket: ; 74872 (1d:4872) ; the screen then fades out, he disappears, and fades back in call GBFadeOutToBlack ld a, HS_CERULEAN_GUARD_1 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef ShowObject ld a, HS_CERULEAN_GUARD_2 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject ld a, HS_CERULEAN_ROCKET - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject call GBFadeInFromBlack ret diff --git a/scripts/fightingdojo.asm b/scripts/fightingdojo.asm index 91d8a484..fa05d486 100755 --- a/scripts/fightingdojo.asm +++ b/scripts/fightingdojo.asm @@ -274,7 +274,7 @@ FightingDojoText6: ; 5cf06 (17:4f06) ; once Poké Ball is taken, hide sprite ld a, HS_FIGHTING_DOJO_GIFT_1 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject SetEvents EVENT_GOT_HITMONLEE, EVENT_DEFEATED_FIGHTING_DOJO .done @@ -310,7 +310,7 @@ FightingDojoText7: ; 5cf4e (17:4f4e) ; once Poké Ball is taken, hide sprite ld a, HS_FIGHTING_DOJO_GIFT_2 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject .done jp TextScriptEnd diff --git a/scripts/gary.asm b/scripts/gary.asm index 24a2d2de..9a3b1582 100755 --- a/scripts/gary.asm +++ b/scripts/gary.asm @@ -120,7 +120,7 @@ GaryScript4: ; 75fe4 (1d:5fe4) ld [H_SPRITEINDEX], a call MoveSprite ld a, HS_CHAMPIONS_ROOM_OAK - ld [wcc4d], a + ld [wMissableObjectIndex], a predef ShowObject ld a, $5 ld [W_GARYCURSCRIPT], a @@ -197,7 +197,7 @@ GaryScript8: ; 76083 (1d:6083) bit 0, a ret nz ld a, HS_CHAMPIONS_ROOM_OAK - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject ld a, $9 ld [W_GARYCURSCRIPT], a diff --git a/scripts/halloffameroom.asm b/scripts/halloffameroom.asm index 9a5b595a..1da6d3f5 100755 --- a/scripts/halloffameroom.asm +++ b/scripts/halloffameroom.asm @@ -95,7 +95,7 @@ HallofFameRoomScript1: ; 5a52b (16:652b) ld a, $ff ld [wJoyIgnore], a ld a, HS_UNKNOWN_DUNGEON_GUY - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject ld a, $2 ld [W_HALLOFFAMEROOMCURSCRIPT], a diff --git a/scripts/mtmoon3.asm b/scripts/mtmoon3.asm index 4542cc53..21c959aa 100755 --- a/scripts/mtmoon3.asm +++ b/scripts/mtmoon3.asm @@ -145,7 +145,7 @@ MtMoon3Script5: ; 49dfb (12:5dfb) .asm_49e1d ld a, HS_MT_MOON_3_FOSSIL_1 .asm_49e1f - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject xor a ld [wJoyIgnore], a @@ -276,7 +276,7 @@ MtMoon3Text6: ; 49ee9 (12:5ee9) jp nc, MtMoon3Script_49f76 call MtMoon3Script_49f69 ld a, HS_MT_MOON_3_FOSSIL_1 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject SetEvent EVENT_GOT_DOME_FOSSIL ld a, $4 @@ -304,7 +304,7 @@ MtMoon3Text7: ; 49f29 (12:5f29) jp nc, MtMoon3Script_49f76 call MtMoon3Script_49f69 ld a, HS_MT_MOON_3_FOSSIL_2 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject SetEvent EVENT_GOT_HELIX_FOSSIL ld a, $4 diff --git a/scripts/museum1f.asm b/scripts/museum1f.asm index 77c7f270..4c209eb8 100755 --- a/scripts/museum1f.asm +++ b/scripts/museum1f.asm @@ -196,7 +196,7 @@ Museum1FText3: ; 5c256 (17:4256) jr nc, .BagFull SetEvent EVENT_GOT_OLD_AMBER ld a, HS_OLD_AMBER - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject ld hl, ReceivedOldAmberText jr .asm_5c288 diff --git a/scripts/oakslab.asm b/scripts/oakslab.asm index a2fa4338..329d3c25 100755 --- a/scripts/oakslab.asm +++ b/scripts/oakslab.asm @@ -37,7 +37,7 @@ OaksLabScript0: ; 1cb4e (7:4b4e) and a ret nz ld a, HS_OAKS_LAB_OAK_2 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef ShowObject ld hl, wd72e res 4, [hl] @@ -67,10 +67,10 @@ OaksLabScript2: ; 1cb82 (7:4b82) bit 0, a ret nz ld a, HS_OAKS_LAB_OAK_2 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject ld a, HS_OAKS_LAB_OAK_1 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef ShowObject ld a, $3 @@ -315,7 +315,7 @@ OaksLabScript9: ; 1cd00 (7:4d00) .asm_1cd30 ld a, HS_STARTER_BALL_3 .asm_1cd32 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject call Delay3 ld a, [wRivalStarterTemp] @@ -475,7 +475,7 @@ OaksLabScript14: ; 1ce6d (7:4e6d) bit 0, a jr nz, .asm_1ce8c ld a, HS_OAKS_LAB_RIVAL - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject xor a ld [wJoyIgnore], a @@ -519,7 +519,7 @@ OaksLabScript15: ; 1ceb0 (7:4eb0) call DisplayTextID call OaksLabScript_1d02b ld a, HS_OAKS_LAB_RIVAL - ld [wcc4d], a + ld [wMissableObjectIndex], a predef ShowObject ld a, [wNPCMovementDirections2Index] ld [wd157], a @@ -578,10 +578,10 @@ OaksLabScript16: ; 1cf12 (7:4f12) call DisplayTextID call Delay3 ld a, HS_POKEDEX_1 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject ld a, HS_POKEDEX_2 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject call OaksLabScript_1cefd ld a, $1a @@ -599,10 +599,10 @@ OaksLabScript16: ; 1cf12 (7:4f12) SetEvent EVENT_GOT_POKEDEX SetEvent EVENT_OAK_GOT_PARCEL ld a, HS_LYING_OLD_MAN - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject ld a, HS_OLD_MAN - ld [wcc4d], a + ld [wMissableObjectIndex], a predef ShowObject ld a, [wd157] ld b, $0 @@ -630,13 +630,13 @@ OaksLabScript17: ; 1cfd4 (7:4fd4) ret nz call PlayDefaultMusic ld a, HS_OAKS_LAB_RIVAL - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject SetEvent EVENT_1ST_ROUTE22_RIVAL_BATTLE ResetEventReuseHL EVENT_2ND_ROUTE22_RIVAL_BATTLE SetEventReuseHL EVENT_ROUTE22_RIVAL_WANTS_BATTLE ld a, HS_ROUTE_22_RIVAL_1 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef ShowObject ld a, $5 ld [W_PALLETTOWNCURSCRIPT], a @@ -914,7 +914,7 @@ OaksLabMonChoiceMenu: ; 1d1b3 (7:51b3) .asm_1d1e3 ld a, HS_STARTER_BALL_3 .asm_1d1e5 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject ld a, $1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a diff --git a/scripts/pallettown.asm b/scripts/pallettown.asm index 0fd7300e..e4c3f135 100755 --- a/scripts/pallettown.asm +++ b/scripts/pallettown.asm @@ -51,7 +51,7 @@ PalletTownScript1: ; 18eb2 (6:4eb2) ld a,$FF ld [wJoyIgnore],a ld a,HS_PALLET_TOWN_OAK - ld [wcc4d],a + ld [wMissableObjectIndex],a predef ShowObject ; trigger the next script @@ -136,10 +136,10 @@ PalletTownScript5: ; 18f56 (6:4f56) jr nz,.next SetEvent EVENT_DAISY_WALKING ld a,HS_DAISY_SITTING - ld [wcc4d],a + ld [wMissableObjectIndex],a predef HideObject ld a,HS_DAISY_WALKING - ld [wcc4d],a + ld [wMissableObjectIndex],a predef_jump ShowObject .next CheckEvent EVENT_GOT_POKEBALLS_FROM_OAK diff --git a/scripts/pewtercity.asm b/scripts/pewtercity.asm index 77da14f8..66589d52 100755 --- a/scripts/pewtercity.asm +++ b/scripts/pewtercity.asm @@ -88,7 +88,7 @@ PewterCityScript2: ; 192d3 (6:52d3) bit 0, a ret nz ld a, HS_MUSEUM_GUY - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject ld a, $3 ld [W_PEWTERCITYCURSCRIPT], a @@ -99,7 +99,7 @@ PewterCityScript3: ; 192e9 (6:52e9) ld [wSpriteIndex], a call SetSpritePosition2 ld a, HS_MUSEUM_GUY - ld [wcc4d], a + ld [wMissableObjectIndex], a predef ShowObject xor a ld [wJoyIgnore], a @@ -157,7 +157,7 @@ PewterCityScript5: ; 19359 (6:5359) bit 0, a ret nz ld a, HS_GYM_GUY - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject ld a, $6 ld [W_PEWTERCITYCURSCRIPT], a @@ -168,7 +168,7 @@ PewterCityScript6: ; 1936f (6:536f) ld [wSpriteIndex], a call SetSpritePosition2 ld a, HS_GYM_GUY - ld [wcc4d], a + ld [wMissableObjectIndex], a predef ShowObject xor a ld [wJoyIgnore], a diff --git a/scripts/pewtergym.asm b/scripts/pewtergym.asm index 576e8246..704ea104 100755 --- a/scripts/pewtergym.asm +++ b/scripts/pewtergym.asm @@ -66,10 +66,10 @@ PewterGymScript_5c3df: ; 5c3df (17:43df) set 0, [hl] ld a, HS_GYM_GUY - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject ld a, HS_ROUTE_22_RIVAL_1 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject ResetEvents EVENT_1ST_ROUTE22_RIVAL_BATTLE, EVENT_ROUTE22_RIVAL_WANTS_BATTLE diff --git a/scripts/pokemontower2.asm b/scripts/pokemontower2.asm index c7b94c4f..a569b60b 100755 --- a/scripts/pokemontower2.asm +++ b/scripts/pokemontower2.asm @@ -112,7 +112,7 @@ PokemonTower2Script2: ; 605bb (18:45bb) bit 0, a ret nz ld a, HS_POKEMONTOWER_2_RIVAL - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject xor a ld [wJoyIgnore], a diff --git a/scripts/pokemontower7.asm b/scripts/pokemontower7.asm index 3698f4ee..f1fceb2f 100755 --- a/scripts/pokemontower7.asm +++ b/scripts/pokemontower7.asm @@ -51,7 +51,7 @@ PokemonTower7Script3: ; 60d56 (18:4d56) cp b ; search for sprite ID in missing objects list ld a, [hli] jr nz, .missableObjectsListLoop - ld [wcc4d], a ; remove missable object + ld [wMissableObjectIndex], a ; remove missable object predef HideObject xor a ld [wJoyIgnore], a @@ -67,7 +67,7 @@ PokemonTower7Script4: ; 60d86 (18:4d86) ld a, $ff ld [wJoyIgnore], a ld a, HS_POKEMONTOWER_7_MR_FUJI - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject ld a, SPRITE_FACING_UP ld [wSpriteStateData1 + 9], a @@ -259,13 +259,13 @@ PokemonTower7FujiText: SetEvent EVENT_RESCUED_MR_FUJI SetEvent EVENT_RESCUED_MR_FUJI_2 ld a, HS_LAVENDER_HOUSE_1_MR_FUJI - ld [wcc4d], a + ld [wMissableObjectIndex], a predef ShowObject ld a, HS_SAFFRON_CITY_E - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject ld a, HS_SAFFRON_CITY_F - ld [wcc4d], a + ld [wMissableObjectIndex], a predef ShowObject ld a, $4 ld [W_POKEMONTOWER7CURSCRIPT], a diff --git a/scripts/rockethideout4.asm b/scripts/rockethideout4.asm index ed2bb61d..62d6f6bb 100755 --- a/scripts/rockethideout4.asm +++ b/scripts/rockethideout4.asm @@ -56,10 +56,10 @@ RocketHideout4Script3: ; 454b6 (11:54b6) call DisplayTextID call GBFadeOutToBlack ld a, HS_ROCKET_HIDEOUT_4_GIOVANNI - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject ld a, HS_ROCKET_HIDEOUT_4_ITEM_4 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef ShowObject call UpdateSprites call GBFadeInFromBlack @@ -211,7 +211,7 @@ RocketHideout4AfterBattleText4: ; 455cf (11:55cf) CheckAndSetEvent EVENT_ROCKET_DROPPED_LIFT_KEY jr nz, .asm_455e9 ld a, HS_ROCKET_HIDEOUT_4_ITEM_5 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef ShowObject .asm_455e9 jp TextScriptEnd diff --git a/scripts/route12.asm b/scripts/route12.asm index be20958e..4057ce03 100755 --- a/scripts/route12.asm +++ b/scripts/route12.asm @@ -34,7 +34,7 @@ Route12Script0: ; 59619 (16:5619) ld a, 30 ld [W_CURENEMYLVL], a ld a, HS_ROUTE_12_SNORLAX - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject ld a, $3 ld [W_ROUTE12CURSCRIPT], a diff --git a/scripts/route16.asm b/scripts/route16.asm index 286b5289..c762c999 100755 --- a/scripts/route16.asm +++ b/scripts/route16.asm @@ -34,7 +34,7 @@ Route16Script0: ; 59959 (16:5959) ld a, 30 ld [W_CURENEMYLVL], a ld a, HS_ROUTE_16_SNORLAX - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject call UpdateSprites ld a, $3 diff --git a/scripts/route20.asm b/scripts/route20.asm index 2ef51da9..ce9e6f23 100755 --- a/scripts/route20.asm +++ b/scripts/route20.asm @@ -49,11 +49,11 @@ Route20Script_50cc6: ; 50cc6 (14:4cc6) ret Route20Script_50d0c: ; 50d0c (14:4d0c) - ld [wcc4d], a + ld [wMissableObjectIndex], a predef_jump ShowObject Route20Script_50d14: ; 50d14 (14:4d14) - ld [wcc4d], a + ld [wMissableObjectIndex], a predef_jump HideObject Route20ScriptPointers: ; 50d1c (14:4d1c) diff --git a/scripts/route22.asm b/scripts/route22.asm index 25b16886..041f75e6 100755 --- a/scripts/route22.asm +++ b/scripts/route22.asm @@ -224,7 +224,7 @@ Route22Script3: ; 5102a (14:502a) xor a ld [wJoyIgnore], a ld a, HS_ROUTE_22_RIVAL_1 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject call PlayDefaultMusic ResetEvents EVENT_1ST_ROUTE22_RIVAL_BATTLE, EVENT_ROUTE22_RIVAL_WANTS_BATTLE @@ -369,7 +369,7 @@ Route22Script6: ; 51151 (14:5151) xor a ld [wJoyIgnore], a ld a, HS_ROUTE_22_RIVAL_2 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject call PlayDefaultMusic ResetEvents EVENT_2ND_ROUTE22_RIVAL_BATTLE, EVENT_ROUTE22_RIVAL_WANTS_BATTLE diff --git a/scripts/route23.asm b/scripts/route23.asm index adc631d8..35f1b9cb 100755 --- a/scripts/route23.asm +++ b/scripts/route23.asm @@ -13,10 +13,10 @@ Route23Script_511e9: ; 511e9 (14:51e9) ResetEvents EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1, EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH2 ResetEvents EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH1, EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH2 ld a, HS_VICTORY_ROAD_3_BOULDER - ld [wcc4d], a + ld [wMissableObjectIndex], a predef ShowObject ld a, HS_VICTORY_ROAD_2_BOULDER - ld [wcc4d], a + ld [wMissableObjectIndex], a predef_jump HideObject Route23ScriptPointers: ; 51213 (14:5213) diff --git a/scripts/route25.asm b/scripts/route25.asm index a123d74a..49580ba6 100755 --- a/scripts/route25.asm +++ b/scripts/route25.asm @@ -19,20 +19,20 @@ Route25Script_515e1: ; 515e1 (14:55e1) jr nz, .asm_515ff ResetEventReuseHL EVENT_BILL_SAID_USE_CELL_SEPARATOR ld a, HS_BILL_POKEMON - ld [wcc4d], a + ld [wMissableObjectIndex], a predef_jump ShowObject .asm_515ff CheckEventAfterBranchReuseHL EVENT_GOT_SS_TICKET, EVENT_MET_BILL_2 ret z SetEventReuseHL EVENT_LEFT_BILLS_HOUSE_AFTER_HELPING ld a, HS_NUGGET_BRIDGE_GUY - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject ld a, HS_BILL_1 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject ld a, HS_BILL_2 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef_jump ShowObject Route25ScriptPointers: ; 51622 (14:5622) diff --git a/scripts/seafoamislands1.asm b/scripts/seafoamislands1.asm index 542afe18..f9a2e7fc 100755 --- a/scripts/seafoamislands1.asm +++ b/scripts/seafoamislands1.asm @@ -14,22 +14,22 @@ SeafoamIslands1Script: ; 447e9 (11:47e9) jr nz, .asm_44819 SetEventReuseHL EVENT_SEAFOAM1_BOULDER1_DOWN_HOLE ld a, HS_SEAFOAM_ISLANDS_1_BOULDER_1 - ld [wd079], a + ld [wObjectToHide], a ld a, HS_SEAFOAM_ISLANDS_2_BOULDER_1 - ld [wd07a], a + ld [wObjectToShow], a jr .asm_44825 .asm_44819 SetEventAfterBranchReuseHL EVENT_SEAFOAM1_BOULDER2_DOWN_HOLE, EVENT_SEAFOAM1_BOULDER1_DOWN_HOLE ld a, HS_SEAFOAM_ISLANDS_1_BOULDER_2 - ld [wd079], a + ld [wObjectToHide], a ld a, HS_SEAFOAM_ISLANDS_2_BOULDER_2 - ld [wd07a], a + ld [wObjectToShow], a .asm_44825 - ld a, [wd079] - ld [wcc4d], a + ld a, [wObjectToHide] + ld [wMissableObjectIndex], a predef HideObject - ld a, [wd07a] - ld [wcc4d], a + ld a, [wObjectToShow] + ld [wMissableObjectIndex], a predef_jump ShowObject .asm_4483b ld a, $9f diff --git a/scripts/seafoamislands2.asm b/scripts/seafoamislands2.asm index bf81a467..2c2962f8 100755 --- a/scripts/seafoamislands2.asm +++ b/scripts/seafoamislands2.asm @@ -13,22 +13,22 @@ SeafoamIslands2Script: ; 46315 (11:6315) jr nz, .asm_46340 SetEventReuseHL EVENT_SEAFOAM2_BOULDER1_DOWN_HOLE ld a, HS_SEAFOAM_ISLANDS_2_BOULDER_1 - ld [wd079], a + ld [wObjectToHide], a ld a, HS_SEAFOAM_ISLANDS_3_BOULDER_1 - ld [wd07a], a + ld [wObjectToShow], a jr .asm_4634c .asm_46340 SetEventAfterBranchReuseHL EVENT_SEAFOAM2_BOULDER2_DOWN_HOLE, EVENT_SEAFOAM2_BOULDER1_DOWN_HOLE ld a, HS_SEAFOAM_ISLANDS_2_BOULDER_2 - ld [wd079], a + ld [wObjectToHide], a ld a, HS_SEAFOAM_ISLANDS_3_BOULDER_2 - ld [wd07a], a + ld [wObjectToShow], a .asm_4634c - ld a, [wd079] - ld [wcc4d], a + ld a, [wObjectToHide] + ld [wMissableObjectIndex], a predef HideObject - ld a, [wd07a] - ld [wcc4d], a + ld a, [wObjectToShow] + ld [wMissableObjectIndex], a predef_jump ShowObject .asm_46362 ld a, $a0 diff --git a/scripts/seafoamislands3.asm b/scripts/seafoamislands3.asm index 8f66a0ca..6dda7f37 100755 --- a/scripts/seafoamislands3.asm +++ b/scripts/seafoamislands3.asm @@ -13,22 +13,22 @@ SeafoamIslands3Script: ; 46451 (11:6451) jr nz, .asm_4647c SetEventReuseHL EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE ld a, HS_SEAFOAM_ISLANDS_3_BOULDER_1 - ld [wd079], a + ld [wObjectToHide], a ld a, HS_SEAFOAM_ISLANDS_4_BOULDER_3 - ld [wd07a], a + ld [wObjectToShow], a jr .asm_46488 .asm_4647c SetEventAfterBranchReuseHL EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE, EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE ld a, HS_SEAFOAM_ISLANDS_3_BOULDER_2 - ld [wd079], a + ld [wObjectToHide], a ld a, HS_SEAFOAM_ISLANDS_4_BOULDER_4 - ld [wd07a], a + ld [wObjectToShow], a .asm_46488 - ld a, [wd079] - ld [wcc4d], a + ld a, [wObjectToHide] + ld [wMissableObjectIndex], a predef HideObject - ld a, [wd07a] - ld [wcc4d], a + ld a, [wObjectToShow] + ld [wMissableObjectIndex], a predef_jump ShowObject .asm_4649e ld a, $a1 diff --git a/scripts/seafoamislands4.asm b/scripts/seafoamislands4.asm index dc198123..f7407e48 100755 --- a/scripts/seafoamislands4.asm +++ b/scripts/seafoamislands4.asm @@ -13,22 +13,22 @@ SeafoamIslands4Script: ; 4658d (11:658d) jr nz, .asm_465b8 SetEventReuseHL EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE ld a, HS_SEAFOAM_ISLANDS_4_BOULDER_1 - ld [wd079], a + ld [wObjectToHide], a ld a, HS_SEAFOAM_ISLANDS_5_BOULDER_1 - ld [wd07a], a + ld [wObjectToShow], a jr .asm_465c4 .asm_465b8 SetEventAfterBranchReuseHL EVENT_SEAFOAM4_BOULDER2_DOWN_HOLE, EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE ld a, HS_SEAFOAM_ISLANDS_4_BOULDER_2 - ld [wd079], a + ld [wObjectToHide], a ld a, HS_SEAFOAM_ISLANDS_5_BOULDER_2 - ld [wd07a], a + ld [wObjectToShow], a .asm_465c4 - ld a, [wd079] - ld [wcc4d], a + ld a, [wObjectToHide] + ld [wMissableObjectIndex], a predef HideObject - ld a, [wd07a] - ld [wcc4d], a + ld a, [wObjectToShow] + ld [wMissableObjectIndex], a predef ShowObject jr .asm_465ed .asm_465dc diff --git a/scripts/silphco1.asm b/scripts/silphco1.asm index 71b59d72..cfd51dc1 100755 --- a/scripts/silphco1.asm +++ b/scripts/silphco1.asm @@ -5,7 +5,7 @@ SilphCo1Script: ; 5d44e (17:544e) CheckAndSetEvent EVENT_SILPH_CO_RECEPTIONIST_AT_DESK ret nz ld a, HS_SILPH_CO_1F_RECEPTIONIST - ld [wcc4d], a + ld [wMissableObjectIndex], a predef_jump ShowObject SilphCo1TextPointers: ; 5d469 (17:5469) diff --git a/scripts/silphco11.asm b/scripts/silphco11.asm index 5de025f0..9cdf2891 100755 --- a/scripts/silphco11.asm +++ b/scripts/silphco11.asm @@ -76,7 +76,7 @@ SilphCo11Script_6216d: ; 6216d (18:616d) cp $ff jr z, .asm_62181 push hl - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject pop hl jr .asm_62170 @@ -87,7 +87,7 @@ SilphCo11Script_6216d: ; 6216d (18:616d) cp $ff ret z push hl - ld [wcc4d], a + ld [wMissableObjectIndex], a predef ShowObject pop hl jr .asm_62184 diff --git a/scripts/silphco7.asm b/scripts/silphco7.asm index 7169f0c0..44e92475 100755 --- a/scripts/silphco7.asm +++ b/scripts/silphco7.asm @@ -252,7 +252,7 @@ SilphCo7Script5: ; 51d25 (14:5d25) bit 0, a ret nz ld a, HS_SILPH_CO_7F_RIVAL - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject call PlayDefaultMusic xor a diff --git a/scripts/ssanne2.asm b/scripts/ssanne2.asm index bc13d4b6..b95c5723 100755 --- a/scripts/ssanne2.asm +++ b/scripts/ssanne2.asm @@ -33,7 +33,7 @@ SSAnne2Script0: ; 613be (18:53be) ld a, [wCoordIndex] ld [$ffdb], a ld a, HS_SS_ANNE_2_RIVAL - ld [wcc4d], a + ld [wMissableObjectIndex], a predef ShowObject call Delay3 ld a, $2 @@ -171,7 +171,7 @@ SSAnne2Script3: ; 614be (18:54be) xor a ld [wJoyIgnore], a ld a, HS_SS_ANNE_2_RIVAL - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject call PlayDefaultMusic ld a, $4 diff --git a/scripts/vermilioncity.asm b/scripts/vermilioncity.asm index 7448e8f9..64ccc477 100755 --- a/scripts/vermilioncity.asm +++ b/scripts/vermilioncity.asm @@ -17,7 +17,7 @@ VermilionCityScript_197c0: ; 197c0 (6:57c0) call Random ld a, [$ffd4] and $e - ld [wd743], a + ld [wFirstLockTrashCanIndex], a ret VermilionCityScript_197cb: ; 197cb (6:57cb) diff --git a/scripts/victoryroad3.asm b/scripts/victoryroad3.asm index 33a29e44..c5aaef50 100755 --- a/scripts/victoryroad3.asm +++ b/scripts/victoryroad3.asm @@ -44,10 +44,10 @@ VictoryRoad3Script0: ; 449b7 (11:49b7) CheckAndSetEvent EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH2 jr nz, .asm_449fe ld a, HS_VICTORY_ROAD_3_BOULDER - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject ld a, HS_VICTORY_ROAD_2_BOULDER - ld [wcc4d], a + ld [wMissableObjectIndex], a predef_jump ShowObject .coordsData_449f9: ; 449f9 (11:49f9) diff --git a/scripts/viridiangym.asm b/scripts/viridiangym.asm index 3855d316..0e075b2f 100755 --- a/scripts/viridiangym.asm +++ b/scripts/viridiangym.asm @@ -163,7 +163,7 @@ ViridianGymScript3_74995: ; 74995 (1d:4995) SetEventRange EVENT_BEAT_VIRIDIAN_GYM_TRAINER_0, EVENT_BEAT_VIRIDIAN_GYM_TRAINER_7 ld a, HS_ROUTE_22_RIVAL_2 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef ShowObject SetEvents EVENT_2ND_ROUTE22_RIVAL_BATTLE, EVENT_ROUTE22_RIVAL_WANTS_BATTLE jp ViridianGymScript_748d6 @@ -275,7 +275,7 @@ ViridianGymText1: ; 74a69 (1d:4a69) call PrintText call GBFadeOutToBlack ld a, HS_VIRIDIAN_GYM_GIOVANNI - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject call UpdateSprites call Delay3 diff --git a/text/maps/name_rater.asm b/text/maps/name_rater.asm index 2baec727..052a9588 100644 --- a/text/maps/name_rater.asm +++ b/text/maps/name_rater.asm @@ -35,7 +35,7 @@ _NameRaterText_1dac7:: ; 9a404 (26:6404) text "OK! This #MON" line "has been renamed" cont "@" - TX_RAM wHPBarMaxHP + TX_RAM wBuffer text "!" para "That's a better" diff --git a/wram.asm b/wram.asm index 14f3c5af..20e32f4b 100755 --- a/wram.asm +++ b/wram.asm @@ -360,8 +360,14 @@ wMenuWrappingEnabled:: ; cc4a ; set to 0 if you can't go past the top or bottom of the menu ds 1 -wcc4b:: ds 2 ; used as a joypad storage value -wcc4d:: ds 1 ; used in sprite hiding/showing related operations +wCheckFor180DegreeTurn:: ; cc4b +; whether to check for 180-degree turn (0 = don't, 1 = do) + ds 1 + + ds 1 + +wMissableObjectIndex:: ; cc4d + ds 1 wPredefID:: ; cc4e ds 1 @@ -979,10 +985,18 @@ wWhichAnimationOffsets:: ; cd50 wTradedEnemyMonOTID:: ; cd59 ds 2 +wStandingOnWarpPadOrHole:: ; cd5b +; 0 = neither +; 1 = warp pad +; 2 = hole + wOAMBaseTile:: ; cd5b -wcd5b:: ds 1 ; used in some sprite stuff, town map and surge gym trash cans -wcd5c:: ds 1 ; used in town map +wGymTrashCanIndex:: ; cd5b + ds 1 + +wSymmetricSpriteOAMAttributes:: ; cd5c + ds 1 wMonPartySpriteSpecies:: ; cd5d ds 1 @@ -1049,6 +1063,8 @@ wTileMapBackup2:: ; cd81 ; second buffer for temporarily saving and restoring current screen's tiles (e.g. if menus are drawn on top) ds 20 * 18 +wNamingScreenNameLength:: ; cee9 + wEvoOldSpecies:: ; cee9 wBuffer:: ; cee9 @@ -1066,11 +1082,18 @@ wChangeMonPicEnemyTurnSpecies:: ; cee9 wHPBarMaxHP:: ; cee9 ds 1 +wNamingScreenSubmitName:: ; ceea +; non-zero when the player has chosen to submit the name + wChangeMonPicPlayerTurnSpecies:: ; ceea wEvoNewSpecies:: ; ceea ds 1 +wAlphabetCase:: ; ceeb +; 0 = upper case +; 1 = lower case + wEvoMonTileOffset:: ; ceeb wHPBarOldHP:: ; ceeb @@ -1079,13 +1102,17 @@ wHPBarOldHP:: ; ceeb wEvoCancelled:: ; ceec ds 1 +wNamingScreenLetter:: ; ceed + wHPBarNewHP:: ; ceed ds 2 wHPBarDelta:: ; ceef ds 1 -wcef0:: ds 1 ; used with HP bar stuff, probably used with wBuffer too. -wcef1:: ds 12 ; same case as above +wHPBarTempHP:: ; cef0 + ds 2 + + ds 11 wHPBarHPDifference:: ; cefd ds 1 @@ -1356,9 +1383,16 @@ wTrainerPicPointer:: ; d033 ds 2 ds 1 wd036:: ds 16 ; used as a temporary buffer to print "XXX learned YYY" -wd046:: ds 1 ; used with trainer pointer stuff (not exactly sure, but the label is incremented and loaded with a value, so wd047 is accessed) -wd047:: ds 1 ; used with unloading trainer data? -wd048:: ds 2 ; used as a pointer for missable object loop + +wTrainerBaseMoney:: ; d046 +; 2-byte BCD number +; money received after battle = base money × level of highest-level enemy mon + ds 2 + +wMissableObjectCounter:: ; d048 + ds 1 + + ds 1 W_TRAINERNAME:: ; d04a ; 13 bytes for the letters of the opposing trainer @@ -1367,6 +1401,7 @@ W_TRAINERNAME:: ; d04a ds 13 W_ISINBATTLE:: ; d057 +; lost battle, this is -1 ; no battle, this is 0 ; wild battle, this is 1 ; trainer battle, this is 2 @@ -1513,10 +1548,16 @@ wEscapedFromBattle:: ; non-zero when an item or move that allows escape from battle was used ds 1 -wAmountMoneyWon:: ; wd079 - wd07b -wd079:: ds 1 ; used as a value to print the money won from a battle, as well as a misc. value in seafoam -wd07a:: ds 1 ; same case as above -wd07b:: ds 1 ; used as a buffer to convert the money won from a battle into BCD +wAmountMoneyWon:: ; d079 +; 3-byte BCD number + +wObjectToHide:: ; d079 + ds 1 + +wObjectToShow:: ; d07a + ds 1 + + ds 1 W_ANIMATIONID:: ; d07c ; ID number of the current battle animation @@ -1551,7 +1592,8 @@ W_FBTILECOUNTER:: ; d084 ; counts how many tiles of the current frame block have been drawn ds 1 -wd085:: ds 1 ; used with animating water/flowers +wMovingBGTilesCounter2:: ; d085 + ds 1 W_SUBANIMFRAMEDELAY:: ; d086 ; duration of each frame of the current subanimation in terms of screen refreshes @@ -1816,7 +1858,8 @@ wMoveNum:: ; d0e0 wMovesString:: ; d0e1 ds 56 -wd119:: ds 1 ; written to from W_CURMAPTILESET but never read +wUnusedD119:: ; d119 + ds 1 wWalkBikeSurfStateCopy:: ; d11a ; wWalkBikeSurfState is sometimes copied here, but it doesn't seem to be used for anything @@ -1826,18 +1869,39 @@ wInitListType:: ; d11b ; the type of list for InitList to init ds 1 -wd11c:: ds 1 ; temp storage value for catching pokemon -wd11d:: ds 1 ; used with battle switchout and testing if the enemy mon fainted +wCapturedMonSpecies:: ; d11c +; 0 if no mon was captured + ds 1 + +wFirstMonsNotOutYet:: ; d11d +; Non-zero when the first player mon and enemy mon haven't been sent out yet. +; It prevents the game from asking if the player wants to choose another mon +; when the enemy sends out their first mon and suppresses the "no will to fight" +; message when the game searches for the first non-fainted mon in the party, +; which will be the first mon sent out. + ds 1 + wd11e:: ds 1 ; used as a Pokemon and Item storage value. Also used as an output value for CountSetBits -wd11f:: ds 1 ; used when running from battle and PartyMenuInit + +wForcePlayerToChooseMon:: ; d11f +; When this value is non-zero, the player isn't allowed to exit the party menu +; by pressing B and not choosing a mon. + ds 1 wNumRunAttempts:: ; number of times the player has tried to run from battle ds 1 -wd121:: ds 1 ; used with evolving pokemon -wd122:: ds 2 ; saved ROM bank number for vblank -wIsKeyItem:: ds 1 ; d124 +wEvolutionOccurred:: ; d121 + ds 1 + +wVBlankSavedROMBank:: ; d122 + ds 1 + + ds 1 + +wIsKeyItem:: ; d124 + ds 1 wTextBoxID:: ; d125 ds 1 @@ -2664,9 +2728,13 @@ wCardKeyDoorX:: ; d740 ds 2 -wd743:: ds 1 ; used with surge gym trash cans -wd744:: ds 3 ; also used with surge gym trash cans +wFirstLockTrashCanIndex:: ; d743 + ds 1 + +wSecondLockTrashCanIndex:: ; d743 + ds 1 + ds 2 wEventFlags:: ; d747 ds 320 -- cgit v1.3.1-sl0p From f8a9c37a0019eb085c22c6e3ae53b16ff0cd4f6a Mon Sep 17 00:00:00 2001 From: dannye Date: Wed, 5 Aug 2015 16:20:29 -0500 Subject: Use more lb and other clean up --- engine/HoF_room_pc.asm | 4 +-- engine/battle/battle_transitions.asm | 2 +- engine/battle/core.asm | 58 ++++++++++++++++----------------- engine/battle/draw_hud_pokeball_gfx.asm | 2 +- engine/battle/ghost_marowak_anim.asm | 4 +-- engine/battle/trainer_ai.asm | 2 +- engine/cable_club.asm | 6 ++-- engine/clear_save.asm | 2 +- engine/evolution.asm | 2 +- engine/evos_moves.asm | 2 +- engine/gamefreak.asm | 8 ++--- engine/hall_of_fame.asm | 4 +-- engine/hidden_object_functions17.asm | 2 +- engine/hp_bar.asm | 2 +- engine/in_game_trades.asm | 18 +++++----- engine/intro.asm | 2 +- engine/items/items.asm | 32 +++++++++--------- engine/learn_move.asm | 6 ++-- engine/load_pokedex_tiles.asm | 4 +-- engine/menu/bills_pc.asm | 2 +- engine/menu/diploma.asm | 4 +-- engine/menu/league_pc.asm | 2 +- engine/menu/naming_screen.asm | 18 +++++----- engine/menu/pokedex.asm | 12 +++---- engine/menu/start_sub_menus.asm | 20 ++++++------ engine/menu/status_screen.asm | 16 ++++----- engine/oak_speech.asm | 18 +++++----- engine/oak_speech2.asm | 2 +- engine/overworld/cut.asm | 6 ++-- engine/overworld/emotion_bubbles.asm | 2 +- engine/overworld/healing_machine.asm | 2 +- engine/overworld/ledges.asm | 4 +-- engine/overworld/player_animations.asm | 8 ++--- engine/overworld/pokemart.asm | 6 ++-- engine/overworld/ssanne.asm | 2 +- engine/save.asm | 6 ++-- engine/slot_machine.asm | 2 +- engine/titlescreen.asm | 4 +-- engine/town_map.asm | 18 +++++----- engine/trade.asm | 10 +++--- home.asm | 41 +++++++++++------------ home/copy2.asm | 4 +-- home/overworld.asm | 4 +-- home/text.asm | 4 +-- main.asm | 22 ++++++------- scripts/agatha.asm | 2 +- scripts/bikeshop.asm | 2 +- scripts/billshouse.asm | 2 +- scripts/blueshouse.asm | 2 +- scripts/bruno.asm | 2 +- scripts/celadoncity.asm | 2 +- scripts/celadondiner.asm | 2 +- scripts/celadongamecorner.asm | 8 ++--- scripts/celadongym.asm | 2 +- scripts/celadonmansion5.asm | 2 +- scripts/celadonmart3.asm | 2 +- scripts/celadonmartroof.asm | 6 ++-- scripts/ceruleancity.asm | 2 +- scripts/ceruleangym.asm | 2 +- scripts/cinnabargym.asm | 2 +- scripts/copycatshouse2f.asm | 2 +- scripts/fanclub.asm | 2 +- scripts/fuchsiagym.asm | 2 +- scripts/fuchsiahouse2.asm | 2 +- scripts/fuchsiahouse3.asm | 2 +- scripts/lab3.asm | 2 +- scripts/lance.asm | 4 +-- scripts/lavenderhouse1.asm | 2 +- scripts/lorelei.asm | 2 +- scripts/mansion1.asm | 16 ++++----- scripts/mansion2.asm | 12 +++---- scripts/mtmoon3.asm | 4 +-- scripts/mtmoonpokecenter.asm | 2 +- scripts/museum1f.asm | 2 +- scripts/oakslab.asm | 2 +- scripts/pewtergym.asm | 2 +- scripts/rockethideout1.asm | 2 +- scripts/rockethideout4.asm | 2 +- scripts/route1.asm | 2 +- scripts/route12gateupstairs.asm | 2 +- scripts/route12house.asm | 2 +- scripts/route16house.asm | 2 +- scripts/route24.asm | 2 +- scripts/safarizoneentrance-yellow.asm | 2 +- scripts/safarizonesecrethouse.asm | 2 +- scripts/saffrongym.asm | 2 +- scripts/saffronhouse2.asm | 2 +- scripts/silphco10.asm | 9 ++--- scripts/silphco11.asm | 11 ++++--- scripts/silphco2.asm | 14 ++++---- scripts/silphco3.asm | 12 ++++--- scripts/silphco4.asm | 12 ++++--- scripts/silphco5.asm | 15 +++++---- scripts/silphco6.asm | 10 +++--- scripts/silphco7.asm | 17 ++++++---- scripts/silphco8.asm | 9 ++--- scripts/silphco9.asm | 18 ++++++---- scripts/ssanne7.asm | 2 +- scripts/vermiliongym.asm | 4 +-- scripts/vermilionhouse2.asm | 2 +- scripts/victoryroad1.asm | 2 +- scripts/victoryroad2.asm | 4 +-- scripts/victoryroad3.asm | 2 +- scripts/viridiancity.asm | 2 +- scripts/viridiangym.asm | 2 +- scripts/viridianmart.asm | 2 +- 106 files changed, 346 insertions(+), 326 deletions(-) (limited to 'engine/town_map.asm') diff --git a/engine/HoF_room_pc.asm b/engine/HoF_room_pc.asm index 15ea1524..704fea16 100755 --- a/engine/HoF_room_pc.asm +++ b/engine/HoF_room_pc.asm @@ -164,7 +164,7 @@ FillFourRowsWithBlack: ; 7417b (1d:417b) FillMiddleOfScreenWithWhite: ; 74183 (1d:4183) coord hl, 0, 4 ld bc, SCREEN_WIDTH * 10 - ld a, $7f ; blank white tile + ld a, " " jp FillMemory Credits: ; 7418e (1d:418e) @@ -246,7 +246,7 @@ Credits: ; 7418e (1d:418e) pop de ld de, TheEndGfx ld hl, vChars2 + $600 - ld bc, (BANK(TheEndGfx) << 8) + $0a + lb bc, BANK(TheEndGfx), $0a call CopyVideoData coord hl, 4, 8 ld de, TheEndTextString diff --git a/engine/battle/battle_transitions.asm b/engine/battle/battle_transitions.asm index e64cbabb..e9e247f9 100644 --- a/engine/battle/battle_transitions.asm +++ b/engine/battle/battle_transitions.asm @@ -184,7 +184,7 @@ DungeonMaps2: ; 70a44 (1c:4a44) LoadBattleTransitionTile: ; 70a4d (1c:4a4d) ld hl, vChars1 + $7f0 ld de, BattleTransitionTile - ld bc, (BANK(BattleTransitionTile) << 8) + $01 + lb bc, BANK(BattleTransitionTile), $01 jp CopyVideoData BattleTransitionTile: ; 70a59 (1c:4a59) diff --git a/engine/battle/core.asm b/engine/battle/core.asm index fe7066e2..65549f7b 100755 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -102,7 +102,7 @@ SlidePlayerAndEnemySilhouettesOnScreen: ; 3c04c (f:404c) ld [wTextBoxID], a call DisplayTextBoxID coord hl, 1, 5 - ld bc, $307 + lb bc, 3, 7 call ClearScreenArea call DisableLCD call LoadFontTilePatterns @@ -110,7 +110,7 @@ SlidePlayerAndEnemySilhouettesOnScreen: ; 3c04c (f:404c) ld hl, vBGMap0 ld bc, $400 .clearBackgroundLoop - ld a, $7f + ld a, " " ld [hli], a dec bc ld a, b @@ -717,8 +717,8 @@ HandlePoisonBurnLeechSeed_IncreaseEnemyHP: ; 3c4a3 (f:44a3) ld [wHPBarMaxHP+1], a ld a, [hl] ld [wHPBarMaxHP], a - ld de, $fff2 - add hl, de ; skip back fomr max hp to current hp + ld de, wBattleMonHP - wBattleMonMaxHP + add hl, de ; skip back from max hp to current hp ld a, [hl] ld [wHPBarOldHP], a ; add bc to current HP add c @@ -852,7 +852,7 @@ FaintEnemyPokemon: ; 0x3c567 coord de, 12, 6 call SlideDownFaintedMonPic coord hl, 0, 0 - ld bc, $40b + lb bc, 4, 11 call ClearScreenArea ld a, [W_ISINBATTLE] dec a @@ -1100,7 +1100,7 @@ RemoveFaintedPlayerMon: ; 3c741 (f:4741) ld [wBattleMonStatus], a call ReadPlayerMonCurHPAndStatus coord hl, 9, 7 - ld bc, $50b + lb bc, 5, 11 call ClearScreenArea coord hl, 1, 10 coord de, 1, 11 @@ -1132,7 +1132,7 @@ DoUseNextMonDialogue: ; 3c79b (f:479b) call PrintText .displayYesNoBox coord hl, 13, 9 - ld bc, $a0e + lb bc, 10, 14 ld a, TWO_OPTION_MENU ld [wTextBoxID], a call DisplayTextBoxID @@ -1209,7 +1209,7 @@ HandlePlayerBlackOut: ; 3c837 (f:4837) cp $c8 + SONY1 jr nz, .notSony1Battle coord hl, 0, 0 ; sony 1 battle - ld bc, $815 + lb bc, 8, 21 call ClearScreenArea call ScrollTrainerPicAfterBattle ld c, 40 @@ -1449,7 +1449,7 @@ EnemySendOutFirstMon: ; 3c92a (f:492a) ld hl, TrainerAboutToUseText call PrintText coord hl, 0, 7 - ld bc,$0801 + lb bc, 8, 1 ld a,TWO_OPTION_MENU ld [wTextBoxID],a call DisplayTextBoxID @@ -1484,7 +1484,7 @@ EnemySendOutFirstMon: ; 3c92a (f:492a) .next4 call ClearSprites coord hl, 0, 0 - ld bc,$040B + lb bc, 4, 11 call ClearScreenArea ld b,1 call GoPAL_SET @@ -1886,7 +1886,7 @@ DrawPlayerHUDAndHPBar: ; 3cd60 (f:4d60) xor a ld [H_AUTOBGTRANSFERENABLED], a coord hl, 9, 7 - ld bc, $50b + lb bc, 5, 11 call ClearScreenArea callab PlacePlayerHUDTiles coord hl, 18, 9 @@ -1947,7 +1947,7 @@ DrawEnemyHUDAndHPBar: ; 3cdec (f:4dec) xor a ld [H_AUTOBGTRANSFERENABLED], a coord hl, 0, 0 - ld bc, $40c + lb bc, 4, 12 call ClearScreenArea callab PlaceEnemyHUDTiles ld de, wEnemyMonNick @@ -2055,11 +2055,11 @@ CenterMonName: ; 3ce9c (f:4e9c) .loop inc de ld a, [de] - cp $50 + cp "@" jr z, .done inc de ld a, [de] - cp $50 + cp "@" jr z, .done dec hl dec b @@ -2091,7 +2091,7 @@ DisplayBattleMenu: ; 3ceb3 (f:4eb3) ; the following happens for the old man tutorial ld hl, wPlayerName ld de, W_GRASSRATE - ld bc, $b + ld bc, 11 call CopyData ; temporarily save the player name in unused space, ; which is supposed to get overwritten when entering a ; map with wild Pokémon. Due to an oversight, the data @@ -2099,14 +2099,14 @@ DisplayBattleMenu: ; 3ceb3 (f:4eb3) ; Missingno. glitch can show up. ld hl, .oldManName ld de, wPlayerName - ld bc, $b + ld bc, 11 call CopyData ; the following simulates the keystrokes by drawing menus on screen coord hl, 9, 14 ld [hl], "▶" ld c, 80 call DelayFrames - ld [hl], $7f + ld [hl], " " coord hl, 9, 16 ld [hl], "▶" ld c, 50 @@ -2395,7 +2395,7 @@ PartyMenuOrRockOrRun: .partyMonDeselected coord hl, 11, 11 ld bc, $81 - ld a, $7f + ld a, " " call FillMemory xor a ; NORMAL_PARTY_MENU ld [wPartyMenuTypeOrMessageID], a @@ -2585,7 +2585,7 @@ MoveSelectionMenu: ; 3d219 (f:5219) .relearnmenu ld a, [wWhichPokemon] ld hl, wPartyMon1Moves - ld bc, $2c + ld bc, wPartyMon2 - wPartyMon1 call AddNTimes call .loadmoves coord hl, 4, 7 @@ -2662,7 +2662,7 @@ SelectMenuItem: ; 3d2fe (f:52fe) jr z, .select coord hl, 5, 13 dec a - ld bc, $14 + ld bc, SCREEN_WIDTH call AddNTimes ld [hl], $ec .select @@ -2862,7 +2862,7 @@ SwapMovesInMenu: ; 3d435 (f:5435) push hl call .swapBytes ; swap moves pop hl - ld bc, $15 + ld bc, wPartyMon1PP - wPartyMon1Moves add hl, bc call .swapBytes ; swap move PP xor a @@ -6318,7 +6318,7 @@ LoadEnemyMonData: ; 3eb01 (f:6b01) call GetMonName ld hl, wcd6d ld de, wEnemyMonNick - ld bc, $b + ld bc, 11 call CopyData ld a, [wEnemyMonSpecies2] ld [wd11e], a @@ -6718,11 +6718,11 @@ LoadHudTilePatterns: ; 3ee5b (f:6e5b) .lcdEnabled ld de, BattleHudTiles1 ld hl, vChars2 + $6d0 - ld bc, (BANK(BattleHudTiles1) << 8) + $03 + lb bc, BANK(BattleHudTiles1), $03 call CopyVideoDataDouble ld de, BattleHudTiles2 ld hl, vChars2 + $730 - ld bc, (BANK(BattleHudTiles2) << 8) + $06 + lb bc, BANK(BattleHudTiles2), $06 jp CopyVideoDataDouble PrintEmptyString: ; 3ee94 (f:6e94) @@ -6942,10 +6942,10 @@ InitBattle_Common: ; 3efeb (f:6feb) ld [H_AUTOBGTRANSFERDEST + 1], a call LoadScreenTilesFromBuffer1 coord hl, 9, 7 - ld bc, $50a + lb bc, 5, 10 call ClearScreenArea coord hl, 1, 0 - ld bc, $40a + lb bc, 4, 10 call ClearScreenArea call ClearSprites ld a, [W_ISINBATTLE] @@ -7089,8 +7089,8 @@ LoadMonBackPic: ; 3f103 (f:7103) ld a, [wBattleMonSpecies2] ld [wcf91], a coord hl, 1, 5 - ld b, $7 - ld c, $8 + ld b, 7 + ld c, 8 call ClearScreenArea ld hl, W_MONHBACKSPRITE - W_MONHEADER call UncompressMonSprite @@ -7928,7 +7928,7 @@ FellText: ; 3f683 (f:7683) PrintStatText: ; 3f688 (f:7688) ld hl, StatsTextStrings - ld c, $50 + ld c, "@" .asm_3f68d dec b jr z, .asm_3f696 diff --git a/engine/battle/draw_hud_pokeball_gfx.asm b/engine/battle/draw_hud_pokeball_gfx.asm index 1e229b1c..7198d984 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 - ld bc, (BANK(PokeballTileGraphics) << 8) + $04 + lb bc, BANK(PokeballTileGraphics), $04 jp CopyVideoData SetupOwnPartyPokeballs: ; 3a869 (e:6869) diff --git a/engine/battle/ghost_marowak_anim.asm b/engine/battle/ghost_marowak_anim.asm index 96e65f70..d76f3f41 100644 --- a/engine/battle/ghost_marowak_anim.asm +++ b/engine/battle/ghost_marowak_anim.asm @@ -5,7 +5,7 @@ MarowakAnim: ; 708ca (1c:48ca) 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 coord hl, 12, 0 - ld bc, $707 + lb bc, 7, 7 call ClearScreenArea call Delay3 xor a @@ -59,7 +59,7 @@ CopyMonPicFromBGToSpriteVRAM: ; 7092a (1c:492a) ld a, $70 ld [W_BASECOORDX], a ld hl, wOAMBuffer - ld bc, $606 + lb bc, 6, 6 ld d, $8 .oamLoop push bc diff --git a/engine/battle/trainer_ai.asm b/engine/battle/trainer_ai.asm index fb932035..9102b2d8 100644 --- a/engine/battle/trainer_ai.asm +++ b/engine/battle/trainer_ai.asm @@ -665,7 +665,7 @@ AISwitchIfEnoughMons: ; 3a72a (e:672a) inc d .Fainted push bc - ld bc,$2C + ld bc, wEnemyMon2 - wEnemyMon1 add hl,bc pop bc dec c diff --git a/engine/cable_club.asm b/engine/cable_club.asm index 9ccffdbb..07284d13 100755 --- a/engine/cable_club.asm +++ b/engine/cable_club.asm @@ -96,7 +96,7 @@ CableClub_DoBattleOrTradeAgain: ; 5345 ld a, SERIAL_PATCH_LIST_PART_TERMINATOR ld [de], a ; end of part 1 inc de - ld bc, $100 + lb bc, 1, 0 jr .patchPartyMonsLoop .finishedPatchingPlayerData ld a, SERIAL_PATCH_LIST_PART_TERMINATOR @@ -400,7 +400,7 @@ TradeCenter_SelectMon: ld a, 1 ld [wTopMenuItemX], a coord hl, 1, 1 - ld bc, $0601 + lb bc, 6, 1 call ClearScreenArea .playerMonMenu_HandleInput ld hl, hFlags_0xFFF6 @@ -713,7 +713,7 @@ TradeCenter_Trade: call TextCommandProcessor call SaveScreenTilesToBuffer1 coord hl, 10, 7 - ld bc, $080b + lb bc, 8, 11 ld a, TRADE_CANCEL_MENU ld [wTwoOptionMenuID], a ld a, TWO_OPTION_MENU diff --git a/engine/clear_save.asm b/engine/clear_save.asm index 2febb123..d4f05071 100755 --- a/engine/clear_save.asm +++ b/engine/clear_save.asm @@ -6,7 +6,7 @@ DoClearSaveDialogue: ; 1c98a (7:498a) ld hl, ClearSaveDataText call PrintText coord hl, 14, 7 - ld bc, $80f + lb bc, 8, 15 ld a, NO_YES_MENU ld [wTwoOptionMenuID], a ld a, TWO_OPTION_MENU diff --git a/engine/evolution.asm b/engine/evolution.asm index a39f5a97..720e77cd 100755 --- a/engine/evolution.asm +++ b/engine/evolution.asm @@ -48,7 +48,7 @@ EvolveMon: ; 7bde9 (1e:7de9) call DelayFrames ld c, $1 call EvolutionSetWholeScreenPalette - ld bc, $110 + lb bc, $1, $10 .animLoop push bc call Evolution_CheckForCancel diff --git a/engine/evos_moves.asm b/engine/evos_moves.asm index 137b75e0..16e893e5 100755 --- a/engine/evos_moves.asm +++ b/engine/evos_moves.asm @@ -278,7 +278,7 @@ RenameEvolvedMon: ; 3aef7 (e:6ef7) cp $50 jr nz, .compareNamesLoop ld a, [wWhichPokemon] - ld bc, $b + ld bc, 11 ld hl, wPartyMonNicks call AddNTimes push hl diff --git a/engine/gamefreak.asm b/engine/gamefreak.asm index 49c938f7..73e4f074 100755 --- a/engine/gamefreak.asm +++ b/engine/gamefreak.asm @@ -5,15 +5,15 @@ LoadShootingStarGraphics: ; 70000 (1c:4000) ld [rOBP1], a ld de, AnimationTileset2 + $30 ; star tile (top left quadrant) ld hl, vChars1 + $200 - ld bc, (BANK(AnimationTileset2) << 8) + $01 + lb bc, BANK(AnimationTileset2), $01 call CopyVideoData ld de, AnimationTileset2 + $130 ; star tile (bottom left quadrant) ld hl, vChars1 + $210 - ld bc, (BANK(AnimationTileset2) << 8) + $01 + lb bc, BANK(AnimationTileset2), $01 call CopyVideoData ld de, FallingStar ld hl, vChars1 + $220 - ld bc, (BANK(FallingStar) << 8) + $01 + lb bc, BANK(FallingStar), $01 call CopyVideoData ld hl, GameFreakLogoOAMData ld de, wOAMBuffer + $60 @@ -31,7 +31,7 @@ AnimateShootingStar: ; 70044 (1c:4044) ; Move the big star down and left across the screen. ld hl, wOAMBuffer - ld bc, $a004 + lb bc, $a0, $4 .bigStarLoop push hl push bc diff --git a/engine/hall_of_fame.asm b/engine/hall_of_fame.asm index 28f03bf5..ce1430e3 100755 --- a/engine/hall_of_fame.asm +++ b/engine/hall_of_fame.asm @@ -8,7 +8,7 @@ AnimateHallOfFame: ; 701a0 (1c:41a0) call DisableLCD ld hl,vBGMap0 ld bc, $800 - ld a, $7f + ld a, " " call FillMemory call EnableLCD ld hl, rLCDC @@ -187,7 +187,7 @@ HoFLoadPlayerPics: ; 7033e (1c:433e) ld a, BANK(RedPicFront) call UncompressSpriteFromDE ld hl, S_SPRITEBUFFER1 - ld de, $a000 + ld de, S_SPRITEBUFFER0 ld bc, $310 call CopyData ld de, vFrontPic diff --git a/engine/hidden_object_functions17.asm b/engine/hidden_object_functions17.asm index aad8c468..a2167b54 100755 --- a/engine/hidden_object_functions17.asm +++ b/engine/hidden_object_functions17.asm @@ -194,7 +194,7 @@ ViridianSchoolBlackboard: ; 5dced (17:5ced) ld hl, wd730 set 6, [hl] coord hl, 0, 0 - ld bc, $060a + lb bc, 6, 10 call TextBoxBorder coord hl, 1, 2 ld de, StatusAilmentText1 diff --git a/engine/hp_bar.asm b/engine/hp_bar.asm index 112e65a3..792661ab 100755 --- a/engine/hp_bar.asm +++ b/engine/hp_bar.asm @@ -222,7 +222,7 @@ UpdateHPBar_PrintHPNumber: ; faf5 (3:7af5) .next add hl, de push hl - ld a, $7f + ld a, " " ld [hli], a ld [hli], a ld [hli], a diff --git a/engine/in_game_trades.asm b/engine/in_game_trades.asm index 96c37ab0..b4a73e59 100755 --- a/engine/in_game_trades.asm +++ b/engine/in_game_trades.asm @@ -17,7 +17,7 @@ DoInGameTradeDialogue: ; 71ad9 (1c:5ad9) ld a,[hli] push af ld de,wInGameTradeMonNick - ld bc,$000b + ld bc, 11 call CopyData pop af ld l,a @@ -81,7 +81,7 @@ InGameTrade_GetMonName: ; 71b6a (1c:5b6a) call GetMonName ld hl,wcd6d pop de - ld bc,$b + ld bc, 11 jp CopyData INCLUDE "data/trades.asm" @@ -105,7 +105,7 @@ InGameTrade_DoTrade: ; 71c07 (1c:5c07) jr nz,.tradeFailed ; jump if the selected mon's species is not the required one ld a,[wWhichPokemon] ld hl,wPartyMon1Level - ld bc,$002c + ld bc, wPartyMon2 - wPartyMon1 call AddNTimes ld a,[hl] ld [W_CURENEMYLVL],a @@ -168,11 +168,11 @@ InGameTrade_PrepareTradeData: ; 71cc1 (1c:5cc1) ld a, [wInGameTradeReceiveMonSpecies] ld [hl], a ; wTradedEnemyMonSpecies ld hl, wPartyMonOT - ld bc, $b + ld bc, 11 ld a, [wWhichPokemon] call AddNTimes ld de, wTradedPlayerMonOT - ld bc, $b + ld bc, 11 call InGameTrade_CopyData ld hl, InGameTrade_TrainerString ld de, wTradedEnemyMonOT @@ -201,16 +201,16 @@ InGameTrade_CopyData: ; 71d11 (1c:5d11) InGameTrade_CopyDataToReceivedMon: ; 71d19 (1c:5d19) ld hl, wPartyMonNicks - ld bc, $b + ld bc, 11 call InGameTrade_GetReceivedMonPointer ld hl, wInGameTradeMonNick - ld bc, $b + ld bc, 11 call CopyData ld hl, wPartyMonOT - ld bc, $b + ld bc, 11 call InGameTrade_GetReceivedMonPointer ld hl, InGameTrade_TrainerString - ld bc, $b + ld bc, 11 call CopyData ld hl, wPartyMon1OTID ld bc, wPartyMon2 - wPartyMon1 diff --git a/engine/intro.asm b/engine/intro.asm index c7c4a04d..154c41fd 100755 --- a/engine/intro.asm +++ b/engine/intro.asm @@ -28,7 +28,7 @@ PlayIntroScene: ; 4169d (10:569d) ld [W_BASECOORDX], a ld a, 80 ld [W_BASECOORDY], a - ld bc, $606 + lb bc, 6, 6 call InitIntroNidorinoOAM ld de, $28ff ; move Nidorino right by 80 pixels call IntroMoveMon diff --git a/engine/items/items.asm b/engine/items/items.asm index 2cbe6a02..364570da 100755 --- a/engine/items/items.asm +++ b/engine/items/items.asm @@ -734,22 +734,22 @@ ItemUseMedicine: ; dabb (3:5abb) ld bc,4 add hl,bc ; hl now points to status ld a,[wcf91] - ld bc, (ANTIDOTE_MSG << 8) | (1 << PSN) + lb bc, ANTIDOTE_MSG, 1 << PSN cp a,ANTIDOTE jr z,.checkMonStatus - ld bc, (BURN_HEAL_MSG << 8) | (1 << BRN) + lb bc, BURN_HEAL_MSG, 1 << BRN cp a,BURN_HEAL jr z,.checkMonStatus - ld bc, (ICE_HEAL_MSG << 8) | (1 << FRZ) + lb bc, ICE_HEAL_MSG, 1 << FRZ cp a,ICE_HEAL jr z,.checkMonStatus - ld bc, (AWAKENING_MSG << 8) | SLP + lb bc, AWAKENING_MSG, SLP cp a,AWAKENING jr z,.checkMonStatus - ld bc, (PARALYZ_HEAL_MSG << 8) | (1 << PAR) + lb bc, PARALYZ_HEAL_MSG, 1 << PAR cp a,PARLYZ_HEAL jr z,.checkMonStatus - ld bc, (FULL_HEAL_MSG << 8) | $ff ; Full Heal + lb bc, FULL_HEAL_MSG, $ff ; Full Heal .checkMonStatus ld a,[hl] ; pokemon's status and c ; does the pokemon have a status ailment the item can cure? @@ -1737,7 +1737,7 @@ CoinCaseNumCoinsText: ; e247 (3:6247) ItemUseOldRod: ; e24c (3:624c) call FishingInit jp c, ItemUseNotTime - ld bc, (5 << 8) | MAGIKARP + lb bc, 5, MAGIKARP ld a, $1 ; set bite jr RodResponse @@ -2088,7 +2088,7 @@ ItemUseTMHM: ; e479 (3:6479) ld hl,TeachMachineMoveText call PrintText coord hl, 14, 7 - ld bc,$080f + lb bc, 8, 15 ld a,TWO_OPTION_MENU ld [wTextBoxID],a call DisplayTextBoxID ; yes/no menu @@ -2479,7 +2479,7 @@ TossItem_: ; e6f1 (3:66f1) ld hl,IsItOKToTossItemText call PrintText coord hl, 14, 7 - ld bc,$080f + lb bc, 8, 15 ld a,TWO_OPTION_MENU ld [wTextBoxID],a call DisplayTextBoxID ; yes/no menu @@ -2578,14 +2578,14 @@ SendNewMonToBox: ; e7a4 (3:67a4) jr nz, .asm_e7b1 call GetMonHeader ld hl, wBoxMonOT - ld bc, $b + ld bc, 11 ld a, [W_NUMINBOX] dec a jr z, .asm_e7ee dec a call AddNTimes push hl - ld bc, $b + ld bc, 11 add hl, bc ld d, h ld e, l @@ -2596,7 +2596,7 @@ SendNewMonToBox: ; e7a4 (3:67a4) .asm_e7db push bc push hl - ld bc, $b + ld bc, 11 call CopyData pop hl ld d, h @@ -2609,17 +2609,17 @@ SendNewMonToBox: ; e7a4 (3:67a4) .asm_e7ee ld hl, wPlayerName ld de, wBoxMonOT - ld bc, $b + ld bc, 11 call CopyData ld a, [W_NUMINBOX] dec a jr z, .asm_e82a ld hl, wBoxMonNicks - ld bc, $b + ld bc, 11 dec a call AddNTimes push hl - ld bc, $b + ld bc, 11 add hl, bc ld d, h ld e, l @@ -2630,7 +2630,7 @@ SendNewMonToBox: ; e7a4 (3:67a4) .asm_e817 push bc push hl - ld bc, $b + ld bc, 11 call CopyData pop hl ld d, h diff --git a/engine/learn_move.asm b/engine/learn_move.asm index 66d27a40..88dedd3d 100755 --- a/engine/learn_move.asm +++ b/engine/learn_move.asm @@ -5,7 +5,7 @@ LearnMove: ; 6e43 (1:6e43) call GetPartyMonName ld hl, wcd6d ld de, wd036 - ld bc, $b + ld bc, 11 call CopyData DontAbandonLearning: ; 6e5b (1:6e5b) @@ -77,7 +77,7 @@ AbandonLearning: ; 6eda (1:6eda) ld hl, AbandonLearningText call PrintText coord hl, 14, 7 - ld bc, $80f + lb bc, 8, 15 ld a, TWO_OPTION_MENU ld [wTextBoxID], a call DisplayTextBoxID ; yes/no menu @@ -100,7 +100,7 @@ TryingToLearn: ; 6f07 (1:6f07) ld hl, TryingToLearnText call PrintText coord hl, 14, 7 - ld bc, $80f + lb bc, 8, 15 ld a, TWO_OPTION_MENU ld [wTextBoxID], a call DisplayTextBoxID ; yes/no menu diff --git a/engine/load_pokedex_tiles.asm b/engine/load_pokedex_tiles.asm index 5c1f1c93..f4e45247 100755 --- a/engine/load_pokedex_tiles.asm +++ b/engine/load_pokedex_tiles.asm @@ -3,9 +3,9 @@ LoadPokedexTilePatterns: ; 17840 (5:7840) call LoadHpBarAndStatusTilePatterns ld de,PokedexTileGraphics ld hl,vChars2 + $600 - ld bc,(BANK(PokedexTileGraphics) << 8) + $12 + lb bc, BANK(PokedexTileGraphics), $12 call CopyVideoData ld de,PokeballTileGraphics ld hl,vChars2 + $720 - ld bc,(BANK(PokeballTileGraphics) << 8) + $01 + lb bc, BANK(PokeballTileGraphics), $01 jp CopyVideoData ; load pokeball tile for marking caught mons diff --git a/engine/menu/bills_pc.asm b/engine/menu/bills_pc.asm index a810afd2..072a19d3 100644 --- a/engine/menu/bills_pc.asm +++ b/engine/menu/bills_pc.asm @@ -116,7 +116,7 @@ BillsPCMenu: ; 214e8 (8:54e8) ld [wCurrentMenuItem], a ld hl, vChars2 + $780 ld de, PokeballTileGraphics - ld bc, (BANK(PokeballTileGraphics) << 8) + $01 + lb bc, BANK(PokeballTileGraphics), $01 call CopyVideoData call LoadScreenTilesFromBuffer2DisableBGTransfer coord hl, 0, 0 diff --git a/engine/menu/diploma.asm b/engine/menu/diploma.asm index 56373dd3..3e28bc93 100755 --- a/engine/menu/diploma.asm +++ b/engine/menu/diploma.asm @@ -13,7 +13,7 @@ DisplayDiploma: ; 566e2 (15:66e2) ld a, BANK(CircleTile) call FarCopyData2 coord hl, 0, 0 - ld bc, $1012 + lb bc, 16, 18 predef Diploma_TextBoxBorder ld hl, DiplomaTextPointersAndCoords ld c, $5 @@ -41,7 +41,7 @@ DisplayDiploma: ; 566e2 (15:66e2) ; Move the player 33 pixels right and set the priority bit so he appears ; behind the background layer. ld hl, wOAMBuffer + $01 - ld bc, $8028 + lb bc, $80, $28 .adjustPlayerGfxLoop ld a, [hl] ; X add 33 diff --git a/engine/menu/league_pc.asm b/engine/menu/league_pc.asm index b4c7f774..21c3f9e7 100755 --- a/engine/menu/league_pc.asm +++ b/engine/menu/league_pc.asm @@ -90,7 +90,7 @@ LeaguePCShowMon: ; 76610 (1d:6610) ld a, [hli] ld [wHoFMonLevel], a ld de, wcd6d - ld bc, $000B + ld bc, 11 call CopyData ld b, $0B ld c, 0 diff --git a/engine/menu/naming_screen.asm b/engine/menu/naming_screen.asm index 20745c58..967f11e8 100755 --- a/engine/menu/naming_screen.asm +++ b/engine/menu/naming_screen.asm @@ -5,8 +5,8 @@ AskName: ; 64eb (1:64eb) ld a, [W_ISINBATTLE] dec a coord hl, 0, 0 - ld b, $4 - ld c, $b + ld b, 4 + ld c, 11 call z, ClearScreenArea ; only if in wild batle ld a, [wcf91] ld [wd11e], a @@ -14,7 +14,7 @@ AskName: ; 64eb (1:64eb) ld hl, DoYouWantToNicknameText call PrintText coord hl, 14, 7 - ld bc, $80f + lb bc, 8, 15 ld a, TWO_OPTION_MENU ld [wTextBoxID], a call DisplayTextBoxID @@ -64,10 +64,10 @@ DisplayNameRaterScreen: ; 655c (1:655c) call RestoreScreenTilesAndReloadTilePatterns call LoadGBPal ld a, [wcf4b] - cp $50 + cp "@" jr z, .playerCancelled ld hl, wPartyMonNicks - ld bc, $b + ld bc, 11 ld a, [wWhichPokemon] call AddNTimes ld e, l @@ -269,7 +269,7 @@ DisplayNamingScreen: ; 6596 (1:6596) ret z call CalcStringLength dec hl - ld [hl], $50 + ld [hl], "@" ret .pressedRight ld a, [wCurrentMenuItem] @@ -342,7 +342,7 @@ PrintAlphabet: ; 676f (1:676f) ld de, UpperCaseAlphabet .lowercase coord hl, 2, 5 - ld bc, $509 ; 5 rows, 9 columns + lb bc, 5, 9 ; 5 rows, 9 columns .outerLoop push bc .innerLoop @@ -373,7 +373,7 @@ PrintNicknameAndUnderscores: ; 680e (1:680e) ld a, c ld [wNamingScreenNameLength], a coord hl, 10, 2 - ld bc, $10a + lb bc, 1, 10 call ClearScreenArea coord hl, 10, 2 ld de, wcf4b @@ -458,7 +458,7 @@ CalcStringLength: ; 68eb (1:68eb) ld c, $0 .loop ld a, [hl] - cp $50 + cp "@" ret z inc hl inc c diff --git a/engine/menu/pokedex.asm b/engine/menu/pokedex.asm index 4b350379..ead2c359 100755 --- a/engine/menu/pokedex.asm +++ b/engine/menu/pokedex.asm @@ -120,7 +120,7 @@ HandlePokedexSideMenu: ; 4006d (10:406d) push bc coord hl, 0, 3 ld de,20 - ld bc,$7f0d ; 13 blank tiles + lb bc, " ", 13 call DrawTileLine ; cover up the menu cursor in the pokemon list pop bc ret @@ -128,7 +128,7 @@ HandlePokedexSideMenu: ; 4006d (10:406d) push bc coord hl, 15, 10 ld de,20 - ld bc,$7f07 ; 7 blank tiles + lb bc, " ", 7 call DrawTileLine ; cover up the menu cursor in the side menu pop bc jr .exitSideMenu @@ -212,7 +212,7 @@ HandlePokedexListMenu: ; 40111 (10:4111) xor a ld [H_AUTOBGTRANSFERENABLED],a coord hl, 4, 2 - ld bc,$0e0a + lb bc, 14, 10 call ClearScreenArea coord hl, 1, 3 ld a,[wListScrollOffset] @@ -413,14 +413,14 @@ ShowPokedexDataInternal: ; 402e2 (10:42e2) ld [hTilesetType],a coord hl, 0, 0 ld de,1 - ld bc,$6414 + lb bc, $64, SCREEN_WIDTH call DrawTileLine ; draw top border coord hl, 0, 17 - ld b,$6f + ld b, $6f call DrawTileLine ; draw bottom border coord hl, 0, 1 ld de,20 - ld bc,$6610 + lb bc, $66, $10 call DrawTileLine ; draw left border coord hl, 19, 1 ld b,$67 diff --git a/engine/menu/start_sub_menus.asm b/engine/menu/start_sub_menus.asm index 683930d1..f061fbf6 100755 --- a/engine/menu/start_sub_menus.asm +++ b/engine/menu/start_sub_menus.asm @@ -34,7 +34,7 @@ StartMenu_Pokemon: ; 130a9 (4:70a9) ld [wTextBoxID],a call DisplayTextBoxID ; display pokemon menu options ld hl,wFieldMoves - ld bc,$020c ; max menu item ID, top menu item Y + lb bc, $02, $0c ; max menu item ID, top menu item Y ld e,5 .adjustMenuVariablesLoop dec e @@ -523,7 +523,7 @@ StartMenu_TrainerInfo: ; 13460 (4:7460) ; loads tile patterns and draws everything except for gym leader faces / badges DrawTrainerInfo: ; 1349a (4:749a) ld de,RedPicFront - ld bc,(BANK(RedPicFront) << 8) | $01 + lb bc, BANK(RedPicFront), $01 predef DisplayPicCenteredOrUpperRight call DisableLCD coord hl, 0, 2 @@ -632,7 +632,7 @@ TrainerInfo_BadgesText: ; 13597 (4:7597) ; [wTrainerInfoTextBoxNextRowOffset] = distance from the end of a text box row to the start of the next TrainerInfo_DrawTextBox: ; 135a0 (4:75a0) ld a,$79 ; upper left corner tile ID - ld de,$7a7b ; top edge and upper right corner tile ID's + lb de, $7a, $7b ; top edge and upper right corner tile ID's call TrainerInfo_DrawHorizontalEdge ; draw top edge call TrainerInfo_NextTextBoxRow ld a,[wTrainerInfoTextBoxWidthPlus1] @@ -647,7 +647,7 @@ TrainerInfo_DrawTextBox: ; 135a0 (4:75a0) dec c jr nz,.loop ld a,$7d ; lower left corner tile ID - ld de,$777e ; bottom edge and lower right corner tile ID's + lb de,$77, $7e ; bottom edge and lower right corner tile ID's TrainerInfo_DrawHorizontalEdge: ; 135c3 (4:75c3) ld [hli],a ; place left corner tile @@ -813,36 +813,36 @@ SwitchPartyMon_InitVarOrSwapData: ; 13653 (4:7653) call SkipFixedLengthTextEntries push hl ld de, wSwitchPartyMonTempBuffer - ld bc, $b + ld bc, 11 call CopyData ld hl, wPartyMonOT ld a, [wMenuItemToSwap] call SkipFixedLengthTextEntries pop de push hl - ld bc, $b + ld bc, 11 call CopyData pop de ld hl, wSwitchPartyMonTempBuffer - ld bc, $b + ld bc, 11 call CopyData ld hl, wPartyMonNicks ld a, [wCurrentMenuItem] call SkipFixedLengthTextEntries push hl ld de, wSwitchPartyMonTempBuffer - ld bc, $b + ld bc, 11 call CopyData ld hl, wPartyMonNicks ld a, [wMenuItemToSwap] call SkipFixedLengthTextEntries pop de push hl - ld bc, $b + ld bc, 11 call CopyData pop de ld hl, wSwitchPartyMonTempBuffer - ld bc, $b + ld bc, 11 call CopyData ld a, [wMenuItemToSwap] ld [wSwappedMenuItem], a diff --git a/engine/menu/status_screen.asm b/engine/menu/status_screen.asm index c6550217..d8a504bb 100755 --- a/engine/menu/status_screen.asm +++ b/engine/menu/status_screen.asm @@ -87,34 +87,34 @@ StatusScreen: ; 12953 (4:6953) call LoadHpBarAndStatusTilePatterns ld de, BattleHudTiles1 ; source ld hl, vChars2 + $6d0 ; dest - ld bc, (BANK(BattleHudTiles1) << 8) + $03 ; bank bytes/8 + lb bc, BANK(BattleHudTiles1), $03 call CopyVideoDataDouble ; ·│ :L and halfarrow line end ld de, BattleHudTiles2 ld hl, vChars2 + $780 - ld bc, (BANK(BattleHudTiles2) << 8) + $01 + lb bc, BANK(BattleHudTiles2), $01 call CopyVideoDataDouble ; │ ld de, BattleHudTiles3 ld hl, vChars2 + $760 - ld bc, (BANK(BattleHudTiles3) << 8) + $02 + lb bc, BANK(BattleHudTiles3), $02 call CopyVideoDataDouble ; ─┘ ld de, PTile ld hl, vChars2 + $720 - ld bc,(BANK(PTile) << 8 | $01) + lb bc, BANK(PTile), $01 call CopyVideoDataDouble ; P (for PP), inline ld a, [hTilesetType] push af xor a ld [hTilesetType], a coord hl, 19, 1 - ld bc, $060a + lb bc, 6, 10 call DrawLineBox ; Draws the box around name, HP and status - ld de, $fffa + ld de, -6 add hl, de ld [hl], $f2 ; . after No ("." is a different one) dec hl ld [hl], "№" coord hl, 19, 9 - ld bc, $0806 + lb bc, 8, 6 call DrawLineBox ; Draws the box around types, ID No. and OT coord hl, 10, 9 ld de, Type1Text @@ -224,7 +224,7 @@ OKText: ; 12ac4 (4:6ac4) ; Draws a line starting from hl high b and wide c DrawLineBox: ; 0x12ac7 - ld de, $0014 ; New line + ld de, SCREEN_WIDTH ; New line .PrintVerticalLine ld [hl], $78 ; │ add hl, de diff --git a/engine/oak_speech.asm b/engine/oak_speech.asm index 5b6c29e1..98499d7f 100755 --- a/engine/oak_speech.asm +++ b/engine/oak_speech.asm @@ -24,11 +24,11 @@ SetDefaultNames: ; 60ca (1:60ca) call z, InitOptions ld hl, NintenText ld de, wPlayerName - ld bc, $b + ld bc, 11 call CopyData ld hl, SonyText ld de, W_RIVALNAME - ld bc, $b + ld bc, 11 jp CopyData OakSpeech: ; 6115 (1:6115) @@ -57,7 +57,7 @@ OakSpeech: ; 6115 (1:6115) bit 1,a ; possibly a debug mode bit jp nz,.skipChoosingNames ld de,ProfOakPic - ld bc, (Bank(ProfOakPic) << 8) | $00 + lb bc, Bank(ProfOakPic), $00 call IntroDisplayPicCenteredOrUpperRight call FadeInIntroPic ld hl,OakSpeechText1 @@ -76,7 +76,7 @@ OakSpeech: ; 6115 (1:6115) call GBFadeOutToWhite call ClearScreen ld de,RedPicFront - ld bc,(Bank(RedPicFront) << 8) | $00 + lb bc, Bank(RedPicFront), $00 call IntroDisplayPicCenteredOrUpperRight call MovePicLeft ld hl,IntroducePlayerText @@ -85,7 +85,7 @@ OakSpeech: ; 6115 (1:6115) call GBFadeOutToWhite call ClearScreen ld de,Rival1Pic - ld bc,(Bank(Rival1Pic) << 8) | $00 + lb bc, Bank(Rival1Pic), $00 call IntroDisplayPicCenteredOrUpperRight call FadeInIntroPic ld hl,IntroduceRivalText @@ -95,7 +95,7 @@ OakSpeech: ; 6115 (1:6115) call GBFadeOutToWhite call ClearScreen ld de,RedPicFront - ld bc,(Bank(RedPicFront) << 8) | $00 + lb bc, Bank(RedPicFront), $00 call IntroDisplayPicCenteredOrUpperRight call GBFadeInFromWhite ld a,[wd72d] @@ -115,15 +115,15 @@ OakSpeech: ; 6115 (1:6115) call DelayFrames ld de,RedSprite ld hl,vSprites - ld bc,(BANK(RedSprite) << 8) | $0C + lb bc, BANK(RedSprite), $0C call CopyVideoData ld de,ShrinkPic1 - ld bc,(BANK(ShrinkPic1) << 8) | $00 + lb bc, BANK(ShrinkPic1), $00 call IntroDisplayPicCenteredOrUpperRight ld c,4 call DelayFrames ld de,ShrinkPic2 - ld bc,(BANK(ShrinkPic2) << 8) | $00 + lb bc, BANK(ShrinkPic2), $00 call IntroDisplayPicCenteredOrUpperRight call ResetPlayerSpriteData ld a,[H_LOADEDROMBANK] diff --git a/engine/oak_speech2.asm b/engine/oak_speech2.asm index bdc4d38f..50e3708c 100755 --- a/engine/oak_speech2.asm +++ b/engine/oak_speech2.asm @@ -73,7 +73,7 @@ OakSpeechSlidePicLeft: ; 69ec (1:69ec) call DelayFrames pop de ld hl, wcd6d - ld bc, $b + ld bc, 11 call CopyData call Delay3 coord hl, 12, 4 diff --git a/engine/overworld/cut.asm b/engine/overworld/cut.asm index 2056bbb0..30aedbc1 100755 --- a/engine/overworld/cut.asm +++ b/engine/overworld/cut.asm @@ -82,11 +82,11 @@ InitCutAnimOAM: ; eff7 (3:6ff7) ; tree ld de, Overworld_GFX + $2d0 ; cuttable tree sprite top row ld hl, vChars1 + $7c0 - ld bc, (BANK(Overworld_GFX) << 8) + $02 + lb bc, BANK(Overworld_GFX), $02 call CopyVideoData ld de, Overworld_GFX + $3d0 ; cuttable tree sprite bottom row ld hl, vChars1 + $7e0 - ld bc, (BANK(Overworld_GFX) << 8) + $02 + lb bc, BANK(Overworld_GFX), $02 call CopyVideoData jr WriteCutOrBoulderDustAnimationOAMBlock .grass @@ -113,7 +113,7 @@ InitCutAnimOAM: ; eff7 (3:6ff7) LoadCutGrassAnimationTilePattern: ; f04c (3:704c) ld de, AnimationTileset2 + $60 ; tile depicting a leaf - ld bc, (BANK(AnimationTileset2) << 8) + $01 + lb bc, BANK(AnimationTileset2), $01 jp CopyVideoData WriteCutOrBoulderDustAnimationOAMBlock: ; f055 (3:7055) diff --git a/engine/overworld/emotion_bubbles.asm b/engine/overworld/emotion_bubbles.asm index 22dfb24f..ebd441aa 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 - ld bc, (BANK(EmotionBubblesPointerTable) << 8) + $04 + lb bc, BANK(EmotionBubblesPointerTable), $04 call CopyVideoData ld a, [wUpdateSpritesEnabled] push af diff --git a/engine/overworld/healing_machine.asm b/engine/overworld/healing_machine.asm index b123f33f..d3513b0d 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 - ld bc, (BANK(PokeCenterFlashingMonitorAndHealBall) << 8) + $03 + lb bc, BANK(PokeCenterFlashingMonitorAndHealBall), $03 call CopyVideoData ld hl, wUpdateSpritesEnabled ld a, [hl] diff --git a/engine/overworld/ledges.asm b/engine/overworld/ledges.asm index 51819802..5a3bfbe0 100755 --- a/engine/overworld/ledges.asm +++ b/engine/overworld/ledges.asm @@ -69,10 +69,10 @@ LedgeTiles: ; 1a6cf (6:66cf) LoadHoppingShadowOAM: ; 1a6f0 (6:66f0) ld hl, vChars1 + $7f0 ld de, LedgeHoppingShadow - ld bc, (BANK(LedgeHoppingShadow) << 8) + $01 + lb bc, BANK(LedgeHoppingShadow), $01 call CopyVideoDataDouble ld a, $9 - ld bc, $5448 ; b, c = y, x coordinates of shadow + lb bc, $54, $48 ; b, c = y, x coordinates of shadow ld de, LedgeHoppingShadowOAM call WriteOAMBlock ret diff --git a/engine/overworld/player_animations.asm b/engine/overworld/player_animations.asm index 1a3d374f..74762b00 100755 --- a/engine/overworld/player_animations.asm +++ b/engine/overworld/player_animations.asm @@ -47,7 +47,7 @@ EnterMapAnim: ; 70510 (1c:4510) pop hl ld de, BirdSprite ld hl, vNPCSprites - ld bc, (BANK(BirdSprite) << 8) + $0c + lb bc, BANK(BirdSprite), $0c call CopyVideoData call LoadBirdSpriteGraphics ld a, SFX_FLY @@ -250,11 +250,11 @@ DoFlyAnimation: ; 706ae (1c:46ae) LoadBirdSpriteGraphics: ; 706d7 (1c:46d7) ld de, BirdSprite ld hl, vNPCSprites - ld bc, (BANK(BirdSprite) << 8) + $0c + lb bc, BANK(BirdSprite), $0c call CopyVideoData ld de, BirdSprite + $c0 ; moving animation sprite ld hl, vNPCSprites2 - ld bc, (BANK(BirdSprite) << 8) + $0c + lb bc, BANK(BirdSprite), $0c jp CopyVideoData InitFacingDirectionList: ; 706ef (1c:46ef) @@ -388,7 +388,7 @@ FishingAnim: ; 707b6 (1c:47b6) set 6, [hl] ; reserve the last 4 OAM entries ld de, RedSprite ld hl, vNPCSprites - ld bc, (BANK(RedSprite) << 8) + $0c + lb bc, BANK(RedSprite), $0c call CopyVideoData ld a, $4 ld hl, RedFishingTiles diff --git a/engine/overworld/pokemart.asm b/engine/overworld/pokemart.asm index d59b2dc7..ae96c4a9 100755 --- a/engine/overworld/pokemart.asm +++ b/engine/overworld/pokemart.asm @@ -82,10 +82,10 @@ DisplayPokemartDialogue_: ; 6c20 (1:6c20) inc a jr z,.sellMenuLoop ; if the player closed the choose quantity menu with the B button ld hl,PokemartTellSellPriceText - ld bc,$0e01 + lb bc, 14, 1 ; location that PrintText always prints to, this is useless call PrintText coord hl, 14, 7 - ld bc,$080f + lb bc, 08, 15 ld a,TWO_OPTION_MENU ld [wTextBoxID],a call DisplayTextBoxID ; yes/no menu @@ -163,7 +163,7 @@ DisplayPokemartDialogue_: ; 6c20 (1:6c20) ld hl,PokemartTellBuyPriceText call PrintText coord hl, 14, 7 - ld bc,$080f + lb bc, 8, 15 ld a,TWO_OPTION_MENU ld [wTextBoxID],a call DisplayTextBoxID ; yes/no menu diff --git a/engine/overworld/ssanne.asm b/engine/overworld/ssanne.asm index 8c5485e2..1dccd026 100755 --- a/engine/overworld/ssanne.asm +++ b/engine/overworld/ssanne.asm @@ -85,7 +85,7 @@ LoadSmokeTileFourTimes: ; 79fc0 (1e:5fc0) LoadSmokeTile: ; 79fd4 (1e:5fd4) ld de, SSAnneSmokePuffTile - ld bc, (BANK(SSAnneSmokePuffTile) << 8) + $01 + lb bc, BANK(SSAnneSmokePuffTile), $01 jp CopyVideoData SSAnneSmokePuffTile: ; 79fdd (1e:5fdd) diff --git a/engine/save.asm b/engine/save.asm index 70295044..dfc50616 100755 --- a/engine/save.asm +++ b/engine/save.asm @@ -155,8 +155,8 @@ SaveSAV: ; 7370a (1c:770a) .save call SaveSAVtoSRAM coord hl, 1, 13 - ld bc,$0412 - call ClearScreenArea ; clear area 4x12 starting at 13,1 + lb bc, 4, 18 + call ClearScreenArea coord hl, 1, 14 ld de,NowSavingString call PlaceString @@ -176,7 +176,7 @@ NowSavingString: SaveSAVConfirm: ; 73768 (1c:7768) call PrintText coord hl, 0, 7 - ld bc,$0801 + lb bc, 8, 1 ld a,TWO_OPTION_MENU ld [wTextBoxID],a call DisplayTextBoxID ; yes/no menu diff --git a/engine/slot_machine.asm b/engine/slot_machine.asm index 3345a9dc..3b392dde 100755 --- a/engine/slot_machine.asm +++ b/engine/slot_machine.asm @@ -134,7 +134,7 @@ MainSlotMachineLoop: ; 37395 (d:7395) ld hl, OneMoreGoSlotMachineText call PrintText coord hl, 14, 12 - ld bc, $0d0f + lb bc, 13, 15 xor a ; YES_NO_MENU ld [wTwoOptionMenuID], a ld a, TWO_OPTION_MENU diff --git a/engine/titlescreen.asm b/engine/titlescreen.asm index 84c0cdf7..df47275b 100755 --- a/engine/titlescreen.asm +++ b/engine/titlescreen.asm @@ -1,6 +1,6 @@ ; copy text of fixed length $b (like player name, rival name, mon names, ...) CopyFixedLengthText: ; 42b1 (1:42b1) - ld bc, $b + ld bc, 11 jp CopyData SetDefaultNamesBeforeTitlescreen: ; 42b7 (1:42b7) @@ -377,7 +377,7 @@ LoadCopyrightAndTextBoxTiles: ; 4538 (1:4538) LoadCopyrightTiles: ; 4541 (1:4541) ld de, NintendoCopyrightLogoGraphics ld hl, vChars2 + $600 - ld bc, (BANK(NintendoCopyrightLogoGraphics) << 8) + $1c + lb bc, BANK(NintendoCopyrightLogoGraphics), $1c call CopyVideoData coord hl, 2, 7 ld de, CopyrightTextString diff --git a/engine/town_map.asm b/engine/town_map.asm index f5a047c3..037a59fa 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 - ld bc, (BANK(TownMapCursor) << 8) + $04 + lb bc, BANK(TownMapCursor), $04 call CopyVideoDataDouble xor a ld [wWhichTownMapLocation], a @@ -29,7 +29,7 @@ DisplayTownMap: ; 70e3e (1c:4e3e) .townMapLoop coord hl, 0, 0 - ld bc, $114 + lb bc, 1, 20 call ClearScreenArea ld hl, TownMapOrder ld a, [wWhichTownMapLocation] @@ -140,11 +140,11 @@ LoadTownMap_Fly: ; 70f90 (1c:4f90) call LoadFontTilePatterns ld de, BirdSprite ld hl, vSprites + $40 - ld bc, (BANK(BirdSprite) << 8) + $0c + lb bc, BANK(BirdSprite), $0c call CopyVideoData ld de, TownMapUpArrow ld hl, vChars1 + $6d0 - ld bc, (BANK(TownMapUpArrow) << 8) + $01 + lb bc, BANK(TownMapUpArrow), $01 call CopyVideoDataDouble call BuildFlyLocationsList ld hl, wUpdateSpritesEnabled @@ -161,12 +161,12 @@ LoadTownMap_Fly: ; 70f90 (1c:4f90) ld hl, wFlyLocationsList coord de, 18, 0 .townMapFlyLoop - ld a, $7f + ld a, " " ld [de], a push hl push hl coord hl, 3, 0 - ld bc, $10f + lb bc, 1, 15 call ClearScreenArea pop hl ld a, [hl] @@ -442,8 +442,8 @@ WritePlayerOrBirdSpriteOAM: ; 7126d (1c:526d) WriteTownMapSpriteOAM: ; 71279 (1c:5279) push hl - ld hl, $fcfc - add hl, bc ; subtract 4 from c (X coord) and 3 from b (Y coord) + lb hl, -4, -4 + add hl, bc ; subtract 4 from c (X coord) and 4 from b (Y coord) ld b, h ld c, l pop hl @@ -451,7 +451,7 @@ WriteTownMapSpriteOAM: ; 71279 (1c:5279) WriteAsymmetricMonPartySpriteOAM: ; 71281 (1c:5281) ; Writes 4 OAM blocks for a helix mon party sprite, since it does not have ; a vertical line of symmetry. - ld de, $202 + lb de, 2, 2 .loop push de push bc diff --git a/engine/trade.asm b/engine/trade.asm index 74fd3434..1a0e5f61 100755 --- a/engine/trade.asm +++ b/engine/trade.asm @@ -371,7 +371,7 @@ Trade_ShowEnemyMon: ; 41336 (10:5336) call PlayCry call Trade_Delay100 coord hl, 4, 10 - ld bc, $80c + lb bc, 8, 12 call ClearScreenArea jp PrintTradeTakeCareText @@ -647,14 +647,14 @@ Trade_AnimMonMoveVertical: ; 41525 (10:5525) and a jr z, .movingLeft ; moving right - ld bc, $400 ; move right + lb bc, 4, 0 ; move right call .doAnim - ld bc, $a ; move down + lb bc, 0, 10 ; move down jr .doAnim .movingLeft - ld bc, $f6 ; move up + lb bc, 0, -10 ; move up call .doAnim - ld bc, $fc00 ; move left + lb bc, -4, 0 ; move left .doAnim ld a, b ld [W_BASECOORDX], a diff --git a/home.asm b/home.asm index 449666df..2753307b 100644 --- a/home.asm +++ b/home.asm @@ -1402,7 +1402,7 @@ DisplayListMenuID:: ; 2be6 (0:2be6) call UpdateSprites ; disable sprites behind the text box ; the code up to .skipMovingSprites appears to be useless coord hl, 4, 2 ; coordinates of upper left corner of menu text box - ld de,$090e ; height and width of menu text box + lb de, 9, 14 ; height and width of menu text box ld a,[wListMenuID] and a ; is it a PC pokemon list? jr nz,.skipMovingSprites @@ -1668,7 +1668,7 @@ DisplayChooseQuantityMenu:: ; 2d57 (0:2d57) coord hl, 9, 10 .printQuantity ld de,wItemQuantity ; current quantity - lb bc,LEADING_ZEROES | 1, 2 ; 1 byte, 2 digits + lb bc, LEADING_ZEROES | 1, 2 ; 1 byte, 2 digits call PrintNumber jp .waitForKeyPressLoop .buttonAPressed ; the player chose to make the transaction @@ -1705,8 +1705,8 @@ ExitListMenu:: ; 2e3b (0:2e3b) PrintListMenuEntries:: ; 2e5a (0:2e5a) coord hl, 5, 3 - ld b,$09 - ld c,$0e + ld b,9 + ld c,14 call ClearScreenArea ld a,[wListPointer] ld e,a @@ -1786,7 +1786,7 @@ PrintListMenuEntries:: ; 2e5a (0:2e5a) ld [wcf91],a call GetItemPrice ; get price pop hl - ld bc,20 + 5 ; 1 row down and 5 columns right + ld bc, SCREEN_WIDTH + 5 ; 1 row down and 5 columns right add hl,bc ld c,$a3 ; no leading zeroes, right-aligned, print currency symbol, 3 bytes call PrintBCDNumber @@ -1815,7 +1815,7 @@ PrintListMenuEntries:: ; 2e5a (0:2e5a) ld a,[wListScrollOffset] add b ld [hl],a - call LoadMonData ; load pokemon info + call LoadMonData ld a,[wMonDataLocation] and a ; is it a list of party pokemon or box pokemon? jr z,.skipCopyingLevel @@ -1826,7 +1826,7 @@ PrintListMenuEntries:: ; 2e5a (0:2e5a) pop hl ld bc,$001c add hl,bc - call PrintLevel ; print level + call PrintLevel pop af ld [wd11e],a .skipPrintingPokemonLevel @@ -1844,7 +1844,7 @@ PrintListMenuEntries:: ; 2e5a (0:2e5a) and a ; is the item unsellable? jr nz,.skipPrintingItemQuantity ; if so, don't print the quantity push hl - ld bc,20 + 8 ; 1 row down and 8 columns right + ld bc, SCREEN_WIDTH + 8 ; 1 row down and 8 columns right add hl,bc ld a,"×" ld [hli],a @@ -1877,7 +1877,7 @@ PrintListMenuEntries:: ; 2e5a (0:2e5a) ld a,$ec ; unfilled right arrow menu cursor to indicate an item being swapped ld [hli],a .nextListEntry - ld bc,2 * 20 ; 2 rows + ld bc,2 * SCREEN_WIDTH ; 2 rows add hl,bc pop bc inc c @@ -1899,12 +1899,12 @@ GetMonName:: ; 2f9e (0:2f9e) push hl ld a,[H_LOADEDROMBANK] push af - ld a,BANK(MonsterNames) ; 07 + ld a,BANK(MonsterNames) ld [H_LOADEDROMBANK],a ld [MBC1RomBank],a ld a,[wd11e] dec a - ld hl,MonsterNames ; 421E + ld hl,MonsterNames ld c,10 ld b,0 call AddNTimes @@ -1972,7 +1972,7 @@ GetMachineName:: ; 2ff3 (0:2ff3) ; now get the machine number and convert it to text ld a,[wd11e] sub TM_01 - 1 - ld b,$F6 ; "0" + ld b, "0" .FirstDigit sub 10 jr c,.SecondDigit @@ -1985,7 +1985,7 @@ GetMachineName:: ; 2ff3 (0:2ff3) ld [de],a inc de pop af - ld b,$F6 ; "0" + ld b, "0" add b ld [de],a inc de @@ -2134,6 +2134,7 @@ IsKeyItem:: ; 30d9 (0:30d9) ; function to draw various text boxes ; INPUT: ; [wTextBoxID] = text box ID +; b, c = y, x cursor position (TWO_OPTION_MENU only) DisplayTextBoxID:: ; 30e8 (0:30e8) ld a,[H_LOADEDROMBANK] push af @@ -3002,7 +3003,7 @@ YesNoChoicePokeCenter:: ; 360a (0:360a) ld a, HEAL_CANCEL_MENU ld [wTwoOptionMenuID], a coord hl, 11, 6 - ld bc, $80c + lb bc, 8, 12 jr DisplayYesNoChoice Func_361a:: ; 361a (0:361a) @@ -3010,7 +3011,7 @@ Func_361a:: ; 361a (0:361a) ld a, WIDE_YES_NO_MENU ld [wTwoOptionMenuID], a coord hl, 12, 7 - ld bc, $080d + lb bc, 8, 13 DisplayYesNoChoice:: ; 3628 (0:3628) ld a, TWO_OPTION_MENU ld [wTextBoxID], a @@ -3097,7 +3098,7 @@ LoadFontTilePatterns:: .on ld de, FontGraphics ld hl, vFont - ld bc, BANK(FontGraphics) << 8 | $80 + lb bc, BANK(FontGraphics), $80 jp CopyVideoDataDouble ; if LCD is on, transfer during V-blank LoadTextBoxTilePatterns:: @@ -3113,7 +3114,7 @@ LoadTextBoxTilePatterns:: .on ld de, TextBoxGraphics ld hl, vChars2 + $600 - ld bc, BANK(TextBoxGraphics) << 8 | $20 + lb bc, BANK(TextBoxGraphics), $20 jp CopyVideoData ; if LCD is on, transfer during V-blank LoadHpBarAndStatusTilePatterns:: @@ -3129,7 +3130,7 @@ LoadHpBarAndStatusTilePatterns:: .on ld de, HpBarAndStatusGraphics ld hl, vChars2 + $620 - ld bc, BANK(HpBarAndStatusGraphics) << 8 | $1e + lb bc, BANK(HpBarAndStatusGraphics), $1e jp CopyVideoData ; if LCD is on, transfer during V-blank @@ -3824,12 +3825,12 @@ MoveMon:: ; 3a68 (0:3a68) ld [MBC1RomBank], a ret -; skips a text entries, each of size $b (like trainer name, OT name, rival name, ...) +; skips a text entries, each of size 11 (like trainer name, OT name, rival name, ...) ; hl: base pointer, will be incremented by $b * a SkipFixedLengthTextEntries:: ; 3a7d (0:3a7d) and a ret z - ld bc, $b + ld bc, 11 .skipLoop add hl, bc dec a diff --git a/home/copy2.asm b/home/copy2.asm index 3f7a4400..830440b0 100644 --- a/home/copy2.asm +++ b/home/copy2.asm @@ -161,7 +161,7 @@ CopyVideoDataDouble:: ClearScreenArea:: ; Clear tilemap area cxb at hl. - ld a, $7f ; blank tile + ld a, " " ; blank tile ld de, 20 ; screen width .y push hl @@ -218,7 +218,7 @@ ClearScreen:: ld bc, 20 * 18 inc b coord hl, 0, 0 - ld a, $7f + ld a, " " .loop ld [hli], a dec c diff --git a/home/overworld.asm b/home/overworld.asm index 3675eca8..f8d6e7e1 100644 --- a/home/overworld.asm +++ b/home/overworld.asm @@ -1995,7 +1995,7 @@ LoadBikePlayerSpriteGraphics:: ; 105d (0:105d) LoadPlayerSpriteGraphicsCommon:: ; 1063 (0:1063) push de push hl - ld bc,(BANK(RedSprite) << 8) + $0c + lb bc, BANK(RedSprite), $0c call CopyVideoData pop hl pop de @@ -2006,7 +2006,7 @@ LoadPlayerSpriteGraphicsCommon:: ; 1063 (0:1063) inc d .noCarry set 3,h - ld bc,$050c + lb bc, BANK(RedSprite), $0c jp CopyVideoData ; function to load data from the map header diff --git a/home/text.asm b/home/text.asm index 97ff2859..238af447 100644 --- a/home/text.asm +++ b/home/text.asm @@ -291,7 +291,7 @@ Char51:: ; 1ab4 (0:1ab4) call ProtectedDelay3 call ManualTextScroll coord hl, 1, 13 - ld bc,$0412 + lb bc, 4, 18 call ClearScreenArea ld c,20 call DelayFrames @@ -306,7 +306,7 @@ Char49:: ; 1ad5 (0:1ad5) call ProtectedDelay3 call ManualTextScroll coord hl, 1, 10 - ld bc,$0712 + lb bc, 7, 18 call ClearScreenArea ld c,20 call DelayFrames diff --git a/main.asm b/main.asm index 10317d4f..8def2f85 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 - ld bc, (BANK(TrainerInfoTextBoxTileGraphics) << 8) +$09 + lb bc, BANK(TrainerInfoTextBoxTileGraphics), $09 jp CopyVideoData INCLUDE "engine/menu/main_menu.asm" @@ -1435,8 +1435,8 @@ DisplayMoneyBox: ; 74ba (1:74ba) ld [wTextBoxID], a call DisplayTextBoxID coord hl, 13, 1 - ld b, $1 - ld c, $6 + ld b, 1 + ld c, 6 call ClearScreenArea coord hl, 12, 1 ld de, wPlayerMoney @@ -1967,7 +1967,7 @@ _RemovePokemon: ; 7b68 (1:7b68) .asm_7ba6 ld d, h ld e, l - ld bc, $b + ld bc, 11 add hl, bc ld bc, wPartyMonNicks ld a, [wRemoveMonFromBox] @@ -2007,12 +2007,12 @@ _RemovePokemon: ; 7b68 (1:7b68) jr z, .asm_7bfa ld hl, wBoxMonNicks .asm_7bfa - ld bc, $b + ld bc, 11 ld a, [wWhichPokemon] call AddNTimes ld d, h ld e, l - ld bc, $b + ld bc, 11 add hl, bc ld bc, wPokedexOwned ld a, [wRemoveMonFromBox] @@ -3587,7 +3587,7 @@ _AddPartyMon: ; f2e5 (3:72e5) ld d, h ld e, l ld hl, wPlayerName - ld bc, $b + ld bc, 11 call CopyData ld a, [wMonDataLocation] and a @@ -3858,7 +3858,7 @@ _AddEnemyMonToPlayerParty: ; f49d (3:749d) ld hl, wEnemyMonOT ld a, [wWhichPokemon] call SkipFixedLengthTextEntries - ld bc, $000b + ld bc, 11 call CopyData ; write new mon's OT name (from an enemy mon) ld hl, wPartyMonNicks ld a, [wPartyCount] @@ -3869,7 +3869,7 @@ _AddEnemyMonToPlayerParty: ; f49d (3:749d) ld hl, wEnemyMonNicks ld a, [wWhichPokemon] call SkipFixedLengthTextEntries - ld bc, $000b + ld bc, 11 call CopyData ; write new mon's nickname (from an enemy mon) ld a, [wcf91] ld [wd11e], a @@ -4000,7 +4000,7 @@ _MoveMon: ; f51e (3:751e) ld a, [wWhichPokemon] call SkipFixedLengthTextEntries .asm_f5ec - ld bc, $b + ld bc, 11 call CopyData ld a, [wMoveMonType] cp PARTY_TO_DAYCARE @@ -4030,7 +4030,7 @@ _MoveMon: ; f51e (3:751e) ld a, [wWhichPokemon] call SkipFixedLengthTextEntries .asm_f62a - ld bc, $b + ld bc, 11 call CopyData pop hl ld a, [wMoveMonType] diff --git a/scripts/agatha.asm b/scripts/agatha.asm index 60ddf606..1e34c99c 100755 --- a/scripts/agatha.asm +++ b/scripts/agatha.asm @@ -22,7 +22,7 @@ AgathaScript_76443: ; 76443 (1d:6443) AgathaScript_76459: ; 76459 (1d:6459) ld [wNewTileBlockID], a - ld bc, $2 + lb bc, 0, 2 predef_jump ReplaceTileBlock AgathaScript_76464: ; 76464 (1d:6464) diff --git a/scripts/bikeshop.asm b/scripts/bikeshop.asm index f0bdf615..cf717b43 100755 --- a/scripts/bikeshop.asm +++ b/scripts/bikeshop.asm @@ -19,7 +19,7 @@ BikeShopText1: ; 1d745 (7:5745) jr z, .asm_41190 ld hl, BikeShopText_1d81f call PrintText - ld bc, (BICYCLE << 8) | 1 + lb bc, BICYCLE, 1 call GiveItem jr nc, .BagFull ld a, BIKE_VOUCHER diff --git a/scripts/billshouse.asm b/scripts/billshouse.asm index e4cfc031..08ac98d6 100755 --- a/scripts/billshouse.asm +++ b/scripts/billshouse.asm @@ -163,7 +163,7 @@ BillsHouseText2: ; 1e874 (7:6874) jr nz, .asm_1e8a9 ld hl, BillThankYouText call PrintText - ld bc, (S_S__TICKET << 8) | 1 + lb bc, S_S__TICKET, 1 call GiveItem jr nc, .BagFull ld hl, SSTicketReceivedText diff --git a/scripts/blueshouse.asm b/scripts/blueshouse.asm index 0e29d64c..6aa2eaec 100755 --- a/scripts/blueshouse.asm +++ b/scripts/blueshouse.asm @@ -36,7 +36,7 @@ BluesHouseText1: ; 19b5d (6:5b5d) .GiveMap ld hl,DaisyOfferMapText call PrintText - ld bc,(TOWN_MAP << 8) | 1 + lb bc, TOWN_MAP, 1 call GiveItem jr nc, .BagFull ld a,HS_TOWN_MAP diff --git a/scripts/bruno.asm b/scripts/bruno.asm index c39656b9..bdfd7e24 100755 --- a/scripts/bruno.asm +++ b/scripts/bruno.asm @@ -22,7 +22,7 @@ BrunoScript_762ec: ; 762ec (1d:62ec) BrunoScript_76302: ; 76302 (1d:6302) ld [wNewTileBlockID], a - ld bc, $2 + lb bc, 0, 2 predef_jump ReplaceTileBlock BrunoScript_7630d: ; 7630d (1d:630d) diff --git a/scripts/celadoncity.asm b/scripts/celadoncity.asm index ce0c4731..cfc8f197 100755 --- a/scripts/celadoncity.asm +++ b/scripts/celadoncity.asm @@ -46,7 +46,7 @@ CeladonCityText5: ; 1999e (6:599e) jr nz, .asm_7053f ld hl, TM41PreText call PrintText - ld bc, (TM_41 << 8) | 1 + lb bc, TM_41, 1 call GiveItem jr c, .Success ld hl, TM41NoRoomText diff --git a/scripts/celadondiner.asm b/scripts/celadondiner.asm index a37bc558..be1ed4c8 100755 --- a/scripts/celadondiner.asm +++ b/scripts/celadondiner.asm @@ -31,7 +31,7 @@ CeladonDinerText5: ; 49173 (12:5173) jr nz, .asm_eb14d ld hl, CeladonDinerText_491a7 call PrintText - ld bc, (COIN_CASE << 8) | 1 + lb bc, COIN_CASE, 1 call GiveItem jr nc, .BagFull SetEvent EVENT_GOT_COIN_CASE diff --git a/scripts/celadongamecorner.asm b/scripts/celadongamecorner.asm index e8917434..787a2f3d 100755 --- a/scripts/celadongamecorner.asm +++ b/scripts/celadongamecorner.asm @@ -32,7 +32,7 @@ CeladonGameCornerScript_48bec: ; 48bec (12:4bec) ret nz ld a, $2a ld [wNewTileBlockID], a - ld bc, $0208 + lb bc, 2, 8 predef_jump ReplaceTileBlock CeladonGameCornerScript_48c07: ; 48c07 (12:4c07) @@ -452,7 +452,7 @@ CeladonGameCornerText12: ; 48edd (12:4edd) SetEvent EVENT_FOUND_ROCKET_HIDEOUT ld a, $43 ld [wNewTileBlockID], a - ld bc, $0208 + lb bc, 2, 8 predef ReplaceTileBlock jp TextScriptEnd @@ -477,8 +477,8 @@ CeladonGameCornerScript_48f1e: ; 48f1e (12:4f1e) call TextBoxBorder call UpdateSprites coord hl, 12, 1 - ld b, $4 - ld c, $7 + ld b, 4 + ld c, 7 call ClearScreenArea coord hl, 12, 2 ld de, GameCornerMoneyText diff --git a/scripts/celadongym.asm b/scripts/celadongym.asm index 5dc328c7..64e85ff7 100755 --- a/scripts/celadongym.asm +++ b/scripts/celadongym.asm @@ -47,7 +47,7 @@ CeladonGymText_48963: ; 48963 (12:4963) ld [hSpriteIndexOrTextID], a call DisplayTextID SetEvent EVENT_BEAT_ERIKA - ld bc, (TM_21 << 8) | 1 + lb bc, TM_21, 1 call GiveItem jr nc, .BagFull ld a, $a diff --git a/scripts/celadonmansion5.asm b/scripts/celadonmansion5.asm index 60d2cc92..6d979e04 100755 --- a/scripts/celadonmansion5.asm +++ b/scripts/celadonmansion5.asm @@ -11,7 +11,7 @@ CeladonMansion5Text1: ; 1dd41 (7:5d41) CeladonMansion5Text2: ; 1dd46 (7:5d46) TX_ASM - ld bc,(EEVEE << 8) | 25 + lb bc, EEVEE, 25 call GivePokemon jr nc, .asm_24365 ld a, HS_CELADON_MANSION_5_GIFT diff --git a/scripts/celadonmart3.asm b/scripts/celadonmart3.asm index f525d0af..c6c6ecc7 100755 --- a/scripts/celadonmart3.asm +++ b/scripts/celadonmart3.asm @@ -26,7 +26,7 @@ CeladonMart3Text1: ; 4824a (12:424a) jr nz, .asm_a5463 ld hl, TM18PreReceiveText call PrintText - ld bc, (TM_18 << 8) | 1 + lb bc, TM_18, 1 call GiveItem jr nc, .BagFull SetEvent EVENT_GOT_TM18 diff --git a/scripts/celadonmartroof.asm b/scripts/celadonmartroof.asm index 113044cd..8eeb5d2b 100755 --- a/scripts/celadonmartroof.asm +++ b/scripts/celadonmartroof.asm @@ -88,7 +88,7 @@ CeladonMartRoofScript_4840c: ; 4840c (12:440c) ld hl, CeladonMartRoofText_48515 call PrintText call RemoveItemByIDBank12 - ld bc, (TM_49 << 8) | 1 + lb bc, TM_49, 1 call GiveItem jr nc, .BagFull ld hl, ReceivedTM49Text @@ -101,7 +101,7 @@ CeladonMartRoofScript_4840c: ; 4840c (12:440c) ld hl, CeladonMartRoofText_48504 call PrintText call RemoveItemByIDBank12 - ld bc, (TM_48 << 8) | 1 + lb bc, TM_48, 1 call GiveItem jr nc, .BagFull ld hl, CeladonMartRoofText_4850a @@ -114,7 +114,7 @@ CeladonMartRoofScript_4840c: ; 4840c (12:440c) ld hl, CeladonMartRoofText_484f3 call PrintText call RemoveItemByIDBank12 - ld bc, (TM_13 << 8) | 1 + lb bc, TM_13, 1 call GiveItem jr nc, .BagFull ld hl, CeladonMartRoofText_484f9 diff --git a/scripts/ceruleancity.asm b/scripts/ceruleancity.asm index c13e66e2..158a683d 100755 --- a/scripts/ceruleancity.asm +++ b/scripts/ceruleancity.asm @@ -299,7 +299,7 @@ CeruleanCityText2: ; 1967c (6:567c) .asm_4ca20 ld hl, CeruleanCityText_196f3 call PrintText - ld bc, (TM_28 << 8) + 1 + lb bc, TM_28, 1 call GiveItem jr c, .Success ld hl, TM28NoRoomText diff --git a/scripts/ceruleangym.asm b/scripts/ceruleangym.asm index a7845c68..ca1c2c7d 100755 --- a/scripts/ceruleangym.asm +++ b/scripts/ceruleangym.asm @@ -47,7 +47,7 @@ CeruleanGymScript_5c70d: ; 5c70d (17:470d) ld [hSpriteIndexOrTextID], a call DisplayTextID SetEvent EVENT_BEAT_MISTY - ld bc, (TM_11 << 8) | 1 + lb bc, TM_11, 1 call GiveItem jr nc, .BagFull ld a, $6 diff --git a/scripts/cinnabargym.asm b/scripts/cinnabargym.asm index 60df9338..5bbb94a9 100755 --- a/scripts/cinnabargym.asm +++ b/scripts/cinnabargym.asm @@ -144,7 +144,7 @@ CinnabarGymScript3_75857: ; 75857 (1d:5857) ld [hSpriteIndexOrTextID], a call DisplayTextID SetEvent EVENT_BEAT_BLAINE - ld bc, (TM_38 << 8) | 1 + lb bc, TM_38, 1 call GiveItem jr nc, .BagFull ld a, $b diff --git a/scripts/copycatshouse2f.asm b/scripts/copycatshouse2f.asm index 953c7126..74dbb1c5 100755 --- a/scripts/copycatshouse2f.asm +++ b/scripts/copycatshouse2f.asm @@ -23,7 +23,7 @@ CopycatsHouse2FText1: ; 5cc82 (17:4c82) jr z, .asm_62ecd ld hl, TM31PreReceiveText call PrintText - ld bc, (TM_31 << 8) | 1 + lb bc, TM_31, 1 call GiveItem jr nc, .BagFull ld hl, ReceivedTM31Text diff --git a/scripts/fanclub.asm b/scripts/fanclub.asm index adde809f..cbafc034 100755 --- a/scripts/fanclub.asm +++ b/scripts/fanclub.asm @@ -113,7 +113,7 @@ FanClubText5: ; tell the story ld hl, .storytext call PrintText - ld bc, (BIKE_VOUCHER << 8) | 1 + lb bc, BIKE_VOUCHER, 1 call GiveItem jr nc, .BagFull ld hl, .receivedvouchertext diff --git a/scripts/fuchsiagym.asm b/scripts/fuchsiagym.asm index 9bbc38a8..3ec89256 100755 --- a/scripts/fuchsiagym.asm +++ b/scripts/fuchsiagym.asm @@ -47,7 +47,7 @@ FuchsiaGymScript3_75497: ; 75497 (1d:5497) ld [hSpriteIndexOrTextID], a call DisplayTextID SetEvent EVENT_BEAT_KOGA - ld bc, (TM_06 << 8) | 1 + lb bc, TM_06, 1 call GiveItem jr nc, .BagFull ld a, $a diff --git a/scripts/fuchsiahouse2.asm b/scripts/fuchsiahouse2.asm index 37aebd23..76b5e91f 100755 --- a/scripts/fuchsiahouse2.asm +++ b/scripts/fuchsiahouse2.asm @@ -38,7 +38,7 @@ FuchsiaHouse2Text1: ; 750c2 (1d:50c2) .asm_60cba ld hl, WardenThankYouText call PrintText - ld bc,(HM_04 << 8) | 1 + lb bc, HM_04, 1 call GiveItem jr nc, .BagFull ld hl, ReceivedHM04Text diff --git a/scripts/fuchsiahouse3.asm b/scripts/fuchsiahouse3.asm index 8c83b779..2aabb9c2 100755 --- a/scripts/fuchsiahouse3.asm +++ b/scripts/fuchsiahouse3.asm @@ -18,7 +18,7 @@ FuchsiaHouse3Text1: ; 56181 (15:6181) and a jr nz, .refused - ld bc, (GOOD_ROD << 8) | 1 + lb bc, GOOD_ROD, 1 call GiveItem jr nc, .full diff --git a/scripts/lab3.asm b/scripts/lab3.asm index 59b04b8c..cbb5f53f 100755 --- a/scripts/lab3.asm +++ b/scripts/lab3.asm @@ -14,7 +14,7 @@ Lab3Text1: ; 75c94 (1d:5c94) jr nz, .asm_e551a ld hl, TM35PreReceiveText call PrintText - ld bc, (TM_35 << 8) | 1 + lb bc, TM_35, 1 call GiveItem jr nc, .BagFull ld hl, ReceivedTM35Text diff --git a/scripts/lance.asm b/scripts/lance.asm index 9fa621da..e2c43614 100755 --- a/scripts/lance.asm +++ b/scripts/lance.asm @@ -25,12 +25,12 @@ LanceScript_5a2c4: ; 5a2c4 (16:62c4) LanceScript_5a2de: ; 5a2de (16:62de) push bc ld [wNewTileBlockID], a - ld bc, $602 + lb bc, 6, 2 call LanceScript_5a2f0 pop bc ld a, b ld [wNewTileBlockID], a - ld bc, $603 + lb bc, 6, 3 LanceScript_5a2f0: ; 5a2f0 (16:62f0) predef_jump ReplaceTileBlock diff --git a/scripts/lavenderhouse1.asm b/scripts/lavenderhouse1.asm index 556e94a3..ccf9cef1 100755 --- a/scripts/lavenderhouse1.asm +++ b/scripts/lavenderhouse1.asm @@ -72,7 +72,7 @@ LavenderHouse1Text5: ; 1d918 (7:5918) jr nz, .asm_15ac2 ld hl, LavenderHouse1Text_1d94c call PrintText - ld bc, (POKE_FLUTE << 8) | 1 + lb bc, POKE_FLUTE, 1 call GiveItem jr nc, .BagFull ld hl, ReceivedFluteText diff --git a/scripts/lorelei.asm b/scripts/lorelei.asm index 3c639d1e..43eee966 100755 --- a/scripts/lorelei.asm +++ b/scripts/lorelei.asm @@ -23,7 +23,7 @@ LoreleiScript_76191: ; 76191 (1d:6191) ld a, $24 .asm_761ab ld [wNewTileBlockID], a - ld bc, $2 + lb bc, 0, 2 predef_jump ReplaceTileBlock LoreleiScript_761b6: ; 761b6 (1d:61b6) diff --git a/scripts/mansion1.asm b/scripts/mansion1.asm index 88bdd3ed..bbfb0a0b 100755 --- a/scripts/mansion1.asm +++ b/scripts/mansion1.asm @@ -15,22 +15,22 @@ Mansion1Subscript1: ; 442c5 (11:42c5) ret z CheckEvent EVENT_MANSION_SWITCH_ON jr nz, .asm_442ec - ld bc, $060c + lb bc, 6, 12 call Mansion1Script_4430b - ld bc, $0308 + lb bc, 3, 8 call Mansion1Script_44304 - ld bc, $080a + lb bc, 8, 10 call Mansion1Script_44304 - ld bc, $0d0d + lb bc, 13, 13 jp Mansion1Script_44304 .asm_442ec - ld bc, $060c + lb bc, 6, 12 call Mansion1Script_44304 - ld bc, $0308 + lb bc, 3, 8 call Mansion1Script_4430b - ld bc, $080a + lb bc, 8, 10 call Mansion1Script_4430b - ld bc, $0d0d + lb bc, 13, 13 jp Mansion1Script_4430b Mansion1Script_44304: ; 44304 (11:4304) diff --git a/scripts/mansion2.asm b/scripts/mansion2.asm index cb697b94..22bc2b12 100755 --- a/scripts/mansion2.asm +++ b/scripts/mansion2.asm @@ -16,24 +16,24 @@ Mansion2Script_51fee: ; 51fee (14:5fee) CheckEvent EVENT_MANSION_SWITCH_ON jr nz, .asm_52016 ld a, $e - ld bc, $204 + lb bc, 2, 4 call Mansion2Script_5202f ld a, $54 - ld bc, $409 + lb bc, 4, 9 call Mansion2Script_5202f ld a, $5f - ld bc, $b03 + lb bc, 11, 3 call Mansion2Script_5202f ret .asm_52016 ld a, $5f - ld bc, $204 + lb bc, 2, 4 call Mansion2Script_5202f ld a, $e - ld bc, $409 + lb bc, 4, 9 call Mansion2Script_5202f ld a, $e - ld bc, $b03 + lb bc, 11, 3 call Mansion2Script_5202f ret diff --git a/scripts/mtmoon3.asm b/scripts/mtmoon3.asm index 21c959aa..84c00981 100755 --- a/scripts/mtmoon3.asm +++ b/scripts/mtmoon3.asm @@ -271,7 +271,7 @@ MtMoon3Text6: ; 49ee9 (12:5ee9) ld a, [wCurrentMenuItem] and a jr nz, .asm_49f21 - ld bc,(DOME_FOSSIL << 8) | 1 + lb bc, DOME_FOSSIL, 1 call GiveItem jp nc, MtMoon3Script_49f76 call MtMoon3Script_49f69 @@ -299,7 +299,7 @@ MtMoon3Text7: ; 49f29 (12:5f29) ld a, [wCurrentMenuItem] and a jr nz, .asm_49f61 - ld bc, (HELIX_FOSSIL << 8) | 1 + lb bc, HELIX_FOSSIL, 1 call GiveItem jp nc, MtMoon3Script_49f76 call MtMoon3Script_49f69 diff --git a/scripts/mtmoonpokecenter.asm b/scripts/mtmoonpokecenter.asm index 63cc06e4..fd3e4e53 100755 --- a/scripts/mtmoonpokecenter.asm +++ b/scripts/mtmoonpokecenter.asm @@ -43,7 +43,7 @@ MtMoonPokecenterText4: ; 492ec (12:52ec) ld hl, MtMoonPokecenterText_49366 jr .printText .enoughMoney - ld bc,(MAGIKARP << 8) | 5 + lb bc, MAGIKARP, 5 call GivePokemon jr nc, .done xor a diff --git a/scripts/museum1f.asm b/scripts/museum1f.asm index 4c209eb8..ac552c6d 100755 --- a/scripts/museum1f.asm +++ b/scripts/museum1f.asm @@ -191,7 +191,7 @@ Museum1FText3: ; 5c256 (17:4256) jr nz, .asm_5c285 ld hl, Museum1FText_5c28e call PrintText - ld bc, (OLD_AMBER << 8) | 1 + lb bc, OLD_AMBER, 1 call GiveItem jr nc, .BagFull SetEvent EVENT_GOT_OLD_AMBER diff --git a/scripts/oakslab.asm b/scripts/oakslab.asm index 93f87657..996ab754 100755 --- a/scripts/oakslab.asm +++ b/scripts/oakslab.asm @@ -1022,7 +1022,7 @@ OaksLabText5: ; 1d248 (7:5248) .asm_1d2d0 CheckAndSetEvent EVENT_GOT_POKEBALLS_FROM_OAK jr nz, .asm_1d2e7 - ld bc, (POKE_BALL << 8) | 5 + lb bc, POKE_BALL, 5 call GiveItem ld hl, OaksLabGivePokeballsText call PrintText diff --git a/scripts/pewtergym.asm b/scripts/pewtergym.asm index 81fcb600..831403bb 100755 --- a/scripts/pewtergym.asm +++ b/scripts/pewtergym.asm @@ -47,7 +47,7 @@ PewterGymScript_5c3df: ; 5c3df (17:43df) ld [hSpriteIndexOrTextID], a call DisplayTextID SetEvent EVENT_BEAT_BROCK - ld bc, (TM_34 << 8) | 1 + lb bc, TM_34, 1 call GiveItem jr nc, .BagFull ld a, $5 diff --git a/scripts/rockethideout1.asm b/scripts/rockethideout1.asm index c658596e..82561577 100755 --- a/scripts/rockethideout1.asm +++ b/scripts/rockethideout1.asm @@ -27,7 +27,7 @@ RocketHideout1Script_44be0: ; 44be0 (11:4be0) ld a, $e .asm_44c03 ld [wNewTileBlockID], a - ld bc, $080c + lb bc, 8, 12 predef_jump ReplaceTileBlock RocketHideout1ScriptPointers: ; 44c0e (11:4c0e) diff --git a/scripts/rockethideout4.asm b/scripts/rockethideout4.asm index 62d6f6bb..a71e444c 100755 --- a/scripts/rockethideout4.asm +++ b/scripts/rockethideout4.asm @@ -27,7 +27,7 @@ RocketHideout4Script_45473: ; 45473 (11:5473) ld a, $e .asm_45498 ld [wNewTileBlockID], a - ld bc, $050c + lb bc, 5, 12 predef_jump ReplaceTileBlock RocketHideout4Script_454a3: ; 454a3 (11:54a3) diff --git a/scripts/route1.asm b/scripts/route1.asm index 6c00e555..926ffd20 100755 --- a/scripts/route1.asm +++ b/scripts/route1.asm @@ -12,7 +12,7 @@ Route1Text1: ; 1cab8 (7:4ab8) jr nz, .asm_1cada ld hl, Route1ViridianMartSampleText call PrintText - ld bc, (POTION << 8) | 1 + lb bc, POTION, 1 call GiveItem jr nc, .BagFull ld hl, Route1Text_1cae8 diff --git a/scripts/route12gateupstairs.asm b/scripts/route12gateupstairs.asm index f651d373..e7ad5cbf 100755 --- a/scripts/route12gateupstairs.asm +++ b/scripts/route12gateupstairs.asm @@ -12,7 +12,7 @@ Route12GateUpstairsText1: ; 49569 (12:5569) jr c, .asm_0ad3c ld hl, TM39PreReceiveText call PrintText - ld bc, (TM_39 << 8) | 1 + lb bc, TM_39, 1 call GiveItem jr nc, .BagFull ld hl, ReceivedTM39Text diff --git a/scripts/route12house.asm b/scripts/route12house.asm index 6b3e17fc..bb065f1c 100755 --- a/scripts/route12house.asm +++ b/scripts/route12house.asm @@ -15,7 +15,7 @@ Route12HouseText1: ; 56484 (15:6484) ld a, [wCurrentMenuItem] and a jr nz, .asm_a2d76 - ld bc, (SUPER_ROD << 8) | 1 + lb bc, SUPER_ROD, 1 call GiveItem jr nc, .BagFull ld hl, wd728 diff --git a/scripts/route16house.asm b/scripts/route16house.asm index 4a0ac0c3..ee23fd89 100755 --- a/scripts/route16house.asm +++ b/scripts/route16house.asm @@ -12,7 +12,7 @@ Route16HouseText1: ; 1e5ff (7:65ff) jr nz, .asm_13616 ld hl, Route16HouseText3 call PrintText - ld bc, (HM_02 << 8) | 1 + lb bc, HM_02, 1 call GiveItem jr nc, .BagFull SetEvent EVENT_GOT_HM02 diff --git a/scripts/route24.asm b/scripts/route24.asm index 4e83a5cd..6eba1d35 100755 --- a/scripts/route24.asm +++ b/scripts/route24.asm @@ -149,7 +149,7 @@ Route24Text1: ; 514a4 (14:54a4) jr nz, .asm_514f9 ld hl, Route24Text_51510 call PrintText - ld bc, (NUGGET << 8) | 1 + lb bc, NUGGET, 1 call GiveItem jr nc, .BagFull SetEvent EVENT_GOT_NUGGET diff --git a/scripts/safarizoneentrance-yellow.asm b/scripts/safarizoneentrance-yellow.asm index 9d354cff..4a37f0e6 100644 --- a/scripts/safarizoneentrance-yellow.asm +++ b/scripts/safarizoneentrance-yellow.asm @@ -54,7 +54,7 @@ ld hl,.MakePaymentText call PrintText ld a,30 - ld hl,(502 / $100) << 8 | (502 % $100) + lb hl, (502 / $100), (502 % $100) .xf1ff2 ld [W_NUMSAFARIBALLS],a ld a,h diff --git a/scripts/safarizonesecrethouse.asm b/scripts/safarizonesecrethouse.asm index 6cf17b9d..8881472b 100755 --- a/scripts/safarizonesecrethouse.asm +++ b/scripts/safarizonesecrethouse.asm @@ -10,7 +10,7 @@ SafariZoneSecretHouseText1: ; 4a31c (12:631c) jr nz, .asm_20a9b ld hl, SafariZoneSecretHouseText_4a350 call PrintText - ld bc, (HM_03 << 8) | 1 + lb bc, HM_03, 1 call GiveItem jr nc, .BagFull ld hl, ReceivedHM03Text diff --git a/scripts/saffrongym.asm b/scripts/saffrongym.asm index 9ee632f7..140b1130 100755 --- a/scripts/saffrongym.asm +++ b/scripts/saffrongym.asm @@ -47,7 +47,7 @@ SaffronGymText_5d068: ; 5d068 (17:5068) ld [hSpriteIndexOrTextID], a call DisplayTextID SetEvent EVENT_BEAT_SABRINA - ld bc, (TM_46 << 8) | 1 + lb bc, TM_46, 1 call GiveItem jr nc, .BagFull ld a, $b diff --git a/scripts/saffronhouse2.asm b/scripts/saffronhouse2.asm index f3ec4c99..2c159190 100755 --- a/scripts/saffronhouse2.asm +++ b/scripts/saffronhouse2.asm @@ -10,7 +10,7 @@ SaffronHouse2Text1: ; 1de41 (7:5e41) jr nz, .asm_9e72b ld hl, TM29PreReceiveText call PrintText - ld bc,(TM_29 << 8) | 1 + lb bc, TM_29, 1 call GiveItem jr nc, .BagFull ld hl, ReceivedTM29Text diff --git a/scripts/silphco10.asm b/scripts/silphco10.asm index fb419a22..a6f2f860 100755 --- a/scripts/silphco10.asm +++ b/scripts/silphco10.asm @@ -13,18 +13,19 @@ SilphCo10Script_5a14f: ; 5a14f (16:614f) bit 5, [hl] res 5, [hl] ret z - ld hl, DataTable_5a173 + ld hl, SilphCo10GateCoords call SilphCo2Script_59d43 call SilphCo10Text_5a176 CheckEvent EVENT_SILPH_CO_10_UNLOCKED_DOOR ret nz ld a, $54 ld [wNewTileBlockID], a - ld bc, $405 + lb bc, 4, 5 predef_jump ReplaceTileBlock -DataTable_5a173: ; 5a173 (16:6173) - db $04,$05,$FF +SilphCo10GateCoords: ; 5a173 (16:6173) + db $04,$05 + db $FF SilphCo10Text_5a176: ; 5a176 (16:6176) ld a, [$ffe0] diff --git a/scripts/silphco11.asm b/scripts/silphco11.asm index 9cdf2891..4c83c20d 100755 --- a/scripts/silphco11.asm +++ b/scripts/silphco11.asm @@ -13,18 +13,19 @@ SilphCo11Script_62110: ; 62110 (18:6110) bit 5, [hl] res 5, [hl] ret z - ld hl, DataTable_62134 + ld hl, SilphCo11GateCoords call SilphCo11Script_62137 call SilphCo11Script_62163 CheckEvent EVENT_SILPH_CO_11_UNLOCKED_DOOR ret nz ld a, $20 ld [wNewTileBlockID], a - ld bc, $603 + lb bc, 6, 3 predef_jump ReplaceTileBlock -DataTable_62134: ; 62134 (18:6134) - db $06,$03,$FF +SilphCo11GateCoords: ; 62134 (18:6134) + db $06,$03 + db $FF SilphCo11Script_62137: ; 62137 (18:6137) push hl @@ -306,7 +307,7 @@ SilphCo11Text1: ; 622dc (18:62dc) jp nz, .asm_62308 ld hl, SilphCoPresidentText call PrintText - ld bc, (MASTER_BALL << 8) | 1 + lb bc, MASTER_BALL, 1 call GiveItem jr nc, .BagFull ld hl, ReceivedSilphCoMasterBallText diff --git a/scripts/silphco2.asm b/scripts/silphco2.asm index b758455e..ecb3b5a5 100755 --- a/scripts/silphco2.asm +++ b/scripts/silphco2.asm @@ -13,7 +13,7 @@ SilphCo2Script_59d07: ; 59d07 (16:5d07) bit 5, [hl] res 5, [hl] ret z - ld hl, DataTable_59d3e + ld hl, SilphCo2GateCoords call SilphCo2Script_59d43 call SilphCo2Script_59d6f CheckEvent EVENT_SILPH_CO_2_UNLOCKED_DOOR1 @@ -21,7 +21,7 @@ SilphCo2Script_59d07: ; 59d07 (16:5d07) push af ld a, $54 ld [wNewTileBlockID], a - ld bc, $0202 + lb bc, 2, 2 predef ReplaceTileBlock pop af .asm_59d2e @@ -29,11 +29,13 @@ SilphCo2Script_59d07: ; 59d07 (16:5d07) ret nz ld a, $54 ld [wNewTileBlockID], a - ld bc, $0502 + lb bc, 5, 2 predef_jump ReplaceTileBlock -DataTable_59d3e: ; 59d3e (16:5d3e) - db $02,$02,$05,$02,$FF +SilphCo2GateCoords: ; 59d3e (16:5d3e) + db $02,$02 + db $05,$02 + db $FF SilphCo2Script_59d43: ; 59d43 (16:5d43) push hl @@ -141,7 +143,7 @@ SilphCo2Text1: ; 59dc1 (16:5dc1) jr nz, .asm_59de4 ld hl, SilphCo2Text_59ded call PrintText - ld bc, (TM_36 << 8) | 1 + lb bc, TM_36, 1 call GiveItem ld hl, TM36NoRoomText jr nc, .asm_59de7 diff --git a/scripts/silphco3.asm b/scripts/silphco3.asm index f693ea33..bdaac452 100755 --- a/scripts/silphco3.asm +++ b/scripts/silphco3.asm @@ -13,7 +13,7 @@ SilphCo3Script_59f71: ; 59f71 (16:5f71) bit 5, [hl] res 5, [hl] ret z - ld hl, DataTable_59fa8 + ld hl, SilphCo3GateCoords call SilphCo2Script_59d43 call SilphCo3Script_59fad CheckEvent EVENT_SILPH_CO_3_UNLOCKED_DOOR1 @@ -21,7 +21,7 @@ SilphCo3Script_59f71: ; 59f71 (16:5f71) push af ld a, $5f ld [wNewTileBlockID], a - ld bc, $404 + lb bc, 4, 4 predef ReplaceTileBlock pop af .asm_59f98 @@ -29,11 +29,13 @@ SilphCo3Script_59f71: ; 59f71 (16:5f71) ret nz ld a, $5f ld [wNewTileBlockID], a - ld bc, $408 + lb bc, 4, 8 predef_jump ReplaceTileBlock -DataTable_59fa8: ; 59fa8 (16:5fa8) - db $04,$04,$04,$08,$FF +SilphCo3GateCoords: ; 59fa8 (16:5fa8) + db $04,$04 + db $04,$08 + db $FF SilphCo3Script_59fad: ; 59fad (16:5fad) EventFlagAddress hl, EVENT_SILPH_CO_3_UNLOCKED_DOOR1 diff --git a/scripts/silphco4.asm b/scripts/silphco4.asm index 0ea2c8c8..0dad6f6b 100755 --- a/scripts/silphco4.asm +++ b/scripts/silphco4.asm @@ -13,7 +13,7 @@ SilphCo4Script_19d21: ; 19d21 (6:5d21) bit 5, [hl] res 5, [hl] ret z - ld hl, SilphCo4Data19d58 + ld hl, SilphCo4GateCoords call SilphCo4Script_19d5d call SilphCo4Script_19d89 CheckEvent EVENT_SILPH_CO_4_UNLOCKED_DOOR1 @@ -21,7 +21,7 @@ SilphCo4Script_19d21: ; 19d21 (6:5d21) push af ld a, $54 ld [wNewTileBlockID], a - ld bc, $0602 + lb bc, 6, 2 predef ReplaceTileBlock pop af .asm_19d48 @@ -29,11 +29,13 @@ SilphCo4Script_19d21: ; 19d21 (6:5d21) ret nz ld a, $54 ld [wNewTileBlockID], a - ld bc, $0406 + lb bc, 4, 6 predef_jump ReplaceTileBlock -SilphCo4Data19d58: ; 19d58 (6:5d58) - db $06, $02, $04, $06, $ff +SilphCo4GateCoords: ; 19d58 (6:5d58) + db $06,$02 + db $04,$06 + db $FF SilphCo4Script_19d5d: ; 19d5d (6:5d5d) push hl diff --git a/scripts/silphco5.asm b/scripts/silphco5.asm index d6f35993..7380f98f 100755 --- a/scripts/silphco5.asm +++ b/scripts/silphco5.asm @@ -13,7 +13,7 @@ SilphCo5Script_19f4d: ; 19f4d (6:5f4d) bit 5, [hl] res 5, [hl] ret z - ld hl, SilphCo5Coords + ld hl, SilphCo5GateCoords call SilphCo4Script_19d5d call SilphCo5Script_19f9e CheckEvent EVENT_SILPH_CO_5_UNLOCKED_DOOR1 @@ -21,7 +21,7 @@ SilphCo5Script_19f4d: ; 19f4d (6:5f4d) push af ld a, $5f ld [wNewTileBlockID], a - ld bc, $0203 + lb bc, 2, 3 predef ReplaceTileBlock pop af .asm_19f74 @@ -30,7 +30,7 @@ SilphCo5Script_19f4d: ; 19f4d (6:5f4d) push af ld a, $5f ld [wNewTileBlockID], a - ld bc, $0603 + lb bc, 6, 3 predef ReplaceTileBlock pop af .asm_19f87 @@ -38,11 +38,14 @@ SilphCo5Script_19f4d: ; 19f4d (6:5f4d) ret nz ld a, $5f ld [wNewTileBlockID], a - ld bc, $0507 + lb bc, 5, 7 predef_jump ReplaceTileBlock -SilphCo5Coords: ; 19f97 (6:5f97) - db $02, $03, $06, $03, $05, $07, $ff +SilphCo5GateCoords: ; 19f97 (6:5f97) + db $02,$03 + db $06,$03 + db $05,$07 + db $FF SilphCo5Script_19f9e: ; 19f9e (6:5f9e) EventFlagAddress hl, EVENT_SILPH_CO_5_UNLOCKED_DOOR1 diff --git a/scripts/silphco6.asm b/scripts/silphco6.asm index 25fbcef9..fa199069 100755 --- a/scripts/silphco6.asm +++ b/scripts/silphco6.asm @@ -13,19 +13,19 @@ SilphCo6Script_1a1bf: ; 1a1bf (6:61bf) bit 5, [hl] res 5, [hl] ret z - ld hl, SilphCo6Coords1 + ld hl, SilphCo6GateCoords call SilphCo4Script_19d5d call SilphCo6Script_1a1e6 CheckEvent EVENT_SILPH_CO_6_UNLOCKED_DOOR ret nz ld a, $5f ld [wNewTileBlockID], a - ld bc, $0602 + lb bc, 6, 2 predef_jump ReplaceTileBlock -SilphCo6Coords1: ; 1a1e3 (6:61e3) - db $06, $02 - db $ff +SilphCo6GateCoords: ; 1a1e3 (6:61e3) + db $06,$02 + db $FF SilphCo6Script_1a1e6: ; 1a1e6 (6:61e6) ld a, [$ffe0] diff --git a/scripts/silphco7.asm b/scripts/silphco7.asm index 44e92475..525405c7 100755 --- a/scripts/silphco7.asm +++ b/scripts/silphco7.asm @@ -13,7 +13,7 @@ SilphCo7Script_51b77: ; 51b77 (14:5b77) bit 5, [hl] res 5, [hl] ret z - ld hl, DataTable_51bc1 + ld hl, SilphCo7GateCoords call SilphCo7Text_51bc8 call SilphCo7Text_51bf4 CheckEvent EVENT_SILPH_CO_7_UNLOCKED_DOOR1 @@ -21,7 +21,7 @@ SilphCo7Script_51b77: ; 51b77 (14:5b77) push af ld a, $54 ld [wNewTileBlockID], a - ld bc, $305 + lb bc, 3, 5 predef ReplaceTileBlock pop af .asm_51b9e @@ -30,7 +30,7 @@ SilphCo7Script_51b77: ; 51b77 (14:5b77) push af ld a, $54 ld [wNewTileBlockID], a - ld bc, $20a + lb bc, 2, 10 predef ReplaceTileBlock pop af .asm_51bb1 @@ -38,11 +38,14 @@ SilphCo7Script_51b77: ; 51b77 (14:5b77) ret nz ld a, $54 ld [wNewTileBlockID], a - ld bc, $60a + lb bc, 6, 10 predef_jump ReplaceTileBlock -DataTable_51bc1: ; 51bc1 (14:5bc1) - db $03,$05,$02,$0A,$06,$0A,$FF +SilphCo7GateCoords: ; 51bc1 (14:5bc1) + db $03,$05 + db $02,$0A + db $06,$0A + db $FF SilphCo7Text_51bc8: ; 51bc8 (14:5bc8) push hl @@ -329,7 +332,7 @@ SilphCo7Text1: .givelapras ld hl, .MeetLaprasGuyText call PrintText - ld bc, (LAPRAS << 8) | 15 + lb bc, LAPRAS, 15 call GivePokemon jr nc, .done ld a, [wSimulatedJoypadStatesEnd] diff --git a/scripts/silphco8.asm b/scripts/silphco8.asm index 7545f359..9ea985a8 100755 --- a/scripts/silphco8.asm +++ b/scripts/silphco8.asm @@ -13,18 +13,19 @@ SilphCo8Script_5651a: ; 5651a (15:651a) bit 5, [hl] res 5, [hl] ret z - ld hl, DataTable_5653e + ld hl, SilphCo8GateCoords call SilphCo8Script_56541 call SilphCo8Script_5656d CheckEvent EVENT_SILPH_CO_8_UNLOCKED_DOOR ret nz ld a, $5f ld [wNewTileBlockID], a - ld bc, $403 + lb bc, 4, 3 predef_jump ReplaceTileBlock -DataTable_5653e: ; 5653e (15:653e) - db $04,$03,$FF +SilphCo8GateCoords: ; 5653e (15:653e) + db $04,$03 + db $FF SilphCo8Script_56541: ; 56541 (15:6541) push hl diff --git a/scripts/silphco9.asm b/scripts/silphco9.asm index 557ce1f1..02638459 100755 --- a/scripts/silphco9.asm +++ b/scripts/silphco9.asm @@ -13,7 +13,7 @@ SilphCo9Script_5d7d1: ; 5d7d1 (17:57d1) bit 5, [hl] res 5, [hl] ret z - ld hl, DataTable_5d82e + ld hl, SilphCo9GateCoords call SilphCo9Script_5d837 call SilphCo9Script_5d863 CheckEvent EVENT_SILPH_CO_9_UNLOCKED_DOOR1 @@ -21,7 +21,7 @@ SilphCo9Script_5d7d1: ; 5d7d1 (17:57d1) push af ld a, $5f ld [wNewTileBlockID], a - ld bc, $401 + lb bc, 4, 1 predef ReplaceTileBlock pop af .asm_5d7f8 @@ -30,7 +30,7 @@ SilphCo9Script_5d7d1: ; 5d7d1 (17:57d1) push af ld a, $54 ld [wNewTileBlockID], a - ld bc, $209 + lb bc, 2, 9 predef ReplaceTileBlock pop af .asm_5d80b @@ -39,7 +39,7 @@ SilphCo9Script_5d7d1: ; 5d7d1 (17:57d1) push af ld a, $54 ld [wNewTileBlockID], a - ld bc, $509 + lb bc, 5, 9 predef ReplaceTileBlock pop af .asm_5d81e @@ -47,11 +47,15 @@ SilphCo9Script_5d7d1: ; 5d7d1 (17:57d1) ret nz ld a, $5f ld [wNewTileBlockID], a - ld bc, $605 + lb bc, 6, 5 predef_jump ReplaceTileBlock -DataTable_5d82e: ; 5d82e (17:582e) - db $04,$01,$02,$09,$05,$09,$06,$05,$FF +SilphCo9GateCoords: ; 5d82e (17:582e) + db $04,$01 + db $02,$09 + db $05,$09 + db $06,$05 + db $FF SilphCo9Script_5d837: ; 5d837 (17:5837) push hl diff --git a/scripts/ssanne7.asm b/scripts/ssanne7.asm index 9bb4aac6..b99f5bb2 100755 --- a/scripts/ssanne7.asm +++ b/scripts/ssanne7.asm @@ -22,7 +22,7 @@ SSAnne7Text1: ; 618ad (18:58ad) call PrintText ld hl, ReceivingHM01Text call PrintText - ld bc, (HM_01 << 8) | 1 + lb bc, HM_01, 1 call GiveItem jr nc, .BagFull ld hl, ReceivedHM01Text diff --git a/scripts/vermiliongym.asm b/scripts/vermiliongym.asm index 5c504335..78a38aec 100755 --- a/scripts/vermiliongym.asm +++ b/scripts/vermiliongym.asm @@ -38,7 +38,7 @@ VermilionGymScript_5ca6d: ; 5ca6d (17:4a6d) ld a, $5 .asm_5ca7f ld [wNewTileBlockID], a - ld bc, $202 + lb bc, 2, 2 predef_jump ReplaceTileBlock VermilionGymScript_5ca8a: ; 5ca8a (17:4a8a) @@ -66,7 +66,7 @@ VermilionGymScript_5caaa: ; 5caaa (17:4aaa) ld [hSpriteIndexOrTextID], a call DisplayTextID SetEvent EVENT_BEAT_LT_SURGE - ld bc, (TM_24 << 8) | 1 + lb bc, TM_24, 1 call GiveItem jr nc, .BagFull ld a, $7 diff --git a/scripts/vermilionhouse2.asm b/scripts/vermilionhouse2.asm index 775c32bb..f166ebb8 100755 --- a/scripts/vermilionhouse2.asm +++ b/scripts/vermilionhouse2.asm @@ -15,7 +15,7 @@ VermilionHouse2Text1: ; 56075 (15:6075) ld a, [wCurrentMenuItem] and a jr nz, .asm_eb1b7 - ld bc, (OLD_ROD << 8) | 1 + lb bc, OLD_ROD, 1 call GiveItem jr nc, .BagFull ld hl, wd728 diff --git a/scripts/victoryroad1.asm b/scripts/victoryroad1.asm index dbb69a64..11f5d5db 100755 --- a/scripts/victoryroad1.asm +++ b/scripts/victoryroad1.asm @@ -15,7 +15,7 @@ VictoryRoad1Script: ; 5da0a (17:5a0a) ret z ld a, $1d ld [wNewTileBlockID], a - ld bc, $604 + lb bc, 6, 4 predef_jump ReplaceTileBlock VictoryRoad1ScriptPointers: ; 5da3a (17:5a3a) diff --git a/scripts/victoryroad2.asm b/scripts/victoryroad2.asm index 41fe0212..cb956b1c 100755 --- a/scripts/victoryroad2.asm +++ b/scripts/victoryroad2.asm @@ -23,14 +23,14 @@ VictoryRoad2Script_517c9: ; 517c9 (14:57c9) jr z, .asm_517da push af ld a, $15 - ld bc, $403 + lb bc, 4, 3 call VictoryRoad2Script_517e2 pop af .asm_517da bit 7, a ret z ld a, $1d - ld bc, $70b + lb bc, 7, 11 VictoryRoad2Script_517e2: ; 517e2 (14:57e2) ld [wNewTileBlockID], a diff --git a/scripts/victoryroad3.asm b/scripts/victoryroad3.asm index c5aaef50..22e6813a 100755 --- a/scripts/victoryroad3.asm +++ b/scripts/victoryroad3.asm @@ -17,7 +17,7 @@ VictoryRoad3Script_44996: ; 44996 (11:4996) ret z ld a, $1d ld [wNewTileBlockID], a - ld bc, $503 + lb bc, 5, 3 predef_jump ReplaceTileBlock VictoryRoad3ScriptPointers: ; 449b1 (11:49b1) diff --git a/scripts/viridiancity.asm b/scripts/viridiancity.asm index 7cdf5ad8..79ad444f 100755 --- a/scripts/viridiancity.asm +++ b/scripts/viridiancity.asm @@ -235,7 +235,7 @@ ViridianCityText6: ; 19196 (6:5196) jr nz, .asm_4e5a0 ld hl, ViridianCityText_191ca call PrintText - ld bc, (TM_42 << 8) | 1 + lb bc, TM_42, 1 call GiveItem jr nc, .BagFull ld hl, ReceivedTM42Text diff --git a/scripts/viridiangym.asm b/scripts/viridiangym.asm index 8e012040..6cded55d 100755 --- a/scripts/viridiangym.asm +++ b/scripts/viridiangym.asm @@ -141,7 +141,7 @@ ViridianGymScript3_74995: ; 74995 (1d:4995) ld [hSpriteIndexOrTextID], a call DisplayTextID SetEvent EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI - ld bc, (TM_27 << 8) | 1 + lb bc, TM_27, 1 call GiveItem jr nc, .BagFull ld a, $d diff --git a/scripts/viridianmart.asm b/scripts/viridianmart.asm index 986ac8f1..5cb6eaea 100755 --- a/scripts/viridianmart.asm +++ b/scripts/viridianmart.asm @@ -52,7 +52,7 @@ ViridianMartScript1: ; 1d4c0 (7:54c0) ld a, $5 ld [hSpriteIndexOrTextID], a call DisplayTextID - ld bc, (OAKS_PARCEL << 8) + 1 + lb bc, OAKS_PARCEL, 1 call GiveItem SetEvent EVENT_GOT_OAKS_PARCEL ld a, $2 -- 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 'engine/town_map.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 64cfbcce7a71e6e75553575490fd60cbd61a5665 Mon Sep 17 00:00:00 2001 From: YamaArashi Date: Wed, 12 Aug 2015 02:16:56 -0700 Subject: commented SGB palette stuff --- constants/misc_constants.asm | 5 + constants/palette_constants.asm | 16 ++ data/sgb_packets.asm | 76 +++--- engine/battle/animations.asm | 4 +- engine/battle/core.asm | 40 ++-- engine/battle/init_battle_variables.asm | 6 +- engine/battle/scroll_draw_trainer_pic.asm | 4 +- engine/clear_save.asm | 2 +- engine/evolution.asm | 16 +- engine/hall_of_fame.asm | 8 +- engine/intro.asm | 8 +- engine/items/items.asm | 12 +- engine/menu/bills_pc.asm | 2 +- engine/menu/diploma.asm | 4 +- engine/menu/league_pc.asm | 8 +- engine/menu/main_menu.asm | 2 +- engine/menu/naming_screen.asm | 6 +- engine/menu/party_menu.asm | 24 +- engine/menu/pokedex.asm | 12 +- engine/menu/start_sub_menus.asm | 8 +- engine/menu/status_screen.asm | 6 +- engine/mon_party_sprites.asm | 4 +- engine/palettes.asm | 373 ++++++++++++++++-------------- engine/predefs.asm | 2 +- engine/slot_machine.asm | 6 +- engine/titlescreen.asm | 4 +- engine/town_map.asm | 6 +- engine/trade.asm | 12 +- home.asm | 8 +- home/overworld.asm | 8 +- home/vblank.asm | 2 +- hram.asm | 2 + main.asm | 2 +- wram.asm | 46 +++- 34 files changed, 409 insertions(+), 335 deletions(-) (limited to 'engine/town_map.asm') diff --git a/constants/misc_constants.asm b/constants/misc_constants.asm index 00afa755..5d940328 100644 --- a/constants/misc_constants.asm +++ b/constants/misc_constants.asm @@ -159,6 +159,11 @@ BIT_LEADING_ZEROES EQU 7 LEFT_ALIGN EQU (1 << BIT_LEFT_ALIGN) LEADING_ZEROES EQU (1 << BIT_LEADING_ZEROES) +; HP bar +HP_BAR_GREEN EQU 0 +HP_BAR_YELLOW EQU 1 +HP_BAR_RED EQU 2 + ; serial ESTABLISH_CONNECTION_WITH_INTERNAL_CLOCK EQU $01 diff --git a/constants/palette_constants.asm b/constants/palette_constants.asm index 2a871462..ca2e103a 100755 --- a/constants/palette_constants.asm +++ b/constants/palette_constants.asm @@ -1,3 +1,19 @@ +SET_PAL_BATTLE_BLACK EQU $00 +SET_PAL_BATTLE EQU $01 +SET_PAL_TOWN_MAP EQU $02 +SET_PAL_STATUS_SCREEN EQU $03 +SET_PAL_POKEDEX EQU $04 +SET_PAL_SLOTS EQU $05 +SET_PAL_TITLE_SCREEN EQU $06 +SET_PAL_NIDORINO_INTRO EQU $07 +SET_PAL_GENERIC EQU $08 +SET_PAL_OVERWORLD EQU $09 +SET_PAL_PARTY_MENU EQU $0A +SET_PAL_POKEMON_WHOLE_SCREEN EQU $0B +SET_PAL_GAME_FREAK_INTRO EQU $0C +SET_PAL_TRAINER_CARD EQU $0D +UPDATE_PARTY_MENU_BLK_PACKET EQU $FC + ; super game boy palettes const_value = 0 diff --git a/data/sgb_packets.asm b/data/sgb_packets.asm index 3e5e3f0b..f810db8f 100755 --- a/data/sgb_packets.asm +++ b/data/sgb_packets.asm @@ -60,11 +60,11 @@ BlkPacket_WholeScreen: ; 7219e (1c:619e) BlkPacket_Battle: ; 721b5 (1c:61b5) ATTR_BLK 5 - ATTR_BLK_DATA %111, 2,2,0, 00,12, 19,17 - ATTR_BLK_DATA %011, 1,1,0, 01,00, 10,03 - ATTR_BLK_DATA %011, 0,0,0, 10,07, 19,10 - ATTR_BLK_DATA %011, 2,2,0, 00,04, 08,11 - ATTR_BLK_DATA %011, 3,3,0, 11,00, 19,06 + ATTR_BLK_DATA %111, 2,2,0, 00,12, 19,17 ; message box: pal 2 + ATTR_BLK_DATA %011, 1,1,0, 01,00, 10,03 ; enemy HP bar: pal 1 + ATTR_BLK_DATA %011, 0,0,0, 10,07, 19,10 ; player HP bar: pal 0 + ATTR_BLK_DATA %011, 2,2,0, 00,04, 08,11 ; player mon: pal 2 + ATTR_BLK_DATA %011, 3,3,0, 11,00, 19,06 ; enemy mon : pal 3 db $03,$00,$00,$13,$0b,$00 db $03,$00,$0c,$13,$11,$02 @@ -76,7 +76,7 @@ BlkPacket_Battle: ; 721b5 (1c:61b5) BlkPacket_StatusScreen: ; 721fa (1c:61fa) ATTR_BLK 1 - ATTR_BLK_DATA %111, 1,1,0, 01,00, 07,06 + ATTR_BLK_DATA %111, 1,1,0, 01,00, 07,06 ; mon: pal 1, HP bar: pal 0 ds 8 db $02,$00,$00,$11,$00,$03 @@ -86,7 +86,7 @@ BlkPacket_StatusScreen: ; 721fa (1c:61fa) BlkPacket_Pokedex: ; 72222 (1c:6222) ATTR_BLK 1 - ATTR_BLK_DATA %111, 1,1,0, 01,01, 08,08 + ATTR_BLK_DATA %111, 1,1,0, 01,01, 08,08 ; mon: pal 1, everything else: pal 0 ds 8 db $02,$00,$00,$11,$00,$01 @@ -97,11 +97,11 @@ BlkPacket_Pokedex: ; 72222 (1c:6222) BlkPacket_Slots: ; 7224f (1c:624f) ATTR_BLK 5 - ATTR_BLK_DATA %011, 1,1,0, 00,00, 19,11 - ATTR_BLK_DATA %011, 2,2,0, 00,04, 19,09 - ATTR_BLK_DATA %010, 3,3,0, 00,06, 19,07 - ATTR_BLK_DATA %011, 0,0,0, 04,04, 15,09 - ATTR_BLK_DATA %011, 0,0,0, 00,12, 19,17 + ATTR_BLK_DATA %011, 1,1,0, 00,00, 19,11 ; "3" rows and top of screen: pal 1 + ATTR_BLK_DATA %011, 2,2,0, 00,04, 19,09 ; "2" rows: pal 2 + ATTR_BLK_DATA %010, 3,3,0, 00,06, 19,07 ; "1" row: pal 3 + ATTR_BLK_DATA %011, 0,0,0, 04,04, 15,09 ; slot reels: pal 0 + ATTR_BLK_DATA %011, 0,0,0, 00,12, 19,17 ; message box: pal 0 db $03,$00,$00,$13,$0b,$01 db $03,$00,$04,$13,$09,$02 @@ -112,9 +112,9 @@ BlkPacket_Slots: ; 7224f (1c:624f) BlkPacket_Titlescreen: ; 7228e (1c:628e) ATTR_BLK 3 - ATTR_BLK_DATA %011, 0,0,0, 00,00, 19,07 - ATTR_BLK_DATA %010, 1,1,0, 00,08, 19,09 - ATTR_BLK_DATA %011, 2,2,0, 00,10, 19,17 + ATTR_BLK_DATA %011, 0,0,0, 00,00, 19,07 ; pokemon logo: pal 0 + ATTR_BLK_DATA %010, 1,1,0, 00,08, 19,09 ; version text: pal 1 + ATTR_BLK_DATA %011, 2,2,0, 00,10, 19,17 ; player, mon, copyright text: pal 2 ds 12 db $03,$00,$00,$13,$07,$00 @@ -124,9 +124,9 @@ BlkPacket_Titlescreen: ; 7228e (1c:628e) BlkPacket_NidorinoIntro: ; 722c1 (1c:62c1) ATTR_BLK 3 - ATTR_BLK_DATA %011, 1,1,0, 00,00, 19,03 - ATTR_BLK_DATA %011, 0,0,0, 00,04, 19,13 - ATTR_BLK_DATA %011, 1,1,0, 00,14, 19,17 + ATTR_BLK_DATA %011, 1,1,0, 00,00, 19,03 ; upper black bar: pal 1 + ATTR_BLK_DATA %011, 0,0,0, 00,04, 19,13 ; letterbox: pal 0 + ATTR_BLK_DATA %011, 1,1,0, 00,14, 19,17 ; lower black bar: pal 1 ds 12 db $03,$00,$00,$13,$03,$01 @@ -136,13 +136,13 @@ BlkPacket_NidorinoIntro: ; 722c1 (1c:62c1) BlkPacket_PartyMenu: ; 722f4 (1c:62f4) ATTR_BLK 7 - ATTR_BLK_DATA %110, 0,0,1, 01,00, 02,12 - ATTR_BLK_DATA %010, 0,0,0, 05,01, 11,01 - ATTR_BLK_DATA %010, 0,0,0, 05,03, 11,03 - ATTR_BLK_DATA %010, 0,0,0, 05,05, 11,05 - ATTR_BLK_DATA %010, 0,0,0, 05,07, 11,07 - ATTR_BLK_DATA %010, 0,0,0, 05,09, 11,09 - ATTR_BLK_DATA %010, 0,0,0, 05,11, 11,11 + ATTR_BLK_DATA %110, 0,0,1, 01,00, 02,12 ; mon sprites: pal 0, everything else: pal 1 + ATTR_BLK_DATA %010, 0,0,0, 05,01, 11,01 ; HP bar 0: pal set dynamically + ATTR_BLK_DATA %010, 0,0,0, 05,03, 11,03 ; HP bar 1: pal set dynamically + ATTR_BLK_DATA %010, 0,0,0, 05,05, 11,05 ; HP bar 2: pal set dynamically + ATTR_BLK_DATA %010, 0,0,0, 05,07, 11,07 ; HP bar 3: pal set dynamically + ATTR_BLK_DATA %010, 0,0,0, 05,09, 11,09 ; HP bar 4: pal set dynamically + ATTR_BLK_DATA %010, 0,0,0, 05,11, 11,11 ; HP bar 5: pal set dynamically ds 4 db $02,$00,$00,$11,$01,$03 @@ -158,16 +158,16 @@ BlkPacket_PartyMenu: ; 722f4 (1c:62f4) BlkPacket_TrainerCard: ; 72360 (1c:6360) ATTR_BLK 10 - ATTR_BLK_DATA %010, 0,0,0, 03,12, 04,13 - ATTR_BLK_DATA %010, 1,1,0, 07,12, 08,13 - ATTR_BLK_DATA %010, 3,3,0, 11,12, 12,13 - ATTR_BLK_DATA %010, 2,2,0, 16,11, 17,12 - ATTR_BLK_DATA %010, 1,1,0, 14,13, 15,14 - ATTR_BLK_DATA %010, 3,3,0, 16,13, 17,14 - ATTR_BLK_DATA %010, 2,2,0, 03,15, 04,16 - ATTR_BLK_DATA %010, 3,3,0, 07,15, 08,16 - ATTR_BLK_DATA %010, 2,2,0, 11,15, 12,16 - ATTR_BLK_DATA %010, 1,1,0, 15,15, 16,16 + ATTR_BLK_DATA %010, 0,0,0, 03,12, 04,13 ; Boulder Badge + ATTR_BLK_DATA %010, 1,1,0, 07,12, 08,13 ; Cascade Badge + ATTR_BLK_DATA %010, 3,3,0, 11,12, 12,13 ; Thunder Badge + ATTR_BLK_DATA %010, 2,2,0, 16,11, 17,12 ; Rainbow Badge + ATTR_BLK_DATA %010, 1,1,0, 14,13, 15,14 ; Rainbow Badge + ATTR_BLK_DATA %010, 3,3,0, 16,13, 17,14 ; Rainbow Badge + ATTR_BLK_DATA %010, 2,2,0, 03,15, 04,16 ; Soul Badge + ATTR_BLK_DATA %010, 3,3,0, 07,15, 08,16 ; Marsh Badge + ATTR_BLK_DATA %010, 2,2,0, 11,15, 12,16 ; Volcano Badge + ATTR_BLK_DATA %010, 1,1,0, 15,15, 16,16 ; Earth Badge ds 2 db $03,$03,$0c,$04,$0d,$00 @@ -184,9 +184,9 @@ BlkPacket_TrainerCard: ; 72360 (1c:6360) BlkPacket_GameFreakIntro: ; 723dd (1c:63dd) ATTR_BLK 3 - ATTR_BLK_DATA %111, 1,1,0, 05,11, 07,13 - ATTR_BLK_DATA %010, 2,2,0, 08,11, 09,13 - ATTR_BLK_DATA %011, 3,3,0, 12,11, 14,13 + ATTR_BLK_DATA %111, 1,1,0, 05,11, 07,13 ; falling stars (left): pal 1, GameFreak logo: pal 0 + ATTR_BLK_DATA %010, 2,2,0, 08,11, 09,13 ; falling stars (middle): pal 2 + ATTR_BLK_DATA %011, 3,3,0, 12,11, 14,13 ; falling stars (right): pal 3 ds 12 db $03,$00,$00,$13,$0a,$00 diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm index 1bd48988..6d0f0e5f 100755 --- a/engine/battle/animations.asm +++ b/engine/battle/animations.asm @@ -2170,8 +2170,8 @@ ChangeMonPic: ; 79793 (1e:5793) pop af ld [wBattleMonSpecies2], a .done - ld b, $1 - jp GoPAL_SET + ld b, SET_PAL_BATTLE + jp RunPaletteCommand AnimationHideEnemyMonPic: ; 797d8 (1e:57d8) ; Hides the enemy mon's sprite diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 9dbcf179..e2a9e5a7 100755 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -184,8 +184,8 @@ SlidePlayerAndEnemySilhouettesOnScreen: ; 3c04c (f:404c) inc a ld [H_AUTOBGTRANSFERENABLED], a call Delay3 - ld b, $1 - call GoPAL_SET + ld b, SET_PAL_BATTLE + call RunPaletteCommand call HideSprites jpab PrintBeginningBattleText @@ -976,7 +976,7 @@ AnyEnemyPokemonAliveCheck: ; 3c64f (f:464f) ; stores whether enemy ran in Z flag ReplaceFaintedEnemyMon: ; 3c664 (f:4664) - ld hl, wcf1e + ld hl, wEnemyHPBarColor ld e, $30 call GetBattleHealthBarColor callab DrawEnemyPokeballs @@ -1199,7 +1199,7 @@ ChooseNextMon: ; 3c7d8 (f:47d8) call GBPalWhiteOut call LoadHudTilePatterns call LoadScreenTilesFromBuffer1 - call GoPAL_SET_CF1C + call RunDefaultPaletteCommand call GBPalNormal call SendOutMon ld hl, wEnemyMonHP @@ -1228,8 +1228,8 @@ HandlePlayerBlackOut: ; 3c837 (f:4837) cp OAKS_LAB ret z ; starter battle in oak's lab: don't black out .notSony1Battle - ld b, $0 - call GoPAL_SET + ld b, SET_PAL_BATTLE_BLACK + call RunPaletteCommand ld hl, PlayerBlackedOutText2 ld a, [wLinkState] cp LINK_STATE_BATTLING @@ -1494,8 +1494,8 @@ EnemySendOutFirstMon: ; 3c92a (f:492a) coord hl, 0, 0 lb bc, 4, 11 call ClearScreenArea - ld b,1 - call GoPAL_SET + ld b, SET_PAL_BATTLE + call RunPaletteCommand call GBPalNormal ld hl,TrainerSentOutText call PrintText @@ -1829,8 +1829,8 @@ SendOutMon: ; 3cc91 (f:4c91) ld [W_PLAYERDISABLEDMOVE], a ld [wPlayerDisabledMoveNumber], a ld [wPlayerMonMinimized], a - ld b, $1 - call GoPAL_SET + ld b, SET_PAL_BATTLE + call RunPaletteCommand ld hl, W_ENEMYBATTSTATUS1 res UsingTrappingMove, [hl] ld a, $1 @@ -1926,7 +1926,7 @@ DrawPlayerHUDAndHPBar: ; 3cd60 (f:4d60) predef DrawHP ld a, $1 ld [H_AUTOBGTRANSFERENABLED], a - ld hl, wcf1d + ld hl, wPlayerHPBarColor call GetBattleHealthBarColor ld hl, wBattleMonHP ld a, [hli] @@ -1935,8 +1935,8 @@ DrawPlayerHUDAndHPBar: ; 3cd60 (f:4d60) ld a, [wccf6] and a ret nz - ld a, [wcf1d] - cp $2 + ld a, [wPlayerHPBarColor] + cp HP_BAR_RED jr z, .asm_3cde6 .asm_3cdd9 ld hl, wLowHealthAlarm @@ -2039,7 +2039,7 @@ DrawEnemyHUDAndHPBar: ; 3cdec (f:4dec) call DrawHPBar ld a, $1 ld [H_AUTOBGTRANSFERENABLED], a - ld hl, wcf1e + ld hl, wEnemyHPBarColor GetBattleHealthBarColor: ; 3ce90 (f:4e90) ld b, [hl] @@ -2047,8 +2047,8 @@ GetBattleHealthBarColor: ; 3ce90 (f:4e90) ld a, [hl] cp b ret z - ld b, $1 - jp GoPAL_SET + ld b, SET_PAL_BATTLE + jp RunPaletteCommand ; center's mon's name on the battle screen ; if the name is 1 or 2 letters long, it is printed 2 spaces more to the right than usual @@ -2397,7 +2397,7 @@ PartyMenuOrRockOrRun: call GBPalWhiteOut call LoadHudTilePatterns call LoadScreenTilesFromBuffer2 - call GoPAL_SET_CF1C + call RunDefaultPaletteCommand call GBPalNormal jp DisplayBattleMenu .partyMonDeselected @@ -2486,7 +2486,7 @@ PartyMenuOrRockOrRun: call ClearSprites call LoadHudTilePatterns call LoadScreenTilesFromBuffer1 - call GoPAL_SET_CF1C + call RunDefaultPaletteCommand call GBPalNormal ; fall through to SwitchPlayerMon @@ -6932,8 +6932,8 @@ InitWildBattle: ; 3ef8b (f:6f8b) ; common code that executes after init battle code specific to trainer or wild battles InitBattle_Common: ; 3efeb (f:6feb) - ld b, $0 - call GoPAL_SET + ld b, SET_PAL_BATTLE_BLACK + call RunPaletteCommand call SlidePlayerAndEnemySilhouettesOnScreen xor a ld [H_AUTOBGTRANSFERENABLED], a diff --git a/engine/battle/init_battle_variables.asm b/engine/battle/init_battle_variables.asm index 3c926858..071e5c67 100644 --- a/engine/battle/init_battle_variables.asm +++ b/engine/battle/init_battle_variables.asm @@ -16,9 +16,9 @@ InitBattleVariables: ; 525af (14:65af) ld [wPlayerMonNumber], a ld [wEscapedFromBattle], a ld [wMapPalOffset], a - ld hl, wcf1d - ld [hli], a - ld [hl], a + ld hl, wPlayerHPBarColor + ld [hli], a ; wPlayerHPBarColor + ld [hl], a ; wEnemyHPBarColor ld hl, wCanEvolveFlags ld b, $3c .loop diff --git a/engine/battle/scroll_draw_trainer_pic.asm b/engine/battle/scroll_draw_trainer_pic.asm index b32650e3..5949208c 100644 --- a/engine/battle/scroll_draw_trainer_pic.asm +++ b/engine/battle/scroll_draw_trainer_pic.asm @@ -3,8 +3,8 @@ _ScrollTrainerPicAfterBattle: ; 396d3 (e:56d3) ; the screen from the right. xor a ld [wEnemyMonSpecies2], a - ld b, $1 - call GoPAL_SET + ld b, SET_PAL_BATTLE + call RunPaletteCommand callab _LoadTrainerPic coord hl, 19, 0 ld c, $0 diff --git a/engine/clear_save.asm b/engine/clear_save.asm index d4f05071..adbef1a4 100755 --- a/engine/clear_save.asm +++ b/engine/clear_save.asm @@ -1,6 +1,6 @@ DoClearSaveDialogue: ; 1c98a (7:498a) call ClearScreen - call GoPAL_SET_CF1C + call RunDefaultPaletteCommand call LoadFontTilePatterns call LoadTextBoxTilePatterns ld hl, ClearSaveDataText diff --git a/engine/evolution.asm b/engine/evolution.asm index 8fbf568a..c65cc293 100755 --- a/engine/evolution.asm +++ b/engine/evolution.asm @@ -21,8 +21,8 @@ EvolveMon: ; 7bde9 (1e:7de9) ld [H_AUTOBGTRANSFERENABLED], a ld [hTilesetType], a ld a, [wEvoOldSpecies] - ld [wcf1d], a - ld c, $0 + ld [wWholeScreenPaletteMonSpecies], a + ld c, 0 call EvolutionSetWholeScreenPalette ld a, [wEvoNewSpecies] ld [wcf91], a @@ -46,7 +46,7 @@ EvolveMon: ; 7bde9 (1e:7de9) call PlayMusic ld c, 80 call DelayFrames - ld c, $1 + ld c, 1 ; set PAL_BLACK instead of mon palette call EvolutionSetWholeScreenPalette lb bc, $1, $10 .animLoop @@ -66,13 +66,13 @@ EvolveMon: ; 7bde9 (1e:7de9) call Evolution_ChangeMonPic ; show the new species pic ld a, [wEvoNewSpecies] .done - ld [wcf1d], a + ld [wWholeScreenPaletteMonSpecies], a ld a, $ff ld [wNewSoundID], a call PlaySound - ld a, [wcf1d] + ld a, [wWholeScreenPaletteMonSpecies] call PlayCry - ld c, $0 + ld c, 0 call EvolutionSetWholeScreenPalette pop af ld [wd0b5], a @@ -94,8 +94,8 @@ EvolveMon: ; 7bde9 (1e:7de9) jr .done EvolutionSetWholeScreenPalette: ; 7beb4 (1e:7eb4) - ld b, $b - jp GoPAL_SET + ld b, SET_PAL_POKEMON_WHOLE_SCREEN + jp RunPaletteCommand Evolution_LoadPic: ; 7beb9 (1e:7eb9) call GetMonHeader diff --git a/engine/hall_of_fame.asm b/engine/hall_of_fame.asm index 062950cf..c329c1a9 100755 --- a/engine/hall_of_fame.asm +++ b/engine/hall_of_fame.asm @@ -104,7 +104,7 @@ HoFShowMonOrPlayer: ; 70278 (1c:4278) ld [wcf91], a ld [wd0b5], a ld [wBattleMonSpecies2], a - ld [wcf1d], a + ld [wWholeScreenPaletteMonSpecies], a ld a, [wHoFMonOrPlayer] and a jr z, .showMon @@ -117,9 +117,9 @@ HoFShowMonOrPlayer: ; 70278 (1c:4278) call LoadFrontSpriteByMonIndex predef LoadMonBackPic .next1 - ld b, $b - ld c, $0 - call GoPAL_SET + ld b, SET_PAL_POKEMON_WHOLE_SCREEN + ld c, 0 + call RunPaletteCommand ld a, %11100100 ld [rBGP], a ld c, $31 ; back pic diff --git a/engine/intro.asm b/engine/intro.asm index 175baa63..29aa4ef4 100755 --- a/engine/intro.asm +++ b/engine/intro.asm @@ -18,8 +18,8 @@ PlayIntro: ; 41682 (10:5682) ret PlayIntroScene: ; 4169d (10:569d) - ld b, $7 - call GoPAL_SET + ld b, SET_PAL_NIDORINO_INTRO + call RunPaletteCommand ld a, %11100100 ld [rBGP], a ld [rOBP0], a @@ -302,8 +302,8 @@ LoadIntroGraphics: ; 41852 (10:5852) jp FarCopyData2 PlayShootingStar: ; 4188a (10:588a) - ld b, $c - call GoPAL_SET + ld b, SET_PAL_GAME_FREAK_INTRO + call RunPaletteCommand callba LoadCopyrightAndTextBoxTiles ld a, $e4 ld [rBGP], a diff --git a/engine/items/items.asm b/engine/items/items.asm index 4ba3c706..418b21da 100755 --- a/engine/items/items.asm +++ b/engine/items/items.asm @@ -127,7 +127,7 @@ ItemUseBall: ; d687 (3:5687) ld hl,W_NUMSAFARIBALLS dec [hl] .skipSafariZoneCode - call GoPAL_SET_CF1C + call RunDefaultPaletteCommand ld a,$43 ld [wd11e],a call LoadScreenTilesFromBuffer1 ;restore screenBuffer from Backup @@ -1111,7 +1111,7 @@ ItemUseMedicine: ; dabb (3:5abb) and a ; using Softboiled? ret nz ; if so, return call GBPalWhiteOut - call z,GoPAL_SET_CF1C + call z,RunDefaultPaletteCommand ld a,[W_ISINBATTLE] and a ret nz @@ -1928,7 +1928,7 @@ ItemUsePPRestore: ; e31e (3:631e) pop af ld [wWhichPokemon],a call GBPalWhiteOut - call GoPAL_SET_CF1C + call RunDefaultPaletteCommand jp RemoveUsedItem .afterRestoringPP ; after using a (Max) Ether/Elixir ld a,[wWhichPokemon] @@ -2032,7 +2032,7 @@ ItemUsePPRestore: ; e31e (3:631e) call ItemUseNoEffect .itemNotUsed call GBPalWhiteOut - call GoPAL_SET_CF1C + call RunDefaultPaletteCommand pop af xor a ld [wActionResultOrTookBattleTurn],a ; item use failed @@ -2125,7 +2125,7 @@ ItemUseTMHM: ; e479 (3:6479) pop af call GBPalWhiteOutWithDelay3 call ClearSprites - call GoPAL_SET_CF1C + call RunDefaultPaletteCommand jp LoadScreenTilesFromBuffer1 ; restore saved screen .checkIfAbleToLearnMove predef CanLearnTM ; check if the pokemon can learn the move @@ -2201,7 +2201,7 @@ ItemUseNotYoursToUse: ; e586 (3:6586) jr ItemUseFailed ThrowBallAtTrainerMon: ; e58b (3:658b) - call GoPAL_SET_CF1C + call RunDefaultPaletteCommand call LoadScreenTilesFromBuffer1 ; restore saved screen call Delay3 ld a,TOSS_ANIM diff --git a/engine/menu/bills_pc.asm b/engine/menu/bills_pc.asm index 072a19d3..e8e48b79 100644 --- a/engine/menu/bills_pc.asm +++ b/engine/menu/bills_pc.asm @@ -450,7 +450,7 @@ DisplayDepositWithdrawMenu: ; 2174b (8:574b) predef StatusScreen2 call LoadScreenTilesFromBuffer1 call ReloadTilesetTilePatterns - call GoPAL_SET_CF1C + call RunDefaultPaletteCommand call LoadGBPal jr .loop diff --git a/engine/menu/diploma.asm b/engine/menu/diploma.asm index 3e28bc93..630c6c23 100755 --- a/engine/menu/diploma.asm +++ b/engine/menu/diploma.asm @@ -55,8 +55,8 @@ DisplayDiploma: ; 566e2 (15:66e2) call EnableLCD callba LoadTrainerInfoTextBoxTiles - ld b, $8 - call GoPAL_SET + ld b, SET_PAL_GENERIC + call RunPaletteCommand call Delay3 call GBPalNormal ld a, $90 diff --git a/engine/menu/league_pc.asm b/engine/menu/league_pc.asm index e2dce785..5b8ae7f0 100755 --- a/engine/menu/league_pc.asm +++ b/engine/menu/league_pc.asm @@ -47,7 +47,7 @@ PKMNLeaguePC: ; 0x7657e res 6, [hl] call GBPalWhiteOutWithDelay3 call ClearScreen - call GoPAL_SET_CF1C + call RunDefaultPaletteCommand jp GBPalNormal LeaguePCShowTeam: ; 765e5 (1d:65e5) @@ -86,15 +86,15 @@ LeaguePCShowMon: ; 76610 (1d:6610) ld [wcf91], a ld [wd0b5], a ld [wBattleMonSpecies2], a - ld [wcf1d], a + ld [wWholeScreenPaletteMonSpecies], a ld a, [hli] ld [wHoFMonLevel], a ld de, wcd6d ld bc, NAME_LENGTH call CopyData - ld b, $0B + ld b, SET_PAL_POKEMON_WHOLE_SCREEN ld c, 0 - call GoPAL_SET + call RunPaletteCommand coord hl, 12, 5 call GetMonHeader call LoadFrontSpriteByMonIndex diff --git a/engine/menu/main_menu.asm b/engine/menu/main_menu.asm index 24302c46..bff0fbe7 100755 --- a/engine/menu/main_menu.asm +++ b/engine/menu/main_menu.asm @@ -24,7 +24,7 @@ MainMenu: ; 5af2 (1:5af2) ld hl,wd72e res 6,[hl] call ClearScreen - call GoPAL_SET_CF1C + call RunDefaultPaletteCommand call LoadTextBoxTilePatterns call LoadFontTilePatterns ld hl,wd730 diff --git a/engine/menu/naming_screen.asm b/engine/menu/naming_screen.asm index 85111cd6..978216c8 100755 --- a/engine/menu/naming_screen.asm +++ b/engine/menu/naming_screen.asm @@ -88,8 +88,8 @@ DisplayNamingScreen: ; 6596 (1:6596) call GBPalWhiteOutWithDelay3 call ClearScreen call UpdateSprites - ld b, $8 - call GoPAL_SET + ld b, SET_PAL_GENERIC + call RunPaletteCommand call LoadHpBarAndStatusTilePatterns call LoadEDTile callba LoadMonPartySpriteGfx @@ -163,7 +163,7 @@ DisplayNamingScreen: ; 6596 (1:6596) call GBPalWhiteOutWithDelay3 call ClearScreen call ClearSprites - call GoPAL_SET_CF1C + call RunDefaultPaletteCommand call GBPalNormal xor a ld [W_SUBANIMTRANSFORM], a diff --git a/engine/menu/party_menu.asm b/engine/menu/party_menu.asm index d83c4fbe..f3e1a138 100755 --- a/engine/menu/party_menu.asm +++ b/engine/menu/party_menu.asm @@ -29,13 +29,13 @@ RedrawPartyMenu_: ; 12ce3 (4:6ce3) cp a,SWAP_MONS_PARTY_MENU jp z,.printMessage call ErasePartyMenuCursors - callba SendBlkPacket_PartyMenu + callba InitPartyMenuBlkPacket coord hl, 3, 0 ld de,wPartySpecies xor a ld c,a ld [hPartyMonIndex],a - ld [wcf2d],a + ld [wWhichPartyMenuHPBar],a .loop ld a,[de] cp a,$FF ; reached the terminator? @@ -96,7 +96,7 @@ RedrawPartyMenu_: ; 12ce3 (4:6ce3) ld a,[hFlags_0xFFF6] res 0,a ld [hFlags_0xFFF6],a - call SetPartyMenuHealthBarColor ; color the HP bar (on SGB) + call SetPartyMenuHPBarColor ; color the HP bar (on SGB) pop hl jr .printLevel .teachMoveMenu @@ -188,8 +188,8 @@ RedrawPartyMenu_: ; 12ce3 (4:6ce3) .notAbleToEvolveText db "NOT ABLE@" .afterDrawingMonEntries - ld b,$0A - call GoPAL_SET + ld b, SET_PAL_PARTY_MENU + call RunPaletteCommand .printMessage ld hl,wd730 ld a,[hl] @@ -311,15 +311,15 @@ RareCandyText: ; 12ec0 (4:6ec0) db $06 db "@" -SetPartyMenuHealthBarColor: ; 12ec7 (4:6ec7) - ld hl, wcf1f - ld a, [wcf2d] +SetPartyMenuHPBarColor: ; 12ec7 (4:6ec7) + ld hl, wPartyMenuHPBarColors + ld a, [wWhichPartyMenuHPBar] ld c, a - ld b, $0 + ld b, 0 add hl, bc call GetHealthBarColor - ld b, $fc - call GoPAL_SET - ld hl, wcf2d + ld b, UPDATE_PARTY_MENU_BLK_PACKET + call RunPaletteCommand + ld hl, wWhichPartyMenuHPBar inc [hl] ret diff --git a/engine/menu/pokedex.asm b/engine/menu/pokedex.asm index 8e69329a..a58523e8 100755 --- a/engine/menu/pokedex.asm +++ b/engine/menu/pokedex.asm @@ -12,8 +12,8 @@ ShowPokedexMenu: ; 40000 (10:4000) ld [wd11e],a ld [hJoy7],a .setUpGraphics - ld b,$08 - call GoPAL_SET + ld b, SET_PAL_GENERIC + call RunPaletteCommand callab LoadPokedexTilePatterns .doPokemonListMenu ld hl,wTopMenuItemY @@ -41,7 +41,7 @@ ShowPokedexMenu: ; 40000 (10:4000) pop af ld [wListScrollOffset],a call GBPalWhiteOutWithDelay3 - call GoPAL_SET_CF1C + call RunDefaultPaletteCommand jp ReloadMapData .goToSideMenu call HandlePokedexSideMenu @@ -404,8 +404,8 @@ ShowPokedexDataInternal: ; 402e2 (10:42e2) ld a,[wd11e] ; pokemon ID ld [wcf91],a push af - ld b,04 - call GoPAL_SET + ld b, SET_PAL_POKEDEX + call RunPaletteCommand pop af ld [wd11e],a ld a,[hTilesetType] @@ -561,7 +561,7 @@ ShowPokedexDataInternal: ; 402e2 (10:42e2) ld [hTilesetType],a call GBPalWhiteOut call ClearScreen - call GoPAL_SET_CF1C + call RunDefaultPaletteCommand call LoadTextBoxTilePatterns call GBPalNormal ld hl,wd72c diff --git a/engine/menu/start_sub_menus.asm b/engine/menu/start_sub_menus.asm index f726f128..ab8c8756 100755 --- a/engine/menu/start_sub_menus.asm +++ b/engine/menu/start_sub_menus.asm @@ -297,7 +297,7 @@ ErasePartyMenuCursors: ; 132ed (4:72ed) ItemMenuLoop: ; 132fc (4:72fc) call LoadScreenTilesFromBuffer2DisableBGTransfer ; restore saved screen - call GoPAL_SET_CF1C + call RunDefaultPaletteCommand StartMenu_Item: ; 13302 (4:7302) ld a,[wLinkState] @@ -506,14 +506,14 @@ StartMenu_TrainerInfo: ; 13460 (4:7460) ld [hTilesetType],a call DrawTrainerInfo predef DrawBadges ; draw badges - ld b,$0d - call GoPAL_SET + ld b, SET_PAL_TRAINER_CARD + call RunPaletteCommand call GBPalNormal call WaitForTextScrollButtonPress ; wait for button press call GBPalWhiteOut call LoadFontTilePatterns call LoadScreenTilesFromBuffer2 ; restore saved screen - call GoPAL_SET_CF1C + call RunDefaultPaletteCommand call ReloadMapData call LoadGBPal pop af diff --git a/engine/menu/status_screen.asm b/engine/menu/status_screen.asm index fb4a0dfc..c91d5eda 100755 --- a/engine/menu/status_screen.asm +++ b/engine/menu/status_screen.asm @@ -121,10 +121,10 @@ StatusScreen: ; 12953 (4:6953) call PlaceString ; "TYPE1/" coord hl, 11, 3 predef DrawHP - ld hl, wcf25 + ld hl, wStatusScreenHPBarColor call GetHealthBarColor - ld b, $3 - call GoPAL_SET ; SGB palette + ld b, SET_PAL_STATUS_SCREEN + call RunPaletteCommand coord hl, 16, 6 ld de, wLoadedMonStatus call PrintStatusCondition diff --git a/engine/mon_party_sprites.asm b/engine/mon_party_sprites.asm index e7f9d2df..c0163b1e 100755 --- a/engine/mon_party_sprites.asm +++ b/engine/mon_party_sprites.asm @@ -5,12 +5,12 @@ AnimatePartyMon_ForceSpeed1: ; 716f7 (1c:56f7) inc a jr GetAnimationSpeed -; wcf1f contains the party mon's health bar colors +; wPartyMenuHPBarColors contains the party mon's health bar colors ; 0: green ; 1: yellow ; 2: red AnimatePartyMon: ; 716ff (1c:56ff) - ld hl, wcf1f + ld hl, wPartyMenuHPBarColors ld a, [wCurrentMenuItem] ld c, a ld b, $0 diff --git a/engine/palettes.asm b/engine/palettes.asm index a325e0a3..55d488aa 100755 --- a/engine/palettes.asm +++ b/engine/palettes.asm @@ -1,33 +1,33 @@ -Func_71ddf: ; 71ddf (1c:5ddf) +_RunPaletteCommand: ; 71ddf (1c:5ddf) call GetPredefRegisters ld a, b cp $ff - jr nz, .asm_71dea - ld a, [wcf1c] -.asm_71dea - cp $fc - jp z, Func_71fc2 + jr nz, .next + ld a, [wDefaultPaletteCommand] ; use default command if command ID is $ff +.next + cp UPDATE_PARTY_MENU_BLK_PACKET + jp z, UpdatePartyMenuBlkPacket ld l, a - ld h, $0 + ld h, 0 add hl, hl - ld de, PointerTable_71f73 + ld de, SetPalFunctions add hl, de ld a, [hli] ld h, [hl] ld l, a - ld de, Func_72156 + ld de, SendSGBPackets push de jp [hl] -SendPalPacket_Black: ; 71dff (1c:5dff) +SetPal_BattleBlack: ; 71dff (1c:5dff) ld hl, PalPacket_Black ld de, BlkPacket_Battle ret ; uses PalPacket_Empty to build a packet based on mon IDs and health color -BuildBattlePalPacket: ; 71e06 (1c:5e06) +SetPal_Battle: ; 71e06 (1c:5e06) ld hl, PalPacket_Empty - ld de, wcf2d + ld de, wPalPacket ld bc, $10 call CopyData ld a, [W_PLAYERBATTSTATUS3] @@ -38,12 +38,12 @@ BuildBattlePalPacket: ; 71e06 (1c:5e06) ld hl, wEnemyMonSpecies2 call DeterminePaletteID ld c, a - ld hl, wcf2e - ld a, [wcf1d] + ld hl, wPalPacket + 1 + ld a, [wPlayerHPBarColor] add PAL_GREENBAR ld [hli], a inc hl - ld a, [wcf1e] + ld a, [wEnemyHPBarColor] add PAL_GREENBAR ld [hli], a inc hl @@ -52,21 +52,21 @@ BuildBattlePalPacket: ; 71e06 (1c:5e06) inc hl ld a, c ld [hl], a - ld hl, wcf2d + ld hl, wPalPacket ld de, BlkPacket_Battle - ld a, $1 - ld [wcf1c], a + ld a, SET_PAL_BATTLE + ld [wDefaultPaletteCommand], a ret -SendPalPacket_TownMap: ; 71e48 (1c:5e48) +SetPal_TownMap: ; 71e48 (1c:5e48) ld hl, PalPacket_TownMap ld de, BlkPacket_WholeScreen ret ; uses PalPacket_Empty to build a packet based the mon ID -BuildStatusScreenPalPacket: ; 71e4f (1c:5e4f) +SetPal_StatusScreen: ; 71e4f (1c:5e4f) ld hl, PalPacket_Empty - ld de, wcf2d + ld de, wPalPacket ld bc, $10 call CopyData ld a, [wcf91] @@ -76,67 +76,67 @@ BuildStatusScreenPalPacket: ; 71e4f (1c:5e4f) .pokemon call DeterminePaletteIDOutOfBattle push af - ld hl, wcf2e - ld a, [wcf25] + ld hl, wPalPacket + 1 + ld a, [wStatusScreenHPBarColor] add PAL_GREENBAR ld [hli], a inc hl pop af ld [hl], a - ld hl, wcf2d + ld hl, wPalPacket ld de, BlkPacket_StatusScreen ret -SendPalPacket_PartyMenu: ; 71e7b (1c:5e7b) +SetPal_PartyMenu: ; 71e7b (1c:5e7b) ld hl, PalPacket_PartyMenu - ld de, wcf2e + ld de, wPartyMenuBlkPacket ret -SendPalPacket_Pokedex: ; 71e82 (1c:5e82) +SetPal_Pokedex: ; 71e82 (1c:5e82) ld hl, PalPacket_Pokedex - ld de, wcf2d + ld de, wPalPacket ld bc, $10 call CopyData ld a, [wcf91] call DeterminePaletteIDOutOfBattle - ld hl, wcf30 + ld hl, wPalPacket + 3 ld [hl], a - ld hl, wcf2d + ld hl, wPalPacket ld de, BlkPacket_Pokedex ret -SendPalPacket_Slots: ; 71e9f (1c:5e9f) +SetPal_Slots: ; 71e9f (1c:5e9f) ld hl, PalPacket_Slots ld de, BlkPacket_Slots ret -SendPalPacket_Titlescreen: ; 71ea6 (1c:5ea6) +SetPal_TitleScreen: ; 71ea6 (1c:5ea6) ld hl, PalPacket_Titlescreen ld de, BlkPacket_Titlescreen ret ; used mostly for menus and the Oak intro -SendPalPacket_Generic: ; 71ead (1c:5ead) +SetPal_Generic: ; 71ead (1c:5ead) ld hl, PalPacket_Generic ld de, BlkPacket_WholeScreen ret -SendPalPacket_NidorinoIntro: ; 71eb4 (1c:5eb4) +SetPal_NidorinoIntro: ; 71eb4 (1c:5eb4) ld hl, PalPacket_NidorinoIntro ld de, BlkPacket_NidorinoIntro ret -SendPalPacket_GameFreakIntro: ; 71ebb (1c:5ebb) +SetPal_GameFreakIntro: ; 71ebb (1c:5ebb) ld hl, PalPacket_GameFreakIntro ld de, BlkPacket_GameFreakIntro - ld a, $8 - ld [wcf1c], a + ld a, SET_PAL_GENERIC + ld [wDefaultPaletteCommand], a ret ; uses PalPacket_Empty to build a packet based on the current map -BuildOverworldPalPacket: ; 71ec7 (1c:5ec7) +SetPal_Overworld: ; 71ec7 (1c:5ec7) ld hl, PalPacket_Empty - ld de, wcf2d + ld de, wPalPacket ld bc, $10 call CopyData ld a, [W_CURMAPTILESET] @@ -162,12 +162,12 @@ BuildOverworldPalPacket: ; 71ec7 (1c:5ec7) jr c, .town ld a, PAL_ROUTE - 1 .town - inc a ; a town's pallete ID is its map ID + 1 - ld hl, wcf2e + inc a ; a town's palette ID is its map ID + 1 + ld hl, wPalPacket + 1 ld [hld], a ld de, BlkPacket_WholeScreen - ld a, $9 - ld [wcf1c], a + ld a, SET_PAL_OVERWORLD + ld [wDefaultPaletteCommand], a ret .PokemonTowerOrAgatha ld a, PAL_GREYMON - 1 @@ -181,131 +181,143 @@ BuildOverworldPalPacket: ; 71ec7 (1c:5ec7) ; used when a Pokemon is the only thing on the screen ; such as evolution, trading and the Hall of Fame -SendPokemonPalette_WholeScreen: ; 71f17 (1c:5f17) +SetPal_PokemonWholeScreen: ; 71f17 (1c:5f17) push bc ld hl, PalPacket_Empty - ld de, wcf2d + ld de, wPalPacket ld bc, $10 call CopyData pop bc ld a, c and a - ld a, $1e - jr nz, .asm_71f31 - ld a, [wcf1d] + ld a, PAL_BLACK + jr nz, .next + ld a, [wWholeScreenPaletteMonSpecies] call DeterminePaletteIDOutOfBattle -.asm_71f31 - ld [wcf2e], a - ld hl, wcf2d +.next + ld [wPalPacket + 1], a + ld hl, wPalPacket ld de, BlkPacket_WholeScreen ret -BuildTrainerCardPalPacket: ; 71f3b (1c:5f3b) +SetPal_TrainerCard: ; 71f3b (1c:5f3b) ld hl, BlkPacket_TrainerCard - ld de, wcc5b + ld de, wTrainerCardBlkPacket ld bc, $40 call CopyData - ld de, LoopCounts_71f8f - ld hl, wcc5d + ld de, BadgeBlkDataLengths + ld hl, wTrainerCardBlkPacket + 2 ld a, [W_OBTAINEDBADGES] - ld c, $8 -.asm_71f52 + ld c, 8 +.badgeLoop srl a push af - jr c, .asm_71f62 + jr c, .haveBadge +; The player doens't have the badge, so zero the badge's blk data. push bc ld a, [de] ld c, a xor a -.asm_71f5b +.zeroBadgeDataLoop ld [hli], a dec c - jr nz, .asm_71f5b + jr nz, .zeroBadgeDataLoop pop bc - jr .asm_71f67 -.asm_71f62 + jr .nextBadge +.haveBadge +; The player does have the badge, so skip past the badge's blk data. ld a, [de] -.asm_71f63 +.skipBadgeDataLoop inc hl dec a - jr nz, .asm_71f63 -.asm_71f67 + jr nz, .skipBadgeDataLoop +.nextBadge pop af inc de dec c - jr nz, .asm_71f52 + jr nz, .badgeLoop ld hl, PalPacket_TrainerCard - ld de, wcc5b + ld de, wTrainerCardBlkPacket ret -PointerTable_71f73: ; 71f73 (1c:5f73) - dw SendPalPacket_Black - dw BuildBattlePalPacket - dw SendPalPacket_TownMap - dw BuildStatusScreenPalPacket - dw SendPalPacket_Pokedex - dw SendPalPacket_Slots - dw SendPalPacket_Titlescreen - dw SendPalPacket_NidorinoIntro - dw SendPalPacket_Generic - dw BuildOverworldPalPacket - dw SendPalPacket_PartyMenu - dw SendPokemonPalette_WholeScreen - dw SendPalPacket_GameFreakIntro - dw BuildTrainerCardPalPacket - -; each byte is the number of loops to make in .asm_71f5b for each badge -LoopCounts_71f8f: ; 71f8f (1c:5f8f) - db $06,$06,$06,$12,$06,$06,$06,$06 +SetPalFunctions: ; 71f73 (1c:5f73) + dw SetPal_BattleBlack + dw SetPal_Battle + dw SetPal_TownMap + dw SetPal_StatusScreen + dw SetPal_Pokedex + dw SetPal_Slots + dw SetPal_TitleScreen + dw SetPal_NidorinoIntro + dw SetPal_Generic + dw SetPal_Overworld + dw SetPal_PartyMenu + dw SetPal_PokemonWholeScreen + dw SetPal_GameFreakIntro + dw SetPal_TrainerCard + +; The length of the blk data of each badge on the Trainer Card. +; The Rainbow Badge has 3 entries because of its many colors. +BadgeBlkDataLengths: ; 71f8f (1c:5f8f) + db 6 ; Boulder Badge + db 6 ; Cascade Badge + db 6 ; Thunder Badge + db 6 * 3 ; Rainbow Badge + db 6 ; Soul Badge + db 6 ; Marsh Badge + db 6 ; Volcano Badge + db 6 ; Earth Badge DeterminePaletteID: ; 71f97 (1c:5f97) - bit 3, a ; bit 3 of battle status 3, set if current Pokemon is transformed - ld a, PAL_GREYMON ; if yes, use Ditto's palette + bit Transformed, a ; a is battle status 3 + ld a, PAL_GREYMON ; if the mon has used Transform, use Ditto's palette ret nz ld a, [hl] DeterminePaletteIDOutOfBattle: ; 71f9d (1c:5f9d) ld [wd11e], a - and a - jr z, .idZero + and a ; is the mon index 0? + jr z, .skipDexNumConversion push bc - predef IndexToPokedex ; turn Pokemon ID number into Pokedex number + predef IndexToPokedex pop bc ld a, [wd11e] -.idZero +.skipDexNumConversion ld e, a - ld d, $00 - ld hl, MonsterPalettes ; not just for Pokemon, Trainers use it too + ld d, 0 + ld hl, MonsterPalettes ; not just for Pokemon, Trainers use it too add hl, de ld a, [hl] ret -SendBlkPacket_PartyMenu: ; 71fb6 (1c:5fb6) +InitPartyMenuBlkPacket: ; 71fb6 (1c:5fb6) ld hl, BlkPacket_PartyMenu - ld de, wcf2e + ld de, wPartyMenuBlkPacket ld bc, $30 jp CopyData -Func_71fc2: ; 71fc2 (1c:5fc2) - ld hl, wcf1f - ld a, [wcf2d] +UpdatePartyMenuBlkPacket: ; 71fc2 (1c:5fc2) +; Update the blk packet with the palette of the HP bar that is +; specified in [wWhichPartyMenuHPBar]. + ld hl, wPartyMenuHPBarColors + ld a, [wWhichPartyMenuHPBar] ld e, a - ld d, $0 + ld d, 0 add hl, de ld e, l ld d, h ld a, [de] and a - ld e, $5 - jr z, .asm_71fdb + ld e, (1 << 2) | 1 ; green + jr z, .next dec a - ld e, $a - jr z, .asm_71fdb - ld e, $f -.asm_71fdb + ld e, (2 << 2) | 2 ; yellow + jr z, .next + ld e, (3 << 2) | 3 ; red +.next push de - ld hl, wcf37 - ld bc, $6 - ld a, [wcf2d] + ld hl, wPartyMenuBlkPacket + 8 + 1 + ld bc, 6 + ld a, [wWhichPartyMenuHPBar] call AddNTimes pop de ld [hl], e @@ -321,11 +333,9 @@ SendSGBPacket: ; 71feb (1c:5feb) .loop2 ; save B for later use push bc -; load a non-zero value in $fff9 to disable the routine that checks actual -; joypad input (said routine, located at $15f, does nothing if $fff9 is not -; zero) - ld a,$01 - ld [$fff9],a +; disable ReadJoypad to prevent it from interfering with sending the packet + ld a, 1 + ld [hDisableJoypadPolling], a ; send RESET signal (P14=LOW, P15=LOW) xor a ld [rJOYP],a @@ -367,7 +377,7 @@ SendSGBPacket: ; 71feb (1c:5feb) ld a,$30 ld [rJOYP],a xor a - ld [$fff9],a + ld [hDisableJoypadPolling],a ; wait for about 70000 cycles call Wait7000 ; restore (previously pushed) number of packets @@ -383,39 +393,39 @@ LoadSGB: ; 7202b (1c:602b) ld [wOnSGB], a call CheckSGB ret nc - ld a, $1 + ld a, 1 ld [wOnSGB], a ld a, [wGBC] and a - jr z, .asm_7203f + jr z, .notGBC ret -.asm_7203f +.notGBC di - call Func_72075 + call PrepareSuperNintendoVRAMTransfer ei - ld a, $1 - ld [wcf2d], a + ld a, 1 + ld [wCopyingSGBTileData], a ld de, ChrTrnPacket ld hl, SGBBorderGraphics - call Func_7210b + call CopyGfxToSuperNintendoVRAM xor a - ld [wcf2d], a + ld [wCopyingSGBTileData], a ld de, PctTrnPacket ld hl, BorderPalettes - call Func_7210b + call CopyGfxToSuperNintendoVRAM xor a - ld [wcf2d], a + ld [wCopyingSGBTileData], a ld de, PalTrnPacket ld hl, SuperPalettes - call Func_7210b + call CopyGfxToSuperNintendoVRAM call ClearVram ld hl, MaskEnCancelPacket jp SendSGBPacket -Func_72075: ; 72075 (1c:6075) - ld hl, PointerTable_72089 - ld c, $9 -.asm_7207a +PrepareSuperNintendoVRAMTransfer: ; 72075 (1c:6075) + ld hl, .packetPointers + ld c, 9 +.loop push bc ld a, [hli] push hl @@ -426,10 +436,11 @@ Func_72075: ; 72075 (1c:6075) inc hl pop bc dec c - jr nz, .asm_7207a + jr nz, .loop ret -PointerTable_72089: ; 72089 (1c:6089) +.packetPointers +; Only the first packet is needed. dw MaskEnFreezePacket dw DataSnd_72548 dw DataSnd_72558 @@ -441,17 +452,18 @@ PointerTable_72089: ; 72089 (1c:6089) dw DataSnd_725b8 CheckSGB: ; 7209b (1c:609b) +; Returns whether the game is running on an SGB in carry. ld hl, MltReq2Packet di call SendSGBPacket - ld a, $1 - ld [$fff9], a + ld a, 1 + ld [hDisableJoypadPolling], a ei call Wait7000 ld a, [rJOYP] and $3 cp $3 - jr nz, .asm_720fd + jr nz, .isSGB ld a, $20 ld [rJOYP], a ld a, [rJOYP] @@ -482,50 +494,50 @@ CheckSGB: ; 7209b (1c:609b) ld a, [rJOYP] and $3 cp $3 - jr nz, .asm_720fd - call Func_72102 + jr nz, .isSGB + call SendMltReq1Packet and a ret -.asm_720fd - call Func_72102 +.isSGB + call SendMltReq1Packet scf ret -Func_72102: ; 72102 (1c:6102) +SendMltReq1Packet: ; 72102 (1c:6102) ld hl, MltReq1Packet call SendSGBPacket jp Wait7000 -Func_7210b: ; 7210b (1c:610b) +CopyGfxToSuperNintendoVRAM: ; 7210b (1c:610b) di push de call DisableLCD ld a, $e4 ld [rBGP], a ld de, vChars1 - ld a, [wcf2d] + ld a, [wCopyingSGBTileData] and a - jr z, .asm_72122 - call Func_72188 - jr .asm_72128 -.asm_72122 + jr z, .notCopyingTileData + call CopySGBBorderTiles + jr .next +.notCopyingTileData ld bc, $1000 call CopyData -.asm_72128 +.next ld hl, vBGMap0 ld de, $c ld a, $80 ld c, $d -.asm_72132 +.loop ld b, $14 -.asm_72134 +.innerLoop ld [hli], a inc a dec b - jr nz, .asm_72134 + jr nz, .innerLoop add hl, de dec c - jr nz, .asm_72132 + jr nz, .loop ld a, $e3 ld [rLCDC], a pop hl @@ -548,27 +560,27 @@ Wait7000: ; 7214a (1c:614a) jr nz, .loop ret -Func_72156: ; 72156 (1c:6156) +SendSGBPackets: ; 72156 (1c:6156) ld a, [wGBC] and a - jr z, .asm_72165 + jr z, .notGBC push de - call Func_7216d + call InitGBCPalettes pop hl - call Func_72187 + call EmptyFunc5 ret -.asm_72165 +.notGBC push de call SendSGBPacket pop hl jp SendSGBPacket -Func_7216d: ; 7216d (1c:616d) - ld a, $80 - ld [$ff68], a +InitGBCPalettes: ; 7216d (1c:616d) + ld a, $80 ; index 0 with auto-increment + ld [rBGPI], a inc hl ld c, $20 -.asm_72174 +.loop ld a, [hli] inc hl add a @@ -576,37 +588,48 @@ Func_7216d: ; 7216d (1c:616d) add a ld de, SuperPalettes add e - jr nc, .asm_72180 + jr nc, .noCarry inc d -.asm_72180 +.noCarry ld a, [de] - ld [$ff69], a + ld [rBGPD], a dec c - jr nz, .asm_72174 + jr nz, .loop ret -Func_72187: ; 72187 (1c:6187) +EmptyFunc5: ; 72187 (1c:6187) ret -Func_72188: ; 72188 (1c:6188) - ld b, $80 -.asm_7218a - ld c, $10 -.asm_7218c +CopySGBBorderTiles: ; 72188 (1c:6188) +; SGB tile data is stored in a 4BPP planar format. +; Each tile is 32 bytes. The first 16 bytes contain bit planes 1 and 2, while +; the second 16 bytes contain bit planes 3 and 4. +; This function converts 2BPP planar data into this format by mapping +; 2BPP colors 0-3 to 4BPP colors 0-3. 4BPP colors 4-15 are not used. + ld b, 128 + +.tileLoop + +; Copy bit planes 1 and 2 of the tile data. + ld c, 16 +.copyLoop ld a, [hli] ld [de], a inc de dec c - jr nz, .asm_7218c - ld c, $10 + jr nz, .copyLoop + +; Zero bit planes 3 and 4. + ld c, 16 xor a -.asm_72195 +.zeroLoop ld [de], a inc de dec c - jr nz, .asm_72195 + jr nz, .zeroLoop + dec b - jr nz, .asm_7218a + jr nz, .tileLoop ret INCLUDE "data/sgb_packets.asm" diff --git a/engine/predefs.asm b/engine/predefs.asm index d8cf030c..0abdb5b3 100755 --- a/engine/predefs.asm +++ b/engine/predefs.asm @@ -121,7 +121,7 @@ PredefPointers:: ; 4fe79 (13:7e79) add_predef SetPartyMonTypes add_predef CanLearnTM add_predef TMToMove - add_predef Func_71ddf + add_predef _RunPaletteCommand add_predef StarterDex ; 46 add_predef _AddPartyMon add_predef UpdateHPBar2 diff --git a/engine/slot_machine.asm b/engine/slot_machine.asm index b68b9294..78ce35a2 100755 --- a/engine/slot_machine.asm +++ b/engine/slot_machine.asm @@ -21,8 +21,8 @@ PromptUserToPlaySlots: ; 3730e (d:730e) call GBPalWhiteOutWithDelay3 call LoadSlotMachineTiles call LoadFontTilePatterns - ld b, $5 - call GoPAL_SET + ld b, SET_PAL_SLOTS + call RunPaletteCommand call GBPalNormal ld a, $e4 ld [rOBP0], a @@ -41,7 +41,7 @@ PromptUserToPlaySlots: ; 3730e (d:730e) call GBPalWhiteOutWithDelay3 ld a, $1 ld [wUpdateSpritesEnabled], a - call GoPAL_SET_CF1C + call RunDefaultPaletteCommand call ReloadMapSpriteTilePatterns call ReloadTilesetTilePatterns .done diff --git a/engine/titlescreen.asm b/engine/titlescreen.asm index 0dbe4a4c..a75d3dcf 100755 --- a/engine/titlescreen.asm +++ b/engine/titlescreen.asm @@ -134,8 +134,8 @@ ENDC call LoadScreenTilesFromBuffer2 ld a, vBGMap0 / $100 call TitleScreenCopyTileMapToVRAM - ld b, $6 - call GoPAL_SET + ld b, SET_PAL_TITLE_SCREEN + call RunPaletteCommand call GBPalNormal ld a, %11100100 ld [rOBP0], a diff --git a/engine/town_map.asm b/engine/town_map.asm index 414b6509..225de2b8 100755 --- a/engine/town_map.asm +++ b/engine/town_map.asm @@ -314,8 +314,8 @@ LoadTownMap: ; 7109b (1c:509b) jr .nextTile .done call EnableLCD - ld b, $2 - call GoPAL_SET + ld b, SET_PAL_TOWN_MAP + call RunPaletteCommand call Delay3 call GBPalNormal xor a @@ -338,7 +338,7 @@ ExitTownMap: ; 711ab (1c:51ab) call LoadPlayerSpriteGraphics call LoadFontTilePatterns call UpdateSprites - jp GoPAL_SET_CF1C + jp RunDefaultPaletteCommand DrawPlayerOrBirdSprite: ; 711c4 (1c:51c4) ; a = map number diff --git a/engine/trade.asm b/engine/trade.asm index b7c72520..16a3d6a9 100755 --- a/engine/trade.asm +++ b/engine/trade.asm @@ -268,8 +268,8 @@ Trade_DrawOpenEndOfLinkCable: ; 41298 (10:5298) call Trade_ClearTileMap ld b, vBGMap0 / $100 call CopyScreenTileBufferToVRAM - ld b, $8 - call GoPAL_SET + ld b, SET_PAL_GENERIC + call RunPaletteCommand ; This function call is pointless. It just copies blank tiles to VRAM that was ; already filled with blank tiles. @@ -727,10 +727,10 @@ Trade_CircleOAM3: ; 4159c (10:559c) Trade_LoadMonSprite: ; 415a4 (10:55a4) ld [wcf91], a ld [wd0b5], a - ld [wcf1d], a - ld b, $b - ld c, $0 - call GoPAL_SET + ld [wWholeScreenPaletteMonSpecies], a + ld b, SET_PAL_POKEMON_WHOLE_SCREEN + ld c, 0 + call RunPaletteCommand ld a, [H_AUTOBGTRANSFERENABLED] xor $1 ld [H_AUTOBGTRANSFERENABLED], a diff --git a/home.asm b/home.asm index e1fbc0f2..3206a7ad 100644 --- a/home.asm +++ b/home.asm @@ -4469,7 +4469,7 @@ RestoreScreenTilesAndReloadTilePatterns:: ; 3dbe (0:3dbe) call ReloadMapSpriteTilePatterns call LoadScreenTilesFromBuffer2 call LoadTextBoxTilePatterns - call GoPAL_SET_CF1C + call RunDefaultPaletteCommand jr Delay3 @@ -4499,13 +4499,13 @@ GBPalWhiteOut:: ret -GoPAL_SET_CF1C:: ; 3ded (0:3ded) +RunDefaultPaletteCommand:: ; 3ded (0:3ded) ld b,$ff -GoPAL_SET:: ; 3def (0:3def) +RunPaletteCommand:: ; 3def (0:3def) ld a,[wOnSGB] and a ret z - predef_jump Func_71ddf + predef_jump _RunPaletteCommand GetHealthBarColor:: ; Return at hl the palette of diff --git a/home/overworld.asm b/home/overworld.asm index eba47df2..6b3a75c6 100644 --- a/home/overworld.asm +++ b/home/overworld.asm @@ -659,8 +659,8 @@ CheckMapConnections:: ; 07ba (0:07ba) .loadNewMap ; load the connected map that was entered call LoadMapHeader call PlayDefaultMusicFadeOutCurrent - ld b,$09 - call GoPAL_SET + ld b, SET_PAL_OVERWORLD + call RunPaletteCommand ; Since the sprite set shouldn't change, this will just update VRAM slots at ; $C2XE without loading any tile patterns. callba InitMapSprites @@ -2343,8 +2343,8 @@ LoadMapData:: ; 1241 (0:1241) ld a,$01 ld [wUpdateSpritesEnabled],a call EnableLCD - ld b,$09 - call GoPAL_SET + ld b, SET_PAL_OVERWORLD + call RunPaletteCommand call LoadPlayerSpriteGraphics ld a,[wd732] and a,1 << 4 | 1 << 3 ; fly warp or dungeon warp diff --git a/home/vblank.asm b/home/vblank.asm index 3bdbe7cb..8ffae9f1 100644 --- a/home/vblank.asm +++ b/home/vblank.asm @@ -74,7 +74,7 @@ VBlank:: callba TrackPlayTime ; keep track of time played - ld a, [$fff9] + ld a, [hDisableJoypadPolling] and a call z, ReadJoypad diff --git a/hram.asm b/hram.asm index 3f331cfb..77fb7c1e 100644 --- a/hram.asm +++ b/hram.asm @@ -317,5 +317,7 @@ hFlags_0xFFF6 EQU $FFF6 hFieldMoveMonMenuTopMenuItemX EQU $FFF7 +hDisableJoypadPolling EQU $FFF9 + hJoyInput EQU $FFF8 diff --git a/main.asm b/main.asm index 8e41af64..a61c433b 100755 --- a/main.asm +++ b/main.asm @@ -3156,7 +3156,7 @@ RedrawMapView: ; eedc (3:6edc) ld [H_AUTOBGTRANSFERENABLED], a ld [hTilesetType], a ; no flower/water BG tile animations call LoadCurrentMapView - call GoPAL_SET_CF1C + call RunDefaultPaletteCommand ld hl, wMapViewVRAMPointer ld a, [hli] ld h, [hl] diff --git a/wram.asm b/wram.asm index 47074b55..67cdd5fa 100755 --- a/wram.asm +++ b/wram.asm @@ -477,6 +477,9 @@ wNPCMovementScriptBank:: ; cc58 ds 2 +wTrainerCardBlkPacket:: ; cc5b +; $40 bytes + wSlotMachineSevenAndBarModeChance:: ; cc5b ; If a random number greater than this value is generated, then the player is ; allowed to have three 7 symbols or bar symbols line up. @@ -1283,15 +1286,40 @@ wOnSGB:: ; cf1b ; if running on SGB, it's 1, else it's 0 ds 1 -wcf1c:: ds 1 ; used with sgb palettes -wcf1d:: ds 1 ; used when displaying palettes for Pokemon -wcf1e:: ds 1 ; used to display palettes for HP bar -wcf1f:: ds 6 ; used to display HP bars in Pokemon Menu (probably palettes) -wcf25:: ds 8 ; used to display HP bar for Pokemon Status Screen (probably palettes too) -wcf2d:: ds 1 ; also used to display HP bar for Pokemon Menu (something about HP colour) -wcf2e:: ds 2 ; more HP bar palette stuff. -wcf30:: ds 7 ; used with palettes (apparently for Pokedex) -wcf37:: ds 20 ; used with palletes too (used for Party Menu) +wDefaultPaletteCommand:: ; cf1c + ds 1 + +wPlayerHPBarColor:: ; cf1d + +wWholeScreenPaletteMonSpecies:: ; cf1d +; species of the mon whose palette is used for the whole screen + ds 1 + +wEnemyHPBarColor:: ; cf1e + ds 1 + +; 0: green +; 1: yellow +; 2: red +wPartyMenuHPBarColors:: ; cf1f + ds 6 + +wStatusScreenHPBarColor:: ; cf25 + ds 1 + + ds 7 + +wCopyingSGBTileData:: ; c2fd + +wWhichPartyMenuHPBar:: ; cf2d + +wPalPacket:: ; cf2d + ds 1 + +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 wGainBoostedExp:: ; cf4d -- cgit v1.3.1-sl0p