Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_save.h
Go to the documentation of this file.
1#ifndef D_SAVE_D_SAVE_H
2#define D_SAVE_D_SAVE_H
3
4#include <cstring>
6#include <os.h>
7#include "global.h"
8#include "d/d_item_data.h"
9#include "JSystem/JUtility/JUTAssert.h"
10#include "JSystem/JHostIO/JORReflexible.h"
11
12
13static const int DEFAULT_SELECT_ITEM_INDEX = 0;
14static const int MAX_SELECT_ITEM = 4;
15static const int SELECT_ITEM_NUM = 2;
16static const int MAX_EQUIPMENT = 6;
17static const int MAX_EVENTS = 256;
18static const int MAX_ITEM_SLOTS = 24;
19static const int LIGHT_DROP_STAGE = 4;
20static const int LETTER_INFO_BIT = 64;
21static const int MAX_INSECT_NUM = 24;
22static const int MAX_VISIBLE_HEARTPIECES = 4;
23static const int MAX_POH_NUM = 100;
24static const int TBOX_MAX = 64;
25static const int DSV_MEMBIT_ENUM_MAX = 8;
26static const int ITEM_MAX_DAN = 128;
27static const int SWITCH_ZONE_MAX = 0x20;
28static const int SWITCH_ONE_ZONE_MAX = 0x10;
29static const int ITEM_ZONE_MAX = 0x20;
30static const int ITEM_ONE_ZONE_MAX = 0x10;
31static const int QUEST_LOG_SIZE = 0xA94;
32static const int QUIVER_MAX = 30;
33static const int BIG_QUIVER_MAX = 60;
34static const int GIANT_QUIVER_MAX = 100;
35static const int WALLET_MAX = 300;
36static const int BIG_WALLET_MAX = 600;
37static const int GIANT_WALLET_MAX = 1000;
38static const int MAX_FINDABLE_FISHES = 6;
39
40static const int ITEM_BIT_MAX = 0x100;
41static const int ITEM_XY_MAX_DUMMY = 8;
42
44 /* 0 */ A_BUTTON,
45 /* 1 */ B_BUTTON,
46};
47
48enum Wallets {
49 /* 0x0 */ WALLET,
50 /* 0x1 */ BIG_WALLET,
51 /* 0x2 */ GIANT_WALLET
52};
53
55 /* 0x00 */ SLOT_0,
56 /* 0x01 */ SLOT_1,
57 /* 0x02 */ SLOT_2,
58 /* 0x03 */ SLOT_3,
59 /* 0x04 */ SLOT_4, // Bow Slot
60 /* 0x05 */ SLOT_5,
61 /* 0x06 */ SLOT_6,
62 /* 0x07 */ SLOT_7,
63 /* 0x08 */ SLOT_8,
64 /* 0x09 */ SLOT_9,
65 /* 0x0A */ SLOT_10,
66 /* 0x0B */ SLOT_11,
67 /* 0x0C */ SLOT_12,
68 /* 0x0D */ SLOT_13,
69 /* 0x0E */ SLOT_14,
70 /* 0x0F */ SLOT_15,
71 /* 0x10 */ SLOT_16,
72 /* 0x11 */ SLOT_17,
73 /* 0x12 */ SLOT_18,
74 /* 0x13 */ SLOT_19,
75 /* 0x14 */ SLOT_20,
76 /* 0x15 */ SLOT_21,
77 /* 0x16 */ SLOT_22,
78 /* 0x17 */ SLOT_23
79};
80
83 /* 0x1 */ COLLECT_SWORD,
84 /* 0x2 */ COLLECT_SHIELD,
85 /* 0x3 */ COLLECT_SMELL,
86 /* 0x4 */ B_BUTTON_ITEM
87};
88
95
101
103 /* 0x0 */ KOKIRI_CLOTHES_FLAG
105
107 /* 0x0 */ FARON_VESSEL,
108 /* 0x1 */ ELDIN_VESSEL,
109 /* 0x2 */ LANAYRU_VESSEL
111
113 /* 0x0 */ ARROW_MAX,
115 /* 0x2 */ WATER_BOMB_MAX,
116 /* 0x6 */ POKE_BOMB_MAX = 6
118
119enum {
123 /* 0x3 */ SELECT_ITEM_B,
126};
127
128enum {
130 /* 0x1 */ TF_STATUS_WOLF,
131};
132
134public:
135 void init();
136 void setSelectItemIndex(int i_no, u8 i_slotNo);
137 u8 getSelectItemIndex(int i_no) const;
138 void setMixItemIndex(int i_no, u8 i_slotNo);
139 u8 getMixItemIndex(int i_no) const;
140 u16 getRupeeMax() const;
141 void onMagicFlag(u8 i_magic);
142 void offMagicFlag(u8 i_magic);
143 int isMagicFlag(u8 i_magic) const;
144
145 u16 getMaxLife() const { return mMaxLife; }
146 void setMaxLife(u16 i_maxLife) { mMaxLife = i_maxLife; }
147 u16 getLife() const { return mLife; }
148 void setLife(u16 i_life) { mLife = i_life; }
149 u16 getRupee() const { return mRupee; }
150 void setRupee(u16 i_rupees) { mRupee = i_rupees; }
151 u16 getMaxOil() const { return mMaxOil; }
152 void setMaxOil(u16 i_maxOil) { mMaxOil = i_maxOil; }
153 u16 getOil() const { return mOil; }
154 void setOil(u16 i_oil) { mOil = i_oil; }
155 u8 getSelectEquip(int item) const { return mSelectEquip[item]; }
156 void setSelectEquip(int i_equipId, u8 i_itemNo) { mSelectEquip[i_equipId] = i_itemNo; }
157 u8 getWalletSize() const { return mWalletSize; }
158 void setWalletSize(u8 i_size) { mWalletSize = i_size; }
159 u8 getMaxMagic() const { return mMaxMagic; }
160 void setMaxMagic(u8 i_maxMagic) { mMaxMagic = i_maxMagic; }
161 u8 getMagic() const { return mMagic; }
162 void setMagic(u8 i_magic) { mMagic = i_magic; }
164 void setTransformStatus(u8 i_status) { mTransformStatus = i_status; }
165
166private:
167 /* 0x00 */ u16 mMaxLife;
168 /* 0x02 */ u16 mLife;
169 /* 0x04 */ u16 mRupee;
170 /* 0x06 */ u16 mMaxOil;
171 /* 0x08 */ u16 mOil;
172 /* 0x0A */ u8 unk10;
173 /* 0x0B */ u8 mSelectItem[MAX_SELECT_ITEM]; // For GC: first 2 are X & Y, others unused; For
174 // Wii (in order): Left, Right, Down, B
175 /* 0x0F */ u8 mMixItem[MAX_SELECT_ITEM]; // Combo items; For GC: first 2 are X & Y, others
176 // unused; For Wii (in order): Left, Right, Down, B
178 /* 0x19 */ u8 mWalletSize;
179 /* 0x1A */ u8 mMaxMagic;
180 /* 0x1B */ u8 mMagic;
181 /* 0x1C */ u8 mMagicFlag;
182 /* 0x1D */ u8 unk29;
183 /* 0x1E */ u8 mTransformStatus;
184 /* 0x1F */ u8 unk31[3];
185}; // Size: 0x28
186
188public:
189 void init();
190 void onDarkClearLV(int i_no);
191 void offDarkClearLV(int i_no);
192 BOOL isDarkClearLV(int i_no) const;
193 void onTransformLV(int i_no);
194 void offTransformLV(int i_no);
195 BOOL isTransformLV(int i_no) const;
196
197 OSTime getDateIpl() const { return mDateIpl; }
198 void setDateIpl(OSTime i_time) { mDateIpl = i_time; }
199 f32 getTime() const { return mTime; }
200 void setTime(f32 i_time) { mTime = i_time; }
201 u16 getDate() const { return mDate; }
202 void setDate(u16 i_date) { mDate = i_date; }
203
204private:
205 /* 0x00 */ OSTime mDateIpl;
206 /* 0x08 */ u8 mTransformLevelFlag;
207 /* 0x09 */ u8 mDarkClearLevelFlag;
208 /* 0x0A */ u8 unk10;
209 /* 0x0B */ u8 unk11;
210 /* 0x0C */ f32 mTime;
211 /* 0x10 */ u16 mDate;
212 /* 0x12 */ u8 unk18[3];
213}; // Size: 0x18
214
216public:
218
219 void init();
220 void set(const char* i_name, const cXyz& i_pos, s16 i_angle, s8 i_roomNo);
221
222 cXyz& getPos() { return mPos; }
223 s16 getAngleY() const { return mAngleY; }
224 const char* getStageName() const { return mName; }
225 s8 getRoomNo() const { return mRoomNo; }
226
227private:
228 /* 0x00 */ cXyz mPos;
229 /* 0x0C */ s16 mAngleY;
230 /* 0x0E */ char mName[8];
231 /* 0x16 */ u8 mSpawnId;
232 /* 0x17 */ s8 mRoomNo;
233}; // Size: 0x18
234
236public:
237 void init();
238 void set(const char* i_name, s8 i_roomNo, u8 i_status);
239 char* getName() { return mName; }
240 u8 getPlayerStatus() const { return mPlayerStatus; }
241 s8 getRoomNo() const { return mRoomNo; }
242
243private:
244 /* 0x00 */ char mName[8];
245 /* 0x08 */ u8 mPlayerStatus;
246 /* 0x09 */ s8 mRoomNo;
247 /* 0x0A */ u8 unk10;
248 /* 0x0B */ u8 unk11;
249}; // Size: 0xC
250
252public:
254
255 void init();
256 BOOL isRegionBit(int i_region) const;
257 void onRegionBit(int i_region);
258 void set(const char* i_name, const cXyz& i_pos, s16 i_angle, s8 i_spawn, u8 i_regionNo);
259
260 cXyz& getPos() { return mPos; }
261 s16 getAngleY() { return mAngleY; }
262 char* getName() { return mName; }
263 u8 getRegionNo() const { return mRegionNo; }
264 bool isFieldDataExistFlag() const { return mFieldDataExistFlag ? true : false; }
267
268
269private:
270 /* 0x00 */ cXyz mPos;
271 /* 0x0C */ s16 mAngleY;
272 /* 0x0E */ char mName[8];
273 /* 0x16 */ s8 mLastSpawnId;
274 /* 0x17 */ u8 mRegionNo;
275 /* 0x18 */ bool mFieldDataExistFlag;
276 /* 0x19 */ u8 mRegion;
277 /* 0x1A */ u8 unk26[2];
278}; // Size: 0x1C
279
281public:
283
284 void init();
285 void setWarpItemData(const char* i_name, const cXyz& i_pos, s16 i_angle, s8 i_roomNo, u8, u8);
286
287 cXyz& getPos() { return mPos; }
288 s16 getAngleY() const { return mAngleY; }
289 const char* getName() { return mName; }
290 s8 getRoomNo() const { return mRoomNo; }
292 void setWarpAcceptStage(s8 accept) { mWarpAcceptStage = accept; }
294
295private:
296 /* 0x00 */ cXyz mPos;
297 /* 0x0C */ s16 mAngleY;
298 /* 0x0E */ char mName[8];
299 /* 0x16 */ u8 mSpawnId;
300 /* 0x17 */ s8 mRoomNo;
301 /* 0x18 */ s8 mWarpAcceptStage;
302 /* 0x19 */ u8 unk25[3];
303}; // Size: 0x1C
304
306public:
307 void init();
308 void setItem(int i_slotNo, u8 i_itemNo);
309 u8 getItem(int i_slotNo, bool i_checkCombo) const;
310 void setLineUpItem();
311 u8 getLineUpItem(int i_slotNo) const;
312 void setBottleItemIn(u8 curItemIn, u8 newItemIn);
313 void setEmptyBottleItemIn(u8 i_itemNo);
314 void setEmptyBottle();
315 void setEmptyBottle(u8 i_itemNo);
316 void setEquipBottleItemIn(u8 curItemIn, u8 newItemIn);
317 void setEquipBottleItemEmpty(u8 curItemIn);
318 u8 checkBottle(u8 i_itemNo);
319 int checkInsectBottle();
320 u8 checkEmptyBottle();
321 void setBombBagItemIn(u8 i_curBomb, u8 i_newBomb, bool i_setNum);
322 void setBombBagItemIn(u8 i_curBomb, u8 i_newBomb, u8 i_bombNum, bool i_setNum);
323 void setEmptyBombBagItemIn(u8 i_newBomb, bool i_setNum);
324 void setEmptyBombBagItemIn(u8 i_newBomb, u8 i_bombNum, bool i_setNum);
325 void setEmptyBombBag();
326 void setEmptyBombBag(u8 i_newBomb, u8 i_bombNum);
327 u8 checkBombBag(u8 i_itemNo);
328 void setWarashibeItem(u8 i_itemNo);
329 void setRodTypeLevelUp();
330 void setBaitItem(u8 i_itemNo);
331
332 static const int BOMB_BAG_MAX = 3;
333 static const int BOTTLE_MAX = 4;
334
335private:
336 /* 0x00 */ u8 mItems[24];
337 /* 0x18 */ u8 mItemSlots[24];
338}; // Size: 0x30
339
341public:
342 void init();
343 void onFirstBit(u8 i_itemNo);
344 void offFirstBit(u8 i_itemNo);
345 int isFirstBit(u8 i_itemNo) const;
346
347private:
348 /* 0x0 */ u32 mItemFlags[8];
349}; // Size: 0x20
350
352public:
353 void init();
354 void setBombNum(u8 i_bagIdx, u8 i_bombNum);
355 u8 getBombNum(u8 i_bagIdx) const;
356 void setBottleNum(u8 i_bottleIdx, u8 i_bottleNum);
357 u8 addBottleNum(u8 i_bottleIdx, s16 i_num);
358 u8 getBottleNum(u8 i_bottleIdx) const;
359
360 u8 getArrowNum() const { return mArrowNum; }
361 void setArrowNum(u8 i_num) { mArrowNum = i_num; }
362 u8 getPachinkoNum() const { return mPachinkoNum; }
363 void setPachinkoNum(u8 i_num) { mPachinkoNum = i_num; }
364
365private:
366 /* 0x0 */ u8 mArrowNum;
367 /* 0x1 */ u8 mBombNum[3];
368 /* 0x4 */ u8 mBottleNum[4];
369 /* 0x8 */ u8 mPachinkoNum;
370 /* 0x9 */ u8 unk5[3];
371}; // Size: 0xC
372
374public:
375 void init();
376 void setBombNum(u8 i_bombType, u8 i_maxNum);
377 u8 getBombNum(u8 i_bombType) const;
378
379 u8 getArrowNum() const { return mItemMax[ARROW_MAX]; }
380 void setArrowNum(u8 i_maxNum) { mItemMax[ARROW_MAX] = i_maxNum; }
381
382private:
383 /* 0x0 */ u8 mItemMax[8];
384}; // Size: 0x8
385
387public:
388 void init();
389 void setCollect(int i_item_type, u8 i_item);
390 void offCollect(int i_item_type, u8 i_item);
391 BOOL isCollect(int i_item_type, u8 i_item) const;
392 void onCollectCrystal(u8 i_item);
393 void offCollectCrystal(u8 i_item);
394 BOOL isCollectCrystal(u8 i_item) const;
395 void onCollectMirror(u8 i_item);
396 void offCollectMirror(u8 i_item);
397 BOOL isCollectMirror(u8 i_item) const;
398
399 void setPohNum(u8 i_num) { mPohNum = i_num; }
400 u8 getPohNum() const { return mPohNum; }
401
402 void addPohNum() {
403 if (mPohNum < 0xFF) {
404 mPohNum++;
405 }
406 }
407
408private:
409 /* 0x0 */ u8 mItem[8];
410 /* 0x8 */ u8 unk8;
411 /* 0x9 */ u8 mCrystal;
412 /* 0xA */ u8 mMirror;
413 /* 0xB */ u8 unk11;
414 /* 0xC */ u8 mPohNum;
415 /* 0xD */ u8 padding[3];
416}; // Size: 0x10
417
419public:
420 void init();
421
422private:
423 /* 0x0 */ u8 unk0[3];
424 /* 0x3 */ u8 unk3;
425}; // Size: 0x4
426
428public:
429 void init();
430 void setLightDropNum(u8 i_nowLevel, u8 i_dropNum);
431 u8 getLightDropNum(u8 i_nowLevel) const;
432 void onLightDropGetFlag(u8 i_nowLevel);
433 void offLightDropGetFlag(u8 i_nowLevel);
434 BOOL isLightDropGetFlag(u8 i_nowLevel) const;
435
436private:
437 /* 0x0 */ u8 mLightDropNum[4];
438 /* 0x4 */ u8 mLightDropGetFlag;
439 /* 0x5 */ u8 unk5[3];
440}; // Size: 0x8
441
443public:
444 void init();
445 void onLetterGetFlag(int i_no);
446 BOOL isLetterGetFlag(int i_no) const;
447 void onLetterReadFlag(int i_no);
448 int isLetterReadFlag(int i_no) const;
449 u8 getGetNumber(int i_no) { return mGetNumber[i_no]; }
450 void setGetNumber(int i_no, u8 i_value) { mGetNumber[i_no] = i_value; }
451
452private:
453 /* 0x00 */ u32 mLetterGetFlags[2];
454 /* 0x08 */ u32 mLetterReadFlags[2];
455 /* 0x10 */ u8 mGetNumber[64];
456}; // Size: 0x50
457
459public:
460 void init();
461 void addFishCount(u8 i_fishIndex);
462 u16 getFishCount(u8 i_fishIndex) const { return mFishCount[i_fishIndex]; }
463 u8 getMaxSize(int i_sizeIndex) const { return mMaxSize[i_sizeIndex]; }
464 void setMaxSize(int i_sizeIndex, u8 i_size) { mMaxSize[i_sizeIndex] = i_size; }
465
466private:
467 /* 0x00 */ u16 mFishCount[16];
468 /* 0x20 */ u8 mMaxSize[16];
469}; // Size: 0x34
470
472public:
473 void init();
474 OSTime getTotalTime() const { return mTotalTime; }
475 void setTotalTime(OSTime i_time) { mTotalTime = i_time; }
477 if (mDeathCount < 0xFFFF) {
478 mDeathCount++;
479 }
480 }
481 char* getPlayerName() const { return const_cast<char*>(mPlayerName); }
482 void setPlayerName(const char* i_name) { strcpy(mPlayerName, i_name); }
483 char* getHorseName() const { return const_cast<char*>(mHorseName); }
484 void setHorseName(const char* i_name) { strcpy(mHorseName, i_name); }
485 u8 getClearCount() const { return mClearCount; }
486
487private:
488 /* 0x00 */ u64 unk0;
489 /* 0x08 */ s64 mTotalTime;
490 /* 0x10 */ u16 unk16;
491 /* 0x12 */ u16 mDeathCount;
492 /* 0x14 */ char mPlayerName[16];
493 /* 0x24 */ u8 unk36;
494 /* 0x25 */ char mHorseName[16];
495 /* 0x35 */ u8 unk53;
496 /* 0x36 */ u8 mClearCount;
497 /* 0x37 */ u8 unk55[5];
498}; // Size: 0x40
499
501public:
502 void init();
503 u32 checkVibration() const;
504 u8 getSound();
505 void setSound(u8 i_mode);
506 u8 getVibration();
507 void setVibration(u8 i_status);
508 u8 getPalLanguage() const;
509
510 // Ruby inline names are from TWW debug.
511 u8 getRuby() { return mRuby; }
512 void setRuby(u8 i_ruby) { mRuby = i_ruby; }
513 u8 getAttentionType() const { return mAttentionType; }
514 void setAttentionType(u8 i_mAttentionType) { mAttentionType = i_mAttentionType; }
516 void setCalibrateDist(u16 i_mCalibrateDist) { mCalibrateDist = i_mCalibrateDist; }
517 u8 getCalValue() { return mCalValue; }
518 void setCalValue(u8 i_mCalValue) { mCalValue = i_mCalValue; }
519 bool getShortCut() { return mShortCut; }
520 void setShortCut(bool i_mShortCut) { mShortCut = i_mShortCut; }
522 void setCameraControl(u8 i_mCameraControl) { mCameraControl = i_mCameraControl; }
523 bool getPointer() { return mPointer; }
524 void setPointer(bool i_mPointer) { mPointer = i_mPointer; }
525
533
534private:
535 /* 0x0 */ u8 mRuby;
536 /* 0x1 */ u8 mSoundMode;
537 /* 0x2 */ u8 mAttentionType; // Lock-On Type; 0 : hold, 1 : switch
538 /* 0x3 */ u8 mVibration; // Rumble status
539 /* 0x4 */ u8 mLanguage;
540 /* 0x5 */ u8 unk5;
541 /* 0x6 */ u16 mCalibrateDist; // Wii pointer horizontal calibration. Default is 0x015E
542 /* 0x8 */ u8 mCalValue; // Wii pointer vertical calibration. Default is 0x00
543 /* 0x9 */ bool mShortCut; // Wii icon shortcut enabled/disabled.
544 /* 0xA */ u8 mCameraControl; // 0 : normal, 1 : inverted
545 /* 0xB */ bool mPointer; // Wii pointer enabled/disabled.
546}; // Size: 0xC
547
549public:
551 void init();
552
571
572private:
590}; // Size: 0x1EC
591
593public:
595 public:
596 /* 0x04F94 */ char mWarpItemStage[8];
597 /* 0x04F9C */ cXyz mWarpItemPos;
598 /* 0x04FA8 */ s16 mWarpItemAngle;
599 /* 0x04FAA */ s8 mWarpItemRoom;
600 /* 0x04FAB */ u8 field_0x4fab; // related to setWarpItemData
601 /* 0x04FAC */ u8 field_0x4fac; // related to setWarpItemData
602 /* 0x04FAD */ u8 field_0x4fad[3];
603 };
604
605 enum {
606 /* 0x0 */ MAP,
607 /* 0x1 */ COMPASS,
608 /* 0x2 */ BOSS_KEY,
610 /* 0x4 */ STAGE_LIFE,
612 /* 0x6 */ OOCCOO_NOTE,
613 /* 0x7 */ STAGE_BOSS_ENEMY_2
614 };
615
616 void init();
617 void onTbox(int i_no);
618 void offTbox(int i_no);
619 BOOL isTbox(int i_no) const;
620 void onSwitch(int i_no);
621 void offSwitch(int i_no);
622 BOOL isSwitch(int i_no) const;
623 BOOL revSwitch(int i_no);
624 void onItem(int i_no);
625 void offItem(int i_no);
626 BOOL isItem(int i_no) const;
627 void onDungeonItem(int i_no);
628 void offDungeonItem(int i_no);
629 s32 isDungeonItem(int i_no) const;
630
631 u8 getKeyNum() { return mKeyNum; }
632 void setKeyNum(u8 i_keyNum) { mKeyNum = i_keyNum; }
635 s32 isDungeonItemMap() const { return isDungeonItem(MAP); }
650 s32 isStageLife() const { return isDungeonItem(STAGE_LIFE); }
660
661private:
662 /* 0x00 */ u32 mTbox[2];
663 /* 0x08 */ u32 mSwitch[4];
664 /* 0x18 */ u32 mItem[1];
665 /* 0x1C */ u8 mKeyNum;
666 /* 0x1D */ u8 mDungeonItem;
667}; // Size: 0x20
668
670public:
671 void init();
672 void onEventBit(const u16 i_no);
673 void offEventBit(const u16 i_no);
674 int isEventBit(const u16 i_no) const;
675 void setEventReg(u16 i_reg, u8 i_no);
676 u8 getEventReg(u16 i_reg) const;
677
678 void* getPEventBit() { return (void*)mEvent; }
679
680private:
681 /* 0x0 */ u8 mEvent[256];
682}; // Size: 0x100
683
685public:
686 void init();
687
688 u32 getHookGameTime() const { return mHookGameTime; }
689 void setHookGameTime(u32 i_time) { mHookGameTime = i_time; }
690 u32 getBalloonScore() const { return mBalloonScore; }
691 void setBalloonScore(u32 i_score) { mBalloonScore = i_score; }
692 u32 getRaceGameTime() const { return mRaceGameTime; }
693 void setRaceGameTime(u32 i_time) { mRaceGameTime = i_time; }
694
695private:
696 /* 0x00 */ u8 unk0[1][4];
697 /* 0x04 */ u32 mHookGameTime;
698 /* 0x08 */ u32 mBalloonScore;
699 /* 0x0C */ u32 mRaceGameTime;
700 /* 0x10 */ u32 unk16;
701 /* 0x14 */ u32 unk20;
702}; // Size: 0x18
703
705public:
706 dSv_memory_c() { this->init(); }
707 void init();
708 dSv_memBit_c& getBit() { return mBit; }
709 const dSv_memBit_c& getBit() const { return mBit; }
710
711private:
713}; // Size: 0x20
714
716
718public:
719 dSv_memory2_c() { this->init(); }
720 void init();
721 void onVisitedRoom(int i_no);
722 void offVisitedRoom(int i_no);
723 BOOL isVisitedRoom(int i_no);
724
725private:
726 /* 0x0 */ u32 mVisitedRoom[2];
727}; // Size: 0x8
728
730
732public:
733 bool init(s8 i_stageNo);
734 void onSwitch(int i_no);
735 void offSwitch(int i_no);
736 BOOL isSwitch(int i_no) const;
737 BOOL revSwitch(int i_no);
738 void onItem(int i_no);
739 void offItem(int i_no);
740 BOOL isItem(int i_no) const;
741
742 void reset() { mStageNo = -1; }
743
744private:
745 /* 0x00 */ s8 mStageNo;
746 /* 0x01 */ u8 unk1;
747 /* 0x04 */ u32 mSwitch[2];
748 /* 0x0C */ u32 mItem[4];
749 /* 0x1C */ s16 unk28[16];
750}; // Size: 0x3C
751
753public:
754 void init();
755 void clearRoomSwitch();
756 void clearRoomItem();
757 void onSwitch(int i_no);
758 void offSwitch(int i_no);
759 BOOL isSwitch(int i_no) const;
760 BOOL revSwitch(int i_no);
761 void onOneSwitch(int i_no);
762 void offOneSwitch(int i_no);
763 BOOL isOneSwitch(int i_no) const;
764 BOOL revOneSwitch(int i_no);
765 void onItem(int i_no);
766 void offItem(int i_no);
767 BOOL isItem(int i_no) const;
768 void onOneItem(int i_no);
769 void offOneItem(int i_no);
770 BOOL isOneItem(int i_no) const;
771
772private:
773 /* 0x00 */ u16 mSwitch[2];
774 /* 0x04 */ u16 mRoomSwitch;
775 /* 0x06 */ u16 mItem[2];
776 /* 0x0A */ u16 mRoomItem;
777 /* 0x0C */ u16 unk12;
778}; // Size: 0xE
779
781public:
782 void init();
783 void on(int i_id);
784 void off(int i_id);
785 BOOL is(int i_id) const;
786
787 static const int ACTOR_MAX = 0x80;
788
789private:
790 /* 0x00 */ u32 mActorFlags[4];
791}; // Size: 0x10
792
794public:
796 void init(int i_roomNo);
797
798 int getRoomNo() const { return mRoomNo; }
799 void reset() { mRoomNo = -1; }
800 dSv_zoneBit_c& getBit() { return mBit; }
801 const dSv_zoneBit_c& getBit() const { return mBit; }
803 const dSv_zoneActor_c& getActor() const { return mActor; }
804
805private:
806 /* 0x00 */ s8 mRoomNo;
807 /* 0x01 */ u8 unk1;
808 /* 0x02 */ dSv_zoneBit_c mBit;
810}; // Size: 0x20
811
812STATIC_ASSERT(sizeof(dSv_zone_c) == 0x20);
813
815public:
816 void setRoom(const cXyz& i_position, s16 i_angleY, s8 i_roomNo);
817
818 s8 getRoomNo() const { return mRoomNo; }
819 s16 getStartPoint() const { return mStartPoint; }
820 void setStartPoint(s16 point) { mStartPoint = point; }
821 s16 getRoomAngleY() const { return mRoomAngleY; }
822 const cXyz& getRoomPos() const { return mRoomPos; }
823 u32 getRoomParam() const { return mRoomParam; }
824 void setRoomParam(u32 param) { mRoomParam = param; }
825 f32 getLastSpeedF() const { return mLastSpeedF; }
826 u32 getLastMode() const { return mLastMode; }
827 s16 getLastAngleY() const { return mLastAngleY; }
828 void setLastSceneInfo(f32 speed, u32 mode, s16 angle) {
829 mLastSpeedF = speed;
830 mLastMode = mode;
831 mLastAngleY = angle;
832 }
833
834private:
835 /* 0x00 */ s8 mRoomNo;
836 /* 0x01 */ u8 field_0x01[3];
837 /* 0x04 */ s16 mStartPoint;
838 /* 0x06 */ s16 mRoomAngleY;
839 /* 0x08 */ cXyz mRoomPos;
840 /* 0x14 */ u32 mRoomParam;
841 /* 0x18 */ f32 mLastSpeedF;
842 /* 0x1C */ u32 mLastMode;
843 /* 0x20 */ s16 mLastAngleY;
844}; // Size: 0x24
845
847public:
849 public:
850 /* 0x00 */ cXyz mCameraCtr;
851 /* 0x0C */ cXyz mCameraEye;
852 /* 0x18 */ cXyz mCameraUp;
853 }; // Size: 0x24
854
855 void set(const cXyz& i_position, s16 i_angleY, s8, u32 i_param);
856
857 const cXyz& getPos() const { return mPosition; }
858 u32 getParam() const { return mParam; }
859 s16 getAngleY() const { return mAngleY; }
860 s8 getRoomNo() const { return unk18; }
861 const cXyz& getCameraCtr() const { return mCamera.mCameraCtr; }
862 void setCameraCtr(const cXyz& i_ctr) { mCamera.mCameraCtr = i_ctr; }
863 const cXyz& getCameraEye() const { return mCamera.mCameraEye; }
864 void setCameraEye(const cXyz& i_eye) { mCamera.mCameraEye = i_eye; }
865 const cXyz& getCameraUp() const { return mCamera.mCameraUp; }
866 void setCameraUp(const cXyz& i_up) { mCamera.mCameraUp = i_up; }
867 f32 getCameraFvy() const { return mCameraFvy; }
868 void setCameraFvy(f32 i_fvy) { mCameraFvy = i_fvy; }
869
870private:
871 /* 0x00 */ cXyz mPosition;
872 /* 0x0C */ u32 mParam;
873 /* 0x10 */ s16 mAngleY;
874 /* 0x12 */ s8 unk18;
876 /* 0x38 */ f32 mCameraFvy;
877}; // Size: 0x3C
878
880public:
881private:
882 u8 unk[80];
883};
884
886public:
888
889 void init();
890 dSv_memory2_c* getSave2(int i_stage2No);
891
893 dSv_memory_c& getSave(int i_stageNo) {
894 JUT_ASSERT(1412, 0 <= i_stageNo && i_stageNo < STAGE_MAX);
895 return mSave[i_stageNo];
896 }
897 void putSave(int i_stageNo, dSv_memory_c mem) {
898 JUT_ASSERT(1417, 0 <= i_stageNo && i_stageNo < STAGE_MAX);
899 mSave[i_stageNo] = mem;
900 }
903
904 static const int STAGE_MAX = 32;
905 static const int STAGE2_MAX = 64;
906
907 // private:
911 /* 0x7F0 */ dSv_event_c mEvent;
914}; // Size: 0x958
915
916class flagFile_c : public JORReflexible {
917public:
918 enum Flag_e {
924 };
925
926 flagFile_c();
927 ~flagFile_c();
928 BOOL check_flag(u16 i_flag) { return (m_flags & i_flag) != 0; }
929
930 virtual void listenPropertyEvent(const JORPropertyEvent*);
931 virtual void genMessage(JORMContext*);
932
933 /* 0x4 */ u8 unk_0x4[0x6 - 0x4];
934 /* 0x6 */ u16 m_flags;
935 /* 0x8 */ s8 m_no;
936};
937
939public:
940 void init();
941 void getSave(int i_stageNo);
942 void putSave(int i_stageNo);
943 void initZone();
944 u32 createZone(int i_roomNo);
945 void onSwitch(int i_no, int i_roomNo);
946 void offSwitch(int i_no, int i_roomNo);
947 BOOL isSwitch(int i_no, int i_roomNo) const;
948 BOOL revSwitch(int i_no, int i_roomNo);
949 void onItem(int i_no, int i_roomNo);
950 BOOL isItem(int i_no, int i_roomNo) const;
951 void onActor(int i_no, int i_roomNo);
952 void offActor(int i_no, int i_roomNo);
953 BOOL isActor(int i_no, int i_roomNo) const;
954 int memory_to_card(char* card_ptr, int dataNum);
955 int card_to_memory(char* card_ptr, int dataNum);
956 int initdata_to_card(char* card_ptr, int dataNum);
957
959 void setSavedata(dSv_save_c& i_save) { mSavedata = i_save; }
964 void setMemory(dSv_memory_c& i_memory) { mMemory = i_memory; }
965 dSv_danBit_c& getDan() { return mDan; }
966 void setDan(dSv_danBit_c& i_dan) { mDan = i_dan; }
967 void resetDan() { mDan.reset(); }
968 void initDan(s8 i_stage) { mDan.init(i_stage); }
969 dSv_zone_c* getZones() { return mZone; }
970 dSv_zone_c& getZone(int id) { return mZone[id]; }
971 void removeZone(int zoneNo) { mZone[zoneNo].reset(); }
973 dSv_event_c& getTmp() { return mTmp; }
975 u8 getDataNum() const { return mDataNum; }
976 void setDataNum(u8 num) { mDataNum = num; }
977 u8 getNewFile() const { return mNewFile; }
978 void setNewFile(u8 file) { mNewFile = file; }
979 u8 getNoFile() const { return mNoFile; }
980 void setNoFile(u8 file) { mNoFile = file; }
981 s64 getStartTime() const { return mStartTime; }
982 void setStartTime(s64 time) { mStartTime = time; }
983 s64 getSaveTotalTime() const { return mSaveTotalTime; }
984 void setSaveTotalTime(s64 time) { mSaveTotalTime = time; }
985
986 static const int MEMORY_SWITCH = 0x80;
987 static const int DAN_SWITCH = 0x40;
988 static const int ZONE_SWITCH = 0x20;
989 static const int ONEZONE_SWITCH = 0x10;
990
991 static const int MEMORY_ITEM = 0x80;
992 static const int DAN_ITEM = 0x20;
993 static const int ZONE_ITEM = 0x20;
994 static const int ONEZONE_ITEM = 0x10;
995
996 static const int ZONE_MAX = 0x20;
997
998#if DEBUG
999 /* 0x000 */ u8 unk_0x0;
1000 /* 0x001 */ char unk_0x1;
1001 /* 0x000 */ u8 unk_0x2[0x48 - 0x2];
1002#endif
1005 /* 0x978 */ dSv_danBit_c mDan;
1008 /* 0xDD8 */ dSv_event_c mTmp;
1010 /* 0xF14 */ u8 field_0xf14[4];
1011 /* 0xF18 */ u8 mDataNum;
1012 /* 0xF19 */ u8 mNewFile;
1013 /* 0xF1A */ u8 mNoFile;
1014 /* 0xF1B */ u8 field_0xf1b[13];
1015 /* 0xF28 */ s64 mStartTime;
1016 /* 0xF30 */ s64 mSaveTotalTime;
1017#if DEBUG
1019#endif
1020}; // Size: 0xF38
1021
1023public:
1024 enum {
1025 #include "d/d_save_bit_labels.inc"
1026 };
1027
1028#if VERSION > VERSION_GCN_JPN
1029 const
1030#endif
1031#if PLATFORM_SHIELD
1032 s16
1033#else
1034 u16
1035#endif
1036 static saveBitLabels[822];
1037};
1038
1040public:
1041 enum {
1043 };
1044
1045 static u16 const tempBitLabels[185];
1046};
1047
1048#endif /* D_SAVE_D_SAVE_H */
Definition d_save.h:684
u32 mHookGameTime
Definition d_save.h:697
void setBalloonScore(u32 i_score)
Definition d_save.h:691
u32 getBalloonScore() const
Definition d_save.h:690
u32 unk16
Definition d_save.h:700
u32 mBalloonScore
Definition d_save.h:698
void setHookGameTime(u32 i_time)
Definition d_save.h:689
u32 getRaceGameTime() const
Definition d_save.h:692
u32 getHookGameTime() const
Definition d_save.h:688
u32 mRaceGameTime
Definition d_save.h:699
void init()
Definition d_save.cpp:1204
u8 unk0[1][4]
Definition d_save.h:696
u32 unk20
Definition d_save.h:701
void setRaceGameTime(u32 i_time)
Definition d_save.h:693
Definition d_save.h:731
void offItem(int i_no)
Definition d_save.cpp:1299
BOOL isSwitch(int i_no) const
Definition d_save.cpp:1281
s16 unk28[16]
Definition d_save.h:749
void onItem(int i_no)
Definition d_save.cpp:1294
u32 mSwitch[2]
Definition d_save.h:747
u32 mItem[4]
Definition d_save.h:748
BOOL revSwitch(int i_no)
Definition d_save.cpp:1286
void offSwitch(int i_no)
Definition d_save.cpp:1276
bool init(s8 i_stageNo)
Definition d_save.cpp:1244
BOOL isItem(int i_no) const
Definition d_save.cpp:1304
s8 mStageNo
Definition d_save.h:745
void onSwitch(int i_no)
Definition d_save.cpp:1271
void reset()
Definition d_save.h:742
u8 unk1
Definition d_save.h:746
Definition d_save.h:669
void setEventReg(u16 i_reg, u8 i_no)
Definition d_save.cpp:1195
void offEventBit(const u16 i_no)
Definition d_save.cpp:1187
void * getPEventBit()
Definition d_save.h:678
void init()
Definition d_save.cpp:1174
u8 mEvent[256]
Definition d_save.h:681
void onEventBit(const u16 i_no)
Definition d_save.cpp:1183
int isEventBit(const u16 i_no) const
Definition d_save.cpp:1191
u8 getEventReg(u16 i_reg) const
Definition d_save.cpp:1200
Definition d_save.h:1022
const s16 static u16 saveBitLabels[822]
Definition d_save.h:2050
Definition d_save.h:1039
static u16 const tempBitLabels[185]
Definition d_save.h:2125
Definition d_save.h:458
u16 getFishCount(u8 i_fishIndex) const
Definition d_save.h:462
void addFishCount(u8 i_fishIndex)
Definition d_save.cpp:955
void init()
Definition d_save.cpp:948
void setMaxSize(int i_sizeIndex, u8 i_size)
Definition d_save.h:464
u8 getMaxSize(int i_sizeIndex) const
Definition d_save.h:463
u16 mFishCount[16]
Definition d_save.h:467
u8 mMaxSize[16]
Definition d_save.h:468
Definition d_save.h:215
dSv_horse_place_c()
Definition d_save.h:217
const char * getStageName() const
Definition d_save.h:224
void init()
Definition d_save.cpp:198
s8 mRoomNo
Definition d_save.h:232
s16 mAngleY
Definition d_save.h:229
s16 getAngleY() const
Definition d_save.h:223
cXyz & getPos()
Definition d_save.h:222
cXyz mPos
Definition d_save.h:228
u8 mSpawnId
Definition d_save.h:231
s8 getRoomNo() const
Definition d_save.h:225
char mName[8]
Definition d_save.h:230
void set(const char *i_name, const cXyz &i_pos, s16 i_angle, s8 i_roomNo)
Definition d_save.cpp:206
Definition d_save.h:938
u8 field_0xf14[4]
Definition d_save.h:1010
void removeZone(int zoneNo)
Definition d_save.h:971
flagFile_c mFlagFile
Definition d_save.h:1018
u8 field_0xf1b[13]
Definition d_save.h:1014
s64 getSaveTotalTime() const
Definition d_save.h:983
u32 createZone(int i_roomNo)
Definition d_save.cpp:1513
dSv_danBit_c & getDan()
Definition d_save.h:965
BOOL isActor(int i_no, int i_roomNo) const
Definition d_save.cpp:1708
dSv_event_c & getTmp()
Definition d_save.h:973
dSv_save_c & getSavedata()
Definition d_save.h:958
u8 getDataNum() const
Definition d_save.h:975
s64 mStartTime
Definition d_save.h:1015
void setSavedata(dSv_save_c &i_save)
Definition d_save.h:959
dSv_zone_c mZone[ZONE_MAX]
Definition d_save.h:1006
int initdata_to_card(char *card_ptr, int dataNum)
Definition d_save.cpp:1870
dSv_player_c & getPlayer()
Definition d_save.h:960
BOOL revSwitch(int i_no, int i_roomNo)
Definition d_save.cpp:1615
void setDataNum(u8 num)
Definition d_save.h:976
u8 unk_0x2[0x48 - 0x2]
Definition d_save.h:1001
static const int ONEZONE_ITEM
Definition d_save.h:994
dSv_event_c & getEvent()
Definition d_save.h:961
static const int DAN_ITEM
Definition d_save.h:992
dSv_restart_c mRestart
Definition d_save.h:1007
BOOL isSwitch(int i_no, int i_roomNo) const
Definition d_save.cpp:1573
void setSaveTotalTime(s64 time)
Definition d_save.h:984
dSv_memory_c mMemory
Definition d_save.h:1004
void onActor(int i_no, int i_roomNo)
Definition d_save.cpp:1686
dSv_save_c mSavedata
Definition d_save.h:1003
dSv_restart_c & getRestart()
Definition d_save.h:972
BOOL isItem(int i_no, int i_roomNo) const
Definition d_save.cpp:1663
u8 getNoFile() const
Definition d_save.h:979
char unk_0x1
Definition d_save.h:1000
void setNewFile(u8 file)
Definition d_save.h:978
int memory_to_card(char *card_ptr, int dataNum)
Definition d_save.cpp:1724
s64 getStartTime() const
Definition d_save.h:981
void initZone()
Definition d_save.cpp:1507
dSv_MiniGame_c & getMiniGame()
Definition d_save.h:962
void setNoFile(u8 file)
Definition d_save.h:980
void setDan(dSv_danBit_c &i_dan)
Definition d_save.h:966
dSv_turnRestart_c mTurnRestart
Definition d_save.h:1009
dSv_event_c mTmp
Definition d_save.h:1008
void getSave(int i_stageNo)
Definition d_save.cpp:1497
dSv_memory_c & getMemory()
Definition d_save.h:963
void resetDan()
Definition d_save.h:967
void setMemory(dSv_memory_c &i_memory)
Definition d_save.h:964
int card_to_memory(char *card_ptr, int dataNum)
Definition d_save.cpp:1820
static const int ZONE_SWITCH
Definition d_save.h:988
u8 mNoFile
Definition d_save.h:1013
dSv_danBit_c mDan
Definition d_save.h:1005
void onItem(int i_no, int i_roomNo)
Definition d_save.cpp:1639
dSv_zone_c & getZone(int id)
Definition d_save.h:970
dSv_zone_c * getZones()
Definition d_save.h:969
u8 mDataNum
Definition d_save.h:1011
void setStartTime(s64 time)
Definition d_save.h:982
static const int ONEZONE_SWITCH
Definition d_save.h:989
static const int ZONE_ITEM
Definition d_save.h:993
s64 mSaveTotalTime
Definition d_save.h:1016
void onSwitch(int i_no, int i_roomNo)
Definition d_save.cpp:1525
u8 getNewFile() const
Definition d_save.h:977
void offSwitch(int i_no, int i_roomNo)
Definition d_save.cpp:1549
static const int ZONE_MAX
Definition d_save.h:996
void init()
Definition d_save.cpp:1453
void putSave(int i_stageNo)
Definition d_save.cpp:1502
static const int MEMORY_ITEM
Definition d_save.h:991
u8 unk_0x0
Definition d_save.h:999
void initDan(s8 i_stage)
Definition d_save.h:968
void offActor(int i_no, int i_roomNo)
Definition d_save.cpp:1697
static const int DAN_SWITCH
Definition d_save.h:987
static const int MEMORY_SWITCH
Definition d_save.h:986
u8 mNewFile
Definition d_save.h:1012
dSv_turnRestart_c & getTurnRestart()
Definition d_save.h:974
Definition d_save.h:442
u8 getGetNumber(int i_no)
Definition d_save.h:449
u8 mGetNumber[64]
Definition d_save.h:455
u32 mLetterReadFlags[2]
Definition d_save.h:454
u32 mLetterGetFlags[2]
Definition d_save.h:453
void onLetterReadFlag(int i_no)
Definition d_save.cpp:938
void onLetterGetFlag(int i_no)
Definition d_save.cpp:928
void setGetNumber(int i_no, u8 i_value)
Definition d_save.h:450
int isLetterReadFlag(int i_no) const
Definition d_save.cpp:943
BOOL isLetterGetFlag(int i_no) const
Definition d_save.cpp:933
void init()
Definition d_save.cpp:917
Definition d_save.h:427
u8 mLightDropGetFlag
Definition d_save.h:438
BOOL isLightDropGetFlag(u8 i_nowLevel) const
Definition d_save.cpp:908
void onLightDropGetFlag(u8 i_nowLevel)
Definition d_save.cpp:894
u8 getLightDropNum(u8 i_nowLevel) const
Definition d_save.cpp:885
void init()
Definition d_save.cpp:866
void offLightDropGetFlag(u8 i_nowLevel)
Definition d_save.cpp:901
void setLightDropNum(u8 i_nowLevel, u8 i_dropNum)
Definition d_save.cpp:878
u8 unk5[3]
Definition d_save.h:439
u8 mLightDropNum[4]
Definition d_save.h:437
Definition d_save.h:594
char mWarpItemStage[8]
Definition d_save.h:596
u8 field_0x4fab
Definition d_save.h:600
u8 field_0x4fac
Definition d_save.h:601
u8 field_0x4fad[3]
Definition d_save.h:602
cXyz mWarpItemPos
Definition d_save.h:597
s8 mWarpItemRoom
Definition d_save.h:599
s16 mWarpItemAngle
Definition d_save.h:598
Definition d_save.h:592
void offSwitch(int i_no)
Definition d_save.cpp:1125
void offDungeonItemWarp()
Definition d_save.h:655
void onStageBossEnemy2()
Definition d_save.h:657
void offDungeonItemCompass()
Definition d_save.h:637
u8 mKeyNum
Definition d_save.h:665
void onStageLife()
Definition d_save.h:648
void onDungeonItem(int i_no)
Definition d_save.cpp:1159
s32 isDungeonItem(int i_no) const
Definition d_save.cpp:1169
void offDungeonItem(int i_no)
Definition d_save.cpp:1164
void offDungeonItemMap()
Definition d_save.h:634
s32 isStageBossEnemy() const
Definition d_save.h:647
void setKeyNum(u8 i_keyNum)
Definition d_save.h:632
@ OOCCOO_NOTE
Definition d_save.h:612
@ STAGE_BOSS_DEMO
Definition d_save.h:611
@ STAGE_BOSS_ENEMY_2
Definition d_save.h:613
@ STAGE_BOSS_ENEMY
Definition d_save.h:609
@ MAP
Definition d_save.h:606
@ STAGE_LIFE
Definition d_save.h:610
@ COMPASS
Definition d_save.h:607
@ BOSS_KEY
Definition d_save.h:608
void offDungeonItemBossKey()
Definition d_save.h:640
u8 mDungeonItem
Definition d_save.h:666
void offStageLife()
Definition d_save.h:649
void onStageBossEnemy()
Definition d_save.h:642
s32 isDungeonItemMap() const
Definition d_save.h:635
u32 mTbox[2]
Definition d_save.h:662
BOOL revSwitch(int i_no)
Definition d_save.cpp:1135
s32 isStageLife() const
Definition d_save.h:650
void onItem(int i_no)
Definition d_save.cpp:1144
s32 isDungeonItemCompass() const
Definition d_save.h:638
void onDungeonItemCompass()
Definition d_save.h:636
u8 getKeyNum()
Definition d_save.h:631
BOOL isSwitch(int i_no) const
Definition d_save.cpp:1130
s32 isStageBossEnemy2() const
Definition d_save.h:659
BOOL isItem(int i_no) const
Definition d_save.cpp:1154
BOOL isTbox(int i_no) const
Definition d_save.cpp:1115
void onTbox(int i_no)
Definition d_save.cpp:1105
s32 isDungeonItemWarp() const
Definition d_save.h:656
void onDungeonItemBossKey()
Definition d_save.h:639
void onSwitch(int i_no)
Definition d_save.cpp:1120
s32 isDungeonItemBossKey() const
Definition d_save.h:641
s32 isStageBossDemo() const
Definition d_save.h:653
void offStageBossEnemy()
Definition d_save.h:646
void offTbox(int i_no)
Definition d_save.cpp:1110
u32 mItem[1]
Definition d_save.h:664
void onStageBossDemo()
Definition d_save.h:651
void offStageBossDemo()
Definition d_save.h:652
void onDungeonItemMap()
Definition d_save.h:633
void onDungeonItemWarp()
Definition d_save.h:654
u32 mSwitch[4]
Definition d_save.h:663
void init()
Definition d_save.cpp:1088
void offItem(int i_no)
Definition d_save.cpp:1149
void offStageBossEnemy2()
Definition d_save.h:658
Definition d_save.h:717
void offVisitedRoom(int i_no)
Definition d_save.cpp:1234
BOOL isVisitedRoom(int i_no)
Definition d_save.cpp:1239
void onVisitedRoom(int i_no)
Definition d_save.cpp:1229
u32 mVisitedRoom[2]
Definition d_save.h:726
void init()
Definition d_save.cpp:1223
dSv_memory2_c()
Definition d_save.h:719
Definition d_save.h:704
const dSv_memBit_c & getBit() const
Definition d_save.h:709
dSv_memBit_c mBit
Definition d_save.h:712
dSv_memBit_c & getBit()
Definition d_save.h:708
dSv_memory_c()
Definition d_save.h:706
void init()
Definition d_save.cpp:1219
Definition d_save.h:548
dSv_horse_place_c mHorsePlace
Definition d_save.h:575
dSv_player_status_a_c & getPlayerStatusA()
Definition d_save.h:553
dSv_player_config_c mConfig
Definition d_save.h:589
dSv_player_last_mark_info_c & getPlayerLastMarkInfo()
Definition d_save.h:560
dSv_player_field_last_stay_info_c mPlayerFieldLastStayInfo
Definition d_save.h:577
dSv_light_drop_c mLightDrop
Definition d_save.h:585
dSv_player_field_last_stay_info_c & getPlayerFieldLastStayInfo()
Definition d_save.h:557
dSv_player_item_max_c mItemMax
Definition d_save.h:582
dSv_player_last_mark_info_c mPlayerLastMarkInfo
Definition d_save.h:578
dSv_player_item_record_c mItemRecord
Definition d_save.h:581
dSv_player_get_item_c & getGetItem()
Definition d_save.h:562
dSv_fishing_info_c & getFishingInfo()
Definition d_save.h:568
dSv_player_return_place_c mPlayerReturnPlace
Definition d_save.h:576
dSv_player_wolf_c mWolf
Definition d_save.h:584
dSv_player_return_place_c & getPlayerReturnPlace()
Definition d_save.h:556
dSv_player_config_c & getConfig()
Definition d_save.h:570
dSv_fishing_info_c mFishingInfo
Definition d_save.h:587
dSv_player_get_item_c mGetItem
Definition d_save.h:580
dSv_player_info_c mPlayerInfo
Definition d_save.h:588
dSv_player_item_record_c & getItemRecord()
Definition d_save.h:563
dSv_player_collect_c & getCollect()
Definition d_save.h:565
dSv_player_collect_c mCollect
Definition d_save.h:583
void init()
Definition d_save.cpp:1068
dSv_player_info_c & getPlayerInfo()
Definition d_save.h:569
dSv_player_status_b_c mPlayerStatusB
Definition d_save.h:574
dSv_player_item_c & getItem()
Definition d_save.h:561
dSv_player_item_max_c & getItemMax()
Definition d_save.h:564
dSv_player_item_c mItem
Definition d_save.h:579
dSv_letter_info_c mLetterInfo
Definition d_save.h:586
dSv_player_status_a_c mPlayerStatusA
Definition d_save.h:573
dSv_horse_place_c & getHorsePlace()
Definition d_save.h:555
dSv_letter_info_c & getLetterInfo()
Definition d_save.h:567
dSv_player_c()
Definition d_save.h:550
dSv_player_status_b_c & getPlayerStatusB()
Definition d_save.h:554
dSv_light_drop_c & getLightDrop()
Definition d_save.h:566
Definition d_save.h:386
void addPohNum()
Definition d_save.h:402
void offCollectMirror(u8 i_item)
Definition d_save.cpp:848
u8 mItem[8]
Definition d_save.h:409
u8 padding[3]
Definition d_save.h:415
u8 mPohNum
Definition d_save.h:414
u8 getPohNum() const
Definition d_save.h:400
void offCollect(int i_item_type, u8 i_item)
Definition d_save.cpp:818
void onCollectMirror(u8 i_item)
Definition d_save.cpp:843
void setCollect(int i_item_type, u8 i_item)
Definition d_save.cpp:813
void onCollectCrystal(u8 i_item)
Definition d_save.cpp:828
void offCollectCrystal(u8 i_item)
Definition d_save.cpp:833
u8 mCrystal
Definition d_save.h:411
BOOL isCollect(int i_item_type, u8 i_item) const
Definition d_save.cpp:823
u8 unk11
Definition d_save.h:413
void init()
Definition d_save.cpp:801
u8 unk8
Definition d_save.h:410
void setPohNum(u8 i_num)
Definition d_save.h:399
BOOL isCollectCrystal(u8 i_item) const
Definition d_save.cpp:838
BOOL isCollectMirror(u8 i_item) const
Definition d_save.cpp:853
u8 mMirror
Definition d_save.h:412
Definition d_save.h:500
void setPointer(bool i_mPointer)
Definition d_save.h:524
u8 getRuby()
Definition d_save.h:511
void setCalibrateDist(u16 i_mCalibrateDist)
Definition d_save.h:516
u8 getCameraControl()
Definition d_save.h:521
void setSound(u8 i_mode)
Definition d_save.cpp:1024
u8 mCameraControl
Definition d_save.h:544
dSv_config_language
Definition d_save.h:526
@ LANGUAGE_ITALIAN
Definition d_save.h:531
@ LANGUAGE_GERMAN
Definition d_save.h:528
@ LANGUAGE_FRENCH
Definition d_save.h:529
@ LANGUAGE_SPANISH
Definition d_save.h:530
@ LANGUAGE_ENGLISH
Definition d_save.h:527
void setShortCut(bool i_mShortCut)
Definition d_save.h:520
u8 mLanguage
Definition d_save.h:539
bool getShortCut()
Definition d_save.h:519
u8 getSound()
Definition d_save.cpp:1020
u16 mCalibrateDist
Definition d_save.h:541
u8 getCalValue()
Definition d_save.h:517
u8 mVibration
Definition d_save.h:538
u8 mRuby
Definition d_save.h:535
void setCalValue(u8 i_mCalValue)
Definition d_save.h:518
void setVibration(u8 i_status)
Definition d_save.cpp:1036
u8 mSoundMode
Definition d_save.h:536
u16 getCalibrateDist()
Definition d_save.h:515
u8 mCalValue
Definition d_save.h:542
u32 checkVibration() const
Definition d_save.cpp:1012
bool getPointer()
Definition d_save.h:523
void setCameraControl(u8 i_mCameraControl)
Definition d_save.h:522
u8 unk5
Definition d_save.h:540
bool mPointer
Definition d_save.h:545
u8 getAttentionType() const
Definition d_save.h:513
void init()
Definition d_save.cpp:976
u8 mAttentionType
Definition d_save.h:537
bool mShortCut
Definition d_save.h:543
u8 getPalLanguage() const
Definition d_save.cpp:1040
u8 getVibration()
Definition d_save.cpp:1028
void setAttentionType(u8 i_mAttentionType)
Definition d_save.h:514
void setRuby(u8 i_ruby)
Definition d_save.h:512
Definition d_save.h:251
cXyz & getPos()
Definition d_save.h:260
s8 mLastSpawnId
Definition d_save.h:273
s16 mAngleY
Definition d_save.h:271
BOOL isRegionBit(int i_region) const
Definition d_save.cpp:261
void init()
Definition d_save.cpp:229
void onRegionBit(int i_region)
Definition d_save.cpp:253
u8 mRegion
Definition d_save.h:276
char mName[8]
Definition d_save.h:272
char * getName()
Definition d_save.h:262
void offFieldDataExistFlag()
Definition d_save.h:265
bool mFieldDataExistFlag
Definition d_save.h:275
s16 getAngleY()
Definition d_save.h:261
bool isFieldDataExistFlag() const
Definition d_save.h:264
u8 mRegionNo
Definition d_save.h:274
u8 unk26[2]
Definition d_save.h:277
void onFieldDataExistFlag()
Definition d_save.h:266
cXyz mPos
Definition d_save.h:270
dSv_player_field_last_stay_info_c()
Definition d_save.h:253
void set(const char *i_name, const cXyz &i_pos, s16 i_angle, s8 i_spawn, u8 i_regionNo)
Definition d_save.cpp:243
u8 getRegionNo() const
Definition d_save.h:263
Definition d_save.h:340
u32 mItemFlags[8]
Definition d_save.h:348
void offFirstBit(u8 i_itemNo)
Definition d_save.cpp:683
void onFirstBit(u8 i_itemNo)
Definition d_save.cpp:675
int isFirstBit(u8 i_itemNo) const
Definition d_save.cpp:691
void init()
Definition d_save.cpp:669
Definition d_save.h:471
u16 unk16
Definition d_save.h:490
void setHorseName(const char *i_name)
Definition d_save.h:484
void setTotalTime(OSTime i_time)
Definition d_save.h:475
u8 mClearCount
Definition d_save.h:496
u8 unk53
Definition d_save.h:495
char mHorseName[16]
Definition d_save.h:494
char mPlayerName[16]
Definition d_save.h:492
u64 unk0
Definition d_save.h:488
u8 unk36
Definition d_save.h:493
u8 getClearCount() const
Definition d_save.h:485
void init()
Definition d_save.cpp:961
u16 mDeathCount
Definition d_save.h:491
OSTime getTotalTime() const
Definition d_save.h:474
void setPlayerName(const char *i_name)
Definition d_save.h:482
void addDeathCount()
Definition d_save.h:476
char * getPlayerName() const
Definition d_save.h:481
s64 mTotalTime
Definition d_save.h:489
u8 unk55[5]
Definition d_save.h:497
char * getHorseName() const
Definition d_save.h:483
Definition d_save.h:305
void setRodTypeLevelUp()
Definition d_save.cpp:615
u8 mItemSlots[24]
Definition d_save.h:337
u8 checkBottle(u8 i_itemNo)
Definition d_save.cpp:485
void setEquipBottleItemEmpty(u8 curItemIn)
Definition d_save.cpp:481
u8 getItem(int i_slotNo, bool i_checkCombo) const
Definition d_save.cpp:314
static const int BOMB_BAG_MAX
Definition d_save.h:332
void setBaitItem(u8 i_itemNo)
Definition d_save.cpp:636
void setBombBagItemIn(u8 i_curBomb, u8 i_newBomb, bool i_setNum)
Definition d_save.cpp:518
u8 checkEmptyBottle()
Definition d_save.cpp:507
u8 getLineUpItem(int i_slotNo) const
Definition d_save.cpp:413
void setEquipBottleItemIn(u8 curItemIn, u8 newItemIn)
Definition d_save.cpp:465
int checkInsectBottle()
Definition d_save.cpp:497
void setEmptyBottleItemIn(u8 i_itemNo)
Definition d_save.cpp:442
static const int BOTTLE_MAX
Definition d_save.h:333
void setLineUpItem()
Definition d_save.cpp:390
void setBottleItemIn(u8 curItemIn, u8 newItemIn)
Definition d_save.cpp:421
u8 mItems[24]
Definition d_save.h:336
void setEmptyBombBagItemIn(u8 i_newBomb, bool i_setNum)
Definition d_save.cpp:559
void setEmptyBottle()
Definition d_save.cpp:447
void setEmptyBombBag()
Definition d_save.cpp:567
void setWarashibeItem(u8 i_itemNo)
Definition d_save.cpp:604
void setItem(int i_slotNo, u8 i_itemNo)
Definition d_save.cpp:301
u8 checkBombBag(u8 i_itemNo)
Definition d_save.cpp:593
void init()
Definition d_save.cpp:294
Definition d_save.h:373
u8 mItemMax[8]
Definition d_save.h:383
void setArrowNum(u8 i_maxNum)
Definition d_save.h:380
u8 getBombNum(u8 i_bombType) const
Definition d_save.cpp:783
void init()
Definition d_save.cpp:760
u8 getArrowNum() const
Definition d_save.h:379
void setBombNum(u8 i_bombType, u8 i_maxNum)
Definition d_save.cpp:770
Definition d_save.h:351
u8 mPachinkoNum
Definition d_save.h:369
u8 getPachinkoNum() const
Definition d_save.h:362
u8 mArrowNum
Definition d_save.h:366
void init()
Definition d_save.cpp:699
u8 addBottleNum(u8 i_bottleIdx, s16 i_num)
Definition d_save.cpp:738
u8 unk5[3]
Definition d_save.h:370
u8 getArrowNum() const
Definition d_save.h:360
u8 getBottleNum(u8 i_bottleIdx) const
Definition d_save.cpp:755
u8 mBottleNum[4]
Definition d_save.h:368
void setBombNum(u8 i_bagIdx, u8 i_bombNum)
Definition d_save.cpp:717
u8 getBombNum(u8 i_bagIdx) const
Definition d_save.cpp:728
u8 mBombNum[3]
Definition d_save.h:367
void setBottleNum(u8 i_bottleIdx, u8 i_bottleNum)
Definition d_save.cpp:733
void setPachinkoNum(u8 i_num)
Definition d_save.h:363
void setArrowNum(u8 i_num)
Definition d_save.h:361
Definition d_save.h:280
void resetWarpAcceptStage()
Definition d_save.h:293
dSv_player_last_mark_info_c()
Definition d_save.h:282
s8 mWarpAcceptStage
Definition d_save.h:301
s8 getRoomNo() const
Definition d_save.h:290
cXyz mPos
Definition d_save.h:296
s8 mRoomNo
Definition d_save.h:300
const char * getName()
Definition d_save.h:289
u8 mSpawnId
Definition d_save.h:299
char mName[8]
Definition d_save.h:298
s16 getAngleY() const
Definition d_save.h:288
void setWarpItemData(const char *i_name, const cXyz &i_pos, s16 i_angle, s8 i_roomNo, u8, u8)
Definition d_save.cpp:283
s16 mAngleY
Definition d_save.h:297
void init()
Definition d_save.cpp:270
cXyz & getPos()
Definition d_save.h:287
void setWarpAcceptStage(s8 accept)
Definition d_save.h:292
u8 unk25[3]
Definition d_save.h:302
s8 getWarpAcceptStage() const
Definition d_save.h:291
Definition d_save.h:235
u8 unk11
Definition d_save.h:248
u8 getPlayerStatus() const
Definition d_save.h:240
char * getName()
Definition d_save.h:239
s8 mRoomNo
Definition d_save.h:246
void set(const char *i_name, s8 i_roomNo, u8 i_status)
Definition d_save.cpp:222
u8 mPlayerStatus
Definition d_save.h:245
char mName[8]
Definition d_save.h:244
s8 getRoomNo() const
Definition d_save.h:241
u8 unk10
Definition d_save.h:247
void init()
Definition d_save.cpp:214
Definition d_save.h:133
u16 getOil() const
Definition d_save.h:153
u8 unk10
Definition d_save.h:172
void setOil(u16 i_oil)
Definition d_save.h:154
u16 mOil
Definition d_save.h:171
u8 mTransformStatus
Definition d_save.h:183
u8 getTransformStatus() const
Definition d_save.h:163
void onMagicFlag(u8 i_magic)
Definition d_save.cpp:125
u8 mMagicFlag
Definition d_save.h:181
void offMagicFlag(u8 i_magic)
Definition d_save.cpp:135
void setSelectItemIndex(int i_no, u8 i_slotNo)
Definition d_save.cpp:76
u16 getRupeeMax() const
Definition d_save.cpp:110
void setMaxMagic(u8 i_maxMagic)
Definition d_save.h:160
u16 getLife() const
Definition d_save.h:147
u8 getMixItemIndex(int i_no) const
Definition d_save.cpp:101
void setMagic(u8 i_magic)
Definition d_save.h:162
void setMixItemIndex(int i_no, u8 i_slotNo)
Definition d_save.cpp:93
u8 mMixItem[MAX_SELECT_ITEM]
Definition d_save.h:175
u8 mMaxMagic
Definition d_save.h:179
u16 getRupee() const
Definition d_save.h:149
u16 mRupee
Definition d_save.h:169
u8 mMagic
Definition d_save.h:180
u8 unk29
Definition d_save.h:182
u8 mWalletSize
Definition d_save.h:178
void setTransformStatus(u8 i_status)
Definition d_save.h:164
u8 getSelectItemIndex(int i_no) const
Definition d_save.cpp:84
void setMaxOil(u16 i_maxOil)
Definition d_save.h:152
u16 mLife
Definition d_save.h:168
void setRupee(u16 i_rupees)
Definition d_save.h:150
u16 mMaxOil
Definition d_save.h:170
void setSelectEquip(int i_equipId, u8 i_itemNo)
Definition d_save.h:156
u8 getMagic() const
Definition d_save.h:161
u8 getMaxMagic() const
Definition d_save.h:159
u8 mSelectEquip[MAX_EQUIPMENT]
Definition d_save.h:177
void init()
Definition d_save.cpp:41
u16 getMaxLife() const
Definition d_save.h:145
u8 getWalletSize() const
Definition d_save.h:157
void setMaxLife(u16 i_maxLife)
Definition d_save.h:146
u8 getSelectEquip(int item) const
Definition d_save.h:155
u16 mMaxLife
Definition d_save.h:167
u8 mSelectItem[MAX_SELECT_ITEM]
Definition d_save.h:173
void setLife(u16 i_life)
Definition d_save.h:148
u8 unk31[3]
Definition d_save.h:184
int isMagicFlag(u8 i_magic) const
Definition d_save.cpp:145
void setWalletSize(u8 i_size)
Definition d_save.h:158
u16 getMaxOil() const
Definition d_save.h:151
Definition d_save.h:187
void onTransformLV(int i_no)
Definition d_save.cpp:183
void setDate(u16 i_date)
Definition d_save.h:202
void offTransformLV(int i_no)
Definition d_save.cpp:188
u16 mDate
Definition d_save.h:211
OSTime mDateIpl
Definition d_save.h:205
u8 unk11
Definition d_save.h:209
void setTime(f32 i_time)
Definition d_save.h:200
void onDarkClearLV(int i_no)
Definition d_save.cpp:168
u16 getDate() const
Definition d_save.h:201
u8 unk18[3]
Definition d_save.h:212
u8 mTransformLevelFlag
Definition d_save.h:206
void setDateIpl(OSTime i_time)
Definition d_save.h:198
f32 getTime() const
Definition d_save.h:199
OSTime getDateIpl() const
Definition d_save.h:197
f32 mTime
Definition d_save.h:210
BOOL isDarkClearLV(int i_no) const
Definition d_save.cpp:178
u8 mDarkClearLevelFlag
Definition d_save.h:207
u8 unk10
Definition d_save.h:208
void offDarkClearLV(int i_no)
Definition d_save.cpp:173
void init()
Definition d_save.cpp:155
BOOL isTransformLV(int i_no) const
Definition d_save.cpp:193
Definition d_save.h:418
u8 unk0[3]
Definition d_save.h:423
void init()
Definition d_save.cpp:858
u8 unk3
Definition d_save.h:424
Definition d_save.h:879
u8 unk[80]
Definition d_save.h:882
Definition d_save.h:814
f32 getLastSpeedF() const
Definition d_save.h:825
cXyz mRoomPos
Definition d_save.h:839
f32 mLastSpeedF
Definition d_save.h:841
s16 getStartPoint() const
Definition d_save.h:819
const cXyz & getRoomPos() const
Definition d_save.h:822
s16 getLastAngleY() const
Definition d_save.h:827
u32 mLastMode
Definition d_save.h:842
void setStartPoint(s16 point)
Definition d_save.h:820
u32 getRoomParam() const
Definition d_save.h:823
s8 getRoomNo() const
Definition d_save.h:818
s16 mRoomAngleY
Definition d_save.h:838
void setRoom(const cXyz &i_position, s16 i_angleY, s8 i_roomNo)
Definition d_save.cpp:1440
u8 field_0x01[3]
Definition d_save.h:836
s16 getRoomAngleY() const
Definition d_save.h:821
u32 mRoomParam
Definition d_save.h:840
s16 mLastAngleY
Definition d_save.h:843
void setLastSceneInfo(f32 speed, u32 mode, s16 angle)
Definition d_save.h:828
u32 getLastMode() const
Definition d_save.h:826
s8 mRoomNo
Definition d_save.h:835
void setRoomParam(u32 param)
Definition d_save.h:824
s16 mStartPoint
Definition d_save.h:837
Definition d_save.h:885
dSv_player_c mPlayer
Definition d_save.h:908
dSv_event_c & getEvent()
Definition d_save.h:901
static const int STAGE2_MAX
Definition d_save.h:905
void init()
Definition d_save.cpp:1478
dSv_reserve_c reserve
Definition d_save.h:912
dSv_memory2_c mSave2[STAGE2_MAX]
Definition d_save.h:910
dSv_memory2_c * getSave2(int i_stage2No)
Definition d_save.cpp:1492
dSv_event_c mEvent
Definition d_save.h:911
dSv_MiniGame_c mMiniGame
Definition d_save.h:913
dSv_memory_c mSave[STAGE_MAX]
Definition d_save.h:909
dSv_save_c()
Definition d_save.h:887
dSv_memory_c & getSave(int i_stageNo)
Definition d_save.h:893
void putSave(int i_stageNo, dSv_memory_c mem)
Definition d_save.h:897
static const int STAGE_MAX
Definition d_save.h:904
dSv_MiniGame_c & getMiniGame()
Definition d_save.h:902
dSv_player_c & getPlayer()
Definition d_save.h:892
cXyz mCameraUp
Definition d_save.h:852
cXyz mCameraCtr
Definition d_save.h:850
cXyz mCameraEye
Definition d_save.h:851
Definition d_save.h:846
f32 getCameraFvy() const
Definition d_save.h:867
void setCameraEye(const cXyz &i_eye)
Definition d_save.h:864
void setCameraUp(const cXyz &i_up)
Definition d_save.h:866
u32 mParam
Definition d_save.h:872
dSv_turnRestart_camera_c mCamera
Definition d_save.h:875
u32 getParam() const
Definition d_save.h:858
void setCameraCtr(const cXyz &i_ctr)
Definition d_save.h:862
const cXyz & getCameraCtr() const
Definition d_save.h:861
s8 unk18
Definition d_save.h:874
void setCameraFvy(f32 i_fvy)
Definition d_save.h:868
const cXyz & getCameraEye() const
Definition d_save.h:863
f32 mCameraFvy
Definition d_save.h:876
s16 mAngleY
Definition d_save.h:873
const cXyz & getCameraUp() const
Definition d_save.h:865
s16 getAngleY() const
Definition d_save.h:859
void set(const cXyz &i_position, s16 i_angleY, s8, u32 i_param)
Definition d_save.cpp:1446
cXyz mPosition
Definition d_save.h:871
const cXyz & getPos() const
Definition d_save.h:857
s8 getRoomNo() const
Definition d_save.h:860
Definition d_save.h:780
void init()
Definition d_save.cpp:1413
u32 mActorFlags[4]
Definition d_save.h:790
void off(int i_id)
Definition d_save.cpp:1424
BOOL is(int i_id) const
Definition d_save.cpp:1429
void on(int i_id)
Definition d_save.cpp:1419
static const int ACTOR_MAX
Definition d_save.h:787
Definition d_save.h:752
void offItem(int i_no)
Definition d_save.cpp:1388
void onOneSwitch(int i_no)
Definition d_save.cpp:1360
void init()
Definition d_save.cpp:1315
void clearRoomSwitch()
Definition d_save.cpp:1328
u16 unk12
Definition d_save.h:777
BOOL isOneItem(int i_no) const
Definition d_save.cpp:1408
BOOL isOneSwitch(int i_no) const
Definition d_save.cpp:1370
void offOneItem(int i_no)
Definition d_save.cpp:1403
u16 mItem[2]
Definition d_save.h:775
u16 mRoomItem
Definition d_save.h:776
void clearRoomItem()
Definition d_save.cpp:1332
BOOL revSwitch(int i_no)
Definition d_save.cpp:1351
void onOneItem(int i_no)
Definition d_save.cpp:1398
void offSwitch(int i_no)
Definition d_save.cpp:1341
void onSwitch(int i_no)
Definition d_save.cpp:1336
BOOL isItem(int i_no) const
Definition d_save.cpp:1393
BOOL isSwitch(int i_no) const
Definition d_save.cpp:1346
u16 mRoomSwitch
Definition d_save.h:774
void offOneSwitch(int i_no)
Definition d_save.cpp:1365
BOOL revOneSwitch(int i_no)
Definition d_save.cpp:1375
u16 mSwitch[2]
Definition d_save.h:773
void onItem(int i_no)
Definition d_save.cpp:1383
Definition d_save.h:793
const dSv_zoneBit_c & getBit() const
Definition d_save.h:801
void reset()
Definition d_save.h:799
dSv_zoneActor_c mActor
Definition d_save.h:809
dSv_zoneActor_c & getActor()
Definition d_save.h:802
dSv_zoneBit_c & getBit()
Definition d_save.h:800
int getRoomNo() const
Definition d_save.h:798
dSv_zone_c()
Definition d_save.h:795
s8 mRoomNo
Definition d_save.h:806
dSv_zoneBit_c mBit
Definition d_save.h:808
const dSv_zoneActor_c & getActor() const
Definition d_save.h:803
u8 unk1
Definition d_save.h:807
Definition d_save.h:916
virtual void genMessage(JORMContext *)
Definition d_save.cpp:1901
u16 m_flags
Definition d_save.h:934
flagFile_c()
Definition d_save.cpp:1892
u8 unk_0x4[0x6 - 0x4]
Definition d_save.h:933
virtual void listenPropertyEvent(const JORPropertyEvent *)
Definition d_save.cpp:1922
BOOL check_flag(u16 i_flag)
Definition d_save.h:928
Flag_e
Definition d_save.h:918
@ FLAG_MEM_e
Definition d_save.h:921
@ FLAG_ALL_e
Definition d_save.h:923
@ FLAG_SCENE_e
Definition d_save.h:919
@ FLAG_SAVE_e
Definition d_save.h:920
@ FLAG_DAN_e
Definition d_save.h:922
~flagFile_c()
Definition d_save.cpp:1897
s8 m_no
Definition d_save.h:935
static u16 const id[4]
Definition d_a_obj_smtile.cpp:269
static initFunc init[]
Definition d_menu_collect.cpp:40
Shields
Definition d_save.h:96
@ COLLECT_HYLIAN_SHIELD
Definition d_save.h:99
@ COLLECT_ORDON_SHIELD
Definition d_save.h:98
@ COLLECT_WOODEN_SHIELD
Definition d_save.h:97
static const int MAX_FINDABLE_FISHES
Definition d_save.h:38
static const int BIG_QUIVER_MAX
Definition d_save.h:33
static const int QUIVER_MAX
Definition d_save.h:32
@ SELECT_ITEM_RIGHT
Definition d_save.h:121
@ SELECT_ITEM_B
Definition d_save.h:123
@ SELECT_ITEM_X
Definition d_save.h:124
@ SELECT_ITEM_LEFT
Definition d_save.h:120
@ SELECT_ITEM_Y
Definition d_save.h:125
@ SELECT_ITEM_DOWN
Definition d_save.h:122
static const int WALLET_MAX
Definition d_save.h:35
Swords
Definition d_save.h:89
@ COLLECT_WOODEN_SWORD
Definition d_save.h:92
@ COLLECT_MASTER_SWORD
Definition d_save.h:91
@ COLLECT_LIGHT_SWORD
Definition d_save.h:93
@ COLLECT_ORDON_SWORD
Definition d_save.h:90
static const int SWITCH_ZONE_MAX
Definition d_save.h:27
static const int LIGHT_DROP_STAGE
Definition d_save.h:19
static const int ITEM_ONE_ZONE_MAX
Definition d_save.h:30
static const int MAX_EVENTS
Definition d_save.h:17
Wallets
Definition d_save.h:48
@ GIANT_WALLET
Definition d_save.h:51
@ WALLET
Definition d_save.h:49
@ BIG_WALLET
Definition d_save.h:50
STATIC_ASSERT(sizeof(dSv_memory_c)==0x20)
static const int MAX_POH_NUM
Definition d_save.h:23
static const int DEFAULT_SELECT_ITEM_INDEX
Definition d_save.h:13
CollectItem
Definition d_save.h:81
@ COLLECT_SHIELD
Definition d_save.h:84
@ COLLECT_CLOTHING
Definition d_save.h:82
@ COLLECT_SWORD
Definition d_save.h:83
@ COLLECT_SMELL
Definition d_save.h:85
@ B_BUTTON_ITEM
Definition d_save.h:86
Clothes
Definition d_save.h:102
@ KOKIRI_CLOTHES_FLAG
Definition d_save.h:103
static const int TBOX_MAX
Definition d_save.h:24
static const int LETTER_INFO_BIT
Definition d_save.h:20
static const int BIG_WALLET_MAX
Definition d_save.h:36
ItemSlots
Definition d_save.h:54
@ SLOT_19
Definition d_save.h:74
@ SLOT_7
Definition d_save.h:62
@ SLOT_16
Definition d_save.h:71
@ SLOT_12
Definition d_save.h:67
@ SLOT_21
Definition d_save.h:76
@ SLOT_10
Definition d_save.h:65
@ SLOT_14
Definition d_save.h:69
@ SLOT_4
Definition d_save.h:59
@ SLOT_11
Definition d_save.h:66
@ SLOT_23
Definition d_save.h:78
@ SLOT_13
Definition d_save.h:68
@ SLOT_5
Definition d_save.h:60
@ SLOT_0
Definition d_save.h:55
@ SLOT_9
Definition d_save.h:64
@ SLOT_8
Definition d_save.h:63
@ SLOT_17
Definition d_save.h:72
@ SLOT_20
Definition d_save.h:75
@ SLOT_3
Definition d_save.h:58
@ SLOT_2
Definition d_save.h:57
@ SLOT_15
Definition d_save.h:70
@ SLOT_18
Definition d_save.h:73
@ SLOT_1
Definition d_save.h:56
@ SLOT_6
Definition d_save.h:61
@ SLOT_22
Definition d_save.h:77
static const int MAX_ITEM_SLOTS
Definition d_save.h:18
static const int GIANT_WALLET_MAX
Definition d_save.h:37
static const int MAX_SELECT_ITEM
Definition d_save.h:14
static const int ITEM_ZONE_MAX
Definition d_save.h:29
static const int SELECT_ITEM_NUM
Definition d_save.h:15
static const int SWITCH_ONE_ZONE_MAX
Definition d_save.h:28
static const int ITEM_MAX_DAN
Definition d_save.h:26
ItemMax
Definition d_save.h:112
@ ARROW_MAX
Definition d_save.h:113
@ WATER_BOMB_MAX
Definition d_save.h:115
@ POKE_BOMB_MAX
Definition d_save.h:116
@ NORMAL_BOMB_MAX
Definition d_save.h:114
static const int MAX_INSECT_NUM
Definition d_save.h:21
static const int GIANT_QUIVER_MAX
Definition d_save.h:34
static const int ITEM_XY_MAX_DUMMY
Definition d_save.h:41
ButtonIndexes
Definition d_save.h:43
@ B_BUTTON
Definition d_save.h:45
@ A_BUTTON
Definition d_save.h:44
static const int ITEM_BIT_MAX
Definition d_save.h:40
LightDropStages
Definition d_save.h:106
@ ELDIN_VESSEL
Definition d_save.h:108
@ LANAYRU_VESSEL
Definition d_save.h:109
@ FARON_VESSEL
Definition d_save.h:107
static const int MAX_EQUIPMENT
Definition d_save.h:16
static const int QUEST_LOG_SIZE
Definition d_save.h:31
static const int DSV_MEMBIT_ENUM_MAX
Definition d_save.h:25
static const int MAX_VISIBLE_HEARTPIECES
Definition d_save.h:22
@ TF_STATUS_HUMAN
Definition d_save.h:129
@ TF_STATUS_WOLF
Definition d_save.h:130
Definition c_xyz.h:7