summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arm9/modules/63/asm/mod63_021DB450_asm.s27
-rw-r--r--arm9/modules/63/include/mod63_021DB450.h2
-rw-r--r--arm9/modules/63/src/mod63_021DB450.c17
3 files changed, 20 insertions, 26 deletions
diff --git a/arm9/modules/63/asm/mod63_021DB450_asm.s b/arm9/modules/63/asm/mod63_021DB450_asm.s
index 044b2799..b16b248d 100644
--- a/arm9/modules/63/asm/mod63_021DB450_asm.s
+++ b/arm9/modules/63/asm/mod63_021DB450_asm.s
@@ -3,32 +3,7 @@
.section .text
.extern MOD63_021DB450
-
- thumb_func_start MOD63_021DB474
-MOD63_021DB474: ; 0x021DB474
- push {r4, lr}
- ldr r3, _021DB494 ; =UNK_021064C0
- mov r2, #1
- ldr r3, [r3]
- blx r3
- add r4, r0, #0
- bne _021DB486
- bl ErrorHandling
-_021DB486:
- add r0, r4, #0
- bl FUN_020132BC
- lsl r0, r4, #0x10
- lsr r0, r0, #0xd
- pop {r4, pc}
- nop
-_021DB494: .word UNK_021064C0
- thumb_func_end MOD63_021DB474
-
- thumb_func_start MOD63_021DB498
-MOD63_021DB498: ; 0x021DB498
- mov r0, #0x20
- bx lr
- thumb_func_end MOD63_021DB498
+ .extern MOD63_021DB474
thumb_func_start MOD63_021DB49C
MOD63_021DB49C: ; 0x021DB49C
diff --git a/arm9/modules/63/include/mod63_021DB450.h b/arm9/modules/63/include/mod63_021DB450.h
index df4c6c9e..915d2d00 100644
--- a/arm9/modules/63/include/mod63_021DB450.h
+++ b/arm9/modules/63/include/mod63_021DB450.h
@@ -4,5 +4,7 @@
#include "global.h"
u32 MOD63_021DB450(u32 param0, u32 param1);
+u32 MOD63_021DB474(u32 param0, u32 param1);
+u32 MOD63_021DB498(void);
#endif //POKEDIAMOND_MOD63_021DB450_H
diff --git a/arm9/modules/63/src/mod63_021DB450.c b/arm9/modules/63/src/mod63_021DB450.c
index d2ce9ef4..127c079f 100644
--- a/arm9/modules/63/src/mod63_021DB450.c
+++ b/arm9/modules/63/src/mod63_021DB450.c
@@ -1,8 +1,12 @@
#include "global.h"
#include "mod63_021DB450.h"
+//todo resolve to static code
extern u32 (*UNK_021064B8)(u32 param0, u32 param1, u32 param2);
+extern u32 (*UNK_021064C0)(u32 param0, u32 param1, u32 param2);
+
extern void FUN_0201327C(u32 param0);
+extern void FUN_020132BC(u32 param0);
THUMB_FUNC u32 MOD63_021DB450(u32 param0, u32 param1)
{
@@ -11,3 +15,16 @@ THUMB_FUNC u32 MOD63_021DB450(u32 param0, u32 param1)
GF_ASSERT(res0);
return (u32)((u16)res0 * 8);
}
+
+THUMB_FUNC u32 MOD63_021DB474(u32 param0, u32 param1)
+{
+ u32 res0 = (UNK_021064C0)(param0, param1, 1);
+ GF_ASSERT(res0);
+ FUN_020132BC(res0);
+ return (u32)((u16)res0 * 8);
+}
+
+THUMB_FUNC u32 MOD63_021DB498(void)
+{
+ return 32;
+}