Decompile rock

This commit is contained in:
Marcus Huderle 2018-11-25 17:00:18 -06:00
parent 19e235867a
commit 5947e0d229
35 changed files with 771 additions and 1644 deletions

View File

@ -259,7 +259,7 @@ _0815A2B2:
strh r0, [r5, 0x2E] strh r0, [r5, 0x2E]
strh r7, [r5, 0x32] strh r7, [r5, 0x32]
strh r6, [r5, 0x36] strh r6, [r5, 0x36]
ldr r0, =sub_80A6EEC ldr r0, =StartAnimLinearTranslation
str r0, [r5, 0x1C] str r0, [r5, 0x1C]
ldr r1, =DestroyAnimSprite ldr r1, =DestroyAnimSprite
adds r0, r5, 0 adds r0, r5, 0
@ -767,7 +767,7 @@ sub_815A6C4: @ 815A6C4
sub sp, 0x4 sub sp, 0x4
adds r4, r0, 0 adds r4, r0, 0
movs r1, 0x1 movs r1, 0x1
bl sub_80A69CC bl InitAnimSpritePos
ldr r0, =gBattleAnimTarget ldr r0, =gBattleAnimTarget
ldrb r0, [r0] ldrb r0, [r0]
mov r5, sp mov r5, sp
@ -802,7 +802,7 @@ _0815A6F8:
ldr r0, =0x0000ffce ldr r0, =0x0000ffce
strh r0, [r4, 0x38] strh r0, [r4, 0x38]
adds r0, r4, 0 adds r0, r4, 0
bl sub_80A68D4 bl InitAnimArcTranslation
ldr r0, =sub_815A73C ldr r0, =sub_815A73C
str r0, [r4, 0x1C] str r0, [r4, 0x1C]
add sp, 0x4 add sp, 0x4
@ -2216,7 +2216,7 @@ sub_815B27C: @ 815B27C
bne _0815B290 bne _0815B290
adds r0, r5, 0 adds r0, r5, 0
movs r1, 0 movs r1, 0
bl sub_80A69CC bl InitAnimSpritePos
_0815B290: _0815B290:
ldrh r0, [r5, 0x2E] ldrh r0, [r5, 0x2E]
adds r0, 0x1 adds r0, 0x1
@ -2291,7 +2291,7 @@ _0815B2D8:
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
strh r0, [r5, 0x36] strh r0, [r5, 0x36]
ldr r0, =sub_80A6EEC ldr r0, =StartAnimLinearTranslation
str r0, [r5, 0x1C] str r0, [r5, 0x1C]
_0815B324: _0815B324:
pop {r4,r5} pop {r4,r5}
@ -2810,7 +2810,7 @@ sub_815B70C: @ 815B70C
_0815B71E: _0815B71E:
adds r0, r4, 0 adds r0, r4, 0
movs r1, 0 movs r1, 0
bl sub_80A69CC bl InitAnimSpritePos
movs r0, 0x90 movs r0, 0x90
lsls r0, 4 lsls r0, 4
strh r0, [r4, 0x30] strh r0, [r4, 0x30]
@ -4309,7 +4309,7 @@ sub_815C400: @ 815C400
bne _0815C41E bne _0815C41E
adds r0, r4, 0 adds r0, r4, 0
movs r1, 0 movs r1, 0
bl sub_80A69CC bl InitAnimSpritePos
ldrh r0, [r4, 0x2E] ldrh r0, [r4, 0x2E]
adds r0, 0x1 adds r0, 0x1
strh r0, [r4, 0x2E] strh r0, [r4, 0x2E]
@ -8448,7 +8448,7 @@ _0815E4EE:
adds r0, r1 adds r0, r1
lsls r0, 2 lsls r0, 2
adds r0, r4 adds r0, r4
bl sub_80A68D4 bl InitAnimArcTranslation
mov r1, r10 mov r1, r10
ldrb r0, [r1] ldrb r0, [r1]
bl GetBattlerSide bl GetBattlerSide
@ -9605,7 +9605,7 @@ sub_815EE84: @ 815EE84
bne _0815EEA8 bne _0815EEA8
adds r0, r4, 0 adds r0, r4, 0
movs r1, 0x1 movs r1, 0x1
bl sub_80A69CC bl InitAnimSpritePos
ldr r0, =gBattleAnimAttacker ldr r0, =gBattleAnimAttacker
b _0815EEAA b _0815EEAA
.pool .pool

View File

@ -1473,7 +1473,7 @@ sub_8171104: @ 8171104
ldr r0, =0x0000ffd8 ldr r0, =0x0000ffd8
strh r0, [r4, 0x38] strh r0, [r4, 0x38]
adds r0, r4, 0 adds r0, r4, 0
bl sub_80A68D4 bl InitAnimArcTranslation
ldr r0, =sub_8171134 ldr r0, =sub_8171134
str r0, [r4, 0x1C] str r0, [r4, 0x1C]
pop {r4} pop {r4}
@ -2631,7 +2631,7 @@ _08171A26:
ldrsb r0, [r1, r0] ldrsb r0, [r1, r0]
strh r0, [r5, 0x38] strh r0, [r5, 0x38]
adds r0, r5, 0 adds r0, r5, 0
bl sub_80A68D4 bl InitAnimArcTranslation
add r4, r10 add r4, r10
ldr r0, =sub_8171AAC ldr r0, =sub_8171AAC
str r0, [r4] str r0, [r4]
@ -5571,7 +5571,7 @@ sub_817330C: @ 817330C
push {r4,r5,lr} push {r4,r5,lr}
adds r4, r0, 0 adds r4, r0, 0
movs r1, 0 movs r1, 0
bl sub_80A69CC bl InitAnimSpritePos
movs r0, 0x1E movs r0, 0x1E
strh r0, [r4, 0x2E] strh r0, [r4, 0x2E]
movs r0, 0x1 movs r0, 0x1
@ -5600,7 +5600,7 @@ sub_817330C: @ 817330C
ldr r0, =0x0000ffe0 ldr r0, =0x0000ffe0
strh r0, [r4, 0x38] strh r0, [r4, 0x38]
adds r0, r4, 0 adds r0, r4, 0
bl sub_80A68D4 bl InitAnimArcTranslation
ldr r2, =gSprites ldr r2, =gSprites
ldr r1, =gBattlerSpriteIds ldr r1, =gBattlerSpriteIds
ldr r0, =gBattleAnimAttacker ldr r0, =gBattleAnimAttacker

View File

