mirror of
https://github.com/zeldaret/tp
synced 2026-06-08 12:27:18 -04:00
Misc Changes (#306)
This commit is contained in:
+47
-4
@@ -6260,6 +6260,7 @@ public:
|
||||
enum daMidna_FLG1 {
|
||||
FLG1_FORCE_NORMAL_COL = 8,
|
||||
FLG1_FORCE_TIRED_COL = 4,
|
||||
FLG1_SHADOW_MODEL_DRAW_DEMO_FORCE = 2,
|
||||
};
|
||||
|
||||
enum daMidna_ANM {};
|
||||
@@ -6327,6 +6328,48 @@ public:
|
||||
BOOL checkNoDraw() const { return checkStateFlg0(FLG0_NO_DRAW); }
|
||||
BOOL checkNoInput() const { return checkStateFlg0(FLG0_NO_INPUT); }
|
||||
int checkMetamorphoseEnable() { return (this->*mpFunc)(); }
|
||||
int checkShadowModelDrawDemoForce() const { return checkStateFlg1(FLG1_SHADOW_MODEL_DRAW_DEMO_FORCE); }
|
||||
|
||||
bool checkShadowModelDrawSmode() const {
|
||||
if (field_0x84e != 3 && field_0x84e != 4) {
|
||||
if (field_0x84e == 2) {
|
||||
return false;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int checkShadowModelDraw() const {
|
||||
int ret = 0;
|
||||
|
||||
if (checkShadowModelDrawDemoForce() == 0) {
|
||||
if (checkShadowModelDrawSmode() != 0) {
|
||||
ret = 0;
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int checkShadowReturnEnd() const {
|
||||
if (field_0x5e4[0].getIdx() == 0x21c && !field_0x578->isStop()) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int checkShadowModeTalkWait() const {
|
||||
if (mDemoType != 2 && mDemoType != 1) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
void setShadowReturn() { mDemoType = 4; }
|
||||
|
||||
|
||||
bool checkPortalObjRide() const {
|
||||
return checkStateFlg0(FLG0_UNK_8000000) && checkStateFlg0(FLG0_UNK_200);
|
||||
@@ -6342,7 +6385,7 @@ private:
|
||||
/* 0x0570 */ J3DModel* field_0x570;
|
||||
/* 0x0574 */ J3DModel* field_0x574;
|
||||
/* 0x0578 */ mDoExt_McaMorfSO* field_0x578;
|
||||
/* 0x057C */ mDoExt_McaMorfCallBack1_c* field_0x57c;
|
||||
/* 0x057C */ mDoExt_McaMorfCallBack1_c* field_0x57c; // this is really daMidna_McaMorfCB1_c. fix later
|
||||
/* 0x0580 */ cXyz* field_0x580;
|
||||
/* 0x0584 */ mDoExt_bckAnm field_0x584;
|
||||
/* 0x05A0 */ mDoExt_bckAnm field_0x5a0;
|
||||
@@ -6395,7 +6438,7 @@ private:
|
||||
/* 0x06DC */ mDoExt_bckAnm* mpDemoHDTmpBck;
|
||||
/* 0x06E0 */ J3DGXColorS10 field_0x6e0;
|
||||
/* 0x06E8 */ J3DGXColor field_0x6e8;
|
||||
/* 0x06EC */ u8 field_0x6ec;
|
||||
/* 0x06EC */ u8 field_0x6ec; // this is probably J3DGXColor. fix later
|
||||
/* 0x06ED */ u8 field_0x6ed;
|
||||
/* 0x06EE */ u8 field_0x6ee;
|
||||
/* 0x06EF */ u8 field_0x6ef;
|
||||
@@ -6414,7 +6457,7 @@ private:
|
||||
/* 0x085A */ s16 field_0x85a;
|
||||
/* 0x085C */ u8 field_0x85c[0x22];
|
||||
/* 0x087E */ s16 field_0x87e;
|
||||
/* 0x0880 */ u8 field_0x880[0xC];
|
||||
/* 0x0880 */ u8 field_0x880[0xC]; // csXyz in here, fix later
|
||||
/* 0x088C */ int mStaffID;
|
||||
/* 0x0890 */ u32 mStateFlg0;
|
||||
/* 0x0894 */ u32 mStateFlg1;
|
||||
@@ -6426,7 +6469,7 @@ private:
|
||||
/* 0x08CC */ u8 field_0x8cc[0x14];
|
||||
/* 0x08E0 */ cXyz field_0x8e0[5];
|
||||
/* 0x091C */ cXyz field_0x91c[5];
|
||||
/* 0x0958 */ u8 field_0x958[0xC];
|
||||
/* 0x0958 */ u8 field_0x958[0xC]; // cXyz here, fix later
|
||||
/* 0x0964 */ cXyz field_0x964[5];
|
||||
/* 0x09A0 */ u8 field_0x9a0[0x14];
|
||||
/* 0x09C4 */ cXyz field_0x9c4;
|
||||
|
||||
@@ -160,6 +160,10 @@ public:
|
||||
s16 getMoveAngle() const { return mDemoMoveAngle; }
|
||||
f32 getStick() { return mStick; }
|
||||
int getParam0() const { return mParam0; }
|
||||
void setParam0(int value) { mParam0 = value;}
|
||||
void setParam1(int value) { mParam1 = value;}
|
||||
void setParam2(int value) { mParam2 = value;}
|
||||
void setPos0(const cXyz* pos) { mDemoPos0 = *pos;}
|
||||
|
||||
private:
|
||||
/* 0x00 */ u16 mDemoType;
|
||||
@@ -761,6 +765,20 @@ public:
|
||||
|
||||
u32 i_checkBoarSingleBattle() const { return i_checkNoResetFlg2(FLG2_BOAR_SINGLE_BATTLE); }
|
||||
|
||||
void i_changeOriginalDemo() {
|
||||
mDemo.setOriginalDemoType();
|
||||
mDemo.setParam0(0);
|
||||
}
|
||||
|
||||
void i_changeDemoMode(u32 i_demoMode,int i_param0,int i_param1,s16 i_param2) {
|
||||
mDemo.setDemoMode(i_demoMode);
|
||||
mDemo.setParam0(i_param0);
|
||||
mDemo.setParam1(i_param1);
|
||||
mDemo.setParam2(i_param2);
|
||||
}
|
||||
|
||||
void i_changeDemoPos0(const cXyz* i_posP) { mDemo.setPos0(i_posP); }
|
||||
|
||||
inline static u32 i_getLastSceneMode();
|
||||
inline static u32 getLastSceneMode();
|
||||
inline static bool checkWoodSwordEquip();
|
||||
|
||||
@@ -3,12 +3,18 @@
|
||||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class dComIfGoat_info_c {
|
||||
public:
|
||||
/* 0x0 */ int field_0x0;
|
||||
};
|
||||
|
||||
class dComIfAc_info_c {
|
||||
public:
|
||||
/* 0x0 */ int field_0x0;
|
||||
/* 0x4 */ bool mPause;
|
||||
};
|
||||
|
||||
extern dComIfGoat_info_c g_dComIfGoat_gameInfo;
|
||||
extern dComIfAc_info_c g_dComIfAc_gameInfo;
|
||||
|
||||
inline bool dComIfA_PauseCheck() {
|
||||
|
||||
@@ -815,6 +815,9 @@ const char* dComIfGs_getWarpStageName();
|
||||
s16 dComIfGs_getWarpPlayerAngleY();
|
||||
s8 dComIfGs_getWarpRoomNo();
|
||||
BOOL dComIfGs_isOneZoneSwitch(int i_swBit, int i_roomNo);
|
||||
BOOL dComIfGs_isOneZoneItem(int i_swBit, int i_roomNo);
|
||||
BOOL dComIfGs_isZoneSwitch(int,int);
|
||||
BOOL dComIfGs_isZoneItem(int,int);
|
||||
void dComIfGs_setLastWarpMarkItemData(const char* stage, cXyz pos, s16 angle, s8 roomNo, u8, u8);
|
||||
u16 dComIfGs_getMaxLifeGauge();
|
||||
void dComIfGs_setWarpMarkFlag(u8);
|
||||
@@ -1129,6 +1132,10 @@ inline BOOL dComIfGs_isTbox(int i_no) {
|
||||
return g_dComIfG_gameInfo.info.getMemory().getBit().isTbox(i_no);
|
||||
}
|
||||
|
||||
inline BOOL dComIfGs_isSaveItem(int i_no) {
|
||||
return g_dComIfG_gameInfo.info.getMemory().getBit().isItem(i_no);
|
||||
}
|
||||
|
||||
inline BOOL dComIfGs_isSaveTbox(int i_stageNo, int i_no) {
|
||||
return g_dComIfG_gameInfo.info.getSavedata().getSave(i_stageNo).getBit().isTbox(i_no);
|
||||
}
|
||||
@@ -1137,6 +1144,10 @@ inline BOOL dComIfGs_isSaveDunSwitch(int i_no) {
|
||||
return g_dComIfG_gameInfo.info.getDan().isSwitch(i_no);
|
||||
}
|
||||
|
||||
inline BOOL dComIfGs_isSaveDunItem(int i_no) {
|
||||
return g_dComIfG_gameInfo.info.getDan().isItem(i_no);
|
||||
}
|
||||
|
||||
inline void dComIfGs_onSaveSwitch(int i_stageNo, int i_no) {
|
||||
g_dComIfG_gameInfo.info.getSavedata().getSave(i_stageNo).getBit().onSwitch(i_no);
|
||||
}
|
||||
|
||||
+16
-1
@@ -1,6 +1,21 @@
|
||||
#ifndef D_D_ERROR_MSG_H
|
||||
#define D_D_ERROR_MSG_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
|
||||
struct dShutdownErrorMsg_c {
|
||||
/* 8009D790 */ static bool execute();
|
||||
};
|
||||
|
||||
struct dDvdErrorMsg_c {
|
||||
/* 8009D194 */ void draw(s32);
|
||||
/* 8009D354 */ static u8 execute();
|
||||
};
|
||||
|
||||
struct J2DOrthoGraph {
|
||||
/* 802E96D0 */ J2DOrthoGraph(f32, f32, f32, f32, f32, f32);
|
||||
/* 802E97B4 */ void setPort();
|
||||
/* 802E980C */ void setOrtho(JGeometry::TBox2<f32> const&, f32, f32);
|
||||
};
|
||||
|
||||
#endif /* D_D_ERROR_MSG_H */
|
||||
|
||||
@@ -8,6 +8,40 @@
|
||||
#include "d/save/d_save.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
#if DEBUG
|
||||
class dEvDb_bit_c {
|
||||
public:
|
||||
/* 0x00 */ char* mFlagName;
|
||||
/* 0x04 */ char* mFlagDescription;
|
||||
/* 0x08 */ char* mFlagAuthor;
|
||||
/* 0x0C */ u16 mFlagValue;
|
||||
/* 0x10 */ char* mArea; // Area in the game where flag is used
|
||||
/* 0x14 */ u8 field_0x14;
|
||||
/* 0x15 */ u8 field_0x15;
|
||||
};
|
||||
|
||||
class dEvDb_reg_c {
|
||||
public:
|
||||
/* 0x00 */ char* mFlagName;
|
||||
/* 0x04 */ char* mFlagDescription;
|
||||
/* 0x08 */ char* mFlagAuthor;
|
||||
/* 0x0C */ u16 mFlagValue;
|
||||
/* 0x10 */ char* mArea; // Area in the game where flag is used
|
||||
/* 0x14 */ u8 field_0x14;
|
||||
/* 0x15 */ u8 field_0x15;
|
||||
};
|
||||
|
||||
class dEvDb_flag_base_c {
|
||||
public:
|
||||
/* 0x00 */ dEvDb_bit_c* mBitTable;
|
||||
/* 0x04 */ dEvDb_reg_c* mRegTable;
|
||||
/* 0x08 */ int mBitNum;
|
||||
/* 0x0C */ int mRegNum;
|
||||
/* 0x10 */ field_0x10;
|
||||
/* 0x14 */ field_0x14;
|
||||
}
|
||||
#endif
|
||||
|
||||
class dEvt_order_c {
|
||||
public:
|
||||
~dEvt_order_c() {}
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
#include "d/d_select_cursor.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "m_Do/m_Do_dvd_thread.h"
|
||||
#include "d/save/d_save.h"
|
||||
|
||||
class dMsgString_c;
|
||||
class dFile_warning_c;
|
||||
@@ -368,7 +369,7 @@ private:
|
||||
/* 0x01BF */ u8 field_0x1bf;
|
||||
/* 0x01C0 */ u8 field_0x1c0;
|
||||
/* 0x01CC */ void (dMenu_save_c::*mpErrFunc)();
|
||||
/* 0x01D0 */ u8 mSaveBuffer[0xA94 * 3];
|
||||
/* 0x01D0 */ u8 mSaveBuffer[QUEST_LOG_SIZE * 3];
|
||||
/* 0x218C */ dMsgScrnExplain_c* mpScrnExplain;
|
||||
/* 0x2190 */ u8 field_0x2190;
|
||||
/* 0x2192 */ u16 field_0x2192;
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
#define SWITCH_ONE_ZONE_MAX 0x10
|
||||
#define ITEM_ZONE_MAX 0x20
|
||||
#define ITEM_ONE_ZONE_MAX 0x10
|
||||
#define QUEST_LOG_SIZE 0xA94
|
||||
|
||||
enum Wallets {
|
||||
/* 0x0 */ WALLET,
|
||||
@@ -1134,11 +1135,19 @@ private:
|
||||
|
||||
class dSv_event_flag_c {
|
||||
public:
|
||||
enum {
|
||||
#include "d/save/d_save_bit_labels.inc"
|
||||
};
|
||||
|
||||
static u16 saveBitLabels[822];
|
||||
};
|
||||
|
||||
class dSv_event_tmp_flag_c {
|
||||
public:
|
||||
enum {
|
||||
#include "d/save/d_save_temp_bit_labels.inc"
|
||||
};
|
||||
|
||||
static u16 const tempBitLabels[185];
|
||||
};
|
||||
|
||||
|
||||
@@ -577,6 +577,11 @@ inline void fopAcM_seStartLevel(const fopAc_ac_c* actor, u32 sfxID, u32 param_2)
|
||||
i_mDoAud_seStartLevel(sfxID, &actor->mEyePos, param_2, dComIfGp_getReverb(roomNo));
|
||||
}
|
||||
|
||||
inline void fopAcM_seStartCurrentLevel(const fopAc_ac_c* actor, u32 sfxID, u32 param_2) {
|
||||
s8 roomNo = fopAcM_GetRoomNo(actor);
|
||||
i_mDoAud_seStartLevel(sfxID, &actor->current.pos, param_2, dComIfGp_getReverb(roomNo));
|
||||
}
|
||||
|
||||
extern "C" {
|
||||
void fopAcM_initManager__Fv(void);
|
||||
void fopAcM_CreateAppend__Fv(void);
|
||||
|
||||
@@ -14,6 +14,7 @@ class mDoDvdThd_command_c;
|
||||
typedef struct scene_process_profile_definition {
|
||||
/* 0x00 */ node_process_profile_definition mBase;
|
||||
/* 0x20 */ process_method_class* mpMtd; // Subclass methods
|
||||
/* 0x24 */ u32 field_0x24; // padding?
|
||||
} scene_process_profile_definition;
|
||||
|
||||
class scene_class {
|
||||
@@ -23,4 +24,6 @@ public:
|
||||
/* 0x1B0 */ scene_tag_class mScnTg;
|
||||
};
|
||||
|
||||
extern leafdraw_method_class g_fopScn_Method;
|
||||
|
||||
#endif
|
||||
|
||||
@@ -35,7 +35,7 @@ typedef struct base_process_class {
|
||||
/* 0xB4 */ u32 mSubType;
|
||||
} base_process_class; // Size: 0xB8
|
||||
|
||||
BOOL fpcBs_Is_JustOfType(int pType1, int pType2);
|
||||
s32 fpcBs_Is_JustOfType(int pType1, int pType2);
|
||||
s32 fpcBs_MakeOfType(int* pType);
|
||||
s32 fpcBs_MakeOfId(void);
|
||||
s32 fpcBs_Execute(base_process_class* pProc);
|
||||
|
||||
@@ -34,5 +34,6 @@ s32 fpcNd_Delete(process_node_class* pProcNode);
|
||||
s32 fpcNd_Create(process_node_class* pProcNode);
|
||||
|
||||
extern int g_fpcNd_type;
|
||||
extern nodedraw_method_class g_fpcNd_Method;
|
||||
|
||||
#endif
|
||||
|
||||
@@ -4,13 +4,14 @@
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_actor.h"
|
||||
#include "d/msg/d_msg_flow.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
|
||||
class daTagMstop_c : public fopAc_ac_c {
|
||||
public:
|
||||
/* 805A6138 */ void create();
|
||||
/* 805A6138 */ int create();
|
||||
/* 805A6338 */ ~daTagMstop_c();
|
||||
/* 805A63C4 */ void eventOrder();
|
||||
/* 805A63F8 */ void execute();
|
||||
/* 805A63F8 */ int execute();
|
||||
bool checkNoAttention() const { return field_0x56b == 0xFF; }
|
||||
|
||||
private:
|
||||
@@ -24,8 +25,8 @@ private:
|
||||
/* 0x570 */ u16 field_0x570;
|
||||
/* 0x572 */ u16 field_0x572;
|
||||
/* 0x574 */ dMsgFlow_c mMsgFlow;
|
||||
/* 0x5C0 */ f32 field_0x5cc;
|
||||
/* 0x5C4 */ f32 field_0x5d0;
|
||||
/* 0x5C0 */ f32 field_0x5c0;
|
||||
/* 0x5C4 */ f32 field_0x5c4;
|
||||
/* 0x5C8 */ cXyz field_0x5c8;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user