; Ham Sandwich module config file.
; 
; IMPORTANT: It is highly suggested that you do not modify this file unless
;            you know _exactly_ what you are doing!
;
; NOTE: Just because a mod contains a function does not means it will work
;       as expected.  If, for example, HamKilled() does not work as you think
;       it should in Counter-Strike DO NOT FILE A BUG REPORT.  This just
;       exposes the function for you, whether or not it works, or how it
;       works is up to plugin authors to figure out.
;
; NOTE: If a mod is missing keys for a certain native, that particular native
;       will not be loaded! Example: Say CS is missing the "takedamage" index
;       but has the use and pev indexes.  The HamUse and HamePdataCbase natives
;       will be registered, but the HamTakeDamage native will not register.
;       In addition, any attempts to hook a function who's key is missing will
;       result in the plugin failing.
;
; NOTE: The base key is only needed for the linux configs.
;
; NOTE: Any keys that begin with a modname (eg: cstrike_restart) will, 
;       obviously, only work on that mod and all mirrors of it (eg: czero).
;
; NOTE: If you change this file while the module is already loaded, you will
;       need to restart the server for the changes to take effect.  Changes to
;       this file before the module is loaded will take effect when the module
;       loads.
;
; NOTE: All of these offsets and settings are for the latest (at the time of
;       release) legitimate version of the mod.  However, there is a _chance_
;       that they will work on older (and even newer) versions.
;       eg: If they work on non-Steam CS 1.6 this is coincidental, if they do 
;           not work on non-Steam CS 1.6 this will not be officially fixed.
;
; Mirrors: These take the name of one mod, and copy all of its data to another
;          name. An example of a use for this would be cstrike and czero: they
;          use the same binary so all of its vtable offsets are guaranteed to
;          be identical. Mirrors should always come first in the file!
;
; Version: $Id: hamdata.ini 3687 2008-03-04 18:51:35Z sawce $


@mirror cstrike czero
@mirror ns nsp

; TODO: check these - all are estimates
@section cstrike linux
	pev 0
	base 0x94
	
	spawn 2
	precache 3
	keyvalue 5
	objectcaps 8
	activate 9
	setobjectcollisionbox 10
	classify 11
	deathnotice 12
	traceattack 13
	takedamage 14
	takehealth 15
	killed 16
	bloodcolor 17
	tracebleed 18
	istriggered 19
	mymonsterpointer 20
	mysquadmonsterpointer 21
	gettogglestate 22
	addpoints 23
	addpointstoteam 24
	addplayeritem 25
	removeplayeritem 26
	giveammo 27
	getdelay 28
	ismoving 29
	overridereset 30
	damagedecal 31
	settogglestate 32
	startsneaking 33
	stopsneaking 34
	oncontrols 35
	issneaking 36
	isalive 37
	isbspmodel 38
	reflectgauss 39
	hastarget 40
	isinworld 41
	isplayer 42
	isnetclient 43
	teamid 44
	getnexttarget 45
	think 46
	touch 47
	use 48
	blocked 49
	respawn 50
	updateowner 51
	fbecomeprone 52
	center 53
	eyeposition 54
	earposition 55
	bodytarget 56
	illumination 57
	fvisible 58
	fvecvisible 59
	
	player_jump 78
	player_duck 79
	player_prethink 80
	player_postthink 81
	player_getgunposition 82
	player_shouldfadeondeath 68
	player_impulsecommands 84
	player_updateclientdata 83
	
	item_addtoplayer 61
	item_addduplicate 62
	item_getiteminfo 63
	item_candeploy 64
	item_deploy 66
	item_canholster 68
	item_holster 69
	item_updateiteminfo 70
	item_preframe 71
	item_postframe 72
	item_drop 73
	item_kill 74
	item_attachtoplayer 75
	item_primaryammoindex 76
	item_secondaryammoindex 77
	item_updateclientdata 78
	item_getweaponptr 79
	item_itemslot 81
	
	weapon_extractammo 82
	weapon_extractclipammo 83
	weapon_addweapon 84
	weapon_playemptysound 85
	weapon_resetemptysound 86
	weapon_sendweaponanim 87
	weapon_isusable 88
	weapon_primaryattack 89
	weapon_secondaryattack 90
	weapon_reload 91
	weapon_weaponidle 92
	weapon_retireweapon 93
	weapon_shouldweaponidle 94
	weapon_usedecrement 95
	
	cstrike_restart 4
	cstrike_roundrespawn 86
	cstrike_item_candrop 65
	cstrike_item_getmaxspeed 80
	
