SA-MP/server/netgame.h

96 lines
2.3 KiB
C
Raw Normal View History

#ifndef SAMPSRV_NETGAME_H
#define SAMPSRV_NETGAME_H
2024-04-12 22:22:58 +08:00
#define MAX_SPAWNS 319
2024-01-25 22:16:28 +08:00
#define GAMESTATE_RUNNING 1
#define INVALID_ID 0xFFFF
class CNetGame // size: W: 14808 L: 14816
{
private:
2024-04-11 22:57:48 +08:00
CGameMode *m_pGameMode;
CFilterScripts *m_pFilterScripts;
CPlayerPool *m_pPlayerPool;
CVehiclePool *m_pVehiclePool;
CPickupPool *m_pPickupPool;
CObjectPool *m_pObjectPool;
CMenuPool *m_pMenuPool;
CTextDrawPool *m_pTextPool;
CLabelPool *m_pLabelPool;
CGangZonePool *m_pGangZonePool;
CActorPool *m_pActorPool;
2024-04-11 22:57:48 +08:00
int m_iCurrentGameModeIndex;
int m_iCurrentGameModeRepeat;
BOOL m_bFirstGameModeLoaded;
2024-04-11 22:57:48 +08:00
CScriptHttps *m_pScriptHttps;
CScriptTimers *m_pScriptTimers;
RakServerInterface *m_pRak;
2024-04-11 22:57:48 +08:00
int m_iLastServerTickUpdate;
int m_iServerTickCount;
int m_iServerTickRate;
BOOL m_bLanMode;
int m_iShowPlayerMarkers;
bool m_bShowNameTags;
BYTE m_byteWorldTime;
bool m_bAllowWeapons; // Allow weapons in interiors
bool m_bStuntBonus; // Insane stunt bonusses enabled?
2024-04-11 22:57:48 +08:00
char field_5C;
BYTE m_byteWeather;
int m_iGameState;
float m_fGravity;
int m_iDeathDropMoney;
2024-04-11 22:57:48 +08:00
char field_6A;
char field_6B;
bool m_bLimitGlobalChatRadius; // limit global player chat to other players within a certain radius
bool m_bUseCJWalk;
float m_fGlobalChatRadius; // limit global chat radius
float m_fNameTagDrawDistance; // The distance which players will start rendering nametags
bool m_bDisableEnterExits; // Interior enter/exits disabled?
bool m_bNameTagLOS;
bool m_bManualVehicleEngineAndLights;
bool m_bLimitPlayerMarkerRadius;
float m_fPlayerMarkerRadius;
BOOL m_bVehicleFriendlyFire;
2024-04-11 22:57:48 +08:00
#ifndef WIN32
double m_dElapsedTime;
#endif
public:
CScriptTimers* GetTimers() { return m_pScriptTimers; };
CNetGame();
~CNetGame();
void Init(BOOL bFirst);
void ShutdownForGameModeRestart();
2024-04-12 22:00:55 +08:00
CPlayerPool * GetPlayerPool() { return m_pPlayerPool; };
RakServerInterface * GetRakServer() { return m_pRak; };
2024-04-12 22:09:26 +08:00
CGameMode * GetGameMode() { return m_pGameMode; };
CFilterScripts * GetFilterScripts() { return m_pFilterScripts; };
char *GetNextScriptFile();
void LoadAllFilterscripts();
void Process();
void LoadBanList();
2023-12-02 22:28:37 +08:00
2024-04-11 22:57:48 +08:00
// CLASS SYSTEM
int m_iSpawnsAvailable;
PLAYER_SPAWN_INFO m_AvailableSpawns[MAX_SPAWNS];
2023-12-02 22:28:37 +08:00
DWORD GetTime();
};
#endif