mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-05-31 17:01:36 -04:00
wip
This commit is contained in:
@@ -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 */
|
||||
|
||||
@@ -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
@@ -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
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
@@ -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&);
|
||||
|
||||
@@ -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&);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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&);
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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
@@ -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;
|
||||
|
||||
@@ -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];
|
||||
|
||||
@@ -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
@@ -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 */
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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; }
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
//
|
||||
|
||||
#include "JSystem/J2DGraph/J2DScreen.h"
|
||||
#include "JSystem/JGeometry.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
@@ -247,6 +248,20 @@ SECTION_SDATA2 static f32 lit_1563[1 + 1 /* padding */] = {
|
||||
};
|
||||
|
||||
/* 802F8498-802F8540 2F2DD8 00A8+00 0/0 59/59 4/4 .text __ct__9J2DScreenFv */
|
||||
#ifdef NONMATCHING
|
||||
J2DScreen::J2DScreen() :
|
||||
J2DPane(NULL, true, 'root', JGeometry::TBox2<f32>(0.0f, 0.0f, 640.0f, 480.0f)) {
|
||||
|
||||
field_0x114 = -1;
|
||||
_4 = -1;
|
||||
mScissor = false;
|
||||
mMaterialNum = 0;
|
||||
mMaterials = NULL;
|
||||
field_0x108 = NULL;
|
||||
field_0x10c = NULL;
|
||||
mNameTable = NULL;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
@@ -255,6 +270,7 @@ asm J2DScreen::J2DScreen() {
|
||||
#include "asm/JSystem/J2DGraph/J2DScreen/__ct__9J2DScreenFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 802F8540-802F85A8 2F2E80 0068+00 1/0 0/0 0/0 .text __dt__9J2DScreenFv */
|
||||
#pragma push
|
||||
|
||||
@@ -283,7 +283,7 @@ SECTION_SDATA2 static f32 lit_889[1 + 1 /* padding */] = {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void J3DAnmLoaderDataBase::load(void const* param_0, J3DAnmLoaderDataBaseFlag param_1) {
|
||||
asm void* J3DAnmLoaderDataBase::load(void const* param_0, J3DAnmLoaderDataBaseFlag param_1) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/J3DGraphLoader/J3DAnmLoader/load__20J3DAnmLoaderDataBaseFPCv24J3DAnmLoaderDataBaseFlag.s"
|
||||
}
|
||||
|
||||
+131
-9
@@ -6443,7 +6443,7 @@ asm bool daAlink_c::getStickAngleFromPlayerShape(s16* param_0) const {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daAlink_c::commonLineCheck(cXyz* param_0, cXyz* param_1) {
|
||||
asm bool daAlink_c::commonLineCheck(cXyz* param_0, cXyz* param_1) {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_alink/commonLineCheck__9daAlink_cFP4cXyzP4cXyz.s"
|
||||
}
|
||||
@@ -14470,7 +14470,7 @@ COMPILER_STRIP_GATE(0x80391FEC, &swimOffset);
|
||||
static u8 lit_4409[12];
|
||||
|
||||
/* 80425514-80425520 052234 000C+00 32/35 0/0 0/0 .bss l_waitBaseAnime */
|
||||
static f32 l_waitBaseAnime[3];
|
||||
static Vec l_waitBaseAnime;
|
||||
|
||||
/* 80425520-8042552C 052240 000C+00 0/1 0/0 0/0 .bss @4410 */
|
||||
#pragma push
|
||||
@@ -17963,9 +17963,7 @@ bool daAlink_c::procSlideLandInit(int param_0) {
|
||||
field_0x3478 = daAlinkHIO_slide_c0::m.mForwardLandAnm.field_0x10;
|
||||
field_0x3198 = 1;
|
||||
field_0x2f99 = 4;
|
||||
field_0x3588.x = l_waitBaseAnime[0];
|
||||
field_0x3588.y = l_waitBaseAnime[1];
|
||||
field_0x3588.z = l_waitBaseAnime[2];
|
||||
field_0x3588 = l_waitBaseAnime;
|
||||
} else {
|
||||
setSingleAnimeParam(ANM_FORWARD_SLIDE_LAND, &daAlinkHIO_slide_c0::m.mBackwardLandAnm);
|
||||
field_0x3478 = daAlinkHIO_slide_c0::m.mBackwardLandAnm.field_0x10;
|
||||
@@ -18411,9 +18409,132 @@ static u8 lit_4420[12];
|
||||
#pragma pop
|
||||
|
||||
/* 8042561C-80425628 05233C 000C+00 37/39 0/0 0/0 .bss l_wolfBaseAnime */
|
||||
static f32 l_wolfBaseAnime[3];
|
||||
static Vec l_wolfBaseAnime;
|
||||
|
||||
inline dEvt_control_c& i_dComIfGp_getEvent() {
|
||||
return g_dComIfG_gameInfo.play.getEvent();
|
||||
}
|
||||
|
||||
bool daMidna_c::checkMidnaRealBody() {
|
||||
return dKy_darkworld_check() == 1 || dComIfGs_isTransformLV(3);
|
||||
}
|
||||
|
||||
/* 800C77F4-800C7C64 0C2134 0470+00 4/2 0/0 0/0 .text procCoMetamorphoseInit__9daAlink_cFv */
|
||||
// 1 missing instruction, lots of regalloc. maybe related
|
||||
#ifdef NONMATCHING
|
||||
bool daAlink_c::procCoMetamorphoseInit() {
|
||||
int svar8 = 0;
|
||||
|
||||
if (i_dComIfGp_getEvent().i_isOrderOK()) {
|
||||
if (!dComIfGp_event_compulsory(this, NULL, 0xFFFF)) {
|
||||
return 0;
|
||||
}
|
||||
mDemo.i_setSpecialDemoType();
|
||||
mDamageTimer = 0;
|
||||
svar8 = 1;
|
||||
}
|
||||
|
||||
if (!commonProcInitNotSameProc(METAMORPHOSE)) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
field_0x3198 = svar8;
|
||||
field_0x3008 = 0;
|
||||
field_0x300e = 0;
|
||||
field_0x3010 = 0;
|
||||
field_0x347c = 1.0f;
|
||||
mFallVoiceInit = 0;
|
||||
|
||||
if ((i_checkWolf() && mDemo.getDemoMode() == 0x39) || (!i_checkWolf() && mDemo.getDemoMode() == 0x3A)) {
|
||||
field_0x300a = 1;
|
||||
mSpeed.y = 0.0f;
|
||||
mNormalSpeed = 0.0f;
|
||||
if (i_checkWolf()) {
|
||||
mCommonCounter = mCollisionRot.x;
|
||||
}
|
||||
} else {
|
||||
deleteEquipItem(0, 1);
|
||||
|
||||
if (i_checkEndResetFlg0(ERFLG0_UNK_2) && checkStageName("D_MN08")) {
|
||||
field_0x3010 = 1;
|
||||
}
|
||||
field_0x300a = 0;
|
||||
|
||||
if (i_checkWolf()) {
|
||||
// Transform Wolf -> Human
|
||||
setSingleAnimeWolfBase(ANM_TRANFORM_HUMAN);
|
||||
field_0x3588 = l_wolfBaseAnime;
|
||||
field_0x347c = 0.5f;
|
||||
field_0x3480 = daAlinkHIO_basic_c0::m.mWolfLinkTransformSpeed;
|
||||
mCommonCounter = mCollisionRot.x;
|
||||
|
||||
daMidna_c* midna = getMidnaActor();
|
||||
if (i_checkMidnaRide() && midna->checkMidnaRealBody() && midna->checkDemoTypeNone()) {
|
||||
midna->changeOriginalDemo();
|
||||
midna->changeDemoMode(15);
|
||||
}
|
||||
} else {
|
||||
// Transform Human -> Wolf
|
||||
if (mDemo.getDemoMode() == 0x39 && mDemo.getParam1() == 1) {
|
||||
voiceStart(Z2SE_AL_V_TRANSFORM);
|
||||
}
|
||||
setSingleAnimeBase(ANM_TRANSFORM_WOLF);
|
||||
setMetamorphoseModel(1);
|
||||
field_0x3588 = l_waitBaseAnime;
|
||||
field_0x3480 = daAlinkHIO_basic_c0::m.mLinkWolfTransformSpeed;
|
||||
|
||||
cXyz pos(mCurrent.mPosition.x + (cM_ssin(mCollisionRot.y) * 100.0f),
|
||||
mCurrent.mPosition.y + 300.0f,
|
||||
mCurrent.mPosition.z + (cM_scos(mCollisionRot.y) * 100.0f));
|
||||
mLinkGndChk.SetPos(&pos);
|
||||
|
||||
f32 gnd_cross = dComIfG_Bgsp().GroundCross(&mLinkGndChk);
|
||||
if (gnd_cross != -1000000000.0f) {
|
||||
pos.y = -1000000000.0f;
|
||||
cXyz tmp_4c = mCurrent.mPosition;
|
||||
cXyz tmp_58 = pos;
|
||||
BOOL check = false;
|
||||
for (int i = 0; i < 4; i++) {
|
||||
if (i == 3) {
|
||||
tmp_4c.y = gnd_cross + 5.0f;
|
||||
} else {
|
||||
tmp_4c.y = mCurrent.mPosition.y + field_0x18B0[i].GetWallH();
|
||||
}
|
||||
tmp_58.y = tmp_4c.y;
|
||||
|
||||
|
||||
if (commonLineCheck(&tmp_4c, &tmp_58) && dBgS_CheckBWallPoly(mLinkLinChk)) {
|
||||
if (dComIfG_Bgsp().GetWallCode(mLinkLinChk) != 7) {
|
||||
check = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (check) {
|
||||
mCommonCounter = field_0x2ff0;
|
||||
} else {
|
||||
pos -= mCurrent.mPosition;
|
||||
pos.atan2sY_XZ();
|
||||
mCommonCounter = svar8;
|
||||
|
||||
if (cM_deg2s(70.0f) < abs(mCommonCounter)) {
|
||||
mCommonCounter = field_0x2ff0;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
mCommonCounter = 0;
|
||||
}
|
||||
}
|
||||
mSpeed.y = 0.0f;
|
||||
mNormalSpeed = 0.0f;
|
||||
field_0x3012 = 0;
|
||||
}
|
||||
|
||||
field_0x3484 = mCurrent.mPosition.y;
|
||||
return 1;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
@@ -18422,6 +18543,7 @@ asm bool daAlink_c::procCoMetamorphoseInit() {
|
||||
#include "asm/d/a/d_a_alink/procCoMetamorphoseInit__9daAlink_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80392070-8039207C 01E6D0 000C+00 0/1 0/0 0/0 .rodata @74273 */
|
||||
@@ -19258,11 +19380,11 @@ u8 daAlink_c::getClothesChangeWaitTimer() const {
|
||||
|
||||
/* 800D01A8-800D01E0 0CAAE8 0038+00 1/0 0/0 0/0 .text checkHorseStart__9daAlink_cFv */
|
||||
u32 daPy_py_c::getLastSceneMode() {
|
||||
return dComIfGs_getLastSceneMode();
|
||||
return dComIfGs_getLastSceneMode() & 0xF;
|
||||
}
|
||||
|
||||
BOOL daAlink_c::checkHorseStart() {
|
||||
return checkHorseStart(getLastSceneMode() & 0xF, getStartMode());
|
||||
return checkHorseStart(getLastSceneMode(), getStartMode());
|
||||
}
|
||||
|
||||
/* 800D01E0-800D0208 0CAB20 0028+00 1/0 0/0 0/0 .text checkCutTurnCharge__9daAlink_cCFv
|
||||
@@ -22110,7 +22232,7 @@ fopAc_ac_c* daAlink_c::getBoomerangActor() {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daAlink_c::checkBoomerangChargeEnd() {
|
||||
asm bool daAlink_c::checkBoomerangChargeEnd() {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_alink/checkBoomerangChargeEnd__9daAlink_cFv.s"
|
||||
}
|
||||
|
||||
+236
-224
@@ -11,6 +11,7 @@
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_actor_iter.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "JSystem/J3DGraphLoader/J3DAnmLoader.h"
|
||||
#include "rel/d/a/d_a_boomerang/d_a_boomerang.h"
|
||||
|
||||
//
|
||||
@@ -23,12 +24,6 @@ struct mDoMtx_stack_c {
|
||||
static u8 now[48];
|
||||
};
|
||||
|
||||
struct J3DAnmLoaderDataBaseFlag {};
|
||||
|
||||
struct J3DAnmLoaderDataBase {
|
||||
/* 80337B40 */ void load(void const*, J3DAnmLoaderDataBaseFlag);
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
@@ -146,6 +141,10 @@ extern "C" u8 sOldVcdVatCmd__8J3DShape[4];
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
inline s8 dComIfGp_getPlayerCameraID(int idx) {
|
||||
return g_dComIfG_gameInfo.play.getPlayerCameraID(idx);
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80453600-80453608 001C00 0004+04 6/6 0/0 0/0 .sdata2 @4215 */
|
||||
SECTION_SDATA2 static f32 lit_4215[1 + 1 /* padding */] = {
|
||||
@@ -302,37 +301,15 @@ asm void daPy_boomerangMove_c::bgCheckAfterOffset(cXyz const* param_0) {
|
||||
#endif
|
||||
|
||||
/* 8015EA0C-8015EA20 15934C 0014+00 0/0 3/3 0/0 .text setParamData__9daPy_py_cFiiii */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm u32 daPy_py_c::setParamData(int param_0, int param_1, int param_2, int param_3) {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_player/setParamData__9daPy_py_cFiiii.s"
|
||||
u32 daPy_py_c::setParamData(int param_0, int param_1, int param_2, int param_3) {
|
||||
return param_3 | (param_0 & 0x3F | (param_1 & 0x1F) << 0xC | param_2 << 0x18);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8015EA20-8015EA48 159360 0028+00 0/0 10/10 3/3 .text checkFishingRodItem__9daPy_py_cFi
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
BOOL daPy_py_c::checkFishingRodItem(int i_item_id) {
|
||||
bool is_fishing_item = false;
|
||||
|
||||
if (i_item_id == FISHING_ROD_1 || i_item_id < BEE_ROD || i_item_id <= JEWEL_WORM_ROD) {
|
||||
is_fishing_item = true;
|
||||
}
|
||||
|
||||
return is_fishing_item;
|
||||
BOOL daPy_py_c::checkFishingRodItem(int i_itemNo) {
|
||||
return i_itemNo == FISHING_ROD_1 || (i_itemNo >= BEE_ROD && i_itemNo <= JEWEL_WORM_ROD);
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm BOOL daPy_py_c::checkFishingRodItem(int param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_player/checkFishingRodItem__9daPy_py_cFi.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 8015EA48-8015EA88 159388 0040+00 0/0 3/3 0/0 .text checkBombItem__9daPy_py_cFi */
|
||||
#pragma push
|
||||
@@ -345,25 +322,17 @@ asm BOOL daPy_py_c::checkBombItem(int param_0) {
|
||||
#pragma pop
|
||||
|
||||
/* 8015EA88-8015EAD8 1593C8 0050+00 0/0 5/5 0/0 .text checkBottleItem__9daPy_py_cFi */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm BOOL daPy_py_c::checkBottleItem(int param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_player/checkBottleItem__9daPy_py_cFi.s"
|
||||
// is there a way to write this with a switch?
|
||||
BOOL daPy_py_c::checkBottleItem(int i_itemNo) {
|
||||
return (i_itemNo >= EMPTY_BOTTLE && i_itemNo <= FAIRY) || i_itemNo == BEE_CHILD || i_itemNo == WORM || i_itemNo == FAIRY_DROP || i_itemNo == CHUCHU_BLACK || (i_itemNo >= CHUCHU_RARE && i_itemNo <= LV3_SOUP);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8015EAD8-8015EB40 159418 0068+00 0/0 3/3 0/0 .text checkDrinkBottleItem__9daPy_py_cFi
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daPy_py_c::checkDrinkBottleItem(int param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_player/checkDrinkBottleItem__9daPy_py_cFi.s"
|
||||
// is there a way to write this with a switch?
|
||||
BOOL daPy_py_c::checkDrinkBottleItem(int i_itemNo) {
|
||||
return (i_itemNo >= RED_BOTTLE && i_itemNo <= HALF_MILK_BOTTLE) || i_itemNo == RED_BOTTLE_2 || i_itemNo == UGLY_SOUP || i_itemNo == HOT_SPRING || i_itemNo == BEE_CHILD || i_itemNo == CHUCHU_BLACK || i_itemNo == FAIRY_DROP || (i_itemNo >= CHUCHU_RARE && i_itemNo != CHUCHU_YELLOW && i_itemNo <= LV3_SOUP);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8015EB40-8015EB68 159480 0028+00 0/0 4/4 0/0 .text checkOilBottleItem__9daPy_py_cFi */
|
||||
BOOL daPy_py_c::checkOilBottleItem(int i_itemNo) {
|
||||
@@ -388,14 +357,9 @@ BOOL daPy_py_c::checkHookshotItem(int i_itemNo) {
|
||||
}
|
||||
|
||||
/* 8015EBD8-8015EC28 159518 0050+00 0/0 3/3 0/0 .text checkTradeItem__9daPy_py_cFi */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm BOOL daPy_py_c::checkTradeItem(int param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_player/checkTradeItem__9daPy_py_cFi.s"
|
||||
BOOL daPy_py_c::checkTradeItem(int i_itemNo) {
|
||||
return (i_itemNo >= LETTER && i_itemNo <= IRIAS_PENDANT) || i_itemNo == ANCIENT_DOCUMENT || i_itemNo == AIR_LETTER || i_itemNo == ANCIENT_DOCUMENT2 || i_itemNo == RAFRELS_MEMO || i_itemNo == TKS_LETTER || i_itemNo == ASHS_SCRIBBLING;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8015EC28-8015EC48 159568 0020+00 0/0 2/2 0/0 .text checkDungeonWarpItem__9daPy_py_cFi
|
||||
*/
|
||||
@@ -450,33 +414,46 @@ void daPy_anmHeap_c::initData() {
|
||||
}
|
||||
|
||||
/* 8015EDC4-8015EE00 159704 003C+00 0/0 1/1 1/1 .text mallocBuffer__14daPy_anmHeap_cFv */
|
||||
#ifdef NONMATCHING
|
||||
void* daPy_anmHeap_c::mallocBuffer() {
|
||||
void* buf = new (0x20) void*[mBufferSize];
|
||||
mBuffer = buf;
|
||||
mBuffer = new (0x20) char[mBufferSize];
|
||||
return mBuffer;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void* daPy_anmHeap_c::mallocBuffer() {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_player/mallocBuffer__14daPy_anmHeap_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 8015EE00-8015EF84 159740 0184+00 0/0 1/1 1/1 .text
|
||||
* createHeap__14daPy_anmHeap_cFQ214daPy_anmHeap_c16daAlinkHEAP_TYPE */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daPy_anmHeap_c::createHeap(daPy_anmHeap_c::daAlinkHEAP_TYPE param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_player/createHeap__14daPy_anmHeap_cFQ214daPy_anmHeap_c16daAlinkHEAP_TYPE.s"
|
||||
void daPy_anmHeap_c::createHeap(daPy_anmHeap_c::daAlinkHEAP_TYPE heap_type) {
|
||||
u32 size;
|
||||
|
||||
if (heap_type == 4) {
|
||||
size = mBufferSize;
|
||||
} else if (heap_type == 3) {
|
||||
size = 0x50;
|
||||
} else if (heap_type == 0) {
|
||||
size = 0x40;
|
||||
} else if (heap_type == 1) {
|
||||
size = 0x40;
|
||||
} else {
|
||||
size = 0xA0;
|
||||
}
|
||||
|
||||
JKRHeap* tmp;
|
||||
mAnimeHeap = mDoExt_createSolidHeapFromGameToCurrent(&tmp, size, 0x20);
|
||||
|
||||
if (heap_type == 4) {
|
||||
char* tmpWork = new char[size];
|
||||
} else if (heap_type == 3) {
|
||||
mDoExt_transAnmBas* tmpTransBas = new mDoExt_transAnmBas(NULL);
|
||||
} else if (heap_type == 0) {
|
||||
J3DAnmTransformKey* tmpTrans = new J3DAnmTransformKey();
|
||||
} else if (heap_type == 1) {
|
||||
J3DAnmTexPattern* tmpTp = new J3DAnmTexPattern();
|
||||
} else {
|
||||
J3DAnmTextureSRTKey* tmpTk = new J3DAnmTextureSRTKey();
|
||||
}
|
||||
|
||||
mDoExt_setCurrentHeap(tmp);
|
||||
mDoExt_adjustSolidHeap(mAnimeHeap);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80453648-80453650 001C48 0008+00 1/0 0/0 0/0 .sdata2 sumouArcName$4614 */
|
||||
@@ -519,59 +496,66 @@ SECTION_SDATA2 static char lastGanonArcName[8] = "B_gnd";
|
||||
SECTION_SDATA2 static char pigGanonArcName[8] = "B_mgn";
|
||||
|
||||
/* 8015EF84-8015F068 1598C4 00E4+00 3/3 0/0 0/0 .text loadData__14daPy_anmHeap_cFUs */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm J3DAnmBase* daPy_anmHeap_c::loadData(u16 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_player/loadData__14daPy_anmHeap_cFUs.s"
|
||||
void* daPy_anmHeap_c::loadData(u16 id) {
|
||||
if (mArcNo == 0xFFFF) {
|
||||
dComIfGp_getAnmArchive()->readIdxResource(mBuffer, mBufferSize, id);
|
||||
JKRHeap* heap = setAnimeHeap();
|
||||
void* data = J3DAnmLoaderDataBase::load(mBuffer, UNK_FLAG0);
|
||||
mDoExt_setCurrentHeap(heap);
|
||||
return data;
|
||||
}
|
||||
|
||||
if (mArcNo == 0) {
|
||||
return dComIfG_getObjectIDRes(dStage_roomControl_c::getDemoArcName(), id);
|
||||
}
|
||||
|
||||
return dComIfG_getObjectRes(arcName[mArcNo - 1], id);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8015F068-8015F0D0 1599A8 0068+00 0/0 9/9 5/5 .text loadDataIdx__14daPy_anmHeap_cFUs */
|
||||
J3DAnmBase* daPy_anmHeap_c::loadDataIdx(u16 pID) {
|
||||
J3DAnmBase* tmp;
|
||||
void* daPy_anmHeap_c::loadDataIdx(u16 id) {
|
||||
void* data;
|
||||
|
||||
if (pID == mIdx && mArcNo == 0xffff) {
|
||||
tmp = NULL;
|
||||
if (id == mIdx && mArcNo == 0xFFFF) {
|
||||
data = NULL;
|
||||
} else {
|
||||
mIdx = pID;
|
||||
mArcNo = 0xffff;
|
||||
if (mPriIdx == 0xffff) {
|
||||
tmp = loadData(pID);
|
||||
mIdx = id;
|
||||
mArcNo = 0xFFFF;
|
||||
if (mPriIdx == 0xFFFF) {
|
||||
data = loadData(id);
|
||||
} else {
|
||||
tmp = NULL;
|
||||
data = NULL;
|
||||
}
|
||||
}
|
||||
return tmp;
|
||||
return data;
|
||||
}
|
||||
|
||||
/* 8015F0D0-8015F118 159A10 0048+00 0/0 3/3 0/0 .text loadDataPriIdx__14daPy_anmHeap_cFUs
|
||||
*/
|
||||
J3DAnmBase* daPy_anmHeap_c::loadDataPriIdx(u16 pID) {
|
||||
J3DAnmBase* tmp;
|
||||
void* daPy_anmHeap_c::loadDataPriIdx(u16 id) {
|
||||
void* data;
|
||||
|
||||
if (pID == mPriIdx || mArcNo != 0xffff) {
|
||||
tmp = NULL;
|
||||
if (id == mPriIdx || mArcNo != 0xFFFF) {
|
||||
data = NULL;
|
||||
} else {
|
||||
mPriIdx = pID;
|
||||
tmp = loadData(pID);
|
||||
mPriIdx = id;
|
||||
data = loadData(id);
|
||||
}
|
||||
return tmp;
|
||||
return data;
|
||||
}
|
||||
|
||||
/* 8015F118-8015F168 159A58 0050+00 0/0 5/5 5/5 .text loadDataDemoRID__14daPy_anmHeap_cFUsUs */
|
||||
J3DAnmBase* daPy_anmHeap_c::loadDataDemoRID(u16 pID, u16 pArcNo) {
|
||||
J3DAnmBase* tmp;
|
||||
void* daPy_anmHeap_c::loadDataDemoRID(u16 id, u16 arc_no) {
|
||||
void* data;
|
||||
|
||||
if (pID == mIdx && pArcNo == mArcNo) {
|
||||
tmp = NULL;
|
||||
if (id == mIdx && arc_no == mArcNo) {
|
||||
data = NULL;
|
||||
} else {
|
||||
mIdx = pID;
|
||||
mArcNo = pArcNo;
|
||||
tmp = loadData(pID);
|
||||
mIdx = id;
|
||||
mArcNo = arc_no;
|
||||
data = loadData(id);
|
||||
}
|
||||
return tmp;
|
||||
return data;
|
||||
}
|
||||
|
||||
/* 8015F168-8015F1A0 159AA8 0038+00 1/1 4/4 0/0 .text setAnimeHeap__14daPy_anmHeap_cFv */
|
||||
@@ -582,7 +566,7 @@ JKRHeap* daPy_anmHeap_c::setAnimeHeap() {
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803BA0C0-803BA14C 0171E0 0089+03 1/1 0/0 0/0 .data l_sightDL */
|
||||
SECTION_DATA static u8 l_sightDL[137 + 3 /* padding */] = {
|
||||
SECTION_DATA static u8 l_sightDL[137] = {
|
||||
0x10,
|
||||
0x00,
|
||||
0x00,
|
||||
@@ -720,10 +704,6 @@ SECTION_DATA static u8 l_sightDL[137 + 3 /* padding */] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
/* padding */
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
|
||||
/* 80453678-8045367C 001C78 0004+00 1/1 0/0 0/0 .sdata2 @4668 */
|
||||
@@ -759,14 +739,10 @@ asm void daPy_sightPacket_c::setSight() {
|
||||
|
||||
/* 8015F384-8015F398 159CC4 0014+00 0/0 1/1 0/0 .text
|
||||
* setSightImage__18daPy_sightPacket_cFP7ResTIMG */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daPy_sightPacket_c::setSightImage(ResTIMG* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_player/setSightImage__18daPy_sightPacket_cFP7ResTIMG.s"
|
||||
void daPy_sightPacket_c::setSightImage(ResTIMG* p_img) {
|
||||
mpImg = p_img;
|
||||
mpData = (u8*)p_img + p_img->texDataOffset;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8015F398-8015F3C4 159CD8 002C+00 0/0 8/8 10/10 .text checkMasterSwordEquip__9daPy_py_cFv */
|
||||
BOOL daPy_py_c::checkMasterSwordEquip() {
|
||||
@@ -811,72 +787,74 @@ s16 daPy_py_c::checkNowWolfEyeUp() {
|
||||
|
||||
/* 8015F438-8015F478 159D78 0040+00 0/0 0/0 1/1 .text forceRestartRoom__9daPy_py_cFiUli
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daPy_py_c::forceRestartRoom(int param_0, u32 param_1, int param_2) {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_player/forceRestartRoom__9daPy_py_cFiUli.s"
|
||||
// move these inlines?
|
||||
inline BOOL i_dComIfGp_event_runCheck() {
|
||||
return g_dComIfG_gameInfo.play.getEvent().runCheck();
|
||||
}
|
||||
|
||||
void daAlink_c::startRestartRoomFromOut(int param_0, u32 param_1, int param_2) {
|
||||
startRestartRoom(param_1, param_2, param_0, i_dComIfGp_event_runCheck());
|
||||
}
|
||||
|
||||
void daPy_py_c::forceRestartRoom(int param_0, u32 param_1, int param_2) {
|
||||
daAlink_getAlinkActorClass()->startRestartRoomFromOut(param_0, param_1, param_2);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8015F478-8015F4B8 159DB8 0040+00 0/0 0/0 3/3 .text
|
||||
* setFmChainPos__9daPy_py_cFP10fopAc_ac_cP4cXyzi */
|
||||
#ifdef NONMATCHING
|
||||
void daPy_py_c::setFmChainPos(fopAc_ac_c* param_0, cXyz* param_1, int param_2) {
|
||||
daAlink_getAlinkActorClass()->setFmChainPosFromOut(param_0, param_1, param_2);
|
||||
}
|
||||
|
||||
/* 8015F4B8-8015F4F0 159DF8 0038+00 0/0 0/0 1/1 .text cancelFmChainGrab__9daPy_py_cFv */
|
||||
void daPy_py_c::cancelFmChainGrab() {
|
||||
daAlink_getAlinkActorClass()->cancelFmChainGrabFromOut();
|
||||
}
|
||||
|
||||
/* 8015F4F0-8015F520 159E30 0030+00 0/0 0/0 17/17 .text setLookPos__9daPy_py_cFP4cXyz */
|
||||
void daPy_py_c::setLookPos(cXyz* p_pos) {
|
||||
daAlink_getAlinkActorClass()->setLookPosFromOut(p_pos);
|
||||
}
|
||||
|
||||
/* 8015F520-8015F55C 159E60 003C+00 0/0 0/0 4/4 .text setPlayerSe__9daPy_py_cFUl */
|
||||
void daPy_py_c::setPlayerSe(u32 se_id) {
|
||||
daAlink_getAlinkActorClass()->seStartOnlyReverb(se_id);
|
||||
}
|
||||
|
||||
/* 8015F55C-8015F60C 159E9C 00B0+00 1/1 0/0 2/2 .text
|
||||
* linkGrabSubjectNoDraw__9daPy_py_cFP10fopAc_ac_c */
|
||||
// regalloc
|
||||
#ifdef NONMATCHING
|
||||
inline daPy_py_c* daPy_getPlayerActorClass() {
|
||||
return (daPy_py_c*)dComIfGp_getPlayer(0);
|
||||
}
|
||||
|
||||
bool daPy_py_c::linkGrabSubjectNoDraw(fopAc_ac_c* p_ac) {
|
||||
bool check_carry = false;
|
||||
bool ret = false;
|
||||
|
||||
if (fopAcM_checkCarryNow(p_ac)) {
|
||||
if (daPy_getPlayerActorClass()->getGrabActorID() == fopAcM_GetID(p_ac)) {
|
||||
check_carry = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (check_carry && dComIfGp_checkCameraAttentionStatus(dComIfGp_getPlayerCameraID(0), 2) != 0) {
|
||||
ret = true;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daPy_py_c::setFmChainPos(fopAc_ac_c* param_0, cXyz* param_1, int param_2) {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_player/setFmChainPos__9daPy_py_cFP10fopAc_ac_cP4cXyzi.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 8015F4B8-8015F4F0 159DF8 0038+00 0/0 0/0 1/1 .text cancelFmChainGrab__9daPy_py_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daPy_py_c::cancelFmChainGrab() {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_player/cancelFmChainGrab__9daPy_py_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8015F4F0-8015F520 159E30 0030+00 0/0 0/0 17/17 .text setLookPos__9daPy_py_cFP4cXyz */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daPy_py_c::setLookPos(cXyz* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_player/setLookPos__9daPy_py_cFP4cXyz.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8015F520-8015F55C 159E60 003C+00 0/0 0/0 4/4 .text setPlayerSe__9daPy_py_cFUl */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daPy_py_c::setPlayerSe(u32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_player/setPlayerSe__9daPy_py_cFUl.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8015F55C-8015F60C 159E9C 00B0+00 1/1 0/0 2/2 .text
|
||||
* linkGrabSubjectNoDraw__9daPy_py_cFP10fopAc_ac_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daPy_py_c::linkGrabSubjectNoDraw(fopAc_ac_c* param_0) {
|
||||
asm bool daPy_py_c::linkGrabSubjectNoDraw(fopAc_ac_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_player/linkGrabSubjectNoDraw__9daPy_py_cFP10fopAc_ac_c.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 8015F60C-8015F660 159F4C 0054+00 0/0 0/0 2/2 .text
|
||||
* wolfGrabSubjectNoDraw__9daPy_py_cFP10fopAc_ac_c */
|
||||
@@ -889,36 +867,45 @@ asm void daPy_py_c::wolfGrabSubjectNoDraw(fopAc_ac_c* param_0) {
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
u32 daPy_py_c::getLastSceneMode() {
|
||||
return dComIfGs_getLastSceneMode() & 0xF;
|
||||
}
|
||||
|
||||
/* 8015F660-8015F698 159FA0 0038+00 2/2 1/1 1/1 .text checkRoomRestartStart__9daPy_py_cFv
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daPy_py_c::checkRoomRestartStart() {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_player/checkRoomRestartStart__9daPy_py_cFv.s"
|
||||
bool daPy_py_c::checkRoomRestartStart() {
|
||||
u8 mode = getLastSceneMode();
|
||||
|
||||
if (mode == 4 || mode == 8 || mode == 5) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
inline dStage_stageDt_c* dComIfGp_getStage() {
|
||||
return &g_dComIfG_gameInfo.play.getStage();
|
||||
}
|
||||
|
||||
inline s32 dStage_stagInfo_GetSaveTbl(stage_stag_info_class* param_0) {
|
||||
return param_0->field_0x09 >> 1 & 0x1f;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8015F698-8015F730 159FD8 0098+00 0/0 2/2 1/1 .text checkCarryStartLightBallA__9daPy_py_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm u32 daPy_py_c::checkCarryStartLightBallA() {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_player/checkCarryStartLightBallA__9daPy_py_cFv.s"
|
||||
u32 daPy_py_c::checkCarryStartLightBallA() {
|
||||
if (checkRoomRestartStart() || !dComIfGp_getStage() || !dComIfGp_getStage()->getStagInfo() || dStage_stagInfo_GetSaveTbl(dComIfGp_getStage()->getStagInfo()) != 0x17) {
|
||||
return FALSE;
|
||||
}
|
||||
return dComIfGs_getLastSceneMode() & 0x100000;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8015F730-8015F7C8 15A070 0098+00 0/0 2/2 1/1 .text checkCarryStartLightBallB__9daPy_py_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm u32 daPy_py_c::checkCarryStartLightBallB() {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_player/checkCarryStartLightBallB__9daPy_py_cFv.s"
|
||||
u32 daPy_py_c::checkCarryStartLightBallB() {
|
||||
if (checkRoomRestartStart() || !dComIfGp_getStage() || !dComIfGp_getStage()->getStagInfo() || dStage_stagInfo_GetSaveTbl(dComIfGp_getStage()->getStagInfo()) != 0x17) {
|
||||
return FALSE;
|
||||
}
|
||||
return dComIfGs_getLastSceneMode() & 0x80000;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
float daPy_py_c::getSpinnerRideSpeed() const {
|
||||
float rideSpeed;
|
||||
@@ -942,14 +929,9 @@ asm void daPy_py_c::checkSpinnerReflectEffect() {
|
||||
|
||||
/* 8015F89C-8015F8C8 15A1DC 002C+00 0/0 0/0 7/7 .text checkBoomerangCharge__9daPy_py_cFv
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daPy_py_c::checkBoomerangCharge() {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_player/checkBoomerangCharge__9daPy_py_cFv.s"
|
||||
bool daPy_py_c::checkBoomerangCharge() {
|
||||
return daAlink_getAlinkActorClass()->checkBoomerangChargeEnd();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8015F8C8-8015F8D0 15A208 0008+00 0/0 0/0 1/1 .text checkBoomerangChargeTime__9daPy_py_cFv */
|
||||
bool daPy_py_c::checkBoomerangChargeTime() {
|
||||
@@ -964,46 +946,75 @@ daBoomerang_c* daPy_py_c::getThrowBoomerangActor() {
|
||||
|
||||
/* 8015F8E4-8015F914 15A224 0030+00 0/0 0/0 2/2 .text
|
||||
* cancelBoomerangLockActor__9daPy_py_cFP10fopAc_ac_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daPy_py_c::cancelBoomerangLockActor(fopAc_ac_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_player/cancelBoomerangLockActor__9daPy_py_cFP10fopAc_ac_c.s"
|
||||
void daPy_py_c::cancelBoomerangLockActor(fopAc_ac_c* p_ac) {
|
||||
daAlink_getAlinkActorClass()->cancelBoomerangLock(p_ac);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8015F914-8015F954 15A254 0040+00 0/0 0/0 2/2 .text setPlayerDamage__9daPy_py_cFii */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daPy_py_c::setPlayerDamage(int param_0, int param_1) {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_player/setPlayerDamage__9daPy_py_cFii.s"
|
||||
void daPy_py_c::setPlayerDamage(int param_0, int param_1) {
|
||||
daAlink_getAlinkActorClass()->setDamagePoint(param_0, 0, param_1, 0);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8015F954-8015F968 15A294 0014+00 0/0 3/3 0/0 .text setMidnaMotionNum__9daPy_py_cFi */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daPy_py_c::setMidnaMotionNum(int param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_player/setMidnaMotionNum__9daPy_py_cFi.s"
|
||||
void daPy_py_c::setMidnaMotionNum(int motion_num) {
|
||||
if (m_midnaActor != NULL) {
|
||||
m_midnaActor->setMotionNum(motion_num);
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8015F968-8015F97C 15A2A8 0014+00 0/0 3/3 0/0 .text setMidnaFaceNum__9daPy_py_cFi */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daPy_py_c::setMidnaFaceNum(int param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_player/setMidnaFaceNum__9daPy_py_cFi.s"
|
||||
void daPy_py_c::setMidnaFaceNum(int face_num) {
|
||||
if (m_midnaActor != NULL) {
|
||||
m_midnaActor->setFaceNum(face_num);
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8015F97C-8015FA2C 15A2BC 00B0+00 0/0 7/7 2/2 .text daPy_addCalcShort__FPsssss */
|
||||
// 1 instruction in wrong place
|
||||
#ifdef NONMATCHING
|
||||
int daPy_addCalcShort(s16* param_0, s16 param_1, s16 param_2, s16 param_3, s16 param_4) {
|
||||
s16 temp_r0;
|
||||
s16 temp_r0_2;
|
||||
s16 temp_r8;
|
||||
s16 temp_r9;
|
||||
s32 temp_r10;
|
||||
s32 temp_r4;
|
||||
s32 temp_r5;
|
||||
s32 phi_r4;
|
||||
|
||||
temp_r8 = *param_0;
|
||||
temp_r9 = (s16) param_1;
|
||||
temp_r10 = temp_r9 - temp_r8;
|
||||
|
||||
if (temp_r8 != temp_r9) {
|
||||
temp_r5 = temp_r10 / param_2;
|
||||
temp_r0 = (s16) param_4;
|
||||
if (temp_r5 > temp_r0 || temp_r5 < -temp_r0) {
|
||||
temp_r0_2 = param_3;
|
||||
temp_r4 = -temp_r0_2;
|
||||
phi_r4 = temp_r4;
|
||||
if (temp_r5 < temp_r4) {
|
||||
phi_r4 = temp_r5;
|
||||
} else if (temp_r5 > temp_r0_2) {
|
||||
phi_r4 = temp_r0_2;
|
||||
}
|
||||
*param_0 += phi_r4;
|
||||
}
|
||||
else if (temp_r10 >= 0) {
|
||||
*param_0 = temp_r8 + param_4;
|
||||
if (temp_r9 - *param_0 <= 0) {
|
||||
*param_0 = param_1;
|
||||
}
|
||||
} else {
|
||||
*param_0 = temp_r8 - param_4;
|
||||
if (temp_r9 - *param_0 >= 0) {
|
||||
*param_0 = param_1;
|
||||
}
|
||||
}
|
||||
}
|
||||
return temp_r9 - *param_0;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
@@ -1012,6 +1023,7 @@ asm void daPy_addCalcShort(s16* param_0, s16 param_1, s16 param_2, s16 param_3,
|
||||
#include "asm/d/a/d_a_player/daPy_addCalcShort__FPsssss.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803BA14C-803BA160 01726C 0010+04 0/0 4/4 0/0 .data __vt__18daPy_sightPacket_c */
|
||||
|
||||
+1
-1
@@ -533,7 +533,7 @@ bool dBgS::GetUnderwaterRoofCode(cBgS_PolyInfo const& poly) {
|
||||
}
|
||||
|
||||
/* 80074E00-80074E50 06F740 0050+00 0/0 13/13 5/5 .text GetWallCode__4dBgSFRC13cBgS_PolyInfo */
|
||||
bool dBgS::GetWallCode(cBgS_PolyInfo const& poly) {
|
||||
s32 dBgS::GetWallCode(cBgS_PolyInfo const& poly) {
|
||||
int bg_index = poly.GetBgIndex();
|
||||
if (m_chk_element[bg_index].ChkUsed()) {
|
||||
return m_chk_element[bg_index].m_bgw_base_ptr->GetWallCode(poly);
|
||||
|
||||
+1
-1
@@ -1157,7 +1157,7 @@ asm void dBgW::GetLinkNo(cBgS_PolyInfo const& param_0) {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm bool dBgW::GetWallCode(cBgS_PolyInfo const& param_0) {
|
||||
asm s32 dBgW::GetWallCode(cBgS_PolyInfo const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w/GetWallCode__4dBgWFRC13cBgS_PolyInfo.s"
|
||||
}
|
||||
|
||||
@@ -761,7 +761,7 @@ asm void dBgWKCol::GetLinkNo(cBgS_PolyInfo const& param_0) {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgWKCol::GetWallCode(cBgS_PolyInfo const& param_0) {
|
||||
asm s32 dBgWKCol::GetWallCode(cBgS_PolyInfo const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/GetWallCode__8dBgWKColFRC13cBgS_PolyInfo.s"
|
||||
}
|
||||
|
||||
@@ -392,7 +392,7 @@ extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
inline u8 dStage_stagInfo_GetSaveTbl(stage_stag_info_class* param_0) {
|
||||
inline s32 dStage_stagInfo_GetSaveTbl(stage_stag_info_class* param_0) {
|
||||
return param_0->field_0x09 >> 1 & 0x1f;
|
||||
}
|
||||
|
||||
|
||||
+3
-6
@@ -31,10 +31,6 @@ struct mDoGph_gInf_c {
|
||||
static u8 mZbufferTimg[4];
|
||||
};
|
||||
|
||||
struct mDoExt_transAnmBas {
|
||||
/* 8003C784 */ ~mDoExt_transAnmBas();
|
||||
};
|
||||
|
||||
struct dBgWKCol {
|
||||
/* 8007E7D0 */ void initKCollision(void*);
|
||||
};
|
||||
@@ -996,7 +992,7 @@ asm void* dRes_control_c::getRes(char const* param_0, char const* param_1, dRes_
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dRes_control_c::getIDRes(char const* param_0, u16 param_1, dRes_info_c* param_2,
|
||||
asm void* dRes_control_c::getIDRes(char const* param_0, u16 param_1, dRes_info_c* param_2,
|
||||
int param_3) {
|
||||
nofralloc
|
||||
#include "asm/d/d_resorce/getIDRes__14dRes_control_cFPCcUsP11dRes_info_ci.s"
|
||||
@@ -1096,7 +1092,8 @@ s32 J3DAnmTransform::getKind() const {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm mDoExt_transAnmBas::~mDoExt_transAnmBas() {
|
||||
// asm mDoExt_transAnmBas::~mDoExt_transAnmBas() {
|
||||
extern "C" asm void __dt__18mDoExt_transAnmBasFv() {
|
||||
nofralloc
|
||||
#include "asm/d/d_resorce/__dt__18mDoExt_transAnmBasFv.s"
|
||||
}
|
||||
|
||||
+4
-4
@@ -433,8 +433,8 @@ extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */];
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
inline dStage_stageDt_c& dComIfGp_getStage() {
|
||||
return g_dComIfG_gameInfo.play.getStage();
|
||||
inline dStage_stageDt_c* dComIfGp_getStage() {
|
||||
return &g_dComIfG_gameInfo.play.getStage();
|
||||
}
|
||||
|
||||
void dStage_nextStage_c::set(const char* i_stage, s8 i_roomId, s16 i_point, s8 i_layer, s8 i_wipe,
|
||||
@@ -2283,7 +2283,7 @@ void dStage_infoCreate() {
|
||||
void* stageRsrc = dComIfG_getStageRes("stage.dzs");
|
||||
|
||||
dComIfGp_roomControl_init();
|
||||
dStage_dt_c_stageInitLoader(stageRsrc, &dComIfGp_getStage());
|
||||
dStage_dt_c_stageInitLoader(stageRsrc, dComIfGp_getStage());
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
@@ -2294,7 +2294,7 @@ SECTION_DEAD static char const* const stringBase_80378B73 = "vrbox_sora.bmd";
|
||||
#pragma pop
|
||||
|
||||
/* 80406194-804061A0 032EB4 000A+02 2/2 14/14 7/7 .bss mDemoArcName__20dStage_roomControl_c */
|
||||
u8 dStage_roomControl_c::mDemoArcName[10 + 2 /* padding */];
|
||||
char dStage_roomControl_c::mDemoArcName[10];
|
||||
|
||||
/* 80026D38-80026DF8 021678 00C0+00 0/0 1/1 0/0 .text dStage_Create__Fv */
|
||||
#pragma push
|
||||
|
||||
@@ -3177,7 +3177,7 @@ asm void dKy_depth_dist_set(void* param_0) {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dKy_darkworld_check() {
|
||||
asm bool dKy_darkworld_check() {
|
||||
nofralloc
|
||||
#include "asm/d/kankyo/d_kankyo/dKy_darkworld_check__Fv.s"
|
||||
}
|
||||
|
||||
+381
-53
@@ -308,31 +308,330 @@ SECTION_SDATA2 static u8 lit_4662[4] = {
|
||||
/* 804549CC-804549D0 002FCC 0004+00 13/13 0/0 0/0 .sdata2 @4663 */
|
||||
SECTION_SDATA2 static f32 lit_4663 = 1.0f;
|
||||
|
||||
/* 8021EA14-8021F128 219354 0714+00 1/1 0/0 0/0 .text _create__9dMeter2_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMeter2_c::_create() {
|
||||
nofralloc
|
||||
#include "asm/d/meter/d_meter2/_create__9dMeter2_cFv.s"
|
||||
inline u16 dComIfGs_getLife() {
|
||||
return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getLife();
|
||||
}
|
||||
|
||||
inline u16 i_dComIfGs_getRupee() {
|
||||
return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getRupee();
|
||||
}
|
||||
|
||||
inline u8 dComIfGp_getRStatus() {
|
||||
return g_dComIfG_gameInfo.play.getRStatus();
|
||||
}
|
||||
|
||||
inline void dComIfGp_setBottleStatus(u8 param_0, u8 param_1) {
|
||||
g_dComIfG_gameInfo.play.setBottleStatus(param_0, param_1);
|
||||
}
|
||||
|
||||
inline u8 dComIfGp_getDoStatus() {
|
||||
return g_dComIfG_gameInfo.play.getDoStatus();
|
||||
}
|
||||
|
||||
inline void dMeter2Info_offUseButton(int flag) {
|
||||
g_meter2_info.offUseButton(flag);
|
||||
}
|
||||
|
||||
/* 8021EA14-8021F128 219354 0714+00 1/1 0/0 0/0 .text _create__9dMeter2_cFv */
|
||||
// this can be cleaned up with float literals when everything else is decompiled
|
||||
int dMeter2_c::_create() {
|
||||
stage_stag_info_class* stag_info = dComIfGp_getStageStagInfo();
|
||||
if (dStage_stagInfo_GetUpButton(stag_info) == 1) {
|
||||
mpHeap = fopMsgM_createExpHeap(0x5A400, NULL);
|
||||
} else {
|
||||
mpHeap = fopMsgM_createExpHeap(0x60800, NULL);
|
||||
}
|
||||
|
||||
JKRHeap* heap = mDoExt_setCurrentHeap(mpHeap);
|
||||
mpHeap->getTotalFreeSize();
|
||||
|
||||
if (!strcmp(dComIfGp_getStartStageName(), "F_SP00")) {
|
||||
dMeter2Info_setNowCount(0);
|
||||
dMeter2Info_setMaxCount(0);
|
||||
}
|
||||
|
||||
field_0x128 = 0;
|
||||
field_0x12c = field_0x128;
|
||||
field_0x124 = 0;
|
||||
mSubContents = 0;
|
||||
mSubContentsStringType = 0;
|
||||
field_0x1e6 = 0;
|
||||
field_0x1e7 = 0;
|
||||
|
||||
mItemMaxNum[2] = dComIfGs_getArrowMax();
|
||||
mArrowNum = dComIfGs_getArrowNum();
|
||||
mItemMaxNum[3] = dComIfGs_getPachinkoMax();
|
||||
mPachinkoNum = dComIfGs_getPachinkoNum();
|
||||
|
||||
for (int i = 0; i < 3; i++) {
|
||||
mBombMax[i] = dComIfGs_getBombMax(dComIfGs_getItem((u8)(i + SLOT_15), 1));
|
||||
mBombNum[i] = dComIfGs_getBombNum(i);
|
||||
}
|
||||
|
||||
for (int i = 0; i < 2; i++) {
|
||||
mItemMaxNum[i] = dComIfGs_getSelectItemIndex(i);
|
||||
}
|
||||
|
||||
for (int i = 0; i < 4; i++) {
|
||||
mBottleNum[i] = dComIfGs_getBottleNum(i);
|
||||
}
|
||||
|
||||
field_0x1e8 = 0;
|
||||
field_0x1e9 = 0;
|
||||
field_0x1ea = 0;
|
||||
field_0x1eb = 0;
|
||||
|
||||
for (int i = 0; i < 5; i++) {
|
||||
field_0x1b8[i] = 0;
|
||||
}
|
||||
|
||||
field_0x1ec = 0;
|
||||
field_0x1ed = 0;
|
||||
field_0x1ee = 0;
|
||||
|
||||
mNowLifeGauge = dComIfGs_getLife();
|
||||
dComIfGp_setItemNowLife((u8)mNowLifeGauge);
|
||||
|
||||
mMaxLife = dComIfGs_getMaxLife();
|
||||
|
||||
mNowMagic = dComIfGs_getMagic();
|
||||
dComIfGp_setItemNowMagic(mNowMagic);
|
||||
|
||||
mMaxMagic = dComIfGs_getMaxMagic();
|
||||
|
||||
mNowOil = dComIfGs_getOil();
|
||||
dComIfGp_setItemNowOil(mNowOil);
|
||||
|
||||
mMaxOil = dComIfGs_getMaxOil();
|
||||
|
||||
mNowOxygen = dComIfGp_getOxygen();
|
||||
dComIfGp_setNowOxygen(mNowOxygen);
|
||||
|
||||
mMaxOxygen = dComIfGp_getMaxOxygen();
|
||||
|
||||
field_0x130 = FLOAT_LABEL(lit_4662);
|
||||
|
||||
u8 dark_area = dComIfGp_getStartStageDarkArea();
|
||||
mLightDropNum = dComIfGs_getLightDropNum(dark_area);
|
||||
|
||||
mNeedLightDropNum = dComIfGp_getNeedLightDropNum();
|
||||
|
||||
mRupeeNum = i_dComIfGs_getRupee();
|
||||
mKeyNum = dComIfGs_getKeyNum();
|
||||
|
||||
field_0x1c4 = dComIfGp_getDoStatus();
|
||||
field_0x1dc = dComIfGp_isDoSetFlag(2);
|
||||
|
||||
int i = 0;
|
||||
f32 temp0 = FLOAT_LABEL(lit_4662);
|
||||
for (; i < 2; i++) {
|
||||
field_0x134[i] = temp0;
|
||||
field_0x13c[i] = temp0;
|
||||
}
|
||||
field_0x144 = lit_4663;
|
||||
|
||||
field_0x1c5 = dComIfGp_getAStatus();
|
||||
field_0x1c6 = 0;
|
||||
field_0x1dd = dComIfGp_isASetFlag(2);
|
||||
|
||||
i = 0;
|
||||
f32 temp1 = FLOAT_LABEL(lit_4662);
|
||||
for (; i < 2; i++) {
|
||||
field_0x148[i] = temp1;
|
||||
field_0x150[i] = temp1;
|
||||
}
|
||||
field_0x158 = lit_4663;
|
||||
|
||||
field_0x1e4 = 0;
|
||||
field_0x1e2 = dComIfGs_getSelectEquipSword();
|
||||
field_0x1e3 = 0;
|
||||
|
||||
field_0x1fe = 0;
|
||||
field_0x1fd = 0;
|
||||
field_0x1ff = 0;
|
||||
field_0x200 = 0;
|
||||
field_0x201 = 0;
|
||||
|
||||
field_0x1c7 = dComIfGs_getCollectSmell();
|
||||
field_0x1c8 = dComIfGp_getRStatus();
|
||||
field_0x1de = dComIfGp_isRSetFlag(2);
|
||||
field_0x1df = dComIfGp_isXSetFlag(2);
|
||||
field_0x1e0 = dComIfGp_isYSetFlag(2);
|
||||
|
||||
for (int i = 0; i < 2; i++) {
|
||||
dComIfGp_setSelectItem(i);
|
||||
}
|
||||
|
||||
field_0x1d2[0] = dComIfGp_getSelectItem(0);
|
||||
field_0x1d2[2] = dComIfGp_getSelectItem(1);
|
||||
field_0x1d2[1] = dComIfGp_getXStatus();
|
||||
field_0x1d2[3] = dComIfGp_getYStatus();
|
||||
f32 temp2 = FLOAT_LABEL(lit_4662);
|
||||
field_0x188 = temp2;
|
||||
field_0x18c = temp2;
|
||||
|
||||
for (int i = 0; i < 2; i++) {
|
||||
field_0x1d6[i] = dMeter2Info_isDirectUseItem(i);
|
||||
field_0x1d8[i] = dComIfGp_getSelectItemNum(i);
|
||||
}
|
||||
|
||||
field_0x1e1 = 0;
|
||||
field_0x1b4 = 0;
|
||||
|
||||
f32 temp3 = FLOAT_LABEL(lit_4662);
|
||||
field_0x15c = temp3;
|
||||
|
||||
for (int i = 0; i < 4; i++) {
|
||||
field_0x160[i] = temp3;
|
||||
field_0x174[i] = temp3;
|
||||
}
|
||||
field_0x190 = 0;
|
||||
|
||||
field_0x1c9 = dComIfGp_getZStatus();
|
||||
field_0x1ca = dComIfGp_get3DStatus();
|
||||
field_0x1cb = dComIfGp_getCStickStatus();
|
||||
field_0x1cc = dComIfGp_getSButtonStatus();
|
||||
field_0x1cd = dComIfGp_getNunStatus();
|
||||
field_0x1ce = dComIfGp_getRemoConStatus();
|
||||
field_0x1cf = dComIfGp_getNunZStatus();
|
||||
field_0x1d0 = dComIfGp_getNunCStatus();
|
||||
field_0x1d1 = dComIfGp_getBottleStatus();
|
||||
|
||||
field_0x1ac = dMeter2Info_isUseButton(16);
|
||||
field_0x19a = 0;
|
||||
|
||||
mpMeterDraw = new dMeter2Draw_c(mpHeap);
|
||||
|
||||
field_0x130 = mpMeterDraw->getNowLightDropRateCalc();
|
||||
mpHeap->getTotalFreeSize();
|
||||
|
||||
for (int i = 0; i < 2; i++) {
|
||||
if (field_0x128 == 0) {
|
||||
if (field_0x1d2[i * 2] == BOMB_BAG_LV1 || field_0x1d2[i * 2] == NORMAL_BOMB ||
|
||||
field_0x1d2[i * 2] == WATER_BOMB || field_0x1d2[i * 2] == POKE_BOMB) {
|
||||
mpMeterDraw->setItemNum(i, dComIfGp_getSelectItemNum(i), dComIfGp_getSelectItemMaxNum(i));
|
||||
} else if (field_0x1d2[i * 2] == BEE_CHILD) {
|
||||
mpMeterDraw->setItemNum(i, dComIfGp_getSelectItemNum(i), dComIfGp_getSelectItemMaxNum(i));
|
||||
} else if (field_0x1d2[i * 2] == BOW || field_0x1d2[i * 2] == LIGHT_ARROW ||
|
||||
field_0x1d2[i * 2] == ARROW_LV1 || field_0x1d2[i * 2] == ARROW_LV2 ||
|
||||
field_0x1d2[i * 2] == ARROW_LV3 || field_0x1d2[i * 2] == HAWK_ARROW) {
|
||||
mpMeterDraw->setItemNum(i, mArrowNum, dComIfGs_getArrowMax());
|
||||
} else if (field_0x1d2[i * 2] == PACHINKO) {
|
||||
mpMeterDraw->setItemNum(i, mPachinkoNum, dComIfGs_getPachinkoMax());
|
||||
} else if (field_0x1d2[i * 2] == BOMB_ARROW) {
|
||||
u8 item_num = dComIfGp_getSelectItemNum(i);
|
||||
u8 item_max = dComIfGp_getSelectItemMaxNum(i);
|
||||
if (item_num > mArrowNum) {
|
||||
item_num = mArrowNum;
|
||||
}
|
||||
u8 temp = dComIfGs_getArrowMax() & 0xFF;
|
||||
if (item_max < temp) {
|
||||
item_max = temp;
|
||||
}
|
||||
mpMeterDraw->setItemNum(i, item_num, item_max);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
mpMap = NULL;
|
||||
if (dMeterMap_c::isEnableDispMapAndMapDispSizeTypeNo()) {
|
||||
mpMap = new dMeterMap_c(mpMeterDraw->getMainScreenPtr());
|
||||
} else {
|
||||
if (g_meter2_info.mMapStatus == 2) {
|
||||
g_meter2_info.mMapStatus = 0;
|
||||
}
|
||||
}
|
||||
dMeter2Info_setMeterMapClass(mpMap);
|
||||
|
||||
mpHeap->getTotalFreeSize();
|
||||
mpSubHeap = fopMsgM_createExpHeap(0x5000, mpHeap);
|
||||
field_0x108 = NULL;
|
||||
field_0x110 = NULL;
|
||||
field_0x114 = NULL;
|
||||
field_0x118 = NULL;
|
||||
|
||||
mpHeap->getTotalFreeSize();
|
||||
field_0x11c = NULL;
|
||||
mDoExt_setCurrentHeap(heap);
|
||||
return 4;
|
||||
}
|
||||
|
||||
inline BOOL dComIfGs_isEventBit(u16 id) {
|
||||
return g_dComIfG_gameInfo.info.getSavedata().getEvent().isEventBit(id);
|
||||
}
|
||||
|
||||
inline BOOL dComIfGp_event_runCheck() {
|
||||
return g_dComIfG_gameInfo.play.getEvent().runCheck();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8021F128-8021F370 219A68 0248+00 1/1 0/0 0/0 .text _execute__9dMeter2_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMeter2_c::_execute() {
|
||||
nofralloc
|
||||
#include "asm/d/meter/d_meter2/_execute__9dMeter2_cFv.s"
|
||||
int dMeter2_c::_execute() {
|
||||
JKRHeap* heap = mDoExt_setCurrentHeap(mpHeap);
|
||||
|
||||
if (!dComIfGs_isCollectMirror(0) && dComIfGs_isEventBit(0x5420)) {
|
||||
dComIfGs_onCollectMirror(0);
|
||||
}
|
||||
|
||||
if (!dComIfGs_isCollectCrystal(3) && dComIfGs_isEventBit(0x5410)) {
|
||||
dComIfGs_onCollectCrystal(3);
|
||||
}
|
||||
|
||||
checkStatus();
|
||||
mpMeterDraw->exec(field_0x124);
|
||||
|
||||
moveLife();
|
||||
moveKantera();
|
||||
moveOxygen();
|
||||
moveLightDrop();
|
||||
moveRupee();
|
||||
moveKey();
|
||||
moveButtonXY();
|
||||
moveButtonA();
|
||||
moveButtonB();
|
||||
moveButtonR();
|
||||
moveButtonZ();
|
||||
moveButton3D();
|
||||
moveButtonC();
|
||||
moveButtonS();
|
||||
moveButtonCross();
|
||||
moveTouchSubMenu();
|
||||
moveBombNum();
|
||||
moveArrowNum();
|
||||
movePachinkoNum();
|
||||
moveBottleNum();
|
||||
|
||||
if (mpMap != NULL) {
|
||||
mpMap->_move(field_0x124);
|
||||
} else {
|
||||
dMeterMap_c::meter_map_move(field_0x124);
|
||||
}
|
||||
|
||||
moveSubContents();
|
||||
move2DContents();
|
||||
|
||||
if (!dComIfGp_isPauseFlag() && !dComIfGp_event_runCheck()) {
|
||||
dMeter2Info_decHotSpringTimer();
|
||||
}
|
||||
|
||||
dMeter2Info_allUseButton();
|
||||
dMeter2Info_offUseButton(0x800);
|
||||
dMeter2Info_resetGameStatus();
|
||||
dComIfGp_setNunStatus(0, 0, 0);
|
||||
dComIfGp_setRemoConStatus(0, 0, 0);
|
||||
dComIfGp_setNunZStatus(0, 0);
|
||||
dComIfGp_setNunCStatus(0, 0);
|
||||
dComIfGp_setBottleStatus(0, 0);
|
||||
dComIfGp_setCStickStatus(0, 0, 0);
|
||||
|
||||
mDoExt_setCurrentHeap(heap);
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8021F370-8021F49C 219CB0 012C+00 1/1 0/0 0/0 .text _draw__9dMeter2_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMeter2_c::_draw() {
|
||||
asm int dMeter2_c::_draw() {
|
||||
nofralloc
|
||||
#include "asm/d/meter/d_meter2/_draw__9dMeter2_cFv.s"
|
||||
}
|
||||
@@ -350,7 +649,7 @@ SECTION_SDATA2 static f32 lit_4837[1 + 1 /* padding */] = {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMeter2_c::_delete() {
|
||||
asm int dMeter2_c::_delete() {
|
||||
nofralloc
|
||||
#include "asm/d/meter/d_meter2/_delete__9dMeter2_cFv.s"
|
||||
}
|
||||
@@ -367,15 +666,16 @@ asm void dMeter2_c::emphasisButtonDelete() {
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8021F780-8021F7B0 21A0C0 0030+00 0/0 0/0 1/1 .text setLifeZero__9dMeter2_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMeter2_c::setLifeZero() {
|
||||
nofralloc
|
||||
#include "asm/d/meter/d_meter2/setLifeZero__9dMeter2_cFv.s"
|
||||
inline void i_dComIfGp_setItemLifeCount(f32 amount, u8 type) {
|
||||
g_dComIfG_gameInfo.play.setItemLifeCount(amount, type);
|
||||
}
|
||||
|
||||
/* 8021F780-8021F7B0 21A0C0 0030+00 0/0 0/0 1/1 .text setLifeZero__9dMeter2_cFv */
|
||||
void dMeter2_c::setLifeZero() {
|
||||
dComIfGs_setLife(1);
|
||||
setNowLifeGauge(1);
|
||||
i_dComIfGp_setItemLifeCount(lit_4837[0], 0);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803BFA28-803BFA54 -00001 002C+00 1/1 0/0 0/0 .data @5038 */
|
||||
@@ -434,6 +734,49 @@ asm void dMeter2_c::moveKantera() {
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* void dMeter2_c::moveKantera() {
|
||||
s32 max_oil = dComIfGs_getMaxOil();
|
||||
bool meter_visible = false;
|
||||
|
||||
s32 cur_oil = 0;
|
||||
if (dComIfGp_getItemMaxOilCount() != 0) {
|
||||
if (dComIfGs_getMaxOil() + dComIfGp_getItemMaxOilCount() <= max_oil) {
|
||||
max_oil = dComIfGs_getMaxOil() + dComIfGp_getItemMaxOilCount();
|
||||
if (max_oil < 0) {
|
||||
max_oil = 0;
|
||||
}
|
||||
}
|
||||
dComIfGs_setMaxOil(max_oil);
|
||||
|
||||
cur_oil = dComIfGs_getOil();
|
||||
dComIfGp_setItemOilCount(max_oil - cur_oil);
|
||||
dComIfGp_clearItemMaxOilCount();
|
||||
meter_visible = true;
|
||||
cur_oil = max_oil;
|
||||
}
|
||||
|
||||
if (dComIfGp_getItemOilCount() != 0) {
|
||||
if (!meter_visible) {
|
||||
cur_oil = dComIfGs_getMaxOil();
|
||||
}
|
||||
|
||||
if (dComIfGs_getOil() + dComIfGp_getItemOilCount() <= cur_oil) {
|
||||
cur_oil = dComIfGs_getOil();
|
||||
if (dComIfGs_getOil() < 0) {
|
||||
cur_oil = 0;
|
||||
}
|
||||
}
|
||||
|
||||
dComIfGs_setOil(cur_oil);
|
||||
dComIfGp_clearItemOilCount();
|
||||
meter_visible = true;
|
||||
}
|
||||
|
||||
if () {
|
||||
|
||||
}
|
||||
} */
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 804549EC-804549F0 002FEC 0004+00 2/2 0/0 0/0 .sdata2 @5933 */
|
||||
SECTION_SDATA2 static f32 lit_5933 = 0.5f;
|
||||
@@ -831,45 +1174,30 @@ asm void dMeter2_c::isPachinkoEquip() {
|
||||
#pragma pop
|
||||
|
||||
/* 80225AA0-80225AC0 2203E0 0020+00 1/0 0/0 0/0 .text dMeter2_Draw__FP9dMeter2_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void dMeter2_Draw(dMeter2_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/meter/d_meter2/dMeter2_Draw__FP9dMeter2_c.s"
|
||||
static int dMeter2_Draw(dMeter2_c* p_meter) {
|
||||
return p_meter->_draw();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80225AC0-80225AE0 220400 0020+00 1/0 0/0 0/0 .text dMeter2_Execute__FP9dMeter2_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void dMeter2_Execute(dMeter2_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/meter/d_meter2/dMeter2_Execute__FP9dMeter2_c.s"
|
||||
static int dMeter2_Execute(dMeter2_c* p_meter) {
|
||||
return p_meter->_execute();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80225AE0-80225AE8 220420 0008+00 1/0 0/0 0/0 .text dMeter2_IsDelete__FP9dMeter2_c */
|
||||
static bool dMeter2_IsDelete(dMeter2_c* param_0) {
|
||||
return true;
|
||||
static int dMeter2_IsDelete(dMeter2_c* p_meter) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80225AE8-80225B08 220428 0020+00 1/0 0/0 0/0 .text dMeter2_Delete__FP9dMeter2_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void dMeter2_Delete(dMeter2_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/meter/d_meter2/dMeter2_Delete__FP9dMeter2_c.s"
|
||||
static int dMeter2_Delete(dMeter2_c* p_meter) {
|
||||
return p_meter->_delete();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80225B08-80225BB8 220448 00B0+00 1/0 0/0 0/0 .text dMeter2_Create__FP9msg_class */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void dMeter2_Create(msg_class* param_0) {
|
||||
static asm int dMeter2_Create(msg_class* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/meter/d_meter2/dMeter2_Create__FP9msg_class.s"
|
||||
}
|
||||
@@ -877,10 +1205,10 @@ static asm void dMeter2_Create(msg_class* param_0) {
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803BFA54-803BFA68 -00001 0014+00 1/0 0/0 0/0 .data l_dMeter2_Method */
|
||||
SECTION_DATA static void* l_dMeter2_Method[5] = {
|
||||
(void*)dMeter2_Create__FP9msg_class, (void*)dMeter2_Delete__FP9dMeter2_c,
|
||||
(void*)dMeter2_Execute__FP9dMeter2_c, (void*)dMeter2_IsDelete__FP9dMeter2_c,
|
||||
(void*)dMeter2_Draw__FP9dMeter2_c,
|
||||
SECTION_DATA static dMeter2_Method l_dMeter2_Method[5] = {
|
||||
(dMeter2_Method)dMeter2_Create, dMeter2_Delete,
|
||||
dMeter2_Execute, dMeter2_IsDelete,
|
||||
dMeter2_Draw,
|
||||
};
|
||||
|
||||
/* 803BFA68-803BFA90 -00001 0028+00 0/0 0/0 1/0 .data g_profile_METER2 */
|
||||
|
||||
@@ -4,6 +4,9 @@
|
||||
//
|
||||
|
||||
#include "d/meter/d_meter2_draw.h"
|
||||
#include "d/meter/d_meter_HIO.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
#include "JSystem/J2DGraph/J2DAnmLoader.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
@@ -11,35 +14,6 @@
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct dSv_player_item_c {
|
||||
/* 80033030 */ void getItem(int, bool) const;
|
||||
};
|
||||
|
||||
struct dSv_light_drop_c {
|
||||
/* 80034340 */ void getLightDropNum(u8) const;
|
||||
/* 8003439C */ void isLightDropGetFlag(u8) const;
|
||||
};
|
||||
|
||||
struct dSv_event_c {
|
||||
/* 800349BC */ void isEventBit(u16) const;
|
||||
};
|
||||
|
||||
struct dMsgObject_c {
|
||||
/* 802370E8 */ void isHowlMessage();
|
||||
/* 8023822C */ void getStatus();
|
||||
};
|
||||
|
||||
struct JMSMesgEntry_c {};
|
||||
|
||||
struct dMeter2Info_c {
|
||||
/* 8021C250 */ void getString(u32, char*, JMSMesgEntry_c*);
|
||||
/* 8021C370 */ void getStringKana(u32, char*, JMSMesgEntry_c*);
|
||||
/* 8021C544 */ void getStringKanji(u32, char*, JMSMesgEntry_c*);
|
||||
/* 8021C950 */ void isDirectUseItem(int);
|
||||
/* 8021CF08 */ void readItemTexture(u8, void*, J2DPicture*, void*, J2DPicture*, void*,
|
||||
J2DPicture*, void*, J2DPicture*, int);
|
||||
};
|
||||
|
||||
struct dKantera_icon_c {
|
||||
/* 801AE938 */ dKantera_icon_c();
|
||||
/* 801AEB7C */ void setAlphaRate(f32);
|
||||
@@ -48,12 +22,6 @@ struct dKantera_icon_c {
|
||||
/* 801AEC44 */ void setNowGauge(u16, u16);
|
||||
};
|
||||
|
||||
struct dItem_data {
|
||||
static void* item_resource[1530];
|
||||
};
|
||||
|
||||
struct JAISoundID {};
|
||||
|
||||
struct Z2SeMgr {
|
||||
/* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
|
||||
/* 802AC50C */ void seStartLevel(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
|
||||
@@ -63,10 +31,6 @@ struct Z2AudioMgr {
|
||||
static u8 mAudioMgrPtr[4 + 4 /* padding */];
|
||||
};
|
||||
|
||||
struct J2DAnmLoaderDataBase {
|
||||
/* 80308A6C */ void load(void const*);
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
@@ -258,13 +222,8 @@ extern "C" void _restgpr_26();
|
||||
extern "C" void _restgpr_27();
|
||||
extern "C" void _restgpr_28();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" void strcmp();
|
||||
extern "C" void strcpy();
|
||||
extern "C" extern void* __vt__12dDlst_base_c[3];
|
||||
extern "C" void* item_resource__10dItem_data[1530];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" extern u8 g_drawHIO[3880];
|
||||
extern "C" extern u8 g_meter2_info[248];
|
||||
extern "C" extern u8 g_MsgObject_HIO_c[1040];
|
||||
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
|
||||
|
||||
@@ -745,6 +704,55 @@ SECTION_DEAD static char const* const stringBase_80398A0A = "zelda_game_image_sa
|
||||
#pragma pop
|
||||
|
||||
/* 80211E64-80212190 20C7A4 032C+00 1/1 0/0 0/0 .text initMagic__13dMeter2Draw_cFv */
|
||||
#ifdef NONMATCHING
|
||||
void dMeter2Draw_c::initMagic() {
|
||||
field_0x550 = 0.0f;
|
||||
field_0x554 = 0.0f;
|
||||
|
||||
mpMagicParent = new CPaneMgr(mpKanteraScreen, 'magic_n', 2, NULL);
|
||||
mpMagicBase = new CPaneMgr(mpKanteraScreen, 'mm_base', 0, NULL);
|
||||
mpMagicFrameL = new CPaneMgr(mpKanteraScreen, 'm_w_l_n', 2, NULL);
|
||||
mpMagicFrameR = new CPaneMgr(mpKanteraScreen, 'm_w_r_n', 2, NULL);
|
||||
mpMagicMeter = new CPaneMgr(mpKanteraScreen, 'mm_00', 0, NULL);
|
||||
|
||||
void* res = JKRFileLoader::getGlbResource("zelda_game_image_sanso_10percent.bpk", dComIfGp_getMain2DArchive());
|
||||
field_0x53c = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(res);
|
||||
field_0x53c->searchUpdateMaterialID(mpKanteraScreen);
|
||||
|
||||
res = JKRFileLoader::getGlbResource("zelda_game_image_sanso_25percent.bpk", dComIfGp_getMain2DArchive());
|
||||
field_0x540 = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(res);
|
||||
field_0x540->searchUpdateMaterialID(mpKanteraScreen);
|
||||
|
||||
res = JKRFileLoader::getGlbResource("zelda_game_image_sanso_50percent.bpk", dComIfGp_getMain2DArchive());
|
||||
field_0x544 = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(res);
|
||||
field_0x544->searchUpdateMaterialID(mpKanteraScreen);
|
||||
|
||||
field_0x558 = 0.0f;
|
||||
mpMagicParent->setAlphaRate(0.0f);
|
||||
|
||||
f32 offsetX = g_drawHIO.mLifeTopPosX;
|
||||
f32 offsetY = 0.0f;
|
||||
|
||||
if (dComIfGs_getMaxLife() <= 50) {
|
||||
offsetY = g_drawHIO.mLifeTopPosY;
|
||||
}
|
||||
|
||||
for (int i = 0; i < 3; i++) {
|
||||
field_0x5fc[i] = 0.0f;
|
||||
field_0x742[i] = 0;
|
||||
}
|
||||
|
||||
u8 magic = dComIfGs_getMagic();
|
||||
u8 max_magic = dComIfGs_getMaxMagic();
|
||||
drawMagic(max_magic, magic, g_drawHIO.mMagicMeterPosX + offsetX, g_drawHIO.mMagicMeterPosY + offsetY);
|
||||
setAlphaMagicChange(true);
|
||||
|
||||
u16 oil = dComIfGs_getOil();
|
||||
u16 max_oil = dComIfGs_getMaxOil();
|
||||
drawKantera(max_oil, oil, g_drawHIO.mLanternMeterPosX + offsetX, g_drawHIO.mLanternMeterPosY + (g_drawHIO.mNoMagicPosY + offsetY));
|
||||
setAlphaKanteraChange(true);
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
@@ -753,6 +761,7 @@ asm void dMeter2Draw_c::initMagic() {
|
||||
#include "asm/d/meter/d_meter2_draw/initMagic__13dMeter2Draw_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80398640-803986C0 024CA0 0080+00 0/1 0/0 0/0 .rodata tuta_0$5094 */
|
||||
@@ -1072,6 +1081,26 @@ asm void dMeter2Draw_c::drawKanteraScreen(u8 param_0) {
|
||||
SECTION_SDATA2 static f32 lit_6175 = 0.03125f;
|
||||
|
||||
/* 80215290-80215380 20FBD0 00F0+00 1/1 0/0 0/0 .text drawMagic__13dMeter2Draw_cFssff */
|
||||
#ifdef NONMATCHING
|
||||
void dMeter2Draw_c::drawMagic(s16 max_count, s16 now_count, f32 x_pos, f32 y_pos) {
|
||||
f32 x_diff = mpMagicFrameR->getInitPosX() - mpMagicFrameL->getInitPosX();
|
||||
|
||||
field_0x584 = mpMagicMeter->getInitSizeX() * (lit_6175 * now_count);
|
||||
field_0x590 = mpMagicMeter->getInitSizeY();
|
||||
|
||||
field_0x59c = mpMagicFrameL->getInitPosX() * x_diff * (max_count * lit_6175);
|
||||
field_0x5a8 = mpMagicFrameL->getInitPosY();
|
||||
|
||||
field_0x5b4 = mpMagicBase->getInitSizeX() * (max_count * lit_6175);
|
||||
field_0x5c0 = mpMagicBase->getInitSizeY();
|
||||
|
||||
field_0x5cc = g_drawHIO.mMagicMeterScale;
|
||||
field_0x5d8 = g_drawHIO.mMagicMeterScale;
|
||||
|
||||
field_0x5e4 = x_pos;
|
||||
field_0x5f0 = y_pos;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
@@ -1080,6 +1109,7 @@ asm void dMeter2Draw_c::drawMagic(s16 param_0, s16 param_1, f32 param_2, f32 par
|
||||
#include "asm/d/meter/d_meter2_draw/drawMagic__13dMeter2Draw_cFssff.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 80215380-802154A8 20FCC0 0128+00 2/2 0/0 0/0 .text setAlphaMagicChange__13dMeter2Draw_cFb */
|
||||
#pragma push
|
||||
@@ -1207,7 +1237,7 @@ void dMeter2Draw_c::setAlphaLightDropChange(bool param_0) {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMeter2Draw_c::getNowLightDropRateCalc() {
|
||||
asm f32 dMeter2Draw_c::getNowLightDropRateCalc() {
|
||||
nofralloc
|
||||
#include "asm/d/meter/d_meter2_draw/getNowLightDropRateCalc__13dMeter2Draw_cFv.s"
|
||||
}
|
||||
|
||||
@@ -1875,65 +1875,17 @@ extern "C" asm void __dt__16dMeter_drawHIO_cFv() {
|
||||
/* 8020123C-80201284 1FBB7C 0048+00 2/1 0/0 0/0 .text __dt__16dMeter_menuHIO_cFv */
|
||||
dMeter_menuHIO_c::~dMeter_menuHIO_c() {}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 8042EBB0-8042EBBC 05B8D0 000C+00 1/1 0/0 0/0 .bss @3766 */
|
||||
static u8 lit_3766[12];
|
||||
|
||||
/* 8042EBBC-8042EBC8 05B8DC 000C+00 0/1 0/0 0/0 .bss @3767 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 lit_3767[12];
|
||||
#pragma pop
|
||||
/* 804510B0-804510B8 0005B0 0008+00 1/1 1/1 0/0 .sbss g_menuHIO */
|
||||
dMeter_menuHIO_c g_menuHIO;
|
||||
|
||||
/* 8042EBC8-8042FAF0 05B8E8 0F28+00 0/1 157/157 0/0 .bss g_drawHIO */
|
||||
extern u8 g_drawHIO[3880];
|
||||
u8 g_drawHIO[3880];
|
||||
|
||||
/* 8042FAF0-8042FAFC 05C810 000C+00 0/1 0/0 0/0 .bss @3768 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 lit_3768[12];
|
||||
#pragma pop
|
||||
dMeter_drawHIO_c g_drawHIO;
|
||||
|
||||
/* 8042FAFC-8042FC54 05C81C 0158+00 0/1 19/19 0/0 .bss g_ringHIO */
|
||||
extern u8 g_ringHIO[344];
|
||||
u8 g_ringHIO[344];
|
||||
|
||||
/* 8042FC54-8042FC60 05C974 000C+00 0/1 0/0 0/0 .bss @3769 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 lit_3769[12];
|
||||
#pragma pop
|
||||
dMeter_ringHIO_c g_ringHIO;
|
||||
|
||||
/* 8042FC60-80430104 05C980 04A4+00 0/1 54/54 0/0 .bss g_fmapHIO */
|
||||
extern u8 g_fmapHIO[1188];
|
||||
u8 g_fmapHIO[1188];
|
||||
|
||||
/* 80430104-80430110 05CE24 000C+00 0/1 0/0 0/0 .bss @3770 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 lit_3770[12];
|
||||
#pragma pop
|
||||
dMeter_fmapHIO_c g_fmapHIO;
|
||||
|
||||
/* 80430110-80430158 05CE30 0044+04 0/1 6/6 1/1 .bss g_cursorHIO */
|
||||
extern u8 g_cursorHIO[68 + 4 /* padding */];
|
||||
u8 g_cursorHIO[68 + 4 /* padding */];
|
||||
|
||||
/* 804510B0-804510B8 0005B0 0008+00 1/1 1/1 0/0 .sbss g_menuHIO */
|
||||
extern u8 g_menuHIO[8];
|
||||
u8 g_menuHIO[8];
|
||||
|
||||
/* 80201284-80201328 1FBBC4 00A4+00 0/0 1/0 0/0 .text __sinit_d_meter_HIO_cpp */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void __sinit_d_meter_HIO_cpp() {
|
||||
nofralloc
|
||||
#include "asm/d/meter/d_meter_HIO/__sinit_d_meter_HIO_cpp.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
REGISTER_CTORS(0x80201284, __sinit_d_meter_HIO_cpp);
|
||||
#pragma pop
|
||||
dMeter_cursorHIO_c g_cursorHIO;
|
||||
|
||||
@@ -170,7 +170,7 @@ asm void dMeterMap_c::getMapDispSizeTypeNo() {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMeterMap_c::isEnableDispMapAndMapDispSizeTypeNo() {
|
||||
asm bool dMeterMap_c::isEnableDispMapAndMapDispSizeTypeNo() {
|
||||
nofralloc
|
||||
#include "asm/d/meter/d_meter_map/isEnableDispMapAndMapDispSizeTypeNo__11dMeterMap_cFv.s"
|
||||
}
|
||||
|
||||
@@ -1970,20 +1970,22 @@ SECTION_DEAD static char const* const pad_80379296 = "\0";
|
||||
/* 80035BD0-80035C88 030510 00B8+00 0/0 3/3 0/0 .text initdata_to_card__10dSv_info_cFPci
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
void dSv_info_c::initdata_to_card(char* param_0, int fileNo) {
|
||||
int dSv_info_c::initdata_to_card(char* param_0, int fileNo) {
|
||||
char* ptr = param_0 + (fileNo * 0xa94);
|
||||
dSv_save_c tmp;
|
||||
|
||||
tmp.init();
|
||||
tmp.getPlayer().getPlayerInfo().setPlayerName("");
|
||||
tmp.getPlayer().getPlayerInfo().setHorseName("");
|
||||
memcpy(¶m_0 + fileNo * 0xa94, &tmp, 0x958);
|
||||
memcpy(&ptr, &tmp, 0x958);
|
||||
printf("INIT size:%d\n", 0x958);
|
||||
return 0;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dSv_info_c::initdata_to_card(char* param_0, int param_1) {
|
||||
asm int dSv_info_c::initdata_to_card(char* param_0, int param_1) {
|
||||
nofralloc
|
||||
#include "asm/d/save/d_save/initdata_to_card__10dSv_info_cFPci.s"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user