From a516b2c8720d6e49cc1c7058bd9b8193ae175204 Mon Sep 17 00:00:00 2001 From: cuttlefish Date: Fri, 9 Aug 2019 00:57:07 +0200 Subject: [PATCH] - Converts keyboard turnspeeds into global CVars # Conflicts: # src/g_cvars.cpp --- src/g_game.cpp | 47 +++++++++++++++++++++++++++++++++++++---------- 1 file changed, 37 insertions(+), 10 deletions(-) diff --git a/src/g_game.cpp b/src/g_game.cpp index 6a2377d12..f357c6249 100644 --- a/src/g_game.cpp +++ b/src/g_game.cpp @@ -207,9 +207,27 @@ short consistancy[MAXPLAYERS][BACKUPTICS]; #define TURBOTHRESHOLD 12800 +CUSTOM_CVAR (Int, turnspeedwalkfast, 640, CVAR_ARCHIVE | CVAR_GLOBALCONFIG) +{ + if (self <= 0) self = 1; +} +CUSTOM_CVAR (Int, turnspeedsprintfast, 1280, CVAR_ARCHIVE | CVAR_GLOBALCONFIG) +{ + if (self <= 0) self = 1; +} +CUSTOM_CVAR (Int, turnspeedwalkslow, 320, CVAR_ARCHIVE | CVAR_GLOBALCONFIG) +{ + if (self <= 0) self = 1; +} +CUSTOM_CVAR (Int, turnspeedsprintslow, 320, CVAR_ARCHIVE | CVAR_GLOBALCONFIG) +{ + if (self <= 0) self = 1; +} + +const char *TURNSPEEDCVARKEYS[4] = {"turnspeedwalkfast", "turnspeedsprintfast", "turnspeedwalkslow", "turnspeedsprintslow"}; int forwardmove[2], sidemove[2]; -int angleturn[4] = {640, 1280, 320, 320}; // + slow turn +FIntCVar *angleturn[4] = {&turnspeedwalkfast, &turnspeedsprintfast, &turnspeedwalkslow, &turnspeedsprintslow}; int flyspeed[2] = {1*256, 3*256}; int lookspeed[2] = {450, 512}; @@ -279,32 +297,41 @@ CUSTOM_CVAR (Float, turbo, 100.f, CVAR_NOINITCALL) #pragma optimize("", on) #endif // _M_X64 && _MSC_VER < 1910 +ECVarType dummy; +#define ANGLETURN(at) at->GetFavoriteRep(&dummy).Int CCMD (turnspeeds) { if (argv.argc() == 1) { - Printf ("Current turn speeds: %d %d %d %d\n", angleturn[0], - angleturn[1], angleturn[2], angleturn[3]); + Printf ("\034H Current turn speeds:\n\ + \034N turnspeedwalkfast: \034D %d\n\ + \034N turnspeedsprintfast: \034D %d\n\ + \034N turnspeedwalkslow: \034D %d\n\ + \034N turnspeedsprintslow: \034D %d\n", ANGLETURN(angleturn[0]), + ANGLETURN(angleturn[1]), ANGLETURN(angleturn[2]), ANGLETURN(angleturn[3])); } else { int i; - + char val[10]; for (i = 1; i <= 4 && i < argv.argc(); ++i) { - angleturn[i-1] = atoi (argv[i]); + cvar_forceset(TURNSPEEDCVARKEYS[i - 1], argv[i]); } if (i <= 2) { - angleturn[1] = angleturn[0] * 2; + sprintf(val, "%d", ANGLETURN(angleturn[0]) * 2); + cvar_forceset(TURNSPEEDCVARKEYS[1], val); } if (i <= 3) { - angleturn[2] = angleturn[0] / 2; + sprintf(val, "%d", ANGLETURN(angleturn[0]) / 2); + cvar_forceset(TURNSPEEDCVARKEYS[2], val); } if (i <= 4) { - angleturn[3] = angleturn[2]; + sprintf(val, "%d", ANGLETURN(angleturn[2])); + cvar_forceset(TURNSPEEDCVARKEYS[3], val); } } } @@ -591,11 +618,11 @@ void G_BuildTiccmd (ticcmd_t *cmd) if (Button_Right.bDown) { - G_AddViewAngle (angleturn[tspeed]); + G_AddViewAngle (ANGLETURN(angleturn[tspeed])); } if (Button_Left.bDown) { - G_AddViewAngle (-angleturn[tspeed]); + G_AddViewAngle (-ANGLETURN(angleturn[tspeed])); } }