Merge pull request #208 from dplewis/4BDC0
Some checks are pending
C/C++ CI / build (push) Waiting to run

4BDC0
This commit is contained in:
Revo 2025-09-11 19:32:03 -04:00 committed by GitHub
commit 2f610c02f3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 88 additions and 2 deletions

View File

@ -11,6 +11,16 @@
static s32 D_800FF9B0;
static s32 D_800FF9B4;
extern u8 D_80078E83;
extern u8 D_80078E8B;
extern u8 D_80078E93;
extern u8 D_80078E9B;
extern u8 D_80078EA3;
extern u8 D_80078EAB;
extern u8 D_80078EB3;
extern u8 D_80078EBC;
extern u8 D_80078EBF;
void func_8004B1C0(s32 arg0) {
D_80078EC8 = arg0;
}
@ -483,7 +493,83 @@ void func_8004B9C4(s32 arg0) {
}
}
#pragma GLOBAL_ASM("asm/us/nonmatchings/4BDC0/func_8004BA88.s")
s32 func_8004BA88(s32 arg0, s32 arg1) {
s32 ret;
D_80078E80 = 0;
if ((arg0 == 0) || (arg0 == 0xFF)) {
arg0 = 1;
if ((arg1 == 0xE)) {
return func_8004B1CC(2U);
}
}
switch (arg1) {
case 10:
case 11:
if (arg0 >= 9U) {
return 0;
}
ret = func_8004B1CC(*(&D_80078E83 + arg0));
break;
case 6:
case 7:
case 8:
if (arg0 >= 9U) {
return 0;
}
ret = func_8004B1CC(*(&D_80078E8B + arg0));
break;
case 9:
if (arg0 >= 9U) {
return 0;
}
ret = func_8004B1CC(*(&D_80078E93 + arg0));
break;
case 5:
if (arg0 >= 9U) {
return 0;
}
ret = func_8004B1CC(*(&D_80078E9B + arg0));
break;
case 4:
if (arg0 >= 9U) {
return 0;
}
ret = func_8004B1CC(*(&D_80078EA3 + arg0));
break;
case 0:
case 1:
case 2:
if (arg0 >= 9U) {
return 0;
}
ret = func_8004B1CC(*(&D_80078EAB + arg0));
break;
case 3:
if (arg0 >= 9U) {
return 0;
}
ret = func_8004B1CC(*(&D_80078EB3 + arg0));
break;
case 12:
if (arg0 >= 0x21U) {
return 0;
}
ret = func_8004B1CC(*(&D_80078EBC + ((arg0 - 1) & 3)));
break;
case 13:
if (arg0 >= 6U) {
return 0;
}
ret = func_8004B1CC(*(&D_80078EBF + arg0));
break;
case 15:
ret = func_8004B1CC(0x14U);
break;
default:
ret = func_8004B1CC(2U);
}
return ret;
}
s32 func_8004BC84(s32 arg0, u32 arg1) {
s32 var_a3;

View File

@ -5,7 +5,7 @@
void func_8004B9C4(s32);
s32 func_8004B1CC(s32);
void func_8004BA88(s32, s32);
s32 func_8004BA88(s32, s32);
s32 func_8004BC84(s32, u32);
u32 func_8004BFB0(void);