@ -92,7 +92,7 @@ sub_80FE8E0: @ 80FE8E0
push {r4,r5,lr} push {r4,r5,lr}
adds r4, r0, 0 adds r4, r0, 0
movs r1, 0x1 movs r1, 0x1
bl sub_80A69CC bl InitAnimSpritePos
ldr r0, =gBattleAnimArgs ldr r0, =gBattleAnimArgs
ldrh r0, [r0, 0x4] ldrh r0, [r0, 0x4]
strh r0, [r4, 0x2E] strh r0, [r4, 0x2E]
@ -109,7 +109,7 @@ sub_80FE8E0: @ 80FE8E0
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
strh r0, [r4, 0x36] strh r0, [r4, 0x36]
ldr r0, =sub_80A6EEC ldr r0, =StartAnimLinearTranslation
str r0, [r4, 0x1C] str r0, [r4, 0x1C]
ldr r1, =move_anim_8074EE0 ldr r1, =move_anim_8074EE0
adds r0, r4, 0 adds r0, r4, 0
@ -125,7 +125,7 @@ sub_80FE930: @ 80FE930
push {r4,r5,lr} push {r4,r5,lr}
adds r4, r0, 0 adds r4, r0, 0
movs r1, 0x1 movs r1, 0x1
bl sub_80A69CC bl InitAnimSpritePos
ldr r5, =gBattleAnimArgs ldr r5, =gBattleAnimArgs
ldrb r1, [r5, 0x6] ldrb r1, [r5, 0x6]
adds r0, r4, 0 adds r0, r4, 0
@ -145,7 +145,7 @@ sub_80FE930: @ 80FE930
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
strh r0, [r4, 0x36] strh r0, [r4, 0x36]
ldr r0, =sub_80A6EEC ldr r0, =StartAnimLinearTranslation
str r0, [r4, 0x1C] str r0, [r4, 0x1C]
ldr r1, =DestroyAnimSprite ldr r1, =DestroyAnimSprite
adds r0, r4, 0 adds r0, r4, 0
@ -161,7 +161,7 @@ sub_80FE988: @ 80FE988
push {r4-r6,lr} push {r4-r6,lr}
adds r4, r0, 0 adds r4, r0, 0
movs r1, 0x1 movs r1, 0x1
bl sub_80A69CC bl InitAnimSpritePos
ldr r6, =gBattleAnimArgs ldr r6, =gBattleAnimArgs
ldrh r0, [r6, 0x4] ldrh r0, [r6, 0x4]
strh r0, [r4, 0x2E] strh r0, [r4, 0x2E]
@ -337,7 +337,7 @@ sub_80FEAD8: @ 80FEAD8
ldrh r0, [r6, 0x4] ldrh r0, [r6, 0x4]
strh r0, [r4, 0x38] strh r0, [r4, 0x38]
adds r0, r4, 0 adds r0, r4, 0
bl sub_80A68D4 bl InitAnimArcTranslation
ldr r0, =sub_80FEB28 ldr r0, =sub_80FEB28
str r0, [r4, 0x1C] str r0, [r4, 0x1C]
pop {r4-r6} pop {r4-r6}
@ -493,7 +493,7 @@ sub_80FEC48: @ 80FEC48
push {r4-r6,lr} push {r4-r6,lr}
adds r6, r0, 0 adds r6, r0, 0
movs r1, 0x1 movs r1, 0x1
bl sub_80A69CC bl InitAnimSpritePos
ldr r0, =gBattleAnimAttacker ldr r0, =gBattleAnimAttacker
ldrb r0, [r0] ldrb r0, [r0]
bl GetBattlerSide bl GetBattlerSide
@ -528,7 +528,7 @@ _080FEC68:
ldrh r0, [r4, 0xA] ldrh r0, [r4, 0xA]
strh r0, [r6, 0x38] strh r0, [r6, 0x38]
adds r0, r6, 0 adds r0, r6, 0
bl sub_80A68D4 bl InitAnimArcTranslation
ldr r0, =sub_80FECB8 ldr r0, =sub_80FECB8
str r0, [r6, 0x1C] str r0, [r6, 0x1C]
pop {r4-r6} pop {r4-r6}
@ -762,7 +762,7 @@ sub_80FEE78: @ 80FEE78
push {r4,r5,lr} push {r4,r5,lr}
adds r4, r0, 0 adds r4, r0, 0
movs r1, 0 movs r1, 0
bl sub_80A69CC bl InitAnimSpritePos
ldr r5, =gBattleAnimArgs ldr r5, =gBattleAnimArgs
ldrh r0, [r5, 0x6] ldrh r0, [r5, 0x6]
strh r0, [r4, 0x2E] strh r0, [r4, 0x2E]
@ -859,7 +859,7 @@ sub_80FEF44: @ 80FEF44
push {r4,r5,lr} push {r4,r5,lr}
adds r4, r0, 0 adds r4, r0, 0
movs r1, 0x1 movs r1, 0x1
bl sub_80A69CC bl InitAnimSpritePos
ldr r5, =gBattleAnimArgs ldr r5, =gBattleAnimArgs
ldrh r0, [r5, 0x6] ldrh r0, [r5, 0x6]
strh r0, [r4, 0x2E] strh r0, [r4, 0x2E]
@ -1079,7 +1079,7 @@ sub_80FF0F4: @ 80FF0F4
push {r4-r6,lr} push {r4-r6,lr}
adds r5, r0, 0 adds r5, r0, 0
movs r1, 0x1 movs r1, 0x1
bl sub_80A69CC bl InitAnimSpritePos
ldr r0, =gBattleAnimAttacker ldr r0, =gBattleAnimAttacker
ldrb r0, [r0] ldrb r0, [r0]
bl GetBattlerSide bl GetBattlerSide
@ -1138,7 +1138,7 @@ _080FF174:
ldrh r0, [r0, 0xA] ldrh r0, [r0, 0xA]
strh r0, [r5, 0x38] strh r0, [r5, 0x38]
adds r0, r5, 0 adds r0, r5, 0
bl sub_80A68D4 bl InitAnimArcTranslation
ldr r0, =gBattleAnimAttacker ldr r0, =gBattleAnimAttacker
ldrb r0, [r0] ldrb r0, [r0]
bl GetBattlerSide bl GetBattlerSide
@ -1256,8 +1256,8 @@ _080FF260:
bx r0 bx r0
thumb_func_end sub_80FF1C0 thumb_func_end sub_80FF1C0
thumb_func_start sub_80FF268 thumb_func_start AnimMoveTwisterParticle
sub_80FF268: @ 80FF268 AnimMoveTwisterParticle: @ 80FF268
push {r4,lr} push {r4,lr}
adds r4, r0, 0 adds r4, r0, 0
bl IsDoubleBattle bl IsDoubleBattle
@ -1294,7 +1294,7 @@ _080FF28A:
pop {r0} pop {r0}
bx r0 bx r0
.pool .pool
thumb_func_end sub_80FF268 thumb_func_end AnimMoveTwisterParticle
thumb_func_start sub_80FF2BC thumb_func_start sub_80FF2BC
sub_80FF2BC: @ 80FF2BC sub_80FF2BC: @ 80FF2BC
@ -2348,7 +2348,7 @@ sub_80FFB18: @ 80FFB18
push {r4-r6,lr} push {r4-r6,lr}
adds r5, r0, 0 adds r5, r0, 0
movs r1, 0 movs r1, 0
bl sub_80A69CC bl InitAnimSpritePos
ldr r4, =gBattleAnimTarget ldr r4, =gBattleAnimTarget
ldrb r0, [r4] ldrb r0, [r4]
movs r1, 0 movs r1, 0
@ -3100,7 +3100,7 @@ _08100060:
adds r0, r1 adds r0, r1
lsls r0, 2 lsls r0, 2
adds r0, r4 adds r0, r4
bl sub_80A68D4 bl InitAnimArcTranslation
ldr r0, =sub_8100128 ldr r0, =sub_8100128
str r0, [r5] str r0, [r5]
pop {r4-r6} pop {r4-r6}
@ -3263,7 +3263,7 @@ _08100204:
adds r0, r4, 0 adds r0, r4, 0
bl StartSpriteAnim bl StartSpriteAnim
adds r0, r4, 0 adds r0, r4, 0
bl sub_80A68D4 bl InitAnimArcTranslation
ldrh r0, [r6, 0x8] ldrh r0, [r6, 0x8]
adds r0, 0x1 adds r0, 0x1
b _081004FA b _081004FA
@ -3335,7 +3335,7 @@ _08100272:
adds r0, r4, 0 adds r0, r4, 0
bl StartSpriteAnim bl StartSpriteAnim
adds r0, r4, 0 adds r0, r4, 0
bl sub_80A68D4 bl InitAnimArcTranslation
ldrh r0, [r6, 0x8] ldrh r0, [r6, 0x8]
adds r0, 0x1 adds r0, 0x1
b _081004FA b _081004FA
@ -3394,7 +3394,7 @@ _081002E8:
adds r0, r4, 0 adds r0, r4, 0
bl StartSpriteAnim bl StartSpriteAnim
adds r0, r4, 0 adds r0, r4, 0
bl sub_80A68D4 bl InitAnimArcTranslation
ldrh r0, [r6, 0x8] ldrh r0, [r6, 0x8]
adds r0, 0x1 adds r0, 0x1
b _081004FA b _081004FA
@ -3448,7 +3448,7 @@ _08100380:
adds r0, r4, 0 adds r0, r4, 0
bl StartSpriteAnim bl StartSpriteAnim
adds r0, r4, 0 adds r0, r4, 0
bl sub_80A68D4 bl InitAnimArcTranslation
ldrh r0, [r6, 0x8] ldrh r0, [r6, 0x8]
adds r0, 0x1 adds r0, 0x1
b _081004FA b _081004FA
@ -3505,7 +3505,7 @@ _081003D2:
adds r0, r4, 0 adds r0, r4, 0
bl StartSpriteAnim bl StartSpriteAnim
adds r0, r4, 0 adds r0, r4, 0
bl sub_80A68D4 bl InitAnimArcTranslation
ldrh r0, [r6, 0x8] ldrh r0, [r6, 0x8]
adds r0, 0x1 adds r0, 0x1
b _081004FA b _081004FA
@ -3557,7 +3557,7 @@ _08100464:
adds r0, r4, 0 adds r0, r4, 0
bl StartSpriteAnim bl StartSpriteAnim
adds r0, r4, 0 adds r0, r4, 0
bl sub_80A68D4 bl InitAnimArcTranslation
ldrh r0, [r6, 0x8] ldrh r0, [r6, 0x8]
adds r0, 0x1 adds r0, 0x1
b _081004FA b _081004FA
@ -5766,7 +5766,7 @@ _08101604:
asrs r0, 24 asrs r0, 24
adds r4, r0 adds r4, r0
strh r4, [r5, 0x36] strh r4, [r5, 0x36]
ldr r0, =sub_80A6EEC ldr r0, =StartAnimLinearTranslation
str r0, [r5, 0x1C] str r0, [r5, 0x1C]
ldr r1, =sub_8101684 ldr r1, =sub_8101684
adds r0, r5, 0 adds r0, r5, 0
@ -5900,7 +5900,7 @@ _08101718:
lsrs r0, 24 lsrs r0, 24
adds r0, r6 adds r0, r6
strh r0, [r5, 0x36] strh r0, [r5, 0x36]
ldr r0, =sub_80A6EEC ldr r0, =StartAnimLinearTranslation
str r0, [r5, 0x1C] str r0, [r5, 0x1C]
ldr r1, =sub_8101820 ldr r1, =sub_8101820
adds r0, r5, 0 adds r0, r5, 0
@ -7478,7 +7478,7 @@ _08102390:
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
strh r0, [r5, 0x36] strh r0, [r5, 0x36]
ldr r0, =sub_80A6EEC ldr r0, =StartAnimLinearTranslation
str r0, [r5, 0x1C] str r0, [r5, 0x1C]
ldr r1, =DestroyAnimSprite ldr r1, =DestroyAnimSprite
adds r0, r5, 0 adds r0, r5, 0

View File

@ -240,7 +240,7 @@ sub_8103620: @ 8103620
push {r4,lr} push {r4,lr}
adds r4, r0, 0 adds r4, r0, 0
movs r1, 0x1 movs r1, 0x1
bl sub_80A69CC bl InitAnimSpritePos
ldr r1, =gBattleAnimArgs ldr r1, =gBattleAnimArgs
ldrh r0, [r1, 0x4] ldrh r0, [r1, 0x4]
strh r0, [r4, 0x2E] strh r0, [r4, 0x2E]
@ -269,7 +269,7 @@ sub_8103658: @ 8103658
ldrh r1, [r0, 0x22] ldrh r1, [r0, 0x22]
adds r1, 0xF adds r1, 0xF
strh r1, [r0, 0x36] strh r1, [r0, 0x36]
ldr r1, =sub_80A6EEC ldr r1, =StartAnimLinearTranslation
str r1, [r0, 0x1C] str r1, [r0, 0x1C]
ldr r1, =sub_8103680 ldr r1, =sub_8103680
bl StoreSpriteCallbackInData6 bl StoreSpriteCallbackInData6
@ -526,7 +526,7 @@ sub_810387C: @ 810387C
push {r4,lr} push {r4,lr}
adds r4, r0, 0 adds r4, r0, 0
movs r1, 0 movs r1, 0
bl sub_80A69CC bl InitAnimSpritePos
ldr r0, =sub_80A67BC ldr r0, =sub_80A67BC
str r0, [r4, 0x1C] str r0, [r4, 0x1C]
ldr r1, =sub_81038A0 ldr r1, =sub_81038A0
@ -548,7 +548,7 @@ sub_81038A0: @ 81038A0
ldrh r1, [r0, 0x22] ldrh r1, [r0, 0x22]
subs r1, 0x20 subs r1, 0x20
strh r1, [r0, 0x36] strh r1, [r0, 0x36]
ldr r1, =sub_80A6EEC ldr r1, =StartAnimLinearTranslation
str r1, [r0, 0x1C] str r1, [r0, 0x1C]
ldr r1, =DestroyAnimSprite ldr r1, =DestroyAnimSprite
bl StoreSpriteCallbackInData6 bl StoreSpriteCallbackInData6
@ -594,7 +594,7 @@ _081038EC:
_0810390E: _0810390E:
adds r0, r5, 0 adds r0, r5, 0
movs r1, 0x1 movs r1, 0x1
bl sub_80A69CC bl InitAnimSpritePos
ldr r4, =gBattleAnimTarget ldr r4, =gBattleAnimTarget
ldrb r0, [r4] ldrb r0, [r4]
movs r1, 0x2 movs r1, 0x2
@ -657,7 +657,7 @@ _08103980:
mov r0, r8 mov r0, r8
strh r0, [r5, 0x32] strh r0, [r5, 0x32]
strh r7, [r5, 0x36] strh r7, [r5, 0x36]
ldr r0, =sub_80A6EEC ldr r0, =StartAnimLinearTranslation
str r0, [r5, 0x1C] str r0, [r5, 0x1C]
ldr r1, =DestroyAnimSprite ldr r1, =DestroyAnimSprite
adds r0, r5, 0 adds r0, r5, 0
@ -1424,7 +1424,7 @@ sub_8103FE8: @ 8103FE8
push {r4,lr} push {r4,lr}
adds r4, r0, 0 adds r4, r0, 0
movs r1, 0 movs r1, 0
bl sub_80A69CC bl InitAnimSpritePos
ldr r0, =gUnknown_085934A0 ldr r0, =gUnknown_085934A0
ldrh r0, [r0, 0x2] ldrh r0, [r0, 0x2]
bl IndexOfSpritePaletteTag bl IndexOfSpritePaletteTag
@ -1507,7 +1507,7 @@ sub_8104088: @ 8104088
sub sp, 0x4 sub sp, 0x4
adds r5, r0, 0 adds r5, r0, 0
movs r1, 0x1 movs r1, 0x1
bl sub_80A69CC bl InitAnimSpritePos
ldr r4, =gBattleAnimTarget ldr r4, =gBattleAnimTarget
ldrb r0, [r4] ldrb r0, [r4]
movs r1, 0x2 movs r1, 0x2
@ -1655,7 +1655,7 @@ sub_81041C4: @ 81041C4
push {r4,r5,lr} push {r4,r5,lr}
adds r4, r0, 0 adds r4, r0, 0
movs r1, 0x1 movs r1, 0x1
bl sub_80A69CC bl InitAnimSpritePos
movs r0, 0x14 movs r0, 0x14
strh r0, [r4, 0x2E] strh r0, [r4, 0x2E]
ldr r5, =gBattleAnimTarget ldr r5, =gBattleAnimTarget
@ -1671,7 +1671,7 @@ sub_81041C4: @ 81041C4
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
strh r0, [r4, 0x36] strh r0, [r4, 0x36]
ldr r0, =sub_80A6EEC ldr r0, =StartAnimLinearTranslation
str r0, [r4, 0x1C] str r0, [r4, 0x1C]
adds r2, r4, 0 adds r2, r4, 0
adds r2, 0x2C adds r2, 0x2C
@ -1809,7 +1809,7 @@ sub_8104304: @ 8104304
push {r4,lr} push {r4,lr}
adds r4, r0, 0 adds r4, r0, 0
movs r1, 0 movs r1, 0
bl sub_80A69CC bl InitAnimSpritePos
ldr r0, =gBattleAnimAttacker ldr r0, =gBattleAnimAttacker
ldrb r0, [r0] ldrb r0, [r0]
bl GetBattlerSide bl GetBattlerSide
@ -1896,7 +1896,7 @@ _08104390:
lsrs r0, 24 lsrs r0, 24
adds r0, r6 adds r0, r6
strh r0, [r5, 0x36] strh r0, [r5, 0x36]
ldr r0, =sub_80A6EEC ldr r0, =StartAnimLinearTranslation
str r0, [r5, 0x1C] str r0, [r5, 0x1C]
ldr r1, =sub_81043F8 ldr r1, =sub_81043F8
adds r0, r5, 0 adds r0, r5, 0
@ -4038,7 +4038,7 @@ sub_8105538: @ 8105538
push {r4,lr} push {r4,lr}
adds r4, r0, 0 adds r4, r0, 0
movs r1, 0 movs r1, 0
bl sub_80A69CC bl InitAnimSpritePos
ldr r0, =gBattleAnimAttacker ldr r0, =gBattleAnimAttacker
ldrb r0, [r0] ldrb r0, [r0]
bl GetBattlerSide bl GetBattlerSide
@ -5141,7 +5141,7 @@ sub_8105DE8: @ 8105DE8
push {r4-r6,lr} push {r4-r6,lr}
adds r5, r0, 0 adds r5, r0, 0
movs r1, 0 movs r1, 0
bl sub_80A69CC bl InitAnimSpritePos
ldr r6, =gBattleAnimAttacker ldr r6, =gBattleAnimAttacker
ldrb r0, [r6] ldrb r0, [r6]
bl GetBattlerSide bl GetBattlerSide
@ -5172,7 +5172,7 @@ _08105E08:
ldrh r1, [r4, 0x6] ldrh r1, [r4, 0x6]
adds r0, r1 adds r0, r1
strh r0, [r5, 0x36] strh r0, [r5, 0x36]
ldr r0, =sub_80A6EEC ldr r0, =StartAnimLinearTranslation
str r0, [r5, 0x1C] str r0, [r5, 0x1C]
ldr r1, =DestroyAnimSprite ldr r1, =DestroyAnimSprite
adds r0, r5, 0 adds r0, r5, 0
@ -5200,7 +5200,7 @@ sub_8105E60: @ 8105E60
bne _08105E7A bne _08105E7A
adds r0, r4, 0 adds r0, r4, 0
movs r1, 0 movs r1, 0
bl sub_80A69CC bl InitAnimSpritePos
_08105E7A: _08105E7A:
movs r1, 0x30 movs r1, 0x30
ldrsh r0, [r4, r1] ldrsh r0, [r4, r1]
@ -5525,7 +5525,7 @@ sub_8106140: @ 8106140
push {r4,r5,lr} push {r4,r5,lr}
adds r4, r0, 0 adds r4, r0, 0
movs r1, 0x1 movs r1, 0x1
bl sub_80A69CC bl InitAnimSpritePos
movs r0, 0x5F movs r0, 0x5F
strh r0, [r4, 0x2E] strh r0, [r4, 0x2E]
ldrh r0, [r4, 0x20] ldrh r0, [r4, 0x20]
@ -6543,7 +6543,7 @@ sub_81069B8: @ 81069B8
push {r4,lr} push {r4,lr}
adds r4, r0, 0 adds r4, r0, 0
movs r1, 0x1 movs r1, 0x1
bl sub_80A69CC bl InitAnimSpritePos
ldr r0, =sub_810699C ldr r0, =sub_810699C
str r0, [r4, 0x1C] str r0, [r4, 0x1C]
pop {r4} pop {r4}
@ -7496,7 +7496,7 @@ _08107118:
ldrh r0, [r5, 0x22] ldrh r0, [r5, 0x22]
subs r0, 0x48 subs r0, 0x48
strh r0, [r5, 0x36] strh r0, [r5, 0x36]
ldr r0, =sub_80A6EEC ldr r0, =StartAnimLinearTranslation
str r0, [r5, 0x1C] str r0, [r5, 0x1C]
ldr r1, =DestroyAnimSprite ldr r1, =DestroyAnimSprite
adds r0, r5, 0 adds r0, r5, 0

