Merge pull request #219 from dplewis/frag25
Some checks failed
C/C++ CI / build (push) Has been cancelled

Fragment25
This commit is contained in:
Revo 2025-12-05 18:07:20 -05:00 committed by GitHub
commit 5dc7d23ec0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 38 additions and 6 deletions

View File

@ -577,7 +577,7 @@ s32 func_800373D8(void) {
// Read the second file from the sub header into D_800FC6DC (0x16F2BD0)
func_8004ADB0(D_800FC6EC->offset2, D_800FC6DC, D_800FC6EC->wave_tables_offset - D_800FC6EC->offset2);
// Decompress the yay0 file into D_800FC688
// Decompress the yay0 file into D_800FC68C
D_800FC68C = alHeapAlloc(D_800FC810, 1, 0x157C);
func_80050B40(D_800FC6DC, D_800FC68C, 0x157C);
// ???

View File

@ -14,7 +14,7 @@ typedef struct File1Header {
/* 0x04 */ u32 wave_tables_offset;
/* 0x08 */ u32 num_files;
/* 0x0C */ u32 files[1];
} File1Header; // size = 0xC
} File1Header; // size >= 0x10
typedef struct File2SubHeader1 {
/* 0x00 */ u32 offset1;
@ -48,7 +48,7 @@ typedef struct unk_D_800FC6D4_entry {
typedef struct unk_D_800FC6D4_008 {
/* 0x00 */ u32 unk_00;
/* 0x04 */ u8 unk_04;
} unk_D_800FC6D4_008; // size = 0x8
} unk_D_800FC6D4_008; // size = 0x5
typedef struct unk_D_800FC6D4 {
/* 0x00 */ u16 flags;

View File

@ -2,6 +2,7 @@
#include "src/2E460.h"
extern unk_D_88400138 D_88400138[];
extern unk_D_88400100 D_88400100[];
/*
static unk_D_88400138 D_88400138[] = {
{ 0x00000000, { 0xFF, 0xFF, 0xFF, 0xFF } }, { 0x00000001, { 0x4D, 0x4D, 0x4D, 0xFF } },
@ -10,8 +11,6 @@ static unk_D_88400138 D_88400138[] = {
{ 0x00000006, { 0xFF, 0xFF, 0x00, 0xFF } },
};
*/
extern unk_D_88400138 D_88400138[];
/*
static unk_D_88400138 D_88400138[] = {
{ 0, { 0xF0, 0xF0, 0xF0, 0xFF }, { 0xF0, 0xF0, 0xF0, 0xFF } },
@ -32,9 +31,42 @@ static unk_D_88400138 D_88400138[] = {
};
*/
#ifdef NON_MATCHING
s32 func_88400020(s32 arg0) {
s32 v1;
if (arg0 & 7) {
return 2;
}
if (arg0 & 8) {
return 3;
}
if (arg0 & 0x10) {
return 4;
}
if (arg0 & 0x20) {
return 5;
}
if (arg0 & 0x40) {
return 6;
}
v1 = 0;
return v1;
}
#else
s32 func_88400020(s32);
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/25/fragment25/func_88400020.s")
#endif
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/25/fragment25/func_8840007C.s")
unk_D_88400100* func_8840007C(unk_func_80026268_arg0* arg0) {
s32 var_v1;
if (arg0->unk_02 == 0) {
var_v1 = 1;
} else {
var_v1 = func_88400020(arg0->unk_05);
}
return &D_88400100[var_v1];
}
unk_D_88400138* func_884000C4(s32 arg0) {
return &D_88400138[func_8002EDEC(arg0)];