| 76 | } |
| 77 | |
| 78 | void AnmController::InitRegistrationMat(const MatAnmInfo &rAnmInfo, ExModel *pModel) { |
| 79 | mMat = new AnmControlBase*[4]; |
| 80 | mMatData = new MatAnmData(); |
| 81 | |
| 82 | for (u8 i = 0; i < 4; i++) { |
| 83 | mMat[i] = nullptr; |
| 84 | } |
| 85 | |
| 86 | mCtrls = new JSUList<AnmControlBase>; |
| 87 | mCtrls->initiate(); |
| 88 | |
| 89 | if (rAnmInfo.mNumBpks != 0) { |
| 90 | mMatData->mpCtrlColor = new AnmControlMatColor(); |
| 91 | mMat[0] = mMatData->mpCtrlColor; |
| 92 | mMat[0]->initAnm(rAnmInfo.mNumBpks, pModel); |
| 93 | appendMaterial(mMat[0]); |
| 94 | } |
| 95 | |
| 96 | if (rAnmInfo.mNumBtks != 0) { |
| 97 | mMatData->mpCtrlSRT = new AnmControlMatTexSRT(); |
| 98 | mMat[1] = mMatData->mpCtrlSRT; |
| 99 | mMat[1]->initAnm(rAnmInfo.mNumBtks, pModel); |
| 100 | appendMaterial(mMat[1]); |
| 101 | } |
| 102 | |
| 103 | if (rAnmInfo.mNumBtps != 0) { |
| 104 | mMatData->mpCtrlPattern = new AnmControlMatTexPattern(); |
| 105 | mMat[2] = mMatData->mpCtrlPattern; |
| 106 | mMat[2]->initAnm(rAnmInfo.mNumBtps, pModel); |
| 107 | appendMaterial(mMat[2]); |
| 108 | } |
| 109 | |
| 110 | if (rAnmInfo.mNumBrks != 0) { |
| 111 | mMatData->mpCtrlTevReg = new AnmControlMatTevReg(); |
| 112 | mMat[3] = mMatData->mpCtrlTevReg; |
| 113 | mMat[3]->initAnm(rAnmInfo.mNumBrks, pModel); |
| 114 | appendMaterial(mMat[3]); |
| 115 | } |
| 116 | } |
| 117 | |
| 118 | void AnmController::ChangeMatAnmAll(u8) { |
| 119 | |