cosmetic changes

Added #12, send zero origin in radar position for FFA mode
This commit is contained in:
s1lentq 2016-01-28 10:48:09 +06:00
parent 9f9fdb721a
commit 3eb7513411
3 changed files with 212 additions and 275 deletions

View File

@ -189,50 +189,32 @@ class CItem;
class CGameRules class CGameRules
{ {
public: public:
virtual void RefreshSkillData(void); virtual void RefreshSkillData();
virtual void Think(void) = 0; virtual void Think() = 0;
virtual BOOL IsAllowedToSpawn(CBaseEntity *pEntity) = 0; virtual BOOL IsAllowedToSpawn(CBaseEntity *pEntity) = 0;
virtual BOOL FAllowFlashlight(void) = 0; virtual BOOL FAllowFlashlight() = 0;
virtual BOOL FShouldSwitchWeapon(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon) = 0; virtual BOOL FShouldSwitchWeapon(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon) = 0;
virtual BOOL GetNextBestWeapon(CBasePlayer *pPlayer, CBasePlayerItem *pCurrentWeapon) = 0; virtual BOOL GetNextBestWeapon(CBasePlayer *pPlayer, CBasePlayerItem *pCurrentWeapon) = 0;
virtual BOOL IsMultiplayer(void) = 0; virtual BOOL IsMultiplayer() = 0;
virtual BOOL IsDeathmatch(void) = 0; virtual BOOL IsDeathmatch() = 0;
virtual BOOL IsTeamplay(void) virtual BOOL IsTeamplay() { return FALSE; }
{ virtual BOOL IsCoOp() = 0;
return FALSE; virtual const char *GetGameDescription() { return "Counter-Strike"; } // this is the game name that gets seen in the server browser
}
virtual BOOL IsCoOp(void) = 0;
virtual const char *GetGameDescription(void) { return "Counter-Strike"; } // this is the game name that gets seen in the server browser
virtual BOOL ClientConnected(edict_t *pEntity, const char *pszName, const char *pszAddress, char *szRejectReason) = 0; virtual BOOL ClientConnected(edict_t *pEntity, const char *pszName, const char *pszAddress, char *szRejectReason) = 0;
virtual void InitHUD(CBasePlayer *pl) = 0; virtual void InitHUD(CBasePlayer *pl) = 0;
virtual void ClientDisconnected(edict_t *pClient) = 0; virtual void ClientDisconnected(edict_t *pClient) = 0;
virtual void UpdateGameMode(CBasePlayer *pPlayer) {}; virtual void UpdateGameMode(CBasePlayer *pPlayer) {};
virtual float FlPlayerFallDamage(CBasePlayer *pPlayer) = 0; virtual float FlPlayerFallDamage(CBasePlayer *pPlayer) = 0;
virtual BOOL FPlayerCanTakeDamage(CBasePlayer *pPlayer, CBaseEntity *pAttacker) virtual BOOL FPlayerCanTakeDamage(CBasePlayer *pPlayer, CBaseEntity *pAttacker) { return TRUE; }
{ virtual BOOL ShouldAutoAim(CBasePlayer *pPlayer, edict_t *target) { return TRUE; }
return TRUE;
}
virtual BOOL ShouldAutoAim(CBasePlayer *pPlayer, edict_t *target)
{
return TRUE;
}
virtual void PlayerSpawn(CBasePlayer *pPlayer) = 0; virtual void PlayerSpawn(CBasePlayer *pPlayer) = 0;
virtual void PlayerThink(CBasePlayer *pPlayer) = 0; virtual void PlayerThink(CBasePlayer *pPlayer) = 0;
virtual BOOL FPlayerCanRespawn(CBasePlayer *pPlayer) = 0; virtual BOOL FPlayerCanRespawn(CBasePlayer *pPlayer) = 0;
virtual float FlPlayerSpawnTime(CBasePlayer *pPlayer) = 0; virtual float FlPlayerSpawnTime(CBasePlayer *pPlayer) = 0;
virtual edict_t *GetPlayerSpawnSpot(CBasePlayer *pPlayer); virtual edict_t *GetPlayerSpawnSpot(CBasePlayer *pPlayer);
virtual BOOL AllowAutoTargetCrosshair(void) virtual BOOL AllowAutoTargetCrosshair() { return TRUE; }
{ virtual BOOL ClientCommand_DeadOrAlive(CBasePlayer *pPlayer, const char *pcmd) { return FALSE; }
return TRUE; virtual BOOL ClientCommand(CBasePlayer *pPlayer, const char *pcmd) { return FALSE; }
}
virtual BOOL ClientCommand_DeadOrAlive(CBasePlayer *pPlayer, const char *pcmd)
{
return FALSE;
}
virtual BOOL ClientCommand(CBasePlayer *pPlayer, const char *pcmd)
{
return FALSE;
}
virtual void ClientUserInfoChanged(CBasePlayer *pPlayer, char *infobuffer) {}; virtual void ClientUserInfoChanged(CBasePlayer *pPlayer, char *infobuffer) {};
virtual int IPointsForKill(CBasePlayer *pAttacker, CBasePlayer *pKilled) = 0; virtual int IPointsForKill(CBasePlayer *pAttacker, CBasePlayer *pKilled) = 0;
virtual void PlayerKilled(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor) = 0; virtual void PlayerKilled(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor) = 0;
@ -253,50 +235,29 @@ public:
virtual int AmmoShouldRespawn(CBasePlayerAmmo *pAmmo) = 0; virtual int AmmoShouldRespawn(CBasePlayerAmmo *pAmmo) = 0;
virtual float FlAmmoRespawnTime(CBasePlayerAmmo *pAmmo) = 0; virtual float FlAmmoRespawnTime(CBasePlayerAmmo *pAmmo) = 0;
virtual Vector VecAmmoRespawnSpot(CBasePlayerAmmo *pAmmo) = 0; virtual Vector VecAmmoRespawnSpot(CBasePlayerAmmo *pAmmo) = 0;
virtual float FlHealthChargerRechargeTime(void) = 0; virtual float FlHealthChargerRechargeTime() = 0;
virtual float FlHEVChargerRechargeTime(void) virtual float FlHEVChargerRechargeTime() { return 0.0f; }
{
return 0.0f;
}
virtual int DeadPlayerWeapons(CBasePlayer *pPlayer) = 0; virtual int DeadPlayerWeapons(CBasePlayer *pPlayer) = 0;
virtual int DeadPlayerAmmo(CBasePlayer *pPlayer) = 0; virtual int DeadPlayerAmmo(CBasePlayer *pPlayer) = 0;
virtual const char *GetTeamID(CBaseEntity *pEntity) = 0; virtual const char *GetTeamID(CBaseEntity *pEntity) = 0;
virtual int PlayerRelationship(CBasePlayer *pPlayer, CBaseEntity *pTarget) = 0; virtual int PlayerRelationship(CBasePlayer *pPlayer, CBaseEntity *pTarget) = 0;
virtual int GetTeamIndex(const char *pTeamName) virtual int GetTeamIndex(const char *pTeamName) { return -1; }
{ virtual const char *GetIndexedTeamName(int teamIndex) { return ""; }
return -1; virtual BOOL IsValidTeam(const char *pTeamName) { return TRUE; }
}
virtual const char *GetIndexedTeamName(int teamIndex)
{
return "";
}
virtual BOOL IsValidTeam(const char *pTeamName)
{
return TRUE;
}
virtual void ChangePlayerTeam(CBasePlayer *pPlayer, const char *pTeamName, BOOL bKill, BOOL bGib) {}; virtual void ChangePlayerTeam(CBasePlayer *pPlayer, const char *pTeamName, BOOL bKill, BOOL bGib) {};
virtual const char *SetDefaultPlayerTeam(CBasePlayer *pPlayer) virtual const char *SetDefaultPlayerTeam(CBasePlayer *pPlayer) { return ""; }
{ virtual BOOL PlayTextureSounds() { return TRUE; }
return ""; virtual BOOL FAllowMonsters() = 0;
} virtual void EndMultiplayerGame() {};
virtual BOOL PlayTextureSounds(void)
{
return TRUE;
}
virtual BOOL FAllowMonsters(void) = 0;
virtual void EndMultiplayerGame(void) {};
// Stuff that is shared between client and server. // Stuff that is shared between client and server.
virtual BOOL IsFreezePeriod(void) virtual BOOL IsFreezePeriod() { return m_bFreezePeriod; }
{ virtual void ServerDeactivate() {};
return m_bFreezePeriod; virtual void CheckMapConditions() {};
}
virtual void ServerDeactivate(void) {};
virtual void CheckMapConditions(void) {};
#ifdef HOOK_GAMEDLL #ifdef HOOK_GAMEDLL
void RefreshSkillData_(void); void RefreshSkillData_();
edict_t *GetPlayerSpawnSpot_(CBasePlayer *pPlayer); edict_t *GetPlayerSpawnSpot_(CBasePlayer *pPlayer);
BOOL CanHavePlayerItem_(CBasePlayer *pPlayer, CBasePlayerItem *pItem); BOOL CanHavePlayerItem_(CBasePlayer *pPlayer, CBasePlayerItem *pItem);
BOOL CanHaveAmmo_(CBasePlayer *pPlayer, const char *pszAmmoName, int iMaxCarry); BOOL CanHaveAmmo_(CBasePlayer *pPlayer, const char *pszAmmoName, int iMaxCarry);
@ -313,19 +274,16 @@ public:
class CHalfLifeRules: public CGameRules class CHalfLifeRules: public CGameRules
{ {
public: public:
CHalfLifeRules(void); CHalfLifeRules();
virtual void Think(void); virtual void Think();
virtual BOOL IsAllowedToSpawn(CBaseEntity *pEntity); virtual BOOL IsAllowedToSpawn(CBaseEntity *pEntity);
virtual BOOL FAllowFlashlight(void) virtual BOOL FAllowFlashlight() { return TRUE; }
{
return TRUE;
}
virtual BOOL FShouldSwitchWeapon(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon); virtual BOOL FShouldSwitchWeapon(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon);
virtual BOOL GetNextBestWeapon(CBasePlayer *pPlayer, CBasePlayerItem *pCurrentWeapon); virtual BOOL GetNextBestWeapon(CBasePlayer *pPlayer, CBasePlayerItem *pCurrentWeapon);
virtual BOOL IsMultiplayer(void); virtual BOOL IsMultiplayer();
virtual BOOL IsDeathmatch(void); virtual BOOL IsDeathmatch();
virtual BOOL IsCoOp(void); virtual BOOL IsCoOp();
virtual BOOL ClientConnected(edict_t *pEntity, const char *pszName, const char *pszAddress, char szRejectReason[128]); virtual BOOL ClientConnected(edict_t *pEntity, const char *pszName, const char *pszAddress, char szRejectReason[128]);
virtual void InitHUD(CBasePlayer *pl); virtual void InitHUD(CBasePlayer *pl);
virtual void ClientDisconnected(edict_t *pClient); virtual void ClientDisconnected(edict_t *pClient);
@ -335,7 +293,7 @@ public:
virtual BOOL FPlayerCanRespawn(CBasePlayer *pPlayer); virtual BOOL FPlayerCanRespawn(CBasePlayer *pPlayer);
virtual float FlPlayerSpawnTime(CBasePlayer *pPlayer); virtual float FlPlayerSpawnTime(CBasePlayer *pPlayer);
virtual edict_t *GetPlayerSpawnSpot(CBasePlayer *pPlayer); virtual edict_t *GetPlayerSpawnSpot(CBasePlayer *pPlayer);
virtual BOOL AllowAutoTargetCrosshair(void); virtual BOOL AllowAutoTargetCrosshair();
virtual int IPointsForKill(CBasePlayer *pAttacker, CBasePlayer *pKilled); virtual int IPointsForKill(CBasePlayer *pAttacker, CBasePlayer *pKilled);
virtual void PlayerKilled(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor); virtual void PlayerKilled(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor);
virtual void DeathNotice(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor); virtual void DeathNotice(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor);
@ -353,25 +311,22 @@ public:
virtual int AmmoShouldRespawn(CBasePlayerAmmo *pAmmo); virtual int AmmoShouldRespawn(CBasePlayerAmmo *pAmmo);
virtual float FlAmmoRespawnTime(CBasePlayerAmmo *pAmmo); virtual float FlAmmoRespawnTime(CBasePlayerAmmo *pAmmo);
virtual Vector VecAmmoRespawnSpot(CBasePlayerAmmo *pAmmo); virtual Vector VecAmmoRespawnSpot(CBasePlayerAmmo *pAmmo);
virtual float FlHealthChargerRechargeTime(void); virtual float FlHealthChargerRechargeTime();
virtual int DeadPlayerWeapons(CBasePlayer *pPlayer); virtual int DeadPlayerWeapons(CBasePlayer *pPlayer);
virtual int DeadPlayerAmmo(CBasePlayer *pPlayer); virtual int DeadPlayerAmmo(CBasePlayer *pPlayer);
virtual const char *GetTeamID(CBaseEntity *pEntity) virtual const char *GetTeamID(CBaseEntity *pEntity) { return ""; };
{
return "";
};
virtual int PlayerRelationship(CBasePlayer *pPlayer, CBaseEntity *pTarget); virtual int PlayerRelationship(CBasePlayer *pPlayer, CBaseEntity *pTarget);
virtual BOOL FAllowMonsters(void); virtual BOOL FAllowMonsters();
#ifdef HOOK_GAMEDLL #ifdef HOOK_GAMEDLL
void Think_(void); void Think_();
BOOL IsAllowedToSpawn_(CBaseEntity *pEntity); BOOL IsAllowedToSpawn_(CBaseEntity *pEntity);
BOOL FShouldSwitchWeapon_(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon); BOOL FShouldSwitchWeapon_(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon);
BOOL GetNextBestWeapon_(CBasePlayer *pPlayer, CBasePlayerItem *pCurrentWeapon); BOOL GetNextBestWeapon_(CBasePlayer *pPlayer, CBasePlayerItem *pCurrentWeapon);
BOOL IsMultiplayer_(void); BOOL IsMultiplayer_();
BOOL IsDeathmatch_(void); BOOL IsDeathmatch_();
BOOL IsCoOp_(void); BOOL IsCoOp_();
BOOL ClientConnected_(edict_t *pEntity, const char *pszName, const char *pszAddress, char szRejectReason[128]); BOOL ClientConnected_(edict_t *pEntity, const char *pszName, const char *pszAddress, char szRejectReason[128]);
void InitHUD_(CBasePlayer *pl); void InitHUD_(CBasePlayer *pl);
void ClientDisconnected_(edict_t *pClient); void ClientDisconnected_(edict_t *pClient);
@ -381,7 +336,7 @@ public:
BOOL FPlayerCanRespawn_(CBasePlayer *pPlayer); BOOL FPlayerCanRespawn_(CBasePlayer *pPlayer);
float FlPlayerSpawnTime_(CBasePlayer *pPlayer); float FlPlayerSpawnTime_(CBasePlayer *pPlayer);
edict_t *GetPlayerSpawnSpot_(CBasePlayer *pPlayer); edict_t *GetPlayerSpawnSpot_(CBasePlayer *pPlayer);
BOOL AllowAutoTargetCrosshair_(void); BOOL AllowAutoTargetCrosshair_();
int IPointsForKill_(CBasePlayer *pAttacker, CBasePlayer *pKilled); int IPointsForKill_(CBasePlayer *pAttacker, CBasePlayer *pKilled);
void PlayerKilled_(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor); void PlayerKilled_(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor);
void DeathNotice_(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor); void DeathNotice_(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor);
@ -399,11 +354,11 @@ public:
int AmmoShouldRespawn_(CBasePlayerAmmo *pAmmo); int AmmoShouldRespawn_(CBasePlayerAmmo *pAmmo);
float FlAmmoRespawnTime_(CBasePlayerAmmo *pAmmo); float FlAmmoRespawnTime_(CBasePlayerAmmo *pAmmo);
Vector VecAmmoRespawnSpot_(CBasePlayerAmmo *pAmmo); Vector VecAmmoRespawnSpot_(CBasePlayerAmmo *pAmmo);
float FlHealthChargerRechargeTime_(void); float FlHealthChargerRechargeTime_();
int DeadPlayerWeapons_(CBasePlayer *pPlayer); int DeadPlayerWeapons_(CBasePlayer *pPlayer);
int DeadPlayerAmmo_(CBasePlayer *pPlayer); int DeadPlayerAmmo_(CBasePlayer *pPlayer);
int PlayerRelationship_(CBasePlayer *pPlayer, CBaseEntity *pTarget); int PlayerRelationship_(CBasePlayer *pPlayer, CBaseEntity *pTarget);
BOOL FAllowMonsters_(void); BOOL FAllowMonsters_();
#endif // HOOK_GAMEDLL #endif // HOOK_GAMEDLL
@ -412,17 +367,17 @@ public:
class CHalfLifeMultiplay: public CGameRules class CHalfLifeMultiplay: public CGameRules
{ {
public: public:
CHalfLifeMultiplay(void); CHalfLifeMultiplay();
public: public:
virtual void RefreshSkillData(void); virtual void RefreshSkillData();
virtual void Think(void); virtual void Think();
virtual BOOL IsAllowedToSpawn(CBaseEntity *pEntity); virtual BOOL IsAllowedToSpawn(CBaseEntity *pEntity);
virtual BOOL FAllowFlashlight(void); virtual BOOL FAllowFlashlight();
virtual BOOL FShouldSwitchWeapon(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon); virtual BOOL FShouldSwitchWeapon(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon);
virtual BOOL GetNextBestWeapon(CBasePlayer *pPlayer, CBasePlayerItem *pCurrentWeapon); virtual BOOL GetNextBestWeapon(CBasePlayer *pPlayer, CBasePlayerItem *pCurrentWeapon);
virtual BOOL IsMultiplayer(void); virtual BOOL IsMultiplayer();
virtual BOOL IsDeathmatch(void); virtual BOOL IsDeathmatch();
virtual BOOL IsCoOp(void); virtual BOOL IsCoOp();
virtual BOOL ClientConnected(edict_t *pEntity, const char *pszName, const char *pszAddress, char szRejectReason[128]); virtual BOOL ClientConnected(edict_t *pEntity, const char *pszName, const char *pszAddress, char szRejectReason[128]);
virtual void InitHUD(CBasePlayer *pl); virtual void InitHUD(CBasePlayer *pl);
virtual void ClientDisconnected(edict_t *pClient); virtual void ClientDisconnected(edict_t *pClient);
@ -434,7 +389,7 @@ public:
virtual BOOL FPlayerCanRespawn(CBasePlayer *pPlayer); virtual BOOL FPlayerCanRespawn(CBasePlayer *pPlayer);
virtual float FlPlayerSpawnTime(CBasePlayer *pPlayer); virtual float FlPlayerSpawnTime(CBasePlayer *pPlayer);
virtual edict_t *GetPlayerSpawnSpot(CBasePlayer *pPlayer); virtual edict_t *GetPlayerSpawnSpot(CBasePlayer *pPlayer);
virtual BOOL AllowAutoTargetCrosshair(void); virtual BOOL AllowAutoTargetCrosshair();
virtual BOOL ClientCommand_DeadOrAlive(CBasePlayer *pPlayer, const char *pcmd); virtual BOOL ClientCommand_DeadOrAlive(CBasePlayer *pPlayer, const char *pcmd);
virtual BOOL ClientCommand(CBasePlayer *pPlayer, const char *pcmd); virtual BOOL ClientCommand(CBasePlayer *pPlayer, const char *pcmd);
virtual void ClientUserInfoChanged(CBasePlayer *pPlayer, char *infobuffer); virtual void ClientUserInfoChanged(CBasePlayer *pPlayer, char *infobuffer);
@ -458,52 +413,43 @@ public:
virtual int AmmoShouldRespawn(CBasePlayerAmmo *pAmmo); virtual int AmmoShouldRespawn(CBasePlayerAmmo *pAmmo);
virtual float FlAmmoRespawnTime(CBasePlayerAmmo *pAmmo); virtual float FlAmmoRespawnTime(CBasePlayerAmmo *pAmmo);
virtual Vector VecAmmoRespawnSpot(CBasePlayerAmmo *pAmmo); virtual Vector VecAmmoRespawnSpot(CBasePlayerAmmo *pAmmo);
virtual float FlHealthChargerRechargeTime(void); virtual float FlHealthChargerRechargeTime();
virtual float FlHEVChargerRechargeTime(void); virtual float FlHEVChargerRechargeTime();
virtual int DeadPlayerWeapons(CBasePlayer *pPlayer); virtual int DeadPlayerWeapons(CBasePlayer *pPlayer);
virtual int DeadPlayerAmmo(CBasePlayer *pPlayer); virtual int DeadPlayerAmmo(CBasePlayer *pPlayer);
virtual const char *GetTeamID(CBaseEntity *pEntity) virtual const char *GetTeamID(CBaseEntity *pEntity) { return ""; }
{
return "";
}
virtual int PlayerRelationship(CBasePlayer *pPlayer, CBaseEntity *pTarget); virtual int PlayerRelationship(CBasePlayer *pPlayer, CBaseEntity *pTarget);
virtual BOOL PlayTextureSounds(void) virtual BOOL PlayTextureSounds() { return FALSE;}
{ virtual BOOL FAllowMonsters();
return FALSE; virtual void EndMultiplayerGame() { GoToIntermission();}
} virtual void ServerDeactivate();
virtual BOOL FAllowMonsters(void); virtual void CheckMapConditions();
virtual void EndMultiplayerGame(void)
{
GoToIntermission();
}
virtual void ServerDeactivate(void);
virtual void CheckMapConditions(void);
// Recreate all the map entities from the map data (preserving their indices), // Recreate all the map entities from the map data (preserving their indices),
// then remove everything else except the players. // then remove everything else except the players.
// Also get rid of all world decals. // Also get rid of all world decals.
virtual void CleanUpMap(void); virtual void CleanUpMap();
virtual void RestartRound(void); virtual void RestartRound();
// check if the scenario has been won/lost // check if the scenario has been won/lost
virtual void CheckWinConditions(void); virtual void CheckWinConditions();
virtual void RemoveGuns(void); virtual void RemoveGuns();
virtual void GiveC4(void); virtual void GiveC4();
virtual void ChangeLevel(void); virtual void ChangeLevel();
virtual void GoToIntermission(void); virtual void GoToIntermission();
#ifdef HOOK_GAMEDLL #ifdef HOOK_GAMEDLL
void RefreshSkillData_(void); void RefreshSkillData_();
void Think_(void); void Think_();
BOOL IsAllowedToSpawn_(CBaseEntity *pEntity); BOOL IsAllowedToSpawn_(CBaseEntity *pEntity);
BOOL FAllowFlashlight_(void); BOOL FAllowFlashlight_();
BOOL FShouldSwitchWeapon_(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon); BOOL FShouldSwitchWeapon_(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon);
BOOL GetNextBestWeapon_(CBasePlayer *pPlayer, CBasePlayerItem *pCurrentWeapon); BOOL GetNextBestWeapon_(CBasePlayer *pPlayer, CBasePlayerItem *pCurrentWeapon);
BOOL IsMultiplayer_(void); BOOL IsMultiplayer_();
BOOL IsDeathmatch_(void); BOOL IsDeathmatch_();
BOOL IsCoOp_(void); BOOL IsCoOp_();
BOOL ClientConnected_(edict_t *pEntity, const char *pszName, const char *pszAddress, char szRejectReason[128]); BOOL ClientConnected_(edict_t *pEntity, const char *pszName, const char *pszAddress, char szRejectReason[128]);
void InitHUD_(CBasePlayer *pl); void InitHUD_(CBasePlayer *pl);
void ClientDisconnected_(edict_t *pClient); void ClientDisconnected_(edict_t *pClient);
@ -515,7 +461,7 @@ public:
BOOL FPlayerCanRespawn_(CBasePlayer *pPlayer); BOOL FPlayerCanRespawn_(CBasePlayer *pPlayer);
float FlPlayerSpawnTime_(CBasePlayer *pPlayer); float FlPlayerSpawnTime_(CBasePlayer *pPlayer);
edict_t *GetPlayerSpawnSpot_(CBasePlayer *pPlayer); edict_t *GetPlayerSpawnSpot_(CBasePlayer *pPlayer);
BOOL AllowAutoTargetCrosshair_(void); BOOL AllowAutoTargetCrosshair_();
BOOL ClientCommand_DeadOrAlive_(CBasePlayer *pPlayer, const char *pcmd); BOOL ClientCommand_DeadOrAlive_(CBasePlayer *pPlayer, const char *pcmd);
BOOL ClientCommand_(CBasePlayer *pPlayer, const char *pcmd); BOOL ClientCommand_(CBasePlayer *pPlayer, const char *pcmd);
void ClientUserInfoChanged_(CBasePlayer *pPlayer, char *infobuffer); void ClientUserInfoChanged_(CBasePlayer *pPlayer, char *infobuffer);
@ -537,21 +483,21 @@ public:
int AmmoShouldRespawn_(CBasePlayerAmmo *pAmmo); int AmmoShouldRespawn_(CBasePlayerAmmo *pAmmo);
float FlAmmoRespawnTime_(CBasePlayerAmmo *pAmmo); float FlAmmoRespawnTime_(CBasePlayerAmmo *pAmmo);
Vector VecAmmoRespawnSpot_(CBasePlayerAmmo *pAmmo); Vector VecAmmoRespawnSpot_(CBasePlayerAmmo *pAmmo);
float FlHealthChargerRechargeTime_(void); float FlHealthChargerRechargeTime_();
float FlHEVChargerRechargeTime_(void); float FlHEVChargerRechargeTime_();
int DeadPlayerWeapons_(CBasePlayer *pPlayer); int DeadPlayerWeapons_(CBasePlayer *pPlayer);
int DeadPlayerAmmo_(CBasePlayer *pPlayer); int DeadPlayerAmmo_(CBasePlayer *pPlayer);
int PlayerRelationship_(CBasePlayer *pPlayer, CBaseEntity *pTarget); int PlayerRelationship_(CBasePlayer *pPlayer, CBaseEntity *pTarget);
BOOL FAllowMonsters_(void); BOOL FAllowMonsters_();
void ServerDeactivate_(void); void ServerDeactivate_();
void CheckMapConditions_(void); void CheckMapConditions_();
void CleanUpMap_(void); void CleanUpMap_();
void RestartRound_(void); void RestartRound_();
void CheckWinConditions_(void); void CheckWinConditions_();
void RemoveGuns_(void); void RemoveGuns_();
void GiveC4_(void); void GiveC4_();
void ChangeLevel_(void); void ChangeLevel_();
void GoToIntermission_(void); void GoToIntermission_();
#endif // HOOK_GAMEDLL #endif // HOOK_GAMEDLL
@ -575,68 +521,53 @@ public:
void TerminateRound(float tmDelay, int iWinStatus); void TerminateRound(float tmDelay, int iWinStatus);
// Check various conditions to end the map. // Check various conditions to end the map.
bool CheckGameOver(void); bool CheckGameOver();
bool CheckTimeLimit(void); bool CheckTimeLimit();
bool CheckMaxRounds(void); bool CheckMaxRounds();
bool CheckWinLimit(void); bool CheckWinLimit();
void CheckFreezePeriodExpired(void); void CheckFreezePeriodExpired();
void CheckRoundTimeExpired(void); void CheckRoundTimeExpired();
void CheckLevelInitialized(void); void CheckLevelInitialized();
void CheckRestartRound(void); void CheckRestartRound();
BOOL IsCareer(void); BOOL IsCareer();
void QueueCareerRoundEndMenu(float tmDelay, int iWinStatus); void QueueCareerRoundEndMenu(float tmDelay, int iWinStatus);
void SetCareerMatchLimit(int minWins, int winDifference); void SetCareerMatchLimit(int minWins, int winDifference);
bool IsInCareerRound(void); bool IsInCareerRound();
void CareerRestart(void); void CareerRestart();
bool ShouldSkipSpawn(void) bool ShouldSkipSpawn() const { return m_bSkipSpawn; }
{ void MarkSpawnSkipped() { m_bSkipSpawn = false; }
return m_bSkipSpawn; NOXREF void PlayerJoinedTeam(CBasePlayer *pPlayer) { }
} float TimeRemaining() { return m_iRoundTimeSecs - gpGlobals->time + m_fRoundCount; }
void MarkSpawnSkipped(void)
{
m_bSkipSpawn = false;
}
NOXREF void PlayerJoinedTeam(CBasePlayer *pPlayer)
{
;
}
float TimeRemaining(void)
{
return m_iRoundTimeSecs - gpGlobals->time + m_fRoundCount;
}
BOOL TeamFull(int team_id); BOOL TeamFull(int team_id);
BOOL TeamStacked(int newTeam_id, int curTeam_id); BOOL TeamStacked(int newTeam_id, int curTeam_id);
bool IsVIPQueueEmpty(void); bool IsVIPQueueEmpty();
bool AddToVIPQueue(CBasePlayer *toAdd); bool AddToVIPQueue(CBasePlayer *toAdd);
// VIP FUNCTIONS // VIP FUNCTIONS
void PickNextVIP(void); void PickNextVIP();
void StackVIPQueue(void); void StackVIPQueue();
void ResetCurrentVIP(void); void ResetCurrentVIP();
void BalanceTeams(void); void BalanceTeams();
void SwapAllPlayers(void); void SwapAllPlayers();
void UpdateTeamScores(void); void UpdateTeamScores();
void DisplayMaps(CBasePlayer *player, int iVote); void DisplayMaps(CBasePlayer *player, int iVote);
void ResetAllMapVotes(void); void ResetAllMapVotes();
void ProcessMapVote(CBasePlayer *player, int iVote); void ProcessMapVote(CBasePlayer *player, int iVote);
// BOMB MAP FUNCTIONS // BOMB MAP FUNCTIONS
BOOL IsThereABomber(void); BOOL IsThereABomber();
BOOL IsThereABomb(void); BOOL IsThereABomb();
bool IsMatchStarted(void) bool IsMatchStarted() { return (m_fTeamCount != 0.0f || m_fCareerRoundMenuTime != 0.0f || m_fCareerMatchMenuTime != 0.0f); }
{
return (m_fTeamCount != 0.0f || m_fCareerRoundMenuTime != 0.0f || m_fCareerMatchMenuTime != 0.0f);
}
void SendMOTDToClient(edict_t *client); void SendMOTDToClient(edict_t *client);
private: private:
bool HasRoundTimeExpired(void); bool HasRoundTimeExpired();
bool IsBombPlanted(void); bool IsBombPlanted();
void MarkLivingPlayersOnTeamAsNotReceivingMoneyNextRound(int iTeam); void MarkLivingPlayersOnTeamAsNotReceivingMoneyNextRound(int iTeam);
public: public:
@ -750,12 +681,12 @@ typedef struct mapcycle_s
class CMapInfo: public CPointEntity class CMapInfo: public CPointEntity
{ {
public: public:
virtual void Spawn(void); virtual void Spawn();
virtual void KeyValue(KeyValueData *pkvd); virtual void KeyValue(KeyValueData *pkvd);
#ifdef HOOK_GAMEDLL #ifdef HOOK_GAMEDLL
void Spawn_(void); void Spawn_();
void KeyValue_(KeyValueData *pkvd); void KeyValue_(KeyValueData *pkvd);
#endif // HOOK_GAMEDLL #endif // HOOK_GAMEDLL
@ -796,33 +727,33 @@ extern cvar_t *sv_clienttrace;
extern CHalfLifeMultiplay *g_pMPGameRules; extern CHalfLifeMultiplay *g_pMPGameRules;
extern char mp_com_token[ COM_TOKEN_LEN ]; extern char mp_com_token[ COM_TOKEN_LEN ];
CGameRules *InstallGameRules(void); CGameRules *InstallGameRules();
/* /*
* Multiplay gamerules * Multiplay gamerules
*/ */
bool IsBotSpeaking(void); bool IsBotSpeaking();
void SV_Continue_f(void); void SV_Continue_f();
void SV_Tutor_Toggle_f(void); void SV_Tutor_Toggle_f();
void SV_Career_Restart_f(void); void SV_Career_Restart_f();
void SV_Career_EndRound_f(void); void SV_Career_EndRound_f();
void SV_CareerAddTask_f(void); void SV_CareerAddTask_f();
void SV_CareerMatchLimit_f(void); void SV_CareerMatchLimit_f();
void Broadcast(const char *sentence); void Broadcast(const char *sentence);
char *GetTeam(int teamNo); char *GetTeam(int teamNo);
void EndRoundMessage(const char *sentence, int event); void EndRoundMessage(const char *sentence, int event);
void ReadMultiplayCvars(CHalfLifeMultiplay *mp); void ReadMultiplayCvars(CHalfLifeMultiplay *mp);
void DestroyMapCycle(mapcycle_t *cycle); void DestroyMapCycle(mapcycle_t *cycle);
char *MP_COM_GetToken(void); char *MP_COM_GetToken();
char *MP_COM_Parse(char *data); char *MP_COM_Parse(char *data);
int MP_COM_TokenWaiting(char *buffer); int MP_COM_TokenWaiting(char *buffer);
int ReloadMapCycleFile(char *filename, mapcycle_t *cycle); int ReloadMapCycleFile(char *filename, mapcycle_t *cycle);
int CountPlayers(void); int CountPlayers();
void ExtractCommandString(char *s, char *szCommand); void ExtractCommandString(char *s, char *szCommand);
int GetMapCount(void); int GetMapCount();
#ifdef HOOK_GAMEDLL #ifdef HOOK_GAMEDLL

View File

@ -19,7 +19,7 @@ CCStrikeGameMgrHelper g_GameMgrHelper;
CHalfLifeMultiplay *g_pMPGameRules = NULL; CHalfLifeMultiplay *g_pMPGameRules = NULL;
/* <1153e2> ../cstrike/dlls/multiplay_gamerules.cpp:92 */ /* <1153e2> ../cstrike/dlls/multiplay_gamerules.cpp:92 */
bool IsBotSpeaking(void) bool IsBotSpeaking()
{ {
for (int i = 1; i <= gpGlobals->maxClients; ++i) for (int i = 1; i <= gpGlobals->maxClients; ++i)
{ {
@ -38,7 +38,7 @@ bool IsBotSpeaking(void)
} }
/* <1116dd> ../cstrike/dlls/multiplay_gamerules.cpp:111 */ /* <1116dd> ../cstrike/dlls/multiplay_gamerules.cpp:111 */
void SV_Continue_f(void) void SV_Continue_f()
{ {
CHalfLifeMultiplay *mp = g_pGameRules; CHalfLifeMultiplay *mp = g_pGameRules;
@ -67,13 +67,13 @@ void SV_Continue_f(void)
} }
/* <112860> ../cstrike/dlls/multiplay_gamerules.cpp:133 */ /* <112860> ../cstrike/dlls/multiplay_gamerules.cpp:133 */
void SV_Tutor_Toggle_f(void) void SV_Tutor_Toggle_f()
{ {
CVAR_SET_FLOAT("tutor_enable", (CVAR_GET_FLOAT("tutor_enable") <= 0.0)); CVAR_SET_FLOAT("tutor_enable", (CVAR_GET_FLOAT("tutor_enable") <= 0.0));
} }
/* <11538f> ../cstrike/dlls/multiplay_gamerules.cpp:139 */ /* <11538f> ../cstrike/dlls/multiplay_gamerules.cpp:139 */
void SV_Career_Restart_f(void) void SV_Career_Restart_f()
{ {
CHalfLifeMultiplay *mp = g_pGameRules; CHalfLifeMultiplay *mp = g_pGameRules;
@ -84,7 +84,7 @@ void SV_Career_Restart_f(void)
} }
/* <111695> ../cstrike/dlls/multiplay_gamerules.cpp:149 */ /* <111695> ../cstrike/dlls/multiplay_gamerules.cpp:149 */
void SV_Career_EndRound_f(void) void SV_Career_EndRound_f()
{ {
CHalfLifeMultiplay *mp = g_pGameRules; CHalfLifeMultiplay *mp = g_pGameRules;
@ -115,13 +115,13 @@ void SV_Career_EndRound_f(void)
} }
/* <1145dd> ../cstrike/dlls/multiplay_gamerules.cpp:173 */ /* <1145dd> ../cstrike/dlls/multiplay_gamerules.cpp:173 */
bool CHalfLifeMultiplay::IsInCareerRound(void) bool CHalfLifeMultiplay::IsInCareerRound()
{ {
return IsMatchStarted() ? false : true; return IsMatchStarted() ? false : true;
} }
/* <110ba1> ../cstrike/dlls/multiplay_gamerules.cpp:180 */ /* <110ba1> ../cstrike/dlls/multiplay_gamerules.cpp:180 */
void SV_CareerAddTask_f(void) void SV_CareerAddTask_f()
{ {
if (CMD_ARGC() != 7) if (CMD_ARGC() != 7)
return; return;
@ -141,7 +141,7 @@ void SV_CareerAddTask_f(void)
} }
/* <111640> ../cstrike/dlls/multiplay_gamerules.cpp:213 */ /* <111640> ../cstrike/dlls/multiplay_gamerules.cpp:213 */
void SV_CareerMatchLimit_f(void) void SV_CareerMatchLimit_f()
{ {
if (CMD_ARGC() != 3) if (CMD_ARGC() != 3)
{ {
@ -172,13 +172,13 @@ void CHalfLifeMultiplay::SetCareerMatchLimit(int minWins, int winDifference)
} }
/* <114650> ../cstrike/dlls/multiplay_gamerules.cpp:238 */ /* <114650> ../cstrike/dlls/multiplay_gamerules.cpp:238 */
BOOL CHalfLifeMultiplay::IsCareer(void) BOOL CHalfLifeMultiplay::IsCareer()
{ {
return IS_CAREER_MATCH(); return IS_CAREER_MATCH();
} }
/* <113ca2> ../cstrike/dlls/multiplay_gamerules.cpp:241 */ /* <113ca2> ../cstrike/dlls/multiplay_gamerules.cpp:241 */
void CHalfLifeMultiplay::__MAKE_VHOOK(ServerDeactivate)(void) void CHalfLifeMultiplay::__MAKE_VHOOK(ServerDeactivate)()
{ {
if (!IsCareer()) if (!IsCareer())
{ {
@ -210,7 +210,7 @@ void CMapInfo::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
} }
/* <112879> ../cstrike/dlls/multiplay_gamerules.cpp:280 */ /* <112879> ../cstrike/dlls/multiplay_gamerules.cpp:280 */
void CMapInfo::__MAKE_VHOOK(Spawn)(void) void CMapInfo::__MAKE_VHOOK(Spawn)()
{ {
pev->movetype = MOVETYPE_NONE; pev->movetype = MOVETYPE_NONE;
pev->solid = SOLID_NOT; pev->solid = SOLID_NOT;
@ -422,7 +422,7 @@ void ReadMultiplayCvars(CHalfLifeMultiplay *mp)
} }
/* <11492c> ../cstrike/dlls/multiplay_gamerules.cpp:479 */ /* <11492c> ../cstrike/dlls/multiplay_gamerules.cpp:479 */
CHalfLifeMultiplay::CHalfLifeMultiplay(void) CHalfLifeMultiplay::CHalfLifeMultiplay()
{ {
m_VoiceGameMgr.Init(&g_GameMgrHelper, gpGlobals->maxClients); m_VoiceGameMgr.Init(&g_GameMgrHelper, gpGlobals->maxClients);
RefreshSkillData(); RefreshSkillData();
@ -615,7 +615,7 @@ CHalfLifeMultiplay::CHalfLifeMultiplay(void)
} }
/* <113b92> ../cstrike/dlls/multiplay_gamerules.cpp:678 */ /* <113b92> ../cstrike/dlls/multiplay_gamerules.cpp:678 */
void CHalfLifeMultiplay::__MAKE_VHOOK(RefreshSkillData)(void) void CHalfLifeMultiplay::__MAKE_VHOOK(RefreshSkillData)()
{ {
CGameRules::RefreshSkillData(); CGameRules::RefreshSkillData();
@ -630,7 +630,7 @@ void CHalfLifeMultiplay::__MAKE_VHOOK(RefreshSkillData)(void)
} }
/* <113b51> ../cstrike/dlls/multiplay_gamerules.cpp:713 */ /* <113b51> ../cstrike/dlls/multiplay_gamerules.cpp:713 */
void CHalfLifeMultiplay::__MAKE_VHOOK(RemoveGuns)(void) void CHalfLifeMultiplay::__MAKE_VHOOK(RemoveGuns)()
{ {
CBaseEntity *toremove = NULL; CBaseEntity *toremove = NULL;
@ -647,7 +647,7 @@ void CHalfLifeMultiplay::__MAKE_VHOOK(RemoveGuns)(void)
} }
/* <1149e8> ../cstrike/dlls/multiplay_gamerules.cpp:733 */ /* <1149e8> ../cstrike/dlls/multiplay_gamerules.cpp:733 */
void CHalfLifeMultiplay::UpdateTeamScores(void) void CHalfLifeMultiplay::UpdateTeamScores()
{ {
MESSAGE_BEGIN(MSG_ALL, gmsgTeamScore); MESSAGE_BEGIN(MSG_ALL, gmsgTeamScore);
WRITE_STRING("CT"); WRITE_STRING("CT");
@ -661,7 +661,7 @@ void CHalfLifeMultiplay::UpdateTeamScores(void)
} }
/* <113aee> ../cstrike/dlls/multiplay_gamerules.cpp:747 */ /* <113aee> ../cstrike/dlls/multiplay_gamerules.cpp:747 */
void CHalfLifeMultiplay::__MAKE_VHOOK(CleanUpMap)(void) void CHalfLifeMultiplay::__MAKE_VHOOK(CleanUpMap)()
{ {
// Recreate all the map entities from the map data (preserving their indices), // Recreate all the map entities from the map data (preserving their indices),
// then remove everything else except the players. // then remove everything else except the players.
@ -777,7 +777,7 @@ void CHalfLifeMultiplay::__MAKE_VHOOK(CleanUpMap)(void)
} }
/* <118585> ../cstrike/dlls/multiplay_gamerules.cpp:862 */ /* <118585> ../cstrike/dlls/multiplay_gamerules.cpp:862 */
void CHalfLifeMultiplay::__MAKE_VHOOK(GiveC4)(void) void CHalfLifeMultiplay::__MAKE_VHOOK(GiveC4)()
{ {
int iTeamCount; int iTeamCount;
int iTemp = 0; int iTemp = 0;
@ -999,7 +999,7 @@ void CHalfLifeMultiplay::QueueCareerRoundEndMenu(float tmDelay, int iWinStatus)
// Check if the scenario has been won/lost. // Check if the scenario has been won/lost.
/* <117750> ../cstrike/dlls/multiplay_gamerules.cpp:1084 */ /* <117750> ../cstrike/dlls/multiplay_gamerules.cpp:1084 */
void CHalfLifeMultiplay::__MAKE_VHOOK(CheckWinConditions)(void) void CHalfLifeMultiplay::__MAKE_VHOOK(CheckWinConditions)()
{ {
#ifdef REGAMEDLL_ADD #ifdef REGAMEDLL_ADD
if (round_infinite.string[0] == '1') if (round_infinite.string[0] == '1')
@ -1535,7 +1535,7 @@ bool CHalfLifeMultiplay::HostageRescueRoundEndCheck(bool bNeededPlayers)
} }
/* <117336> ../cstrike/dlls/multiplay_gamerules.cpp:1499 */ /* <117336> ../cstrike/dlls/multiplay_gamerules.cpp:1499 */
void CHalfLifeMultiplay::SwapAllPlayers(void) void CHalfLifeMultiplay::SwapAllPlayers()
{ {
CBaseEntity *pPlayer = NULL; CBaseEntity *pPlayer = NULL;
@ -1563,7 +1563,7 @@ void CHalfLifeMultiplay::SwapAllPlayers(void)
} }
/* <1171eb> ../cstrike/dlls/multiplay_gamerules.cpp:1525 */ /* <1171eb> ../cstrike/dlls/multiplay_gamerules.cpp:1525 */
void CHalfLifeMultiplay::BalanceTeams(void) void CHalfLifeMultiplay::BalanceTeams()
{ {
int iTeamToSwap = UNASSIGNED; int iTeamToSwap = UNASSIGNED;
int iNumToSwap; int iNumToSwap;
@ -1654,7 +1654,7 @@ void CHalfLifeMultiplay::BalanceTeams(void)
} }
/* <113158> ../cstrike/dlls/multiplay_gamerules.cpp:1608 */ /* <113158> ../cstrike/dlls/multiplay_gamerules.cpp:1608 */
void CHalfLifeMultiplay::__MAKE_VHOOK(CheckMapConditions)(void) void CHalfLifeMultiplay::__MAKE_VHOOK(CheckMapConditions)()
{ {
// Check to see if this map has a bomb target in it // Check to see if this map has a bomb target in it
if (UTIL_FindEntityByClassname(NULL, "func_bomb_target")) if (UTIL_FindEntityByClassname(NULL, "func_bomb_target"))
@ -1691,7 +1691,7 @@ void CHalfLifeMultiplay::__MAKE_VHOOK(CheckMapConditions)(void)
} }
/* <11745e> ../cstrike/dlls/multiplay_gamerules.cpp:1676 */ /* <11745e> ../cstrike/dlls/multiplay_gamerules.cpp:1676 */
void CHalfLifeMultiplay::__MAKE_VHOOK(RestartRound)(void) void CHalfLifeMultiplay::__MAKE_VHOOK(RestartRound)()
{ {
// tell bots that the round is restarting // tell bots that the round is restarting
if (TheBots != NULL) if (TheBots != NULL)
@ -2081,7 +2081,7 @@ void CHalfLifeMultiplay::__MAKE_VHOOK(RestartRound)(void)
} }
/* <114ca3> ../cstrike/dlls/multiplay_gamerules.cpp:2073 */ /* <114ca3> ../cstrike/dlls/multiplay_gamerules.cpp:2073 */
BOOL CHalfLifeMultiplay::IsThereABomber(void) BOOL CHalfLifeMultiplay::IsThereABomber()
{ {
CBasePlayer *pPlayer = NULL; CBasePlayer *pPlayer = NULL;
@ -2102,7 +2102,7 @@ BOOL CHalfLifeMultiplay::IsThereABomber(void)
} }
/* <114d20> ../cstrike/dlls/multiplay_gamerules.cpp:2097 */ /* <114d20> ../cstrike/dlls/multiplay_gamerules.cpp:2097 */
BOOL CHalfLifeMultiplay::IsThereABomb(void) BOOL CHalfLifeMultiplay::IsThereABomb()
{ {
CGrenade *pC4 = NULL; CGrenade *pC4 = NULL;
CBaseEntity *pWeaponC4 = NULL; CBaseEntity *pWeaponC4 = NULL;
@ -2176,7 +2176,7 @@ BOOL CHalfLifeMultiplay::TeamStacked(int newTeam_id, int curTeam_id)
} }
/* <114e2b> ../cstrike/dlls/multiplay_gamerules.cpp:2214 */ /* <114e2b> ../cstrike/dlls/multiplay_gamerules.cpp:2214 */
void CHalfLifeMultiplay::StackVIPQueue(void) void CHalfLifeMultiplay::StackVIPQueue()
{ {
for (int i = MAX_VIP_QUEUES - 2; i > 0; --i) for (int i = MAX_VIP_QUEUES - 2; i > 0; --i)
{ {
@ -2198,7 +2198,7 @@ void CHalfLifeMultiplay::StackVIPQueue(void)
} }
/* <114e63> ../cstrike/dlls/multiplay_gamerules.cpp:2232 */ /* <114e63> ../cstrike/dlls/multiplay_gamerules.cpp:2232 */
bool CHalfLifeMultiplay::IsVIPQueueEmpty(void) bool CHalfLifeMultiplay::IsVIPQueueEmpty()
{ {
for (int i = 0; i < MAX_VIP_QUEUES; ++i) for (int i = 0; i < MAX_VIP_QUEUES; ++i)
{ {
@ -2262,7 +2262,7 @@ bool CHalfLifeMultiplay::AddToVIPQueue(CBasePlayer *toAdd)
} }
/* <114f80> ../cstrike/dlls/multiplay_gamerules.cpp:2290 */ /* <114f80> ../cstrike/dlls/multiplay_gamerules.cpp:2290 */
void CHalfLifeMultiplay::ResetCurrentVIP(void) void CHalfLifeMultiplay::ResetCurrentVIP()
{ {
char *infobuffer = GET_INFO_BUFFER(m_pVIP->edict()); char *infobuffer = GET_INFO_BUFFER(m_pVIP->edict());
int numSkins = UTIL_IsGame("czero") ? CZ_NUM_SKIN : CS_NUM_SKIN; int numSkins = UTIL_IsGame("czero") ? CZ_NUM_SKIN : CS_NUM_SKIN;
@ -2299,7 +2299,7 @@ void CHalfLifeMultiplay::ResetCurrentVIP(void)
} }
/* <11706f> ../cstrike/dlls/multiplay_gamerules.cpp:2335 */ /* <11706f> ../cstrike/dlls/multiplay_gamerules.cpp:2335 */
void CHalfLifeMultiplay::PickNextVIP(void) void CHalfLifeMultiplay::PickNextVIP()
{ {
if (!IsVIPQueueEmpty()) if (!IsVIPQueueEmpty())
{ {
@ -2398,7 +2398,7 @@ void CHalfLifeMultiplay::PickNextVIP(void)
} }
/* <115458> ../cstrike/dlls/multiplay_gamerules.cpp:2435 */ /* <115458> ../cstrike/dlls/multiplay_gamerules.cpp:2435 */
void CHalfLifeMultiplay::__MAKE_VHOOK(Think)(void) void CHalfLifeMultiplay::__MAKE_VHOOK(Think)()
{ {
MonitorTutorStatus(); MonitorTutorStatus();
@ -2619,7 +2619,7 @@ void CHalfLifeMultiplay::__MAKE_VHOOK(Think)(void)
} }
} }
bool CHalfLifeMultiplay::CheckGameOver(void) bool CHalfLifeMultiplay::CheckGameOver()
{ {
// someone else quit the game already // someone else quit the game already
if (g_fGameOver) if (g_fGameOver)
@ -2653,7 +2653,7 @@ bool CHalfLifeMultiplay::CheckGameOver(void)
return false; return false;
} }
bool CHalfLifeMultiplay::CheckTimeLimit(void) bool CHalfLifeMultiplay::CheckTimeLimit()
{ {
float fTimeLimit = timelimit.value; float fTimeLimit = timelimit.value;
@ -2681,7 +2681,7 @@ bool CHalfLifeMultiplay::CheckTimeLimit(void)
return false; return false;
} }
bool CHalfLifeMultiplay::CheckMaxRounds(void) bool CHalfLifeMultiplay::CheckMaxRounds()
{ {
if (m_iMaxRounds != 0 && m_iTotalRoundsPlayed >= m_iMaxRounds) if (m_iMaxRounds != 0 && m_iTotalRoundsPlayed >= m_iMaxRounds)
{ {
@ -2693,7 +2693,7 @@ bool CHalfLifeMultiplay::CheckMaxRounds(void)
return false; return false;
} }
bool CHalfLifeMultiplay::CheckWinLimit(void) bool CHalfLifeMultiplay::CheckWinLimit()
{ {
// has one team won the specified number of rounds? // has one team won the specified number of rounds?
if (m_iMaxRoundsWon != 0 && (m_iNumCTWins >= m_iMaxRoundsWon || m_iNumTerroristWins >= m_iMaxRoundsWon)) if (m_iMaxRoundsWon != 0 && (m_iNumCTWins >= m_iMaxRoundsWon || m_iNumTerroristWins >= m_iMaxRoundsWon))
@ -2709,7 +2709,7 @@ bool CHalfLifeMultiplay::CheckWinLimit(void)
return false; return false;
} }
void CHalfLifeMultiplay::CheckFreezePeriodExpired(void) void CHalfLifeMultiplay::CheckFreezePeriodExpired()
{ {
if (TimeRemaining() > 0) if (TimeRemaining() > 0)
return; return;
@ -2812,7 +2812,7 @@ void CHalfLifeMultiplay::CheckFreezePeriodExpired(void)
} }
} }
void CHalfLifeMultiplay::CheckRoundTimeExpired(void) void CHalfLifeMultiplay::CheckRoundTimeExpired()
{ {
#ifdef REGAMEDLL_ADD #ifdef REGAMEDLL_ADD
if (round_infinite.string[0] == '1' || (UTIL_ReadFlags(round_infinite.string) & SCENARIO_BLOCK_TIME_EXPRIRED)) if (round_infinite.string[0] == '1' || (UTIL_ReadFlags(round_infinite.string) & SCENARIO_BLOCK_TIME_EXPRIRED))
@ -2910,7 +2910,7 @@ void CHalfLifeMultiplay::CheckRoundTimeExpired(void)
m_fRoundCount = gpGlobals->time + 60.0f; m_fRoundCount = gpGlobals->time + 60.0f;
} }
void CHalfLifeMultiplay::CheckLevelInitialized(void) void CHalfLifeMultiplay::CheckLevelInitialized()
{ {
if (!m_bLevelInitialized) if (!m_bLevelInitialized)
{ {
@ -2931,7 +2931,7 @@ void CHalfLifeMultiplay::CheckLevelInitialized(void)
} }
} }
void CHalfLifeMultiplay::CheckRestartRound(void) void CHalfLifeMultiplay::CheckRestartRound()
{ {
// Restart the round if specified by the server // Restart the round if specified by the server
int iRestartDelay = (int)restartround.value; int iRestartDelay = (int)restartround.value;
@ -2966,7 +2966,7 @@ void CHalfLifeMultiplay::CheckRestartRound(void)
} }
/* <115189> ../cstrike/dlls/multiplay_gamerules.cpp:2922 */ /* <115189> ../cstrike/dlls/multiplay_gamerules.cpp:2922 */
bool CHalfLifeMultiplay::HasRoundTimeExpired(void) bool CHalfLifeMultiplay::HasRoundTimeExpired()
{ {
// We haven't completed other objectives, so go for this!. // We haven't completed other objectives, so go for this!.
if (TimeRemaining() > 0 || m_iRoundWinStatus != WINNER_NONE) if (TimeRemaining() > 0 || m_iRoundWinStatus != WINNER_NONE)
@ -2988,7 +2988,7 @@ bool CHalfLifeMultiplay::HasRoundTimeExpired(void)
} }
/* <1151f4> ../cstrike/dlls/multiplay_gamerules.cpp:2945 */ /* <1151f4> ../cstrike/dlls/multiplay_gamerules.cpp:2945 */
bool CHalfLifeMultiplay::IsBombPlanted(void) bool CHalfLifeMultiplay::IsBombPlanted()
{ {
if (m_bMapHasBombTarget) if (m_bMapHasBombTarget)
{ {
@ -3030,7 +3030,7 @@ void CHalfLifeMultiplay::MarkLivingPlayersOnTeamAsNotReceivingMoneyNextRound(int
} }
/* <1152e2> ../cstrike/dlls/multiplay_gamerules.cpp:2987 */ /* <1152e2> ../cstrike/dlls/multiplay_gamerules.cpp:2987 */
void CHalfLifeMultiplay::CareerRestart(void) void CHalfLifeMultiplay::CareerRestart()
{ {
g_fGameOver = FALSE; g_fGameOver = FALSE;
@ -3066,19 +3066,19 @@ void CHalfLifeMultiplay::CareerRestart(void)
} }
/* <1128cb> ../cstrike/dlls/multiplay_gamerules.cpp:3017 */ /* <1128cb> ../cstrike/dlls/multiplay_gamerules.cpp:3017 */
BOOL CHalfLifeMultiplay::__MAKE_VHOOK(IsMultiplayer)(void) BOOL CHalfLifeMultiplay::__MAKE_VHOOK(IsMultiplayer)()
{ {
return TRUE; return TRUE;
} }
/* <1128f3> ../cstrike/dlls/multiplay_gamerules.cpp:3024 */ /* <1128f3> ../cstrike/dlls/multiplay_gamerules.cpp:3024 */
BOOL CHalfLifeMultiplay::__MAKE_VHOOK(IsDeathmatch)(void) BOOL CHalfLifeMultiplay::__MAKE_VHOOK(IsDeathmatch)()
{ {
return TRUE; return TRUE;
} }
/* <11291b> ../cstrike/dlls/multiplay_gamerules.cpp:3031 */ /* <11291b> ../cstrike/dlls/multiplay_gamerules.cpp:3031 */
BOOL CHalfLifeMultiplay::__MAKE_VHOOK(IsCoOp)(void) BOOL CHalfLifeMultiplay::__MAKE_VHOOK(IsCoOp)()
{ {
return gpGlobals->coop; return gpGlobals->coop;
} }
@ -3599,7 +3599,7 @@ float CHalfLifeMultiplay::__MAKE_VHOOK(FlPlayerSpawnTime)(CBasePlayer *pPlayer)
} }
/* <112abe> ../cstrike/dlls/multiplay_gamerules.cpp:3596 */ /* <112abe> ../cstrike/dlls/multiplay_gamerules.cpp:3596 */
BOOL CHalfLifeMultiplay::__MAKE_VHOOK(AllowAutoTargetCrosshair)(void) BOOL CHalfLifeMultiplay::__MAKE_VHOOK(AllowAutoTargetCrosshair)()
{ {
return FALSE; return FALSE;
} }
@ -4010,13 +4010,13 @@ Vector CHalfLifeMultiplay::__MAKE_VHOOK(VecAmmoRespawnSpot)(CBasePlayerAmmo *pAm
} }
/* <112f0f> ../cstrike/dlls/multiplay_gamerules.cpp:4071 */ /* <112f0f> ../cstrike/dlls/multiplay_gamerules.cpp:4071 */
float CHalfLifeMultiplay::__MAKE_VHOOK(FlHealthChargerRechargeTime)(void) float CHalfLifeMultiplay::__MAKE_VHOOK(FlHealthChargerRechargeTime)()
{ {
return 60; return 60;
} }
/* <112f37> ../cstrike/dlls/multiplay_gamerules.cpp:4077 */ /* <112f37> ../cstrike/dlls/multiplay_gamerules.cpp:4077 */
float CHalfLifeMultiplay::__MAKE_VHOOK(FlHEVChargerRechargeTime)(void) float CHalfLifeMultiplay::__MAKE_VHOOK(FlHEVChargerRechargeTime)()
{ {
return 30; return 30;
} }
@ -4075,7 +4075,7 @@ int CHalfLifeMultiplay::__MAKE_VHOOK(PlayerRelationship)(CBasePlayer *pPlayer, C
} }
/* <112fcf> ../cstrike/dlls/multiplay_gamerules.cpp:4128 */ /* <112fcf> ../cstrike/dlls/multiplay_gamerules.cpp:4128 */
BOOL CHalfLifeMultiplay::__MAKE_VHOOK(FAllowFlashlight)(void) BOOL CHalfLifeMultiplay::__MAKE_VHOOK(FAllowFlashlight)()
{ {
static cvar_t *mp_flashlight = NULL; static cvar_t *mp_flashlight = NULL;
@ -4089,13 +4089,13 @@ BOOL CHalfLifeMultiplay::__MAKE_VHOOK(FAllowFlashlight)(void)
} }
/* <113012> ../cstrike/dlls/multiplay_gamerules.cpp:4145 */ /* <113012> ../cstrike/dlls/multiplay_gamerules.cpp:4145 */
BOOL CHalfLifeMultiplay::__MAKE_VHOOK(FAllowMonsters)(void) BOOL CHalfLifeMultiplay::__MAKE_VHOOK(FAllowMonsters)()
{ {
return CVAR_GET_FLOAT("mp_allowmonsters") != 0; return CVAR_GET_FLOAT("mp_allowmonsters") != 0;
} }
/* <114155> ../cstrike/dlls/multiplay_gamerules.cpp:4156 */ /* <114155> ../cstrike/dlls/multiplay_gamerules.cpp:4156 */
void CHalfLifeMultiplay::__MAKE_VHOOK(GoToIntermission)(void) void CHalfLifeMultiplay::__MAKE_VHOOK(GoToIntermission)()
{ {
if (g_fGameOver) if (g_fGameOver)
return; return;
@ -4179,7 +4179,7 @@ void DestroyMapCycle(mapcycle_t *cycle)
} }
/* <115d30> ../cstrike/dlls/multiplay_gamerules.cpp:4271 */ /* <115d30> ../cstrike/dlls/multiplay_gamerules.cpp:4271 */
char *MP_COM_GetToken(void) char *MP_COM_GetToken()
{ {
return mp_com_token; return mp_com_token;
} }
@ -4404,7 +4404,7 @@ int ReloadMapCycleFile(char *filename, mapcycle_t *cycle)
// Determine the current # of active players on the server for map cycling logic // Determine the current # of active players on the server for map cycling logic
/* <115f76> ../cstrike/dlls/multiplay_gamerules.cpp:4510 */ /* <115f76> ../cstrike/dlls/multiplay_gamerules.cpp:4510 */
int CountPlayers(void) int CountPlayers()
{ {
int num = 0; int num = 0;
@ -4484,7 +4484,7 @@ void ExtractCommandString(char *s, char *szCommand)
} }
/* <116b52> ../cstrike/dlls/multiplay_gamerules.cpp:4582 */ /* <116b52> ../cstrike/dlls/multiplay_gamerules.cpp:4582 */
void CHalfLifeMultiplay::ResetAllMapVotes(void) void CHalfLifeMultiplay::ResetAllMapVotes()
{ {
CBaseEntity *pTempEntity = NULL; CBaseEntity *pTempEntity = NULL;
@ -4506,7 +4506,7 @@ void CHalfLifeMultiplay::ResetAllMapVotes(void)
} }
/* <11624e> ../cstrike/dlls/multiplay_gamerules.cpp:4608 */ /* <11624e> ../cstrike/dlls/multiplay_gamerules.cpp:4608 */
int GetMapCount(void) int GetMapCount()
{ {
static mapcycle_t mapcycle2; static mapcycle_t mapcycle2;
char *mapcfile = (char *)CVAR_GET_STRING("mapcyclefile"); char *mapcfile = (char *)CVAR_GET_STRING("mapcyclefile");
@ -4639,7 +4639,7 @@ void CHalfLifeMultiplay::ProcessMapVote(CBasePlayer *player, int iVote)
// Server is changing to a new level, check mapcycle.txt for map name and setup info // Server is changing to a new level, check mapcycle.txt for map name and setup info
/* <116089> ../cstrike/dlls/multiplay_gamerules.cpp:4773 */ /* <116089> ../cstrike/dlls/multiplay_gamerules.cpp:4773 */
void CHalfLifeMultiplay::__MAKE_VHOOK(ChangeLevel)(void) void CHalfLifeMultiplay::__MAKE_VHOOK(ChangeLevel)()
{ {
static char szPreviousMapCycleFile[256]; static char szPreviousMapCycleFile[256];
static mapcycle_t mapcycle; static mapcycle_t mapcycle;
@ -4825,7 +4825,7 @@ void CHalfLifeMultiplay::__MAKE_VHOOK(ClientUserInfoChanged)(CBasePlayer *pPlaye
#ifdef HOOK_GAMEDLL #ifdef HOOK_GAMEDLL
void CMapInfo::Spawn(void) void CMapInfo::Spawn()
{ {
Spawn_(); Spawn_();
} }
@ -4840,12 +4840,12 @@ bool CCStrikeGameMgrHelper::CanPlayerHearPlayer(CBasePlayer *pListener, CBasePla
return CanPlayerHearPlayer_(pListener, pSender); return CanPlayerHearPlayer_(pListener, pSender);
} }
void CHalfLifeMultiplay::RefreshSkillData(void) void CHalfLifeMultiplay::RefreshSkillData()
{ {
RefreshSkillData_(); RefreshSkillData_();
} }
void CHalfLifeMultiplay::Think(void) void CHalfLifeMultiplay::Think()
{ {
Think_(); Think_();
} }
@ -4855,7 +4855,7 @@ BOOL CHalfLifeMultiplay::IsAllowedToSpawn(CBaseEntity *pEntity)
return IsAllowedToSpawn_(pEntity); return IsAllowedToSpawn_(pEntity);
} }
BOOL CHalfLifeMultiplay::FAllowFlashlight(void) BOOL CHalfLifeMultiplay::FAllowFlashlight()
{ {
return FAllowFlashlight_(); return FAllowFlashlight_();
} }
@ -4870,17 +4870,17 @@ BOOL CHalfLifeMultiplay::GetNextBestWeapon(CBasePlayer *pPlayer, CBasePlayerItem
return GetNextBestWeapon_(pPlayer, pCurrentWeapon); return GetNextBestWeapon_(pPlayer, pCurrentWeapon);
} }
BOOL CHalfLifeMultiplay::IsMultiplayer(void) BOOL CHalfLifeMultiplay::IsMultiplayer()
{ {
return IsMultiplayer_(); return IsMultiplayer_();
} }
BOOL CHalfLifeMultiplay::IsDeathmatch(void) BOOL CHalfLifeMultiplay::IsDeathmatch()
{ {
return IsDeathmatch_(); return IsDeathmatch_();
} }
BOOL CHalfLifeMultiplay::IsCoOp(void) BOOL CHalfLifeMultiplay::IsCoOp()
{ {
return IsCoOp_(); return IsCoOp_();
} }
@ -4940,7 +4940,7 @@ edict_t *CHalfLifeMultiplay::GetPlayerSpawnSpot(CBasePlayer *pPlayer)
return GetPlayerSpawnSpot_(pPlayer); return GetPlayerSpawnSpot_(pPlayer);
} }
BOOL CHalfLifeMultiplay::AllowAutoTargetCrosshair(void) BOOL CHalfLifeMultiplay::AllowAutoTargetCrosshair()
{ {
return AllowAutoTargetCrosshair_(); return AllowAutoTargetCrosshair_();
} }
@ -5050,12 +5050,12 @@ Vector CHalfLifeMultiplay::VecAmmoRespawnSpot(CBasePlayerAmmo *pAmmo)
return VecAmmoRespawnSpot_(pAmmo); return VecAmmoRespawnSpot_(pAmmo);
} }
float CHalfLifeMultiplay::FlHealthChargerRechargeTime(void) float CHalfLifeMultiplay::FlHealthChargerRechargeTime()
{ {
return FlHealthChargerRechargeTime_(); return FlHealthChargerRechargeTime_();
} }
float CHalfLifeMultiplay::FlHEVChargerRechargeTime(void) float CHalfLifeMultiplay::FlHEVChargerRechargeTime()
{ {
return FlHEVChargerRechargeTime_(); return FlHEVChargerRechargeTime_();
} }
@ -5075,52 +5075,52 @@ int CHalfLifeMultiplay::PlayerRelationship(CBasePlayer *pPlayer, CBaseEntity *pT
return PlayerRelationship_(pPlayer, pTarget); return PlayerRelationship_(pPlayer, pTarget);
} }
BOOL CHalfLifeMultiplay::FAllowMonsters(void) BOOL CHalfLifeMultiplay::FAllowMonsters()
{ {
return FAllowMonsters_(); return FAllowMonsters_();
} }
void CHalfLifeMultiplay::ServerDeactivate(void) void CHalfLifeMultiplay::ServerDeactivate()
{ {
ServerDeactivate_(); ServerDeactivate_();
} }
void CHalfLifeMultiplay::CheckMapConditions(void) void CHalfLifeMultiplay::CheckMapConditions()
{ {
CheckMapConditions_(); CheckMapConditions_();
} }
void CHalfLifeMultiplay::CleanUpMap(void) void CHalfLifeMultiplay::CleanUpMap()
{ {
CleanUpMap_(); CleanUpMap_();
} }
void CHalfLifeMultiplay::RestartRound(void) void CHalfLifeMultiplay::RestartRound()
{ {
RestartRound_(); RestartRound_();
} }
void CHalfLifeMultiplay::CheckWinConditions(void) void CHalfLifeMultiplay::CheckWinConditions()
{ {
CheckWinConditions_(); CheckWinConditions_();
} }
void CHalfLifeMultiplay::RemoveGuns(void) void CHalfLifeMultiplay::RemoveGuns()
{ {
RemoveGuns_(); RemoveGuns_();
} }
void CHalfLifeMultiplay::GiveC4(void) void CHalfLifeMultiplay::GiveC4()
{ {
GiveC4_(); GiveC4_();
} }
void CHalfLifeMultiplay::ChangeLevel(void) void CHalfLifeMultiplay::ChangeLevel()
{ {
ChangeLevel_(); ChangeLevel_();
} }
void CHalfLifeMultiplay::GoToIntermission(void) void CHalfLifeMultiplay::GoToIntermission()
{ {
GoToIntermission_(); GoToIntermission_();
} }

View File

@ -3878,9 +3878,9 @@ bool CanSeeUseable(CBasePlayer *me, CBaseEntity *entity)
if (FClassnameIs(entity->pev, "hostage_entity")) if (FClassnameIs(entity->pev, "hostage_entity"))
{ {
Vector chest = entity->pev->origin + Vector(0, 0, 36); Vector chest = entity->pev->origin + Vector(0, 0, HalfHumanHeight);
Vector head = entity->pev->origin + Vector(0, 0, 72 * 0.9); Vector head = entity->pev->origin + Vector(0, 0, HumanHeight * 0.9);
Vector knees = entity->pev->origin + Vector(0, 0, 18); Vector knees = entity->pev->origin + Vector(0, 0, StepHeight);
UTIL_TraceLine(eye, chest, ignore_monsters, ignore_glass, me->edict(), &result); UTIL_TraceLine(eye, chest, ignore_monsters, ignore_glass, me->edict(), &result);
if (result.flFraction < 1.0f) if (result.flFraction < 1.0f)
@ -7065,8 +7065,14 @@ void CBasePlayer::__MAKE_VHOOK(UpdateClientData)(void)
if (pev->deadflag == DEAD_NO && gpGlobals->time > m_tmNextRadarUpdate) if (pev->deadflag == DEAD_NO && gpGlobals->time > m_tmNextRadarUpdate)
{ {
Vector vecOrigin = pev->origin;
m_tmNextRadarUpdate = gpGlobals->time + 1.0f; m_tmNextRadarUpdate = gpGlobals->time + 1.0f;
#ifdef REGAMEDLL_ADD
if (friendlyfire.string[0] == '2')
vecOrigin = g_vecZero;
#endif // REGAMEDLL_ADD
if ((pev->origin - m_vLastOrigin).Length() >= 64) if ((pev->origin - m_vLastOrigin).Length() >= 64)
{ {
for (int i = 1; i <= gpGlobals->maxClients; ++i) for (int i = 1; i <= gpGlobals->maxClients; ++i)
@ -7088,9 +7094,9 @@ void CBasePlayer::__MAKE_VHOOK(UpdateClientData)(void)
{ {
MESSAGE_BEGIN(MSG_ONE, gmsgRadar, NULL, pPlayer->pev); MESSAGE_BEGIN(MSG_ONE, gmsgRadar, NULL, pPlayer->pev);
WRITE_BYTE(entindex()); WRITE_BYTE(entindex());
WRITE_COORD(pev->origin.x); WRITE_COORD(vecOrigin.x);
WRITE_COORD(pev->origin.y); WRITE_COORD(vecOrigin.y);
WRITE_COORD(pev->origin.z); WRITE_COORD(vecOrigin.z);
MESSAGE_END(); MESSAGE_END();
} }
} }