diff options
| author | LagoLunatic <LagoLunatic@users.noreply.github.com> | 2025-06-20 02:41:43 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-06-19 23:41:43 -0700 |
| commit | ac069664149342aff58ed84cf51c62b3eb8399da (patch) | |
| tree | eab73c3959a6f052a388fe96fc46b42d48a16508 /src/d/d_file_select.cpp | |
| parent | 25d13c76e4080c7b2fabf00b7836ba13de7e9dc0 (diff) | |
Add more J3D_ASSERTs (#2491)
* Fix debug build
* Add more J3D_ASSERTs
* Move J3DShapeMtx to correct header for assert
* Add VSCode task for ninja changes_all
Diffstat (limited to 'src/d/d_file_select.cpp')
| -rw-r--r-- | src/d/d_file_select.cpp | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/src/d/d_file_select.cpp b/src/d/d_file_select.cpp index c14e472562..217ed58057 100644 --- a/src/d/d_file_select.cpp +++ b/src/d/d_file_select.cpp @@ -4137,29 +4137,42 @@ void dFile_select3D_c::draw() { } /* 8019065C-8019095C 18AF9C 0300+00 2/2 0/0 0/0 .text setJ3D__16dFile_select3D_cFPCcPCcPCc */ -// NONMATCHING regswap +// NONMATCHING extra mr void dFile_select3D_c::setJ3D(char const* param_0, char const* param_1, char const* param_2) { JKRArchive* archive = dComIfGp_getCollectResArchive(); - J3DModelData* modelData = J3DModelLoaderDataBase::load( - archive->getResource('BMD ', param_0), 0x51020010); + J3DAnmTransform* pbck; + J3DAnmTevRegKey* pbrk; + + void* res = archive->getResource('BMD ', param_0); + J3DModelData* modelData = J3DModelLoaderDataBase::load(res, 0x51020010); + JUT_ASSERT(8823, modelData != 0); + for (u16 i = 0; i < modelData->getMaterialNum(); i++) { J3DMaterialAnm* material = new J3DMaterialAnm(); modelData->getMaterialNodePointer(i)->change(); modelData->getMaterialNodePointer(i)->setMaterialAnm(material); } + mpModel = new J3DModel(modelData, 0, 1); + JUT_ASSERT(8836, mpModel != 0); + if (param_1) { - J3DAnmTransform* pbck = - (J3DAnmTransform*)J3DAnmLoaderDataBase::load(archive->getResource('BCK ', param_1)); + void* res = archive->getResource('BCK ', param_1); + pbck = (J3DAnmTransform*)J3DAnmLoaderDataBase::load(res); + JUT_ASSERT(8846, pbck != 0); + mBckAnm = new mDoExt_bckAnm(); if (mBckAnm == NULL || !mBckAnm->init(pbck, 1, 2, 1.0f, 0, -1, false)) { return; } } + if (param_2) { - J3DAnmTevRegKey* pbrk = - (J3DAnmTevRegKey*)J3DAnmLoaderDataBase::load(archive->getResource('BRK ', param_2)); + void* res = archive->getResource('BRK ', param_2); + pbrk = (J3DAnmTevRegKey*)J3DAnmLoaderDataBase::load(res); + JUT_ASSERT(8859, pbrk != 0); pbrk->searchUpdateMaterialID(modelData); + mBrkAnm = new mDoExt_brkAnm(); if (mBrkAnm == NULL || !mBrkAnm->init(modelData, pbrk, -1, 2, 1.0f, 0, -1)) { return; |
