/**
 * Do not edit this file.  Any changes will be overwritten by the gamedata
 * updater or by upgrading your AMX Mod X install.
 *
 * To override data in this file, create a subdirectory named "custom" and
 * place your own gamedata file(s) inside of it.  Such files will be parsed
 * after AMXX's own.
 *
 * For more information, see http://wiki.alliedmods.net/Gamedata_Updating_(AMX_Mod_X)
 */

"Games"
{
	"#default"
	{
		"Classes"
		{
			"CCSBot"
			{
				"Offsets"
				{
					"m_name"  // char[64]
					{
						"type"      "string"
						"size"      "64"

						"windows"   "2544"
						"linux"     "2564"
					}

					"m_combatRange"  // float
					{
						"type"      "float"

						"windows"   "2608"
						"linux"     "2628"
					}

					"m_isRogue"  // bool
					{
						"type"      "boolean"

						"windows"   "2612"
						"linux"     "2632"
					}

					"m_rogueTimer"  // class CountdownTimer
					{
						"type"      "class"

						"windows"   "2616"
						"linux"     "2636"
					}

					"m_morale"  // enum MoraleType
					{
						"type"      "integer"

						"windows"   "2624"
						"linux"     "2644"
					}

					"m_diedLastRound"  // bool
					{
						"type"      "boolean"

						"windows"   "2628"
						"linux"     "2648"
					}

					"m_safeTime"  // float
					{
						"type"      "float"

						"windows"   "2632"
						"linux"     "2652"
					}

					"m_wasSafe"  // bool
					{
						"type"      "boolean"

						"windows"   "2636"
						"linux"     "2656"
					}

					"m_blindMoveDir"  // enum NavRelativeDirType
					{
						"type"      "integer"

						"windows"   "2640"
						"linux"     "2660"
					}

					"m_blindFire"  // bool
					{
						"type"      "boolean"

						"windows"   "2644"
						"linux"     "2664"
					}

					"m_surpriseDelay"  // float
					{
						"type"      "float"

						"windows"   "2648"
						"linux"     "2668"
					}

					"m_surpriseTimestamp"  // float
					{
						"type"      "float"

						"windows"   "2652"
						"linux"     "2672"
					}

					"m_isFollowing"  // bool
					{
						"type"      "boolean"

						"windows"   "2656"
						"linux"     "2676"
					}

					"m_leader"  // EHANDLE
					{
						"type"      "ehandle"

						"windows"   "2660"
						"linux"     "2680"
					}

					"m_followTimestamp"  // float
					{
						"type"      "float"

						"windows"   "2668"
						"linux"     "2688"
					}

					"m_allowAutoFollowTime"  // float
					{
						"type"      "float"

						"windows"   "2672"
						"linux"     "2692"
					}

					"m_hurryTimer"  // class CountdownTimer
					{
						"type"      "class"

						"windows"   "2676"
						"linux"     "2696"
					}

					"m_idleState"  // class IdleState
					{
						"type"      "class"

						"windows"   "2684"
						"linux"     "2704"
					}

					"m_huntState"  // class HuntState
					{
						"type"      "class"

						"windows"   "2688"
						"linux"     "2708"
					}

					"m_attackState"  // class AttackState
					{
						"type"      "class"

						"windows"   "2696"
						"linux"     "2716"
					}

					"m_investigateNoiseState"  // class InvestigateNoiseState
					{
						"type"      "class"

						"windows"   "2756"
						"linux"     "2776"
					}

					"m_buyState"  // class BuyState
					{
						"type"      "class"

						"windows"   "2772"
						"linux"     "2792"
					}

					"m_moveToState"  // class MoveToState
					{
						"type"      "class"

						"windows"   "2800"
						"linux"     "2820"
					}

					"m_fetchBombState"  // class FetchBombState
					{
						"type"      "class"

						"windows"   "2824"
						"linux"     "2844"
					}

					"m_plantBombState"  // class PlantBombState
					{
						"type"      "class"

						"windows"   "2828"
						"linux"     "2848"
					}

					"m_defuseBombState"  // class DefuseBombState
					{
						"type"      "class"

						"windows"   "2832"
						"linux"     "2852"
					}

					"m_hideState"  // class HideState
					{
						"type"      "class"

						"windows"   "2836"
						"linux"     "2856"
					}

					"m_escapeFromBombState"  // class EscapeFromBombState
					{
						"type"      "class"

						"windows"   "2900"
						"linux"     "2920"
					}

					"m_followState"  // class FollowState
					{
						"type"      "class"

						"windows"   "2904"
						"linux"     "2924"
					}

					"m_useEntityState"  // class UseEntityState
					{
						"type"      "class"

						"windows"   "2980"
						"linux"     "3000"
					}

					"m_state"  // class BotState*
					{
						"type"      "pointer"

						"windows"   "2992"
						"linux"     "3012"
					}

					"m_stateTimestamp"  // float
					{
						"type"      "float"

						"windows"   "2996"
						"linux"     "3016"
					}

					"m_isAttacking"  // bool
					{
						"type"      "boolean"

						"windows"   "3000"
						"linux"     "3020"
					}

					"m_task"  // enum TaskType
					{
						"type"      "integer"

						"windows"   "3004"
						"linux"     "3024"
					}

					"m_taskEntity"  // EHANDLE
					{
						"type"      "ehandle"

						"windows"   "3008"
						"linux"     "3028"
					}

					"m_goalPosition"  // Vector
					{
						"type"      "vector"

						"windows"   "3016"
						"linux"     "3036"
					}

					"m_goalEntity"  // EHANDLE
					{
						"type"      "ehandle"

						"windows"   "3028"
						"linux"     "3048"
					}

					"m_currentArea"  // class CNavArea*
					{
						"type"      "pointer"

						"windows"   "3036"
						"linux"     "3056"
					}

					"m_lastKnownArea"  // class CNavArea*
					{
						"type"      "pointer"

						"windows"   "3040"
						"linux"     "3060"
					}

					"m_avoid"  // EHANDLE
					{
						"type"      "ehandle"

						"windows"   "3044"
						"linux"     "3064"
					}

					"m_avoidTimestamp"  // float
					{
						"type"      "float"

						"windows"   "3052"
						"linux"     "3072"
					}

					"m_isJumpCrouching"  // bool
					{
						"type"      "boolean"

						"windows"   "3056"
						"linux"     "3076"
					}

					"m_isJumpCrouched"  // bool
					{
						"type"      "boolean"

						"windows"   "3057"
						"linux"     "3077"
					}

					"m_jumpCrouchTimestamp"  // float
					{
						"type"      "float"

						"windows"   "3060"
						"linux"     "3080"
					}

					"m_path"  // struct ConnectInfo[256]
					{
						"type"      "structure"
						"size"      "256"

						"windows"   "3064"
						"linux"     "3084"
					}

					"m_pathLength"  // int
					{
						"type"      "integer"

						"windows"   "9208"
						"linux"     "9228"
					}

					"m_pathIndex"  // int
					{
						"type"      "integer"

						"windows"   "9212"
						"linux"     "9232"
					}

					"m_areaEnteredTimestamp"  // float
					{
						"type"      "float"

						"windows"   "9216"
						"linux"     "9236"
					}

					"m_repathTimer"  // class CountdownTimer
					{
						"type"      "class"

						"windows"   "9220"
						"linux"     "9240"
					}

					"m_avoidFriendTimer"  // class CountdownTimer
					{
						"type"      "class"

						"windows"   "9228"
						"linux"     "9248"
					}

					"m_isFriendInTheWay"  // bool
					{
						"type"      "boolean"

						"windows"   "9236"
						"linux"     "9256"
					}

					"m_politeTimer"  // class CountdownTimer
					{
						"type"      "class"

						"windows"   "9240"
						"linux"     "9260"
					}

					"m_isWaitingBehindFriend"  // bool
					{
						"type"      "boolean"

						"windows"   "9248"
						"linux"     "9268"
					}

					"m_pathLadderState"  // enum LadderNavState
					{
						"type"      "integer"

						"windows"   "9252"
						"linux"     "9272"
					}

					"m_pathLadderFaceIn"  // bool
					{
						"type"      "boolean"

						"windows"   "9256"
						"linux"     "9276"
					}

					"m_pathLadder"  // const class CNavLadder*
					{
						"type"      "pointer"

						"windows"   "9260"
						"linux"     "9280"
					}

					"m_pathLadderDismountDir"  // enum NavRelativeDirType
					{
						"type"      "integer"

						"windows"   "9264"
						"linux"     "9284"
					}

					"m_pathLadderDismountTimestamp"  // float
					{
						"type"      "float"

						"windows"   "9268"
						"linux"     "9288"
					}

					"m_pathLadderEnd"  // float
					{
						"type"      "float"

						"windows"   "9272"
						"linux"     "9292"
					}

					"m_pathLadderTimestamp"  // float
					{
						"type"      "float"

						"windows"   "9276"
						"linux"     "9296"
					}

					"m_mustRunTimer"  // class CountdownTimer
					{
						"type"      "class"

						"windows"   "9280"
						"linux"     "9300"
					}

					"m_gameState"  // class CSGameState
					{
						"type"      "class"

						"windows"   "9288"
						"linux"     "9308"
					}

					"m_hostageEscortCount"  // byte
					{
						"type"      "character"
						"unsigned"  "1"

						"windows"   "9636"
						"linux"     "9656"
					}

					"m_hostageEscortCountTimestamp"  // float
					{
						"type"      "float"

						"windows"   "9640"
						"linux"     "9660"
					}

					"m_isWaitingForHostage"  // bool
					{
						"type"      "boolean"

						"windows"   "9644"
						"linux"     "9664"
					}

					"m_inhibitWaitingForHostageTimer"  // class CountdownTimer
					{
						"type"      "class"

						"windows"   "9648"
						"linux"     "9668"
					}

					"m_waitForHostageTimer"  // class CountdownTimer
					{
						"type"      "class"

						"windows"   "9656"
						"linux"     "9676"
					}

					"m_noisePosition"  // Vector
					{
						"type"      "vector"

						"windows"   "9664"
						"linux"     "9684"
					}

					"m_noiseTimestamp"  // float
					{
						"type"      "float"

						"windows"   "9676"
						"linux"     "9696"
					}

					"m_noiseArea"  // class CNavArea*
					{
						"type"      "pointer"

						"windows"   "9680"
						"linux"     "9700"
					}

					"m_noiseCheckTimestamp"  // float
					{
						"type"      "float"

						"windows"   "9684"
						"linux"     "9704"
					}

					"m_noisePriority"  // enum PriorityType
					{
						"type"      "integer"

						"windows"   "9688"
						"linux"     "9708"
					}

					"m_isNoiseTravelRangeChecked"  // bool
					{
						"type"      "boolean"

						"windows"   "9692"
						"linux"     "9712"
					}

					"m_lookAroundStateTimestamp"  // float
					{
						"type"      "float"

						"windows"   "9696"
						"linux"     "9716"
					}

					"m_lookAheadAngle"  // float
					{
						"type"      "float"

						"windows"   "9700"
						"linux"     "9720"
					}

					"m_forwardAngle"  // float
					{
						"type"      "float"

						"windows"   "9704"
						"linux"     "9724"
					}

					"m_inhibitLookAroundTimestamp"  // float
					{
						"type"      "float"

						"windows"   "9708"
						"linux"     "9728"
					}

					"m_lookAtSpotState"  // enum LookAtSpotState
					{
						"type"      "integer"

						"windows"   "9712"
						"linux"     "9732"
					}

					"m_lookAtSpot"  // Vector
					{
						"type"      "vector"

						"windows"   "9716"
						"linux"     "9736"
					}

					"m_lookAtSpotPriority"  // enum PriorityType
					{
						"type"      "integer"

						"windows"   "9728"
						"linux"     "9748"
					}

					"m_lookAtSpotDuration"  // float
					{
						"type"      "float"

						"windows"   "9732"
						"linux"     "9752"
					}

					"m_lookAtSpotTimestamp"  // float
					{
						"type"      "float"

						"windows"   "9736"
						"linux"     "9756"
					}

					"m_lookAtSpotAngleTolerance"  // float
					{
						"type"      "float"

						"windows"   "9740"
						"linux"     "9760"
					}

					"m_lookAtSpotClearIfClose"  // bool
					{
						"type"      "boolean"

						"windows"   "9744"
						"linux"     "9764"
					}

					"m_lookAtDesc"  // const char*
					{
						"type"      "stringptr"

						"windows"   "9748"
						"linux"     "9768"
					}

					"m_peripheralTimestamp"  // float
					{
						"type"      "float"

						"windows"   "9752"
						"linux"     "9772"
					}

					"m_approachPoint"  // Vector[16]
					{
						"type"      "vector"
						"size"      "16"

						"windows"   "9756"
						"linux"     "9776"
					}

					"m_approachPointCount"  // unsigned char
					{
						"type"      "character"
						"unsigned"  "1"

						"windows"   "9948"
						"linux"     "9968"
					}

					"m_approachPointViewPosition"  // Vector
					{
						"type"      "vector"

						"windows"   "9952"
						"linux"     "9972"
					}

					"m_isWaitingToTossGrenade"  // bool
					{
						"type"      "boolean"

						"windows"   "9964"
						"linux"     "9984"
					}

					"m_tossGrenadeTimer"  // class CountdownTimer
					{
						"type"      "class"

						"windows"   "9968"
						"linux"     "9988"
					}

					"m_spotEncounter"  // class SpotEncounter*
					{
						"type"      "pointer"

						"windows"   "9976"
						"linux"     "9996"
					}

					"m_spotCheckTimestamp"  // float
					{
						"type"      "float"

						"windows"   "9980"
						"linux"     "10000"
					}

					"m_checkedHidingSpot"  // struct HidingSpotCheckInfo[64]
					{
						"type"      "structure"
						"size"      "64"

						"windows"   "9984"
						"linux"     "10004"
					}

					"m_checkedHidingSpotCount"  // int
					{
						"type"      "integer"

						"windows"   "10496"
						"linux"     "10516"
					}

					"m_lookPitch"  // float
					{
						"type"      "float"

						"windows"   "10500"
						"linux"     "10520"
					}

					"m_lookPitchVel"  // float
					{
						"type"      "float"

						"windows"   "10504"
						"linux"     "10524"
					}

					"m_lookYaw"  // float
					{
						"type"      "float"

						"windows"   "10508"
						"linux"     "10528"
					}

					"m_lookYawVel"  // float
					{
						"type"      "float"

						"windows"   "10512"
						"linux"     "10532"
					}

					"m_eyePos"  // Vector
					{
						"type"      "vector"

						"windows"   "10516"
						"linux"     "10536"
					}

					"m_aimOffset"  // Vector
					{
						"type"      "vector"

						"windows"   "10528"
						"linux"     "10548"
					}

					"m_aimOffsetGoal"  // Vector
					{
						"type"      "vector"

						"windows"   "10540"
						"linux"     "10560"
					}

					"m_aimOffsetTimestamp"  // float
					{
						"type"      "float"

						"windows"   "10552"
						"linux"     "10572"
					}

					"m_aimSpreadTimestamp"  // float
					{
						"type"      "float"

						"windows"   "10556"
						"linux"     "10576"
					}

					"m_aimSpot"  // Vector
					{
						"type"      "vector"

						"windows"   "10560"
						"linux"     "10580"
					}

					"m_disposition"  // enum DispositionType
					{
						"type"      "integer"

						"windows"   "10572"
						"linux"     "10592"
					}

					"m_ignoreEnemiesTimer"  // class CountdownTimer
					{
						"type"      "class"

						"windows"   "10576"
						"linux"     "10596"
					}

					"m_enemy"  // EHANDLE
					{
						"type"      "ehandle"

						"windows"   "10584"
						"linux"     "10604"
					}

					"m_isEnemyVisible"  // bool
					{
						"type"      "boolean"

						"windows"   "10592"
						"linux"     "10612"
					}

					"m_visibleEnemyParts"  // unsigned char
					{
						"type"      "character"
						"unsigned"  "1"

						"windows"   "10593"
						"linux"     "10613"
					}

					"m_lastEnemyPosition"  // Vector
					{
						"type"      "vector"

						"windows"   "10596"
						"linux"     "10616"
					}

					"m_lastSawEnemyTimestamp"  // float
					{
						"type"      "float"

						"windows"   "10608"
						"linux"     "10628"
					}

					"m_firstSawEnemyTimestamp"  // float
					{
						"type"      "float"

						"windows"   "10612"
						"linux"     "10632"
					}

					"m_currentEnemyAcquireTimestamp"  // float
					{
						"type"      "float"

						"windows"   "10616"
						"linux"     "10636"
					}

					"m_enemyDeathTimestamp"  // float
					{
						"type"      "float"

						"windows"   "10620"
						"linux"     "10640"
					}

					"m_isLastEnemyDead"  // bool
					{
						"type"      "boolean"

						"windows"   "10624"
						"linux"     "10644"
					}

					"m_nearbyEnemyCount"  // int
					{
						"type"      "integer"

						"windows"   "10628"
						"linux"     "10648"
					}

					"m_enemyPlace"  // unsigned int
					{
						"type"      "integer"
						"unsigned"  "1"

						"windows"   "10632"
						"linux"     "10652"
					}

					"m_watchInfo"  // struct WatchInfo[32]
					{
						"type"      "structure"
						"size"      "32"

						"windows"   "10636"
						"linux"     "10656"
					}

					"m_bomber"  // EHANDLE
					{
						"type"      "ehandle"

						"windows"   "10892"
						"linux"     "10912"
					}

					"m_nearbyFriendCount"  // int
					{
						"type"      "integer"

						"windows"   "10900"
						"linux"     "10920"
					}

					"m_closestVisibleFriend"  // EHANDLE
					{
						"type"      "ehandle"

						"windows"   "10904"
						"linux"     "10924"
					}

					"m_closestVisibleHumanFriend"  // EHANDLE
					{
						"type"      "ehandle"

						"windows"   "10912"
						"linux"     "10932"
					}

					"m_attacker"  // CBasePlayer*
					{
						"type"      "classptr"

						"windows"   "10920"
						"linux"     "10940"
					}

					"m_attackedTimestamp"  // float
					{
						"type"      "float"

						"windows"   "10924"
						"linux"     "10944"
					}

					"m_lastVictimID"  // int
					{
						"type"      "integer"

						"windows"   "10928"
						"linux"     "10948"
					}

					"m_isAimingAtEnemy"  // bool
					{
						"type"      "boolean"

						"windows"   "10932"
						"linux"     "10952"
					}

					"m_isRapidFiring"  // bool
					{
						"type"      "boolean"

						"windows"   "10933"
						"linux"     "10953"
					}

					"m_equipTimer"  // class IntervalTimer
					{
						"type"      "class"

						"windows"   "10936"
						"linux"     "10956"
					}

					"m_fireWeaponTimestamp"  // float
					{
						"type"      "float"

						"windows"   "10940"
						"linux"     "10960"
						"mac"       "10960"
					}

					"m_enemyQueue"  // struct ReactionState[20]
					{
						"type"      "structure"
						"size"      "20"

						"windows"   "10944"
						"linux"     "10964"
					}

					"m_enemyQueueIndex"  // byte
					{
						"type"      "character"
						"unsigned"  "1"

						"windows"   "11184"
						"linux"     "11204"
					}

					"m_enemyQueueCount"  // byte
					{
						"type"      "character"
						"unsigned"  "1"

						"windows"   "11185"
						"linux"     "11205"
					}

					"m_enemyQueueAttendIndex"  // byte
					{
						"type"      "character"
						"unsigned"  "1"

						"windows"   "11186"
						"linux"     "11206"
					}

					"m_isStuck"  // bool
					{
						"type"      "boolean"

						"windows"   "11187"
						"linux"     "11207"
					}

					"m_stuckTimestamp"  // float
					{
						"type"      "float"

						"windows"   "11188"
						"linux"     "11208"
					}

					"m_stuckSpot"  // Vector
					{
						"type"      "vector"

						"windows"   "11192"
						"linux"     "11212"
					}

					"m_wiggleDirection"  // enum NavRelativeDirType
					{
						"type"      "integer"

						"windows"   "11204"
						"linux"     "11224"
					}

					"m_wiggleTimestamp"  // float
					{
						"type"      "float"

						"windows"   "11208"
						"linux"     "11228"
					}

					"m_stuckJumpTimestamp"  // float
					{
						"type"      "float"

						"windows"   "11212"
						"linux"     "11232"
					}

					"m_avgVel"  // float[5]
					{
						"type"      "float"
						"size"      "5"

						"windows"   "11216"
						"linux"     "11236"
					}

					"m_avgVelIndex"  // int
					{
						"type"      "integer"

						"windows"   "11236"
						"linux"     "11256"
					}

					"m_avgVelCount"  // int
					{
						"type"      "integer"

						"windows"   "11240"
						"linux"     "11260"
					}

					"m_lastOrigin"  // Vector
					{
						"type"      "vector"

						"windows"   "11244"
						"linux"     "11264"
					}

					"m_lastRadioCommand"  // enum GameEventType
					{
						"type"      "integer"

						"windows"   "11256"
						"linux"     "11276"
					}

					"m_lastRadioRecievedTimestamp"  // float
					{
						"type"      "float"

						"windows"   "11260"
						"linux"     "11280"
					}

					"m_lastRadioSentTimestamp"  // float
					{
						"type"      "float"

						"windows"   "11264"
						"linux"     "11284"
					}

					"m_radioSubject"  // EHANDLE
					{
						"type"      "ehandle"

						"windows"   "11268"
						"linux"     "11288"
					}

					"m_radioPosition"  // Vector
					{
						"type"      "vector"

						"windows"   "11276"
						"linux"     "11296"
					}

					"m_voiceFeedbackStartTimestamp"  // float
					{
						"type"      "float"

						"windows"   "11288"
						"linux"     "11308"
					}

					"m_voiceFeedbackEndTimestamp"  // float
					{
						"type"      "float"

						"windows"   "11292"
						"linux"     "11312"
					}

					"m_chatter"  // struct BotChatterInterface
					{
						"type"      "structure"

						"windows"   "11296"
						"linux"     "11316"
					}

					"m_navNodeList"  // const class CNavNode*
					{
						"type"      "pointer"

						"windows"   "11360"
						"linux"     "11380"
					}

					"m_currentNode"  // class CNavNode*
					{
						"type"      "pointer"

						"windows"   "11364"
						"linux"     "11384"
					}

					"m_generationDir"  // enum NavDirType
					{
						"type"      "integer"

						"windows"   "11368"
						"linux"     "11388"
					}

					"m_analyzeIter"  // iterator
					{
						"type"      "class"

						"windows"   "11372"
						"linux"     "11392"
					}

					"m_processMode"  // enum ProcessType
					{
						"type"      "integer"

						"windows"   "11376"
						"linux"     "11396"
					}

					"m_mumbleTimer"  // class CountdownTimer
					{
						"type"      "class"

						"windows"   "11380"
						"linux"     "11400"
					}

					"m_booTimer"  // class CountdownTimer
					{
						"type"      "class"

						"windows"   "11388"
						"linux"     "11408"
					}

					"m_relocateTimer"  // class CountdownTimer
					{
						"type"      "class"

						"windows"   "11396"
						"linux"     "11416"
					}
				}
			}
		}
	}
}


/**
 * Class Hierarchy
 * -
 * CBaseEntity
 *     CBaseDelay
 *         CBaseAnimating
 *             CBaseToggle
 *                 CBaseMonster
 *                     CBasePlayer
 *                         CBot
 *                             CCSBot
 */
