diff --git a/Sources/Plasma/FeatureLib/pfCamera/plVirtualCamNeu.cpp b/Sources/Plasma/FeatureLib/pfCamera/plVirtualCamNeu.cpp index f4c0c020..754282b3 100644 --- a/Sources/Plasma/FeatureLib/pfCamera/plVirtualCamNeu.cpp +++ b/Sources/Plasma/FeatureLib/pfCamera/plVirtualCamNeu.cpp @@ -1685,13 +1685,14 @@ void plVirtualCam1::PopCamera(plCameraModifier1* pCam) if (fCameraStack.size() <= 1) return; + // Crazy Special Casing Turd: [based on some Cyan crap] // is it the current camera AND the same camera we would otherwise switch to? - if (pCam==GetCurrentStackCamera() && pCam == fCameraStack[fCameraStack.size() - 2]) + // if so, pop off the dupe if we're going to the age default... otherwise, go crazy. + if (fCameraStack.size() > 2 && pCam == GetCurrentStackCamera()) { - // pop but don't transition to a new camera - // or do anything else: - fCameraStack.pop_back(); - return; + int theDupe = fCameraStack.size() - 1; + if (pCam == fCameraStack[theDupe] && theDupe == 2) + fCameraStack.pop_back(); } // are we mouse-looking?