Identify more uses of wBuffer1-6

This commit is contained in:
Rangi
2020-11-03 19:53:07 -05:00
parent 826e070f04
commit c88c4a8340
29 changed files with 327 additions and 264 deletions

View File

@@ -1,5 +1,5 @@
AIChooseMove: AIChooseMove:
; Score each move in wEnemyMonMoves starting from wBuffer1. Lower is better. ; Score each move of wEnemyMonMoves in wEnemyAIMoveScores. Lower is better.
; Pick the move with the lowest score. ; Pick the move with the lowest score.
; Wildmons attack at random. ; Wildmons attack at random.
@@ -17,7 +17,7 @@ AIChooseMove:
; The default score is 20. Unusable moves are given a score of 80. ; The default score is 20. Unusable moves are given a score of 80.
ld a, 20 ld a, 20
ld hl, wBuffer1 ld hl, wEnemyAIMoveScores
ld [hli], a ld [hli], a
ld [hli], a ld [hli], a
ld [hli], a ld [hli], a
@@ -37,14 +37,14 @@ AIChooseMove:
inc hl inc hl
jr .CheckDisabledMove jr .CheckDisabledMove
.ScoreDisabledMove: .ScoreDisabledMove:
ld hl, wBuffer1 ld hl, wEnemyAIMoveScores
ld b, 0 ld b, 0
add hl, bc add hl, bc
ld [hl], 80 ld [hl], 80
; Don't pick moves with 0 PP. ; Don't pick moves with 0 PP.
.CheckPP: .CheckPP:
ld hl, wBuffer1 - 1 ld hl, wEnemyAIMoveScores - 1
ld de, wEnemyMonPP ld de, wEnemyMonPP
ld b, 0 ld b, 0
.CheckMovePP: .CheckMovePP:
@@ -117,7 +117,7 @@ AIChooseMove:
; Decrement the scores of all moves one by one until one reaches 0. ; Decrement the scores of all moves one by one until one reaches 0.
.DecrementScores: .DecrementScores:
ld hl, wBuffer1 ld hl, wEnemyAIMoveScores
ld de, wEnemyMonMoves ld de, wEnemyMonMoves
ld c, NUM_MOVES ld c, NUM_MOVES
@@ -152,7 +152,7 @@ AIChooseMove:
cp NUM_MOVES + 1 cp NUM_MOVES + 1
jr nz, .move_loop jr nz, .move_loop
ld hl, wBuffer1 ld hl, wEnemyAIMoveScores
ld de, wEnemyMonMoves ld de, wEnemyMonMoves
ld c, NUM_MOVES ld c, NUM_MOVES
@@ -182,7 +182,7 @@ AIChooseMove:
; Randomly choose one of the moves with a score of 1 ; Randomly choose one of the moves with a score of 1
.ChooseMove: .ChooseMove:
ld hl, wBuffer1 ld hl, wEnemyAIMoveScores
call Random call Random
maskbits NUM_MOVES maskbits NUM_MOVES
ld c, a ld c, a

View File

