#ifndef M_CPAK_H #define M_CPAK_H #include "ultra64.h" #include "unk.h" #include "m_npc.h" #include "m_private.h" typedef struct B80137C40Unk0000Struct { /* 0x0000 */ u16 unk_0000; /* 0x0002 */ UNK_TYPE1 unk_0002[0x0006]; /* 0x0008 */ PrivateInfo priv; /* 0x0BD8 */ Animal_c animal; /* 0x1100 */ u16 unk_1100; /* 0x1102 */ UNK_TYPE1 unk_1102[0x00FE]; } B80137C40Unk0000Struct; // size = 0x1200 typedef struct B80137C40Struct { /* 0x0000 */ B80137C40Unk0000Struct unk_0000; /* 0x1200 */ OSMesgQueue* unk_1200; /* 0x1204 */ UNK_TYPE unk_1204; /* 0x1208 */ u16 unk_1208; } B80137C40Struct; // size = 0x1208 // For alignment this can only have members of size 1 or 2 typedef struct D80104798Struct { /* 0x0 */ UNK_TYPE1 unk0[0x10]; } D80104798Struct; // size 0x10 typedef struct D801047A8Struct { /* 0x0 */ UNK_TYPE1 unk_0[0x08]; } D801047A8Struct; // size <= 0x8 typedef struct D801047B0Struct { /* 0x0000 */ u16 unk_0000; /* 0x0002 */ UNK_TYPE1 unk_0002[0x66FE]; } D801047B0Struct; // size = 0x6700; typedef struct PakInfo74Struct { /* 0x00 */ size_t unk_00; /* 0x04 */ UNK_TYPE1 unk_04[0x6]; /* 0x0A */ char unk_0A[4]; /* 0x0E */ D80104798Struct unk_0E; /* 0x1E */ UNK_TYPE1 unk_1E[0x2]; } PakInfo74Struct; // size = 0x20 typedef struct PakInfo94Struct { /* 0x00 */ UNK_TYPE1 unk_00[0x20]; } PakInfo94Struct; // size = 0x20 typedef struct PakInfo04Struct { /* 0x00 */ OSPfs pfs; /* 0x68 */ s32 unk_68; /* 0x6C */ s32 unk_6C; } PakInfo04Struct; // size = 0x70 typedef struct PakInfo { /* 0x000 */ UNK_TYPE unk_00; /* 0x004 */ PakInfo04Struct unk_04; /* 0x074 */ PakInfo74Struct unk_74; /* 0x090 */ PakInfo94Struct unk_94[16]; /* 0x294 */ s32 unk_294[16]; /* 0x2D4 */ size_t unk_2D4; /* 0x2D8 */ s32 unk_2D8; /* 0x2DC */ s32 unk_2DC; } PakInfo; // size >= 0x2DC UNK_RET mCPk_PakOpen(PakInfo* info, s32 arg1); UNK_RET func_80078F08_jp(PakInfo* info); s32 func_80078FE8_jp(PakInfo* info); void func_80079080_jp(B80137C40Struct* arg0); UNK_RET mCPk_InitPak(UNK_TYPE arg0); PrivateInfo* func_800793A8_jp(void); s32 mCPk_SavePak(PrivateInfo* priv, Animal_c* animal, PakInfo* info); s32 func_8007942C_jp(PrivateInfo* priv, Animal_c* animal, PakInfo* info); s32 func_80079760_jp(void); void* func_80079838_jp(void); s32 func_800798DC_jp(PakInfo* info); UNK_RET func_80079AAC_jp(void); UNK_RET func_80079D00_jp(void); s32 func_80079E54_jp(D801047B0Struct* arg0, PakInfo* arg1); UNK_RET func_80079EA4_jp(UNK_PTR, PakInfo* info); void func_80079EDC_jp(void); s32 func_80079F44_jp(void); void func_8007A008_jp(void); PakInfo* mCPk_get_pkinfo(void); s32 func_8007A080_jp(void); #endif