View File

@ -85,7 +85,7 @@ _081103C4:
ldrh r4, [r4, 0x6] ldrh r4, [r4, 0x6]
adds r0, r4 adds r0, r4
strh r0, [r6, 0x36] strh r0, [r6, 0x36]
ldr r0, =sub_80A6EEC ldr r0, =StartAnimLinearTranslation
str r0, [r6, 0x1C] str r0, [r6, 0x1C]
ldr r1, =DestroyAnimSprite ldr r1, =DestroyAnimSprite
adds r0, r6, 0 adds r0, r6, 0
@ -160,7 +160,7 @@ _08110478:
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
strh r0, [r6, 0x36] strh r0, [r6, 0x36]
ldr r0, =sub_80A6EEC ldr r0, =StartAnimLinearTranslation
str r0, [r6, 0x1C] str r0, [r6, 0x1C]
ldr r1, =DestroyAnimSprite ldr r1, =DestroyAnimSprite
adds r0, r6, 0 adds r0, r6, 0
@ -189,7 +189,7 @@ sub_81104E4: @ 81104E4
_08110500: _08110500:
adds r0, r5, 0 adds r0, r5, 0
movs r1, 0x1 movs r1, 0x1
bl sub_80A69CC bl InitAnimSpritePos
ldr r1, =gBattleAnimArgs ldr r1, =gBattleAnimArgs
ldrh r0, [r1, 0x4] ldrh r0, [r1, 0x4]
strh r0, [r5, 0x2E] strh r0, [r5, 0x2E]
@ -528,7 +528,7 @@ _081107A0:
_081107B2: _081107B2:
adds r0, r7, 0 adds r0, r7, 0
movs r1, 0x1 movs r1, 0x1
bl sub_80A69CC bl InitAnimSpritePos
ldr r5, =gBattleAnimTarget ldr r5, =gBattleAnimTarget
ldrb r0, [r5] ldrb r0, [r5]
movs r1, 0x2 movs r1, 0x2
@ -579,7 +579,7 @@ _081107B2:
strh r0, [r7, 0x2E] strh r0, [r7, 0x2E]
strh r4, [r7, 0x32] strh r4, [r7, 0x32]
strh r5, [r7, 0x36] strh r5, [r7, 0x36]
ldr r0, =sub_80A6EEC ldr r0, =StartAnimLinearTranslation
str r0, [r7, 0x1C] str r0, [r7, 0x1C]
ldr r1, =DestroyAnimSprite ldr r1, =DestroyAnimSprite
adds r0, r7, 0 adds r0, r7, 0
@ -596,7 +596,7 @@ sub_8110850: @ 8110850
push {r4-r6,lr} push {r4-r6,lr}
adds r6, r0, 0 adds r6, r0, 0
movs r1, 0x1 movs r1, 0x1
bl sub_80A69CC bl InitAnimSpritePos
ldr r0, =gBattleAnimAttacker ldr r0, =gBattleAnimAttacker
ldrb r0, [r0] ldrb r0, [r0]
bl GetBattlerSide bl GetBattlerSide
@ -631,7 +631,7 @@ _08110870:
ldrh r0, [r4, 0xA] ldrh r0, [r4, 0xA]
strh r0, [r6, 0x38] strh r0, [r6, 0x38]
adds r0, r6, 0 adds r0, r6, 0
bl sub_80A68D4 bl InitAnimArcTranslation
ldr r0, =sub_81108CC ldr r0, =sub_81108CC
str r0, [r6, 0x1C] str r0, [r6, 0x1C]
adds r2, r6, 0 adds r2, r6, 0

View File

@ -264,7 +264,7 @@ sub_81138D4: @ 81138D4
movs r0, 0x7E movs r0, 0x7E
strh r0, [r4, 0x2E] strh r0, [r4, 0x2E]
adds r0, r4, 0 adds r0, r4, 0
bl sub_80A6E14 bl InitSpriteDataForLinearTranslation
ldrh r0, [r4, 0x30] ldrh r0, [r4, 0x30]
negs r0, r0 negs r0, r0
strh r0, [r4, 0x34] strh r0, [r4, 0x34]
@ -563,7 +563,7 @@ _08113B60:
ldr r0, =0x0000fff4 ldr r0, =0x0000fff4
strh r0, [r4, 0x38] strh r0, [r4, 0x38]
adds r0, r4, 0 adds r0, r4, 0
bl sub_80A68D4 bl InitAnimArcTranslation
ldr r0, =sub_8113B90 ldr r0, =sub_8113B90
str r0, [r4, 0x1C] str r0, [r4, 0x1C]
pop {r4-r7} pop {r4-r7}

View File

@ -144,7 +144,7 @@ _0811318E:
ldr r0, =gBattleAnimArgs ldr r0, =gBattleAnimArgs
ldrh r0, [r0, 0x8] ldrh r0, [r0, 0x8]
strh r0, [r5, 0x2E] strh r0, [r5, 0x2E]
ldr r0, =sub_80A6EEC ldr r0, =StartAnimLinearTranslation
str r0, [r5, 0x1C] str r0, [r5, 0x1C]
ldr r1, =move_anim_8074EE0 ldr r1, =move_anim_8074EE0
adds r0, r5, 0 adds r0, r5, 0

View File

@ -345,7 +345,7 @@ sub_810A46C: @ 810A46C
push {r4-r6,lr} push {r4-r6,lr}
adds r4, r0, 0 adds r4, r0, 0
movs r1, 0x1 movs r1, 0x1
bl sub_80A69CC bl InitAnimSpritePos
ldr r5, =gBattleAnimArgs ldr r5, =gBattleAnimArgs
ldrh r0, [r5, 0x6] ldrh r0, [r5, 0x6]
strh r0, [r4, 0x2E] strh r0, [r4, 0x2E]

View File

@ -104,7 +104,7 @@ sub_810CEE0: @ 810CEE0
bne _0810CF04 bne _0810CF04
adds r0, r5, 0 adds r0, r5, 0
movs r1, 0x1 movs r1, 0x1
bl sub_80A69CC bl InitAnimSpritePos
b _0810CF0C b _0810CF0C
.pool .pool
_0810CF04: _0810CF04:
@ -378,7 +378,7 @@ _0810D142:
ldrh r0, [r4, 0x22] ldrh r0, [r4, 0x22]
subs r0, 0x14 subs r0, 0x14
strh r0, [r4, 0x36] strh r0, [r4, 0x36]
ldr r0, =sub_80A6EEC ldr r0, =StartAnimLinearTranslation
str r0, [r4, 0x1C] str r0, [r4, 0x1C]
ldr r1, =sub_810D164 ldr r1, =sub_810D164
adds r0, r4, 0 adds r0, r4, 0
@ -417,7 +417,7 @@ sub_810D164: @ 810D164
strh r1, [r5, 0x22] strh r1, [r5, 0x22]
strh r6, [r5, 0x26] strh r6, [r5, 0x26]
strh r6, [r5, 0x24] strh r6, [r5, 0x24]
ldr r0, =sub_80A6EEC ldr r0, =StartAnimLinearTranslation
str r0, [r5, 0x1C] str r0, [r5, 0x1C]
ldr r1, =DestroyAnimSprite ldr r1, =DestroyAnimSprite
adds r0, r5, 0 adds r0, r5, 0
@ -618,7 +618,7 @@ sub_810D308: @ 810D308
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
strh r0, [r5, 0x36] strh r0, [r5, 0x36]
ldr r0, =sub_80A6EEC ldr r0, =StartAnimLinearTranslation
str r0, [r5, 0x1C] str r0, [r5, 0x1C]
ldr r1, =sub_810D360 ldr r1, =sub_810D360
adds r0, r5, 0 adds r0, r5, 0
@ -1460,7 +1460,7 @@ sub_810DA10: @ 810DA10
bne _0810DA2C bne _0810DA2C
adds r0, r4, 0 adds r0, r4, 0
movs r1, 0 movs r1, 0
bl sub_80A69CC bl InitAnimSpritePos
b _0810DA34 b _0810DA34
.pool .pool
_0810DA2C: _0810DA2C:

View File

