summaryrefslogtreecommitdiff
path: root/include/m_cpak.h
blob: 0a6c72358d053ee318bf50f9c538406b67d6c158 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#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