summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arm9/asm/unk_0201CBEC.s20
-rw-r--r--arm9/asm/unk_0202A8F4.s36
-rw-r--r--arm9/asm/unk_0202ABBC.s81
-rw-r--r--arm9/asm/unk_0202C0E0.s67
-rw-r--r--arm9/src/unk_0201CBEC.c12
-rw-r--r--arm9/src/unk_0202A8F4.c31
-rw-r--r--arm9/src/unk_0202ABBC.c54
-rw-r--r--arm9/src/unk_0202C0E0.c36
-rw-r--r--arm9/src/unk_0202C144.c3
-rw-r--r--include/unk_0201CBEC.h6
-rw-r--r--include/unk_02029FB0.h5
-rw-r--r--include/unk_0202A8F4.h26
-rw-r--r--include/unk_0202ABBC.h23
-rw-r--r--include/unk_0202C0E0.h14
14 files changed, 206 insertions, 208 deletions
diff --git a/arm9/asm/unk_0201CBEC.s b/arm9/asm/unk_0201CBEC.s
deleted file mode 100644
index cd295439..00000000
--- a/arm9/asm/unk_0201CBEC.s
+++ /dev/null
@@ -1,20 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
-
- .text
-
- thumb_func_start FUN_0201CBEC
-FUN_0201CBEC: ; 0x0201CBEC
- push {r3, lr}
- sub r0, r0, r2
- sub r2, r1, r3
- add r1, r0, #0x0
- mul r1, r0
- add r0, r2, #0x0
- mul r0, r2
- add r0, r1, r0
- lsl r0, r0, #0xc
- bl FX_Sqrt
- asr r0, r0, #0xc
- pop {r3, pc}
- .balign 4
diff --git a/arm9/asm/unk_0202A8F4.s b/arm9/asm/unk_0202A8F4.s
deleted file mode 100644
index ea063dd7..00000000
--- a/arm9/asm/unk_0202A8F4.s
+++ /dev/null
@@ -1,36 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
-
- .text
-
- thumb_func_start FUN_0202A8F4
-FUN_0202A8F4: ; 0x0202A8F4
- mov r0, #0xe
- bx lr
-
- thumb_func_start FUN_0202A8F8
-FUN_0202A8F8: ; 0x0202A8F8
- mov r1, #0x0
- strb r1, [r0, #0x0]
- strb r1, [r0, #0x1]
- strb r1, [r0, #0x2]
- strb r1, [r0, #0x3]
- strb r1, [r0, #0x4]
- strb r1, [r0, #0x5]
- strb r1, [r0, #0x6]
- strb r1, [r0, #0x7]
- strb r1, [r0, #0x8]
- strb r1, [r0, #0x9]
- strb r1, [r0, #0xa]
- strb r1, [r0, #0xb]
- strb r1, [r0, #0xc]
- strb r1, [r0, #0xd]
- bx lr
-
- thumb_func_start FUN_0202A918
-FUN_0202A918: ; 0x0202A918
- ldr r3, _0202A920 ; =SavArray_get
- mov r1, #0x18
- bx r3
- nop
-_0202A920: .word SavArray_get
diff --git a/arm9/asm/unk_0202ABBC.s b/arm9/asm/unk_0202ABBC.s
deleted file mode 100644
index e8225116..00000000
--- a/arm9/asm/unk_0202ABBC.s
+++ /dev/null
@@ -1,81 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
-
- .text
-
- thumb_func_start FUN_0202ABBC
-FUN_0202ABBC: ; 0x0202ABBC
- ldr r3, _0202ABC4 ; =SavArray_get
- mov r1, #0x1a
- bx r3
- nop
-_0202ABC4: .word SavArray_get
-
- thumb_func_start FUN_0202ABC8
-FUN_0202ABC8: ; 0x0202ABC8
- mov r0, #0xf4
- bx lr
-
- thumb_func_start FUN_0202ABCC
-FUN_0202ABCC: ; 0x0202ABCC
- ldr r3, _0202ABD8 ; =MIi_CpuClearFast
- add r1, r0, #0x0
- mov r0, #0x0
- mov r2, #0xf4
- bx r3
- nop
-_0202ABD8: .word MIi_CpuClearFast
-
- thumb_func_start FUN_0202ABDC
-FUN_0202ABDC: ; 0x0202ABDC
- add r0, #0xec
- ldrh r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202ABE4
-FUN_0202ABE4: ; 0x0202ABE4
- add r0, #0xec
- strh r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202ABEC
-FUN_0202ABEC: ; 0x0202ABEC
- ldr r3, _0202ABF4 ; =MIi_CpuCopyFast
- mov r2, #0xec
- bx r3
- nop
-_0202ABF4: .word MIi_CpuCopyFast
-
- thumb_func_start FUN_0202ABF8
-FUN_0202ABF8: ; 0x0202ABF8
- ldr r3, _0202AC04 ; =MIi_CpuCopyFast
- add r2, r0, #0x0
- add r0, r1, #0x0
- add r1, r2, #0x0
- mov r2, #0xec
- bx r3
- .balign 4
-_0202AC04: .word MIi_CpuCopyFast
-
- thumb_func_start FUN_0202AC08
-FUN_0202AC08: ; 0x0202AC08
- add r0, #0xf0
- ldr r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202AC10
-FUN_0202AC10: ; 0x0202AC10
- add r0, #0xf0
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202AC18
-FUN_0202AC18: ; 0x0202AC18
- add r0, #0xee
- ldrh r0, [r0, #0x0]
- bx lr
- .balign 4
diff --git a/arm9/asm/unk_0202C0E0.s b/arm9/asm/unk_0202C0E0.s
deleted file mode 100644
index 5f489515..00000000
--- a/arm9/asm/unk_0202C0E0.s
+++ /dev/null
@@ -1,67 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
-
- .text
-
- thumb_func_start FUN_0202C0E0
-FUN_0202C0E0: ; 0x0202C0E0
- mov r0, #0x28
- bx lr
-
- thumb_func_start FUN_0202C0E4
-FUN_0202C0E4: ; 0x0202C0E4
- push {r4-r5}
- mov r4, #0x0
- add r1, r4, #0x0
- add r2, r4, #0x0
-_0202C0EC:
- add r3, r2, #0x0
- add r5, r0, #0x0
-_0202C0F0:
- add r3, r3, #0x1
- strh r1, [r5, #0x0]
- add r5, r5, #0x2
- cmp r3, #0x4
- blt _0202C0F0
- add r4, r4, #0x1
- add r0, #0x8
- cmp r4, #0x5
- blt _0202C0EC
- pop {r4-r5}
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202C108
-FUN_0202C108: ; 0x0202C108
- push {r3-r5, lr}
- add r5, r1, #0x0
- mov r1, #0x21
- add r4, r2, #0x0
- bl SavArray_get
- lsl r1, r5, #0x3
- add r3, r0, r1
- lsl r2, r4, #0x1
- ldrh r1, [r3, r2]
- ldr r0, _0202C128 ; =0x0000270F
- cmp r1, r0
- bhs _0202C126
- add r0, r1, #0x1
- strh r0, [r3, r2]
-_0202C126:
- pop {r3-r5, pc}
- .balign 4
-_0202C128: .word 0x0000270F
-
- thumb_func_start FUN_0202C12C
-FUN_0202C12C: ; 0x0202C12C
- push {r3-r5, lr}
- add r5, r1, #0x0
- mov r1, #0x21
- add r4, r2, #0x0
- bl SavArray_get
- lsl r2, r5, #0x3
- lsl r1, r4, #0x1
- add r0, r0, r2
- ldrh r0, [r1, r0]
- pop {r3-r5, pc}
- .balign 4
diff --git a/arm9/src/unk_0201CBEC.c b/arm9/src/unk_0201CBEC.c
new file mode 100644
index 00000000..ea11f2aa
--- /dev/null
+++ b/arm9/src/unk_0201CBEC.c
@@ -0,0 +1,12 @@
+#include "global.h"
+#include "fx.h"
+#include "unk_0201CBEC.h"
+
+THUMB_FUNC s32 FUN_0201CBEC(s32 x1, s32 y1, s32 x2, s32 y2)
+{
+ // Calculate distance between two points with pythagoras
+ s32 x_delta = x1 - x2;
+ s32 y_delta = y1 - y2;
+
+ return FX_Sqrt((x_delta * x_delta + y_delta * y_delta) << 0xc) >> 0xc;
+}
diff --git a/arm9/src/unk_0202A8F4.c b/arm9/src/unk_0202A8F4.c
new file mode 100644
index 00000000..48931dab
--- /dev/null
+++ b/arm9/src/unk_0202A8F4.c
@@ -0,0 +1,31 @@
+#include "global.h"
+#include "save_block_2.h"
+#include "unk_0202A8F4.h"
+
+THUMB_FUNC u32 FUN_0202A8F4()
+{
+ return sizeof(struct Unk0202A8F4);
+}
+
+THUMB_FUNC void FUN_0202A8F8(struct Unk0202A8F4 *unk)
+{
+ unk->u_0 = 0;
+ unk->u_1 = 0;
+ unk->u_2 = 0;
+ unk->u_3 = 0;
+ unk->u_4 = 0;
+ unk->u_5 = 0;
+ unk->u_6 = 0;
+ unk->u_7 = 0;
+ unk->u_8 = 0;
+ unk->u_9 = 0;
+ unk->u_A = 0;
+ unk->u_B = 0;
+ unk->u_C = 0;
+ unk->u_D = 0;
+}
+
+THUMB_FUNC void *FUN_0202A918(struct SaveBlock2* sav2)
+{
+ return SavArray_get(sav2, 24);
+}
diff --git a/arm9/src/unk_0202ABBC.c b/arm9/src/unk_0202ABBC.c
new file mode 100644
index 00000000..7bc9d3fc
--- /dev/null
+++ b/arm9/src/unk_0202ABBC.c
@@ -0,0 +1,54 @@
+#include "global.h"
+#include "save_block_2.h"
+#include "MI_memory.h"
+#include "unk_0202ABBC.h"
+
+THUMB_FUNC void *FUN_0202ABBC(struct SaveBlock2* sav2)
+{
+ return SavArray_get(sav2, 26);
+}
+
+THUMB_FUNC u32 FUN_0202ABC8()
+{
+ return sizeof(struct Unk0202ABBC); // 0xF4
+}
+
+THUMB_FUNC void FUN_0202ABCC(struct Unk0202ABBC* unk)
+{
+ MIi_CpuClearFast(0, unk, 0xf4);
+}
+
+THUMB_FUNC u16 FUN_0202ABDC(struct Unk0202ABBC* unk)
+{
+ return unk->unk_EC;
+}
+
+THUMB_FUNC void FUN_0202ABE4(struct Unk0202ABBC* unk, u16 data)
+{
+ unk->unk_EC = data;
+}
+
+THUMB_FUNC void FUN_0202ABEC(void *srcp, void *destp)
+{
+ MIi_CpuCopyFast(srcp, destp, 0xec);
+}
+
+THUMB_FUNC void FUN_0202ABF8(void *destp, void *srcp)
+{
+ MIi_CpuCopyFast(srcp, destp, 0xec);
+}
+
+THUMB_FUNC u32 FUN_0202AC08(struct Unk0202ABBC* unk)
+{
+ return unk->unk_F0;
+}
+
+THUMB_FUNC void FUN_0202AC10(struct Unk0202ABBC* unk, u32 data)
+{
+ unk->unk_F0 = data;
+}
+
+THUMB_FUNC u16 FUN_0202AC18(struct Unk0202ABBC* unk)
+{
+ return unk->unk_EE;
+}
diff --git a/arm9/src/unk_0202C0E0.c b/arm9/src/unk_0202C0E0.c
new file mode 100644
index 00000000..0b57926b
--- /dev/null
+++ b/arm9/src/unk_0202C0E0.c
@@ -0,0 +1,36 @@
+#include "global.h"
+#include "save_block_2.h"
+#include "unk_0202C0E0.h"
+
+THUMB_FUNC u32 FUN_0202C0E0()
+{
+ return sizeof(struct UnkSaveStruct0202C0E4); // 0x28
+}
+
+THUMB_FUNC void FUN_0202C0E4(struct UnkSaveStruct0202C0E4 *unkStruct)
+{
+ s32 j, i;
+
+ for (i = 0; i < 5; i++)
+ {
+ for (j = 0; j < 4; j++)
+ {
+ unkStruct->data[i][j] = 0;
+ }
+ }
+}
+
+THUMB_FUNC void FUN_0202C108(struct SaveBlock2 *sav2, u32 a1, u32 a2)
+{
+ struct UnkSaveStruct0202C0E4 *unkSavStruct = SavArray_get(sav2, 33);
+ if (unkSavStruct->data[a1][a2] < 9999)
+ {
+ unkSavStruct->data[a1][a2]++;
+ }
+}
+
+THUMB_FUNC u16 FUN_0202C12C(struct SaveBlock2 *sav2, u32 a1, u32 a2)
+{
+ struct UnkSaveStruct0202C0E4 *unkSavStruct = SavArray_get(sav2, 33);
+ return unkSavStruct->data[a1][a2];
+}
diff --git a/arm9/src/unk_0202C144.c b/arm9/src/unk_0202C144.c
index b7dd45aa..468a92e4 100644
--- a/arm9/src/unk_0202C144.c
+++ b/arm9/src/unk_0202C144.c
@@ -6,9 +6,6 @@
#pragma thumb on
-extern struct UnkStruct_02029FB0 * FUN_02029FC8(struct SaveBlock2 * sav2);
-extern void FUN_0202A1C4(struct UnkStruct_02029FB0 * unk, struct Pokedex * pokedex, u16 species);
-
void FUN_0202C144(struct SaveBlock2 * sav2, struct Pokemon * mon)
{
u32 is_egg = GetMonData(mon, MON_DATA_IS_EGG, NULL);
diff --git a/include/unk_0201CBEC.h b/include/unk_0201CBEC.h
new file mode 100644
index 00000000..f3df6872
--- /dev/null
+++ b/include/unk_0201CBEC.h
@@ -0,0 +1,6 @@
+#ifndef POKEDIAMOND_UNK_0201CBEC_H
+#define POKEDIAMOND_UNK_0201CBEC_H
+
+s32 FUN_0201CBEC(s32 a0, s32 a1, s32 a2, s32 a3);
+
+#endif //POKEDIAMOND_UNK_0201CBEC_H
diff --git a/include/unk_02029FB0.h b/include/unk_02029FB0.h
index 545a6d3a..0185bff4 100644
--- a/include/unk_02029FB0.h
+++ b/include/unk_02029FB0.h
@@ -6,4 +6,7 @@ struct UnkStruct_02029FB0
u8 unk[0x14C];
};
-#endif
+struct UnkStruct_02029FB0 * FUN_02029FC8(struct SaveBlock2 * sav2);
+void FUN_0202A1C4(struct UnkStruct_02029FB0 * unk, struct Pokedex * pokedex, u16 species);
+
+#endif //POKEDIAMOND_UNK_02029FB0_H
diff --git a/include/unk_0202A8F4.h b/include/unk_0202A8F4.h
new file mode 100644
index 00000000..aaca6e56
--- /dev/null
+++ b/include/unk_0202A8F4.h
@@ -0,0 +1,26 @@
+#ifndef POKEDIAMOND_UNK_0202A8F4_H
+#define POKEDIAMOND_UNK_0202A8F4_H
+
+struct Unk0202A8F4
+{
+ u8 u_0;
+ u8 u_1;
+ u8 u_2;
+ u8 u_3;
+ u8 u_4;
+ u8 u_5;
+ u8 u_6;
+ u8 u_7;
+ u8 u_8;
+ u8 u_9;
+ u8 u_A;
+ u8 u_B;
+ u8 u_C;
+ u8 u_D;
+};
+
+u32 FUN_0202A8F4();
+void FUN_0202A8F8(struct Unk0202A8F4 *unk);
+void *FUN_0202A918(struct SaveBlock2 *sav2);
+
+#endif //POKEDIAMOND_UNK_0202A8F4_H
diff --git a/include/unk_0202ABBC.h b/include/unk_0202ABBC.h
new file mode 100644
index 00000000..bf793fbb
--- /dev/null
+++ b/include/unk_0202ABBC.h
@@ -0,0 +1,23 @@
+#ifndef POKEDIAMOND_UNK_0202ABBC_H
+#define POKEDIAMOND_UNK_0202ABBC_H
+
+struct Unk0202ABBC
+{
+ /* 0x000 */ u32 filler[59];
+ /* 0x0ec */ u16 unk_EC;
+ /* 0x0ee */ u16 unk_EE;
+ /* 0x0f0 */ u32 unk_F0;
+}; // size: 0xF4
+
+void *FUN_0202ABBC(struct SaveBlock2* sav2);
+u32 FUN_0202ABC8();
+void FUN_0202ABCC(struct Unk0202ABBC* unk);
+u16 FUN_0202ABDC(struct Unk0202ABBC* unk);
+void FUN_0202ABE4(struct Unk0202ABBC* unk, u16 data);
+void FUN_0202ABEC(void *srcp, void *destp);
+void FUN_0202ABF8(void *destp, void *srcp);
+u32 FUN_0202AC08(struct Unk0202ABBC* unk);
+void FUN_0202AC10(struct Unk0202ABBC* unk, u32 data);
+u16 FUN_0202AC18(struct Unk0202ABBC* unk);
+
+#endif //POKEDIAMOND_UNK_0202ABBC_H
diff --git a/include/unk_0202C0E0.h b/include/unk_0202C0E0.h
new file mode 100644
index 00000000..eb972ed3
--- /dev/null
+++ b/include/unk_0202C0E0.h
@@ -0,0 +1,14 @@
+#ifndef POKEDIAMOND_UNK_0202C0E0_H
+#define POKEDIAMOND_UNK_0202C0E0_H
+
+struct UnkSaveStruct0202C0E4
+{
+ u16 data[5][4];
+};
+
+u32 FUN_0202C0E0();
+void FUN_0202C0E4(struct UnkSaveStruct0202C0E4 *unkStruct);
+void FUN_0202C108(struct SaveBlock2 *sav2, u32 a1, u32 a2);
+u16 FUN_0202C12C(struct SaveBlock2 *sav2, u32 a1, u32 a2);
+
+#endif //POKEDIAMOND_UNK_0202C0E0_H