summaryrefslogtreecommitdiff
path: root/engine/hall_of_fame.asm
diff options
context:
space:
mode:
Diffstat (limited to 'engine/hall_of_fame.asm')
-rwxr-xr-xengine/hall_of_fame.asm217
1 files changed, 109 insertions, 108 deletions
diff --git a/engine/hall_of_fame.asm b/engine/hall_of_fame.asm
index 0bd906c7..37b56e2d 100755
--- a/engine/hall_of_fame.asm
+++ b/engine/hall_of_fame.asm
@@ -1,5 +1,5 @@
AnimateHallOfFame: ; 701c6 (1c:41c6)
- call Func_7047b
+ call HoFFadeOutScreenAndMusic
call ClearScreen
ld c, 100
call DelayFrames
@@ -8,10 +8,10 @@ AnimateHallOfFame: ; 701c6 (1c:41c6)
call DisableLCD
ld hl,vBGMap0
ld bc, $800
- ld a, $7f
+ ld a, " "
call FillMemory
call EnableLCD
- ld hl, rLCDC ; $ff40
+ ld hl, rLCDC
set 3, [hl]
xor a
ld hl, wHallOfFame
@@ -21,16 +21,16 @@ AnimateHallOfFame: ; 701c6 (1c:41c6)
ld [wUpdateSpritesEnabled], a
ld [hTilesetType], a
ld [W_SPRITEFLIPPED], a
- ld [wd358], a
- ld [wTrainerScreenY], a
+ ld [wLetterPrintingDelayFlags], a ; no delay
+ ld [wHoFMonOrPlayer], a ; mon
inc a
- ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
- ld hl, wd5a2
+ ld [H_AUTOBGTRANSFERENABLED], a
+ ld hl, wNumHoFTeams
ld a, [hl]
inc a
- jr z, .asm_70211
+ jr z, .skipInc ; don't wrap around to 0
inc [hl]
-.asm_70211
+.skipInc
ld a, $90
ld [hWY], a
ld c, $1f ; BANK(Music_HallOfFame)
@@ -38,29 +38,29 @@ AnimateHallOfFame: ; 701c6 (1c:41c6)
call PlayMusic
ld hl, wPartySpecies
ld c, $ff
-.asm_70221
+.partyMonLoop
ld a, [hli]
cp $ff
- jr z, .asm_70266
+ jr z, .doneShowingParty
inc c
push hl
push bc
- ld [wWhichTrade], a ; wWhichTrade
+ ld [wHoFMonSpecies], a
ld a, c
- ld [wTrainerEngageDistance], a
- ld hl, wPartyMon1Level ; wPartyMon1Level
+ ld [wHoFPartyMonIndex], a
+ ld hl, wPartyMon1Level
ld bc, wPartyMon2 - wPartyMon1
call AddNTimes
ld a, [hl]
- ld [wTrainerFacingDirection], a
- call Func_702a2
- call Func_7030e
- ld c, $50
+ ld [wHoFMonLevel], a
+ call HoFShowMonOrPlayer
+ call HoFDisplayAndRecordMonInfo
+ ld c, 80
call DelayFrames
- hlCoord 2, 13
- ld bc, $30e
+ coord hl, 2, 13
+ lb bc, $3, $e
call TextBoxBorder
- hlCoord 4, 15
+ coord hl, 4, 15
ld de, HallOfFameText
call PlaceString
ld c, 180
@@ -68,8 +68,8 @@ AnimateHallOfFame: ; 701c6 (1c:41c6)
call GBFadeOutToWhite
pop bc
pop hl
- jr .asm_70221
-.asm_70266
+ jr .partyMonLoop
+.doneShowingParty
ld a, c
inc a
ld hl, wHallOfFame
@@ -78,137 +78,138 @@ AnimateHallOfFame: ; 701c6 (1c:41c6)
ld [hl], $ff
callab SaveHallOfFameTeams ; useless since in same bank
xor a
- ld [wWhichTrade], a ; wWhichTrade
+ ld [wHoFMonSpecies], a
inc a
- ld [wTrainerScreenY], a
- call Func_702a2
- call Func_703d1
- call Func_7047b
+ ld [wHoFMonOrPlayer], a ; player
+ call HoFShowMonOrPlayer
+ call HoFDisplayPlayerStats
+ call HoFFadeOutScreenAndMusic
xor a
ld [hWY], a
- ld hl, rLCDC ; $ff40
+ ld hl, rLCDC
res 3, [hl]
ret
HallOfFameText: ; 70295 (1c:4295)
db "HALL OF FAME@"
-Func_702a2: ; 702a2 (1c:42a2)
+HoFShowMonOrPlayer: ; 702a2 (1c:42a2)
call ClearScreen
ld a, $d0
ld [hSCY], a
ld a, $c0
ld [hSCX], a
- ld a, [wWhichTrade] ; wWhichTrade
+ ld a, [wHoFMonSpecies]
ld [wcf91], a
ld [wd0b5], a
ld [wBattleMonSpecies2], a
- ld [wcf1d], a
- ld a, [wTrainerScreenY]
+ ld [wWholeScreenPaletteMonSpecies], a
+ ld a, [wHoFMonOrPlayer]
and a
- jr z, .asm_702c7
- call Func_70390
- jr .asm_702d5
-.asm_702c7
- hlCoord 12, 5
+ jr z, .showMon
+; show player
+ call HoFLoadPlayerPics
+ jr .next1
+.showMon
+ coord hl, 12, 5
call GetMonHeader
call LoadFrontSpriteByMonIndex
predef LoadMonBackPic
-.asm_702d5
- ld b, $b
- ld c, $0
- call GoPAL_SET
- ld a, $e4
- ld [rBGP], a ; $ff47
+.next1
+ ld b, SET_PAL_POKEMON_WHOLE_SCREEN
+ ld c, 0
+ call RunPaletteCommand
+ ld a, %11100100
+ ld [rBGP], a
call Func_3021
- ld c, $31
- call Func_703c7
+ ld c, $31 ; back pic
+ call HoFLoadMonPlayerPicTileIDs
ld d, $a0
- ld e, $4
+ ld e, 4
ld a, [wOnSGB]
and a
- jr z, .asm_702f4
- sla e
-.asm_702f4
- call .asm_70302
+ jr z, .next2
+ sla e ; scroll more slowly on SGB
+.next2
+ call .ScrollPic ; scroll back pic left
xor a
ld [hSCY], a
- ld c, a
- call Func_703c7
- ld d, $0
- ld e, $fc
-.asm_70302
+ ld c, a ; front pic
+ call HoFLoadMonPlayerPicTileIDs
+ ld d, 0
+ ld e, -4
+; scroll front pic right
+
+.ScrollPic
call DelayFrame
ld a, [hSCX]
add e
ld [hSCX], a
cp d
- jr nz, .asm_70302
+ jr nz, .ScrollPic
ret
-Func_7030e: ; 7030e (1c:430e)
- ld a, [wTrainerEngageDistance]
+HoFDisplayAndRecordMonInfo: ; 7030e (1c:430e)
+ ld a, [wHoFPartyMonIndex]
ld hl, wPartyMonNicks ; wPartyMonNicks
call GetPartyMonName
- call Func_70348
- ld a, [wTrainerEngageDistance]
+ call HoFDisplayMonInfo
+ ld a, [wHoFPartyMonIndex]
ld [wWhichPokemon], a
callab Func_fce18 ; 3f:4e18
jr nc, .asm_70336
- ld e,$22
+ ld e, $22
callab Func_f0000
jr .asm_7033c
.asm_70336
- ld a,[wWhichTrade]
+ ld a,[wHoFMonSpecies]
call PlayCry
.asm_7033c
- jp Func_7045c
+ jp HoFRecordMonInfo
Func_7033f: ; 7033f (1c:433f)
- call Func_70348
- ld a,[wWhichTrade]
+ call HoFDisplayMonInfo
+ ld a,[wHoFMonSpecies]
jp PlayCry
-Func_70348: ; 70348 (1c:4348)
+HoFDisplayMonInfo: ; 70348 (1c:4348)
hlCoord 0, 2
- ld bc, $90a
+ lb bc, 9, 10
call TextBoxBorder
- hlCoord 2, 6
+ coord hl, 2, 6
ld de, HoFMonInfoText
call PlaceString
- hlCoord 1, 4
+ coord hl, 1, 4
ld de, wcd6d
call PlaceString
- ld a, [wTrainerFacingDirection]
- hlCoord 8, 7
+ ld a, [wHoFMonLevel]
+ coord hl, 8, 7
call PrintLevelCommon
- ld a, [wWhichTrade] ; wWhichTrade
+ ld a, [wHoFMonSpecies]
ld [wd0b5], a
- hlCoord 3, 9
+ coord hl, 3, 9
predef PrintMonType
ret
- ;ld a, [wWhichTrade] ; wWhichTrade
- ;jp PlayCry
HoFMonInfoText: ; 7037b (1c:437b)
db "LEVEL/"
next "TYPE1/"
next "TYPE2/@"
-Func_70390: ; 70390 (1c:433e)
+HoFLoadPlayerPics: ; 70390 (1c:433e)
ld de, RedPicFront ; $6ede
ld a, BANK(RedPicFront)
call UncompressSpriteFromDE
ld a,$0
call SwitchSRAMBankAndLatchClockData
ld hl, S_SPRITEBUFFER1
- ld de, $a000
+ ld de, S_SPRITEBUFFER0
ld bc, $310
call CopyData
call PrepareRTCDataAndDisableSRAM
ld de, vFrontPic
call InterlaceMergeSpriteBuffers
- ld de, RedPicBack ; $7e0a
+ ld de, RedPicBack
ld a, BANK(RedPicBack)
call UncompressSpriteFromDE
predef ScaleSpriteByTwo
@@ -216,52 +217,52 @@ Func_70390: ; 70390 (1c:433e)
call InterlaceMergeSpriteBuffers
ld c, $1
-Func_703c7: ; 703c7 (1c:43c7)
+HoFLoadMonPlayerPicTileIDs: ; 703c7 (1c:43c7)
ld b, $0
- hlCoord 12, 5
+ coord hl, 12, 5
predef_jump CopyTileIDsFromList
-Func_703d1: ; 703d1 (1c:43d1)
+HoFDisplayPlayerStats: ; 703d1 (1c:43d1)
ld hl, wd747
set 3, [hl]
predef DisplayDexRating
hlCoord 0, 4
- ld bc, $60a
+ lb bc, 6, 10
call TextBoxBorder
hlCoord 5, 0
- ld bc, $209
+ lb bc, 2, 9
call TextBoxBorder
- hlCoord 7, 2
- ld de, wPlayerName ; wd158
+ coord hl, 7, 2
+ ld de, wPlayerName
call PlaceString
- hlCoord 1, 6
+ coord hl, 1, 6
ld de, HoFPlayTimeText
call PlaceString
- hlCoord 5, 7
+ coord hl, 5, 7
ld de, W_PLAYTIMEHOURS + 1
- ld bc, $103
+ lb bc, 1, 3
call PrintNumber
ld [hl], $6d
inc hl
ld de, W_PLAYTIMEMINUTES + 1
- ld bc, $8102
+ lb bc, LEADING_ZEROES | 1, 2
call PrintNumber
- hlCoord 1, 9
+ coord hl, 1, 9
ld de, HoFMoneyText
call PlaceString
- hlCoord 4, 10
- ld de, wPlayerMoney ; wPlayerMoney
+ coord hl, 4, 10
+ ld de, wPlayerMoney
ld c, $a3
call PrintBCDNumber
ld hl, DexSeenOwnedText
- call Func_7043a
+ call HoFPrintTextAndDelay
ld hl, DexRatingText
- call Func_7043a
- ld hl, wcc5d
+ call HoFPrintTextAndDelay
+ ld hl, wDexRatingText
-Func_7043a: ; 7043a (1c:443a)
+HoFPrintTextAndDelay: ; 7043a (1c:443a)
call PrintText
- ld c, $78
+ ld c, 120
jp DelayFrames
HoFPlayTimeText: ; 70442 (1c:4442)
@@ -278,25 +279,25 @@ DexRatingText: ; 70457 (1c:4457)
TX_FAR _DexRatingText
db "@"
-Func_7045c: ; 7045c (1c:445c)
+HoFRecordMonInfo: ; 7045c (1c:445c)
ld hl, wHallOfFame
ld bc, HOF_MON
- ld a, [wTrainerEngageDistance]
+ ld a, [wHoFPartyMonIndex]
call AddNTimes
- ld a, [wWhichTrade] ; wWhichTrade
+ ld a, [wHoFMonSpecies]
ld [hli], a
- ld a, [wTrainerFacingDirection]
+ ld a, [wHoFMonLevel]
ld [hli], a
ld e, l
ld d, h
ld hl, wcd6d
- ld bc, $b
+ ld bc, NAME_LENGTH
jp CopyData
-Func_7047b: ; 7047b (1c:447b)
- ld a, $a
- ld [wcfc8], a
- ld [wcfc9], a
+HoFFadeOutScreenAndMusic: ; 7047b (1c:447b)
+ ld a, 10
+ ld [wAudioFadeOutCounterReloadValue], a
+ ld [wAudioFadeOutCounter], a
ld a, $ff
- ld [wMusicHeaderPointer], a
+ ld [wAudioFadeOutControl], a
jp GBFadeOutToWhite