diff options
Diffstat (limited to 'engine')
-rw-r--r-- | engine/color.asm | 60 | ||||
-rwxr-xr-x | engine/menu.asm | 3 | ||||
-rw-r--r-- | engine/party_menu.asm | 5 | ||||
-rwxr-xr-x | engine/stats_screen.asm | 259 |
4 files changed, 165 insertions, 162 deletions
diff --git a/engine/color.asm b/engine/color.asm index 0bb8d2dda..7f7cdd7ad 100644 --- a/engine/color.asm +++ b/engine/color.asm @@ -117,8 +117,8 @@ Function8ad1: ; 8ad1 ret ; 8ade -Function8ade: ; 8ade SGB layout $fc - ld hl, wcd9b +SGB_ApplyPartyMenuHPPals: ; 8ade SGB layout $fc + ld hl, wHPPals ld a, [wSGBPals] ld e, a ld d, $0 @@ -399,10 +399,10 @@ endr ret ; 8c8a -Function8c8a: ; 8c8a +LoadStatsScreenPals: ; 8c8a call CheckCGB ret z - ld hl, Unknown_8f6a + ld hl, StatsScreenPals ld b, 0 dec c rept 2 @@ -734,8 +734,8 @@ ApplyAttrMap: ; 96b3 ret ; 96f3 -Function96f3: ; 96f3 CGB layout $fc - ld hl, wcd9b +CGB_ApplyPartyMenuHPPals: ; 96f3 CGB layout $fc + ld hl, wHPPals ld a, [wSGBPals] ld e, a ld d, $0 @@ -746,16 +746,15 @@ Function96f3: ; 96f3 CGB layout $fc inc a ld e, a hlcoord 11, 2, AttrMap - ld bc, $28 + ld bc, 2 * SCREEN_WIDTH ld a, [wSGBPals] -.asm_970b +.loop and a - jr z, .asm_9712 + jr z, .done add hl, bc dec a - jr .asm_970b - -.asm_9712 + jr .loop +.done lb bc, 2, 8 ld a, e call FillBoxCGB @@ -966,7 +965,6 @@ Function981a: ; 981a ld a, $10 jr nz, .okay ld a, $20 - .okay ld [rJOYP], a ld a, $30 @@ -980,7 +978,7 @@ Function981a: ; 981a ld [rJOYP], a ld a, $30 ld [rJOYP], a - call Function9a7a + call SGBDelayCycles pop bc dec b jr nz, .loop @@ -1004,10 +1002,10 @@ Function9853: ; 9853 ld [hSGB], a call Function98eb call Function99b4 - call Function9a7a + call SGBDelayCycles call Function993f call Function992c - call Function9a7a + call SGBDelayCycles call Function993f ld hl, PalPacket_9d66 call Function981a @@ -1113,7 +1111,7 @@ Function9911: ; 9911 ld hl, PalPacket_9d56 call Function981a call Function992c - call Function9a7a + call SGBDelayCycles call Function993f ld hl, PalPacket_9d66 call Function981a @@ -1147,7 +1145,7 @@ Function993f: ; 993f Function994a: ; 994a ld hl, PalPacket_9d26 call Function981a - call Function9a7a + call SGBDelayCycles ld a, [rJOYP] and $3 cp $3 @@ -1157,26 +1155,26 @@ Function994a: ; 994a rept 2 ld a, [rJOYP] endr - call Function9a7a - call Function9a7a + call SGBDelayCycles + call SGBDelayCycles ld a, $30 ld [rJOYP], a - call Function9a7a - call Function9a7a + call SGBDelayCycles + call SGBDelayCycles ld a, $10 ld [rJOYP], a rept 6 ld a, [rJOYP] endr - call Function9a7a - call Function9a7a + call SGBDelayCycles + call SGBDelayCycles ld a, $30 ld [rJOYP], a rept 3 ld a, [rJOYP] endr - call Function9a7a - call Function9a7a + call SGBDelayCycles + call SGBDelayCycles ld a, [rJOYP] and $3 cp $3 @@ -1194,7 +1192,7 @@ endr Function99ab: ; 99ab ld hl, PalPacket_9d16 call Function981a - jp Function9a7a + jp SGBDelayCycles ; 99b4 Function99b4: ; 99b4 @@ -1319,16 +1317,16 @@ DrawDefaultTiles: ; 0x9a64 ret ; 0x9a7a -Function9a7a: ; 9a7a - ld de, $1b58 -.asm_9a7d +SGBDelayCycles: ; 9a7a + ld de, 7000 +.wait nop nop nop dec de ld a, d or e - jr nz, .asm_9a7d + jr nz, .wait ret ; 9a86 diff --git a/engine/menu.asm b/engine/menu.asm index 285207daf..074b2a28c 100755 --- a/engine/menu.asm +++ b/engine/menu.asm @@ -583,8 +583,7 @@ Place2DMenuCursor: ; 24329 ret ; 24374 -_BackUpTiles:: ; 24374 -; Push the window +_PushWindow:: ; 24374 ld a, [rSVBK] push af ld a, $7 diff --git a/engine/party_menu.asm b/engine/party_menu.asm index 3e1111c57..7fc179b67 100644 --- a/engine/party_menu.asm +++ b/engine/party_menu.asm @@ -143,15 +143,14 @@ PlacePartyHPBar: ; 500cf ld d, $6 ld b, $0 call DrawBattleHPBar - ld hl, wcd9b + ld hl, wHPPals ld a, [wSGBPals] ld c, a ld b, $0 add hl, bc call SetHPPal - ld b, SCGB_FC + ld b, SCGB_PARTY_MENU_HP_PALS call GetSGBLayout - .skip ld hl, wSGBPals inc [hl] diff --git a/engine/stats_screen.asm b/engine/stats_screen.asm index 377401533..363667045 100755 --- a/engine/stats_screen.asm +++ b/engine/stats_screen.asm @@ -66,7 +66,7 @@ StatsScreenMain: ; 0x4dcd2 and $7f ld hl, StatsScreenPointerTable rst JumpTable - call Function4dd3a ; check for keys? + call StatsScreen_WaitAnim ; check for keys? ld a, [wJumptableIndex] bit 7, a jr z, .loop @@ -88,7 +88,7 @@ StatsScreenBattle: ; 4dcf7 and $7f ld hl, StatsScreenPointerTable rst JumpTable - call Function4dd3a + call StatsScreen_WaitAnim callba Function100dfd jr c, .exit ld a, [wJumptableIndex] @@ -100,44 +100,46 @@ StatsScreenBattle: ; 4dcf7 ; 4dd2a StatsScreenPointerTable: ; 4dd2a - dw MonStatsInit ; regular pokémon - dw EggStatsInit ; egg - dw StatsScreenWaitCry - dw Function4ddac - dw Function4ddc6 - dw StatsScreenWaitCry - dw Function4ddd6 - dw Function4dd6c + jumptable_start + jumptable MonStatsInit ; regular pokémon + jumptable EggStatsInit ; egg + jumptable StatsScreenWaitCry + jumptable EggStatsJoypad + jumptable StatsScreen_LoadPage + jumptable StatsScreenWaitCry + jumptable MonStatsJoypad + jumptable StatsScreen_Exit ; 4dd3a -Function4dd3a: ; 4dd3a (13:5d3a) +StatsScreen_WaitAnim: ; 4dd3a (13:5d3a) ld hl, wcf64 bit 6, [hl] - jr nz, .asm_4dd49 + jr nz, .try_anim bit 5, [hl] - jr nz, .asm_4dd56 + jr nz, .finish call DelayFrame ret -.asm_4dd49 + +.try_anim callba SetUpPokeAnim - jr nc, .asm_4dd56 + jr nc, .finish ld hl, wcf64 res 6, [hl] -.asm_4dd56 +.finish ld hl, wcf64 res 5, [hl] callba Function10402d ret -Function4dd62: ; 4dd62 (13:5d62) +StatsScreen_SetJumptableIndex: ; 4dd62 (13:5d62) ld a, [wJumptableIndex] and $80 or h ld [wJumptableIndex], a ret -Function4dd6c: ; 4dd6c (13:5d6c) +StatsScreen_Exit: ; 4dd6c (13:5d6c) ld hl, wJumptableIndex set 7, [hl] ret @@ -151,16 +153,17 @@ MonStatsInit: ; 4dd72 (13:5d72) call Function4ddf2 ld a, [CurPartySpecies] cp EGG - jr z, .asm_4dd9b - call Function4deea + jr z, .egg + call StatsScreen_InitUpperHalf ld hl, wcf64 set 4, [hl] - ld h, $4 - call Function4dd62 + ld h, StatsScreen_LoadPageTableIndex + call StatsScreen_SetJumptableIndex ret -.asm_4dd9b - ld h, $1 - call Function4dd62 + +.egg + ld h, EggStatsInitTableIndex + call StatsScreen_SetJumptableIndex ret EggStatsInit: ; 4dda1 @@ -172,24 +175,26 @@ EggStatsInit: ; 4dda1 ; 0x4ddac -Function4ddac: ; 4ddac (13:5dac) - call Function4de2c - jr nc, .asm_4ddb7 - ld h, $0 - call Function4dd62 +EggStatsJoypad: ; 4ddac (13:5dac) + call StatsScreen_GetJoypad + jr nc, .check + ld h, MonStatsInitTableIndex + call StatsScreen_SetJumptableIndex ret -.asm_4ddb7 - bit 0, a - jr nz, .asm_4ddc0 - and $c3 - jp Function4de54 -.asm_4ddc0 - ld h, $7 - call Function4dd62 + +.check + bit A_BUTTON_F, a + jr nz, .quit + and D_DOWN | D_UP | A_BUTTON | B_BUTTON + jp StatsScreen_JoypadAction + +.quit + ld h, StatsScreen_ExitTableIndex + call StatsScreen_SetJumptableIndex ret -Function4ddc6: ; 4ddc6 (13:5dc6) - call Function4dfb6 +StatsScreen_LoadPage: ; 4ddc6 (13:5dc6) + call StatsScreen_LoadGFX ld hl, wcf64 res 4, [hl] ld a, [wJumptableIndex] @@ -197,16 +202,16 @@ Function4ddc6: ; 4ddc6 (13:5dc6) ld [wJumptableIndex], a ret -Function4ddd6: ; 4ddd6 (13:5dd6) - call Function4de2c - jr nc, .asm_4dde1 - ld h, $0 - call Function4dd62 +MonStatsJoypad: ; 4ddd6 (13:5dd6) + call StatsScreen_GetJoypad + jr nc, .next + ld h, MonStatsInitTableIndex + call StatsScreen_SetJumptableIndex ret -.asm_4dde1 - and $f3 - jp Function4de54 +.next + and D_DOWN | D_UP | D_LEFT | D_RIGHT | A_BUTTON | B_BUTTON + jp StatsScreen_JoypadAction StatsScreenWaitCry: ; 4dde6 (13:5de6) call IsSFXPlaying @@ -241,7 +246,7 @@ Function4ddf2: ; 4ddf2 (13:5df2) and a ret -Function4de2c: ; 4de2c (13:5e2c) +StatsScreen_GetJoypad: ; 4de2c (13:5e2c) call GetJoypad ld a, [MonType] cp BREEDMON @@ -254,7 +259,7 @@ Function4de2c: ; 4de2c (13:5e2c) pop de pop hl ld a, [wMenuJoypad] - and $c0 + and D_DOWN | D_UP jr nz, .set_carry ld a, [wMenuJoypad] jr .clear_flags @@ -269,100 +274,102 @@ Function4de2c: ; 4de2c (13:5e2c) scf ret -Function4de54: ; 4de54 (13:5e54) +StatsScreen_JoypadAction: ; 4de54 (13:5e54) push af ld a, [wcf64] and $3 ld c, a pop af - bit 1, a - jp nz, Function4dee4 - bit 5, a - jr nz, .asm_4dec7 - bit 4, a - jr nz, .asm_4debd - bit 0, a - jr nz, .asm_4deb8 - bit 6, a - jr nz, .asm_4dea0 - bit 7, a - jr nz, .asm_4de77 - jr .asm_4dece -.asm_4de77 + bit B_BUTTON_F, a + jp nz, .b_button + bit D_LEFT_F, a + jr nz, .d_left + bit D_RIGHT_F, a + jr nz, .d_right + bit A_BUTTON_F, a + jr nz, .a_button + bit D_UP_F, a + jr nz, .d_up + bit D_DOWN_F, a + jr nz, .d_down + jr .done +.d_down ld a, [MonType] cp BOXMON - jr nc, .asm_4dece + jr nc, .done and a ld a, [PartyCount] - jr z, .asm_4de87 + jr z, .next_mon ld a, [OTPartyCount] -.asm_4de87 +.next_mon ld b, a ld a, [CurPartyMon] inc a cp b - jr z, .asm_4dece + jr z, .done ld [CurPartyMon], a ld b, a ld a, [MonType] and a - jr nz, .asm_4dede + jr nz, .load_mon ld a, b inc a ld [wd0d8], a - jr .asm_4dede -.asm_4dea0 + jr .load_mon +.d_up ld a, [CurPartyMon] and a - jr z, .asm_4dece + jr z, .done dec a ld [CurPartyMon], a ld b, a ld a, [MonType] and a - jr nz, .asm_4dede + jr nz, .load_mon ld a, b inc a ld [wd0d8], a - jr .asm_4dede -.asm_4deb8 + jr .load_mon +.a_button ld a, c cp $3 - jr z, Function4dee4 -.asm_4debd + jr z, .b_button +.d_right inc c ld a, $3 cp c - jr nc, .asm_4decf + jr nc, .set_page ld c, $1 - jr .asm_4decf -.asm_4dec7 + jr .set_page +.d_left dec c - jr nz, .asm_4decf + jr nz, .set_page ld c, $3 - jr .asm_4decf -.asm_4dece + jr .set_page +.done ret -.asm_4decf + +.set_page ld a, [wcf64] - and $fc + and %11111100 or c ld [wcf64], a - ld h, $4 - call Function4dd62 + ld h, StatsScreen_LoadPageTableIndex + call StatsScreen_SetJumptableIndex ret -.asm_4dede - ld h, $0 - call Function4dd62 + +.load_mon + ld h, MonStatsInitTableIndex + call StatsScreen_SetJumptableIndex ret -Function4dee4: ; 4dee4 (13:5ee4) - ld h, $7 - call Function4dd62 +.b_button: ; 4dee4 (13:5ee4) + ld h, StatsScreen_ExitTableIndex + call StatsScreen_SetJumptableIndex ret -Function4deea: ; 4deea (13:5eea) - call Function4df45 +StatsScreen_InitUpperHalf: ; 4deea (13:5eea) + call .PlaceHPBar xor a ld [hBGMapMode], a ld a, [CurBaseData] ; wd236 (aliases: BaseDexNo) @@ -379,13 +386,13 @@ Function4deea: ; 4deea (13:5eea) call PrintNum hlcoord 14, 0 call PrintLevel - ld hl, Unknown_4df77 - call Function4e528 - call Function4e505 + ld hl, .NicknamePointers + call GetNicknamePointer + call CopyNickname hlcoord 8, 2 call PlaceString hlcoord 18, 0 - call Function4df66 + call .PlaceGenderChar hlcoord 9, 4 ld a, "/" ld [hli], a @@ -393,12 +400,12 @@ Function4deea: ; 4deea (13:5eea) ld [wd265], a call GetPokemonName call PlaceString - call Function4df8f - call Function4df9b - call Function4dfa6 + call StatsScreen_PlaceHorizontalDivider + call StatsScreen_PlacePageSwitchArrows + call StatsScreen_PlaceShinyIcon ret -Function4df45: ; 4df45 (13:5f45) +.PlaceHPBar: ; 4df45 (13:5f45) ld hl, TempMonHP ld a, [hli] ld b, a @@ -410,12 +417,12 @@ Function4df45: ; 4df45 (13:5f45) callba ComputeHPBarPixels ld hl, wcda1 call SetHPPal - ld b, SCGB_03 + ld b, SCGB_STATS_SCREEN_HP_PALS call GetSGBLayout call DelayFrame ret -Function4df66: ; 4df66 (13:5f66) +.PlaceGenderChar: ; 4df66 (13:5f66) push hl callba GetGender pop hl @@ -428,11 +435,11 @@ Function4df66: ; 4df66 (13:5f66) ret ; 4df77 (13:5f77) -Unknown_4df77: ; 4df77 +.NicknamePointers: ; 4df77 dw PartyMonNicknames dw OTPartyMonNicknames dw sBoxMonNicknames - dw wd002 + dw wBufferMonNick ; 4df7f Function4df7f: ; 4df7f @@ -448,7 +455,7 @@ Function4df7f: ; 4df7f ret ; 4df8f -Function4df8f: ; 4df8f (13:5f8f) +StatsScreen_PlaceHorizontalDivider: ; 4df8f (13:5f8f) hlcoord 0, 7 ld b, SCREEN_WIDTH ld a, "_" @@ -458,14 +465,14 @@ Function4df8f: ; 4df8f (13:5f8f) jr nz, .loop ret -Function4df9b: ; 4df9b (13:5f9b) +StatsScreen_PlacePageSwitchArrows: ; 4df9b (13:5f9b) hlcoord 12, 6 ld [hl], "◀" hlcoord 19, 6 ld [hl], "▶" ret -Function4dfa6: ; 4dfa6 (13:5fa6) +StatsScreen_PlaceShinyIcon: ; 4dfa6 (13:5fa6) ld bc, TempMonDVs callba CheckShininess ret nc @@ -473,15 +480,15 @@ Function4dfa6: ; 4dfa6 (13:5fa6) ld [hl], "<SHINY>" ret -Function4dfb6: ; 4dfb6 (13:5fb6) +StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6) ld a, [BaseDexNo] ; wd236 (aliases: BaseDexNo) ld [wd265], a ld [CurSpecies], a xor a ld [hBGMapMode], a - call Function4dfda - call DrawStatsScreenPage - call Function4dfed + call .ClearBox + call .PageTilemap + call .LoadPals ld hl, wcf64 bit 4, [hl] jr nz, .place_frontpic @@ -492,7 +499,7 @@ Function4dfb6: ; 4dfb6 (13:5fb6) call StatsScreen_PlaceFrontpic ret -Function4dfda: ; 4dfda (13:5fda) +.ClearBox: ; 4dfda (13:5fda) ld a, [wcf64] and $3 ld c, a @@ -502,17 +509,17 @@ Function4dfda: ; 4dfda (13:5fda) call ClearBox ret -Function4dfed: ; 4dfed (13:5fed) +.LoadPals: ; 4dfed (13:5fed) ld a, [wcf64] and $3 ld c, a - callba Function8c8a + callba LoadStatsScreenPals call DelayFrame ld hl, wcf64 set 5, [hl] ret -DrawStatsScreenPage: ; 4e002 (13:6002) +.PageTilemap: ; 4e002 (13:6002) ld a, [wcf64] and $3 dec a @@ -755,8 +762,8 @@ endr ld de, TempMonID call PrintNum ld hl, .OTNamePointers - call Function4e528 - call Function4e505 + call GetNicknamePointer + call CopyNickname callba CheckNickErrors hlcoord 2, 13 call PlaceString @@ -964,9 +971,9 @@ EggStatsScreen: ; 4e33a ld [hBGMapMode], a ld hl, wcda1 call SetHPPal - ld b, SCGB_03 + ld b, SCGB_STATS_SCREEN_HP_PALS call GetSGBLayout - call Function4df8f + call StatsScreen_PlaceHorizontalDivider ld de, EggString hlcoord 8, 1 call PlaceString @@ -1101,7 +1108,7 @@ Function4e4cd: ; 4e4cd (13:64cd) pop bc ret -Function4e505: ; 4e505 (13:6505) +CopyNickname: ; 4e505 (13:6505) ld de, StringBuffer1 ld bc, PKMN_NAME_LENGTH jr .okay ; uuterly pointless @@ -1123,7 +1130,7 @@ Function4e505: ; 4e505 (13:6505) pop de ret -Function4e528: ; 4e528 (13:6528) +GetNicknamePointer: ; 4e528 (13:6528) ld a, [MonType] add a ld c, a @@ -1133,7 +1140,7 @@ Function4e528: ; 4e528 (13:6528) ld h, [hl] ld l, a ld a, [MonType] - cp $3 + cp BREEDMON ret z ld a, [CurPartyMon] jp SkipNames |