mirror of
https://github.com/encounter/tp.git
synced 2026-07-11 06:18:46 -07:00
J3DMatBlock, J3DMaterialFactory work (#2233)
This commit is contained in:
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();
|
||||
|
||||
@@ -57,7 +57,7 @@ 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);
|
||||
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;
|
||||
|
||||
@@ -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
File diff suppressed because it is too large
Load Diff
@@ -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) {
|
||||
|
||||
@@ -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] = {
|
||||
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,
|
||||
};
|
||||
#pragma pop
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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 {
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user