mirror of
https://github.com/zeldaret/tww.git
synced 2026-09-06 18:51:02 -04:00
d_demo work
This commit is contained in:
@@ -5,6 +5,16 @@
|
||||
|
||||
namespace JStage {
|
||||
struct TActor : public TObject {
|
||||
enum {
|
||||
ID_NORMAL = -1,
|
||||
ID_UNK_1 = 1,
|
||||
ID_UNK_2 = 2,
|
||||
ID_UNK_3 = 3,
|
||||
ID_UNK_4 = 4,
|
||||
ID_UNK_5 = 5,
|
||||
ID_UNK_6 = 6,
|
||||
};
|
||||
|
||||
virtual ~TActor() = 0;
|
||||
virtual s32 JSGFGetType() const;
|
||||
virtual void JSGGetTranslation(Vec*) const;
|
||||
|
||||
@@ -2844,23 +2844,23 @@ inline char* dComIfGp_evmng_getMyActName(int staffIdx) {
|
||||
}
|
||||
|
||||
inline f32* dComIfGp_evmng_getMyFloatP(int staffIdx, char* name) {
|
||||
return reinterpret_cast<f32*>(dComIfGp_getPEvtManager()->getMySubstanceP(staffIdx, name, 0)); //type 0 is float
|
||||
return reinterpret_cast<f32*>(dComIfGp_getPEvtManager()->getMySubstanceP(staffIdx, name, dEvDtData_c::TYPE_FLOAT));
|
||||
}
|
||||
|
||||
inline Vec* dComIfGp_evmng_getMyVec3dP(int staffIdx, char* name) {
|
||||
return reinterpret_cast<Vec*>(dComIfGp_getPEvtManager()->getMySubstanceP(staffIdx, name, 1)); //type 1 is vec3f
|
||||
return reinterpret_cast<Vec*>(dComIfGp_getPEvtManager()->getMySubstanceP(staffIdx, name, dEvDtData_c::TYPE_VEC));
|
||||
}
|
||||
|
||||
inline cXyz* dComIfGp_evmng_getMyXyzP(int staffIdx, char* name) {
|
||||
return reinterpret_cast<cXyz*>(dComIfGp_getPEvtManager()->getMySubstanceP(staffIdx, name, 1)); //type 1 is vec3f
|
||||
return reinterpret_cast<cXyz*>(dComIfGp_getPEvtManager()->getMySubstanceP(staffIdx, name, dEvDtData_c::TYPE_VEC));
|
||||
}
|
||||
|
||||
inline u32* dComIfGp_evmng_getMyIntegerP(int staffIdx, char* name) {
|
||||
return reinterpret_cast<u32*>(dComIfGp_getPEvtManager()->getMySubstanceP(staffIdx, name, 3)); //type 3 is int
|
||||
inline int* dComIfGp_evmng_getMyIntegerP(int staffIdx, char* name) {
|
||||
return reinterpret_cast<int*>(dComIfGp_getPEvtManager()->getMySubstanceP(staffIdx, name, dEvDtData_c::TYPE_INT));
|
||||
}
|
||||
|
||||
inline char* dComIfGp_evmng_getMyStringP(int staffIdx, char* name) {
|
||||
return reinterpret_cast<char*>(dComIfGp_getPEvtManager()->getMySubstanceP(staffIdx, name, 4)); //type 4 is string
|
||||
return reinterpret_cast<char*>(dComIfGp_getPEvtManager()->getMySubstanceP(staffIdx, name, dEvDtData_c::TYPE_STRING));
|
||||
}
|
||||
|
||||
inline BOOL dComIfGp_evmng_startCheck(s16 eventID) {
|
||||
|
||||
+118
-31
@@ -26,8 +26,43 @@
|
||||
class fopAc_ac_c;
|
||||
class dMesg_tControl;
|
||||
|
||||
// TODO: made up, figure out what this is
|
||||
struct dDemo_prm_data {
|
||||
/* 0x0 */ u8 field_0x0[0x4 - 0x0];
|
||||
/* 0x4 */ s8 field_0x4;
|
||||
/* 0x5 */ u8 field_0x5[0x6 - 0x5];
|
||||
/* 0x6 */ s8 field_0x6;
|
||||
/* 0x7 */ s8 field_0x7;
|
||||
/* 0x8 */ u8 field_0x8[0xB - 0x8];
|
||||
/* 0xB */ s8 field_0xb;
|
||||
/* 0xC */ u8 field_0xc[0xF - 0xC];
|
||||
/* 0xF */ s8 field_0xf;
|
||||
};
|
||||
|
||||
class dDemo_prm_c {
|
||||
public:
|
||||
u32 getId() { return mId; }
|
||||
dDemo_prm_data* getData() { return mData; }
|
||||
|
||||
public:
|
||||
/* 0x0 */ u32 mId;
|
||||
/* 0x4 */ dDemo_prm_data* mData;
|
||||
};
|
||||
|
||||
class dDemo_actor_c : public JStage::TActor {
|
||||
public:
|
||||
enum Enable_e {
|
||||
/* 0x001 */ ENABLE_UNK_e = (1 << 0),
|
||||
/* 0x002 */ ENABLE_TRANS_e = (1 << 1),
|
||||
/* 0x004 */ ENABLE_SCALE_e = (1 << 2),
|
||||
/* 0x008 */ ENABLE_ROTATE_e = (1 << 3),
|
||||
/* 0x010 */ ENABLE_SHAPE_e = (1 << 4),
|
||||
/* 0x020 */ ENABLE_ANM_e = (1 << 5),
|
||||
/* 0x040 */ ENABLE_ANM_FRAME_e = (1 << 6),
|
||||
/* 0x080 */ ENABLE_TEX_ANM = (1 << 7),
|
||||
/* 0x100 */ ENABLE_TEX_ANM_FRAME_e = (1 << 8),
|
||||
};
|
||||
|
||||
dDemo_actor_c();
|
||||
~dDemo_actor_c();
|
||||
fopAc_ac_c* getActor();
|
||||
@@ -55,59 +90,57 @@ public:
|
||||
cMtx_copy(mModel->getAnmMtx((u16)no), dst);
|
||||
return 1;
|
||||
}
|
||||
f32 JSGGetAnimationFrameMax() const { return mAnimationFrameMax; }
|
||||
f32 JSGGetAnimationFrameMax() const { return mAnmFrameMax; }
|
||||
f32 JSGGetTextureAnimationFrameMax() const { return mTexAnimationFrameMax; }
|
||||
void JSGGetTranslation(Vec* dst) const { *dst = mTranslation; }
|
||||
void JSGGetScaling(Vec* dst) const { *dst = mScaling; }
|
||||
void JSGGetTranslation(Vec* dst) const { *dst = mTrans; }
|
||||
void JSGGetScaling(Vec* dst) const { *dst = mScale; }
|
||||
void JSGGetRotation(Vec* dst) const {
|
||||
dst->x = cM_sht2d(mRotation.x);
|
||||
dst->y = cM_sht2d(mRotation.y);
|
||||
dst->z = cM_sht2d(mRotation.z);
|
||||
dst->x = cM_sht2d(mRotate.x);
|
||||
dst->y = cM_sht2d(mRotate.y);
|
||||
dst->z = cM_sht2d(mRotate.z);
|
||||
}
|
||||
|
||||
u32 checkEnable(u16 mask) { return mFlags & mask; }
|
||||
csXyz* getRatate() { return &mRotation; }
|
||||
void onEnable(u16 flag) { mFlags |= flag; }
|
||||
cXyz* getTrans() { return &mTrans; }
|
||||
cXyz* getScale() { return &mScale; }
|
||||
csXyz* getRatate() { return &mRotate; }
|
||||
u32 getShapeId() { return mShapeId; }
|
||||
u32 getAnmId() { return mAnmId; }
|
||||
f32 getAnmFrame() { return mAnmFrame; }
|
||||
f32 getAnmTransition() { return mAnmTransition; }
|
||||
void setAnmFrameMax(f32 max) { mAnmFrameMax = max; }
|
||||
void setModel(J3DModel* model) { mModel = model; }
|
||||
dDemo_prm_c* getPrm() { return &mPrm; }
|
||||
u32 getOldAnmId() { return mOldAnmId; }
|
||||
void setOldAnmId(u32 id) { mOldAnmId = id; }
|
||||
|
||||
void getAnmFrame() {}
|
||||
void getAnmId() {}
|
||||
void getAnmTransition() {}
|
||||
void getOldAnmId() {}
|
||||
void getOldScrId() {}
|
||||
void getOldTevId() {}
|
||||
void getOldTexId() {}
|
||||
void getPrm() {}
|
||||
void getScale() {}
|
||||
void getTrans() {}
|
||||
void onEnable(u16) {}
|
||||
void setAnmFrameMax(f32 v) { mAnimationFrameMax = v; }
|
||||
void setModel(J3DModel* model) { mModel = model; }
|
||||
void setOldAnmId(u32) {}
|
||||
void setOldScrId(u32) {}
|
||||
void setOldTevId(u32) {}
|
||||
void setOldTexId(u32) {}
|
||||
void setTexAnmFrameMax(f32) {}
|
||||
|
||||
private:
|
||||
/* 0x04 */ u16 mFlags;
|
||||
/* 0x06 */ u8 field_0x06[0x08 - 0x06];
|
||||
/* 0x08 */ cXyz mTranslation;
|
||||
/* 0x14 */ cXyz mScaling;
|
||||
/* 0x20 */ csXyz mRotation;
|
||||
/* 0x26 */ u8 field_0x26[0x28 - 0x26];
|
||||
/* 0x08 */ cXyz mTrans;
|
||||
/* 0x14 */ cXyz mScale;
|
||||
/* 0x20 */ csXyz mRotate;
|
||||
/* 0x28 */ u32 mShapeId;
|
||||
/* 0x2C */ u32 mNextBckId;
|
||||
/* 0x30 */ f32 mAnimationFrame;
|
||||
/* 0x34 */ f32 mAnimationTransition;
|
||||
/* 0x38 */ f32 mAnimationFrameMax;
|
||||
/* 0x2C */ u32 mAnmId;
|
||||
/* 0x30 */ f32 mAnmFrame;
|
||||
/* 0x34 */ f32 mAnmTransition;
|
||||
/* 0x38 */ f32 mAnmFrameMax;
|
||||
/* 0x3C */ s32 mTexAnimation;
|
||||
/* 0x40 */ f32 mTexAnimationFrame;
|
||||
/* 0x44 */ f32 mTexAnimationFrameMax;
|
||||
/* 0x48 */ J3DModel* mModel;
|
||||
/* 0x4C */ u32 field_0x4c;
|
||||
/* 0x50 */ const void* field_0x50;
|
||||
/* 0x4C */ dDemo_prm_c mPrm;
|
||||
/* 0x54 */ u32 field_0x54;
|
||||
/* 0x58 */ fpc_ProcID mActorPcId;
|
||||
/* 0x5C */ s32 mBckId;
|
||||
/* 0x58 */ fpc_ProcID mActorId;
|
||||
/* 0x5C */ s32 mOldAnmId;
|
||||
/* 0x60 */ s32 mBtpId;
|
||||
/* 0x64 */ s32 mBtkId;
|
||||
/* 0x68 */ s32 mBrkId;
|
||||
@@ -115,6 +148,17 @@ public:
|
||||
|
||||
class dDemo_camera_c : public JStage::TCamera {
|
||||
public:
|
||||
enum Enable_e {
|
||||
/* 0x01 */ ENABLE_PROJ_NEAR_e = (1 << 0),
|
||||
/* 0x02 */ ENABLE_PROJ_FAR_e = (1 << 1),
|
||||
/* 0x04 */ ENABLE_PROJ_FOVY_e = (1 << 2),
|
||||
/* 0x08 */ ENABLE_PROJ_ASPECT_e = (1 << 3),
|
||||
/* 0x10 */ ENABLE_VIEW_POS_e = (1 << 4),
|
||||
/* 0x20 */ ENABLE_VIEW_UP_VEC_e = (1 << 5),
|
||||
/* 0x40 */ ENABLE_VIEW_TARG_POS_e = (1 << 6),
|
||||
/* 0x80 */ ENABLE_VIEW_ROLL_e = (1 << 7),
|
||||
};
|
||||
|
||||
dDemo_camera_c() { mFlags = 0; }
|
||||
~dDemo_camera_c() {}
|
||||
f32 JSGGetProjectionNear() const;
|
||||
@@ -134,6 +178,15 @@ public:
|
||||
f32 JSGGetViewRoll() const;
|
||||
void JSGSetViewRoll(f32);
|
||||
|
||||
bool checkEnable(u8 mask) { return mFlags & mask; }
|
||||
void onEnable(u8 flag) { mFlags |= flag; }
|
||||
|
||||
void getFovy() {}
|
||||
void getRoll() {}
|
||||
void getTarget() {}
|
||||
void getTrans() {}
|
||||
void getUp() {}
|
||||
|
||||
private:
|
||||
/* 0x04 */ u8 mFlags;
|
||||
/* 0x08 */ f32 mProjNear;
|
||||
@@ -148,10 +201,16 @@ private:
|
||||
|
||||
class dDemo_ambient_c : public JStage::TAmbientLight {
|
||||
public:
|
||||
enum Enable_e {
|
||||
/* 0x1 */ ENABLE_COLOR_e = (1 << 0),
|
||||
};
|
||||
|
||||
dDemo_ambient_c() { mFlags = 0; }
|
||||
~dDemo_ambient_c() {}
|
||||
void JSGSetColor(GXColor color);
|
||||
|
||||
void onEnable(u8 flag) { mFlags |= flag; }
|
||||
|
||||
private:
|
||||
/* 0x04 */ u8 mFlags;
|
||||
/* 0x08 */ GXColor mColor;
|
||||
@@ -159,6 +218,15 @@ private:
|
||||
|
||||
class dDemo_light_c : public JStage::TLight {
|
||||
public:
|
||||
enum Enable_e {
|
||||
/* 0x01 */ ENABLE_LIGHT_TYPE_e = (1 << 0),
|
||||
/* 0x02 */ ENABLE_POSITION_e = (1 << 1),
|
||||
/* 0x04 */ ENABLE_COLOR_e = (1 << 2),
|
||||
/* 0x08 */ ENABLE_DIST_ATTEN_e = (1 << 3),
|
||||
/* 0x10 */ ENABLE_ANGLE_ATTEN_e = (1 << 4),
|
||||
/* 0x20 */ ENABLE_DIRECTION_e = (1 << 5),
|
||||
};
|
||||
|
||||
dDemo_light_c() { mFlags = 0; }
|
||||
~dDemo_light_c() {}
|
||||
void JSGSetLightType(JStage::TELight);
|
||||
@@ -168,6 +236,8 @@ public:
|
||||
void JSGSetAngleAttenuation(f32, GXSpotFn);
|
||||
void JSGSetDirection(const Vec&);
|
||||
|
||||
void onEnable(u8 flag) { mFlags |= flag; }
|
||||
|
||||
private:
|
||||
/* 0x04 */ u8 mFlags;
|
||||
/* 0x08 */ JStage::TELight mLightType;
|
||||
@@ -183,6 +253,13 @@ private:
|
||||
|
||||
class dDemo_fog_c : public JStage::TFog {
|
||||
public:
|
||||
enum Enable_e {
|
||||
/* 0x1 */ ENABLE_FOG_FN_e = (1 << 0),
|
||||
/* 0x2 */ ENABLE_START_Z_e = (1 << 1),
|
||||
/* 0x4 */ ENABLE_END_Z_e = (1 << 2),
|
||||
/* 0x8 */ ENABLE_COLOR_e = (1 << 3),
|
||||
};
|
||||
|
||||
dDemo_fog_c() { mFlags = 0; }
|
||||
~dDemo_fog_c() {}
|
||||
void JSGSetFogFunction(GXFogType);
|
||||
@@ -190,6 +267,8 @@ public:
|
||||
void JSGSetEndZ(f32);
|
||||
void JSGSetColor(GXColor);
|
||||
|
||||
void onEnable(u8 flag) { mFlags |= flag; }
|
||||
|
||||
private:
|
||||
/* 0x04 */ u8 mFlags;
|
||||
/* 0x05 */ u8 mFogType;
|
||||
@@ -212,6 +291,12 @@ public:
|
||||
dDemo_fog_c* createFog();
|
||||
void remove();
|
||||
|
||||
void createEditorCamera() {}
|
||||
void getCamera() {}
|
||||
void getEditorCamera() {}
|
||||
void removeEditorCamera() {}
|
||||
|
||||
private:
|
||||
/* 0x00 */ u8 mNumActor;
|
||||
/* 0x01 */ u8 mNumLight;
|
||||
/* 0x04 */ dDemo_actor_c* mpActors[32];
|
||||
@@ -226,6 +311,7 @@ public:
|
||||
dDemo_system_c() : mObject(NULL) {}
|
||||
~dDemo_system_c();
|
||||
void* JSGFindObject(const char*, JStage::TEObject) const;
|
||||
|
||||
void setObject(dDemo_object_c* obj) { mObject = obj; }
|
||||
|
||||
private:
|
||||
@@ -249,6 +335,7 @@ public:
|
||||
u32 getFrameNoMsg() { return mFrameNoMsg; }
|
||||
s32 getMode() { return mMode; }
|
||||
|
||||
private:
|
||||
/* 0x00 */ dDemo_system_c* mSystem;
|
||||
/* 0x04 */ JStudio::TControl* mControl;
|
||||
/* 0x08 */ JStudio_JStage::TCreateObject* mStage;
|
||||
|
||||
@@ -23,6 +23,13 @@ struct event_binary_data_header {
|
||||
|
||||
class dEvDtData_c {
|
||||
public:
|
||||
enum DataType {
|
||||
/* 0x0 */ TYPE_FLOAT,
|
||||
/* 0x1 */ TYPE_VEC,
|
||||
/* 0x3 */ TYPE_INT = 3,
|
||||
/* 0x4 */ TYPE_STRING
|
||||
};
|
||||
|
||||
/* 0x00 */ char mName[32];
|
||||
/* 0x20 */ s32 mIndex;
|
||||
/* 0x24 */ s32 mSubstanceType;
|
||||
|
||||
Reference in New Issue
Block a user