summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcamthesaxman <cameronghall@cox.net>2017-05-16 16:14:04 -0500
committercamthesaxman <cameronghall@cox.net>2017-05-16 16:14:04 -0500
commit32e8ab9c6f5630af90ead24967086185050e7060 (patch)
tree625e30908bf4d88ffdf268838ce2b011ae302361
parent28fa9b294fb6c6c078462ad2878a40875c5807e2 (diff)
decompile sub_8010874
-rw-r--r--asm/battle_2.s463
-rw-r--r--src/battle_2.c227
2 files changed, 227 insertions, 463 deletions
diff --git a/asm/battle_2.s b/asm/battle_2.s
index ecb1d0b59..765653b88 100644
--- a/asm/battle_2.s
+++ b/asm/battle_2.s
@@ -6,469 +6,6 @@
.text
- thumb_func_start objc_dp11b_pingpong
-objc_dp11b_pingpong: @ 80107B0
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x34]
- lsls r0, 24
- lsrs r5, r0, 24
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- bne _080107C8
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- b _080107CC
-_080107C8:
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
-_080107CC:
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- bl Sin
- ldr r2, _080107F8 @ =gSprites
- lsls r1, r5, 4
- adds r1, r5
- lsls r1, 2
- adds r1, r2
- ldrh r2, [r4, 0x32]
- adds r0, r2
- strh r0, [r1, 0x26]
- ldrh r0, [r4, 0x30]
- ldrh r1, [r4, 0x2E]
- adds r0, r1
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x2E]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080107F8: .4byte gSprites
- thumb_func_end objc_dp11b_pingpong
-
- thumb_func_start nullsub_41
-nullsub_41: @ 80107FC
- bx lr
- thumb_func_end nullsub_41
-
- thumb_func_start sub_8010800
-sub_8010800: @ 8010800
- push {lr}
- bl sub_8010874
- ldr r1, _08010818 @ =gUnknown_02024D1E
- movs r0, 0
- strb r0, [r1, 0x1]
- ldr r1, _0801081C @ =gUnknown_030042D4
- ldr r0, _08010820 @ =bc_8012FAC
- str r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_08010818: .4byte gUnknown_02024D1E
-_0801081C: .4byte gUnknown_030042D4
-_08010820: .4byte bc_8012FAC
- thumb_func_end sub_8010800
-
- thumb_func_start sub_8010824
-sub_8010824: @ 8010824
- push {r4,r5,lr}
- ldr r0, _08010864 @ =gUnknown_030042D4
- ldr r0, [r0]
- bl _call_via_r0
- ldr r1, _08010868 @ =gUnknown_02024A60
- movs r0, 0
- strb r0, [r1]
- ldr r0, _0801086C @ =gUnknown_02024A68
- ldrb r0, [r0]
- cmp r0, 0
- beq _0801085E
- ldr r5, _08010870 @ =gUnknown_03004330
- adds r4, r1, 0
-_08010840:
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r5
- ldr r0, [r0]
- bl _call_via_r0
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- ldr r1, _0801086C @ =gUnknown_02024A68
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bcc _08010840
-_0801085E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08010864: .4byte gUnknown_030042D4
-_08010868: .4byte gUnknown_02024A60
-_0801086C: .4byte gUnknown_02024A68
-_08010870: .4byte gUnknown_03004330
- thumb_func_end sub_8010824
-
- thumb_func_start sub_8010874
-sub_8010874: @ 8010874
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r0, 0
- bl sub_801365C
- bl sub_801377C
- movs r2, 0
- movs r3, 0
- ldr r0, _08010AC8 @ =gUnknown_02024C4C
- mov r10, r0
- ldr r1, _08010ACC @ =gUnknown_02024C44
- mov r9, r1
- ldr r4, _08010AD0 @ =gUnknown_02024C3C
- mov r8, r4
- ldr r0, _08010AD4 @ =gUnknown_02024C34
- mov r12, r0
- ldr r4, _08010AD8 @ =gUnknown_02024CA8
- movs r5, 0
- ldr r7, _08010ADC @ =gUnknown_02024C2C
- ldr r6, _08010AE0 @ =gUnknown_02024C54
-_080108A4:
- ldr r0, _08010AE4 @ =gUnknown_02024C98
- adds r0, r5, r0
- str r3, [r0]
- movs r1, 0
-_080108AC:
- adds r0, r4, r1
- strb r3, [r0]
- adds r1, 0x1
- cmp r1, 0x1B
- bls _080108AC
- movs r0, 0x2
- strb r0, [r4, 0x16]
- ldr r1, _08010AE8 @ =gUnknown_02024C70
- adds r0, r2, r1
- strb r3, [r0]
- mov r0, r12
- strh r3, [r0]
- mov r1, r8
- strh r3, [r1]
- mov r0, r9
- strh r3, [r0]
- mov r1, r10
- strh r3, [r1]
- ldr r0, _08010AEC @ =gUnknown_02024C5C
- adds r1, r2, r0
- movs r0, 0xFF
- strb r0, [r1]
- strh r3, [r6]
- strh r3, [r7]
- ldr r1, _08010AF0 @ =0x02017100
- adds r0, r5, r1
- str r3, [r0]
- movs r0, 0x2
- add r10, r0
- add r9, r0
- add r8, r0
- add r12, r0
- adds r4, 0x1C
- adds r5, 0x4
- adds r7, 0x2
- adds r6, 0x2
- adds r2, 0x1
- cmp r2, 0x3
- ble _080108A4
- movs r5, 0
- ldr r3, _08010AF4 @ =gUnknown_02024C80
- ldr r4, _08010AF8 @ =gUnknown_02024C7A
- movs r2, 0x1
-_08010902:
- strh r5, [r4]
- movs r1, 0
-_08010906:
- adds r0, r3, r1
- strb r5, [r0]
- adds r1, 0x1
- cmp r1, 0xB
- bls _08010906
- adds r3, 0xC
- adds r4, 0x2
- subs r2, 0x1
- cmp r2, 0
- bge _08010902
- movs r1, 0
- ldr r2, _08010AFC @ =gPlayerMonIndex
- strb r1, [r2]
- ldr r3, _08010B00 @ =gEnemyMonIndex
- strb r1, [r3]
- ldr r4, _08010B04 @ =gBattleWeather
- strh r1, [r4]
- ldr r1, _08010B08 @ =gUnknown_02024DBC
- movs r2, 0
- movs r3, 0
-_0801092E:
- adds r0, r1, r2
- strb r3, [r0]
- adds r2, 0x1
- cmp r2, 0x2B
- bls _0801092E
- movs r0, 0
- ldr r1, _08010B0C @ =gUnknown_02024C6C
- str r0, [r1]
- ldr r2, _08010B10 @ =gBattleTypeFlags
- ldrh r1, [r2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _0801095C
- ldr r3, _08010B14 @ =gSaveBlock2
- ldrb r1, [r3, 0x15]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0801095C
- movs r0, 0x80
- ldr r4, _08010B0C @ =gUnknown_02024C6C
- str r0, [r4]
-_0801095C:
- ldr r1, _08010B14 @ =gSaveBlock2
- ldrb r0, [r1, 0x15]
- lsls r0, 30
- lsrs r0, 31
- ldr r3, _08010B18 @ =0x02000000
- ldr r4, _08010B1C @ =0x00016084
- adds r2, r3, r4
- movs r1, 0
- strb r0, [r2]
- ldr r0, _08010B20 @ =gUnknown_02024C0E
- strb r1, [r0]
- ldr r2, _08010B24 @ =gUnknown_02024D26
- strb r1, [r2]
- ldr r3, _08010B28 @ =gUnknown_02024A64
- str r1, [r3]
- movs r2, 0
- ldr r4, _08010B2C @ =gUnknown_02024D1A
- strh r1, [r4]
- ldr r1, _08010B18 @ =0x02000000
- ldr r3, _08010B30 @ =0x00017130
- adds r0, r1, r3
- strb r2, [r0]
- ldr r4, _08010B34 @ =0x00017160
- adds r0, r1, r4
- strb r2, [r0]
- ldr r1, _08010B38 @ =gUnknown_02024D1E
- movs r2, 0
- adds r0, r1, 0x7
-_08010994:
- strb r2, [r0]
- subs r0, 0x1
- cmp r0, r1
- bge _08010994
- movs r5, 0
- ldr r0, _08010B3C @ =gUnknown_02024D18
- strh r5, [r0]
- movs r0, 0
- ldr r1, _08010B40 @ =gBattleMoveDamage
- str r0, [r1]
- ldr r2, _08010B44 @ =gUnknown_02024DE8
- strh r0, [r2]
- ldr r4, _08010B18 @ =0x02000000
- ldr r3, _08010B48 @ =0x00016002
- adds r0, r4, r3
- strb r5, [r0]
- ldr r1, _08010B4C @ =0x000160a1
- adds r0, r4, r1
- strb r5, [r0]
- ldr r2, _08010B50 @ =gUnknown_03004324
- strb r5, [r2]
- ldr r3, _08010B54 @ =gUnknown_02024C0C
- strb r5, [r3]
- subs r1, 0x29
- adds r0, r4, r1
- strb r5, [r0]
- ldr r2, _08010B58 @ =0x00016086
- adds r0, r4, r2
- strb r5, [r0]
- ldr r3, _08010B5C @ =0x00016087
- adds r0, r4, r3
- strb r5, [r0]
- ldr r0, _08010B60 @ =gEnemyParty
- movs r1, 0xB
- bl GetMonData
- ldr r2, _08010B64 @ =gBaseStats
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r1, [r1, 0x8]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08010B68 @ =0x000004fb
- bl __divsi3
- ldr r2, _08010B6C @ =0x00016089
- adds r1, r4, r2
- strb r0, [r1]
- ldr r3, _08010B70 @ =0x00016088
- adds r1, r4, r3
- movs r0, 0x3
- strb r0, [r1]
- ldr r1, _08010B74 @ =0x0001601b
- adds r0, r4, r1
- strb r5, [r0]
- subs r2, 0x33
- adds r1, r4, r2
- movs r0, 0x1
- strb r0, [r1]
- movs r2, 0
- movs r1, 0
-_08010A12:
- ldr r3, _08010B78 @ =0x000160ac
- adds r0, r2, r3
- adds r0, r4
- strb r1, [r0]
- adds r3, 0x20
- adds r0, r2, r3
- adds r0, r4
- strb r1, [r0]
- adds r3, 0x1C
- adds r0, r2, r3
- adds r0, r4
- strb r1, [r0]
- adds r3, 0x8
- adds r0, r2, r3
- adds r0, r4
- strb r1, [r0]
- adds r3, 0x10
- adds r0, r2, r3
- adds r0, r4
- strb r1, [r0]
- adds r3, 0x8
- adds r0, r2, r3
- adds r0, r4
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x7
- ble _08010A12
- ldr r4, _08010B18 @ =0x02000000
- ldr r1, _08010B7C @ =0x000160c8
- adds r0, r4, r1
- movs r2, 0
- movs r1, 0x6
- strb r1, [r0]
- subs r3, 0x3F
- adds r0, r4, r3
- strb r1, [r0]
- ldr r1, _08010B80 @ =0x00016113
- adds r0, r4, r1
- strb r2, [r0]
- ldr r3, _08010B84 @ =gUnknown_030042E0
- movs r1, 0
- movs r2, 0xA
- adds r0, r3, 0
- adds r0, 0x40
-_08010A6A:
- strb r1, [r0]
- subs r0, 0x1
- subs r2, 0x1
- cmp r2, 0
- bge _08010A6A
- movs r1, 0
- strb r1, [r3, 0x13]
- strb r1, [r3]
- strb r1, [r3, 0x1]
- strb r1, [r3, 0x2]
- strb r1, [r3, 0x3]
- strb r1, [r3, 0x4]
- ldrb r2, [r3, 0x5]
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- movs r2, 0x3
- negs r2, r2
- ands r0, r2
- strb r0, [r3, 0x5]
- strh r1, [r3, 0x20]
- strh r1, [r3, 0x22]
- strh r1, [r3, 0x24]
- strh r1, [r3, 0x6]
- strh r1, [r3, 0x26]
- strh r1, [r3, 0x28]
- movs r2, 0
- adds r5, r3, 0
- adds r5, 0x8
- movs r4, 0
- adds r1, r3, 0
- adds r1, 0x14
-_08010AAA:
- adds r0, r2, r5
- strb r4, [r0]
- strb r4, [r1]
- strb r4, [r1, 0x16]
- adds r1, 0x1
- adds r2, 0x1
- cmp r2, 0x9
- ble _08010AAA
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08010AC8: .4byte gUnknown_02024C4C
-_08010ACC: .4byte gUnknown_02024C44
-_08010AD0: .4byte gUnknown_02024C3C
-_08010AD4: .4byte gUnknown_02024C34
-_08010AD8: .4byte gUnknown_02024CA8
-_08010ADC: .4byte gUnknown_02024C2C
-_08010AE0: .4byte gUnknown_02024C54
-_08010AE4: .4byte gUnknown_02024C98
-_08010AE8: .4byte gUnknown_02024C70
-_08010AEC: .4byte gUnknown_02024C5C
-_08010AF0: .4byte 0x02017100
-_08010AF4: .4byte gUnknown_02024C80
-_08010AF8: .4byte gUnknown_02024C7A
-_08010AFC: .4byte gPlayerMonIndex
-_08010B00: .4byte gEnemyMonIndex
-_08010B04: .4byte gBattleWeather
-_08010B08: .4byte gUnknown_02024DBC
-_08010B0C: .4byte gUnknown_02024C6C
-_08010B10: .4byte gBattleTypeFlags
-_08010B14: .4byte gSaveBlock2
-_08010B18: .4byte 0x02000000
-_08010B1C: .4byte 0x00016084
-_08010B20: .4byte gUnknown_02024C0E
-_08010B24: .4byte gUnknown_02024D26
-_08010B28: .4byte gUnknown_02024A64
-_08010B2C: .4byte gUnknown_02024D1A
-_08010B30: .4byte 0x00017130
-_08010B34: .4byte 0x00017160
-_08010B38: .4byte gUnknown_02024D1E
-_08010B3C: .4byte gUnknown_02024D18
-_08010B40: .4byte gBattleMoveDamage
-_08010B44: .4byte gUnknown_02024DE8
-_08010B48: .4byte 0x00016002
-_08010B4C: .4byte 0x000160a1
-_08010B50: .4byte gUnknown_03004324
-_08010B54: .4byte gUnknown_02024C0C
-_08010B58: .4byte 0x00016086
-_08010B5C: .4byte 0x00016087
-_08010B60: .4byte gEnemyParty
-_08010B64: .4byte gBaseStats
-_08010B68: .4byte 0x000004fb
-_08010B6C: .4byte 0x00016089
-_08010B70: .4byte 0x00016088
-_08010B74: .4byte 0x0001601b
-_08010B78: .4byte 0x000160ac
-_08010B7C: .4byte 0x000160c8
-_08010B80: .4byte 0x00016113
-_08010B84: .4byte gUnknown_030042E0
- thumb_func_end sub_8010874
-
thumb_func_start sub_8010B88
sub_8010B88: @ 8010B88
push {r4-r7,lr}
diff --git a/src/battle_2.c b/src/battle_2.c
index 3e147e0c7..90ccb88ab 100644
--- a/src/battle_2.c
+++ b/src/battle_2.c
@@ -14,6 +14,7 @@
#include "rng.h"
#include "sound.h"
#include "songs.h"
+#include "trig.h"
struct MonCoords
{
@@ -81,6 +82,31 @@ struct UnknownStruct10
u8 filler4[8];
};
+struct UnknownStruct11
+{
+ u8 unk0;
+ u8 unk1;
+ u8 unk2;
+ u8 unk3;
+ u8 unk4;
+ u8 unk5_0:1;
+ u8 unk5_1:1;
+ u16 unk6;
+ u8 unk8[10];
+ u8 unk12;
+ u8 unk13;
+ u8 unk14[10];
+ u8 filler1E[2];
+ u16 unk20;
+ u16 unk22;
+ u16 unk24;
+ u16 unk26;
+ u16 unk28;
+ u8 unk2A[10];
+ u8 filler34[2];
+ u8 unk36[10];
+};
+
extern const struct UnknownStruct5 gUnknown_081F9674;
extern const u8 gUnknown_081F96C8[];
extern void *const gUnknown_081FAF4C[];
@@ -90,20 +116,65 @@ extern const u8 gSpeciesNames[][11];
extern const struct BattleMove gBattleMoves[];
extern const struct MonCoords gMonFrontPicCoords[];
extern const struct MonCoords gCastformFrontSpriteCoords[];
+extern const struct BaseStats gBaseStats[];
extern u8 ewram[];
#define ewram0 (*(struct UnknownStruct7 *)(ewram + 0x0))
#define ewram4 (*(struct UnknownStruct8 *)(ewram + 0x4))
+#define ewram16002 (ewram[0x16002])
+#define ewram1601B (ewram[0x1601B])
+#define ewram16056 (ewram[0x16056])
+#define ewram16078 (ewram[0x16078])
+#define ewram16084 (ewram[0x16084])
+#define ewram16086 (ewram[0x16086])
+#define ewram16087 (ewram[0x16087])
+#define ewram16088 (ewram[0x16088])
+#define ewram16089 (ewram[0x16089])
+#define ewram160A1 (ewram[0x160A1])
+#define ewram160AC ((u8 *)(ewram + 0x160AC))
+#define ewram160C8 (ewram[0x160C8])
+#define ewram160C9 (ewram[0x160C9])
#define ewram160CB (ewram[0x160CB])
+#define ewram160CC ((u8 *)(ewram + 0x160CC))
+#define ewram160E8 ((u8 *)(ewram + 0x160E8))
+#define ewram160F0 ((u8 *)(ewram + 0x160F0))
+#define ewram16100 ((u8 *)(ewram + 0x16100))
+#define ewram16108 ((u8 *)(ewram + 0x16108))
+#define ewram16113 (ewram[0x16113])
+#define ewram17100 ((u32 *)(ewram + 0x17100))
+#define ewram17130 (ewram[0x17130])
+#define ewram17160 (ewram[0x17160])
#define ewram17800 ((struct UnknownStruct9 *)(ewram + 0x17800))
#define ewram17810 ((struct UnknownStruct10 *)(ewram + 0x17810))
#define ewram1D000 ((struct Pokemon *)(ewram + 0x1D000))
extern struct UnknownPokemonStruct2 gUnknown_02023A00[];
+extern u8 gUnknown_02024A60;
+extern u32 gUnknown_02024A64;
+extern u8 gUnknown_02024A68;
extern u16 gUnknown_02024A6A[];
extern u8 gUnknown_02024BE0[];
+extern u8 gUnknown_02024C0C;
+extern u8 gUnknown_02024C0E;
+extern u16 gUnknown_02024C2C[];
+extern u16 gUnknown_02024C34[];
+extern u16 gUnknown_02024C3C[];
+extern u16 gUnknown_02024C44[];
+extern u16 gUnknown_02024C4C[];
+extern u16 gUnknown_02024C54[];
+extern u8 gUnknown_02024C5C[];
+extern u32 gUnknown_02024C6C;
+extern u8 gUnknown_02024C70[];
+extern u16 gUnknown_02024C7A[];
+extern u8 gUnknown_02024C80[][12];
+extern u32 gUnknown_02024C98[];
+//extern u8 gUnknown_02024CA8[][0x1C];
+extern u16 gUnknown_02024D18;
+extern u16 gUnknown_02024D1A;
extern u8 gUnknown_02024D1E[];
extern u8 gUnknown_02024D1F[]; // I don't actually know what type this is.
+extern u8 gUnknown_02024D26;
+extern u8 gUnknown_02024DBC[];
extern u16 gUnknown_02024DE8;
extern u16 gUnknown_030041B0;
extern u16 gUnknown_030041B4;
@@ -122,6 +193,10 @@ extern u16 gUnknown_030042A4;
extern u16 gUnknown_030042C0;
extern u16 gUnknown_030042C4;
extern MainCallback gUnknown_030042D0;
+extern void (*gUnknown_030042D4)(void);
+extern struct UnknownStruct11 gUnknown_030042E0;
+extern u8 gUnknown_03004324;
+extern void (*gUnknown_03004330[])(void);
extern u8 gUnknown_03004340[];
extern struct UnknownStruct6 gUnknown_03004DE0;
//extern u16 gUnknown_03004DE0[][0xA0]; // possibly?
@@ -132,6 +207,10 @@ extern u16 gTrainerBattleOpponent;
extern struct BattleEnigmaBerry gEnigmaBerries[];
extern u16 gBlockRecvBuffer[MAX_LINK_PLAYERS][BLOCK_BUFFER_SIZE / 2];
extern u8 gBattleMonForms[];
+extern u8 gPlayerMonIndex;
+extern u8 gEnemyMonIndex;
+extern u16 gBattleWeather;
+extern u32 gBattleMoveDamage;
extern void sub_800B858(void);
extern void dp12_8087EA4(void);
@@ -172,6 +251,10 @@ void sub_801053C(struct Sprite *);
void oac_poke_ally_(struct Sprite *);
void nullsub_86(struct Sprite *);
void objc_dp11b_pingpong(struct Sprite *);
+void sub_8010874(void);
+void bc_8012FAC(void);
+void sub_801365C(u8);
+void sub_801377C(void);
void sub_800E7C4(void)
{
@@ -1510,3 +1593,147 @@ void dp11b_obj_free(u8 a, u8 b)
gSprites[r4].pos2.x = 0;
gSprites[r4].pos2.y = 0;
}
+
+void objc_dp11b_pingpong(struct Sprite *sprite)
+{
+ u8 spriteId = sprite->data3;
+ s32 var;
+
+ if (sprite->data4 == 1)
+ var = sprite->data0;
+ else
+ var = sprite->data0;
+
+ gSprites[spriteId].pos2.y = Sin(var, sprite->data2) + sprite->data2;
+ sprite->data0 = (sprite->data0 + sprite->data1) & 0xFF;
+}
+
+void nullsub_41(void)
+{
+}
+
+void sub_8010800(void)
+{
+ sub_8010874();
+ gUnknown_02024D1E[1] = 0;
+ gUnknown_030042D4 = bc_8012FAC;
+}
+
+void sub_8010824(void)
+{
+ gUnknown_030042D4();
+ gUnknown_02024A60 = 0;
+
+ for (gUnknown_02024A60 = 0; gUnknown_02024A60 < gUnknown_02024A68; gUnknown_02024A60++)
+ gUnknown_03004330[gUnknown_02024A60]();
+}
+
+void sub_8010874(void)
+{
+ s32 i;
+ s32 j;
+ u8 *r4;
+
+ sub_801365C(0);
+ sub_801377C();
+
+ for (i = 0; i < 4; i++)
+ {
+ gUnknown_02024C98[i] = 0;
+
+ r4 = (u8 *)&gUnknown_02024CA8[i];
+ for (j = 0; j < (u32)0x1C; j++)
+ r4[j] = 0;
+
+ gUnknown_02024CA8[i].unk16 = 2;
+ gUnknown_02024C70[i] = 0;
+ gUnknown_02024C34[i] = 0;
+ gUnknown_02024C3C[i] = 0;
+ gUnknown_02024C44[i] = 0;
+ gUnknown_02024C4C[i] = 0;
+ gUnknown_02024C5C[i] = 0xFF;
+ gUnknown_02024C54[i] = 0;
+ gUnknown_02024C2C[i] = 0;
+ ewram17100[i] = 0;
+ }
+
+ for (i = 0; i < 2; i++)
+ {
+ gUnknown_02024C7A[i] = 0;
+
+ r4 = (u8 *)&gUnknown_02024C80[i];
+ for (j = 0; j < (u32)12; j++)
+ r4[j] = 0;
+ }
+
+ gPlayerMonIndex = 0;
+ gEnemyMonIndex = 0;
+ gBattleWeather = 0;
+
+ r4 = (u8 *)&gUnknown_02024DBC;
+ for (i = 0; i < (u32)0x2C; i++)
+ r4[i] = 0;
+
+ gUnknown_02024C6C = 0;
+ if ((gBattleTypeFlags & 2) == 0 && gSaveBlock2.optionsBattleSceneOff == TRUE)
+ gUnknown_02024C6C = 0x80;
+ ewram16084 = gSaveBlock2.optionsBattleStyle;
+ gUnknown_02024C0E = 0;
+ gUnknown_02024D26 = 0;
+ gUnknown_02024A64 = 0;
+ gUnknown_02024D1A = 0;
+ ewram17130 = 0;
+ ewram17160 = 0;
+ for (i = 0; i < 8; i++)
+ gUnknown_02024D1E[i] = 0;
+ gUnknown_02024D18 = 0;
+ gBattleMoveDamage = 0;
+ gUnknown_02024DE8 = 0;
+ ewram16002 = 0;
+ ewram160A1 = 0;
+ gUnknown_03004324 = 0;
+ gUnknown_02024C0C = 0;
+ ewram16078 = 0;
+ ewram16086 = 0;
+ ewram16087 = 0;
+ ewram16089 = gBaseStats[GetMonData(&gEnemyParty[0], MON_DATA_SPECIES)].catchRate * 100 / 1275;
+ ewram16088 = 3;
+ ewram1601B = 0;
+ ewram16056 = 1;
+
+ for (i = 0; i < 8; i++)
+ {
+ ewram[i + 0x160AC] = 0;
+ ewram[i + 0x160CC] = 0;
+ ewram[i + 0x160E8] = 0;
+ ewram[i + 0x160F0] = 0;
+ ewram[i + 0x16100] = 0;
+ ewram[i + 0x16108] = 0;
+ }
+
+ ewram160C8 = 6;
+ ewram160C9 = 6;
+ ewram16113 = 0;
+ for (i = 0; i < 11; i++)
+ gUnknown_030042E0.unk36[i] = 0;
+ gUnknown_030042E0.unk13 = 0;
+ gUnknown_030042E0.unk0 = 0;
+ gUnknown_030042E0.unk1 = 0;
+ gUnknown_030042E0.unk2 = 0;
+ gUnknown_030042E0.unk3 = 0;
+ gUnknown_030042E0.unk4 = 0;
+ gUnknown_030042E0.unk5_0 = 0;
+ gUnknown_030042E0.unk5_1 = 0;
+ gUnknown_030042E0.unk20 = 0;
+ gUnknown_030042E0.unk22 = 0;
+ gUnknown_030042E0.unk24 = 0;
+ gUnknown_030042E0.unk6 = 0;
+ gUnknown_030042E0.unk26 = 0;
+ gUnknown_030042E0.unk28 = 0;
+ for (i = 0; i < 10; i++)
+ {
+ gUnknown_030042E0.unk8[i] = 0;
+ gUnknown_030042E0.unk14[i] = 0;
+ gUnknown_030042E0.unk2A[i] = 0;
+ }
+}