diff --git a/config/GMSE01/symbols.txt b/config/GMSE01/symbols.txt index aed5658ba..1f1e11a94 100644 --- a/config/GMSE01/symbols.txt +++ b/config/GMSE01/symbols.txt @@ -24388,7 +24388,7 @@ __vt__6TMario = .data:0x803DD660; // type:object size:0xE8 scope:global align:4 MtxCalcTypeName = .data:0x803DD888; // type:object size:0x10 scope:local align:4 gModelWaterManagerWaterColor = .data:0x803DD898; // type:object size:0x10 scope:global align:4 prmNames = .data:0x803DD8A8; // type:object size:0x44 scope:global align:4 data:4byte -gWaterManagerPlaneInfo = .data:0x803DD8EC; // type:object size:0x18 scope:global align:4 +gWaterManagerPlaneInfo = .data:0x803DD8EC; // type:object size:0x18 scope:global align:4 noreloc tmp_data = .data:0x803DD920; // type:object size:0x10CC scope:local align:32 __vt__18TModelWaterManager = .data:0x803DE9EC; // type:object size:0x24 scope:global align:4 __vt__17TMarioPositionObj = .data:0x803DEB38; // type:object size:0x24 scope:global align:4 @@ -24521,8 +24521,8 @@ sMessageQueue__12JUTException = .data:0x803E0218; // type:object size:0x20 scope sCpuExpName__12JUTException = .data:0x803E0238; // type:object size:0x40 scope:global align:4 __vt__12JUTException = .data:0x803E0278; // type:object size:0x10 scope:global align:4 sAsciiTable__14JUTDirectPrint = .data:0x803E0288; // type:object size:0x80 scope:global align:4 -sFontData__14JUTDirectPrint = .data:0x803E0308; // type:object size:0x100 scope:global align:4 -sFontData2__14JUTDirectPrint = .data:0x803E0408; // type:object size:0x134 scope:global align:4 +sFontData__14JUTDirectPrint = .data:0x803E0308; // type:object size:0x100 scope:global align:4 noreloc +sFontData2__14JUTDirectPrint = .data:0x803E0408; // type:object size:0x134 scope:global align:4 noreloc __vt__7JUTFont = .data:0x803E0540; // type:object size:0x38 scope:weak align:4 ...data.0 = .data:0x803E0578; // type:label scope:local channel_mask = .data:0x803E0578; // type:object size:0x10 scope:local align:4 data:4byte @@ -24747,7 +24747,7 @@ calc_sw_table__Q28JASystem6Driver = .data:0x803E27D0; // type:object size:0x51 s @325 = .data:0x803E2844; // type:object size:0x20 scope:local align:4 C5BASE_PITCHTABLE__Q28JASystem6Driver = .data:0x803E2880; // type:object size:0x200 scope:global align:4 DSPADPCM_FILTER__Q28JASystem12DSPInterface = .data:0x803E2A80; // type:object size:0x40 scope:global align:32 -DSPRES_FILTER__Q28JASystem12DSPInterface = .data:0x803E2AC0; // type:object size:0x500 scope:global align:32 +DSPRES_FILTER__Q28JASystem12DSPInterface = .data:0x803E2AC0; // type:object size:0x500 scope:global align:32 noreloc history__8JASystem = .data:0x803E2FC0; // type:object size:0x28 scope:local align:4 data:4byte SEND_TABLE__Q28JASystem12DSPInterface = .data:0x803E2FE8; // type:object size:0x18 scope:local align:4 connect_table$341 = .data:0x803E3000; // type:object size:0x18 scope:local align:4 @@ -24764,7 +24764,7 @@ sTremoroDef__Q28JASystem6Player = .data:0x803E35D0; // type:object size:0x18 sco sAdsTable__Q28JASystem6Player = .data:0x803E35E8; // type:object size:0x18 scope:global align:4 data:2byte sRelTable__Q28JASystem6Player = .data:0x803E3600; // type:object size:0xC scope:global align:4 data:2byte sVibTable__Q28JASystem6Player = .data:0x803E360C; // type:object size:0x24 scope:global align:4 -sTreTable__Q28JASystem6Player = .data:0x803E3630; // type:object size:0x24 scope:global align:4 +sTreTable__Q28JASystem6Player = .data:0x803E3630; // type:object size:0x24 scope:global align:4 noreloc sOscTable__Q28JASystem6TTrack = .data:0x803E3658; // type:object size:0x5 scope:global align:4 @982 = .data:0x803E3660; // type:object size:0x34 scope:local align:4 @1090 = .data:0x803E3694; // type:object size:0x44 scope:local align:4 @@ -24929,7 +24929,7 @@ __vt__Q26JStage6TActor = .data:0x803E4650; // type:object size:0x64 scope:global __vt__Q26JStage6TLight = .data:0x803E46B8; // type:object size:0x60 scope:global align:4 __vt__Q26JStage7TObject = .data:0x803E4718; // type:object size:0x30 scope:global align:4 __vt__Q26JStage7TSystem = .data:0x803E4748; // type:object size:0x44 scope:global align:4 -jdsp = .data:0x803E47A0; // type:object size:0x1CE0 scope:global align:32 +jdsp = .data:0x803E47A0; // type:object size:0x1CE0 scope:global align:32 noreloc ...data.0 = .data:0x803E6480; // type:label scope:local __files = .data:0x803E6480; // type:object size:0xD8 scope:global align:4 @1009 = .data:0x803E6558; // type:object size:0x84 scope:local align:4 diff --git a/config/GMSJ01_01/symbols.txt b/config/GMSJ01_01/symbols.txt index e2438931f..75648ac1b 100644 --- a/config/GMSJ01_01/symbols.txt +++ b/config/GMSJ01_01/symbols.txt @@ -23962,7 +23962,7 @@ MtxCalcTypeName = .data:0x803CDD88; // type:object size:0x10 scope:local align:4 gModelWaterManagerWaterColor = .data:0x803CDD98; // type:object size:0x10 scope:global align:4 prmNames = .data:0x803CDDA8; // type:object size:0x44 scope:global align:4 data:4byte gWaterManagerPlaneInfo = .data:0x803CDDEC; // type:object size:0x18 scope:global align:4 -tmp_data = .data:0x803CDE20; // type:object size:0x10CC scope:local align:32 +tmp_data = .data:0x803CDE20; // type:object size:0x10CC scope:local align:32 noreloc __vt__18TModelWaterManager = .data:0x803CEEEC; // type:object size:0x24 scope:global align:4 __vt__17TMarioPositionObj = .data:0x803CF038; // type:object size:0x24 scope:global align:4 @4221 = .data:0x803CF060; // type:object size:0xF0 scope:local align:4 @@ -24090,8 +24090,8 @@ sMessageQueue__12JUTException = .data:0x803D06F0; // type:object size:0x20 scope sCpuExpName__12JUTException = .data:0x803D0710; // type:object size:0x40 scope:global align:4 __vt__12JUTException = .data:0x803D0750; // type:object size:0x10 scope:global align:4 sAsciiTable__14JUTDirectPrint = .data:0x803D0760; // type:object size:0x80 scope:global align:4 -sFontData__14JUTDirectPrint = .data:0x803D07E0; // type:object size:0x100 scope:global align:4 -sFontData2__14JUTDirectPrint = .data:0x803D08E0; // type:object size:0x134 scope:global align:4 +sFontData__14JUTDirectPrint = .data:0x803D07E0; // type:object size:0x100 scope:global align:4 noreloc +sFontData2__14JUTDirectPrint = .data:0x803D08E0; // type:object size:0x134 scope:global align:4 noreloc __vt__7JUTFont = .data:0x803D0A18; // type:object size:0x38 scope:weak align:4 ...data.0 = .data:0x803D0A50; // type:label scope:local channel_mask = .data:0x803D0A50; // type:object size:0x10 scope:local align:4 data:4byte @@ -24316,7 +24316,7 @@ calc_sw_table__Q28JASystem6Driver = .data:0x803D2CB0; // type:object size:0x51 s @325 = .data:0x803D2D24; // type:object size:0x20 scope:local align:4 C5BASE_PITCHTABLE__Q28JASystem6Driver = .data:0x803D2D60; // type:object size:0x200 scope:global align:4 DSPADPCM_FILTER__Q28JASystem12DSPInterface = .data:0x803D2F60; // type:object size:0x40 scope:global align:32 -DSPRES_FILTER__Q28JASystem12DSPInterface = .data:0x803D2FA0; // type:object size:0x500 scope:global align:32 +DSPRES_FILTER__Q28JASystem12DSPInterface = .data:0x803D2FA0; // type:object size:0x500 scope:global align:32 noreloc history__8JASystem = .data:0x803D34A0; // type:object size:0x28 scope:local align:4 data:4byte SEND_TABLE__Q28JASystem12DSPInterface = .data:0x803D34C8; // type:object size:0x18 scope:local align:4 connect_table$341 = .data:0x803D34E0; // type:object size:0x18 scope:local align:4 @@ -24333,7 +24333,7 @@ sTremoroDef__Q28JASystem6Player = .data:0x803D3AB0; // type:object size:0x18 sco sAdsTable__Q28JASystem6Player = .data:0x803D3AC8; // type:object size:0x18 scope:global align:4 data:2byte sRelTable__Q28JASystem6Player = .data:0x803D3AE0; // type:object size:0xC scope:global align:4 data:2byte sVibTable__Q28JASystem6Player = .data:0x803D3AEC; // type:object size:0x24 scope:global align:4 -sTreTable__Q28JASystem6Player = .data:0x803D3B10; // type:object size:0x24 scope:global align:4 +sTreTable__Q28JASystem6Player = .data:0x803D3B10; // type:object size:0x24 scope:global align:4 noreloc sOscTable__Q28JASystem6TTrack = .data:0x803D3B38; // type:object size:0x5 scope:global align:4 @982 = .data:0x803D3B40; // type:object size:0x34 scope:local align:4 @1090 = .data:0x803D3B74; // type:object size:0x44 scope:local align:4 @@ -24498,7 +24498,7 @@ __vt__Q26JStage6TActor = .data:0x803D4B30; // type:object size:0x64 scope:global __vt__Q26JStage6TLight = .data:0x803D4B98; // type:object size:0x60 scope:global align:4 __vt__Q26JStage7TObject = .data:0x803D4BF8; // type:object size:0x30 scope:global align:4 __vt__Q26JStage7TSystem = .data:0x803D4C28; // type:object size:0x44 scope:global align:4 -jdsp = .data:0x803D4C80; // type:object size:0x1CE0 scope:global align:32 +jdsp = .data:0x803D4C80; // type:object size:0x1CE0 scope:global align:32 noreloc ...data.0 = .data:0x803D6960; // type:label scope:local __files = .data:0x803D6960; // type:object size:0xD8 scope:global align:4 @1009 = .data:0x803D6A38; // type:object size:0x84 scope:local align:4 diff --git a/config/GMSP01_NX/symbols.txt b/config/GMSP01_NX/symbols.txt index e0d108813..9aba642ad 100644 --- a/config/GMSP01_NX/symbols.txt +++ b/config/GMSP01_NX/symbols.txt @@ -24141,7 +24141,7 @@ MtxCalcTypeName = .data:0x803D2F28; // type:object size:0x10 scope:local align:4 gModelWaterManagerWaterColor = .data:0x803D2F38; // type:object size:0x10 scope:global align:4 prmNames = .data:0x803D2F48; // type:object size:0x44 scope:global align:4 data:4byte gWaterManagerPlaneInfo = .data:0x803D2F8C; // type:object size:0x18 scope:global align:4 -tmp_data = .data:0x803D2FC0; // type:object size:0x10CC scope:local align:32 +tmp_data = .data:0x803D2FC0; // type:object size:0x10CC scope:local align:32 noreloc __vt__18TModelWaterManager = .data:0x803D408C; // type:object size:0x24 scope:global align:4 __vt__17TMarioPositionObj = .data:0x803D41D8; // type:object size:0x24 scope:global align:4 @4221 = .data:0x803D4200; // type:object size:0xF0 scope:local align:4 @@ -24289,8 +24289,8 @@ sMessageQueue__12JUTException = .data:0x803D5BA0; // type:object size:0x20 scope sCpuExpName__12JUTException = .data:0x803D5BC0; // type:object size:0x40 scope:global align:4 __vt__12JUTException = .data:0x803D5C00; // type:object size:0x10 scope:global align:4 sAsciiTable__14JUTDirectPrint = .data:0x803D5C10; // type:object size:0x80 scope:global align:4 -sFontData__14JUTDirectPrint = .data:0x803D5C90; // type:object size:0x100 scope:global align:4 -sFontData2__14JUTDirectPrint = .data:0x803D5D90; // type:object size:0x134 scope:global align:4 +sFontData__14JUTDirectPrint = .data:0x803D5C90; // type:object size:0x100 scope:global align:4 noreloc +sFontData2__14JUTDirectPrint = .data:0x803D5D90; // type:object size:0x134 scope:global align:4 noreloc __vt__7JUTFont = .data:0x803D5EC8; // type:object size:0x38 scope:weak align:4 ...data.0 = .data:0x803D5F00; // type:label scope:local channel_mask = .data:0x803D5F00; // type:object size:0x10 scope:local align:4 data:4byte @@ -24513,7 +24513,7 @@ calc_sw_table__Q28JASystem6Driver = .data:0x803D8118; // type:object size:0x51 s @325 = .data:0x803D818C; // type:object size:0x20 scope:local align:4 C5BASE_PITCHTABLE__Q28JASystem6Driver = .data:0x803D81C0; // type:object size:0x200 scope:global align:4 DSPADPCM_FILTER__Q28JASystem12DSPInterface = .data:0x803D83C0; // type:object size:0x40 scope:global align:32 -DSPRES_FILTER__Q28JASystem12DSPInterface = .data:0x803D8400; // type:object size:0x500 scope:global align:32 +DSPRES_FILTER__Q28JASystem12DSPInterface = .data:0x803D8400; // type:object size:0x500 scope:global align:32 noreloc SEND_TABLE__Q28JASystem12DSPInterface = .data:0x803D8900; // type:object size:0x18 scope:local align:4 connect_table$341 = .data:0x803D8918; // type:object size:0x18 scope:local align:4 FORCE_STOP_TABLE__Q28JASystem6Driver = .data:0x803D8930; // type:object size:0xC scope:global align:4 @@ -24529,7 +24529,7 @@ sTremoroDef__Q28JASystem6Player = .data:0x803D8EE8; // type:object size:0x18 sco sAdsTable__Q28JASystem6Player = .data:0x803D8F00; // type:object size:0x18 scope:global align:4 data:2byte sRelTable__Q28JASystem6Player = .data:0x803D8F18; // type:object size:0xC scope:global align:4 data:2byte sVibTable__Q28JASystem6Player = .data:0x803D8F24; // type:object size:0x24 scope:global align:4 -sTreTable__Q28JASystem6Player = .data:0x803D8F48; // type:object size:0x24 scope:global align:4 +sTreTable__Q28JASystem6Player = .data:0x803D8F48; // type:object size:0x24 scope:global align:4 noreloc sOscTable__Q28JASystem6TTrack = .data:0x803D8F70; // type:object size:0x5 scope:global align:4 @982 = .data:0x803D8F78; // type:object size:0x34 scope:local align:4 @1090 = .data:0x803D8FAC; // type:object size:0x44 scope:local align:4 @@ -24694,7 +24694,7 @@ __vt__Q26JStage6TActor = .data:0x803D9F68; // type:object size:0x64 scope:global __vt__Q26JStage6TLight = .data:0x803D9FD0; // type:object size:0x60 scope:global align:4 __vt__Q26JStage7TObject = .data:0x803DA030; // type:object size:0x30 scope:global align:4 __vt__Q26JStage7TSystem = .data:0x803DA060; // type:object size:0x44 scope:global align:4 -jdsp = .data:0x803DA0C0; // type:object size:0x1CE0 scope:global align:32 +jdsp = .data:0x803DA0C0; // type:object size:0x1CE0 scope:global align:32 noreloc ...data.0 = .data:0x803DBDA0; // type:label scope:local __files = .data:0x803DBDA0; // type:object size:0xD8 scope:global align:4 @1009 = .data:0x803DBE78; // type:object size:0x84 scope:local align:4 diff --git a/configure.py b/configure.py index 373a85080..e36c341e8 100644 --- a/configure.py +++ b/configure.py @@ -396,7 +396,7 @@ config.libs = [ # JUtility Object(Matching, "JSystem/JUtility/JUTException.cpp"), - Object(MatchingFor("GMSJ01", "GMSP01"), "JSystem/JUtility/JUTDirectPrint.cpp"), + Object(Matching, "JSystem/JUtility/JUTDirectPrint.cpp"), Object(Matching, "JSystem/JUtility/JUTDbPrint.cpp"), Object(Matching, "JSystem/JUtility/JUTFont.cpp"), Object(Matching, "JSystem/JUtility/JUTGamePad.cpp"), @@ -503,7 +503,7 @@ config.libs = [ Object(Matching, "JSystem/JAudio/JASystem/JASVload.cpp"), Object(Matching, "JSystem/JAudio/JASystem/JASNoteMgr.cpp"), Object(Matching, "JSystem/JAudio/JASystem/JASOuterParam.cpp"), - Object(MatchingFor("GMSJ01", "GMSP01"), "JSystem/JAudio/JASystem/JASPlayer_impl.cpp"), + Object(Matching, "JSystem/JAudio/JASystem/JASPlayer_impl.cpp"), Object(Matching, "JSystem/JAudio/JASystem/JASRegisterParam.cpp"), Object(Matching, "JSystem/JAudio/JASystem/JASSeqCtrl.cpp"), Object(NonMatching, "JSystem/JAudio/JASystem/JASTrack.cpp"), @@ -543,11 +543,11 @@ config.libs = [ # J3DGraphLoader Object(Matching, "JSystem/J3D/J3DGraphLoader/J3DClusterLoader.cpp"), Object(Matching, "JSystem/J3D/J3DGraphLoader/J3DJointFactory.cpp"), - Object(NonMatching, "JSystem/J3D/J3DGraphLoader/J3DMaterialFactory.cpp"), + Object(Matching, "JSystem/J3D/J3DGraphLoader/J3DMaterialFactory.cpp"), Object(Matching, "JSystem/J3D/J3DGraphLoader/J3DModelLoader.cpp"), Object(Matching, "JSystem/J3D/J3DGraphLoader/J3DShapeFactory.cpp"), Object(Matching, "JSystem/J3D/J3DGraphLoader/J3DAnmLoader.cpp"), - Object(NonMatching, "JSystem/J3D/J3DGraphLoader/J3DMaterialFactory_v21.cpp"), + Object(Matching, "JSystem/J3D/J3DGraphLoader/J3DMaterialFactory_v21.cpp"), # JParticle Object(NonMatching, "JSystem/JParticle/JPAEmitter.cpp"), @@ -579,7 +579,7 @@ config.libs = [ Object(Matching, "JSystem/JRenderer.cpp"), Object(Matching, "JSystem/random.cpp"), Object(Matching, "JSystem/dspproc.c", cflags=cflags_jsystem_dsp, mw_version="GC/1.2.5n"), - Object(MatchingFor("GMSJ01", "GMSP01"), "JSystem/dsptask.c", cflags=cflags_jsystem_dsp, mw_version="GC/1.2.5n"), + Object(Matching, "JSystem/dsptask.c", cflags=cflags_jsystem_dsp, mw_version="GC/1.2.5n"), Object(Matching, "JSystem/osdsp.c", cflags=cflags_jsystem_dsp, mw_version="GC/1.2.5n"), Object(Matching, "JSystem/osdsp_task.c", cflags=cflags_jsystem_dsp, mw_version="GC/1.2.5n"), ], @@ -1223,7 +1223,7 @@ config.libs = [ PCHObject(NonMatching, "Enemy/hauntLeg.cpp"), PCHObject(NonMatching, "Enemy/areacylinder.cpp"), PCHObject(NonMatching, "Enemy/wireTrap.cpp"), - PCHObject(MatchingFor("GMSJ01"), "Enemy/BossHanachanSound.cpp"), + PCHObject(Matching, "Enemy/BossHanachanSound.cpp"), PCHObject(NonMatching, "Enemy/rocket.cpp"), PCHObject(NonMatching, "Enemy/Kazekun.cpp"), PCHObject(NonMatching, "Enemy/bossManta.cpp"), diff --git a/libs/JSystem/include/JSystem/J3D/J3DGraphBase/Components/J3DNBTScale.hpp b/libs/JSystem/include/JSystem/J3D/J3DGraphBase/Components/J3DNBTScale.hpp index 2c422a497..357f7b97e 100644 --- a/libs/JSystem/include/JSystem/J3D/J3DGraphBase/Components/J3DNBTScale.hpp +++ b/libs/JSystem/include/JSystem/J3D/J3DGraphBase/Components/J3DNBTScale.hpp @@ -9,28 +9,19 @@ class J3DNBTScale : public J3DNBTScaleInfo { public: J3DNBTScale() { - mbHasScale = j3dDefaultNBTScaleInfo.mbHasScale; - mScale.x = j3dDefaultNBTScaleInfo.mScale.x; - mScale.y = j3dDefaultNBTScaleInfo.mScale.y; - mScale.z = j3dDefaultNBTScaleInfo.mScale.z; + J3DNBTScaleInfo* dst = getNbtScale(); + *dst = j3dDefaultNBTScaleInfo; } + + // see J3DIndTevStage + J3DNBTScale* getNbtScale() { return this; } + explicit J3DNBTScale(const J3DNBTScaleInfo& info) { - mbHasScale = info.mbHasScale; - mScale.x = info.mScale.x; - mScale.y = info.mScale.y; - mScale.z = info.mScale.z; - } - - J3DNBTScale& operator=(const J3DNBTScale& other) - { - mbHasScale = other.mbHasScale; - mScale.x = other.mScale.x; - mScale.y = other.mScale.y; - mScale.z = other.mScale.z; - return *this; + J3DNBTScaleInfo::operator=(info); } + bool hasScale() { return mbHasScale == 1; } Vec* getScale() { return &mScale; } }; diff --git a/libs/JSystem/include/JSystem/J3D/J3DGraphBase/J3DStruct.hpp b/libs/JSystem/include/JSystem/J3D/J3DGraphBase/J3DStruct.hpp index 4cc43571c..4663a0afb 100644 --- a/libs/JSystem/include/JSystem/J3D/J3DGraphBase/J3DStruct.hpp +++ b/libs/JSystem/include/JSystem/J3D/J3DGraphBase/J3DStruct.hpp @@ -163,9 +163,6 @@ public: }; // Size: 0x2C struct J3DNBTScaleInfo { - /* 0x0 */ u8 mbHasScale; - /* 0x4 */ Vec mScale; - J3DNBTScaleInfo& operator=(const J3DNBTScaleInfo& other) { mbHasScale = other.mbHasScale; @@ -174,6 +171,9 @@ struct J3DNBTScaleInfo { mScale.z = other.mScale.z; return *this; } + + /* 0x0 */ bool mbHasScale; + /* 0x4 */ Vec mScale; }; // Size: 0x10 struct J3DIndTexOrderInfo { diff --git a/libs/JSystem/include/JSystem/J3D/J3DGraphLoader/J3DMaterialFactory_v21.hpp b/libs/JSystem/include/JSystem/J3D/J3DGraphLoader/J3DMaterialFactory_v21.hpp index 924d88896..23782422e 100644 --- a/libs/JSystem/include/JSystem/J3D/J3DGraphLoader/J3DMaterialFactory_v21.hpp +++ b/libs/JSystem/include/JSystem/J3D/J3DGraphLoader/J3DMaterialFactory_v21.hpp @@ -87,33 +87,33 @@ struct J3DMaterialInitData_v21 { class J3DMaterialFactory_v21 { public: - J3DMaterialFactory_v21(const J3DMaterialBlock_v21&); + J3DMaterialFactory_v21(const J3DMaterialBlock_v21& block); u16 countUniqueMaterials(); - u32 countStages(int) const; - J3DMaterial* create(J3DMaterial*, int, u32) const; - J3DGXColor newMatColor(int, int) const; - u8 newColorChanNum(int) const; - J3DColorChan newColorChan(int, int) const; - u32 newTexGenNum(int) const; - J3DTexCoord newTexCoord(int, int) const; - J3DTexMtx* newTexMtx(int, int) const; - u8 newCullMode(int) const; - u16 newTexNo(int, int) const; - J3DTevOrder newTevOrder(int, int) const; - J3DGXColorS10 newTevColor(int, int) const; - J3DGXColor newTevKColor(int, int) const; - u8 newTevStageNum(int) const; - J3DTevStage newTevStage(int, int) const; - J3DTevSwapModeTable newTevSwapModeTable(int, int) const; - J3DFog* newFog(int) const; - J3DAlphaComp newAlphaComp(int) const; - J3DBlend newBlend(int) const; - J3DZMode newZMode(int) const; - u8 newZCompLoc(int) const; - u8 newDither(int) const; - J3DNBTScale newNBTScale(int) const; + u32 countStages(int idx) const; + J3DMaterial* create(J3DMaterial* mat, int idx, u32 flag) const; + J3DGXColor newMatColor(int idx, int stage) const; + u8 newColorChanNum(int idx) const; + J3DColorChan newColorChan(int idx, int stage) const; + u32 newTexGenNum(int idx) const; + J3DTexCoord newTexCoord(int idx, int stage) const; + J3DTexMtx* newTexMtx(int idx, int stage) const; + u8 newCullMode(int idx) const; + u16 newTexNo(int idx, int stage) const; + J3DTevOrder newTevOrder(int idx, int stage) const; + J3DGXColorS10 newTevColor(int idx, int stage) const; + J3DGXColor newTevKColor(int idx, int stage) const; + u8 newTevStageNum(int idx) const; + J3DTevStage newTevStage(int idx, int stage) const; + J3DTevSwapModeTable newTevSwapModeTable(int idx, int stage) const; + J3DFog* newFog(int idx) const; + J3DAlphaComp newAlphaComp(int idx) const; + J3DBlend newBlend(int idx) const; + J3DZMode newZMode(int idx) const; + u8 newZCompLoc(int idx) const; + u8 newDither(int idx) const; + J3DNBTScale newNBTScale(int idx) const; - J3DMaterialInitData_v21* getMaterialInitData_v21(u16) const; + J3DMaterialInitData_v21* getMaterialInitData_v21(u16 idx) const; u16 getMaterialID(int idx) const { return mpMaterialID[idx]; } u8 getMaterialMode(int idx) const diff --git a/libs/JSystem/src/J3D/J3DGraphLoader/J3DMaterialFactory_v21.cpp b/libs/JSystem/src/J3D/J3DGraphLoader/J3DMaterialFactory_v21.cpp index 87431a993..1b18e32e2 100644 --- a/libs/JSystem/src/J3D/J3DGraphLoader/J3DMaterialFactory_v21.cpp +++ b/libs/JSystem/src/J3D/J3DGraphLoader/J3DMaterialFactory_v21.cpp @@ -314,6 +314,12 @@ J3DTevSwapModeTable J3DMaterialFactory_v21::newTevSwapModeTable(int idx, return J3DTevSwapModeTable(j3dDefaultTevSwapModeTable); } +J3DMaterialInitData_v21* +J3DMaterialFactory_v21::getMaterialInitData_v21(u16 idx) const +{ + return &mpMaterialInitData[mpMaterialID[idx]]; +} + J3DFog* J3DMaterialFactory_v21::newFog(int idx) const { J3DFog* ret = nullptr;