Guest User

Untitled

a guest
Aug 9th, 2018
183
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 28.14 KB | None | 0 0
  1. # HG changeset patch
  2. # Parent 62e002cdecdbbffec28c6da4d3927ff2630905d8
  3. diff --git a/AMBuildScript b/AMBuildScript
  4. --- a/AMBuildScript
  5. +++ b/AMBuildScript
  6. @@ -27,6 +27,8 @@
  7.                                       'name': 'BLOODYGOODTIME', 'platform': ['windows']}
  8.         self.possibleSdks['eye'] =   {'sdk': 'HL2SDK-EYE',      'ext': '2.eye', 'def': '5',
  9.                                       'name': 'EYE', 'platform': ['windows']}
  10. +       self.possibleSdks['csgo'] =   {'sdk': 'HL2SDK-CSGO',      'ext': '2.csgo', 'def': '10',
  11. +                                     'name': 'CSGO', 'platform': ['windows', 'linux']}
  12.        
  13.         self.sdkInfo = { }
  14.        
  15. @@ -39,6 +41,7 @@
  16.             if AMBuild.target['platform'] != 'darwin':
  17.                 envvars['HL2SDK'] = 'hl2sdk'
  18.                 envvars['HL2SDKOB'] = 'hl2sdk-ob'
  19. +               envvars['HL2SDK-CSGO'] = 'hl2sdk-csgo'
  20.  
  21.             envvars['HL2SDKOBVALVE'] = 'hl2sdk-ob-valve'
  22.             envvars['HL2SDKL4D'] = 'hl2sdk-l4d'
  23. @@ -256,10 +259,13 @@
  24.             else:
  25.                 staticLibs = os.path.join(sdkPath, 'lib', 'linux')
  26.             workFolder = os.path.join(AMBuild.outputFolder, job.workFolder)
  27. -           if sdk in ['ep2v', 'l4d', 'l4d2']:
  28. -               for i in ['tier1_i486.a', 'libvstdlib.so', 'libtier0.so']:
  29. -                   link = os.path.join(workFolder, i)
  30. -                   target = os.path.join(staticLibs, i)
  31. +           if sdk in ['ep2v', 'l4d', 'l4d2', 'csgo']:
  32. +               libs = ['tier1_i486.a', 'libvstdlib.so', 'libtier0.so']
  33. +               if sdk == 'csgo':
  34. +                   libs.append('interfaces.a')
  35. +               for lib in libs
  36. +                   link = os.path.join(workFolder, lib)
  37. +                   target = os.path.join(staticLibs, lib)
  38.                     try:
  39.                         os.lstat(link)
  40.                     except:
  41. @@ -275,16 +281,19 @@
  42.         elif AMBuild.target['platform'] == 'darwin':
  43.             staticLibs = os.path.join(sdkPath, 'lib', 'mac')
  44.             workFolder = os.path.join(AMBuild.outputFolder, job.workFolder)
  45. -           for i in ['tier1_i486.a', 'libvstdlib.dylib', 'libtier0.dylib']:
  46. -               link = os.path.join(workFolder, i)
  47. -               target = os.path.join(staticLibs, i)
  48. +           libs = ['tier1_i486.a', 'libvstdlib.dylib', 'libtier0.dylib']
  49. +           if sdk == 'csgo':
  50. +               libs.append('interfaces.a')
  51. +           for lib in libs:
  52. +               link = os.path.join(workFolder, lib)
  53. +               target = os.path.join(staticLibs, lib)
  54.                 try:
  55.                     os.lstat(link)
  56.                 except:
  57.                     job.AddCommand(SymlinkCommand(link, target))
  58.         elif AMBuild.target['platform'] == 'windows':
  59.             libs = ['tier0', 'tier1', 'vstdlib']
  60. -           if sdk == 'swarm':
  61. +           if sdk in ['swarm', 'csgo']:
  62.                 libs.append('interfaces')
  63.             for lib in libs:
  64.                 libPath = os.path.join(sdkPath, 'lib', 'public', lib) + '.lib'
  65. @@ -320,8 +329,11 @@
  66.  
  67.         compiler['CDEFINES'].append('SOURCE_ENGINE=' + info['def'])
  68.  
  69. -       if sdk == 'swarm' and AMBuild.target['platform'] == 'windows':
  70. -           compiler['CDEFINES'].extend(['COMPILER_MSVC', 'COMPILER_MSVC32'])
  71. +       if sdk in ['swarm', 'csgo']:
  72. +           if AMBuild.target['platform'] == 'windows':
  73. +               compiler['CDEFINES'].extend(['COMPILER_MSVC', 'COMPILER_MSVC32'])
  74. +           else:
  75. +               compiler['CDEFINES'].extend(['COMPILER_GCC'])
  76.  
  77.         if sdk == 'ep1':
  78.             if AMBuild.target['platform'] == 'linux':
  79. @@ -338,7 +350,7 @@
  80.         if not noLink:
  81.             if AMBuild.target['platform'] == 'linux':
  82.                 compiler['POSTLINKFLAGS'][0:0] = ['-lm']
  83. -               if sdk in ['ep2v', 'l4d', 'l4d2']:
  84. +               if sdk in ['ep2v', 'l4d', 'l4d2', 'csgo']:
  85.                     compiler['POSTLINKFLAGS'][0:0] = ['libtier0.so']
  86.                     compiler['POSTLINKFLAGS'][0:0] = ['libvstdlib.so']
  87.                 else:
  88. diff --git a/core/ISmmPluginExt.h b/core/ISmmPluginExt.h
  89. --- a/core/ISmmPluginExt.h
  90. +++ b/core/ISmmPluginExt.h
  91. @@ -46,6 +46,8 @@
  92.  #define SOURCE_ENGINE_ALIENSWARM       8               /**< Alien Swarm */
  93.  #define SOURCE_ENGINE_BLOODYGOODTIME   9               /**< Bloody Good Time */
  94.  #define SOURCE_ENGINE_EYE              10              /**< E.Y.E Divine Cybermancy */
  95. +#define SOURCE_ENGINE_PORTAL2          11              /**< Portal 2 */
  96. +#define SOURCE_ENGINE_CSGO             12              /**< Counter-Strike: Global Offensive */
  97.  
  98.  #define METAMOD_PLAPI_VERSION          15              /**< Version of this header file */
  99.  #define METAMOD_PLAPI_NAME             "ISmmPlugin"    /**< Name of the plugin interface */
  100. diff --git a/core/Makefile b/core/Makefile
  101. --- a/core/Makefile
  102. +++ b/core/Makefile
  103. @@ -6,6 +6,7 @@
  104.  HL2SDK_OB_VALVE = ../../hl2sdk-ob-valve
  105.  HL2SDK_L4D = ../../hl2sdk-l4d
  106.  HL2SDK_L4D2 = ../../hl2sdk-l4d2
  107. +HL2SDK_CSGO = ../../hl2sdks/hl2sdk-csgo
  108.  
  109.  #####################################
  110.  ### EDIT BELOW FOR OTHER PROJECTS ###
  111. @@ -84,8 +85,20 @@
  112.     LIB_SUFFIX = .so
  113.     override ENGSET = true
  114.  endif
  115. +ifeq "$(ENGINE)" "csgo"
  116. +   HL2SDK = $(HL2SDK_CSGO)
  117. +   HL2PUB = $(HL2SDK)/public
  118. +   HL2LIB = $(HL2SDK)/lib/public
  119. +   CFLAGS += -DSOURCE_ENGINE=7
  120. +   INCLUDE += -I$(HL2SDK)/public/game/server
  121. +   SRCDS = $(SRCDS_BASE)/csgo
  122. +   BINARY = metamod.2.csgo.so
  123. +   LIB_PREFIX = lib
  124. +   LIB_SUFFIX = .so
  125. +   override ENGSET = true
  126. +endif
  127.  
  128. -CFLAGS += -DSE_DARKMESSIAH=2 -DSE_ORANGEBOX=3 -DSE_ORANGEBOXVALVE=4 -DSE_LEFT4DEAD=5 -DSE_LEFT4DEAD2=6
  129. +CFLAGS += -DSE_DARKMESSIAH=2 -DSE_ORANGEBOX=3 -DSE_ORANGEBOXVALVE=4 -DSE_LEFT4DEAD=5 -DSE_LEFT4DEAD2=6 -DSE_CSGO=7
  130.  
  131.  LINK += $(HL2LIB)/tier1_i486.a $(LIB_PREFIX)vstdlib$(LIB_SUFFIX) $(LIB_PREFIX)tier0$(LIB_SUFFIX) \
  132.     -static-libgcc
  133. @@ -95,7 +108,8 @@
  134.  
  135.  CFLAGS += -D_LINUX -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_strnicmp=strncasecmp \
  136.     -Dstrnicmp=strncasecmp -D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca \
  137. -   -Dstrcmpi=strcasecmp -Wall -Werror -Wno-uninitialized -mfpmath=sse -msse -DHAVE_STDINT_H -m32
  138. +   -Dstrcmpi=strcasecmp -Wall -Werror -Wno-uninitialized -mfpmath=sse -msse -DHAVE_STDINT_H -m32 \
  139. +   -DCOMPILER_GCC
  140.  CPPFLAGS += -Wno-non-virtual-dtor -fno-exceptions -fno-rtti
  141.  
  142.  ################################################
  143. diff --git a/core/metamod_console.cpp b/core/metamod_console.cpp
  144. --- a/core/metamod_console.cpp
  145. +++ b/core/metamod_console.cpp
  146. @@ -127,6 +127,10 @@
  147.             CONMSG("  Engine: Dark Messiah (2006)\n");
  148.  #elif SOURCE_ENGINE == SE_EYE
  149.             CONMSG("  Engine: E.Y.E. Divine Cybermancy (2011)\n");
  150. +#elif SOURCE_ENGINE == SE_PORTAL2
  151. +           CONMSG("  Engine: Portal 2 (2011)\n");
  152. +#elif SOURCE_ENGINE == SE_CSGO
  153. +           CONMSG("  Engine: Counter-Strike: Global Offensive (2012)\n");
  154.  #else
  155.  #error "SOURCE_ENGINE not defined to a known value"
  156.  #endif
  157. diff --git a/core/msvc9/mm_core.sln b/core/msvc9/mm_core.sln
  158. --- a/core/msvc9/mm_core.sln
  159. +++ b/core/msvc9/mm_core.sln
  160. @@ -5,11 +5,13 @@
  161.  EndProject
  162.  Global
  163.     GlobalSection(SolutionConfigurationPlatforms) = preSolution
  164. +       Debug - CS GO|Win32 = Debug - CS GO|Win32
  165.         Debug - Dark Messiah|Win32 = Debug - Dark Messiah|Win32
  166.         Debug - Left 4 Dead 2|Win32 = Debug - Left 4 Dead 2|Win32
  167.         Debug - Left 4 Dead|Win32 = Debug - Left 4 Dead|Win32
  168.         Debug - Orange Box|Win32 = Debug - Orange Box|Win32
  169.         Debug - Orange Box Valve|Win32 = Debug - Orange Box Valve|Win32
  170. +       Release - CS GO|Win32 = Release - CS GO|Win32
  171.         Release - Dark Messiah|Win32 = Release - Dark Messiah|Win32
  172.         Release - Left 4 Dead 2|Win32 = Release - Left 4 Dead 2|Win32
  173.         Release - Left 4 Dead|Win32 = Release - Left 4 Dead|Win32
  174. @@ -17,6 +19,8 @@
  175.         Release - Orange Box Valve|Win32 = Release - Orange Box Valve|Win32
  176.     EndGlobalSection
  177.     GlobalSection(ProjectConfigurationPlatforms) = postSolution
  178. +       {F7D47743-73B3-49B5-9D76-2333C5DFD565}.Debug - CS GO|Win32.ActiveCfg = Debug - CS GO|Win32
  179. +       {F7D47743-73B3-49B5-9D76-2333C5DFD565}.Debug - CS GO|Win32.Build.0 = Debug - CS GO|Win32
  180.         {F7D47743-73B3-49B5-9D76-2333C5DFD565}.Debug - Dark Messiah|Win32.ActiveCfg = Debug - Dark Messiah|Win32
  181.         {F7D47743-73B3-49B5-9D76-2333C5DFD565}.Debug - Dark Messiah|Win32.Build.0 = Debug - Dark Messiah|Win32
  182.         {F7D47743-73B3-49B5-9D76-2333C5DFD565}.Debug - Left 4 Dead 2|Win32.ActiveCfg = Debug - Left 4 Dead 2|Win32
  183. @@ -27,6 +31,8 @@
  184.         {F7D47743-73B3-49B5-9D76-2333C5DFD565}.Debug - Orange Box|Win32.Build.0 = Debug - Orange Box|Win32
  185.         {F7D47743-73B3-49B5-9D76-2333C5DFD565}.Debug - Orange Box Valve|Win32.ActiveCfg = Debug - Orange Box Valve|Win32
  186.         {F7D47743-73B3-49B5-9D76-2333C5DFD565}.Debug - Orange Box Valve|Win32.Build.0 = Debug - Orange Box Valve|Win32
  187. +       {F7D47743-73B3-49B5-9D76-2333C5DFD565}.Release - CS GO|Win32.ActiveCfg = Release - CS GO|Win32
  188. +       {F7D47743-73B3-49B5-9D76-2333C5DFD565}.Release - CS GO|Win32.Build.0 = Release - CS GO|Win32
  189.         {F7D47743-73B3-49B5-9D76-2333C5DFD565}.Release - Dark Messiah|Win32.ActiveCfg = Release - Dark Messiah|Win32
  190.         {F7D47743-73B3-49B5-9D76-2333C5DFD565}.Release - Dark Messiah|Win32.Build.0 = Release - Dark Messiah|Win32
  191.         {F7D47743-73B3-49B5-9D76-2333C5DFD565}.Release - Left 4 Dead 2|Win32.ActiveCfg = Release - Left 4 Dead 2|Win32
  192. diff --git a/core/msvc9/mm_core.vcproj b/core/msvc9/mm_core.vcproj
  193. --- a/core/msvc9/mm_core.vcproj
  194. +++ b/core/msvc9/mm_core.vcproj
  195. @@ -40,9 +40,9 @@
  196.             />
  197.             <Tool
  198.                 Name="VCCLCompilerTool"
  199. -               AdditionalOptions="/D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_ORANGEBOXVALVE=4 /D SE_LEFT4DEAD=5 /D SE_LEFT4DEAD2=6"
  200. +               AdditionalOptions="/D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_BLOODYGOODTIME=4 /D SE_EYE=5 /D SE_ORANGEBOXVALVE=6 /D SE_LEFT4DEAD=7 /D SE_LEFT4DEAD2=8 /D SE_ALIENSWARM=9 /D SE_PORTAL2=10 /D SE_CSGO=11"
  201.                 Optimization="0"
  202. -               AdditionalIncludeDirectories="..;..\..\loader;..\sourcehook;"$(HL2SDKOB)\public";"$(HL2SDKOB)\public\engine";"$(HL2SDKOB)\public\game\server";"$(HL2SDKOB)\public\tier0";"$(HL2SDKOB)\public\tier1";"$(HL2SDKOB)\public\vstdlib""
  203. +               AdditionalIncludeDirectories="..;..\..\public;..\..\loader;..\sourcehook;"$(HL2SDKOB)\public";"$(HL2SDKOB)\public\engine";"$(HL2SDKOB)\public\game\server";"$(HL2SDKOB)\public\tier0";"$(HL2SDKOB)\public\tier1";"$(HL2SDKOB)\public\vstdlib""
  204.                 PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SOURCEMM_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCE_ENGINE=3"
  205.                 MinimalRebuild="true"
  206.                 BasicRuntimeChecks="3"
  207. @@ -124,11 +124,11 @@
  208.             />
  209.             <Tool
  210.                 Name="VCCLCompilerTool"
  211. -               AdditionalOptions="/D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_ORANGEBOXVALVE=4 /D SE_LEFT4DEAD=5 /D SE_LEFT4DEAD2=6"
  212. +               AdditionalOptions="/D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_BLOODYGOODTIME=4 /D SE_EYE=5 /D SE_ORANGEBOXVALVE=6 /D SE_LEFT4DEAD=7 /D SE_LEFT4DEAD2=8 /D SE_ALIENSWARM=9 /D SE_PORTAL2=10 /D SE_CSGO=11"
  213.                 Optimization="3"
  214.                 FavorSizeOrSpeed="1"
  215.                 OmitFramePointers="true"
  216. -               AdditionalIncludeDirectories="..;..\..\loader;..\sourcehook;"$(HL2SDKOB)\public";"$(HL2SDKOB)\public\engine";"$(HL2SDKOB)\public\game\server";"$(HL2SDKOB)\public\tier0";"$(HL2SDKOB)\public\tier1";"$(HL2SDKOB)\public\vstdlib""
  217. +               AdditionalIncludeDirectories="..;..\..\public;..\..\loader;..\sourcehook;"$(HL2SDKOB)\public";"$(HL2SDKOB)\public\engine";"$(HL2SDKOB)\public\game\server";"$(HL2SDKOB)\public\tier0";"$(HL2SDKOB)\public\tier1";"$(HL2SDKOB)\public\vstdlib""
  218.                 PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SOURCEMM_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCE_ENGINE=3"
  219.                 StringPooling="true"
  220.                 ExceptionHandling="1"
  221. @@ -211,10 +211,10 @@
  222.             />
  223.             <Tool
  224.                 Name="VCCLCompilerTool"
  225. -               AdditionalOptions="/D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_ORANGEBOXVALVE=4 /D SE_LEFT4DEAD=5 /D SE_LEFT4DEAD2=6"
  226. +               AdditionalOptions="/D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_BLOODYGOODTIME=4 /D SE_EYE=5 /D SE_ORANGEBOXVALVE=6 /D SE_LEFT4DEAD=7 /D SE_LEFT4DEAD2=8 /D SE_ALIENSWARM=9 /D SE_PORTAL2=10 /D SE_CSGO=11"
  227.                 Optimization="0"
  228.                 AdditionalIncludeDirectories="..;..\..\public;..\..\loader;..\sourcehook;"$(HL2SDKOBVALVE)\public";"$(HL2SDKOBVALVE)\public\engine";"$(HL2SDKOBVALVE)\public\game\server";"$(HL2SDKOBVALVE)\public\tier0";"$(HL2SDKOBVALVE)\public\tier1";"$(HL2SDKOBVALVE)\public\vstdlib""
  229. -               PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SOURCEMM_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCE_ENGINE=4"
  230. +               PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SOURCEMM_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCE_ENGINE=6"
  231.                 MinimalRebuild="true"
  232.                 BasicRuntimeChecks="3"
  233.                 RuntimeLibrary="1"
  234. @@ -295,12 +295,12 @@
  235.             />
  236.             <Tool
  237.                 Name="VCCLCompilerTool"
  238. -               AdditionalOptions="/D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_ORANGEBOXVALVE=4 /D SE_LEFT4DEAD=5 /D SE_LEFT4DEAD2=6"
  239. +               AdditionalOptions="/D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_BLOODYGOODTIME=4 /D SE_EYE=5 /D SE_ORANGEBOXVALVE=6 /D SE_LEFT4DEAD=7 /D SE_LEFT4DEAD2=8 /D SE_ALIENSWARM=9 /D SE_PORTAL2=10 /D SE_CSGO=11"
  240.                 Optimization="3"
  241.                 FavorSizeOrSpeed="1"
  242.                 OmitFramePointers="true"
  243. -               AdditionalIncludeDirectories="..;..\..\loader;..\sourcehook;"$(HL2SDKOBVALVE)\public";"$(HL2SDKOBVALVE)\public\engine";"$(HL2SDKOBVALVE)\public\game\server";"$(HL2SDKOBVALVE)\public\tier0";"$(HL2SDKOBVALVE)\public\tier1";"$(HL2SDKOBVALVE)\public\vstdlib""
  244. -               PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SOURCEMM_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCE_ENGINE=4"
  245. +               AdditionalIncludeDirectories="..;..\..\public;..\..\loader;..\sourcehook;"$(HL2SDKOBVALVE)\public";"$(HL2SDKOBVALVE)\public\engine";"$(HL2SDKOBVALVE)\public\game\server";"$(HL2SDKOBVALVE)\public\tier0";"$(HL2SDKOBVALVE)\public\tier1";"$(HL2SDKOBVALVE)\public\vstdlib""
  246. +               PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SOURCEMM_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCE_ENGINE=6"
  247.                 StringPooling="true"
  248.                 ExceptionHandling="1"
  249.                 RuntimeLibrary="0"
  250. @@ -382,10 +382,10 @@
  251.             />
  252.             <Tool
  253.                 Name="VCCLCompilerTool"
  254. -               AdditionalOptions="/D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_ORANGEBOXVALVE=4 /D SE_LEFT4DEAD=5 /D SE_LEFT4DEAD2=6"
  255. +               AdditionalOptions="/D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_BLOODYGOODTIME=4 /D SE_EYE=5 /D SE_ORANGEBOXVALVE=6 /D SE_LEFT4DEAD=7 /D SE_LEFT4DEAD2=8 /D SE_ALIENSWARM=9 /D SE_PORTAL2=10 /D SE_CSGO=11"
  256.                 Optimization="0"
  257. -               AdditionalIncludeDirectories="..;..\..\loader;..\sourcehook;"$(HL2SDKL4D)\public";"$(HL2SDKL4D)\public\engine";"$(HL2SDKL4D)\public\game\server";"$(HL2SDKL4D)\public\tier0";"$(HL2SDKL4D)\public\tier1";"$(HL2SDKL4D)\public\vstdlib""
  258. -               PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SOURCEMM_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCE_ENGINE=5"
  259. +               AdditionalIncludeDirectories="..;..\..\public;..\..\loader;..\sourcehook;"$(HL2SDKL4D)\public";"$(HL2SDKL4D)\public\engine";"$(HL2SDKL4D)\public\game\server";"$(HL2SDKL4D)\public\tier0";"$(HL2SDKL4D)\public\tier1";"$(HL2SDKL4D)\public\vstdlib""
  260. +               PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SOURCEMM_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCE_ENGINE=7"
  261.                 MinimalRebuild="true"
  262.                 BasicRuntimeChecks="3"
  263.                 RuntimeLibrary="1"
  264. @@ -466,12 +466,12 @@
  265.             />
  266.             <Tool
  267.                 Name="VCCLCompilerTool"
  268. -               AdditionalOptions="/D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_ORANGEBOXVALVE=4 /D SE_LEFT4DEAD=5 /D SE_LEFT4DEAD2=6"
  269. +               AdditionalOptions="/D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_BLOODYGOODTIME=4 /D SE_EYE=5 /D SE_ORANGEBOXVALVE=6 /D SE_LEFT4DEAD=7 /D SE_LEFT4DEAD2=8 /D SE_ALIENSWARM=9 /D SE_PORTAL2=10 /D SE_CSGO=11"
  270.                 Optimization="3"
  271.                 FavorSizeOrSpeed="1"
  272.                 OmitFramePointers="true"
  273. -               AdditionalIncludeDirectories="..;..\..\loader;..\sourcehook;"$(HL2SDKL4D)\public";"$(HL2SDKL4D)\public\engine";"$(HL2SDKL4D)\public\game\server";"$(HL2SDKL4D)\public\tier0";"$(HL2SDKL4D)\public\tier1";"$(HL2SDKL4D)\public\vstdlib""
  274. -               PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SOURCEMM_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCE_ENGINE=5"
  275. +               AdditionalIncludeDirectories="..;..\..\public;..\..\loader;..\sourcehook;"$(HL2SDKL4D)\public";"$(HL2SDKL4D)\public\engine";"$(HL2SDKL4D)\public\game\server";"$(HL2SDKL4D)\public\tier0";"$(HL2SDKL4D)\public\tier1";"$(HL2SDKL4D)\public\vstdlib""
  276. +               PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SOURCEMM_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCE_ENGINE=7"
  277.                 StringPooling="true"
  278.                 ExceptionHandling="1"
  279.                 RuntimeLibrary="0"
  280. @@ -553,10 +553,10 @@
  281.             />
  282.             <Tool
  283.                 Name="VCCLCompilerTool"
  284. -               AdditionalOptions="/D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_ORANGEBOXVALVE=4 /D SE_LEFT4DEAD=5 /D SE_LEFT4DEAD2=6"
  285. +               AdditionalOptions="/D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_BLOODYGOODTIME=4 /D SE_EYE=5 /D SE_ORANGEBOXVALVE=6 /D SE_LEFT4DEAD=7 /D SE_LEFT4DEAD2=8 /D SE_ALIENSWARM=9 /D SE_PORTAL2=10 /D SE_CSGO=11"
  286.                 Optimization="0"
  287. -               AdditionalIncludeDirectories="..;..\..\loader;..\sourcehook;"$(HL2SDKL4D2)\public";"$(HL2SDKL4D2)\public\engine";"$(HL2SDKL4D2)\public\game\server";"$(HL2SDKL4D2)\public\tier0";"$(HL2SDKL4D2)\public\tier1";"$(HL2SDKL4D2)\public\vstdlib""
  288. -               PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SOURCEMM_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCE_ENGINE=6"
  289. +               AdditionalIncludeDirectories="..;..\..\public;..\..\loader;..\sourcehook;"$(HL2SDKL4D2)\public";"$(HL2SDKL4D2)\public\engine";"$(HL2SDKL4D2)\public\game\server";"$(HL2SDKL4D2)\public\tier0";"$(HL2SDKL4D2)\public\tier1";"$(HL2SDKL4D2)\public\vstdlib""
  290. +               PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SOURCEMM_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCE_ENGINE=8"
  291.                 MinimalRebuild="true"
  292.                 BasicRuntimeChecks="3"
  293.                 RuntimeLibrary="1"
  294. @@ -637,12 +637,12 @@
  295.             />
  296.             <Tool
  297.                 Name="VCCLCompilerTool"
  298. -               AdditionalOptions="/D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_ORANGEBOXVALVE=4 /D SE_LEFT4DEAD=5 /D SE_LEFT4DEAD2=6"
  299. +               AdditionalOptions="/D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_BLOODYGOODTIME=4 /D SE_EYE=5 /D SE_ORANGEBOXVALVE=6 /D SE_LEFT4DEAD=7 /D SE_LEFT4DEAD2=8 /D SE_ALIENSWARM=9 /D SE_PORTAL2=10 /D SE_CSGO=11"
  300.                 Optimization="3"
  301.                 FavorSizeOrSpeed="1"
  302.                 OmitFramePointers="true"
  303. -               AdditionalIncludeDirectories="..;..\..\loader;..\sourcehook;"$(HL2SDKL4D2)\public";"$(HL2SDKL4D2)\public\engine";"$(HL2SDKL4D2)\public\game\server";"$(HL2SDKL4D2)\public\tier0";"$(HL2SDKL4D2)\public\tier1";"$(HL2SDKL4D2)\public\vstdlib""
  304. -               PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SOURCEMM_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCE_ENGINE=6"
  305. +               AdditionalIncludeDirectories="..;..\..\public;..\..\loader;..\sourcehook;"$(HL2SDKL4D2)\public";"$(HL2SDKL4D2)\public\engine";"$(HL2SDKL4D2)\public\game\server";"$(HL2SDKL4D2)\public\tier0";"$(HL2SDKL4D2)\public\tier1";"$(HL2SDKL4D2)\public\vstdlib""
  306. +               PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SOURCEMM_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCE_ENGINE=8"
  307.                 StringPooling="true"
  308.                 ExceptionHandling="1"
  309.                 RuntimeLibrary="0"
  310. @@ -701,6 +701,177 @@
  311.             />
  312.         </Configuration>
  313.         <Configuration
  314. +           Name="Debug - CS GO|Win32"
  315. +           OutputDirectory="$(ConfigurationName)"
  316. +           IntermediateDirectory="$(ConfigurationName)"
  317. +           ConfigurationType="2"
  318. +           CharacterSet="2"
  319. +           >
  320. +           <Tool
  321. +               Name="VCPreBuildEventTool"
  322. +           />
  323. +           <Tool
  324. +               Name="VCCustomBuildTool"
  325. +           />
  326. +           <Tool
  327. +               Name="VCXMLDataGeneratorTool"
  328. +           />
  329. +           <Tool
  330. +               Name="VCWebServiceProxyGeneratorTool"
  331. +           />
  332. +           <Tool
  333. +               Name="VCMIDLTool"
  334. +           />
  335. +           <Tool
  336. +               Name="VCCLCompilerTool"
  337. +               AdditionalOptions="/D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_BLOODYGOODTIME=4 /D SE_EYE=5 /D SE_ORANGEBOXVALVE=6 /D SE_LEFT4DEAD=7 /D SE_LEFT4DEAD2=8 /D SE_ALIENSWARM=9 /D SE_PORTAL2=10 /D SE_CSGO=11 /D COMPILER_MSVC /D COMPILER_MSVC32"
  338. +               Optimization="0"
  339. +               AdditionalIncludeDirectories="..;..\..\public;..\..\loader;..\sourcehook;"$(HL2SDK-CSGO)\public";"$(HL2SDK-CSGO)\public\engine";"$(HL2SDK-CSGO)\public\game\server";"$(HL2SDK-CSGO)\public\tier0";"$(HL2SDK-CSGO)\public\tier1";"$(HL2SDK-CSGO)\public\vstdlib""
  340. +               PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SOURCEMM_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCE_ENGINE=11"
  341. +               MinimalRebuild="true"
  342. +               BasicRuntimeChecks="3"
  343. +               RuntimeLibrary="1"
  344. +               RuntimeTypeInfo="false"
  345. +               UsePrecompiledHeader="0"
  346. +               WarningLevel="3"
  347. +               Detect64BitPortabilityProblems="false"
  348. +               DebugInformationFormat="4"
  349. +           />
  350. +           <Tool
  351. +               Name="VCManagedResourceCompilerTool"
  352. +           />
  353. +           <Tool
  354. +               Name="VCResourceCompilerTool"
  355. +               PreprocessorDefinitions="BINARY_NAME=\"$(TargetFileName)\""
  356. +           />
  357. +           <Tool
  358. +               Name="VCPreLinkEventTool"
  359. +           />
  360. +           <Tool
  361. +               Name="VCLinkerTool"
  362. +               AdditionalDependencies=""$(HL2SDK-CSGO)\lib\public\tier0.lib" "$(HL2SDK-CSGO)\lib\public\tier1.lib" "$(HL2SDK-CSGO)\lib\public\vstdlib.lib" "$(HL2SDK-CSGO)\lib\public\interfaces.lib""
  363. +               OutputFile="$(OutDir)/metamod.2.csgo.dll"
  364. +               LinkIncremental="2"
  365. +               IgnoreDefaultLibraryNames="libc.lib;libcd.lib;libcmt.lib"
  366. +               GenerateDebugInformation="true"
  367. +               ProgramDatabaseFile="$(OutDir)/sourcemm.pdb"
  368. +               SubSystem="2"
  369. +               EnableCOMDATFolding="1"
  370. +               RandomizedBaseAddress="1"
  371. +               DataExecutionPrevention="0"
  372. +               ImportLibrary="$(OutDir)/sourcemm.lib"
  373. +               TargetMachine="1"
  374. +           />
  375. +           <Tool
  376. +               Name="VCALinkTool"
  377. +           />
  378. +           <Tool
  379. +               Name="VCManifestTool"
  380. +           />
  381. +           <Tool
  382. +               Name="VCXDCMakeTool"
  383. +           />
  384. +           <Tool
  385. +               Name="VCBscMakeTool"
  386. +           />
  387. +           <Tool
  388. +               Name="VCFxCopTool"
  389. +           />
  390. +           <Tool
  391. +               Name="VCAppVerifierTool"
  392. +           />
  393. +           <Tool
  394. +               Name="VCPostBuildEventTool"
  395. +           />
  396. +       </Configuration>
  397. +       <Configuration
  398. +           Name="Release - CS GO|Win32"
  399. +           OutputDirectory="$(ConfigurationName)"
  400. +           IntermediateDirectory="$(ConfigurationName)"
  401. +           ConfigurationType="2"
  402. +           CharacterSet="2"
  403. +           >
  404. +           <Tool
  405. +               Name="VCPreBuildEventTool"
  406. +           />
  407. +           <Tool
  408. +               Name="VCCustomBuildTool"
  409. +           />
  410. +           <Tool
  411. +               Name="VCXMLDataGeneratorTool"
  412. +           />
  413. +           <Tool
  414. +               Name="VCWebServiceProxyGeneratorTool"
  415. +           />
  416. +           <Tool
  417. +               Name="VCMIDLTool"
  418. +           />
  419. +           <Tool
  420. +               Name="VCCLCompilerTool"
  421. +               AdditionalOptions="/D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_BLOODYGOODTIME=4 /D SE_EYE=5 /D SE_ORANGEBOXVALVE=6 /D SE_LEFT4DEAD=7 /D SE_LEFT4DEAD2=8 /D SE_ALIENSWARM=9 /D SE_PORTAL2=10 /D SE_CSGO=11 /D COMPILER_MSVC /D COMPILER_MSVC32"
  422. +               Optimization="3"
  423. +               FavorSizeOrSpeed="1"
  424. +               OmitFramePointers="true"
  425. +               AdditionalIncludeDirectories="..;..\..\public;..\..\loader;..\sourcehook;"$(HL2SDK-CSGO)\public";"$(HL2SDK-CSGO)\public\engine";"$(HL2SDK-CSGO)\public\game\server";"$(HL2SDK-CSGO)\public\tier0";"$(HL2SDK-CSGO)\public\tier1";"$(HL2SDK-CSGO)\public\vstdlib""
  426. +               PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SOURCEMM_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCE_ENGINE=11"
  427. +               StringPooling="true"
  428. +               ExceptionHandling="1"
  429. +               RuntimeLibrary="0"
  430. +               BufferSecurityCheck="false"
  431. +               RuntimeTypeInfo="false"
  432. +               UsePrecompiledHeader="0"
  433. +               WarningLevel="3"
  434. +               Detect64BitPortabilityProblems="false"
  435. +               DebugInformationFormat="3"
  436. +           />
  437. +           <Tool
  438. +               Name="VCManagedResourceCompilerTool"
  439. +           />
  440. +           <Tool
  441. +               Name="VCResourceCompilerTool"
  442. +               PreprocessorDefinitions="BINARY_NAME=\"$(TargetFileName)\""
  443. +           />
  444. +           <Tool
  445. +               Name="VCPreLinkEventTool"
  446. +           />
  447. +           <Tool
  448. +               Name="VCLinkerTool"
  449. +               AdditionalDependencies=""$(HL2SDK-CSGO)\lib\public\tier0.lib" "$(HL2SDK-CSGO)\lib\public\tier1.lib" "$(HL2SDK-CSGO)\lib\public\vstdlib.lib" "$(HL2SDK-CSGO)\lib\public\interfaces.lib""
  450. +               OutputFile="$(OutDir)/metamod.2.csgo.dll"
  451. +               LinkIncremental="1"
  452. +               IgnoreDefaultLibraryNames="libc.lib;libcd.lib;libcmtd.lib"
  453. +               GenerateDebugInformation="true"
  454. +               SubSystem="2"
  455. +               OptimizeReferences="2"
  456. +               EnableCOMDATFolding="2"
  457. +               RandomizedBaseAddress="1"
  458. +               DataExecutionPrevention="0"
  459. +               ImportLibrary="$(OutDir)/sourcemm.lib"
  460. +               TargetMachine="1"
  461. +           />
  462. +           <Tool
  463. +               Name="VCALinkTool"
  464. +           />
  465. +           <Tool
  466. +               Name="VCManifestTool"
  467. +           />
  468. +           <Tool
  469. +               Name="VCXDCMakeTool"
  470. +           />
  471. +           <Tool
  472. +               Name="VCBscMakeTool"
  473. +           />
  474. +           <Tool
  475. +               Name="VCFxCopTool"
  476. +           />
  477. +           <Tool
  478. +               Name="VCAppVerifierTool"
  479. +           />
  480. +           <Tool
  481. +               Name="VCPostBuildEventTool"
  482. +           />
  483. +       </Configuration>
  484. +       <Configuration
  485.             Name="Debug - Dark Messiah|Win32"
  486.             OutputDirectory="$(ConfigurationName)"
  487.             IntermediateDirectory="$(ConfigurationName)"
  488. @@ -724,9 +895,9 @@
  489.             />
  490.             <Tool
  491.                 Name="VCCLCompilerTool"
  492. -               AdditionalOptions="/D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_ORANGEBOXVALVE=4 /D SE_LEFT4DEAD=5 /D SE_LEFT4DEAD2=6"
  493. +               AdditionalOptions="/D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_BLOODYGOODTIME=4 /D SE_EYE=5 /D SE_ORANGEBOXVALVE=6 /D SE_LEFT4DEAD=7 /D SE_LEFT4DEAD2=8 /D SE_ALIENSWARM=9 /D SE_PORTAL2=10 /D SE_CSGO=11"
  494.                 Optimization="0"
  495. -               AdditionalIncludeDirectories="..;..\..\loader;..\sourcehook;"$(HL2SDK-DARKM)\public";"$(HL2SDK-DARKM)\public\engine";"$(HL2SDK-DARKM)\public\dlls";"$(HL2SDK-DARKM)\public\tier0";"$(HL2SDK-DARKM)\public\tier1";"$(HL2SDK-DARKM)\public\vstdlib""
  496. +               AdditionalIncludeDirectories="..;..\..\public;..\..\loader;..\sourcehook;"$(HL2SDK-DARKM)\public";"$(HL2SDK-DARKM)\public\engine";"$(HL2SDK-DARKM)\public\dlls";"$(HL2SDK-DARKM)\public\tier0";"$(HL2SDK-DARKM)\public\tier1";"$(HL2SDK-DARKM)\public\vstdlib""
  497.                 PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SOURCEMM_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCE_ENGINE=2"
  498.                 MinimalRebuild="true"
  499.                 BasicRuntimeChecks="3"
  500. @@ -808,11 +979,11 @@
  501.             />
  502.             <Tool
  503.                 Name="VCCLCompilerTool"
  504. -               AdditionalOptions="/D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_ORANGEBOXVALVE=4 /D SE_LEFT4DEAD=5 /D SE_LEFT4DEAD2=6"
  505. +               AdditionalOptions="/D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_BLOODYGOODTIME=4 /D SE_EYE=5 /D SE_ORANGEBOXVALVE=6 /D SE_LEFT4DEAD=7 /D SE_LEFT4DEAD2=8 /D SE_ALIENSWARM=9 /D SE_PORTAL2=10 /D SE_CSGO=11"
  506.                 Optimization="3"
  507.                 FavorSizeOrSpeed="1"
  508.                 OmitFramePointers="true"
  509. -               AdditionalIncludeDirectories="..;..\..\loader;..\sourcehook;"$(HL2SDK-DARKM)\public";"$(HL2SDK-DARKM)\public\engine";"$(HL2SDK-DARKM)\public\dlls";"$(HL2SDK-DARKM)\public\tier0";"$(HL2SDK-DARKM)\public\tier1";"$(HL2SDK-DARKM)\public\vstdlib""
  510. +               AdditionalIncludeDirectories="..;..\..\public;..\..\loader;..\sourcehook;"$(HL2SDK-DARKM)\public";"$(HL2SDK-DARKM)\public\engine";"$(HL2SDK-DARKM)\public\dlls";"$(HL2SDK-DARKM)\public\tier0";"$(HL2SDK-DARKM)\public\tier1";"$(HL2SDK-DARKM)\public\vstdlib""
  511.                 PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SOURCEMM_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCE_ENGINE=2"
  512.                 StringPooling="true"
  513.                 ExceptionHandling="1"
  514. diff --git a/core/provider/console.cpp b/core/provider/console.cpp
  515. --- a/core/provider/console.cpp
  516. +++ b/core/provider/console.cpp
  517. @@ -41,7 +41,7 @@
  518.  bool SMConVarAccessor::RegisterConCommandBase(ConCommandBase *pCommand)
  519.  {
  520.     m_RegisteredCommands.push_back(pCommand);
  521. -#if SOURCE_ENGINE != SE_ALIENSWARM
  522. +#if SOURCE_ENGINE < SE_ALIENSWARM
  523.     pCommand->SetNext(NULL);
  524.  #endif
  525.     icvar->RegisterConCommand(pCommand);
  526. @@ -51,7 +51,7 @@
  527.  
  528.  bool SMConVarAccessor::Register(ConCommandBase *pCommand)
  529.  {
  530. -#if SOURCE_ENGINE != SE_ALIENSWARM
  531. +#if SOURCE_ENGINE < SE_ALIENSWARM
  532.     pCommand->SetNext(NULL);
  533.  #endif
  534.     icvar->RegisterConCommand(pCommand);
  535. diff --git a/core/provider/provider_ep2.cpp b/core/provider/provider_ep2.cpp
  536. --- a/core/provider/provider_ep2.cpp
  537. +++ b/core/provider/provider_ep2.cpp
  538. @@ -373,6 +373,10 @@
  539.     return SOURCE_ENGINE_DARKMESSIAH;
  540.  #elif SOURCE_ENGINE == SE_EYE
  541.     return SOURCE_ENGINE_EYE;
  542. +#elif SOURCE_ENGINE == SE_PORTAL2
  543. +   return SOURCE_ENGINE_PORTAL2;
  544. +#elif SOURCE_ENGINE == SE_CSGO
  545. +   return SOURCE_ENGINE_CSGO;
  546.  #else
  547.  #error "SOURCE_ENGINE not defined to a known value"
  548.  #endif
  549. diff --git a/loader/Makefile b/loader/Makefile
  550. --- a/loader/Makefile
  551. +++ b/loader/Makefile
  552. @@ -20,7 +20,7 @@
  553.  CPP_GCC4_FLAGS = -fvisibility-inlines-hidden
  554.  CPP = gcc-4.1
  555.  
  556. -ifeq "$(ENGINE)" "left4dead2"
  557. +ifeq (,$(filter left4dead2 csgo,$(ENGINE)))
  558.     BINARY = server.so
  559.     CFLAGS += -DLIB_PREFIX=\"lib\" -DLIB_SUFFIX=\".so\"
  560.  else
  561. diff --git a/loader/loader.cpp b/loader/loader.cpp
  562. --- a/loader/loader.cpp
  563. +++ b/loader/loader.cpp
  564. @@ -78,7 +78,9 @@
  565.     "2.ep2v",
  566.     "2.l4d",
  567.     "2.l4d2",
  568. -   "2.swarm"
  569. +   "2.swarm",
  570. +   "2.portal2",
  571. +   "2.csgo"
  572.  };
  573.  
  574.  #if defined _WIN32
  575. @@ -267,9 +269,17 @@
  576.  mm_DetermineBackend(QueryValveInterface engineFactory, const char *game_name)
  577.  {
  578.     /* Check for L4D */
  579. -   if (engineFactory("VEngineServer022", NULL) != NULL &&
  580. +   if (engineFactory("VEngineServer023", NULL) != NULL)
  581. +   {
  582. +       return MMBackend_CSGO;
  583. +   }
  584. +   else if (engineFactory("VEngineServer022", NULL) != NULL &&
  585.         engineFactory("VEngineCvar007", NULL) != NULL)
  586.     {
  587. +       if (strcmp(game_name, "portal2") == 0)
  588. +       {
  589. +           return MMBackend_Portal2;
  590. +       }
  591.         if (engineFactory("EngineTraceServer004", NULL) != NULL)
  592.         {
  593.             return MMBackend_AlienSwarm;
  594. diff --git a/loader/loader.h b/loader/loader.h
  595. --- a/loader/loader.h
  596. +++ b/loader/loader.h
  597. @@ -89,6 +89,8 @@
  598.     MMBackend_Left4Dead,
  599.     MMBackend_Left4Dead2,
  600.     MMBackend_AlienSwarm,
  601. +   MMBackend_Portal2,
  602. +   MMBackend_CSGO,
  603.     MMBackend_UNKNOWN
  604.  };
Add Comment
Please, Sign In to add comment