diff options
author | Revo <projectrevotpp@hotmail.com> | 2021-03-16 08:31:31 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-16 08:31:31 -0400 |
commit | a70ceda94c9daac7c1576dcf6c9b82c24e8167b0 (patch) | |
tree | 8719d75247ba15eea47a5f5d4a9f4e3d477a4396 | |
parent | 6138b2ea49421579ec2857d7a8a491de6b1701b6 (diff) | |
parent | fe49a1d229fef47e7a4c78d2fea6b92a22892ddb (diff) |
Merge pull request #332 from remicalixte/decomp-unk_02024E64
Decompile unk_02024E64.s
-rw-r--r-- | arm9/asm/unk_02024E64.s | 118 | ||||
-rw-r--r-- | arm9/src/save_arrays.c | 3 | ||||
-rw-r--r-- | arm9/src/script_buffers.c | 3 | ||||
-rw-r--r-- | arm9/src/trainer_data.c | 3 | ||||
-rw-r--r-- | arm9/src/unk_02024E64.c | 62 | ||||
-rw-r--r-- | include/unk_02024E64.h | 15 |
6 files changed, 80 insertions, 124 deletions
diff --git a/arm9/asm/unk_02024E64.s b/arm9/asm/unk_02024E64.s deleted file mode 100644 index 0234a504..00000000 --- a/arm9/asm/unk_02024E64.s +++ /dev/null @@ -1,118 +0,0 @@ - .include "asm/macros.inc" - .include "global.inc" - - .text - - thumb_func_start FUN_02024E64 -FUN_02024E64: ; 0x02024E64 - ldr r0, _02024E68 ; =0x0000074C - bx lr - .balign 4 -_02024E68: .word 0x0000074C - - thumb_func_start FUN_02024E6C -FUN_02024E6C: ; 0x02024E6C - push {r4, lr} - add r4, r0, #0x0 - ldr r2, _02024EA4 ; =0x0000074C - mov r0, #0x0 - add r1, r4, #0x0 - bl MIi_CpuClearFast - add r0, r4, #0x0 - bl FUN_020250A4 - mov r0, #0x7 - lsl r0, r0, #0x8 - add r0, r4, r0 - bl FUN_02025484 - ldr r1, _02024EA8 ; =0x00000724 - ldr r0, _02024EAC ; =0x0000FFFF - add r1, r4, r1 - mov r2, #0x8 - bl MIi_CpuClear16 - ldr r1, _02024EB0 ; =0x00000734 - ldr r0, _02024EAC ; =0x0000FFFF - add r1, r4, r1 - mov r2, #0xb - bl MIi_CpuClear16 - pop {r4, pc} - .balign 4 -_02024EA4: .word 0x0000074C -_02024EA8: .word 0x00000724 -_02024EAC: .word 0x0000FFFF -_02024EB0: .word 0x00000734 - - thumb_func_start FUN_02024EB4 -FUN_02024EB4: ; 0x02024EB4 - ldr r3, _02024EBC ; =SavArray_get - mov r1, #0xa - bx r3 - nop -_02024EBC: .word SavArray_get - - thumb_func_start FUN_02024EC0 -FUN_02024EC0: ; 0x02024EC0 - ldr r3, _02024EC8 ; =FUN_02022634 - mov r1, #0xa - bx r3 - nop -_02024EC8: .word FUN_02022634 - - thumb_func_start FUN_02024ECC -FUN_02024ECC: ; 0x02024ECC - ldr r3, _02024ED4 ; =SavArray_get - mov r1, #0xa - bx r3 - nop -_02024ED4: .word SavArray_get - - thumb_func_start FUN_02024ED8 -FUN_02024ED8: ; 0x02024ED8 - push {r3, lr} - mov r1, #0xa - bl SavArray_get - mov r1, #0x7 - lsl r1, r1, #0x8 - add r0, r0, r1 - pop {r3, pc} - - thumb_func_start FUN_02024EE8 -FUN_02024EE8: ; 0x02024EE8 - ldr r1, _02024EF0 ; =0x00000724 - add r0, r0, r1 - bx lr - nop -_02024EF0: .word 0x00000724 - - thumb_func_start FUN_02024EF4 -FUN_02024EF4: ; 0x02024EF4 - add r2, r0, #0x0 - add r0, r1, #0x0 - ldr r1, _02024F04 ; =0x00000724 - ldr r3, _02024F08 ; =CopyStringToU16Array - add r1, r2, r1 - mov r2, #0x8 - bx r3 - nop -_02024F04: .word 0x00000724 -_02024F08: .word CopyStringToU16Array - - thumb_func_start FUN_02024F0C -FUN_02024F0C: ; 0x02024F0C - ldr r1, _02024F14 ; =0x00000734 - add r0, r0, r1 - bx lr - nop -_02024F14: .word 0x00000734 - - thumb_func_start FUN_02024F18 -FUN_02024F18: ; 0x02024F18 - add r2, r0, #0x0 - add r0, r1, #0x0 - ldr r1, _02024F28 ; =0x00000734 - ldr r3, _02024F2C ; =CopyStringToU16Array - add r1, r2, r1 - mov r2, #0xb - bx r3 - nop -_02024F28: .word 0x00000734 -_02024F2C: .word CopyStringToU16Array diff --git a/arm9/src/save_arrays.c b/arm9/src/save_arrays.c index 397f1f69..8520f2c1 100644 --- a/arm9/src/save_arrays.c +++ b/arm9/src/save_arrays.c @@ -14,10 +14,10 @@ #include "pokedex.h" #include "seal.h" #include "unk_020139D8.h" +#include "unk_02024E64.h" extern u32 FUN_0202AC20(void); extern u32 FUN_02034D7C(void); -extern u32 FUN_02024E64(void); extern u32 FUN_02034D80(void); extern u32 FUN_02025954(void); extern u32 FUN_02023AC8(void); @@ -39,7 +39,6 @@ extern u32 FUN_0202BE98(void); extern u32 FUN_0202C0E0(void); extern void FUN_0202AC28(void *); extern void FUN_02034D98(void *); -extern void FUN_02024E6C(void *); extern void FUN_02034D88(void *); extern void FUN_0202597C(void *); extern void FUN_02023AD8(void *); diff --git a/arm9/src/script_buffers.c b/arm9/src/script_buffers.c index 431f63b4..293c0bac 100644 --- a/arm9/src/script_buffers.c +++ b/arm9/src/script_buffers.c @@ -11,11 +11,10 @@ #include "unk_0201B8B8.h" #include "trainer_data.h" #include "script_buffers.h" +#include "unk_02024E64.h" #pragma thumb on -extern void * FUN_02024EC0(struct SaveBlock2 * sav2); -extern u16 * FUN_02024EE8(void *); extern u32 GetCityNamesMsgdataIdByCountry(u32); extern void GetECWordIntoStringByIndex(u32 a0, struct String * a1); extern void StringCat_HandleTrainerName(struct String * dest, const struct String * src); diff --git a/arm9/src/trainer_data.c b/arm9/src/trainer_data.c index 7af4b2ce..a797956c 100644 --- a/arm9/src/trainer_data.c +++ b/arm9/src/trainer_data.c @@ -6,11 +6,10 @@ #include "proto.h" #include "msgdata.h" #include "constants/trainer_classes.h" +#include "unk_02024E64.h" #pragma thumb on -extern void * FUN_02024EC0(struct SaveBlock2 *); -extern u16 * FUN_02024EE8(void *); // Loads all battle opponents, including multi-battle partner if exists. void EnemyTrainerSet_Init(struct BattleSetupStruct * enemies, struct SaveBlock2 * sav2, u32 heap_id) diff --git a/arm9/src/unk_02024E64.c b/arm9/src/unk_02024E64.c new file mode 100644 index 00000000..fc596418 --- /dev/null +++ b/arm9/src/unk_02024E64.c @@ -0,0 +1,62 @@ +#include "unk_02024E64.h" + +extern void FUN_020250A4(void *param0); +extern void FUN_02025484(void *param0); + +THUMB_FUNC u32 FUN_02024E64() +{ + return 0x74C; +} + +THUMB_FUNC void FUN_02024E6C(void *param0) +{ + MIi_CpuClearFast(0, param0, 0x74C); + + FUN_020250A4(param0); + + FUN_02025484(param0 + (7 << 8)); + + MIi_CpuClear16(0xFFFF, param0 + 0x724, 8); + MIi_CpuClear16(0xFFFF, param0 + 0x734, 0xb); +} + +THUMB_FUNC void *FUN_02024EB4(struct SaveBlock2 *sav2) +{ + return SavArray_get(sav2, 0xa); +} + +THUMB_FUNC void *FUN_02024EC0(struct SaveBlock2 *sav2) +{ + return FUN_02022634(sav2, 0xa); +} + +THUMB_FUNC void *FUN_02024ECC(struct SaveBlock2 *sav2) +{ + return SavArray_get(sav2, 0xa); +} + +THUMB_FUNC void *FUN_02024ED8(struct SaveBlock2 *sav2) +{ + void *res = SavArray_get(sav2, 0xa); + return res + (7 << 8); +} + +THUMB_FUNC u16 *FUN_02024EE8(void *buf) +{ + return buf + 0x724; +} + +THUMB_FUNC void FUN_02024EF4(u16 *buf, struct String *str) +{ + CopyStringToU16Array(str, buf + 0x392, 8); +} + +THUMB_FUNC u16 *FUN_02024F0C(void *buf) +{ + return buf + 0x734; +} + +THUMB_FUNC void FUN_02024F18(u16 *buf, struct String *str) +{ + CopyStringToU16Array(str, buf + 0x39A, 0xb); +} diff --git a/include/unk_02024E64.h b/include/unk_02024E64.h new file mode 100644 index 00000000..b5cfaa6e --- /dev/null +++ b/include/unk_02024E64.h @@ -0,0 +1,15 @@ +#include "global.h" +#include "MI_memory.h" +#include "save_block_2.h" +#include "string16.h" + +THUMB_FUNC u32 FUN_02024E64(); +THUMB_FUNC void FUN_02024E6C(void *param0); +THUMB_FUNC void *FUN_02024EB4(struct SaveBlock2 *sav2); +THUMB_FUNC void *FUN_02024EC0(struct SaveBlock2 *sav2); +THUMB_FUNC void *FUN_02024ECC(struct SaveBlock2 *sav2); +THUMB_FUNC void *FUN_02024ED8(struct SaveBlock2 *sav2); +THUMB_FUNC u16 *FUN_02024EE8(void *buf); +THUMB_FUNC void FUN_02024EF4(u16 *buf, struct String *str); +THUMB_FUNC u16 *FUN_02024F0C(void *buf); +THUMB_FUNC void FUN_02024F18(u16 *buf, struct String *str); |