mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-12-25 11:14:15 +01:00
Decompile rock
This commit is contained in:
parent
19e235867a
commit
5947e0d229
@ -259,7 +259,7 @@ _0815A2B2:
|
||||
strh r0, [r5, 0x2E]
|
||||
strh r7, [r5, 0x32]
|
||||
strh r6, [r5, 0x36]
|
||||
ldr r0, =sub_80A6EEC
|
||||
ldr r0, =StartAnimLinearTranslation
|
||||
str r0, [r5, 0x1C]
|
||||
ldr r1, =DestroyAnimSprite
|
||||
adds r0, r5, 0
|
||||
@ -767,7 +767,7 @@ sub_815A6C4: @ 815A6C4
|
||||
sub sp, 0x4
|
||||
adds r4, r0, 0
|
||||
movs r1, 0x1
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
ldr r0, =gBattleAnimTarget
|
||||
ldrb r0, [r0]
|
||||
mov r5, sp
|
||||
@ -802,7 +802,7 @@ _0815A6F8:
|
||||
ldr r0, =0x0000ffce
|
||||
strh r0, [r4, 0x38]
|
||||
adds r0, r4, 0
|
||||
bl sub_80A68D4
|
||||
bl InitAnimArcTranslation
|
||||
ldr r0, =sub_815A73C
|
||||
str r0, [r4, 0x1C]
|
||||
add sp, 0x4
|
||||
@ -2216,7 +2216,7 @@ sub_815B27C: @ 815B27C
|
||||
bne _0815B290
|
||||
adds r0, r5, 0
|
||||
movs r1, 0
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
_0815B290:
|
||||
ldrh r0, [r5, 0x2E]
|
||||
adds r0, 0x1
|
||||
@ -2291,7 +2291,7 @@ _0815B2D8:
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
strh r0, [r5, 0x36]
|
||||
ldr r0, =sub_80A6EEC
|
||||
ldr r0, =StartAnimLinearTranslation
|
||||
str r0, [r5, 0x1C]
|
||||
_0815B324:
|
||||
pop {r4,r5}
|
||||
@ -2810,7 +2810,7 @@ sub_815B70C: @ 815B70C
|
||||
_0815B71E:
|
||||
adds r0, r4, 0
|
||||
movs r1, 0
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
movs r0, 0x90
|
||||
lsls r0, 4
|
||||
strh r0, [r4, 0x30]
|
||||
@ -4309,7 +4309,7 @@ sub_815C400: @ 815C400
|
||||
bne _0815C41E
|
||||
adds r0, r4, 0
|
||||
movs r1, 0
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
ldrh r0, [r4, 0x2E]
|
||||
adds r0, 0x1
|
||||
strh r0, [r4, 0x2E]
|
||||
@ -8448,7 +8448,7 @@ _0815E4EE:
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
adds r0, r4
|
||||
bl sub_80A68D4
|
||||
bl InitAnimArcTranslation
|
||||
mov r1, r10
|
||||
ldrb r0, [r1]
|
||||
bl GetBattlerSide
|
||||
@ -9605,7 +9605,7 @@ sub_815EE84: @ 815EE84
|
||||
bne _0815EEA8
|
||||
adds r0, r4, 0
|
||||
movs r1, 0x1
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
ldr r0, =gBattleAnimAttacker
|
||||
b _0815EEAA
|
||||
.pool
|
||||
|
@ -1473,7 +1473,7 @@ sub_8171104: @ 8171104
|
||||
ldr r0, =0x0000ffd8
|
||||
strh r0, [r4, 0x38]
|
||||
adds r0, r4, 0
|
||||
bl sub_80A68D4
|
||||
bl InitAnimArcTranslation
|
||||
ldr r0, =sub_8171134
|
||||
str r0, [r4, 0x1C]
|
||||
pop {r4}
|
||||
@ -2631,7 +2631,7 @@ _08171A26:
|
||||
ldrsb r0, [r1, r0]
|
||||
strh r0, [r5, 0x38]
|
||||
adds r0, r5, 0
|
||||
bl sub_80A68D4
|
||||
bl InitAnimArcTranslation
|
||||
add r4, r10
|
||||
ldr r0, =sub_8171AAC
|
||||
str r0, [r4]
|
||||
@ -5571,7 +5571,7 @@ sub_817330C: @ 817330C
|
||||
push {r4,r5,lr}
|
||||
adds r4, r0, 0
|
||||
movs r1, 0
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
movs r0, 0x1E
|
||||
strh r0, [r4, 0x2E]
|
||||
movs r0, 0x1
|
||||
@ -5600,7 +5600,7 @@ sub_817330C: @ 817330C
|
||||
ldr r0, =0x0000ffe0
|
||||
strh r0, [r4, 0x38]
|
||||
adds r0, r4, 0
|
||||
bl sub_80A68D4
|
||||
bl InitAnimArcTranslation
|
||||
ldr r2, =gSprites
|
||||
ldr r1, =gBattlerSpriteIds
|
||||
ldr r0, =gBattleAnimAttacker
|
||||
|
@ -92,7 +92,7 @@ sub_80FE8E0: @ 80FE8E0
|
||||
push {r4,r5,lr}
|
||||
adds r4, r0, 0
|
||||
movs r1, 0x1
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
ldr r0, =gBattleAnimArgs
|
||||
ldrh r0, [r0, 0x4]
|
||||
strh r0, [r4, 0x2E]
|
||||
@ -109,7 +109,7 @@ sub_80FE8E0: @ 80FE8E0
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
strh r0, [r4, 0x36]
|
||||
ldr r0, =sub_80A6EEC
|
||||
ldr r0, =StartAnimLinearTranslation
|
||||
str r0, [r4, 0x1C]
|
||||
ldr r1, =move_anim_8074EE0
|
||||
adds r0, r4, 0
|
||||
@ -125,7 +125,7 @@ sub_80FE930: @ 80FE930
|
||||
push {r4,r5,lr}
|
||||
adds r4, r0, 0
|
||||
movs r1, 0x1
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
ldr r5, =gBattleAnimArgs
|
||||
ldrb r1, [r5, 0x6]
|
||||
adds r0, r4, 0
|
||||
@ -145,7 +145,7 @@ sub_80FE930: @ 80FE930
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
strh r0, [r4, 0x36]
|
||||
ldr r0, =sub_80A6EEC
|
||||
ldr r0, =StartAnimLinearTranslation
|
||||
str r0, [r4, 0x1C]
|
||||
ldr r1, =DestroyAnimSprite
|
||||
adds r0, r4, 0
|
||||
@ -161,7 +161,7 @@ sub_80FE988: @ 80FE988
|
||||
push {r4-r6,lr}
|
||||
adds r4, r0, 0
|
||||
movs r1, 0x1
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
ldr r6, =gBattleAnimArgs
|
||||
ldrh r0, [r6, 0x4]
|
||||
strh r0, [r4, 0x2E]
|
||||
@ -337,7 +337,7 @@ sub_80FEAD8: @ 80FEAD8
|
||||
ldrh r0, [r6, 0x4]
|
||||
strh r0, [r4, 0x38]
|
||||
adds r0, r4, 0
|
||||
bl sub_80A68D4
|
||||
bl InitAnimArcTranslation
|
||||
ldr r0, =sub_80FEB28
|
||||
str r0, [r4, 0x1C]
|
||||
pop {r4-r6}
|
||||
@ -493,7 +493,7 @@ sub_80FEC48: @ 80FEC48
|
||||
push {r4-r6,lr}
|
||||
adds r6, r0, 0
|
||||
movs r1, 0x1
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
ldr r0, =gBattleAnimAttacker
|
||||
ldrb r0, [r0]
|
||||
bl GetBattlerSide
|
||||
@ -528,7 +528,7 @@ _080FEC68:
|
||||
ldrh r0, [r4, 0xA]
|
||||
strh r0, [r6, 0x38]
|
||||
adds r0, r6, 0
|
||||
bl sub_80A68D4
|
||||
bl InitAnimArcTranslation
|
||||
ldr r0, =sub_80FECB8
|
||||
str r0, [r6, 0x1C]
|
||||
pop {r4-r6}
|
||||
@ -762,7 +762,7 @@ sub_80FEE78: @ 80FEE78
|
||||
push {r4,r5,lr}
|
||||
adds r4, r0, 0
|
||||
movs r1, 0
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
ldr r5, =gBattleAnimArgs
|
||||
ldrh r0, [r5, 0x6]
|
||||
strh r0, [r4, 0x2E]
|
||||
@ -859,7 +859,7 @@ sub_80FEF44: @ 80FEF44
|
||||
push {r4,r5,lr}
|
||||
adds r4, r0, 0
|
||||
movs r1, 0x1
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
ldr r5, =gBattleAnimArgs
|
||||
ldrh r0, [r5, 0x6]
|
||||
strh r0, [r4, 0x2E]
|
||||
@ -1079,7 +1079,7 @@ sub_80FF0F4: @ 80FF0F4
|
||||
push {r4-r6,lr}
|
||||
adds r5, r0, 0
|
||||
movs r1, 0x1
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
ldr r0, =gBattleAnimAttacker
|
||||
ldrb r0, [r0]
|
||||
bl GetBattlerSide
|
||||
@ -1138,7 +1138,7 @@ _080FF174:
|
||||
ldrh r0, [r0, 0xA]
|
||||
strh r0, [r5, 0x38]
|
||||
adds r0, r5, 0
|
||||
bl sub_80A68D4
|
||||
bl InitAnimArcTranslation
|
||||
ldr r0, =gBattleAnimAttacker
|
||||
ldrb r0, [r0]
|
||||
bl GetBattlerSide
|
||||
@ -1256,8 +1256,8 @@ _080FF260:
|
||||
bx r0
|
||||
thumb_func_end sub_80FF1C0
|
||||
|
||||
thumb_func_start sub_80FF268
|
||||
sub_80FF268: @ 80FF268
|
||||
thumb_func_start AnimMoveTwisterParticle
|
||||
AnimMoveTwisterParticle: @ 80FF268
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
bl IsDoubleBattle
|
||||
@ -1294,7 +1294,7 @@ _080FF28A:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_80FF268
|
||||
thumb_func_end AnimMoveTwisterParticle
|
||||
|
||||
thumb_func_start sub_80FF2BC
|
||||
sub_80FF2BC: @ 80FF2BC
|
||||
@ -2348,7 +2348,7 @@ sub_80FFB18: @ 80FFB18
|
||||
push {r4-r6,lr}
|
||||
adds r5, r0, 0
|
||||
movs r1, 0
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
ldr r4, =gBattleAnimTarget
|
||||
ldrb r0, [r4]
|
||||
movs r1, 0
|
||||
@ -3100,7 +3100,7 @@ _08100060:
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
adds r0, r4
|
||||
bl sub_80A68D4
|
||||
bl InitAnimArcTranslation
|
||||
ldr r0, =sub_8100128
|
||||
str r0, [r5]
|
||||
pop {r4-r6}
|
||||
@ -3263,7 +3263,7 @@ _08100204:
|
||||
adds r0, r4, 0
|
||||
bl StartSpriteAnim
|
||||
adds r0, r4, 0
|
||||
bl sub_80A68D4
|
||||
bl InitAnimArcTranslation
|
||||
ldrh r0, [r6, 0x8]
|
||||
adds r0, 0x1
|
||||
b _081004FA
|
||||
@ -3335,7 +3335,7 @@ _08100272:
|
||||
adds r0, r4, 0
|
||||
bl StartSpriteAnim
|
||||
adds r0, r4, 0
|
||||
bl sub_80A68D4
|
||||
bl InitAnimArcTranslation
|
||||
ldrh r0, [r6, 0x8]
|
||||
adds r0, 0x1
|
||||
b _081004FA
|
||||
@ -3394,7 +3394,7 @@ _081002E8:
|
||||
adds r0, r4, 0
|
||||
bl StartSpriteAnim
|
||||
adds r0, r4, 0
|
||||
bl sub_80A68D4
|
||||
bl InitAnimArcTranslation
|
||||
ldrh r0, [r6, 0x8]
|
||||
adds r0, 0x1
|
||||
b _081004FA
|
||||
@ -3448,7 +3448,7 @@ _08100380:
|
||||
adds r0, r4, 0
|
||||
bl StartSpriteAnim
|
||||
adds r0, r4, 0
|
||||
bl sub_80A68D4
|
||||
bl InitAnimArcTranslation
|
||||
ldrh r0, [r6, 0x8]
|
||||
adds r0, 0x1
|
||||
b _081004FA
|
||||
@ -3505,7 +3505,7 @@ _081003D2:
|
||||
adds r0, r4, 0
|
||||
bl StartSpriteAnim
|
||||
adds r0, r4, 0
|
||||
bl sub_80A68D4
|
||||
bl InitAnimArcTranslation
|
||||
ldrh r0, [r6, 0x8]
|
||||
adds r0, 0x1
|
||||
b _081004FA
|
||||
@ -3557,7 +3557,7 @@ _08100464:
|
||||
adds r0, r4, 0
|
||||
bl StartSpriteAnim
|
||||
adds r0, r4, 0
|
||||
bl sub_80A68D4
|
||||
bl InitAnimArcTranslation
|
||||
ldrh r0, [r6, 0x8]
|
||||
adds r0, 0x1
|
||||
b _081004FA
|
||||
@ -5766,7 +5766,7 @@ _08101604:
|
||||
asrs r0, 24
|
||||
adds r4, r0
|
||||
strh r4, [r5, 0x36]
|
||||
ldr r0, =sub_80A6EEC
|
||||
ldr r0, =StartAnimLinearTranslation
|
||||
str r0, [r5, 0x1C]
|
||||
ldr r1, =sub_8101684
|
||||
adds r0, r5, 0
|
||||
@ -5900,7 +5900,7 @@ _08101718:
|
||||
lsrs r0, 24
|
||||
adds r0, r6
|
||||
strh r0, [r5, 0x36]
|
||||
ldr r0, =sub_80A6EEC
|
||||
ldr r0, =StartAnimLinearTranslation
|
||||
str r0, [r5, 0x1C]
|
||||
ldr r1, =sub_8101820
|
||||
adds r0, r5, 0
|
||||
@ -7478,7 +7478,7 @@ _08102390:
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
strh r0, [r5, 0x36]
|
||||
ldr r0, =sub_80A6EEC
|
||||
ldr r0, =StartAnimLinearTranslation
|
||||
str r0, [r5, 0x1C]
|
||||
ldr r1, =DestroyAnimSprite
|
||||
adds r0, r5, 0
|
||||
|
@ -240,7 +240,7 @@ sub_8103620: @ 8103620
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
movs r1, 0x1
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
ldr r1, =gBattleAnimArgs
|
||||
ldrh r0, [r1, 0x4]
|
||||
strh r0, [r4, 0x2E]
|
||||
@ -269,7 +269,7 @@ sub_8103658: @ 8103658
|
||||
ldrh r1, [r0, 0x22]
|
||||
adds r1, 0xF
|
||||
strh r1, [r0, 0x36]
|
||||
ldr r1, =sub_80A6EEC
|
||||
ldr r1, =StartAnimLinearTranslation
|
||||
str r1, [r0, 0x1C]
|
||||
ldr r1, =sub_8103680
|
||||
bl StoreSpriteCallbackInData6
|
||||
@ -526,7 +526,7 @@ sub_810387C: @ 810387C
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
movs r1, 0
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
ldr r0, =sub_80A67BC
|
||||
str r0, [r4, 0x1C]
|
||||
ldr r1, =sub_81038A0
|
||||
@ -548,7 +548,7 @@ sub_81038A0: @ 81038A0
|
||||
ldrh r1, [r0, 0x22]
|
||||
subs r1, 0x20
|
||||
strh r1, [r0, 0x36]
|
||||
ldr r1, =sub_80A6EEC
|
||||
ldr r1, =StartAnimLinearTranslation
|
||||
str r1, [r0, 0x1C]
|
||||
ldr r1, =DestroyAnimSprite
|
||||
bl StoreSpriteCallbackInData6
|
||||
@ -594,7 +594,7 @@ _081038EC:
|
||||
_0810390E:
|
||||
adds r0, r5, 0
|
||||
movs r1, 0x1
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
ldr r4, =gBattleAnimTarget
|
||||
ldrb r0, [r4]
|
||||
movs r1, 0x2
|
||||
@ -657,7 +657,7 @@ _08103980:
|
||||
mov r0, r8
|
||||
strh r0, [r5, 0x32]
|
||||
strh r7, [r5, 0x36]
|
||||
ldr r0, =sub_80A6EEC
|
||||
ldr r0, =StartAnimLinearTranslation
|
||||
str r0, [r5, 0x1C]
|
||||
ldr r1, =DestroyAnimSprite
|
||||
adds r0, r5, 0
|
||||
@ -1424,7 +1424,7 @@ sub_8103FE8: @ 8103FE8
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
movs r1, 0
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
ldr r0, =gUnknown_085934A0
|
||||
ldrh r0, [r0, 0x2]
|
||||
bl IndexOfSpritePaletteTag
|
||||
@ -1507,7 +1507,7 @@ sub_8104088: @ 8104088
|
||||
sub sp, 0x4
|
||||
adds r5, r0, 0
|
||||
movs r1, 0x1
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
ldr r4, =gBattleAnimTarget
|
||||
ldrb r0, [r4]
|
||||
movs r1, 0x2
|
||||
@ -1655,7 +1655,7 @@ sub_81041C4: @ 81041C4
|
||||
push {r4,r5,lr}
|
||||
adds r4, r0, 0
|
||||
movs r1, 0x1
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
movs r0, 0x14
|
||||
strh r0, [r4, 0x2E]
|
||||
ldr r5, =gBattleAnimTarget
|
||||
@ -1671,7 +1671,7 @@ sub_81041C4: @ 81041C4
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
strh r0, [r4, 0x36]
|
||||
ldr r0, =sub_80A6EEC
|
||||
ldr r0, =StartAnimLinearTranslation
|
||||
str r0, [r4, 0x1C]
|
||||
adds r2, r4, 0
|
||||
adds r2, 0x2C
|
||||
@ -1809,7 +1809,7 @@ sub_8104304: @ 8104304
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
movs r1, 0
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
ldr r0, =gBattleAnimAttacker
|
||||
ldrb r0, [r0]
|
||||
bl GetBattlerSide
|
||||
@ -1896,7 +1896,7 @@ _08104390:
|
||||
lsrs r0, 24
|
||||
adds r0, r6
|
||||
strh r0, [r5, 0x36]
|
||||
ldr r0, =sub_80A6EEC
|
||||
ldr r0, =StartAnimLinearTranslation
|
||||
str r0, [r5, 0x1C]
|
||||
ldr r1, =sub_81043F8
|
||||
adds r0, r5, 0
|
||||
@ -4038,7 +4038,7 @@ sub_8105538: @ 8105538
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
movs r1, 0
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
ldr r0, =gBattleAnimAttacker
|
||||
ldrb r0, [r0]
|
||||
bl GetBattlerSide
|
||||
@ -5141,7 +5141,7 @@ sub_8105DE8: @ 8105DE8
|
||||
push {r4-r6,lr}
|
||||
adds r5, r0, 0
|
||||
movs r1, 0
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
ldr r6, =gBattleAnimAttacker
|
||||
ldrb r0, [r6]
|
||||
bl GetBattlerSide
|
||||
@ -5172,7 +5172,7 @@ _08105E08:
|
||||
ldrh r1, [r4, 0x6]
|
||||
adds r0, r1
|
||||
strh r0, [r5, 0x36]
|
||||
ldr r0, =sub_80A6EEC
|
||||
ldr r0, =StartAnimLinearTranslation
|
||||
str r0, [r5, 0x1C]
|
||||
ldr r1, =DestroyAnimSprite
|
||||
adds r0, r5, 0
|
||||
@ -5200,7 +5200,7 @@ sub_8105E60: @ 8105E60
|
||||
bne _08105E7A
|
||||
adds r0, r4, 0
|
||||
movs r1, 0
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
_08105E7A:
|
||||
movs r1, 0x30
|
||||
ldrsh r0, [r4, r1]
|
||||
@ -5525,7 +5525,7 @@ sub_8106140: @ 8106140
|
||||
push {r4,r5,lr}
|
||||
adds r4, r0, 0
|
||||
movs r1, 0x1
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
movs r0, 0x5F
|
||||
strh r0, [r4, 0x2E]
|
||||
ldrh r0, [r4, 0x20]
|
||||
@ -6543,7 +6543,7 @@ sub_81069B8: @ 81069B8
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
movs r1, 0x1
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
ldr r0, =sub_810699C
|
||||
str r0, [r4, 0x1C]
|
||||
pop {r4}
|
||||
@ -7496,7 +7496,7 @@ _08107118:
|
||||
ldrh r0, [r5, 0x22]
|
||||
subs r0, 0x48
|
||||
strh r0, [r5, 0x36]
|
||||
ldr r0, =sub_80A6EEC
|
||||
ldr r0, =StartAnimLinearTranslation
|
||||
str r0, [r5, 0x1C]
|
||||
ldr r1, =DestroyAnimSprite
|
||||
adds r0, r5, 0
|
||||
|
14
asm/bug.s
14
asm/bug.s
@ -85,7 +85,7 @@ _081103C4:
|
||||
ldrh r4, [r4, 0x6]
|
||||
adds r0, r4
|
||||
strh r0, [r6, 0x36]
|
||||
ldr r0, =sub_80A6EEC
|
||||
ldr r0, =StartAnimLinearTranslation
|
||||
str r0, [r6, 0x1C]
|
||||
ldr r1, =DestroyAnimSprite
|
||||
adds r0, r6, 0
|
||||
@ -160,7 +160,7 @@ _08110478:
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
strh r0, [r6, 0x36]
|
||||
ldr r0, =sub_80A6EEC
|
||||
ldr r0, =StartAnimLinearTranslation
|
||||
str r0, [r6, 0x1C]
|
||||
ldr r1, =DestroyAnimSprite
|
||||
adds r0, r6, 0
|
||||
@ -189,7 +189,7 @@ sub_81104E4: @ 81104E4
|
||||
_08110500:
|
||||
adds r0, r5, 0
|
||||
movs r1, 0x1
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
ldr r1, =gBattleAnimArgs
|
||||
ldrh r0, [r1, 0x4]
|
||||
strh r0, [r5, 0x2E]
|
||||
@ -528,7 +528,7 @@ _081107A0:
|
||||
_081107B2:
|
||||
adds r0, r7, 0
|
||||
movs r1, 0x1
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
ldr r5, =gBattleAnimTarget
|
||||
ldrb r0, [r5]
|
||||
movs r1, 0x2
|
||||
@ -579,7 +579,7 @@ _081107B2:
|
||||
strh r0, [r7, 0x2E]
|
||||
strh r4, [r7, 0x32]
|
||||
strh r5, [r7, 0x36]
|
||||
ldr r0, =sub_80A6EEC
|
||||
ldr r0, =StartAnimLinearTranslation
|
||||
str r0, [r7, 0x1C]
|
||||
ldr r1, =DestroyAnimSprite
|
||||
adds r0, r7, 0
|
||||
@ -596,7 +596,7 @@ sub_8110850: @ 8110850
|
||||
push {r4-r6,lr}
|
||||
adds r6, r0, 0
|
||||
movs r1, 0x1
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
ldr r0, =gBattleAnimAttacker
|
||||
ldrb r0, [r0]
|
||||
bl GetBattlerSide
|
||||
@ -631,7 +631,7 @@ _08110870:
|
||||
ldrh r0, [r4, 0xA]
|
||||
strh r0, [r6, 0x38]
|
||||
adds r0, r6, 0
|
||||
bl sub_80A68D4
|
||||
bl InitAnimArcTranslation
|
||||
ldr r0, =sub_81108CC
|
||||
str r0, [r6, 0x1C]
|
||||
adds r2, r6, 0
|
||||
|
@ -264,7 +264,7 @@ sub_81138D4: @ 81138D4
|
||||
movs r0, 0x7E
|
||||
strh r0, [r4, 0x2E]
|
||||
adds r0, r4, 0
|
||||
bl sub_80A6E14
|
||||
bl InitSpriteDataForLinearTranslation
|
||||
ldrh r0, [r4, 0x30]
|
||||
negs r0, r0
|
||||
strh r0, [r4, 0x34]
|
||||
@ -563,7 +563,7 @@ _08113B60:
|
||||
ldr r0, =0x0000fff4
|
||||
strh r0, [r4, 0x38]
|
||||
adds r0, r4, 0
|
||||
bl sub_80A68D4
|
||||
bl InitAnimArcTranslation
|
||||
ldr r0, =sub_8113B90
|
||||
str r0, [r4, 0x1C]
|
||||
pop {r4-r7}
|
||||
|
@ -144,7 +144,7 @@ _0811318E:
|
||||
ldr r0, =gBattleAnimArgs
|
||||
ldrh r0, [r0, 0x8]
|
||||
strh r0, [r5, 0x2E]
|
||||
ldr r0, =sub_80A6EEC
|
||||
ldr r0, =StartAnimLinearTranslation
|
||||
str r0, [r5, 0x1C]
|
||||
ldr r1, =move_anim_8074EE0
|
||||
adds r0, r5, 0
|
||||
|
@ -345,7 +345,7 @@ sub_810A46C: @ 810A46C
|
||||
push {r4-r6,lr}
|
||||
adds r4, r0, 0
|
||||
movs r1, 0x1
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
ldr r5, =gBattleAnimArgs
|
||||
ldrh r0, [r5, 0x6]
|
||||
strh r0, [r4, 0x2E]
|
||||
|
10
asm/fight.s
10
asm/fight.s
@ -104,7 +104,7 @@ sub_810CEE0: @ 810CEE0
|
||||
bne _0810CF04
|
||||
adds r0, r5, 0
|
||||
movs r1, 0x1
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
b _0810CF0C
|
||||
.pool
|
||||
_0810CF04:
|
||||
@ -378,7 +378,7 @@ _0810D142:
|
||||
ldrh r0, [r4, 0x22]
|
||||
subs r0, 0x14
|
||||
strh r0, [r4, 0x36]
|
||||
ldr r0, =sub_80A6EEC
|
||||
ldr r0, =StartAnimLinearTranslation
|
||||
str r0, [r4, 0x1C]
|
||||
ldr r1, =sub_810D164
|
||||
adds r0, r4, 0
|
||||
@ -417,7 +417,7 @@ sub_810D164: @ 810D164
|
||||
strh r1, [r5, 0x22]
|
||||
strh r6, [r5, 0x26]
|
||||
strh r6, [r5, 0x24]
|
||||
ldr r0, =sub_80A6EEC
|
||||
ldr r0, =StartAnimLinearTranslation
|
||||
str r0, [r5, 0x1C]
|
||||
ldr r1, =DestroyAnimSprite
|
||||
adds r0, r5, 0
|
||||
@ -618,7 +618,7 @@ sub_810D308: @ 810D308
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
strh r0, [r5, 0x36]
|
||||
ldr r0, =sub_80A6EEC
|
||||
ldr r0, =StartAnimLinearTranslation
|
||||
str r0, [r5, 0x1C]
|
||||
ldr r1, =sub_810D360
|
||||
adds r0, r5, 0
|
||||
@ -1460,7 +1460,7 @@ sub_810DA10: @ 810DA10
|
||||
bne _0810DA2C
|
||||
adds r0, r4, 0
|
||||
movs r1, 0
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
b _0810DA34
|
||||
.pool
|
||||
_0810DA2C:
|
||||
|
@ -347,7 +347,7 @@ sub_810916C: @ 810916C
|
||||
strh r1, [r0, 0x32]
|
||||
movs r1, 0x50
|
||||
strh r1, [r0, 0x36]
|
||||
ldr r1, =sub_80A6EEC
|
||||
ldr r1, =StartAnimLinearTranslation
|
||||
str r1, [r0, 0x1C]
|
||||
ldr r1, =DestroyAnimSprite
|
||||
bl StoreSpriteCallbackInData6
|
||||
@ -421,7 +421,7 @@ sub_810921C: @ 810921C
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
movs r1, 0x1
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
ldr r0, =gBattleAnimArgs
|
||||
ldrh r0, [r0, 0x4]
|
||||
movs r1, 0
|
||||
@ -613,7 +613,7 @@ sub_81093A4: @ 81093A4
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
movs r1, 0x1
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
ldr r1, =gBattleAnimArgs
|
||||
ldrh r0, [r1, 0x4]
|
||||
strh r0, [r4, 0x30]
|
||||
@ -1564,7 +1564,7 @@ _08109B12:
|
||||
_08109B18:
|
||||
adds r0, r5, 0
|
||||
movs r1, 0
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
ldr r4, =gBattleAnimArgs
|
||||
ldrb r1, [r4, 0x4]
|
||||
adds r0, r5, 0
|
||||
|
12
asm/flying.s
12
asm/flying.s
@ -199,7 +199,7 @@ sub_810DFA8: @ 810DFA8
|
||||
push {r4-r6,lr}
|
||||
adds r6, r0, 0
|
||||
movs r1, 0x1
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
ldr r0, =gBattleAnimAttacker
|
||||
ldrb r0, [r0]
|
||||
bl GetBattlerSide
|
||||
@ -359,7 +359,7 @@ _0810E0FE:
|
||||
ldrh r3, [r5, 0x36]
|
||||
adds r0, r3
|
||||
strh r0, [r5, 0x36]
|
||||
ldr r0, =sub_80A6EEC
|
||||
ldr r0, =StartAnimLinearTranslation
|
||||
str r0, [r5, 0x1C]
|
||||
ldr r1, =DestroyAnimSprite
|
||||
adds r0, r5, 0
|
||||
@ -378,7 +378,7 @@ sub_810E13C: @ 810E13C
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
movs r1, 0x1
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
ldr r1, =gBattleAnimArgs
|
||||
ldrh r0, [r1, 0x4]
|
||||
strh r0, [r4, 0x2E]
|
||||
@ -1613,7 +1613,7 @@ sub_810EAA0: @ 810EAA0
|
||||
bne _0810EABC
|
||||
adds r0, r5, 0
|
||||
movs r1, 0
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
b _0810EAC4
|
||||
.pool
|
||||
_0810EABC:
|
||||
@ -1807,7 +1807,7 @@ sub_810EC34: @ 810EC34
|
||||
_0810EC46:
|
||||
adds r0, r4, 0
|
||||
movs r1, 0x1
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
movs r0, 0
|
||||
bl GetAnimBattlerSpriteId
|
||||
ldr r2, =gSprites
|
||||
@ -1927,7 +1927,7 @@ sub_810ED28: @ 810ED28
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
movs r1, 0x1
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
ldr r1, =gBattleAnimArgs
|
||||
ldrh r0, [r1, 0x4]
|
||||
strh r0, [r4, 0x2E]
|
||||
|
@ -10,7 +10,7 @@ sub_811160C: @ 811160C
|
||||
push {r4,r5,lr}
|
||||
adds r4, r0, 0
|
||||
movs r1, 0x1
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
ldr r0, =gBattleAnimArgs
|
||||
ldrh r0, [r0, 0x4]
|
||||
strh r0, [r4, 0x2E]
|
||||
@ -2441,7 +2441,7 @@ sub_81129F0: @ 81129F0
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
movs r1, 0x1
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
ldr r0, =gBattleAnimAttacker
|
||||
ldrb r0, [r0]
|
||||
bl GetBattlerSide
|
||||
|
12
asm/ground.s
12
asm/ground.s
@ -40,7 +40,7 @@ sub_8114994: @ 8114994
|
||||
ldr r0, =0x0000ffd8
|
||||
strh r0, [r4, 0x38]
|
||||
adds r0, r4, 0
|
||||
bl sub_80A68D4
|
||||
bl InitAnimArcTranslation
|
||||
ldr r0, =sub_81149FC
|
||||
str r0, [r4, 0x1C]
|
||||
pop {r4,r5}
|
||||
@ -86,7 +86,7 @@ sub_81149FC: @ 81149FC
|
||||
movs r0, 0x28
|
||||
strh r0, [r5, 0x38]
|
||||
adds r0, r5, 0
|
||||
bl sub_80A68D4
|
||||
bl InitAnimArcTranslation
|
||||
ldr r0, =sub_8114A60
|
||||
str r0, [r5, 0x1C]
|
||||
_08114A50:
|
||||
@ -149,7 +149,7 @@ _08114A9C:
|
||||
ldrh r4, [r4, 0x6]
|
||||
adds r0, r4
|
||||
strh r0, [r6, 0x36]
|
||||
ldr r0, =sub_80A6EEC
|
||||
ldr r0, =StartAnimLinearTranslation
|
||||
str r0, [r6, 0x1C]
|
||||
ldr r1, =DestroyAnimSprite
|
||||
adds r0, r6, 0
|
||||
@ -167,7 +167,7 @@ sub_8114AF0: @ 8114AF0
|
||||
push {r7}
|
||||
adds r6, r0, 0
|
||||
movs r1, 0x1
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
ldr r4, =gBattleAnimTarget
|
||||
ldrb r0, [r4]
|
||||
movs r1, 0x2
|
||||
@ -211,7 +211,7 @@ _08114B48:
|
||||
strh r0, [r6, 0x32]
|
||||
adds r0, r7, r4
|
||||
strh r0, [r6, 0x36]
|
||||
ldr r0, =sub_80A6EEC
|
||||
ldr r0, =StartAnimLinearTranslation
|
||||
str r0, [r6, 0x1C]
|
||||
ldr r1, =move_anim_8074EE0
|
||||
adds r0, r6, 0
|
||||
@ -1034,7 +1034,7 @@ _081151DA:
|
||||
ldrh r0, [r7, 0x8]
|
||||
strh r0, [r5, 0x38]
|
||||
adds r0, r5, 0
|
||||
bl sub_80A68D4
|
||||
bl InitAnimArcTranslation
|
||||
ldr r0, =sub_8115228
|
||||
str r0, [r5, 0x1C]
|
||||
pop {r4-r7}
|
||||
|
14
asm/ice.s
14
asm/ice.s
@ -370,7 +370,7 @@ sub_810B8EC: @ 810B8EC
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
movs r1, 0x1
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
ldr r0, =gBattleAnimTarget
|
||||
ldrb r0, [r0]
|
||||
movs r1, 0x2
|
||||
@ -413,7 +413,7 @@ _0810B936:
|
||||
ldr r1, =DestroyAnimSprite
|
||||
adds r0, r4, 0
|
||||
bl StoreSpriteCallbackInData6
|
||||
ldr r0, =sub_80A6EEC
|
||||
ldr r0, =StartAnimLinearTranslation
|
||||
str r0, [r4, 0x1C]
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
@ -513,7 +513,7 @@ sub_810BA24: @ 810BA24
|
||||
sub sp, 0x10
|
||||
adds r5, r0, 0
|
||||
movs r1, 0x1
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
ldr r6, =gBattleAnimArgs
|
||||
ldrh r0, [r6, 0x8]
|
||||
strh r0, [r5, 0x2E]
|
||||
@ -814,7 +814,7 @@ sub_810BC94: @ 810BC94
|
||||
sub sp, 0x10
|
||||
adds r5, r0, 0
|
||||
movs r1, 0x1
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
ldr r1, =gBattleAnimArgs
|
||||
ldrh r0, [r1, 0x8]
|
||||
strh r0, [r5, 0x2E]
|
||||
@ -1103,7 +1103,7 @@ sub_810BED0: @ 810BED0
|
||||
bne _0810BEF4
|
||||
adds r0, r5, 0
|
||||
movs r1, 0
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
b _0810BF32
|
||||
.pool
|
||||
_0810BEF4:
|
||||
@ -2762,7 +2762,7 @@ _0810CCA6:
|
||||
bl StartSpriteAffineAnim
|
||||
adds r0, r5, 0
|
||||
movs r1, 0x1
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
ldr r6, =gBattleAnimArgs
|
||||
ldrh r0, [r6, 0x8]
|
||||
strh r0, [r5, 0x2E]
|
||||
@ -2796,7 +2796,7 @@ _0810CCCE:
|
||||
ldrh r0, [r6, 0xA]
|
||||
strh r0, [r5, 0x38]
|
||||
adds r0, r5, 0
|
||||
bl sub_80A68D4
|
||||
bl InitAnimArcTranslation
|
||||
ldr r0, =sub_810CD1C
|
||||
str r0, [r5, 0x1C]
|
||||
pop {r4-r6}
|
||||
|
10
asm/normal.s
10
asm/normal.s
@ -1584,7 +1584,7 @@ sub_8116388: @ 8116388
|
||||
bne _081163AC
|
||||
adds r0, r5, 0
|
||||
movs r1, 0x1
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
b _081163B4
|
||||
.pool
|
||||
_081163AC:
|
||||
@ -1616,7 +1616,7 @@ sub_81163D0: @ 81163D0
|
||||
bne _081163F4
|
||||
adds r0, r5, 0
|
||||
movs r1, 0x1
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
b _081163FC
|
||||
.pool
|
||||
_081163F4:
|
||||
@ -1690,7 +1690,7 @@ _08116474:
|
||||
bne _08116494
|
||||
adds r0, r4, 0
|
||||
movs r1, 0
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
b _0811649C
|
||||
.pool
|
||||
_08116494:
|
||||
@ -1789,7 +1789,7 @@ sub_8116560: @ 8116560
|
||||
bne _0811657C
|
||||
adds r0, r4, 0
|
||||
movs r1, 0x1
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
b _08116584
|
||||
.pool
|
||||
_0811657C:
|
||||
@ -1824,7 +1824,7 @@ sub_81165A8: @ 81165A8
|
||||
bne _081165CC
|
||||
adds r0, r5, 0
|
||||
movs r1, 0x1
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
b _081165D4
|
||||
.pool
|
||||
_081165CC:
|
||||
|
12
asm/poison.s
12
asm/poison.s
@ -20,7 +20,7 @@ sub_810DBAC: @ 810DBAC
|
||||
_0810DBC2:
|
||||
adds r0, r5, 0
|
||||
movs r1, 0x1
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
ldrh r0, [r4, 0x4]
|
||||
strh r0, [r5, 0x2E]
|
||||
ldr r4, =gBattleAnimTarget
|
||||
@ -39,7 +39,7 @@ _0810DBC2:
|
||||
ldr r0, =0x0000ffe2
|
||||
strh r0, [r5, 0x38]
|
||||
adds r0, r5, 0
|
||||
bl sub_80A68D4
|
||||
bl InitAnimArcTranslation
|
||||
ldr r0, =sub_810DC10
|
||||
str r0, [r5, 0x1C]
|
||||
pop {r4,r5}
|
||||
@ -80,7 +80,7 @@ sub_810DC2C: @ 810DC2C
|
||||
_0810DC44:
|
||||
adds r0, r4, 0
|
||||
movs r1, 0x1
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
ldr r0, =gBattleAnimTarget
|
||||
ldrb r0, [r0]
|
||||
mov r6, sp
|
||||
@ -113,7 +113,7 @@ _0810DC72:
|
||||
ldr r0, =0x0000ffe2
|
||||
strh r0, [r4, 0x38]
|
||||
adds r0, r4, 0
|
||||
bl sub_80A68D4
|
||||
bl InitAnimArcTranslation
|
||||
ldr r0, =sub_810DCB4
|
||||
str r0, [r4, 0x1C]
|
||||
add sp, 0x4
|
||||
@ -157,7 +157,7 @@ sub_810DCD0: @ 810DCD0
|
||||
adds r0, r1
|
||||
strh r0, [r4, 0x36]
|
||||
adds r0, r4, 0
|
||||
bl sub_80A6E14
|
||||
bl InitSpriteDataForLinearTranslation
|
||||
movs r1, 0x30
|
||||
ldrsh r0, [r4, r1]
|
||||
movs r2, 0x4
|
||||
@ -242,7 +242,7 @@ _0810DD7C:
|
||||
strh r2, [r4, 0x32]
|
||||
adds r1, r3
|
||||
strh r1, [r4, 0x36]
|
||||
ldr r0, =sub_80A6EEC
|
||||
ldr r0, =StartAnimLinearTranslation
|
||||
str r0, [r4, 0x1C]
|
||||
ldr r1, =DestroyAnimSprite
|
||||
adds r0, r4, 0
|
||||
|
@ -514,7 +514,7 @@ _0810F5EE:
|
||||
bne _0810F608
|
||||
adds r0, r4, 0
|
||||
adds r1, r6, 0
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
b _0810F610
|
||||
.pool
|
||||
_0810F608:
|
||||
@ -1449,7 +1449,7 @@ _0810FD60:
|
||||
ldrh r0, [r5, 0x1C]
|
||||
strh r0, [r4, 0x38]
|
||||
adds r0, r4, 0
|
||||
bl sub_80A68D4
|
||||
bl InitAnimArcTranslation
|
||||
ldrb r0, [r5, 0xC]
|
||||
movs r1, 0x3
|
||||
ands r1, r0
|
||||
|
1469
asm/rock.s
1469
asm/rock.s
File diff suppressed because it is too large
Load Diff
18
asm/water.s
18
asm/water.s
@ -343,7 +343,7 @@ sub_810744C: @ 810744C
|
||||
push {r4-r7,lr}
|
||||
adds r5, r0, 0
|
||||
movs r1, 0x1
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
ldr r0, =gBattleAnimAttacker
|
||||
ldrb r0, [r0]
|
||||
bl GetBattlerSide
|
||||
@ -538,7 +538,7 @@ sub_81075EC: @ 81075EC
|
||||
push {r4,r5,lr}
|
||||
adds r5, r0, 0
|
||||
movs r1, 0x1
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
movs r0, 0x1E
|
||||
strh r0, [r5, 0x2E]
|
||||
ldrh r0, [r5, 0x20]
|
||||
@ -819,7 +819,7 @@ _0810781E:
|
||||
movs r7, 0x3
|
||||
_08107828:
|
||||
adds r0, r6, 0
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
ldr r0, =gBattleAnimAttacker
|
||||
ldrb r0, [r0]
|
||||
bl GetBattlerSide
|
||||
@ -849,7 +849,7 @@ _08107842:
|
||||
ldrh r5, [r5, 0x6]
|
||||
adds r0, r5
|
||||
strh r0, [r6, 0x36]
|
||||
ldr r0, =sub_80A6EEC
|
||||
ldr r0, =StartAnimLinearTranslation
|
||||
str r0, [r6, 0x1C]
|
||||
ldr r1, =DestroyAnimSprite
|
||||
adds r0, r6, 0
|
||||
@ -876,7 +876,7 @@ sub_8107894: @ 8107894
|
||||
ldrh r0, [r4, 0x22]
|
||||
adds r1, r0
|
||||
strh r1, [r4, 0x36]
|
||||
ldr r0, =sub_80A6EEC
|
||||
ldr r0, =StartAnimLinearTranslation
|
||||
str r0, [r4, 0x1C]
|
||||
ldr r1, =DestroyAnimSprite
|
||||
adds r0, r4, 0
|
||||
@ -904,7 +904,7 @@ sub_81078D0: @ 81078D0
|
||||
_081078EC:
|
||||
adds r0, r4, 0
|
||||
movs r1, 0x1
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
_081078F4:
|
||||
ldr r0, =gBattleAnimArgs
|
||||
ldrh r0, [r0, 0x4]
|
||||
@ -3137,7 +3137,7 @@ sub_8108AC0: @ 8108AC0
|
||||
strh r1, [r0, 0x36]
|
||||
ldrh r1, [r6, 0x1A]
|
||||
strh r1, [r0, 0x38]
|
||||
bl sub_80A68D4
|
||||
bl InitAnimArcTranslation
|
||||
adds r5, 0x1C
|
||||
adds r4, r5
|
||||
ldr r0, =sub_8108B2C
|
||||
@ -3191,7 +3191,7 @@ sub_8108B2C: @ 8108B2C
|
||||
mvns r1, r1
|
||||
strh r1, [r6, 0x38]
|
||||
adds r0, r6, 0
|
||||
bl sub_80A68D4
|
||||
bl InitAnimArcTranslation
|
||||
ldr r0, =sub_8108B94
|
||||
str r0, [r6, 0x1C]
|
||||
_08108B86:
|
||||
@ -3339,7 +3339,7 @@ sub_8108C94: @ 8108C94
|
||||
push {r4,r5,lr}
|
||||
adds r4, r0, 0
|
||||
movs r1, 0x1
|
||||
bl sub_80A69CC
|
||||
bl InitAnimSpritePos
|
||||
ldr r5, =gBattleAnimTarget
|
||||
ldrb r0, [r5]
|
||||
movs r1, 0x2
|
||||
|
@ -73,9 +73,17 @@ void HandleIntroSlide(u8 terrainId);
|
||||
u32 GetAnimBgAttribute(u8 bgId, u8 attributeId);
|
||||
|
||||
// battle_anim_80A5C6C.s
|
||||
void sub_80A6EEC(struct Sprite *sprite);
|
||||
void sub_80A68D4(struct Sprite *sprite);
|
||||
void sub_80A6450(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);
|
||||
void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite);
|
||||
void sub_80A8EE4(struct Sprite *sprite);
|
||||
void sub_80A8278(void);
|
||||
void sub_80A6B30(struct UnknownAnimStruct2*);
|
||||
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_80A7344(u8 spriteId);
|
||||
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_80A73A0(u8 spriteId);
|
||||
u32 sub_80A75AC(u8 a1, u8 a2, u8 a3, u8 a4, u8 a5, u8 a6, u8 a7);
|
||||
|
@ -4732,4 +4732,7 @@ extern const u32 gUnknown_08D927EC[];
|
||||
|
||||
extern const u32 gSlotMachineReelTime_Gfx[];
|
||||
|
||||
extern const u32 gUnknown_08D8D410[];
|
||||
extern const u32 gUnknown_08D8D58C[];
|
||||
|
||||
#endif //GUARD_GRAPHICS_H
|
||||
|
@ -167,7 +167,7 @@ SECTIONS {
|
||||
asm/flying.o(.text);
|
||||
asm/psychic.o(.text);
|
||||
asm/bug.o(.text);
|
||||
asm/rock.o(.text);
|
||||
src/rock.o(.text);
|
||||
asm/ghost.o(.text);
|
||||
asm/dragon.o(.text);
|
||||
asm/dark.o(.text);
|
||||
|
@ -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[3] = sprite->pos1.y;
|
||||
@ -791,7 +791,7 @@ void sub_80A6980(struct Sprite *sprite, bool8 a2)
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
}
|
||||
|
||||
void sub_80A69CC(struct Sprite *sprite, u8 a2)
|
||||
void InitAnimSpritePos(struct Sprite *sprite, u8 a2)
|
||||
{
|
||||
if (!a2)
|
||||
{
|
||||
@ -1004,12 +1004,12 @@ void sub_80A6DEC(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sub_80A6E14(sprite);
|
||||
InitSpriteDataForLinearTranslation(sprite);
|
||||
sprite->callback = sub_80A65A8;
|
||||
sprite->callback(sprite);
|
||||
}
|
||||
|
||||
void sub_80A6E14(struct Sprite *sprite)
|
||||
void InitSpriteDataForLinearTranslation(struct Sprite *sprite)
|
||||
{
|
||||
s16 x = (sprite->data[2] - sprite->data[1]) << 8;
|
||||
s16 y = (sprite->data[4] - sprite->data[3]) << 8;
|
||||
@ -1047,7 +1047,7 @@ void InitAnimLinearTranslation(struct Sprite *sprite)
|
||||
sprite->data[3] = 0;
|
||||
}
|
||||
|
||||
void sub_80A6EEC(struct Sprite *sprite)
|
||||
void StartAnimLinearTranslation(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
@ -1476,7 +1476,7 @@ void sub_80A77C8(struct Sprite *sprite)
|
||||
else
|
||||
var = FALSE;
|
||||
if (!gBattleAnimArgs[2])
|
||||
sub_80A69CC(sprite, var);
|
||||
InitAnimSpritePos(sprite, var);
|
||||
else
|
||||
sub_80A6980(sprite, var);
|
||||
sprite->data[0]++;
|
||||
@ -1511,27 +1511,27 @@ void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite)
|
||||
else
|
||||
attributeId = BATTLER_COORD_Y;
|
||||
|
||||
sub_80A69CC(sprite, v1);
|
||||
InitAnimSpritePos(sprite, v1);
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
|
||||
|
||||
sprite->data[0] = gBattleAnimArgs[4];
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[2];
|
||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, attributeId) + gBattleAnimArgs[3];
|
||||
sprite->callback = sub_80A6EEC;
|
||||
sprite->callback = StartAnimLinearTranslation;
|
||||
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
|
||||
}
|
||||
|
||||
void sub_80A78AC(struct Sprite *sprite)
|
||||
{
|
||||
sub_80A69CC(sprite, 1);
|
||||
InitAnimSpritePos(sprite, 1);
|
||||
if (GetBattlerSide(gBattleAnimAttacker))
|
||||
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
|
||||
sprite->data[0] = gBattleAnimArgs[4];
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[2];
|
||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3];
|
||||
sprite->data[5] = gBattleAnimArgs[5];
|
||||
sub_80A68D4(sprite);
|
||||
InitAnimArcTranslation(sprite);
|
||||
sprite->callback = sub_80A791C;
|
||||
}
|
||||
|
||||
@ -1558,7 +1558,7 @@ void sub_80A7938(struct Sprite *sprite)
|
||||
}
|
||||
if (!gBattleAnimArgs[5])
|
||||
{
|
||||
sub_80A69CC(sprite, r4);
|
||||
InitAnimSpritePos(sprite, r4);
|
||||
battlerId = gBattleAnimAttacker;
|
||||
}
|
||||
else
|
||||
@ -1572,7 +1572,7 @@ void sub_80A7938(struct Sprite *sprite)
|
||||
sprite->data[0] = gBattleAnimArgs[4];
|
||||
sprite->data[2] = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2) + gBattleAnimArgs[2];
|
||||
sprite->data[4] = GetBattlerSpriteCoord(battlerId, attributeId) + gBattleAnimArgs[3];
|
||||
sprite->callback = sub_80A6EEC;
|
||||
sprite->callback = StartAnimLinearTranslation;
|
||||
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
|
||||
}
|
||||
|
||||
@ -2454,6 +2454,6 @@ void sub_80A8EE4(struct Sprite *sprite)
|
||||
sprite->pos1.x += x;
|
||||
sprite->pos1.y = gBattleAnimArgs[5] - 80;
|
||||
}
|
||||
sprite->callback = sub_80A6EEC;
|
||||
sprite->callback = StartAnimLinearTranslation;
|
||||
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
|
||||
}
|
||||
|
@ -442,7 +442,7 @@ void SlideMonToOriginalPos(struct Sprite *sprite)
|
||||
sprite->data[2] = gSprites[monSpriteId].pos1.x;
|
||||
sprite->data[3] = gSprites[monSpriteId].pos1.y + gSprites[monSpriteId].pos2.y;
|
||||
sprite->data[4] = gSprites[monSpriteId].pos1.y;
|
||||
sub_80A6E14(sprite);
|
||||
InitSpriteDataForLinearTranslation(sprite);
|
||||
sprite->data[3] = 0;
|
||||
sprite->data[4] = 0;
|
||||
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[3] = gSprites[monSpriteId].pos1.y;
|
||||
sprite->data[4] = gSprites[monSpriteId].pos1.y + gBattleAnimArgs[2];
|
||||
sub_80A6E14(sprite);
|
||||
InitSpriteDataForLinearTranslation(sprite);
|
||||
sprite->data[3] = 0;
|
||||
sprite->data[4] = 0;
|
||||
sprite->data[5] = monSpriteId;
|
||||
@ -556,7 +556,7 @@ void sub_80D5B48(struct Sprite *sprite)
|
||||
sprite->data[2] = sprite->data[1] + gBattleAnimArgs[1];
|
||||
sprite->data[3] = gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y;
|
||||
sprite->data[4] = sprite->data[3] + gBattleAnimArgs[2];
|
||||
sub_80A6E14(sprite);
|
||||
InitSpriteDataForLinearTranslation(sprite);
|
||||
sprite->data[3] = gSprites[spriteId].pos2.x << 8;
|
||||
sprite->data[4] = gSprites[spriteId].pos2.y << 8;
|
||||
sprite->data[5] = spriteId;
|
||||
|
@ -1344,7 +1344,7 @@ static void LinkOpponentHandleTrainerSlideBack(void)
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280;
|
||||
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);
|
||||
gBattlerControllerFuncs[gActiveBattler] = sub_8064470;
|
||||
}
|
||||
@ -1706,7 +1706,7 @@ static void LinkOpponentHandleIntroTrainerBallThrow(void)
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280;
|
||||
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);
|
||||
|
||||
|
@ -1166,7 +1166,7 @@ static void LinkPartnerHandleTrainerSlideBack(void)
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
|
||||
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);
|
||||
gBattlerControllerFuncs[gActiveBattler] = sub_814AF54;
|
||||
}
|
||||
@ -1532,7 +1532,7 @@ static void LinkPartnerHandleIntroTrainerBallThrow(void)
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
|
||||
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;
|
||||
|
||||
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_805CC00);
|
||||
|
@ -1381,7 +1381,7 @@ static void OpponentHandleTrainerSlideBack(void)
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280;
|
||||
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);
|
||||
gBattlerControllerFuncs[gActiveBattler] = sub_805F240;
|
||||
}
|
||||
@ -1855,7 +1855,7 @@ static void OpponentHandleIntroTrainerBallThrow(void)
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280;
|
||||
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);
|
||||
|
||||
|
@ -2385,7 +2385,7 @@ static void PlayerHandleTrainerSlideBack(void)
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
|
||||
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);
|
||||
StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 1);
|
||||
gBattlerControllerFuncs[gActiveBattler] = sub_80588B4;
|
||||
@ -2930,7 +2930,7 @@ static void PlayerHandleIntroTrainerBallThrow(void)
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
|
||||
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;
|
||||
|
||||
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_805CC00);
|
||||
|
@ -1361,7 +1361,7 @@ static void PlayerPartnerHandleTrainerSlideBack(void)
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
|
||||
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);
|
||||
gBattlerControllerFuncs[gActiveBattler] = sub_81BAE98;
|
||||
}
|
||||
@ -1785,7 +1785,7 @@ static void PlayerPartnerHandleIntroTrainerBallThrow(void)
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
|
||||
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;
|
||||
|
||||
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_805CC00);
|
||||
|
@ -1275,7 +1275,7 @@ static void RecordedOpponentHandleTrainerSlideBack(void)
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280;
|
||||
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);
|
||||
gBattlerControllerFuncs[gActiveBattler] = sub_81865C8;
|
||||
}
|
||||
@ -1649,7 +1649,7 @@ static void RecordedOpponentHandleIntroTrainerBallThrow(void)
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280;
|
||||
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);
|
||||
|
||||
|
@ -1276,7 +1276,7 @@ static void RecordedPlayerHandleTrainerSlideBack(void)
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
|
||||
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);
|
||||
gBattlerControllerFuncs[gActiveBattler] = sub_81899F0;
|
||||
}
|
||||
@ -1671,7 +1671,7 @@ static void RecordedPlayerHandleIntroTrainerBallThrow(void)
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
|
||||
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;
|
||||
|
||||
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_805CC00);
|
||||
|
@ -1435,7 +1435,7 @@ static void WallyHandleIntroTrainerBallThrow(void)
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
|
||||
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;
|
||||
|
||||
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_805CC00);
|
||||
|
@ -13,7 +13,7 @@ extern void sub_80FED28(struct Sprite *);
|
||||
extern void sub_80FEE78(struct Sprite *);
|
||||
extern void sub_80FEF44(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_80FF374(struct Sprite *);
|
||||
extern void sub_80FF698(struct Sprite *);
|
||||
@ -437,7 +437,7 @@ const struct SpriteTemplate gUnknown_085923A8 =
|
||||
.anims = gUnknown_08592388,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = sub_80FF268,
|
||||
.callback = AnimMoveTwisterParticle,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_085923C0[] =
|
||||
|
@ -402,7 +402,7 @@ static void Task_DoPokeballSendOutAnim(u8 taskId)
|
||||
gSprites[ballSpriteId].data[2] = GetBattlerSpriteCoord(gBattlerTarget, BATTLER_COORD_X);
|
||||
gSprites[ballSpriteId].data[4] = GetBattlerSpriteCoord(gBattlerTarget, BATTLER_COORD_Y) - 16;
|
||||
gSprites[ballSpriteId].data[5] = -40;
|
||||
sub_80A68D4(&gSprites[ballSpriteId]);
|
||||
InitAnimArcTranslation(&gSprites[ballSpriteId]);
|
||||
gSprites[ballSpriteId].oam.affineParam = taskId;
|
||||
gTasks[taskId].tOpponentBattler = gBattlerTarget;
|
||||
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[5] = -30;
|
||||
sprite->oam.affineParam = sprite->sBattler;
|
||||
sub_80A68D4(sprite);
|
||||
InitAnimArcTranslation(sprite);
|
||||
sprite->callback = SpriteCB_PlayerMonSendOut_2;
|
||||
}
|
||||
|
||||
|
615
src/rock.c
615
src/rock.c
@ -1,22 +1,37 @@
|
||||
#include "global.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"
|
||||
|
||||
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 *);
|
||||
#include "constants/songs.h"
|
||||
|
||||
extern const union AnimCmd *const gUnknown_085950E0[];
|
||||
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[] =
|
||||
{
|
||||
ANIMCMD_FRAME(32, 1),
|
||||
@ -118,7 +133,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8596BA0 =
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = sub_8110E4C,
|
||||
.callback = AnimDirtParticleAcrossScreen,
|
||||
};
|
||||
|
||||
const struct Subsprite gUnknown_08596BB8[] =
|
||||
@ -194,7 +209,7 @@ const struct SpriteTemplate gUnknown_08596C10 =
|
||||
.anims = gUnknown_08596BF8,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = sub_8110F30,
|
||||
.callback = AnimRaiseSprite,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_08596C28 =
|
||||
@ -278,7 +293,7 @@ const struct SpriteTemplate gUnknown_08596CC8 =
|
||||
.anims = gUnknown_08596C08,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_08596C90,
|
||||
.callback = sub_80FF268,
|
||||
.callback = AnimMoveTwisterParticle,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_08596CE0 =
|
||||
@ -291,3 +306,573 @@ const struct SpriteTemplate gUnknown_08596CE0 =
|
||||
.affineAnims = gUnknown_08596C90,
|
||||
.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);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user