@end
@section cstrike windows
	pev 4
	base 0x0
	
	spawn 0
	precache 1
	keyvalue 3
	objectcaps 6
	activate 7
	setobjectcollisionbox 8
	classify 9
	deathnotice 10
	traceattack 11
	takedamage 12
	takehealth 13
	killed 14
	bloodcolor 15
	tracebleed 16
	istriggered 17
	mymonsterpointer 18
	mysquadmonsterpointer 19
	gettogglestate 20
	addpoints 21
	addpointstoteam 22
	addplayeritem 23
	removeplayeritem 24
	giveammo 25
	getdelay 26
	ismoving 27
	overridereset 28
	damagedecal 29
	settogglestate 30
	startsneaking 31
	stopsneaking 32
	oncontrols 33
	issneaking 34
	isalive 35
	isbspmodel 36
	reflectgauss 37
	hastarget 38
	isinworld 39
	isplayer 40
	isnetclient 41
	teamid 42
	getnexttarget 43
	think 44
	touch 45
	use 46
	blocked 47
	respawn 48
	updateowner 49
	fbecomeprone 50
	center 51
	eyeposition 52
	earposition 53
	bodytarget 54
	illumination 55
	fvisible 56
	fvecvisible 57
	
	player_jump 76
	player_duck 77
	player_prethink 78
	player_postthink 79
	player_getgunposition 80
	player_shouldfadeondeath 66
	player_impulsecommands 82
	player_updateclientdata 81
	
	item_addtoplayer 59
	item_addduplicate 60
	item_getiteminfo 61
	item_candeploy 62
	item_deploy 64
	item_canholster 66
	item_holster 67
	item_updateiteminfo 68
	item_preframe 69
	item_postframe 70
	item_drop 71
	item_kill 72
	item_attachtoplayer 73
	item_primaryammoindex 74
	item_secondaryammoindex 75
	item_updateclientdata 76
	item_getweaponptr 77
	item_itemslot 79
	
	weapon_extractammo 80
	weapon_extractclipammo 81
	weapon_addweapon 82
	weapon_playemptysound 83
	weapon_resetemptysound 84
	weapon_sendweaponanim 85
	weapon_isusable 86
	weapon_primaryattack 87
	weapon_secondaryattack 88
	weapon_reload 89
	weapon_weaponidle 90
	weapon_retireweapon 91
	weapon_shouldweaponidle 92
	weapon_usedecrement 93
	
	cstrike_restart 2
	cstrike_roundrespawn 84
	cstrike_item_candrop 63
	cstrike_item_getmaxspeed 78
@end
@section dod linux
	pev 0
	base 0x154
	
	spawn 5
	precache 6
	keyvalue 7
	objectcaps 10
	activate 11
	objectcollisionbox 14
	classify 15
	deathnotice 16
	traceattack 19
	takedamage 20
	takehealth 21
	killed 22
	bloodcolor 23
	tracebleed 24
	mymonsterpointer 25
	mysquadmonsterpointer 26
	gettogglestate 27
	addpoints 28
	addpointstoteam 29
	addplayeritem 30
	removeplayeritem 31
	giveammo 32
	getdelay 33
	ismoving 34
	overridereset 35
	damagedecal 36
	settogglestate 37
	startsneaking 38
	stopsneaking 39
	oncontrols 40
	issneaking 41
	isalive 42
	isbspmodel 43
	reflectgauss 44
	hastarget 45
	isinworld 46
	isplayer 47
	isnetclient 48
	teamid 49
	getnexttarget 50
	think 51
	touch 52
	use 53
	blocked 54
	respawn 55
	updateowner 56
	fbecomeprone 57
	center 58
	eyeposition 59
	earposition 60
	bodytarget 61
	illumination 62
	fvisible 63
	fvecvisible 64
	
	player_jump 136
	player_duck 137
	player_prethink 134
	player_postthink 135
	player_getgunposition 128
	player_shouldfadeondeath 68
	player_impulsecommands 139
	player_updateclientdata 138
	
	item_addtoplayer 66
	item_addduplicate 67
	item_getiteminfo 68
	item_candeploy 69
	item_deploy 70
	item_canholster 75
	item_holster 76
	item_updateiteminfo 77
	item_preframe 78
	item_postframe 79
	item_drop 80
	item_kill 81
	item_attachtoplayer 82
	item_primaryammoindex 83
	item_secondaryammoindex 84
	item_updateclientdata 85
	item_getweaponptr 86
	item_itemslot 87
	
	weapon_extractammo 88
	weapon_extractclipammo 89
	weapon_addweapon 90
	weapon_playemptysound 91
	weapon_resetemptysound 92
	weapon_sendweaponanim 93
	weapon_isusable 94
	weapon_primaryattack 104
	weapon_secondaryattack 105
	weapon_reload 106
	weapon_weaponidle 107
	weapon_retireweapon 108
	weapon_shouldweaponidle 109
	weapon_usedecrement 110
	
	dod_roundrespawn 2
	dod_roundrespawnent 3
	dod_roundstore 4
	dod_areasetindex 12
	dod_areasendstatus 13
	dod_getstate 17
	dod_getstateent 18
	dod_item_candrop 72

