summaryrefslogtreecommitdiff
path: root/engine
diff options
context:
space:
mode:
Diffstat (limited to 'engine')
-rw-r--r--engine/movie/trade_animation.asm300
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"