diff options
author | PikalaxALT <PikalaxALT@gmail.com> | 2015-11-28 15:13:40 -0500 |
---|---|---|
committer | PikalaxALT <PikalaxALT@gmail.com> | 2015-11-28 15:13:40 -0500 |
commit | 8612a4a531b755b1d323e834980dab5ae896499c (patch) | |
tree | 10e38f0fb2bd99a4f7077c1d3c82662ae43b63a4 /engine | |
parent | 43903f543bb04344710d57862a2c5534fd3e5b4c (diff) |
Renaming sections, further dissolving main.asm
Diffstat (limited to 'engine')
-rwxr-xr-x | engine/breeding/egg.asm | 40 | ||||
-rwxr-xr-x | engine/crystal_intro.asm | 4 | ||||
-rwxr-xr-x | engine/debug.asm | 2 | ||||
-rwxr-xr-x | engine/dummy_game.asm | 6 | ||||
-rw-r--r-- | engine/events.asm | 4 | ||||
-rwxr-xr-x | engine/evolution_animation.asm | 105 | ||||
-rwxr-xr-x | engine/evolve.asm | 4 | ||||
-rwxr-xr-x | engine/learn.asm | 257 | ||||
-rwxr-xr-x | engine/link.asm | 2 | ||||
-rwxr-xr-x | engine/math.asm | 196 | ||||
-rw-r--r-- | engine/party_menu.asm | 2 | ||||
-rw-r--r-- | engine/pokedex.asm | 80 | ||||
-rwxr-xr-x | engine/pokegear.asm | 6 | ||||
-rwxr-xr-x | engine/printer.asm | 4 | ||||
-rw-r--r-- | engine/scripting.asm | 29 | ||||
-rwxr-xr-x | engine/sprites.asm | 148 | ||||
-rwxr-xr-x | engine/time_capsule/conversion.asm | 2 | ||||
-rwxr-xr-x | engine/town_map.asm | 2 | ||||
-rwxr-xr-x | engine/trade/animation.asm | 2 |
19 files changed, 666 insertions, 229 deletions
diff --git a/engine/breeding/egg.asm b/engine/breeding/egg.asm index 4e2130d65..6d6141c4f 100755 --- a/engine/breeding/egg.asm +++ b/engine/breeding/egg.asm @@ -678,7 +678,7 @@ Function1727f: ; 1727f (5:727f) push hl push de push bc - callab Function8cf69 + callab PlaySpriteAnimations call DelayFrame pop bc pop de @@ -789,9 +789,9 @@ Function1736d: ; 1736d (5:736d) ret nc swap a srl a - add $4c + add 9 * 8 + 4 ld d, a - ld e, $58 + ld e, 11 * 8 ld a, SPRITE_ANIM_INDEX_19 call _InitSpriteAnimStruct ld hl, $3 @@ -807,10 +807,10 @@ INCBIN "gfx/unknown/017393.2bpp" Function173b3: ; 173b3 (5:73b3) callba Function8cf53 - ld hl, Unknown_173ef + ld hl, .SpriteData .loop ld a, [hli] - cp $ff + cp -1 jr z, .done ld e, a ld a, [hli] @@ -823,16 +823,16 @@ Function173b3: ; 173b3 (5:73b3) push bc ld a, SPRITE_ANIM_INDEX_1C call _InitSpriteAnimStruct - ld hl, $3 + ld hl, SpriteAnim1TileID - SpriteAnim1 add hl, bc ld [hl], $0 pop de ld a, e - ld hl, $1 + ld hl, SpriteAnim1Sprite01 - SpriteAnim1 add hl, bc add [hl] ld [hl], a - ld hl, $b + ld hl, SpriteAnim1Sprite0b - SpriteAnim1 add hl, bc ld [hl], d pop hl @@ -844,19 +844,19 @@ Function173b3: ; 173b3 (5:73b3) ret ; 173ef (5:73ef) -Unknown_173ef: ; 173ef +.SpriteData: ; 173ef ; Probably OAM. - db $54, $48, $00, $3c - db $5c, $48, $01, $04 - db $54, $50, $00, $30 - db $5c, $50, $01, $10 - db $54, $58, $02, $24 - db $5c, $58, $03, $1c - db $50, $4c, $00, $36 - db $60, $4c, $01, $0a - db $50, $54, $02, $2a - db $60, $54, $03, $16 - db $ff + dsprite 10, 4, 9, 0, $00, $3c + dsprite 11, 4, 9, 0, $01, $04 + dsprite 10, 4, 10, 0, $00, $30 + dsprite 11, 4, 10, 0, $01, $10 + dsprite 10, 4, 11, 0, $02, $24 + dsprite 11, 4, 11, 0, $03, $1c + dsprite 10, 0, 9, 4, $00, $36 + dsprite 12, 0, 9, 4, $01, $0a + dsprite 10, 0, 10, 4, $02, $2a + dsprite 12, 0, 10, 4, $03, $16 + db -1 ; 17418 Function17418: ; 17418 (5:7418) diff --git a/engine/crystal_intro.asm b/engine/crystal_intro.asm index 69a068ff9..3f764526d 100755 --- a/engine/crystal_intro.asm +++ b/engine/crystal_intro.asm @@ -52,7 +52,7 @@ Functione4579: ; e4579 bit 7, a jr nz, .finish call PlaceGameFreakPresents - callba Function8cf69 + callba PlaySpriteAnimations call DelayFrame jr .joy_loop @@ -406,7 +406,7 @@ CrystalIntro: ; e48ac bit 7, a jr nz, .done call IntroSceneJumper - callba Function8cf69 + callba PlaySpriteAnimations call DelayFrame jp .loop diff --git a/engine/debug.asm b/engine/debug.asm index 0d2720990..1e00ae4f5 100755 --- a/engine/debug.asm +++ b/engine/debug.asm @@ -425,7 +425,7 @@ Function81adb: ; 81adb .asm_81b7a ld a, [wd265] ld [TrainerClass], a - callab Function3957b + callab GetTrainerAttributes ld de, StringBuffer1 hlcoord 4, 1 call PlaceString diff --git a/engine/dummy_game.asm b/engine/dummy_game.asm index 4e8dad1a3..756486ff8 100755 --- a/engine/dummy_game.asm +++ b/engine/dummy_game.asm @@ -47,7 +47,7 @@ Functione1ebb: ; e1ebb (38:5ebb) bit 7, a jr nz, .asm_e1ed0 call Functione1ed2 - callab Function8cf69 + callab PlaySpriteAnimations call DelayFrame and a ret @@ -89,7 +89,7 @@ Functione1ef3: ; e1ef3 ; e1efb Functione1efb: ; e1efb - call Functione00ed + call ret_e00ed jr nc, .asm_e1f06 ld hl, wJumptableIndex set 7, [hl] @@ -251,7 +251,7 @@ Functione1fcc: ; e1fcc inc [hl] Functione2000: ; e2000 - call Functione00ed + call ret_e00ed jr nc, .asm_e200b ld hl, wJumptableIndex set 7, [hl] diff --git a/engine/events.asm b/engine/events.asm index 40e863cdc..d78a0a333 100644 --- a/engine/events.asm +++ b/engine/events.asm @@ -491,11 +491,11 @@ endr bit 3, [hl] jr z, .nope - ld hl, ScriptDelay + 2 + ld hl, wPriorityScriptAddr ld a, [hli] ld h, [hl] ld l, a - ld a, [ScriptDelay + 1] + ld a, [wPriorityScriptBank] call CallScript scf ret diff --git a/engine/evolution_animation.asm b/engine/evolution_animation.asm index 53abbfd23..5cf655980 100755 --- a/engine/evolution_animation.asm +++ b/engine/evolution_animation.asm @@ -21,7 +21,7 @@ EvolutionAnimation: ; 4e5e1 pop de pop hl - ld a, [wd1ed] + ld a, [Buffer4] and a ret z @@ -99,7 +99,7 @@ _EvolutionAnimation: ; 4e607 call .ReplaceFrontpic xor a - ld [wd1ed], a + ld [Buffer4], a ld a, [Buffer2] ld [PlayerHPPal], a @@ -136,7 +136,7 @@ _EvolutionAnimation: ; 4e607 .cancel_evo ld a, $1 - ld [wd1ed], a + ld [Buffer4], a ld a, [Buffer1] ld [PlayerHPPal], a @@ -252,7 +252,7 @@ endr ret .pressed_b - ld a, [wd1e9] + ld a, [wForceEvolution] and a jr nz, .loop3 scf @@ -270,7 +270,7 @@ Function4e794: ; 4e794 ; 4e7a6 Function4e7a6: ; 4e7a6 - ld a, [wd1ed] + ld a, [Buffer4] and a ret nz ld de, SFX_EVOLVED @@ -286,7 +286,7 @@ Function4e7a6: ; 4e7a6 jr .loop .done - ld c, $20 + ld c, 32 .loop2 call Function4e80c dec c @@ -299,7 +299,7 @@ Function4e7a6: ; 4e7a6 Function4e7cf: ; 4e7cf ld hl, wJumptableIndex ld a, [hl] - cp $20 + cp 32 ret nc ld d, a inc [hl] @@ -317,8 +317,8 @@ Function4e7cf: ; 4e7cf Function4e7e8: ; 4e7e8 push de - lb de, $48, $58 - ld a, $13 + depixel 9, 11 + ld a, SPRITE_ANIM_INDEX_13 call _InitSpriteAnimStruct ld hl, $b add hl, bc @@ -339,7 +339,7 @@ Function4e7e8: ; 4e7e8 Function4e80c: ; 4e80c push bc - callab Function8cf69 + callab PlaySpriteAnimations ; a = (([hVBlankCounter] + 4) / 2) % NUM_PALETTES ld a, [hVBlankCounter] and $e @@ -369,88 +369,3 @@ endr EvolutionGFX: INCBIN "gfx/evo/bubble_large.2bpp" INCBIN "gfx/evo/bubble.2bpp" - -Function4e881: ; 4e881 - call ClearBGPalettes - call ClearTileMap - call ClearSprites - call DisableLCD - call LoadStandardFont - call LoadFontsBattleExtra - hlbgcoord 0, 0 - ld bc, VBGMap1 - VBGMap0 - ld a, " " - call ByteFill - hlcoord 0, 0, AttrMap - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - xor a - call ByteFill - xor a - ld [hSCY], a - ld [hSCX], a - call EnableLCD - ld hl, .SavingRecordDontTurnOff - call PrintText - call Function3200 - call SetPalettes - ret -; 4e8bd - -.SavingRecordDontTurnOff: ; 0x4e8bd - ; SAVING RECORD… DON'T TURN OFF! - text_jump UnknownText_0x1bd39e - db "@" -; 0x4e8c2 - - -Function4e8c2: ; 4e8c2 - call ClearBGPalettes - call ClearTileMap - call ClearSprites - call DisableLCD - call LoadStandardFont - call LoadFontsBattleExtra - hlbgcoord 0, 0 - ld bc, VBGMap1 - VBGMap0 - ld a, " " - call ByteFill - hlcoord 0, 0, AttrMap - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - xor a - call ByteFill - ld hl, wd000 ; UnknBGPals - ld c, 4 * $10 -.load_white_palettes - ld a, (palred 31 + palgreen 31 + palblue 31) % $100 - ld [hli], a - ld a, (palred 31 + palgreen 31 + palblue 31) / $100 - ld [hli], a - dec c - jr nz, .load_white_palettes - xor a - ld [hSCY], a - ld [hSCX], a - call EnableLCD - call Function3200 - call SetPalettes - ret -; 4e906 - -Function4e906: ; 4e906 - ld a, [rSVBK] - push af - ld a, $6 - ld [rSVBK], a - ld hl, w6_d000 - ld bc, w6_d400 - w6_d000 - ld a, " " - call ByteFill - hlbgcoord 0, 0 - ld de, w6_d000 - ld b, $0 - ld c, $40 - call Request2bpp - pop af - ld [rSVBK], a - ret -; 4e929 diff --git a/engine/evolve.asm b/engine/evolve.asm index 6772db932..2ea3ee0a9 100755 --- a/engine/evolve.asm +++ b/engine/evolve.asm @@ -78,7 +78,7 @@ endr cp EVOLVE_ITEM jp z, .item - ld a, [wd1e9] + ld a, [wForceEvolution] and a jp nz, .dont_evolve_2 @@ -179,7 +179,7 @@ endr cp b jp nz, .dont_evolve_3 - ld a, [wd1e9] + ld a, [wForceEvolution] and a jp z, .dont_evolve_3 ld a, [wLinkMode] diff --git a/engine/learn.asm b/engine/learn.asm new file mode 100755 index 000000000..cafbe6f43 --- /dev/null +++ b/engine/learn.asm @@ -0,0 +1,257 @@ +LearnMove: ; 6508 + call LoadTileMapToTempTileMap + ld a, [CurPartyMon] + ld hl, PartyMonNicknames + call GetNick + ld hl, StringBuffer1 + ld de, wd050_MonNick + ld bc, PKMN_NAME_LENGTH + call CopyBytes + +.loop + ld hl, PartyMon1Moves + ld bc, PARTYMON_STRUCT_LENGTH + ld a, [CurPartyMon] + call AddNTimes + ld d, h + ld e, l + ld b, NUM_MOVES +; Get the first empty move slot. This routine also serves to +; determine whether the Pokemon learning the moves already has +; all four slots occupied, in which case one would need to be +; deleted. +.next + ld a, [hl] + and a + jr z, .learn + inc hl + dec b + jr nz, .next +; If we're here, we enter the routine for forgetting a move +; to make room for the new move we're trying to learn. + push de + call ForgetMove + pop de + jp c, .cancel + + push hl + push de + ld [wd265], a + + ld b, a + ld a, [wBattleMode] + and a + jr z, .not_disabled + ld a, [DisabledMove] + cp b + jr nz, .not_disabled + xor a + ld [DisabledMove], a + ld [PlayerDisableCount], a +.not_disabled + + call GetMoveName + ld hl, UnknownText_0x6684 ; 1, 2 and… + call PrintText + pop de + pop hl + +.learn + ld a, [wd262] + ld [hl], a + ld bc, MON_PP - MON_MOVES + add hl, bc + + push hl + push de + dec a + ld hl, Moves + MOVE_PP + ld bc, MOVE_LENGTH + call AddNTimes + ld a, BANK(Moves) + call GetFarByte + pop de + pop hl + + ld [hl], a + + ld a, [wBattleMode] + and a + jp z, .learned + + ld a, [CurPartyMon] + ld b, a + ld a, [CurBattleMon] + cp b + jp nz, .learned + + ld a, [PlayerSubStatus5] + bit SUBSTATUS_TRANSFORMED, a + jp nz, .learned + + ld h, d + ld l, e + ld de, BattleMonMoves + ld bc, NUM_MOVES + call CopyBytes + ld bc, PartyMon1PP - (PartyMon1Moves + NUM_MOVES) + add hl, bc + ld de, BattleMonPP + ld bc, NUM_MOVES + call CopyBytes + jp .learned + +.cancel + ld hl, UnknownText_0x6675 ; Stop learning <MOVE>? + call PrintText + call YesNoBox + jp c, .loop + + ld hl, UnknownText_0x667a ; <MON> did not learn <MOVE>. + call PrintText + ld b, 0 + ret + +.learned + ld hl, UnknownText_0x666b ; <MON> learned <MOVE>! + call PrintText + ld b, 1 + ret +; 65d3 + +ForgetMove: ; 65d3 + push hl + ld hl, UnknownText_0x667f + call PrintText + call YesNoBox + pop hl + ret c + ld bc, -NUM_MOVES + add hl, bc + push hl + ld de, wListMoves_MoveIndicesBuffer + ld bc, NUM_MOVES + call CopyBytes + pop hl +.loop + push hl + ld hl, UnknownText_0x6670 + call PrintText + hlcoord 5, 2 + ld b, NUM_MOVES * 2 + ld c, MOVE_NAME_LENGTH + call TextBox + hlcoord 5 + 2, 2 + 2 + ld a, SCREEN_WIDTH * 2 + ld [Buffer1], a + predef ListMoves + ; wMenuData3 + ld a, $4 + ld [wcfa1], a + ld a, $6 + ld [wcfa2], a + ld a, [wd0eb] + inc a + ld [wcfa3], a + ld a, $1 + ld [wcfa4], a + ld [MenuSelection2], a + ld [wcfaa], a + ld a, $3 + ld [wcfa8], a + ld a, $20 + ld [wcfa5], a + xor a + ld [wcfa6], a + ld a, $20 + ld [wcfa7], a + call Function1bc9 + push af + call Call_LoadTempTileMapToTileMap + pop af + pop hl + bit 1, a + jr nz, .cancel + push hl + ld a, [MenuSelection2] + dec a + ld c, a + ld b, 0 + add hl, bc + ld a, [hl] + push af + push bc + call IsHMMove + pop bc + pop de + ld a, d + jr c, .hmmove + pop hl + add hl, bc + and a + ret + +.hmmove + ld hl, UnknownText_0x669a + call PrintText + pop hl + jr .loop + +.cancel + scf + ret +; 666b + +UnknownText_0x666b: ; 666b +; <MON> learned <MOVE>! + text_jump UnknownText_0x1c5660 + db "@" +; 6670 + +UnknownText_0x6670: ; 6670 +; Which move should be forgotten? + text_jump UnknownText_0x1c5678 + db "@" +; 6675 + +UnknownText_0x6675: ; 6675 +; Stop learning <MOVE>? + text_jump UnknownText_0x1c5699 + db "@" +; 667a + +UnknownText_0x667a: ; 667a +; <MON> did not learn <MOVE>. + text_jump UnknownText_0x1c56af + db "@" +; 667f + +UnknownText_0x667f: ; 667f +; <MON> is trying to learn <MOVE>. But <MON> can't learn more than +; four moves. Delete an older move to make room for <MOVE>? + text_jump UnknownText_0x1c56c9 + db "@" +; 6684 + +UnknownText_0x6684: ; 6684 + text_jump UnknownText_0x1c5740 ; 1, 2 and… + start_asm + push de + ld de, SFX_SWITCH_POKEMON + call PlaySFX + pop de + ld hl, UnknownText_0x6695 + ret +; 6695 + +UnknownText_0x6695: ; 6695 +; Poof! <MON> forgot <MOVE>. And… + text_jump UnknownText_0x1c574e + db "@" +; 669a + +UnknownText_0x669a: ; 669a +; HM moves can't be forgotten now. + text_jump UnknownText_0x1c5772 + db "@" +; 669f diff --git a/engine/link.asm b/engine/link.asm index 8ba1702e9..619cc1375 100755 --- a/engine/link.asm +++ b/engine/link.asm @@ -1891,7 +1891,7 @@ Function28b87: ; 28b87 dec a ld [CurPartyMon], a ld a, $1 - ld [wd1e9], a + ld [wForceEvolution], a ld a, [wd003] push af ld hl, OTPartySpecies diff --git a/engine/math.asm b/engine/math.asm new file mode 100755 index 000000000..0cd6b0b47 --- /dev/null +++ b/engine/math.asm @@ -0,0 +1,196 @@ +_Multiply:: ; 66de + +; hMultiplier is one byte. + ld a, 8 + ld b, a + + xor a + ld [hProduct], a + ld [hMathBuffer + 1], a + ld [hMathBuffer + 2], a + ld [hMathBuffer + 3], a + ld [hMathBuffer + 4], a + + +.loop + ld a, [hMultiplier] + srl a + ld [hMultiplier], a + jr nc, .next + + ld a, [hMathBuffer + 4] + ld c, a + ld a, [hMultiplicand + 2] + add c + ld [hMathBuffer + 4], a + + ld a, [hMathBuffer + 3] + ld c, a + ld a, [hMultiplicand + 1] + adc c + ld [hMathBuffer + 3], a + + ld a, [hMathBuffer + 2] + ld c, a + ld a, [hMultiplicand + 0] + adc c + ld [hMathBuffer + 2], a + + ld a, [hMathBuffer + 1] + ld c, a + ld a, [hProduct] + adc c + ld [hMathBuffer + 1], a + +.next + dec b + jr z, .done + + +; hMultiplicand <<= 1 + + ld a, [hMultiplicand + 2] + add a + ld [hMultiplicand + 2], a + + ld a, [hMultiplicand + 1] + rla + ld [hMultiplicand + 1], a + + ld a, [hMultiplicand + 0] + rla + ld [hMultiplicand + 0], a + + ld a, [hProduct] + rla + ld [hProduct], a + + jr .loop + + +.done + ld a, [hMathBuffer + 4] + ld [hProduct + 3], a + + ld a, [hMathBuffer + 3] + ld [hProduct + 2], a + + ld a, [hMathBuffer + 2] + ld [hProduct + 1], a + + ld a, [hMathBuffer + 1] + ld [hProduct + 0], a + + ret +; 673e + + +_Divide:: ; 673e + xor a + ld [hMathBuffer + 0], a + ld [hMathBuffer + 1], a + ld [hMathBuffer + 2], a + ld [hMathBuffer + 3], a + ld [hMathBuffer + 4], a + + ld a, 9 + ld e, a + +.loop + ld a, [hMathBuffer + 0] + ld c, a + ld a, [hDividend + 1] + sub c + ld d, a + + ld a, [hDivisor] + ld c, a + ld a, [hDividend + 0] + sbc c + jr c, .next + + ld [hDividend + 0], a + + ld a, d + ld [hDividend + 1], a + + ld a, [hMathBuffer + 4] + inc a + ld [hMathBuffer + 4], a + + jr .loop + +.next + ld a, b + cp 1 + jr z, .done + + ld a, [hMathBuffer + 4] + add a + ld [hMathBuffer + 4], a + + ld a, [hMathBuffer + 3] + rla + ld [hMathBuffer + 3], a + + ld a, [hMathBuffer + 2] + rla + ld [hMathBuffer + 2], a + + ld a, [hMathBuffer + 1] + rla + ld [hMathBuffer + 1], a + + dec e + jr nz, .next2 + + ld e, 8 + ld a, [hMathBuffer + 0] + ld [hDivisor], a + xor a + ld [hMathBuffer + 0], a + + ld a, [hDividend + 1] + ld [hDividend + 0], a + + ld a, [hDividend + 2] + ld [hDividend + 1], a + + ld a, [hDividend + 3] + ld [hDividend + 2], a + +.next2 + ld a, e + cp 1 + jr nz, .okay + dec b + +.okay + ld a, [hDivisor] + srl a + ld [hDivisor], a + + ld a, [hMathBuffer + 0] + rr a + ld [hMathBuffer + 0], a + + jr .loop + +.done + ld a, [hDividend + 1] + ld [hDivisor], a + + ld a, [hMathBuffer + 4] + ld [hDividend + 3], a + + ld a, [hMathBuffer + 3] + ld [hDividend + 2], a + + ld a, [hMathBuffer + 2] + ld [hDividend + 1], a + + ld a, [hMathBuffer + 1] + ld [hDividend + 0], a + + ret +; 67c1 diff --git a/engine/party_menu.asm b/engine/party_menu.asm index 06b774064..1c2c70eee 100644 --- a/engine/party_menu.asm +++ b/engine/party_menu.asm @@ -670,7 +670,7 @@ InitPartyMenuGFX: ; 503e0 pop bc dec c jr nz, .loop - callab Function8cf69 + callab PlaySpriteAnimations ret ; 50405 diff --git a/engine/pokedex.asm b/engine/pokedex.asm index d150ee471..78fe5fc45 100644 --- a/engine/pokedex.asm +++ b/engine/pokedex.asm @@ -323,7 +323,7 @@ Function40217: ; 40217 (10:4217) call Function4134f call Function40bb1 ld [wc2d6], a - callba Function4424d + callba DisplayDexEntry call Function40ba0 call WaitBGMap ld a, $a7 @@ -378,7 +378,7 @@ Function40292: ; 40292 ld [wPokedexStatus], a call Function40bb1 ld [wc2d6], a - callba Function4424d + callba DisplayDexEntry call WaitBGMap ret ; 402aa @@ -394,7 +394,7 @@ Function402aa: ; 402aa (10:42aa) call Function41478 call Function40bb1 ld [wc2d6], a - callba Function4424d + callba DisplayDexEntry call Function40ba0 call Function4143b call WaitBGMap @@ -498,7 +498,7 @@ Function4034f: ; 4034f Function4038d: ; 4038d call Function407fd call Function40bb1 - callba Function4424d + callba DisplayDexEntry call Function40ba0 ret ; 4039d @@ -621,8 +621,8 @@ Function40443: ; 40443 (10:4443) ld [wc7d6], a call Function40fa8 xor a - ld [wc7db], a - callba Function44207 + ld [wDexSearchSlowpokeFrame], a + callba DoDexSearchSlowpokeFrame call WaitBGMap ld a, $10 call Function41423 @@ -679,7 +679,7 @@ Function404b0: ; 404b0 Function404b7: ; 404b7 call Function41086 - callba Function441cf + callba AnimateDexSearchSlowpoke ld a, [wc7d7] and a jr nz, .asm_404dc @@ -2557,7 +2557,6 @@ Function41a2c: ; 41a2c ret ; 41a58 - Function41a58: ; 41a58 (10:5a58) ld a, [UnownLetter] push af @@ -2576,3 +2575,68 @@ Function41a58: ; 41a58 (10:5a58) pop af ld [UnownLetter], a ret +; 41a7f + +Function41a7f: ; 41a7f + xor a + ld [hBGMapMode], a + callba Function1de247 + call Function41af7 + call DisableLCD + call LoadStandardFont + call LoadFontsExtra + call Function414b7 + call Function4147b + ld a, [wd265] + ld [CurPartySpecies], a + call Function407fd + call Function40ba0 + hlcoord 0, 17 + ld [hl], $3b + inc hl + ld bc, $13 + ld a, " " + call ByteFill + callba DisplayDexEntry + call EnableLCD + call WaitBGMap + call GetBaseData + ld de, VTiles2 + predef GetFrontpic + ld a, $4 + call Function41423 + ld a, [CurPartySpecies] + call PlayCry + ret +; 41ad7 + + +Function41ad7: ; 41ad7 (10:5ad7) + ld a, $3 + ld [hBGMapMode], a + ld c, 4 + call DelayFrames + ret + +Function41ae1: ; 41ae1 (10:5ae1) + ld a, $4 + ld [hBGMapMode], a + ld c, 4 + call DelayFrames + ret + +Function41aeb: ; 41aeb (10:5aeb) + ld a, [hCGB] + and a + jr z, .asm_41af3 + call Function41ae1 +.asm_41af3 + call Function41ad7 + ret + + +Function41af7: ; 41af7 + xor a + ld [hBGMapMode], a + ret +; 41afb diff --git a/engine/pokegear.asm b/engine/pokegear.asm index da6006853..a89e48b5e 100755 --- a/engine/pokegear.asm +++ b/engine/pokegear.asm @@ -24,7 +24,7 @@ PokeGear: ; 90b8d (24:4b8d) bit 7, a jr nz, .done call Function90f04 - callba Function8cf69 + callba PlaySpriteAnimations call DelayFrame jr .loop @@ -1966,7 +1966,7 @@ _FlyMap: ; 91af3 jr nz, .pressedA call FlyMapScroll call GetMapCursorCoordinates - callba Function8cf69 + callba PlaySpriteAnimations call DelayFrame jr .loop @@ -2901,7 +2901,7 @@ Function92311: ; unreferenced jr nz, .pressedA call Function923b8 call GetMapCursorCoordinates - callba Function8cf69 + callba PlaySpriteAnimations call DelayFrame jr .loop diff --git a/engine/printer.asm b/engine/printer.asm index 5330d6b3c..5db2f9ff2 100755 --- a/engine/printer.asm +++ b/engine/printer.asm @@ -672,7 +672,7 @@ PrintDexEntry: ; 8442c call Function84000 ld a, $10 ld [wcbfa], a - callba Function1dc1b0 + callba PrintPage1 call ClearTileMap ld a, $e4 call DmgToCgbBGPals @@ -694,7 +694,7 @@ PrintDexEntry: ; 8442c call Function84000 ld a, $3 ld [wcbfa], a - callba Function1dc213 + callba PrintPage2 call Function84742 ld a, $4 ld [wcf65], a diff --git a/engine/scripting.asm b/engine/scripting.asm index 966a537c7..698508cf4 100644 --- a/engine/scripting.asm +++ b/engine/scripting.asm @@ -316,11 +316,11 @@ Script_jumptextfaceplayer: ; 96e45 ; text_pointer (RawTextPointerLabelParam) ld a, [ScriptBank] - ld [wd44e], a + ld [wScriptTextBank], a call GetScriptByte - ld [wd44f], a + ld [wScriptTextAddr], a call GetScriptByte - ld [wd450], a + ld [wScriptTextAddr + 1], a ld b, BANK(JumpTextFacePlayerScript) ld hl, JumpTextFacePlayerScript jp ScriptJump @@ -332,11 +332,11 @@ Script_jumptext: ; 96e5f ; text_pointer (RawTextPointerLabelParam) ld a, [ScriptBank] - ld [wd44e], a + ld [wScriptTextBank], a call GetScriptByte - ld [wd44f], a + ld [wScriptTextAddr], a call GetScriptByte - ld [wd450], a + ld [wScriptTextAddr + 1], a ld b, BANK(JumpTextScript) ld hl, JumpTextScript jp ScriptJump @@ -361,11 +361,11 @@ Script_farjumptext: ; 96e81 ; text_pointer (PointerLabelBeforeBank) call GetScriptByte - ld [wd44e], a + ld [wScriptTextBank], a call GetScriptByte - ld [wd44f], a + ld [wScriptTextAddr], a call GetScriptByte - ld [wd450], a + ld [wScriptTextAddr + 1], a ld b, BANK(JumpTextScript) ld hl, JumpTextScript jp ScriptJump @@ -419,7 +419,7 @@ Script_repeattext: ; 96ebb ld a, l cp -1 jr nz, .done - ld hl, wd44e + ld hl, wScriptTextBank ld a, [hli] ld b, a ld a, [hli] @@ -427,6 +427,7 @@ Script_repeattext: ; 96ebb ld l, a call MapTextbox ret + .done ret ; 96ed9 @@ -1862,11 +1863,11 @@ Script_priorityjump: ; 975aa ; pointer (ScriptPointerLabelParam) ld a, [ScriptBank] - ld [wd44e], a + ld [wPriorityScriptBank], a call GetScriptByte - ld [wd44f], a + ld [wPriorityScriptAddr], a call GetScriptByte - ld [wd450], a + ld [wPriorityScriptAddr + 1], a ld hl, ScriptFlags set 3, [hl] ret @@ -3217,8 +3218,6 @@ Script_credits: ; 97bf3 ; script command 0xa2 callba RedCredits - ; fallthrough - DisplayCredits: call Script_resetfuncs ld a, $3 diff --git a/engine/sprites.asm b/engine/sprites.asm index f12ed1de8..77e3b68b7 100755 --- a/engine/sprites.asm +++ b/engine/sprites.asm @@ -12,12 +12,12 @@ Function8cf53: ; 8cf53 ; 8cf62 Function8cf62: ; 8cf62 - call Function8cf69 + call PlaySpriteAnimations call DelayFrame ret ; 8cf69 -Function8cf69: ; 8cf69 +PlaySpriteAnimations: ; 8cf69 push hl push de push bc @@ -35,7 +35,7 @@ Function8cf69: ; 8cf69 ; 8cf7a Function8cf7a: ; 8cf7a - ld hl, wc314 + ld hl, wSpriteAnimationStructs ld e, 10 ; There are 10 structs here. .loop @@ -114,10 +114,10 @@ Function8cfa8: ; 8cfa8 (23:4fa8) ret InitSpriteAnimStruct:: ; 8cfd6 -; Find if there's any room in the wc314 array, which is 10x16 +; Find if there's any room in the wSpriteAnimationStructs array, which is 10x16 push de push af - ld hl, wc314 + ld hl, wSpriteAnimationStructs ld e, 10 .loop ld a, [hl] @@ -221,8 +221,8 @@ Function8d036: ; 8d036 Function8d03d: ; 8d03d (23:503d) -; Clear the index field of every struct in the wc314 array. - ld hl, wc314 +; Clear the index field of every struct in the wSpriteAnimationStructs array. + ld hl, wSpriteAnimationStructs ld bc, $10 ld e, 10 xor a @@ -622,7 +622,7 @@ endr dw .sixteen dw .seventeen dw .eighteen - dw .nineteen + dw .nineteen ; finish egg hatching animation dw .twenty dw .twentyone dw .twentytwo ; flying sprite @@ -761,7 +761,7 @@ endr ld a, [hl] add $3 ld [hl], a - call .asm_8d6de + call .ApplyYOffset ld hl, $7 add hl, bc ld [hl], a @@ -779,7 +779,7 @@ endr inc a ld [hl], a ld d, $2 - call .asm_8d6de + call .ApplyYOffset ld hl, $7 add hl, bc ld [hl], a @@ -818,13 +818,13 @@ endr ld a, [hl] push af push de - call .asm_8d6de + call .ApplyYOffset ld hl, $7 add hl, bc ld [hl], a pop de pop af - call .asm_8d6e2 + call .ApplyXOffset ld hl, $6 add hl, bc ld [hl], a @@ -856,13 +856,13 @@ endr ld a, [hl] push af push de - call .asm_8d6de + call .ApplyYOffset ld hl, $7 add hl, bc ld [hl], a pop de pop af - call .asm_8d6e2 + call .ApplyXOffset ld hl, $6 add hl, bc ld [hl], a @@ -947,14 +947,14 @@ endr .asm_8d462 ld a, e ld d, $20 - call .asm_8d6de + call .ApplyYOffset ld hl, $7 add hl, bc ld [hl], a ret .thirteen: ; 8d46e (23:546e) - callab Functione00ed + callab ret_e00ed ret .fifteen: ; 8d475 (23:5475) @@ -1014,7 +1014,7 @@ endr jr c, .asm_8d4cd dec [hl] ld d, $28 - call .asm_8d6de + call .ApplyYOffset ld hl, $7 add hl, bc ld [hl], a @@ -1049,7 +1049,7 @@ endr ld hl, $c add hl, bc ld a, [hl] - call Function8e72c + call ApplyYOffset ld hl, $7 add hl, bc ld [hl], a @@ -1108,33 +1108,36 @@ endr ret .nineteen: ; 8d54a (23:554a) - ld hl, $c + ld hl, SpriteAnim1Sprite0c - SpriteAnim1 add hl, bc ld a, [hl] cp $80 - jr nc, .asm_8d574 + jr nc, .finish_nineteen ld d, a add $8 ld [hl], a - ld hl, $b + ld hl, SpriteAnim1Sprite0b - SpriteAnim1 add hl, bc ld a, [hl] xor $20 ld [hl], a + push af push de - call .asm_8d6de - ld hl, $7 + call .ApplyYOffset + ld hl, SpriteAnim1YOffset - SpriteAnim1 add hl, bc ld [hl], a + pop de pop af - call .asm_8d6e2 - ld hl, $6 + call .ApplyXOffset + ld hl, SpriteAnim1XOffset - SpriteAnim1 add hl, bc ld [hl], a ret -.asm_8d574 + +.finish_nineteen call Function8d036 ret @@ -1165,13 +1168,13 @@ rept 3 endr push af push de - call .asm_8d6de + call .ApplyYOffset ld hl, $7 add hl, bc ld [hl], a pop de pop af - call .asm_8d6e2 + call .ApplyXOffset ld hl, $6 add hl, bc ld [hl], a @@ -1207,7 +1210,7 @@ endr add hl, bc ld a, [hl] inc [hl] - call .asm_8d6e2 + call .ApplyXOffset ld hl, $6 add hl, bc ld [hl], a @@ -1230,7 +1233,7 @@ endr add hl, bc ld a, [hl] inc [hl] - call .asm_8d6e2 + call .ApplyXOffset ld hl, $6 add hl, bc ld [hl], a @@ -1263,7 +1266,7 @@ endr add hl, bc ld a, [hl] inc [hl] - call .asm_8d6e2 + call .ApplyXOffset ld hl, $6 add hl, bc ld [hl], a @@ -1294,7 +1297,7 @@ endr xor $ff inc a ld d, $20 - call .asm_8d6de + call .ApplyYOffset ld hl, $7 add hl, bc ld [hl], a @@ -1313,7 +1316,7 @@ endr xor $ff inc a ld d, $20 - call .asm_8d6de + call .ApplyYOffset ld hl, $7 add hl, bc ld [hl], a @@ -1332,13 +1335,13 @@ endr ld a, [hl] push af push de - call .asm_8d6de + call .ApplyYOffset ld hl, $7 add hl, bc ld [hl], a pop de pop af - call .asm_8d6e2 + call .ApplyXOffset ld hl, $6 add hl, bc ld [hl], a @@ -1393,12 +1396,12 @@ endr ret ; 8d6de -.asm_8d6de: ; 8d6de (23:56de) - call Function8e72c +.ApplyYOffset: ; 8d6de (23:56de) + call ApplyYOffset ret -.asm_8d6e2: ; 8d6e2 (23:56e2) - call Function8e72a +.ApplyXOffset: ; 8d6e2 (23:56e2) + call ApplyXOffset ret ; 8d6e6 (23:56e6) @@ -2839,17 +2842,17 @@ Unknown_8e706: ; Broken 2bpp pointers dbbw $10, $24, $672a ; 16-tile 2bpp at 24:672a (inside Function926f7) dbbw $10, $21, $672a ; 16-tile 2bpp at 21:672a (inside Function8671c) -Function8e72a: ; 8e72a +ApplyXOffset: ; 8e72a add $10 -Function8e72c: ; 8e72c +ApplyYOffset: ; 8e72c and $3f cp $20 - jr nc, .asm_8e737 + jr nc, .xflip call Function8e741 ld a, h ret -.asm_8e737 +.xflip and $1f call Function8e741 ld a, h @@ -2862,7 +2865,7 @@ Function8e741: ; 8e741 ld e, a ld a, d ld d, 0 - ld hl, Unknown_8e75d + ld hl, .sinewave rept 2 add hl, de endr @@ -2870,54 +2873,54 @@ endr inc hl ld d, [hl] ld hl, 0 -.asm_8e750 +.loop srl a - jr nc, .asm_8e755 + jr nc, .skip_add add hl, de -.asm_8e755 +.skip_add sla e rl d and a - jr nz, .asm_8e750 + jr nz, .loop ret ; 8e75d -Unknown_8e75d: ; 8e75d +.sinewave: ; 8e75d sine_wave $100 -Function8e79d: ; 8e79d +AnimateEndOfExpBar: ; 8e79d ld a, [hSGB] - ld de, GFX_8e7f4 + ld de, EndOfExpBarGFX and a - jr z, .asm_8e7a8 - ld de, GFX_8e804 + jr z, .load + ld de, SGBEndOfExpBarGFX -.asm_8e7a8 - ld hl, VTiles0 - lb bc, BANK(GFX_8e7f4), 1 +.load + ld hl, VTiles0 tile $00 + lb bc, BANK(EndOfExpBarGFX), 1 call Request2bpp ld c, $8 ld d, $0 -.asm_8e7b5 +.loop push bc - call Function8e7c6 + call .AnimateFrame call DelayFrame pop bc rept 2 inc d endr dec c - jr nz, .asm_8e7b5 + jr nz, .loop call ClearSprites ret ; 8e7c6 -Function8e7c6: ; 8e7c6 +.AnimateFrame: ; 8e7c6 ld hl, Sprites ld c, $8 -.asm_8e7cb +.anim_loop ld a, c and a ret z @@ -2927,32 +2930,35 @@ Function8e7c6: ; 8e7c6 sla a sla a push af + push de push hl - call Function8e72c + call ApplyYOffset pop hl pop de - add $68 + add 13 * 8 ld [hli], a + pop af push de push hl - call Function8e72a + call ApplyXOffset pop hl pop de - add $54 + add 10 * 8 + 4 ld [hli], a + ld a, $0 ld [hli], a - ld a, $6 + ld a, $6 ; OBJ 6 ld [hli], a - jr .asm_8e7cb + jr .anim_loop ; 8e7f4 -GFX_8e7f4: ; 8e7f4 -INCBIN "gfx/unknown/08e7f4.2bpp" -GFX_8e804: ; 8e804 -INCBIN "gfx/unknown/08e804.2bpp" +EndOfExpBarGFX: ; 8e7f4 +INCBIN "gfx/battle/expbarend.2bpp" +SGBEndOfExpBarGFX: ; 8e804 +INCBIN "gfx/battle/expbarend_sgb.2bpp" ClearSpriteAnims: ; 8e814 push hl diff --git a/engine/time_capsule/conversion.asm b/engine/time_capsule/conversion.asm index 10f7ab5f3..50ddc23d7 100755 --- a/engine/time_capsule/conversion.asm +++ b/engine/time_capsule/conversion.asm @@ -359,7 +359,7 @@ NewPokedexEntry: ; fb877 call WaitPressAorB_BlinkCursor ld a, $1 ld [wPokedexStatus], a - callba Function4424d + callba DisplayDexEntry call WaitPressAorB_BlinkCursor pop af ld [wPokedexStatus], a diff --git a/engine/town_map.asm b/engine/town_map.asm index c821e793a..e9a3a5001 100755 --- a/engine/town_map.asm +++ b/engine/town_map.asm @@ -92,7 +92,7 @@ Function919b0: ; 919b0 jr nz, .pressed_down .loop2 push de - callba Function8cf69 + callba PlaySpriteAnimations pop de call DelayFrame jr .loop diff --git a/engine/trade/animation.asm b/engine/trade/animation.asm index 0aaf0cb8b..ec02fc667 100755 --- a/engine/trade/animation.asm +++ b/engine/trade/animation.asm @@ -206,7 +206,7 @@ DoTradeAnimation: ; 29082 bit 7, a jr nz, .finished call .DoTradeAnimCommand - callab Function8cf69 + callab PlaySpriteAnimations ld hl, wcf65 inc [hl] call DelayFrame |