diff --git a/code/parse/sexp.cpp b/code/parse/sexp.cpp index 5644a779f8c..d43ddb4de81 100644 --- a/code/parse/sexp.cpp +++ b/code/parse/sexp.cpp @@ -41301,7 +41301,7 @@ SCP_vector Sexp_help = { }, { OP_SET_CAMERA_SHUDDER, "set-camera-shudder\r\n" - "\tCauses the camera to shudder. Currently this will only work if the camera is showing the player's viewpoint (i.e. the HUD).\r\n\r\n" + "\tCauses the camera to shudder. Normally this will only work if the camera is showing the player's viewpoint (i.e. the HUD), unless the Everywhere flag is set.\r\n\r\n" "Takes 2 to 4 arguments...\r\n" "\t1: Time (in milliseconds)\r\n" "\t2: Intensity. For comparison, the Maxim has an intensity of 1440.\r\n" diff --git a/freespace2/freespace.cpp b/freespace2/freespace.cpp index 3ed6035a101..8c07534b731 100644 --- a/freespace2/freespace.cpp +++ b/freespace2/freespace.cpp @@ -3424,7 +3424,6 @@ void game_render_frame( camid cid, const vec3d* offset, const matrix* rot_offset g3_start_frame(game_zbuffer); camera *cam = cid.getCamera(); - matrix eye_no_jitter = vmd_identity_matrix; if(cam != nullptr) { @@ -3445,10 +3444,13 @@ void game_render_frame( camid cid, const vec3d* offset, const matrix* rot_offset } //Handle jitter if not cutscene camera - eye_no_jitter = eye_orient; if( !(Viewer_mode & VM_FREECAMERA) ) { apply_view_shake(&eye_orient); - cam->set_rotation(&eye_orient); + cam->set_rotation(&eye_orient); // this was added in 57fbb21c; see Mantis 1743; needed to make the target indicator shake + } + //If cutscene camera, handle jitter differently + else if ( Game_shudder_everywhere ) { + apply_view_shake(&eye_orient); // the camera rotation shouldn't be modified for cutscenes or it will produce feedback } //Maybe override FOV from SEXP