diff --git a/src/Ext/SWType/FireSuperWeapon.cpp b/src/Ext/SWType/FireSuperWeapon.cpp index d3baed400a..19c80762d2 100644 --- a/src/Ext/SWType/FireSuperWeapon.cpp +++ b/src/Ext/SWType/FireSuperWeapon.cpp @@ -247,7 +247,7 @@ void SWTypeExt::ExtData::ApplySWNext(SuperClass* pSW, const CellStruct& cell) int oldstart = pSuper->RechargeTimer.StartTime; int oldleft = pSuper->RechargeTimer.TimeLeft; pSuper->SetReadiness(true); - pSuper->Launch(cell, true); + pSuper->Launch(cell, pHouse->IsCurrentPlayer()); pSuper->Reset(); if (!this->SW_Next_RealLaunch) { diff --git a/src/Ext/TechnoType/Hooks.cpp b/src/Ext/TechnoType/Hooks.cpp index 5c9d2f8a59..c065e2dc82 100644 --- a/src/Ext/TechnoType/Hooks.cpp +++ b/src/Ext/TechnoType/Hooks.cpp @@ -703,11 +703,13 @@ DEFINE_HOOK(0x7072A1, suka707280_ChooseTheGoddamnMatrix, 0x7) Matrix3D hvamat = hva->Matrixes[shadow_index_now + hva->LayerCount * ChooseFrame()]; + // A nasty temporary backward compatibility option + if (hva->LayerCount > 1 || pType->Turret) // TO TEST : Check if this is the proper Z offset to shift the sections to the same level - hvamat.TranslateZ( - -hvamat.GetZVal() - - pVXL->VXL->TailerData->Bounds[0].Z - ); + hvamat.TranslateZ( + -hvamat.GetZVal() + - pVXL->VXL->TailerData->Bounds[0].Z + ); matRet = *pMat * hvamat; diff --git a/src/Ext/WarheadType/Detonate.cpp b/src/Ext/WarheadType/Detonate.cpp index 34647180ff..662be0d040 100644 --- a/src/Ext/WarheadType/Detonate.cpp +++ b/src/Ext/WarheadType/Detonate.cpp @@ -83,7 +83,7 @@ void WarheadTypeExt::ExtData::Detonate(TechnoClass* pOwner, HouseClass* pHouse, // and therefore it will reuse the vanilla routine, which will crash inside of it pSuper->SetReadiness(true); // TODO: Can we use ClickFire instead of Launch? - pSuper->Launch(cell, true); + pSuper->Launch(cell, pHouse->IsCurrentPlayer()); pSuper->Reset(); if (!this->LaunchSW_RealLaunch)