diff --git a/src/d/actor/d_a_alink.cpp b/src/d/actor/d_a_alink.cpp index 17ca660cbf..4f32d75772 100644 --- a/src/d/actor/d_a_alink.cpp +++ b/src/d/actor/d_a_alink.cpp @@ -12063,7 +12063,8 @@ void daAlink_c::itemUnequip(u16 i_itemID, f32 i_playSpeed) { u16 anm_id; const daAlinkHIO_anm_c* anm_data; - if (i_itemID == dItemNo_BOOMERANG_e || i_itemID == dItemNo_COPY_ROD_e || i_itemID == dItemNo_KANTERA_e || + if (i_itemID == dItemNo_BOOMERANG_e || i_itemID == dItemNo_COPY_ROD_e || + i_itemID == dItemNo_KANTERA_e || i_itemID == dItemNo_LENS_OF_TRUTH_e || i_itemID == dItemNo_HOOKSHOT_e || checkBottleItem(i_itemID)) { anm_id = dRes_ID_ALANM_BCK_TAKEL_e; @@ -18230,7 +18231,8 @@ int daAlink_c::execute() { resetUpperAnime(UPPER_2, 5.0f); } - if (mEquipItem == dItemNo_KANTERA_e && checkNoUpperAnime() && !checkKandelaarEquipAnime() && + if ((mEquipItem == dItemNo_KANTERA_e || mEquipItem == dItemNo_LENS_OF_TRUTH_e) && + checkNoUpperAnime() && !checkKandelaarEquipAnime() && (checkModeFlg(MODE_UNK_1000) || mProcID == PROC_CROUCH)) { if (checkReinRide()) { @@ -19273,6 +19275,10 @@ void daAlink_c::shadowDraw() { dComIfGd_addRealShadow(shadowID, mpKanteraModel); } + if (mEquipItem == dItemNo_LENS_OF_TRUTH_e) { + dComIfGd_addRealShadow(shadowID, mpGhostLanternModel); + } + if (checkEquipHeavyBoots()) { for (int i = 0; i < 2; i++) { dComIfGd_addRealShadow(shadowID, mpLinkBootModels[i]); diff --git a/src/d/actor/d_a_alink_kandelaar.inc b/src/d/actor/d_a_alink_kandelaar.inc index 0bab821a90..34059f43d8 100644 --- a/src/d/actor/d_a_alink_kandelaar.inc +++ b/src/d/actor/d_a_alink_kandelaar.inc @@ -173,6 +173,7 @@ int daAlink_c::ghostLanternModelCallBack() { f32 scale = JMAFastSqrt(SQUARE(J3DSys::mCurrentMtx[0][0]) + SQUARE(J3DSys::mCurrentMtx[1][0]) + SQUARE(J3DSys::mCurrentMtx[2][0])); mDoMtx_stack_c::transS(J3DSys::mCurrentMtx[0][3], J3DSys::mCurrentMtx[1][3], J3DSys::mCurrentMtx[2][3]); mDoMtx_stack_c::ZXYrotM(var_r28, var_r29, var_r27); + mDoMtx_stack_c::ZXYrotM(0, 0, -16384); mDoMtx_stack_c::scaleM(scale, scale, scale); mpGhostLanternModel->setAnmMtx(1, mDoMtx_stack_c::get()); diff --git a/src/d/actor/d_a_alink_wolf.inc b/src/d/actor/d_a_alink_wolf.inc index 6e6c417732..13818689ab 100644 --- a/src/d/actor/d_a_alink_wolf.inc +++ b/src/d/actor/d_a_alink_wolf.inc @@ -404,7 +404,7 @@ void daAlink_c::changeLink(int param_0) { } mpKanteraModel = initModelEnv(static_cast(dComIfG_getObjectRes(mArcName, "al_kantera.bmd")), 0); - mpGhostLanternModel = initModelEnv(static_cast(dComIfG_getObjectRes(mArcName, "al_bootsH.bmd")), 0); + mpGhostLanternModel = initModelEnv(static_cast(dComIfG_getObjectRes(mArcName, "al_ghostlantern.bmd")), 0); modelData = static_cast(dComIfG_getObjectRes(mArcName, "ef_ktGlow.bmd")); mpKanteraGlowModel = initModel(modelData, 0x200);