SMG-Decomp
A decompilation of Super Mario Galaxy 1
Loading...
Searching...
No Matches
ModelUtil.cpp
1#include "Game/Util/ModelUtil.hpp"
2
3#include "JSystem/J3DGraphAnimator/J3DModel.hpp"
4#include "JSystem/J3DGraphAnimator/J3DModelData.hpp"
5#include "JSystem/J3DGraphAnimator/J3DMaterialAttach.hpp"
6#include "JSystem/J3DGraphBase/J3DShapePacket.hpp"
7#include "JSystem/JUtility/JUTNameTab.hpp"
8
9namespace MR {
10 u32 getMaterialNo(J3DModelData *pModelData, const char *pMaterialName) {
11 return pModelData->mMaterialTable.mNameTable->getIndex(pMaterialName);
12 }
13
14 u32 getMaterialNo(J3DModel *pModel, const char *pMaterialName) {
15 return pModel->mModelData->mMaterialTable.mNameTable->getIndex(pMaterialName);
16 }
17
18 J3DMaterial* getMaterial(J3DModelData *pModelData, const char *pMaterialName) {
19 u16 idx = pModelData->mMaterialTable.mNameTable->getIndex(pMaterialName);
20 return pModelData->mMaterialTable.mMaterials[idx];
21 }
22
23 J3DMaterial* getMaterial(J3DModelData *pModelData, int idx) {
24 return pModelData->mMaterialTable.mMaterials[(u16)idx];
25 }
26
27 J3DMaterial* getMaterial(J3DModel* pModel, int idx) {
28 return pModel->mModelData->mMaterialTable.mMaterials[(u16)idx];
29 }
30
31 // getMaterial(const LiveActor *, int)
32
33 u16 getMaterialNum(J3DModel *pModel) {
34 return pModel->mModelData->mMaterialTable.mMaterialCount;
35 }
36
37 // updateModelDiffDL
38 // isEnvelope
39
40 #ifdef NON_MATCHING
41 // some inlining issue
42 void hideMaterial(J3DModel *pModel, const char *pMaterialName) {
43 J3DShapePacket* pckt = pModel->mMaterialPacket[getMaterialNo(pModel, pMaterialName)]._2C;
44 pckt->mFlags |= 0x10;
45 }
46 #endif
47};