diff --git a/src/command.c b/src/command.c index 50310f11255b57d30228a65cfe26b676c5c89497..723388058400dca24b93ed241a8d7dcc505bdcc9 100644 --- a/src/command.c +++ b/src/command.c @@ -2076,9 +2076,10 @@ void CV_AddValue(consvar_t *var, INT32 increment) { increment = 0; currentindice = max; + break; // The value we definitely want, stop here. } else if (var->PossibleValue[max].value == var->value) - currentindice = max; + currentindice = max; // The value we maybe want. } if (increment) diff --git a/src/r_fps.c b/src/r_fps.c index 9c3a9db53d05ca626f24aa187a20c2e9f7a650fc..136cdfe9e73d2abe7293079c89216d17d072a2ac 100644 --- a/src/r_fps.c +++ b/src/r_fps.c @@ -27,38 +27,33 @@ #endif static CV_PossibleValue_t fpscap_cons_t[] = { - {-1, "Match refresh rate"}, - {0, "Unlimited"}, #ifdef DEVELOP // Lower values are actually pretty useful for debugging interp problems! - {1, "One Singular Frame"}, - {10, "10"}, - {20, "20"}, - {25, "25"}, - {30, "30"}, + {1, "MIN"}, +#else + {TICRATE, "MIN"}, #endif - {35, "35"}, - {50, "50"}, - {60, "60"}, - {70, "70"}, - {75, "75"}, - {90, "90"}, - {100, "100"}, - {120, "120"}, - {144, "144"}, - {200, "200"}, - {240, "240"}, + {300, "MAX"}, + {-1, "Unlimited"}, + {0, "Match refresh rate"}, {0, NULL} }; consvar_t cv_fpscap = CVAR_INIT ("fpscap", "Match refresh rate", CV_SAVE, fpscap_cons_t, NULL); UINT32 R_GetFramerateCap(void) { - if (cv_fpscap.value < 0) + if (cv_fpscap.value == 0) { + // 0: Match refresh rate return I_GetRefreshRate(); } + if (cv_fpscap.value < 0) + { + // -1: Unlimited + return 0; + } + return cv_fpscap.value; }