Copy more JStudio progress from TP

This commit is contained in:
LagoLunatic
2024-03-04 13:58:02 -05:00
parent 63153453c9
commit 78671ad9ea
12 changed files with 1390 additions and 510 deletions
+3 -3
View File
@@ -600,13 +600,13 @@ config.libs = [
"JStudio",
[
Object(Matching, "JSystem/JStudio/JStudio/jstudio-control.cpp"),
Object(NonMatching, "JSystem/JStudio/JStudio/jstudio-data.cpp"),
Object(Matching, "JSystem/JStudio/JStudio/jstudio-data.cpp"),
Object(Matching, "JSystem/JStudio/JStudio/jstudio-math.cpp"),
Object(NonMatching, "JSystem/JStudio/JStudio/jstudio-object.cpp"),
Object(NonMatching, "JSystem/JStudio/JStudio/functionvalue.cpp"),
Object(NonMatching, "JSystem/JStudio/JStudio/fvb.cpp"),
Object(NonMatching, "JSystem/JStudio/JStudio/fvb-data.cpp"),
Object(NonMatching, "JSystem/JStudio/JStudio/fvb-data-parse.cpp"),
Object(Matching, "JSystem/JStudio/JStudio/fvb-data.cpp"),
Object(Matching, "JSystem/JStudio/JStudio/fvb-data-parse.cpp"),
Object(NonMatching, "JSystem/JStudio/JStudio/object-id.cpp"),
Object(NonMatching, "JSystem/JStudio/JStudio/stb.cpp"),
Object(Matching, "JSystem/JStudio/JStudio/stb-data.cpp"),
+1 -1
View File
@@ -40,7 +40,7 @@ struct TParseData_aligned : public TParseData {
// Base for header and/or block parsing
struct TParse_header_block {
virtual ~TParse_header_block();
virtual ~TParse_header_block() = 0;
virtual bool parseHeader_next(const void** ppData_inout, u32* puBlock_out, u32 arg2) = 0;
virtual bool parseBlock_next(const void** ppData_inout, u32* puData_out, u32 arg2) = 0;
+18 -4
View File
@@ -185,10 +185,21 @@ struct TLinkList_factory : public TLinkList<T, I> {
virtual void Do_destroy(T*) = 0;
};
template <typename T, int I>
template <typename T>
struct TEnumerator {
TLinkList<T, I> field_0x0;
TLinkList<T, I> field_0x4;
inline TEnumerator(T _current, T _end)
: current(_current), end(_end) {}
bool isEnd() const { return current != end; }
operator bool() const { return isEnd(); }
T operator*() {
T rv = current;
++current;
return rv;
}
T current;
T end;
};
// TEnumerator2 should be the same but there are two issues:
@@ -221,7 +232,10 @@ struct TContainerEnumerator : public TEnumerator2<TLinkList<T, I>::iterator, T>
};
template <typename T, int I>
struct TContainerEnumerator_const : public TEnumerator<T, I> {};
struct TContainerEnumerator_const : public TEnumerator2<TLinkList<T, I>::const_iterator, const T> {
inline TContainerEnumerator_const(const TLinkList<T, I>* param_0)
: TEnumerator2<TLinkList<T, I>::const_iterator, const T>(param_0->begin(), param_0->end()) {}
};
}; // namespace JGadget
+10 -10
View File
@@ -225,9 +225,9 @@ public:
TData data;
};
class TFunctionValue_transition : TFunctionValue,
TFunctionValueAttribute_range,
TFunctionValueAttribute_interpolate {
class TFunctionValue_transition : public TFunctionValue,
public TFunctionValueAttribute_range,
public TFunctionValueAttribute_interpolate {
public:
TFunctionValue_transition();
virtual ~TFunctionValue_transition() {}
@@ -250,9 +250,9 @@ private:
/* 0x50 */ f64 _50;
};
class TFunctionValue_list : TFunctionValue,
TFunctionValueAttribute_range,
TFunctionValueAttribute_interpolate {
class TFunctionValue_list : public TFunctionValue,
public TFunctionValueAttribute_range,
public TFunctionValueAttribute_interpolate {
public:
struct TIndexData_ {
f64 _0;
@@ -301,9 +301,9 @@ private:
/* 0x58 */ update_INTERPOLATE pfnUpdate_;
};
class TFunctionValue_list_parameter : TFunctionValue,
TFunctionValueAttribute_range,
TFunctionValueAttribute_interpolate {
class TFunctionValue_list_parameter : public TFunctionValue,
public TFunctionValueAttribute_range,
public TFunctionValueAttribute_interpolate {
public:
struct TIterator_data_ {
TIterator_data_(const f32* value) : value_(value) {}
@@ -356,7 +356,7 @@ private:
/* 0x58 */ update_INTERPOLATE pfnUpdate_;
};
class TFunctionValue_hermite : TFunctionValue, TFunctionValueAttribute_range {
class TFunctionValue_hermite : public TFunctionValue, public TFunctionValueAttribute_range {
public:
struct TIterator_data_ {
TIterator_data_(const TFunctionValue_hermite& rParent, const f32* value) {
@@ -137,17 +137,17 @@ struct TAdaptor {
u32 field_0x0;
f32 field_0x4;
};
typedef void (*setVarFunc)(JStudio::TAdaptor*, JStudio::TControl*, u32, void const*, u32);
typedef void (*setVarFunc)(JStudio::TAdaptor*, JStudio::TObject*, u32, void const*, u32);
virtual ~TAdaptor() = 0;
virtual void adaptor_do_prepare();
virtual void adaptor_do_begin();
virtual void adaptor_do_end();
virtual void adaptor_do_update(u32);
virtual void adaptor_do_data(void const*, u32, void const*, u32);
virtual void adaptor_do_prepare(const JStudio::TObject*);
virtual void adaptor_do_begin(const JStudio::TObject*);
virtual void adaptor_do_end(const JStudio::TObject*);
virtual void adaptor_do_update(const JStudio::TObject*, u32);
virtual void adaptor_do_data(const JStudio::TObject*, void const*, u32, void const*, u32);
void adaptor_setVariableValue(JStudio::TControl*, u32,
void adaptor_setVariableValue(JStudio::TObject*, u32,
JStudio::data::TEOperationData, void const*, u32);
void adaptor_setVariableValue_n(JStudio::TControl*, u32 const*, u32,
void adaptor_setVariableValue_n(JStudio::TObject*, u32 const*, u32,
JStudio::data::TEOperationData, void const*,
u32);
void
@@ -156,21 +156,18 @@ struct TAdaptor {
void adaptor_getVariableValue_Vec(Vec*, u32 const*) const;
void adaptor_setVariableValue_GXColor(u32 const*, GXColor const&);
void adaptor_getVariableValue_GXColor(GXColor*, u32 const*) const;
void adaptor_updateVariableValue(JStudio::TControl*, u32);
static void adaptor_setVariableValue_VOID_(JStudio::TAdaptor*, JStudio::TControl*, u32,
void adaptor_updateVariableValue(JStudio::TObject*, u32);
static void adaptor_setVariableValue_VOID_(JStudio::TAdaptor*, JStudio::TObject*, u32,
void const*, u32);
static void adaptor_setVariableValue_IMMEDIATE_(JStudio::TAdaptor*, JStudio::TControl*,
static void adaptor_setVariableValue_IMMEDIATE_(JStudio::TAdaptor*, JStudio::TObject*,
u32, void const*, u32);
static void adaptor_setVariableValue_TIME_(JStudio::TAdaptor*, JStudio::TControl*, u32,
static void adaptor_setVariableValue_TIME_(JStudio::TAdaptor*, JStudio::TObject*, u32,
void const*, u32);
static void adaptor_setVariableValue_FVR_NAME_(JStudio::TAdaptor*, JStudio::TControl*,
static void adaptor_setVariableValue_FVR_NAME_(JStudio::TAdaptor*, JStudio::TObject*,
u32, void const*, u32);
static void adaptor_setVariableValue_FVR_INDEX_(JStudio::TAdaptor*, JStudio::TControl*,
static void adaptor_setVariableValue_FVR_INDEX_(JStudio::TAdaptor*, JStudio::TObject*,
u32, void const*, u32);
void adaptor_setObject_(const TObject* pObject) {
pObject_ = pObject;
}
TVariableValue* adaptor_referVariableValue(u32 param_0) {
return &pValue_[param_0];
@@ -184,9 +181,8 @@ struct TAdaptor {
return &pValue_[param_0];
}
/* 0x4 */ const TObject* pObject_;
/* 0x8 */ TVariableValue* pValue_;
/* 0xC */ u32 u;
/* 0x4 */ TVariableValue* pValue_;
/* 0x8 */ u32 u;
};
struct TAdaptor_actor : public TAdaptor {
File diff suppressed because it is too large Load Diff
+11 -3
View File
@@ -3,11 +3,19 @@
// Translation Unit: fvb-data-parse.cpp
//
#include "fvb-data-parse.h"
#include "JSystem/JStudio/JStudio/fvb-data-parse.h"
#include "dolphin/types.h"
/* 80274A90-80274AF8 .text getData__Q47JStudio3fvb4data17TParse_TParagraphCFPQ57JStudio3fvb4data17TParse_TParagraph5TData */
void JStudio::fvb::data::TParse_TParagraph::getData(JStudio::fvb::data::TParse_TParagraph::TData*) const {
/* Nonmatching */
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);
}
}
+2 -1
View File
@@ -3,6 +3,7 @@
// Translation Unit: fvb-data.cpp
//
#include "fvb-data.h"
#include "JSystem/JStudio/JStudio/fvb-data.h"
#include "dolphin/types.h"
const char JStudio::fvb::data::ga4cSignature[4] = "FVB";
+373 -86
View File
@@ -3,194 +3,481 @@
// Translation Unit: fvb.cpp
//
#include "fvb.h"
#include "JSystem/JStudio/JStudio/fvb.h"
#include "JSystem/JStudio/JStudio/fvb-data.h"
#include "JSystem/JUtility/JUTException.h"
#include "dolphin/types.h"
#include "string.h"
namespace JStudio {
namespace fvb {
/* 80273964-802739AC .text __dt__Q37JStudio3fvb7TObjectFv */
JStudio::fvb::TObject::~TObject() {
/* Nonmatching */
}
TObject::~TObject() {}
/* 802739AC-80273BD0 .text prepare__Q37JStudio3fvb7TObjectFRCQ47JStudio3fvb4data13TParse_TBlockPQ37JStudio3fvb8TControl */
void JStudio::fvb::TObject::prepare(const JStudio::fvb::data::TParse_TBlock&, JStudio::fvb::TControl*) {
void TObject::prepare(const data::TParse_TBlock& rBlock, TControl* pControl) {
/* Nonmatching */
ASSERT(pfv_ != 0);
ASSERT(pControl != 0);
TFunctionValueAttributeSet set = pfv_->getAttributeSet();
const void* pNext = rBlock.getNext();
const void* pData = rBlock.getContent();
while (pData < pNext) {
data::TParse_TParagraph para(pData);
data::TParse_TParagraph::TData dat;
para.getData(&dat);
u32 u32Type = dat.u32Type;
u32 u32Size = dat.u32Size;
const void* pContent = dat.pContent;
switch (u32Type) {
case 0:
pfv_->prepare();
return;
case 1:
prepare_data_(dat, pControl);
break;
case 0x10: {
JUT_EXPECT(u32Size >= 4);
ASSERT(pContent != 0);
TFunctionValueAttribute_refer* pfvaRefer = set.refer_get();
JUT_EXPECT(pfvaRefer != NULL);
if (pfvaRefer == NULL) {
JUTWarn w;
w << "invalid paragraph";
} else {
JGadget::TVector_pointer<TFunctionValue*>& rCnt = pfvaRefer->refer_referContainer();
data::TParse_TParagraph::TData** pBegin =
(data::TParse_TParagraph::TData**)rCnt.pBegin_;
// todo: these definitely use a different struct
for (data::TParse_TParagraph::TData* i = *pBegin; i != NULL; i = *pBegin) {
TObject* pObject = pControl->getObject(pContent, i->u32Size);
if (pObject == NULL) {
JUTWarn w;
w << "object not found by ID";
} else {
TFunctionValue* const& rfv = pObject->referFunctionValue();
rCnt.push_back(rfv);
}
*pBegin += align_roundUp(i->u32Size, 4);
}
}
} break;
case 0x11: {
JUT_EXPECT(u32Size >= 4);
ASSERT(pContent != 0);
TFunctionValueAttribute_refer* pfvaRefer = set.refer_get();
JUT_EXPECT(pfvaRefer != NULL);
if (pfvaRefer == NULL) {
JUTWarn w;
w << "invalid paragraph";
} else {
JGadget::TVector_pointer<TFunctionValue*>& rCnt = pfvaRefer->refer_referContainer();
data::TParse_TParagraph::TData** pBegin =
(data::TParse_TParagraph::TData**)rCnt.pBegin_;
for (data::TParse_TParagraph::TData* i = *pBegin; i != NULL; i = *pBegin) {
TObject* pObject = pControl->getObject_index(u32Size);
if (pObject == NULL) {
JUTWarn w;
w << "object not found by index : " << u32Size;
} else {
TFunctionValue* const& rfv = pObject->referFunctionValue();
rCnt.push_back(rfv);
}
*pBegin += align_roundUp(i->u32Size, 4);
}
}
} break;
case 0x12: {
JUT_EXPECT(u32Size == 8);
ASSERT(pContent != 0);
TFunctionValueAttribute_range* pfvaRange = set.range_get();
JUT_EXPECT(pfvaRange != NULL);
if (pfvaRange == NULL) {
JUTWarn w;
w << "invalid paragraph";
} else {
f64* arr = (f64*)pContent;
pfvaRange->range_set(arr[0], arr[1]);
}
} break;
case 0x13: {
JUT_EXPECT(u32Size == 4);
ASSERT(pContent != 0);
TFunctionValueAttribute_range* pfvaRange = set.range_get();
JUT_EXPECT(pfvaRange != NULL);
if (pfvaRange == NULL) {
JUTWarn w;
w << "invalid paragraph";
} else {
TFunctionValue::TEProgress prog = *(TFunctionValue::TEProgress*)pContent;
pfvaRange->range_setProgress(prog);
}
} break;
case 0x14: {
JUT_EXPECT(u32Size == 4);
ASSERT(pContent != 0);
TFunctionValueAttribute_range* pfvaRange = set.range_get();
JUT_EXPECT(pfvaRange != NULL);
if (pfvaRange == NULL) {
JUTWarn w;
w << "invalid paragraph";
} else {
TFunctionValue::TEAdjust adjust = *(TFunctionValue::TEAdjust*)pContent;
pfvaRange->range_setAdjust(adjust);
}
} break;
case 0x15: {
JUT_EXPECT(u32Size == 4);
ASSERT(pContent != 0);
TFunctionValueAttribute_range* pfvaRange = set.range_get();
JUT_EXPECT(pfvaRange != NULL);
if (pfvaRange == NULL) {
JUTWarn w;
w << "invalid paragraph";
} else {
TFunctionValue::TEOutside* out = (TFunctionValue::TEOutside*)pContent;
pfvaRange->range_setOutside(out[0], out[1]);
}
} break;
case 0x16: {
JUT_EXPECT(u32Size == 4);
ASSERT(pContent != 0);
TFunctionValueAttribute_interpolate* pfvaInterpolate = set.interpolate_get();
JUT_EXPECT(pfvaInterpolate != NULL);
if (pfvaInterpolate == NULL) {
JUTWarn w;
w << "invalid paragraph";
} else {
TFunctionValue::TEInterpolate interp = *(TFunctionValue::TEInterpolate*)pContent;
pfvaInterpolate->interpolate_set(interp);
}
} break;
default:
JUTWarn w;
w << "unknown paragraph : " << u32Type;
}
ASSERT(pData != 0);
}
JUT_EXPECT(pData == pNext);
pfv_->prepare();
}
namespace {
/* 80273BD0-80273BDC .text getCompositeData_raw___Q37JStudio3fvb17@unnamed@fvb_cpp@FPCv */
TFunctionValue_composite::TData getCompositeData_raw_(const void* arg1) {
return TFunctionValue_composite::TData(*(const void**)arg1);
}
/* 80273BDC-80273BE8 .text getCompositeData_index___Q37JStudio3fvb17@unnamed@fvb_cpp@FPCv */
TFunctionValue_composite::TData getCompositeData_index_(const void* arg1) {
return TFunctionValue_composite::TData(*(u32*)arg1);
}
/* 80273BE8-80273BF4 .text getCompositeData_parameter___Q37JStudio3fvb17@unnamed@fvb_cpp@FPCv */
TFunctionValue_composite::TData getCompositeData_parameter_(const void* arg1) {
return TFunctionValue_composite::TData(*(f32*)arg1);
}
/* 80273BF4-80273C00 .text getCompositeData_add___Q37JStudio3fvb17@unnamed@fvb_cpp@FPCv */
TFunctionValue_composite::TData getCompositeData_add_(const void* arg1) {
return TFunctionValue_composite::TData(*(f32*)arg1);
}
/* 80273C00-80273C0C .text getCompositeData_subtract___Q37JStudio3fvb17@unnamed@fvb_cpp@FPCv */
TFunctionValue_composite::TData getCompositeData_subtract_(const void* arg1) {
return TFunctionValue_composite::TData(*(f32*)arg1);
}
/* 80273C0C-80273C18 .text getCompositeData_multiply___Q37JStudio3fvb17@unnamed@fvb_cpp@FPCv */
TFunctionValue_composite::TData getCompositeData_multiply_(const void* arg1) {
return TFunctionValue_composite::TData(*(f32*)arg1);
}
/* 80273C18-80273C24 .text getCompositeData_divide___Q37JStudio3fvb17@unnamed@fvb_cpp@FPCv */
TFunctionValue_composite::TData getCompositeData_divide_(const void* arg1) {
/* Nonmatching */
return TFunctionValue_composite::TData(*(f32*)arg1);
}
// TODO
static data::CompositeOperation saCompositeOperation_[8];
/* 80273C24-80273C38 .text getCompositeOperation___Q37JStudio3fvb17@unnamed@fvb_cpp@FQ47JStudio3fvb4data11TEComposite */
data::CompositeOperation* getCompositeOperation_(data::TEComposite r3) {
return &saCompositeOperation_[r3*2];
}
} // namespace
/* 80273C38-80273CB8 .text __ct__Q37JStudio3fvb17TObject_compositeFRCQ47JStudio3fvb4data13TParse_TBlock */
JStudio::fvb::TObject_composite::TObject_composite(const JStudio::fvb::data::TParse_TBlock&) {
TObject_composite::TObject_composite(const data::TParse_TBlock& block) : TObject(block, &fnValue) {
/* Nonmatching */
}
/* 80273CB8-80273D1C .text prepare_data___Q37JStudio3fvb17TObject_compositeFRCQ57JStudio3fvb4data17TParse_TParagraph5TDataPQ37JStudio3fvb8TControl */
void prepare_data___Q37JStudio3fvb17TObject_compositeFRCQ57JStudio3fvb4data17TParse_TParagraph5TDataPQ37JStudio3fvb8TControl {
void TObject_composite::prepare_data_(const data::TParse_TParagraph::TData& rData, TControl* control) {
/* Nonmatching */
ASSERT(rData.u32Type == data::PARAGRAPH_DATA);
u32 u32Size = rData.u32Size;
JUT_EXPECT(u32Size == 8);
const TFunctionValue_composite* pContent = static_cast<const TFunctionValue_composite*>(rData.pContent);
ASSERT(pContent != NULL);
data::CompositeOperation* ops = getCompositeOperation_(*(data::TEComposite*)pContent);
data::CompositeOperation pfn = ops[1];
ASSERT(pfn != NULL);
pfn(pContent->data);
fnValue.data_set((TFunctionValue_composite::CompositeFunc)*ops, pContent->data);
}
/* 80273D1C-80273D9C .text __ct__Q37JStudio3fvb16TObject_constantFRCQ47JStudio3fvb4data13TParse_TBlock */
JStudio::fvb::TObject_constant::TObject_constant(const JStudio::fvb::data::TParse_TBlock&) {
TObject_constant::TObject_constant(const data::TParse_TBlock& block) : TObject(block, &fnValue) {
/* Nonmatching */
}
/* 80273D9C-80273DAC .text prepare_data___Q37JStudio3fvb16TObject_constantFRCQ57JStudio3fvb4data17TParse_TParagraph5TDataPQ37JStudio3fvb8TControl */
void prepare_data___Q37JStudio3fvb16TObject_constantFRCQ57JStudio3fvb4data17TParse_TParagraph5TDataPQ37JStudio3fvb8TControl {
/* Nonmatching */
void TObject_constant::prepare_data_(const data::TParse_TParagraph::TData& rData, TControl* control) {
ASSERT(rData.u32Type == data::PARAGRAPH_DATA);
u32 u32Size = rData.u32Size;
JUT_EXPECT(u32Size == 4);
const f32* pContent = static_cast<const f32*>(rData.pContent);
ASSERT(pContent != NULL);
fnValue.data_set(pContent[0]);
}
/* 80273DAC-80273E2C .text __ct__Q37JStudio3fvb18TObject_transitionFRCQ47JStudio3fvb4data13TParse_TBlock */
JStudio::fvb::TObject_transition::TObject_transition(const JStudio::fvb::data::TParse_TBlock&) {
TObject_transition::TObject_transition(const data::TParse_TBlock& block) : TObject(block, &fnValue) {
/* Nonmatching */
}
/* 80273E2C-80273E44 .text prepare_data___Q37JStudio3fvb18TObject_transitionFRCQ57JStudio3fvb4data17TParse_TParagraph5TDataPQ37JStudio3fvb8TControl */
void prepare_data___Q37JStudio3fvb18TObject_transitionFRCQ57JStudio3fvb4data17TParse_TParagraph5TDataPQ37JStudio3fvb8TControl {
/* Nonmatching */
void TObject_transition::prepare_data_(const data::TParse_TParagraph::TData& rData, TControl* control) {
ASSERT(rData.u32Type == data::PARAGRAPH_DATA);
u32 u32Size = rData.u32Size;
JUT_EXPECT(u32size == 8);
const f32* pContent = static_cast<const f32*>(rData.pContent);
ASSERT(pContent != NULL);
fnValue.data_set(pContent[0], pContent[1]);
}
/* 80273E44-80273EC4 .text __ct__Q37JStudio3fvb12TObject_listFRCQ47JStudio3fvb4data13TParse_TBlock */
JStudio::fvb::TObject_list::TObject_list(const JStudio::fvb::data::TParse_TBlock&) {
TObject_list::TObject_list(const data::TParse_TBlock& block) : TObject(block, &fnValue) {
/* Nonmatching */
}
/* 80273EC4-80273EE4 .text prepare_data___Q37JStudio3fvb12TObject_listFRCQ57JStudio3fvb4data17TParse_TParagraph5TDataPQ37JStudio3fvb8TControl */
void prepare_data___Q37JStudio3fvb12TObject_listFRCQ57JStudio3fvb4data17TParse_TParagraph5TDataPQ37JStudio3fvb8TControl {
/* Nonmatching */
void TObject_list::prepare_data_(const data::TParse_TParagraph::TData& rData, TControl* control) {
ASSERT(rData.u32Type == data::PARAGRAPH_DATA);
u32 u32Size = rData.u32Size;
JUT_EXPECT(u32size >= 8);
const ListData* pContent = static_cast<const ListData*>(rData.pContent);
ASSERT(pContent != NULL);
fnValue.data_setInterval(pContent->_0);
fnValue.data_set(pContent->_8, pContent->_4);
}
/* 80273EE4-80273F64 .text __ct__Q37JStudio3fvb22TObject_list_parameterFRCQ47JStudio3fvb4data13TParse_TBlock */
JStudio::fvb::TObject_list_parameter::TObject_list_parameter(const JStudio::fvb::data::TParse_TBlock&) {
TObject_list_parameter::TObject_list_parameter(const data::TParse_TBlock& block) : TObject(block, &fnValue) {
/* Nonmatching */
}
/* 80273F64-80273F94 .text prepare_data___Q37JStudio3fvb22TObject_list_parameterFRCQ57JStudio3fvb4data17TParse_TParagraph5TDataPQ37JStudio3fvb8TControl */
void prepare_data___Q37JStudio3fvb22TObject_list_parameterFRCQ57JStudio3fvb4data17TParse_TParagraph5TDataPQ37JStudio3fvb8TControl {
/* Nonmatching */
void TObject_list_parameter::prepare_data_(const data::TParse_TParagraph::TData& rData, TControl* control) {
ASSERT(rData.u32Type == data::PARAGRAPH_DATA);
u32 u32Size = rData.u32Size;
JUT_EXPECT(u32size >= 8);
const ListData* pContent = static_cast<const ListData*>(rData.pContent);
ASSERT(pContent != NULL);
fnValue.data_set(pContent->_4, pContent->_0);
}
/* 80273F94-80274014 .text __ct__Q37JStudio3fvb15TObject_hermiteFRCQ47JStudio3fvb4data13TParse_TBlock */
JStudio::fvb::TObject_hermite::TObject_hermite(const JStudio::fvb::data::TParse_TBlock&) {
TObject_hermite::TObject_hermite(const data::TParse_TBlock& block) : TObject(block, &fnValue) {
/* Nonmatching */
}
/* 80274014-8027404C .text prepare_data___Q37JStudio3fvb15TObject_hermiteFRCQ57JStudio3fvb4data17TParse_TParagraph5TDataPQ37JStudio3fvb8TControl */
void prepare_data___Q37JStudio3fvb15TObject_hermiteFRCQ57JStudio3fvb4data17TParse_TParagraph5TDataPQ37JStudio3fvb8TControl {
/* Nonmatching */
void TObject_hermite::prepare_data_(const data::TParse_TParagraph::TData& rData, TControl* control) {
ASSERT(rData.u32Type == data::PARAGRAPH_DATA);
u32 u32Size = rData.u32Size;
JUT_EXPECT(u32size >= 8);
const ListData* pContent = static_cast<const ListData*>(rData.pContent);
ASSERT(pContent != NULL);
fnValue.data_set(pContent->_4, pContent->_0 & 0xFFFFFFF, pContent->_0 >> 0x1C);
}
/* 8027404C-8027407C .text __ct__Q37JStudio3fvb8TControlFv */
JStudio::fvb::TControl::TControl() {
/* Nonmatching */
}
TControl::TControl() : pFactory(NULL) {}
/* 8027407C-802740E8 .text __dt__Q37JStudio3fvb8TControlFv */
JStudio::fvb::TControl::~TControl() {
/* Nonmatching */
}
TControl::~TControl() {}
/* 802740E8-80274134 .text appendObject__Q37JStudio3fvb8TControlFPQ37JStudio3fvb7TObject */
void JStudio::fvb::TControl::appendObject(JStudio::fvb::TObject*) {
void TControl::appendObject(TObject*) {
/* Nonmatching */
}
/* 80274134-80274164 .text removeObject__Q37JStudio3fvb8TControlFPQ37JStudio3fvb7TObject */
void JStudio::fvb::TControl::removeObject(JStudio::fvb::TObject*) {
void TControl::removeObject(TObject*) {
/* Nonmatching */
}
/* 80274164-802741B4 .text destroyObject__Q37JStudio3fvb8TControlFPQ37JStudio3fvb7TObject */
void JStudio::fvb::TControl::destroyObject(JStudio::fvb::TObject*) {
void TControl::destroyObject(TObject*) {
/* Nonmatching */
}
/* 802741B4-80274218 .text destroyObject_all__Q37JStudio3fvb8TControlFv */
void JStudio::fvb::TControl::destroyObject_all() {
void TControl::destroyObject_all() {
/* Nonmatching */
}
/* 80274218-802742B8 .text getObject__Q37JStudio3fvb8TControlFPCvUl */
void JStudio::fvb::TControl::getObject(const void*, unsigned long) {
TObject* TControl::getObject(const void*, u32) {
/* Nonmatching */
}
/* 802742B8-802742FC .text getObject_index__Q37JStudio3fvb8TControlFUl */
void JStudio::fvb::TControl::getObject_index(unsigned long) {
TObject* TControl::getObject_index(u32) {
/* Nonmatching */
}
/* 802742FC-80274344 .text __dt__Q37JStudio3fvb8TFactoryFv */
JStudio::fvb::TFactory::~TFactory() {
/* Nonmatching */
}
TFactory::~TFactory() {}
/* 80274344-80274484 .text create__Q37JStudio3fvb8TFactoryFRCQ47JStudio3fvb4data13TParse_TBlock */
void JStudio::fvb::TFactory::create(const JStudio::fvb::data::TParse_TBlock&) {
/* Nonmatching */
TObject* TFactory::create(const data::TParse_TBlock& rBlock) {
switch (rBlock.get_type()) {
case 1:
return new TObject_composite(rBlock);
case 2:
return new TObject_constant(rBlock);
case 3:
return new TObject_transition(rBlock);
case 4:
return new TObject_list(rBlock);
case 5:
return new TObject_list_parameter(rBlock);
case 6:
return new TObject_hermite(rBlock);
default:
JUTWarn w;
w << "unknown type : ";
return NULL;
}
}
/* 80274484-802744C0 .text destroy__Q37JStudio3fvb8TFactoryFPQ37JStudio3fvb7TObject */
void JStudio::fvb::TFactory::destroy(JStudio::fvb::TObject*) {
/* Nonmatching */
void TFactory::destroy(TObject* pObject) {
delete pObject;
}
/* 802744C0-802744E0 .text __ct__Q37JStudio3fvb6TParseFPQ37JStudio3fvb8TControl */
JStudio::fvb::TParse::TParse(JStudio::fvb::TControl*) {
/* Nonmatching */
}
TParse::TParse(TControl* pControl) : pControl_(pControl) {}
/* 802744E0-80274540 .text __dt__Q37JStudio3fvb6TParseFv */
JStudio::fvb::TParse::~TParse() {
/* Nonmatching */
}
TParse::~TParse() {}
/* 80274540-802745D4 .text parseHeader_next__Q37JStudio3fvb6TParseFPPCvPUlUl */
void JStudio::fvb::TParse::parseHeader_next(const void**, unsigned long*, unsigned long) {
/* Nonmatching */
bool TParse::parseHeader_next(const void** ppData_inout, u32* puBlock_out, u32 flags) {
ASSERT(ppData_inout != 0);
ASSERT(puBlock_out != 0);
const void* pData = *ppData_inout;
ASSERT(pData != 0);
const data::TParse_THeader header(pData);
*ppData_inout = header.getContent();
*puBlock_out = header.get_blockNumber();
if (memcmp(header.get_signature(), &data::ga4cSignature, 4) != 0) {
JUTWarn w;
w << "unknown signature";
return false;
}
if (header.get_byteOrder() != 0xFEFF) {
JUTWarn w;
w << "illegal byte-order";
return false;
}
u16 version = header.get_version();
if (version < 2) {
JUTWarn w;
w << "obselete version : " << (long)0;
return false;
} else if (version > 0x100) {
JUTWarn w;
w << "unknown version : " << version;
return false;
}
return true;
}
/* 802745D4-802746C8 .text parseBlock_next__Q37JStudio3fvb6TParseFPPCvPUlUl */
void JStudio::fvb::TParse::parseBlock_next(const void**, unsigned long*, unsigned long) {
/* Nonmatching */
}
/* 802746C8-8027474C .text __dt__Q37JStudio3fvb15TObject_hermiteFv */
JStudio::fvb::TObject_hermite::~TObject_hermite() {
/* Nonmatching */
}
/* 8027474C-802747D0 .text __dt__Q37JStudio3fvb22TObject_list_parameterFv */
JStudio::fvb::TObject_list_parameter::~TObject_list_parameter() {
/* Nonmatching */
}
/* 802747D0-80274854 .text __dt__Q37JStudio3fvb12TObject_listFv */
JStudio::fvb::TObject_list::~TObject_list() {
/* Nonmatching */
}
/* 80274854-802748D8 .text __dt__Q37JStudio3fvb18TObject_transitionFv */
JStudio::fvb::TObject_transition::~TObject_transition() {
/* Nonmatching */
}
/* 802748D8-8027495C .text __dt__Q37JStudio3fvb16TObject_constantFv */
JStudio::fvb::TObject_constant::~TObject_constant() {
/* Nonmatching */
}
/* 8027495C-802749FC .text __dt__Q37JStudio3fvb17TObject_compositeFv */
JStudio::fvb::TObject_composite::~TObject_composite() {
/* Nonmatching */
}
/* 802749FC-80274A90 .text find_if<Q37JGadget37TLinkList<Q37JStudio3fvb7TObject,-12>8iterator,Q37JStudio6object18TPRObject_ID_equal>__3stdFQ37JGadget37TLinkList<Q37JStudio3fvb7TObject,-12>8iteratorQ37JGadget37TLinkList<Q37JStudio3fvb7TObject,-12>8iteratorQ37JStudio6object18TPRObject_ID_equal */
void find_if<Q37JGadget37TLinkList<Q37JStudio3fvb7TObject,-12>8iterator,Q37JStudio6object18TPRObject_ID_equal>__3stdFQ37JGadget37TLinkList<Q37JStudio3fvb7TObject,-12>8iteratorQ37JGadget37TLinkList<Q37JStudio3fvb7TObject,-12>8iteratorQ37JStudio6object18TPRObject_ID_equal {
/* Nonmatching */
bool TParse::parseBlock_next(const void** ppData_inout, u32* puData_out, u32 flags) {
ASSERT(ppData_inout != 0);
ASSERT(puData_out != 0);
const void* pData = *ppData_inout;
ASSERT(pData != 0);
data::TParse_TBlock blk(pData);
*ppData_inout = blk.getNext();
*puData_out = blk.get_size();
TControl* pControl = getControl();
ASSERT(pControl != 0);
if (flags & 0x10) {
if (pControl->getObject(blk.get_ID(), blk.get_IDSize()) != NULL)
return true;
}
if (flags & 0x20) {
return true;
}
TFactory* pFactory = pControl->getFactory();
if (pFactory == NULL) {
JUTWarn w;
w << "factory not specified";
return false;
}
TObject* pObject = pFactory->create(blk);
if (pObject == NULL) {
JUTWarn w;
w << "can't create function-value";
if (flags & 0x40) {
return true;
}
return false;
}
pObject->prepare(blk, pControl);
pControl->appendObject(pObject);
return true;
}
} // namespace fvb
} // namespace JStudio
+2 -1
View File
@@ -3,6 +3,7 @@
// Translation Unit: jstudio-data.cpp
//
#include "jstudio-data.h"
#include "JSystem/JStudio/JStudio/jstudio-data.h"
#include "dolphin/types.h"
const char JStudio::data::ga8cSignature[8] = "jstudio";
+189 -181
View File
@@ -3,32 +3,34 @@
// Translation Unit: jstudio-object.cpp
//
#include "jstudio-object.h"
#include "JSystem/JStudio/JStudio/jstudio-object.h"
#include "dolphin/types.h"
/* 8026E8F8-8026E940 .text __dt__Q37JStudio14TVariableValue7TOutputFv */
JStudio::TVariableValue::TOutput::~TOutput() {
/* Nonmatching */
}
JStudio::TVariableValue::TOutput::~TOutput() {}
/* 8026E940-8026E9A4 .text update__Q27JStudio14TVariableValueFdPQ27JStudio8TAdaptor */
void JStudio::TVariableValue::update(double, JStudio::TAdaptor*) {
/* Nonmatching */
void JStudio::TVariableValue::update(f64 param_0, JStudio::TAdaptor* param_1) {
if (field_0x8) {
field_0x8(this, param_0);
(*pOutput_)(mValue, param_1);
}
}
/* 8026E9A4-8026E9B8 .text update_immediate___Q27JStudio14TVariableValueFPQ27JStudio14TVariableValued */
void update_immediate___Q27JStudio14TVariableValueFPQ27JStudio14TVariableValued {
/* Nonmatching */
void JStudio::TVariableValue::update_immediate_(JStudio::TVariableValue* param_0, f64 param_1) {
param_0->mValue = param_0->field_0xc.val;
param_0->field_0x8 = NULL;
}
/* 8026E9B8-8026E9F4 .text update_time___Q27JStudio14TVariableValueFPQ27JStudio14TVariableValued */
void update_time___Q27JStudio14TVariableValueFPQ27JStudio14TVariableValued {
/* Nonmatching */
void JStudio::TVariableValue::update_time_(JStudio::TVariableValue* param_0, f64 param_1) {
param_0->mValue = param_0->field_0xc.val * (param_0->field_0x4 * param_1);
}
/* 8026E9F4-8026EA58 .text update_functionValue___Q27JStudio14TVariableValueFPQ27JStudio14TVariableValued */
void update_functionValue___Q27JStudio14TVariableValueFPQ27JStudio14TVariableValued {
/* Nonmatching */
void JStudio::TVariableValue::update_functionValue_(JStudio::TVariableValue* param_0, f64 param_1) {
param_0->mValue = param_0->field_0xc.fv->getValue(param_0->field_0x4 * param_1);
}
/* 8026EA58-8026EAB8 .text __dt__Q37JStudio14TVariableValue13TOutput_none_Fv */
@@ -37,327 +39,333 @@ JStudio::TVariableValue::TOutput_none_::~TOutput_none_() {
}
/* 8026EAB8-8026EABC .text __cl__Q37JStudio14TVariableValue13TOutput_none_CFfPQ27JStudio8TAdaptor */
void JStudio::TVariableValue::TOutput_none_::operator()(float, JStudio::TAdaptor*) const {
/* Nonmatching */
}
void JStudio::TVariableValue::TOutput_none_::operator()(f32 param_0, JStudio::TAdaptor* param_1) const {}
/* 8026EABC-8026EB04 .text __dt__Q27JStudio8TAdaptorFv */
JStudio::TAdaptor::~TAdaptor() {
/* Nonmatching */
}
JStudio::TAdaptor::~TAdaptor() {}
/* 8026EB04-8026EB08 .text adaptor_do_prepare__Q27JStudio8TAdaptorFPCQ27JStudio7TObject */
void JStudio::TAdaptor::adaptor_do_prepare(const JStudio::TObject*) {
/* Nonmatching */
}
void JStudio::TAdaptor::adaptor_do_prepare(const JStudio::TObject* param_0) {}
/* 8026EB08-8026EB0C .text adaptor_do_begin__Q27JStudio8TAdaptorFPCQ27JStudio7TObject */
void JStudio::TAdaptor::adaptor_do_begin(const JStudio::TObject*) {
/* Nonmatching */
}
void JStudio::TAdaptor::adaptor_do_begin(const JStudio::TObject* param_0) {}
/* 8026EB0C-8026EB10 .text adaptor_do_end__Q27JStudio8TAdaptorFPCQ27JStudio7TObject */
void JStudio::TAdaptor::adaptor_do_end(const JStudio::TObject*) {
/* Nonmatching */
}
void JStudio::TAdaptor::adaptor_do_end(const JStudio::TObject* param_0) {}
/* 8026EB10-8026EB14 .text adaptor_do_update__Q27JStudio8TAdaptorFPCQ27JStudio7TObjectUl */
void JStudio::TAdaptor::adaptor_do_update(const JStudio::TObject*, unsigned long) {
/* Nonmatching */
}
void JStudio::TAdaptor::adaptor_do_update(const JStudio::TObject* param_0, u32 param_1) {}
/* 8026EB14-8026EB18 .text adaptor_do_data__Q27JStudio8TAdaptorFPCQ27JStudio7TObjectPCvUlPCvUl */
void JStudio::TAdaptor::adaptor_do_data(const JStudio::TObject*, const void*, unsigned long, const void*, unsigned long) {
/* Nonmatching */
}
void JStudio::TAdaptor::adaptor_do_data(const JStudio::TObject* param_0, const void* param_1, u32 param_2, const void* param_3, u32 param_4) {}
/* 8026EB18-8026EBB8 .text adaptor_setVariableValue__Q27JStudio8TAdaptorFPQ27JStudio7TObjectUlQ37JStudio4data15TEOperationDataPCvUl */
void JStudio::TAdaptor::adaptor_setVariableValue(JStudio::TObject*, unsigned long, JStudio::data::TEOperationData, const void*, unsigned long) {
void JStudio::TAdaptor::adaptor_setVariableValue(JStudio::TObject* pObject, u32 param_2, JStudio::data::TEOperationData param_3, const void* param_4, u32 param_5) {
/* Nonmatching */
setVarFunc func;
switch (param_3) {
case JStudio::data::UNK_0x1:
func = &adaptor_setVariableValue_VOID_;
break;
case JStudio::data::UNK_0x2:
func = &adaptor_setVariableValue_IMMEDIATE_;
break;
case JStudio::data::UNK_0x3:
func = &adaptor_setVariableValue_TIME_;
break;
case JStudio::data::UNK_0x10:
func = &adaptor_setVariableValue_FVR_NAME_;
break;
case JStudio::data::UNK_0x12:
func = &adaptor_setVariableValue_FVR_INDEX_;
break;
default:
return;
}
(*func)(this, pObject, param_2, param_4, param_5);
}
/* 8026EBB8-8026ECAC .text adaptor_setVariableValue_n__Q27JStudio8TAdaptorFPQ27JStudio7TObjectPCUlUlQ37JStudio4data15TEOperationDataPCvUl */
void JStudio::TAdaptor::adaptor_setVariableValue_n(JStudio::TObject*, const unsigned long*, unsigned long, JStudio::data::TEOperationData, const void*, unsigned long) {
/* Nonmatching */
void JStudio::TAdaptor::adaptor_setVariableValue_n(JStudio::TObject* pObject, const u32* param_2, u32 param_3, JStudio::data::TEOperationData param_4, const void* param_5, u32 param_6) {
setVarFunc pcVar6;
u32 iVar7;
switch(param_4) {
case JStudio::data::UNK_0x1:
iVar7 = 0;
pcVar6 = adaptor_setVariableValue_VOID_;
break;
case JStudio::data::UNK_0x2:
iVar7 = 4;
pcVar6 = adaptor_setVariableValue_IMMEDIATE_;
break;
case JStudio::data::UNK_0x3:
iVar7 = 4;
pcVar6 = adaptor_setVariableValue_TIME_;
break;
case JStudio::data::UNK_0x12:
iVar7 = 4;
pcVar6 = adaptor_setVariableValue_FVR_INDEX_;
break;
default:
return;
}
JGadget::TEnumerator<const u32*> enumerator(param_2, param_2 + param_3);
while (enumerator) {
(*pcVar6)(this, pObject, **enumerator, param_5, iVar7);
param_5 = (const void*)((int)param_5 + iVar7);
}
}
/* 8026ECAC-8026ECF0 .text adaptor_setVariableValue_immediate__Q27JStudio8TAdaptorFPCQ37JStudio8TAdaptor27TSetVariableValue_immediate */
void JStudio::TAdaptor::adaptor_setVariableValue_immediate(const JStudio::TAdaptor::TSetVariableValue_immediate*) {
/* Nonmatching */
void JStudio::TAdaptor::adaptor_setVariableValue_immediate(const JStudio::TAdaptor::TSetVariableValue_immediate* param_0) {
u32 uVar1;
while ((uVar1 = param_0->field_0x0) != 0xffffffff) {
adaptor_setVariableValue_immediate(uVar1, param_0->field_0x4);
param_0++;
}
}
/* 8026ECF0-8026ED60 .text adaptor_setVariableValue_Vec__Q27JStudio8TAdaptorFPCUlRC3Vec */
void JStudio::TAdaptor::adaptor_setVariableValue_Vec(const unsigned long*, const Vec&) {
/* Nonmatching */
void JStudio::TAdaptor::adaptor_setVariableValue_Vec(const u32* puIndex, const Vec& param_2) {
adaptor_referVariableValue(puIndex[0])->setValue_immediate(param_2.x);
adaptor_referVariableValue(puIndex[1])->setValue_immediate(param_2.y);
adaptor_referVariableValue(puIndex[2])->setValue_immediate(param_2.z);
}
/* 8026ED60-8026EDA0 .text adaptor_getVariableValue_Vec__Q27JStudio8TAdaptorCFP3VecPCUl */
void JStudio::TAdaptor::adaptor_getVariableValue_Vec(Vec*, const unsigned long*) const {
/* Nonmatching */
void JStudio::TAdaptor::adaptor_getVariableValue_Vec(Vec* param_1, const u32* param_2) const {
param_1->x = adaptor_getVariableValue(param_2[0])->getValue();
param_1->y = adaptor_getVariableValue(param_2[1])->getValue();
param_1->z = adaptor_getVariableValue(param_2[2])->getValue();
}
/* 8026EDA0-8026EE80 .text adaptor_setVariableValue_GXColor__Q27JStudio8TAdaptorFPCUlRC8_GXColor */
void JStudio::TAdaptor::adaptor_setVariableValue_GXColor(const unsigned long*, const _GXColor&) {
/* Nonmatching */
void JStudio::TAdaptor::adaptor_setVariableValue_GXColor(const u32* puIndex, const GXColor& param_2) {
adaptor_referVariableValue(puIndex[0])->setValue_immediate(param_2.r);
adaptor_referVariableValue(puIndex[1])->setValue_immediate(param_2.g);
adaptor_referVariableValue(puIndex[2])->setValue_immediate(param_2.b);
adaptor_referVariableValue(puIndex[3])->setValue_immediate(param_2.a);
}
/* 8026EE80-8026EFCC .text adaptor_getVariableValue_GXColor__Q27JStudio8TAdaptorCFP8_GXColorPCUl */
void JStudio::TAdaptor::adaptor_getVariableValue_GXColor(_GXColor*, const unsigned long*) const {
/* Nonmatching */
void JStudio::TAdaptor::adaptor_getVariableValue_GXColor(GXColor* param_1, const u32* param_2) const {
param_1->r = adaptor_getVariableValue(param_2[0])->getValue_uint8();
param_1->g = adaptor_getVariableValue(param_2[1])->getValue_uint8();
param_1->b = adaptor_getVariableValue(param_2[2])->getValue_uint8();
param_1->a = adaptor_getVariableValue(param_2[3])->getValue_uint8();
}
/* 8026EFCC-8026F064 .text adaptor_updateVariableValue__Q27JStudio8TAdaptorFPQ27JStudio7TObjectUl */
void JStudio::TAdaptor::adaptor_updateVariableValue(JStudio::TObject*, unsigned long) {
/* Nonmatching */
void JStudio::TAdaptor::adaptor_updateVariableValue(JStudio::TObject* pObject, u32 param_2) {
TControl* pControl = pObject->getControl();
f64 dVar3 = pControl->getSecondPerFrame();
JGadget::TEnumerator<JStudio::TVariableValue*> enumerator(pValue_, pValue_ + u);
while (enumerator) {
JStudio::TVariableValue* value = *enumerator;
value->forward(param_2);
value->update(dVar3, this);
}
}
/* 8026F064-8026F07C .text adaptor_setVariableValue_VOID___Q27JStudio8TAdaptorFPQ27JStudio8TAdaptorPQ27JStudio7TObjectUlPCvUl */
void adaptor_setVariableValue_VOID___Q27JStudio8TAdaptorFPQ27JStudio8TAdaptorPQ27JStudio7TObjectUlPCvUl {
/* Nonmatching */
void JStudio::TAdaptor::adaptor_setVariableValue_VOID_(JStudio::TAdaptor* param_1, JStudio::TObject* param_2, u32 param_3, const void* param_4, u32 uSize) {
param_1->pValue_[param_3].setValue_none();
}
/* 8026F07C-8026F0A8 .text adaptor_setVariableValue_IMMEDIATE___Q27JStudio8TAdaptorFPQ27JStudio8TAdaptorPQ27JStudio7TObjectUlPCvUl */
void adaptor_setVariableValue_IMMEDIATE___Q27JStudio8TAdaptorFPQ27JStudio8TAdaptorPQ27JStudio7TObjectUlPCvUl {
/* Nonmatching */
void JStudio::TAdaptor::adaptor_setVariableValue_IMMEDIATE_(JStudio::TAdaptor* param_1, JStudio::TObject* param_2, u32 param_3, const void* param_4, u32 param_5) {
TVariableValue* value = &param_1->pValue_[param_3];
value->setValue_immediate(*(f32*)param_4);
}
/* 8026F0A8-8026F0D4 .text adaptor_setVariableValue_TIME___Q27JStudio8TAdaptorFPQ27JStudio8TAdaptorPQ27JStudio7TObjectUlPCvUl */
void adaptor_setVariableValue_TIME___Q27JStudio8TAdaptorFPQ27JStudio8TAdaptorPQ27JStudio7TObjectUlPCvUl {
/* Nonmatching */
void JStudio::TAdaptor::adaptor_setVariableValue_TIME_(JStudio::TAdaptor* param_1, JStudio::TObject* param_2, u32 param_3, const void* param_4, u32 param_5) {
TVariableValue* value = &param_1->pValue_[param_3];
value->setValue_time(*(f32*)param_4);
}
/* 8026F0D4-8026F144 .text adaptor_setVariableValue_FVR_NAME___Q27JStudio8TAdaptorFPQ27JStudio8TAdaptorPQ27JStudio7TObjectUlPCvUl */
void adaptor_setVariableValue_FVR_NAME___Q27JStudio8TAdaptorFPQ27JStudio8TAdaptorPQ27JStudio7TObjectUlPCvUl {
/* Nonmatching */
void JStudio::TAdaptor::adaptor_setVariableValue_FVR_NAME_(JStudio::TAdaptor* param_1, JStudio::TObject* param_2, u32 param_3, const void* param_4, u32 param_5) {
TVariableValue* value = &param_1->pValue_[param_3];
value->setValue_functionValue(param_2->getControl()->getFunctionValue(param_4,param_5));
}
/* 8026F144-8026F1B0 .text adaptor_setVariableValue_FVR_INDEX___Q27JStudio8TAdaptorFPQ27JStudio8TAdaptorPQ27JStudio7TObjectUlPCvUl */
void adaptor_setVariableValue_FVR_INDEX___Q27JStudio8TAdaptorFPQ27JStudio8TAdaptorPQ27JStudio7TObjectUlPCvUl {
/* Nonmatching */
void JStudio::TAdaptor::adaptor_setVariableValue_FVR_INDEX_(JStudio::TAdaptor* param_1, JStudio::TObject* param_2, u32 param_3, const void* param_4, u32 param_5) {
TVariableValue* value = &param_1->pValue_[param_3];
value->setValue_functionValue(param_2->getControl()->getFunctionValue_index(*(u32*)param_4));
}
/* 8026F1B0-8026F234 .text __dt__Q27JStudio7TObjectFv */
JStudio::TObject::~TObject() {
/* Nonmatching */
delete mpAdaptor;
}
/* 8026F234-8026F2A0 .text forward_value__Q27JStudio7TObjectFUl */
void JStudio::TObject::forward_value(unsigned long) {
/* Nonmatching */
void JStudio::TObject::forward_value(u32 param_0) {
TAdaptor* adaptor = getAdaptor();
if (adaptor != NULL) {
adaptor->adaptor_updateVariableValue(this, param_0);
adaptor->adaptor_do_update(this, param_0);
}
}
/* 8026F2A0-8026F2DC .text do_begin__Q27JStudio7TObjectFv */
void JStudio::TObject::do_begin() {
/* Nonmatching */
TAdaptor* adaptor = getAdaptor();
if (adaptor != NULL) {
adaptor->adaptor_do_begin(this);
}
}
/* 8026F2DC-8026F318 .text do_end__Q27JStudio7TObjectFv */
void JStudio::TObject::do_end() {
/* Nonmatching */
TAdaptor* adaptor = getAdaptor();
if (adaptor != NULL) {
adaptor->adaptor_do_end(this);
}
}
/* 8026F318-8026F338 .text do_wait__Q27JStudio7TObjectFUl */
void JStudio::TObject::do_wait(unsigned long) {
/* Nonmatching */
void JStudio::TObject::do_wait(u32 param_0) {
forward_value(param_0);
}
/* 8026F338-8026F394 .text do_data__Q27JStudio7TObjectFPCvUlPCvUl */
void JStudio::TObject::do_data(const void*, unsigned long, const void*, unsigned long) {
/* Nonmatching */
void JStudio::TObject::do_data(const void* param_0, u32 param_1, const void* param_2, u32 param_3) {
TAdaptor* adaptor = getAdaptor();
if (adaptor != NULL) {
adaptor->adaptor_do_data(this, param_0, param_1, param_2, param_3);
}
}
/* 8026F394-8026F3E0 .text __ct__Q27JStudio7TObjectFRCQ47JStudio3stb4data20TParse_TBlock_objectPQ27JStudio8TAdaptor */
JStudio::TObject::TObject(const JStudio::stb::data::TParse_TBlock_object&, JStudio::TAdaptor*) {
/* Nonmatching */
}
JStudio::TObject::TObject(const JStudio::stb::data::TParse_TBlock_object& param_0, JStudio::TAdaptor* param_1) : stb::TObject(param_0), mpAdaptor(param_1) {}
/* 8026F3E0-8026F440 .text __dt__Q27JStudio14TAdaptor_actorFv */
JStudio::TAdaptor_actor::~TAdaptor_actor() {
/* Nonmatching */
}
JStudio::TAdaptor_actor::~TAdaptor_actor() {}
/* 8026F440-8026F47C .text __ct__Q27JStudio13TObject_actorFRCQ47JStudio3stb4data20TParse_TBlock_objectPQ27JStudio14TAdaptor_actor */
JStudio::TObject_actor::TObject_actor(const JStudio::stb::data::TParse_TBlock_object&, JStudio::TAdaptor_actor*) {
/* Nonmatching */
}
JStudio::TObject_actor::TObject_actor(const JStudio::stb::data::TParse_TBlock_object& param_0, JStudio::TAdaptor_actor* param_1) : TObject(param_0, param_1) {}
/* 8026F47C-8026F7B0 .text do_paragraph__Q27JStudio13TObject_actorFUlPCvUl */
void JStudio::TObject_actor::do_paragraph(unsigned long, const void*, unsigned long) {
void JStudio::TObject_actor::do_paragraph(u32, const void*, u32) {
/* Nonmatching */
}
/* 8026F7B0-8026F810 .text __dt__Q27JStudio21TAdaptor_ambientLightFv */
JStudio::TAdaptor_ambientLight::~TAdaptor_ambientLight() {
/* Nonmatching */
}
JStudio::TAdaptor_ambientLight::~TAdaptor_ambientLight() {}
/* 8026F810-8026F84C .text __ct__Q27JStudio20TObject_ambientLightFRCQ47JStudio3stb4data20TParse_TBlock_objectPQ27JStudio21TAdaptor_ambientLight */
JStudio::TObject_ambientLight::TObject_ambientLight(const JStudio::stb::data::TParse_TBlock_object&, JStudio::TAdaptor_ambientLight*) {
/* Nonmatching */
}
JStudio::TObject_ambientLight::TObject_ambientLight(const JStudio::stb::data::TParse_TBlock_object& param_0, JStudio::TAdaptor_ambientLight* param_1) : TObject(param_0, param_1) {}
/* 8026F84C-8026F928 .text do_paragraph__Q27JStudio20TObject_ambientLightFUlPCvUl */
void JStudio::TObject_ambientLight::do_paragraph(unsigned long, const void*, unsigned long) {
void JStudio::TObject_ambientLight::do_paragraph(u32, const void*, u32) {
/* Nonmatching */
}
/* 8026F928-8026F988 .text __dt__Q27JStudio15TAdaptor_cameraFv */
JStudio::TAdaptor_camera::~TAdaptor_camera() {
/* Nonmatching */
}
JStudio::TAdaptor_camera::~TAdaptor_camera() {}
/* 8026F988-8026F9C4 .text __ct__Q27JStudio14TObject_cameraFRCQ47JStudio3stb4data20TParse_TBlock_objectPQ27JStudio15TAdaptor_camera */
JStudio::TObject_camera::TObject_camera(const JStudio::stb::data::TParse_TBlock_object&, JStudio::TAdaptor_camera*) {
/* Nonmatching */
}
JStudio::TObject_camera::TObject_camera(const JStudio::stb::data::TParse_TBlock_object& param_0, JStudio::TAdaptor_camera* param_1) : TObject(param_0, param_1) {}
/* 8026F9C4-8026FBFC .text do_paragraph__Q27JStudio14TObject_cameraFUlPCvUl */
void JStudio::TObject_camera::do_paragraph(unsigned long, const void*, unsigned long) {
void JStudio::TObject_camera::do_paragraph(u32, const void*, u32) {
/* Nonmatching */
}
/* 8026FBFC-8026FC5C .text __dt__Q27JStudio12TAdaptor_fogFv */
JStudio::TAdaptor_fog::~TAdaptor_fog() {
/* Nonmatching */
}
JStudio::TAdaptor_fog::~TAdaptor_fog() {}
/* 8026FC5C-8026FC98 .text __ct__Q27JStudio11TObject_fogFRCQ47JStudio3stb4data20TParse_TBlock_objectPQ27JStudio12TAdaptor_fog */
JStudio::TObject_fog::TObject_fog(const JStudio::stb::data::TParse_TBlock_object&, JStudio::TAdaptor_fog*) {
/* Nonmatching */
}
JStudio::TObject_fog::TObject_fog(const JStudio::stb::data::TParse_TBlock_object& param_0, JStudio::TAdaptor_fog* param_1) : TObject(param_0, param_1) {}
/* 8026FC98-8026FD80 .text do_paragraph__Q27JStudio11TObject_fogFUlPCvUl */
void JStudio::TObject_fog::do_paragraph(unsigned long, const void*, unsigned long) {
void JStudio::TObject_fog::do_paragraph(u32, const void*, u32) {
/* Nonmatching */
}
/* 8026FD80-8026FDE0 .text __dt__Q27JStudio14TAdaptor_lightFv */
JStudio::TAdaptor_light::~TAdaptor_light() {
/* Nonmatching */
}
JStudio::TAdaptor_light::~TAdaptor_light() {}
/* 8026FDE0-8026FE1C .text __ct__Q27JStudio13TObject_lightFRCQ47JStudio3stb4data20TParse_TBlock_objectPQ27JStudio14TAdaptor_light */
JStudio::TObject_light::TObject_light(const JStudio::stb::data::TParse_TBlock_object&, JStudio::TAdaptor_light*) {
/* Nonmatching */
}
JStudio::TObject_light::TObject_light(const JStudio::stb::data::TParse_TBlock_object& param_0, JStudio::TAdaptor_light* param_1) : TObject(param_0, param_1) {}
/* 8026FE1C-80270058 .text do_paragraph__Q27JStudio13TObject_lightFUlPCvUl */
void JStudio::TObject_light::do_paragraph(unsigned long, const void*, unsigned long) {
void JStudio::TObject_light::do_paragraph(u32, const void*, u32) {
/* Nonmatching */
}
/* 80270058-802700B8 .text __dt__Q27JStudio16TAdaptor_messageFv */
JStudio::TAdaptor_message::~TAdaptor_message() {
/* Nonmatching */
}
JStudio::TAdaptor_message::~TAdaptor_message() {}
/* 802700B8-802700F4 .text __ct__Q27JStudio15TObject_messageFRCQ47JStudio3stb4data20TParse_TBlock_objectPQ27JStudio16TAdaptor_message */
JStudio::TObject_message::TObject_message(const JStudio::stb::data::TParse_TBlock_object&, JStudio::TAdaptor_message*) {
/* Nonmatching */
}
JStudio::TObject_message::TObject_message(const JStudio::stb::data::TParse_TBlock_object& param_0, JStudio::TAdaptor_message* param_1) : TObject(param_0, param_1) {}
/* 802700F4-80270184 .text do_paragraph__Q27JStudio15TObject_messageFUlPCvUl */
void JStudio::TObject_message::do_paragraph(unsigned long, const void*, unsigned long) {
void JStudio::TObject_message::do_paragraph(u32 param_1, const void* param_2, u32 param_3) {
/* Nonmatching */
TAdaptor* adaptor = getAdaptor();
if (adaptor != NULL) {
u32 uVar1 = (param_1 >> 5);
param_1 &= 0x1f;
paragraphFunc pmfn_ = NULL;
switch (uVar1) {
case 0x42:
pmfn_ = &TObject::do_paragraph;
break;
default:
return;
}
(((TObject*)adaptor)->*pmfn_)(param_1, param_2, param_3);
}
}
/* 80270184-802701E4 .text __dt__Q27JStudio17TAdaptor_particleFv */
JStudio::TAdaptor_particle::~TAdaptor_particle() {
/* Nonmatching */
}
JStudio::TAdaptor_particle::~TAdaptor_particle() {}
/* 802701E4-80270220 .text __ct__Q27JStudio16TObject_particleFRCQ47JStudio3stb4data20TParse_TBlock_objectPQ27JStudio17TAdaptor_particle */
JStudio::TObject_particle::TObject_particle(const JStudio::stb::data::TParse_TBlock_object&, JStudio::TAdaptor_particle*) {
/* Nonmatching */
}
JStudio::TObject_particle::TObject_particle(const JStudio::stb::data::TParse_TBlock_object& param_0, JStudio::TAdaptor_particle* param_1) : TObject(param_0, param_1) {}
/* 80270220-802704E4 .text do_paragraph__Q27JStudio16TObject_particleFUlPCvUl */
void JStudio::TObject_particle::do_paragraph(unsigned long, const void*, unsigned long) {
void JStudio::TObject_particle::do_paragraph(u32, const void*, u32) {
/* Nonmatching */
}
/* 802704E4-80270544 .text __dt__Q27JStudio14TAdaptor_soundFv */
JStudio::TAdaptor_sound::~TAdaptor_sound() {
/* Nonmatching */
}
JStudio::TAdaptor_sound::~TAdaptor_sound() {}
/* 80270544-80270580 .text __ct__Q27JStudio13TObject_soundFRCQ47JStudio3stb4data20TParse_TBlock_objectPQ27JStudio14TAdaptor_sound */
JStudio::TObject_sound::TObject_sound(const JStudio::stb::data::TParse_TBlock_object&, JStudio::TAdaptor_sound*) {
/* Nonmatching */
}
JStudio::TObject_sound::TObject_sound(const JStudio::stb::data::TParse_TBlock_object& param_0, JStudio::TAdaptor_sound* param_1) : TObject(param_0, param_1) {}
/* 80270580-80270778 .text do_paragraph__Q27JStudio13TObject_soundFUlPCvUl */
void JStudio::TObject_sound::do_paragraph(unsigned long, const void*, unsigned long) {
void JStudio::TObject_sound::do_paragraph(u32, const void*, u32) {
/* Nonmatching */
}
/* 80270778-802707D8 .text __dt__Q27JStudio13TObject_soundFv */
JStudio::TObject_sound::~TObject_sound() {
/* Nonmatching */
}
JStudio::TObject_sound::~TObject_sound() {}
/* 802707D8-80270838 .text __dt__Q27JStudio16TObject_particleFv */
JStudio::TObject_particle::~TObject_particle() {
/* Nonmatching */
}
JStudio::TObject_particle::~TObject_particle() {}
/* 80270838-80270898 .text __dt__Q27JStudio15TObject_messageFv */
JStudio::TObject_message::~TObject_message() {
/* Nonmatching */
}
JStudio::TObject_message::~TObject_message() {}
/* 80270898-802708F8 .text __dt__Q27JStudio13TObject_lightFv */
JStudio::TObject_light::~TObject_light() {
/* Nonmatching */
}
JStudio::TObject_light::~TObject_light() {}
/* 802708F8-80270958 .text __dt__Q27JStudio11TObject_fogFv */
JStudio::TObject_fog::~TObject_fog() {
/* Nonmatching */
}
JStudio::TObject_fog::~TObject_fog() {}
/* 80270958-802709B8 .text __dt__Q27JStudio14TObject_cameraFv */
JStudio::TObject_camera::~TObject_camera() {
/* Nonmatching */
}
JStudio::TObject_camera::~TObject_camera() {}
/* 802709B8-80270A18 .text __dt__Q27JStudio20TObject_ambientLightFv */
JStudio::TObject_ambientLight::~TObject_ambientLight() {
/* Nonmatching */
}
JStudio::TObject_ambientLight::~TObject_ambientLight() {}
/* 80270A18-80270A78 .text __dt__Q27JStudio13TObject_actorFv */
JStudio::TObject_actor::~TObject_actor() {
/* Nonmatching */
}
/* 80270C74-80270CD4 .text __dt__Q37JStudio28@unnamed@jstudio_object_cpp@54TOutputVariableValue_BOOL_<Q27JStudio14TAdaptor_sound>Fv */
JStudio::@unnamed@jstudio_object_cpp@::TOutputVariableValue_BOOL_<JStudio::TAdaptor_sound>::~TOutputVariableValue_BOOL_() {
/* Nonmatching */
}
/* 80270CD4-80270D34 .text __dt__Q37JStudio28@unnamed@jstudio_object_cpp@57TOutputVariableValue_BOOL_<Q27JStudio17TAdaptor_particle>Fv */
JStudio::@unnamed@jstudio_object_cpp@::TOutputVariableValue_BOOL_<JStudio::TAdaptor_particle>::~TOutputVariableValue_BOOL_() {
/* Nonmatching */
}
/* 80270D34-80270D94 .text __dt__Q37JStudio28@unnamed@jstudio_object_cpp@54TOutputVariableValue_BOOL_<Q27JStudio14TAdaptor_light>Fv */
JStudio::@unnamed@jstudio_object_cpp@::TOutputVariableValue_BOOL_<JStudio::TAdaptor_light>::~TOutputVariableValue_BOOL_() {
/* Nonmatching */
}
/* 80270D94-80270DF4 .text __dt__Q37JStudio28@unnamed@jstudio_object_cpp@55TOutputVariableValue_BOOL_<Q27JStudio15TAdaptor_camera>Fv */
JStudio::@unnamed@jstudio_object_cpp@::TOutputVariableValue_BOOL_<JStudio::TAdaptor_camera>::~TOutputVariableValue_BOOL_() {
/* Nonmatching */
}
/* 80270DF4-80270E54 .text __dt__Q37JStudio28@unnamed@jstudio_object_cpp@54TOutputVariableValue_BOOL_<Q27JStudio14TAdaptor_actor>Fv */
JStudio::@unnamed@jstudio_object_cpp@::TOutputVariableValue_BOOL_<JStudio::TAdaptor_actor>::~TOutputVariableValue_BOOL_() {
/* Nonmatching */
}
JStudio::TObject_actor::~TObject_actor() {}
+45 -4
View File
@@ -3,11 +3,52 @@
// Translation Unit: object-id.cpp
//
#include "object-id.h"
#include "JSystem/JStudio/JStudio/object-id.h"
#include "dolphin/types.h"
/* 80274AF8-80274BE8 .text isEqual__Q37JStudio6object7TIDDataFRCQ37JStudio6object7TIDDataRCQ37JStudio6object7TIDData */
void JStudio::object::TIDData::isEqual(const JStudio::object::TIDData&, const JStudio::object::TIDData&) {
/* Nonmatching */
}
bool JStudio::object::TIDData::isEqual(const JStudio::object::TIDData& a, const JStudio::object::TIDData& b) {
/* Nonmatching - regalloc */
if (a.getIDSize() != b.getIDSize()) {
return false;
}
u32 bytesRemaining = a.mID_size;
const void* aStr = a.getID();
u32* aStr32 = (u32*)aStr;
const void* bStr = b.getID();
u32* bStr32 = (u32*)bStr;
if (aStr == bStr) { // mismatch here
// they point to the same id
return true;
}
for (bytesRemaining; bytesRemaining >= 4; bytesRemaining -= 4, aStr32++, bStr32++) {
if (*aStr32 != *bStr32) {
return false;
}
}
u8* aStrBytes = (u8*)aStr32;
u8* bStrBytes = (u8*)bStr32;
switch (bytesRemaining) {
case 3:
if (*aStrBytes != *bStrBytes) {
return false;
}
aStrBytes++;
bStrBytes++;
case 2:
if (*aStrBytes != *bStrBytes) {
return false;
}
aStrBytes++;
bStrBytes++;
case 1:
if (*aStrBytes != *bStrBytes) {
return false;
}
}
return true;
}