Add Linux and Mac gamedata for Dota 2 and update Windows gamedata (bug 6068).
Add Linux and Mac gamedata for Dota 2 and update Windows gamedata (
bug 6068).
1.1 --- a/gamedata/core.games/engine.dota.txt Mon Mar 03 05:20:38 2014 -0600
1.2 +++ b/gamedata/core.games/engine.dota.txt Mon Mar 03 05:20:40 2014 -0600
1.3 @@ -20,7 +20,7 @@
1.4 }
1.5
1.6 "Addresses"
1.7 - {
1.8 + {
1.9 "EntInfosPtr"
1.10 {
1.11 "windows"
1.12 @@ -31,6 +31,15 @@
1.13 }
1.14 }
1.15
1.16 + "Offsets"
1.17 + {
1.18 + "EntInfo"
1.19 + {
1.20 + "linux"
1.21 + "18"
1.22 + }
1.23 + }
1.24 +
1.25 "Signatures"
1.26 {
1.27 "EntInfosFinder"
1.28 @@ -38,6 +47,18 @@
1.29 "library" "server"
1.30 "windows" "\x83\x2A\xFF\x74\x03\x0F\x2A\x2A\xC1\x2A\x04\x8B\x2A\x2A\x2A\x2A\x2A\xEB\x06\x8B"
1.31 }
1.32 +
1.33 + "LevelShutdown"
1.34 + {
1.35 + "library" "server"
1.36 + "linux" "\xE8\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\xC7\x2A\x2A\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\xE8"
1.37 + }
1.38 +
1.39 + "gEntList"
1.40 + {
1.41 + "library" "server"
1.42 + "mac" "@gEntList"
1.43 + }
1.44 }
1.45 }
1.46 }
2.1 --- a/gamedata/sdkhooks.games/engine.dota.txt Mon Mar 03 05:20:38 2014 -0600
2.2 +++ b/gamedata/sdkhooks.games/engine.dota.txt Mon Mar 03 05:20:40 2014 -0600
2.3 @@ -6,83 +6,123 @@
2.4 {
2.5 "EndTouch"
2.6 {
2.7 - "windows" "105"
2.8 + "windows" "107"
2.9 + "linux" "108"
2.10 + "mac" "108"
2.11 }
2.12 "FireBullets"
2.13 {
2.14 - "windows" "118"
2.15 + "windows" "120"
2.16 + "linux" "121"
2.17 + "mac" "121"
2.18 }
2.19 "GetMaxHealth"
2.20 {
2.21 - "windows" "122"
2.22 + "windows" "124"
2.23 + "linux" "125"
2.24 + "mac" "125"
2.25 }
2.26 "OnTakeDamage"
2.27 {
2.28 - "windows" "70"
2.29 + "windows" "73"
2.30 + "linux" "74"
2.31 + "mac" "74"
2.32 }
2.33 "PreThink"
2.34 {
2.35 "windows" "363"
2.36 + "linux" "364"
2.37 + "mac" "364"
2.38 }
2.39 "PostThink"
2.40 {
2.41 "windows" "364"
2.42 + "linux" "365"
2.43 + "mac" "365"
2.44 }
2.45 "SetTransmit"
2.46 {
2.47 "windows" "22"
2.48 + "linux" "23"
2.49 + "mac" "23"
2.50 }
2.51 "ShouldCollide"
2.52 {
2.53 "windows" "17"
2.54 + "linux" "18"
2.55 + "mac" "18"
2.56 }
2.57 "Spawn"
2.58 {
2.59 - "windows" "24"
2.60 + "windows" "27"
2.61 + "linux" "28"
2.62 + "mac" "28"
2.63 }
2.64 "StartTouch"
2.65 {
2.66 - "windows" "103"
2.67 + "windows" "105"
2.68 + "linux" "106"
2.69 + "mac" "106"
2.70 }
2.71 "Think"
2.72 {
2.73 - "windows" "52"
2.74 + "windows" "54"
2.75 + "linux" "55"
2.76 + "mac" "55"
2.77 }
2.78 "Touch"
2.79 {
2.80 - "windows" "104"
2.81 + "windows" "106"
2.82 + "linux" "107"
2.83 + "mac" "107"
2.84 }
2.85 "TraceAttack"
2.86 {
2.87 - "windows" "68"
2.88 + "windows" "71"
2.89 + "linux" "72"
2.90 + "mac" "72"
2.91 }
2.92 "Use"
2.93 {
2.94 - "windows" "102"
2.95 + "windows" "104"
2.96 + "linux" "105"
2.97 + "mac" "105"
2.98 }
2.99 "VPhysicsUpdate"
2.100 {
2.101 - "windows" "163"
2.102 + "windows" "165"
2.103 + "linux" "166"
2.104 + "mac" "166"
2.105 }
2.106 "Weapon_CanSwitchTo"
2.107 {
2.108 - "windows" "297"
2.109 + "windows" "296"
2.110 + "linux" "297"
2.111 + "mac" "297"
2.112 }
2.113 "Weapon_CanUse"
2.114 {
2.115 - "windows" "291"
2.116 + "windows" "290"
2.117 + "linux" "291"
2.118 + "mac" "291"
2.119 }
2.120 "Weapon_Drop"
2.121 {
2.122 - "windows" "294"
2.123 + "windows" "293"
2.124 + "linux" "294"
2.125 + "mac" "294"
2.126 }
2.127 "Weapon_Equip"
2.128 {
2.129 - "windows" "292"
2.130 + "windows" "291"
2.131 + "linux" "292"
2.132 + "mac" "292"
2.133 }
2.134 "Weapon_Switch"
2.135 {
2.136 - "windows" "295"
2.137 + "windows" "294"
2.138 + "linux" "295"
2.139 + "mac" "295"
2.140 }
2.141 }
2.142 }
2.143 @@ -110,5 +150,14 @@
2.144 "windows" "\x33\xC9\x8B\x2A\x2A\x2A\x2A\x2A\x33\xC0\x89\x4D\xFC\x56\x85\xD2\x7E\x2A\x8B"
2.145 }
2.146 }
2.147 +
2.148 + "Offsets"
2.149 + {
2.150 + "EntityListeners"
2.151 + {
2.152 + "linux" "131108"
2.153 + "mac" "131108"
2.154 + }
2.155 + }
2.156 }
2.157 }
2.158 \ No newline at end of file
3.1 --- a/gamedata/sdktools.games/engine.dota.txt Mon Mar 03 05:20:38 2014 -0600
3.2 +++ b/gamedata/sdktools.games/engine.dota.txt Mon Mar 03 05:20:40 2014 -0600
3.3 @@ -36,18 +36,25 @@
3.4 "s_pTempEntities"
3.5 {
3.6 "windows" "7"
3.7 + "linux" "9"
3.8 }
3.9 "GetTEName"
3.10 {
3.11 "windows" "4"
3.12 + "linux" "4"
3.13 + "mac" "4"
3.14 }
3.15 "GetTENext"
3.16 {
3.17 "windows" "8"
3.18 + "linux" "8"
3.19 + "mac" "8"
3.20 }
3.21 "TE_GetServerClass"
3.22 {
3.23 "windows" "0"
3.24 + "linux" "0"
3.25 + "mac" "0"
3.26 }
3.27 }
3.28
3.29 @@ -57,6 +64,28 @@
3.30 {
3.31 "library" "server"
3.32 "windows" "\xFF\x2A\x2A\x2A\x2A\x2A\xA1\x2A\x2A\x2A\x2A\x89\x2A\x2A\x2A\x2A\x2A\x85\xC0\x74\x2A\x8D"
3.33 + "linux" "\x55\x89\xE5\x53\x83\xEC\x2A\x8B\x2A\x2A\x2A\x2A\x2A\x85\xDB\x74\x2A\x8D\xB4\x26\x00\x00\x00\x00\x8B"
3.34 + }
3.35 + "s_pTempEntities"
3.36 + {
3.37 + "library" "server"
3.38 + "mac" "@_ZN15CBaseTempEntity15s_pTempEntitiesE"
3.39 + }
3.40 + }
3.41 + }
3.42 +
3.43 + /* CGlobalEntityList */
3.44 + "#default"
3.45 + {
3.46 + "Signatures"
3.47 + {
3.48 + /* Functions in CGlobalEntityList */
3.49 + "FindEntityByClassname"
3.50 + {
3.51 + "library" "server"
3.52 + // Fallback to IServerTools method instead on Windows, lest we add custom logic since it's not a thiscall on Windows in Dota
3.53 + "linux" "\x55\x89\xE5\x57\x56\x53\x83\xEC\x1C\x8B\x45\x0C\x8B\x5D\x08\x8B\x7D\x10\x85\xC0\x74\x7A\x8B\x10\x89"
3.54 + "mac" "@_ZN17CGlobalEntityList21FindEntityByClassnameEP11CBaseEntityPKc"
3.55 }
3.56 }
3.57 }
3.58 @@ -75,6 +104,7 @@
3.59 "g_pGameRules"
3.60 {
3.61 "windows" "3"
3.62 + "linux" "9"
3.63 }
3.64 }
3.65
3.66 @@ -92,10 +122,12 @@
3.67 {
3.68 "library" "server"
3.69 "windows" "\x51\x8B\x0D\x2A\x2A\x2A\x2A\x85\xC9\x74\x06\x8B\x01\x6A\x01\xFF\x10\xC7\x05\x2A\x2A\x2A\x2A\x00\x00\x00\x00\xE8"
3.70 + "linux" "\x55\x89\xE5\x56\x53\x83\xEC\x2A\xA1\x2A\x2A\x2A\x2A\x8B\x5D\x08\x85\xC0\x74\x08\x8B"
3.71 }
3.72 "g_pGameRules"
3.73 {
3.74 "library" "server"
3.75 + "mac" "@g_pGameRules"
3.76 }
3.77 }
3.78 }
3.79 @@ -124,6 +156,16 @@
3.80 "windows" "8"
3.81 }
3.82 }
3.83 +
3.84 + "Signatures"
3.85 + {
3.86 + /* CBaseServer object for IServer interface */
3.87 + "sv"
3.88 + {
3.89 + "library" "engine"
3.90 + "mac" "@sv"
3.91 + }
3.92 + }
3.93 }
3.94
3.95 /* Resource Entity override */
3.96 @@ -141,13 +183,18 @@
3.97 {
3.98 "Signatures"
3.99 {
3.100 + "EntityFactory"
3.101 + {
3.102 + "library" "server"
3.103 + // "linux" "" // TODO
3.104 + "mac" "@_Z23EntityFactoryDictionaryv"
3.105 + }
3.106 +
3.107 "EntityFactoryFinder"
3.108 {
3.109 // EntityFactoryDictionary gets inlined on Windows in Dota 2. The pointer to the static factory becomes a global.
3.110 "library" "server"
3.111 "windows" "\xFF\x2A\x2A\xB9\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\x8B\xC8\xC7"
3.112 - //"linux" "@_Z23EntityFactoryDictionaryv"
3.113 - //"mac" "@_Z23EntityFactoryDictionaryv"
3.114 }
3.115 }
3.116
3.117 @@ -169,6 +216,8 @@
3.118 {
3.119 "library" "server"
3.120 "windows" "\x55\x8B\xEC\x83\xE4\xC0\x81\xEC\x2A\x2A\x2A\x2A\x8B\xC1\x53"
3.121 + "linux" "\x55\x89\xE5\x57\x56\x53\x81\xEC\x2A\x2A\x2A\x2A\x8B\x55\x08\x8B\x75\x14\x8B\x5A\x14\x85\xDB\x0F"
3.122 + "mac" "@_ZN17CBaseEntityOutput10FireOutputE9variant_tP11CBaseEntityS2_f"
3.123 }
3.124 }
3.125 }
3.126 @@ -187,6 +236,8 @@
3.127 "SetUserCvar"
3.128 {
3.129 "windows" "26"
3.130 + "linux" "62"
3.131 + "mac" "62"
3.132 }
3.133 /**
3.134 * Offset into CBaseClient - Used by CBaseServer::UpdateUserSettings to determine when changes have been made.
3.135 @@ -199,6 +250,8 @@
3.136 "InfoChanged"
3.137 {
3.138 "windows" "212"
3.139 + "linux" "212"
3.140 + "mac" "212"
3.141 }
3.142 }
3.143 }
3.144 @@ -210,58 +263,86 @@
3.145 "GiveNamedItem"
3.146 {
3.147 "windows" "438"
3.148 + "linux" "439"
3.149 + "mac" "439"
3.150 }
3.151 "RemovePlayerItem"
3.152 {
3.153 "windows" "300"
3.154 + "linux" "301"
3.155 + "mac" "301"
3.156 }
3.157 "Weapon_GetSlot"
3.158 {
3.159 - "windows" "289"
3.160 + "windows" "288"
3.161 + "linux" "289"
3.162 + "mac" "289"
3.163 }
3.164 "Ignite"
3.165 {
3.166 - "windows" "231"
3.167 + "windows" "226"
3.168 + "linux" "227"
3.169 + "mac" "227"
3.170 }
3.171 "Extinguish"
3.172 {
3.173 - "windows" "234"
3.174 + "windows" "229"
3.175 + "linux" "230"
3.176 + "mac" "230"
3.177 }
3.178 "Teleport"
3.179 {
3.180 - "windows" "114"
3.181 + "windows" "116"
3.182 + "linux" "117"
3.183 + "mac" "117"
3.184 }
3.185 "CommitSuicide"
3.186 {
3.187 "windows" "482"
3.188 + "linux" "482"
3.189 + "mac" "482"
3.190 }
3.191 "GetVelocity"
3.192 {
3.193 - "windows" "147"
3.194 + "windows" "149"
3.195 + "linux" "150"
3.196 + "mac" "150"
3.197 }
3.198 "EyeAngles"
3.199 {
3.200 - "windows" "138"
3.201 + "windows" "140"
3.202 + "linux" "141"
3.203 + "mac" "141"
3.204 }
3.205 "AcceptInput"
3.206 {
3.207 - "windows" "41"
3.208 + "windows" "43"
3.209 + "linux" "44"
3.210 + "mac" "44"
3.211 }
3.212 "SetEntityModel"
3.213 {
3.214 - "windows" "26"
3.215 + "windows" "28"
3.216 + "linux" "29"
3.217 + "mac" "29"
3.218 }
3.219 "WeaponEquip"
3.220 {
3.221 - "windows" "292"
3.222 + "windows" "291"
3.223 + "linux" "292"
3.224 + "mac" "292"
3.225 }
3.226 "Activate"
3.227 {
3.228 - "windows" "37"
3.229 + "windows" "39"
3.230 + "linux" "40"
3.231 + "mac" "40"
3.232 }
3.233 "PlayerRunCmd"
3.234 {
3.235 "windows" "458"
3.236 + "linux" "459"
3.237 + "mac" "459"
3.238 }
3.239 }
3.240 }