"Games"
{
	"#default"
	{
		"Offsets"
		{
			"Blocked"
			{
				"windows"	"106"
				"linux"		"107"
				"linux64"	"107"
				"mac64"		"107"
			}
			"EndTouch"
			{
				"windows"	"104"
				"linux"		"105"
				"linux64"	"105"
				"mac64"		"105"
			}
			"FireBullets"
			{
				"windows"	"118"
				"linux"		"119"
				"linux64"	"119"
				"mac64"		"119"
			}
			"GetMaxHealth"
			{
				"windows"	"122"
				"linux"		"123"
				"linux64"	"123"
				"mac64"		"123"			
			}
			"GroundEntChanged"
			{
				"windows"	"177"
				"linux"		"179"
				"linux64"	"179"
				"mac64"		"179"
			}
			"OnTakeDamage"
			{
				"windows"	"68"
				"linux"		"69"
				"linux64"	"69"
				"mac64"		"69"
			}
			"OnTakeDamage_Alive"
			{
				"windows"	"298"
				"linux"		"299"
				"linux64"	"299"
				"mac64"		"299"
			}
			"PreThink"
			{
				"windows"	"371"
				"linux"		"372"
				"linux64"	"372"
				"mac64"		"372"
			}
			"PostThink"
			{
				"windows"	"372"
				"linux"		"373"
				"linux64"	"373"
				"mac64"		"373"
			}
			"Reload"
			{
				"windows"	"310"
				"linux"		"316"
				"linux64"	"316"
				"mac64"		"316"
			}
			"SetTransmit"
			{
				"windows"	"23"
				"linux"		"24"
				"linux64"	"24"
				"mac64"		"24"
			}
			"ShouldCollide"
			{
				"windows"	"18"
				"linux"		"19"
				"linux64"	"19"
				"mac64"		"19"
			}
			"Spawn"
			{
				"windows"	"25"
				"linux"		"26"
				"linux64"	"26"
				"mac64"		"26"
			}
			"StartTouch"
			{
				"windows"	"102"
				"linux"		"103"
				"linux64"	"103"
				"mac64"		"103"
			}
			"Think"
			{
				"windows"	"52"
				"linux"		"53"
				"linux64"	"53"
				"mac64"		"53"
			}
			"Touch"
			{
				"windows"	"103"
				"linux"		"104"
				"linux64"	"104"
				"mac64"		"104"
			}
			"TraceAttack"
			{
				"windows"	"66"
				"linux"		"67"
				"linux64"	"67"
				"mac64"		"67"
			}
			"Use"
			{
				"windows"	"101"
				"linux"		"102"
				"linux64"	"102"
				"mac64"		"102"
			}
			"VPhysicsUpdate"
			{
				"windows"	"156"
				"linux"		"157"
				"linux64"	"157"
				"mac64"		"157"
			}
			"Weapon_CanSwitchTo"
			{
				"windows"	"290"
				"linux"		"291"
				"linux64"	"291"
				"mac64"		"291"
			}
			"Weapon_CanUse"
			{
				"windows"	"284"
				"linux"		"285"
				"linux64"	"285"
				"mac64"		"285"
			}
			"Weapon_Drop"
			{
				"windows"	"287"
				"linux"		"288"
				"linux64"	"288"
				"mac64"		"288"
			}
			"Weapon_Equip"
			{
				"windows"	"285"
				"linux"		"286"
				"linux64"	"286"
				"mac64"		"286"
			}
			"Weapon_Switch"
			{
				"windows"	"288"
				"linux"		"289"
				"linux64"	"289"
				"mac64"		"289"
			}
		}
	}
	
	"#default"
	{
		"Offsets"
		{
			"EntityListeners"
			{
				"linux"		"196644"
				"linux64"	"393272"
				"mac64"		"393272"
			}
		}
		
		"Addresses"
		{
			"EntityListenersPtr"
			{
				"windows"
				{
					"signature"	"EntityListenersFinder"
					"read"		"18"
				}
			}
		}
		
		"Signatures"
		{
			// Find call to AddListenerEntity in CPhysSaveRestoreBlockHandler::PreRestore (virtual)
			"EntityListenersFinder"
			{
				"library"	"server"
				"windows"	"\x55\x8B\xEC\x8B\x0D\x2A\x2A\x2A\x2A\x33\xC0\x56\x85\xC9\x7E\x32\x8B"
			}
		}
	}
}