@end
@section dod windows
	pev 4
	base 0x0
	
	spawn 3
	precache 4
	keyvalue 5
	objectcaps 8
	activate 9
	objectcollisionbox 12
	classify 13
	deathnotice 14
	traceattack 17
	takedamage 18
	takehealth 19
	killed 20
	bloodcolor 21
	tracebleed 22
	mymonsterpointer 23
	mysquadmonsterpointer 24
	gettogglestate 25
	addpoints 26
	addpointstoteam 27
	addplayeritem 28
	removeplayeritem 29
	giveammo 30
	getdelay 31
	ismoving 32
	overridereset 33
	damagedecal 34
	settogglestate 35
	startsneaking 36
	stopsneaking 37
	oncontrols 48
	issneaking 39
	isalive 40
	isbspmodel 41
	reflectgauss 42
	hastarget 43
	isinworld 44
	isplayer 45
	isnetclient 46
	teamid 47
	getnexttarget 48
	think 49
	touch 50
	use 51
	blocked 52
	respawn 53
	updateowner 54
	fbecomeprone 55
	center 56
	eyeposition 57
	earposition 58
	bodytarget 59
	illumination 60
	fvisible 61
	fvecvisible 62
	
	player_jump 134
	player_duck 135
	player_prethink 132
	player_postthink 133
	player_getgunposition 126
	player_shouldfadeondeath 66
	player_impulsecommands 137
	player_updateclientdata 136
	
	item_addtoplayer 64
	item_addduplicate 65
	item_getiteminfo 66
	item_candeploy 67
	item_deploy 68
	item_canholster 73
	item_holster 74
	item_updateiteminfo 75
	item_preframe 76
	item_postframe 77
	item_drop 78
	item_kill 79
	item_attachtoplayer 80
	item_primaryammoindex 81
	item_secondaryammoindex 82
	item_updateclientdata 83
	item_getweaponptr 84
	item_itemslot 85
	
	weapon_extractammo 86
	weapon_extractclipammo 87
	weapon_addweapon 88
	weapon_playemptysound 89
	weapon_resetemptysound 90
	weapon_sendweaponanim 91
	weapon_isusable 92
	weapon_primaryattack 102
	weapon_secondaryattack 103
	weapon_reload 104
	weapon_weaponidle 105
	weapon_retireweapon 106
	weapon_shouldweaponidle 107
	weapon_usedecrement 108
	
	dod_roundrespawn 0
	dod_roundrespawnent 1
	dod_roundstore 2
	dod_areasetindex 10
	dod_areasendstatus 11
	dod_getstate 15
	dod_getstateent 16
	dod_item_candrop 70
@end

; TFC Does not have the following "standard" entries in its vtable:
; addpoints, addpointstoteam
@section tfc linux
	pev 0
	base 0x470
	
	spawn 3
	precache 4
	keyvalue 5
	objectcaps 8
	activate 9
	setobjectcollisionbox 10
	classify 11
	deathnotice 12
	traceattack 13
	takedamage 14
	takehealth 15
	killed 16
	bloodcolor 17
	tracebleed 18
	istriggered 19
	mymonsterpointer 20
	mysquadmonsterpointer 21
	gettogglestate 22
	addplayeritem 23
	removeplayeritem 24
	giveammo 25
	getdelay 26
	ismoving 27
	overridereset 28
	damagedecal 29
	settogglestate 30
	startsneaking 31
	stopsneaking 32
	oncontrols 33
	issneaking 34
	isalive 35
	isbspmodel 36
	reflectgauss 37
	hastarget 38
	isinworld 39
	isplayer 40
	isnetclient 41
	getnexttarget 43
	think 44
	touch 45
	use 46
	blocked 47
	respawn 48
	updateowner 49
	fbecomeprone 50
	center 51
	eyeposition 52
	earposition 53
	bodytarget 54
	illumination 55
	fvisible 56
	fvecvisible 57
	
	player_jump 135
	player_duck 136
	player_prethink 137
	player_postthink 138
	player_shouldfadeondeath 69
	player_impulsecommands 139
	
	item_addtoplayer 67
	item_addduplicate 68
	item_getiteminfo 70
	item_candeploy 71
	item_deploy 72
	item_canholster 73
	item_holster 74
	item_updateiteminfo 75
	item_preframe 76
	item_postframe 77
	item_drop 78
	item_kill 79
	item_attachtoplayer 80
	item_primaryammoindex 81
	item_secondaryammoindex 82
	item_updateclientdata 83
	item_getweaponptr 84
	item_itemslot 69
	
	weapon_extractammo 85
	weapon_extractclipammo 86
	weapon_addweapon 87
	weapon_playemptysound 88
	weapon_resetemptysound 89
	weapon_sendweaponanim 90
	weapon_isusable 91
	weapon_primaryattack 92
	weapon_secondaryattack 93
	weapon_reload 94
	weapon_weaponidle 95
	weapon_retireweapon 96
	weapon_shouldweaponidle 97

	tfc_engineeruse 58
	tfc_finished 59
	tfc_empexplode 60
	tfc_calcempdmgrad 61
	tfc_takeempblast 62
	tfc_empremove 63
	tfc_takeconcussionblast 64
	tfc_concuss 65
