diff --git a/src/ov_SC01_077/ov_SC01_077.c b/src/ov_SC01_077/ov_SC01_077.c index f78f60f61..bd20564d7 100644 --- a/src/ov_SC01_077/ov_SC01_077.c +++ b/src/ov_SC01_077/ov_SC01_077.c @@ -59,7 +59,44 @@ void func_8013C9C4(void * arg0) } } -INCLUDE_ASM("asm/ov_SC01_077/nonmatchings/ov_SC01_077", func_8013CA14); + +extern s32 D_801D9568; +extern s8 D_801D956C; +extern s8 D_801D956D; +extern s32 D_801269C8; +extern s32 D_801269D4; +void func_8013CA14(void) +{ + int *base = &D_801D9568; + signed char *p; + unsigned char c; + int t; + if ((*base) != 0) + { + c = D_801D956D; + if (c == 0) + { + p = (signed char *) ((((unsigned int) ((unsigned char) D_801D956C)) * 2) + D_801D9568); + t = (int) (*p); + D_801269D4 = t; + D_801269C8 = t; + D_801D956D = (unsigned char) p[1]; + D_801D956C = D_801D956C + 1; + if (D_801D956D == 0) + { + D_801269D4 = 0; + D_801269C8 = 0; + D_801D956C = 0; + *base = 0; + } + } + else + { + D_801D956D = c - 1; + } + } + return; +} extern s32 D_801D958C; extern s32 D_801D9580;