From 7f5da6ad47ee857a431a0b0423aac356fe08b0b4 Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Wed, 5 Jan 2011 23:09:38 +0100 Subject: [PATCH] Use more of MAX_PLAYERS in the code rather than plain numbers. Define MAX_PLAYERS for scripts. From patch by Cyp. --- data/base/multiplay/skirmish/ai.slo | 1 - data/base/multiplay/skirmish/rules.slo | 4 ++-- .../dydo-ai/multiplay/skirmish/ai.slo | 1 - .../semperfi/multiplay/skirmish/ai.slo | 1 - lib/netplay/netplay.h | 2 +- src/mission.cpp | 2 +- src/mission.h | 4 ++-- src/scripttabs.cpp | 2 ++ src/structure.cpp | 18 ++---------------- 9 files changed, 10 insertions(+), 25 deletions(-) diff --git a/data/base/multiplay/skirmish/ai.slo b/data/base/multiplay/skirmish/ai.slo index 272b5cef05a..48dd76db976 100644 --- a/data/base/multiplay/skirmish/ai.slo +++ b/data/base/multiplay/skirmish/ai.slo @@ -30,7 +30,6 @@ // Base threat range in world units #define W_BASE_THREAT_RANGE ((17 + (mapWidth + mapHeight) / 2 / 35) * TILE) #define ALL_ALLIES -1 -#define MAX_PLAYERS 8 #define BASE_DEFEND_DURATION (3 * 60) #define BASE_DEFEND_RADIUS (15 * TILE) diff --git a/data/base/multiplay/skirmish/rules.slo b/data/base/multiplay/skirmish/rules.slo index 1d4e443cb9f..b721cabea41 100644 --- a/data/base/multiplay/skirmish/rules.slo +++ b/data/base/multiplay/skirmish/rules.slo @@ -62,7 +62,7 @@ event initialisedEvent(CALL_GAMEINIT) addReticuleButton(DESIGN); playnum = 0; - while (playnum < 8) + while (playnum < MAX_PLAYERS) { enableStructure(command ,playnum); //make structures available to build enableStructure(factory ,playnum); @@ -86,7 +86,7 @@ event initialisedEvent(CALL_GAMEINIT) event initialisedEventTwo(CALL_GAMEINIT) { playnum = 0; - while (playnum < 8) + while (playnum < MAX_PLAYERS) { count = 0; while (count < numBaseRes) diff --git a/data/mods/multiplay/dydo-ai/multiplay/skirmish/ai.slo b/data/mods/multiplay/dydo-ai/multiplay/skirmish/ai.slo index ed9ef35f74d..1655f750cc1 100644 --- a/data/mods/multiplay/dydo-ai/multiplay/skirmish/ai.slo +++ b/data/mods/multiplay/dydo-ai/multiplay/skirmish/ai.slo @@ -101,7 +101,6 @@ Improve the way the units are gathered. dyDo should be abale to attack from vari #define EVENT_CHECK_NUMBER 23 #define NUM_AI_PERSONALITIES 4 -#define MAX_PLAYERS 8 #define TILE 128 #define MAX_DROIDS 150 diff --git a/data/mods/multiplay/semperfi/multiplay/skirmish/ai.slo b/data/mods/multiplay/semperfi/multiplay/skirmish/ai.slo index bbb3eaa275b..462325f99bb 100644 --- a/data/mods/multiplay/semperfi/multiplay/skirmish/ai.slo +++ b/data/mods/multiplay/semperfi/multiplay/skirmish/ai.slo @@ -30,7 +30,6 @@ // Base threat range in world units #define W_BASE_THREAT_RANGE ((17 + (mapWidth + mapHeight) / 2 / 35) * TILE) #define ALL_ALLIES -1 -#define MAX_PLAYERS 8 #define BASE_DEFEND_DURATION (3 * 60) #define BASE_DEFEND_RADIUS (15 * TILE) diff --git a/lib/netplay/netplay.h b/lib/netplay/netplay.h index e4339ff228a..ad05fe0a902 100644 --- a/lib/netplay/netplay.h +++ b/lib/netplay/netplay.h @@ -136,7 +136,7 @@ typedef enum #define SESSION_JOINDISABLED 1 -#define MAX_CONNECTED_PLAYERS 8 +#define MAX_CONNECTED_PLAYERS MAX_PLAYERS #define MAX_TMP_SOCKETS 16 typedef struct { //Available game storage... JUST FOR REFERENCE! diff --git a/src/mission.cpp b/src/mission.cpp index c54d7d9189d..eb412682c59 100644 --- a/src/mission.cpp +++ b/src/mission.cpp @@ -638,7 +638,7 @@ void missionFlyTransportersIn( SDWORD iPlayer, BOOL bTrackTransporter ) UWORD iX, iY, iZ; SDWORD iLandX, iLandY, iDx, iDy; - ASSERT_OR_RETURN(, iPlayer < 8, "Flying nonexistent player %d's transporters in", iPlayer); + ASSERT_OR_RETURN(, iPlayer < MAX_PLAYERS, "Flying nonexistent player %d's transporters in", iPlayer); bTrackingTransporter = bTrackTransporter; diff --git a/src/mission.h b/src/mission.h index a774f3aa97a..55e764edad7 100644 --- a/src/mission.h +++ b/src/mission.h @@ -34,8 +34,8 @@ * The number of areas that can be defined to prevent buildings being placed - * used for Transporter Landing Zones 0-7 are for players, 8 = LIMBO_LANDING */ -#define MAX_NOGO_AREAS 9 -#define LIMBO_LANDING 8 +#define MAX_NOGO_AREAS (MAX_PLAYERS + 1) +#define LIMBO_LANDING MAX_PLAYERS /** Set by scrFlyInTransporter. True if were currenly tracking the transporter. */ extern BOOL bTrackingTransporter; diff --git a/src/scripttabs.cpp b/src/scripttabs.cpp index 5e9bc9a4531..743097e8b1c 100644 --- a/src/scripttabs.cpp +++ b/src/scripttabs.cpp @@ -2004,6 +2004,8 @@ CONST_SYMBOL asConstantTable[] = // multiplayer + { "MAX_PLAYERS", VAL_INT, false, MAX_PLAYERS, NULL, NULL, 0.0f }, + { "CAMPAIGN", VAL_INT, false, CAMPAIGN, NULL, NULL, 0.0f }, { "SKIRMISH", VAL_INT, false, SKIRMISH, NULL, NULL, 0.0f }, diff --git a/src/structure.cpp b/src/structure.cpp index 551bf628b76..d67bf203ffc 100644 --- a/src/structure.cpp +++ b/src/structure.cpp @@ -2543,9 +2543,6 @@ static bool IsFactoryCommanderGroupFull(const FACTORY* psFactory) // Disallow manufacture of units once these limits are reached, // doesn't mean that these numbers can't be exceeded if units are // put down in the editor or by the scripts. -static UWORD MaxDroidsAllowedPerPlayer[MAX_PLAYERS] = {100, 999, 999, 999, 999, 999, 999, 999}; -// FIXME: We should have this variable user defined. -static UWORD MaxDroidsAllowedPerPlayerMultiPlayer[MAX_PLAYERS] = {450, 450, 450, 450, 450, 450, 450, 450}; BOOL IsPlayerStructureLimitReached(UDWORD PlayerNumber) { @@ -2556,7 +2553,7 @@ BOOL IsPlayerStructureLimitReached(UDWORD PlayerNumber) UDWORD getMaxDroids(UDWORD PlayerNumber) { - return (bMultiPlayer ? MaxDroidsAllowedPerPlayerMultiPlayer[PlayerNumber] : MaxDroidsAllowedPerPlayer[PlayerNumber] ); + return bMultiPlayer? 450 : PlayerNumber == 0? 100 : 999; } @@ -2565,18 +2562,7 @@ BOOL IsPlayerDroidLimitReached(UDWORD PlayerNumber) { unsigned int numDroids = getNumDroids(PlayerNumber) + getNumMissionDroids(PlayerNumber) + getNumTransporterDroids(PlayerNumber); - if (bMultiPlayer) - { - if ( numDroids >= MaxDroidsAllowedPerPlayerMultiPlayer[PlayerNumber] ) - return true; - } - else - { - if( numDroids >= MaxDroidsAllowedPerPlayer[PlayerNumber] ) - return true; - } - - return false; + return numDroids >= getMaxDroids(PlayerNumber); }