mirror of
https://github.com/zeldaret/tww.git
synced 2026-06-05 19:27:23 -04:00
d_a_player_main
This commit is contained in:
@@ -2,104 +2,104 @@
|
||||
#define JAZELAUDIO_BGM_H
|
||||
|
||||
enum {
|
||||
JA_BGM_SE_SEQUENCE = 0x0800,
|
||||
JA_BGM_ISLAND_LINK = 0x0001,
|
||||
JA_BGM_ITEM_GET = 0x0002,
|
||||
JA_BGM_GOMA = 0x0003,
|
||||
JA_BGM_BATTLE_NORM = 0x0004,
|
||||
JA_BGM_KINDAN_BOSS = 0x0005,
|
||||
JA_BGM_D_RYU_MT = 0x0006,
|
||||
JA_BGM_I_MAJU = 0x0007,
|
||||
JA_BGM_HOUSE = 0x0008,
|
||||
JA_BGM_OPEN_BOX = 0x0009,
|
||||
JA_BGM_DIE_LINK = 0x000A,
|
||||
JA_BGM_SEA_GAME = 0x000B,
|
||||
JA_BGM_SEA_GOAL = 0x000C,
|
||||
JA_BGM_SEA_FAIL = 0x000D,
|
||||
JA_BGM_ISLAND_LINK_2 = 0x000E,
|
||||
JA_BGM_I_MAJU_JAIL = 0x000F,
|
||||
JA_BGM_GOMA_2 = 0x0010,
|
||||
JA_BGM_JI_TRAINING = 0x0011,
|
||||
JA_BGM_TETRA_MEET = 0x0012,
|
||||
JA_BGM_BK_FLY_DOWN = 0x0013,
|
||||
JA_BGM_DK_BATTLE = 0x0014,
|
||||
JA_BGM_MJ_TOWER_BATTLE = 0x0015,
|
||||
JA_BGM_FIND_TETRA = 0x0016,
|
||||
JA_BGM_I_LINK_FOREST = 0x0017,
|
||||
JA_BGM_HOUSE_G = 0x0018,
|
||||
JA_BGM_MBOSS = 0x0019,
|
||||
JA_BGM_MBOSS_S = 0x001A,
|
||||
JA_BGM_BOAT_SHOP = 0x001B,
|
||||
JA_BGM_SEA_ENEMY = 0x001C,
|
||||
JA_BGM_MORNING = 0x001D,
|
||||
JA_BGM_SELECT = 0x001E,
|
||||
JA_BGM_MEDRI_AWAKE = 0x001F,
|
||||
JA_BGM_MAKORE_AWAKE = 0x0020,
|
||||
JA_BGM_TAKT_MAKORE = 0x0021,
|
||||
JA_BGM_TAKT_MEDRI = 0x0022,
|
||||
JA_BGM_BST_BATTLE = 0x0023,
|
||||
JA_BGM_GET_HEART = 0x0024,
|
||||
JA_BGM_ITEM_GET_S = 0x0025,
|
||||
JA_BGM_D_FOREST = 0x0026,
|
||||
JA_BGM_GET_SONG = 0x0027,
|
||||
JA_BGM_KAMI_TOWER = 0x0028,
|
||||
JA_BGM_RANE_BATTLE = 0x0029,
|
||||
JA_BGM_PIRATE = 0x002A,
|
||||
JA_BGM_DIOCTA_BATTLE = 0x002B,
|
||||
JA_BGM_PIRATE_C = 0x002C,
|
||||
JA_BGM_D_EARTH = 0x002D,
|
||||
JA_BGM_SEA = 0x002E,
|
||||
JA_BGM_D_WIND = 0x002F,
|
||||
JA_BGM_TAKT_CHUYA = 0x0030,
|
||||
JA_BGM_TAKT_KAZE = 0x0031,
|
||||
JA_BGM_TAKT_SHIPPU = 0x0032,
|
||||
JA_BGM_TETRA_MEET_B = 0x0033,
|
||||
JA_BGM_HYRULE_OFF = 0x0034,
|
||||
JA_BGM_HYRULE_ON = 0x0035,
|
||||
JA_BGM_CB_NEXTYEAR = 0x0036,
|
||||
JA_BGM_CB_NEXTYEAR_W = 0x0037,
|
||||
JA_BGM_ISLAND_LINK_0 = 0x0038,
|
||||
JA_BGM_ISLAND_WOOD = 0x0039,
|
||||
JA_BGM_ISLAND_DRAGON = 0x003A,
|
||||
JA_BGM_ISLAND_TAURA = 0x003B,
|
||||
JA_BGM_SEA_STORM = 0x003C,
|
||||
JA_BGM_PIRATE_DEMO5 = 0x003D,
|
||||
JA_BGM_JI_TRAINING_2 = 0x003E,
|
||||
JA_BGM_I_WOOD_INNER = 0x003F,
|
||||
JA_BGM_DRUG_STORE = 0x0040,
|
||||
JA_BGM_P_GANON_1 = 0x0041,
|
||||
JA_BGM_D_GANON_1 = 0x0042,
|
||||
JA_BGM_D_GANON_2 = 0x0043,
|
||||
JA_BGM_BAACHAN = 0x0044,
|
||||
JA_BGM_DEKU_PINCH = 0x0045,
|
||||
JA_BGM_DIOCTA_2 = 0x0046,
|
||||
JA_BGM_P_GANON_2 = 0x0047,
|
||||
JA_BGM_BIG_POW = 0x0048,
|
||||
JA_BGM_PAST_BIG_POW = 0x0049,
|
||||
JA_BGM_PAST_BKM = 0x004A,
|
||||
JA_BGM_PAST_GOMA = 0x004B,
|
||||
JA_BGM_PAST_RANE = 0x004C,
|
||||
JA_BGM_GANON_BATTLE = 0x004D,
|
||||
JA_BGM_MASTER_SWORD = 0x004E,
|
||||
JA_BGM_GET_PEARL = 0x004F,
|
||||
JA_BGM_BIRDMAN = 0x0050,
|
||||
JA_BGM_BIRDMAN_GOAL = 0x0051,
|
||||
JA_BGM_BIRDMAN_FAIL = 0x0052,
|
||||
JA_BGM_ELF = 0x0053,
|
||||
JA_BGM_PAST_GOMA_2 = 0x0054,
|
||||
JA_BGM_ISLAND_LINK_3 = 0x0055,
|
||||
JA_BGM_DEATH_VALLEY = 0x0056,
|
||||
JA_BGM_JABOO_CAVE = 0x0057,
|
||||
JA_BGM_SUB_DUNGEON = 0x0058,
|
||||
JA_BGM_BGN_KUGUTSU = 0x0059,
|
||||
JA_BGM_BGN_TARABA = 0x005A,
|
||||
JA_BGM_BGN_HAYAMUSHI = 0x005B,
|
||||
JA_BGM_BGN_TARABA_IN = 0x005C,
|
||||
JA_BGM_BGN_GET_BOX = 0x005D,
|
||||
JA_BGM_I_MAJU_2ND = 0x005E,
|
||||
JA_BGM_MAKORE_TAKT_8 = 0x005F,
|
||||
JA_BGM_MEDORI_TAKT_8 = 0x0060,
|
||||
JA_BGM_TRIFORCE_DEMO = 0x0061,
|
||||
JA_BGM_SE_SEQUENCE = 0x80000800,
|
||||
JA_BGM_ISLAND_LINK = 0x80000001,
|
||||
JA_BGM_ITEM_GET = 0x80000002,
|
||||
JA_BGM_GOMA = 0x80000003,
|
||||
JA_BGM_BATTLE_NORM = 0x80000004,
|
||||
JA_BGM_KINDAN_BOSS = 0x80000005,
|
||||
JA_BGM_D_RYU_MT = 0x80000006,
|
||||
JA_BGM_I_MAJU = 0x80000007,
|
||||
JA_BGM_HOUSE = 0x80000008,
|
||||
JA_BGM_OPEN_BOX = 0x80000009,
|
||||
JA_BGM_DIE_LINK = 0x8000000A,
|
||||
JA_BGM_SEA_GAME = 0x8000000B,
|
||||
JA_BGM_SEA_GOAL = 0x8000000C,
|
||||
JA_BGM_SEA_FAIL = 0x8000000D,
|
||||
JA_BGM_ISLAND_LINK_2 = 0x8000000E,
|
||||
JA_BGM_I_MAJU_JAIL = 0x8000000F,
|
||||
JA_BGM_GOMA_2 = 0x80000010,
|
||||
JA_BGM_JI_TRAINING = 0x80000011,
|
||||
JA_BGM_TETRA_MEET = 0x80000012,
|
||||
JA_BGM_BK_FLY_DOWN = 0x80000013,
|
||||
JA_BGM_DK_BATTLE = 0x80000014,
|
||||
JA_BGM_MJ_TOWER_BATTLE = 0x80000015,
|
||||
JA_BGM_FIND_TETRA = 0x80000016,
|
||||
JA_BGM_I_LINK_FOREST = 0x80000017,
|
||||
JA_BGM_HOUSE_G = 0x80000018,
|
||||
JA_BGM_MBOSS = 0x80000019,
|
||||
JA_BGM_MBOSS_S = 0x8000001A,
|
||||
JA_BGM_BOAT_SHOP = 0x8000001B,
|
||||
JA_BGM_SEA_ENEMY = 0x8000001C,
|
||||
JA_BGM_MORNING = 0x8000001D,
|
||||
JA_BGM_SELECT = 0x8000001E,
|
||||
JA_BGM_MEDRI_AWAKE = 0x8000001F,
|
||||
JA_BGM_MAKORE_AWAKE = 0x80000020,
|
||||
JA_BGM_TAKT_MAKORE = 0x80000021,
|
||||
JA_BGM_TAKT_MEDRI = 0x80000022,
|
||||
JA_BGM_BST_BATTLE = 0x80000023,
|
||||
JA_BGM_GET_HEART = 0x80000024,
|
||||
JA_BGM_ITEM_GET_S = 0x80000025,
|
||||
JA_BGM_D_FOREST = 0x80000026,
|
||||
JA_BGM_GET_SONG = 0x80000027,
|
||||
JA_BGM_KAMI_TOWER = 0x80000028,
|
||||
JA_BGM_RANE_BATTLE = 0x80000029,
|
||||
JA_BGM_PIRATE = 0x8000002A,
|
||||
JA_BGM_DIOCTA_BATTLE = 0x8000002B,
|
||||
JA_BGM_PIRATE_C = 0x8000002C,
|
||||
JA_BGM_D_EARTH = 0x8000002D,
|
||||
JA_BGM_SEA = 0x8000002E,
|
||||
JA_BGM_D_WIND = 0x8000002F,
|
||||
JA_BGM_TAKT_CHUYA = 0x80000030,
|
||||
JA_BGM_TAKT_KAZE = 0x80000031,
|
||||
JA_BGM_TAKT_SHIPPU = 0x80000032,
|
||||
JA_BGM_TETRA_MEET_B = 0x80000033,
|
||||
JA_BGM_HYRULE_OFF = 0x80000034,
|
||||
JA_BGM_HYRULE_ON = 0x80000035,
|
||||
JA_BGM_CB_NEXTYEAR = 0x80000036,
|
||||
JA_BGM_CB_NEXTYEAR_W = 0x80000037,
|
||||
JA_BGM_ISLAND_LINK_0 = 0x80000038,
|
||||
JA_BGM_ISLAND_WOOD = 0x80000039,
|
||||
JA_BGM_ISLAND_DRAGON = 0x8000003A,
|
||||
JA_BGM_ISLAND_TAURA = 0x8000003B,
|
||||
JA_BGM_SEA_STORM = 0x8000003C,
|
||||
JA_BGM_PIRATE_DEMO5 = 0x8000003D,
|
||||
JA_BGM_JI_TRAINING_2 = 0x8000003E,
|
||||
JA_BGM_I_WOOD_INNER = 0x8000003F,
|
||||
JA_BGM_DRUG_STORE = 0x80000040,
|
||||
JA_BGM_P_GANON_1 = 0x80000041,
|
||||
JA_BGM_D_GANON_1 = 0x80000042,
|
||||
JA_BGM_D_GANON_2 = 0x80000043,
|
||||
JA_BGM_BAACHAN = 0x80000044,
|
||||
JA_BGM_DEKU_PINCH = 0x80000045,
|
||||
JA_BGM_DIOCTA_2 = 0x80000046,
|
||||
JA_BGM_P_GANON_2 = 0x80000047,
|
||||
JA_BGM_BIG_POW = 0x80000048,
|
||||
JA_BGM_PAST_BIG_POW = 0x80000049,
|
||||
JA_BGM_PAST_BKM = 0x8000004A,
|
||||
JA_BGM_PAST_GOMA = 0x8000004B,
|
||||
JA_BGM_PAST_RANE = 0x8000004C,
|
||||
JA_BGM_GANON_BATTLE = 0x8000004D,
|
||||
JA_BGM_MASTER_SWORD = 0x8000004E,
|
||||
JA_BGM_GET_PEARL = 0x8000004F,
|
||||
JA_BGM_BIRDMAN = 0x80000050,
|
||||
JA_BGM_BIRDMAN_GOAL = 0x80000051,
|
||||
JA_BGM_BIRDMAN_FAIL = 0x80000052,
|
||||
JA_BGM_ELF = 0x80000053,
|
||||
JA_BGM_PAST_GOMA_2 = 0x80000054,
|
||||
JA_BGM_ISLAND_LINK_3 = 0x80000055,
|
||||
JA_BGM_DEATH_VALLEY = 0x80000056,
|
||||
JA_BGM_JABOO_CAVE = 0x80000057,
|
||||
JA_BGM_SUB_DUNGEON = 0x80000058,
|
||||
JA_BGM_BGN_KUGUTSU = 0x80000059,
|
||||
JA_BGM_BGN_TARABA = 0x8000005A,
|
||||
JA_BGM_BGN_HAYAMUSHI = 0x8000005B,
|
||||
JA_BGM_BGN_TARABA_IN = 0x8000005C,
|
||||
JA_BGM_BGN_GET_BOX = 0x8000005D,
|
||||
JA_BGM_I_MAJU_2ND = 0x8000005E,
|
||||
JA_BGM_MAKORE_TAKT_8 = 0x8000005F,
|
||||
JA_BGM_MEDORI_TAKT_8 = 0x80000060,
|
||||
JA_BGM_TRIFORCE_DEMO = 0x80000061,
|
||||
};
|
||||
|
||||
#endif /* JAZELAUDIO_BGM_H */
|
||||
@@ -370,6 +370,7 @@ protected:
|
||||
/* 0x22 */ u16 field_0x22;
|
||||
}; // Size: 0x24
|
||||
|
||||
// BCK
|
||||
class J3DAnmTransformKey : public J3DAnmTransform {
|
||||
public:
|
||||
friend class J3DAnmKeyLoader_v15;
|
||||
@@ -389,6 +390,7 @@ private:
|
||||
/* 0x28 */ J3DAnmTransformKeyTable* field_0x28;
|
||||
}; // Size: 0x2C
|
||||
|
||||
// BCA
|
||||
class J3DAnmTransformFull : public J3DAnmTransform {
|
||||
public:
|
||||
friend class J3DAnmFullLoader_v15;
|
||||
@@ -408,6 +410,7 @@ struct J3DTextureSRTInfo;
|
||||
class J3DModelData;
|
||||
class J3DMaterialTable;
|
||||
|
||||
// BTK
|
||||
class J3DAnmTextureSRTKey : public J3DAnmBase {
|
||||
public:
|
||||
friend class J3DAnmKeyLoader_v15;
|
||||
@@ -453,8 +456,8 @@ public:
|
||||
JUTNameTab * getPostUpdateMaterialName() { return &mPostUpdateMaterialName; }
|
||||
u16 getPostUpdateTexMtxID(u16 idx) const { return mPostUpdateTexMtxID[idx]; }
|
||||
|
||||
u32 getTexMtxCalcType() const { return mTexMtxCalcType; }
|
||||
Vec& getSRTCenter(u16 idx) const { return mSRTCenter[idx]; }
|
||||
u32 getTexMtxCalcType() { return mTexMtxCalcType; }
|
||||
Vec& getSRTCenter(u16 idx) { return mSRTCenter[idx]; }
|
||||
|
||||
private:
|
||||
/* 0x10 */ int mDecShift;
|
||||
@@ -487,6 +490,7 @@ private:
|
||||
|
||||
STATIC_ASSERT(sizeof(J3DAnmTextureSRTKey) == 0x88);
|
||||
|
||||
// BVA
|
||||
class J3DAnmVisibilityFull : public J3DAnmBase {
|
||||
public:
|
||||
friend class J3DAnmFullLoader_v15;
|
||||
@@ -511,6 +515,7 @@ private:
|
||||
/* 0x18 */ u8* mVisibility;
|
||||
}; // Size: 0x1C
|
||||
|
||||
// BTP
|
||||
class J3DAnmTexPattern : public J3DAnmBase {
|
||||
public:
|
||||
friend class J3DAnmFullLoader_v15;
|
||||
@@ -543,6 +548,7 @@ private:
|
||||
/* 0x20 */ JUTNameTab mUpdateMaterialName;
|
||||
}; // Size: 0x2C
|
||||
|
||||
// BRK
|
||||
class J3DAnmTevRegKey : public J3DAnmBase {
|
||||
public:
|
||||
friend class J3DAnmKeyLoader_v15;
|
||||
@@ -616,6 +622,7 @@ private:
|
||||
/* 0x70 */ s16 * mAnmKRegDataA;
|
||||
}; // Size: 0x74
|
||||
|
||||
// BPK
|
||||
class J3DAnmColor : public J3DAnmBase {
|
||||
public:
|
||||
J3DAnmColor() : J3DAnmBase(0) {
|
||||
@@ -775,6 +782,7 @@ protected:
|
||||
/* 0x10 */ f32* mWeight;
|
||||
}; // Size: 0x14
|
||||
|
||||
// BLA
|
||||
class J3DAnmClusterFull : public J3DAnmCluster {
|
||||
public:
|
||||
friend class J3DAnmFullLoader_v15;
|
||||
@@ -791,6 +799,7 @@ private:
|
||||
/* 0x14 */ J3DAnmClusterFullTable * mAnmTable;
|
||||
};
|
||||
|
||||
// BLK
|
||||
class J3DAnmClusterKey : public J3DAnmCluster {
|
||||
public:
|
||||
friend class J3DAnmKeyLoader_v15;
|
||||
|
||||
@@ -30,7 +30,7 @@ public:
|
||||
int removeTevRegAnimator(J3DAnmTevRegKey*);
|
||||
s32 setMatColorAnimator(J3DAnmColor*, J3DMatColorAnm *);
|
||||
s32 setTexNoAnimator(J3DAnmTexPattern*, J3DTexNoAnm*);
|
||||
s32 setTexMtxAnimator(J3DAnmTextureSRTKey*, J3DTexMtxAnm*, J3DTexMtxAnm*);
|
||||
s32 setTexMtxAnimator(J3DAnmTextureSRTKey* pAnm, J3DTexMtxAnm* pTexAnm, J3DTexMtxAnm* pDualAnmR);
|
||||
s32 setTevRegAnimator(J3DAnmTevRegKey*, J3DTevColorAnm*, J3DTevKColorAnm*);
|
||||
|
||||
virtual ~J3DMaterialTable();
|
||||
|
||||
@@ -81,6 +81,9 @@ public:
|
||||
bool checkBBoardFlag() const { return mbHasBillboard == 1; }
|
||||
void entryTexMtxAnimator(J3DAnmTextureSRTKey* anm) { mMaterialTable.entryTexMtxAnimator(anm); }
|
||||
void entryTevRegAnimator(J3DAnmTevRegKey* anm) { mMaterialTable.entryTevRegAnimator(anm); }
|
||||
void setTexMtxAnimator(J3DAnmTextureSRTKey* pAnm, J3DTexMtxAnm* pTexAnm, J3DTexMtxAnm* pDualAnmR) {
|
||||
mMaterialTable.setTexMtxAnimator(pAnm, pTexAnm, pDualAnmR);
|
||||
}
|
||||
int removeTexNoAnimator(J3DAnmTexPattern* anm) {
|
||||
return mMaterialTable.removeTexNoAnimator(anm);
|
||||
}
|
||||
@@ -104,7 +107,6 @@ public:
|
||||
void getBinary() {}
|
||||
void getRootNode() {}
|
||||
void setMatColorAnimator(J3DAnmColor*, J3DMatColorAnm*) {}
|
||||
void setTexMtxAnimator(J3DAnmTextureSRTKey*, J3DTexMtxAnm*, J3DTexMtxAnm*) {}
|
||||
void setTexNoAnimator(J3DAnmTexPattern*, J3DTexNoAnm*) {}
|
||||
|
||||
private:
|
||||
|
||||
@@ -44,27 +44,26 @@ public:
|
||||
J3DMaterial() { initialize(); }
|
||||
~J3DMaterial() {}
|
||||
|
||||
J3DMaterial* getNext() const { return mNext; }
|
||||
J3DMaterial* getNext() { return mNext; }
|
||||
void setNext(J3DMaterial* material) {mNext = material; }
|
||||
J3DShape* getShape() const { return mShape; }
|
||||
u32 getMaterialMode() { return mMaterialMode; }
|
||||
void setMaterialMode(u32 mode) { mMaterialMode = mode; }
|
||||
J3DTevBlock* getTevBlock() const { return mTevBlock; }
|
||||
J3DColorBlock* getColorBlock() const { return mColorBlock; }
|
||||
J3DTexGenBlock* getTexGenBlock() const { return mTexGenBlock; }
|
||||
J3DDisplayListObj* getSharedDisplayListObj() const { return mSharedDLObj; }
|
||||
J3DIndBlock* getIndBlock() const { return mIndBlock; }
|
||||
J3DShape* getShape() { return mShape; }
|
||||
J3DJoint* getJoint() { return mJoint; }
|
||||
J3DMaterialAnm* getMaterialAnm() const {
|
||||
u32 getMaterialMode() { return mMaterialMode; }
|
||||
void setMaterialMode(u32 mode) { mMaterialMode = mode; }
|
||||
J3DTevBlock* getTevBlock() { return mTevBlock; }
|
||||
J3DColorBlock* getColorBlock() { return mColorBlock; }
|
||||
J3DTexGenBlock* getTexGenBlock() { return mTexGenBlock; }
|
||||
J3DDisplayListObj* getSharedDisplayListObj() { return mSharedDLObj; }
|
||||
J3DIndBlock* getIndBlock() { return mIndBlock; }
|
||||
J3DMaterialAnm* getMaterialAnm() {
|
||||
if ((u32)mMaterialAnm < 0xC0000000) {
|
||||
return mMaterialAnm;
|
||||
} else {
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
J3DNBTScale* getNBTScale() const { return mTexGenBlock->getNBTScale(); }
|
||||
u16 getTexNo(u32 idx) const { return mTevBlock->getTexNo(idx); }
|
||||
J3DNBTScale* getNBTScale() { return mTexGenBlock->getNBTScale(); }
|
||||
u16 getTexNo(u32 idx) { return mTevBlock->getTexNo(idx); }
|
||||
J3DGXColor* getTevKColor(u32 param_0) { return mTevBlock->getTevKColor(param_0); }
|
||||
J3DGXColorS10* getTevColor(u32 param_0) { return mTevBlock->getTevColor(param_0); }
|
||||
J3DFog* getFog() { return mPEBlock->getFog(); }
|
||||
@@ -73,6 +72,8 @@ public:
|
||||
J3DAlphaComp* getAlphaComp() { return mPEBlock->getAlphaComp(); }
|
||||
u8 getZCompLoc() { return mPEBlock->getZCompLoc(); }
|
||||
J3DTexMtx* getTexMtx(u32 idx) { return mTexGenBlock->getTexMtx(idx); }
|
||||
void setTexMtx(u32 idx, J3DTexMtx* texMtx) { mTexGenBlock->setTexMtx(idx, texMtx); }
|
||||
J3DTexCoord* getTexCoord(u32 idx) { return mTexGenBlock->getTexCoord(idx); }
|
||||
u16 getIndex() { return mIndex; }
|
||||
bool isDrawModeOpaTexEdge() { return (mMaterialMode & 3) == 0; }
|
||||
J3DPEBlock* getPEBlock() { return mPEBlock; }
|
||||
@@ -87,6 +88,28 @@ public:
|
||||
void setMaterialAnm(J3DMaterialAnm* i_anm) { mMaterialAnm = i_anm; }
|
||||
void setCullMode(u8 i_mode) { mColorBlock->setCullMode(i_mode); }
|
||||
|
||||
void addShape(J3DShape*) {}
|
||||
void getAmbColor(u32) {}
|
||||
void getColorChan(u32) {}
|
||||
void getColorChanNum() const {}
|
||||
void getCullMode() const {}
|
||||
void getCurrentMtx() const {}
|
||||
void getDither() const {}
|
||||
void getIndTevStage(u32) {}
|
||||
void getIndTexCoordScale(u32) {}
|
||||
void getIndTexOrder(u32) {}
|
||||
void getLight(u32) {}
|
||||
void getMatColor(u32) {}
|
||||
void getTevKAlphaSel(u32) {}
|
||||
void getTevKColorSel(u32) {}
|
||||
void getTevOrder(u32) {}
|
||||
void getTevStage(u32) {}
|
||||
void getTevSwapModeTable(u32) {}
|
||||
void getZCompLoc() const {}
|
||||
void setJoint(J3DJoint*) {}
|
||||
void setLight(u32, J3DLightObj*) {}
|
||||
void setTevStageNum(u8) {}
|
||||
|
||||
public:
|
||||
/* 0x04 */ J3DMaterial* mNext;
|
||||
/* 0x08 */ J3DShape* mShape;
|
||||
|
||||
@@ -57,9 +57,9 @@ public:
|
||||
mTexMtxInfo = info;
|
||||
}
|
||||
~J3DTexMtx() {}
|
||||
void load(u32 i) const {
|
||||
void load(u32 texMtxID) const {
|
||||
GDOverflowCheck(53);
|
||||
J3DGDLoadTexMtxImm((Mtx&)mMtx, i * 3 + 30, (GXTexMtxType)mTexMtxInfo.mProjection);
|
||||
J3DGDLoadTexMtxImm((Mtx&)mMtx, GX_TEXMTX0 + texMtxID * 3, (GXTexMtxType)mTexMtxInfo.mProjection);
|
||||
};
|
||||
void calc();
|
||||
void calcTexMtx(f32 const (*)[4]);
|
||||
@@ -71,13 +71,15 @@ public:
|
||||
Mtx& getMtx() { return mMtx; }
|
||||
void setEffectMtx(Mtx effectMtx) { mTexMtxInfo.setEffectMtx(effectMtx); }
|
||||
Mtx& getViewMtx() { return mViewMtx; }
|
||||
void setViewMtx(const Mtx viewMtx) { MTXCopy(viewMtx, mViewMtx); }
|
||||
void setViewMtx(Mtx viewMtx) { MTXCopy(viewMtx, mViewMtx); }
|
||||
|
||||
void getTextureSRT() {}
|
||||
|
||||
private:
|
||||
/* 0x00 */ J3DTexMtxInfo mTexMtxInfo;
|
||||
/* 0x64 */ Mtx mMtx;
|
||||
/* 0x94 */ Mtx mViewMtx;
|
||||
}; // Size: 0xc4
|
||||
}; // Size: 0xC4
|
||||
|
||||
struct J3DTexCoord : public J3DTexCoordInfo {
|
||||
J3DTexCoord() { *(J3DTexCoordInfo*)this = j3dDefaultTexCoordInfo[0]; }
|
||||
|
||||
@@ -121,8 +121,8 @@ public:
|
||||
bool getDirEntry(SDirEntry*, u32) const;
|
||||
void* getIdxResource(u32);
|
||||
void* getResource(u16);
|
||||
u32 readIdxResource(void*, u32, u32);
|
||||
u32 readResource(void*, u32, u16);
|
||||
u32 readIdxResource(void* buffer, u32 bufferSize, u32 index);
|
||||
u32 readResource(void* buffer, u32 bufferSize, u16 id);
|
||||
u32 countResource(u32) const;
|
||||
JKRArcFinder* getFirstResource(u32) const;
|
||||
u32 getFileAttribute(u32) const;
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
#include "dolphin/types.h"
|
||||
|
||||
struct counter_class {
|
||||
u32 mCounter0;
|
||||
s32 mCounter1;
|
||||
u32 mTimer;
|
||||
/* 0x00 */ u32 mCounter0;
|
||||
/* 0x04 */ s32 mCounter1;
|
||||
/* 0x08 */ u32 mTimer;
|
||||
};
|
||||
|
||||
extern counter_class g_Counter;
|
||||
|
||||
@@ -22,7 +22,7 @@ public:
|
||||
cXyz getMoveVec() const { return mMoveVec; }
|
||||
u32 getCarryActorID() const { return mCarryActorID; }
|
||||
void getHookAngle() {}
|
||||
void getMtxTop() {}
|
||||
MtxP getMtxTop() { return mMtx; }
|
||||
void getObjHookFlg() const {}
|
||||
void getSightHit() const {}
|
||||
void getObjSightCrossPos() {}
|
||||
@@ -72,7 +72,7 @@ public:
|
||||
/* 0x3D4 */ dCcD_Cps mCps;
|
||||
/* 0x50C */ cXyz m50C;
|
||||
/* 0x518 */ u32 mCarryActorID;
|
||||
/* 0x51C */ Mtx m51C;
|
||||
/* 0x51C */ Mtx mMtx;
|
||||
/* 0x54C */ ProcFunc mCurrProcFunc;
|
||||
};
|
||||
|
||||
|
||||
+212
-26
@@ -36,7 +36,7 @@ public:
|
||||
public:
|
||||
/* 0x6C */ cXy mEyePosOld;
|
||||
/* 0x74 */ cXy mEyePos;
|
||||
};
|
||||
}; // Size: 0x7C
|
||||
|
||||
class daPy_mtxFollowEcallBack_c : public dPa_levelEcallBack {
|
||||
public:
|
||||
@@ -54,9 +54,12 @@ public:
|
||||
|
||||
STATIC_ASSERT(sizeof(daPy_mtxFollowEcallBack_c) == 0x0C);
|
||||
|
||||
// TODO: this probably does not belong in d_a_player.h based on the .text section splitting in d_a_player_main
|
||||
class daPy_HIO_c {
|
||||
public:
|
||||
daPy_HIO_c() {}
|
||||
// TODO: constructor should be weak, but not inlined?
|
||||
// daPy_HIO_c() {}
|
||||
daPy_HIO_c();
|
||||
|
||||
public:
|
||||
/* 0x00 */ u8 temp[0x3F - 0x00];
|
||||
@@ -109,6 +112,7 @@ public:
|
||||
daPyFlg0_UNK10000 = 0x00010000,
|
||||
daPyFlg0_NO_FALL_VOICE = 0x00040000,
|
||||
daPyFlg0_SCOPE_CANCEL = 0x00080000,
|
||||
daPyFlg0_PHOTO_BOX_CANCEL = 0x00080000, // Same as scope cancel
|
||||
daPyFlg0_UNK200000 = 0x00200000,
|
||||
daPyFlg0_EQUIP_HEAVY_BOOTS = 0x02000000,
|
||||
daPyFlg0_NO_DRAW = 0x08000000,
|
||||
@@ -164,42 +168,220 @@ public:
|
||||
};
|
||||
|
||||
enum daPy_FACE {
|
||||
|
||||
// Index in daPy_lk_c::mTexAnmIndexTable
|
||||
daPyFace_TMABAA = 0x00,
|
||||
daPyFace_TMABAA_TEUP = 0x01,
|
||||
daPyFace_TMABAB = 0x02,
|
||||
daPyFace_TMABAC = 0x03,
|
||||
daPyFace_TMABACB = 0x04,
|
||||
daPyFace_TMABACB_TEDW = 0x05,
|
||||
daPyFace_TMABACC = 0x06,
|
||||
daPyFace_TMABAD = 0x07,
|
||||
daPyFace_TMABAD_TEDW = 0x08,
|
||||
daPyFace_TMABAE = 0x09,
|
||||
daPyFace_TMABAE_TEUP = 0x0A,
|
||||
daPyFace_TMABAE_TEDW = 0x0B,
|
||||
daPyFace_TMABAE_TEL = 0x0C,
|
||||
daPyFace_TMABAE_TER = 0x0D,
|
||||
daPyFace_TMABAF = 0x0E,
|
||||
daPyFace_TMABAG = 0x0F,
|
||||
daPyFace_TMABAH = 0x10,
|
||||
daPyFace_TMABAI = 0x11,
|
||||
daPyFace_TMABAJ_TEYORIME = 0x12,
|
||||
daPyFace_TMABAD_TWAITPICKUP = 0x13,
|
||||
daPyFace_TMABAC_THOOKSHOTJMP = 0x14,
|
||||
daPyFace_TGRABP = 0x15,
|
||||
daPyFace_TGRABUP = 0x16,
|
||||
daPyFace_TGRABNG = 0x17,
|
||||
daPyFace_TGRABTHROW = 0x18,
|
||||
daPyFace_TGRABRE = 0x19,
|
||||
daPyFace_TWALLWL = 0x1A,
|
||||
daPyFace_TWALLWR = 0x1B,
|
||||
daPyFace_TWALLPL = 0x1C,
|
||||
daPyFace_TWALLPR = 0x1D,
|
||||
daPyFace_TCUT = 0x1E,
|
||||
daPyFace_TCUTEA = 0x1F,
|
||||
daPyFace_TCUTEA_TECN = 0x20,
|
||||
daPyFace_TEXCA1 = 0x21,
|
||||
daPyFace_TEXCB1 = 0x22,
|
||||
daPyFace_TJATTACK = 0x23,
|
||||
daPyFace_TJATTACK_TEUP = 0x24,
|
||||
daPyFace_TCUTTURNP = 0x25,
|
||||
daPyFace_TCUTTURN = 0x26,
|
||||
daPyFace_TMJMP = 0x27,
|
||||
daPyFace_TMJMPC = 0x28,
|
||||
daPyFace_TMROLLL = 0x29,
|
||||
daPyFace_TMROLLR = 0x2A,
|
||||
daPyFace_TMROLLLC = 0x2B,
|
||||
daPyFace_TMROLLRC = 0x2C,
|
||||
daPyFace_TMSTEPOVER = 0x2D,
|
||||
daPyFace_TMSTEPOVERA = 0x2E,
|
||||
daPyFace_TMSTEPOVERLAND = 0x2F,
|
||||
daPyFace_TATNJL = 0x30,
|
||||
daPyFace_TATNJR = 0x31,
|
||||
daPyFace_TJMP = 0x32,
|
||||
daPyFace_TROLLF = 0x33,
|
||||
daPyFace_TROLLB = 0x34,
|
||||
daPyFace_TROLLBLAND = 0x35,
|
||||
daPyFace_TROLLFMIS = 0x36,
|
||||
daPyFace_TFALL = 0x37,
|
||||
daPyFace_TLANDDAMA = 0x38,
|
||||
daPyFace_TLANDDAMAST = 0x39,
|
||||
daPyFace_TDAM = 0x3A,
|
||||
daPyFace_TDAMF = 0x3B,
|
||||
daPyFace_TDAMFFUP = 0x3C,
|
||||
daPyFace_TDAMFBUP = 0x3D,
|
||||
daPyFace_TDAMFLUP = 0x3E,
|
||||
daPyFace_TDAMFRUP = 0x3F,
|
||||
daPyFace_TDAMDASH = 0x40,
|
||||
daPyFace_TGUARD = 0x41,
|
||||
daPyFace_TSLIDEF = 0x42,
|
||||
daPyFace_TSLIDEFLAND = 0x43,
|
||||
daPyFace_TSLIDEB = 0x44,
|
||||
daPyFace_TSLIDEBLAND = 0x45,
|
||||
daPyFace_TSWIMP = 0x46,
|
||||
daPyFace_TSWIMING = 0x47,
|
||||
daPyFace_TBOOMTHROW = 0x48,
|
||||
daPyFace_TBOOMCATCH = 0x49,
|
||||
daPyFace_TWALKPUSH = 0x4A,
|
||||
daPyFace_TWALKPULL = 0x4B,
|
||||
daPyFace_TVJMPCHA = 0x4C,
|
||||
daPyFace_TVJMPCL = 0x4D,
|
||||
daPyFace_TROPECLIMB = 0x4E,
|
||||
daPyFace_TROPEDOWN = 0x4F,
|
||||
daPyFace_TLADDERUPST = 0x50,
|
||||
daPyFace_TLADDERDWST = 0x51,
|
||||
daPyFace_TLADDERUPED = 0x52,
|
||||
daPyFace_TLADDERDWED = 0x53,
|
||||
daPyFace_THANGING = 0x54,
|
||||
daPyFace_THANGUP = 0x55,
|
||||
daPyFace_TLAVADAM = 0x56,
|
||||
daPyFace_TCUTRE = 0x57,
|
||||
daPyFace_TCUTTURNB = 0x58,
|
||||
daPyFace_TWAITATOB = 0x59,
|
||||
daPyFace_TCOMEOUT = 0x5A,
|
||||
daPyFace_THOLDUP = 0x5B,
|
||||
daPyFace_TWALLHOLDUP = 0x5C,
|
||||
daPyFace_TITEMGET = 0x5D,
|
||||
daPyFace_TSALTATION = 0x5E,
|
||||
daPyFace_TWHO = 0x5F,
|
||||
daPyFace_TPICKUP = 0x60,
|
||||
daPyFace_TBOXOPENLINK = 0x61,
|
||||
daPyFace_TBOXOPENSHORTLINK = 0x62,
|
||||
daPyFace_TDIELONG = 0x63,
|
||||
daPyFace_TSWIMDIE = 0x64,
|
||||
daPyFace_TSURPRISED = 0x65,
|
||||
daPyFace_TTURNBACK = 0x66,
|
||||
daPyFace_TLOOKUP = 0x67,
|
||||
daPyFace_TWAITQ = 0x68,
|
||||
daPyFace_TGLAD = 0x69,
|
||||
daPyFace_TCUTBOKO = 0x6A,
|
||||
daPyFace_SHIP_JUMP1 = 0x6B,
|
||||
daPyFace_SHIP_JUMP2 = 0x6C,
|
||||
daPyFace_TUSEFANA = 0x6D,
|
||||
daPyFace_TUSEFANB = 0x6E,
|
||||
daPyFace_TUSEFANB2 = 0x6F,
|
||||
daPyFace_TBOWWAIT = 0x70,
|
||||
daPyFace_TVOMITJMP = 0x71,
|
||||
daPyFace_TREST = 0x72,
|
||||
daPyFace_TTAKE = 0x73,
|
||||
daPyFace_TTAKELR = 0x74,
|
||||
daPyFace_TSLIPICE = 0x75,
|
||||
daPyFace_THAMSWINGA = 0x76,
|
||||
daPyFace_THAMSWINGBPRE = 0x77,
|
||||
daPyFace_THAMSWINGBHIT = 0x78,
|
||||
daPyFace_THAMSWINGBEND = 0x79,
|
||||
daPyFace_TSETBOOTS = 0x7A,
|
||||
daPyFace_TDOOROPENALINK = 0x7B,
|
||||
daPyFace_TDOOROPENBLINK = 0x7C,
|
||||
daPyFace_TSEYYES = 0x7D,
|
||||
daPyFace_TPRESENTATIONA = 0x7E,
|
||||
daPyFace_TWINDL = 0x7F,
|
||||
daPyFace_TWINDR = 0x80,
|
||||
daPyFace_TPRESENTATIONB = 0x81,
|
||||
daPyFace_TBINDRINKPRE = 0x82,
|
||||
daPyFace_TBINDRINKING = 0x83,
|
||||
daPyFace_TBINDRINKAFTER = 0x84,
|
||||
daPyFace_TBINDRINKPRE2 = 0x85,
|
||||
daPyFace_TBINDRINKING2 = 0x86,
|
||||
daPyFace_TBINDRINKAFTER2 = 0x87,
|
||||
daPyFace_TBINOPENPRE = 0x88,
|
||||
daPyFace_TBINOPENA = 0x89,
|
||||
daPyFace_TBINOPENB = 0x8A,
|
||||
daPyFace_TBINSWING = 0x8B,
|
||||
daPyFace_TBINGET = 0x8C,
|
||||
daPyFace_TARROWRELORD = 0x8D,
|
||||
daPyFace_TSURPRISEDB = 0x8E,
|
||||
daPyFace_TFAN = 0x8F,
|
||||
daPyFace_TNENRIKI = 0x90,
|
||||
daPyFace_TMABAB_TEDL = 0x91,
|
||||
daPyFace_TMABAH_TABEKOBE = 0x92,
|
||||
daPyFace_TSETHYOINOMI = 0x93,
|
||||
daPyFace_LINK_FREEZ = 0x94,
|
||||
daPyFace_LINK_MOGAKI = 0x95,
|
||||
daPyFace_TDAMBIRI = 0x96,
|
||||
daPyFace_SALVLR = 0x97,
|
||||
daPyFace_SALVWAIT = 0x98,
|
||||
daPyFace_SALVBAD = 0x99,
|
||||
daPyFace_SALVGOOD = 0x9A,
|
||||
daPyFace_SEARESET = 0x9B,
|
||||
daPyFace_TWARPIN = 0x9C,
|
||||
daPyFace_TWARPOUT = 0x9D,
|
||||
daPyFace_TPOWUPWAIT = 0x9E,
|
||||
daPyFace_TPOWUP = 0x9F,
|
||||
daPyFace_TCUTKESA = 0xA0,
|
||||
daPyFace_TWARPOUTFIRST = 0xA1,
|
||||
daPyFace_TDASHKAZE = 0xA2,
|
||||
daPyFace_TIYAYA = 0xA3,
|
||||
daPyFace_TFREEA = 0xA4,
|
||||
daPyFace_TFREEB = 0xA5,
|
||||
daPyFace_TFREED = 0xA6,
|
||||
daPyFace_TTAKTKAZE = 0xA7,
|
||||
daPyFace_TTAKTSIPPU = 0xA8,
|
||||
daPyFace_TTAKTCHUYA = 0xA9,
|
||||
daPyFace_TTAKTFUJIN = 0xAA,
|
||||
daPyFace_TTAKTAYATSURI = 0xAB,
|
||||
daPyFace_TTAKTCHISIN = 0xAC,
|
||||
daPyFace_UNKNOWN = 0xAD, // Not an index, this is a special value checked in checkNormalFace()
|
||||
};
|
||||
|
||||
/* 0x290 */ u8 mAttackState;
|
||||
/* 0x290 */ u8 mCutType;
|
||||
/* 0x291 */ u8 field_0x291;
|
||||
/* 0x292 */ u8 field_0x292[0x294 - 0x292];
|
||||
/* 0x294 */ s16 mDamageWaitTimer;
|
||||
/* 0x296 */ s16 mQuakeTimer;
|
||||
/* 0x298 */ int field_0x298;
|
||||
/* 0x298 */ int mFace;
|
||||
/* 0x29C */ u32 mNoResetFlg0;
|
||||
/* 0x2A0 */ u32 mNoResetFlg1;
|
||||
/* 0x2A4 */ u32 mResetFlg0;
|
||||
/* 0x2A8 */ f32 field_0x2a8;
|
||||
/* 0x2AC */ f32 field_0x2ac;
|
||||
/* 0x2AC */ f32 mHeight;
|
||||
/* 0x2B0 */ f32 field_0x2b0;
|
||||
/* 0x2B4 */ csXyz mBodyAngle;
|
||||
/* 0x2BA */ u8 field_0x2BA[0x2BC - 0x2BA];
|
||||
/* 0x2BC */ cXyz mHeadTopPos;
|
||||
/* 0x2C8 */ cXyz mSwordTopPos;
|
||||
/* 0x2D4 */ cXyz field_0x2d4;
|
||||
/* 0x2E0 */ cXyz field_0x2e0;
|
||||
/* 0x2D4 */ cXyz mLeftHandPos;
|
||||
/* 0x2E0 */ cXyz mRightHandPos;
|
||||
/* 0x2EC */ cXyz mRopePos;
|
||||
/* 0x2F8 */ cXyz field_0x2f8;
|
||||
/* 0x304 */ daPy_demo_c mDemo;
|
||||
/* 0x31C */ /* vtable */
|
||||
|
||||
u8 getCutType() const { return mAttackState; }
|
||||
f32 getSpeedF() const { return speedF; }
|
||||
u8 getCutType() const { return mCutType; }
|
||||
s16 getDamageWaitTimer() const { return mDamageWaitTimer; }
|
||||
s16 getBodyAngleX() { return mBodyAngle.x; }
|
||||
s16 getBodyAngleY() { return mBodyAngle.y; }
|
||||
void getLeftHandPos() const {}
|
||||
void getRightHandPos() const {}
|
||||
void getSwordTopPos() const {}
|
||||
f32 getHeight() const { return mHeight; }
|
||||
s16 getBodyAngleX() const { return mBodyAngle.x; }
|
||||
s16 getBodyAngleY() const { return mBodyAngle.y; }
|
||||
cXyz getHeadTopPos() const { return mHeadTopPos; }
|
||||
cXyz* getHeadTopPosP() { return &mHeadTopPos; }
|
||||
f32 getSpeedF() const { return speedF; }
|
||||
cXyz getSwordTopPos() const { return mSwordTopPos;}
|
||||
cXyz getLeftHandPos() const { return mLeftHandPos; }
|
||||
cXyz getRightHandPos() const { return mRightHandPos; }
|
||||
cXyz getRopePos() const { return mRopePos; }
|
||||
void getCutCount() const {} // field_0x291?
|
||||
void getYPos() const {}
|
||||
|
||||
void changeDemoMode(u32) {}
|
||||
void changeDemoMoveAngle(s16 angle) { mDemo.setMoveAngle(angle); }
|
||||
@@ -208,6 +390,7 @@ public:
|
||||
mDemo.setOriginalDemoType();
|
||||
mDemo.setParam0(0);
|
||||
}
|
||||
void cancelOriginalDemo() {}
|
||||
|
||||
void onNoResetFlg0(daPy_FLG0 flag) { mNoResetFlg0 |= flag; }
|
||||
void offNoResetFlg0(daPy_FLG0 flag) { mNoResetFlg0 &= ~flag; }
|
||||
@@ -218,6 +401,7 @@ public:
|
||||
bool checkEquipHoverBoots() const { return checkNoResetFlg0(daPyFlg0_HOVER_BOOTS); }
|
||||
void onNoFallVoice() { onNoResetFlg0(daPyFlg0_NO_FALL_VOICE); }
|
||||
void onScopeCancel() { onNoResetFlg0(daPyFlg0_SCOPE_CANCEL); }
|
||||
void onPhotoBoxCancel() { onNoResetFlg0(daPyFlg0_PHOTO_BOX_CANCEL); }
|
||||
bool checkEquipHeavyBoots() const { return checkNoResetFlg0(daPyFlg0_EQUIP_HEAVY_BOOTS); }
|
||||
void onPlayerNoDraw() { onNoResetFlg0(daPyFlg0_NO_DRAW); }
|
||||
void offPlayerNoDraw() { offNoResetFlg0(daPyFlg0_NO_DRAW); }
|
||||
@@ -271,13 +455,19 @@ public:
|
||||
bool checkArrowShoot() const { return checkResetFlg0(daPyRFlg0_ARROW_SHOOT); }
|
||||
|
||||
bool checkGrabWear() const { return field_0x2b0 < 0.0f; }
|
||||
void checkMasterSwordEquip() const {}
|
||||
void setFace(daPy_FACE face) { mFace = face; }
|
||||
|
||||
// checkSwordMiniGame__9daPy_py_cCFv
|
||||
// checkNormalSwordEquip__9daPy_py_cCFv
|
||||
// checkBowMiniGame__9daPy_py_cCFv
|
||||
// checkUseArrowEffect__9daPy_py_cCFv
|
||||
// checkFinalMasterSwordEquip__9daPy_py_cCFv
|
||||
void checkNormalSwordEquip() const {}
|
||||
void checkMasterSwordEquip() const {}
|
||||
void checkFinalMasterSwordEquip() const {}
|
||||
void checkBowMiniGame() const {}
|
||||
void checkSwordMiniGame() const {}
|
||||
void checkSoupPowerUp() const {}
|
||||
void checkSubjectAccept() const {}
|
||||
void checkTactInput() const {}
|
||||
void checkUseArrowEffect() const {}
|
||||
void getRopeJumpLand() const {}
|
||||
void checkRopeForceEnd() const {}
|
||||
|
||||
virtual MtxP getLeftHandMatrix() = 0;
|
||||
virtual MtxP getRightHandMatrix() = 0;
|
||||
@@ -301,7 +491,7 @@ public:
|
||||
virtual u32 getThrowBoomerangID() const { return -1; }
|
||||
virtual u32 getGrabActorID() const { return -1; }
|
||||
virtual BOOL checkGrabBarrel() { return FALSE; }
|
||||
virtual BOOL checkPlayerNoDraw() { return FALSE; }
|
||||
virtual u32 checkPlayerNoDraw() { return FALSE; }
|
||||
virtual BOOL checkRopeTag() { return FALSE; }
|
||||
virtual BOOL checkRopeReadyAnime() const { return FALSE; }
|
||||
virtual void voiceStart(u32) {}
|
||||
@@ -317,14 +507,10 @@ public:
|
||||
virtual void changeTextureAnime(u16, u16, int) {}
|
||||
virtual void cancelChangeTextureAnime() {}
|
||||
|
||||
void getRopeJumpLand() const;
|
||||
void checkRopeForceEnd() const;
|
||||
void changePlayer(fopAc_ac_c*);
|
||||
void objWindHitCheck(dCcD_Cyl*);
|
||||
void setDoButtonQuake();
|
||||
void stopDoButtonQuake(int);
|
||||
void getRopePos() const;
|
||||
void setFace(daPy_py_c::daPy_FACE) {}
|
||||
}; // Size: 0x320
|
||||
|
||||
#endif /* D_A_PLAYER */
|
||||
|
||||
@@ -206,21 +206,24 @@ class daPy_footData_c {
|
||||
public:
|
||||
~daPy_footData_c();
|
||||
daPy_footData_c();
|
||||
|
||||
|
||||
public:
|
||||
/* 0x000 */ u8 field_0x000[0x034 - 0x000];
|
||||
/* 0x034 */ dBgS_LinkGndChk field_0x034;
|
||||
/* 0x088 */ u8 field_0x088[0x118 - 0x088];
|
||||
};
|
||||
|
||||
struct daPy_aura_c {
|
||||
J3DModel* mpYaura00Model;
|
||||
f32 mFrame;
|
||||
|
||||
public:
|
||||
void setModel(J3DModel* model) { mpYaura00Model = model; }
|
||||
J3DModel* getModel() { return mpYaura00Model; }
|
||||
void setFrame(f32 frame) { mFrame = frame; }
|
||||
f32 getFrame() { return mFrame; }
|
||||
};
|
||||
|
||||
public:
|
||||
/* 0x00 */ J3DModel* mpYaura00Model;
|
||||
/* 0x04 */ f32 mFrame;
|
||||
}; // Size: 0x08
|
||||
|
||||
class daPy_anmIndex_c {
|
||||
public:
|
||||
@@ -1496,7 +1499,7 @@ public:
|
||||
J3DAnmTransform* getAnimeResource(daPy_anmHeap_c*, u16, u32);
|
||||
void getUnderUpperAnime(daPy_anmIndex_c const*, J3DAnmTransform**, J3DAnmTransform**, int, u32);
|
||||
void setTextureAnimeResource(J3DAnmTexPattern*, int);
|
||||
void loadTextureAnimeResource(u32, int);
|
||||
J3DAnmTexPattern* loadTextureAnimeResource(u32, BOOL);
|
||||
BOOL checkBossBgm();
|
||||
BOOL checkMabaAnimeBtp(int);
|
||||
BOOL checkNormalFace();
|
||||
@@ -2151,8 +2154,8 @@ public:
|
||||
BOOL procHookshotMove();
|
||||
BOOL procHookshotFly_init();
|
||||
BOOL procHookshotFly();
|
||||
void fanWindEffectDraw();
|
||||
void fanWindCrashEffectDraw();
|
||||
BOOL fanWindEffectDraw();
|
||||
BOOL fanWindCrashEffectDraw();
|
||||
void fanJointCB(int);
|
||||
void parachuteJointCB(int);
|
||||
void setShapeFanLeaf();
|
||||
@@ -2421,7 +2424,7 @@ public:
|
||||
virtual u32 getThrowBoomerangID() const { return mActorKeepThrow.getID(); }
|
||||
virtual u32 getGrabActorID() const { return mActorKeepGrab.getID(); }
|
||||
virtual BOOL checkGrabBarrel() { return checkGrabBarrelSearch(1); }
|
||||
virtual BOOL checkPlayerNoDraw() { return dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, 2) || checkNoResetFlg0(daPyFlg0_NO_DRAW); }
|
||||
virtual u32 checkPlayerNoDraw() { return dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, 2) || checkNoResetFlg0(daPyFlg0_NO_DRAW); }
|
||||
virtual BOOL checkRopeTag() { return mActorKeepEquip.getActor() == NULL; }
|
||||
virtual BOOL checkRopeReadyAnime() const { return m_anm_heap_upper[2].mIdx == LKANM_BCK_ROPETHROWWAIT; }
|
||||
virtual void voiceStart(u32);
|
||||
@@ -2445,10 +2448,10 @@ public:
|
||||
/* 0x0338 */ ResTIMG* mpCurrLinktex;
|
||||
/* 0x033C */ ResTIMG mOtherLinktex;
|
||||
/* 0x035C */ J3DAnmTexPattern* m035C;
|
||||
/* 0x0360 */ J3DTexNoAnm* mpTexNoAnm;
|
||||
/* 0x0360 */ J3DTexNoAnm* m_texNoAnms;
|
||||
/* 0x0364 */ J3DAnmTextureSRTKey* mpTexScrollResData;
|
||||
/* 0x0368 */ J3DTexMtxAnm* mpTexMtxAnm;
|
||||
/* 0x036C */ daPy_matAnm_c* mpTexEyeScroll[2];
|
||||
/* 0x0368 */ J3DTexMtxAnm* m_texMtxAnm;
|
||||
/* 0x036C */ daPy_matAnm_c* m_tex_eye_scroll[2];
|
||||
/* 0x0374 */ J3DShape* mpZOffBlendShape[4];
|
||||
/* 0x0384 */ J3DShape* mpZOffNoneShape[4];
|
||||
/* 0x0394 */ J3DShape* mpZOnShape[4];
|
||||
@@ -2543,18 +2546,8 @@ public:
|
||||
/* 0x31AC */ fopAc_ac_c* mpAttnActorY;
|
||||
/* 0x31B0 */ fopAc_ac_c* mpAttnActorZ;
|
||||
/* 0x31B4 */ mDoExt_MtxCalcOldFrame* m_old_fdata;
|
||||
/* 0x31B8 */ u16 mTexAnimeResIdx;
|
||||
/* 0x31BA */ u16 m31BA;
|
||||
/* 0x31BC */ u16 m31BC;
|
||||
/* 0x31BE */ u16 m31BE;
|
||||
/* 0x31C0 */ void* mpTextureAnimeResData;
|
||||
/* 0x31C4 */ JKRSolidHeap* mpTextureAnimeResHeap;
|
||||
/* 0x31C8 */ u16 mTexScrollResIdx;
|
||||
/* 0x31CA */ u16 m31CA;
|
||||
/* 0x31CC */ u16 m31CC;
|
||||
/* 0x31CE */ u16 m31CE;
|
||||
/* 0x31D0 */ void* mpTextureScrollResData;
|
||||
/* 0x31D4 */ JKRSolidHeap* mpTextureScrollResHeap;
|
||||
/* 0x31B8 */ daPy_anmHeap_c m_tex_anm_heap;
|
||||
/* 0x31C8 */ daPy_anmHeap_c m_tex_scroll_heap;
|
||||
/* 0x31D8 */ int mCurProc;
|
||||
/* 0x31DC */ ProcFunc mCurProcFunc;
|
||||
/* 0x31E8 */ daPy_footEffect_c m31E8[2];
|
||||
@@ -2658,8 +2651,8 @@ public:
|
||||
/* 0x352A */ s16 m352A;
|
||||
/* 0x352C */ s16 m352C;
|
||||
/* 0x352E */ s16 m352E;
|
||||
/* 0x3530 */ s16 m3530;
|
||||
/* 0x3532 */ s16 m3532;
|
||||
/* 0x3530 */ u16 m3530;
|
||||
/* 0x3532 */ u16 m3532;
|
||||
/* 0x3534 */ s16 m3534;
|
||||
/* 0x3536 */ s16 m3536;
|
||||
/* 0x3538 */ s16 m3538;
|
||||
@@ -2681,7 +2674,7 @@ public:
|
||||
/* 0x3558 */ s16 m3558;
|
||||
/* 0x355A */ s16 m355A;
|
||||
/* 0x355C */ s16 m355C;
|
||||
/* 0x355E */ u16 m355E;
|
||||
/* 0x355E */ s16 m355E;
|
||||
/* 0x3560 */ u16 mHeldItemType;
|
||||
/* 0x3562 */ u8 m3562[0x3564 - 0x3562];
|
||||
/* 0x3564 */ s16 m3564;
|
||||
|
||||
@@ -410,6 +410,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
JKRArchive* getLkDemoAnmArchive() { return mpLkDArc; }
|
||||
void setLkDemoAnmArchive(JKRArchive* i_arc) { mpLkDArc = i_arc; }
|
||||
void setStatus(u16 status) { mStatus = status; }
|
||||
void onStatus(u16 status) { mStatus |= status; }
|
||||
@@ -536,6 +537,8 @@ public:
|
||||
inline void stopFwaterTimer() { mFwaterTimer = 0; }
|
||||
inline u8 checkFwaterTimer() { return mFwaterTimer; }
|
||||
|
||||
inline u8 getMiniGameType() { return mMiniGameType; }
|
||||
|
||||
/* 0x0000 */ dBgS mBgS;
|
||||
/* 0x1404 */ dCcS mCcS;
|
||||
/* 0x3DF8 */ dADM mADM;
|
||||
@@ -1948,6 +1951,10 @@ inline dDemo_actor_c* dComIfGp_demo_getActor(u8 id) {
|
||||
return g_dComIfG_gameInfo.play.getDemo()->mDemoObj.getActor(id);
|
||||
}
|
||||
|
||||
inline JKRArchive* dComIfGp_getLkDemoAnmArchive() {
|
||||
return g_dComIfG_gameInfo.play.getLkDemoAnmArchive();
|
||||
}
|
||||
|
||||
inline void dComIfGp_setLkDemoAnmArchive(JKRArchive* i_arc) {
|
||||
g_dComIfG_gameInfo.play.setLkDemoAnmArchive(i_arc);
|
||||
}
|
||||
@@ -2163,7 +2170,7 @@ inline void dComIfGp_setCurrentGrafPort(J2DOrthoGraph* i_graf) {
|
||||
inline u8 dComIfGp_getMiniGameType() {
|
||||
// TODO add enum for minigame type.
|
||||
// 0 for none, 8 for shooting the fishman, 2/6 for orca, 7 for mail sorting, etc
|
||||
return g_dComIfG_gameInfo.play.mMiniGameType;
|
||||
return g_dComIfG_gameInfo.play.getMiniGameType();
|
||||
}
|
||||
|
||||
inline void dComIfGp_setAStatus(u8 status) {
|
||||
|
||||
@@ -70,6 +70,14 @@ inline void mDoAud_bgmStop(u32 param_0) {
|
||||
mDoAud_zelAudio_c::getInterface()->bgmStop(param_0, 0);
|
||||
}
|
||||
|
||||
inline int mDoAud_checkPlayingMainBgmFlag() {
|
||||
return mDoAud_zelAudio_c::getInterface()->checkPlayingMainBgmFlag();
|
||||
}
|
||||
|
||||
inline int mDoAud_checkPlayingSubBgmFlag() {
|
||||
return mDoAud_zelAudio_c::getInterface()->checkPlayingSubBgmFlag();
|
||||
}
|
||||
|
||||
inline void mDoAud_prepareLandingDemo(u32 idx) {
|
||||
mDoAud_zelAudio_c::getInterface()->prepareLandingDemo(idx);
|
||||
}
|
||||
|
||||
@@ -223,7 +223,7 @@ public:
|
||||
|
||||
private:
|
||||
/* 0x2C */ void* mBas;
|
||||
};
|
||||
}; // Size: 0x30
|
||||
|
||||
class mDoExt_MtxCalcOldFrame {
|
||||
public:
|
||||
@@ -555,6 +555,8 @@ public:
|
||||
~mDoExt_offCupOnAupPacket();
|
||||
|
||||
void draw();
|
||||
|
||||
void entryOpa() { j3dSys.getDrawBuffer(0)->entryImm(this, 0); }
|
||||
};
|
||||
|
||||
class mDoExt_onCupOffAupPacket : public J3DPacket {
|
||||
@@ -562,6 +564,8 @@ public:
|
||||
~mDoExt_onCupOffAupPacket();
|
||||
|
||||
void draw();
|
||||
|
||||
void entryOpa() { j3dSys.getDrawBuffer(0)->entryImm(this, 0); }
|
||||
};
|
||||
|
||||
class mDoExt_3Dline_c {
|
||||
|
||||
@@ -231,6 +231,7 @@ s32 J3DMaterialTable::setTexNoAnimator(J3DAnmTexPattern* pAnm, J3DTexNoAnm* pAnm
|
||||
|
||||
/* 802F6600-802F6798 .text setTexMtxAnimator__16J3DMaterialTableFP19J3DAnmTextureSRTKeyP12J3DTexMtxAnmP12J3DTexMtxAnm */
|
||||
s32 J3DMaterialTable::setTexMtxAnimator(J3DAnmTextureSRTKey* pAnm, J3DTexMtxAnm* pTexAnm, J3DTexMtxAnm* pDualAnmR) {
|
||||
/* Nonmatching - regalloc */
|
||||
s32 ret = 0;
|
||||
u16 materialNum = pAnm->getUpdateMaterialNum();
|
||||
|
||||
@@ -246,12 +247,18 @@ s32 J3DMaterialTable::setTexMtxAnimator(J3DAnmTextureSRTKey* pAnm, J3DTexMtxAnm*
|
||||
if (pMatAnm == NULL) {
|
||||
ret = 1;
|
||||
} else if (texMtxID != 0xFF) {
|
||||
if (pMaterial->getTexGenBlock()->getTexCoord(texMtxID) != NULL)
|
||||
pMaterial->getTexGenBlock()->getTexCoord(texMtxID)->setTexGenMtx(GX_TEXMTX0 + (texMtxID & 0xFF) * 3);
|
||||
if (pMaterial->getTexCoord(texMtxID) != NULL)
|
||||
pMaterial->getTexCoord(texMtxID)->setTexGenMtx(GX_TEXMTX0 + (texMtxID & 0xFF) * 3);
|
||||
|
||||
J3DTexMtx *pTexMtx = pMaterial->getTexGenBlock()->getTexMtx(texMtxID);
|
||||
J3DTexMtx *pTexMtx = pMaterial->getTexMtx(texMtxID);
|
||||
pTexMtx->getTexMtxInfo().mInfo = ((pTexMtx->getTexMtxInfo().mInfo) & 0x7F) | (pAnm->getTexMtxCalcType() << 7);
|
||||
pTexMtx->getTexMtxInfo().mCenter = pAnm->getSRTCenter(i);
|
||||
// Fakematch? The codegen doesn't match unless a temp variable is used and assigned to multiple times.
|
||||
Vec* temp = &pAnm->getSRTCenter(i);
|
||||
pTexMtx->getTexMtxInfo().mCenter.x = temp->x;
|
||||
temp = &pAnm->getSRTCenter(i);
|
||||
pTexMtx->getTexMtxInfo().mCenter.y = temp->y;
|
||||
temp = &pAnm->getSRTCenter(i);
|
||||
pTexMtx->getTexMtxInfo().mCenter.z = temp->z;
|
||||
|
||||
pMatAnm->setTexMtxAnm(texMtxID, &pTexAnm[i]);
|
||||
}
|
||||
|
||||
@@ -219,10 +219,10 @@ BOOL daHookshot_c::procWait() {
|
||||
daPy_lk_c* link = daPy_getPlayerLinkActorClass();
|
||||
current.pos = link->getHookshotRootPos();
|
||||
MtxP leftHandtx = link->getModelJointMtx(0x08); // cl_LhandA joint
|
||||
cMtx_copy(leftHandtx, m51C);
|
||||
m51C[0][3] = current.pos.x;
|
||||
m51C[1][3] = current.pos.y;
|
||||
m51C[2][3] = current.pos.z;
|
||||
cMtx_copy(leftHandtx, mMtx);
|
||||
mMtx[0][3] = current.pos.x;
|
||||
mMtx[1][3] = current.pos.y;
|
||||
mMtx[2][3] = current.pos.z;
|
||||
m2B0 = 0;
|
||||
|
||||
if (fopAcM_GetParam(this) == 1) {
|
||||
|
||||
@@ -1368,7 +1368,7 @@ BOOL daItem_c::initAction() {
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// TODO: usage of uninitialized register?
|
||||
// TODO: bug? usage of uninitialized register f31 in some cases
|
||||
f32 temp_f31;
|
||||
switch (mAction) {
|
||||
case 1:
|
||||
|
||||
@@ -231,7 +231,7 @@ void daObjBarrier_c::break_start_wait_proc() {
|
||||
if ((player_p->current.pos - current.pos).absXZ() >= 8800.0f &&
|
||||
dComIfGs_getSelectEquip(0) == MASTER_SWORD_EX)
|
||||
{
|
||||
switch (player_p->mAttackState) {
|
||||
switch (player_p->getCutType()) {
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
|
||||
@@ -521,13 +521,13 @@ void daObjMknjD::Act_c::privateCut() {
|
||||
case ACT_BREAK:
|
||||
if (daObjMknjD_break() == true) {
|
||||
if (strcmp(dComIfGp_getStartStageName(), "Ekaze") == 0 || strcmp(dComIfGp_getStartStageName(), "Edaichi") == 0) {
|
||||
mDoAud_bgmStart(0x80000000 | JA_BGM_JABOO_CAVE);
|
||||
mDoAud_bgmStart(JA_BGM_JABOO_CAVE);
|
||||
}
|
||||
else if (m043E == true) {
|
||||
mDoAud_bgmStart(0x80000000 | JA_BGM_D_WIND);
|
||||
mDoAud_bgmStart(JA_BGM_D_WIND);
|
||||
}
|
||||
else {
|
||||
mDoAud_bgmStart(0x80000000 | JA_BGM_D_EARTH);
|
||||
mDoAud_bgmStart(JA_BGM_D_EARTH);
|
||||
}
|
||||
|
||||
if (mSmokeCBs[2].getEmitter() != NULL) {
|
||||
@@ -908,10 +908,10 @@ int daObjMknjD::Act_c::Execute(Mtx** i_mtx) {
|
||||
}
|
||||
if (m0432 == 1) {
|
||||
if (m043E == true) {
|
||||
mDoAud_bgmStart(0x80000000 | JA_BGM_TAKT_MAKORE);
|
||||
mDoAud_bgmStart(JA_BGM_TAKT_MAKORE);
|
||||
}
|
||||
else {
|
||||
mDoAud_bgmStart(0x80000000 | JA_BGM_TAKT_MEDRI);
|
||||
mDoAud_bgmStart(JA_BGM_TAKT_MEDRI);
|
||||
}
|
||||
|
||||
m0432 = 0;
|
||||
|
||||
@@ -13,12 +13,12 @@
|
||||
#include "d/actor/d_a_player_main.h"
|
||||
|
||||
/* 8014BAA0-8014BAEC .text fanWindEffectDraw__9daPy_lk_cFv */
|
||||
void daPy_lk_c::fanWindEffectDraw() {
|
||||
BOOL daPy_lk_c::fanWindEffectDraw() {
|
||||
/* Nonmatching */
|
||||
}
|
||||
|
||||
/* 8014BAEC-8014BB38 .text fanWindCrashEffectDraw__9daPy_lk_cFv */
|
||||
void daPy_lk_c::fanWindCrashEffectDraw() {
|
||||
BOOL daPy_lk_c::fanWindCrashEffectDraw() {
|
||||
/* Nonmatching */
|
||||
}
|
||||
|
||||
|
||||
@@ -127,7 +127,7 @@ BOOL daPy_lk_c::procFoodThrow() {
|
||||
}
|
||||
} else if (frameCtrl.checkPass(9.0f)) {
|
||||
seStartOnlyReverb(JA_SE_LK_ESA_THROW);
|
||||
void* esa = fopAcM_fastCreate(PROC_ESA, 0xFFFF0014, &field_0x2d4, fopAcM_GetRoomNo(this), &shape_angle);
|
||||
void* esa = fopAcM_fastCreate(PROC_ESA, 0xFFFF0014, &mLeftHandPos, fopAcM_GetRoomNo(this), &shape_angle);
|
||||
if (esa) {
|
||||
m3630 = fopAcM_GetID(esa);
|
||||
if (mDemo.getDemoType() != 5) {
|
||||
|
||||
+822
-219
File diff suppressed because it is too large
Load Diff
@@ -28,7 +28,7 @@ void daPy_swimTailEcallBack_c::getMaxWaterY(JGeometry::TVec3<f32>* pos) {
|
||||
if (field_0x10 > pos->y) {
|
||||
pos->y = field_0x10 + 2.0f;
|
||||
}
|
||||
} else if (field_0x10 != 0.0f) {
|
||||
} else if (field_0x10 != -1e9f) {
|
||||
pos->y = field_0x10 + 2.0f;
|
||||
} else {
|
||||
pos->y = field_0x0C;
|
||||
|
||||
@@ -657,19 +657,19 @@ bool daRd_c::checkTgHit() {
|
||||
atInfo.pParticlePos = NULL;
|
||||
atInfo.mpObj = mCyl.GetTgHitObj();
|
||||
if (r29) {
|
||||
cXyz* temp = mCyl.GetTgHitPosP();
|
||||
cXyz* hitPos = mCyl.GetTgHitPosP();
|
||||
cc_at_check(this, &atInfo);
|
||||
if (mHitType == 1 || mHitType == 7 || mHitType == 8 || mHealth <= 0) {
|
||||
dComIfGp_particle_set(0x10, mCyl.GetTgHitPosP());
|
||||
cXyz scale(2.0f, 2.0f, 2.0f);
|
||||
dComIfGp_particle_set(dPa_name::ID_COMMON_BIG_HIT, temp, &player->shape_angle, &scale);
|
||||
dComIfGp_particle_set(dPa_name::ID_COMMON_BIG_HIT, hitPos, &player->shape_angle, &scale);
|
||||
if (mHealth <= 0) {
|
||||
modeProcInit(MODE_DEATH);
|
||||
} else {
|
||||
modeProcInit(MODE_DAMAGE);
|
||||
}
|
||||
} else {
|
||||
dComIfGp_particle_set(dPa_name::ID_COMMON_NORMAL_HIT, temp, &player->shape_angle);
|
||||
dComIfGp_particle_set(dPa_name::ID_COMMON_NORMAL_HIT, hitPos, &player->shape_angle);
|
||||
modeProcInit(MODE_DAMAGE);
|
||||
}
|
||||
} else if (mHitType == 0xE) {
|
||||
|
||||
@@ -1017,7 +1017,7 @@ BOOL daTbox_c::actionOpenWait() {
|
||||
}
|
||||
|
||||
if (getShapeType() != 0) {
|
||||
mDoAud_subBgmStart(0x80000000 | JA_BGM_OPEN_BOX);
|
||||
mDoAud_subBgmStart(JA_BGM_OPEN_BOX);
|
||||
mAllColRatio = 0.4f;
|
||||
|
||||
flagOn(0x08);
|
||||
|
||||
@@ -587,9 +587,9 @@ void dEvDtStaff_c::specialProcDirector() {
|
||||
u32* pBGM = dComIfGp_evmng_getMyIntegerP(staffIdx, "BGM_ID");
|
||||
u32 bgm;
|
||||
static u32 bgm_table[] = {
|
||||
0x80000007, // JA_BGM_I_MAJU
|
||||
0x80000012, // JA_BGM_TETRA_MEET
|
||||
0x80000017, // JA_BGM_I_LINK_FOREST
|
||||
JA_BGM_I_MAJU,
|
||||
JA_BGM_TETRA_MEET,
|
||||
JA_BGM_I_LINK_FOREST,
|
||||
};
|
||||
|
||||
if (pBGM != NULL) {
|
||||
|
||||
Reference in New Issue
Block a user