From 172abb2710f4ce067edb60e793da4f81bd6e46a2 Mon Sep 17 00:00:00 2001 From: Scott Ehlert Date: Fri, 29 Oct 2010 20:04:50 -0500 Subject: [PATCH] Added support for L4D on Mac OS X (bug 4684, r=fyren). --- AMBuildScript | 4 ++-- gamedata/core.games/engine.l4d.txt | 2 ++ gamedata/sdktools.games/engine.l4d.txt | 30 ++++++++++++++++++++++++++ 3 files changed, 34 insertions(+), 2 deletions(-) diff --git a/AMBuildScript b/AMBuildScript index 0c682684..9d070f68 100644 --- a/AMBuildScript +++ b/AMBuildScript @@ -16,7 +16,7 @@ class SM: self.sdkInfo['ep2v'] = {'sdk': 'HL2SDKOBVALVE', 'ext': '2.ep2v', 'def': '4', 'name': 'ORANGEBOXVALVE', 'platform': ['windows', 'linux', 'darwin']} self.sdkInfo['l4d'] = {'sdk': 'HL2SDKL4D', 'ext': '2.l4d', 'def': '5', - 'name': 'LEFT4DEAD', 'platform': ['windows', 'linux']} + 'name': 'LEFT4DEAD', 'platform': ['windows', 'linux', 'darwin']} self.sdkInfo['l4d2'] = {'sdk': 'HL2SDKL4D2', 'ext': '2.l4d2', 'def': '6', 'name': 'LEFT4DEAD2', 'platform': ['windows', 'linux', 'darwin']} self.sdkInfo['darkm'] = {'sdk': 'HL2SDK-DARKM', 'ext': '2.darkm', 'def': '2', @@ -31,6 +31,7 @@ class SM: #Detect variables envvars = { 'MMSOURCE18': 'mmsource-1.8', 'HL2SDKOBVALVE': 'hl2sdk-ob-valve', + 'HL2SDKL4D': 'hl2sdk-l4d', 'HL2SDKL4D2': 'hl2sdk-l4d2', 'MYSQL5': 'mysql-5.0' } @@ -38,7 +39,6 @@ class SM: if AMBuild.target['platform'] != 'darwin': envvars['HL2SDK'] = 'hl2sdk' envvars['HL2SDKOB'] = 'hl2sdk-ob' - envvars['HL2SDKL4D'] = 'hl2sdk-l4d' #Dark Messiah is Windows-only if AMBuild.target['platform'] == 'windows': diff --git a/gamedata/core.games/engine.l4d.txt b/gamedata/core.games/engine.l4d.txt index b8c09ce7..f0328df4 100644 --- a/gamedata/core.games/engine.l4d.txt +++ b/gamedata/core.games/engine.l4d.txt @@ -31,6 +31,7 @@ { "windows" "4" "linux" "4" + "mac" "4" } } @@ -45,6 +46,7 @@ { "library" "server" "linux" "@gEntList" + "mac" "@gEntList" } } } diff --git a/gamedata/sdktools.games/engine.l4d.txt b/gamedata/sdktools.games/engine.l4d.txt index f37cb85c..dc9d31d4 100644 --- a/gamedata/sdktools.games/engine.l4d.txt +++ b/gamedata/sdktools.games/engine.l4d.txt @@ -41,16 +41,19 @@ { "windows" "4" "linux" "4" + "mac" "4" } "GetTENext" { "windows" "8" "linux" "8" + "mac" "8" } "TE_GetServerClass" { "windows" "0" "linux" "0" + "mac" "0" } } @@ -65,6 +68,7 @@ { "library" "server" "linux" "@_ZN15CBaseTempEntity15s_pTempEntitiesE" + "mac" "@_ZN15CBaseTempEntity15s_pTempEntitiesE" } } } @@ -83,12 +87,14 @@ { "library" "server" "linux" "@_Z13DispatchSpawnP11CBaseEntity" + "mac" "@_Z13DispatchSpawnP11CBaseEntity" "windows" "\x53\x55\x56\x8B\x74\x24\x10\x85\xF6\x57\x0F\x84\x2A\x2A\x2A\x2A\x8B\x1D\x2A\x2A\x2A\x2A\x8B\x03\x8B\x50\x64\x8B\xCB" } "CreateEntityByName" { "library" "server" "linux" "@_Z18CreateEntityByNamePKcib" + "mac" "@_Z18CreateEntityByNamePKcib" "windows" "\x56\x8B\x74\x24\x0C\x83\xFE\xFF\x57\x8B\x7C\x24\x0C\x74\x27\x8B\x0D\x2A\x2A\x2A\x2A\x8B\x01\x8B\x50\x54\x56\xFF\xD2" } } @@ -110,6 +116,7 @@ "library" "server" "windows" "\x53\x55\x56\x8B\xF1\x8B\x4C\x24\x10\x85\xC9\x57\x74\x19\x8B\x01\x8B\x50\x08\xFF\xD2\x8B\x00\x25\xFF\x0F\x00\x00\x83\xC0\x01\xC1\xE0\x04\x8B\x3C\x30\xEB\x06\x8B\xBE\x2A\x2A\x2A\x2A\x85\xFF\x74\x39\x8B\x5C\x24\x18\x8B\x2D\x2A\x2A\x2A\x2A\xEB\x03" "linux" "@_ZN17CGlobalEntityList21FindEntityByClassnameEP11CBaseEntityPKc" + "mac" "@_ZN17CGlobalEntityList21FindEntityByClassnameEP11CBaseEntityPKc" } } } @@ -150,6 +157,7 @@ { "library" "server" "linux" "@g_pGameRules" + "mac" "@g_pGameRules" } } } @@ -186,6 +194,7 @@ { "library" "engine" "linux" "@sv" + "mac" "@sv" } } } @@ -200,6 +209,7 @@ "library" "server" "windows" "\xB8\x01\x00\x00\x00\x84\x2A\x2A\x2A\x2A\x2A\x75\x1D\x09\x2A\x2A\x2A\x2A\x2A\xB9\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\x68\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\x83\xC4\x04\xB8\x2A\x2A\x2A\x2A\xC3" "linux" "@_Z23EntityFactoryDictionaryv" + "mac" "@_Z23EntityFactoryDictionaryv" } } } @@ -218,6 +228,7 @@ "library" "server" "windows" "\x81\xEC\x1C\x01\x00\x00\x53\x55\x56\x8B\x71\x14\x85\xF6" "linux" "@_ZN17CBaseEntityOutput10FireOutputE9variant_tP11CBaseEntityS2_f" + "mac" "@_ZN17CBaseEntityOutput10FireOutputE9variant_tP11CBaseEntityS2_f" } } } @@ -237,6 +248,7 @@ { "windows" "17" "linux" "63" + "mac" "63" } /** * Offset into CBaseClient - Used by CBaseServer::UpdateUserSettings to determine when changes have been made. @@ -248,6 +260,7 @@ { "windows" "176" "linux" "176" + "mac" "176" } } } @@ -261,86 +274,103 @@ { "windows" "482" "linux" "483" + "mac" "483" } "RemovePlayerItem" { "windows" "269" "linux" "270" + "mac" "270" } "Weapon_GetSlot" { "windows" "267" "linux" "268" + "mac" "268" } "Ignite" { "windows" "206" "linux" "207" + "mac" "207" } "Extinguish" { "windows" "210" "linux" "211" + "mac" "211" } "Teleport" { "windows" "105" "linux" "106" + "mac" "106" } "CommitSuicide" { "windows" "449" "linux" "449" + "mac" "449" } "GetVelocity" { "windows" "136" "linux" "137" + "mac" "137" } "EyeAngles" { "windows" "127" "linux" "128" + "mac" "128" } "AcceptInput" { "windows" "37" "linux" "38" + "mac" "38" } "DispatchKeyValue" { "windows" "29" "linux" "28" + "mac" "28" } "DispatchKeyValueFloat" { "windows" "28" "linux" "29" + "mac" "29" } "DispatchKeyValueVector" { "windows" "27" "linux" "30" + "mac" "30" } "SetEntityModel" { "windows" "23" "linux" "24" + "mac" "24" } "WeaponEquip" { "windows" "260" "linux" "261" + "mac" "261" } "Activate" { "windows" "31" "linux" "32" + "mac" "32" } "PlayerRunCmd" { "windows" "427" "linux" "428" + "mac" "428" } } }