diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cairtank.txt b/gamedata/common.games/entities.games/cstrike/offsets-cairtank.txt new file mode 100644 index 00000000..31ccf016 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cairtank.txt @@ -0,0 +1,32 @@ +/** + * 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" + { + "CAirtank" + { + "Offsets" + { + "m_state" // int + { + "windows" "480" + "linux" "500" + "mac" "500" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cambientgeneric.txt b/gamedata/common.games/entities.games/cstrike/offsets-cambientgeneric.txt new file mode 100644 index 00000000..87291643 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cambientgeneric.txt @@ -0,0 +1,53 @@ +/** + * 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" + { + "CAmbientGeneric" + { + "Offsets" + { + "m_flAttenuation" // float + { + "windows" "136" + "linux" "152" + "mac" "152" + } + + "m_dpv" // dynpitchvol_t + { + "windows" "140" + "linux" "156" + "mac" "156" + } + + "m_fActive" // BOOL + { + "windows" "240" + "linux" "256" + "mac" "256" + } + + "m_fLooping" // BOOL + { + "windows" "244" + "linux" "260" + "mac" "260" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-carmoury.txt b/gamedata/common.games/entities.games/cstrike/offsets-carmoury.txt new file mode 100644 index 00000000..528b8790 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-carmoury.txt @@ -0,0 +1,53 @@ +/** + * 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" + { + "CArmoury" + { + "Offsets" + { + "m_iItem" // int + { + "windows" "136" + "linux" "152" + "mac" "152" + } + + "m_iCount" // int + { + "windows" "140" + "linux" "156" + "mac" "156" + } + + "m_iInitialCount" // int + { + "windows" "144" + "linux" "160" + "mac" "160" + } + + "m_bAlreadyCounted" // bool + { + "windows" "148" + "linux" "164" + "mac" "164" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-caug.txt b/gamedata/common.games/entities.games/cstrike/offsets-caug.txt new file mode 100644 index 00000000..11b1d4bd --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-caug.txt @@ -0,0 +1,46 @@ +/** + * 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" + { + "CAUG" + { + "Offsets" + { + "m_iShell" // int + { + "windows" "320" + "linux" "336" + "mac" "336" + } + + "iShellOn" // int + { + "windows" "324" + "linux" "340" + "mac" "340" + } + + "m_usFireAug" // short unsigned int + { + "windows" "328" + "linux" "344" + "mac" "344" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cawp.txt b/gamedata/common.games/entities.games/cstrike/offsets-cawp.txt new file mode 100644 index 00000000..d2904428 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cawp.txt @@ -0,0 +1,39 @@ +/** + * 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" + { + "CAWP" + { + "Offsets" + { + "m_iShell" // int + { + "windows" "320" + "linux" "336" + "mac" "336" + } + + "m_usFireAWP" // short unsigned int + { + "windows" "324" + "linux" "340" + "mac" "340" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cbaseanimating.txt b/gamedata/common.games/entities.games/cstrike/offsets-cbaseanimating.txt new file mode 100644 index 00000000..303e60e4 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cbaseanimating.txt @@ -0,0 +1,60 @@ +/** + * 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" + { + "CBaseAnimating" + { + "Offsets" + { + "m_flFrameRate" // float + { + "windows" "144" + "linux" "160" + "mac" "160" + } + + "m_flGroundSpeed" // float + { + "windows" "148" + "linux" "164" + "mac" "164" + } + + "m_flLastEventCheck" // float + { + "windows" "152" + "linux" "168" + "mac" "168" + } + + "m_fSequenceFinished" // BOOL + { + "windows" "156" + "linux" "172" + "mac" "172" + } + + "m_fSequenceLoops" // BOOL + { + "windows" "160" + "linux" "176" + "mac" "176" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cbasebutton.txt b/gamedata/common.games/entities.games/cstrike/offsets-cbasebutton.txt new file mode 100644 index 00000000..82586355 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cbasebutton.txt @@ -0,0 +1,88 @@ +/** + * 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" + { + "CBaseButton" + { + "Offsets" + { + "m_fStayPushed" // BOOL + { + "windows" "292" + "linux" "312" + "mac" "312" + } + + "m_fRotating" // BOOL + { + "windows" "296" + "linux" "316" + "mac" "316" + } + + "m_strChangeTarget" // string_t + { + "windows" "300" + "linux" "320" + "mac" "320" + } + + "m_ls" // locksound_t + { + "windows" "304" + "linux" "324" + "mac" "324" + } + + "m_bLockedSound" // BYTE + { + "windows" "340" + "linux" "360" + "mac" "360" + } + + "m_bLockedSentence" // BYTE + { + "windows" "341" + "linux" "361" + "mac" "361" + } + + "m_bUnlockedSound" // BYTE + { + "windows" "342" + "linux" "362" + "mac" "362" + } + + "m_bUnlockedSentence" // BYTE + { + "windows" "343" + "linux" "363" + "mac" "363" + } + + "m_sounds" // int + { + "windows" "344" + "linux" "364" + "mac" "364" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cbasedelay.txt b/gamedata/common.games/entities.games/cstrike/offsets-cbasedelay.txt new file mode 100644 index 00000000..855f86ce --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cbasedelay.txt @@ -0,0 +1,39 @@ +/** + * 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" + { + "CBaseDelay" + { + "Offsets" + { + "m_flDelay" // float + { + "windows" "136" + "linux" "152" + "mac" "152" + } + + "m_iszKillTarget" // int + { + "windows" "140" + "linux" "156" + "mac" "156" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cbasedoor.txt b/gamedata/common.games/entities.games/cstrike/offsets-cbasedoor.txt new file mode 100644 index 00000000..44dd41a6 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cbasedoor.txt @@ -0,0 +1,88 @@ +/** + * 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" + { + "CBaseDoor" + { + "Offsets" + { + "m_bHealthValue" // BYTE + { + "windows" "292" + "linux" "312" + "mac" "312" + } + + "m_bMoveSnd" // BYTE + { + "windows" "293" + "linux" "313" + "mac" "313" + } + + "m_bStopSnd" // BYTE + { + "windows" "294" + "linux" "314" + "mac" "314" + } + + "m_ls" // locksound_t + { + "windows" "296" + "linux" "316" + "mac" "316" + } + + "m_bLockedSound" // BYTE + { + "windows" "332" + "linux" "352" + "mac" "352" + } + + "m_bLockedSentence" // BYTE + { + "windows" "333" + "linux" "353" + "mac" "353" + } + + "m_bUnlockedSound" // BYTE + { + "windows" "334" + "linux" "354" + "mac" "354" + } + + "m_bUnlockedSentence" // BYTE + { + "windows" "335" + "linux" "355" + "mac" "355" + } + + "m_lastBlockedTimestamp" // float + { + "windows" "336" + "linux" "356" + "mac" "356" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cbaseentity.txt b/gamedata/common.games/entities.games/cstrike/offsets-cbaseentity.txt new file mode 100644 index 00000000..48db4806 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cbaseentity.txt @@ -0,0 +1,256 @@ +/** + * 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" + { + "CBaseEntity" + { + "Offsets" + { + "pev" // entvars_t* + { + "windows" "4" + "linux" "4" + "mac" "4" + } + + "m_pGoalEnt" // CBaseEntity* + { + "windows" "8" + "linux" "8" + "mac" "8" + } + + "m_pLink" // CBaseEntity* + { + "windows" "12" + "linux" "12" + "mac" "12" + } + + "m_pfnThink" // void* + { + "windows" "16" + "linux" "16" + "mac" "16" + } + + "m_pfnTouch" // void* + { + "windows" "20" + "linux" "24" + "mac" "24" + } + + "m_pfnUse" // void* + { + "windows" "24" + "linux" "32" + "mac" "32" + } + + "m_pfnBlocked" // void* + { + "windows" "28" + "linux" "40" + "mac" "40" + } + + "current_ammo" // int* + { + "windows" "32" + "linux" "48" + "mac" "48" + } + + "currentammo" // float + { + "windows" "36" + "linux" "52" + "mac" "52" + } + + "maxammo_buckshot" // int + { + "windows" "40" + "linux" "56" + "mac" "56" + } + + "ammo_buckshot" // int + { + "windows" "44" + "linux" "60" + "mac" "60" + } + + "maxammo_9mm" // int + { + "windows" "48" + "linux" "64" + "mac" "64" + } + + "ammo_9mm" // int + { + "windows" "52" + "linux" "68" + "mac" "68" + } + + "maxammo_556nato" // int + { + "windows" "56" + "linux" "72" + "mac" "72" + } + + "ammo_556nato" // int + { + "windows" "60" + "linux" "76" + "mac" "76" + } + + "maxammo_556natobox" // int + { + "windows" "64" + "linux" "80" + "mac" "80" + } + + "ammo_556natobox" // int + { + "windows" "68" + "linux" "84" + "mac" "84" + } + + "maxammo_762nato" // int + { + "windows" "72" + "linux" "88" + "mac" "88" + } + + "ammo_762nato" // int + { + "windows" "76" + "linux" "92" + "mac" "92" + } + + "maxammo_45acp" // int + { + "windows" "80" + "linux" "96" + "mac" "96" + } + + "ammo_45acp" // int + { + "windows" "84" + "linux" "100" + "mac" "100" + } + + "maxammo_50ae" // int + { + "windows" "88" + "linux" "104" + "mac" "104" + } + + "ammo_50ae" // int + { + "windows" "92" + "linux" "108" + "mac" "108" + } + + "maxammo_338mag" // int + { + "windows" "96" + "linux" "112" + "mac" "112" + } + + "ammo_338mag" // int + { + "windows" "100" + "linux" "116" + "mac" "116" + } + + "maxammo_57mm" // int + { + "windows" "104" + "linux" "120" + "mac" "120" + } + + "ammo_57mm" // int + { + "windows" "108" + "linux" "124" + "mac" "124" + } + + "maxammo_357sig" // int + { + "windows" "112" + "linux" "128" + "mac" "128" + } + + "ammo_357sig" // int + { + "windows" "116" + "linux" "132" + "mac" "132" + } + + "m_flStartThrow" // float + { + "windows" "120" + "linux" "136" + "mac" "136" + } + + "m_flReleaseThrow" // float + { + "windows" "124" + "linux" "140" + "mac" "140" + } + + "m_iSwing" // int + { + "windows" "128" + "linux" "144" + "mac" "144" + } + + "has_disconnected" // bool + { + "windows" "132" + "linux" "148" + "mac" "148" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cbasegrencatch.txt b/gamedata/common.games/entities.games/cstrike/offsets-cbasegrencatch.txt new file mode 100644 index 00000000..fdafd514 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cbasegrencatch.txt @@ -0,0 +1,60 @@ +/** + * 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" + { + "CBaseGrenCatch" + { + "Offsets" + { + "m_NeedGrenadeType" // int + { + "windows" "136" + "linux" "152" + "mac" "152" + } + + "sTriggerOnGrenade" // string_t + { + "windows" "140" + "linux" "156" + "mac" "156" + } + + "sDisableOnGrenade" // string_t + { + "windows" "144" + "linux" "160" + "mac" "160" + } + + "m_fSmokeTouching" // bool + { + "windows" "148" + "linux" "164" + "mac" "164" + } + + "m_fFlashTouched" // bool + { + "windows" "149" + "linux" "165" + "mac" "165" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cbasemonster.txt b/gamedata/common.games/entities.games/cstrike/offsets-cbasemonster.txt new file mode 100644 index 00000000..c055f3b2 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cbasemonster.txt @@ -0,0 +1,137 @@ +/** + * 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" + { + "CBaseMonster" + { + "Offsets" + { + "m_Activity" // Activity + { + "windows" "292" + "linux" "312" + "mac" "312" + } + + "m_IdealActivity" // Activity + { + "windows" "296" + "linux" "316" + "mac" "316" + } + + "m_LastHitGroup" // int + { + "windows" "300" + "linux" "320" + "mac" "320" + } + + "m_bitsDamageType" // int + { + "windows" "304" + "linux" "324" + "mac" "324" + } + + "m_rgbTimeBasedDamage" // unsigned char[8] + { + "windows" "308" + "linux" "328" + "mac" "328" + } + + "m_MonsterState" // MONSTERSTATE + { + "windows" "316" + "linux" "336" + "mac" "336" + } + + "m_IdealMonsterState" // MONSTERSTATE + { + "windows" "320" + "linux" "340" + "mac" "340" + } + + "m_afConditions" // int + { + "windows" "324" + "linux" "344" + "mac" "344" + } + + "m_afMemory" // int + { + "windows" "328" + "linux" "348" + "mac" "348" + } + + "m_flNextAttack" // float + { + "windows" "332" + "linux" "352" + "mac" "352" + } + + "m_hEnemy" // EHANDLE + { + "windows" "336" + "linux" "356" + "mac" "356" + } + + "m_hTargetEnt" // EHANDLE + { + "windows" "344" + "linux" "364" + "mac" "364" + } + + "m_flFieldOfView" // float + { + "windows" "352" + "linux" "372" + "mac" "372" + } + + "m_bloodColor" // int + { + "windows" "356" + "linux" "376" + "mac" "376" + } + + "m_HackedGunPos" // Vector + { + "windows" "360" + "linux" "380" + "mac" "380" + } + + "m_vecEnemyLKP" // Vector + { + "windows" "372" + "linux" "392" + "mac" "392" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cbaseplattrain.txt b/gamedata/common.games/entities.games/cstrike/offsets-cbaseplattrain.txt new file mode 100644 index 00000000..e2dcacc6 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cbaseplattrain.txt @@ -0,0 +1,46 @@ +/** + * 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" + { + "CBasePlatTrain" + { + "Offsets" + { + "m_bMoveSnd" // BYTE + { + "windows" "292" + "linux" "312" + "mac" "312" + } + + "m_bStopSnd" // BYTE + { + "windows" "293" + "linux" "313" + "mac" "313" + } + + "m_volume" // float + { + "windows" "296" + "linux" "316" + "mac" "316" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cbaseplayer.txt b/gamedata/common.games/entities.games/cstrike/offsets-cbaseplayer.txt new file mode 100644 index 00000000..a103a382 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cbaseplayer.txt @@ -0,0 +1,1341 @@ +/** + * 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" + { + "CBasePlayer" + { + "Offsets" + { + "random_seed" // int + { + "windows" "384" + "linux" "404" + "mac" "404" + } + + "m_usPlayerBleed" // short unsigned int + { + "windows" "388" + "linux" "408" + "mac" "408" + } + + "m_hObserverTarget" // EHANDLE + { + "windows" "392" + "linux" "412" + "mac" "412" + } + + "m_flNextObserverInput" // float + { + "windows" "400" + "linux" "420" + "mac" "420" + } + + "m_iObserverWeapon" // int + { + "windows" "404" + "linux" "424" + "mac" "424" + } + + "m_iObserverC4State" // int + { + "windows" "408" + "linux" "428" + "mac" "428" + } + + "m_bObserverHasDefuser" // bool + { + "windows" "412" + "linux" "432" + "mac" "432" + } + + "m_iObserverLastMode" // int + { + "windows" "416" + "linux" "436" + "mac" "436" + } + + "m_flFlinchTime" // float + { + "windows" "420" + "linux" "440" + "mac" "440" + } + + "m_flAnimTime" // float + { + "windows" "424" + "linux" "444" + "mac" "444" + } + + "m_bHighDamage" // bool + { + "windows" "428" + "linux" "448" + "mac" "448" + } + + "m_flVelocityModifier" // float + { + "windows" "432" + "linux" "452" + "mac" "452" + } + + "m_iLastZoom" // int + { + "windows" "436" + "linux" "456" + "mac" "456" + } + + "m_bResumeZoom" // bool + { + "windows" "440" + "linux" "460" + "mac" "460" + } + + "m_flEjectBrass" // float + { + "windows" "444" + "linux" "464" + "mac" "464" + } + + "m_iKevlar" // int + { + "windows" "448" + "linux" "468" + "mac" "468" + } + + "m_bNotKilled" // bool + { + "windows" "452" + "linux" "472" + "mac" "472" + } + + "m_iTeam" // enum TeamName + { + "windows" "456" + "linux" "476" + "mac" "476" + } + + "m_iAccount" // int + { + "windows" "460" + "linux" "480" + "mac" "480" + } + + "m_bHasPrimary" // bool + { + "windows" "464" + "linux" "484" + "mac" "484" + } + + "m_flDeathThrowTime" // float + { + "windows" "468" + "linux" "488" + "mac" "488" + } + + "m_iThrowDirection" // int + { + "windows" "472" + "linux" "492" + "mac" "492" + } + + "m_flLastTalk" // float + { + "windows" "476" + "linux" "496" + "mac" "496" + } + + "m_bJustConnected" // bool + { + "windows" "480" + "linux" "500" + "mac" "500" + } + + "m_bContextHelp" // bool + { + "windows" "481" + "linux" "501" + "mac" "501" + } + + "m_iJoiningState" // enum JoinState + { + "windows" "484" + "linux" "504" + "mac" "504" + } + + "m_pIntroCamera" // CBaseEntity* + { + "windows" "488" + "linux" "508" + "mac" "508" + } + + "m_fIntroCamTime" // float + { + "windows" "492" + "linux" "512" + "mac" "512" + } + + "m_fLastMovement" // float + { + "windows" "496" + "linux" "516" + "mac" "516" + } + + "m_bMissionBriefing" // bool + { + "windows" "500" + "linux" "520" + "mac" "520" + } + + "m_bTeamChanged" // bool + { + "windows" "501" + "linux" "521" + "mac" "521" + } + + "m_iModelName" // enum ModelName + { + "windows" "504" + "linux" "524" + "mac" "524" + } + + "m_iTeamKills" // int + { + "windows" "508" + "linux" "528" + "mac" "528" + } + + "m_iIgnoreGlobalChat" // int + { + "windows" "512" + "linux" "532" + "mac" "532" + } + + "m_bHasNightVision" // bool + { + "windows" "516" + "linux" "536" + "mac" "536" + } + + "m_bNightVisionOn" // bool + { + "windows" "517" + "linux" "537" + "mac" "537" + } + + "m_vRecentPath" // Vector[20] + { + "windows" "520" + "linux" "540" + "mac" "540" + } + + "m_flIdleCheckTime" // float + { + "windows" "760" + "linux" "780" + "mac" "780" + } + + "m_flRadioTime" // float + { + "windows" "764" + "linux" "784" + "mac" "784" + } + + "m_iRadioMessages" // int + { + "windows" "768" + "linux" "788" + "mac" "788" + } + + "m_bIgnoreRadio" // bool + { + "windows" "772" + "linux" "792" + "mac" "792" + } + + "m_bHasC4" // bool + { + "windows" "773" + "linux" "793" + "mac" "793" + } + + "m_bHasDefuser" // bool + { + "windows" "774" + "linux" "794" + "mac" "794" + } + + "m_bKilledByBomb" // bool + { + "windows" "775" + "linux" "795" + "mac" "795" + } + + "m_vBlastVector" // Vector + { + "windows" "776" + "linux" "796" + "mac" "796" + } + + "m_bKilledByGrenade" // bool + { + "windows" "788" + "linux" "808" + "mac" "808" + } + + "m_hintMessageQueue" // CHintMessageQueue + { + "windows" "792" + "linux" "812" + "mac" "812" + } + + "m_flDisplayHistory" // int32 + { + "windows" "816" + "linux" "836" + "mac" "836" + } + + "m_iMenu" // enum _Menu + { + "windows" "820" + "linux" "840" + "mac" "840" + } + + "m_iChaseTarget" // int + { + "windows" "824" + "linux" "844" + "mac" "844" + } + + "m_pChaseTarget" // CBaseEntity* + { + "windows" "828" + "linux" "848" + "mac" "848" + } + + "m_fCamSwitch" // float + { + "windows" "832" + "linux" "852" + "mac" "852" + } + + "m_bEscaped" // bool + { + "windows" "836" + "linux" "856" + "mac" "856" + } + + "m_bIsVIP" // bool + { + "windows" "837" + "linux" "857" + "mac" "857" + } + + "m_tmNextRadarUpdate" // float + { + "windows" "840" + "linux" "860" + "mac" "860" + } + + "m_vLastOrigin" // Vector + { + "windows" "844" + "linux" "864" + "mac" "864" + } + + "m_iCurrentKickVote" // int + { + "windows" "856" + "linux" "876" + "mac" "876" + } + + "m_flNextVoteTime" // float + { + "windows" "860" + "linux" "880" + "mac" "880" + } + + "m_bJustKilledTeammate" // bool + { + "windows" "864" + "linux" "884" + "mac" "884" + } + + "m_iHostagesKilled" // int + { + "windows" "868" + "linux" "888" + "mac" "888" + } + + "m_iMapVote" // int + { + "windows" "872" + "linux" "892" + "mac" "892" + } + + "m_bCanShoot" // bool + { + "windows" "876" + "linux" "896" + "mac" "896" + } + + "m_flLastFired" // float + { + "windows" "880" + "linux" "900" + "mac" "900" + } + + "m_flLastAttackedTeammate" // float + { + "windows" "884" + "linux" "904" + "mac" "904" + } + + "m_bHeadshotKilled" // bool + { + "windows" "888" + "linux" "908" + "mac" "908" + } + + "m_bPunishedForTK" // bool + { + "windows" "889" + "linux" "909" + "mac" "909" + } + + "m_bReceivesNoMoneyNextRound" // bool + { + "windows" "890" + "linux" "910" + "mac" "910" + } + + "m_iTimeCheckAllowed" // int + { + "windows" "892" + "linux" "912" + "mac" "912" + } + + "m_bHasChangedName" // bool + { + "windows" "896" + "linux" "916" + "mac" "916" + } + + "m_szNewName" // char[32] + { + "windows" "897" + "linux" "917" + "mac" "917" + } + + "m_bIsDefusing" // bool + { + "windows" "929" + "linux" "949" + "mac" "949" + } + + "m_tmHandleSignals" // float + { + "windows" "932" + "linux" "952" + "mac" "952" + } + + "m_signals" // CUnifiedSignals + { + "windows" "936" + "linux" "956" + "mac" "956" + } + + "m_pentCurBombTarget" // edict_t* + { + "windows" "944" + "linux" "964" + "mac" "964" + } + + "m_iPlayerSound" // int + { + "windows" "948" + "linux" "968" + "mac" "968" + } + + "m_iTargetVolume" // int + { + "windows" "952" + "linux" "972" + "mac" "972" + } + + "m_iWeaponVolume" // int + { + "windows" "956" + "linux" "976" + "mac" "976" + } + + "m_iExtraSoundTypes" // int + { + "windows" "960" + "linux" "980" + "mac" "980" + } + + "m_iWeaponFlash" // int + { + "windows" "964" + "linux" "984" + "mac" "984" + } + + "m_flStopExtraSoundTime" // float + { + "windows" "968" + "linux" "988" + "mac" "988" + } + + "m_flFlashLightTime" // float + { + "windows" "972" + "linux" "992" + "mac" "992" + } + + "m_iFlashBattery" // int + { + "windows" "976" + "linux" "996" + "mac" "996" + } + + "m_afButtonLast" // int + { + "windows" "980" + "linux" "1000" + "mac" "1000" + } + + "m_afButtonPressed" // int + { + "windows" "984" + "linux" "1004" + "mac" "1004" + } + + "m_afButtonReleased" // int + { + "windows" "988" + "linux" "1008" + "mac" "1008" + } + + "m_pentSndLast" // edict_t* + { + "windows" "992" + "linux" "1012" + "mac" "1012" + } + + "m_flSndRoomtype" // float + { + "windows" "996" + "linux" "1016" + "mac" "1016" + } + + "m_flSndRange" // float + { + "windows" "1000" + "linux" "1020" + "mac" "1020" + } + + "m_flFallVelocity" // float + { + "windows" "1004" + "linux" "1024" + "mac" "1024" + } + + "m_rgItems" // int[4] + { + "windows" "1008" + "linux" "1028" + "mac" "1028" + } + + "m_fNewAmmo" // int + { + "windows" "1024" + "linux" "1044" + "mac" "1044" + } + + "m_afPhysicsFlags" // unsigned int + { + "windows" "1028" + "linux" "1048" + "mac" "1048" + } + + "m_fNextSuicideTime" // float + { + "windows" "1032" + "linux" "1052" + "mac" "1052" + } + + "m_flTimeStepSound" // float + { + "windows" "1036" + "linux" "1056" + "mac" "1056" + } + + "m_flTimeWeaponIdle" // float + { + "windows" "1040" + "linux" "1060" + "mac" "1060" + } + + "m_flSwimTime" // float + { + "windows" "1044" + "linux" "1064" + "mac" "1064" + } + + "m_flDuckTime" // float + { + "windows" "1048" + "linux" "1068" + "mac" "1068" + } + + "m_flWallJumpTime" // float + { + "windows" "1052" + "linux" "1072" + "mac" "1072" + } + + "m_flSuitUpdate" // float + { + "windows" "1056" + "linux" "1076" + "mac" "1076" + } + + "m_rgSuitPlayList" // int[4] + { + "windows" "1060" + "linux" "1080" + "mac" "1080" + } + + "m_iSuitPlayNext" // int + { + "windows" "1076" + "linux" "1096" + "mac" "1096" + } + + "m_rgiSuitNoRepeat" // int[32] + { + "windows" "1080" + "linux" "1100" + "mac" "1100" + } + + "m_rgflSuitNoRepeatTime" // float[32] + { + "windows" "1208" + "linux" "1228" + "mac" "1228" + } + + "m_lastDamageAmount" // int + { + "windows" "1336" + "linux" "1356" + "mac" "1356" + } + + "m_tbdPrev" // float + { + "windows" "1340" + "linux" "1360" + "mac" "1360" + } + + "m_flgeigerRange" // float + { + "windows" "1344" + "linux" "1364" + "mac" "1364" + } + + "m_flgeigerDelay" // float + { + "windows" "1348" + "linux" "1368" + "mac" "1368" + } + + "m_igeigerRangePrev" // int + { + "windows" "1352" + "linux" "1372" + "mac" "1372" + } + + "m_iStepLeft" // int + { + "windows" "1356" + "linux" "1376" + "mac" "1376" + } + + "m_szTextureName" // char[17] + { + "windows" "1360" + "linux" "1380" + "mac" "1380" + } + + "m_chTextureType" // char + { + "windows" "1377" + "linux" "1397" + "mac" "1397" + } + + "m_idrowndmg" // int + { + "windows" "1380" + "linux" "1400" + "mac" "1400" + } + + "m_idrownrestored" // int + { + "windows" "1384" + "linux" "1404" + "mac" "1404" + } + + "m_bitsHUDDamage" // int + { + "windows" "1388" + "linux" "1408" + "mac" "1408" + } + + "m_fInitHUD" // BOOL + { + "windows" "1392" + "linux" "1412" + "mac" "1412" + } + + "m_fGameHUDInitialized" // BOOL + { + "windows" "1396" + "linux" "1416" + "mac" "1416" + } + + "m_iTrain" // int + { + "windows" "1400" + "linux" "1420" + "mac" "1420" + } + + "m_fWeapon" // BOOL + { + "windows" "1404" + "linux" "1424" + "mac" "1424" + } + + "m_pTank" // EHANDLE + { + "windows" "1408" + "linux" "1428" + "mac" "1428" + } + + "m_fDeadTime" // float + { + "windows" "1416" + "linux" "1436" + "mac" "1436" + } + + "m_fNoPlayerSound" // BOOL + { + "windows" "1420" + "linux" "1440" + "mac" "1440" + } + + "m_fLongJump" // BOOL + { + "windows" "1424" + "linux" "1444" + "mac" "1444" + } + + "m_tSneaking" // float + { + "windows" "1428" + "linux" "1448" + "mac" "1448" + } + + "m_iUpdateTime" // int + { + "windows" "1432" + "linux" "1452" + "mac" "1452" + } + + "m_iClientHealth" // int + { + "windows" "1436" + "linux" "1456" + "mac" "1456" + } + + "m_iClientBattery" // int + { + "windows" "1440" + "linux" "1460" + "mac" "1460" + } + + "m_iHideHUD" // int + { + "windows" "1444" + "linux" "1464" + "mac" "1464" + } + + "m_iClientHideHUD" // int + { + "windows" "1448" + "linux" "1468" + "mac" "1468" + } + + "m_iFOV" // int + { + "windows" "1452" + "linux" "1472" + "mac" "1472" + } + + "m_iClientFOV" // int + { + "windows" "1456" + "linux" "1476" + "mac" "1476" + } + + "m_iNumSpawns" // int + { + "windows" "1460" + "linux" "1480" + "mac" "1480" + } + + "m_pObserver" // CBaseEntity* + { + "windows" "1464" + "linux" "1484" + "mac" "1484" + } + + "m_rgpPlayerItems" // CBasePlayerItem*[6] + { + "windows" "1468" + "linux" "1488" + "mac" "1488" + } + + "m_pActiveItem" // CBasePlayerItem* + { + "windows" "1492" + "linux" "1512" + "mac" "1512" + } + + "m_pClientActiveItem" // CBasePlayerItem* + { + "windows" "1496" + "linux" "1516" + "mac" "1516" + } + + "m_pLastItem" // CBasePlayerItem* + { + "windows" "1500" + "linux" "1520" + "mac" "1520" + } + + "m_rgAmmo" // int[32] + { + "windows" "1504" + "linux" "1524" + "mac" "1524" + } + + "m_rgAmmoLast" // int[32] + { + "windows" "1632" + "linux" "1652" + "mac" "1652" + } + + "m_vecAutoAim" // Vector + { + "windows" "1760" + "linux" "1780" + "mac" "1780" + } + + "m_fOnTarget" // BOOL + { + "windows" "1772" + "linux" "1792" + "mac" "1792" + } + + "m_iDeaths" // int + { + "windows" "1776" + "linux" "1796" + "mac" "1796" + } + + "m_izSBarState" // int[4] + { + "windows" "1780" + "linux" "1800" + "mac" "1800" + } + + "m_flNextSBarUpdateTime" // float + { + "windows" "1796" + "linux" "1816" + "mac" "1816" + } + + "m_flStatusBarDisappearDelay" // float + { + "windows" "1800" + "linux" "1820" + "mac" "1820" + } + + "m_SbarString0" // char[128] + { + "windows" "1804" + "linux" "1824" + "mac" "1824" + } + + "m_lastx" // int + { + "windows" "1932" + "linux" "1952" + "mac" "1952" + } + + "m_lasty" // int + { + "windows" "1936" + "linux" "1956" + "mac" "1956" + } + + "m_nCustomSprayFrames" // int + { + "windows" "1940" + "linux" "1960" + "mac" "1960" + } + + "m_flNextDecalTime" // float + { + "windows" "1944" + "linux" "1964" + "mac" "1964" + } + + "m_szTeamName" // char[16] + { + "windows" "1948" + "linux" "1968" + "mac" "1968" + } + + "m_modelIndexPlayer" // int + { + "windows" "1964" + "linux" "1984" + "mac" "1984" + } + + "m_szAnimExtention" // char[32] + { + "windows" "1968" + "linux" "1988" + "mac" "1988" + } + + "m_iGaitsequence" // int + { + "windows" "2000" + "linux" "2020" + "mac" "2020" + } + + "m_flGaitframe" // float + { + "windows" "2004" + "linux" "2024" + "mac" "2024" + } + + "m_flGaityaw" // float + { + "windows" "2008" + "linux" "2028" + "mac" "2028" + } + + "m_prevgaitorigin" // Vector + { + "windows" "2012" + "linux" "2032" + "mac" "2032" + } + + "m_flPitch" // float + { + "windows" "2024" + "linux" "2044" + "mac" "2044" + } + + "m_flYaw" // float + { + "windows" "2028" + "linux" "2048" + "mac" "2048" + } + + "m_flGaitMovement" // float + { + "windows" "2032" + "linux" "2052" + "mac" "2052" + } + + "m_iAutoWepSwitch" // int + { + "windows" "2036" + "linux" "2056" + "mac" "2056" + } + + "m_bVGUIMenus" // bool + { + "windows" "2040" + "linux" "2060" + "mac" "2060" + } + + "m_bShowHints" // bool + { + "windows" "2041" + "linux" "2061" + "mac" "2061" + } + + "m_bShieldDrawn" // bool + { + "windows" "2042" + "linux" "2062" + "mac" "2062" + } + + "m_bOwnsShield" // bool + { + "windows" "2043" + "linux" "2063" + "mac" "2063" + } + + "m_bWasFollowing" // bool + { + "windows" "2044" + "linux" "2064" + "mac" "2064" + } + + "m_flNextFollowTime" // float + { + "windows" "2048" + "linux" "2068" + "mac" "2068" + } + + "m_flYawModifier" // float + { + "windows" "2052" + "linux" "2072" + "mac" "2072" + } + + "m_blindUntilTime" // float + { + "windows" "2056" + "linux" "2076" + "mac" "2076" + } + + "m_blindStartTime" // float + { + "windows" "2060" + "linux" "2080" + "mac" "2080" + } + + "m_blindHoldTime" // float + { + "windows" "2064" + "linux" "2084" + "mac" "2084" + } + + "m_blindFadeTime" // float + { + "windows" "2068" + "linux" "2088" + "mac" "2088" + } + + "m_blindAlpha" // int + { + "windows" "2072" + "linux" "2092" + "mac" "2092" + } + + "m_allowAutoFollowTime" // float + { + "windows" "2076" + "linux" "2096" + "mac" "2096" + } + + "m_autoBuyString" // char[256] + { + "windows" "2080" + "linux" "2100" + "mac" "2100" + } + + "m_rebuyString" // char* + { + "windows" "2336" + "linux" "2356" + "mac" "2356" + } + + "m_rebuyStruct" // struct RebuyStruct + { + "windows" "2340" + "linux" "2360" + "mac" "2360" + } + + "m_bIsInRebuy" // bool + { + "windows" "2380" + "linux" "2400" + "mac" "2400" + } + + "m_flLastUpdateTime" // float + { + "windows" "2384" + "linux" "2404" + "mac" "2404" + } + + "m_lastLocation" // char[32] + { + "windows" "2388" + "linux" "2408" + "mac" "2408" + } + + "m_progressStart" // float + { + "windows" "2420" + "linux" "2440" + "mac" "2440" + } + + "m_progressEnd" // float + { + "windows" "2424" + "linux" "2444" + "mac" "2444" + } + + "m_bObserverAutoDirector" // bool + { + "windows" "2428" + "linux" "2448" + "mac" "2448" + } + + "m_canSwitchObserverModes" // bool + { + "windows" "2429" + "linux" "2449" + "mac" "2449" + } + + "m_heartBeatTime" // float + { + "windows" "2432" + "linux" "2452" + "mac" "2452" + } + + "m_intenseTimestamp" // float + { + "windows" "2436" + "linux" "2456" + "mac" "2456" + } + + "m_silentTimestamp" // float + { + "windows" "2440" + "linux" "2460" + "mac" "2460" + } + + "m_musicState" // enum MusicState + { + "windows" "2444" + "linux" "2464" + "mac" "2464" + } + + "m_flLastCommandTime" // float[8] + { + "windows" "2448" + "linux" "2468" + "mac" "2468" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cbaseplayerammo.txt b/gamedata/common.games/entities.games/cstrike/offsets-cbaseplayerammo.txt new file mode 100644 index 00000000..d4ed6277 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cbaseplayerammo.txt @@ -0,0 +1,25 @@ +/** + * 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" + { + "CBasePlayerAmmo" + { + "Offsets" + { } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cbaseplayeritem.txt b/gamedata/common.games/entities.games/cstrike/offsets-cbaseplayeritem.txt new file mode 100644 index 00000000..24ffddb1 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cbaseplayeritem.txt @@ -0,0 +1,60 @@ +/** + * 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" + { + "CBasePlayerItem" + { + "Offsets" + { + "ItemInfoArray" // ItemInfo[32] + { + "windows" "-16" + "linux" "0" + "mac" "0" + } + + "AmmoInfoArray" // AmmoInfo[32] + { + "windows" "-16" + "linux" "0" + "mac" "0" + } + + "m_pPlayer" // CBasePlayer* + { + "windows" "164" + "linux" "180" + "mac" "180" + } + + "m_pNext" // CBasePlayerItem* + { + "windows" "168" + "linux" "184" + "mac" "184" + } + + "m_iId" // int + { + "windows" "172" + "linux" "188" + "mac" "188" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cbaseplayerweapon.txt b/gamedata/common.games/entities.games/cstrike/offsets-cbaseplayerweapon.txt new file mode 100644 index 00000000..486ff8bc --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cbaseplayerweapon.txt @@ -0,0 +1,270 @@ +/** + * 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" + { + "CBasePlayerWeapon" + { + "Offsets" + { + "m_iPlayEmptySound" // int + { + "windows" "176" + "linux" "192" + "mac" "192" + } + + "m_fFireOnEmpty" // int + { + "windows" "180" + "linux" "196" + "mac" "196" + } + + "m_flNextPrimaryAttack" // float + { + "windows" "184" + "linux" "200" + "mac" "200" + } + + "m_flNextSecondaryAttack" // float + { + "windows" "188" + "linux" "204" + "mac" "204" + } + + "m_flTimeWeaponIdle" // float + { + "windows" "192" + "linux" "208" + "mac" "208" + } + + "m_iPrimaryAmmoType" // int + { + "windows" "196" + "linux" "212" + "mac" "212" + } + + "m_iSecondaryAmmoType" // int + { + "windows" "200" + "linux" "216" + "mac" "216" + } + + "m_iClip" // int + { + "windows" "204" + "linux" "220" + "mac" "220" + } + + "m_iClientClip" // int + { + "windows" "208" + "linux" "224" + "mac" "224" + } + + "m_iClientWeaponState" // int + { + "windows" "212" + "linux" "228" + "mac" "228" + } + + "m_fInReload" // int + { + "windows" "216" + "linux" "232" + "mac" "232" + } + + "m_fInSpecialReload" // int + { + "windows" "220" + "linux" "236" + "mac" "236" + } + + "m_iDefaultAmmo" // int + { + "windows" "224" + "linux" "240" + "mac" "240" + } + + "m_iShellId" // int + { + "windows" "228" + "linux" "244" + "mac" "244" + } + + "m_fMaxSpeed" // float + { + "windows" "232" + "linux" "248" + "mac" "248" + } + + "m_bDelayFire" // bool + { + "windows" "236" + "linux" "252" + "mac" "252" + } + + "m_iDirection" // int + { + "windows" "240" + "linux" "256" + "mac" "256" + } + + "m_bSecondarySilencerOn" // bool + { + "windows" "244" + "linux" "260" + "mac" "260" + } + + "m_flAccuracy" // float + { + "windows" "248" + "linux" "264" + "mac" "264" + } + + "m_flLastFire" // float + { + "windows" "252" + "linux" "268" + "mac" "268" + } + + "m_iShotsFired" // int + { + "windows" "256" + "linux" "272" + "mac" "272" + } + + "m_vVecAiming" // Vector + { + "windows" "260" + "linux" "276" + "mac" "276" + } + + "model_name" // string_t + { + "windows" "272" + "linux" "288" + "mac" "288" + } + + "m_flGlock18Shoot" // float + { + "windows" "276" + "linux" "292" + "mac" "292" + } + + "m_iGlock18ShotsFired" // int + { + "windows" "280" + "linux" "296" + "mac" "296" + } + + "m_flFamasShoot" // float + { + "windows" "284" + "linux" "300" + "mac" "300" + } + + "m_iFamasShotsFired" // int + { + "windows" "288" + "linux" "304" + "mac" "304" + } + + "m_fBurstSpread" // float + { + "windows" "292" + "linux" "308" + "mac" "308" + } + + "m_iWeaponState" // int + { + "windows" "296" + "linux" "312" + "mac" "312" + } + + "m_flNextReload" // float + { + "windows" "300" + "linux" "316" + "mac" "316" + } + + "m_flDecreaseShotsFired" // float + { + "windows" "304" + "linux" "320" + "mac" "320" + } + + "m_usFireGlock18" // short unsigned int + { + "windows" "308" + "linux" "324" + "mac" "324" + } + + "m_usFireFamas" // short unsigned int + { + "windows" "310" + "linux" "326" + "mac" "326" + } + + "m_flPrevPrimaryAttack" // float + { + "windows" "312" + "linux" "328" + "mac" "328" + } + + "m_flLastFireTime" // float + { + "windows" "316" + "linux" "332" + "mac" "332" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cbasetoggle.txt b/gamedata/common.games/entities.games/cstrike/offsets-cbasetoggle.txt new file mode 100644 index 00000000..b000eb8e --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cbasetoggle.txt @@ -0,0 +1,158 @@ +/** + * 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" + { + "CBaseToggle" + { + "Offsets" + { + "m_toggle_state" // TOGGLE_STATE + { + "windows" "164" + "linux" "180" + "mac" "180" + } + + "m_flActivateFinished" // float + { + "windows" "168" + "linux" "184" + "mac" "184" + } + + "m_flMoveDistance" // float + { + "windows" "172" + "linux" "188" + "mac" "188" + } + + "m_flWait" // float + { + "windows" "176" + "linux" "192" + "mac" "192" + } + + "m_flLip" // float + { + "windows" "180" + "linux" "196" + "mac" "196" + } + + "m_flTWidth" // float + { + "windows" "184" + "linux" "200" + "mac" "200" + } + + "m_flTLength" // float + { + "windows" "188" + "linux" "204" + "mac" "204" + } + + "m_vecPosition1" // Vector + { + "windows" "192" + "linux" "208" + "mac" "208" + } + + "m_vecPosition2" // Vector + { + "windows" "204" + "linux" "220" + "mac" "220" + } + + "m_vecAngle1" // Vector + { + "windows" "216" + "linux" "232" + "mac" "232" + } + + "m_vecAngle2" // Vector + { + "windows" "228" + "linux" "244" + "mac" "244" + } + + "m_cTriggersLeft" // int + { + "windows" "240" + "linux" "256" + "mac" "256" + } + + "m_flHeight" // float + { + "windows" "244" + "linux" "260" + "mac" "260" + } + + "m_hActivator" // EHANDLE + { + "windows" "248" + "linux" "264" + "mac" "264" + } + + "m_pfnCallWhenMoveDone" // void* + { + "windows" "256" + "linux" "272" + "mac" "272" + } + + "m_vecFinalDest" // Vector + { + "windows" "260" + "linux" "280" + "mac" "280" + } + + "m_vecFinalAngle" // Vector + { + "windows" "272" + "linux" "292" + "mac" "292" + } + + "m_bitsDamageInflict" // int + { + "windows" "284" + "linux" "304" + "mac" "304" + } + + "m_sMaster" // string_t + { + "windows" "292" + "linux" "308" + "mac" "308" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cbombglow.txt b/gamedata/common.games/entities.games/cstrike/offsets-cbombglow.txt new file mode 100644 index 00000000..512f2b1d --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cbombglow.txt @@ -0,0 +1,46 @@ +/** + * 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" + { + "CBombGlow" + { + "Offsets" + { + "m_lastTime" // float + { + "windows" "144" + "linux" "160" + "mac" "160" + } + + "m_tmBeepPeriod" // float + { + "windows" "148" + "linux" "164" + "mac" "164" + } + + "m_bSetModel" // bool + { + "windows" "152" + "linux" "168" + "mac" "168" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cbreakable.txt b/gamedata/common.games/entities.games/cstrike/offsets-cbreakable.txt new file mode 100644 index 00000000..8336e1ce --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cbreakable.txt @@ -0,0 +1,116 @@ +/** + * 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" + { + "CBreakable" + { + "Offsets" + { + "pSoundsWood" // const char*[3] + { + "windows" "-16" + "linux" "0" + "mac" "0" + } + + "pSoundsFlesh" // const char*[6] + { + "windows" "-16" + "linux" "0" + "mac" "0" + } + + "pSoundsGlass" // const char*[3] + { + "windows" "-16" + "linux" "0" + "mac" "0" + } + + "pSoundsMetal" // const char*[3] + { + "windows" "-16" + "linux" "0" + "mac" "0" + } + + "pSoundsConcrete" // const char*[3] + { + "windows" "-16" + "linux" "0" + "mac" "0" + } + + "pSpawnObjects" // const char*[32] + { + "windows" "-16" + "linux" "0" + "mac" "0" + } + + "m_Material" // Materials + { + "windows" "144" + "linux" "160" + "mac" "160" + } + + "m_Explosion" // Explosions + { + "windows" "148" + "linux" "164" + "mac" "164" + } + + "m_idShard" // int + { + "windows" "152" + "linux" "168" + "mac" "168" + } + + "m_angle" // float + { + "windows" "156" + "linux" "172" + "mac" "172" + } + + "m_iszGibModel" // int + { + "windows" "160" + "linux" "176" + "mac" "176" + } + + "m_iszSpawnObject" // int + { + "windows" "164" + "linux" "180" + "mac" "180" + } + + "m_flHealth" // float + { + "windows" "168" + "linux" "184" + "mac" "184" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cbubbling.txt b/gamedata/common.games/entities.games/cstrike/offsets-cbubbling.txt new file mode 100644 index 00000000..ddeb3c7f --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cbubbling.txt @@ -0,0 +1,53 @@ +/** + * 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" + { + "CBubbling" + { + "Offsets" + { + "m_density" // int + { + "windows" "136" + "linux" "152" + "mac" "152" + } + + "m_frequency" // int + { + "windows" "140" + "linux" "156" + "mac" "156" + } + + "m_bubbleModel" // int + { + "windows" "144" + "linux" "160" + "mac" "160" + } + + "m_state" // int + { + "windows" "148" + "linux" "164" + "mac" "164" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cchangelevel.txt b/gamedata/common.games/entities.games/cstrike/offsets-cchangelevel.txt new file mode 100644 index 00000000..1e6778b4 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cchangelevel.txt @@ -0,0 +1,53 @@ +/** + * 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" + { + "CChangeLevel" + { + "Offsets" + { + "m_szMapName" // char[32] + { + "windows" "292" + "linux" "312" + "mac" "312" + } + + "m_szLandmarkName" // char[32] + { + "windows" "324" + "linux" "344" + "mac" "344" + } + + "m_changeTarget" // int + { + "windows" "356" + "linux" "376" + "mac" "376" + } + + "m_changeTargetDelay" // float + { + "windows" "360" + "linux" "380" + "mac" "380" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cclientfog.txt b/gamedata/common.games/entities.games/cstrike/offsets-cclientfog.txt new file mode 100644 index 00000000..ce0e012f --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cclientfog.txt @@ -0,0 +1,46 @@ +/** + * 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" + { + "CClientFog" + { + "Offsets" + { + "m_iStartDist" // int + { + "windows" "136" + "linux" "152" + "mac" "152" + } + + "m_iEndDist" // int + { + "windows" "140" + "linux" "156" + "mac" "156" + } + + "m_fDensity" // float + { + "windows" "144" + "linux" "160" + "mac" "160" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-ccycler.txt b/gamedata/common.games/entities.games/cstrike/offsets-ccycler.txt new file mode 100644 index 00000000..0ede92e5 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-ccycler.txt @@ -0,0 +1,32 @@ +/** + * 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" + { + "CCycler" + { + "Offsets" + { + "m_animate" // int + { + "windows" "384" + "linux" "404" + "mac" "404" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-ccyclersprite.txt b/gamedata/common.games/entities.games/cstrike/offsets-ccyclersprite.txt new file mode 100644 index 00000000..69cbc158 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-ccyclersprite.txt @@ -0,0 +1,74 @@ +/** + * 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" + { + "CCyclerSprite" + { + "Offsets" + { + "m_animate" // int + { + "windows" "136" + "linux" "152" + "mac" "152" + } + + "m_lastTime" // float + { + "windows" "140" + "linux" "156" + "mac" "156" + } + + "m_maxFrame" // float + { + "windows" "144" + "linux" "160" + "mac" "160" + } + + "m_renderfx" // int + { + "windows" "148" + "linux" "164" + "mac" "164" + } + + "m_rendermode" // int + { + "windows" "152" + "linux" "168" + "mac" "168" + } + + "m_renderamt" // float + { + "windows" "156" + "linux" "172" + "mac" "172" + } + + "m_rendercolor" // float[3] + { + "windows" "160" + "linux" "176" + "mac" "176" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cdeadhev.txt b/gamedata/common.games/entities.games/cstrike/offsets-cdeadhev.txt new file mode 100644 index 00000000..5f02c4a0 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cdeadhev.txt @@ -0,0 +1,39 @@ +/** + * 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" + { + "CDeadHEV" + { + "Offsets" + { + "m_iPose" // int + { + "windows" "384" + "linux" "404" + "mac" "404" + } + + "m_szPoses" // char*[4] + { + "windows" "-20" + "linux" "0" + "mac" "0" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cdeagle.txt b/gamedata/common.games/entities.games/cstrike/offsets-cdeagle.txt new file mode 100644 index 00000000..bd29fd0b --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cdeagle.txt @@ -0,0 +1,39 @@ +/** + * 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" + { + "CDEAGLE" + { + "Offsets" + { + "m_iShell" // int + { + "windows" "320" + "linux" "336" + "mac" "336" + } + + "m_usFireDeagle" // short unsigned int + { + "windows" "324" + "linux" "340" + "mac" "340" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-celite.txt b/gamedata/common.games/entities.games/cstrike/offsets-celite.txt new file mode 100644 index 00000000..6623d3bd --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-celite.txt @@ -0,0 +1,46 @@ +/** + * 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" + { + "CELITE" + { + "Offsets" + { + "m_iShell" // int + { + "windows" "320" + "linux" "336" + "mac" "336" + } + + "m_usFireELITE_LEFT" // short unsigned int + { + "windows" "324" + "linux" "340" + "mac" "340" + } + + "m_usFireELITE_RIGHT" // short unsigned int + { + "windows" "326" + "linux" "342" + "mac" "342" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cenvexplosion.txt b/gamedata/common.games/entities.games/cstrike/offsets-cenvexplosion.txt new file mode 100644 index 00000000..b44054d2 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cenvexplosion.txt @@ -0,0 +1,39 @@ +/** + * 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" + { + "CEnvExplosion" + { + "Offsets" + { + "m_iMagnitude" // int + { + "windows" "384" + "linux" "404" + "mac" "404" + } + + "m_spriteScale" // int + { + "windows" "388" + "linux" "408" + "mac" "408" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cenvfunnel.txt b/gamedata/common.games/entities.games/cstrike/offsets-cenvfunnel.txt new file mode 100644 index 00000000..bde5c91a --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cenvfunnel.txt @@ -0,0 +1,32 @@ +/** + * 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" + { + "CEnvFunnel" + { + "Offsets" + { + "m_iSprite" // int + { + "windows" "144" + "linux" "160" + "mac" "160" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cenvglobal.txt b/gamedata/common.games/entities.games/cstrike/offsets-cenvglobal.txt new file mode 100644 index 00000000..d44bdb35 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cenvglobal.txt @@ -0,0 +1,46 @@ +/** + * 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" + { + "CEnvGlobal" + { + "Offsets" + { + "m_globalstate" // string_t + { + "windows" "136" + "linux" "152" + "mac" "152" + } + + "m_triggermode" // int + { + "windows" "140" + "linux" "156" + "mac" "156" + } + + "m_initialstate" // int + { + "windows" "144" + "linux" "160" + "mac" "160" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cenvsound.txt b/gamedata/common.games/entities.games/cstrike/offsets-cenvsound.txt new file mode 100644 index 00000000..b2004182 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cenvsound.txt @@ -0,0 +1,39 @@ +/** + * 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" + { + "CEnvSound" + { + "Offsets" + { + "m_flRadius" // float + { + "windows" "136" + "linux" "152" + "mac" "152" + } + + "m_flRoomtype" // float + { + "windows" "140" + "linux" "156" + "mac" "156" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cenvspark.txt b/gamedata/common.games/entities.games/cstrike/offsets-cenvspark.txt new file mode 100644 index 00000000..c6793836 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cenvspark.txt @@ -0,0 +1,32 @@ +/** + * 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" + { + "CEnvSpark" + { + "Offsets" + { + "m_flDelay" // float + { + "windows" "136" + "linux" "152" + "mac" "152" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cfamas.txt b/gamedata/common.games/entities.games/cstrike/offsets-cfamas.txt new file mode 100644 index 00000000..197f9875 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cfamas.txt @@ -0,0 +1,39 @@ +/** + * 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" + { + "CFamas" + { + "Offsets" + { + "m_iShell" // int + { + "windows" "320" + "linux" "336" + "mac" "336" + } + + "iShellOn" // int + { + "windows" "324" + "linux" "340" + "mac" "340" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cfiveseven.txt b/gamedata/common.games/entities.games/cstrike/offsets-cfiveseven.txt new file mode 100644 index 00000000..f98ba1be --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cfiveseven.txt @@ -0,0 +1,39 @@ +/** + * 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" + { + "CFiveSeven" + { + "Offsets" + { + "m_iShell" // int + { + "windows" "320" + "linux" "336" + "mac" "336" + } + + "m_usFireFiveSeven" // short unsigned int + { + "windows" "324" + "linux" "340" + "mac" "340" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cflashbang.txt b/gamedata/common.games/entities.games/cstrike/offsets-cflashbang.txt new file mode 100644 index 00000000..4d3d7864 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cflashbang.txt @@ -0,0 +1,25 @@ +/** + * 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" + { + "CFlashbang" + { + "Offsets" + { } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cfrictionmodifier.txt b/gamedata/common.games/entities.games/cstrike/offsets-cfrictionmodifier.txt new file mode 100644 index 00000000..aae0acf3 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cfrictionmodifier.txt @@ -0,0 +1,32 @@ +/** + * 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" + { + "CFrictionModifier" + { + "Offsets" + { + "m_frictionFraction" // float + { + "windows" "136" + "linux" "152" + "mac" "152" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cfuncmortarfield.txt b/gamedata/common.games/entities.games/cstrike/offsets-cfuncmortarfield.txt new file mode 100644 index 00000000..d5791799 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cfuncmortarfield.txt @@ -0,0 +1,67 @@ +/** + * 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" + { + "CFuncMortarField" + { + "Offsets" + { + "m_iszXController" // int + { + "windows" "292" + "linux" "312" + "mac" "312" + } + + "m_iszYController" // int + { + "windows" "296" + "linux" "316" + "mac" "316" + } + + "m_flSpread" // float + { + "windows" "300" + "linux" "320" + "mac" "320" + } + + "m_flDelay" // float + { + "windows" "304" + "linux" "324" + "mac" "324" + } + + "m_iCount" // int + { + "windows" "308" + "linux" "328" + "mac" "328" + } + + "m_fControl" // int + { + "windows" "312" + "linux" "332" + "mac" "332" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cfuncplatrot.txt b/gamedata/common.games/entities.games/cstrike/offsets-cfuncplatrot.txt new file mode 100644 index 00000000..81223171 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cfuncplatrot.txt @@ -0,0 +1,39 @@ +/** + * 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" + { + "CFuncPlatRot" + { + "Offsets" + { + "m_end" // Vector + { + "windows" "300" + "linux" "320" + "mac" "320" + } + + "m_start" // Vector + { + "windows" "312" + "linux" "332" + "mac" "332" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cfuncrotating.txt b/gamedata/common.games/entities.games/cstrike/offsets-cfuncrotating.txt new file mode 100644 index 00000000..bdcd4a5f --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cfuncrotating.txt @@ -0,0 +1,60 @@ +/** + * 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" + { + "CFuncRotating" + { + "Offsets" + { + "m_flFanFriction" // float + { + "windows" "136" + "linux" "152" + "mac" "152" + } + + "m_flAttenuation" // float + { + "windows" "140" + "linux" "156" + "mac" "156" + } + + "m_flVolume" // float + { + "windows" "144" + "linux" "160" + "mac" "160" + } + + "m_pitch" // float + { + "windows" "148" + "linux" "164" + "mac" "164" + } + + "m_sounds" // int + { + "windows" "152" + "linux" "168" + "mac" "168" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cfunctank.txt b/gamedata/common.games/entities.games/cstrike/offsets-cfunctank.txt new file mode 100644 index 00000000..4c0bc8e0 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cfunctank.txt @@ -0,0 +1,207 @@ +/** + * 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" + { + "CFuncTank" + { + "Offsets" + { + "m_pController" // CBasePlayer* + { + "windows" "136" + "linux" "152" + "mac" "152" + } + + "m_flNextAttack" // float + { + "windows" "140" + "linux" "156" + "mac" "156" + } + + "m_vecControllerUsePos" // Vector + { + "windows" "144" + "linux" "160" + "mac" "160" + } + + "m_yawCenter" // float + { + "windows" "156" + "linux" "172" + "mac" "172" + } + + "m_yawRate" // float + { + "windows" "160" + "linux" "176" + "mac" "176" + } + + "m_yawRange" // float + { + "windows" "164" + "linux" "180" + "mac" "180" + } + + "m_yawTolerance" // float + { + "windows" "168" + "linux" "184" + "mac" "184" + } + + "m_pitchCenter" // float + { + "windows" "172" + "linux" "188" + "mac" "188" + } + + "m_pitchRate" // float + { + "windows" "176" + "linux" "192" + "mac" "192" + } + + "m_pitchRange" // float + { + "windows" "180" + "linux" "196" + "mac" "196" + } + + "m_pitchTolerance" // float + { + "windows" "184" + "linux" "200" + "mac" "200" + } + + "m_fireLast" // float + { + "windows" "188" + "linux" "204" + "mac" "204" + } + + "m_fireRate" // float + { + "windows" "192" + "linux" "208" + "mac" "208" + } + + "m_lastSightTime" // float + { + "windows" "196" + "linux" "212" + "mac" "212" + } + + "m_persist" // float + { + "windows" "200" + "linux" "216" + "mac" "216" + } + + "m_minRange" // float + { + "windows" "204" + "linux" "220" + "mac" "220" + } + + "m_maxRange" // float + { + "windows" "208" + "linux" "224" + "mac" "224" + } + + "m_barrelPos" // Vector + { + "windows" "212" + "linux" "228" + "mac" "228" + } + + "m_spriteScale" // float + { + "windows" "224" + "linux" "240" + "mac" "240" + } + + "m_iszSpriteSmoke" // int + { + "windows" "228" + "linux" "244" + "mac" "244" + } + + "m_iszSpriteFlash" // int + { + "windows" "232" + "linux" "248" + "mac" "248" + } + + "m_bulletType" // enum TANKBULLET + { + "windows" "236" + "linux" "252" + "mac" "252" + } + + "m_iBulletDamage" // int + { + "windows" "240" + "linux" "256" + "mac" "256" + } + + "m_sightOrigin" // Vector + { + "windows" "244" + "linux" "260" + "mac" "260" + } + + "m_spread" // int + { + "windows" "256" + "linux" "272" + "mac" "272" + } + + "m_iszMaster" // int + { + "windows" "260" + "linux" "276" + "mac" "276" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cfunctankcontrols.txt b/gamedata/common.games/entities.games/cstrike/offsets-cfunctankcontrols.txt new file mode 100644 index 00000000..0ad32b9d --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cfunctankcontrols.txt @@ -0,0 +1,32 @@ +/** + * 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" + { + "CFuncTankControls" + { + "Offsets" + { + "m_pTank" // CFuncTank* + { + "windows" "136" + "linux" "152" + "mac" "152" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cfunctanklaser.txt b/gamedata/common.games/entities.games/cstrike/offsets-cfunctanklaser.txt new file mode 100644 index 00000000..72c5f544 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cfunctanklaser.txt @@ -0,0 +1,39 @@ +/** + * 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" + { + "CFuncTankLaser" + { + "Offsets" + { + "m_pLaser" // CLaser* + { + "windows" "264" + "linux" "280" + "mac" "280" + } + + "m_laserTime" // float + { + "windows" "268" + "linux" "284" + "mac" "284" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cfunctrackchange.txt b/gamedata/common.games/entities.games/cstrike/offsets-cfunctrackchange.txt new file mode 100644 index 00000000..fad53ba6 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cfunctrackchange.txt @@ -0,0 +1,88 @@ +/** + * 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" + { + "CFuncTrackChange" + { + "Offsets" + { + "m_trackTop" // CPathTrack* + { + "windows" "324" + "linux" "344" + "mac" "344" + } + + "m_trackBottom" // CPathTrack* + { + "windows" "328" + "linux" "348" + "mac" "348" + } + + "m_train" // CFuncTrackTrain* + { + "windows" "332" + "linux" "352" + "mac" "352" + } + + "m_trackTopName" // int + { + "windows" "336" + "linux" "356" + "mac" "356" + } + + "m_trackBottomName" // int + { + "windows" "340" + "linux" "360" + "mac" "360" + } + + "m_trainName" // int + { + "windows" "344" + "linux" "364" + "mac" "364" + } + + "m_code" // TRAIN_CODE + { + "windows" "348" + "linux" "368" + "mac" "368" + } + + "m_targetState" // int + { + "windows" "352" + "linux" "372" + "mac" "372" + } + + "m_use" // int + { + "windows" "356" + "linux" "376" + "mac" "376" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cfunctracktrain.txt b/gamedata/common.games/entities.games/cstrike/offsets-cfunctracktrain.txt new file mode 100644 index 00000000..2d54671f --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cfunctracktrain.txt @@ -0,0 +1,144 @@ +/** + * 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" + { + "CFuncTrackTrain" + { + "Offsets" + { + "m_ppath" // CPathTrack* + { + "windows" "136" + "linux" "152" + "mac" "152" + } + + "m_length" // float + { + "windows" "140" + "linux" "156" + "mac" "156" + } + + "m_height" // float + { + "windows" "144" + "linux" "160" + "mac" "160" + } + + "m_speed" // float + { + "windows" "148" + "linux" "164" + "mac" "164" + } + + "m_dir" // float + { + "windows" "152" + "linux" "168" + "mac" "168" + } + + "m_startSpeed" // float + { + "windows" "156" + "linux" "172" + "mac" "172" + } + + "m_controlMins" // Vector + { + "windows" "160" + "linux" "176" + "mac" "176" + } + + "m_controlMaxs" // Vector + { + "windows" "172" + "linux" "188" + "mac" "188" + } + + "m_soundPlaying" // int + { + "windows" "184" + "linux" "200" + "mac" "200" + } + + "m_sounds" // int + { + "windows" "188" + "linux" "204" + "mac" "204" + } + + "m_flVolume" // float + { + "windows" "192" + "linux" "208" + "mac" "208" + } + + "m_flBank" // float + { + "windows" "196" + "linux" "212" + "mac" "212" + } + + "m_oldSpeed" // float + { + "windows" "200" + "linux" "216" + "mac" "216" + } + + "m_fTurnAngle" // float + { + "windows" "204" + "linux" "220" + "mac" "220" + } + + "m_flSteeringWheelDecay" // float + { + "windows" "208" + "linux" "224" + "mac" "224" + } + + "m_flAcceleratorDecay" // float + { + "windows" "212" + "linux" "228" + "mac" "228" + } + + "m_usAdjustPitch" // short unsigned int + { + "windows" "216" + "linux" "232" + "mac" "232" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cfunctrain.txt b/gamedata/common.games/entities.games/cstrike/offsets-cfunctrain.txt new file mode 100644 index 00000000..fcb3d36a --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cfunctrain.txt @@ -0,0 +1,60 @@ +/** + * 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" + { + "CFuncTrain" + { + "Offsets" + { + "m_vStartPosition" // Vector + { + "windows" "300" + "linux" "320" + "mac" "320" + } + + "m_pevFirstTarget" // entvars_t* + { + "windows" "312" + "linux" "332" + "mac" "332" + } + + "m_pevCurrentTarget" // entvars_t* + { + "windows" "316" + "linux" "336" + "mac" "336" + } + + "m_sounds" // int + { + "windows" "320" + "linux" "340" + "mac" "340" + } + + "m_activated" // BOOL + { + "windows" "324" + "linux" "344" + "mac" "344" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cfuncvehicle.txt b/gamedata/common.games/entities.games/cstrike/offsets-cfuncvehicle.txt new file mode 100644 index 00000000..9b46273d --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cfuncvehicle.txt @@ -0,0 +1,256 @@ +/** + * 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" + { + "CFuncVehicle" + { + "Offsets" + { + "m_ppath" // CPathTrack* + { + "windows" "136" + "linux" "152" + "mac" "152" + } + + "m_length" // float + { + "windows" "140" + "linux" "156" + "mac" "156" + } + + "m_width" // float + { + "windows" "144" + "linux" "160" + "mac" "160" + } + + "m_height" // float + { + "windows" "148" + "linux" "164" + "mac" "164" + } + + "m_speed" // float + { + "windows" "152" + "linux" "168" + "mac" "168" + } + + "m_dir" // float + { + "windows" "156" + "linux" "172" + "mac" "172" + } + + "m_startSpeed" // float + { + "windows" "160" + "linux" "176" + "mac" "176" + } + + "m_controlMins" // Vector + { + "windows" "164" + "linux" "180" + "mac" "180" + } + + "m_controlMaxs" // Vector + { + "windows" "176" + "linux" "192" + "mac" "192" + } + + "m_soundPlaying" // int + { + "windows" "188" + "linux" "204" + "mac" "204" + } + + "m_sounds" // int + { + "windows" "192" + "linux" "208" + "mac" "208" + } + + "m_acceleration" // int + { + "windows" "196" + "linux" "212" + "mac" "212" + } + + "m_flVolume" // float + { + "windows" "200" + "linux" "216" + "mac" "216" + } + + "m_flBank" // float + { + "windows" "204" + "linux" "220" + "mac" "220" + } + + "m_oldSpeed" // float + { + "windows" "208" + "linux" "224" + "mac" "224" + } + + "m_iTurnAngle" // int + { + "windows" "212" + "linux" "228" + "mac" "228" + } + + "m_flSteeringWheelDecay" // float + { + "windows" "216" + "linux" "232" + "mac" "232" + } + + "m_flAcceleratorDecay" // float + { + "windows" "220" + "linux" "236" + "mac" "236" + } + + "m_flTurnStartTime" // float + { + "windows" "224" + "linux" "240" + "mac" "240" + } + + "m_flLaunchTime" // float + { + "windows" "228" + "linux" "244" + "mac" "244" + } + + "m_flLastNormalZ" // float + { + "windows" "232" + "linux" "248" + "mac" "248" + } + + "m_flCanTurnNow" // float + { + "windows" "236" + "linux" "252" + "mac" "252" + } + + "m_flUpdateSound" // float + { + "windows" "240" + "linux" "256" + "mac" "256" + } + + "m_vFrontLeft" // Vector + { + "windows" "244" + "linux" "260" + "mac" "260" + } + + "m_vFront" // Vector + { + "windows" "256" + "linux" "272" + "mac" "272" + } + + "m_vFrontRight" // Vector + { + "windows" "268" + "linux" "284" + "mac" "284" + } + + "m_vBackLeft" // Vector + { + "windows" "280" + "linux" "296" + "mac" "296" + } + + "m_vBack" // Vector + { + "windows" "292" + "linux" "308" + "mac" "308" + } + + "m_vBackRight" // Vector + { + "windows" "304" + "linux" "320" + "mac" "320" + } + + "m_vSurfaceNormal" // Vector + { + "windows" "316" + "linux" "332" + "mac" "332" + } + + "m_vVehicleDirection" // Vector + { + "windows" "328" + "linux" "344" + "mac" "344" + } + + "m_pDriver" // CBasePlayer* + { + "windows" "340" + "linux" "356" + "mac" "356" + } + + "m_usAdjustPitch" // short unsigned int + { + "windows" "344" + "linux" "360" + "mac" "360" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cfuncweaponcheck.txt b/gamedata/common.games/entities.games/cstrike/offsets-cfuncweaponcheck.txt new file mode 100644 index 00000000..e3e8ecb7 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cfuncweaponcheck.txt @@ -0,0 +1,67 @@ +/** + * 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" + { + "CFuncWeaponCheck" + { + "Offsets" + { + "sTriggerWithItems" // string_t + { + "windows" "136" + "linux" "152" + "mac" "152" + } + + "sTriggerNoItems" // string_t + { + "windows" "140" + "linux" "156" + "mac" "156" + } + + "sMaster" // string_t + { + "windows" "144" + "linux" "160" + "mac" "160" + } + + "sItemName" // unsigned int[32] + { + "windows" "148" + "linux" "164" + "mac" "164" + } + + "iItemCount" // int + { + "windows" "276" + "linux" "292" + "mac" "292" + } + + "iAnyWeapon" // int + { + "windows" "280" + "linux" "296" + "mac" "296" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cg3sg1.txt b/gamedata/common.games/entities.games/cstrike/offsets-cg3sg1.txt new file mode 100644 index 00000000..68532d9a --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cg3sg1.txt @@ -0,0 +1,39 @@ +/** + * 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" + { + "CG3SG1" + { + "Offsets" + { + "m_iShell" // int + { + "windows" "320" + "linux" "336" + "mac" "336" + } + + "m_usFireG3SG1" // short unsigned int + { + "windows" "324" + "linux" "340" + "mac" "340" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cgalil.txt b/gamedata/common.games/entities.games/cstrike/offsets-cgalil.txt new file mode 100644 index 00000000..fdcc5871 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cgalil.txt @@ -0,0 +1,46 @@ +/** + * 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" + { + "CGalil" + { + "Offsets" + { + "m_iShell" // int + { + "windows" "320" + "linux" "336" + "mac" "336" + } + + "iShellOn" // int + { + "windows" "324" + "linux" "340" + "mac" "340" + } + + "m_usFireGalil" // short unsigned int + { + "windows" "328" + "linux" "344" + "mac" "344" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cgameplayerequip.txt b/gamedata/common.games/entities.games/cstrike/offsets-cgameplayerequip.txt new file mode 100644 index 00000000..1f69d5b6 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cgameplayerequip.txt @@ -0,0 +1,39 @@ +/** + * 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" + { + "CGamePlayerEquip" + { + "Offsets" + { + "m_weaponNames" // unsigned int[32] + { + "windows" "140" + "linux" "156" + "mac" "156" + } + + "m_weaponCount" // int[32] + { + "windows" "268" + "linux" "284" + "mac" "284" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cgameplayerzone.txt b/gamedata/common.games/entities.games/cstrike/offsets-cgameplayerzone.txt new file mode 100644 index 00000000..a03414ce --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cgameplayerzone.txt @@ -0,0 +1,53 @@ +/** + * 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" + { + "CGamePlayerZone" + { + "Offsets" + { + "m_iszInTarget" // string_t + { + "windows" "140" + "linux" "156" + "mac" "156" + } + + "m_iszOutTarget" // string_t + { + "windows" "144" + "linux" "160" + "mac" "160" + } + + "m_iszInCount" // string_t + { + "windows" "148" + "linux" "164" + "mac" "164" + } + + "m_iszOutCount" // string_t + { + "windows" "152" + "linux" "168" + "mac" "168" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cgameteammaster.txt b/gamedata/common.games/entities.games/cstrike/offsets-cgameteammaster.txt new file mode 100644 index 00000000..03a76b1e --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cgameteammaster.txt @@ -0,0 +1,39 @@ +/** + * 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" + { + "CGameTeamMaster" + { + "Offsets" + { + "m_teamIndex" // int + { + "windows" "140" + "linux" "156" + "mac" "156" + } + + "triggerType" // USE_TYPE + { + "windows" "144" + "linux" "160" + "mac" "160" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cgametext.txt b/gamedata/common.games/entities.games/cstrike/offsets-cgametext.txt new file mode 100644 index 00000000..6b655268 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cgametext.txt @@ -0,0 +1,32 @@ +/** + * 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" + { + "CGameText" + { + "Offsets" + { + "m_textParms" // hudtextparms_t + { + "windows" "140" + "linux" "156" + "mac" "156" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cgib.txt b/gamedata/common.games/entities.games/cstrike/offsets-cgib.txt new file mode 100644 index 00000000..99a4bc2e --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cgib.txt @@ -0,0 +1,53 @@ +/** + * 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" + { + "CGib" + { + "Offsets" + { + "m_bloodColor" // int + { + "windows" "136" + "linux" "152" + "mac" "152" + } + + "m_cBloodDecals" // int + { + "windows" "140" + "linux" "156" + "mac" "156" + } + + "m_material" // int + { + "windows" "144" + "linux" "160" + "mac" "160" + } + + "m_lifeTime" // float + { + "windows" "148" + "linux" "164" + "mac" "164" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cgibshooter.txt b/gamedata/common.games/entities.games/cstrike/offsets-cgibshooter.txt new file mode 100644 index 00000000..13778cf1 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cgibshooter.txt @@ -0,0 +1,74 @@ +/** + * 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" + { + "CGibShooter" + { + "Offsets" + { + "m_iGibs" // int + { + "windows" "144" + "linux" "160" + "mac" "160" + } + + "m_iGibCapacity" // int + { + "windows" "148" + "linux" "164" + "mac" "164" + } + + "m_iGibMaterial" // int + { + "windows" "152" + "linux" "168" + "mac" "168" + } + + "m_iGibModelIndex" // int + { + "windows" "156" + "linux" "172" + "mac" "172" + } + + "m_flGibVelocity" // float + { + "windows" "160" + "linux" "176" + "mac" "176" + } + + "m_flVariance" // float + { + "windows" "164" + "linux" "180" + "mac" "180" + } + + "m_flGibLife" // float + { + "windows" "168" + "linux" "184" + "mac" "184" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cglock18.txt b/gamedata/common.games/entities.games/cstrike/offsets-cglock18.txt new file mode 100644 index 00000000..e63eceb1 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cglock18.txt @@ -0,0 +1,39 @@ +/** + * 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" + { + "CGLOCK18" + { + "Offsets" + { + "m_iShell" // int + { + "windows" "320" + "linux" "336" + "mac" "336" + } + + "m_bBurstFire" // bool + { + "windows" "324" + "linux" "340" + "mac" "340" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cglow.txt b/gamedata/common.games/entities.games/cstrike/offsets-cglow.txt new file mode 100644 index 00000000..3cbc516d --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cglow.txt @@ -0,0 +1,39 @@ +/** + * 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" + { + "CGlow" + { + "Offsets" + { + "m_lastTime" // float + { + "windows" "136" + "linux" "152" + "mac" "152" + } + + "m_maxFrame" // float + { + "windows" "140" + "linux" "156" + "mac" "156" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cgrenade.txt b/gamedata/common.games/entities.games/cstrike/offsets-cgrenade.txt new file mode 100644 index 00000000..d30d507e --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cgrenade.txt @@ -0,0 +1,193 @@ +/** + * 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" + { + "CGrenade" + { + "Offsets" + { + "m_bStartDefuse" // bool + { + "windows" "384" + "linux" "404" + "mac" "404" + } + + "m_bIsC4" // bool + { + "windows" "385" + "linux" "405" + "mac" "405" + } + + "m_pBombDefuser" // EHANDLE + { + "windows" "388" + "linux" "408" + "mac" "408" + } + + "m_flDefuseCountDown" // float + { + "windows" "396" + "linux" "416" + "mac" "416" + } + + "m_flC4Blow" // float + { + "windows" "400" + "linux" "420" + "mac" "420" + } + + "m_flNextFreqInterval" // float + { + "windows" "404" + "linux" "424" + "mac" "424" + } + + "m_flNextBeep" // float + { + "windows" "408" + "linux" "428" + "mac" "428" + } + + "m_flNextFreq" // float + { + "windows" "412" + "linux" "432" + "mac" "432" + } + + "m_sBeepName" // char* + { + "windows" "416" + "linux" "436" + "mac" "436" + } + + "m_fAttenu" // float + { + "windows" "420" + "linux" "440" + "mac" "440" + } + + "m_flNextBlink" // float + { + "windows" "424" + "linux" "444" + "mac" "444" + } + + "m_fNextDefuse" // float + { + "windows" "428" + "linux" "448" + "mac" "448" + } + + "m_bJustBlew" // bool + { + "windows" "432" + "linux" "452" + "mac" "452" + } + + "m_iTeam" // int + { + "windows" "436" + "linux" "456" + "mac" "456" + } + + "m_iCurWave" // int + { + "windows" "440" + "linux" "460" + "mac" "460" + } + + "m_pentCurBombTarget" // edict_t* + { + "windows" "444" + "linux" "464" + "mac" "464" + } + + "m_SGSmoke" // int + { + "windows" "448" + "linux" "468" + "mac" "468" + } + + "m_angle" // int + { + "windows" "452" + "linux" "472" + "mac" "472" + } + + "m_usEvent" // short unsigned int + { + "windows" "456" + "linux" "476" + "mac" "476" + } + + "m_bLightSmoke" // bool + { + "windows" "458" + "linux" "478" + "mac" "478" + } + + "m_bDetonated" // bool + { + "windows" "459" + "linux" "479" + "mac" "479" + } + + "m_vSmokeDetonate" // Vector + { + "windows" "460" + "linux" "480" + "mac" "480" + } + + "m_iBounceCount" // int + { + "windows" "472" + "linux" "492" + "mac" "492" + } + + "m_fRegisteredSound" // BOOL + { + "windows" "476" + "linux" "496" + "mac" "496" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cguntarget.txt b/gamedata/common.games/entities.games/cstrike/offsets-cguntarget.txt new file mode 100644 index 00000000..e0034a19 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cguntarget.txt @@ -0,0 +1,32 @@ +/** + * 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" + { + "CGunTarget" + { + "Offsets" + { + "m_on" // BOOL + { + "windows" "384" + "linux" "404" + "mac" "404" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-chegrenade.txt b/gamedata/common.games/entities.games/cstrike/offsets-chegrenade.txt new file mode 100644 index 00000000..f1920d21 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-chegrenade.txt @@ -0,0 +1,32 @@ +/** + * 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" + { + "CHEGrenade" + { + "Offsets" + { + "m_usCreateExplosion" // short unsigned int + { + "windows" "320" + "linux" "336" + "mac" "336" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-chostage.txt b/gamedata/common.games/entities.games/cstrike/offsets-chostage.txt new file mode 100644 index 00000000..b1d72bfa --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-chostage.txt @@ -0,0 +1,242 @@ +/** + * 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" + { + "CHostage" + { + "Offsets" + { + "m_Activity" // int + { + "windows" "424" + "linux" "404" + "mac" "404" + } + + "m_bTouched" // BOOL + { + "windows" "428" + "linux" "408" + "mac" "408" + } + + "m_bRescueMe" // BOOL + { + "windows" "432" + "linux" "412" + "mac" "412" + } + + "m_flFlinchTime" // float + { + "windows" "436" + "linux" "416" + "mac" "416" + } + + "m_flNextChange" // float + { + "windows" "440" + "linux" "420" + "mac" "420" + } + + "m_flMarkPosition" // float + { + "windows" "444" + "linux" "424" + "mac" "424" + } + + "m_iModel" // int + { + "windows" "448" + "linux" "428" + "mac" "428" + } + + "m_iSkin" // int + { + "windows" "452" + "linux" "432" + "mac" "432" + } + + "m_flNextRadarTime" // float + { + "windows" "456" + "linux" "436" + "mac" "436" + } + + "m_State" // enum state + { + "windows" "460" + "linux" "440" + "mac" "440" + } + + "m_vStart" // Vector + { + "windows" "464" + "linux" "444" + "mac" "444" + } + + "m_vStartAngles" // Vector + { + "windows" "476" + "linux" "456" + "mac" "456" + } + + "m_vPathToFollow" // Vector[20] + { + "windows" "488" + "linux" "468" + "mac" "468" + } + + "m_iWaypoint" // int + { + "windows" "728" + "linux" "708" + "mac" "708" + } + + "m_target" // CBasePlayer* + { + "windows" "732" + "linux" "712" + "mac" "712" + } + + "m_LocalNav" // CLocalNav* + { + "windows" "736" + "linux" "716" + "mac" "716" + } + + "nTargetNode" // int + { + "windows" "740" + "linux" "720" + "mac" "720" + } + + "vecNodes" // Vector[100] + { + "windows" "744" + "linux" "724" + "mac" "724" + } + + "m_hStoppedTargetEnt" // EHANDLE + { + "windows" "1944" + "linux" "1924" + "mac" "1924" + } + + "m_flNextFullThink" // float + { + "windows" "1952" + "linux" "1932" + "mac" "1932" + } + + "m_flPathCheckInterval" // float + { + "windows" "1956" + "linux" "1936" + "mac" "1936" + } + + "m_flLastPathCheck" // float + { + "windows" "1960" + "linux" "1940" + "mac" "1940" + } + + "m_nPathNodes" // int + { + "windows" "1964" + "linux" "1944" + "mac" "1944" + } + + "m_fHasPath" // BOOL + { + "windows" "1968" + "linux" "1948" + "mac" "1948" + } + + "m_flPathAcquired" // float + { + "windows" "1972" + "linux" "1952" + "mac" "1952" + } + + "m_vOldPos" // Vector + { + "windows" "1976" + "linux" "1956" + "mac" "1956" + } + + "m_iHostageIndex" // int + { + "windows" "1988" + "linux" "1968" + "mac" "1968" + } + + "m_bStuck" // BOOL + { + "windows" "1992" + "linux" "1972" + "mac" "1972" + } + + "m_flStuckTime" // float + { + "windows" "1996" + "linux" "1976" + "mac" "1976" + } + + "m_improv" // CHostageImprov* + { + "windows" "2000" + "linux" "1980" + "mac" "1980" + } + + "m_whichModel" // enum ModelType + { + "windows" "2004" + "linux" "1984" + "mac" "1984" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-chostageimprov.txt b/gamedata/common.games/entities.games/cstrike/offsets-chostageimprov.txt new file mode 100644 index 00000000..8cbc401e --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-chostageimprov.txt @@ -0,0 +1,508 @@ +/** + * 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" + { + "CHostageImprov" + { + "Offsets" + { + "m_coughTimer" // CountdownTimer + { + "windows" "4" + "linux" "4" + "mac" "4" + } + + "m_grenadeTimer" // CountdownTimer + { + "windows" "12" + "linux" "12" + "mac" "12" + } + + "m_hostage" // CHostage* + { + "windows" "20" + "linux" "20" + "mac" "20" + } + + "m_lastKnownArea" // CNavArea* + { + "windows" "24" + "linux" "24" + "mac" "24" + } + + "m_centroid" // Vector + { + "windows" "28" + "linux" "28" + "mac" "28" + } + + "m_eye" // Vector + { + "windows" "40" + "linux" "40" + "mac" "40" + } + + "m_behavior" // HostageStateMachine + { + "windows" "52" + "linux" "52" + "mac" "52" + } + + "m_idleState" // HostageIdleState + { + "windows" "68" + "linux" "68" + "mac" "68" + } + + "m_escapeState" // HostageEscapeState + { + "windows" "140" + "linux" "140" + "mac" "140" + } + + "m_retreatState" // HostageRetreatState + { + "windows" "240" + "linux" "240" + "mac" "240" + } + + "m_followState" // HostageFollowState + { + "windows" "252" + "linux" "252" + "mac" "252" + } + + "m_animateState" // HostageAnimateState + { + "windows" "328" + "linux" "328" + "mac" "328" + } + + "m_didFidget" // bool + { + "windows" "460" + "linux" "460" + "mac" "460" + } + + "m_aggression" // float + { + "windows" "464" + "linux" "464" + "mac" "464" + } + + "m_lastSawCT" // IntervalTimer + { + "windows" "468" + "linux" "468" + "mac" "468" + } + + "m_lastSawT" // IntervalTimer + { + "windows" "472" + "linux" "472" + "mac" "472" + } + + "m_checkNearbyTerroristTimer" // CountdownTimer + { + "windows" "476" + "linux" "476" + "mac" "476" + } + + "m_isTerroristNearby" // bool + { + "windows" "484" + "linux" "484" + "mac" "484" + } + + "m_nearbyTerroristTimer" // CountdownTimer + { + "windows" "488" + "linux" "488" + "mac" "488" + } + + "m_scaredTimer" // CountdownTimer + { + "windows" "496" + "linux" "496" + "mac" "496" + } + + "m_scareIntensity" // enum ScareType + { + "windows" "504" + "linux" "504" + "mac" "504" + } + + "m_ignoreTerroristTimer" // CountdownTimer + { + "windows" "508" + "linux" "508" + "mac" "508" + } + + "m_blinkTimer" // CountdownTimer + { + "windows" "516" + "linux" "516" + "mac" "516" + } + + "m_blinkCounter" // char + { + "windows" "524" + "linux" "524" + "mac" "524" + } + + "m_lastInjuryTimer" // IntervalTimer + { + "windows" "528" + "linux" "528" + "mac" "528" + } + + "m_lastNoiseTimer" // IntervalTimer + { + "windows" "532" + "linux" "532" + "mac" "532" + } + + "m_avoidFriendTimer" // CountdownTimer + { + "windows" "536" + "linux" "536" + "mac" "536" + } + + "m_isFriendInTheWay" // bool + { + "windows" "544" + "linux" "544" + "mac" "544" + } + + "m_chatterTimer" // CountdownTimer + { + "windows" "548" + "linux" "548" + "mac" "548" + } + + "m_isDelayedChatterPending" // bool + { + "windows" "556" + "linux" "556" + "mac" "556" + } + + "m_delayedChatterTimer" // CountdownTimer + { + "windows" "560" + "linux" "560" + "mac" "560" + } + + "m_delayedChatterType" // enum HostageChatterType + { + "windows" "568" + "linux" "568" + "mac" "568" + } + + "m_delayedChatterMustSpeak" // bool + { + "windows" "572" + "linux" "572" + "mac" "572" + } + + "m_talkingTimer" // CountdownTimer + { + "windows" "576" + "linux" "576" + "mac" "576" + } + + "m_moveFlags" // unsigned int + { + "windows" "584" + "linux" "584" + "mac" "584" + } + + "m_vel" // Vector2D + { + "windows" "588" + "linux" "588" + "mac" "588" + } + + "m_actualVel" // Vector + { + "windows" "596" + "linux" "596" + "mac" "596" + } + + "m_moveGoal" // Vector + { + "windows" "608" + "linux" "608" + "mac" "608" + } + + "m_knownGoodPos" // Vector + { + "windows" "620" + "linux" "620" + "mac" "620" + } + + "m_hasKnownGoodPos" // bool + { + "windows" "632" + "linux" "632" + "mac" "632" + } + + "m_priorKnownGoodPos" // Vector + { + "windows" "636" + "linux" "636" + "mac" "636" + } + + "m_hasPriorKnownGoodPos" // bool + { + "windows" "648" + "linux" "648" + "mac" "648" + } + + "m_priorKnownGoodPosTimer" // CountdownTimer + { + "windows" "652" + "linux" "652" + "mac" "652" + } + + "m_collisionTimer" // IntervalTimer + { + "windows" "660" + "linux" "660" + "mac" "660" + } + + "m_viewGoal" // Vector + { + "windows" "664" + "linux" "664" + "mac" "664" + } + + "m_isLookingAt" // bool + { + "windows" "676" + "linux" "676" + "mac" "676" + } + + "m_faceGoal" // Vector + { + "windows" "680" + "linux" "680" + "mac" "680" + } + + "m_isFacingTo" // bool + { + "windows" "692" + "linux" "692" + "mac" "692" + } + + "m_path" // CNavPath + { + "windows" "696" + "linux" "696" + "mac" "696" + } + + "m_follower" // CNavPathFollower + { + "windows" "6844" + "linux" "6844" + "mac" "6844" + } + + "m_lastPosition" // Vector + { + "windows" "6940" + "linux" "6940" + "mac" "6940" + } + + "m_moveType" // enum MoveType + { + "windows" "6952" + "linux" "6952" + "mac" "6952" + } + + "m_moveLimit" // enum MoveType + { + "windows" "6956" + "linux" "6956" + "mac" "6956" + } + + "m_isCrouching" // bool + { + "windows" "6960" + "linux" "6960" + "mac" "6960" + } + + "m_minCrouchTimer" // CountdownTimer + { + "windows" "6964" + "linux" "6964" + "mac" "6964" + } + + "m_moveAngle" // float + { + "windows" "6972" + "linux" "6972" + "mac" "6972" + } + + "m_wiggleDirection" // enum NavRelativeDirType + { + "windows" "6976" + "linux" "6976" + "mac" "6976" + } + + "m_wiggleTimer" // CountdownTimer + { + "windows" "6980" + "linux" "6980" + "mac" "6980" + } + + "m_wiggleJumpTimer" // CountdownTimer + { + "windows" "6988" + "linux" "6988" + "mac" "6988" + } + + "m_inhibitObstacleAvoidance" // CountdownTimer + { + "windows" "6996" + "linux" "6996" + "mac" "6996" + } + + "m_jumpTimer" // CountdownTimer + { + "windows" "7004" + "linux" "7004" + "mac" "7004" + } + + "m_hasJumped" // bool + { + "windows" "7012" + "linux" "7012" + "mac" "7012" + } + + "m_hasJumpedIntoAir" // bool + { + "windows" "7013" + "linux" "7013" + "mac" "7013" + } + + "m_jumpTarget" // Vector + { + "windows" "7016" + "linux" "7016" + "mac" "7016" + } + + "m_clearPathTimer" // CountdownTimer + { + "windows" "7028" + "linux" "7028" + "mac" "7028" + } + + "m_traversingLadder" // bool + { + "windows" "7036" + "linux" "7036" + "mac" "7036" + } + + "m_visiblePlayer" // EHANDLE[32] + { + "windows" "7040" + "linux" "7040" + "mac" "7040" + } + + "m_visiblePlayerCount" // int + { + "windows" "7296" + "linux" "7296" + "mac" "7296" + } + + "m_visionTimer" // CountdownTimer + { + "windows" "7300" + "linux" "7300" + "mac" "7300" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-chostagemanager.txt b/gamedata/common.games/entities.games/cstrike/offsets-chostagemanager.txt new file mode 100644 index 00000000..6f3905aa --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-chostagemanager.txt @@ -0,0 +1,46 @@ +/** + * 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" + { + "CHostageManager" + { + "Offsets" + { + "m_hostage" // CHostage*[12] + { + "windows" "0" + "linux" "0" + "mac" "0" + } + + "m_hostageCount" // int + { + "windows" "48" + "linux" "48" + "mac" "48" + } + + "m_chatter" // SimpleChatter + { + "windows" "52" + "linux" "52" + "mac" "52" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cknife.txt b/gamedata/common.games/entities.games/cstrike/offsets-cknife.txt new file mode 100644 index 00000000..5ce8f349 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cknife.txt @@ -0,0 +1,39 @@ +/** + * 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" + { + "CKnife" + { + "Offsets" + { + "m_trHit" // TraceResult + { + "windows" "320" + "linux" "336" + "mac" "336" + } + + "m_usKnife" // short unsigned int + { + "windows" "376" + "linux" "392" + "mac" "392" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-claser.txt b/gamedata/common.games/entities.games/cstrike/offsets-claser.txt new file mode 100644 index 00000000..116ee817 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-claser.txt @@ -0,0 +1,46 @@ +/** + * 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" + { + "CLaser" + { + "Offsets" + { + "m_pSprite" // CSprite* + { + "windows" "136" + "linux" "152" + "mac" "152" + } + + "m_iszSpriteName" // int + { + "windows" "140" + "linux" "156" + "mac" "156" + } + + "m_firePosition" // Vector + { + "windows" "144" + "linux" "160" + "mac" "160" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-clight.txt b/gamedata/common.games/entities.games/cstrike/offsets-clight.txt new file mode 100644 index 00000000..1f03762e --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-clight.txt @@ -0,0 +1,46 @@ +/** + * 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" + { + "CLight" + { + "Offsets" + { + "m_iStyle" // int + { + "windows" "136" + "linux" "152" + "mac" "152" + } + + "m_iszPattern" // int + { + "windows" "140" + "linux" "156" + "mac" "156" + } + + "m_iStartedOff" // int + { + "windows" "144" + "linux" "160" + "mac" "160" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-clightning.txt b/gamedata/common.games/entities.games/cstrike/offsets-clightning.txt new file mode 100644 index 00000000..ffd15b74 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-clightning.txt @@ -0,0 +1,116 @@ +/** + * 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" + { + "CLightning" + { + "Offsets" + { + "m_active" // int + { + "windows" "136" + "linux" "152" + "mac" "152" + } + + "m_iszStartEntity" // int + { + "windows" "140" + "linux" "156" + "mac" "156" + } + + "m_iszEndEntity" // int + { + "windows" "144" + "linux" "160" + "mac" "160" + } + + "m_life" // float + { + "windows" "148" + "linux" "164" + "mac" "164" + } + + "m_boltWidth" // int + { + "windows" "152" + "linux" "168" + "mac" "168" + } + + "m_noiseAmplitude" // int + { + "windows" "156" + "linux" "172" + "mac" "172" + } + + "m_brightness" // int + { + "windows" "160" + "linux" "176" + "mac" "176" + } + + "m_speed" // int + { + "windows" "164" + "linux" "180" + "mac" "180" + } + + "m_restrike" // float + { + "windows" "168" + "linux" "184" + "mac" "184" + } + + "m_spriteTexture" // int + { + "windows" "172" + "linux" "188" + "mac" "188" + } + + "m_iszSpriteName" // int + { + "windows" "176" + "linux" "192" + "mac" "192" + } + + "m_frameStart" // int + { + "windows" "180" + "linux" "196" + "mac" "196" + } + + "m_radius" // float + { + "windows" "184" + "linux" "200" + "mac" "200" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cm3.txt b/gamedata/common.games/entities.games/cstrike/offsets-cm3.txt new file mode 100644 index 00000000..6553f624 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cm3.txt @@ -0,0 +1,46 @@ +/** + * 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" + { + "CM3" + { + "Offsets" + { + "m_iShell" // int + { + "windows" "320" + "linux" "336" + "mac" "336" + } + + "m_flPumpTime" // float + { + "windows" "324" + "linux" "340" + "mac" "340" + } + + "m_usFireM3" // short unsigned int + { + "windows" "328" + "linux" "344" + "mac" "344" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cmac10.txt b/gamedata/common.games/entities.games/cstrike/offsets-cmac10.txt new file mode 100644 index 00000000..99ebd1ac --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cmac10.txt @@ -0,0 +1,46 @@ +/** + * 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" + { + "CMAC10" + { + "Offsets" + { + "m_iShell" // int + { + "windows" "320" + "linux" "336" + "mac" "336" + } + + "iShellOn" // int + { + "windows" "324" + "linux" "340" + "mac" "340" + } + + "m_usFireMAC10" // short unsigned int + { + "windows" "328" + "linux" "344" + "mac" "344" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cmapinfo.txt b/gamedata/common.games/entities.games/cstrike/offsets-cmapinfo.txt new file mode 100644 index 00000000..4b06d289 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cmapinfo.txt @@ -0,0 +1,39 @@ +/** + * 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" + { + "CMapInfo" + { + "Offsets" + { + "m_iBuyingStatus" // int + { + "windows" "136" + "linux" "152" + "mac" "152" + } + + "m_flBombRadius" // float + { + "windows" "140" + "linux" "156" + "mac" "156" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cmomentarydoor.txt b/gamedata/common.games/entities.games/cstrike/offsets-cmomentarydoor.txt new file mode 100644 index 00000000..a780e2c3 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cmomentarydoor.txt @@ -0,0 +1,32 @@ +/** + * 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" + { + "CMomentaryDoor" + { + "Offsets" + { + "m_bMoveSnd" // BYTE + { + "windows" "292" + "linux" "312" + "mac" "312" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cmomentaryrotbutton.txt b/gamedata/common.games/entities.games/cstrike/offsets-cmomentaryrotbutton.txt new file mode 100644 index 00000000..debdd4ea --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cmomentaryrotbutton.txt @@ -0,0 +1,67 @@ +/** + * 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" + { + "CMomentaryRotButton" + { + "Offsets" + { + "m_lastUsed" // int + { + "windows" "292" + "linux" "312" + "mac" "312" + } + + "m_direction" // int + { + "windows" "296" + "linux" "316" + "mac" "316" + } + + "m_returnSpeed" // float + { + "windows" "300" + "linux" "320" + "mac" "320" + } + + "m_start" // Vector + { + "windows" "304" + "linux" "324" + "mac" "324" + } + + "m_end" // Vector + { + "windows" "316" + "linux" "336" + "mac" "336" + } + + "m_sounds" // int + { + "windows" "328" + "linux" "348" + "mac" "348" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cmortar.txt b/gamedata/common.games/entities.games/cstrike/offsets-cmortar.txt new file mode 100644 index 00000000..39713258 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cmortar.txt @@ -0,0 +1,32 @@ +/** + * 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" + { + "CMortar" + { + "Offsets" + { + "m_spriteTexture" // int + { + "windows" "480" + "linux" "500" + "mac" "500" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cmultimanager.txt b/gamedata/common.games/entities.games/cstrike/offsets-cmultimanager.txt new file mode 100644 index 00000000..8f736ece --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cmultimanager.txt @@ -0,0 +1,60 @@ +/** + * 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" + { + "CMultiManager" + { + "Offsets" + { + "m_cTargets" // int + { + "windows" "292" + "linux" "312" + "mac" "312" + } + + "m_index" // int + { + "windows" "296" + "linux" "316" + "mac" "316" + } + + "m_startTime" // float + { + "windows" "300" + "linux" "320" + "mac" "320" + } + + "m_iTargetName" // int[16] + { + "windows" "304" + "linux" "324" + "mac" "324" + } + + "m_flTargetDelay" // float[16] + { + "windows" "368" + "linux" "388" + "mac" "388" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cmultisource.txt b/gamedata/common.games/entities.games/cstrike/offsets-cmultisource.txt new file mode 100644 index 00000000..78974c32 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cmultisource.txt @@ -0,0 +1,53 @@ +/** + * 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" + { + "CMultiSource" + { + "Offsets" + { + "m_rgEntities" // EHANDLE[32] + { + "windows" "136" + "linux" "152" + "mac" "152" + } + + "m_rgTriggered" // int[32] + { + "windows" "392" + "linux" "408" + "mac" "408" + } + + "m_iTotal" // int + { + "windows" "520" + "linux" "536" + "mac" "536" + } + + "m_globalstate" // string_t + { + "windows" "524" + "linux" "540" + "mac" "540" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cp228.txt b/gamedata/common.games/entities.games/cstrike/offsets-cp228.txt new file mode 100644 index 00000000..6d47fe33 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cp228.txt @@ -0,0 +1,39 @@ +/** + * 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" + { + "CP228" + { + "Offsets" + { + "m_iShell" // int + { + "windows" "320" + "linux" "336" + "mac" "336" + } + + "m_usFireP228" // short unsigned int + { + "windows" "324" + "linux" "340" + "mac" "340" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cp90.txt b/gamedata/common.games/entities.games/cstrike/offsets-cp90.txt new file mode 100644 index 00000000..56be8a98 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cp90.txt @@ -0,0 +1,46 @@ +/** + * 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" + { + "CP90" + { + "Offsets" + { + "m_iShell" // int + { + "windows" "320" + "linux" "336" + "mac" "336" + } + + "iShellOn" // int + { + "windows" "324" + "linux" "340" + "mac" "340" + } + + "m_usFireP90" // short unsigned int + { + "windows" "328" + "linux" "344" + "mac" "344" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cpathcorner.txt b/gamedata/common.games/entities.games/cstrike/offsets-cpathcorner.txt new file mode 100644 index 00000000..69c0b6f9 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cpathcorner.txt @@ -0,0 +1,32 @@ +/** + * 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" + { + "CPathCorner" + { + "Offsets" + { + "m_flWait" // float + { + "windows" "136" + "linux" "152" + "mac" "152" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cpathtrack.txt b/gamedata/common.games/entities.games/cstrike/offsets-cpathtrack.txt new file mode 100644 index 00000000..6b9f7d6a --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cpathtrack.txt @@ -0,0 +1,60 @@ +/** + * 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" + { + "CPathTrack" + { + "Offsets" + { + "m_length" // float + { + "windows" "136" + "linux" "152" + "mac" "152" + } + + "m_altName" // string_t + { + "windows" "140" + "linux" "156" + "mac" "156" + } + + "m_pnext" // CPathTrack* + { + "windows" "144" + "linux" "160" + "mac" "160" + } + + "m_pprevious" // CPathTrack* + { + "windows" "148" + "linux" "164" + "mac" "164" + } + + "m_paltpath" // CPathTrack* + { + "windows" "152" + "linux" "168" + "mac" "168" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cpendulum.txt b/gamedata/common.games/entities.games/cstrike/offsets-cpendulum.txt new file mode 100644 index 00000000..d48c514d --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cpendulum.txt @@ -0,0 +1,81 @@ +/** + * 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" + { + "CPendulum" + { + "Offsets" + { + "m_accel" // float + { + "windows" "136" + "linux" "152" + "mac" "152" + } + + "m_distance" // float + { + "windows" "140" + "linux" "156" + "mac" "156" + } + + "m_time" // float + { + "windows" "144" + "linux" "160" + "mac" "160" + } + + "m_damp" // float + { + "windows" "148" + "linux" "164" + "mac" "164" + } + + "m_maxSpeed" // float + { + "windows" "152" + "linux" "168" + "mac" "168" + } + + "m_dampSpeed" // float + { + "windows" "156" + "linux" "172" + "mac" "172" + } + + "m_center" // Vector + { + "windows" "160" + "linux" "176" + "mac" "176" + } + + "m_start" // Vector + { + "windows" "172" + "linux" "188" + "mac" "188" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cplattrigger.txt b/gamedata/common.games/entities.games/cstrike/offsets-cplattrigger.txt new file mode 100644 index 00000000..10f037b2 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cplattrigger.txt @@ -0,0 +1,32 @@ +/** + * 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" + { + "CPlatTrigger" + { + "Offsets" + { + "m_pPlatform" // CFuncPlat* + { + "windows" "136" + "linux" "152" + "mac" "152" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cpointentity.txt b/gamedata/common.games/entities.games/cstrike/offsets-cpointentity.txt new file mode 100644 index 00000000..46044c59 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cpointentity.txt @@ -0,0 +1,25 @@ +/** + * 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" + { + "CPointEntity" + { + "Offsets" + { } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cpushable.txt b/gamedata/common.games/entities.games/cstrike/offsets-cpushable.txt new file mode 100644 index 00000000..e74fdce6 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cpushable.txt @@ -0,0 +1,53 @@ +/** + * 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" + { + "CPushable" + { + "Offsets" + { + "m_soundNames" // char*[3] + { + "windows" "-16" + "linux" "0" + "mac" "0" + } + + "m_lastSound" // int + { + "windows" "172" + "linux" "188" + "mac" "188" + } + + "m_maxSpeed" // float + { + "windows" "176" + "linux" "192" + "mac" "192" + } + + "m_soundTime" // float + { + "windows" "180" + "linux" "196" + "mac" "196" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-crecharge.txt b/gamedata/common.games/entities.games/cstrike/offsets-crecharge.txt new file mode 100644 index 00000000..b75db4e1 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-crecharge.txt @@ -0,0 +1,60 @@ +/** + * 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" + { + "CRecharge" + { + "Offsets" + { + "m_flNextCharge" // float + { + "windows" "292" + "linux" "312" + "mac" "312" + } + + "m_iReactivate" // int + { + "windows" "296" + "linux" "316" + "mac" "316" + } + + "m_iJuice" // int + { + "windows" "300" + "linux" "320" + "mac" "320" + } + + "m_iOn" // int + { + "windows" "304" + "linux" "324" + "mac" "324" + } + + "m_flSoundTime" // float + { + "windows" "308" + "linux" "328" + "mac" "328" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-crevertsaved.txt b/gamedata/common.games/entities.games/cstrike/offsets-crevertsaved.txt new file mode 100644 index 00000000..91b35d77 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-crevertsaved.txt @@ -0,0 +1,39 @@ +/** + * 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" + { + "CRevertSaved" + { + "Offsets" + { + "m_messageTime" // float + { + "windows" "136" + "linux" "152" + "mac" "152" + } + + "m_loadTime" // float + { + "windows" "140" + "linux" "156" + "mac" "156" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cruleentity.txt b/gamedata/common.games/entities.games/cstrike/offsets-cruleentity.txt new file mode 100644 index 00000000..72a1e5d0 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cruleentity.txt @@ -0,0 +1,32 @@ +/** + * 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" + { + "CRuleEntity" + { + "Offsets" + { + "m_iszMaster" // string_t + { + "windows" "136" + "linux" "152" + "mac" "152" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cscout.txt b/gamedata/common.games/entities.games/cstrike/offsets-cscout.txt new file mode 100644 index 00000000..6c1c996b --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cscout.txt @@ -0,0 +1,39 @@ +/** + * 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" + { + "CSCOUT" + { + "Offsets" + { + "m_iShell" // int + { + "windows" "320" + "linux" "336" + "mac" "336" + } + + "m_usFireScout" // short unsigned int + { + "windows" "324" + "linux" "340" + "mac" "340" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-csmokegrenade.txt b/gamedata/common.games/entities.games/cstrike/offsets-csmokegrenade.txt new file mode 100644 index 00000000..db0c5ae3 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-csmokegrenade.txt @@ -0,0 +1,32 @@ +/** + * 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" + { + "CSmokeGrenade" + { + "Offsets" + { + "m_usCreateSmoke" // short unsigned int + { + "windows" "320" + "linux" "336" + "mac" "336" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-csound.txt b/gamedata/common.games/entities.games/cstrike/offsets-csound.txt new file mode 100644 index 00000000..53022bae --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-csound.txt @@ -0,0 +1,67 @@ +/** + * 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" + { + "CSound" + { + "Offsets" + { + "m_vecOrigin" // Vector + { + "windows" "0" + "linux" "0" + "mac" "0" + } + + "m_iType" // int + { + "windows" "12" + "linux" "12" + "mac" "12" + } + + "m_iVolume" // int + { + "windows" "16" + "linux" "16" + "mac" "16" + } + + "m_flExpireTime" // float + { + "windows" "20" + "linux" "20" + "mac" "20" + } + + "m_iNext" // int + { + "windows" "24" + "linux" "24" + "mac" "24" + } + + "m_iNextAudible" // int + { + "windows" "28" + "linux" "28" + "mac" "28" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-csoundent.txt b/gamedata/common.games/entities.games/cstrike/offsets-csoundent.txt new file mode 100644 index 00000000..88a3680b --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-csoundent.txt @@ -0,0 +1,60 @@ +/** + * 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" + { + "CSoundEnt" + { + "Offsets" + { + "m_iFreeSound" // int + { + "windows" "136" + "linux" "152" + "mac" "152" + } + + "m_iActiveSound" // int + { + "windows" "140" + "linux" "156" + "mac" "156" + } + + "m_cLastActiveSounds" // int + { + "windows" "144" + "linux" "160" + "mac" "160" + } + + "m_fShowReport" // BOOL + { + "windows" "148" + "linux" "164" + "mac" "164" + } + + "m_SoundPool" // CSound[64] + { + "windows" "152" + "linux" "168" + "mac" "168" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cspeaker.txt b/gamedata/common.games/entities.games/cstrike/offsets-cspeaker.txt new file mode 100644 index 00000000..9e89bef1 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cspeaker.txt @@ -0,0 +1,32 @@ +/** + * 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" + { + "CSpeaker" + { + "Offsets" + { + "m_preset" // int + { + "windows" "136" + "linux" "152" + "mac" "152" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-csprite.txt b/gamedata/common.games/entities.games/cstrike/offsets-csprite.txt new file mode 100644 index 00000000..3826f3c8 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-csprite.txt @@ -0,0 +1,39 @@ +/** + * 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" + { + "CSprite" + { + "Offsets" + { + "m_lastTime" // float + { + "windows" "136" + "linux" "152" + "mac" "152" + } + + "m_maxFrame" // float + { + "windows" "140" + "linux" "156" + "mac" "156" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-ctesteffect.txt b/gamedata/common.games/entities.games/cstrike/offsets-ctesteffect.txt new file mode 100644 index 00000000..0a0cd76e --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-ctesteffect.txt @@ -0,0 +1,60 @@ +/** + * 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" + { + "CTestEffect" + { + "Offsets" + { + "m_iLoop" // int + { + "windows" "144" + "linux" "160" + "mac" "160" + } + + "m_iBeam" // int + { + "windows" "148" + "linux" "164" + "mac" "164" + } + + "m_pBeam" // CBeam*[24] + { + "windows" "152" + "linux" "168" + "mac" "168" + } + + "m_flBeamTime" // float[24] + { + "windows" "248" + "linux" "264" + "mac" "264" + } + + "m_flStartTime" // float + { + "windows" "344" + "linux" "360" + "mac" "360" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-ctmp.txt b/gamedata/common.games/entities.games/cstrike/offsets-ctmp.txt new file mode 100644 index 00000000..d7966c02 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-ctmp.txt @@ -0,0 +1,46 @@ +/** + * 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" + { + "CTMP" + { + "Offsets" + { + "m_iShell" // int + { + "windows" "320" + "linux" "336" + "mac" "336" + } + + "iShellOn" // int + { + "windows" "324" + "linux" "340" + "mac" "340" + } + + "m_usFireTMP" // short unsigned int + { + "windows" "328" + "linux" "344" + "mac" "344" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-ctriggercamera.txt b/gamedata/common.games/entities.games/cstrike/offsets-ctriggercamera.txt new file mode 100644 index 00000000..4cf588f9 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-ctriggercamera.txt @@ -0,0 +1,116 @@ +/** + * 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" + { + "CTriggerCamera" + { + "Offsets" + { + "m_hPlayer" // EHANDLE + { + "windows" "144" + "linux" "160" + "mac" "160" + } + + "m_hTarget" // EHANDLE + { + "windows" "152" + "linux" "168" + "mac" "168" + } + + "m_pentPath" // CBaseEntity* + { + "windows" "160" + "linux" "176" + "mac" "176" + } + + "m_sPath" // int + { + "windows" "164" + "linux" "180" + "mac" "180" + } + + "m_flWait" // float + { + "windows" "168" + "linux" "184" + "mac" "184" + } + + "m_flReturnTime" // float + { + "windows" "172" + "linux" "188" + "mac" "188" + } + + "m_flStopTime" // float + { + "windows" "176" + "linux" "192" + "mac" "192" + } + + "m_moveDistance" // float + { + "windows" "180" + "linux" "196" + "mac" "196" + } + + "m_targetSpeed" // float + { + "windows" "184" + "linux" "200" + "mac" "200" + } + + "m_initialSpeed" // float + { + "windows" "188" + "linux" "204" + "mac" "204" + } + + "m_acceleration" // float + { + "windows" "192" + "linux" "208" + "mac" "208" + } + + "m_deceleration" // float + { + "windows" "196" + "linux" "212" + "mac" "212" + } + + "m_state" // int + { + "windows" "200" + "linux" "216" + "mac" "216" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-ctriggerchangetarget.txt b/gamedata/common.games/entities.games/cstrike/offsets-ctriggerchangetarget.txt new file mode 100644 index 00000000..2badeb75 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-ctriggerchangetarget.txt @@ -0,0 +1,32 @@ +/** + * 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" + { + "CTriggerChangeTarget" + { + "Offsets" + { + "m_iszNewTarget" // int + { + "windows" "144" + "linux" "160" + "mac" "160" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-ctriggerendsection.txt b/gamedata/common.games/entities.games/cstrike/offsets-ctriggerendsection.txt new file mode 100644 index 00000000..dc332a4b --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-ctriggerendsection.txt @@ -0,0 +1,25 @@ +/** + * 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" + { + "CTriggerEndSection" + { + "Offsets" + { } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-ctriggerrelay.txt b/gamedata/common.games/entities.games/cstrike/offsets-ctriggerrelay.txt new file mode 100644 index 00000000..744c3b04 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-ctriggerrelay.txt @@ -0,0 +1,32 @@ +/** + * 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" + { + "CTriggerRelay" + { + "Offsets" + { + "triggerType" // USE_TYPE + { + "windows" "144" + "linux" "160" + "mac" "160" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cunifiedsignals.txt b/gamedata/common.games/entities.games/cstrike/offsets-cunifiedsignals.txt new file mode 100644 index 00000000..deb1780c --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cunifiedsignals.txt @@ -0,0 +1,39 @@ +/** + * 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" + { + "CUnifiedSignals" + { + "Offsets" + { + "m_flSignal" // int + { + "windows" "0" + "linux" "0" + "mac" "0" + } + + "m_flState" // int + { + "windows" "4" + "linux" "4" + "mac" "4" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cusp.txt b/gamedata/common.games/entities.games/cstrike/offsets-cusp.txt new file mode 100644 index 00000000..7377e109 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cusp.txt @@ -0,0 +1,39 @@ +/** + * 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" + { + "CUSP" + { + "Offsets" + { + "m_iShell" // int + { + "windows" "320" + "linux" "336" + "mac" "336" + } + + "m_usFireUSP" // short unsigned int + { + "windows" "324" + "linux" "340" + "mac" "340" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cvoicegamemgr.txt b/gamedata/common.games/entities.games/cstrike/offsets-cvoicegamemgr.txt new file mode 100644 index 00000000..f73f97de --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cvoicegamemgr.txt @@ -0,0 +1,60 @@ +/** + * 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" + { + "CVoiceGameMgr" + { + "Offsets" + { + "m_msgPlayerVoiceMask" // int + { + "windows" "8" + "linux" "4" + "mac" "4" + } + + "m_msgRequestState" // int + { + "windows" "12" + "linux" "8" + "mac" "8" + } + + "m_pHelper" // IVoiceGameMgrHelper* + { + "windows" "16" + "linux" "12" + "mac" "12" + } + + "m_nMaxPlayers" // int + { + "windows" "20" + "linux" "16" + "mac" "16" + } + + "m_UpdateInterval" // double + { + "windows" "24" + "linux" "20" + "mac" "20" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cwallhealth.txt b/gamedata/common.games/entities.games/cstrike/offsets-cwallhealth.txt new file mode 100644 index 00000000..b4713a25 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cwallhealth.txt @@ -0,0 +1,60 @@ +/** + * 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" + { + "CWallHealth" + { + "Offsets" + { + "m_flNextCharge" // float + { + "windows" "292" + "linux" "312" + "mac" "312" + } + + "m_iReactivate" // int + { + "windows" "296" + "linux" "316" + "mac" "316" + } + + "m_iJuice" // int + { + "windows" "300" + "linux" "320" + "mac" "320" + } + + "m_iOn" // int + { + "windows" "304" + "linux" "324" + "mac" "324" + } + + "m_flSoundTime" // float + { + "windows" "308" + "linux" "328" + "mac" "328" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cweaponbox.txt b/gamedata/common.games/entities.games/cstrike/offsets-cweaponbox.txt new file mode 100644 index 00000000..a892f9c8 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cweaponbox.txt @@ -0,0 +1,60 @@ +/** + * 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" + { + "CWeaponBox" + { + "Offsets" + { + "m_rgpPlayerItems" // CBasePlayerItem*[6] + { + "windows" "136" + "linux" "152" + "mac" "152" + } + + "m_rgiszAmmo" // int[32] + { + "windows" "160" + "linux" "176" + "mac" "176" + } + + "m_rgAmmo" // int[32] + { + "windows" "288" + "linux" "304" + "mac" "304" + } + + "m_cAmmoTypes" // int + { + "windows" "416" + "linux" "432" + "mac" "432" + } + + "m_bIsBomb" // bool + { + "windows" "420" + "linux" "436" + "mac" "436" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cweaponcycler.txt b/gamedata/common.games/entities.games/cstrike/offsets-cweaponcycler.txt new file mode 100644 index 00000000..e16d6f81 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cweaponcycler.txt @@ -0,0 +1,39 @@ +/** + * 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" + { + "CWeaponCycler" + { + "Offsets" + { + "m_iszModel" // int + { + "windows" "320" + "linux" "336" + "mac" "336" + } + + "m_iModel" // int + { + "windows" "324" + "linux" "340" + "mac" "340" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cworlditem.txt b/gamedata/common.games/entities.games/cstrike/offsets-cworlditem.txt new file mode 100644 index 00000000..8ffa0244 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cworlditem.txt @@ -0,0 +1,32 @@ +/** + * 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" + { + "CWorldItem" + { + "Offsets" + { + "m_iType" // int + { + "windows" "136" + "linux" "152" + "mac" "152" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cwreckage.txt b/gamedata/common.games/entities.games/cstrike/offsets-cwreckage.txt new file mode 100644 index 00000000..aa9bc128 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cwreckage.txt @@ -0,0 +1,32 @@ +/** + * 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" + { + "CWreckage" + { + "Offsets" + { + "m_flStartTime" // int + { + "windows" "384" + "linux" "404" + "mac" "404" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cwshield.txt b/gamedata/common.games/entities.games/cstrike/offsets-cwshield.txt new file mode 100644 index 00000000..703c7e91 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cwshield.txt @@ -0,0 +1,39 @@ +/** + * 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" + { + "CWShield" + { + "Offsets" + { + "m_hEntToIgnoreTouchesFrom" // EHANDLE + { + "windows" "136" + "linux" "152" + "mac" "152" + } + + "m_flTimeToIgnoreTouches" // float + { + "windows" "144" + "linux" "160" + "mac" "160" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-cxm1014.txt b/gamedata/common.games/entities.games/cstrike/offsets-cxm1014.txt new file mode 100644 index 00000000..7fa94da3 --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-cxm1014.txt @@ -0,0 +1,46 @@ +/** + * 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" + { + "CXM1014" + { + "Offsets" + { + "m_iShell" // int + { + "windows" "320" + "linux" "336" + "mac" "336" + } + + "m_flPumpTime" // float + { + "windows" "324" + "linux" "340" + "mac" "340" + } + + "m_usFireXM1014" // short unsigned int + { + "windows" "328" + "linux" "344" + "mac" "344" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-hostagefollowstate.txt b/gamedata/common.games/entities.games/cstrike/offsets-hostagefollowstate.txt new file mode 100644 index 00000000..c8d9a4ef --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-hostagefollowstate.txt @@ -0,0 +1,88 @@ +/** + * 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" + { + "HostageFollowState" + { + "Offsets" + { + "m_leader" // EHANDLE + { + "windows" "12" + "linux" "12" + "mac" "12" + } + + "m_lastLeaderPos" // Vector + { + "windows" "20" + "linux" "20" + "mac" "20" + } + + "m_isWaiting" // bool + { + "windows" "32" + "linux" "32" + "mac" "32" + } + + "m_stopRange" // float + { + "windows" "36" + "linux" "36" + "mac" "36" + } + + "m_makeWayTimer" // CountdownTimer + { + "windows" "40" + "linux" "40" + "mac" "40" + } + + "m_impatientTimer" // CountdownTimer + { + "windows" "48" + "linux" "48" + "mac" "48" + } + + "m_repathTimer" // CountdownTimer + { + "windows" "56" + "linux" "56" + "mac" "56" + } + + "m_isWaitingForFriend" // bool + { + "windows" "64" + "linux" "64" + "mac" "64" + } + + "m_waitForFriendTimer" // CountdownTimer + { + "windows" "68" + "linux" "68" + "mac" "68" + } + } + } + } + } +} diff --git a/gamedata/common.games/entities.games/cstrike/offsets-simplestatemachine.txt b/gamedata/common.games/entities.games/cstrike/offsets-simplestatemachine.txt new file mode 100644 index 00000000..2426d96a --- /dev/null +++ b/gamedata/common.games/entities.games/cstrike/offsets-simplestatemachine.txt @@ -0,0 +1,46 @@ +/** + * 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" + { + "SimpleStateMachine" + { + "Offsets" + { + "m_state" // HostageState* + { + "windows" "0" + "linux" "0" + "mac" "0" + } + + "m_stateTimer" // IntervalTimer + { + "windows" "4" + "linux" "4" + "mac" "4" + } + + "m_userData" // CHostageImprov* + { + "windows" "8" + "linux" "8" + "mac" "8" + } + } + } + } + } +} diff --git a/gamedata/common.games/globalvars.engine.txt b/gamedata/common.games/globalvars.engine.txt new file mode 100644 index 00000000..e0389709 --- /dev/null +++ b/gamedata/common.games/globalvars.engine.txt @@ -0,0 +1,71 @@ +/** + * 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" + { + "Offsets" + { + "svs" // Used with pfnGetCurrentPlayer base address + { + "windows" "8" + } + } + + "Addresses" + { + "realtime" + { + "windows" + { + "signature" "realtime" + "read" "2" + } + } + + "sv" + { + "windows" + { + "signature" "sv" + "read" "2" + } + } + } + + "Signatures" + { + "svs" // server_static_t svs + { + "library" "engine" + "linux" "@svs" + "mac" "@svs" + } + + "sv" // server_t sv + { + "library" "engine" + "windows" "\x8B\x2A\x2A\x2A\x2A\x2A\x8D\x2A\x2A\x2A\x2A\x2A\x53\x33\x2A\x89" // SVC_PlayerInfo() + "linux" "@sv" + "mac" "@sv" + } + + "realtime" // double realtime + { + "library" "engine" + "windows" "\xDC\x2A\x2A\x2A\x2A\x2A\xA1\x2A\x2A\x2A\x2A\x56" // SV_CheckTimeouts() + "linux" "@realtime" + "mac" "@realtime" + } + } + } +} diff --git a/gamedata/common.games/master.games.txt b/gamedata/common.games/master.games.txt new file mode 100644 index 00000000..a5c67fbb --- /dev/null +++ b/gamedata/common.games/master.games.txt @@ -0,0 +1,679 @@ +/** + * 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) + */ + +"Game Master" +{ + "entities.games/cstrike/offsets-cairtank.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cbaseanimating.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cpendulum.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cfuncrotating.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cbasebutton.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cenvspark.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cmomentaryrotbutton.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cmultisource.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cenvglobal.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cbaseentity.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cunifiedsignals.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-csound.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-simplestatemachine.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-chostagemanager.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cgib.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cmomentarydoor.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cbasedoor.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cenvfunnel.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-ctesteffect.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cgibshooter.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-csprite.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cbombglow.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cglow.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-claser.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-clightning.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cbubbling.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cenvexplosion.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cpushable.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cbreakable.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cfunctankcontrols.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cfunctank.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cfunctanklaser.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cgrenade.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-crecharge.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cwreckage.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cweaponcycler.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-ccyclersprite.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-ccycler.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cwallhealth.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cworlditem.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-clight.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cgameplayerequip.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cgameplayerzone.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cgameteammaster.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cgametext.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cruleentity.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cmortar.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cfuncmortarfield.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cbasemonster.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cmapinfo.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cpathtrack.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cpathcorner.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cguntarget.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cfunctrackchange.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cfuncplatrot.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cfunctracktrain.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cfunctrain.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cbaseplattrain.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cplattrigger.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cbaseplayer.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-crevertsaved.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cdeadhev.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cwshield.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cspeaker.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cenvsound.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cambientgeneric.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-csoundent.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cbasetoggle.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cbasedelay.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cpointentity.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cfuncweaponcheck.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cbasegrencatch.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cclientfog.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-ctriggercamera.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-ctriggerchangetarget.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-ctriggerendsection.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cchangelevel.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cmultimanager.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-ctriggerrelay.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cfrictionmodifier.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cfuncvehicle.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-carmoury.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cweaponbox.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cbaseplayeritem.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cbaseplayerammo.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cbaseplayerweapon.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-caug.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cawp.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cdeagle.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-celite.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cfiveseven.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cflashbang.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cg3sg1.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cglock18.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-chegrenade.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cknife.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cm3.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cmac10.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cp228.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cp90.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cscout.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-csmokegrenade.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-ctmp.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cusp.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cfamas.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cgalil.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cxm1014.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-cvoicegamemgr.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-hostagefollowstate.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-chostage.txt" + { + "game" "cstrike" + "game" "czero" + } + + "entities.games/cstrike/offsets-chostageimprov.txt" + { + "game" "cstrike" + "game" "czero" + } +} diff --git a/gamedata/modules.games/game.cstrike.txt b/gamedata/modules.games/game.cstrike.txt new file mode 100644 index 00000000..d1a0f7c0 --- /dev/null +++ b/gamedata/modules.games/game.cstrike.txt @@ -0,0 +1,103 @@ +/** + * 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" + { + "Signatures" + { + "AddAccount" // void CBasePlayer::AddAccount(int amount, bool bTrackChange) + { + "library" "server" + "windows" "\x8B\x2A\x2A\x2A\x56\x8B\x2A\x8B\x2A\x2A\x2A\x2A\x2A\x03" + "linux" "@_ZN11CBasePlayer10AddAccountEib" + "mac" "@_ZN11CBasePlayer10AddAccountEib" + } + + "GiveNamedItem" // void CBasePlayer::GiveNamedItem(const char *pszName) + { + "library" "server" + "windows" "\x8B\x2A\x2A\x2A\x56\x57\x8B\x2A\x8B\x2A\x2A\x2A\x2A\x2A\x2B" + "linux" "@_ZN11CBasePlayer10GiveShieldEb" + "mac" "@_ZN11CBasePlayer10GiveShieldEb" + } + + "GiveDefaultItems" // void CBasePlayer::GiveDefaultItems(void) + { + "library" "server" + "windows" "\x56\x57\x6A\x2A\x8B\x2A\xE8\x2A\x2A\x2A\x2A\x8B\x2A\x2A\x2A\x2A\x2A\xC6" + "linux" "@_ZN11CBasePlayer10GiveShieldEb" + "mac" "@_ZN11CBasePlayer10GiveShieldEb" + } + + "GiveShield" // void CBasePlayer::GiveShield(bool bRetire) + { + "library" "server" + "windows" "\x56\x8B\x2A\x57\x33\x2A\x8B\x2A\x2A\x2A\x2A\x2A\xB0" + "linux" "@_ZN11CBasePlayer10GiveShieldEb" + "mac" "@_ZN11CBasePlayer10GiveShieldEb" + } + + "CreateNamedEntity" // edict_t* CREATE_NAMED_ENTITY(int classname) + { + "library" "server" + "windows" "\x56\x57\x8B\x2A\x2A\x2A\x57\xFF\x2A\x2A\x2A\x2A\x2A\x8B" + "linux" "@_Z19CREATE_NAMED_ENTITYj" + "mac" "@_Z19CREATE_NAMED_ENTITYj" + } + + "FindEntityByString" // CBaseEntity *UTIL_FindEntityByString(CBaseEntity *pStartEntity, const char *szKeyword, const char *szValue) + { + "library" "server" + "windows" "\x51\x8B\x2A\x2A\x2A\x53\x55\x56\x85\x2A\x57" + "linux" "@_Z23UTIL_FindEntityByStringP11CBaseEntityPKcS2_" + "mac" "@_Z23UTIL_FindEntityByStringP11CBaseEntityPKcS2_" + } + } + } + + "#default" + { + "Signatures" + { + "UseBotArgs" // bool UseBotArgs + { + "library" "server" + "windows" "\x8B\x2A\x2A\x2A\x56\x8B\x2A\x8B\x2A\x2A\x2A\x2A\x2A\x03" + "linux" "@UseBotArgs" + "mac" "@UseBotArgs" + } + + "BotArgs" // const char *BotArgs[4] + { + "library" "server" + "windows" "\x8B\x2A\x2A\x2A\x56\x8B\x2A\x8B\x2A\x2A\x2A\x2A\x2A\x03" + "linux" "@BotArgs" + "mac" "@BotArgs" + } + } + + "Offsets" + { + "UseBotArgs" // bool UseBotArgs + { + "windows" "2" + } + + "BotArgs" // const char *BotArgs[4] + { + "windows" "22" + } + } + } +} + diff --git a/gamedata/modules.games/master.games.txt b/gamedata/modules.games/master.games.txt new file mode 100644 index 00000000..2d357e52 --- /dev/null +++ b/gamedata/modules.games/master.games.txt @@ -0,0 +1,19 @@ +/** + * 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) + */ + +"Game Master" +{ + "game.cstrike.txt" + { + "game" "cstrike" + "game" "czero" + } +} diff --git a/modules/cstrike/cstrike/CstrikeDatas.h b/modules/cstrike/cstrike/CstrikeDatas.h index f65af4e1..4db529a2 100644 --- a/modules/cstrike/cstrike/CstrikeDatas.h +++ b/modules/cstrike/cstrike/CstrikeDatas.h @@ -16,153 +16,6 @@ #include "amxxmodule.h" -#if defined(__linux__) || defined (__APPLE__) - #define EXTRAOFFSET 5 // offsets 5 higher in Linux builds - #define EXTRAOFFSET_WEAPONS 4 // weapon offsets are obviously only 4 steps higher on Linux! - #define ACTUAL_EXTRA_OFFSET 20 // actual, byte-addressable offset -#else - #define EXTRAOFFSET 0 // no change in Windows builds - #define EXTRAOFFSET_WEAPONS 0 - #define ACTUAL_EXTRA_OFFSET 0 -#endif - -/* - Offset history: - 041029: - Confirmed (pretty much) ALL offsets for 32 bit Windows, 32 bit Linux and amd64 (yes that's all of them). - Found out that weapon offsets are only +4 higher on Linux. - Also backpack ammo offsets were all obviously 5 steps too high since unknown time... - -*/ -// "player" entities -#if !defined __amd64__ - // 32 bit offsets here - #define OFFSET_ARMORTYPE 112 + EXTRAOFFSET - #define OFFSET_TEAM 114 + EXTRAOFFSET - #define OFFSET_CSMONEY 115 + EXTRAOFFSET - #define OFFSET_PRIMARYWEAPON 116 + EXTRAOFFSET - #define OFFSET_LASTACTIVITY 124 + EXTRAOFFSET - #define OFFSET_INTERNALMODEL 126 + EXTRAOFFSET - #define OFFSET_NVGOGGLES 129 + EXTRAOFFSET - #define OFFSET_DEFUSE_PLANT 193 + EXTRAOFFSET - #define OFFSET_MENU 205 + EXTRAOFFSET - #define OFFSET_VIP 209 + EXTRAOFFSET - #define OFFSET_TK 216 + EXTRAOFFSET // 040926 - #define OFFSET_HOSTAGEKILLS 217 + EXTRAOFFSET - #define OFFSET_MAPZONE 235 + EXTRAOFFSET - #define OFFSET_ISDRIVING 350 + EXTRAOFFSET // 040926 - #define OFFSET_STATIONARY 362 + EXTRAOFFSET // 040927 (363 works also!) - #define OFFSET_ZOOMTYPE 363 + EXTRAOFFSET - - #define OFFSET_AWM_AMMO 377 + EXTRAOFFSET // 041029: All of these *_AMMO:s were changed -5 - #define OFFSET_SCOUT_AMMO 378 + EXTRAOFFSET - #define OFFSET_PARA_AMMO 379 + EXTRAOFFSET - #define OFFSET_FAMAS_AMMO 380 + EXTRAOFFSET - #define OFFSET_M3_AMMO 381 + EXTRAOFFSET - #define OFFSET_USP_AMMO 382 + EXTRAOFFSET - #define OFFSET_FIVESEVEN_AMMO 383 + EXTRAOFFSET - #define OFFSET_DEAGLE_AMMO 384 + EXTRAOFFSET - #define OFFSET_P228_AMMO 385 + EXTRAOFFSET - #define OFFSET_GLOCK_AMMO 386 + EXTRAOFFSET - #define OFFSET_FLASH_AMMO 387 + EXTRAOFFSET - #define OFFSET_HE_AMMO 388 + EXTRAOFFSET - #define OFFSET_SMOKE_AMMO 389 + EXTRAOFFSET - #define OFFSET_C4_AMMO 390 + EXTRAOFFSET - - #define OFFSET_CSDEATHS 444 + EXTRAOFFSET // 040926 - #define OFFSET_SHIELD 510 + EXTRAOFFSET - // "weapon_*" entities - #define OFFSET_WEAPONTYPE 43 + EXTRAOFFSET_WEAPONS - #define OFFSET_CLIPAMMO 51 + EXTRAOFFSET_WEAPONS - #define OFFSET_SILENCER_FIREMODE 74 + EXTRAOFFSET_WEAPONS - // "hostage_entity" entities - #define OFFSET_HOSTAGEFOLLOW 86 + EXTRAOFFSET - #define OFFSET_HOSTAGE_NEXTUSE 100 + EXTRAOFFSET - #define OFFSET_HOSTAGE_LASTUSE 483 + EXTRAOFFSET - #define OFFSET_HOSTAGEID 487 + EXTRAOFFSET - // "armoury_entity" - #define OFFSET_ARMOURY_TYPE 34 + EXTRAOFFSET_WEAPONS - // C4 offsets - #define OFFSET_C4_EXPLODE_TIME 100 + EXTRAOFFSET - #define OFFSET_C4_DEFUSING 0x181 + ACTUAL_EXTRA_OFFSET -#else - // Amd64 offsets here - #define OFFSET_ARMORTYPE 137 + EXTRAOFFSET - #define OFFSET_TEAM 139 + EXTRAOFFSET // +25 - #define OFFSET_CSMONEY 140 + EXTRAOFFSET // +25 - #define OFFSET_PRIMARYWEAPON 141 + EXTRAOFFSET // +25 - #define OFFSET_INTERNALMODEL 152 + EXTRAOFFSET // +26 - #define OFFSET_NVGOGGLES 155 + EXTRAOFFSET // +26 - #define OFFSET_DEFUSE_PLANT 219 + EXTRAOFFSET // +26 - #define OFFSET_VIP 242 + EXTRAOFFSET // +27 - #define OFFSET_TK 249 + EXTRAOFFSET // +33 040927 - #define OFFSET_MAPZONE 268 + EXTRAOFFSET // +27 - #define OFFSET_ISDRIVING 386 + EXTRAOFFSET // 040927 - #define OFFSET_STATIONARY 400 + EXTRAOFFSET // 040927 (401 works also) - #define OFFSET_ZOOMTYPE 402 + EXTRAOFFSET - - #define OFFSET_AWM_AMMO 426 + EXTRAOFFSET // +44 - #define OFFSET_SCOUT_AMMO 427 + EXTRAOFFSET // +44 - #define OFFSET_PARA_AMMO 428 + EXTRAOFFSET // +44 - #define OFFSET_FAMAS_AMMO 429 + EXTRAOFFSET // +44 - #define OFFSET_M3_AMMO 430 + EXTRAOFFSET // +44 - #define OFFSET_USP_AMMO 431 + EXTRAOFFSET // +44 - #define OFFSET_FIVESEVEN_AMMO 432 + EXTRAOFFSET // +44 - #define OFFSET_DEAGLE_AMMO 433 + EXTRAOFFSET // +44 - #define OFFSET_P228_AMMO 434 + EXTRAOFFSET // +44 - #define OFFSET_GLOCK_AMMO 435 + EXTRAOFFSET // +44 - #define OFFSET_FLASH_AMMO 436 + EXTRAOFFSET // +44 - #define OFFSET_HE_AMMO 437 + EXTRAOFFSET // +44 - #define OFFSET_SMOKE_AMMO 438 + EXTRAOFFSET // +44 - #define OFFSET_C4_AMMO 439 + EXTRAOFFSET // +44 - - #define OFFSET_CSDEATHS 493 + EXTRAOFFSET // +49 - #define OFFSET_SHIELD 559 + EXTRAOFFSET - // "weapon_*" entities - #define OFFSET_WEAPONTYPE 57 + EXTRAOFFSET // +14 - #define OFFSET_CLIPAMMO 65 + EXTRAOFFSET // +14 - #define OFFSET_SILENCER_FIREMODE 88 + EXTRAOFFSET // +14 - // "hostage_entity" entities - #define OFFSET_HOSTAGEFOLLOW 51 + EXTRAOFFSET // +21, long=51, int=107! (must use the long* offset because pointers on amd64 are stored the size of longs, 8 bytes, instead of the usual int 4 bytes.) - #define OFFSET_HOSTAGEID 516 + EXTRAOFFSET // +29 -#endif - -#if defined(__linux__) - #define CS_IDENT_USEBOTARGS "UseBotArgs" - #define CS_IDENT_BOTARGS "BotArgs" - #define CS_IDENT_HIDDEN_STATE false -#elif defined(__APPLE__) - #define CS_IDENT_USEBOTARGS "UseBotArgs" - #define CS_IDENT_BOTARGS "BotArgs" - #define CS_IDENT_HIDDEN_STATE true -#else - #define CS_CLICMD_OFFS_USEBOTARGS 2 - #define CS_CLICMD_OFFS_BOTARGS 22 -#endif - -#if defined(__linux__) - #define CS_IDENT_GIVENSHIELD "_ZN11CBasePlayer10GiveShieldEb" // CS_OnBuy forward - #define CS_IDENT_GIVENAMEDITEM "_ZN11CBasePlayer13GiveNamedItemEPKc" // CS_OnBuy forward - #define CS_IDENT_ADDACCOUNT "_ZN11CBasePlayer10AddAccountEib" // CS_OnBuy forward - #define CS_IDENT_CREATENAMEDENTITY "_Z19CREATE_NAMED_ENTITYj" // cs_create_entity - #define CS_IDENT_UTIL_FINDENTITYBYSTRING "_Z23UTIL_FindEntityByStringP11CBaseEntityPKcS2_" // cs_create_entity - #define CS_IDENT_HIDDEN_STATE false -#elif defined(__APPLE__) - #define CS_IDENT_GIVENSHIELD "_ZN11CBasePlayer10GiveShieldEb" - #define CS_IDENT_GIVENAMEDITEM "_ZN11CBasePlayer13GiveNamedItemEPKc" - #define CS_IDENT_ADDACCOUNT "_ZN11CBasePlayer10AddAccountEib" - #define CS_IDENT_CREATENAMEDENTITY "_Z19CREATE_NAMED_ENTITYj" - #define CS_IDENT_UTIL_FINDENTITYBYSTRING "_Z23UTIL_FindEntityByStringP11CBaseEntityPKcS2_" - #define CS_IDENT_HIDDEN_STATE true -#elif defined(WIN32) - #define CS_IDENT_GIVENSHIELD "\\x56\\x8B\\x2A\\x57\\x33\\x2A\\x8B\\x2A\\x2A\\x2A\\x2A\\x2A\\xB0" - #define CS_IDENT_GIVENAMEDITEM "\\x8B\\x2A\\x2A\\x2A\\x56\\x57\\x8B\\x2A\\x8B\\x2A\\x2A\\x2A\\x2A\\x2A\\x2B" - #define CS_IDENT_ADDACCOUNT "\\x8B\\x2A\\x2A\\x2A\\x56\\x8B\\x2A\\x8B\\x2A\\x2A\\x2A\\x2A\\x2A\\x03" - #define CS_IDENT_CREATENAMEDENTITY "\\x56\\x57\\x8B\\x2A\\x2A\\x2A\\x57\\xFF\\x2A\\x2A\\x2A\\x2A\\x2A\\x8B" - #define CS_IDENT_UTIL_FINDENTITYBYSTRING "\\x51\\x8B\\x2A\\x2A\\x2A\\x53\\x55\\x56\\x85\\x2A\\x57" - #define CS_IDENT_HIDDEN_STATE false -#endif - #define CSI_P228 CSW_P228 #define CSI_SCOUT CSW_SCOUT #define CSI_HEGRENADE CSW_HEGRENADE @@ -230,7 +83,7 @@ #define CSW_DEAGLE 26 #define CSW_SG552 27 #define CSW_AK47 28 -//#define CSW_KNIFE 29 +#define CSW_KNIFE 29 #define CSW_P90 30 #define CSW_VEST 31 // Brand new invention! #define CSW_VESTHELM 32 // Brand new invention! @@ -257,36 +110,72 @@ #define CSA_VESTHELM 17 #define CSA_SMOKEGRENADE 18 -#define M4A1_SILENCED (1<<2) -#define M4A1_ATTACHSILENCEANIM 6 -#define M4A1_DETACHSILENCEANIM 13 -#define USP_SILENCED (1<<0) -#define USP_ATTACHSILENCEANIM 7 -#define USP_DETACHSILENCEANIM 15 +enum WeaponState +{ + WPNSTATE_USP_SILENCED = (1 << 0), + WPNSTATE_GLOCK18_BURST_MODE = (1 << 1), + WPNSTATE_M4A1_SILENCED = (1 << 2), + WPNSTATE_ELITE_LEFT = (1 << 3), + WPNSTATE_FAMAS_BURST_MODE = (1 << 4), + WPNSTATE_SHIELD_DRAWN = (1 << 5), +}; -#define GLOCK_SEMIAUTOMATIC 0 -#define GLOCK_BURSTMODE 2 -#define FAMAS_AUTOMATIC 0 -#define FAMAS_BURSTMODE 16 +enum m4a1_e +{ + M4A1_IDLE, + M4A1_SHOOT1, + M4A1_SHOOT2, + M4A1_SHOOT3, + M4A1_RELOAD, + M4A1_DRAW, + M4A1_ATTACH_SILENCER, + M4A1_UNSIL_IDLE, + M4A1_UNSIL_SHOOT1, + M4A1_UNSIL_SHOOT2, + M4A1_UNSIL_SHOOT3, + M4A1_UNSIL_RELOAD, + M4A1_UNSIL_DRAW, + M4A1_DETACH_SILENCER +}; -#define PLAYER_IS_VIP (1<<8) +enum usp_e +{ + USP_IDLE, + USP_SHOOT1, + USP_SHOOT2, + USP_SHOOT3, + USP_SHOOT_EMPTY, + USP_RELOAD, + USP_DRAW, + USP_ATTACH_SILENCER, + USP_UNSIL_IDLE, + USP_UNSIL_SHOOT1, + USP_UNSIL_SHOOT2, + USP_UNSIL_SHOOT3, + USP_UNSIL_SHOOT_EMPTY, + USP_UNSIL_RELOAD, + USP_UNSIL_DRAW, + USP_DETACH_SILENCER +}; -#define PLAYER_IN_BUYZONE (1<<0) +enum SignalState +{ + SIGNAL_BUY = (1 << 0), + SIGNAL_BOMB = (1 << 1), + SIGNAL_RESCUE = (1 << 2), + SIGNAL_ESCAPE = (1 << 3), + SIGNAL_VIPSAFETY = (1 << 4), +}; #define TEAM_UNASSIGNED 0 #define TEAM_T 1 #define TEAM_CT 2 #define TEAM_SPECTATOR 3 -#define CAN_PLANT_BOMB (1<<8) // 256 -#define HAS_DEFUSE_KIT (1<<16) // 65536 - #define DEFUSER_COLOUR_R 0 #define DEFUSER_COLOUR_G 160 #define DEFUSER_COLOUR_B 0 -#define HAS_NVGOGGLES (1<<0) - #define SCOREATTRIB_NOTHING 0 #define SCOREATTRIB_DEAD 1 #define SCOREATTRIB_BOMB 2 // t only @@ -299,14 +188,11 @@ #define CS_ARMOR_KEVLAR 1 #define CS_ARMOR_ASSAULTSUIT 2 -#define CS_FIRST_ZOOM 0x28 -#define CS_SECOND_AWP_ZOOM 0xA -#define CS_SECOND_NONAWP_ZOOM 0xF -#define CS_AUGSG552_ZOOM 0x37 -#define CS_NO_ZOOM 0x5A - -#define HAS_SHIELD (1<<24) //16777216 - +#define CS_FIRST_ZOOM 40 +#define CS_SECOND_AWP_ZOOM 10 +#define CS_SECOND_NONAWP_ZOOM 15 +#define CS_AUGSG552_ZOOM 55 +#define CS_NO_ZOOM 90 enum CS_Internal_Models { CS_DONTCHANGE = 0, diff --git a/modules/cstrike/cstrike/CstrikeHacks.cpp b/modules/cstrike/cstrike/CstrikeHacks.cpp index 4fecf07f..bad87fc5 100644 --- a/modules/cstrike/cstrike/CstrikeHacks.cpp +++ b/modules/cstrike/cstrike/CstrikeHacks.cpp @@ -33,6 +33,8 @@ CDetour *AddAccountDetour = NULL; int CurrentItemId = 0; StringHashMap ItemAliasList; +int TeamOffset = 0; +int MenuOffset = 0; extern enginefuncs_t *g_pengfuncsTable; @@ -121,11 +123,11 @@ DETOUR_DECL_STATIC1(C_ClientCommand, void, edict_t*, pEdict) // void ClientComma /* Menu_BuyItem */ { 0, CSI_VEST, CSI_VESTHELM, CSI_FLASHBANG, CSI_HEGRENADE, CSI_SMOKEGRENADE, CSI_NVGS, CSI_DEFUSER, CSI_SHIELDGUN } }; - int menuId = *((int *)pEdict->pvPrivateData + OFFSET_MENU); + int menuId = get_pdata(pEdict, MenuOffset); + if (menuId >= Menu_Buy && menuId <= Menu_BuyItem) { - int team = *((int *)pEdict->pvPrivateData + OFFSET_TEAM); - switch (team) + switch (get_pdata(pEdict, TeamOffset)) { case TEAM_T: itemId = menuItemsTe[menuId - 4][slot]; break; // -4 because array is zero-based and Menu_Buy* constants starts from 4. case TEAM_CT:itemId = menuItemsCt[menuId - 4][slot]; break; @@ -236,30 +238,52 @@ void CtrlDetours_ClientCommand(bool set) { if (set) { - void *target = (void *)MDLL_ClientCommand; + void *base = reinterpret_cast(MDLL_ClientCommand); #if defined(WIN32) - UseBotArgs = *(int **)((unsigned char *)target + CS_CLICMD_OFFS_USEBOTARGS); - BotArgs = (const char **)*(const char **)((unsigned char *)target + CS_CLICMD_OFFS_BOTARGS); + int offset = 0; + + if (MainConfig->GetOffset("UseBotArgs", &offset) && offset) + { + UseBotArgs = get_pdata(base, offset); + } + + if (MainConfig->GetOffset("BotArgs", &offset) && offset) + { + BotArgs = get_pdata(base, offset); + } #elif defined(__linux__) || defined(__APPLE__) - UseBotArgs = (int *)UTIL_FindAddressFromEntry(CS_IDENT_USEBOTARGS, CS_IDENT_HIDDEN_STATE); - BotArgs = (const char **)UTIL_FindAddressFromEntry(CS_IDENT_BOTARGS, CS_IDENT_HIDDEN_STATE); + void *address = nullptr; + if (MainConfig->GetMemSig("UseBotArgs", &address) && address) + { + UseBotArgs = reinterpret_cast(address); + } + + if (MainConfig->GetMemSig("BotArgs", &address) && address) + { + BotArgs = reinterpret_cast(address); + } #endif - ClientCommandDetour = DETOUR_CREATE_STATIC_FIXED(C_ClientCommand, target); + ClientCommandDetour = DETOUR_CREATE_STATIC_FIXED(C_ClientCommand, base); - if (!ClientCommandDetour) + OffsetConfig->GetOffsetByClass("CBasePlayer", "m_iTeam", &TeamOffset); + OffsetConfig->GetOffsetByClass("CBasePlayer", "m_iMenu", &MenuOffset); + + if (!ClientCommandDetour || !UseBotArgs || !BotArgs || !TeamOffset || !MenuOffset) { MF_Log("ClientCommand is not available - forward client_command has been disabled"); } } else { - if (ClientCommandDetour) + if (ClientCommandDetour) + { ClientCommandDetour->Destroy(); + } ItemAliasList.clear(); } @@ -268,7 +292,9 @@ void CtrlDetours_ClientCommand(bool set) void ToggleDetour_ClientCommands(bool enable) { if (ClientCommandDetour) + { (enable) ? ClientCommandDetour->EnableDetour() : ClientCommandDetour->DisableDetour(); + } if (enable) { @@ -329,13 +355,16 @@ void CtrlDetours_BuyCommands(bool set) { if (set) { - void *giveShieldAddress = UTIL_FindAddressFromEntry(CS_IDENT_GIVENSHIELD , CS_IDENT_HIDDEN_STATE); - void *giveNamedItemAddress = UTIL_FindAddressFromEntry(CS_IDENT_GIVENAMEDITEM, CS_IDENT_HIDDEN_STATE); - void *addAccountAddress = UTIL_FindAddressFromEntry(CS_IDENT_ADDACCOUNT , CS_IDENT_HIDDEN_STATE); + void *address = nullptr; - GiveShieldDetour = DETOUR_CREATE_MEMBER_FIXED(GiveShield, giveShieldAddress); - GiveNamedItemDetour = DETOUR_CREATE_MEMBER_FIXED(GiveNamedItem, giveNamedItemAddress); - AddAccountDetour = DETOUR_CREATE_MEMBER_FIXED(AddAccount, addAccountAddress); + MainConfig->GetMemSig("GiveShield", &address); + GiveShieldDetour = DETOUR_CREATE_MEMBER_FIXED(GiveShield, address); address = nullptr; + + MainConfig->GetMemSig("GiveNamedItem", &address); + GiveNamedItemDetour = DETOUR_CREATE_MEMBER_FIXED(GiveNamedItem, address); address = nullptr; + + MainConfig->GetMemSig("AddAccount", &address); + AddAccountDetour = DETOUR_CREATE_MEMBER_FIXED(AddAccount, address); address = nullptr; if (!GiveShieldDetour || !GiveNamedItemDetour || !AddAccountDetour) { @@ -360,13 +389,19 @@ void CtrlDetours_BuyCommands(bool set) else { if (GiveShieldDetour) + { GiveShieldDetour->Destroy(); + } if (GiveNamedItemDetour) + { GiveNamedItemDetour->Destroy(); + } if (AddAccountDetour) + { AddAccountDetour->Destroy(); + } ItemAliasList.clear(); } @@ -375,11 +410,17 @@ void CtrlDetours_BuyCommands(bool set) void ToggleDetour_BuyCommands(bool enable) { if (GiveShieldDetour) + { (enable) ? GiveShieldDetour->EnableDetour() : GiveShieldDetour->DisableDetour(); + } if (GiveNamedItemDetour) + { (enable) ? GiveNamedItemDetour->EnableDetour() : GiveNamedItemDetour->DisableDetour(); + } if (AddAccountDetour) + { (enable) ? AddAccountDetour->EnableDetour() : AddAccountDetour->DisableDetour(); + } } diff --git a/modules/cstrike/cstrike/CstrikeNatives.cpp b/modules/cstrike/cstrike/CstrikeNatives.cpp index 4d84c3ca..2e5b7358 100644 --- a/modules/cstrike/cstrike/CstrikeNatives.cpp +++ b/modules/cstrike/cstrike/CstrikeNatives.cpp @@ -23,10 +23,12 @@ bool g_noknives = false; static cell AMX_NATIVE_CALL cs_set_user_money(AMX *amx, cell *params) // cs_set_user_money(index, money, flash = 1); = 3 arguments { + GET_OFFSET("CBasePlayer", m_iAccount); + // Give money to user // params[1] = user // params[2] = money - // params[3] = flash money? + // params[3] = flash money // Check index CHECK_PLAYER(params[1]); @@ -35,7 +37,7 @@ static cell AMX_NATIVE_CALL cs_set_user_money(AMX *amx, cell *params) // cs_set_ edict_t *pPlayer = MF_GetPlayerEdict(params[1]); // Give money - *((int *)pPlayer->pvPrivateData + OFFSET_CSMONEY) = params[2]; + set_pdata(pPlayer, m_iAccount, params[2]); // Update display MESSAGE_BEGIN(MSG_ONE, GET_USER_MSG_ID(PLID, "Money", NULL), NULL, pPlayer); @@ -48,6 +50,8 @@ static cell AMX_NATIVE_CALL cs_set_user_money(AMX *amx, cell *params) // cs_set_ static cell AMX_NATIVE_CALL cs_get_user_money(AMX *amx, cell *params) // cs_get_user_money(index); = 1 argument { + GET_OFFSET("CBasePlayer", m_iAccount); + // Give money to user // params[1] = user @@ -58,11 +62,13 @@ static cell AMX_NATIVE_CALL cs_get_user_money(AMX *amx, cell *params) // cs_get_ edict_t *pPlayer = MF_GetPlayerEdict(params[1]); // Return money - return *((int *)pPlayer->pvPrivateData + OFFSET_CSMONEY); + return get_pdata(pPlayer, m_iAccount); } static cell AMX_NATIVE_CALL cs_get_user_deaths(AMX *amx, cell *params) // cs_get_user_deaths(index); = 1 param { + GET_OFFSET("CBasePlayer", m_iDeaths); + // Gets user deaths in cs. // params[1] = user @@ -72,11 +78,14 @@ static cell AMX_NATIVE_CALL cs_get_user_deaths(AMX *amx, cell *params) // cs_get // Fetch player pointer edict_t *pPlayer = MF_GetPlayerEdict(params[1]); - return *((int *)pPlayer->pvPrivateData + OFFSET_CSDEATHS); + return get_pdata(pPlayer, m_iDeaths); } static cell AMX_NATIVE_CALL cs_set_user_deaths(AMX *amx, cell *params) // cs_set_user_deaths(index, newdeaths); = 2 arguments { + GET_OFFSET("CBasePlayer", m_iDeaths); + GET_OFFSET("CBasePlayer", m_iTeam ); + // Sets user deaths in cs. // params[1] = user // params[2] = new deaths @@ -88,7 +97,7 @@ static cell AMX_NATIVE_CALL cs_set_user_deaths(AMX *amx, cell *params) // cs_set edict_t *pPlayer = MF_GetPlayerEdict(params[1]); // Set deaths - *((int *)pPlayer->pvPrivateData + OFFSET_CSDEATHS) = params[2]; + set_pdata(pPlayer, m_iDeaths, params[2]); // Update scoreboard here..? MESSAGE_BEGIN(MSG_ALL, GET_USER_MSG_ID(PLID, "ScoreInfo", NULL)); @@ -96,7 +105,7 @@ static cell AMX_NATIVE_CALL cs_set_user_deaths(AMX *amx, cell *params) // cs_set WRITE_SHORT((int)pPlayer->v.frags); // should these be byte? WRITE_SHORT(params[2]); // should these be byte? WRITE_SHORT(0); // dunno what this parameter is (doesn't seem to be vip) // should these be byte? - WRITE_SHORT(*((int *)pPlayer->pvPrivateData + OFFSET_TEAM)); // should these be byte? + WRITE_SHORT(get_pdata(pPlayer, m_iTeam)); // should these be byte? MESSAGE_END(); *static_cast(MF_PlayerPropAddr(params[1], Player_Deaths)) = params[2]; @@ -106,6 +115,8 @@ static cell AMX_NATIVE_CALL cs_set_user_deaths(AMX *amx, cell *params) // cs_set static cell AMX_NATIVE_CALL cs_get_hostage_id(AMX *amx, cell *params) // cs_get_hostage_id(index) = 1 param { + GET_OFFSET("CHostage", m_iHostageIndex); + // Gets unique id of a CS hostage. // params[1] = hostage entity index @@ -122,11 +133,14 @@ static cell AMX_NATIVE_CALL cs_get_hostage_id(AMX *amx, cell *params) // cs_get_ } // Return value at offset - return (int)*((int *)pEdict->pvPrivateData + OFFSET_HOSTAGEID); + return get_pdata(pEdict, m_iHostageIndex); } static cell AMX_NATIVE_CALL cs_get_weapon_silenced(AMX *amx, cell *params) // cs_get_weapon_silenced(index); = 1 param { + GET_OFFSET("CBasePlayerItem" , m_iId); + GET_OFFSET("CBasePlayerWeapon", m_iWeaponState); + // Is weapon silenced? Does only work on M4A1 and USP. // params[1] = weapon index @@ -136,23 +150,31 @@ static cell AMX_NATIVE_CALL cs_get_weapon_silenced(AMX *amx, cell *params) // cs // Make into edict pointer edict_t *pWeapon = INDEXENT(params[1]); - int weapontype = *((int *)pWeapon->pvPrivateData + OFFSET_WEAPONTYPE); - int *silencemode = ((int *)pWeapon->pvPrivateData + OFFSET_SILENCER_FIREMODE); - switch (weapontype) { + switch (get_pdata(pWeapon, m_iId)) + { case CSW_M4A1: - if (*silencemode & M4A1_SILENCED) + { + if (get_pdata(pWeapon, m_iWeaponState) & WPNSTATE_M4A1_SILENCED) + { return 1; + } + } case CSW_USP: - if (*silencemode & USP_SILENCED) + { + if (get_pdata(pWeapon, m_iWeaponState) & WPNSTATE_USP_SILENCED) + { return 1; + } + } } - // All else return 0. return 0; } static cell AMX_NATIVE_CALL cs_get_weapon_id(AMX *amx, cell *params) // cs_get_weapon_id(index); = 1 param { + GET_OFFSET("CBasePlayerItem", m_iId); + // Get weapon type. Corresponds to CSW_* // params[1] = weapon index @@ -162,11 +184,14 @@ static cell AMX_NATIVE_CALL cs_get_weapon_id(AMX *amx, cell *params) // cs_get_w // Make into edict pointer edict_t *pWeapon = INDEXENT(params[1]); - return *((int *)pWeapon->pvPrivateData + OFFSET_WEAPONTYPE); + return get_pdata(pWeapon, m_iId); } static cell AMX_NATIVE_CALL cs_set_weapon_silenced(AMX *amx, cell *params) // cs_set_weapon_silenced(index, silence = 1); = 2 params { + GET_OFFSET("CBasePlayerItem" , m_iId); + GET_OFFSET("CBasePlayerWeapon", m_iWeaponState); + // Silence/unsilence gun. Does only work on M4A1 and USP. // params[1] = weapon index // params[2] = 1, and we silence the gun, 0 and we unsilence gun. @@ -184,62 +209,70 @@ static cell AMX_NATIVE_CALL cs_set_weapon_silenced(AMX *amx, cell *params) // cs draw_animation = params[3] ? true : false; } - int weapontype = (int)*((int *)pWeapon->pvPrivateData + OFFSET_WEAPONTYPE); - int *silencemode = ((int *)pWeapon->pvPrivateData + OFFSET_SILENCER_FIREMODE); + int weaponState = get_pdata(pWeapon, m_iWeaponState); - switch (weapontype) + switch (get_pdata(pWeapon, m_iId)) { case CSW_M4A1: + { if (params[2] == 1) { - if (!(*silencemode & M4A1_SILENCED)) - { // want to silence - can't already be silenced - *silencemode |= M4A1_SILENCED; - // If this weapon has an owner that is a player, play animation for that player. + if (!(weaponState & WPNSTATE_M4A1_SILENCED)) + { + set_pdata(pWeapon, m_iWeaponState, weaponState |= WPNSTATE_M4A1_SILENCED); + if (draw_animation && UTIL_IsPlayer(amx, pWeapon->v.owner)) { - pWeapon->v.owner->v.weaponanim = M4A1_ATTACHSILENCEANIM; + pWeapon->v.owner->v.weaponanim = M4A1_ATTACH_SILENCER; } } - } else if (*silencemode & M4A1_SILENCED) { // want to unsilence - can't already be unsilenced - *silencemode &= ~M4A1_SILENCED; - // If this weapon has an owner that is a player, play animation for that player. + } + else if (weaponState & WPNSTATE_M4A1_SILENCED) + { + set_pdata(pWeapon, m_iWeaponState, weaponState &= ~WPNSTATE_M4A1_SILENCED); + if (draw_animation && UTIL_IsPlayer(amx, pWeapon->v.owner)) { - pWeapon->v.owner->v.weaponanim = M4A1_DETACHSILENCEANIM; + pWeapon->v.owner->v.weaponanim = M4A1_DETACH_SILENCER; } } - break; + return 1; + } case CSW_USP: + { if (params[2] == 1) { - if (!(*silencemode & USP_SILENCED)) - { // want to silence - can't already be silenced - *silencemode |= USP_SILENCED; - // If this weapon has an owner that is a player, play animation for that player. + if (!(weaponState & WPNSTATE_USP_SILENCED)) + { + set_pdata(pWeapon, m_iWeaponState, weaponState |= WPNSTATE_USP_SILENCED); + if (draw_animation && UTIL_IsPlayer(amx, pWeapon->v.owner)) { - pWeapon->v.owner->v.weaponanim = USP_ATTACHSILENCEANIM; + pWeapon->v.owner->v.weaponanim = USP_ATTACH_SILENCER; } } - } else if (*silencemode & USP_SILENCED) { // want to unsilence - can't already be unsilenced - *silencemode &= ~USP_SILENCED; - // If this weapon has an owner that is a player, play animation for that player. + } + else if (weaponState & WPNSTATE_USP_SILENCED) + { + set_pdata(pWeapon, m_iWeaponState, weaponState &= ~WPNSTATE_USP_SILENCED); + if (draw_animation && UTIL_IsPlayer(amx, pWeapon->v.owner)) { - pWeapon->v.owner->v.weaponanim = USP_DETACHSILENCEANIM; + pWeapon->v.owner->v.weaponanim = USP_DETACH_SILENCER; } } - break; - default: - return 0; + return 1; + } } - return 1; + return 0; } static cell AMX_NATIVE_CALL cs_get_weapon_burstmode(AMX *amx, cell *params) // cs_get_weapon_burstmode(index); = 1 param { + GET_OFFSET("CBasePlayerItem" , m_iId); + GET_OFFSET("CBasePlayerWeapon", m_iWeaponState); + // Is weapon in burst mode? Does only work with FAMAS and GLOCK. // params[1] = weapon index @@ -249,23 +282,32 @@ static cell AMX_NATIVE_CALL cs_get_weapon_burstmode(AMX *amx, cell *params) // c // Make into edict pointer edict_t *pWeapon = INDEXENT(params[1]); - int weapontype = (int)*((int *)pWeapon->pvPrivateData + OFFSET_WEAPONTYPE); - int* firemode = ((int *)pWeapon->pvPrivateData + OFFSET_SILENCER_FIREMODE); - switch (weapontype) { + switch (get_pdata(pWeapon, m_iId)) + { case CSW_GLOCK18: - if (*firemode == GLOCK_BURSTMODE) + { + if (get_pdata(pWeapon, m_iWeaponState) & WPNSTATE_GLOCK18_BURST_MODE) + { return 1; + } + } case CSW_FAMAS: - if (*firemode == FAMAS_BURSTMODE) + { + if (get_pdata(pWeapon, m_iWeaponState) & WPNSTATE_FAMAS_BURST_MODE) + { return 1; + } + } } - // All else return 0. return 0; } static cell AMX_NATIVE_CALL cs_set_weapon_burstmode(AMX *amx, cell *params) // cs_set_weapon_burstmode(index, burstmode = 1); = 2 params { + GET_OFFSET("CBasePlayerItem" , m_iId); + GET_OFFSET("CBasePlayerWeapon", m_iWeaponState); + // Set/unset burstmode. Does only work with FAMAS and GLOCK. // params[1] = weapon index // params[2] = 1, and we set burstmode, 0 and we unset it. @@ -276,57 +318,69 @@ static cell AMX_NATIVE_CALL cs_set_weapon_burstmode(AMX *amx, cell *params) // c // Make into edict pointer edict_t *pWeapon = INDEXENT(params[1]); - int weapontype = (int)*((int *)pWeapon->pvPrivateData + OFFSET_WEAPONTYPE); + int weaponState = get_pdata(pWeapon, m_iWeaponState); - int* firemode = ((int *)pWeapon->pvPrivateData + OFFSET_SILENCER_FIREMODE); - int previousMode = *firemode; - - switch (weapontype) { + switch (get_pdata(pWeapon, m_iId)) + { case CSW_GLOCK18: - if (params[2]) { - if (previousMode != GLOCK_BURSTMODE) { - *firemode = GLOCK_BURSTMODE; + { + if (params[2]) + { + if (!(weaponState & WPNSTATE_GLOCK18_BURST_MODE)) + { + set_pdata(pWeapon, m_iWeaponState, weaponState |= WPNSTATE_GLOCK18_BURST_MODE); - // Is this weapon's owner a player? If so send this message... if (UTIL_IsPlayer(amx, pWeapon->v.owner)) + { UTIL_TextMsg_Generic(pWeapon->v.owner, "#Switch_To_BurstFire"); + } } } - else if (previousMode != GLOCK_SEMIAUTOMATIC) { - *firemode = GLOCK_SEMIAUTOMATIC; + else if (weaponState & WPNSTATE_GLOCK18_BURST_MODE) + { + set_pdata(pWeapon, m_iWeaponState, weaponState &= ~WPNSTATE_GLOCK18_BURST_MODE); - // Is this weapon's owner a player? If so send this message... if (UTIL_IsPlayer(amx, pWeapon->v.owner)) + { UTIL_TextMsg_Generic(pWeapon->v.owner, "#Switch_To_SemiAuto"); - } - break; - case CSW_FAMAS: - if (params[2]) { - if (previousMode != FAMAS_BURSTMODE) { - *firemode = FAMAS_BURSTMODE; - - // Is this weapon's owner a player? If so send this message... - if (UTIL_IsPlayer(amx, pWeapon->v.owner)) - UTIL_TextMsg_Generic(pWeapon->v.owner, "#Switch_To_BurstFire"); } } - else if (previousMode != FAMAS_AUTOMATIC) { - *firemode = FAMAS_AUTOMATIC; + return 1; + } + case CSW_FAMAS: + { + if (params[2]) + { + if (!(weaponState & WPNSTATE_FAMAS_BURST_MODE)) + { + set_pdata(pWeapon, m_iWeaponState, weaponState |= WPNSTATE_FAMAS_BURST_MODE); - // Is this weapon's owner a player? If so send this message... - if (UTIL_IsPlayer(amx, pWeapon->v.owner)) - UTIL_TextMsg_Generic(pWeapon->v.owner, "#Switch_To_FullAuto"); + if (UTIL_IsPlayer(amx, pWeapon->v.owner)) + { + UTIL_TextMsg_Generic(pWeapon->v.owner, "#Switch_To_BurstFire"); + } + } } - break; - default: - return 0; + else if (weaponState & WPNSTATE_FAMAS_BURST_MODE) + { + set_pdata(pWeapon, m_iWeaponState, weaponState &= ~WPNSTATE_FAMAS_BURST_MODE); + + if (UTIL_IsPlayer(amx, pWeapon->v.owner)) + { + UTIL_TextMsg_Generic(pWeapon->v.owner, "#Switch_To_FullAuto"); + } + } + return 1; + } } - return 1; + return 0; } static cell AMX_NATIVE_CALL cs_get_user_armor(AMX *amx, cell *params) // cs_get_user_armor(index, &CsArmorType:armortype); = 2 params { + GET_OFFSET("CBasePlayer", m_iKevlar); + // Return how much armor and set reference of what type... // params[1] = user index // params[2] = byref, set armor type here (no armor/vest/vest+helmet) @@ -335,17 +389,17 @@ static cell AMX_NATIVE_CALL cs_get_user_armor(AMX *amx, cell *params) // cs_get_ // Make into edict pointer edict_t *pPlayer = MF_GetPlayerEdict(params[1]); - -// #if 0 (Removed this to make the function work) cell *armorTypeByRef = MF_GetAmxAddr(amx, params[2]); - *armorTypeByRef = *((int *)pPlayer->pvPrivateData + OFFSET_ARMORTYPE); -// #endif - return (cell)pPlayer->v.armorvalue; + *armorTypeByRef = get_pdata(pPlayer, m_iKevlar); + + return static_cast(pPlayer->v.armorvalue); } static cell AMX_NATIVE_CALL cs_set_user_armor(AMX *amx, cell *params) // cs_set_user_armor(index, armorvalue, CsArmorType:armortype); = 3 params { + GET_OFFSET("CBasePlayer", m_iKevlar); + // Set armor and set what type and send a message to client... // params[1] = user index // params[2] = armor value @@ -360,7 +414,7 @@ static cell AMX_NATIVE_CALL cs_set_user_armor(AMX *amx, cell *params) // cs_set_ pPlayer->v.armorvalue = params[2]; // Set armor type - *((int *)pPlayer->pvPrivateData + OFFSET_ARMORTYPE) = params[3]; + set_pdata(pPlayer, m_iKevlar, params[3]); if (params[3] == CS_ARMOR_KEVLAR || params[3] == CS_ARMOR_ASSAULTSUIT) { @@ -375,6 +429,8 @@ static cell AMX_NATIVE_CALL cs_set_user_armor(AMX *amx, cell *params) // cs_set_ static cell AMX_NATIVE_CALL cs_get_user_vip(AMX *amx, cell *params) // cs_get_user_vip(index); = 1 param { + GET_OFFSET("CBasePlayer", m_bIsVIP); + // Is user vip? // params[1] = user index @@ -384,14 +440,19 @@ static cell AMX_NATIVE_CALL cs_get_user_vip(AMX *amx, cell *params) // cs_get_us // Make into edict pointer edict_t *pPlayer = MF_GetPlayerEdict(params[1]); - if ( *((int *)pPlayer->pvPrivateData + OFFSET_VIP) & PLAYER_IS_VIP ) + if (get_pdata(pPlayer, m_bIsVIP)) + { return 1; + } return 0; } static cell AMX_NATIVE_CALL cs_set_user_vip(AMX *amx, cell *params) // cs_set_user_vip(index, vip = 1, model = 1, scoreboard = 1); = 4 params { + GET_OFFSET("CBasePlayer", m_bIsVIP); + GET_OFFSET("CBasePlayer", m_iModelName); + // Set user vip // params[1] = user index // params[2] = if 1, activate vip, else deactivate vip. @@ -420,13 +481,13 @@ static cell AMX_NATIVE_CALL cs_set_user_vip(AMX *amx, cell *params) // cs_set_us if (params[2] == 1) { - // Set to "be" vip. - *((int *)pPlayer->pvPrivateData + OFFSET_VIP) |= PLAYER_IS_VIP; + set_pdata(pPlayer, m_bIsVIP, true); if (updateModel) { // Set vip model - *((int *)pPlayer->pvPrivateData + OFFSET_INTERNALMODEL) = CS_CT_VIP; + set_pdata(pPlayer, m_iModelName, CS_CT_VIP); + // This makes the model get updated right away. MDLL_ClientUserInfoChanged(pPlayer, GETINFOKEYBUFFER(pPlayer)); // If this causes any problems for WON, do this line only in STEAM builds. } @@ -443,14 +504,16 @@ static cell AMX_NATIVE_CALL cs_set_user_vip(AMX *amx, cell *params) // cs_set_us else { // Set to not be vip. - *((int *)pPlayer->pvPrivateData + OFFSET_VIP) &= ~PLAYER_IS_VIP; + set_pdata(pPlayer, m_bIsVIP, false); if (updateModel) { // Set a random CT model. CS_Internal_Models CTmodels[5] = {CS_CT_URBAN, CS_CT_GSG9, CS_CT_GIGN, CS_CT_SAS, CZ_CT_SPETSNAZ}; CS_Internal_Models ct_model = CTmodels[RANDOM_LONG(0, 4)]; - *((int *)pPlayer->pvPrivateData + OFFSET_INTERNALMODEL) = ct_model; + + set_pdata(pPlayer, m_iModelName, ct_model); + // This makes the model get updated right away. MDLL_ClientUserInfoChanged(pPlayer, GETINFOKEYBUFFER(pPlayer)); // If this causes any problems for WON, do this line only in STEAM builds. } @@ -477,6 +540,9 @@ static cell AMX_NATIVE_CALL cs_set_user_vip(AMX *amx, cell *params) // cs_set_us static cell AMX_NATIVE_CALL cs_get_user_team(AMX *amx, cell *params) // cs_get_user_team(index); = 1 param { + GET_OFFSET("CBasePlayer", m_iModelName); + GET_OFFSET("CBasePlayer", m_iTeam); + // Get user team // params[1] = user index @@ -490,14 +556,17 @@ static cell AMX_NATIVE_CALL cs_get_user_team(AMX *amx, cell *params) // cs_get_u if ((params[0] / sizeof(cell)) >= 2) { model = MF_GetAmxAddr(amx, params[2]); - *model = *((int *)pPlayer->pvPrivateData + OFFSET_INTERNALMODEL); + *model = get_pdata(pPlayer, m_iModelName); } - return *((int *)pPlayer->pvPrivateData + OFFSET_TEAM); + return get_pdata(pPlayer, m_iTeam);; } static cell AMX_NATIVE_CALL cs_set_user_team(AMX *amx, cell *params) // cs_set_user_team(index, team, model = 0); = 3 params { + GET_OFFSET("CBasePlayer", m_iModelName); + GET_OFFSET("CBasePlayer", m_iTeam); + // Set user team // params[1] = user index // params[2] = team @@ -512,9 +581,10 @@ static cell AMX_NATIVE_CALL cs_set_user_team(AMX *amx, cell *params) // cs_set_u int model = params[3]; // Just set team. Removed check of 1-2-3, because maybe scripters want to create new teams, 4, 5 etc? - *((int *)pPlayer->pvPrivateData + OFFSET_TEAM) = params[2]; + set_pdata(pPlayer, m_iTeam, params[2]); + if (model != 0) - *((int *)pPlayer->pvPrivateData + OFFSET_INTERNALMODEL) = model; + set_pdata(pPlayer, m_iModelName, model); // This makes the model get updated right away. MDLL_ClientUserInfoChanged(pPlayer, GETINFOKEYBUFFER(pPlayer)); // If this causes any problems for WON, do this line only in STEAM builds. @@ -562,8 +632,16 @@ static cell AMX_NATIVE_CALL cs_set_user_team(AMX *amx, cell *params) // cs_set_u return 1; } +struct CUnifiedSignals +{ + int m_flSignal; + int m_flState; +}; + static cell AMX_NATIVE_CALL cs_get_user_inside_buyzone(AMX *amx, cell *params) // cs_get_user_inside_buyzone(index); = 1 param { + GET_OFFSET("CBasePlayer", m_signals); + // Is user inside buy zone? // params[1] = user index @@ -574,7 +652,7 @@ static cell AMX_NATIVE_CALL cs_get_user_inside_buyzone(AMX *amx, cell *params) / edict_t *pPlayer = MF_GetPlayerEdict(params[1]); // This offset is 0 when outside, 1 when inside. - if ((int)*((int *)pPlayer->pvPrivateData + OFFSET_MAPZONE) & PLAYER_IN_BUYZONE) + if (get_pdata(pPlayer, m_signals).m_flState & SIGNAL_BUY) return 1; return 0; @@ -582,6 +660,8 @@ static cell AMX_NATIVE_CALL cs_get_user_inside_buyzone(AMX *amx, cell *params) / static cell AMX_NATIVE_CALL cs_get_user_mapzones(AMX *amx, cell *params) // cs_get_user_mapzones(index); = 1 param { + GET_OFFSET("CBasePlayer", m_signals); + // Is user inside a special zone? // params[1] = user index @@ -591,12 +671,14 @@ static cell AMX_NATIVE_CALL cs_get_user_mapzones(AMX *amx, cell *params) // cs_g // Make into edict pointer edict_t *pPlayer = MF_GetPlayerEdict(params[1]); - return (int)*((int *)pPlayer->pvPrivateData + OFFSET_MAPZONE); + return get_pdata(pPlayer, m_signals).m_flSignal; } static cell AMX_NATIVE_CALL cs_get_user_plant(AMX *amx, cell *params) // cs_get_user_plant(index); = 1 param { + GET_OFFSET("CBasePlayer", m_bHasC4); + // Can user plant a bomb if he has one? // params[1] = user index @@ -606,7 +688,7 @@ static cell AMX_NATIVE_CALL cs_get_user_plant(AMX *amx, cell *params) // cs_get_ // Make into edict pointer edict_t *pPlayer = MF_GetPlayerEdict(params[1]); - if ((int)*((int *)pPlayer->pvPrivateData + OFFSET_DEFUSE_PLANT) & CAN_PLANT_BOMB) + if (get_pdata(pPlayer, m_bHasC4)) return 1; return 0; @@ -614,6 +696,8 @@ static cell AMX_NATIVE_CALL cs_get_user_plant(AMX *amx, cell *params) // cs_get_ static cell AMX_NATIVE_CALL cs_set_user_plant(AMX *amx, cell *params) // cs_set_user_plant(index, plant = 1, showbombicon = 1); = 1 param { + GET_OFFSET("CBasePlayer", m_bHasC4); + // Set user plant "skill". // params[1] = user index // params[2] = 1 = able to @@ -624,11 +708,9 @@ static cell AMX_NATIVE_CALL cs_set_user_plant(AMX *amx, cell *params) // cs_set_ // Make into edict pointer edict_t *pPlayer = MF_GetPlayerEdict(params[1]); - - int* plantskill = ((int *)pPlayer->pvPrivateData + OFFSET_DEFUSE_PLANT); if (params[2]) { - *plantskill |= CAN_PLANT_BOMB; + set_pdata(pPlayer, m_bHasC4, true); if (params[3]) { MESSAGE_BEGIN(MSG_ONE, GET_USER_MSG_ID(PLID, "StatusIcon", NULL), NULL, pPlayer); WRITE_BYTE(1); // show @@ -640,7 +722,7 @@ static cell AMX_NATIVE_CALL cs_set_user_plant(AMX *amx, cell *params) // cs_set_ } } else { - *plantskill &= ~CAN_PLANT_BOMB; + set_pdata(pPlayer, m_bHasC4, false); MESSAGE_BEGIN(MSG_ONE, GET_USER_MSG_ID(PLID, "StatusIcon", NULL), NULL, pPlayer); WRITE_BYTE(0); // hide WRITE_STRING("c4"); @@ -662,6 +744,8 @@ static cell AMX_NATIVE_CALL cs_set_user_plant(AMX *amx, cell *params) // cs_set_ static cell AMX_NATIVE_CALL cs_get_user_defusekit(AMX *amx, cell *params) // cs_get_user_defusekit(index); = 1 param { + GET_OFFSET("CBasePlayer", m_bHasDefuser); + // Does user have defusekit? // params[1] = user index @@ -671,7 +755,7 @@ static cell AMX_NATIVE_CALL cs_get_user_defusekit(AMX *amx, cell *params) // cs_ // Make into edict pointer edict_t *pPlayer = MF_GetPlayerEdict(params[1]); - if ((int)*((int *)pPlayer->pvPrivateData + OFFSET_DEFUSE_PLANT) & HAS_DEFUSE_KIT) + if (get_pdata(pPlayer, m_bHasDefuser)) return 1; return 0; @@ -679,6 +763,8 @@ static cell AMX_NATIVE_CALL cs_get_user_defusekit(AMX *amx, cell *params) // cs_ static cell AMX_NATIVE_CALL cs_set_user_defusekit(AMX *amx, cell *params) // cs_set_user_defusekit(index, defusekit = 1, r = 0, g = 160, b = 0, icon[] = "defuser", flash = 0); = 7 params { + GET_OFFSET("CBasePlayer", m_bHasDefuser); + // Give/take defusekit. // params[1] = user index // params[2] = 1 = give @@ -694,8 +780,6 @@ static cell AMX_NATIVE_CALL cs_set_user_defusekit(AMX *amx, cell *params) // cs_ // Make into edict pointer edict_t *pPlayer = MF_GetPlayerEdict(params[1]); - int* defusekit = ((int *)pPlayer->pvPrivateData + OFFSET_DEFUSE_PLANT); - if (params[2]) { int colour[3] = {DEFUSER_COLOUR_R, DEFUSER_COLOUR_G, DEFUSER_COLOUR_B}; @@ -718,7 +802,7 @@ static cell AMX_NATIVE_CALL cs_set_user_defusekit(AMX *amx, cell *params) // cs_ icon = "defuser"; } - *defusekit |= HAS_DEFUSE_KIT; + set_pdata(pPlayer, m_bHasDefuser, false); MESSAGE_BEGIN(MSG_ONE, GET_USER_MSG_ID(PLID, "StatusIcon", NULL), NULL, pPlayer); WRITE_BYTE(params[7] == 1 ? 2 : 1); // show (if params[7] == 1, then this should flash, so we should set two here, else just 1 to show normally) WRITE_STRING(icon); @@ -728,7 +812,7 @@ static cell AMX_NATIVE_CALL cs_set_user_defusekit(AMX *amx, cell *params) // cs_ MESSAGE_END(); } else { - *defusekit &= ~HAS_DEFUSE_KIT; + set_pdata(pPlayer, m_bHasDefuser, false); MESSAGE_BEGIN(MSG_ONE, GET_USER_MSG_ID(PLID, "StatusIcon", NULL), NULL, pPlayer); WRITE_BYTE(0); // hide WRITE_STRING("defuser"); @@ -757,6 +841,12 @@ static cell AMX_NATIVE_CALL cs_set_user_defusekit(AMX *amx, cell *params) // cs_ static cell AMX_NATIVE_CALL cs_get_user_backpackammo(AMX *amx, cell *params) // cs_get_user_backpackammo(index, weapon); = 2 params { + GET_OFFSET("CBasePlayer" , m_rgpPlayerItems ); + GET_OFFSET("CBasePlayer" , m_rgAmmo ); + GET_OFFSET("CBasePlayerItem" , m_pNext ); + GET_OFFSET("CBasePlayerItem" , m_iId ); + GET_OFFSET("CBasePlayerWeapon", m_iPrimaryAmmoType); + // Get amount of ammo in a user's backpack for a specific weapon type. // params[1] = user index // params[2] = weapon, as in CSW_* @@ -767,77 +857,40 @@ static cell AMX_NATIVE_CALL cs_get_user_backpackammo(AMX *amx, cell *params) // // Make into edict pointer edict_t *pPlayer = MF_GetPlayerEdict(params[1]); - int offset; + int targetWeaponId = params[2]; - switch (params[2]) { - case CSW_AWP: - offset = OFFSET_AWM_AMMO; - break; - case CSW_SCOUT: - case CSW_AK47: - case CSW_G3SG1: - offset = OFFSET_SCOUT_AMMO; - break; - case CSW_M249: - offset = OFFSET_PARA_AMMO; - break; - case CSW_FAMAS: - case CSW_M4A1: - case CSW_AUG: - case CSW_SG550: - case CSW_GALI: - case CSW_SG552: - offset = OFFSET_FAMAS_AMMO; - break; - case CSW_M3: - case CSW_XM1014: - offset = OFFSET_M3_AMMO; - break; - case CSW_USP: - case CSW_UMP45: - case CSW_MAC10: - offset = OFFSET_USP_AMMO; - break; - case CSW_FIVESEVEN: - case CSW_P90: - offset = OFFSET_FIVESEVEN_AMMO; - break; - case CSW_DEAGLE: - offset = OFFSET_DEAGLE_AMMO; - break; - case CSW_P228: - offset = OFFSET_P228_AMMO; - break; - case CSW_GLOCK18: - case CSW_MP5NAVY: - case CSW_TMP: - case CSW_ELITE: - offset = OFFSET_GLOCK_AMMO; - break; - case CSW_FLASHBANG: - offset = OFFSET_FLASH_AMMO; - break; - case CSW_HEGRENADE: - offset = OFFSET_HE_AMMO; - break; - case CSW_SMOKEGRENADE: - offset = OFFSET_SMOKE_AMMO; - break; - case CSW_C4: - offset = OFFSET_C4_AMMO; - break; - default: - MF_LogError(amx, AMX_ERR_NATIVE, "Invalid weapon id %d", params[2]); - return 0; + if (targetWeaponId < CSW_P228 || targetWeaponId > CSW_P90 || targetWeaponId == CSW_KNIFE) + { + MF_LogError(amx, AMX_ERR_NATIVE, "Invalid weapon id %d", params[2]); + return 0; } - return (int)*((int *)pPlayer->pvPrivateData + offset); - + for (size_t i = 0; i < MAX_WEAPON_SLOTS; ++i) + { + uintptr_t *pItem = get_pdata(pPlayer, m_rgpPlayerItems, i); + + while (pItem) + { + if (targetWeaponId == get_pdata(pItem, m_iId)) + { + return get_pdata(pPlayer, m_rgAmmo, get_pdata(pItem, m_iPrimaryAmmoType)); + } + + pItem = get_pdata(pItem, m_pNext); + } + } + return 0; } static cell AMX_NATIVE_CALL cs_set_user_backpackammo(AMX *amx, cell *params) // cs_set_user_backpackammo(index, weapon, amount); = 3 params { + GET_OFFSET("CBasePlayer" , m_rgpPlayerItems ); + GET_OFFSET("CBasePlayer" , m_rgAmmo ); + GET_OFFSET("CBasePlayerItem" , m_pNext ); + GET_OFFSET("CBasePlayerItem" , m_iId ); + GET_OFFSET("CBasePlayerWeapon", m_iPrimaryAmmoType); + // Set amount of ammo in a user's backpack for a specific weapon type. // params[1] = user index // params[2] = weapon, as in CSW_* @@ -849,77 +902,37 @@ static cell AMX_NATIVE_CALL cs_set_user_backpackammo(AMX *amx, cell *params) // // Make into edict pointer edict_t *pPlayer = MF_GetPlayerEdict(params[1]); - int offset; + int targetWeaponId = params[2]; - switch (params[2]) { - case CSW_AWP: - offset = OFFSET_AWM_AMMO; - break; - case CSW_SCOUT: - case CSW_AK47: - case CSW_G3SG1: - offset = OFFSET_SCOUT_AMMO; - break; - case CSW_M249: - offset = OFFSET_PARA_AMMO; - break; - case CSW_FAMAS: - case CSW_M4A1: - case CSW_AUG: - case CSW_SG550: - case CSW_GALI: - case CSW_SG552: - offset = OFFSET_FAMAS_AMMO; - break; - case CSW_M3: - case CSW_XM1014: - offset = OFFSET_M3_AMMO; - break; - case CSW_USP: - case CSW_UMP45: - case CSW_MAC10: - offset = OFFSET_USP_AMMO; - break; - case CSW_FIVESEVEN: - case CSW_P90: - offset = OFFSET_FIVESEVEN_AMMO; - break; - case CSW_DEAGLE: - offset = OFFSET_DEAGLE_AMMO; - break; - case CSW_P228: - offset = OFFSET_P228_AMMO; - break; - case CSW_GLOCK18: - case CSW_MP5NAVY: - case CSW_TMP: - case CSW_ELITE: - offset = OFFSET_GLOCK_AMMO; - break; - case CSW_FLASHBANG: - offset = OFFSET_FLASH_AMMO; - break; - case CSW_HEGRENADE: - offset = OFFSET_HE_AMMO; - break; - case CSW_SMOKEGRENADE: - offset = OFFSET_SMOKE_AMMO; - break; - case CSW_C4: - offset = OFFSET_C4_AMMO; - break; - default: - MF_LogError(amx, AMX_ERR_NATIVE, "Invalid weapon id %d", params[2]); - return 0; + if (targetWeaponId < CSW_P228 || targetWeaponId > CSW_P90 || targetWeaponId == CSW_KNIFE) + { + MF_LogError(amx, AMX_ERR_NATIVE, "Invalid weapon id %d", params[2]); + return 0; } - *((int *)pPlayer->pvPrivateData + offset) = params[3]; + for (size_t i = 0; i < MAX_WEAPON_SLOTS; ++i) + { + uintptr_t *pItem = get_pdata(pPlayer, m_rgpPlayerItems, i); + + while (pItem) + { + if (targetWeaponId == get_pdata(pItem, m_iId)) + { + set_pdata(pPlayer, m_rgAmmo, params[3], get_pdata(pItem, m_iPrimaryAmmoType)); + return 1; + } + + pItem = get_pdata(pItem, m_pNext); + } + } - return 1; + return 0; } static cell AMX_NATIVE_CALL cs_get_user_nvg(AMX *amx, cell *params) // cs_get_user_nvg(index); = 1 param { + GET_OFFSET("CBasePlayer", m_bHasNightVision); + // Does user have night vision goggles? // params[1] = user index @@ -929,7 +942,7 @@ static cell AMX_NATIVE_CALL cs_get_user_nvg(AMX *amx, cell *params) // cs_get_us // Make into edict pointer edict_t *pPlayer = MF_GetPlayerEdict(params[1]); - if ((int)*((int *)pPlayer->pvPrivateData + OFFSET_NVGOGGLES) & HAS_NVGOGGLES) + if (get_pdata(pPlayer, m_bHasNightVision)) return 1; return 0; @@ -937,6 +950,8 @@ static cell AMX_NATIVE_CALL cs_get_user_nvg(AMX *amx, cell *params) // cs_get_us static cell AMX_NATIVE_CALL cs_set_user_nvg(AMX *amx, cell *params) // cs_set_user_nvg(index, nvgoggles = 1); = 2 params { + GET_OFFSET("CBasePlayer", m_bHasNightVision); + // Give/take nvgoggles.. // params[1] = user index // params[2] = 1 = give, 0 = remove @@ -947,16 +962,16 @@ static cell AMX_NATIVE_CALL cs_set_user_nvg(AMX *amx, cell *params) // cs_set_us // Make into edict pointer edict_t *pPlayer = MF_GetPlayerEdict(params[1]); - int* defusekit = ((int *)pPlayer->pvPrivateData + OFFSET_NVGOGGLES); - - if (params[2]) { - if (*defusekit & HAS_NVGOGGLES) + if (params[2]) + { + if (get_pdata(pPlayer, m_bHasNightVision)) UTIL_TextMsg_Generic(pPlayer, "#Already_Have_One"); else - *defusekit |= HAS_NVGOGGLES; + set_pdata(pPlayer, m_bHasNightVision, true); } else - *defusekit &= ~HAS_NVGOGGLES; + set_pdata(pPlayer, m_bHasNightVision, false); + /*L 02/27/2004 - 09:16:43: [JGHG Trace] {MessageBegin type=TextMsg(77), dest=MSG_ONE(1), classname=player netname=JGHG L 02/27/2004 - 09:16:43: [JGHG Trace] WriteByte byte=4 L 02/27/2004 - 09:16:43: [JGHG Trace] WriteString string=#Already_Have_One @@ -1030,6 +1045,8 @@ static cell AMX_NATIVE_CALL cs_reset_user_model(AMX *amx, cell *params) // cs_re static cell AMX_NATIVE_CALL cs_get_hostage_follow(AMX *amx, cell *params) // cs_get_hostage_follow(index); = 1 param { + GET_OFFSET("CBaseMonster" , m_hTargetEnt); + // What index is the hostage following? (this doesn't have to be a player) // params[1] = hostage index @@ -1045,70 +1062,48 @@ static cell AMX_NATIVE_CALL cs_get_hostage_follow(AMX *amx, cell *params) // cs_ return 0; } -#if !defined __amd64__ - int following = *((int *)pHostage->pvPrivateData + OFFSET_HOSTAGEFOLLOW); -#else - long following = *((long *)pHostage->pvPrivateData + OFFSET_HOSTAGEFOLLOW); -#endif - if (following == 0) - return following; + edict_t *pEntity = get_pdata(pHostage, m_hTargetEnt).Get(); - // Else this is probably a pointer to an entity's edict. - edict_t* pEntity = (edict_t*)following; - - if (FNullEnt(pEntity)) { - MF_LogError(amx, AMX_ERR_NATIVE, "Unknown error finding hostage parameter"); - return 0; - } - - return ENTINDEX(pEntity); + return pEntity ? ENTINDEX(pEntity) : 0; } static cell AMX_NATIVE_CALL cs_set_hostage_follow(AMX *amx, cell *params) // cs_set_hostage_follow(index, followedindex = 0); = 2 params { + GET_OFFSET("CBaseMonster", m_hTargetEnt); + // What index should the hostage be following? (this doesn't have to be a player) // params[1] = hostage index // params[2] = index to follow, if -1 then set hostage to not follow anything + cell hostage = params[1]; + cell target = params[2]; + // Valid index should be within range - CHECK_NONPLAYER(params[1]); + CHECK_NONPLAYER(hostage); + + if (target != 0) + { + CHECK_ENTITY(target); + } // Make into edict pointer - edict_t* pHostage = INDEXENT(params[1]); + edict_t* pHostage = INDEXENT(hostage); // Make sure this is a hostage. if (strcmp(STRING(pHostage->v.classname), "hostage_entity") != 0) { - MF_LogError(amx, AMX_ERR_NATIVE, "Entity %d (\"%s\") is not a hostage", params[1], STRING(pHostage->v.classname)); + MF_LogError(amx, AMX_ERR_NATIVE, "Entity %d (\"%s\") is not a hostage", hostage, STRING(pHostage->v.classname)); return 0; } - // Set to not follow anything? - if (params[2] == 0) { -#if !defined __amd64__ - *((int *)pHostage->pvPrivateData + OFFSET_HOSTAGEFOLLOW) = 0; -#else - *((long *)pHostage->pvPrivateData + OFFSET_HOSTAGEFOLLOW) = 0; -#endif + get_pdata(pHostage, m_hTargetEnt).Set(target ? GETEDICT(target) : nullptr); - return 1; - } - - // Valid index should be within range - CHECK_ENTITY(params[2]); - - // Make into edict pointer - edict_t* pEntity = GETEDICT(params[2]); - -#if !defined __amd64__ - *((int *)pHostage->pvPrivateData + OFFSET_HOSTAGEFOLLOW) = (int)pEntity; -#else - *((long *)pHostage->pvPrivateData + OFFSET_HOSTAGEFOLLOW) = (long)pEntity; -#endif return 1; } static cell AMX_NATIVE_CALL cs_get_weapon_ammo(AMX *amx, cell *params) // cs_get_weapon_ammo(index); = 1 param { + GET_OFFSET("CBasePlayerWeapon", m_iClip); + // Get amount of ammo in weapon's clip // params[1] = weapon index @@ -1118,11 +1113,13 @@ static cell AMX_NATIVE_CALL cs_get_weapon_ammo(AMX *amx, cell *params) // cs_get // Make into edict pointer edict_t *pWeapon = INDEXENT(params[1]); - return *((int *)pWeapon->pvPrivateData + OFFSET_CLIPAMMO); + return get_pdata(pWeapon, m_iClip); } static cell AMX_NATIVE_CALL cs_set_weapon_ammo(AMX *amx, cell *params) // cs_set_weapon_ammo(index, newammo); = 2 params { + GET_OFFSET("CBasePlayerWeapon", m_iClip); + // Set amount of ammo in weapon's clip // params[1] = weapon index // params[2] = newammo @@ -1133,13 +1130,15 @@ static cell AMX_NATIVE_CALL cs_set_weapon_ammo(AMX *amx, cell *params) // cs_set // Make into edict pointer edict_t *pWeapon = INDEXENT(params[1]); - *((int *)pWeapon->pvPrivateData + OFFSET_CLIPAMMO) = params[2]; + set_pdata(pWeapon, m_iClip, params[2]); return 1; } static cell AMX_NATIVE_CALL cs_get_user_hasprimary(AMX *amx, cell *params) // cs_get_user_hasprimary(index); = 1 param { + GET_OFFSET("CBasePlayer", m_bHasPrimary); + // Return 1 if user has a primary or shield (actually just return the value at the offset) // params[1] = user index @@ -1149,7 +1148,7 @@ static cell AMX_NATIVE_CALL cs_get_user_hasprimary(AMX *amx, cell *params) // cs // Make into edict pointer edict_t *pPlayer = MF_GetPlayerEdict(params[1]); - return *((int *)pPlayer->pvPrivateData + OFFSET_PRIMARYWEAPON); + return get_pdata(pPlayer, m_bHasPrimary) ? 1 : 0; } static cell AMX_NATIVE_CALL cs_get_no_knives(AMX *amx, cell *params) // cs_get_no_knives(); = 0 params @@ -1169,6 +1168,8 @@ static cell AMX_NATIVE_CALL cs_set_no_knives(AMX *amx, cell *params) // cs_set_n // Damaged Soul static cell AMX_NATIVE_CALL cs_get_user_tked(AMX *amx, cell *params) // cs_get_user_tked(index); = 1 param { + GET_OFFSET("CBasePlayer", m_bJustKilledTeammate); + // Return 1 if user has committed a team killing) // params[1] = user index @@ -1178,12 +1179,16 @@ static cell AMX_NATIVE_CALL cs_get_user_tked(AMX *amx, cell *params) // cs_get_u // Make into edict pointer edict_t *pPlayer = MF_GetPlayerEdict(params[1]); - return *((int *)pPlayer->pvPrivateData + OFFSET_TK); + return get_pdata(pPlayer, m_bJustKilledTeammate) ? 1 : 0; } // Damaged Soul static cell AMX_NATIVE_CALL cs_set_user_tked(AMX *amx, cell *params) // cs_set_user_tked(index, tk = 1, subtract = 1); = 2 arguments { + GET_OFFSET("CBasePlayer", m_bJustKilledTeammate); + GET_OFFSET("CBasePlayer", m_iTeam); + GET_OFFSET("CBasePlayer", m_iDeaths); + // Sets whether or not player has committed a TK. // params[1] = user // params[2] = 1: player has TKed, 0: player hasn't TKed @@ -1195,11 +1200,7 @@ static cell AMX_NATIVE_CALL cs_set_user_tked(AMX *amx, cell *params) // cs_set_u // Fetch player pointer edict_t *pPlayer = MF_GetPlayerEdict(params[1]); - if (params[2]) { - *((int *)pPlayer->pvPrivateData + OFFSET_TK) = 1; - } else { - *((int *)pPlayer->pvPrivateData + OFFSET_TK) = 0; - } + set_pdata(pPlayer, m_bJustKilledTeammate, params[2] != 0); if (params[3]) { pPlayer->v.frags = pPlayer->v.frags - params[3]; @@ -1207,9 +1208,9 @@ static cell AMX_NATIVE_CALL cs_set_user_tked(AMX *amx, cell *params) // cs_set_u MESSAGE_BEGIN(MSG_ALL, GET_USER_MSG_ID(PLID, "ScoreInfo", NULL)); WRITE_BYTE(params[1]); // user index WRITE_SHORT((int)pPlayer->v.frags); // frags - WRITE_SHORT(*((int *)pPlayer->pvPrivateData + OFFSET_CSDEATHS)); // deaths + WRITE_SHORT(get_pdata(pPlayer, m_iDeaths)); // deaths WRITE_SHORT(0); // ? - WRITE_SHORT(*((int *)pPlayer->pvPrivateData + OFFSET_TEAM)); // team + WRITE_SHORT(get_pdata(pPlayer, m_iTeam)); // team MESSAGE_END(); } @@ -1218,6 +1219,8 @@ static cell AMX_NATIVE_CALL cs_set_user_tked(AMX *amx, cell *params) // cs_set_u static cell AMX_NATIVE_CALL cs_get_user_driving(AMX *amx, cell *params) // cs_get_user_driving(index); = 1 param { + GET_OFFSET("CBasePlayer", m_iTrain); + // Returns different values depending on if user is driving a value - and if so at what speed. // 0: no driving // 1: driving, but standing still @@ -1232,11 +1235,13 @@ static cell AMX_NATIVE_CALL cs_get_user_driving(AMX *amx, cell *params) // cs_ge edict_t *pPlayer = MF_GetPlayerEdict(params[1]); // If player driving, return 1, if not, return 0 - return *((int *)pPlayer->pvPrivateData + OFFSET_ISDRIVING); + return get_pdata(pPlayer, m_iTrain); } static cell AMX_NATIVE_CALL cs_get_user_stationary(AMX *amx, cell *params) // cs_get_user_stationary(index); = 1 param { + GET_OFFSET("CBasePlayer", m_iClientHideHUD); + // Returns 1 if client is using a stationary guns (maybe also other stuff) // Check player @@ -1246,26 +1251,14 @@ static cell AMX_NATIVE_CALL cs_get_user_stationary(AMX *amx, cell *params) // cs edict_t *pPlayer = MF_GetPlayerEdict(params[1]); // If player driving, return 1, if not, return 0 -#if !defined __amd64__ - return *((int *)pPlayer->pvPrivateData + OFFSET_STATIONARY); -#else - // The 32 bit server return 0 and 1 by itself from this offset, but the amd64 server has 2 and 3 respectively - // Doing a simple checking of these defined constants here, and mapping to 0 and 1, to keep our plugin authors sane. - // If an unexpected value is encountered, this will be logged. - if (AMD64_STATIONARY_NO == *((int *)pPlayer->pvPrivateData + OFFSET_STATIONARY)) - return 0; - else if (AMD64_STATIONARY_YES == *((int *)pPlayer->pvPrivateData + OFFSET_STATIONARY)) - return 1; - else { - MF_LogError(amx, AMX_ERR_NATIVE, "Unexpected value at offset. Please report this to development team @ www.amxmodx.org!"); - return 0; - } -#endif + return get_pdata(pPlayer, m_iClientHideHUD); } static cell AMX_NATIVE_CALL cs_get_user_shield(AMX *amx, cell *params) { + GET_OFFSET("CBasePlayer", m_bOwnsShield); + //Return 1 if user has a shield. //params[1] = user id @@ -1275,7 +1268,7 @@ static cell AMX_NATIVE_CALL cs_get_user_shield(AMX *amx, cell *params) // Make into edict pointer edict_t *pPlayer = MF_GetPlayerEdict(params[1]); - if ((int)*((int *)pPlayer->pvPrivateData + OFFSET_SHIELD) & HAS_SHIELD) + if (get_pdata(pPlayer, m_bOwnsShield)) return 1; return 0; @@ -1304,6 +1297,8 @@ static cell AMX_NATIVE_CALL cs_user_spawn(AMX *amx, cell *params) static cell AMX_NATIVE_CALL cs_get_armoury_type(AMX *amx, cell *params) { + GET_OFFSET("CArmoury", m_iItem); + // Return CSW_* constants of specified armoury_entity. // params[1] = entity @@ -1321,7 +1316,7 @@ static cell AMX_NATIVE_CALL cs_get_armoury_type(AMX *amx, cell *params) } #if PAWN_CELL_SIZE == 32 - int weapontype = *((int *)pArmoury->pvPrivateData + OFFSET_ARMOURY_TYPE); + int weapontype = get_pdata(pArmoury, m_iItem);; // We do a switch instead of a mapped array because this way we can nicely catch unexpected values, and we don't get array out of bounds thingies. int weapontype_out; @@ -1359,6 +1354,8 @@ static cell AMX_NATIVE_CALL cs_get_armoury_type(AMX *amx, cell *params) static cell AMX_NATIVE_CALL cs_set_armoury_type(AMX *amx, cell *params) { + GET_OFFSET("CArmoury", m_iItem); + // Set CSW->CSA mapped weapon type to entity. // params[1] = entity // params[2] = CSW_* constant @@ -1405,7 +1402,7 @@ static cell AMX_NATIVE_CALL cs_set_armoury_type(AMX *amx, cell *params) return 0; } - *((int *)pArmoury->pvPrivateData + OFFSET_ARMOURY_TYPE) = weapontype; + set_pdata(pArmoury, m_iItem, weapontype); return 1; #else @@ -1416,6 +1413,8 @@ static cell AMX_NATIVE_CALL cs_set_armoury_type(AMX *amx, cell *params) static cell AMX_NATIVE_CALL cs_set_user_zoom(AMX *amx, cell *params) { + GET_OFFSET("CBasePlayer", m_iFOV); + // Set the weapon zoom type of a user // params[1] = user index // params[2] = zoom type @@ -1435,7 +1434,7 @@ static cell AMX_NATIVE_CALL cs_set_user_zoom(AMX *amx, cell *params) if (type == CS_RESET_ZOOM) { - *((int *)pPlayer->pvPrivateData + OFFSET_ZOOMTYPE) = CS_NO_ZOOM; + set_pdata(pPlayer, m_iFOV, CS_NO_ZOOM); return 1; } @@ -1463,13 +1462,16 @@ static cell AMX_NATIVE_CALL cs_set_user_zoom(AMX *amx, cell *params) if (!params[3]) g_zooming[index] = value; - *((int *)pPlayer->pvPrivateData + OFFSET_ZOOMTYPE) = value; + + set_pdata(pPlayer, m_iFOV, value); return 1; } static cell AMX_NATIVE_CALL cs_get_user_zoom(AMX *amx, cell *params) { + GET_OFFSET("CBasePlayer", m_iFOV); + // Returns the zoom type of a player // params[1] = user id @@ -1477,9 +1479,8 @@ static cell AMX_NATIVE_CALL cs_get_user_zoom(AMX *amx, cell *params) CHECK_PLAYER(params[1]); // Fetch player pointer edict_t *pPlayer = MF_GetPlayerEdict(params[1]); - int value = *((int *)pPlayer->pvPrivateData + OFFSET_ZOOMTYPE); - switch (value) + switch (get_pdata(pPlayer, m_iFOV)) { case CS_NO_ZOOM: return CS_SET_NO_ZOOM; @@ -1519,6 +1520,8 @@ static cell AMX_NATIVE_CALL cs_set_user_submodel(AMX* amx, cell* params) #if PAWN_CELL_SIZE == 32 static cell AMX_NATIVE_CALL cs_get_user_lastactivity(AMX *amx, cell *params) { + GET_OFFSET("CBasePlayer", m_fLastMovement); + //Return time that the user last did activity //Check player @@ -1527,11 +1530,13 @@ static cell AMX_NATIVE_CALL cs_get_user_lastactivity(AMX *amx, cell *params) // Make into edict pointer edict_t *pPlayer = MF_GetPlayerEdict(params[1]); - return amx_ftoc(*((REAL*)pPlayer->pvPrivateData + OFFSET_LASTACTIVITY)); + return amx_ftoc(get_pdata(pPlayer, m_fLastMovement)); } static cell AMX_NATIVE_CALL cs_set_user_lastactivity(AMX *amx, cell *params) { + GET_OFFSET("CBasePlayer", m_fLastMovement); + //set time that the user last did activity //Check player @@ -1540,13 +1545,15 @@ static cell AMX_NATIVE_CALL cs_set_user_lastactivity(AMX *amx, cell *params) // Make into edict pointer edict_t *pPlayer = MF_GetPlayerEdict(params[1]); - *((REAL*)pPlayer->pvPrivateData + OFFSET_LASTACTIVITY) = amx_ctof(params[2]); + set_pdata(pPlayer, m_fLastMovement, amx_ctof(params[2])); return 1; } static cell AMX_NATIVE_CALL cs_get_user_hostagekills(AMX *amx, cell *params) { + GET_OFFSET("CBasePlayer", m_iHostagesKilled); + //Return number of hostages that user has killed //Check player @@ -1555,11 +1562,13 @@ static cell AMX_NATIVE_CALL cs_get_user_hostagekills(AMX *amx, cell *params) // Make into edict pointer edict_t *pPlayer = MF_GetPlayerEdict(params[1]); - return *((int *)pPlayer->pvPrivateData + OFFSET_HOSTAGEKILLS); + return get_pdata(pPlayer, m_iHostagesKilled); } static cell AMX_NATIVE_CALL cs_set_user_hostagekills(AMX *amx, cell *params) { + GET_OFFSET("CBasePlayer", m_iHostagesKilled); + //Set number of hostages that user has killed //Check player @@ -1568,13 +1577,15 @@ static cell AMX_NATIVE_CALL cs_set_user_hostagekills(AMX *amx, cell *params) // Make into edict pointer edict_t *pPlayer = MF_GetPlayerEdict(params[1]); - *((int *)pPlayer->pvPrivateData + OFFSET_HOSTAGEKILLS) = params[2]; + set_pdata(pPlayer, m_iHostagesKilled, params[2]); return 1; } static cell AMX_NATIVE_CALL cs_get_hostage_lastuse(AMX *amx, cell *params) { + GET_OFFSET("CHostage", m_flPathAcquired); + //Return time that the hostage was last used CHECK_NONPLAYER(params[1]); @@ -1588,10 +1599,12 @@ static cell AMX_NATIVE_CALL cs_get_hostage_lastuse(AMX *amx, cell *params) return 0; } - return amx_ftoc(*((REAL*)pHostage->pvPrivateData + OFFSET_HOSTAGE_LASTUSE)); + return amx_ftoc(get_pdata(pHostage, m_flPathAcquired)); } static cell AMX_NATIVE_CALL cs_set_hostage_lastuse(AMX *amx, cell *params) { + GET_OFFSET("CHostage", m_flPathAcquired); + //Return time that the hostage was last used CHECK_NONPLAYER(params[1]); @@ -1605,12 +1618,14 @@ static cell AMX_NATIVE_CALL cs_set_hostage_lastuse(AMX *amx, cell *params) return 0; } - *((REAL*)pHostage->pvPrivateData + OFFSET_HOSTAGE_LASTUSE) = amx_ctof(params[2]); + set_pdata(pHostage, m_flPathAcquired, amx_ctof(params[2])); return 1; } static cell AMX_NATIVE_CALL cs_get_hostage_nextuse(AMX* amx, cell* params) { + GET_OFFSET("CHostage", m_flNextChange); + //Return time that the hostage was last used CHECK_NONPLAYER(params[1]); @@ -1624,10 +1639,12 @@ static cell AMX_NATIVE_CALL cs_get_hostage_nextuse(AMX* amx, cell* params) return 0; } - return amx_ftoc(*((REAL*)pHostage->pvPrivateData + OFFSET_HOSTAGE_NEXTUSE)); + return amx_ftoc(get_pdata(pHostage, m_flNextChange)); } static cell AMX_NATIVE_CALL cs_set_hostage_nextuse(AMX* amx, cell* params) { + GET_OFFSET("CHostage", m_flNextChange); + //Return time that the hostage was last used CHECK_NONPLAYER(params[1]); @@ -1640,14 +1657,16 @@ static cell AMX_NATIVE_CALL cs_set_hostage_nextuse(AMX* amx, cell* params) MF_LogError(amx, AMX_ERR_NATIVE, "Entity %d (\"%s\") is not a hostage", params[1], STRING(pHostage->v.classname)); return 0; } - - *((REAL*)pHostage->pvPrivateData + OFFSET_HOSTAGE_NEXTUSE) = amx_ctof(params[2]); + + set_pdata(pHostage, m_flNextChange, amx_ctof(params[2])); return 1; } static cell AMX_NATIVE_CALL cs_get_c4_explode_time(AMX* amx, cell* params) { + GET_OFFSET("CGrenade", m_flC4Blow); + CHECK_NONPLAYER(params[1]); edict_t* pC4 = INDEXENT(params[1]); @@ -1658,10 +1677,12 @@ static cell AMX_NATIVE_CALL cs_get_c4_explode_time(AMX* amx, cell* params) return 0; } - return amx_ftoc(*((REAL*)pC4->pvPrivateData + OFFSET_C4_EXPLODE_TIME)); + return amx_ftoc(get_pdata(pC4, m_flC4Blow)); } static cell AMX_NATIVE_CALL cs_set_c4_explode_time(AMX* amx, cell* params) { + GET_OFFSET("CGrenade", m_flC4Blow); + CHECK_NONPLAYER(params[1]); edict_t* pC4 = INDEXENT(params[1]); @@ -1672,12 +1693,14 @@ static cell AMX_NATIVE_CALL cs_set_c4_explode_time(AMX* amx, cell* params) return 0; } - *((REAL*)pC4->pvPrivateData + OFFSET_C4_EXPLODE_TIME) = amx_ctof(params[2]); + set_pdata(pC4, m_flC4Blow, amx_ctof(params[2])); return 1; } static cell AMX_NATIVE_CALL cs_get_c4_defusing(AMX* amx, cell* params) { + GET_OFFSET("CGrenade", m_bStartDefuse); + CHECK_NONPLAYER(params[1]); edict_t* pC4 = INDEXENT(params[1]); @@ -1688,11 +1711,13 @@ static cell AMX_NATIVE_CALL cs_get_c4_defusing(AMX* amx, cell* params) return 0; } - return *(bool *)((char *)(pC4->pvPrivateData) + OFFSET_C4_DEFUSING) ? 1 : 0; + return get_pdata(pC4, m_bStartDefuse) ? 1 : 0; } static cell AMX_NATIVE_CALL cs_set_c4_defusing(AMX* amx, cell* params) { + GET_OFFSET("CGrenade", m_bStartDefuse); + CHECK_NONPLAYER(params[1]); edict_t* pC4 = INDEXENT(params[1]); @@ -1703,7 +1728,7 @@ static cell AMX_NATIVE_CALL cs_set_c4_defusing(AMX* amx, cell* params) return 0; } - *(bool *)((char *)(pC4->pvPrivateData) + OFFSET_C4_DEFUSING) = params[2] ? true : false; + set_pdata(pC4, m_bStartDefuse, params[2] != 0); return 1; } @@ -1916,10 +1941,12 @@ void PlayerPostThink(edict_t* pPlayer) { void PlayerPreThink(edict_t *pPlayer) { + GET_OFFSET_NO_ERROR("CBasePlayer", m_iFOV); + int entityIndex = ENTINDEX(pPlayer); if (g_zooming[entityIndex]) { - *((int *)pPlayer->pvPrivateData + OFFSET_ZOOMTYPE) = g_zooming[entityIndex]; + set_pdata(pPlayer, m_iFOV, g_zooming[entityIndex]); } RETURN_META(MRES_IGNORED); diff --git a/modules/cstrike/cstrike/CstrikeUtils.h b/modules/cstrike/cstrike/CstrikeUtils.h index 9e8f75cd..804f4bae 100644 --- a/modules/cstrike/cstrike/CstrikeUtils.h +++ b/modules/cstrike/cstrike/CstrikeUtils.h @@ -14,12 +14,17 @@ #ifndef CSTRIKE_UTILS_H #define CSTRIKE_UTILS_H +#include + bool UTIL_IsPlayer(AMX* amx, edict_t* pPlayer); void UTIL_TextMsg_Generic(edict_t* pPlayer, const char* message); void *UTIL_FindAddressFromEntry(const char *entry, bool isHidden = false, const char *library = "mod"); bool UTIL_CheckForPublic(const char *publicname); char *UTIL_StringToLower(char *str); +extern IGameConfig *MainConfig; +extern IGameConfig *OffsetConfig; + #define GETINFOKEYBUFFER (*g_engfuncs.pfnGetInfoKeyBuffer) #define SETCLIENTKEYVALUE (*g_engfuncs.pfnSetClientKeyValue) #define GETCLIENTKEYVALUE (*g_engfuncs.pfnInfoKeyValue) @@ -69,6 +74,52 @@ char *UTIL_StringToLower(char *str); ((n >= 1 && n <= gpGlobals->maxClients) ? MF_GetPlayerEdict(n) : INDEXENT(n)) +#define GET_OFFSET(classname, member) \ + static int member = -1; \ + if (member == -1) \ + { \ + if (!OffsetConfig->GetOffsetByClass(classname, #member, &member) || !member)\ + { \ + MF_LogError(amx, AMX_ERR_NATIVE, "Invalid %s offset. Native %s is disabled", #member, __FUNCTION__);\ + return 0; \ + } \ + } + +#define GET_OFFSET_NO_ERROR(classname, member) \ + static int member = -1; \ + if (member == -1) \ + { \ + if (!OffsetConfig->GetOffsetByClass(classname, #member, &member) || !member)\ + { \ + return; \ + } \ + } + +template +inline T& get_pdata(edict_t *pEntity, int offset, int element = 0) +{ + return *reinterpret_cast(reinterpret_cast(pEntity->pvPrivateData) + offset + element * sizeof(T)); +} + +template +inline T& get_pdata(void *pEntity, int offset, int element = 0) +{ + return *reinterpret_cast(reinterpret_cast(pEntity) + offset + element * sizeof(T)); +} + +template +inline void set_pdata(edict_t *pEntity, int offset, T value, int element = 0) +{ + *reinterpret_cast(reinterpret_cast(pEntity->pvPrivateData) + offset + element * sizeof(T)) = value; +} + +template +inline void set_pdata(void *pEntity, int offset, T value, int element = 0) +{ + *reinterpret_cast(reinterpret_cast(pEntity) + offset + element * sizeof(T)) = value; +} + + inline edict_t *PrivateToEdict(const void *pdata) { if (!pdata) @@ -100,4 +151,46 @@ inline int PrivateToIndex(const void *pdata) return ENTINDEX(pEntity); }; + +class EHANDLE +{ + private: + + edict_t* m_pent; + int m_serialnumber; + + public: + + edict_t* Get(void) + { + if (!FNullEnt(m_pent)) + { + if (m_pent->serialnumber == m_serialnumber) + { + return m_pent; + } + + return nullptr; + } + + return nullptr; + }; + + edict_t* Set(edict_t *pent) + { + if (!FNullEnt(pent)) + { + m_pent = pent; + m_serialnumber = m_pent->serialnumber; + } + else + { + m_pent = nullptr; + m_serialnumber = 0; + } + + return pent; + }; +}; + #endif // CSTRIKE_UTILS_H diff --git a/modules/cstrike/cstrike/amxx_api.cpp b/modules/cstrike/cstrike/amxx_api.cpp index 4fcefc13..b1104005 100644 --- a/modules/cstrike/cstrike/amxx_api.cpp +++ b/modules/cstrike/cstrike/amxx_api.cpp @@ -15,6 +15,7 @@ #include "CstrikeUtils.h" #include "CstrikeDatas.h" #include "CstrikeHLTypeConversion.h" +#include extern AMX_NATIVE_INFO CstrikeNatives[]; @@ -30,6 +31,10 @@ void ToggleDetour_BuyCommands(bool enable); CreateNamedEntityFunc CS_CreateNamedEntity = nullptr; UTIL_FindEntityByStringFunc CS_UTIL_FindEntityByString = nullptr; +IGameConfig *MainConfig; +IGameConfig *OffsetConfig; +IGameConfigManager *ConfigManager; + int AmxxCheckGame(const char *game) { if (strcasecmp(game, "cstrike") == 0 || @@ -44,23 +49,48 @@ void OnAmxxAttach() { MF_AddNatives(CstrikeNatives); - InitializeHacks(); + ConfigManager = MF_GetConfigManager(); - // cs_create_entity() - CS_CreateNamedEntity = reinterpret_cast(UTIL_FindAddressFromEntry(CS_IDENT_CREATENAMEDENTITY, CS_IDENT_HIDDEN_STATE)); + char error[256]; + error[0] = '\0'; - if (CS_CreateNamedEntity <= 0) + if (!ConfigManager->LoadGameConfigFile("modules.games", &MainConfig, error, sizeof(error)) && error[0] != '\0') + { + MF_Log("Could not read module.games gamedata: %s", error); + return; + } + + error[0] = '\0'; + + if (!ConfigManager->LoadGameConfigFile("common.games", &OffsetConfig, error, sizeof(error)) && error[0] != '\0') + { + MF_Log("Could not read common.games gamedata: %s", error); + return; + } + + void *address = nullptr; + + if (MainConfig->GetMemSig("CreateNamedEntity", &address) && address) // cs_create_entity() + { + CS_CreateNamedEntity = reinterpret_cast(address); + } + + if (MainConfig->GetMemSig("FindEntityByString", &address) && address) // cs_find_ent_by_class() + { + CS_UTIL_FindEntityByString = reinterpret_cast(address); + } + + if (!CS_CreateNamedEntity) { MF_Log("CREATE_NAMED_ENITTY is not available - native cs_create_entity() has been disabled"); } - // cs_find_ent_by_class() - CS_UTIL_FindEntityByString = reinterpret_cast(UTIL_FindAddressFromEntry(CS_IDENT_UTIL_FINDENTITYBYSTRING, CS_IDENT_HIDDEN_STATE)); - - if (CS_UTIL_FindEntityByString <= 0) + if (!CS_UTIL_FindEntityByString) { MF_Log("UTIL_FindEntByString is not available - native cs_find_ent_by_class() has been disabled"); } + + InitializeHacks(); } void OnPluginsLoaded() @@ -88,5 +118,8 @@ void OnPluginsLoaded() void OnAmxxDetach() { + ConfigManager->CloseGameConfigFile(MainConfig); + ConfigManager->CloseGameConfigFile(OffsetConfig); + ShutdownHacks(); } diff --git a/support/PackageScript b/support/PackageScript index 692c043b..92e6ad5c 100644 --- a/support/PackageScript +++ b/support/PackageScript @@ -17,6 +17,11 @@ folder_list = [ 'base/addons/amxmodx', 'base/addons/amxmodx/configs', 'base/addons/amxmodx/data', + 'base/addons/amxmodx/data/gamedata', + 'base/addons/amxmodx/data/gamedata/common.games', + 'base/addons/amxmodx/data/gamedata/common.games/entities.games', + 'base/addons/amxmodx/data/gamedata/common.games/entities.games/cstrike', + 'base/addons/amxmodx/data/gamedata/modules.games', 'base/addons/amxmodx/data/lang', 'base/addons/amxmodx/dlls', 'base/addons/amxmodx/logs', @@ -74,6 +79,15 @@ for folder in folder_list: norm_folder = os.path.normpath(folder) folder_map[folder] = builder.AddFolder(norm_folder) +# Do all straight-up file copies from the source tree. +def CopyFiles(src, dest, files): + if not dest: + dest = src + dest_entry = folder_map[dest] + for source_file in files: + source_path = os.path.join(builder.sourcePath, src, source_file) + builder.AddCopy(source_path, dest_entry) + # Copy core dlls. for dll in AMXX.binaries: copy_binary(dll, folder_map['base/addons/amxmodx/dlls']) @@ -366,6 +380,136 @@ for datafile in datafiles: source = os.path.join(builder.sourcePath, 'plugins', 'lang', datafile), output_path = folder_map['base/addons/amxmodx/data/lang'] ) + + +CopyFiles('gamedata/modules.games', 'base/addons/amxmodx/data/gamedata/modules.games', + [ + 'master.games.txt', + 'game.cstrike.txt', + ] +) +CopyFiles('gamedata/common.games', 'base/addons/amxmodx/data/gamedata/common.games', + [ + 'master.games.txt', + 'globalvars.engine.txt', + ] +) + +CopyFiles('gamedata/common.games/entities.games/cstrike', 'base/addons/amxmodx/data/gamedata/common.games/entities.games/cstrike', + [ + 'offsets-cairtank.txt', + 'offsets-cbaseanimating.txt', + 'offsets-cpendulum.txt', + 'offsets-cfuncrotating.txt', + 'offsets-cbasebutton.txt', + 'offsets-cenvspark.txt', + 'offsets-cmomentaryrotbutton.txt', + 'offsets-cmultisource.txt', + 'offsets-cenvglobal.txt', + 'offsets-cbaseentity.txt', + 'offsets-cunifiedsignals.txt', + 'offsets-csound.txt', + 'offsets-simplestatemachine.txt', + 'offsets-chostagemanager.txt', + 'offsets-cgib.txt', + 'offsets-cmomentarydoor.txt', + 'offsets-cbasedoor.txt', + 'offsets-cenvfunnel.txt', + 'offsets-ctesteffect.txt', + 'offsets-cgibshooter.txt', + 'offsets-csprite.txt', + 'offsets-cbombglow.txt', + 'offsets-cglow.txt', + 'offsets-claser.txt', + 'offsets-clightning.txt', + 'offsets-cbubbling.txt', + 'offsets-cenvexplosion.txt', + 'offsets-cpushable.txt', + 'offsets-cbreakable.txt', + 'offsets-cfunctankcontrols.txt', + 'offsets-cfunctank.txt', + 'offsets-cfunctanklaser.txt', + 'offsets-cgrenade.txt', + 'offsets-crecharge.txt', + 'offsets-cwreckage.txt', + 'offsets-cweaponcycler.txt', + 'offsets-ccyclersprite.txt', + 'offsets-ccycler.txt', + 'offsets-cwallhealth.txt', + 'offsets-cworlditem.txt', + 'offsets-clight.txt', + 'offsets-cgameplayerequip.txt', + 'offsets-cgameplayerzone.txt', + 'offsets-cgameteammaster.txt', + 'offsets-cgametext.txt', + 'offsets-cruleentity.txt', + 'offsets-cmortar.txt', + 'offsets-cfuncmortarfield.txt', + 'offsets-cbasemonster.txt', + 'offsets-cmapinfo.txt', + 'offsets-cpathtrack.txt', + 'offsets-cpathcorner.txt', + 'offsets-cguntarget.txt', + 'offsets-cfunctrackchange.txt', + 'offsets-cfuncplatrot.txt', + 'offsets-cfunctracktrain.txt', + 'offsets-cfunctrain.txt', + 'offsets-cbaseplattrain.txt', + 'offsets-cplattrigger.txt', + 'offsets-cbaseplayer.txt', + 'offsets-crevertsaved.txt', + 'offsets-cdeadhev.txt', + 'offsets-cwshield.txt', + 'offsets-cspeaker.txt', + 'offsets-cenvsound.txt', + 'offsets-cambientgeneric.txt', + 'offsets-csoundent.txt', + 'offsets-cbasetoggle.txt', + 'offsets-cbasedelay.txt', + 'offsets-cpointentity.txt', + 'offsets-cfuncweaponcheck.txt', + 'offsets-cbasegrencatch.txt', + 'offsets-cclientfog.txt', + 'offsets-ctriggercamera.txt', + 'offsets-ctriggerchangetarget.txt', + 'offsets-ctriggerendsection.txt', + 'offsets-cchangelevel.txt', + 'offsets-cmultimanager.txt', + 'offsets-ctriggerrelay.txt', + 'offsets-cfrictionmodifier.txt', + 'offsets-cfuncvehicle.txt', + 'offsets-carmoury.txt', + 'offsets-cweaponbox.txt', + 'offsets-cbaseplayeritem.txt', + 'offsets-cbaseplayerammo.txt', + 'offsets-cbaseplayerweapon.txt', + 'offsets-caug.txt', + 'offsets-cawp.txt', + 'offsets-cdeagle.txt', + 'offsets-celite.txt', + 'offsets-cfiveseven.txt', + 'offsets-cflashbang.txt', + 'offsets-cg3sg1.txt', + 'offsets-cglock18.txt', + 'offsets-chegrenade.txt', + 'offsets-cknife.txt', + 'offsets-cm3.txt', + 'offsets-cmac10.txt', + 'offsets-cp228.txt', + 'offsets-cp90.txt', + 'offsets-cscout.txt', + 'offsets-csmokegrenade.txt', + 'offsets-ctmp.txt', + 'offsets-cusp.txt', + 'offsets-cfamas.txt', + 'offsets-cgalil.txt', + 'offsets-cxm1014.txt', + 'offsets-cvoicegamemgr.txt', + 'offsets-hostagefollowstate.txt', + 'offsets-chostage.txt', + 'offsets-chostageimprov.txt', + ] +) # Copy license files licenses = [