@end
@section tfc windows
	pev 4
	base 0x0
	
	spawn 1
	precache 2
	keyvalue 3
	objectcaps 6
	activate 7
	setobjectcollisionbox 8
	classify 9
	deathnotice 10
	traceattack 11
	takedamage 12
	takehealth 13
	killed 14
	bloodcolor 15
	tracebleed 16
	istriggered 17
	mymonsterpointer 18
	mysquadmonsterpointer 19
	gettogglestate 20
	addplayeritem 21
	removeplayeritem 22
	giveammo 23
	getdelay 24
	ismoving 25
	overridereset 26
	damagedecal 27
	settogglestate 28
	startsneaking 29
	stopsneaking 30
	oncontrols 31
	issneaking 32
	isalive 33
	isbspmodel 34
	reflectgauss 35
	hastarget 36
	isinworld 37
	isplayer 38
	isnetclient 39
	getnexttarget 41
	think 42
	touch 43
	use 44
	blocked 45
	respawn 46
	updateowner 47
	fbecomeprone 48
	center 49
	eyeposition 50
	earposition 51
	bodytarget 52
	illumination 53
	fvisible 54
	fvecvisible 55
	
	
	player_jump 133
	player_duck 134
	player_prethink 135
	player_postthink 136
	player_shouldfadeondeath 67
	player_impulsecommands 137
	
	item_addtoplayer 65
	item_addduplicate 66
	item_getiteminfo 68
	item_candeploy 69
	item_deploy 70
	item_canholster 71
	item_holster 72
	item_updateiteminfo 73
	item_preframe 74
	item_postframe 75
	item_drop 76
	item_kill 77
	item_attachtoplayer 78
	item_primaryammoindex 79
	item_secondaryammoindex 80
	item_updateclientdata 81
	item_getweaponptr 82
	item_itemslot 67
	
	weapon_extractammo 83
	weapon_extractclipammo 84
	weapon_addweapon 85
	weapon_playemptysound 86
	weapon_resetemptysound 87
	weapon_sendweaponanim 88
	weapon_isusable 89
	weapon_primaryattack 90
	weapon_secondaryattack 91
	weapon_reload 92
	weapon_weaponidle 93
	weapon_retireweapon 94
	weapon_shouldweaponidle 95

	tfc_engineeruse 56
	tfc_finished 57
	tfc_empexplode 58
	tfc_calcempdmgrad 59
	tfc_takeempblast 60
	tfc_empremove 61
	tfc_takeconcussionblast 62
	tfc_concuss 63
@end
; ns's linux binary is compiled with gcc 3.3, so the "base" is 0, and pev is 4
@section ns linux
	pev 4
	base 0x0
	
	spawn 0
	precache 1
	keyvalue 2
	objectcaps 5
	activate 6
	setobjectcollisionbox 7
	classify 8
	deathnotice 9
	traceattack 10
	takedamage 11
	takehealth 12
	killed 14
	bloodcolor 16
	tracebleed 17
	istriggered 18
	mymonsterpointer 19
	mysquadmonsterpointer 20
	gettogglestate 21
	addpoints 22
	addpointstoteam 23
	addplayeritem 24
	removeplayeritem 25
	giveammo 26
	getdelay 27
	ismoving 28
	overridereset 29
	damagedecal 30
	settogglestate 31
	startsneaking 32
	stopsneaking 33
	oncontrols 34
	issneaking 35
	isalive 36
	isbspmodel 37
	reflectgauss 38
	hastarget 39
	isinworld 40
	isplayer 41
	isnetclient 42
	teamid 43
	getnexttarget 46
	think 47
	touch 48
	use 49
	blocked 50
	respawn 52
	updateowner 53
	fbecomeprone 54
	center 55
	eyeposition 56
	earposition 57
	bodytarget 58
	illumination 59
	fvisible 60
	fvecvisible 61
	
	player_jump 83
	player_duck 84
	player_prethink 85
	player_postthink 86
	player_getgunposition 87
	player_shouldfadeondeath 72
	player_impulsecommands 101
	player_updateclientdata 99
	
	item_addtoplayer 64
	item_addduplicate 65
	item_getiteminfo 68
	item_candeploy 69
	item_deploy 70
	item_canholster 71
	item_holster 72
	item_updateiteminfo 74
	item_preframe 75
	item_postframe 76
	item_drop 77
	item_kill 78
	item_attachtoplayer 79
	item_primaryammoindex 80
	item_secondaryammoindex 81
	item_updateclientdata 82
	item_getweaponptr 83
	item_itemslot 84
	
	weapon_extractammo 85
	weapon_extractclipammo 86
	weapon_addweapon 87
	weapon_playemptysound 88
	weapon_resetemptysound 89
	weapon_sendweaponanim 94
	weapon_isusable 73
	weapon_primaryattack 98
	weapon_secondaryattack 99
	weapon_reload 100
	weapon_weaponidle 101
	weapon_retireweapon 102
	weapon_shouldweaponidle 103
	weapon_usedecrement 104
	
	ns_getpointvalue 13
	ns_awardkill 15
	ns_resetentity 45
	ns_updateonremove 51
@end
@section ns windows
	pev 4
	base 0x0
	
	spawn 0
	precache 1
	keyvalue 2
	objectcaps 5
	activate 6
	setobjectcollisionbox 7
	classify 8
	deathnotice 9
	traceattack 10
	takedamage 11
	takehealth 12
	killed 14
	bloodcolor 16
	tracebleed 17
	istriggered 18
	mymonsterpointer 19
	mysquadmonsterpointer 20
	gettogglestate 21
	addpoints 22
	addpointstoteam 23
	addplayeritem 24
	removeplayeritem 25
	giveammo 26
	getdelay 27
	ismoving 28
	overridereset 29
	damagedecal 30
	settogglestate 31
	startsneaking 32
	stopsneaking 33
	oncontrols 34
	issneaking 35
	isalive 36
	isbspmodel 37
	reflectgauss 38
	hastarget 39
	isinworld 40
	isplayer 41
	isnetclient 42
	teamid 43
	getnexttarget 46
	think 47
	touch 48
	use 49
	blocked 50
	respawn 52
	updateowner 53
	fbecomeprone 54
	center 55
	eyeposition 56
	earposition 57
	bodytarget 58
	illumination 59
	fvisible 60
	fvecvisible 61
	
	player_jump 83
	player_duck 84
	player_prethink 85
	player_postthink 86
	player_getgunposition 87
	player_shouldfadeondeath 72
	player_impulsecommands 101
	player_updateclientdata 99
	
	item_addtoplayer 64
	item_addduplicate 65
	item_getiteminfo 68
	item_candeploy 69
	item_deploy 70
	item_canholster 71
	item_holster 72
	item_updateiteminfo 74
	item_preframe 75
	item_postframe 76
	item_drop 77
	item_kill 78
	item_attachtoplayer 79
	item_primaryammoindex 80
	item_secondaryammoindex 81
	item_updateclientdata 82
	item_getweaponptr 83
	item_itemslot 84
	
	weapon_extractammo 85
	weapon_extractclipammo 86
	weapon_addweapon 87
	weapon_playemptysound 88
	weapon_resetemptysound 89
	weapon_sendweaponanim 94
	weapon_isusable 73
	weapon_primaryattack 98
	weapon_secondaryattack 99
	weapon_reload 100
	weapon_weaponidle 101
	weapon_retireweapon 102
	weapon_shouldweaponidle 103
	weapon_usedecrement 104
	
	ns_getpointvalue 13
	ns_awardkill 15
	ns_resetentity 45
	ns_updateonremove 51
