You've already forked pokecrystal-board
mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2025-04-09 05:44:44 -07:00
Port pokered's more local system for trade animation scripts
Also factor out trade tilemaps
This commit is contained in:
@@ -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 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_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_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 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_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_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
|
||||
TradeGameBoyTilemap: INCBIN "gfx/trade/game_boy.tilemap" ; 6x8
|
||||
TradeLinkTubeTilemap: INCBIN "gfx/trade/link_cable.tilemap" ; 12x3
|
||||
|
||||
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"
|
||||
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"
|
||||
|
Reference in New Issue
Block a user