Fixes for Domination found when looking at the code. Whether they were causing noticeable issues is unknown. This breaks network compatibility with past release's QVMs (this is handled by GAME_VERSION).

- CS_SIGILSTATUS used the same configstring index as a G_ModelIndex(); CS_MODELS to CS_MODELS + MAX_MODELS
- PW_SIGILWHITE, etc powerups were out of bounds for ps.powerups[] (see MAX_POWERUPS) and read ammo values
This commit is contained in:
zturtleman 2022-01-02 19:58:57 +00:00
parent d6679e53ab
commit 146f909848
2 changed files with 10 additions and 5 deletions

View file

@ -1351,6 +1351,7 @@ static void PM_CheckDuck (void)
{ {
trace_t trace; trace_t trace;
#ifdef MISSIONPACK
if ( pm->ps->powerups[PW_INVULNERABILITY] ) { if ( pm->ps->powerups[PW_INVULNERABILITY] ) {
if ( pm->ps->pm_flags & PMF_INVULEXPAND ) { if ( pm->ps->pm_flags & PMF_INVULEXPAND ) {
// invulnerability sphere has a 42 units radius // invulnerability sphere has a 42 units radius
@ -1366,6 +1367,7 @@ static void PM_CheckDuck (void)
return; return;
} }
pm->ps->pm_flags &= ~PMF_INVULEXPAND; pm->ps->pm_flags &= ~PMF_INVULEXPAND;
#endif
pm->mins[0] = -15; pm->mins[0] = -15;
pm->mins[1] = -15; pm->mins[1] = -15;

View file

@ -30,7 +30,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
// because games can change separately from the main system version, we need a // because games can change separately from the main system version, we need a
// second version that must match between game and cgame // second version that must match between game and cgame
#define GAME_VERSION BASEGAME "-1" #define GAME_VERSION BASEGAME "-2"
#define DEFAULT_GRAVITY 800 #define DEFAULT_GRAVITY 800
#define GIB_HEALTH -40 #define GIB_HEALTH -40
@ -103,11 +103,10 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#define CS_SCORES3 27 #define CS_SCORES3 27
#define CS_SCORES4 28 #define CS_SCORES4 28
#define CS_REFLECTION_IMAGE 29 #define CS_REFLECTION_IMAGE 29
#define CS_SIGILSTATUS 30
//#define CS_MODELS 32
#define CS_MODELS 30
#define CS_SIGILSTATUS 31
// Q3Rally Code END // Q3Rally Code END
#define CS_MODELS 32
#define CS_SOUNDS (CS_MODELS+MAX_MODELS) #define CS_SOUNDS (CS_MODELS+MAX_MODELS)
// STONELANCE // STONELANCE
//#define CS_PLAYERS (CS_SOUNDS+MAX_SOUNDS) //#define CS_PLAYERS (CS_SOUNDS+MAX_SOUNDS)
@ -219,7 +218,9 @@ typedef enum {
#define PMF_GRAPPLE_PULL 2048 // pull towards grapple location #define PMF_GRAPPLE_PULL 2048 // pull towards grapple location
#define PMF_FOLLOW 4096 // spectate following another player #define PMF_FOLLOW 4096 // spectate following another player
#define PMF_SCOREBOARD 8192 // spectate as a scoreboard #define PMF_SCOREBOARD 8192 // spectate as a scoreboard
#ifdef MISSIONPACK
#define PMF_INVULEXPAND 16384 // invulnerability sphere set to full size #define PMF_INVULEXPAND 16384 // invulnerability sphere set to full size
#endif
// STONELANCE // STONELANCE
#define PMF_OBSERVE 32768 // spectate as an observer #define PMF_OBSERVE 32768 // spectate as an observer
// END // END
@ -421,11 +422,13 @@ typedef enum {
PW_BLUEFLAG, PW_BLUEFLAG,
PW_NEUTRALFLAG, PW_NEUTRALFLAG,
#ifdef MISSIONPACK
PW_SCOUT, PW_SCOUT,
PW_GUARD, PW_GUARD,
PW_DOUBLER, PW_DOUBLER,
PW_AMMOREGEN, PW_AMMOREGEN,
PW_INVULNERABILITY, PW_INVULNERABILITY,
#endif
PW_SIGILWHITE, PW_SIGILWHITE,
PW_SIGILRED, PW_SIGILRED,