@ -347,7 +347,7 @@ sub_810916C: @ 810916C
strh r1, [r0, 0x32] strh r1, [r0, 0x32]
movs r1, 0x50 movs r1, 0x50
strh r1, [r0, 0x36] strh r1, [r0, 0x36]
ldr r1, =sub_80A6EEC ldr r1, =StartAnimLinearTranslation
str r1, [r0, 0x1C] str r1, [r0, 0x1C]
ldr r1, =DestroyAnimSprite ldr r1, =DestroyAnimSprite
bl StoreSpriteCallbackInData6 bl StoreSpriteCallbackInData6
@ -421,7 +421,7 @@ sub_810921C: @ 810921C
push {r4,lr} push {r4,lr}
adds r4, r0, 0 adds r4, r0, 0
movs r1, 0x1 movs r1, 0x1
bl sub_80A69CC bl InitAnimSpritePos
ldr r0, =gBattleAnimArgs ldr r0, =gBattleAnimArgs
ldrh r0, [r0, 0x4] ldrh r0, [r0, 0x4]
movs r1, 0 movs r1, 0
@ -613,7 +613,7 @@ sub_81093A4: @ 81093A4
push {r4,lr} push {r4,lr}
adds r4, r0, 0 adds r4, r0, 0
movs r1, 0x1 movs r1, 0x1
bl sub_80A69CC bl InitAnimSpritePos
ldr r1, =gBattleAnimArgs ldr r1, =gBattleAnimArgs
ldrh r0, [r1, 0x4] ldrh r0, [r1, 0x4]
strh r0, [r4, 0x30] strh r0, [r4, 0x30]
@ -1564,7 +1564,7 @@ _08109B12:
_08109B18: _08109B18:
adds r0, r5, 0 adds r0, r5, 0
movs r1, 0 movs r1, 0
bl sub_80A69CC bl InitAnimSpritePos
ldr r4, =gBattleAnimArgs ldr r4, =gBattleAnimArgs
ldrb r1, [r4, 0x4] ldrb r1, [r4, 0x4]
adds r0, r5, 0 adds r0, r5, 0

View File

@ -199,7 +199,7 @@ sub_810DFA8: @ 810DFA8
push {r4-r6,lr} push {r4-r6,lr}
adds r6, r0, 0 adds r6, r0, 0
movs r1, 0x1 movs r1, 0x1
bl sub_80A69CC bl InitAnimSpritePos
ldr r0, =gBattleAnimAttacker ldr r0, =gBattleAnimAttacker
ldrb r0, [r0] ldrb r0, [r0]
bl GetBattlerSide bl GetBattlerSide
@ -359,7 +359,7 @@ _0810E0FE:
ldrh r3, [r5, 0x36] ldrh r3, [r5, 0x36]
adds r0, r3 adds r0, r3
strh r0, [r5, 0x36] strh r0, [r5, 0x36]
ldr r0, =sub_80A6EEC ldr r0, =StartAnimLinearTranslation
str r0, [r5, 0x1C] str r0, [r5, 0x1C]
ldr r1, =DestroyAnimSprite ldr r1, =DestroyAnimSprite
adds r0, r5, 0 adds r0, r5, 0
@ -378,7 +378,7 @@ sub_810E13C: @ 810E13C
push {r4,lr} push {r4,lr}
adds r4, r0, 0 adds r4, r0, 0
movs r1, 0x1 movs r1, 0x1
bl sub_80A69CC bl InitAnimSpritePos
ldr r1, =gBattleAnimArgs ldr r1, =gBattleAnimArgs
ldrh r0, [r1, 0x4] ldrh r0, [r1, 0x4]
strh r0, [r4, 0x2E] strh r0, [r4, 0x2E]
@ -1613,7 +1613,7 @@ sub_810EAA0: @ 810EAA0
bne _0810EABC bne _0810EABC
adds r0, r5, 0 adds r0, r5, 0
movs r1, 0 movs r1, 0
bl sub_80A69CC bl InitAnimSpritePos
b _0810EAC4 b _0810EAC4
.pool .pool
_0810EABC: _0810EABC:
@ -1807,7 +1807,7 @@ sub_810EC34: @ 810EC34
_0810EC46: _0810EC46:
adds r0, r4, 0 adds r0, r4, 0
movs r1, 0x1 movs r1, 0x1
bl sub_80A69CC bl InitAnimSpritePos
movs r0, 0 movs r0, 0
bl GetAnimBattlerSpriteId bl GetAnimBattlerSpriteId
ldr r2, =gSprites ldr r2, =gSprites
@ -1927,7 +1927,7 @@ sub_810ED28: @ 810ED28
push {r4,lr} push {r4,lr}
adds r4, r0, 0 adds r4, r0, 0
movs r1, 0x1 movs r1, 0x1
bl sub_80A69CC bl InitAnimSpritePos
ldr r1, =gBattleAnimArgs ldr r1, =gBattleAnimArgs
ldrh r0, [r1, 0x4] ldrh r0, [r1, 0x4]
strh r0, [r4, 0x2E] strh r0, [r4, 0x2E]

View File

@ -10,7 +10,7 @@ sub_811160C: @ 811160C
push {r4,r5,lr} push {r4,r5,lr}
adds r4, r0, 0 adds r4, r0, 0
movs r1, 0x1 movs r1, 0x1
bl sub_80A69CC bl InitAnimSpritePos
ldr r0, =gBattleAnimArgs ldr r0, =gBattleAnimArgs
ldrh r0, [r0, 0x4] ldrh r0, [r0, 0x4]
strh r0, [r4, 0x2E] strh r0, [r4, 0x2E]
@ -2441,7 +2441,7 @@ sub_81129F0: @ 81129F0
push {r4,lr} push {r4,lr}
adds r4, r0, 0 adds r4, r0, 0
movs r1, 0x1 movs r1, 0x1
bl sub_80A69CC bl InitAnimSpritePos
ldr r0, =gBattleAnimAttacker ldr r0, =gBattleAnimAttacker
ldrb r0, [r0] ldrb r0, [r0]
bl GetBattlerSide bl GetBattlerSide

View File

@ -40,7 +40,7 @@ sub_8114994: @ 8114994
ldr r0, =0x0000ffd8 ldr r0, =0x0000ffd8
strh r0, [r4, 0x38] strh r0, [r4, 0x38]
adds r0, r4, 0 adds r0, r4, 0
bl sub_80A68D4 bl InitAnimArcTranslation
ldr r0, =sub_81149FC ldr r0, =sub_81149FC
str r0, [r4, 0x1C] str r0, [r4, 0x1C]
pop {r4,r5} pop {r4,r5}
@ -86,7 +86,7 @@ sub_81149FC: @ 81149FC
movs r0, 0x28 movs r0, 0x28
strh r0, [r5, 0x38] strh r0, [r5, 0x38]
adds r0, r5, 0 adds r0, r5, 0
bl sub_80A68D4 bl InitAnimArcTranslation
ldr r0, =sub_8114A60 ldr r0, =sub_8114A60
str r0, [r5, 0x1C] str r0, [r5, 0x1C]
_08114A50: _08114A50:
@ -149,7 +149,7 @@ _08114A9C:
ldrh r4, [r4, 0x6] ldrh r4, [r4, 0x6]
adds r0, r4 adds r0, r4
strh r0, [r6, 0x36] strh r0, [r6, 0x36]
ldr r0, =sub_80A6EEC ldr r0, =StartAnimLinearTranslation
str r0, [r6, 0x1C] str r0, [r6, 0x1C]
ldr r1, =DestroyAnimSprite ldr r1, =DestroyAnimSprite
adds r0, r6, 0 adds r0, r6, 0
@ -167,7 +167,7 @@ sub_8114AF0: @ 8114AF0
push {r7} push {r7}
adds r6, r0, 0 adds r6, r0, 0
movs r1, 0x1 movs r1, 0x1
bl sub_80A69CC bl InitAnimSpritePos
ldr r4, =gBattleAnimTarget ldr r4, =gBattleAnimTarget
ldrb r0, [r4] ldrb r0, [r4]
movs r1, 0x2 movs r1, 0x2
@ -211,7 +211,7 @@ _08114B48:
strh r0, [r6, 0x32] strh r0, [r6, 0x32]
adds r0, r7, r4 adds r0, r7, r4
strh r0, [r6, 0x36] strh r0, [r6, 0x36]
ldr r0, =sub_80A6EEC ldr r0, =StartAnimLinearTranslation
str r0, [r6, 0x1C] str r0, [r6, 0x1C]
ldr r1, =move_anim_8074EE0 ldr r1, =move_anim_8074EE0
adds r0, r6, 0 adds r0, r6, 0
@ -1034,7 +1034,7 @@ _081151DA:
ldrh r0, [r7, 0x8] ldrh r0, [r7, 0x8]
strh r0, [r5, 0x38] strh r0, [r5, 0x38]
adds r0, r5, 0 adds r0, r5, 0
bl sub_80A68D4 bl InitAnimArcTranslation
ldr r0, =sub_8115228 ldr r0, =sub_8115228
str r0, [r5, 0x1C] str r0, [r5, 0x1C]
pop {r4-r7} pop {r4-r7}

View File

@ -370,7 +370,7 @@ sub_810B8EC: @ 810B8EC
push {r4,lr} push {r4,lr}
adds r4, r0, 0 adds r4, r0, 0
movs r1, 0x1 movs r1, 0x1
bl sub_80A69CC bl InitAnimSpritePos
ldr r0, =gBattleAnimTarget ldr r0, =gBattleAnimTarget
ldrb r0, [r0] ldrb r0, [r0]
movs r1, 0x2 movs r1, 0x2
@ -413,7 +413,7 @@ _0810B936:
ldr r1, =DestroyAnimSprite ldr r1, =DestroyAnimSprite
adds r0, r4, 0 adds r0, r4, 0
bl StoreSpriteCallbackInData6 bl StoreSpriteCallbackInData6
ldr r0, =sub_80A6EEC ldr r0, =StartAnimLinearTranslation
str r0, [r4, 0x1C] str r0, [r4, 0x1C]
pop {r4} pop {r4}
pop {r0} pop {r0}
@ -513,7 +513,7 @@ sub_810BA24: @ 810BA24
sub sp, 0x10 sub sp, 0x10
adds r5, r0, 0 adds r5, r0, 0
movs r1, 0x1 movs r1, 0x1
bl sub_80A69CC bl InitAnimSpritePos
ldr r6, =gBattleAnimArgs ldr r6, =gBattleAnimArgs
ldrh r0, [r6, 0x8] ldrh r0, [r6, 0x8]
strh r0, [r5, 0x2E] strh r0, [r5, 0x2E]
@ -814,7 +814,7 @@ sub_810BC94: @ 810BC94
sub sp, 0x10 sub sp, 0x10
adds r5, r0, 0 adds r5, r0, 0
movs r1, 0x1 movs r1, 0x1
bl sub_80A69CC bl InitAnimSpritePos
ldr r1, =gBattleAnimArgs ldr r1, =gBattleAnimArgs
ldrh r0, [r1, 0x8] ldrh r0, [r1, 0x8]
strh r0, [r5, 0x2E] strh r0, [r5, 0x2E]
@ -1103,7 +1103,7 @@ sub_810BED0: @ 810BED0
bne _0810BEF4 bne _0810BEF4
adds r0, r5, 0 adds r0, r5, 0
movs r1, 0 movs r1, 0
bl sub_80A69CC bl InitAnimSpritePos
b _0810BF32 b _0810BF32
.pool .pool
_0810BEF4: _0810BEF4:
@ -2762,7 +2762,7 @@ _0810CCA6:
bl StartSpriteAffineAnim bl StartSpriteAffineAnim
adds r0, r5, 0 adds r0, r5, 0
movs r1, 0x1 movs r1, 0x1
bl sub_80A69CC bl InitAnimSpritePos
ldr r6, =gBattleAnimArgs ldr r6, =gBattleAnimArgs
ldrh r0, [r6, 0x8] ldrh r0, [r6, 0x8]
strh r0, [r5, 0x2E] strh r0, [r5, 0x2E]
@ -2796,7 +2796,7 @@ _0810CCCE:
ldrh r0, [r6, 0xA] ldrh r0, [r6, 0xA]
strh r0, [r5, 0x38] strh r0, [r5, 0x38]
adds r0, r5, 0 adds r0, r5, 0
bl sub_80A68D4 bl InitAnimArcTranslation
ldr r0, =sub_810CD1C ldr r0, =sub_810CD1C
str r0, [r5, 0x1C] str r0, [r5, 0x1C]
pop {r4-r6} pop {r4-r6}

View File

