diff options
Diffstat (limited to 'engine/menu/prize_menu.asm')
-rwxr-xr-x | engine/menu/prize_menu.asm | 208 |
1 files changed, 104 insertions, 104 deletions
diff --git a/engine/menu/prize_menu.asm b/engine/menu/prize_menu.asm index f6ca013b..bcd0d4ea 100755 --- a/engine/menu/prize_menu.asm +++ b/engine/menu/prize_menu.asm @@ -1,26 +1,26 @@ CeladonPrizeMenu: - ld b,COIN_CASE + ld b, COIN_CASE call IsItemInBag - jr nz,.havingCoinCase - ld hl,RequireCoinCaseTextPtr + jr nz, .havingCoinCase + ld hl, RequireCoinCaseTextPtr jp PrintText .havingCoinCase - ld hl,wd730 - set 6,[hl] ; disable letter-printing delay - ld hl,ExchangeCoinsForPrizesTextPtr + ld hl, wd730 + set 6, [hl] ; disable letter-printing delay + ld hl, ExchangeCoinsForPrizesTextPtr call PrintText ; the following are the menu settings xor a - ld [wCurrentMenuItem],a - ld [wLastMenuItem],a - ld a,A_BUTTON | B_BUTTON - ld [wMenuWatchedKeys],a - ld a,$03 - ld [wMaxMenuItem],a - ld a,$04 - ld [wTopMenuItemY],a - ld a,$01 - ld [wTopMenuItemX],a + ld [wCurrentMenuItem], a + ld [wLastMenuItem], a + ld a, A_BUTTON | B_BUTTON + ld [wMenuWatchedKeys], a + ld a, $03 + ld [wMaxMenuItem], a + ld a, $04 + ld [wTopMenuItemY], a + ld a, $01 + ld [wTopMenuItemX], a call PrintPrizePrice coord hl, 0, 2 ld b, 8 @@ -28,18 +28,18 @@ CeladonPrizeMenu: call TextBoxBorder call GetPrizeMenuId call UpdateSprites - ld hl,WhichPrizeTextPtr + ld hl, WhichPrizeTextPtr call PrintText call HandleMenuInput ; menu choice handler - bit 1,a ; keypress = B (Cancel) + bit 1, a ; keypress = B (Cancel) jr nz, .noChoice - ld a,[wCurrentMenuItem] + ld a, [wCurrentMenuItem] cp 3 ; "NO,THANKS" choice jr z, .noChoice call HandlePrizeChoice .noChoice - ld hl,wd730 - res 6,[hl] + ld hl, wd730 + res 6, [hl] ret RequireCoinCaseTextPtr: @@ -64,85 +64,85 @@ GetPrizeMenuId: ; display the three prizes' names ; (distinguishing between Pokemon names ; and Items (specifically TMs) names) - ld a,[hSpriteIndexOrTextID] + ld a, [hSpriteIndexOrTextID] sub 3 ; prize-texts' id are 3, 4 and 5 - ld [wWhichPrizeWindow],a ; prize-texts' id (relative, i.e. 0, 1 or 2) + ld [wWhichPrizeWindow], a ; prize-texts' id (relative, i.e. 0, 1 or 2) add a add a - ld d,0 - ld e,a - ld hl,PrizeDifferentMenuPtrs - add hl,de - ld a,[hli] - ld d,[hl] - ld e,a + ld d, 0 + ld e, a + ld hl, PrizeDifferentMenuPtrs + add hl, de + ld a, [hli] + ld d, [hl] + ld e, a inc hl push hl - ld hl,wPrize1 + ld hl, wPrize1 call CopyString pop hl - ld a,[hli] - ld h,[hl] - ld l,a - ld de,wPrize1Price - ld bc,6 + ld a, [hli] + ld h, [hl] + ld l, a + ld de, wPrize1Price + ld bc, 6 call CopyData - ld a,[wWhichPrizeWindow] + ld a, [wWhichPrizeWindow] cp 2 ;is TM_menu? - jr nz,.putMonName - ld a,[wPrize1] - ld [wd11e],a + jr nz, .putMonName + ld a, [wPrize1] + ld [wd11e], a call GetItemName coord hl, 2, 4 call PlaceString - ld a,[wPrize2] - ld [wd11e],a + ld a, [wPrize2] + ld [wd11e], a call GetItemName coord hl, 2, 6 call PlaceString - ld a,[wPrize3] - ld [wd11e],a + ld a, [wPrize3] + ld [wd11e], a call GetItemName coord hl, 2, 8 call PlaceString jr .putNoThanksText .putMonName - ld a,[wPrize1] - ld [wd11e],a + ld a, [wPrize1] + ld [wd11e], a call GetMonName coord hl, 2, 4 call PlaceString - ld a,[wPrize2] - ld [wd11e],a + ld a, [wPrize2] + ld [wd11e], a call GetMonName coord hl, 2, 6 call PlaceString - ld a,[wPrize3] - ld [wd11e],a + ld a, [wPrize3] + ld [wd11e], a call GetMonName coord hl, 2, 8 call PlaceString .putNoThanksText coord hl, 2, 10 - ld de,NoThanksText + ld de, NoThanksText call PlaceString ; put prices on the right side of the textbox - ld de,wPrize1Price + ld de, wPrize1Price coord hl, 13, 5 ; reg. c: ; [low nybble] number of bytes ; [bit 765 = %100] space-padding (not zero-padding) - ld c,(1 << 7 | 2) + ld c, (1 << 7 | 2) ; Function $15CD displays BCD value (same routine ; used by text-command $02) call PrintBCDNumber - ld de,wPrize2Price + ld de, wPrize2Price coord hl, 13, 7 - ld c,(1 << 7 | 2) + ld c, (1 << 7 | 2) call PrintBCDNumber - ld de,wPrize3Price + ld de, wPrize3Price coord hl, 13, 9 - ld c,(1 << 7 | 2) + ld c, (1 << 7 | 2) jp PrintBCDNumber INCLUDE "data/prizes.asm" @@ -160,8 +160,8 @@ PrintPrizePrice: ld de, .SixSpacesString call PlaceString coord hl, 13, 1 - ld de,wPlayerCoins - ld c,%10000010 + ld de, wPlayerCoins + ld c, %10000010 call PrintBCDNumber ret @@ -172,30 +172,30 @@ PrintPrizePrice: db " @" LoadCoinsToSubtract: - ld a,[wWhichPrize] + ld a, [wWhichPrize] add a - ld d,0 - ld e,a - ld hl,wPrize1Price - add hl,de ; get selected prize's price + ld d, 0 + ld e, a + ld hl, wPrize1Price + add hl, de ; get selected prize's price xor a - ld [hUnusedCoinsByte],a - ld a,[hli] - ld [hCoins],a - ld a,[hl] - ld [hCoins + 1],a + ld [hUnusedCoinsByte], a + ld a, [hli] + ld [hCoins], a + ld a, [hl] + ld [hCoins + 1], a ret HandlePrizeChoice: - ld a,[wCurrentMenuItem] - ld [wWhichPrize],a - ld d,0 - ld e,a - ld hl,wPrize1 - add hl,de - ld a,[hl] - ld [wd11e],a - ld a,[wWhichPrizeWindow] + ld a, [wCurrentMenuItem] + ld [wWhichPrize], a + ld d, 0 + ld e, a + ld hl, wPrize1 + add hl, de + ld a, [hl] + ld [wd11e], a + ld a, [wWhichPrizeWindow] cp 2 ; is prize a TM? jr nz, .getMonName call GetItemName @@ -203,40 +203,40 @@ HandlePrizeChoice: .getMonName call GetMonName .givePrize - ld hl,SoYouWantPrizeTextPtr + ld hl, SoYouWantPrizeTextPtr call PrintText call YesNoChoice - ld a,[wCurrentMenuItem] ; yes/no answer (Y=0, N=1) + ld a, [wCurrentMenuItem] ; yes/no answer (Y=0, N=1) and a jr nz, .printOhFineThen call LoadCoinsToSubtract call HasEnoughCoins jr c, .notEnoughCoins - ld a,[wWhichPrizeWindow] + ld a, [wWhichPrizeWindow] cp $02 jr nz, .giveMon - ld a,[wd11e] - ld b,a - ld a,1 - ld c,a + ld a, [wd11e] + ld b, a + ld a, 1 + ld c, a call GiveItem jr nc, .bagFull jr .subtractCoins .giveMon - ld a,[wd11e] - ld [wcf91],a + ld a, [wd11e] + ld [wcf91], a push af call GetPrizeMonLevel - ld c,a + ld c, a pop af - ld b,a + ld b, a call GivePokemon ; If either the party or box was full, wait after displaying message. push af - ld a,[wAddedToParty] + ld a, [wAddedToParty] and a - call z,WaitForTextScrollButtonPress + call z, WaitForTextScrollButtonPress pop af ; If the mon couldn't be given to the player (because both the party and box @@ -245,19 +245,19 @@ HandlePrizeChoice: .subtractCoins call LoadCoinsToSubtract - ld hl,hCoins + 1 - ld de,wPlayerCoins + 1 - ld c,$02 ; how many bytes + ld hl, hCoins + 1 + ld de, wPlayerCoins + 1 + ld c, $02 ; how many bytes predef SubBCDPredef jp PrintPrizePrice .bagFull - ld hl,PrizeRoomBagIsFullTextPtr + ld hl, PrizeRoomBagIsFullTextPtr jp PrintText .notEnoughCoins - ld hl,SorryNeedMoreCoinsText + ld hl, SorryNeedMoreCoinsText jp PrintText .printOhFineThen - ld hl,OhFineThenTextPtr + ld hl, OhFineThenTextPtr jp PrintText UnknownPrizeData: @@ -289,18 +289,18 @@ OhFineThenTextPtr: db "@" GetPrizeMonLevel: - ld a,[wcf91] - ld b,a - ld hl,PrizeMonLevelDictionary + ld a, [wcf91] + ld b, a + ld hl, PrizeMonLevelDictionary .loop - ld a,[hli] + ld a, [hli] cp b - jr z,.matchFound + jr z, .matchFound inc hl jr .loop .matchFound - ld a,[hl] - ld [wCurEnemyLVL],a + ld a, [hl] + ld [wCurEnemyLVL], a ret INCLUDE "data/prize_mon_levels.asm" |