/* 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"		"62"
				"linux"			"53"
			}
			"TakeDmgPatch1"
			{
				"windows"		"206"
				"linux"			"607"
			}
			"TakeDmgPatch2"
			{
				"windows"		"356"
				"linux"			"2874"
			}
			/* Offset into gamerules constructor - bogo value linux/mac */
			"g_pGameRules"
			{
				"windows"		"32"
				"linux"			"1"
			}
			/* Virtual indexes */
			"IPointsForKill"
			{
				"windows"		"79"
				"linux"			"80"
			}
			"Weapon_GetSlot"
			{
				"windows"		"283"
				"linux"			"284"
			}
			"RemoveAllItems"
			{
				"windows"		"372"
				"linux"			"373"
			}
			"GiveAmmo"
			{
				"windows"		"269"
				"linux"			"270"
			}
			/* Next _two_ are detour byte "save" counts */
			"DropWeaponsPatch"
			{
				"windows"		"6"
				"linux"			"6"
			}
			"CSWeaponDropPatch"
			{
				"windows"		"9"
				"linux"			"6"
			}
			"CalcDomRevPatch"
			{
				"windows"		"92"
				"linux"			"128"
			}
		}
		"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\x2A\x56\x8B\xF1\x8B\x0D\x2A\x2A\x2A\x2A\x57\xE8\x2A\x2A\x2A\x2A\x84\xC0\x75"
				"linux"			"@_ZN9CCSPlayer12RoundRespawnEv"
			}
			"OnTakeDamage"
			{
				"library"		"server"
				"windows"		"\x55\x8B\xEC\x81\xEC\x2A\x2A\x00\x00\x56\x8B\xF1\x80\xBE\x2A\x2A\x2A\x00\x00\x74\x2A\x33"
				"linux"			"@_ZN9CCSPlayer12OnTakeDamageERK15CTakeDamageInfo"
			}
			"WantsLagComp"
			{
				"library"		"server"
				"windows"		"\x53\x8B\xDC\x83\xEC\x2A\x83\xE4\x2A\x83\xC4\x2A\x55\x8B\x6B\x2A\x89\x6C\x24\x04\x8B\xEC\x83\xEC\x2A\x56\x57\x8B\xF9\x8B\x0D\x2A\x2A\x2A\x2A\x81\xF9\x2A\x2A\x2A\x2A\x75"
				"linux"			"@_ZNK11CBasePlayer28WantsLagCompensationOnEntityEPK11CBaseEntityPK8CUserCmdPK7CBitVecILi2048EE"
			}
			"CGameRules"
			{
				"library"		"server"
				"windows"		"\x56\x68\x2A\x2A\x2A\x2A\x8B\xF1\xE8\x2A\x2A\x2A\x2A\xC7\x2A\x2A\x2A\x2A\x2A\xA1\x2A\x2A\x2A\x2A\x8B\x2A\x2A\x2A\x2A\x2A\x89\x2A\x2A\x2A\x2A\x2A\x8B\x48"
				"linux"			"@g_pGameRules"
			}
			"CSWeaponDrop"
			{
				"library"		"server"
				"windows"		"\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x53\x56\x8B\x2A\x2A\x32\xDB\x57\x8B\xF9\x85\xF6\x0F\x84"
				"linux"			"@_ZN9CCSPlayer12CSWeaponDropEP17CBaseCombatWeaponbb"
			}
			"DropWeapons"
			{
				"library"		"server"
				"windows"		"\x55\x8B\xEC\x83\xEC\x2A\x53\x56\x57\x8B\xF1\x8B\x06\x8B\x90\x2A\x2A\x00\x00\x6A\x00\x68\x2A\x2A\x2A\x2A\xFF\xD2"
				"linux"			"@_ZN9CCSPlayer11DropWeaponsEbb"
			}
			"CalcDominationAndRevenge"
			{
				"library"		"server"
				"windows"		"\x55\x8B\xEC\x51\xA1\x2A\x2A\x2A\x2A\x8B\x50\x2A\x89\x2A\x2A\xB9\x2A\x2A\x2A\x2A\xFF\xD2\x85\xC0\x0F\x85"
				"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"		"22"
				"linux"			"47"
				"mac"			"32"
			}
			"TakeDmgPatch1"
			{
				"windows"		"906"
				"linux"			"428"
				"mac"			"746"
			}
			"TakeDmgPatch2"
			{
				"windows"		"906"
				"linux"			"428"
				"mac"			"746"
			}
			/* Offset into gamerules constructor - bogo value linux/mac */
			"g_pGameRules"
			{
				"windows"		"32"
				"linux"			"1"
				"mac"			"1"
			}
			/* Virtual indexes */
			"IPointsForKill"
			{
				"windows"		"78"
				"linux"			"79"
				"mac"			"79"
			}
			"Weapon_GetSlot"
			{
				"windows"		"264"
				"linux"			"265"
				"mac"			"265"
			}
			"RemoveAllItems"
			{
				"windows"		"338"
				"linux"			"339"
				"mac"			"339"
			}
			"GiveAmmo"
			{
				"windows"		"250"
				"linux"			"251"
				"mac"			"251"
			}
			/* 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"			"112"
				"mac"			"86"
			}
		}
		"Signatures"
		{
			"UTIL_Remove"
			{
				"library"		"server"
				"windows"		"\x55\x8B\xEC\x8B\x2A\x2A\x85\xC0\x74\x2A\x83\x2A\x2A\x50"
				"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\x8D\x2A\x2A\x2A\x2A\x8B\x45\x2A\x50\x8D"
				"linux"			"@_ZN9CCSPlayer12OnTakeDamageERK15CTakeDamageInfo"
				"mac"			"@_ZN9CCSPlayer12OnTakeDamageERK15CTakeDamageInfo"
			}
			"WantsLagComp"
			{
				"library"		"server"
				"windows"		"\x55\x8B\xEC\xA1\x2A\x2A\x2A\x2A\x83\xEC\x10\x83\x78\x30\x00\x56\x8B\x75\x08\x57"
				"linux"			"@_ZNK11CBasePlayer28WantsLagCompensationOnEntityEPKS_PK8CUserCmdPK7CBitVecILi2048EE"
				"mac"			"@_ZNK11CBasePlayer28WantsLagCompensationOnEntityEPKS_PK8CUserCmdPK7CBitVecILi2048EE"
			}
			"CGameRules"
			{
				"library"		"server"
				"windows"		"\x56\x68\x2A\x2A\x2A\x2A\x8B\xF1\xE8\x2A\x2A\x2A\x2A\xC7\x2A\x2A\x2A\x2A\x2A\xA1\x2A\x2A\x2A\x2A\x8B\x2A\x2A\x2A\x2A\x2A\x89\x2A\x2A\x2A\x2A\x2A\x8B\x48"
				"linux"			"@g_pGameRules"
				"mac"			"@g_pGameRules"
			}
			"CSWeaponDrop"
			{
				"library"		"server"
				"windows"		"\x55\x8B\xEC\x81\xEC\x2A\x2A\x2A\x2A\x89\x8D\x2A\x2A\x2A\x2A\xC6\x2A\x2A\x00\x8B\x8D\x2A\x2A\x2A\x2A\xE8"
				"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\x83\x2A\x2A\x00\x89\x2A\x2A\x0F\x85\x2A\x2A\x00\x00\x57"
				"linux"			"@_ZN12CCSGameStats24CalcDominationAndRevengeEP9CCSPlayerS1_Pi"
				"mac"			"@_ZN12CCSGameStats24CalcDominationAndRevengeEP9CCSPlayerS1_Pi"
			}
		}
	}
}
