Optimize some HRAM usage

This commit is contained in:
xCrystal
2023-09-30 19:12:57 +02:00
parent 336b3e77af
commit e53ae0eac9
48 changed files with 254 additions and 258 deletions

View File

@@ -193,9 +193,9 @@ BattleAnimDelayFrame:
; Like DelayFrame but wastes battery life.
ld a, 1
ld [wVBlankOccurred], a
ldh [hVBlankOccurred], a
.wait
ld a, [wVBlankOccurred]
ldh a, [hVBlankOccurred]
and a
jr nz, .wait
ret

View File

@@ -53,11 +53,11 @@ BoardMenuScript::
done
.SubmenuCallback:
; if submenu has requested a callback through hMenuReturn,
; if submenu has requested a callback through wMenuReturn,
; it has also taken care of queuing it into wQueuedScriptBank/wQueuedScriptAddr.
readmem hMenuReturn
ifequal HMENURETURN_SCRIPT, .CallbackScript
ifequal HMENURETURN_ASM, .CallbackAsm
readmem wMenuReturn
ifequal MENURETURN_SCRIPT, .CallbackScript
ifequal MENURETURN_ASM, .CallbackAsm
end
.CallbackScript:
@@ -68,7 +68,7 @@ BoardMenuScript::
end
BoardMenu::
; returns the selected menu item (BOARDMENUITEM_*) in wScriptVar upon exit
; returns the selected menu item (BOARDMENUITEM_*) in hScriptVar upon exit
ld a, [wBoardMenuLastCursorPosition]
cp NUM_BOARD_MENU_ITEMS
jr c, .ok
@@ -107,7 +107,7 @@ BoardMenu::
ld hl, wDisplaySecondarySprites
res SECONDARYSPRITES_BOARD_MENU_F, [hl]
ld a, [wBoardMenuCursorPosition]
ld [wScriptVar], a
ldh [hScriptVar], a
ret
DrawBoardMenuTilesAndClearPriorityAttr:
@@ -217,13 +217,13 @@ DIE_MAX_NUMBER EQU 6
ld hl, wDisplaySecondarySprites
res SECONDARYSPRITES_DIE_ROLL_F, [hl]
xor a ; FALSE
ld [wScriptVar], a
ldh [hScriptVar], a
ret
.confirm_roll
call UpdateSprites
ld a, TRUE
ld [wScriptVar], a
ldh [hScriptVar], a
ret
BoardMenu_BreakDieAnimation:
@@ -341,8 +341,8 @@ BoardMenu_Party:
.quit
; if quitted party menu after using field move
call BoardMenu_CloseSubmenu
ld a, HMENURETURN_SCRIPT
ldh [hMenuReturn], a
ld a, MENURETURN_SCRIPT
ld [wMenuReturn], a
ret
BoardMenu_Pack:
@@ -352,8 +352,8 @@ BoardMenu_Pack:
ld a, [wPackUsedItem]
and a
ret z
ld a, HMENURETURN_SCRIPT
ldh [hMenuReturn], a
ld a, MENURETURN_SCRIPT
ld [wMenuReturn], a
ret
BoardMenu_Pokegear:
@@ -363,7 +363,7 @@ BoardMenu_Pokegear:
BoardMenu_OpenSubmenu:
xor a
ldh [hMenuReturn], a
ld [wMenuReturn], a
ldh [hBGMapMode], a
call LoadStandardMenuHeader
farcall FadeOutPalettesToWhite

View File

@@ -24,7 +24,7 @@ BuenasPassword:
.wrong
ld a, b
ld [wScriptVar], a
ldh [hScriptVar], a
ret
.MenuHeader:

View File

@@ -5,7 +5,7 @@ AskRememberPassword:
ld a, $1
.okay
ld [wScriptVar], a
ldh [hScriptVar], a
ret
.DoMenu:

View File

@@ -88,12 +88,12 @@ ContestDropOffMons:
; ... and replacing it with the terminator byte
ld [hl], -1
xor a
ld [wScriptVar], a
ldh [hScriptVar], a
ret
.fainted
ld a, $1
ld [wScriptVar], a
ldh [hScriptVar], a
ret
ContestReturnMons:

View File

@@ -303,12 +303,12 @@ CheckCaughtCelebi:
bit BATTLERESULT_CAUGHT_CELEBI, a
jr z, .false
ld a, TRUE
ld [wScriptVar], a
ldh [hScriptVar], a
jr .done
.false
xor a ; FALSE
ld [wScriptVar], a
ldh [hScriptVar], a
.done
ret

