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_ORANGEBOX 3 /**< Orange Box Source Engine (third major SDK) */
|
||||||
#define SOURCE_ENGINE_LEFT4DEAD 4 /**< Left 4 Dead */
|
#define SOURCE_ENGINE_LEFT4DEAD 4 /**< Left 4 Dead */
|
||||||
#define SOURCE_ENGINE_DARKMESSIAH 5 /**< Dark Messiah Multiplayer (based on original engine) */
|
#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 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 */
|
#define METAMOD_PLAPI_NAME "ISmmPlugin" /**< Name of the plugin interface */
|
||||||
|
|
||||||
namespace SourceMM
|
namespace SourceMM
|
||||||
@ -110,6 +111,7 @@ struct MetamodVersionInfo
|
|||||||
int pl_min; /**< Plugin API minimum version */
|
int pl_min; /**< Plugin API minimum version */
|
||||||
int pl_max; /**< Plugin API maximum version */
|
int pl_max; /**< Plugin API maximum version */
|
||||||
int source_engine; /**< Source Engine version (SOURCE_* constants) */
|
int source_engine; /**< Source Engine version (SOURCE_* constants) */
|
||||||
|
const char *game_dir; /**< Game directory name */
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
|
|
||||||
SRCDS_BASE = ~/srcds
|
SRCDS_BASE = ~/srcds
|
||||||
HL2SDK_OB = ../../hl2sdk-ob
|
HL2SDK_OB = ../../hl2sdk-ob
|
||||||
|
HL2SDK_OB_VALVE = ../../hl2sdk-ob-valve
|
||||||
HL2SDK_L4D = ../../hl2sdk-l4d
|
HL2SDK_L4D = ../../hl2sdk-l4d
|
||||||
HL2SDK_L4D2 = ../../hl2sdk-l4d2
|
HL2SDK_L4D2 = ../../hl2sdk-l4d2
|
||||||
|
|
||||||
@ -44,6 +45,16 @@ ifeq "$(ENGINE)" "orangebox"
|
|||||||
BINARY = metamod.2.ep2.so
|
BINARY = metamod.2.ep2.so
|
||||||
override ENGSET = true
|
override ENGSET = true
|
||||||
endif
|
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"
|
ifeq "$(ENGINE)" "left4dead"
|
||||||
HL2SDK = $(HL2SDK_L4D)
|
HL2SDK = $(HL2SDK_L4D)
|
||||||
HL2PUB = $(HL2SDK)/public
|
HL2PUB = $(HL2SDK)/public
|
||||||
@ -65,7 +76,7 @@ ifeq "$(ENGINE)" "left4dead2"
|
|||||||
override ENGSET = true
|
override ENGSET = true
|
||||||
endif
|
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"
|
ifeq "$(ENGINE)" "left4dead2"
|
||||||
LINK += $(HL2LIB)/tier1_i486.a vstdlib_linux.so tier0_linux.so -static-libgcc
|
LINK += $(HL2LIB)/tier1_i486.a vstdlib_linux.so tier0_linux.so -static-libgcc
|
||||||
@ -123,7 +134,8 @@ all: check
|
|||||||
|
|
||||||
check:
|
check:
|
||||||
if [ "$(ENGSET)" = "false" ]; then \
|
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; \
|
exit 1; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -117,6 +117,8 @@ bool Command_Meta(IMetamodSourceCommandInfo *info)
|
|||||||
CONMSG(" Engine: Left 4 Dead (2008)\n");
|
CONMSG(" Engine: Left 4 Dead (2008)\n");
|
||||||
#elif SOURCE_ENGINE == SE_ORANGEBOX
|
#elif SOURCE_ENGINE == SE_ORANGEBOX
|
||||||
CONMSG(" Engine: Episode 2 (Orange Box, 2007)\n");
|
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
|
#elif SOURCE_ENGINE == SE_DARKMESSIAH
|
||||||
CONMSG(" Engine: Dark Messiah (2006)\n");
|
CONMSG(" Engine: Dark Messiah (2006)\n");
|
||||||
#else
|
#else
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
/**
|
/**
|
||||||
* vim: set ts=4 :
|
* vim: set ts=4 sw=4 tw=99 noet :
|
||||||
* ======================================================
|
* ======================================================
|
||||||
* Metamod:Source
|
* Metamod:Source
|
||||||
* Copyright (C) 2004-2008 AlliedModders LLC and authors.
|
* Copyright (C) 2004-2009 AlliedModders LLC and authors.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
* ======================================================
|
* ======================================================
|
||||||
*
|
*
|
||||||
@ -21,8 +21,6 @@
|
|||||||
* 2. Altered source versions must be plainly marked as such, and must not be
|
* 2. Altered source versions must be plainly marked as such, and must not be
|
||||||
* misrepresented as being the original software.
|
* misrepresented as being the original software.
|
||||||
* 3. This notice may not be removed or altered from any source distribution.
|
* 3. This notice may not be removed or altered from any source distribution.
|
||||||
*
|
|
||||||
* Version: $Id$
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
@ -62,7 +60,8 @@ MetamodVersionInfo GlobVersionInfo =
|
|||||||
SH_IMPL_VERSION,
|
SH_IMPL_VERSION,
|
||||||
PLAPI_MIN_VERSION,
|
PLAPI_MIN_VERSION,
|
||||||
METAMOD_PLAPI_VERSION,
|
METAMOD_PLAPI_VERSION,
|
||||||
SOURCE_ENGINE_UNKNOWN
|
SOURCE_ENGINE_UNKNOWN,
|
||||||
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
CPluginManager::CPluginManager()
|
CPluginManager::CPluginManager()
|
||||||
@ -437,6 +436,11 @@ CPluginManager::CPlugin *CPluginManager::_Load(const char *file, PluginId source
|
|||||||
{
|
{
|
||||||
GlobVersionInfo.source_engine = g_Metamod.GetSourceEngineBuild();
|
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 */
|
/* Build path information */
|
||||||
char file_path[256];
|
char file_path[256];
|
||||||
@ -456,6 +460,14 @@ CPluginManager::CPlugin *CPluginManager::_Load(const char *file, PluginId source
|
|||||||
info.pl_path = file_path;
|
info.pl_path = file_path;
|
||||||
|
|
||||||
pl->m_API = fnLoad(&GlobVersionInfo, &info);
|
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");
|
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 2|Win32 = Debug - Left 4 Dead 2|Win32
|
||||||
Debug - Left 4 Dead|Win32 = Debug - Left 4 Dead|Win32
|
Debug - Left 4 Dead|Win32 = Debug - Left 4 Dead|Win32
|
||||||
Debug - Orange Box|Win32 = Debug - Orange Box|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 - Dark Messiah|Win32 = Release - Dark Messiah|Win32
|
||||||
Release - Left 4 Dead 2|Win32 = Release - Left 4 Dead 2|Win32
|
Release - Left 4 Dead 2|Win32 = Release - Left 4 Dead 2|Win32
|
||||||
Release - Left 4 Dead|Win32 = Release - Left 4 Dead|Win32
|
Release - Left 4 Dead|Win32 = Release - Left 4 Dead|Win32
|
||||||
Release - Orange Box|Win32 = Release - Orange Box|Win32
|
Release - Orange Box|Win32 = Release - Orange Box|Win32
|
||||||
|
Release - Orange Box Valve|Win32 = Release - Orange Box Valve|Win32
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
{F7D47743-73B3-49B5-9D76-2333C5DFD565}.Debug - Dark Messiah|Win32.ActiveCfg = Debug - Dark Messiah|Win32
|
{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 - 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.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|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.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 - 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
|
{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 - 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.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|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
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
@ -40,7 +40,7 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
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"
|
Optimization="0"
|
||||||
AdditionalIncludeDirectories="..;..\..\loader;..\sourcehook;"$(HL2SDKOB)\public";"$(HL2SDKOB)\public\engine";"$(HL2SDKOB)\public\game\server";"$(HL2SDKOB)\public\tier0";"$(HL2SDKOB)\public\tier1";"$(HL2SDKOB)\public\vstdlib""
|
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"
|
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SOURCEMM_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCE_ENGINE=3"
|
||||||
@ -124,7 +124,7 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
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"
|
Optimization="3"
|
||||||
FavorSizeOrSpeed="1"
|
FavorSizeOrSpeed="1"
|
||||||
OmitFramePointers="true"
|
OmitFramePointers="true"
|
||||||
@ -187,6 +187,177 @@
|
|||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</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
|
<Configuration
|
||||||
Name="Debug - Left 4 Dead|Win32"
|
Name="Debug - Left 4 Dead|Win32"
|
||||||
OutputDirectory="$(ConfigurationName)"
|
OutputDirectory="$(ConfigurationName)"
|
||||||
@ -211,7 +382,7 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
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"
|
Optimization="0"
|
||||||
AdditionalIncludeDirectories="..;..\..\loader;..\sourcehook;"$(HL2SDKL4D)\public";"$(HL2SDKL4D)\public\engine";"$(HL2SDKL4D)\public\game\server";"$(HL2SDKL4D)\public\tier0";"$(HL2SDKL4D)\public\tier1";"$(HL2SDKL4D)\public\vstdlib""
|
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"
|
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SOURCEMM_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCE_ENGINE=5"
|
||||||
@ -295,7 +466,7 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
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"
|
Optimization="3"
|
||||||
FavorSizeOrSpeed="1"
|
FavorSizeOrSpeed="1"
|
||||||
OmitFramePointers="true"
|
OmitFramePointers="true"
|
||||||
@ -382,7 +553,7 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
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"
|
Optimization="0"
|
||||||
AdditionalIncludeDirectories="..;..\..\loader;..\sourcehook;"$(HL2SDKL4D2)\public";"$(HL2SDKL4D2)\public\engine";"$(HL2SDKL4D2)\public\game\server";"$(HL2SDKL4D2)\public\tier0";"$(HL2SDKL4D2)\public\tier1";"$(HL2SDKL4D2)\public\vstdlib""
|
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"
|
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SOURCEMM_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCE_ENGINE=6"
|
||||||
@ -466,7 +637,7 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
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"
|
Optimization="3"
|
||||||
FavorSizeOrSpeed="1"
|
FavorSizeOrSpeed="1"
|
||||||
OmitFramePointers="true"
|
OmitFramePointers="true"
|
||||||
@ -553,7 +724,7 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
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"
|
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""
|
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"
|
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SOURCEMM_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCE_ENGINE=2"
|
||||||
@ -637,7 +808,7 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
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"
|
Optimization="3"
|
||||||
FavorSizeOrSpeed="1"
|
FavorSizeOrSpeed="1"
|
||||||
OmitFramePointers="true"
|
OmitFramePointers="true"
|
||||||
|
@ -389,6 +389,8 @@ int BaseProvider::DetermineSourceEngine(const char *game)
|
|||||||
return SOURCE_ENGINE_LEFT4DEAD;
|
return SOURCE_ENGINE_LEFT4DEAD;
|
||||||
#elif SOURCE_ENGINE == SE_ORANGEBOX
|
#elif SOURCE_ENGINE == SE_ORANGEBOX
|
||||||
return SOURCE_ENGINE_ORANGEBOX;
|
return SOURCE_ENGINE_ORANGEBOX;
|
||||||
|
#elif SOURCE_ENGINE == SE_ORANGEBOXVALVE
|
||||||
|
return SOURCE_ENGINE_ORANGEBOXVALVE;
|
||||||
#elif SOURCE_ENGINE == SE_DARKMESSIAH
|
#elif SOURCE_ENGINE == SE_DARKMESSIAH
|
||||||
return SOURCE_ENGINE_DARKMESSIAH;
|
return SOURCE_ENGINE_DARKMESSIAH;
|
||||||
#else
|
#else
|
||||||
|
@ -72,6 +72,7 @@ static const char *backend_names[] =
|
|||||||
"1.ep1",
|
"1.ep1",
|
||||||
"2.darkm",
|
"2.darkm",
|
||||||
"2.ep2",
|
"2.ep2",
|
||||||
|
"2.ep2v",
|
||||||
"2.l4d",
|
"2.l4d",
|
||||||
"2.l4d2"
|
"2.l4d2"
|
||||||
};
|
};
|
||||||
@ -255,6 +256,10 @@ mm_DetermineBackend(QueryValveInterface engineFactory, const char *game_name)
|
|||||||
if (engineFactory("VEngineCvar004", NULL) != NULL &&
|
if (engineFactory("VEngineCvar004", NULL) != NULL &&
|
||||||
engineFactory("VModelInfoServer002", NULL) != NULL)
|
engineFactory("VModelInfoServer002", NULL) != NULL)
|
||||||
{
|
{
|
||||||
|
if (strcmp(game_name, "tf") == 0 || strcmp(game_name, "dod") == 0)
|
||||||
|
{
|
||||||
|
return MMBackend_Episode2Valve;
|
||||||
|
}
|
||||||
return MMBackend_Episode2;
|
return MMBackend_Episode2;
|
||||||
}
|
}
|
||||||
/* Check for Episode One/Old Engine */
|
/* Check for Episode One/Old Engine */
|
||||||
|
@ -62,6 +62,7 @@ enum MetamodBackend
|
|||||||
MMBackend_Episode1 = 0,
|
MMBackend_Episode1 = 0,
|
||||||
MMBackend_DarkMessiah,
|
MMBackend_DarkMessiah,
|
||||||
MMBackend_Episode2,
|
MMBackend_Episode2,
|
||||||
|
MMBackend_Episode2Valve,
|
||||||
MMBackend_Left4Dead,
|
MMBackend_Left4Dead,
|
||||||
MMBackend_Left4Dead2,
|
MMBackend_Left4Dead2,
|
||||||
MMBackend_UNKNOWN
|
MMBackend_UNKNOWN
|
||||||
|
@ -12,14 +12,15 @@ require 'helpers.pm';
|
|||||||
chdir('..');
|
chdir('..');
|
||||||
chdir('..');
|
chdir('..');
|
||||||
|
|
||||||
# Folder .vcproj Engine Binary Suffix type Platform
|
# Folder .vcproj Engine Binary Suffix type Platform
|
||||||
Build('loader', 'mm_loader', '', 'server', 'full', 'both');
|
Build('loader', 'mm_loader', '', 'server', 'full', 'both');
|
||||||
Build('loader', 'mm_loader', 'Left4Dead2', 'server_linux', '', 'linux');
|
Build('loader', 'mm_loader', 'Left4Dead2', 'server_linux', '', 'linux');
|
||||||
Build('core-legacy', 'mm_core-legacy', '', 'metamod.1.ep1', '', 'both');
|
Build('core-legacy', 'mm_core-legacy', '', 'metamod.1.ep1', '', 'both');
|
||||||
Build('core', 'mm_core', 'OrangeBox', 'metamod.2.ep2', '', 'both');
|
Build('core', 'mm_core', 'OrangeBox', 'metamod.2.ep2', '', 'both');
|
||||||
Build('core', 'mm_core', 'Left4Dead', 'metamod.2.l4d', '', 'both');
|
Build('core', 'mm_core', 'OrangeBoxValve', 'metamod.2.ep2v', '', 'both');
|
||||||
Build('core', 'mm_core', 'Left4Dead2', 'metamod.2.l4d2', '', 'both');
|
Build('core', 'mm_core', 'Left4Dead', 'metamod.2.l4d', '', 'both');
|
||||||
Build('core', 'mm_core', 'DarkMessiah', 'metamod.2.darkm', '', 'windows');
|
Build('core', 'mm_core', 'Left4Dead2', 'metamod.2.l4d2', '', 'both');
|
||||||
|
Build('core', 'mm_core', 'DarkMessiah', 'metamod.2.darkm', '', 'windows');
|
||||||
|
|
||||||
#Structure our output folder
|
#Structure our output folder
|
||||||
mkdir('OUTPUT');
|
mkdir('OUTPUT');
|
||||||
@ -92,6 +93,10 @@ sub BuildWindows
|
|||||||
{
|
{
|
||||||
$param = "Release - Orange Box";
|
$param = "Release - Orange Box";
|
||||||
}
|
}
|
||||||
|
if ($build eq "OrangeBoxValve")
|
||||||
|
{
|
||||||
|
$param = "Release - Orange Box Valve";
|
||||||
|
}
|
||||||
elsif ($build eq "Left4Dead")
|
elsif ($build eq "Left4Dead")
|
||||||
{
|
{
|
||||||
$param = "Release - Left 4 Dead";
|
$param = "Release - Left 4 Dead";
|
||||||
@ -136,6 +141,11 @@ sub BuildLinux
|
|||||||
$param = "ENGINE=orangebox";
|
$param = "ENGINE=orangebox";
|
||||||
$file .= '.orangebox';
|
$file .= '.orangebox';
|
||||||
}
|
}
|
||||||
|
if ($build eq "OrangeBoxValve")
|
||||||
|
{
|
||||||
|
$param = "ENGINE=orangeboxvalve";
|
||||||
|
$file .= '.orangeboxvalve';
|
||||||
|
}
|
||||||
elsif ($build eq "Left4Dead")
|
elsif ($build eq "Left4Dead")
|
||||||
{
|
{
|
||||||
$param = "ENGINE=left4dead";
|
$param = "ENGINE=left4dead";
|
||||||
|
@ -24,6 +24,7 @@ symstore("loader\\msvc9\\server.*", $version);
|
|||||||
symstore("core-legacy\\msvc9\\Release\\metamod.1.ep1.*", $version);
|
symstore("core-legacy\\msvc9\\Release\\metamod.1.ep1.*", $version);
|
||||||
symstore("core\\msvc9\\Release - Dark Messiah\\metamod.2.darkm.*", $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\\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\\metamod.2.l4d.*", $version);
|
||||||
symstore("core\\msvc9\\Release - Left 4 Dead 2\\metamod.2.l4d2.*", $version);
|
symstore("core\\msvc9\\Release - Left 4 Dead 2\\metamod.2.l4d2.*", $version);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user