start decompiling pokemon animation

This commit is contained in:
DizzyEggg
2018-01-22 21:32:50 +01:00
parent f57340b729
commit ad73f92061
6 changed files with 1020 additions and 738 deletions
-538
View File
@@ -4,547 +4,9 @@
.syntax unified
.text
thumb_func_start nullsub_69
nullsub_69: @ 817F3EC
bx lr
thumb_func_end nullsub_69
thumb_func_start sub_817F3F0
sub_817F3F0: @ 817F3F0
push {r4-r6,lr}
mov r6, r9
mov r5, r8
push {r5,r6}
sub sp, 0x4
mov r9, r0
mov r8, r1
adds r5, r2, 0
adds r4, r3, 0
lsls r5, 16
negs r5, r5
lsls r4, 16
negs r4, r4
lsrs r4, 16
mov r0, r8
lsls r0, 16
asrs r0, 16
mov r8, r0
asrs r5, 16
adds r1, r5, 0
bl Cos
adds r6, r0, 0
lsls r4, 16
asrs r4, 16
mov r0, r8
adds r1, r4, 0
bl Sin
subs r6, r0
lsls r6, 16
lsrs r6, 16
mov r0, r8
adds r1, r4, 0
bl Cos
adds r2, r0, 0
mov r0, r8
adds r1, r5, 0
str r2, [sp]
bl Sin
ldr r2, [sp]
adds r2, r0
negs r5, r5
negs r4, r4
lsls r6, 16
asrs r6, 16
lsls r5, 16
asrs r5, 16
adds r6, r5
mov r0, r9
strh r6, [r0, 0x24]
lsls r2, 16
asrs r2, 16
lsls r4, 16
asrs r4, 16
adds r2, r4
strh r2, [r0, 0x26]
add sp, 0x4
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r6}
pop {r0}
bx r0
thumb_func_end sub_817F3F0
thumb_func_start GetSpeciesBackAnimId
GetSpeciesBackAnimId: @ 817F474
push {lr}
lsls r0, 16
lsrs r0, 16
ldr r1, =gUnknown_0860A8C8
adds r0, r1
ldrb r0, [r0]
cmp r0, 0
bne _0817F48C
movs r0, 0
b _0817F492
.pool
_0817F48C:
subs r0, 0x1
lsls r0, 24
lsrs r0, 24
_0817F492:
pop {r1}
bx r1
thumb_func_end GetSpeciesBackAnimId
thumb_func_start sub_817F498
sub_817F498: @ 817F498
push {r4-r7,lr}
mov r7, r8
push {r7}
lsls r0, 24
lsrs r5, r0, 24
ldr r1, =gTasks
lsls r6, r5, 2
adds r0, r6, r5
lsls r0, 3
adds r2, r0, r1
movs r3, 0xA
ldrsh r0, [r2, r3]
lsls r3, r0, 16
movs r4, 0xC
ldrsh r0, [r2, r4]
orrs r3, r0
movs r0, 0x8
ldrsh r4, [r2, r0]
mov r8, r1
ldr r0, =SpriteCallbackDummy
mov r12, r0
cmp r4, 0
bne _0817F508
ldrh r0, [r3, 0x2E]
strh r0, [r2, 0x10]
ldrh r0, [r3, 0x32]
strh r0, [r2, 0x12]
movs r0, 0x1
strh r0, [r3, 0x30]
strh r4, [r3, 0x2E]
movs r0, 0x2
adds r1, r6, 0
ldr r6, =gUnknown_0860AA88
ldr r7, =gUnknown_03001274
movs r4, 0
adds r2, r3, 0
adds r2, 0x32
_0817F4E2:
strh r4, [r2]
adds r2, 0x2
adds r0, 0x1
cmp r0, 0x7
bls _0817F4E2
adds r1, r5
lsls r1, 3
add r1, r8
movs r2, 0xE
ldrsh r0, [r1, r2]
lsls r0, 2
adds r0, r6
ldr r0, [r0]
str r0, [r3, 0x1C]
movs r0, 0
str r0, [r7]
ldrh r0, [r1, 0x8]
adds r0, 0x1
strh r0, [r1, 0x8]
_0817F508:
ldr r0, [r3, 0x1C]
cmp r0, r12
bne _0817F528
lsls r0, r5, 2
adds r0, r5
lsls r0, 3
add r0, r8
ldrh r1, [r0, 0x10]
movs r2, 0
strh r1, [r3, 0x2E]
ldrh r0, [r0, 0x12]
strh r0, [r3, 0x32]
strh r2, [r3, 0x30]
adds r0, r5, 0
bl DestroyTask
_0817F528:
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
.pool
thumb_func_end sub_817F498
thumb_func_start LaunchAnimationTaskForFrontSprite
LaunchAnimationTaskForFrontSprite: @ 817F544
push {r4,r5,lr}
adds r5, r0, 0
lsls r4, r1, 24
lsrs r4, 24
ldr r0, =sub_817F498
movs r1, 0x80
bl CreateTask
lsls r0, 24
lsrs r0, 24
ldr r2, =gTasks
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r1, r2
lsrs r0, r5, 16
strh r0, [r1, 0xA]
strh r5, [r1, 0xC]
strh r4, [r1, 0xE]
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end LaunchAnimationTaskForFrontSprite
thumb_func_start sub_817F578
sub_817F578: @ 817F578
lsls r1, 24
ldr r3, =gUnknown_03001274
movs r2, 0x1
str r2, [r3]
ldr r2, =gUnknown_0860AA88
lsrs r1, 22
adds r1, r2
ldr r1, [r1]
str r1, [r0, 0x1C]
bx lr
.pool
thumb_func_end sub_817F578
thumb_func_start LaunchAnimationTaskForBackSprite
LaunchAnimationTaskForBackSprite: @ 817F594
push {r4-r6,lr}
adds r5, r0, 0
lsls r6, r1, 24
lsrs r6, 24
ldr r0, =sub_817F498
movs r1, 0x80
bl CreateTask
lsls r0, 24
lsrs r0, 24
ldr r1, =gTasks
lsls r4, r0, 2
adds r4, r0
lsls r4, 3
adds r4, r1
lsrs r0, r5, 16
strh r0, [r4, 0xA]
strh r5, [r4, 0xC]
ldrh r0, [r5, 0x2E]
lsls r0, 24
ldr r1, =gBattlePartyID
lsrs r0, 23
adds r0, r1
ldrh r1, [r0]
movs r0, 0x64
muls r0, r1
ldr r1, =gPlayerParty
adds r0, r1
bl GetNature
lsls r0, 24
lsrs r0, 24
lsls r1, r6, 1
ldr r2, =gUnknown_0860AD2F
adds r0, r2
adds r1, r6
ldrb r0, [r0]
adds r1, r0
lsls r1, 24
lsrs r1, 24
ldr r0, =gUnknown_0860ACE4
adds r1, r0
ldrb r0, [r1]
strh r0, [r4, 0xE]
pop {r4-r6}
pop {r0}
bx r0
.pool
thumb_func_end LaunchAnimationTaskForBackSprite
thumb_func_start sub_817F60C
sub_817F60C: @ 817F60C
ldr r1, =nullsub_69
str r1, [r0, 0x1C]
bx lr
.pool
thumb_func_end sub_817F60C
thumb_func_start sub_817F618
sub_817F618: @ 817F618
push {r4,r5,lr}
sub sp, 0x10
lsls r1, 16
lsls r3, 16
lsrs r3, 16
ldr r4, =0xffff0000
lsls r2, 16
lsrs r1, 16
orrs r1, r2
str r1, [sp]
ldr r1, [sp, 0x4]
ands r1, r4
orrs r1, r3
str r1, [sp, 0x4]
ldrb r4, [r0, 0x3]
lsls r4, 26
lsrs r4, 27
add r5, sp, 0x8
mov r0, sp
adds r1, r5, 0
movs r2, 0x1
movs r3, 0x2
bl ObjAffineSet
ldr r0, =gOamMatrices
lsls r4, 3
adds r4, r0
ldrh r0, [r5]
strh r0, [r4]
ldrh r0, [r5, 0x2]
strh r0, [r4, 0x2]
ldrh r0, [r5, 0x4]
strh r0, [r4, 0x4]
ldrh r0, [r5, 0x6]
strh r0, [r4, 0x6]
add sp, 0x10
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end sub_817F618
thumb_func_start sub_817F670
sub_817F670: @ 817F670
push {r4,lr}
adds r4, r0, 0
ldrb r0, [r4, 0x1]
movs r1, 0x3
orrs r0, r1
strb r0, [r4, 0x1]
ldr r0, =gSpriteAffineAnimTable_860AD68
str r0, [r4, 0x10]
ldr r0, =gUnknown_03001274
ldr r0, [r0]
cmp r0, 0x1
bne _0817F68E
adds r0, r4, 0
bl InitSpriteAffineAnim
_0817F68E:
movs r1, 0x30
ldrsh r0, [r4, r1]
cmp r0, 0
bne _0817F6A8
adds r0, r4, 0
movs r1, 0x1
bl StartSpriteAffineAnim
b _0817F6B0
.pool
_0817F6A8:
adds r0, r4, 0
movs r1, 0
bl StartSpriteAffineAnim
_0817F6B0:
ldrb r3, [r4, 0x1]
lsrs r1, r3, 6
ldrb r2, [r4, 0x3]
lsrs r2, 6
lsls r3, 30
lsrs r3, 30
adds r0, r4, 0
bl CalcCenterToCornerVec
adds r2, r4, 0
adds r2, 0x2C
ldrb r0, [r2]
movs r1, 0x80
orrs r0, r1
strb r0, [r2]
pop {r4}
pop {r0}
bx r0
thumb_func_end sub_817F670
thumb_func_start sub_817F6D4
sub_817F6D4: @ 817F6D4
push {r4,r5,lr}
adds r4, r0, 0
lsls r1, 16
lsrs r1, 16
lsls r2, 16
lsrs r2, 16
lsls r3, 16
lsrs r3, 16
movs r5, 0x30
ldrsh r0, [r4, r5]
cmp r0, 0
bne _0817F6F8
lsls r0, r1, 16
negs r0, r0
lsrs r1, r0, 16
negs r0, r3
lsls r0, 16
lsrs r3, r0, 16
_0817F6F8:
lsls r1, 16
asrs r1, 16
lsls r2, 16
asrs r2, 16
adds r0, r4, 0
bl sub_817F618
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_817F6D4
thumb_func_start sub_817F70C
sub_817F70C: @ 817F70C
push {lr}
adds r1, r0, 0
movs r2, 0x30
ldrsh r0, [r1, r2]
cmp r0, 0
bne _0817F720
movs r2, 0x24
ldrsh r0, [r1, r2]
negs r0, r0
strh r0, [r1, 0x24]
_0817F720:
pop {r0}
bx r0
thumb_func_end sub_817F70C
thumb_func_start sub_817F724
sub_817F724: @ 817F724
push {lr}
lsls r0, 24
lsrs r2, r0, 24
cmp r2, 0x3
bhi _0817F750
ldr r1, =gUnknown_03001240
lsls r0, r2, 1
adds r0, r2
lsls r0, 2
adds r0, r1
movs r2, 0
strh r2, [r0, 0x6]
strh r2, [r0]
movs r1, 0x1
strh r1, [r0, 0x4]
strh r2, [r0, 0x2]
strh r2, [r0, 0x8]
movs r0, 0x1
b _0817F752
.pool
_0817F750:
movs r0, 0
_0817F752:
pop {r1}
bx r1
thumb_func_end sub_817F724
thumb_func_start sub_817F758
sub_817F758: @ 817F758
push {r4,lr}
ldr r4, =gUnknown_03001270
ldrb r1, [r4]
adds r2, r1, 0x1
adds r0, r2, 0
asrs r0, 2
lsls r0, 2
subs r0, r2, r0
strb r0, [r4]
ldrb r0, [r4]
bl sub_817F724
ldrb r0, [r4]
pop {r4}
pop {r1}
bx r1
.pool
thumb_func_end sub_817F758
thumb_func_start sub_817F77C
sub_817F77C: @ 817F77C
push {r4,r5,lr}
adds r4, r0, 0
ldrb r0, [r4, 0x1]
movs r3, 0x4
negs r3, r3
ands r3, r0
movs r5, 0x1
orrs r3, r5
strb r3, [r4, 0x1]
lsrs r1, r3, 6
ldrb r2, [r4, 0x3]
lsrs r2, 6
lsls r3, 30
lsrs r3, 30
adds r0, r4, 0
bl CalcCenterToCornerVec
ldr r0, =gUnknown_03001274
ldr r0, [r0]
cmp r0, 0x1
bne _0817F800
movs r1, 0x30
ldrsh r0, [r4, r1]
cmp r0, 0
bne _0817F7C0
adds r1, r4, 0
adds r1, 0x3F
ldrb r0, [r1]
orrs r0, r5
strb r0, [r1]
adds r5, r1, 0
b _0817F7D0
.pool
_0817F7C0:
adds r0, r4, 0
adds r0, 0x3F
ldrb r2, [r0]
movs r1, 0x2
negs r1, r1
ands r1, r2
strb r1, [r0]
adds r5, r0, 0
_0817F7D0:
ldrb r0, [r4, 0x3]
lsls r0, 26
lsrs r0, 27
bl FreeOamMatrix
ldrb r2, [r4, 0x3]
lsls r1, r2, 26
lsrs r1, 27
ldrb r0, [r5]
lsls r0, 31
lsrs r0, 31
lsls r0, 3
orrs r1, r0
lsls r1, 1
movs r0, 0x3F
negs r0, r0
ands r0, r2
orrs r0, r1
strb r0, [r4, 0x3]
ldrb r1, [r4, 0x1]
movs r0, 0x4
negs r0, r0
ands r0, r1
strb r0, [r4, 0x1]
_0817F800:
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_817F77C
thumb_func_start pokemonanimfunc_01
pokemonanimfunc_01: @ 817F808