@end

@section ts linux
	pev 0
	base 0x60
	
	spawn 9
	precache 10
	keyvalue 11
	objectcaps 14
	activate 15
	setobjectcollisionbox 18
	classify 19
	deathnotice 20
	traceattack 21
	takedamage 22
	takehealth 23
	killed 24
	bloodcolor 25
	tracebleed 26
	istriggered 27
	mymonsterpointer 28
	mysquadmonsterpointer 29
	gettogglestate 30
	addpoints 31
	addpointstoteam 32
	addplayeritem 33
	removeplayeritem 34
	giveammo 35
	getdelay 36
	ismoving 37
	overridereset 38
	damagedecal 39
	settogglestate 40
	startsneaking 41
	stopsneaking 42
	oncontrols 43
	issneaking 44
	isalive 45
	isbspmodel 46
	reflectgauss 47
	hastarget 48
	isinworld 49
	isplayer 50
	isnetclient 51
	teamid 52
	getnexttarget 53
	think 54
	touch 55
	use 56
	blocked 57
	respawn 59
	updateowner 60
	fbecomeprone 61
	center 62
	eyeposition 63
	earposition 64
	bodytarget 65
	illumination 66
	fvisible 67
	fvecvisible 68

	player_jump 86
	player_duck 87
	player_prethink 88
	player_postthink 89
	player_getgunposition 90
	player_shouldfadeondeath 77
	player_impulsecommands 92
	player_updateclientdata 91
	
	item_addtoplayer 70
	item_addduplicate 71
	item_candeploy 73
	item_deploy 74
	item_canholster 75
	item_holster 76
	item_updateiteminfo 77
	item_preframe 78
	item_postframe 79
	item_drop 80
	item_kill 81
	item_attachtoplayer 82
	item_primaryammoindex 83
	item_secondaryammoindex 84
	item_updateclientdata 85
	item_getweaponptr 86
	item_itemslot 87
	
	weapon_extractammo 88
	weapon_extractclipammo 89
	weapon_addweapon 90
	weapon_playemptysound 91
	weapon_resetemptysound 92
	weapon_sendweaponanim 93
	weapon_isusable 94
	weapon_primaryattack 95
	weapon_secondaryattack 96
	weapon_reload 98
	weapon_weaponidle 99
	weapon_retireweapon 100
	weapon_shouldweaponidle 101
	weapon_usedecrement 102
	
	ts_breakablerespawn 2
	ts_canusedthroughwalls 3
	ts_giveslowmul 4
	ts_goslow 5
	ts_inslow 6
	ts_isobjective 7
	ts_enableobjective 8
	ts_onfreeentprivatedata 12
	ts_shouldcollide 13
	
	ts_weapon_alternateattack 97
@end
@section ts windows
	pev 4
	base 0x0
	
	spawn 7
	precache 8
	keyvalue 9
	objectcaps 12
	activate 13
	setobjectcollisionbox 16
	classify 17
	deathnotice 18
	traceattack 19
	takedamage 20
	takehealth 21
	killed 22
	bloodcolor 23
	tracebleed 24
	istriggered 25
	mymonsterpointer 26
	mysquadmonsterpointer 27
	gettogglestate 28
	addpoints 29
	addpointstoteam 30
	addplayeritem 31
	removeplayeritem 32
	giveammo 33
	getdelay 34
	ismoving 35
	overridereset 36
	damagedecal 37
	settogglestate 38
	startsneaking 39
	stopsneaking 40
	oncontrols 41
	issneaking 42
	isalive 43
	isbspmodel 44
	reflectgauss 45
	hastarget 46
	isinworld 47
	isplayer 48
	isnetclient 49
	teamid 50
	getnexttarget 51
	think 52
	touch 53
	use 54
	blocked 55
	respawn 57
	updateowner 58
	fbecomeprone 59
	center 60
	eyeposition 61
	earposition 62
	bodytarget 63
	illumination 64
	fvisible 65
	fvecvisible 66

	player_jump 84
	player_duck 85
	player_prethink 86
	player_postthink 87
	player_getgunposition 88
	player_shouldfadeondeath 75
	player_impulsecommands 90
	player_updateclientdata 89
	
	item_addtoplayer 68
	item_addduplicate 69
	item_candeploy 71
	item_deploy 72
	item_canholster 73
	item_holster 74
	item_updateiteminfo 75
	item_preframe 76
	item_postframe 77
	item_drop 78
	item_kill 79
	item_attachtoplayer 80
	item_primaryammoindex 81
	item_secondaryammoindex 82
	item_updateclientdata 83
	item_getweaponptr 84
	item_itemslot 85
	
	weapon_extractammo 86
	weapon_extractclipammo 87
	weapon_addweapon 88
	weapon_playemptysound 89
	weapon_resetemptysound 90
	weapon_sendweaponanim 91
	weapon_isusable 92
	weapon_primaryattack 93
	weapon_secondaryattack 94
	weapon_reload 96
	weapon_weaponidle 97
	weapon_retireweapon 98
	weapon_shouldweaponidle 99
	weapon_usedecrement 100
	
	ts_breakablerespawn 0
	ts_canusedthroughwalls 1
	ts_giveslowmul 2
	ts_goslow 3
	ts_inslow 4
	ts_isobjective 5
	ts_enableobjective 6
	ts_onfreeentprivatedata 10
	ts_shouldcollide 11
	
	ts_weapon_alternateattack 95