@@ -6,7 +6,7 @@ AI_Basic:
; -Using status-only moves if the player can't be statused ; -Using status-only moves if the player can't be statused
; -Using moves that fail if they've already been used ; -Using moves that fail if they've already been used
ld hl, wBuffer1 - 1 ld hl, wEnemyAIMoveScores - 1
ld de, wEnemyMonMoves ld de, wEnemyMonMoves
ld b, NUM_MOVES + 1 ld b, NUM_MOVES + 1
.checkmove .checkmove
@@ -73,7 +73,7 @@ AI_Setup:
; 50% chance to greatly encourage stat-down moves during the first turn of player's Pokemon. ; 50% chance to greatly encourage stat-down moves during the first turn of player's Pokemon.
; Almost 90% chance to greatly discourage stat-modifying moves otherwise. ; Almost 90% chance to greatly discourage stat-modifying moves otherwise.
ld hl, wBuffer1 - 1 ld hl, wEnemyAIMoveScores - 1
ld de, wEnemyMonMoves ld de, wEnemyMonMoves
ld b, NUM_MOVES + 1 ld b, NUM_MOVES + 1
.checkmove .checkmove
@@ -147,7 +147,7 @@ AI_Types:
; Discourage not very effective moves unless ; Discourage not very effective moves unless
; all damaging moves are of the same type. ; all damaging moves are of the same type.
ld hl, wBuffer1 - 1 ld hl, wEnemyAIMoveScores - 1
ld de, wEnemyMonMoves ld de, wEnemyMonMoves
ld b, NUM_MOVES + 1 ld b, NUM_MOVES + 1
.checkmove .checkmove
@@ -234,7 +234,7 @@ AI_Types:
AI_Offensive: AI_Offensive:
; Greatly discourage non-damaging moves. ; Greatly discourage non-damaging moves.
ld hl, wBuffer1 - 1 ld hl, wEnemyAIMoveScores - 1
ld de, wEnemyMonMoves ld de, wEnemyMonMoves
ld b, NUM_MOVES + 1 ld b, NUM_MOVES + 1
.checkmove .checkmove
@@ -261,7 +261,7 @@ AI_Offensive:
AI_Smart: AI_Smart:
; Context-specific scoring. ; Context-specific scoring.
ld hl, wBuffer1 ld hl, wEnemyAIMoveScores
ld de, wEnemyMonMoves ld de, wEnemyMonMoves
ld b, NUM_MOVES + 1 ld b, NUM_MOVES + 1
.checkmove .checkmove
@@ -518,7 +518,7 @@ AI_Smart_LockOn:
.player_locked_on .player_locked_on
push hl push hl
ld hl, wBuffer1 - 1 ld hl, wEnemyAIMoveScores - 1
ld de, wEnemyMonMoves ld de, wEnemyMonMoves
ld c, NUM_MOVES + 1 ld c, NUM_MOVES + 1
@@ -2893,7 +2893,7 @@ AI_Opportunist:
ret c ret c
.lowhp .lowhp
ld hl, wBuffer1 - 1 ld hl, wEnemyAIMoveScores - 1
ld de, wEnemyMonMoves ld de, wEnemyMonMoves
ld c, NUM_MOVES + 1 ld c, NUM_MOVES + 1
.checkmove .checkmove
@@ -2987,7 +2987,7 @@ AI_Aggressive:
jr z, .done jr z, .done
; Discourage moves that do less damage unless they're reckless too. ; Discourage moves that do less damage unless they're reckless too.
ld hl, wBuffer1 - 1 ld hl, wEnemyAIMoveScores - 1
ld de, wEnemyMonMoves ld de, wEnemyMonMoves
ld b, 0 ld b, 0
.checkmove2 .checkmove2
@@ -3060,7 +3060,7 @@ AI_Cautious:
and a and a
ret z ret z
ld hl, wBuffer1 - 1 ld hl, wEnemyAIMoveScores - 1
ld de, wEnemyMonMoves ld de, wEnemyMonMoves
ld c, NUM_MOVES + 1 ld c, NUM_MOVES + 1
.loop .loop
@@ -3098,7 +3098,7 @@ INCLUDE "data/battle/ai/residual_moves.asm"
AI_Status: AI_Status:
; Dismiss status moves that don't affect the player. ; Dismiss status moves that don't affect the player.
ld hl, wBuffer1 - 1 ld hl, wEnemyAIMoveScores - 1
ld de, wEnemyMonMoves ld de, wEnemyMonMoves
ld b, NUM_MOVES + 1 ld b, NUM_MOVES + 1
.checkmove .checkmove
@@ -3161,7 +3161,7 @@ AI_Risky:
; Use any move that will KO the target. ; Use any move that will KO the target.
; Risky moves will often be an exception (see below). ; Risky moves will often be an exception (see below).
ld hl, wBuffer1 - 1 ld hl, wEnemyAIMoveScores - 1
ld de, wEnemyMonMoves ld de, wEnemyMonMoves
ld c, NUM_MOVES + 1 ld c, NUM_MOVES + 1
.checkmove .checkmove

View File

@@ -5358,7 +5358,7 @@ MoveSelectionScreen:
hlcoord 6, 17 - NUM_MOVES - 4 hlcoord 6, 17 - NUM_MOVES - 4
.got_start_coord .got_start_coord
ld a, SCREEN_WIDTH ld a, SCREEN_WIDTH
ld [wBuffer1], a ld [wListMovesLineSpacing], a
predef ListMoves predef ListMoves
ld b, 5 ld b, 5
@@ -6334,8 +6334,7 @@ LoadEnemyMon:
ld [hli], a ld [hli], a
ld [hli], a ld [hli], a
ld [hl], a ld [hl], a
; Make sure the predef knows this isn't a partymon ld [wSkipMovesBeforeLevelUp], a
ld [wEvolutionOldSpecies], a
; Fill moves based on level ; Fill moves based on level
predef FillMoves predef FillMoves
@@ -7616,9 +7615,10 @@ SendOutMonText:
and a and a
jr z, .not_linked jr z, .not_linked
ld hl, GoMonText ; If we're in a LinkBattle print just "Go <PlayerMon>" ; If we're in a LinkBattle print just "Go <PlayerMon>"
; unless DoBattle already set [wBattleHasJustStarted]
ld a, [wBattleHasJustStarted] ; unless this (unidentified) variable is set ld hl, GoMonText
ld a, [wBattleHasJustStarted]
and a and a
jr nz, .skip_to_textbox jr nz, .skip_to_textbox

