mirror of https://github.com/zeldaret/tp.git
jstudio-object OK (#2427)
* jstudio-object checkpoint * jstudio-object OK * Small debug improvements
This commit is contained in:
parent
5eeb1ef50e
commit
6f4fae57da
|
|
@ -804,7 +804,7 @@ config.libs = [
|
|||
Object(MatchingFor("GZ2E01"), "JSystem/JStudio/JStudio/jstudio-control.cpp"),
|
||||
Object(MatchingFor("GZ2E01"), "JSystem/JStudio/JStudio/jstudio-data.cpp"),
|
||||
Object(MatchingFor("GZ2E01"), "JSystem/JStudio/JStudio/jstudio-math.cpp"),
|
||||
Object(NonMatching, "JSystem/JStudio/JStudio/jstudio-object.cpp"),
|
||||
Object(MatchingFor("GZ2E01"), "JSystem/JStudio/JStudio/jstudio-object.cpp", extra_cflags=['-pragma "sym off"']),
|
||||
Object(MatchingFor("GZ2E01"), "JSystem/JStudio/JStudio/object-id.cpp"),
|
||||
Object(MatchingFor("GZ2E01"), "JSystem/JStudio/JStudio/stb.cpp"),
|
||||
Object(MatchingFor("GZ2E01"), "JSystem/JStudio/JStudio/stb-data-parse.cpp"),
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue