diff --git a/engine/client/m_options.c b/engine/client/m_options.c index d851cbb2..cd75e529 100644 --- a/engine/client/m_options.c +++ b/engine/client/m_options.c @@ -425,6 +425,7 @@ const char *presetexec[] = "m_preset_chosen 1;" "gl_texturemode nn;" "r_particlesystem null;" + "r_particledesc \"\";" "r_stains 0;" "r_drawflat 1;" "r_nolerp 1;" @@ -450,6 +451,7 @@ const char *presetexec[] = , // fast options "gl_texturemode ln;" "r_particlesystem classic;" + "r_particledesc classic;" "r_drawflat 0;" "r_nolerp 0;" "gl_flashblend 1;" @@ -459,7 +461,7 @@ const char *presetexec[] = "r_lavastyle 1;" "r_nolightdir 0;" - , // normal options + , // normal (faithful) options #ifdef MINIMAL "r_particlesystem classic;" #else @@ -510,10 +512,17 @@ static void ApplyPreset (int presetnum) // TODO: work backwards and only set cvars once for (i = 0; i <= presetnum; i++) { - Cbuf_AddText(presetexec[i], Cmd_ExecLevel); - Cbuf_AddText("\n", Cmd_ExecLevel); + Cbuf_AddText(presetexec[i], RESTRICT_LOCAL); + Cbuf_AddText("\n", RESTRICT_LOCAL); Cbuf_Execute(); // hack } + + //make sure the presets always set up particles correctly for certain other game modes. + if (M_GameType() == MGT_HEXEN2) + { + Cbuf_AddText("r_particledesc $r_particledesc h2part\n", RESTRICT_LOCAL); + Cbuf_Execute(); + } } void M_Menu_Preset_f (void) diff --git a/engine/client/r_2d.c b/engine/client/r_2d.c index 7bef310b..2b0e0997 100644 --- a/engine/client/r_2d.c +++ b/engine/client/r_2d.c @@ -795,7 +795,7 @@ void R2D_BrightenScreen (void) RSpeedMark(); - if (gl_contrast.value != 1.0 && gl_brightness.value != 0) + if (gl_contrast.value == 1.0 && gl_brightness.value == 0) return; if (r_refdef.flags & Q2RDF_NOWORLDMODEL)