View File

@@ -47,7 +47,7 @@ ShowOTTrainerMonsRemaining:
StageBallTilesData: StageBallTilesData:
ld a, [de] ld a, [de]
push af push af
ld de, wBuffer1 ld de, wBattleHUDTiles
ld c, PARTY_LENGTH ld c, PARTY_LENGTH
ld a, $34 ; empty slot ld a, $34 ; empty slot
.loop1 .loop1
@@ -56,7 +56,8 @@ StageBallTilesData:
dec c dec c
jr nz, .loop1 jr nz, .loop1
pop af pop af
ld de, wBuffer1
ld de, wBattleHUDTiles
.loop2 .loop2
push af push af
call .GetHUDTile call .GetHUDTile
@@ -200,7 +201,7 @@ LinkBattle_TrainerHuds:
jp LoadTrainerHudOAM jp LoadTrainerHudOAM
LoadTrainerHudOAM: LoadTrainerHudOAM:
ld de, wBuffer1 ld de, wBattleHUDTiles
ld c, PARTY_LENGTH ld c, PARTY_LENGTH
.loop .loop
ld a, [wPlaceBallsY] ld a, [wPlaceBallsY]

View File

@@ -616,8 +616,8 @@ DayCare_InitBreeding:
xor a xor a
ld [wEggMonItem], a ld [wEggMonItem], a
ld de, wEggMonMoves ld de, wEggMonMoves
xor a xor a ; FALSE
ld [wBuffer1], a ld [wSkipMovesBeforeLevelUp], a
predef FillMoves predef FillMoves
farcall InitEggMoves farcall InitEggMoves
ld hl, wEggMonID ld hl, wEggMonID

View File

@@ -17,19 +17,19 @@ HealMachineAnim:
; 1: Left (Elm's Lab) ; 1: Left (Elm's Lab)
; 2: Up (Hall of Fame) ; 2: Up (Hall of Fame)
ld a, [wScriptVar] ld a, [wScriptVar]
ld [wBuffer1], a ld [wHealMachineAnimType], a
ldh a, [rOBP1] ldh a, [rOBP1]
ld [wBuffer2], a ld [wHealMachineTempOBP1], a
call .DoJumptableFunctions call .DoJumptableFunctions
ld a, [wBuffer2] ld a, [wHealMachineTempOBP1]
call DmgToCgbObjPal1 call DmgToCgbObjPal1
ret ret
.DoJumptableFunctions: .DoJumptableFunctions:
xor a xor a
ld [wBuffer3], a ld [wHealMachineAnimState], a
.jumpable_loop .jumptable_loop
ld a, [wBuffer1] ld a, [wHealMachineAnimType]
ld e, a ld e, a
ld d, 0 ld d, 0
ld hl, .Pointers ld hl, .Pointers
@@ -38,17 +38,17 @@ HealMachineAnim:
ld a, [hli] ld a, [hli]
ld h, [hl] ld h, [hl]
ld l, a ld l, a
ld a, [wBuffer3] ld a, [wHealMachineAnimState]
ld e, a ld e, a
inc a inc a
ld [wBuffer3], a ld [wHealMachineAnimState], a
add hl, de add hl, de
ld a, [hl] ld a, [hl]
cp HEALMACHINESTATE_FINISH cp HEALMACHINESTATE_FINISH
jr z, .finish jr z, .finish
ld hl, .Jumptable ld hl, .Jumptable
rst JumpTable rst JumpTable
jr .jumpable_loop jr .jumptable_loop
.finish .finish
ret ret
@@ -237,7 +237,7 @@ INCLUDE "gfx/overworld/heal_machine.pal"
.PlaceHealingMachineTile: .PlaceHealingMachineTile:
push bc push bc
ld a, [wBuffer1] ld a, [wHealMachineAnimType]
bcpixel 2, 4 bcpixel 2, 4
cp HEALMACHINE_ELMS_LAB cp HEALMACHINE_ELMS_LAB
jr z, .okay jr z, .okay

View File

