This commit is contained in:
TakaRikka
2021-12-21 06:06:57 -08:00
parent e92261fcff
commit c8ee25ec81
39 changed files with 1287 additions and 477 deletions
@@ -40,6 +40,12 @@ private:
}; // Size: 0x20
class J3DAnmTransformKey : public J3DAnmTransform {
public:
J3DAnmTransformKey() : J3DAnmTransform(0, NULL, NULL, NULL) {
field_0x20 = 0;
field_0x24 = 0;
}
/* 80329A34 */ void calcTransform(f32, u16, J3DTransformInfo*) const;
/* 8003B8D0 */ virtual ~J3DAnmTransformKey();
@@ -3,12 +3,14 @@
#include "dolphin/types.h"
struct J3DAnmLoaderDataBaseFlag {};
enum J3DAnmLoaderDataBaseFlag {
UNK_FLAG0
};
struct J3DAnmBase;
struct J3DAnmLoaderDataBase {
/* 80337B40 */ void load(void const*, J3DAnmLoaderDataBaseFlag);
/* 80337B40 */ static void* load(void const*, J3DAnmLoaderDataBaseFlag);
/* 80338134 */ void setResource(J3DAnmBase*, void const*);
};
@@ -47,4 +47,9 @@ public:
/* 802DC298 */ s32 read(void*, s32);
}; // Size = 0x8
// move?
template <typename T>
T* JSUConvertOffsetToPtr(const void*, const void*);
#endif /* JSUINPUTSTREAM_H */
+4
View File
@@ -25,4 +25,8 @@ inline f32 cM_ssin(s16 s) {
return JMath::sincosTable_.table[static_cast<u16>(s) >> 3].a1;
}
inline s16 cM_deg2s(f32 val) {
return val * 182.04445f;
}
#endif /* C_MATH_H */
+19 -3
View File
@@ -184,6 +184,8 @@ public:
/* 0xBF */ ANM_BACKWARD_SLIDE_LAND,
/* 0xC0 */ ANM_FORWARD_SLIDE_LAND,
/* 0xFD */ ANM_TRANSFORM_WOLF = 0xFD, // verify
/* 0x18D */ ANM_CUT_JUMP_LARGE = 0x18D, // verify
ANM_GANON_FINISH = 408 // name probably wrong, fix later
};
@@ -199,7 +201,9 @@ public:
enum daAlink_WARP_MAT_MODE {};
enum daAlink_WANM {
/* 0x5E */ ANM_WOLF_HOWL_SUCCESS = 94
/* 0x5E */ ANM_WOLF_HOWL_SUCCESS = 94,
/* 0x70 */ ANM_TRANFORM_HUMAN = 0x70, // verify
};
enum MODE_FLG {
@@ -446,7 +450,7 @@ public:
/* 800A142C */ void getNeckAimAngle(cXyz*, s16*, s16*, s16*, s16*);
/* 800A1AEC */ void setEyeMove(cXyz*, s16, s16);
/* 800A1F90 */ void setNeckAngle();
/* 800A2198 */ void commonLineCheck(cXyz*, cXyz*);
/* 800A2198 */ bool commonLineCheck(cXyz*, cXyz*);
/* 800A21E0 */ static s16 getMoveBGActorName(cBgS_PolyInfo&, int);
/* 800A2280 */ void checkGoronRide();
/* 800A22E8 */ void setMoveSlantAngle();
@@ -1029,7 +1033,7 @@ public:
/* 800E01A0 */ bool checkBossBabaRoom();
/* 800E01CC */ void cancelBoomerangLock(fopAc_ac_c*);
/* 800E0210 */ fopAc_ac_c* getBoomerangActor();
/* 800E0244 */ void checkBoomerangChargeEnd();
/* 800E0244 */ bool checkBoomerangChargeEnd();
/* 800E02B8 */ void checkBoomerangCarry(fopAc_ac_c*);
/* 800E03D0 */ void initBoomerangUpperAnimeSpeed(int);
/* 800E0440 */ BOOL checkBoomerangAnime() const;
@@ -2323,9 +2327,14 @@ public:
return mNowAnmPack[param_0].getAnmTransform();
}
void setFacePriBck(u16 param_0) { setFaceBck(param_0, 1, 0xFFFF); }
void cancelFmChainGrabFromOut() {
field_0x2fa3 = 0;
field_0x2844.clearData();
}
BOOL i_checkReinRide() const { return mRideStatus == 1 || mRideStatus == 2; }
inline void startRestartRoomFromOut(int, u32, int);
inline u16 getReadyItem();
static u8 const m_mainBckShield[80];
@@ -4518,6 +4527,13 @@ public:
void onEndResetStateFlg0(daMidna_ERFLG0 pFlg) { mEndResetStateFlg0 |= pFlg; }
u32 checkStateFlg1(daMidna_FLG1 pFlg) const { return mStateFlg1 & pFlg; }
void setFaceNum(int num) { mFaceNum = num; }
void setMotionNum(int num) { mMotionNum = num; }
bool checkDemoTypeNone() const { return mDemoType == 0; }
void changeOriginalDemo() { mDemoType = 3; }
void changeDemoMode(u32 mode) { mDemoMode = mode; }
inline bool checkMidnaRealBody();
static u8 const m_texDataTable[84];
static u8 const m_anmDataTable[636];
+28 -24
View File
@@ -26,8 +26,8 @@ private:
/* 0x05 */ u8 field_0x5[3];
/* 0x08 */ cXyz mPos;
/* 0x14 */ Mtx field_0x14;
/* 0x44 */ ResTIMG* field_0x44;
/* 0x48 */ ResTIMG* field_0x48;
/* 0x44 */ ResTIMG* mpImg;
/* 0x48 */ u8* mpData;
};
class daPy_boomerangMove_c {
@@ -53,10 +53,10 @@ public:
void initData();
void* mallocBuffer();
void createHeap(daPy_anmHeap_c::daAlinkHEAP_TYPE);
J3DAnmBase* loadData(u16);
J3DAnmBase* loadDataIdx(u16);
J3DAnmBase* loadDataPriIdx(u16);
J3DAnmBase* loadDataDemoRID(u16, u16);
void* loadData(u16);
void* loadDataIdx(u16);
void* loadDataPriIdx(u16);
void* loadDataDemoRID(u16, u16);
JKRHeap* setAnimeHeap();
u16 getIdx() const { return mIdx; }
@@ -126,6 +126,7 @@ public:
u16 getDemoType() const { return mDemoType; }
void setDemoMode(u32 mode) { mDemoMode = mode; }
u32 getDemoMode() const { return mDemoMode; }
int getParam1() const { return mParam1; }
void i_setSpecialDemoType() { setDemoType(5); }
private:
@@ -189,7 +190,7 @@ public:
FLG0_UNK_20 = 0x20,
UNK_F_ROLL_CRASH_2 = 0x10,
UNK_F_ROLL_CRASH_1 = 0x8,
FLG0_UNK_4 = 4,
MIDNA_RIDE = 4,
HEAVY_STATE_BOOTS = FLG0_UNK_40000000 | EQUIP_HEAVY_BOOTS | FLG0_UNK_20000,
};
@@ -212,6 +213,7 @@ public:
ERFLG0_UNK_8000000 = 0x8000000,
ERFLG0_UNK_1000000 = 0x1000000,
ERFLG0_UNK_100000 = 0x100000,
ERFLG0_UNK_2 = 2,
ERFLG0_UNK_1 = 1,
};
enum daPy_ERFLG1 {
@@ -262,10 +264,10 @@ public:
};
static u32 setParamData(int, int, int, int);
int checkFishingRodItem(int);
static BOOL checkFishingRodItem(int);
static BOOL checkBombItem(int);
static BOOL checkBottleItem(int);
void checkDrinkBottleItem(int);
static BOOL checkDrinkBottleItem(int);
static BOOL checkOilBottleItem(int);
static BOOL checkOpenBottleItem(int);
static BOOL checkBowItem(int);
@@ -276,25 +278,25 @@ public:
void checkWoodShieldEquip();
f32 getAttentionOffsetY();
s16 checkNowWolfEyeUp();
void forceRestartRoom(int, u32, int);
void setFmChainPos(fopAc_ac_c*, cXyz*, int);
void cancelFmChainGrab();
void setLookPos(cXyz*);
void setPlayerSe(u32);
void linkGrabSubjectNoDraw(fopAc_ac_c*);
static void forceRestartRoom(int, u32, int);
static void setFmChainPos(fopAc_ac_c*, cXyz*, int);
static void cancelFmChainGrab();
static void setLookPos(cXyz*);
static void setPlayerSe(u32);
static bool linkGrabSubjectNoDraw(fopAc_ac_c*);
void wolfGrabSubjectNoDraw(fopAc_ac_c*);
void checkRoomRestartStart();
static bool checkRoomRestartStart();
static u32 checkCarryStartLightBallA();
static u32 checkCarryStartLightBallB();
float getSpinnerRideSpeed() const;
void checkSpinnerReflectEffect();
void checkBoomerangCharge();
static bool checkBoomerangCharge();
bool checkBoomerangChargeTime();
static daBoomerang_c* getThrowBoomerangActor();
void cancelBoomerangLockActor(fopAc_ac_c*);
void setPlayerDamage(int, int);
void setMidnaMotionNum(int);
void setMidnaFaceNum(int);
static void cancelBoomerangLockActor(fopAc_ac_c*);
static void setPlayerDamage(int, int);
static void setMidnaMotionNum(int);
static void setMidnaFaceNum(int);
int checkNoResetFlg0(daPy_FLG0) const;
int checkEquipHeavyBoots() const;
int checkBoarSingleBattle() const;
@@ -517,18 +519,20 @@ public:
int i_checkEndResetFlg0(daPy_py_c::daPy_ERFLG0 flag) const { return mEndResetFlg0 & flag; }
int i_checkEndResetFlg1(daPy_py_c::daPy_ERFLG1 flag) const { return mEndResetFlg1 & flag; }
void i_onEndResetFlg1(daPy_ERFLG1 pFlg) { mEndResetFlg1 |= pFlg; }
int i_checkWolf() const { return i_checkNoResetFlg1(IS_WOLF); }
u32 i_checkWolf() const { return i_checkNoResetFlg1(IS_WOLF); }
BOOL i_checkEquipHeavyBoots() const { return i_checkNoResetFlg0(EQUIP_HEAVY_BOOTS); }
BOOL i_checkMagneBootsOn() const { return i_checkNoResetFlg0(MAGNE_BOOTS_ON); }
bool i_checkMidnaRide() const { return i_checkNoResetFlg0(FLG0_UNK_4); }
bool i_checkMidnaRide() const { return i_checkNoResetFlg0(MIDNA_RIDE); }
inline u32 getLastSceneMode();
inline static u32 getLastSceneMode();
inline bool checkWoodSwordEquip();
inline BOOL i_checkSwordGet();
inline bool i_checkShieldGet() const;
inline BOOL checkNowWolf();
inline bool checkZoraWearFlg() const;
static daMidna_c* getMidnaActor() { return m_midnaActor; }
static daMidna_c* m_midnaActor;
};
+1 -1
View File
@@ -75,7 +75,7 @@ public:
bool GetMagnetCode(cBgS_PolyInfo const&);
bool GetMonkeyBarsCode(cBgS_PolyInfo const&);
bool GetUnderwaterRoofCode(cBgS_PolyInfo const&);
bool GetWallCode(cBgS_PolyInfo const&);
s32 GetWallCode(cBgS_PolyInfo const&);
bool GetPolyAtt0(cBgS_PolyInfo const&);
bool GetPolyAtt1(cBgS_PolyInfo const&);
bool GetGroundCode(cBgS_PolyInfo const&);
+2 -2
View File
@@ -124,7 +124,7 @@ public:
virtual void GetShdwThrough(int) = 0;
virtual bool GetUnderwaterRoofCode(int) = 0;
virtual bool GetMonkeyBarsCode(cBgS_PolyInfo const&) = 0;
virtual bool GetWallCode(cBgS_PolyInfo const&) = 0;
virtual s32 GetWallCode(cBgS_PolyInfo const&) = 0;
virtual bool GetPolyAtt0(cBgS_PolyInfo const&) = 0;
virtual bool GetPolyAtt1(cBgS_PolyInfo const&) = 0;
virtual bool GetGroundCode(cBgS_PolyInfo const&) = 0;
@@ -224,7 +224,7 @@ public:
/* 8007B630 */ virtual bool GetUnderwaterRoofCode(int);
/* 8007B4B4 */ virtual bool GetMonkeyBarsCode(cBgS_PolyInfo const&);
/* 8007B6AC */ virtual void GetLinkNo(cBgS_PolyInfo const&);
/* 8007B6D8 */ virtual bool GetWallCode(cBgS_PolyInfo const&);
/* 8007B6D8 */ virtual s32 GetWallCode(cBgS_PolyInfo const&);
/* 8007B704 */ virtual bool GetPolyAtt0(cBgS_PolyInfo const&);
/* 8007B734 */ virtual bool GetPolyAtt1(cBgS_PolyInfo const&);
/* 8007B760 */ virtual bool GetGroundCode(cBgS_PolyInfo const&);
+1 -1
View File
@@ -65,7 +65,7 @@ public:
virtual bool GetUnderwaterRoofCode(int) = 0;
virtual bool GetMonkeyBarsCode(cBgS_PolyInfo const&) = 0;
virtual void GetLinkNo(cBgS_PolyInfo const&) = 0;
virtual bool GetWallCode(cBgS_PolyInfo const&) = 0;
virtual s32 GetWallCode(cBgS_PolyInfo const&) = 0;
virtual bool GetPolyAtt0(cBgS_PolyInfo const&) = 0;
virtual bool GetPolyAtt1(cBgS_PolyInfo const&) = 0;
virtual bool GetGroundCode(cBgS_PolyInfo const&) = 0;
+1 -1
View File
@@ -61,7 +61,7 @@ public:
/* 80082CCC */ virtual void GetUnderwaterRoofCode(int);
/* 80082B3C */ virtual void GetMonkeyBarsCode(cBgS_PolyInfo const&);
/* 80082D24 */ virtual void GetLinkNo(cBgS_PolyInfo const&);
/* 80082D54 */ virtual void GetWallCode(cBgS_PolyInfo const&);
/* 80082D54 */ virtual s32 GetWallCode(cBgS_PolyInfo const&);
/* 80082D84 */ virtual void GetPolyAtt0(cBgS_PolyInfo const&);
/* 80082DB4 */ virtual void GetPolyAtt1(cBgS_PolyInfo const&);
/* 80082DE4 */ virtual void GetGroundCode(cBgS_PolyInfo const&);
+217 -2
View File
@@ -155,6 +155,29 @@ public:
mBottleStatus = status;
mBottleSetFlag = flag;
}
void setNunStatus(u8 status, u8 param_1, u8 flag) {
mNunStatus = status;
field_0x4ef0 = param_1;
mNunSetFlag = flag;
}
void setRemoConStatus(u8 status, u8 param_1, u8 flag) {
mRemoConStatus = status;
field_0x4ef2 = param_1;
mRemoConSetFlag = flag;
}
void setNunZStatus(u8 status, u8 flag) {
mNunZStatus = status;
mNunZSetFlag = flag;
}
void setNunCStatus(u8 status, u8 flag) {
mNunCStatus = status;
mNunCSetFlag = flag;
}
void setCStickStatus(u8 status, u8 param_1, u8 flag) {
mCStickStatus = status;
mCStickDirection = param_1;
mCStickSetFlag = flag;
}
void setItemLifeCount(float hearts, u8 type) {
mItemLifeCount += hearts;
mItemLifeCountType = type;
@@ -167,9 +190,33 @@ public:
void setItemKeyNumCount(s16 keys) { mItemKeyNumCount += keys; }
void setItemMaxLifeCount(s16 max) { mItemMaxLifeCount += max; }
void setOxygen(int oxygen) { mOxygen = oxygen; }
void setNowOxygen(s32 oxygen) { mNowOxygen = oxygen; }
int getOxygen() { return mOxygen; }
int getMaxOxygen() { return mMaxOxygen; }
void setMaxOxygen(int max) { mMaxOxygen = max; }
void setItemNowLife(u16 life) { mItemNowLife = life; }
void setItemNowMagic(s16 magic) { mItemNowMagicCount = magic; }
void setItemNowOil(s32 oil) { mItemNowOil = oil; }
u8 getNeedLightDropNum() { return mNeedLightDropNum; }
u8 getDoStatus() { return mDoStatus; }
u8 getRStatus() { return mRStatus; }
u8 getAStatus() { return mAStatus; }
u8 getXStatus() { return mXStatus; }
u8 getYStatus() { return mYStatus; }
u8 getZStatus() { return mZStatus; }
u8 get3DStatus() { return m3DStatus; }
u8 getCStickStatus() { return mCStickStatus; }
u8 getSButtonStatus() { return mSButtonStatus; }
u8 getNunStatus() { return mNunStatus; }
u8 getRemoConStatus() { return mRemoConStatus; }
u8 getNunZStatus() { return mNunZStatus; }
u8 getNunCStatus() { return mNunCStatus; }
u8 getBottleStatus() { return mBottleStatus; }
bool isDoSetFlag(u8 flag) { return flag & mDoSetFlag; }
bool isASetFlag(u8 flag) { return flag & mASetFlag; }
bool isRSetFlag(u8 flag) { return flag & mRSetFlag; }
bool isXSetFlag(u8 flag) { return flag & mXSetFlag; }
bool isYSetFlag(u8 flag) { return flag & mYSetFlag; }
const char* getStartStageName() { return mStartStage.getName(); }
s8 getStartStageRoomNo() { return mStartStage.getRoomNo(); }
s8 getStartStageLayer() { return mStartStage.getLayer(); }
@@ -189,7 +236,9 @@ public:
s8 getStartStageDarkArea() { return mStartStage.getDarkArea(); }
void setStartStageDarkArea(s8 darkArea) { mStartStage.setDarkArea(darkArea); }
void* getPlayerPtr(int ptrIdx) { return mPlayerPtr[ptrIdx]; }
void* getPlayer(int idx) { return mPlayer[idx]; }
JKRArchive* getMain2DArchive() { return mMain2DArchive; }
JKRArchive* getAnmArchive() { return mAnmArchive; }
J2DGrafContext* getCurrentGrafPort() { return mCurrentGrafPort; }
dVibration_c& getVibration() { return mVibration; }
void setPlayerStatus(int param_0, int i, u32 flag) { mPlayerStatus[i] |= flag; }
@@ -492,6 +541,8 @@ const char* dComIfGs_getWarpStageName();
s16 dComIfGs_getWarpPlayerAngleY();
s8 dComIfGs_getWarpRoomNo();
char* dComIfG_getRoomArcName(int);
int dComIfGp_getSelectItemNum(int);
int dComIfGp_getSelectItemMaxNum(int);
inline void dComIfGp_setRStatus(u8 status, u8 flag) {
g_dComIfG_gameInfo.play.setRStatus(status, flag);
@@ -912,10 +963,14 @@ inline JKRHeap* dComIfGp_getExpHeap2D() {
return g_dComIfG_gameInfo.play.getExpHeap2D();
}
inline u16 dComIfGs_getOil() {
inline s16 dComIfGs_getOil() {
return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getOil();
}
inline s16 dComIfGs_getMaxOil() {
return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getMaxOil();
}
inline s64 dComIfGs_getSaveStartTime() {
return g_dComIfG_gameInfo.info.getStartTime();
}
@@ -1064,6 +1119,10 @@ inline JKRArchive* dComIfGp_getMain2DArchive() {
return g_dComIfG_gameInfo.play.getMain2DArchive();
}
inline JKRArchive* dComIfGp_getAnmArchive() {
return g_dComIfG_gameInfo.play.getAnmArchive();
}
inline J2DGrafContext* dComIfGp_getCurrentGrafPort() {
return g_dComIfG_gameInfo.play.getCurrentGrafPort();
}
@@ -1104,7 +1163,7 @@ inline void dComIfGp_set3DStatus(u8 status, u8 direction, u8 flag) {
g_dComIfG_gameInfo.play.set3DStatus(status, direction, flag);
}
inline u8 dComIfGs_getLastSceneMode() {
inline s32 dComIfGs_getLastSceneMode() {
return g_dComIfG_gameInfo.info.getRestart().getLastMode();
}
@@ -1192,4 +1251,160 @@ inline dStage_roomStatus_c* dComIfGp_roomControl_getStatusRoomDt(int room_no) {
return g_dComIfG_gameInfo.play.getRoomControl()->getStatusRoomDt(room_no);
}
inline void dComIfGp_setItemNowLife(u16 life) {
g_dComIfG_gameInfo.play.setItemNowLife(life);
}
inline void dComIfGp_setItemNowMagic(s16 magic) {
g_dComIfG_gameInfo.play.setItemNowMagic(magic);
}
inline u8 dComIfGs_getMagic() {
return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getMagic();
}
inline u8 dComIfGs_getMaxMagic() {
return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getMaxMagic();
}
inline void dComIfGp_setOxygen(int oxygen) {
g_dComIfG_gameInfo.play.setOxygen(oxygen);
}
inline void dComIfGp_setNowOxygen(s32 oxygen) {
g_dComIfG_gameInfo.play.setNowOxygen(oxygen);
}
inline int dComIfGp_getMaxOxygen() {
return g_dComIfG_gameInfo.play.getMaxOxygen();
}
inline int dComIfGp_getOxygen() {
return g_dComIfG_gameInfo.play.getOxygen();
}
inline u8 dComIfGp_getNeedLightDropNum() {
return g_dComIfG_gameInfo.play.getNeedLightDropNum();
}
inline void dComIfGp_setItemNowOil(s32 oil) {
g_dComIfG_gameInfo.play.setItemNowOil(oil);
}
inline u8 dComIfGp_getAStatus() {
return g_dComIfG_gameInfo.play.getAStatus();
}
inline u8 dComIfGp_getXStatus() {
return g_dComIfG_gameInfo.play.getXStatus();
}
inline u8 dComIfGp_getYStatus() {
return g_dComIfG_gameInfo.play.getYStatus();
}
inline u8 dComIfGp_getZStatus() {
return g_dComIfG_gameInfo.play.getZStatus();
}
inline u8 dComIfGp_get3DStatus() {
return g_dComIfG_gameInfo.play.get3DStatus();
}
inline u8 dComIfGp_getCStickStatus() {
return g_dComIfG_gameInfo.play.getCStickStatus();
}
inline u8 dComIfGp_getSButtonStatus() {
return g_dComIfG_gameInfo.play.getSButtonStatus();
}
inline u8 dComIfGp_getNunStatus() {
return g_dComIfG_gameInfo.play.getNunStatus();
}
inline u8 dComIfGp_getNunZStatus() {
return g_dComIfG_gameInfo.play.getNunZStatus();
}
inline u8 dComIfGp_getNunCStatus() {
return g_dComIfG_gameInfo.play.getNunCStatus();
}
inline u8 dComIfGp_getBottleStatus() {
return g_dComIfG_gameInfo.play.getBottleStatus();
}
inline u8 dComIfGp_getRemoConStatus() {
return g_dComIfG_gameInfo.play.getRemoConStatus();
}
inline bool dComIfGp_isDoSetFlag(u8 flag) {
return g_dComIfG_gameInfo.play.isDoSetFlag(flag);
}
inline bool dComIfGp_isASetFlag(u8 flag) {
return g_dComIfG_gameInfo.play.isASetFlag(flag);
}
inline bool dComIfGp_isRSetFlag(u8 flag) {
return g_dComIfG_gameInfo.play.isRSetFlag(flag);
}
inline bool dComIfGp_isXSetFlag(u8 flag) {
return g_dComIfG_gameInfo.play.isXSetFlag(flag);
}
inline bool dComIfGp_isYSetFlag(u8 flag) {
return g_dComIfG_gameInfo.play.isYSetFlag(flag);
}
inline bool dComIfGs_isCollectMirror(u8 param_0) {
return g_dComIfG_gameInfo.info.getPlayer().getCollect().isCollectMirror(param_0);
}
inline bool dComIfGs_isCollectCrystal(u8 param_0) {
return g_dComIfG_gameInfo.info.getPlayer().getCollect().isCollectCrystal(param_0);
}
inline void dComIfGs_onCollectMirror(u8 param_0) {
g_dComIfG_gameInfo.info.getPlayer().getCollect().onCollectMirror(param_0);
}
inline void dComIfGs_onCollectCrystal(u8 param_0) {
g_dComIfG_gameInfo.info.getPlayer().getCollect().onCollectCrystal(param_0);
}
inline bool dComIfGp_isPauseFlag() {
return g_dComIfG_gameInfo.play.isPauseFlag();
}
inline void dComIfGp_setNunStatus(u8 param_0, u8 param_1, u8 param_2) {
g_dComIfG_gameInfo.play.setNunStatus(param_0, param_1, param_2);
}
inline void dComIfGp_setRemoConStatus(u8 param_0, u8 param_1, u8 param_2) {
g_dComIfG_gameInfo.play.setRemoConStatus(param_0, param_1, param_2);
}
inline void dComIfGp_setNunZStatus(u8 param_0, u8 param_1) {
g_dComIfG_gameInfo.play.setNunZStatus(param_0, param_1);
}
inline void dComIfGp_setNunCStatus(u8 param_0, u8 param_1) {
g_dComIfG_gameInfo.play.setNunCStatus(param_0, param_1);
}
inline void dComIfGp_setCStickStatus(u8 param_0, u8 param_1, u8 param_2) {
g_dComIfG_gameInfo.play.setCStickStatus(param_0, param_1, param_2);
}
inline void* dComIfG_getObjectIDRes(const char* arc_name, u16 id) {
return g_dComIfG_gameInfo.mResControl.getObjectIDRes(arc_name, id);
}
inline void* dComIfGp_getPlayer(int idx) {
return g_dComIfG_gameInfo.play.getPlayer(idx);
}
#endif /* D_COM_D_COM_INF_GAME_H */
+5 -1
View File
@@ -59,7 +59,7 @@ public:
/* 8003C260 */ static dRes_info_c* newResInfo(dRes_info_c*, int);
/* 8003C288 */ static dRes_info_c* getResInfoLoaded(char const*, dRes_info_c*, int);
/* 8003C2EC */ static void* getRes(char const*, s32, dRes_info_c*, int);
/* 8003C400 */ void getIDRes(char const*, u16, dRes_info_c*, int);
/* 8003C400 */ static void* getIDRes(char const*, u16, dRes_info_c*, int);
/* 8003C470 */ static int syncAllRes(dRes_info_c*, int);
/* 8003C4E4 */ int setObjectRes(char const*, void*, u32, JKRHeap*);
/* 8003C5BC */ int setStageRes(char const*, JKRHeap*);
@@ -79,6 +79,10 @@ public:
return getRes(arcName, param_1, &mObjectInfo[0], ARRAY_SIZE(mObjectInfo));
}
void* getObjectIDRes(const char* arcName, u16 id) {
return getIDRes(arcName, id, &mObjectInfo[0], ARRAY_SIZE(mObjectInfo));
}
int syncObjectRes(const char* name) {
return syncRes(name, &mObjectInfo[0], ARRAY_SIZE(mObjectInfo));
}
+4 -3
View File
@@ -45,8 +45,8 @@ struct stage_stag_info_class {
/* 0x2A */ u16 mStageTitleNo;
}; // Size: Unknown
inline u16 dStage_stagInfo_GetUpButton(stage_stag_info_class* p_info) {
return p_info->field_0x10 & 7;
inline s16 dStage_stagInfo_GetUpButton(stage_stag_info_class* p_info) {
return p_info->field_0x0a & 7;
}
struct stage_scls_info_class {
@@ -547,11 +547,12 @@ public:
bool checkStatusFlag(int i_roomNo, u8 flag) const {
return cLib_checkBit(mStatus[i_roomNo].unk_0x3F4, flag);
}
static char* getDemoArcName() { return mDemoArcName; }
static JKRExpHeap* mMemoryBlock[19];
static char mArcBank[32][10];
static dStage_roomStatus_c mStatus[0x40];
static u8 mDemoArcName[10 + 2 /* padding */];
static char mDemoArcName[10];
static u32 mProcID;
static char* mArcBankName;
static char* mArcBankData;
+2
View File
@@ -84,6 +84,8 @@ public:
u16 chkEventFlag(u16 flag) { return flag & mEventFlag; }
u8 getMode() const { return mMode; }
bool i_isOrderOK() { return field_0xe5 == 0 || field_0xe5 == 2; }
public:
/* 0x000 */ u8 field_0x0[4];
/* 0x004 */ dEvt_order_c mOrder[8];
+1
View File
@@ -665,5 +665,6 @@ STATIC_ASSERT(sizeof(dScnKy_env_light_c) == 4880);
BOOL dKy_darkworld_stage_check(char const*, int);
BOOL dKy_withwarp_capture_check();
bool dKy_darkworld_check();
#endif /* D_KANKYO_D_KANKYO_H */
+27 -23
View File
@@ -14,12 +14,12 @@ public:
class dMeterMap_c;
class dMeter2_c {
class dMeter2_c : public msg_class {
public:
/* 8021EA14 */ void _create();
/* 8021F128 */ void _execute();
/* 8021F370 */ void _draw();
/* 8021F49C */ void _delete();
/* 8021EA14 */ int _create();
/* 8021F128 */ int _execute();
/* 8021F370 */ int _draw();
/* 8021F49C */ int _delete();
/* 8021F6EC */ void emphasisButtonDelete();
/* 8021F780 */ void setLifeZero();
/* 8021F7B0 */ void checkStatus();
@@ -61,6 +61,8 @@ public:
/* 802259F8 */ void isArrowEquip();
/* 80225A64 */ void isPachinkoEquip();
void setNowLifeGauge(s16 life) { mNowLifeGauge = life; }
private:
/* 0x100 */ JKRExpHeap* mpHeap;
/* 0x104 */ JKRExpHeap* mpSubHeap;
@@ -72,7 +74,7 @@ private:
/* 0x11C */ void* field_0x11c;
/* 0x120 */ dMeterMap_c* mpMap;
/* 0x124 */ u32 field_0x124;
/* 0x128 */ int field_0x128;
/* 0x128 */ u32 field_0x128;
/* 0x12C */ int field_0x12c;
/* 0x130 */ f32 field_0x130;
/* 0x134 */ f32 field_0x134[2];
@@ -90,22 +92,22 @@ private:
/* 0x18C */ f32 field_0x18c;
/* 0x190 */ s16 field_0x190;
/* 0x192 */ s16 mNowLifeGauge;
/* 0x194 */ s16 field_0x194;
/* 0x196 */ s16 field_0x196;
/* 0x198 */ s16 field_0x198;
/* 0x194 */ s16 mMaxLife;
/* 0x196 */ s16 mNowMagic;
/* 0x198 */ s16 mMaxMagic;
/* 0x19A */ s16 field_0x19a;
/* 0x19C */ int field_0x19c;
/* 0x1A0 */ int field_0x1a0;
/* 0x1A4 */ int field_0x1a4;
/* 0x1A8 */ int field_0x1a8;
/* 0x19C */ int mNowOil;
/* 0x1A0 */ int mMaxOil;
/* 0x1A4 */ int mNowOxygen;
/* 0x1A8 */ int mMaxOxygen;
/* 0x1AC */ int field_0x1ac;
/* 0x1B0 */ u16 field_0x1b0;
/* 0x1B2 */ u16 field_0x1b2;
/* 0x1B0 */ u16 mRupeeNum;
/* 0x1B2 */ u16 mKeyNum;
/* 0x1B4 */ u16 field_0x1b4;
/* 0x1B6 */ u16 mSubContentsStringType;
/* 0x1B8 */ u16 field_0x1b8[5];
/* 0x1C2 */ u8 field_0x1c2;
/* 0x1C3 */ u8 field_0x1c3;
/* 0x1C2 */ u8 mLightDropNum;
/* 0x1C3 */ u8 mNeedLightDropNum;
/* 0x1C4 */ u8 field_0x1c4;
/* 0x1C5 */ u8 field_0x1c5;
/* 0x1C6 */ u8 field_0x1c6;
@@ -123,8 +125,8 @@ private:
/* 0x1D2 */ u8 field_0x1d2[4];
/* 0x1D6 */ u8 field_0x1d6[2];
/* 0x1D8 */ u8 field_0x1d8[2];
/* 0x1DA */ u8 field_0x1da;
/* 0x1DB */ u8 field_0x1db;
/* 0x1DA */ u8 mArrowNum;
/* 0x1DB */ u8 mPachinkoNum;
/* 0x1DC */ u8 field_0x1dc;
/* 0x1DD */ u8 field_0x1dd;
/* 0x1DE */ u8 field_0x1de;
@@ -144,10 +146,10 @@ private:
/* 0x1EC */ u8 field_0x1ec;
/* 0x1ED */ u8 field_0x1ed;
/* 0x1EE */ u8 field_0x1ee;
/* 0x1EF */ u8 field_0x1ef[4];
/* 0x1F3 */ u8 field_0x1f3[3];
/* 0x1F6 */ u8 field_0x1f6[3];
/* 0x1F9 */ u8 field_0x1f9[4];
/* 0x1EF */ u8 mBottleNum[4];
/* 0x1F3 */ u8 mBombNum[3];
/* 0x1F6 */ u8 mBombMax[3];
/* 0x1F9 */ u8 mItemMaxNum[4];
/* 0x1FD */ u8 field_0x1fd;
/* 0x1FE */ u8 field_0x1fe;
/* 0x1FF */ u8 field_0x1ff;
@@ -155,4 +157,6 @@ private:
/* 0x201 */ u8 field_0x201;
};
typedef int (*dMeter2_Method)(dMeter2_c*);
#endif /* D_METER_D_METER2_H */
+35 -5
View File
@@ -51,7 +51,7 @@ public:
/* 80215A94 */ void setAlphaOxygenAnimeMax();
/* 80215B18 */ void drawLightDrop(u8, u8, f32, f32, f32, f32, u8);
/* 80215DA4 */ void setAlphaLightDropChange(bool);
/* 80215DA8 */ void getNowLightDropRateCalc();
/* 80215DA8 */ f32 getNowLightDropRateCalc();
/* 80215E40 */ void setAlphaLightDropAnimeMin();
/* 80215F88 */ void setAlphaLightDropAnimeMax();
/* 8021632C */ void drawRupee(s16);
@@ -114,6 +114,8 @@ public:
/* 802102F8 */ virtual ~dMeter2Draw_c();
J2DScreen* getMainScreenPtr() { return mpScreen; }
private:
/* 0x004 */ f32 field_0x4;
/* 0x008 */ f32 field_0x8;
@@ -210,9 +212,9 @@ private:
/* 0x518 */ J2DPicture* mpItemXYPane[3];
/* 0x524 */ int field_0x524[2][2];
/* 0x534 */ u8 field_0x534[8];
/* 0x53C */ void* field_0x53c;
/* 0x540 */ J2DAnmBase* field_0x540; // bpk
/* 0x544 */ J2DAnmBase* field_0x544; // bpk
/* 0x53C */ J2DAnmColorKey* field_0x53c;
/* 0x540 */ J2DAnmColorKey* field_0x540; // bpk
/* 0x544 */ J2DAnmColorKey* field_0x544; // bpk
/* 0x548 */ u8 field_0x548[8];
/* 0x550 */ f32 field_0x550;
/* 0x554 */ f32 field_0x554;
@@ -227,7 +229,35 @@ private:
/* 0x578 */ f32 field_0x578;
/* 0x57C */ f32 field_0x57c;
/* 0x580 */ f32 field_0x580;
/* 0x584 */ u8 field_0x584[0x78];
/* 0x584 */ f32 field_0x584;
/* 0x588 */ f32 field_0x588;
/* 0x58C */ f32 field_0x58c;
/* 0x590 */ f32 field_0x590;
/* 0x594 */ f32 field_0x594;
/* 0x598 */ f32 field_0x598;
/* 0x59C */ f32 field_0x59c;
/* 0x5A0 */ f32 field_0x5a0;
/* 0x5A4 */ f32 field_0x5a4;
/* 0x5A8 */ f32 field_0x5a8;
/* 0x5AC */ f32 field_0x5ac;
/* 0x5B0 */ f32 field_0x5b0;
/* 0x5B4 */ f32 field_0x5b4;
/* 0x5B8 */ f32 field_0x5b8;
/* 0x5BC */ f32 field_0x5bc;
/* 0x5C0 */ f32 field_0x5c0;
/* 0x5C4 */ f32 field_0x5c4;
/* 0x5C8 */ f32 field_0x5c8;
/* 0x5CC */ f32 field_0x5cc;
/* 0x5D0 */ f32 field_0x5d0;
/* 0x5D4 */ f32 field_0x5d4;
/* 0x5D8 */ f32 field_0x5d8;
/* 0x5DC */ f32 field_0x5dc;
/* 0x5E0 */ f32 field_0x5e0;
/* 0x5E4 */ f32 field_0x5e4;
/* 0x5E8 */ f32 field_0x5e8;
/* 0x5EC */ f32 field_0x5ec;
/* 0x5F0 */ f32 field_0x5f0;
/* 0x5F4 */ u8 field_0x5f4[0x8];
/* 0x5FC */ f32 field_0x5fc[3];
/* 0x608 */ f32 field_0x608;
/* 0x60C */ f32 field_0x60c;
+29 -1
View File
@@ -129,8 +129,12 @@ public:
const char* getWarpStageName() { return mWarpInfo.mStageName; }
void setNowCount(u8 count) { mNowCount = count; }
void setMaxCount(u8 count) { mMaxCount = count; }
void allUseButton() { mUseButton = -1; }
bool isUseButton(int param_0) { return param_0 & mUseButton; }
void setMeterMapClass(dMeterMap_c* p_map) { mMeterMap = p_map; }
void resetGameStatus() { mGameStatus = 0; }
private:
public:
/* 0x04 */ u8 unk4[4];
/* 0x08 */ u64 unk8;
/* 0x10 */ void* mMsgResource;
@@ -277,4 +281,28 @@ inline void dMeter2Info_setMaxCount(u8 count) {
g_meter2_info.setMaxCount(count);
}
inline bool dMeter2Info_isDirectUseItem(int param_0) {
return g_meter2_info.isDirectUseItem(param_0);
}
inline bool dMeter2Info_isUseButton(int param_0) {
return g_meter2_info.isUseButton(param_0);
}
inline void dMeter2Info_setMeterMapClass(dMeterMap_c* p_map) {
g_meter2_info.setMeterMapClass(p_map);
}
inline void dMeter2Info_decHotSpringTimer() {
g_meter2_info.decHotSpringTimer();
}
inline void dMeter2Info_allUseButton() {
g_meter2_info.allUseButton();
}
inline void dMeter2Info_resetGameStatus() {
g_meter2_info.resetGameStatus();
}
#endif /* D_METER_D_METER2_INFO_H */
+6
View File
@@ -1380,4 +1380,10 @@ public:
STATIC_ASSERT(sizeof(dMeter_cursorHIO_c) == 68);
extern dMeter_menuHIO_c g_menuHIO;
extern dMeter_drawHIO_c g_drawHIO;
extern dMeter_ringHIO_c g_ringHIO;
extern dMeter_fmapHIO_c g_fmapHIO;
extern dMeter_cursorHIO_c g_cursorHIO;
#endif /* D_METER_D_METER_HIO_H */
+4 -2
View File
@@ -8,7 +8,7 @@ class dMeterMap_c {
public:
/* 8020D49C */ void isEnableDispMap();
/* 8020D528 */ void getMapDispSizeTypeNo();
/* 8020D650 */ void isEnableDispMapAndMapDispSizeTypeNo();
/* 8020D650 */ static bool isEnableDispMapAndMapDispSizeTypeNo();
/* 8020D690 */ void getMapDispEdgeBottomY_Layout();
/* 8020D698 */ void isEventRunCheck();
/* 8020D72C */ void getMapDispEdgeLeftX_Layout();
@@ -31,8 +31,10 @@ public:
/* 8020E4C8 */ void isShow(u32);
/* 8020E620 */ void isFmapScreen();
/* 8020E70C */ void isDmapScreen();
/* 8020E754 */ void meter_map_move(u32);
/* 8020E754 */ static void meter_map_move(u32);
/* 8020E9CC */ void keyCheck();
u8 field_0x0[0x34];
};
#endif /* D_METER_D_METER_MAP_H */
+6
View File
@@ -47,6 +47,12 @@ public:
f32 getInitCenterPosY() { return mInitPos.y + mInitSize.y * 0.5f; }
f32 getInitSizeX() { return mInitSize.x; }
f32 getInitSizeY() { return mInitSize.y; }
f32 getInitPosX() { return mInitPos.x; }
f32 getInitPosY() { return mInitPos.y; }
private:
/* 0x1C */ void* mpFirstStackSize;
/* 0x20 */ void* field_0x20;
+4 -1
View File
@@ -371,6 +371,9 @@ public:
u16& getLife() { return mLife; }
u16& getRupee() { return mRupee; }
u16& getOil() { return mOil; }
u16& getMaxOil() { return mMaxOil; }
u8& getMagic() { return mMagic; }
u8& getMaxMagic() { return mMaxMagic; }
u8 getSelectEquip(int item) const { return mSelectEquip[item]; }
void setOil(u16 oil) { mOil = oil; }
void setMaxOil(u16 max) { mMaxOil = max; }
@@ -1001,7 +1004,7 @@ public:
BOOL isActor(int, int) const;
int memory_to_card(char*, int);
int card_to_memory(char*, int);
void initdata_to_card(char*, int);
int initdata_to_card(char*, int);
dSv_save_c& getSavedata() { return mSavedata; }
dSv_memory_c& getMemory() { return mMemory; }
+12
View File
@@ -18,6 +18,17 @@ private:
/* 0x0 */ J3DFrameCtrl mFrameCtrl;
}; // Size: 0x14
class mDoExt_transAnmBas : public J3DAnmTransformKey {
public:
mDoExt_transAnmBas(void* bas) {
mBas = bas;
}
virtual ~mDoExt_transAnmBas();
private:
/* 0x28 */ void* mBas;
};
class mDoExt_btkAnm : public mDoExt_baseAnm {
public:
mDoExt_btkAnm(void) { mBtkAnm = 0; }
@@ -165,6 +176,7 @@ JKRExpHeap* mDoExt_getHostIOHeap();
JKRSolidHeap* mDoExt_createSolidHeapToCurrent(JKRHeap**, u32, JKRHeap*, u32);
JKRSolidHeap* mDoExt_createSolidHeapToCurrent(u32, JKRHeap*, u32);
JKRSolidHeap* mDoExt_createSolidHeapFromGameToCurrent(u32, u32);
JKRSolidHeap* mDoExt_createSolidHeapFromGameToCurrent(JKRHeap**, u32, u32);
JKRHeap* mDoExt_getCurrentHeap();
extern JKRExpHeap* zeldaHeap;