summaryrefslogtreecommitdiff
path: root/include/Save/AdventureFlags.hpp
blob: 33f7c578152fa7cd2fea9381d3b25b9cfed7e164 (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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
#pragma once

#include "global.h"
#include "types.h"

#include "Cutscene/CutsceneHandler.hpp"
#include "Render/FadeControl.hpp"
#include "System/SysNew.hpp"

typedef u32 AdventureFlag;
enum AdventureFlag_ {
    /* 0x09 */ AdventureFlag_SWSeaChart = 9,
    /* 0x0a */ AdventureFlag_NWSeaChart = 10,
    /* 0x0b */ AdventureFlag_SESeaChart = 11,
    /* 0x0c */ AdventureFlag_NESeaChart = 12,

    /* 0x13 */ AdventureFlag_Hourglass = 19,

    /* 0x16 */ AdventureFlag_SunKey = 22,
    /* 0x17 */ AdventureFlag_Unk_23 = 23,

    /* 0x2b */ AdventureFlag_FishingRod = 43,

    /* 0x30 */ AdventureFlag_Cannon = 48,

    /* 0x33 */ AdventureFlag_RegalNecklace = 51,

    /* 0x7a */ AdventureFlag_CourageCrest = 122,

    /* 0x7d */ AdventureFlag_Azurine    = 125,
    /* 0x7e */ AdventureFlag_Crimsonine = 126,
    /* 0x7f */ AdventureFlag_Aquanine   = 127,
    /* 0x80 */ AdventureFlag_Unk_128    = 128,

    /* 0x8c */ AdventureFlag_SalvageArm = 140,

    /* 0xa2 */ AdvantureFlag_HerosNewClothes = 162,
    /* 0xa3 */ AdvantureFlag_Kaleidoscope    = 163,
    /* 0xa4 */ AdventureFlag_GuardNotebook   = 164,

    /* 0xa7 */ AdventureFlag_WoodHeart = 167,

    /* 0xb6 */ AdventureFlag_SpawnFinalPhantoms = 182,

    /* 0x126 */ AdventureFlag_ReceivedGoldenChimney  = 294,
    /* 0x127 */ AdventureFlag_ReceivedGoldenHandrail = 295,
    /* 0x128 */ AdventureFlag_ReceivedGoldenCannon   = 296,
    /* 0x129 */ AdventureFlag_ReceivedGoldenHull     = 297,

    /* 0x137 */ AdventureFlag_FrogGlyph_MercayIsland = 311,
    /* 0x138 */ AdventureFlag_FrogGlyph_MolidaIsland = 312,
    /* 0x139 */ AdventureFlag_FrogGlyph_BannanIsland = 313,
    /* 0x13a */ AdventureFlag_FrogGlyph_DeeEssIsland = 314,
    /* 0x13b */ AdventureFlag_FrogGlyph_IsleOfFrost  = 315,
    /* 0x13c */ AdventureFlag_FrogGlyph_NorthEast    = 316,

    /* 0x187 */ AdventureFlag_COUNT = 391,
};

struct UnkStruct_027e0d38_UnkC {
    /* 00 */ unk32 mUnk_00;

    s32 func_ov000_020a5e9c(void);
};

class UnkStruct_02082348_04 {
public:
    /* 00 */ unk32 mUnk_00;
    /* 00 */ unk32 mUnk_04;
    /* 00 */ unk32 mUnk_08;
    /* 0c */ unk16 mUnk_0c;
    /* 0e */ u8 mUnk_0e;
    /* 0f */ u8 mUnk_0f;
    /* 10 */ u8 mUnk_10;
    /* 11 */ u8 mUnk_11;
    /* 12 */ u8 mUnk_12;
    /* 13 */ u8 mUnk_13;
    /* 14 */
};

struct FlagsUnk2 {
    /* 00 */ UnkStruct_027e0d38_UnkC mUnk_00;
    /* 04 */ UnkStruct_02082348_04 mUnk_04;
    /* 18 */

    ~FlagsUnk2();
    void func_ov000_02078bf0(FlagsUnk2 *param_2);
    void func_ov004_02100ae0();
};

struct FlagsUnk {
    /* 00 */ FlagsUnk2 mUnk_00;
    /* 18 */ FlagsUnk2 mUnk_18;
    /* 30 */ unk32 mUnk_30;
    /* 34 */ unk32 mUnk_34;
    /* 38 */ unk32 mUnk_38;
    /* 3c */ unk16 mUnk_3c;
    /* 3e */ unk16 mUnk_3e;
    /* 40 */ unk16 mUnk_40;
    /* 42 */ unk16 mUnk_42;
    /* 44 */ unk32 mUnk_44;
    /* 48 */ unk8 mUnk_48;
    /* 49 */ unk8 mUnk_49;
    /* 4a */ unk8 mUnk_4a;
    /* 4b */ unk8 mUnk_4b;
    /* 4c */

    ~FlagsUnk();

    void func_ov000_020980f8();
};

class AdventureFlags : public SysObject {
public:
    /* 00 */ unk32 mFlags[16];
    /* 40 */ CutsceneHandler *mCutsceneHandler;
    /* 44 */ void *mUnk_44;
    /* 48 */

    static bool Exists();
    void CopyTo(unk32 *flags);
    void func_ov00_02097674();
    s32 func_ov00_02097684();
    void Load();
    void func_ov00_020976c8();
    void func_ov00_02097700();
    bool func_ov00_02097738();
    unk8 func_ov00_02097750();
    bool Get(AdventureFlag flag);
    void Set(AdventureFlag flag, bool value);
    void func_Ov00_02097810(s32 param1);
    unk32 func_ov00_02097968(unk32 param1);
    unk32 func_ov00_02097a44(unk32 param1, s32 param2);
    bool func_ov00_02097b9c(s32 param1);
    bool func_ov00_02097bac();
    bool func_ov00_02097bbc();
    bool func_ov00_02097bcc();
    bool func_ov00_02097bcc(s32 param2);
    s32 func_ov00_02097c08();
    bool Get_FlagsUnk_30_Flag(s32 index);
    u8 Get_FlagsUnk_49(s32 index);
    u8 Get_FlagsUnk_48(s32 index);
    u8 Get_FlagsUnk_4a(s32 index);
    u16 Get_FlagsUnk_42(s32 index);
    u16 Get_FlagsUnk_40(s32 index);
    unk32 Get_FlagsUnk_38(s32 index);
    unk32 Get_FlagsUnk_34(s32 index);
    unk32 Get_FlagsUnk_44(s32 index);
    static unk32 Get_FlagsUnk_30(s32 index);
    static bool Get_FlagsUnk_00(s32 index, FlagsUnk2 *result);
    bool Get_FlagsUnk_18(s32 index, FlagsUnk2 *result);
    FlagsUnk *Get_FlagsUnk(s32 index);
    bool func_ov00_02097e6c();
    bool func_ov00_02097e7c();
    bool func_ov00_02097ea4();
    static unk32 func_ov00_02097ecc();
    void *func_ov00_02097f8c();
    void *func_ov00_02097fac();
    void *func_ov00_02097fd0();
    void func_ov00_02097ff4(bool param1, bool param2);
    unk32 func_ov00_02098058();
    bool func_ov00_02098064(unk32 param1);
    bool func_ov00_02098074(unk32 param1, unk16 param2, unk32 param3, unk32 param4, bool param5);
    bool func_ov00_0209809c();
    bool func_ov00_020980ac();
    void func_ov00_020980bc(s32 param1);

    AdventureFlags();
    ~AdventureFlags();
    static void Create();
    static void Destroy();
    void func_ov004_021044f8(s32 param1);
    void func_ov004_0210453c();
    bool func_ov004_0210455c(s32 param1);
    void func_ov004_021046c8(unk32 param1);
    void func_ov004_021046d4();
};

extern AdventureFlags *gAdventureFlags;