View File

@@ -413,14 +413,14 @@ DayCareManOutside:
.Load0:
call PrintText1bpp
xor a ; FALSE
ld [wScriptVar], a
ldh [hScriptVar], a
ret
.PartyFull:
ld hl, .NoRoomForEggText
call PrintText1bpp
ld a, TRUE
ld [wScriptVar], a
ldh [hScriptVar], a
ret
.FoundAnEggText:

View File

@@ -1,9 +1,9 @@
GiveDratini:
; if wScriptVar is 0 or 1, change the moveset of the last Dratini in the party.
; if hScriptVar is 0 or 1, change the moveset of the last Dratini in the party.
; 0: give it a special moveset with Extremespeed.
; 1: give it the normal moveset of a level 15 Dratini.
ld a, [wScriptVar]
ldh a, [hScriptVar]
cp $2
ret nc
ld bc, wPartyCount
@@ -30,7 +30,7 @@ GiveDratini:
.GiveMoveset:
push hl
ld a, [wScriptVar]
ldh a, [hScriptVar]
ld hl, .Movesets
ld bc, .Moveset1 - .Moveset0
call AddNTimes

View File

@@ -50,7 +50,7 @@ CheckFruitTree:
ld b, 2
call GetFruitTreeFlag
ld a, c
ld [wScriptVar], a
ldh [hScriptVar], a
ret
PickedFruitTree:

View File

@@ -2,14 +2,14 @@ BillsGrandfather:
farcall SelectMonFromParty
jr c, .cancel
ld a, [wCurPartySpecies]
ld [wScriptVar], a
ldh [hScriptVar], a
ld [wNamedObjectIndex], a
call GetPokemonName
jp CopyPokemonName_Buffer1_Buffer3
.cancel
xor a
ld [wScriptVar], a
ldh [hScriptVar], a
ret
OlderHaircutBrother:
@@ -48,19 +48,19 @@ HaircutOrGrooming:
.ok
inc hl
ld a, [hli]
ld [wScriptVar], a
ldh [hScriptVar], a
ld c, [hl]
call ChangeHappiness
ret
.nope
xor a
ld [wScriptVar], a
ldh [hScriptVar], a
ret
.egg
ld a, 1
ld [wScriptVar], a
ldh [hScriptVar], a
ret
INCLUDE "data/events/happiness_probabilities.asm"

View File

@@ -13,7 +13,7 @@ GetFirstPokemonHappiness:
.done
ld [wNamedObjectIndex], a
ld a, [hl]
ld [wScriptVar], a
ldh [hScriptVar], a
call GetPokemonName
jp CopyPokemonName_Buffer1_Buffer3
@@ -26,7 +26,7 @@ CheckFirstMonIsEgg:
xor a
.egg
ld [wScriptVar], a
ldh [hScriptVar], a
call GetPokemonName
jp CopyPokemonName_Buffer1_Buffer3

View File

