Debug version now builds OK and all_source compiles (#2343)

* Fix missing arg to JUT_ASSERT

* Fix some MWCC version diff errors

* Compile m_Do_ext, d_demo, actor_mng

* Add VSCode task to quickly switch between versions

* Unlink magLift for debug

* Update the hash of the debug dol

The old cbea5fa... hash here was for the dol generated by the alf2dol.py script, which produces incorrect alignment.

The dol with the new hash can be obtained by using `dtk elf2dol` to convert the debug .alf file to a dol.

The DOL now builds OK.

* Fix all debug REL dtor splits

All RELs now also build OK, meaning `ninja build/ShieldD/ok` now succeeds.

* Add genMessage declarations to all HIO subclasses

* Fixing more compilation errors

* m_Do_mtx 100% on debug

Cannot be linked due to weak function name mangling?

* Improve various matches

* Fix all remaining compilation errors

* Fix new compilation errors from main

* Fix retail regression

* Link f_pc_profile_lst
This commit is contained in:
LagoLunatic
2025-03-22 21:00:51 -04:00
committed by GitHub
parent d0f89e41b1
commit 4dc0cd9d09
543 changed files with 1413 additions and 1278 deletions
+4 -1
View File
@@ -18,7 +18,10 @@ struct DynamicModuleControlBase {
/* 800188DC */ virtual const char* getModuleName() const { return NULL; };
/* 80263210 */ virtual int getModuleSize() const { return 0; };
/* 80263200 */ virtual const char* getModuleTypeString() const {return "Base";};
virtual void dump();
#if __MWERKS__ && __MWERKS__ < 0x4200
// This is illegal function overloading, but MWCC for GC allows it. MWCC for Wii does not.
virtual void dump();
#endif
/* 80262470 */ static void dump();
/* 802631FC */ virtual void dump2() {};
/* 802631DC */ virtual bool do_load() {return true;};
+5 -5
View File
@@ -33,8 +33,8 @@ public:
/* 803069D8 */ virtual void setCullBack(_GXCullMode);
/* 803069B8 */ virtual void setAlpha(u8);
/* 80303AB4 */ virtual void drawSelf(f32, f32, f32 (*)[3][4]);
/* 80306A24 */ virtual void isUsed(ResTIMG const*);
/* 803071A4 */ virtual void isUsed(ResFONT const*);
/* 80306A24 */ virtual bool isUsed(ResTIMG const*);
/* 803071A4 */ virtual bool isUsed(ResFONT const*);
/* 80306A0C */ virtual void rewriteAlpha();
/* 803071C4 */ virtual void setAnimation(J2DAnmBase*);
/* 80256064 */ virtual void setAnimation(J2DAnmTransform* transform) { J2DPane::setAnimation(transform); }
@@ -44,7 +44,7 @@ public:
/* 80306B48 */ virtual void setAnimation(J2DAnmTevRegKey*);
/* 80306B74 */ virtual void setAnimation(J2DAnmVisibilityFull*);
/* 80306B7C */ virtual void setAnimation(J2DAnmVtxColor*);
/* 80306C70 */ virtual void animationPane(J2DAnmTransform const*);
/* 80306C70 */ virtual const J2DAnmTransform* animationPane(J2DAnmTransform const*);
/* 80303640 */ virtual void initiate(ResTIMG const*, ResTLUT const*);
/* 803039CC */ virtual bool prepareTexture(u8);
/* 80306ED4 */ virtual bool append(ResTIMG const*, f32);
@@ -84,8 +84,8 @@ public:
/* 80306370 */ virtual bool setBlack(JUtility::TColor);
/* 803063F8 */ virtual bool setWhite(JUtility::TColor);
/* 80306480 */ virtual bool setBlackWhite(JUtility::TColor, JUtility::TColor);
/* 803068F8 */ virtual void getBlack() const;
/* 80306958 */ virtual void getWhite() const;
/* 803068F8 */ virtual JUtility::TColor getBlack() const;
/* 80306958 */ virtual JUtility::TColor getWhite() const;
/* 80256034 */ virtual J2DMaterial* getMaterial() const { return mMaterial; }
/* 80303B80 */ virtual void drawFullSet(f32, f32, f32, f32, f32 (*)[3][4]);
/* 80303BDC */ virtual void drawTexCoord(f32, f32, f32, f32, s16, s16, s16, s16, s16, s16, s16,
+1 -1
View File
@@ -52,7 +52,7 @@ public:
J3DTevBlock* getTevBlock() const { return mTevBlock; }
J3DColorBlock* getColorBlock() const { return mColorBlock; }
J3DTexGenBlock* getTexGenBlock() const { return mTexGenBlock; }
J3DDisplayListObj* getSharedDisplayListObj() const { return mSharedDLObj; }
J3DDisplayListObj* getSharedDisplayListObj() { return mSharedDLObj; }
J3DIndBlock* getIndBlock() const { return mIndBlock; }
J3DShape* getShape() { return mShape; }
J3DJoint* getJoint() { return mJoint; }
+3 -3
View File
@@ -23,9 +23,9 @@ struct JFWSystem {
static u32 fifoBufSize;
static u32 aramAudioBufSize;
static u32 aramGraphBufSize;
static u32 streamPriority;
static u32 decompPriority;
static u32 aPiecePriority;
static s32 streamPriority;
static s32 decompPriority;
static s32 aPiecePriority;
static ResFONT* systemFontRes;
static GXRenderModeObj* renderMode;
static u32 exConsoleBufferSize;
+46
View File
@@ -0,0 +1,46 @@
#ifndef DEFINE_H
#define DEFINE_H
#include "types.h"
#ifdef __cplusplus
extern "C" {
class JGadget_outMessage {
public:
typedef void (*MessageFunc)(const char*, int, const char*);
static void warning(const char*, int, const char*);
JGadget_outMessage(MessageFunc fn, const char* file, int line);
~JGadget_outMessage();
JGadget_outMessage& operator<<(int param_1) { return *this << (s32)param_1; }
JGadget_outMessage& operator<<(u16);
JGadget_outMessage& operator<<(unsigned int);
JGadget_outMessage& operator<<(u8);
JGadget_outMessage& operator<<(const char* str);
JGadget_outMessage& operator<<(s8);
JGadget_outMessage& operator<<(s32);
JGadget_outMessage& operator<<(u32);
JGadget_outMessage& operator<<(const void*);
private:
MessageFunc mMsgFunc;
char mBuffer[256];
char* mWrite_p;
char* mFile;
int mLine;
};
#define JGADGET_ASSERTWARN(cond) ((cond) || (false))
#define JGADGET_EXITWARN(cond) \
if (!(cond)) { \
false; \
return false; \
}
}
#endif
#endif
+1 -1
View File
@@ -341,7 +341,7 @@ struct TVec3<f32> : public Vec {
}
bool isZero() const {
return squared() <= 32.0f * FLT_EPSILON;
return squared() <= TUtil<f32>::epsilon();
}
void cross(const TVec3<f32>& a, const TVec3<f32>& b) {
+4
View File
@@ -35,11 +35,14 @@ struct JORServer;
class JOREventListener {
public:
#ifdef DEBUG
virtual void listenPropertyEvent(const JORPropertyEvent*) = 0;
#endif
};
class JORReflexible : public JOREventListener {
public:
#ifdef DEBUG
JORReflexible();
static JORServer* getJORServer();
@@ -48,6 +51,7 @@ public:
virtual void genObjectInfo(const JORGenEvent*);
virtual void genMessage(JORMContext*) = 0;
virtual void listenNodeEvent(const JORNodeEvent*);
#endif
};
#endif /* JORREFLEXIBLE_H */
+3 -4
View File
@@ -212,16 +212,15 @@ namespace JMathInlineVEC {
#endif
}
inline f32 C_VECSquareMag(const Vec* v) {
inline f32 C_VECSquareMag(register const Vec* v) {
register f32 x_y;
register f32 z;
register f32 res;
register const f32* src = &v->x;
#ifdef __MWERKS__
asm {
psq_l x_y, 0(src), 0, 0
psq_l x_y, 0(v), 0, 0
ps_mul x_y, x_y, x_y
lfs z, 8(src)
lfs z, 8(v)
ps_madd res, z, z, x_y
ps_sum0 res, res, x_y, x_y
}
+10
View File
@@ -10,6 +10,16 @@ namespace JStage {
*
*/
struct TActor : public TObject {
enum {
ID_NORMAL = -1,
ID_UNK_1 = 1,
ID_UNK_2 = 2,
ID_UNK_3 = 3,
ID_UNK_4 = 4,
ID_UNK_5 = 5,
ID_UNK_6 = 6,
};
/* 80280A48 */ virtual ~TActor() = 0;
/* 80280AA8 */ virtual s32 JSGFGetType() const;
/* 80280AB0 */ virtual void JSGGetTranslation(Vec*) const;
@@ -178,6 +178,8 @@ struct TAdaptor {
/* 80286648 */ static void adaptor_setVariableValue_FVR_INDEX_(JStudio::TAdaptor*, JStudio::TControl*,
u32, void const*, u32);
const char* adaptor_getID_string() const;
void adaptor_setObject_(const TObject* pObject) {
pObject_ = pObject;
}
@@ -157,7 +157,10 @@ struct TAdaptor_actor : public JStudio::TAdaptor_actor, public JStudio_JStage::T
JStage::TActor* get_pJSG_() { return (JStage::TActor*) pJSGObject_; }
// TODO: Why doesn't this line compile with MWCC version Wii/1.0?
#if __MWERKS__ && __MWERKS__ < 0x4200
static TVVOutputObject saoVVOutput_[2];
#endif
static TVVOutput_ANIMATION_FRAME_ saoVVOutput_ANIMATION_FRAME_[3];
/* 0x130 */ u32 field_0x130;
@@ -220,7 +223,10 @@ struct TAdaptor_camera : public JStudio::TAdaptor_camera, public TAdaptor_object
JStage::TCamera* get_pJSG_() { return (JStage::TCamera*)pJSGObject_; }
// TODO: Why doesn't this line compile with MWCC version Wii/1.0?
#if __MWERKS__ && __MWERKS__ < 0x4200
static TVVOutput saoVVOutput_[5];
#endif
/* 0x108 */ int field_0x108;
/* 0x10C */ JStage::TObject* field_0x10c;
@@ -248,7 +254,10 @@ struct TAdaptor_fog : public JStudio::TAdaptor_fog, public TAdaptor_object_ {
JStage::TFog* get_pJSG_() { return (JStage::TFog*)pJSGObject_; }
// TODO: Why doesn't this line compile with MWCC version Wii/1.0?
#if __MWERKS__ && __MWERKS__ < 0x4200
static TVariableValueOutput_object_<TAdaptor_fog, JStage::TFog> saoVVOutput_[3];
#endif
};
struct TAdaptor_light : public JStudio::TAdaptor_light, public TAdaptor_object_ {
+1 -1
View File
@@ -50,7 +50,7 @@ public:
mFontSizeX = x;
mFontSizeY = y;
}
void setHeight(u32 height) {
void setHeight(unsigned int height) {
mHeight = height;
if (mHeight > mMaxLines) {
mHeight = mMaxLines;
+1 -1
View File
@@ -35,6 +35,6 @@ private:
/* 0x10 */ u8 field_0x10[0xC];
};
inline void JUTCreateFifo(u32 bufSize) { new JUTGraphFifo(bufSize); }
inline JUTGraphFifo* JUTCreateFifo(u32 bufSize) { return new JUTGraphFifo(bufSize); }
#endif /* JUTGRAPHFIFO_H */
+1 -1
View File
@@ -126,7 +126,7 @@ struct cXyz : Vec {
f32 getMagXZ() const { return cXyz(this->x, 0, this->z).getSquareMag(); }
f32 getDotProduct(const Vec& other) const { return VECDotProduct(this, &other); }
f32 getDotProduct(const Vec& other) const { return PSVECDotProduct(this, &other); }
f32 inprod(const Vec& other) const { return getDotProduct(other); }
f32 inprodXZ(const Vec& other) const { return x * other.x + z * other.z; }
+26 -26
View File
@@ -7,30 +7,30 @@
#include "JSystem/JAudio2/JAUSoundTable.h"
#define AUDIO_INSTANCES \
JASDefaultBankTable* JASGlobalInstance<JASDefaultBankTable>::sInstance; \
JASAudioThread* JASGlobalInstance<JASAudioThread>::sInstance; \
Z2SeMgr* JASGlobalInstance<Z2SeMgr>::sInstance; \
Z2SeqMgr* JASGlobalInstance<Z2SeqMgr>::sInstance; \
Z2SceneMgr* JASGlobalInstance<Z2SceneMgr>::sInstance; \
Z2StatusMgr* JASGlobalInstance<Z2StatusMgr>::sInstance; \
Z2DebugSys* JASGlobalInstance<Z2DebugSys>::sInstance; \
JAISoundStarter* JASGlobalInstance<JAISoundStarter>::sInstance; \
Z2SoundStarter* JASGlobalInstance<Z2SoundStarter>::sInstance; \
Z2SpeechMgr2* JASGlobalInstance<Z2SpeechMgr2>::sInstance; \
JAISeMgr* JASGlobalInstance<JAISeMgr>::sInstance; \
JAISeqMgr* JASGlobalInstance<JAISeqMgr>::sInstance; \
JAIStreamMgr* JASGlobalInstance<JAIStreamMgr>::sInstance; \
Z2SoundMgr* JASGlobalInstance<Z2SoundMgr>::sInstance; \
JAISoundInfo* JASGlobalInstance<JAISoundInfo>::sInstance; \
JAUSoundTable* JASGlobalInstance<JAUSoundTable>::sInstance; \
JAUSoundNameTable* JASGlobalInstance<JAUSoundNameTable>::sInstance; \
JAUSoundInfo* JASGlobalInstance<JAUSoundInfo>::sInstance; \
Z2SoundInfo* JASGlobalInstance<Z2SoundInfo>::sInstance; \
Z2SoundObjMgr* JASGlobalInstance<Z2SoundObjMgr>::sInstance; \
Z2Audience* JASGlobalInstance<Z2Audience>::sInstance; \
Z2FxLineMgr* JASGlobalInstance<Z2FxLineMgr>::sInstance; \
Z2EnvSeMgr* JASGlobalInstance<Z2EnvSeMgr>::sInstance; \
Z2SpeechMgr* JASGlobalInstance<Z2SpeechMgr>::sInstance; \
Z2WolfHowlMgr* JASGlobalInstance<Z2WolfHowlMgr>::sInstance;
template<> JASDefaultBankTable* JASGlobalInstance<JASDefaultBankTable>::sInstance; \
template<> JASAudioThread* JASGlobalInstance<JASAudioThread>::sInstance; \
template<> Z2SeMgr* JASGlobalInstance<Z2SeMgr>::sInstance; \
template<> Z2SeqMgr* JASGlobalInstance<Z2SeqMgr>::sInstance; \
template<> Z2SceneMgr* JASGlobalInstance<Z2SceneMgr>::sInstance; \
template<> Z2StatusMgr* JASGlobalInstance<Z2StatusMgr>::sInstance; \
template<> Z2DebugSys* JASGlobalInstance<Z2DebugSys>::sInstance; \
template<> JAISoundStarter* JASGlobalInstance<JAISoundStarter>::sInstance; \
template<> Z2SoundStarter* JASGlobalInstance<Z2SoundStarter>::sInstance; \
template<> Z2SpeechMgr2* JASGlobalInstance<Z2SpeechMgr2>::sInstance; \
template<> JAISeMgr* JASGlobalInstance<JAISeMgr>::sInstance; \
template<> JAISeqMgr* JASGlobalInstance<JAISeqMgr>::sInstance; \
template<> JAIStreamMgr* JASGlobalInstance<JAIStreamMgr>::sInstance; \
template<> Z2SoundMgr* JASGlobalInstance<Z2SoundMgr>::sInstance; \
template<> JAISoundInfo* JASGlobalInstance<JAISoundInfo>::sInstance; \
template<> JAUSoundTable* JASGlobalInstance<JAUSoundTable>::sInstance; \
template<> JAUSoundNameTable* JASGlobalInstance<JAUSoundNameTable>::sInstance; \
template<> JAUSoundInfo* JASGlobalInstance<JAUSoundInfo>::sInstance; \
template<> Z2SoundInfo* JASGlobalInstance<Z2SoundInfo>::sInstance; \
template<> Z2SoundObjMgr* JASGlobalInstance<Z2SoundObjMgr>::sInstance; \
template<> Z2Audience* JASGlobalInstance<Z2Audience>::sInstance; \
template<> Z2FxLineMgr* JASGlobalInstance<Z2FxLineMgr>::sInstance; \
template<> Z2EnvSeMgr* JASGlobalInstance<Z2EnvSeMgr>::sInstance; \
template<> Z2SpeechMgr* JASGlobalInstance<Z2SpeechMgr>::sInstance; \
template<> Z2WolfHowlMgr* JASGlobalInstance<Z2WolfHowlMgr>::sInstance;
#endif
#endif
+2
View File
@@ -23,6 +23,8 @@ public:
/* 802BBA10 */ const char* getStreamFilePath(JAISoundID);
/* 802BBAC8 */ int getSwBit(JAISoundID) const;
/* 802BBB48 */ void getSoundInfo_(JAISoundID, JAISound*) const;
BOOL isValid() const;
};
+10 -1
View File
@@ -21,7 +21,7 @@ public:
return fopAcM_GetParamBit(this,8,8);
}
u16 getTimer() {
u8 getTimer() {
return fopAcM_GetParamBit(this,16,8);
}
@@ -39,5 +39,14 @@ public:
/* 0x56A */ s16 mTimer;
};
class daAndsw_HIO_c : public mDoHIO_entry_c {
public:
daAndsw_HIO_c();
void genMessage(JORMContext*);
/* 0x06 */ u8 field_0x6;
};
#endif /* D_A_ANDSW_H */
+3 -1
View File
@@ -176,11 +176,13 @@ private:
STATIC_ASSERT(sizeof(daB_DR_c) == 0x2860);
class daB_DR_HIO_c {
class daB_DR_HIO_c : public JORReflexible {
public:
/* 805BAE6C */ daB_DR_HIO_c();
/* 805C6B94 */ virtual ~daB_DR_HIO_c() {}
void genMessage(JORMContext*);
/* 0x04 */ s8 field_0x4;
/* 0x08 */ f32 model_size;
/* 0x0C */ f32 fall_accel;
+3 -1
View File
@@ -125,11 +125,13 @@ public:
STATIC_ASSERT(sizeof(daE_PZ_c) == 0xEF8);
class daE_PZ_HIO_c {
class daE_PZ_HIO_c : public JORReflexible {
public:
/* 8075856C */ daE_PZ_HIO_c();
/* 80760C60 */ virtual ~daE_PZ_HIO_c() {}
void genMessage(JORMContext*);
/* 0x04 */ s8 no;
/* 0x08 */ f32 body_model_size;
/* 0x0C */ f32 portal_model_size;
+2
View File
@@ -189,6 +189,8 @@ public:
// Must be inlined but defined in .cpp for sinit to match
inline daMyna_HIO_c();
void genMessage(JORMContext*);
/* 0x04 */ f32 field_0x04; // DAT_8094ba40
/* 0x08 */ f32 field_0x08; // DAT_8094ba44
/* 0x0C */ f32 field_0x0C; // DAT_8094ba48
+1 -1
View File
@@ -80,7 +80,7 @@ public:
/* 0x850 */ dCcD_Stts mStts;
/* 0x88C */ dCcD_Cyl mCyl;
/* 0x9C8 */ dNpcLib_lookat_c mLookat;
/* 0xA98 */ int field_0xa98;
/* 0xA98 */ int m_type;
/* 0xA9C */ u8 field_0xa9c[0xAA0 - 0xA9C];
/* 0xAA4 */ int field_0xaa0;
/* 0xAA4 */ int field_0xaa4;
+2
View File
@@ -92,6 +92,8 @@ public:
/* 80B9CB8C */ daTurara_HIO_c();
/* 80B9E5B4 */ virtual ~daTurara_HIO_c() {}
void genMessage(JORMContext*);
/* 0x04 */ f32 field_0x04;
/* 0x08 */ f32 mGravity;
/* 0x0c */ f32 mMaxGravity;
+3 -1
View File
@@ -2,7 +2,7 @@
#define D_A_OBJ_TVCDLST_H
#include "f_op/f_op_actor_mng.h"
#include "include/d/d_com_inf_game.h"
#include "d/d_com_inf_game.h"
/**
* @ingroup actors-objects
@@ -59,6 +59,8 @@ public:
/* 80B9ECCC */ daTvCdlst_HIO_c();
/* 80B9F7B0 */ virtual ~daTvCdlst_HIO_c() {}
void genMessage(JORMContext*);
/* 0x4 */ u8 field_0x4;
/* 0x5 */ u8 field_0x5;
};
+2
View File
@@ -47,6 +47,8 @@ public:
/* 80BA918C */ daBarDesk_HIO_c();
/* 80BA9A90 */ ~daBarDesk_HIO_c() {}
void genMessage(JORMContext*);
/* 0x4 */ u8 field_0x4;
/* 0x5 */ u8 field_0x5;
};
+2
View File
@@ -77,6 +77,8 @@ public:
/* 80BB820C */ daBmWindow_HIO_c();
/* 80BB964C */ virtual ~daBmWindow_HIO_c() {}
void genMessage(JORMContext*);
/* 0x04 */ u8 field_0x04;
/* 0x05 */ u8 field_0x05;
/* 0x08 */ f32 field_0x08;
+2
View File
@@ -53,6 +53,8 @@ public:
/* 80BC288C */ daBsGate_HIO_c();
/* 80BC30F4 */ ~daBsGate_HIO_c() {}
void genMessage(JORMContext*);
/* 0x4 */ f32 mOpenSpeed;
/* 0x8 */ f32 mCloseSpeed;
/* 0xC */ u8 mShockStrength;
+2
View File
@@ -63,6 +63,8 @@ public:
/* 80BC33EC */ daBubbPilar_HIO_c();
/* 80BC3F90 */ virtual ~daBubbPilar_HIO_c() {};
void genMessage(JORMContext*);
u8 field_0x4;
u8 field_0x5;
};
+5
View File
@@ -94,5 +94,10 @@ public:
STATIC_ASSERT(sizeof(daObjDrop_c) == 0xa7c);
class daObjDrop_HIO_c {
public:
u8 pad[0x17];
/* 0x17 */ u8 field_0x17;
};
#endif /* D_A_OBJ_DROP_H */
+2
View File
@@ -48,6 +48,8 @@ public:
/* 80BE762C */ daFireWood_HIO_c();
/* 80BE7F24 */ virtual ~daFireWood_HIO_c() {}
void genMessage(JORMContext*);
/* 0x4 */ f32 mFlameOffsetY;
/* 0x8 */ f32 mCollisionRadius;
/* 0xC */ u8 mWaitTime;
+2
View File
@@ -51,6 +51,8 @@ public:
/* 80BE824C */ daFireWood2_HIO_c();
/* 80BE8E54 */ virtual ~daFireWood2_HIO_c() {}
void genMessage(JORMContext*);
/* 0x04 */ f32 mFlameOffsetY;
/* 0x08 */ f32 mCollisionDiameter;
/* 0x0C */ f32 mCollisionHeight;
+2
View File
@@ -169,6 +169,8 @@ public:
/* 80BF934C */ daGlwSph_HIO_c();
/* 80BFA76C */ virtual ~daGlwSph_HIO_c() {}
void genMessage(JORMContext*);
/* 0x4 */ f32 speed;
/* 0x8 */ f32 speed2;
};
+2
View File
@@ -76,6 +76,8 @@ public:
/* 80C134AC */ daGrdWater_HIO_c();
/* 80C148A8 */ virtual ~daGrdWater_HIO_c() {}
void genMessage(JORMContext*);
/* 0x04 */ u8 field_0x04;
/* 0x05 */ u8 field_0x05;
/* 0x06 */ u8 field_0x06;
+2
View File
@@ -63,6 +63,8 @@ public:
/* 80C1CAEC */ daHeavySw_HIO_c();
/* 80C1D9D8 */ virtual ~daHeavySw_HIO_c() {}
void genMessage(JORMContext*);
/* 0x04 */ f32 field_0x04;
/* 0x08 */ f32 field_0x08;
/* 0x0C */ f32 field_0x0c;
+3 -1
View File
@@ -31,10 +31,12 @@ private:
STATIC_ASSERT(sizeof(daHsTarget_c) == 0x5B0);
class daHsTarget_HIO_c : mDoHIO_entry_c {
class daHsTarget_HIO_c : public mDoHIO_entry_c {
public:
/* 80C1F42C */ daHsTarget_HIO_c();
/* 80C1F7F4 */ virtual ~daHsTarget_HIO_c() {}
void genMessage(JORMContext*);
};
#endif /* D_A_OBJ_HSTARGET_H */
+2 -1
View File
@@ -37,8 +37,9 @@ public:
/* 80C44D0C */ daKiPot_HIO_c();
/* 80C450E8 */ virtual ~daKiPot_HIO_c() {};
/* 0x00 */ /* vtable */
void genMessage(JORMContext*);
/* 0x00 */ /* vtable */
/* 0x06 */ u8 field_0x06;
};
+6 -4
View File
@@ -40,10 +40,12 @@ public:
/* 8058C60C */ daKtOnFire_HIO_c();
/* 8058CEA8 */ ~daKtOnFire_HIO_c() {}
u8 mTimer;
u8 mColor1R;
u8 mColor1G;
u8 mColor1B;
void genMessage(JORMContext*);
u8 mTimer;
u8 mColor1R;
u8 mColor1G;
u8 mColor1B;
};
+2
View File
@@ -57,6 +57,8 @@ public:
/* 80C55D0C */ daLv1Cdl00_HIO_c();
/* 80C56970 */ ~daLv1Cdl00_HIO_c() {}
void genMessage(JORMContext*);
/* 0x4 */ u8 field_0x4;
/* 0x5 */ u8 field_0x5;
};
+2
View File
@@ -53,6 +53,8 @@ public:
/* 80C56CAC */ daLv1Cdl01_HIO_c();
/* 80C5777C */ ~daLv1Cdl01_HIO_c() {}
void genMessage(JORMContext*);
/* 0x4 */ u8 field_0x4;
/* 0x5 */ u8 field_0x5;
};
+2
View File
@@ -71,6 +71,8 @@ public:
/* 8058E04C */ daLv2Candle_HIO_c();
/* 8058F050 */ ~daLv2Candle_HIO_c() {}
void genMessage(JORMContext*);
/* 0x04 */ u8 mTimer;
/* 0x08 */ f32 mPow;
/* 0x0C */ f32 mAnmMaxStep;
+2
View File
@@ -56,6 +56,8 @@ public:
/* 80C57ACC */ daLv3Candle_HIO_c();
/* 80C58484 */ virtual ~daLv3Candle_HIO_c() {}
void genMessage(JORMContext*);
/* 0x00 vtable */
/* 0x04 */ u8 field_0x04;
};
+2 -1
View File
@@ -71,8 +71,9 @@ public:
/* 80C587CC */ daLv3Water_HIO_c();
/* 80C59C34 */ virtual ~daLv3Water_HIO_c();
/* 0x00 */ /* vtable */
void genMessage(JORMContext*);
/* 0x00 */ /* vtable */
/* 0x04 */ u8 field_0x04;
};
-2
View File
@@ -95,9 +95,7 @@ struct daLv3Water2_HIO_c : public mDoHIO_entry_c {
/* 80C5A40C */ daLv3Water2_HIO_c();
/* 80C5B14C */ ~daLv3Water2_HIO_c() {}
#ifdef DEBUG
void genMessage(JORMContext*);
#endif
/* 0x04 */ u8 mLevelControlWaitFrames;
};
@@ -58,6 +58,8 @@ public:
/* 80C5C9EC */ dalv4CandleDemoTag_HIO_c();
/* 80C5D07C */ virtual ~dalv4CandleDemoTag_HIO_c();
void genMessage(JORMContext*);
/* 0x4 */ s16 mEnemyWaitTime;
};
+2
View File
@@ -74,6 +74,8 @@ public:
/* 80C5D44C */ dalv4CandleTag_HIO_c();
/* 80C5D9C0 */ ~dalv4CandleTag_HIO_c() {}
void genMessage(JORMContext*);
u8 mTimer;
};
+2
View File
@@ -51,6 +51,8 @@ public:
/* 80C5EB6C */ daLv4Gate_HIO_c();
/* 80C5F348 */ virtual ~daLv4Gate_HIO_c() {}
void genMessage(JORMContext*);
/* 0x4 */ f32 mMoveSpeed;
/* 0x8 */ u8 mShockStrength;
};
+2
View File
@@ -34,6 +34,8 @@ class daLv4HsTarget_HIO_c : public mDoHIO_entry_c {
public:
/* 80C5F62C */ daLv4HsTarget_HIO_c();
/* 80C5F990 */ virtual ~daLv4HsTarget_HIO_c() {}
void genMessage(JORMContext*);
};
#endif /* D_A_OBJ_LV4HSTARGET_H */
+2
View File
@@ -70,6 +70,8 @@ public:
/* 80C5FBEC */ daLv4PoGate_HIO_c();
/* 80C60758 */ virtual ~daLv4PoGate_HIO_c() {};
void genMessage(JORMContext*);
/* 0x04 */ f32 mOpenSpeed;
/* 0x08 */ f32 mCloseStep1Speed;
/* 0x0C */ f32 mCloseStep2Speed;
+2
View File
@@ -56,6 +56,8 @@ public:
/* 80C6A60C */ daFlorBoad_HIO_c();
/* 80C6B058 */ virtual ~daFlorBoad_HIO_c() {}
void genMessage(JORMContext*);
/* 0x04 */ cXyz field_0x4;
/* 0x10 */ u8 field_0x10;
/* 0x11 */ u8 field_0x11;
+2
View File
@@ -65,6 +65,8 @@ public:
/* 80C6B42C */ daIceWall_HIO_c();
/* 80C6C550 */ virtual ~daIceWall_HIO_c() {}
void genMessage(JORMContext*);
/* 0x04 */ cXyz xyz;
/* 0x10 */ u8 hitcount;
/* 0x11 */ u8 hitcount2;
+2
View File
@@ -57,6 +57,8 @@ public:
/* 80C6C94C */ daLv5SwIce_HIO_c();
/* 80C6D418 */ virtual ~daLv5SwIce_HIO_c() {}
void genMessage(JORMContext*);
/* 0x4 */ u8 hitcount;
};
+2
View File
@@ -94,6 +94,8 @@ public:
/* 80C8A30C */ daOptiLift_HIO_c();
/* 80C8B900 */ virtual ~daOptiLift_HIO_c() {}
void genMessage(JORMContext*);
/* 0x04 */ u8 mStopDisappearTime;
/* 0x05 */ u8 mStartMoveTime;
/* 0x06 */ u8 mColorAnmFrame;
+2
View File
@@ -70,6 +70,8 @@ public:
/* 80C8DA2C */ daMagLift_HIO_c();
/* 80C8E5B0 */ virtual ~daMagLift_HIO_c() {}
void genMessage(JORMContext*);
/* 0x4 */ u8 field_0x4;
/* 0x5 */ u8 field_0x5;
};
+2
View File
@@ -66,6 +66,8 @@ public:
/* 80C8E94C */ daMagLiftRot_HIO_c();
/* 80C8FA3C */ virtual ~daMagLiftRot_HIO_c();
void genMessage(JORMContext*);
/* 0x04 */ u8 mWaitTime;
/* 0x08 */ f32 mInitSpeed;
/* 0x0C */ f32 mAcceleration;
+2
View File
@@ -82,6 +82,8 @@ public:
/* 80CA85CC */ daOnsTaru_HIO_c();
/* 80CA9A78 */ virtual ~daOnsTaru_HIO_c() {}
void genMessage(JORMContext*);
/* 0x04 */ s16 mCoolTime;
/* 0x06 */ u8 mVibration;
/* 0x08 */ f32 mSmokeScale;
+2
View File
@@ -93,6 +93,8 @@ public:
/* 80CAF32C */ daPillar_HIO_c();
/* 80CB0928 */ virtual ~daPillar_HIO_c() {}
void genMessage(JORMContext*);
/* 0x04 */ daPillar_c::sdata_t mShakeData;
/* 0x10 */ u8 field_0x10[0x1C - 0x10];
/* 0x1C */ f32 field_0x1c;
+2
View File
@@ -60,6 +60,8 @@ public:
/* 80CB8E6C */ daRfHole_HIO_c();
/* 80CB99D8 */ virtual ~daRfHole_HIO_c() {}
void genMessage(JORMContext*);
/* 0x04 */ f32 field_0x04;
/* 0x08 */ f32 field_0x08;
/* 0x0C */ f32 field_0x0c;
+2
View File
@@ -73,6 +73,8 @@ public:
/* 805981EC */ daSwShutter_HIO_c();
/* 80598ECC */ virtual ~daSwShutter_HIO_c() {}
void genMessage(JORMContext*);
/* 0x04 */ f32 mInitSpeed;
/* 0x08 */ f32 mMaxSpeed;
/* 0x0C */ f32 mAcceleration;
+2
View File
@@ -49,6 +49,8 @@ struct daSaidan_HIO_c : public mDoHIO_entry_c {
/* 80CC3DAC */ daSaidan_HIO_c();
/* 80CC4478 */ virtual ~daSaidan_HIO_c() {}
void genMessage(JORMContext*);
/* 0x00 vtable */
/* 0x04 */ f32 mMaxStep;
/* 0x08 */ f32 mTargetPosX;
+2
View File
@@ -39,6 +39,8 @@ public:
/* 80CDF0AC */ daSnowEffTag_HIO_c();
/* 80CDF674 */ virtual ~daSnowEffTag_HIO_c();
void genMessage(JORMContext*);
/* 0x4 */ u8 field_0x4;
/* 0x5 */ u8 mDisplayRange;
/* 0x6 */ u8 mTop;
+2
View File
@@ -111,6 +111,8 @@ public:
/* 80D022AC */ daSyRock_HIO_c();
/* 80D03C44 */ ~daSyRock_HIO_c() {};
void genMessage(JORMContext*);
/* 0x04 */ f32 mShakeAmplitude; // "揺れ強さ" "Shake strength" | Slider
/* 0x08 */ f32 mShakeXOscillationAngle; // "振幅X" "Amplitude X" | Slider
/* 0x0C */ f32 mShakeZOscillationAngle; // "振幅Z" "Amplitude Z" | Slider
+2
View File
@@ -51,6 +51,8 @@ public:
/* 80D0E8EC */ daTimeFire_HIO_c();
/* 80D0F038 */ virtual ~daTimeFire_HIO_c() {}
void genMessage(JORMContext*);
u8 field_0x4;
};
+2
View File
@@ -41,6 +41,8 @@ public:
/* 80D1F0CC */ daTreeSh_HIO_c();
/* 80D1F81C */ virtual ~daTreeSh_HIO_c() {}
void genMessage(JORMContext*);
/* 0x4 */ s16 shake_strength;
/* 0x6 */ s16 shake_speed;
/* 0x8 */ s16 field_0x8;
-2
View File
@@ -58,9 +58,7 @@ struct daWtGate_HIO_c : public mDoHIO_entry_c {
/* 80D2BB8C */ daWtGate_HIO_c();
/* 80D2C3C0 */ ~daWtGate_HIO_c() {};
#ifdef DEBUG
void genMessage(JORMContext*);
#endif
/* 0x4 */ f32 mMaxSpeed;
/* 0x8 */ u8 field_0x8; // Modified, but never read; unused?
+2
View File
@@ -151,6 +151,8 @@ struct daWtPillar_HIO_c : public mDoHIO_entry_c {
/* 80D2C6CC */ daWtPillar_HIO_c();
/* 80D2DF34 */ ~daWtPillar_HIO_c() {};
void genMessage(JORMContext*);
/* 0x04 */ cXyz field_0x04;
/* 0x10 */ csXyz field_0x10;
/* 0x16 */ s8 mForTesting; // "----------- テスト用 ----------" "----------- For Testing ----------" | Checkbox
+2
View File
@@ -92,6 +92,8 @@ public:
/* 80D31B4C */ daWdStick_HIO_c();
/* 80D34030 */ virtual ~daWdStick_HIO_c() {}
void genMessage(JORMContext*);
/* 0x04 */ u8 field_0x04;
/* 0x05 */ u8 field_0x05;
/* 0x06 */ s16 field_0x06;
+2 -2
View File
@@ -29,7 +29,7 @@ public:
typedef struct actionFuncEntry {
actionFunc initFn;
actionFunc execFn;
};
} actionFuncEntry;
typedef struct attributes {
/* 0x00 */ f32 field_0x00;
@@ -50,7 +50,7 @@ public:
/* 0x3A */ s16 field_0x3a;
/* 0x3C */ s16 mNewLeafTickSpeed;
/* 0x3E */ s16 mPickLeafTickSpeed;
};
} attributes;
/* 8059C9F8 */ void setAction(daObjYobikusa_c::Mode_e);
/* 8059CA2C */ void callInit();
+2
View File
@@ -61,6 +61,8 @@ public:
/* 80D4056C */ daZrTurara_HIO_c();
/* 80D414BC */ ~daZrTurara_HIO_c() {}
void genMessage(JORMContext*);
/* 0x4 */ f32 mDebrisRange;
/* 0x8 */ u8 mDebrisNum;
};
+2
View File
@@ -56,6 +56,8 @@ public:
/* 80D4188C */ daZrTuraRc_HIO_c();
/* 80D422D0 */ ~daZrTuraRc_HIO_c() {}
void genMessage(JORMContext*);
/* 0x04 */ f32 field_0x04;
/* 0x08 */ f32 mGravity;
/* 0x0C */ f32 mMaxFallSpeed;
+2
View File
@@ -27,6 +27,8 @@ public:
/* 805A202C */ daTagCstaSw_HIO_c();
/* 805A2480 */ virtual ~daTagCstaSw_HIO_c();
void genMessage(JORMContext*);
u8 unk_0x4;
};
+2
View File
@@ -26,6 +26,8 @@ public:
/* 80D5B2EC */ daLv6CstaSw_HIO_c();
/* 80D5B740 */ virtual ~daLv6CstaSw_HIO_c();
void genMessage(JORMContext*);
u8 unk_0x4;
};
+2
View File
@@ -22,6 +22,8 @@ public:
/* 80D5DACC */ daTagPoFire_HIO_c();
/* 80D5DCB0 */ virtual ~daTagPoFire_HIO_c();
void genMessage(JORMContext*);
u8 unk_0x4;
};
+3 -1
View File
@@ -192,11 +192,13 @@ private:
STATIC_ASSERT(sizeof(daTbox_c) == 0xA30);
class daTbox_HIO_c : mDoHIO_entry_c {
class daTbox_HIO_c : public mDoHIO_entry_c {
public:
/* 80490D2C */ daTbox_HIO_c();
/* 804960B8 */ virtual ~daTbox_HIO_c() {}
void genMessage(JORMContext*);
/* 0x04 */ u8 mItemNo;
/* 0x05 */ u8 mUseDebugItemNo;
/* 0x06 */ u8 mClearSwitch;
+3 -1
View File
@@ -8,10 +8,12 @@
#include "d/d_com_inf_game.h"
#include "d/d_particle.h"
struct daYkgr_HIO_c : mDoHIO_entry_c {
struct daYkgr_HIO_c : public mDoHIO_entry_c {
daYkgr_HIO_c();
/* 805A8D98 */ virtual ~daYkgr_HIO_c();
void genMessage(JORMContext*);
/* 0x04 */ u8 field_0x4;
/* 0x08 */ s32 field_0x8;
/* 0x0C */ s32 field_0xc;
+2
View File
@@ -116,6 +116,8 @@ public:
/* 80075F94 */ virtual ~dBgS_Acch();
void DrawWall(dBgS&);
cXyz* GetPos() { return pm_pos; }
cXyz* GetOldPos() { return pm_old_pos; }
f32 GetGroundH() const { return m_ground_h; }
+2
View File
@@ -410,6 +410,8 @@ public:
/* 8018295C */ void footHeightOf(fopAc_ac_c*);
/* 801829AC */ cSAngle Bank() { return mBank + mShake.field_0x40; }
void debugDraw();
bool Active() { return field_0x24 == 0; }
f32 TrimHeight() { return mTrimHeight; }
int Type() { return mCurType; }
+5 -3
View File
@@ -85,11 +85,11 @@ public:
/* 80038098 */ virtual ~dDemo_actor_c();
/* 800387EC */ virtual void JSGSetData(u32, void const*, u32);
/* 8003A05C */ virtual s32 JSGFindNodeID(char const* param_0) const {
JUT_ASSERT(mModel != 0);
JUT_ASSERT(0, mModel != 0);
return mModel->getModelData()->getJointName()->getIndex(param_0);
}
/* 8003A088 */ virtual bool JSGGetNodeTransformation(u32 param_0, Mtx param_1) const {
JUT_ASSERT(mModel != 0);
JUT_ASSERT(0, mModel != 0);
cMtx_copy(mModel->getAnmMtx((u16)param_0), param_1);
return true;
}
@@ -365,14 +365,16 @@ public:
static void offStatus(u32 status) { m_status &= ~status; }
static void setBranchData(const u8* p_data) { m_branchData = p_data; }
static s16 getBranchId() { return m_branchId; }
static s16 getBranchNum() { return m_branchNum; }
static jmessage_tControl* getMesgControl() { return m_mesgControl; }
static dDemo_camera_c* getCamera() {
JUT_ASSERT(m_object != 0);
JUT_ASSERT(0, m_object != 0);
return m_object->getActiveCamera();
}
static s16 m_branchId;
static s16 m_branchNum;
static dDemo_system_c* m_system;
static JStudio::TControl* m_control;
static JStudio_JStage::TCreateObject* m_stage;
+9
View File
@@ -492,6 +492,15 @@ inline dScnKy_env_light_c* dKy_getEnvlight() {
return &g_env_light;
}
class dKankyo_HIO_c {
public:
u8 pad[0xB4];
/* 0xB4 */ u8 field_0xB4;
/* 0xB8 */ f32 field_0xB8;
};
extern dKankyo_HIO_c g_kankyoHIO;
enum dKy_dice_wether_mode {
DICE_MODE_SUNNY_e,
DICE_MODE_CLOUDY_e,
+1 -1
View File
@@ -67,7 +67,7 @@ public:
/* 8003F754 */ static void remove();
static s8 getNowStayFloorNo() {
JUT_ASSERT(mNowStayFloorNoDecisionFlg);
JUT_ASSERT(0, mNowStayFloorNoDecisionFlg);
s8 floor_no = 0;
if (mNowStayFloorNoDecisionFlg) {
+1 -1
View File
@@ -68,7 +68,7 @@ private:
/* 0x014 */ mDoDvdThd_mountArchive_c* mpMount;
/* 0x018 */ J2DScreen* mpMenuScreen;
/* 0x01C */ J2DScreen* mpMenuDMYScreen;
/* 0x020 */ J2DScreen* mpMenuBaseScreen;
/* 0x020 */ J2DScreen* mpBaseScreen;
/* 0x024 */ J2DScreen* mpSdwScreen;
/* 0x028 */ J2DScreen* mpLetterScreen[2];
/* 0x030 */ J2DScreen* mpIconScreen;
+1 -1
View File
@@ -42,7 +42,7 @@ public:
return --mCount;
}
static const int NAME_MAX = 8;
static const int NAME_MAX = 9;
private:
/* 0x00 */ char mArchiveName[11];
+2
View File
@@ -28,6 +28,8 @@ public:
class dScnPly_preLoad_HIO_c : public mDoHIO_entry_c {
public:
/* 8025ADC0 */ virtual ~dScnPly_preLoad_HIO_c() {}
void genMessage(JORMContext*);
};
class dScnPly_env_otherHIO_c {
+2 -1
View File
@@ -18,7 +18,6 @@
#define MAX_INSECT_NUM 24
#define MAX_VISIBLE_HEARTPIECES 4
#define MAX_POH_NUM 100
#define BOMB_BAG_MAX 3
#define BOTTLE_MAX 4
#define TBOX_MAX 64
#define DSV_MEMBIT_ENUM_MAX 8
@@ -320,6 +319,8 @@ public:
void setRodTypeLevelUp();
void setBaitItem(u8 i_itemNo);
static const int BOMB_BAG_MAX = 3;
private:
/* 0x00 */ u8 mItems[24];
/* 0x18 */ u8 mItemSlots[24];
+1 -1
View File
@@ -28,7 +28,7 @@ void GXBegin(GXPrimitive type, GXVtxFmt vtxfmt, u16 nverts);
static inline void GXEnd(void) {
#if DEBUG
extern GXBool __GXinBegin;
extern void OSPanic(char* file, int line, char* msg, ...);
extern void OSPanic(const char* file, int line, const char* msg, ...);
if (!__GXinBegin) {
OSPanic(__FILE__, 118, "GXEnd: called without a GXBegin");
}
+1 -1
View File
@@ -209,7 +209,7 @@ __declspec(weak) void OSVReport(const char* format, va_list list);
#define OS_REPORT(...) OSReport(__VA_ARGS__)
#define OS_WARNING(...) OSReport_Warning(__VA_ARGS__)
#define OS_REPORT_ERROR(...) OSReport_Error(__VA_ARGS__)
#define OS_PANIC(msg) OSPanic(__FILE__, __LINE__, msg)
#define OS_PANIC(line, msg) OSPanic(__FILE__, line, msg)
#else
#define OS_REPORT(...)
#define OS_WARNING(...)
+2
View File
@@ -29,6 +29,8 @@ typedef char *Ptr;
typedef int BOOL;
typedef unsigned int uint;
#define FALSE 0
#define TRUE 1
+6
View File
@@ -64,6 +64,9 @@ enum fopAc_Cull_e {
fopAc_CULLBOX_11_e,
fopAc_CULLBOX_12_e,
fopAc_CULLBOX_13_e,
#ifdef DEBUG
fopAc_CULLBOX_14_e,
#endif
fopAc_CULLBOX_CUSTOM_e,
fopAc_CULLSPHERE_0_e,
fopAc_CULLSPHERE_1_e,
@@ -79,6 +82,9 @@ enum fopAc_Cull_e {
fopAc_CULLSPHERE_11_e,
fopAc_CULLSPHERE_12_e,
fopAc_CULLSPHERE_13_e,
#ifdef DEBUG
fopAc_CULLSPHERE_14_e,
#endif
fopAc_CULLSPHERE_CUSTOM_e,
};
+6 -4
View File
@@ -29,7 +29,7 @@
"Delete -> " actor_name_str "(id=%d)\n"
#define fopAcM_RegisterCreateID(actor_class, i_this, actor_name_str) \
static_cast<actor_class*>(i_this); \
actor_class* a_this = static_cast<actor_class*>(i_this); \
const fpc_ProcID procID = fopAcM_GetID(i_this); \
"Create -> " actor_name_str "(id=%d)\n"
@@ -376,7 +376,7 @@ inline int fopAcM_GetCullSize(const fopAc_ac_c* i_actor) {
}
inline BOOL fopAcM_CULLSIZE_IS_BOX(int i_culltype) {
return (i_culltype >= 0 && i_culltype < 14) || i_culltype == 14;
return (i_culltype >= 0 && i_culltype < fopAc_CULLBOX_CUSTOM_e) || i_culltype == fopAc_CULLBOX_CUSTOM_e;
}
inline const cXyz& fopAcM_getCullSizeSphereCenter(const fopAc_ac_c* i_actor) {
@@ -757,12 +757,14 @@ inline void fopAcM_setWarningMessage_f(const fopAc_ac_c* i_actor, const char* i_
}
#ifdef DEBUG
#define fopAcM_setWarningMessage(i_actor, i_filename, i_line, i_msg, ...) \
fopAcM_setWarningMessage_f(i_actor, i_filename, i_line, i_msg, __VA_ARGS__)
#define fopAcM_setWarningMessage(i_actor, i_filename, i_line, i_msg) \
fopAcM_setWarningMessage_f(i_actor, i_filename, i_line, i_msg)
#else
#define fopAcM_setWarningMessage(...)
#endif
void fopAcM_getNameString(fopAc_ac_c*, char*);
class fopAcM_lc_c {
public:
fopAcM_lc_c() { mLineCheck.ClrSttsRoofOff(); }
+2 -2
View File
@@ -119,11 +119,11 @@ inline void mDoMtx_quatRotAxisRad(Quaternion* q, const Vec* axis, f32 rad) {
}
inline void mDoMtx_identity(Mtx m) {
MTXIdentity(m);
PSMTXIdentity(m);
}
inline void mDoMtx_concat(const Mtx a, const Mtx b, Mtx c) {
MTXConcat(a, b, c);
PSMTXConcat(a, b, c);
}
inline void mDoMtx_inverse(const Mtx a, Mtx b) {