1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
|
.include "constants/gba_constants.inc"
.include "asm/macros.inc"
.syntax unified
.text
thumb_func_start sub_80D2D68
sub_80D2D68: @ 80D2D68
push {r4-r7,lr}
adds r5, r0, 0
ldr r0, _080D2D7C @ =gBattleAnimArgs
movs r1, 0
ldrsh r0, [r0, r1]
cmp r0, 0
bne _080D2D84
ldr r0, _080D2D80 @ =gBattleAnimBankAttacker
b _080D2D86
.align 2, 0
_080D2D7C: .4byte gBattleAnimArgs
_080D2D80: .4byte gBattleAnimBankAttacker
_080D2D84:
ldr r0, _080D2E1C @ =gBattleAnimBankTarget
_080D2D86:
ldrb r6, [r0]
adds r0, r6, 0
bl GetBankSide
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _080D2DA0
ldr r1, _080D2E20 @ =gBattleAnimArgs
movs r2, 0x2
ldrsh r0, [r1, r2]
negs r0, r0
strh r0, [r1, 0x2]
_080D2DA0:
adds r0, r6, 0
movs r1, 0x2
bl sub_8077ABC
lsls r0, 24
ldr r7, _080D2E20 @ =gBattleAnimArgs
lsrs r0, 24
ldrh r3, [r7, 0x2]
adds r0, r3
movs r4, 0
strh r0, [r5, 0x20]
adds r0, r6, 0
movs r1, 0x3
bl sub_8077ABC
lsls r0, 24
lsrs r0, 24
ldrh r1, [r7, 0x4]
adds r0, r1
strh r0, [r5, 0x22]
strh r4, [r5, 0x2E]
ldrh r1, [r5, 0x20]
lsls r1, 3
strh r1, [r5, 0x30]
lsls r0, 3
strh r0, [r5, 0x32]
movs r2, 0x2
ldrsh r0, [r7, r2]
lsls r0, 3
cmp r0, 0
bge _080D2DE0
adds r0, 0x7
_080D2DE0:
asrs r0, 3
strh r0, [r5, 0x34]
movs r3, 0x4
ldrsh r0, [r7, r3]
lsls r0, 3
cmp r0, 0
bge _080D2DF0
adds r0, 0x7
_080D2DF0:
asrs r0, 3
strh r0, [r5, 0x36]
ldrh r2, [r5, 0x4]
lsls r1, r2, 22
lsrs r1, 22
movs r3, 0x6
ldrsh r0, [r7, r3]
lsls r0, 4
adds r1, r0
ldr r3, _080D2E24 @ =0x000003ff
adds r0, r3, 0
ands r1, r0
ldr r0, _080D2E28 @ =0xfffffc00
ands r0, r2
orrs r0, r1
strh r0, [r5, 0x4]
ldr r0, _080D2E2C @ =sub_80D2E30
str r0, [r5, 0x1C]
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080D2E1C: .4byte gBattleAnimBankTarget
_080D2E20: .4byte gBattleAnimArgs
_080D2E24: .4byte 0x000003ff
_080D2E28: .4byte 0xfffffc00
_080D2E2C: .4byte sub_80D2E30
thumb_func_end sub_80D2D68
thumb_func_start sub_80D2E30
sub_80D2E30: @ 80D2E30
push {lr}
adds r2, r0, 0
ldrh r0, [r2, 0x34]
ldrh r1, [r2, 0x30]
adds r0, r1
strh r0, [r2, 0x30]
ldrh r1, [r2, 0x36]
ldrh r3, [r2, 0x32]
adds r1, r3
strh r1, [r2, 0x32]
lsls r0, 16
asrs r0, 19
strh r0, [r2, 0x20]
lsls r1, 16
asrs r1, 19
strh r1, [r2, 0x22]
ldrh r0, [r2, 0x2E]
adds r0, 0x1
strh r0, [r2, 0x2E]
lsls r0, 16
asrs r0, 16
cmp r0, 0x10
ble _080D2E64
adds r0, r2, 0
bl move_anim_8072740
_080D2E64:
pop {r0}
bx r0
thumb_func_end sub_80D2E30
.align 2, 0 @ Don't pad with nop.
|