d_a_item 98%

This commit is contained in:
LagoLunatic
2023-10-14 23:30:07 -04:00
parent 3b1c9e9b41
commit c9485926d6
8 changed files with 603 additions and 113 deletions
+1
View File
@@ -113,6 +113,7 @@ public:
JPASetRMtxTVecfromMtx(mtx, mGlobalRotation, mGlobalTranslation);
}
void setGlobalTranslation(f32 x, f32 y, f32 z) { mGlobalTranslation.set(x, y, z); }
void setGlobalTranslation(const JGeometry::TVec3<float>& trans) { mGlobalTranslation.set(trans); }
void setGlobalScale(const JGeometry::TVec3<float>& scale) {
mGlobalDynamicsScale.set(scale);
mGlobalParticleScale.set(scale);
+17 -2
View File
@@ -8,9 +8,24 @@ u16 U_GetAtanTable(float, float);
s16 cM_atan2s(float y, float x);
float cM_atan2f(float y, float x);
void cM_initRnd(int, int, int);
/**
* Returns a pseudo-random float between 0.0f and 1.0f.
*/
float cM_rnd(void);
float cM_rndF(float);
float cM_rndFX(float);
/**
* Returns a pseudo-random float between 0.0f and max.
* @param max The maximum value
*/
float cM_rndF(float max);
/**
* Returns a pseudo-random float between -max and max.
* @param max The maximum value
*/
float cM_rndFX(float max);
void cM_initRnd2(int, int, int);
float cM_rnd2(void);
float cM_rndF2(float);
+26 -12
View File
@@ -9,6 +9,18 @@ class daItem_c : public daItemBase_c {
public:
typedef void (daItem_c::*daItem_c_ModeFunc)();
enum State {
STATE_WAIT_MAIN = 0x2,
STATE_BRING_NEZUMI = 0x3,
STATE_INIT_NORMAL = 0x5,
STATE_MAIN_NORMAL = 0x6,
STATE_INIT_GET_DEMO = 0x7,
STATE_WAIT_GET_DEMO = 0x8,
STATE_MAIN_GET_DEMO = 0x9,
STATE_WAIT_BOSS1 = 0xA,
STATE_WAIT_BOSS2 = 0xB,
};
float getYOffset();
void set_mtx();
void set_mtx_base(J3DModel*, cXyz, csXyz);
@@ -33,12 +45,12 @@ public:
BOOL checkItemDisappear();
void setItemTimer(int);
BOOL checkPlayerGet();
void itemActionForRupee();
void itemActionForHeart();
void itemActionForKey();
void itemActionForEmono();
void itemActionForSword();
void itemActionForArrow();
BOOL itemActionForRupee();
BOOL itemActionForHeart();
BOOL itemActionForKey();
BOOL itemActionForEmono();
BOOL itemActionForSword();
BOOL itemActionForArrow();
void checkWall();
void set_bound_se();
BOOL checkGetItem();
@@ -47,7 +59,7 @@ public:
void mode_water_init();
void mode_wait();
void mode_water();
void initAction();
BOOL initAction();
BOOL _daItem_isdelete();
s32 checkControl();
@@ -67,18 +79,20 @@ public:
/* 0x64C */ s32 mActivationSwitch;
/* 0x650 */ f32 field_0x650;
/* 0x654 */ s16 field_0x654;
/* 0x656 */ s16 field_0x656;
/* 0x658 */ s16 mItemTimer;
/* 0x656 */ s16 mTargetAngleX;
/* 0x658 */ s16 mDisappearTimer;
/* 0x65A */ s16 field_0x65a;
/* 0x65C */ s16 field_0x65c;
/* 0x65E */ s16 mExtraZRot;
/* 0x660 */ u8 field_0x660[0x667 - 0x660];
/* 0x660 */ s16 field_0x660;
/* 0x662 */ u8 field_0x662[0x666 - 0x662];
/* 0x666 */ u8 field_0x666;
/* 0x667 */ u8 mType;
/* 0x668 */ u8 mAction;
/* 0x669 */ u8 mStatusFlags;
/* 0x669 */ u8 mStatusFlags; // TODO rename this
/* 0x66A */ u8 mMode;
/* 0x66B */ u8 mCurState;
/* 0x66C */ u8 field_0x66c;
/* 0x66C */ u8 mOnGroundTimer;
/* 0x66D */ u8 field_0x66D[0x670 - 0x66D];
/* 0x670 */ u32 mDemoItemBsPcId;
/* 0x674 */ dPa_rippleEcallBack mPtclRippleCb;
+9 -4
View File
@@ -20,16 +20,21 @@ struct daItemBase_c_m_data {
/* 0x14 */ s16 field_0x14;
/* 0x16 */ s16 mDuration;
/* 0x18 */ s16 field_0x18;
/* 0x1A */ u8 field_0x1A[0x1C - 0x1A];
/* 0x1A */ s16 field_0x1A;
/* 0x1C */ s16 mNumFramesPerFullSpin;
/* 0x1E */ u8 field_0x1E[0x2A - 0x1E];
/* 0x1E */ u8 field_0x1E[0x20 - 0x1E];
/* 0x20 */ f32 field_0x20;
/* 0x24 */ f32 field_0x24;
/* 0x28 */ s16 field_0x28;
/* 0x2A */ s16 mHeartMaxRandomZRot;
/* 0x2C */ u8 field_0x2C[0x38 - 0x2C];
/* 0x2C */ f32 field_0x2C;
/* 0x30 */ f32 field_0x30;
/* 0x34 */ u8 field_0x34[0x38 - 0x34];
/* 0x38 */ f32 mPickedUpInitialSpeedY;
/* 0x3C */ f32 mPickedUpGravity;
/* 0x40 */ s16 field_0x40;
/* 0x42 */ s16 field_0x42;
/* 0x44 */ void* field_0x44;
/* 0x44 */ f32 field_0x44;
/* 0x48 */ f32 mVelocityScale;
};
+2 -2
View File
@@ -30,12 +30,12 @@ public:
class dBgS_ObjGndChk_Yogan : public dBgS_ObjGndChk {
public:
/* 806bf6a4 */ dBgS_ObjGndChk_Yogan() {
dBgS_ObjGndChk_Yogan() {
OffNormalGrp();
OnYoganGrp();
}
/* 806bf53c */ virtual ~dBgS_ObjGndChk_Yogan();
virtual ~dBgS_ObjGndChk_Yogan() {}
}; // Size: 0x54
class dBgS_ObjGndChk_Wtr : public dBgS_ObjGndChk {
+9 -1
View File
@@ -619,8 +619,10 @@ STATIC_ASSERT(sizeof(dComIfG_inf_c) == 0x1D1C8);
extern dComIfG_inf_c g_dComIfG_gameInfo;
extern JUtility::TColor g_saftyWhiteColor;
extern JUtility::TColor g_clearColor;
extern JUtility::TColor g_blackColor;
extern JUtility::TColor g_whiteColor;
extern JUtility::TColor g_saftyWhiteColor;
/**
* === SAVE ===
@@ -2033,6 +2035,12 @@ inline void dComIfGp_particle_setStripes(u16 particleID, const cXyz* pos, const
pParticle->setNormalStripes(particleID, pos, angle, scale, param_4, param_5);
}
inline void dComIfGp_particle_setSimple(u16 particleID, cXyz* pos, u8 alpha, GXColor& prmColor,
GXColor& envColor, int param_6) {
dPa_control_c* pParticle = g_dComIfG_gameInfo.play.getParticle();
pParticle->setSimple(particleID, pos, alpha, prmColor, envColor, param_6);
}
inline void dComIfGp_particle_calc3D() {
g_dComIfG_gameInfo.play.getParticle()->calc3D();
}
+1 -1
View File
@@ -15,7 +15,7 @@ public:
~dDetect_c();
void proc();
void chk_quake(const cXyz*) const;
bool chk_quake(const cXyz*) const;
void set_quake(const cXyz*);
void chk_quake_area(const cXyz*) const;
void search_tag_light(void*, void*);