diff --git a/config/RSBE01_02/rels/sora_melee/symbols.txt b/config/RSBE01_02/rels/sora_melee/symbols.txt index 48363a8..ce92702 100644 --- a/config/RSBE01_02/rels/sora_melee/symbols.txt +++ b/config/RSBE01_02/rels/sora_melee/symbols.txt @@ -119,7 +119,7 @@ fn_27_77BC = .text:0x000077BC; // type:function size:0x8 fn_27_77C4 = .text:0x000077C4; // type:function size:0x8 fn_27_77CC = .text:0x000077CC; // type:function size:0x8 fn_27_77D4 = .text:0x000077D4; // type:function size:0x8 -__ct__17soModelModuleImplFP16soModuleAccesserPvUlUlPvf = .text:0x000077DC; // type:function size:0x348 +__ct__17soModelModuleImplFP16soModuleAccesserP27soArray<16soModelNodeSetUp>PvP29soArray<18soModelVirtualNode>P31soEventObserverRegistrationDescf = .text:0x000077DC; // type:function size:0x348 fn_27_7B24 = .text:0x00007B24; // type:function size:0x40 __dt__17soModelModuleImplFv = .text:0x00007B64; // type:function size:0x14C constructInstance__17soModelModuleImplFQ211gfSceneRoot9LayerTypeUlbScQ34nw4r3g3d7ResFilePCcPCcsPvUci = .text:0x00007CB0; // type:function size:0x524 @@ -297,7 +297,7 @@ setMatrix__18soModelVirtualNodeFUlR6Matrix = .text:0x0000F0E8; // type:function isNode__18soModelVirtualNodeCFUl = .text:0x0000F194; // type:function size:0x40 getOffset__18soModelVirtualNodeCFUlR5Vec3f = .text:0x0000F1D4; // type:function size:0x64 getNodeParent__18soModelVirtualNodeCFUlRUl = .text:0x0000F238; // type:function size:0x50 -__ct__25soModelModuleImplVariableFP16soModuleAccesserPvUlUlPvf = .text:0x0000F288; // type:function size:0x5C +__ct__25soModelModuleImplVariableFP16soModuleAccesserP27soArray<16soModelNodeSetUp>PvP29soArray<18soModelVirtualNode>P31soEventObserverRegistrationDescf = .text:0x0000F288; // type:function size:0x5C __dt__25soModelModuleImplVariableFv = .text:0x0000F2E4; // type:function size:0x58 getRealNodeId__25soModelModuleImplVariableCFUl = .text:0x0000F33C; // type:function size:0x44 setUpMtx__25soModelModuleImplVariableFPUll = .text:0x0000F380; // type:function size:0x84 diff --git a/include/lib/BrawlHeaders b/include/lib/BrawlHeaders index 6b0a9cc..4e6d9dc 160000 --- a/include/lib/BrawlHeaders +++ b/include/lib/BrawlHeaders @@ -1 +1 @@ -Subproject commit 6b0a9cc487c230183d3672a577ca715377d57bd7 +Subproject commit 4e6d9dc177c14a4835306805edeed12f17fbde9b diff --git a/src/mo_fighter/ft_purin/ft_purin.cpp b/src/mo_fighter/ft_purin/ft_purin.cpp index fe1000b..fda4bb1 100644 --- a/src/mo_fighter/ft_purin/ft_purin.cpp +++ b/src/mo_fighter/ft_purin/ft_purin.cpp @@ -54,6 +54,7 @@ class soModuleAccesserBuilder : public utUnCopyable { soHeapModuleBuilder m_heapModuleBuilder; soParamCustomizeModuleBuilder m_paramCustomizeModuleBuilder; soResourceModuleBuilder m_resourceModuleBuilder; + soModelModuleBuilder m_modelModuleBuilder; // TODO: add remaining ModuleBuilders // Add getModule() member functions for each Builder @@ -67,6 +68,12 @@ class soModuleAccesserBuilder : public utUnCopyable { fbd.getAnmResId(), fbd.getResGroupNo(), &m_moduleAccsr + ), + m_modelModuleBuilder( + &m_moduleAccsr, + fbd.getModelExtendNodeTable(), + &g_soEventObserverRegistrationDescNull, + fbd.getModelScale() ) { } @@ -127,6 +134,8 @@ typedef soInsideEventManageModuleBuildConfig< typedef soHeapModuleBuildConfig ftPurinHeapModuleBuildConfig; typedef soParamCustomizeModuleBuildConfig ftPurinParamCustomizeModuleBuildConfig; typedef soResourceModuleBuildConfigDynamic<0, ftResourceIdAccesserImpl, soResourceModuleImpl> ftPurinResourceModuleBuildConfig; +typedef soModelModuleBuildConfig<8, 3, soModelModuleImpl> ftPurinModelModuleBuildConfig; + typedef ftAnimCmdModuleSubBuildConfig<288, 501> ftPurinAnimCmdModuleSubBuildConfig; class ftPurinBuildConfig { @@ -136,6 +145,7 @@ class ftPurinBuildConfig { typedef ftPurinParamCustomizeModuleBuildConfig ParamCustomizeModuleBuildConfig; typedef ftPurinResourceModuleBuildConfig ResourceModuleBuildConfig; typedef ftPurinAnimCmdModuleSubBuildConfig AnimCmdModuleSubBuildConfig; + typedef ftPurinModelModuleBuildConfig ModelModuleBuildConfig; }; class ftPurin : public ftFighterBuilder { diff --git a/src/mo_melee/sora_melee/so/model/so_model_module_impl_variable.cpp b/src/mo_melee/sora_melee/so/model/so_model_module_impl_variable.cpp index 4885eb4..617f1fd 100644 --- a/src/mo_melee/sora_melee/so/model/so_model_module_impl_variable.cpp +++ b/src/mo_melee/sora_melee/so/model/so_model_module_impl_variable.cpp @@ -4,8 +4,22 @@ #include #include -soModelModuleImplVariable::soModelModuleImplVariable(soModuleAccesser* p1, void* p2, u32 p3, u32 p4, void* p5, float f1) - : soModelModuleImpl(p1, p2, p3, p4, p5, f1), unkCC(0) { } +soModelModuleImplVariable::soModelModuleImplVariable(soModuleAccesser* acc, + soArray* nodeSetUps, + void* extendNodeTbl, + soArray* virtualNodes, + soEventObserverRegistrationDesc* regDesc, + float f1) : + soModelModuleImpl( + acc, + nodeSetUps, + extendNodeTbl, + virtualNodes, + regDesc, + f1 + ), + unkCC(0) { +} soModelModuleImplVariable::~soModelModuleImplVariable() { }