@ -1584,7 +1584,7 @@ sub_8116388: @ 8116388
bne _081163AC bne _081163AC
adds r0, r5, 0 adds r0, r5, 0
movs r1, 0x1 movs r1, 0x1
bl sub_80A69CC bl InitAnimSpritePos
b _081163B4 b _081163B4
.pool .pool
_081163AC: _081163AC:
@ -1616,7 +1616,7 @@ sub_81163D0: @ 81163D0
bne _081163F4 bne _081163F4
adds r0, r5, 0 adds r0, r5, 0
movs r1, 0x1 movs r1, 0x1
bl sub_80A69CC bl InitAnimSpritePos
b _081163FC b _081163FC
.pool .pool
_081163F4: _081163F4:
@ -1690,7 +1690,7 @@ _08116474:
bne _08116494 bne _08116494
adds r0, r4, 0 adds r0, r4, 0
movs r1, 0 movs r1, 0
bl sub_80A69CC bl InitAnimSpritePos
b _0811649C b _0811649C
.pool .pool
_08116494: _08116494:
@ -1789,7 +1789,7 @@ sub_8116560: @ 8116560
bne _0811657C bne _0811657C
adds r0, r4, 0 adds r0, r4, 0
movs r1, 0x1 movs r1, 0x1
bl sub_80A69CC bl InitAnimSpritePos
b _08116584 b _08116584
.pool .pool
_0811657C: _0811657C:
@ -1824,7 +1824,7 @@ sub_81165A8: @ 81165A8
bne _081165CC bne _081165CC
adds r0, r5, 0 adds r0, r5, 0
movs r1, 0x1 movs r1, 0x1
bl sub_80A69CC bl InitAnimSpritePos
b _081165D4 b _081165D4
.pool .pool
_081165CC: _081165CC:

View File

@ -20,7 +20,7 @@ sub_810DBAC: @ 810DBAC
_0810DBC2: _0810DBC2:
adds r0, r5, 0 adds r0, r5, 0
movs r1, 0x1 movs r1, 0x1
bl sub_80A69CC bl InitAnimSpritePos
ldrh r0, [r4, 0x4] ldrh r0, [r4, 0x4]
strh r0, [r5, 0x2E] strh r0, [r5, 0x2E]
ldr r4, =gBattleAnimTarget ldr r4, =gBattleAnimTarget
@ -39,7 +39,7 @@ _0810DBC2:
ldr r0, =0x0000ffe2 ldr r0, =0x0000ffe2
strh r0, [r5, 0x38] strh r0, [r5, 0x38]
adds r0, r5, 0 adds r0, r5, 0
bl sub_80A68D4 bl InitAnimArcTranslation
ldr r0, =sub_810DC10 ldr r0, =sub_810DC10
str r0, [r5, 0x1C] str r0, [r5, 0x1C]
pop {r4,r5} pop {r4,r5}
@ -80,7 +80,7 @@ sub_810DC2C: @ 810DC2C
_0810DC44: _0810DC44:
adds r0, r4, 0 adds r0, r4, 0
movs r1, 0x1 movs r1, 0x1
bl sub_80A69CC bl InitAnimSpritePos
ldr r0, =gBattleAnimTarget ldr r0, =gBattleAnimTarget
ldrb r0, [r0] ldrb r0, [r0]
mov r6, sp mov r6, sp
@ -113,7 +113,7 @@ _0810DC72:
ldr r0, =0x0000ffe2 ldr r0, =0x0000ffe2
strh r0, [r4, 0x38] strh r0, [r4, 0x38]
adds r0, r4, 0 adds r0, r4, 0
bl sub_80A68D4 bl InitAnimArcTranslation
ldr r0, =sub_810DCB4 ldr r0, =sub_810DCB4
str r0, [r4, 0x1C] str r0, [r4, 0x1C]
add sp, 0x4 add sp, 0x4
@ -157,7 +157,7 @@ sub_810DCD0: @ 810DCD0
adds r0, r1 adds r0, r1
strh r0, [r4, 0x36] strh r0, [r4, 0x36]
adds r0, r4, 0 adds r0, r4, 0
bl sub_80A6E14 bl InitSpriteDataForLinearTranslation
movs r1, 0x30 movs r1, 0x30
ldrsh r0, [r4, r1] ldrsh r0, [r4, r1]
movs r2, 0x4 movs r2, 0x4
@ -242,7 +242,7 @@ _0810DD7C:
strh r2, [r4, 0x32] strh r2, [r4, 0x32]
adds r1, r3 adds r1, r3
strh r1, [r4, 0x36] strh r1, [r4, 0x36]
ldr r0, =sub_80A6EEC ldr r0, =StartAnimLinearTranslation
str r0, [r4, 0x1C] str r0, [r4, 0x1C]
ldr r1, =DestroyAnimSprite ldr r1, =DestroyAnimSprite
adds r0, r4, 0 adds r0, r4, 0

View File

@ -514,7 +514,7 @@ _0810F5EE:
bne _0810F608 bne _0810F608
adds r0, r4, 0 adds r0, r4, 0
adds r1, r6, 0 adds r1, r6, 0
bl sub_80A69CC bl InitAnimSpritePos
b _0810F610 b _0810F610
.pool .pool
_0810F608: _0810F608:
@ -1449,7 +1449,7 @@ _0810FD60:
ldrh r0, [r5, 0x1C] ldrh r0, [r5, 0x1C]
strh r0, [r4, 0x38] strh r0, [r4, 0x38]
adds r0, r4, 0 adds r0, r4, 0
bl sub_80A68D4 bl InitAnimArcTranslation
ldrb r0, [r5, 0xC] ldrb r0, [r5, 0xC]
movs r1, 0x3 movs r1, 0x3
ands r1, r0 ands r1, r0

1469
asm/rock.s

File diff suppressed because it is too large Load Diff

View File

@ -343,7 +343,7 @@ sub_810744C: @ 810744C
push {r4-r7,lr} push {r4-r7,lr}
adds r5, r0, 0 adds r5, r0, 0
movs r1, 0x1 movs r1, 0x1
bl sub_80A69CC bl InitAnimSpritePos
ldr r0, =gBattleAnimAttacker ldr r0, =gBattleAnimAttacker
ldrb r0, [r0] ldrb r0, [r0]
bl GetBattlerSide bl GetBattlerSide
@ -538,7 +538,7 @@ sub_81075EC: @ 81075EC
push {r4,r5,lr} push {r4,r5,lr}
adds r5, r0, 0 adds r5, r0, 0
movs r1, 0x1 movs r1, 0x1
bl sub_80A69CC bl InitAnimSpritePos
movs r0, 0x1E movs r0, 0x1E
strh r0, [r5, 0x2E] strh r0, [r5, 0x2E]
ldrh r0, [r5, 0x20] ldrh r0, [r5, 0x20]
@ -819,7 +819,7 @@ _0810781E:
movs r7, 0x3 movs r7, 0x3
_08107828: _08107828:
adds r0, r6, 0 adds r0, r6, 0
bl sub_80A69CC bl InitAnimSpritePos
ldr r0, =gBattleAnimAttacker ldr r0, =gBattleAnimAttacker
ldrb r0, [r0] ldrb r0, [r0]
bl GetBattlerSide bl GetBattlerSide
@ -849,7 +849,7 @@ _08107842:
ldrh r5, [r5, 0x6] ldrh r5, [r5, 0x6]
adds r0, r5 adds r0, r5
strh r0, [r6, 0x36] strh r0, [r6, 0x36]
ldr r0, =sub_80A6EEC ldr r0, =StartAnimLinearTranslation
str r0, [r6, 0x1C] str r0, [r6, 0x1C]
ldr r1, =DestroyAnimSprite ldr r1, =DestroyAnimSprite
adds r0, r6, 0 adds r0, r6, 0
@ -876,7 +876,7 @@ sub_8107894: @ 8107894
ldrh r0, [r4, 0x22] ldrh r0, [r4, 0x22]
adds r1, r0 adds r1, r0
strh r1, [r4, 0x36] strh r1, [r4, 0x36]
ldr r0, =sub_80A6EEC ldr r0, =StartAnimLinearTranslation
str r0, [r4, 0x1C] str r0, [r4, 0x1C]
ldr r1, =DestroyAnimSprite ldr r1, =DestroyAnimSprite
adds r0, r4, 0 adds r0, r4, 0
@ -904,7 +904,7 @@ sub_81078D0: @ 81078D0
_081078EC: _081078EC:
adds r0, r4, 0 adds r0, r4, 0
movs r1, 0x1 movs r1, 0x1
bl sub_80A69CC bl InitAnimSpritePos
_081078F4: _081078F4:
ldr r0, =gBattleAnimArgs ldr r0, =gBattleAnimArgs
ldrh r0, [r0, 0x4] ldrh r0, [r0, 0x4]
@ -3137,7 +3137,7 @@ sub_8108AC0: @ 8108AC0
strh r1, [r0, 0x36] strh r1, [r0, 0x36]
ldrh r1, [r6, 0x1A] ldrh r1, [r6, 0x1A]
strh r1, [r0, 0x38] strh r1, [r0, 0x38]
bl sub_80A68D4 bl InitAnimArcTranslation
adds r5, 0x1C adds r5, 0x1C
adds r4, r5 adds r4, r5
ldr r0, =sub_8108B2C ldr r0, =sub_8108B2C
@ -3191,7 +3191,7 @@ sub_8108B2C: @ 8108B2C
mvns r1, r1 mvns r1, r1
strh r1, [r6, 0x38] strh r1, [r6, 0x38]
adds r0, r6, 0 adds r0, r6, 0
bl sub_80A68D4 bl InitAnimArcTranslation
ldr r0, =sub_8108B94 ldr r0, =sub_8108B94
str r0, [r6, 0x1C] str r0, [r6, 0x1C]
_08108B86: _08108B86:
@ -3339,7 +3339,7 @@ sub_8108C94: @ 8108C94
push {r4,r5,lr} push {r4,r5,lr}
adds r4, r0, 0 adds r4, r0, 0
movs r1, 0x1 movs r1, 0x1
bl sub_80A69CC bl InitAnimSpritePos
ldr r5, =gBattleAnimTarget ldr r5, =gBattleAnimTarget
ldrb r0, [r5] ldrb r0, [r5]
movs r1, 0x2 movs r1, 0x2

View File

@ -73,9 +73,17 @@ void HandleIntroSlide(u8 terrainId);
u32 GetAnimBgAttribute(u8 bgId, u8 attributeId); u32 GetAnimBgAttribute(u8 bgId, u8 attributeId);
// battle_anim_80A5C6C.s // battle_anim_80A5C6C.s
void sub_80A6EEC(struct Sprite *sprite); void sub_80A6450(struct Sprite *sprite);
void sub_80A68D4(struct Sprite *sprite); void SetAverageBattlerPositions(u8 battlerId, bool8 a2, s16 *x, s16 *y);
void move_anim_8074EE0(struct Sprite *sprite);
void sub_80A656C(struct Sprite *sprite);
void InitAnimSpritePos(struct Sprite *sprite, u8 a2);
void sub_80A6980(struct Sprite *sprite, bool8 a2);
void StartAnimLinearTranslation(struct Sprite *sprite);
void InitAnimArcTranslation(struct Sprite *sprite);
bool8 TranslateAnimLinear(struct Sprite *sprite); bool8 TranslateAnimLinear(struct Sprite *sprite);
void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite);
void sub_80A8EE4(struct Sprite *sprite);
void sub_80A8278(void); void sub_80A8278(void);
void sub_80A6B30(struct UnknownAnimStruct2*); void sub_80A6B30(struct UnknownAnimStruct2*);
void sub_80A6B90(struct UnknownAnimStruct2*, u32 arg1); void sub_80A6B90(struct UnknownAnimStruct2*, u32 arg1);
@ -85,7 +93,7 @@ void sub_80A6630(struct Sprite *sprite);
void sub_80A6680(struct Sprite *sprite); void sub_80A6680(struct Sprite *sprite);
void sub_80A7344(u8 spriteId); void sub_80A7344(u8 spriteId);
void obj_id_set_rotscale(u8 spriteId, s16 xScale, s16 yScale, u16 rotation); void obj_id_set_rotscale(u8 spriteId, s16 xScale, s16 yScale, u16 rotation);
void sub_80A6E14(struct Sprite *sprite); void InitSpriteDataForLinearTranslation(struct Sprite *sprite);
void sub_80A7270(u8 spriteId, u8 objMode); void sub_80A7270(u8 spriteId, u8 objMode);
void sub_80A73A0(u8 spriteId); void sub_80A73A0(u8 spriteId);
u32 sub_80A75AC(u8 a1, u8 a2, u8 a3, u8 a4, u8 a5, u8 a6, u8 a7); u32 sub_80A75AC(u8 a1, u8 a2, u8 a3, u8 a4, u8 a5, u8 a6, u8 a7);

