mirror of
https://github.com/n64decomp/mk64
synced 2026-09-12 03:59:02 -04:00
audio/external: 800C5384 (#390)
This commit is contained in:
+21
-35
@@ -2234,44 +2234,32 @@ void func_800C5278(u8 bank) {
|
||||
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C5278.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit eefca95b040d7ee0c617bc58f9ac6cd1cf7bce87 on Aug-14-2023
|
||||
? func_800C473C(s32, s32); /* extern */
|
||||
extern void func_800C473C(u8, u8); /* extern */
|
||||
|
||||
void func_800C5384(s32 arg0, s32 arg1) {
|
||||
s32 temp_s5;
|
||||
s32 var_s2;
|
||||
struct Unk_80191420 *temp_s0;
|
||||
struct Unk_80191420 *temp_s3;
|
||||
u8 var_s1;
|
||||
void func_800C5384(u8 arg0, f32 *arg1)
|
||||
{
|
||||
u8 curr;
|
||||
u8 next;
|
||||
|
||||
temp_s5 = arg0 & 0xFF;
|
||||
var_s1 = sSoundBanks[temp_s5]->next;
|
||||
var_s2 = 0;
|
||||
if (var_s1 != 0xFF) {
|
||||
temp_s3 = sSoundBanks[temp_s5];
|
||||
do {
|
||||
temp_s0 = &temp_s3[var_s1];
|
||||
if (arg1 == temp_s0->unk00) {
|
||||
if ((s32) temp_s0->soundStatus >= 3) {
|
||||
func_800CBBE8((temp_s0->unk2C << 8) | 0x06020000, 0);
|
||||
}
|
||||
if (temp_s0->soundStatus != 0) {
|
||||
func_800C473C(temp_s5 & 0xFF, var_s1 & 0xFF);
|
||||
}
|
||||
var_s1 = temp_s3[var_s2].next;
|
||||
} else {
|
||||
var_s2 = var_s1 & 0xFF;
|
||||
var_s1 = temp_s3[var_s2].next;
|
||||
curr = 0;
|
||||
next = sSoundBanks[arg0][0].next;
|
||||
|
||||
while (next != 0xff) {
|
||||
if (arg1 == sSoundBanks[arg0][next].unk00) {
|
||||
if (sSoundBanks[arg0][next].soundStatus >= 3) {
|
||||
func_800CBBE8((0x06020000 | ((sSoundBanks[arg0][next].unk2C & 0xff) << 8)), 0);
|
||||
}
|
||||
} while (var_s1 != 0xFF);
|
||||
|
||||
if (sSoundBanks[arg0][next].soundStatus != 0) {
|
||||
func_800C473C(arg0, next);
|
||||
}
|
||||
} else {
|
||||
curr = next;
|
||||
}
|
||||
|
||||
next = sSoundBanks[arg0][curr].next;
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C5384.s")
|
||||
#endif
|
||||
|
||||
extern void func_800C5384(u8, s32);
|
||||
|
||||
struct UnkStruct {
|
||||
s32 unk0;
|
||||
@@ -2288,8 +2276,6 @@ void func_800C54B8(u8 arg0, s32 arg1) {
|
||||
func_800C41CC(1, (void*)&unk);
|
||||
}
|
||||
|
||||
extern void func_800C5384(u8, s32); /* extern */
|
||||
|
||||
|
||||
void func_800C550C(s32 arg0) {
|
||||
UNUSED s32 pad[11];
|
||||
|
||||
@@ -79,7 +79,7 @@ struct Unk_80191420 {
|
||||
/* 0x29 */ u8 freshness;
|
||||
/* 0x2A */ u8 prev;
|
||||
/* 0x2B */ u8 next;
|
||||
/* 0x2C */ s32 unk2C;
|
||||
/* 0x2C */ u8 unk2C;
|
||||
}; // size = 0x30
|
||||
|
||||
struct Unk_800EA06C {
|
||||
|
||||
Reference in New Issue
Block a user