/* 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"		"81"
				"linux"			"47"
			}
			"TakeDmgPatch1"
			{
				"windows"		"607"
				"linux"			"5390"
			}
			"TakeDmgPatch2"
			{
				"windows"		"5001"
				"linux"			"6553"
			}
			/* Offset into gamerules constructor - bogo value linux/mac */
			"g_pGameRules"
			{
				"windows"		"49"
				"linux"			"47"
			}
			/* Virtual indexes */
			"IPointsForKill"
			{
				"windows"		"81"
				"linux"			"82"
			}
			"Weapon_GetSlot"
			{
				"windows"		"289"
				"linux"			"290"
			}
			"RemoveAllItems"
			{
				"windows"		"385"
				"linux"			"386"
			}
			"GiveAmmo"
			{
				"windows"		"275"
				"linux"			"276"
			}
			/* 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\x0C\x53\x56\x8B\xF1\x8B\x0D\x2A\x2A\x2A\x2A\x57\x8B\x01"
				"linux"			"\x55\x89\xE5\x57\x56\x53\x83\xEC\x4C\xA1\x2A\x2A\x2A\x2A\x8B\x5D\x08\x89\x04\x24"
			}
			"OnTakeDamage"
			{
				"library"		"server"
				"windows"		"\x55\x8B\xEC\x83\xE4\xF0\x81\xEC\x2A\x2A\x00\x00\x56\x57\xFF\x75\x2A\x8B\xF1\x8D\x2A\x2A\x2A\x89\x2A\x2A\x2A\xE8"
				"linux"			"\x55\x89\xE5\x57\x56\x53\x81\xEC\x2A\x2A\x00\x00\x8B\x45\x0C\x8B\x75\x08\x8B\x10"
			}
			"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"			"\x55\x89\xE5\x83\xEC\x68\xA1\x2A\x2A\x2A\x2A\x89\x5D\xF4\x89\x75\xF8\x8B\x5D\x0C\x89\x7D\xFC\x8B\x75\x08\x3D"
			}
			"CGameRules"
			{
				"library"		"server"
				"windows"		"\x56\x68\x2A\x2A\x2A\x2A\x8B\xF1\xE8\x2A\x2A\x2A\x2A\xA1"
				"linux"			"\x55\x89\xE5\x83\xEC\x28\x89\x5D\xF4\x8B\x5D\x08\x89\x75\xF8\x89\x7D\xFC\xC7\x44\x24\x04\x2A\x2A\x2A\x2A\x89\x1C\x24"
			}
			//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"			"\x2A\x2A\x2A\x2A\x2A\x2A\x56\x53\x81\xEC\x7C\x02\x00\x00\x8B\x5D\x0C\x8B\x75\x08\x85\xDB\x74\x2A\xC7\x44\x24\x2A\x2A\x2A\x2A\x00"
			}
			"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"			"\x55\x89\xE5\x57\x56\x53\x83\xEC\x7C\x8B\x7D\x08\x0F\xB6\x4D\x10"
			}
			"CalcDominationAndRevenge"
			{
				"library"		"server"
				"windows"		"\x55\x8B\xEC\xA1\x2A\x2A\x2A\x2A\xB9\x2A\x2A\x2A\x2A\xFF\x50\x34\x85\xC0\x0F\x85\x2A\x2A\x2A\x2A\x8B\x0D"
				"linux"			"\x55\x89\xE5\x83\xEC\x38\x8B\x4D\x14\x89\x5D\xF4\xA1"
			}
		}
	}
	"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"			"564"
				"mac"			"746"
			}
			"TakeDmgPatch2"
			{
				"windows"		"828"
				"linux"			"564"
				"mac"			"746"
			}
			/* Offset into gamerules constructor - bogo value linux/mac */
			"g_pGameRules"
			{
				"windows"		"5"
				"linux"			"1"
				"mac"			"1"
			}
			/* Virtual indexes */
			"IPointsForKill"
			{
				"windows"		"80"
				"linux"			"81"
				"mac"			"81"
			}
			"Weapon_GetSlot"
			{
				"windows"		"268"
				"linux"			"269"
				"mac"			"269"
			}
			"RemoveAllItems"
			{
				"windows"		"342"
				"linux"			"343"
				"mac"			"343"
			}
			"GiveAmmo"
			{
				"windows"		"252"
				"linux"			"253"
				"mac"			"253"
			}
			/* 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"
			}
		}
	}
}