View File

@ -4732,4 +4732,7 @@ extern const u32 gUnknown_08D927EC[];
extern const u32 gSlotMachineReelTime_Gfx[]; extern const u32 gSlotMachineReelTime_Gfx[];
extern const u32 gUnknown_08D8D410[];
extern const u32 gUnknown_08D8D58C[];
#endif //GUARD_GRAPHICS_H #endif //GUARD_GRAPHICS_H

View File

@ -167,7 +167,7 @@ SECTIONS {
asm/flying.o(.text); asm/flying.o(.text);
asm/psychic.o(.text); asm/psychic.o(.text);
asm/bug.o(.text); asm/bug.o(.text);
asm/rock.o(.text); src/rock.o(.text);
asm/ghost.o(.text); asm/ghost.o(.text);
asm/dragon.o(.text); asm/dragon.o(.text);
asm/dark.o(.text); asm/dark.o(.text);

View File

@ -745,7 +745,7 @@ void sub_80A6864(struct Sprite *sprite, s16 a2)
} }
} }
void sub_80A68D4(struct Sprite *sprite) void InitAnimArcTranslation(struct Sprite *sprite)
{ {
sprite->data[1] = sprite->pos1.x; sprite->data[1] = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y; sprite->data[3] = sprite->pos1.y;
@ -791,7 +791,7 @@ void sub_80A6980(struct Sprite *sprite, bool8 a2)
sprite->pos1.y += gBattleAnimArgs[1]; sprite->pos1.y += gBattleAnimArgs[1];
} }
void sub_80A69CC(struct Sprite *sprite, u8 a2) void InitAnimSpritePos(struct Sprite *sprite, u8 a2)
{ {
if (!a2) if (!a2)
{ {
@ -1004,12 +1004,12 @@ void sub_80A6DEC(struct Sprite *sprite)
{ {
sprite->data[1] = sprite->pos1.x; sprite->data[1] = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y; sprite->data[3] = sprite->pos1.y;
sub_80A6E14(sprite); InitSpriteDataForLinearTranslation(sprite);
sprite->callback = sub_80A65A8; sprite->callback = sub_80A65A8;
sprite->callback(sprite); sprite->callback(sprite);
} }
void sub_80A6E14(struct Sprite *sprite) void InitSpriteDataForLinearTranslation(struct Sprite *sprite)
{ {
s16 x = (sprite->data[2] - sprite->data[1]) << 8; s16 x = (sprite->data[2] - sprite->data[1]) << 8;
s16 y = (sprite->data[4] - sprite->data[3]) << 8; s16 y = (sprite->data[4] - sprite->data[3]) << 8;
@ -1047,7 +1047,7 @@ void InitAnimLinearTranslation(struct Sprite *sprite)
sprite->data[3] = 0; sprite->data[3] = 0;
} }
void sub_80A6EEC(struct Sprite *sprite) void StartAnimLinearTranslation(struct Sprite *sprite)
{ {
sprite->data[1] = sprite->pos1.x; sprite->data[1] = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y; sprite->data[3] = sprite->pos1.y;
@ -1476,7 +1476,7 @@ void sub_80A77C8(struct Sprite *sprite)
else else
var = FALSE; var = FALSE;
if (!gBattleAnimArgs[2]) if (!gBattleAnimArgs[2])
sub_80A69CC(sprite, var); InitAnimSpritePos(sprite, var);
else else
sub_80A6980(sprite, var); sub_80A6980(sprite, var);
sprite->data[0]++; sprite->data[0]++;
@ -1511,27 +1511,27 @@ void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite)
else else
attributeId = BATTLER_COORD_Y; attributeId = BATTLER_COORD_Y;
sub_80A69CC(sprite, v1); InitAnimSpritePos(sprite, v1);
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
gBattleAnimArgs[2] = -gBattleAnimArgs[2]; gBattleAnimArgs[2] = -gBattleAnimArgs[2];
sprite->data[0] = gBattleAnimArgs[4]; sprite->data[0] = gBattleAnimArgs[4];
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[2]; sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[2];
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, attributeId) + gBattleAnimArgs[3]; sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, attributeId) + gBattleAnimArgs[3];
sprite->callback = sub_80A6EEC; sprite->callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
} }
void sub_80A78AC(struct Sprite *sprite) void sub_80A78AC(struct Sprite *sprite)
{ {
sub_80A69CC(sprite, 1); InitAnimSpritePos(sprite, 1);
if (GetBattlerSide(gBattleAnimAttacker)) if (GetBattlerSide(gBattleAnimAttacker))
gBattleAnimArgs[2] = -gBattleAnimArgs[2]; gBattleAnimArgs[2] = -gBattleAnimArgs[2];
sprite->data[0] = gBattleAnimArgs[4]; sprite->data[0] = gBattleAnimArgs[4];
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[2]; sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[2];
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3]; sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3];
sprite->data[5] = gBattleAnimArgs[5]; sprite->data[5] = gBattleAnimArgs[5];
sub_80A68D4(sprite); InitAnimArcTranslation(sprite);
sprite->callback = sub_80A791C; sprite->callback = sub_80A791C;
} }
@ -1558,7 +1558,7 @@ void sub_80A7938(struct Sprite *sprite)
} }
if (!gBattleAnimArgs[5]) if (!gBattleAnimArgs[5])
{ {
sub_80A69CC(sprite, r4); InitAnimSpritePos(sprite, r4);
battlerId = gBattleAnimAttacker; battlerId = gBattleAnimAttacker;
} }
else else
@ -1572,7 +1572,7 @@ void sub_80A7938(struct Sprite *sprite)
sprite->data[0] = gBattleAnimArgs[4]; sprite->data[0] = gBattleAnimArgs[4];
sprite->data[2] = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2) + gBattleAnimArgs[2]; sprite->data[2] = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2) + gBattleAnimArgs[2];
sprite->data[4] = GetBattlerSpriteCoord(battlerId, attributeId) + gBattleAnimArgs[3]; sprite->data[4] = GetBattlerSpriteCoord(battlerId, attributeId) + gBattleAnimArgs[3];
sprite->callback = sub_80A6EEC; sprite->callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
} }
@ -2454,6 +2454,6 @@ void sub_80A8EE4(struct Sprite *sprite)
sprite->pos1.x += x; sprite->pos1.x += x;
sprite->pos1.y = gBattleAnimArgs[5] - 80; sprite->pos1.y = gBattleAnimArgs[5] - 80;
} }
sprite->callback = sub_80A6EEC; sprite->callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
} }

View File

@ -442,7 +442,7 @@ void SlideMonToOriginalPos(struct Sprite *sprite)
sprite->data[2] = gSprites[monSpriteId].pos1.x; sprite->data[2] = gSprites[monSpriteId].pos1.x;
sprite->data[3] = gSprites[monSpriteId].pos1.y + gSprites[monSpriteId].pos2.y; sprite->data[3] = gSprites[monSpriteId].pos1.y + gSprites[monSpriteId].pos2.y;
sprite->data[4] = gSprites[monSpriteId].pos1.y; sprite->data[4] = gSprites[monSpriteId].pos1.y;
sub_80A6E14(sprite); InitSpriteDataForLinearTranslation(sprite);
sprite->data[3] = 0; sprite->data[3] = 0;
sprite->data[4] = 0; sprite->data[4] = 0;
sprite->data[5] = gSprites[monSpriteId].pos2.x; sprite->data[5] = gSprites[monSpriteId].pos2.x;
@ -520,7 +520,7 @@ void SlideMonToOffset(struct Sprite *sprite)
sprite->data[2] = gSprites[monSpriteId].pos1.x + gBattleAnimArgs[1]; sprite->data[2] = gSprites[monSpriteId].pos1.x + gBattleAnimArgs[1];
sprite->data[3] = gSprites[monSpriteId].pos1.y; sprite->data[3] = gSprites[monSpriteId].pos1.y;
sprite->data[4] = gSprites[monSpriteId].pos1.y + gBattleAnimArgs[2]; sprite->data[4] = gSprites[monSpriteId].pos1.y + gBattleAnimArgs[2];
sub_80A6E14(sprite); InitSpriteDataForLinearTranslation(sprite);
sprite->data[3] = 0; sprite->data[3] = 0;
sprite->data[4] = 0; sprite->data[4] = 0;
sprite->data[5] = monSpriteId; sprite->data[5] = monSpriteId;
@ -556,7 +556,7 @@ void sub_80D5B48(struct Sprite *sprite)
sprite->data[2] = sprite->data[1] + gBattleAnimArgs[1]; sprite->data[2] = sprite->data[1] + gBattleAnimArgs[1];
sprite->data[3] = gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y; sprite->data[3] = gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y;
sprite->data[4] = sprite->data[3] + gBattleAnimArgs[2]; sprite->data[4] = sprite->data[3] + gBattleAnimArgs[2];
sub_80A6E14(sprite); InitSpriteDataForLinearTranslation(sprite);
sprite->data[3] = gSprites[spriteId].pos2.x << 8; sprite->data[3] = gSprites[spriteId].pos2.x << 8;
sprite->data[4] = gSprites[spriteId].pos2.y << 8; sprite->data[4] = gSprites[spriteId].pos2.y << 8;
sprite->data[5] = spriteId; sprite->data[5] = spriteId;

View File

@ -1344,7 +1344,7 @@ static void LinkOpponentHandleTrainerSlideBack(void)
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35; gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280; gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y; gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC; gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy); StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy);
gBattlerControllerFuncs[gActiveBattler] = sub_8064470; gBattlerControllerFuncs[gActiveBattler] = sub_8064470;
} }
@ -1706,7 +1706,7 @@ static void LinkOpponentHandleIntroTrainerBallThrow(void)
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35; gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280; gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y; gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC; gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_80676FC); StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_80676FC);

View File

@ -1166,7 +1166,7 @@ static void LinkPartnerHandleTrainerSlideBack(void)
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35; gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40; gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y; gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC; gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy); StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy);
gBattlerControllerFuncs[gActiveBattler] = sub_814AF54; gBattlerControllerFuncs[gActiveBattler] = sub_814AF54;
} }
@ -1532,7 +1532,7 @@ static void LinkPartnerHandleIntroTrainerBallThrow(void)
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50; gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40; gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y; gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC; gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[5] = gActiveBattler; gSprites[gBattlerSpriteIds[gActiveBattler]].data[5] = gActiveBattler;
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_805CC00); StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_805CC00);

View File

@ -1381,7 +1381,7 @@ static void OpponentHandleTrainerSlideBack(void)
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35; gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280; gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y; gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC; gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy); StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy);
gBattlerControllerFuncs[gActiveBattler] = sub_805F240; gBattlerControllerFuncs[gActiveBattler] = sub_805F240;
} }
@ -1855,7 +1855,7 @@ static void OpponentHandleIntroTrainerBallThrow(void)
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35; gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280; gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y; gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC; gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_806280C); StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_806280C);

View File

@ -2385,7 +2385,7 @@ static void PlayerHandleTrainerSlideBack(void)
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50; gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40; gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y; gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC; gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy); StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy);
StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 1); StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 1);
gBattlerControllerFuncs[gActiveBattler] = sub_80588B4; gBattlerControllerFuncs[gActiveBattler] = sub_80588B4;
@ -2930,7 +2930,7 @@ static void PlayerHandleIntroTrainerBallThrow(void)
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50; gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40; gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y; gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC; gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[5] = gActiveBattler; gSprites[gBattlerSpriteIds[gActiveBattler]].data[5] = gActiveBattler;
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_805CC00); StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_805CC00);

View File

@ -1361,7 +1361,7 @@ static void PlayerPartnerHandleTrainerSlideBack(void)
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35; gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40; gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y; gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC; gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy); StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy);
gBattlerControllerFuncs[gActiveBattler] = sub_81BAE98; gBattlerControllerFuncs[gActiveBattler] = sub_81BAE98;
} }
@ -1785,7 +1785,7 @@ static void PlayerPartnerHandleIntroTrainerBallThrow(void)
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50; gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40; gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y; gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC; gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[5] = gActiveBattler; gSprites[gBattlerSpriteIds[gActiveBattler]].data[5] = gActiveBattler;
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_805CC00); StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_805CC00);

