diff options
author | red031000 <rubenru09@aol.com> | 2020-07-31 16:08:09 +0100 |
---|---|---|
committer | red031000 <rubenru09@aol.com> | 2020-07-31 16:08:09 +0100 |
commit | a9355e23042e6c20293ec2a46edd00d885bd30c9 (patch) | |
tree | 6c1ffd82796296962a8c5420cf260f2806546763 | |
parent | fbef7a4533b586518661a174ee6011e8cf9fac37 (diff) |
mod63_021DB720
-rw-r--r-- | arm9/modules/63/asm/mod63_021DB450_asm.s | 54 | ||||
-rw-r--r-- | arm9/modules/63/include/mod63_021DB450.h | 1 | ||||
-rw-r--r-- | arm9/modules/63/src/mod63_021DB450.c | 20 |
3 files changed, 20 insertions, 55 deletions
diff --git a/arm9/modules/63/asm/mod63_021DB450_asm.s b/arm9/modules/63/asm/mod63_021DB450_asm.s index 28265e78..323f9ea7 100644 --- a/arm9/modules/63/asm/mod63_021DB450_asm.s +++ b/arm9/modules/63/asm/mod63_021DB450_asm.s @@ -2,60 +2,6 @@ .include "global.inc" .section .text - .extern MOD63_021DBED8 - .extern MOD63_021DBEC0 - .extern MOD63_021DBEDC - .extern MOD63_021DBF08 - - thumb_func_start MOD63_021DB720 -MOD63_021DB720: ; 0x021DB720 - 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, #6 - 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 _021DB780 - 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} -_021DB780: - mov r0, #0 - pop {r3, r4, r5, pc} - thumb_func_end MOD63_021DB720 - thumb_func_start MOD63_021DB784 MOD63_021DB784: ; 0x021DB784 push {r3, r4, r5, lr} diff --git a/arm9/modules/63/include/mod63_021DB450.h b/arm9/modules/63/include/mod63_021DB450.h index 617912a7..68c8432f 100644 --- a/arm9/modules/63/include/mod63_021DB450.h +++ b/arm9/modules/63/include/mod63_021DB450.h @@ -67,5 +67,6 @@ void MOD63_021DB580(UnkStruct63_021DB580 *param0); void MOD63_021DB598(UnkStruct63_021DB598 *param0); void MOD63_021DB5A8(UnkStruct63_021DB5A8 *param0); BOOL MOD63_021DB5CC(UnkStruct63_021DB5CC *param0, u32 param1, s32 param2); +BOOL MOD63_021DB720(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 a1704f68..7587e0f3 100644 --- a/arm9/modules/63/src/mod63_021DB450.c +++ b/arm9/modules/63/src/mod63_021DB450.c @@ -38,8 +38,9 @@ extern void FUN_02013440(u32, u32); extern void FUN_020133AC(u32, u32, const void *, u32); extern BOOL FUN_020133C8(u32); +extern void FUN_020079E0(u32, u32, s32); + //todo funcs -extern BOOL MOD63_021DB720(struct UnkStruct63_021DB5CC *, u32); extern BOOL MOD63_021DB784(struct UnkStruct63_021DB5CC *, u32); extern BOOL MOD63_021DB7D0(struct UnkStruct63_021DB5CC *, u32); extern BOOL MOD63_021DB838(struct UnkStruct63_021DB5CC *, u32); @@ -194,3 +195,20 @@ THUMB_FUNC BOOL MOD63_021DB5CC(UnkStruct63_021DB5CC *param0, u32 param1, s32 par return FALSE; } +THUMB_FUNC BOOL MOD63_021DB720(UnkStruct63_021DB5CC *param0, u32 param1) +{ + u32 field = param0->field_04[param1]; + FUN_020079E0(field, 0x0, 0x6); + FUN_020079E0(field, 0x1, -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; +} + |