1.
cs2fixes.cpp de scos:
.h
discord
httpmanager -> add #include <steam/steam_gameserver.h> ?
leader
panoramavote
votemanager
zombiereborn

bool CS2Fixes::Load(
..
	/*g_pDiscordBotManager = new CDiscordBotManager();
	g_pZRPlayerClassManager = new CZRPlayerClassManager();*/
...
	/*g_pZRWeaponConfig = new ZRWeaponConfig();*/
...
	//g_pPanoramaVoteHandler = new CPanoramaVoteHandler();
..
	// Check hide distance
/*	new CTimer(0.5f, true, true, []()
	{
		g_playerManager->CheckHideDistances();
		return 0.5f;
	});*/

bool CS2Fixes::Unload(
..
/*
	if (g_pDiscordBotManager)
		delete g_pDiscordBotManager;
*/
...
/*
	if (g_pZRPlayerClassManager)
		delete g_pZRPlayerClassManager;

	if (g_pZRWeaponConfig)
		delete g_pZRWeaponConfig;*/
...
/*
	if (g_pPanoramaVoteHandler)
		delete g_pPanoramaVoteHandler;
*/

void CS2Fixes::Hook_StartupServer(
..
	//g_pPanoramaVoteHandler->Reset();
	//VoteManager_Init();

void CS2Fixes::Hook_ClientActive(
	//if (g_bVoteManagerEnable ) g_pMapVoteSystem->OnClientActive();

void CS2Fixes::Hook_ClientPutInServer(
...
/*
	if (g_bEnableZR)
		ZR_Hook_ClientPutInServer(slot, pszName, type, xuid);
*/

void CS2Fixes::Hook_ClientDisconnect(
...
	//if (g_bVoteManagerEnable ) g_pMapVoteSystem->OnClientDisconnect();

void CS2Fixes::Hook_GameFramePost(
...
/*
	if (g_bEnableZR)
		CZRRegenTimer::Tick();*/

    //EntityHandler_OnGameFramePost(simulating, gpGlobals->tickcount);

void CS2Fixes::Hook_CheckTransmit(
...
			//if ((pSelfZEPlayer->ShouldBlockTransmit(j) && (pOtherZEPlayer && !pOtherZEPlayer->IsLeader())) || !pPawn->IsAlive())
			if ((pSelfZEPlayer->ShouldBlockTransmit(j) && pOtherZEPlayer ) || !pPawn->IsAlive())

bool CS2Fixes::Hook_OnTakeDamage_Alive(
...
	//if (g_bEnableZR && ZR_Hook_OnTakeDamage_Alive(pInfoContainer->pInfo, pPawn))
		//RETURN_META_VALUE(MRES_SUPERCEDE, false);

void CS2Fixes::OnLevelInit(
...
	/*if (g_bEnableZR)
		ZR_OnLevelInit();*/



		//if (g_bEnableLeader)
			//Leader_PostEventAbstract_Source1LegacyGameEvent(clients, pData);


events.cpp

//#include "leader.h"
//add because remove leader
#include "utils/entity.h"
#include "networkstringtabledefs.h"
//#include "panoramavote.h"
#include "recipientfilters.h"
//#include "votemanager.h"
//#include "zombiereborn.h"

	//EntityHandler_OnRoundRestart();

	//if (g_bEnableZR)
		//ZR_OnRoundPrestart(pEvent);

	//if (g_bEnableZR)
		//ZR_OnPlayerSpawn(pController);

/*	if (g_bEnableZR)
		ZR_OnPlayerHurt(pEvent);
....
	pPlayer->SetTotalHits(pPlayer->GetTotalHits() + 1);*/

/*	if (g_bEnableZR)
		ZR_OnPlayerDeath(pEvent);
...
	pPlayer->SetTotalKills(pPlayer->GetTotalKills() + 1);*/

	/*g_pPanoramaVoteHandler->Init();

	if (g_bEnableZR)
		ZR_OnRoundStart(pEvent);

	if (g_bEnableLeader)
		Leader_OnRoundStart(pEvent);*/

/*	if (!g_bEnableTopDefender)
		return;

	for (int i = 0; i < gpGlobals->maxClients; i++)
	{
		ZEPlayer* pPlayer = g_playerManager->GetPlayer(i);

		if (!pPlayer)
			continue;

		pPlayer->SetTotalDamage(0);
		pPlayer->SetTotalHits(0);
		pPlayer->SetTotalKills(0);
	}*/

	/*if (g_bVoteManagerEnable)
	{
		ConVar* cvar = g_pCVar->GetConVar(g_pCVar->FindConVar("mp_timelimit"));
...
	}*/

/*	if (!g_bEnableTopDefender)
		return;

	CUtlVector<ZEPlayer*> sortedPlayers;
...
	}*/

	//if (g_bEnableZR)
		//ZR_OnRoundFreezeEnd(pEvent);

	//if (g_bEnableZR)
		//ZR_OnRoundTimeWarning(pEvent);

	//if (g_bEnableLeader)
		//Leader_BulletImpact(pEvent);

	//g_pPanoramaVoteHandler->VoteCast(pEvent);

gamesystem.cpp

//#include "leader.h"
//#include "zombiereborn.h"

	//ZR_Precache(pResourceManifest);
	//Leader_Precache(pResourceManifest);

	//EntityHandler_OnGameFramePre(gpGlobals->m_bInSimulation, gpGlobals->tickcount);

user_preferences.cpp

//#include "httpmanager.h"

/*g_HTTPManager.GET(...
..
	});*/

/*g_HTTPManager.POST(
...
	});*/

playermanager.cpp
//#include "leader.h"
//#include "map_votes.h"
//#include "panoramavote.h"

	//g_pMapVoteSystem->ClearPlayerInfo(slot.Get());
	//g_pMapVoteSystem->ClearInvalidNominations();

	//g_pUserPreferencesSystem->PushPreferences(slot.Get());
	//g_pUserPreferencesSystem->ClearPreferences(slot.Get());

	//g_pPanoramaVoteHandler->RemovePlayerFromVote(slot.Get());

//add
std::string g_strMarkParticlePath = "particles/cs2fixes/leader_defend_mark.vpcf";

	pKeyValues->SetString("effect_name", g_strMarkParticlePath.c_str());

adminsystem.cpp
//#include "discord.h"
//#include "map_votes.h"
//#include "votemanager.h"

/*
CON_COMMAND_CHAT_FLAGS(reload_discord_bots,
..
}*/

/*
CON_COMMAND_CHAT_FLAGS(extend,..
...}*/

add from removed.cpp

struct ColorPreset
{
	std::string strChatColor;
	Color color;
	bool bIsChatColor;
};
std::map<std::string, ColorPreset> mapColorPresets = {
	{"darkred",    ColorPreset("\x02", Color(255,   0,   0, 255), true)},
	{"red",        ColorPreset("\x07", Color(255,  64,  64, 255), true)},
	{"lightred",   ColorPreset("\x0F", Color(235,  75,  75, 255), true)},
	{"orange",     ColorPreset("\x10", Color(227, 175,  57, 255), true)}, // Default T color
	{"yellow",     ColorPreset("\x09", Color(236, 227, 122, 255), true)},
	{"lime",       ColorPreset("\x05", Color(190, 253, 146, 255), true)},
	{"lightgreen", ColorPreset("\x06", Color(190, 253, 146, 255), true)},
	{"green",      ColorPreset("\x04", Color( 64, 255,  61, 255), true)},
	{"lightblue",  ColorPreset("\x0B", Color( 94, 152, 216, 255), true)},
	{"blue",       ColorPreset("\x0C", Color( 76, 106, 255, 255), true)}, // Default if color finding func doesn't match any other color
	{"purple",     ColorPreset("\x0E", Color(211,  45, 231, 255), true)},
	{"gray",       ColorPreset("\x0A", Color(176, 194, 216, 255), true)},
	{"grey",       ColorPreset("\x08", Color(196, 201, 207, 255), true)},
	{"white",      ColorPreset("\x01", Color(255, 255, 255, 255), true)},
	{"pink",       ColorPreset(    "", Color(255, 192, 203, 255), false)}
};
// clang-format on
bool g_bLeaderCanTargetPlayers = false;

Color Leader_GetColor(std::string strColor, ZEPlayer* zpUser = nullptr, CCSPlayerController* pTarget = nullptr)
{
	std::transform(strColor.begin(), strColor.end(), strColor.begin(), [](unsigned char c) { return std::tolower(c); });

	if (strColor.length() > 0 && mapColorPresets.contains(strColor))
		return mapColorPresets.at(strColor).color;
	else if (zpUser && zpUser->IsLeader())
		return zpUser->GetLeaderColor();
	else if (pTarget && pTarget->m_iTeamNum == CS_TEAM_T)
		return mapColorPresets["orange"].color;

	return mapColorPresets["blue"].color;
}
//CON_COMMAND_CHAT_LEADER(glow, "[name] [color] - Toggle glow highlight on a player")
CON_COMMAND_CHAT_FLAGS(glow, "[name] [color] - Toggle glow highlight on a player", ADMFLAG_KICK)
{
	ZEPlayer* pPlayer = player ? player->GetZEPlayer() : nullptr;
	bool bIsAdmin = pPlayer ? pPlayer->IsAdminFlagSet(ADMFLAG_KICK) : true;
	const char* pszCommandPlayerName = player ? player->GetPlayerName() : CONSOLE_NAME;

	int iNumClients = 0;
	int pSlots[MAXPLAYERS];
	ETargetType nType;
	uint64 iTargetFlags = NO_DEAD;
	if (!bIsAdmin)
		iTargetFlags |= NO_MULTIPLE | NO_TERRORIST;
	const char* pszTarget = "@me";
	if (args.ArgC() >= 2 && (bIsAdmin || g_bLeaderCanTargetPlayers))
		pszTarget = args[1];

	if (!g_playerManager->CanTargetPlayers(player, pszTarget, iNumClients, pSlots, iTargetFlags, nType))
		return;

	for (int i = 0; i < iNumClients; i++)
	{
		CCSPlayerController* pTarget = CCSPlayerController::FromSlot(pSlots[i]);

		ZEPlayer* pPlayerTarget = pTarget->GetZEPlayer();

		if (iNumClients == 1 && player == pTarget)
			ClientPrint(player, HUD_PRINTTALK, CHAT_PREFIX "%s glow on yourself.",
						pPlayerTarget->GetGlowModel() ? "Disabled" : "Enabled");
		else if (iNumClients == 1)
			ClientPrintAll(HUD_PRINTTALK, CHAT_PREFIX "%s %s %s glow on %s.",
						   bIsAdmin ? "Admin" : "Leader",
						   pszCommandPlayerName,
						   pPlayerTarget->GetGlowModel() ? "disabled" : "enabled",
						   pTarget->GetPlayerName());

		if (!pPlayerTarget->GetGlowModel())
		{
			Color color = Leader_GetColor(args.ArgC() < 3 ? "" : args[2], pPlayer, pTarget);
			pPlayerTarget->StartGlow(color, 0);
		}
		else
			pPlayerTarget->EndGlow();
	}

	if (iNumClients > 1) // Can only hit this if bIsAdmin due to target flags
		PrintMultiAdminAction(nType, pszCommandPlayerName, "toggled glow on", "", CHAT_PREFIX);
}

//CON_COMMAND_CHAT_LEADER(beacon, "[name] [color] - Toggle beacon on a player")
CON_COMMAND_CHAT_FLAGS(beacon, "[name] [color] - Toggle beacon on a player", ADMFLAG_KICK)
{
	ZEPlayer* pPlayer = player ? player->GetZEPlayer() : nullptr;
	bool bIsAdmin = pPlayer ? pPlayer->IsAdminFlagSet(ADMFLAG_KICK) : true;
	const char* pszCommandPlayerName = player ? player->GetPlayerName() : CONSOLE_NAME;

	int iNumClients = 0;
	int pSlots[MAXPLAYERS];
	ETargetType nType;
	uint64 iTargetFlags = NO_DEAD;
	if (!bIsAdmin)
		iTargetFlags |= NO_TERRORIST | NO_MULTIPLE;
	const char* pszTarget = "@me";
	if (args.ArgC() >= 2 && (bIsAdmin || g_bLeaderCanTargetPlayers))
		pszTarget = args[1];

	if (!g_playerManager->CanTargetPlayers(player, pszTarget, iNumClients, pSlots, iTargetFlags, nType))
		return;

	for (int i = 0; i < iNumClients; i++)
	{
		CCSPlayerController* pTarget = CCSPlayerController::FromSlot(pSlots[i]);
		ZEPlayer* pPlayerTarget = pTarget->GetZEPlayer();

		if (iNumClients == 1 && player == pTarget)
			ClientPrint(player, HUD_PRINTTALK, CHAT_PREFIX "%s beacon on yourself.",
						pPlayerTarget->GetBeaconParticle() ? "Disabled" : "Enabled");
		else if (iNumClients == 1)
			ClientPrintAll(HUD_PRINTTALK, CHAT_PREFIX "%s %s %s beacon on %s.",
						   bIsAdmin ? "Admin" : "Leader",
						   pszCommandPlayerName,
						   pPlayerTarget->GetBeaconParticle() ? "disabled" : "enabled",
						   pTarget->GetPlayerName());

		if (!pPlayerTarget->GetBeaconParticle())
		{
			Color color = Leader_GetColor(args.ArgC() < 3 ? "" : args[2], pPlayer, pTarget);
			pPlayerTarget->StartBeacon(color, pPlayer ? pPlayer->GetHandle() : 0);
		}
		else
			pPlayerTarget->EndBeacon();
	}

	if (iNumClients > 1) // Can only hit this if bIsAdmin due to target flags
		PrintMultiAdminAction(nType, pszCommandPlayerName, "toggled beacon on", "", CHAT_PREFIX);
}

detours.cpp
//#include "map_votes.h"
//#include "zombiereborn.h"

//extern CMapVoteSystem* g_pMapVoteSystem;

	//if (g_bEnableZR && !ZR_Detour_CCSPlayer_WeaponServices_CanUse(pWeaponServices, pPlayerWeapon))
		//return false;

	//if (g_bEnableZR)
		//ZR_Detour_CEntityIdentity_AcceptInput(pThis, pInputName, pActivator, pCaller, value, nOutputID);

AMBuilder
..
    #'src/panoramavote.cpp',
..
    #'src/votemanager.cpp',
    #'src/httpmanager.cpp',
    #'src/discord.cpp',
    #'src/map_votes.cpp',

    #'src/zombiereborn.cpp',

    #'src/leader.cpp',
    #'src/buttonwatch.cpp',

command.h
//#include "leader.h"
//add because remove leader
#define FLAG_LEADER (ADMFLAG_GENERIC | 1 << 31)
//#define CON_COMMAND_CHAT_LEADER(name, description) CON_COMMAND_CHAT_FLAGS(name, description, FLAG_LEADER)

commands.cpp
//#include "discord.h"
//#include "httpmanager.h"
//#include "leader.h"
//#include "zombiereborn.h"

		//if (!g_bEnableLeader)
			//return false;

			/*else if (g_bLeaderActionsHumanOnly && pPlayer->m_iTeamNum != CS_TEAM_CT)
			{
			}*/

/*
void HttpCallback(
...
}*/
#endif // _DEBUG


2.

din adminsystem.cpp de scos tot ce tine beacon si glow, oricum beacon nu mai merge din cauza precache-ului
de scos din ambuilder
src/user_preferences.cpp si tot ce tine de el de prin alte module
src/customio.cpp
src/buttonwatch.cpp

cs2fixes.h
	/*void Hook_CheckTransmit(CCheckTransmitInfo** ppInfoList, int infoCount, CBitVec<16384>& unionTransmitEdicts,
							const Entity2Networkable_t** pNetworkables, const uint16* pEntityIndicies, int nEntities, bool bEnablePVSBits);*/
cs2fixes.cpp
//#include "user_preferences.h"

//SH_DECL_HOOK7_void(ISource2GameEntities, CheckTransmit, SH_NOATTRIB, 0, CCheckTransmitInfo**, int, CBitVec<16384>&, const Entity2Networkable_t**, const uint16*, int, bool);

	//SH_ADD_HOOK(ISource2GameEntities, CheckTransmit, g_pSource2GameEntities, SH_MEMBER(this, &CS2Fixes::Hook_CheckTransmit), true);

	//g_pUserPreferencesSystem = new CUserPreferencesSystem();
	//g_pUserPreferencesStorage = new CUserPreferencesREST();

	//SH_REMOVE_HOOK(ISource2GameEntities, CheckTransmit, g_pSource2GameEntities, SH_MEMBER(this, &CS2Fixes::Hook_CheckTransmit), true)

	/*if (g_pUserPreferencesSystem)
		delete g_pUserPreferencesSystem;

	if (g_pUserPreferencesStorage)
		delete g_pUserPreferencesStorage;*/

/*void CS2Fixes::Hook_CheckTransmit(CCheckTransmitInfo*
.......
}*/

	/*NetMessageInfo_t* info = pEvent->GetNetMessageInfo();
.....
			*(uint64*)clients &= ~g_playerManager->GetNoShakeMask();
	}*/

gamesystem.cpp
//extern std::string g_sBurnParticle;
	//PrecacheBeaconParticle(pResourceManifest);
	//pResourceManifest->AddResource(g_sBurnParticle.c_str());

	//g_playerManager->FlashLightThink();

playermanager.cpp
//#include "user_preferences.h"

	//g_pUserPreferencesSystem->PullPreferences(GetPlayerSlot().Get());

	return 0;//g_pUserPreferencesSystem->GetPreferenceInt(m_slot.Get(), HIDE_DISTANCE_PREF_KEY_NAME, 0);

	//g_pUserPreferencesSystem->SetPreferenceInt(m_slot.Get(), BUTTON_WATCH_PREF_KEY_NAME, m_iButtonWatchMode);

	return 0;//g_pUserPreferencesSystem->GetPreferenceInt(m_slot.Get(), BUTTON_WATCH_PREF_KEY_NAME, m_iButtonWatchMode);

	//g_pUserPreferencesSystem->SetPreferenceInt(slot, SOUND_STATUS_PREF_KEY_NAME, iStopPreferenceStatus + iSilencePreferenceStatus);

	//g_pUserPreferencesSystem->SetPreferenceInt(slot, SOUND_STATUS_PREF_KEY_NAME, iStopPreferenceStatus + iSilencePreferenceStatus);

	//g_pUserPreferencesSystem->SetPreferenceInt(slot, DECAL_PREF_KEY_NAME, iDecalPreferenceStatus);

	//g_pUserPreferencesSystem->SetPreferenceInt(m_slot.Get(), HIDE_DISTANCE_PREF_KEY_NAME, distance);

	//g_pUserPreferencesSystem->SetPreferenceInt(slot, NO_SHAKE_PREF_KEY_NAME, iNoShakePreferenceStatus);

detours.cpp
//#include "buttonwatch.h"

			return false;//CustomIO_HandleInput(pThis->m_pInstance, value->m_pszString, pActivator, pCaller);

		//if (pPawn->IsPawn() && IgnitePawn(pPawn, flDuration, pPawn, pPawn))

3.
Ambuilder     
#'src/entities.cpp',

cs2fixes.cpp
//#include "entities.h"
	//CGamePlayerEquipHandler::Use(META_IFACEPTR(CGamePlayerEquip), pInput);

	//EntityHandler_OnGameFramePost(simulating, gpGlobals->tickcount);

gamesystem.cpp
//#include "entities.h"
	//EntityHandler_OnGameFramePre(gpGlobals->m_bInSimulation, gpGlobals->tickcount);

eventlistener.cpp
//#include "entities.h"
	//EntityHandler_OnEntitySpawned(reinterpret_cast<CBaseEntity*>(pEntity));

events.cpp
//#include "entities.h"
	//EntityHandler_OnRoundRestart();

detours.h
//void FASTCALL Detour_CGamePlayerEquip_InputTriggerForAllPlayers(CGamePlayerEquip*, InputData_t*);
//void FASTCALL Detour_CGamePlayerEquip_InputTriggerForActivatedPlayer(CGamePlayerEquip*, InputData_t*);
/*
#ifdef PLATFORM_WINDOWS
Vector* FASTCALL Detour_CBasePlayerPawn_GetEyePosition(CBasePlayerPawn*, Vector*);
QAngle* FASTCALL Detour_CBasePlayerPawn_GetEyeAngles(CBasePlayerPawn*, QAngle*);
#else
Vector FASTCALL Detour_CBasePlayerPawn_GetEyePosition(CBasePlayerPawn*);
QAngle FASTCALL Detour_CBasePlayerPawn_GetEyeAngles(CBasePlayerPawn*);
#endif
*/

detours.cpp
//#include "entities.h"

//DECLARE_DETOUR(CGamePlayerEquip_InputTriggerForAllPlayers, Detour_CGamePlayerEquip_InputTriggerForAllPlayers);
//DECLARE_DETOUR(CGamePlayerEquip_InputTriggerForActivatedPlayer, Detour_CGamePlayerEquip_InputTriggerForActivatedPlayer);

//DECLARE_DETOUR(CBasePlayerPawn_GetEyePosition, Detour_CBasePlayerPawn_GetEyePosition);
//DECLARE_DETOUR(CBasePlayerPawn_GetEyeAngles, Detour_CBasePlayerPawn_GetEyeAngles);

/*
void FASTCALL Detour_CGamePlayerEquip_InputTriggerForAllPlayers(CGamePlayerEquip* pEntity, InputData_t* pInput)
{
	CGamePlayerEquipHandler::TriggerForAllPlayers(pEntity, pInput);
	CGamePlayerEquip_InputTriggerForAllPlayers(pEntity, pInput);
}
void FASTCALL Detour_CGamePlayerEquip_InputTriggerForActivatedPlayer(CGamePlayerEquip* pEntity, InputData_t* pInput)
{
	if (CGamePlayerEquipHandler::TriggerForActivatedPlayer(pEntity, pInput))
		CGamePlayerEquip_InputTriggerForActivatedPlayer(pEntity, pInput);
}
*/

	/*else if (const auto pGameUI = reinterpret_cast<CBaseEntity*>(pThis->m_pInstance)->AsGameUI())
	{
		if (!V_strcasecmp(pInputName->String(), "Activate"))
			return CGameUIHandler::OnActivate(pGameUI, reinterpret_cast<CBaseEntity*>(pActivator));
		if (!V_strcasecmp(pInputName->String(), "Deactivate"))
			return CGameUIHandler::OnDeactivate(pGameUI, reinterpret_cast<CBaseEntity*>(pActivator));
	}
	else if (const auto pViewControl = reinterpret_cast<CPointViewControl*>(pThis->m_pInstance)->AsPointViewControl())
	{
		if (!V_strcasecmp(pInputName->String(), "EnableCamera"))
			return CPointViewControlHandler::OnEnable(pViewControl, reinterpret_cast<CBaseEntity*>(pActivator));
		if (!V_strcasecmp(pInputName->String(), "DisableCamera"))
			return CPointViewControlHandler::OnDisable(pViewControl, reinterpret_cast<CBaseEntity*>(pActivator));
		if (!V_strcasecmp(pInputName->String(), "EnableCameraAll"))
			return CPointViewControlHandler::OnEnableAll(pViewControl);
		if (!V_strcasecmp(pInputName->String(), "DisableCameraAll"))
			return CPointViewControlHandler::OnDisableAll(pViewControl);
	}*/

/*
#ifdef PLATFORM_WINDOWS
Vector* FASTCALL Detour_CBasePlayerPawn_GetEyePosition(CBasePlayerPawn* pPawn, Vector* pRet)
{
	if (pPawn->IsAlive() && CPointViewControlHandler::IsViewControl(reinterpret_cast<CCSPlayerPawn*>(pPawn)))
	{
		const auto& origin = pPawn->GetEyePosition();
		pRet->Init(origin.x, origin.y, origin.z);
		return pRet;
	}

	return CBasePlayerPawn_GetEyePosition(pPawn, pRet);
}
QAngle* FASTCALL Detour_CBasePlayerPawn_GetEyeAngles(CBasePlayerPawn* pPawn, QAngle* pRet)
{
	if (pPawn->IsAlive() && CPointViewControlHandler::IsViewControl(reinterpret_cast<CCSPlayerPawn*>(pPawn)))
	{
		const auto& angles = pPawn->v_angle();
		pRet->Init(angles.x, angles.y, angles.z);
		return pRet;
	}

	return CBasePlayerPawn_GetEyeAngles(pPawn, pRet);
}
#else
Vector FASTCALL Detour_CBasePlayerPawn_GetEyePosition(CBasePlayerPawn* pPawn)
{
	if (pPawn->IsAlive() && CPointViewControlHandler::IsViewControl(reinterpret_cast<CCSPlayerPawn*>(pPawn)))
	{
		const auto& origin = pPawn->GetEyePosition();
		return origin;
	}

	return CBasePlayerPawn_GetEyePosition(pPawn);
}
QAngle FASTCALL Detour_CBasePlayerPawn_GetEyeAngles(CBasePlayerPawn* pPawn)
{
	if (pPawn->IsAlive() && CPointViewControlHandler::IsViewControl(reinterpret_cast<CCSPlayerPawn*>(pPawn)))
	{
		const auto& angles = pPawn->v_angle();
		return angles;
	}

	return CBasePlayerPawn_GetEyeAngles(pPawn);
}
#endif
*/

4.
cleanup functions and classes
adminsystem.cpp - remove ent.. cmds: entfire,entfirepawn,entfirecontroller
/*
CON_COMMAND_CHAT_FLAGS(entfire, "<name>
...
}/*

commands.cpp - remove "fun" cmds/options: stopsound,toggledecals,noshake,hide and all from debug
//#include "entity/ccsweaponbase.h"
//#include "entity/cparticlesystem.h"
//#include "entity/lights.h"

//#include "vendor/nlohmann/json.hpp"

//using json = nlohmann::json;

/*
CON_COMMAND_CHAT(stopsound, "- Toggle weapon sounds")
...
*/
bool g_bEnableNoShake = false;
/*CON_COMMAND_CHAT(noshake, "- toggle noshake")
{
...
}/*
..
/*CON_COMMAND_CHAT(hide, "<distance> - Hide nearby players")
{
...
}/*

fara weaponchatcmd
/*
void ParseWeaponCommand(const CCommand& args, CCSPlayerController* player)
{
...
	ParseWeaponCommand(args, pController);
}
*/
void RegisterWeaponCommands()
{
	/*for (int i = 0; i < sizeof(WeaponMap) / sizeof(*WeaponMap); i++)
	{
		WeaponMapEntry_t weaponEntry = WeaponMap[i];

		for (std::string alias : weaponEntry.aliases)
		{
			new CChatCommand(alias.c_str(), ParseWeaponCommand, "- Buys this weapon", ADMFLAG_NONE, CMDFLAG_NOHELP);
			ConCommandRefAbstract ref;

			char cmdName[64];
			V_snprintf(cmdName, sizeof(cmdName), "%s%s", COMMAND_PREFIX, alias.c_str());

			new ConCommand(&ref, cmdName, WeaponCommandCallback, "Buys this weapon", FCVAR_RELEASE | FCVAR_CLIENT_CAN_EXECUTE | FCVAR_LINKED_CONCOMMAND);
		}
	}*/
}

			/*if (!pZEPlayer->IsLeader())
			{
				ClientPrint(pPlayer, HUD_PRINTTALK, CHAT_PREFIX "You must be a leader to use this command.");
				return false;
			}*/

cs2fixes.cpp
	//RegisterWeaponCommands();

	//g_playerManager->SetupInfiniteAmmo();

playermanager.h
//#include "entity/cparticlesystem.h" --> add #include "entity/cbaseentity.h" 
//#include "entity/lights.h"

/*#define DECAL_PREF_KEY_NAME "hide_decals"
#define HIDE_DISTANCE_PREF_KEY_NAME "hide_distance"
#define SOUND_STATUS_PREF_KEY_NAME "sound_status"
#define NO_SHAKE_PREF_KEY_NAME "no_shake"
#define BUTTON_WATCH_PREF_KEY_NAME "button_watch"*/

		//m_iHideDistance = 0;

		/*m_iTotalDamage = 0;
		m_iTotalHits = 0;
		m_iTotalKills = 0;
		m_bVotedRTV = false;
		m_bVotedExtend = false;
		m_bIsInfected = false;
		m_flRTVVoteTime = -60.0f;
		m_flExtendVoteTime = 0;*/

		//m_iMZImmunity = 0; // out of 100
		//m_flNominateTime = -60.0f;

		/*m_bIsLeader = false;
		m_handleMark = nullptr;
		m_colorLeader = Color(0, 0, 0, 0);
		m_colorTracer = Color(0, 0, 0, 0);
		m_colorGlow = Color(0, 0, 0, 0);
		m_colorBeacon = Color(0, 0, 0, 0);
		m_flLeaderVoteTime = -30.0f;*/

		/*m_pActiveZRClass = nullptr;
		m_pActiveZRModel = nullptr;
		m_iButtonWatchMode = 0;*/

		/*CBarnLight* pFlashLight = m_hFlashLight.Get();

		if (pFlashLight)
			pFlashLight->Remove();*/

	/*void SetTransmit(int index, bool shouldTransmit) { shouldTransmit ? m_shouldTransmit.Set(index) : m_shouldTransmit.Clear(index); }
	void ClearTransmit() { m_shouldTransmit.ClearAll(); }
	void SetHideDistance(int distance);
	void SetTotalDamage(int damage) { m_iTotalDamage = damage; }
	void SetTotalHits(int hits) { m_iTotalHits = hits; }
	void SetTotalKills(int kills) { m_iTotalKills = kills; }
	void SetRTVVote(bool bRTVVote) { m_bVotedRTV = bRTVVote; }
	void SetRTVVoteTime(float flCurtime) { m_flRTVVoteTime = flCurtime; }
	void SetExtendVote(bool bExtendVote) { m_bVotedExtend = bExtendVote; }
	void SetInfectState(bool bInfectState) { m_bIsInfected = bInfectState; }
	void SetExtendVoteTime(float flCurtime) { m_flExtendVoteTime = flCurtime; }*/

	/*void SetImmunity(int iMZImmunity) { m_iMZImmunity = iMZImmunity; }
	void SetNominateTime(float flCurtime) { m_flNominateTime = flCurtime; }
	void SetFlashLight(CBarnLight* pLight) { m_hFlashLight.Set(pLight); }
	void SetBeaconParticle(CParticleSystem* pParticle) { m_hBeaconParticle.Set(pParticle); }*/

	/*void SetLeader(bool bIsLeader) { m_bIsLeader = bIsLeader; }
	void CreateMark(float fDuration, Vector vecOrigin);
	void SetLeaderColor(Color colorLeader) { m_colorLeader = colorLeader; }
	void SetTracerColor(Color colorTracer) { m_colorTracer = colorTracer; }
	void SetGlowColor(Color colorGlow) { m_colorGlow = colorGlow; }
	void SetBeaconColor(Color colorBeacon) { m_colorBeacon = colorBeacon; }
	void SetLeaderVoteTime(float flCurtime) { m_flLeaderVoteTime = flCurtime; }
	void SetGlowModel(CBaseModelEntity* pModel) { m_hGlowModel.Set(pModel); }*/

	//void CycleButtonWatch();

	//void SetActiveZRClass(std::shared_ptr<ZRClass> pZRModel) { m_pActiveZRClass = pZRModel; }
	//void SetActiveZRModel(std::shared_ptr<ZRModelEntry> pZRClass) { m_pActiveZRModel = pZRClass; }

	/*bool ShouldBlockTransmit(int index) { return m_shouldTransmit.Get(index); }
	int GetHideDistance();*/

	/*int GetTotalDamage() { return m_iTotalDamage; }
	int GetTotalHits() { return m_iTotalHits; }
	int GetTotalKills() { return m_iTotalKills; }
	bool GetRTVVote() { return m_bVotedRTV; }
	float GetRTVVoteTime() { return m_flRTVVoteTime; }
	bool GetExtendVote() { return m_bVotedExtend; }
	bool IsInfected() { return m_bIsInfected; }
	float GetExtendVoteTime() { return m_flExtendVoteTime; }*/

	/*int GetImmunity() { return m_iMZImmunity; }
	float GetNominateTime() { return m_flNominateTime; }
	CBarnLight* GetFlashLight() { return m_hFlashLight.Get(); }
	CParticleSystem* GetBeaconParticle() { return m_hBeaconParticle.Get(); }*/

	/*bool IsLeader() { return m_bIsLeader; }
	Color GetLeaderColor() { return m_colorLeader; }
	Color GetTracerColor() { return m_colorTracer; }
	Color GetGlowColor() { return m_colorGlow; }
	Color GetBeaconColor() { return m_colorBeacon; }
	int GetLeaderVoteCount();
	bool HasPlayerVotedLeader(ZEPlayer* pPlayer);
	float GetLeaderVoteTime() { return m_flLeaderVoteTime; }
	CBaseModelEntity* GetGlowModel() { return m_hGlowModel.Get(); }*/

	/*std::shared_ptr<ZRClass> GetActiveZRClass() { return m_pActiveZRClass; }
	std::shared_ptr<ZRModelEntry> GetActiveZRModel() { return m_pActiveZRModel; }
	int GetButtonWatchMode();*/

	/*void SpawnFlashLight();
	void ToggleFlashLight();
	void StartBeacon(Color color, ZEPlayerHandle Giver = 0);
	void EndBeacon();
	void AddLeaderVote(ZEPlayer* pPlayer);
	void PurgeLeaderVotes();
	void StartGlow(Color color, int duration);
	void EndGlow();*/

	/*int m_iHideDistance;
	CBitVec<MAXPLAYERS> m_shouldTransmit;
	int m_iTotalDamage;
	int m_iTotalHits;
	int m_iTotalKills;
	bool m_bVotedRTV;
	float m_flRTVVoteTime;
	bool m_bVotedExtend;
	bool m_bIsInfected;
	float m_flExtendVoteTime;*/

	/*int m_iMZImmunity;
	float m_flNominateTime;
	CHandle<CBarnLight> m_hFlashLight;
	CHandle<CParticleSystem> m_hBeaconParticle;*/

	/*bool m_bIsLeader;
	CHandle<CBaseEntity> m_handleMark;
	Color m_colorLeader;
	Color m_colorTracer;
	Color m_colorGlow;
	Color m_colorBeacon;
	CUtlVector<ZEPlayerHandle> m_vecLeaderVotes;
	float m_flLeaderVoteTime;
	CHandle<CBaseModelEntity> m_hGlowModel;*/

	/*std::shared_ptr<ZRClass> m_pActiveZRClass;
	std::shared_ptr<ZRModelEntry> m_pActiveZRModel;
	int m_iButtonWatchMode;*/

		/*m_nUsingStopSound = -1; // On by default
		m_nUsingSilenceSound = 0;
		m_nUsingStopDecals = -1; // On by default
		m_nUsingNoShake = 0;*/

	/*void FlashLightThink();
	void CheckHideDistances();
	void SetupInfiniteAmmo();*/

	/*uint64 GetStopSoundMask() { return m_nUsingStopSound; }
	uint64 GetSilenceSoundMask() { return m_nUsingSilenceSound; }
	uint64 GetStopDecalsMask() { return m_nUsingStopDecals; }
	uint64 GetNoShakeMask() { return m_nUsingNoShake; }

	void SetPlayerStopSound(int slot, bool set);
	void SetPlayerSilenceSound(int slot, bool set);
	void SetPlayerStopDecals(int slot, bool set);
	void SetPlayerNoShake(int slot, bool set);

	void ResetPlayerFlags(int slot);

	bool IsPlayerUsingStopSound(int slot) { return m_nUsingStopSound & ((uint64)1 << slot); }
	bool IsPlayerUsingSilenceSound(int slot) { return m_nUsingSilenceSound & ((uint64)1 << slot); }
	bool IsPlayerUsingStopDecals(int slot) { return m_nUsingStopDecals & ((uint64)1 << slot); }
	bool IsPlayerUsingNoShake(int slot) { return m_nUsingNoShake & ((uint64)1 << slot); }*/

	/*uint64 m_nUsingStopSound;
	uint64 m_nUsingSilenceSound;
	uint64 m_nUsingStopDecals;
	uint64 m_nUsingNoShake;*/

//void PrecacheBeaconParticle(IEntityResourceManifest* pResourceManifest);

playermanager.cpp


/*
int ZEPlayer::GetHideDistance()
{
	return 0;//g_pUserPreferencesSystem->GetPreferenceInt(m_slot.Get(), HIDE_DISTANCE_PREF_KEY_NAME, 0);
....
	pLight->AcceptInput(pLight->m_bEnabled() ? "Disable" : "Enable");
}
*/

//static std::string g_sBeaconParticle = "particles/cs2fixes/player_beacon.vpcf";

//FAKE_STRING_CVAR(cs2f_beacon_particle, ".vpcf file to be precached and used for beacon", g_sBeaconParticle, false)

/*
void PrecacheBeaconParticle(IEntityResourceManifest* pResourceManifest)
{
	pResourceManifest->AddResource(g_sBeaconParticle.c_str());
}

void ZEPlayer::StartBeacon(Color color, ZEPlayerHandle hGiver *//* = 0*//*)
{
....
	return 0;//g_pUserPreferencesSystem->GetPreferenceInt(m_slot.Get(), BUTTON_WATCH_PREF_KEY_NAME, m_iButtonWatchMode);
}
*/

	//ResetPlayerFlags(slot.Get());

	//ResetPlayerFlags(slot.Get());

/*
static bool g_bFlashLightEnable = false;
...
					player->SetTransmit(j, pTargetPawn->GetAbsOrigin().DistToSqr(vecPosition) <= hideDistance * hideDistance);
			}
		}
	}
}
*/

//extern bool g_bEnableHide;

			//if (g_bEnableHide)
				//Message("Player %s changed states from %s to %s\n", pController->GetPlayerName(), g_szPlayerStates[iPreviousPlayerState], g_szPlayerStates[iCurrentPlayerState]);

			/*if (g_bEnableHide && (iCurrentPlayerState == STATE_OBSERVER_MODE || iPreviousPlayerState == STATE_OBSERVER_MODE))
			{
				CServerSideClient* pClient = GetClientBySlot(i);

				if (pClient)
					pClient->ForceFullUpdate();
			}*/

/*
static bool g_bInfiniteAmmo = false;
...
		return 5.0f;
	});
}
*/

/*
void CPlayerManager::SetPlayerStopSound(int slot, bool set)
{
....
	SetPlayerNoShake(slot, false);
}
*/

