Merged `__read_u32_le` and `UnpackProc` from `lha.c` to `_ob_rabid_jar`
This commit is contained in:
parent
9e1dd54094
commit
2efd0cbbe9
|
|
@ -253,7 +253,7 @@ typedef struct {
|
||||||
|
|
||||||
ASSERT_SIZE(OverlaySomething, 0x14);
|
ASSERT_SIZE(OverlaySomething, 0x14);
|
||||||
|
|
||||||
extern OverlaySomething* (*D_800AF028[24])(void);
|
extern OverlaySomething* (*D_800AF028[])(void);
|
||||||
|
|
||||||
extern OverlaySomething* D_800E8294;
|
extern OverlaySomething* D_800E8294;
|
||||||
|
|
||||||
|
|
@ -270,7 +270,7 @@ extern void __setup_overlay_87200(void);
|
||||||
extern void __setup_overlay_71280_51674(void);
|
extern void __setup_overlay_71280_51674(void);
|
||||||
extern void __setup_overlay_71280_51940(void);
|
extern void __setup_overlay_71280_51940(void);
|
||||||
|
|
||||||
extern u32* func_80076188(void);
|
extern OverlaySomething* func_80076188(void);
|
||||||
extern void func_80076194(void);
|
extern void func_80076194(void);
|
||||||
extern void func_800761A4(void);
|
extern void func_800761A4(void);
|
||||||
extern void __loads_overlay_array(s32 arg0);
|
extern void __loads_overlay_array(s32 arg0);
|
||||||
|
|
@ -387,7 +387,7 @@ extern void func_801C889C(s32 arg0);
|
||||||
extern void func_8007337C(void);
|
extern void func_8007337C(void);
|
||||||
extern void func_801C8864(void);
|
extern void func_801C8864(void);
|
||||||
|
|
||||||
extern u32 D_800A872C[];
|
extern OverlaySomething D_800A872C;
|
||||||
|
|
||||||
extern CharacterSlot CHARACTER_SLOT[0x64];
|
extern CharacterSlot CHARACTER_SLOT[0x64];
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,8 +12,27 @@ INCLUDE_ASM(const s32, "_ob_rabid_jar", __calls_loads_overlay_array);
|
||||||
|
|
||||||
INCLUDE_ASM(const s32, "_ob_rabid_jar", func_80076150);
|
INCLUDE_ASM(const s32, "_ob_rabid_jar", func_80076150);
|
||||||
|
|
||||||
|
/* 6550 80076150 */
|
||||||
|
// s8 func_80076150(u16 arg0) {
|
||||||
|
// switch (arg0) {
|
||||||
|
// case 3:
|
||||||
|
// case 4:
|
||||||
|
// case 5:
|
||||||
|
// case 6:
|
||||||
|
// case 7:
|
||||||
|
// case 10:
|
||||||
|
// case 11:
|
||||||
|
// case 15:
|
||||||
|
// case 18:
|
||||||
|
// case 23:
|
||||||
|
// return 0;
|
||||||
|
// default:
|
||||||
|
// return 1;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
/* 6588 80076188 */
|
/* 6588 80076188 */
|
||||||
u32* func_80076188(void) {
|
OverlaySomething* func_80076188(void) {
|
||||||
return &D_800A872C;
|
return &D_800A872C;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -162,7 +181,10 @@ INCLUDE_ASM(const s32, "_ob_rabid_jar", func_8007A070);
|
||||||
|
|
||||||
INCLUDE_ASM(const s32, "_ob_rabid_jar", Unpack);
|
INCLUDE_ASM(const s32, "_ob_rabid_jar", Unpack);
|
||||||
|
|
||||||
INCLUDE_ASM(const s32, "_ob_rabid_jar", __read_u32_le);
|
/* ABE0 8007A7E0 */
|
||||||
|
u32 __read_u32_le(u8* arg0) {
|
||||||
|
return (arg0[0] << 24) | (arg0[1] << 16) | (arg0[2] << 8) | arg0[3];
|
||||||
|
}
|
||||||
|
|
||||||
INCLUDE_ASM(const s32, "_ob_rabid_jar", func_8007A80C);
|
INCLUDE_ASM(const s32, "_ob_rabid_jar", func_8007A80C);
|
||||||
|
|
||||||
|
|
@ -172,4 +194,29 @@ INCLUDE_ASM(const s32, "_ob_rabid_jar", func_8007AB7C);
|
||||||
|
|
||||||
INCLUDE_ASM(const s32, "_ob_rabid_jar", func_8007ABAC);
|
INCLUDE_ASM(const s32, "_ob_rabid_jar", func_8007ABAC);
|
||||||
|
|
||||||
INCLUDE_ASM(const s32, "_ob_rabid_jar", UnpackProc);
|
void Unpack(s32, s32);
|
||||||
|
extern OSMesgQueue MQ_800AF320;
|
||||||
|
|
||||||
|
/* B030 8007AC30 */
|
||||||
|
void UnpackProc(void) {
|
||||||
|
struct {
|
||||||
|
/* 0x00 */ s32 field_0x0;
|
||||||
|
/* 0x04 */ OSMesgQueue* field_0x4;
|
||||||
|
/* 0x08 */ u8 field_0x8;
|
||||||
|
/* 0x09 */ u8 field_0x9[3];
|
||||||
|
/* 0x0C */ s32 field_0xc;
|
||||||
|
/* 0x10 */ s32 field_0x10;
|
||||||
|
} *sp10;
|
||||||
|
|
||||||
|
sp10 = NULL;
|
||||||
|
while(1) {
|
||||||
|
osRecvMesg(&MQ_800AF320, &sp10, 1);
|
||||||
|
if (sp10->field_0x8 == 1) {
|
||||||
|
Unpack(sp10->field_0x10, sp10->field_0xc);
|
||||||
|
osSendMesg(sp10->field_0x4, sp10, 1);
|
||||||
|
} else {
|
||||||
|
osSyncPrintf("UnpackProc: no supported format %d\n", sp10->field_0x8);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -222,12 +222,12 @@ u8* __SOME_OVERLAY_ID_ARRAY[] = {
|
||||||
u32 D_800A8728 = NULL;
|
u32 D_800A8728 = NULL;
|
||||||
|
|
||||||
/* 38B2C 800A872C */
|
/* 38B2C 800A872C */
|
||||||
u32 D_800A872C[] = {
|
OverlaySomething D_800A872C = {
|
||||||
0x800761A4,
|
.setup = func_800761A4,
|
||||||
0x00000000,
|
.field_0x4 = 0x00000000,
|
||||||
0x00000000,
|
.field_0x8 = 0x00000000,
|
||||||
0x00000000,
|
.field_0xc = 0x00000000,
|
||||||
0x0000000C
|
.field_0x10 = 0x0000000C
|
||||||
};
|
};
|
||||||
|
|
||||||
/* 38B40 800A8740 */
|
/* 38B40 800A8740 */
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue