mirror of
https://github.com/zeldaret/tww.git
synced 2026-05-26 23:47:11 -04:00
tabs -> spaces
This commit is contained in:
@@ -49,12 +49,12 @@ namespace JASystem {
|
||||
};
|
||||
struct TWaveArchive {
|
||||
/* 0x00 */ char mFileName[0x74];
|
||||
/* 0x74 */ u32 mWaveOffsets[1];
|
||||
/* 0x74 */ u32 mWaveOffsets[1];
|
||||
};
|
||||
struct TWaveArchiveBank {
|
||||
/* 0x00 */ u32 mMagic;
|
||||
/* 0x04 */ u8 field_0x4[0x08 - 0x04];
|
||||
/* 0x08 */ u32 mArchiveOffsets[1];
|
||||
/* 0x08 */ u32 mArchiveOffsets[1];
|
||||
};
|
||||
|
||||
u32 getGroupCount(void*);
|
||||
|
||||
@@ -6,14 +6,14 @@
|
||||
namespace JGadget {
|
||||
template <typename T>
|
||||
struct TAllocator {
|
||||
static TAllocator get() { }
|
||||
static TAllocator get() { }
|
||||
|
||||
inline TAllocator();
|
||||
inline TAllocator();
|
||||
|
||||
u8 _00; // _00
|
||||
u32 _04; // _04
|
||||
u32 _08; // _08
|
||||
u32 _0C; // _0C
|
||||
u8 _00; // _00
|
||||
u32 _04; // _04
|
||||
u32 _08; // _08
|
||||
u32 _0C; // _0C
|
||||
};
|
||||
|
||||
typedef TAllocator<void*> TVoidAllocator;
|
||||
|
||||
@@ -41,16 +41,16 @@ struct TControl {
|
||||
|
||||
/* 0x04 */ void* _04;
|
||||
/* 0x08 */ void* _08;
|
||||
/* 0x0C */ TSequenceProcessor* mBaseProcSeq;
|
||||
/* 0x10 */ TRenderingProcessor* mBaseProcRender;
|
||||
/* 0x14 */ u16 mMessageCode;
|
||||
/* 0x16 */ u16 mMessageIndex;
|
||||
/* 0x18 */ const TResource* mResourceCache;
|
||||
/* 0x1C */ const char* mMessageBegin;
|
||||
/* 0x20 */ const char* _20;
|
||||
/* 0x24 */ const char* mCurrentText;
|
||||
/* 0x28 */ void* mEntry;
|
||||
/* 0x2C */ TProcessor::TStack_ mRenderStack;
|
||||
/* 0x0C */ TSequenceProcessor* mBaseProcSeq;
|
||||
/* 0x10 */ TRenderingProcessor* mBaseProcRender;
|
||||
/* 0x14 */ u16 mMessageCode;
|
||||
/* 0x16 */ u16 mMessageIndex;
|
||||
/* 0x18 */ const TResource* mResourceCache;
|
||||
/* 0x1C */ const char* mMessageBegin;
|
||||
/* 0x20 */ const char* _20;
|
||||
/* 0x24 */ const char* mCurrentText;
|
||||
/* 0x28 */ void* mEntry;
|
||||
/* 0x2C */ TProcessor::TStack_ mRenderStack;
|
||||
};
|
||||
}; // namespace JMessage
|
||||
|
||||
|
||||
@@ -11,151 +11,151 @@ struct TControl;
|
||||
struct TResource;
|
||||
|
||||
struct TProcessor {
|
||||
typedef bool (*OnCharacterEndCallBack)(TProcessor*);
|
||||
typedef const char* (*OnSelectBeginCallBack)(TProcessor*);
|
||||
typedef const char* (*ProcessOnSelectCallBack)(TProcessor*);
|
||||
typedef bool (*OnCharacterEndCallBack)(TProcessor*);
|
||||
typedef const char* (*OnSelectBeginCallBack)(TProcessor*);
|
||||
typedef const char* (*ProcessOnSelectCallBack)(TProcessor*);
|
||||
|
||||
struct TStack_ {
|
||||
TStack_() { clear(); }
|
||||
struct TStack_ {
|
||||
TStack_() { clear(); }
|
||||
|
||||
TStack_(const TStack_& other)
|
||||
{
|
||||
mSize = other.mSize;
|
||||
for (int i = 0; i < mSize; i++) {
|
||||
mStack[i] = mStack[i];
|
||||
}
|
||||
}
|
||||
TStack_(const TStack_& other)
|
||||
{
|
||||
mSize = other.mSize;
|
||||
for (int i = 0; i < mSize; i++) {
|
||||
mStack[i] = mStack[i];
|
||||
}
|
||||
}
|
||||
|
||||
inline bool empty() const { return mSize == 0; }
|
||||
inline bool isPushable() const { return mSize < 4; }
|
||||
inline void clear() { mSize = 0; }
|
||||
inline bool empty() const { return mSize == 0; }
|
||||
inline bool isPushable() const { return mSize < 4; }
|
||||
inline void clear() { mSize = 0; }
|
||||
|
||||
inline u32 getMaxSize() const { return 4; }
|
||||
inline u32 getSize() const { return mSize; }
|
||||
inline const char* getTop() const { return mStack[mSize - 1]; }
|
||||
inline u32 getMaxSize() const { return 4; }
|
||||
inline u32 getSize() const { return mSize; }
|
||||
inline const char* getTop() const { return mStack[mSize - 1]; }
|
||||
|
||||
inline void push(const char* str)
|
||||
{
|
||||
mStack[mSize] = str;
|
||||
mSize++;
|
||||
}
|
||||
inline void push(const char* str)
|
||||
{
|
||||
mStack[mSize] = str;
|
||||
mSize++;
|
||||
}
|
||||
|
||||
inline void pop() { mSize--; }
|
||||
inline void pop() { mSize--; }
|
||||
|
||||
u32 mSize; // _00
|
||||
const char* mStack[3]; // _04
|
||||
};
|
||||
u32 mSize; // _00
|
||||
const char* mStack[3]; // _04
|
||||
};
|
||||
|
||||
struct TProcess {
|
||||
struct TProcessData {
|
||||
ProcessOnSelectCallBack mSelectCallback; // _00
|
||||
const char* mBase; // _04
|
||||
const void* mOffset; // _08
|
||||
u32 mRest; // _0C
|
||||
};
|
||||
struct TProcess {
|
||||
struct TProcessData {
|
||||
ProcessOnSelectCallBack mSelectCallback; // _00
|
||||
const char* mBase; // _04
|
||||
const void* mOffset; // _08
|
||||
u32 mRest; // _0C
|
||||
};
|
||||
|
||||
TProcess() { reset_normal(); }
|
||||
TProcess() { reset_normal(); }
|
||||
|
||||
void reset_normal() { mEndCallback = process_onCharacterEnd_normal_; }
|
||||
void reset_select() { mEndCallback = process_onCharacterEnd_select_; }
|
||||
void reset_normal() { mEndCallback = process_onCharacterEnd_normal_; }
|
||||
void reset_select() { mEndCallback = process_onCharacterEnd_select_; }
|
||||
|
||||
OnCharacterEndCallBack mEndCallback; // _00
|
||||
TProcessData mData; // _04
|
||||
};
|
||||
OnCharacterEndCallBack mEndCallback; // _00
|
||||
TProcessData mData; // _04
|
||||
};
|
||||
|
||||
~TProcessor();
|
||||
|
||||
virtual void do_character(int);
|
||||
virtual bool do_tag(u32, const void*, u32);
|
||||
virtual bool do_systemTagCode(u16, const void*, u32);
|
||||
virtual void do_select_begin(u32);
|
||||
virtual void do_select_end();
|
||||
virtual void do_select_separate();
|
||||
virtual void do_begin_(const void*, const char*) = 0;
|
||||
virtual void do_end_() = 0;
|
||||
virtual bool do_tag_(u32, const void*, u32) = 0;
|
||||
virtual void do_systemTagCode_(u16, const void*, u32) = 0;
|
||||
virtual void do_character(int);
|
||||
virtual bool do_tag(u32, const void*, u32);
|
||||
virtual bool do_systemTagCode(u16, const void*, u32);
|
||||
virtual void do_select_begin(u32);
|
||||
virtual void do_select_end();
|
||||
virtual void do_select_separate();
|
||||
virtual void do_begin_(const void*, const char*) = 0;
|
||||
virtual void do_end_() = 0;
|
||||
virtual bool do_tag_(u32, const void*, u32) = 0;
|
||||
virtual void do_systemTagCode_(u16, const void*, u32) = 0;
|
||||
|
||||
void setBegin_messageCode(u16, u16);
|
||||
void setBegin_messageID(u32, u32, bool*);
|
||||
void setBegin_messageCode(u32); // weak
|
||||
TResource* getResource_groupID(u16) const;
|
||||
u32 toMessageCode_messageID(u32, u32, bool*) const;
|
||||
char* on_message_limited(u16) const; // weak
|
||||
char* on_message(u32) const; // weak
|
||||
char* getMessageText_messageCode(u32) const; // weak
|
||||
static bool process_onCharacterEnd_normal_(TProcessor*);
|
||||
static bool process_onCharacterEnd_select_(TProcessor*);
|
||||
static const char* process_onSelect_limited_(TProcessor*);
|
||||
static const char* process_onSelect_(TProcessor*);
|
||||
void reset_(const char*);
|
||||
void setBegin_messageCode(u16, u16);
|
||||
void setBegin_messageID(u32, u32, bool*);
|
||||
void setBegin_messageCode(u32); // weak
|
||||
TResource* getResource_groupID(u16) const;
|
||||
u32 toMessageCode_messageID(u32, u32, bool*) const;
|
||||
char* on_message_limited(u16) const; // weak
|
||||
char* on_message(u32) const; // weak
|
||||
char* getMessageText_messageCode(u32) const; // weak
|
||||
static bool process_onCharacterEnd_normal_(TProcessor*);
|
||||
static bool process_onCharacterEnd_select_(TProcessor*);
|
||||
static const char* process_onSelect_limited_(TProcessor*);
|
||||
static const char* process_onSelect_(TProcessor*);
|
||||
void reset_(const char*);
|
||||
|
||||
void process_select_limited_(TProcessor*);
|
||||
void process_select_(TProcessor*);
|
||||
|
||||
int setBegin_messageEntryText(const TResource* resource, const void* entry, const char* param_2)
|
||||
{
|
||||
// mResourceCache = resource;
|
||||
reset_(param_2);
|
||||
do_begin_(entry, param_2);
|
||||
return TRUE;
|
||||
}
|
||||
int setBegin_messageEntryText(const TResource* resource, const void* entry, const char* param_2)
|
||||
{
|
||||
// mResourceCache = resource;
|
||||
reset_(param_2);
|
||||
do_begin_(entry, param_2);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
const TResource* getResourceCache() const { return mResourceCache; }
|
||||
const char* getCurrent() const { return mCurrent; }
|
||||
const TReference* getReference() const { return mReference; }
|
||||
const TResource* getResourceCache() const { return mResourceCache; }
|
||||
const char* getCurrent() const { return mCurrent; }
|
||||
const TReference* getReference() const { return mReference; }
|
||||
|
||||
// Unused/inlined:
|
||||
void pushCurrent(const char*);
|
||||
const char* popCurrent();
|
||||
void on_select_begin(OnSelectBeginCallBack, const void*, const char*, u32);
|
||||
void on_select_end();
|
||||
void on_select_separate();
|
||||
void on_tag_();
|
||||
void process_character_();
|
||||
// Unused/inlined:
|
||||
void pushCurrent(const char*);
|
||||
const char* popCurrent();
|
||||
void on_select_begin(OnSelectBeginCallBack, const void*, const char*, u32);
|
||||
void on_select_end();
|
||||
void on_select_separate();
|
||||
void on_tag_();
|
||||
void process_character_();
|
||||
|
||||
// _00 = VTBL
|
||||
const TReference* mReference; // _04
|
||||
const TResource* mResourceCache; // _08
|
||||
const char* mCurrent; // _0C
|
||||
TStack_ mStack; // _10
|
||||
TProcess mProcess; // _24
|
||||
// _00 = VTBL
|
||||
const TReference* mReference; // _04
|
||||
const TResource* mResourceCache; // _08
|
||||
const char* mCurrent; // _0C
|
||||
TStack_ mStack; // _10
|
||||
TProcess mProcess; // _24
|
||||
};
|
||||
|
||||
struct TSequenceProcessor : public TProcessor {
|
||||
typedef bool OnJumpRegisterCallBack(TSequenceProcessor*);
|
||||
typedef bool OnBranchRegisterCallBack(TSequenceProcessor*, u32);
|
||||
typedef void* ProcessOnJumpCallBack(const TSequenceProcessor*);
|
||||
typedef bool OnJumpRegisterCallBack(TSequenceProcessor*);
|
||||
typedef bool OnBranchRegisterCallBack(TSequenceProcessor*, u32);
|
||||
typedef void* ProcessOnJumpCallBack(const TSequenceProcessor*);
|
||||
|
||||
TSequenceProcessor(const TReference*, TControl*);
|
||||
TSequenceProcessor(const TReference*, TControl*);
|
||||
TSequenceProcessor(TControl*);
|
||||
|
||||
virtual ~TSequenceProcessor(); // _08
|
||||
virtual void do_reset_(const char*); // _28
|
||||
virtual bool do_setBegin_isReady_() const; // _2C
|
||||
virtual void do_begin_(const void*, const char*); // _30
|
||||
virtual void do_end_(); // _34
|
||||
virtual bool do_tag_(u32, const void*, u32); // _38
|
||||
virtual void do_systemTagCode_(u16, const void*, u32); // _3C
|
||||
virtual void do_begin(const void*, const char*); // _40
|
||||
virtual void do_end(); // _44
|
||||
virtual bool do_isReady(); // _48
|
||||
virtual bool do_jump_isReady(); // _4C
|
||||
virtual void do_jump(const void*, const char*); // _50
|
||||
virtual void do_branch_query(u16); // _54
|
||||
virtual int do_branch_queryResult(); // _58
|
||||
virtual void do_branch(const void*, const char*); // _5C
|
||||
virtual ~TSequenceProcessor(); // _08
|
||||
virtual void do_reset_(const char*); // _28
|
||||
virtual bool do_setBegin_isReady_() const; // _2C
|
||||
virtual void do_begin_(const void*, const char*); // _30
|
||||
virtual void do_end_(); // _34
|
||||
virtual bool do_tag_(u32, const void*, u32); // _38
|
||||
virtual void do_systemTagCode_(u16, const void*, u32); // _3C
|
||||
virtual void do_begin(const void*, const char*); // _40
|
||||
virtual void do_end(); // _44
|
||||
virtual bool do_isReady(); // _48
|
||||
virtual bool do_jump_isReady(); // _4C
|
||||
virtual void do_jump(const void*, const char*); // _50
|
||||
virtual void do_branch_query(u16); // _54
|
||||
virtual int do_branch_queryResult(); // _58
|
||||
virtual void do_branch(const void*, const char*); // _5C
|
||||
|
||||
char* process(const char*);
|
||||
bool on_isReady();
|
||||
void on_jump_isReady();
|
||||
void on_jump(const void*, const char*);
|
||||
void on_branch_queryResult();
|
||||
void on_branch(const void*, const char*);
|
||||
void process_onJump_limited_(const TSequenceProcessor*);
|
||||
static void* process_onJump_(const TSequenceProcessor*);
|
||||
void process_onBranch_limited_(const TSequenceProcessor*, u32);
|
||||
void process_onBranch_(const TSequenceProcessor*, u32);
|
||||
char* process(const char*);
|
||||
bool on_isReady();
|
||||
void on_jump_isReady();
|
||||
void on_jump(const void*, const char*);
|
||||
void on_branch_queryResult();
|
||||
void on_branch(const void*, const char*);
|
||||
void process_onJump_limited_(const TSequenceProcessor*);
|
||||
static void* process_onJump_(const TSequenceProcessor*);
|
||||
void process_onBranch_limited_(const TSequenceProcessor*, u32);
|
||||
void process_onBranch_(const TSequenceProcessor*, u32);
|
||||
|
||||
void reset_(const char*);
|
||||
void process_jump_limited_(TSequenceProcessor*);
|
||||
@@ -163,14 +163,14 @@ struct TSequenceProcessor : public TProcessor {
|
||||
void process_branch_limited_(TSequenceProcessor*, u32);
|
||||
void process_branch_(TSequenceProcessor*, u32);
|
||||
|
||||
// Unused/inlined:
|
||||
const char* toString_status(int);
|
||||
int toValue_status(const char*);
|
||||
void on_jump_register(OnJumpRegisterCallBack*, u32);
|
||||
void on_branch_register(OnBranchRegisterCallBack*, const void*, u32);
|
||||
void on_branch_query(u16);
|
||||
void process_setMessageIndex_reserved_(u16);
|
||||
void process_setMessageCode_(const TSequenceProcessor*, u16, u16);
|
||||
// Unused/inlined:
|
||||
const char* toString_status(int);
|
||||
int toValue_status(const char*);
|
||||
void on_jump_register(OnJumpRegisterCallBack*, u32);
|
||||
void on_branch_register(OnBranchRegisterCallBack*, const void*, u32);
|
||||
void on_branch_query(u16);
|
||||
void process_setMessageIndex_reserved_(u16);
|
||||
void process_setMessageCode_(const TSequenceProcessor*, u16, u16);
|
||||
|
||||
void reset() {}
|
||||
void setBegin(const void* param_1, const char* param_2) {
|
||||
@@ -178,31 +178,31 @@ struct TSequenceProcessor : public TProcessor {
|
||||
do_begin_(param_1, param_2);
|
||||
}
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_38 = TProcessor
|
||||
TControl* _38; // _38
|
||||
int _3C; // _3C
|
||||
ProcessOnJumpCallBack* _40; // _40 - processorCallBack(void*, ulong) pointer?
|
||||
u32 _44; // _44
|
||||
u32 _48; // _48
|
||||
// _00 = VTBL
|
||||
// _00-_38 = TProcessor
|
||||
TControl* _38; // _38
|
||||
int _3C; // _3C
|
||||
ProcessOnJumpCallBack* _40; // _40 - processorCallBack(void*, ulong) pointer?
|
||||
u32 _44; // _44
|
||||
u32 _48; // _48
|
||||
};
|
||||
|
||||
struct TRenderingProcessor : public TProcessor {
|
||||
TRenderingProcessor(const TReference*);
|
||||
TRenderingProcessor(const TReference*);
|
||||
TRenderingProcessor(TControl*);
|
||||
|
||||
virtual void do_begin_(const void*, const char*);
|
||||
virtual void do_end_();
|
||||
virtual bool do_tag_(u32, const void*, u32);
|
||||
virtual void do_systemTagCode_(u16, const void*, u32);
|
||||
virtual ~TRenderingProcessor();
|
||||
virtual void do_begin(const void*, const char*);
|
||||
virtual void do_end();
|
||||
virtual void do_begin_(const void*, const char*);
|
||||
virtual void do_end_();
|
||||
virtual bool do_tag_(u32, const void*, u32);
|
||||
virtual void do_systemTagCode_(u16, const void*, u32);
|
||||
virtual ~TRenderingProcessor();
|
||||
virtual void do_begin(const void*, const char*);
|
||||
virtual void do_end();
|
||||
|
||||
void process(const char*);
|
||||
void process(const char*);
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_38 = TProcessor
|
||||
// _00 = VTBL
|
||||
// _00-_38 = TProcessor
|
||||
};
|
||||
} // namespace JMessage
|
||||
|
||||
|
||||
@@ -81,9 +81,9 @@ struct TVariableValue {
|
||||
}
|
||||
}
|
||||
|
||||
inline void setOutput(const TOutput* output) {
|
||||
pOutput_ = (output != NULL ? (TOutput*)output : (TOutput*)&soOutput_none_);
|
||||
}
|
||||
inline void setOutput(const TOutput* output) {
|
||||
pOutput_ = (output != NULL ? (TOutput*)output : (TOutput*)&soOutput_none_);
|
||||
}
|
||||
|
||||
static u8 soOutput_none_[4 + 4 /* padding */];
|
||||
|
||||
@@ -139,22 +139,22 @@ public:
|
||||
};
|
||||
|
||||
struct TAdaptor {
|
||||
inline TAdaptor(TVariableValue* values, int count)
|
||||
: pValue_(values)
|
||||
, u(count)
|
||||
{
|
||||
}
|
||||
inline TAdaptor(TVariableValue* values, int count)
|
||||
: pValue_(values)
|
||||
, u(count)
|
||||
{
|
||||
}
|
||||
|
||||
struct TSetVariableValue_immediate {
|
||||
inline TSetVariableValue_immediate(u32 p1, f32 p2)
|
||||
: field_0x0(p1)
|
||||
, field_0x4(p2)
|
||||
{
|
||||
}
|
||||
struct TSetVariableValue_immediate {
|
||||
inline TSetVariableValue_immediate(u32 p1, f32 p2)
|
||||
: field_0x0(p1)
|
||||
, field_0x4(p2)
|
||||
{
|
||||
}
|
||||
|
||||
u32 field_0x0;
|
||||
f32 field_0x4;
|
||||
};
|
||||
u32 field_0x0;
|
||||
f32 field_0x4;
|
||||
};
|
||||
typedef void (*setVarFunc)(JStudio::TAdaptor*, JStudio::TObject*, u32, void const*, u32);
|
||||
virtual ~TAdaptor() = 0;
|
||||
virtual void adaptor_do_prepare(const JStudio::TObject*);
|
||||
@@ -204,11 +204,11 @@ struct TAdaptor {
|
||||
};
|
||||
|
||||
struct TAdaptor_actor : public TAdaptor {
|
||||
TAdaptor_actor()
|
||||
: TAdaptor(mValue, ARRAY_SIZE(mValue))
|
||||
, mValue()
|
||||
{
|
||||
}
|
||||
TAdaptor_actor()
|
||||
: TAdaptor(mValue, ARRAY_SIZE(mValue))
|
||||
, mValue()
|
||||
{
|
||||
}
|
||||
virtual ~TAdaptor_actor() = 0;
|
||||
|
||||
/* 0x10 */ TVariableValue mValue[14];
|
||||
@@ -227,11 +227,11 @@ struct TObject_actor : public TObject {
|
||||
};
|
||||
|
||||
struct TAdaptor_ambientLight : public TAdaptor {
|
||||
TAdaptor_ambientLight()
|
||||
: TAdaptor(mValue, ARRAY_SIZE(mValue))
|
||||
, mValue()
|
||||
{
|
||||
}
|
||||
TAdaptor_ambientLight()
|
||||
: TAdaptor(mValue, ARRAY_SIZE(mValue))
|
||||
, mValue()
|
||||
{
|
||||
}
|
||||
virtual ~TAdaptor_ambientLight() = 0;
|
||||
|
||||
/* 0x10 */ TVariableValue mValue[4];
|
||||
@@ -249,11 +249,11 @@ struct TObject_ambientLight : public TObject {
|
||||
};
|
||||
|
||||
struct TAdaptor_camera : public TAdaptor {
|
||||
TAdaptor_camera()
|
||||
: TAdaptor(mValue, ARRAY_SIZE(mValue))
|
||||
, mValue()
|
||||
{
|
||||
}
|
||||
TAdaptor_camera()
|
||||
: TAdaptor(mValue, ARRAY_SIZE(mValue))
|
||||
, mValue()
|
||||
{
|
||||
}
|
||||
virtual ~TAdaptor_camera() = 0;
|
||||
|
||||
/* 0x10 */ TVariableValue mValue[12];
|
||||
@@ -272,11 +272,11 @@ struct TObject_camera : public TObject {
|
||||
};
|
||||
|
||||
struct TAdaptor_fog : public TAdaptor {
|
||||
TAdaptor_fog()
|
||||
: TAdaptor(mValue, ARRAY_SIZE(mValue))
|
||||
, mValue()
|
||||
{
|
||||
}
|
||||
TAdaptor_fog()
|
||||
: TAdaptor(mValue, ARRAY_SIZE(mValue))
|
||||
, mValue()
|
||||
{
|
||||
}
|
||||
virtual ~TAdaptor_fog() = 0;
|
||||
|
||||
/* 0x10 */ TVariableValue mValue[6];
|
||||
@@ -295,11 +295,11 @@ struct TObject_fog : public TObject {
|
||||
};
|
||||
|
||||
struct TAdaptor_light : public TAdaptor {
|
||||
TAdaptor_light()
|
||||
: TAdaptor(mValue, ARRAY_SIZE(mValue))
|
||||
, mValue()
|
||||
{
|
||||
}
|
||||
TAdaptor_light()
|
||||
: TAdaptor(mValue, ARRAY_SIZE(mValue))
|
||||
, mValue()
|
||||
{
|
||||
}
|
||||
virtual ~TAdaptor_light() = 0;
|
||||
|
||||
/* 0x10 */ TVariableValue mValue[13];
|
||||
@@ -320,10 +320,10 @@ struct TObject_light : public TObject {
|
||||
};
|
||||
|
||||
struct TAdaptor_message : public TAdaptor {
|
||||
TAdaptor_message()
|
||||
: TAdaptor(NULL, 0)
|
||||
{
|
||||
}
|
||||
TAdaptor_message()
|
||||
: TAdaptor(NULL, 0)
|
||||
{
|
||||
}
|
||||
|
||||
virtual ~TAdaptor_message() = 0;
|
||||
};
|
||||
@@ -337,11 +337,11 @@ struct TObject_message : public TObject {
|
||||
};
|
||||
|
||||
struct TAdaptor_particle : public TAdaptor {
|
||||
TAdaptor_particle()
|
||||
: TAdaptor(mValue, ARRAY_SIZE(mValue))
|
||||
, mValue()
|
||||
{
|
||||
}
|
||||
TAdaptor_particle()
|
||||
: TAdaptor(mValue, ARRAY_SIZE(mValue))
|
||||
, mValue()
|
||||
{
|
||||
}
|
||||
virtual ~TAdaptor_particle() = 0;
|
||||
|
||||
/* 0x10 */ TVariableValue mValue[20];
|
||||
@@ -364,11 +364,11 @@ struct TObject_particle : public TObject {
|
||||
};
|
||||
|
||||
struct TAdaptor_sound : public TAdaptor {
|
||||
TAdaptor_sound()
|
||||
: TAdaptor(mValue, ARRAY_SIZE(mValue))
|
||||
, mValue()
|
||||
{
|
||||
}
|
||||
TAdaptor_sound()
|
||||
: TAdaptor(mValue, ARRAY_SIZE(mValue))
|
||||
, mValue()
|
||||
{
|
||||
}
|
||||
virtual ~TAdaptor_sound() = 0;
|
||||
|
||||
/* 0x10 */ TVariableValue mValue[11];
|
||||
|
||||
@@ -13,7 +13,7 @@ public:
|
||||
|
||||
bool isEqual(JStudio::object::TIDData const&, JStudio::object::TIDData const&);
|
||||
inline const void* getID() const { return mID; }
|
||||
inline u32 getIDSize() const { return mID_size; }
|
||||
inline u32 getIDSize() const { return mID_size; }
|
||||
|
||||
private:
|
||||
/* 0x00 */ const void* mID;
|
||||
|
||||
@@ -19,68 +19,68 @@ struct TAdaptor_sound : public JStudio::TAdaptor_sound {
|
||||
void operator()(float, JStudio::TAdaptor*) const;
|
||||
};
|
||||
|
||||
struct TVVOSetValue_ : public JStudio::TVariableValue::TOutput {
|
||||
virtual void operator()(f32, JStudio::TAdaptor*) const; // _08
|
||||
virtual ~TVVOSetValue_(); // _0C (weak)
|
||||
struct TVVOSetValue_ : public JStudio::TVariableValue::TOutput {
|
||||
virtual void operator()(f32, JStudio::TAdaptor*) const; // _08
|
||||
virtual ~TVVOSetValue_(); // _0C (weak)
|
||||
|
||||
// _00 = VTBL
|
||||
int _04; // _04
|
||||
u32 _08; // _08, unknown
|
||||
int _0C; // _0C
|
||||
int _10; // _10
|
||||
};
|
||||
// _00 = VTBL
|
||||
int _04; // _04
|
||||
u32 _08; // _08, unknown
|
||||
int _0C; // _0C
|
||||
int _10; // _10
|
||||
};
|
||||
|
||||
static TVVOOn_BEGIN_FADE_IN_ soVVOOn_BEGIN_FADE_IN_;
|
||||
static TVVOOn_END_FADE_OUT_ soVVOOn_END_FADE_OUT_;
|
||||
static TVVOSetValue_ saoVVOSetValue_[];
|
||||
|
||||
TAdaptor_sound(JAIBasic*);
|
||||
TAdaptor_sound(JAIBasic*);
|
||||
|
||||
virtual ~TAdaptor_sound(); // _08
|
||||
virtual void adaptor_do_prepare(const JStudio::TObject*); // _0C
|
||||
virtual void adaptor_do_end(const JStudio::TObject*); // _14
|
||||
virtual void adaptor_do_update(const JStudio::TObject*, u32); // _18
|
||||
virtual void adaptor_do_SOUND(JStudio::data::TEOperationData, const void*, u32); // _20
|
||||
virtual void adaptor_do_BEGIN(JStudio::data::TEOperationData, const void*, u32); // _24
|
||||
virtual void adaptor_do_BEGIN_FADE_IN(JStudio::data::TEOperationData, const void*, u32); // _28
|
||||
virtual void adaptor_do_END(JStudio::data::TEOperationData, const void*, u32); // _2C
|
||||
virtual void adaptor_do_END_FADE_OUT(JStudio::data::TEOperationData, const void*, u32); // _30
|
||||
virtual void adaptor_do_PARENT(JStudio::data::TEOperationData, const void*, u32); // _34
|
||||
virtual void adaptor_do_PARENT_NODE(JStudio::data::TEOperationData, const void*, u32); // _38
|
||||
virtual void adaptor_do_PARENT_ENABLE(JStudio::data::TEOperationData, const void*, u32); // _3C
|
||||
virtual void adaptor_do_LOCATED(JStudio::data::TEOperationData, const void*, u32); // _40
|
||||
virtual ~TAdaptor_sound(); // _08
|
||||
virtual void adaptor_do_prepare(const JStudio::TObject*); // _0C
|
||||
virtual void adaptor_do_end(const JStudio::TObject*); // _14
|
||||
virtual void adaptor_do_update(const JStudio::TObject*, u32); // _18
|
||||
virtual void adaptor_do_SOUND(JStudio::data::TEOperationData, const void*, u32); // _20
|
||||
virtual void adaptor_do_BEGIN(JStudio::data::TEOperationData, const void*, u32); // _24
|
||||
virtual void adaptor_do_BEGIN_FADE_IN(JStudio::data::TEOperationData, const void*, u32); // _28
|
||||
virtual void adaptor_do_END(JStudio::data::TEOperationData, const void*, u32); // _2C
|
||||
virtual void adaptor_do_END_FADE_OUT(JStudio::data::TEOperationData, const void*, u32); // _30
|
||||
virtual void adaptor_do_PARENT(JStudio::data::TEOperationData, const void*, u32); // _34
|
||||
virtual void adaptor_do_PARENT_NODE(JStudio::data::TEOperationData, const void*, u32); // _38
|
||||
virtual void adaptor_do_PARENT_ENABLE(JStudio::data::TEOperationData, const void*, u32); // _3C
|
||||
virtual void adaptor_do_LOCATED(JStudio::data::TEOperationData, const void*, u32); // _40
|
||||
|
||||
void beginSound_fadeIn_(u32);
|
||||
void endSound_fadeOut_(u32);
|
||||
void beginSound_fadeIn_(u32);
|
||||
void endSound_fadeOut_(u32);
|
||||
|
||||
/* 0x0E8 */ JAIBasic* mpBasic;
|
||||
/* 0x0EC */ JAISound* mpSound;
|
||||
/* 0x0F0 */ u32 _F0;
|
||||
/* 0x0F4 */ int _F4;
|
||||
/* 0x0E8 */ JAIBasic* mpBasic;
|
||||
/* 0x0EC */ JAISound* mpSound;
|
||||
/* 0x0F0 */ u32 _F0;
|
||||
/* 0x0F4 */ int _F4;
|
||||
/* 0x0F8 */ u8 _F8[0x104 - 0x0F8];
|
||||
|
||||
// u32 _E4;
|
||||
// Vec* _E8; // Vector3f* in ghidra, should be Vec* or JGeometry::TVec3* surely
|
||||
// Vec _EC; // same as above
|
||||
// JStage::TSystem* mSystem;
|
||||
// JStage::TObject* _FC;
|
||||
// u32 _100;
|
||||
// u8 _104;
|
||||
// u32 _E4;
|
||||
// Vec* _E8; // Vector3f* in ghidra, should be Vec* or JGeometry::TVec3* surely
|
||||
// Vec _EC; // same as above
|
||||
// JStage::TSystem* mSystem;
|
||||
// JStage::TObject* _FC;
|
||||
// u32 _100;
|
||||
// u8 _104;
|
||||
}; // Size: 0x104
|
||||
|
||||
struct TCreateObject : public JStudio::TCreateObject {
|
||||
TCreateObject(JAIBasic* jai, const JStage::TSystem* system)
|
||||
{
|
||||
mSound = jai;
|
||||
mSystem = system;
|
||||
}
|
||||
virtual ~TCreateObject(); // _08
|
||||
virtual bool create(JStudio::TObject** newObject, const JStudio::stb::data::TParse_TBlock_object& data); // _0C
|
||||
TCreateObject(JAIBasic* jai, const JStage::TSystem* system)
|
||||
{
|
||||
mSound = jai;
|
||||
mSystem = system;
|
||||
}
|
||||
virtual ~TCreateObject(); // _08
|
||||
virtual bool create(JStudio::TObject** newObject, const JStudio::stb::data::TParse_TBlock_object& data); // _0C
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_0C = JStudio::TCreateObject
|
||||
JAIBasic* mSound; // _04
|
||||
const JStage::TSystem* mSystem; // _08
|
||||
// _00 = VTBL
|
||||
// _00-_0C = JStudio::TCreateObject
|
||||
JAIBasic* mSound; // _04
|
||||
const JStage::TSystem* mSystem; // _08
|
||||
};
|
||||
} // namespace JStudio_JAudio
|
||||
|
||||
|
||||
@@ -6,28 +6,28 @@
|
||||
|
||||
namespace JStudio_JMessage {
|
||||
struct TCreateObject_base : JStudio::TCreateObject {
|
||||
virtual ~TCreateObject_base() = 0; // _08
|
||||
virtual bool create(JStudio::TObject** newObject, const JStudio::stb::data::TParse_TBlock_object& data); // _0C
|
||||
virtual JMessage::TControl* find(const JStudio::stb::data::TParse_TBlock_object&) = 0; // _10
|
||||
virtual ~TCreateObject_base() = 0; // _08
|
||||
virtual bool create(JStudio::TObject** newObject, const JStudio::stb::data::TParse_TBlock_object& data); // _0C
|
||||
virtual JMessage::TControl* find(const JStudio::stb::data::TParse_TBlock_object&) = 0; // _10
|
||||
};
|
||||
} // namespace JStudio_JMessage
|
||||
|
||||
namespace JStudio_JMessage {
|
||||
struct TCreateObject : public TCreateObject_base {
|
||||
TCreateObject(JMessage::TControl* control) { mControl = control; }
|
||||
TCreateObject(JMessage::TControl* control) { mControl = control; }
|
||||
|
||||
virtual ~TCreateObject(); // _08
|
||||
virtual JMessage::TControl* find(const JStudio::stb::data::TParse_TBlock_object&); // _10
|
||||
virtual ~TCreateObject(); // _08
|
||||
virtual JMessage::TControl* find(const JStudio::stb::data::TParse_TBlock_object&); // _10
|
||||
|
||||
JMessage::TControl* mControl; // _0C
|
||||
JMessage::TControl* mControl; // _0C
|
||||
};
|
||||
|
||||
struct TAdaptor_message : public JStudio::TAdaptor_message {
|
||||
virtual ~TAdaptor_message(); // _08
|
||||
virtual void adaptor_do_MESSAGE(JStudio::data::TEOperationData, const void*, u32); // _20
|
||||
virtual ~TAdaptor_message(); // _08
|
||||
virtual void adaptor_do_MESSAGE(JStudio::data::TEOperationData, const void*, u32); // _20
|
||||
|
||||
TAdaptor_message(JMessage::TControl*);
|
||||
JMessage::TControl* mControl; // _10
|
||||
TAdaptor_message(JMessage::TControl*);
|
||||
JMessage::TControl* mControl; // _10
|
||||
};
|
||||
} // namespace JStudio_JMessage
|
||||
|
||||
|
||||
@@ -22,19 +22,19 @@ struct TCreateObject : public JStudio::TCreateObject {
|
||||
};
|
||||
|
||||
struct TAdaptor_particle : public JStudio::TAdaptor_particle {
|
||||
struct TJPACallback_ : JPACallBackBase<JPABaseEmitter*> {
|
||||
inline TJPACallback_(TAdaptor_particle* adaptor)
|
||||
: mAdaptor(adaptor)
|
||||
, mObject(NULL)
|
||||
{
|
||||
}
|
||||
struct TJPACallback_ : JPACallBackBase<JPABaseEmitter*> {
|
||||
inline TJPACallback_(TAdaptor_particle* adaptor)
|
||||
: mAdaptor(adaptor)
|
||||
, mObject(NULL)
|
||||
{
|
||||
}
|
||||
|
||||
virtual ~TJPACallback_() { } // _08 (weak)
|
||||
virtual void execute(JPABaseEmitter*); // _0C
|
||||
virtual ~TJPACallback_() { } // _08 (weak)
|
||||
virtual void execute(JPABaseEmitter*); // _0C
|
||||
|
||||
TAdaptor_particle* mAdaptor; // _04
|
||||
const JStudio::TObject* mObject; // _08
|
||||
};
|
||||
TAdaptor_particle* mAdaptor; // _04
|
||||
const JStudio::TObject* mObject; // _08
|
||||
};
|
||||
|
||||
struct TVVOOn_BEGIN_FADE_IN_ : public JStudio::TVariableValue::TOutput {
|
||||
void operator()(float, JStudio::TAdaptor*) const;
|
||||
@@ -60,17 +60,17 @@ struct TAdaptor_particle : public JStudio::TAdaptor_particle {
|
||||
virtual void adaptor_do_PARENT_NODE(JStudio::data::TEOperationData, void const*, u32);
|
||||
virtual void adaptor_do_PARENT_ENABLE(JStudio::data::TEOperationData, void const*, u32);
|
||||
|
||||
/* 0x19C */ JPAEmitterManager* mEmitterManager;
|
||||
/* 0x1A0 */ JPABaseEmitter* mEmitter;
|
||||
/* 0x1A4 */ TJPACallback_ mCallback;
|
||||
/* 0x1B0 */ int _188;
|
||||
/* 0x1B4 */ u32 _18C;
|
||||
/* 0x1B8 */ u32 _190;
|
||||
/* 0x1BC */ u32 _194;
|
||||
/* 0x1C0 */ const JStage::TSystem* mSystem;
|
||||
/* 0x1C4 */ JStage::TObject* _19C;
|
||||
/* 0x1C8 */ u32 _1A0;
|
||||
/* 0x1CC */ bool _1A4;
|
||||
/* 0x19C */ JPAEmitterManager* mEmitterManager;
|
||||
/* 0x1A0 */ JPABaseEmitter* mEmitter;
|
||||
/* 0x1A4 */ TJPACallback_ mCallback;
|
||||
/* 0x1B0 */ int _188;
|
||||
/* 0x1B4 */ u32 _18C;
|
||||
/* 0x1B8 */ u32 _190;
|
||||
/* 0x1BC */ u32 _194;
|
||||
/* 0x1C0 */ const JStage::TSystem* mSystem;
|
||||
/* 0x1C4 */ JStage::TObject* _19C;
|
||||
/* 0x1C8 */ u32 _1A0;
|
||||
/* 0x1CC */ bool _1A4;
|
||||
}; // Size: 0x1D0
|
||||
|
||||
}; // namespace JStudio_JParticle
|
||||
|
||||
@@ -11,24 +11,24 @@ namespace binary {
|
||||
|
||||
/* 802BFA48-802BFAAC .text parseVariableUInt_16_32_following__Q27JGadget6binaryFPCvPUlPUlPQ37JGadget6binary5TEBit */
|
||||
const void* parseVariableUInt_16_32_following(const void* buffer, u32* param_1, u32* param_2, TEBit* bit) {
|
||||
JGadget::binary::TEBit temp;
|
||||
if (bit == NULL) {
|
||||
bit = &temp;
|
||||
}
|
||||
u32 uVar1 = *(u16*)buffer;
|
||||
if ((uVar1 & 0x8000) == 0) {
|
||||
bit->value = 0x10;
|
||||
*param_1 = uVar1;
|
||||
*param_2 = *(u16*)((u8*)buffer + 2);
|
||||
return (u8*)buffer + 4;
|
||||
}
|
||||
bit->value = 0x20;
|
||||
uVar1 <<= 16;
|
||||
uVar1 &= 0x7fff0000;
|
||||
uVar1 |= *(u16*)((u8*)buffer + 2);
|
||||
*param_1 = uVar1;
|
||||
*param_2 = *(u32*)((u8*)buffer + 4);
|
||||
return (u8*)buffer + 8;
|
||||
JGadget::binary::TEBit temp;
|
||||
if (bit == NULL) {
|
||||
bit = &temp;
|
||||
}
|
||||
u32 uVar1 = *(u16*)buffer;
|
||||
if ((uVar1 & 0x8000) == 0) {
|
||||
bit->value = 0x10;
|
||||
*param_1 = uVar1;
|
||||
*param_2 = *(u16*)((u8*)buffer + 2);
|
||||
return (u8*)buffer + 4;
|
||||
}
|
||||
bit->value = 0x20;
|
||||
uVar1 <<= 16;
|
||||
uVar1 &= 0x7fff0000;
|
||||
uVar1 |= *(u16*)((u8*)buffer + 2);
|
||||
*param_1 = uVar1;
|
||||
*param_2 = *(u32*)((u8*)buffer + 4);
|
||||
return (u8*)buffer + 8;
|
||||
}
|
||||
|
||||
/* 802BFAAC-802BFAF4 .text __dt__Q37JGadget6binary19TParse_header_blockFv */
|
||||
@@ -36,33 +36,33 @@ TParse_header_block::~TParse_header_block() {}
|
||||
|
||||
/* 802BFAF4-802BFC00 .text parse_next__Q37JGadget6binary19TParse_header_blockFPPCvUl */
|
||||
bool TParse_header_block::parse_next(const void** ptrLocation, u32 idx) {
|
||||
u32 headerEnd, blockEnd;
|
||||
u32 headerEnd, blockEnd;
|
||||
|
||||
if ((ptrLocation == NULL) || (*ptrLocation == NULL)) {
|
||||
return false;
|
||||
}
|
||||
bool check, checkLastBlock;
|
||||
checkLastBlock = check = false;
|
||||
if ((ptrLocation == NULL) || (*ptrLocation == NULL)) {
|
||||
return false;
|
||||
}
|
||||
bool check, checkLastBlock;
|
||||
checkLastBlock = check = false;
|
||||
|
||||
check = checkNext(ptrLocation, &headerEnd, idx);
|
||||
check = checkNext(ptrLocation, &headerEnd, idx);
|
||||
|
||||
checkLastBlock = check;
|
||||
if (!(idx & 1) && (check == false)) {
|
||||
return check;
|
||||
}
|
||||
checkLastBlock = check;
|
||||
if (!(idx & 1) && (check == false)) {
|
||||
return check;
|
||||
}
|
||||
|
||||
while (headerEnd > 0) {
|
||||
check = false;
|
||||
if (parseBlock_next(ptrLocation, &blockEnd, idx) && checkLastBlock) {
|
||||
check = true;
|
||||
}
|
||||
checkLastBlock = check;
|
||||
if (((idx & 2) == 0) && (check == false)) {
|
||||
return check;
|
||||
}
|
||||
headerEnd--;
|
||||
}
|
||||
return checkLastBlock;
|
||||
while (headerEnd > 0) {
|
||||
check = false;
|
||||
if (parseBlock_next(ptrLocation, &blockEnd, idx) && checkLastBlock) {
|
||||
check = true;
|
||||
}
|
||||
checkLastBlock = check;
|
||||
if (((idx & 2) == 0) && (check == false)) {
|
||||
return check;
|
||||
}
|
||||
headerEnd--;
|
||||
}
|
||||
return checkLastBlock;
|
||||
}
|
||||
|
||||
} // namespace binary
|
||||
|
||||
@@ -15,11 +15,11 @@ u32 vector::extend_default(u32, u32 param_2, u32) {
|
||||
|
||||
/* 802BFF1C-802BFF48 .text __ct__Q27JGadget20TVector_pointer_voidFRCQ27JGadget14TAllocator<Pv> */
|
||||
TVector_pointer_void::TVector_pointer_void(const TAllocator<void*>& allocator) {
|
||||
_00 = allocator._00;
|
||||
mBegin = NULL;
|
||||
mEnd = mBegin;
|
||||
_0C = NULL;
|
||||
mExtend = vector::extend_default;
|
||||
_00 = allocator._00;
|
||||
mBegin = NULL;
|
||||
mEnd = mBegin;
|
||||
_0C = NULL;
|
||||
mExtend = vector::extend_default;
|
||||
}
|
||||
|
||||
/* 802BFF48-802BFFF0 .text __dt__Q27JGadget20TVector_pointer_voidFv */
|
||||
|
||||
@@ -39,47 +39,47 @@ void JMessage::TControl::getMessageData(u16, u16) const {
|
||||
void JMessage::TControl::reset() {
|
||||
reset_();
|
||||
|
||||
if (mBaseProcSeq) {
|
||||
mBaseProcSeq->reset_(NULL);
|
||||
}
|
||||
if (mBaseProcSeq) {
|
||||
mBaseProcSeq->reset_(NULL);
|
||||
}
|
||||
|
||||
if (mBaseProcRender) {
|
||||
mBaseProcRender->reset_(NULL);
|
||||
}
|
||||
if (mBaseProcRender) {
|
||||
mBaseProcRender->reset_(NULL);
|
||||
}
|
||||
}
|
||||
|
||||
/* 8029EB1C-8029EC00 .text update__Q28JMessage8TControlFv */
|
||||
bool JMessage::TControl::update() {
|
||||
/* Nonmatching */
|
||||
if (!isReady_update_()) {
|
||||
return false;
|
||||
}
|
||||
if (!isReady_update_()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (mCurrentText == NULL) {
|
||||
mCurrentText = mMessageBegin;
|
||||
mBaseProcSeq->setBegin(mResourceCache, mMessageBegin);
|
||||
}
|
||||
|
||||
mCurrentText = mBaseProcSeq->process(NULL);
|
||||
mCurrentText = mBaseProcSeq->process(NULL);
|
||||
|
||||
if (!mCurrentText) {
|
||||
mMessageBegin = NULL;
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
if (!mCurrentText) {
|
||||
mMessageBegin = NULL;
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 8029EC00-8029ECCC .text render__Q28JMessage8TControlFv */
|
||||
void JMessage::TControl::render() {
|
||||
/* Nonmatching */
|
||||
if (!isReady_render_()) {
|
||||
return;
|
||||
}
|
||||
if (!isReady_render_()) {
|
||||
return;
|
||||
}
|
||||
|
||||
mBaseProcRender->setBegin_messageEntryText(mResourceCache, mEntry, _20);
|
||||
mBaseProcRender->setBegin_messageEntryText(mResourceCache, mEntry, _20);
|
||||
mBaseProcRender->mCurrent = _20;
|
||||
mBaseProcRender->mStack = mRenderStack;
|
||||
mBaseProcRender->process(mCurrentText);
|
||||
mBaseProcRender->mStack = mRenderStack;
|
||||
mBaseProcRender->process(mCurrentText);
|
||||
}
|
||||
|
||||
/* 8029ECCC-8029ECD4 .text do_word__Q28JMessage8TControlFUl */
|
||||
|
||||
@@ -238,23 +238,23 @@ bool TSequenceProcessor::do_tag_(u32, const void*, u32) {
|
||||
/* 8029F9D4-8029FA2C .text do_systemTagCode___Q28JMessage18TSequenceProcessorFUsPCvUl */
|
||||
void TSequenceProcessor::do_systemTagCode_(u16 p1, const void* p2, u32 p3) {
|
||||
/* Nonmatching */
|
||||
switch (p1) {
|
||||
case 6:
|
||||
_3C = 3;
|
||||
_40 = &process_onJump_;
|
||||
_44 = *(u32*)p2;
|
||||
break;
|
||||
case 0:
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
break;
|
||||
case 4:
|
||||
case 5:
|
||||
default:
|
||||
TProcessor::do_systemTagCode_(p1, p2, p3);
|
||||
break;
|
||||
}
|
||||
switch (p1) {
|
||||
case 6:
|
||||
_3C = 3;
|
||||
_40 = &process_onJump_;
|
||||
_44 = *(u32*)p2;
|
||||
break;
|
||||
case 0:
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
break;
|
||||
case 4:
|
||||
case 5:
|
||||
default:
|
||||
TProcessor::do_systemTagCode_(p1, p2, p3);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* 8029FA2C-8029FA5C .text process_jump_limited___Q28JMessage18TSequenceProcessorFPQ28JMessage18TSequenceProcessor */
|
||||
|
||||
@@ -8,14 +8,13 @@
|
||||
|
||||
/* 80274A90-80274AF8 .text getData__Q47JStudio3fvb4data17TParse_TParagraphCFPQ57JStudio3fvb4data17TParse_TParagraph5TData */
|
||||
void JStudio::fvb::data::TParse_TParagraph::getData(JStudio::fvb::data::TParse_TParagraph::TData* data) const {
|
||||
u16* parse = (u16*)JGadget::binary::parseVariableUInt_16_32_following(getRaw(), (u32*)data, (u32*)&data->u32Type, NULL);
|
||||
u32 t = (u32)data->u32Size;
|
||||
if (!t) {
|
||||
data->pContent = NULL;
|
||||
data->next = parse;
|
||||
} else {
|
||||
data->pContent = parse;
|
||||
data->next = parse + ((t + 3) >> 1 & ~1);
|
||||
}
|
||||
u16* parse = (u16*)JGadget::binary::parseVariableUInt_16_32_following(getRaw(), (u32*)data, (u32*)&data->u32Type, NULL);
|
||||
u32 t = (u32)data->u32Size;
|
||||
if (!t) {
|
||||
data->pContent = NULL;
|
||||
data->next = parse;
|
||||
} else {
|
||||
data->pContent = parse;
|
||||
data->next = parse + ((t + 3) >> 1 & ~1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -49,32 +49,32 @@ void TParse_TParagraph::getData(TParse_TParagraph::TData* pData) const {
|
||||
void TParse_TParagraph_data::getData(TParse_TParagraph_data::TData* pData) const {
|
||||
u8* set2;
|
||||
|
||||
int dSize = pData->dataSize = 0;
|
||||
pData->_8 = 0;
|
||||
pData->fileCount = NULL;
|
||||
pData->_10 = NULL;
|
||||
u8* filedata = (u8*)getRaw();
|
||||
if (filedata == NULL)
|
||||
return;
|
||||
u8 set = *filedata;
|
||||
pData->status = set & ~0x8;
|
||||
if (!set)
|
||||
return;
|
||||
int dSize = pData->dataSize = 0;
|
||||
pData->_8 = 0;
|
||||
pData->fileCount = NULL;
|
||||
pData->_10 = NULL;
|
||||
u8* filedata = (u8*)getRaw();
|
||||
if (filedata == NULL)
|
||||
return;
|
||||
u8 set = *filedata;
|
||||
pData->status = set & ~0x8;
|
||||
if (!set)
|
||||
return;
|
||||
int is8;
|
||||
int set3 = 1;
|
||||
is8 = set & 8;
|
||||
int set3 = 1;
|
||||
is8 = set & 8;
|
||||
// Probably fake match
|
||||
if (set2 = (filedata + 1), is8) {
|
||||
set3 = *set2++;
|
||||
}
|
||||
pData->_8 = set3;
|
||||
pData->fileCount = set2;
|
||||
if (set2 = (filedata + 1), is8) {
|
||||
set3 = *set2++;
|
||||
}
|
||||
pData->_8 = set3;
|
||||
pData->fileCount = set2;
|
||||
|
||||
if (!(set & 7))
|
||||
return;
|
||||
dSize = (gauDataSize_TEParagraph_data)[set &= 7];
|
||||
pData->dataSize = dSize;
|
||||
pData->_10 = (u8*)set2 + (dSize * set3);
|
||||
if (!(set & 7))
|
||||
return;
|
||||
dSize = (gauDataSize_TEParagraph_data)[set &= 7];
|
||||
pData->dataSize = dSize;
|
||||
pData->_10 = (u8*)set2 + (dSize * set3);
|
||||
}
|
||||
|
||||
} // namespace data
|
||||
|
||||
@@ -14,25 +14,25 @@ namespace {
|
||||
// TODO: supposed to use JStudio::TObject::createFromAdaptor instead of this somehow
|
||||
inline JStudio::TObject_sound* sound_creator(const JStudio::stb::data::TParse_TBlock_object& data, JStudio_JAudio::TAdaptor_sound* adaptor)
|
||||
{
|
||||
JStudio::TObject_sound* object = new JStudio::TObject_sound(data, adaptor);
|
||||
JStudio::TObject_sound* object = new JStudio::TObject_sound(data, adaptor);
|
||||
|
||||
if (!object) {
|
||||
return NULL;
|
||||
}
|
||||
if (object->mpAdaptor) {
|
||||
object->mpAdaptor->adaptor_do_prepare(object);
|
||||
}
|
||||
return object;
|
||||
if (!object) {
|
||||
return NULL;
|
||||
}
|
||||
if (object->mpAdaptor) {
|
||||
object->mpAdaptor->adaptor_do_prepare(object);
|
||||
}
|
||||
return object;
|
||||
}
|
||||
|
||||
/* 80278B98-80278C4C .text createObject_SOUND_JAI___Q214JStudio_JAudio21@unnamed@control_cpp@FRCQ47JStudio3stb4data20TParse_TBlock_objectP8JAIBasic */
|
||||
JStudio::TObject* createObject_SOUND_JAI_(const JStudio::stb::data::TParse_TBlock_object& parseBlock, JAIBasic* sound) {
|
||||
TAdaptor_sound* adaptor = new TAdaptor_sound(sound);
|
||||
if (!adaptor) {
|
||||
return NULL;
|
||||
}
|
||||
TAdaptor_sound* adaptor = new TAdaptor_sound(sound);
|
||||
if (!adaptor) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return sound_creator(parseBlock, adaptor);
|
||||
return sound_creator(parseBlock, adaptor);
|
||||
}
|
||||
|
||||
} // namespace
|
||||
@@ -42,17 +42,17 @@ TCreateObject::~TCreateObject() {}
|
||||
|
||||
/* 80278CAC-80278D20 .text create__Q214JStudio_JAudio13TCreateObjectFPPQ27JStudio7TObjectRCQ47JStudio3stb4data20TParse_TBlock_object */
|
||||
bool TCreateObject::create(JStudio::TObject** object, const JStudio::stb::data::TParse_TBlock_object& data) {
|
||||
JStudioAudioCreateFunc createFunc;
|
||||
switch (data.get()->type) {
|
||||
case 'JSND':
|
||||
createFunc = createObject_SOUND_JAI_;
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
JStudioAudioCreateFunc createFunc;
|
||||
switch (data.get()->type) {
|
||||
case 'JSND':
|
||||
createFunc = createObject_SOUND_JAI_;
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
||||
*object = createFunc(data, mSound);
|
||||
return true;
|
||||
*object = createFunc(data, mSound);
|
||||
return true;
|
||||
}
|
||||
|
||||
} // namespace JStudio_JAudio
|
||||
} // namespace JStudio_JAudio
|
||||
|
||||
@@ -27,13 +27,13 @@ TAdaptor_sound::~TAdaptor_sound() {
|
||||
|
||||
/* 80278E38-80278F40 .text adaptor_do_prepare__Q214JStudio_JAudio14TAdaptor_soundFPCQ27JStudio7TObject */
|
||||
void TAdaptor_sound::adaptor_do_prepare(const JStudio::TObject* param_1) {
|
||||
static TSetVariableValue_immediate aoData[] = {
|
||||
TSetVariableValue_immediate(0, 0.0f),
|
||||
static TSetVariableValue_immediate aoData[] = {
|
||||
TSetVariableValue_immediate(0, 0.0f),
|
||||
TSetVariableValue_immediate(1, 0.0f),
|
||||
TSetVariableValue_immediate(2, 0.0f),
|
||||
TSetVariableValue_immediate(0xFFFFFFFF, NAN),
|
||||
};
|
||||
adaptor_setVariableValue_immediate(aoData);
|
||||
TSetVariableValue_immediate(0xFFFFFFFF, NAN),
|
||||
};
|
||||
adaptor_setVariableValue_immediate(aoData);
|
||||
pValue_[3].setOutput(&TAdaptor_sound::soVVOOn_BEGIN_FADE_IN_);
|
||||
pValue_[4].setOutput(&TAdaptor_sound::soVVOOn_END_FADE_OUT_);
|
||||
|
||||
|
||||
@@ -15,26 +15,26 @@ namespace {
|
||||
inline JStudio::TObject_message* message_creator(const JStudio::stb::data::TParse_TBlock_object& data,
|
||||
TAdaptor_message* adaptor)
|
||||
{
|
||||
JStudio::TObject_message* object = new JStudio::TObject_message(data, adaptor);
|
||||
JStudio::TObject_message* object = new JStudio::TObject_message(data, adaptor);
|
||||
|
||||
if (!object) {
|
||||
return NULL;
|
||||
}
|
||||
if (object->mpAdaptor) {
|
||||
object->mpAdaptor->adaptor_do_prepare(object);
|
||||
}
|
||||
return object;
|
||||
if (!object) {
|
||||
return NULL;
|
||||
}
|
||||
if (object->mpAdaptor) {
|
||||
object->mpAdaptor->adaptor_do_prepare(object);
|
||||
}
|
||||
return object;
|
||||
}
|
||||
|
||||
/* 8027A3F4-8027A4A8 .text createObject_MESSAGE_JMS___Q216JStudio_JMessage21@unnamed@control_cpp@FRCQ47JStudio3stb4data20TParse_TBlock_objectPQ28JMessage8TControl */
|
||||
JStudio::TObject_message* createObject_MESSAGE_JMS_(const JStudio::stb::data::TParse_TBlock_object& data, JMessage::TControl* system)
|
||||
{
|
||||
TAdaptor_message* adaptor = new TAdaptor_message(system);
|
||||
if (!adaptor) {
|
||||
return NULL;
|
||||
}
|
||||
TAdaptor_message* adaptor = new TAdaptor_message(system);
|
||||
if (!adaptor) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return message_creator(data, adaptor);
|
||||
return message_creator(data, adaptor);
|
||||
}
|
||||
|
||||
} // namespace
|
||||
@@ -44,23 +44,23 @@ TCreateObject_base::~TCreateObject_base() {}
|
||||
|
||||
/* 8027A508-8027A5AC .text create__Q216JStudio_JMessage18TCreateObject_baseFPPQ27JStudio7TObjectRCQ47JStudio3stb4data20TParse_TBlock_object */
|
||||
bool TCreateObject_base::create(JStudio::TObject** newObject, const JStudio::stb::data::TParse_TBlock_object& data) {
|
||||
JStudio::TObject_message* (*func)(const JStudio::stb::data::TParse_TBlock_object&, JMessage::TControl*);
|
||||
switch (data.get()->type) {
|
||||
case 'JMSG':
|
||||
func = &createObject_MESSAGE_JMS_;
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
JStudio::TObject_message* (*func)(const JStudio::stb::data::TParse_TBlock_object&, JMessage::TControl*);
|
||||
switch (data.get()->type) {
|
||||
case 'JMSG':
|
||||
func = &createObject_MESSAGE_JMS_;
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
||||
JMessage::TControl* system = find(data);
|
||||
JMessage::TControl* system = find(data);
|
||||
|
||||
if (!system) {
|
||||
return false;
|
||||
}
|
||||
if (!system) {
|
||||
return false;
|
||||
}
|
||||
|
||||
*newObject = func(data, system);
|
||||
return true;
|
||||
*newObject = func(data, system);
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 8027A5AC-8027A60C .text __dt__Q216JStudio_JMessage13TCreateObjectFv */
|
||||
|
||||
@@ -19,9 +19,9 @@ JStudio_JMessage::TAdaptor_message::~TAdaptor_message() {}
|
||||
/* 8027A6AC-8027A6EC .text adaptor_do_MESSAGE__Q216JStudio_JMessage16TAdaptor_messageFQ37JStudio4data15TEOperationDataPCvUl */
|
||||
void JStudio_JMessage::TAdaptor_message::adaptor_do_MESSAGE(JStudio::data::TEOperationData operation, const void* param_2, u32 param_3) {
|
||||
/* Nonmatching */
|
||||
switch (operation) {
|
||||
case JStudio::data::UNK_0x19:
|
||||
mControl->setMessageCode(*(u32*)param_2);
|
||||
break;
|
||||
}
|
||||
switch (operation) {
|
||||
case JStudio::data::UNK_0x19:
|
||||
mControl->setMessageCode(*(u32*)param_2);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,28 +13,28 @@ namespace {
|
||||
// TODO: supposed to use JStudio::TObject::createFromAdaptor instead of this somehow
|
||||
static inline JStudio::TObject_particle* create(const JStudio::stb::data::TParse_TBlock_object& data, TAdaptor_particle* adaptor)
|
||||
{
|
||||
JStudio::TObject_particle* object = new JStudio::TObject_particle(data, adaptor);
|
||||
if (object == NULL) {
|
||||
// TODO: This should probably delete the adaptor in NONMATCHING builds, if the object couldn't get created.
|
||||
return NULL;
|
||||
} else {
|
||||
if (object->mpAdaptor != NULL) {
|
||||
object->mpAdaptor->adaptor_do_prepare(object);
|
||||
}
|
||||
}
|
||||
return object;
|
||||
JStudio::TObject_particle* object = new JStudio::TObject_particle(data, adaptor);
|
||||
if (object == NULL) {
|
||||
// TODO: This should probably delete the adaptor in NONMATCHING builds, if the object couldn't get created.
|
||||
return NULL;
|
||||
} else {
|
||||
if (object->mpAdaptor != NULL) {
|
||||
object->mpAdaptor->adaptor_do_prepare(object);
|
||||
}
|
||||
}
|
||||
return object;
|
||||
}
|
||||
|
||||
/* 802796E4-802797A0 .text createObject_PARTICLE_JPA___Q217JStudio_JParticle21@unnamed@control_cpp@FRCQ47JStudio3stb4data20TParse_TBlock_objectP17JPAEmitterManagerPCQ26JStage7TSystem */
|
||||
JStudio::TObject_particle* createObject_PARTICLE_JPA_(const JStudio::stb::data::TParse_TBlock_object& data, JPAEmitterManager* manager,
|
||||
const JStage::TSystem* system)
|
||||
{
|
||||
TAdaptor_particle* adaptor = new TAdaptor_particle(manager, system);
|
||||
if (adaptor == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
JStudio::TObject_particle* object = create(data, adaptor);
|
||||
return object;
|
||||
TAdaptor_particle* adaptor = new TAdaptor_particle(manager, system);
|
||||
if (adaptor == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
JStudio::TObject_particle* object = create(data, adaptor);
|
||||
return object;
|
||||
}
|
||||
} // namespace
|
||||
|
||||
@@ -43,17 +43,17 @@ TCreateObject::~TCreateObject() {}
|
||||
|
||||
/* 80279800-80279878 .text create__Q217JStudio_JParticle13TCreateObjectFPPQ27JStudio7TObjectRCQ47JStudio3stb4data20TParse_TBlock_object */
|
||||
bool TCreateObject::create(JStudio::TObject** newObject, const JStudio::stb::data::TParse_TBlock_object& data) {
|
||||
JStudio::TObject_particle* (*func)(const JStudio::stb::data::TParse_TBlock_object&, JPAEmitterManager*, const JStage::TSystem*);
|
||||
switch (data.get()->type) {
|
||||
case 'JPTC': {
|
||||
func = &createObject_PARTICLE_JPA_;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
*newObject = func(data, pJPAEmitterManager_, pJSGSystem_);
|
||||
return true;
|
||||
JStudio::TObject_particle* (*func)(const JStudio::stb::data::TParse_TBlock_object&, JPAEmitterManager*, const JStage::TSystem*);
|
||||
switch (data.get()->type) {
|
||||
case 'JPTC': {
|
||||
func = &createObject_PARTICLE_JPA_;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
*newObject = func(data, pJPAEmitterManager_, pJSGSystem_);
|
||||
return true;
|
||||
}
|
||||
|
||||
} // namespace JStudio_JParticle
|
||||
|
||||
@@ -28,25 +28,25 @@ TAdaptor_particle::TAdaptor_particle(JPAEmitterManager* emitterManager, const JS
|
||||
|
||||
/* 802799B0-80279A50 .text __dt__Q217JStudio_JParticle17TAdaptor_particleFv */
|
||||
TAdaptor_particle::~TAdaptor_particle() {
|
||||
if (mEmitter != NULL) {
|
||||
mEmitterManager->forceDeleteEmitter(mEmitter);
|
||||
}
|
||||
if (mEmitter != NULL) {
|
||||
mEmitterManager->forceDeleteEmitter(mEmitter);
|
||||
}
|
||||
}
|
||||
|
||||
/* 80279A50-80279BD4 .text adaptor_do_prepare__Q217JStudio_JParticle17TAdaptor_particleFPCQ27JStudio7TObject */
|
||||
void TAdaptor_particle::adaptor_do_prepare(const JStudio::TObject* param_1) {
|
||||
static TSetVariableValue_immediate aoData[18] = {
|
||||
TSetVariableValue_immediate(0, 0.0f), TSetVariableValue_immediate(1, 0.0f), TSetVariableValue_immediate(2, 0.0f),
|
||||
TSetVariableValue_immediate(3, 0.0f), TSetVariableValue_immediate(4, 0.0f), TSetVariableValue_immediate(5, 0.0f),
|
||||
TSetVariableValue_immediate(6, 1.0f), TSetVariableValue_immediate(7, 1.0f), TSetVariableValue_immediate(8, 1.0f),
|
||||
TSetVariableValue_immediate(9, 255.0f), TSetVariableValue_immediate(10, 255.0f), TSetVariableValue_immediate(11, 255.0f),
|
||||
TSetVariableValue_immediate(12, 255.0f), TSetVariableValue_immediate(13, 255.0f), TSetVariableValue_immediate(14, 255.0f),
|
||||
TSetVariableValue_immediate(15, 255.0f), TSetVariableValue_immediate(16, 255.0f), TSetVariableValue_immediate(0xFFFFFFFF, NAN)
|
||||
};
|
||||
adaptor_setVariableValue_immediate(aoData);
|
||||
static TSetVariableValue_immediate aoData[18] = {
|
||||
TSetVariableValue_immediate(0, 0.0f), TSetVariableValue_immediate(1, 0.0f), TSetVariableValue_immediate(2, 0.0f),
|
||||
TSetVariableValue_immediate(3, 0.0f), TSetVariableValue_immediate(4, 0.0f), TSetVariableValue_immediate(5, 0.0f),
|
||||
TSetVariableValue_immediate(6, 1.0f), TSetVariableValue_immediate(7, 1.0f), TSetVariableValue_immediate(8, 1.0f),
|
||||
TSetVariableValue_immediate(9, 255.0f), TSetVariableValue_immediate(10, 255.0f), TSetVariableValue_immediate(11, 255.0f),
|
||||
TSetVariableValue_immediate(12, 255.0f), TSetVariableValue_immediate(13, 255.0f), TSetVariableValue_immediate(14, 255.0f),
|
||||
TSetVariableValue_immediate(15, 255.0f), TSetVariableValue_immediate(16, 255.0f), TSetVariableValue_immediate(0xFFFFFFFF, NAN)
|
||||
};
|
||||
adaptor_setVariableValue_immediate(aoData);
|
||||
pValue_[18].setOutput(&TAdaptor_particle::soVVOOn_BEGIN_FADE_IN_);
|
||||
pValue_[19].setOutput(&TAdaptor_particle::soVVOOn_END_FADE_OUT_);
|
||||
mCallback.mObject = param_1;
|
||||
mCallback.mObject = param_1;
|
||||
}
|
||||
|
||||
TAdaptor_particle::TVVOOn_BEGIN_FADE_IN_ TAdaptor_particle::soVVOOn_BEGIN_FADE_IN_;
|
||||
@@ -57,40 +57,40 @@ void TAdaptor_particle::adaptor_do_end(const JStudio::TObject*) {}
|
||||
|
||||
/* 80279BD8-80279C2C .text adaptor_do_update__Q217JStudio_JParticle17TAdaptor_particleFPCQ27JStudio7TObjectUl */
|
||||
void TAdaptor_particle::adaptor_do_update(const JStudio::TObject* param_1, u32 param_2) {
|
||||
if (_190 == 0) {
|
||||
return;
|
||||
}
|
||||
if (_194 >= _190) {
|
||||
return;
|
||||
}
|
||||
_194 += param_2;
|
||||
if (_194 < _190) {
|
||||
return;
|
||||
}
|
||||
switch (_18C) {
|
||||
case 2:
|
||||
if (_190 == 0) {
|
||||
return;
|
||||
}
|
||||
if (_194 >= _190) {
|
||||
return;
|
||||
}
|
||||
_194 += param_2;
|
||||
if (_194 < _190) {
|
||||
return;
|
||||
}
|
||||
switch (_18C) {
|
||||
case 2:
|
||||
break;
|
||||
default:
|
||||
_18C = 0;
|
||||
_18C = 0;
|
||||
break;
|
||||
}
|
||||
_190 = 0;
|
||||
_194 = 0;
|
||||
}
|
||||
_190 = 0;
|
||||
_194 = 0;
|
||||
}
|
||||
|
||||
/* 80279C2C-80279C40 .text adaptor_do_PARTICLE__Q217JStudio_JParticle17TAdaptor_particleFQ37JStudio4data15TEOperationDataPCvUl */
|
||||
void TAdaptor_particle::adaptor_do_PARTICLE(JStudio::data::TEOperationData operation, const void* r5, u32) {
|
||||
switch (operation) {
|
||||
case JStudio::data::UNK_0x19:
|
||||
switch (operation) {
|
||||
case JStudio::data::UNK_0x19:
|
||||
_188 = *(int*)r5;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* 80279C40-80279CA4 .text adaptor_do_PARENT__Q217JStudio_JParticle17TAdaptor_particleFQ37JStudio4data15TEOperationDataPCvUl */
|
||||
void TAdaptor_particle::adaptor_do_PARENT(JStudio::data::TEOperationData operation, const void* param_2, u32) {
|
||||
switch (operation) {
|
||||
case JStudio::data::UNK_0x18:
|
||||
switch (operation) {
|
||||
case JStudio::data::UNK_0x18:
|
||||
if (mSystem != NULL) {
|
||||
_19C = (JStage::TObject*)mSystem->JSGFindObject((const char*)param_2, JStage::TOBJ_ACTOR_UNK);
|
||||
if (_19C == 0) {
|
||||
@@ -98,34 +98,34 @@ void TAdaptor_particle::adaptor_do_PARENT(JStudio::data::TEOperationData operati
|
||||
*(f32*)NULL = *(f32*)NULL;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* 80279CA4-80279D24 .text adaptor_do_PARENT_NODE__Q217JStudio_JParticle17TAdaptor_particleFQ37JStudio4data15TEOperationDataPCvUl */
|
||||
void TAdaptor_particle::adaptor_do_PARENT_NODE(JStudio::data::TEOperationData operation, const void* param_2, u32) {
|
||||
switch (operation) {
|
||||
case JStudio::data::UNK_0x18:
|
||||
if (_19C != NULL) {
|
||||
_1A0 = _19C->JSGFindNodeID((const char*)param_2);
|
||||
if (_1A0 == 0xFFFFFFFF) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case JStudio::data::UNK_0x19:
|
||||
_1A0 = *(u32*)param_2;
|
||||
break;
|
||||
}
|
||||
switch (operation) {
|
||||
case JStudio::data::UNK_0x18:
|
||||
if (_19C != NULL) {
|
||||
_1A0 = _19C->JSGFindNodeID((const char*)param_2);
|
||||
if (_1A0 == 0xFFFFFFFF) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case JStudio::data::UNK_0x19:
|
||||
_1A0 = *(u32*)param_2;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* 80279D24-80279D40 .text adaptor_do_PARENT_ENABLE__Q217JStudio_JParticle17TAdaptor_particleFQ37JStudio4data15TEOperationDataPCvUl */
|
||||
void TAdaptor_particle::adaptor_do_PARENT_ENABLE(JStudio::data::TEOperationData operation, const void* param_2, u32 param_3) {
|
||||
switch (operation) {
|
||||
case JStudio::data::UNK_0x2:
|
||||
_1A4 = *(u32*)param_2;
|
||||
break;
|
||||
}
|
||||
switch (operation) {
|
||||
case JStudio::data::UNK_0x2:
|
||||
_1A4 = *(u32*)param_2;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* 80279D40-80279E2C .text __cl__Q317JStudio_JParticle17TAdaptor_particle21TVVOOn_BEGIN_FADE_IN_CFfPQ27JStudio8TAdaptor */
|
||||
@@ -140,24 +140,24 @@ void TAdaptor_particle::TVVOOn_END_FADE_OUT_::operator()(float, JStudio::TAdapto
|
||||
|
||||
/* 80279F08-8027A2B8 .text execute__Q317JStudio_JParticle17TAdaptor_particle13TJPACallback_FP14JPABaseEmitter */
|
||||
void TAdaptor_particle::TJPACallback_::execute(JPABaseEmitter* emitter) {
|
||||
if (emitter->isEnableDeleteEmitter()) {
|
||||
mAdaptor->_18C = 0;
|
||||
mAdaptor->_190 = 0;
|
||||
mAdaptor->_194 = 0;
|
||||
mAdaptor->mEmitterManager->forceDeleteEmitter(emitter);
|
||||
mAdaptor->mEmitter = NULL;
|
||||
return;
|
||||
}
|
||||
if (emitter->isEnableDeleteEmitter()) {
|
||||
mAdaptor->_18C = 0;
|
||||
mAdaptor->_190 = 0;
|
||||
mAdaptor->_194 = 0;
|
||||
mAdaptor->mEmitterManager->forceDeleteEmitter(emitter);
|
||||
mAdaptor->mEmitter = NULL;
|
||||
return;
|
||||
}
|
||||
|
||||
f64 alpha = 1.0;
|
||||
f64 alpha = 1.0;
|
||||
f64 val1 = mAdaptor->_190; // u32 stored as f64
|
||||
switch (mAdaptor->_18C) {
|
||||
case 1:
|
||||
switch (mAdaptor->_18C) {
|
||||
case 1:
|
||||
if (mAdaptor->_190 != 0) {
|
||||
f64 val2 = mAdaptor->_194; // u32 stored as f64
|
||||
alpha = val2 / val1;
|
||||
}
|
||||
break;
|
||||
break;
|
||||
case 2:
|
||||
if (mAdaptor->_190 == 0) {
|
||||
alpha = 0.0;
|
||||
@@ -170,44 +170,44 @@ void TAdaptor_particle::TJPACallback_::execute(JPABaseEmitter* emitter) {
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
const JStudio::TControl* ctrl = static_cast<const JStudio::TControl*>(mObject->getControl()); // r28
|
||||
const JStudio::TControl* ctrl = static_cast<const JStudio::TControl*>(mObject->getControl()); // r28
|
||||
|
||||
emitter->stopDrawParticle();
|
||||
|
||||
Vec srts[2]; // 0x64
|
||||
Vec srts[2]; // 0x64
|
||||
Vec sp0C;
|
||||
mAdaptor->adaptor_getVariableValue_Vec(&srts[0], sauVariableValue_3_TRANSLATION_XYZ);
|
||||
mAdaptor->adaptor_getVariableValue_Vec(&srts[1], sauVariableValue_3_ROTATION_XYZ);
|
||||
mAdaptor->adaptor_getVariableValue_Vec(&sp0C, sauVariableValue_3_SCALING_XYZ);
|
||||
mAdaptor->adaptor_getVariableValue_Vec(&srts[0], sauVariableValue_3_TRANSLATION_XYZ);
|
||||
mAdaptor->adaptor_getVariableValue_Vec(&srts[1], sauVariableValue_3_ROTATION_XYZ);
|
||||
mAdaptor->adaptor_getVariableValue_Vec(&sp0C, sauVariableValue_3_SCALING_XYZ);
|
||||
|
||||
Vec* pos; // r29
|
||||
Vec* pos; // r29
|
||||
|
||||
if (!mAdaptor->_1A4) {
|
||||
if (!ctrl->transformOnSet_isEnabled()) {
|
||||
pos = srts;
|
||||
} else {
|
||||
Vec outVec[2];
|
||||
MTXMultVec(ctrl->transformOnSet_getMatrix(), &srts[0], &outVec[0]);
|
||||
outVec[1].x = srts[1].x;
|
||||
outVec[1].y = ctrl->transformOnSet_getRotationY() + srts[1].y;
|
||||
outVec[1].z = srts[1].z;
|
||||
pos = outVec;
|
||||
}
|
||||
emitter->setGlobalTranslation(pos[0]);
|
||||
if (!mAdaptor->_1A4) {
|
||||
if (!ctrl->transformOnSet_isEnabled()) {
|
||||
pos = srts;
|
||||
} else {
|
||||
Vec outVec[2];
|
||||
MTXMultVec(ctrl->transformOnSet_getMatrix(), &srts[0], &outVec[0]);
|
||||
outVec[1].x = srts[1].x;
|
||||
outVec[1].y = ctrl->transformOnSet_getRotationY() + srts[1].y;
|
||||
outVec[1].z = srts[1].z;
|
||||
pos = outVec;
|
||||
}
|
||||
emitter->setGlobalTranslation(pos[0]);
|
||||
|
||||
int angleX = 65536.0 * (pos[1].x / 360.0);
|
||||
int angleY = 65536.0 * (pos[1].y / 360.0);
|
||||
int angleZ = 65536.0 * (pos[1].z / 360.0);
|
||||
emitter->setGlobalRotation(JGeometry::TVec3<s16>(angleX, angleY, angleZ));
|
||||
emitter->setGlobalScale(sp0C);
|
||||
} else {
|
||||
emitter->setGlobalScale(sp0C);
|
||||
} else {
|
||||
if (mAdaptor->_19C == NULL) {
|
||||
return;
|
||||
}
|
||||
Mtx spA8;
|
||||
Mtx sp78;
|
||||
Mtx sp78;
|
||||
Mtx sp48;
|
||||
if (mAdaptor->_19C->JSGGetNodeTransformation(mAdaptor->_1A0, spA8) == 0) {
|
||||
return;
|
||||
@@ -215,22 +215,22 @@ void TAdaptor_particle::TJPACallback_::execute(JPABaseEmitter* emitter) {
|
||||
JStudio::math::getTransformation_SRxyzT(sp78, sp0C, srts[1], srts[0]);
|
||||
MTXConcat(spA8, sp78, sp48);
|
||||
emitter->setGlobalSRTMatrix(sp48);
|
||||
}
|
||||
}
|
||||
|
||||
GXColor color;
|
||||
mAdaptor->adaptor_getVariableValue_GXColor(&color, sauVariableValue_4_COLOR_RGBA);
|
||||
emitter->setGlobalPrmColor(color.r, color.g, color.b);
|
||||
GXColor color;
|
||||
mAdaptor->adaptor_getVariableValue_GXColor(&color, sauVariableValue_4_COLOR_RGBA);
|
||||
emitter->setGlobalPrmColor(color.r, color.g, color.b);
|
||||
|
||||
alpha *= (f64)color.a;
|
||||
u8 emitAlpha = 255;
|
||||
if (alpha < 255.0) {
|
||||
emitAlpha = (u8)alpha;
|
||||
}
|
||||
alpha *= (f64)color.a;
|
||||
u8 emitAlpha = 255;
|
||||
if (alpha < 255.0) {
|
||||
emitAlpha = (u8)alpha;
|
||||
}
|
||||
|
||||
emitter->setGlobalAlpha(emitAlpha);
|
||||
emitter->setGlobalAlpha(emitAlpha);
|
||||
|
||||
mAdaptor->adaptor_getVariableValue_GXColor(&color, sauVariableValue_4_COLOR1_RGBA);
|
||||
emitter->setGlobalEnvColor(color.r, color.g, color.b);
|
||||
mAdaptor->adaptor_getVariableValue_GXColor(&color, sauVariableValue_4_COLOR1_RGBA);
|
||||
emitter->setGlobalEnvColor(color.r, color.g, color.b);
|
||||
emitter->playDrawParticle();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user