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

Method update

src/Kaneshige/ExModel.cpp:349–391  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

347}
348
349void ExModel::update(u16 level) {
350 J3DModel *mdl = mModel[level];
351
352 if (level < mLevelCnt && mdl) {
353 if (level == 0) {
354 mdl->calc();
355 }
356 else {
357 J3DModel *mdl0 = mModel[0];
358
359 for (int i = 0; i < mdl->getModelData()->getJointNum(); i++) {
360 PSMTXCopy(mdl0->getAnmMtx(i), mdl->getAnmMtx(i));
361 }
362 for (int i = 0; i < mdl->getModelData()->getWEvlpMtxNum(); i++) {
363 PSMTXCopy(mdl0->getWeightAnmMtx(i), mdl->getWeightAnmMtx(i));
364 }
365
366 J3DGXColorS10 *tevColor = mModelData[0]->getMaterialNodePointer(0)->getTevBlock()->getTevColor(0);
367 if (tevColor) {
368 ExModel::setTevColor(mModelData[1], 0, *tevColor);
369 }
370 }
371
372 if (mdl->getDiffFlag() != 0) {
373 mdl->calcMaterial();
374 mdl->diff();
375 }
376
377 if (DrawBuffer::isValidDrawBuffer(j3dSys.getDrawBuffer(0))) {
378 mdl->entry();
379 }
380 mdl->prepareShapePackets();
381
382 if (tstDiffTexMtxMode()) {
383 mdl->calcDiffTexMtx();
384 }
385
386 }
387
388 if (level == 0) {
389 setCurMtx();
390 }
391}
392
393void ExModel::setCurrentViewNo(u32 viewNo) {
394 for (u16 i = 0; i < mLevelCnt; i++) {

Callers 1

updateRaceMethod · 0.45

Calls 11

getDiffFlagMethod · 0.80
diffMethod · 0.80
getDrawBufferMethod · 0.80
calcMethod · 0.45
getJointNumMethod · 0.45
getModelDataMethod · 0.45
getWEvlpMtxNumMethod · 0.45
getTevColorMethod · 0.45
getTevBlockMethod · 0.45
entryMethod · 0.45

Tested by

no test coverage detected