@end


@section esf windows
	pev 4
	base 0x0
	
	spawn 0
	precache 1
	keyvalue 2
	objectcaps 5
	activate 6
	setobjectcollisionbox 7
	classify 8
	deathnotice 9
	traceattack 10
	takedamage 11
	takehealth 12
	killed 13
	bloodcolor 14
	tracebleed 15
	istriggered 16
	mymonsterpointer 17
	mysquadmonsterpointer 18
	gettogglestate 19
	addpoints 20
	addpointstoteam 21
	addplayeritem 22
	removeplayeritem 23
	getdelay 24
	ismoving 25
	overridereset 26
	damagedecal 27
	settogglestate 28
	startsneaking 29
	stopsneaking 30
	oncontrols 31
	issneaking 32
	isalive 33
	isbspmodel 34
	reflectgauss 35
	hastarget 36
	isinworld 37
	isplayer 38
	isnetclient 39
	teamid 40
	getnexttarget 41
	think 42
	touch 43
	use 44
	blocked 45
	respawn 46
	updateowner 47
	fbecomeprone 48
	center 49
	eyeposition 50
	earposition 51
	bodytarget 52
	illumination 53
	fvisible 54
	fvecvisible 55
	
	player_jump 124
	player_prethink 125
	player_postthink 126
	player_getgunposition 118
	player_shouldfadeondeath 59
	player_impulsecommands 128
	player_updateclientdata 127
	
	item_addtoplayer 57
	item_addduplicate 58
	item_getiteminfo 59
	item_candeploy 60
	item_deploy 61
	item_canholster 62
	item_holster 63
	item_updateiteminfo 64
	item_preframe 65
	item_postframe 66
	item_drop 67
	item_kill 68
	item_attachtoplayer 69
	item_primaryammoindex 70
	item_secondaryammoindex 71
	item_updateclientdata 72
	item_getweaponptr 73
	item_itemslot 74
	
	weapon_playemptysound 75
	weapon_resetemptysound 76
	weapon_sendweaponanim 77
	weapon_primaryattack 78
	weapon_secondaryattack 79
	weapon_weaponidle 80
	weapon_retireweapon 81
	weapon_shouldweaponidle 82
	weapon_usedecrement 83
@end
@section esf linux
	pev 0
	base 0x60
	
	spawn 2
	precache 3
	keyvalue 4
	objectcaps 7
	activate 8
	setobjectcollisionbox 9
	classify 10
	deathnotice 11
	traceattack 12
	takedamage 13
	takehealth 14
	killed 15
	bloodcolor 16
	tracebleed 17
	istriggered 18
	mymonsterpointer 19
	mysquadmonsterpointer 20
	gettogglestate 21
	addpoints 22
	addpointstoteam 23
	addplayeritem 24
	removeplayeritem 25
	getdelay 26
	ismoving 27
	overridereset 28
	damagedecal 29
	settogglestate 30
	startsneaking 31
	stopsneaking 32
	oncontrols 33
	issneaking 34
	isalive 35
	isbspmodel 36
	reflectgauss 37
	hastarget 38
	isinworld 39
	isplayer 40
	isnetclient 41
	teamid 42
	getnexttarget 43
	think 44
	touch 45
	use 46
	blocked 47
	respawn 48
	updateowner 49
	fbecomeprone 50
	center 51
	eyeposition 52
	earposition 53
	bodytarget 54
	illumination 55
	fvisible 56
	fvecvisible 57
	
	player_jump 126
	player_prethink 127
	player_postthink 128
	player_getgunposition 120
	player_shouldfadeondeath 61
	player_impulsecommands 130
	player_updateclientdata 129
	
	item_addtoplayer 59
	item_addduplicate 60
	item_getiteminfo 61
	item_candeploy 62
	item_deploy 63
	item_canholster 64
	item_holster 65
	item_updateiteminfo 66
	item_preframe 67
	item_postframe 68
	item_drop 69
	item_kill 70
	item_attachtoplayer 71
	item_primaryammoindex 72
	item_secondaryammoindex 73
	item_updateclientdata 74
	item_getweaponptr 75
	item_itemslot 76
	
	weapon_playemptysound 77
	weapon_resetemptysound 78
	weapon_sendweaponanim 79
	weapon_primaryattack 80
	weapon_secondaryattack 81
	weapon_weaponidle 82
	weapon_retireweapon 83
	weapon_shouldweaponidle 84
	weapon_usedecrement 85
