Merge.
This commit is contained in:
commit
a1ff408c13
@ -17,6 +17,8 @@ class SM:
|
|||||||
'name': 'ORANGEBOXVALVE'}
|
'name': 'ORANGEBOXVALVE'}
|
||||||
self.sdkInfo['l4d'] = {'sdk': 'HL2SDKL4D', 'ext': '2.l4d', 'def': '5',
|
self.sdkInfo['l4d'] = {'sdk': 'HL2SDKL4D', 'ext': '2.l4d', 'def': '5',
|
||||||
'name': 'LEFT4DEAD'}
|
'name': 'LEFT4DEAD'}
|
||||||
|
self.sdkInfo['l4d2'] = {'sdk': 'HL2SDKL4D2', 'ext': '2.l4d2', 'def': '6',
|
||||||
|
'name': 'LEFT4DEAD2'}
|
||||||
if AMBuild.target['platform'] == 'windows':
|
if AMBuild.target['platform'] == 'windows':
|
||||||
self.sdkInfo['darkm'] = {'sdk': 'HL2SDK-DARKM', 'ext': '2.darkm', 'def': '2',
|
self.sdkInfo['darkm'] = {'sdk': 'HL2SDK-DARKM', 'ext': '2.darkm', 'def': '2',
|
||||||
'name': 'DARKMESSIAH'}
|
'name': 'DARKMESSIAH'}
|
||||||
@ -26,11 +28,12 @@ class SM:
|
|||||||
self.compiler.DetectAll(AMBuild)
|
self.compiler.DetectAll(AMBuild)
|
||||||
|
|
||||||
#Detect variables
|
#Detect variables
|
||||||
envvars = { 'MMSOURCE17': 'mmsource-1.7',
|
envvars = { 'MMSOURCE18': 'mmsource-1.8',
|
||||||
'HL2SDK': 'hl2sdk',
|
'HL2SDK': 'hl2sdk',
|
||||||
'HL2SDKOB': 'hl2sdk-ob',
|
'HL2SDKOB': 'hl2sdk-ob',
|
||||||
'HL2SDKL4D': 'hl2sdk-l4d',
|
'HL2SDKL4D': 'hl2sdk-l4d',
|
||||||
'HL2SDKOBVALVE': 'hl2sdk-ob-valve',
|
'HL2SDKOBVALVE': 'hl2sdk-ob-valve',
|
||||||
|
'HL2SDKL4D2': 'hl2sdk-l4d2',
|
||||||
'MYSQL5': 'mysql-5.0'
|
'MYSQL5': 'mysql-5.0'
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -156,7 +159,7 @@ class SM:
|
|||||||
self.compiler.AddToListVar('RCINCLUDES', os.path.join(AMBuild.sourceFolder, 'public'))
|
self.compiler.AddToListVar('RCINCLUDES', os.path.join(AMBuild.sourceFolder, 'public'))
|
||||||
self.compiler.AddToListVar('RCINCLUDES',
|
self.compiler.AddToListVar('RCINCLUDES',
|
||||||
os.path.join(AMBuild.outputFolder, 'includes'))
|
os.path.join(AMBuild.outputFolder, 'includes'))
|
||||||
self.mmsPath = AMBuild.cache['MMSOURCE17']
|
self.mmsPath = AMBuild.cache['MMSOURCE18']
|
||||||
|
|
||||||
def DefaultCompiler(self):
|
def DefaultCompiler(self):
|
||||||
return self.compiler.Clone()
|
return self.compiler.Clone()
|
||||||
@ -195,6 +198,15 @@ class SM:
|
|||||||
else:
|
else:
|
||||||
staticLibs = os.path.join(sdkPath, 'lib', 'linux')
|
staticLibs = os.path.join(sdkPath, 'lib', 'linux')
|
||||||
workFolder = os.path.join(AMBuild.outputFolder, job.workFolder)
|
workFolder = os.path.join(AMBuild.outputFolder, job.workFolder)
|
||||||
|
if sdk == 'l4d2':
|
||||||
|
for i in ['tier1_i486.a', 'mathlib_i486.a', 'vstdlib_linux.so', 'tier0_linux.so']:
|
||||||
|
link = os.path.join(workFolder, i)
|
||||||
|
target = os.path.join(staticLibs, i)
|
||||||
|
try:
|
||||||
|
os.lstat(link)
|
||||||
|
except:
|
||||||
|
job.AddCommand(SymlinkCommand(link, target))
|
||||||
|
else:
|
||||||
for i in ['tier1_i486.a', 'mathlib_i486.a', 'vstdlib_i486.so', 'tier0_i486.so']:
|
for i in ['tier1_i486.a', 'mathlib_i486.a', 'vstdlib_i486.so', 'tier0_i486.so']:
|
||||||
link = os.path.join(workFolder, i)
|
link = os.path.join(workFolder, i)
|
||||||
target = os.path.join(staticLibs, i)
|
target = os.path.join(staticLibs, i)
|
||||||
@ -254,6 +266,10 @@ class SM:
|
|||||||
if not noLink:
|
if not noLink:
|
||||||
if AMBuild.target['platform'] == 'linux':
|
if AMBuild.target['platform'] == 'linux':
|
||||||
compiler['POSTLINKFLAGS'][0:0] = ['-lm']
|
compiler['POSTLINKFLAGS'][0:0] = ['-lm']
|
||||||
|
if sdk == 'l4d2':
|
||||||
|
compiler['POSTLINKFLAGS'][0:0] = ['tier0_linux.so']
|
||||||
|
compiler['POSTLINKFLAGS'][0:0] = ['vstdlib_linux.so']
|
||||||
|
else:
|
||||||
compiler['POSTLINKFLAGS'][0:0] = ['tier0_i486.so']
|
compiler['POSTLINKFLAGS'][0:0] = ['tier0_i486.so']
|
||||||
compiler['POSTLINKFLAGS'][0:0] = ['vstdlib_i486.so']
|
compiler['POSTLINKFLAGS'][0:0] = ['vstdlib_i486.so']
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@
|
|||||||
|
|
||||||
class ConCommandBaseIterator
|
class ConCommandBaseIterator
|
||||||
{
|
{
|
||||||
#if SOURCE_ENGINE == SE_LEFT4DEAD
|
#if (SOURCE_ENGINE == SE_LEFT4DEAD) || (SOURCE_ENGINE == SE_LEFT4DEAD2)
|
||||||
ICvarIteratorInternal *cvarIter;
|
ICvarIteratorInternal *cvarIter;
|
||||||
#else
|
#else
|
||||||
ConCommandBase *cvarIter;
|
ConCommandBase *cvarIter;
|
||||||
@ -42,7 +42,7 @@ class ConCommandBaseIterator
|
|||||||
public:
|
public:
|
||||||
ConCommandBaseIterator()
|
ConCommandBaseIterator()
|
||||||
{
|
{
|
||||||
#if SOURCE_ENGINE == SE_LEFT4DEAD
|
#if (SOURCE_ENGINE == SE_LEFT4DEAD) || (SOURCE_ENGINE == SE_LEFT4DEAD2)
|
||||||
cvarIter = icvar->FactoryInternalIterator();
|
cvarIter = icvar->FactoryInternalIterator();
|
||||||
cvarIter->SetFirst();
|
cvarIter->SetFirst();
|
||||||
#else
|
#else
|
||||||
@ -52,14 +52,14 @@ public:
|
|||||||
|
|
||||||
~ConCommandBaseIterator()
|
~ConCommandBaseIterator()
|
||||||
{
|
{
|
||||||
#if SOURCE_ENGINE == SE_LEFT4DEAD
|
#if (SOURCE_ENGINE == SE_LEFT4DEAD) || (SOURCE_ENGINE == SE_LEFT4DEAD2)
|
||||||
g_pMemAlloc->Free(cvarIter);
|
g_pMemAlloc->Free(cvarIter);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
inline bool IsValid()
|
inline bool IsValid()
|
||||||
{
|
{
|
||||||
#if SOURCE_ENGINE == SE_LEFT4DEAD
|
#if (SOURCE_ENGINE == SE_LEFT4DEAD) || (SOURCE_ENGINE == SE_LEFT4DEAD2)
|
||||||
return cvarIter->IsValid();
|
return cvarIter->IsValid();
|
||||||
#else
|
#else
|
||||||
return cvarIter != NULL;
|
return cvarIter != NULL;
|
||||||
@ -68,7 +68,7 @@ public:
|
|||||||
|
|
||||||
inline void Next()
|
inline void Next()
|
||||||
{
|
{
|
||||||
#if SOURCE_ENGINE == SE_LEFT4DEAD
|
#if (SOURCE_ENGINE == SE_LEFT4DEAD) || (SOURCE_ENGINE == SE_LEFT4DEAD2)
|
||||||
cvarIter->Next();
|
cvarIter->Next();
|
||||||
#else
|
#else
|
||||||
cvarIter = const_cast<ConCommandBase*>(cvarIter->GetNext());
|
cvarIter = const_cast<ConCommandBase*>(cvarIter->GetNext());
|
||||||
@ -77,7 +77,7 @@ public:
|
|||||||
|
|
||||||
inline ConCommandBase *Get()
|
inline ConCommandBase *Get()
|
||||||
{
|
{
|
||||||
#if SOURCE_ENGINE == SE_LEFT4DEAD
|
#if (SOURCE_ENGINE == SE_LEFT4DEAD) || (SOURCE_ENGINE == SE_LEFT4DEAD2)
|
||||||
return cvarIter->Get();
|
return cvarIter->Get();
|
||||||
#else
|
#else
|
||||||
return cvarIter;
|
return cvarIter;
|
||||||
|
@ -63,6 +63,8 @@ CRemoteExtension::CRemoteExtension(IExtensionInterface *pAPI, const char *filena
|
|||||||
#if defined METAMOD_PLAPI_VERSION
|
#if defined METAMOD_PLAPI_VERSION
|
||||||
#if SOURCE_ENGINE == SE_LEFT4DEAD
|
#if SOURCE_ENGINE == SE_LEFT4DEAD
|
||||||
#define GAMEFIX "2.l4d"
|
#define GAMEFIX "2.l4d"
|
||||||
|
#elif SOURCE_ENGINE == SE_LEFT4DEAD2
|
||||||
|
#define GAMEFIX "2.l4d2"
|
||||||
#elif SOURCE_ENGINE == SE_ORANGEBOX
|
#elif SOURCE_ENGINE == SE_ORANGEBOX
|
||||||
#define GAMEFIX "2.ep2"
|
#define GAMEFIX "2.ep2"
|
||||||
#elif SOURCE_ENGINE == SE_ORANGEBOXVALVE
|
#elif SOURCE_ENGINE == SE_ORANGEBOXVALVE
|
||||||
@ -71,7 +73,7 @@ CRemoteExtension::CRemoteExtension(IExtensionInterface *pAPI, const char *filena
|
|||||||
#define GAMEFIX "2.darkm"
|
#define GAMEFIX "2.darkm"
|
||||||
#else
|
#else
|
||||||
#define GAMEFIX "2.ep1"
|
#define GAMEFIX "2.ep1"
|
||||||
#endif //SOURCE_ENGINE == SE_LEFT4DEAD
|
#endif //(SOURCE_ENGINE == SE_LEFT4DEAD) || (SOURCE_ENGINE == SE_LEFT4DEAD2)
|
||||||
#else //METAMOD_PLAPI_VERSION
|
#else //METAMOD_PLAPI_VERSION
|
||||||
#define GAMEFIX "1.ep1"
|
#define GAMEFIX "1.ep1"
|
||||||
#endif //METAMOD_PLAPI_VERSION
|
#endif //METAMOD_PLAPI_VERSION
|
||||||
|
@ -117,6 +117,8 @@ static bool DoesEngineMatch(const char *value)
|
|||||||
if (strcmp(value, "orangebox_valve") == 0)
|
if (strcmp(value, "orangebox_valve") == 0)
|
||||||
#elif SOURCE_ENGINE == SE_LEFT4DEAD
|
#elif SOURCE_ENGINE == SE_LEFT4DEAD
|
||||||
if (strcmp(value, "left4dead") == 0)
|
if (strcmp(value, "left4dead") == 0)
|
||||||
|
#elif SOURCE_ENGINE == SE_LEFT4DEAD2
|
||||||
|
if (strcmp(value, "left4dead2") == 0)
|
||||||
#else
|
#else
|
||||||
#error "Unknown engine type"
|
#error "Unknown engine type"
|
||||||
#endif
|
#endif
|
||||||
|
@ -7,7 +7,8 @@ HL2SDK_ORIG = ../../hl2sdk
|
|||||||
HL2SDK_OB = ../../hl2sdk-ob
|
HL2SDK_OB = ../../hl2sdk-ob
|
||||||
HL2SDK_OB_VALVE = ../../hl2sdk-ob-valve
|
HL2SDK_OB_VALVE = ../../hl2sdk-ob-valve
|
||||||
HL2SDK_L4D = ../../hl2sdk-l4d
|
HL2SDK_L4D = ../../hl2sdk-l4d
|
||||||
MMSOURCE17 = ../../mmsource-1.7
|
HL2SDK_L4D2 = ../../hl2sdk-l4d2
|
||||||
|
MMSOURCE17 = ../../mmsource-central
|
||||||
|
|
||||||
#####################################
|
#####################################
|
||||||
### EDIT BELOW FOR OTHER PROJECTS ###
|
### EDIT BELOW FOR OTHER PROJECTS ###
|
||||||
@ -92,11 +93,27 @@ ifeq "$(ENGINE)" "left4dead"
|
|||||||
BINARY = sourcemod.2.l4d.so
|
BINARY = sourcemod.2.l4d.so
|
||||||
override ENGSET = true
|
override ENGSET = true
|
||||||
endif
|
endif
|
||||||
|
ifeq "$(ENGINE)" "left4dead2"
|
||||||
|
HL2SDK = $(HL2SDK_L4D2)
|
||||||
|
HL2PUB = $(HL2SDK)/public
|
||||||
|
HL2LIB = $(HL2SDK)/lib/linux
|
||||||
|
CFLAGS += -DSOURCE_ENGINE=6
|
||||||
|
METAMOD = $(MMSOURCE17)/core
|
||||||
|
INCLUDE += -I$(HL2SDK)/public/game/server
|
||||||
|
SRCDS = $(SRCDS_BASE)/left4dead2_demo
|
||||||
|
BINARY = sourcemod.2.l4d2.so
|
||||||
|
override ENGSET = true
|
||||||
|
endif
|
||||||
|
|
||||||
CFLAGS += -DSE_EPISODEONE=1 -DSE_DARKMESSIAH=2 -DSE_ORANGEBOX=3 -DSE_ORANGEBOXVALVE=4 -DSE_LEFT4DEAD=5
|
CFLAGS += -DSE_EPISODEONE=1 -DSE_DARKMESSIAH=2 -DSE_ORANGEBOX=3 -DSE_ORANGEBOXVALVE=4 -DSE_LEFT4DEAD=5 -DSE_LEFT4DEAD2=6
|
||||||
|
|
||||||
|
ifeq "$(ENGINE)" "left4dead2"
|
||||||
|
LINK += $(HL2LIB)/tier1_i486.a $(HL2LIB)/mathlib_i486.a vstdlib_linux.so \
|
||||||
|
tier0_linux.so -static-libgcc
|
||||||
|
else
|
||||||
LINK += $(HL2LIB)/tier1_i486.a $(HL2LIB)/mathlib_i486.a vstdlib_i486.so \
|
LINK += $(HL2LIB)/tier1_i486.a $(HL2LIB)/mathlib_i486.a vstdlib_i486.so \
|
||||||
tier0_i486.so -static-libgcc
|
tier0_i486.so -static-libgcc
|
||||||
|
endif
|
||||||
|
|
||||||
INCLUDE += -I. -I.. -I$(HL2PUB) -I$(HL2PUB)/engine -I$(HL2PUB)/mathlib -I$(HL2PUB)/vstdlib \
|
INCLUDE += -I. -I.. -I$(HL2PUB) -I$(HL2PUB)/engine -I$(HL2PUB)/mathlib -I$(HL2PUB)/vstdlib \
|
||||||
-I$(HL2PUB)/tier0 -I$(HL2PUB)/tier1 -I$(METAMOD) -I$(METAMOD)/sourcehook \
|
-I$(HL2PUB)/tier0 -I$(HL2PUB)/tier1 -I$(METAMOD) -I$(METAMOD)/sourcehook \
|
||||||
@ -136,8 +153,13 @@ $(BIN_DIR)/%.o: %.c
|
|||||||
|
|
||||||
all: check
|
all: check
|
||||||
mkdir -p $(BIN_DIR)
|
mkdir -p $(BIN_DIR)
|
||||||
|
ifeq "$(ENGINE)" "left4dead2"
|
||||||
|
ln -sf $(SRCDS)/bin/vstdlib_linux.so vstdlib_linux.so;
|
||||||
|
ln -sf $(SRCDS)/bin/tier0_linux.so tier0_linux.so;
|
||||||
|
else
|
||||||
ln -sf $(SRCDS)/bin/vstdlib_i486.so vstdlib_i486.so;
|
ln -sf $(SRCDS)/bin/vstdlib_i486.so vstdlib_i486.so;
|
||||||
ln -sf $(SRCDS)/bin/tier0_i486.so tier0_i486.so;
|
ln -sf $(SRCDS)/bin/tier0_i486.so tier0_i486.so;
|
||||||
|
endif
|
||||||
$(MAKE) -f Makefile sourcemod
|
$(MAKE) -f Makefile sourcemod
|
||||||
|
|
||||||
check:
|
check:
|
||||||
|
@ -47,7 +47,7 @@
|
|||||||
#include "sm_trie.h"
|
#include "sm_trie.h"
|
||||||
#include "sourcemod.h"
|
#include "sourcemod.h"
|
||||||
#include <IRootConsoleMenu.h>
|
#include <IRootConsoleMenu.h>
|
||||||
#if SOURCE_ENGINE == SE_LEFT4DEAD
|
#if (SOURCE_ENGINE == SE_LEFT4DEAD) || (SOURCE_ENGINE == SE_LEFT4DEAD2)
|
||||||
#include "convar_sm_l4d.h"
|
#include "convar_sm_l4d.h"
|
||||||
#elif (SOURCE_ENGINE == SE_ORANGEBOX) || (SOURCE_ENGINE == SE_ORANGEBOXVALVE)
|
#elif (SOURCE_ENGINE == SE_ORANGEBOX) || (SOURCE_ENGINE == SE_ORANGEBOXVALVE)
|
||||||
#include "convar_sm_ob.h"
|
#include "convar_sm_ob.h"
|
||||||
|
@ -34,7 +34,7 @@
|
|||||||
|
|
||||||
UserMessages g_UserMsgs;
|
UserMessages g_UserMsgs;
|
||||||
|
|
||||||
#if SOURCE_ENGINE == SE_LEFT4DEAD
|
#if (SOURCE_ENGINE == SE_LEFT4DEAD) || (SOURCE_ENGINE == SE_LEFT4DEAD2)
|
||||||
SH_DECL_HOOK3(IVEngineServer, UserMessageBegin, SH_NOATTRIB, 0, bf_write *, IRecipientFilter *, int, const char *);
|
SH_DECL_HOOK3(IVEngineServer, UserMessageBegin, SH_NOATTRIB, 0, bf_write *, IRecipientFilter *, int, const char *);
|
||||||
#else
|
#else
|
||||||
SH_DECL_HOOK2(IVEngineServer, UserMessageBegin, SH_NOATTRIB, 0, bf_write *, IRecipientFilter *, int);
|
SH_DECL_HOOK2(IVEngineServer, UserMessageBegin, SH_NOATTRIB, 0, bf_write *, IRecipientFilter *, int);
|
||||||
@ -168,13 +168,13 @@ bf_write *UserMessages::StartMessage(int msg_id, const cell_t players[], unsigne
|
|||||||
|
|
||||||
if (m_CurFlags & USERMSG_BLOCKHOOKS)
|
if (m_CurFlags & USERMSG_BLOCKHOOKS)
|
||||||
{
|
{
|
||||||
#if SOURCE_ENGINE == SE_LEFT4DEAD
|
#if (SOURCE_ENGINE == SE_LEFT4DEAD) || (SOURCE_ENGINE == SE_LEFT4DEAD2)
|
||||||
buffer = ENGINE_CALL(UserMessageBegin)(static_cast<IRecipientFilter *>(&m_CellRecFilter), msg_id, g_SMAPI->GetUserMessage(msg_id));
|
buffer = ENGINE_CALL(UserMessageBegin)(static_cast<IRecipientFilter *>(&m_CellRecFilter), msg_id, g_SMAPI->GetUserMessage(msg_id));
|
||||||
#else
|
#else
|
||||||
buffer = ENGINE_CALL(UserMessageBegin)(static_cast<IRecipientFilter *>(&m_CellRecFilter), msg_id);
|
buffer = ENGINE_CALL(UserMessageBegin)(static_cast<IRecipientFilter *>(&m_CellRecFilter), msg_id);
|
||||||
#endif
|
#endif
|
||||||
} else {
|
} else {
|
||||||
#if SOURCE_ENGINE == SE_LEFT4DEAD
|
#if (SOURCE_ENGINE == SE_LEFT4DEAD) || (SOURCE_ENGINE == SE_LEFT4DEAD2)
|
||||||
buffer = engine->UserMessageBegin(static_cast<IRecipientFilter *>(&m_CellRecFilter), msg_id, g_SMAPI->GetUserMessage(msg_id));
|
buffer = engine->UserMessageBegin(static_cast<IRecipientFilter *>(&m_CellRecFilter), msg_id, g_SMAPI->GetUserMessage(msg_id));
|
||||||
#else
|
#else
|
||||||
buffer = engine->UserMessageBegin(static_cast<IRecipientFilter *>(&m_CellRecFilter), msg_id);
|
buffer = engine->UserMessageBegin(static_cast<IRecipientFilter *>(&m_CellRecFilter), msg_id);
|
||||||
@ -316,7 +316,7 @@ void UserMessages::_DecRefCounter()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if SOURCE_ENGINE == SE_LEFT4DEAD
|
#if (SOURCE_ENGINE == SE_LEFT4DEAD) || (SOURCE_ENGINE == SE_LEFT4DEAD2)
|
||||||
bf_write *UserMessages::OnStartMessage_Pre(IRecipientFilter *filter, int msg_type, const char *msg_name)
|
bf_write *UserMessages::OnStartMessage_Pre(IRecipientFilter *filter, int msg_type, const char *msg_name)
|
||||||
#else
|
#else
|
||||||
bf_write *UserMessages::OnStartMessage_Pre(IRecipientFilter *filter, int msg_type)
|
bf_write *UserMessages::OnStartMessage_Pre(IRecipientFilter *filter, int msg_type)
|
||||||
@ -346,7 +346,7 @@ bf_write *UserMessages::OnStartMessage_Pre(IRecipientFilter *filter, int msg_typ
|
|||||||
RETURN_META_VALUE(MRES_IGNORED, NULL);
|
RETURN_META_VALUE(MRES_IGNORED, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if SOURCE_ENGINE == SE_LEFT4DEAD
|
#if (SOURCE_ENGINE == SE_LEFT4DEAD) || (SOURCE_ENGINE == SE_LEFT4DEAD2)
|
||||||
bf_write *UserMessages::OnStartMessage_Post(IRecipientFilter *filter, int msg_type, const char *msg_name)
|
bf_write *UserMessages::OnStartMessage_Post(IRecipientFilter *filter, int msg_type, const char *msg_name)
|
||||||
#else
|
#else
|
||||||
bf_write *UserMessages::OnStartMessage_Post(IRecipientFilter *filter, int msg_type)
|
bf_write *UserMessages::OnStartMessage_Post(IRecipientFilter *filter, int msg_type)
|
||||||
@ -500,7 +500,7 @@ void UserMessages::OnMessageEnd_Pre()
|
|||||||
{
|
{
|
||||||
bf_write *engine_bfw;
|
bf_write *engine_bfw;
|
||||||
|
|
||||||
#if SOURCE_ENGINE == SE_LEFT4DEAD
|
#if (SOURCE_ENGINE == SE_LEFT4DEAD) || (SOURCE_ENGINE == SE_LEFT4DEAD2)
|
||||||
engine_bfw = ENGINE_CALL(UserMessageBegin)(m_CurRecFilter, m_CurId, g_SMAPI->GetUserMessage(m_CurId));
|
engine_bfw = ENGINE_CALL(UserMessageBegin)(m_CurRecFilter, m_CurId, g_SMAPI->GetUserMessage(m_CurId));
|
||||||
#else
|
#else
|
||||||
engine_bfw = ENGINE_CALL(UserMessageBegin)(m_CurRecFilter, m_CurId);
|
engine_bfw = ENGINE_CALL(UserMessageBegin)(m_CurRecFilter, m_CurId);
|
||||||
|
@ -79,7 +79,7 @@ public: //IUserMessages
|
|||||||
IUserMessageListener *pListener,
|
IUserMessageListener *pListener,
|
||||||
bool intercept=false);
|
bool intercept=false);
|
||||||
public:
|
public:
|
||||||
#if SOURCE_ENGINE == SE_LEFT4DEAD
|
#if (SOURCE_ENGINE == SE_LEFT4DEAD) || (SOURCE_ENGINE == SE_LEFT4DEAD2)
|
||||||
bf_write *OnStartMessage_Pre(IRecipientFilter *filter, int msg_type, const char *msg_name);
|
bf_write *OnStartMessage_Pre(IRecipientFilter *filter, int msg_type, const char *msg_name);
|
||||||
bf_write *OnStartMessage_Post(IRecipientFilter *filter, int msg_type, const char *msg_name);
|
bf_write *OnStartMessage_Post(IRecipientFilter *filter, int msg_type, const char *msg_name);
|
||||||
#else
|
#else
|
||||||
|
@ -386,6 +386,9 @@ public:
|
|||||||
virtual void SetValue( const char *value );
|
virtual void SetValue( const char *value );
|
||||||
virtual void SetValue( float value );
|
virtual void SetValue( float value );
|
||||||
virtual void SetValue( int value );
|
virtual void SetValue( int value );
|
||||||
|
#if SOURCE_ENGINE == SE_LEFT4DEAD2
|
||||||
|
virtual void SetValue( Color value );
|
||||||
|
#endif
|
||||||
|
|
||||||
// Reset to default value
|
// Reset to default value
|
||||||
void Revert( void );
|
void Revert( void );
|
||||||
|
@ -7,18 +7,21 @@ Global
|
|||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
CrazyDebug - Dark Messiah|Win32 = CrazyDebug - Dark Messiah|Win32
|
CrazyDebug - Dark Messiah|Win32 = CrazyDebug - Dark Messiah|Win32
|
||||||
CrazyDebug - Episode 1|Win32 = CrazyDebug - Episode 1|Win32
|
CrazyDebug - Episode 1|Win32 = CrazyDebug - Episode 1|Win32
|
||||||
|
CrazyDebug - Left 4 Dead 2|Win32 = CrazyDebug - Left 4 Dead 2|Win32
|
||||||
CrazyDebug - Left 4 Dead|Win32 = CrazyDebug - Left 4 Dead|Win32
|
CrazyDebug - Left 4 Dead|Win32 = CrazyDebug - Left 4 Dead|Win32
|
||||||
CrazyDebug - Old Metamod|Win32 = CrazyDebug - Old Metamod|Win32
|
CrazyDebug - Old Metamod|Win32 = CrazyDebug - Old Metamod|Win32
|
||||||
CrazyDebug - Orange Box Valve|Win32 = CrazyDebug - Orange Box Valve|Win32
|
CrazyDebug - Orange Box Valve|Win32 = CrazyDebug - Orange Box Valve|Win32
|
||||||
CrazyDebug - Orange Box|Win32 = CrazyDebug - Orange Box|Win32
|
CrazyDebug - Orange Box|Win32 = CrazyDebug - Orange Box|Win32
|
||||||
Debug - Dark Messiah|Win32 = Debug - Dark Messiah|Win32
|
Debug - Dark Messiah|Win32 = Debug - Dark Messiah|Win32
|
||||||
Debug - Episode 1|Win32 = Debug - Episode 1|Win32
|
Debug - Episode 1|Win32 = Debug - Episode 1|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 - Old Metamod|Win32 = Debug - Old Metamod|Win32
|
Debug - Old Metamod|Win32 = Debug - Old Metamod|Win32
|
||||||
Debug - Orange Box Valve|Win32 = Debug - Orange Box Valve|Win32
|
Debug - Orange Box Valve|Win32 = Debug - Orange Box Valve|Win32
|
||||||
Debug - Orange Box|Win32 = Debug - Orange Box|Win32
|
Debug - Orange Box|Win32 = Debug - Orange Box|Win32
|
||||||
Release - Dark Messiah|Win32 = Release - Dark Messiah|Win32
|
Release - Dark Messiah|Win32 = Release - Dark Messiah|Win32
|
||||||
Release - Episode 1|Win32 = Release - Episode 1|Win32
|
Release - Episode 1|Win32 = Release - Episode 1|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 - Old Metamod|Win32 = Release - Old Metamod|Win32
|
Release - Old Metamod|Win32 = Release - Old Metamod|Win32
|
||||||
Release - Orange Box Valve|Win32 = Release - Orange Box Valve|Win32
|
Release - Orange Box Valve|Win32 = Release - Orange Box Valve|Win32
|
||||||
@ -29,6 +32,8 @@ Global
|
|||||||
{E39527CD-7CAB-4420-97CC-DA1B93B260BC}.CrazyDebug - Dark Messiah|Win32.Build.0 = CrazyDebug - Dark Messiah|Win32
|
{E39527CD-7CAB-4420-97CC-DA1B93B260BC}.CrazyDebug - Dark Messiah|Win32.Build.0 = CrazyDebug - Dark Messiah|Win32
|
||||||
{E39527CD-7CAB-4420-97CC-DA1B93B260BC}.CrazyDebug - Episode 1|Win32.ActiveCfg = CrazyDebug - Episode 1|Win32
|
{E39527CD-7CAB-4420-97CC-DA1B93B260BC}.CrazyDebug - Episode 1|Win32.ActiveCfg = CrazyDebug - Episode 1|Win32
|
||||||
{E39527CD-7CAB-4420-97CC-DA1B93B260BC}.CrazyDebug - Episode 1|Win32.Build.0 = CrazyDebug - Episode 1|Win32
|
{E39527CD-7CAB-4420-97CC-DA1B93B260BC}.CrazyDebug - Episode 1|Win32.Build.0 = CrazyDebug - Episode 1|Win32
|
||||||
|
{E39527CD-7CAB-4420-97CC-DA1B93B260BC}.CrazyDebug - Left 4 Dead 2|Win32.ActiveCfg = CrazyDebug - Left 4 Dead 2|Win32
|
||||||
|
{E39527CD-7CAB-4420-97CC-DA1B93B260BC}.CrazyDebug - Left 4 Dead 2|Win32.Build.0 = CrazyDebug - Left 4 Dead 2|Win32
|
||||||
{E39527CD-7CAB-4420-97CC-DA1B93B260BC}.CrazyDebug - Left 4 Dead|Win32.ActiveCfg = CrazyDebug - Left 4 Dead|Win32
|
{E39527CD-7CAB-4420-97CC-DA1B93B260BC}.CrazyDebug - Left 4 Dead|Win32.ActiveCfg = CrazyDebug - Left 4 Dead|Win32
|
||||||
{E39527CD-7CAB-4420-97CC-DA1B93B260BC}.CrazyDebug - Left 4 Dead|Win32.Build.0 = CrazyDebug - Left 4 Dead|Win32
|
{E39527CD-7CAB-4420-97CC-DA1B93B260BC}.CrazyDebug - Left 4 Dead|Win32.Build.0 = CrazyDebug - Left 4 Dead|Win32
|
||||||
{E39527CD-7CAB-4420-97CC-DA1B93B260BC}.CrazyDebug - Old Metamod|Win32.ActiveCfg = CrazyDebug - Old Metamod|Win32
|
{E39527CD-7CAB-4420-97CC-DA1B93B260BC}.CrazyDebug - Old Metamod|Win32.ActiveCfg = CrazyDebug - Old Metamod|Win32
|
||||||
@ -41,6 +46,8 @@ Global
|
|||||||
{E39527CD-7CAB-4420-97CC-DA1B93B260BC}.Debug - Dark Messiah|Win32.Build.0 = Debug - Dark Messiah|Win32
|
{E39527CD-7CAB-4420-97CC-DA1B93B260BC}.Debug - Dark Messiah|Win32.Build.0 = Debug - Dark Messiah|Win32
|
||||||
{E39527CD-7CAB-4420-97CC-DA1B93B260BC}.Debug - Episode 1|Win32.ActiveCfg = Debug - Episode 1|Win32
|
{E39527CD-7CAB-4420-97CC-DA1B93B260BC}.Debug - Episode 1|Win32.ActiveCfg = Debug - Episode 1|Win32
|
||||||
{E39527CD-7CAB-4420-97CC-DA1B93B260BC}.Debug - Episode 1|Win32.Build.0 = Debug - Episode 1|Win32
|
{E39527CD-7CAB-4420-97CC-DA1B93B260BC}.Debug - Episode 1|Win32.Build.0 = Debug - Episode 1|Win32
|
||||||
|
{E39527CD-7CAB-4420-97CC-DA1B93B260BC}.Debug - Left 4 Dead 2|Win32.ActiveCfg = Debug - Left 4 Dead 2|Win32
|
||||||
|
{E39527CD-7CAB-4420-97CC-DA1B93B260BC}.Debug - Left 4 Dead 2|Win32.Build.0 = Debug - Left 4 Dead 2|Win32
|
||||||
{E39527CD-7CAB-4420-97CC-DA1B93B260BC}.Debug - Left 4 Dead|Win32.ActiveCfg = Debug - Left 4 Dead|Win32
|
{E39527CD-7CAB-4420-97CC-DA1B93B260BC}.Debug - Left 4 Dead|Win32.ActiveCfg = Debug - Left 4 Dead|Win32
|
||||||
{E39527CD-7CAB-4420-97CC-DA1B93B260BC}.Debug - Left 4 Dead|Win32.Build.0 = Debug - Left 4 Dead|Win32
|
{E39527CD-7CAB-4420-97CC-DA1B93B260BC}.Debug - Left 4 Dead|Win32.Build.0 = Debug - Left 4 Dead|Win32
|
||||||
{E39527CD-7CAB-4420-97CC-DA1B93B260BC}.Debug - Old Metamod|Win32.ActiveCfg = Debug - Old Metamod|Win32
|
{E39527CD-7CAB-4420-97CC-DA1B93B260BC}.Debug - Old Metamod|Win32.ActiveCfg = Debug - Old Metamod|Win32
|
||||||
@ -53,6 +60,8 @@ Global
|
|||||||
{E39527CD-7CAB-4420-97CC-DA1B93B260BC}.Release - Dark Messiah|Win32.Build.0 = Release - Dark Messiah|Win32
|
{E39527CD-7CAB-4420-97CC-DA1B93B260BC}.Release - Dark Messiah|Win32.Build.0 = Release - Dark Messiah|Win32
|
||||||
{E39527CD-7CAB-4420-97CC-DA1B93B260BC}.Release - Episode 1|Win32.ActiveCfg = Release - Episode 1|Win32
|
{E39527CD-7CAB-4420-97CC-DA1B93B260BC}.Release - Episode 1|Win32.ActiveCfg = Release - Episode 1|Win32
|
||||||
{E39527CD-7CAB-4420-97CC-DA1B93B260BC}.Release - Episode 1|Win32.Build.0 = Release - Episode 1|Win32
|
{E39527CD-7CAB-4420-97CC-DA1B93B260BC}.Release - Episode 1|Win32.Build.0 = Release - Episode 1|Win32
|
||||||
|
{E39527CD-7CAB-4420-97CC-DA1B93B260BC}.Release - Left 4 Dead 2|Win32.ActiveCfg = Release - Left 4 Dead 2|Win32
|
||||||
|
{E39527CD-7CAB-4420-97CC-DA1B93B260BC}.Release - Left 4 Dead 2|Win32.Build.0 = Release - Left 4 Dead 2|Win32
|
||||||
{E39527CD-7CAB-4420-97CC-DA1B93B260BC}.Release - Left 4 Dead|Win32.ActiveCfg = Release - Left 4 Dead|Win32
|
{E39527CD-7CAB-4420-97CC-DA1B93B260BC}.Release - Left 4 Dead|Win32.ActiveCfg = Release - Left 4 Dead|Win32
|
||||||
{E39527CD-7CAB-4420-97CC-DA1B93B260BC}.Release - Left 4 Dead|Win32.Build.0 = Release - Left 4 Dead|Win32
|
{E39527CD-7CAB-4420-97CC-DA1B93B260BC}.Release - Left 4 Dead|Win32.Build.0 = Release - Left 4 Dead|Win32
|
||||||
{E39527CD-7CAB-4420-97CC-DA1B93B260BC}.Release - Old Metamod|Win32.ActiveCfg = Release - Old Metamod|Win32
|
{E39527CD-7CAB-4420-97CC-DA1B93B260BC}.Release - Old Metamod|Win32.ActiveCfg = Release - Old Metamod|Win32
|
||||||
|
@ -1504,6 +1504,254 @@
|
|||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="CrazyDebug - Left 4 Dead 2|Win32"
|
||||||
|
OutputDirectory="$(SolutionDir)$(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_EPISODEONE=1 /D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_ORANGEBOXVALVE=4 /D SE_LEFT4DEAD=5 /D SE_LEFT4DEAD2=6"
|
||||||
|
Optimization="0"
|
||||||
|
AdditionalIncludeDirectories="..\;..\systems;..\..\public;..\..\public\sourcepawn;"$(HL2SDKL4D2)\public";"$(HL2SDKL4D2)\public\engine";"$(HL2SDKL4D2)\public\game\server";"$(HL2SDKL4D2)\public\mathlib";"$(HL2SDKL4D2)\public\tier0";"$(HL2SDKL4D2)\public\tier1";"$(HL2SDKL4D2)\public\vstdlib";"$(MMSOURCE18)\core";"$(MMSOURCE18)\core\sourcehook""
|
||||||
|
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SOURCEMOD_MM_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;SOURCEMOD_BUILD;SM_DEFAULT_THREADER;SOURCE_ENGINE=6"
|
||||||
|
MinimalRebuild="true"
|
||||||
|
BasicRuntimeChecks="3"
|
||||||
|
RuntimeLibrary="1"
|
||||||
|
EnableEnhancedInstructionSet="0"
|
||||||
|
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=""$(HL2SDKL4D2)\lib\public\tier0.lib" "$(HL2SDKL4D2)\lib\public\tier1.lib" "$(HL2SDKL4D2)\lib\public\vstdlib.lib" "$(HL2SDKL4D2)\lib\public\mathlib.lib" dbghelp.lib "Wsock32.lib""
|
||||||
|
OutputFile="$(OutDir)\sourcemod.2.l4d2.dll"
|
||||||
|
LinkIncremental="2"
|
||||||
|
IgnoreDefaultLibraryNames="LIBC;LIBCD;LIBCMT"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="2"
|
||||||
|
RandomizedBaseAddress="1"
|
||||||
|
DataExecutionPrevention="0"
|
||||||
|
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 2|Win32"
|
||||||
|
OutputDirectory="$(SolutionDir)$(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_EPISODEONE=1 /D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_ORANGEBOXVALVE=4 /D SE_LEFT4DEAD=5 /D SE_LEFT4DEAD2=6"
|
||||||
|
Optimization="0"
|
||||||
|
AdditionalIncludeDirectories="..\;..\systems;..\..\public;..\..\public\sourcepawn;"$(HL2SDKL4D2)\public";"$(HL2SDKL4D2)\public\engine";"$(HL2SDKL4D2)\public\game\server";"$(HL2SDKL4D2)\public\mathlib";"$(HL2SDKL4D2)\public\tier0";"$(HL2SDKL4D2)\public\tier1";"$(HL2SDKL4D2)\public\vstdlib";"$(MMSOURCE18)\core";"$(MMSOURCE18)\core\sourcehook""
|
||||||
|
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SOURCEMOD_MM_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;SOURCEMOD_BUILD;SM_DEFAULT_THREADER;SOURCE_ENGINE=6"
|
||||||
|
MinimalRebuild="true"
|
||||||
|
BasicRuntimeChecks="3"
|
||||||
|
RuntimeLibrary="1"
|
||||||
|
EnableEnhancedInstructionSet="0"
|
||||||
|
RuntimeTypeInfo="false"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
WarningLevel="3"
|
||||||
|
Detect64BitPortabilityProblems="false"
|
||||||
|
DebugInformationFormat="4"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
PreprocessorDefinitions="BINARY_NAME=\"$(TargetFileName)\""
|
||||||
|
AdditionalIncludeDirectories="..\..\public"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies=""$(HL2SDKL4D2)\lib\public\tier0.lib" "$(HL2SDKL4D2)\lib\public\tier1.lib" "$(HL2SDKL4D2)\lib\public\vstdlib.lib" "$(HL2SDKL4D2)\lib\public\mathlib.lib" "Wsock32.lib""
|
||||||
|
OutputFile="$(OutDir)\sourcemod.2.l4d2.dll"
|
||||||
|
LinkIncremental="2"
|
||||||
|
IgnoreDefaultLibraryNames="LIBC;LIBCD;LIBCMT"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="2"
|
||||||
|
RandomizedBaseAddress="1"
|
||||||
|
DataExecutionPrevention="0"
|
||||||
|
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 - Left 4 Dead 2|Win32"
|
||||||
|
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="$(ConfigurationName)"
|
||||||
|
ConfigurationType="2"
|
||||||
|
CharacterSet="2"
|
||||||
|
WholeProgramOptimization="1"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
AdditionalOptions="/MP /D SE_EPISODEONE=1 /D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_ORANGEBOXVALVE=4 /D SE_LEFT4DEAD=5 /D SE_LEFT4DEAD2=6"
|
||||||
|
FavorSizeOrSpeed="1"
|
||||||
|
AdditionalIncludeDirectories="..\;..\systems;..\..\public;..\..\public\sourcepawn;"$(HL2SDKL4D2)\public";"$(HL2SDKL4D2)\public\engine";"$(HL2SDKL4D2)\public\game\server";"$(HL2SDKL4D2)\public\mathlib";"$(HL2SDKL4D2)\public\tier0";"$(HL2SDKL4D2)\public\tier1";"$(HL2SDKL4D2)\public\vstdlib";"$(MMSOURCE18)\core";"$(MMSOURCE18)\core\sourcehook""
|
||||||
|
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SOURCEMOD_MM_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;SOURCEMOD_BUILD;SM_DEFAULT_THREADER;SOURCE_ENGINE=6"
|
||||||
|
RuntimeLibrary="0"
|
||||||
|
EnableEnhancedInstructionSet="0"
|
||||||
|
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=""$(HL2SDKL4D2)\lib\public\tier0.lib" "$(HL2SDKL4D2)\lib\public\tier1.lib" "$(HL2SDKL4D2)\lib\public\vstdlib.lib" "$(HL2SDKL4D2)\lib\public\mathlib.lib" "Wsock32.lib""
|
||||||
|
OutputFile="$(OutDir)\sourcemod.2.l4d2.dll"
|
||||||
|
LinkIncremental="1"
|
||||||
|
IgnoreDefaultLibraryNames="LIBC;LIBCD;LIBCMTD"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="2"
|
||||||
|
OptimizeReferences="2"
|
||||||
|
EnableCOMDATFolding="2"
|
||||||
|
RandomizedBaseAddress="1"
|
||||||
|
DataExecutionPrevention="0"
|
||||||
|
TargetMachine="1"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManifestTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCAppVerifierTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
</Configurations>
|
</Configurations>
|
||||||
<References>
|
<References>
|
||||||
</References>
|
</References>
|
||||||
@ -1648,6 +1896,22 @@
|
|||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Debug - Left 4 Dead 2|Win32"
|
||||||
|
ExcludedFromBuild="true"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Release - Left 4 Dead 2|Win32"
|
||||||
|
ExcludedFromBuild="true"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\Database.cpp"
|
RelativePath="..\Database.cpp"
|
||||||
|
@ -46,7 +46,7 @@
|
|||||||
#include "Logger.h"
|
#include "Logger.h"
|
||||||
#include "ConsoleDetours.h"
|
#include "ConsoleDetours.h"
|
||||||
|
|
||||||
#if SOURCE_ENGINE == SE_LEFT4DEAD
|
#if (SOURCE_ENGINE == SE_LEFT4DEAD) || (SOURCE_ENGINE == SE_LEFT4DEAD2)
|
||||||
#define NET_SETCONVAR 6
|
#define NET_SETCONVAR 6
|
||||||
#else
|
#else
|
||||||
#define NET_SETCONVAR 5
|
#define NET_SETCONVAR 5
|
||||||
@ -69,7 +69,7 @@ struct GlobCmdIter
|
|||||||
|
|
||||||
struct ConCmdIter
|
struct ConCmdIter
|
||||||
{
|
{
|
||||||
#if SOURCE_ENGINE == SE_LEFT4DEAD
|
#if (SOURCE_ENGINE == SE_LEFT4DEAD) || (SOURCE_ENGINE == SE_LEFT4DEAD2)
|
||||||
ICvarIteratorInternal *pLast;
|
ICvarIteratorInternal *pLast;
|
||||||
#else
|
#else
|
||||||
const ConCommandBase *pLast;
|
const ConCommandBase *pLast;
|
||||||
@ -103,7 +103,7 @@ public:
|
|||||||
else if (type == htConCmdIter)
|
else if (type == htConCmdIter)
|
||||||
{
|
{
|
||||||
ConCmdIter *iter = (ConCmdIter * )object;
|
ConCmdIter *iter = (ConCmdIter * )object;
|
||||||
#if SOURCE_ENGINE == SE_LEFT4DEAD
|
#if (SOURCE_ENGINE == SE_LEFT4DEAD) || (SOURCE_ENGINE == SE_LEFT4DEAD2)
|
||||||
// ICvarIteratorInternal has no virtual destructor
|
// ICvarIteratorInternal has no virtual destructor
|
||||||
g_pMemAlloc->Free(iter->pLast);
|
g_pMemAlloc->Free(iter->pLast);
|
||||||
#endif
|
#endif
|
||||||
@ -1183,7 +1183,7 @@ static cell_t FindFirstConCommand(IPluginContext *pContext, const cell_t *params
|
|||||||
pContext->LocalToPhysAddr(params[3], &pIsCmd);
|
pContext->LocalToPhysAddr(params[3], &pIsCmd);
|
||||||
pContext->LocalToPhysAddr(params[4], &pFlags);
|
pContext->LocalToPhysAddr(params[4], &pFlags);
|
||||||
|
|
||||||
#if SOURCE_ENGINE == SE_LEFT4DEAD
|
#if (SOURCE_ENGINE == SE_LEFT4DEAD) || (SOURCE_ENGINE == SE_LEFT4DEAD2)
|
||||||
ICvarIteratorInternal *cvarIter = icvar->FactoryInternalIterator();
|
ICvarIteratorInternal *cvarIter = icvar->FactoryInternalIterator();
|
||||||
cvarIter->SetFirst();
|
cvarIter->SetFirst();
|
||||||
if (!cvarIter->IsValid())
|
if (!cvarIter->IsValid())
|
||||||
@ -1210,7 +1210,7 @@ static cell_t FindFirstConCommand(IPluginContext *pContext, const cell_t *params
|
|||||||
}
|
}
|
||||||
|
|
||||||
pIter = new ConCmdIter;
|
pIter = new ConCmdIter;
|
||||||
#if SOURCE_ENGINE == SE_LEFT4DEAD
|
#if (SOURCE_ENGINE == SE_LEFT4DEAD) || (SOURCE_ENGINE == SE_LEFT4DEAD2)
|
||||||
pIter->pLast = cvarIter;
|
pIter->pLast = cvarIter;
|
||||||
#else
|
#else
|
||||||
pIter->pLast = pConCmd;
|
pIter->pLast = pConCmd;
|
||||||
@ -1245,7 +1245,7 @@ static cell_t FindNextConCommand(IPluginContext *pContext, const cell_t *params)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if SOURCE_ENGINE == SE_LEFT4DEAD
|
#if (SOURCE_ENGINE == SE_LEFT4DEAD) || (SOURCE_ENGINE == SE_LEFT4DEAD2)
|
||||||
ICvarIteratorInternal *cvarIter = pIter->pLast;
|
ICvarIteratorInternal *cvarIter = pIter->pLast;
|
||||||
cvarIter->Next();
|
cvarIter->Next();
|
||||||
if (!cvarIter->IsValid())
|
if (!cvarIter->IsValid())
|
||||||
|
@ -73,7 +73,12 @@ static cell_t IsDedicatedServer(IPluginContext *pContext, const cell_t *params)
|
|||||||
|
|
||||||
static cell_t GetEngineTime(IPluginContext *pContext, const cell_t *params)
|
static cell_t GetEngineTime(IPluginContext *pContext, const cell_t *params)
|
||||||
{
|
{
|
||||||
|
#if SOURCE_ENGINE == SE_LEFT4DEAD2
|
||||||
|
float fTime = Plat_FloatTime();
|
||||||
|
#else
|
||||||
float fTime = engine->Time();
|
float fTime = engine->Time();
|
||||||
|
#endif
|
||||||
|
|
||||||
return sp_ftoc(fTime);
|
return sp_ftoc(fTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -456,6 +461,8 @@ static cell_t GuessSDKVersion(IPluginContext *pContext, const cell_t *params)
|
|||||||
return 30;
|
return 30;
|
||||||
case SOURCE_ENGINE_LEFT4DEAD:
|
case SOURCE_ENGINE_LEFT4DEAD:
|
||||||
return 40;
|
return 40;
|
||||||
|
case SOURCE_ENGINE_LEFT4DEAD2:
|
||||||
|
return 50;
|
||||||
# endif
|
# endif
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
|
@ -32,7 +32,7 @@
|
|||||||
#ifndef _INCLUDE_SOURCEMOD_MM_API_H_
|
#ifndef _INCLUDE_SOURCEMOD_MM_API_H_
|
||||||
#define _INCLUDE_SOURCEMOD_MM_API_H_
|
#define _INCLUDE_SOURCEMOD_MM_API_H_
|
||||||
|
|
||||||
#if SOURCE_ENGINE == SE_LEFT4DEAD
|
#if (SOURCE_ENGINE == SE_LEFT4DEAD) || (SOURCE_ENGINE == SE_LEFT4DEAD2)
|
||||||
#include "convar_sm_l4d.h"
|
#include "convar_sm_l4d.h"
|
||||||
#elif (SOURCE_ENGINE == SE_ORANGEBOX) || (SOURCE_ENGINE == SE_ORANGEBOXVALVE)
|
#elif (SOURCE_ENGINE == SE_ORANGEBOX) || (SOURCE_ENGINE == SE_ORANGEBOXVALVE)
|
||||||
#include "convar_sm_ob.h"
|
#include "convar_sm_ob.h"
|
||||||
|
@ -7,7 +7,8 @@ HL2SDK_ORIG = ../../../hl2sdk
|
|||||||
HL2SDK_OB = ../../../hl2sdk-ob
|
HL2SDK_OB = ../../../hl2sdk-ob
|
||||||
HL2SDK_OB_VALVE = ../../../hl2sdk-ob-valve
|
HL2SDK_OB_VALVE = ../../../hl2sdk-ob-valve
|
||||||
HL2SDK_L4D = ../../../hl2sdk-l4d
|
HL2SDK_L4D = ../../../hl2sdk-l4d
|
||||||
MMSOURCE17 = ../../../mmsource-1.7
|
HL2SDK_L4D2 = ../../../hl2sdk-l4d2
|
||||||
|
MMSOURCE17 = ../../../mmsource-central
|
||||||
|
|
||||||
#####################################
|
#####################################
|
||||||
### EDIT BELOW FOR OTHER PROJECTS ###
|
### EDIT BELOW FOR OTHER PROJECTS ###
|
||||||
@ -79,16 +80,33 @@ ifeq "$(ENGINE)" "left4dead"
|
|||||||
USEMETA = true
|
USEMETA = true
|
||||||
CFLAGS += -DHOOKING_ENABLED
|
CFLAGS += -DHOOKING_ENABLED
|
||||||
endif
|
endif
|
||||||
|
ifeq "$(ENGINE)" "left4dead2"
|
||||||
|
HL2SDK = $(HL2SDK_L4D2)
|
||||||
|
HL2PUB = $(HL2SDK)/public
|
||||||
|
HL2LIB = $(HL2SDK)/lib/linux
|
||||||
|
CFLAGS += -DSOURCE_ENGINE=6
|
||||||
|
METAMOD = $(MMSOURCE17)/core
|
||||||
|
INCLUDE += -I$(HL2SDK)/public/game/server
|
||||||
|
SRCDS = $(SRCDS_BASE)/left4dead2_demo
|
||||||
|
GAMEFIX = 2.l4d2
|
||||||
|
override ENGSET = true
|
||||||
|
USEMETA = true
|
||||||
|
CFLAGS += -DHOOKING_ENABLED
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq "$(USEMETA)" "true"
|
ifeq "$(USEMETA)" "true"
|
||||||
|
ifeq "$(ENGINE)" "left4dead2"
|
||||||
|
LINK_HL2 = $(HL2LIB)/tier1_i486.a vstdlib_linux.so tier0_linux.so
|
||||||
|
else
|
||||||
LINK_HL2 = $(HL2LIB)/tier1_i486.a vstdlib_i486.so tier0_i486.so
|
LINK_HL2 = $(HL2LIB)/tier1_i486.a vstdlib_i486.so tier0_i486.so
|
||||||
|
endif
|
||||||
|
|
||||||
LINK += $(LINK_HL2)
|
LINK += $(LINK_HL2)
|
||||||
|
|
||||||
INCLUDE += -I. -I.. -Isdk -I$(HL2PUB) -I$(HL2PUB)/engine -I$(HL2PUB)/tier0 -I$(HL2PUB)/tier1 \
|
INCLUDE += -I. -I.. -Isdk -I$(HL2PUB) -I$(HL2PUB)/engine -I$(HL2PUB)/tier0 -I$(HL2PUB)/tier1 \
|
||||||
-I$(METAMOD) -I$(METAMOD)/sourcehook -I$(SMSDK)/public -I$(SMSDK)/public/sourcepawn \
|
-I$(METAMOD) -I$(METAMOD)/sourcehook -I$(SMSDK)/public -I$(SMSDK)/public/sourcepawn \
|
||||||
-I$(SMSDK)/public/extensions -I$(SMSDK)/public/jit -I$(SMSDK)/public/jit/x86
|
-I$(SMSDK)/public/extensions -I$(SMSDK)/public/jit -I$(SMSDK)/public/jit/x86
|
||||||
CFLAGS += -DSE_EPISODEONE=1 -DSE_DARKMESSIAH=2 -DSE_ORANGEBOX=3 -DSE_ORANGEBOXVALVE=4 -DSE_LEFT4DEAD=5
|
CFLAGS += -DSE_EPISODEONE=1 -DSE_DARKMESSIAH=2 -DSE_ORANGEBOX=3 -DSE_ORANGEBOXVALVE=4 -DSE_LEFT4DEAD=5 -DSE_LEFT4DEAD2=6
|
||||||
else
|
else
|
||||||
INCLUDE += -I. -I.. -Isdk -I$(SMSDK)/public -I$(SMSDK)/public/extensions -I$(SMSDK)/public/jit \
|
INCLUDE += -I. -I.. -Isdk -I$(SMSDK)/public -I$(SMSDK)/public/extensions -I$(SMSDK)/public/jit \
|
||||||
-I$(SMSDK)/public/jit/x86 -I$(SMSDK)/public/sourcepawn
|
-I$(SMSDK)/public/jit/x86 -I$(SMSDK)/public/sourcepawn
|
||||||
@ -142,8 +160,13 @@ $(BIN_DIR)/%.o: %.cpp
|
|||||||
all: check
|
all: check
|
||||||
mkdir -p $(BIN_DIR)/sdk
|
mkdir -p $(BIN_DIR)/sdk
|
||||||
if [ "$(USEMETA)" = "true" ]; then \
|
if [ "$(USEMETA)" = "true" ]; then \
|
||||||
|
if [ "$(ENGINE)" = "left4dead2" ]; then \
|
||||||
|
ln -sf $(SRCDS)/bin/vstdlib_linux.so vstdlib_linux.so; \
|
||||||
|
ln -sf $(SRCDS)/bin/tier0_linux.so tier0_linux.so; \
|
||||||
|
else \
|
||||||
ln -sf $(SRCDS)/bin/vstdlib_i486.so vstdlib_i486.so; \
|
ln -sf $(SRCDS)/bin/vstdlib_i486.so vstdlib_i486.so; \
|
||||||
ln -sf $(SRCDS)/bin/tier0_i486.so tier0_i486.so; \
|
ln -sf $(SRCDS)/bin/tier0_i486.so tier0_i486.so; \
|
||||||
|
fi \
|
||||||
fi
|
fi
|
||||||
$(MAKE) -f Makefile extension
|
$(MAKE) -f Makefile extension
|
||||||
|
|
||||||
|
@ -7,12 +7,14 @@ Global
|
|||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug - Dark Messiah|Win32 = Debug - Dark Messiah|Win32
|
Debug - Dark Messiah|Win32 = Debug - Dark Messiah|Win32
|
||||||
Debug - Episode 1|Win32 = Debug - Episode 1|Win32
|
Debug - Episode 1|Win32 = Debug - Episode 1|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 - Old Metamod|Win32 = Debug - Old Metamod|Win32
|
Debug - Old Metamod|Win32 = Debug - Old Metamod|Win32
|
||||||
Debug - Orange Box Valve|Win32 = Debug - Orange Box Valve|Win32
|
Debug - Orange Box Valve|Win32 = Debug - Orange Box Valve|Win32
|
||||||
Debug - Orange Box|Win32 = Debug - Orange Box|Win32
|
Debug - Orange Box|Win32 = Debug - Orange Box|Win32
|
||||||
Release - Dark Messiah|Win32 = Release - Dark Messiah|Win32
|
Release - Dark Messiah|Win32 = Release - Dark Messiah|Win32
|
||||||
Release - Episode 1|Win32 = Release - Episode 1|Win32
|
Release - Episode 1|Win32 = Release - Episode 1|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 - Old Metamod|Win32 = Release - Old Metamod|Win32
|
Release - Old Metamod|Win32 = Release - Old Metamod|Win32
|
||||||
Release - Orange Box Valve|Win32 = Release - Orange Box Valve|Win32
|
Release - Orange Box Valve|Win32 = Release - Orange Box Valve|Win32
|
||||||
@ -23,6 +25,8 @@ Global
|
|||||||
{E38F65D9-74B2-4373-B46A-DBB76F579F98}.Debug - Dark Messiah|Win32.Build.0 = Debug - Dark Messiah|Win32
|
{E38F65D9-74B2-4373-B46A-DBB76F579F98}.Debug - Dark Messiah|Win32.Build.0 = Debug - Dark Messiah|Win32
|
||||||
{E38F65D9-74B2-4373-B46A-DBB76F579F98}.Debug - Episode 1|Win32.ActiveCfg = Debug - Episode 1|Win32
|
{E38F65D9-74B2-4373-B46A-DBB76F579F98}.Debug - Episode 1|Win32.ActiveCfg = Debug - Episode 1|Win32
|
||||||
{E38F65D9-74B2-4373-B46A-DBB76F579F98}.Debug - Episode 1|Win32.Build.0 = Debug - Episode 1|Win32
|
{E38F65D9-74B2-4373-B46A-DBB76F579F98}.Debug - Episode 1|Win32.Build.0 = Debug - Episode 1|Win32
|
||||||
|
{E38F65D9-74B2-4373-B46A-DBB76F579F98}.Debug - Left 4 Dead 2|Win32.ActiveCfg = Debug - Left 4 Dead 2|Win32
|
||||||
|
{E38F65D9-74B2-4373-B46A-DBB76F579F98}.Debug - Left 4 Dead 2|Win32.Build.0 = Debug - Left 4 Dead 2|Win32
|
||||||
{E38F65D9-74B2-4373-B46A-DBB76F579F98}.Debug - Left 4 Dead|Win32.ActiveCfg = Debug - Left 4 Dead|Win32
|
{E38F65D9-74B2-4373-B46A-DBB76F579F98}.Debug - Left 4 Dead|Win32.ActiveCfg = Debug - Left 4 Dead|Win32
|
||||||
{E38F65D9-74B2-4373-B46A-DBB76F579F98}.Debug - Left 4 Dead|Win32.Build.0 = Debug - Left 4 Dead|Win32
|
{E38F65D9-74B2-4373-B46A-DBB76F579F98}.Debug - Left 4 Dead|Win32.Build.0 = Debug - Left 4 Dead|Win32
|
||||||
{E38F65D9-74B2-4373-B46A-DBB76F579F98}.Debug - Old Metamod|Win32.ActiveCfg = Debug - Old Metamod|Win32
|
{E38F65D9-74B2-4373-B46A-DBB76F579F98}.Debug - Old Metamod|Win32.ActiveCfg = Debug - Old Metamod|Win32
|
||||||
@ -35,6 +39,8 @@ Global
|
|||||||
{E38F65D9-74B2-4373-B46A-DBB76F579F98}.Release - Dark Messiah|Win32.Build.0 = Release - Dark Messiah|Win32
|
{E38F65D9-74B2-4373-B46A-DBB76F579F98}.Release - Dark Messiah|Win32.Build.0 = Release - Dark Messiah|Win32
|
||||||
{E38F65D9-74B2-4373-B46A-DBB76F579F98}.Release - Episode 1|Win32.ActiveCfg = Release - Episode 1|Win32
|
{E38F65D9-74B2-4373-B46A-DBB76F579F98}.Release - Episode 1|Win32.ActiveCfg = Release - Episode 1|Win32
|
||||||
{E38F65D9-74B2-4373-B46A-DBB76F579F98}.Release - Episode 1|Win32.Build.0 = Release - Episode 1|Win32
|
{E38F65D9-74B2-4373-B46A-DBB76F579F98}.Release - Episode 1|Win32.Build.0 = Release - Episode 1|Win32
|
||||||
|
{E38F65D9-74B2-4373-B46A-DBB76F579F98}.Release - Left 4 Dead 2|Win32.ActiveCfg = Release - Left 4 Dead 2|Win32
|
||||||
|
{E38F65D9-74B2-4373-B46A-DBB76F579F98}.Release - Left 4 Dead 2|Win32.Build.0 = Release - Left 4 Dead 2|Win32
|
||||||
{E38F65D9-74B2-4373-B46A-DBB76F579F98}.Release - Left 4 Dead|Win32.ActiveCfg = Release - Left 4 Dead|Win32
|
{E38F65D9-74B2-4373-B46A-DBB76F579F98}.Release - Left 4 Dead|Win32.ActiveCfg = Release - Left 4 Dead|Win32
|
||||||
{E38F65D9-74B2-4373-B46A-DBB76F579F98}.Release - Left 4 Dead|Win32.Build.0 = Release - Left 4 Dead|Win32
|
{E38F65D9-74B2-4373-B46A-DBB76F579F98}.Release - Left 4 Dead|Win32.Build.0 = Release - Left 4 Dead|Win32
|
||||||
{E38F65D9-74B2-4373-B46A-DBB76F579F98}.Release - Old Metamod|Win32.ActiveCfg = Release - Old Metamod|Win32
|
{E38F65D9-74B2-4373-B46A-DBB76F579F98}.Release - Old Metamod|Win32.ActiveCfg = Release - Old Metamod|Win32
|
||||||
|
@ -974,6 +974,164 @@
|
|||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Debug - Left 4 Dead 2|Win32"
|
||||||
|
OutputDirectory="$(SolutionDir)$(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_EPISODEONE=2 /D SE_ORANGEBOX=3 /D SE_ORANGEBOXVALVE=4 /D SE_LEFT4DEAD=5 /D SE_LEFT4DEAD2=6"
|
||||||
|
AdditionalIncludeDirectories="..;..\sdk;..\..\..\public;..\..\..\public\jit;..\..\..\public\jit\x86;..\..\..\public\extensions;..\..\..\public\sourcepawn;"$(MMSOURCE18)\core";"$(MMSOURCE18)\core\sourcehook";"$(HL2SDKL4D2)\public";"$(HL2SDKL4D2)\public\tier0";"$(HL2SDKL4D2)\public\tier1""
|
||||||
|
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;BINTOOLS_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD;HOOKING_ENABLED;SOURCE_ENGINE=6"
|
||||||
|
MinimalRebuild="true"
|
||||||
|
BasicRuntimeChecks="3"
|
||||||
|
RuntimeLibrary="1"
|
||||||
|
EnableEnhancedInstructionSet="0"
|
||||||
|
WarningLevel="3"
|
||||||
|
DebugInformationFormat="4"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
PreprocessorDefinitions="BINARY_NAME=\"$(TargetFileName)\""
|
||||||
|
AdditionalIncludeDirectories="..\..\..\public"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies=""$(HL2SDKL4D2)\lib\public\tier0.lib" "$(HL2SDKL4D2)\lib\public\tier1.lib" "$(HL2SDKL4D2)\lib\public\vstdlib.lib" "$(HL2SDKL4D2)\lib\public\mathlib.lib""
|
||||||
|
OutputFile="$(OutDir)\bintools.ext.2.l4d2.dll"
|
||||||
|
LinkIncremental="2"
|
||||||
|
IgnoreDefaultLibraryNames="LIBC;LIBCD;LIBCMT"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
/>
|
||||||
|
<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 - Left 4 Dead 2|Win32"
|
||||||
|
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="$(ConfigurationName)"
|
||||||
|
ConfigurationType="2"
|
||||||
|
CharacterSet="2"
|
||||||
|
WholeProgramOptimization="1"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
AdditionalOptions="/D SE_EPISODEONE=2 /D SE_ORANGEBOX=3 /D SE_ORANGEBOXVALVE=4 /D SE_LEFT4DEAD=5 /D SE_LEFT4DEAD2=6"
|
||||||
|
FavorSizeOrSpeed="1"
|
||||||
|
AdditionalIncludeDirectories="..;..\sdk;..\..\..\public;..\..\..\public\jit;..\..\..\public\jit\x86;..\..\..\public\extensions;..\..\..\public\sourcepawn;"$(MMSOURCE18)\core";"$(MMSOURCE18)\core\sourcehook";"$(HL2SDKL4D2)\public";"$(HL2SDKL4D2)\public\tier0";"$(HL2SDKL4D2)\public\tier1""
|
||||||
|
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;BINTOOLS_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD;HOOKING_ENABLED;SOURCE_ENGINE=6"
|
||||||
|
RuntimeLibrary="0"
|
||||||
|
EnableEnhancedInstructionSet="0"
|
||||||
|
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=""$(HL2SDKL4D2)\lib\public\tier0.lib" "$(HL2SDKL4D2)\lib\public\tier1.lib" "$(HL2SDKL4D2)\lib\public\vstdlib.lib" "$(HL2SDKL4D2)\lib\public\mathlib.lib""
|
||||||
|
OutputFile="$(OutDir)\bintools.ext.2.l4d2.dll"
|
||||||
|
LinkIncremental="1"
|
||||||
|
IgnoreDefaultLibraryNames="LIBC;LIBCD;LIBCMTD"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="2"
|
||||||
|
OptimizeReferences="2"
|
||||||
|
EnableCOMDATFolding="2"
|
||||||
|
RandomizedBaseAddress="1"
|
||||||
|
DataExecutionPrevention="0"
|
||||||
|
TargetMachine="1"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManifestTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCAppVerifierTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
</Configurations>
|
</Configurations>
|
||||||
<References>
|
<References>
|
||||||
</References>
|
</References>
|
||||||
|
@ -7,7 +7,8 @@ HL2SDK_ORIG = ../../../hl2sdk
|
|||||||
HL2SDK_OB = ../../../hl2sdk-ob
|
HL2SDK_OB = ../../../hl2sdk-ob
|
||||||
HL2SDK_OB_VALVE = ../../../hl2sdk-ob-valve
|
HL2SDK_OB_VALVE = ../../../hl2sdk-ob-valve
|
||||||
HL2SDK_L4D = ../../../hl2sdk-l4d
|
HL2SDK_L4D = ../../../hl2sdk-l4d
|
||||||
MMSOURCE17 = ../../../mmsource-1.7
|
HL2SDK_L4D2 = ../../../hl2sdk-l4d2
|
||||||
|
MMSOURCE17 = ../../../mmsource-central
|
||||||
|
|
||||||
#####################################
|
#####################################
|
||||||
### EDIT BELOW FOR OTHER PROJECTS ###
|
### EDIT BELOW FOR OTHER PROJECTS ###
|
||||||
@ -78,19 +79,30 @@ ifeq "$(ENGINE)" "left4dead"
|
|||||||
GAMEFIX = 2.l4d
|
GAMEFIX = 2.l4d
|
||||||
override ENGSET = true
|
override ENGSET = true
|
||||||
endif
|
endif
|
||||||
|
ifeq "$(ENGINE)" "left4dead2"
|
||||||
|
HL2SDK = $(HL2SDK_L4D2)
|
||||||
|
HL2PUB = $(HL2SDK)/public
|
||||||
|
HL2LIB = $(HL2SDK)/lib/linux
|
||||||
|
CFLAGS += -DSOURCE_ENGINE=6
|
||||||
|
METAMOD = $(MMSOURCE17)/core
|
||||||
|
INCLUDE += -I$(HL2SDK)/public/game/server -I$(HL2SDK)/common -I$(HL2SDK)/game/shared
|
||||||
|
SRCDS = $(SRCDS_BASE)/left4dead2_demo
|
||||||
|
GAMEFIX = 2.l4d2
|
||||||
|
override ENGSET = true
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq "$(USEMETA)" "true"
|
ifeq "$(ENGINE)" "left4dead2"
|
||||||
|
LINK_HL2 = $(HL2LIB)/tier1_i486.a $(HL2LIB)/mathlib_i486.a vstdlib_linux.so tier0_linux.so
|
||||||
|
else
|
||||||
LINK_HL2 = $(HL2LIB)/tier1_i486.a $(HL2LIB)/mathlib_i486.a vstdlib_i486.so tier0_i486.so
|
LINK_HL2 = $(HL2LIB)/tier1_i486.a $(HL2LIB)/mathlib_i486.a vstdlib_i486.so tier0_i486.so
|
||||||
|
endif
|
||||||
|
|
||||||
LINK += $(LINK_HL2)
|
LINK += $(LINK_HL2)
|
||||||
|
|
||||||
INCLUDE += -I. -I.. -Isdk -I$(HL2PUB) -I$(HL2PUB)/engine -I$(HL2PUB)/mathlib -I$(HL2PUB)/tier0 \
|
INCLUDE += -I. -I.. -Isdk -I$(HL2PUB) -I$(HL2PUB)/engine -I$(HL2PUB)/mathlib -I$(HL2PUB)/tier0 \
|
||||||
-I$(HL2PUB)/tier1 -I$(METAMOD) -I$(METAMOD)/sourcehook -I$(SMSDK)/public -I$(SMSDK)/public/extensions \
|
-I$(HL2PUB)/tier1 -I$(METAMOD) -I$(METAMOD)/sourcehook -I$(SMSDK)/public -I$(SMSDK)/public/extensions \
|
||||||
-I$(SMSDK)/public/sourcepawn
|
-I$(SMSDK)/public/sourcepawn
|
||||||
CFLAGS += -DSE_EPISODEONE=1 -DSE_DARKMESSIAH=2 -DSE_ORANGEBOX=3 -DSE_ORANGEBOXVALVE=4 -DSE_LEFT4DEAD=5
|
CFLAGS += -DSE_EPISODEONE=1 -DSE_DARKMESSIAH=2 -DSE_ORANGEBOX=3 -DSE_ORANGEBOXVALVE=4 -DSE_LEFT4DEAD=5 -DSE_LEFT4DEAD2=6
|
||||||
else
|
|
||||||
INCLUDE += -I. -I.. -Isdk -I$(SMSDK)/public -I$(SMSDK)/public/sourcepawn
|
|
||||||
endif
|
|
||||||
|
|
||||||
LINK += -m32 -ldl -lm
|
LINK += -m32 -ldl -lm
|
||||||
|
|
||||||
@ -137,10 +149,13 @@ $(BIN_DIR)/%.o: %.cpp
|
|||||||
|
|
||||||
all: check
|
all: check
|
||||||
mkdir -p $(BIN_DIR)/sdk
|
mkdir -p $(BIN_DIR)/sdk
|
||||||
if [ "$(USEMETA)" = "true" ]; then \
|
ifeq "$(ENGINE)" "left4dead2"
|
||||||
ln -sf $(SRCDS)/bin/vstdlib_i486.so vstdlib_i486.so; \
|
ln -sf $(SRCDS)/bin/vstdlib_linux.so vstdlib_linux.so;
|
||||||
ln -sf $(SRCDS)/bin/tier0_i486.so tier0_i486.so; \
|
ln -sf $(SRCDS)/bin/tier0_linux.so tier0_linux.so;
|
||||||
fi
|
else
|
||||||
|
ln -sf $(SRCDS)/bin/vstdlib_i486.so vstdlib_i486.so;
|
||||||
|
ln -sf $(SRCDS)/bin/tier0_i486.so tier0_i486.so;
|
||||||
|
endif
|
||||||
$(MAKE) -f Makefile extension
|
$(MAKE) -f Makefile extension
|
||||||
|
|
||||||
check:
|
check:
|
||||||
|
@ -7,12 +7,14 @@ Global
|
|||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug - Dark Messiah|Win32 = Debug - Dark Messiah|Win32
|
Debug - Dark Messiah|Win32 = Debug - Dark Messiah|Win32
|
||||||
Debug - Episode 1|Win32 = Debug - Episode 1|Win32
|
Debug - Episode 1|Win32 = Debug - Episode 1|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 - Old Metamod|Win32 = Debug - Old Metamod|Win32
|
Debug - Old Metamod|Win32 = Debug - Old Metamod|Win32
|
||||||
Debug - Orange Box Valve|Win32 = Debug - Orange Box Valve|Win32
|
Debug - Orange Box Valve|Win32 = Debug - Orange Box Valve|Win32
|
||||||
Debug - Orange Box|Win32 = Debug - Orange Box|Win32
|
Debug - Orange Box|Win32 = Debug - Orange Box|Win32
|
||||||
Release - Dark Messiah|Win32 = Release - Dark Messiah|Win32
|
Release - Dark Messiah|Win32 = Release - Dark Messiah|Win32
|
||||||
Release - Episode 1|Win32 = Release - Episode 1|Win32
|
Release - Episode 1|Win32 = Release - Episode 1|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 - Old Metamod|Win32 = Release - Old Metamod|Win32
|
Release - Old Metamod|Win32 = Release - Old Metamod|Win32
|
||||||
Release - Orange Box Valve|Win32 = Release - Orange Box Valve|Win32
|
Release - Orange Box Valve|Win32 = Release - Orange Box Valve|Win32
|
||||||
@ -23,6 +25,8 @@ Global
|
|||||||
{7A740927-C751-4312-BF9D-6367F8C508F8}.Debug - Dark Messiah|Win32.Build.0 = Debug - Dark Messiah|Win32
|
{7A740927-C751-4312-BF9D-6367F8C508F8}.Debug - Dark Messiah|Win32.Build.0 = Debug - Dark Messiah|Win32
|
||||||
{7A740927-C751-4312-BF9D-6367F8C508F8}.Debug - Episode 1|Win32.ActiveCfg = Debug - Episode 1|Win32
|
{7A740927-C751-4312-BF9D-6367F8C508F8}.Debug - Episode 1|Win32.ActiveCfg = Debug - Episode 1|Win32
|
||||||
{7A740927-C751-4312-BF9D-6367F8C508F8}.Debug - Episode 1|Win32.Build.0 = Debug - Episode 1|Win32
|
{7A740927-C751-4312-BF9D-6367F8C508F8}.Debug - Episode 1|Win32.Build.0 = Debug - Episode 1|Win32
|
||||||
|
{7A740927-C751-4312-BF9D-6367F8C508F8}.Debug - Left 4 Dead 2|Win32.ActiveCfg = Debug - Left 4 Dead 2|Win32
|
||||||
|
{7A740927-C751-4312-BF9D-6367F8C508F8}.Debug - Left 4 Dead 2|Win32.Build.0 = Debug - Left 4 Dead 2|Win32
|
||||||
{7A740927-C751-4312-BF9D-6367F8C508F8}.Debug - Left 4 Dead|Win32.ActiveCfg = Debug - Left 4 Dead|Win32
|
{7A740927-C751-4312-BF9D-6367F8C508F8}.Debug - Left 4 Dead|Win32.ActiveCfg = Debug - Left 4 Dead|Win32
|
||||||
{7A740927-C751-4312-BF9D-6367F8C508F8}.Debug - Left 4 Dead|Win32.Build.0 = Debug - Left 4 Dead|Win32
|
{7A740927-C751-4312-BF9D-6367F8C508F8}.Debug - Left 4 Dead|Win32.Build.0 = Debug - Left 4 Dead|Win32
|
||||||
{7A740927-C751-4312-BF9D-6367F8C508F8}.Debug - Old Metamod|Win32.ActiveCfg = Debug - Old Metamod|Win32
|
{7A740927-C751-4312-BF9D-6367F8C508F8}.Debug - Old Metamod|Win32.ActiveCfg = Debug - Old Metamod|Win32
|
||||||
@ -35,6 +39,8 @@ Global
|
|||||||
{7A740927-C751-4312-BF9D-6367F8C508F8}.Release - Dark Messiah|Win32.Build.0 = Release - Dark Messiah|Win32
|
{7A740927-C751-4312-BF9D-6367F8C508F8}.Release - Dark Messiah|Win32.Build.0 = Release - Dark Messiah|Win32
|
||||||
{7A740927-C751-4312-BF9D-6367F8C508F8}.Release - Episode 1|Win32.ActiveCfg = Release - Episode 1|Win32
|
{7A740927-C751-4312-BF9D-6367F8C508F8}.Release - Episode 1|Win32.ActiveCfg = Release - Episode 1|Win32
|
||||||
{7A740927-C751-4312-BF9D-6367F8C508F8}.Release - Episode 1|Win32.Build.0 = Release - Episode 1|Win32
|
{7A740927-C751-4312-BF9D-6367F8C508F8}.Release - Episode 1|Win32.Build.0 = Release - Episode 1|Win32
|
||||||
|
{7A740927-C751-4312-BF9D-6367F8C508F8}.Release - Left 4 Dead 2|Win32.ActiveCfg = Release - Left 4 Dead 2|Win32
|
||||||
|
{7A740927-C751-4312-BF9D-6367F8C508F8}.Release - Left 4 Dead 2|Win32.Build.0 = Release - Left 4 Dead 2|Win32
|
||||||
{7A740927-C751-4312-BF9D-6367F8C508F8}.Release - Left 4 Dead|Win32.ActiveCfg = Release - Left 4 Dead|Win32
|
{7A740927-C751-4312-BF9D-6367F8C508F8}.Release - Left 4 Dead|Win32.ActiveCfg = Release - Left 4 Dead|Win32
|
||||||
{7A740927-C751-4312-BF9D-6367F8C508F8}.Release - Left 4 Dead|Win32.Build.0 = Release - Left 4 Dead|Win32
|
{7A740927-C751-4312-BF9D-6367F8C508F8}.Release - Left 4 Dead|Win32.Build.0 = Release - Left 4 Dead|Win32
|
||||||
{7A740927-C751-4312-BF9D-6367F8C508F8}.Release - Old Metamod|Win32.ActiveCfg = Release - Old Metamod|Win32
|
{7A740927-C751-4312-BF9D-6367F8C508F8}.Release - Old Metamod|Win32.ActiveCfg = Release - Old Metamod|Win32
|
||||||
|
@ -1008,6 +1008,172 @@
|
|||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Debug - Left 4 Dead 2|Win32"
|
||||||
|
OutputDirectory="$(SolutionDir)$(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_EPISODEONE=1 /D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_ORANGEBOXVALVE=4 /D SE_LEFT4DEAD=5 /D SE_LEFT4DEAD2=6"
|
||||||
|
Optimization="0"
|
||||||
|
AdditionalIncludeDirectories="..;..\sdk;..\..\..\public;..\..\..\public\extensions;..\..\..\public\sourcepawn;"$(HL2SDKL4D2)\common";"$(HL2SDKL4D2)\public";"$(HL2SDKL4D2)\public\engine";"$(HL2SDKL4D2)\public\game\server";"$(HL2SDKL4D2)\public\mathlib";"$(HL2SDKL4D2)\public\tier0";"$(HL2SDKL4D2)\game\shared";"$(HL2SDKL4D2)\public\tier1";"$(MMSOURCE18)\core";"$(MMSOURCE18)\core\sourcehook""
|
||||||
|
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SDK_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD;SOURCE_ENGINE=6"
|
||||||
|
MinimalRebuild="true"
|
||||||
|
BasicRuntimeChecks="3"
|
||||||
|
RuntimeLibrary="1"
|
||||||
|
EnableEnhancedInstructionSet="0"
|
||||||
|
RuntimeTypeInfo="false"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
WarningLevel="3"
|
||||||
|
Detect64BitPortabilityProblems="false"
|
||||||
|
DebugInformationFormat="4"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
PreprocessorDefinitions="BINARY_NAME=\"$(TargetFileName)\""
|
||||||
|
AdditionalIncludeDirectories="..\..\..\public"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies=""$(HL2SDKL4D2)\lib\public\tier0.lib" "$(HL2SDKL4D2)\lib\public\tier1.lib" "$(HL2SDKL4D2)\lib\public\vstdlib.lib" "$(HL2SDKL4D2)\lib\public\mathlib.lib""
|
||||||
|
OutputFile="$(OutDir)\sdktools.ext.2.l4d2.dll"
|
||||||
|
LinkIncremental="2"
|
||||||
|
IgnoreDefaultLibraryNames="LIBC;LIBCD;LIBCMT"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="2"
|
||||||
|
RandomizedBaseAddress="1"
|
||||||
|
DataExecutionPrevention="0"
|
||||||
|
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 - Left 4 Dead 2|Win32"
|
||||||
|
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="$(ConfigurationName)"
|
||||||
|
ConfigurationType="2"
|
||||||
|
CharacterSet="2"
|
||||||
|
WholeProgramOptimization="1"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
AdditionalOptions="/MP /D SE_EPISODEONE=1 /D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_ORANGEBOXVALVE=4 /D SE_LEFT4DEAD=5 /D SE_LEFT4DEAD2=6"
|
||||||
|
FavorSizeOrSpeed="1"
|
||||||
|
AdditionalIncludeDirectories="..;..\sdk;..\..\..\public;..\..\..\public\extensions;..\..\..\public\sourcepawn;"$(HL2SDKL4D2)\common";"$(HL2SDKL4D2)\public";"$(HL2SDKL4D2)\public\engine";"$(HL2SDKL4D2)\public\game\server";"$(HL2SDKL4D2)\public\mathlib";"$(HL2SDKL4D2)\public\tier0";"$(HL2SDKL4D2)\public\tier1";"$(MMSOURCE18)\core";"$(MMSOURCE18)\core\sourcehook""
|
||||||
|
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SDK_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD;SOURCE_ENGINE=6"
|
||||||
|
RuntimeLibrary="0"
|
||||||
|
EnableEnhancedInstructionSet="0"
|
||||||
|
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=""$(HL2SDKL4D2)\lib\public\tier0.lib" "$(HL2SDKL4D2)\lib\public\tier1.lib" "$(HL2SDKL4D2)\lib\public\vstdlib.lib" "$(HL2SDKL4D2)\lib\public\mathlib.lib""
|
||||||
|
OutputFile="$(OutDir)\sdktools.ext.2.l4d2.dll"
|
||||||
|
LinkIncremental="1"
|
||||||
|
IgnoreDefaultLibraryNames="LIBC;LIBCD;LIBCMTD"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="2"
|
||||||
|
OptimizeReferences="2"
|
||||||
|
EnableCOMDATFolding="2"
|
||||||
|
RandomizedBaseAddress="1"
|
||||||
|
DataExecutionPrevention="0"
|
||||||
|
TargetMachine="1"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManifestTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCAppVerifierTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
</Configurations>
|
</Configurations>
|
||||||
<References>
|
<References>
|
||||||
</References>
|
</References>
|
||||||
|
@ -530,7 +530,7 @@ static cell_t smn_TRGetPointContents(IPluginContext *pContext, const cell_t *par
|
|||||||
{
|
{
|
||||||
mask = enginetrace->GetPointContents(pos);
|
mask = enginetrace->GetPointContents(pos);
|
||||||
} else {
|
} else {
|
||||||
#if SOURCE_ENGINE == SE_LEFT4DEAD
|
#if (SOURCE_ENGINE == SE_LEFT4DEAD) || (SOURCE_ENGINE == SE_LEFT4DEAD2)
|
||||||
mask = enginetrace->GetPointContents(pos, 0, &hentity);
|
mask = enginetrace->GetPointContents(pos, 0, &hentity);
|
||||||
#else
|
#else
|
||||||
mask = enginetrace->GetPointContents(pos, &hentity);
|
mask = enginetrace->GetPointContents(pos, &hentity);
|
||||||
|
@ -657,7 +657,7 @@ static cell_t FindEntityByClassname(IPluginContext *pContext, const cell_t *para
|
|||||||
return gamehelpers->EntityToBCompatRef(pEntity);
|
return gamehelpers->EntityToBCompatRef(pEntity);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if SOURCE_ENGINE == SE_LEFT4DEAD
|
#if (SOURCE_ENGINE == SE_LEFT4DEAD) || (SOURCE_ENGINE == SE_LEFT4DEAD2)
|
||||||
static cell_t CreateEntityByName(IPluginContext *pContext, const cell_t *params)
|
static cell_t CreateEntityByName(IPluginContext *pContext, const cell_t *params)
|
||||||
{
|
{
|
||||||
static ValveCall *pCall = NULL;
|
static ValveCall *pCall = NULL;
|
||||||
@ -713,6 +713,34 @@ static cell_t CreateEntityByName(IPluginContext *pContext, const cell_t *params)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if SOURCE_ENGINE == SE_LEFT4DEAD2
|
||||||
|
static cell_t DispatchSpawn(IPluginContext *pContext, const cell_t *params)
|
||||||
|
{
|
||||||
|
static ValveCall *pCall = NULL;
|
||||||
|
if (!pCall)
|
||||||
|
{
|
||||||
|
ValvePassInfo pass[3];
|
||||||
|
InitPass(pass[0], Valve_CBaseEntity, PassType_Basic, PASSFLAG_BYVAL);
|
||||||
|
InitPass(pass[1], Valve_Bool, PassType_Basic, PASSFLAG_BYVAL);
|
||||||
|
InitPass(pass[2], Valve_POD, PassType_Basic, PASSFLAG_BYVAL);
|
||||||
|
if (!CreateBaseCall("DispatchSpawn", ValveCall_Static, &pass[2], pass, 2, &pCall))
|
||||||
|
{
|
||||||
|
return pContext->ThrowNativeError("\"DispatchSpawn\" not supported by this mod");
|
||||||
|
} else if (!pCall) {
|
||||||
|
return pContext->ThrowNativeError("\"DispatchSpawn\" wrapper failed to initialize");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int ret;
|
||||||
|
START_CALL();
|
||||||
|
DECODE_VALVE_PARAM(1, vparams, 0);
|
||||||
|
/* All X-refs to DispatchSpawn I checked use true - Unsure of what it does */
|
||||||
|
*(bool *)(vptr + 4) = true;
|
||||||
|
FINISH_CALL_SIMPLE(&ret);
|
||||||
|
|
||||||
|
return (ret == -1) ? 0 : 1;
|
||||||
|
}
|
||||||
|
#else
|
||||||
static cell_t DispatchSpawn(IPluginContext *pContext, const cell_t *params)
|
static cell_t DispatchSpawn(IPluginContext *pContext, const cell_t *params)
|
||||||
{
|
{
|
||||||
static ValveCall *pCall = NULL;
|
static ValveCall *pCall = NULL;
|
||||||
@ -736,6 +764,7 @@ static cell_t DispatchSpawn(IPluginContext *pContext, const cell_t *params)
|
|||||||
|
|
||||||
return (ret == -1) ? 0 : 1;
|
return (ret == -1) ? 0 : 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static cell_t DispatchKeyValue(IPluginContext *pContext, const cell_t *params)
|
static cell_t DispatchKeyValue(IPluginContext *pContext, const cell_t *params)
|
||||||
{
|
{
|
||||||
|
51
gamedata/core.games/engine.l4d2.txt
Normal file
51
gamedata/core.games/engine.l4d2.txt
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
/**
|
||||||
|
* Do not edit this file. Any changes will be overwritten by the gamedata
|
||||||
|
* updater or by upgrading your SourceMod install.
|
||||||
|
*
|
||||||
|
* To override data in this file, create a subdirectory named "custom" and
|
||||||
|
* place your own gamedata file(s) inside of it. Such files will be parsed
|
||||||
|
* after SM's own.
|
||||||
|
*
|
||||||
|
* For more information, see http://wiki.alliedmods.net/Gamedata_Updating_(SourceMod)
|
||||||
|
*/
|
||||||
|
|
||||||
|
"Games"
|
||||||
|
{
|
||||||
|
/* CGlobalEntityList */
|
||||||
|
"#default"
|
||||||
|
{
|
||||||
|
"#supported"
|
||||||
|
{
|
||||||
|
"game" "left4dead2"
|
||||||
|
}
|
||||||
|
|
||||||
|
"Offsets"
|
||||||
|
{
|
||||||
|
/* Offset into LevelShutdown */
|
||||||
|
"gEntList"
|
||||||
|
{
|
||||||
|
"windows" "11"
|
||||||
|
}
|
||||||
|
|
||||||
|
"EntInfo"
|
||||||
|
{
|
||||||
|
"windows" "4"
|
||||||
|
"linux" "4"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
"Signatures"
|
||||||
|
{
|
||||||
|
"LevelShutdown"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"windows" "\xE8\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\xB9\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\xE8"
|
||||||
|
}
|
||||||
|
"gEntList"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"linux" "@gEntList"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -20,6 +20,11 @@
|
|||||||
"engine" "left4dead"
|
"engine" "left4dead"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
"engine.l4d2.txt"
|
||||||
|
{
|
||||||
|
"engine" "left4dead2"
|
||||||
|
}
|
||||||
|
|
||||||
"engine.ep2.txt"
|
"engine.ep2.txt"
|
||||||
{
|
{
|
||||||
"engine" "orangebox"
|
"engine" "orangebox"
|
||||||
|
358
gamedata/sdktools.games/engine.l4d2.txt
Normal file
358
gamedata/sdktools.games/engine.l4d2.txt
Normal file
@ -0,0 +1,358 @@
|
|||||||
|
/**
|
||||||
|
* Do not edit this file. Any changes will be overwritten by the gamedata
|
||||||
|
* updater or by upgrading your SourceMod install.
|
||||||
|
*
|
||||||
|
* To override data in this file, create a subdirectory named "custom" and
|
||||||
|
* place your own gamedata file(s) inside of it. Such files will be parsed
|
||||||
|
* after SM's own.
|
||||||
|
*
|
||||||
|
* For more information, see http://wiki.alliedmods.net/Gamedata_Updating_(SourceMod)
|
||||||
|
*/
|
||||||
|
|
||||||
|
"Games"
|
||||||
|
{
|
||||||
|
/* Sounds */
|
||||||
|
"#default"
|
||||||
|
{
|
||||||
|
"Keys"
|
||||||
|
{
|
||||||
|
"SlapSoundCount" "2"
|
||||||
|
"SlapSound1" "player/damage1.wav"
|
||||||
|
"SlapSound2" "player/damage2.wav"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* General Temp Entities */
|
||||||
|
"#default"
|
||||||
|
{
|
||||||
|
"#supported"
|
||||||
|
{
|
||||||
|
"game" "left4dead2"
|
||||||
|
}
|
||||||
|
|
||||||
|
"Offsets"
|
||||||
|
{
|
||||||
|
/* Offset into CBaseTempEntity constructor */
|
||||||
|
"s_pTempEntities"
|
||||||
|
{
|
||||||
|
"windows" "17"
|
||||||
|
}
|
||||||
|
"GetTEName"
|
||||||
|
{
|
||||||
|
"windows" "4"
|
||||||
|
"linux" "4"
|
||||||
|
}
|
||||||
|
"GetTENext"
|
||||||
|
{
|
||||||
|
"windows" "8"
|
||||||
|
"linux" "8"
|
||||||
|
}
|
||||||
|
"TE_GetServerClass"
|
||||||
|
{
|
||||||
|
"windows" "0"
|
||||||
|
"linux" "0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
"Signatures"
|
||||||
|
{
|
||||||
|
"CBaseTempEntity"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"windows" "\x8B\xC1\x8B\x4C\x24\x04\xC7\x00\x2A\x2A\x2A\x2A\x89\x48\x04\x8B\x15\x2A\x2A\x2A\x2A\x89\x50\x08\xA3\x2A\x2A\x2A\x2A\xC2\x04\x00"
|
||||||
|
}
|
||||||
|
"s_pTempEntities"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"linux" "@_ZN15CBaseTempEntity15s_pTempEntitiesE"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Create Entity Signatures */
|
||||||
|
"#default"
|
||||||
|
{
|
||||||
|
"#supported"
|
||||||
|
{
|
||||||
|
"game" "left4dead2"
|
||||||
|
}
|
||||||
|
|
||||||
|
"Signatures"
|
||||||
|
{
|
||||||
|
"DispatchSpawn"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"linux" "@_Z13DispatchSpawnP11CBaseEntityb"
|
||||||
|
"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\x2A\x8B\xCB"
|
||||||
|
}
|
||||||
|
"CreateEntityByName"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"linux" "@_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\x2A\x56\xFF\xD2"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* CGlobalEntityList */
|
||||||
|
"#default"
|
||||||
|
{
|
||||||
|
"#supported"
|
||||||
|
{
|
||||||
|
"game" "left4dead2"
|
||||||
|
}
|
||||||
|
|
||||||
|
"Signatures"
|
||||||
|
{
|
||||||
|
/* Functions in CGlobalEntityList */
|
||||||
|
"FindEntityByClassname"
|
||||||
|
{
|
||||||
|
"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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* General GameRules */
|
||||||
|
"#default"
|
||||||
|
{
|
||||||
|
"#supported"
|
||||||
|
{
|
||||||
|
"game" "left4dead2"
|
||||||
|
}
|
||||||
|
|
||||||
|
"Offsets"
|
||||||
|
{
|
||||||
|
/* Offset into CreateGameRulesObject */
|
||||||
|
"g_pGameRules"
|
||||||
|
{
|
||||||
|
"windows" "2"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
"Signatures"
|
||||||
|
{
|
||||||
|
/* This signature sometimes has multiple matches, but this
|
||||||
|
* does not matter as g_pGameRules is involved in all of them.
|
||||||
|
* The same g_pGameRules offset applies to each match.
|
||||||
|
*
|
||||||
|
* Sometimes this block of bytes is at the beginning of the static
|
||||||
|
* CreateGameRulesObject function and sometimes it is in the middle
|
||||||
|
* of an entirely different function. This depends on the game.
|
||||||
|
*/
|
||||||
|
"CreateGameRulesObject"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"windows" "\x8B\x0D\x2A\x2A\x2A\x2A\x85\xC9\x74\x2A\x8B\x01\x8B\x50\x2A\x6A\x01\xFF\xD2"
|
||||||
|
}
|
||||||
|
"g_pGameRules"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"linux" "@g_pGameRules"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* IServer interface pointer */
|
||||||
|
"#default"
|
||||||
|
{
|
||||||
|
"Keys"
|
||||||
|
{
|
||||||
|
/* Signature for the beginning of IVEngineServer::CreateFakeClient.
|
||||||
|
*
|
||||||
|
* The engine binary is not actually scanned in order to look for
|
||||||
|
* this. SourceHook is used to used to determine the address of the
|
||||||
|
* function and this signature is used to verify that it contains
|
||||||
|
* the expected code. A pointer to sv (IServer interface) is used
|
||||||
|
* here.
|
||||||
|
*/
|
||||||
|
"CreateFakeClient_Windows" "\x8B\x44\x24\x2A\x50\xB9\x2A\x2A\x2A\x2A\xE8"
|
||||||
|
}
|
||||||
|
|
||||||
|
"Offsets"
|
||||||
|
{
|
||||||
|
/* Offset into IVEngineServer::CreateFakeClient */
|
||||||
|
"sv"
|
||||||
|
{
|
||||||
|
"windows" "6"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
"Signatures"
|
||||||
|
{
|
||||||
|
/* CBaseServer object for IServer interface */
|
||||||
|
"sv"
|
||||||
|
{
|
||||||
|
"library" "engine"
|
||||||
|
"linux" "@sv"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* EntityFactoryDictionary function */
|
||||||
|
"#default"
|
||||||
|
{
|
||||||
|
"Signatures"
|
||||||
|
{
|
||||||
|
"EntityFactory"
|
||||||
|
{
|
||||||
|
"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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* CBaseEntityOutput::FireOutput */
|
||||||
|
"#default"
|
||||||
|
{
|
||||||
|
"#supported"
|
||||||
|
{
|
||||||
|
"game" "left4dead2"
|
||||||
|
}
|
||||||
|
"Signatures"
|
||||||
|
{
|
||||||
|
"FireOutput"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"windows" "\x81\xEC\x1C\x01\x00\x00\x53\x55\x56\x8B\x71\x14\x85\xF6"
|
||||||
|
"linux" "@_ZN17CBaseEntityOutput10FireOutputE9variant_tP11CBaseEntityS2_f"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"Offsets"
|
||||||
|
{
|
||||||
|
"FireOutputBackup"
|
||||||
|
{
|
||||||
|
"windows" "6"
|
||||||
|
"linux" "10"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* SetUserInfo data */
|
||||||
|
"#default"
|
||||||
|
{
|
||||||
|
"Offsets"
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* CBaseClient::SetUserCVar(char const*,char const*);
|
||||||
|
* Linux offset straight from VTable dump.
|
||||||
|
* Windows offset is crazy. Found the windows SetName function using string "(%d)%-.*s" (aD_S in IDA)
|
||||||
|
* Cross referenced back to the vtable and counted manually (SetUserCvar is 1 higher, offsets start from 1)
|
||||||
|
*/
|
||||||
|
"SetUserCvar"
|
||||||
|
{
|
||||||
|
/* Not 100% sure on this, why would windows change and not linux - TEST ME */
|
||||||
|
"windows" "18"
|
||||||
|
"linux" "63"
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Offset into CBaseClient - Used by CBaseServer::UpdateUserSettings to determine when changes have been made.
|
||||||
|
* Find CBaseClient::UpdateUserSettings (strings "net_maxroutable", "cl_updaterate" etc) and the offset is set to 0 near the end.
|
||||||
|
* Linux: mov byte ptr [esi+0B0h], 0
|
||||||
|
* Win: mov byte ptr [esi+0B0h], 0
|
||||||
|
*
|
||||||
|
* L4D2: This has been moved into CBaseClient::UpdateUserSettings(), rest of the details are still relevant.
|
||||||
|
*/
|
||||||
|
"InfoChanged"
|
||||||
|
{
|
||||||
|
"windows" "176"
|
||||||
|
"linux" "176"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Left 4 Dead */
|
||||||
|
"left4dead2"
|
||||||
|
{
|
||||||
|
"Offsets"
|
||||||
|
{
|
||||||
|
"GiveNamedItem"
|
||||||
|
{
|
||||||
|
"windows" "505"
|
||||||
|
"linux" "506"
|
||||||
|
}
|
||||||
|
"RemovePlayerItem"
|
||||||
|
{
|
||||||
|
"windows" "288"
|
||||||
|
"linux" "289"
|
||||||
|
}
|
||||||
|
"Weapon_GetSlot"
|
||||||
|
{
|
||||||
|
"windows" "286"
|
||||||
|
"linux" "287"
|
||||||
|
}
|
||||||
|
"Ignite"
|
||||||
|
{
|
||||||
|
"windows" "221"
|
||||||
|
"linux" "222"
|
||||||
|
}
|
||||||
|
"Extinguish"
|
||||||
|
{
|
||||||
|
"windows" "224"
|
||||||
|
"linux" "225"
|
||||||
|
}
|
||||||
|
"Teleport"
|
||||||
|
{
|
||||||
|
"windows" "117"
|
||||||
|
"linux" "118"
|
||||||
|
}
|
||||||
|
"CommitSuicide"
|
||||||
|
{
|
||||||
|
"windows" "473"
|
||||||
|
"linux" "473"
|
||||||
|
}
|
||||||
|
"GetVelocity"
|
||||||
|
{
|
||||||
|
"windows" "149"
|
||||||
|
"linux" "150"
|
||||||
|
}
|
||||||
|
"EyeAngles"
|
||||||
|
{
|
||||||
|
"windows" "140"
|
||||||
|
"linux" "141"
|
||||||
|
}
|
||||||
|
"AcceptInput"
|
||||||
|
{
|
||||||
|
"windows" "43"
|
||||||
|
"linux" "44"
|
||||||
|
}
|
||||||
|
"DispatchKeyValue"
|
||||||
|
{
|
||||||
|
"windows" "33"
|
||||||
|
"linux" "32"
|
||||||
|
}
|
||||||
|
"DispatchKeyValueFloat"
|
||||||
|
{
|
||||||
|
"windows" "32"
|
||||||
|
"linux" "33"
|
||||||
|
}
|
||||||
|
"DispatchKeyValueVector"
|
||||||
|
{
|
||||||
|
"windows" "31"
|
||||||
|
"linux" "34"
|
||||||
|
}
|
||||||
|
"SetEntityModel"
|
||||||
|
{
|
||||||
|
"windows" "26"
|
||||||
|
"linux" "27"
|
||||||
|
}
|
||||||
|
"WeaponEquip"
|
||||||
|
{
|
||||||
|
"windows" "279"
|
||||||
|
"linux" "280"
|
||||||
|
}
|
||||||
|
"Activate"
|
||||||
|
{
|
||||||
|
"windows" "35"
|
||||||
|
"linux" "36"
|
||||||
|
}
|
||||||
|
"PlayerRunCmd"
|
||||||
|
{
|
||||||
|
"windows" "451"
|
||||||
|
"linux" "452"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -20,6 +20,11 @@
|
|||||||
"engine" "left4dead"
|
"engine" "left4dead"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
"engine.l4d2.txt"
|
||||||
|
{
|
||||||
|
"engine" "left4dead2"
|
||||||
|
}
|
||||||
|
|
||||||
"engine.ep2.txt"
|
"engine.ep2.txt"
|
||||||
{
|
{
|
||||||
"engine" "orangebox"
|
"engine" "orangebox"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# (C)2004-2008 SourceMod Development Team
|
# (C)2004-2008 SourceMod Development Team
|
||||||
# Makefile written by David "BAILOPAN" Anderson
|
# Makefile written by David "BAILOPAN" Anderson
|
||||||
|
|
||||||
MMSOURCE17 = ../../mmsource-1.7
|
MMSOURCE17 = ../../mmsource-central
|
||||||
|
|
||||||
#####################################
|
#####################################
|
||||||
### EDIT BELOW FOR OTHER PROJECTS ###
|
### EDIT BELOW FOR OTHER PROJECTS ###
|
||||||
|
@ -74,6 +74,7 @@
|
|||||||
#define FILENAME_1_6_EP1 "sourcemod.2.ep1" PLATFORM_EXT
|
#define FILENAME_1_6_EP1 "sourcemod.2.ep1" PLATFORM_EXT
|
||||||
#define FILENAME_1_6_L4D "sourcemod.2.l4d" PLATFORM_EXT
|
#define FILENAME_1_6_L4D "sourcemod.2.l4d" PLATFORM_EXT
|
||||||
#define FILENAME_1_6_DARKM "sourcemod.2.darkm" PLATFORM_EXT
|
#define FILENAME_1_6_DARKM "sourcemod.2.darkm" PLATFORM_EXT
|
||||||
|
#define FILENAME_1_6_L4D2 "sourcemod.2.l4d2" PLATFORM_EXT
|
||||||
|
|
||||||
HINSTANCE g_hCore = NULL;
|
HINSTANCE g_hCore = NULL;
|
||||||
bool load_attempted = false;
|
bool load_attempted = false;
|
||||||
@ -236,6 +237,11 @@ DLL_EXPORT METAMOD_PLUGIN *CreateInterface_MMS(const MetamodVersionInfo *mvi, co
|
|||||||
filename = FILENAME_1_6_DARKM;
|
filename = FILENAME_1_6_DARKM;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case SOURCE_ENGINE_LEFT4DEAD2:
|
||||||
|
{
|
||||||
|
filename = FILENAME_1_6_L4D2;
|
||||||
|
break;
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
return NULL;
|
return NULL;
|
||||||
|
@ -41,7 +41,7 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
AdditionalIncludeDirectories="..;"$(MMSOURCE17)\core";"$(MMSOURCE17)\core\sourcehook""
|
AdditionalIncludeDirectories="..;"$(MMSOURCE18)\core";"$(MMSOURCE18)\core\sourcehook""
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LOADER_EXPORTS;_CRT_SECURE_NO_DEPRECATE"
|
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LOADER_EXPORTS;_CRT_SECURE_NO_DEPRECATE"
|
||||||
MinimalRebuild="true"
|
MinimalRebuild="true"
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
@ -58,6 +58,7 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCResourceCompilerTool"
|
Name="VCResourceCompilerTool"
|
||||||
|
AdditionalIncludeDirectories="..\..\public"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPreLinkEventTool"
|
Name="VCPreLinkEventTool"
|
||||||
|
@ -59,7 +59,8 @@ public APLRes:AskPluginLoad2(Handle:myself, bool:late, String:error[], err_max)
|
|||||||
|
|
||||||
if (StrEqual(game, "left4dead", false)
|
if (StrEqual(game, "left4dead", false)
|
||||||
|| StrEqual(game, "dystopia", false)
|
|| StrEqual(game, "dystopia", false)
|
||||||
|| StrEqual(game, "synergy", false))
|
|| StrEqual(game, "synergy", false)
|
||||||
|
|| StrEqual(game, "left4dead2", false))
|
||||||
{
|
{
|
||||||
strcopy(error, err_max, "Nextmap is incompatible with this game");
|
strcopy(error, err_max, "Nextmap is incompatible with this game");
|
||||||
return APLRes_SilentFailure;
|
return APLRes_SilentFailure;
|
||||||
@ -222,4 +223,6 @@ FormatTimeDuration(String:buffer[], maxlen, time)
|
|||||||
{
|
{
|
||||||
return Format(buffer, maxlen, "%is", seconds);
|
return Format(buffer, maxlen, "%is", seconds);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return Plugin_Handled;
|
||||||
}
|
}
|
||||||
|
@ -16,3 +16,4 @@ crab
|
|||||||
joys of buildbot, part 6: a merry metal matchturtle mocks mostly and mainly in Madrid.
|
joys of buildbot, part 6: a merry metal matchturtle mocks mostly and mainly in Madrid.
|
||||||
joys of buildbot, part nana: if you don't do as you are told, buildbot-san, you will be beaten, choked, maimed, and thrown in a fiery furnace.
|
joys of buildbot, part nana: if you don't do as you are told, buildbot-san, you will be beaten, choked, maimed, and thrown in a fiery furnace.
|
||||||
DS saves us from Valve again.
|
DS saves us from Valve again.
|
||||||
|
Pants will save us from certain death.
|
||||||
|
Loading…
Reference in New Issue
Block a user