diff options
author | yenatch <yenatch@gmail.com> | 2014-06-14 14:24:35 -0700 |
---|---|---|
committer | yenatch <yenatch@gmail.com> | 2014-06-14 14:24:35 -0700 |
commit | 81bbab85ac7d7f4c2efe794a4b3cc1e51c0b2689 (patch) | |
tree | 6fe00a8968a096b3147b53c8bdb5213d6c58e2e0 | |
parent | 53ae0e93fad9f4c3eaef92f102b1eeb531e59d68 (diff) |
Hall of Fame sram labels and related constants.
-rw-r--r-- | constants/misc_constants.asm | 6 | ||||
-rw-r--r-- | constants/pokedex_constants.asm | 4 | ||||
-rwxr-xr-x | engine/hall_of_fame.asm | 20 | ||||
-rwxr-xr-x | engine/menu/league_pc.asm | 32 | ||||
-rwxr-xr-x | engine/save.asm | 38 | ||||
-rw-r--r-- | home.asm | 2 | ||||
-rwxr-xr-x | wram.asm | 34 |
7 files changed, 75 insertions, 61 deletions
diff --git a/constants/misc_constants.asm b/constants/misc_constants.asm index 9621b843..29f15035 100644 --- a/constants/misc_constants.asm +++ b/constants/misc_constants.asm @@ -10,5 +10,11 @@ D_DOWN EQU %10000000 MAX_LEVEL EQU 100 NUM_MOVES EQU 4 +PARTY_LENGTH EQU 6 + MONS_PER_BOX EQU 20 NUM_BOXES EQU 12 + +HOF_MON EQU $10 +HOF_TEAM EQU PARTY_LENGTH * HOF_MON +NUM_HOF_TEAMS EQU 50 diff --git a/constants/pokedex_constants.asm b/constants/pokedex_constants.asm index c9ba6ae8..c8fa56e3 100644 --- a/constants/pokedex_constants.asm +++ b/constants/pokedex_constants.asm @@ -148,4 +148,6 @@ DEX_DRATINI EQU 147 DEX_DRAGONAIR EQU 148 DEX_DRAGONITE EQU 149 DEX_MEWTWO EQU 150 -DEX_MEW EQU 151
\ No newline at end of file +DEX_MEW EQU 151 + +NUM_POKEMON EQU 151 diff --git a/engine/hall_of_fame.asm b/engine/hall_of_fame.asm index b44a88e1..28705901 100755 --- a/engine/hall_of_fame.asm +++ b/engine/hall_of_fame.asm @@ -1,7 +1,7 @@ AnimateHallOfFame: ; 701a0 (1c:41a0) call Func_70423 call ClearScreen - ld c, $64 + ld c, 100 call DelayFrames call LoadFontTilePatterns call LoadTextBoxTilePatterns @@ -14,8 +14,8 @@ AnimateHallOfFame: ; 701a0 (1c:41a0) ld hl, rLCDC ; $ff40 set 3, [hl] xor a - ld hl, wcc5b - ld bc, $60 + ld hl, wHallOfFame + ld bc, HOF_TEAM call FillMemory xor a ld [wcfcb], a @@ -49,7 +49,7 @@ AnimateHallOfFame: ; 701a0 (1c:41a0) ld a, c ld [wTrainerEngageDistance], a ld hl, wPartyMon1Level ; wPartyMon1Level - ld bc, $2c + ld bc, wPartyMon2 - wPartyMon1 call AddNTimes ld a, [hl] ld [wTrainerFacingDirection], a @@ -66,7 +66,7 @@ AnimateHallOfFame: ; 701a0 (1c:41a0) ld hl, Coord ld de, HallOfFameText call PlaceString - ld c, $b4 + ld c, 180 call DelayFrames call GBFadeOut2 pop bc @@ -75,11 +75,11 @@ AnimateHallOfFame: ; 701a0 (1c:41a0) .asm_70241 ld a, c inc a - ld hl, wcc5b - ld bc, $10 + ld hl, wHallOfFame + ld bc, HOF_MON call AddNTimes ld [hl], $ff - call Func_73b0d + call SaveHallOfFameTeams xor a ld [wWhichTrade], a ; wWhichTrade inc a @@ -283,8 +283,8 @@ DexRatingText: ; 703ff (1c:43ff) db "@" Func_70404: ; 70404 (1c:4404) - ld hl, wcc5b - ld bc, $10 + ld hl, wHallOfFame + ld bc, HOF_MON ld a, [wTrainerEngageDistance] call AddNTimes ld a, [wWhichTrade] ; wWhichTrade diff --git a/engine/menu/league_pc.asm b/engine/menu/league_pc.asm index 9048fc39..46f63420 100755 --- a/engine/menu/league_pc.asm +++ b/engine/menu/league_pc.asm @@ -16,9 +16,9 @@ PKMNLeaguePC: ; 0x7657e ld [wcd42], a ld a, [wd5a2] ld b, a - cp a, $33 + cp NUM_HOF_TEAMS + 1 jr c, .first - ld b, $32 + ld b, NUM_HOF_TEAMS sub b ld [wcd42], a .first @@ -27,7 +27,7 @@ PKMNLeaguePC: ; 0x7657e push bc ld a, [wTrainerScreenX] ld [wWhichTrade], a - callba Func_73b3f + callba LoadHallOfFameTeams call Func_765e5 pop bc jr c, .second @@ -49,28 +49,28 @@ PKMNLeaguePC: ; 0x7657e jp GBPalNormal Func_765e5: ; 765e5 (1d:65e5) - ld c, 6 -.third + ld c, PARTY_LENGTH +.loop push bc call Func_76610 call WaitForTextScrollButtonPress ld a, [hJoyHeld] bit 1, a - jr nz, .fifth - ld hl, wcc6b - ld de, wcc5b - ld bc, $0050 + jr nz, .exit + ld hl, wHallOfFame + HOF_MON + ld de, wHallOfFame + ld bc, HOF_TEAM - HOF_MON call CopyData pop bc - ld a, [wcc5b] - cp a, $FF - jr z, .fourth + ld a, [wHallOfFame + 0] + cp $ff + jr z, .done dec c - jr nz, .third -.fourth + jr nz, .loop +.done and a ret -.fifth +.exit pop bc scf ret @@ -78,7 +78,7 @@ Func_765e5: ; 765e5 (1d:65e5) Func_76610: ; 76610 (1d:6610) call GBPalWhiteOutWithDelay3 call ClearScreen - ld hl, wcc5b + ld hl, wHallOfFame ld a, [hli] ld [wWhichTrade], a ld [wcf91], a diff --git a/engine/save.asm b/engine/save.asm index 9f7e326a..1b8f1467 100755 --- a/engine/save.asm +++ b/engine/save.asm @@ -628,38 +628,40 @@ SAVCheckRandomID: ;$7ad1 ld [$0000],a ret -Func_73b0d: ; 73b0d (1c:7b0d) +SaveHallOfFameTeams: ; 73b0d (1c:7b0d) ld a, [wd5a2] dec a - cp $32 + cp NUM_HOF_TEAMS jr nc, .asm_73b28 - ld hl, $a598 - ld bc, $60 + ld hl, sHallOfFame + ld bc, HOF_TEAM call AddNTimes ld e, l ld d, h ld hl, wcc5b - ld bc, $60 - jr CopyToSRAM0 + ld bc, HOF_TEAM + jr HallOfFame_Copy + .asm_73b28 - ld hl, $a5f8 - ld de, $a598 - ld bc, $1260 - call CopyToSRAM0 + ld hl, sHallOfFame + HOF_TEAM + ld de, sHallOfFame + ld bc, HOF_TEAM * (NUM_HOF_TEAMS - 1) + call HallOfFame_Copy ld hl, wcc5b - ld de, $b7f8 - ld bc, $60 - jr CopyToSRAM0 + ld de, sHallOfFame + HOF_TEAM * (NUM_HOF_TEAMS - 1) + ld bc, HOF_TEAM + jr HallOfFame_Copy -Func_73b3f: ; 73b3f (1c:7b3f) - ld hl, $a598 - ld bc, $60 +LoadHallOfFameTeams: ; 73b3f (1c:7b3f) + ld hl, sHallOfFame + ld bc, HOF_TEAM ld a, [wWhichTrade] ; wWhichTrade call AddNTimes ld de, wcc5b - ld bc, $60 + ld bc, HOF_TEAM ; fallthrough -CopyToSRAM0: ; 73b51 (1c:7b51) + +HallOfFame_Copy: ; 73b51 (1c:7b51) ld a, $a ld [$0], a ld a, $1 @@ -284,7 +284,7 @@ LoadFrontSpriteByMonIndex:: ; 1389 (0:1389) and a pop hl jr z, .invalidDexNumber ; dex #0 invalid - cp 151 + 1 + cp NUM_POKEMON + 1 jr c, .validDexNumber ; dex >#151 invalid .invalidDexNumber ld a, RHYDON ; $1 @@ -287,10 +287,13 @@ wTrainerHeaderFlagBit:: ; cc55 wcc57:: ds 1 wcc58:: ds 3 + +wHallOfFame:: ; cc5b wcc5b:: ds 1 wcc5c:: ds 1 wcc5d:: ds 1 wcc5e:: ds 13 + wcc6b:: ds 14 wcc79:: ds 30 wcc97:: ds 10 @@ -1066,7 +1069,7 @@ wPlayerName:: ; d158 ds 11 wPartyCount:: ds 1 ; d163 -wPartySpecies:: ds 6 ; d164 +wPartySpecies:: ds PARTY_LENGTH ; d164 wPartyEnd:: ds 1 ; d16a wPartyMons:: @@ -1077,16 +1080,16 @@ wPartyMon4:: party_struct wPartyMon4 ; d1ef wPartyMon5:: party_struct wPartyMon5 ; d21b wPartyMon6:: party_struct wPartyMon6 ; d247 -wPartyMonOT:: ds 11 * 6 ; d273 -wPartyMonNicks:: ds 11 * 6 ; d2b5 +wPartyMonOT:: ds 11 * PARTY_LENGTH ; d273 +wPartyMonNicks:: ds 11 * PARTY_LENGTH ; d2b5 wPokedexOwned:: ; d2f7 - flag_array 151 + flag_array NUM_POKEMON wPokedexOwnedEnd:: wPokedexSeen:: ; d30a - flag_array 151 + flag_array NUM_POKEMON wPokedexSeenEnd:: @@ -1744,7 +1747,7 @@ W_GRASSMONS:: ; d888 wEnemyPartyCount:: ds 1 ; d89c -wEnemyPartyMons:: ds 6 + 1 ; d89d +wEnemyPartyMons:: ds PARTY_LENGTH + 1 ; d89d wEnemyMons:: ; d8a4 wEnemyMon1:: party_struct wEnemyMon1 @@ -1754,8 +1757,8 @@ wEnemyMon4:: party_struct wEnemyMon4 wEnemyMon5:: party_struct wEnemyMon5 wEnemyMon6:: party_struct wEnemyMon6 -wEnemyMonOT:: ds 11 * 6 ; d9ac -wEnemyMonNicks:: ds 11 * 6 ; d9ee +wEnemyMonOT:: ds 11 * PARTY_LENGTH ; d9ac +wEnemyMonNicks:: ds 11 * PARTY_LENGTH ; d9ee W_TRAINERHEADERPTR:: ; da30 @@ -1815,12 +1818,13 @@ wStack:: ; dfff ds -$100 -SECTION "Sprite Buffers", SRAM +SECTION "Sprite Buffers", SRAM, BANK[0] + +S_SPRITEBUFFER0:: ds SPRITEBUFFERSIZE ; a000 +S_SPRITEBUFFER1:: ds SPRITEBUFFERSIZE ; a188 +S_SPRITEBUFFER2:: ds SPRITEBUFFERSIZE ; a310 + + ds $100 -S_SPRITEBUFFER0:: ; a000 - ds SPRITEBUFFERSIZE -S_SPRITEBUFFER1:: ; a188 - ds SPRITEBUFFERSIZE -S_SPRITEBUFFER2:: ; a310 - ds SPRITEBUFFERSIZE +sHallOfFame:: ds HOF_TEAM * NUM_HOF_TEAMS ; a598 |