diff options
-rw-r--r-- | arm9/asm/unk_0201CBEC.s | 20 | ||||
-rw-r--r-- | arm9/asm/unk_0202A8F4.s | 36 | ||||
-rw-r--r-- | arm9/asm/unk_0202ABBC.s | 81 | ||||
-rw-r--r-- | arm9/asm/unk_0202C0E0.s | 67 | ||||
-rw-r--r-- | arm9/src/unk_0201CBEC.c | 12 | ||||
-rw-r--r-- | arm9/src/unk_0202A8F4.c | 31 | ||||
-rw-r--r-- | arm9/src/unk_0202ABBC.c | 54 | ||||
-rw-r--r-- | arm9/src/unk_0202C0E0.c | 36 | ||||
-rw-r--r-- | arm9/src/unk_0202C144.c | 3 | ||||
-rw-r--r-- | include/unk_0201CBEC.h | 6 | ||||
-rw-r--r-- | include/unk_02029FB0.h | 5 | ||||
-rw-r--r-- | include/unk_0202A8F4.h | 26 | ||||
-rw-r--r-- | include/unk_0202ABBC.h | 23 | ||||
-rw-r--r-- | include/unk_0202C0E0.h | 14 |
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 |