summaryrefslogtreecommitdiff
path: root/engine/trade_animation.asm
diff options
context:
space:
mode:
Diffstat (limited to 'engine/trade_animation.asm')
-rwxr-xr-xengine/trade_animation.asm96
1 files changed, 57 insertions, 39 deletions
diff --git a/engine/trade_animation.asm b/engine/trade_animation.asm
index d5b97d563..d662a7894 100755
--- a/engine/trade_animation.asm
+++ b/engine/trade_animation.asm
@@ -1,3 +1,14 @@
+TRADEANIM_RIGHT_ARROW EQU $ed
+TRADEANIM_LEFT_ARROW EQU $ee
+
+; TradeAnim_TubeAnimJumptable.Jumptable indexes
+ const_def
+ const TRADEANIMSTATE_0 ; 0
+ const TRADEANIMSTATE_1 ; 1
+ const TRADEANIMSTATE_2 ; 2
+ const TRADEANIMSTATE_3 ; 3
+TRADEANIMJUMPTABLE_LENGTH EQU const_value
+
TradeAnimation: ; 28f24
xor a
ld [wcf66], a
@@ -165,13 +176,13 @@ RunTradeAnimScript: ; 28fa1
ld de, vTiles2 tile $31
call Decompress
ld hl, TradeArrowGFX
- ld de, vTiles1 tile $6d
- ld bc, $10
+ ld de, vTiles0 tile TRADEANIM_RIGHT_ARROW
+ ld bc, 1 tiles
ld a, BANK(TradeArrowGFX)
call FarCopyBytes
- ld hl, TradeArrowGFX + $10
- ld de, vTiles1 tile $6e
- ld bc, $10
+ ld hl, TradeArrowGFX + 1 tiles
+ ld de, vTiles0 tile TRADEANIM_LEFT_ARROW
+ ld bc, 1 tiles
ld a, BANK(TradeArrowGFX)
call FarCopyBytes
xor a
@@ -317,7 +328,7 @@ TradeAnim_End: ; 29123
; 29129
TradeAnim_TubeToOT1: ; 29129
- ld a, $ed ; >>>>>>>>
+ ld a, TRADEANIM_RIGHT_ARROW
call TradeAnim_PlaceTrademonStatsOnTubeAnim
ld a, [wLinkTradeSendmonSpecies]
ld [wd265], a
@@ -327,11 +338,11 @@ TradeAnim_TubeToOT1: ; 29129
jr TradeAnim_InitTubeAnim
TradeAnim_TubeToPlayer1: ; 2913c
- ld a, $ee ; <<<<<<<<
+ ld a, TRADEANIM_LEFT_ARROW
call TradeAnim_PlaceTrademonStatsOnTubeAnim
ld a, [wLinkTradeGetmonSpecies]
ld [wd265], a
- ld a, $2
+ ld a, TRADEANIMSTATE_2
depixel 9, 18, 4, 4
ld b, $4
TradeAnim_InitTubeAnim: ; 2914e
@@ -387,8 +398,8 @@ TradeAnim_InitTubeAnim: ; 2914e
call DmgToCgbObjPal0
call TradeAnim_IncrementJumptableIndex
- ld a, $5c
- ld [wcf64], a
+ ld a, 92
+ ld [wFrameCounter], a
ret
; 291af
@@ -400,7 +411,7 @@ TradeAnim_TubeToOT2: ; 291af
ld [hSCX], a
cp $50
ret nz
- ld a, $1
+ ld a, TRADEANIMSTATE_1
call TradeAnim_TubeAnimJumptable
call TradeAnim_IncrementJumptableIndex
ret
@@ -414,7 +425,7 @@ TradeAnim_TubeToOT3: ; 291c4
ld [hSCX], a
cp $a0
ret nz
- ld a, $2
+ ld a, TRADEANIMSTATE_2
call TradeAnim_TubeAnimJumptable
call TradeAnim_IncrementJumptableIndex
ret
@@ -440,7 +451,7 @@ TradeAnim_TubeToPlayer3: ; 291e8
ld [hSCX], a
cp $b0
ret nz
- ld a, $1
+ ld a, TRADEANIMSTATE_1
call TradeAnim_TubeAnimJumptable
call TradeAnim_IncrementJumptableIndex
ret
@@ -454,7 +465,7 @@ TradeAnim_TubeToPlayer4: ; 291fd
ld [hSCX], a
cp $60
ret nz
- xor a
+ xor a ; TRADEANIMSTATE_0
call TradeAnim_TubeAnimJumptable
call TradeAnim_IncrementJumptableIndex
ret
@@ -475,8 +486,8 @@ TradeAnim_TubeToPlayer5: ; 29211
TradeAnim_TubeToOT6:
TradeAnim_TubeToPlayer6: ; 29220
- ld a, $80
- ld [wcf64], a
+ ld a, 128
+ ld [wFrameCounter], a
call TradeAnim_IncrementJumptableIndex
ret
@@ -511,7 +522,7 @@ TradeAnim_TubeToOT7:
TradeAnim_TubeToPlayer2:
TradeAnim_TubeToPlayer7: ; 2925d
call TradeAnim_FlashBGPals
- ld hl, wcf64
+ ld hl, wFrameCounter
ld a, [hl]
and a
jr z, .done
@@ -541,7 +552,7 @@ TradeAnim_GetTrademonSFX: ; 29277
; 29281
TradeAnim_TubeAnimJumptable: ; 29281
- and 3
+ maskbits TRADEANIMJUMPTABLE_LENGTH
ld e, a
ld d, 0
ld hl, .Jumptable
@@ -554,6 +565,7 @@ TradeAnim_TubeAnimJumptable: ; 29281
; 2928f
.Jumptable: ; 2928f
+; entries correspond to TRADEANIMSTATE_* constants
dw .Zero
dw .One
dw .Two
@@ -835,7 +847,7 @@ TradeAnim_ShowGivemonData: ; 2942e
jr c, .skip_cry
ld e, c
ld d, b
- call PlayCryHeader
+ call PlayCry
.skip_cry
call TradeAnim_AdvanceScriptPointer
@@ -1114,8 +1126,8 @@ TradeAnim_RockingBall: ; 2961b
ld a, SPRITE_ANIM_INDEX_TRADE_POKE_BALL
call _InitSpriteAnimStruct
call TradeAnim_AdvanceScriptPointer
- ld a, $20
- ld [wcf64], a
+ ld a, 32
+ ld [wFrameCounter], a
ret
; 2962c
@@ -1131,8 +1143,8 @@ TradeAnim_DropBall: ; 2962c
add hl, bc
ld [hl], $dc
call TradeAnim_AdvanceScriptPointer
- ld a, $38
- ld [wcf64], a
+ ld a, 56
+ ld [wFrameCounter], a
ret
; 29649
@@ -1142,8 +1154,8 @@ TradeAnim_Poof: ; 29649
ld a, SPRITE_ANIM_INDEX_TRADE_POOF
call _InitSpriteAnimStruct
call TradeAnim_AdvanceScriptPointer
- ld a, $10
- ld [wcf64], a
+ ld a, 16
+ ld [wFrameCounter], a
ld de, SFX_BALL_POOF
call PlaySFX
ret
@@ -1157,8 +1169,8 @@ TradeAnim_BulgeThroughTube: ; 29660
ld a, SPRITE_ANIM_INDEX_TRADE_TUBE_BULGE
call _InitSpriteAnimStruct
call TradeAnim_AdvanceScriptPointer
- ld a, $40
- ld [wcf64], a
+ ld a, 64
+ ld [wFrameCounter], a
ret
; 29676
@@ -1500,15 +1512,15 @@ LoadTradeBallAndCableGFX: ; 2982b
call DelayFrame
ld de, TradeBallGFX
ld hl, vTiles0 tile $62
- lb bc, BANK(TradeBallGFX), $6
+ lb bc, BANK(TradeBallGFX), 6
call Request2bpp
ld de, TradePoofGFX
ld hl, vTiles0 tile $68
- lb bc, BANK(TradePoofGFX), $c
+ lb bc, BANK(TradePoofGFX), 12
call Request2bpp
ld de, TradeCableGFX
ld hl, vTiles0 tile $74
- lb bc, BANK(TradeCableGFX), $4
+ lb bc, BANK(TradeCableGFX), 4
call Request2bpp
xor a
ld hl, wSpriteAnimDict
@@ -1524,7 +1536,7 @@ LoadTradeBubbleGFX: ; 2985a
callfar LoadMenuMonIcon
ld de, TradeBubbleGFX
ld hl, vTiles0 tile $72
- lb bc, BANK(TradeBubbleGFX), $4
+ lb bc, BANK(TradeBubbleGFX), 4
call Request2bpp
xor a
ld hl, wSpriteAnimDict
@@ -1535,7 +1547,7 @@ LoadTradeBubbleGFX: ; 2985a
; 29879
TradeAnim_WaitAnim: ; 29879
- ld hl, wcf64
+ ld hl, wFrameCounter
ld a, [hl]
and a
jr z, .done
@@ -1549,7 +1561,7 @@ TradeAnim_WaitAnim: ; 29879
; 29886
TradeAnim_WaitAnim2: ; 29886
- ld hl, wcf64
+ ld hl, wFrameCounter
ld a, [hl]
and a
jr z, .done
@@ -1563,8 +1575,8 @@ TradeAnim_WaitAnim2: ; 29886
; 29893
-DebugTrade: ; 29893
-; This function is unreferenced.
+Unreferenced_DebugTrade: ; 29893
+; This function is not referenced.
; It was meant for use in Japanese versions, so the
; constant used for copy length was changed by accident.
@@ -1573,7 +1585,7 @@ DebugTrade: ; 29893
ld a, [hli]
ld [wPlayerTrademonSpecies], a
ld de, wPlayerTrademonSenderName
- ld c, 11 + 2 ; jp: 6 + 2
+ ld c, NAME_LENGTH + 2 ; JP: NAME_LENGTH_JAPANESE + 2
.loop1
ld a, [hli]
ld [de], a
@@ -1584,7 +1596,7 @@ DebugTrade: ; 29893
ld a, [hli]
ld [wOTTrademonSpecies], a
ld de, wOTTrademonSenderName
- ld c, 11 + 2 ; jp: 6 + 2
+ ld c, NAME_LENGTH + 2 ; JP: NAME_LENGTH_JAPANESE + 2
.loop2
ld a, [hli]
ld [de], a
@@ -1595,9 +1607,15 @@ DebugTrade: ; 29893
; 298b5
+debugtrade: MACRO
+; species, ot name, ot id (?)
+ db \1, \2
+ dw \3
+ENDM
+
.DebugTradeData: ; 298b5
- db VENUSAUR, "ゲーフり@@", $23, $01 ; GAME FREAK
- db CHARIZARD, "クりーチャ@", $56, $04 ; Creatures Inc.
+ debugtrade VENUSAUR, "ゲーフり@@", $0123 ; GAME FREAK
+ debugtrade CHARIZARD, "クりーチャ@", $0456 ; Creatures Inc.
; 298c7