You've already forked pokecrystal-board
mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2025-09-08 08:13:02 -07:00
Optimize some HRAM usage
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -24,7 +24,7 @@ BuenasPassword:
|
||||
|
||||
.wrong
|
||||
ld a, b
|
||||
ld [wScriptVar], a
|
||||
ldh [hScriptVar], a
|
||||
ret
|
||||
|
||||
.MenuHeader:
|
||||
|
||||
@@ -5,7 +5,7 @@ AskRememberPassword:
|
||||
ld a, $1
|
||||
|
||||
.okay
|
||||
ld [wScriptVar], a
|
||||
ldh [hScriptVar], a
|
||||
ret
|
||||
|
||||
.DoMenu:
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -50,7 +50,7 @@ CheckFruitTree:
|
||||
ld b, 2
|
||||
call GetFruitTreeFlag
|
||||
ld a, c
|
||||
ld [wScriptVar], a
|
||||
ldh [hScriptVar], a
|
||||
ret
|
||||
|
||||
PickedFruitTree:
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
MagnetTrain:
|
||||
ld a, [wScriptVar]
|
||||
ldh a, [hScriptVar]
|
||||
and a
|
||||
jr nz, .ToGoldenrod
|
||||
ld a, 1 ; forwards
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user