diff options
| author | YunataSavior <58997725+YunataSavior@users.noreply.github.com> | 2025-10-10 04:56:09 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-10 04:56:09 -0700 |
| commit | 678fd4d8f58cb989d24573717d2b4f6eb52c7e78 (patch) | |
| tree | bef410aadb82b9e81d0ada05f5086504fc4115df /src | |
| parent | 774692fc3b74a7e7cf3e90f29e4684030054d943 (diff) | |
obj_mirror_table OK (#2732)
Diffstat (limited to 'src')
| -rw-r--r-- | src/d/actor/d_a_obj_mirror_table.cpp | 90 |
1 files changed, 52 insertions, 38 deletions
diff --git a/src/d/actor/d_a_obj_mirror_table.cpp b/src/d/actor/d_a_obj_mirror_table.cpp index db1f7f6dba..7afce00f77 100644 --- a/src/d/actor/d_a_obj_mirror_table.cpp +++ b/src/d/actor/d_a_obj_mirror_table.cpp @@ -25,43 +25,50 @@ static int createSolidHeap(fopAc_ac_c* i_this) { return static_cast<daObjMirrorTable_c*>(i_this)->createHeap(); } -/* 80C99938-80C99F34 000098 05FC+00 1/1 0/0 0/0 .text createHeap__18daObjMirrorTable_cFv - */ -// NONMATCHING error with mirror_res_id calculation +/* 80C99938-80C99F34 000098 05FC+00 1/1 0/0 0/0 .text createHeap__18daObjMirrorTable_cFv */ int daObjMirrorTable_c::createHeap() { - J3DModelData* table_model_data = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 21); - mpTableModel = mDoExt_J3DModel__create(table_model_data, 0x80000, 0x11000084); + J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 21); + JUT_ASSERT(105, modelData != 0); + mpTableModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084); if (mpTableModel == NULL) { return 0; } - /* dSv_event_flag_c::F_0354 - Cutscene - [cutscene] Mirror complete */ - int mirror_res_id = dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[354]) ? 13 : 14; - J3DModelData* mirror_model_data = (J3DModelData*)dComIfG_getObjectRes(l_arcName, mirror_res_id); - mpMirrorModel = mDoExt_J3DModel__create(mirror_model_data, 0, 0x11000084); + enum MIRROR_RES_ENUM { + TRUE_RES = 13, + FALSE_RES = 14, + }; + /* dSv_event_flag_c::F_0354 - Cutscene - [cutscene] Mirror complete */ + int mirror_res_id = dComIfGs_isEventBit(u16(dSv_event_flag_c::saveBitLabels[354])) ? TRUE_RES : FALSE_RES; + modelData = (J3DModelData*)dComIfG_getObjectRes(l_arcName, mirror_res_id); + JUT_ASSERT(114, modelData != 0); + mpMirrorModel = mDoExt_J3DModel__create(modelData, 0, 0x11000084); if (mpMirrorModel == NULL) { return 0; } - J3DAnmTransform* table_up_anm = (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, 10); + J3DAnmTransform* bck = (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, 10); + JUT_ASSERT(123, bck != 0); mpTableUpBckAnm = new mDoExt_bckAnm(); f32 rate = isSwitch() ? 1.0f : 0.0f; - if (mpTableUpBckAnm == NULL || !mpTableUpBckAnm->init(table_up_anm, 1, 0, rate, 0, -1, false)) { + if (mpTableUpBckAnm == NULL || !mpTableUpBckAnm->init(bck, 1, 0, rate, 0, -1, false)) { return 0; } if (isSwitch()) { - mpTableUpBckAnm->setFrame(table_up_anm->getFrameMax()); + mpTableUpBckAnm->setFrame(bck->getFrameMax()); } - cBgD_t* table_dzb = (cBgD_t*)dComIfG_getObjectRes(l_arcName, 34); - if (mBgW[0].Set(table_dzb, 1, &mMtx[0])) { + if (mBgW[0].Set((cBgD_t*)dComIfG_getObjectRes(l_arcName, 34), 1, &mMtx[0])) { return 0; } - /* dSv_event_flag_c::F_0354 - Cutscene - [cutscene] Mirror complete */ - int mirror_dzb_id = dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[354]) ? 31 : 32; - cBgD_t* mirror_dzb = (cBgD_t*)dComIfG_getObjectRes(l_arcName, mirror_dzb_id); - if (mBgW[1].Set(mirror_dzb, 1, &mMtx[1])) { + enum MIRROR_DZB_ENUM { + TRUE_DZB = 31, + FALSE_DZB = 32, + }; + /* dSv_event_flag_c::F_0354 - Cutscene - [cutscene] Mirror complete */ + int mirror_dzb_id = dComIfGs_isEventBit(u16(dSv_event_flag_c::saveBitLabels[354])) ? TRUE_DZB : FALSE_DZB; + if (mBgW[1].Set((cBgD_t*)dComIfG_getObjectRes(l_arcName, mirror_dzb_id), 1, &mMtx[1])) { return 0; } @@ -74,53 +81,60 @@ int daObjMirrorTable_c::createHeap() { mpMSquareBckAnm = NULL; mpLightBtkAnm = NULL; - /* dSv_event_flag_c::F_0354 - Cutscene - [cutscene] Mirror complete */ - if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[354])) { - J3DModelData* stair_model_data = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 20); - mpStairModel = mDoExt_J3DModel__create(stair_model_data, 0x80000, 0x11000084); + /* dSv_event_flag_c::F_0354 - Cutscene - [cutscene] Mirror complete */ + if (dComIfGs_isEventBit(u16(dSv_event_flag_c::saveBitLabels[354]))) { + modelData = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 20); + JUT_ASSERT(153, modelData != 0); + mpStairModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084); - J3DAnmTevRegKey* stair_anm = (J3DAnmTevRegKey*)dComIfG_getObjectRes(l_arcName, 25); + J3DAnmTevRegKey* brk = (J3DAnmTevRegKey*)dComIfG_getObjectRes(l_arcName, 25); + JUT_ASSERT(160, brk != 0); mpStairBrkAnm = new mDoExt_brkAnm(); if (mpStairBrkAnm == NULL || - !mpStairBrkAnm->init(stair_model_data, stair_anm, 1, 0, 1.0f, 0, -1)) + !mpStairBrkAnm->init(modelData, brk, 1, 0, 1.0f, 0, -1)) { return 0; } - cBgD_t* stair_dzb = (cBgD_t*)dComIfG_getObjectRes(l_arcName, 33); - if (mBgW[2].Set(stair_dzb, 1, &mMtx[2])) { + if (mBgW[2].Set((cBgD_t*)dComIfG_getObjectRes(l_arcName, 33), 1, &mMtx[2])) { return 0; } - J3DModelData* panel_model_data = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 19); - mpPanelModel = mDoExt_J3DModel__create(panel_model_data, 0x80000, 0x11000084); + modelData = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 19); + JUT_ASSERT(173, modelData != 0); + mpPanelModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084); - J3DModelData* light_model_data = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 17); - mpLightModel = mDoExt_J3DModel__create(light_model_data, 0x80000, 0x11000284); + modelData = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 17); + JUT_ASSERT(180, modelData != 0); + mpLightModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000284); - J3DAnmTextureSRTKey* light_anm = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(l_arcName, 28); + J3DAnmTextureSRTKey* btk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(l_arcName, 28); + JUT_ASSERT(187, btk != 0); mpLightBtkAnm = new mDoExt_btkAnm(); if (mpLightBtkAnm == NULL || - !mpLightBtkAnm->init(light_model_data, light_anm, 1, 0, 1.0f, 0, -1)) + !mpLightBtkAnm->init(modelData, btk, 1, 0, 1.0f, 0, -1)) { return 0; } - J3DModelData* msquare_model_data = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 18); - mpMSquareModel = mDoExt_J3DModel__create(msquare_model_data, 0x80000, 0x11000084); + modelData = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 18); + JUT_ASSERT(195, modelData != 0); + mpMSquareModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084); - J3DAnmTevRegKey* msquare_tev_anm = (J3DAnmTevRegKey*)dComIfG_getObjectRes(l_arcName, 24); + brk = (J3DAnmTevRegKey*)dComIfG_getObjectRes(l_arcName, 24); + JUT_ASSERT(202, brk != 0); mpMSquareBrkAnm = new mDoExt_brkAnm(); if (mpMSquareBrkAnm == NULL || - !mpMSquareBrkAnm->init(msquare_model_data, msquare_tev_anm, 1, 0, 1.0f, 0, -1)) + !mpMSquareBrkAnm->init(modelData, brk, 1, 0, 1.0f, 0, -1)) { return 0; } - J3DAnmTransform* msquare_anm = (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, 9); + bck = (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, 9); + JUT_ASSERT(210, bck != 0); mpMSquareBckAnm = new mDoExt_bckAnm(); if (mpMSquareBckAnm == NULL || - !mpMSquareBckAnm->init(msquare_anm, 1, 0, 1.0f, 0, -1, false)) + !mpMSquareBckAnm->init(bck, 1, 0, 1.0f, 0, -1, false)) { return 0; } |
