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 --- text.asm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'text.asm') diff --git a/text.asm b/text.asm index 7dfe797a..17067e57 100644 --- a/text.asm +++ b/text.asm @@ -1122,7 +1122,7 @@ _MoneyForWinningText:: ; 896dd (22:56dd) _TrainerDefeatedText:: ; 896f9 (22:56f9) text $52, " defeated" line "@" - TX_RAM W_TRAINERNAME ; 0x89706 + TX_RAM W_TRAINERNAME text "!" prompt @@ -1152,7 +1152,7 @@ _PlayerBlackedOutText2:: ; 89748 (22:5748) _LinkBattleLostText:: ; 89772 (22:5772) text $52, " lost to" line "@" - TX_RAM W_TRAINERNAME ; 0x8977e + TX_RAM W_TRAINERNAME text "!" prompt -- cgit v1.3.1-sl0p From bd7d9815936decc5b636f4235c0ee745812dcb48 Mon Sep 17 00:00:00 2001 From: YamaArashi Date: Wed, 15 Jul 2015 20:04:58 -0700 Subject: menu stuff --- constants/misc_constants.asm | 8 + engine/battle/bank_e_misc.asm | 4 +- engine/battle/core.asm | 22 +-- engine/battle/end_of_battle.asm | 2 +- engine/battle/experience.asm | 12 +- engine/battle/init_battle_variables.asm | 2 +- engine/battle/read_trainer_party.asm | 8 +- engine/evos_moves.asm | 15 +- engine/give_pokemon.asm | 2 +- engine/in_game_trades.asm | 6 +- engine/items/items.asm | 22 +-- engine/menu/bills_pc.asm | 309 ++++++++++++++++---------------- engine/menu/main_menu.asm | 34 ++-- engine/menu/pc.asm | 2 +- engine/menu/players_pc.asm | 140 ++++++++------- engine/menu/start_menu.asm | 2 +- engine/menu/start_sub_menus.asm | 93 +++++----- engine/menu/status_screen.asm | 20 ++- engine/save.asm | 12 +- home.asm | 30 ++-- hram.asm | 5 + main.asm | 97 +++++----- scripts/daycarem.asm | 8 +- scripts/oakslab.asm | 6 +- text.asm | 2 +- wram.asm | 63 ++++++- 26 files changed, 506 insertions(+), 420 deletions(-) (limited to 'text.asm') diff --git a/constants/misc_constants.asm b/constants/misc_constants.asm index 2495f17f..a0cc1d0a 100644 --- a/constants/misc_constants.asm +++ b/constants/misc_constants.asm @@ -109,6 +109,14 @@ NAME_PLAYER_SCREEN EQU 0 NAME_RIVAL_SCREEN EQU 1 NAME_MON_SCREEN EQU 2 +; mon data locations +; Note that some values are not supported by all functions that use these values. +PLAYER_PARTY_DATA EQU 0 +ENEMY_PARTY_DATA EQU 1 +BOX_DATA EQU 2 +DAYCARE_DATA EQU 3 +BATTLE_MON_DATA EQU 4 + ; serial ESTABLISH_CONNECTION_WITH_INTERNAL_CLOCK EQU $01 diff --git a/engine/battle/bank_e_misc.asm b/engine/battle/bank_e_misc.asm index 47242057..f47087d8 100755 --- a/engine/battle/bank_e_misc.asm +++ b/engine/battle/bank_e_misc.asm @@ -102,10 +102,10 @@ InitList: ; 39bd5 (e:5bd5) ld [wItemPrices + 1], a ret -; get species of mon e in list [wcc49] for LoadMonData +; get species of mon e in list [wMonDataLocation] for LoadMonData GetMonSpecies: ; 39c37 (e:5c37) ld hl, wPartySpecies - ld a, [wcc49] + ld a, [wMonDataLocation] and a jr z, .getSpecies dec a diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 7b87be0e..bdb20bb0 100755 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -1809,7 +1809,7 @@ SendOutMon: ; 3cc91 (f:4c91) predef LoadMonBackPic xor a ld [$ffe1], a - ld hl, wcc2d + ld hl, wBattleAndStartSavedMenuItem ld [hli], a ld [hl], a ld [wBoostExpByExpAll], a @@ -2123,7 +2123,7 @@ DisplayBattleMenu: ; 3ceb3 (f:4eb3) .oldManName db "OLD MAN@" .handleBattleMenuInput - ld a, [wcc2d] + ld a, [wBattleAndStartSavedMenuItem] ld [wCurrentMenuItem], a ld [wLastMenuItem], a sub 2 ; check if the cursor is in the left column @@ -2206,7 +2206,7 @@ DisplayBattleMenu: ; 3ceb3 (f:4eb3) ld a, [W_BATTLETYPE] cp $2 ; is it a Safari battle? ld a, [wCurrentMenuItem] - ld [wcc2d], a + ld [wBattleAndStartSavedMenuItem], a jr z, .handleMenuSelection ; not Safari battle ; swap the IDs of the item menu and party menu (this is probably because they swapped the positions @@ -2299,11 +2299,11 @@ DisplayBagMenu: ld [wPrintItemPrices], a ld a, ITEMLISTMENU ld [wListMenuID], a - ld a, [wcc2c] + ld a, [wBagSavedMenuItem] ld [wCurrentMenuItem], a call DisplayListMenuID ld a, [wCurrentMenuItem] - ld [wcc2c], a + ld [wBagSavedMenuItem], a ld a, $0 ld [wMenuWatchMovingOutOfBounds], a ld [wMenuItemToSwap], a @@ -2435,8 +2435,8 @@ PartyMenuOrRockOrRun: and a ; was Switch selected? jr z, .switchMon ; if so, jump ; Stats was selected - xor a - ld [wcc49], a + xor a ; PLAYER_PARTY_DATA + ld [wMonDataLocation], a ld hl, wPartyMon1 call ClearSprites ; display the two status screens @@ -2935,8 +2935,8 @@ PrintMenuItem: ; 3d4b6 (f:54b6) ; isn't actually selected (just pointed to by the cursor) ld a, [wPlayerMonNumber] ld [wWhichPokemon], a - ld a, $4 - ld [wcc49], a + ld a, BATTLE_MON_DATA + ld [wMonDataLocation], a callab GetMaxPP ld hl, wCurrentMenuItem ld c, [hl] @@ -8243,14 +8243,14 @@ ChargeEffect: ; 3f88c (f:788c) ld a, b call PlayBattleAnimation ld a, [de] - ld [wWhichTrade], a + ld [wChargeMoveNum], a ld hl, ChargeMoveEffectText jp PrintText ChargeMoveEffectText: ; 3f8c8 (f:78c8) TX_FAR _ChargeMoveEffectText TX_ASM - ld a, [wWhichTrade] + ld a, [wChargeMoveNum] cp RAZOR_WIND ld hl, MadeWhirlwindText jr z, .asm_3f8f8 diff --git a/engine/battle/end_of_battle.asm b/engine/battle/end_of_battle.asm index 0ca4b886..075cbeb1 100755 --- a/engine/battle/end_of_battle.asm +++ b/engine/battle/end_of_battle.asm @@ -54,7 +54,7 @@ EndOfBattle: ; 137aa (4:77aa) ld [wd11f], a ld [wNumRunAttempts], a ld [wEscapedFromBattle], a - ld hl, wcc2b + ld hl, wPartyAndBillsPCSavedMenuItem ld [hli], a ld [hli], a ld [hli], a diff --git a/engine/battle/experience.asm b/engine/battle/experience.asm index 4e4d0f3c..11a1e87c 100644 --- a/engine/battle/experience.asm +++ b/engine/battle/experience.asm @@ -148,8 +148,8 @@ GainExperience: ; 5524f (15:524f) call GetPartyMonName ld hl, GainedText call PrintText - xor a ; party mon data - ld [wcc49], a + xor a ; PLAYER_PARTY_DATA + ld [wMonDataLocation], a call LoadMonData pop hl ld bc, wPartyMon1Level - wPartyMon1Exp @@ -242,15 +242,15 @@ GainExperience: ; 5524f (15:524f) .printGrewLevelText ld hl, GrewLevelText call PrintText - xor a ; party mon data - ld [wcc49], a + xor a ; PLAYER_PARTY_DATA + ld [wMonDataLocation], a call LoadMonData ld d, $1 callab PrintStatsBox call WaitForTextScrollButtonPress call LoadScreenTilesFromBuffer1 - xor a - ld [wcc49], a + xor a ; PLAYER_PARTY_DATA + ld [wMonDataLocation], a ld a, [wd0b5] ld [wd11e], a predef LearnMoveFromLevelUp diff --git a/engine/battle/init_battle_variables.asm b/engine/battle/init_battle_variables.asm index 5f953046..74df62aa 100644 --- a/engine/battle/init_battle_variables.asm +++ b/engine/battle/init_battle_variables.asm @@ -4,7 +4,7 @@ InitBattleVariables: ; 525af (14:65af) xor a ld [wActionResultOrTookBattleTurn], a ld [wBattleResult], a - ld hl, wcc2b + ld hl, wPartyAndBillsPCSavedMenuItem ld [hli], a ld [hli], a ld [hli], a diff --git a/engine/battle/read_trainer_party.asm b/engine/battle/read_trainer_party.asm index e373ef93..4f72aea1 100755 --- a/engine/battle/read_trainer_party.asm +++ b/engine/battle/read_trainer_party.asm @@ -55,8 +55,8 @@ ReadTrainer: ; 39c53 (e:5c53) and a ; have we reached the end of the trainer data? jr z,.FinishUp ld [wcf91],a ; write species somewhere (XXX why?) - ld a,1 - ld [wcc49],a + ld a,ENEMY_PARTY_DATA + ld [wMonDataLocation],a push hl call AddPartyMon pop hl @@ -72,8 +72,8 @@ ReadTrainer: ; 39c53 (e:5c53) ld [W_CURENEMYLVL],a ld a,[hli] ld [wcf91],a - ld a,1 - ld [wcc49],a + ld a,ENEMY_PARTY_DATA + ld [wMonDataLocation],a push hl call AddPartyMon pop hl diff --git a/engine/evos_moves.asm b/engine/evos_moves.asm index b43fdcae..2b54108d 100755 --- a/engine/evos_moves.asm +++ b/engine/evos_moves.asm @@ -55,8 +55,8 @@ Evolution_PartyMonLoop: ; loop over party mons push hl ld a, [wcf91] push af - xor a - ld [wcc49], a + xor a ; PLAYER_PARTY_DATA + ld [wMonDataLocation], a call LoadMonData pop af ld [wcf91], a @@ -206,7 +206,7 @@ Evolution_PartyMonLoop: ; loop over party mons ld a, [wd0b5] ld [wd11e], a xor a - ld [wcc49], a + ld [wMonDataLocation], a call LearnMoveFromLevelUp pop hl predef SetPartyMonTypes @@ -345,12 +345,13 @@ LearnMoveFromLevelUp: ; 3af5b (e:6f5b) ld a, [hli] ; move ID jr nz, .learnSetLoop ld d, a ; ID of move to learn - ld a, [wcc49] + ld a, [wMonDataLocation] and a jr nz, .next -; if [wcc49] is 0, get the address of the mon's current moves -; there is no reason to make this conditional because the code wouldn't work properly without doing this -; every call to this function sets [wcc49] to 0 +; If [wMonDataLocation] is 0 (PLAYER_PARTY_DATA), get the address of the mon's +; current moves in party data. Every call to this function sets +; [wMonDataLocation] to 0 because other data locations are not supported. +; If it is not 0, this function will not work properly. ld hl, wPartyMon1Moves ld a, [wWhichPokemon] ld bc, wPartyMon2 - wPartyMon1 diff --git a/engine/give_pokemon.asm b/engine/give_pokemon.asm index 0d451bf6..45e88b9c 100755 --- a/engine/give_pokemon.asm +++ b/engine/give_pokemon.asm @@ -16,7 +16,7 @@ _GivePokemon: ; 4fda5 (13:7da5) call SetPokedexOwnedFlag callab SendNewMonToBox ld hl, wcf4b - ld a, [wd5a0] + ld a, [wCurrentBoxNum] and $7f cp 9 jr c, .asm_4fdec diff --git a/engine/in_game_trades.asm b/engine/in_game_trades.asm index fb263995..6f1167d0 100755 --- a/engine/in_game_trades.asm +++ b/engine/in_game_trades.asm @@ -130,11 +130,11 @@ InGameTrade_DoTrade: ; 71c07 (1c:5c07) ld a,[wInGameTradeReceiveMonSpecies] ld [wcf91],a xor a - ld [wcc49],a + ld [wMonDataLocation],a ; not used ld [wRemoveMonFromBox],a call RemovePokemon - ld a,$80 - ld [wcc49],a + ld a,$80 ; prevent the player from naming the mon + ld [wMonDataLocation],a call AddPartyMon call InGameTrade_CopyDataToReceivedMon callab EvolveTradeMon diff --git a/engine/items/items.asm b/engine/items/items.asm index 6ae4e228..b65e8f1e 100755 --- a/engine/items/items.asm +++ b/engine/items/items.asm @@ -423,8 +423,8 @@ ItemUseBall: ; d687 (3:5687) ld a,[wPartyCount] cp a,PARTY_LENGTH ;is party full? jr z,.sendToBox - xor a - ld [wcc49],a + xor a ; PLAYER_PARTY_DATA + ld [wMonDataLocation],a call ClearSprites call AddPartyMon ;add mon to Party jr .End @@ -1265,14 +1265,14 @@ ItemUseMedicine: ; dabb (3:5abb) ld [wWhichPokemon],a ld a,e ld [wd11e],a - xor a - ld [wcc49],a ; load from player's party + xor a ; PLAYER_PARTY_DATA + ld [wMonDataLocation],a call LoadMonData ld d,$01 callab PrintStatsBox ; display new stats text box call WaitForTextScrollButtonPress ; wait for button press - xor a - ld [wcc49],a + xor a ; PLAYER_PARTY_DATA + ld [wMonDataLocation],a predef LearnMoveFromLevelUp ; learn level up move, if any xor a ld [wForceEvolution],a @@ -1963,8 +1963,8 @@ ItemUsePPRestore: ; e31e (3:631e) ; unsets zero flag if PP was restored, sets zero flag if not ; however, this is bugged for Max Ethers and Max Elixirs (see below) .restorePP - xor a - ld [wcc49],a ; party pokemon + xor a ; PLAYER_PARTY_DATA + ld [wMonDataLocation],a call GetMaxPP ld hl,wPartyMon1Moves ld bc,44 @@ -2379,7 +2379,7 @@ AddBonusPP: ; e642 (3:6642) ; gets max PP of a pokemon's move (including PP from PP Ups) ; INPUT: ; [wWhichPokemon] = index of pokemon within party/box -; [wcc49] = pokemon source +; [wMonDataLocation] = pokemon source ; 00: player's party ; 01: enemy's party ; 02: current box @@ -2389,7 +2389,7 @@ AddBonusPP: ; e642 (3:6642) ; OUTPUT: ; [wd11e] = max PP GetMaxPP: ; e677 (3:6677) - ld a,[wcc49] + ld a,[wMonDataLocation] and a ld hl,wPartyMon1Moves ld bc,wPartyMon2 - wPartyMon1 @@ -2426,7 +2426,7 @@ GetMaxPP: ; e677 (3:6677) pop hl push bc ld bc,21 ; PP offset if not player's in-battle pokemon data - ld a,[wcc49] + ld a,[wMonDataLocation] cp a,4 ; player's in-battle pokemon? jr nz,.addPPOffset ld bc,17 ; PP offset if player's in-battle pokemon data diff --git a/engine/menu/bills_pc.asm b/engine/menu/bills_pc.asm index 74d2fa82..e0b405e8 100644 --- a/engine/menu/bills_pc.asm +++ b/engine/menu/bills_pc.asm @@ -1,44 +1,44 @@ -Func_213c8:: ; 213c8 (8:53c8) +DisplayPCMainMenu:: ; 213c8 (8:53c8) xor a ld [H_AUTOBGTRANSFERENABLED], a call SaveScreenTilesToBuffer2 ld a, [wNumHoFTeams] and a - jr nz, .asm_213f3 + jr nz, .leaguePCAvailable ld a, [wd74b] - bit 5, a - jr z, .asm_213ea + bit 5, a ; received pokedex? + jr z, .noOaksPC ld a, [wNumHoFTeams] and a - jr nz, .asm_213f3 + jr nz, .leaguePCAvailable hlCoord 0, 0 - ld b, $8 - ld c, $e - jr .asm_213fa -.asm_213ea + ld b, 8 + ld c, 14 + jr .next +.noOaksPC hlCoord 0, 0 - ld b, $6 - ld c, $e - jr .asm_213fa -.asm_213f3 + ld b, 6 + ld c, 14 + jr .next +.leaguePCAvailable hlCoord 0, 0 - ld b, $a - ld c, $e -.asm_213fa + ld b, 10 + ld c, 14 +.next call TextBoxBorder call UpdateSprites - ld a, $3 + ld a, 3 ld [wMaxMenuItem], a ld a, [wd7f1] bit 0, a - jr nz, .asm_21414 + jr nz, .metBill hlCoord 2, 2 ld de, SomeonesPCText - jr .asm_2141a -.asm_21414 + jr .next2 +.metBill hlCoord 2, 2 ld de, BillsPCText -.asm_2141a +.next2 call PlaceString hlCoord 2, 4 ld de, wPlayerName @@ -48,43 +48,43 @@ Func_213c8:: ; 213c8 (8:53c8) ld de, PlayersPCText call PlaceString ld a, [wd74b] - bit 5, a - jr z, .asm_21462 + bit 5, a ; received pokedex? + jr z, .noOaksPC2 hlCoord 2, 6 ld de, OaksPCText call PlaceString ld a, [wNumHoFTeams] and a - jr z, .asm_2145a - ld a, $4 + jr z, .noLeaguePC + ld a, 4 ld [wMaxMenuItem], a hlCoord 2, 8 ld de, PKMNLeaguePCText call PlaceString hlCoord 2, 10 ld de, LogOffPCText - jr .asm_2146d -.asm_2145a + jr .next3 +.noLeaguePC hlCoord 2, 8 ld de, LogOffPCText - jr .asm_2146d -.asm_21462 + jr .next3 +.noOaksPC2 ld a, $2 ld [wMaxMenuItem], a hlCoord 2, 6 ld de, LogOffPCText -.asm_2146d +.next3 call PlaceString - ld a, $3 + ld a, A_BUTTON | B_BUTTON ld [wMenuWatchedKeys], a - ld a, $2 + ld a, 2 ld [wTopMenuItemY], a - ld a, $1 + ld a, 1 ld [wTopMenuItemX], a xor a ld [wCurrentMenuItem], a ld [wLastMenuItem], a - ld a, $1 + ld a, 1 ld [H_AUTOBGTRANSFERENABLED], a ret @@ -99,23 +99,23 @@ BillsPC_:: ; 0x214c2 ld hl, wd730 set 6, [hl] xor a - ld [wccd3], a + ld [wParentMenuItem], a inc a ; MONSTER_NAME ld [wNameListType], a call LoadHpBarAndStatusTilePatterns ld a, [wListScrollOffset] push af ld a, [wFlags_0xcd60] - bit 3, a + bit 3, a ; accessing Bill's PC through another PC? jr nz, BillsPCMenu +; accessing it directly ld a, $99 call PlaySound ld hl, SwitchOnText call PrintText -Func_214e8: ; 214e8 (8:54e8) -BillsPCMenu: - ld a, [wccd3] +BillsPCMenu: ; 214e8 (8:54e8) + ld a, [wParentMenuItem] ld [wCurrentMenuItem], a ld hl, vChars2 + $780 ld de, PokeballTileGraphics @@ -123,79 +123,81 @@ BillsPCMenu: call CopyVideoData call LoadScreenTilesFromBuffer2DisableBGTransfer hlCoord 0, 0 - ld b, $a - ld c, $c + ld b, 10 + ld c, 12 call TextBoxBorder hlCoord 2, 2 ld de, BillsPCMenuText call PlaceString ld hl, wTopMenuItemY - ld a, $2 - ld [hli], a + ld a, 2 + ld [hli], a ; wTopMenuItemY dec a - ld [hli], a + ld [hli], a ; wTopMenuItemX inc hl inc hl - ld a, $4 - ld [hli], a - ld a, $3 - ld [hli], a + ld a, 4 + ld [hli], a ; wMaxMenuItem + ld a, A_BUTTON | B_BUTTON + ld [hli], a ; wMenuWatchedKeys xor a - ld [hli], a - ld [hli], a + ld [hli], a ; wLastMenuItem + ld [hli], a ; wPartyAndBillsPCSavedMenuItem ld hl, wListScrollOffset - ld [hli], a - ld [hl], a + ld [hli], a ; wListScrollOffset + ld [hl], a ; wMenuWatchMovingOutOfBounds ld [wPlayerMonNumber], a ld hl, WhatText call PrintText hlCoord 9, 14 - ld b, $2 - ld c, $9 + ld b, 2 + ld c, 9 call TextBoxBorder - ld a, [wd5a0] + ld a, [wCurrentBoxNum] and $7f cp 9 - jr c, .asm_2154f + jr c, .singleDigitBoxNum +; two digit box num sub 9 hlCoord 17, 16 ld [hl], "1" add "0" - jr .asm_21551 -.asm_2154f + jr .next +.singleDigitBoxNum add "1" -.asm_21551 +.next Coorda 18, 16 hlCoord 10, 16 ld de, BoxNoPCText call PlaceString - ld a, $1 + ld a, 1 ld [H_AUTOBGTRANSFERENABLED], a call Delay3 call HandleMenuInput bit 1, a - jp nz, Func_21588 ; b button + jp nz, ExitBillsPC ; b button call PlaceUnfilledArrowMenuCursor ld a, [wCurrentMenuItem] - ld [wccd3], a + ld [wParentMenuItem], a and a - jp z, Func_21618 ; withdraw + jp z, BillsPCWithdraw ; withdraw cp $1 - jp z, Func_215ac ; deposit + jp z, BillsPCDeposit ; deposit cp $2 - jp z, Func_21673 ; release + jp z, BillsPCRelease ; release cp $3 - jp z, Func_216b3 ; change box + jp z, BillsPCChangeBox ; change box -Func_21588: ; 21588 (8:5588) +ExitBillsPC: ; 21588 (8:5588) ld a, [wFlags_0xcd60] - bit 3, a - jr nz, .asm_2159a + bit 3, a ; accessing Bill's PC through another PC? + jr nz, .next +; accessing it directly call LoadTextBoxTilePatterns ld a, $9a call PlaySound call WaitForSoundToFinish -.asm_2159a +.next ld hl, wFlags_0xcd60 res 5, [hl] call LoadScreenTilesFromBuffer2 @@ -205,26 +207,25 @@ Func_21588: ; 21588 (8:5588) res 6, [hl] ret -Func_215ac: ; 215ac (8:55ac) -BillsPCDeposit: +BillsPCDeposit: ; 215ac (8:55ac) ld a, [wPartyCount] dec a - jr nz, .asm_215bb + jr nz, .partyLargeEnough ld hl, CantDepositLastMonText call PrintText jp BillsPCMenu -.asm_215bb +.partyLargeEnough ld a, [W_NUMINBOX] cp MONS_PER_BOX - jr nz, .asm_215cb + jr nz, .boxNotFull ld hl, BoxFullText call PrintText jp BillsPCMenu -.asm_215cb +.boxNotFull ld hl, wPartyCount - call Func_216be + call DisplayMonListMenu jp c, BillsPCMenu - call Func_2174b + call DisplayDepositWithdrawMenu jp nc, BillsPCMenu ld a, [wcf91] call GetCryData @@ -236,45 +237,45 @@ BillsPCDeposit: ld [wRemoveMonFromBox], a call RemovePokemon call WaitForSoundToFinish - ld hl, wWhichTrade - ld a, [wd5a0] + ld hl, wBoxNumString + ld a, [wCurrentBoxNum] and $7f cp 9 - jr c, .asm_2160a + jr c, .singleDigitBoxNum sub 9 ld [hl], "1" inc hl add "0" - jr .asm_2160c -.asm_2160a + jr .next +.singleDigitBoxNum add "1" -.asm_2160c +.next ld [hli], a ld [hl], $50 ld hl, MonWasStoredText call PrintText jp BillsPCMenu -Func_21618: ; 21618 (8:5618) +BillsPCWithdraw: ; 21618 (8:5618) ld a, [W_NUMINBOX] and a - jr nz, .asm_21627 + jr nz, .boxNotEmpty ld hl, NoMonText call PrintText - jp Func_214e8 -.asm_21627 + jp BillsPCMenu +.boxNotEmpty ld a, [wPartyCount] cp PARTY_LENGTH - jr nz, .asm_21637 + jr nz, .partyNotFull ld hl, CantTakeMonText call PrintText - jp Func_214e8 -.asm_21637 + jp BillsPCMenu +.partyNotFull ld hl, W_NUMINBOX - call Func_216be - jp c, Func_214e8 - call Func_2174b - jp nc, Func_214e8 + call DisplayMonListMenu + jp c, BillsPCMenu + call DisplayDepositWithdrawMenu + jp nc, BillsPCMenu ld a, [wWhichPokemon] ld hl, wBoxMonNicks call GetPartyMonName @@ -290,25 +291,25 @@ Func_21618: ; 21618 (8:5618) call WaitForSoundToFinish ld hl, MonIsTakenOutText call PrintText - jp Func_214e8 + jp BillsPCMenu -Func_21673: ; 21673 (8:5673) +BillsPCRelease: ; 21673 (8:5673) ld a, [W_NUMINBOX] and a - jr nz, .asm_21682 + jr nz, .loop ld hl, NoMonText call PrintText - jp Func_214e8 -.asm_21682 + jp BillsPCMenu +.loop ld hl, W_NUMINBOX - call Func_216be - jp c, Func_214e8 + call DisplayMonListMenu + jp c, BillsPCMenu ld hl, OnceReleasedText call PrintText call YesNoChoice ld a, [wCurrentMenuItem] and a - jr nz, .asm_21682 + jr nz, .loop inc a ld [wRemoveMonFromBox], a call RemovePokemon @@ -317,13 +318,13 @@ Func_21673: ; 21673 (8:5673) call PlayCry ld hl, MonWasReleasedText call PrintText - jp Func_214e8 + jp BillsPCMenu -Func_216b3: ; 216b3 (8:56b3) +BillsPCChangeBox: ; 216b3 (8:56b3) callba ChangeBox - jp Func_214e8 + jp BillsPCMenu -Func_216be: ; 216be (8:56be) +DisplayMonListMenu: ; 216be (8:56be) ld a, l ld [wListPointer], a ld a, h @@ -333,11 +334,11 @@ Func_216be: ; 216be (8:56be) ld [wListMenuID], a inc a ; MONSTER_NAME ld [wNameListType], a - ld a, [wcc2b] + ld a, [wPartyAndBillsPCSavedMenuItem] ld [wCurrentMenuItem], a call DisplayListMenuID ld a, [wCurrentMenuItem] - ld [wcc2b], a + ld [wPartyAndBillsPCSavedMenuItem], a ret BillsPCMenuText: ; 216e1 (8:56e1) @@ -354,17 +355,19 @@ ENDC BoxNoPCText: ; 21713 (8:5713) db "BOX No.@" -Func_2171b:: ; 2171b (8:571b) +KnowsHMMove:: ; 2171b (8:571b) +; returns whether mon with party index [wWhichPokemon] knows an HM move ld hl, wPartyMon1Moves ld bc, wPartyMon2 - wPartyMon1 - jr .asm_21729 + jr .next +; unreachable ld hl, wBoxMon1Moves ld bc, wBoxMon2 - wBoxMon1 -.asm_21729 +.next ld a, [wWhichPokemon] call AddNTimes ld b, NUM_MOVES -.asm_21731 +.loop ld a, [hli] push hl push bc @@ -375,7 +378,7 @@ Func_2171b:: ; 2171b (8:571b) pop hl ret c dec b - jr nz, .asm_21731 + jr nz, .loop and a ret @@ -387,72 +390,72 @@ HMMoveArray: ; 21745 (8:5745) db FLASH db -1 -Func_2174b: ; 2174b (8:574b) +DisplayDepositWithdrawMenu: ; 2174b (8:574b) hlCoord 9, 10 - ld b, $6 - ld c, $9 + ld b, 6 + ld c, 9 call TextBoxBorder - ld a, [wccd3] - and a + ld a, [wParentMenuItem] + and a ; was the Deposit or Withdraw item selected in the parent menu? ld de, DepositPCText - jr nz, .asm_21761 + jr nz, .next ld de, WithdrawPCText -.asm_21761 +.next hlCoord 11, 12 call PlaceString hlCoord 11, 14 ld de, StatsCancelPCText call PlaceString ld hl, wTopMenuItemY - ld a, $c - ld [hli], a - ld a, $a - ld [hli], a + ld a, 12 + ld [hli], a ; wTopMenuItemY + ld a, 10 + ld [hli], a ; wTopMenuItemX xor a - ld [hli], a + ld [hli], a ; wCurrentMenuItem inc hl - ld a, $2 - ld [hli], a - ld a, $3 - ld [hli], a + ld a, 2 + ld [hli], a ; wMaxMenuItem + ld a, A_BUTTON | B_BUTTON + ld [hli], a ; wMenuWatchedKeys xor a - ld [hl], a + ld [hl], a ; wLastMenuItem ld hl, wListScrollOffset - ld [hli], a - ld [hl], a + ld [hli], a ; wListScrollOffset + ld [hl], a ; wMenuWatchMovingOutOfBounds ld [wPlayerMonNumber], a - ld [wcc2b], a -.asm_2178f + ld [wPartyAndBillsPCSavedMenuItem], a +.loop call HandleMenuInput - bit 1, a - jr nz, .asm_2179f + bit 1, a ; pressed B? + jr nz, .exit ld a, [wCurrentMenuItem] and a - jr z, .asm_217a1 + jr z, .choseDepositWithdraw dec a - jr z, .asm_217a3 -.asm_2179f + jr z, .viewStats +.exit and a ret -.asm_217a1 +.choseDepositWithdraw scf ret -.asm_217a3 +.viewStats call SaveScreenTilesToBuffer1 - ld a, [wccd3] + ld a, [wParentMenuItem] and a - ld a, $0 - jr nz, .asm_217b0 - ld a, $2 -.asm_217b0 - ld [wcc49], a + ld a, PLAYER_PARTY_DATA + jr nz, .next2 + ld a, BOX_DATA +.next2 + ld [wMonDataLocation], a predef StatusScreen predef StatusScreen2 call LoadScreenTilesFromBuffer1 call ReloadTilesetTilePatterns call GoPAL_SET_CF1C call LoadGBPal - jr .asm_2178f + jr .loop DepositPCText: db "DEPOSIT@" WithdrawPCText: db "WITHDRAW@" @@ -518,9 +521,9 @@ CableClubLeftGameboy:: ; 5824 (8:5825) ld a, [W_CURMAP] cp BATTLE_CENTER ld a, LINK_STATE_START_TRADE - jr z, .asm_2183a + jr z, .next inc a ; LINK_STATE_START_BATTLE -.asm_2183a +.next ld [wLinkState], a call EnableAutoTextBoxDrawing tx_pre_jump JustAMomentText @@ -535,9 +538,9 @@ CableClubRightGameboy:: ; 5845 (8:5845) ld a, [W_CURMAP] cp BATTLE_CENTER ld a, LINK_STATE_START_TRADE - jr z, .asm_2185a + jr z, .next inc a ; LINK_STATE_START_BATTLE -.asm_2185a +.next ld [wLinkState], a call EnableAutoTextBoxDrawing tx_pre_jump JustAMomentText diff --git a/engine/menu/main_menu.asm b/engine/menu/main_menu.asm index 55c559f5..14480b0a 100755 --- a/engine/menu/main_menu.asm +++ b/engine/menu/main_menu.asm @@ -16,7 +16,7 @@ MainMenu: ; 5af2 (1:5af2) call DelayFrames xor a ; LINK_STATE_NONE ld [wLinkState],a - ld hl,wcc2b + ld hl,wPartyAndBillsPCSavedMenuItem ld [hli],a ld [hli],a ld [hli],a @@ -457,7 +457,7 @@ DisplayOptionMenu: ; 5e8a (1:5e8a) ld a,3 ; text speed cursor Y coordinate ld [wTopMenuItemY],a call SetCursorPositionsFromOptions - ld a,[wWhichTrade] ; text speed cursor X coordinate + ld a,[wOptionsTextSpeedCursorX] ; text speed cursor X coordinate ld [wTopMenuItemX],a ld a,$01 ld [H_AUTOBGTRANSFERENABLED],a ; enable auto background transfer @@ -507,7 +507,7 @@ DisplayOptionMenu: ; 5e8a (1:5e8a) .downPressed cp a,16 ld b,-13 - ld hl,wWhichTrade + ld hl,wOptionsTextSpeedCursorX jr z,.updateMenuVariables ld b,5 cp a,3 @@ -522,7 +522,7 @@ DisplayOptionMenu: ; 5e8a (1:5e8a) .upPressed cp a,8 ld b,-5 - ld hl,wWhichTrade + ld hl,wOptionsTextSpeedCursorX jr z,.updateMenuVariables cp a,13 inc hl @@ -541,17 +541,17 @@ DisplayOptionMenu: ; 5e8a (1:5e8a) call PlaceUnfilledArrowMenuCursor jp .loop .cursorInBattleAnimation - ld a,[wTrainerEngageDistance] ; battle animation cursor X coordinate + ld a,[wOptionsBattleAnimCursorX] ; battle animation cursor X coordinate xor a,$0b ; toggle between 1 and 10 - ld [wTrainerEngageDistance],a + ld [wOptionsBattleAnimCursorX],a jp .eraseOldMenuCursor .cursorInBattleStyle - ld a,[wTrainerFacingDirection] ; battle style cursor X coordinate + ld a,[wOptionsBattleStyleCursorX] ; battle style cursor X coordinate xor a,$0b ; toggle between 1 and 10 - ld [wTrainerFacingDirection],a + ld [wOptionsBattleStyleCursorX],a jp .eraseOldMenuCursor .pressedLeftInTextSpeed - ld a,[wWhichTrade] ; text speed cursor X coordinate + ld a,[wOptionsTextSpeedCursorX] ; text speed cursor X coordinate cp a,1 jr z,.updateTextSpeedXCoord cp a,7 @@ -562,7 +562,7 @@ DisplayOptionMenu: ; 5e8a (1:5e8a) sub a,7 jr .updateTextSpeedXCoord .pressedRightInTextSpeed - ld a,[wWhichTrade] ; text speed cursor X coordinate + ld a,[wOptionsTextSpeedCursorX] ; text speed cursor X coordinate cp a,14 jr z,.updateTextSpeedXCoord cp a,7 @@ -572,7 +572,7 @@ DisplayOptionMenu: ; 5e8a (1:5e8a) .fromFastToMedium add a,6 .updateTextSpeedXCoord - ld [wWhichTrade],a ; text speed cursor X coordinate + ld [wOptionsTextSpeedCursorX],a ; text speed cursor X coordinate jp .eraseOldMenuCursor TextSpeedOptionText: ; 5fc0 (1:5fc0) @@ -593,7 +593,7 @@ OptionMenuCancelText: ; 6018 (1:6018) ; sets the options variable according to the current placement of the menu cursors in the options menu SetOptionsFromCursorPositions: ; 601f (1:601f) ld hl,TextSpeedOptionData - ld a,[wWhichTrade] ; text speed cursor X coordinate + ld a,[wOptionsTextSpeedCursorX] ; text speed cursor X coordinate ld c,a .loop ld a,[hli] @@ -604,7 +604,7 @@ SetOptionsFromCursorPositions: ; 601f (1:601f) .textSpeedMatchFound ld a,[hl] ld d,a - ld a,[wTrainerEngageDistance] ; battle animation cursor X coordinate + ld a,[wOptionsBattleAnimCursorX] ; battle animation cursor X coordinate dec a jr z,.battleAnimationOn .battleAnimationOff @@ -613,7 +613,7 @@ SetOptionsFromCursorPositions: ; 601f (1:601f) .battleAnimationOn res 7,d .checkBattleStyle - ld a,[wTrainerFacingDirection] ; battle style cursor X coordinate + ld a,[wOptionsBattleStyleCursorX] ; battle style cursor X coordinate dec a jr z,.battleStyleShift .battleStyleSet @@ -638,7 +638,7 @@ SetCursorPositionsFromOptions: ; 604c (1:604c) pop bc dec hl ld a,[hl] - ld [wWhichTrade],a ; text speed cursor X coordinate + ld [wOptionsTextSpeedCursorX],a ; text speed cursor X coordinate hlCoord 0, 3 call .placeUnfilledRightArrow sla c @@ -646,7 +646,7 @@ SetCursorPositionsFromOptions: ; 604c (1:604c) jr nc,.storeBattleAnimationCursorX ld a,10 ; Off .storeBattleAnimationCursorX - ld [wTrainerEngageDistance],a ; battle animation cursor X coordinate + ld [wOptionsBattleAnimCursorX],a ; battle animation cursor X coordinate hlCoord 0, 8 call .placeUnfilledRightArrow sla c @@ -654,7 +654,7 @@ SetCursorPositionsFromOptions: ; 604c (1:604c) jr nc,.storeBattleStyleCursorX ld a,10 .storeBattleStyleCursorX - ld [wTrainerFacingDirection],a ; battle style cursor X coordinate + ld [wOptionsBattleStyleCursorX],a ; battle style cursor X coordinate hlCoord 0, 13 call .placeUnfilledRightArrow ; cursor in front of Cancel diff --git a/engine/menu/pc.asm b/engine/menu/pc.asm index 2b8b9e92..8ee40c7c 100755 --- a/engine/menu/pc.asm +++ b/engine/menu/pc.asm @@ -10,7 +10,7 @@ ActivatePC: ; 17e2c (5:7e2c) call LoadScreenTilesFromBuffer2 call Delay3 PCMainMenu: ; 17e48 (5:7e48) - callba Func_213c8 + callba DisplayPCMainMenu ld hl, wFlags_0xcd60 set 5, [hl] call HandleMenuInput diff --git a/engine/menu/players_pc.asm b/engine/menu/players_pc.asm index b78ba5fb..f436ae24 100755 --- a/engine/menu/players_pc.asm +++ b/engine/menu/players_pc.asm @@ -5,18 +5,19 @@ PlayerPC: ; 78e6 (1:78e6) ld [wNameListType], a call SaveScreenTilesToBuffer1 xor a - ld [wcc2c], a - ld [wccd3], a + ld [wBagSavedMenuItem], a + ld [wParentMenuItem], a ld a, [wFlags_0xcd60] - bit 3, a - jr nz, Func_790c + 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 call PlaySound ld hl, TurnedOnPC2Text call PrintText -Func_790c: ; 790c (1:790c) - ld a, [wccd3] +PlayerPCMenu: ; 790c (1:790c) + ld a, [wParentMenuItem] ld [wCurrentMenuItem], a ld hl, wFlags_0xcd60 set 5, [hl] @@ -30,69 +31,69 @@ Func_790c: ; 790c (1:790c) ld de, PlayersPCMenuEntries call PlaceString ld hl, wTopMenuItemY - ld a, $2 - ld [hli], a + ld a, 2 + ld [hli], a ; wTopMenuItemY dec a - ld [hli], a + ld [hli], a ; wTopMenuItemX inc hl inc hl - ld a, $3 - ld [hli], a - ld a, $3 - ld [hli], a + ld a, 3 + ld [hli], a ; wMaxMenuItem + ld a, A_BUTTON | B_BUTTON + ld [hli], a ; wMenuWatchedKeys xor a ld [hl], a ld hl, wListScrollOffset - ld [hli], a - ld [hl], a + ld [hli], a ; wListScrollOffset + ld [hl], a ; wMenuWatchMovingOutOfBounds ld [wPlayerMonNumber], a ld hl, WhatDoYouWantText call PrintText call HandleMenuInput bit 1, a - jp nz, Func_796d + jp nz, ExitPlayerPC call PlaceUnfilledArrowMenuCursor ld a, [wCurrentMenuItem] - ld [wccd3], a + ld [wParentMenuItem], a and a - jp z, Func_7a12 + jp z, PlayerPCWithdraw dec a - jp z, Func_7995 + jp z, PlayerPCDeposit dec a - jp z, Func_7a8f + jp z, PlayerPCToss -Func_796d: ; 796d (1:796d) +ExitPlayerPC: ; 796d (1:796d) ld a, [wFlags_0xcd60] - bit 3, a - jr nz, .asm_797c + 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 call PlaySound call WaitForSoundToFinish -.asm_797c +.next ld hl, wFlags_0xcd60 res 5, [hl] call LoadScreenTilesFromBuffer2 xor a ld [wListScrollOffset], a - ld [wcc2c], a + ld [wBagSavedMenuItem], a ld hl, wd730 res 6, [hl] xor a ld [wDoNotWaitForButtonPressAfterDisplayingText], a ret -Func_7995: ; 7995 (1:7995) +PlayerPCDeposit: ; 7995 (1:7995) xor a ld [wCurrentMenuItem], a ld [wListScrollOffset], a ld a, [wNumBagItems] and a - jr nz, Func_79ab + jr nz, .loop ld hl, NothingToDepositText call PrintText - jp Func_790c - -Func_79ab: ; 79ab (1:79ab) + jp PlayerPCMenu +.loop ld hl, WhatToDepositText call PrintText ld hl, wNumBagItems @@ -102,29 +103,30 @@ Func_79ab: ; 79ab (1:79ab) ld [wListPointer + 1], a xor a ld [wPrintItemPrices], a - ld a, $3 + ld a, ITEMLISTMENU ld [wListMenuID], a call DisplayListMenuID - jp c, Func_790c + jp c, PlayerPCMenu call IsKeyItem - ld a, $1 + ld a, 1 ld [wItemQuantity], a ld a, [wIsKeyItem] and a - jr nz, .asm_79e7 + jr nz, .next +; if it's not a key item, there can be more than one of the item ld hl, DepositHowManyText call PrintText call DisplayChooseQuantityMenu cp $ff - jp z, Func_79ab -.asm_79e7 + jp z, .loop +.next ld hl, wNumBoxItems call AddItemToInventory - jr c, .asm_79f8 + jr c, .roomAvailable ld hl, NoRoomToStoreText call PrintText - jp Func_79ab -.asm_79f8 + jp .loop +.roomAvailable ld hl, wNumBagItems call RemoveItemFromInventory call WaitForSoundToFinish @@ -133,20 +135,19 @@ Func_79ab: ; 79ab (1:79ab) call WaitForSoundToFinish ld hl, ItemWasStoredText call PrintText - jp Func_79ab + jp .loop -Func_7a12: ; 7a12 (1:7a12) +PlayerPCWithdraw: ; 7a12 (1:7a12) xor a ld [wCurrentMenuItem], a ld [wListScrollOffset], a ld a, [wNumBoxItems] and a - jr nz, Func_7a28 + jr nz, .loop ld hl, NothingStoredText call PrintText - jp Func_790c - -Func_7a28: ; 7a28 (1:7a28) + jp PlayerPCMenu +.loop ld hl, WhatToWithdrawText call PrintText ld hl, wNumBoxItems @@ -156,29 +157,30 @@ Func_7a28: ; 7a28 (1:7a28) ld [wListPointer + 1], a xor a ld [wPrintItemPrices], a - ld a, $3 + ld a, ITEMLISTMENU ld [wListMenuID], a call DisplayListMenuID - jp c, Func_790c + jp c, PlayerPCMenu call IsKeyItem - ld a, $1 + ld a, 1 ld [wItemQuantity], a ld a, [wIsKeyItem] and a - jr nz, .asm_7a64 + jr nz, .next +; if it's not a key item, there can be more than one of the item ld hl, WithdrawHowManyText call PrintText call DisplayChooseQuantityMenu cp $ff - jp z, Func_7a28 -.asm_7a64 + jp z, .loop +.next ld hl, wNumBagItems call AddItemToInventory - jr c, .asm_7a75 + jr c, .roomAvailable ld hl, CantCarryMoreText call PrintText - jp Func_7a28 -.asm_7a75 + jp .loop +.roomAvailable ld hl, wNumBoxItems call RemoveItemFromInventory call WaitForSoundToFinish @@ -187,20 +189,19 @@ Func_7a28: ; 7a28 (1:7a28) call WaitForSoundToFinish ld hl, WithdrewItemText call PrintText - jp Func_7a28 + jp .loop -Func_7a8f: ; 7a8f (1:7a8f) +PlayerPCToss: ; 7a8f (1:7a8f) xor a ld [wCurrentMenuItem], a ld [wListScrollOffset], a ld a, [wNumBoxItems] and a - jr nz, Func_7aa5 + jr nz, .loop ld hl, NothingStoredText call PrintText - jp Func_790c - -Func_7aa5: ; 7aa5 (1:7aa5) + jp PlayerPCMenu +.loop ld hl, WhatToTossText call PrintText ld hl, wNumBoxItems @@ -210,33 +211,34 @@ Func_7aa5: ; 7aa5 (1:7aa5) ld [wListPointer + 1], a xor a ld [wPrintItemPrices], a - ld a, $3 + ld a, ITEMLISTMENU ld [wListMenuID], a push hl call DisplayListMenuID pop hl - jp c, Func_790c + jp c, PlayerPCMenu push hl call IsKeyItem pop hl - ld a, $1 + ld a, 1 ld [wItemQuantity], a ld a, [wIsKeyItem] and a - jr nz, .asm_7aef + jr nz, .next ld a, [wcf91] call IsItemHM - jr c, .asm_7aef + jr c, .next +; if it's not a key item, there can be more than one of the item push hl ld hl, TossHowManyText call PrintText call DisplayChooseQuantityMenu pop hl cp $ff - jp z, Func_7aa5 -.asm_7aef - call TossItem - jp Func_7aa5 + jp z, .loop +.next + call TossItem ; disallows tossing key items + jp .loop PlayersPCMenuEntries: ; 7af5 (1:7af5) db "WITHDRAW ITEM" diff --git a/engine/menu/start_menu.asm b/engine/menu/start_menu.asm index 0db0d052..7aa09df7 100755 --- a/engine/menu/start_menu.asm +++ b/engine/menu/start_menu.asm @@ -54,7 +54,7 @@ RedisplayStartMenu:: ; 2adf (0:2adf) .buttonPressed ; A, B, or Start button pressed call PlaceUnfilledArrowMenuCursor ld a,[wCurrentMenuItem] - ld [wcc2d],a ; save current menu item ID + ld [wBattleAndStartSavedMenuItem],a ; save current menu selection ld a,b and a,%00001010 ; was the Start button or B button pressed? jp nz,CloseStartMenu diff --git a/engine/menu/start_sub_menus.asm b/engine/menu/start_sub_menus.asm index 762a3de1..11b7fa90 100755 --- a/engine/menu/start_sub_menus.asm +++ b/engine/menu/start_sub_menus.asm @@ -81,22 +81,22 @@ StartMenu_Pokemon: ; 130a9 (4:70a9) jp z,.choseStats ld c,a ld b,0 - ld hl,wWhichTrade + ld hl,wFieldMoves add hl,bc jp .choseOutOfBattleMove .choseSwitch ld a,[wPartyCount] cp a,2 ; is there more than one pokemon in the party? jp c,StartMenu_Pokemon ; if not, no switching - call SwitchPartyMon_Stats + call SwitchPartyMon_InitVarOrSwapData ; init [wMenuItemToSwap] ld a,SWAP_MONS_PARTY_MENU ld [wPartyMenuTypeOrMessageID],a call GoBackToPartyMenu jp .checkIfPokemonChosen .choseStats call ClearSprites - xor a - ld [wcc49],a + xor a ; PLAYER_PARTY_DATA + ld [wMonDataLocation],a predef StatusScreen predef StatusScreen2 call ReloadMapData @@ -256,14 +256,14 @@ StartMenu_Pokemon: ; 130a9 (4:70a9) ld a,[H_QUOTIENT + 2] sbc b jp nc,.notHealthyEnough - ld a,[wcc2b] + ld a,[wPartyAndBillsPCSavedMenuItem] push af ld a,POTION ld [wcf91],a ld [wd152],a call UseItem pop af - ld [wcc2b],a + ld [wPartyAndBillsPCSavedMenuItem],a jp .loop .notHealthyEnough ; if current HP is less than 1/5 of max HP ld hl,.notHealthyEnoughText @@ -316,11 +316,11 @@ StartMenu_Item: ; 13302 (4:7302) ld [wPrintItemPrices],a ld a,ITEMLISTMENU ld [wListMenuID],a - ld a,[wcc2c] + ld a,[wBagSavedMenuItem] ld [wCurrentMenuItem],a call DisplayListMenuID ld a,[wCurrentMenuItem] - ld [wcc2c],a + ld [wBagSavedMenuItem],a jr nc,.choseItem .exitMenu call LoadScreenTilesFromBuffer2 ; restore saved screen @@ -566,7 +566,7 @@ DrawTrainerInfo: ; 1349a (4:749a) ld de,vChars1 + $570 call TrainerInfo_FarCopyData call EnableLCD - ld hl,wWhichTrade + ld hl,wTrainerInfoTextBoxWidthPlus1 ld a,18 + 1 ld [hli],a dec a @@ -574,7 +574,7 @@ DrawTrainerInfo: ; 1349a (4:749a) ld [hl],1 hlCoord 0, 0 call TrainerInfo_DrawTextBox - ld hl,wWhichTrade + ld hl,wTrainerInfoTextBoxWidthPlus1 ld a,16 + 1 ld [hli],a dec a @@ -627,15 +627,15 @@ TrainerInfo_BadgesText: ; 13597 (4:7597) ; height is always 6 ; INPUT: ; hl = destination address -; [wWhichTrade] = width + 1 -; [wTrainerEngageDistance] = width -; [wTrainerFacingDirection] = distance from the end of a text box row to the start of the next +; [wTrainerInfoTextBoxWidthPlus1] = width +; [wTrainerInfoTextBoxWidth] = width - 1 +; [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 call TrainerInfo_DrawHorizontalEdge ; draw top edge call TrainerInfo_NextTextBoxRow - ld a,[wWhichTrade] ; width of the text box plus one + ld a,[wTrainerInfoTextBoxWidthPlus1] ld e,a ld d,0 ld c,6 ; height of the text box @@ -651,7 +651,7 @@ TrainerInfo_DrawTextBox: ; 135a0 (4:75a0) TrainerInfo_DrawHorizontalEdge: ; 135c3 (4:75c3) ld [hli],a ; place left corner tile - ld a,[wTrainerEngageDistance] ; width of the text box + ld a,[wTrainerInfoTextBoxWidth] ld c,a ld a,d .loop @@ -663,7 +663,7 @@ TrainerInfo_DrawHorizontalEdge: ; 135c3 (4:75c3) ret TrainerInfo_NextTextBoxRow: ; 135d0 (4:75d0) - ld a,[wTrainerFacingDirection] ; distance to the start of the next row + ld a,[wTrainerInfoTextBoxNextRowOffset] ; distance to the start of the next row .loop inc hl dec a @@ -704,62 +704,65 @@ StartMenu_Option: ; 135f6 (4:75f6) jp RedisplayStartMenu SwitchPartyMon: ; 13613 (4:7613) - call SwitchPartyMon_Stats - ld a, [wWhichTrade] - call SwitchPartyMon_OAM + call SwitchPartyMon_InitVarOrSwapData ; swap data + ld a, [wSwappedMenuItem] + call SwitchPartyMon_ClearGfx ld a, [wCurrentMenuItem] - call SwitchPartyMon_OAM + call SwitchPartyMon_ClearGfx jp RedrawPartyMenu_ -SwitchPartyMon_OAM: ; 13625 (4:7625) +SwitchPartyMon_ClearGfx: ; 13625 (4:7625) push af hlCoord 0, 0 ld bc, SCREEN_WIDTH * 2 call AddNTimes ld c, SCREEN_WIDTH * 2 ld a, " " -.asm_13633 +.clearMonBGLoop ; clear the mon's row in the party menu ld [hli], a dec c - jr nz, .asm_13633 + jr nz, .clearMonBGLoop pop af ld hl, wOAMBuffer ld bc, $10 call AddNTimes ld de, $4 ld c, e -.asm_13645 +.clearMonOAMLoop ld [hl], $a0 add hl, de dec c - jr nz, .asm_13645 + jr nz, .clearMonOAMLoop call WaitForSoundToFinish ld a, (SFX_02_58 - SFX_Headers_02) / 3 jp PlaySound -SwitchPartyMon_Stats: ; 13653 (4:7653) +SwitchPartyMon_InitVarOrSwapData: ; 13653 (4:7653) +; This is used to initialise [wMenuItemToSwap] and to actually swap the data. ld a, [wMenuItemToSwap] - and a - jr nz, .asm_13661 + and a ; has [wMenuItemToSwap] been initialised yet? + jr nz, .pickedMonsToSwap +; If not, initialise [wMenuItemToSwap] so that it matches the current mon. ld a, [wWhichPokemon] - inc a + inc a ; [wMenuItemToSwap] counts from 1 ld [wMenuItemToSwap], a ret -.asm_13661 +.pickedMonsToSwap xor a ld [wPartyMenuTypeOrMessageID], a ld a, [wMenuItemToSwap] dec a ld b, a ld a, [wCurrentMenuItem] - ld [wWhichTrade], a - cp b - jr nz, .asm_1367b + ld [wSwappedMenuItem], a + cp b ; swapping a mon with itself? + jr nz, .swappingDifferentMons +; can't swap a mon with itself xor a ld [wMenuItemToSwap], a ld [wPartyMenuTypeOrMessageID], a ret -.asm_1367b +.swappingDifferentMons ld a, b ld [wMenuItemToSwap], a push hl @@ -770,20 +773,20 @@ SwitchPartyMon_Stats: ; 13653 (4:7653) ld a, [wCurrentMenuItem] add l ld l, a - jr nc, .asm_1368e + jr nc, .noCarry inc h -.asm_1368e +.noCarry ld a, [wMenuItemToSwap] add e ld e, a - jr nc, .asm_13696 + jr nc, .noCarry2 inc d -.asm_13696 +.noCarry2 ld a, [hl] - ld [H_DIVIDEND], a ; (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT) + ld [hSwapTemp], a ld a, [de] ld [hl], a - ld a, [H_DIVIDEND] ; (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT) + ld a, [hSwapTemp] ld [de], a ld hl, wPartyMons ld bc, wPartyMon2 - wPartyMon1 @@ -791,19 +794,19 @@ SwitchPartyMon_Stats: ; 13653 (4:7653) call AddNTimes push hl ld de, wSwitchPartyMonTempBuffer - ld bc, $2c + ld bc, wPartyMon2 - wPartyMon1 call CopyData ld hl, wPartyMons - ld bc, $2c + ld bc, wPartyMon2 - wPartyMon1 ld a, [wMenuItemToSwap] call AddNTimes pop de push hl - ld bc, $2c + ld bc, wPartyMon2 - wPartyMon1 call CopyData pop de ld hl, wSwitchPartyMonTempBuffer - ld bc, $2c + ld bc, wPartyMon2 - wPartyMon1 call CopyData ld hl, wPartyMonOT ld a, [wCurrentMenuItem] @@ -842,7 +845,7 @@ SwitchPartyMon_Stats: ; 13653 (4:7653) ld bc, $b call CopyData ld a, [wMenuItemToSwap] - ld [wWhichTrade], a + ld [wSwappedMenuItem], a xor a ld [wMenuItemToSwap], a ld [wPartyMenuTypeOrMessageID], a diff --git a/engine/menu/status_screen.asm b/engine/menu/status_screen.asm index 32cbf519..3f73a84f 100755 --- a/engine/menu/status_screen.asm +++ b/engine/menu/status_screen.asm @@ -65,9 +65,10 @@ DrawHP_: ; 128fb (4:68fb) ; Predef 0x37 StatusScreen: ; 12953 (4:6953) call LoadMonData - ld a, [wcc49] - cp $2 ; 2 means we're in a PC box + ld a, [wMonDataLocation] + cp BOX_DATA jr c, .DontRecalculate +; mon is in a box or daycare ld a, [wLoadedMonBoxLevel] ld [wLoadedMonLevel], a ld [W_CURENEMYLVL], a @@ -148,13 +149,13 @@ StatusScreen: ; 12953 (4:6953) hlCoord 11, 10 predef PrintMonType ld hl, NamePointers2 - call .asm_12a7e + call .GetStringPointer ld d, h ld e, l hlCoord 9, 1 call PlaceString ; Pokémon name ld hl, OTPointers - call .asm_12a7e + call .GetStringPointer ld d, h ld e, l hlCoord 12, 16 @@ -175,17 +176,18 @@ StatusScreen: ; 12953 (4:6953) pop af ld [hTilesetType], a ret -.asm_12a7e ; I don't know what this does, iterates over pointers? - ld a, [wcc49] + +.GetStringPointer + ld a, [wMonDataLocation] add a ld c, a - ld b, $0 + ld b, 0 add hl, bc ld a, [hli] ld h, [hl] ld l, a - ld a, [wcc49] - cp $3 + ld a, [wMonDataLocation] + cp DAYCARE_DATA ret z ld a, [wWhichPokemon] jp SkipFixedLengthTextEntries diff --git a/engine/save.asm b/engine/save.asm index ac97e6ba..6dc1a46c 100755 --- a/engine/save.asm +++ b/engine/save.asm @@ -309,7 +309,7 @@ Func_73863: ; 73863 (1c:7863) Func_7387b: ; 7387b (1c:787b) ld hl, PointerTable_73895 - ld a, [wd5a0] + ld a, [wCurrentBoxNum] and $7f cp NUM_BOXES / 2 ld b, $2 @@ -341,7 +341,7 @@ ChangeBox:: ; 738a1 (1c:78a1) ld a, [wCurrentMenuItem] and a ret nz ; return if No was chosen - ld hl, wd5a0 + ld hl, wCurrentBoxNum bit 7, [hl] call z, Func_73a29 call Func_7393f @@ -360,7 +360,7 @@ ChangeBox:: ; 738a1 (1c:78a1) call Func_7390e ld a, [wCurrentMenuItem] set 7, a - ld [wd5a0], a + ld [wCurrentBoxNum], a call Func_7387b ld de, W_NUMINBOX call Func_7390e @@ -422,7 +422,7 @@ Func_7393f: ; 7393f (1c:793f) ld [wTopMenuItemX], a xor a ld [wMenuWatchMovingOutOfBounds], a - ld a, [wd5a0] + ld a, [wCurrentBoxNum] and $7f ld [wCurrentMenuItem], a ld [wLastMenuItem], a @@ -443,7 +443,7 @@ Func_7393f: ; 7393f (1c:793f) call PlaceString ld hl, hFlags_0xFFF6 res 2, [hl] - ld a, [wd5a0] + ld a, [wCurrentBoxNum] and $7f cp 9 jr c, .asm_739a6 @@ -561,7 +561,7 @@ Func_73a84: ; 73a84 (1c:7a84) ld [MBC1SRamBankingMode], a ld [MBC1SRamEnable], a pop hl - ld a, [wd5a0] + ld a, [wCurrentBoxNum] and $7f ld c, a ld b, $0 diff --git a/home.asm b/home.asm index f2226eea..1230f07f 100644 --- a/home.asm +++ b/home.asm @@ -243,7 +243,7 @@ DrawHPBar:: ; 1336 (0:1336) ; loads base stats to W_MONHDEXNUM ; INPUT: ; [wWhichPokemon] = index of pokemon within party/box -; [wcc49] = source +; [wMonDataLocation] = source ; 00: player's party ; 01: enemy's party ; 02: current box @@ -376,15 +376,15 @@ PartyMenuInit:: ; 1420 (0:1420) call LoadHpBarAndStatusTilePatterns ld hl, wd730 set 6, [hl] ; turn off letter printing delay - xor a - ld [wcc49], a + xor a ; PLAYER_PARTY_DATA + ld [wMonDataLocation], a ld [wMenuWatchMovingOutOfBounds], a ld hl, wTopMenuItemY inc a ld [hli], a ; top menu item Y xor a ld [hli], a ; top menu item X - ld a, [wcc2b] + ld a, [wPartyAndBillsPCSavedMenuItem] push af ld [hli], a ; current menu item ID inc hl @@ -420,7 +420,7 @@ HandlePartyMenuInput:: ; 145a (0:145a) xor a ld [wd09b],a ld a,[wCurrentMenuItem] - ld [wcc2b],a + ld [wPartyAndBillsPCSavedMenuItem],a ld hl,wd730 res 6,[hl] ; turn on letter printing delay ld a,[wMenuItemToSwap] @@ -1803,11 +1803,11 @@ PrintListMenuEntries:: ; 2e5a (0:2e5a) ld hl,wPartyCount ld a,[wListPointer] cp l ; is it a list of party pokemon or box pokemon? - ld a,$00 + ld a,PLAYER_PARTY_DATA jr z,.next - ld a,$02 + ld a,BOX_DATA .next - ld [wcc49],a + ld [wMonDataLocation],a ld hl,wWhichPokemon ld a,[hl] ld b,a @@ -1818,7 +1818,7 @@ PrintListMenuEntries:: ; 2e5a (0:2e5a) add b ld [hl],a call LoadMonData ; load pokemon info - ld a,[wcc49] + ld a,[wMonDataLocation] and a ; is it a list of party pokemon or box pokemon? jr z,.skipCopyingLevel .copyLevel @@ -2751,7 +2751,7 @@ SetSpriteImageIndexAfterSettingFacingDirection:: ; 34b9 (0:34b9) ; INPUT: ; hl = address of array ; OUTPUT: -; [wWhichTrade] = if there is match, the matching array index +; [wCoordIndex] = if there is match, the matching array index ; sets carry if the coordinates are in the array, clears carry if not ArePlayerCoordsInArray:: ; 34bf (0:34bf) ld a,[W_YCOORD] @@ -2762,13 +2762,13 @@ ArePlayerCoordsInArray:: ; 34bf (0:34bf) CheckCoords:: ; 34c7 (0:34c7) xor a - ld [wWhichTrade],a + ld [wCoordIndex],a .loop ld a,[hli] cp a,$ff ; reached terminator? jr z,.notInArray push hl - ld hl,wWhichTrade + ld hl,wCoordIndex inc [hl] pop hl .compareYCoord @@ -2792,7 +2792,7 @@ CheckCoords:: ; 34c7 (0:34c7) ; hl = address of array ; [H_SPRITEINDEX] = index of boulder sprite ; OUTPUT: -; [wWhichTrade] = if there is match, the matching array index +; [wCoordIndex] = if there is match, the matching array index ; sets carry if the coordinates are in the array, clears carry if not CheckBoulderCoords:: ; 34e4 (0:34e4) push hl @@ -4586,8 +4586,8 @@ GivePokemon:: ld [wcf91], a ld a, c ld [W_CURENEMYLVL], a - xor a - ld [wcc49], a + xor a ; PLAYER_PARTY_DATA + ld [wMonDataLocation], a ld b, BANK(_GivePokemon) ld hl, _GivePokemon jp Bankswitch diff --git a/hram.asm b/hram.asm index f3bacee1..acc66a65 100644 --- a/hram.asm +++ b/hram.asm @@ -44,6 +44,9 @@ hNPCMovementDirections2Index EQU $FF95 ; CalcPositionOfPlayerRelativeToNPC hNPCSpriteOffset EQU $FF95 +; temp value used when swapping bytes +hSwapTemp EQU $FF95 + ; Multiplcation and division variables are meant ; to overlap for back-to-back usage. Big endian. @@ -198,6 +201,8 @@ hTilesetType EQU $FFD7 H_CURRENTSPRITEOFFSET EQU $FFDA ; multiple of $10 +hNewPartyLength EQU $FFE4 + hDividend2 EQU $FFE5 hDivisor2 EQU $FFE6 hQuotient2 EQU $FFE7 diff --git a/main.asm b/main.asm index 4558f319..e982f72b 100755 --- a/main.asm +++ b/main.asm @@ -80,7 +80,7 @@ SonyText: db "SONY@" LoadMonData_: -; Load monster [wWhichPokemon] from list [wcc49]: +; Load monster [wWhichPokemon] from list [wMonDataLocation]: ; 0: partymon ; 1: enemymon ; 2: boxmon @@ -90,8 +90,8 @@ LoadMonData_: ld a, [wDayCareMonSpecies] ld [wcf91], a - ld a, [wcc49] - cp 3 + ld a, [wMonDataLocation] + cp DAYCARE_DATA jr z, .GetMonHeader ld a, [wWhichPokemon] @@ -105,8 +105,8 @@ LoadMonData_: ld hl, wPartyMons ld bc, wPartyMon2 - wPartyMon1 - ld a, [wcc49] - cp 1 + ld a, [wMonDataLocation] + cp ENEMY_PARTY_DATA jr c, .getMonEntry ld hl, wEnemyMons @@ -564,7 +564,7 @@ TestBattle: ld a, 20 ld [W_CURENEMYLVL], a xor a - ld [wcc49], a + ld [wMonDataLocation], a ld [W_CURMAP], a call AddPartyMon @@ -1090,7 +1090,7 @@ DrawStartMenu: ; 710b (1:710b) ld [wTopMenuItemY],a ; Y position of first menu choice ld a,$0b ld [wTopMenuItemX],a ; X position of first menu choice - ld a,[wcc2d] ; remembered menu selection from last time + ld a,[wBattleAndStartSavedMenuItem] ; remembered menu selection from last time ld [wCurrentMenuItem],a ld [wLastMenuItem],a xor a @@ -2926,7 +2926,7 @@ RemoveItemFromInventory_: ; ce74 (3:4e74) xor a ld [wListScrollOffset],a ld [wCurrentMenuItem],a - ld [wcc2c],a + ld [wBagSavedMenuItem],a ld [wSavedListScrollOffset],a pop hl ld a,[hl] ; a = number of items in inventory @@ -3553,36 +3553,40 @@ ResetBoulderPushFlags: ; f2dd (3:72dd) ret _AddPartyMon: ; f2e5 (3:72e5) +; Adds a new mon to the player's or enemy's party. +; [wMonDataLocation] is used in an unusual way in this function. +; If the lower nybble is 0, the mon is added to the player's party, else the enemy's. +; If the entire value is 0, then the player is allowed to name the mon. ld de, wPartyCount - ld a, [wcc49] + ld a, [wMonDataLocation] and $f - jr z, .asm_f2f2 + jr z, .next ld de, wEnemyPartyCount -.asm_f2f2 +.next ld a, [de] inc a cp PARTY_LENGTH + 1 - ret nc + ret nc ; return if the party is already full ld [de], a ld a, [de] - ld [$ffe4], a + ld [hNewPartyLength], a add e ld e, a - jr nc, .asm_f300 + jr nc, .noCarry inc d -.asm_f300 +.noCarry ld a, [wcf91] - ld [de], a + ld [de], a ; write species of new mon in party list inc de - ld a, $ff + ld a, $ff ; terminator ld [de], a ld hl, wPartyMonOT - ld a, [wcc49] + ld a, [wMonDataLocation] and $f - jr z, .asm_f315 + jr z, .next2 ld hl, wEnemyMonOT -.asm_f315 - ld a, [$ffe4] +.next2 + ld a, [hNewPartyLength] dec a call SkipFixedLengthTextEntries ld d, h @@ -3590,24 +3594,24 @@ _AddPartyMon: ; f2e5 (3:72e5) ld hl, wPlayerName ld bc, $b call CopyData - ld a, [wcc49] + ld a, [wMonDataLocation] and a - jr nz, .asm_f33f + jr nz, .skipNaming ld hl, wPartyMonNicks - ld a, [$ffe4] + ld a, [hNewPartyLength] dec a call SkipFixedLengthTextEntries ld a, NAME_MON_SCREEN ld [wNamingScreenType], a predef AskName -.asm_f33f +.skipNaming ld hl, wPartyMons - ld a, [wcc49] + ld a, [wMonDataLocation] and $f - jr z, .asm_f34c + jr z, .next3 ld hl, wEnemyMons -.asm_f34c - ld a, [$ffe4] +.next3 + ld a, [hNewPartyLength] dec a ld bc, wPartyMon2 - wPartyMon1 call AddNTimes @@ -3619,15 +3623,17 @@ _AddPartyMon: ; f2e5 (3:72e5) call GetMonHeader ld hl, W_MONHEADER ld a, [hli] - ld [de], a + ld [de], a ; species inc de pop hl push hl - ld a, [wcc49] + ld a, [wMonDataLocation] and $f ld a, $98 ; set enemy trainer mon IVs to fixed average values ld b, $88 - jr nz, .writeFreshMonData + jr nz, .next4 + +; If the mon is being added to the player's party, update the pokedex. ld a, [wcf91] ld [wd11e], a push de @@ -3650,24 +3656,29 @@ _AddPartyMon: ; f2e5 (3:72e5) pop bc ld hl, wPokedexSeen call FlagAction + pop hl push hl + ld a, [W_ISINBATTLE] - and a + and a ; is this a wild mon caught in battle? jr nz, .copyEnemyMonData + +; Not wild. call Random ; generate random IVs ld b, a call Random -.writeFreshMonData ; f3b3 + +.next4 push bc - ld bc, $1b + ld bc, wPartyMon1DVs - wPartyMon1 add hl, bc pop bc ld [hli], a ld [hl], b ; write IVs - ld bc, $fff4 + ld bc, (wPartyMon1HPExp - 1) - (wPartyMon1DVs + 1) add hl, bc - ld a, $1 + ld a, 1 ld c, a xor a ld b, a @@ -3679,13 +3690,13 @@ _AddPartyMon: ; f2e5 (3:72e5) ld [de], a inc de xor a - ld [de], a ; level (?) + ld [de], a ; box level inc de ld [de], a ; status ailments inc de jr .copyMonTypesAndMoves .copyEnemyMonData - ld bc, $1b + ld bc, wPartyMon1DVs - wPartyMon1 add hl, bc ld a, [wEnemyMonDVs] ; copy IVs from cur enemy mon ld [hli], a @@ -3698,7 +3709,7 @@ _AddPartyMon: ; f2e5 (3:72e5) ld [de], a inc de xor a - ld [de], a ; level (?) + ld [de], a ; box level inc de ld a, [wEnemyMonStatus] ; copy status ailments from cur enemy mon ld [de], a @@ -3711,7 +3722,7 @@ _AddPartyMon: ; f2e5 (3:72e5) ld a, [hli] ; type 2 ld [de], a inc de - ld a, [hli] ; unused (?) + ld a, [hli] ; catch rate (held item in gen 2) ld [de], a ld hl, W_MONHMOVES ld a, [hli] @@ -4035,7 +4046,7 @@ _MoveMon: ; f51e (3:751e) push hl srl a add $2 - ld [wcc49], a + ld [wMonDataLocation], a call LoadMonData callba CalcLevelFromExperience ld a, d @@ -4477,7 +4488,7 @@ START_MONEY EQU $3000 inc hl ld [hl], a - ld [wcc49], a + ld [wMonDataLocation], a ld hl, W_OBTAINEDBADGES ld [hli], a diff --git a/scripts/daycarem.asm b/scripts/daycarem.asm index 5e80a10f..2196e021 100755 --- a/scripts/daycarem.asm +++ b/scripts/daycarem.asm @@ -35,11 +35,11 @@ DayCareMText1: ; 56254 (15:6254) pop af ld hl, DayCareMText_56437 jp c, DayCareMScript_56409 - callab Func_2171b + callab KnowsHMMove ld hl, DayCareMText_5644a jp c, DayCareMScript_56409 xor a - ld [wcc2b], a + ld [wPartyAndBillsPCSavedMenuItem], a ld a, [wWhichPokemon] ld hl, wPartyMonNicks call GetPartyMonName @@ -62,8 +62,8 @@ DayCareMScript_562e1: ; 562e1 (15:62e1) xor a ld hl, W_DAYCAREMONNAME call GetPartyMonName - ld a, $3 - ld [wcc49], a + ld a, DAYCARE_DATA + ld [wMonDataLocation], a call LoadMonData callab CalcLevelFromExperience ld a, d diff --git a/scripts/oakslab.asm b/scripts/oakslab.asm index b32647b5..73ad345d 100755 --- a/scripts/oakslab.asm +++ b/scripts/oakslab.asm @@ -898,9 +898,9 @@ OaksLabMonChoiceMenu: ; 1d1b3 (7:51b3) call PrintText ld hl, OaksLabReceivedMonText call PrintText - xor a - ld [wcc49], a - ld a, $5 + xor a ; PLAYER_PARTY_DATA + ld [wMonDataLocation], a + ld a, 5 ld [W_CURENEMYLVL], a ld a, [wcf91] ld [wd11e], a diff --git a/text.asm b/text.asm index 17067e57..28e4d400 100644 --- a/text.asm +++ b/text.asm @@ -1816,7 +1816,7 @@ _MonWasStoredText:: ; 0x8a159 TX_RAM wcf4b text " was" line "stored in Box @" - TX_RAM wWhichTrade + TX_RAM wBoxNumString text "." prompt diff --git a/wram.asm b/wram.asm index fa9305ef..18d16cc1 100755 --- a/wram.asm +++ b/wram.asm @@ -236,15 +236,32 @@ wLastMenuItem:: ; cc2a ; id of previously selected menu item ds 1 -; group these 3 addresses together because of an ld a,[hli] -wcc2b:: ds 1 ; used in party menu -wcc2c:: ds 1 ; used in item related menus (inventory, pc) -wcc2d:: ds 1 ; also used in inventory, supposed to save an item id +wPartyAndBillsPCSavedMenuItem:: ; cc2b +; It is mainly used by the party menu to remember the cursor position while the +; menu isn't active. +; It is also used to remember the cursor position of mon lists (for the +; withdraw/deposit/release actions) in Bill's PC so that it doesn't get lost +; when you choose a mon from the list and a sub-menu is shown. It's reset when +; you return to the main Bill's PC menu. + ds 1 + +wBagSavedMenuItem:: ; cc2c +; It is used by the bag list to remember the cursor position while the menu +; isn't active. + ds 1 + +wBattleAndStartSavedMenuItem:: ; cc2d +; It is used by the start menu to remember the cursor position while the menu +; isn't active. +; The battle menu uses it so that the cursor position doesn't get lost when +; a sub-menu is shown. It's reset at the start of each battle. + ds 1 wPlayerMoveListIndex:: ; cc2e ds 1 wPlayerMonNumber:: ; cc2f +; index in party of currently battling mon ds 1 wMenuCursorLocation:: ; cc30 @@ -326,7 +343,17 @@ wWhichTradeMonSelectionMenu:: ; cc49 ; $00 = player mons ; $01 = enemy mons -wcc49:: ds 1 ; used in some pokemon related stuff (some kind of species storage byte) +wMonDataLocation:: ; cc49 +; 0 = player's party +; 1 = enemy party +; 2 = current box +; 3 = daycare +; 4 = in-battle mon +; +; AddPartyMon uses it slightly differently. +; If the lower nybble is 0, the mon is added to the player's party, else the enemy's. +; If the entire value is 0, then the player is allowed to name the mon. + ds 1 wMenuWrappingEnabled:: ; cc4a ; set to 1 if you can go from the bottom to the top or top to bottom of a menu @@ -402,6 +429,8 @@ wSimulatedJoypadStatesEnd:: ; ccd3 ; the list starts above this address and extends downwards in memory until here ; overloaded with below labels +wParentMenuItem:: ; ccd3 + wccd3:: ds 1 ; used in battle, pokemon, PC and game corner stuff wForceEvolution:: wccd4:: ds 1 ; has a direct reference for simulated joypad stuff in vermillion and seafoam @@ -605,6 +634,18 @@ wOverrideSimulatedJoypadStatesMask:: ; cd3b ds 1 +wChargeMoveNum:: ; cd3d + +wCoordIndex:: ; cd3d + +wOptionsTextSpeedCursorX:: ; cd3d + +wBoxNumString:: ; cd3d + +wTrainerInfoTextBoxWidthPlus1:: ; cd3d + +wSwappedMenuItem:: ; cd3d + wHoFMonSpecies:: ; cd3d wFieldMoves:: ; cd3d @@ -648,6 +689,10 @@ wWhichTrade:: ; cd3d wTrainerSpriteOffset:: ; cd3d ds 1 +wOptionsBattleAnimCursorX:: ; cd3e + +wTrainerInfoTextBoxWidth:: ; cd3e + wHoFPartyMonIndex:: ; cd3e wNumCreditsMonsDisplayed:: ; cd3e @@ -676,6 +721,10 @@ wHiddenObjectFunctionRomBank:: ; cd3e wTrainerEngageDistance:: ; cd3e ds 1 +wOptionsBattleStyleCursorX:: ; cd3f + +wTrainerInfoTextBoxNextRowOffset:: ; cd3f + wHoFMonLevel:: ; cd3f wBadgeOrFaceTiles:: ; cd3f @@ -850,6 +899,7 @@ wRightGBMonSpecies:: ; cd5f wFlags_0xcd60:: ; cd60 ; bit 0: is player engaged by trainer (to avoid being engaged by multiple trainers simultaneously) ; bit 1: boulder dust animation (from using Strength) pending +; bit 3: using generic PC ; bit 5: don't play sound when A or B is pressed in menu ; bit 6: tried pushing against boulder once (you need to push twice before it will move) ds 1 @@ -1976,7 +2026,8 @@ wBoxItems:: ; d53b ds 50 * 2 ds 1 ; end -wd5a0:: ds 2 ; current box number +wCurrentBoxNum:: ; d5a0 + ds 2 wNumHoFTeams:: ; d5a2 ; number of HOF teams -- cgit v1.3.1-sl0p From 4670a1ddae02fd73d8c4826f9d9c9948820636a0 Mon Sep 17 00:00:00 2001 From: dannye Date: Thu, 16 Jul 2015 23:21:57 -0500 Subject: Swap trade center and battle center also rename battle center to colosseum closes https://github.com/iimarckus/pokered/issues/102 --- constants/map_constants.asm | 4 ++-- constants/map_dimensions.asm | 10 +++++----- data/hidden_objects.asm | 8 ++++---- data/mapHeaders/battlecenterm.asm | 6 ------ data/mapHeaders/colosseum.asm | 6 ++++++ data/mapHeaders/tradecenter.asm | 6 ++++++ data/mapHeaders/tradecenterm.asm | 6 ------ data/mapObjects/battlecenterm.asm | 9 --------- data/mapObjects/colosseum.asm | 9 +++++++++ data/mapObjects/tradecenter.asm | 9 +++++++++ data/mapObjects/tradecenterm.asm | 9 --------- data/map_header_banks.asm | 4 ++-- data/map_header_pointers.asm | 4 ++-- data/map_songs.asm | 4 ++-- data/special_warps.asm | 24 ++++++++++++------------ engine/cable_club.asm | 4 ++-- engine/menu/bills_pc.asm | 4 ++-- engine/menu/main_menu.asm | 8 ++++---- main.asm | 36 ++++++++++++++++++------------------ maps/battlecenterm.blk | 4 ---- maps/colosseum.blk | 6 ++++++ maps/tradecenter.blk | 4 ++++ maps/tradecenterm.blk | 6 ------ scripts/battlecenterm.asm | 38 -------------------------------------- scripts/colosseum.asm | 9 +++++++++ scripts/tradecenter.asm | 38 ++++++++++++++++++++++++++++++++++++++ scripts/tradecenterm.asm | 9 --------- text.asm | 4 ++-- 28 files changed, 144 insertions(+), 144 deletions(-) delete mode 100755 data/mapHeaders/battlecenterm.asm create mode 100755 data/mapHeaders/colosseum.asm create mode 100755 data/mapHeaders/tradecenter.asm delete mode 100755 data/mapHeaders/tradecenterm.asm delete mode 100755 data/mapObjects/battlecenterm.asm create mode 100755 data/mapObjects/colosseum.asm create mode 100755 data/mapObjects/tradecenter.asm delete mode 100755 data/mapObjects/tradecenterm.asm delete mode 100644 maps/battlecenterm.blk create mode 100644 maps/colosseum.blk create mode 100644 maps/tradecenter.blk delete mode 100644 maps/tradecenterm.blk delete mode 100755 scripts/battlecenterm.asm create mode 100755 scripts/colosseum.asm create mode 100755 scripts/tradecenter.asm delete mode 100755 scripts/tradecenterm.asm (limited to 'text.asm') diff --git a/constants/map_constants.asm b/constants/map_constants.asm index 11deedd0..c880d3f4 100644 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -237,8 +237,8 @@ SILPH_CO_11F EQU $EB SILPH_CO_ELEVATOR EQU $EC ;EQU $ED ;EQU $EE -BATTLE_CENTER EQU $EF -TRADE_CENTER EQU $F0 +TRADE_CENTER EQU $EF +COLOSSEUM EQU $F0 ;EQU $F1 ;EQU $F2 ;EQU $F3 diff --git a/constants/map_dimensions.asm b/constants/map_dimensions.asm index 236ccac4..ad6caa23 100755 --- a/constants/map_dimensions.asm +++ b/constants/map_dimensions.asm @@ -872,14 +872,14 @@ SILPH_CO_11F_WIDTH EQU $09 SILPH_CO_ELEVATOR_HEIGHT EQU $02 SILPH_CO_ELEVATOR_WIDTH EQU $02 -; BattleCenterM_h map_id=239 -BATTLE_CENTER_HEIGHT EQU $04 -BATTLE_CENTER_WIDTH EQU $05 - -; TradeCenterM_h map_id=240 +; TradeCenter_h map_id=239 TRADE_CENTER_HEIGHT EQU $04 TRADE_CENTER_WIDTH EQU $05 +; Colosseum_h map_id=240 +COLOSSEUM_HEIGHT EQU $04 +COLOSSEUM_WIDTH EQU $05 + ; Lorelei_h map_id=245 LORELEIS_ROOM_HEIGHT EQU $06 LORELEIS_ROOM_WIDTH EQU $05 diff --git a/data/hidden_objects.asm b/data/hidden_objects.asm index 0e36dbc4..8170cf5a 100755 --- a/data/hidden_objects.asm +++ b/data/hidden_objects.asm @@ -28,8 +28,8 @@ HiddenObjectMaps: ; 46a40 (11:6a40) db SAFFRON_GYM db MT_MOON_POKECENTER db ROCK_TUNNEL_POKECENTER - db BATTLE_CENTER db TRADE_CENTER + db COLOSSEUM db VIRIDIAN_FOREST db MT_MOON_3 db INDIGO_PLATEAU @@ -117,8 +117,8 @@ HiddenObjectPointers: ; 46a96 (11:6a96) dw SaffronGymHiddenObjects dw MtMoonPokecenterHiddenObjects dw RockTunnelPokecenterHiddenObjects - dw BattleCenterHiddenObjects dw TradeCenterHiddenObjects + dw ColosseumHiddenObjects dw ViridianForestHiddenObjects dw MtMoon3HiddenObjects dw IndigoPlateauHiddenObjects @@ -175,7 +175,7 @@ HiddenObjectPointers: ; 46a96 (11:6a96) dw Route4HiddenObjects ; format: y-coord, x-coord, text id/item id, object routine -BattleCenterHiddenObjects: ; 46b40 (11:6b40) +TradeCenterHiddenObjects: ; 46b40 (11:6b40) db $04,$05,$d0 db BANK(CableClubRightGameboy) dw CableClubRightGameboy @@ -183,7 +183,7 @@ BattleCenterHiddenObjects: ; 46b40 (11:6b40) db BANK(CableClubLeftGameboy) dw CableClubLeftGameboy db $FF -TradeCenterHiddenObjects: ; 46b4d (11:6b4d) +ColosseumHiddenObjects: ; 46b4d (11:6b4d) db $04,$05,$d0 db BANK(CableClubRightGameboy) dw CableClubRightGameboy diff --git a/data/mapHeaders/battlecenterm.asm b/data/mapHeaders/battlecenterm.asm deleted file mode 100755 index 984f7e38..00000000 --- a/data/mapHeaders/battlecenterm.asm +++ /dev/null @@ -1,6 +0,0 @@ -BattleCenterM_h: ; 0x4fd04 to 0x4fd10 (12 bytes) (id=239) - db CLUB ; tileset - db BATTLE_CENTER_HEIGHT, BATTLE_CENTER_WIDTH ; dimensions (y, x) - dw BattleCenterMBlocks, BattleCenterMTextPointers, BattleCenterMScript ; blocks, texts, scripts - db $00 ; connections - dw BattleCenterMObject ; objects diff --git a/data/mapHeaders/colosseum.asm b/data/mapHeaders/colosseum.asm new file mode 100755 index 00000000..94728b8d --- /dev/null +++ b/data/mapHeaders/colosseum.asm @@ -0,0 +1,6 @@ +Colosseum_h: ; 0x4fd71 to 0x4fd7d (12 bytes) (id=240) + db CLUB ; tileset + db COLOSSEUM_HEIGHT, COLOSSEUM_WIDTH ; dimensions (y, x) + dw ColosseumBlocks, ColosseumTextPointers, ColosseumScript ; blocks, texts, scripts + db $00 ; connections + dw ColosseumObject ; objects diff --git a/data/mapHeaders/tradecenter.asm b/data/mapHeaders/tradecenter.asm new file mode 100755 index 00000000..b9759bbb --- /dev/null +++ b/data/mapHeaders/tradecenter.asm @@ -0,0 +1,6 @@ +TradeCenter_h: ; 0x4fd04 to 0x4fd10 (12 bytes) (id=239) + db CLUB ; tileset + db TRADE_CENTER_HEIGHT, TRADE_CENTER_WIDTH ; dimensions (y, x) + dw TradeCenterBlocks, TradeCenterTextPointers, TradeCenterScript ; blocks, texts, scripts + db $00 ; connections + dw TradeCenterObject ; objects diff --git a/data/mapHeaders/tradecenterm.asm b/data/mapHeaders/tradecenterm.asm deleted file mode 100755 index 59eb5095..00000000 --- a/data/mapHeaders/tradecenterm.asm +++ /dev/null @@ -1,6 +0,0 @@ -TradeCenterM_h: ; 0x4fd71 to 0x4fd7d (12 bytes) (id=240) - db CLUB ; tileset - db TRADE_CENTER_HEIGHT, TRADE_CENTER_WIDTH ; dimensions (y, x) - dw TradeCenterMBlocks, TradeCenterMTextPointers, TradeCenterMScript ; blocks, texts, scripts - db $00 ; connections - dw TradeCenterMObject ; objects diff --git a/data/mapObjects/battlecenterm.asm b/data/mapObjects/battlecenterm.asm deleted file mode 100755 index 45d88590..00000000 --- a/data/mapObjects/battlecenterm.asm +++ /dev/null @@ -1,9 +0,0 @@ -BattleCenterMObject: ; 0x4fd53 (size=10) - db $e ; border block - - db $0 ; warps - - db $0 ; signs - - db $1 ; people - db SPRITE_RED, $2 + 4, $2 + 4, $ff, $0, $1 ; person diff --git a/data/mapObjects/colosseum.asm b/data/mapObjects/colosseum.asm new file mode 100755 index 00000000..300dd75a --- /dev/null +++ b/data/mapObjects/colosseum.asm @@ -0,0 +1,9 @@ +ColosseumObject: ; 0x4fd87 (size=10) + db $e ; border block + + db $0 ; warps + + db $0 ; signs + + db $1 ; people + db SPRITE_RED, $2 + 4, $2 + 4, $ff, $0, $1 ; person diff --git a/data/mapObjects/tradecenter.asm b/data/mapObjects/tradecenter.asm new file mode 100755 index 00000000..3afdf48e --- /dev/null +++ b/data/mapObjects/tradecenter.asm @@ -0,0 +1,9 @@ +TradeCenterObject: ; 0x4fd53 (size=10) + db $e ; border block + + db $0 ; warps + + db $0 ; signs + + db $1 ; people + db SPRITE_RED, $2 + 4, $2 + 4, $ff, $0, $1 ; person diff --git a/data/mapObjects/tradecenterm.asm b/data/mapObjects/tradecenterm.asm deleted file mode 100755 index 104b9c0b..00000000 --- a/data/mapObjects/tradecenterm.asm +++ /dev/null @@ -1,9 +0,0 @@ -TradeCenterMObject: ; 0x4fd87 (size=10) - db $e ; border block - - db $0 ; warps - - db $0 ; signs - - db $1 ; people - db SPRITE_RED, $2 + 4, $2 + 4, $ff, $0, $1 ; person diff --git a/data/map_header_banks.asm b/data/map_header_banks.asm index f6bd8d99..ed120d75 100755 --- a/data/map_header_banks.asm +++ b/data/map_header_banks.asm @@ -239,8 +239,8 @@ MapHeaderBanks: ; c23d (3:423d) db BANK(SilphCoElevator_h) db $11 db $11 - db BANK(BattleCenterM_h) - db BANK(TradeCenterM_h) + db BANK(TradeCenter_h) + db BANK(Colosseum_h) db $11 db $11 db $11 diff --git a/data/map_header_pointers.asm b/data/map_header_pointers.asm index 771989a5..ef2b4e65 100755 --- a/data/map_header_pointers.asm +++ b/data/map_header_pointers.asm @@ -239,8 +239,8 @@ MapHeaderPointers:: ; 01ae (0:01ae) dw SilphCoElevator_h dw SilphCo2_h ; unused dw SilphCo2_h ; unused - dw BattleCenterM_h - dw TradeCenterM_h + dw TradeCenter_h + dw Colosseum_h dw SilphCo2_h ; unused dw SilphCo2_h ; unused dw SilphCo2_h ; unused diff --git a/data/map_songs.asm b/data/map_songs.asm index 1d7ab269..a8022da2 100755 --- a/data/map_songs.asm +++ b/data/map_songs.asm @@ -238,8 +238,8 @@ MapSongBanks: ; c04d (3:404d) db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SilphCoElevator db MUSIC_SILPH_CO, BANK(Music_SilphCo) db MUSIC_SILPH_CO, BANK(Music_SilphCo) - db MUSIC_CELADON, BANK(Music_Celadon) ; BattleCenterM - db MUSIC_CELADON, BANK(Music_Celadon) ; TradeCenterM + db MUSIC_CELADON, BANK(Music_Celadon) ; TradeCenter + db MUSIC_CELADON, BANK(Music_Celadon) ; Colosseum db MUSIC_SILPH_CO, BANK(Music_SilphCo) db MUSIC_SILPH_CO, BANK(Music_SilphCo) db MUSIC_SILPH_CO, BANK(Music_SilphCo) diff --git a/data/special_warps.asm b/data/special_warps.asm index 480bac89..b8baccfb 100755 --- a/data/special_warps.asm +++ b/data/special_warps.asm @@ -39,26 +39,26 @@ FirstMapSpec: ; 6420 (1:6420) FLYWARP_DATA REDS_HOUSE_2F_WIDTH,6,3 db REDS_HOUSE_2 -BattleCenterSpec1: ; 6428 (1:6428) - db BATTLE_CENTER - FLYWARP_DATA BATTLE_CENTER_WIDTH,4,3 - db CLUB - -BattleCenterSpec2: ; 6430 (1:6430) - db BATTLE_CENTER - FLYWARP_DATA BATTLE_CENTER_WIDTH,4,6 - db CLUB - -TradeCenterSpec1: ; 6438 (1:6438) +TradeCenterSpec1: ; 6428 (1:6428) db TRADE_CENTER FLYWARP_DATA TRADE_CENTER_WIDTH,4,3 db CLUB -TradeCenterSpec2: ; 6440 (1:6440) +TradeCenterSpec2: ; 6430 (1:6430) db TRADE_CENTER FLYWARP_DATA TRADE_CENTER_WIDTH,4,6 db CLUB +ColosseumSpec1: ; 6438 (1:6438) + db COLOSSEUM + FLYWARP_DATA COLOSSEUM_WIDTH,4,3 + db CLUB + +ColosseumSpec2: ; 6440 (1:6440) + db COLOSSEUM + FLYWARP_DATA COLOSSEUM_WIDTH,4,6 + db CLUB + FlyWarpDataPtr: ; 6448 (1:6448) db PALLET_TOWN, 0 dw PalletTownFlyWarp diff --git a/engine/cable_club.asm b/engine/cable_club.asm index 75509312..87f7b34c 100755 --- a/engine/cable_club.asm +++ b/engine/cable_club.asm @@ -1,5 +1,5 @@ -; performs the appropriate action when the player uses the gameboy on the table in the Colosseum or Trade Centre -; In the Colosseum, it starts a battle. In the Trade Centre, it displays the trade selection screen. +; performs the appropriate action when the player uses the gameboy on the table in the Colosseum or Trade Center +; In the Colosseum, it starts a battle. In the Trade Center, it displays the trade selection screen. ; Before doing either action, it swaps random numbers, trainer names and party data with the other gameboy. CableClub_DoBattleOrTrade: ; 5317 (1:5317) ld c, 80 diff --git a/engine/menu/bills_pc.asm b/engine/menu/bills_pc.asm index fcc51af1..a4096ce7 100644 --- a/engine/menu/bills_pc.asm +++ b/engine/menu/bills_pc.asm @@ -516,7 +516,7 @@ CableClubLeftGameboy:: ; 5824 (8:5825) cp SPRITE_FACING_RIGHT ret nz ld a, [W_CURMAP] - cp BATTLE_CENTER + cp TRADE_CENTER ld a, LINK_STATE_START_TRADE jr z, .asm_2183a inc a ; LINK_STATE_START_BATTLE @@ -533,7 +533,7 @@ CableClubRightGameboy:: ; 5845 (8:5845) cp SPRITE_FACING_LEFT ret nz ld a, [W_CURMAP] - cp BATTLE_CENTER + cp TRADE_CENTER ld a, LINK_STATE_START_TRADE jr z, .asm_2185a inc a ; LINK_STATE_START_BATTLE diff --git a/engine/menu/main_menu.asm b/engine/menu/main_menu.asm index 0856352c..55e92fae 100755 --- a/engine/menu/main_menu.asm +++ b/engine/menu/main_menu.asm @@ -145,7 +145,7 @@ LinkMenu: ; 5c0a (1:5c0a) call TextBoxBorder call UpdateSprites hlCoord 7, 7 - ld de, TradeCenterText + ld de, CableClubOptionsText call PlaceString xor a ld [wcd37], a @@ -255,9 +255,9 @@ LinkMenu: ; 5c0a (1:5c0a) ld [wWalkBikeSurfState], a ; start walking ld a, [wCurrentMenuItem] and a - ld a, TRADE_CENTER + ld a, COLOSSEUM jr nz, .next - ld a, BATTLE_CENTER + ld a, TRADE_CENTER .next ld [wd72d], a ld hl, PleaseWaitText @@ -332,7 +332,7 @@ NewGameText: ; 5d87 (1:5d87) db "NEW GAME", $4e db "OPTION@" -TradeCenterText: ; 5d97 (1:5d97) +CableClubOptionsText: ; 5d97 (1:5d97) db "TRADE CENTER", $4e db "COLOSSEUM", $4e db "CANCEL@" diff --git a/main.asm b/main.asm index 84c47557..ce2d82a5 100755 --- a/main.asm +++ b/main.asm @@ -630,24 +630,24 @@ SpecialWarpIn: ; 62ce (1:62ce) ; gets the map ID, tile block map view pointer, tileset, and coordinates LoadSpecialWarpData: ; 62ff (1:62ff) ld a, [wd72d] - cp BATTLE_CENTER - jr nz, .notBattleCenter - ld hl, BattleCenterSpec1 - ld a, [hSerialConnectionStatus] - cp USING_INTERNAL_CLOCK ; which gameboy is clocking determines who is on the left and who is on the right - jr z, .copyWarpData - ld hl, BattleCenterSpec2 - jr .copyWarpData -.notBattleCenter cp TRADE_CENTER jr nz, .notTradeCenter ld hl, TradeCenterSpec1 ld a, [hSerialConnectionStatus] - cp USING_INTERNAL_CLOCK + cp USING_INTERNAL_CLOCK ; which gameboy is clocking determines who is on the left and who is on the right jr z, .copyWarpData ld hl, TradeCenterSpec2 jr .copyWarpData .notTradeCenter + cp COLOSSEUM + jr nz, .notColosseum + ld hl, ColosseumSpec1 + ld a, [hSerialConnectionStatus] + cp USING_INTERNAL_CLOCK + jr z, .copyWarpData + ld hl, ColosseumSpec2 + jr .copyWarpData +.notColosseum ld a, [wd732] bit 1, a jr nz, .notFirstMap @@ -5872,15 +5872,15 @@ ChannelerPic:: INCBIN "pic/trainer/channeler.pic" AgathaPic:: INCBIN "pic/trainer/agatha.pic" LancePic:: INCBIN "pic/trainer/lance.pic" -INCLUDE "data/mapHeaders/battlecenterm.asm" -INCLUDE "scripts/battlecenterm.asm" -INCLUDE "data/mapObjects/battlecenterm.asm" -BattleCenterMBlocks: INCBIN "maps/battlecenterm.blk" +INCLUDE "data/mapHeaders/tradecenter.asm" +INCLUDE "scripts/tradecenter.asm" +INCLUDE "data/mapObjects/tradecenter.asm" +TradeCenterBlocks: INCBIN "maps/tradecenter.blk" -INCLUDE "data/mapHeaders/tradecenterm.asm" -INCLUDE "scripts/tradecenterm.asm" -INCLUDE "data/mapObjects/tradecenterm.asm" -TradeCenterMBlocks: INCBIN "maps/tradecenterm.blk" +INCLUDE "data/mapHeaders/colosseum.asm" +INCLUDE "scripts/colosseum.asm" +INCLUDE "data/mapObjects/colosseum.asm" +ColosseumBlocks: INCBIN "maps/colosseum.blk" INCLUDE "engine/give_pokemon.asm" diff --git a/maps/battlecenterm.blk b/maps/battlecenterm.blk deleted file mode 100644 index 638b48ef..00000000 --- a/maps/battlecenterm.blk +++ /dev/null @@ -1,4 +0,0 @@ - - - !"# - diff --git a/maps/colosseum.blk b/maps/colosseum.blk new file mode 100644 index 00000000..d05a5b43 --- /dev/null +++ b/maps/colosseum.blk @@ -0,0 +1,6 @@ + + + + + + diff --git a/maps/tradecenter.blk b/maps/tradecenter.blk new file mode 100644 index 00000000..638b48ef --- /dev/null +++ b/maps/tradecenter.blk @@ -0,0 +1,4 @@ + + + !"# + diff --git a/maps/tradecenterm.blk b/maps/tradecenterm.blk deleted file mode 100644 index d05a5b43..00000000 --- a/maps/tradecenterm.blk +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/scripts/battlecenterm.asm b/scripts/battlecenterm.asm deleted file mode 100755 index dcb20d83..00000000 --- a/scripts/battlecenterm.asm +++ /dev/null @@ -1,38 +0,0 @@ -BattleCenterMScript: ; 4fd10 (13:7d10) - call EnableAutoTextBoxDrawing - ld a, [$ffaa] - cp $2 - ld a, $8 - jr z, .asm_4fd1d - ld a, $c -.asm_4fd1d - ld [$ff8d], a - ld a, $1 - ld [$ff8c], a - call SetSpriteFacingDirection - ld hl, wd72d - bit 0, [hl] - set 0, [hl] - ret nz - ld hl, wSpriteStateData2 + $14 - ld a, $8 - ld [hli], a - ld a, $a - ld [hl], a - ld a, SPRITE_FACING_LEFT - ld [wSpriteStateData1 + $19], a - ld a, [$ffaa] - cp $2 - ret z - ld a, $7 - ld [wSpriteStateData2 + $15], a - ld a, SPRITE_FACING_RIGHT - ld [wSpriteStateData1 + $19], a - ret - -BattleCenterMTextPointers: ; 4fd4c (13:7d4c) - dw BattleCenterMText1 - -BattleCenterMText1: ; 4fd4e (13:7d4e) - TX_FAR _BattleCenterMText1 - db "@" diff --git a/scripts/colosseum.asm b/scripts/colosseum.asm new file mode 100755 index 00000000..e4ba4611 --- /dev/null +++ b/scripts/colosseum.asm @@ -0,0 +1,9 @@ +ColosseumScript: ; 4fd7d (13:7d7d) + jp TradeCenterScript + +ColosseumTextPointers: ; 4fd80 (13:7d80) + dw ColosseumText1 + +ColosseumText1: ; 4fd82 (13:7d82) + TX_FAR _ColosseumText1 + db "@" diff --git a/scripts/tradecenter.asm b/scripts/tradecenter.asm new file mode 100755 index 00000000..0a5cc100 --- /dev/null +++ b/scripts/tradecenter.asm @@ -0,0 +1,38 @@ +TradeCenterScript: ; 4fd10 (13:7d10) + call EnableAutoTextBoxDrawing + ld a, [$ffaa] + cp $2 + ld a, $8 + jr z, .asm_4fd1d + ld a, $c +.asm_4fd1d + ld [$ff8d], a + ld a, $1 + ld [$ff8c], a + call SetSpriteFacingDirection + ld hl, wd72d + bit 0, [hl] + set 0, [hl] + ret nz + ld hl, wSpriteStateData2 + $14 + ld a, $8 + ld [hli], a + ld a, $a + ld [hl], a + ld a, SPRITE_FACING_LEFT + ld [wSpriteStateData1 + $19], a + ld a, [$ffaa] + cp $2 + ret z + ld a, $7 + ld [wSpriteStateData2 + $15], a + ld a, SPRITE_FACING_RIGHT + ld [wSpriteStateData1 + $19], a + ret + +TradeCenterTextPointers: ; 4fd4c (13:7d4c) + dw TradeCenterText1 + +TradeCenterText1: ; 4fd4e (13:7d4e) + TX_FAR _TradeCenterText1 + db "@" diff --git a/scripts/tradecenterm.asm b/scripts/tradecenterm.asm deleted file mode 100755 index 662a1df7..00000000 --- a/scripts/tradecenterm.asm +++ /dev/null @@ -1,9 +0,0 @@ -TradeCenterMScript: ; 4fd7d (13:7d7d) - jp BattleCenterMScript - -TradeCenterMTextPointers: ; 4fd80 (13:7d80) - dw TradeCenterMText1 - -TradeCenterMText1: ; 4fd82 (13:7d82) - TX_FAR _TradeCenterMText1 - db "@" diff --git a/text.asm b/text.asm index 17067e57..bcd95980 100644 --- a/text.asm +++ b/text.asm @@ -2494,11 +2494,11 @@ _DreamWasEatenText:: ; 94aec (25:4aec) line "dream was eaten!" prompt -_BattleCenterMText1:: ; 94b01 (25:4b01) +_TradeCenterText1:: ; 94b01 (25:4b01) text "!" done -_TradeCenterMText1:: ; 94b04 (25:4b04) +_ColosseumText1:: ; 94b04 (25:4b04) text "!" done -- cgit v1.3.1-sl0p From 6931ce96259d366263c63e704dfaac6f241d8e4a Mon Sep 17 00:00:00 2001 From: YamaArashi Date: Fri, 17 Jul 2015 01:21:40 -0700 Subject: money / coins hram constants --- engine/menu/prize_menu.asm | 8 +++---- engine/menu/vending_machine.asm | 6 ++--- engine/overworld/hidden_items.asm | 16 ++++++------- engine/overworld/pokemart.asm | 2 +- home.asm | 34 +++++++++++++------------- hram.asm | 6 +++++ main.asm | 28 +++++++++++----------- scripts/celadongamecorner.asm | 50 +++++++++++++++++++-------------------- scripts/daycarem.asm | 6 ++--- scripts/mtmoonpokecenter.asm | 6 ++--- scripts/museum1f.asm | 6 ++--- scripts/safarizoneentrance.asm | 6 ++--- text.asm | 10 ++++---- 13 files changed, 95 insertions(+), 89 deletions(-) (limited to 'text.asm') diff --git a/engine/menu/prize_menu.asm b/engine/menu/prize_menu.asm index acc18633..fff8e4c4 100755 --- a/engine/menu/prize_menu.asm +++ b/engine/menu/prize_menu.asm @@ -179,11 +179,11 @@ LoadCoinsToSubtract: ; 528b1 (14:68b1) ld hl,wd141 ; first prize's price add hl,de ; get selected prize's price xor a - ld [$FF9F],a + ld [hCoins - 1],a ld a,[hli] - ld [$FFA0],a + ld [hCoins],a ld a,[hl] - ld [$FFA1],a + ld [hCoins + 1],a ret HandlePrizeChoice: ; 528c6 (14:68c6) @@ -239,7 +239,7 @@ HandlePrizeChoice: ; 528c6 (14:68c6) ret nc .SubtractCoins call LoadCoinsToSubtract - ld hl,$FFA1 + ld hl,hCoins + 1 ld de,wPlayerCoins + 1 ld c,$02 ; how many bytes predef SubBCDPredef ; subtract coins (BCD daa operations) diff --git a/engine/menu/vending_machine.asm b/engine/menu/vending_machine.asm index 0c585687..07cf8854 100755 --- a/engine/menu/vending_machine.asm +++ b/engine/menu/vending_machine.asm @@ -37,10 +37,10 @@ VendingMachineMenu: ; 74ee0 (1d:4ee0) cp 3 ; chose Cancel? jr z, .notThirsty xor a - ld [$ff9f], a - ld [$ffa1], a + ld [hMoney], a + ld [hMoney + 2], a ld a, $2 - ld [$ffa0], a + ld [hMoney + 1], a call HasEnoughMoney jr nc, .enoughMoney ld hl, VendingMachineText4 diff --git a/engine/overworld/hidden_items.asm b/engine/overworld/hidden_items.asm index 868f118f..910fcf04 100755 --- a/engine/overworld/hidden_items.asm +++ b/engine/overworld/hidden_items.asm @@ -67,9 +67,9 @@ HiddenCoins: ; 76799 (1d:6799) and a ret nz xor a - ld [$ff9f], a - ld [$ffa0], a - ld [$ffa1], a + ld [hCoins - 1], a + ld [hCoins], a + ld [hCoins + 1], a ld a, [wWhichTrade] sub COIN cp 10 @@ -81,22 +81,22 @@ HiddenCoins: ; 76799 (1d:6799) jr .bcd100 .bcd10 ld a, $10 - ld [$ffa1], a + ld [hCoins + 1], a jr .bcddone .bcd20 ld a, $20 - ld [$ffa1], a + ld [hCoins + 1], a jr .bcddone .bcd40 ; due to a typo, this is never used ld a, $40 - ld [$ffa1], a + ld [hCoins + 1], a jr .bcddone .bcd100 ld a, $1 - ld [$ffa0], a + ld [hCoins], a .bcddone ld de, wPlayerCoins + 1 - ld hl, $ffa1 + ld hl, hCoins + 1 ld c, $2 predef AddBCDPredef ld hl, wd6fe diff --git a/engine/overworld/pokemart.asm b/engine/overworld/pokemart.asm index 2caada1d..e6fdfc92 100755 --- a/engine/overworld/pokemart.asm +++ b/engine/overworld/pokemart.asm @@ -206,7 +206,7 @@ DisplayPokemartDialogue_: ; 6c20 (1:6c20) jp .loop .isThereEnoughMoney ld de,wPlayerMoney - ld hl,$ff9f ; item price + ld hl,hMoney ld c,3 ; length of money in bytes jp StringCmp .notEnoughMoney diff --git a/home.asm b/home.asm index 430be975..38a95742 100644 --- a/home.asm +++ b/home.asm @@ -1630,15 +1630,15 @@ DisplayChooseQuantityMenu:: ; 2d57 (0:2d57) ld c,$03 ld a,[wItemQuantity] ld b,a - ld hl,$ff9f ; total price + ld hl,hMoney ; total price ; initialize total price to 0 xor a ld [hli],a ld [hli],a ld [hl],a .addLoop ; loop to multiply the individual price by the quantity to get the total price - ld de,$ffa1 - ld hl,$ff8d + ld de,hMoney + 2 + ld hl,hItemPrice + 2 push bc predef AddBCDPredef ; add the individual price to the current sum pop bc @@ -1648,23 +1648,23 @@ DisplayChooseQuantityMenu:: ; 2d57 (0:2d57) and a ; should the price be halved (for selling items)? jr z,.skipHalvingPrice xor a - ld [$ffa2],a - ld [$ffa3],a + ld [hDivideBCDDivisor],a + ld [hDivideBCDDivisor + 1],a ld a,$02 - ld [$ffa4],a + ld [hDivideBCDDivisor + 2],a predef DivideBCDPredef3 ; halves the price ; store the halved price - ld a,[$ffa2] - ld [$ff9f],a - ld a,[$ffa3] - ld [$ffa0],a - ld a,[$ffa4] - ld [$ffa1],a + ld a,[hDivideBCDQuotient] + ld [hMoney],a + ld a,[hDivideBCDQuotient + 1] + ld [hMoney + 1],a + ld a,[hDivideBCDQuotient + 2] + ld [hMoney + 2],a .skipHalvingPrice hlCoord 12, 10 ld de,SpacesBetweenQuantityAndPriceText call PlaceString - ld de,$ff9f ; total price + ld de,hMoney ; total price ld c,$a3 call PrintBCDNumber hlCoord 9, 10 @@ -2942,17 +2942,17 @@ GetTrainerName:: ; 359e (0:359e) HasEnoughMoney:: ; Check if the player has at least as much -; money as the 3-byte BCD value at $ff9f. +; money as the 3-byte BCD value at hMoney. ld de, wPlayerMoney - ld hl, $ff9f + ld hl, hMoney ld c, 3 jp StringCmp HasEnoughCoins:: ; Check if the player has at least as many -; coins as the 2-byte BCD value at $ffa0. +; coins as the 2-byte BCD value at hCoins. ld de, wPlayerCoins - ld hl, $ffa0 + ld hl, hCoins ld c, 2 jp StringCmp diff --git a/hram.asm b/hram.asm index ee71d4d6..b0d5a942 100644 --- a/hram.asm +++ b/hram.asm @@ -92,6 +92,12 @@ hNPCPlayerRelativePosPerspective EQU $FF9B ; 1 = target is to the west hNPCPlayerRelativePosFlags EQU $FF9D +hMoney EQU $FF9F ; 3-byte BCD number +hCoins EQU $FFA0 ; 2-byte BCD number + +hDivideBCDDivisor EQU $FFA2 ; 3-byte BCD number +hDivideBCDQuotient EQU $FFA2 ; 3-byte BCD number + hSerialReceivedNewData EQU $FFA9 ; $01 = using external clock diff --git a/main.asm b/main.asm index 1bff6a4e..3bc5989a 100755 --- a/main.asm +++ b/main.asm @@ -31,30 +31,30 @@ ResetStatusAndHalveMoneyOnBlackout:: ld [wNPCMovementScriptPointerTableNum], a ld [wFlags_0xcd60], a - ld [$ff9f], a - ld [$ff9f + 1], a - ld [$ff9f + 2], a + ld [hMoney], a + ld [hMoney + 1], a + ld [hMoney + 2], a call HasEnoughMoney jr c, .lostmoney ; never happens ; Halve the player's money. ld a, [wPlayerMoney] - ld [$ff9f], a + ld [hMoney], a ld a, [wPlayerMoney + 1] - ld [$ff9f + 1], a + ld [hMoney + 1], a ld a, [wPlayerMoney + 2] - ld [$ff9f + 2], a + ld [hMoney + 2], a xor a - ld [$ffa2], a - ld [$ffa3], a + ld [hDivideBCDDivisor], a + ld [hDivideBCDDivisor + 1], a ld a, 2 - ld [$ffa4], a + ld [hDivideBCDDivisor + 2], a predef DivideBCDPredef3 - ld a, [$ffa2] + ld a, [hDivideBCDQuotient] ld [wPlayerMoney], a - ld a, [$ffa2 + 1] + ld a, [hDivideBCDQuotient + 1] ld [wPlayerMoney + 1], a - ld a, [$ffa2 + 2] + ld a, [hDivideBCDQuotient + 2] ld [wPlayerMoney + 2], a .lostmoney @@ -789,12 +789,12 @@ INCLUDE "engine/oak_speech2.asm" ; sets carry flag if there is enough money and unsets carry flag if not SubtractAmountPaidFromMoney_: ; 6b21 (1:6b21) ld de,wPlayerMoney - ld hl,$ff9f ; total price of items + ld hl,hMoney ; total price of items ld c,3 ; length of money in bytes call StringCmp ret c ld de,wPlayerMoney + 2 - ld hl,$ffa1 ; total price of items + ld hl,hMoney + 2 ; total price of items ld c,3 ; length of money in bytes predef SubBCDPredef ; subtract total price from money ld a,MONEY_BOX diff --git a/scripts/celadongamecorner.asm b/scripts/celadongamecorner.asm index 9c6c4408..3bcdf3a3 100755 --- a/scripts/celadongamecorner.asm +++ b/scripts/celadongamecorner.asm @@ -151,31 +151,31 @@ CeladonGameCornerText2: ; 48ca9 (12:4ca9) call Has9990Coins jr nc, .asm_48d14 xor a - ld [$ff9f], a - ld [$ffa1], a + ld [hMoney], a + ld [hMoney + 2], a ld a, $10 - ld [$ffa0], a + ld [hMoney + 1], a call HasEnoughMoney jr nc, .asm_48cdb ld hl, CeladonGameCornerText_48d31 jr .asm_48d1c .asm_48cdb xor a - ld [$ff9f], a - ld [$ffa1], a + ld [hMoney], a + ld [hMoney + 2], a ld a, $10 - ld [$ffa0], a - ld hl, $ffa1 + ld [hMoney + 1], a + ld hl, hMoney + 2 ld de, wPlayerMoney + 2 ld c, $3 predef SubBCDPredef xor a - ld [$ff9f], a - ld [$ffa0], a + ld [hCoins - 1], a + ld [hCoins], a ld a, $50 - ld [$ffa1], a + ld [hCoins + 1], a ld de, wPlayerCoins + 1 - ld hl, $ffa1 + ld hl, hCoins + 1 ld c, $2 predef AddBCDPredef call CeladonGameCornerScript_48f1e @@ -238,12 +238,12 @@ CeladonGameCornerText5: ; 48d4a (12:4d4a) call Has9990Coins jr nc, .asm_48d8e xor a - ld [$ff9f], a - ld [$ffa0], a + ld [hCoins - 1], a + ld [hCoins], a ld a, $10 - ld [$ffa1], a + ld [hCoins + 1], a ld de, wPlayerCoins + 1 - ld hl, $ffa1 + ld hl, hCoins + 1 ld c, $2 predef AddBCDPredef ld hl, wd77e @@ -320,12 +320,12 @@ CeladonGameCornerText9: ; 48dd9 (12:4dd9) call Has9990Coins jr nc, .asm_48e18 xor a - ld [$ff9f], a - ld [$ffa0], a + ld [hCoins - 1], a + ld [hCoins], a ld a, $20 - ld [$ffa1], a + ld [hCoins + 1], a ld de, wPlayerCoins + 1 - ld hl, $ffa1 + ld hl, hCoins + 1 ld c, $2 predef AddBCDPredef ld hl, wd77e @@ -373,12 +373,12 @@ CeladonGameCornerText10: ; 48e3b (12:4e3b) call Has9990Coins jr z, .asm_48e7a xor a - ld [$ff9f], a - ld [$ffa0], a + ld [hCoins - 1], a + ld [hCoins], a ld a, $20 - ld [$ffa1], a + ld [hCoins + 1], a ld de, wPlayerCoins + 1 - ld hl, $ffa1 + ld hl, hCoins + 1 ld c, $2 predef AddBCDPredef ld hl, wd77e @@ -527,7 +527,7 @@ GameCornerBlankText2: ; 48f8d (12:4f8d) Has9990Coins: ; 48f95 (12:4f95) ld a, $99 - ld [$ffa0], a + ld [hCoins], a ld a, $90 - ld [$ffa1], a + ld [hCoins + 1], a jp HasEnoughCoins diff --git a/scripts/daycarem.asm b/scripts/daycarem.asm index 2196e021..330f2234 100755 --- a/scripts/daycarem.asm +++ b/scripts/daycarem.asm @@ -137,11 +137,11 @@ DayCareMScript_562e1: ; 562e1 (15:62e1) and a jp nz, .asm_56403 ld hl, wTrainerFacingDirection - ld [$ff9f], a + ld [hMoney], a ld a, [hli] - ld [$ffa0], a + ld [hMoney + 1], a ld a, [hl] - ld [$ffa1], a + ld [hMoney + 2], a call HasEnoughMoney jr nc, .asm_56396 ld hl, DayCareMText_56454 diff --git a/scripts/mtmoonpokecenter.asm b/scripts/mtmoonpokecenter.asm index b06c4df0..bba73dbd 100755 --- a/scripts/mtmoonpokecenter.asm +++ b/scripts/mtmoonpokecenter.asm @@ -35,10 +35,10 @@ MtMoonPokecenterText4: ; 492ec (12:52ec) ld a, [wCurrentMenuItem] and a jp nz, .asm_4934e - ld [$ff9f], a - ld [$ffa1], a + ld [hMoney], a + ld [hMoney + 2], a ld a, $5 - ld [$ffa0], a + ld [hMoney + 1], a call HasEnoughMoney jr nc, .asm_faa09 ld hl, MtMoonPokecenterText_49366 diff --git a/scripts/museum1f.asm b/scripts/museum1f.asm index 38fddb26..26c7f02d 100755 --- a/scripts/museum1f.asm +++ b/scripts/museum1f.asm @@ -81,10 +81,10 @@ Museum1FText1: ; 5c135 (17:4135) and a jr nz, .asm_de133 xor a - ld [$ff9f], a - ld [$ffa0], a + ld [hMoney], a + ld [hMoney + 1], a ld a, $50 - ld [$ffa1], a + ld [hMoney + 2], a call HasEnoughMoney jr nc, .asm_0f3e3 ld hl, Museum1FText_5c229 diff --git a/scripts/safarizoneentrance.asm b/scripts/safarizoneentrance.asm index 6cbb0925..2edbe61b 100755 --- a/scripts/safarizoneentrance.asm +++ b/scripts/safarizoneentrance.asm @@ -155,11 +155,11 @@ SafariZoneEntranceTextPointers: ; 752b9 (1d:52b9) and a jp nz,.PleaseComeAgain xor a - ld [$ff9f],a + ld [hMoney],a ld a,$05 - ld [$ffa0],a + ld [hMoney + 1],a ld a,$00 - ld [$ffa1],a + ld [hMoney + 2],a call HasEnoughMoney jr nc,.success ld hl,.NotEnoughMoneyText diff --git a/text.asm b/text.asm index ac53f65f..ecc3beea 100644 --- a/text.asm +++ b/text.asm @@ -15,7 +15,7 @@ POKEDEX_TEXT EQU $2b MOVE_NAMES EQU $2c INCLUDE "macros.asm" - +INCLUDE "hram.asm" SECTION "Text 1", ROMX, BANK[TEXT_1] @@ -1015,13 +1015,13 @@ _HiddenItemBagFullText:: ; 894e1 (22:54e1) _FoundHiddenCoinsText:: ; 8950b (22:550b) text $52, " found" line "@" - TX_BCD $ffa0, $c2 + TX_BCD hCoins, $c2 text " coins!@@" _FoundHiddenCoins2Text:: ; 89523 (22:5523) text $52, " found" line "@" - TX_BCD $ffa0, $c2 + TX_BCD hCoins, $c2 text " coins!@@" _DroppedHiddenCoinsText:: ; 8953b (22:553b) @@ -2635,7 +2635,7 @@ _PokemartTellBuyPriceText:: ; a2619 (28:6619) text "?" line "That will be" cont "¥@" - TX_BCD $ff9f, $c3 + TX_BCD hMoney, $c3 text ". OK?" done @@ -2662,7 +2662,7 @@ _PokemonSellingGreetingText:: ; a2690 (28:6690) _PokemartTellSellPriceText:: ; a26ae (28:66ae) text "I can pay you" line "¥@" - TX_BCD $ff9f, $c3 + TX_BCD hMoney, $c3 text " for that." done -- cgit v1.3.1-sl0p From fc9af362ae65d24c66b39ea7759637cc9c1f9b0a Mon Sep 17 00:00:00 2001 From: YamaArashi Date: Sat, 18 Jul 2015 08:17:29 -0700 Subject: fix variable naming --- engine/battle/animations.asm | 2 +- engine/battle/core.asm | 28 +++---- engine/battle/wild_encounters.asm | 2 +- engine/items/items.asm | 4 +- engine/items/tm_prices.asm | 9 +-- engine/menu/pokedex.asm | 22 +++--- engine/menu/prize_menu.asm | 4 +- engine/menu/start_sub_menus.asm | 2 +- engine/oak_speech.asm | 47 ++++++------ engine/oak_speech2.asm | 140 ++++++++++++++++++---------------- engine/overworld/item.asm | 6 +- engine/overworld/map_sprites.asm | 16 ++-- engine/predefs.asm | 4 +- home.asm | 36 ++++----- home/copy2.asm | 22 +++--- home/overworld.asm | 154 +++++++++++++++++++------------------- hram.asm | 55 ++++++++++++-- macros.asm | 6 +- main.asm | 16 ++-- scripts/agatha.asm | 4 +- scripts/billshouse.asm | 6 +- scripts/bruno.asm | 4 +- scripts/celadongamecorner.asm | 6 +- scripts/celadongym.asm | 6 +- scripts/ceruleancity.asm | 24 +++--- scripts/ceruleangym.asm | 6 +- scripts/cinnabargym.asm | 14 ++-- scripts/cinnabarisland.asm | 2 +- scripts/fightingdojo.asm | 14 ++-- scripts/fuchsiagym.asm | 6 +- scripts/fuchsiahouse2.asm | 2 +- scripts/gary.asm | 42 +++++------ scripts/halloffameroom.asm | 8 +- scripts/lance.asm | 4 +- scripts/lorelei.asm | 4 +- scripts/mansion1.asm | 6 +- scripts/mansion2.asm | 4 +- scripts/mansion3.asm | 6 +- scripts/mansion4.asm | 12 +-- scripts/mtmoon1.asm | 12 +-- scripts/mtmoon3.asm | 12 +-- scripts/museum1f.asm | 14 ++-- scripts/oakslab.asm | 68 ++++++++--------- scripts/pallettown.asm | 2 +- scripts/pewtercity.asm | 20 ++--- scripts/pewtergym.asm | 6 +- scripts/pokemontower2.asm | 12 +-- scripts/pokemontower3.asm | 2 +- scripts/pokemontower4.asm | 6 +- scripts/pokemontower5.asm | 4 +- scripts/pokemontower6.asm | 8 +- scripts/pokemontower7.asm | 6 +- scripts/powerplant.asm | 10 +-- scripts/rockethideout1.asm | 4 +- scripts/rockethideout2.asm | 8 +- scripts/rockethideout3.asm | 4 +- scripts/rockethideout4.asm | 12 +-- scripts/route12.asm | 8 +- scripts/route15.asm | 2 +- scripts/route16.asm | 4 +- scripts/route16gate.asm | 8 +- scripts/route18gate.asm | 10 +-- scripts/route2.asm | 4 +- scripts/route22.asm | 50 ++++++------- scripts/route22gate.asm | 2 +- scripts/route23.asm | 20 ++--- scripts/route24.asm | 8 +- scripts/route25.asm | 2 +- scripts/route4.asm | 2 +- scripts/route5gate.asm | 4 +- scripts/route6gate.asm | 4 +- scripts/route7gate.asm | 4 +- scripts/route8gate.asm | 4 +- scripts/route9.asm | 2 +- scripts/safarizonecenter.asm | 2 +- scripts/safarizoneeast.asm | 8 +- scripts/safarizoneentrance.asm | 8 +- scripts/safarizonenorth.asm | 4 +- scripts/safarizonewest.asm | 8 +- scripts/saffrongym.asm | 6 +- scripts/silphco10.asm | 6 +- scripts/silphco11.asm | 24 +++--- scripts/silphco3.asm | 2 +- scripts/silphco4.asm | 6 +- scripts/silphco5.asm | 6 +- scripts/silphco6.asm | 4 +- scripts/silphco7.asm | 24 +++--- scripts/ssanne10.asm | 6 +- scripts/ssanne2.asm | 18 ++--- scripts/ssanne8.asm | 2 +- scripts/ssanne9.asm | 4 +- scripts/tradecenter.asm | 12 +-- scripts/unknowndungeon1.asm | 6 +- scripts/unknowndungeon2.asm | 6 +- scripts/unknowndungeon3.asm | 4 +- scripts/vermilioncity.asm | 2 +- scripts/vermiliongym.asm | 6 +- scripts/victoryroad1.asm | 4 +- scripts/victoryroad2.asm | 8 +- scripts/victoryroad3.asm | 4 +- scripts/viridiancity.asm | 6 +- scripts/viridianforest.asm | 6 +- scripts/viridiangym.asm | 8 +- scripts/viridianmart.asm | 4 +- text.asm | 2 +- wram.asm | 125 +++++++++++++++++++++---------- 106 files changed, 773 insertions(+), 671 deletions(-) (limited to 'text.asm') diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm index 63ea170d..7764603d 100755 --- a/engine/battle/animations.asm +++ b/engine/battle/animations.asm @@ -163,7 +163,7 @@ DrawFrameBlock: ; 78000 (1e:4000) PlayAnimation: ; 780f1 (1e:40f1) xor a - ld [$FF8B],a + ld [$FF8B],a ; it looks like nothing reads this ld [W_SUBANIMTRANSFORM],a ld a,[W_ANIMATIONID] ; get animation number dec a diff --git a/engine/battle/core.asm b/engine/battle/core.asm index bdb20bb0..2f407290 100755 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -1310,7 +1310,7 @@ SevenSpacesText: ; 3c8d7 (f:48d7) ; if a is 8, the slide is to the right, else it is to the left ; bug: when this is called, [H_AUTOBGTRANSFERENABLED] is non-zero, so there is screen tearing SlideTrainerPicOffScreen: ; 3c8df (f:48df) - ld [$FF8B], a + ld [hSlideAmount], a ld c, a .slideStepLoop ; each iteration, the trainer pic is slid one tile left/right push bc @@ -1318,10 +1318,10 @@ SlideTrainerPicOffScreen: ; 3c8df (f:48df) ld b, 7 ; number of rows .rowLoop push hl - ld a, [$FF8B] + ld a, [hSlideAmount] ld c, a .columnLoop - ld a, [$FF8B] + ld a, [hSlideAmount] cp 8 jr z, .slideRight .slideLeft ; slide player sprite off screen @@ -1590,14 +1590,14 @@ TryRunningFromBattle: ; 3cab9 (f:4ab9) ld a, [hl] ld [H_MULTIPLICAND + 2], a ld a, [de] - ld [$ff8d], a + ld [hEnemySpeed], a inc de ld a, [de] - ld [$ff8e], a + ld [hEnemySpeed + 1], a call LoadScreenTilesFromBuffer1 ld de, H_MULTIPLICAND + 1 - ld hl, $ff8d - ld c, $2 + ld hl, hEnemySpeed + ld c, 2 call StringCmp jr nc, .canEscape ; jump if player speed greater than enemy speed xor a @@ -1609,9 +1609,9 @@ TryRunningFromBattle: ; 3cab9 (f:4ab9) ld [H_DIVIDEND], a ld a, [H_PRODUCT + 3] ld [H_DIVIDEND + 1], a - ld a, [$ff8d] + ld a, [hEnemySpeed] ld b, a - ld a, [$ff8e] + ld a, [hEnemySpeed + 1] ; divide enemy speed by 4 srl b rr a @@ -6411,7 +6411,7 @@ LoadPlayerBackPic: ; 3ec92 (f:6c92) predef ScaleSpriteByTwo ld hl, wOAMBuffer xor a - ld [$FF8B], a ; initial tile number + ld [hOAMTile], a ; initial tile number ld b, $7 ; 7 columns ld e, $a0 ; X for the left-most column .loop ; each loop iteration writes 3 OAM entries in a vertical column @@ -6425,16 +6425,16 @@ LoadPlayerBackPic: ; 3ec92 (f:6c92) add d ; increase Y by height of tile ld d, a inc hl - ld a, [$FF8B] + ld a, [hOAMTile] ld [hli], a ; OAM tile number inc a ; increment tile number - ld [$FF8B], a + ld [hOAMTile], a inc hl dec c jr nz, .innerLoop - ld a, [$FF8B] + ld a, [hOAMTile] add $4 ; increase tile number by 4 - ld [$FF8B], a + ld [hOAMTile], a ld a, $8 ; width of tile add e ; increase X by width of tile ld e, a diff --git a/engine/battle/wild_encounters.asm b/engine/battle/wild_encounters.asm index 87512583..03dc6fb6 100644 --- a/engine/battle/wild_encounters.asm +++ b/engine/battle/wild_encounters.asm @@ -89,7 +89,7 @@ TryDoWildEncounter: ; 13870 (4:7870) jr .willEncounter .lastRepelStep ld [wRepelRemainingSteps], a - ld a, $d2 + ld a, 210 ld [H_DOWNARROWBLINKCNT2], a call EnableAutoTextBoxDrawing call DisplayTextID diff --git a/engine/items/items.asm b/engine/items/items.asm index b65e8f1e..7617ba6c 100755 --- a/engine/items/items.asm +++ b/engine/items/items.asm @@ -556,11 +556,11 @@ ItemUseSurfboard: ; d9b4 (3:59b4) jp PrintText .tryToStopSurfing xor a - ld [$ff8c],a + ld [hSpriteIndexOrTextID],a ld d,16 ; talking range in pixels (normal range) call IsSpriteInFrontOfPlayer2 res 7,[hl] - ld a,[$ff8c] + ld a,[hSpriteIndexOrTextID] and a ; is there a sprite in the way? jr nz,.cannotStopSurfing ld hl,TilePairCollisionsWater diff --git a/engine/items/tm_prices.asm b/engine/items/tm_prices.asm index 4decc82d..6bb7f711 100755 --- a/engine/items/tm_prices.asm +++ b/engine/items/tm_prices.asm @@ -1,7 +1,6 @@ GetMachinePrice: ; 7bf86 (1e:7f86) ; Input: [wcf91] = Item Id of a TM -; Output: Stores the 2-byte TM price in [H_DOWNARROWBLINKCNT1] and [H_DOWNARROWBLINKCNT2] -; as a BCD +; Output: Stores the TM price at hItemPrice ld a, [wcf91] ; a contains TM item id sub TM_01 ret c @@ -17,10 +16,10 @@ GetMachinePrice: ; 7bf86 (1e:7f86) swap a .highNybbleIsPrice and $f0 - ld [H_DOWNARROWBLINKCNT2], a + ld [hItemPrice + 1], a xor a - ld [H_DOWNARROWBLINKCNT1], a - ld [$ff8d], a + ld [hItemPrice], a + ld [hItemPrice + 2], a ret INCLUDE "data/tm_prices.asm" diff --git a/engine/menu/pokedex.asm b/engine/menu/pokedex.asm index 56543c91..80eedecd 100755 --- a/engine/menu/pokedex.asm +++ b/engine/menu/pokedex.asm @@ -512,25 +512,25 @@ ShowPokedexDataInternal: ; 402e2 (10:42e2) inc de inc de ; de = address of upper byte of weight push de -; put weight in big-endian order at $ff8b - ld hl,$ff8b - ld a,[hl] ; save existing value of [$ff8b] +; put weight in big-endian order at hDexWeight + ld hl,hDexWeight + ld a,[hl] ; save existing value of [hDexWeight] push af ld a,[de] ; a = upper byte of weight - ld [hli],a ; store upper byte of weight in [$ff8b] - ld a,[hl] ; save existing value of [$ff8c] + ld [hli],a ; store upper byte of weight in [hDexWeight] + ld a,[hl] ; save existing value of [hDexWeight + 1] push af dec de ld a,[de] ; a = lower byte of weight - ld [hl],a ; store lower byte of weight in [$ff8c] - ld de,$ff8b + ld [hl],a ; store lower byte of weight in [hDexWeight + 1] + ld de,hDexWeight hlCoord 11, 8 ld bc,$0205 ; no leading zeroes, right-aligned, 2 bytes, 5 digits call PrintNumber ; print weight hlCoord 14, 8 - ld a,[$ff8c] + ld a,[hDexWeight + 1] sub a,10 - ld a,[$ff8b] + ld a,[hDexWeight] sbc a,0 jr nc,.next ld [hl],"0" ; if the weight is less than 10, put a 0 before the decimal point @@ -540,9 +540,9 @@ ShowPokedexDataInternal: ; 402e2 (10:42e2) ld [hld],a ; make space for the decimal point by moving the last digit forward one tile ld [hl],$f2 ; decimal point tile pop af - ld [$ff8c],a ; restore original value of [$ff8c] + ld [hDexWeight + 1],a ; restore original value of [hDexWeight + 1] pop af - ld [$ff8b],a ; restore original value of [$ff8b] + ld [hDexWeight],a ; restore original value of [hDexWeight] pop hl inc hl ; hl = address of pokedex description text bcCoord 1, 11 diff --git a/engine/menu/prize_menu.asm b/engine/menu/prize_menu.asm index fff8e4c4..f7206a7f 100755 --- a/engine/menu/prize_menu.asm +++ b/engine/menu/prize_menu.asm @@ -58,13 +58,13 @@ WhichPrizeTextPtr: ; 52789 (14:6789) GetPrizeMenuId: ; 5278e (14:678e) ; determine which one among the three ; prize-texts has been selected -; using the text ID (stored in [$FF8C]) +; using the text ID (stored in [hSpriteIndexOrTextID]) ; load the three prizes at wd13d-wd13f ; load the three prices at wd141-wd146 ; display the three prizes' names ; (distinguishing between Pokemon names ; and Items (specifically TMs) names) - ld a,[$FF8C] + ld a,[hSpriteIndexOrTextID] sub a,$03 ; prize-texts' id are 3, 4 and 5 ld [wd12f],a ; prize-texts' id (relative, i.e. 0, 1 or 2) add a diff --git a/engine/menu/start_sub_menus.asm b/engine/menu/start_sub_menus.asm index 11b7fa90..2804ef7b 100755 --- a/engine/menu/start_sub_menus.asm +++ b/engine/menu/start_sub_menus.asm @@ -524,7 +524,7 @@ StartMenu_TrainerInfo: ; 13460 (4:7460) DrawTrainerInfo: ; 1349a (4:749a) ld de,RedPicFront ld bc,(BANK(RedPicFront) << 8) | $01 - predef Predef3B + predef DisplayPicCenteredOrUpperRight call DisableLCD hlCoord 0, 2 ld a," " diff --git a/engine/oak_speech.asm b/engine/oak_speech.asm index df092d4c..bd7f672e 100755 --- a/engine/oak_speech.asm +++ b/engine/oak_speech.asm @@ -34,9 +34,9 @@ SetDefaultNames: ; 60ca (1:60ca) OakSpeech: ; 6115 (1:6115) ld a,$FF call PlaySound ; stop music - ld a, BANK(Music_Routes2) ; bank of song + ld a, BANK(Music_Routes2) ld c,a - ld a, MUSIC_ROUTES2 ; song # + ld a, MUSIC_ROUTES2 call PlayMusic call ClearScreen call LoadTextBoxTilePatterns @@ -54,50 +54,49 @@ OakSpeech: ; 6115 (1:6115) xor a ld [hTilesetType],a ld a,[wd732] - bit 1,a ; XXX when is bit 1 set? - jp nz,Func_61bc ; easter egg: skip the intro + bit 1,a ; possibly a debug mode bit + jp nz,.skipChoosingNames ld de,ProfOakPic ld bc, (Bank(ProfOakPic) << 8) | $00 - call IntroPredef3B ; displays Oak pic? + call IntroDisplayPicCenteredOrUpperRight call FadeInIntroPic ld hl,OakSpeechText1 - call PrintText ; prints text box + call PrintText call GBFadeOutToWhite call ClearScreen ld a,NIDORINO - ld [wd0b5],a ; pic displayed is stored at this location + ld [wd0b5],a ld [wcf91],a - call GetMonHeader ; this is also related to the pic - hlCoord 6, 4 ; position on tilemap the pic is displayed - call LoadFlippedFrontSpriteByMonIndex ; displays pic? + call GetMonHeader + hlCoord 6, 4 + call LoadFlippedFrontSpriteByMonIndex call MovePicLeft ld hl,OakSpeechText2 - call PrintText ; Prints text box + call PrintText call GBFadeOutToWhite call ClearScreen ld de,RedPicFront ld bc,(Bank(RedPicFront) << 8) | $00 - call IntroPredef3B ; displays player pic? + call IntroDisplayPicCenteredOrUpperRight call MovePicLeft ld hl,IntroducePlayerText call PrintText - call LoadDefaultNamesPlayer ; brings up NewName/Red/etc menu + call ChoosePlayerName call GBFadeOutToWhite call ClearScreen ld de,Rival1Pic ld bc,(Bank(Rival1Pic) << 8) | $00 - call IntroPredef3B ; displays rival pic + call IntroDisplayPicCenteredOrUpperRight call FadeInIntroPic ld hl,IntroduceRivalText call PrintText - call LoadDefaultNamesRival - -Func_61bc: ; 61bc (1:61bc) + call ChooseRivalName +.skipChoosingNames call GBFadeOutToWhite call ClearScreen ld de,RedPicFront ld bc,(Bank(RedPicFront) << 8) | $00 - call IntroPredef3B + call IntroDisplayPicCenteredOrUpperRight call GBFadeInFromWhite ld a,[wd72d] and a @@ -120,12 +119,12 @@ Func_61bc: ; 61bc (1:61bc) call CopyVideoData ld de,ShrinkPic1 ld bc,(BANK(ShrinkPic1) << 8) | $00 - call IntroPredef3B + call IntroDisplayPicCenteredOrUpperRight ld c,4 call DelayFrames ld de,ShrinkPic2 ld bc,(BANK(ShrinkPic2) << 8) | $00 - call IntroPredef3B + call IntroDisplayPicCenteredOrUpperRight call ResetPlayerSpriteData ld a,[H_LOADEDROMBANK] push af @@ -207,10 +206,12 @@ MovePicLeft: ; 6288 (1:6288) ld [rWX],a jr .next -Predef3B: ; 62a1 (1:62a1) +DisplayPicCenteredOrUpperRight: ; 62a1 (1:62a1) call GetPredefRegisters -IntroPredef3B: ; 62a4 (1:62a4) -; bank of sprite given in b +IntroDisplayPicCenteredOrUpperRight: ; 62a4 (1:62a4) +; b = bank +; de = address of compressed pic +; c: 0 = centred, non-zero = upper-right push bc ld a,b call UncompressSpriteFromDE diff --git a/engine/oak_speech2.asm b/engine/oak_speech2.asm index b27a6987..f881b43b 100755 --- a/engine/oak_speech2.asm +++ b/engine/oak_speech2.asm @@ -1,29 +1,29 @@ -LoadDefaultNamesPlayer: ; 695d (1:695d) - call Func_6a12 +ChoosePlayerName: ; 695d (1:695d) + call OakSpeechSlidePicRight ld de, DefaultNamesPlayer call DisplayIntroNameTextBox ld a, [wCurrentMenuItem] and a - jr z, .asm_697a + jr z, .customName ld hl, DefaultNamesPlayerList - call Func_6ad6 + call GetDefaultName ld de, wPlayerName - call Func_69ec - jr .asm_6999 -.asm_697a + call OakSpeechSlidePicLeft + jr .done +.customName ld hl, wPlayerName xor a ; NAME_PLAYER_SCREEN ld [wNamingScreenType], a call DisplayNamingScreen ld a, [wcf4b] - cp $50 - jr z, .asm_697a + cp "@" + jr z, .customName call ClearScreen call Delay3 ld de, RedPicFront ld b, BANK(RedPicFront) - call IntroPredef3B -.asm_6999 + call IntroDisplayPicCenteredOrUpperRight +.done ld hl, YourNameIsText jp PrintText @@ -31,32 +31,32 @@ YourNameIsText: ; 699f (1:699f) TX_FAR _YourNameIsText db "@" -LoadDefaultNamesRival: ; 69a4 (1:69a4) - call Func_6a12 +ChooseRivalName: ; 69a4 (1:69a4) + call OakSpeechSlidePicRight ld de, DefaultNamesRival call DisplayIntroNameTextBox ld a, [wCurrentMenuItem] and a - jr z, .asm_69c1 + jr z, .customName ld hl, DefaultNamesRivalList - call Func_6ad6 + call GetDefaultName ld de, W_RIVALNAME - call Func_69ec - jr .asm_69e1 -.asm_69c1 + call OakSpeechSlidePicLeft + jr .done +.customName ld hl, W_RIVALNAME ld a, NAME_RIVAL_SCREEN ld [wNamingScreenType], a call DisplayNamingScreen ld a, [wcf4b] - cp $50 - jr z, .asm_69c1 + cp "@" + jr z, .customName call ClearScreen call Delay3 ld de, Rival1Pic ld b, $13 - call IntroPredef3B -.asm_69e1 + call IntroDisplayPicCenteredOrUpperRight +.done ld hl, HisNameIsText jp PrintText @@ -64,11 +64,11 @@ HisNameIsText: ; 69e7 (1:69e7) TX_FAR _HisNameIsText db "@" -Func_69ec: ; 69ec (1:69ec) +OakSpeechSlidePicLeft: ; 69ec (1:69ec) push de hlCoord 0, 0 - ld bc, $c0b - call ClearScreenArea + lb bc, 12, 11 + call ClearScreenArea ; clear the name list text box ld c, 10 call DelayFrames pop de @@ -77,77 +77,83 @@ Func_69ec: ; 69ec (1:69ec) call CopyData call Delay3 hlCoord 12, 4 - ld de, $67d + lb de, 6, 6 * SCREEN_WIDTH + 5 ld a, $ff - jr asm_6a19 + jr OakSpeechSlidePicCommon -Func_6a12: ; 6a12 (1:6a12) +OakSpeechSlidePicRight: ; 6a12 (1:6a12) hlCoord 5, 4 - ld de, $67d + lb de, 6, 6 * SCREEN_WIDTH + 5 xor a -asm_6a19: ; 6a19 (1:6a19) + +OakSpeechSlidePicCommon: ; 6a19 (1:6a19) push hl push de push bc - ld [$ff8d], a + ld [hSlideDirection], a ld a, d - ld [H_DOWNARROWBLINKCNT1], a + ld [hSlideAmount], a ld a, e - ld [H_DOWNARROWBLINKCNT2], a + ld [hSlidingRegionSize], a ld c, a - ld a, [$ff8d] + ld a, [hSlideDirection] and a - jr nz, .asm_6a2d - ld d, $0 + jr nz, .next +; If sliding right, point hl to the end of the pic's tiles. + ld d, 0 add hl, de -.asm_6a2d +.next ld d, h ld e, l -.asm_6a2f +.loop xor a ld [H_AUTOBGTRANSFERENABLED], a - ld a, [$ff8d] + ld a, [hSlideDirection] and a - jr nz, .asm_6a3c + jr nz, .slideLeft +; sliding right ld a, [hli] ld [hld], a dec hl - jr .asm_6a3f -.asm_6a3c + jr .next2 +.slideLeft ld a, [hld] ld [hli], a inc hl -.asm_6a3f +.next2 dec c - jr nz, .asm_6a2f - ld a, [$ff8d] + jr nz, .loop + ld a, [hSlideDirection] and a - jr z, .asm_6a4a + jr z, .next3 +; If sliding left, we need to zero the last tile in the pic (there is no need +; to take a corresponding action when sliding right because hl initially points +; to a 0 tile in that case). xor a dec hl ld [hl], a -.asm_6a4a - ld a, $1 +.next3 + ld a, 1 ld [H_AUTOBGTRANSFERENABLED], a call Delay3 - ld a, [H_DOWNARROWBLINKCNT2] + ld a, [hSlidingRegionSize] ld c, a ld h, d ld l, e - ld a, [$ff8d] + ld a, [hSlideDirection] and a - jr nz, .asm_6a5e + jr nz, .slideLeft2 inc hl - jr .asm_6a5f -.asm_6a5e + jr .next4 +.slideLeft2 dec hl -.asm_6a5f +.next4 ld d, h ld e, l - ld a, [H_DOWNARROWBLINKCNT1] + ld a, [hSlideAmount] dec a - ld [H_DOWNARROWBLINKCNT1], a - jr nz, .asm_6a2f + ld [hSlideAmount], a + jr nz, .loop pop bc pop de pop hl @@ -229,22 +235,24 @@ DefaultNamesRival: db "@" ENDC -Func_6ad6: ; 6ad6 (1:6ad6) +GetDefaultName: ; 6ad6 (1:6ad6) +; a = name index +; hl = name list ld b, a - ld c, $0 -.asm_6ad9 + ld c, 0 +.loop ld d, h ld e, l -.asm_6adb +.innerLoop ld a, [hli] - cp $50 - jr nz, .asm_6adb + cp "@" + jr nz, .innerLoop ld a, b cp c - jr z, .asm_6ae7 + jr z, .foundName inc c - jr .asm_6ad9 -.asm_6ae7 + jr .loop +.foundName ld h, d ld l, e ld de, wcd6d diff --git a/engine/overworld/item.asm b/engine/overworld/item.asm index b00405bf..eb6d743a 100644 --- a/engine/overworld/item.asm +++ b/engine/overworld/item.asm @@ -1,7 +1,7 @@ -PickupItem: +PickUpItem: call EnableAutoTextBoxDrawing - ld a, [H_DOWNARROWBLINKCNT2] + ld a, [hSpriteIndexOrTextID] ld b, a ld hl, W_MISSABLEOBJECTLIST .missableObjectsListLoop @@ -18,7 +18,7 @@ PickupItem: ld [$ffdb], a ld hl, W_MAPSPRITEEXTRADATA - ld a, [H_DOWNARROWBLINKCNT2] + ld a, [hSpriteIndexOrTextID] dec a add a ld d, 0 diff --git a/engine/overworld/map_sprites.asm b/engine/overworld/map_sprites.asm index df39d112..33411dfc 100755 --- a/engine/overworld/map_sprites.asm +++ b/engine/overworld/map_sprites.asm @@ -39,7 +39,7 @@ LoadMapSpriteTilePatterns: ; 17871 (5:7871) ld b,$10 ; number of sprite slots ld hl,wSpriteStateData2 + $0d xor a - ld [$ff8e],a ; 4-tile sprite counter + ld [hFourTileSpriteCount],a .copyPictureIDLoop ; loop to copy picture ID from $C2XD to $C2XE ld a,[hli] ; $C2XD (sprite picture ID) ld [hld],a ; $C2XE @@ -98,14 +98,14 @@ LoadMapSpriteTilePatterns: ; 17871 (5:7871) cp a,SPRITE_BALL ; is it a 4-tile sprite? jr c,.notFourTileSprite pop af - ld a,[$ff8e] ; 4-tile sprite counter + ld a,[hFourTileSpriteCount] add a,11 jr .storeVRAMSlot .notFourTileSprite pop af .storeVRAMSlot ld [hl],a ; store VRAM slot at $C2XE - ld [$ff8d],a ; used to determine if it's 4-tile sprite later + ld [hVRAMSlot],a ; used to determine if it's 4-tile sprite later ld a,b ; a = current sprite picture ID dec a add a @@ -128,7 +128,7 @@ LoadMapSpriteTilePatterns: ; 17871 (5:7871) push bc ld hl,vNPCSprites ; VRAM base address ld bc,$c0 ; number of bytes per VRAM slot - ld a,[$ff8d] + ld a,[hVRAMSlot] cp a,11 ; is it a 4-tile sprite? jr nc,.fourTileSpriteVRAMAddr ld d,a @@ -142,13 +142,13 @@ LoadMapSpriteTilePatterns: ; 17871 (5:7871) jr .loadStillTilePattern .fourTileSpriteVRAMAddr ld hl,vSprites + $7c0 ; address for second 4-tile sprite - ld a,[$ff8e] ; 4-tile sprite counter - and a ; is it the first 4-tile sprite? + ld a,[hFourTileSpriteCount] + and a jr nz,.loadStillTilePattern ; if it's the first 4-tile sprite ld hl,vSprites + $780 ; address for first 4-tile sprite inc a - ld [$ff8e],a ; 4-tile sprite counter + ld [hFourTileSpriteCount],a .loadStillTilePattern pop bc pop de @@ -168,7 +168,7 @@ LoadMapSpriteTilePatterns: ; 17871 (5:7871) .skipFirstLoad pop de pop hl - ld a,[$ff8d] + ld a,[hVRAMSlot] cp a,11 ; is it a 4-tile sprite? jr nc,.skipSecondLoad ; if so, there is no second block push de diff --git a/engine/predefs.asm b/engine/predefs.asm index 1af240ce..17f94b73 100755 --- a/engine/predefs.asm +++ b/engine/predefs.asm @@ -111,7 +111,7 @@ PredefPointers:: ; 4fe79 (13:7e79) add_predef InternalClockTradeAnim add_predef TrainerEngage add_predef IndexToPokedex - add_predef Predef3B; 3B display pic? + add_predef DisplayPicCenteredOrUpperRight; 3B display pic? add_predef UsedCut add_predef ShowPokedexData add_predef WriteMonMoves @@ -144,7 +144,7 @@ PredefPointers:: ; 4fe79 (13:7e79) add_predef GetTileTwoStepsInFrontOfPlayer add_predef CheckForCollisionWhenPushingBoulder add_predef PrintStrengthTxt - add_predef PickupItem + add_predef PickUpItem add_predef PrintMoveType add_predef LoadMovePPs add_predef DrawHP ; 5F diff --git a/home.asm b/home.asm index 38a95742..f9004e7e 100644 --- a/home.asm +++ b/home.asm @@ -969,10 +969,10 @@ PokeCenterSignText:: ; 24ef (0:24ef) TX_FAR _PokeCenterSignText db "@" -Predef5CText:: ; 24f4 (0:24f4) +PickUpItemText:: ; 24f4 (0:24f4) ; XXX better label (what does predef $5C do?) TX_ASM - predef PickupItem + predef PickUpItem jp TextScriptEnd @@ -1050,7 +1050,7 @@ Func_28cb:: ; 28cb (0:28cb) jp PlaySound ; this function is used to display sign messages, sprite dialog, etc. -; INPUT: [$ff8c] = sprite ID or text ID +; INPUT: [hSpriteIndexOrTextID] = sprite ID or text ID DisplayTextID:: ; 2920 (0:2920) ld a,[H_LOADEDROMBANK] push af @@ -1069,7 +1069,7 @@ DisplayTextID:: ; 2920 (0:2920) ld h,[hl] ld l,a ; hl = map text pointer ld d,$00 - ld a,[$ff8c] ; text ID + ld a,[hSpriteIndexOrTextID] ; text ID ld [wSpriteIndex],a and a jp z,DisplayStartMenu @@ -1083,7 +1083,7 @@ DisplayTextID:: ; 2920 (0:2920) jp z,DisplayRepelWoreOffText ld a,[W_NUMSPRITES] ld e,a - ld a,[$ff8c] ; sprite ID + ld a,[hSpriteIndexOrTextID] ; sprite ID cp e jr z,.spriteHandling jr nc,.skipSpriteHandling @@ -1096,7 +1096,7 @@ DisplayTextID:: ; 2920 (0:2920) pop bc pop de ld hl,W_MAPSPRITEDATA ; NPC text entries - ld a,[$ff8c] + ld a,[hSpriteIndexOrTextID] dec a add a add l @@ -1235,10 +1235,12 @@ LoadItemList:: ; 2a5a (0:2a5a) ret DisplayPokemonCenterDialogue:: ; 2a72 (0:2a72) +; zeroing these doesn't appear to serve any purpose xor a ld [$ff8b],a ld [$ff8c],a ld [$ff8d],a + inc hl ld a,[H_LOADEDROMBANK] push af @@ -2487,8 +2489,8 @@ CheckForEngagingTrainers:: ; 3306 (0:3306) ld c, a call TrainerFlagAction ; read trainer flag ld a, c - and a - jr nz, .trainerAlreadyFought + and a ; has the trainer already been defeated? + jr nz, .continue push hl push de push hl @@ -2507,7 +2509,7 @@ CheckForEngagingTrainers:: ; 3306 (0:3306) ld a, [wTrainerSpriteOffset] and a ret nz ; break if the trainer is engaging -.trainerAlreadyFought +.continue ld hl, $c add hl, de ld d, h @@ -2737,7 +2739,7 @@ SetSpriteFacingDirection:: ; 34ae (0:34ae) ld a, $9 ld [H_SPRITEDATAOFFSET], a call GetPointerWithinSpriteStateData1 - ld a, [$ff8d] + ld a, [hSpriteFacingDirection] ld [hl], a ret @@ -2858,18 +2860,18 @@ DecodeRLEList:: ; 350c (0:350c) inc a ; include sentinel in counting ret -; sets movement byte 1 for sprite [$FF8C] to $FE and byte 2 to [$FF8D] +; sets movement byte 1 for sprite [H_SPRITEINDEX] to $FE and byte 2 to [hSpriteMovementByte2] SetSpriteMovementBytesToFE:: ; 3533 (0:3533) push hl call GetSpriteMovementByte1Pointer ld [hl], $fe call GetSpriteMovementByte2Pointer - ld a, [$ff8d] + ld a, [hSpriteMovementByte2] ld [hl], a pop hl ret -; sets both movement bytes for sprite [$FF8C] to $FF +; sets both movement bytes for sprite [H_SPRITEINDEX] to $FF SetSpriteMovementBytesToFF:: ; 3541 (0:3541) push hl call GetSpriteMovementByte1Pointer @@ -2879,20 +2881,20 @@ SetSpriteMovementBytesToFF:: ; 3541 (0:3541) pop hl ret -; returns the sprite movement byte 1 pointer for sprite [$FF8C] in hl +; returns the sprite movement byte 1 pointer for sprite [H_SPRITEINDEX] in hl GetSpriteMovementByte1Pointer:: ; 354e (0:354e) ld h,$C2 - ld a,[H_SPRITEINDEX] ; the sprite to move + ld a,[H_SPRITEINDEX] swap a add a,6 ld l,a ret -; returns the sprite movement byte 2 pointer for sprite [$FF8C] in hl +; returns the sprite movement byte 2 pointer for sprite [H_SPRITEINDEX] in hl GetSpriteMovementByte2Pointer:: ; 3558 (0:3558) push de ld hl,W_MAPSPRITEDATA - ld a,[$FF8C] ; the sprite to move + ld a,[H_SPRITEINDEX] dec a add a ld d,0 diff --git a/home/copy2.asm b/home/copy2.asm index e5f28383..f872ebbc 100644 --- a/home/copy2.asm +++ b/home/copy2.asm @@ -1,10 +1,10 @@ FarCopyData2:: -; Identical to FarCopyData, but uses $ff8b +; Identical to FarCopyData, but uses hROMBankTemp ; as temp space instead of wBuffer. - ld [$ff8b],a + ld [hROMBankTemp],a ld a,[H_LOADEDROMBANK] push af - ld a,[$ff8b] + ld a,[hROMBankTemp] ld [H_LOADEDROMBANK],a ld [MBC1RomBank],a call CopyData @@ -15,10 +15,10 @@ FarCopyData2:: FarCopyData3:: ; Copy bc bytes from a:de to hl. - ld [$ff8b],a + ld [hROMBankTemp],a ld a,[H_LOADEDROMBANK] push af - ld a,[$ff8b] + ld a,[hROMBankTemp] ld [H_LOADEDROMBANK],a ld [MBC1RomBank],a push hl @@ -38,10 +38,10 @@ FarCopyData3:: FarCopyDataDouble:: ; Expand bc bytes of 1bpp image data ; from a:hl to 2bpp data at de. - ld [$ff8b],a + ld [hROMBankTemp],a ld a,[H_LOADEDROMBANK] push af - ld a,[$ff8b] + ld a,[hROMBankTemp] ld [H_LOADEDROMBANK],a ld [MBC1RomBank],a .loop @@ -70,7 +70,7 @@ CopyVideoData:: ld [H_AUTOBGTRANSFERENABLED], a ld a, [H_LOADEDROMBANK] - ld [$ff8b], a + ld [hROMBankTemp], a ld a, b ld [H_LOADEDROMBANK], a @@ -94,7 +94,7 @@ CopyVideoData:: .done ld [H_VBCOPYSIZE], a call DelayFrame - ld a, [$ff8b] + ld a, [hROMBankTemp] ld [H_LOADEDROMBANK], a ld [MBC1RomBank], a pop af @@ -119,7 +119,7 @@ CopyVideoDataDouble:: xor a ; disable auto-transfer while copying ld [H_AUTOBGTRANSFERENABLED], a ld a, [H_LOADEDROMBANK] - ld [$ff8b], a + ld [hROMBankTemp], a ld a, b ld [H_LOADEDROMBANK], a @@ -143,7 +143,7 @@ CopyVideoDataDouble:: .done ld [H_VBCOPYDOUBLESIZE], a call DelayFrame - ld a, [$ff8b] + ld a, [hROMBankTemp] ld [H_LOADEDROMBANK], a ld [MBC1RomBank], a pop af diff --git a/home/overworld.asm b/home/overworld.asm index f4d6d695..da514763 100644 --- a/home/overworld.asm +++ b/home/overworld.asm @@ -444,7 +444,7 @@ CheckWarpsCollision:: ; 0706 (0:0706) ld a,[hli] ld [wDestinationWarpID],a ld a,[hl] - ld [$ff8b],a ; save target map + ld [hWarpDestinationMap],a jr WarpFound2 .retry1 inc hl @@ -466,7 +466,7 @@ WarpFound1:: ; 0735 (0:0735) ld a,[hli] ld [wDestinationWarpID],a ld a,[hli] - ld [$ff8b],a ; save target map + ld [hWarpDestinationMap],a WarpFound2:: ; 073c (0:073c) ld a,[wNumberOfWarps] @@ -481,8 +481,8 @@ WarpFound2:: ; 073c (0:073c) ld [wLastMap],a ld a,[W_CURMAPWIDTH] ld [wd366],a - ld a,[$ff8b] ; destination map number - ld [W_CURMAP],a ; change current map to destination map + ld a,[hWarpDestinationMap] + ld [W_CURMAP],a cp a,ROCK_TUNNEL_1 jr nz,.notRockTunnel ld a,$06 @@ -493,11 +493,11 @@ WarpFound2:: ; 073c (0:073c) jr .done ; for maps that can have the 0xFF destination map, which means to return to the outside map; not all these maps are necessarily indoors, though .indoorMaps - ld a,[$ff8b] ; destination map + ld a,[hWarpDestinationMap] ; destination map cp a,$ff jr z,.goBackOutside ; if not going back to the previous map - ld [W_CURMAP],a ; current map number + ld [W_CURMAP],a callba IsPlayerStandingOnWarpPadOrHole ld a,[wcd5b] dec a ; is the player on a warp pad? @@ -539,22 +539,22 @@ CheckMapConnections:: ; 07ba (0:07ba) jr nz,.checkEastMap ld a,[W_MAPCONN3PTR] ld [W_CURMAP],a - ld a,[wd38f] ; new X coordinate upon entering west map + ld a,[wWestConnectedMapXAlignment] ; new X coordinate upon entering west map ld [W_XCOORD],a ld a,[W_YCOORD] ld c,a - ld a,[wd38e] ; Y adjustment upon entering west map + ld a,[wWestConnectedMapYAlignment] ; Y adjustment upon entering west map add c ld c,a ld [W_YCOORD],a - ld a,[wd390] ; pointer to upper left corner of map without adjustment for Y position + ld a,[wWestConnectedMapViewPointer] ; pointer to upper left corner of map without adjustment for Y position ld l,a - ld a,[wd391] + ld a,[wWestConnectedMapViewPointer + 1] ld h,a srl c jr z,.savePointer1 .pointerAdjustmentLoop1 - ld a,[wd38d] ; width of connected map + ld a,[wWestConnectedMapWidth] ; width of connected map add a,$06 ld e,a ld d,$00 @@ -575,22 +575,22 @@ CheckMapConnections:: ; 07ba (0:07ba) jr nz,.checkNorthMap ld a,[W_MAPCONN4PTR] ld [W_CURMAP],a - ld a,[wd39a] ; new X coordinate upon entering east map + ld a,[wEastConnectedMapXAlignment] ; new X coordinate upon entering east map ld [W_XCOORD],a ld a,[W_YCOORD] ld c,a - ld a,[wd399] ; Y adjustment upon entering east map + ld a,[wEastConnectedMapYAlignment] ; Y adjustment upon entering east map add c ld c,a ld [W_YCOORD],a - ld a,[wd39b] ; pointer to upper left corner of map without adjustment for Y position + ld a,[wEastConnectedMapViewPointer] ; pointer to upper left corner of map without adjustment for Y position ld l,a - ld a,[wd39c] + ld a,[wEastConnectedMapViewPointer + 1] ld h,a srl c jr z,.savePointer2 .pointerAdjustmentLoop2 - ld a,[wd398] + ld a,[wEastConnectedMapWidth] add a,$06 ld e,a ld d,$00 @@ -610,19 +610,19 @@ CheckMapConnections:: ; 07ba (0:07ba) jr nz,.checkSouthMap ld a,[W_MAPCONN1PTR] ld [W_CURMAP],a - ld a,[wd378] ; new Y coordinate upon entering north map + ld a,[wNorthConnectedMapYAlignment] ; new Y coordinate upon entering north map ld [W_YCOORD],a ld a,[W_XCOORD] ld c,a - ld a,[wd379] ; X adjustment upon entering north map + ld a,[wNorthConnectedMapXAlignment] ; X adjustment upon entering north map add c ld c,a ld [W_XCOORD],a - ld a,[wd37a] ; pointer to upper left corner of map without adjustment for X position + ld a,[wNorthConnectedMapViewPointer] ; pointer to upper left corner of map without adjustment for X position ld l,a - ld a,[wd37b] + ld a,[wNorthConnectedMapViewPointer + 1] ld h,a - ld b,$00 + ld b,0 srl c add hl,bc ld a,l @@ -637,19 +637,19 @@ CheckMapConnections:: ; 07ba (0:07ba) jr nz,.didNotEnterConnectedMap ld a,[W_MAPCONN2PTR] ld [W_CURMAP],a - ld a,[wd383] ; new Y coordinate upon entering south map + ld a,[wSouthConnectedMapYAlignment] ; new Y coordinate upon entering south map ld [W_YCOORD],a ld a,[W_XCOORD] ld c,a - ld a,[wd384] ; X adjustment upon entering south map + ld a,[wSouthConnectedMapXAlignment] ; X adjustment upon entering south map add c ld c,a ld [W_XCOORD],a - ld a,[wd385] ; pointer to upper left corner of map without adjustment for X position + ld a,[wSouthConnectedMapViewPointer] ; pointer to upper left corner of map without adjustment for X position ld l,a - ld a,[wd386] + ld a,[wSouthConnectedMapViewPointer + 1] ld h,a - ld b,$00 + ld b,0 srl c add hl,bc ld a,l @@ -884,9 +884,9 @@ LoadTileBlockMap:: ; 09fc (0:09fc) ; a 3-byte border at the edges of the map is kept so that there is space for map connections ld hl,wOverworldMap ld a,[W_CURMAPWIDTH] - ld [$ff8c],a + ld [hMapWidth],a add a,$06 ; border (east and west) - ld [$ff8b],a ; map width + border + ld [hMapStride],a ; map width + border ld b,$00 ld c,a ; make space for north border (next 3 lines) @@ -903,7 +903,7 @@ LoadTileBlockMap:: ; 09fc (0:09fc) ld b,a .rowLoop ; copy one row each iteration push hl - ld a,[$ff8c] ; map width (without border) + ld a,[hMapWidth] ; map width (without border) ld c,a .rowInnerLoop ld a,[de] @@ -913,7 +913,7 @@ LoadTileBlockMap:: ; 09fc (0:09fc) jr nz,.rowInnerLoop ; add the map width plus the border to the base address of the current row to get the next row's address pop hl - ld a,[$ff8b] ; map width + border + ld a,[hMapStride] ; map width + border add l ld l,a jr nc,.noCarry @@ -926,72 +926,72 @@ LoadTileBlockMap:: ; 09fc (0:09fc) cp a,$ff jr z,.southConnection call SwitchToMapRomBank - ld a,[wd372] + ld a,[wNorthConnectionStripSrc] ld l,a - ld a,[wd373] + ld a,[wNorthConnectionStripSrc + 1] ld h,a - ld a,[wd374] + ld a,[wNorthConnectionStripDest] ld e,a - ld a,[wd375] + ld a,[wNorthConnectionStripDest + 1] ld d,a - ld a,[wd376] - ld [$ff8b],a - ld a,[wd377] - ld [$ff8c],a + ld a,[wNorthConnectionStripWidth] + ld [hNorthSouthConnectionStripWidth],a + ld a,[wNorthConnectedMapWidth] + ld [hNorthSouthConnectedMapWidth],a call LoadNorthSouthConnectionsTileMap .southConnection ld a,[W_MAPCONN2PTR] cp a,$ff jr z,.westConnection call SwitchToMapRomBank - ld a,[wd37d] + ld a,[wSouthConnectionStripSrc] ld l,a - ld a,[wd37e] + ld a,[wSouthConnectionStripSrc + 1] ld h,a - ld a,[wd37f] + ld a,[wSouthConnectionStripDest] ld e,a - ld a,[wd380] + ld a,[wSouthConnectionStripDest + 1] ld d,a - ld a,[wd381] - ld [$ff8b],a - ld a,[wd382] - ld [$ff8c],a + ld a,[wSouthConnectionStripWidth] + ld [hNorthSouthConnectionStripWidth],a + ld a,[wSouthConnectedMapWidth] + ld [hNorthSouthConnectedMapWidth],a call LoadNorthSouthConnectionsTileMap .westConnection ld a,[W_MAPCONN3PTR] cp a,$ff jr z,.eastConnection call SwitchToMapRomBank - ld a,[wd388] + ld a,[wWestConnectionStripSrc] ld l,a - ld a,[wd389] + ld a,[wWestConnectionStripSrc + 1] ld h,a - ld a,[wd38a] + ld a,[wWestConnectionStripDest] ld e,a - ld a,[wd38b] + ld a,[wWestConnectionStripDest + 1] ld d,a - ld a,[wd38c] + ld a,[wWestConnectionStripHeight] ld b,a - ld a,[wd38d] - ld [$ff8b],a + ld a,[wWestConnectedMapWidth] + ld [hEastWestConnectedMapWidth],a call LoadEastWestConnectionsTileMap .eastConnection ld a,[W_MAPCONN4PTR] cp a,$ff jr z,.done call SwitchToMapRomBank - ld a,[wd393] + ld a,[wEastConnectionStripSrc] ld l,a - ld a,[wd394] + ld a,[wEastConnectionStripSrc + 1] ld h,a - ld a,[wd395] + ld a,[wEastConnectionStripDest] ld e,a - ld a,[wd396] + ld a,[wEastConnectionStripDest + 1] ld d,a - ld a,[wd397] + ld a,[wEastConnectionStripHeight] ld b,a - ld a,[wd398] - ld [$ff8b],a + ld a,[wEastConnectedMapWidth] + ld [hEastWestConnectedMapWidth],a call LoadEastWestConnectionsTileMap .done ret @@ -1001,7 +1001,7 @@ LoadNorthSouthConnectionsTileMap:: ; 0ade (0:0ade) .loop push de push hl - ld a,[$ff8b] ; width of connection + ld a,[hNorthSouthConnectionStripWidth] ld b,a .innerLoop ld a,[hli] @@ -1011,7 +1011,7 @@ LoadNorthSouthConnectionsTileMap:: ; 0ade (0:0ade) jr nz,.innerLoop pop hl pop de - ld a,[$ff8c] ; width of connected map + ld a,[hNorthSouthConnectedMapWidth] add l ld l,a jr nc,.noCarry1 @@ -1040,7 +1040,7 @@ LoadEastWestConnectionsTileMap:: ; 0b02 (0:0b02) jr nz,.innerLoop pop de pop hl - ld a,[$ff8b] ; width of connected map + ld a,[hEastWestConnectedMapWidth] add l ld l,a jr nc,.noCarry1 @@ -2022,7 +2022,7 @@ LoadMapHeader:: ; 107c (0:107c) ld b,a res 7,a ld [W_CURMAPTILESET],a - ld [$ff8b],a + ld [hPreviousTileset],a bit 7,b ret nz ld hl,MapHeaderPointers @@ -2191,24 +2191,24 @@ LoadMapHeader:: ; 107c (0:107c) ld a,[hli] ld [de],a ; store movement byte 1 at C2X6 ld a,[hli] - ld [$ff8d],a ; save movement byte 2 + ld [hLoadSpriteTemp1],a ; save movement byte 2 ld a,[hli] - ld [$ff8e],a ; save text ID and flags byte + ld [hLoadSpriteTemp2],a ; save text ID and flags byte push bc push hl ld b,$00 ld hl,W_MAPSPRITEDATA add hl,bc - ld a,[$ff8d] + ld a,[hLoadSpriteTemp1] ld [hli],a ; store movement byte 2 in byte 0 of sprite entry - ld a,[$ff8e] + ld a,[hLoadSpriteTemp2] ld [hl],a ; this appears pointless, since the value is overwritten immediately after - ld a,[$ff8e] - ld [$ff8d],a + ld a,[hLoadSpriteTemp2] + ld [hLoadSpriteTemp1],a and a,$3f ld [hl],a ; store text ID in byte 1 of sprite entry pop hl - ld a,[$ff8d] + ld a,[hLoadSpriteTemp1] bit 6,a jr nz,.trainerSprite bit 7,a @@ -2216,25 +2216,25 @@ LoadMapHeader:: ; 107c (0:107c) jr .regularSprite .trainerSprite ld a,[hli] - ld [$ff8d],a ; save trainer class + ld [hLoadSpriteTemp1],a ; save trainer class ld a,[hli] - ld [$ff8e],a ; save trainer number (within class) + ld [hLoadSpriteTemp2],a ; save trainer number (within class) push hl ld hl,W_MAPSPRITEEXTRADATA add hl,bc - ld a,[$ff8d] + ld a,[hLoadSpriteTemp1] ld [hli],a ; store trainer class in byte 0 of the entry - ld a,[$ff8e] + ld a,[hLoadSpriteTemp2] ld [hl],a ; store trainer number in byte 1 of the entry pop hl jr .nextSprite .itemBallSprite ld a,[hli] - ld [$ff8d],a ; save item number + ld [hLoadSpriteTemp1],a ; save item number push hl ld hl,W_MAPSPRITEEXTRADATA add hl,bc - ld a,[$ff8d] + ld a,[hLoadSpriteTemp1] ld [hli],a ; store item number in byte 0 of the entry xor a ld [hl],a ; zero byte 1, since it is not used diff --git a/hram.asm b/hram.asm index b0d5a942..a05f3d18 100644 --- a/hram.asm +++ b/hram.asm @@ -1,9 +1,3 @@ - -H_SPRITEWIDTH EQU $FF8B ; in tiles -H_SPRITEINTERLACECOUNTER EQU $FF8B -H_SPRITEHEIGHT EQU $FF8C ; in tiles -H_SPRITEOFFSET EQU $FF8D - hSoftReset EQU $FF8A ; Initialized to 16. ; Decremented each input iteration if the player @@ -12,8 +6,28 @@ hSoftReset EQU $FF8A hBaseTileID EQU $FF8B +; 3-byte BCD number hItemPrice EQU $FF8B +hDexWeight EQU $FF8B + +hWarpDestinationMap EQU $FF8B + +hOAMTile EQU $FF8B + +hROMBankTemp EQU $FF8B + +hPreviousTileset EQU $FF8B + +hEastWestConnectedMapWidth EQU $FF8B + +hSlideAmount EQU $FF8B + +H_SPRITEWIDTH EQU $FF8B ; in tiles +H_SPRITEINTERLACECOUNTER EQU $FF8B +H_SPRITEHEIGHT EQU $FF8C ; in tiles +H_SPRITEOFFSET EQU $FF8D + ; counters for blinking down arrow H_DOWNARROWBLINKCNT1 EQU $FF8B H_DOWNARROWBLINKCNT2 EQU $FF8C @@ -21,11 +35,40 @@ H_DOWNARROWBLINKCNT2 EQU $FF8C H_SPRITEDATAOFFSET EQU $FF8B H_SPRITEINDEX EQU $FF8C +hMapStride EQU $FF8B +hMapWidth EQU $FF8C + +hNorthSouthConnectionStripWidth EQU $FF8B +hNorthSouthConnectedMapWidth EQU $FF8C + ; DisplayTextID's argument hSpriteIndexOrTextID EQU $FF8C hPartyMonIndex EQU $FF8C +; the total number of tiles being shifted each time the pic slides by one tile +hSlidingRegionSize EQU $FF8C + +; 2 bytes +hEnemySpeed EQU $FF8D + +hVRAMSlot EQU $FF8D + +hFourTileSpriteCount EQU $FF8E + +; -1 = left +; 0 = right +hSlideDirection EQU $FF8D + +hSpriteFacingDirection EQU $FF8D + +hSpriteMovementByte2 EQU $FF8D + +hSpriteImageIndex EQU $FF8D + +hLoadSpriteTemp1 EQU $FF8D +hLoadSpriteTemp2 EQU $FF8E + hHalveItemPrices EQU $FF8E hSpriteOffset2 EQU $FF8F diff --git a/macros.asm b/macros.asm index 6a693a0b..9899ec29 100644 --- a/macros.asm +++ b/macros.asm @@ -13,6 +13,10 @@ dex EQUS "db $5f, $50" ; End a Pokedex entry. percent EQUS "* $ff / 100" +lb: MACRO ; r, hi, lo + ld \1, (\2) << 8 + (\3) + ENDM + ; Constant enumeration is useful for monsters, items, moves, etc. const_def: MACRO @@ -530,7 +534,7 @@ ENDM SOUTH_MAP_CONNECTION: MACRO db \1 ; map id dw \6 + \4 ; "Conection Strip" location - dw wOverworldMap + 3 + (\8 + 3) * (\7 + 6) + \3 ; current map positoin + dw wOverworldMap + 3 + (\8 + 3) * (\7 + 6) + \3 ; current map position db \5 ; width of connection strip db \2 ; map width db 0 ; y alignment (y coordinate of player when entering map) diff --git a/main.asm b/main.asm index 3bc5989a..9ceb5f81 100755 --- a/main.asm +++ b/main.asm @@ -996,7 +996,7 @@ DisplayTextIDInit: ; 7096 (1:7096) ld a,[wAutoTextBoxDrawingControl] bit 0,a jr nz,.skipDrawingTextBoxBorder - ld a,[$ff8c] ; text ID (or sprite ID) + ld a,[hSpriteIndexOrTextID] ; text ID (or sprite ID) and a jr nz,.notStartMenu ; if text ID is 0 (i.e. the start menu) @@ -2094,7 +2094,7 @@ IsPlayerStandingOnWarp: ; c35f (3:435f) ld a, [hli] ; target warp ld [wDestinationWarpID], a ld a, [hl] ; target map - ld [$ff8b], a + ld [hWarpDestinationMap], a ld hl, wd736 set 2, [hl] ; standing on warp flag ret @@ -2593,7 +2593,7 @@ ApplyOutOfBattlePoisonDamage: ; c69c (3:469c) ld [wJoyIgnore], a call EnableAutoTextBoxDrawing ld a, $d0 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID pop de pop hl @@ -2640,7 +2640,7 @@ ApplyOutOfBattlePoisonDamage: ; c69c (3:469c) jr nz, .noBlackOut call EnableAutoTextBoxDrawing ld a, $d1 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld hl, wd72e set 5, [hl] @@ -2692,7 +2692,7 @@ LoadTilesetHeader: ; c754 (3:4754) jr c, .asm_c797 ld a, [W_CURMAPTILESET] ld b, a - ld a, [$ff8b] + ld a, [hPreviousTileset] cp b jr z, .done .asm_c797 @@ -3454,15 +3454,15 @@ TryPushingBoulder: ; f225 (3:7225) bit 1, a ; has boulder dust animation from previous push played yet? ret nz xor a - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call IsSpriteInFrontOfPlayer - ld a, [$ff8c] + ld a, [hSpriteIndexOrTextID] ld [wBoulderSpriteIndex], a and a jp z, ResetBoulderPushFlags ld hl, wSpriteStateData1 + 1 ld d, $0 - ld a, [$ff8c] + ld a, [hSpriteIndexOrTextID] swap a ld e, a add hl, de diff --git a/scripts/agatha.asm b/scripts/agatha.asm index cc209553..e65b1fa2 100755 --- a/scripts/agatha.asm +++ b/scripts/agatha.asm @@ -76,7 +76,7 @@ AgathaScript0: ; 76490 (1d:6490) jr z, AgathaScript_76474 .asm_764b4 ld a, $2 - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, D_UP ld [wSimulatedJoypadStatesEnd], a @@ -112,7 +112,7 @@ AgathaScript2: ; 764ed (1d:64ed) cp $ff jp z, AgathaScript_76464 ld a, $1 - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $1 ld [W_GARYCURSCRIPT], a diff --git a/scripts/billshouse.asm b/scripts/billshouse.asm index 5de02d83..115b3b19 100755 --- a/scripts/billshouse.asm +++ b/scripts/billshouse.asm @@ -23,7 +23,7 @@ BillsHouseScript1: ; 1e783 (7:6783) ld de, MovementData_1e7a0 .notDown ld a, $1 - ld [$ff8c], a + ld [H_SPRITEINDEX], a call MoveSprite ld a, $2 ld [W_BILLSHOUSECURSCRIPT], a @@ -82,7 +82,7 @@ BillsHouseScript3: ; 1e7c5 (7:67c5) ld c, 8 call DelayFrames ld a, $2 - ld [$ff8c], a + ld [H_SPRITEINDEX], a ld de, MovementData_1e807 call MoveSprite ld a, $4 @@ -113,7 +113,7 @@ BillsHouseScript4: ; 1e80d (7:680d) BillsHouseScript5: ; 1e827 (7:6827) ld a, $4 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $0 ld [W_BILLSHOUSECURSCRIPT], a diff --git a/scripts/bruno.asm b/scripts/bruno.asm index 257a830b..bd28917c 100755 --- a/scripts/bruno.asm +++ b/scripts/bruno.asm @@ -76,7 +76,7 @@ BrunoScript0: ; 76339 (1d:6339) jr z, BrunoScript_7631d .asm_7635d ld a, $2 - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, D_UP ld [wSimulatedJoypadStatesEnd], a @@ -112,7 +112,7 @@ BrunoScript2: ; 76396 (1d:6396) cp $ff jp z, BrunoScript_7630d ld a, $1 - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a jp DisplayTextID BrunoTextPointers: ; 763a8 (1d:63a8) diff --git a/scripts/celadongamecorner.asm b/scripts/celadongamecorner.asm index 3bcdf3a3..b9c006d1 100755 --- a/scripts/celadongamecorner.asm +++ b/scripts/celadongamecorner.asm @@ -58,10 +58,10 @@ CeladonGameCornerScript1: ; 48c19 (12:4c19) ld a, $f0 ld [wJoyIgnore], a ld a, $d - ld [H_SPRITEHEIGHT], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $b - ld [H_SPRITEHEIGHT], a + ld [H_SPRITEINDEX], a call SetSpriteMovementBytesToFF ld de, MovementData_48c5a ld a, [W_YCOORD] @@ -76,7 +76,7 @@ CeladonGameCornerScript1: ; 48c19 (12:4c19) ld de, MovementData_48c63 .asm_48c4d ld a, $b - ld [H_DOWNARROWBLINKCNT2], a + ld [H_SPRITEINDEX], a call MoveSprite ld a, $2 ld [W_CELADONGAMECORNERCURSCRIPT], a diff --git a/scripts/celadongym.asm b/scripts/celadongym.asm index 4793bf14..b978b272 100755 --- a/scripts/celadongym.asm +++ b/scripts/celadongym.asm @@ -44,7 +44,7 @@ CeladonGymScript3: ; 48956 (12:4956) CeladonGymText_48963: ; 48963 (12:4963) ld a, $9 - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld hl, wd77c set 1, [hl] @@ -52,14 +52,14 @@ CeladonGymText_48963: ; 48963 (12:4963) call GiveItem jr nc, .BagFull ld a, $a - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld hl, wd77c set 0, [hl] jr .asm_4898c .BagFull ld a, $b - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a call DisplayTextID .asm_4898c ld hl, W_OBTAINEDBADGES diff --git a/scripts/ceruleancity.asm b/scripts/ceruleancity.asm index 3565b809..20873a81 100755 --- a/scripts/ceruleancity.asm +++ b/scripts/ceruleancity.asm @@ -28,7 +28,7 @@ CeruleanCityScript4: ; 194a7 (6:54a7) ld hl, wd75b set 7, [hl] ld a, $2 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID xor a ld [wJoyIgnore], a @@ -55,7 +55,7 @@ CeruleanCityScript0: ; 194c8 (6:54c8) ld [wSpriteStateData1 + $29], a call Delay3 ld a, $2 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a jp DisplayTextID .asm_194f7 ld a, [wd75a] @@ -82,9 +82,9 @@ CeruleanCityScript0: ; 194c8 (6:54c8) cp $14 jr z, .asm_19535 ld a, $1 - ld [$ff8c], a + ld [H_SPRITEINDEX], a ld a, $5 - ld [$ff8b], a + ld [H_SPRITEDATAOFFSET], a call GetPointerWithinSpriteStateData2 ld [hl], $19 .asm_19535 @@ -93,7 +93,7 @@ CeruleanCityScript0: ; 194c8 (6:54c8) predef ShowObject ld de, CeruleanCityMovement1 ld a, $1 - ld [$ff8c], a + ld [H_SPRITEINDEX], a call MoveSprite ld a, $1 ld [W_CERULEANCITYCURSCRIPT], a @@ -117,9 +117,9 @@ CeruleanCityMovement1: ; 19559 (6:5559) CeruleanCityScript_1955d: ; 1955d (6:555d) ld a,1 - ld [$ff8c],a + ld [H_SPRITEINDEX],a xor a ; SPRITE_FACING_DOWN - ld [$ff8d],a + ld [hSpriteFacingDirection],a jp SetSpriteFacingDirectionAndDelay ; face object CeruleanCityScript1: ; 19567 (6:5567) @@ -129,7 +129,7 @@ CeruleanCityScript1: ; 19567 (6:5567) xor a ld [wJoyIgnore], a ld a, $1 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld hl, wd72d set 6, [hl] @@ -173,14 +173,14 @@ CeruleanCityScript2: ; 195b1 (6:55b1) ld hl, wd75a set 0, [hl] ld a, $1 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $ff ld [wc0ee], a call PlaySound callba Music_RivalAlternateStart ld a, $1 - ld [$ff8c], a + ld [H_SPRITEINDEX], a call SetSpriteMovementBytesToFF ld a, [W_XCOORD] cp $14 @@ -191,7 +191,7 @@ CeruleanCityScript2: ; 195b1 (6:55b1) ld de, CeruleanCityMovement3 .asm_195f3 ld a, $1 - ld [$ff8c], a + ld [H_SPRITEINDEX], a call MoveSprite ld a, $3 ld [W_CERULEANCITYCURSCRIPT], a @@ -295,7 +295,7 @@ CeruleanCityText2: ; 1967c (6:567c) ld hl, CeruleanCityText_196ee ld de, CeruleanCityText_196ee call SaveEndBattleTextPointers - ld a, [$ff8c] + ld a, [hSpriteIndexOrTextID] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters diff --git a/scripts/ceruleangym.asm b/scripts/ceruleangym.asm index a6cb4c64..2343af03 100755 --- a/scripts/ceruleangym.asm +++ b/scripts/ceruleangym.asm @@ -44,7 +44,7 @@ CeruleanGymScript3: ; 5c700 (17:4700) CeruleanGymScript_5c70d: ; 5c70d (17:470d) ld a, $5 - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld hl, wd75e set 7, [hl] @@ -52,14 +52,14 @@ CeruleanGymScript_5c70d: ; 5c70d (17:470d) call GiveItem jr nc, .BagFull ld a, $6 - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld hl, wd75e set 6, [hl] jr .asm_5c736 .BagFull ld a, $7 - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a call DisplayTextID .asm_5c736 ld hl, W_OBTAINEDBADGES diff --git a/scripts/cinnabargym.asm b/scripts/cinnabargym.asm index b3d6def6..dbede0d3 100755 --- a/scripts/cinnabargym.asm +++ b/scripts/cinnabargym.asm @@ -37,7 +37,7 @@ CinnabarGymScript_75792: ; 75792 (1d:5792) ret CinnabarGymScript_757a0: ; 757a0 (1d:57a0) - ld a, [H_DOWNARROWBLINKCNT2] + ld a, [hSpriteIndexOrTextID] ld [wTrainerHeaderFlagBit], a ret @@ -51,7 +51,7 @@ CinnabarGymScript0: ; 757ae (1d:57ae) ld a, [wda38] and a ret z - ld [$ff8c], a + ld [H_SPRITEINDEX], a cp $4 jr nz, .asm_757c3 ld a, $4 @@ -86,7 +86,7 @@ CinnabarGymScript1: ; 757dc (1d:57dc) ld [wJoyIgnore], a ld a, [wda38] ld [wTrainerHeaderFlagBit], a - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a jp DisplayTextID CinnabarGymScript_757f1: ; 757f1 (1d:57f1) @@ -139,7 +139,7 @@ CinnabarGymScript3: ; 7584a (1d:584a) ld [wJoyIgnore], a CinnabarGymScript3_75857: ; 75857 (1d:5857) ld a, $a - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld hl, wd79a set 1, [hl] @@ -147,14 +147,14 @@ CinnabarGymScript3_75857: ; 75857 (1d:5857) call GiveItem jr nc, .BagFull ld a, $b - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld hl, wd79a set 0, [hl] jr .asm_75880 .BagFull ld a, $c - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID .asm_75880 ld hl, W_OBTAINEDBADGES @@ -189,7 +189,7 @@ CinnabarGymTextPointers: ; 7589f (1d:589f) dw TM38NoRoomText CinnabarGymScript_758b7: ; 758b7 (1d:58b7) - ld a, [H_DOWNARROWBLINKCNT2] + ld a, [hSpriteIndexOrTextID] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters diff --git a/scripts/cinnabarisland.asm b/scripts/cinnabarisland.asm index 33a497c4..70ea25a5 100755 --- a/scripts/cinnabarisland.asm +++ b/scripts/cinnabarisland.asm @@ -27,7 +27,7 @@ CinnabarIslandScript0: ; 1ca38 (7:4a38) ld a, $8 ld [wd528], a ld a, $8 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID xor a ld [hJoyHeld], a diff --git a/scripts/fightingdojo.asm b/scripts/fightingdojo.asm index 1b118f55..8a4a0464 100755 --- a/scripts/fightingdojo.asm +++ b/scripts/fightingdojo.asm @@ -45,12 +45,12 @@ FightingDojoScript1: ; 5cd83 (17:4d83) ld a, $1 ld [wd528], a ld a, $1 - ld [$ff8c], a + ld [H_SPRITEINDEX], a ld a, SPRITE_FACING_LEFT - ld [$ff8d], a + ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $1 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ret @@ -64,9 +64,9 @@ FightingDojoScript3: ; 5cdc6 (17:4dc6) ld a, $1 ld [wd528], a ld a, $1 - ld [$ff8c], a + ld [H_SPRITEINDEX], a ld a, SPRITE_FACING_LEFT - ld [$ff8d], a + ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay .asm_5cde4 @@ -76,7 +76,7 @@ FightingDojoScript3: ; 5cdc6 (17:4dc6) or $3e ld [wd7b1], a ld a, $8 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID xor a ld [wJoyIgnore], a @@ -148,7 +148,7 @@ FightingDojoText1: ; 5ce44 (17:4e44) ld hl, FightingDojoText_5ce93 ld de, FightingDojoText_5ce93 call SaveEndBattleTextPointers - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndexOrTextID] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters diff --git a/scripts/fuchsiagym.asm b/scripts/fuchsiagym.asm index f88f0055..843e7293 100755 --- a/scripts/fuchsiagym.asm +++ b/scripts/fuchsiagym.asm @@ -44,7 +44,7 @@ FuchsiaGymScript3: ; 7548a (1d:548a) ld [wJoyIgnore], a FuchsiaGymScript3_75497: ; 75497 (1d:5497) ld a, $9 - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld hl, wd792 set 1, [hl] @@ -52,14 +52,14 @@ FuchsiaGymScript3_75497: ; 75497 (1d:5497) call GiveItem jr nc, .BagFull ld a, $a - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld hl, wd792 set 0, [hl] jr .asm_754c0 .BagFull ld a, $b - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a call DisplayTextID .asm_754c0 ld hl, W_OBTAINEDBADGES diff --git a/scripts/fuchsiahouse2.asm b/scripts/fuchsiahouse2.asm index 12b49297..f758b49e 100755 --- a/scripts/fuchsiahouse2.asm +++ b/scripts/fuchsiahouse2.asm @@ -3,7 +3,7 @@ FuchsiaHouse2Script: ; 750b5 (1d:50b5) FuchsiaHouse2TextPointers: ; 750b8 (1d:50b8) dw FuchsiaHouse2Text1 - dw Predef5CText + dw PickUpItemText dw BoulderText dw FuchsiaHouse2Text4 dw FuchsiaHouse2Text5 diff --git a/scripts/gary.asm b/scripts/gary.asm index 59989b5f..476a59b0 100755 --- a/scripts/gary.asm +++ b/scripts/gary.asm @@ -55,7 +55,7 @@ GaryScript2: ; 75f6a (1d:5f6a) ld hl, W_OPTIONS res 7, [hl] ld a, $1 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID call Delay3 ld hl, wd72d @@ -99,10 +99,10 @@ GaryScript3: ; 75fbb (1d:5fbb) ld a, $f0 ld [wJoyIgnore], a ld a, $1 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call GaryScript_760c8 ld a, $1 - ld [$ff8c], a + ld [H_SPRITEINDEX], a call SetSpriteMovementBytesToFF ld a, $4 ld [W_GARYCURSCRIPT], a @@ -111,14 +111,14 @@ GaryScript3: ; 75fbb (1d:5fbb) GaryScript4: ; 75fe4 (1d:5fe4) callba Music_Cities1AlternateTempo ld a, $2 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call GaryScript_760c8 ld a, $2 - ld [$ff8c], a + ld [H_SPRITEINDEX], a call SetSpriteMovementBytesToFF ld de, MovementData_76014 ld a, $2 - ld [$ff8c], a + ld [H_SPRITEINDEX], a call MoveSprite ld a, HS_CHAMPIONS_ROOM_OAK ld [wcc4d], a @@ -142,17 +142,17 @@ GaryScript5: ; 7601a (1d:601a) ld a, $2 ld [wd528], a ld a, $1 - ld [$ff8c], a + ld [H_SPRITEINDEX], a ld a, SPRITE_FACING_LEFT - ld [$ff8d], a + ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $2 - ld [$ff8c], a + ld [H_SPRITEINDEX], a xor a ; SPRITE_FACING_DOWN - ld [$ff8d], a - call SetSpriteFacingDirectionAndDelay ; face object + ld [hSpriteFacingDirection], a + call SetSpriteFacingDirectionAndDelay ld a, $3 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call GaryScript_760c8 ld a, $6 ld [W_GARYCURSCRIPT], a @@ -160,12 +160,12 @@ GaryScript5: ; 7601a (1d:601a) GaryScript6: ; 76047 (1d:6047) ld a, $2 - ld [$ff8c], a + ld [H_SPRITEINDEX], a ld a, SPRITE_FACING_RIGHT - ld [$ff8d], a - call SetSpriteFacingDirectionAndDelay ; face object + ld [hSpriteFacingDirection], a + call SetSpriteFacingDirectionAndDelay ld a, $4 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call GaryScript_760c8 ld a, $7 ld [W_GARYCURSCRIPT], a @@ -173,16 +173,16 @@ GaryScript6: ; 76047 (1d:6047) GaryScript7: ; 7605f (1d:605f) ld a, $2 - ld [$ff8c], a + ld [H_SPRITEINDEX], a xor a ; SPRITE_FACING_DOWN - ld [$ff8d], a - call SetSpriteFacingDirectionAndDelay ; face object + ld [hSpriteFacingDirection], a + call SetSpriteFacingDirectionAndDelay ld a, $5 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call GaryScript_760c8 ld de, MovementData_76080 ld a, $2 - ld [$ff8c], a + ld [H_SPRITEINDEX], a call MoveSprite ld a, $8 ld [W_GARYCURSCRIPT], a diff --git a/scripts/halloffameroom.asm b/scripts/halloffameroom.asm index cb2c1fad..680ebdd9 100755 --- a/scripts/halloffameroom.asm +++ b/scripts/halloffameroom.asm @@ -83,10 +83,10 @@ HallofFameRoomScript1: ; 5a52b (16:652b) ld a, $1 ld [wd528], a ld a, $1 - ld [$ff8c], a + ld [H_SPRITEINDEX], a call SetSpriteMovementBytesToFF - ld a, SPRITE_FACING_LEFT - ld [$ff8d], a + ld a, $8 + ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay call Delay3 xor a @@ -94,7 +94,7 @@ HallofFameRoomScript1: ; 5a52b (16:652b) inc a ld [wd528], a ld a, $1 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $ff ld [wJoyIgnore], a diff --git a/scripts/lance.asm b/scripts/lance.asm index c11bec2f..e335914b 100755 --- a/scripts/lance.asm +++ b/scripts/lance.asm @@ -64,7 +64,7 @@ LanceScript0: ; 5a305 (16:6305) cp $3 jr nc, .asm_5a325 ld a, $1 - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a jp DisplayTextID .asm_5a325 cp $5 @@ -93,7 +93,7 @@ LanceScript2: ; 5a349 (16:6349) cp $ff jp z, LanceScript_5a2f5 ld a, $1 - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a jp DisplayTextID LanceScript_5a35b: ; 5a35b (16:635b) diff --git a/scripts/lorelei.asm b/scripts/lorelei.asm index 7e800467..1f1fcde0 100755 --- a/scripts/lorelei.asm +++ b/scripts/lorelei.asm @@ -77,7 +77,7 @@ LoreleiScript0: ; 761e2 (1d:61e2) jr z, LoreleiScript_761c6 .asm_76206 ld a, $2 - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, D_UP ld [wSimulatedJoypadStatesEnd], a @@ -112,7 +112,7 @@ LoreleiScript2: ; 7623f (1d:623f) cp $ff jp z, LoreleiScript_761b6 ld a, $1 - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a jp DisplayTextID LoreleiTextPointers: ; 76251 (1d:6251) diff --git a/scripts/mansion1.asm b/scripts/mansion1.asm index d658b425..6673e03b 100755 --- a/scripts/mansion1.asm +++ b/scripts/mansion1.asm @@ -53,7 +53,7 @@ Mansion1Script_Switches: ; 44316 (11:4316) xor a ld [hJoyHeld], a ld a, $4 - ld [H_SPRITEHEIGHT], a + ld [hSpriteIndexOrTextID], a jp DisplayTextID Mansion1ScriptPointers: ; 44326 (11:4326) @@ -63,8 +63,8 @@ Mansion1ScriptPointers: ; 44326 (11:4326) Mansion1TextPointers: ; 4432c (11:432c) dw Mansion1Text1 - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText dw Mansion1Text4 Mansion1TrainerHeaders: ; 44334 (11:4334) diff --git a/scripts/mansion2.asm b/scripts/mansion2.asm index 40827be1..27ccbdfb 100755 --- a/scripts/mansion2.asm +++ b/scripts/mansion2.asm @@ -49,7 +49,7 @@ Mansion2Script_Switches: ; 52037 (14:6037) xor a ld [hJoyHeld], a ld a, $5 - ld [H_SPRITEHEIGHT], a + ld [hSpriteIndexOrTextID], a jp DisplayTextID Mansion2ScriptPointers: ; 52047 (14:6047) @@ -59,7 +59,7 @@ Mansion2ScriptPointers: ; 52047 (14:6047) Mansion2TextPointers: ; 5204d (14:604d) dw Mansion2Text1 - dw Predef5CText + dw PickUpItemText dw Mansion2Text3 dw Mansion2Text4 dw Mansion2Text5 diff --git a/scripts/mansion3.asm b/scripts/mansion3.asm index dfecde99..fa31718f 100755 --- a/scripts/mansion3.asm +++ b/scripts/mansion3.asm @@ -80,14 +80,14 @@ Mansion3Script_Switches: ; 5227a (14:627a) xor a ld [hJoyHeld], a ld a, $6 - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a jp DisplayTextID Mansion3TextPointers: ; 5228a (14:628a) dw Mansion3Text1 dw Mansion3Text2 - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText dw Mansion3Text5 dw Mansion3Text6 diff --git a/scripts/mansion4.asm b/scripts/mansion4.asm index c23cb2d7..68e74fd5 100755 --- a/scripts/mansion4.asm +++ b/scripts/mansion4.asm @@ -51,7 +51,7 @@ Mansion4Script_Switches: ; 52420 (14:6420) xor a ld [hJoyHeld], a ld a, $9 - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a jp DisplayTextID Mansion4ScriptPointers: ; 52430 (14:6430) @@ -62,12 +62,12 @@ Mansion4ScriptPointers: ; 52430 (14:6430) Mansion4TextPointers: ; 52436 (14:6436) dw Mansion4Text1 dw Mansion4Text2 - dw Predef5CText - dw Predef5CText - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText dw Mansion4Text7 - dw Predef5CText + dw PickUpItemText dw Mansion3Text6 Mansion4TrainerHeaders: ; 52448 (14:6448) diff --git a/scripts/mtmoon1.asm b/scripts/mtmoon1.asm index 6c9fcd88..868b70d1 100755 --- a/scripts/mtmoon1.asm +++ b/scripts/mtmoon1.asm @@ -20,12 +20,12 @@ MtMoon1TextPointers: ; 499e1 (12:59e1) dw MtMoon1Text5 dw MtMoon1Text6 dw MtMoon1Text7 - dw Predef5CText - dw Predef5CText - dw Predef5CText - dw Predef5CText - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText dw MtMoon1Text14 MtMoon1TrainerHeaders: ; 499fd (12:59fd) diff --git a/scripts/mtmoon3.asm b/scripts/mtmoon3.asm index 7c6e987e..ee163738 100755 --- a/scripts/mtmoon3.asm +++ b/scripts/mtmoon3.asm @@ -66,7 +66,7 @@ MtMoon3Script0: ; 49d6f (12:5d6f) xor a ld [hJoyHeld], a ld a, $1 - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a jp DisplayTextID MtMoon3Script_49d91: ; 49d91 (12:5d91) @@ -92,7 +92,7 @@ MtMoon3Script3: ; 49d9a (12:5d9a) MtMoon3Script4: ; 49dba (12:5dba) ld a, $1 - ld [H_DOWNARROWBLINKCNT2], a + ld [H_SPRITEINDEX], a call SetSpriteMovementBytesToFF ld hl, CoordsData_49dea call ArePlayerCoordsInArray @@ -106,7 +106,7 @@ MtMoon3Script4: ; 49dba (12:5dba) ld de, MovementData_49df8 .asm_49dda ld a, $1 - ld [H_DOWNARROWBLINKCNT2], a + ld [H_SPRITEINDEX], a call MoveSprite ld a, $5 ld [W_MTMOON3CURSCRIPT], a @@ -140,7 +140,7 @@ MtMoon3Script5: ; 49dfb (12:5dfb) ld a, $1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a ld a, $a - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, [wd7f6] bit 6, a @@ -167,8 +167,8 @@ MtMoon3TextPointers: ; 49e34 (12:5e34) dw MtMoon3Text5 dw MtMoon3Text6 dw MtMoon3Text7 - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText dw MtMoon3Text_49f99 MtMoon3TrainerHeaders: ; 49e48 (12:5e48) diff --git a/scripts/museum1f.asm b/scripts/museum1f.asm index 26c7f02d..38c3f717 100755 --- a/scripts/museum1f.asm +++ b/scripts/museum1f.asm @@ -25,7 +25,7 @@ Museum1FScript0: ; 5c10d (17:410d) xor a ld [hJoyHeld], a ld a, $1 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a jp DisplayTextID Museum1FScript1: ; 5c12a (17:412a) @@ -69,7 +69,7 @@ Museum1FText1: ; 5c135 (17:4135) call PrintText jp Museum1FScriptEnd .asm_3ded4 - ld a, $13 + ld a, MONEY_BOX ld [wTextBoxID], a call DisplayTextBoxID xor a @@ -96,15 +96,15 @@ Museum1FText1: ; 5c135 (17:4135) ld hl, wd754 set 0, [hl] xor a - ld [wWhichTrade], a - ld [wTrainerEngageDistance], a + ld [wMuseumPriceTemp], a + ld [wMuseumPriceTemp + 1], a ld a, $50 - ld [wTrainerFacingDirection], a - ld hl, wTrainerFacingDirection + ld [wMuseumPriceTemp + 2], a + ld hl, wMuseumPriceTemp + 2 ld de, wPlayerMoney + 2 ld c, $3 predef SubBCDPredef - ld a, $13 + ld a, MONEY_BOX ld [wTextBoxID], a call DisplayTextBoxID ld a, (SFX_02_5a - SFX_Headers_02) / 3 diff --git a/scripts/oakslab.asm b/scripts/oakslab.asm index 992b6887..5463b879 100755 --- a/scripts/oakslab.asm +++ b/scripts/oakslab.asm @@ -89,13 +89,13 @@ OaksLabScript3: ; 1cba2 (7:4ba2) call StartSimulatingJoypadStates ld a, $1 ld [H_SPRITEINDEX], a - xor a ; SPRITE_FACING_DOWN - ld [$ff8d], a + xor a + ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $5 ld [H_SPRITEINDEX], a - xor a ; SPRITE_FACING_DOWN - ld [$ff8d], a + xor a + ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $4 @@ -117,7 +117,7 @@ OaksLabScript4: ; 1cbd2 (7:4bd2) ld a, $1 ld [H_SPRITEINDEX], a ld a, SPRITE_FACING_UP - ld [$ff8d], a + ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay call UpdateSprites ld hl, W_FLAGS_D733 @@ -132,19 +132,19 @@ OaksLabScript5: ; 1cbfd (7:4bfd) ld a, $fc ld [wJoyIgnore], a ld a, $11 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID call Delay3 ld a, $12 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID call Delay3 ld a, $13 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID call Delay3 ld a, $14 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld hl, wd74b set 1, [hl] @@ -162,16 +162,16 @@ OaksLabScript6: ; 1cc36 (7:4c36) ld a, $5 ld [H_SPRITEINDEX], a xor a ; SPRITE_FACING_DOWN - ld [$ff8d], a + ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $1 ld [H_SPRITEINDEX], a xor a - ld [$ff8d], a + ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay call UpdateSprites ld a, $c - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $1 ld [wSimulatedJoypadStatesIndex], a @@ -261,7 +261,7 @@ OaksLabScript8: ; 1cc80 (7:4c80) ld a, $1 ld [H_SPRITEINDEX], a ld a, $4 - ld [$ff8b], a + ld [H_SPRITEDATAOFFSET], a call GetPointerWithinSpriteStateData1 push hl ld [hl], $4c @@ -302,10 +302,10 @@ OaksLabScript9: ; 1cd00 (7:4d00) ld a, $1 ld [H_SPRITEINDEX], a ld a, SPRITE_FACING_UP - ld [$ff8d], a + ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $d - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, [wTrainerEngageDistance] cp $2 @@ -331,10 +331,10 @@ OaksLabScript9: ; 1cd00 (7:4d00) ld a, $1 ld [H_SPRITEINDEX], a ld a, SPRITE_FACING_UP - ld [$ff8d], a + ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $e - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld hl, wd74b set 2, [hl] @@ -352,7 +352,7 @@ OaksLabScript10: ; 1cd6d (7:4d6d) ld a, $1 ld [H_SPRITEINDEX], a xor a ; SPRITE_FACING_DOWN - ld [$ff8d], a + ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $8 ld [wd528], a @@ -360,7 +360,7 @@ OaksLabScript10: ; 1cd6d (7:4d6d) ld a, MUSIC_MEET_RIVAL call PlayMusic ld a, $f - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $1 ld [hNPCPlayerRelativePosPerspective], a @@ -432,7 +432,7 @@ OaksLabScript12: ; 1ce03 (7:4e03) ld a, $1 ld [H_SPRITEINDEX], a xor a ; SPRITE_FACING_DOWN - ld [$ff8d], a + ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay predef HealParty ld hl, wd74b @@ -446,7 +446,7 @@ OaksLabScript13: ; 1ce32 (7:4e32) ld c, 20 call DelayFrames ld a, $10 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID callba Music_RivalAlternateStart ld a, $1 @@ -522,7 +522,7 @@ OaksLabScript15: ; 1ceb0 (7:4eb0) call PlaySound callba Music_RivalAlternateStart ld a, $15 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID call OaksLabScript_1d02b ld a, HS_OAKS_LAB_RIVAL @@ -549,12 +549,12 @@ OaksLabScript_1cefd: ; 1cefd (7:4efd) ld a, $1 ld [H_SPRITEINDEX], a ld a, SPRITE_FACING_UP - ld [$ff8d], a + ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $8 ld [H_SPRITEINDEX], a xor a ; SPRITE_FACING_DOWN - ld [$ff8d], a + ld [hSpriteFacingDirection], a jp SetSpriteFacingDirectionAndDelay OaksLabScript16: ; 1cf12 (7:4f12) @@ -567,21 +567,21 @@ OaksLabScript16: ; 1cf12 (7:4f12) ld [wJoyIgnore], a call OaksLabScript_1cefd ld a, $16 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID call DelayFrame call OaksLabScript_1cefd ld a, $17 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID call DelayFrame call OaksLabScript_1cefd ld a, $18 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID call DelayFrame ld a, $19 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID call Delay3 ld a, HS_POKEDEX_1 @@ -592,16 +592,16 @@ OaksLabScript16: ; 1cf12 (7:4f12) predef HideObject call OaksLabScript_1cefd ld a, $1a - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $1 ld [H_SPRITEINDEX], a ld a, SPRITE_FACING_RIGHT - ld [$ff8d], a + ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay call Delay3 ld a, $1b - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld hl, wd74b set 5, [hl] @@ -856,13 +856,13 @@ OaksLabScript_1d157: ; 1d157 (7:5157) ld a, $5 ld [H_SPRITEINDEX], a ld a, $9 - ld [$ff8b], a + ld [H_SPRITEDATAOFFSET], a call GetPointerWithinSpriteStateData1 ld [hl], $0 ld a, $1 ld [H_SPRITEINDEX], a ld a, $9 - ld [$ff8b], a + ld [H_SPRITEDATAOFFSET], a call GetPointerWithinSpriteStateData1 ld [hl], $c ld hl, wd730 @@ -962,7 +962,7 @@ OaksLabScript_1d22d: ; 1d22d (7:522d) ld a, $5 ld [H_SPRITEINDEX], a ld a, $9 - ld [$ff8b], a + ld [H_SPRITEDATAOFFSET], a call GetPointerWithinSpriteStateData1 ld [hl], $0 ld hl, OaksLabLastMonText diff --git a/scripts/pallettown.asm b/scripts/pallettown.asm index 5b042066..327a32ff 100755 --- a/scripts/pallettown.asm +++ b/scripts/pallettown.asm @@ -67,7 +67,7 @@ PalletTownScript2: ; 18ed2 (6:4ed2) ld a,1 ld [H_SPRITEINDEX],a ld a,SPRITE_FACING_UP - ld [$FF8D],a + ld [hSpriteFacingDirection],a call SetSpriteFacingDirectionAndDelay call Delay3 ld a,1 diff --git a/scripts/pewtercity.asm b/scripts/pewtercity.asm index 460eab5c..94d23caa 100755 --- a/scripts/pewtercity.asm +++ b/scripts/pewtercity.asm @@ -31,7 +31,7 @@ PewterCityScript_1925e: ; 1925e (6:525e) ld a, $f0 ld [wJoyIgnore], a ld a, $5 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a jp DisplayTextID CoordsData_19277: ; 19277 (6:5277) @@ -48,16 +48,16 @@ PewterCityScript1: ; 19280 (6:5280) ld a, $3 ld [H_SPRITEINDEX], a ld a, SPRITE_FACING_UP - ld [$ff8d], a + ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, ($3 << 4) | SPRITE_FACING_UP - ld [$ff8d], a + ld [hSpriteImageIndex], a call SetSpriteImageIndexAfterSettingFacingDirection call PlayDefaultMusic ld hl, wFlags_0xcd60 set 4, [hl] ld a, $d - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $3c ld [$ffeb], a @@ -71,7 +71,7 @@ PewterCityScript1: ; 19280 (6:5280) ld [wSpriteIndex], a call SetSpritePosition1 ld a, $3 - ld [$ff8c], a + ld [H_SPRITEINDEX], a ld de, MovementData_PewterMuseumGuyExit call MoveSprite ld a, $2 @@ -114,18 +114,18 @@ PewterCityScript4: ; 19305 (6:5305) and a ret nz ld a, $5 - ld [$ff8c], a + ld [H_SPRITEINDEX], a ld a, SPRITE_FACING_LEFT - ld [$ff8d], a + ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, ($1 << 4) | SPRITE_FACING_LEFT - ld [$ff8d], a + ld [hSpriteImageIndex], a call SetSpriteImageIndexAfterSettingFacingDirection call PlayDefaultMusic ld hl, wFlags_0xcd60 set 4, [hl] ld a, $e - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $3c ld [$ffeb], a @@ -139,7 +139,7 @@ PewterCityScript4: ; 19305 (6:5305) ld [wSpriteIndex], a call SetSpritePosition1 ld a, $5 - ld [$ff8c], a + ld [H_SPRITEINDEX], a ld de, MovementData_PewterGymGuyExit call MoveSprite ld a, $5 diff --git a/scripts/pewtergym.asm b/scripts/pewtergym.asm index f4b2ad28..9f1493d4 100755 --- a/scripts/pewtergym.asm +++ b/scripts/pewtergym.asm @@ -44,7 +44,7 @@ PewterGymScript3: ; 5c3d2 (17:43d2) PewterGymScript_5c3df: ; 5c3df (17:43df) ld a, $4 - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld hl, wd755 set 7, [hl] @@ -52,14 +52,14 @@ PewterGymScript_5c3df: ; 5c3df (17:43df) call GiveItem jr nc, .BagFull ld a, $5 - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld hl, wd755 set 6, [hl] jr .asm_5c408 .BagFull ld a, $6 - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a call DisplayTextID .asm_5c408 ld hl, W_OBTAINEDBADGES diff --git a/scripts/pokemontower2.asm b/scripts/pokemontower2.asm index 286b8202..8520b10b 100755 --- a/scripts/pokemontower2.asm +++ b/scripts/pokemontower2.asm @@ -31,7 +31,7 @@ PokemonTower2Script0: ; 6050f (18:450f) call PlayMusic ld hl, wd764 res 6, [hl] - ld a, [wWhichTrade] + ld a, [wCoordIndex] cp $1 ld a, $8 ld b, SPRITE_FACING_DOWN @@ -43,12 +43,12 @@ PokemonTower2Script0: ; 6050f (18:450f) .asm_60544 ld [wd528], a ld a, $1 - ld [$ff8c], a + ld [H_SPRITEINDEX], a ld a, b - ld [$ff8d], a + ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $1 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID xor a ld [hJoyHeld], a @@ -69,7 +69,7 @@ PokemonTower2Script1: ; 60563 (18:4563) ld hl, wd764 set 7, [hl] ld a, $1 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld de, MovementData_605b2 ld a, [wd764] @@ -78,7 +78,7 @@ PokemonTower2Script1: ; 60563 (18:4563) ld de, MovementData_605a9 .asm_60589 ld a, $1 - ld [$ff8c], a + ld [H_SPRITEINDEX], a call MoveSprite ld a, $ff ld [wc0ee], a diff --git a/scripts/pokemontower3.asm b/scripts/pokemontower3.asm index 2cf58381..9d08aec4 100755 --- a/scripts/pokemontower3.asm +++ b/scripts/pokemontower3.asm @@ -16,7 +16,7 @@ PokemonTower3TextPointers: ; 606e5 (18:46e5) dw PokemonTower3Text1 dw PokemonTower3Text2 dw PokemonTower3Text3 - dw Predef5CText + dw PickUpItemText PokemonTower3TrainerHeaders: ; 606ed (18:46ed) PokemonTower3TrainerHeader0: ; 606ed (18:46ed) diff --git a/scripts/pokemontower4.asm b/scripts/pokemontower4.asm index 4f375657..c4732397 100755 --- a/scripts/pokemontower4.asm +++ b/scripts/pokemontower4.asm @@ -16,9 +16,9 @@ PokemonTower4TextPointers: ; 6080f (18:480f) dw PokemonTower4Text1 dw PokemonTower4Text2 dw PokemonTower4Text3 - dw Predef5CText - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText PokemonTower4TrainerHeaders: ; 6081b (18:481b) PokemonTower4TrainerHeader0: ; 6081b (18:481b) diff --git a/scripts/pokemontower5.asm b/scripts/pokemontower5.asm index 34dd3204..9ef5d419 100755 --- a/scripts/pokemontower5.asm +++ b/scripts/pokemontower5.asm @@ -38,7 +38,7 @@ PokemonTower5Script0: ; 6094b (18:494b) call Delay3 call GBFadeInFromWhite ld a, $7 - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a call DisplayTextID xor a ld [wJoyIgnore], a @@ -57,7 +57,7 @@ PokemonTower5TextPointers: ; 6099b (18:499b) dw PokemonTower5Text3 dw PokemonTower5Text4 dw PokemonTower5Text5 - dw Predef5CText + dw PickUpItemText dw PokemonTower5Text7 PokemonTower5TrainerHeaders: ; 609a9 (18:49a9) diff --git a/scripts/pokemontower6.asm b/scripts/pokemontower6.asm index e0e75cb1..e9412fb0 100755 --- a/scripts/pokemontower6.asm +++ b/scripts/pokemontower6.asm @@ -31,7 +31,7 @@ PokemonTower6Script0: ; 60b17 (18:4b17) xor a ld [hJoyHeld], a ld a, $6 - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, MAROWAK ld [W_CUROPPONENT], a @@ -63,7 +63,7 @@ PokemonTower6Script4: ; 60b48 (18:4b48) ld hl, wd768 set 7, [hl] ld a, $7 - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a call DisplayTextID xor a ld [wJoyIgnore], a @@ -100,8 +100,8 @@ PokemonTower6TextPointers: ; 60bb1 (18:4bb1) dw PokemonTower6Text1 dw PokemonTower6Text2 dw PokemonTower6Text3 - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText dw PokemonTower6Text6 dw PokemonTower6Text7 diff --git a/scripts/pokemontower7.asm b/scripts/pokemontower7.asm index 0f9741ab..60635f20 100755 --- a/scripts/pokemontower7.asm +++ b/scripts/pokemontower7.asm @@ -31,7 +31,7 @@ PokemonTower7Script2: ; 60d23 (18:4d23) ld a, $f0 ld [wJoyIgnore], a ld a, [wSpriteIndex] - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a call DisplayTextID call PokemonTower7Script_60db6 ld a, $3 @@ -72,7 +72,7 @@ PokemonTower7Script4: ; 60d86 (18:4d86) ld a, SPRITE_FACING_UP ld [wSpriteStateData1 + 9], a ld a, LAVENDER_HOUSE_1 - ld [H_DOWNARROWBLINKCNT1], a + ld [hWarpDestinationMap], a ld a, $1 ld [wDestinationWarpID], a ld a, LAVENDER_TOWN @@ -107,7 +107,7 @@ PokemonTower7Script_60db6: ; 60db6 (18:4db6) ld d, [hl] ld e, a ld a, [wSpriteIndex] - ld [H_DOWNARROWBLINKCNT2], a + ld [H_SPRITEINDEX], a jp MoveSprite .asm_60dde inc hl diff --git a/scripts/powerplant.asm b/scripts/powerplant.asm index 25597654..0026d525 100755 --- a/scripts/powerplant.asm +++ b/scripts/powerplant.asm @@ -22,11 +22,11 @@ PowerPlantTextPointers: ; 1e2df (7:62df) dw PowerPlantText7 dw PowerPlantText8 dw PowerPlantText9 - dw Predef5CText - dw Predef5CText - dw Predef5CText - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText PowerPlantTrainerHeaders: ; 1e2fb (7:62fb) PowerPlantTrainerHeader0: ; 1e2fb (7:62fb) diff --git a/scripts/rockethideout1.asm b/scripts/rockethideout1.asm index fe5a47e6..967ab77b 100755 --- a/scripts/rockethideout1.asm +++ b/scripts/rockethideout1.asm @@ -43,8 +43,8 @@ RocketHideout1TextPointers: ; 44c14 (11:4c14) dw RocketHideout1Text3 dw RocketHideout1Text4 dw RocketHideout1Text5 - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText RocketHideout1TrainerHeaders: ; 44c22 (11:4c22) RocketHideout1TrainerHeader0: ; 44c22 (11:4c22) diff --git a/scripts/rockethideout2.asm b/scripts/rockethideout2.asm index bb4dd3ec..c2184bdb 100755 --- a/scripts/rockethideout2.asm +++ b/scripts/rockethideout2.asm @@ -415,10 +415,10 @@ SpinnerArrowAnimTiles: ; 45087 (11:5087) RocketHideout2TextPointers: ; 450c7 (11:50c7) dw RocketHideout2Text1 - dw Predef5CText - dw Predef5CText - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText RocketHideout2TrainerHeaders: ; 450d1 (11:50d1) RocketHideout2TrainerHeader0: ; 450d1 (11:50d1) diff --git a/scripts/rockethideout3.asm b/scripts/rockethideout3.asm index f2f7ed91..b025acd0 100755 --- a/scripts/rockethideout3.asm +++ b/scripts/rockethideout3.asm @@ -146,8 +146,8 @@ RocketHideout3Script3: ; 452e4 (11:452e4) RocketHideout3TextPointers: ; 452fa (11:52fa) dw RocketHideout3Text1 dw RocketHideout3Text2 - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText RocketHideout3TrainerHeaders: ; 45302 (11:5302) RocketHideout3TrainerHeader0: ; 45302 (11:5302) diff --git a/scripts/rockethideout4.asm b/scripts/rockethideout4.asm index 613e2476..635c6095 100755 --- a/scripts/rockethideout4.asm +++ b/scripts/rockethideout4.asm @@ -56,7 +56,7 @@ RocketHideout4Script3: ; 454b6 (11:54b6) ld hl, wd81b set 7, [hl] ld a, $a - ld [H_SPRITEHEIGHT], a + ld [hSpriteIndexOrTextID], a call DisplayTextID call GBFadeOutToBlack ld a, HS_ROCKET_HIDEOUT_4_GIOVANNI @@ -81,11 +81,11 @@ RocketHideout4TextPointers: ; 45501 (11:5501) dw RocketHideout4Text2 dw RocketHideout4Text3 dw RocketHideout4Text4 - dw Predef5CText - dw Predef5CText - dw Predef5CText - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText dw RocketHideout4Text10 RocketHideout4TrainerHeaders: ; 45515 (11:5515) diff --git a/scripts/route12.asm b/scripts/route12.asm index eed676b3..8fe9d8f7 100755 --- a/scripts/route12.asm +++ b/scripts/route12.asm @@ -28,7 +28,7 @@ Route12Script0: ; 59619 (16:5619) res 6, [hl] jp z, CheckFightingMapTrainers ld a, $d - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, SNORLAX ld [W_CUROPPONENT], a @@ -51,7 +51,7 @@ Route12Script3: ; 5964c (16:564c) cp $2 jr z, .asm_59664 ld a, $e - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a call DisplayTextID .asm_59664 ld hl, wd7d8 @@ -71,8 +71,8 @@ Route12TextPointers: ; 59675 (16:5675) dw Route12Text6 dw Route12Text7 dw Route12Text8 - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText dw Route12Text11 dw Route12Text12 dw Route12Text13 diff --git a/scripts/route15.asm b/scripts/route15.asm index 3aa23bbb..fe70d2b4 100755 --- a/scripts/route15.asm +++ b/scripts/route15.asm @@ -23,7 +23,7 @@ Route15TextPointers: ; 597c7 (16:57c7) dw Route15Text8 dw Route15Text9 dw Route15Text10 - dw Predef5CText + dw PickUpItemText dw Route15Text12 Route15TrainerHeaders: ; 597df (16:57df) diff --git a/scripts/route16.asm b/scripts/route16.asm index b6c49a96..cdf436a5 100755 --- a/scripts/route16.asm +++ b/scripts/route16.asm @@ -28,7 +28,7 @@ Route16Script0: ; 59959 (16:5959) res 0, [hl] jp z, CheckFightingMapTrainers ld a, $a - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, SNORLAX ld [W_CUROPPONENT], a @@ -52,7 +52,7 @@ Route16Script3: ; 5998f (16:598f) cp $2 jr z, .asm_599a8 ld a, $b - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a call DisplayTextID .asm_599a8 ld hl, wd7e0 diff --git a/scripts/route16gate.asm b/scripts/route16gate.asm index 8e3d8e5b..801e577e 100755 --- a/scripts/route16gate.asm +++ b/scripts/route16gate.asm @@ -19,14 +19,14 @@ Route16GateScript0: ; 496d7 (12:56d7) call ArePlayerCoordsInArray ret nc ld a, $3 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID xor a ld [hJoyHeld], a - ld a, [wWhichTrade] + ld a, [wCoordIndex] cp $1 jr z, .asm_4970e - ld a, [wWhichTrade] + ld a, [wCoordIndex] dec a ld [wSimulatedJoypadStatesIndex], a ld b, $0 @@ -59,7 +59,7 @@ Route16GateScript1: ; 4971d (12:571d) Route16GateScript2: ; 49727 (12:5727) ld a, $1 - ld [H_SPRITEHEIGHT], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $1 ld [wSimulatedJoypadStatesIndex], a diff --git a/scripts/route18gate.asm b/scripts/route18gate.asm index 0301327b..060a6bbf 100755 --- a/scripts/route18gate.asm +++ b/scripts/route18gate.asm @@ -19,17 +19,17 @@ Route18GateScript0: ; 4988f (12:588f) call ArePlayerCoordsInArray ret nc ld a, $2 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID xor a ld [hJoyHeld], a - ld a, [wWhichTrade] + ld a, [wCoordIndex] cp $1 jr z, .asm_498c6 - ld a, [wWhichTrade] + ld a, [wCoordIndex] dec a ld [wSimulatedJoypadStatesIndex], a - ld b, $0 + ld b, 0 ld c, a ld a, D_UP ld hl, wSimulatedJoypadStatesEnd @@ -59,7 +59,7 @@ Route18GateScript1: ; 498d5 (12:58d5) Route18GateScript2: ; 498df (12:58df) ld a, $1 - ld [H_SPRITEHEIGHT], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $1 ld [wSimulatedJoypadStatesIndex], a diff --git a/scripts/route2.asm b/scripts/route2.asm index fdc5eb6c..62ef3050 100755 --- a/scripts/route2.asm +++ b/scripts/route2.asm @@ -2,8 +2,8 @@ Route2Script: ; 554e3 (15:54e3) jp EnableAutoTextBoxDrawing Route2TextPointers: ; 554e6 (15:54e6) - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText dw Route2Text3 dw Route2Text4 diff --git a/scripts/route22.asm b/scripts/route22.asm index 84fb5634..f125030e 100755 --- a/scripts/route22.asm +++ b/scripts/route22.asm @@ -43,8 +43,8 @@ Route22MoveRivalSprite: ; 50ee6 (14:4ee6) inc de .asm_50ef1 call MoveSprite - ld a, $c - ld [$ff8d], a + ld a, SPRITE_FACING_RIGHT + ld [hSpriteFacingDirection], a jp SetSpriteFacingDirectionAndDelay Route22RivalMovementData: ; 50efb (14:4efb) @@ -61,7 +61,7 @@ Route22Script0: ; 50f00 (14:4f00) ld hl, .Route22RivalBattleCoords call ArePlayerCoordsInArray ret nc - ld a, [wWhichTrade] + ld a, [wCoordIndex] ld [wcf0d], a xor a ld [hJoyHeld], a @@ -98,7 +98,7 @@ Route22Script0: ; 50f00 (14:4f00) ld a, MUSIC_MEET_RIVAL call PlayMusic ld a, $1 - ld [$ff8c], a + ld [H_SPRITEINDEX], a call Route22MoveRivalSprite ld a, $1 ld [W_ROUTE22CURSCRIPT], a @@ -113,19 +113,19 @@ Route22Script1: ; 50f62 (14:4f62) jr nz, .asm_50f78 ld a, $4 ld [wd528], a - ld a, $4 + ld a, SPRITE_FACING_UP jr .asm_50f7a .asm_50f78 - ld a, $c + ld a, SPRITE_FACING_RIGHT .asm_50f7a - ld [$ff8d], a + ld [hSpriteFacingDirection], a ld a, $1 - ld [$ff8c], a + ld [H_SPRITEINDEX], a call SetSpriteFacingDirectionAndDelay xor a ld [wJoyIgnore], a ld a, $1 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld hl, wd72d set 6, [hl] @@ -159,16 +159,16 @@ Route22Script2: ; 50fb5 (14:4fb5) .notDown ld a, SPRITE_FACING_RIGHT .done - ld [$ff8d], a + ld [hSpriteFacingDirection], a ld a, $1 - ld [$ff8c], a + ld [H_SPRITEINDEX], a call SetSpriteFacingDirectionAndDelay ld a, $f0 ld [wJoyIgnore], a ld hl, wd7eb set 5, [hl] ld a, $1 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $ff ld [wc0ee], a @@ -194,7 +194,7 @@ Route22Script_5100d: ; 5100d (14:500d) ld de, Route22RivalExitMovementData2 Route22MoveRival1: ; 51010 (14:5010) ld a, $1 - ld [H_SPRITEHEIGHT], a + ld [H_SPRITEINDEX], a jp MoveSprite Route22RivalExitMovementData1: ; 51017 (14:5017) @@ -255,7 +255,7 @@ Route22Script_5104e: ; 5104e (14:504e) call PlaySound callba Music_RivalAlternateTempo ld a, $2 - ld [H_DOWNARROWBLINKCNT2], a + ld [H_SPRITEINDEX], a call Route22MoveRivalSprite ld a, $4 ld [W_ROUTE22CURSCRIPT], a @@ -266,25 +266,25 @@ Route22Script4: ; 51087 (14:5087) bit 0, a ret nz ld a, $2 - ld [H_DOWNARROWBLINKCNT2], a + ld [H_SPRITEINDEX], a ld a, [wcf0d] cp $1 jr nz, .asm_510a1 ld a, $4 ld [wd528], a - ld a, $4 + ld a, SPRITE_FACING_UP jr .asm_510a8 .asm_510a1 ld a, $2 ld [wd528], a - ld a, $c + ld a, SPRITE_FACING_RIGHT .asm_510a8 - ld [$ff8d], a + ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay xor a ld [wJoyIgnore], a ld a, $2 - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld hl, wd72d set 6, [hl] @@ -310,27 +310,27 @@ Route22Script5: ; 510df (14:50df) cp $ff jp z, Route22Script_50ece ld a, $2 - ld [H_DOWNARROWBLINKCNT2], a + ld [H_SPRITEINDEX], a ld a, [wcf0d] cp $1 jr nz, .asm_510fb ld a, $4 ld [wd528], a - ld a, $4 + ld a, SPRITE_FACING_UP jr .asm_51102 .asm_510fb ld a, $2 ld [wd528], a - ld a, $c + ld a, SPRITE_FACING_RIGHT .asm_51102 - ld [$ff8d], a + ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $f0 ld [wJoyIgnore], a ld hl, wd7eb set 6, [hl] ld a, $2 - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $ff ld [wc0ee], a @@ -356,7 +356,7 @@ Route22Script_51142: ; 51142 (14:5142) ld de, MovementData_5114d Route22MoveRival2: ; 51145 (14:5145) ld a, $2 - ld [H_DOWNARROWBLINKCNT2], a + ld [H_SPRITEINDEX], a jp MoveSprite MovementData_5114c: ; 5114c (14:514c) diff --git a/scripts/route22gate.asm b/scripts/route22gate.asm index 513a106b..8b24c820 100755 --- a/scripts/route22gate.asm +++ b/scripts/route22gate.asm @@ -24,7 +24,7 @@ Route22GateScript0: ; 1e6a4 (7:66a4) xor a ld [hJoyHeld], a ld a, $1 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a jp DisplayTextID Route22GateScriptCoords: ; 1e6b5 (7:66b5) diff --git a/scripts/route23.asm b/scripts/route23.asm index 5ed038c2..eeaf2a2b 100755 --- a/scripts/route23.asm +++ b/scripts/route23.asm @@ -49,9 +49,9 @@ Route23Script0: ; 51219 (14:5219) ret nc .asm_51237 ld a, e - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a ld a, c - ld [wWhichTrade], a + ld [wWhichBadge], a ld b, $2 ld hl, wd7ed predef FlagActionPredef @@ -69,21 +69,21 @@ YCoordsData_51255: ; 51255 (14:5255) Route23Script_5125d: ; 5125d (14:525d) ld hl, BadgeTextPointers - ld a, [wWhichTrade] + ld a, [wWhichBadge] ld c, a - ld b, $0 + ld b, 0 add hl, bc add hl, bc ld a, [hli] ld h, [hl] ld l, a ld de, wcd6d -.asm_5126e +.copyTextLoop ld a, [hli] ld [de], a inc de - cp $50 - jr nz, .asm_5126e + cp "@" + jr nz, .copyTextLoop ret BadgeTextPointers: ; 51276 (14:5276) @@ -188,9 +188,9 @@ Route23Text7: ; 5133d (14:533d) jp TextScriptEnd Route23Script_51346: ; 51346 (14:5346) - ld [wWhichTrade], a + ld [wWhichBadge], a call Route23Script_5125d - ld a, [wWhichTrade] + ld a, [wWhichBadge] inc a ld c, a ld b, $2 @@ -208,7 +208,7 @@ Route23Script_51346: ; 51346 (14:5346) .asm_5136e ld hl, VictoryRoadGuardText2 call PrintText - ld a, [wWhichTrade] + ld a, [wWhichBadge] ld c, a ld b, $1 ld hl, wd7ed diff --git a/scripts/route24.asm b/scripts/route24.asm index 7bb9f3cd..f6822a35 100755 --- a/scripts/route24.asm +++ b/scripts/route24.asm @@ -31,7 +31,7 @@ Route24Script0: ; 513d5 (14:53d5) xor a ld [hJoyHeld], a ld a, $1 - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld hl, wd7f0 bit 1, [hl] @@ -70,7 +70,7 @@ Route24Script3: ; 51422 (14:5422) ld hl, wd7ef set 1, [hl] ld a, $1 - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a call DisplayTextID xor a ld [wJoyIgnore], a @@ -87,7 +87,7 @@ Route24TextPointers: ; 5144b (14:544b) dw Route24Text5 dw Route24Text6 dw Route24Text7 - dw Predef5CText + dw PickUpItemText Route24TrainerHeaders: ; 5145b (14:545b) Route24TrainerHeader0: ; 5145b (14:545b) @@ -170,7 +170,7 @@ Route24Text1: ; 514a4 (14:54a4) ld hl, Route24Text_5152b ld de, Route24Text_5152b call SaveEndBattleTextPointers - ld a, [$ff8c] + ld a, [hSpriteIndexOrTextID] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters diff --git a/scripts/route25.asm b/scripts/route25.asm index 383652c8..5f544365 100755 --- a/scripts/route25.asm +++ b/scripts/route25.asm @@ -51,7 +51,7 @@ Route25TextPointers: ; 51628 (14:5628) dw Route25Text7 dw Route25Text8 dw Route25Text9 - dw Predef5CText + dw PickUpItemText dw Route25Text11 Route25TrainerHeaders: ; 5163e (14:563e) diff --git a/scripts/route4.asm b/scripts/route4.asm index c4a1e956..10d3882d 100755 --- a/scripts/route4.asm +++ b/scripts/route4.asm @@ -15,7 +15,7 @@ Route4ScriptPointers: ; 5566b (15:566b) Route4TextPointers: ; 55671 (15:5671) dw Route4Text1 dw Route4Text2 - dw Predef5CText + dw PickUpItemText dw PokeCenterSignText dw Route4Text5 dw Route4Text6 diff --git a/scripts/route5gate.asm b/scripts/route5gate.asm index 2c751fa8..1ccf27af 100755 --- a/scripts/route5gate.asm +++ b/scripts/route5gate.asm @@ -31,7 +31,7 @@ Route5GateScript0: ; 1df50 (7:5f50) and a jr nz, .asm_1df82 ld a, $2 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID call Route5GateScript_1df43 ld a, $1 @@ -39,7 +39,7 @@ Route5GateScript0: ; 1df50 (7:5f50) ret .asm_1df82 ld a, $3 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld hl, wd728 set 6, [hl] diff --git a/scripts/route6gate.asm b/scripts/route6gate.asm index 82e2414a..d1aed2df 100755 --- a/scripts/route6gate.asm +++ b/scripts/route6gate.asm @@ -25,7 +25,7 @@ Route6GateScript0: ; 1e04e (7:604e) and a jr nz, .asm_1e080 ld a, $2 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID call Route6GateScript_1e0a1 ld a, $1 @@ -35,7 +35,7 @@ Route6GateScript0: ; 1e04e (7:604e) ld hl, wd728 set 6, [hl] ld a, $3 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a jp DisplayTextID CoordsData_1e08c: ; 1e08c (7:608c) diff --git a/scripts/route7gate.asm b/scripts/route7gate.asm index 4a05acc3..d73dc566 100755 --- a/scripts/route7gate.asm +++ b/scripts/route7gate.asm @@ -37,7 +37,7 @@ Route7GateScript0: ; 1e128 (7:6128) and a jr nz, .asm_1e15a ld a, $2 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID call Route7GateScript_1e111 ld a, $1 @@ -45,7 +45,7 @@ Route7GateScript0: ; 1e128 (7:6128) ret .asm_1e15a ld a, $3 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld hl, wd728 set 6, [hl] diff --git a/scripts/route8gate.asm b/scripts/route8gate.asm index de0a856f..261a7a1e 100755 --- a/scripts/route8gate.asm +++ b/scripts/route8gate.asm @@ -36,7 +36,7 @@ Route8GateScript0: ; 1e1ee (7:61ee) and a jr nz, .asm_1e220 ld a, $2 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID call Route8GateScript_1e1d7 ld a, $1 @@ -46,7 +46,7 @@ Route8GateScript0: ; 1e1ee (7:61ee) ld hl, wd728 set 6, [hl] ld a, $3 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a jp DisplayTextID CoordsData_1e22c: ; 1e22c (7:622c) diff --git a/scripts/route9.asm b/scripts/route9.asm index 539e1a3f..d6050970 100755 --- a/scripts/route9.asm +++ b/scripts/route9.asm @@ -22,7 +22,7 @@ Route9TextPointers: ; 556d5 (15:56d5) dw Route9Text7 dw Route9Text8 dw Route9Text9 - dw Predef5CText + dw PickUpItemText dw Route9Text11 Route9TrainerHeaders: ; 556eb (15:56eb) diff --git a/scripts/safarizonecenter.asm b/scripts/safarizonecenter.asm index 6ff60ec6..40042038 100755 --- a/scripts/safarizonecenter.asm +++ b/scripts/safarizonecenter.asm @@ -2,7 +2,7 @@ SafariZoneCenterScript: ; 45bb2 (11:5bb2) jp EnableAutoTextBoxDrawing SafariZoneCenterTextPointers: ; 45bb5 (11:5bb5) - dw Predef5CText + dw PickUpItemText dw SafariZoneCenterText2 dw SafariZoneCenterText3 diff --git a/scripts/safarizoneeast.asm b/scripts/safarizoneeast.asm index 3e6df139..55ea5aa6 100755 --- a/scripts/safarizoneeast.asm +++ b/scripts/safarizoneeast.asm @@ -2,10 +2,10 @@ SafariZoneEastScript: ; 4586b (11:586b) jp EnableAutoTextBoxDrawing SafariZoneEastTextPointers: ; 4586e (11:586e) - dw Predef5CText - dw Predef5CText - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText dw SafariZoneEastText5 dw SafariZoneEastText6 dw SafariZoneEastText7 diff --git a/scripts/safarizoneentrance.asm b/scripts/safarizoneentrance.asm index 2edbe61b..e89630fc 100755 --- a/scripts/safarizoneentrance.asm +++ b/scripts/safarizoneentrance.asm @@ -18,7 +18,7 @@ SafariZoneEntranceScriptPointers: ; 751d9 (1d:51d9) call ArePlayerCoordsInArray ret nc ld a, $3 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $ff ld [wJoyIgnore], a @@ -56,7 +56,7 @@ SafariZoneEntranceScriptPointers: ; 751d9 (1d:51d9) ld [wJoyIgnore], a call UpdateSprites ld a, $4 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $ff ld [wJoyIgnore], a @@ -83,7 +83,7 @@ SafariZoneEntranceScriptPointers: ; 751d9 (1d:51d9) ld a, $f0 ld [wJoyIgnore], a ld a, $6 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID xor a ld [W_NUMSAFARIBALLS], a @@ -95,7 +95,7 @@ SafariZoneEntranceScriptPointers: ; 751d9 (1d:51d9) jr .asm_75286 .asm_7527f ld a, $5 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID .asm_75286 ret diff --git a/scripts/safarizonenorth.asm b/scripts/safarizonenorth.asm index 74790e76..6ea5f902 100755 --- a/scripts/safarizonenorth.asm +++ b/scripts/safarizonenorth.asm @@ -2,8 +2,8 @@ SafariZoneNorthScript: ; 459ab (11:59ab) jp EnableAutoTextBoxDrawing SafariZoneNorthTextPointers: ; 459ae (11:59ae) - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText dw SafariZoneNorthText3 dw SafariZoneNorthText4 dw SafariZoneNorthText5 diff --git a/scripts/safarizonewest.asm b/scripts/safarizonewest.asm index 1465af56..db2c6427 100755 --- a/scripts/safarizonewest.asm +++ b/scripts/safarizonewest.asm @@ -2,10 +2,10 @@ SafariZoneWestScript: ; 4a1b5 (12:61b5) jp EnableAutoTextBoxDrawing SafariZoneWestTextPointers: ; 4a1b8 (12:61b8) - dw Predef5CText - dw Predef5CText - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText dw SafariZoneWestText5 dw SafariZoneWestText6 dw SafariZoneWestText7 diff --git a/scripts/saffrongym.asm b/scripts/saffrongym.asm index 7e4f4447..349eda5e 100755 --- a/scripts/saffrongym.asm +++ b/scripts/saffrongym.asm @@ -44,7 +44,7 @@ SaffronGymScript3: ; 5d05b (17:505b) SaffronGymText_5d068: ; 5d068 (17:5068) ld a, $a - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld hl, wd7b3 set 1, [hl] @@ -52,14 +52,14 @@ SaffronGymText_5d068: ; 5d068 (17:5068) call GiveItem jr nc, .BagFull ld a, $b - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld hl, wd7b3 set 0, [hl] jr .asm_5d091 .BagFull ld a, $c - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a call DisplayTextID .asm_5d091 ld hl, W_OBTAINEDBADGES diff --git a/scripts/silphco10.asm b/scripts/silphco10.asm index 46630014..47700664 100755 --- a/scripts/silphco10.asm +++ b/scripts/silphco10.asm @@ -44,9 +44,9 @@ SilphCo10TextPointers: ; 5a186 (16:6186) dw SilphCo10Text1 dw SilphCo10Text2 dw SilphCo10Text3 - dw Predef5CText - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText SilphCo10TrainerHeaders: ; 5a192 (16:6192) SilphCo10TrainerHeader0: ; 5a192 (16:6192) diff --git a/scripts/silphco11.asm b/scripts/silphco11.asm index 473c9d11..b4f94b13 100755 --- a/scripts/silphco11.asm +++ b/scripts/silphco11.asm @@ -170,17 +170,17 @@ SilphCo11Script0: ; 621db (18:61db) ld hl, CoordsData_62211 call ArePlayerCoordsInArray jp nc, CheckFightingMapTrainers - ld a, [wWhichTrade] + ld a, [wCoordIndex] ld [wcf0d], a xor a ld [hJoyHeld], a ld a, $f0 ld [wJoyIgnore], a ld a, $3 - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $3 - ld [H_DOWNARROWBLINKCNT2], a + ld [H_SPRITEINDEX], a call SetSpriteMovementBytesToFF ld de, MovementData_62216 call MoveSprite @@ -201,9 +201,9 @@ MovementData_62216: ; 62216 (18:6216) SilphCo11Script_6221a: ; 6221a (18:621a) ld [wd528], a ld a, $3 - ld [H_DOWNARROWBLINKCNT2], a + ld [H_SPRITEINDEX], a ld a, b - ld [$ff8d], a + ld [hSpriteFacingDirection], a jp SetSpriteFacingDirectionAndDelay SilphCo11Script5: ; 62227 (18:6227) @@ -214,17 +214,17 @@ SilphCo11Script5: ; 62227 (18:6227) cp $1 jr z, .asm_6223c ld a, $2 - ld b, $c + ld b, SPRITE_FACING_RIGHT jr .asm_62240 .asm_6223c ld a, $8 - ld b, $0 + ld b, SPRITE_FACING_DOWN .asm_62240 call SilphCo11Script_6221a ld a, $f0 ld [wJoyIgnore], a ld a, $6 - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a call DisplayTextID call GBFadeOutToBlack call SilphCo11Script_6216d @@ -242,17 +242,17 @@ SilphCo11Script3: ; 6226a (18:626a) bit 0, a ret nz ld a, $3 - ld [H_DOWNARROWBLINKCNT2], a + ld [H_SPRITEINDEX], a call SetSpriteMovementBytesToFF ld a, [wcf0d] cp $1 jr z, .asm_62284 ld a, $2 - ld b, $c + ld b, SPRITE_FACING_RIGHT jr .asm_62288 .asm_62284 ld a, $8 - ld b, $0 + ld b, SPRITE_FACING_DOWN .asm_62288 call SilphCo11Script_6221a call Delay3 @@ -266,7 +266,7 @@ SilphCo11Script4: ; 62293 (18:6293) ld hl, SilphCo10Text_62330 ld de, SilphCo10Text_62330 call SaveEndBattleTextPointers - ld a, [H_DOWNARROWBLINKCNT2] + ld a, [H_SPRITEINDEX] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters diff --git a/scripts/silphco3.asm b/scripts/silphco3.asm index bc36ed39..4bd1edd1 100755 --- a/scripts/silphco3.asm +++ b/scripts/silphco3.asm @@ -58,7 +58,7 @@ SilphCo3TextPointers: ; 59fc4 (16:5fc4) dw SilphCo3Text1 dw SilphCo3Text2 dw SilphCo3Text3 - dw Predef5CText + dw PickUpItemText SilphCo3TrainerHeaders: ; 59fcc (16:5fcc) SilphCo3TrainerHeader0: ; 59fcc (16:5fcc) diff --git a/scripts/silphco4.asm b/scripts/silphco4.asm index 866afd54..a3953e27 100755 --- a/scripts/silphco4.asm +++ b/scripts/silphco4.asm @@ -95,9 +95,9 @@ SilphCo4TextPointers: ; 19da0 (6:5da0) dw SilphCo4Text2 dw SilphCo4Text3 dw SilphCo4Text4 - dw Predef5CText - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText SilphCo4TrainerHeaders: ; 19dae (6:5dae) SilphCo4TrainerHeader0: ; 19dae (6:5dae) diff --git a/scripts/silphco5.asm b/scripts/silphco5.asm index 750072ab..1ed6006f 100755 --- a/scripts/silphco5.asm +++ b/scripts/silphco5.asm @@ -74,9 +74,9 @@ SilphCo5TextPointers: ; 19fbc (6:5fbc) dw SilphCo5Text3 dw SilphCo5Text4 dw SilphCo5Text5 - dw Predef5CText - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText dw SilphCo5Text9 dw SilphCo5Text10 dw SilphCo5Text11 diff --git a/scripts/silphco6.asm b/scripts/silphco6.asm index 0ff5ee50..fe1e6224 100755 --- a/scripts/silphco6.asm +++ b/scripts/silphco6.asm @@ -50,8 +50,8 @@ SilphCo6TextPointers: ; 1a1f6 (6:61f6) dw SilphCo6Text6 dw SilphCo6Text7 dw SilphCo6Text8 - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText SilphCo6TrainerHeaders: ; 1a20a (6:620a) SilphCo6TrainerHeader0: ; 1a20a (6:620a) diff --git a/scripts/silphco7.asm b/scripts/silphco7.asm index 483429c0..8538d37f 100755 --- a/scripts/silphco7.asm +++ b/scripts/silphco7.asm @@ -136,10 +136,10 @@ SilphCo7Script0: ; 51c23 (14:5c23) ld a, MUSIC_MEET_RIVAL call PlayMusic ld a, $9 - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $9 - ld [H_DOWNARROWBLINKCNT2], a + ld [H_SPRITEINDEX], a call SetSpriteMovementBytesToFF ld de, MovementData_51c7d ld a, [wWhichTrade] @@ -149,7 +149,7 @@ SilphCo7Script0: ; 51c23 (14:5c23) inc de .asm_51c6c ld a, $9 - ld [H_DOWNARROWBLINKCNT2], a + ld [H_SPRITEINDEX], a call MoveSprite ld a, $3 jp SilphCo7Text_51c10 @@ -173,7 +173,7 @@ SilphCo7Script3: ; 51c82 (14:5c82) xor a ld [wJoyIgnore], a ld a, $d - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a call DisplayTextID call Delay3 ld hl, wd72d @@ -212,12 +212,12 @@ SilphCo7Script4: ; 51cc8 (14:5cc8) ld a, $4 ld [wd528], a ld a, $9 - ld [H_DOWNARROWBLINKCNT2], a - ld a, $4 - ld [$ff8d], a + ld [H_SPRITEINDEX], a + ld a, SPRITE_FACING_UP + ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $f - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $ff ld [wc0ee], a @@ -230,7 +230,7 @@ SilphCo7Script4: ; 51cc8 (14:5cc8) ld de, MovementData_51d1a .asm_51d0e ld a, $9 - ld [H_DOWNARROWBLINKCNT2], a + ld [H_SPRITEINDEX], a call MoveSprite ld a, $5 jp SilphCo7Text_51c10 @@ -272,9 +272,9 @@ SilphCo7TextPointers: ; 51d3f (14:5d3f) dw SilphCo7Text7 dw SilphCo7Text8 dw SilphCo7Text9 - dw Predef5CText - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText dw SilphCo7Text13 dw SilphCo7Text14 dw SilphCo7Text15 diff --git a/scripts/ssanne10.asm b/scripts/ssanne10.asm index 4dee3bb7..031315c3 100755 --- a/scripts/ssanne10.asm +++ b/scripts/ssanne10.asm @@ -21,9 +21,9 @@ SSAnne10TextPointers: ; 61d6e (18:5d6e) dw SSAnne10Text6 dw SSAnne10Text7 dw SSAnne10Text8 - dw Predef5CText - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText SSAnne10TrainerHeaders: ; 61d84 (18:5d84) SSAnne10TrainerHeader0: ; 61d84 (18:5d84) diff --git a/scripts/ssanne2.asm b/scripts/ssanne2.asm index 16d560b5..d4651a22 100755 --- a/scripts/ssanne2.asm +++ b/scripts/ssanne2.asm @@ -30,14 +30,14 @@ SSAnne2Script0: ; 613be (18:53be) ld c, BANK(Music_MeetRival) ld a, MUSIC_MEET_RIVAL call PlayMusic - ld a, [wWhichTrade] + ld a, [wCoordIndex] ld [$ffdb], a ld a, HS_SS_ANNE_2_RIVAL ld [wcc4d], a predef ShowObject call Delay3 ld a, $2 - ld [$ff8c], a + ld [H_SPRITEINDEX], a call SetSpriteMovementBytesToFF xor a ld [hJoyHeld], a @@ -79,11 +79,11 @@ SSAnne2Script_61416: ; 61416 (18:5416) ld a, SPRITE_FACING_RIGHT jr .asm_61427 .asm_61426 - xor a + xor a ; SPRITE_FACING_DOWN .asm_61427 - ld [$ff8d], a + ld [hSpriteFacingDirection], a ld a, $2 - ld [H_DOWNARROWBLINKCNT2], a + ld [H_SPRITEINDEX], a jp SetSpriteFacingDirectionAndDelay SSAnne2Script1: ; 61430 (18:5430) @@ -94,7 +94,7 @@ SSAnne2Script1: ; 61430 (18:5430) xor a ld [wJoyIgnore], a ld a, $2 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID call Delay3 ld a, SONY2 + $c8 @@ -129,10 +129,10 @@ SSAnne2Script2: ; 6146d (18:546d) ld a, $f0 ld [wJoyIgnore], a ld a, $3 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $2 - ld [$ff8c], a + ld [H_SPRITEINDEX], a call SetSpriteMovementBytesToFF ld a, [W_XCOORD] cp $25 @@ -143,7 +143,7 @@ SSAnne2Script2: ; 6146d (18:546d) ld de, MovementData_614b7 .asm_6149a ld a, $2 - ld [$ff8c], a + ld [H_SPRITEINDEX], a call MoveSprite ld a, $ff ld [wc0ee], a diff --git a/scripts/ssanne8.asm b/scripts/ssanne8.asm index 27c76a2f..7885135b 100755 --- a/scripts/ssanne8.asm +++ b/scripts/ssanne8.asm @@ -22,7 +22,7 @@ SSAnne8TextPointers: ; 6198f (18:598f) dw SSAnne8Text7 dw SSAnne8Text8 dw SSAnne8Text9 - dw Predef5CText + dw PickUpItemText dw SSAnne8Text11 SSAnne8TrainerHeaders: ; 619a5 (18:59a5) diff --git a/scripts/ssanne9.asm b/scripts/ssanne9.asm index 6e8b86c6..0cee1e08 100755 --- a/scripts/ssanne9.asm +++ b/scripts/ssanne9.asm @@ -21,10 +21,10 @@ SSAnne9TextPointers: ; 61b6a (18:5b6a) dw SSAnne9Text3 dw SSAnne9Text4 dw SSAnne9Text5 - dw Predef5CText + dw PickUpItemText dw SSAnne9Text7 dw SSAnne9Text8 - dw Predef5CText + dw PickUpItemText dw SSAnne9Text10 dw SSAnne9Text11 dw SSAnne9Text12 diff --git a/scripts/tradecenter.asm b/scripts/tradecenter.asm index 0a5cc100..22a61095 100755 --- a/scripts/tradecenter.asm +++ b/scripts/tradecenter.asm @@ -2,13 +2,13 @@ TradeCenterScript: ; 4fd10 (13:7d10) call EnableAutoTextBoxDrawing ld a, [$ffaa] cp $2 - ld a, $8 - jr z, .asm_4fd1d - ld a, $c -.asm_4fd1d - ld [$ff8d], a + ld a, SPRITE_FACING_LEFT + jr z, .next + ld a, SPRITE_FACING_RIGHT +.next + ld [hSpriteFacingDirection], a ld a, $1 - ld [$ff8c], a + ld [H_SPRITEINDEX], a call SetSpriteFacingDirection ld hl, wd72d bit 0, [hl] diff --git a/scripts/unknowndungeon1.asm b/scripts/unknowndungeon1.asm index 008a7bd7..696ddafa 100755 --- a/scripts/unknowndungeon1.asm +++ b/scripts/unknowndungeon1.asm @@ -2,6 +2,6 @@ UnknownDungeon1Script: ; 74d0c (1d:4d0c) jp EnableAutoTextBoxDrawing UnknownDungeon1TextPointers: ; 74d0f (1d:4d0f) - dw Predef5CText - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText diff --git a/scripts/unknowndungeon2.asm b/scripts/unknowndungeon2.asm index c8249b27..f3cbb6a5 100755 --- a/scripts/unknowndungeon2.asm +++ b/scripts/unknowndungeon2.asm @@ -2,6 +2,6 @@ UnknownDungeon2Script: ; 45e0b (11:5e0b) jp EnableAutoTextBoxDrawing UnknownDungeon2TextPointers: ; 45e0e (11:5e0e) - dw Predef5CText - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText diff --git a/scripts/unknowndungeon3.asm b/scripts/unknowndungeon3.asm index 055c9d0f..1c87aa39 100755 --- a/scripts/unknowndungeon3.asm +++ b/scripts/unknowndungeon3.asm @@ -14,8 +14,8 @@ UnknownDungeon3ScriptPointers: ; 45f03 (11:5f03) UnknownDungeon3TextPointers: ; 45f09 (11:5f09) dw UnknownDungeon3Text1 - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText UnknownDungeon3TrainerHeaders: ; 45f0f (11:5f0f) UnknownDungeon3TrainerHeader0: ; 45f0f (11:5f0f) diff --git a/scripts/vermilioncity.asm b/scripts/vermilioncity.asm index 83fe2a8c..6b9f94f7 100755 --- a/scripts/vermilioncity.asm +++ b/scripts/vermilioncity.asm @@ -49,7 +49,7 @@ VermilionCityScript0: ; 197e6 (6:57e6) ld [hJoyHeld], a ld [wcf0d], a ld a, $3 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, [wd803] bit 2, a diff --git a/scripts/vermiliongym.asm b/scripts/vermiliongym.asm index 3515c29c..193b3a06 100755 --- a/scripts/vermiliongym.asm +++ b/scripts/vermiliongym.asm @@ -64,7 +64,7 @@ VermilionGymScript3: ; 5ca9d (17:4a9d) VermilionGymScript_5caaa: ; 5caaa (17:4aaa) ld a, $6 - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld hl, wd773 set 7, [hl] @@ -72,14 +72,14 @@ VermilionGymScript_5caaa: ; 5caaa (17:4aaa) call GiveItem jr nc, .BagFull ld a, $7 - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld hl, wd773 set 6, [hl] jr .asm_5cad3 .BagFull ld a, $8 - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a call DisplayTextID .asm_5cad3 ld hl, W_OBTAINEDBADGES diff --git a/scripts/victoryroad1.asm b/scripts/victoryroad1.asm index 68a3502f..4f1df52f 100755 --- a/scripts/victoryroad1.asm +++ b/scripts/victoryroad1.asm @@ -43,8 +43,8 @@ CoordsData_5da5c: ; 5da5c (17:5a5c) VictoryRoad1TextPointers: ; 5da5f (17:5a5f) dw VictoryRoad1Text1 dw VictoryRoad1Text2 - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText dw BoulderText dw BoulderText dw BoulderText diff --git a/scripts/victoryroad2.asm b/scripts/victoryroad2.asm index 1fc2af7e..51346032 100755 --- a/scripts/victoryroad2.asm +++ b/scripts/victoryroad2.asm @@ -77,10 +77,10 @@ VictoryRoad2TextPointers: ; 5181b (14:581b) dw VictoryRoad2Text4 dw VictoryRoad2Text5 dw VictoryRoad2Text6 - dw Predef5CText - dw Predef5CText - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText dw BoulderText dw BoulderText dw BoulderText diff --git a/scripts/victoryroad3.asm b/scripts/victoryroad3.asm index 20b3df85..9aeb1d18 100755 --- a/scripts/victoryroad3.asm +++ b/scripts/victoryroad3.asm @@ -83,8 +83,8 @@ VictoryRoad3TextPointers: ; 44a24 (11:4a24) dw VictoryRoad3Text2 dw VictoryRoad3Text3 dw VictoryRoad3Text4 - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText dw BoulderText dw BoulderText dw BoulderText diff --git a/scripts/viridiancity.asm b/scripts/viridiancity.asm index 05f5f495..c358e961 100755 --- a/scripts/viridiancity.asm +++ b/scripts/viridiancity.asm @@ -32,7 +32,7 @@ ViridianCityScript_1900b: ; 1900b (6:500b) cp $20 ret nz ld a, $e - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID xor a ld [hJoyHeld], a @@ -52,7 +52,7 @@ ViridianCityScript_1903d: ; 1903d (6:503d) cp $13 ret nz ld a, $5 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID xor a ld [hJoyHeld], a @@ -98,7 +98,7 @@ ViridianCityScript2: ; 1908f (6:508f) xor a ld [wJoyIgnore], a ld a, $f - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID xor a ld [W_BATTLETYPE], a diff --git a/scripts/viridianforest.asm b/scripts/viridianforest.asm index 124d3184..554c2125 100755 --- a/scripts/viridianforest.asm +++ b/scripts/viridianforest.asm @@ -17,9 +17,9 @@ ViridianForestTextPointers: ; 61126 (18:5126) dw ViridianForestText2 dw ViridianForestText3 dw ViridianForestText4 - dw Predef5CText - dw Predef5CText - dw Predef5CText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText dw ViridianForestText8 dw ViridianForestText9 dw ViridianForestText10 diff --git a/scripts/viridiangym.asm b/scripts/viridiangym.asm index 9e5e0e5f..9a0ce855 100755 --- a/scripts/viridiangym.asm +++ b/scripts/viridiangym.asm @@ -140,7 +140,7 @@ ViridianGymScript3: ; 74988 (1d:4988) ld [wJoyIgnore], a ViridianGymScript3_74995: ; 74995 (1d:4995) ld a, $c - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld hl, wd751 set 1, [hl] @@ -148,14 +148,14 @@ ViridianGymScript3_74995: ; 74995 (1d:4995) call GiveItem jr nc, .BagFull ld a, $d - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld hl, wd751 set 0, [hl] jr .asm_749be .BagFull ld a, $e - ld [H_DOWNARROWBLINKCNT2], a + ld [hSpriteIndexOrTextID], a call DisplayTextID .asm_749be ld hl, W_OBTAINEDBADGES @@ -190,7 +190,7 @@ ViridianGymTextPointers: ; 749ec (1d:49ec) dw ViridianGymText8 dw ViridianGymText9 dw ViridianGymText10 - dw Predef5CText + dw PickUpItemText dw ViridianGymText12 dw ViridianGymText13 dw ViridianGymText14 diff --git a/scripts/viridianmart.asm b/scripts/viridianmart.asm index 9725e275..b6621684 100755 --- a/scripts/viridianmart.asm +++ b/scripts/viridianmart.asm @@ -28,7 +28,7 @@ ViridianMartScriptPointers: ; 1d495 (7:5495) ViridianMartScript0: ; 1d49b (7:549b) call UpdateSprites ld a, $4 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld hl, wSimulatedJoypadStatesEnd ld de, RLEMovement1d4bb @@ -51,7 +51,7 @@ ViridianMartScript1: ; 1d4c0 (7:54c0) ret nz call Delay3 ld a, $5 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ld bc, (OAKS_PARCEL << 8) + 1 call GiveItem diff --git a/text.asm b/text.asm index ecc3beea..db3e57c5 100644 --- a/text.asm +++ b/text.asm @@ -2087,7 +2087,7 @@ _ColosseumVersionText:: ENDC _Char00Text:: ; 8a696 (22:6696) - TX_NUM $FF8C,1,2 + TX_NUM hSpriteIndexOrTextID,1,2 text " ERROR." done diff --git a/wram.asm b/wram.asm index 6eef4ea8..8633e732 100755 --- a/wram.asm +++ b/wram.asm @@ -634,6 +634,11 @@ wOverrideSimulatedJoypadStatesMask:: ; cd3b ds 1 +wWhichBadge:: ; cd3d + +wMuseumPriceTemp:: ; cd3d +; 3-byte BCD number + wTitleMonSpecies:: ; cd3d wPlayerCharacterOAMTile:: ; cd3d @@ -1891,58 +1896,98 @@ W_MAPCONNECTIONS:: ; d370 W_MAPCONN1PTR:: ; d371 ds 1 -wd372:: ds 1 ; some connection stuff, too bothered to label it -wd373:: ds 1 -wd374:: ds 1 -wd375:: ds 1 -wd376:: ds 1 -wd377:: ds 1 -wd378:: ds 1 -wd379:: ds 1 -wd37a:: ds 1 -wd37b:: ds 1 +wNorthConnectionStripSrc:: ; d372 + ds 2 + +wNorthConnectionStripDest:: ; d374 + ds 2 + +wNorthConnectionStripWidth:: ; d376 + ds 1 + +wNorthConnectedMapWidth:: ; d377 + ds 1 + +wNorthConnectedMapYAlignment:: ; d378 + ds 1 + +wNorthConnectedMapXAlignment:: ; d379 + ds 1 + +wNorthConnectedMapViewPointer:: ; d37a + ds 2 W_MAPCONN2PTR:: ; d37c ds 1 -wd37d:: ds 1 -wd37e:: ds 1 -wd37f:: ds 1 -wd380:: ds 1 -wd381:: ds 1 -wd382:: ds 1 -wd383:: ds 1 -wd384:: ds 1 -wd385:: ds 1 -wd386:: ds 1 +wSouthConnectionStripSrc:: ; d37d + ds 2 + +wSouthConnectionStripDest:: ; d37f: + ds 2 + +wSouthConnectionStripWidth:: ; d381 + ds 1 + +wSouthConnectedMapWidth:: ; d382 + ds 1 + +wSouthConnectedMapYAlignment:: ; d383 + ds 1 + +wSouthConnectedMapXAlignment:: ; d384 + ds 1 + +wSouthConnectedMapViewPointer:: ; d385 + ds 2 W_MAPCONN3PTR:: ; d387 ds 1 -wd388:: ds 1 -wd389:: ds 1 -wd38a:: ds 1 -wd38b:: ds 1 -wd38c:: ds 1 -wd38d:: ds 1 -wd38e:: ds 1 -wd38f:: ds 1 -wd390:: ds 1 -wd391:: ds 1 +wWestConnectionStripSrc:: ; d388 + ds 2 + +wWestConnectionStripDest:: ; d38a + ds 2 + +wWestConnectionStripHeight:: ; d38c + ds 1 + +wWestConnectedMapWidth:: ; d38d + ds 1 + +wWestConnectedMapYAlignment:: ; d38e + ds 1 + +wWestConnectedMapXAlignment:: ; d38f + ds 1 + +wWestConnectedMapViewPointer:: ; d390 + ds 2 W_MAPCONN4PTR:: ; d392 ds 1 -wd393:: ds 1 -wd394:: ds 1 -wd395:: ds 1 -wd396:: ds 1 -wd397:: ds 1 -wd398:: ds 1 -wd399:: ds 1 -wd39a:: ds 1 -wd39b:: ds 1 -wd39c:: ds 1 +wEastConnectionStripSrc:: ; d393 + ds 2 + +wEastConnectionStripDest:: ; d395 + ds 2 + +wEastConnectionStripHeight:: ; d397 + ds 1 + +wEastConnectedMapWidth:: ; d398 + ds 1 + +wEastConnectedMapYAlignment:: ; d399 + ds 1 + +wEastConnectedMapXAlignment:: ; d39a + ds 1 + +wEastConnectedMapViewPointer:: ; d39b + ds 2 W_SPRITESET:: ; d39d ; sprite set for the current map (11 sprite picture ID's) -- cgit v1.3.1-sl0p From 525f1b96f390a7b7625574405cad56277f200ef3 Mon Sep 17 00:00:00 2001 From: YamaArashi Date: Fri, 7 Aug 2015 04:24:06 -0700 Subject: named CountSetBits output variable --- engine/hidden_object_functions7.asm | 4 ++-- engine/menu/main_menu.asm | 4 ++-- engine/menu/pokedex.asm | 4 ++-- engine/overworld/oaks_aide.asm | 34 +++++++++++++++++----------------- engine/pokedex_rating.asm | 30 +++++++++++++++--------------- home.asm | 4 ++-- hram.asm | 13 +++++++++++++ scripts/celadonmansion3.asm | 2 +- scripts/oakslab.asm | 4 ++-- scripts/route11gateupstairs.asm | 8 ++++---- scripts/route15gateupstairs.asm | 8 ++++---- scripts/route2gate.asm | 8 ++++---- text.asm | 12 ++++++------ text/maps/oaks_lab.asm | 4 ++-- wram.asm | 2 ++ 15 files changed, 78 insertions(+), 63 deletions(-) (limited to 'text.asm') diff --git a/engine/hidden_object_functions7.asm b/engine/hidden_object_functions7.asm index e3c296ca..0753531e 100755 --- a/engine/hidden_object_functions7.asm +++ b/engine/hidden_object_functions7.asm @@ -19,8 +19,8 @@ DisplayOakLabRightPoster: ; 1e965 (7:6965) ld hl, wPokedexOwned ld b, wPokedexOwnedEnd - wPokedexOwned call CountSetBits - ld a, [wd11e] - cp $2 + ld a, [wNumSetBits] + cp 2 tx_pre_id SaveOptionText jr c, .ownThreeOrMoreMon tx_pre_id StrengthsAndWeaknessesText diff --git a/engine/menu/main_menu.asm b/engine/menu/main_menu.asm index f99e5b80..b8896d79 100755 --- a/engine/menu/main_menu.asm +++ b/engine/menu/main_menu.asm @@ -395,7 +395,7 @@ PrintNumBadges: ; 5e2f (1:5e2f) ld b, $1 call CountSetBits pop hl - ld de, wd11e + ld de, wNumSetBits lb bc, 1, 2 jp PrintNumber @@ -405,7 +405,7 @@ PrintNumOwnedMons: ; 5e42 (1:5e42) ld b, wPokedexOwnedEnd - wPokedexOwned call CountSetBits pop hl - ld de, wd11e + ld de, wNumSetBits lb bc, 1, 3 jp PrintNumber diff --git a/engine/menu/pokedex.asm b/engine/menu/pokedex.asm index ead2c359..b5ebd83e 100755 --- a/engine/menu/pokedex.asm +++ b/engine/menu/pokedex.asm @@ -169,14 +169,14 @@ HandlePokedexListMenu: ; 40111 (10:4111) ld hl,wPokedexSeen ld b,wPokedexSeenEnd - wPokedexSeen call CountSetBits - ld de,wd11e + ld de, wNumSetBits coord hl, 16, 3 lb bc, 1, 3 call PrintNumber ; print number of seen pokemon ld hl,wPokedexOwned ld b,wPokedexOwnedEnd - wPokedexOwned call CountSetBits - ld de,wd11e + ld de, wNumSetBits coord hl, 16, 6 lb bc, 1, 3 call PrintNumber ; print number of owned pokemon diff --git a/engine/overworld/oaks_aide.asm b/engine/overworld/oaks_aide.asm index 00f6ea82..31832315 100755 --- a/engine/overworld/oaks_aide.asm +++ b/engine/overworld/oaks_aide.asm @@ -4,45 +4,45 @@ OaksAideScript: ; 0x59035 call YesNoChoice ld a, [wCurrentMenuItem] and a - jr nz, .asm_59086 + jr nz, .choseNo ld hl, wPokedexOwned ld b, wPokedexOwnedEnd - wPokedexOwned call CountSetBits - ld a, [wd11e] - ld [$ffdd], a + ld a, [wNumSetBits] + ld [hOaksAideNumMonsOwned], a ld b, a - ld a, [$ffdb] + ld a, [hOaksAideRequirement] cp b - jr z, .asm_59059 - jr nc, .asm_5907c -.asm_59059 + jr z, .giveItem + jr nc, .notEnoughOwnedMons +.giveItem ld hl, OaksAideHereYouGoText call PrintText - ld a, [$ffdc] + ld a, [hOaksAideItemReward] ld b, a ld c, 1 call GiveItem - jr nc, .BagFull + jr nc, .bagFull ld hl, OaksAideGotItemText call PrintText ld a, $1 - jr .asm_5908e -.BagFull + jr .done +.bagFull ld hl, OaksAideNoRoomText call PrintText xor a - jr .asm_5908e -.asm_5907c + jr .done +.notEnoughOwnedMons ld hl, OaksAideUhOhText call PrintText ld a, $80 - jr .asm_5908e -.asm_59086 + jr .done +.choseNo ld hl, OaksAideComeBackText call PrintText ld a, $ff -.asm_5908e - ld [$ffdb], a +.done + ld [hOaksAideResult], a ret OaksAideHiText: ; 59091 (16:5091) diff --git a/engine/pokedex_rating.asm b/engine/pokedex_rating.asm index ca88673f..265eff40 100755 --- a/engine/pokedex_rating.asm +++ b/engine/pokedex_rating.asm @@ -2,18 +2,18 @@ DisplayDexRating: ; 44169 (11:4169) ld hl, wPokedexSeen ld b, wPokedexSeenEnd - wPokedexSeen call CountSetBits - ld a, [wd11e] ; result of CountSetBits (seen count) - ld [$FFDB], a + ld a, [wNumSetBits] + ld [hDexRatingNumMonsSeen], a ld hl, wPokedexOwned ld b, wPokedexOwnedEnd - wPokedexOwned call CountSetBits - ld a, [wd11e] ; result of CountSetBits (own count) - ld [$FFDC], a + ld a, [wNumSetBits] + ld [hDexRatingNumMonsOwned], a ld hl, DexRatingsTable .findRating ld a, [hli] ld b, a - ld a, [$FFDC] ; number of pokemon owned + ld a, [hDexRatingNumMonsOwned] cp b jr c, .foundRating inc hl @@ -24,30 +24,30 @@ DisplayDexRating: ; 44169 (11:4169) ld h, [hl] ld l, a ; load text pointer into hl CheckAndResetEventA EVENT_HALL_OF_FAME_DEX_RATING - jr nz, .label3 + jr nz, .hallOfFame push hl ld hl, PokedexRatingText_441cc call PrintText pop hl call PrintText callba PlayPokedexRatingSfx - jp WaitForTextScrollButtonPress ; wait for button press -.label3 + jp WaitForTextScrollButtonPress +.hallOfFame ld de, wcc5b - ld a, [$FFDB] + ld a, [hDexRatingNumMonsSeen] ld [de], a inc de - ld a, [$FFDC] + ld a, [hDexRatingNumMonsOwned] ld [de], a inc de -.label4 +.copyRatingTextLoop ld a, [hli] - cp a, $50 - jr z, .label5 + cp a, "@" + jr z, .doneCopying ld [de], a inc de - jr .label4 -.label5 + jr .copyRatingTextLoop +.doneCopying ld [de], a ret diff --git a/home.asm b/home.asm index 2753307b..b33fbd4a 100644 --- a/home.asm +++ b/home.asm @@ -1292,7 +1292,7 @@ INCLUDE "engine/menu/start_menu.asm" ; hl = address of string of bytes ; b = length of string of bytes ; OUTPUT: -; [wd11e] = number of set bits +; [wNumSetBits] = number of set bits CountSetBits:: ; 2b7f (0:2b7f) ld c,0 .loop @@ -1309,7 +1309,7 @@ CountSetBits:: ; 2b7f (0:2b7f) dec b jr nz,.loop ld a,c - ld [wd11e],a ; store number of set bits + ld [wNumSetBits],a ret ; subtracts the amount the player paid from their money diff --git a/hram.asm b/hram.asm index 12806771..2f70b91a 100644 --- a/hram.asm +++ b/hram.asm @@ -273,6 +273,19 @@ hGymGateIndex EQU $FFDB hGymTrashCanRandNumMask EQU $FFDB +hDexRatingNumMonsSeen EQU $FFDB +hDexRatingNumMonsOwned EQU $FFDC + +; $00 = bag full +; $01 = got item +; $80 = didn't meet required number of owned mons +; $FF = player cancelled +hOaksAideResult EQU $FFDB + +hOaksAideRequirement EQU $FFDB ; required number of owned mons +hOaksAideItemReward EQU $FFDC +hOaksAideNumMonsOwned EQU $FFDD + hItemToRemoveID EQU $FFDB hItemToRemoveIndex EQU $FFDC diff --git a/scripts/celadonmansion3.asm b/scripts/celadonmansion3.asm index 0dadd20a..11a8646d 100755 --- a/scripts/celadonmansion3.asm +++ b/scripts/celadonmansion3.asm @@ -30,7 +30,7 @@ DirectorText: ; 487b2 (12:47b2) ld hl, wPokedexOwned ld b, wPokedexOwnedEnd - wPokedexOwned call CountSetBits - ld a, [wd11e] + ld a, [wNumSetBits] cp 150 jr nc, .CompletedDex ld hl, .GameDesigner diff --git a/scripts/oakslab.asm b/scripts/oakslab.asm index 996ab754..c52f00cf 100755 --- a/scripts/oakslab.asm +++ b/scripts/oakslab.asm @@ -969,8 +969,8 @@ OaksLabText5: ; 1d248 (7:5248) ld hl, wPokedexOwned ld b, wPokedexOwnedEnd - wPokedexOwned call CountSetBits - ld a, [wd11e] - cp $2 + ld a, [wNumSetBits] + cp 2 jr c, .asm_1d279 CheckEvent EVENT_GOT_POKEDEX jr z, .asm_1d279 diff --git a/scripts/route11gateupstairs.asm b/scripts/route11gateupstairs.asm index 9bae1398..a1906c5d 100755 --- a/scripts/route11gateupstairs.asm +++ b/scripts/route11gateupstairs.asm @@ -20,9 +20,9 @@ Route11GateUpstairsText2: ; 4946c (12:546c) CheckEvent EVENT_GOT_ITEMFINDER, 1 jr c, .asm_4949b ld a, 30 ; pokemon needed - ld [$ffdb], a + ld [hOaksAideRequirement], a ld a, ITEMFINDER ; oak's aide reward - ld [$ffdc], a + ld [hOaksAideItemReward], a ld [wd11e], a call GetItemName ld h, d @@ -30,8 +30,8 @@ Route11GateUpstairsText2: ; 4946c (12:546c) ld de, wcc5b ld bc, $000d call CopyData - predef OaksAideScript ; call oak's aide script - ld a, [$ffdb] + predef OaksAideScript + ld a, [hOaksAideResult] dec a jr nz, .asm_494a1 SetEvent EVENT_GOT_ITEMFINDER diff --git a/scripts/route15gateupstairs.asm b/scripts/route15gateupstairs.asm index cedabdc0..0fc806da 100755 --- a/scripts/route15gateupstairs.asm +++ b/scripts/route15gateupstairs.asm @@ -10,17 +10,17 @@ Route15GateUpstairsText1: ; 49651 (12:5651) CheckEvent EVENT_GOT_EXP_ALL jr nz, .asm_49683 ld a, 50 ; pokemon needed - ld [$ffdb], a + ld [hOaksAideRequirement], a ld a, EXP__ALL ; oak's aide reward - ld [$ffdc], a + ld [hOaksAideItemReward], a ld [wd11e], a call GetItemName ld hl, wcd6d ld de, wcc5b ld bc, $000d call CopyData - predef OaksAideScript ; call oak's aide script - ld a, [$ffdb] + predef OaksAideScript + ld a, [hOaksAideResult] cp $1 jr nz, .asm_49689 SetEvent EVENT_GOT_EXP_ALL diff --git a/scripts/route2gate.asm b/scripts/route2gate.asm index 789482dc..65d53bc7 100755 --- a/scripts/route2gate.asm +++ b/scripts/route2gate.asm @@ -10,17 +10,17 @@ Route2GateText1: ; 5d5db (17:55db) CheckEvent EVENT_GOT_HM05 jr nz, .asm_5d60d ld a, 10 ; pokemon needed - ld [$ffdb], a + ld [hOaksAideRequirement], a ld a, HM_05 ; oak's aide reward - ld [$ffdc], a + ld [hOaksAideItemReward], a ld [wd11e], a call GetItemName ld hl, wcd6d ld de, wcc5b ld bc, $000d call CopyData - predef OaksAideScript ; call oak's aide script - ld a, [$ffdb] + predef OaksAideScript + ld a, [hOaksAideResult] cp $1 jr nz, .asm_5d613 SetEvent EVENT_GOT_HM05 diff --git a/text.asm b/text.asm index db3e57c5..8b0482f3 100644 --- a/text.asm +++ b/text.asm @@ -94,7 +94,7 @@ _OaksAideHiText:: ; 80143 (20:4143) cont "AIDE!" para "If you caught @" - TX_NUM $ffdb, 1, 3 + TX_NUM hOaksAideRequirement, 1, 3 db $0 line "kinds of #MON," cont "I'm supposed to" @@ -106,7 +106,7 @@ _OaksAideHiText:: ; 80143 (20:4143) para "So, ", $52, "! Have" line "you caught at" cont "least @" - TX_NUM $ffdb, 1, 3 + TX_NUM hOaksAideRequirement, 1, 3 text " kinds of" cont "#MON?" done @@ -115,12 +115,12 @@ _OaksAideUhOhText:: ; 801e4 (20:41e4) text "Let's see..." line "Uh-oh! You have" cont "caught only @" - TX_NUM $ffdd, 1, 3 + TX_NUM hOaksAideNumMonsOwned, 1, 3 db $0 cont "kinds of #MON!" para "You need @" - TX_NUM $ffdb, 1, 3 + TX_NUM hOaksAideRequirement, 1, 3 text " kinds" line "if you want the" cont "@" @@ -132,7 +132,7 @@ _OaksAideComeBackText:: ; 80250 (20:4250) text "Oh. I see." para "When you get @" - TX_NUM $ffdb, 1, 3 + TX_NUM hOaksAideRequirement, 1, 3 db $0 line "kinds, come back" cont "for @" @@ -143,7 +143,7 @@ _OaksAideComeBackText:: ; 80250 (20:4250) _OaksAideHereYouGoText:: ; 8028c (20:428c) text "Great! You have" line "caught @" - TX_NUM $ffdd, 1, 3 + TX_NUM hOaksAideNumMonsOwned, 1, 3 text " kinds " cont "of #MON!" cont "Congratulations!" diff --git a/text/maps/oaks_lab.asm b/text/maps/oaks_lab.asm index 58f55b85..6a3c6da6 100644 --- a/text/maps/oaks_lab.asm +++ b/text/maps/oaks_lab.asm @@ -547,10 +547,10 @@ _OaksLabText_441cc:: ; 9580c (25:580c) line "letion is:" para "@" - TX_NUM $ffdb, 1, 3 + TX_NUM hDexRatingNumMonsSeen, 1, 3 text " #MON seen" line "@" - TX_NUM $ffdc, 1, 3 + TX_NUM hDexRatingNumMonsOwned, 1, 3 text " #MON owned" para "PROF.OAK's" diff --git a/wram.asm b/wram.asm index c470d6a4..690ffef9 100755 --- a/wram.asm +++ b/wram.asm @@ -1882,6 +1882,8 @@ wFirstMonsNotOutYet:: ; d11d ; which will be the first mon sent out. ds 1 +wNumSetBits:: ; d11e + wd11e:: ds 1 ; used as a Pokemon and Item storage value. Also used as an output value for CountSetBits wForcePlayerToChooseMon:: ; d11f -- cgit v1.3.1-sl0p From 132d0367522b7acce602b146ca69bfad87ef96c6 Mon Sep 17 00:00:00 2001 From: YamaArashi Date: Wed, 12 Aug 2015 22:14:31 -0700 Subject: named more variables --- engine/battle/experience.asm | 8 +-- engine/cable_club.asm | 2 +- engine/game_corner_slots2.asm | 2 +- engine/hall_of_fame.asm | 2 +- engine/items/items.asm | 2 +- engine/menu/main_menu.asm | 2 +- engine/mon_party_sprites.asm | 10 ++-- engine/overworld/cinnabar_lab.asm | 16 +++--- engine/overworld/hidden_items.asm | 2 +- engine/overworld/oaks_aide.asm | 2 +- engine/pokedex_rating.asm | 2 +- engine/predefs.asm | 2 +- engine/predefs7.asm | 2 +- engine/save.asm | 6 +-- engine/titlescreen.asm | 2 +- engine/trade.asm | 2 +- home.asm | 2 +- hram.asm | 4 +- main.asm | 14 +++--- scripts/celadonmartelevator.asm | 2 +- scripts/celadonmartroof.asm | 102 +++++++++++++++++++------------------- scripts/ceruleanhousetrashed.asm | 2 +- scripts/lab4.asm | 15 +++--- scripts/oakslab.asm | 16 +++--- scripts/rockethideoutelevator.asm | 2 +- scripts/route11gateupstairs.asm | 4 +- scripts/route15gateupstairs.asm | 4 +- scripts/route2gate.asm | 4 +- scripts/silphcoelevator.asm | 2 +- scripts/vermilioncity.asm | 4 +- scripts/vermiliondock.asm | 26 ++++++---- text.asm | 16 +++--- wram.asm | 44 +++++++++++++--- 33 files changed, 185 insertions(+), 142 deletions(-) (limited to 'text.asm') diff --git a/engine/battle/experience.asm b/engine/battle/experience.asm index 433588e3..ab3e3c19 100644 --- a/engine/battle/experience.asm +++ b/engine/battle/experience.asm @@ -76,11 +76,11 @@ GainExperience: ; 5524f (15:524f) ld b, [hl] ld a, [wPlayerID + 1] cp b - ld a, $0 + ld a, 0 jr z, .next .tradedMon call BoostExp ; traded mon exp boost - ld a, $1 + ld a, 1 .next ld [wGainBoostedExp], a ld a, [W_ISINBATTLE] @@ -92,12 +92,12 @@ GainExperience: ; 5524f (15:524f) ; add the gained exp to the party mon's exp ld b, [hl] ld a, [H_QUOTIENT + 3] - ld [wcf4c], a + ld [wExpAmountGained + 1], a add b ld [hld], a ld b, [hl] ld a, [H_QUOTIENT + 2] - ld [wcf4b], a + ld [wExpAmountGained], a adc b ld [hl], a jr nc, .noCarry diff --git a/engine/cable_club.asm b/engine/cable_club.asm index 0759bd11..465561ca 100755 --- a/engine/cable_club.asm +++ b/engine/cable_club.asm @@ -836,7 +836,7 @@ TradeCenter_Trade: call ClearScreen call LoadHpBarAndStatusTilePatterns xor a - ld [wcc5b], a + ld [wUnusedCC5B], a ld a, [hSerialConnectionStatus] cp USING_EXTERNAL_CLOCK jr z, .usingExternalClock diff --git a/engine/game_corner_slots2.asm b/engine/game_corner_slots2.asm index 643536ea..58386ba1 100755 --- a/engine/game_corner_slots2.asm +++ b/engine/game_corner_slots2.asm @@ -3,7 +3,7 @@ AbleToPlaySlotsCheck: ; 2ff09 (b:7f09) and $8 jr z, .done ; not able ld b, COIN_CASE - predef IsItemInBag_ ; IsItemInBag_ + predef GetQuantityOfItemInBag ld a, b and a ld b, (GameCornerCoinCaseText_id - TextPredefs) / 2 + 1 diff --git a/engine/hall_of_fame.asm b/engine/hall_of_fame.asm index c329c1a9..d95c01c5 100755 --- a/engine/hall_of_fame.asm +++ b/engine/hall_of_fame.asm @@ -243,7 +243,7 @@ HoFDisplayPlayerStats: ; 70377 (1c:4377) call HoFPrintTextAndDelay ld hl, DexRatingText call HoFPrintTextAndDelay - ld hl, wcc5d + ld hl, wDexRatingText HoFPrintTextAndDelay: ; 703e2 (1c:43e2) call PrintText diff --git a/engine/items/items.asm b/engine/items/items.asm index 418b21da..1a342d97 100755 --- a/engine/items/items.asm +++ b/engine/items/items.asm @@ -1324,7 +1324,7 @@ ItemUseRock: ; df67 (3:5f67) BaitRockCommon: ; df7f (3:5f7f) ld [W_ANIMATIONID],a xor a - ld [wcc5b],a + ld [wAnimationType],a ld [H_WHOSETURN],a ld [de],a ; zero escape factor (for bait), zero bait factor (for rock) .randomLoop ; loop until a random number less than 5 is generated diff --git a/engine/menu/main_menu.asm b/engine/menu/main_menu.asm index bff0fbe7..6c109cec 100755 --- a/engine/menu/main_menu.asm +++ b/engine/menu/main_menu.asm @@ -150,7 +150,7 @@ LinkMenu: ; 5c0a (1:5c0a) ld de, CableClubOptionsText call PlaceString xor a - ld [wcd37], a + ld [wUnusedCD37], a ld [wd72d], a ld hl, wTopMenuItemY ld a, $7 diff --git a/engine/mon_party_sprites.asm b/engine/mon_party_sprites.asm index c0163b1e..185151cb 100755 --- a/engine/mon_party_sprites.asm +++ b/engine/mon_party_sprites.asm @@ -13,7 +13,7 @@ AnimatePartyMon: ; 716ff (1c:56ff) ld hl, wPartyMenuHPBarColors ld a, [wCurrentMenuItem] ld c, a - ld b, $0 + ld b, 0 add hl, bc ld a, [hl] @@ -42,7 +42,7 @@ GetAnimationSpeed: ; 7170a (1c:570a) jp DelayFrame .resetSprites push bc - ld hl, wcc5b + ld hl, wMonPartySpritesSavedOAM ld de, wOAMBuffer ld bc, $60 call CopyData @@ -86,7 +86,7 @@ GetAnimationSpeed: ; 7170a (1c:570a) ; that each frame lasts for green HP, yellow HP, and red HP in order. ; On the naming screen, the yellow HP speed is always used. PartyMonSpeeds: ; 71769 (1c:5769) - db $05,$10,$20 + db 5, 16, 32 LoadMonPartySpriteGfx: ; 7176c (1c:576c) ; Load mon party sprite tile patterns into VRAM during V-blank. @@ -372,7 +372,7 @@ UnusedPartyMonSpriteFunction: ; 71890 (1c:5890) WriteMonPartySpriteOAM: ; 718c3 (1c:58c3) ; Write the OAM blocks for the first animation frame into the OAM buffer and -; make a copy at wcc5b. +; make a copy at wMonPartySpritesSavedOAM. push af ld c, $10 ld h, wOAMBuffer / $100 @@ -392,7 +392,7 @@ WriteMonPartySpriteOAM: ; 718c3 (1c:58c3) ; we can flip back to it from the second frame by copying it back. .makeCopy ld hl, wOAMBuffer - ld de, wcc5b + ld de, wMonPartySpritesSavedOAM ld bc, $60 jp CopyData diff --git a/engine/overworld/cinnabar_lab.asm b/engine/overworld/cinnabar_lab.asm index 5337255c..f81324e0 100755 --- a/engine/overworld/cinnabar_lab.asm +++ b/engine/overworld/cinnabar_lab.asm @@ -5,14 +5,14 @@ GiveFossilToCinnabarLab: ; 61006 (18:5006) ld [wCurrentMenuItem], a ld a, A_BUTTON | B_BUTTON ld [wMenuWatchedKeys], a - ld a, [wcd37] + ld a, [wFilteredBagItemsCount] dec a ld [wMaxMenuItem], a ld a, 2 ld [wTopMenuItemY], a ld a, 1 ld [wTopMenuItemX], a - ld a, [wcd37] + ld a, [wFilteredBagItemsCount] dec a ld bc, 2 ld hl, 3 @@ -29,9 +29,9 @@ GiveFossilToCinnabarLab: ; 61006 (18:5006) call HandleMenuInput bit 1, a ; pressed B? jr nz, .cancelledGivingFossil - ld hl, wcc5b + ld hl, wFilteredBagItems ld a, [wCurrentMenuItem] - ld d, $0 + ld d, 0 ld e, a add hl, de ld a, [hl] @@ -90,9 +90,9 @@ LabFossil_610bd: ; 610bd (18:50bd) PrintFossilsInBag: ; 610c2 (18:50c2) ; Prints each fossil in the player's bag on a separate line in the menu. - ld hl, wcc5b + ld hl, wFilteredBagItems xor a - ld [hFossilCounter], a + ld [hItemCounter], a .loop ld a, [hli] cp $ff @@ -101,12 +101,12 @@ PrintFossilsInBag: ; 610c2 (18:50c2) ld [wd11e], a call GetItemName coord hl, 2, 2 - ld a, [hFossilCounter] + ld a, [hItemCounter] ld bc, SCREEN_WIDTH * 2 call AddNTimes ld de, wcd6d call PlaceString - ld hl, hFossilCounter + ld hl, hItemCounter inc [hl] pop hl jr .loop diff --git a/engine/overworld/hidden_items.asm b/engine/overworld/hidden_items.asm index 1203dd2a..28528116 100755 --- a/engine/overworld/hidden_items.asm +++ b/engine/overworld/hidden_items.asm @@ -51,7 +51,7 @@ HiddenItemBagFullText: ; 76794 (1d:6794) HiddenCoins: ; 76799 (1d:6799) ld b, COIN_CASE - predef IsItemInBag_ + predef GetQuantityOfItemInBag ld a, b and a ret z diff --git a/engine/overworld/oaks_aide.asm b/engine/overworld/oaks_aide.asm index 31832315..8ac456d2 100755 --- a/engine/overworld/oaks_aide.asm +++ b/engine/overworld/oaks_aide.asm @@ -18,7 +18,7 @@ OaksAideScript: ; 0x59035 .giveItem ld hl, OaksAideHereYouGoText call PrintText - ld a, [hOaksAideItemReward] + ld a, [hOaksAideRewardItem] ld b, a ld c, 1 call GiveItem diff --git a/engine/pokedex_rating.asm b/engine/pokedex_rating.asm index 265eff40..73025f0a 100755 --- a/engine/pokedex_rating.asm +++ b/engine/pokedex_rating.asm @@ -33,7 +33,7 @@ DisplayDexRating: ; 44169 (11:4169) callba PlayPokedexRatingSfx jp WaitForTextScrollButtonPress .hallOfFame - ld de, wcc5b + ld de, wDexRatingNumMonsSeen ld a, [hDexRatingNumMonsSeen] ld [de], a inc de diff --git a/engine/predefs.asm b/engine/predefs.asm index 0abdb5b3..16533751 100755 --- a/engine/predefs.asm +++ b/engine/predefs.asm @@ -80,7 +80,7 @@ PredefPointers:: ; 4fe79 (13:7e79) add_predef LoadTilesetHeader add_predef LearnMoveFromLevelUp add_predef LearnMove - add_predef IsItemInBag_ + add_predef GetQuantityOfItemInBag dbw $03,CheckForHiddenObjectOrBookshelfOrCardKeyDoor ; for these two, the bank number is actually 0 dbw $03,GiveItem add_predef ChangeBGPalColor0_4Frames diff --git a/engine/predefs7.asm b/engine/predefs7.asm index bf31772c..a2c08171 100755 --- a/engine/predefs7.asm +++ b/engine/predefs7.asm @@ -21,7 +21,7 @@ DisplayElevatorFloorMenu: ; 1c9c6 (7:49c6) ret c ld hl, wd126 set 7, [hl] - ld hl, wcc5b + ld hl, wElevatorWarpMaps ld a, [wWhichPokemon] add a ld d, 0 diff --git a/engine/save.asm b/engine/save.asm index ae895d96..a7b2a7c0 100755 --- a/engine/save.asm +++ b/engine/save.asm @@ -644,7 +644,7 @@ SaveHallOfFameTeams: ; 73b0d (1c:7b0d) call AddNTimes ld e, l ld d, h - ld hl, wcc5b + ld hl, wHallOfFame ld bc, HOF_TEAM jr HallOfFame_Copy @@ -653,7 +653,7 @@ SaveHallOfFameTeams: ; 73b0d (1c:7b0d) ld de, sHallOfFame ld bc, HOF_TEAM * (HOF_TEAM_CAPACITY - 1) call HallOfFame_Copy - ld hl, wcc5b + ld hl, wHallOfFame ld de, sHallOfFame + HOF_TEAM * (HOF_TEAM_CAPACITY - 1) ld bc, HOF_TEAM jr HallOfFame_Copy @@ -663,7 +663,7 @@ LoadHallOfFameTeams: ; 73b3f (1c:7b3f) ld bc, HOF_TEAM ld a, [wHoFTeamIndex] call AddNTimes - ld de, wcc5b + ld de, wHallOfFame ld bc, HOF_TEAM ; fallthrough diff --git a/engine/titlescreen.asm b/engine/titlescreen.asm index a75d3dcf..b0bf0fb6 100755 --- a/engine/titlescreen.asm +++ b/engine/titlescreen.asm @@ -215,7 +215,7 @@ ENDC ld [wNewSoundID], a call PlaySound xor a - ld [wcc5b], a + ld [wUnusedCC5B], a ; Keep scrolling in new mons indefinitely until the user performs input. .awaitUserInterruptionLoop diff --git a/engine/trade.asm b/engine/trade.asm index 16a3d6a9..0e816e05 100755 --- a/engine/trade.asm +++ b/engine/trade.asm @@ -849,5 +849,5 @@ TradeforText: ; 41671 (10:5671) Trade_ShowAnimation: ; 41676 (10:5676) ld [W_ANIMATIONID], a xor a - ld [wcc5b], a + ld [wAnimationType], a predef_jump MoveAnimation diff --git a/home.asm b/home.asm index 3206a7ad..0d7c5271 100644 --- a/home.asm +++ b/home.asm @@ -2706,7 +2706,7 @@ IsItemInBag:: ; 3493 (0:3493) ; set zero flag if item isn't in player's bag ; else reset zero flag ; related to Pokémon Tower and ghosts - predef IsItemInBag_ + predef GetQuantityOfItemInBag ld a,b and a ret diff --git a/hram.asm b/hram.asm index 77fb7c1e..c1fb4c4c 100644 --- a/hram.asm +++ b/hram.asm @@ -269,7 +269,7 @@ hMovingBGTilesCounter1 EQU $FFD8 H_CURRENTSPRITEOFFSET EQU $FFDA ; multiple of $10 -hFossilCounter EQU $FFDB +hItemCounter EQU $FFDB hGymGateIndex EQU $FFDB @@ -285,7 +285,7 @@ hDexRatingNumMonsOwned EQU $FFDC hOaksAideResult EQU $FFDB hOaksAideRequirement EQU $FFDB ; required number of owned mons -hOaksAideItemReward EQU $FFDC +hOaksAideRewardItem EQU $FFDC hOaksAideNumMonsOwned EQU $FFDD hItemToRemoveID EQU $FFDB diff --git a/main.asm b/main.asm index a61c433b..6db76b46 100755 --- a/main.asm +++ b/main.asm @@ -4508,21 +4508,23 @@ InitializeEmptyList: ret -IsItemInBag_: ; f8a5 (3:78a5) +GetQuantityOfItemInBag: ; f8a5 (3:78a5) +; In: b = item ID +; Out: b = how many of that item are in the bag call GetPredefRegisters ld hl, wNumBagItems -.asm_f8ab +.loop inc hl ld a, [hli] cp $ff - jr z, .asm_f8b7 + jr z, .notInBag cp b - jr nz, .asm_f8ab + jr nz, .loop ld a, [hl] ld b, a ret -.asm_f8b7 - ld b, $0 +.notInBag + ld b, 0 ret FindPathToPlayer: ; f8ba (3:78ba) diff --git a/scripts/celadonmartelevator.asm b/scripts/celadonmartelevator.asm index 9295d8e6..6d901613 100755 --- a/scripts/celadonmartelevator.asm +++ b/scripts/celadonmartelevator.asm @@ -35,7 +35,7 @@ CeladonMartElevatorScript_48631: ; 48631 (12:4631) ld hl, CeladonMartElavatorFloors call LoadItemList ld hl, CeldaonMartElevatorWarpMaps - ld de, wcc5b + ld de, wElevatorWarpMaps ld bc, CeldaonMartElevatorWarpMapsEnd - CeldaonMartElevatorWarpMaps jp CopyData diff --git a/scripts/celadonmartroof.asm b/scripts/celadonmartroof.asm index 4a90535a..439ab62e 100755 --- a/scripts/celadonmartroof.asm +++ b/scripts/celadonmartroof.asm @@ -1,34 +1,35 @@ CeladonMartRoofScript: ; 483d5 (12:43d5) jp EnableAutoTextBoxDrawing -CeladonMartRoofScript_483d8: ; 483d8 (12:43d8) +CeladonMartRoofScript_GetDrinksInBag: ; 483d8 (12:43d8) +; construct a list of all drinks in the player's bag xor a - ld [wcd37], a - ld de, wcc5b + ld [wFilteredBagItemsCount], a + ld de, wFilteredBagItems ld hl, CeladonMartRoofDrinkList -.asm_483e2 +.loop ld a, [hli] and a - jr z, .asm_48404 + jr z, .done push hl push de ld [wd11e], a ld b, a - predef IsItemInBag_ + predef GetQuantityOfItemInBag pop de pop hl ld a, b and a - jr z, .asm_483e2 + jr z, .loop ; if the item isn't in the bag ld a, [wd11e] ld [de], a inc de push hl - ld hl, wcd37 + ld hl, wFilteredBagItemsCount inc [hl] pop hl - jr .asm_483e2 -.asm_48404 + jr .loop +.done ld a, $ff ld [de], a ret @@ -39,7 +40,7 @@ CeladonMartRoofDrinkList: ; 48408 (12:4408) db LEMONADE db $00 -CeladonMartRoofScript_4840c: ; 4840c (12:440c) +CeladonMartRoofScript_GiveDrinkToGirl: ; 4840c (12:440c) ld hl, wd730 set 6, [hl] ld hl, CeladonMartRoofText_484ee @@ -48,83 +49,84 @@ CeladonMartRoofScript_4840c: ; 4840c (12:440c) ld [wCurrentMenuItem], a ld a, A_BUTTON | B_BUTTON ld [wMenuWatchedKeys], a - ld a, [wcd37] + ld a, [wFilteredBagItemsCount] dec a ld [wMaxMenuItem], a - ld a, $2 + ld a, 2 ld [wTopMenuItemY], a - ld a, $1 + ld a, 1 ld [wTopMenuItemX], a - ld a, [wcd37] + ld a, [wFilteredBagItemsCount] dec a - ld bc, $2 - ld hl, $3 + ld bc, 2 + ld hl, 3 call AddNTimes dec l ld b, l - ld c, $c + ld c, 12 coord hl, 0, 0 call TextBoxBorder call UpdateSprites - call CeladonMartRoofScript_48532 + call CeladonMartRoofScript_PrintDrinksInBag ld hl, wd730 res 6, [hl] call HandleMenuInput bit 1, a ; pressed b ret nz - ld hl, wcc5b + ld hl, wFilteredBagItems ld a, [wCurrentMenuItem] - ld d, $0 + ld d, 0 ld e, a add hl, de ld a, [hl] - ld [$ffdb], a + ld [hItemToRemoveID], a cp FRESH_WATER - jr z, .asm_484b6 + jr z, .gaveFreshWater cp SODA_POP - jr z, .asm_48492 + jr z, .gaveSodaPop +; gave Lemonade CheckEvent EVENT_GOT_TM49 - jr nz, .asm_484e0 + jr nz, .alreadyGaveDrink ld hl, CeladonMartRoofText_48515 call PrintText call RemoveItemByIDBank12 lb bc, TM_49, 1 call GiveItem - jr nc, .BagFull + jr nc, .bagFull ld hl, ReceivedTM49Text call PrintText SetEvent EVENT_GOT_TM49 ret -.asm_48492 +.gaveSodaPop CheckEvent EVENT_GOT_TM48 - jr nz, .asm_484e0 + jr nz, .alreadyGaveDrink ld hl, CeladonMartRoofText_48504 call PrintText call RemoveItemByIDBank12 lb bc, TM_48, 1 call GiveItem - jr nc, .BagFull + jr nc, .bagFull ld hl, CeladonMartRoofText_4850a call PrintText SetEvent EVENT_GOT_TM48 ret -.asm_484b6 +.gaveFreshWater CheckEvent EVENT_GOT_TM13 - jr nz, .asm_484e0 + jr nz, .alreadyGaveDrink ld hl, CeladonMartRoofText_484f3 call PrintText call RemoveItemByIDBank12 lb bc, TM_13, 1 call GiveItem - jr nc, .BagFull + jr nc, .bagFull ld hl, CeladonMartRoofText_484f9 call PrintText SetEvent EVENT_GOT_TM13 ret -.BagFull +.bagFull ld hl, CeladonMartRoofText_48526 jp PrintText -.asm_484e0 +.alreadyGaveDrink ld hl, CeladonMartRoofText_4852c jp PrintText @@ -181,11 +183,11 @@ CeladonMartRoofText_4852c: ; 4852c (12:452c) db $0d db "@" -CeladonMartRoofScript_48532: ; 48532 (12:4532) - ld hl, wcc5b +CeladonMartRoofScript_PrintDrinksInBag: ; 48532 (12:4532) + ld hl, wFilteredBagItems xor a - ld [$ffdb], a -.asm_48538 + ld [hItemCounter], a +.loop ld a, [hli] cp $ff ret z @@ -193,15 +195,15 @@ CeladonMartRoofScript_48532: ; 48532 (12:4532) ld [wd11e], a call GetItemName coord hl, 2, 2 - ld a, [$ffdb] + ld a, [hItemCounter] ld bc, SCREEN_WIDTH * 2 call AddNTimes ld de, wcd6d call PlaceString - ld hl, $ffdb + ld hl, hItemCounter inc [hl] pop hl - jr .asm_48538 + jr .loop CeladonMartRoofTextPointers: ; 4855b (12:455b) dw CeladonMartRoofText1 @@ -217,24 +219,24 @@ CeladonMartRoofText1: ; 48567 (12:4567) CeladonMartRoofText2: ; 4856c (12:456c) TX_ASM - call CeladonMartRoofScript_483d8 - ld a, [wcd37] + call CeladonMartRoofScript_GetDrinksInBag + ld a, [wFilteredBagItemsCount] and a - jr z, .asm_4858f - ld a, $1 + jr z, .noDrinksInBag + ld a, 1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a ld hl, CeladonMartRoofText4 call PrintText call YesNoChoice ld a, [wCurrentMenuItem] and a - jr nz, .asm_48595 - call CeladonMartRoofScript_4840c - jr .asm_48595 -.asm_4858f + jr nz, .done + call CeladonMartRoofScript_GiveDrinkToGirl + jr .done +.noDrinksInBag ld hl, CeladonMartRoofText3 call PrintText -.asm_48595 +.done jp TextScriptEnd CeladonMartRoofText3: ; 48598 (12:4598) diff --git a/scripts/ceruleanhousetrashed.asm b/scripts/ceruleanhousetrashed.asm index e0a194fe..a1f58684 100755 --- a/scripts/ceruleanhousetrashed.asm +++ b/scripts/ceruleanhousetrashed.asm @@ -10,7 +10,7 @@ CeruleanHouseTrashedTextPointers: ; 1d689 (7:5689) CeruleanHouseTrashedText1: ; 1d68f (7:568f) TX_ASM ld b, $e4 - predef IsItemInBag_ + predef GetQuantityOfItemInBag and b jr z, .asm_f8734 ld hl, CeruleanHouseTrashedText_1d6b0 diff --git a/scripts/lab4.asm b/scripts/lab4.asm index f2c4d8d7..dab07824 100755 --- a/scripts/lab4.asm +++ b/scripts/lab4.asm @@ -5,12 +5,11 @@ Lab4TextPointers: ; 75d34 (1d:5d34) dw Lab4Text1 dw Lab4Text2 -Lab4Script_75d38: ; 75d38 (1d:5d38) +Lab4Script_GetFossilsInBag: ; 75d38 (1d:5d38) ; construct a list of all fossils in the player's bag - xor a - ld [wcd37], a - ld de, wcc5b + ld [wFilteredBagItemsCount], a + ld de, wFilteredBagItems ld hl, FossilsList .loop ld a, [hli] @@ -20,7 +19,7 @@ Lab4Script_75d38: ; 75d38 (1d:5d38) push de ld [wd11e], a ld b, a - predef IsItemInBag_ + predef GetQuantityOfItemInBag pop de pop hl ld a, b @@ -32,7 +31,7 @@ Lab4Script_75d38: ; 75d38 (1d:5d38) ld [de], a inc de push hl - ld hl, wcd37 + ld hl, wFilteredBagItemsCount inc [hl] pop hl jr .loop @@ -53,8 +52,8 @@ Lab4Text1: ; 75d6c (1d:5d6c) jr nz, .asm_75d96 ld hl, Lab4Text_75dc6 call PrintText - call Lab4Script_75d38 - ld a, [wcd37] + call Lab4Script_GetFossilsInBag + ld a, [wFilteredBagItemsCount] and a jr z, .asm_75d8d callba GiveFossilToCinnabarLab diff --git a/scripts/oakslab.asm b/scripts/oakslab.asm index 9d3cd7b1..c5ca2e6e 100755 --- a/scripts/oakslab.asm +++ b/scripts/oakslab.asm @@ -449,13 +449,13 @@ OaksLabScript13: ; 1ce32 (7:4e32) ld a, [W_XCOORD] cp $4 ; move left or right depending on where the player is standing - jr nz, .asm_1ce5b - ld a, $c0 - jr .asm_1ce5d -.asm_1ce5b - ld a, $80 -.asm_1ce5d - ld [wcc5b], a + jr nz, .moveLeft + ld a, NPC_MOVEMENT_RIGHT + jr .next +.moveLeft + ld a, NPC_MOVEMENT_LEFT +.next + ld [wNPCMovementDirections], a ld a, $e ld [W_OAKSLABCURSCRIPT], a @@ -855,7 +855,7 @@ OaksLabScript_1d157: ; 1d157 (7:5157) ld [hl], SPRITE_FACING_RIGHT ld hl, wd730 set 6, [hl] - predef StarterDex ; StarterDex + predef StarterDex ld hl, wd730 res 6, [hl] call ReloadMapData diff --git a/scripts/rockethideoutelevator.asm b/scripts/rockethideoutelevator.asm index 21a543e9..8a0ca049 100755 --- a/scripts/rockethideoutelevator.asm +++ b/scripts/rockethideoutelevator.asm @@ -35,7 +35,7 @@ RocketHideoutElevatorScript_45741: ; 45741 (11:5741) ld hl, RocketHideoutElavatorFloors call LoadItemList ld hl, RocketHideoutElevatorWarpMaps - ld de, wcc5b + ld de, wElevatorWarpMaps ld bc, RocketHideoutElevatorWarpMapsEnd - RocketHideoutElevatorWarpMaps call CopyData ret diff --git a/scripts/route11gateupstairs.asm b/scripts/route11gateupstairs.asm index a1906c5d..05ea2a95 100755 --- a/scripts/route11gateupstairs.asm +++ b/scripts/route11gateupstairs.asm @@ -22,12 +22,12 @@ Route11GateUpstairsText2: ; 4946c (12:546c) ld a, 30 ; pokemon needed ld [hOaksAideRequirement], a ld a, ITEMFINDER ; oak's aide reward - ld [hOaksAideItemReward], a + ld [hOaksAideRewardItem], a ld [wd11e], a call GetItemName ld h, d ld l, e - ld de, wcc5b + ld de, wOaksAideRewardItemName ld bc, $000d call CopyData predef OaksAideScript diff --git a/scripts/route15gateupstairs.asm b/scripts/route15gateupstairs.asm index 0fc806da..5cfb8903 100755 --- a/scripts/route15gateupstairs.asm +++ b/scripts/route15gateupstairs.asm @@ -12,11 +12,11 @@ Route15GateUpstairsText1: ; 49651 (12:5651) ld a, 50 ; pokemon needed ld [hOaksAideRequirement], a ld a, EXP__ALL ; oak's aide reward - ld [hOaksAideItemReward], a + ld [hOaksAideRewardItem], a ld [wd11e], a call GetItemName ld hl, wcd6d - ld de, wcc5b + ld de, wOaksAideRewardItemName ld bc, $000d call CopyData predef OaksAideScript diff --git a/scripts/route2gate.asm b/scripts/route2gate.asm index 65d53bc7..1bd82c04 100755 --- a/scripts/route2gate.asm +++ b/scripts/route2gate.asm @@ -12,11 +12,11 @@ Route2GateText1: ; 5d5db (17:55db) ld a, 10 ; pokemon needed ld [hOaksAideRequirement], a ld a, HM_05 ; oak's aide reward - ld [hOaksAideItemReward], a + ld [hOaksAideRewardItem], a ld [wd11e], a call GetItemName ld hl, wcd6d - ld de, wcc5b + ld de, wOaksAideRewardItemName ld bc, $000d call CopyData predef OaksAideScript diff --git a/scripts/silphcoelevator.asm b/scripts/silphcoelevator.asm index 3e36214e..d080cfef 100755 --- a/scripts/silphcoelevator.asm +++ b/scripts/silphcoelevator.asm @@ -35,7 +35,7 @@ SilphCoElevatorScript_457f1: ; 457f1 (11:57f1) ld hl, SilphCoElavatorFloors call LoadItemList ld hl, SilphCoElevatorWarpMaps - ld de, wcc5b + ld de, wElevatorWarpMaps ld bc, SilphCoElevatorWarpMapsEnd - SilphCoElevatorWarpMaps call CopyData ret diff --git a/scripts/vermilioncity.asm b/scripts/vermilioncity.asm index de721a2f..a203323f 100755 --- a/scripts/vermilioncity.asm +++ b/scripts/vermilioncity.asm @@ -53,7 +53,7 @@ VermilionCityScript0: ; 197e6 (6:57e6) CheckEvent EVENT_SS_ANNE_LEFT jr nz, .asm_19810 ld b, S_S__TICKET - predef IsItemInBag_ + predef GetQuantityOfItemInBag ld a, b and a ret nz @@ -171,7 +171,7 @@ VermilionCityText3: ; 198b1 (6:58b1) ld hl, SSAnneWelcomeText9 call PrintText ld b, S_S__TICKET - predef IsItemInBag_ + predef GetQuantityOfItemInBag ld a, b and a jr nz, .asm_198e9 diff --git a/scripts/vermiliondock.asm b/scripts/vermiliondock.asm index 62323fd8..d3c7e31a 100755 --- a/scripts/vermiliondock.asm +++ b/scripts/vermiliondock.asm @@ -106,7 +106,7 @@ VermilionDock_1db9b: ; 1db9b (7:5b9b) xor a ld [rWY], a ld [hWY], a - call VermilionDock_1dc94 + call VermilionDock_EraseSSAnne ld a, $90 ld [hWY], a ld a, $1 @@ -178,21 +178,29 @@ VermilionDock_1dc7c: ; 1dc7c (7:5c7c) jr z, .asm_1dc8e ret -VermilionDock_1dc94: ; 1dc94 (7:5c94) - ld hl, wcc5b - ld bc, SCREEN_WIDTH * 9 - ld a, $14 +VermilionDock_EraseSSAnne: ; 1dc94 (7:5c94) +; Fill the area the S.S. Anne occupies in BG map 0 with water tiles. + ld hl, wVermilionDockTileMapBuffer + ld bc, (5 * 32) + SCREEN_WIDTH + ld a, $14 ; water tile call FillMemory ld hl, vBGMap0 + 10 * 32 - ld de, wcc5b - ld bc, $000c + ld de, wVermilionDockTileMapBuffer + ld bc, (6 * 32) / 16 call CopyVideoData - ld hl, wOverworldMap + 10 + 7 * VERMILION_DOCK_WIDTH ; 10, 7 - ld a, $d + +; Replace the blocks of the lower half of the ship with water blocks. This +; leaves the upper half alone, but that doesn't matter because replacing any of +; the blocks is unnecessary because the blocks the ship occupies are south of +; the player and won't be redrawn when the player automatically walks north and +; exits the map. This code could be removed without affecting anything. + ld hl, wOverworldMap + (5 + 3) + (2 + 3) * (VERMILION_DOCK_WIDTH + 6) ; (5, 2) + ld a, $d ; water block ld [hli], a ld [hli], a ld [hli], a ld [hl], a + ld a, SFX_SS_ANNE_HORN call PlaySound ld c, 120 diff --git a/text.asm b/text.asm index 8b0482f3..9bbbb819 100644 --- a/text.asm +++ b/text.asm @@ -100,7 +100,7 @@ _OaksAideHiText:: ; 80143 (20:4143) cont "I'm supposed to" cont "give you an" cont "@" - TX_RAM wcc5b + TX_RAM wOaksAideRewardItemName text "!" para "So, ", $52, "! Have" @@ -124,7 +124,7 @@ _OaksAideUhOhText:: ; 801e4 (20:41e4) text " kinds" line "if you want the" cont "@" - TX_RAM wcc5b + TX_RAM wOaksAideRewardItemName text "." done @@ -136,7 +136,7 @@ _OaksAideComeBackText:: ; 80250 (20:4250) db $0 line "kinds, come back" cont "for @" - TX_RAM wcc5b + TX_RAM wOaksAideRewardItemName text "." done @@ -154,7 +154,7 @@ _OaksAideHereYouGoText:: ; 8028c (20:428c) _OaksAideGotItemText:: ; 802d9 (20:42d9) text $52, " got the" line "@" - TX_RAM wcc5b + TX_RAM wOaksAideRewardItemName text "!@@" _OaksAideNoRoomText:: ; 802ec (20:42ec) @@ -162,7 +162,7 @@ _OaksAideNoRoomText:: ; 802ec (20:42ec) line "don't have any" cont "room for the" cont "@" - TX_RAM wcc5b + TX_RAM wOaksAideRewardItemName text "." done @@ -363,10 +363,10 @@ _YeahText:: ; 88236 (22:4236) _DexSeenOwnedText:: ; 8823e (22:423e) text "#DEX Seen:@" - TX_NUM wcc5b, 1, 3 + TX_NUM wDexRatingNumMonsSeen, 1, 3 db $0 line " Owned:@" - TX_NUM wcc5c, 1, 3 + TX_NUM wDexRatingNumMonsOwned, 1, 3 db "@" _DexRatingText:: ; 88267 (22:4267) @@ -1467,7 +1467,7 @@ _BoostedText:: ; 89be1 (22:5be1) text "a boosted" cont "@@" _ExpPointsText:: ; 89bee (22:5bee) - TX_NUM wcf4b, 2, 4 + TX_NUM wExpAmountGained, 2, 4 text " EXP. Points!" prompt diff --git a/wram.asm b/wram.asm index 67cdd5fa..e529049e 100755 --- a/wram.asm +++ b/wram.asm @@ -477,6 +477,26 @@ wNPCMovementScriptBank:: ; cc58 ds 2 +wUnusedCC5B:: ; cc5b + +wVermilionDockTileMapBuffer:: ; cc5b +; 180 bytes + +wOaksAideRewardItemName:: ; cc5b + +wDexRatingNumMonsSeen:: ; cc5b + +wFilteredBagItems:: ; cc5b +; List of bag items that has been filtered to a certain type of items, +; such as drinks or fossils. + +wElevatorWarpMaps:: ; cc5b + +wMonPartySpritesSavedOAM:: ; cc5b +; Saved copy of OAM for the first frame of the animation to make it easy to +; flip back from the second frame. +; $60 bytes + wTrainerCardBlkPacket:: ; cc5b ; $40 bytes @@ -493,10 +513,13 @@ wAnimationType:: ; cc5b ; values between 0-6. Shake screen horizontally, shake screen vertically, blink Pokemon... wNPCMovementDirections:: ; cc5b + ds 1 -wcc5b:: ds 1 ; these upcoming values below are miscellaneous storage values -wcc5c:: ds 1 ; used in pokedex evaluation as well -wcc5d:: ds 1 ; used in pokedex evaluation +wDexRatingNumMonsOwned:: ; cc5c + ds 1 + +wDexRatingText:: ; cc5d + ds 1 wSlotMachineSavedROMBank:: ; cc5e ; ROM back to return to when the player is done with the slot machine @@ -723,7 +746,11 @@ wInGameTradeReceiveMonSpecies:: wNPCMovementDirections2Index:: ; cd37 -wcd37:: ds 1 ; used in list menus, like the fossil lab menu or drink girl menu. Also used in link menu. +wUnusedCD37:: ; cd37 + +wFilteredBagItemsCount:: ; cd37 +; number of items in wFilteredBagItems list + ds 1 wSimulatedJoypadStatesIndex:: ; cd38 ; the next simulated joypad state is at wSimulatedJoypadStatesEnd plus this value minus 1 @@ -1320,10 +1347,15 @@ wPartyMenuBlkPacket:: ; cf2e ; $30 bytes ds 29 -wcf4b:: ds 1 ; storage buffer for various strings -wcf4c:: ds 1 ; used with displaying EXP value, probably also overflowed with wcf4b +wExpAmountGained:: ; cf4b +; 2-byte big-endian number +; the total amount of exp a mon gained + +wcf4b:: ds 2 ; storage buffer for various strings + wGainBoostedExp:: ; cf4d ds 1 + ds 17 wGymCityName:: ; cf5f -- cgit v1.3.1-sl0p From 599a6aeaaf81e7174577c782f3b3ba113a4a4c39 Mon Sep 17 00:00:00 2001 From: YamaArashi Date: Fri, 14 Aug 2015 00:36:06 -0700 Subject: named battle and learn move variables --- engine/battle/core.asm | 42 +++++++++++++++----------- engine/battle/moveEffects/transform_effect.asm | 6 ++-- engine/items/items.asm | 8 ++--- engine/learn_move.asm | 22 +++++++------- text.asm | 10 +++--- wram.asm | 25 +++++++++++---- 6 files changed, 67 insertions(+), 46 deletions(-) (limited to 'text.asm') diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 97ca5ab1..0b534dda 100755 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -788,7 +788,7 @@ CheckNumAttacksLeft: ; 3c50f (f:450f) HandleEnemyMonFainted: ; 3c525 (f:4525) xor a - ld [wccf0], a + ld [wInHandlePlayerMonFainted], a call FaintEnemyPokemon call AnyPartyAlive ld a, d @@ -888,9 +888,9 @@ FaintEnemyPokemon: ; 0x3c567 ld a, [hli] or [hl] jr nz, .playermonnotfaint - ld a, [wccf0] - and a - jr nz, .playermonnotfaint + ld a, [wInHandlePlayerMonFainted] + and a ; was this called by HandlePlayerMonFainted? + jr nz, .playermonnotfaint ; if so, don't call RemoveFaintedPlayerMon twice call RemoveFaintedPlayerMon .playermonnotfaint call AnyPartyAlive @@ -950,11 +950,13 @@ EnemyMonFaintedText: ; 0x3c63e db "@" EndLowHealthAlarm: ; 3c643 (f:4643) +; This function is called when the player has the won the battle. It turns off +; the low health alarm and prevents it from reactivating until the next battle. xor a - ld [wLowHealthAlarm], a ;disable low health alarm + ld [wLowHealthAlarm], a ; turn off low health alarm ld [wChannelSoundIDs + CH4], a inc a - ld [wccf6], a + ld [wLowHealthAlarmDisabled], a ; prevent it from reactivating ret AnyEnemyPokemonAliveCheck: ; 3c64f (f:464f) @@ -1053,8 +1055,8 @@ PlayBattleVictoryMusic: ; 3c6ee (f:46ee) jp Delay3 HandlePlayerMonFainted: ; 3c700 (f:4700) - ld a, $1 - ld [wccf0], a + ld a, 1 + ld [wInHandlePlayerMonFainted], a call RemoveFaintedPlayerMon call AnyPartyAlive ; test if any more mons are alive ld a, d @@ -1115,9 +1117,15 @@ RemoveFaintedPlayerMon: ; 3c741 (f:4741) call SlideDownFaintedMonPic ld a, $1 ld [wBattleResult], a - ld a, [wccf0] - and a - ret z + +; When the player mon and enemy mon faint at the same time and the fact that the +; enemy mon has fainted is detected first (e.g. when the player mon knocks out +; the enemy mon using a move with recoil and faints due to the recoil), don't +; play the player mon's cry or show the "[player mon] fainted!" message. + ld a, [wInHandlePlayerMonFainted] + and a ; was this called by HandleEnemyMonFainted? + ret z ; if so, return + ld a, [wBattleMonSpecies] call PlayCry ld hl, PlayerMonFaintedText @@ -1932,9 +1940,9 @@ DrawPlayerHUDAndHPBar: ; 3cd60 (f:4d60) ld a, [hli] or [hl] jr z, .asm_3cdd9 - ld a, [wccf6] - and a - ret nz + ld a, [wLowHealthAlarmDisabled] + and a ; has the alarm been disabled because the player has already won? + ret nz ; if so, return ld a, [wPlayerHPBarColor] cp HP_BAR_RED jr z, .asm_3cde6 @@ -6201,7 +6209,7 @@ LoadEnemyMonData: ; 3eb01 (f:6b01) call GetMonHeader ld a, [W_ENEMYBATTSTATUS3] bit Transformed, a ; is enemy mon transformed? - ld hl, wcceb ; copied DVs from when it used Transform + ld hl, wTransformedEnemyMonOriginalDVs ; original DVs before transforming ld a, [hli] ld b, [hl] jr nz, .storeDVs @@ -6879,7 +6887,7 @@ InitBattleCommon: ; 3ef3d (f:6f3d) ld [wEnemyMonPartyPos], a ld a, $2 ld [W_ISINBATTLE], a - jp InitBattle_Common + jp _InitBattleCommon InitWildBattle: ; 3ef8b (f:6f8b) ld a, $1 @@ -6931,7 +6939,7 @@ InitWildBattle: ; 3ef8b (f:6f8b) predef CopyUncompressedPicToTilemap ; common code that executes after init battle code specific to trainer or wild battles -InitBattle_Common: ; 3efeb (f:6feb) +_InitBattleCommon: ; 3efeb (f:6feb) ld b, SET_PAL_BATTLE_BLACK call RunPaletteCommand call SlidePlayerAndEnemySilhouettesOnScreen diff --git a/engine/battle/moveEffects/transform_effect.asm b/engine/battle/moveEffects/transform_effect.asm index 185d47af..6a40eda2 100644 --- a/engine/battle/moveEffects/transform_effect.asm +++ b/engine/battle/moveEffects/transform_effect.asm @@ -67,12 +67,12 @@ TransformEffect_: ; 3bab1 (e:7ab1) ld a, [H_WHOSETURN] and a jr z, .next -; save enemy mon DVs in wcceb/wccec (enemy turn only) +; save enemy mon DVs at wTransformedEnemyMonOriginalDVs ld a, [de] - ld [wcceb], a + ld [wTransformedEnemyMonOriginalDVs], a inc de ld a, [de] - ld [wccec], a + ld [wTransformedEnemyMonOriginalDVs + 1], a dec de .next ; DVs diff --git a/engine/items/items.asm b/engine/items/items.asm index 1a342d97..f0666587 100755 --- a/engine/items/items.asm +++ b/engine/items/items.asm @@ -364,7 +364,7 @@ ItemUseBall: ; d687 (3:5687) jr .next16 .next15 set Transformed,[hl] - ld hl,wcceb + ld hl,wTransformedEnemyMonOriginalDVs ld a,[wEnemyMonDVs] ld [hli],a ld a,[wEnemyMonDVs + 1] @@ -2105,16 +2105,16 @@ ItemUseTMHM: ; e479 (3:6479) push af .chooseMon ld hl,wcf4b - ld de,wd036 + ld de,wTempMoveNameBuffer ld bc,14 - call CopyData + call CopyData ; save the move name because DisplayPartyMenu will overwrite it ld a,$ff ld [wUpdateSpritesEnabled],a ld a,TMHM_PARTY_MENU ld [wPartyMenuTypeOrMessageID],a call DisplayPartyMenu push af - ld hl,wd036 + ld hl,wTempMoveNameBuffer ld de,wcf4b ld bc,14 call CopyData diff --git a/engine/learn_move.asm b/engine/learn_move.asm index 46d30bd9..c0ced4a0 100755 --- a/engine/learn_move.asm +++ b/engine/learn_move.asm @@ -4,7 +4,7 @@ LearnMove: ; 6e43 (1:6e43) ld hl, wPartyMonNicks call GetPartyMonName ld hl, wcd6d - ld de, wd036 + ld de, wLearnMoveMonName ld bc, NAME_LENGTH call CopyData @@ -16,13 +16,13 @@ DontAbandonLearning: ; 6e5b (1:6e5b) ld d, h ld e, l ld b, NUM_MOVES -.asm_6e6b +.findEmptyMoveSlotLoop ld a, [hl] and a - jr z, .asm_6e8b + jr z, .next inc hl dec b - jr nz, .asm_6e6b + jr nz, .findEmptyMoveSlotLoop push de call TryingToLearn pop de @@ -35,7 +35,7 @@ DontAbandonLearning: ; 6e5b (1:6e5b) call PrintText pop de pop hl -.asm_6e8b +.next ld a, [wMoveNum] ld [hl], a ld bc, wPartyMon1PP - wPartyMon1Moves @@ -86,13 +86,13 @@ AbandonLearning: ; 6eda (1:6eda) jp nz, DontAbandonLearning ld hl, DidNotLearnText call PrintText - ld b, $0 + ld b, 0 ret PrintLearnedMove: ; 6efe (1:6efe) ld hl, LearnedMove1Text call PrintText - ld b, $1 + ld b, 1 ret TryingToLearn: ; 6f07 (1:6f07) @@ -108,7 +108,7 @@ TryingToLearn: ; 6f07 (1:6f07) ld a, [wCurrentMenuItem] rra ret c - ld bc, - NUM_MOVES + ld bc, -NUM_MOVES add hl, bc push hl ld de, wMoves @@ -121,8 +121,8 @@ TryingToLearn: ; 6f07 (1:6f07) ld hl, WhichMoveToForgetText call PrintText coord hl, 4, 7 - ld b, $4 - ld c, $e + ld b, 4 + ld c, 14 call TextBoxBorder coord hl, 6, 8 ld de, wMovesString @@ -160,7 +160,7 @@ TryingToLearn: ; 6f07 (1:6f07) push hl ld a, [wCurrentMenuItem] ld c, a - ld b, $0 + ld b, 0 add hl, bc ld a, [hl] push af diff --git a/text.asm b/text.asm index 9bbbb819..2ed5758f 100644 --- a/text.asm +++ b/text.asm @@ -2686,7 +2686,7 @@ _PokemartAnythingElseText:: ; a2719 (28:6719) done _LearnedMove1Text:: ; a273b (28:673b) - TX_RAM wd036 + TX_RAM wLearnMoveMonName text " learned" line "@" TX_RAM wcf4b @@ -2705,7 +2705,7 @@ _AbandonLearningText:: ; a2771 (28:6771) done _DidNotLearnText:: ; a278a (28:678a) - TX_RAM wd036 + TX_RAM wLearnMoveMonName db $0 line "did not learn" cont "@" @@ -2714,7 +2714,7 @@ _DidNotLearnText:: ; a278a (28:678a) prompt _TryingToLearnText:: ; a27a4 (28:67a4) - TX_RAM wd036 + TX_RAM wLearnMoveMonName text " is" line "trying to learn" cont "@" @@ -2722,7 +2722,7 @@ _TryingToLearnText:: ; a27a4 (28:67a4) text "!" para "But, @" - TX_RAM wd036 + TX_RAM wLearnMoveMonName db $0 line "can't learn more" cont "than 4 moves!" @@ -2743,7 +2743,7 @@ _PoofText:: ; a2827 (28:6827) _ForgotAndText:: ; a2830 (28:6830) db $0 para "@" - TX_RAM wd036 + TX_RAM wLearnMoveMonName text " forgot" line "@" TX_RAM wcd6d diff --git a/wram.asm b/wram.asm index 303e9505..44ad46a5 100755 --- a/wram.asm +++ b/wram.asm @@ -622,15 +622,18 @@ wSafariBaitFactor:: ; cce9 ds 1 -wcceb:: ds 1 ; used to save the dvs of a mon when it uses transform -wccec:: ds 1 ; also used with above case +wTransformedEnemyMonOriginalDVs:: ; cceb + ds 2 wMonIsDisobedient:: ds 1 ; cced wPlayerDisabledMoveNumber:: ds 1 ; ccee wEnemyDisabledMoveNumber:: ds 1 ; ccef -wccf0:: ds 1 ; used as a check if a mon fainted +wInHandlePlayerMonFainted:: ; ccf0 +; When running in the scope of HandlePlayerMonFainted, it equals 1. +; When running in the scope of HandleEnemyMonFainted, it equals 0. + ds 1 wPlayerUsedMove:: ds 1 ; ccf1 wEnemyUsedMove:: ds 1 ; ccf2 @@ -643,8 +646,13 @@ wPartyFoughtCurrentEnemyFlags:: ; ccf5 ; flags that indicate which party members have fought the current enemy mon flag_array 6 -wccf6:: ds 1 ; used in some hp bar thing -wPlayerMonMinimized:: ds 1 ; ccf7 +wLowHealthAlarmDisabled:: ; ccf6 +; Whether the low health alarm has been disabled due to the player winning the +; battle. + ds 1 + +wPlayerMonMinimized:: ; ccf7 + ds 1 ds 13 @@ -1556,7 +1564,12 @@ W_TRAINERCLASS:: ; d031 wTrainerPicPointer:: ; d033 ds 2 ds 1 -wd036:: ds 16 ; used as a temporary buffer to print "XXX learned YYY" + +wTempMoveNameBuffer:: ; d036 + +wLearnMoveMonName:: ; d036 +; The name of the mon that is learning a move. + ds 16 wTrainerBaseMoney:: ; d046 ; 2-byte BCD number -- cgit v1.3.1-sl0p