diff --git a/src/d_netcmd.c b/src/d_netcmd.c index a08e987cef842fd8521edc380cdc1a663a92da6a..7aedd29d099d3a58e5dad759403257fd58861c7a 100644 --- a/src/d_netcmd.c +++ b/src/d_netcmd.c @@ -114,6 +114,7 @@ static void BaseNumLaps_OnChange(void); static void KartFrantic_OnChange(void); static void KartSpeed_OnChange(void); static void KartEncore_OnChange(void); +static void KartVoteRuleChanges_OnChange(void); static void KartComeback_OnChange(void); static void KartEliminateLast_OnChange(void); @@ -367,8 +368,9 @@ consvar_t cv_kartfrantic = {"kartfrantic", "Off", CV_NETVAR|CV_CHEAT|CV_CALL|CV_ consvar_t cv_kartcomeback = {"kartcomeback", "On", CV_NETVAR|CV_CHEAT|CV_CALL|CV_NOINIT, CV_OnOff, KartComeback_OnChange, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_kartencore = {"kartencore", "Off", CV_NETVAR|CV_CALL|CV_NOINIT, CV_OnOff, KartEncore_OnChange, 0, NULL, NULL, 0, 0, NULL}; static CV_PossibleValue_t kartvoterulechanges_cons_t[] = {{0, "Never"}, {1, "Sometimes"}, {2, "Frequent"}, {3, "Always"}, {0, NULL}}; -consvar_t cv_kartgametypechanges = {"kartgametypechanges", "Frequent", CV_NETVAR, kartvoterulechanges_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL}; -consvar_t cv_kartencorechance = {"kartencorechance", "Frequent", CV_NETVAR, kartvoterulechanges_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL}; +consvar_t cv_kartvoterulechanges = {"kartvoterulechanges", "Frequent", CV_NETVAR|CV_CALL|CV_NOINIT, kartvoterulechanges_cons_t, KartVoteRuleChanges_OnChange, 0, NULL, NULL, 0, 0, NULL}; +consvar_t cv_kartgametypechanges = {"kartgametypechanges", "Frequent", 0, kartvoterulechanges_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL}; +consvar_t cv_kartencorechance = {"kartencorechance", "Frequent", 0, kartvoterulechanges_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL}; static CV_PossibleValue_t kartspeedometer_cons_t[] = {{0, "Off"}, {1, "Kilometers"}, {2, "Miles"}, {3, "Fracunits"}, {0, NULL}}; consvar_t cv_kartspeedometer = {"kartdisplayspeed", "Off", CV_SAVE, kartspeedometer_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL}; // use tics in display static CV_PossibleValue_t kartvoices_cons_t[] = {{0, "Never"}, {1, "Tasteful"}, {2, "Meme"}, {0, NULL}}; @@ -5938,6 +5940,14 @@ static void KartEncore_OnChange(void) } } +static void KartVoteRuleChanges_OnChange(void) +{ + const char *s; + s = cv_kartvoterulechanges.string; + CV_StealthSet(&cv_kartgametypechanges, s); + CV_StealthSet(&cv_kartencorechance, s); +} + static void KartComeback_OnChange(void) { if (G_BattleGametype()) diff --git a/src/d_netcmd.h b/src/d_netcmd.h index 68fd6a5902a2d3b81303d5696b780aea2836c888..6d75f86767f8d83f6bfe10a529d5808dc6671344 100644 --- a/src/d_netcmd.h +++ b/src/d_netcmd.h @@ -117,6 +117,7 @@ extern consvar_t cv_kartbumpers; extern consvar_t cv_kartfrantic; extern consvar_t cv_kartcomeback; extern consvar_t cv_kartencore; +extern consvar_t cv_kartvoterulechanges; extern consvar_t cv_kartgametypechanges; extern consvar_t cv_kartencorechance;; extern consvar_t cv_kartspeedometer; diff --git a/src/k_kart.c b/src/k_kart.c index d389749170ebd3e9d6274afe439009c08e25cd7a..5d11a26bb728c880db32e37465cbd0c02e154615 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -574,6 +574,7 @@ void K_RegisterKartStuff(void) CV_RegisterVar(&cv_kartfrantic); CV_RegisterVar(&cv_kartcomeback); CV_RegisterVar(&cv_kartencore); + CV_RegisterVar(&cv_kartvoterulechanges); CV_RegisterVar(&cv_kartgametypechanges); CV_RegisterVar(&cv_kartencorechance); CV_RegisterVar(&cv_kartspeedometer);