View File

@ -1275,7 +1275,7 @@ static void RecordedOpponentHandleTrainerSlideBack(void)
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35; gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280; gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y; gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC; gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy); StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy);
gBattlerControllerFuncs[gActiveBattler] = sub_81865C8; gBattlerControllerFuncs[gActiveBattler] = sub_81865C8;
} }
@ -1649,7 +1649,7 @@ static void RecordedOpponentHandleIntroTrainerBallThrow(void)
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35; gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280; gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y; gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC; gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_818962C); StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_818962C);

View File

@ -1276,7 +1276,7 @@ static void RecordedPlayerHandleTrainerSlideBack(void)
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35; gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40; gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y; gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC; gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy); StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy);
gBattlerControllerFuncs[gActiveBattler] = sub_81899F0; gBattlerControllerFuncs[gActiveBattler] = sub_81899F0;
} }
@ -1671,7 +1671,7 @@ static void RecordedPlayerHandleIntroTrainerBallThrow(void)
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50; gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40; gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y; gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC; gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[5] = gActiveBattler; gSprites[gBattlerSpriteIds[gActiveBattler]].data[5] = gActiveBattler;
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_805CC00); StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_805CC00);

View File

@ -1435,7 +1435,7 @@ static void WallyHandleIntroTrainerBallThrow(void)
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50; gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40; gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y; gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC; gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[5] = gActiveBattler; gSprites[gBattlerSpriteIds[gActiveBattler]].data[5] = gActiveBattler;
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_805CC00); StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_805CC00);

View File

@ -13,7 +13,7 @@ extern void sub_80FED28(struct Sprite *);
extern void sub_80FEE78(struct Sprite *); extern void sub_80FEE78(struct Sprite *);
extern void sub_80FEF44(struct Sprite *); extern void sub_80FEF44(struct Sprite *);
extern void sub_80FEFFC(struct Sprite *); extern void sub_80FEFFC(struct Sprite *);
extern void sub_80FF268(struct Sprite *); extern void AnimMoveTwisterParticle(struct Sprite *);
extern void sub_80FF0F4(struct Sprite *); extern void sub_80FF0F4(struct Sprite *);
extern void sub_80FF374(struct Sprite *); extern void sub_80FF374(struct Sprite *);
extern void sub_80FF698(struct Sprite *); extern void sub_80FF698(struct Sprite *);
@ -437,7 +437,7 @@ const struct SpriteTemplate gUnknown_085923A8 =
.anims = gUnknown_08592388, .anims = gUnknown_08592388,
.images = NULL, .images = NULL,
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_80FF268, .callback = AnimMoveTwisterParticle,
}; };
const union AnimCmd gUnknown_085923C0[] = const union AnimCmd gUnknown_085923C0[] =

View File

@ -402,7 +402,7 @@ static void Task_DoPokeballSendOutAnim(u8 taskId)
gSprites[ballSpriteId].data[2] = GetBattlerSpriteCoord(gBattlerTarget, BATTLER_COORD_X); gSprites[ballSpriteId].data[2] = GetBattlerSpriteCoord(gBattlerTarget, BATTLER_COORD_X);
gSprites[ballSpriteId].data[4] = GetBattlerSpriteCoord(gBattlerTarget, BATTLER_COORD_Y) - 16; gSprites[ballSpriteId].data[4] = GetBattlerSpriteCoord(gBattlerTarget, BATTLER_COORD_Y) - 16;
gSprites[ballSpriteId].data[5] = -40; gSprites[ballSpriteId].data[5] = -40;
sub_80A68D4(&gSprites[ballSpriteId]); InitAnimArcTranslation(&gSprites[ballSpriteId]);
gSprites[ballSpriteId].oam.affineParam = taskId; gSprites[ballSpriteId].oam.affineParam = taskId;
gTasks[taskId].tOpponentBattler = gBattlerTarget; gTasks[taskId].tOpponentBattler = gBattlerTarget;
gTasks[taskId].func = TaskDummy; gTasks[taskId].func = TaskDummy;
@ -898,7 +898,7 @@ static void SpriteCB_PlayerMonSendOut_1(struct Sprite *sprite)
sprite->data[4] = GetBattlerSpriteCoord(sprite->sBattler, 3) + 24; sprite->data[4] = GetBattlerSpriteCoord(sprite->sBattler, 3) + 24;
sprite->data[5] = -30; sprite->data[5] = -30;
sprite->oam.affineParam = sprite->sBattler; sprite->oam.affineParam = sprite->sBattler;
sub_80A68D4(sprite); InitAnimArcTranslation(sprite);
sprite->callback = SpriteCB_PlayerMonSendOut_2; sprite->callback = SpriteCB_PlayerMonSendOut_2;
} }

View File

