diff options
| author | robojumper <robojumper@gmail.com> | 2025-05-08 17:06:38 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-05-08 18:06:38 +0300 |
| commit | 6f4fae57dabe10a9a0528a7b2346cef0ea10d392 (patch) | |
| tree | 3bc91519c2440c6f3b9a937a6b76a4fab336a74b /include/JSystem | |
| parent | 5eeb1ef50e732e7cbd32d8a13779a95417e5907a (diff) | |
jstudio-object OK (#2427)
* jstudio-object checkpoint
* jstudio-object OK
* Small debug improvements
Diffstat (limited to 'include/JSystem')
| -rw-r--r-- | include/JSystem/JStudio/JStudio/jstudio-object.h | 115 | ||||
| -rw-r--r-- | include/JSystem/JStudio/JStudio/object-id.h | 1 |
2 files changed, 76 insertions, 40 deletions
diff --git a/include/JSystem/JStudio/JStudio/jstudio-object.h b/include/JSystem/JStudio/JStudio/jstudio-object.h index 4ece3fbab1..e7181f4ae0 100644 --- a/include/JSystem/JStudio/JStudio/jstudio-object.h +++ b/include/JSystem/JStudio/JStudio/jstudio-object.h @@ -15,6 +15,7 @@ namespace data { UNK_0x2 = 0x2, UNK_0x3 = 0x3, UNK_0x10 = 0x10, + UNK_0x11 = 0x11, UNK_0x12 = 0x12, UNK_0x18 = 0x18, UNK_0x19 = 0x19, @@ -46,6 +47,9 @@ struct TVariableValue { } void setValue_none() { +#ifdef DEBUG + field_0xc.fv = NULL; +#endif field_0x8 = NULL; } @@ -65,19 +69,21 @@ struct TVariableValue { template<typename T> T getValue_clamp() const { - f32 val = mValue; - if (val <= std::numeric_limits<T>::min()) { - return std::numeric_limits<T>::min(); - } else if (val >= std::numeric_limits<T>::max()) { - return std::numeric_limits<T>::max(); + u8 min = std::numeric_limits<T>::min(); + u8 max = std::numeric_limits<T>::max(); + if (mValue <= min) { + return (T)min; + } else if (mValue >= max) { + return (T)max; } - return val; + return mValue; } u8 getValue_uint8() const { return getValue_clamp<u8>(); } void forward(u32 param_0) { - if (std::numeric_limits<u32>::max() - field_0x4 <= param_0) { - field_0x4 = std::numeric_limits<u32>::max(); + u32 max = std::numeric_limits<u32>::max(); + if (max - field_0x4 <= param_0) { + field_0x4 = max; } else { field_0x4 += param_0; } @@ -147,7 +153,7 @@ struct TAdaptor { TAdaptor(TVariableValue *param_1, u32 param_2) { pObject_ = NULL; pValue_ = param_1; - u = param_2; + uvv_ = param_2; } /* 80285FD0 */ virtual ~TAdaptor() = 0; /* 80286018 */ virtual void adaptor_do_prepare(); @@ -193,15 +199,16 @@ struct TAdaptor { adaptor_referVariableValue(param_0)->setValue_immediate(param_1); } - const TVariableValue* adaptor_getVariableValue(u32 param_0) const { - return &pValue_[param_0]; + const TVariableValue* adaptor_getVariableValue(u32 u) const { + JUT_ASSERT(293, u<uvv_); + return &pValue_[u]; } const TObject* adaptor_getObject() const { return pObject_; } /* 0x4 */ const TObject* pObject_; /* 0x8 */ TVariableValue* pValue_; - /* 0xC */ u32 u; + /* 0xC */ u32 uvv_; }; inline void TObject::prepareAdaptor() { @@ -224,17 +231,17 @@ struct TAdaptor_actor : public TAdaptor { } /* 802868B0 */ virtual ~TAdaptor_actor() = 0; virtual void adaptor_do_PARENT(JStudio::data::TEOperationData, const void*, u32) = 0; - virtual void adaptor_do_PARENT_NODE(JStudio::data::TEOperationData, const void*, u32) = 0; - virtual void adaptor_do_PARENT_ENABLE(JStudio::data::TEOperationData, const void*, u32) = 0; - virtual void adaptor_do_PARENT_FUNCTION(JStudio::data::TEOperationData, const void*, u32) = 0; - virtual void adaptor_do_RELATION(JStudio::data::TEOperationData, const void*, u32) = 0; - virtual void adaptor_do_RELATION_NODE(JStudio::data::TEOperationData, const void*, u32) = 0; - virtual void adaptor_do_RELATION_ENABLE(JStudio::data::TEOperationData, const void*, u32) = 0; - virtual void adaptor_do_SHAPE(JStudio::data::TEOperationData, const void*, u32) = 0; - virtual void adaptor_do_ANIMATION(JStudio::data::TEOperationData, const void*, u32) = 0; - virtual void adaptor_do_ANIMATION_MODE(JStudio::data::TEOperationData, const void*, u32) = 0; - virtual void adaptor_do_TEXTURE_ANIMATION(JStudio::data::TEOperationData, const void*, u32) = 0; - virtual void adaptor_do_TEXTURE_ANIMATION_MODE(JStudio::data::TEOperationData, const void*, u32) = 0; + virtual void adaptor_do_PARENT_NODE(JStudio::data::TEOperationData, const void*, u32) = 0; + virtual void adaptor_do_PARENT_ENABLE(JStudio::data::TEOperationData, const void*, u32) = 0; + virtual void adaptor_do_PARENT_FUNCTION(JStudio::data::TEOperationData, const void*, u32) = 0; + virtual void adaptor_do_RELATION(JStudio::data::TEOperationData, const void*, u32) = 0; + virtual void adaptor_do_RELATION_NODE(JStudio::data::TEOperationData, const void*, u32) = 0; + virtual void adaptor_do_RELATION_ENABLE(JStudio::data::TEOperationData, const void*, u32) = 0; + virtual void adaptor_do_SHAPE(JStudio::data::TEOperationData, const void*, u32) = 0; + virtual void adaptor_do_ANIMATION(JStudio::data::TEOperationData, const void*, u32) = 0; + virtual void adaptor_do_ANIMATION_MODE(JStudio::data::TEOperationData, const void*, u32) = 0; + virtual void adaptor_do_TEXTURE_ANIMATION(JStudio::data::TEOperationData, const void*, u32) = 0; + virtual void adaptor_do_TEXTURE_ANIMATION_MODE(JStudio::data::TEOperationData, const void*, u32) = 0; /* 0x10 */ TVariableValue mValue[14]; @@ -247,7 +254,7 @@ struct TObject_actor : public TObject { /* 80286910 */ TObject_actor(JStudio::stb::data::TParse_TBlock_object const&, JStudio::TAdaptor_actor*); - /* 802881A4 */ virtual ~TObject_actor(); + /* 802881A4 */ virtual ~TObject_actor() {} /* 8028694C */ virtual void do_paragraph(u32, void const*, u32); }; @@ -265,7 +272,7 @@ struct TObject_ambientLight : public TObject { /* 80286CFC */ TObject_ambientLight(JStudio::stb::data::TParse_TBlock_object const&, JStudio::TAdaptor_ambientLight*); - /* 80288144 */ virtual ~TObject_ambientLight(); + /* 80288144 */ virtual ~TObject_ambientLight() {} /* 80286D38 */ virtual void do_paragraph(u32, void const*, u32); }; @@ -281,25 +288,25 @@ struct TAdaptor_camera : public TAdaptor { /* 80286E1C */ virtual ~TAdaptor_camera() = 0; virtual void adaptor_do_PARENT(JStudio::data::TEOperationData, const void*, u32) = 0; - virtual void adaptor_do_PARENT_NODE(JStudio::data::TEOperationData, const void*, u32) = 0; - virtual void adaptor_do_PARENT_ENABLE(JStudio::data::TEOperationData, const void*, u32) = 0; - virtual void adaptor_do_PARENT_FUNCTION(JStudio::data::TEOperationData, const void*, u32) = 0; - virtual void adaptor_do_TARGET_PARENT(JStudio::data::TEOperationData, const void*, u32) = 0; - virtual void adaptor_do_TARGET_PARENT_NODE(JStudio::data::TEOperationData, const void*, u32) = 0; - virtual void adaptor_do_TARGET_PARENT_ENABLE(JStudio::data::TEOperationData, const void*, u32) = 0; + virtual void adaptor_do_PARENT_NODE(JStudio::data::TEOperationData, const void*, u32) = 0; + virtual void adaptor_do_PARENT_ENABLE(JStudio::data::TEOperationData, const void*, u32) = 0; + virtual void adaptor_do_PARENT_FUNCTION(JStudio::data::TEOperationData, const void*, u32) = 0; + virtual void adaptor_do_TARGET_PARENT(JStudio::data::TEOperationData, const void*, u32) = 0; + virtual void adaptor_do_TARGET_PARENT_NODE(JStudio::data::TEOperationData, const void*, u32) = 0; + virtual void adaptor_do_TARGET_PARENT_ENABLE(JStudio::data::TEOperationData, const void*, u32) = 0; /* 0x10 */ TVariableValue mValue[12]; static u32 const sauVariableValue_3_POSITION_XYZ[3]; static u32 const sauVariableValue_3_TARGET_POSITION_XYZ[3]; - static u32 sauVariableValue_2_DISTANCE_NEAR_FAR[2]; + static u32 const sauVariableValue_2_DISTANCE_NEAR_FAR[2]; }; struct TObject_camera : public TObject { /* 80286E7C */ TObject_camera(JStudio::stb::data::TParse_TBlock_object const&, JStudio::TAdaptor_camera*); - /* 802880E4 */ virtual ~TObject_camera(); + /* 802880E4 */ virtual ~TObject_camera() {} /* 80286EB8 */ virtual void do_paragraph(u32, void const*, u32); }; @@ -316,14 +323,14 @@ struct TAdaptor_fog : public TAdaptor { static u32 const sauVariableValue_3_COLOR_RGB[3]; static u32 const sauVariableValue_4_COLOR_RGBA[4]; - static u32 sauVariableValue_2_RANGE_BEGIN_END[2]; + static u32 const sauVariableValue_2_RANGE_BEGIN_END[2]; }; struct TObject_fog : public TObject { /* 802871DC */ TObject_fog(JStudio::stb::data::TParse_TBlock_object const&, JStudio::TAdaptor_fog*); - /* 80288084 */ virtual ~TObject_fog(); + /* 80288084 */ virtual ~TObject_fog() {} /* 80287218 */ virtual void do_paragraph(u32, void const*, u32); }; @@ -339,6 +346,8 @@ struct TAdaptor_light : public TAdaptor { TAdaptor_light() : TAdaptor(mValue, 13) {} /* 80287308 */ virtual ~TAdaptor_light() = 0; + virtual void adaptor_do_ENABLE(JStudio::data::TEOperationData, const void*, u32) = 0; + virtual void adaptor_do_FACULTY(JStudio::data::TEOperationData, const void*, u32) = 0; /* 0x10 */ TVariableValue mValue[13]; @@ -346,27 +355,28 @@ struct TAdaptor_light : public TAdaptor { static u32 const sauVariableValue_4_COLOR_RGBA[4]; static u32 const sauVariableValue_3_POSITION_XYZ[3]; static u32 const sauVariableValue_3_TARGET_POSITION_XYZ[3]; - static u32 sauVariableValue_2_DIRECTION_THETA_PHI[2]; + static u32 const sauVariableValue_2_DIRECTION_THETA_PHI[2]; }; struct TObject_light : public TObject { /* 80287368 */ TObject_light(JStudio::stb::data::TParse_TBlock_object const&, JStudio::TAdaptor_light*); - /* 80288024 */ virtual ~TObject_light(); + /* 80288024 */ virtual ~TObject_light() {} /* 802873A4 */ virtual void do_paragraph(u32, void const*, u32); }; struct TAdaptor_message : public TAdaptor { TAdaptor_message() : TAdaptor(NULL, 0) {} /* 802875E0 */ virtual ~TAdaptor_message() = 0; + virtual void adaptor_do_MESSAGE(JStudio::data::TEOperationData, const void*, u32) = 0; }; struct TObject_message : public TObject { /* 80287640 */ TObject_message(JStudio::stb::data::TParse_TBlock_object const&, JStudio::TAdaptor_message*); - /* 80287FC4 */ virtual ~TObject_message(); + /* 80287FC4 */ virtual ~TObject_message() {} /* 8028767C */ virtual void do_paragraph(u32, void const*, u32); }; @@ -374,6 +384,18 @@ struct TAdaptor_particle : public TAdaptor { TAdaptor_particle() : TAdaptor(mValue, 20) {} /* 8028770C */ virtual ~TAdaptor_particle() = 0; + virtual void adaptor_do_PARTICLE(JStudio::data::TEOperationData, const void*, u32) = 0; + virtual void adaptor_do_BEGIN(JStudio::data::TEOperationData, const void*, u32) = 0; + virtual void adaptor_do_BEGIN_FADE_IN(JStudio::data::TEOperationData, const void*, u32) = 0; + virtual void adaptor_do_END(JStudio::data::TEOperationData, const void*, u32) = 0; + virtual void adaptor_do_END_FADE_OUT(JStudio::data::TEOperationData, const void*, u32) = 0; + virtual void adaptor_do_PARENT(JStudio::data::TEOperationData, const void*, u32) = 0; + virtual void adaptor_do_PARENT_NODE(JStudio::data::TEOperationData, const void*, u32) = 0; + virtual void adaptor_do_PARENT_ENABLE(JStudio::data::TEOperationData, const void*, u32) = 0; + virtual void adaptor_do_PARENT_FUNCTION(JStudio::data::TEOperationData, const void*, u32) = 0; + virtual void adaptor_do_REPEAT(JStudio::data::TEOperationData, const void*, u32) = 0; + virtual void adaptor_do_ON_EXIT_NOT_END(JStudio::data::TEOperationData, const void*, u32) = 0; + /* 0x10 */ TVariableValue mValue[20]; static u32 const sauVariableValue_3_TRANSLATION_XYZ[3]; @@ -389,7 +411,7 @@ struct TObject_particle : public TObject { /* 8028776C */ TObject_particle(JStudio::stb::data::TParse_TBlock_object const&, JStudio::TAdaptor_particle*); - /* 80287F64 */ virtual ~TObject_particle(); + /* 80287F64 */ virtual ~TObject_particle() {} /* 802877A8 */ virtual void do_paragraph(u32, void const*, u32); }; @@ -406,6 +428,19 @@ struct TAdaptor_sound : public TAdaptor { TAdaptor_sound() : TAdaptor(mValue, 13) {} /* 80287B3C */ virtual ~TAdaptor_sound() = 0; + virtual void adaptor_do_SOUND(JStudio::data::TEOperationData, const void*, u32) = 0; + virtual void adaptor_do_BEGIN(JStudio::data::TEOperationData, const void*, u32) = 0; + virtual void adaptor_do_BEGIN_FADE_IN(JStudio::data::TEOperationData, const void*, u32) = 0; + virtual void adaptor_do_END(JStudio::data::TEOperationData, const void*, u32) = 0; + virtual void adaptor_do_END_FADE_OUT(JStudio::data::TEOperationData, const void*, u32) = 0; + virtual void adaptor_do_PARENT(JStudio::data::TEOperationData, const void*, u32) = 0; + virtual void adaptor_do_PARENT_NODE(JStudio::data::TEOperationData, const void*, u32) = 0; + virtual void adaptor_do_PARENT_ENABLE(JStudio::data::TEOperationData, const void*, u32) = 0; + virtual void adaptor_do_REPEAT(JStudio::data::TEOperationData, const void*, u32) = 0; + virtual void adaptor_do_CONTINUOUS(JStudio::data::TEOperationData, const void*, u32) = 0; + virtual void adaptor_do_LOCATED(JStudio::data::TEOperationData, const void*, u32) = 0; + virtual void adaptor_do_ON_EXIT_NOT_END(JStudio::data::TEOperationData, const void*, u32) = 0; + /* 0x10 */ TVariableValue mValue[13]; static u32 const sauVariableValue_3_POSITION_XYZ[3]; @@ -415,7 +450,7 @@ struct TObject_sound : public TObject { /* 80287B9C */ TObject_sound(JStudio::stb::data::TParse_TBlock_object const&, JStudio::TAdaptor_sound*); - /* 80287F04 */ virtual ~TObject_sound(); + /* 80287F04 */ virtual ~TObject_sound() {} /* 80287BD8 */ virtual void do_paragraph(u32, void const*, u32); }; diff --git a/include/JSystem/JStudio/JStudio/object-id.h b/include/JSystem/JStudio/JStudio/object-id.h index 4b0113f0b2..bd8ebf7234 100644 --- a/include/JSystem/JStudio/JStudio/object-id.h +++ b/include/JSystem/JStudio/JStudio/object-id.h @@ -23,6 +23,7 @@ protected: struct TObject_ID : public TIDData { TObject_ID(const void* id, u32 id_size) : TIDData(id, id_size) {} TIDData const& getIDData() const { return *this; } + const u8 *getID() const { return TIDData::getID(); } }; struct TPRObject_ID_equal : public TIDData { |
