mirror of
https://github.com/s1lentq/ReGameDLL_CS.git
synced 2025-05-02 09:59:30 +03:00
Merge 85c98785cd3341c6aa8dacd7cf9d67d5953c2c74 into a94c7bd728a2b2b80b016ee86f3310459e872e0d
This commit is contained in:
commit
97edee4034
@ -337,6 +337,12 @@ GAMEHOOK_REGISTRY(CBasePlayer_PlayerDeathThink);
|
|||||||
GAMEHOOK_REGISTRY(CBasePlayer_Observer_Think);
|
GAMEHOOK_REGISTRY(CBasePlayer_Observer_Think);
|
||||||
GAMEHOOK_REGISTRY(CBasePlayer_RemoveAllItems);
|
GAMEHOOK_REGISTRY(CBasePlayer_RemoveAllItems);
|
||||||
|
|
||||||
|
GAMEHOOK_REGISTRY(CSGameRules_CheckGameOver);
|
||||||
|
GAMEHOOK_REGISTRY(CSGameRules_CheckTimeLimit);
|
||||||
|
GAMEHOOK_REGISTRY(CSGameRules_CheckFragLimit);
|
||||||
|
GAMEHOOK_REGISTRY(CSGameRules_CheckMaxRounds);
|
||||||
|
GAMEHOOK_REGISTRY(CSGameRules_CheckWinLimit);
|
||||||
|
|
||||||
int CReGameApi::GetMajorVersion() {
|
int CReGameApi::GetMajorVersion() {
|
||||||
return REGAMEDLL_API_VERSION_MAJOR;
|
return REGAMEDLL_API_VERSION_MAJOR;
|
||||||
}
|
}
|
||||||
|
@ -749,6 +749,26 @@ typedef IHookChainRegistryClassImpl<void, CBasePlayer> CReGameHookRegistry_CBase
|
|||||||
typedef IHookChainClassImpl<void, CBasePlayer, BOOL> CReGameHook_CBasePlayer_RemoveAllItems;
|
typedef IHookChainClassImpl<void, CBasePlayer, BOOL> CReGameHook_CBasePlayer_RemoveAllItems;
|
||||||
typedef IHookChainRegistryClassImpl<void, CBasePlayer, BOOL> CReGameHookRegistry_CBasePlayer_RemoveAllItems;
|
typedef IHookChainRegistryClassImpl<void, CBasePlayer, BOOL> CReGameHookRegistry_CBasePlayer_RemoveAllItems;
|
||||||
|
|
||||||
|
// CHalfLifeMultiplay::CheckGameOver hook
|
||||||
|
typedef IHookChainClassImpl<BOOL, class CHalfLifeMultiplay> CReGameHook_CSGameRules_CheckGameOver;
|
||||||
|
typedef IHookChainRegistryClassEmptyImpl<BOOL, class CHalfLifeMultiplay> CReGameHookRegistry_CSGameRules_CheckGameOver;
|
||||||
|
|
||||||
|
// CHalfLifeMultiplay::CheckTimeLimit hook
|
||||||
|
typedef IHookChainClassImpl<BOOL, class CHalfLifeMultiplay> CReGameHook_CSGameRules_CheckTimeLimit;
|
||||||
|
typedef IHookChainRegistryClassEmptyImpl<BOOL, class CHalfLifeMultiplay> CReGameHookRegistry_CSGameRules_CheckTimeLimit;
|
||||||
|
|
||||||
|
// CHalfLifeMultiplay::CheckFragLimit hook
|
||||||
|
typedef IHookChainClassImpl<BOOL, class CHalfLifeMultiplay> CReGameHook_CSGameRules_CheckFragLimit;
|
||||||
|
typedef IHookChainRegistryClassEmptyImpl<BOOL, class CHalfLifeMultiplay> CReGameHookRegistry_CSGameRules_CheckFragLimit;
|
||||||
|
|
||||||
|
// CHalfLifeMultiplay::CheckMaxRounds hook
|
||||||
|
typedef IHookChainClassImpl<BOOL, class CHalfLifeMultiplay> CReGameHook_CSGameRules_CheckMaxRounds;
|
||||||
|
typedef IHookChainRegistryClassEmptyImpl<BOOL, class CHalfLifeMultiplay> CReGameHookRegistry_CSGameRules_CheckMaxRounds;
|
||||||
|
|
||||||
|
// CHalfLifeMultiplay::CheckWinLimit hook
|
||||||
|
typedef IHookChainClassImpl<BOOL, class CHalfLifeMultiplay> CReGameHook_CSGameRules_CheckWinLimit;
|
||||||
|
typedef IHookChainRegistryClassEmptyImpl<BOOL, class CHalfLifeMultiplay> CReGameHookRegistry_CSGameRules_CheckWinLimit;
|
||||||
|
|
||||||
class CReGameHookchains: public IReGameHookchains {
|
class CReGameHookchains: public IReGameHookchains {
|
||||||
public:
|
public:
|
||||||
// CBasePlayer virtual
|
// CBasePlayer virtual
|
||||||
@ -911,6 +931,12 @@ public:
|
|||||||
CReGameHookRegistry_CBasePlayer_Observer_Think m_CBasePlayer_Observer_Think;
|
CReGameHookRegistry_CBasePlayer_Observer_Think m_CBasePlayer_Observer_Think;
|
||||||
CReGameHookRegistry_CBasePlayer_RemoveAllItems m_CBasePlayer_RemoveAllItems;
|
CReGameHookRegistry_CBasePlayer_RemoveAllItems m_CBasePlayer_RemoveAllItems;
|
||||||
|
|
||||||
|
CReGameHookRegistry_CSGameRules_CheckGameOver m_CSGameRules_CheckGameOver;
|
||||||
|
CReGameHookRegistry_CSGameRules_CheckTimeLimit m_CSGameRules_CheckTimeLimit;
|
||||||
|
CReGameHookRegistry_CSGameRules_CheckFragLimit m_CSGameRules_CheckFragLimit;
|
||||||
|
CReGameHookRegistry_CSGameRules_CheckMaxRounds m_CSGameRules_CheckMaxRounds;
|
||||||
|
CReGameHookRegistry_CSGameRules_CheckWinLimit m_CSGameRules_CheckWinLimit;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
virtual IReGameHookRegistry_CBasePlayer_Spawn *CBasePlayer_Spawn();
|
virtual IReGameHookRegistry_CBasePlayer_Spawn *CBasePlayer_Spawn();
|
||||||
virtual IReGameHookRegistry_CBasePlayer_Precache *CBasePlayer_Precache();
|
virtual IReGameHookRegistry_CBasePlayer_Precache *CBasePlayer_Precache();
|
||||||
@ -1070,6 +1096,12 @@ public:
|
|||||||
virtual IReGameHookRegistry_CBasePlayer_PlayerDeathThink *CBasePlayer_PlayerDeathThink();
|
virtual IReGameHookRegistry_CBasePlayer_PlayerDeathThink *CBasePlayer_PlayerDeathThink();
|
||||||
virtual IReGameHookRegistry_CBasePlayer_Observer_Think *CBasePlayer_Observer_Think();
|
virtual IReGameHookRegistry_CBasePlayer_Observer_Think *CBasePlayer_Observer_Think();
|
||||||
virtual IReGameHookRegistry_CBasePlayer_RemoveAllItems *CBasePlayer_RemoveAllItems();
|
virtual IReGameHookRegistry_CBasePlayer_RemoveAllItems *CBasePlayer_RemoveAllItems();
|
||||||
|
|
||||||
|
virtual IReGameHookRegistry_CSGameRules_CheckGameOver *CSGameRules_CheckGameOver();
|
||||||
|
virtual IReGameHookRegistry_CSGameRules_CheckTimeLimit *CSGameRules_CheckTimeLimit();
|
||||||
|
virtual IReGameHookRegistry_CSGameRules_CheckFragLimit *CSGameRules_CheckFragLimit();
|
||||||
|
virtual IReGameHookRegistry_CSGameRules_CheckMaxRounds *CSGameRules_CheckMaxRounds();
|
||||||
|
virtual IReGameHookRegistry_CSGameRules_CheckWinLimit *CSGameRules_CheckWinLimit();
|
||||||
};
|
};
|
||||||
|
|
||||||
extern CReGameHookchains g_ReGameHookchains;
|
extern CReGameHookchains g_ReGameHookchains;
|
||||||
|
@ -618,6 +618,11 @@ public:
|
|||||||
BOOL TeamStacked_OrigFunc(int newTeam_id, int curTeam_id);
|
BOOL TeamStacked_OrigFunc(int newTeam_id, int curTeam_id);
|
||||||
void PlayerGotWeapon_OrigFunc(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon);
|
void PlayerGotWeapon_OrigFunc(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon);
|
||||||
void SendDeathMessage_OrigFunc(CBaseEntity *pKiller, CBasePlayer *pVictim, CBasePlayer *pAssister, entvars_t *pevInflictor, const char *killerWeaponName, int iDeathMessageFlags, int iRarityOfKill);
|
void SendDeathMessage_OrigFunc(CBaseEntity *pKiller, CBasePlayer *pVictim, CBasePlayer *pAssister, entvars_t *pevInflictor, const char *killerWeaponName, int iDeathMessageFlags, int iRarityOfKill);
|
||||||
|
BOOL CheckGameOver_OrigFunc();
|
||||||
|
BOOL CheckTimeLimit_OrigFunc();
|
||||||
|
BOOL CheckFragLimit_OrigFunc();
|
||||||
|
BOOL CheckMaxRounds_OrigFunc();
|
||||||
|
BOOL CheckWinLimit_OrigFunc();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
public:
|
public:
|
||||||
@ -672,11 +677,11 @@ public:
|
|||||||
bool Hostage_NotRescued(float tmDelay);
|
bool Hostage_NotRescued(float tmDelay);
|
||||||
|
|
||||||
// Check various conditions to end the map.
|
// Check various conditions to end the map.
|
||||||
bool CheckGameOver();
|
BOOL CheckGameOver();
|
||||||
bool CheckTimeLimit();
|
BOOL CheckTimeLimit();
|
||||||
bool CheckFragLimit();
|
BOOL CheckFragLimit();
|
||||||
bool CheckMaxRounds();
|
BOOL CheckMaxRounds();
|
||||||
bool CheckWinLimit();
|
BOOL CheckWinLimit();
|
||||||
|
|
||||||
void CheckFreezePeriodExpired();
|
void CheckFreezePeriodExpired();
|
||||||
void CheckRoundTimeExpired();
|
void CheckRoundTimeExpired();
|
||||||
|
@ -2622,7 +2622,9 @@ void EXT_FUNC CHalfLifeMultiplay::__API_HOOK(Think)()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CHalfLifeMultiplay::CheckGameOver()
|
LINK_HOOK_CLASS_CUSTOM_CHAIN2(BOOL, CHalfLifeMultiplay, CSGameRules, CheckGameOver)
|
||||||
|
|
||||||
|
BOOL EXT_FUNC CHalfLifeMultiplay::__API_HOOK(CheckGameOver)()
|
||||||
{
|
{
|
||||||
// someone else quit the game already
|
// someone else quit the game already
|
||||||
if (m_bGameOver)
|
if (m_bGameOver)
|
||||||
@ -2659,7 +2661,9 @@ bool CHalfLifeMultiplay::CheckGameOver()
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CHalfLifeMultiplay::CheckTimeLimit()
|
LINK_HOOK_CLASS_CUSTOM_CHAIN2(BOOL, CHalfLifeMultiplay, CSGameRules, CheckTimeLimit)
|
||||||
|
|
||||||
|
BOOL EXT_FUNC CHalfLifeMultiplay::__API_HOOK(CheckTimeLimit)()
|
||||||
{
|
{
|
||||||
if (timelimit.value < 0)
|
if (timelimit.value < 0)
|
||||||
{
|
{
|
||||||
@ -2697,7 +2701,9 @@ bool CHalfLifeMultiplay::CheckTimeLimit()
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CHalfLifeMultiplay::CheckMaxRounds()
|
LINK_HOOK_CLASS_CUSTOM_CHAIN2(BOOL, CHalfLifeMultiplay, CSGameRules, CheckMaxRounds)
|
||||||
|
|
||||||
|
BOOL EXT_FUNC CHalfLifeMultiplay::__API_HOOK(CheckMaxRounds)()
|
||||||
{
|
{
|
||||||
if (m_iMaxRounds != 0 && m_iTotalRoundsPlayed >= m_iMaxRounds)
|
if (m_iMaxRounds != 0 && m_iTotalRoundsPlayed >= m_iMaxRounds)
|
||||||
{
|
{
|
||||||
@ -2709,7 +2715,9 @@ bool CHalfLifeMultiplay::CheckMaxRounds()
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CHalfLifeMultiplay::CheckWinLimit()
|
LINK_HOOK_CLASS_CUSTOM_CHAIN2(BOOL, CHalfLifeMultiplay, CSGameRules, CheckWinLimit)
|
||||||
|
|
||||||
|
BOOL EXT_FUNC CHalfLifeMultiplay::__API_HOOK(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))
|
||||||
@ -2725,7 +2733,9 @@ bool CHalfLifeMultiplay::CheckWinLimit()
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CHalfLifeMultiplay::CheckFragLimit()
|
LINK_HOOK_CLASS_CUSTOM_CHAIN2(BOOL, CHalfLifeMultiplay, CSGameRules, CheckFragLimit)
|
||||||
|
|
||||||
|
BOOL EXT_FUNC CHalfLifeMultiplay::__API_HOOK(CheckFragLimit)()
|
||||||
{
|
{
|
||||||
#ifdef REGAMEDLL_ADD
|
#ifdef REGAMEDLL_ADD
|
||||||
int fragsRemaining = 0;
|
int fragsRemaining = 0;
|
||||||
|
@ -628,6 +628,26 @@ typedef IHookChainRegistryClass<void, class CBasePlayer> IReGameHookRegistry_CBa
|
|||||||
typedef IHookChainClass<void, class CBasePlayer, BOOL> IReGameHook_CBasePlayer_RemoveAllItems;
|
typedef IHookChainClass<void, class CBasePlayer, BOOL> IReGameHook_CBasePlayer_RemoveAllItems;
|
||||||
typedef IHookChainRegistryClass<void, class CBasePlayer, BOOL> IReGameHookRegistry_CBasePlayer_RemoveAllItems;
|
typedef IHookChainRegistryClass<void, class CBasePlayer, BOOL> IReGameHookRegistry_CBasePlayer_RemoveAllItems;
|
||||||
|
|
||||||
|
// CHalfLifeMultiplay::CheckGameOver hook
|
||||||
|
typedef IHookChain<BOOL> IReGameHook_CSGameRules_CheckGameOver;
|
||||||
|
typedef IHookChainRegistry<BOOL> IReGameHookRegistry_CSGameRules_CheckGameOver;
|
||||||
|
|
||||||
|
// CHalfLifeMultiplay::CheckTimeLimit hook
|
||||||
|
typedef IHookChain<BOOL> IReGameHook_CSGameRules_CheckTimeLimit;
|
||||||
|
typedef IHookChainRegistry<BOOL> IReGameHookRegistry_CSGameRules_CheckTimeLimit;
|
||||||
|
|
||||||
|
// CHalfLifeMultiplay::CheckFragLimit hook
|
||||||
|
typedef IHookChain<BOOL> IReGameHook_CSGameRules_CheckFragLimit;
|
||||||
|
typedef IHookChainRegistry<BOOL> IReGameHookRegistry_CSGameRules_CheckFragLimit;
|
||||||
|
|
||||||
|
// CHalfLifeMultiplay::CheckMaxRounds hook
|
||||||
|
typedef IHookChain<BOOL> IReGameHook_CSGameRules_CheckMaxRounds;
|
||||||
|
typedef IHookChainRegistry<BOOL> IReGameHookRegistry_CSGameRules_CheckMaxRounds;
|
||||||
|
|
||||||
|
// CHalfLifeMultiplay::CheckWinLimit hook
|
||||||
|
typedef IHookChain<BOOL> IReGameHook_CSGameRules_CheckWinLimit;
|
||||||
|
typedef IHookChainRegistry<BOOL> IReGameHookRegistry_CSGameRules_CheckWinLimit;
|
||||||
|
|
||||||
class IReGameHookchains {
|
class IReGameHookchains {
|
||||||
public:
|
public:
|
||||||
virtual ~IReGameHookchains() {}
|
virtual ~IReGameHookchains() {}
|
||||||
@ -790,6 +810,12 @@ public:
|
|||||||
virtual IReGameHookRegistry_CBasePlayer_PlayerDeathThink *CBasePlayer_PlayerDeathThink() = 0;
|
virtual IReGameHookRegistry_CBasePlayer_PlayerDeathThink *CBasePlayer_PlayerDeathThink() = 0;
|
||||||
virtual IReGameHookRegistry_CBasePlayer_Observer_Think *CBasePlayer_Observer_Think() = 0;
|
virtual IReGameHookRegistry_CBasePlayer_Observer_Think *CBasePlayer_Observer_Think() = 0;
|
||||||
virtual IReGameHookRegistry_CBasePlayer_RemoveAllItems *CBasePlayer_RemoveAllItems() = 0;
|
virtual IReGameHookRegistry_CBasePlayer_RemoveAllItems *CBasePlayer_RemoveAllItems() = 0;
|
||||||
|
|
||||||
|
virtual IReGameHookRegistry_CSGameRules_CheckGameOver *CSGameRules_CheckGameOver() = 0;
|
||||||
|
virtual IReGameHookRegistry_CSGameRules_CheckTimeLimit *CSGameRules_CheckTimeLimit() = 0;
|
||||||
|
virtual IReGameHookRegistry_CSGameRules_CheckFragLimit *CSGameRules_CheckFragLimit() = 0;
|
||||||
|
virtual IReGameHookRegistry_CSGameRules_CheckMaxRounds *CSGameRules_CheckMaxRounds() = 0;
|
||||||
|
virtual IReGameHookRegistry_CSGameRules_CheckWinLimit *CSGameRules_CheckWinLimit() = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct ReGameFuncs_t {
|
struct ReGameFuncs_t {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user