diff options
Diffstat (limited to 'engine')
-rw-r--r-- | engine/movie/trade_animation.asm | 300 |
1 files changed, 147 insertions, 153 deletions
diff --git a/engine/movie/trade_animation.asm b/engine/movie/trade_animation.asm index 8e6c5a587..2ffbbd1c3 100644 --- a/engine/movie/trade_animation.asm +++ b/engine/movie/trade_animation.asm @@ -9,6 +9,15 @@ TRADEANIM_LEFT_ARROW EQU "▼" ; $ee const TRADEANIMSTATE_3 ; 3 TRADEANIMJUMPTABLE_LENGTH EQU const_value +add_tradeanim: MACRO +\1_TradeCmd: + dw \1 +ENDM + +tradeanim: MACRO + db (\1_TradeCmd - DoTradeAnimation.JumpTable) / 2 +ENDM + TradeAnimation: xor a ld [wcf66], a @@ -22,43 +31,43 @@ TradeAnimation: jr RunTradeAnimScript .script - tradeanim_setup_givemon_scroll - tradeanim_show_givemon_data - tradeanim_do_givemon_scroll - tradeanim_wait_80 - tradeanim_wait_96 - tradeanim_poof - tradeanim_rocking_ball - tradeanim_enter_link_tube - tradeanim_wait_anim - tradeanim_bulge_through_tube - tradeanim_wait_anim - tradeanim_textbox_scroll - tradeanim_give_trademon_sfx - tradeanim_tube_to_ot - tradeanim_sent_to_ot_text - tradeanim_scroll_out_right - - tradeanim_ot_sends_text_1 - tradeanim_ot_bids_farewell - tradeanim_wait_40 - tradeanim_scroll_out_right - tradeanim_get_trademon_sfx - tradeanim_tube_to_player - tradeanim_enter_link_tube - tradeanim_drop_ball - tradeanim_exit_link_tube - tradeanim_wait_anim - tradeanim_show_getmon_data - tradeanim_poof - tradeanim_wait_anim - tradeanim_frontpic_scroll - tradeanim_animate_frontpic - tradeanim_wait_80_if_ot_egg - tradeanim_textbox_scroll - tradeanim_take_care_of_text - tradeanim_scroll_out_right - tradeanim_end + tradeanim TradeAnim_SetupGivemonScroll + tradeanim TradeAnim_ShowGivemonData + tradeanim TradeAnim_DoGivemonScroll + tradeanim TradeAnim_Wait80 + tradeanim TradeAnim_Wait96 + tradeanim TradeAnim_Poof + tradeanim TradeAnim_RockingBall + tradeanim TradeAnim_EnterLinkTube1 + tradeanim TradeAnim_WaitAnim + tradeanim TradeAnim_BulgeThroughTube + tradeanim TradeAnim_WaitAnim + tradeanim TradeAnim_TextboxScrollStart + tradeanim TradeAnim_GiveTrademonSFX + tradeanim TradeAnim_TubeToOT1 + tradeanim TradeAnim_SentToOTText + tradeanim TradeAnim_ScrollOutRight + + tradeanim TradeAnim_OTSendsText1 + tradeanim TradeAnim_OTBidsFarewell + tradeanim TradeAnim_Wait40 + tradeanim TradeAnim_ScrollOutRight + tradeanim TradeAnim_GetTrademonSFX + tradeanim TradeAnim_TubeToPlayer1 + tradeanim TradeAnim_EnterLinkTube1 + tradeanim TradeAnim_DropBall + tradeanim TradeAnim_ExitLinkTube + tradeanim TradeAnim_WaitAnim + tradeanim TradeAnim_ShowGetmonData + tradeanim TradeAnim_Poof + tradeanim TradeAnim_WaitAnim + tradeanim TradeAnim_FrontpicScrollStart + tradeanim TradeAnim_AnimateFrontpic + tradeanim TradeAnim_Wait80IfOTEgg + tradeanim TradeAnim_TextboxScrollStart + tradeanim TradeAnim_TakeCareOfText + tradeanim TradeAnim_ScrollOutRight + tradeanim TradeAnim_End TradeAnimationPlayer2: xor a @@ -73,42 +82,42 @@ TradeAnimationPlayer2: jr RunTradeAnimScript .script - tradeanim_ot_sends_text_2 - tradeanim_ot_bids_farewell - tradeanim_wait_40 - tradeanim_scroll_out_right - tradeanim_get_trademon_sfx - tradeanim_tube_to_ot - tradeanim_enter_link_tube - tradeanim_drop_ball - tradeanim_exit_link_tube - tradeanim_wait_anim - tradeanim_show_getmon_data - tradeanim_poof - tradeanim_wait_anim - tradeanim_frontpic_scroll - tradeanim_animate_frontpic - tradeanim_wait_180_if_ot_egg - tradeanim_textbox_scroll - tradeanim_take_care_of_text - tradeanim_scroll_out_right - - tradeanim_setup_givemon_scroll - tradeanim_show_givemon_data - tradeanim_do_givemon_scroll - tradeanim_wait_40 - tradeanim_poof - tradeanim_rocking_ball - tradeanim_enter_link_tube - tradeanim_wait_anim - tradeanim_bulge_through_tube - tradeanim_wait_anim - tradeanim_textbox_scroll - tradeanim_give_trademon_sfx - tradeanim_tube_to_player - tradeanim_sent_to_ot_text - tradeanim_scroll_out_right - tradeanim_end + tradeanim TradeAnim_OTSendsText2 + tradeanim TradeAnim_OTBidsFarewell + tradeanim TradeAnim_Wait40 + tradeanim TradeAnim_ScrollOutRight + tradeanim TradeAnim_GetTrademonSFX + tradeanim TradeAnim_TubeToOT1 + tradeanim TradeAnim_EnterLinkTube1 + tradeanim TradeAnim_DropBall + tradeanim TradeAnim_ExitLinkTube + tradeanim TradeAnim_WaitAnim + tradeanim TradeAnim_ShowGetmonData + tradeanim TradeAnim_Poof + tradeanim TradeAnim_WaitAnim + tradeanim TradeAnim_FrontpicScrollStart + tradeanim TradeAnim_AnimateFrontpic + tradeanim TradeAnim_Wait180IfOTEgg + tradeanim TradeAnim_TextboxScrollStart + tradeanim TradeAnim_TakeCareOfText + tradeanim TradeAnim_ScrollOutRight + + tradeanim TradeAnim_SetupGivemonScroll + tradeanim TradeAnim_ShowGivemonData + tradeanim TradeAnim_DoGivemonScroll + tradeanim TradeAnim_Wait40 + tradeanim TradeAnim_Poof + tradeanim TradeAnim_RockingBall + tradeanim TradeAnim_EnterLinkTube1 + tradeanim TradeAnim_WaitAnim + tradeanim TradeAnim_BulgeThroughTube + tradeanim TradeAnim_WaitAnim + tradeanim TradeAnim_TextboxScrollStart + tradeanim TradeAnim_GiveTrademonSFX + tradeanim TradeAnim_TubeToPlayer1 + tradeanim TradeAnim_SentToOTText + tradeanim TradeAnim_ScrollOutRight + tradeanim TradeAnim_End RunTradeAnimScript: ld hl, wTradeAnimAddress @@ -231,55 +240,54 @@ DoTradeAnimation: jumptable .JumpTable, wJumptableIndex .JumpTable: -; entries correspond to tradeanim_* constants (see macros/scripts/trade_anims.asm) - 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 + add_tradeanim TradeAnim_AdvanceScriptPointer ; 00 + add_tradeanim TradeAnim_ShowGivemonData ; 01 + add_tradeanim TradeAnim_ShowGetmonData ; 02 + add_tradeanim TradeAnim_EnterLinkTube1 ; 03 + add_tradeanim TradeAnim_EnterLinkTube2 ; 04 + add_tradeanim TradeAnim_ExitLinkTube ; 05 + add_tradeanim TradeAnim_TubeToOT1 ; 06 + add_tradeanim TradeAnim_TubeToOT2 ; 07 + add_tradeanim TradeAnim_TubeToOT3 ; 08 + add_tradeanim TradeAnim_TubeToOT4 ; 09 + add_tradeanim TradeAnim_TubeToOT5 ; 0a + add_tradeanim TradeAnim_TubeToOT6 ; 0b + add_tradeanim TradeAnim_TubeToOT7 ; 0c + add_tradeanim TradeAnim_TubeToOT8 ; 0d + add_tradeanim TradeAnim_TubeToPlayer1 ; 0e + add_tradeanim TradeAnim_TubeToPlayer2 ; 0f + add_tradeanim TradeAnim_TubeToPlayer3 ; 10 + add_tradeanim TradeAnim_TubeToPlayer4 ; 11 + add_tradeanim TradeAnim_TubeToPlayer5 ; 12 + add_tradeanim TradeAnim_TubeToPlayer6 ; 13 + add_tradeanim TradeAnim_TubeToPlayer7 ; 14 + add_tradeanim TradeAnim_TubeToPlayer8 ; 15 + add_tradeanim TradeAnim_SentToOTText ; 16 + add_tradeanim TradeAnim_OTBidsFarewell ; 17 + add_tradeanim TradeAnim_TakeCareOfText ; 18 + add_tradeanim TradeAnim_OTSendsText1 ; 19 + add_tradeanim TradeAnim_OTSendsText2 ; 1a + add_tradeanim TradeAnim_SetupGivemonScroll ; 1b + add_tradeanim TradeAnim_DoGivemonScroll ; 1c + add_tradeanim TradeAnim_FrontpicScrollStart ; 1d + add_tradeanim TradeAnim_TextboxScrollStart ; 1e + add_tradeanim TradeAnim_ScrollOutRight ; 1f + add_tradeanim TradeAnim_ScrollOutRight2 ; 20 + add_tradeanim TradeAnim_Wait80 ; 21 + add_tradeanim TradeAnim_Wait40 ; 22 + add_tradeanim TradeAnim_RockingBall ; 23 + add_tradeanim TradeAnim_DropBall ; 24 + add_tradeanim TradeAnim_WaitAnim ; 25 + add_tradeanim TradeAnim_WaitAnim2 ; 26 + add_tradeanim TradeAnim_Poof ; 27 + add_tradeanim TradeAnim_BulgeThroughTube ; 28 + add_tradeanim TradeAnim_GiveTrademonSFX ; 29 + add_tradeanim TradeAnim_GetTrademonSFX ; 2a + add_tradeanim TradeAnim_End ; 2b + add_tradeanim TradeAnim_AnimateFrontpic ; 2c + add_tradeanim TradeAnim_Wait96 ; 2d + add_tradeanim TradeAnim_Wait80IfOTEgg ; 2e + add_tradeanim TradeAnim_Wait180IfOTEgg ; 2f TradeAnim_IncrementJumptableIndex: ld hl, wJumptableIndex @@ -840,32 +848,32 @@ TradeAnim_ShowFrontpic: call WaitBGMap ret -TraideAnim_Wait80: +TradeAnim_Wait80: ld c, 80 call DelayFrames call TradeAnim_AdvanceScriptPointer ret -TraideAnim_Wait40: +TradeAnim_Wait40: ld c, 40 call DelayFrames call TradeAnim_AdvanceScriptPointer ret -TraideAnim_Wait96: +TradeAnim_Wait96: ld c, 96 call DelayFrames call TradeAnim_AdvanceScriptPointer ret -TraideAnim_Wait80IfOTEgg: +TradeAnim_Wait80IfOTEgg: call IsOTTrademonEgg ret nz ld c, 80 call DelayFrames ret -TraideAnim_Wait180IfOTEgg: +TradeAnim_Wait180IfOTEgg: call IsOTTrademonEgg ret nz ld c, 180 @@ -1421,36 +1429,22 @@ DebugTrade: ; unreferenced ret debugtrade: MACRO -; species, ot name, ot id (?) +; species, ot name, ot id db \1, \2 dw \3 ENDM .DebugTradeData: - debugtrade VENUSAUR, "ゲーフり@@", $0123 ; GAME FREAK + debugtrade VENUSAUR, "ゲーフり@@", $0123 ; GAME FREAK debugtrade CHARIZARD, "クりーチャ@", $0456 ; Creatures Inc. -TradeGameBoyTilemap: -; 6x8 - db $31, $32, $32, $32, $32, $33 - db $34, $35, $36, $36, $37, $38 - db $34, $39, $3a, $3a, $3b, $38 - db $3c, $3d, $3e, $3e, $3f, $40 - db $41, $42, $43, $43, $44, $45 - db $46, $47, $43, $48, $49, $4a - db $41, $43, $4b, $4c, $4d, $4e - db $4f, $50, $50, $50, $51, $52 - -TradeLinkTubeTilemap: -; 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 - db $43, $59, $5a, $43, $43, $43, $43, $43, $43, $43, $43, $43 - -TradeArrowRightGFX: INCBIN "gfx/trade/arrow_right.2bpp" -TradeArrowLeftGFX: INCBIN "gfx/trade/arrow_left.2bpp" -TradeCableGFX: INCBIN "gfx/trade/cable.2bpp" -TradeBubbleGFX: INCBIN "gfx/trade/bubble.2bpp" -TradeGameBoyLZ: INCBIN "gfx/trade/game_boy_cable.2bpp.lz" -TradeBallGFX: INCBIN "gfx/trade/ball.2bpp" -TradePoofGFX: INCBIN "gfx/trade/poof.2bpp" +TradeGameBoyTilemap: INCBIN "gfx/trade/game_boy.tilemap" ; 6x8 +TradeLinkTubeTilemap: INCBIN "gfx/trade/link_cable.tilemap" ; 12x3 + +TradeArrowRightGFX: INCBIN "gfx/trade/arrow_right.2bpp" +TradeArrowLeftGFX: INCBIN "gfx/trade/arrow_left.2bpp" +TradeCableGFX: INCBIN "gfx/trade/cable.2bpp" +TradeBubbleGFX: INCBIN "gfx/trade/bubble.2bpp" +TradeGameBoyLZ: INCBIN "gfx/trade/game_boy_cable.2bpp.lz" +TradeBallGFX: INCBIN "gfx/trade/ball.2bpp" +TradePoofGFX: INCBIN "gfx/trade/poof.2bpp" |