mirror of https://github.com/zeldaret/tp.git
J3DMatBlock, J3DMaterialFactory work (#2233)
This commit is contained in:
parent
09423b6fa0
commit
21cb60624a
File diff suppressed because it is too large
Load Diff
|
|
@ -113,6 +113,7 @@ public:
|
|||
*/
|
||||
class J3DPatchedMaterial : public J3DMaterial {
|
||||
public:
|
||||
J3DPatchedMaterial() { initialize(); }
|
||||
/* 80316FB8 */ void initialize();
|
||||
|
||||
/* 80316FD8 */ virtual void makeDisplayList();
|
||||
|
|
|
|||
|
|
@ -56,8 +56,8 @@ public:
|
|||
}
|
||||
|
||||
void setCurrentTexMtx(u8 param_1, u8 param_2, u8 param_3, u8 param_4,
|
||||
u8 param_5, u8 param_6, u8 param_7, u8 param_8) {
|
||||
mMtxIdxRegA = ((param_1 & 0xff) << 6) | (param_2 << 0xc)| (param_3 << 0x12) | (param_4 << 0x18);
|
||||
u8 param_5, u8 param_6, u8 param_7, u8 param_8) {
|
||||
mMtxIdxRegA = (param_1 << 6) | (param_2 << 0xc) | (param_3 << 0x12) | (param_4 << 0x18);
|
||||
mMtxIdxRegB = (param_5) | param_6 << 6 | param_7 << 0xc | param_8 << 0x12;
|
||||
}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ public:
|
|||
/* 80313BF0 */ virtual void calcNBTScale(Vec const&, f32 (*)[3][3], f32 (*)[3][3]);
|
||||
|
||||
static J3DShapeMtx_LoadFunc sMtxLoadPipeline[4];
|
||||
static u16 sMtxLoadCache[10 + 2 /* padding */];
|
||||
static u16 sMtxLoadCache[10];
|
||||
static u32 sCurrentPipeline;
|
||||
static u8* sCurrentScaleFlag;
|
||||
static u8 sNBTFlag;
|
||||
|
|
@ -190,4 +190,4 @@ private:
|
|||
/* 0xC */ u16* mUseMtxIndexTable;
|
||||
};
|
||||
|
||||
#endif /* J3DSHAPEMTX_H */
|
||||
#endif /* J3DSHAPEMTX_H */
|
||||
|
|
|
|||
|
|
@ -96,6 +96,7 @@ struct J3DTexCoord : public J3DTexCoordInfo {
|
|||
u8 getTexGenMtx() { return mTexGenMtx & 0xff; }
|
||||
u16 getTexMtxReg() { return mTexMtxReg & 0xff; }
|
||||
void setTexGenMtx(u8 param_1) { mTexGenMtx = param_1; }
|
||||
void setTexMtxReg(u16 reg) { mTexMtxReg = reg; }
|
||||
J3DTexCoord& operator=(const J3DTexCoord& other) {
|
||||
// Fake match (__memcpy or = doesn't match)
|
||||
*(u32*)this = *(u32*)&other;
|
||||
|
|
|
|||
|
|
@ -143,8 +143,8 @@ public:
|
|||
u16 getMaterialID(int idx) const { return mpMaterialID[idx]; }
|
||||
u8 getMaterialMode(int idx) const { return mpMaterialInitData[mpMaterialID[idx]].mMaterialMode; }
|
||||
|
||||
static u32 getMdlDataFlag_TevStageNum(u32 flags) { return (flags >> 0x10) & 0x1f; }
|
||||
static u32 getMdlDataFlag_TexGenFlag(u32 flags) { return flags & 0x0c000000; }
|
||||
static int getMdlDataFlag_TevStageNum(u32 flags) { return (flags >> 0x10) & 0x1f; }
|
||||
static int getMdlDataFlag_TexGenFlag(u32 flags) { return flags & 0x0c000000; }
|
||||
static u32 getMdlDataFlag_ColorFlag(u32 flags) { return flags & 0xc0000000; }
|
||||
static u32 getMdlDataFlag_PEFlag(u32 flags) { return flags & 0x30000000; }
|
||||
|
||||
|
|
|
|||
|
|
@ -78,6 +78,12 @@ public:
|
|||
/* 80334074 */ J3DNBTScale newNBTScale(int) const;
|
||||
|
||||
u16 getMaterialID(u16 idx) { return mpMaterialID[idx]; }
|
||||
u8 getMaterialMode(int idx) const { return mpMaterialInitData[mpMaterialID[idx]].mMaterialMode; }
|
||||
|
||||
static int getMdlDataFlag_TevStageNum(u32 flags) { return (flags >> 0x10) & 0x1f; }
|
||||
static int getMdlDataFlag_TexGenFlag(u32 flags) { return flags & 0x0c000000; }
|
||||
static u32 getMdlDataFlag_ColorFlag(u32 flags) { return flags & 0xc0000000; }
|
||||
static u32 getMdlDataFlag_PEFlag(u32 flags) { return flags & 0x30000000; }
|
||||
|
||||
/* 0x00 */ u16 mMaterialNum;
|
||||
/* 0x04 */ J3DMaterialInitData_v21* mpMaterialInitData;
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -5,434 +5,6 @@
|
|||
|
||||
#include "JSystem/J3DGraphBase/J3DMaterial.h"
|
||||
#include "JSystem/J3DGraphBase/J3DGD.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void createColorBlock__11J3DMaterialFUl();
|
||||
extern "C" void createTexGenBlock__11J3DMaterialFUl();
|
||||
extern "C" void createTevBlock__11J3DMaterialFi();
|
||||
extern "C" void createIndBlock__11J3DMaterialFi();
|
||||
extern "C" void createPEBlock__11J3DMaterialFUlUl();
|
||||
extern "C" void calcSizeColorBlock__11J3DMaterialFUl();
|
||||
extern "C" void calcSizeTexGenBlock__11J3DMaterialFUl();
|
||||
extern "C" void calcSizeTevBlock__11J3DMaterialFi();
|
||||
extern "C" void calcSizeIndBlock__11J3DMaterialFi();
|
||||
extern "C" void calcSizePEBlock__11J3DMaterialFUlUl();
|
||||
extern "C" void initialize__11J3DMaterialFv();
|
||||
extern "C" void countDLSize__11J3DMaterialFv();
|
||||
extern "C" void makeDisplayList_private__11J3DMaterialFP17J3DDisplayListObj();
|
||||
extern "C" void makeDisplayList__11J3DMaterialFv();
|
||||
extern "C" void makeSharedDisplayList__11J3DMaterialFv();
|
||||
extern "C" void load__11J3DMaterialFv();
|
||||
extern "C" void loadSharedDL__11J3DMaterialFv();
|
||||
extern "C" void patch__11J3DMaterialFv();
|
||||
extern "C" void diff__11J3DMaterialFUl();
|
||||
extern "C" void calc__11J3DMaterialFPA4_Cf();
|
||||
extern "C" void calcDiffTexMtx__11J3DMaterialFPA4_Cf();
|
||||
extern "C" void setCurrentMtx__11J3DMaterialFv();
|
||||
extern "C" void calcCurrentMtx__11J3DMaterialFv();
|
||||
extern "C" void copy__11J3DMaterialFP11J3DMaterial();
|
||||
extern "C" void reset__11J3DMaterialFv();
|
||||
extern "C" void change__11J3DMaterialFv();
|
||||
extern "C" void newSharedDisplayList__11J3DMaterialFUl();
|
||||
extern "C" void newSingleSharedDisplayList__11J3DMaterialFUl();
|
||||
extern "C" void initialize__18J3DPatchedMaterialFv();
|
||||
extern "C" void makeDisplayList__18J3DPatchedMaterialFv();
|
||||
extern "C" void makeSharedDisplayList__18J3DPatchedMaterialFv();
|
||||
extern "C" void load__18J3DPatchedMaterialFv();
|
||||
extern "C" void loadSharedDL__18J3DPatchedMaterialFv();
|
||||
extern "C" void reset__18J3DPatchedMaterialFv();
|
||||
extern "C" void change__18J3DPatchedMaterialFv();
|
||||
extern "C" void initialize__17J3DLockedMaterialFv();
|
||||
extern "C" void makeDisplayList__17J3DLockedMaterialFv();
|
||||
extern "C" void makeSharedDisplayList__17J3DLockedMaterialFv();
|
||||
extern "C" void load__17J3DLockedMaterialFv();
|
||||
extern "C" void loadSharedDL__17J3DLockedMaterialFv();
|
||||
extern "C" void patch__17J3DLockedMaterialFv();
|
||||
extern "C" void diff__17J3DLockedMaterialFUl();
|
||||
extern "C" void calc__17J3DLockedMaterialFPA4_Cf();
|
||||
extern "C" void reset__17J3DLockedMaterialFv();
|
||||
extern "C" void change__17J3DLockedMaterialFv();
|
||||
extern "C" void __dt__21J3DColorBlockLightOffFv();
|
||||
extern "C" void __dt__13J3DColorBlockFv();
|
||||
extern "C" void __dt__21J3DTexGenBlockPatchedFv();
|
||||
extern "C" void __dt__14J3DTexGenBlockFv();
|
||||
extern "C" void __dt__11J3DTevBlockFv();
|
||||
extern "C" void __dt__11J3DIndBlockFv();
|
||||
extern "C" void __dt__10J3DPEBlockFv();
|
||||
extern "C" bool countDLSize__14J3DTexGenBlockFv();
|
||||
extern "C" bool countDLSize__13J3DColorBlockFv();
|
||||
extern "C" bool countDLSize__11J3DTevBlockFv();
|
||||
extern "C" bool countDLSize__11J3DIndBlockFv();
|
||||
extern "C" bool countDLSize__10J3DPEBlockFv();
|
||||
extern "C" void load__13J3DColorBlockFv();
|
||||
extern "C" s32 getCullMode__13J3DColorBlockCFv();
|
||||
extern "C" void load__11J3DTevBlockFv();
|
||||
extern "C" J3DNBTScale* getNBTScale__14J3DTexGenBlockFv();
|
||||
extern "C" void patch__13J3DColorBlockFv();
|
||||
extern "C" void diff__13J3DColorBlockFUl();
|
||||
extern "C" void diff__10J3DPEBlockFUl();
|
||||
extern "C" void reset__10J3DPEBlockFP10J3DPEBlock();
|
||||
extern "C" void reset__11J3DIndBlockFP11J3DIndBlock();
|
||||
extern "C" void reset__11J3DTevBlockFP11J3DTevBlock(J3DTevBlock* param_0);
|
||||
extern "C" void reset__14J3DTexGenBlockFP14J3DTexGenBlock();
|
||||
extern "C" void reset__13J3DColorBlockFP13J3DColorBlock();
|
||||
extern "C" void diffFog__10J3DPEBlockFv();
|
||||
extern "C" void diffBlend__10J3DPEBlockFv();
|
||||
extern "C" void setFog__10J3DPEBlockFP6J3DFog();
|
||||
extern "C" void setFog__10J3DPEBlockF6J3DFog();
|
||||
extern "C" void setAlphaComp__10J3DPEBlockFPC12J3DAlphaComp();
|
||||
extern "C" void setBlend__10J3DPEBlockFPC8J3DBlend();
|
||||
extern "C" void setZMode__10J3DPEBlockFPC8J3DZMode();
|
||||
extern "C" void setZCompLoc__10J3DPEBlockFPCUc();
|
||||
extern "C" void setDither__10J3DPEBlockFUc();
|
||||
extern "C" void setDither__10J3DPEBlockFPCUc();
|
||||
extern "C" bool getDither__10J3DPEBlockCFv();
|
||||
extern "C" bool getFogOffset__10J3DPEBlockCFv();
|
||||
extern "C" void setFogOffset__10J3DPEBlockFUl();
|
||||
extern "C" void diff__15J3DIndBlockNullFUl();
|
||||
extern "C" void load__15J3DIndBlockNullFv();
|
||||
extern "C" void reset__15J3DIndBlockNullFP11J3DIndBlock();
|
||||
extern "C" void getType__15J3DIndBlockNullFv();
|
||||
extern "C" void __dt__15J3DIndBlockNullFv();
|
||||
extern "C" void setIndTexOrder__11J3DIndBlockFUlPC14J3DIndTexOrder();
|
||||
extern "C" void setIndTexOrder__11J3DIndBlockFUl14J3DIndTexOrder();
|
||||
extern "C" void setIndTexMtx__11J3DIndBlockFUlPC12J3DIndTexMtx();
|
||||
extern "C" void setIndTexCoordScale__11J3DIndBlockFUlPC19J3DIndTexCoordScale();
|
||||
extern "C" void setTexGenNum__14J3DTexGenBlockFPCUl();
|
||||
extern "C" void setNBTScale__14J3DTexGenBlockF11J3DNBTScale();
|
||||
extern "C" void setNBTScale__14J3DTexGenBlockFPC11J3DNBTScale();
|
||||
extern "C" bool getTexMtxOffset__14J3DTexGenBlockCFv();
|
||||
extern "C" void setTexMtxOffset__14J3DTexGenBlockFUl();
|
||||
extern "C" void patchMatColor__13J3DColorBlockFv();
|
||||
extern "C" void diffAmbColor__13J3DColorBlockFv();
|
||||
extern "C" void diffMatColor__13J3DColorBlockFv();
|
||||
extern "C" void diffColorChan__13J3DColorBlockFv();
|
||||
extern "C" void diffLightObj__13J3DColorBlockFUl();
|
||||
extern "C" void setMatColor__13J3DColorBlockFUlPC10J3DGXColor();
|
||||
extern "C" void setColorChanNum__13J3DColorBlockFPCUc();
|
||||
extern "C" void setColorChan__13J3DColorBlockFUlPC12J3DColorChan();
|
||||
extern "C" bool getLight__13J3DColorBlockFUl();
|
||||
extern "C" void setCullMode__13J3DColorBlockFUc();
|
||||
extern "C" void setCullMode__13J3DColorBlockFPCUc();
|
||||
extern "C" u32 getMatColorOffset__13J3DColorBlockCFv();
|
||||
extern "C" bool getColorChanOffset__13J3DColorBlockCFv();
|
||||
extern "C" void setMatColorOffset__13J3DColorBlockFUl();
|
||||
extern "C" void setColorChanOffset__13J3DColorBlockFUl();
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void patch__10J3DPEBlockFv();
|
||||
extern "C" void patchLight__13J3DColorBlockFv();
|
||||
extern "C" bool getZCompLoc__10J3DPEBlockCFv();
|
||||
extern "C" bool getZMode__10J3DPEBlockFv();
|
||||
extern "C" bool getBlend__10J3DPEBlockFv();
|
||||
extern "C" bool getAlphaComp__10J3DPEBlockFv();
|
||||
extern "C" bool getFog__10J3DPEBlockFv();
|
||||
extern "C" bool getIndTexCoordScale__11J3DIndBlockFUl();
|
||||
extern "C" bool getIndTexMtx__11J3DIndBlockFUl();
|
||||
extern "C" bool getIndTexOrder__11J3DIndBlockFUl();
|
||||
extern "C" bool getIndTexStageNum__11J3DIndBlockCFv();
|
||||
extern "C" bool getTexMtx__14J3DTexGenBlockFUl();
|
||||
extern "C" bool getTexCoord__14J3DTexGenBlockFUl();
|
||||
extern "C" bool getTexGenNum__14J3DTexGenBlockCFv();
|
||||
extern "C" bool getAmbColor__13J3DColorBlockFUl();
|
||||
extern "C" bool getColorChan__13J3DColorBlockFUl();
|
||||
extern "C" bool getMatColor__13J3DColorBlockFUl();
|
||||
extern "C" bool getColorChanNum__13J3DColorBlockCFv();
|
||||
extern "C" void setZCompLoc__10J3DPEBlockFUc();
|
||||
extern "C" void setZMode__10J3DPEBlockF8J3DZMode();
|
||||
extern "C" void setBlend__10J3DPEBlockFRC8J3DBlend();
|
||||
extern "C" void setAlphaComp__10J3DPEBlockFRC12J3DAlphaComp();
|
||||
extern "C" void setIndTexCoordScale__11J3DIndBlockFUl19J3DIndTexCoordScale();
|
||||
extern "C" void __dt__19J3DIndTexCoordScaleFv();
|
||||
extern "C" void setIndTexMtx__11J3DIndBlockFUl12J3DIndTexMtx();
|
||||
extern "C" void __dt__12J3DIndTexMtxFv();
|
||||
extern "C" void setIndTexStageNum__11J3DIndBlockFUc();
|
||||
extern "C" void setTexCoord__14J3DTexGenBlockFUlPC11J3DTexCoord();
|
||||
extern "C" void setTexGenNum__14J3DTexGenBlockFUl();
|
||||
extern "C" void setAmbColor__13J3DColorBlockFUl10J3DGXColor();
|
||||
extern "C" void setColorChan__13J3DColorBlockFUlRC12J3DColorChan();
|
||||
extern "C" void setMatColor__13J3DColorBlockFUl10J3DGXColor();
|
||||
extern "C" void setColorChanNum__13J3DColorBlockFUc();
|
||||
extern "C" void __ct__19J3DIndTexCoordScaleFv();
|
||||
extern "C" void __ct__12J3DIndTexMtxFv();
|
||||
extern "C" void __ct__14J3DIndTexOrderFv();
|
||||
extern "C" void __ct__19J3DTevSwapModeTableFv();
|
||||
extern "C" void __ct__11J3DTevOrderFv();
|
||||
extern "C" void __ct__14J3DIndTevStageFv();
|
||||
extern "C" void __ct__11J3DTevStageFv();
|
||||
extern "C" void __ct__13J3DGXColorS10Fv();
|
||||
extern "C" void __ct__11J3DTexCoordFv();
|
||||
extern "C" void __ct__12J3DColorChanFv();
|
||||
extern "C" void __ct__10J3DGXColorFv();
|
||||
extern "C" void setTexMtx__14J3DTexGenBlockFUlP9J3DTexMtx();
|
||||
extern "C" void setLight__13J3DColorBlockFUlP11J3DLightObj();
|
||||
extern "C" void setAmbColor__13J3DColorBlockFUlPC10J3DGXColor();
|
||||
extern "C" void* __nw__FUl();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void J3DGDSetGenMode__FUcUcUcUc11_GXCullMode();
|
||||
extern "C" void J3DGDSetGenMode_3Param__FUcUcUc();
|
||||
extern "C" void newDisplayList__17J3DDisplayListObjFUl();
|
||||
extern "C" void newSingleDisplayList__17J3DDisplayListObjFUl();
|
||||
extern "C" void callDL__17J3DDisplayListObjCFv();
|
||||
extern "C" void beginDL__17J3DDisplayListObjFv();
|
||||
extern "C" void endDL__17J3DDisplayListObjFv();
|
||||
extern "C" void beginPatch__17J3DDisplayListObjFv();
|
||||
extern "C" void endPatch__17J3DDisplayListObjFv();
|
||||
extern "C" void beginDiff__12J3DMatPacketFv();
|
||||
extern "C" void endDiff__12J3DMatPacketFv();
|
||||
extern "C" void initialize__21J3DColorBlockLightOffFv();
|
||||
extern "C" void initialize__22J3DColorBlockAmbientOnFv();
|
||||
extern "C" void initialize__20J3DColorBlockLightOnFv();
|
||||
extern "C" void initialize__21J3DTexGenBlockPatchedFv();
|
||||
extern "C" void initialize__15J3DTexGenBlock4Fv();
|
||||
extern "C" void initialize__19J3DTexGenBlockBasicFv();
|
||||
extern "C" void initialize__12J3DTevBlock1Fv();
|
||||
extern "C" void initialize__12J3DTevBlock2Fv();
|
||||
extern "C" void initialize__12J3DTevBlock4Fv();
|
||||
extern "C" void initialize__13J3DTevBlock16Fv();
|
||||
extern "C" void initialize__15J3DIndBlockFullFv();
|
||||
extern "C" void initialize__16J3DPEBlockFogOffFv();
|
||||
extern "C" void initialize__14J3DPEBlockFullFv();
|
||||
extern "C" void loadNBTScale__FR11J3DNBTScale();
|
||||
extern "C" void __as__10J3DFogInfoFRC10J3DFogInfo();
|
||||
extern "C" void __construct_array();
|
||||
extern "C" void _savegpr_24();
|
||||
extern "C" void _savegpr_26();
|
||||
extern "C" void _savegpr_27();
|
||||
extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_24();
|
||||
extern "C" void _restgpr_26();
|
||||
extern "C" void _restgpr_27();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" extern void* __vt__14J3DPEBlockFull[31];
|
||||
extern "C" extern void* __vt__16J3DPEBlockFogOff[31];
|
||||
extern "C" extern void* __vt__13J3DTevBlock16[55];
|
||||
extern "C" extern void* __vt__12J3DTevBlock4[55];
|
||||
extern "C" extern void* __vt__12J3DTevBlock2[55];
|
||||
extern "C" extern void* __vt__12J3DTevBlock1[55];
|
||||
extern "C" extern void* __vt__19J3DTexGenBlockBasic[27];
|
||||
extern "C" extern void* __vt__15J3DTexGenBlock4[27];
|
||||
extern "C" extern void* __vt__21J3DTexGenBlockPatched[27];
|
||||
extern "C" extern void* __vt__20J3DColorBlockLightOn[36];
|
||||
extern "C" extern void* __vt__22J3DColorBlockAmbientOn[36];
|
||||
extern "C" extern void* __vt__13J3DPEBlockXlu[31];
|
||||
extern "C" extern void* __vt__17J3DPEBlockTexEdge[31];
|
||||
extern "C" extern void* __vt__13J3DPEBlockOpa[31];
|
||||
extern "C" extern void* __vt__15J3DIndBlockFull[19];
|
||||
extern "C" extern void* __vt__11J3DTevBlock[55];
|
||||
extern "C" extern void* __vt__21J3DColorBlockLightOff[36 + 1 /* padding */];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803CDC90-803CDCC0 02ADB0 0030+00 0/0 1/1 0/0 .data __vt__17J3DLockedMaterial */
|
||||
SECTION_DATA extern void* __vt__17J3DLockedMaterial[12] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)calc__17J3DLockedMaterialFPA4_Cf,
|
||||
(void*)calcDiffTexMtx__11J3DMaterialFPA4_Cf,
|
||||
(void*)makeDisplayList__17J3DLockedMaterialFv,
|
||||
(void*)makeSharedDisplayList__17J3DLockedMaterialFv,
|
||||
(void*)load__17J3DLockedMaterialFv,
|
||||
(void*)loadSharedDL__17J3DLockedMaterialFv,
|
||||
(void*)patch__17J3DLockedMaterialFv,
|
||||
(void*)diff__17J3DLockedMaterialFUl,
|
||||
(void*)reset__17J3DLockedMaterialFv,
|
||||
(void*)change__17J3DLockedMaterialFv,
|
||||
};
|
||||
|
||||
/* 803CDCC0-803CDCF0 02ADE0 0030+00 0/0 1/1 0/0 .data __vt__18J3DPatchedMaterial */
|
||||
SECTION_DATA extern void* __vt__18J3DPatchedMaterial[12] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)calc__11J3DMaterialFPA4_Cf,
|
||||
(void*)calcDiffTexMtx__11J3DMaterialFPA4_Cf,
|
||||
(void*)makeDisplayList__18J3DPatchedMaterialFv,
|
||||
(void*)makeSharedDisplayList__18J3DPatchedMaterialFv,
|
||||
(void*)load__18J3DPatchedMaterialFv,
|
||||
(void*)loadSharedDL__18J3DPatchedMaterialFv,
|
||||
(void*)patch__11J3DMaterialFv,
|
||||
(void*)diff__11J3DMaterialFUl,
|
||||
(void*)reset__18J3DPatchedMaterialFv,
|
||||
(void*)change__18J3DPatchedMaterialFv,
|
||||
};
|
||||
|
||||
/* 803CDCF0-803CDD20 02AE10 0030+00 0/0 6/6 0/0 .data __vt__11J3DMaterial */
|
||||
SECTION_DATA extern void* __vt__11J3DMaterial[12] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)calc__11J3DMaterialFPA4_Cf,
|
||||
(void*)calcDiffTexMtx__11J3DMaterialFPA4_Cf,
|
||||
(void*)makeDisplayList__11J3DMaterialFv,
|
||||
(void*)makeSharedDisplayList__11J3DMaterialFv,
|
||||
(void*)load__11J3DMaterialFv,
|
||||
(void*)loadSharedDL__11J3DMaterialFv,
|
||||
(void*)patch__11J3DMaterialFv,
|
||||
(void*)diff__11J3DMaterialFUl,
|
||||
(void*)reset__11J3DMaterialFv,
|
||||
(void*)change__11J3DMaterialFv,
|
||||
};
|
||||
|
||||
/* 803CDD20-803CDD9C 02AE40 007C+00 2/2 7/7 0/0 .data __vt__10J3DPEBlock */
|
||||
SECTION_DATA extern void* __vt__10J3DPEBlock[31] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)reset__10J3DPEBlockFP10J3DPEBlock,
|
||||
(void*)NULL,
|
||||
(void*)patch__10J3DPEBlockFv,
|
||||
(void*)diff__10J3DPEBlockFUl,
|
||||
(void*)diffFog__10J3DPEBlockFv,
|
||||
(void*)diffBlend__10J3DPEBlockFv,
|
||||
(void*)countDLSize__10J3DPEBlockFv,
|
||||
(void*)NULL,
|
||||
(void*)setFog__10J3DPEBlockF6J3DFog,
|
||||
(void*)setFog__10J3DPEBlockFP6J3DFog,
|
||||
(void*)getFog__10J3DPEBlockFv,
|
||||
(void*)setAlphaComp__10J3DPEBlockFPC12J3DAlphaComp,
|
||||
(void*)setAlphaComp__10J3DPEBlockFRC12J3DAlphaComp,
|
||||
(void*)getAlphaComp__10J3DPEBlockFv,
|
||||
(void*)setBlend__10J3DPEBlockFPC8J3DBlend,
|
||||
(void*)setBlend__10J3DPEBlockFRC8J3DBlend,
|
||||
(void*)getBlend__10J3DPEBlockFv,
|
||||
(void*)setZMode__10J3DPEBlockFPC8J3DZMode,
|
||||
(void*)setZMode__10J3DPEBlockF8J3DZMode,
|
||||
(void*)getZMode__10J3DPEBlockFv,
|
||||
(void*)setZCompLoc__10J3DPEBlockFPCUc,
|
||||
(void*)setZCompLoc__10J3DPEBlockFUc,
|
||||
(void*)getZCompLoc__10J3DPEBlockCFv,
|
||||
(void*)setDither__10J3DPEBlockFPCUc,
|
||||
(void*)setDither__10J3DPEBlockFUc,
|
||||
(void*)getDither__10J3DPEBlockCFv,
|
||||
(void*)getFogOffset__10J3DPEBlockCFv,
|
||||
(void*)setFogOffset__10J3DPEBlockFUl,
|
||||
(void*)__dt__10J3DPEBlockFv,
|
||||
};
|
||||
|
||||
/* 803CDD9C-803CDDE8 02AEBC 004C+00 2/2 1/1 0/0 .data __vt__15J3DIndBlockNull */
|
||||
SECTION_DATA extern void* __vt__15J3DIndBlockNull[19] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)reset__15J3DIndBlockNullFP11J3DIndBlock,
|
||||
(void*)diff__15J3DIndBlockNullFUl,
|
||||
(void*)load__15J3DIndBlockNullFv,
|
||||
(void*)countDLSize__11J3DIndBlockFv,
|
||||
(void*)getType__15J3DIndBlockNullFv,
|
||||
(void*)setIndTexStageNum__11J3DIndBlockFUc,
|
||||
(void*)getIndTexStageNum__11J3DIndBlockCFv,
|
||||
(void*)setIndTexOrder__11J3DIndBlockFUl14J3DIndTexOrder,
|
||||
(void*)setIndTexOrder__11J3DIndBlockFUlPC14J3DIndTexOrder,
|
||||
(void*)getIndTexOrder__11J3DIndBlockFUl,
|
||||
(void*)setIndTexMtx__11J3DIndBlockFUlPC12J3DIndTexMtx,
|
||||
(void*)setIndTexMtx__11J3DIndBlockFUl12J3DIndTexMtx,
|
||||
(void*)getIndTexMtx__11J3DIndBlockFUl,
|
||||
(void*)setIndTexCoordScale__11J3DIndBlockFUlPC19J3DIndTexCoordScale,
|
||||
(void*)setIndTexCoordScale__11J3DIndBlockFUl19J3DIndTexCoordScale,
|
||||
(void*)getIndTexCoordScale__11J3DIndBlockFUl,
|
||||
(void*)__dt__15J3DIndBlockNullFv,
|
||||
};
|
||||
|
||||
/* 803CDDE8-803CDE34 02AF08 004C+00 3/3 2/2 0/0 .data __vt__11J3DIndBlock */
|
||||
SECTION_DATA extern void* __vt__11J3DIndBlock[19] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)reset__11J3DIndBlockFP11J3DIndBlock,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)countDLSize__11J3DIndBlockFv,
|
||||
(void*)NULL,
|
||||
(void*)setIndTexStageNum__11J3DIndBlockFUc,
|
||||
(void*)getIndTexStageNum__11J3DIndBlockCFv,
|
||||
(void*)setIndTexOrder__11J3DIndBlockFUl14J3DIndTexOrder,
|
||||
(void*)setIndTexOrder__11J3DIndBlockFUlPC14J3DIndTexOrder,
|
||||
(void*)getIndTexOrder__11J3DIndBlockFUl,
|
||||
(void*)setIndTexMtx__11J3DIndBlockFUlPC12J3DIndTexMtx,
|
||||
(void*)setIndTexMtx__11J3DIndBlockFUl12J3DIndTexMtx,
|
||||
(void*)getIndTexMtx__11J3DIndBlockFUl,
|
||||
(void*)setIndTexCoordScale__11J3DIndBlockFUlPC19J3DIndTexCoordScale,
|
||||
(void*)setIndTexCoordScale__11J3DIndBlockFUl19J3DIndTexCoordScale,
|
||||
(void*)getIndTexCoordScale__11J3DIndBlockFUl,
|
||||
(void*)__dt__11J3DIndBlockFv,
|
||||
};
|
||||
|
||||
/* 803CDE34-803CDEA0 02AF54 006C+00 3/3 5/5 0/0 .data __vt__14J3DTexGenBlock */
|
||||
SECTION_DATA extern void* __vt__14J3DTexGenBlock[27] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)reset__14J3DTexGenBlockFP14J3DTexGenBlock,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)countDLSize__14J3DTexGenBlockFv,
|
||||
(void*)NULL,
|
||||
(void*)setTexGenNum__14J3DTexGenBlockFPCUl,
|
||||
(void*)setTexGenNum__14J3DTexGenBlockFUl,
|
||||
(void*)getTexGenNum__14J3DTexGenBlockCFv,
|
||||
(void*)setTexCoord__14J3DTexGenBlockFUlPC11J3DTexCoord,
|
||||
(void*)getTexCoord__14J3DTexGenBlockFUl,
|
||||
(void*)setTexMtx__14J3DTexGenBlockFUlP9J3DTexMtx,
|
||||
(void*)getTexMtx__14J3DTexGenBlockFUl,
|
||||
(void*)setNBTScale__14J3DTexGenBlockFPC11J3DNBTScale,
|
||||
(void*)setNBTScale__14J3DTexGenBlockF11J3DNBTScale,
|
||||
(void*)getNBTScale__14J3DTexGenBlockFv,
|
||||
(void*)getTexMtxOffset__14J3DTexGenBlockCFv,
|
||||
(void*)setTexMtxOffset__14J3DTexGenBlockFUl,
|
||||
(void*)__dt__14J3DTexGenBlockFv,
|
||||
};
|
||||
|
||||
/* 803CDEA0-803CDF30 02AFC0 0090+00 3/3 4/4 0/0 .data __vt__13J3DColorBlock */
|
||||
SECTION_DATA extern void* __vt__13J3DColorBlock[36] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)load__13J3DColorBlockFv,
|
||||
(void*)reset__13J3DColorBlockFP13J3DColorBlock,
|
||||
(void*)patch__13J3DColorBlockFv,
|
||||
(void*)patchMatColor__13J3DColorBlockFv,
|
||||
(void*)patchLight__13J3DColorBlockFv,
|
||||
(void*)diff__13J3DColorBlockFUl,
|
||||
(void*)diffAmbColor__13J3DColorBlockFv,
|
||||
(void*)diffMatColor__13J3DColorBlockFv,
|
||||
(void*)diffColorChan__13J3DColorBlockFv,
|
||||
(void*)diffLightObj__13J3DColorBlockFUl,
|
||||
(void*)countDLSize__13J3DColorBlockFv,
|
||||
(void*)NULL,
|
||||
(void*)setMatColor__13J3DColorBlockFUlPC10J3DGXColor,
|
||||
(void*)setMatColor__13J3DColorBlockFUl10J3DGXColor,
|
||||
(void*)getMatColor__13J3DColorBlockFUl,
|
||||
(void*)setAmbColor__13J3DColorBlockFUlPC10J3DGXColor,
|
||||
(void*)setAmbColor__13J3DColorBlockFUl10J3DGXColor,
|
||||
(void*)getAmbColor__13J3DColorBlockFUl,
|
||||
(void*)setColorChanNum__13J3DColorBlockFUc,
|
||||
(void*)setColorChanNum__13J3DColorBlockFPCUc,
|
||||
(void*)getColorChanNum__13J3DColorBlockCFv,
|
||||
(void*)setColorChan__13J3DColorBlockFUlRC12J3DColorChan,
|
||||
(void*)setColorChan__13J3DColorBlockFUlPC12J3DColorChan,
|
||||
(void*)getColorChan__13J3DColorBlockFUl,
|
||||
(void*)setLight__13J3DColorBlockFUlP11J3DLightObj,
|
||||
(void*)getLight__13J3DColorBlockFUl,
|
||||
(void*)setCullMode__13J3DColorBlockFPCUc,
|
||||
(void*)setCullMode__13J3DColorBlockFUc,
|
||||
(void*)getCullMode__13J3DColorBlockCFv,
|
||||
(void*)getMatColorOffset__13J3DColorBlockCFv,
|
||||
(void*)getColorChanOffset__13J3DColorBlockCFv,
|
||||
(void*)setMatColorOffset__13J3DColorBlockFUl,
|
||||
(void*)setColorChanOffset__13J3DColorBlockFUl,
|
||||
(void*)__dt__13J3DColorBlockFv,
|
||||
};
|
||||
|
||||
/* 803157A0-803159A0 3100E0 0200+00 0/0 3/3 0/0 .text createColorBlock__11J3DMaterialFUl
|
||||
*/
|
||||
|
|
@ -690,8 +262,6 @@ void J3DMaterial::diff(u32 param_0) {
|
|||
}
|
||||
|
||||
/* 803169DC-80316A54 31131C 0078+00 2/0 0/0 0/0 .text calc__11J3DMaterialFPA4_Cf */
|
||||
// Matches but changes order of TU vtables (?!)
|
||||
#ifdef NONMATCHING
|
||||
void J3DMaterial::calc(f32 const (*param_0)[4]) {
|
||||
if (j3dSys.checkFlag(0x40000000)) {
|
||||
mTexGenBlock->calcPostTexMtx(param_0);
|
||||
|
|
@ -702,12 +272,6 @@ void J3DMaterial::calc(f32 const (*param_0)[4]) {
|
|||
calcCurrentMtx();
|
||||
setCurrentMtx();
|
||||
}
|
||||
#else
|
||||
extern "C" void calc__11J3DMaterialFPA4_Cf() {
|
||||
// asm void J3DMaterial::calc(f32 const (*param_0)[4]) {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 80316A54-80316AB0 311394 005C+00 3/0 0/0 0/0 .text calcDiffTexMtx__11J3DMaterialFPA4_Cf */
|
||||
void J3DMaterial::calcDiffTexMtx(f32 const (*param_0)[4]) {
|
||||
|
|
@ -724,8 +288,7 @@ void J3DMaterial::setCurrentMtx() {
|
|||
}
|
||||
|
||||
/* 80316AC8-80316D68 311408 02A0+00 1/1 0/0 0/0 .text calcCurrentMtx__11J3DMaterialFv */
|
||||
// Issues with setCurrentTexMtx
|
||||
#ifdef NONMATCHING
|
||||
// NONMATCHING Issues with setCurrentTexMtx
|
||||
void J3DMaterial::calcCurrentMtx() {
|
||||
if (!j3dSys.checkFlag(0x40000000)) {
|
||||
mCurrentMtx.setCurrentTexMtx(
|
||||
|
|
@ -751,11 +314,6 @@ void J3DMaterial::calcCurrentMtx() {
|
|||
);
|
||||
}
|
||||
}
|
||||
#else
|
||||
void J3DMaterial::calcCurrentMtx() {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 80316D68-80316E14 3116A8 00AC+00 1/1 0/0 0/0 .text copy__11J3DMaterialFP11J3DMaterial
|
||||
*/
|
||||
|
|
@ -830,8 +388,7 @@ void J3DPatchedMaterial::initialize() {
|
|||
}
|
||||
|
||||
/* 80316FD8-80316FDC 311918 0004+00 1/0 0/0 0/0 .text makeDisplayList__18J3DPatchedMaterialFv */
|
||||
extern "C" void makeDisplayList__18J3DPatchedMaterialFv() {
|
||||
//void J3DPatchedMaterial::makeDisplayList() {
|
||||
void J3DPatchedMaterial::makeDisplayList() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
|
|
@ -910,7 +467,7 @@ void J3DLockedMaterial::diff(u32 param_0) {
|
|||
}
|
||||
|
||||
/* 803170D0-803170D4 311A10 0004+00 1/0 0/0 0/0 .text calc__17J3DLockedMaterialFPA4_Cf */
|
||||
extern "C" void calc__17J3DLockedMaterialFPA4_Cf() {
|
||||
void J3DLockedMaterial::calc(const Mtx param_0) {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
|
|
@ -923,354 +480,3 @@ void J3DLockedMaterial::reset() {
|
|||
void J3DLockedMaterial::change() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 803170DC-80317138 311A1C 005C+00 0/0 1/0 0/0 .text __dt__21J3DColorBlockLightOffFv */
|
||||
void __dt__21J3DColorBlockLightOffFv() {
|
||||
//asm J3DColorBlockLightOff::~J3DColorBlockLightOff() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80317138-80317180 311A78 0048+00 1/0 0/0 0/0 .text __dt__13J3DColorBlockFv */
|
||||
// J3DColorBlock::~J3DColorBlock() {
|
||||
extern "C" void __dt__13J3DColorBlockFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80317180-803171DC 311AC0 005C+00 0/0 1/0 0/0 .text __dt__21J3DTexGenBlockPatchedFv */
|
||||
J3DTexGenBlockPatched::~J3DTexGenBlockPatched() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 803171DC-80317224 311B1C 0048+00 1/0 0/0 0/0 .text __dt__14J3DTexGenBlockFv */
|
||||
// J3DTexGenBlock::~J3DTexGenBlock() {
|
||||
extern "C" void __dt__14J3DTexGenBlockFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80317224-8031726C 311B64 0048+00 0/0 1/0 0/0 .text __dt__11J3DTevBlockFv */
|
||||
// J3DTevBlock::~J3DTevBlock() {
|
||||
extern "C" void __dt__11J3DTevBlockFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 8031726C-803172B4 311BAC 0048+00 1/0 0/0 0/0 .text __dt__11J3DIndBlockFv */
|
||||
void __dt__11J3DIndBlockFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 803172B4-803172FC 311BF4 0048+00 1/0 0/0 0/0 .text __dt__10J3DPEBlockFv */
|
||||
// J3DPEBlock::~J3DPEBlock() {
|
||||
extern "C" void __dt__10J3DPEBlockFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 803172FC-80317304 311C3C 0008+00 1/0 1/0 0/0 .text countDLSize__14J3DTexGenBlockFv */
|
||||
s32 J3DTexGenBlock::countDLSize() {
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 80317304-8031730C 311C44 0008+00 1/0 1/0 0/0 .text countDLSize__13J3DColorBlockFv */
|
||||
s32 J3DColorBlock::countDLSize() {
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 8031730C-80317314 311C4C 0008+00 0/0 2/0 0/0 .text countDLSize__11J3DTevBlockFv */
|
||||
s32 J3DTevBlock::countDLSize() {
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 80317314-8031731C 311C54 0008+00 2/0 0/0 0/0 .text countDLSize__11J3DIndBlockFv */
|
||||
s32 J3DIndBlock::countDLSize() {
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 8031731C-80317324 311C5C 0008+00 1/0 1/0 0/0 .text countDLSize__10J3DPEBlockFv */
|
||||
s32 J3DPEBlock::countDLSize() {
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 80317324-80317328 311C64 0004+00 1/0 1/0 0/0 .text load__13J3DColorBlockFv */
|
||||
extern "C" void load__13J3DColorBlockFv() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80317328-80317330 311C68 0008+00 1/0 1/0 0/0 .text getCullMode__13J3DColorBlockCFv */
|
||||
s32 J3DColorBlock::getCullMode() const {
|
||||
return 2;
|
||||
}
|
||||
|
||||
/* 80317330-80317334 311C70 0004+00 0/0 2/0 0/0 .text load__11J3DTevBlockFv */
|
||||
void J3DTevBlock::load() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80317334-8031733C 311C74 0008+00 1/0 2/0 0/0 .text getNBTScale__14J3DTexGenBlockFv */
|
||||
J3DNBTScale* J3DTexGenBlock::getNBTScale() {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* 8031733C-80317340 311C7C 0004+00 1/0 1/0 0/0 .text patch__13J3DColorBlockFv */
|
||||
void J3DColorBlock::patch() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80317340-80317344 311C80 0004+00 1/0 1/0 0/0 .text diff__13J3DColorBlockFUl */
|
||||
void J3DColorBlock::diff(u32 param_0) {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80317344-80317348 311C84 0004+00 1/0 4/0 0/0 .text diff__10J3DPEBlockFUl */
|
||||
void J3DPEBlock::diff(u32 param_0) {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80317348-8031734C 311C88 0004+00 1/0 4/0 0/0 .text reset__10J3DPEBlockFP10J3DPEBlock
|
||||
*/
|
||||
extern "C" void reset__10J3DPEBlockFP10J3DPEBlock() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 8031734C-80317350 311C8C 0004+00 1/0 0/0 0/0 .text reset__11J3DIndBlockFP11J3DIndBlock
|
||||
*/
|
||||
extern "C" void reset__11J3DIndBlockFP11J3DIndBlock() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80317350-80317354 311C90 0004+00 0/0 1/0 0/0 .text reset__11J3DTevBlockFP11J3DTevBlock
|
||||
*/
|
||||
extern "C" void reset__11J3DTevBlockFP11J3DTevBlock(J3DTevBlock* param_0) {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80317354-80317358 311C94 0004+00 1/0 1/0 0/0 .text reset__14J3DTexGenBlockFP14J3DTexGenBlock */
|
||||
extern "C" void reset__14J3DTexGenBlockFP14J3DTexGenBlock() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80317358-8031735C 311C98 0004+00 1/0 1/0 0/0 .text reset__13J3DColorBlockFP13J3DColorBlock */
|
||||
void J3DColorBlock::reset(J3DColorBlock* param_0) {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 8031735C-80317360 311C9C 0004+00 1/0 5/0 0/0 .text diffFog__10J3DPEBlockFv */
|
||||
void J3DPEBlock::diffFog() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80317360-80317364 311CA0 0004+00 1/0 4/0 0/0 .text diffBlend__10J3DPEBlockFv */
|
||||
void J3DPEBlock::diffBlend() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80317364-80317368 311CA4 0004+00 1/0 5/0 0/0 .text setFog__10J3DPEBlockFP6J3DFog */
|
||||
void J3DPEBlock::setFog(J3DFog* param_0) {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80317368-8031736C 311CA8 0004+00 1/0 5/0 0/0 .text setFog__10J3DPEBlockF6J3DFog */
|
||||
void J3DPEBlock::setFog(J3DFog param_0) {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 8031736C-80317370 311CAC 0004+00 1/0 4/0 0/0 .text setAlphaComp__10J3DPEBlockFPC12J3DAlphaComp
|
||||
*/
|
||||
void J3DPEBlock::setAlphaComp(J3DAlphaComp const* param_0) {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80317370-80317374 311CB0 0004+00 1/0 4/0 0/0 .text setBlend__10J3DPEBlockFPC8J3DBlend
|
||||
*/
|
||||
void J3DPEBlock::setBlend(J3DBlend const* param_0) {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80317374-80317378 311CB4 0004+00 1/0 4/0 0/0 .text setZMode__10J3DPEBlockFPC8J3DZMode
|
||||
*/
|
||||
void J3DPEBlock::setZMode(J3DZMode const* param_0) {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80317378-8031737C 311CB8 0004+00 1/0 4/0 0/0 .text setZCompLoc__10J3DPEBlockFPCUc */
|
||||
void J3DPEBlock::setZCompLoc(u8 const* param_0) {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 8031737C-80317380 311CBC 0004+00 1/0 4/0 0/0 .text setDither__10J3DPEBlockFUc */
|
||||
void J3DPEBlock::setDither(u8 param_0) {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80317380-80317384 311CC0 0004+00 1/0 4/0 0/0 .text setDither__10J3DPEBlockFPCUc */
|
||||
void J3DPEBlock::setDither(u8 const* param_0) {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80317384-8031738C 311CC4 0008+00 1/0 4/0 0/0 .text getDither__10J3DPEBlockCFv */
|
||||
u8 J3DPEBlock::getDither() const {
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* 8031738C-80317394 311CCC 0008+00 1/0 5/0 0/0 .text getFogOffset__10J3DPEBlockCFv */
|
||||
u32 J3DPEBlock::getFogOffset() const {
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* 80317394-80317398 311CD4 0004+00 1/0 5/0 0/0 .text setFogOffset__10J3DPEBlockFUl */
|
||||
void J3DPEBlock::setFogOffset(u32 param_0) {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80317398-8031739C 311CD8 0004+00 1/0 0/0 0/0 .text diff__15J3DIndBlockNullFUl */
|
||||
void J3DIndBlockNull::diff(u32 param_0) {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 8031739C-803173A0 311CDC 0004+00 1/0 0/0 0/0 .text load__15J3DIndBlockNullFv */
|
||||
void J3DIndBlockNull::load() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 803173A0-803173A4 311CE0 0004+00 1/0 0/0 0/0 .text reset__15J3DIndBlockNullFP11J3DIndBlock */
|
||||
extern "C" void reset__15J3DIndBlockNullFP11J3DIndBlock() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 803173A4-803173B0 311CE4 000C+00 1/0 0/0 0/0 .text getType__15J3DIndBlockNullFv */
|
||||
u32 J3DIndBlockNull::getType() {
|
||||
return 'IBLN';
|
||||
}
|
||||
|
||||
/* 803173B0-8031740C 311CF0 005C+00 1/0 0/0 0/0 .text __dt__15J3DIndBlockNullFv */
|
||||
J3DIndBlockNull::~J3DIndBlockNull() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 8031740C-80317410 311D4C 0004+00 2/0 0/0 0/0 .text
|
||||
* setIndTexOrder__11J3DIndBlockFUlPC14J3DIndTexOrder */
|
||||
void J3DIndBlock::setIndTexOrder(u32 param_0, J3DIndTexOrder const* param_1) {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80317410-80317414 311D50 0004+00 2/0 0/0 0/0 .text
|
||||
* setIndTexOrder__11J3DIndBlockFUl14J3DIndTexOrder */
|
||||
void J3DIndBlock::setIndTexOrder(u32 param_0, J3DIndTexOrder param_1) {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80317414-80317418 311D54 0004+00 2/0 0/0 0/0 .text
|
||||
* setIndTexMtx__11J3DIndBlockFUlPC12J3DIndTexMtx */
|
||||
void J3DIndBlock::setIndTexMtx(u32 param_0, J3DIndTexMtx const* param_1) {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80317418-8031741C 311D58 0004+00 2/0 0/0 0/0 .text
|
||||
* setIndTexCoordScale__11J3DIndBlockFUlPC19J3DIndTexCoordScale */
|
||||
void J3DIndBlock::setIndTexCoordScale(u32 param_0, J3DIndTexCoordScale const* param_1) {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 8031741C-80317420 311D5C 0004+00 1/0 1/0 0/0 .text setTexGenNum__14J3DTexGenBlockFPCUl
|
||||
*/
|
||||
void J3DTexGenBlock::setTexGenNum(u32 const* param_0) {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80317420-80317424 311D60 0004+00 1/0 2/0 0/0 .text setNBTScale__14J3DTexGenBlockF11J3DNBTScale
|
||||
*/
|
||||
void J3DTexGenBlock::setNBTScale(J3DNBTScale param_0) {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80317424-80317428 311D64 0004+00 1/0 2/0 0/0 .text
|
||||
* setNBTScale__14J3DTexGenBlockFPC11J3DNBTScale */
|
||||
void J3DTexGenBlock::setNBTScale(J3DNBTScale const* param_0) {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80317428-80317430 311D68 0008+00 1/0 1/0 0/0 .text getTexMtxOffset__14J3DTexGenBlockCFv */
|
||||
bool J3DTexGenBlock::getTexMtxOffset() const {
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 80317430-80317434 311D70 0004+00 1/0 1/0 0/0 .text setTexMtxOffset__14J3DTexGenBlockFUl */
|
||||
void J3DTexGenBlock::setTexMtxOffset(u32 param_0) {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80317434-80317438 311D74 0004+00 1/0 1/0 0/0 .text patchMatColor__13J3DColorBlockFv */
|
||||
void J3DColorBlock::patchMatColor() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80317438-8031743C 311D78 0004+00 1/0 3/0 0/0 .text diffAmbColor__13J3DColorBlockFv */
|
||||
void J3DColorBlock::diffAmbColor() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 8031743C-80317440 311D7C 0004+00 1/0 1/0 0/0 .text diffMatColor__13J3DColorBlockFv */
|
||||
void J3DColorBlock::diffMatColor() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80317440-80317444 311D80 0004+00 1/0 1/0 0/0 .text diffColorChan__13J3DColorBlockFv */
|
||||
void J3DColorBlock::diffColorChan() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80317444-80317448 311D84 0004+00 1/0 3/0 0/0 .text diffLightObj__13J3DColorBlockFUl */
|
||||
void J3DColorBlock::diffLightObj(u32 param_0) {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80317448-8031744C 311D88 0004+00 1/0 1/0 0/0 .text
|
||||
* setMatColor__13J3DColorBlockFUlPC10J3DGXColor */
|
||||
void J3DColorBlock::setMatColor(u32 param_0, J3DGXColor const* param_1) {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 8031744C-80317450 311D8C 0004+00 1/0 1/0 0/0 .text setColorChanNum__13J3DColorBlockFPCUc */
|
||||
void J3DColorBlock::setColorChanNum(u8 const* param_0) {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80317450-80317454 311D90 0004+00 1/0 1/0 0/0 .text
|
||||
* setColorChan__13J3DColorBlockFUlPC12J3DColorChan */
|
||||
void J3DColorBlock::setColorChan(u32 param_0, J3DColorChan const* param_1) {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80317454-8031745C 311D94 0008+00 1/0 3/0 0/0 .text getLight__13J3DColorBlockFUl */
|
||||
bool J3DColorBlock::getLight(u32 param_0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 8031745C-80317460 311D9C 0004+00 1/0 1/0 0/0 .text setCullMode__13J3DColorBlockFUc */
|
||||
void J3DColorBlock::setCullMode(u8 param_0) {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80317460-80317464 311DA0 0004+00 1/0 1/0 0/0 .text setCullMode__13J3DColorBlockFPCUc
|
||||
*/
|
||||
void J3DColorBlock::setCullMode(u8 const* param_0) {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80317464-8031746C 311DA4 0008+00 1/0 1/0 0/0 .text getMatColorOffset__13J3DColorBlockCFv */
|
||||
u32 J3DColorBlock::getMatColorOffset() const {
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* 8031746C-80317474 311DAC 0008+00 1/0 1/0 0/0 .text getColorChanOffset__13J3DColorBlockCFv */
|
||||
u32 J3DColorBlock::getColorChanOffset() const {
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* 80317474-80317478 311DB4 0004+00 1/0 1/0 0/0 .text setMatColorOffset__13J3DColorBlockFUl */
|
||||
void J3DColorBlock::setMatColorOffset(u32 param_0) {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80317478-8031747C 311DB8 0004+00 1/0 1/0 0/0 .text setColorChanOffset__13J3DColorBlockFUl */
|
||||
void J3DColorBlock::setColorChanOffset(u32 param_0) {
|
||||
/* empty function */
|
||||
}
|
||||
|
|
@ -4,6 +4,7 @@
|
|||
//
|
||||
|
||||
#include "JSystem/J3DGraphBase/J3DShapeDraw.h"
|
||||
#include "JSystem/JKernel/JKRHeap.h"
|
||||
#include "string.h"
|
||||
#include "dolphin/gx.h"
|
||||
#include "dolphin/os/OSCache.h"
|
||||
|
|
@ -34,8 +35,8 @@ u32 J3DShapeDraw::countVertex(u32 stride) {
|
|||
return count;
|
||||
}
|
||||
|
||||
#ifdef NONMATCHING
|
||||
/* 80314974-80314ABC 30F2B4 0148+00 0/0 1/1 0/0 .text addTexMtxIndexInDL__12J3DShapeDrawFUlUlUl */
|
||||
// NONMATCHING regalloc
|
||||
void J3DShapeDraw::addTexMtxIndexInDL(u32 stride, u32 attrOffs, u32 valueBase) {
|
||||
u32 byteNum = countVertex(stride);
|
||||
u32 newSize = ALIGN_NEXT(mDisplayListSize + byteNum, 0x20);
|
||||
|
|
@ -58,8 +59,7 @@ void J3DShapeDraw::addTexMtxIndexInDL(u32 stride, u32 attrOffs, u32 valueBase) {
|
|||
newDL += 2;
|
||||
|
||||
for (s32 i = 0; i < (u16)vtxNum; i++) {
|
||||
// mul arg swap
|
||||
u8* oldDLVtx = (&oldDL[stride * i + 3]);
|
||||
u8* oldDLVtx = &oldDL[stride * i + 3];
|
||||
u8 pnmtxidx = *oldDLVtx;
|
||||
memcpy(newDL, oldDLVtx, attrOffs);
|
||||
u8* newDL1 = &newDL[attrOffs];
|
||||
|
|
@ -79,11 +79,6 @@ void J3DShapeDraw::addTexMtxIndexInDL(u32 stride, u32 attrOffs, u32 valueBase) {
|
|||
mDisplayList = newDLStart;
|
||||
DCStoreRange(newDLStart, mDisplayListSize);
|
||||
}
|
||||
#else
|
||||
void J3DShapeDraw::addTexMtxIndexInDL(u32 param_0, u32 param_1, u32 param_2) {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 80314ABC-80314AD4 30F3FC 0018+00 0/0 1/1 0/0 .text __ct__12J3DShapeDrawFPCUcUl */
|
||||
J3DShapeDraw::J3DShapeDraw(u8 const* displayList, u32 displayListSize) {
|
||||
|
|
@ -97,4 +92,4 @@ void J3DShapeDraw::draw() const {
|
|||
}
|
||||
|
||||
/* 80314B00-80314B48 30F440 0048+00 1/0 0/0 0/0 .text __dt__12J3DShapeDrawFv */
|
||||
J3DShapeDraw::~J3DShapeDraw() {}
|
||||
J3DShapeDraw::~J3DShapeDraw() {}
|
||||
|
|
|
|||
|
|
@ -6,113 +6,12 @@
|
|||
#include "JSystem/J3DGraphBase/J3DShapeMtx.h"
|
||||
#include "JSystem/J3DGraphAnimator/J3DModel.h"
|
||||
#include "JSystem/J3DGraphBase/J3DGD.h"
|
||||
#include "dol2asm.h"
|
||||
#include "JSystem/J3DGraphBase/J3DMatBlock.h"
|
||||
#include "JSystem/J3DGraphBase/J3DTexture.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void resetMtxLoadCache__11J3DShapeMtxFv();
|
||||
extern "C" void loadMtxIndx_PNGP__11J3DShapeMtxCFiUs();
|
||||
extern "C" void loadMtxIndx_PCPU__11J3DShapeMtxCFiUs();
|
||||
extern "C" void loadMtxIndx_NCPU__11J3DShapeMtxCFiUs();
|
||||
extern "C" void loadMtxIndx_PNCPU__11J3DShapeMtxCFiUs();
|
||||
extern "C" void loadExecute__17J3DDifferedTexMtxFPA4_Cf();
|
||||
extern "C" void loadMtxConcatView_PNGP__21J3DShapeMtxConcatViewCFiUs();
|
||||
extern "C" void loadMtxConcatView_PCPU__21J3DShapeMtxConcatViewCFiUs();
|
||||
extern "C" void loadMtxConcatView_NCPU__21J3DShapeMtxConcatViewCFiUs();
|
||||
extern "C" void loadMtxConcatView_PNCPU__21J3DShapeMtxConcatViewCFiUs();
|
||||
extern "C" void loadMtxConcatView_PNGP_LOD__21J3DShapeMtxConcatViewCFiUs();
|
||||
extern "C" void load__11J3DShapeMtxCFv();
|
||||
extern "C" void calcNBTScale__11J3DShapeMtxFRC3VecPA3_A3_fPA3_A3_f();
|
||||
extern "C" void load__21J3DShapeMtxConcatViewCFv();
|
||||
extern "C" void loadNrmMtx__21J3DShapeMtxConcatViewCFiUsPA4_f();
|
||||
extern "C" void load__16J3DShapeMtxMultiCFv();
|
||||
extern "C" void calcNBTScale__16J3DShapeMtxMultiFRC3VecPA3_A3_fPA3_A3_f();
|
||||
extern "C" void load__26J3DShapeMtxMultiConcatViewCFv();
|
||||
extern "C" void loadNrmMtx__26J3DShapeMtxMultiConcatViewCFiUsPA4_f();
|
||||
extern "C" void load__27J3DShapeMtxBBoardConcatViewCFv();
|
||||
extern "C" void load__28J3DShapeMtxYBBoardConcatViewCFv();
|
||||
extern "C" void __dt__28J3DShapeMtxYBBoardConcatViewFv();
|
||||
extern "C" void getType__28J3DShapeMtxYBBoardConcatViewCFv();
|
||||
extern "C" void loadNrmMtx__21J3DShapeMtxConcatViewCFiUs();
|
||||
extern "C" void getUseMtxIndex__11J3DShapeMtxCFUs();
|
||||
extern "C" void __dt__27J3DShapeMtxBBoardConcatViewFv();
|
||||
extern "C" void getType__27J3DShapeMtxBBoardConcatViewCFv();
|
||||
extern "C" void __dt__26J3DShapeMtxMultiConcatViewFv();
|
||||
extern "C" void getType__26J3DShapeMtxMultiConcatViewCFv();
|
||||
extern "C" void getUseMtxNum__26J3DShapeMtxMultiConcatViewCFv();
|
||||
extern "C" void getUseMtxIndex__26J3DShapeMtxMultiConcatViewCFUs();
|
||||
extern "C" void loadNrmMtx__26J3DShapeMtxMultiConcatViewCFiUs();
|
||||
extern "C" void __dt__16J3DShapeMtxMultiFv();
|
||||
extern "C" void getType__16J3DShapeMtxMultiCFv();
|
||||
extern "C" void getUseMtxNum__16J3DShapeMtxMultiCFv();
|
||||
extern "C" void getUseMtxIndex__16J3DShapeMtxMultiCFUs();
|
||||
extern "C" void __dt__21J3DShapeMtxConcatViewFv();
|
||||
extern "C" void getType__21J3DShapeMtxConcatViewCFv();
|
||||
extern "C" void __dt__11J3DShapeMtxFv();
|
||||
extern "C" void getType__11J3DShapeMtxCFv();
|
||||
extern "C" void __sinit_J3DShapeMtx_cpp();
|
||||
extern "C" u8 sMtxLoadPipeline__11J3DShapeMtx[48];
|
||||
extern "C" u8 sMtxLoadPipeline__21J3DShapeMtxConcatView[48];
|
||||
extern "C" u8 sMtxLoadLODPipeline__21J3DShapeMtxConcatView[48];
|
||||
extern "C" u8 sMtxLoadCache__11J3DShapeMtx[20 + 4 /* padding */];
|
||||
extern "C" u8 sCurrentPipeline__11J3DShapeMtx[4];
|
||||
extern "C" u8 sCurrentScaleFlag__11J3DShapeMtx[4];
|
||||
extern "C" u8 sTexMtxLoadType__11J3DShapeMtx[4];
|
||||
extern "C" u8 sMtxPtrTbl__21J3DShapeMtxConcatView[8];
|
||||
extern "C" u8 sTexGenBlock__17J3DDifferedTexMtx[4];
|
||||
extern "C" u8 sTexMtxObj__17J3DDifferedTexMtx[4];
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
void J3DFifoLoadPosMtxImm(Mtx, u32);
|
||||
void J3DFifoLoadNrmMtxImm(Mtx, u32);
|
||||
void J3DFifoLoadNrmMtxImm3x3(Mtx33, u32);
|
||||
void J3DFifoLoadNrmMtxToTexMtx(Mtx, u32);
|
||||
void J3DFifoLoadNrmMtxToTexMtx33(Mtx33, u32);
|
||||
|
||||
extern "C" bool getUseMtxNum__11J3DShapeMtxCFv();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void J3DFifoLoadPosMtxImm__FPA4_fUl();
|
||||
extern "C" void J3DFifoLoadNrmMtxImm__FPA4_fUl();
|
||||
extern "C" void J3DFifoLoadNrmMtxImm3x3__FPA3_fUl();
|
||||
extern "C" void J3DFifoLoadNrmMtxToTexMtx__FPA4_fUl();
|
||||
extern "C" void J3DFifoLoadNrmMtxToTexMtx3x3__FPA3_fUl();
|
||||
extern "C" void loadPosMtxIndx__6J3DSysCFiUs();
|
||||
extern "C" void loadNrmMtxIndx__6J3DSysCFiUs();
|
||||
extern "C" void J3DCalcBBoardMtx__FPA4_f();
|
||||
extern "C" void J3DCalcYBBoardMtx__FPA4_f();
|
||||
extern "C" void J3DPSCalcInverseTranspose__FPA4_fPA3_f();
|
||||
extern "C" void J3DGetTextureMtx__FRC17J3DTextureSRTInfoRC3VecPA4_f();
|
||||
extern "C" void J3DGetTextureMtxOld__FRC17J3DTextureSRTInfoRC3VecPA4_f();
|
||||
extern "C" void J3DGetTextureMtxMaya__FRC17J3DTextureSRTInfoPA4_f();
|
||||
extern "C" void J3DGetTextureMtxMayaOld__FRC17J3DTextureSRTInfoPA4_f();
|
||||
extern "C" void J3DScaleNrmMtx__FPA4_fRC3Vec();
|
||||
extern "C" void J3DScaleNrmMtx33__FPA3_fRC3Vec();
|
||||
extern "C" void J3DMtxProjConcat__FPA4_fPA4_fPA4_f();
|
||||
extern "C" void __ptmf_scall();
|
||||
extern "C" void _savegpr_22();
|
||||
extern "C" void _savegpr_25();
|
||||
extern "C" void _savegpr_27();
|
||||
extern "C" void _savegpr_28();
|
||||
extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_22();
|
||||
extern "C" void _restgpr_25();
|
||||
extern "C" void _restgpr_27();
|
||||
extern "C" void _restgpr_28();
|
||||
extern "C" void _restgpr_29();
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80434C80-80434C98 0619A0 0014+04 2/2 0/0 0/0 .bss sMtxLoadCache__11J3DShapeMtx */
|
||||
u16 J3DShapeMtx::sMtxLoadCache[10 + 2 /* padding */];
|
||||
u16 J3DShapeMtx::sMtxLoadCache[10];
|
||||
|
||||
/* 803130A8-803130E4 30D9E8 003C+00 0/0 1/1 0/0 .text resetMtxLoadCache__11J3DShapeMtxFv
|
||||
*/
|
||||
|
|
@ -180,54 +79,6 @@ J3DShapeMtxConcatView_LoadFunc J3DShapeMtxConcatView::sMtxLoadLODPipeline[4] = {
|
|||
&loadMtxConcatView_PNCPU,
|
||||
};
|
||||
|
||||
#ifndef NONMATCHING
|
||||
/* 803CDAB0-803CDAE0 02ABD0 0030+00 1/1 0/0 0/0 .data qMtx$895 */
|
||||
SECTION_DATA static u8 qMtx[48] = {
|
||||
0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xBF, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
|
||||
/* 803CDAE0-803CDB10 02AC00 0030+00 1/1 0/0 0/0 .data qMtx2$896 */
|
||||
SECTION_DATA static u8 qMtx2[48] = {
|
||||
0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xBF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
|
||||
/* 803CDB10-803CDB40 -00001 0030+00 1/1 0/0 0/0 .data @1035 */
|
||||
SECTION_DATA static void* lit_1035[12] = {
|
||||
(void*)(((char*)loadExecute__17J3DDifferedTexMtxFPA4_Cf) + 0x5B4),
|
||||
(void*)(((char*)loadExecute__17J3DDifferedTexMtxFPA4_Cf) + 0x390),
|
||||
(void*)(((char*)loadExecute__17J3DDifferedTexMtxFPA4_Cf) + 0x3CC),
|
||||
(void*)(((char*)loadExecute__17J3DDifferedTexMtxFPA4_Cf) + 0x370),
|
||||
(void*)(((char*)loadExecute__17J3DDifferedTexMtxFPA4_Cf) + 0x5B4),
|
||||
(void*)(((char*)loadExecute__17J3DDifferedTexMtxFPA4_Cf) + 0x3DC),
|
||||
(void*)(((char*)loadExecute__17J3DDifferedTexMtxFPA4_Cf) + 0x390),
|
||||
(void*)(((char*)loadExecute__17J3DDifferedTexMtxFPA4_Cf) + 0x390),
|
||||
(void*)(((char*)loadExecute__17J3DDifferedTexMtxFPA4_Cf) + 0x3CC),
|
||||
(void*)(((char*)loadExecute__17J3DDifferedTexMtxFPA4_Cf) + 0x370),
|
||||
(void*)(((char*)loadExecute__17J3DDifferedTexMtxFPA4_Cf) + 0x510),
|
||||
(void*)(((char*)loadExecute__17J3DDifferedTexMtxFPA4_Cf) + 0x46C),
|
||||
};
|
||||
|
||||
/* 803CDB40-803CDB70 -00001 0030+00 1/1 0/0 0/0 .data @1034 */
|
||||
SECTION_DATA static void* lit_1034[12] = {
|
||||
(void*)(((char*)loadExecute__17J3DDifferedTexMtxFPA4_Cf) + 0x2B8),
|
||||
(void*)(((char*)loadExecute__17J3DDifferedTexMtxFPA4_Cf) + 0xCC),
|
||||
(void*)(((char*)loadExecute__17J3DDifferedTexMtxFPA4_Cf) + 0xE0),
|
||||
(void*)(((char*)loadExecute__17J3DDifferedTexMtxFPA4_Cf) + 0xB8),
|
||||
(void*)(((char*)loadExecute__17J3DDifferedTexMtxFPA4_Cf) + 0x2B8),
|
||||
(void*)(((char*)loadExecute__17J3DDifferedTexMtxFPA4_Cf) + 0x110),
|
||||
(void*)(((char*)loadExecute__17J3DDifferedTexMtxFPA4_Cf) + 0xCC),
|
||||
(void*)(((char*)loadExecute__17J3DDifferedTexMtxFPA4_Cf) + 0xCC),
|
||||
(void*)(((char*)loadExecute__17J3DDifferedTexMtxFPA4_Cf) + 0xE0),
|
||||
(void*)(((char*)loadExecute__17J3DDifferedTexMtxFPA4_Cf) + 0xB8),
|
||||
(void*)(((char*)loadExecute__17J3DDifferedTexMtxFPA4_Cf) + 0x224),
|
||||
(void*)(((char*)loadExecute__17J3DDifferedTexMtxFPA4_Cf) + 0x190),
|
||||
};
|
||||
#endif
|
||||
|
||||
/* 804515A8-804515AC 000AA8 0004+00 4/4 2/2 0/0 .sbss sCurrentPipeline__11J3DShapeMtx */
|
||||
u32 J3DShapeMtx::sCurrentPipeline;
|
||||
|
||||
|
|
@ -257,18 +108,9 @@ J3DTexGenBlock* J3DDifferedTexMtx::sTexGenBlock;
|
|||
/* 804515C4-804515C8 000AC4 0004+00 1/1 2/2 0/0 .sbss sTexMtxObj__17J3DDifferedTexMtx */
|
||||
J3DTexMtxObj* J3DDifferedTexMtx::sTexMtxObj;
|
||||
|
||||
/* 80456398-8045639C 004998 0004+00 2/2 0/0 0/0 .sdata2 @1032 */
|
||||
SECTION_SDATA2 static u8 lit_1032[4] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
|
||||
/* 8031322C-80313828 30DB6C 05FC+00 7/5 0/0 0/0 .text loadExecute__17J3DDifferedTexMtxFPA4_Cf */
|
||||
#ifdef NONMATCHING
|
||||
// NONMATCHING regalloc
|
||||
void J3DDifferedTexMtx::loadExecute(f32 const (*param_0)[4]) {
|
||||
// regalloc
|
||||
static Mtx qMtx = {
|
||||
{0.5f, 0.0f, 0.5f, 0.0f},
|
||||
{0.0f, -0.5f, 0.5f, 0.0f},
|
||||
|
|
@ -299,16 +141,18 @@ void J3DDifferedTexMtx::loadExecute(f32 const (*param_0)[4]) {
|
|||
u32 unk;
|
||||
switch (tex_gen_src & 0x3f) {
|
||||
case 3:
|
||||
case 9:
|
||||
case 9: {
|
||||
Mtx& tmp5 = tex_mtx_obj->getMtx(i);
|
||||
mtx = &tmp5;
|
||||
break;
|
||||
}
|
||||
case 1:
|
||||
case 6:
|
||||
case 7:
|
||||
case 7: {
|
||||
Mtx& tmp6 = tex_mtx_obj->getMtx(i);
|
||||
mtx = &tmp6;
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
case 8:
|
||||
PSMTXInverse(j3dSys.mViewMtx, tmp2);
|
||||
|
|
@ -336,11 +180,11 @@ void J3DDifferedTexMtx::loadExecute(f32 const (*param_0)[4]) {
|
|||
tex_mtx_info = &tex_mtx->getTexMtxInfo();
|
||||
unk = (tex_gen_src & 0x80) >> 7;
|
||||
if (unk == 0) {
|
||||
J3DGetTextureMtxOld(tex_mtx_info->mSRT, tex_mtx_info->mCenter, tmp0);
|
||||
J3DGetTextureMtx(tex_mtx_info->mSRT, tex_mtx_info->mCenter, tmp0);
|
||||
} else if (unk == 1) {
|
||||
J3DGetTextureMtxMayaOld(tex_mtx_info->mSRT, tmp0);
|
||||
J3DGetTextureMtxMaya(tex_mtx_info->mSRT, tmp0);
|
||||
}
|
||||
PSMTXConcat(tmp0, qMtx2, tmp0);
|
||||
PSMTXConcat(tmp0, qMtx, tmp0);
|
||||
eff_mtx = &tex_mtx_obj->getEffectMtx(i);
|
||||
J3DMtxProjConcat(tmp0, *eff_mtx, tmp2);
|
||||
PSMTXInverse(j3dSys.mViewMtx, tmp1);
|
||||
|
|
@ -354,11 +198,11 @@ void J3DDifferedTexMtx::loadExecute(f32 const (*param_0)[4]) {
|
|||
tex_mtx_info = &tex_mtx->getTexMtxInfo();
|
||||
unk = (tex_gen_src & 0x80) >> 7;
|
||||
if (unk == 0) {
|
||||
J3DGetTextureMtxOld(tex_mtx_info->mSRT, tex_mtx_info->mCenter, tmp0);
|
||||
J3DGetTextureMtx(tex_mtx_info->mSRT, tex_mtx_info->mCenter, tmp0);
|
||||
} else if (unk == 1) {
|
||||
J3DGetTextureMtxMayaOld(tex_mtx_info->mSRT, tmp0);
|
||||
J3DGetTextureMtxMaya(tex_mtx_info->mSRT, tmp0);
|
||||
}
|
||||
PSMTXConcat(tmp0, qMtx, tmp0);
|
||||
PSMTXConcat(tmp0, qMtx2, tmp0);
|
||||
eff_mtx = &tex_mtx_obj->getEffectMtx(i);
|
||||
J3DMtxProjConcat(tmp0, *eff_mtx, tmp2);
|
||||
PSMTXInverse(j3dSys.mViewMtx, tmp1);
|
||||
|
|
@ -425,11 +269,11 @@ void J3DDifferedTexMtx::loadExecute(f32 const (*param_0)[4]) {
|
|||
tex_mtx_info = &tex_mtx->getTexMtxInfo();
|
||||
unk = (tex_gen_src & 0x80) >> 7;
|
||||
if (unk == 0) {
|
||||
J3DGetTextureMtxOld(tex_mtx_info->mSRT, tex_mtx_info->mCenter, tmp0);
|
||||
J3DGetTextureMtx(tex_mtx_info->mSRT, tex_mtx_info->mCenter, tmp0);
|
||||
} else if (unk == 1) {
|
||||
J3DGetTextureMtxMayaOld(tex_mtx_info->mSRT, tmp0);
|
||||
J3DGetTextureMtxMaya(tex_mtx_info->mSRT, tmp0);
|
||||
}
|
||||
PSMTXConcat(tmp0, qMtx2, tmp0);
|
||||
PSMTXConcat(tmp0, qMtx, tmp0);
|
||||
eff_mtx = &tex_mtx_obj->getEffectMtx(i);
|
||||
J3DMtxProjConcat(tmp0, *eff_mtx, tmp2);
|
||||
PSMTXInverse(j3dSys.mViewMtx, tmp1);
|
||||
|
|
@ -444,11 +288,11 @@ void J3DDifferedTexMtx::loadExecute(f32 const (*param_0)[4]) {
|
|||
tex_mtx_info = &tex_mtx->getTexMtxInfo();
|
||||
unk = (tex_gen_src & 0x80) >> 7;
|
||||
if (unk == 0) {
|
||||
J3DGetTextureMtxOld(tex_mtx_info->mSRT, tex_mtx_info->mCenter, tmp0);
|
||||
J3DGetTextureMtx(tex_mtx_info->mSRT, tex_mtx_info->mCenter, tmp0);
|
||||
} else if (unk == 1) {
|
||||
J3DGetTextureMtxMayaOld(tex_mtx_info->mSRT, tmp0);
|
||||
J3DGetTextureMtxMaya(tex_mtx_info->mSRT, tmp0);
|
||||
}
|
||||
PSMTXConcat(tmp0, qMtx, tmp0);
|
||||
PSMTXConcat(tmp0, qMtx2, tmp0);
|
||||
eff_mtx = &tex_mtx_obj->getEffectMtx(i);
|
||||
J3DMtxProjConcat(tmp0, *eff_mtx, tmp2);
|
||||
PSMTXInverse(j3dSys.mViewMtx, tmp1);
|
||||
|
|
@ -469,11 +313,6 @@ void J3DDifferedTexMtx::loadExecute(f32 const (*param_0)[4]) {
|
|||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
void J3DDifferedTexMtx::loadExecute(f32 const (*param_0)[4]) {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 80313828-803138C8 30E168 00A0+00 1/0 0/0 0/0 .text
|
||||
* loadMtxConcatView_PNGP__21J3DShapeMtxConcatViewCFiUs */
|
||||
|
|
@ -702,9 +541,9 @@ void J3DShapeMtxBBoardConcatView::load() const {
|
|||
mtx[0][0] = 1.0f / mtx[0][0];
|
||||
mtx[1][1] = 1.0f / mtx[1][1];
|
||||
mtx[2][2] = 1.0f / mtx[2][2];
|
||||
mtx[0][3] = FLOAT_LABEL(lit_1032); // 0.0f;
|
||||
mtx[1][3] = FLOAT_LABEL(lit_1032); // 0.0f;
|
||||
mtx[2][3] = FLOAT_LABEL(lit_1032); // 0.0f;
|
||||
mtx[0][3] = 0.0f;
|
||||
mtx[1][3] = 0.0f;
|
||||
mtx[2][3] = 0.0f;
|
||||
if (!sNBTFlag) {
|
||||
J3DFifoLoadNrmMtxImm(mtx, 0);
|
||||
} else {
|
||||
|
|
@ -749,12 +588,9 @@ void J3DShapeMtxYBBoardConcatView::load() const {
|
|||
}
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803CDB70-803CDB84 02AC90 0014+00 0/0 0/0 0/0 .data mtxCache$1263 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static u8 mtxCache[20] = {
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
};
|
||||
#pragma pop
|
||||
static void dummy() {
|
||||
static u8 mtxCache[20] = {
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -406,7 +406,9 @@ J3DMaterial* J3DMaterialFactory::create(J3DMaterial* i_material, MaterialType i_
|
|||
|
||||
/* 80330440-80330D84 32AD80 0944+00 1/1 0/0 0/0 .text
|
||||
* createNormalMaterial__18J3DMaterialFactoryCFP11J3DMaterialiUl */
|
||||
#ifdef NONMATCHING
|
||||
// NONMATCHING. The call to setFog does not match because it uses the version that takes a J3DFog.
|
||||
// If we switch to the version that takes a J3DFog* that part matches, except the vtable index is wrong.
|
||||
// Also regalloc issues
|
||||
J3DMaterial* J3DMaterialFactory::createNormalMaterial(J3DMaterial* i_material, int i_idx,
|
||||
u32 i_flags) const {
|
||||
if (mpDisplayListInit != NULL) {
|
||||
|
|
@ -417,10 +419,7 @@ J3DMaterial* J3DMaterialFactory::createNormalMaterial(J3DMaterial* i_material, i
|
|||
if (stages > tev_stage_num) {
|
||||
tev_stage_num = stages;
|
||||
}
|
||||
u32 u1 = 8;
|
||||
if (tev_stage_num <= 8) {
|
||||
u1 = tev_stage_num;
|
||||
}
|
||||
u32 u1 = tev_stage_num <= 8 ? tev_stage_num : 8;
|
||||
u32 texgens = countTexGens(i_idx);
|
||||
u32 texgen_flag = texgens > 4 ? 0 : getMdlDataFlag_TexGenFlag(i_flags);
|
||||
u32 color_flag = getMdlDataFlag_ColorFlag(i_flags);
|
||||
|
|
@ -440,7 +439,7 @@ J3DMaterial* J3DMaterialFactory::createNormalMaterial(J3DMaterial* i_material, i
|
|||
i_material->mColorBlock->setCullMode(newCullMode(i_idx));
|
||||
i_material->mTexGenBlock->setTexGenNum(newTexGenNum(i_idx));
|
||||
i_material->mTexGenBlock->setNBTScale(newNBTScale(i_idx));
|
||||
i_material->mPEBlock->setFog(newFog(i_idx));
|
||||
i_material->mPEBlock->setFog(&newFog(i_idx));
|
||||
i_material->mPEBlock->setAlphaComp(newAlphaComp(i_idx));
|
||||
i_material->mPEBlock->setBlend(newBlend(i_idx));
|
||||
i_material->mPEBlock->setZMode(newZMode(i_idx));
|
||||
|
|
@ -479,7 +478,8 @@ J3DMaterial* J3DMaterialFactory::createNormalMaterial(J3DMaterial* i_material, i
|
|||
i_material->mColorBlock->setMatColor(i, newMatColor(i_idx, i));
|
||||
}
|
||||
for (u8 i = 0; i < 4; i++) {
|
||||
i_material->mColorBlock->setColorChan(i, newColorChan(i_idx, i));
|
||||
J3DColorChan color_chan = newColorChan(i_idx, i);
|
||||
i_material->mColorBlock->setColorChan(i, color_chan);
|
||||
}
|
||||
for (u8 i = 0; i < texgens; i++) {
|
||||
J3DTexCoord tex_coord = newTexCoord(i_idx, i);
|
||||
|
|
@ -513,7 +513,7 @@ J3DMaterial* J3DMaterialFactory::createNormalMaterial(J3DMaterial* i_material, i
|
|||
i_material->mIndBlock->setIndTexOrder(i, newIndTexOrder(i_idx, i));
|
||||
}
|
||||
for (u8 i = 0; i < ind_tex_stage_num; i++) {
|
||||
i_material->mIndBlock->setIndTexCoordScale(i, newIndTexCoordScale(i_idx, i));
|
||||
i_material->mIndBlock->setIndTexCoordScale(i, &newIndTexCoordScale(i_idx, i));
|
||||
}
|
||||
for (u8 i = 0; i < tev_stage_num; i++) {
|
||||
i_material->mTevBlock->setIndTevStage(i, newIndTevStage(i_idx, i));
|
||||
|
|
@ -521,197 +521,123 @@ J3DMaterial* J3DMaterialFactory::createNormalMaterial(J3DMaterial* i_material, i
|
|||
}
|
||||
return i_material;
|
||||
}
|
||||
#else
|
||||
J3DMaterial* J3DMaterialFactory::createNormalMaterial(J3DMaterial* param_0, int param_1,
|
||||
u32 param_2) const {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 80330D84-8033168C 32B6C4 0908+00 1/1 0/0 0/0 .text
|
||||
* createPatchedMaterial__18J3DMaterialFactoryCFP11J3DMaterialiUl */
|
||||
J3DMaterial* J3DMaterialFactory::createPatchedMaterial(J3DMaterial* param_0, int param_1,
|
||||
u32 param_2) const {
|
||||
// NONMATCHING
|
||||
// NONMATCHING same fog problem as createNormalMaterial
|
||||
J3DMaterial* J3DMaterialFactory::createPatchedMaterial(J3DMaterial* i_material, int i_idx,
|
||||
u32 i_flags) const {
|
||||
if (i_material == NULL) {
|
||||
i_material = new J3DPatchedMaterial();
|
||||
}
|
||||
bool bVar1 = i_flags & 0x3000000 ? true : false;
|
||||
i_material->mColorBlock = J3DMaterial::createColorBlock(0x40000000);
|
||||
i_material->mTexGenBlock = new J3DTexGenBlockPatched();
|
||||
i_material->mTevBlock = new J3DTevBlockPatched();
|
||||
i_material->mIndBlock = J3DMaterial::createIndBlock(bVar1);
|
||||
i_material->mPEBlock = J3DMaterial::createPEBlock(0x10000000, getMaterialMode(i_idx));
|
||||
i_material->mIndex = i_idx;
|
||||
i_material->mMaterialMode = getMaterialMode(i_idx);
|
||||
i_material->mTevBlock->setTevStageNum(newTevStageNum(i_idx));
|
||||
i_material->mColorBlock->setColorChanNum(newColorChanNum(i_idx));
|
||||
i_material->mColorBlock->setCullMode(newCullMode(i_idx));
|
||||
i_material->mPEBlock->setFog(&newFog(i_idx));
|
||||
i_material->mPEBlock->setAlphaComp(newAlphaComp(i_idx));
|
||||
i_material->mPEBlock->setBlend(newBlend(i_idx));
|
||||
i_material->mPEBlock->setZMode(newZMode(i_idx));
|
||||
i_material->mPEBlock->setZCompLoc(newZCompLoc(i_idx));
|
||||
i_material->mPEBlock->setDither(newDither(i_idx));
|
||||
u8 tev_stage_num = i_material->getTevStageNum();
|
||||
for (u8 i = 0; i < 8; i++) {
|
||||
i_material->mTevBlock->setTexNo(i, newTexNo(i_idx, i));
|
||||
}
|
||||
for (u8 i = 0; i < tev_stage_num; i++) {
|
||||
i_material->mTevBlock->setTevOrder(i, newTevOrder(i_idx, i));
|
||||
}
|
||||
for (u8 i = 0; i < 4; i++) {
|
||||
i_material->mTevBlock->setTevKColor(i, newTevKColor(i_idx, i));
|
||||
}
|
||||
for (u8 i = 0; i < 4; i++) {
|
||||
i_material->mTevBlock->setTevColor(i, newTevColor(i_idx, i));
|
||||
}
|
||||
for (u8 i = 0; i < tev_stage_num; i++) {
|
||||
J3DMaterialInitData* material_init_data = &mpMaterialInitData[mpMaterialID[i_idx]];
|
||||
i_material->mTevBlock->setTevStage(i, newTevStage(i_idx, i));
|
||||
if (material_init_data->mTevSwapModeIdx[i] != 0xffff) {
|
||||
i_material->mTevBlock->getTevStage(i)->setTexSel(
|
||||
mpTevSwapModeInfo[material_init_data->mTevSwapModeIdx[i]].mTexSel);
|
||||
i_material->mTevBlock->getTevStage(i)->setRasSel(
|
||||
mpTevSwapModeInfo[material_init_data->mTevSwapModeIdx[i]].mRasSel);
|
||||
}
|
||||
}
|
||||
J3DMaterialInitData* init_data = &mpMaterialInitData[mpMaterialID[i_idx]];
|
||||
for (u8 i = 0; i < tev_stage_num; i++) {
|
||||
if (init_data->mTevKColorSel[i] != 0xff) {
|
||||
i_material->mTevBlock->setTevKColorSel(i, init_data->mTevKColorSel[i]);
|
||||
} else {
|
||||
i_material->mTevBlock->setTevKColorSel(i, 0xC);
|
||||
}
|
||||
}
|
||||
for (u8 i = 0; i < 2; i++) {
|
||||
i_material->mColorBlock->setMatColor(i, newMatColor(i_idx, i));
|
||||
}
|
||||
for (u8 i = 0; i < 4; i++) {
|
||||
J3DColorChan color_chan = newColorChan(i_idx, i);
|
||||
i_material->mColorBlock->setColorChan(i, color_chan);
|
||||
}
|
||||
u32 texgens = countTexGens(i_idx);
|
||||
i_material->mTexGenBlock->setTexGenNum(newTexGenNum(i_idx));
|
||||
for (u8 i = 0; i < 8; i++) {
|
||||
i_material->mTexGenBlock->setTexMtx(i, newTexMtx(i_idx, i));
|
||||
}
|
||||
for (u8 i = 0; i < texgens; i++) {
|
||||
J3DTexCoord tex_coord = newTexCoord(i_idx, i);
|
||||
i_material->mTexGenBlock->setTexCoord(i, &tex_coord);
|
||||
}
|
||||
if (bVar1 && mpIndInitData != NULL) {
|
||||
u8 ind_tex_stage_num = newIndTexStageNum(i_idx);
|
||||
i_material->mIndBlock->setIndTexStageNum(newIndTexStageNum(i_idx));
|
||||
for (u8 i = 0; i < ind_tex_stage_num; i++) {
|
||||
i_material->mIndBlock->setIndTexMtx(i, newIndTexMtx(i_idx, i));
|
||||
}
|
||||
for (u8 i = 0; i < ind_tex_stage_num; i++) {
|
||||
i_material->mIndBlock->setIndTexOrder(i, newIndTexOrder(i_idx, i));
|
||||
}
|
||||
for (u8 i = 0; i < ind_tex_stage_num; i++) {
|
||||
i_material->mIndBlock->setIndTexCoordScale(i, &newIndTexCoordScale(i_idx, i));
|
||||
}
|
||||
for (u8 i = 0; i < tev_stage_num; i++) {
|
||||
i_material->mTevBlock->setIndTevStage(i, newIndTevStage(i_idx, i));
|
||||
}
|
||||
}
|
||||
return i_material;
|
||||
}
|
||||
|
||||
/* 8033168C-803317D4 32BFCC 0148+00 0/0 1/1 0/0 .text
|
||||
* modifyPatchedCurrentMtx__18J3DMaterialFactoryCFP11J3DMateriali */
|
||||
void J3DMaterialFactory::modifyPatchedCurrentMtx(J3DMaterial* param_0, int param_1) const {
|
||||
// NONMATCHING
|
||||
// NONMATCHING problem with setCurrentTexMtx
|
||||
void J3DMaterialFactory::modifyPatchedCurrentMtx(J3DMaterial* i_material, int i_idx) const {
|
||||
J3DTexCoord coord[8];
|
||||
u32 tex_gens = countTexGens(i_idx);
|
||||
for (u8 i = 0; i < tex_gens; i++) {
|
||||
coord[i] = newTexCoord(i_idx, i);
|
||||
}
|
||||
J3DCurrentMtx currentMtx;
|
||||
currentMtx.setCurrentTexMtx(
|
||||
coord[0].getTexGenMtx(),
|
||||
coord[1].getTexGenMtx(),
|
||||
coord[2].getTexGenMtx(),
|
||||
coord[3].getTexGenMtx(),
|
||||
coord[4].getTexGenMtx(),
|
||||
coord[5].getTexGenMtx(),
|
||||
coord[6].getTexGenMtx(),
|
||||
coord[7].getTexGenMtx()
|
||||
);
|
||||
i_material->mCurrentMtx = currentMtx;
|
||||
}
|
||||
|
||||
/* 803CEE90-803CEF0C 02BFB0 007C+00 2/2 0/0 0/0 .data __vt__14J3DPEBlockNull */
|
||||
SECTION_DATA extern void* __vt__14J3DPEBlockNull[31] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)reset__10J3DPEBlockFP10J3DPEBlock,
|
||||
(void*)load__14J3DPEBlockNullFv,
|
||||
(void*)patch__10J3DPEBlockFv,
|
||||
(void*)diff__10J3DPEBlockFUl,
|
||||
(void*)diffFog__10J3DPEBlockFv,
|
||||
(void*)diffBlend__10J3DPEBlockFv,
|
||||
(void*)countDLSize__10J3DPEBlockFv,
|
||||
(void*)getType__14J3DPEBlockNullFv,
|
||||
(void*)setFog__10J3DPEBlockF6J3DFog,
|
||||
(void*)setFog__10J3DPEBlockFP6J3DFog,
|
||||
(void*)getFog__10J3DPEBlockFv,
|
||||
(void*)setAlphaComp__10J3DPEBlockFPC12J3DAlphaComp,
|
||||
(void*)setAlphaComp__10J3DPEBlockFRC12J3DAlphaComp,
|
||||
(void*)getAlphaComp__10J3DPEBlockFv,
|
||||
(void*)setBlend__10J3DPEBlockFPC8J3DBlend,
|
||||
(void*)setBlend__10J3DPEBlockFRC8J3DBlend,
|
||||
(void*)getBlend__10J3DPEBlockFv,
|
||||
(void*)setZMode__10J3DPEBlockFPC8J3DZMode,
|
||||
(void*)setZMode__10J3DPEBlockF8J3DZMode,
|
||||
(void*)getZMode__10J3DPEBlockFv,
|
||||
(void*)setZCompLoc__10J3DPEBlockFPCUc,
|
||||
(void*)setZCompLoc__10J3DPEBlockFUc,
|
||||
(void*)getZCompLoc__10J3DPEBlockCFv,
|
||||
(void*)setDither__10J3DPEBlockFPCUc,
|
||||
(void*)setDither__10J3DPEBlockFUc,
|
||||
(void*)getDither__10J3DPEBlockCFv,
|
||||
(void*)getFogOffset__10J3DPEBlockCFv,
|
||||
(void*)setFogOffset__10J3DPEBlockFUl,
|
||||
(void*)__dt__14J3DPEBlockNullFv,
|
||||
};
|
||||
|
||||
/* 803CEF0C-803CEFE8 02C02C 00DC+00 2/2 0/0 0/0 .data __vt__15J3DTevBlockNull */
|
||||
SECTION_DATA extern void* __vt__15J3DTevBlockNull[55] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)reset__15J3DTevBlockNullFP11J3DTevBlock,
|
||||
(void*)load__11J3DTevBlockFv,
|
||||
(void*)diff__11J3DTevBlockFUl,
|
||||
(void*)diffTexNo__11J3DTevBlockFv,
|
||||
(void*)diffTevReg__11J3DTevBlockFv,
|
||||
(void*)diffTexCoordScale__11J3DTevBlockFv,
|
||||
(void*)diffTevStage__11J3DTevBlockFv,
|
||||
(void*)diffTevStageIndirect__11J3DTevBlockFv,
|
||||
(void*)patch__11J3DTevBlockFv,
|
||||
(void*)patchTexNo__11J3DTevBlockFv,
|
||||
(void*)patchTevReg__11J3DTevBlockFv,
|
||||
(void*)patchTexNoAndTexCoordScale__11J3DTevBlockFv,
|
||||
(void*)ptrToIndex__15J3DTevBlockNullFv,
|
||||
(void*)indexToPtr__15J3DTevBlockNullFv,
|
||||
(void*)getType__15J3DTevBlockNullFv,
|
||||
(void*)countDLSize__11J3DTevBlockFv,
|
||||
(void*)setTexNo__11J3DTevBlockFUlPCUs,
|
||||
(void*)setTexNo__11J3DTevBlockFUlUs,
|
||||
(void*)getTexNo__11J3DTevBlockCFUl,
|
||||
(void*)setTevOrder__11J3DTevBlockFUlPC11J3DTevOrder,
|
||||
(void*)setTevOrder__11J3DTevBlockFUl11J3DTevOrder,
|
||||
(void*)getTevOrder__11J3DTevBlockFUl,
|
||||
(void*)setTevColor__11J3DTevBlockFUlPC13J3DGXColorS10,
|
||||
(void*)setTevColor__11J3DTevBlockFUl13J3DGXColorS10,
|
||||
(void*)getTevColor__11J3DTevBlockFUl,
|
||||
(void*)setTevKColor__11J3DTevBlockFUlPC10J3DGXColor,
|
||||
(void*)setTevKColor__11J3DTevBlockFUl10J3DGXColor,
|
||||
(void*)getTevKColor__11J3DTevBlockFUl,
|
||||
(void*)setTevKColorSel__11J3DTevBlockFUlPCUc,
|
||||
(void*)setTevKColorSel__11J3DTevBlockFUlUc,
|
||||
(void*)getTevKColorSel__11J3DTevBlockFUl,
|
||||
(void*)setTevKAlphaSel__11J3DTevBlockFUlPCUc,
|
||||
(void*)setTevKAlphaSel__11J3DTevBlockFUlUc,
|
||||
(void*)getTevKAlphaSel__11J3DTevBlockFUl,
|
||||
(void*)setTevStageNum__11J3DTevBlockFPCUc,
|
||||
(void*)setTevStageNum__11J3DTevBlockFUc,
|
||||
(void*)getTevStageNum__11J3DTevBlockCFv,
|
||||
(void*)setTevStage__11J3DTevBlockFUlPC11J3DTevStage,
|
||||
(void*)setTevStage__11J3DTevBlockFUl11J3DTevStage,
|
||||
(void*)getTevStage__11J3DTevBlockFUl,
|
||||
(void*)setTevSwapModeInfo__11J3DTevBlockFUlPC18J3DTevSwapModeInfo,
|
||||
(void*)setTevSwapModeInfo__11J3DTevBlockFUl18J3DTevSwapModeInfo,
|
||||
(void*)setTevSwapModeTable__11J3DTevBlockFUlPC19J3DTevSwapModeTable,
|
||||
(void*)setTevSwapModeTable__11J3DTevBlockFUl19J3DTevSwapModeTable,
|
||||
(void*)getTevSwapModeTable__11J3DTevBlockFUl,
|
||||
(void*)setIndTevStage__11J3DTevBlockFUlPC14J3DIndTevStage,
|
||||
(void*)setIndTevStage__11J3DTevBlockFUl14J3DIndTevStage,
|
||||
(void*)getIndTevStage__11J3DTevBlockFUl,
|
||||
(void*)getTexNoOffset__11J3DTevBlockCFv,
|
||||
(void*)getTevRegOffset__11J3DTevBlockCFv,
|
||||
(void*)setTexNoOffset__11J3DTevBlockFUl,
|
||||
(void*)setTevRegOffset__11J3DTevBlockFUl,
|
||||
(void*)__dt__15J3DTevBlockNullFv,
|
||||
};
|
||||
|
||||
/* 803CEFE8-803CF054 02C108 006C+00 2/2 0/0 0/0 .data __vt__18J3DTexGenBlockNull */
|
||||
SECTION_DATA extern void* __vt__18J3DTexGenBlockNull[27] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)reset__14J3DTexGenBlockFP14J3DTexGenBlock,
|
||||
(void*)calc__18J3DTexGenBlockNullFPA4_Cf,
|
||||
(void*)calcWithoutViewMtx__18J3DTexGenBlockNullFPA4_Cf,
|
||||
(void*)calcPostTexMtx__18J3DTexGenBlockNullFPA4_Cf,
|
||||
(void*)calcPostTexMtxWithoutViewMtx__18J3DTexGenBlockNullFPA4_Cf,
|
||||
(void*)load__18J3DTexGenBlockNullFv,
|
||||
(void*)patch__18J3DTexGenBlockNullFv,
|
||||
(void*)diff__18J3DTexGenBlockNullFUl,
|
||||
(void*)diffTexMtx__18J3DTexGenBlockNullFv,
|
||||
(void*)diffTexGen__18J3DTexGenBlockNullFv,
|
||||
(void*)countDLSize__14J3DTexGenBlockFv,
|
||||
(void*)getType__18J3DTexGenBlockNullFv,
|
||||
(void*)setTexGenNum__14J3DTexGenBlockFPCUl,
|
||||
(void*)setTexGenNum__14J3DTexGenBlockFUl,
|
||||
(void*)getTexGenNum__14J3DTexGenBlockCFv,
|
||||
(void*)setTexCoord__14J3DTexGenBlockFUlPC11J3DTexCoord,
|
||||
(void*)getTexCoord__14J3DTexGenBlockFUl,
|
||||
(void*)setTexMtx__14J3DTexGenBlockFUlP9J3DTexMtx,
|
||||
(void*)getTexMtx__14J3DTexGenBlockFUl,
|
||||
(void*)setNBTScale__14J3DTexGenBlockFPC11J3DNBTScale,
|
||||
(void*)setNBTScale__14J3DTexGenBlockF11J3DNBTScale,
|
||||
(void*)getNBTScale__14J3DTexGenBlockFv,
|
||||
(void*)getTexMtxOffset__14J3DTexGenBlockCFv,
|
||||
(void*)setTexMtxOffset__14J3DTexGenBlockFUl,
|
||||
(void*)__dt__18J3DTexGenBlockNullFv,
|
||||
};
|
||||
|
||||
/* 803CF054-803CF0E8 02C174 0090+04 2/2 0/0 0/0 .data __vt__17J3DColorBlockNull */
|
||||
SECTION_DATA extern void* __vt__17J3DColorBlockNull[36 + 1 /* padding */] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)load__13J3DColorBlockFv,
|
||||
(void*)reset__13J3DColorBlockFP13J3DColorBlock,
|
||||
(void*)patch__13J3DColorBlockFv,
|
||||
(void*)patchMatColor__13J3DColorBlockFv,
|
||||
(void*)patchLight__13J3DColorBlockFv,
|
||||
(void*)diff__13J3DColorBlockFUl,
|
||||
(void*)diffAmbColor__13J3DColorBlockFv,
|
||||
(void*)diffMatColor__13J3DColorBlockFv,
|
||||
(void*)diffColorChan__13J3DColorBlockFv,
|
||||
(void*)diffLightObj__13J3DColorBlockFUl,
|
||||
(void*)countDLSize__13J3DColorBlockFv,
|
||||
(void*)getType__17J3DColorBlockNullFv,
|
||||
(void*)setMatColor__13J3DColorBlockFUlPC10J3DGXColor,
|
||||
(void*)setMatColor__13J3DColorBlockFUl10J3DGXColor,
|
||||
(void*)getMatColor__13J3DColorBlockFUl,
|
||||
(void*)setAmbColor__13J3DColorBlockFUlPC10J3DGXColor,
|
||||
(void*)setAmbColor__13J3DColorBlockFUl10J3DGXColor,
|
||||
(void*)getAmbColor__13J3DColorBlockFUl,
|
||||
(void*)setColorChanNum__13J3DColorBlockFUc,
|
||||
(void*)setColorChanNum__13J3DColorBlockFPCUc,
|
||||
(void*)getColorChanNum__13J3DColorBlockCFv,
|
||||
(void*)setColorChan__13J3DColorBlockFUlRC12J3DColorChan,
|
||||
(void*)setColorChan__13J3DColorBlockFUlPC12J3DColorChan,
|
||||
(void*)getColorChan__13J3DColorBlockFUl,
|
||||
(void*)setLight__13J3DColorBlockFUlP11J3DLightObj,
|
||||
(void*)getLight__13J3DColorBlockFUl,
|
||||
(void*)setCullMode__13J3DColorBlockFPCUc,
|
||||
(void*)setCullMode__13J3DColorBlockFUc,
|
||||
(void*)getCullMode__13J3DColorBlockCFv,
|
||||
(void*)getMatColorOffset__13J3DColorBlockCFv,
|
||||
(void*)getColorChanOffset__13J3DColorBlockCFv,
|
||||
(void*)setMatColorOffset__13J3DColorBlockFUl,
|
||||
(void*)setColorChanOffset__13J3DColorBlockFUl,
|
||||
(void*)__dt__17J3DColorBlockNullFv,
|
||||
/* padding */
|
||||
NULL,
|
||||
};
|
||||
|
||||
/* 803317D4-80331A7C 32C114 02A8+00 2/2 0/0 0/0 .text
|
||||
* createLockedMaterial__18J3DMaterialFactoryCFP11J3DMaterialiUl */
|
||||
#ifdef NONMATCHING
|
||||
// matches but makes the J3DMaterial destructor appear in the wrong place
|
||||
J3DMaterial* J3DMaterialFactory::createLockedMaterial(J3DMaterial* i_material, int i_idx,
|
||||
u32 i_flags) const {
|
||||
if (i_material == NULL) {
|
||||
|
|
@ -741,12 +667,6 @@ J3DMaterial* J3DMaterialFactory::createLockedMaterial(J3DMaterial* i_material, i
|
|||
}
|
||||
return i_material;
|
||||
}
|
||||
#else
|
||||
J3DMaterial* J3DMaterialFactory::createLockedMaterial(J3DMaterial* param_0, int param_1,
|
||||
u32 param_2) const {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 80331A7C-80331AFC 32C3BC 0080+00 0/0 4/4 0/0 .text
|
||||
* calcSize__18J3DMaterialFactoryCFP11J3DMaterialQ218J3DMaterialFactory12MaterialTypeiUl */
|
||||
|
|
@ -769,8 +689,7 @@ u32 J3DMaterialFactory::calcSize(J3DMaterial* i_material, J3DMaterialFactory::Ma
|
|||
|
||||
/* 80331AFC-80331C30 32C43C 0134+00 1/1 0/0 0/0 .text
|
||||
* calcSizeNormalMaterial__18J3DMaterialFactoryCFP11J3DMaterialiUl */
|
||||
#ifdef NONMATCHING
|
||||
// regalloc
|
||||
// NONMATCHING regalloc
|
||||
u32 J3DMaterialFactory::calcSizeNormalMaterial(J3DMaterial* i_material, int i_idx,
|
||||
u32 i_flags) const {
|
||||
u32 size = 0;
|
||||
|
|
@ -779,12 +698,11 @@ u32 J3DMaterialFactory::calcSizeNormalMaterial(J3DMaterial* i_material, int i_id
|
|||
}
|
||||
|
||||
u32 stages = countStages(i_idx);
|
||||
// u32 tev_stage_num = getMdlDataFlag_TevStageNum(i_flags);
|
||||
u32 tev_stage_num = (i_flags >> 0x10) & 0x1f;
|
||||
u32 tev_stage_num = getMdlDataFlag_TevStageNum(i_flags);
|
||||
if (stages > tev_stage_num) {
|
||||
tev_stage_num = stages;
|
||||
}
|
||||
u32 tex_gens = countTexGens(i_flags);
|
||||
u32 tex_gens = countTexGens(i_idx);
|
||||
u32 tex_gen_flag = tex_gens > 4 ?
|
||||
getMdlDataFlag_TexGenFlag(0) : getMdlDataFlag_TexGenFlag(i_flags);
|
||||
u32 color_block_flag = getMdlDataFlag_ColorFlag(i_flags);
|
||||
|
|
@ -806,23 +724,16 @@ u32 J3DMaterialFactory::calcSizeNormalMaterial(J3DMaterial* i_material, int i_id
|
|||
}
|
||||
return size;
|
||||
}
|
||||
#else
|
||||
u32 J3DMaterialFactory::calcSizeNormalMaterial(J3DMaterial* param_0, int param_1,
|
||||
u32 param_2) const {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 80331C30-80331D00 32C570 00D0+00 1/1 0/0 0/0 .text
|
||||
* calcSizePatchedMaterial__18J3DMaterialFactoryCFP11J3DMaterialiUl */
|
||||
#ifdef NONMATCHING
|
||||
u32 J3DMaterialFactory::calcSizePatchedMaterial(J3DMaterial* i_material, int i_idx,
|
||||
u32 i_flags) const {
|
||||
u32 size = 0;
|
||||
if (i_material == NULL) {
|
||||
size = sizeof(J3DPatchedMaterial);
|
||||
}
|
||||
int ind_flag = (i_flags & 0x3000000) != 0;
|
||||
u8 ind_flag = (i_flags & 0x3000000) != 0 ? 1 : 0;
|
||||
size += J3DMaterial::calcSizeColorBlock(0x40000000);
|
||||
size += 0x134; // TODO what is this
|
||||
size += J3DMaterial::calcSizeIndBlock(ind_flag);
|
||||
|
|
@ -835,12 +746,6 @@ u32 J3DMaterialFactory::calcSizePatchedMaterial(J3DMaterial* i_material, int i_i
|
|||
}
|
||||
return size;
|
||||
}
|
||||
#else
|
||||
u32 J3DMaterialFactory::calcSizePatchedMaterial(J3DMaterial* param_0, int param_1,
|
||||
u32 param_2) const {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 80331D00-80331D18 32C640 0018+00 2/2 0/0 0/0 .text
|
||||
* calcSizeLockedMaterial__18J3DMaterialFactoryCFP11J3DMaterialiUl */
|
||||
|
|
@ -855,16 +760,11 @@ u32 J3DMaterialFactory::calcSizeLockedMaterial(J3DMaterial* i_material, int i_id
|
|||
}
|
||||
|
||||
/* 804564A8-804564AC 004AA8 0004+00 1/1 0/0 0/0 .sdata2 @1691 */
|
||||
#ifdef NONMATCHING
|
||||
static GXColor const defaultMatColor = {0xff, 0xff, 0xff, 0xff};
|
||||
#else
|
||||
SECTION_SDATA2 static u32 lit_1691 = 0xFFFFFFFF;
|
||||
#endif
|
||||
|
||||
/* 80331D18-80331D74 32C658 005C+00 2/2 0/0 0/0 .text newMatColor__18J3DMaterialFactoryCFii */
|
||||
#ifdef NONMATCHING
|
||||
J3DGXColor J3DMaterialFactory::newMatColor(int i_idx, int i_no) const {
|
||||
J3DGXColor dflt = defaultMatColor;
|
||||
J3DGXColor dflt = (J3DGXColor)defaultMatColor;
|
||||
u16 mat_color_index = mpMaterialInitData[mpMaterialID[i_idx]].mMatColorIdx[i_no];
|
||||
if (mat_color_index != 0xffff) {
|
||||
return mpMatColor[mat_color_index];
|
||||
|
|
@ -872,11 +772,6 @@ J3DGXColor J3DMaterialFactory::newMatColor(int i_idx, int i_no) const {
|
|||
return dflt;
|
||||
}
|
||||
}
|
||||
#else
|
||||
J3DGXColor J3DMaterialFactory::newMatColor(int param_0, int param_1) const {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 80331D74-80331DAC 32C6B4 0038+00 2/2 0/0 0/0 .text newColorChanNum__18J3DMaterialFactoryCFi */
|
||||
u8 J3DMaterialFactory::newColorChanNum(int i_idx) const {
|
||||
|
|
@ -889,8 +784,7 @@ u8 J3DMaterialFactory::newColorChanNum(int i_idx) const {
|
|||
}
|
||||
|
||||
/* 80331DAC-80331F50 32C6EC 01A4+00 2/2 0/0 0/0 .text newColorChan__18J3DMaterialFactoryCFii */
|
||||
#ifdef NONMATCHING
|
||||
// problem with J3DColorChan inline constructor
|
||||
// NONMATCHING problem with J3DColorChan inline constructor
|
||||
J3DColorChan J3DMaterialFactory::newColorChan(int i_idx, int i_no) const {
|
||||
u16 color_chan_index = mpMaterialInitData[mpMaterialID[i_idx]].mColorChanIdx[i_no];
|
||||
if (color_chan_index != 0xffff) {
|
||||
|
|
@ -899,23 +793,13 @@ J3DColorChan J3DMaterialFactory::newColorChan(int i_idx, int i_no) const {
|
|||
return J3DColorChan();
|
||||
}
|
||||
}
|
||||
#else
|
||||
J3DColorChan J3DMaterialFactory::newColorChan(int param_0, int param_1) const {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 804564AC-804564B0 004AAC 0004+00 1/1 0/0 0/0 .sdata2 @1798 */
|
||||
#ifdef NONMATCHING
|
||||
static GXColor const defaultAmbColor = {0x32, 0x32, 0x32, 0x32};
|
||||
#else
|
||||
SECTION_SDATA2 static u32 lit_1798 = 0x32323232;
|
||||
#endif
|
||||
|
||||
/* 80331F50-80331FAC 32C890 005C+00 1/1 0/0 0/0 .text newAmbColor__18J3DMaterialFactoryCFii */
|
||||
#ifdef NONMATCHING
|
||||
J3DGXColor J3DMaterialFactory::newAmbColor(int i_idx, int i_no) const {
|
||||
J3DGXColor dflt = defaultAmbColor;
|
||||
J3DGXColor dflt = (J3DGXColor)defaultAmbColor;
|
||||
u16 amb_color_index = mpMaterialInitData[mpMaterialID[i_idx]].mAmbColorIdx[i_no];
|
||||
if (amb_color_index != 0xffff) {
|
||||
return mpAmbColor[amb_color_index];
|
||||
|
|
@ -923,11 +807,6 @@ J3DGXColor J3DMaterialFactory::newAmbColor(int i_idx, int i_no) const {
|
|||
return dflt;
|
||||
}
|
||||
}
|
||||
#else
|
||||
J3DGXColor J3DMaterialFactory::newAmbColor(int param_0, int param_1) const {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 80331FAC-80331FE4 32C8EC 0038+00 2/2 0/0 0/0 .text newTexGenNum__18J3DMaterialFactoryCFi */
|
||||
u32 J3DMaterialFactory::newTexGenNum(int i_idx) const {
|
||||
|
|
@ -1006,20 +885,11 @@ J3DGXColorS10 J3DMaterialFactory::newTevColor(int i_idx, int i_no) const {
|
|||
}
|
||||
|
||||
/* 804564B0-804564B8 004AB0 0004+04 1/1 0/0 0/0 .sdata2 @1915 */
|
||||
#ifdef NONMATCHING
|
||||
static GXColor const defaultTevKColor = {0xff, 0xff, 0xff, 0xff};
|
||||
#else
|
||||
SECTION_SDATA2 static u32 lit_1915[1 + 1 /* padding */] = {
|
||||
0xFFFFFFFF,
|
||||
/* padding */
|
||||
0x00000000,
|
||||
};
|
||||
#endif
|
||||
|
||||
/* 80332210-8033226C 32CB50 005C+00 2/2 0/0 0/0 .text newTevKColor__18J3DMaterialFactoryCFii */
|
||||
#ifdef NONMATCHING
|
||||
J3DGXColor J3DMaterialFactory::newTevKColor(int i_idx, int i_no) const {
|
||||
J3DGXColor dflt = defaultTevKColor;
|
||||
J3DGXColor dflt = (J3DGXColor)defaultTevKColor;
|
||||
u16 tev_kcolor_index = mpMaterialInitData[mpMaterialID[i_idx]].mTevKColorIdx[i_no];
|
||||
if (tev_kcolor_index != 0xffff) {
|
||||
return mpTevKColor[tev_kcolor_index];
|
||||
|
|
@ -1027,11 +897,6 @@ J3DGXColor J3DMaterialFactory::newTevKColor(int i_idx, int i_no) const {
|
|||
return dflt;
|
||||
}
|
||||
}
|
||||
#else
|
||||
J3DGXColor J3DMaterialFactory::newTevKColor(int param_0, int param_1) const {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 8033226C-803322A4 32CBAC 0038+00 2/2 0/0 0/0 .text newTevStageNum__18J3DMaterialFactoryCFi */
|
||||
u8 J3DMaterialFactory::newTevStageNum(int i_idx) const {
|
||||
|
|
@ -1055,8 +920,6 @@ J3DTevStage J3DMaterialFactory::newTevStage(int i_idx, int i_no) const {
|
|||
|
||||
/* 80332304-803323A0 32CC44 009C+00 1/1 0/0 0/0 .text
|
||||
* newTevSwapModeTable__18J3DMaterialFactoryCFii */
|
||||
#ifdef NONMATCHING
|
||||
// J3DTevSwapModeTable inline constructor matches in the first usage but not the second
|
||||
J3DTevSwapModeTable J3DMaterialFactory::newTevSwapModeTable(int i_idx, int i_no) const {
|
||||
u16 tev_swap_mode_table_index = mpMaterialInitData[mpMaterialID[i_idx]].mTevSwapModeTableIdx[i_no];
|
||||
if (tev_swap_mode_table_index != 0xffff) {
|
||||
|
|
@ -1065,11 +928,6 @@ J3DTevSwapModeTable J3DMaterialFactory::newTevSwapModeTable(int i_idx, int i_no)
|
|||
return J3DTevSwapModeTable(j3dDefaultTevSwapModeTable);
|
||||
}
|
||||
}
|
||||
#else
|
||||
J3DTevSwapModeTable J3DMaterialFactory::newTevSwapModeTable(int param_0, int param_1) const {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 803323A0-803323C8 32CCE0 0028+00 2/2 0/0 0/0 .text newIndTexStageNum__18J3DMaterialFactoryCFi
|
||||
*/
|
||||
|
|
@ -1133,8 +991,7 @@ J3DFog J3DMaterialFactory::newFog(int i_idx) const {
|
|||
}
|
||||
|
||||
/* 80332768-803327E8 32D0A8 0080+00 2/2 0/0 0/0 .text newAlphaComp__18J3DMaterialFactoryCFi */
|
||||
#ifdef NONMATCHING
|
||||
// weird issue with calcAlphaCmpID, see J3DMatBlock.h
|
||||
// NONMATCHING weird issue with calcAlphaCmpID, see J3DMatBlock.h
|
||||
J3DAlphaComp J3DMaterialFactory::newAlphaComp(int i_idx) const {
|
||||
J3DMaterialInitData* mtl_init_data = &mpMaterialInitData[mpMaterialID[i_idx]];
|
||||
if (mtl_init_data->mAlphaCompIdx != 0xffff) {
|
||||
|
|
@ -1143,11 +1000,6 @@ J3DAlphaComp J3DMaterialFactory::newAlphaComp(int i_idx) const {
|
|||
return J3DAlphaComp(0xffff);
|
||||
}
|
||||
}
|
||||
#else
|
||||
J3DAlphaComp J3DMaterialFactory::newAlphaComp(int param_0) const {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 803327E8-8033282C 32D128 0044+00 2/2 0/0 0/0 .text newBlend__18J3DMaterialFactoryCFi
|
||||
*/
|
||||
|
|
@ -1202,141 +1054,3 @@ J3DNBTScale J3DMaterialFactory::newNBTScale(int i_idx) const {
|
|||
return dflt;
|
||||
}
|
||||
}
|
||||
|
||||
/* 803329A0-803329A4 32D2E0 0004+00 1/0 0/0 0/0 .text load__14J3DPEBlockNullFv */
|
||||
// void J3DPEBlockNull::load() {
|
||||
extern "C" void load__14J3DPEBlockNullFv() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 803329A4-803329B0 32D2E4 000C+00 1/0 0/0 0/0 .text getType__14J3DPEBlockNullFv */
|
||||
// u32 J3DPEBlockNull::getType() {
|
||||
extern "C" void getType__14J3DPEBlockNullFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 803329B0-80332A0C 32D2F0 005C+00 1/0 0/0 0/0 .text __dt__14J3DPEBlockNullFv */
|
||||
// J3DPEBlockNull::~J3DPEBlockNull() {
|
||||
extern "C" void __dt__14J3DPEBlockNullFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80332A0C-80332A10 32D34C 0004+00 1/0 0/0 0/0 .text reset__15J3DTevBlockNullFP11J3DTevBlock */
|
||||
// void J3DTevBlockNull::reset(J3DTevBlock* param_0) {
|
||||
extern "C" void reset__15J3DTevBlockNullFP11J3DTevBlock() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80332A10-80332A14 32D350 0004+00 1/0 0/0 0/0 .text ptrToIndex__15J3DTevBlockNullFv */
|
||||
// void J3DTevBlockNull::ptrToIndex() {
|
||||
extern "C" void ptrToIndex__15J3DTevBlockNullFv() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80332A14-80332A38 32D354 0024+00 1/0 0/0 0/0 .text indexToPtr__15J3DTevBlockNullFv */
|
||||
// void J3DTevBlockNull::indexToPtr() {
|
||||
extern "C" void indexToPtr__15J3DTevBlockNullFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80332A38-80332A44 32D378 000C+00 1/0 0/0 0/0 .text getType__15J3DTevBlockNullFv */
|
||||
// u32 J3DTevBlockNull::getType() {
|
||||
extern "C" void getType__15J3DTevBlockNullFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80332A44-80332AA0 32D384 005C+00 1/0 0/0 0/0 .text __dt__15J3DTevBlockNullFv */
|
||||
// J3DTevBlockNull::~J3DTevBlockNull() {
|
||||
extern "C" void __dt__15J3DTevBlockNullFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80332AA0-80332AA4 32D3E0 0004+00 1/0 0/0 0/0 .text calc__18J3DTexGenBlockNullFPA4_Cf
|
||||
*/
|
||||
// void J3DTexGenBlockNull::calc(f32 const (*param_0)[4]) {
|
||||
extern "C" void calc__18J3DTexGenBlockNullFPA4_Cf() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80332AA4-80332AA8 32D3E4 0004+00 1/0 0/0 0/0 .text
|
||||
* calcWithoutViewMtx__18J3DTexGenBlockNullFPA4_Cf */
|
||||
// void J3DTexGenBlockNull::calcWithoutViewMtx(f32 const (*param_0)[4]) {
|
||||
extern "C" void calcWithoutViewMtx__18J3DTexGenBlockNullFPA4_Cf() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80332AA8-80332AAC 32D3E8 0004+00 1/0 0/0 0/0 .text calcPostTexMtx__18J3DTexGenBlockNullFPA4_Cf
|
||||
*/
|
||||
// void J3DTexGenBlockNull::calcPostTexMtx(f32 const (*param_0)[4]) {
|
||||
extern "C" void calcPostTexMtx__18J3DTexGenBlockNullFPA4_Cf() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80332AAC-80332AB0 32D3EC 0004+00 1/0 0/0 0/0 .text
|
||||
* calcPostTexMtxWithoutViewMtx__18J3DTexGenBlockNullFPA4_Cf */
|
||||
// void J3DTexGenBlockNull::calcPostTexMtxWithoutViewMtx(f32 const (*param_0)[4]) {
|
||||
extern "C" void calcPostTexMtxWithoutViewMtx__18J3DTexGenBlockNullFPA4_Cf() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80332AB0-80332AB4 32D3F0 0004+00 1/0 0/0 0/0 .text load__18J3DTexGenBlockNullFv */
|
||||
// void J3DTexGenBlockNull::load() {
|
||||
extern "C" void load__18J3DTexGenBlockNullFv() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80332AB4-80332AB8 32D3F4 0004+00 1/0 0/0 0/0 .text patch__18J3DTexGenBlockNullFv */
|
||||
// void J3DTexGenBlockNull::patch() {
|
||||
extern "C" void patch__18J3DTexGenBlockNullFv() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80332AB8-80332ABC 32D3F8 0004+00 1/0 0/0 0/0 .text diff__18J3DTexGenBlockNullFUl */
|
||||
// void J3DTexGenBlockNull::diff(u32 param_0) {
|
||||
extern "C" void diff__18J3DTexGenBlockNullFUl() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80332ABC-80332AC0 32D3FC 0004+00 1/0 0/0 0/0 .text diffTexMtx__18J3DTexGenBlockNullFv
|
||||
*/
|
||||
// void J3DTexGenBlockNull::diffTexMtx() {
|
||||
extern "C" void diffTexMtx__18J3DTexGenBlockNullFv() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80332AC0-80332AC4 32D400 0004+00 1/0 0/0 0/0 .text diffTexGen__18J3DTexGenBlockNullFv
|
||||
*/
|
||||
// void J3DTexGenBlockNull::diffTexGen() {
|
||||
extern "C" void diffTexGen__18J3DTexGenBlockNullFv() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80332AC4-80332AD0 32D404 000C+00 1/0 0/0 0/0 .text getType__18J3DTexGenBlockNullFv */
|
||||
// u32 J3DTexGenBlockNull::getType() {
|
||||
extern "C" void getType__18J3DTexGenBlockNullFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80332AD0-80332B2C 32D410 005C+00 1/0 0/0 0/0 .text __dt__18J3DTexGenBlockNullFv */
|
||||
// J3DTexGenBlockNull::~J3DTexGenBlockNull() {
|
||||
extern "C" void __dt__18J3DTexGenBlockNullFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80332B2C-80332B38 32D46C 000C+00 1/0 0/0 0/0 .text getType__17J3DColorBlockNullFv */
|
||||
// u32 J3DColorBlockNull::getType() {
|
||||
extern "C" void getType__17J3DColorBlockNullFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80332B38-80332B94 32D478 005C+00 1/0 0/0 0/0 .text __dt__17J3DColorBlockNullFv */
|
||||
// J3DColorBlockNull::~J3DColorBlockNull() {
|
||||
extern "C" void __dt__17J3DColorBlockNullFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80332B94-80332BDC 32D4D4 0048+00 0/0 2/2 0/0 .text __dt__11J3DMaterialFv */
|
||||
// J3DMaterial::~J3DMaterial() {
|
||||
extern "C" void __dt__11J3DMaterialFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
|
@ -4,83 +4,8 @@
|
|||
//
|
||||
|
||||
#include "JSystem/J3DGraphLoader/J3DMaterialFactory_v21.h"
|
||||
#include "JSystem/J3DGraphBase/J3DMaterial.h"
|
||||
#include "JSystem/JSupport/JSupport.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void __ct__22J3DMaterialFactory_v21FRC20J3DMaterialBlock_v21();
|
||||
extern "C" void countUniqueMaterials__22J3DMaterialFactory_v21Fv();
|
||||
extern "C" void countTexGens__22J3DMaterialFactory_v21CFi();
|
||||
extern "C" void countStages__22J3DMaterialFactory_v21CFi();
|
||||
extern "C" void create__22J3DMaterialFactory_v21CFP11J3DMaterialiUl();
|
||||
extern "C" void newMatColor__22J3DMaterialFactory_v21CFii();
|
||||
extern "C" void newColorChanNum__22J3DMaterialFactory_v21CFi();
|
||||
extern "C" void newColorChan__22J3DMaterialFactory_v21CFii();
|
||||
extern "C" void newTexGenNum__22J3DMaterialFactory_v21CFi();
|
||||
extern "C" void newTexCoord__22J3DMaterialFactory_v21CFii();
|
||||
extern "C" void newTexMtx__22J3DMaterialFactory_v21CFii();
|
||||
extern "C" void newCullMode__22J3DMaterialFactory_v21CFi();
|
||||
extern "C" void newTexNo__22J3DMaterialFactory_v21CFii();
|
||||
extern "C" void newTevOrder__22J3DMaterialFactory_v21CFii();
|
||||
extern "C" void newTevColor__22J3DMaterialFactory_v21CFii();
|
||||
extern "C" void newTevKColor__22J3DMaterialFactory_v21CFii();
|
||||
extern "C" void newTevStageNum__22J3DMaterialFactory_v21CFi();
|
||||
extern "C" void newTevStage__22J3DMaterialFactory_v21CFii();
|
||||
extern "C" void newTevSwapModeTable__22J3DMaterialFactory_v21CFii();
|
||||
extern "C" void newFog__22J3DMaterialFactory_v21CFi();
|
||||
extern "C" void newAlphaComp__22J3DMaterialFactory_v21CFi();
|
||||
extern "C" void newBlend__22J3DMaterialFactory_v21CFi();
|
||||
extern "C" void newZMode__22J3DMaterialFactory_v21CFi();
|
||||
extern "C" void newZCompLoc__22J3DMaterialFactory_v21CFi();
|
||||
extern "C" void newDither__22J3DMaterialFactory_v21CFi();
|
||||
extern "C" void newNBTScale__22J3DMaterialFactory_v21CFi();
|
||||
extern "C" void func_80334118(void* _this, void const*, void const*);
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void __ct__11J3DTevStageFv();
|
||||
extern "C" void __ct__11J3DTevStageFRC15J3DTevStageInfo();
|
||||
extern "C" void* __nw__FUl();
|
||||
extern "C" GXColorS10* func_802F41E8(void const*, void const*);
|
||||
extern "C" u8* func_802F4260(void const*, void const*);
|
||||
extern "C" GXColor* func_802F4278(void const*, void const*);
|
||||
extern "C" GXCullMode* func_802F4290(void const*, void const*);
|
||||
extern "C" u16* func_802F42C0(void const*, void const*);
|
||||
extern "C" void createColorBlock__11J3DMaterialFUl();
|
||||
extern "C" void createTexGenBlock__11J3DMaterialFUl();
|
||||
extern "C" void createTevBlock__11J3DMaterialFi();
|
||||
extern "C" void createIndBlock__11J3DMaterialFi();
|
||||
extern "C" void createPEBlock__11J3DMaterialFUlUl();
|
||||
extern "C" void initialize__11J3DMaterialFv();
|
||||
extern "C" void __as__13J3DTexMtxInfoFRC13J3DTexMtxInfo();
|
||||
extern "C" void __as__10J3DFogInfoFRC10J3DFogInfo();
|
||||
extern "C" void func_80332C24(void* _this, void const*, void const*);
|
||||
extern "C" void func_80332C3C(void* _this, void const*, void const*);
|
||||
extern "C" void func_80332C54(void* _this, void const*, void const*);
|
||||
extern "C" void func_80332C6C(void* _this, void const*, void const*);
|
||||
extern "C" void func_80332C84(void* _this, void const*, void const*);
|
||||
extern "C" void func_80332C9C(void* _this, void const*, void const*);
|
||||
extern "C" void func_80332CB4(void* _this, void const*, void const*);
|
||||
extern "C" void func_80332CCC(void* _this, void const*, void const*);
|
||||
extern "C" void func_80332CE4(void* _this, void const*, void const*);
|
||||
extern "C" void func_80332CFC(void* _this, void const*, void const*);
|
||||
extern "C" void func_80332D14(void* _this, void const*, void const*);
|
||||
extern "C" void func_80332D2C(void* _this, void const*, void const*);
|
||||
extern "C" void func_80332D5C(void* _this, void const*, void const*);
|
||||
extern "C" void _savegpr_19();
|
||||
extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_19();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" extern void* __vt__11J3DMaterial[12];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* 80332DA4-80332F84 32D6E4 01E0+00 0/0 2/2 0/0 .text
|
||||
* __ct__22J3DMaterialFactory_v21FRC20J3DMaterialBlock_v21 */
|
||||
|
|
@ -158,8 +83,95 @@ u32 J3DMaterialFactory_v21::countStages(int i_idx) const {
|
|||
|
||||
/* 80333068-803337D8 32D9A8 0770+00 0/0 2/2 0/0 .text
|
||||
* create__22J3DMaterialFactory_v21CFP11J3DMaterialiUl */
|
||||
J3DMaterial* J3DMaterialFactory_v21::create(J3DMaterial* param_0, int param_1, u32 param_2) const {
|
||||
// NONMATCHING
|
||||
// NONMATCHINg same problems as J3DMaterialFactory::createNormalMaterial
|
||||
J3DMaterial* J3DMaterialFactory_v21::create(J3DMaterial* i_material, int i_idx, u32 i_flags) const {
|
||||
u32 stages = countStages(i_idx);
|
||||
u32 tev_stage_num = getMdlDataFlag_TevStageNum(i_flags);
|
||||
if (stages > tev_stage_num) {
|
||||
tev_stage_num = stages;
|
||||
}
|
||||
u32 u1 = tev_stage_num <= 8 ? tev_stage_num : 8;
|
||||
u32 texgens = countTexGens(i_idx);
|
||||
u32 texgen_flag = texgens > 4 ? 0 : getMdlDataFlag_TexGenFlag(i_flags);
|
||||
u32 color_flag = getMdlDataFlag_ColorFlag(i_flags);
|
||||
u32 pe_flag = getMdlDataFlag_PEFlag(i_flags);
|
||||
bool ind_flag = (i_flags & 0x1000000) != 0;
|
||||
if (i_material == NULL) {
|
||||
i_material = new J3DMaterial();
|
||||
}
|
||||
i_material->mColorBlock = J3DMaterial::createColorBlock(color_flag);
|
||||
i_material->mTexGenBlock = J3DMaterial::createTexGenBlock(texgen_flag);
|
||||
i_material->mTevBlock = J3DMaterial::createTevBlock((u16)tev_stage_num);
|
||||
i_material->mIndBlock = J3DMaterial::createIndBlock(ind_flag);
|
||||
i_material->mPEBlock = J3DMaterial::createPEBlock(pe_flag, getMaterialMode(i_idx));
|
||||
i_material->mIndex = i_idx;
|
||||
i_material->mMaterialMode = getMaterialMode(i_idx);
|
||||
i_material->mColorBlock->setColorChanNum(newColorChanNum(i_idx));
|
||||
i_material->mColorBlock->setCullMode(newCullMode(i_idx));
|
||||
i_material->mTexGenBlock->setTexGenNum(newTexGenNum(i_idx));
|
||||
i_material->mTexGenBlock->setNBTScale(newNBTScale(i_idx));
|
||||
i_material->mPEBlock->setFog(&newFog(i_idx));
|
||||
i_material->mPEBlock->setAlphaComp(newAlphaComp(i_idx));
|
||||
i_material->mPEBlock->setBlend(newBlend(i_idx));
|
||||
i_material->mPEBlock->setZMode(newZMode(i_idx));
|
||||
i_material->mPEBlock->setZCompLoc(newZCompLoc(i_idx));
|
||||
i_material->mPEBlock->setDither(newDither(i_idx));
|
||||
i_material->mTevBlock->setTevStageNum(newTevStageNum(i_idx));
|
||||
for (u8 i = 0; i < u1; i++) {
|
||||
i_material->mTevBlock->setTexNo(i, newTexNo(i_idx, i));
|
||||
}
|
||||
for (u8 i = 0; i < tev_stage_num; i++) {
|
||||
i_material->mTevBlock->setTevOrder(i, newTevOrder(i_idx, i));
|
||||
}
|
||||
for (u8 i = 0; i < tev_stage_num; i++) {
|
||||
J3DMaterialInitData_v21* material_init_data = &mpMaterialInitData[mpMaterialID[i_idx]];
|
||||
i_material->mTevBlock->setTevStage(i, newTevStage(i_idx, i));
|
||||
if (material_init_data->mTevSwapModeIdx[i] != 0xffff) {
|
||||
i_material->mTevBlock->getTevStage(i)->setTexSel(
|
||||
mpTevSwapModeInfo[material_init_data->mTevSwapModeIdx[i]].mTexSel);
|
||||
i_material->mTevBlock->getTevStage(i)->setRasSel(
|
||||
mpTevSwapModeInfo[material_init_data->mTevSwapModeIdx[i]].mRasSel);
|
||||
}
|
||||
}
|
||||
for (u8 i = 0; i < 4; i++) {
|
||||
i_material->mTevBlock->setTevKColor(i, newTevKColor(i_idx, i));
|
||||
}
|
||||
for (u8 i = 0; i < 4; i++) {
|
||||
i_material->mTevBlock->setTevColor(i, newTevColor(i_idx, i));
|
||||
}
|
||||
for (u8 i = 0; i < 4; i++) {
|
||||
i_material->mTevBlock->setTevSwapModeTable(i, newTevSwapModeTable(i_idx, i));
|
||||
}
|
||||
for (u8 i = 0; i < 2; i++) {
|
||||
i_material->mColorBlock->setMatColor(i, newMatColor(i_idx, i));
|
||||
}
|
||||
for (u8 i = 0; i < 4; i++) {
|
||||
J3DColorChan color_chan = newColorChan(i_idx, i);
|
||||
i_material->mColorBlock->setColorChan(i, color_chan);
|
||||
}
|
||||
for (u8 i = 0; i < texgens; i++) {
|
||||
J3DTexCoord tex_coord = newTexCoord(i_idx, i);
|
||||
i_material->mTexGenBlock->setTexCoord(i, &tex_coord);
|
||||
}
|
||||
for (u8 i = 0; i < 8; i++) {
|
||||
i_material->mTexGenBlock->setTexMtx(i, newTexMtx(i_idx, i));
|
||||
}
|
||||
J3DMaterialInitData_v21* material_init_data = &mpMaterialInitData[mpMaterialID[i_idx]];
|
||||
for (u8 i = 0; i < tev_stage_num; i++) {
|
||||
if (material_init_data->mTevKColorSel[i] != 0xff) {
|
||||
i_material->mTevBlock->setTevKColorSel(i, material_init_data->mTevKColorSel[i]);
|
||||
} else {
|
||||
i_material->mTevBlock->setTevKColorSel(i, 0xc);
|
||||
}
|
||||
}
|
||||
for (u8 i = 0; i < tev_stage_num; i++) {
|
||||
if (material_init_data->mTevKAlphaSel[i] != 0xff) {
|
||||
i_material->mTevBlock->setTevKAlphaSel(i, material_init_data->mTevKAlphaSel[i]);
|
||||
} else {
|
||||
i_material->mTevBlock->setTevKAlphaSel(i, 0x1c);
|
||||
}
|
||||
}
|
||||
return i_material;
|
||||
}
|
||||
|
||||
/* 803337D8-80333834 32E118 005C+00 1/1 0/0 0/0 .text newMatColor__22J3DMaterialFactory_v21CFii */
|
||||
|
|
@ -186,8 +198,7 @@ u8 J3DMaterialFactory_v21::newColorChanNum(int i_idx) const {
|
|||
|
||||
/* 8033386C-80333A10 32E1AC 01A4+00 1/1 0/0 0/0 .text newColorChan__22J3DMaterialFactory_v21CFii
|
||||
*/
|
||||
// J3DColorChan ctor
|
||||
#ifdef NONMATCHING
|
||||
// NONMATCHING J3DColorChan ctor
|
||||
J3DColorChan J3DMaterialFactory_v21::newColorChan(int i_idx, int i_no) const {
|
||||
J3DMaterialInitData_v21* mtl_init_data = &mpMaterialInitData[mpMaterialID[i_idx]];
|
||||
if (mtl_init_data->mColorChanIdx[i_no] != 0xffff) {
|
||||
|
|
@ -196,11 +207,6 @@ J3DColorChan J3DMaterialFactory_v21::newColorChan(int i_idx, int i_no) const {
|
|||
return J3DColorChan();
|
||||
}
|
||||
}
|
||||
#else
|
||||
J3DColorChan J3DMaterialFactory_v21::newColorChan(int param_0, int param_1) const {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 80333A10-80333A48 32E350 0038+00 1/1 0/0 0/0 .text newTexGenNum__22J3DMaterialFactory_v21CFi */
|
||||
u32 J3DMaterialFactory_v21::newTexGenNum(int i_idx) const {
|
||||
|
|
@ -329,8 +335,7 @@ J3DFog J3DMaterialFactory_v21::newFog(int i_idx) const {
|
|||
}
|
||||
|
||||
/* 80333EE0-80333F60 32E820 0080+00 1/1 0/0 0/0 .text newAlphaComp__22J3DMaterialFactory_v21CFi */
|
||||
// calcAlphaCmpID issue
|
||||
#ifdef NONMATCHING
|
||||
// NONMATCHING calcAlphaCmpID issue
|
||||
J3DAlphaComp J3DMaterialFactory_v21::newAlphaComp(int i_idx) const {
|
||||
J3DMaterialInitData_v21* mtl_init_data = &mpMaterialInitData[mpMaterialID[i_idx]];
|
||||
if (mtl_init_data->mAlphaCompIdx != 0xffff) {
|
||||
|
|
@ -338,11 +343,6 @@ J3DAlphaComp J3DMaterialFactory_v21::newAlphaComp(int i_idx) const {
|
|||
}
|
||||
return J3DAlphaComp(0xffff);
|
||||
}
|
||||
#else
|
||||
J3DAlphaComp J3DMaterialFactory_v21::newAlphaComp(int param_0) const {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 80333F60-80333FA4 32E8A0 0044+00 1/1 0/0 0/0 .text newBlend__22J3DMaterialFactory_v21CFi */
|
||||
J3DBlend J3DMaterialFactory_v21::newBlend(int i_idx) const {
|
||||
|
|
@ -393,4 +393,4 @@ J3DNBTScale J3DMaterialFactory_v21::newNBTScale(int i_idx) const {
|
|||
} else {
|
||||
return dflt;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,15 +27,14 @@ u16 J3DModelLoader::countMaterialNum(const void* stream) {
|
|||
}
|
||||
|
||||
/* 803367D4-803369A0 331114 01CC+00 0/0 3/0 0/0 .text calcLoadSize__14J3DModelLoaderFPCvUl */
|
||||
// NONMATCHING size load issue
|
||||
u32 J3DModelLoader::calcLoadSize(void const* stream, u32 flags_) {
|
||||
int flags = flags_;
|
||||
const J3DModelFileData* header = static_cast<const J3DModelFileData*>(stream);
|
||||
size_t size;
|
||||
size_t size = 0;
|
||||
const J3DModelBlock* nextBlock = header->mBlocks;
|
||||
u32 i = 0;
|
||||
// TODO: What sizeof will get us a size of 0xE4?
|
||||
size = 0xE4;
|
||||
size += 0xE4;
|
||||
for (; i < header->mBlockNum; i++) {
|
||||
switch (nextBlock->mBlockType) {
|
||||
case 'INF1':
|
||||
|
|
@ -116,12 +115,11 @@ u32 J3DModelLoader::calcLoadMaterialTableSize(const void* stream) {
|
|||
* calcLoadBinaryDisplayListSize__14J3DModelLoaderFPCvUl */
|
||||
// NONMATCHING flags issue
|
||||
u32 J3DModelLoader::calcLoadBinaryDisplayListSize(const void* stream, u32 flags) {
|
||||
u32 size = 0;
|
||||
const J3DModelFileData* header = (const J3DModelFileData*)stream;
|
||||
const J3DModelBlock* nextBlock = header->mBlocks;
|
||||
u32 i = 0;
|
||||
u32 matFlags = flags & (J3DMLF_Material_UseIndirect | J3DMLF_26);
|
||||
u32 flags2;
|
||||
int size = sizeof(J3DModelData);
|
||||
size += sizeof(J3DModelData);
|
||||
for (; i < header->mBlockNum; i++) {
|
||||
switch (nextBlock->mBlockType) {
|
||||
case 'INF1':
|
||||
|
|
@ -141,18 +139,19 @@ u32 J3DModelLoader::calcLoadBinaryDisplayListSize(const void* stream, u32 flags)
|
|||
break;
|
||||
case 'MAT2':
|
||||
break;
|
||||
case 'MAT3':
|
||||
flags2 = (J3DMLF_21 | J3DMLF_Material_PE_Full | J3DMLF_Material_Color_LightOn);
|
||||
flags2 |= matFlags;
|
||||
case 'MAT3': {
|
||||
u32 flags2 = (J3DMLF_21 | J3DMLF_Material_PE_Full | J3DMLF_Material_Color_LightOn);
|
||||
flags2 |= flags & (J3DMLF_Material_UseIndirect | J3DMLF_26);
|
||||
mpMaterialBlock = (const J3DMaterialBlock*)nextBlock;
|
||||
if ((flags & (J3DMLF_13 | J3DMLF_DoBdlMaterialCalc)) == 0) {
|
||||
field_0x18 = 1;
|
||||
size += calcSizeMaterial((const J3DMaterialBlock*)nextBlock, flags2);
|
||||
} else if ((flags & (J3DMLF_13 | J3DMLF_DoBdlMaterialCalc)) == J3DMLF_DoBdlMaterialCalc) {
|
||||
field_0x18 = 1;
|
||||
size += calcSizePatchedMaterial((const J3DMaterialBlock*)nextBlock, matFlags);
|
||||
size += calcSizePatchedMaterial((const J3DMaterialBlock*)nextBlock, flags2);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 'EVP1':
|
||||
size += calcSizeEnvelope((const J3DEnvelopeBlock*)nextBlock);
|
||||
break;
|
||||
|
|
@ -191,7 +190,6 @@ u32 J3DModelLoader::calcSizeInformation(const J3DModelInfoBlock* block, u32 flag
|
|||
return size;
|
||||
}
|
||||
|
||||
|
||||
/* 80336D64-80336D90 3316A4 002C+00 2/2 0/0 0/0 .text
|
||||
* calcSizeJoint__14J3DModelLoaderFPC13J3DJointBlock */
|
||||
u32 J3DModelLoader::calcSizeJoint(const J3DJointBlock* block) {
|
||||
|
|
|
|||
|
|
@ -225,11 +225,6 @@ void daAlink_c::preKandelaarDraw() {
|
|||
field_0x344c = ((near + (far * near) / proj.z) / (far - near) + 1.0f) * 1.6777215E7f;
|
||||
}
|
||||
|
||||
|
||||
/* 80110E80-80110E84 10B7C0 0004+00 0/0 3/0 0/0 .text
|
||||
* setTevColor__11J3DTevBlockFUlPC13J3DGXColorS10 */
|
||||
void J3DTevBlock::setTevColor(u32 param_0, J3DGXColorS10 const* param_1) {}
|
||||
|
||||
/* 80110E84-80110F88 10B7C4 0104+00 4/4 0/0 0/0 .text setKandelaarModel__9daAlink_cFv */
|
||||
void daAlink_c::setKandelaarModel() {
|
||||
field_0x2f94 = 0;
|
||||
|
|
|
|||
|
|
@ -3042,18 +3042,6 @@ static void setLightTevColorType_MAJI_sub(J3DMaterial* param_0, dKy_tevstr_c* pa
|
|||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 801A4C08-801A4C0C 19F548 0004+00 0/0 4/0 0/0 .text setLight__13J3DColorBlockFUlP11J3DLightObj
|
||||
*/
|
||||
void J3DColorBlock::setLight(u32 param_0, J3DLightObj* param_1) {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 801A4C0C-801A4C10 19F54C 0004+00 0/0 3/0 0/0 .text
|
||||
* setAmbColor__13J3DColorBlockFUlPC10J3DGXColor */
|
||||
void J3DColorBlock::setAmbColor(u32 param_0, J3DGXColor const* param_1) {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 801A4C10-801A4DA0 19F550 0190+00 1/1 0/0 0/0 .text
|
||||
* dKy_cloudshadow_scroll__FP12J3DModelDataP12dKy_tevstr_ci */
|
||||
static void dKy_cloudshadow_scroll(J3DModelData* i_modelData, dKy_tevstr_c* i_tevstr, int param_2) {
|
||||
|
|
|
|||
|
|
@ -343,27 +343,6 @@ void mDoExt_modelTexturePatch(J3DModelData* i_modelData) {
|
|||
}
|
||||
}
|
||||
|
||||
/* 8000DBC8-8000DBCC 008508 0004+00 0/0 2/0 0/0 .text patchTexNoAndTexCoordScale__11J3DTevBlockFv
|
||||
*/
|
||||
void J3DTevBlock::patchTexNoAndTexCoordScale() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 8000DBCC-8000DBD0 00850C 0004+00 0/0 6/0 0/0 .text patch__10J3DPEBlockFv */
|
||||
void J3DPEBlock::patch() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 8000DBD0-8000DBD4 008510 0004+00 0/0 2/0 0/0 .text patchLight__13J3DColorBlockFv */
|
||||
void J3DColorBlock::patchLight() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 8000DBD4-8000DBD8 008514 0004+00 0/0 2/0 0/0 .text patch__11J3DTevBlockFv */
|
||||
void J3DTevBlock::patch() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 8000DBD8-8000DC2C 008518 0054+00 3/3 0/0 0/0 .text mDoExt_modelDiff__FP8J3DModel */
|
||||
static void mDoExt_modelDiff(J3DModel* i_model) {
|
||||
i_model->calcMaterial();
|
||||
|
|
|
|||
Loading…
Reference in New Issue