mirror of
https://github.com/OpenArena/gamecode
synced 2026-08-20 18:23:03 -04:00
Replace GAMETYPE checks with defines
Still uses wrappers in the code. Also changed the proxy objective to be simpler and save a check
This commit is contained in:
parent
0bee41a517
commit
d967ac858b
6 changed files with 48 additions and 220 deletions
|
|
@ -2703,13 +2703,8 @@ CG_IsATeamGametype
|
|||
Checks if the gametype is a team-based game.
|
||||
===================
|
||||
*/
|
||||
qboolean CG_IsATeamGametype(int check) {
|
||||
if (check != GT_FFA && check != GT_TOURNAMENT && check != GT_SINGLE_PLAYER && check != GT_LMS && check != GT_POSSESSION) {
|
||||
return qtrue;
|
||||
}
|
||||
else {
|
||||
return qfalse;
|
||||
}
|
||||
qboolean CG_IsATeamGametype(int gametype) {
|
||||
return GAMETYPE_IS_A_TEAM_GAME(gametype);
|
||||
}
|
||||
/*
|
||||
===================
|
||||
|
|
@ -2719,12 +2714,7 @@ Checks if the gametype makes use of gametype-specific objectives.
|
|||
===================
|
||||
*/
|
||||
qboolean CG_UsesKeyObjectives(int check) {
|
||||
if (check != GT_FFA && check != GT_TOURNAMENT && check != GT_SINGLE_PLAYER && check != GT_TEAM && check != GT_LMS && check != GT_POSSESSION) {
|
||||
return qtrue;
|
||||
}
|
||||
else {
|
||||
return qfalse;
|
||||
}
|
||||
return GAMETYPE_USES_KEY_OBJECTIVES(check);
|
||||
}
|
||||
/*
|
||||
===================
|
||||
|
|
@ -2734,12 +2724,7 @@ Checks if the gametype makes use of the red and blue flags.
|
|||
===================
|
||||
*/
|
||||
qboolean CG_UsesTeamFlags(int check) {
|
||||
if (check == GT_CTF || check == GT_1FCTF || check == GT_CTF_ELIMINATION) {
|
||||
return qtrue;
|
||||
}
|
||||
else {
|
||||
return qfalse;
|
||||
}
|
||||
return GAMETYPE_USES_RED_AND_BLUE_FLAG(check);
|
||||
}
|
||||
/*
|
||||
===================
|
||||
|
|
@ -2749,12 +2734,7 @@ Checks if the gametype makes use of the neutral flag.
|
|||
===================
|
||||
*/
|
||||
qboolean CG_UsesTheWhiteFlag(int check) {
|
||||
if (check == GT_1FCTF || check == GT_POSSESSION) {
|
||||
return qtrue;
|
||||
}
|
||||
else {
|
||||
return qfalse;
|
||||
}
|
||||
return GAMETYPE_USES_WHITE_FLAG(check);
|
||||
}
|
||||
/*
|
||||
===================
|
||||
|
|
@ -2764,12 +2744,7 @@ Checks if the gametype has a round-based system.
|
|||
===================
|
||||
*/
|
||||
qboolean CG_IsARoundBasedGametype(int check) {
|
||||
if (check == GT_ELIMINATION || check == GT_CTF_ELIMINATION || check == GT_LMS) {
|
||||
return qtrue;
|
||||
}
|
||||
else {
|
||||
return qfalse;
|
||||
}
|
||||
return GAMETYPE_IS_ROUND_BASED(check);
|
||||
}
|
||||
/*
|
||||
===================
|
||||
|
|
@ -2779,26 +2754,6 @@ Checks if the gametype uses team-colored obelisks.
|
|||
===================
|
||||
*/
|
||||
qboolean CG_UsesTeamObelisks(int check) {
|
||||
if (check == GT_HARVESTER || check == GT_OBELISK) {
|
||||
return qtrue;
|
||||
}
|
||||
else {
|
||||
return qfalse;
|
||||
}
|
||||
}
|
||||
/*
|
||||
===================
|
||||
CG_UsesControlPoints
|
||||
|
||||
Checks if the gametype uses team-colored obelisks.
|
||||
===================
|
||||
*/
|
||||
qboolean CG_UsesControlPoints(int check) {
|
||||
if (check == GT_DOUBLE_D || check == GT_DOMINATION) {
|
||||
return qtrue;
|
||||
}
|
||||
else {
|
||||
return qfalse;
|
||||
}
|
||||
return GAMETYPE_USES_OBELISKS(check);
|
||||
}
|
||||
/* /Neon_Knight */
|
||||
|
|
|
|||
|
|
@ -135,6 +135,16 @@ typedef enum {
|
|||
|
||||
} gametype_t;
|
||||
|
||||
#define GAMETYPE_IS_A_TEAM_GAME(gametype) (gametype != GT_FFA && gametype != GT_TOURNAMENT && gametype != GT_SINGLE_PLAYER && gametype != GT_LMS && gametype != GT_POSSESSION)
|
||||
#define GAMETYPE_USES_KEY_OBJECTIVES(gametype) (gametype != GT_FFA && gametype != GT_TOURNAMENT && gametype != GT_SINGLE_PLAYER && gametype != GT_TEAM && gametype != GT_LMS && gametype != GT_POSSESSION)
|
||||
#define GAMETYPE_USES_RED_AND_BLUE_FLAG(gametype) (gametype == GT_CTF || gametype == GT_1FCTF || gametype == GT_CTF_ELIMINATION)
|
||||
#define GAMETYPE_USES_WHITE_FLAG(gametype) (gametype == GT_1FCTF || gametype == GT_POSSESSION)
|
||||
/*
|
||||
Returns true for round based games like (CTF)Elimination and LMS
|
||||
*/
|
||||
#define GAMETYPE_IS_ROUND_BASED(gametype) (gametype == GT_ELIMINATION || gametype == GT_CTF_ELIMINATION || gametype == GT_LMS)
|
||||
#define GAMETYPE_USES_OBELISKS(gametype) (gametype == GT_HARVESTER || gametype == GT_OBELISK)
|
||||
|
||||
typedef enum { GENDER_MALE, GENDER_FEMALE, GENDER_NEUTER } gender_t;
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -2785,12 +2785,7 @@ Checks if the gametype is a team-based game.
|
|||
===================
|
||||
*/
|
||||
qboolean G_IsATeamGametype(int check) {
|
||||
if (check != GT_FFA && check != GT_TOURNAMENT && check != GT_SINGLE_PLAYER && check != GT_LMS && check != GT_POSSESSION) {
|
||||
return qtrue;
|
||||
}
|
||||
else {
|
||||
return qfalse;
|
||||
}
|
||||
return GAMETYPE_IS_A_TEAM_GAME(check);
|
||||
}
|
||||
/*
|
||||
===================
|
||||
|
|
@ -2800,12 +2795,7 @@ Checks if the gametype makes use of gametype-specific objectives.
|
|||
===================
|
||||
*/
|
||||
qboolean G_UsesKeyObjectives(int check) {
|
||||
if (check != GT_FFA && check != GT_TOURNAMENT && check != GT_SINGLE_PLAYER && check != GT_TEAM && check != GT_LMS && check != GT_POSSESSION) {
|
||||
return qtrue;
|
||||
}
|
||||
else {
|
||||
return qfalse;
|
||||
}
|
||||
return GAMETYPE_USES_KEY_OBJECTIVES(check);
|
||||
}
|
||||
/*
|
||||
===================
|
||||
|
|
@ -2815,12 +2805,7 @@ Checks if the gametype makes use of the red and blue flags.
|
|||
===================
|
||||
*/
|
||||
qboolean G_UsesTeamFlags(int check) {
|
||||
if (check == GT_CTF || check == GT_1FCTF || check == GT_CTF_ELIMINATION) {
|
||||
return qtrue;
|
||||
}
|
||||
else {
|
||||
return qfalse;
|
||||
}
|
||||
return GAMETYPE_USES_RED_AND_BLUE_FLAG(check);
|
||||
}
|
||||
/*
|
||||
===================
|
||||
|
|
@ -2830,12 +2815,7 @@ Checks if the gametype makes use of the neutral flag.
|
|||
===================
|
||||
*/
|
||||
qboolean G_UsesTheWhiteFlag(int check) {
|
||||
if (check == GT_1FCTF || check == GT_POSSESSION) {
|
||||
return qtrue;
|
||||
}
|
||||
else {
|
||||
return qfalse;
|
||||
}
|
||||
return GAMETYPE_USES_WHITE_FLAG(check);
|
||||
}
|
||||
/*
|
||||
===================
|
||||
|
|
@ -2845,12 +2825,7 @@ Checks if the gametype has a round-based system.
|
|||
===================
|
||||
*/
|
||||
qboolean G_IsARoundBasedGametype(int check) {
|
||||
if (check == GT_ELIMINATION || check == GT_CTF_ELIMINATION || check == GT_LMS) {
|
||||
return qtrue;
|
||||
}
|
||||
else {
|
||||
return qfalse;
|
||||
}
|
||||
return GAMETYPE_IS_ROUND_BASED(check);
|
||||
}
|
||||
/*
|
||||
===================
|
||||
|
|
@ -2860,26 +2835,6 @@ Checks if the gametype uses team-colored obelisks.
|
|||
===================
|
||||
*/
|
||||
qboolean G_UsesTeamObelisks(int check) {
|
||||
if (check == GT_HARVESTER || check == GT_OBELISK) {
|
||||
return qtrue;
|
||||
}
|
||||
else {
|
||||
return qfalse;
|
||||
}
|
||||
}
|
||||
/*
|
||||
===================
|
||||
G_UsesControlPoints
|
||||
|
||||
Checks if the gametype uses team-colored obelisks.
|
||||
===================
|
||||
*/
|
||||
qboolean G_UsesControlPoints(int check) {
|
||||
if (check == GT_DOUBLE_D || check == GT_DOMINATION) {
|
||||
return qtrue;
|
||||
}
|
||||
else {
|
||||
return qfalse;
|
||||
}
|
||||
return GAMETYPE_USES_OBELISKS(check);
|
||||
}
|
||||
/* /Neon_Knight */
|
||||
|
|
@ -174,25 +174,23 @@ static void ProximityMine_Activate( gentity_t *ent )
|
|||
float r;
|
||||
vec3_t v1;
|
||||
gentity_t *flag;
|
||||
char *c;
|
||||
char *c = NULL;
|
||||
qboolean nearFlag = qfalse;
|
||||
|
||||
// find the flag
|
||||
switch (ent->s.generic1) {
|
||||
case TEAM_RED:
|
||||
c = "team_CTF_redflag";
|
||||
break;
|
||||
case TEAM_BLUE:
|
||||
c = "team_CTF_blueflag";
|
||||
break;
|
||||
default:
|
||||
c = NULL;
|
||||
if (G_UsesTeamFlags(g_gametype.integer)) {
|
||||
switch (ent->s.generic1) {
|
||||
case TEAM_RED:
|
||||
c = "team_CTF_redflag";
|
||||
break;
|
||||
case TEAM_BLUE:
|
||||
c = "team_CTF_blueflag";
|
||||
break;
|
||||
default:
|
||||
c = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
if (g_gametype.integer == GT_TEAM || g_gametype.integer == GT_ELIMINATION || G_UsesControlPoints(g_gametype.integer)) {
|
||||
c = NULL;
|
||||
}
|
||||
|
||||
|
||||
if (G_UsesTeamObelisks(g_gametype.integer)) {
|
||||
switch (ent->s.generic1) {
|
||||
case TEAM_RED:
|
||||
|
|
|
|||
|
|
@ -340,12 +340,7 @@ Checks if the gametype is a team-based game.
|
|||
===================
|
||||
*/
|
||||
qboolean UI_IsATeamGametype(int check) {
|
||||
if (check != GT_FFA && check != GT_TOURNAMENT && check != GT_SINGLE_PLAYER && check != GT_LMS && check != GT_POSSESSION) {
|
||||
return qtrue;
|
||||
}
|
||||
else {
|
||||
return qfalse;
|
||||
}
|
||||
return GAMETYPE_IS_A_TEAM_GAME(check);
|
||||
}
|
||||
/*
|
||||
===================
|
||||
|
|
@ -355,12 +350,7 @@ Checks if the gametype makes use of gametype-specific objectives.
|
|||
===================
|
||||
*/
|
||||
qboolean UI_UsesKeyObjectives(int check) {
|
||||
if (check != GT_FFA && check != GT_TOURNAMENT && check != GT_SINGLE_PLAYER && check != GT_TEAM && check != GT_LMS && check != GT_POSSESSION) {
|
||||
return qtrue;
|
||||
}
|
||||
else {
|
||||
return qfalse;
|
||||
}
|
||||
return GAMETYPE_USES_KEY_OBJECTIVES(check);
|
||||
}
|
||||
/*
|
||||
===================
|
||||
|
|
@ -370,12 +360,7 @@ Checks if the gametype makes use of the red and blue flags.
|
|||
===================
|
||||
*/
|
||||
qboolean UI_UsesTeamFlags(int check) {
|
||||
if (check == GT_CTF || check == GT_1FCTF || check == GT_CTF_ELIMINATION) {
|
||||
return qtrue;
|
||||
}
|
||||
else {
|
||||
return qfalse;
|
||||
}
|
||||
return GAMETYPE_USES_RED_AND_BLUE_FLAG(check);
|
||||
}
|
||||
/*
|
||||
===================
|
||||
|
|
@ -385,12 +370,7 @@ Checks if the gametype makes use of the neutral flag.
|
|||
===================
|
||||
*/
|
||||
qboolean UI_UsesTheWhiteFlag(int check) {
|
||||
if (check == GT_1FCTF || check == GT_POSSESSION) {
|
||||
return qtrue;
|
||||
}
|
||||
else {
|
||||
return qfalse;
|
||||
}
|
||||
return GAMETYPE_USES_WHITE_FLAG(check);
|
||||
}
|
||||
/*
|
||||
===================
|
||||
|
|
@ -400,12 +380,7 @@ Checks if the gametype has a round-based system.
|
|||
===================
|
||||
*/
|
||||
qboolean UI_IsARoundBasedGametype(int check) {
|
||||
if (check == GT_ELIMINATION || check == GT_CTF_ELIMINATION || check == GT_LMS) {
|
||||
return qtrue;
|
||||
}
|
||||
else {
|
||||
return qfalse;
|
||||
}
|
||||
return GAMETYPE_IS_ROUND_BASED(check);
|
||||
}
|
||||
/*
|
||||
===================
|
||||
|
|
@ -415,26 +390,6 @@ Checks if the gametype uses team-colored obelisks.
|
|||
===================
|
||||
*/
|
||||
qboolean UI_UsesTeamObelisks(int check) {
|
||||
if (check == GT_HARVESTER || check == GT_OBELISK) {
|
||||
return qtrue;
|
||||
}
|
||||
else {
|
||||
return qfalse;
|
||||
}
|
||||
}
|
||||
/*
|
||||
===================
|
||||
CG_UsesControlPoints
|
||||
|
||||
Checks if the gametype uses team-colored obelisks.
|
||||
===================
|
||||
*/
|
||||
qboolean UI_UsesControlPoints(int check) {
|
||||
if (check == GT_DOUBLE_D || check == GT_DOMINATION) {
|
||||
return qtrue;
|
||||
}
|
||||
else {
|
||||
return qfalse;
|
||||
}
|
||||
return GAMETYPE_USES_OBELISKS(check);
|
||||
}
|
||||
/* /Neon_Knight */
|
||||
|
|
|
|||
|
|
@ -7440,12 +7440,7 @@ Checks if the gametype is a team-based game.
|
|||
===================
|
||||
*/
|
||||
qboolean UI_IsATeamGametype(int check) {
|
||||
if (check != GT_FFA && check != GT_TOURNAMENT && check != GT_SINGLE_PLAYER && check != GT_LMS && check != GT_POSSESSION) {
|
||||
return qtrue;
|
||||
}
|
||||
else {
|
||||
return qfalse;
|
||||
}
|
||||
return GAMETYPE_IS_A_TEAM_GAME(check);
|
||||
}
|
||||
/*
|
||||
===================
|
||||
|
|
@ -7457,12 +7452,7 @@ Checks if the gametype makes use of gametype-specific objectives.
|
|||
===================
|
||||
*/
|
||||
qboolean UI_UsesKeyObjectives(int check) {
|
||||
if (check != GT_FFA && check != GT_TOURNAMENT && check != GT_SINGLE_PLAYER && check != GT_TEAM && check != GT_LMS && check != GT_POSSESSION) {
|
||||
return qtrue;
|
||||
}
|
||||
else {
|
||||
return qfalse;
|
||||
}
|
||||
return GAMETYPE_USES_KEY_OBJECTIVES(check);
|
||||
}
|
||||
/*
|
||||
===================
|
||||
|
|
@ -7472,12 +7462,7 @@ Checks if the gametype makes use of the red and blue flags.
|
|||
===================
|
||||
*/
|
||||
qboolean UI_UsesTeamFlags(int check) {
|
||||
if (check == GT_CTF || check == GT_1FCTF || check == GT_CTF_ELIMINATION) {
|
||||
return qtrue;
|
||||
}
|
||||
else {
|
||||
return qfalse;
|
||||
}
|
||||
return GAMETYPE_USES_RED_AND_BLUE_FLAG(check);
|
||||
}
|
||||
/*
|
||||
===================
|
||||
|
|
@ -7487,12 +7472,7 @@ Checks if the gametype makes use of the neutral flag.
|
|||
===================
|
||||
*/
|
||||
qboolean UI_UsesTheWhiteFlag(int check) {
|
||||
if (check == GT_1FCTF || check == GT_POSSESSION) {
|
||||
return qtrue;
|
||||
}
|
||||
else {
|
||||
return qfalse;
|
||||
}
|
||||
return GAMETYPE_USES_WHITE_FLAG(check);
|
||||
}
|
||||
/*
|
||||
===================
|
||||
|
|
@ -7502,12 +7482,7 @@ Checks if the gametype has a round-based system.
|
|||
===================
|
||||
*/
|
||||
qboolean UI_IsARoundBasedGametype(int check) {
|
||||
if (check == GT_ELIMINATION || check == GT_CTF_ELIMINATION || check == GT_LMS) {
|
||||
return qtrue;
|
||||
}
|
||||
else {
|
||||
return qfalse;
|
||||
}
|
||||
return GAMETYPE_IS_ROUND_BASED(check);
|
||||
}
|
||||
/*
|
||||
===================
|
||||
|
|
@ -7517,26 +7492,6 @@ Checks if the gametype uses team-colored obelisks.
|
|||
===================
|
||||
*/
|
||||
qboolean UI_UsesTeamObelisks(int check) {
|
||||
if (check == GT_HARVESTER || check == GT_OBELISK) {
|
||||
return qtrue;
|
||||
}
|
||||
else {
|
||||
return qfalse;
|
||||
}
|
||||
}
|
||||
/*
|
||||
===================
|
||||
CG_UsesControlPoints
|
||||
|
||||
Checks if the gametype uses team-colored obelisks.
|
||||
===================
|
||||
*/
|
||||
qboolean UI_UsesControlPoints(int check) {
|
||||
if (check == GT_DOUBLE_D || check == GT_DOMINATION) {
|
||||
return qtrue;
|
||||
}
|
||||
else {
|
||||
return qfalse;
|
||||
}
|
||||
return GAMETYPE_USES_OBELISKS(check);
|
||||
}
|
||||
/* /Neon_Knight */
|
||||
Loading…
Add table
Add a link
Reference in a new issue