mirror of
https://github.com/zeldaret/tp
synced 2026-08-14 20:43:32 -04:00
Work on JStudio (#2195)
* work on object-light * JStage control OK * object-fog OK * object-camera OK * Work on object-actor
This commit is contained in:
@@ -5,7 +5,12 @@
|
||||
#include "dolphin/gx/GXStruct.h"
|
||||
|
||||
namespace JStage {
|
||||
enum TELight {};
|
||||
enum TELight {
|
||||
TELIGHT_0,
|
||||
TELIGHT_1,
|
||||
TELIGHT_2,
|
||||
TELIGHT_3,
|
||||
};
|
||||
|
||||
/**
|
||||
* @ingroup jsystem-jstage
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
#include "dolphin/mtx.h"
|
||||
|
||||
namespace JStage {
|
||||
|
||||
/**
|
||||
* @ingroup jsystem-jstage
|
||||
*
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
|
||||
namespace JStage {
|
||||
enum TEObject {
|
||||
/* 0x0 */ TOBJ_ACTOR_UNK,
|
||||
/* 0x1 */ TOBJ_UNK1,
|
||||
/* 0x2 */ TOBJ_ACTOR,
|
||||
/* 0x3 */ TOBJ_CAMERA,
|
||||
/* 0x4 */ TOBJ_AMBIENT,
|
||||
/* 0x5 */ TOBJ_LIGHT,
|
||||
/* 0x6 */ TOBJ_FOG,
|
||||
/* 0x0 */ OBJECT_UNDEFINED,
|
||||
/* 0x1 */ OBJECT_UNK1,
|
||||
/* 0x2 */ OBJECT_ACTOR,
|
||||
/* 0x3 */ OBJECT_CAMERA,
|
||||
/* 0x4 */ OBJECT_AMBIENT,
|
||||
/* 0x5 */ OBJECT_LIGHT,
|
||||
/* 0x6 */ OBJECT_FOG,
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -47,6 +47,10 @@ public:
|
||||
Vec scaling;
|
||||
};
|
||||
struct TTransform_position : public Vec {};
|
||||
struct TTransform_position_direction {
|
||||
Vec position;
|
||||
Vec direction;
|
||||
};
|
||||
|
||||
/* 80285114 */ TControl();
|
||||
/* 802851AC */ virtual ~TControl();
|
||||
@@ -167,6 +171,108 @@ public:
|
||||
return param_2;
|
||||
}
|
||||
|
||||
bool transformOnGet_isEnabled() const { return mTransformOnGet; }
|
||||
CMtxP transformOnGet_getMatrix() const { return mTransformOnGet_Matrix; }
|
||||
|
||||
void transformOnGet_transformTranslation(const Vec& rSrc, Vec* pDst) const {
|
||||
JUT_ASSERT(296, pDst!=0);
|
||||
JUT_ASSERT(297, &rSrc!=pDst);
|
||||
MTXMultVec(transformOnGet_getMatrix(), &rSrc, pDst);
|
||||
}
|
||||
|
||||
void transformOnGet_transformDirection(const Vec& rSrc, Vec* pDst) const {
|
||||
JUT_ASSERT(316, pDst!=0);
|
||||
JUT_ASSERT(317, &rSrc!=pDst);
|
||||
MTXMultVecSR(transformOnGet_getMatrix(), &rSrc, pDst);
|
||||
}
|
||||
|
||||
void transformOnGet_transform(TTransform_position_direction* param_1,
|
||||
TTransform_position_direction* pDst) const {
|
||||
JUT_ASSERT(289, pDst!=0);
|
||||
transformOnGet_transformTranslation(param_1->position, &pDst->position);
|
||||
transformOnGet_transformDirection(param_1->direction, &pDst->direction);
|
||||
}
|
||||
|
||||
TTransform_position_direction*
|
||||
transformOnGet_transform_ifEnabled(TTransform_position_direction* param_1,
|
||||
TTransform_position_direction* param_2) const {
|
||||
if (!transformOnGet_isEnabled()) {
|
||||
return param_1;
|
||||
}
|
||||
transformOnGet_transform(param_1, param_2);
|
||||
return param_2;
|
||||
}
|
||||
|
||||
void transformOnGet_transform(TTransform_position* param_1,
|
||||
TTransform_position* pDst) const {
|
||||
transformOnGet_transformTranslation(*param_1, pDst);
|
||||
}
|
||||
|
||||
TTransform_position*
|
||||
transformOnGet_transform_ifEnabled(TTransform_position* param_1,
|
||||
TTransform_position* param_2) const {
|
||||
if (!transformOnGet_isEnabled()) {
|
||||
return param_1;
|
||||
}
|
||||
transformOnGet_transform(param_1, param_2);
|
||||
return param_2;
|
||||
}
|
||||
|
||||
void transformOnGet_transformRotation(const Vec& rSrc, Vec* pDst) const {
|
||||
JUT_ASSERT(302, pDst!=0);
|
||||
JUT_ASSERT(303, &rSrc!=pDst);
|
||||
pDst->x = rSrc.x;
|
||||
pDst->y = rSrc.y + mTransformOnGet_RotationY;
|
||||
pDst->z = rSrc.z;
|
||||
}
|
||||
|
||||
void transformOnGet_transformScaling(const Vec& rSrc, Vec* pDst) const {
|
||||
JUT_ASSERT(310, pDst!=0);
|
||||
JUT_ASSERT(311, &rSrc!=pDst);
|
||||
*pDst = rSrc;
|
||||
}
|
||||
|
||||
void transformOnGet_transform(TTransform_translation_rotation_scaling* param_1,
|
||||
TTransform_translation_rotation_scaling* pDst) const {
|
||||
JUT_ASSERT(263, pDst!=0);
|
||||
transformOnGet_transformTranslation(param_1->translation, &pDst->translation);
|
||||
transformOnGet_transformRotation(param_1->rotation, &pDst->rotation);
|
||||
transformOnGet_transformScaling(param_1->scaling, &pDst->scaling);
|
||||
}
|
||||
|
||||
TTransform_translation_rotation_scaling*
|
||||
transformOnGet_transform_ifEnabled(TTransform_translation_rotation_scaling* param_1,
|
||||
TTransform_translation_rotation_scaling* param_2) const {
|
||||
if (!transformOnGet_isEnabled()) {
|
||||
return param_1;
|
||||
}
|
||||
transformOnGet_transform(param_1, param_2);
|
||||
return param_2;
|
||||
}
|
||||
|
||||
void transformOnSet_transformDirection(const Vec& rSrc, Vec* pDst) const {
|
||||
JUT_ASSERT(246, pDst!=0);
|
||||
JUT_ASSERT(247, &rSrc!=pDst);
|
||||
MTXMultVecSR(transformOnSet_getMatrix(), &rSrc, pDst);
|
||||
}
|
||||
|
||||
void transformOnSet_transform(TTransform_position_direction* param_1,
|
||||
TTransform_position_direction* pDst) const {
|
||||
JUT_ASSERT(219, pDst!=0);
|
||||
transformOnSet_transformTranslation(param_1->position, &pDst->position);
|
||||
transformOnSet_transformDirection(param_1->direction, &pDst->direction);
|
||||
}
|
||||
|
||||
TTransform_position_direction*
|
||||
transformOnSet_transform_ifEnabled(TTransform_position_direction* param_1,
|
||||
TTransform_position_direction* param_2) const {
|
||||
if (!transformOnSet_isEnabled()) {
|
||||
return param_1;
|
||||
}
|
||||
transformOnSet_transform(param_1, param_2);
|
||||
return param_2;
|
||||
}
|
||||
|
||||
/* 0x58 */ f64 mSecondPerFrame;
|
||||
/* 0x60 */ fvb::TControl fvb_Control;
|
||||
/* 0x74 */ ctb::TControl ctb_Control;
|
||||
@@ -175,7 +281,7 @@ public:
|
||||
/* 0x8C */ Vec field_0x8c;
|
||||
/* 0x98 */ Vec field_0x98;
|
||||
/* 0xA4 */ f32 mTransformOnSet_RotationY;
|
||||
/* 0xA8 */ f32 field_0xa8;
|
||||
/* 0xA8 */ f32 mTransformOnGet_RotationY;
|
||||
/* 0xAC */ Mtx mTransformOnSet_Matrix;
|
||||
/* 0xDC */ Mtx mTransformOnGet_Matrix;
|
||||
};
|
||||
|
||||
@@ -37,6 +37,7 @@ struct TVariableValue {
|
||||
/* 80285ECC */ static void update_time_(JStudio::TVariableValue*, f64);
|
||||
/* 80285F08 */ static void update_functionValue_(JStudio::TVariableValue*, f64);
|
||||
/* 8028B568 */ TVariableValue();
|
||||
//TVariableValue() : field_0x4(0), field_0x8(NULL), pOutput_((TOutput*)soOutput_none_) {}
|
||||
|
||||
void setValue_immediate(f32 value) {
|
||||
field_0x8 = &update_immediate_;
|
||||
@@ -210,6 +211,18 @@ inline void TObject::prepareAdaptor() {
|
||||
struct TAdaptor_actor : public TAdaptor {
|
||||
TAdaptor_actor() : TAdaptor(mValue, 14) {}
|
||||
/* 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;
|
||||
|
||||
/* 0x10 */ TVariableValue mValue[14];
|
||||
|
||||
@@ -248,6 +261,14 @@ struct TAdaptor_camera : public TAdaptor {
|
||||
TAdaptor_camera() : TAdaptor(mValue, 12) {}
|
||||
/* 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;
|
||||
|
||||
/* 0x10 */ TVariableValue mValue[12];
|
||||
|
||||
static u32 const sauVariableValue_3_POSITION_XYZ[3];
|
||||
|
||||
@@ -11,6 +11,8 @@
|
||||
#include "JSystem/JStudio/JStudio/jstudio-math.h"
|
||||
|
||||
namespace JStudio_JStage {
|
||||
typedef JStudio::TObject* (*ObjCreateFuncT)(const JStudio::stb::data::TParse_TBlock_object&, JStage::TObject*, const JStage::TSystem*);
|
||||
|
||||
struct TCreateObject : public JStudio::TCreateObject {
|
||||
TCreateObject(const JStage::TSystem* pSystem) {
|
||||
pJSGSystem_ = pSystem;
|
||||
@@ -38,10 +40,93 @@ struct TAdaptor_object_ {
|
||||
/* 0x4 */ JStage::TObject* pJSGObject_;
|
||||
};
|
||||
|
||||
|
||||
template<class TAdaptor, class TStageObject>
|
||||
struct TVariableValueOutput_object_ : public JStudio::TVariableValue::TOutput {
|
||||
typedef f32 (TStageObject::*GetFunc)() const;
|
||||
typedef void (TStageObject::*SetFunc)(f32);
|
||||
TVariableValueOutput_object_() : field_0x4(-1), field_0x8(NULL), field_0x14(NULL) {}
|
||||
TVariableValueOutput_object_(typename TAdaptor::TEVariableValue param_1,
|
||||
SetFunc param_2, GetFunc param_3) : field_0x4(param_1), field_0x8(param_2), field_0x14(param_3) {
|
||||
|
||||
}
|
||||
|
||||
virtual void operator()(f32 param_1, JStudio::TAdaptor* param_2) const {
|
||||
(((TAdaptor*)param_2)->get_pJSG_()->*field_0x8)(param_1);
|
||||
}
|
||||
virtual ~TVariableValueOutput_object_() {}
|
||||
|
||||
bool isEnd_() { return field_0x4 == -1; }
|
||||
void adaptor_setOutput_(TAdaptor* adaptor) {
|
||||
adaptor->adaptor_referVariableValue(field_0x4)->setOutput(this);
|
||||
}
|
||||
void setVariableValue_(TStageObject* pObj, TAdaptor* pAdaptor) {
|
||||
f32 val = (pObj->*field_0x14)();
|
||||
pAdaptor->adaptor_setVariableValue_immediate(field_0x4, val);
|
||||
}
|
||||
|
||||
int field_0x4;
|
||||
SetFunc field_0x8;
|
||||
GetFunc field_0x14;
|
||||
};
|
||||
|
||||
struct TAdaptor_actor : public JStudio::TAdaptor_actor, public JStudio_JStage::TAdaptor_object_ {
|
||||
struct TVVOutput_ANIMATION_FRAME_ {
|
||||
typedef JStudio::TObject_actor ObjectType;
|
||||
typedef TVariableValueOutput_object_<TAdaptor_actor, JStage::TActor> TVVOutputObject;
|
||||
typedef void (JStage::TActor::*Setter)(f32);
|
||||
typedef f32 (JStage::TActor::*Getter)() const;
|
||||
typedef f32 (JStage::TActor::*MaxGetter)() const;
|
||||
|
||||
enum TEVariableValue {
|
||||
TEACTOR_1 = 1,
|
||||
};
|
||||
|
||||
struct TVVOutput_ANIMATION_FRAME_
|
||||
#ifdef NONMATCHING
|
||||
: public JStudio::TVariableValue::TOutput
|
||||
#endif
|
||||
{
|
||||
TVVOutput_ANIMATION_FRAME_() {
|
||||
mValueIndex = -1;
|
||||
field_0x8 = 0;
|
||||
mSetter = NULL;
|
||||
mGetter = NULL;
|
||||
mMaxGetter = NULL;
|
||||
}
|
||||
TVVOutput_ANIMATION_FRAME_(int param_1, u32 param_2, Setter param_3, Getter param_4,
|
||||
MaxGetter param_5) {
|
||||
mValueIndex = param_1;
|
||||
field_0x8 = param_2;
|
||||
mSetter = param_3;
|
||||
mGetter = param_4;
|
||||
mMaxGetter = param_5;
|
||||
}
|
||||
#ifdef NONMATCHING
|
||||
/* 8028B064 */ virtual void operator()(f32, JStudio::TAdaptor*) const;
|
||||
/* 8028B138 */ virtual ~TVVOutput_ANIMATION_FRAME_();
|
||||
|
||||
void adaptor_setOutput_(TAdaptor* adaptor) {
|
||||
adaptor->adaptor_referVariableValue(mValueIndex)->setOutput(this);
|
||||
}
|
||||
|
||||
void setVariableValue_(JStage::TActor *param_1, JStudio::TAdaptor *param_2) {
|
||||
f32 val = (param_1->*mGetter)();
|
||||
param_2->adaptor_setVariableValue_immediate(mValueIndex, val);
|
||||
}
|
||||
#else
|
||||
/* 8028B064 */ void operator()(f32, JStudio::TAdaptor*) const;
|
||||
/* 8028B138 */ ~TVVOutput_ANIMATION_FRAME_();
|
||||
|
||||
void* vtable;
|
||||
#endif
|
||||
|
||||
bool isEnd_() { return mValueIndex == -1; }
|
||||
|
||||
/* 0x04 */ int mValueIndex;
|
||||
/* 0x08 */ u32 field_0x8;
|
||||
/* 0x0C */ Setter mSetter;
|
||||
/* 0x18 */ Getter mGetter;
|
||||
/* 0x24 */ MaxGetter mMaxGetter;
|
||||
};
|
||||
|
||||
/* 8028A5F0 */ TAdaptor_actor(JStage::TSystem const*, JStage::TActor*);
|
||||
@@ -78,20 +163,28 @@ struct TAdaptor_actor : public JStudio::TAdaptor_actor, public JStudio_JStage::T
|
||||
/* 8028AD38 */ void setJSG_SRT_(JStudio::TControl const*);
|
||||
/* 8028AECC */ void getJSG_SRT_(JStudio::TControl const*);
|
||||
|
||||
JStage::TActor* get_pJSG_() { return (JStage::TActor*) pJSGObject_; }
|
||||
|
||||
#ifdef NONMATCHING
|
||||
static TVVOutputObject saoVVOutput_[2];
|
||||
static TVVOutput_ANIMATION_FRAME_ saoVVOutput_ANIMATION_FRAME_[3];
|
||||
#else
|
||||
static u8 saoVVOutput_[64];
|
||||
static u8 saoVVOutput_ANIMATION_FRAME_[144 + 4 /* padding */];
|
||||
#endif
|
||||
|
||||
/* 0x130 */ u32 field_0x130;
|
||||
/* 0x134 */ u32 field_0x134;
|
||||
/* 0x138 */ u32 field_0x138;
|
||||
/* 0x13C */ u32 field_0x13c;
|
||||
/* 0x13C */ JStage::TObject* field_0x13c;
|
||||
/* 0x140 */ u32 field_0x140;
|
||||
/* 0x144 */ u32 field_0x144;
|
||||
/* 0x148 */ u8 field_0x148;
|
||||
/* 0x144 */ u8 field_0x144;
|
||||
/* 0x148 */ JStage::TObject* field_0x148;
|
||||
/* 0x14C */ u32 field_0x14c;
|
||||
/* 0x150 */ u32 field_0x150;
|
||||
};
|
||||
|
||||
struct TAdaptor_ambientLight : public JStudio::TAdaptor_ambientLight, public TAdaptor_object_ {
|
||||
typedef JStudio::TObject_ambientLight ObjectType;
|
||||
/* 8028B610 */ TAdaptor_ambientLight(JStage::TSystem const*, JStage::TAmbientLight*);
|
||||
|
||||
/* 8028B6AC */ virtual ~TAdaptor_ambientLight();
|
||||
@@ -101,10 +194,20 @@ struct TAdaptor_ambientLight : public JStudio::TAdaptor_ambientLight, public TAd
|
||||
/* 8028B804 */ virtual void adaptor_do_update(u32);
|
||||
/* 8028B87C */ virtual void adaptor_do_data(void const*, u32, void const*, u32);
|
||||
|
||||
JStage::TObject* get_pJSG_() { return pJSGObject_; }
|
||||
JStage::TAmbientLight* get_pJSG_() { return (JStage::TAmbientLight*)pJSGObject_; }
|
||||
};
|
||||
|
||||
struct TAdaptor_camera : public JStudio::TAdaptor_camera {
|
||||
struct TAdaptor_camera : public JStudio::TAdaptor_camera, public TAdaptor_object_ {
|
||||
typedef JStudio::TObject_camera ObjectType;
|
||||
typedef TVariableValueOutput_object_<TAdaptor_camera, JStage::TCamera> TVVOutput;
|
||||
|
||||
enum TEVariableValue {
|
||||
TECAMERA_6 = 6,
|
||||
TECAMERA_7 = 7,
|
||||
TECAMERA_8 = 8,
|
||||
TECAMERA_9 = 9,
|
||||
};
|
||||
|
||||
/* 8028B8A0 */ TAdaptor_camera(JStage::TSystem const*, JStage::TCamera*);
|
||||
/* 8028B960 */ virtual ~TAdaptor_camera();
|
||||
/* 8028B9D4 */ virtual void adaptor_do_prepare();
|
||||
@@ -128,10 +231,26 @@ struct TAdaptor_camera : public JStudio::TAdaptor_camera {
|
||||
/* 8028BFBC */ void setJSG_targetPosition_(JStudio::TControl const*);
|
||||
/* 8028C09C */ void getJSG_targetPosition_(JStudio::TControl const*);
|
||||
|
||||
static u8 saoVVOutput_[160 + 4 /* padding */];
|
||||
JStage::TCamera* get_pJSG_() { return (JStage::TCamera*)pJSGObject_; }
|
||||
|
||||
static TVVOutput saoVVOutput_[5];
|
||||
|
||||
/* 0x108 */ int field_0x108;
|
||||
/* 0x10C */ JStage::TObject* field_0x10c;
|
||||
/* 0x110 */ int field_0x110;
|
||||
/* 0x114 */ u8 field_0x114;
|
||||
/* 0x118 */ JStage::TObject* field_0x118;
|
||||
/* 0x11C */ int field_0x11c;
|
||||
/* 0x120 */ u8 field_0x120;
|
||||
};
|
||||
|
||||
struct TAdaptor_fog : public JStudio::TAdaptor_fog {
|
||||
struct TAdaptor_fog : public JStudio::TAdaptor_fog, public TAdaptor_object_ {
|
||||
typedef JStudio::TObject_fog ObjectType;
|
||||
enum TEVariableValue {
|
||||
TEFOG_4 = 4,
|
||||
TEFOG_5 = 5,
|
||||
};
|
||||
|
||||
/* 8028C574 */ TAdaptor_fog(JStage::TSystem const*, JStage::TFog*);
|
||||
/* 8028C610 */ virtual ~TAdaptor_fog();
|
||||
/* 8028C684 */ virtual void adaptor_do_prepare();
|
||||
@@ -140,13 +259,48 @@ struct TAdaptor_fog : public JStudio::TAdaptor_fog {
|
||||
/* 8028C808 */ virtual void adaptor_do_update(u32);
|
||||
/* 8028C880 */ virtual void adaptor_do_data(void const*, u32, void const*, u32);
|
||||
|
||||
static u8 saoVVOutput_[96 + 4 /* padding */];
|
||||
JStage::TFog* get_pJSG_() { return (JStage::TFog*)pJSGObject_; }
|
||||
|
||||
static TVariableValueOutput_object_<TAdaptor_fog, JStage::TFog> saoVVOutput_[3];
|
||||
};
|
||||
|
||||
struct TAdaptor_light : public JStudio::TAdaptor_light {
|
||||
struct TVVOutput_direction_ {
|
||||
/* 8028D24C */ void operator()(f32, JStudio::TAdaptor*) const;
|
||||
/* 8028D258 */ ~TVVOutput_direction_();
|
||||
struct TAdaptor_light : public JStudio::TAdaptor_light, public TAdaptor_object_ {
|
||||
typedef JStudio::TObject_light ObjectType;
|
||||
|
||||
enum TEVariableValue {
|
||||
TE_VALUE_NONE = -1,
|
||||
TE_VALUE_7 = 7,
|
||||
TE_VALUE_8 = 8,
|
||||
TE_VALUE_9 = 9,
|
||||
TE_VALUE_10 = 10,
|
||||
TE_VALUE_11 = 11,
|
||||
};
|
||||
enum TEDirection_ {
|
||||
DIRECTION_0,
|
||||
DIRECTION_1,
|
||||
DIRECTION_2,
|
||||
};
|
||||
struct TVVOutput_direction_ : public JStudio::TVariableValue::TOutput {
|
||||
TVVOutput_direction_() {
|
||||
field_0x4 = TE_VALUE_NONE;
|
||||
field_0x8 = DIRECTION_0;
|
||||
}
|
||||
TVVOutput_direction_(TEVariableValue param_1, TEDirection_ param_2) {
|
||||
field_0x4 = param_1;
|
||||
field_0x8 = param_2;
|
||||
}
|
||||
|
||||
/* 8028D24C */ virtual void operator()(f32, JStudio::TAdaptor*) const;
|
||||
/* 8028D258 */ virtual ~TVVOutput_direction_() {}
|
||||
|
||||
void adaptor_setOutput_(TAdaptor* adaptor) {
|
||||
adaptor->adaptor_referVariableValue(field_0x4)->setOutput(this);
|
||||
}
|
||||
|
||||
bool isEnd_() { return field_0x4 == -1; }
|
||||
|
||||
TEVariableValue field_0x4;
|
||||
TEDirection_ field_0x8;
|
||||
};
|
||||
|
||||
/* 8028CB50 */ TAdaptor_light(JStage::TSystem const*, JStage::TLight*);
|
||||
@@ -159,7 +313,11 @@ struct TAdaptor_light : public JStudio::TAdaptor_light {
|
||||
/* 8028D228 */ virtual void adaptor_do_ENABLE(JStudio::data::TEOperationData, void const*, u32);
|
||||
/* 8028D1B0 */ virtual void adaptor_do_FACULTY(JStudio::data::TEOperationData, void const*, u32);
|
||||
|
||||
static u8 saoVVOutput_direction_[72];
|
||||
JStage::TLight* get_pJSG_() { return (JStage::TLight*)pJSGObject_; }
|
||||
|
||||
int field_0x11c;
|
||||
|
||||
static TVVOutput_direction_ saoVVOutput_direction_[6];
|
||||
};
|
||||
|
||||
/* 8028A1F8 */ bool
|
||||
|
||||
Reference in New Issue
Block a user