@@ -125,7 +125,7 @@ CheckForLuckyNumberWinners:
push hl push hl
ld d, h ld d, h
ld e, l ld e, l
ld hl, wBuffer1 ld hl, wMonIDDigitsBuffer
lb bc, PRINTNUM_LEADINGZEROS | 2, 5 lb bc, PRINTNUM_LEADINGZEROS | 2, 5
call PrintNum call PrintNum
ld hl, wLuckyNumberDigitsBuffer ld hl, wLuckyNumberDigitsBuffer
@@ -135,7 +135,7 @@ CheckForLuckyNumberWinners:
ld b, 5 ld b, 5
ld c, 0 ld c, 0
ld hl, wLuckyNumberDigitsBuffer + 4 ld hl, wLuckyNumberDigitsBuffer + 4
ld de, wBuffer1 + 4 ld de, wMonIDDigitsBuffer + 4
.loop .loop
ld a, [de] ld a, [de]
cp [hl] cp [hl]

View File

@@ -361,15 +361,15 @@ PlayerWithdrawItemMenu:
.withdraw .withdraw
ld a, [wItemQuantityChangeBuffer] ld a, [wItemQuantityChangeBuffer]
ld [wBuffer1], a ; quantity ld [wPCItemQuantityChangeBuffer], a
ld a, [wCurItemQuantity] ld a, [wCurItemQuantity]
ld [wBuffer2], a ld [wPCItemQuantity], a
ld hl, wNumItems ld hl, wNumItems
call ReceiveItem call ReceiveItem
jr nc, .PackFull jr nc, .PackFull
ld a, [wBuffer1] ld a, [wPCItemQuantityChangeBuffer]
ld [wItemQuantityChangeBuffer], a ld [wItemQuantityChangeBuffer], a
ld a, [wBuffer2] ld a, [wPCItemQuantity]
ld [wCurItemQuantity], a ld [wCurItemQuantity], a
ld hl, wNumPCItems ld hl, wNumPCItems
call TossItem call TossItem
@@ -490,15 +490,15 @@ PlayerDepositItemMenu:
ret ret
.tossable .tossable
ld a, [wBuffer1] ld a, [wPCItemQuantityChangeBuffer]
push af push af
ld a, [wBuffer2] ld a, [wPCItemQuantity]
push af push af
call .DepositItem call .DepositItem
pop af pop af
ld [wBuffer2], a ld [wPCItemQuantity], a
pop af pop af
ld [wBuffer1], a ld [wPCItemQuantityChangeBuffer], a
ret ret
.DepositItem: .DepositItem:
@@ -522,15 +522,15 @@ PlayerDepositItemMenu:
.ContinueDeposit: .ContinueDeposit:
ld a, [wItemQuantityChangeBuffer] ld a, [wItemQuantityChangeBuffer]
ld [wBuffer1], a ld [wPCItemQuantityChangeBuffer], a
ld a, [wCurItemQuantity] ld a, [wCurItemQuantity]
ld [wBuffer2], a ld [wPCItemQuantity], a
ld hl, wNumPCItems ld hl, wNumPCItems
call ReceiveItem call ReceiveItem
jr nc, .NoRoomInPC jr nc, .NoRoomInPC
ld a, [wBuffer1] ld a, [wPCItemQuantityChangeBuffer]
ld [wItemQuantityChangeBuffer], a ld [wItemQuantityChangeBuffer], a
ld a, [wBuffer2] ld a, [wPCItemQuantity]
ld [wCurItemQuantity], a ld [wCurItemQuantity], a
ld hl, wNumItems ld hl, wNumItems
call TossItem call TossItem

View File

@@ -197,11 +197,11 @@ NoTreeMon:
GetTreeScore: GetTreeScore:
call .CoordScore call .CoordScore
ld [wBuffer1], a ld [wTreeMonCoordScore], a
call .OTIDScore call .OTIDScore
ld [wBuffer2], a ld [wTreeMonOTIDScore], a
ld c, a ld c, a
ld a, [wBuffer1] ld a, [wTreeMonCoordScore]
sub c sub c
jr z, .rare jr z, .rare
jr nc, .ok jr nc, .ok

View File

@@ -8,9 +8,9 @@ SelectQuantityToBuy:
farcall GetItemPrice farcall GetItemPrice
RooftopSale_SelectQuantityToBuy: RooftopSale_SelectQuantityToBuy:
ld a, d ld a, d
ld [wBuffer1], a ld [wBuySellItemPrice + 0], a
ld a, e ld a, e
ld [wBuffer2], a ld [wBuySellItemPrice + 1], a
ld hl, BuyItem_MenuHeader ld hl, BuyItem_MenuHeader
call LoadMenuHeader call LoadMenuHeader
call Toss_Sell_Loop call Toss_Sell_Loop
@@ -19,9 +19,9 @@ RooftopSale_SelectQuantityToBuy:
SelectQuantityToSell: SelectQuantityToSell:
farcall GetItemPrice farcall GetItemPrice
ld a, d ld a, d
ld [wBuffer1], a ld [wBuySellItemPrice + 0], a
ld a, e ld a, e
ld [wBuffer2], a ld [wBuySellItemPrice + 1], a
ld hl, SellItem_MenuHeader ld hl, SellItem_MenuHeader
call LoadMenuHeader call LoadMenuHeader
call Toss_Sell_Loop call Toss_Sell_Loop
@@ -159,9 +159,9 @@ DisplaySellingPrice:
BuySell_MultiplyPrice: BuySell_MultiplyPrice:
xor a xor a
ldh [hMultiplicand + 0], a ldh [hMultiplicand + 0], a
ld a, [wBuffer1] ld a, [wBuySellItemPrice + 0]
ldh [hMultiplicand + 1], a ldh [hMultiplicand + 1], a
ld a, [wBuffer2] ld a, [wBuySellItemPrice + 1]
ldh [hMultiplicand + 2], a ldh [hMultiplicand + 2], a
ld a, [wItemQuantityChangeBuffer] ld a, [wItemQuantityChangeBuffer]
ldh [hMultiplier], a ldh [hMultiplier], a

View File

@@ -449,6 +449,7 @@ Gen2ToGen2LinkComms:
ld [wOtherTrainerClass], a ld [wOtherTrainerClass], a
call ClearScreen call ClearScreen
farcall Link_WaitBGMap farcall Link_WaitBGMap
ld hl, wOptions ld hl, wOptions
ld a, [hl] ld a, [hl]
push af push af
@@ -460,8 +461,6 @@ Gen2ToGen2LinkComms:
ld bc, NAME_LENGTH ld bc, NAME_LENGTH
call CopyBytes call CopyBytes
call ReturnToMapFromSubmenu call ReturnToMapFromSubmenu
; LET'S DO THIS
ld a, [wDisableTextAcceleration] ld a, [wDisableTextAcceleration]
push af push af
ld a, 1 ld a, 1
@@ -478,6 +477,7 @@ Gen2ToGen2LinkComms:
pop af pop af
ldh [rIF], a ldh [rIF], a
; LET'S DO THIS
predef StartBattle predef StartBattle
ldh a, [rIF] ldh a, [rIF]
@@ -492,6 +492,7 @@ Gen2ToGen2LinkComms:
ld [wDisableTextAcceleration], a ld [wDisableTextAcceleration], a
pop af pop af
ld [wOptions], a ld [wOptions], a
farcall LoadPokemonData farcall LoadPokemonData
jp ExitLinkCommunications jp ExitLinkCommunications

View File

@@ -206,9 +206,10 @@ StartMenu_PrintBugContestStatus:
FindApricornsInBag: FindApricornsInBag:
; Checks the bag for Apricorns. ; Checks the bag for Apricorns.
ld hl, wBuffer1 ld hl, wKurtApricornCount
xor a xor a
ld [hli], a ld [hli], a
assert wKurtApricornCount + 1 == wKurtApricornItems
dec a dec a
ld bc, 10 ld bc, 10
call ByteFill call ByteFill
@@ -232,15 +233,15 @@ FindApricornsInBag:
jr .loop jr .loop
.done .done
ld a, [wBuffer1] ld a, [wKurtApricornCount]
and a and a
ret nz ret nz
scf scf
ret ret
.addtobuffer .addtobuffer:
push hl push hl
ld hl, wBuffer1 ld hl, wKurtApricornCount
inc [hl] inc [hl]
ld e, [hl] ld e, [hl]
ld d, 0 ld d, 0

View File

