mirror of
https://github.com/zeldaret/tww.git
synced 2026-08-22 06:20:02 -04:00
J3DModel::calcDrawMtx regalloc fix
This commit is contained in:
@@ -596,34 +596,34 @@ extern void J3DPSMtxArrayConcat(f32(*)[4], f32(*)[4], f32(*)[4], u32);
|
||||
|
||||
/* 802EEBDC-802EEE30 .text calcDrawMtx__8J3DModelFv */
|
||||
void J3DModel::calcDrawMtx() {
|
||||
/* Nonmatching - regalloc */
|
||||
u16 i;
|
||||
switch (getMtxCalcMode()) {
|
||||
case 0:
|
||||
MtxP viewMtx = j3dSys.getViewMtx();
|
||||
for (u16 i = 0; i < getModelData()->getDrawFullWgtMtxNum(); i++) {
|
||||
u16 drawMtxIdx = getModelData()->getDrawMtxIndex(i);
|
||||
for (i = 0; i < mModelData->getDrawFullWgtMtxNum(); i++) {
|
||||
u16 drawMtxIdx = mModelData->getDrawMtxIndex(i);
|
||||
MTXConcat(viewMtx, getAnmMtx(drawMtxIdx), getDrawMtx(i));
|
||||
}
|
||||
if (getModelData()->getDrawMtxNum() > getModelData()->getDrawFullWgtMtxNum()) {
|
||||
J3DPSMtxArrayConcat(viewMtx, getWeightAnmMtx(0), getDrawMtx(getModelData()->getDrawFullWgtMtxNum()), getModelData()->getWEvlpMtxNum());
|
||||
if (mModelData->getDrawMtxNum() > mModelData->getDrawFullWgtMtxNum()) {
|
||||
J3DPSMtxArrayConcat(viewMtx, getWeightAnmMtx(0), getDrawMtx(mModelData->getDrawFullWgtMtxNum()), mModelData->getWEvlpMtxNum());
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
for (u16 i = 0; i < getModelData()->getDrawFullWgtMtxNum(); i++) {
|
||||
MTXCopy(getAnmMtx(getModelData()->getDrawMtxIndex(i)), getDrawMtx(i));
|
||||
for (i = 0; i < mModelData->getDrawFullWgtMtxNum(); i++) {
|
||||
MTXCopy(getAnmMtx(mModelData->getDrawMtxIndex(i)), getDrawMtx(i));
|
||||
}
|
||||
for (u16 i = 0; i < getModelData()->getWEvlpMtxNum(); i++) {
|
||||
MTXCopy(getWeightAnmMtx(i), getDrawMtx(getModelData()->getDrawFullWgtMtxNum() + i));
|
||||
for (i = 0; i < mModelData->getWEvlpMtxNum(); i++) {
|
||||
MTXCopy(getWeightAnmMtx(i), getDrawMtx(mModelData->getDrawFullWgtMtxNum() + i));
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
calcViewBaseMtx(j3dSys.getViewMtx(), mBaseScale, mBaseTransformMtx, mViewBaseMtx);
|
||||
for (u16 i = 0; i < getModelData()->getDrawFullWgtMtxNum(); i++) {
|
||||
u16 drawMtxIdx = getModelData()->getDrawMtxIndex(i);
|
||||
for (i = 0; i < mModelData->getDrawFullWgtMtxNum(); i++) {
|
||||
u16 drawMtxIdx = mModelData->getDrawMtxIndex(i);
|
||||
MTXConcat(mViewBaseMtx, getAnmMtx(drawMtxIdx), getDrawMtx(i));
|
||||
}
|
||||
if (getModelData()->getDrawMtxNum() > getModelData()->getDrawFullWgtMtxNum()) {
|
||||
J3DPSMtxArrayConcat(mViewBaseMtx, getWeightAnmMtx(0), getDrawMtx(getModelData()->getDrawFullWgtMtxNum()), getModelData()->getWEvlpMtxNum());
|
||||
if (mModelData->getDrawMtxNum() > mModelData->getDrawFullWgtMtxNum()) {
|
||||
J3DPSMtxArrayConcat(mViewBaseMtx, getWeightAnmMtx(0), getDrawMtx(mModelData->getDrawFullWgtMtxNum()), mModelData->getWEvlpMtxNum());
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user