mirror of
https://github.com/zeldaret/ss
synced 2026-09-02 01:43:04 -04:00
rename EffectsStruct -> dEmitter_c
This commit is contained in:
@@ -117,14 +117,14 @@ private:
|
||||
/* 0x3B8 */ dBgS_ObjAcch mObjAcch;
|
||||
/* 0x768 */ dCcD_Cyl mCyl;
|
||||
/* 0x8B8 */ STATE_MGR_DECLARE(dAcItem_c);
|
||||
/* 0x8F4 */ EffectsStruct mEff_0x8F4;
|
||||
/* 0x928 */ EffectsStruct mEff_0x928;
|
||||
/* 0x95C */ EffectsStruct mEff_0x95C;
|
||||
/* 0x990 */ EffectsStruct mEff_0x990;
|
||||
/* 0x9C4 */ EffectsStruct mEff_0x9C4;
|
||||
/* 0x9F8 */ EffectsStruct mEff_0x9F8;
|
||||
/* 0xA2C */ EffectsStruct mEff_0xA2C;
|
||||
/* 0xA60 */ EffectsStruct mEff_0xA60;
|
||||
/* 0x8F4 */ dEmitter_c mEff_0x8F4;
|
||||
/* 0x928 */ dEmitter_c mEff_0x928;
|
||||
/* 0x95C */ dEmitter_c mEff_0x95C;
|
||||
/* 0x990 */ dEmitter_c mEff_0x990;
|
||||
/* 0x9C4 */ dEmitter_c mEff_0x9C4;
|
||||
/* 0x9F8 */ dEmitter_c mEff_0x9F8;
|
||||
/* 0xA2C */ dEmitter_c mEff_0xA2C;
|
||||
/* 0xA60 */ dEmitter_c mEff_0xA60;
|
||||
/* 0xA94 */ dAcRef_c<dAcOScatterSand> mCoveredSand;
|
||||
/* 0xAA0 */ dAcRef_c<dAcObjBase_c> mUnkRef;
|
||||
/* 0xAAC */ mVec3_c posCopy;
|
||||
|
||||
@@ -140,7 +140,7 @@ private:
|
||||
/* 0x9B0 */ STATE_MGR_DECLARE(dAcEsm_c);
|
||||
/* 0x9EC */ dAcRef_c<dAcBomb_c> mBombRef;
|
||||
/* 0x9F8 */ dJntCol_c mJntCol;
|
||||
/* 0xA0C */ EffectsStruct mEffArr[2];
|
||||
/* 0xA0C */ dEmitter_c mEffArr[2];
|
||||
/* 0xA74 */ TimeAreaStruct mTimeArea;
|
||||
/* 0xA80 */ mVec3_c mPosCopy1;
|
||||
/* 0xA8C */ mVec3_c mScaleTarget;
|
||||
|
||||
@@ -41,7 +41,7 @@ public:
|
||||
/* 0x35C */ dCcD_Cps mCcCps;
|
||||
/* 0x4CC */ dCcD_Sph mCcSph;
|
||||
/* 0x61C */ cBgS_PolyInfo mPolyInfo; // ??
|
||||
/* 0x648 */ EffectsStruct mEffects;
|
||||
/* 0x648 */ dEmitter_c mEffects;
|
||||
/* 0x67C */ u32 field_0x67C;
|
||||
/* 0x680 */ u8 mSubType;
|
||||
/* 0x681 */ u8 field_0x681;
|
||||
|
||||
@@ -66,8 +66,8 @@ public:
|
||||
/* 0x9B4 */ u8 _9B4[0x9B8 - 0x9B4];
|
||||
/* 0x9B8 */ dAcBomb_c *mSelfRef;
|
||||
/* 0x9BC */ u8 _9BC[0x9D4 - 0x9BC];
|
||||
/* 0x9D4 */ EffectsStruct mEffect1;
|
||||
/* 0xA08 */ EffectsStruct mEffect2;
|
||||
/* 0x9D4 */ dEmitter_c mEffect1;
|
||||
/* 0xA08 */ dEmitter_c mEffect2;
|
||||
/* 0xA3C */ u32 field_0xA3C;
|
||||
/* 0xA40 */ u32 field_0xA40;
|
||||
/* 0xA44 */ s16 field_0xA44;
|
||||
|
||||
@@ -223,10 +223,10 @@ private:
|
||||
/* 0x08F0 */ mVec3_c field_0x8F0;
|
||||
/* 0x08FC */ dCcD_Sph mSph0;
|
||||
/* 0x0A4C */ dCcD_Sph mSph1;
|
||||
/* 0x0B9C */ EffectsStruct mEff0;
|
||||
/* 0x0BD0 */ EffectsStruct mEff1;
|
||||
/* 0x0C04 */ EffectsStruct mEff2;
|
||||
/* 0x0C38 */ EffectsStruct mEff3;
|
||||
/* 0x0B9C */ dEmitter_c mEff0;
|
||||
/* 0x0BD0 */ dEmitter_c mEff1;
|
||||
/* 0x0C04 */ dEmitter_c mEff2;
|
||||
/* 0x0C38 */ dEmitter_c mEff3;
|
||||
/* 0x0C6C */ dLytFader_c mLytFader;
|
||||
/* 0x114C */ mFader_c mFader;
|
||||
/* 0x1150 */ u8 _0x1150[0x115C - 0x1150];
|
||||
|
||||
@@ -92,7 +92,7 @@ private:
|
||||
/* 0x865 */ u8 mIsDocked;
|
||||
/* 0x868 */ s32 field_0x868;
|
||||
/* 0x86C */ u32 field_0x86C;
|
||||
/* 0x870 */ EffectsStruct mEffects[2];
|
||||
/* 0x870 */ dEmitter_c mEffects[2];
|
||||
/* 0x8D8 */ u8 field_0x8D8;
|
||||
/* 0x8D9 */ u8 field_0x8D9;
|
||||
/* 0x8DA */ u8 field_0x8DA;
|
||||
|
||||
@@ -67,7 +67,7 @@ private:
|
||||
/* 0x7B0 */ dCcD_Sph mCcSph1;
|
||||
/* 0x900 */ dCcD_Sph mCcSph2;
|
||||
/* 0xA50 */ STATE_MGR_DECLARE(dAcOFairy_c);
|
||||
/* 0xA8C */ EffectsStruct mEffects[2];
|
||||
/* 0xA8C */ dEmitter_c mEffects[2];
|
||||
/* 0xAF4 */ mVec3_c mOrigPosition; ///< The original position of the actor around which it is moving
|
||||
/* 0xB00 */ mVec3_c mSpawnPosition; ///< The (slightly randomized) spawn position
|
||||
/* 0xB0C */ u8 _0xB0C[0xB18 - 0xB0C];
|
||||
|
||||
@@ -53,7 +53,7 @@ private:
|
||||
/* 0x3D8 */ dBgW mBgW;
|
||||
/* 0x5E8 */ dCcD_Cyl mCyl;
|
||||
/* 0x738 */ STATE_MGR_DECLARE(dAcOSeatSword_c);
|
||||
/* 0x774 */ EffectsStruct mEff;
|
||||
/* 0x774 */ dEmitter_c mEff;
|
||||
/* 0x7A8 */ mMtx_c mSwordMtx;
|
||||
/* 0x7D8 */ mVec3_c mEffPos;
|
||||
/* 0x7E4 */ f32 field_0x7E4;
|
||||
|
||||
@@ -62,7 +62,7 @@ private:
|
||||
/* 0x3C2 */ s16 mPreviousTurnSpeed;
|
||||
/* 0x3C4 */ mMtx_c field_0x3C4;
|
||||
/* 0x3F4 */ mVec3_c field_0x3F4;
|
||||
/* 0x400 */ EffectsStruct mEffects;
|
||||
/* 0x400 */ dEmitter_c mEffects;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -105,7 +105,7 @@ private:
|
||||
void getLinkOffset(mVec3_c &out) const;
|
||||
|
||||
/* 0x330 */ m3d::mdlAnmChr mMdl;
|
||||
/* 0x398 */ EffectsStruct mEffects;
|
||||
/* 0x398 */ dEmitter_c mEffects;
|
||||
/* 0x3CC */ dBgW mBgWs[3];
|
||||
/* 0x9FC */ STATE_MGR_DECLARE(dAcOTowerHandD101_c);
|
||||
/* 0xA38 */ ActorEventRelated mEvent;
|
||||
|
||||
@@ -35,7 +35,7 @@ private:
|
||||
nw4r::g3d::ResFile mResFile;
|
||||
m3d::smdl_c mMdl;
|
||||
dCcD_Sph mCollision;
|
||||
EffectsStruct mEffects;
|
||||
dEmitter_c mEffects;
|
||||
m3d::anmTexSrt_c mAnm;
|
||||
mAng mStartingOffset;
|
||||
};
|
||||
|
||||
@@ -21,7 +21,7 @@ public:
|
||||
|
||||
private:
|
||||
/* 0x330 */ dCcD_Cyl mCcCyl;
|
||||
/* 0x480 */ EffectsStruct mEff;
|
||||
/* 0x480 */ dEmitter_c mEff;
|
||||
/* 0x4B4 */ ActorEventRelated mEvent;
|
||||
/* 0x504 */ mVec3_c mLinkPos;
|
||||
/* 0x510 */ u8 mExitListIdx;
|
||||
|
||||
@@ -24,7 +24,7 @@ private:
|
||||
/* 0x9C4 */ m3d::smdl_c mMdl1;
|
||||
/* 0x9E0 */ m3d::smdl_c mMdl2;
|
||||
/* 0x9FC */ m3d::anmChr_c mAnm;
|
||||
/* 0xA34 */ EffectsStruct mEffect;
|
||||
/* 0xA34 */ dEmitter_c mEffect;
|
||||
/* 0xA68 */ u8 _0xA68[0xA6C - 0xA68];
|
||||
/* 0xA6C */ dCcD_Cyl mCcCyl;
|
||||
};
|
||||
|
||||
@@ -213,8 +213,8 @@ public:
|
||||
/* 0x04 */ UI_STATE_MGR_DECLARE(lytDowsingCsr_c);
|
||||
/* 0x40 */ d2d::AnmGroups mAnm;
|
||||
/* 0x4C */ d2d::LytBase_c *mpLyt;
|
||||
/* 0x50 */ EffectsStruct mEffects1;
|
||||
/* 0x84 */ EffectsStruct mEffects2;
|
||||
/* 0x50 */ dEmitter_c mEffects1;
|
||||
/* 0x84 */ dEmitter_c mEffects2;
|
||||
/* 0xB8 */ nw4r::lyt::Pane *mpRingAllPane;
|
||||
/* 0xBC */ nw4r::lyt::Pane *mpDowsingPane;
|
||||
/* 0xC0 */ f32 field_0xC0;
|
||||
@@ -385,7 +385,7 @@ public:
|
||||
Tmp<0x17> tmp;
|
||||
};
|
||||
|
||||
/* 0x048 */ EffectsStruct mEffects;
|
||||
/* 0x048 */ dEmitter_c mEffects;
|
||||
/* 0x07C */ dEmitterCallbackCursorTrail_c mTrailCb;
|
||||
/* 0x0B0 */ mVec3_c mPositionThisFrame;
|
||||
/* 0x0BC */ mVec3_c mPositionLastFrame;
|
||||
|
||||
@@ -33,7 +33,7 @@ public:
|
||||
|
||||
private:
|
||||
/* 0x068 */ mColor field_0x68[1][3];
|
||||
/* 0x074 */ EffectsStruct mEff;
|
||||
/* 0x074 */ dEmitter_c mEff;
|
||||
/* 0x0A8 */ u8 _0xA8[0xB4 - 0xA8];
|
||||
/* 0x0B4 */ mColor field_0xB4;
|
||||
/* 0x0B8 */ u8 _0xB8[0xD0 - 0xB8];
|
||||
|
||||
@@ -288,7 +288,7 @@ private:
|
||||
/* 0x0E34 */ dLytCommonIconItem_c mItemIcons[9];
|
||||
/* 0x567C */ d2d::SubPaneList mSubpaneList;
|
||||
/* 0x5688 */ d2d::SubPaneListNode mSubpanes[9];
|
||||
/* 0x5718 */ EffectsStruct mEffects;
|
||||
/* 0x5718 */ dEmitter_c mEffects;
|
||||
|
||||
/* 0x574C */ InternalItem_e field_0x574C;
|
||||
/* 0x5750 */ InternalItem_e field_0x5750;
|
||||
|
||||
@@ -178,7 +178,7 @@ private:
|
||||
/* 0x0CB0 */ dLytCommonIconItem_c mItemIcons[8];
|
||||
/* 0x4CF0 */ d2d::SubPaneList mSubpaneList;
|
||||
/* 0x4CFC */ d2d::SubPaneListNode mSubpanes[8];
|
||||
/* 0x4D7C */ EffectsStruct mEffects[4];
|
||||
/* 0x4D7C */ dEmitter_c mEffects[4];
|
||||
/* 0x4E4C */ mAng3_c mEffectsRot[4];
|
||||
/* 0x4E64 */ s32 mSlotForEffect[4];
|
||||
/* 0x4E74 */ f32 mArrowRotation;
|
||||
|
||||
@@ -52,7 +52,7 @@ public:
|
||||
void resetBowlNuts();
|
||||
void updateDropLine(nw4r::lyt::Pane *pane);
|
||||
|
||||
void createEffect(s32 fruitIndex);
|
||||
void startEffect(s32 fruitIndex);
|
||||
bool incrementTearCount();
|
||||
bool isAnyFruitAnimAtFrame(f32 f) const;
|
||||
|
||||
|
||||
@@ -156,8 +156,8 @@ class AttentionManager {
|
||||
/* 0xB64 */ u8 mHasTarget;
|
||||
/* 0xB65 */ u8 field_0xB65[0xB68 - 0xB65];
|
||||
/* 0xB68 */ UNKWORD field_0xB68;
|
||||
/* 0xB6C */ EffectsStruct mEffect1;
|
||||
/* 0xBA0 */ EffectsStruct mEffect2;
|
||||
/* 0xB6C */ dEmitter_c mEffect1;
|
||||
/* 0xBA0 */ dEmitter_c mEffect2;
|
||||
/* 0xBD4 */ u8 field_0xBD4;
|
||||
/* 0xBD5 */ u8 field_0xBD5;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#ifndef EFFECTS_STRUCT_H
|
||||
#define EFFECTS_STRUCT_H
|
||||
#ifndef D_EMITTER_H
|
||||
#define D_EMITTER_H
|
||||
|
||||
#include "JSystem/JParticle/JPADrawInfo.h"
|
||||
#include "JSystem/JParticle/JPAEmitter.h"
|
||||
@@ -25,7 +25,7 @@ class dEmitterBase_c;
|
||||
class dEmitterCallback_c;
|
||||
class dParticleCallback_c;
|
||||
|
||||
#include "toBeSorted/d_emmitter_resource_map.inc"
|
||||
#include "toBeSorted/d_emitter_resource_map.inc"
|
||||
|
||||
class dEmitterBase_c {
|
||||
friend class dEmitterCallback_c;
|
||||
@@ -83,22 +83,25 @@ public:
|
||||
void bindShpEmitter(s32 id, bool unused); // corresponds to setup at 8002b6b0
|
||||
};
|
||||
|
||||
// Suggested name: dEmitter_c
|
||||
class EffectsStruct : public dEmitterBase_c {
|
||||
class dEmitter_c : public dEmitterBase_c {
|
||||
public:
|
||||
enum Flags_e {
|
||||
EMITTER_0x1 = 0x1,
|
||||
EMITTER_0x2 = 0x2,
|
||||
EMITTER_0x4 = 0x4,
|
||||
/** This emitter has been newly set up. */
|
||||
EMITTER_New = 0x1,
|
||||
/** This emitter actually does something. */
|
||||
EMITTER_Active = 0x2,
|
||||
/** This emitter will stop when it's done (not held). */
|
||||
EMITTER_OneShot = 0x4,
|
||||
/** This emitter has a changing alpha value */
|
||||
EMITTER_Fading = 0x8,
|
||||
EMITTER_0x10 = 0x10,
|
||||
EMITTER_0x20 = 0x20,
|
||||
};
|
||||
|
||||
// vt at 0x1C
|
||||
EffectsStruct();
|
||||
EffectsStruct(dBase_c *);
|
||||
virtual ~EffectsStruct();
|
||||
dEmitter_c();
|
||||
dEmitter_c(dBase_c *);
|
||||
virtual ~dEmitter_c();
|
||||
|
||||
inline void init(dBase_c *owner) {
|
||||
mpOwner = owner;
|
||||
@@ -115,27 +118,25 @@ public:
|
||||
|
||||
void remove(bool bForceDeleteEmitters);
|
||||
|
||||
// TODO maybe reconsider the naming here - the observation here is that a "continous" effect
|
||||
// is typically called every frame, while the others are one-shot calls
|
||||
bool createContinuousEffect(
|
||||
bool holdEffect(
|
||||
u16 resourceId, const mVec3_c &pos, const mAng3_c *rot, const mVec3_c *scale, const GXColor *c1,
|
||||
const GXColor *c2
|
||||
);
|
||||
bool createContinuousUIEffect(
|
||||
bool holdUIEffect(
|
||||
u16 resourceId, const mVec3_c &pos, const mAng3_c *rot, const mVec3_c *scale, const GXColor *c1,
|
||||
const GXColor *c2
|
||||
);
|
||||
bool createContinuousEffect(u16 resourceId, const mMtx_c &transform, const GXColor *c1, const GXColor *c2);
|
||||
bool holdEffect(u16 resourceId, const mMtx_c &transform, const GXColor *c1, const GXColor *c2);
|
||||
|
||||
bool createEffect(
|
||||
bool startEffect(
|
||||
u16 resourceId, const mVec3_c &pos, const mAng3_c *rot, const mVec3_c *scale, const GXColor *c1,
|
||||
const GXColor *c2
|
||||
);
|
||||
bool createUIEffect(
|
||||
bool startUIEffect(
|
||||
u16 resourceId, const mVec3_c &pos, const mAng3_c *rot, const mVec3_c *scale, const GXColor *c1,
|
||||
const GXColor *c2
|
||||
);
|
||||
bool createEffect(u16 resourceId, const mMtx_c &transform, const GXColor *c1, const GXColor *c2);
|
||||
bool startEffect(u16 resourceId, const mMtx_c &transform, const GXColor *c1, const GXColor *c2);
|
||||
|
||||
bool hasEmitters() const {
|
||||
return mpEmitterHead != 0;
|
||||
@@ -162,18 +163,18 @@ public:
|
||||
|
||||
protected:
|
||||
bool canReuse(u16 resourceId) const {
|
||||
return hasEmitters() && !checkFlag(EMITTER_0x2) && mEffect == resourceId;
|
||||
return hasEmitters() && !checkFlag(EMITTER_Active) && mEffect == resourceId;
|
||||
}
|
||||
|
||||
bool createEffect(
|
||||
bool bFlags, u16 resourceId, const mVec3_c &pos, const mAng3_c *rot, const mVec3_c *scale, const GXColor *c1,
|
||||
bool setupEffect(
|
||||
bool create, u16 resourceId, const mVec3_c &pos, const mAng3_c *rot, const mVec3_c *scale, const GXColor *c1,
|
||||
const GXColor *c2
|
||||
);
|
||||
bool createEffect(bool bFlags, u16 resourceId, const mMtx_c &transform, const GXColor *c1, const GXColor *c2);
|
||||
bool setupEffect(bool create, u16 resourceId, const mMtx_c &transform, const GXColor *c1, const GXColor *c2);
|
||||
bool getOwnerPolyAttrs(s32 *pOut1, s32 *pOut2);
|
||||
|
||||
public:
|
||||
/* 0x24 */ TListNode<EffectsStruct> mNode;
|
||||
/* 0x24 */ TListNode<dEmitter_c> mNode;
|
||||
|
||||
protected:
|
||||
/* 0x28 */ dBase_c *mpOwner;
|
||||
@@ -191,7 +192,7 @@ private:
|
||||
/* 0x04 */ f32 mHeight;
|
||||
/* 0x08 */ f32 mDepth;
|
||||
/* 0x0C */ f32 mScale;
|
||||
/* 0x10 */ EffectsStruct mEff;
|
||||
/* 0x10 */ dEmitter_c mEff;
|
||||
|
||||
dAcObjBase_c *getActor() const {
|
||||
return static_cast<dAcObjBase_c *>(mEff.getOwner());
|
||||
@@ -493,7 +494,7 @@ public:
|
||||
BWallF210,
|
||||
};
|
||||
|
||||
typedef TList<EffectsStruct, offsetof(EffectsStruct, mNode)> EffectsList;
|
||||
typedef TList<dEmitter_c, offsetof(dEmitter_c, mNode)> EffectsList;
|
||||
static EffectsList sPlayingEffectsList;
|
||||
static CommonEmitterCallback sCommonEmitterCallbacks[2];
|
||||
static dShpEmitter_c sShpEmitters[47];
|
||||
|
||||
Reference in New Issue
Block a user