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 "string.h"
6#include "dolphin/os/OSTime.h"
7#include "global.h"
8#include "f_pc/f_pc_name.h"
9
10#define DEFAULT_SELECT_ITEM_INDEX 0
11#define MAX_SELECT_ITEM 4
12#define SELECT_ITEM_NUM 2
13#define MAX_EQUIPMENT 6
14#define MAX_EVENTS 256
15#define MAX_ITEM_SLOTS 24
16#define LIGHT_DROP_STAGE 4
17#define LETTER_INFO_BIT 64
18#define MAX_INSECT_NUM 24
19#define MAX_VISIBLE_HEARTPIECES 4
20#define MAX_POH_NUM 100
21#define BOMB_BAG_MAX 3
22#define BOTTLE_MAX 4
23#define TBOX_MAX 64
24#define DSV_MEMBIT_ENUM_MAX 8
25#define ITEM_MAX_DAN 128
26#define SWITCH_ZONE_MAX 0x20
27#define SWITCH_ONE_ZONE_MAX 0x10
28#define ITEM_ZONE_MAX 0x20
29#define ITEM_ONE_ZONE_MAX 0x10
30#define QUEST_LOG_SIZE 0xA94
31#define QUIVER_MAX 30
32#define BIG_QUIVER_MAX 60
33#define GIANT_QUIVER_MAX 100
34#define WALLET_MAX 300
35#define BIG_WALLET_MAX 600
36#define GIANT_WALLET_MAX 1000
37#define MAX_FINDABLE_FISHES 6
38
40 /* 0 */ A_BUTTON,
41 /* 1 */ B_BUTTON,
42};
43
44enum Wallets {
45 /* 0x0 */ WALLET,
46 /* 0x1 */ BIG_WALLET,
47 /* 0x2 */ GIANT_WALLET
48};
49
51 /* 0x00 */ SLOT_0,
52 /* 0x01 */ SLOT_1,
53 /* 0x02 */ SLOT_2,
54 /* 0x03 */ SLOT_3,
55 /* 0x04 */ SLOT_4, // Bow Slot
56 /* 0x05 */ SLOT_5,
57 /* 0x06 */ SLOT_6,
58 /* 0x07 */ SLOT_7,
59 /* 0x08 */ SLOT_8,
60 /* 0x09 */ SLOT_9,
61 /* 0x0A */ SLOT_10,
62 /* 0x0B */ SLOT_11,
63 /* 0x0C */ SLOT_12,
64 /* 0x0D */ SLOT_13,
65 /* 0x0E */ SLOT_14,
66 /* 0x0F */ SLOT_15,
67 /* 0x10 */ SLOT_16,
68 /* 0x11 */ SLOT_17,
69 /* 0x12 */ SLOT_18,
70 /* 0x13 */ SLOT_19,
71 /* 0x14 */ SLOT_20,
72 /* 0x15 */ SLOT_21,
73 /* 0x16 */ SLOT_22,
74 /* 0x17 */ SLOT_23
75};
76
79 /* 0x1 */ COLLECT_SWORD,
80 /* 0x2 */ COLLECT_SHIELD,
81 /* 0x3 */ COLLECT_SMELL,
82 /* 0x4 */ B_BUTTON_ITEM
83};
84
91
97
98enum Clothes {
99 /* 0x0 */ KOKIRI_CLOTHES_FLAG
101
103 /* 0x0 */ FARON_VESSEL,
104 /* 0x1 */ ELDIN_VESSEL,
105 /* 0x2 */ LANAYRU_VESSEL
107
109 /* 0x0 */ ARROW_MAX,
111 /* 0x2 */ WATER_BOMB_MAX,
112 /* 0x6 */ POKE_BOMB_MAX = 6
114
115enum {
119 /* 0x3 */ SELECT_ITEM_B,
122};
123
124enum {
126 /* 0x1 */ TF_STATUS_WOLF,
127};
128
130public:
131 void init();
133 u8 getSelectItemIndex(int i_no) const;
134 void setMixItemIndex(int i_no, u8 i_slotNo);
135 u8 getMixItemIndex(int i_no) const;
136 u16 getRupeeMax() const;
137 int isMagicFlag(u8 i_magic) const;
138
139 u16 getMaxLife() const { return mMaxLife; }
140 u16 getLife() const { return mLife; }
141 u16 getRupee() const { return mRupee; }
142 u16 getOil() const { return mOil; }
143 u16 getMaxOil() const { return mMaxOil; }
144 u8 getMagic() const { return mMagic; }
145 u8 getMaxMagic() const { return mMaxMagic; }
146 u8 getSelectEquip(int item) const { return mSelectEquip[item]; }
148 u8 getWalletSize() const { return mWalletSize; }
149 void setOil(u16 i_oil) { mOil = i_oil; }
159
160private:
161 /* 0x00 */ u16 mMaxLife;
162 /* 0x02 */ u16 mLife;
163 /* 0x04 */ u16 mRupee;
164 /* 0x06 */ u16 mMaxOil;
165 /* 0x08 */ u16 mOil;
166 /* 0x0A */ u8 unk10;
167 /* 0x0B */ u8 mSelectItem[MAX_SELECT_ITEM]; // For GC: first 2 are X & Y, others unused; For
168 // Wii (in order): Left, Right, Down, B
169 /* 0x0F */ u8 mMixItem[MAX_SELECT_ITEM]; // Combo items; For GC: first 2 are X & Y, others
170 // unused; For Wii (in order): Left, Right, Down, B
172 /* 0x19 */ u8 mWalletSize;
173 /* 0x1A */ u8 mMaxMagic;
174 /* 0x1B */ u8 mMagic;
175 /* 0x1C */ u8 mMagicFlag;
176 /* 0x1D */ u8 unk29;
178 /* 0x1F */ u8 unk31[3];
179}; // Size: 0x28
180
182public:
183 void init();
184 void onDarkClearLV(int i_no);
185 BOOL isDarkClearLV(int i_no) const;
186 void onTransformLV(int i_no);
187 BOOL isTransformLV(int i_no) const;
188
190 u16 getDate() const { return mDate; }
191 f32 getTime() const { return mTime; }
194 OSTime getDateIpl() const { return mDateIpl; }
195
196private:
197 /* 0x00 */ OSTime mDateIpl;
200 /* 0x0A */ u8 unk10;
201 /* 0x0B */ u8 unk11;
202 /* 0x0C */ f32 mTime;
203 /* 0x10 */ u16 mDate;
204 /* 0x12 */ u8 unk18[3];
205}; // Size: 0x18
206
208public:
210
211 void init();
212 void set(const char* i_name, const cXyz& i_pos, s16 i_angle, s8 i_roomNo);
213
214 cXyz& getPos() { return mPos; }
215 s16 getAngleY() const { return mAngleY; }
216 const char* getStageName() const { return mName; }
217 s8 getRoomNo() const { return mRoomNo; }
218
219private:
220 /* 0x00 */ cXyz mPos;
221 /* 0x0C */ s16 mAngleY;
222 /* 0x0E */ char mName[8];
223 /* 0x16 */ u8 mSpawnId;
224 /* 0x17 */ s8 mRoomNo;
225}; // Size: 0x18
226
228public:
229 void init();
230 void set(const char* i_name, s8 i_roomNo, u8 i_status);
231 s8 getRoomNo() const { return mRoomNo; }
232 u8 getPlayerStatus() const { return mPlayerStatus; }
233 char* getName() { return mName; }
234
235private:
236 /* 0x00 */ char mName[8];
237 /* 0x08 */ u8 mPlayerStatus;
238 /* 0x09 */ s8 mRoomNo;
239 /* 0x0A */ u8 unk10;
240 /* 0x0B */ u8 unk11;
241}; // Size: 0xC
242
244public:
246
247 void init();
248 BOOL isRegionBit(int i_region) const;
249 void onRegionBit(int i_region);
250 void set(const char* i_name, const cXyz& i_pos, s16 i_angle, s8 i_spawn, u8 i_regionNo);
251
255 cXyz& getPos() { return mPos; }
256 u8 getRegionNo() const { return mRegionNo; }
257 char* getName() { return mName; }
258 s16 getAngleY() { return mAngleY; }
259
260private:
261 /* 0x00 */ cXyz mPos;
262 /* 0x0C */ s16 mAngleY;
263 /* 0x0E */ char mName[8];
264 /* 0x16 */ u8 mLastSpawnId;
265 /* 0x17 */ u8 mRegionNo;
266 /* 0x18 */ bool mFieldDataExistFlag;
267 /* 0x19 */ u8 mRegion;
268 /* 0x1A */ u8 unk26[2];
269}; // Size: 0x1C
270
272public:
274
275 void init();
276 void setWarpItemData(const char* i_name, const cXyz& i_pos, s16 i_angle, s8 i_roomNo, u8, u8);
277
278 const char* getName() { return mName; }
279 cXyz& getPos() { return mPos; }
280 s16 getAngleY() { return mAngleY; }
281 s8 getRoomNo() { return mRoomNo; }
285
286private:
287 /* 0x00 */ cXyz mPos;
288 /* 0x0C */ s16 mAngleY;
289 /* 0x0E */ char mName[8];
290 /* 0x16 */ u8 mSpawnId;
291 /* 0x17 */ s8 mRoomNo;
293 /* 0x19 */ u8 unk25[3];
294}; // Size: 0x1C
295
297public:
298 void init();
299 void setItem(int i_slotNo, u8 i_itemNo);
300 u8 getItem(int i_slotNo, bool i_checkCombo) const;
301 void setLineUpItem();
302 u8 getLineUpItem(int i_slotNo) const;
305 void setEmptyBottle();
310 int checkInsectBottle();
316 void setEmptyBombBag();
320 void setRodTypeLevelUp();
321 void setBaitItem(u8 i_itemNo);
322
323private:
324 /* 0x00 */ u8 mItems[24];
325 /* 0x18 */ u8 mItemSlots[24];
326}; // Size: 0x30
327
329public:
330 void init();
331 void onFirstBit(u8 i_itemNo);
332 void offFirstBit(u8 i_itemNo);
333 int isFirstBit(u8 i_itemNo) const;
334
335private:
336 /* 0x0 */ u32 mItemFlags[8];
337}; // Size: 0x20
338
340public:
341 void init();
343 u8 getBombNum(u8 i_bagIdx) const;
347
348 u8 getArrowNum() const { return mArrowNum; }
350 u8 getPachinkoNum() const { return mPachinkoNum; }
352
353private:
354 /* 0x0 */ u8 mArrowNum;
355 /* 0x1 */ u8 mBombNum[3];
356 /* 0x4 */ u8 mBottleNum[4];
357 /* 0x8 */ u8 mPachinkoNum;
358 /* 0x9 */ u8 unk5[3];
359}; // Size: 0xC
360
362public:
363 void init();
365 u8 getBombNum(u8 i_bombType) const;
366
368 u8 getArrowNum() const { return mItemMax[ARROW_MAX]; }
369
370private:
371 /* 0x0 */ u8 mItemMax[8];
372}; // Size: 0x8
373
375public:
376 void init();
377 void setCollect(int i_item_type, u8 i_item);
378 BOOL isCollect(int i_item_type, u8 i_item) const;
383
384 u8 getPohNum() { return mPohNum; }
385
386private:
387 /* 0x0 */ u8 mItem[8];
388 /* 0x8 */ u8 unk8;
389 /* 0x9 */ u8 mCrystal;
390 /* 0xA */ u8 mMirror;
391 /* 0xB */ u8 unk11;
392 /* 0xC */ u8 mPohNum;
393 /* 0xD */ u8 padding[3];
394}; // Size: 0x10
395
397public:
398 void init();
399
400private:
401 /* 0x0 */ u8 unk0[3];
402 /* 0x3 */ u8 unk3;
403}; // Size: 0x4
404
406public:
407 void init();
412
413private:
414 /* 0x0 */ u8 mLightDropNum[4];
416 /* 0x5 */ u8 unk5[3];
417}; // Size: 0x8
418
420public:
421 void init();
422 void onLetterGetFlag(int i_no);
423 BOOL isLetterGetFlag(int i_no) const;
424 void onLetterReadFlag(int i_no);
425 int isLetterReadFlag(int i_no) const;
428
429private:
430 /* 0x00 */ u32 mLetterGetFlags[2];
431 /* 0x08 */ u32 mLetterReadFlags[2];
432 /* 0x10 */ u8 mGetNumber[64];
433}; // Size: 0x50
434
436public:
437 void init();
442
443private:
444 /* 0x00 */ u16 mFishCount[16];
445 /* 0x20 */ u8 mMaxSize[16];
446}; // Size: 0x34
447
449public:
450 void init();
451 char* getLinkName() { return mPlayerName; }
452 char* getHorseName() { return mHorseName; }
453 void setPlayerName(const char* i_name) { strcpy((char*)mPlayerName, i_name); }
454 void setHorseName(const char* i_name) { strcpy((char*)mHorseName, i_name); }
456 s64 getTotalTime() const { return mTotalTime; }
457
459 if (mDeathCount < 0xFFFF) {
460 mDeathCount++;
461 }
462 }
463
464private:
465 /* 0x00 */ u32 unk0;
466 /* 0x04 */ u32 unk4;
467 /* 0x08 */ s64 mTotalTime;
468 /* 0x10 */ u16 unk16;
469 /* 0x12 */ u16 mDeathCount;
470 /* 0x14 */ char mPlayerName[16];
471 /* 0x24 */ u8 unk36;
472 /* 0x25 */ char mHorseName[16];
473 /* 0x35 */ u8 unk53;
474 /* 0x36 */ u8 mClearCount;
475 /* 0x37 */ u8 unk55[5];
476}; // Size: 0x40
477
479public:
480 void init();
481 u32 checkVibration() const;
482 u8 getSound();
483 void setSound(u8 i_mode);
486
493 bool getShortCut() { return mShortCut; }
497 bool getPointer() { return mPointer; }
499
500private:
501 /* 0x0 */ u8 unk0;
502 /* 0x1 */ u8 mSoundMode;
503 /* 0x2 */ u8 mAttentionType; // Lock-On Type; 0 : hold, 1 : switch
504 /* 0x3 */ u8 mVibration; // Rumble status
505 /* 0x4 */ u8 unk4;
506 /* 0x5 */ u8 unk5;
507 /* 0x6 */ u16 mCalibrateDist; // Wii pointer horizontal calibration. Default is 0x015E
508 /* 0x8 */ u8 mCalValue; // Wii pointer vertical calibration. Default is 0x00
509 /* 0x9 */ bool mShortCut; // Wii icon shortcut enabled/disabled.
510 /* 0xA */ u8 mCameraControl; // 0 : normal, 1 : inverted
511 /* 0xB */ bool mPointer; // Wii pointer enabled/disabled.
512}; // Size: 0xC
513
515public:
517 void init();
518
537
538private:
556}; // Size: 0x1EC
557
558class dSv_memBit_c {
559public:
560 enum {
561 /* 0x0 */ MAP,
562 /* 0x1 */ COMPASS,
563 /* 0x2 */ BOSS_KEY,
565 /* 0x4 */ STAGE_LIFE,
567 /* 0x6 */ OOCCOO_NOTE,
568 /* 0x7 */ STAGE_BOSS_ENEMY_2
569 };
570
571 void init();
572 void onTbox(int i_no);
573 void offTbox(int i_no);
574 BOOL isTbox(int i_no) const;
575 void onSwitch(int i_no);
576 void offSwitch(int i_no);
577 BOOL isSwitch(int i_no) const;
578 BOOL revSwitch(int i_no);
579 void onItem(int i_no);
580 BOOL isItem(int i_no) const;
581 void onDungeonItem(int i_no);
583
584 u8 getKeyNum() { return mKeyNum; }
603
604private:
605 /* 0x00 */ u32 mTbox[2];
606 /* 0x08 */ u32 mSwitch[4];
607 /* 0x18 */ u32 mItem[1];
608 /* 0x1C */ u8 mKeyNum;
609 /* 0x1D */ u8 mDungeonItem;
610}; // Size: 0x20
611
613public:
614 void init();
615 void onEventBit(u16 i_no);
616 void offEventBit(u16 i_no);
617 int isEventBit(u16 i_no) const;
618 void setEventReg(u16 i_reg, u8 i_no);
619 u8 getEventReg(u16 i_reg) const;
620
621 void* getPEventBit() { return (void*)mEvent; }
622
623private:
624 /* 0x0 */ u8 mEvent[256];
625}; // Size: 0x100
626
628public:
629 void init();
630
633
634private:
635 /* 0x00 */ u8 unk0;
636 /* 0x01 */ u8 unk1[3];
637 /* 0x04 */ u32 mStarTime;
638 /* 0x08 */ u32 mBalloonScore;
639 /* 0x0C */ u32 mRaceGameTime;
640 /* 0x10 */ u32 unk16;
641 /* 0x14 */ u32 unk20;
642}; // Size: 0x18
643
645public:
646 dSv_memory_c() { this->init(); }
647 void init();
648 dSv_memBit_c& getBit() { return mBit; }
649 const dSv_memBit_c& getBit() const { return mBit; }
650
651private:
653}; // Size: 0x20
654
656
658public:
659 dSv_memory2_c() { this->init(); }
660 void init();
661 void onVisitedRoom(int i_no);
662 void offVisitedRoom(int i_no);
664
665private:
666 /* 0x0 */ u32 mVisitedRoom[2];
667}; // Size: 0x8
668
670
672public:
673 bool init(s8 i_stageNo);
674 void onSwitch(int i_no);
675 void offSwitch(int i_no);
676 BOOL isSwitch(int i_no) const;
677 BOOL revSwitch(int i_no);
678 void onItem(int i_no);
679 BOOL isItem(int i_no) const;
680
681 void reset() { mStageNo = -1; }
682
683private:
684 /* 0x00 */ s8 mStageNo;
685 /* 0x01 */ u8 unk1;
686 /* 0x02 */ u8 unk2[2];
687 /* 0x04 */ u32 mSwitch[2];
688 /* 0x0C */ u32 mItem[4];
689 /* 0x1C */ s16 unk28[16];
690}; // Size: 0x3C
691
693public:
694 void init();
695 void clearRoomSwitch();
696 void clearRoomItem();
697 void onSwitch(int i_no);
698 void offSwitch(int i_no);
699 BOOL isSwitch(int i_no) const;
700 BOOL revSwitch(int i_no);
701 void onOneSwitch(int i_no);
702 void offOneSwitch(int i_no);
703 BOOL isOneSwitch(int i_no) const;
705 void onItem(int i_no);
706 BOOL isItem(int i_no) const;
707 void onOneItem(int i_no);
708 BOOL isOneItem(int i_no) const;
709
710private:
711 /* 0x00 */ u16 mSwitch[2];
712 /* 0x04 */ u16 mRoomSwitch;
713 /* 0x06 */ u16 mItem[2];
714 /* 0x0A */ u16 mRoomItem;
715 /* 0x0C */ u16 unk12;
716}; // Size: 0xE
717
719public:
720 void init();
721 void on(int i_id);
722 void off(int i_id);
723 BOOL is(int i_id) const;
724
725 static const int ACTOR_MAX = 0xFFFF;
726
727private:
728 /* 0x00 */ u32 mActorFlags[4];
729}; // Size: 0x10
730
732public:
733 dSv_zone_c() { mRoomNo = -1; }
734 void init(int i_roomNo);
735
736 dSv_zoneBit_c& getBit() { return mBit; }
737 const dSv_zoneBit_c& getBit() const { return mBit; }
739 const dSv_zoneActor_c& getActor() const { return mActor; }
740
741 s8& getRoomNo() { return mRoomNo; }
742 void reset() { mRoomNo = -1; }
743
744private:
745 /* 0x00 */ s8 mRoomNo;
746 /* 0x01 */ u8 unk1;
747 /* 0x02 */ dSv_zoneBit_c mBit;
749}; // Size: 0x20
750
751STATIC_ASSERT(sizeof(dSv_zone_c) == 0x20);
752
754public:
756
757 void setRoomParam(u32 param) { mRoomParam = param; }
759 void setLastSceneInfo(f32 speed, u32 mode, s16 angle) {
760 mLastSpeedF = speed;
761 mLastMode = mode;
763 }
764
765 s16 getStartPoint() const { return mStartPoint; }
766 u32 getLastMode() const { return mLastMode; }
767 s8 getRoomNo() const { return mRoomNo; }
768 u32 getRoomParam() const { return mRoomParam; }
769 cXyz& getRoomPos() { return mRoomPos; }
770 s16 getRoomAngleY() const { return mRoomAngleY; }
771 s16 getLastAngleY() const { return mLastAngleY; }
772 f32 getLastSpeedF() const { return mLastSpeedF; }
773
774private:
775 /* 0x00 */ s8 mRoomNo;
776 /* 0x01 */ u8 field_0x01[3];
777 /* 0x04 */ s16 mStartPoint;
778 /* 0x06 */ s16 mRoomAngleY;
779 /* 0x08 */ cXyz mRoomPos;
780 /* 0x14 */ u32 mRoomParam;
781 /* 0x18 */ f32 mLastSpeedF;
782 /* 0x1C */ u32 mLastMode;
783 /* 0x20 */ s16 mLastAngleY;
784}; // Size: 0x24
785
787public:
789 public:
790 /* 0x00 */ cXyz mCameraCtr;
791 /* 0x0C */ cXyz mCameraEye;
792 /* 0x18 */ cXyz mCameraUp;
793 }; // Size: 0x24
794
795 void set(const cXyz& i_position, s16 i_angleY, s8, u32 i_param);
796
797 u32 getParam() const { return mParam; }
798 cXyz& getPos() { return mPosition; }
799 s16 getAngleY() const { return mAngleY; }
800
801 f32 getCameraFvy() const { return mCameraFvy; }
803
804 const cXyz& getCameraUp() const { return mCamera.mCameraUp; }
805 const cXyz& getCameraEye() const { return mCamera.mCameraEye; }
806 const cXyz& getCameraCtr() const { return mCamera.mCameraCtr; }
807
811
812private:
813 /* 0x00 */ cXyz mPosition;
814 /* 0x0C */ u32 mParam;
815 /* 0x10 */ s16 mAngleY;
816 /* 0x12 */ s8 unk18;
818 /* 0x38 */ f32 mCameraFvy;
819}; // Size: 0x3C
820
822public:
823private:
824 u8 unk[80];
825};
826
828public:
830
831 void init();
833
839
840 static const int STAGE_MAX = 32;
841 static const int STAGE2_MAX = 64;
842
843 // private:
847 /* 0x7F0 */ dSv_event_c mEvent;
850}; // Size: 0x958
851
852class dSv_info_c {
853public:
854 void init();
855 void getSave(int i_stageNo);
856 void putSave(int i_stageNo);
857 void initZone();
859 void onSwitch(int i_no, int i_roomNo);
860 void offSwitch(int i_no, int i_roomNo);
861 BOOL isSwitch(int i_no, int i_roomNo) const;
862 BOOL revSwitch(int i_no, int i_roomNo);
863 void onItem(int i_no, int i_roomNo);
864 BOOL isItem(int i_no, int i_roomNo) const;
865 void onActor(int i_no, int i_roomNo);
866 void offActor(int i_no, int i_roomNo);
867 BOOL isActor(int i_no, int i_roomNo) const;
868 int memory_to_card(char* card_ptr, int dataNum);
869 int card_to_memory(char* card_ptr, int dataNum);
870 int initdata_to_card(char* card_ptr, int dataNum);
871
874 dSv_zone_c* getZones() { return mZone; }
875 dSv_zone_c& getZone(int id) { return mZone[id]; }
877 dSv_event_c& getTmp() { return mTmp; }
881 dSv_danBit_c& getDan() { return mDan; }
883 s64 getStartTime() const { return mStartTime; }
888 void resetDan() { mDan.reset(); }
889 u8 getDataNum() const { return mDataNum; }
890 void setDataNum(u8 num) { mDataNum = num; }
892 u8 getNoFile() const { return mNoFile; }
894 u8 getNewFile() const { return mNewFile; }
896
897 static const int MEMORY_SWITCH = 0x80;
898 static const int DAN_SWITCH = 0x40;
899 static const int ZONE_SWITCH = 0x20;
900 static const int ONEZONE_SWITCH = 0x10;
901
902 static const int MEMORY_ITEM = 0x80;
903 static const int DAN_ITEM = 0x20;
904 static const int ZONE_ITEM = 0x20;
905 static const int ONEZONE_ITEM = 0x10;
906
907 static const int ZONE_MAX = 0x20;
908
909private:
912 /* 0x978 */ dSv_danBit_c mDan;
915 /* 0xDD8 */ dSv_event_c mTmp;
917 /* 0xF14 */ u8 field_0xf14[4];
918 /* 0xF18 */ u8 mDataNum;
919 /* 0xF19 */ u8 mNewFile;
920 /* 0xF1A */ u8 mNoFile;
921 /* 0xF1B */ u8 field_0xf1b[13];
922 /* 0xF28 */ s64 mStartTime;
923 /* 0xF30 */ s64 mSaveTotalTime;
924}; // Size: 0xF38
925
927public:
928 enum {
929 #include "d/d_save_bit_labels.inc"
930 };
931
932 static u16 saveBitLabels[822];
933};
934
936public:
937 enum {
939 };
940
941 static u16 const tempBitLabels[185];
942};
943
944#endif /* D_SAVE_D_SAVE_H */
OSTime time
Definition GXInit.c:61
s64 OSTime
Definition OSTime.h:10
T cLib_calcTimer(T *value)
Definition c_lib.h:79
Definition d_save.h:627
u32 getBalloonScore() const
Definition d_save.h:632
u32 unk16
Definition d_save.h:640
u32 mBalloonScore
Definition d_save.h:638
u32 getRaceGameTime() const
Definition d_save.h:631
u32 mRaceGameTime
Definition d_save.h:639
u32 mStarTime
Definition d_save.h:637
void init()
Definition d_save.cpp:1206
u8 unk1[3]
Definition d_save.h:636
u8 unk0
Definition d_save.h:635
u32 unk20
Definition d_save.h:641
Definition d_save.h:671
BOOL isSwitch(int i_no) const
Definition d_save.cpp:1282
s16 unk28[16]
Definition d_save.h:689
void onItem(int i_no)
Definition d_save.cpp:1294
u32 mSwitch[2]
Definition d_save.h:687
u32 mItem[4]
Definition d_save.h:688
BOOL revSwitch(int i_no)
Definition d_save.cpp:1287
void offSwitch(int i_no)
Definition d_save.cpp:1277
bool init(s8 i_stageNo)
Definition d_save.cpp:1247
BOOL isItem(int i_no) const
Definition d_save.cpp:1299
u8 unk2[2]
Definition d_save.h:686
s8 mStageNo
Definition d_save.h:684
void onSwitch(int i_no)
Definition d_save.cpp:1272
void reset()
Definition d_save.h:681
u8 unk1
Definition d_save.h:685
Definition d_save.h:612
void setEventReg(u16 i_reg, u8 i_no)
Definition d_save.cpp:1194
void offEventBit(u16 i_no)
Definition d_save.cpp:1182
void onEventBit(u16 i_no)
Definition d_save.cpp:1176
int isEventBit(u16 i_no) const
Definition d_save.cpp:1188
void * getPEventBit()
Definition d_save.h:621
void init()
Definition d_save.cpp:1168
u8 mEvent[256]
Definition d_save.h:624
u8 getEventReg(u16 i_reg) const
Definition d_save.cpp:1201
Definition d_save.h:926
static u16 saveBitLabels[822]
Definition d_save.h:472
Definition d_save.h:935
static u16 const tempBitLabels[185]
Definition d_save.h:1789
Definition d_save.h:435
u16 getFishCount(u8 i_fishIndex) const
Definition d_save.h:439
void addFishCount(u8 i_fishIndex)
Definition d_save.cpp:999
void init()
Definition d_save.cpp:991
u8 getMaxSize(s32 i_sizeIndex)
Definition d_save.h:440
u16 mFishCount[16]
Definition d_save.h:444
void setMaxSize(s32 i_sizeIndex, u8 i_size)
Definition d_save.h:441
u8 mMaxSize[16]
Definition d_save.h:445
Definition d_save.h:207
dSv_horse_place_c()
Definition d_save.h:209
const char * getStageName() const
Definition d_save.h:216
void init()
Definition d_save.cpp:156
s8 mRoomNo
Definition d_save.h:224
s16 mAngleY
Definition d_save.h:221
s16 getAngleY() const
Definition d_save.h:215
cXyz & getPos()
Definition d_save.h:214
cXyz mPos
Definition d_save.h:220
u8 mSpawnId
Definition d_save.h:223
s8 getRoomNo() const
Definition d_save.h:217
char mName[8]
Definition d_save.h:222
void set(const char *i_name, const cXyz &i_pos, s16 i_angle, s8 i_roomNo)
Definition d_save.cpp:165
Definition d_save.h:419
u8 getGetNumber(int i_no)
Definition d_save.h:426
u8 mGetNumber[64]
Definition d_save.h:432
u32 mLetterReadFlags[2]
Definition d_save.h:431
u32 mLetterGetFlags[2]
Definition d_save.h:430
void onLetterReadFlag(int i_no)
Definition d_save.cpp:981
void onLetterGetFlag(int i_no)
Definition d_save.cpp:971
void setGetNumber(int i_no, u8 i_value)
Definition d_save.h:427
int isLetterReadFlag(int i_no) const
Definition d_save.cpp:986
BOOL isLetterGetFlag(int i_no) const
Definition d_save.cpp:976
void init()
Definition d_save.cpp:959
Definition d_save.h:405
u8 mLightDropGetFlag
Definition d_save.h:415
BOOL isLightDropGetFlag(u8 i_nowLevel) const
Definition d_save.cpp:951
void onLightDropGetFlag(u8 i_nowLevel)
Definition d_save.cpp:943
u8 getLightDropNum(u8 i_nowLevel) const
Definition d_save.cpp:935
void init()
Definition d_save.cpp:915
void setLightDropNum(u8 i_nowLevel, u8 i_dropNum)
Definition d_save.cpp:928
u8 unk5[3]
Definition d_save.h:416
u8 mLightDropNum[4]
Definition d_save.h:414
Definition d_save.h:657
void offVisitedRoom(int i_no)
Definition d_save.cpp:1237
BOOL isVisitedRoom(int i_no)
Definition d_save.cpp:1242
void onVisitedRoom(int i_no)
Definition d_save.cpp:1231
u32 mVisitedRoom[2]
Definition d_save.h:666
void init()
Definition d_save.cpp:1224
dSv_memory2_c()
Definition d_save.h:659
Definition d_save.h:644
const dSv_memBit_c & getBit() const
Definition d_save.h:649
dSv_memBit_c mBit
Definition d_save.h:652
dSv_memBit_c & getBit()
Definition d_save.h:648
dSv_memory_c()
Definition d_save.h:646
void init()
Definition d_save.cpp:1219
Definition d_save.h:514
dSv_horse_place_c mHorsePlace
Definition d_save.h:541
dSv_player_status_a_c & getPlayerStatusA()
Definition d_save.h:520
dSv_player_config_c mConfig
Definition d_save.h:555
dSv_player_last_mark_info_c & getPlayerLastMarkInfo()
Definition d_save.h:527
dSv_player_field_last_stay_info_c mPlayerFieldLastStayInfo
Definition d_save.h:543
dSv_light_drop_c mLightDrop
Definition d_save.h:551
dSv_player_field_last_stay_info_c & getPlayerFieldLastStayInfo()
Definition d_save.h:534
dSv_player_item_max_c mItemMax
Definition d_save.h:548
dSv_player_last_mark_info_c mPlayerLastMarkInfo
Definition d_save.h:544
dSv_player_item_record_c mItemRecord
Definition d_save.h:547
dSv_player_get_item_c & getGetItem()
Definition d_save.h:530
dSv_fishing_info_c & getFishingInfo()
Definition d_save.h:533
dSv_player_return_place_c mPlayerReturnPlace
Definition d_save.h:542
dSv_player_wolf_c mWolf
Definition d_save.h:550
dSv_player_return_place_c & getPlayerReturnPlace()
Definition d_save.h:528
dSv_player_config_c & getConfig()
Definition d_save.h:531
dSv_fishing_info_c mFishingInfo
Definition d_save.h:553
dSv_player_get_item_c mGetItem
Definition d_save.h:546
dSv_player_info_c mPlayerInfo
Definition d_save.h:554
dSv_player_item_record_c & getItemRecord()
Definition d_save.h:525
dSv_player_collect_c & getCollect()
Definition d_save.h:524
dSv_player_collect_c mCollect
Definition d_save.h:549
void init()
Definition d_save.cpp:1073
dSv_player_info_c & getPlayerInfo()
Definition d_save.h:519
dSv_player_status_b_c mPlayerStatusB
Definition d_save.h:540
dSv_player_item_c & getItem()
Definition d_save.h:523
dSv_player_item_max_c & getItemMax()
Definition d_save.h:526
dSv_player_item_c mItem
Definition d_save.h:545
dSv_letter_info_c mLetterInfo
Definition d_save.h:552
dSv_player_status_a_c mPlayerStatusA
Definition d_save.h:539
dSv_horse_place_c & getHorsePlace()
Definition d_save.h:522
dSv_letter_info_c & getLetterInfo()
Definition d_save.h:532
dSv_player_c()
Definition d_save.h:516
dSv_player_status_b_c & getPlayerStatusB()
Definition d_save.h:521
dSv_light_drop_c & getLightDrop()
Definition d_save.h:529
Definition d_save.h:374
u8 mItem[8]
Definition d_save.h:387
u8 getPohNum()
Definition d_save.h:384
u8 padding[3]
Definition d_save.h:393
u8 mPohNum
Definition d_save.h:392
void onCollectMirror(u8 i_item)
Definition d_save.cpp:895
void setCollect(int i_item_type, u8 i_item)
Definition d_save.cpp:872
void onCollectCrystal(u8 i_item)
Definition d_save.cpp:883
u8 mCrystal
Definition d_save.h:389
BOOL isCollect(int i_item_type, u8 i_item) const
Definition d_save.cpp:877
u8 unk11
Definition d_save.h:391
void init()
Definition d_save.cpp:859
u8 unk8
Definition d_save.h:388
BOOL isCollectCrystal(u8 i_item) const
Definition d_save.cpp:889
BOOL isCollectMirror(u8 i_item) const
Definition d_save.cpp:901
u8 mMirror
Definition d_save.h:390
Definition d_save.h:478
void setPointer(bool i_mPointer)
Definition d_save.h:498
void setCalibrateDist(u16 i_mCalibrateDist)
Definition d_save.h:490
u8 getCameraControl()
Definition d_save.h:495
void setSound(u8 i_mode)
Definition d_save.cpp:1058
u8 mCameraControl
Definition d_save.h:510
void setShortCut(bool i_mShortCut)
Definition d_save.h:494
bool getShortCut()
Definition d_save.h:493
u8 getSound()
Definition d_save.cpp:1052
u8 unk0
Definition d_save.h:501
u16 mCalibrateDist
Definition d_save.h:507
u8 getCalValue()
Definition d_save.h:491
u8 mVibration
Definition d_save.h:504
void setCalValue(u8 i_mCalValue)
Definition d_save.h:492
void setVibration(u8 i_status)
Definition d_save.cpp:1068
u8 mSoundMode
Definition d_save.h:502
u16 getCalibrateDist()
Definition d_save.h:489
u8 mCalValue
Definition d_save.h:508
u32 checkVibration() const
Definition d_save.cpp:1046
bool getPointer()
Definition d_save.h:497
void setCameraControl(u8 i_mCameraControl)
Definition d_save.h:496
u8 unk5
Definition d_save.h:506
bool mPointer
Definition d_save.h:511
void init()
Definition d_save.cpp:1023
u8 mAttentionType
Definition d_save.h:503
bool mShortCut
Definition d_save.h:509
u8 getAttentionType()
Definition d_save.h:487
u8 unk4
Definition d_save.h:505
u8 getVibration()
Definition d_save.cpp:1063
void setAttentionType(u8 i_mAttentionType)
Definition d_save.h:488
Definition d_save.h:243
cXyz & getPos()
Definition d_save.h:255
s16 mAngleY
Definition d_save.h:262
BOOL isRegionBit(int i_region) const
Definition d_save.cpp:226
void init()
Definition d_save.cpp:191
void onRegionBit(int i_region)
Definition d_save.cpp:218
u8 mRegion
Definition d_save.h:267
char mName[8]
Definition d_save.h:263
char * getName()
Definition d_save.h:257
void offFieldDataExistFlag()
Definition d_save.h:253
bool mFieldDataExistFlag
Definition d_save.h:266
s16 getAngleY()
Definition d_save.h:258
bool isFieldDataExistFlag() const
Definition d_save.h:252
u8 mRegionNo
Definition d_save.h:265
u8 unk26[2]
Definition d_save.h:268
void onFieldDataExistFlag()
Definition d_save.h:254
cXyz mPos
Definition d_save.h:261
u8 mLastSpawnId
Definition d_save.h:264
dSv_player_field_last_stay_info_c()
Definition d_save.h:245
void set(const char *i_name, const cXyz &i_pos, s16 i_angle, s8 i_spawn, u8 i_regionNo)
Definition d_save.cpp:207
u8 getRegionNo() const
Definition d_save.h:256
Definition d_save.h:328
u32 mItemFlags[8]
Definition d_save.h:336
void offFirstBit(u8 i_itemNo)
Definition d_save.cpp:742
void onFirstBit(u8 i_itemNo)
Definition d_save.cpp:737
int isFirstBit(u8 i_itemNo) const
Definition d_save.cpp:747
void init()
Definition d_save.cpp:730
Definition d_save.h:448
u16 unk16
Definition d_save.h:468
u32 unk0
Definition d_save.h:465
u32 unk4
Definition d_save.h:466
s64 getTotalTime() const
Definition d_save.h:456
void setHorseName(const char *i_name)
Definition d_save.h:454
void setTotalTime(s64 i_time)
Definition d_save.h:455
u8 mClearCount
Definition d_save.h:474
char * getLinkName()
Definition d_save.h:451
char * getHorseName()
Definition d_save.h:452
u8 unk53
Definition d_save.h:473
char mHorseName[16]
Definition d_save.h:472
char mPlayerName[16]
Definition d_save.h:470
u8 unk36
Definition d_save.h:471
void init()
Definition d_save.cpp:1006
u16 mDeathCount
Definition d_save.h:469
void setPlayerName(const char *i_name)
Definition d_save.h:453
void addDeathCount()
Definition d_save.h:458
s64 mTotalTime
Definition d_save.h:467
u8 unk55[5]
Definition d_save.h:475
Definition d_save.h:296
void setRodTypeLevelUp()
Definition d_save.cpp:682
u8 mItemSlots[24]
Definition d_save.h:325
u8 checkBottle(u8 i_itemNo)
Definition d_save.cpp:458
void setEquipBottleItemEmpty(u8 curItemIn)
Definition d_save.cpp:453
u8 getItem(int i_slotNo, bool i_checkCombo) const
Definition d_save.cpp:281
void setBaitItem(u8 i_itemNo)
Definition d_save.cpp:705
void setBombBagItemIn(u8 i_curBomb, u8 i_newBomb, bool i_setNum)
Definition d_save.cpp:572
u8 checkEmptyBottle()
Definition d_save.cpp:559
u8 getLineUpItem(int i_slotNo) const
Definition d_save.cpp:376
void setEquipBottleItemIn(u8 curItemIn, u8 newItemIn)
Definition d_save.cpp:435
int checkInsectBottle()
Definition d_save.cpp:548
void setEmptyBottleItemIn(u8 i_itemNo)
Definition d_save.cpp:408
void setLineUpItem()
Definition d_save.cpp:354
void setBottleItemIn(u8 curItemIn, u8 newItemIn)
Definition d_save.cpp:385
u8 mItems[24]
Definition d_save.h:324
void setEmptyBombBagItemIn(u8 i_newBomb, bool i_setNum)
Definition d_save.cpp:617
void setEmptyBottle()
Definition d_save.cpp:414
void setEmptyBombBag()
Definition d_save.cpp:628
void setWarashibeItem(u8 i_itemNo)
Definition d_save.cpp:670
void setItem(int i_slotNo, u8 i_itemNo)
Definition d_save.cpp:266
u8 checkBombBag(u8 i_itemNo)
Definition d_save.cpp:658
void init()
Definition d_save.cpp:258
Definition d_save.h:361
u8 mItemMax[8]
Definition d_save.h:371
void setArrowNum(u8 i_maxNum)
Definition d_save.h:367
u8 getBombNum(u8 i_bombType) const
Definition d_save.cpp:840
void init()
Definition d_save.cpp:814
u8 getArrowNum() const
Definition d_save.h:368
void setBombNum(u8 i_bombType, u8 i_maxNum)
Definition d_save.cpp:825
Definition d_save.h:339
u8 mPachinkoNum
Definition d_save.h:357
u8 getPachinkoNum() const
Definition d_save.h:350
u8 mArrowNum
Definition d_save.h:354
void init()
Definition d_save.cpp:753
u8 addBottleNum(u8 i_bottleIdx, s16 i_num)
Definition d_save.cpp:791
u8 unk5[3]
Definition d_save.h:358
u8 getArrowNum() const
Definition d_save.h:348
u8 getBottleNum(u8 i_bottleIdx) const
Definition d_save.cpp:809
u8 mBottleNum[4]
Definition d_save.h:356
void setBombNum(u8 i_bagIdx, u8 i_bombNum)
Definition d_save.cpp:773
u8 getBombNum(u8 i_bagIdx) const
Definition d_save.cpp:779
u8 mBombNum[3]
Definition d_save.h:355
void setBottleNum(u8 i_bottleIdx, u8 i_bottleNum)
Definition d_save.cpp:785
void setPachinkoNum(u8 i_num)
Definition d_save.h:351
void setArrowNum(u8 i_num)
Definition d_save.h:349
Definition d_save.h:271
void resetWarpAcceptStage()
Definition d_save.h:283
s8 getRoomNo()
Definition d_save.h:281
dSv_player_last_mark_info_c()
Definition d_save.h:273
s8 mWarpAcceptStage
Definition d_save.h:292
s8 getWarpAcceptStage()
Definition d_save.h:282
cXyz mPos
Definition d_save.h:287
s8 mRoomNo
Definition d_save.h:291
const char * getName()
Definition d_save.h:278
s16 getAngleY()
Definition d_save.h:280
u8 mSpawnId
Definition d_save.h:290
char mName[8]
Definition d_save.h:289
void setWarpItemData(const char *i_name, const cXyz &i_pos, s16 i_angle, s8 i_roomNo, u8, u8)
Definition d_save.cpp:249
s16 mAngleY
Definition d_save.h:288
void init()
Definition d_save.cpp:234
cXyz & getPos()
Definition d_save.h:279
void setWarpAcceptStage(s8 accept)
Definition d_save.h:284
u8 unk25[3]
Definition d_save.h:293
Definition d_save.h:227
u8 unk11
Definition d_save.h:240
u8 getPlayerStatus() const
Definition d_save.h:232
char * getName()
Definition d_save.h:233
s8 mRoomNo
Definition d_save.h:238
void set(const char *i_name, s8 i_roomNo, u8 i_status)
Definition d_save.cpp:183
u8 mPlayerStatus
Definition d_save.h:237
char mName[8]
Definition d_save.h:236
s8 getRoomNo() const
Definition d_save.h:231
u8 unk10
Definition d_save.h:239
void init()
Definition d_save.cpp:174
Definition d_save.h:129
u16 getOil() const
Definition d_save.h:142
u8 unk10
Definition d_save.h:166
void setOil(u16 i_oil)
Definition d_save.h:149
u16 mOil
Definition d_save.h:165
u8 mTransformStatus
Definition d_save.h:177
u8 getTransformStatus() const
Definition d_save.h:147
u8 mMagicFlag
Definition d_save.h:175
void setSelectItemIndex(int i_no, u8 i_slotNo)
Definition d_save.cpp:65
u16 getRupeeMax() const
Definition d_save.cpp:98
void setMaxMagic(u8 i_maxMagic)
Definition d_save.h:153
u16 getLife() const
Definition d_save.h:140
u8 getMixItemIndex(int i_no) const
Definition d_save.cpp:90
void setMagic(u8 i_magic)
Definition d_save.h:152
void setMixItemIndex(int i_no, u8 i_slotNo)
Definition d_save.cpp:82
u8 mMixItem[MAX_SELECT_ITEM]
Definition d_save.h:169
u8 mMaxMagic
Definition d_save.h:173
u16 getRupee() const
Definition d_save.h:141
u16 mRupee
Definition d_save.h:163
u8 mMagic
Definition d_save.h:174
u8 unk29
Definition d_save.h:176
u8 mWalletSize
Definition d_save.h:172
void setTransformStatus(u8 i_status)
Definition d_save.h:158
u8 getSelectItemIndex(int i_no) const
Definition d_save.cpp:73
void setMaxOil(u16 i_maxOil)
Definition d_save.h:150
u16 mLife
Definition d_save.h:162
void setRupee(u16 i_rupees)
Definition d_save.h:154
u16 mMaxOil
Definition d_save.h:164
void setSelectEquip(int i_equipId, u8 i_itemNo)
Definition d_save.h:157
u8 getMagic() const
Definition d_save.h:144
u8 getMaxMagic() const
Definition d_save.h:145
u8 mSelectEquip[MAX_EQUIPMENT]
Definition d_save.h:171
void init()
Definition d_save.cpp:28
u16 getMaxLife() const
Definition d_save.h:139
u8 getWalletSize() const
Definition d_save.h:148
void setMaxLife(u8 i_maxLife)
Definition d_save.h:156
u8 getSelectEquip(int item) const
Definition d_save.h:146
u16 mMaxLife
Definition d_save.h:161
u8 mSelectItem[MAX_SELECT_ITEM]
Definition d_save.h:167
void setLife(u16 i_life)
Definition d_save.h:155
u8 unk31[3]
Definition d_save.h:178
int isMagicFlag(u8 i_magic) const
Definition d_save.cpp:113
void setWalletSize(u8 i_size)
Definition d_save.h:151
u16 getMaxOil() const
Definition d_save.h:143
Definition d_save.h:181
void onTransformLV(int i_no)
Definition d_save.cpp:146
void setDate(u16 i_date)
Definition d_save.h:192
u16 mDate
Definition d_save.h:203
OSTime mDateIpl
Definition d_save.h:197
u8 unk11
Definition d_save.h:201
void setTime(f32 i_time)
Definition d_save.h:193
void onDarkClearLV(int i_no)
Definition d_save.cpp:136
u16 getDate() const
Definition d_save.h:190
u8 unk18[3]
Definition d_save.h:204
u8 mTransformLevelFlag
Definition d_save.h:198
void setDateIpl(s64 i_time)
Definition d_save.h:189
f32 getTime() const
Definition d_save.h:191
OSTime getDateIpl() const
Definition d_save.h:194
f32 mTime
Definition d_save.h:202
BOOL isDarkClearLV(int i_no) const
Definition d_save.cpp:141
u8 mDarkClearLevelFlag
Definition d_save.h:199
u8 unk10
Definition d_save.h:200
void init()
Definition d_save.cpp:122
BOOL isTransformLV(int i_no) const
Definition d_save.cpp:151
Definition d_save.h:396
u8 unk0[3]
Definition d_save.h:401
void init()
Definition d_save.cpp:906
u8 unk3
Definition d_save.h:402
Definition d_save.h:821
u8 unk[80]
Definition d_save.h:824
Definition d_save.h:753
f32 getLastSpeedF() const
Definition d_save.h:772
cXyz mRoomPos
Definition d_save.h:779
f32 mLastSpeedF
Definition d_save.h:781
s16 getStartPoint() const
Definition d_save.h:765
s16 getLastAngleY() const
Definition d_save.h:771
cXyz & getRoomPos()
Definition d_save.h:769
u32 mLastMode
Definition d_save.h:782
void setStartPoint(s16 point)
Definition d_save.h:758
u32 getRoomParam() const
Definition d_save.h:768
s8 getRoomNo() const
Definition d_save.h:767
s16 mRoomAngleY
Definition d_save.h:778
void setRoom(const cXyz &i_position, s16 i_angleY, s8 i_roomNo)
Definition d_save.cpp:1423
u8 field_0x01[3]
Definition d_save.h:776
s16 getRoomAngleY() const
Definition d_save.h:770
u32 mRoomParam
Definition d_save.h:780
s16 mLastAngleY
Definition d_save.h:783
void setLastSceneInfo(f32 speed, u32 mode, s16 angle)
Definition d_save.h:759
u32 getLastMode() const
Definition d_save.h:766
s8 mRoomNo
Definition d_save.h:775
void setRoomParam(u32 param)
Definition d_save.h:757
s16 mStartPoint
Definition d_save.h:777
Definition d_save.h:827
dSv_player_c mPlayer
Definition d_save.h:844
dSv_event_c & getEvent()
Definition d_save.h:835
static const int STAGE2_MAX
Definition d_save.h:841
void init()
Definition d_save.cpp:1447
dSv_reserve_c reserve
Definition d_save.h:848
dSv_memory2_c mSave2[STAGE2_MAX]
Definition d_save.h:846
dSv_memory2_c * getSave2(int i_stage2No)
Definition d_save.cpp:1462
dSv_event_c mEvent
Definition d_save.h:847
dSv_MiniGame_c mMiniGame
Definition d_save.h:849
dSv_memory_c mSave[STAGE_MAX]
Definition d_save.h:845
dSv_save_c()
Definition d_save.h:829
dSv_memory_c & getSave(int i_stageNo)
Definition d_save.h:836
void putSave(int i_stageNo, dSv_memory_c mem)
Definition d_save.h:838
static const int STAGE_MAX
Definition d_save.h:840
dSv_MiniGame_c & getMiniGame()
Definition d_save.h:837
dSv_player_c & getPlayer()
Definition d_save.h:834
cXyz mCameraUp
Definition d_save.h:792
cXyz mCameraCtr
Definition d_save.h:790
cXyz mCameraEye
Definition d_save.h:791
Definition d_save.h:786
f32 getCameraFvy() const
Definition d_save.h:801
void setCameraEye(const cXyz &i_eye)
Definition d_save.h:809
void setCameraUp(const cXyz &i_up)
Definition d_save.h:808
u32 mParam
Definition d_save.h:814
dSv_turnRestart_camera_c mCamera
Definition d_save.h:817
u32 getParam() const
Definition d_save.h:797
void setCameraCtr(const cXyz &i_ctr)
Definition d_save.h:810
const cXyz & getCameraCtr() const
Definition d_save.h:806
s8 unk18
Definition d_save.h:816
void setCameraFvy(f32 i_fvy)
Definition d_save.h:802
const cXyz & getCameraEye() const
Definition d_save.h:805
f32 mCameraFvy
Definition d_save.h:818
s16 mAngleY
Definition d_save.h:815
const cXyz & getCameraUp() const
Definition d_save.h:804
s16 getAngleY() const
Definition d_save.h:799
void set(const cXyz &i_position, s16 i_angleY, s8, u32 i_param)
Definition d_save.cpp:1430
cXyz mPosition
Definition d_save.h:813
cXyz & getPos()
Definition d_save.h:798
Definition d_save.h:718
void init()
Definition d_save.cpp:1394
u32 mActorFlags[4]
Definition d_save.h:728
void off(int i_id)
Definition d_save.cpp:1406
BOOL is(int i_id) const
Definition d_save.cpp:1411
void on(int i_id)
Definition d_save.cpp:1401
static const int ACTOR_MAX
Definition d_save.h:725
Definition d_save.h:692
void onOneSwitch(int i_no)
Definition d_save.cpp:1352
void init()
Definition d_save.cpp:1304
void clearRoomSwitch()
Definition d_save.cpp:1319
u16 unk12
Definition d_save.h:715
BOOL isOneItem(int i_no) const
Definition d_save.cpp:1389
BOOL isOneSwitch(int i_no) const
Definition d_save.cpp:1362
u16 mItem[2]
Definition d_save.h:713
u16 mRoomItem
Definition d_save.h:714
void clearRoomItem()
Definition d_save.cpp:1324
BOOL revSwitch(int i_no)
Definition d_save.cpp:1344
void onOneItem(int i_no)
Definition d_save.cpp:1384
void offSwitch(int i_no)
Definition d_save.cpp:1334
void onSwitch(int i_no)
Definition d_save.cpp:1329
BOOL isItem(int i_no) const
Definition d_save.cpp:1379
BOOL isSwitch(int i_no) const
Definition d_save.cpp:1339
u16 mRoomSwitch
Definition d_save.h:712
void offOneSwitch(int i_no)
Definition d_save.cpp:1357
BOOL revOneSwitch(int i_no)
Definition d_save.cpp:1367
u16 mSwitch[2]
Definition d_save.h:711
void onItem(int i_no)
Definition d_save.cpp:1374
Definition d_save.h:731
const dSv_zoneBit_c & getBit() const
Definition d_save.h:737
void reset()
Definition d_save.h:742
s8 & getRoomNo()
Definition d_save.h:741
dSv_zoneActor_c mActor
Definition d_save.h:748
dSv_zoneActor_c & getActor()
Definition d_save.h:738
dSv_zoneBit_c & getBit()
Definition d_save.h:736
dSv_zone_c()
Definition d_save.h:733
s8 mRoomNo
Definition d_save.h:745
dSv_zoneBit_c mBit
Definition d_save.h:747
const dSv_zoneActor_c & getActor() const
Definition d_save.h:739
u8 unk1
Definition d_save.h:746
static SECTION_RODATA u8 const id[8]
Definition d_a_npc_bans.cpp:1309
static u8 angle[2+2]
Definition d_a_obj_kago.cpp:845
void strcpy()
static initFunc init[]
Definition d_menu_collect.cpp:42
Shields
Definition d_save.h:92
@ COLLECT_HYLIAN_SHIELD
Definition d_save.h:95
@ COLLECT_ORDON_SHIELD
Definition d_save.h:94
@ COLLECT_WOODEN_SHIELD
Definition d_save.h:93
@ SELECT_ITEM_RIGHT
Definition d_save.h:117
@ SELECT_ITEM_B
Definition d_save.h:119
@ SELECT_ITEM_X
Definition d_save.h:120
@ SELECT_ITEM_LEFT
Definition d_save.h:116
@ SELECT_ITEM_Y
Definition d_save.h:121
@ SELECT_ITEM_DOWN
Definition d_save.h:118
Swords
Definition d_save.h:85
@ COLLECT_WOODEN_SWORD
Definition d_save.h:88
@ COLLECT_MASTER_SWORD
Definition d_save.h:87
@ COLLECT_LIGHT_SWORD
Definition d_save.h:89
@ COLLECT_ORDON_SWORD
Definition d_save.h:86
Wallets
Definition d_save.h:44
@ GIANT_WALLET
Definition d_save.h:47
@ WALLET
Definition d_save.h:45
@ BIG_WALLET
Definition d_save.h:46
STATIC_ASSERT(sizeof(dSv_memory_c)==0x20)
CollectItem
Definition d_save.h:77
@ COLLECT_SHIELD
Definition d_save.h:80
@ COLLECT_CLOTHING
Definition d_save.h:78
@ COLLECT_SWORD
Definition d_save.h:79
@ COLLECT_SMELL
Definition d_save.h:81
@ B_BUTTON_ITEM
Definition d_save.h:82
@ TF_STATUS_HUMAN
Definition d_save.h:125
@ TF_STATUS_WOLF
Definition d_save.h:126
Clothes
Definition d_save.h:98
@ KOKIRI_CLOTHES_FLAG
Definition d_save.h:99
ItemSlots
Definition d_save.h:50
@ SLOT_19
Definition d_save.h:70
@ SLOT_7
Definition d_save.h:58
@ SLOT_16
Definition d_save.h:67
@ SLOT_12
Definition d_save.h:63
@ SLOT_21
Definition d_save.h:72
@ SLOT_10
Definition d_save.h:61
@ SLOT_14
Definition d_save.h:65
@ SLOT_4
Definition d_save.h:55
@ SLOT_11
Definition d_save.h:62
@ SLOT_23
Definition d_save.h:74
@ SLOT_13
Definition d_save.h:64
@ SLOT_5
Definition d_save.h:56
@ SLOT_0
Definition d_save.h:51
@ SLOT_9
Definition d_save.h:60
@ SLOT_8
Definition d_save.h:59
@ SLOT_17
Definition d_save.h:68
@ SLOT_20
Definition d_save.h:71
@ SLOT_3
Definition d_save.h:54
@ SLOT_2
Definition d_save.h:53
@ SLOT_15
Definition d_save.h:66
@ SLOT_18
Definition d_save.h:69
@ SLOT_1
Definition d_save.h:52
@ SLOT_6
Definition d_save.h:57
@ SLOT_22
Definition d_save.h:73
ItemMax
Definition d_save.h:108
@ ARROW_MAX
Definition d_save.h:109
@ WATER_BOMB_MAX
Definition d_save.h:111
@ POKE_BOMB_MAX
Definition d_save.h:112
@ NORMAL_BOMB_MAX
Definition d_save.h:110
ButtonIndexes
Definition d_save.h:39
@ B_BUTTON
Definition d_save.h:41
@ A_BUTTON
Definition d_save.h:40
LightDropStages
Definition d_save.h:102
@ ELDIN_VESSEL
Definition d_save.h:104
@ LANAYRU_VESSEL
Definition d_save.h:105
@ FARON_VESSEL
Definition d_save.h:103
Definition d_a_hozelda.cpp:20
Definition d_a_ep.cpp:43
u8 field_0xf14[4]
Definition d_save.h:917
void removeZone(int zoneNo)
Definition d_save.h:891
u8 field_0xf1b[13]
Definition d_save.h:921
s64 getSaveTotalTime() const
Definition d_save.h:884
u32 createZone(int i_roomNo)
Definition d_save.cpp:1484
dSv_danBit_c & getDan()
Definition d_save.h:881
BOOL isActor(int i_no, int i_roomNo) const
Definition d_save.cpp:1642
dSv_event_c & getTmp()
Definition d_save.h:877
dSv_save_c & getSavedata()
Definition d_save.h:872
u8 getDataNum() const
Definition d_save.h:889
s64 mStartTime
Definition d_save.h:922
dSv_zone_c mZone[ZONE_MAX]
Definition d_save.h:913
int initdata_to_card(char *card_ptr, int dataNum)
Definition d_save.cpp:1775
dSv_player_c & getPlayer()
Definition d_save.h:876
BOOL revSwitch(int i_no, int i_roomNo)
Definition d_save.cpp:1561
void setDataNum(u8 num)
Definition d_save.h:890
static const int ONEZONE_ITEM
Definition d_save.h:905
dSv_event_c & getEvent()
Definition d_save.h:880
static const int DAN_ITEM
Definition d_save.h:903
dSv_restart_c mRestart
Definition d_save.h:914
BOOL isSwitch(int i_no, int i_roomNo) const
void setSaveTotalTime(s64 time)
Definition d_save.h:886
dSv_memory_c mMemory
Definition d_save.h:911
void onActor(int i_no, int i_roomNo)
Definition d_save.cpp:1622
dSv_save_c mSavedata
Definition d_save.h:910
dSv_restart_c & getRestart()
Definition d_save.h:878
BOOL isItem(int i_no, int i_roomNo) const
Definition d_save.cpp:1602
u8 getNoFile() const
Definition d_save.h:892
void setNewFile(u8 file)
Definition d_save.h:895
int memory_to_card(char *card_ptr, int dataNum)
Definition d_save.cpp:1653
s64 getStartTime() const
Definition d_save.h:883
void initZone()
Definition d_save.cpp:1477
dSv_MiniGame_c & getMiniGame()
Definition d_save.h:882
void setNoFile(u8 file)
Definition d_save.h:893
dSv_turnRestart_c mTurnRestart
Definition d_save.h:916
dSv_event_c mTmp
Definition d_save.h:915
void getSave(int i_stageNo)
Definition d_save.cpp:1467
dSv_memory_c & getMemory()
Definition d_save.h:873
void resetDan()
Definition d_save.h:888
int card_to_memory(char *card_ptr, int dataNum)
Definition d_save.cpp:1731
static const int ZONE_SWITCH
Definition d_save.h:899
u8 mNoFile
Definition d_save.h:920
dSv_danBit_c mDan
Definition d_save.h:912
void onItem(int i_no, int i_roomNo)
Definition d_save.cpp:1582
dSv_zone_c & getZone(int id)
Definition d_save.h:875
dSv_zone_c * getZones()
Definition d_save.h:874
u8 mDataNum
Definition d_save.h:918
void setStartTime(s64 time)
Definition d_save.h:885
static const int ONEZONE_SWITCH
Definition d_save.h:900
static const int ZONE_ITEM
Definition d_save.h:904
s64 mSaveTotalTime
Definition d_save.h:923
void onSwitch(int i_no, int i_roomNo)
u8 getNewFile() const
Definition d_save.h:894
void offSwitch(int i_no, int i_roomNo)
static const int ZONE_MAX
Definition d_save.h:907
void init()
Definition d_save.cpp:1438
void putSave(int i_stageNo)
Definition d_save.cpp:1472
static const int MEMORY_ITEM
Definition d_save.h:902
void initDan(s8 i_stage)
Definition d_save.h:887
void offActor(int i_no, int i_roomNo)
Definition d_save.cpp:1632
static const int DAN_SWITCH
Definition d_save.h:898
static const int MEMORY_SWITCH
Definition d_save.h:897
u8 mNewFile
Definition d_save.h:919
dSv_turnRestart_c & getTurnRestart()
Definition d_save.h:879
Definition d_menu_dmap_map.cpp:96
void offSwitch(int i_no)
Definition d_save.cpp:1129
void onStageBossEnemy2()
Definition d_save.h:597
u8 mKeyNum
Definition d_save.h:608
void onStageLife()
Definition d_save.h:602
void isDungeonItem(int) const
Definition d_save.cpp:1163
void onDungeonItem(int i_no)
Definition d_save.cpp:1158
s32 isDungeonItem(int i_no) const
s32 isStageBossEnemy() const
Definition d_save.h:598
void setKeyNum(u8 i_keyNum)
Definition d_save.h:585
@ OOCCOO_NOTE
Definition d_save.h:567
@ STAGE_BOSS_DEMO
Definition d_save.h:566
@ STAGE_BOSS_ENEMY_2
Definition d_save.h:568
@ STAGE_BOSS_ENEMY
Definition d_save.h:564
@ MAP
Definition d_save.h:561
@ STAGE_LIFE
Definition d_save.h:565
@ COMPASS
Definition d_save.h:562
@ BOSS_KEY
Definition d_save.h:563
u8 mDungeonItem
Definition d_save.h:609
void onStageBossEnemy()
Definition d_save.h:593
s32 isDungeonItemMap() const
Definition d_save.h:587
u32 mTbox[2]
Definition d_save.h:605
BOOL revSwitch(int i_no)
Definition d_save.cpp:1139
s32 isStageLife() const
Definition d_save.h:600
void onItem(int i_no)
Definition d_save.cpp:1147
s32 isDungeonItemCompass() const
Definition d_save.h:589
void onDungeonItemCompass()
Definition d_save.h:588
u8 getKeyNum()
Definition d_save.h:584
BOOL isSwitch(int i_no) const
Definition d_save.cpp:1134
s32 isStageBossEnemy2() const
Definition d_save.h:599
BOOL isItem(int i_no) const
Definition d_save.cpp:1152
BOOL isTbox(int i_no) const
void onTbox(int i_no)
Definition d_save.cpp:1109
s32 isDungeonItemWarp() const
Definition d_save.h:601
void onDungeonItemBossKey()
Definition d_save.h:591
void onSwitch(int i_no)
Definition d_save.cpp:1124
s32 isDungeonItemBossKey() const
Definition d_save.h:592
void offTbox(int i_no)
Definition d_save.cpp:1114
u32 mItem[1]
Definition d_save.h:607
void onDungeonItemMap()
Definition d_save.h:586
void onDungeonItemWarp()
Definition d_save.h:590
u32 mSwitch[4]
Definition d_save.h:606
void init()
Definition d_save.cpp:1094
int BOOL
Definition types.h:27
signed char s8
Definition types.h:4
unsigned long u32
Definition types.h:10
signed long long s64
Definition types.h:7
float f32
Definition types.h:22
signed short s16
Definition types.h:5
unsigned short u16
Definition types.h:9
signed long s32
Definition types.h:6
unsigned char u8
Definition types.h:8