diff options
author | tgsm <doodrabbit@hotmail.com> | 2021-05-25 18:37:22 -0400 |
---|---|---|
committer | tgsm <doodrabbit@hotmail.com> | 2021-05-25 18:37:22 -0400 |
commit | 73e48106d014792276f46e185b1a7ccd30bf4f00 (patch) | |
tree | 5bbff37f05c8bc5fc2aab2fd174b9a9b5a1f08a2 | |
parent | 1f92eced46da4bdd0c31cb27d1b110aa8a9d75dd (diff) |
Decompile unk_0208A300
-rw-r--r-- | arm9/asm/unk_0208A300.s | 49 | ||||
-rw-r--r-- | arm9/src/unk_0208A300.c | 38 | ||||
-rw-r--r-- | include/unk_0208A300.h | 17 |
3 files changed, 55 insertions, 49 deletions
diff --git a/arm9/asm/unk_0208A300.s b/arm9/asm/unk_0208A300.s deleted file mode 100644 index fe273a33..00000000 --- a/arm9/asm/unk_0208A300.s +++ /dev/null @@ -1,49 +0,0 @@ - .include "asm/macros.inc" - .include "global.inc" - - .text - - thumb_func_start FUN_0208A300 -FUN_0208A300: ; 0x0208A300 - push {r3, lr} - mov r1, #0x8 - bl AllocFromHeap - 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] - mov r1, #0x2 - str r1, [r0, #0x4] - pop {r3, pc} - - thumb_func_start FUN_0208A320 -FUN_0208A320: ; 0x0208A320 - ldr r3, _0208A324 ; =FreeToHeap - bx r3 - .balign 4 -_0208A324: .word FreeToHeap - - thumb_func_start FUN_0208A328 -FUN_0208A328: ; 0x0208A328 - ldr r0, [r0, #0x0] - bx lr - - thumb_func_start FUN_0208A32C -FUN_0208A32C: ; 0x0208A32C - str r1, [r0, #0x0] - bx lr - - thumb_func_start FUN_0208A330 -FUN_0208A330: ; 0x0208A330 - ldr r0, [r0, #0x4] - bx lr - - thumb_func_start FUN_0208A334 -FUN_0208A334: ; 0x0208A334 - str r1, [r0, #0x4] - bx lr diff --git a/arm9/src/unk_0208A300.c b/arm9/src/unk_0208A300.c new file mode 100644 index 00000000..3c4a496b --- /dev/null +++ b/arm9/src/unk_0208A300.c @@ -0,0 +1,38 @@ +#include "global.h" +#include "heap.h" +#include "unk_0208A300.h" + +THUMB_FUNC struct UnkStruct_0208A300* FUN_0208A300(u32 heap_id) +{ + struct UnkStruct_0208A300* ret = AllocFromHeap(heap_id, sizeof(struct UnkStruct_0208A300)); + + __builtin__clear(ret, sizeof(struct UnkStruct_0208A300)); + ret->unk4 = 2; + + return ret; +} + +THUMB_FUNC void FUN_0208A320(struct UnkStruct_0208A300* unk) +{ + FreeToHeap(unk); +} + +THUMB_FUNC u32 FUN_0208A328(struct UnkStruct_0208A300* unk) +{ + return unk->unk0; +} + +THUMB_FUNC void FUN_0208A32C(struct UnkStruct_0208A300* unk, u32 a1) +{ + unk->unk0 = a1; +} + +THUMB_FUNC u32 FUN_0208A330(struct UnkStruct_0208A300* unk) +{ + return unk->unk4; +} + +THUMB_FUNC void FUN_0208A334(struct UnkStruct_0208A300* unk, u32 a1) +{ + unk->unk4 = a1; +} diff --git a/include/unk_0208A300.h b/include/unk_0208A300.h new file mode 100644 index 00000000..9c2ae898 --- /dev/null +++ b/include/unk_0208A300.h @@ -0,0 +1,17 @@ +#ifndef POKEDIAMOND_UNK_0208A300_H +#define POKEDIAMOND_UNK_0208A300_H + +struct UnkStruct_0208A300 +{ + u32 unk0; + u32 unk4; +}; + +struct UnkStruct_0208A300* FUN_0208A300(u32 heap_id); +void FUN_0208A320(struct UnkStruct_0208A300* unk); +u32 FUN_0208A328(struct UnkStruct_0208A300* unk); +void FUN_0208A32C(struct UnkStruct_0208A300* unk, u32 a1); +u32 FUN_0208A330(struct UnkStruct_0208A300* unk); +void FUN_0208A334(struct UnkStruct_0208A300* unk, u32 a1); + +#endif |