diff options
Diffstat (limited to 'engine/trade/animation.asm')
-rwxr-xr-x | engine/trade/animation.asm | 668 |
1 files changed, 376 insertions, 292 deletions
diff --git a/engine/trade/animation.asm b/engine/trade/animation.asm index 91e190075..d90f45a82 100755 --- a/engine/trade/animation.asm +++ b/engine/trade/animation.asm @@ -7,10 +7,10 @@ TradeAnimation: ; 28f24 ld hl, wPlayerTrademonSpecies ld de, wOTTrademonSpecies call LinkTradeAnim_LoadTradeMonSpecies - ld de, .data_28f3f - jr RunTradeAnimSequence + ld de, .script + jr RunTradeAnimScript -.data_28f3f +.script tradeanim_setup_givemon_scroll tradeanim_show_givemon_data tradeanim_do_givemon_scroll @@ -22,7 +22,7 @@ TradeAnimation: ; 28f24 tradeanim_wait_anim tradeanim_bulge_through_tube tradeanim_wait_anim - tradeanim_1e + tradeanim_textbox_scroll tradeanim_give_trademon_sfx tradeanim_tube_to_ot tradeanim_sent_to_ot_text @@ -41,10 +41,10 @@ TradeAnimation: ; 28f24 tradeanim_show_getmon_data tradeanim_poof tradeanim_wait_anim - tradeanim_1d + tradeanim_frontpic_scroll tradeanim_animate_frontpic tradeanim_wait_80_if_ot_egg - tradeanim_1e + tradeanim_textbox_scroll tradeanim_take_care_of_text tradeanim_scroll_out_right tradeanim_end @@ -58,10 +58,10 @@ TradeAnimationPlayer2: ; 28f63 ld hl, wOTTrademonSpecies ld de, wPlayerTrademonSpecies call LinkTradeAnim_LoadTradeMonSpecies - ld de, .data_28f7e - jr RunTradeAnimSequence + ld de, .script + jr RunTradeAnimScript -.data_28f7e +.script tradeanim_ot_sends_text_2 tradeanim_ot_bids_farewell tradeanim_wait_40 @@ -75,10 +75,10 @@ TradeAnimationPlayer2: ; 28f63 tradeanim_show_getmon_data tradeanim_poof tradeanim_wait_anim - tradeanim_1d + tradeanim_frontpic_scroll tradeanim_animate_frontpic tradeanim_wait_180_if_ot_egg - tradeanim_1e + tradeanim_textbox_scroll tradeanim_take_care_of_text tradeanim_scroll_out_right @@ -92,14 +92,14 @@ TradeAnimationPlayer2: ; 28f63 tradeanim_wait_anim tradeanim_bulge_through_tube tradeanim_wait_anim - tradeanim_1e + tradeanim_textbox_scroll tradeanim_give_trademon_sfx tradeanim_tube_to_player tradeanim_sent_to_ot_text tradeanim_scroll_out_right tradeanim_end -RunTradeAnimSequence: ; 28fa1 +RunTradeAnimScript: ; 28fa1 ld hl, wTradeAnimPointer ld [hl], e inc hl @@ -132,6 +132,7 @@ RunTradeAnimSequence: ; 28fa1 pop af ld [hMapAnims], a ret + ; 28fdb .TradeAnimLayout: ; 28fdb @@ -197,8 +198,9 @@ RunTradeAnimSequence: ; 28fa1 ld a, [wOTTrademonSpecies] ld de, wOTTrademonSpeciesName call TradeAnim_GetNickname - call Function297ed + call TradeAnim_NormalPals ret + ; 29082 DoTradeAnimation: ; 29082 @@ -217,6 +219,7 @@ DoTradeAnimation: ; 29082 call LoadStandardFont scf ret + ; 290a0 .DoTradeAnimCommand: ; 290a0 @@ -224,9 +227,8 @@ DoTradeAnimation: ; 29082 ld e, a ld d, 0 ld hl, .JumpTable -rept 2 add hl, de -endr + add hl, de ld a, [hli] ld h, [hl] ld l, a @@ -234,63 +236,64 @@ endr ; 290af .JumpTable: ; 290af - dw TradeAnim_Next ; 00 - dw TradeAnim_ShowGivemonData ; 01 - dw TradeAnim_ShowGetmonData ; 02 - dw TradeAnim_EnterLinkTube ; 03 - dw TradeAnim_04 ; 04 - dw TradeAnim_ExitLinkTube ; 05 - dw TradeAnim_TubeToOT1 ; 06 - dw TradeAnim_TubeToOT2 ; 07 - dw TradeAnim_TubeToOT3 ; 08 - dw TradeAnim_TubeToOT4 ; 09 - dw TradeAnim_TubeToOT5 ; 0a - dw TradeAnim_TubeToOT6 ; 0b - dw TradeAnim_TubeToOT7 ; 0c - dw TradeAnim_TubeToOT8 ; 0d - dw TradeAnim_TubeToPlayer1 ; 0e - dw TradeAnim_TubeToPlayer2 ; 0f - dw TradeAnim_TubeToPlayer3 ; 10 - dw TradeAnim_TubeToPlayer4 ; 11 - dw TradeAnim_TubeToPlayer5 ; 12 - dw TradeAnim_TubeToPlayer6 ; 13 - dw TradeAnim_TubeToPlayer7 ; 14 - dw TradeAnim_TubeToPlayer8 ; 15 - dw TradeAnim_SentToOTText ; 16 - dw TradeAnim_OTBidsFarewell ; 17 - dw TradeAnim_TakeCareOfText ; 18 - dw TradeAnim_OTSendsText1 ; 19 - dw TradeAnim_OTSendsText2 ; 1a - dw TradeAnim_SetupGivemonScroll ; 1b - dw TradeAnim_DoGivemonScroll ; 1c - dw TradeAnim_1d ; 1d - dw TradeAnim_1e ; 1e - dw TradeAnim_ScrollOutRight ; 1f - dw TradeAnim_ScrollOutRight2 ; 20 - dw TraideAnim_Wait80 ; 21 - dw TraideAnim_Wait40 ; 22 - dw TradeAnim_RockingBall ; 23 - dw TradeAnim_DropBall ; 24 - dw TradeAnim_WaitAnim ; 25 - dw TradeAnim_WaitAnim2 ; 26 - dw TradeAnim_Poof ; 27 + dw TradeAnim_AdvanceScriptPointer ; 00 + dw TradeAnim_ShowGivemonData ; 01 + dw TradeAnim_ShowGetmonData ; 02 + dw TradeAnim_EnterLinkTube1 ; 03 + dw TradeAnim_EnterLinkTube2 ; 04 + dw TradeAnim_ExitLinkTube ; 05 + dw TradeAnim_TubeToOT1 ; 06 + dw TradeAnim_TubeToOT2 ; 07 + dw TradeAnim_TubeToOT3 ; 08 + dw TradeAnim_TubeToOT4 ; 09 + dw TradeAnim_TubeToOT5 ; 0a + dw TradeAnim_TubeToOT6 ; 0b + dw TradeAnim_TubeToOT7 ; 0c + dw TradeAnim_TubeToOT8 ; 0d + dw TradeAnim_TubeToPlayer1 ; 0e + dw TradeAnim_TubeToPlayer2 ; 0f + dw TradeAnim_TubeToPlayer3 ; 10 + dw TradeAnim_TubeToPlayer4 ; 11 + dw TradeAnim_TubeToPlayer5 ; 12 + dw TradeAnim_TubeToPlayer6 ; 13 + dw TradeAnim_TubeToPlayer7 ; 14 + dw TradeAnim_TubeToPlayer8 ; 15 + dw TradeAnim_SentToOTText ; 16 + dw TradeAnim_OTBidsFarewell ; 17 + dw TradeAnim_TakeCareOfText ; 18 + dw TradeAnim_OTSendsText1 ; 19 + dw TradeAnim_OTSendsText2 ; 1a + dw TradeAnim_SetupGivemonScroll ; 1b + dw TradeAnim_DoGivemonScroll ; 1c + dw TradeAnim_FrontpicScrollStart ; 1d + dw TradeAnim_TextboxScrollStart ; 1e + dw TradeAnim_ScrollOutRight ; 1f + dw TradeAnim_ScrollOutRight2 ; 20 + dw TraideAnim_Wait80 ; 21 + dw TraideAnim_Wait40 ; 22 + dw TradeAnim_RockingBall ; 23 + dw TradeAnim_DropBall ; 24 + dw TradeAnim_WaitAnim ; 25 + dw TradeAnim_WaitAnim2 ; 26 + dw TradeAnim_Poof ; 27 dw TradeAnim_BulgeThroughTube ; 28 - dw TradeAnim_GiveTrademonSFX ; 29 - dw TradeAnim_GetTrademonSFX ; 2a - dw TradeAnim_End ; 2b - dw TradeAnim_AnimateFrontpic ; 2c - dw TraideAnim_Wait96 ; 2d - dw TraideAnim_Wait80IfOTEgg ; 2e - dw TraideAnim_Wait180IfOTEgg ; 2f + dw TradeAnim_GiveTrademonSFX ; 29 + dw TradeAnim_GetTrademonSFX ; 2a + dw TradeAnim_End ; 2b + dw TradeAnim_AnimateFrontpic ; 2c + dw TraideAnim_Wait96 ; 2d + dw TraideAnim_Wait80IfOTEgg ; 2e + dw TraideAnim_Wait180IfOTEgg ; 2f ; 2910f -NextTradeAnim: ; 2910f +TradeAnim_IncrementJumptableIndex: ; 2910f ld hl, wJumptableIndex inc [hl] ret + ; 29114 -TradeAnim_Next: ; 29114 +TradeAnim_AdvanceScriptPointer: ; 29114 ld hl, wTradeAnimPointer ld e, [hl] inc hl @@ -302,47 +305,51 @@ TradeAnim_Next: ; 29114 dec hl ld [hl], e ret + ; 29123 TradeAnim_End: ; 29123 ld hl, wJumptableIndex set 7, [hl] ret + ; 29129 TradeAnim_TubeToOT1: ; 29129 - ld a, $ed - call Function292f6 + ld a, $ed ; >>>>>>>> + call TradeAnim_PlaceTrademonStatsOnTubeAnim ld a, [wLinkTradeSendmonSpecies] ld [wd265], a xor a depixel 5, 11, 4, 0 ld b, $0 - jr Function2914e + jr TradeAnim_InitTubeAnim TradeAnim_TubeToPlayer1: ; 2913c - ld a, $ee - call Function292f6 + ld a, $ee ; <<<<<<<< + call TradeAnim_PlaceTrademonStatsOnTubeAnim ld a, [wLinkTradeGetmonSpecies] ld [wd265], a ld a, $2 depixel 9, 18, 4, 4 ld b, $4 - -Function2914e: ; 2914e +TradeAnim_InitTubeAnim: ; 2914e push bc push de push bc push de + push af call DisableLCD callab ClearSpriteAnims hlbgcoord 20, 3 - ld bc, $c + ld bc, 12 ld a, $60 call ByteFill pop af - call Function29281 + + call TradeAnim_TubeAnimJumptable + xor a ld [hSCX], a ld a, $7 @@ -351,113 +358,127 @@ Function2914e: ; 2914e ld [hWY], a call EnableLCD call LoadTradeBubbleGFX + pop de - ld a, SPRITE_ANIM_INDEX_11 + ld a, SPRITE_ANIM_INDEX_TRADEMON_ICON call _InitSpriteAnimStruct - ld hl, $b + + ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX add hl, bc pop bc ld [hl], b + pop de - ld a, SPRITE_ANIM_INDEX_12 + ld a, SPRITE_ANIM_INDEX_TRADEMON_BUBBLE call _InitSpriteAnimStruct - ld hl, $b + + ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX add hl, bc pop bc ld [hl], b + call WaitBGMap - ld b, SCGB_1B + ld b, SCGB_TRADE_TUBE call GetSGBLayout ld a, %11100100 ; 3,2,1,0 call DmgToCgbBGPals - ld a, $d0 + ld a, %11010000 call DmgToCgbObjPal0 - call NextTradeAnim + + call TradeAnim_IncrementJumptableIndex ld a, $5c ld [wcf64], a ret + ; 291af TradeAnim_TubeToOT2: ; 291af - call Function2981d + call TradeAnim_FlashBGPals ld a, [hSCX] add $2 ld [hSCX], a cp $50 ret nz ld a, $1 - call Function29281 - call NextTradeAnim + call TradeAnim_TubeAnimJumptable + call TradeAnim_IncrementJumptableIndex ret + ; 291c4 TradeAnim_TubeToOT3: ; 291c4 - call Function2981d + call TradeAnim_FlashBGPals ld a, [hSCX] add $2 ld [hSCX], a cp $a0 ret nz ld a, $2 - call Function29281 - call NextTradeAnim + call TradeAnim_TubeAnimJumptable + call TradeAnim_IncrementJumptableIndex ret + ; 291d9 TradeAnim_TubeToOT4: ; 291d9 - call Function2981d + call TradeAnim_FlashBGPals ld a, [hSCX] add $2 ld [hSCX], a and a ret nz - call NextTradeAnim + call TradeAnim_IncrementJumptableIndex ret + ; 291e8 TradeAnim_TubeToPlayer3: ; 291e8 - call Function2981d + call TradeAnim_FlashBGPals ld a, [hSCX] sub $2 ld [hSCX], a cp $b0 ret nz ld a, $1 - call Function29281 - call NextTradeAnim + call TradeAnim_TubeAnimJumptable + call TradeAnim_IncrementJumptableIndex ret + ; 291fd TradeAnim_TubeToPlayer4: ; 291fd - call Function2981d + call TradeAnim_FlashBGPals ld a, [hSCX] sub $2 ld [hSCX], a cp $60 ret nz xor a - call Function29281 - call NextTradeAnim + call TradeAnim_TubeAnimJumptable + call TradeAnim_IncrementJumptableIndex ret + ; 29211 TradeAnim_TubeToPlayer5: ; 29211 - call Function2981d + call TradeAnim_FlashBGPals ld a, [hSCX] sub $2 ld [hSCX], a and a ret nz - call NextTradeAnim + call TradeAnim_IncrementJumptableIndex ret + ; 29220 TradeAnim_TubeToOT6: TradeAnim_TubeToPlayer6: ; 29220 ld a, $80 ld [wcf64], a - call NextTradeAnim + call TradeAnim_IncrementJumptableIndex ret + ; 29229 TradeAnim_TubeToOT8: @@ -478,16 +499,17 @@ TradeAnim_TubeToPlayer8: ; 29229 call EnableLCD call LoadTradeBallAndCableGFX call WaitBGMap - call Function297ed - call TradeAnim_Next + call TradeAnim_NormalPals + call TradeAnim_AdvanceScriptPointer ret + ; 2925d TradeAnim_TubeToOT5: TradeAnim_TubeToOT7: TradeAnim_TubeToPlayer2: TradeAnim_TubeToPlayer7: ; 2925d - call Function2981d + call TradeAnim_FlashBGPals ld hl, wcf64 ld a, [hl] and a @@ -496,47 +518,50 @@ TradeAnim_TubeToPlayer7: ; 2925d ret .done - call NextTradeAnim + call TradeAnim_IncrementJumptableIndex ret + ; 2926d TradeAnim_GiveTrademonSFX: ; 2926d - call TradeAnim_Next + call TradeAnim_AdvanceScriptPointer ld de, SFX_GIVE_TRADEMON call PlaySFX ret + ; 29277 TradeAnim_GetTrademonSFX: ; 29277 - call TradeAnim_Next + call TradeAnim_AdvanceScriptPointer ld de, SFX_GET_TRADEMON call PlaySFX ret + ; 29281 -Function29281: ; 29281 +TradeAnim_TubeAnimJumptable: ; 29281 and 3 ld e, a ld d, 0 - ld hl, Jumptable_2928f -rept 2 + ld hl, .Jumptable + add hl, de add hl, de -endr ld a, [hli] ld h, [hl] ld l, a jp [hl] ; 2928f -Jumptable_2928f: ; 2928f - dw Function29297 - dw Function292af - dw Function292be - dw Function29297 +.Jumptable: ; 2928f + dw .Zero + dw .One + dw .Two + dw .Three ; 29297 -Function29297: ; 29297 - call Function297cf +.Zero: ; 29297 +.Three: ; 29297 + call TradeAnim_BlankTileMap hlcoord 9, 3 ld [hl], $5b inc hl @@ -544,21 +569,23 @@ Function29297: ; 29297 ld a, $60 call ByteFill hlcoord 3, 2 - call Function292ec + call TradeAnim_CopyTradeGameBoyTilemap ret + ; 292af -Function292af: ; 292af - call Function297cf +.One: ; 292af + call TradeAnim_BlankTileMap hlcoord 0, 3 ld bc, SCREEN_WIDTH ld a, $60 call ByteFill ret + ; 292be -Function292be: ; 292be - call Function297cf +.Two: ; 292be + call TradeAnim_BlankTileMap hlcoord 0, 3 ld bc, $11 ld a, $60 @@ -582,18 +609,20 @@ Function292be: ; 292be ld a, $5b ld [hl], a hlcoord 10, 6 - call Function292ec + call TradeAnim_CopyTradeGameBoyTilemap ret + ; 292ec -Function292ec: ; 292ec +TradeAnim_CopyTradeGameBoyTilemap: ; 292ec ld de, TradeGameBoyTilemap lb bc, 8, 6 - call Function297db + call TradeAnim_CopyBoxFromDEtoHL ret + ; 292f6 -Function292f6: ; 292f6 +TradeAnim_PlaceTrademonStatsOnTubeAnim: ; 292f6 push af call ClearBGPalettes call WaitTop @@ -631,20 +660,21 @@ Function292f6: ; 292f6 ld [hBGMapAddress + 1], a call ClearTileMap ret + ; 29348 -TradeAnim_EnterLinkTube: ; 29348 +TradeAnim_EnterLinkTube1: ; 29348 call ClearTileMap call WaitTop ld a, $a0 ld [hSCX], a call DelayFrame hlcoord 8, 2 - ld de, Tilemap_298f7 + ld de, TradeLinkTubeTilemap lb bc, 3, 12 - call Function297db + call TradeAnim_CopyBoxFromDEtoHL call WaitBGMap - ld b, SCGB_1B + ld b, SCGB_TRADE_TUBE call GetSGBLayout ld a, %11100100 ; 3,2,1,0 call DmgToCgbBGPals @@ -652,11 +682,12 @@ TradeAnim_EnterLinkTube: ; 29348 call DmgToCgbObjPals ld de, SFX_POTION call PlaySFX - call NextTradeAnim + call TradeAnim_IncrementJumptableIndex ret + ; 2937e -TradeAnim_04: ; 2937e +TradeAnim_EnterLinkTube2: ; 2937e ld a, [hSCX] and a jr z, .done @@ -667,24 +698,26 @@ TradeAnim_04: ; 2937e .done ld c, 80 call DelayFrames - call TradeAnim_Next + call TradeAnim_AdvanceScriptPointer ret + ; 29391 TradeAnim_ExitLinkTube: ; 29391 ld a, [hSCX] cp $a0 - jr z, .asm_2939c + jr z, .done sub $4 ld [hSCX], a ret -.asm_2939c +.done call ClearTileMap xor a ld [hSCX], a - call TradeAnim_Next + call TradeAnim_AdvanceScriptPointer ret + ; 293a6 TradeAnim_SetupGivemonScroll: ; 293a6 @@ -694,8 +727,9 @@ TradeAnim_SetupGivemonScroll: ; 293a6 ld [hSCX], a ld a, $50 ld [hWY], a - call TradeAnim_Next + call TradeAnim_AdvanceScriptPointer ret + ; 293b6 TradeAnim_DoGivemonScroll: ; 293b6 @@ -714,26 +748,29 @@ TradeAnim_DoGivemonScroll: ; 293b6 ld [hWX], a xor a ld [hSCX], a - call TradeAnim_Next + call TradeAnim_AdvanceScriptPointer ret + ; 293d2 -TradeAnim_1d: ; 293d2 +TradeAnim_FrontpicScrollStart: ; 293d2 ld a, $7 ld [hWX], a ld a, $50 ld [hWY], a - call TradeAnim_Next + call TradeAnim_AdvanceScriptPointer ret + ; 293de -TradeAnim_1e: ; 293de +TradeAnim_TextboxScrollStart: ; 293de ld a, $7 ld [hWX], a ld a, $90 ld [hWY], a - call TradeAnim_Next + call TradeAnim_AdvanceScriptPointer ret + ; 293ea TradeAnim_ScrollOutRight: ; 293ea @@ -750,8 +787,9 @@ TradeAnim_ScrollOutRight: ; 293ea ld a, VBGMap0 / $100 ld [hBGMapAddress + 1], a call ClearTileMap - call NextTradeAnim + call TradeAnim_IncrementJumptableIndex ret + ; 2940c TradeAnim_ScrollOutRight2: ; 2940c @@ -772,19 +810,20 @@ TradeAnim_ScrollOutRight2: ; 2940c ld [hWY], a ld a, VBGMap0 / $100 ld [hBGMapAddress + 1], a - call TradeAnim_Next + call TradeAnim_AdvanceScriptPointer ret + ; 2942e TradeAnim_ShowGivemonData: ; 2942e - call Function2951f + call ShowPlayerTrademonStats ld a, [wPlayerTrademonSpecies] ld [CurPartySpecies], a ld a, [wPlayerTrademonDVs] ld [TempMonDVs], a ld a, [wPlayerTrademonDVs + 1] ld [TempMonDVs + 1], a - ld b, SCGB_1A + ld b, SCGB_PLAYER_OR_MON_FRONTPIC_PALS call GetSGBLayout ld a, %11100100 ; 3,2,1,0 call DmgToCgbBGPals @@ -798,31 +837,34 @@ TradeAnim_ShowGivemonData: ; 2942e call PlayCryHeader .skip_cry - call TradeAnim_Next + call TradeAnim_AdvanceScriptPointer ret + ; 29461 TradeAnim_ShowGetmonData: ; 29461 - call Function29549 + call ShowOTTrademonStats ld a, [wOTTrademonSpecies] ld [CurPartySpecies], a ld a, [wOTTrademonDVs] ld [TempMonDVs], a ld a, [wOTTrademonDVs + 1] ld [TempMonDVs + 1], a - ld b, SCGB_1A + ld b, SCGB_PLAYER_OR_MON_FRONTPIC_PALS call GetSGBLayout ld a, %11100100 ; 3,2,1,0 call DmgToCgbBGPals call TradeAnim_ShowGetmonFrontpic - call TradeAnim_Next + call TradeAnim_AdvanceScriptPointer ret + ; 29487 TradeAnim_AnimateFrontpic: ; 29487 callba AnimateTrademonFrontpic - call TradeAnim_Next + call TradeAnim_AdvanceScriptPointer ret + ; 29491 TradeAnim_GetFrontpic: ; 29491 @@ -836,6 +878,7 @@ TradeAnim_GetFrontpic: ; 29491 pop de predef GetFrontpic ret + ; 294a9 TradeAnim_GetNickname: ; 294a9 @@ -847,6 +890,7 @@ TradeAnim_GetNickname: ; 294a9 ld bc, NAME_LENGTH call CopyBytes ret + ; 294bb TradeAnim_ShowGivemonFrontpic: ; 294bb @@ -861,7 +905,7 @@ TradeAnim_ShowFrontpic: ; 294c3 lb bc, 10, $31 call Request2bpp call WaitTop - call Function297cf + call TradeAnim_BlankTileMap hlcoord 7, 2 xor a ld [hGraphicStartTile], a @@ -869,27 +913,31 @@ TradeAnim_ShowFrontpic: ; 294c3 predef PlaceGraphic call WaitBGMap ret + ; 294e7 TraideAnim_Wait80: ; 294e7 ld c, 80 call DelayFrames - call TradeAnim_Next + call TradeAnim_AdvanceScriptPointer ret + ; 294f0 TraideAnim_Wait40: ; 294f0 ld c, 40 call DelayFrames - call TradeAnim_Next + call TradeAnim_AdvanceScriptPointer ret + ; 294f9 TraideAnim_Wait96: ; 294f9 ld c, 96 call DelayFrames - call TradeAnim_Next + call TradeAnim_AdvanceScriptPointer ret + ; 29502 TraideAnim_Wait80IfOTEgg: ; 29502 @@ -898,6 +946,7 @@ TraideAnim_Wait80IfOTEgg: ; 29502 ld c, 80 call DelayFrames ret + ; 2950c TraideAnim_Wait180IfOTEgg: ; 2950c @@ -906,55 +955,59 @@ TraideAnim_Wait180IfOTEgg: ; 2950c ld c, 180 call DelayFrames ret + ; 29516 IsOTTrademonEgg: ; 29516 - call TradeAnim_Next + call TradeAnim_AdvanceScriptPointer ld a, [wOTTrademonSpecies] cp EGG ret + ; 2951f -Function2951f: ; 2951f +ShowPlayerTrademonStats: ; 2951f ld de, wPlayerTrademonSpecies ld a, [de] cp EGG - jr z, Function295a1 - call Function29573 + jr z, TrademonStats_Egg + call TrademonStats_MonTemplate ld de, wPlayerTrademonSpecies - call Function295e3 + call TrademonStats_PrintSpeciesNumber ld de, wPlayerTrademonSpeciesName - call Function295ef + call TrademonStats_PrintSpeciesName ld a, [wPlayerTrademonCaughtData] ld de, wPlayerTrademonOTName - call Function295f6 - ld de, PlayerScreens - call Function29611 - call Function295d8 + call TrademonStats_PrintOTName + ld de, wPlayerTrademonID + call TrademonStats_PrintTrademonID + call TrademonStats_WaitBGMap ret + ; 29549 -Function29549: ; 29549 +ShowOTTrademonStats: ; 29549 ld de, wOTTrademonSpecies ld a, [de] cp EGG - jr z, Function295a1 - call Function29573 + jr z, TrademonStats_Egg + call TrademonStats_MonTemplate ld de, wOTTrademonSpecies - call Function295e3 + call TrademonStats_PrintSpeciesNumber ld de, wOTTrademonSpeciesName - call Function295ef + call TrademonStats_PrintSpeciesName ld a, [wOTTrademonCaughtData] ld de, wOTTrademonOTName - call Function295f6 + call TrademonStats_PrintOTName ld de, wOTTrademonID - call Function29611 - call Function295d8 + call TrademonStats_PrintTrademonID + call TrademonStats_WaitBGMap ret + ; 29573 -Function29573: ; 29573 +TrademonStats_MonTemplate: ; 29573 call WaitTop - call Function297cf + call TradeAnim_BlankTileMap ld a, VBGMap1 / $100 ld [hBGMapAddress + 1], a hlcoord 3, 0 @@ -962,129 +1015,138 @@ Function29573: ; 29573 ld c, $d call TextBox hlcoord 4, 0 - ld de, String29591 + ld de, .OTMonData call PlaceString ret + ; 29591 -String29591: ; 29591 +.OTMonData: ; 29591 db "─── №." next "" next "OT/" next "<ID>№.@" ; 295a1 -Function295a1: ; 295a1 +TrademonStats_Egg: ; 295a1 call WaitTop - call Function297cf + call TradeAnim_BlankTileMap ld a, VBGMap1 / $100 ld [hBGMapAddress + 1], a hlcoord 3, 0 - ld b, $6 - ld c, $d + ld b, 6 + ld c, 13 call TextBox hlcoord 4, 2 - ld de, String295c2 + ld de, .EggData call PlaceString - call Function295d8 + call TrademonStats_WaitBGMap ret + ; 295c2 -String295c2: ; 295c2 +.EggData: ; 295c2 db "EGG" next "OT/?????" next "<ID>№.?????@" ; 295d8 -Function295d8: ; 295d8 +TrademonStats_WaitBGMap: ; 295d8 call WaitBGMap call WaitTop ld a, VBGMap0 / $100 ld [hBGMapAddress + 1], a ret + ; 295e3 -Function295e3: ; 295e3 +TrademonStats_PrintSpeciesNumber: ; 295e3 hlcoord 10, 0 lb bc, PRINTNUM_LEADINGZEROS | 1, 3 call PrintNum ld [hl], " " ret + ; 295ef -Function295ef: ; 295ef +TrademonStats_PrintSpeciesName: ; 295ef hlcoord 4, 2 call PlaceString ret + ; 295f6 -Function295f6: ; 295f6 +TrademonStats_PrintOTName: ; 295f6 cp 3 - jr c, .asm_295fb + jr c, .caught_gender_okay xor a - -.asm_295fb +.caught_gender_okay push af hlcoord 7, 4 call PlaceString inc bc pop af - ld hl, Unknown_2960e + ld hl, .Gender ld d, 0 ld e, a add hl, de ld a, [hl] ld [bc], a ret + ; 2960e -Unknown_2960e: ; 2960e +.Gender: ; 2960e db " ", "♂", "♀" ; 29611 -Function29611: ; 29611 +TrademonStats_PrintTrademonID: ; 29611 hlcoord 7, 6 lb bc, PRINTNUM_LEADINGZEROS | 2, 5 call PrintNum ret + ; 2961b TradeAnim_RockingBall: ; 2961b depixel 10, 11, 4, 0 ld a, SPRITE_ANIM_INDEX_0E call _InitSpriteAnimStruct - call TradeAnim_Next + call TradeAnim_AdvanceScriptPointer ld a, $20 ld [wcf64], a ret + ; 2962c TradeAnim_DropBall: ; 2962c depixel 10, 11, 4, 0 ld a, SPRITE_ANIM_INDEX_0E call _InitSpriteAnimStruct - ld hl, $b + ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX add hl, bc ld [hl], $1 - ld hl, $7 + ld hl, SPRITEANIMSTRUCT_YOFFSET add hl, bc ld [hl], $dc - call TradeAnim_Next + call TradeAnim_AdvanceScriptPointer ld a, $38 ld [wcf64], a ret + ; 29649 TradeAnim_Poof: ; 29649 depixel 10, 11, 4, 0 ld a, SPRITE_ANIM_INDEX_0F call _InitSpriteAnimStruct - call TradeAnim_Next + call TradeAnim_AdvanceScriptPointer ld a, $10 ld [wcf64], a ld de, SFX_BALL_POOF call PlaySFX ret + ; 29660 TradeAnim_BulgeThroughTube: ; 29660 @@ -1093,177 +1155,184 @@ TradeAnim_BulgeThroughTube: ; 29660 depixel 5, 11 ld a, SPRITE_ANIM_INDEX_10 call _InitSpriteAnimStruct - call TradeAnim_Next + call TradeAnim_AdvanceScriptPointer ld a, $40 ld [wcf64], a ret + ; 29676 -Function29676: ; 29676 (a:5676) - ld hl, $b +TradeAnim_AnimateTrademonInTube: ; 29676 (a:5676) + ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX add hl, bc ld e, [hl] ld d, 0 - ld hl, Jumptable_29686 -rept 2 + ld hl, .Jumptable + add hl, de add hl, de -endr ld a, [hli] ld h, [hl] ld l, a jp [hl] ; 29686 -Jumptable_29686: ; 29686 (a:5686) - dw Function2969a - dw Function296a4 - dw Function296af - dw Function296bd - dw Function296cf - dw Function296dd - dw Function296f2 +.Jumptable: ; 29686 (a:5686) + dw .InitTimer + dw .WaitTimer1 + dw .MoveRight + dw .MoveDown + dw .MoveUp + dw .MoveLeft + dw .WaitTimer2 ; 2969a -Function29694: ; 29694 (a:5694) - ld hl, $b +.JumptableNext: ; 29694 (a:5694) + ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX add hl, bc inc [hl] ret -Function2969a: ; 2969a (a:569a) - call Function29694 - ld hl, $c +.InitTimer: ; 2969a (a:569a) + call .JumptableNext + ld hl, SPRITEANIMSTRUCT_0C add hl, bc ld [hl], $80 ret -Function296a4: ; 296a4 (a:56a4) - ld hl, $c +.WaitTimer1: ; 296a4 (a:56a4) + ld hl, SPRITEANIMSTRUCT_0C add hl, bc ld a, [hl] dec [hl] and a ret nz - call Function29694 + call .JumptableNext -Function296af: ; 296af (a:56af) - ld hl, $4 +.MoveRight: ; 296af (a:56af) + ld hl, SPRITEANIMSTRUCT_XCOORD add hl, bc ld a, [hl] cp $94 - jr nc, .asm_296ba + jr nc, .done_move_right inc [hl] ret -.asm_296ba - call Function29694 -Function296bd: ; 296bd (a:56bd) - ld hl, $5 +.done_move_right + call .JumptableNext + +.MoveDown: ; 296bd (a:56bd) + ld hl, SPRITEANIMSTRUCT_YCOORD add hl, bc ld a, [hl] cp $4c - jr nc, .asm_296c8 + jr nc, .done_move_down inc [hl] ret -.asm_296c8 - ld hl, $ + +.done_move_down + ld hl, SPRITEANIMSTRUCT_INDEX add hl, bc ld [hl], $0 ret -Function296cf: ; 296cf (a:56cf) - ld hl, $5 +.MoveUp: ; 296cf (a:56cf) + ld hl, SPRITEANIMSTRUCT_YCOORD add hl, bc ld a, [hl] cp $2c - jr z, .asm_296da + jr z, .done_move_up dec [hl] ret -.asm_296da - call Function29694 -Function296dd: ; 296dd (a:56dd) - ld hl, $4 +.done_move_up + call .JumptableNext + +.MoveLeft: ; 296dd (a:56dd) + ld hl, SPRITEANIMSTRUCT_XCOORD add hl, bc ld a, [hl] cp $58 - jr z, .asm_296e8 + jr z, .done_move_left dec [hl] ret -.asm_296e8 - call Function29694 - ld hl, $c + +.done_move_left + call .JumptableNext + ld hl, SPRITEANIMSTRUCT_0C add hl, bc ld [hl], $80 ret -Function296f2: ; 296f2 (a:56f2) - ld hl, $c +.WaitTimer2: ; 296f2 (a:56f2) + ld hl, SPRITEANIMSTRUCT_0C add hl, bc ld a, [hl] dec [hl] and a ret nz - ld hl, $ + ld hl, SPRITEANIMSTRUCT_INDEX add hl, bc ld [hl], $0 ret + ; 29701 (a:5701) TradeAnim_SentToOTText: ; 29701 ld a, [wLinkMode] cp LINK_TIMECAPSULE jr z, .time_capsule - ld hl, UnknownText_0x29737 + ld hl, .Text_MonName call PrintText ld c, 189 call DelayFrames - ld hl, UnknownText_0x29732 + ld hl, .Text_WasSentTo call PrintText - call Function297c9 + call TradeAnim_Wait80Frames ld c, 128 call DelayFrames - call TradeAnim_Next + call TradeAnim_AdvanceScriptPointer ret .time_capsule - ld hl, UnknownText_0x29732 + ld hl, .Text_WasSentTo call PrintText - call Function297c9 - call TradeAnim_Next + call TradeAnim_Wait80Frames + call TradeAnim_AdvanceScriptPointer ret + ; 29732 -UnknownText_0x29732: ; 0x29732 +.Text_WasSentTo: ; 0x29732 ; was sent to @ . text_jump UnknownText_0x1bc6e9 db "@" ; 0x29737 -UnknownText_0x29737: ; 0x29737 +.Text_MonName: ; 0x29737 ; text_jump UnknownText_0x1bc701 db "@" ; 0x2973c TradeAnim_OTBidsFarewell: ; 2973c - ld hl, UnknownText_0x29752 + ld hl, .Text_BidsFarewellToMon call PrintText - call Function297c9 - ld hl, UnknownText_0x29757 + call TradeAnim_Wait80Frames + ld hl, .Text_MonName call PrintText - call Function297c9 - call TradeAnim_Next + call TradeAnim_Wait80Frames + call TradeAnim_AdvanceScriptPointer ret + ; 29752 -UnknownText_0x29752: ; 0x29752 +.Text_BidsFarewellToMon: ; 0x29752 ; bids farewell to text_jump UnknownText_0x1bc703 db "@" ; 0x29757 -UnknownText_0x29757: ; 0x29757 +.Text_MonName: ; 0x29757 ; . text_jump UnknownText_0x1bc719 db "@" @@ -1276,103 +1345,109 @@ TradeAnim_TakeCareOfText: ; 2975c ld a, " " call ByteFill call WaitBGMap - ld hl, UnknownText_0x2977a + ld hl, .Text_TakeGoodCareOfMon call PrintText - call Function297c9 - call TradeAnim_Next + call TradeAnim_Wait80Frames + call TradeAnim_AdvanceScriptPointer ret + ; 2977a -UnknownText_0x2977a: ; 0x2977a +.Text_TakeGoodCareOfMon: ; 0x2977a ; Take good care of @ . text_jump UnknownText_0x1bc71f db "@" ; 0x2977f TradeAnim_OTSendsText1: ; 2977f - ld hl, UnknownText_0x2979a + ld hl, .Text_ForYourMon call PrintText - call Function297c9 - ld hl, UnknownText_0x2979f + call TradeAnim_Wait80Frames + ld hl, .Text_OTSends call PrintText - call Function297c9 + call TradeAnim_Wait80Frames ld c, 14 call DelayFrames - call TradeAnim_Next + call TradeAnim_AdvanceScriptPointer ret + ; 2979a -UnknownText_0x2979a: ; 0x2979a +.Text_ForYourMon: ; 0x2979a ; For @ 's @ , text_jump UnknownText_0x1bc739 db "@" ; 0x2979f -UnknownText_0x2979f: ; 0x2979f +.Text_OTSends: ; 0x2979f ; sends @ . text_jump UnknownText_0x1bc74c db "@" ; 0x297a4 TradeAnim_OTSendsText2: ; 297a4 - ld hl, UnknownText_0x297bf + ld hl, .Text_WillTrade call PrintText - call Function297c9 - ld hl, UnknownText_0x297c4 + call TradeAnim_Wait80Frames + ld hl, .Text_ForYourMon call PrintText - call Function297c9 + call TradeAnim_Wait80Frames ld c, 14 call DelayFrames - call TradeAnim_Next + call TradeAnim_AdvanceScriptPointer ret + ; 297bf -UnknownText_0x297bf: ; 0x297bf +.Text_WillTrade: ; 0x297bf ; will trade @ @ text_jump UnknownText_0x1bc75e db "@" ; 0x297c4 -UnknownText_0x297c4: ; 0x297c4 +.Text_ForYourMon: ; 0x297c4 ; for @ 's @ . text_jump UnknownText_0x1bc774 db "@" ; 0x297c9 -Function297c9: ; 297c9 +TradeAnim_Wait80Frames: ; 297c9 ld c, 80 call DelayFrames ret + ; 297cf -Function297cf: ; 297cf +TradeAnim_BlankTileMap: ; 297cf hlcoord 0, 0 ld bc, SCREEN_WIDTH * SCREEN_HEIGHT ld a, " " call ByteFill ret + ; 297db -Function297db: ; 297db -.asm_297db +TradeAnim_CopyBoxFromDEtoHL: ; 297db +.row push bc push hl -.asm_297dd +.col ld a, [de] inc de ld [hli], a dec c - jr nz, .asm_297dd + jr nz, .col pop hl ld bc, SCREEN_WIDTH add hl, bc pop bc dec b - jr nz, .asm_297db + jr nz, .row ret + ; 297ed -Function297ed: ; 297ed +TradeAnim_NormalPals: ; 297ed ld a, [hSGB] and a ld a, %11100100 ; 3,2,1,0 @@ -1384,6 +1459,7 @@ Function297ed: ; 297ed ld a, %11100100 ; 3,2,1,0 call DmgToCgbBGPals ret + ; 297ff LinkTradeAnim_LoadTradePlayerNames: ; 297ff @@ -1396,6 +1472,7 @@ LinkTradeAnim_LoadTradePlayerNames: ; 297ff ld bc, NAME_LENGTH call CopyBytes ret + ; 29814 LinkTradeAnim_LoadTradeMonSpecies: ; 29814 @@ -1404,16 +1481,18 @@ LinkTradeAnim_LoadTradeMonSpecies: ; 29814 ld a, [de] ld [wLinkTradeGetmonSpecies], a ret + ; 2981d -Function2981d: ; 2981d +TradeAnim_FlashBGPals: ; 2981d ld a, [wcf65] and $7 ret nz ld a, [rBGP] - xor $3c + xor %00111100 call DmgToCgbBGPals ret + ; 2982b LoadTradeBallAndCableGFX: ; 2982b @@ -1435,6 +1514,7 @@ LoadTradeBallAndCableGFX: ; 2982b ld [hli], a ld [hl], $62 ret + ; 2985a LoadTradeBubbleGFX: ; 2985a @@ -1450,6 +1530,7 @@ LoadTradeBubbleGFX: ; 2985a ld [hli], a ld [hl], $62 ret + ; 29879 TradeAnim_WaitAnim: ; 29879 @@ -1461,8 +1542,9 @@ TradeAnim_WaitAnim: ; 29879 ret .done - call TradeAnim_Next + call TradeAnim_AdvanceScriptPointer ret + ; 29886 TradeAnim_WaitAnim2: ; 29886 @@ -1474,8 +1556,9 @@ TradeAnim_WaitAnim2: ; 29886 ret .done - call TradeAnim_Next + call TradeAnim_AdvanceScriptPointer ret + ; 29893 @@ -1484,7 +1567,7 @@ DebugTrade: ; 29893 ; It was meant for use in Japanese versions, so the ; constant used for copy length was changed by accident. - ld hl, Unknown_298b5 + ld hl, .DebugTradeData ld a, [hli] ld [wPlayerTrademonSpecies], a @@ -1508,9 +1591,10 @@ DebugTrade: ; 29893 dec c jr nz, .loop2 ret + ; 298b5 -Unknown_298b5: ; 298b5 +.DebugTradeData: ; 298b5 db VENUSAUR, "ゲーフり@@", $23, $01 ; GAME FREAK db CHARIZARD, "クりーチャ@", $56, $04 ; Creatures Inc. ; 298c7 @@ -1528,7 +1612,7 @@ TradeGameBoyTilemap: ; 298c7 db $4f, $50, $50, $50, $51, $52 ; 297f7 -Tilemap_298f7: ; 297f7 +TradeLinkTubeTilemap: ; 297f7 ; 12x3 db $43, $55, $56, $53, $53, $53, $53, $53, $53, $53, $53, $53 db $43, $57, $58, $54, $54, $54, $54, $54, $54, $54, $54, $54 |