From aa2a3fcda268a0df966ace71b2fe8e2002c429fa Mon Sep 17 00:00:00 2001 From: De-Seppe <71447857+De-Seppe@users.noreply.github.com> Date: Mon, 27 Sep 2021 13:11:37 +0200 Subject: [PATCH 1/2] Add cvar machinegun_norecoil Add cvar machinegun_norecoil This cvar allows to disable machinegun recoil in single player. The default value is the original Quake 2 behaviour. --- src/g_main.c | 1 + src/header/local.h | 1 + src/player/weapon.c | 2 +- src/savegame/savegame.c | 1 + 4 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/g_main.c b/src/g_main.c index 1bbc526..ca150d9 100644 --- a/src/g_main.c +++ b/src/g_main.c @@ -67,6 +67,7 @@ cvar_t *sv_maplist; cvar_t *gib_on; cvar_t *aimfix; +cvar_t *machinegun_norecoil; void SpawnEntities(char *mapname, char *entities, char *spawnpoint); void ClientThink(edict_t *ent, usercmd_t *cmd); diff --git a/src/header/local.h b/src/header/local.h index 350aff9..5ca54b1 100644 --- a/src/header/local.h +++ b/src/header/local.h @@ -541,6 +541,7 @@ extern cvar_t *flood_waitdelay; extern cvar_t *sv_maplist; extern cvar_t *aimfix; +extern cvar_t *machinegun_norecoil; #define world (&g_edicts[0]) diff --git a/src/player/weapon.c b/src/player/weapon.c index 731ebad..9d8cae8 100644 --- a/src/player/weapon.c +++ b/src/player/weapon.c @@ -1345,7 +1345,7 @@ Machinegun_Fire(edict_t *ent) ent->client->kick_angles[0] = ent->client->machinegun_shots * -1.5; /* raise the gun as it is firing */ - if (!deathmatch->value) + if (!(deathmatch->value || machinegun_norecoil->value)) { ent->client->machinegun_shots++; diff --git a/src/savegame/savegame.c b/src/savegame/savegame.c index c80cd39..3eeb456 100644 --- a/src/savegame/savegame.c +++ b/src/savegame/savegame.c @@ -250,6 +250,7 @@ InitGame(void) /* others */ aimfix = gi.cvar("aimfix", "0", CVAR_ARCHIVE); + machinegun_norecoil = gi.cvar("machinegun_norecoil", "0", CVAR_ARCHIVE); /* items */ InitItems (); From 020b142e7bf36e7faa99cad7e579609836e873b0 Mon Sep 17 00:00:00 2001 From: De-Seppe <71447857+De-Seppe@users.noreply.github.com> Date: Mon, 27 Sep 2021 18:30:32 +0200 Subject: [PATCH 2/2] Rename variable to conform to naming guidelines Change the name of the cvar machinegun_norecoil to g_machinegun_norecoil to conform to the naming guidelines --- src/g_main.c | 2 +- src/header/local.h | 2 +- src/player/weapon.c | 2 +- src/savegame/savegame.c | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/g_main.c b/src/g_main.c index ca150d9..0956ea5 100644 --- a/src/g_main.c +++ b/src/g_main.c @@ -67,7 +67,7 @@ cvar_t *sv_maplist; cvar_t *gib_on; cvar_t *aimfix; -cvar_t *machinegun_norecoil; +cvar_t *g_machinegun_norecoil; void SpawnEntities(char *mapname, char *entities, char *spawnpoint); void ClientThink(edict_t *ent, usercmd_t *cmd); diff --git a/src/header/local.h b/src/header/local.h index 5ca54b1..767ad1f 100644 --- a/src/header/local.h +++ b/src/header/local.h @@ -541,7 +541,7 @@ extern cvar_t *flood_waitdelay; extern cvar_t *sv_maplist; extern cvar_t *aimfix; -extern cvar_t *machinegun_norecoil; +extern cvar_t *g_machinegun_norecoil; #define world (&g_edicts[0]) diff --git a/src/player/weapon.c b/src/player/weapon.c index 9d8cae8..173a363 100644 --- a/src/player/weapon.c +++ b/src/player/weapon.c @@ -1345,7 +1345,7 @@ Machinegun_Fire(edict_t *ent) ent->client->kick_angles[0] = ent->client->machinegun_shots * -1.5; /* raise the gun as it is firing */ - if (!(deathmatch->value || machinegun_norecoil->value)) + if (!(deathmatch->value || g_machinegun_norecoil->value)) { ent->client->machinegun_shots++; diff --git a/src/savegame/savegame.c b/src/savegame/savegame.c index 3eeb456..3eef0f0 100644 --- a/src/savegame/savegame.c +++ b/src/savegame/savegame.c @@ -250,7 +250,7 @@ InitGame(void) /* others */ aimfix = gi.cvar("aimfix", "0", CVAR_ARCHIVE); - machinegun_norecoil = gi.cvar("machinegun_norecoil", "0", CVAR_ARCHIVE); + g_machinegun_norecoil = gi.cvar("g_machinegun_norecoil", "0", CVAR_ARCHIVE); /* items */ InitItems ();