diff options
-rw-r--r-- | src/cgame/cg_servercmds.c | 16 | ||||
-rw-r--r-- | src/game/bg_public.h | 24 | ||||
-rw-r--r-- | src/game/g_buildable.c | 52 | ||||
-rw-r--r-- | src/game/g_cmds.c | 37 | ||||
-rw-r--r-- | src/game/g_local.h | 22 |
5 files changed, 77 insertions, 74 deletions
diff --git a/src/cgame/cg_servercmds.c b/src/cgame/cg_servercmds.c index 6587c784..636f7341 100644 --- a/src/cgame/cg_servercmds.c +++ b/src/cgame/cg_servercmds.c @@ -523,7 +523,7 @@ void CG_Menu( int menu ) cmd = "menu tremulous_human_dialog\n"; break; - case MN_H_NOPOWER: + case MN_H_NOBP: longMsg = "There is no power remaining. Free up power by destroying " "existing buildable objects."; shortMsg = "There is no power remaining\n"; @@ -545,14 +545,14 @@ void CG_Menu( int menu ) cmd = "menu tremulous_human_dialog\n"; break; - case MN_H_REACTOR: + case MN_H_ONEREACTOR: longMsg = "There can only be one Reactor. Destroy the existing one if you " "wish to move it."; shortMsg = "There can only be one Reactor\n"; cmd = "menu tremulous_human_dialog\n"; break; - case MN_H_REPEATER: + case MN_H_NOPOWERHERE: longMsg = "There is no power here. If available, a Repeater may be used to " "transmit power to this location."; shortMsg = "There is no power here\n"; @@ -573,14 +573,14 @@ void CG_Menu( int menu ) cmd = "menu tremulous_human_dialog\n"; break; - case MN_H_RPTWARN: + case MN_H_RPTNOREAC: longMsg = "WARNING: This Repeater will not be powered as there is no parent " "Reactor providing power. Build a Reactor."; shortMsg = "This Repeater will not be powered\n"; cmd = "menu tremulous_human_dialog\n"; break; - case MN_H_RPTWARN2: + case MN_H_RPTPOWERHERE: longMsg = "This area already has power. A Repeater is not required here."; shortMsg = "This area already has power\n"; cmd = "menu tremulous_human_dialog\n"; @@ -667,21 +667,21 @@ void CG_Menu( int menu ) cmd = "menu tremulous_alien_dialog\n"; break; - case MN_A_OVERMIND: + case MN_A_ONEOVERMIND: longMsg = "There can only be one Overmind. Destroy the existing one if you " "wish to move it."; shortMsg = "There can only be one Overmind\n"; cmd = "menu tremulous_alien_dialog\n"; break; - case MN_A_HOVEL: + case MN_A_ONEHOVEL: longMsg = "There can only be one Hovel. Destroy the existing one if you " "wish to move it."; shortMsg = "There can only be one Hovel\n"; cmd = "menu tremulous_alien_dialog\n"; break; - case MN_A_NOASSERT: + case MN_A_NOBP: longMsg = "The Overmind cannot control any more structures. Destroy existing " "structures to build more."; shortMsg = "The Overmind cannot control any more structures\n"; diff --git a/src/game/bg_public.h b/src/game/bg_public.h index 6a23595e..6a6869c9 100644 --- a/src/game/bg_public.h +++ b/src/game/bg_public.h @@ -585,14 +585,14 @@ typedef enum MN_A_NOOVMND_EVOLVE, //alien build - MN_A_SPWNWARN, - MN_A_OVERMIND, - MN_A_NOASSERT, + MN_A_SPWNWARN, // not currently used + MN_A_ONEOVERMIND, + MN_A_NOBP, MN_A_NOCREEP, MN_A_NOOVMND, MN_A_NOROOM, - MN_A_NORMAL, - MN_A_HOVEL, + MN_A_NORMAL, // too steep + MN_A_ONEHOVEL, MN_A_HOVEL_EXIT, MN_A_TEAMCHANGEBUILDTIMER, MN_A_EVOLVEBUILDTIMER, @@ -610,16 +610,16 @@ typedef enum MN_H_NOROOMBSUITOFF, //human build - MN_H_REPEATER, - MN_H_NOPOWER, + MN_H_NOPOWERHERE, + MN_H_NOBP, MN_H_NOTPOWERED, MN_H_NODCC, - MN_H_REACTOR, + MN_H_ONEREACTOR, MN_H_NOROOM, - MN_H_NORMAL, - MN_H_TNODEWARN, - MN_H_RPTWARN, - MN_H_RPTWARN2, + MN_H_NORMAL, // too steep + MN_H_TNODEWARN, // not currently used + MN_H_RPTNOREAC, + MN_H_RPTPOWERHERE, MN_H_TEAMCHANGEBUILDTIMER, MN_H_ARMOURYBUILDTIMER } dynMenu_t; diff --git a/src/game/g_buildable.c b/src/game/g_buildable.c index 133559d7..5c905484 100644 --- a/src/game/g_buildable.c +++ b/src/game/g_buildable.c @@ -2806,7 +2806,7 @@ static itemBuildError_t G_SufficientBPAvailable( buildable_t buildable, { remainingBP = level.alienBuildPoints; remainingSpawns = level.numAlienSpawns; - bpError = IBE_NOASSERT; + bpError = IBE_NOALIENBP; spawn = BA_A_SPAWN; core = BA_A_OVERMIND; } @@ -2814,7 +2814,7 @@ static itemBuildError_t G_SufficientBPAvailable( buildable_t buildable, { remainingBP = level.humanBuildPoints; remainingSpawns = level.numHumanSpawns; - bpError = IBE_NOPOWER; + bpError = IBE_NOHUMANBP; spawn = BA_H_SPAWN; core = BA_H_REACTOR; } @@ -2941,7 +2941,7 @@ static itemBuildError_t G_SufficientBPAvailable( buildable_t buildable, // There are one or more repeaters we can't remove if( repeaterInRangeCount > 0 ) - return IBE_RPTWARN2; + return IBE_RPTPOWERHERE; // Sort the list cmpBuildable = buildable; @@ -3092,7 +3092,7 @@ itemBuildError_t G_CanBuild( gentity_t *ent, buildable_t buildable, int distance { //tell player to build a repeater to provide power if( buildable != BA_H_REACTOR && buildable != BA_H_REPEATER ) - reason = IBE_REPEATER; + reason = IBE_NOPOWERHERE; } //this buildable requires a DCC @@ -3105,11 +3105,11 @@ itemBuildError_t G_CanBuild( gentity_t *ent, buildable_t buildable, int distance tempent = G_FindBuildable( BA_H_REACTOR ); if( tempent == NULL ) // No reactor - reason = IBE_RPTWARN; + reason = IBE_RPTNOREAC; else if( g_markDeconstruct.integer && G_IsPowered( entity_origin ) == BA_H_REACTOR ) - reason = IBE_RPTWARN2; + reason = IBE_RPTPOWERHERE; else if( !g_markDeconstruct.integer && G_IsPowered( entity_origin ) ) - reason = IBE_RPTWARN2; + reason = IBE_RPTPOWERHERE; } // Check permission to build here @@ -3130,15 +3130,15 @@ itemBuildError_t G_CanBuild( gentity_t *ent, buildable_t buildable, int distance switch( buildable ) { case BA_A_OVERMIND: - reason = IBE_OVERMIND; + reason = IBE_ONEOVERMIND; break; case BA_A_HOVEL: - reason = IBE_HOVEL; + reason = IBE_ONEHOVEL; break; case BA_H_REACTOR: - reason = IBE_REACTOR; + reason = IBE_ONEREACTOR; break; default: @@ -3420,8 +3420,8 @@ qboolean G_BuildIfValid( gentity_t *ent, buildable_t buildable ) G_Build( ent, buildable, origin, ent->s.apos.trBase ); return qtrue; - case IBE_NOASSERT: - G_TriggerMenu( ent->client->ps.clientNum, MN_A_NOASSERT ); + case IBE_NOALIENBP: + G_TriggerMenu( ent->client->ps.clientNum, MN_A_NOBP ); return qfalse; case IBE_NOOVERMIND: @@ -3432,12 +3432,12 @@ qboolean G_BuildIfValid( gentity_t *ent, buildable_t buildable ) G_TriggerMenu( ent->client->ps.clientNum, MN_A_NOCREEP ); return qfalse; - case IBE_OVERMIND: - G_TriggerMenu( ent->client->ps.clientNum, MN_A_OVERMIND ); + case IBE_ONEOVERMIND: + G_TriggerMenu( ent->client->ps.clientNum, MN_A_ONEOVERMIND ); return qfalse; - case IBE_HOVEL: - G_TriggerMenu( ent->client->ps.clientNum, MN_A_HOVEL ); + case IBE_ONEHOVEL: + G_TriggerMenu( ent->client->ps.clientNum, MN_A_ONEHOVEL ); return qfalse; case IBE_HOVELEXIT: @@ -3458,12 +3458,12 @@ qboolean G_BuildIfValid( gentity_t *ent, buildable_t buildable ) G_TriggerMenu( ent->client->ps.clientNum, MN_A_NORMAL ); return qfalse; - case IBE_REACTOR: - G_TriggerMenu( ent->client->ps.clientNum, MN_H_REACTOR ); + case IBE_ONEREACTOR: + G_TriggerMenu( ent->client->ps.clientNum, MN_H_ONEREACTOR ); return qfalse; - case IBE_REPEATER: - G_TriggerMenu( ent->client->ps.clientNum, MN_H_REPEATER ); + case IBE_NOPOWERHERE: + G_TriggerMenu( ent->client->ps.clientNum, MN_H_NOPOWERHERE ); return qfalse; case IBE_NOROOM: @@ -3473,8 +3473,8 @@ qboolean G_BuildIfValid( gentity_t *ent, buildable_t buildable ) G_TriggerMenu( ent->client->ps.clientNum, MN_A_NOROOM ); return qfalse; - case IBE_NOPOWER: - G_TriggerMenu( ent->client->ps.clientNum, MN_H_NOPOWER ); + case IBE_NOHUMANBP: + G_TriggerMenu( ent->client->ps.clientNum, MN_H_NOBP); return qfalse; case IBE_NODCC: @@ -3491,13 +3491,13 @@ qboolean G_BuildIfValid( gentity_t *ent, buildable_t buildable ) G_Build( ent, buildable, origin, ent->s.apos.trBase ); return qtrue; - case IBE_RPTWARN: - G_TriggerMenu( ent->client->ps.clientNum, MN_H_RPTWARN ); + case IBE_RPTNOREAC: + G_TriggerMenu( ent->client->ps.clientNum, MN_H_RPTNOREAC ); G_Build( ent, buildable, origin, ent->s.apos.trBase ); return qtrue; - case IBE_RPTWARN2: - G_TriggerMenu( ent->client->ps.clientNum, MN_H_RPTWARN2 ); + case IBE_RPTPOWERHERE: + G_TriggerMenu( ent->client->ps.clientNum, MN_H_RPTPOWERHERE ); return qfalse; default: diff --git a/src/game/g_cmds.c b/src/game/g_cmds.c index 05925bd4..83bfc76c 100644 --- a/src/game/g_cmds.c +++ b/src/game/g_cmds.c @@ -2363,37 +2363,40 @@ void Cmd_Build_f( gentity_t *ent ) //these are the errors displayed when the builder first selects something to use switch( G_CanBuild( ent, buildable, dist, origin ) ) { + // can place right away, set the blueprint and the valid togglebit case IBE_NONE: case IBE_TNODEWARN: - case IBE_RPTWARN: - case IBE_RPTWARN2: + case IBE_RPTNOREAC: + case IBE_RPTPOWERHERE: case IBE_SPWNWARN: - case IBE_NOROOM: - case IBE_NORMAL: - case IBE_HOVELEXIT: - case IBE_REPEATER: - case IBE_NOCREEP: ent->client->ps.stats[ STAT_BUILDABLE ] = ( buildable | SB_VALID_TOGGLEBIT ); break; - case IBE_NOASSERT: - G_TriggerMenu( ent->client->ps.clientNum, MN_A_NOASSERT ); + // can't place yet but maybe soon: start with valid togglebit off + case IBE_NORMAL: + case IBE_HOVELEXIT: + case IBE_NOCREEP: + case IBE_NOROOM: + case IBE_NOOVERMIND: + case IBE_NOPOWERHERE: + ent->client->ps.stats[ STAT_BUILDABLE ] = buildable; break; - case IBE_NOOVERMIND: - G_TriggerMenu( ent->client->ps.clientNum, MN_A_NOOVMND ); + // more serious errors just pop a menu + case IBE_NOALIENBP: + G_TriggerMenu( ent->client->ps.clientNum, MN_A_NOBP ); break; - case IBE_OVERMIND: - G_TriggerMenu( ent->client->ps.clientNum, MN_A_OVERMIND ); + case IBE_ONEOVERMIND: + G_TriggerMenu( ent->client->ps.clientNum, MN_A_ONEOVERMIND ); break; - case IBE_REACTOR: - G_TriggerMenu( ent->client->ps.clientNum, MN_H_REACTOR ); + case IBE_ONEREACTOR: + G_TriggerMenu( ent->client->ps.clientNum, MN_H_ONEREACTOR ); break; - case IBE_NOPOWER: - G_TriggerMenu( ent->client->ps.clientNum, MN_H_NOPOWER ); + case IBE_NOHUMANBP: + G_TriggerMenu( ent->client->ps.clientNum, MN_H_NOBP); break; case IBE_NODCC: diff --git a/src/game/g_local.h b/src/game/g_local.h index 932a79c1..db97d8a1 100644 --- a/src/game/g_local.h +++ b/src/game/g_local.h @@ -718,22 +718,22 @@ typedef enum IBE_NONE, IBE_NOOVERMIND, - IBE_OVERMIND, - IBE_NOASSERT, - IBE_SPWNWARN, + IBE_ONEOVERMIND, + IBE_NOALIENBP, + IBE_SPWNWARN, // not currently used IBE_NOCREEP, - IBE_HOVEL, + IBE_ONEHOVEL, IBE_HOVELEXIT, - IBE_REACTOR, - IBE_REPEATER, - IBE_TNODEWARN, - IBE_RPTWARN, - IBE_RPTWARN2, - IBE_NOPOWER, + IBE_ONEREACTOR, + IBE_NOPOWERHERE, + IBE_TNODEWARN, // not currently sued + IBE_RPTNOREAC, + IBE_RPTPOWERHERE, + IBE_NOHUMANBP, IBE_NODCC, - IBE_NORMAL, + IBE_NORMAL, // too steep IBE_NOROOM, IBE_PERMISSION, |