mirror of
https://github.com/encounter/tp.git
synced 2026-07-11 06:18:46 -07:00
GCN pal / jpn support, some debug work (#2375)
* d_save debug cleanup / d_s_menu debug * gameinfo / kankyo struct debug fixes * pal building ok * jp building ok * some tests with jp * some more pal/jp tests
This commit is contained in:
@@ -36,6 +36,7 @@ struct JFWSystem {
|
||||
|
||||
static JUTConsole* getSystemConsole() { return systemConsole; }
|
||||
static JKRExpHeap* getSystemHeap() { return systemHeap; }
|
||||
static JUTResFont* getSystemFont() { return systemFont; }
|
||||
|
||||
static void setMaxStdHeap(s32 max) { CSetUpParam::maxStdHeaps = max; }
|
||||
static void setSysHeapSize(u32 size) { CSetUpParam::sysHeapSize = size; }
|
||||
|
||||
@@ -78,4 +78,6 @@ public:
|
||||
/* 0x6C */ const IsLeadByte_func* mIsLeadByte;
|
||||
};
|
||||
|
||||
extern u8 const JUTResFONT_Ascfont_fix12[16736];
|
||||
|
||||
#endif /* JUTRESFONT_H */
|
||||
|
||||
@@ -15,10 +15,19 @@ public:
|
||||
/* 0x0400 */ cCcD_Obj* mpObjTg[0x300];
|
||||
/* 0x1000 */ cCcD_Obj* mpObjCo[0x100];
|
||||
/* 0x1400 */ cCcD_Obj* mpObj[0x500];
|
||||
#ifdef DEBUG
|
||||
/* 0x2800 */ int m_debug_code;
|
||||
#endif
|
||||
/* 0x2800 */ u16 mObjAtCount;
|
||||
/* 0x2802 */ u16 mObjTgCount;
|
||||
/* 0x2804 */ u16 mObjCoCount;
|
||||
/* 0x2806 */ u16 mObjCount;
|
||||
#ifdef DEBUG
|
||||
/* 0x280C */ u16 field_0x280c;
|
||||
/* 0x280E */ u16 field_0x280e;
|
||||
/* 0x2810 */ u16 field_0x2810;
|
||||
/* 0x2812 */ u16 field_0x2812;
|
||||
#endif
|
||||
/* 0x2808 */ cCcD_DivideArea mDivideArea;
|
||||
/* 0x2848 vtable */
|
||||
|
||||
|
||||
+21
-3
@@ -4,12 +4,12 @@
|
||||
#include "SSystem/SComponent/c_angle.h"
|
||||
#include "m_Do/m_Do_ext.h"
|
||||
#include "f_pc/f_pc_base.h"
|
||||
#include "JSystem/JHostIO/JORReflexible.h"
|
||||
|
||||
class fopAc_ac_c;
|
||||
|
||||
class dAttHint_c {
|
||||
public:
|
||||
dAttHint_c() {}
|
||||
/* 800738B4 */ fpc_ProcID getPId(void*);
|
||||
/* 800738CC */ fopAc_ac_c* convPId(fpc_ProcID);
|
||||
/* 800738FC */ int request(fopAc_ac_c*, int);
|
||||
@@ -26,7 +26,6 @@ private:
|
||||
|
||||
class dAttCatch_c {
|
||||
public:
|
||||
dAttCatch_c() {}
|
||||
fopAc_ac_c* convPId(fpc_ProcID);
|
||||
void init();
|
||||
void proc();
|
||||
@@ -44,8 +43,12 @@ private:
|
||||
/* 0x14 */ u8 mChangeItem;
|
||||
}; // Size: 0x18
|
||||
|
||||
class dAttParam_c {
|
||||
class dAttParam_c : public JORReflexible {
|
||||
public:
|
||||
#ifdef DEBUG
|
||||
/* 0x04 */ u8 unk_0x4;
|
||||
#endif
|
||||
|
||||
/* 0x00 */ u16 mFlags;
|
||||
/* 0x04 */ f32 field_0x4;
|
||||
/* 0x08 */ f32 field_0x8;
|
||||
@@ -63,10 +66,18 @@ public:
|
||||
/* 0x35 */ u8 mAttnCursorDisappearFrames;
|
||||
/* 0x38 */ f32 field_0x38;
|
||||
/* 0x3C */ f32 field_0x3c;
|
||||
#ifdef DEBUG
|
||||
/* 0x44 */ int unk_0x44;
|
||||
/* 0x48 */ int unk_0x48;
|
||||
#endif
|
||||
|
||||
public:
|
||||
dAttParam_c() {}
|
||||
/* 80070038 */ dAttParam_c(s32);
|
||||
|
||||
#ifdef DEBUG
|
||||
virtual void genMessage(JORMContext*);
|
||||
#endif
|
||||
/* 80070110 */ virtual ~dAttParam_c();
|
||||
|
||||
enum EFlag {
|
||||
@@ -299,8 +310,15 @@ public:
|
||||
/* 0x49C */ dAttCatch_c mCatghTarget;
|
||||
/* 0x4B4 */ dAttLook_c mLookTarget;
|
||||
/* 0x4C4 */ int mAttnBlockTimer;
|
||||
#ifdef DEBUG
|
||||
/* 0x4C8 */ u8 field_0x4c8[0x4D0 - 0x4C8];
|
||||
#endif
|
||||
/* 0x4C8 */ dAttParam_c mAttParam;
|
||||
#ifdef DEBUG
|
||||
/* 0x51C */ u8 field_0x50c[0x520 - 0x51C];
|
||||
#else
|
||||
/* 0x50C */ u8 field_0x50c[0x514 - 0x50c];
|
||||
#endif
|
||||
/* 0x514 */ fpc_ProcID mEnemyActorID;
|
||||
/* 0x518 */ f32 mEnemyDist;
|
||||
}; // Size: 0x51C
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define D_BG_D_BG_S_H
|
||||
|
||||
#include "d/d_bg_w_base.h"
|
||||
#include "JSystem/JHostIO/JORReflexible.h"
|
||||
#include "global.h"
|
||||
|
||||
class dBgW;
|
||||
@@ -62,6 +63,33 @@ class dBgS_Acch;
|
||||
|
||||
u8 dKy_pol_sound_get(cBgS_PolyInfo const* param_0);
|
||||
|
||||
class dBgS_HIO : public JORReflexible {
|
||||
public:
|
||||
#ifdef DEBUG
|
||||
dBgS_HIO() {
|
||||
field_0x6 = 0;
|
||||
field_0x8 = 0;
|
||||
|
||||
field_0xc.x = field_0xc.y = field_0xc.z = 0.0f;
|
||||
field_0x18.x = field_0x18.y = field_0x18.z = 0.0f;
|
||||
field_0x24.x = field_0x24.y = field_0x24.z = 0.0f;
|
||||
|
||||
field_0x30 = -1;
|
||||
}
|
||||
|
||||
virtual void genMessage(JORMContext*);
|
||||
virtual ~dBgS_HIO();
|
||||
|
||||
/* 0x04 */ u8 field_0x4[0x6 - 0x4];
|
||||
/* 0x06 */ u16 field_0x6;
|
||||
/* 0x08 */ u16 field_0x8;
|
||||
/* 0x0C */ cXyz field_0xc;
|
||||
/* 0x18 */ cXyz field_0x18;
|
||||
/* 0x24 */ cXyz field_0x24;
|
||||
/* 0x30 */ int field_0x30;
|
||||
#endif
|
||||
};
|
||||
|
||||
class dBgS : public cBgS {
|
||||
public:
|
||||
dBgS() {}
|
||||
@@ -111,6 +139,11 @@ public:
|
||||
u32 GetMtrlSndId(const cBgS_PolyInfo& param_0) { return dKy_pol_sound_get(¶m_0); }
|
||||
void DebugDrawPoly(dBgW_Base *param_1) {}
|
||||
fopAc_ac_c* GetActorPointer(cBgS_PolyInfo const& param_0) { return cBgS::GetActorPointer(param_0); }
|
||||
|
||||
#ifdef DEBUG
|
||||
/* 0x1404 */ u8 field_0x1404[0x1408 - 0x1404];
|
||||
/* 0x1408 */ dBgS_HIO m_hio;
|
||||
#endif
|
||||
}; // Size: 0x1404
|
||||
|
||||
bool dBgS_CheckBGroundPoly(cBgS_PolyInfo const&);
|
||||
|
||||
@@ -63,6 +63,9 @@ public:
|
||||
|
||||
// /* 0x0000 */ cCcS mCCcS;
|
||||
/* 0x284C */ dCcMassS_Mng mMass_Mng;
|
||||
#ifdef DEBUG
|
||||
/* 0x2AD0 */ u8 field_0x2ad0;
|
||||
#endif
|
||||
}; // Size = 0x2AC4
|
||||
|
||||
STATIC_ASSERT(sizeof(dCcS) == 0x2AC4);
|
||||
|
||||
+629
-561
File diff suppressed because it is too large
Load Diff
+25
-1
@@ -89,6 +89,26 @@ private:
|
||||
/* 0x160 */ u8 mAlpha;
|
||||
};
|
||||
|
||||
class dDlst_2DQuad_c : public dDlst_base_c {
|
||||
public:
|
||||
dDlst_2DQuad_c() {}
|
||||
/* 80051CF0 */ virtual void draw();
|
||||
|
||||
void init(s16 posX, s16 posY, s16 width, s16 height, GXColor& color) {
|
||||
mPosX = posX;
|
||||
mPosY = posY;
|
||||
mSizeX = width;
|
||||
mSizeY = height;
|
||||
mColor = color;
|
||||
}
|
||||
|
||||
/* 0x4 */ s16 mPosX;
|
||||
/* 0x6 */ s16 mPosY;
|
||||
/* 0x8 */ s16 mSizeX;
|
||||
/* 0xA */ s16 mSizeY;
|
||||
/* 0xC */ GXColor mColor;
|
||||
};
|
||||
|
||||
class dDlst_2DT2_c : public dDlst_base_c {
|
||||
public:
|
||||
/* 80052354 */ virtual void draw();
|
||||
@@ -305,6 +325,10 @@ public:
|
||||
/* 0x12 */ DB_LIST_2D_SCREEN,
|
||||
/* 0x13 */ DB_LIST_MIDDLE,
|
||||
/* 0x14 */ DB_LIST_3D_LAST,
|
||||
#if VERSION > VERSION_GCN_JPN
|
||||
DB_LIST_CURSOR,
|
||||
#endif
|
||||
DB_LIST_MAX,
|
||||
};
|
||||
|
||||
void set2DOpa(dDlst_base_c* dlst) { set(mp2DOpaStart, mp2DOpaEnd, dlst); }
|
||||
@@ -425,7 +449,7 @@ public:
|
||||
static u8 mWipe;
|
||||
|
||||
private:
|
||||
/* 0x00000 */ J3DDrawBuffer* mDrawBuffers[21];
|
||||
/* 0x00000 */ J3DDrawBuffer* mDrawBuffers[DB_LIST_MAX];
|
||||
/* 0x00054 */ dDlst_base_c* mpCopy2DDrawLists[4];
|
||||
/* 0x00064 */ dDlst_base_c** mpCopy2DStart;
|
||||
/* 0x00068 */ dDlst_base_c** mpCopy2DEnd;
|
||||
|
||||
@@ -173,6 +173,9 @@ public:
|
||||
/* 0x128 */ u8 mCompulsory;
|
||||
/* 0x129 */ bool mRoomInfoSet;
|
||||
/* 0x12C */ int mRoomNo;
|
||||
#ifdef DEBUG
|
||||
/* 0x130 */ u8 field_0x130;
|
||||
#endif
|
||||
}; // Size = 0x130
|
||||
|
||||
int dEv_defaultSkipProc(void* param_0, int param_1);
|
||||
|
||||
@@ -25,6 +25,12 @@ public:
|
||||
#define EVT_SE_RIDDLE_A 1
|
||||
#define EVT_SE_RIDDLE_B 2
|
||||
|
||||
#ifdef DEBUG
|
||||
#define EVENT_LIST_NUM 12
|
||||
#else
|
||||
#define EVENT_LIST_NUM 11
|
||||
#endif
|
||||
|
||||
class dEvent_manager_c {
|
||||
public:
|
||||
void* getSubstance(dEvDtData_c* p_data, int type);
|
||||
@@ -91,7 +97,7 @@ public:
|
||||
static s16 makeCompositId(s16 a, int b) { return a | (b << 8); }
|
||||
|
||||
private:
|
||||
/* 0x0000 */ dEvDtBase_c mEventList[11];
|
||||
/* 0x0000 */ dEvDtBase_c mEventList[EVENT_LIST_NUM];
|
||||
/* 0x018C */ s32 mCameraPlay;
|
||||
/* 0x0190 */ dEvent_exception_c mEventException;
|
||||
/* 0x019C */ cXyz mGoal;
|
||||
|
||||
@@ -109,6 +109,11 @@ struct GB_MAPLE_COL_CHANGE {
|
||||
/* 0x00 */ J3DLightObj light_obj;
|
||||
}; // Size: 0x74
|
||||
|
||||
struct NAVYCHAN {
|
||||
/* 0x0 */ u8 field_0x0[0x4 - 0x0];
|
||||
/* 0x4 */ cXyz field_0x4;
|
||||
};
|
||||
|
||||
struct LightStatus {
|
||||
/* 0x00 */ Vec position;
|
||||
/* 0x0C */ Vec field_0xc;
|
||||
@@ -273,6 +278,10 @@ public:
|
||||
/* 0x09B8 */ DUNGEON_LIGHT dungeonlight[8];
|
||||
/* 0x0C18 */ BOSS_LIGHT field_0x0c18[8];
|
||||
/* 0x0D58 */ BOSS_LIGHT field_0x0d58[6];
|
||||
#ifdef DEBUG
|
||||
/* 0x0E48 */ NAVYCHAN navy;
|
||||
/* 0x0E58 */ u8 field_0xe58[0xE68 - 0xE58]; // part of NAVYCHAN?
|
||||
#endif
|
||||
/* 0x0E48 */ GB_WIND_INFLUENCE global_wind_influence;
|
||||
/* 0x0E5C */ f32 custom_windpower;
|
||||
/* 0x0E60 */ f32 unk_0xe60;
|
||||
|
||||
@@ -37,6 +37,11 @@ public:
|
||||
/* 801F9E14 */ bool getBombFlag();
|
||||
/* 801F9E1C */ bool getArrowFlag();
|
||||
/* 801F9E24 */ bool getPachinkoFlag();
|
||||
void update();
|
||||
|
||||
void setArrowFlag(u8 i_flag) { mArrowFlag = i_flag; }
|
||||
void setPachinkoFlag(u8 i_flag) { mPachinkoFlag = i_flag; }
|
||||
void setBombFlag(u8 i_flag) { mBombFlag = i_flag; }
|
||||
|
||||
/* 801F9EE0 */ virtual ~dMw_HIO_c() {}
|
||||
|
||||
|
||||
@@ -179,6 +179,8 @@ public:
|
||||
mCollectCursorPosY = y;
|
||||
}
|
||||
void setMapDrugFlag(u8 flag) { mMapDrugFlag = flag; }
|
||||
void offTempBit(int i_bit) { mTempBits &= ~(1 << i_bit); }
|
||||
void onTempBit(int i_bit) { mTempBits |= (1 << i_bit); }
|
||||
bool isTempBit(int bit) { return mTempBits & (1 << bit); }
|
||||
void offSub2DStatus(int bit) { mSub2DStatus &= ~(1 << bit); }
|
||||
void onSub2DStatus(int bit) { mSub2DStatus |= 1 << bit; }
|
||||
@@ -799,6 +801,18 @@ inline void dMeter2Info_setHorseLifeCount(s16 i_count) {
|
||||
g_meter2_info.setHorseLifeCount(i_count);
|
||||
}
|
||||
|
||||
inline void dMeter2Info_offTempBit(int i_bit) {
|
||||
g_meter2_info.offTempBit(i_bit);
|
||||
}
|
||||
|
||||
inline void dMeter2Info_onTempBit(int i_bit) {
|
||||
g_meter2_info.onTempBit(i_bit);
|
||||
}
|
||||
|
||||
inline bool dMeter2Info_isNextStage(const char*, s16, s16, s16) {
|
||||
return false;
|
||||
}
|
||||
|
||||
const char* dMeter2Info_getPlusTextureName();
|
||||
const char* dMeter2Info_getNumberTextureName(int pIndex);
|
||||
int dMeter2Info_recieveLetter();
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define D_METER_D_METER_HIO_H
|
||||
|
||||
#include "JSystem/JUtility/TColor.h"
|
||||
#include "JSystem/JHostIO/JORReflexible.h"
|
||||
#include "SSystem/SComponent/c_sxyz.h"
|
||||
#include "SSystem/SComponent/c_xyz.h"
|
||||
#include "global.h"
|
||||
@@ -1085,7 +1086,7 @@ public:
|
||||
/* 0x179 */ bool mIconDisplay[22];
|
||||
}; // Size: 0x190
|
||||
|
||||
class dMeter_fmapHIO_c {
|
||||
class dMeter_fmapHIO_c : public JORReflexible {
|
||||
public:
|
||||
enum {
|
||||
/* 0x0 */ REGION_ORDONA,
|
||||
@@ -1130,6 +1131,12 @@ public:
|
||||
}; // Size: 0x28
|
||||
|
||||
/* 802006C8 */ dMeter_fmapHIO_c();
|
||||
#ifdef DEBUG
|
||||
void update();
|
||||
|
||||
virtual void listenPropertyEvent(const JORPropertyEvent*);
|
||||
virtual void genMessage(JORMContext*);
|
||||
#endif
|
||||
/* 80200BCC */ virtual ~dMeter_fmapHIO_c();
|
||||
|
||||
/* 0x004 */ s8 field_0x4;
|
||||
|
||||
@@ -52,6 +52,9 @@ private:
|
||||
/* 0x18 */ JKRHeap* heap;
|
||||
/* 0x1C */ JKRSolidHeap* mDataHeap;
|
||||
/* 0x20 */ void** mRes;
|
||||
#ifdef DEBUG
|
||||
/* 0x24 */ void* unk_0x24;
|
||||
#endif
|
||||
}; // Size: 0x24
|
||||
|
||||
STATIC_ASSERT(sizeof(dRes_info_c) == 0x24);
|
||||
|
||||
@@ -1,5 +1,90 @@
|
||||
#ifndef D_S_D_S_MENU_H
|
||||
#define D_S_D_S_MENU_H
|
||||
|
||||
#include "JSystem/JUtility/JUTResFont.h"
|
||||
#include "f_op/f_op_scene_mng.h"
|
||||
|
||||
class mDoDvdThd_toMainRam_c;
|
||||
|
||||
#ifdef DEBUG
|
||||
class myFontClass : public JUTResFont {
|
||||
public:
|
||||
myFontClass(const ResFONT* i_font, JKRHeap* i_heap)
|
||||
: JUTResFont(i_font, i_heap),
|
||||
field_0x70((ResFONT*)JUTResFONT_Ascfont_fix12, i_heap)
|
||||
{}
|
||||
|
||||
virtual ~myFontClass();
|
||||
virtual f32 drawChar_scale(f32 param_0, f32 param_1, f32 param_2, f32 param_3, int param_4, bool param_5);
|
||||
|
||||
/* 0x70 */ JUTResFont field_0x70;
|
||||
};
|
||||
|
||||
struct menu_category_data_class {
|
||||
u8 name[68];
|
||||
};
|
||||
|
||||
struct menu_category_class {
|
||||
/* 0x0 */ u8 num;
|
||||
/* 0x4 */ menu_category_data_class* data;
|
||||
};
|
||||
|
||||
struct menu_data_class {
|
||||
/* 0x00 */ char env_data[65];
|
||||
/* 0x41 */ char stage_name[8];
|
||||
/* 0x49 */ s8 room_no;
|
||||
/* 0x4A */ u8 point;
|
||||
/* 0x4B */ s8 layer;
|
||||
};
|
||||
|
||||
struct menu_stage_class {
|
||||
/* 0x00 */ u8 field_0x00[0x41 - 0x00];
|
||||
/* 0x41 */ u8 field_0x41;
|
||||
/* 0x42 */ u8 field_0x42;
|
||||
/* 0x43 */ u8 field_0x43;
|
||||
/* 0x44 */ menu_data_class* data;
|
||||
};
|
||||
|
||||
struct menu_info_class {
|
||||
/* 0x0 */ u8 num;
|
||||
/* 0x4 */ menu_stage_class* stage_data;
|
||||
};
|
||||
|
||||
class dScnMenu_c : public scene_class {
|
||||
public:
|
||||
static bool isAutoSelect() { return m_autoSelect; }
|
||||
|
||||
static char cursolStageName[8];
|
||||
static int cursolRoomNo;
|
||||
static int cursolLayer;
|
||||
static int cursolPoint;
|
||||
|
||||
static u8 m_error_flags;
|
||||
static bool m_autoSelect;
|
||||
static int m_autoCursolID;
|
||||
static int m_autoGroupPoint;
|
||||
|
||||
/* 0x1C8 */ request_of_phase_process_class phase;
|
||||
/* 0x1D0 */ mDoDvdThd_toMainRam_c* command;
|
||||
/* 0x1D4 */ mDoDvdThd_toMainRam_c* fontCommand;
|
||||
/* 0x1D8 */ menu_info_class* info;
|
||||
/* 0x1DC */ menu_category_class* category_info;
|
||||
/* 0x1E0 */ ResFONT* fontRes;
|
||||
/* 0x1E4 */ myFontClass* font;
|
||||
/* 0x1E8 */ u8 select_point;
|
||||
/* 0x1E9 */ u8 cursor_move_timer;
|
||||
/* 0x1EA */ u8 group_move_timer;
|
||||
/* 0x1EB */ u8 category_move_timer;
|
||||
/* 0x1EC */ u8 week_move_timer;
|
||||
/* 0x1ED */ u8 current_category;
|
||||
/* 0x1EE */ u8 field_0x1ee;
|
||||
};
|
||||
|
||||
extern int g_playerKind;
|
||||
extern int g_debugHpMode;
|
||||
extern int g_horsePosInit;
|
||||
#else
|
||||
class dScnMenu_c {};
|
||||
#endif
|
||||
|
||||
#endif /* D_S_D_S_MENU_H */
|
||||
|
||||
@@ -41,6 +41,23 @@ public:
|
||||
/* 0x14 */ dScnPly_env_debugHIO_c mDebug;
|
||||
};
|
||||
|
||||
class dScnPly_preset_HIO_c : public JORReflexible {
|
||||
public:
|
||||
dScnPly_preset_HIO_c();
|
||||
void exePreset();
|
||||
|
||||
virtual void listenPropertyEvent(const JORPropertyEvent*);
|
||||
virtual void genMessage(JORMContext*);
|
||||
virtual ~dScnPly_preset_HIO_c() {}
|
||||
|
||||
/* 0x0004 */ u8 field_0x4;
|
||||
/* 0x0005 */ u8 field_0x5;
|
||||
/* 0x0006 */ u8 mPresetData[10000];
|
||||
/* 0x2716 */ u8 field_0x2716;
|
||||
/* 0x2717 */ u8 field_0x2717;
|
||||
/* 0x2718 */ char mFilename[100];
|
||||
};
|
||||
|
||||
class dScnPly_c : public scene_class {
|
||||
public:
|
||||
/* 80259400 */ s8 calcPauseTimer();
|
||||
@@ -62,6 +79,10 @@ public:
|
||||
extern dScnPly_env_HIO_c g_envHIO;
|
||||
extern dScnPly_reg_HIO_c g_regHIO;
|
||||
|
||||
#ifdef DEBUG
|
||||
extern dScnPly_preset_HIO_c g_presetHIO;
|
||||
#endif
|
||||
|
||||
/**
|
||||
* === Register Usage ===
|
||||
* Short Reg(00-09) ... -32768 - +32768
|
||||
|
||||
+89
-12
@@ -6,6 +6,8 @@
|
||||
#include <dolphin/os.h>
|
||||
#include "global.h"
|
||||
#include "f_pc/f_pc_name.h"
|
||||
#include "JSystem/JUtility/JUTAssert.h"
|
||||
#include "JSystem/JHostIO/JORReflexible.h"
|
||||
|
||||
#define DEFAULT_SELECT_ITEM_INDEX 0
|
||||
#define MAX_SELECT_ITEM 4
|
||||
@@ -18,7 +20,6 @@
|
||||
#define MAX_INSECT_NUM 24
|
||||
#define MAX_VISIBLE_HEARTPIECES 4
|
||||
#define MAX_POH_NUM 100
|
||||
#define BOTTLE_MAX 4
|
||||
#define TBOX_MAX 64
|
||||
#define DSV_MEMBIT_ENUM_MAX 8
|
||||
#define ITEM_MAX_DAN 128
|
||||
@@ -35,6 +36,9 @@
|
||||
#define GIANT_WALLET_MAX 1000
|
||||
#define MAX_FINDABLE_FISHES 6
|
||||
|
||||
#define ITEM_XY_MAX_DUMMY 8
|
||||
#define ITEM_BIT_MAX 0x100
|
||||
|
||||
enum ButtonIndexes {
|
||||
/* 0 */ A_BUTTON,
|
||||
/* 1 */ B_BUTTON,
|
||||
@@ -133,6 +137,8 @@ public:
|
||||
void setMixItemIndex(int i_no, u8 i_slotNo);
|
||||
u8 getMixItemIndex(int i_no) const;
|
||||
u16 getRupeeMax() const;
|
||||
void onMagicFlag(u8 i_magic);
|
||||
void offMagicFlag(u8 i_magic);
|
||||
int isMagicFlag(u8 i_magic) const;
|
||||
|
||||
u16 getMaxLife() const { return mMaxLife; }
|
||||
@@ -181,8 +187,10 @@ class dSv_player_status_b_c {
|
||||
public:
|
||||
void init();
|
||||
void onDarkClearLV(int i_no);
|
||||
void offDarkClearLV(int i_no);
|
||||
BOOL isDarkClearLV(int i_no) const;
|
||||
void onTransformLV(int i_no);
|
||||
void offTransformLV(int i_no);
|
||||
BOOL isTransformLV(int i_no) const;
|
||||
|
||||
void setDateIpl(s64 i_time) { mDateIpl = i_time; }
|
||||
@@ -260,7 +268,7 @@ private:
|
||||
/* 0x00 */ cXyz mPos;
|
||||
/* 0x0C */ s16 mAngleY;
|
||||
/* 0x0E */ char mName[8];
|
||||
/* 0x16 */ u8 mLastSpawnId;
|
||||
/* 0x16 */ s8 mLastSpawnId;
|
||||
/* 0x17 */ u8 mRegionNo;
|
||||
/* 0x18 */ bool mFieldDataExistFlag;
|
||||
/* 0x19 */ u8 mRegion;
|
||||
@@ -320,6 +328,7 @@ public:
|
||||
void setBaitItem(u8 i_itemNo);
|
||||
|
||||
static const int BOMB_BAG_MAX = 3;
|
||||
static const int BOTTLE_MAX = 4;
|
||||
|
||||
private:
|
||||
/* 0x00 */ u8 mItems[24];
|
||||
@@ -376,10 +385,13 @@ class dSv_player_collect_c {
|
||||
public:
|
||||
void init();
|
||||
void setCollect(int i_item_type, u8 i_item);
|
||||
void offCollect(int i_item_type, u8 i_item);
|
||||
BOOL isCollect(int i_item_type, u8 i_item) const;
|
||||
void onCollectCrystal(u8 i_item);
|
||||
void offCollectCrystal(u8 i_item);
|
||||
BOOL isCollectCrystal(u8 i_item) const;
|
||||
void onCollectMirror(u8 i_item);
|
||||
void offCollectMirror(u8 i_item);
|
||||
BOOL isCollectMirror(u8 i_item) const;
|
||||
|
||||
u8 getPohNum() { return mPohNum; }
|
||||
@@ -409,6 +421,7 @@ public:
|
||||
void setLightDropNum(u8 i_nowLevel, u8 i_dropNum);
|
||||
u8 getLightDropNum(u8 i_nowLevel) const;
|
||||
void onLightDropGetFlag(u8 i_nowLevel);
|
||||
void offLightDropGetFlag(u8 i_nowLevel);
|
||||
BOOL isLightDropGetFlag(u8 i_nowLevel) const;
|
||||
|
||||
private:
|
||||
@@ -455,6 +468,7 @@ public:
|
||||
void setHorseName(const char* i_name) { strcpy((char*)mHorseName, i_name); }
|
||||
void setTotalTime(s64 i_time) { mTotalTime = i_time; }
|
||||
s64 getTotalTime() const { return mTotalTime; }
|
||||
u8 getClearCount() const { return mClearCount; }
|
||||
|
||||
void addDeathCount() {
|
||||
if (mDeathCount < 0xFFFF) {
|
||||
@@ -463,8 +477,7 @@ public:
|
||||
}
|
||||
|
||||
private:
|
||||
/* 0x00 */ u32 unk0;
|
||||
/* 0x04 */ u32 unk4;
|
||||
/* 0x00 */ u64 unk0;
|
||||
/* 0x08 */ s64 mTotalTime;
|
||||
/* 0x10 */ u16 unk16;
|
||||
/* 0x12 */ u16 mDeathCount;
|
||||
@@ -484,6 +497,7 @@ public:
|
||||
void setSound(u8 i_mode);
|
||||
u8 getVibration();
|
||||
void setVibration(u8 i_status);
|
||||
u8 getPalLanguage() const;
|
||||
|
||||
u8 getAttentionType() { return mAttentionType; }
|
||||
void setAttentionType(u8 i_mAttentionType) { mAttentionType = i_mAttentionType; }
|
||||
@@ -498,12 +512,20 @@ public:
|
||||
bool getPointer() { return mPointer; }
|
||||
void setPointer(bool i_mPointer) { mPointer = i_mPointer; }
|
||||
|
||||
enum dSv_config_language {
|
||||
LANGAUGE_ENGLISH,
|
||||
LANGAUGE_GERMAN,
|
||||
LANGAUGE_FRENCH,
|
||||
LANGAUGE_SPANISH,
|
||||
LANGAUGE_ITALIAN,
|
||||
};
|
||||
|
||||
private:
|
||||
/* 0x0 */ u8 unk0;
|
||||
/* 0x1 */ u8 mSoundMode;
|
||||
/* 0x2 */ u8 mAttentionType; // Lock-On Type; 0 : hold, 1 : switch
|
||||
/* 0x3 */ u8 mVibration; // Rumble status
|
||||
/* 0x4 */ u8 unk4;
|
||||
/* 0x4 */ u8 mLanguage;
|
||||
/* 0x5 */ u8 unk5;
|
||||
/* 0x6 */ u16 mCalibrateDist; // Wii pointer horizontal calibration. Default is 0x015E
|
||||
/* 0x8 */ u8 mCalValue; // Wii pointer vertical calibration. Default is 0x00
|
||||
@@ -558,6 +580,17 @@ private:
|
||||
|
||||
class dSv_memBit_c {
|
||||
public:
|
||||
class WarpItemData_c {
|
||||
public:
|
||||
/* 0x04F94 */ char mWarpItemStage[8];
|
||||
/* 0x04F9C */ cXyz mWarpItemPos;
|
||||
/* 0x04FA8 */ s16 mWarpItemAngle;
|
||||
/* 0x04FAA */ s8 mWarpItemRoom;
|
||||
/* 0x04FAB */ u8 field_0x4fab; // related to setWarpItemData
|
||||
/* 0x04FAC */ u8 field_0x4fac; // related to setWarpItemData
|
||||
/* 0x04FAD */ u8 field_0x4fad[3];
|
||||
};
|
||||
|
||||
enum {
|
||||
/* 0x0 */ MAP,
|
||||
/* 0x1 */ COMPASS,
|
||||
@@ -578,8 +611,10 @@ public:
|
||||
BOOL isSwitch(int i_no) const;
|
||||
BOOL revSwitch(int i_no);
|
||||
void onItem(int i_no);
|
||||
void offItem(int i_no);
|
||||
BOOL isItem(int i_no) const;
|
||||
void onDungeonItem(int i_no);
|
||||
void offDungeonItem(int i_no);
|
||||
s32 isDungeonItem(int i_no) const;
|
||||
|
||||
u8 getKeyNum() { return mKeyNum; }
|
||||
@@ -633,8 +668,7 @@ public:
|
||||
u32 getBalloonScore() const { return mBalloonScore; }
|
||||
|
||||
private:
|
||||
/* 0x00 */ u8 unk0;
|
||||
/* 0x01 */ u8 unk1[3];
|
||||
/* 0x00 */ u8 unk0[1][4];
|
||||
/* 0x04 */ u32 mStarTime;
|
||||
/* 0x08 */ u32 mBalloonScore;
|
||||
/* 0x0C */ u32 mRaceGameTime;
|
||||
@@ -677,6 +711,7 @@ public:
|
||||
BOOL isSwitch(int i_no) const;
|
||||
BOOL revSwitch(int i_no);
|
||||
void onItem(int i_no);
|
||||
void offItem(int i_no);
|
||||
BOOL isItem(int i_no) const;
|
||||
|
||||
void reset() { mStageNo = -1; }
|
||||
@@ -704,8 +739,10 @@ public:
|
||||
BOOL isOneSwitch(int i_no) const;
|
||||
BOOL revOneSwitch(int i_no);
|
||||
void onItem(int i_no);
|
||||
void offItem(int i_no);
|
||||
BOOL isItem(int i_no) const;
|
||||
void onOneItem(int i_no);
|
||||
void offOneItem(int i_no);
|
||||
BOOL isOneItem(int i_no) const;
|
||||
|
||||
private:
|
||||
@@ -723,7 +760,7 @@ public:
|
||||
void off(int i_id);
|
||||
BOOL is(int i_id) const;
|
||||
|
||||
static const int ACTOR_MAX = 0xFFFF;
|
||||
static const int ACTOR_MAX = 0x80;
|
||||
|
||||
private:
|
||||
/* 0x00 */ u32 mActorFlags[4];
|
||||
@@ -739,7 +776,7 @@ public:
|
||||
dSv_zoneActor_c& getActor() { return mActor; }
|
||||
const dSv_zoneActor_c& getActor() const { return mActor; }
|
||||
|
||||
s8& getRoomNo() { return mRoomNo; }
|
||||
int getRoomNo() const { return mRoomNo; }
|
||||
void reset() { mRoomNo = -1; }
|
||||
|
||||
private:
|
||||
@@ -836,7 +873,11 @@ public:
|
||||
dSv_event_c& getEvent() { return mEvent; }
|
||||
dSv_memory_c& getSave(int i_stageNo) { return mSave[i_stageNo]; }
|
||||
dSv_MiniGame_c& getMiniGame() { return mMiniGame; }
|
||||
void putSave(int i_stageNo, dSv_memory_c mem) { mSave[i_stageNo] = mem; }
|
||||
|
||||
void putSave(int i_stageNo, dSv_memory_c mem) {
|
||||
JUT_ASSERT(1417, 0 <= i_stageNo && i_stageNo < dSv_save_c::STAGE_MAX);
|
||||
mSave[i_stageNo] = mem;
|
||||
}
|
||||
|
||||
static const int STAGE_MAX = 32;
|
||||
static const int STAGE2_MAX = 64;
|
||||
@@ -850,6 +891,28 @@ public:
|
||||
/* 0x940 */ dSv_MiniGame_c mMiniGame;
|
||||
}; // Size: 0x958
|
||||
|
||||
class flagFile_c : public JORReflexible {
|
||||
public:
|
||||
enum Flag_e {
|
||||
FLAG_SCENE_e = 0x1,
|
||||
FLAG_SAVE_e = 0x2,
|
||||
FLAG_MEM_e = 0x4,
|
||||
FLAG_DAN_e = 0x8,
|
||||
FLAG_ALL_e = 0xF,
|
||||
};
|
||||
|
||||
flagFile_c();
|
||||
~flagFile_c();
|
||||
BOOL check_flag(u16);
|
||||
|
||||
virtual void listenPropertyEvent(const JORPropertyEvent*);
|
||||
virtual void genMessage(JORMContext*);
|
||||
|
||||
/* 0x4 */ u8 unk_0x4[0x6 - 0x4];
|
||||
/* 0x6 */ u16 m_flags;
|
||||
/* 0x8 */ s8 m_no;
|
||||
};
|
||||
|
||||
class dSv_info_c {
|
||||
public:
|
||||
void init();
|
||||
@@ -895,6 +958,10 @@ public:
|
||||
u8 getNewFile() const { return mNewFile; }
|
||||
void setNewFile(u8 file) { mNewFile = file; }
|
||||
|
||||
void setSavedata(dSv_save_c& i_save) { mSavedata = i_save; }
|
||||
void setMemory(dSv_memory_c& i_memory) { mMemory = i_memory; }
|
||||
void setDan(dSv_danBit_c& i_dan) { mDan = i_dan; }
|
||||
|
||||
static const int MEMORY_SWITCH = 0x80;
|
||||
static const int DAN_SWITCH = 0x40;
|
||||
static const int ZONE_SWITCH = 0x20;
|
||||
@@ -907,7 +974,11 @@ public:
|
||||
|
||||
static const int ZONE_MAX = 0x20;
|
||||
|
||||
private:
|
||||
#if VERSION == VERSION_SHIELD_DEBUG
|
||||
/* 0x000 */ u8 unk_0x0;
|
||||
/* 0x001 */ u8 unk_0x1;
|
||||
/* 0x000 */ u8 unk_0x2[0x48 - 0x2];
|
||||
#endif
|
||||
/* 0x000 */ dSv_save_c mSavedata;
|
||||
/* 0x958 */ dSv_memory_c mMemory;
|
||||
/* 0x978 */ dSv_danBit_c mDan;
|
||||
@@ -922,6 +993,9 @@ private:
|
||||
/* 0xF1B */ u8 field_0xf1b[13];
|
||||
/* 0xF28 */ s64 mStartTime;
|
||||
/* 0xF30 */ s64 mSaveTotalTime;
|
||||
#if VERSION == VERSION_SHIELD_DEBUG
|
||||
/* 0xF80 */ flagFile_c mFlagFile;
|
||||
#endif
|
||||
}; // Size: 0xF38
|
||||
|
||||
class dSv_event_flag_c {
|
||||
@@ -930,6 +1004,9 @@ public:
|
||||
#include "d/d_save_bit_labels.inc"
|
||||
};
|
||||
|
||||
#if VERSION > VERSION_GCN_JPN
|
||||
const
|
||||
#endif
|
||||
static u16 saveBitLabels[822];
|
||||
};
|
||||
|
||||
@@ -938,7 +1015,7 @@ public:
|
||||
enum {
|
||||
#include "d/d_save_temp_bit_labels.inc"
|
||||
};
|
||||
|
||||
|
||||
static u16 const tempBitLabels[185];
|
||||
};
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define D_D_VIBRATION_H
|
||||
|
||||
#include "SSystem/SComponent/c_xyz.h"
|
||||
#include "JSystem/JHostIO/JORReflexible.h"
|
||||
|
||||
struct vib_pattern {
|
||||
/* 0x0 */ u16 rounds;
|
||||
@@ -42,6 +43,25 @@ enum VIBMODE_QUAKE {
|
||||
VIBMODE_Q_MAX
|
||||
};
|
||||
|
||||
class dVibTest_c : public JORReflexible {
|
||||
public:
|
||||
dVibTest_c();
|
||||
|
||||
virtual void listenPropertyEvent(const JORPropertyEvent*);
|
||||
virtual void genMessage(JORMContext*);
|
||||
virtual ~dVibTest_c() {}
|
||||
|
||||
/* 0x04 */ s8 field_0x4;
|
||||
/* 0x06 */ u16 m_pattern;
|
||||
/* 0x08 */ u16 m_pattern2;
|
||||
/* 0x0A */ u16 field_0xa;
|
||||
/* 0x0C */ s16 m_randombit;
|
||||
/* 0x0E */ s16 m_length;
|
||||
/* 0x10 */ int field_0x10;
|
||||
/* 0x14 */ int m_vibswitch;
|
||||
/* 0x18 */ u16 m_displayDbg;
|
||||
};
|
||||
|
||||
class dVibration_c {
|
||||
public:
|
||||
enum {
|
||||
@@ -68,6 +88,10 @@ public:
|
||||
static const vib_pattern CQ_patt[VIBMODE_Q_MAX];
|
||||
|
||||
private:
|
||||
#ifdef DEBUG
|
||||
/* 0x00 */ dVibTest_c mVibTest;
|
||||
#endif
|
||||
|
||||
class {
|
||||
public:
|
||||
class {
|
||||
|
||||
@@ -42,6 +42,14 @@ public:
|
||||
|
||||
extern fapGm_HIO_c g_HIO;
|
||||
|
||||
inline void fapGmHIO_offMenu() {
|
||||
g_HIO.mDisplayPrint &= (u8)~2;
|
||||
}
|
||||
|
||||
inline void fapGmHIO_onMenu() {
|
||||
g_HIO.mDisplayPrint |= (u8)2;
|
||||
}
|
||||
|
||||
inline BOOL fapGmHIO_isMenu() {
|
||||
return g_HIO.mDisplayPrint & 2;
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user