@ -1,22 +1,37 @@
#include "global.h" #include "global.h"
#include "battle_anim.h" #include "battle_anim.h"
#include "gpu_regs.h"
#include "graphics.h"
#include "palette.h"
#include "sound.h"
#include "task.h"
#include "trig.h"
#include "constants/rgb.h" #include "constants/rgb.h"
#include "constants/songs.h"
extern void sub_81109F0(struct Sprite *);
extern void sub_8110AB4(struct Sprite *);
extern void sub_8110B38(struct Sprite *);
extern void sub_8110E4C(struct Sprite *);
extern void sub_8110F30(struct Sprite *);
extern void sub_811131C(struct Sprite *);
extern void sub_8111388(struct Sprite *);
extern void sub_8111418(struct Sprite *);
extern void sub_8111444(struct Sprite *);
extern void sub_80FF268(struct Sprite *);
extern void sub_80A8EE4(struct Sprite *);
extern const union AnimCmd *const gUnknown_085950E0[]; extern const union AnimCmd *const gUnknown_085950E0[];
extern const union AnimCmd *const gUnknown_085954D0[]; extern const union AnimCmd *const gUnknown_085954D0[];
extern void AnimMoveTwisterParticle(struct Sprite *);
void sub_81109F0(struct Sprite *);
void sub_8110AB4(struct Sprite *);
void AnimDirtParticleAcrossScreen(struct Sprite *);
void AnimRaiseSprite(struct Sprite *);
void sub_81110A4(u8 taskId);
void sub_811131C(struct Sprite *);
void sub_8111388(struct Sprite *);
void sub_8111418(struct Sprite *);
void sub_8111444(struct Sprite *);
void sub_8110B38(struct Sprite *);
static void sub_8110A70(struct Sprite *);
static void sub_8110B80(struct Sprite *sprite);
static void sub_8110CB0(u8 taskId);
static void sub_8111214(struct Task *task);
static u8 sub_811135C(void);
static void sub_81113C8(struct Sprite *sprite);
static void sub_811149C(struct Sprite *sprite);
const union AnimCmd gUnknown_08596AE0[] = const union AnimCmd gUnknown_08596AE0[] =
{ {
ANIMCMD_FRAME(32, 1), ANIMCMD_FRAME(32, 1),
@ -118,7 +133,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8596BA0 =
.anims = gDummySpriteAnimTable, .anims = gDummySpriteAnimTable,
.images = NULL, .images = NULL,
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_8110E4C, .callback = AnimDirtParticleAcrossScreen,
}; };
const struct Subsprite gUnknown_08596BB8[] = const struct Subsprite gUnknown_08596BB8[] =
@ -194,7 +209,7 @@ const struct SpriteTemplate gUnknown_08596C10 =
.anims = gUnknown_08596BF8, .anims = gUnknown_08596BF8,
.images = NULL, .images = NULL,
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_8110F30, .callback = AnimRaiseSprite,
}; };
const struct SpriteTemplate gUnknown_08596C28 = const struct SpriteTemplate gUnknown_08596C28 =
@ -278,7 +293,7 @@ const struct SpriteTemplate gUnknown_08596CC8 =
.anims = gUnknown_08596C08, .anims = gUnknown_08596C08,
.images = NULL, .images = NULL,
.affineAnims = gUnknown_08596C90, .affineAnims = gUnknown_08596C90,
.callback = sub_80FF268, .callback = AnimMoveTwisterParticle,
}; };
const struct SpriteTemplate gUnknown_08596CE0 = const struct SpriteTemplate gUnknown_08596CE0 =
@ -291,3 +306,573 @@ const struct SpriteTemplate gUnknown_08596CE0 =
.affineAnims = gUnknown_08596C90, .affineAnims = gUnknown_08596C90,
.callback = sub_80A8EE4, .callback = sub_80A8EE4,
}; };
void sub_81109F0(struct Sprite *sprite)
{
if (gBattleAnimArgs[3] != 0)
SetAverageBattlerPositions(gBattleAnimTarget, 0, &sprite->pos1.x, &sprite->pos1.y);
sprite->pos1.x += gBattleAnimArgs[0];
sprite->pos1.y += 14;
StartSpriteAnim(sprite, gBattleAnimArgs[1]);
AnimateSprite(sprite);
sprite->data[0] = 0;
sprite->data[1] = 0;
sprite->data[2] = 4;
sprite->data[3] = 16;
sprite->data[4] = -70;
sprite->data[5] = gBattleAnimArgs[2];
StoreSpriteCallbackInData6(sprite, sub_8110A70);
sprite->callback = sub_80A6450;
sprite->callback(sprite);
}
static void sub_8110A70(struct Sprite *sprite)
{
sprite->pos1.x += sprite->data[5];
sprite->data[0] = 192;
sprite->data[1] = sprite->data[5];
sprite->data[2] = 4;
sprite->data[3] = 32;
sprite->data[4] = -24;
StoreSpriteCallbackInData6(sprite, move_anim_8074EE0);
sprite->callback = sub_80A6450;
sprite->callback(sprite);
}
void sub_8110AB4(struct Sprite *sprite)
{
StartSpriteAnim(sprite, gBattleAnimArgs[5]);
AnimateSprite(sprite);
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
sprite->pos1.x -= gBattleAnimArgs[0];
else
sprite->pos1.x += gBattleAnimArgs[0];
sprite->pos1.y += gBattleAnimArgs[1];
sprite->data[0] = gBattleAnimArgs[4];
sprite->data[1] = sprite->pos1.x;
sprite->data[2] = sprite->pos1.x + gBattleAnimArgs[2];
sprite->data[3] = sprite->pos1.y;
sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[3];
InitSpriteDataForLinearTranslation(sprite);
sprite->data[3] = 0;
sprite->data[4] = 0;
sprite->callback = sub_80A656C;
StoreSpriteCallbackInData6(sprite, move_anim_8074EE0);
}
void sub_8110B38(struct Sprite *sprite)
{
if (gBattleAnimArgs[6] == 0)
InitAnimSpritePos(sprite, 0);
else
sub_80A6980(sprite, FALSE);
sprite->data[0] = gBattleAnimArgs[3];
sprite->data[1] = gBattleAnimArgs[2];
sprite->data[2] = gBattleAnimArgs[4];
sprite->data[3] = gBattleAnimArgs[5];
sprite->callback = sub_8110B80;
}
static void sub_8110B80(struct Sprite *sprite)
{
sprite->data[4] += sprite->data[1];
sprite->pos2.y = -(sprite->data[4] >> 8);
sprite->pos2.x = Sin(sprite->data[5], sprite->data[3]);
sprite->data[5] = (sprite->data[5] + sprite->data[2]) & 0xFF;
if (--sprite->data[0] == -1)
{
DestroyAnimSprite(sprite);
}
}
void AnimTask_LoadSandstormBackground(u8 taskId)
{
int var0;
struct UnknownAnimStruct2 unknownStruct;
var0 = 0;
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND);
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16));
SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1);
SetAnimBgAttribute(1, BG_ANIM_SCREEN_SIZE, 0);
if (!IsContest())
SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 1);
gBattle_BG1_X = 0;
gBattle_BG1_Y = 0;
SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X);
SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y);
sub_80A6B30(&unknownStruct);
sub_80A6CC0(unknownStruct.bgId, gUnknown_08D8D58C, unknownStruct.tilesOffset);
sub_80A6D60(&unknownStruct, gUnknown_08D8D410, 0);
LoadCompressedPalette(&gBattleAnimSpritePalette_261, unknownStruct.unk8 * 16, 32);
if (gBattleAnimArgs[0] && GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
var0 = 1;
gTasks[taskId].data[0] = var0;
gTasks[taskId].func = sub_8110CB0;
}
static void sub_8110CB0(u8 taskId)
{
struct UnknownAnimStruct2 unknownStruct;
if (gTasks[taskId].data[0] == 0)
gBattle_BG1_X += -6;
else
gBattle_BG1_X += 6;
gBattle_BG1_Y += -1;
switch (gTasks[taskId].data[12])
{
case 0:
if (++gTasks[taskId].data[10] == 4)
{
gTasks[taskId].data[10] = 0;
gTasks[taskId].data[11]++;
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[11], 16 - gTasks[taskId].data[11]));
if (gTasks[taskId].data[11] == 7)
{
gTasks[taskId].data[12]++;
gTasks[taskId].data[11] = 0;
}
}
break;
case 1:
if (++gTasks[taskId].data[11] == 101)
{
gTasks[taskId].data[11] = 7;
gTasks[taskId].data[12]++;
}
break;
case 2:
if (++gTasks[taskId].data[10] == 4)
{
gTasks[taskId].data[10] = 0;
gTasks[taskId].data[11]--;
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[11], 16 - gTasks[taskId].data[11]));
if (gTasks[taskId].data[11] == 0)
{
gTasks[taskId].data[12]++;
gTasks[taskId].data[11] = 0;
}
}
break;
case 3:
sub_80A6B30(&unknownStruct);
sub_80A6C68(unknownStruct.bgId);
gTasks[taskId].data[12]++;
break;
case 4:
if (!IsContest())
SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 0);
gBattle_BG1_X = 0;
gBattle_BG1_Y = 0;
SetGpuReg(REG_OFFSET_BLDCNT, 0);
SetGpuReg(REG_OFFSET_BLDALPHA, 0);
SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1);
DestroyAnimVisualTask(taskId);
break;
}
}
// Animates the sprites that fly diagonally across the screen
// in Sandstorm and Heat Wave.
// arg 0: initial y pixel offset
// arg 1: projectile speed
// arg 2: y pixel drop
// arg 3: ??? unknown (possibly a color bit)
void AnimDirtParticleAcrossScreen(struct Sprite *sprite)
{
if (sprite->data[0] == 0)
{
if (gBattleAnimArgs[3] != 0 && GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
{
sprite->pos1.x = 304;
gBattleAnimArgs[1] = -gBattleAnimArgs[1];
sprite->data[5] = 1;
sprite->oam.matrixNum = 8;
}
else
{
sprite->pos1.x = -64;
}
sprite->pos1.y = gBattleAnimArgs[0];
SetSubspriteTables(sprite, gUnknown_08596BC0);
sprite->data[1] = gBattleAnimArgs[1];
sprite->data[2] = gBattleAnimArgs[2];
sprite->data[0]++;
}
else
{
sprite->data[3] += sprite->data[1];
sprite->data[4] += sprite->data[2];
sprite->pos2.x += (sprite->data[3] >> 8);
sprite->pos2.y += (sprite->data[4] >> 8);
sprite->data[3] &= 0xFF;
sprite->data[4] &= 0xFF;
if (sprite->data[5] == 0)
{
if (sprite->pos1.x + sprite->pos2.x > 272)
{
sprite->callback = DestroyAnimSprite;
}
}
else if (sprite->pos1.x + sprite->pos2.x < -32)
{
sprite->callback = DestroyAnimSprite;
}
}
}
// Animates the rising rocks in Ancient Power.
// arg 0: initial x pixel offset
// arg 1: initial y pixel offset
// arg 2: terminal y offset
// arg 3: duration
// arg 4: sprite size [1,5]
void AnimRaiseSprite(struct Sprite *sprite)
{
StartSpriteAnim(sprite, gBattleAnimArgs[4]);
InitAnimSpritePos(sprite, 0);
sprite->data[0] = gBattleAnimArgs[3];
sprite->data[2] = sprite->pos1.x;
sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[2];
sprite->callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
void sub_8110F74(u8 taskId)
{
u16 var0, var1, var2, var3;
u8 var4;
int var5;
s16 pan1, pan2;
struct Task *task;
task = &gTasks[taskId];
var0 = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
var1 = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + 24;
var2 = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
var3 = GetBattlerSpriteCoord(gBattleAnimTarget, 1) + 24;
if (BATTLE_PARTNER(gBattleAnimAttacker) == gBattleAnimTarget)
var3 = var1;
var4 = sub_811135C();
if (var4 == 1)
task->data[8] = 32;
else
task->data[8] = 48 - (var4 * 8);
task->data[0] = 0;
task->data[11] = 0;
task->data[9] = 0;
task->data[12] = 1;
var5 = task->data[8];
if (var5 < 0)
var5 += 7;
task->data[10] = (var5 >> 3) - 1;
task->data[2] = var0 * 8;
task->data[3] = var1 * 8;
task->data[4] = ((var2 - var0) * 8) / task->data[8];
task->data[5] = ((var3 - var1) * 8) / task->data[8];
task->data[6] = 0;
task->data[7] = 0;
pan1 = BattleAnimAdjustPanning(-64);
pan2 = BattleAnimAdjustPanning(63);
task->data[13] = pan1;
task->data[14] = (pan2 - pan1) / task->data[8];
task->data[1] = var4;
task->data[15] = GetAnimBattlerSpriteId(0);
task->func = sub_81110A4;
}
void sub_81110A4(u8 taskId)
{
struct Task *task;
task = &gTasks[taskId];
switch (task->data[0])
{
case 0:
task->data[6] -= task->data[4];
task->data[7] -= task->data[5];
gSprites[task->data[15]].pos2.x = task->data[6] >> 3;
gSprites[task->data[15]].pos2.y = task->data[7] >> 3;
if (++task->data[9] == 10)
{
task->data[11] = 20;
task->data[0]++;
}
PlaySE12WithPanning(SE_W029, task->data[13]);
break;
case 1:
if (--task->data[11] == 0)
task->data[0]++;
break;
case 2:
if (--task->data[9] != 0)
{
task->data[6] += task->data[4];
task->data[7] += task->data[5];
}
else
{
task->data[6] = 0;
task->data[7] = 0;
task->data[0]++;
}
gSprites[task->data[15]].pos2.x = task->data[6] >> 3;
gSprites[task->data[15]].pos2.y = task->data[7] >> 3;
break;
case 3:
task->data[2] += task->data[4];
task->data[3] += task->data[5];
if (++task->data[9] >= task->data[10])
{
task->data[9] = 0;
sub_8111214(task);
task->data[13] += task->data[14];
PlaySE12WithPanning(SE_W091, task->data[13]);
}
if (--task->data[8] == 0)
{
task->data[0]++;
}
break;
case 4:
if (task->data[11] == 0)
DestroyAnimVisualTask(taskId);
break;
}
}
static void sub_8111214(struct Task *task)
{
const struct SpriteTemplate *spriteTemplate;
int var0;
u16 x, y;
u8 spriteId;
switch (task->data[1])
{
case 1:
spriteTemplate = &gUnknown_08596C28;
var0 = 0;
break;
case 2:
case 3:
spriteTemplate = &gUnknown_08596C40;
var0 = 80;
break;
case 4:
spriteTemplate = &gUnknown_08596C40;
var0 = 64;
break;
case 5:
spriteTemplate = &gUnknown_08596C40;
var0 = 48;
break;
default:
return;
}
x = task->data[2] >> 3;
y = task->data[3] >> 3;
x += (task->data[12] * 4);
spriteId = CreateSprite(spriteTemplate, x, y, 35);
if (spriteId != 64)
{
gSprites[spriteId].data[0] = 18;
gSprites[spriteId].data[2] = ((task->data[12] * 20) + x) + (task->data[1] * 3);
gSprites[spriteId].data[4] = y;
gSprites[spriteId].data[5] = -16 - (task->data[1] * 2);
gSprites[spriteId].oam.tileNum += var0;
InitAnimArcTranslation(&gSprites[spriteId]);
task->data[11]++;
}
task->data[12] *= -1;
}
void sub_811131C(struct Sprite *sprite)
{
if (TranslateAnimArc(sprite))
{
u8 taskId = FindTaskIdByFunc(sub_81110A4);
if (taskId != 0xFF)
gTasks[taskId].data[11]--;
DestroySprite(sprite);
}
}
static u8 sub_811135C(void)
{
u8 retVal = gAnimDisableStructPtr->rolloutTimerStartValue - gAnimDisableStructPtr->rolloutTimer;
u8 var0 = retVal - 1;
if (var0 > 4)
retVal = 1;
return retVal;
}
void sub_8111388(struct Sprite *sprite)
{
StartSpriteAnim(sprite, gBattleAnimArgs[4]);
sprite->pos2.x = gBattleAnimArgs[0];
sprite->data[2] = gBattleAnimArgs[1];
sprite->data[3] -= gBattleAnimArgs[2];
sprite->data[0] = 3;
sprite->data[1] = gBattleAnimArgs[3];
sprite->callback = sub_81113C8;
sprite->invisible = 1;
}
static void sub_81113C8(struct Sprite *sprite)
{
sprite->invisible = 0;
if (sprite->data[3] != 0)
{
sprite->pos2.y = sprite->data[2] + sprite->data[3];
sprite->data[3] += sprite->data[0];
sprite->data[0]++;
if (sprite->data[3] > 0)
{
sprite->data[3] = 0;
}
}
else
{
if (--sprite->data[1] == 0)
DestroyAnimSprite(sprite);
}
}
void sub_8111418(struct Sprite *sprite)
{
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT)
StartSpriteAffineAnim(sprite, 1);
TranslateAnimSpriteToTargetMonLocation(sprite);
}
void sub_8111444(struct Sprite *sprite)
{
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 1);
sprite->pos1.x += gBattleAnimArgs[0];
sprite->pos1.y += gBattleAnimArgs[1];
sprite->data[1] = gBattleAnimArgs[0];
sprite->data[2] = gBattleAnimArgs[1];
sprite->data[5] = gBattleAnimArgs[2];
StartSpriteAnim(sprite, gBattleAnimArgs[3]);
sprite->callback = sub_811149C;
}
static void sub_811149C(struct Sprite *sprite)
{
sprite->data[0] += 8;
sprite->data[3] += sprite->data[1];
sprite->data[4] += sprite->data[2];
sprite->pos2.x += sprite->data[3] / 40;
sprite->pos2.y -= Sin(sprite->data[0], sprite->data[5]);
if (sprite->data[0] > 140)
DestroyAnimSprite(sprite);
}
void AnimTask_GetSeismicTossDamageLevel(u8 taskId)
{
if (gAnimMoveDmg < 33)
gBattleAnimArgs[7] = 0;
if ((u32)gAnimMoveDmg - 33 < 33)
gBattleAnimArgs[7] = 1;
if (gAnimMoveDmg > 65)
gBattleAnimArgs[7] = 2;
DestroyAnimVisualTask(taskId);
}
void sub_811152C(u8 taskId)
{
if (gTasks[taskId].data[0] == 0)
{
sub_80A6DAC(0);
gTasks[taskId].data[1] = 200;
}
gBattle_BG3_Y += gTasks[taskId].data[1] / 10;
gTasks[taskId].data[1] -= 3;
if (gTasks[taskId].data[0] == 120)
{
sub_80A6DAC(1);
DestroyAnimVisualTask(taskId);
}
gTasks[taskId].data[0]++;
}
void sub_8111590(u8 taskId)
{
if (gTasks[taskId].data[0] == 0)
{
sub_80A6DAC(0);
gTasks[taskId].data[0]++;
gTasks[taskId].data[2] = gBattle_BG3_Y;
}
gTasks[taskId].data[1] += 80;
gTasks[taskId].data[1] &= 0xFF;
gBattle_BG3_Y = gTasks[taskId].data[2] + Cos(4, gTasks[taskId].data[1]);
if (gBattleAnimArgs[7] == 0xFFF)
{
gBattle_BG3_Y = 0;
sub_80A6DAC(1);
DestroyAnimVisualTask(taskId);
}
}