summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorred031000 <rubenru09@aol.com>2020-07-31 20:20:20 +0100
committerred031000 <rubenru09@aol.com>2020-07-31 20:20:20 +0100
commit5d0135992b514b4f5a74bfdf1a162f520f76a6a0 (patch)
tree45b1010d3dee67808bea069a99107d4be7095560
parent1f3874be17338ec0e96b85cab42a06bae0fbe694 (diff)
mod63_021DB884
-rw-r--r--arm9/modules/63/asm/mod63_021DB450_asm.s49
-rw-r--r--arm9/modules/63/include/mod63_021DB450.h1
-rw-r--r--arm9/modules/63/src/mod63_021DB450.c18
3 files changed, 18 insertions, 50 deletions
diff --git a/arm9/modules/63/asm/mod63_021DB450_asm.s b/arm9/modules/63/asm/mod63_021DB450_asm.s
index 6af0f920..4f2988e7 100644
--- a/arm9/modules/63/asm/mod63_021DB450_asm.s
+++ b/arm9/modules/63/asm/mod63_021DB450_asm.s
@@ -2,55 +2,6 @@
.include "global.inc"
.section .text
- thumb_func_start MOD63_021DB884
-MOD63_021DB884: ; 0x021DB884
- push {r3, r4, r5, lr}
- add r5, r0, #0
- lsl r0, r1, #2
- add r0, r5, r0
- ldr r4, [r0, #4]
- mov r1, #0
- add r0, r4, #0
- mov r2, #8
- bl FUN_020079E0
- mov r1, #1
- add r2, r1, #0
- add r0, r4, #0
- sub r2, #0x11
- bl FUN_020079E0
- mov r1, #0xc
- add r2, r1, #0
- add r0, r4, #0
- sub r2, #0x8c
- bl FUN_020079E0
- mov r1, #0xd
- add r2, r1, #0
- add r0, r4, #0
- sub r2, #0x8d
- bl FUN_020079E0
- ldrb r0, [r5, #0x1d]
- add r0, r0, #1
- strb r0, [r5, #0x1d]
- ldrb r0, [r5, #0x1d]
- cmp r0, #6
- blo _021DB8E4
- mov r1, #0xc
- add r2, r1, #0
- add r0, r4, #0
- add r2, #0xf4
- bl FUN_02007558
- mov r1, #0xd
- add r2, r1, #0
- add r0, r4, #0
- add r2, #0xf3
- bl FUN_02007558
- mov r0, #1
- pop {r3, r4, r5, pc}
-_021DB8E4:
- mov r0, #0
- pop {r3, r4, r5, pc}
- thumb_func_end MOD63_021DB884
-
thumb_func_start MOD63_021DB8E8
MOD63_021DB8E8: ; 0x021DB8E8
push {r3, r4, r5, lr}
diff --git a/arm9/modules/63/include/mod63_021DB450.h b/arm9/modules/63/include/mod63_021DB450.h
index 671680d2..4505e8b4 100644
--- a/arm9/modules/63/include/mod63_021DB450.h
+++ b/arm9/modules/63/include/mod63_021DB450.h
@@ -71,5 +71,6 @@ BOOL MOD63_021DB720(UnkStruct63_021DB5CC *param0, u32 param1);
BOOL MOD63_021DB784(UnkStruct63_021DB5CC *param0, u32 param1);
BOOL MOD63_021DB7D0(UnkStruct63_021DB5CC *param0, u32 param1);
BOOL MOD63_021DB838(UnkStruct63_021DB5CC *param0, u32 param1);
+BOOL MOD63_021DB884(UnkStruct63_021DB5CC *param0, u32 param1);
#endif //POKEDIAMOND_MOD63_021DB450_H
diff --git a/arm9/modules/63/src/mod63_021DB450.c b/arm9/modules/63/src/mod63_021DB450.c
index 48990b6b..565ffdb5 100644
--- a/arm9/modules/63/src/mod63_021DB450.c
+++ b/arm9/modules/63/src/mod63_021DB450.c
@@ -41,7 +41,6 @@ extern BOOL FUN_020133C8(u32);
extern void FUN_020079E0(u32, u32, s32);
//todo funcs
-extern BOOL MOD63_021DB884(struct UnkStruct63_021DB5CC *, u32);
extern BOOL MOD63_021DB8E8(struct UnkStruct63_021DB5CC *, u32);
extern void MOD63_021DB940();
@@ -255,3 +254,20 @@ THUMB_FUNC BOOL MOD63_021DB838(UnkStruct63_021DB5CC *param0, u32 param1)
}
return FALSE;
}
+
+THUMB_FUNC BOOL MOD63_021DB884(UnkStruct63_021DB5CC *param0, u32 param1)
+{
+ u32 field = param0->field_04[param1];
+ FUN_020079E0(field, 0, 0x8);
+ FUN_020079E0(field, 1, -0x10);
+ FUN_020079E0(field, 0xC, -0x80);
+ FUN_020079E0(field, 0xD, -0x80);
+ param0->field_1D++;
+ if (param0->field_1D >= 6)
+ {
+ FUN_02007558(field, 0xC, 0x100);
+ FUN_02007558(field, 0xD, 0x100);
+ return TRUE;
+ }
+ return FALSE;
+}