diff --git a/include/common.h b/include/common.h index 7cffe0b..2789f97 100644 --- a/include/common.h +++ b/include/common.h @@ -604,4 +604,8 @@ extern char *obGetStrategyName(u8 index); extern s8 D_800A8213; +extern s16 D_800AEE90; +extern s16 D_800AEF10; +extern s32 __GLOBAL_CONTROLLER_DATA_COPY[]; + #endif \ No newline at end of file diff --git a/src/main.c b/src/main.c index ccdbe8a..053fcda 100644 --- a/src/main.c +++ b/src/main.c @@ -48,7 +48,38 @@ INCLUDE_ASM(const s32, "main", func_80072710); INCLUDE_ASM(const s32, "main", __set_vi_mode); -INCLUDE_ASM(const s32, "main", func_800727D8); +/* 2BD8 800727D8 */ +void func_800727D8(void) { + s16* var_a0; + s16* var_a2; + s16* var_a3; + s16* var_v1; + s32 var_a1; + s32 var_t0; + + var_t0 = 0; + var_a3 = &D_800AEF10; + var_a2 = &D_800AEE90; + do { + var_a1 = 0; + var_a0 = var_a2; + var_v1 = var_a3; +loop_2: + *var_v1 = 0; + *var_a0 = 0; + var_a0 += 1; + var_a1 += 1; + var_v1 += 1; + if (var_a1 < 0x10) { + goto loop_2; + } + var_a3 += 0x10; + var_t0 += 1; + var_a2 += 0x10; + } while (var_t0 < 4); + bzero(&__GLOBAL_CONTROLLER_DATA_COPY, 0x18); +} + extern u8 D_800AEF9A; extern OSContPad __GLOBAL_CONTROLLER_DATA;