2929#pragma once
3030
3131#include " Common/Snapshot.h"
32+ #include " Common/Money.h"
3233#include " GameNetwork/NetworkDefs.h"
3334#include " GameNetwork/FirewallHelper.h"
3435
@@ -190,6 +191,13 @@ class GameInfo
190191 inline Int getMapContentsMask ( void ) const ; // /< Get the map contents mask
191192 void setSeed ( Int seed ); // /< Set the random seed for the game
192193 inline Int getSeed ( void ) const ; // /< Get the game seed
194+ inline Int getUseStats ( void ) const ; // /< Does this game count towards gamespy stats?
195+ inline void setUseStats ( Int useStats );
196+
197+ inline UnsignedShort getSuperweaponRestriction ( void ) const ; // /< Get any optional limits on superweapons
198+ void setSuperweaponRestriction ( UnsignedShort restriction ); // /< Set the optional limits on superweapons
199+ inline const Money & getStartingCash (void ) const ;
200+ void setStartingCash ( const Money & startingCash );
193201
194202 void setSlotPointer ( Int index, GameSlot *slot ); // /< Set the slot info pointer
195203
@@ -219,6 +227,9 @@ class GameInfo
219227 Bool isPlayerPreorder (Int index);
220228 void markPlayerAsPreorder (Int index);
221229
230+ inline Bool oldFactionsOnly (void ) const ;
231+ inline void setOldFactionsOnly ( Bool oldFactionsOnly );
232+
222233protected:
223234 Int m_preorderMask;
224235 Int m_crcInterval;
@@ -236,6 +247,10 @@ class GameInfo
236247 UnsignedInt m_mapSize;
237248 Int m_mapMask;
238249 Int m_seed;
250+ Int m_useStats;
251+ Money m_startingCash;
252+ UnsignedShort m_superweaponRestriction;
253+ Bool m_oldFactionsOnly; // Only USA, China, GLA -- not USA Air Force General, GLA Toxic General, et al
239254};
240255
241256extern GameInfo *TheGameInfo;
@@ -251,6 +266,12 @@ Bool GameInfo::isInGame( void ) const { return m_inGame; }
251266void GameInfo::setInGame ( void ) { m_inGame = true ; }
252267Bool GameInfo::isGameInProgress ( void ) const { return m_inProgress; }
253268void GameInfo::setGameInProgress ( Bool inProgress ) { m_inProgress = inProgress; }
269+ Int GameInfo::getUseStats ( void ) const { return m_useStats; }
270+ void GameInfo::setUseStats ( Int useStats ) { m_useStats = useStats; }
271+ const Money&GameInfo::getStartingCash ( void ) const { return m_startingCash; }
272+ UnsignedShort GameInfo::getSuperweaponRestriction ( void ) const { return m_superweaponRestriction; }
273+ Bool GameInfo::oldFactionsOnly (void ) const { return m_oldFactionsOnly; }
274+ void GameInfo::setOldFactionsOnly ( Bool oldFactionsOnly ) { m_oldFactionsOnly = oldFactionsOnly; }
254275
255276AsciiString GameInfoToAsciiString ( const GameInfo *game );
256277Bool ParseAsciiStringToGameInfo ( GameInfo *game, AsciiString options );
@@ -281,3 +302,4 @@ class SkirmishGameInfo : public GameInfo, public Snapshot
281302};
282303
283304extern SkirmishGameInfo *TheSkirmishGameInfo;
305+ extern SkirmishGameInfo *TheChallengeGameInfo;
0 commit comments