MCPcopy Create free account
hub / github.com/doldecomp/mkdd / drawBase

Method drawBase

src/Kaneshige/Course/Course.cpp:1269–1399  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1267}
1268
1269void Course::drawBase(u32 cameraNo, u32 *matTable, s16 matNum, bool checkZMode)
1270{
1271 for (int i = 0; i < 3; i++)
1272 {
1273 if (isTexSRTAnmEnable(i))
1274 mTexSRTAnm[i].anmFrameProc();
1275 }
1276
1277 if (isTexPatAnmEnable())
1278 mTexPatAnm.anmFrameProc();
1279
1280 for (int i = 0; i < 1; i++)
1281 {
1282 if (isTevRegAnmEnable(i))
1283 mTevRegAnm[i].anmFrameProc();
1284 }
1285
1286 if (mIsTextCourse25)
1287 return;
1288
1289 J3DModelData *modeldata = mTexModel.getModelData();
1290 if (modeldata)
1291 {
1292 modeldata->syncJ3DSys();
1293 J3DJoint *node = modeldata->getJointNodePointer(0);
1294 const Mtx &baseTR = mTexModel.getBaseTRMtx();
1295
1296 Mtx viewPos;
1297 Mtx t_m;
1298 Mtx m;
1299
1300 J3DGetTranslateRotateMtx(node->getTransformInfo(), t_m);
1301 PSMTXConcat(baseTR, t_m, m);
1302 const Mtx &viewMtx = j3dSys.getViewMtx();
1303
1304 PSMTXConcat(viewMtx, m, viewPos);
1305 GXLoadPosMtxImm(viewPos, 0);
1306 GXLoadNrmMtxImm(viewPos, 0);
1307 J3DShape::resetVcdVatCache();
1308
1309 for (u16 i = 0; i < matNum; i++)
1310 {
1311 bool unk = false;
1312 for (J3DMaterial *mat = node->getMesh(); mat != nullptr; mat = mat->getNext())
1313 {
1314#line 2818
1315 JUT_MINMAX_ASSERT(0, mat->getIndex(), modeldata->getMaterialNum())
1316 bool doUpdate = false;
1317 if (matTable[i] == mat->getMaterialID() && ((1 << cameraNo & mMatFlags[mat->getIndex()]) == 0))
1318 {
1319 doUpdate = true;
1320 if (checkZMode && mat->getPEBlock()->getZMode()->getUpdateEnable() != 1)
1321 doUpdate = false;
1322 }
1323
1324 if (!doUpdate)
1325 continue;
1326

Callers

nothing calls this directly

Calls 15

syncJ3DSysMethod · 0.80
getMeshMethod · 0.80
getMaterialIDMethod · 0.80
getUpdateEnableMethod · 0.80
loadPreDrawSettingMethod · 0.80
getMaterialAnmMethod · 0.80
getMtxMethod · 0.80
anmFrameProcMethod · 0.45
getModelDataMethod · 0.45
getJointNodePointerMethod · 0.45
getViewMtxMethod · 0.45
getNextMethod · 0.45

Tested by

no test coverage detected