/* Do not edit this file unless you know what you are doing! */
"Games"
{
	"csgo"
	{
		/* FFA patch bytes */
		"Keys"
		{
			"LagCompPatch_Windows"		"\xEB"
			"LagCompPatch_Linux"		"\x90\x90\x90\x90\x90\x90"
			
			"TakeDmgPatch1_Windows"		"\xEB"
			"TakeDmgPatch1_Linux"		"\x90\x90\x90\x90\x90\x90"
			
			"TakeDmgPatch2_Windows"		"\xEB"
			"TakeDmgPatch2_Linux"		"\x90\x90\x90\x90\x90\x90"
			
			"CalcDomRevPatch_Windows"	"\x90\x90\x90\x90\x90\x90"
			"CalcDomRevPatch_Linux"		"\x90\x90"
		}
		"Offsets"
		{
			/* Patch offsets for FFA */
			"LagCompPatch"
			{
				"windows"		"57"
				"linux"			"47"
			}
			"TakeDmgPatch1"
			{
				"windows"		"373"
				"linux"			"967"
			}
			"TakeDmgPatch2"
			{
				"windows"		"3845"
				"linux"			"5937"
			}
			/* Offset into gamerules constructor - bogo value linux/mac */
			"g_pGameRules"
			{
				"windows"		"49"
				"linux"			"1"
			}
			/* Virtual indexes */
			"IPointsForKill"
			{
				"windows"		"80"
				"linux"			"81"
			}
			"Weapon_GetSlot"
			{
				"windows"		"287"
				"linux"			"288"
			}
			"RemoveAllItems"
			{
				"windows"		"380"
				"linux"			"381"
			}
			"GiveAmmo"
			{
				"windows"		"273"
				"linux"			"274"
			}
			/* Next _two_ are detour byte "save" counts */
			"DropWeaponsPatch"
			{
				"windows"		"6"
				"linux"			"6"
			}
			"CSWeaponDropPatch"
			{
				"windows"		"6"
				"linux"			"6"
			}
			"CalcDomRevPatch"
			{
				"windows"		"86"
				"linux"			"111"
			}
		}
		"Signatures"
		{
			"UTIL_Remove"
			{
				"library"		"server"
				"windows"		"\x55\x8B\xEC\x8B\x45\x2A\x85\xC0\x74\x2A\x83\xC0\x2A\x50"
				"linux"			"@_Z11UTIL_RemoveP11CBaseEntity"
			}
			"RoundRespawn"
			{
				"library"		"server"
				"windows"		"\x55\x8B\xEC\x83\xEC\x08\x56\x8B\xF1\x8B\x0D\x2A\x2A\x2A\x2A\x57\x8B\x01\xFF\x50\x2A\x83"
				"linux"			"@_ZN9CCSPlayer12RoundRespawnEv"
			}
			"OnTakeDamage"
			{
				"library"		"server"
				"windows"		"\x55\x8B\xEC\x83\xE4\xF0\x81\xEC\x2A\x2A\x00\x00\x56\x57\x8B\xF9\x89\x2A\x2A\x2A\x80\xBF\x2A\x2A\x2A\x2A\x00"
				"linux"			"@_ZN9CCSPlayer12OnTakeDamageERK15CTakeDamageInfo"
			}
			"WantsLagComp"
			{
				"library"		"server"
				"windows"		"\x55\x8B\xEC\x83\xEC\x10\x56\x57\x8B\xF9\x8B\x0D\x2A\x2A\x2A\x2A\x81\xF9\x2A\x2A\x2A\x2A\x75"
				"linux"			"@_ZNK11CBasePlayer28WantsLagCompensationOnEntityEPK11CBaseEntityPK8CUserCmdPK7CBitVecILi2048EE"
			}
			"CGameRules"
			{
				"library"		"server"
				"windows"		"\x55\x8B\xEC\x83\xE4\xF8\x81\xEC\x2A\x2A\x2A\x2A\x53\x56\x57\x8B\xD9\x68\x2A\x2A\x2A\x2A\x89\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\xA1"
				"linux"			"@g_pGameRules"
			}
			//ValveBiped.Bip01_R_Hand
			"CSWeaponDrop"
			{
				"library"		"server"
				"windows"		"\x2A\x2A\x2A\x2A\x2A\x2A\x81\xEC\x2A\x2A\x2A\x2A\x53\x8B\x5D\x08\x56\x57\x6A\x00\x68"
				"linux"			"@_ZN9CCSPlayer12CSWeaponDropEP17CBaseCombatWeapon6Vectorb"
			}
			"DropWeapons"
			{
				"library"		"server"
				"windows"		"\x55\x8B\xEC\x83\xE4\xF8\x83\xEC\x2A\x53\x56\x8B\xF1\x57\x6A\x00\x68\x2A\x2A\x2A\x2A\x8B\x06"		
				"linux"			"@_ZN9CCSPlayer11DropWeaponsEbb"
			}
			"CalcDominationAndRevenge"
			{
				"library"		"server"
				"windows"		"\x55\x8B\xEC\xA1\x2A\x2A\x2A\x2A\xB9\x2A\x2A\x2A\x2A\xFF\x50\x34\x85\xC0"
				"linux"			"@_ZN12CCSGameStats24CalcDominationAndRevengeEP9CCSPlayerS1_Pi"
			}
		}
	}
	"cstrike"
	{
		/* FFA patch bytes */
		"Keys"
		{
			"LagCompPatch_Windows"		"\xEB"
			"LagCompPatch_Linux"		"\x90\x90\x90\x90\x90\x90"
			"LagCompPatch_Mac"		"\x90\x90\x90\x90\x90\x90"
			
			"TakeDmgPatch1_Windows"		"\xEB"
			"TakeDmgPatch1_Linux"		"\x90\x90\x90\x90\x90\x90"
			"TakeDmgPatch1_Mac"		"\x90\x90\x90\x90\x90\x90"
			
			"TakeDmgPatch2_Windows"		"\xEB"
			"TakeDmgPatch2_Linux"		"\x90\x90\x90\x90\x90\x90"
			"TakeDmgPatch2_Mac"		"\x90\x90\x90\x90\x90\x90"
			
			"CalcDomRevPatch_Windows"	"\x90\x90\x90\x90\x90\x90"
			"CalcDomRevPatch_Linux"		"\x90\x90"
			"CalcDomRevPatch_Mac"		"\x90\x90\x90\x90\x90\x90"
		}
		"Offsets"
		{
			/* Patch offsets for FFA */
			"LagCompPatch"
			{
				"windows"		"46"
				"linux"			"31"
				"mac"			"32"
			}
			"TakeDmgPatch1"
			{
				"windows"		"828"
				"linux"			"540"
				"mac"			"746"
			}
			"TakeDmgPatch2"
			{
				"windows"		"828"
				"linux"			"540"
				"mac"			"746"
			}
			/* Offset into gamerules constructor - bogo value linux/mac */
			"g_pGameRules"
			{
				"windows"		"5"
				"linux"			"1"
				"mac"			"1"
			}
			/* Virtual indexes */
			"IPointsForKill"
			{
				"windows"		"79"
				"linux"			"80"
				"mac"			"80"
			}
			"Weapon_GetSlot"
			{
				"windows"		"267"
				"linux"			"268"
				"mac"			"268"
			}
			"RemoveAllItems"
			{
				"windows"		"341"
				"linux"			"342"
				"mac"			"342"
			}
			"GiveAmmo"
			{
				"windows"		"251"
				"linux"			"252"
				"mac"			"252"
			}
			/* Next _two_ are detour byte "save" counts */
			"DropWeaponsPatch"
			{
				"windows"		"6"
				"linux"			"6"
				"mac"			"6"
			}
			"CSWeaponDropPatch"
			{
				"windows"		"9"
				"linux"			"6"
				"mac"			"6"
			}
			"CalcDomRevPatch"
			{
				"windows"		"65"
				"linux"			"96"
				"mac"			"86"
			}
		}
		"Signatures"
		{
			"UTIL_Remove"
			{
				"library"		"server"
				"windows"		"\x55\x8B\xEC\x56\x57\x8B\x7D\x08\x8B\xF1\x57\xE8\x2A\x2A\x2A\x2A\x8B\x0D\x2A\x2A\x2A\x2A\x57\x56"
				"linux"			"@_Z11UTIL_RemoveP11CBaseEntity"
				"mac"			"@_Z11UTIL_RemoveP11CBaseEntity"
			}
			"RoundRespawn"
			{
				"library"	"server"
				"windows"	"\x55\x8B\xEC\x51\x89\x2A\x2A\x8B\x2A\x2A\x8B\x10\x8B"
				"linux"		"@_ZN9CCSPlayer12RoundRespawnEv"
				"mac"		"@_ZN9CCSPlayer12RoundRespawnEv"
			}
			"OnTakeDamage"
			{
				"library"		"server"
				"windows"		"\x55\x8B\xEC\x81\xEC\x2A\x2A\x2A\x2A\x56\x89\x4D\xFC\x8B\x45\x2A\x50\x8D\x8D\x2A\x2A\x2A\x2A\xE8"
				"linux"			"@_ZN9CCSPlayer12OnTakeDamageERK15CTakeDamageInfo"
				"mac"			"@_ZN9CCSPlayer12OnTakeDamageERK15CTakeDamageInfo"
			}
			"WantsLagComp"
			{
				"library"		"server"
				"windows"		"\x55\x8B\xEC\x83\xEC\x10\xA1\x2A\x2A\x2A\x2A\x56\x8B\xF1\x57"
				"linux"			"@_ZNK11CBasePlayer28WantsLagCompensationOnEntityEPKS_PK8CUserCmdPK7CBitVecILi2048EE"
				"mac"			"@_ZNK11CBasePlayer28WantsLagCompensationOnEntityEPKS_PK8CUserCmdPK7CBitVecILi2048EE"
			}
			"CGameRules"
			{
				"library"		"server"
				"windows"		"\x55\x8B\xEC\x8B\x0D\x2A\x2A\x2A\x2A\x85\xC9\x74\x07"
				"linux"			"@g_pGameRules"
				"mac"			"@g_pGameRules"
			}
			"CSWeaponDrop"
			{
				"library"		"server"
				"windows"		"\x2A\x2A\x2A\x2A\x2A\x2A\x01\x00\x00\x89\x4D\xFC\xC6\x45\x2A\x2A\x8B\x4D\x2A\xE8\x2A\x2A\x2A\x2A\x0F\xB6\xC0"
				"linux"			"@_ZN9CCSPlayer12CSWeaponDropEP17CBaseCombatWeaponbb"
				"mac"			"@_ZN9CCSPlayer12CSWeaponDropEP17CBaseCombatWeaponbb"
			}
			"DropWeapons"
			{
				"library"		"server"
				"windows"		"\x55\x8B\xEC\x83\xEC\x2A\x89\x4D\x2A\xC7\x45\x2A\x00\x00\x00\x00\xEB\x2A\x8B\x45\x2A\x83\xC0\x01\x89\x45\x2A\x83"
				"linux"			"@_ZN9CCSPlayer11DropWeaponsEbb"
				"mac"			"@_ZN9CCSPlayer11DropWeaponsEbb"
			}
			"CalcDominationAndRevenge"
			{
				"library"		"server"
				"windows"		"\x55\x8B\xEC\x51\xA1\x2A\x2A\x2A\x2A\x89\x4D\xFC\x83\x78\x30\x00\x0F\x85\x2A\x2A\x2A\x2A\x57\x8B"
				"linux"			"@_ZN12CCSGameStats24CalcDominationAndRevengeEP9CCSPlayerS1_Pi"
				"mac"			"@_ZN12CCSGameStats24CalcDominationAndRevengeEP9CCSPlayerS1_Pi"
			}
		}
	}
}
