mirror of
https://github.com/s1lentq/ReGameDLL_CS.git
synced 2025-01-13 23:28:04 +03:00
Implemented command param -beta to enables latest things from official.
This commit is contained in:
parent
54a0f5f244
commit
a7f20dc2e8
@ -18,6 +18,10 @@ Archive's bin directory contains 2 subdirectories, 'bugfixed' and 'pure'
|
||||
|
||||
<b>Warning!</b> ReGameDLL_CS is not binary compatible with original hlds since it's compiled with compilers other than ones used for original mod CS. This means that plugins that do binary code analysis (Orpheu for example) probably will not work with ReGameDLL_CS.
|
||||
|
||||
## How can use beta?
|
||||
ReGameDLL_CS also have beta version with latest changes from official version of Counter-Strike,
|
||||
therefore for this enter `-beta` option at the command line HLDS.
|
||||
|
||||
## Configuration (cvars)
|
||||
| CVar | Default | Min | Max | Description |
|
||||
| :--------------------------------- | :-----: | :-: | :----------: | :--------------------------------------------- |
|
||||
@ -56,8 +60,8 @@ Archive's bin directory contains 2 subdirectories, 'bugfixed' and 'pure'
|
||||
| mp_kill_filled_spawn | 1 | 0 | 1 | Kill the player in filled spawn before spawning some one else (Prevents players stucking in each other).<br />Only disable this if you have semiclip or other plugins that prevents stucking.<br/>`0` disabled<br/>`1` enabled |
|
||||
| mp_allow_point_servercommand | 0 | 0 | 1 | Allow use of point_servercommand entities in map.<br/>`0` disallow<br/>`1` allow<br/>`NOTE`: Potentially dangerous for untrusted maps.|
|
||||
| mp_hullbounds_sets | 1 | 0 | 1 | Sets mins/maxs hull bounds for the player.<br/>`0` disabled<br/>`1` enabled |
|
||||
| mp_scoreboard_showhealth | 3 | 0 | 5 | Show `HP` field into a scoreboard.<br/>`0` don't send any update for `HP` field to any clients<br/>`1` show only Terrorist `HP` field to all clients<br/>`2` show only CT `HP` field to all clients<br/>`3` show `HP` field to teammates<br/>`4` show `HP` field to all clients<br/>`5` show `HP` field to teammates and spectators |
|
||||
| mp_scoreboard_showmoney | 3 | 0 | 5 | Show `Money` field into a scoreboard.<br/>`0` don't send any update for `Money` field to any clients<br/>`1` show only Terrorist `Money` field to all clients<br/>`2` show only CT `Money` field to all clients<br/>`3` show `Money` field to teammates<br/>`4` show `Money` field to all clients<br/>`5` show `Money` field to teammates and spectators |
|
||||
| mp_scoreboard_showhealth | 3 | 0 | 5 | Show `HP` field into a scoreboard.<br/>`0` don't send any update for `HP` field to any clients<br/>`1` show only Terrorist `HP` field to all clients<br/>`2` show only CT `HP` field to all clients<br/>`3` show `HP` field to teammates<br/>`4` show `HP` field to all clients<br/>`5` show `HP` field to teammates and spectators<br/><br/>`Note this CVar are work in beta only.` |
|
||||
| mp_scoreboard_showmoney | 3 | 0 | 5 | Show `Money` field into a scoreboard.<br/>`0` don't send any update for `Money` field to any clients<br/>`1` show only Terrorist `Money` field to all clients<br/>`2` show only CT `Money` field to all clients<br/>`3` show `Money` field to teammates<br/>`4` show `Money` field to all clients<br/>`5` show `Money` field to teammates and spectators<br/><br/>`Note this CVar are work in beta only.` |
|
||||
| ff_damage_reduction_bullets | 0.35 | 0.0 | 1.0 | How much to reduce damage done to teammates when shot.<br/> Range is from `0` - `1` (with 1 being damage equal to what is done to an enemy) |
|
||||
| ff_damage_reduction_grenade | 0.25 | 0.0 | 1.0 | How much to reduce damage done to teammates by a thrown grenade.<br/> Range is from `0` - `1` (with 1 being damage equal to what is done to an enemy) |
|
||||
| ff_damage_reduction_grenade_self | 1.0 | 0.0 | 1.0 | How much to damage a player does to himself with his own grenade.<br/> Range is from `0` - `1` (with 1 being damage equal to what is done to an enemy) |
|
||||
|
2
dist/game.cfg
vendored
2
dist/game.cfg
vendored
@ -245,6 +245,7 @@ mp_allow_point_servercommand 0
|
||||
// 3 - show 'HP' field to teammates
|
||||
// 4 - show 'HP' field to all clients
|
||||
// 5 - show 'HP' field to teammates and spectators
|
||||
// Note this CVar are work in beta only.
|
||||
//
|
||||
// Default value: "3"
|
||||
mp_scoreboard_showhealth 3
|
||||
@ -256,6 +257,7 @@ mp_scoreboard_showhealth 3
|
||||
// 3 - show 'Money' field to teammates
|
||||
// 4 - show 'Money' field to all clients
|
||||
// 5 - show 'Money' field to teammates and spectators
|
||||
// Note this CVar are work in beta only.
|
||||
//
|
||||
// Default value: "3"
|
||||
mp_scoreboard_showmoney 3
|
||||
|
@ -226,8 +226,11 @@ void LinkUserMessages()
|
||||
gmsgHudTextArgs = REG_USER_MSG("HudTextArgs", -1);
|
||||
|
||||
#ifdef BUILD_LATEST
|
||||
gmsgAccount = REG_USER_MSG("Account", 5);
|
||||
gmsgHealthInfo = REG_USER_MSG("HealthInfo", 5);
|
||||
if (AreRunningBeta())
|
||||
{
|
||||
gmsgAccount = REG_USER_MSG("Account", 5);
|
||||
gmsgHealthInfo = REG_USER_MSG("HealthInfo", 5);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -235,8 +235,11 @@ void EXT_FUNC GameDLLInit()
|
||||
CVAR_REGISTER(&humans_join_team);
|
||||
|
||||
#ifdef BUILD_LATEST
|
||||
CVAR_REGISTER(&scoreboard_showhealth);
|
||||
CVAR_REGISTER(&scoreboard_showmoney);
|
||||
if (AreRunningBeta())
|
||||
{
|
||||
CVAR_REGISTER(&scoreboard_showhealth);
|
||||
CVAR_REGISTER(&scoreboard_showmoney);
|
||||
}
|
||||
#endif
|
||||
|
||||
// Remove unused cvars
|
||||
|
@ -8,6 +8,7 @@ int g_iSkillLevel;
|
||||
Vector g_vecAttackDir;
|
||||
BOOL gDisplayTitle;
|
||||
|
||||
bool g_bIsBeta = false;
|
||||
bool g_bIsCzeroGame = false;
|
||||
bool g_bAllowedCSBot = false;
|
||||
bool g_bHostageImprov = false;
|
||||
|
@ -35,6 +35,7 @@ extern int g_iSkillLevel;
|
||||
extern Vector g_vecAttackDir;
|
||||
|
||||
extern BOOL gDisplayTitle;
|
||||
extern bool g_bIsBeta;
|
||||
extern bool g_bIsCzeroGame;
|
||||
extern bool g_bAllowedCSBot;
|
||||
extern bool g_bHostageImprov;
|
||||
|
@ -3362,15 +3362,18 @@ void CHalfLifeMultiplay::InitHUD(CBasePlayer *pl)
|
||||
}
|
||||
|
||||
#ifdef BUILD_LATEST
|
||||
MESSAGE_BEGIN(MSG_ONE, gmsgHealthInfo, nullptr, pl->edict());
|
||||
WRITE_BYTE(plr->entindex());
|
||||
WRITE_LONG(plr->ShouldToShowHealthInfo(pl) ? plr->m_iClientHealth : -1 /* means that 'HP' field will be hidden */);
|
||||
MESSAGE_END();
|
||||
if (AreRunningBeta())
|
||||
{
|
||||
MESSAGE_BEGIN(MSG_ONE, gmsgHealthInfo, nullptr, pl->edict());
|
||||
WRITE_BYTE(plr->entindex());
|
||||
WRITE_LONG(plr->ShouldToShowHealthInfo(pl) ? plr->m_iClientHealth : -1 /* means that 'HP' field will be hidden */);
|
||||
MESSAGE_END();
|
||||
|
||||
MESSAGE_BEGIN(MSG_ONE, gmsgAccount, nullptr, pl->edict());
|
||||
WRITE_BYTE(plr->entindex());
|
||||
WRITE_LONG(plr->ShouldToShowAccount(pl) ? plr->m_iAccount : -1 /* means that this 'Money' will be hidden */);
|
||||
MESSAGE_END();
|
||||
MESSAGE_BEGIN(MSG_ONE, gmsgAccount, nullptr, pl->edict());
|
||||
WRITE_BYTE(plr->entindex());
|
||||
WRITE_LONG(plr->ShouldToShowAccount(pl) ? plr->m_iAccount : -1 /* means that this 'Money' will be hidden */);
|
||||
MESSAGE_END();
|
||||
}
|
||||
#endif // BUILD_LATEST
|
||||
}
|
||||
|
||||
|
@ -5123,7 +5123,7 @@ void CBasePlayer::SetScoreAttrib(CBasePlayer *dest)
|
||||
state |= SCORE_STATUS_VIP;
|
||||
|
||||
#ifdef BUILD_LATEST
|
||||
if (m_bHasDefuser)
|
||||
if (AreRunningBeta() && m_bHasDefuser)
|
||||
state |= SCORE_STATUS_DEFKIT;
|
||||
#endif
|
||||
|
||||
@ -7132,38 +7132,41 @@ void EXT_FUNC CBasePlayer::__API_HOOK(UpdateClientData)()
|
||||
}
|
||||
|
||||
#ifdef BUILD_LATEST
|
||||
if ((m_iTeam == CT || m_iTeam == TERRORIST) &&
|
||||
(m_iLastAccount != m_iAccount || m_iLastClientHealth != m_iClientHealth || m_tmNextAccountHealthUpdate < gpGlobals->time))
|
||||
if (AreRunningBeta())
|
||||
{
|
||||
m_tmNextAccountHealthUpdate = gpGlobals->time + 5.0f;
|
||||
|
||||
for (int playerIndex = 1; playerIndex <= gpGlobals->maxClients; playerIndex++)
|
||||
if ((m_iTeam == CT || m_iTeam == TERRORIST) &&
|
||||
(m_iLastAccount != m_iAccount || m_iLastClientHealth != m_iClientHealth || m_tmNextAccountHealthUpdate < gpGlobals->time))
|
||||
{
|
||||
CBaseEntity *pEntity = UTIL_PlayerByIndex(playerIndex);
|
||||
m_tmNextAccountHealthUpdate = gpGlobals->time + 5.0f;
|
||||
|
||||
if (!pEntity)
|
||||
continue;
|
||||
for (int playerIndex = 1; playerIndex <= gpGlobals->maxClients; playerIndex++)
|
||||
{
|
||||
CBaseEntity *pEntity = UTIL_PlayerByIndex(playerIndex);
|
||||
|
||||
CBasePlayer *pPlayer = GetClassPtr<CCSPlayer>((CBasePlayer *)pEntity->pev);
|
||||
if (!pEntity)
|
||||
continue;
|
||||
|
||||
CBasePlayer *pPlayer = GetClassPtr<CCSPlayer>((CBasePlayer *)pEntity->pev);
|
||||
|
||||
#ifdef REGAMEDLL_FIXES
|
||||
if (pPlayer->IsDormant())
|
||||
continue;
|
||||
if (pPlayer->IsDormant())
|
||||
continue;
|
||||
#endif // REGAMEDLL_FIXES
|
||||
|
||||
MESSAGE_BEGIN(MSG_ONE, gmsgHealthInfo, nullptr, pPlayer->edict());
|
||||
WRITE_BYTE(entindex());
|
||||
WRITE_LONG(ShouldToShowHealthInfo(pPlayer) ? m_iClientHealth : -1 /* means that 'HP' field will be hidden */);
|
||||
MESSAGE_END();
|
||||
MESSAGE_BEGIN(MSG_ONE, gmsgHealthInfo, nullptr, pPlayer->edict());
|
||||
WRITE_BYTE(entindex());
|
||||
WRITE_LONG(ShouldToShowHealthInfo(pPlayer) ? m_iClientHealth : -1 /* means that 'HP' field will be hidden */);
|
||||
MESSAGE_END();
|
||||
|
||||
MESSAGE_BEGIN(MSG_ONE, gmsgAccount, nullptr, pPlayer->edict());
|
||||
WRITE_BYTE(entindex());
|
||||
WRITE_LONG(ShouldToShowAccount(pPlayer) ? m_iAccount : -1 /* means that this 'Money' will be hidden */);
|
||||
MESSAGE_END();
|
||||
MESSAGE_BEGIN(MSG_ONE, gmsgAccount, nullptr, pPlayer->edict());
|
||||
WRITE_BYTE(entindex());
|
||||
WRITE_LONG(ShouldToShowAccount(pPlayer) ? m_iAccount : -1 /* means that this 'Money' will be hidden */);
|
||||
MESSAGE_END();
|
||||
}
|
||||
|
||||
m_iLastAccount = m_iAccount;
|
||||
m_iLastClientHealth = m_iClientHealth;
|
||||
}
|
||||
|
||||
m_iLastAccount = m_iAccount;
|
||||
m_iLastClientHealth = m_iClientHealth;
|
||||
}
|
||||
#endif // #ifdef BUILD_LATEST
|
||||
}
|
||||
|
@ -1691,6 +1691,28 @@ bool UTIL_AreBotsAllowed()
|
||||
return false;
|
||||
}
|
||||
|
||||
bool UTIL_IsBeta()
|
||||
{
|
||||
#ifdef BUILD_LATEST
|
||||
if (g_engfuncs.pfnEngCheckParm == nullptr)
|
||||
return false;
|
||||
|
||||
// always beta from listen server
|
||||
if (!IS_DEDICATED_SERVER())
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
int beta = ENG_CHECK_PARM("-beta", nullptr);
|
||||
if (beta)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
#endif // #ifdef BUILD_LATEST
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
bool UTIL_AreHostagesImprov()
|
||||
{
|
||||
if (AreRunningCZero())
|
||||
|
@ -294,6 +294,7 @@ bool UTIL_IsGame(const char *pszGameName);
|
||||
real_t UTIL_GetPlayerGaitYaw(int playerIndex);
|
||||
int UTIL_ReadFlags(const char *c);
|
||||
bool UTIL_AreBotsAllowed();
|
||||
bool UTIL_IsBeta();
|
||||
bool UTIL_AreHostagesImprov();
|
||||
int UTIL_GetNumPlayers();
|
||||
bool UTIL_IsSpawnPointOccupied(CBaseEntity *pSpot);
|
||||
|
@ -30,8 +30,9 @@
|
||||
|
||||
void Regamedll_Game_Init()
|
||||
{
|
||||
g_bIsCzeroGame = UTIL_IsGame("czero");
|
||||
g_bAllowedCSBot = UTIL_AreBotsAllowed(); // determine whether bots can be used or not
|
||||
g_bIsBeta = UTIL_IsBeta();
|
||||
g_bIsCzeroGame = UTIL_IsGame("czero");
|
||||
g_bAllowedCSBot = UTIL_AreBotsAllowed(); // determine whether bots can be used or not
|
||||
g_bHostageImprov = UTIL_AreHostagesImprov(); // determine whether hostage improv can be used or not
|
||||
|
||||
WeaponInfoReset();
|
||||
|
@ -34,3 +34,8 @@ inline bool AreRunningCZero()
|
||||
{
|
||||
return g_bIsCzeroGame;
|
||||
}
|
||||
|
||||
inline bool AreRunningBeta()
|
||||
{
|
||||
return g_bIsBeta;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user