mirror of
https://github.com/alliedmodders/metamod-source.git
synced 2025-01-18 07:52:32 +01:00
Added separate build for Orange Box Valve engine (bug 4084, r=dvander).
Also extended MetamodVersionInfo with a game_dir member for getting the game name/directory. And bumped METAMOD_PLAPI_VERSION to 15 for the above.
This commit is contained in:
parent
562da82efe
commit
9408b525ac
@ -41,9 +41,10 @@
|
||||
#define SOURCE_ENGINE_ORANGEBOX 3 /**< Orange Box Source Engine (third major SDK) */
|
||||
#define SOURCE_ENGINE_LEFT4DEAD 4 /**< Left 4 Dead */
|
||||
#define SOURCE_ENGINE_DARKMESSIAH 5 /**< Dark Messiah Multiplayer (based on original engine) */
|
||||
#define SOURCE_ENGINE_ORANGEBOXVALVE 6 /**< Orange Box Source Engine for Valve games (TF2/DOD:S) */
|
||||
#define SOURCE_ENGINE_LEFT4DEAD2 7 /**< Left 4 Dead 2 */
|
||||
|
||||
#define METAMOD_PLAPI_VERSION 14 /**< Version of this header file */
|
||||
#define METAMOD_PLAPI_VERSION 15 /**< Version of this header file */
|
||||
#define METAMOD_PLAPI_NAME "ISmmPlugin" /**< Name of the plugin interface */
|
||||
|
||||
namespace SourceMM
|
||||
@ -110,6 +111,7 @@ struct MetamodVersionInfo
|
||||
int pl_min; /**< Plugin API minimum version */
|
||||
int pl_max; /**< Plugin API maximum version */
|
||||
int source_engine; /**< Source Engine version (SOURCE_* constants) */
|
||||
const char *game_dir; /**< Game directory name */
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -3,6 +3,7 @@
|
||||
|
||||
SRCDS_BASE = ~/srcds
|
||||
HL2SDK_OB = ../../hl2sdk-ob
|
||||
HL2SDK_OB_VALVE = ../../hl2sdk-ob-valve
|
||||
HL2SDK_L4D = ../../hl2sdk-l4d
|
||||
HL2SDK_L4D2 = ../../hl2sdk-l4d2
|
||||
|
||||
@ -44,6 +45,16 @@ ifeq "$(ENGINE)" "orangebox"
|
||||
BINARY = metamod.2.ep2.so
|
||||
override ENGSET = true
|
||||
endif
|
||||
ifeq "$(ENGINE)" "orangeboxvalve"
|
||||
HL2SDK = $(HL2SDK_OB_VALVE)
|
||||
HL2PUB = $(HL2SDK)/public
|
||||
HL2LIB = $(HL2SDK)/lib/linux
|
||||
CFLAGS += -DSOURCE_ENGINE=4
|
||||
INCLUDE += -I$(HL2SDK)/public/game/server
|
||||
SRCDS = $(SRCDS_BASE)/orangebox
|
||||
BINARY = metamod.2.ep2v.so
|
||||
override ENGSET = true
|
||||
endif
|
||||
ifeq "$(ENGINE)" "left4dead"
|
||||
HL2SDK = $(HL2SDK_L4D)
|
||||
HL2PUB = $(HL2SDK)/public
|
||||
@ -65,7 +76,7 @@ ifeq "$(ENGINE)" "left4dead2"
|
||||
override ENGSET = true
|
||||
endif
|
||||
|
||||
CFLAGS += -DSE_DARKMESSIAH=2 -DSE_ORANGEBOX=3 -DSE_LEFT4DEAD=5 -DSE_LEFT4DEAD2=6
|
||||
CFLAGS += -DSE_DARKMESSIAH=2 -DSE_ORANGEBOX=3 -DSE_ORANGEBOXVALVE=4 -DSE_LEFT4DEAD=5 -DSE_LEFT4DEAD2=6
|
||||
|
||||
ifeq "$(ENGINE)" "left4dead2"
|
||||
LINK += $(HL2LIB)/tier1_i486.a vstdlib_linux.so tier0_linux.so -static-libgcc
|
||||
@ -123,7 +134,8 @@ all: check
|
||||
|
||||
check:
|
||||
if [ "$(ENGSET)" = "false" ]; then \
|
||||
echo "You must supply one of the following values for ENGINE: left4dead2, left4dead or orangebox"; \
|
||||
echo "You must supply one of the following values for ENGINE:"; \
|
||||
echo "left4dead2, left4dead, orangeboxvalve or orangebox"; \
|
||||
exit 1; \
|
||||
fi
|
||||
|
||||
|
@ -117,6 +117,8 @@ bool Command_Meta(IMetamodSourceCommandInfo *info)
|
||||
CONMSG(" Engine: Left 4 Dead (2008)\n");
|
||||
#elif SOURCE_ENGINE == SE_ORANGEBOX
|
||||
CONMSG(" Engine: Episode 2 (Orange Box, 2007)\n");
|
||||
#elif SOURCE_ENGINE == SE_ORANGEBOXVALVE
|
||||
CONMSG(" Engine: Episode 2 (Valve Orange Box, 2009)\n");
|
||||
#elif SOURCE_ENGINE == SE_DARKMESSIAH
|
||||
CONMSG(" Engine: Dark Messiah (2006)\n");
|
||||
#else
|
||||
|
@ -1,8 +1,8 @@
|
||||
/**
|
||||
* vim: set ts=4 :
|
||||
* vim: set ts=4 sw=4 tw=99 noet :
|
||||
* ======================================================
|
||||
* Metamod:Source
|
||||
* Copyright (C) 2004-2008 AlliedModders LLC and authors.
|
||||
* Copyright (C) 2004-2009 AlliedModders LLC and authors.
|
||||
* All rights reserved.
|
||||
* ======================================================
|
||||
*
|
||||
@ -21,8 +21,6 @@
|
||||
* 2. Altered source versions must be plainly marked as such, and must not be
|
||||
* misrepresented as being the original software.
|
||||
* 3. This notice may not be removed or altered from any source distribution.
|
||||
*
|
||||
* Version: $Id$
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
@ -62,7 +60,8 @@ MetamodVersionInfo GlobVersionInfo =
|
||||
SH_IMPL_VERSION,
|
||||
PLAPI_MIN_VERSION,
|
||||
METAMOD_PLAPI_VERSION,
|
||||
SOURCE_ENGINE_UNKNOWN
|
||||
SOURCE_ENGINE_UNKNOWN,
|
||||
NULL
|
||||
};
|
||||
|
||||
CPluginManager::CPluginManager()
|
||||
@ -437,6 +436,11 @@ CPluginManager::CPlugin *CPluginManager::_Load(const char *file, PluginId source
|
||||
{
|
||||
GlobVersionInfo.source_engine = g_Metamod.GetSourceEngineBuild();
|
||||
}
|
||||
if (GlobVersionInfo.game_dir == NULL)
|
||||
{
|
||||
GlobVersionInfo.game_dir = strrchr(g_Metamod.GetBaseDir(), PATH_SEP_CHAR) + 1;
|
||||
Msg("OH MY GIDDY AUNT: %s\n", GlobVersionInfo.game_dir);
|
||||
}
|
||||
|
||||
/* Build path information */
|
||||
char file_path[256];
|
||||
@ -456,6 +460,14 @@ CPluginManager::CPlugin *CPluginManager::_Load(const char *file, PluginId source
|
||||
info.pl_path = file_path;
|
||||
|
||||
pl->m_API = fnLoad(&GlobVersionInfo, &info);
|
||||
#if SOURCE_ENGINE == SE_ORANGEBOXVALVE
|
||||
/* For plugin compat - try loading again using original OB if OB-Valve has failed */
|
||||
if (pl->m_API == NULL)
|
||||
{
|
||||
GlobVersionInfo.source_engine = SOURCE_ENGINE_ORANGEBOX;
|
||||
pl->m_API = fnLoad(&GlobVersionInfo, &info);
|
||||
}
|
||||
#endif
|
||||
pl->m_UnloadFn = (METAMOD_FN_UNLOAD)dlsym(pl->m_Lib, "UnloadInterface_MMS");
|
||||
}
|
||||
|
||||
|
@ -9,10 +9,12 @@ Global
|
||||
Debug - Left 4 Dead 2|Win32 = Debug - Left 4 Dead 2|Win32
|
||||
Debug - Left 4 Dead|Win32 = Debug - Left 4 Dead|Win32
|
||||
Debug - Orange Box|Win32 = Debug - Orange Box|Win32
|
||||
Debug - Orange Box Valve|Win32 = Debug - Orange Box Valve|Win32
|
||||
Release - Dark Messiah|Win32 = Release - Dark Messiah|Win32
|
||||
Release - Left 4 Dead 2|Win32 = Release - Left 4 Dead 2|Win32
|
||||
Release - Left 4 Dead|Win32 = Release - Left 4 Dead|Win32
|
||||
Release - Orange Box|Win32 = Release - Orange Box|Win32
|
||||
Release - Orange Box Valve|Win32 = Release - Orange Box Valve|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{F7D47743-73B3-49B5-9D76-2333C5DFD565}.Debug - Dark Messiah|Win32.ActiveCfg = Debug - Dark Messiah|Win32
|
||||
@ -23,6 +25,8 @@ Global
|
||||
{F7D47743-73B3-49B5-9D76-2333C5DFD565}.Debug - Left 4 Dead|Win32.Build.0 = Debug - Left 4 Dead|Win32
|
||||
{F7D47743-73B3-49B5-9D76-2333C5DFD565}.Debug - Orange Box|Win32.ActiveCfg = Debug - Orange Box|Win32
|
||||
{F7D47743-73B3-49B5-9D76-2333C5DFD565}.Debug - Orange Box|Win32.Build.0 = Debug - Orange Box|Win32
|
||||
{F7D47743-73B3-49B5-9D76-2333C5DFD565}.Debug - Orange Box Valve|Win32.ActiveCfg = Debug - Orange Box Valve|Win32
|
||||
{F7D47743-73B3-49B5-9D76-2333C5DFD565}.Debug - Orange Box Valve|Win32.Build.0 = Debug - Orange Box Valve|Win32
|
||||
{F7D47743-73B3-49B5-9D76-2333C5DFD565}.Release - Dark Messiah|Win32.ActiveCfg = Release - Dark Messiah|Win32
|
||||
{F7D47743-73B3-49B5-9D76-2333C5DFD565}.Release - Dark Messiah|Win32.Build.0 = Release - Dark Messiah|Win32
|
||||
{F7D47743-73B3-49B5-9D76-2333C5DFD565}.Release - Left 4 Dead 2|Win32.ActiveCfg = Release - Left 4 Dead 2|Win32
|
||||
@ -31,6 +35,8 @@ Global
|
||||
{F7D47743-73B3-49B5-9D76-2333C5DFD565}.Release - Left 4 Dead|Win32.Build.0 = Release - Left 4 Dead|Win32
|
||||
{F7D47743-73B3-49B5-9D76-2333C5DFD565}.Release - Orange Box|Win32.ActiveCfg = Release - Orange Box|Win32
|
||||
{F7D47743-73B3-49B5-9D76-2333C5DFD565}.Release - Orange Box|Win32.Build.0 = Release - Orange Box|Win32
|
||||
{F7D47743-73B3-49B5-9D76-2333C5DFD565}.Release - Orange Box Valve|Win32.ActiveCfg = Release - Orange Box Valve|Win32
|
||||
{F7D47743-73B3-49B5-9D76-2333C5DFD565}.Release - Orange Box Valve|Win32.Build.0 = Release - Orange Box Valve|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
@ -40,7 +40,7 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalOptions="/D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_LEFT4DEAD=5 /D SE_LEFT4DEAD2=6"
|
||||
AdditionalOptions="/D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_ORANGEBOXVALVE=4 /D SE_LEFT4DEAD=5 /D SE_LEFT4DEAD2=6"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..;..\..\loader;..\sourcehook;"$(HL2SDKOB)\public";"$(HL2SDKOB)\public\engine";"$(HL2SDKOB)\public\game\server";"$(HL2SDKOB)\public\tier0";"$(HL2SDKOB)\public\tier1";"$(HL2SDKOB)\public\vstdlib""
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SOURCEMM_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCE_ENGINE=3"
|
||||
@ -124,7 +124,7 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalOptions="/D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_LEFT4DEAD=5 /D SE_LEFT4DEAD2=6"
|
||||
AdditionalOptions="/D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_ORANGEBOXVALVE=4 /D SE_LEFT4DEAD=5 /D SE_LEFT4DEAD2=6"
|
||||
Optimization="3"
|
||||
FavorSizeOrSpeed="1"
|
||||
OmitFramePointers="true"
|
||||
@ -187,6 +187,177 @@
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug - Orange Box Valve|Win32"
|
||||
OutputDirectory="$(ConfigurationName)"
|
||||
IntermediateDirectory="$(ConfigurationName)"
|
||||
ConfigurationType="2"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalOptions="/D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_ORANGEBOXVALVE=4 /D SE_LEFT4DEAD=5 /D SE_LEFT4DEAD2=6"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..;..\..\loader;..\sourcehook;"$(HL2SDKOBVALVE)\public";"$(HL2SDKOBVALVE)\public\engine";"$(HL2SDKOBVALVE)\public\game\server";"$(HL2SDKOBVALVE)\public\tier0";"$(HL2SDKOBVALVE)\public\tier1";"$(HL2SDKOBVALVE)\public\vstdlib""
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SOURCEMM_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCE_ENGINE=4"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
RuntimeTypeInfo="false"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="false"
|
||||
DebugInformationFormat="4"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="BINARY_NAME=\"$(TargetFileName)\""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies=""$(HL2SDKOBVALVE)\lib\public\tier0.lib" "$(HL2SDKOBVALVE)\lib\public\tier1.lib" "$(HL2SDKOBVALVE)\lib\public\vstdlib.lib""
|
||||
OutputFile="$(OutDir)/metamod.2.ep2v.dll"
|
||||
LinkIncremental="2"
|
||||
IgnoreDefaultLibraryNames="libc.lib;libcd.lib;libcmt.lib"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)/sourcemm.pdb"
|
||||
SubSystem="2"
|
||||
EnableCOMDATFolding="1"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="0"
|
||||
ImportLibrary="$(OutDir)/sourcemm.lib"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release - Orange Box Valve|Win32"
|
||||
OutputDirectory="$(ConfigurationName)"
|
||||
IntermediateDirectory="$(ConfigurationName)"
|
||||
ConfigurationType="2"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalOptions="/D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_ORANGEBOXVALVE=4 /D SE_LEFT4DEAD=5 /D SE_LEFT4DEAD2=6"
|
||||
Optimization="3"
|
||||
FavorSizeOrSpeed="1"
|
||||
OmitFramePointers="true"
|
||||
AdditionalIncludeDirectories="..;..\..\loader;..\sourcehook;"$(HL2SDKOBVALVE)\public";"$(HL2SDKOBVALVE)\public\engine";"$(HL2SDKOBVALVE)\public\game\server";"$(HL2SDKOBVALVE)\public\tier0";"$(HL2SDKOBVALVE)\public\tier1";"$(HL2SDKOBVALVE)\public\vstdlib""
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SOURCEMM_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCE_ENGINE=4"
|
||||
StringPooling="true"
|
||||
ExceptionHandling="1"
|
||||
RuntimeLibrary="0"
|
||||
BufferSecurityCheck="false"
|
||||
RuntimeTypeInfo="false"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="false"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="BINARY_NAME=\"$(TargetFileName)\""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies=""$(HL2SDKOBVALVE)\lib\public\tier0.lib" "$(HL2SDKOBVALVE)\lib\public\tier1.lib" "$(HL2SDKOBVALVE)\lib\public\vstdlib.lib""
|
||||
OutputFile="$(OutDir)/metamod.2.ep2v.dll"
|
||||
LinkIncremental="1"
|
||||
IgnoreDefaultLibraryNames="libc.lib;libcd.lib;libcmtd.lib"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="2"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="0"
|
||||
ImportLibrary="$(OutDir)/sourcemm.lib"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug - Left 4 Dead|Win32"
|
||||
OutputDirectory="$(ConfigurationName)"
|
||||
@ -211,7 +382,7 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalOptions="/D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_LEFT4DEAD=5 /D SE_LEFT4DEAD2=6"
|
||||
AdditionalOptions="/D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_ORANGEBOXVALVE=4 /D SE_LEFT4DEAD=5 /D SE_LEFT4DEAD2=6"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..;..\..\loader;..\sourcehook;"$(HL2SDKL4D)\public";"$(HL2SDKL4D)\public\engine";"$(HL2SDKL4D)\public\game\server";"$(HL2SDKL4D)\public\tier0";"$(HL2SDKL4D)\public\tier1";"$(HL2SDKL4D)\public\vstdlib""
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SOURCEMM_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCE_ENGINE=5"
|
||||
@ -295,7 +466,7 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalOptions="/D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_LEFT4DEAD=5 /D SE_LEFT4DEAD2=6"
|
||||
AdditionalOptions="/D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_ORANGEBOXVALVE=4 /D SE_LEFT4DEAD=5 /D SE_LEFT4DEAD2=6"
|
||||
Optimization="3"
|
||||
FavorSizeOrSpeed="1"
|
||||
OmitFramePointers="true"
|
||||
@ -382,7 +553,7 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalOptions="/D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_LEFT4DEAD=5 /D SE_LEFT4DEAD2=6"
|
||||
AdditionalOptions="/D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_ORANGEBOXVALVE=4 /D SE_LEFT4DEAD=5 /D SE_LEFT4DEAD2=6"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..;..\..\loader;..\sourcehook;"$(HL2SDKL4D2)\public";"$(HL2SDKL4D2)\public\engine";"$(HL2SDKL4D2)\public\game\server";"$(HL2SDKL4D2)\public\tier0";"$(HL2SDKL4D2)\public\tier1";"$(HL2SDKL4D2)\public\vstdlib""
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SOURCEMM_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCE_ENGINE=6"
|
||||
@ -466,7 +637,7 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalOptions="/D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_LEFT4DEAD=5 /D SE_LEFT4DEAD2=6"
|
||||
AdditionalOptions="/D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_ORANGEBOXVALVE=4 /D SE_LEFT4DEAD=5 /D SE_LEFT4DEAD2=6"
|
||||
Optimization="3"
|
||||
FavorSizeOrSpeed="1"
|
||||
OmitFramePointers="true"
|
||||
@ -553,7 +724,7 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalOptions="/D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_LEFT4DEAD=5 /D SE_LEFT4DEAD2=6"
|
||||
AdditionalOptions="/D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_ORANGEBOXVALVE=4 /D SE_LEFT4DEAD=5 /D SE_LEFT4DEAD2=6"
|
||||
Optimization="0"
|
||||
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""
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SOURCEMM_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCE_ENGINE=2"
|
||||
@ -637,7 +808,7 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalOptions="/D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_LEFT4DEAD=5 /D SE_LEFT4DEAD2=6"
|
||||
AdditionalOptions="/D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_ORANGEBOXVALVE=4 /D SE_LEFT4DEAD=5 /D SE_LEFT4DEAD2=6"
|
||||
Optimization="3"
|
||||
FavorSizeOrSpeed="1"
|
||||
OmitFramePointers="true"
|
||||
|
@ -389,6 +389,8 @@ int BaseProvider::DetermineSourceEngine(const char *game)
|
||||
return SOURCE_ENGINE_LEFT4DEAD;
|
||||
#elif SOURCE_ENGINE == SE_ORANGEBOX
|
||||
return SOURCE_ENGINE_ORANGEBOX;
|
||||
#elif SOURCE_ENGINE == SE_ORANGEBOXVALVE
|
||||
return SOURCE_ENGINE_ORANGEBOXVALVE;
|
||||
#elif SOURCE_ENGINE == SE_DARKMESSIAH
|
||||
return SOURCE_ENGINE_DARKMESSIAH;
|
||||
#else
|
||||
|
@ -72,6 +72,7 @@ static const char *backend_names[] =
|
||||
"1.ep1",
|
||||
"2.darkm",
|
||||
"2.ep2",
|
||||
"2.ep2v",
|
||||
"2.l4d",
|
||||
"2.l4d2"
|
||||
};
|
||||
@ -255,6 +256,10 @@ mm_DetermineBackend(QueryValveInterface engineFactory, const char *game_name)
|
||||
if (engineFactory("VEngineCvar004", NULL) != NULL &&
|
||||
engineFactory("VModelInfoServer002", NULL) != NULL)
|
||||
{
|
||||
if (strcmp(game_name, "tf") == 0 || strcmp(game_name, "dod") == 0)
|
||||
{
|
||||
return MMBackend_Episode2Valve;
|
||||
}
|
||||
return MMBackend_Episode2;
|
||||
}
|
||||
/* Check for Episode One/Old Engine */
|
||||
|
@ -62,6 +62,7 @@ enum MetamodBackend
|
||||
MMBackend_Episode1 = 0,
|
||||
MMBackend_DarkMessiah,
|
||||
MMBackend_Episode2,
|
||||
MMBackend_Episode2Valve,
|
||||
MMBackend_Left4Dead,
|
||||
MMBackend_Left4Dead2,
|
||||
MMBackend_UNKNOWN
|
||||
|
@ -12,14 +12,15 @@ require 'helpers.pm';
|
||||
chdir('..');
|
||||
chdir('..');
|
||||
|
||||
# Folder .vcproj Engine Binary Suffix type Platform
|
||||
Build('loader', 'mm_loader', '', 'server', 'full', 'both');
|
||||
Build('loader', 'mm_loader', 'Left4Dead2', 'server_linux', '', 'linux');
|
||||
Build('core-legacy', 'mm_core-legacy', '', 'metamod.1.ep1', '', 'both');
|
||||
Build('core', 'mm_core', 'OrangeBox', 'metamod.2.ep2', '', 'both');
|
||||
Build('core', 'mm_core', 'Left4Dead', 'metamod.2.l4d', '', 'both');
|
||||
Build('core', 'mm_core', 'Left4Dead2', 'metamod.2.l4d2', '', 'both');
|
||||
Build('core', 'mm_core', 'DarkMessiah', 'metamod.2.darkm', '', 'windows');
|
||||
# Folder .vcproj Engine Binary Suffix type Platform
|
||||
Build('loader', 'mm_loader', '', 'server', 'full', 'both');
|
||||
Build('loader', 'mm_loader', 'Left4Dead2', 'server_linux', '', 'linux');
|
||||
Build('core-legacy', 'mm_core-legacy', '', 'metamod.1.ep1', '', 'both');
|
||||
Build('core', 'mm_core', 'OrangeBox', 'metamod.2.ep2', '', 'both');
|
||||
Build('core', 'mm_core', 'OrangeBoxValve', 'metamod.2.ep2v', '', 'both');
|
||||
Build('core', 'mm_core', 'Left4Dead', 'metamod.2.l4d', '', 'both');
|
||||
Build('core', 'mm_core', 'Left4Dead2', 'metamod.2.l4d2', '', 'both');
|
||||
Build('core', 'mm_core', 'DarkMessiah', 'metamod.2.darkm', '', 'windows');
|
||||
|
||||
#Structure our output folder
|
||||
mkdir('OUTPUT');
|
||||
@ -92,6 +93,10 @@ sub BuildWindows
|
||||
{
|
||||
$param = "Release - Orange Box";
|
||||
}
|
||||
if ($build eq "OrangeBoxValve")
|
||||
{
|
||||
$param = "Release - Orange Box Valve";
|
||||
}
|
||||
elsif ($build eq "Left4Dead")
|
||||
{
|
||||
$param = "Release - Left 4 Dead";
|
||||
@ -136,6 +141,11 @@ sub BuildLinux
|
||||
$param = "ENGINE=orangebox";
|
||||
$file .= '.orangebox';
|
||||
}
|
||||
if ($build eq "OrangeBoxValve")
|
||||
{
|
||||
$param = "ENGINE=orangeboxvalve";
|
||||
$file .= '.orangeboxvalve';
|
||||
}
|
||||
elsif ($build eq "Left4Dead")
|
||||
{
|
||||
$param = "ENGINE=left4dead";
|
||||
|
@ -24,6 +24,7 @@ symstore("loader\\msvc9\\server.*", $version);
|
||||
symstore("core-legacy\\msvc9\\Release\\metamod.1.ep1.*", $version);
|
||||
symstore("core\\msvc9\\Release - Dark Messiah\\metamod.2.darkm.*", $version);
|
||||
symstore("core\\msvc9\\Release - Orange Box\\metamod.2.ep2.*", $version);
|
||||
symstore("core\\msvc9\\Release - Orange Box Valve\\metamod.2.ep2v.*", $version);
|
||||
symstore("core\\msvc9\\Release - Left 4 Dead\\metamod.2.l4d.*", $version);
|
||||
symstore("core\\msvc9\\Release - Left 4 Dead 2\\metamod.2.l4d2.*", $version);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user