mirror of
https://github.com/zeldaret/tp
synced 2026-05-22 22:44:28 -04:00
Misc debug include/class order improvements + link remaining Z2AudioLib TUs (#3014)
* Improve dolzel.pch ordering * Improve JSystem include order * Various class ordering fixes * Link remaining Z2AudioLib TUs * Fix some symbols in Shield and weak functions in ShieldD
This commit is contained in:
@@ -134,7 +134,11 @@ lbl_47_data_4EC = .data:0x000004EC; // type:object size:0x34
|
||||
lbl_47_data_534 = .data:0x00000534; // type:object size:0x2C
|
||||
lbl_47_data_560 = .data:0x00000560; // type:object size:0xA0
|
||||
...bss.0 = .bss:0x00000000; // type:label scope:local align:4
|
||||
effDirection$108188 = .bss:0x00000004; // type:object size:0xC scope:global align:4
|
||||
effScale0$108191 = .bss:0x00000014; // type:object size:0xC scope:global align:4
|
||||
effScaleSand$108194 = .bss:0x00000024; // type:object size:0xC scope:global align:4
|
||||
effScaleGrass$108197 = .bss:0x00000034; // type:object size:0xC scope:global align:4
|
||||
@GUARD@effDirection$49876 = .bss:0x00000000; // type:object size:0x1 scope:local align:4
|
||||
effDirection$108188 = .bss:0x00000004; // type:object size:0xC scope:local align:4
|
||||
@GUARD@effScale0$49879 = .bss:0x00000010; // type:object size:0x1 scope:local align:4
|
||||
effScale0$108191 = .bss:0x00000014; // type:object size:0xC scope:local align:4
|
||||
@GUARD@effScaleSand$49882 = .bss:0x00000020; // type:object size:0x1 scope:local align:4
|
||||
effScaleSand$108194 = .bss:0x00000024; // type:object size:0xC scope:local align:4
|
||||
@GUARD@effScaleGrass$49885 = .bss:0x00000030; // type:object size:0x1 scope:local align:4
|
||||
effScaleGrass$108197 = .bss:0x00000034; // type:object size:0xC scope:local align:4
|
||||
|
||||
@@ -132,7 +132,11 @@ lbl_47_data_4EC = .data:0x000004EC; // type:object size:0x34
|
||||
@108962 = .data:0x00000520; // type:object size:0x14 scope:local align:4
|
||||
lbl_47_data_534 = .data:0x00000534; // type:object size:0xCC
|
||||
...bss.0 = .bss:0x00000000; // type:label scope:local align:4
|
||||
@GUARD@effDirection$49876 = .bss:0x00000000; // type:object size:0x1 scope:local align:4
|
||||
effDirection$108188 = .bss:0x00000004; // type:object size:0xC scope:local align:4
|
||||
@GUARD@effScale0$49879 = .bss:0x00000010; // type:object size:0x1 scope:local align:4
|
||||
effScale0$108191 = .bss:0x00000014; // type:object size:0xC scope:local align:4
|
||||
@GUARD@effScaleSand$49882 = .bss:0x00000020; // type:object size:0x1 scope:local align:4
|
||||
effScaleSand$108194 = .bss:0x00000024; // type:object size:0xC scope:local align:4
|
||||
@GUARD@effScaleGrass$49885 = .bss:0x00000030; // type:object size:0x1 scope:local align:4
|
||||
effScaleGrass$108197 = .bss:0x00000034; // type:object size:0xC scope:local align:4
|
||||
|
||||
@@ -132,7 +132,11 @@ lbl_47_data_4EC = .data:0x000004EC; // type:object size:0x34
|
||||
@108962 = .data:0x00000520; // type:object size:0x14 scope:local align:4
|
||||
lbl_47_data_534 = .data:0x00000534; // type:object size:0xCC
|
||||
...bss.0 = .bss:0x00000000; // type:label scope:local align:4
|
||||
@GUARD@effDirection$49876 = .bss:0x00000000; // type:object size:0x1 scope:local align:4
|
||||
effDirection$108188 = .bss:0x00000004; // type:object size:0xC scope:local align:4
|
||||
@GUARD@effScale0$49879 = .bss:0x00000010; // type:object size:0x1 scope:local align:4
|
||||
effScale0$108191 = .bss:0x00000014; // type:object size:0xC scope:local align:4
|
||||
@GUARD@effScaleSand$49882 = .bss:0x00000020; // type:object size:0x1 scope:local align:4
|
||||
effScaleSand$108194 = .bss:0x00000024; // type:object size:0xC scope:local align:4
|
||||
@GUARD@effScaleGrass$49885 = .bss:0x00000030; // type:object size:0x1 scope:local align:4
|
||||
effScaleGrass$108197 = .bss:0x00000034; // type:object size:0xC scope:local align:4
|
||||
|
||||
+2
-2
@@ -1211,7 +1211,7 @@ config.libs = [
|
||||
Object(MatchingFor(ALL_GCN), "Z2AudioLib/Z2SeMgr.cpp"),
|
||||
Object(MatchingFor(ALL_GCN), "Z2AudioLib/Z2SeqMgr.cpp"),
|
||||
Object(MatchingFor(ALL_GCN), "Z2AudioLib/Z2StatusMgr.cpp"),
|
||||
Object(Equivalent, "Z2AudioLib/Z2SceneMgr.cpp"), # weak func order
|
||||
Object(MatchingFor(ALL_GCN), "Z2AudioLib/Z2SceneMgr.cpp"),
|
||||
Object(MatchingFor(ALL_GCN), "Z2AudioLib/Z2FxLineMgr.cpp"),
|
||||
Object(MatchingFor(ALL_GCN), "Z2AudioLib/Z2SoundInfo.cpp"),
|
||||
Object(MatchingFor(ALL_GCN), "Z2AudioLib/Z2Audience.cpp"),
|
||||
@@ -1222,7 +1222,7 @@ config.libs = [
|
||||
Object(MatchingFor(ALL_GCN), "Z2AudioLib/Z2EnvSeMgr.cpp"),
|
||||
Object(MatchingFor(ALL_GCN), "Z2AudioLib/Z2WolfHowlMgr.cpp"),
|
||||
Object(MatchingFor(ALL_GCN), "Z2AudioLib/Z2SpeechMgr2.cpp"),
|
||||
Object(Equivalent, "Z2AudioLib/Z2AudioMgr.cpp"), # weak func order
|
||||
Object(MatchingFor(ALL_GCN), "Z2AudioLib/Z2AudioMgr.cpp"),
|
||||
Object(NonMatching, "Z2AudioLib/Z2DebugSys.cpp"),
|
||||
Object(NonMatching, "Z2AudioLib/Z2F1TestWindow.cpp"),
|
||||
Object(NonMatching, "Z2AudioLib/Z2SoundPlayer.cpp"),
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#ifndef J3DANIMATION_H
|
||||
#define J3DANIMATION_H
|
||||
|
||||
#include "JSystem/J3DGraphAnimator/J3DJoint.h"
|
||||
#include "JSystem/J3DGraphAnimator/J3DModelData.h"
|
||||
#include "JSystem/JUtility/JUTAssert.h"
|
||||
#include "JSystem/JUtility/JUTNameTab.h"
|
||||
@@ -637,37 +638,173 @@ public:
|
||||
|
||||
/**
|
||||
* @ingroup jsystem-j3d
|
||||
*
|
||||
*
|
||||
*/
|
||||
class J3DAnmTexPattern : public J3DAnmBase {
|
||||
class J3DAnmCluster : public J3DAnmBase {
|
||||
public:
|
||||
J3DAnmTexPattern();
|
||||
void getTexNo(u16, u16*) const;
|
||||
J3DAnmCluster(s16 frameMax, f32* pWeight) : J3DAnmBase(frameMax) { mWeight = pWeight; }
|
||||
|
||||
virtual ~J3DAnmCluster() {}
|
||||
virtual s32 getKind() const { return 3; }
|
||||
virtual f32 getWeight(u16) const { return 1.0f; }
|
||||
|
||||
/* 0x0C */ f32* mWeight;
|
||||
}; // Size: 0x10
|
||||
|
||||
/**
|
||||
* @ingroup jsystem-j3d
|
||||
*
|
||||
*/
|
||||
class J3DAnmClusterFull : public J3DAnmCluster {
|
||||
public:
|
||||
J3DAnmClusterFull() : J3DAnmCluster(0, NULL) { mAnmTable = NULL; }
|
||||
|
||||
virtual ~J3DAnmClusterFull() {}
|
||||
virtual s32 getKind() const { return 12; }
|
||||
virtual f32 getWeight(u16) const;
|
||||
|
||||
/* 0x10 */ J3DAnmClusterFullTable* mAnmTable;
|
||||
};
|
||||
|
||||
/**
|
||||
* @ingroup jsystem-j3d
|
||||
*
|
||||
*/
|
||||
class J3DAnmClusterKey : public J3DAnmCluster {
|
||||
public:
|
||||
J3DAnmClusterKey() : J3DAnmCluster(0, NULL) { mAnmTable = NULL; }
|
||||
|
||||
virtual ~J3DAnmClusterKey() {}
|
||||
virtual s32 getKind() const { return 13; }
|
||||
virtual f32 getWeight(u16) const;
|
||||
|
||||
/* 0x10 */ J3DAnmClusterKeyTable* mAnmTable;
|
||||
};
|
||||
|
||||
/**
|
||||
* @ingroup jsystem-j3d
|
||||
*
|
||||
*/
|
||||
class J3DAnmVtxColor : public J3DAnmBase {
|
||||
public:
|
||||
J3DAnmVtxColor();
|
||||
|
||||
virtual ~J3DAnmVtxColor() {}
|
||||
virtual s32 getKind() const { return 7; }
|
||||
virtual void getColor(u8, u16, GXColor*) const {}
|
||||
|
||||
/* 0x0C */ u16 mAnmTableNum[2];
|
||||
/* 0x10 */ J3DAnmVtxColorIndexData* mAnmVtxColorIndexData[2];
|
||||
}; // Size: 0x18
|
||||
|
||||
/**
|
||||
* @ingroup jsystem-j3d
|
||||
*
|
||||
*/
|
||||
class J3DAnmVtxColorFull : public J3DAnmVtxColor {
|
||||
public:
|
||||
J3DAnmVtxColorFull();
|
||||
|
||||
virtual ~J3DAnmVtxColorFull() {}
|
||||
virtual s32 getKind() const { return 14; }
|
||||
virtual void getColor(u8, u16, GXColor*) const;
|
||||
|
||||
/* 0x18 */ J3DAnmColorFullTable* mpTable[2];
|
||||
/* 0x20 */ u8* mColorR;
|
||||
/* 0x24 */ u8* mColorG;
|
||||
/* 0x28 */ u8* mColorB;
|
||||
/* 0x2C */ u8* mColorA;
|
||||
};
|
||||
|
||||
/**
|
||||
* @ingroup jsystem-j3d
|
||||
*
|
||||
*/
|
||||
class J3DAnmVtxColorKey : public J3DAnmVtxColor {
|
||||
public:
|
||||
J3DAnmVtxColorKey();
|
||||
|
||||
virtual ~J3DAnmVtxColorKey() {}
|
||||
virtual s32 getKind() const { return 15; }
|
||||
virtual void getColor(u8, u16, GXColor*) const;
|
||||
|
||||
/* 0x18 */ J3DAnmColorKeyTable* mpTable[2];
|
||||
/* 0x20 */ s16* mColorR;
|
||||
/* 0x24 */ s16* mColorG;
|
||||
/* 0x28 */ s16* mColorB;
|
||||
/* 0x2C */ s16* mColorA;
|
||||
};
|
||||
|
||||
/**
|
||||
* @ingroup jsystem-j3d
|
||||
*
|
||||
*/
|
||||
class J3DAnmColor : public J3DAnmBase {
|
||||
public:
|
||||
J3DAnmColor();
|
||||
void searchUpdateMaterialID(J3DMaterialTable*);
|
||||
void searchUpdateMaterialID(J3DModelData*);
|
||||
|
||||
virtual ~J3DAnmTexPattern() {}
|
||||
virtual s32 getKind() const { return 2; }
|
||||
virtual ~J3DAnmColor() {}
|
||||
virtual s32 getKind() const { return 1; }
|
||||
virtual void getColor(u16, GXColor*) const {}
|
||||
|
||||
u16 getUpdateMaterialID(u16 idx) const {
|
||||
J3D_ASSERT_RANGE(2288, idx < mUpdateMaterialNum);
|
||||
return mUpdateMaterialID[idx];
|
||||
}
|
||||
u16 getUpdateMaterialNum() const { return mUpdateMaterialNum; }
|
||||
bool isValidUpdateMaterialID(u16 id) const { return mUpdateMaterialID[id] != 0xFFFF; }
|
||||
J3DAnmTexPatternFullTable* getAnmTable() { return mAnmTable; }
|
||||
u16 getUpdateMaterialID(u16 idx) const {
|
||||
J3D_ASSERT_RANGE(1578, idx < mUpdateMaterialNum);
|
||||
return mUpdateMaterialID[idx];
|
||||
}
|
||||
|
||||
/* 0x0C */ u16* mTextureIndex;
|
||||
/* 0x10 */ J3DAnmTexPatternFullTable* mAnmTable;
|
||||
/* 0x14 */ u16 field_0x14;
|
||||
/* 0x16 */ u16 mUpdateMaterialNum;
|
||||
/* 0x0C */ u16 field_0xc;
|
||||
/* 0x0E */ u16 field_0xe;
|
||||
/* 0x10 */ u16 field_0x10;
|
||||
/* 0x12 */ u16 field_0x12;
|
||||
/* 0x14 */ u16 mUpdateMaterialNum;
|
||||
/* 0x18 */ u16* mUpdateMaterialID;
|
||||
/* 0x1C */ JUTNameTab mUpdateMaterialName;
|
||||
}; // Size: 0x2C
|
||||
|
||||
/**
|
||||
* @ingroup jsystem-j3d
|
||||
*
|
||||
*
|
||||
*/
|
||||
class J3DAnmColorFull : public J3DAnmColor {
|
||||
public:
|
||||
J3DAnmColorFull();
|
||||
|
||||
virtual ~J3DAnmColorFull() {}
|
||||
virtual s32 getKind() const { return 10; }
|
||||
virtual void getColor(u16, GXColor*) const;
|
||||
|
||||
/* 0x2C */ u8* mColorR;
|
||||
/* 0x30 */ u8* mColorG;
|
||||
/* 0x34 */ u8* mColorB;
|
||||
/* 0x38 */ u8* mColorA;
|
||||
/* 0x3C */ J3DAnmColorFullTable* mAnmTable;
|
||||
};
|
||||
|
||||
/**
|
||||
* @ingroup jsystem-j3d
|
||||
*
|
||||
*/
|
||||
class J3DAnmColorKey : public J3DAnmColor {
|
||||
public:
|
||||
J3DAnmColorKey();
|
||||
|
||||
virtual ~J3DAnmColorKey() {}
|
||||
virtual s32 getKind() const { return 11; }
|
||||
virtual void getColor(u16, GXColor*) const;
|
||||
|
||||
/* 0x2C */ s16* mColorR;
|
||||
/* 0x30 */ s16* mColorG;
|
||||
/* 0x34 */ s16* mColorB;
|
||||
/* 0x38 */ s16* mColorA;
|
||||
/* 0x3C */ J3DAnmColorKeyTable* mAnmTable;
|
||||
};
|
||||
|
||||
/**
|
||||
* @ingroup jsystem-j3d
|
||||
*
|
||||
*/
|
||||
class J3DAnmTevRegKey : public J3DAnmBase {
|
||||
public:
|
||||
@@ -726,170 +863,34 @@ public:
|
||||
|
||||
/**
|
||||
* @ingroup jsystem-j3d
|
||||
*
|
||||
*
|
||||
*/
|
||||
class J3DAnmColor : public J3DAnmBase {
|
||||
class J3DAnmTexPattern : public J3DAnmBase {
|
||||
public:
|
||||
J3DAnmColor();
|
||||
J3DAnmTexPattern();
|
||||
void getTexNo(u16, u16*) const;
|
||||
void searchUpdateMaterialID(J3DMaterialTable*);
|
||||
void searchUpdateMaterialID(J3DModelData*);
|
||||
|
||||
virtual ~J3DAnmColor() {}
|
||||
virtual s32 getKind() const { return 1; }
|
||||
virtual void getColor(u16, GXColor*) const {}
|
||||
virtual ~J3DAnmTexPattern() {}
|
||||
virtual s32 getKind() const { return 2; }
|
||||
|
||||
u16 getUpdateMaterialNum() const { return mUpdateMaterialNum; }
|
||||
bool isValidUpdateMaterialID(u16 id) const { return mUpdateMaterialID[id] != 0xFFFF; }
|
||||
u16 getUpdateMaterialID(u16 idx) const {
|
||||
J3D_ASSERT_RANGE(1578, idx < mUpdateMaterialNum);
|
||||
u16 getUpdateMaterialID(u16 idx) const {
|
||||
J3D_ASSERT_RANGE(2288, idx < mUpdateMaterialNum);
|
||||
return mUpdateMaterialID[idx];
|
||||
}
|
||||
u16 getUpdateMaterialNum() const { return mUpdateMaterialNum; }
|
||||
bool isValidUpdateMaterialID(u16 id) const { return mUpdateMaterialID[id] != 0xFFFF; }
|
||||
J3DAnmTexPatternFullTable* getAnmTable() { return mAnmTable; }
|
||||
|
||||
/* 0x0C */ u16 field_0xc;
|
||||
/* 0x0E */ u16 field_0xe;
|
||||
/* 0x10 */ u16 field_0x10;
|
||||
/* 0x12 */ u16 field_0x12;
|
||||
/* 0x14 */ u16 mUpdateMaterialNum;
|
||||
/* 0x0C */ u16* mTextureIndex;
|
||||
/* 0x10 */ J3DAnmTexPatternFullTable* mAnmTable;
|
||||
/* 0x14 */ u16 field_0x14;
|
||||
/* 0x16 */ u16 mUpdateMaterialNum;
|
||||
/* 0x18 */ u16* mUpdateMaterialID;
|
||||
/* 0x1C */ JUTNameTab mUpdateMaterialName;
|
||||
}; // Size: 0x2C
|
||||
|
||||
/**
|
||||
* @ingroup jsystem-j3d
|
||||
*
|
||||
*/
|
||||
class J3DAnmColorKey : public J3DAnmColor {
|
||||
public:
|
||||
J3DAnmColorKey();
|
||||
|
||||
virtual ~J3DAnmColorKey() {}
|
||||
virtual s32 getKind() const { return 11; }
|
||||
virtual void getColor(u16, GXColor*) const;
|
||||
|
||||
/* 0x2C */ s16* mColorR;
|
||||
/* 0x30 */ s16* mColorG;
|
||||
/* 0x34 */ s16* mColorB;
|
||||
/* 0x38 */ s16* mColorA;
|
||||
/* 0x3C */ J3DAnmColorKeyTable* mAnmTable;
|
||||
};
|
||||
|
||||
/**
|
||||
* @ingroup jsystem-j3d
|
||||
*
|
||||
*/
|
||||
class J3DAnmColorFull : public J3DAnmColor {
|
||||
public:
|
||||
J3DAnmColorFull();
|
||||
|
||||
virtual ~J3DAnmColorFull() {}
|
||||
virtual s32 getKind() const { return 10; }
|
||||
virtual void getColor(u16, GXColor*) const;
|
||||
|
||||
/* 0x2C */ u8* mColorR;
|
||||
/* 0x30 */ u8* mColorG;
|
||||
/* 0x34 */ u8* mColorB;
|
||||
/* 0x38 */ u8* mColorA;
|
||||
/* 0x3C */ J3DAnmColorFullTable* mAnmTable;
|
||||
};
|
||||
|
||||
/**
|
||||
* @ingroup jsystem-j3d
|
||||
*
|
||||
*/
|
||||
class J3DAnmVtxColor : public J3DAnmBase {
|
||||
public:
|
||||
J3DAnmVtxColor();
|
||||
|
||||
virtual ~J3DAnmVtxColor() {}
|
||||
virtual s32 getKind() const { return 7; }
|
||||
virtual void getColor(u8, u16, GXColor*) const {}
|
||||
|
||||
/* 0x0C */ u16 mAnmTableNum[2];
|
||||
/* 0x10 */ J3DAnmVtxColorIndexData* mAnmVtxColorIndexData[2];
|
||||
}; // Size: 0x18
|
||||
|
||||
/**
|
||||
* @ingroup jsystem-j3d
|
||||
*
|
||||
*/
|
||||
class J3DAnmVtxColorKey : public J3DAnmVtxColor {
|
||||
public:
|
||||
J3DAnmVtxColorKey();
|
||||
|
||||
virtual ~J3DAnmVtxColorKey() {}
|
||||
virtual s32 getKind() const { return 15; }
|
||||
virtual void getColor(u8, u16, GXColor*) const;
|
||||
|
||||
/* 0x18 */ J3DAnmColorKeyTable* mpTable[2];
|
||||
/* 0x20 */ s16* mColorR;
|
||||
/* 0x24 */ s16* mColorG;
|
||||
/* 0x28 */ s16* mColorB;
|
||||
/* 0x2C */ s16* mColorA;
|
||||
};
|
||||
|
||||
/**
|
||||
* @ingroup jsystem-j3d
|
||||
*
|
||||
*/
|
||||
class J3DAnmVtxColorFull : public J3DAnmVtxColor {
|
||||
public:
|
||||
J3DAnmVtxColorFull();
|
||||
|
||||
virtual ~J3DAnmVtxColorFull() {}
|
||||
virtual s32 getKind() const { return 14; }
|
||||
virtual void getColor(u8, u16, GXColor*) const;
|
||||
|
||||
/* 0x18 */ J3DAnmColorFullTable* mpTable[2];
|
||||
/* 0x20 */ u8* mColorR;
|
||||
/* 0x24 */ u8* mColorG;
|
||||
/* 0x28 */ u8* mColorB;
|
||||
/* 0x2C */ u8* mColorA;
|
||||
};
|
||||
|
||||
/**
|
||||
* @ingroup jsystem-j3d
|
||||
*
|
||||
*/
|
||||
class J3DAnmCluster : public J3DAnmBase {
|
||||
public:
|
||||
J3DAnmCluster(s16 frameMax, f32* pWeight) : J3DAnmBase(frameMax) { mWeight = pWeight; }
|
||||
|
||||
virtual ~J3DAnmCluster() {}
|
||||
virtual s32 getKind() const { return 3; }
|
||||
virtual f32 getWeight(u16) const { return 1.0f; }
|
||||
|
||||
/* 0x0C */ f32* mWeight;
|
||||
}; // Size: 0x10
|
||||
|
||||
/**
|
||||
* @ingroup jsystem-j3d
|
||||
*
|
||||
*/
|
||||
class J3DAnmClusterFull : public J3DAnmCluster {
|
||||
public:
|
||||
J3DAnmClusterFull() : J3DAnmCluster(0, NULL) { mAnmTable = NULL; }
|
||||
|
||||
virtual ~J3DAnmClusterFull() {}
|
||||
virtual s32 getKind() const { return 12; }
|
||||
virtual f32 getWeight(u16) const;
|
||||
|
||||
/* 0x10 */ J3DAnmClusterFullTable* mAnmTable;
|
||||
};
|
||||
|
||||
/**
|
||||
* @ingroup jsystem-j3d
|
||||
*
|
||||
*/
|
||||
class J3DAnmClusterKey : public J3DAnmCluster {
|
||||
public:
|
||||
J3DAnmClusterKey() : J3DAnmCluster(0, NULL) { mAnmTable = NULL; }
|
||||
|
||||
virtual ~J3DAnmClusterKey() {}
|
||||
virtual s32 getKind() const { return 13; }
|
||||
virtual f32 getWeight(u16) const;
|
||||
|
||||
/* 0x10 */ J3DAnmClusterKeyTable* mAnmTable;
|
||||
};
|
||||
|
||||
/**
|
||||
* @ingroup jsystem-j3d
|
||||
*
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
#define J3DJOINT_H
|
||||
|
||||
#include "JSystem/J3DGraphBase/J3DTransform.h"
|
||||
#include "JSystem/J3DGraphBase/J3DSys.h"
|
||||
#include "JSystem/J3DGraphBase/J3DMaterial.h"
|
||||
|
||||
class J3DAnmTransform;
|
||||
@@ -146,17 +145,6 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* @ingroup jsystem-j3d
|
||||
*
|
||||
*/
|
||||
struct J3DMtxCalcJ3DSysInitSoftimage {
|
||||
static void init(const Vec& param_0, const Mtx& param_1) {
|
||||
J3DSys::mCurrentS = param_0;
|
||||
MTXCopy(param_1, J3DSys::mCurrentMtx);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* @ingroup jsystem-j3d
|
||||
*
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
#ifndef J3DJOINTTREE_H
|
||||
#define J3DJOINTTREE_H
|
||||
|
||||
#include "JSystem/J3DGraphAnimator/J3DJoint.h"
|
||||
#include "JSystem/J3DGraphBase/J3DTransform.h"
|
||||
|
||||
class J3DJoint;
|
||||
class J3DMtxBuffer;
|
||||
class J3DMtxCalc;
|
||||
class JUTNameTab;
|
||||
|
||||
/**
|
||||
|
||||
@@ -2,10 +2,8 @@
|
||||
#define J3DMODELDATA_H
|
||||
|
||||
#include "JSystem/J3DGraphAnimator/J3DJointTree.h"
|
||||
#include "JSystem/J3DGraphBase/J3DMaterial.h"
|
||||
#include "JSystem/J3DGraphAnimator/J3DMaterialAttach.h"
|
||||
#include "JSystem/J3DGraphAnimator/J3DShapeTable.h"
|
||||
#include "JSystem/J3DGraphBase/J3DSys.h"
|
||||
#include "JSystem/J3DGraphBase/J3DVertex.h"
|
||||
|
||||
class JUTNameTab;
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define J3DMTXBUFFER_H
|
||||
|
||||
#include "JSystem/J3DGraphAnimator/J3DModelData.h"
|
||||
#include "JSystem/J3DGraphBase/J3DEnum.h"
|
||||
|
||||
class J3DModelData;
|
||||
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
#ifndef J3DSHAPETABLE_H
|
||||
#define J3DSHAPETABLE_H
|
||||
|
||||
#include "JSystem/J3DGraphBase/J3DShape.h"
|
||||
#include "JSystem/JUtility/JUTAssert.h"
|
||||
|
||||
class J3DVertexData;
|
||||
struct J3DDrawMtxData;
|
||||
class J3DShape;
|
||||
class JUTNameTab;
|
||||
|
||||
/**
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
#ifndef J3DENUM_H
|
||||
#define J3DENUM_H
|
||||
|
||||
enum J3DError {
|
||||
kJ3DError_Success = 0,
|
||||
kJ3DError_Alloc = 4,
|
||||
};
|
||||
|
||||
#endif /* J3DENUM_H */
|
||||
@@ -1,8 +1,11 @@
|
||||
#ifndef J3DPACKET_H
|
||||
#define J3DPACKET_H
|
||||
|
||||
#include "JSystem/J3DAssert.h"
|
||||
#include "JSystem/J3DGraphBase/J3DSys.h"
|
||||
#include "JSystem/J3DGraphBase/J3DEnum.h"
|
||||
#include "dolphin/gd/GDBase.h"
|
||||
#include "dolphin/mtx.h"
|
||||
#include <stdint>
|
||||
|
||||
class J3DMatPacket;
|
||||
|
||||
@@ -58,7 +58,31 @@ typedef void (J3DShapeMtxConcatView::*J3DShapeMtxConcatView_LoadFunc)(int, u16)
|
||||
|
||||
/**
|
||||
* @ingroup jsystem-j3d
|
||||
*
|
||||
*
|
||||
*/
|
||||
class J3DShapeMtxMulti : public J3DShapeMtx {
|
||||
public:
|
||||
J3DShapeMtxMulti(u16 useMtxIndex, u16 useMtxNum, u16* useMtxIndexTable)
|
||||
: J3DShapeMtx(useMtxIndex)
|
||||
, mUseMtxNum(useMtxNum)
|
||||
, mUseMtxIndexTable(useMtxIndexTable)
|
||||
{}
|
||||
|
||||
virtual ~J3DShapeMtxMulti() {}
|
||||
virtual u32 getType() const { return 'SMML'; }
|
||||
virtual u16 getUseMtxNum() const { return mUseMtxNum; }
|
||||
virtual u16 getUseMtxIndex(u16 no) const { return mUseMtxIndexTable[no]; }
|
||||
virtual void load() const;
|
||||
virtual void calcNBTScale(Vec const&, f32 (*)[3][3], f32 (*)[3][3]);
|
||||
|
||||
private:
|
||||
/* 0x8 */ u16 mUseMtxNum;
|
||||
/* 0xC */ u16* mUseMtxIndexTable;
|
||||
};
|
||||
|
||||
/**
|
||||
* @ingroup jsystem-j3d
|
||||
*
|
||||
*/
|
||||
class J3DShapeMtxConcatView : public J3DShapeMtx {
|
||||
public:
|
||||
@@ -83,60 +107,6 @@ public:
|
||||
static MtxP sMtxPtrTbl[2];
|
||||
};
|
||||
|
||||
/**
|
||||
* @ingroup jsystem-j3d
|
||||
*
|
||||
*/
|
||||
class J3DShapeMtxYBBoardConcatView : public J3DShapeMtxConcatView {
|
||||
public:
|
||||
J3DShapeMtxYBBoardConcatView(u16 useMtxIndex)
|
||||
: J3DShapeMtxConcatView(useMtxIndex)
|
||||
{}
|
||||
|
||||
virtual ~J3DShapeMtxYBBoardConcatView() {}
|
||||
virtual u32 getType() const { return 'SMYB'; }
|
||||
virtual void load() const;
|
||||
};
|
||||
|
||||
/**
|
||||
* @ingroup jsystem-j3d
|
||||
*
|
||||
*/
|
||||
class J3DShapeMtxBBoardConcatView : public J3DShapeMtxConcatView {
|
||||
public:
|
||||
J3DShapeMtxBBoardConcatView(u16 useMtxIndex)
|
||||
: J3DShapeMtxConcatView(useMtxIndex)
|
||||
{}
|
||||
|
||||
virtual ~J3DShapeMtxBBoardConcatView() {}
|
||||
virtual u32 getType() const { return 'SMBB'; }
|
||||
virtual void load() const;
|
||||
};
|
||||
|
||||
/**
|
||||
* @ingroup jsystem-j3d
|
||||
*
|
||||
*/
|
||||
class J3DShapeMtxMulti : public J3DShapeMtx {
|
||||
public:
|
||||
J3DShapeMtxMulti(u16 useMtxIndex, u16 useMtxNum, u16* useMtxIndexTable)
|
||||
: J3DShapeMtx(useMtxIndex)
|
||||
, mUseMtxNum(useMtxNum)
|
||||
, mUseMtxIndexTable(useMtxIndexTable)
|
||||
{}
|
||||
|
||||
virtual ~J3DShapeMtxMulti() {}
|
||||
virtual u32 getType() const { return 'SMML'; }
|
||||
virtual u16 getUseMtxNum() const { return mUseMtxNum; }
|
||||
virtual u16 getUseMtxIndex(u16 no) const { return mUseMtxIndexTable[no]; }
|
||||
virtual void load() const;
|
||||
virtual void calcNBTScale(Vec const&, f32 (*)[3][3], f32 (*)[3][3]);
|
||||
|
||||
private:
|
||||
/* 0x8 */ u16 mUseMtxNum;
|
||||
/* 0xC */ u16* mUseMtxIndexTable;
|
||||
};
|
||||
|
||||
/**
|
||||
* @ingroup jsystem-j3d
|
||||
*
|
||||
@@ -162,4 +132,34 @@ private:
|
||||
/* 0xC */ u16* mUseMtxIndexTable;
|
||||
};
|
||||
|
||||
/**
|
||||
* @ingroup jsystem-j3d
|
||||
*
|
||||
*/
|
||||
class J3DShapeMtxBBoardConcatView : public J3DShapeMtxConcatView {
|
||||
public:
|
||||
J3DShapeMtxBBoardConcatView(u16 useMtxIndex)
|
||||
: J3DShapeMtxConcatView(useMtxIndex)
|
||||
{}
|
||||
|
||||
virtual ~J3DShapeMtxBBoardConcatView() {}
|
||||
virtual u32 getType() const { return 'SMBB'; }
|
||||
virtual void load() const;
|
||||
};
|
||||
|
||||
/**
|
||||
* @ingroup jsystem-j3d
|
||||
*
|
||||
*/
|
||||
class J3DShapeMtxYBBoardConcatView : public J3DShapeMtxConcatView {
|
||||
public:
|
||||
J3DShapeMtxYBBoardConcatView(u16 useMtxIndex)
|
||||
: J3DShapeMtxConcatView(useMtxIndex)
|
||||
{}
|
||||
|
||||
virtual ~J3DShapeMtxYBBoardConcatView() {}
|
||||
virtual u32 getType() const { return 'SMYB'; }
|
||||
virtual void load() const;
|
||||
};
|
||||
|
||||
#endif /* J3DSHAPEMTX_H */
|
||||
|
||||
@@ -5,12 +5,6 @@
|
||||
#include <dolphin/mtx.h>
|
||||
#include "JSystem/J3DAssert.h"
|
||||
|
||||
// Perhaps move to a new J3DEnum.h?
|
||||
enum J3DError {
|
||||
kJ3DError_Success = 0,
|
||||
kJ3DError_Alloc = 4,
|
||||
};
|
||||
|
||||
enum J3DSysDrawBuf {
|
||||
/* 0x0 */ J3DSysDrawBuf_Opa,
|
||||
/* 0x1 */ J3DSysDrawBuf_Xlu,
|
||||
|
||||
@@ -29,11 +29,11 @@ public:
|
||||
|
||||
ResTIMG* getResTIMG(u16 index) const {
|
||||
J3D_ASSERT_RANGE(72, index < mNum);
|
||||
return &mpRes[index];
|
||||
return &mpRes[index];
|
||||
}
|
||||
|
||||
void setResTIMG(u16 index, const ResTIMG& timg) {
|
||||
JUT_ASSERT_MSG(81, (bool)(index < mNum), "Error : range over.");
|
||||
J3D_ASSERT_RANGE(81, index < mNum);
|
||||
mpRes[index] = timg;
|
||||
mpRes[index].imageOffset = ((mpRes[index].imageOffset + (uintptr_t)&timg - (uintptr_t)(mpRes + index)));
|
||||
mpRes[index].paletteOffset = ((mpRes[index].paletteOffset + (uintptr_t)&timg - (uintptr_t)(mpRes + index)));
|
||||
|
||||
@@ -1,7 +1,30 @@
|
||||
#ifndef J3DANMLOADER_H
|
||||
#define J3DANMLOADER_H
|
||||
|
||||
#include "JSystem/J3DGraphAnimator/J3DAnimation.h"
|
||||
class J3DAnmClusterFull;
|
||||
struct J3DAnmClusterFullData;
|
||||
class J3DAnmClusterKey;
|
||||
struct J3DAnmClusterKeyData;
|
||||
class J3DAnmColorFull;
|
||||
struct J3DAnmColorFullData;
|
||||
class J3DAnmColorKey;
|
||||
struct J3DAnmColorKeyData;
|
||||
class J3DAnmTevRegKey;
|
||||
struct J3DAnmTevRegKeyData;
|
||||
class J3DAnmTexPattern;
|
||||
struct J3DAnmTexPatternFullData;
|
||||
class J3DAnmTextureSRTKey;
|
||||
struct J3DAnmTextureSRTKeyData;
|
||||
class J3DAnmTransformFull;
|
||||
struct J3DAnmTransformFullData;
|
||||
class J3DAnmTransformKey;
|
||||
struct J3DAnmTransformKeyData;
|
||||
class J3DAnmVisibilityFull;
|
||||
struct J3DAnmVisibilityFullData;
|
||||
class J3DAnmVtxColorFull;
|
||||
struct J3DAnmVtxColorFullData;
|
||||
class J3DAnmVtxColorKey;
|
||||
struct J3DAnmVtxColorKeyData;
|
||||
|
||||
enum J3DAnmLoaderDataBaseFlag {
|
||||
J3DLOADER_UNK_FLAG0,
|
||||
@@ -28,29 +51,6 @@ public:
|
||||
virtual ~J3DAnmLoader() {}
|
||||
};
|
||||
|
||||
class J3DAnmKeyLoader_v15 : public J3DAnmLoader {
|
||||
public:
|
||||
J3DAnmKeyLoader_v15();
|
||||
void readAnmTransform(J3DAnmTransformKeyData const*);
|
||||
void setAnmTransform(J3DAnmTransformKey*, J3DAnmTransformKeyData const*);
|
||||
void readAnmTextureSRT(J3DAnmTextureSRTKeyData const*);
|
||||
void setAnmTextureSRT(J3DAnmTextureSRTKey*, J3DAnmTextureSRTKeyData const*);
|
||||
void readAnmColor(J3DAnmColorKeyData const*);
|
||||
void setAnmColor(J3DAnmColorKey*, J3DAnmColorKeyData const*);
|
||||
void readAnmCluster(J3DAnmClusterKeyData const*);
|
||||
void setAnmCluster(J3DAnmClusterKey*, J3DAnmClusterKeyData const*);
|
||||
void readAnmTevReg(J3DAnmTevRegKeyData const*);
|
||||
void setAnmTevReg(J3DAnmTevRegKey*, J3DAnmTevRegKeyData const*);
|
||||
void readAnmVtxColor(J3DAnmVtxColorKeyData const*);
|
||||
void setAnmVtxColor(J3DAnmVtxColorKey*, J3DAnmVtxColorKeyData const*);
|
||||
|
||||
virtual J3DAnmBase* load(void const*);
|
||||
virtual void setResource(J3DAnmBase*, void const*);
|
||||
virtual ~J3DAnmKeyLoader_v15();
|
||||
|
||||
/* 0x4 */ J3DAnmBase* mAnm;
|
||||
};
|
||||
|
||||
class J3DAnmFullLoader_v15 : public J3DAnmLoader {
|
||||
public:
|
||||
J3DAnmFullLoader_v15();
|
||||
@@ -74,4 +74,27 @@ public:
|
||||
/* 0x4 */ J3DAnmBase* mAnm;
|
||||
};
|
||||
|
||||
class J3DAnmKeyLoader_v15 : public J3DAnmLoader {
|
||||
public:
|
||||
J3DAnmKeyLoader_v15();
|
||||
void readAnmTransform(J3DAnmTransformKeyData const*);
|
||||
void setAnmTransform(J3DAnmTransformKey*, J3DAnmTransformKeyData const*);
|
||||
void readAnmTextureSRT(J3DAnmTextureSRTKeyData const*);
|
||||
void setAnmTextureSRT(J3DAnmTextureSRTKey*, J3DAnmTextureSRTKeyData const*);
|
||||
void readAnmColor(J3DAnmColorKeyData const*);
|
||||
void setAnmColor(J3DAnmColorKey*, J3DAnmColorKeyData const*);
|
||||
void readAnmCluster(J3DAnmClusterKeyData const*);
|
||||
void setAnmCluster(J3DAnmClusterKey*, J3DAnmClusterKeyData const*);
|
||||
void readAnmTevReg(J3DAnmTevRegKeyData const*);
|
||||
void setAnmTevReg(J3DAnmTevRegKey*, J3DAnmTevRegKeyData const*);
|
||||
void readAnmVtxColor(J3DAnmVtxColorKeyData const*);
|
||||
void setAnmVtxColor(J3DAnmVtxColorKey*, J3DAnmVtxColorKeyData const*);
|
||||
|
||||
virtual J3DAnmBase* load(void const*);
|
||||
virtual void setResource(J3DAnmBase*, void const*);
|
||||
virtual ~J3DAnmKeyLoader_v15();
|
||||
|
||||
/* 0x4 */ J3DAnmBase* mAnm;
|
||||
};
|
||||
|
||||
#endif /* J3DANMLOADER_H */
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#ifndef J3DMODELLOADER_H
|
||||
#define J3DMODELLOADER_H
|
||||
|
||||
#include "JSystem/J3DGraphBase/J3DSys.h"
|
||||
#include "dolphin/mtx.h"
|
||||
|
||||
class J3DModelData;
|
||||
@@ -301,17 +302,6 @@ public:
|
||||
/* 0x1A */ u16 mEnvelopeSize;
|
||||
};
|
||||
|
||||
/**
|
||||
* @ingroup jsystem-j3d
|
||||
*
|
||||
*/
|
||||
class J3DModelLoader_v21 : public J3DModelLoader {
|
||||
public:
|
||||
~J3DModelLoader_v21() {}
|
||||
void readMaterial_v21(J3DMaterialBlock_v21 const*, u32);
|
||||
void readMaterialTable_v21(J3DMaterialBlock_v21 const*, u32);
|
||||
};
|
||||
|
||||
/**
|
||||
* @ingroup jsystem-j3d
|
||||
*
|
||||
@@ -325,6 +315,17 @@ public:
|
||||
u32 calcSizeMaterialTable(J3DMaterialBlock const*, u32);
|
||||
};
|
||||
|
||||
/**
|
||||
* @ingroup jsystem-j3d
|
||||
*
|
||||
*/
|
||||
class J3DModelLoader_v21 : public J3DModelLoader {
|
||||
public:
|
||||
~J3DModelLoader_v21() {}
|
||||
void readMaterial_v21(J3DMaterialBlock_v21 const*, u32);
|
||||
void readMaterialTable_v21(J3DMaterialBlock_v21 const*, u32);
|
||||
};
|
||||
|
||||
/**
|
||||
* @ingroup jsystem-j3d
|
||||
*
|
||||
@@ -334,4 +335,15 @@ public:
|
||||
static J3DModelData* load(void const* i_data, u32 i_flags);
|
||||
};
|
||||
|
||||
/**
|
||||
* @ingroup jsystem-j3d
|
||||
*
|
||||
*/
|
||||
struct J3DMtxCalcJ3DSysInitSoftimage {
|
||||
static void init(const Vec& param_0, const Mtx& param_1) {
|
||||
J3DSys::mCurrentS = param_0;
|
||||
MTXCopy(param_1, J3DSys::mCurrentMtx);
|
||||
}
|
||||
};
|
||||
|
||||
#endif /* J3DMODELLOADER_H */
|
||||
|
||||
@@ -334,7 +334,7 @@ template <typename T> JASMemPool<T> JASPoolAllocObject<T>::memPool_;
|
||||
|
||||
/**
|
||||
* @ingroup jsystem-jaudio
|
||||
*
|
||||
*
|
||||
*/
|
||||
template <typename T>
|
||||
class JASMemPool_MultiThreaded : public JASGenericMemPool {
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
#ifndef JSYSTEM_PCH
|
||||
#define JSYSTEM_PCH
|
||||
|
||||
#include "JSystem/JSupport/JSUList.h"
|
||||
#include "JSystem/J3DGraphAnimator/J3DMaterialAttach.h"
|
||||
#include "JSystem/J3DGraphBase/J3DPacket.h"
|
||||
#include "JSystem/J3DGraphBase/J3DShape.h"
|
||||
#include "JSystem/JSupport/JSUList.h"
|
||||
|
||||
#endif // JSYSTEM_PCH
|
||||
|
||||
+117
-118
@@ -51,6 +51,122 @@ BOOL daNpcF_chkPassed(cXyz i_pos, dPnt* i_points, u16 i_idx, u16 i_num, BOOL i_i
|
||||
BOOL i_isReversed);
|
||||
BOOL daNpcF_chkDoBtnEqSpeak(fopAc_ac_c* i_actor_p);
|
||||
|
||||
class daNpcF_SPCurve_c {
|
||||
private:
|
||||
/* 0x00 */ u16 mNurbs;
|
||||
/* 0x02 */ u16 field_0x02;
|
||||
/* 0x04 */ u8 mIsReversed;
|
||||
/* 0x05 */ u8 mIsClosed;
|
||||
/* 0x08 */ dPnt mPoints[96];
|
||||
|
||||
public:
|
||||
void initialize(dPath*, int);
|
||||
|
||||
daNpcF_SPCurve_c() {
|
||||
initialize(NULL, 0);
|
||||
}
|
||||
|
||||
virtual ~daNpcF_SPCurve_c() {}
|
||||
}; // Size: 0x60C
|
||||
|
||||
class daNpcF_Path_c {
|
||||
protected:
|
||||
/* 0x00 */ u16 mIdx;
|
||||
/* 0x02 */ u8 mIsReversed;
|
||||
/* 0x03 */ u8 mIsClosed;
|
||||
/* 0x04 */ dPath* mPathInfo;
|
||||
/* 0x08 */ f32 mRange;
|
||||
/* 0x0C */ f32 mPosDst;
|
||||
/* 0x10 */ f32 field_0x10;
|
||||
/* 0x14 */ cXyz mPosition;
|
||||
/* 0x20 */ daNpcF_SPCurve_c mSPCurve;
|
||||
|
||||
public:
|
||||
void initialize();
|
||||
int setPathInfo(u8, s8, u8);
|
||||
BOOL chkPassed(cXyz);
|
||||
BOOL chkPassedDst(cXyz);
|
||||
void reverse();
|
||||
BOOL setNextIdx();
|
||||
int getNextIdx();
|
||||
int getBeforeIdx();
|
||||
BOOL getBeforePos(cXyz&);
|
||||
BOOL getNextPos(cXyz&);
|
||||
BOOL getDstPos(cXyz, cXyz&);
|
||||
void setNextIdxDst(cXyz);
|
||||
|
||||
daNpcF_Path_c() {
|
||||
initialize();
|
||||
}
|
||||
|
||||
virtual ~daNpcF_Path_c() {}
|
||||
|
||||
int getIdx() { return mIdx; };
|
||||
void setIdx(int i_idx) { mIdx = i_idx; }
|
||||
int getArg0() { return mPathInfo->m_points[mIdx].mArg0; }
|
||||
u8 getArg0(int i_idx) { return mPathInfo->m_points[i_idx].mArg0; }
|
||||
Vec getPntPos(int i_idx) { return mPathInfo->m_points[i_idx].m_position; }
|
||||
BOOL chkClose() { return dPath_ChkClose(mPathInfo); }
|
||||
BOOL chkReverse() { return mIsReversed == true; }
|
||||
void onReverse() { mIsReversed = true; }
|
||||
void offReverse() { mIsReversed = false; }
|
||||
dPath* getPathInfo() { return mPathInfo; }
|
||||
void setRange(f32 i_range) { mRange = i_range; }
|
||||
int getNumPnts() { return mPathInfo->m_num; }
|
||||
#if DEBUG
|
||||
void drawDbgInfoXyz();
|
||||
#endif
|
||||
}; // Size: 0x630
|
||||
|
||||
class daNpcF_MatAnm_c : public J3DMaterialAnm {
|
||||
private:
|
||||
/* 0x0F4 */ mutable f32 field_0xF4;
|
||||
/* 0x0F8 */ mutable f32 field_0xF8;
|
||||
/* 0x0FC */ f32 mNowOffsetX;
|
||||
/* 0x100 */ f32 mNowOffsetY;
|
||||
/* 0x104 */ u8 mEyeMoveFlag;
|
||||
/* 0x105 */ u8 mMorfFrm;
|
||||
|
||||
public:
|
||||
daNpcF_MatAnm_c(): J3DMaterialAnm() { initialize(); }
|
||||
void initialize();
|
||||
void calc(J3DMaterial*) const;
|
||||
void setNowOffsetX(float i_nowOffsetX) { mNowOffsetX = i_nowOffsetX; }
|
||||
void setNowOffsetY(float i_nowOffsetY) { mNowOffsetY = i_nowOffsetY; }
|
||||
void onEyeMoveFlag() { mEyeMoveFlag = 1; }
|
||||
void offEyeMoveFlag() { mEyeMoveFlag = 0; }
|
||||
};
|
||||
|
||||
class daNpcF_Lookat_c {
|
||||
private:
|
||||
/* 0x00 */ cXyz mJointPos[4];
|
||||
/* 0x30 */ cXyz* mAttnPos_p;
|
||||
/* 0x34 */ csXyz mAngularMoveDis[4];
|
||||
/* 0x4C */ csXyz mMinAngle[4];
|
||||
/* 0x64 */ csXyz mMaxAngle[4];
|
||||
/* 0x7C */ csXyz mRotAngle[4];
|
||||
/* 0x94 */ bool field_0x94[4];
|
||||
/* 0x98 vtable */
|
||||
|
||||
public:
|
||||
void initialize();
|
||||
void setParam(f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, s16,
|
||||
cXyz*);
|
||||
void calc(fopAc_ac_c*, Mtx, csXyz**, BOOL, int, BOOL);
|
||||
void adjustMoveDisAngle(s16&, s16, s16, s16);
|
||||
void initCalc(fopAc_ac_c*, Mtx, cXyz*, csXyz*, f32*, cXyz&, BOOL);
|
||||
void update(cXyz*, csXyz*, f32*);
|
||||
void calcMoveDisAngle(int, cXyz*, csXyz*, cXyz, int, BOOL);
|
||||
void setRotAngle();
|
||||
void clrRotAngle();
|
||||
|
||||
daNpcF_Lookat_c() { initialize(); }
|
||||
virtual ~daNpcF_Lookat_c() {}
|
||||
|
||||
cXyz* getAttnPos() { return mAttnPos_p; }
|
||||
void setAttnPos(cXyz* i_attnPos) { mAttnPos_p = i_attnPos; }
|
||||
};
|
||||
|
||||
class daNpcF_c : public fopAc_ac_c {
|
||||
protected:
|
||||
/* 0x568 */ mDoExt_McaMorfSO* mAnm_p;
|
||||
@@ -244,7 +360,7 @@ public:
|
||||
virtual ~daNpcF_c() {}
|
||||
virtual void setParam() {}
|
||||
virtual BOOL main() { return TRUE; }
|
||||
virtual BOOL ctrlBtk() { return FALSE; }
|
||||
inline virtual BOOL ctrlBtk() { return FALSE; }
|
||||
virtual void adjustShapeAngle() {}
|
||||
virtual void setMtx();
|
||||
virtual void setMtx2();
|
||||
@@ -289,123 +405,6 @@ public:
|
||||
|
||||
STATIC_ASSERT(sizeof(daNpcF_c) == 0xB48);
|
||||
|
||||
class daNpcF_MatAnm_c : public J3DMaterialAnm {
|
||||
private:
|
||||
/* 0x0F4 */ mutable f32 field_0xF4;
|
||||
/* 0x0F8 */ mutable f32 field_0xF8;
|
||||
/* 0x0FC */ f32 mNowOffsetX;
|
||||
/* 0x100 */ f32 mNowOffsetY;
|
||||
/* 0x104 */ u8 mEyeMoveFlag;
|
||||
/* 0x105 */ u8 mMorfFrm;
|
||||
|
||||
public:
|
||||
daNpcF_MatAnm_c() { initialize(); }
|
||||
void initialize();
|
||||
void calc(J3DMaterial*) const;
|
||||
~daNpcF_MatAnm_c() {}
|
||||
void setNowOffsetX(float i_nowOffsetX) { mNowOffsetX = i_nowOffsetX; }
|
||||
void setNowOffsetY(float i_nowOffsetY) { mNowOffsetY = i_nowOffsetY; }
|
||||
void onEyeMoveFlag() { mEyeMoveFlag = 1; }
|
||||
void offEyeMoveFlag() { mEyeMoveFlag = 0; }
|
||||
};
|
||||
|
||||
class daNpcF_SPCurve_c {
|
||||
private:
|
||||
/* 0x00 */ u16 mNurbs;
|
||||
/* 0x02 */ u16 field_0x02;
|
||||
/* 0x04 */ u8 mIsReversed;
|
||||
/* 0x05 */ u8 mIsClosed;
|
||||
/* 0x08 */ dPnt mPoints[96];
|
||||
|
||||
public:
|
||||
void initialize(dPath*, int);
|
||||
|
||||
daNpcF_SPCurve_c() {
|
||||
initialize(NULL, 0);
|
||||
}
|
||||
|
||||
virtual ~daNpcF_SPCurve_c() {}
|
||||
}; // Size: 0x60C
|
||||
|
||||
class daNpcF_Path_c {
|
||||
protected:
|
||||
/* 0x00 */ u16 mIdx;
|
||||
/* 0x02 */ u8 mIsReversed;
|
||||
/* 0x03 */ u8 mIsClosed;
|
||||
/* 0x04 */ dPath* mPathInfo;
|
||||
/* 0x08 */ f32 mRange;
|
||||
/* 0x0C */ f32 mPosDst;
|
||||
/* 0x10 */ f32 field_0x10;
|
||||
/* 0x14 */ cXyz mPosition;
|
||||
/* 0x20 */ daNpcF_SPCurve_c mSPCurve;
|
||||
|
||||
public:
|
||||
void initialize();
|
||||
int setPathInfo(u8, s8, u8);
|
||||
BOOL chkPassed(cXyz);
|
||||
BOOL chkPassedDst(cXyz);
|
||||
void reverse();
|
||||
BOOL setNextIdx();
|
||||
int getNextIdx();
|
||||
int getBeforeIdx();
|
||||
BOOL getBeforePos(cXyz&);
|
||||
BOOL getNextPos(cXyz&);
|
||||
BOOL getDstPos(cXyz, cXyz&);
|
||||
void setNextIdxDst(cXyz);
|
||||
|
||||
daNpcF_Path_c() {
|
||||
initialize();
|
||||
}
|
||||
|
||||
virtual ~daNpcF_Path_c() {}
|
||||
|
||||
int getIdx() { return mIdx; };
|
||||
void setIdx(int i_idx) { mIdx = i_idx; }
|
||||
int getArg0() { return mPathInfo->m_points[mIdx].mArg0; }
|
||||
u8 getArg0(int i_idx) { return mPathInfo->m_points[i_idx].mArg0; }
|
||||
Vec getPntPos(int i_idx) { return mPathInfo->m_points[i_idx].m_position; }
|
||||
BOOL chkClose() { return dPath_ChkClose(mPathInfo); }
|
||||
BOOL chkReverse() { return mIsReversed == true; }
|
||||
void onReverse() { mIsReversed = true; }
|
||||
void offReverse() { mIsReversed = false; }
|
||||
dPath* getPathInfo() { return mPathInfo; }
|
||||
void setRange(f32 i_range) { mRange = i_range; }
|
||||
int getNumPnts() { return mPathInfo->m_num; }
|
||||
#if DEBUG
|
||||
void drawDbgInfoXyz();
|
||||
#endif
|
||||
}; // Size: 0x630
|
||||
|
||||
class daNpcF_Lookat_c {
|
||||
private:
|
||||
/* 0x00 */ cXyz mJointPos[4];
|
||||
/* 0x30 */ cXyz* mAttnPos_p;
|
||||
/* 0x34 */ csXyz mAngularMoveDis[4];
|
||||
/* 0x4C */ csXyz mMinAngle[4];
|
||||
/* 0x64 */ csXyz mMaxAngle[4];
|
||||
/* 0x7C */ csXyz mRotAngle[4];
|
||||
/* 0x94 */ bool field_0x94[4];
|
||||
/* 0x98 vtable */
|
||||
|
||||
public:
|
||||
void initialize();
|
||||
void setParam(f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, s16,
|
||||
cXyz*);
|
||||
void calc(fopAc_ac_c*, Mtx, csXyz**, BOOL, int, BOOL);
|
||||
void adjustMoveDisAngle(s16&, s16, s16, s16);
|
||||
void initCalc(fopAc_ac_c*, Mtx, cXyz*, csXyz*, f32*, cXyz&, BOOL);
|
||||
void update(cXyz*, csXyz*, f32*);
|
||||
void calcMoveDisAngle(int, cXyz*, csXyz*, cXyz, int, BOOL);
|
||||
void setRotAngle();
|
||||
void clrRotAngle();
|
||||
|
||||
daNpcF_Lookat_c() { initialize(); }
|
||||
virtual ~daNpcF_Lookat_c() {}
|
||||
|
||||
cXyz* getAttnPos() { return mAttnPos_p; }
|
||||
void setAttnPos(cXyz* i_attnPos) { mAttnPos_p = i_attnPos; }
|
||||
};
|
||||
|
||||
class daNpcF_MoveBgActor_c : public daNpcF_c {
|
||||
private:
|
||||
public:
|
||||
|
||||
@@ -9,6 +9,7 @@ struct daNpcAsh_HIOParam {
|
||||
|
||||
class daNpcAsh_Param_c {
|
||||
public:
|
||||
daNpcAsh_Param_c() {}
|
||||
virtual ~daNpcAsh_Param_c() {}
|
||||
|
||||
static const daNpcAsh_HIOParam m;
|
||||
@@ -167,6 +168,6 @@ private:
|
||||
/* 0xF60 */ u8 mType;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daNpcAsh_c) == 0xF64);
|
||||
//STATIC_ASSERT(sizeof(daNpcAsh_c) == 0xF64);
|
||||
|
||||
#endif /* D_A_NPC_ASH_H */
|
||||
|
||||
@@ -80,7 +80,7 @@ public:
|
||||
int EvCut_BousIntroSumo3(int);
|
||||
inline void setParam();
|
||||
inline BOOL main();
|
||||
inline void playExpression();
|
||||
inline void playExpression();
|
||||
inline void playMotion();
|
||||
inline BOOL ctrlBtk();
|
||||
inline void setAttnPos();
|
||||
@@ -93,22 +93,7 @@ public:
|
||||
s16 getMessageNo() { return (fopAcM_GetParam(this) >> 8) & 0xFFFF; }
|
||||
s8 getArenaNo() { return fopAcM_GetParam(this) & 0xFF; }
|
||||
|
||||
BOOL chkFindPlayer() {
|
||||
BOOL inArea = FALSE;
|
||||
if (mActorMngrs[0].getActorP() == NULL) {
|
||||
inArea = chkPlayerInSpeakArea(this);
|
||||
} else {
|
||||
inArea = chkPlayerInTalkArea(this);
|
||||
}
|
||||
|
||||
if (inArea) {
|
||||
mActorMngrs[0].entry(daPy_getPlayerActorClass());
|
||||
} else {
|
||||
mActorMngrs[0].remove();
|
||||
}
|
||||
|
||||
return inArea;
|
||||
}
|
||||
inline BOOL chkFindPlayer();
|
||||
|
||||
void setLookMode(int i_lookMode) { if (i_lookMode >= 0 && i_lookMode < 4 && i_lookMode != mLookMode) mLookMode = i_lookMode; }
|
||||
|
||||
|
||||
@@ -281,6 +281,6 @@ private:
|
||||
/* 0xE9B */ u8 mType;
|
||||
/* 0xE9C */ u8 mWrestlerNoDraw;
|
||||
};
|
||||
STATIC_ASSERT(sizeof(daNpcWrestler_c) == 0xea0);
|
||||
//STATIC_ASSERT(sizeof(daNpcWrestler_c) == 0xea0);
|
||||
|
||||
#endif /* D_A_NPC_WRESTLER_H */
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
#include "JSystem/J2DGraph/J2DPicture.h"
|
||||
#include "JSystem/J2DGraph/J2DScreen.h"
|
||||
#include "JSystem/J3DGraphBase/J3DSys.h"
|
||||
#include "SSystem/SComponent/c_m3d_g_pla.h"
|
||||
#include "f_op/f_op_view.h"
|
||||
#include "m_Do/m_Do_ext.h"
|
||||
|
||||
@@ -9,25 +9,38 @@
|
||||
#include "JSystem/J3DGraphBase/J3DMatBlock.h" // IWYU pragma: export
|
||||
#include "Z2AudioLib/Z2Calc.h" // IWYU pragma: export
|
||||
|
||||
// Fixes weak function ordering
|
||||
// Fixes weak function/RTTI ordering
|
||||
#include <math> // IWYU pragma: export
|
||||
#include <cstring> // IWYU pragma: export
|
||||
#include "Z2AudioLib/Z2AudioArcLoader.h" // IWYU pragma: export
|
||||
#include "JSystem/JAudio2/JAUStreamAramMgr.h" // IWYU pragma: export
|
||||
#include "JSystem/JKernel/JKRDisposer.h" // IWYU pragma: export
|
||||
#include "JSystem/JGadget/linklist.h" // IWYU pragma: export
|
||||
#include "JSystem/J3DGraphBase/J3DPacket.h" // IWYU pragma: export
|
||||
#include "JSystem/J3DGraphAnimator/J3DMaterialAnm.h" // IWYU pragma: export
|
||||
#include "JSystem/J3DGraphAnimator/J3DJoint.h" // IWYU pragma: export
|
||||
#include "JSystem/J3DGraphAnimator/J3DMaterialAttach.h" // IWYU pragma: export
|
||||
#include "JSystem/J3DGraphAnimator/J3DShapeTable.h" // IWYU pragma: export
|
||||
#include "JSystem/J3DGraphAnimator/J3DMaterialAnm.h" // IWYU pragma: export
|
||||
#include "JSystem/J3DGraphAnimator/J3DAnimation.h" // IWYU pragma: export
|
||||
#include "JSystem/JUtility/JUTGamePad.h" // IWYU pragma: export
|
||||
#include "JSystem/J3DGraphBase/J3DSys.h" // IWYU pragma: export
|
||||
#include "JSystem/J3DGraphAnimator/J3DMaterialAttach.h" // IWYU pragma: export
|
||||
#include "JSystem/J3DGraphAnimator/J3DMaterialAnm.h" // IWYU pragma: export
|
||||
#include "JSystem/JHostIO/JHICommonMem.h" // IWYU pragma: export
|
||||
#include "JSystem/JHostIO/JORReflexible.h" // IWYU pragma: export
|
||||
#include "SSystem/SComponent/c_m3d_g_sph.h" // IWYU pragma: export
|
||||
#include "SSystem/SComponent/c_m3d_g_aab.h" // IWYU pragma: export
|
||||
#include "SSystem/SComponent/c_m3d_g_pla.h" // IWYU pragma: export
|
||||
#include "SSystem/SComponent/c_bg_s_chk.h" // IWYU pragma: export
|
||||
#include "SSystem/SComponent/c_bg_s_poly_info.h" // IWYU pragma: export
|
||||
#include "SSystem/SComponent/c_bg_s_gnd_chk.h" // IWYU pragma: export
|
||||
#include "SSystem/SComponent/c_m3d_g_cyl.h" // IWYU pragma: export
|
||||
#include "m_Do/m_Do_hostIO.h" // IWYU pragma: export
|
||||
#include "f_op/f_op_actor.h" // IWYU pragma: export
|
||||
#include "d/d_bg_s_gnd_chk.h" // IWYU pragma: export
|
||||
#include "d/d_bg_s_chk.h" // IWYU pragma: export
|
||||
#include "d/d_bg_w.h" // IWYU pragma: export
|
||||
#include "d/d_drawlist.h" // IWYU pragma: export
|
||||
#include "d/d_com_inf_game.h" // IWYU pragma: export
|
||||
#include "m_Do/m_Do_graphic.h" // IWYU pragma: export
|
||||
#include "JSystem/J2DGraph/J2DOrthoGraph.h" // IWYU pragma: export
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#include "JSystem/JSystem.h" // IWYU pragma: keep
|
||||
|
||||
#include "JSystem/J3DGraphAnimator/J3DJoint.h"
|
||||
#include "JSystem/J3DGraphAnimator/J3DJointTree.h"
|
||||
#include "JSystem/J3DGraphAnimator/J3DMaterialAttach.h"
|
||||
#include "JSystem/J3DGraphAnimator/J3DShapeTable.h"
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
#include "JSystem/JSystem.h" // IWYU pragma: keep
|
||||
|
||||
#include "JSystem/J3DGraphAnimator/J3DShapeTable.h"
|
||||
#include "JSystem/J3DGraphAnimator/J3DModel.h"
|
||||
#include "JSystem/J3DGraphAnimator/J3DMaterialAnm.h"
|
||||
#include "JSystem/J3DGraphBase/J3DMaterial.h"
|
||||
#include "JSystem/J3DGraphBase/J3DShapeMtx.h"
|
||||
#include "JSystem/J3DGraphBase/J3DSys.h"
|
||||
|
||||
#define J3D_ASSERTMSG(LINE, COND, MSG) JUT_ASSERT_MSG(LINE, (COND) != 0, MSG)
|
||||
#define J3D_WARN1(LINE, MSG, ARG1) JUT_WARN(LINE, MSG, ARG1)
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#include "JSystem/JSystem.h" // IWYU pragma: keep
|
||||
|
||||
#include "JSystem/J3DGraphAnimator/J3DJoint.h"
|
||||
#include "JSystem/J3DGraphAnimator/J3DMtxBuffer.h"
|
||||
#include "JSystem/J3DGraphBase/J3DMaterial.h"
|
||||
#include "JSystem/J3DGraphLoader/J3DModelLoader.h"
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#include "JSystem/JSystem.h" // IWYU pragma: keep
|
||||
|
||||
#include "JSystem/J3DGraphAnimator/J3DShapeTable.h"
|
||||
#include "JSystem/J3DGraphBase/J3DShape.h"
|
||||
|
||||
void J3DShapeTable::hide() {
|
||||
u16 shapeNum = mShapeNum;
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
#include "JSystem/J3DGraphAnimator/J3DModel.h"
|
||||
#include "JSystem/J3DGraphBase/J3DFifo.h"
|
||||
#include "JSystem/J3DGraphBase/J3DMatBlock.h"
|
||||
#include "JSystem/J3DGraphBase/J3DSys.h"
|
||||
#include "JSystem/J3DGraphBase/J3DTexture.h"
|
||||
|
||||
u16 J3DShapeMtx::sMtxLoadCache[10];
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
#include "JSystem/JSystem.h" // IWYU pragma: keep
|
||||
|
||||
#include "JSystem/J3DGraphLoader/J3DAnmLoader.h"
|
||||
#include "JSystem/J3DGraphAnimator/J3DAnimation.h"
|
||||
#include "JSystem/JSupport/JSupport.h"
|
||||
#include "dolphin/os.h"
|
||||
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
#include "JSystem/JSystem.h" // IWYU pragma: keep
|
||||
|
||||
#include "JSystem/J3DGraphAnimator/J3DShapeTable.h"
|
||||
#include "JSystem/J3DGraphAnimator/J3DJointTree.h"
|
||||
#include "JSystem/J3DGraphAnimator/J3DJoint.h"
|
||||
#include "JSystem/J3DGraphLoader/J3DModelLoader.h"
|
||||
#include "JSystem/J3DGraphLoader/J3DJointFactory.h"
|
||||
#include "JSystem/J3DGraphLoader/J3DMaterialFactory.h"
|
||||
@@ -10,7 +13,6 @@
|
||||
#include "JSystem/JUtility/JUTNameTab.h"
|
||||
#include "JSystem/JKernel/JKRHeap.h"
|
||||
#include "JSystem/JSupport/JSupport.h"
|
||||
#include "dolphin/os.h"
|
||||
|
||||
J3DModelLoader::J3DModelLoader() :
|
||||
mpModelData(NULL),
|
||||
|
||||
@@ -5,12 +5,12 @@
|
||||
#include "JSystem/J3DGraphLoader/J3DShapeFactory.h"
|
||||
#include "JSystem/J3DGraphLoader/J3DMaterialFactory.h"
|
||||
#include "JSystem/J3DGraphBase/J3DMaterial.h"
|
||||
#include "JSystem/J3DGraphAnimator/J3DJoint.h"
|
||||
#include "JSystem/J3DGraphAnimator/J3DModelData.h"
|
||||
#include "JSystem/JSupport/JSupport.h"
|
||||
#include "dolphin/os.h"
|
||||
#include "global.h"
|
||||
|
||||
|
||||
u16 J3DModelLoader::countMaterialNum(const void* stream) {
|
||||
const J3DModelFileData* header = (const J3DModelFileData*)stream;
|
||||
const J3DModelBlock* block = header->mBlocks;
|
||||
|
||||
@@ -11,6 +11,10 @@
|
||||
// Here to generate JASHeap::__defctor (ctor generated by default arguments)
|
||||
void dummyDefCtor() {
|
||||
JASHeap dummy[20];
|
||||
//TODO: ShieldD needs the weak functions this pulls in, but in retail it breaks weak function
|
||||
// placement
|
||||
#if VERSION == VERSION_SHIELD_DEBUG
|
||||
JAUStreamStaticAramMgr_<1>* streamStaticAramMgr = new(NULL, 0) JAUStreamStaticAramMgr_<1>();
|
||||
streamStaticAramMgr->reserveAram(NULL, 0, 0x14);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
#include "d/dolzel.h" // IWYU pragma: keep
|
||||
|
||||
#include "Z2AudioLib/Z2AudioMgr.h"
|
||||
#include "JSystem/JAudio2/JASAiCtrl.h"
|
||||
#include "JSystem/JAudio2/JASDriverIF.h"
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
#include "d/dolzel.h" // IWYU pragma: keep
|
||||
|
||||
#include "JSystem/JAudio2/JASBasicWaveBank.h"
|
||||
#include "JSystem/JAudio2/JAUSectionHeap.h"
|
||||
#include "JSystem/JAudio2/JAUSoundTable.h"
|
||||
|
||||
@@ -953,6 +953,23 @@ void daNpcBouS_c::lookat() {
|
||||
mLookat.calc(this, mdl_p->getBaseTRMtx(), lookatAngle, i_snap, angle_delta, FALSE);
|
||||
}
|
||||
|
||||
BOOL daNpcBouS_c::chkFindPlayer() {
|
||||
BOOL inArea = FALSE;
|
||||
if (mActorMngrs[0].getActorP() == NULL) {
|
||||
inArea = chkPlayerInSpeakArea(this);
|
||||
} else {
|
||||
inArea = chkPlayerInTalkArea(this);
|
||||
}
|
||||
|
||||
if (inArea) {
|
||||
mActorMngrs[0].entry(daPy_getPlayerActorClass());
|
||||
} else {
|
||||
mActorMngrs[0].remove();
|
||||
}
|
||||
|
||||
return inArea;
|
||||
}
|
||||
|
||||
BOOL daNpcBouS_c::step(s16 i_turnTargetAngle, int param_2) {
|
||||
if (mTurnMode == 0) {
|
||||
if (param_2 != 0) {
|
||||
@@ -1594,7 +1611,7 @@ int daNpcBouS_c::drawDbgInfo() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
void daNpcBouS_c::drawOtherMdls() {}
|
||||
inline void daNpcBouS_c::drawOtherMdls() {}
|
||||
|
||||
AUDIO_INSTANCES;
|
||||
|
||||
|
||||
@@ -20,9 +20,8 @@ daObjProp_c::~daObjProp_c() {
|
||||
dComIfG_resDelete(this, l_arcName);
|
||||
}
|
||||
|
||||
static const u32 BMD_IDX[] = {3, 4};
|
||||
|
||||
bool daObjProp_c::createHeap() {
|
||||
static const u32 BMD_IDX[] = {3, 4};
|
||||
u32 nameArg = getNameArg_0();
|
||||
u32 bmd = BMD_IDX[nameArg];
|
||||
mpModel = mDoExt_J3DModel__create((J3DModelData*)dComIfG_getObjectRes(l_arcName, bmd), 0x80000,
|
||||
@@ -60,9 +59,8 @@ int daObjProp_c::draw() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
static const s16 ADD_ANGLE[] = {0x1800, -0x1800};
|
||||
|
||||
int daObjProp_c::execute() {
|
||||
static const s16 ADD_ANGLE[] = {0x1800, -0x1800};
|
||||
shape_angle.y += ADD_ANGLE[mArg];
|
||||
setModelMtx();
|
||||
return 1;
|
||||
|
||||
Reference in New Issue
Block a user