@end

; ESF Open Beta is built with GCC 3.x, and the VTable was slightly changed
@section esf_openbeta linux
	pev 4
	base 0x0
	
	spawn 0
	precache 1
	keyvalue 2
	objectcaps 5
	activate 6
	setobjectcollisionbox 7
	classify 8
	deathnotice 9
	traceattack 10
	takedamage 11
	takehealth 13
	killed 14
	bloodcolor 15
	tracebleed 16
	istriggered 17
	mymonsterpointer 18
	mysquadmonsterpointer 19
	gettogglestate 20
	addpoints 21
	addpointstoteam 22
	addplayeritem 23
	removeplayeritem 24
	getdelay 25
	ismoving 26
	overridereset 27
	damagedecal 28
	settogglestate 29
	startsneaking 30
	stopsneaking 31
	oncontrols 32
	issneaking 33
	isalive 34
	isbspmodel 35
	reflectgauss 36
	hastarget 37
	isinworld 38
	isplayer 39
	isnetclient 41
	teamid 42
	getnexttarget 43
	think 44
	touch 45
	use 46
	blocked 47
	respawn 48
	updateowner 49
	fbecomeprone 50
	center 51
	eyeposition 52
	earposition 53
	bodytarget 54
	illumination 55
	fvisible 56
	fvecvisible 57
	
	player_jump 131
	player_prethink 132 
	player_postthink 133
	player_getgunposition 120
	player_shouldfadeondeath 61
	player_impulsecommands 135
	player_updateclientdata 134
	
	item_addtoplayer 59
	item_addduplicate 60
	item_getiteminfo 61
	item_candeploy 62
	item_deploy 63
	item_canholster 64
	item_holster 65
	item_updateiteminfo 66
	item_preframe 67
	item_postframe 68
	item_drop 69 
	item_kill 70
	item_attachtoplayer 71
	item_primaryammoindex 72
	item_secondaryammoindex 73
	item_updateclientdata 74
	item_getweaponptr 75
	item_itemslot 76
	
	weapon_playemptysound 77
	weapon_resetemptysound 78
	weapon_sendweaponanim 79
	weapon_primaryattack 80
	weapon_secondaryattack 81
	weapon_weaponidle 82
	weapon_retireweapon 83
	weapon_shouldweaponidle 84
	weapon_usedecrement 85
	
	esf_isenvmodel 40
	esf_takedamage2 12
	
@end
@section esf_openbeta windows
	pev 4
	base 0x0
	
	spawn 0
	precache 1
	keyvalue 2
	objectcaps 5
	activate 6
	setobjectcollisionbox 7
	classify 8
	deathnotice 9
	traceattack 10
	takedamage 11
	takehealth 13
	killed 14
	bloodcolor 15
	tracebleed 16
	istriggered 17
	mymonsterpointer 18
	mysquadmonsterpointer 19
	gettogglestate 20
	addpoints 21
	addpointstoteam 22
	addplayeritem 23
	removeplayeritem 24
	getdelay 25
	ismoving 26
	overridereset 27
	damagedecal 28
	settogglestate 29
	startsneaking 30
	stopsneaking 31
	oncontrols 32
	issneaking 33
	isalive 34
	isbspmodel 35
	reflectgauss 36
	hastarget 37
	isinworld 38
	isplayer 39
	isnetclient 41
	teamid 42
	getnexttarget 43
	think 44
	touch 45
	use 46
	blocked 47
	respawn 48
	updateowner 49
	fbecomeprone 50
	center 51
	eyeposition 52
	earposition 53
	bodytarget 54
	illumination 55
	fvisible 56
	fvecvisible 57
	
	player_jump 131
	player_prethink 132 
	player_postthink 133
	player_getgunposition 120
	player_shouldfadeondeath 61
	player_impulsecommands 135
	player_updateclientdata 134
	
	item_addtoplayer 59
	item_addduplicate 60
	item_getiteminfo 61
	item_candeploy 62
	item_deploy 63
	item_canholster 64
	item_holster 65
	item_updateiteminfo 66
	item_preframe 67
	item_postframe 68
	item_drop 69 
	item_kill 70
	item_attachtoplayer 71
	item_primaryammoindex 72
	item_secondaryammoindex 73
	item_updateclientdata 74
	item_getweaponptr 75
	item_itemslot 76
	
	weapon_playemptysound 77
	weapon_resetemptysound 78
	weapon_sendweaponanim 79
	weapon_primaryattack 80
	weapon_secondaryattack 81
	weapon_weaponidle 82
	weapon_retireweapon 83
	weapon_shouldweaponidle 84
	weapon_usedecrement 85
	
	esf_isenvmodel 40
	esf_takedamage2 12
	
