diff options
| author | LagoLunatic <LagoLunatic@users.noreply.github.com> | 2026-08-03 17:54:03 -0400 |
|---|---|---|
| committer | LagoLunatic <LagoLunatic@users.noreply.github.com> | 2026-08-03 17:54:03 -0400 |
| commit | 1d57f0468986987ec26a3d1800bdc1aaad3794db (patch) | |
| tree | a631e7fbf333e284389eaa232960261e533cd49d /include | |
| parent | 8a602cb87ff104df82502d32e6bd6cd00bbac513 (diff) | |
Diffstat (limited to 'include')
| -rw-r--r-- | include/JSystem/JParticle/JPAEmitter.h | 2 | ||||
| -rw-r--r-- | include/d/actor/d_a_salvage_tbox.h | 65 | ||||
| -rw-r--r-- | include/d/actor/d_a_ship.h | 14 | ||||
| -rw-r--r-- | include/d/d_menu_collect.h | 2 | ||||
| -rw-r--r-- | include/m_Do/m_Do_mtx.h | 4 |
5 files changed, 55 insertions, 32 deletions
diff --git a/include/JSystem/JParticle/JPAEmitter.h b/include/JSystem/JParticle/JPAEmitter.h index 6ab37a64..f7d7b256 100644 --- a/include/JSystem/JParticle/JPAEmitter.h +++ b/include/JSystem/JParticle/JPAEmitter.h @@ -285,6 +285,7 @@ public: void quitImmortalEmitter() { clearStatus(JPAEmtrStts_Immortal); } void becomeContinuousParticle() { mMaxFrame = 0; } + bool isContinuousParticle() { return mMaxFrame == 0; } void becomeInvalidEmitter() { mMaxFrame = -1; stopCreateParticle(); @@ -324,7 +325,6 @@ public: void drawCB() {} void drawEmitterCallBack() {} void getgReRDirection(JGeometry::TVec3<f32>&) {} - void isContinuousParticle() {} void setEmitterRotation(const JGeometry::TVec3<s16>&) {} static JPAEmitterInfo emtrInfo; diff --git a/include/d/actor/d_a_salvage_tbox.h b/include/d/actor/d_a_salvage_tbox.h index 60d7c4ee..eeae15ad 100644 --- a/include/d/actor/d_a_salvage_tbox.h +++ b/include/d/actor/d_a_salvage_tbox.h @@ -3,37 +3,48 @@ #include "f_op/f_op_actor.h" #include "d/d_particle.h" +#include "f_op/f_op_actor_mng.h" class daSTBox_shadowEcallBack_c : public dPa_levelEcallBack { public: - void deleteCallBack() {} JPABaseEmitter* getEmitter() { return mpEmitter; } - void setEmitter(JPABaseEmitter* emitter) { mpEmitter = emitter; } - void setDepth(float depth) { mpDepth = depth; } - void setWaterFlatY(float waterFlatY) { mpWaterFlatY = waterFlatY; } - void setWaterY(float waterY) { mpWaterY = waterY; } - void setField0x48(float field) { field_0x48 = field; } - void setup(JPABaseEmitter* emitter, const cXyz*, const csXyz* angle, signed char) { + void setWaterY(f32 waterY) { mWaterY = waterY; } + void setWaterFlatY(f32 waterFlatY) { mWaterFlatY = waterFlatY; } + void setDepth(f32 depth) { mDepth = depth; } + void setup(JPABaseEmitter* emitter, const cXyz*, const csXyz* angle, s8) { field_0x4 = 0; - mpAngle = const_cast<csXyz*>(angle); + mpAngle = angle; mpEmitter = emitter; } + void setIndirectTexData(f32 exTransY, f32 exScaleY) { + mExTransY = exTransY; + mExScaleY = exScaleY; + } + void setPos(cXyz& pos) { mPos = pos; } + void deleteCallBack() { + if (mpEmitter != NULL) { + mpEmitter->setEmitterCallBackPtr(NULL); + mpEmitter->becomeInvalidEmitter(); + } + mpEmitter = NULL; + } + ~daSTBox_shadowEcallBack_c() {} void getMaxWaterY(JGeometry::TVec3<f32>*); void execute(JPABaseEmitter*); void draw(JPABaseEmitter*); +private: /* 0x04 */ s16 field_0x4; - /* 0x06 */ s16 field_0x6; - /* 0x08 */ f32 mpWaterFlatY; - /* 0x0C */ f32 field_0x0C; - /* 0x10 */ f32 mpWaterY; - /* 0x14 */ JGeometry::TVec3<f32> mPos[3]; - /* 0x38 */ cXyz position; - /* 0x44 */ csXyz* mpAngle; - /* 0x48 */ f32 field_0x48; - /* 0x4C */ f32 mpDepth; + /* 0x08 */ f32 mWaterY; + /* 0x0C */ f32 mWaterFlatY; + /* 0x10 */ f32 mDepth; + /* 0x14 */ JGeometry::TVec3<f32> field_0x14[3]; + /* 0x38 */ cXyz mPos; + /* 0x44 */ const csXyz* mpAngle; + /* 0x48 */ f32 mExTransY; + /* 0x4C */ f32 mExScaleY; /* 0x50 */ f32 field_0x50; /* 0x54 */ JPABaseEmitter* mpEmitter; }; // Size: 0x58 @@ -69,22 +80,28 @@ public: static const f32 m_shadow_scale; public: - /* 0x290 */ request_of_phase_process_class field_0x290; + /* 0x290 */ request_of_phase_process_class mPhase; /* 0x298 */ J3DModel* mpModel; - /* 0x29C */ JPABaseEmitter* field_0x29C[2]; - /* 0x2A4 */ JPABaseEmitter* field_0x2A4; + /* 0x29C */ JPABaseEmitter* field_0x29C[3]; /* 0x2A8 */ u8 field_0x2A8[0x2AC - 0x2A8]; /* 0x2AC */ dPa_rippleEcallBack mRippleCallBack; - /* 0x2C0 */ daSTBox_shadowEcallBack_c shadowCallback; - /* 0x318 */ cXyz position; + /* 0x2C0 */ daSTBox_shadowEcallBack_c mShadowCallback; + /* 0x318 */ cXyz mParticlePos; /* 0x324 */ cXyz field_0x324; /* 0x330 */ u8 field_0x330; /* 0x331 */ u8 field_0x331; /* 0x332 */ s16 field_0x332; /* 0x334 */ u8 field_0x334; /* 0x335 */ u8 field_0x335; +#if VERSION > VERSION_DEMO /* 0x336 */ u8 field_0x336; - /* 0x337 */ u8 field_0x337[0x338 - 0x337]; - /* 0x338 */ s32 field_0x338; + /* 0x338 */ fpc_ProcID mItemPID; +#endif }; // Size: 0x33C + +namespace daSTBox_prm { + inline u32 getBoxType(daSTBox_c* i_this) { return (fopAcM_GetParam(i_this) >> 8) & 0xF; } + inline u32 getItemNo(daSTBox_c* i_this) { return fopAcM_GetParam(i_this) & 0xFF; } +}; + #endif /* D_A_SALVAGE_TBOX_H */ diff --git a/include/d/actor/d_a_ship.h b/include/d/actor/d_a_ship.h index dfcd7856..00c9a5ea 100644 --- a/include/d/actor/d_a_ship.h +++ b/include/d/actor/d_a_ship.h @@ -151,11 +151,11 @@ public: s16 getCannonAngleY() const { return shape_angle.y + m0394; } s16 getCraneAngle() const { return m0398; } s16 getCraneBaseAngle() const { return mCraneBaseAngle; } - void getCraneHookAngleY() const {} - void getCraneRipplePosX() const {} - void getCraneRipplePosY() const {} - void getCraneRipplePosZ() const {} - cXyz* getCraneTop() { return m0434; } + s16 getCraneHookAngleY() const { return shape_angle.y; } + cXyz* getCraneTop() { return mCraneTop; } + f32 getCraneRipplePosX() const { return mCraneRipplePos.x; } + f32 getCraneRipplePosY() const { return mCraneRipplePos.y; } + f32 getCraneRipplePosZ() const { return mCraneRipplePos.z; } MtxP getHeadJntMtx() { return mpHeadAnm->getModel()->getAnmMtx(FN_HEAD_H_JNT_J_FN_ATAMA_e); } f32 getJumpRate() { return mJumpRate; } u8 getPart() const { return mPart; } @@ -386,13 +386,13 @@ public: /* 0x0428 */ cXyz* m0428; /* 0x042C */ fpc_ProcID mTactWarpID; /* 0x0430 */ fpc_ProcID m0430; - /* 0x0434 */ cXyz* m0434; + /* 0x0434 */ cXyz* mCraneTop; /* 0x0438 */ cXyz mTillerTopPos; /* 0x0444 */ cXyz m0444; /* 0x0450 */ cXyz m0450; /* 0x045C */ cXyz m045C; /* 0x0468 */ cXyz mRopeLineSegments[250]; - /* 0x1020 */ cXyz m1020; + /* 0x1020 */ cXyz mCraneRipplePos; /* 0x102C */ cXyz m102C; /* 0x1038 */ cXyz m1038; /* 0x1044 */ cXyz m1044; diff --git a/include/d/d_menu_collect.h b/include/d/d_menu_collect.h index a303e09f..132a9fee 100644 --- a/include/d/d_menu_collect.h +++ b/include/d/d_menu_collect.h @@ -222,6 +222,8 @@ public: dMc_HIO_c(); virtual ~dMc_HIO_c() {} + void genMessage(JORMContext* ctx) {} + public: /* 0x00 */ // vtable /* 0x04 */ u8 m04[0x44 - 0x04]; diff --git a/include/m_Do/m_Do_mtx.h b/include/m_Do/m_Do_mtx.h index 4bca7e35..4fdaf59f 100644 --- a/include/m_Do/m_Do_mtx.h +++ b/include/m_Do/m_Do_mtx.h @@ -141,6 +141,10 @@ inline void mDoMtx_quat(Mtx m, const Quaternion* q) { MTXQuat(m, q); } +inline void cMtx_identity(Mtx mtx) { + mDoMtx_identity(mtx); +} + inline void cMtx_inverse(const Mtx a, Mtx b) { mDoMtx_inverse(a, b); } |