@@ -10,17 +10,17 @@ _PlayerDecorationMenu:
push af push af
ld hl, .MenuHeader ld hl, .MenuHeader
call LoadMenuHeader call LoadMenuHeader
xor a xor a ; FALSE
ld [wBuffer5], a ld [wChangedDecorations], a
ld a, $1 ld a, $1 ; bed
ld [wBuffer6], a ld [wCurDecorationCategory], a
.top_loop .top_loop
ld a, [wBuffer6] ld a, [wCurDecorationCategory]
ld [wMenuCursorBuffer], a ld [wMenuCursorBuffer], a
call .FindCategoriesWithOwnedDecos call .FindCategoriesWithOwnedDecos
call DoNthMenu call DoNthMenu
ld a, [wMenuCursorY] ld a, [wMenuCursorY]
ld [wBuffer6], a ld [wCurDecorationCategory], a
jr c, .exit_menu jr c, .exit_menu
ld a, [wMenuSelection] ld a, [wMenuSelection]
ld hl, .pointers ld hl, .pointers
@@ -31,7 +31,7 @@ _PlayerDecorationMenu:
call ExitMenu call ExitMenu
pop af pop af
ld [wWhichIndexSet], a ld [wWhichIndexSet], a
ld a, [wBuffer5] ld a, [wChangedDecorations]
ld c, a ld c, a
ret ret
@@ -71,7 +71,7 @@ _PlayerDecorationMenu:
xor a xor a
ld [wWhichIndexSet], a ld [wWhichIndexSet], a
call .ClearStringBuffer2 call .ClearStringBuffer2
call .FindOwndDecos call .FindOwnedDecos
ld a, 7 ld a, 7
call .AppendToStringBuffer2 call .AppendToStringBuffer2
ld hl, wStringBuffer2 ld hl, wStringBuffer2
@@ -98,7 +98,7 @@ _PlayerDecorationMenu:
ld [hl], a ld [hl], a
ret ret
.FindOwndDecos: .FindOwnedDecos:
ld hl, .dw ld hl, .dw
.loop .loop
ld a, [hli] ld a, [hli]
@@ -642,12 +642,12 @@ DecoAction_putawaybigdoll:
DecoAction_TrySetItUp: DecoAction_TrySetItUp:
ld a, [hl] ld a, [hl]
ld [wBuffer1], a ld [wCurDecoration], a
push hl push hl
call DecoAction_SetItUp call DecoAction_SetItUp
jr c, .failed jr c, .failed
ld a, 1 ld a, TRUE
ld [wBuffer5], a ld [wChangedDecorations], a
pop hl pop hl
ld a, [wMenuSelection] ld a, [wMenuSelection]
ld [hl], a ld [hl], a
@@ -661,7 +661,7 @@ DecoAction_TrySetItUp:
DecoAction_SetItUp: DecoAction_SetItUp:
; See if there's anything of the same type already out ; See if there's anything of the same type already out
ld a, [wBuffer1] ld a, [wCurDecoration]
and a and a
jr z, .nothingthere jr z, .nothingthere
; See if that item is already out ; See if that item is already out
@@ -673,7 +673,7 @@ DecoAction_SetItUp:
ld a, [wMenuSelection] ld a, [wMenuSelection]
ld hl, wStringBuffer4 ld hl, wStringBuffer4
call GetDecorationName call GetDecorationName
ld a, [wBuffer1] ld a, [wCurDecoration]
ld hl, wStringBuffer3 ld hl, wStringBuffer3
call GetDecorationName call GetDecorationName
ld hl, PutAwayAndSetUpText ld hl, PutAwayAndSetUpText
@@ -699,16 +699,16 @@ DecoAction_SetItUp:
DecoAction_TryPutItAway: DecoAction_TryPutItAway:
; If there is no item of that type already set, there is nothing to put away. ; If there is no item of that type already set, there is nothing to put away.
ld a, [hl] ld a, [hl]
ld [wBuffer1], a ld [wCurDecoration], a
xor a xor a
ld [hl], a ld [hl], a
ld a, [wBuffer1] ld a, [wCurDecoration]
and a and a
jr z, .nothingthere jr z, .nothingthere
; Put it away. ; Put it away.
ld a, $1 ld a, TRUE
ld [wBuffer5], a ld [wChangedDecorations], a
ld a, [wBuffer1] ld a, [wCurDecoration]
ld [wMenuSelection], a ld [wMenuSelection], a
ld hl, wStringBuffer3 ld hl, wStringBuffer3
call GetDecorationName call GetDecorationName
@@ -729,8 +729,8 @@ DecoAction_setupornament:
jr c, .cancel jr c, .cancel
call DecoAction_SetItUp_Ornament call DecoAction_SetItUp_Ornament
jr c, .cancel jr c, .cancel
ld a, $1 ld a, TRUE
ld [wBuffer5], a ld [wChangedDecorations], a
jr DecoAction_FinishUp_Ornament jr DecoAction_FinishUp_Ornament
.cancel .cancel
@@ -816,8 +816,8 @@ DecoAction_PutItAway_Ornament:
jr z, .nothingthere jr z, .nothingthere
ld hl, wStringBuffer3 ld hl, wStringBuffer3
call GetDecorationName call GetDecorationName
ld a, $1 ld a, TRUE
ld [wBuffer5], a ld [wChangedDecorations], a
xor a xor a
ld [wSelectedDecoration], a ld [wSelectedDecoration], a
ld hl, PutAwayTheDecoText ld hl, PutAwayTheDecoText
@@ -843,9 +843,9 @@ DecoAction_AskWhichSide:
call CopyMenuData call CopyMenuData
jr c, .nope jr c, .nope
ld a, [wMenuCursorY] ld a, [wMenuCursorY]
cp 3 cp 3 ; cancel
jr z, .nope jr z, .nope
ld [wBuffer2], a ld [wSelectedDecorationSide], a
call QueryWhichSide call QueryWhichSide
ld a, [hl] ld a, [hl]
ld [wSelectedDecoration], a ld [wSelectedDecoration], a
@@ -861,9 +861,10 @@ DecoAction_AskWhichSide:
QueryWhichSide: QueryWhichSide:
ld hl, wDecoRightOrnament ld hl, wDecoRightOrnament
ld de, wDecoLeftOrnament ld de, wDecoLeftOrnament
ld a, [wBuffer2] ld a, [wSelectedDecorationSide]
cp 1 cp 1 ; right side
ret z ret z
; left side, swap hl and de
push hl push hl
ld h, d ld h, d
ld l, e ld l, e

