You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
121 lines
2.9 KiB
121 lines
2.9 KiB
#ifndef GRAVGUNMOD_H |
|
#define GRAVGUNMOD_H |
|
|
|
|
|
extern cvar_t cvar_allow_gravgun; |
|
extern cvar_t cvar_allow_ar2; |
|
extern cvar_t cvar_ar2_mp5; |
|
extern cvar_t cvar_ar2_bullets; |
|
extern cvar_t cvar_ar2_balls; |
|
extern cvar_t cvar_allow_bigcock; |
|
extern cvar_t cvar_allow_gateofbabylon; |
|
extern cvar_t cvar_wresptime; |
|
extern cvar_t cvar_iresptime; |
|
|
|
extern cvar_t cvar_gibtime; |
|
extern cvar_t cvar_hgibcount; |
|
extern cvar_t cvar_agibcount; |
|
|
|
extern cvar_t mp_spectator; |
|
extern cvar_t mp_fixhornetbug; |
|
extern cvar_t mp_checkentities; |
|
extern cvar_t mp_touchmenu; |
|
extern cvar_t mp_fixsavetime; |
|
|
|
// distance clipping (client.cpp) |
|
// useful for open world |
|
extern cvar_t mp_serverdistclip; |
|
extern cvar_t mp_maxbmodeldist; |
|
extern cvar_t mp_maxtrashdist; |
|
extern cvar_t mp_maxwaterdist; |
|
extern cvar_t mp_maxmonsterdist; |
|
extern cvar_t mp_maxotherdist; |
|
extern cvar_t mp_enttools_checkmodels; |
|
|
|
// tempentity clipping |
|
// if enabled, ignores PVS, so use only on open world |
|
extern cvar_t mp_servercliptents; |
|
extern cvar_t mp_maxtentdist; |
|
|
|
// control decals count from server |
|
// decals is unuseful on sandbox servers |
|
// 100 instancs of single bmodel with 100 decals |
|
// will cause in 10000 decals in frame |
|
// r_decals limit does not cover it because it |
|
// only limit decal count on different models |
|
|
|
extern cvar_t mp_maxdecals; |
|
|
|
void GGM_RegisterCVars( void ); |
|
void Ent_RunGC( bool common, bool enttools, const char *userid, const char *pattern = NULL ); |
|
bool Q_stricmpext( const char *pattern, const char *text ); |
|
class CBasePlayer; |
|
void GGM_ClientPutinServer(edict_t *pEntity , CBasePlayer *pPlayer); |
|
void GGM_ClientFirstSpawn(CBasePlayer *pPlayer ); |
|
const char *GGM_GetPlayerID( edict_t *player ); |
|
edict_t *GGM_PlayerByID( const char *id ); |
|
void GGM_Say( edict_t *pEntity ); |
|
bool GGM_ClientCommand( CBasePlayer *player, const char *pcmd ); |
|
void GGM_InitialMenus( CBasePlayer *pPlayer ); |
|
void GGM_CvarValue2( const edict_t *pEnt, int requestID, const char *cvarName, const char *value ); |
|
|
|
enum PlayerState |
|
{ |
|
STATE_UNINITIALIZED = 0, |
|
STATE_CONNECTED, |
|
STATE_SPECTATOR_BEGIN, |
|
STATE_SPAWNED, |
|
STATE_SPECTATOR, |
|
STATE_POINT_SELECT |
|
}; |
|
|
|
enum PlayerMenuState |
|
{ |
|
MENUSTATE_NONE = 0, |
|
MENUSTATE_COOPMENU, |
|
MENUSTATE_COOPMENU_SPEC, |
|
MENUSTATE_CHECKPOINT, |
|
MENUSTATE_GLOBAL, |
|
MENUSTATE_LOCAL_CONFIRM |
|
}; |
|
|
|
|
|
class GGM_PlayerMenu |
|
{ |
|
struct GGM_MenuItem |
|
{ |
|
char command[256]; |
|
char name[32]; |
|
} m_items[5]; |
|
int m_iCount; |
|
char m_sTitle[32]; |
|
bool m_fShow; |
|
|
|
public: |
|
CBasePlayer *pPlayer; |
|
bool MenuSelect( int select ); |
|
GGM_PlayerMenu &SetTitle( const char *title ); |
|
GGM_PlayerMenu &New( const char *title, bool force = true ); |
|
GGM_PlayerMenu &Add( const char *name, const char *command ); |
|
GGM_PlayerMenu &Clear( void ); |
|
void Show(); |
|
}; |
|
|
|
|
|
struct GGMData |
|
{ |
|
float m_flSpawnTime; |
|
PlayerState m_state; |
|
bool m_fTouchMenu; |
|
int m_iMenuState; |
|
int m_iLocalConfirm; |
|
int m_iConfirmKey; |
|
float m_flEntScope; |
|
float m_flEntTime; |
|
char uid[33]; |
|
GGM_PlayerMenu menu; |
|
bool touch_loading; |
|
}; |
|
|
|
#endif // GRAVGUNMOD_H |
|
|
|
|