From 3c992f2a407d95436fea437897dca9ae3a3d28a1 Mon Sep 17 00:00:00 2001 From: DodongoRex <257213629+DodongoRex@users.noreply.github.com> Date: Sat, 31 Jan 2026 16:59:43 -0500 Subject: [PATCH] Decompile func_80048C28 (marina) --- include/data_symbols.h | 1 + src/marina.c | 30 +++++++++++++++++++++++++++++- 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/include/data_symbols.h b/include/data_symbols.h index 6ed070f..1eb5c11 100644 --- a/include/data_symbols.h +++ b/include/data_symbols.h @@ -15,6 +15,7 @@ extern s16 D_800EF5F0; // func_8000147C extern u16 D_800BE674; +extern u16 D_801373D8; extern u16 D_8013747C; extern u16 D_80171B30[128]; extern u16 D_80171C30[128]; diff --git a/src/marina.c b/src/marina.c index 43c590e..8ee605e 100644 --- a/src/marina.c +++ b/src/marina.c @@ -8,7 +8,35 @@ #pragma GLOBAL_ASM("asm/nonmatchings/marina/func_80048BB0.s") -#pragma GLOBAL_ASM("asm/nonmatchings/marina/func_80048C28.s") +u32 func_80048C28(s32 arg0) { + u16 flags; + u32 result; + + if ((arg0 == 0) && ((D_801373D8 & 0x33) == 0)) { + return 0xFF; + } + + flags = D_801373D8; + result = 4; + + if (flags & 0x10) { + if (flags & 3) { + result = 6; + } else { + result = 8; + } + } + + if (flags & 0x20) { + if (flags & 3) { + result = 2; + } else { + result = 0; + } + } + + return result; +} #pragma GLOBAL_ASM("asm/nonmatchings/marina/func_80048C94.s")