@end
@section valve linux
	pev 0
	base 0x60
	
	spawn 2
	precache 3
	keyvalue 4
	objectcaps 7
	activate 8
	setobjectcollisionbox 9
	classify 10
	deathnotice 11
	traceattack 12
	takedamage 13
	takehealth 14
	killed 15
	bloodcolor 16
	tracebleed 17
	istriggered 18
	mymonsterpointer 19
	mysquadmonsterpointer 20
	gettogglestate 21
	addpoints 22
	addpointstoteam 23
	addplayeritem 24
	removeplayeritem 25
	giveammo 26
	getdelay 27
	ismoving 28
	overridereset 29
	damagedecal 30
	settogglestate 31
	startsneaking 32
	stopsneaking 33
	oncontrols 34
	issneaking 35
	isalive 36
	isbspmodel 37
	reflectgauss 38
	hastarget 39
	isinworld 40
	isplayer 41
	isnetclient 42
	teamid 43
	getnexttarget 44
	think 45
	touch 46
	use 47
	blocked 48
	respawn 49
	updateowner 50
	fbecomeprone 51
	center 52
	eyeposition 53
	earposition 54
	bodytarget 55
	illumination 56
	fvisible 57
	fvecvisible 58
	
	player_jump 127
	player_duck 128
	player_prethink 129
	player_postthink 130
	player_getgunposition 121
	player_shouldfadeondeath 62
	player_impulsecommands 132
	player_updateclientdata  131
	
	item_addtoplayer 60
	item_addduplicate 61
	item_getiteminfo 62
	item_candeploy 63
	item_deploy 64
	item_canholster 65
	item_holster 66
	item_updateiteminfo 67
	item_preframe 68
	item_postframe 69
	item_drop 70
	item_kill 71
	item_attachtoplayer 72
	item_primaryammoindex 73
	item_secondaryammoindex 74
	item_updateclientdata 75
	item_getweaponptr 76
	item_itemslot 77
	
	weapon_extractammo 78
	weapon_extractclipammo 79
	weapon_addweapon 80
	weapon_playemptysound 81
	weapon_resetemptysound 82
	weapon_sendweaponanim 83
	weapon_isusable 84
	weapon_primaryattack 85
	weapon_secondaryattack 86
	weapon_reload 87
	weapon_weaponidle 88
	weapon_retireweapon 89
	weapon_shouldweaponidle 90
	weapon_usedecrement 91
@end
@section valve windows
	pev 4
	base 0x0
	
	spawn 0
	precache 1
	keyvalue 2
	objectcaps 5
	activate 6
	setobjectcollisionbox 7
	classify 8
	deathnotice 9
	traceattack 10
	takedamage 11
	takehealth 12
	killed 13
	bloodcolor 14
	tracebleed 15
	istriggered 16
	mymonsterpointer 17
	mysquadmonsterpointer 18
	gettogglestate 19
	addpoints 20
	addpointstoteam 21
	addplayeritem 22
	removeplayeritem 23
	giveammo 24
	getdelay 25
	ismoving 26
	overridereset 27
	damagedecal 28
	settogglestate 29
	startsneaking 30
	stopsneaking 31
	oncontrols 32
	issneaking 33
	isalive 34
	isbspmodel 35
	reflectgauss 36
	hastarget 37
	isinworld 38
	isplayer 39
	isnetclient 40
	teamid 41
	getnexttarget 42
	think 43
	touch 44
	use 45
	blocked 46
	respawn 47
	updateowner 48
	fbecomeprone 49
	center 50
	eyeposition 51
	earposition 52
	bodytarget 53
	illumination 54
	fvisible 55
	fvecvisible 56
	
	player_jump 125
	player_duck 126
	player_prethink 127
	player_postthink 128
	player_getgunposition 119
	player_shouldfadeondeath 60
	player_impulsecommands 130
	player_updateclientdata  129
	
	item_addtoplayer 58
	item_addduplicate 59
	item_getiteminfo 60
	item_candeploy 61
	item_deploy 62
	item_canholster 63
	item_holster 64
	item_updateiteminfo 65
	item_preframe 66
	item_postframe 67
	item_drop 68
	item_kill 69
	item_attachtoplayer 70
	item_primaryammoindex 71
	item_secondaryammoindex 72
	item_updateclientdata 73
	item_getweaponptr 74
	item_itemslot 75
	
	weapon_extractammo 76
	weapon_extractclipammo 77
	weapon_addweapon 78
	weapon_playemptysound 79
	weapon_resetemptysound 80
	weapon_sendweaponanim 81
	weapon_isusable 82
	weapon_primaryattack 83
	weapon_secondaryattack 84
	weapon_reload 85
	weapon_weaponidle 86
	weapon_retireweapon 87
	weapon_shouldweaponidle 88
	weapon_usedecrement 89
	
@end
; Sven-Coop has no linux binaries.  This makes disassembly much harder.
; These offsets were contributed by ts2do
@section SvenCoop windows
	pev 4
	base 0x0
	
	spawn 0
	precache 1
	keyvalue 2
	objectcaps 5
	takedamage 11
	addpoints 20
	addpointstoteam 21
	addplayeritem 22
	removeplayeritem 23
	giveammo 24
	oncontrols 32
	isalive 34
	isbspmodel 35
	reflectgauss 36
	hastarget 37
	isinworld 38
	isplayer 39
	isnetclient 40
	teamid 42
	getnexttarget 43
	think 44
	touch 45
	use 46
	blocked 47
	respawn 48
	center 51
	eyeposition 52
	earposition 53
	bodytarget 54
	illumination 55
	fvisible 56

@end