@@ -12,11 +12,11 @@ HealMachineAnim:
ld a, [wPartyCount]
and a
ret z
; The location of the healing machine relative to the player is stored in wScriptVar.
; The location of the healing machine relative to the player is stored in hScriptVar.
; 0: Up and left (Pokemon Center)
; 1: Left (Elm's Lab)
; 2: Up (Hall of Fame)
ld a, [wScriptVar]
ldh a, [hScriptVar]
ld [wHealMachineAnimType], a
ldh a, [rOBP1]
ld [wHealMachineTempOBP1], a

View File

@@ -30,7 +30,7 @@ SelectApricornForKurt:
ld [wMenuSelection], a
call Kurt_SelectApricorn
ld a, c
ld [wScriptVar], a
ldh [hScriptVar], a
and a
jr z, .done
ld [wCurItem], a

View File

@@ -1,6 +1,6 @@
CheckForLuckyNumberWinners:
xor a
ld [wScriptVar], a
ldh [hScriptVar], a
ld [wTempByteValue], a
ld a, [wPartyCount]
and a
@@ -79,7 +79,7 @@ CheckForLuckyNumberWinners:
cp EGG
jr z, .SkipBoxMon
call .CompareLuckyNumberToMonID ; sets wScriptVar and wCurPartySpecies appropriately
call .CompareLuckyNumberToMonID ; sets hScriptVar and wCurPartySpecies appropriately
jr nc, .SkipBoxMon
ld a, TRUE
ld [wTempByteValue], a
@@ -100,7 +100,7 @@ CheckForLuckyNumberWinners:
jr c, .BoxesLoop
call CloseSRAM
ld a, [wScriptVar]
ldh a, [hScriptVar]
and a
ret z ; found nothing
@@ -167,7 +167,7 @@ CheckForLuckyNumberWinners:
.okay
inc b
ld a, [wScriptVar]
ldh a, [hScriptVar]
and a
jr z, .bettermatch
cp b
@@ -176,7 +176,7 @@ CheckForLuckyNumberWinners:
.bettermatch
dec b
ld a, b
ld [wScriptVar], a
ldh [hScriptVar], a
pop bc
ld a, b
ld [wCurPartySpecies], a

View File

@@ -52,22 +52,22 @@ CheckMagikarpLength:
call SkipNames
call CopyBytes
ld a, MAGIKARPLENGTH_BEAT_RECORD
ld [wScriptVar], a
ldh [hScriptVar], a
ret
.not_long_enough
ld a, MAGIKARPLENGTH_TOO_SHORT
ld [wScriptVar], a
ldh [hScriptVar], a
ret
.declined
ld a, MAGIKARPLENGTH_REFUSED
ld [wScriptVar], a
ldh [hScriptVar], a
ret
.not_magikarp
xor a ; MAGIKARPLENGTH_NOT_MAGIKARP
ld [wScriptVar], a
ldh [hScriptVar], a
ret
.MagikarpGuruMeasureText:

View File

@@ -1,5 +1,5 @@
MagnetTrain:
ld a, [wScriptVar]
ldh a, [hScriptVar]
and a
jr nz, .ToGoldenrod
ld a, 1 ; forwards

View File

@@ -37,7 +37,7 @@ FindItemInBallScript::
.TryReceiveItem:
xor a
ld [wScriptVar], a
ldh [hScriptVar], a
ld a, [wItemBallItemID]
ld [wNamedObjectIndex], a
call GetItemName
@@ -51,5 +51,5 @@ FindItemInBallScript::
call ReceiveItem
ret nc
ld a, $1
ld [wScriptVar], a
ldh [hScriptVar], a
ret

View File

@@ -23,18 +23,18 @@ MoveTutor:
call CheckCanLearnMoveTutorMove
jr nc, .loop
xor a ; FALSE
ld [wScriptVar], a
ldh [hScriptVar], a
jr .quit
.cancel
ld a, -1
ld [wScriptVar], a
ldh [hScriptVar], a
.quit
call CloseSubmenu
ret
.GetMoveTutorMove:
ld a, [wScriptVar]
ldh a, [hScriptVar]
cp MOVETUTOR_FLAMETHROWER
jr z, .flamethrower
cp MOVETUTOR_THUNDERBOLT

View File

@@ -678,12 +678,12 @@ Script_UsedWaterfall:
.CheckContinueWaterfall:
xor a
ld [wScriptVar], a
ldh [hScriptVar], a
ld a, [wPlayerTile]
call CheckWaterfallTile
ret z
ld a, $1
ld [wScriptVar], a
ldh [hScriptVar], a
ret
.WaterfallStep:
@@ -1070,7 +1070,7 @@ TryStrengthOW:
jr .done
.done
ld [wScriptVar], a
ldh [hScriptVar], a
ret
WhirlpoolFunction:
@@ -1409,7 +1409,7 @@ HasRockSmash:
xor a
jr .done
.done
ld [wScriptVar], a
ldh [hScriptVar], a
ret
FishFunction:
@@ -1570,7 +1570,7 @@ Fishing_CheckFacingUp:
xor a
.up
ld [wScriptVar], a
ldh [hScriptVar], a
ret
Script_FishCastRod:
@@ -1776,11 +1776,11 @@ AskCutScript:
.CheckMap:
xor a
ld [wScriptVar], a
ldh [hScriptVar], a
call CheckMapForSomethingToCut
ret c
ld a, TRUE
ld [wScriptVar], a
ldh [hScriptVar], a
ret
AskCutText:

View File

@@ -1,5 +1,5 @@
PlaySlowCry:
ld a, [wScriptVar]
ldh a, [hScriptVar]
call LoadCry
jr c, .done

Some files were not shown because too many files have changed in this diff Show More