View File

@@ -261,15 +261,15 @@ DoMysteryGiftIfDayHasPassed:
call OpenSRAM call OpenSRAM
ld hl, sMysteryGiftTimer ld hl, sMysteryGiftTimer
ld a, [hli] ld a, [hli]
ld [wBuffer1], a ld [wTempMysteryGiftTimer], a
ld a, [hl] ld a, [hl]
ld [wBuffer2], a ld [wTempMysteryGiftTimer + 1], a
call CloseSRAM call CloseSRAM
ld hl, wBuffer1 ld hl, wTempMysteryGiftTimer
call CheckDayDependentEventHL call CheckDayDependentEventHL
jr nc, .not_timed_out jr nc, .not_timed_out
ld hl, wBuffer1 ld hl, wTempMysteryGiftTimer
call InitOneDayCountdown call InitOneDayCountdown
call CloseSRAM call CloseSRAM
farcall ResetDailyMysteryGiftLimitIfUnlocked farcall ResetDailyMysteryGiftLimitIfUnlocked
@@ -277,7 +277,7 @@ DoMysteryGiftIfDayHasPassed:
.not_timed_out .not_timed_out
ld a, BANK(sMysteryGiftTimer) ld a, BANK(sMysteryGiftTimer)
call OpenSRAM call OpenSRAM
ld hl, wBuffer1 ld hl, wTempMysteryGiftTimer
ld a, [hli] ld a, [hli]
ld [sMysteryGiftTimer], a ld [sMysteryGiftTimer], a
ld a, [hl] ld a, [hl]

View File

@@ -62,7 +62,7 @@ Phone_FindOpenSlot:
GetRemainingSpaceInPhoneList: GetRemainingSpaceInPhoneList:
xor a xor a
ld [wBuffer1], a ld [wRegisteredPhoneNumbers], a
ld hl, PermanentNumbers ld hl, PermanentNumbers
.loop .loop
ld a, [hli] ld a, [hli]
@@ -76,7 +76,7 @@ GetRemainingSpaceInPhoneList:
ld c, a ld c, a
call _CheckCellNum call _CheckCellNum
jr c, .permanent jr c, .permanent
ld hl, wBuffer1 ld hl, wRegisteredPhoneNumbers
inc [hl] inc [hl]
.permanent .permanent
pop hl pop hl
@@ -87,7 +87,7 @@ GetRemainingSpaceInPhoneList:
.done .done
ld a, CONTACT_LIST_SIZE ld a, CONTACT_LIST_SIZE
ld hl, wBuffer1 ld hl, wRegisteredPhoneNumbers
sub [hl] sub [hl]
ret ret

View File

@@ -509,7 +509,7 @@ FillMoves:
ld a, [wCurPartyLevel] ld a, [wCurPartyLevel]
cp b cp b
jp c, .done jp c, .done
ld a, [wEvolutionOldSpecies] ld a, [wSkipMovesBeforeLevelUp]
and a and a
jr z, .CheckMove jr z, .CheckMove
ld a, [wPrevPartyLevel] ld a, [wPrevPartyLevel]

View File

@@ -142,7 +142,7 @@ ForgetMove:
call Textbox call Textbox
hlcoord 5 + 2, 2 + 2 hlcoord 5 + 2, 2 + 2
ld a, SCREEN_WIDTH * 2 ld a, SCREEN_WIDTH * 2
ld [wBuffer1], a ld [wListMovesLineSpacing], a
predef ListMoves predef ListMoves
; w2DMenuData ; w2DMenuData
ld a, $4 ld a, $4

View File

@@ -322,7 +322,8 @@ InitMail:
; initialize wMailboxCount from sMailboxCount ; initialize wMailboxCount from sMailboxCount
ld hl, wMailboxCount ld hl, wMailboxCount
ld [hli], a ; now hl = wMailboxItems ld [hli], a
assert wMailboxCount + 1 == wMailboxItems
and a and a
jr z, .done ; if no mail, we're done jr z, .done ; if no mail, we're done

View File

