// // Generated By: dol2asm // Translation Unit: fvb // #include "JSystem/JStudio/JStudio/fvb.h" #include "JSystem/JUtility/JUTException.h" #include "dol2asm.h" #include "dolphin/types.h" #include "global.h" // // Types: // namespace JGadget { /* TLinkList */ struct TLinkList__template1 { struct iterator {}; }; /* TVector_pointer */ struct TVector_pointer__template0 {}; }; // namespace JGadget namespace std { template void find_if(/* ... */); /* 80285018 */ /* std::find_if::iterator, JStudio::object::TPRObject_ID_equal> */ void func_80285018(void* _this, JGadget::TLinkList__template1::iterator, JGadget::TLinkList__template1::iterator, JStudio::object::TPRObject_ID_equal); }; // namespace std // // Forward References: // extern "C" void __dt__Q37JStudio3fvb7TObjectFv(); extern "C" void prepare__Q37JStudio3fvb7TObjectFRCQ47JStudio3fvb4data13TParse_TBlockPQ37JStudio3fvb8TControl(); extern "C" static void func_80284234(); extern "C" void __ct__Q37JStudio3fvb17TObject_compositeFRCQ47JStudio3fvb4data13TParse_TBlock(); extern "C" void prepare_data___Q37JStudio3fvb17TObject_compositeFRCQ57JStudio3fvb4data17TParse_TParagraph5TDataPQ37JStudio3fvb8TControl(); extern "C" void __ct__Q37JStudio3fvb16TObject_constantFRCQ47JStudio3fvb4data13TParse_TBlock(); extern "C" void prepare_data___Q37JStudio3fvb16TObject_constantFRCQ57JStudio3fvb4data17TParse_TParagraph5TDataPQ37JStudio3fvb8TControl(); extern "C" void __ct__Q37JStudio3fvb18TObject_transitionFRCQ47JStudio3fvb4data13TParse_TBlock(); extern "C" void prepare_data___Q37JStudio3fvb18TObject_transitionFRCQ57JStudio3fvb4data17TParse_TParagraph5TDataPQ37JStudio3fvb8TControl(); extern "C" void __ct__Q37JStudio3fvb12TObject_listFRCQ47JStudio3fvb4data13TParse_TBlock(); extern "C" void prepare_data___Q37JStudio3fvb12TObject_listFRCQ57JStudio3fvb4data17TParse_TParagraph5TDataPQ37JStudio3fvb8TControl(); extern "C" void __ct__Q37JStudio3fvb22TObject_list_parameterFRCQ47JStudio3fvb4data13TParse_TBlock(); extern "C" void prepare_data___Q37JStudio3fvb22TObject_list_parameterFRCQ57JStudio3fvb4data17TParse_TParagraph5TDataPQ37JStudio3fvb8TControl(); extern "C" void __ct__Q37JStudio3fvb15TObject_hermiteFRCQ47JStudio3fvb4data13TParse_TBlock(); extern "C" void prepare_data___Q37JStudio3fvb15TObject_hermiteFRCQ57JStudio3fvb4data17TParse_TParagraph5TDataPQ37JStudio3fvb8TControl(); extern "C" void __ct__Q37JStudio3fvb8TControlFv(); extern "C" void __dt__Q37JStudio3fvb8TControlFv(); extern "C" void appendObject__Q37JStudio3fvb8TControlFPQ37JStudio3fvb7TObject(); extern "C" void removeObject__Q37JStudio3fvb8TControlFPQ37JStudio3fvb7TObject(); extern "C" void destroyObject__Q37JStudio3fvb8TControlFPQ37JStudio3fvb7TObject(); extern "C" void destroyObject_all__Q37JStudio3fvb8TControlFv(); extern "C" void getObject__Q37JStudio3fvb8TControlFPCvUl(); extern "C" void getObject_index__Q37JStudio3fvb8TControlFUl(); extern "C" void __dt__Q37JStudio3fvb8TFactoryFv(); extern "C" void create__Q37JStudio3fvb8TFactoryFRCQ47JStudio3fvb4data13TParse_TBlock(); extern "C" void destroy__Q37JStudio3fvb8TFactoryFPQ37JStudio3fvb7TObject(); extern "C" void __ct__Q37JStudio3fvb6TParseFPQ37JStudio3fvb8TControl(); extern "C" void __dt__Q37JStudio3fvb6TParseFv(); extern "C" void parseHeader_next__Q37JStudio3fvb6TParseFPPCvPUlUl(); extern "C" void parseBlock_next__Q37JStudio3fvb6TParseFPPCvPUlUl(); extern "C" void __dt__Q37JStudio3fvb15TObject_hermiteFv(); extern "C" void __dt__Q37JStudio3fvb22TObject_list_parameterFv(); extern "C" void __dt__Q37JStudio3fvb12TObject_listFv(); extern "C" void __dt__Q37JStudio3fvb18TObject_transitionFv(); extern "C" void __dt__Q37JStudio3fvb16TObject_constantFv(); extern "C" void __dt__Q37JStudio3fvb17TObject_compositeFv(); extern "C" void func_80285018(void* _this, JGadget::TLinkList__template1::iterator, JGadget::TLinkList__template1::iterator, JStudio::object::TPRObject_ID_equal); // // External References: // extern "C" void __dt__Q27JStudio14TFunctionValueFv(); extern "C" void range_set__Q27JStudio29TFunctionValueAttribute_rangeFdd(); extern "C" void __ct__Q27JStudio24TFunctionValue_compositeFv(); extern "C" void func_80281E5C(); extern "C" void func_80281EC8(); extern "C" void func_8028202C(); extern "C" void func_80282094(); extern "C" void func_80282118(); extern "C" void func_80282200(); extern "C" void func_80282284(); extern "C" void __ct__Q27JStudio23TFunctionValue_constantFv(); extern "C" void __ct__Q27JStudio25TFunctionValue_transitionFv(); extern "C" void __ct__Q27JStudio19TFunctionValue_listFv(); extern "C" void __ct__Q27JStudio29TFunctionValue_list_parameterFv(); extern "C" void data_set__Q27JStudio29TFunctionValue_list_parameterFPCfUl(); extern "C" void __ct__Q27JStudio22TFunctionValue_hermiteFv(); extern "C" void data_set__Q27JStudio22TFunctionValue_hermiteFPCfUlUl(); extern "C" void getData__Q47JStudio3fvb4data17TParse_TParagraphCFPQ57JStudio3fvb4data17TParse_TParagraph5TData(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void __dt__Q37JGadget6binary19TParse_header_blockFv(); extern "C" void __dt__Q27JGadget13TNodeLinkListFv(); extern "C" void Insert__Q27JGadget13TNodeLinkListFQ37JGadget13TNodeLinkList8iteratorPQ27JGadget13TLinkListNode(); extern "C" void Erase__Q27JGadget13TNodeLinkListFPQ27JGadget13TLinkListNode(); extern "C" void __dt__Q27JGadget20TVector_pointer_voidFv(); extern "C" void insert__Q27JGadget20TVector_pointer_voidFPPvRCPv(); extern "C" void _savegpr_23(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); extern "C" void _restgpr_23(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); extern "C" int memcmp(const void*, const void*, u32); extern "C" extern void* __vt__Q37JGadget6binary19TParse_header_block[5]; extern "C" extern void* __vt__Q27JStudio22TFunctionValue_hermite[8]; extern "C" extern void* __vt__Q27JStudio29TFunctionValue_list_parameter[8]; extern "C" extern void* __vt__Q27JStudio19TFunctionValue_list[8]; extern "C" extern void* __vt__Q27JStudio25TFunctionValue_transition[8]; extern "C" extern void* __vt__Q27JStudio23TFunctionValue_constant[8]; extern "C" extern void* __vt__Q27JStudio24TFunctionValue_composite[8]; extern "C" f32 ga4cSignature__Q37JStudio3fvb4data[1 + 1 /* padding */]; // // Declarations: // /* ############################################################################################## */ /* 803C49C0-803C4A1C -00001 005C+00 1/1 0/0 0/0 .data @838 */ SECTION_DATA static void* lit_838[23] = { (void*)(((char*) prepare__Q37JStudio3fvb7TObjectFRCQ47JStudio3fvb4data13TParse_TBlockPQ37JStudio3fvb8TControl) + 0x1F8), (void*)(((char*) prepare__Q37JStudio3fvb7TObjectFRCQ47JStudio3fvb4data13TParse_TBlockPQ37JStudio3fvb8TControl) + 0xA0), (void*)(((char*) prepare__Q37JStudio3fvb7TObjectFRCQ47JStudio3fvb4data13TParse_TBlockPQ37JStudio3fvb8TControl) + 0x1EC), (void*)(((char*) prepare__Q37JStudio3fvb7TObjectFRCQ47JStudio3fvb4data13TParse_TBlockPQ37JStudio3fvb8TControl) + 0x1EC), (void*)(((char*) prepare__Q37JStudio3fvb7TObjectFRCQ47JStudio3fvb4data13TParse_TBlockPQ37JStudio3fvb8TControl) + 0x1EC), (void*)(((char*) prepare__Q37JStudio3fvb7TObjectFRCQ47JStudio3fvb4data13TParse_TBlockPQ37JStudio3fvb8TControl) + 0x1EC), (void*)(((char*) prepare__Q37JStudio3fvb7TObjectFRCQ47JStudio3fvb4data13TParse_TBlockPQ37JStudio3fvb8TControl) + 0x1EC), (void*)(((char*) prepare__Q37JStudio3fvb7TObjectFRCQ47JStudio3fvb4data13TParse_TBlockPQ37JStudio3fvb8TControl) + 0x1EC), (void*)(((char*) prepare__Q37JStudio3fvb7TObjectFRCQ47JStudio3fvb4data13TParse_TBlockPQ37JStudio3fvb8TControl) + 0x1EC), (void*)(((char*) prepare__Q37JStudio3fvb7TObjectFRCQ47JStudio3fvb4data13TParse_TBlockPQ37JStudio3fvb8TControl) + 0x1EC), (void*)(((char*) prepare__Q37JStudio3fvb7TObjectFRCQ47JStudio3fvb4data13TParse_TBlockPQ37JStudio3fvb8TControl) + 0x1EC), (void*)(((char*) prepare__Q37JStudio3fvb7TObjectFRCQ47JStudio3fvb4data13TParse_TBlockPQ37JStudio3fvb8TControl) + 0x1EC), (void*)(((char*) prepare__Q37JStudio3fvb7TObjectFRCQ47JStudio3fvb4data13TParse_TBlockPQ37JStudio3fvb8TControl) + 0x1EC), (void*)(((char*) prepare__Q37JStudio3fvb7TObjectFRCQ47JStudio3fvb4data13TParse_TBlockPQ37JStudio3fvb8TControl) + 0x1EC), (void*)(((char*) prepare__Q37JStudio3fvb7TObjectFRCQ47JStudio3fvb4data13TParse_TBlockPQ37JStudio3fvb8TControl) + 0x1EC), (void*)(((char*) prepare__Q37JStudio3fvb7TObjectFRCQ47JStudio3fvb4data13TParse_TBlockPQ37JStudio3fvb8TControl) + 0x1EC), (void*)(((char*) prepare__Q37JStudio3fvb7TObjectFRCQ47JStudio3fvb4data13TParse_TBlockPQ37JStudio3fvb8TControl) + 0xC0), (void*)(((char*) prepare__Q37JStudio3fvb7TObjectFRCQ47JStudio3fvb4data13TParse_TBlockPQ37JStudio3fvb8TControl) + 0x128), (void*)(((char*) prepare__Q37JStudio3fvb7TObjectFRCQ47JStudio3fvb4data13TParse_TBlockPQ37JStudio3fvb8TControl) + 0x17C), (void*)(((char*) prepare__Q37JStudio3fvb7TObjectFRCQ47JStudio3fvb4data13TParse_TBlockPQ37JStudio3fvb8TControl) + 0x198), (void*)(((char*) prepare__Q37JStudio3fvb7TObjectFRCQ47JStudio3fvb4data13TParse_TBlockPQ37JStudio3fvb8TControl) + 0x1AC), (void*)(((char*) prepare__Q37JStudio3fvb7TObjectFRCQ47JStudio3fvb4data13TParse_TBlockPQ37JStudio3fvb8TControl) + 0x1C0), (void*)(((char*) prepare__Q37JStudio3fvb7TObjectFRCQ47JStudio3fvb4data13TParse_TBlockPQ37JStudio3fvb8TControl) + 0x1DC), }; /* 803C4A1C-803C4A30 021B3C 0014+00 2/2 0/0 0/0 .data __vt__Q37JStudio3fvb6TParse */ SECTION_DATA extern void* __vt__Q37JStudio3fvb6TParse[5] = { (void*)NULL /* RTTI */, (void*)NULL, (void*)__dt__Q37JStudio3fvb6TParseFv, (void*)parseHeader_next__Q37JStudio3fvb6TParseFPPCvPUlUl, (void*)parseBlock_next__Q37JStudio3fvb6TParseFPPCvPUlUl, }; /* 803C4A30-803C4A44 021B50 0014+00 1/1 1/1 0/0 .data __vt__Q37JStudio3fvb8TFactory */ SECTION_DATA extern void* __vt__Q37JStudio3fvb8TFactory[5] = { (void*)NULL /* RTTI */, (void*)NULL, (void*)__dt__Q37JStudio3fvb8TFactoryFv, (void*)create__Q37JStudio3fvb8TFactoryFRCQ47JStudio3fvb4data13TParse_TBlock, (void*)destroy__Q37JStudio3fvb8TFactoryFPQ37JStudio3fvb7TObject, }; /* 803C4A44-803C4A50 021B64 000C+00 2/2 0/0 0/0 .data __vt__Q37JStudio3fvb8TControl */ SECTION_DATA extern void* __vt__Q37JStudio3fvb8TControl[3] = { (void*)NULL /* RTTI */, (void*)NULL, (void*)__dt__Q37JStudio3fvb8TControlFv, }; /* 803C4A50-803C4A60 021B70 0010+00 2/2 0/0 0/0 .data __vt__Q37JStudio3fvb15TObject_hermite */ SECTION_DATA extern void* __vt__Q37JStudio3fvb15TObject_hermite[4] = { (void*)NULL /* RTTI */, (void*)NULL, (void*)__dt__Q37JStudio3fvb15TObject_hermiteFv, (void*) prepare_data___Q37JStudio3fvb15TObject_hermiteFRCQ57JStudio3fvb4data17TParse_TParagraph5TDataPQ37JStudio3fvb8TControl, }; /* 803C4A60-803C4A70 021B80 0010+00 2/2 0/0 0/0 .data __vt__Q37JStudio3fvb22TObject_list_parameter */ SECTION_DATA extern void* __vt__Q37JStudio3fvb22TObject_list_parameter[4] = { (void*)NULL /* RTTI */, (void*)NULL, (void*)__dt__Q37JStudio3fvb22TObject_list_parameterFv, (void*) prepare_data___Q37JStudio3fvb22TObject_list_parameterFRCQ57JStudio3fvb4data17TParse_TParagraph5TDataPQ37JStudio3fvb8TControl, }; /* 803C4A70-803C4A80 021B90 0010+00 2/2 0/0 0/0 .data __vt__Q37JStudio3fvb12TObject_list */ SECTION_DATA extern void* __vt__Q37JStudio3fvb12TObject_list[4] = { (void*)NULL /* RTTI */, (void*)NULL, (void*)__dt__Q37JStudio3fvb12TObject_listFv, (void*) prepare_data___Q37JStudio3fvb12TObject_listFRCQ57JStudio3fvb4data17TParse_TParagraph5TDataPQ37JStudio3fvb8TControl, }; /* 803C4A80-803C4A90 021BA0 0010+00 2/2 0/0 0/0 .data __vt__Q37JStudio3fvb18TObject_transition */ SECTION_DATA extern void* __vt__Q37JStudio3fvb18TObject_transition[4] = { (void*)NULL /* RTTI */, (void*)NULL, (void*)__dt__Q37JStudio3fvb18TObject_transitionFv, (void*) prepare_data___Q37JStudio3fvb18TObject_transitionFRCQ57JStudio3fvb4data17TParse_TParagraph5TDataPQ37JStudio3fvb8TControl, }; /* 803C4A90-803C4AA0 021BB0 0010+00 2/2 0/0 0/0 .data __vt__Q37JStudio3fvb16TObject_constant */ SECTION_DATA extern void* __vt__Q37JStudio3fvb16TObject_constant[4] = { (void*)NULL /* RTTI */, (void*)NULL, (void*)__dt__Q37JStudio3fvb16TObject_constantFv, (void*) prepare_data___Q37JStudio3fvb16TObject_constantFRCQ57JStudio3fvb4data17TParse_TParagraph5TDataPQ37JStudio3fvb8TControl, }; /* 803C4AA0-803C4AB0 021BC0 0010+00 2/2 0/0 0/0 .data __vt__Q37JStudio3fvb17TObject_composite */ SECTION_DATA extern void* __vt__Q37JStudio3fvb17TObject_composite[4] = { (void*)NULL /* RTTI */, (void*)NULL, (void*)__dt__Q37JStudio3fvb17TObject_compositeFv, (void*) prepare_data___Q37JStudio3fvb17TObject_compositeFRCQ57JStudio3fvb4data17TParse_TParagraph5TDataPQ37JStudio3fvb8TControl, }; /* 803C4AB0-803C4AC0 021BD0 0010+00 7/7 0/0 0/0 .data __vt__Q37JStudio3fvb7TObject */ SECTION_DATA extern void* __vt__Q37JStudio3fvb7TObject[4] = { (void*)NULL /* RTTI */, (void*)NULL, (void*)NULL, (void*)NULL, }; namespace JStudio { namespace fvb { TObject::~TObject() {} #ifdef NONMATCHING void TObject::prepare(data::TParse_TBlock const& rBlock, TControl* pControl) { 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& 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& 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(); } #else /* 80283FC8-802841EC 27E908 0224+00 2/1 0/0 0/0 .text * prepare__Q37JStudio3fvb7TObjectFRCQ47JStudio3fvb4data13TParse_TBlockPQ37JStudio3fvb8TControl */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void TObject::prepare(data::TParse_TBlock const& param_0, TControl* param_1) { nofralloc #include "asm/JSystem/JStudio/JStudio/fvb/func_80283FC8.s" } #pragma pop #endif namespace { TFunctionValue_composite::TData getCompositeData_raw_(const void* arg1) { return TFunctionValue_composite::TData(*(const void**)arg1); } TFunctionValue_composite::TData getCompositeData_index_(const void* arg1) { return TFunctionValue_composite::TData(*(u32*)arg1); } TFunctionValue_composite::TData getCompositeData_parameter_(const void* arg1) { return TFunctionValue_composite::TData(*(f32*)arg1); } TFunctionValue_composite::TData getCompositeData_add_(const void* arg1) { return TFunctionValue_composite::TData(*(f32*)arg1); } TFunctionValue_composite::TData getCompositeData_subtract_(const void* arg1) { return TFunctionValue_composite::TData(*(f32*)arg1); } TFunctionValue_composite::TData getCompositeData_multiply_(const void* arg1) { return TFunctionValue_composite::TData(*(f32*)arg1); } TFunctionValue_composite::TData getCompositeData_divide_(const void* arg1) { return TFunctionValue_composite::TData(*(f32*)arg1); } } // namespace } // namespace fvb } // namespace JStudio using namespace JStudio::fvb; /* ############################################################################################## */ /* 8039AA00-8039AA40 -00001 0040+00 1/1 0/0 0/0 .rodata * saCompositeOperation___Q37JStudio3fvb17@unnamed@fvb_cpp@ */ SECTION_RODATA static void* const data_8039AA00[16] = { (void*)NULL, (void*)NULL, (void*)func_80281E5C, (void*)getCompositeData_raw_, (void*)func_80281EC8, (void*)getCompositeData_index_, (void*)func_8028202C, (void*)getCompositeData_parameter_, (void*)func_80282094, (void*)getCompositeData_add_, (void*)func_80282118, (void*)getCompositeData_subtract_, (void*)func_80282200, (void*)getCompositeData_multiply_, (void*)func_80282284, (void*)getCompositeData_divide_, }; /* 80284240-80284254 27EB80 0014+00 1/1 0/0 0/0 .text * getCompositeOperation___Q37JStudio3fvb17@unnamed@fvb_cpp@FQ47JStudio3fvb4data11TEComposite */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off static asm data::CompositeOperation* func_80284240(data::TEComposite comp) { nofralloc #include "asm/JSystem/JStudio/JStudio/fvb/func_80284240.s" } #pragma pop namespace JStudio { namespace fvb { #ifdef NONMATCHING TObject_composite::TObject_composite(const data::TParse_TBlock& block) : TObject(block, &fnValue) {} #else // /* 80284254-802842D4 27EB94 0080+00 1/1 0/0 0/0 .text // * __ct__Q37JStudio3fvb17TObject_compositeFRCQ47JStudio3fvb4data13TParse_TBlock */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm JStudio::fvb::TObject_composite::TObject_composite( JStudio::fvb::data::TParse_TBlock const& param_0) { nofralloc #include "asm/JSystem/JStudio/JStudio/fvb/__ct__Q37JStudio3fvb17TObject_compositeFRCQ47JStudio3fvb4data13TParse_TBlock.s" } #pragma pop #endif #ifdef NONMATCHING // incomplete void TObject_composite::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 TFunctionValue_composite* pContent = static_cast(rData.pContent); ASSERT(pContent != NULL); data::CompositeOperation* ops = func_80284240(*(data::TEComposite*)pContent); data::CompositeOperation pfn = ops[1]; ASSERT(pfn != NULL); pfn(pContent->data); fnValue.data_set((TFunctionValue_composite::CompositeFunc)*ops, pContent->data); } #else /* 802842D4-80284338 27EC14 0064+00 1/0 0/0 0/0 .text * prepare_data___Q37JStudio3fvb17TObject_compositeFRCQ57JStudio3fvb4data17TParse_TParagraph5TDataPQ37JStudio3fvb8TControl */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void TObject_composite::prepare_data_(data::TParse_TParagraph::TData const& param_0, TControl* param_1) { nofralloc #include "asm/JSystem/JStudio/JStudio/fvb/func_802842D4.s" } #pragma pop #endif /* 80284338-802843B8 27EC78 0080+00 1/1 0/0 0/0 .text * __ct__Q37JStudio3fvb16TObject_constantFRCQ47JStudio3fvb4data13TParse_TBlock */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm TObject_constant::TObject_constant(data::TParse_TBlock const& param_0) { nofralloc #include "asm/JSystem/JStudio/JStudio/fvb/__ct__Q37JStudio3fvb16TObject_constantFRCQ47JStudio3fvb4data13TParse_TBlock.s" } #pragma pop 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(rData.pContent); ASSERT(pContent != NULL); fnValue.data_set(pContent[0]); } /* 802843C8-80284448 27ED08 0080+00 1/1 0/0 0/0 .text * __ct__Q37JStudio3fvb18TObject_transitionFRCQ47JStudio3fvb4data13TParse_TBlock */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm TObject_transition::TObject_transition(data::TParse_TBlock const& param_0) { nofralloc #include "asm/JSystem/JStudio/JStudio/fvb/__ct__Q37JStudio3fvb18TObject_transitionFRCQ47JStudio3fvb4data13TParse_TBlock.s" } #pragma pop 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(rData.pContent); ASSERT(pContent != NULL); fnValue.data_set(pContent[0], pContent[1]); } /* 80284460-802844E0 27EDA0 0080+00 1/1 0/0 0/0 .text * __ct__Q37JStudio3fvb12TObject_listFRCQ47JStudio3fvb4data13TParse_TBlock */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm TObject_list::TObject_list(data::TParse_TBlock const& param_0) { nofralloc #include "asm/JSystem/JStudio/JStudio/fvb/__ct__Q37JStudio3fvb12TObject_listFRCQ47JStudio3fvb4data13TParse_TBlock.s" } #pragma pop 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(rData.pContent); ASSERT(pContent != NULL); fnValue.data_setInterval(pContent->_0); fnValue.data_set(pContent->_8, pContent->_4); } /* 80284500-80284580 27EE40 0080+00 1/1 0/0 0/0 .text * __ct__Q37JStudio3fvb22TObject_list_parameterFRCQ47JStudio3fvb4data13TParse_TBlock */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm TObject_list_parameter::TObject_list_parameter(data::TParse_TBlock const& param_0) { nofralloc #include "asm/JSystem/JStudio/JStudio/fvb/__ct__Q37JStudio3fvb22TObject_list_parameterFRCQ47JStudio3fvb4data13TParse_TBlock.s" } #pragma pop 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(rData.pContent); ASSERT(pContent != NULL); fnValue.data_set(pContent->_4, pContent->_0); } /* 802845B0-80284630 27EEF0 0080+00 1/1 0/0 0/0 .text * __ct__Q37JStudio3fvb15TObject_hermiteFRCQ47JStudio3fvb4data13TParse_TBlock */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm TObject_hermite::TObject_hermite(data::TParse_TBlock const& param_0) { nofralloc #include "asm/JSystem/JStudio/JStudio/fvb/__ct__Q37JStudio3fvb15TObject_hermiteFRCQ47JStudio3fvb4data13TParse_TBlock.s" } #pragma pop 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(rData.pContent); ASSERT(pContent != NULL); fnValue.data_set(pContent->_4, pContent->_0 & 0xFFFFFFF, pContent->_0 >> 0x1C); } TControl::TControl() : pFactory(NULL) {} TControl::~TControl() { JUT_EXPECT(ocObject_.empty()); } /* 80284704-80284750 27F044 004C+00 1/1 0/0 0/0 .text * appendObject__Q37JStudio3fvb8TControlFPQ37JStudio3fvb7TObject */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void TControl::appendObject(TObject* param_0) { nofralloc #include "asm/JSystem/JStudio/JStudio/fvb/appendObject__Q37JStudio3fvb8TControlFPQ37JStudio3fvb7TObject.s" } #pragma pop /* 80284750-80284780 27F090 0030+00 1/1 0/0 0/0 .text * removeObject__Q37JStudio3fvb8TControlFPQ37JStudio3fvb7TObject */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void TControl::removeObject(TObject* param_0) { nofralloc #include "asm/JSystem/JStudio/JStudio/fvb/removeObject__Q37JStudio3fvb8TControlFPQ37JStudio3fvb7TObject.s" } #pragma pop /* 80284780-802847D0 27F0C0 0050+00 1/1 0/0 0/0 .text * destroyObject__Q37JStudio3fvb8TControlFPQ37JStudio3fvb7TObject */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void TControl::destroyObject(TObject* param_0) { nofralloc #include "asm/JSystem/JStudio/JStudio/fvb/destroyObject__Q37JStudio3fvb8TControlFPQ37JStudio3fvb7TObject.s" } #pragma pop /* 802847D0-80284834 27F110 0064+00 0/0 2/2 0/0 .text destroyObject_all__Q37JStudio3fvb8TControlFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void TControl::destroyObject_all() { nofralloc #include "asm/JSystem/JStudio/JStudio/fvb/destroyObject_all__Q37JStudio3fvb8TControlFv.s" } #pragma pop /* 80284834-802848D4 27F174 00A0+00 2/2 1/1 0/0 .text getObject__Q37JStudio3fvb8TControlFPCvUl */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm TObject* TControl::getObject(void const* param_0, u32 param_1) { nofralloc #include "asm/JSystem/JStudio/JStudio/fvb/getObject__Q37JStudio3fvb8TControlFPCvUl.s" } #pragma pop /* 802848D4-80284918 27F214 0044+00 1/1 1/1 0/0 .text getObject_index__Q37JStudio3fvb8TControlFUl */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm TObject* TControl::getObject_index(u32 param_0) { nofralloc #include "asm/JSystem/JStudio/JStudio/fvb/getObject_index__Q37JStudio3fvb8TControlFUl.s" } #pragma pop TFactory::~TFactory() {} TObject* TFactory::create(data::TParse_TBlock const& 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; } } void TFactory::destroy(TObject* pObject) { delete pObject; } TParse::TParse(TControl* pControl) : pControl_(pControl) { ASSERT(pControl_ != 0); } TParse::~TParse() {} bool TParse::parseHeader_next(void const** 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; } bool TParse::parseBlock_next(void const** 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 1; } if (flags & 0x20) { return 1; } TFactory* pFactory = pControl->getFactory(); if (pFactory == NULL) { JUTWarn w; w << "factory not specified"; return 0; } TObject* pObject = pFactory->create(blk); if (pObject == NULL) { JUTWarn w; w << "can't create function-value"; if (flags & 0x40) { return 1; } return 0; } pObject->prepare(blk, pControl); pControl->appendObject(pObject); return 1; } } // namespace fvb } // namespace JStudio