blob: 1313b69ca880e03c12621935fdd9a3675d23c2a5 (
plain)
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
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
|
#include "global.h"
#include "asm.h"
#include "gba/m4a_internal.h"
#include "sprite.h"
#include "task.h"
extern u16 gUnknown_02024A6A[4];
extern u8 gUnknown_02024C07;
extern u8 gUnknown_02024C08;
extern const u8 *gUnknown_0202F7A4;
extern void (*gUnknown_0202F7AC)(void);
extern s8 gUnknown_0202F7B0;
extern u8 gUnknown_0202F7B1;
extern u8 gUnknown_0202F7B2;
extern u8 gUnknown_0202F7B3;
extern u32 gUnknown_0202F7B4;
extern u32 gUnknown_0202F7B8;
extern u16 gUnknown_0202F7BC;
extern u8 gUnknown_0202F7BE;
extern u8 gUnknown_0202F7C2[];
extern u8 gUnknown_0202F7C4;
extern u8 gUnknown_0202F7C5;
extern u16 gUnknown_0202F7C6;
extern u8 gUnknown_0202F7C8;
extern u8 gUnknown_0202F7C9;
extern u16 gUnknown_0202F7CA[4];
extern u8 gUnknown_0202F7D2;
extern u16 gUnknown_03004200;
extern u16 gUnknown_03004240;
extern u16 gUnknown_03004244;
extern u16 gUnknown_030042C4;
extern u16 gUnknown_03004B10[8];
extern u16 gBattleAnimArgs[8];
extern struct MusicPlayerInfo gMPlay_BGM;
extern const u16 gUnknown_081C7160[];
extern void (*gUnknown_0837F4B8[])(void);
extern const u8 *const gBattleAnims_Moves[];
extern u8 unk_2000000[];
#define EWRAM_19348 (*(u16 *)(unk_2000000 + 0x19348))
void sub_8075624(void)
{
s32 i;
gUnknown_0202F7B0 = 0;
gUnknown_0202F7B1 = 0;
gUnknown_0202F7B2 = 0;
gUnknown_0202F7B3 = 0;
gUnknown_0202F7B4 = 0;
gUnknown_0202F7B8 = 0;
gUnknown_0202F7BC = 0;
gUnknown_0202F7BE = 0;
for (i = 0; i < 8; i++)
gUnknown_03004B10[i] |= 0xFFFF;
for (i = 0; i < 8; i++)
gBattleAnimArgs[i] = 0;
gUnknown_0202F7C2[0] = 0xFF;
gUnknown_0202F7C2[1] = -1;
gUnknown_0202F7C4 = 0;
gUnknown_0202F7C5 = 0;
gUnknown_0202F7C6 = 0;
gUnknown_0202F7C8 = 0;
gUnknown_0202F7C9 = 0;
gUnknown_0202F7D2 = 0;
}
extern void move_something(const u8 *const moveAnims[], u16 b, u8 c);
void move_anim_start_t1(u16 a)
{
gUnknown_0202F7C8 = gUnknown_02024C07;
gUnknown_0202F7C9 = gUnknown_02024C08;
move_something(gBattleAnims_Moves, a, 1);
}
extern u8 sub_8076BE0();
extern void sub_8079E24();
extern void sub_8043EB4();
extern void sub_80759D0(void);
void move_something(const u8 *const moveAnims[], u16 b, u8 c)
{
s32 i;
if (sub_8076BE0() == 0)
{
sub_8079E24();
sub_8043EB4(0);
for (i = 0; i < 4; i++)
{
if (battle_side_get_owner(i) != 0)
gUnknown_0202F7CA[i] = GetMonData(&gEnemyParty[gUnknown_02024A6A[i]], 11);
else
gUnknown_0202F7CA[i] = GetMonData(&gPlayerParty[gUnknown_02024A6A[i]], 11);
}
}
else
{
for (i = 0; i < 4; i++)
gUnknown_0202F7CA[i] = EWRAM_19348;
}
if (c == 0)
gUnknown_0202F7C6 = 0;
else
gUnknown_0202F7C6 = b;
for (i = 0; i < 8; i++)
gBattleAnimArgs[i] = 0;
gUnknown_0202F7C2[0] = 0xFF;
gUnknown_0202F7C2[1] = -1;
gUnknown_0202F7A4 = moveAnims[b];
gUnknown_0202F7B1 = 1;
gUnknown_0202F7B0 = 0;
gUnknown_0202F7AC = sub_80759D0;
for (i = 0; i < 8; i++)
gUnknown_03004B10[i] |= 0xFFFF;
if (c != 0)
{
i = 0;
while (1)
{
if (gUnknown_081C7160[i] == 0xFFFF)
break;
if (b == gUnknown_081C7160[i])
{
m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 128);
break;
}
i++;
}
}
gUnknown_030042C4 = 0;
gUnknown_03004240 = 0;
gUnknown_03004200 = 0;
gUnknown_03004244 = 0;
}
void move_anim_8072740(struct Sprite *sprite)
{
FreeSpriteOamMatrix(sprite);
DestroySprite(sprite);
gUnknown_0202F7B2--;
}
void move_anim_task_del(u8 taskId)
{
DestroyTask(taskId);
gUnknown_0202F7B2--;
}
void move_anim_related_task_del(u8 taskId)
{
DestroyTask(taskId);
gUnknown_0202F7B3--;
}
void sub_8075940(u16 a)
{
s32 i;
for (i = 0; i < 8; i++)
{
if (gUnknown_03004B10[i] == 0xFFFF)
{
gUnknown_03004B10[i] = a;
return;
}
}
}
void sub_8075970(u16 a)
{
s32 i;
for (i = 0; i < 8; i++)
{
if (gUnknown_03004B10[i] == a)
{
gUnknown_03004B10[i] |= 0xFFFF;
return;
}
}
}
void move_anim_waiter(void)
{
if (gUnknown_0202F7B0 <= 0)
{
gUnknown_0202F7AC = sub_80759D0;
gUnknown_0202F7B0 = 0;
}
else
{
gUnknown_0202F7B0--;
}
}
void sub_80759D0(void)
{
do
{
gUnknown_0837F4B8[*gUnknown_0202F7A4]();
} while (gUnknown_0202F7B0 == 0 && gUnknown_0202F7B1 != 0);
}
/*
void ma00_load_graphics(void)
{
u8 r4 = *(gUnknown_0202F7A4++);
u8 temp = *gUnknown_0202F7A4;
r4 |= temp << 8;
LoadCompressedObjectPic()
}
*/
|