@@ -1,3 +1,17 @@
; MailGFXPointers indexes
; LoadMailPalettes.MailPals indexes (see gfx/mail/mail.pal)
const_def
const FLOWER_MAIL_INDEX ; 0
const SURF_MAIL_INDEX ; 1
const LITEBLUEMAIL_INDEX ; 2
const PORTRAITMAIL_INDEX ; 3
const LOVELY_MAIL_INDEX ; 4
const EON_MAIL_INDEX ; 5
const MORPH_MAIL_INDEX ; 6
const BLUESKY_MAIL_INDEX ; 7
const MUSIC_MAIL_INDEX ; 8
const MIRAGE_MAIL_INDEX ; 9
ReadPartyMonMail: ReadPartyMonMail:
ld a, [wCurPartyMon] ld a, [wCurPartyMon]
ld hl, sPartyMail ld hl, sPartyMail
@@ -35,7 +49,7 @@ ReadAnyMail:
call .LoadGFX call .LoadGFX
call EnableLCD call EnableLCD
call WaitBGMap call WaitBGMap
ld a, [wBuffer3] ld a, [wCurMailIndex]
ld e, a ld e, a
farcall LoadMailPalettes farcall LoadMailPalettes
call SetPalettes call SetPalettes
@@ -72,13 +86,13 @@ ReadAnyMail:
call OpenSRAM call OpenSRAM
ld de, sPartyMon1MailAuthorID - sPartyMon1Mail ld de, sPartyMon1MailAuthorID - sPartyMon1Mail
add hl, de add hl, de
ld a, [hli] ; author id
ld [wCurMailAuthorID], a
ld a, [hli] ld a, [hli]
ld [wBuffer1], a ld [wCurMailAuthorID + 1], a
ld a, [hli] ld a, [hli] ; species
ld [wBuffer2], a
ld a, [hli]
ld [wCurPartySpecies], a ld [wCurPartySpecies], a
ld b, [hl] ld b, [hl] ; type
call CloseSRAM call CloseSRAM
ld hl, MailGFXPointers ld hl, MailGFXPointers
ld c, 0 ld c, 0
@@ -99,7 +113,7 @@ ReadAnyMail:
.got_pointer .got_pointer
ld a, c ld a, c
ld [wBuffer3], a ld [wCurMailIndex], a
ld a, [hli] ld a, [hli]
ld h, [hl] ld h, [hl]
ld l, a ld l, a
@@ -111,6 +125,7 @@ ReadAnyMail:
ret ret
MailGFXPointers: MailGFXPointers:
; entries correspond to *MAIL_INDEX constants
dbw FLOWER_MAIL, LoadFlowerMailGFX dbw FLOWER_MAIL, LoadFlowerMailGFX
dbw SURF_MAIL, LoadSurfMailGFX dbw SURF_MAIL, LoadSurfMailGFX
dbw LITEBLUEMAIL, LoadLiteBlueMailGFX dbw LITEBLUEMAIL, LoadLiteBlueMailGFX
@@ -121,7 +136,7 @@ MailGFXPointers:
dbw BLUESKY_MAIL, LoadBlueSkyMailGFX dbw BLUESKY_MAIL, LoadBlueSkyMailGFX
dbw MUSIC_MAIL, LoadMusicMailGFX dbw MUSIC_MAIL, LoadMusicMailGFX
dbw MIRAGE_MAIL, LoadMirageMailGFX dbw MIRAGE_MAIL, LoadMirageMailGFX
db -1 db -1 ; end
LoadSurfMailGFX: LoadSurfMailGFX:
push bc push bc
@@ -697,12 +712,12 @@ MailGFX_PlaceMessage:
ld a, [de] ld a, [de]
and a and a
ret z ret z
ld a, [wBuffer3] ld a, [wCurMailIndex]
hlcoord 8, 14 hlcoord 8, 14
cp $3 ; PORTRAITMAIL cp PORTRAITMAIL_INDEX
jr z, .place_author jr z, .place_author
hlcoord 6, 14 hlcoord 6, 14
cp $6 ; MORPH_MAIL cp MORPH_MAIL_INDEX
jr z, .place_author jr z, .place_author
hlcoord 5, 14 hlcoord 5, 14

View File

@@ -1145,7 +1145,7 @@ SetUpMoveList:
ld bc, NUM_MOVES ld bc, NUM_MOVES
call CopyBytes call CopyBytes
ld a, SCREEN_WIDTH * 2 ld a, SCREEN_WIDTH * 2
ld [wBuffer1], a ld [wListMovesLineSpacing], a
hlcoord 2, 3 hlcoord 2, 3
predef ListMoves predef ListMoves
hlcoord 10, 4 hlcoord 10, 4

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