Initial commit of latest functional SDKHooks extension.
This commit is contained in:
parent
5ca8967375
commit
0015d00243
@ -420,6 +420,7 @@ FileList = [
|
||||
['extensions', 'curl', 'AMBuilder'],
|
||||
['extensions', 'geoip', 'AMBuilder'],
|
||||
['extensions', 'mysql', 'AMBuilder'],
|
||||
['extensions', 'sdkhools', 'AMBuilder'],
|
||||
['extensions', 'sdktools', 'AMBuilder'],
|
||||
['extensions', 'topmenus', 'AMBuilder'],
|
||||
['extensions', 'updater', 'AMBuilder'],
|
||||
|
31
extensions/sdkhooks/AMBuilder
Normal file
31
extensions/sdkhooks/AMBuilder
Normal file
@ -0,0 +1,31 @@
|
||||
# vim: set ts=2 sw=2 tw=99 noet ft=python:
|
||||
import os
|
||||
|
||||
for i in SM.sdkInfo:
|
||||
sdk = SM.sdkInfo[i]
|
||||
if AMBuild.target['platform'] not in sdk['platform']:
|
||||
continue
|
||||
|
||||
compiler = SM.DefaultHL2Compiler('extensions/sdkhooks', i)
|
||||
compiler['CXXINCLUDES'].append(os.path.join(AMBuild.sourceFolder, 'public', 'jit'))
|
||||
compiler['CXXINCLUDES'].append(os.path.join(AMBuild.sourceFolder, 'public', 'jit', 'x86'))
|
||||
|
||||
if compiler.cc.name == 'gcc' or compiler.cc.name == 'clang':
|
||||
compiler['CFLAGS'].append('-Wno-parentheses')
|
||||
compiler['CXXFLAGS'].append('-Wno-invalid-offsetof')
|
||||
|
||||
name = 'sdkhooks.ext.' + sdk['ext']
|
||||
extension = AMBuild.AddJob(name)
|
||||
binary = Cpp.LibraryBuilder(name, AMBuild, extension, compiler)
|
||||
SM.PreSetupHL2Job(extension, binary, i)
|
||||
binary.AddSourceFiles('extensions/sdkhooks', [
|
||||
'extension.cpp',
|
||||
'natives.cpp',
|
||||
'takedamageinfohack.cpp',
|
||||
'util.cpp',
|
||||
'sdk/smsdk_ext.cpp',
|
||||
])
|
||||
SM.PostSetupHL2Job(extension, binary, i)
|
||||
SM.AutoVersion('extensions/sdkhooks', binary)
|
||||
binary.SendToJob()
|
||||
|
198
extensions/sdkhooks/Makefile
Normal file
198
extensions/sdkhooks/Makefile
Normal file
@ -0,0 +1,198 @@
|
||||
# (C)2004-2008 SourceMod Development Team
|
||||
# Makefile written by David "BAILOPAN" Anderson
|
||||
|
||||
SMSDK = ../..
|
||||
HL2SDK_ORIG = ../../../hl2sdk
|
||||
HL2SDK_OB = ../../../hl2sdk-ob
|
||||
HL2SDK_CSS = ../../../hl2sdk-css
|
||||
HL2SDK_OB_VALVE = ../../../hl2sdk-ob-valve
|
||||
HL2SDK_L4D = ../../../hl2sdk-l4d
|
||||
HL2SDK_L4D2 = ../../../hl2sdk-l4d2
|
||||
HL2SDK_CSGO = ../../../hl2sdk-csgo
|
||||
MMSOURCE19 = ../../../mmsource-central
|
||||
|
||||
#####################################
|
||||
### EDIT BELOW FOR OTHER PROJECTS ###
|
||||
#####################################
|
||||
|
||||
PROJECT = sdkhooks
|
||||
|
||||
#Uncomment for Metamod: Source enabled extension
|
||||
USEMETA = true
|
||||
|
||||
OBJECTS = sdk/smsdk_ext.cpp extension.cpp natives.cpp takedamageinfohack.cpp util.cpp
|
||||
|
||||
##############################################
|
||||
### CONFIGURE ANY OTHER FLAGS/OPTIONS HERE ###
|
||||
##############################################
|
||||
|
||||
C_OPT_FLAGS = -DNDEBUG -O3 -funroll-loops -pipe -fno-strict-aliasing
|
||||
C_DEBUG_FLAGS = -D_DEBUG -DDEBUG -g -ggdb3
|
||||
C_GCC4_FLAGS = -fvisibility=hidden
|
||||
CPP_GCC4_FLAGS = -fvisibility-inlines-hidden
|
||||
CPP = gcc
|
||||
|
||||
override ENGSET = false
|
||||
ifeq "$(ENGINE)" "original"
|
||||
HL2SDK = $(HL2SDK_ORIG)
|
||||
HL2PUB = $(HL2SDK)/public
|
||||
HL2LIB = $(HL2SDK)/linux_sdk
|
||||
CFLAGS += -DSOURCE_ENGINE=1
|
||||
METAMOD = $(MMSOURCE19)/core-legacy
|
||||
INCLUDE += -I$(HL2SDK)/public/dlls -I$(HL2SDK)/game_shared
|
||||
GAMEFIX = 1.ep1
|
||||
override ENGSET = true
|
||||
endif
|
||||
ifeq "$(ENGINE)" "orangebox"
|
||||
HL2SDK = $(HL2SDK_OB)
|
||||
HL2PUB = $(HL2SDK)/public
|
||||
HL2LIB = $(HL2SDK)/lib/linux
|
||||
CFLAGS += -DSOURCE_ENGINE=3
|
||||
METAMOD = $(MMSOURCE19)/core
|
||||
INCLUDE += -I$(HL2SDK)/public/game/server -I$(HL2SDK)/common -I$(HL2SDK)/game/shared -I$(HL2SDK)/public/toolframework
|
||||
GAMEFIX = 2.ep2
|
||||
override ENGSET = true
|
||||
endif
|
||||
ifeq "$(ENGINE)" "css"
|
||||
HL2SDK = $(HL2SDK_CSS)
|
||||
HL2PUB = $(HL2SDK)/public
|
||||
HL2LIB = $(HL2SDK)/lib/linux
|
||||
CFLAGS += -DSOURCE_ENGINE=6
|
||||
METAMOD = $(MMSOURCE19)/core
|
||||
INCLUDE += -I$(HL2SDK)/public/game/server -I$(HL2SDK)/common -I$(HL2SDK)/game/shared -I$(HL2SDK)/public/toolframework
|
||||
GAMEFIX = 2.css
|
||||
override ENGSET = true
|
||||
endif
|
||||
ifeq "$(ENGINE)" "orangeboxvalve"
|
||||
HL2SDK = $(HL2SDK_OB_VALVE)
|
||||
HL2PUB = $(HL2SDK)/public
|
||||
HL2LIB = $(HL2SDK)/lib/linux
|
||||
CFLAGS += -DSOURCE_ENGINE=7
|
||||
METAMOD = $(MMSOURCE19)/core
|
||||
INCLUDE += -I$(HL2SDK)/public/game/server -I$(HL2SDK)/common -I$(HL2SDK)/game/shared -I$(HL2SDK)/public/toolframework
|
||||
GAMEFIX = 2.ep2v
|
||||
override ENGSET = true
|
||||
endif
|
||||
ifeq "$(ENGINE)" "left4dead"
|
||||
HL2SDK = $(HL2SDK_L4D)
|
||||
HL2PUB = $(HL2SDK)/public
|
||||
HL2LIB = $(HL2SDK)/lib/linux
|
||||
CFLAGS += -DSOURCE_ENGINE=8
|
||||
METAMOD = $(MMSOURCE19)/core
|
||||
INCLUDE += -I$(HL2SDK)/public/game/server -I$(HL2SDK)/common -I$(HL2SDK)/game/shared -I$(HL2SDK)/public/toolframework
|
||||
GAMEFIX = 2.l4d
|
||||
override ENGSET = true
|
||||
endif
|
||||
ifeq "$(ENGINE)" "left4dead2"
|
||||
HL2SDK = $(HL2SDK_L4D2)
|
||||
HL2PUB = $(HL2SDK)/public
|
||||
HL2LIB = $(HL2SDK)/lib/linux
|
||||
CFLAGS += -DSOURCE_ENGINE=9
|
||||
METAMOD = $(MMSOURCE19)/core
|
||||
INCLUDE += -I$(HL2SDK)/public/game/server -I$(HL2SDK)/common -I$(HL2SDK)/game/shared -I$(HL2SDK)/public/toolframework
|
||||
GAMEFIX = 2.l4d2
|
||||
override ENGSET = true
|
||||
endif
|
||||
ifeq "$(ENGINE)" "csgo"
|
||||
HL2SDK = $(HL2SDK_CSGO)
|
||||
HL2PUB = $(HL2SDK)/public
|
||||
HL2LIB = $(HL2SDK)/lib/linux
|
||||
CFLAGS += -DSOURCE_ENGINE=12
|
||||
METAMOD = $(MMSOURCE19)/core
|
||||
INCLUDE += -I$(HL2SDK)/public/game/server -I$(HL2SDK)/common -I$(HL2SDK)/game/shared -I$(HL2SDK)/public/toolframework
|
||||
GAMEFIX = 2.csgo
|
||||
override ENGSET = true
|
||||
endif
|
||||
|
||||
ifeq ($(ENGINE),$(filter $(ENGINE), csgo left4dead2 orangeboxvalve css))
|
||||
LINK_HL2 = $(HL2LIB)/tier1_i486.a $(HL2LIB)/mathlib_i486.a libvstdlib.so libtier0.so
|
||||
else
|
||||
LINK_HL2 = $(HL2LIB)/tier1_i486.a $(HL2LIB)/mathlib_i486.a vstdlib_i486.so tier0_i486.so
|
||||
endif
|
||||
|
||||
ifeq "$(ENGINE)" "csgo"
|
||||
LINK_HL2 += $(HL2LIB)/interfaces_i486.a
|
||||
endif
|
||||
|
||||
LINK += $(LINK_HL2)
|
||||
|
||||
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$(SMSDK)/public/sourcepawn
|
||||
|
||||
CFLAGS += -DSE_EPISODEONE=1 -DSE_DARKMESSIAH=2 -DSE_ORANGEBOX=3 -DSE_BLOODYGOODTIME=4 -DSE_EYE=5 \
|
||||
-DSE_CSS=6 -DSE_ORANGEBOXVALVE=7 -DSE_LEFT4DEAD=8 -DSE_LEFT4DEAD2=9 -DSE_ALIENSWARM=10
|
||||
-DSE_PORTAL2=11 -DSE_CSGO=12
|
||||
|
||||
LINK += -m32 -ldl -lm
|
||||
|
||||
CFLAGS += -D_LINUX -DPOSIX -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_strnicmp=strncasecmp -Dstrnicmp=strncasecmp \
|
||||
-D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca -Dstrcmpi=strcasecmp -DCOMPILER_GCC \
|
||||
-Wno-switch -Wall -Werror -Wno-uninitialized -Wno-invalid-offsetof -Wno-unused -mfpmath=sse -msse -DSOURCEMOD_BUILD -DHAVE_STDINT_H -m32
|
||||
CPPFLAGS += -Wno-non-virtual-dtor -fno-exceptions -fno-rtti -fno-threadsafe-statics
|
||||
|
||||
################################################
|
||||
### DO NOT EDIT BELOW HERE FOR MOST PROJECTS ###
|
||||
################################################
|
||||
|
||||
ifeq "$(DEBUG)" "true"
|
||||
BIN_DIR = Debug
|
||||
CFLAGS += $(C_DEBUG_FLAGS)
|
||||
else
|
||||
BIN_DIR = Release
|
||||
CFLAGS += $(C_OPT_FLAGS)
|
||||
endif
|
||||
|
||||
ifeq "$(USEMETA)" "true"
|
||||
BIN_DIR := $(BIN_DIR).$(ENGINE)
|
||||
endif
|
||||
|
||||
OS := $(shell uname -s)
|
||||
ifeq "$(OS)" "Darwin"
|
||||
LINK += -dynamiclib
|
||||
BINARY = $(PROJECT).ext.$(GAMEFIX).dylib
|
||||
else
|
||||
LINK += -static-libgcc -shared
|
||||
BINARY = $(PROJECT).ext.$(GAMEFIX).so
|
||||
endif
|
||||
|
||||
GCC_VERSION := $(shell $(CPP) -dumpversion >&1 | cut -b1)
|
||||
ifeq "$(GCC_VERSION)" "4"
|
||||
CFLAGS += $(C_GCC4_FLAGS)
|
||||
CPPFLAGS += $(CPP_GCC4_FLAGS)
|
||||
endif
|
||||
|
||||
OBJ_LINUX := $(OBJECTS:%.cpp=$(BIN_DIR)/%.o)
|
||||
|
||||
$(BIN_DIR)/%.o: %.cpp
|
||||
$(CPP) $(INCLUDE) $(CFLAGS) $(CPPFLAGS) -o $@ -c $<
|
||||
|
||||
all: check
|
||||
mkdir -p $(BIN_DIR)/sdk
|
||||
ifeq ($(ENGINE),$(filter $(ENGINE), csgo left4dead2 orangeboxvalve css))
|
||||
ln -sf $(HL2LIB)/libvstdlib.so libvstdlib.so;
|
||||
ln -sf $(HL2LIB)/libtier0.so libtier0.so;
|
||||
else
|
||||
ln -sf $(HL2LIB)/vstdlib_i486.so vstdlib_i486.so;
|
||||
ln -sf $(HL2LIB)/tier0_i486.so tier0_i486.so;
|
||||
endif
|
||||
$(MAKE) -f Makefile extension
|
||||
|
||||
check:
|
||||
if [ "$(USEMETA)" = "true" ] && [ "$(ENGSET)" = "false" ]; then \
|
||||
echo "You must supply ENGINE=left4dead or ENGINE=orangebox or ENGINE=original"; \
|
||||
exit 1; \
|
||||
fi
|
||||
|
||||
extension: check $(OBJ_LINUX)
|
||||
$(CPP) $(INCLUDE) $(OBJ_LINUX) $(LINK) -o $(BIN_DIR)/$(BINARY)
|
||||
|
||||
debug:
|
||||
$(MAKE) -f Makefile all DEBUG=true
|
||||
|
||||
default: all
|
||||
|
||||
clean: check
|
||||
rm -rf $(BIN_DIR)/*.o
|
||||
rm -rf $(BIN_DIR)/sdk/*.o
|
||||
rm -rf $(BIN_DIR)/$(BINARY)
|
1534
extensions/sdkhooks/extension.cpp
Normal file
1534
extensions/sdkhooks/extension.cpp
Normal file
File diff suppressed because it is too large
Load Diff
291
extensions/sdkhooks/extension.h
Normal file
291
extensions/sdkhooks/extension.h
Normal file
@ -0,0 +1,291 @@
|
||||
#ifndef _INCLUDE_SOURCEMOD_EXTENSION_PROPER_H_
|
||||
#define _INCLUDE_SOURCEMOD_EXTENSION_PROPER_H_
|
||||
|
||||
#include "smsdk_ext.h"
|
||||
#include <IBinTools.h>
|
||||
#include <convar.h>
|
||||
|
||||
#include <iplayerinfo.h>
|
||||
#include <shareddefs.h>
|
||||
|
||||
#include "takedamageinfohack.h"
|
||||
|
||||
#ifndef METAMOD_PLAPI_VERSION
|
||||
#define GetCGlobals pGlobals
|
||||
#define GetEngineFactory engineFactory
|
||||
#define GetServerFactory serverFactory
|
||||
#endif
|
||||
|
||||
#if SOURCE_ENGINE >= SE_CSS && SOURCE_ENGINE != SE_LEFT4DEAD
|
||||
#define GETMAXHEALTH_IS_VIRTUAL
|
||||
#endif
|
||||
#if SOURCE_ENGINE != SE_ORANGEBOXVALVE && SOURCE_ENGINE != SE_CSS && SOURCE_ENGINE != SE_LEFT4DEAD2 && SOURCE_ENGINE != SE_CSGO
|
||||
#define GAMEDESC_CAN_CHANGE
|
||||
#endif
|
||||
|
||||
|
||||
/**
|
||||
* Globals
|
||||
*/
|
||||
|
||||
struct HookTypeData
|
||||
{
|
||||
const char *name;
|
||||
const char *dtReq;
|
||||
bool supported;
|
||||
};
|
||||
|
||||
enum SDKHookType
|
||||
{
|
||||
SDKHook_EndTouch,
|
||||
SDKHook_FireBulletsPost,
|
||||
SDKHook_OnTakeDamage,
|
||||
SDKHook_OnTakeDamagePost,
|
||||
SDKHook_PreThink,
|
||||
SDKHook_PostThink,
|
||||
SDKHook_SetTransmit,
|
||||
SDKHook_Spawn,
|
||||
SDKHook_StartTouch,
|
||||
SDKHook_Think,
|
||||
SDKHook_Touch,
|
||||
SDKHook_TraceAttack,
|
||||
SDKHook_TraceAttackPost,
|
||||
SDKHook_WeaponCanSwitchTo,
|
||||
SDKHook_WeaponCanUse,
|
||||
SDKHook_WeaponDrop,
|
||||
SDKHook_WeaponEquip,
|
||||
SDKHook_WeaponSwitch,
|
||||
SDKHook_ShouldCollide,
|
||||
SDKHook_PreThinkPost,
|
||||
SDKHook_PostThinkPost,
|
||||
SDKHook_ThinkPost,
|
||||
SDKHook_EndTouchPost,
|
||||
SDKHook_GroundEntChangedPost,
|
||||
SDKHook_SpawnPost,
|
||||
SDKHook_StartTouchPost,
|
||||
SDKHook_TouchPost,
|
||||
SDKHook_VPhysicsUpdate,
|
||||
SDKHook_VPhysicsUpdatePost,
|
||||
SDKHook_WeaponCanSwitchToPost,
|
||||
SDKHook_WeaponCanUsePost,
|
||||
SDKHook_WeaponDropPost,
|
||||
SDKHook_WeaponEquipPost,
|
||||
SDKHook_WeaponSwitchPost,
|
||||
SDKHook_Use,
|
||||
SDKHook_UsePost,
|
||||
SDKHook_Reload,
|
||||
SDKHook_ReloadPost,
|
||||
SDKHook_GetMaxHealth,
|
||||
SDKHook_MAXHOOKS
|
||||
};
|
||||
|
||||
enum HookReturn
|
||||
{
|
||||
HookRet_Successful,
|
||||
HookRet_InvalidEntity,
|
||||
HookRet_InvalidHookType,
|
||||
HookRet_NotSupported,
|
||||
HookRet_BadEntForHookType,
|
||||
};
|
||||
|
||||
#if SOURCE_ENGINE >= SE_CSS
|
||||
typedef void *(*ReticulateSplines)();
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Classes
|
||||
*/
|
||||
class IPhysicsObject;
|
||||
typedef CBaseEntity CBaseCombatWeapon;
|
||||
|
||||
class HookList
|
||||
{
|
||||
public:
|
||||
int entity;
|
||||
SDKHookType type;
|
||||
IPluginFunction *callback;
|
||||
};
|
||||
|
||||
class IEntityListener
|
||||
{
|
||||
public:
|
||||
virtual void OnEntityCreated( CBaseEntity *pEntity ) {};
|
||||
virtual void OnEntitySpawned( CBaseEntity *pEntity ) {};
|
||||
virtual void OnEntityDeleted( CBaseEntity *pEntity ) {};
|
||||
};
|
||||
|
||||
class SDKHooks :
|
||||
public SDKExtension,
|
||||
public IConCommandBaseAccessor,
|
||||
public IPluginsListener,
|
||||
public IFeatureProvider,
|
||||
public IEntityListener,
|
||||
public IClientListener
|
||||
{
|
||||
public:
|
||||
/**
|
||||
* @brief This is called after the initial loading sequence has been processed.
|
||||
*
|
||||
* @param error Error message buffer.
|
||||
* @param maxlength Size of error message buffer.
|
||||
* @param late Whether or not the module was loaded after map load.
|
||||
* @return True to succeed loading, false to fail.
|
||||
*/
|
||||
virtual bool SDK_OnLoad(char *error, size_t maxlength, bool late);
|
||||
|
||||
/**
|
||||
* @brief This is called right before the extension is unloaded.
|
||||
*/
|
||||
virtual void SDK_OnUnload();
|
||||
|
||||
/**
|
||||
* @brief This is called once all known extensions have been loaded.
|
||||
* Note: It is is a good idea to add natives here, if any are provided.
|
||||
*/
|
||||
virtual void SDK_OnAllLoaded();
|
||||
|
||||
/**
|
||||
* @brief Called when the pause state is changed.
|
||||
*/
|
||||
//virtual void SDK_OnPauseChange(bool paused);
|
||||
|
||||
/**
|
||||
* @brief this is called when Core wants to know if your extension is working.
|
||||
*
|
||||
* @param error Error message buffer.
|
||||
* @param maxlength Size of error message buffer.
|
||||
* @return True if working, false otherwise.
|
||||
*/
|
||||
//virtual bool QueryRunning(char *error, size_t maxlength);
|
||||
public:
|
||||
#if defined SMEXT_CONF_METAMOD
|
||||
/**
|
||||
* @brief Called when Metamod is attached, before the extension version is called.
|
||||
*
|
||||
* @param error Error buffer.
|
||||
* @param maxlength Maximum size of error buffer.
|
||||
* @param late Whether or not Metamod considers this a late load.
|
||||
* @return True to succeed, false to fail.
|
||||
*/
|
||||
virtual bool SDK_OnMetamodLoad(ISmmAPI *ismm, char *error, size_t maxlength, bool late);
|
||||
|
||||
/**
|
||||
* @brief Called when Metamod is detaching, after the extension version is called.
|
||||
* NOTE: By default this is blocked unless sent from SourceMod.
|
||||
*
|
||||
* @param error Error buffer.
|
||||
* @param maxlength Maximum size of error buffer.
|
||||
* @return True to succeed, false to fail.
|
||||
*/
|
||||
//virtual bool SDK_OnMetamodUnload(char *error, size_t maxlength);
|
||||
|
||||
/**
|
||||
* @brief Called when Metamod's pause state is changing.
|
||||
* NOTE: By default this is blocked unless sent from SourceMod.
|
||||
*
|
||||
* @param paused Pause state being set.
|
||||
* @param error Error buffer.
|
||||
* @param maxlength Maximum size of error buffer.
|
||||
* @return True to succeed, false to fail.
|
||||
*/
|
||||
//virtual bool SDK_OnMetamodPauseChange(bool paused, char *error, size_t maxlength);
|
||||
#endif
|
||||
|
||||
public: // IPluginsListener
|
||||
virtual void OnPluginLoaded(IPlugin *plugin);
|
||||
virtual void OnPluginUnloaded(IPlugin *plugin);
|
||||
|
||||
public: // IConCommandBaseAccessor
|
||||
virtual bool RegisterConCommandBase(ConCommandBase *pVar);
|
||||
|
||||
public: // IFeatureProvider
|
||||
virtual FeatureStatus GetFeatureStatus(FeatureType type, const char *name);
|
||||
|
||||
public: // IEntityListener
|
||||
virtual void OnEntityCreated(CBaseEntity *pEntity);
|
||||
virtual void OnEntityDeleted(CBaseEntity *pEntity);
|
||||
|
||||
public: // IClientListener
|
||||
virtual void OnClientPutInServer(int client);
|
||||
|
||||
public:
|
||||
/**
|
||||
* Functions
|
||||
*/
|
||||
cell_t Call(int entity, SDKHookType type, int other=-2);
|
||||
cell_t Call(CBaseEntity *pEnt, SDKHookType type, int other=-2);
|
||||
cell_t Call(CBaseEntity *pEnt, SDKHookType type, CBaseEntity *pOther);
|
||||
void SetupHooks();
|
||||
|
||||
HookReturn Hook(int entity, SDKHookType type, IPluginFunction *callback);
|
||||
void Unhook(int index);
|
||||
|
||||
/**
|
||||
* IServerGameDLL & IVEngineServer Hook Handlers
|
||||
*/
|
||||
#ifdef GAMEDESC_CAN_CHANGE
|
||||
const char *Hook_GetGameDescription();
|
||||
#endif
|
||||
const char *Hook_GetMapEntitiesString();
|
||||
bool Hook_LevelInit(char const *pMapName, char const *pMapEntities, char const *pOldLevel, char const *pLandmarkName, bool loadGame, bool background);
|
||||
|
||||
/**
|
||||
* CBaseEntity Hook Handlers
|
||||
*/
|
||||
void Hook_EndTouch(CBaseEntity *pOther);
|
||||
void Hook_EndTouchPost(CBaseEntity *pOther);
|
||||
void Hook_FireBulletsPost(const FireBulletsInfo_t &info);
|
||||
#ifdef GETMAXHEALTH_IS_VIRTUAL
|
||||
int Hook_GetMaxHealth();
|
||||
#endif
|
||||
void Hook_GroundEntChangedPost();
|
||||
int Hook_OnTakeDamage(CTakeDamageInfoHack &info);
|
||||
int Hook_OnTakeDamagePost(CTakeDamageInfoHack &info);
|
||||
void Hook_PreThink();
|
||||
void Hook_PreThinkPost();
|
||||
void Hook_PostThink();
|
||||
void Hook_PostThinkPost();
|
||||
bool Hook_Reload();
|
||||
bool Hook_ReloadPost();
|
||||
void Hook_SetTransmit(CCheckTransmitInfo *pInfo, bool bAlways);
|
||||
bool Hook_ShouldCollide(int collisonGroup, int contentsMask);
|
||||
void Hook_Spawn();
|
||||
void Hook_SpawnPost();
|
||||
void Hook_StartTouch(CBaseEntity *pOther);
|
||||
void Hook_StartTouchPost(CBaseEntity *pOther);
|
||||
void Hook_Think();
|
||||
void Hook_ThinkPost();
|
||||
void Hook_Touch(CBaseEntity *pOther);
|
||||
void Hook_TouchPost(CBaseEntity *pOther);
|
||||
#if SOURCE_ENGINE == SE_ORANGEBOXVALVE || SOURCE_ENGINE == SE_CSS
|
||||
void Hook_TraceAttack(CTakeDamageInfoHack &info, const Vector &vecDir, trace_t *ptr, void *pUnknownJK);
|
||||
void Hook_TraceAttackPost(CTakeDamageInfoHack &info, const Vector &vecDir, trace_t *ptr, void *pUnknownJK);
|
||||
#else
|
||||
void Hook_TraceAttack(CTakeDamageInfoHack &info, const Vector &vecDir, trace_t *ptr);
|
||||
void Hook_TraceAttackPost(CTakeDamageInfoHack &info, const Vector &vecDir, trace_t *ptr);
|
||||
#endif
|
||||
void Hook_UpdateOnRemove();
|
||||
void Hook_Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
|
||||
void Hook_UsePost(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
|
||||
void Hook_VPhysicsUpdate(IPhysicsObject *pPhysics);
|
||||
void Hook_VPhysicsUpdatePost(IPhysicsObject *pPhysics);
|
||||
bool Hook_WeaponCanSwitchTo(CBaseCombatWeapon *pWeapon);
|
||||
bool Hook_WeaponCanSwitchToPost(CBaseCombatWeapon *pWeapon);
|
||||
bool Hook_WeaponCanUse(CBaseCombatWeapon *pWeapon);
|
||||
bool Hook_WeaponCanUsePost(CBaseCombatWeapon *pWeapon);
|
||||
void Hook_WeaponDrop(CBaseCombatWeapon *pWeapon, const Vector *pvecTarget, const Vector *pVelocity);
|
||||
void Hook_WeaponDropPost(CBaseCombatWeapon *pWeapon, const Vector *pvecTarget, const Vector *pVelocity);
|
||||
void Hook_WeaponEquip(CBaseCombatWeapon *pWeapon);
|
||||
void Hook_WeaponEquipPost(CBaseCombatWeapon *pWeapon);
|
||||
bool Hook_WeaponSwitch(CBaseCombatWeapon *pWeapon, int viewmodelindex);
|
||||
bool Hook_WeaponSwitchPost(CBaseCombatWeapon *pWeapon, int viewmodelindex);
|
||||
|
||||
private:
|
||||
void RemoveEntityHooks(CBaseEntity *pEnt);
|
||||
};
|
||||
|
||||
extern CGlobalVars *gpGlobals;
|
||||
extern CUtlVector<HookList> g_HookList;
|
||||
|
||||
extern ICvar *icvar;
|
||||
#endif // _INCLUDE_SOURCEMOD_EXTENSION_PROPER_H_
|
55
extensions/sdkhooks/macros.h
Normal file
55
extensions/sdkhooks/macros.h
Normal file
@ -0,0 +1,55 @@
|
||||
/**
|
||||
* vim: set ts=4 :
|
||||
* =============================================================================
|
||||
* Source SDK Hooks Extension
|
||||
* Copyright (C) 2010-2012 Nicholas Hastings
|
||||
* Copyright (C) 2009-2010 Erik Minekus
|
||||
* =============================================================================
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it under
|
||||
* the terms of the GNU General Public License, version 3.0, as published by the
|
||||
* Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
* this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* As a special exception, AlliedModders LLC gives you permission to link the
|
||||
* code of this program (as well as its derivative works) to "Half-Life 2," the
|
||||
* "Source Engine," the "SourcePawn JIT," and any Game MODs that run on software
|
||||
* by the Valve Corporation. You must obey the GNU General Public License in
|
||||
* all respects for all other code used. Additionally, AlliedModders LLC grants
|
||||
* this exception to all derivative works. AlliedModders LLC defines further
|
||||
* exceptions, found in LICENSE.txt (as of this writing, version JULY-31-2007),
|
||||
* or <http://www.sourcemod.net/license.php>.
|
||||
*
|
||||
* Version: $Id$
|
||||
*/
|
||||
|
||||
#define SET_PRE_true(gamedataname) g_HookTypes[SDKHook_##gamedataname].supported = true;
|
||||
#define SET_PRE_false(gamedataname)
|
||||
#define SET_POST_true(gamedataname) g_HookTypes[SDKHook_##gamedataname##Post].supported = true;
|
||||
#define SET_POST_false(gamedataname)
|
||||
|
||||
#define CHECKOFFSET(gamedataname, supportsPre, supportsPost) \
|
||||
offset = 0; \
|
||||
g_pGameConf->GetOffset(#gamedataname, &offset); \
|
||||
if (offset > 0) \
|
||||
SH_MANUALHOOK_RECONFIGURE(gamedataname, offset, 0, 0); \
|
||||
SET_PRE_##supportsPre(gamedataname) \
|
||||
SET_POST_##supportsPost(gamedataname)
|
||||
|
||||
#define CHECKOFFSET_W(gamedataname, supportsPre, supportsPost) \
|
||||
offset = 0; \
|
||||
g_pGameConf->GetOffset("Weapon_"#gamedataname, &offset); \
|
||||
if (offset > 0) \
|
||||
SH_MANUALHOOK_RECONFIGURE(Weapon_##gamedataname, offset, 0, 0); \
|
||||
SET_PRE_##supportsPre(Weapon##gamedataname) \
|
||||
SET_POST_##supportsPost(Weapon##gamedataname)
|
||||
|
||||
#define HOOKLOOP \
|
||||
for(int i = g_HookList.Count() - 1; i >= 0; i--)
|
65
extensions/sdkhooks/msvc10/sdk.sln
Normal file
65
extensions/sdkhooks/msvc10/sdk.sln
Normal file
@ -0,0 +1,65 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Visual Studio 2010
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDKHooks", "sdk.vcxproj", "{B3E797CF-4E77-4C9D-B8A8-7589B6902206}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug - Alien Swarm|Win32 = Debug - Alien Swarm|Win32
|
||||
Debug - Bloody Good Time|Win32 = Debug - Bloody Good Time|Win32
|
||||
Debug - Dark Messiah|Win32 = Debug - Dark Messiah|Win32
|
||||
Debug - Left 4 Dead 2|Win32 = Debug - Left 4 Dead 2|Win32
|
||||
Debug - Left 4 Dead|Win32 = Debug - Left 4 Dead|Win32
|
||||
Debug - Old Metamod|Win32 = Debug - Old Metamod|Win32
|
||||
Debug - Orange Box Valve|Win32 = Debug - Orange Box Valve|Win32
|
||||
Debug - Orange Box|Win32 = Debug - Orange Box|Win32
|
||||
Release - Alien Swarm|Win32 = Release - Alien Swarm|Win32
|
||||
Release - Bloody Good Time|Win32 = Release - Bloody Good Time|Win32
|
||||
Release - CS GO|Win32 = Release - CS GO|Win32
|
||||
Release - Dark Messiah|Win32 = Release - Dark Messiah|Win32
|
||||
Release - Left 4 Dead 2|Win32 = Release - Left 4 Dead 2|Win32
|
||||
Release - Left 4 Dead|Win32 = Release - Left 4 Dead|Win32
|
||||
Release - Old Metamod|Win32 = Release - Old Metamod|Win32
|
||||
Release - Orange Box Valve|Win32 = Release - Orange Box Valve|Win32
|
||||
Release - Orange Box|Win32 = Release - Orange Box|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Debug - Alien Swarm|Win32.ActiveCfg = Debug - Alien Swarm|Win32
|
||||
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Debug - Alien Swarm|Win32.Build.0 = Debug - Alien Swarm|Win32
|
||||
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Debug - Bloody Good Time|Win32.ActiveCfg = Debug - Bloody Good Time|Win32
|
||||
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Debug - Bloody Good Time|Win32.Build.0 = Debug - Bloody Good Time|Win32
|
||||
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Debug - Dark Messiah|Win32.ActiveCfg = Debug - Dark Messiah|Win32
|
||||
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Debug - Dark Messiah|Win32.Build.0 = Debug - Dark Messiah|Win32
|
||||
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Debug - Left 4 Dead 2|Win32.ActiveCfg = Debug - Left 4 Dead 2|Win32
|
||||
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Debug - Left 4 Dead 2|Win32.Build.0 = Debug - Left 4 Dead 2|Win32
|
||||
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Debug - Left 4 Dead|Win32.ActiveCfg = Debug - Left 4 Dead|Win32
|
||||
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Debug - Left 4 Dead|Win32.Build.0 = Debug - Left 4 Dead|Win32
|
||||
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Debug - Old Metamod|Win32.ActiveCfg = Debug - Old Metamod|Win32
|
||||
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Debug - Old Metamod|Win32.Build.0 = Debug - Old Metamod|Win32
|
||||
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Debug - Orange Box Valve|Win32.ActiveCfg = Debug - Orange Box Valve|Win32
|
||||
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Debug - Orange Box Valve|Win32.Build.0 = Debug - Orange Box Valve|Win32
|
||||
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Debug - Orange Box|Win32.ActiveCfg = Debug - Orange Box|Win32
|
||||
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Debug - Orange Box|Win32.Build.0 = Debug - Orange Box|Win32
|
||||
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Release - Alien Swarm|Win32.ActiveCfg = Release - Alien Swarm|Win32
|
||||
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Release - Alien Swarm|Win32.Build.0 = Release - Alien Swarm|Win32
|
||||
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Release - Bloody Good Time|Win32.ActiveCfg = Release - Bloody Good Time|Win32
|
||||
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Release - Bloody Good Time|Win32.Build.0 = Release - Bloody Good Time|Win32
|
||||
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Release - CS GO|Win32.ActiveCfg = Release - CS GO|Win32
|
||||
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Release - CS GO|Win32.Build.0 = Release - CS GO|Win32
|
||||
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Release - Dark Messiah|Win32.ActiveCfg = Release - Dark Messiah|Win32
|
||||
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Release - Dark Messiah|Win32.Build.0 = Release - Dark Messiah|Win32
|
||||
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Release - Left 4 Dead 2|Win32.ActiveCfg = Release - Left 4 Dead 2|Win32
|
||||
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Release - Left 4 Dead 2|Win32.Build.0 = Release - Left 4 Dead 2|Win32
|
||||
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Release - Left 4 Dead|Win32.ActiveCfg = Release - Left 4 Dead|Win32
|
||||
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Release - Left 4 Dead|Win32.Build.0 = Release - Left 4 Dead|Win32
|
||||
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Release - Old Metamod|Win32.ActiveCfg = Release - Old Metamod|Win32
|
||||
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Release - Old Metamod|Win32.Build.0 = Release - Old Metamod|Win32
|
||||
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Release - Orange Box Valve|Win32.ActiveCfg = Release - Orange Box Valve|Win32
|
||||
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Release - Orange Box Valve|Win32.Build.0 = Release - Orange Box Valve|Win32
|
||||
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Release - Orange Box|Win32.ActiveCfg = Release - Orange Box|Win32
|
||||
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Release - Orange Box|Win32.Build.0 = Release - Orange Box|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
765
extensions/sdkhooks/msvc10/sdk.vcxproj
Normal file
765
extensions/sdkhooks/msvc10/sdk.vcxproj
Normal file
@ -0,0 +1,765 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug - Alien Swarm|Win32">
|
||||
<Configuration>Debug - Alien Swarm</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug - Bloody Good Time|Win32">
|
||||
<Configuration>Debug - Bloody Good Time</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug - Dark Messiah|Win32">
|
||||
<Configuration>Debug - Dark Messiah</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug - Left 4 Dead 2|Win32">
|
||||
<Configuration>Debug - Left 4 Dead 2</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug - Left 4 Dead|Win32">
|
||||
<Configuration>Debug - Left 4 Dead</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug - Old Metamod|Win32">
|
||||
<Configuration>Debug - Old Metamod</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug - Orange Box Valve|Win32">
|
||||
<Configuration>Debug - Orange Box Valve</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug - Orange Box|Win32">
|
||||
<Configuration>Debug - Orange Box</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release - Alien Swarm|Win32">
|
||||
<Configuration>Release - Alien Swarm</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release - Bloody Good Time|Win32">
|
||||
<Configuration>Release - Bloody Good Time</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release - CS GO|Win32">
|
||||
<Configuration>Release - CS GO</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release - Dark Messiah|Win32">
|
||||
<Configuration>Release - Dark Messiah</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release - Left 4 Dead 2|Win32">
|
||||
<Configuration>Release - Left 4 Dead 2</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release - Left 4 Dead|Win32">
|
||||
<Configuration>Release - Left 4 Dead</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release - Old Metamod|Win32">
|
||||
<Configuration>Release - Old Metamod</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release - Orange Box Valve|Win32">
|
||||
<Configuration>Release - Orange Box Valve</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release - Orange Box|Win32">
|
||||
<Configuration>Release - Orange Box</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectName>SDKHooks</ProjectName>
|
||||
<ProjectGuid>{B3E797CF-4E77-4C9D-B8A8-7589B6902206}</ProjectGuid>
|
||||
<RootNamespace>sdk</RootNamespace>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release - Alien Swarm|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release - CS GO|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug - Alien Swarm|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release - Left 4 Dead 2|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug - Left 4 Dead 2|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release - Left 4 Dead|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug - Left 4 Dead|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release - Orange Box Valve|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug - Orange Box Valve|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release - Bloody Good Time|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug - Bloody Good Time|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release - Orange Box|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug - Orange Box|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release - Dark Messiah|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug - Dark Messiah|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release - Old Metamod|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug - Old Metamod|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release - Alien Swarm|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release - CS GO|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug - Alien Swarm|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release - Left 4 Dead 2|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug - Left 4 Dead 2|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release - Left 4 Dead|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug - Left 4 Dead|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release - Orange Box Valve|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug - Orange Box Valve|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release - Bloody Good Time|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug - Bloody Good Time|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release - Orange Box|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug - Orange Box|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release - Dark Messiah|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug - Dark Messiah|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release - Old Metamod|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug - Old Metamod|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug - Old Metamod|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug - Old Metamod|Win32'">$(Configuration)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug - Old Metamod|Win32'">true</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release - Old Metamod|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release - Old Metamod|Win32'">$(Configuration)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release - Old Metamod|Win32'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug - Dark Messiah|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug - Dark Messiah|Win32'">$(Configuration)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug - Dark Messiah|Win32'">true</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release - Dark Messiah|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release - Dark Messiah|Win32'">$(Configuration)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release - Dark Messiah|Win32'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug - Orange Box|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug - Orange Box|Win32'">$(Configuration)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug - Orange Box|Win32'">true</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release - Orange Box|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release - Orange Box|Win32'">$(Configuration)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release - Orange Box|Win32'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug - Bloody Good Time|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug - Bloody Good Time|Win32'">$(Configuration)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug - Bloody Good Time|Win32'">true</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release - Bloody Good Time|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release - Bloody Good Time|Win32'">$(Configuration)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release - Bloody Good Time|Win32'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug - Orange Box Valve|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug - Orange Box Valve|Win32'">$(Configuration)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug - Orange Box Valve|Win32'">true</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release - Orange Box Valve|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release - Orange Box Valve|Win32'">$(Configuration)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release - Orange Box Valve|Win32'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug - Left 4 Dead|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug - Left 4 Dead|Win32'">$(Configuration)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug - Left 4 Dead|Win32'">true</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release - Left 4 Dead|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release - Left 4 Dead|Win32'">$(Configuration)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release - Left 4 Dead|Win32'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug - Left 4 Dead 2|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug - Left 4 Dead 2|Win32'">$(Configuration)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug - Left 4 Dead 2|Win32'">true</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release - Left 4 Dead 2|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release - Left 4 Dead 2|Win32'">$(Configuration)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release - Left 4 Dead 2|Win32'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug - Alien Swarm|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug - Alien Swarm|Win32'">$(Configuration)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug - Alien Swarm|Win32'">true</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release - Alien Swarm|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release - CS GO|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release - Alien Swarm|Win32'">$(Configuration)\</IntDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release - CS GO|Win32'">$(Configuration)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release - Alien Swarm|Win32'">false</LinkIncremental>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release - CS GO|Win32'">false</LinkIncremental>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release - Orange Box Valve|Win32'">$(ProjectName)</TargetName>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug - Old Metamod|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalOptions>/D SE_EPISODEONE=1 /D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_BLOODYGOODTIME=4 /D SE_ORANGEBOXVALVE=5 /D SE_LEFT4DEAD=6 /D SE_LEFT4DEAD2=7 /D SE_ALIENSWARM=8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..;..\sdk;$(SOURCEMOD13)\public;$(SOURCEMOD13)\public\extensions;$(SOURCEMOD13)\public\sourcepawn;$(HL2SDK)\dlls;$(HL2SDK)\game_shared;$(HL2SDK)\public;$(HL2SDK)\public\dlls;$(HL2SDK)\public\engine;$(HL2SDK)\public\tier0;$(HL2SDK)\public\tier1;$(MMSOURCE18)\core-legacy;$(MMSOURCE18)\core-legacy\sourcehook;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;SDK_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD;SOURCE_ENGINE=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(HL2SDK)\lib\public\tier0.lib;$(HL2SDK)\lib\public\tier1.lib;$(HL2SDK)\lib\public\vstdlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)sdkhooks.ext.1.ep1.dll</OutputFile>
|
||||
<IgnoreSpecificDefaultLibraries>LIBC;LIBCD;LIBCMT;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release - Old Metamod|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalOptions>/MP /D SE_EPISODEONE=1 /D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_BLOODYGOODTIME=4 /D SE_ORANGEBOXVALVE=5 /D SE_LEFT4DEAD=6 /D SE_LEFT4DEAD2=7 /D SE_ALIENSWARM=8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<AdditionalIncludeDirectories>..;..\sdk;$(SOURCEMOD13)\public;$(SOURCEMOD13)\public\extensions;$(SOURCEMOD13)\public\sourcepawn;$(HL2SDK)\dlls;$(HL2SDK)\game_shared;$(HL2SDK)\public;$(HL2SDK)\public\dlls;$(HL2SDK)\public\engine;$(HL2SDK)\public\tier0;$(HL2SDK)\public\tier1;$(MMSOURCE18)\core-legacy;$(MMSOURCE18)\core-legacy\sourcehook;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;SDK_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD;SOURCE_ENGINE=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(HL2SDK)\lib\public\tier0.lib;$(HL2SDK)\lib\public\tier1.lib;$(HL2SDK)\lib\public\vstdlib.lib;$(HL2SDK)\lib\public\mathlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)sdkhooks.ext.1.ep1.dll</OutputFile>
|
||||
<IgnoreSpecificDefaultLibraries>LIBC;LIBCD;LIBCMTD;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug - Dark Messiah|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalOptions>/MP /D SE_EPISODEONE=1 /D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_BLOODYGOODTIME=4 /D SE_ORANGEBOXVALVE=5 /D SE_LEFT4DEAD=6 /D SE_LEFT4DEAD2=7 /D SE_ALIENSWARM=8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..;..\sdk;$(SOURCEMOD13)\public;$(SOURCEMOD13)\public\extensions;$(SOURCEMOD13)\public\sourcepawn;$(HL2SDK-DARKM)\dlls;$(HL2SDK-DARKM)\game_shared;$(HL2SDK-DARKM)\public;$(HL2SDK-DARKM)\public\dlls;$(HL2SDK-DARKM)\public\engine;$(HL2SDK-DARKM)\public\tier0;$(HL2SDK-DARKM)\public\tier1;$(MMSOURCE18)\core;$(MMSOURCE18)\core\sourcehook;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;SDK_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD;SOURCE_ENGINE=2;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(HL2SDK-DARKM)\lib\public\tier0.lib;$(HL2SDK-DARKM)\lib\public\tier1.lib;$(HL2SDK-DARKM)\lib\public\vstdlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)sdkhooks.ext.2.darkm.dll</OutputFile>
|
||||
<IgnoreSpecificDefaultLibraries>LIBC;LIBCD;LIBCMT;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release - Dark Messiah|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalOptions>/MP /D SE_EPISODEONE=1 /D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_BLOODYGOODTIME=4 /D SE_ORANGEBOXVALVE=5 /D SE_LEFT4DEAD=6 /D SE_LEFT4DEAD2=7 /D SE_ALIENSWARM=8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<AdditionalIncludeDirectories>..;..\sdk;$(SOURCEMOD13)\public;$(SOURCEMOD13)\public\extensions;$(SOURCEMOD13)\public\sourcepawn;$(HL2SDK-DARKM)\dlls;$(HL2SDK-DARKM)\game_shared;$(HL2SDK-DARKM)\public;$(HL2SDK-DARKM)\public\dlls;$(HL2SDK-DARKM)\public\engine;$(HL2SDK-DARKM)\public\tier0;$(HL2SDK-DARKM)\public\tier1;$(MMSOURCE18)\core;$(MMSOURCE18)\core\sourcehook;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;SDK_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD;SOURCE_ENGINE=2;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(HL2SDK-DARKM)\lib\public\tier0.lib;$(HL2SDK-DARKM)\lib\public\tier1.lib;$(HL2SDK-DARKM)\lib\public\vstdlib.lib;$(HL2SDK-DARKM)\lib\public\mathlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)sdkhooks.ext.2.darkm.dll</OutputFile>
|
||||
<IgnoreSpecificDefaultLibraries>LIBC;LIBCD;LIBCMTD;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug - Orange Box|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalOptions>/MP /D SE_EPISODEONE=1 /D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_BLOODYGOODTIME=4 /D SE_ORANGEBOXVALVE=5 /D SE_LEFT4DEAD=6 /D SE_LEFT4DEAD2=7 /D SE_ALIENSWARM=8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..;..\sdk;$(SOURCEMOD13)\public;$(SOURCEMOD13)\public\extensions;$(SOURCEMOD13)\public\sourcepawn;$(HL2SDKOB)\game\server;$(HL2SDKOB)\game\shared;$(HL2SDKOB)\public;$(HL2SDKOB)\public\engine;$(HL2SDKOB)\public\game\server;$(HL2SDKOB)\public\tier0;$(HL2SDKOB)\public\tier1;$(MMSOURCE18)\core;$(MMSOURCE18)\core\sourcehook;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;SDK_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD;SOURCE_ENGINE=3;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(HL2SDKOB)\lib\public\tier0.lib;$(HL2SDKOB)\lib\public\tier1.lib;$(HL2SDKOB)\lib\public\vstdlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)sdkhooks.ext.2.ep2.dll</OutputFile>
|
||||
<IgnoreSpecificDefaultLibraries>LIBC;LIBCD;LIBCMT;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release - Orange Box|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalOptions>/MP /D SE_EPISODEONE=1 /D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_BLOODYGOODTIME=4 /D SE_ORANGEBOXVALVE=5 /D SE_LEFT4DEAD=6 /D SE_LEFT4DEAD2=7 /D SE_ALIENSWARM=8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<AdditionalIncludeDirectories>..;..\sdk;$(SOURCEMOD13)\public;$(SOURCEMOD13)\public\extensions;$(SOURCEMOD13)\public\sourcepawn;$(HL2SDKOB)\game\server;$(HL2SDKOB)\game\shared;$(HL2SDKOB)\public;$(HL2SDKOB)\public\engine;$(HL2SDKOB)\public\game\server;$(HL2SDKOB)\public\tier0;$(HL2SDKOB)\public\tier1;$(MMSOURCE18)\core;$(MMSOURCE18)\core\sourcehook;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;SDK_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD;SOURCE_ENGINE=3;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(HL2SDKOB)\lib\public\tier0.lib;$(HL2SDKOB)\lib\public\tier1.lib;$(HL2SDKOB)\lib\public\vstdlib.lib;$(HL2SDKOB)\lib\public\mathlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)sdkhooks.ext.2.ep2.dll</OutputFile>
|
||||
<IgnoreSpecificDefaultLibraries>LIBC;LIBCD;LIBCMTD;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug - Bloody Good Time|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalOptions>/MP /D SE_EPISODEONE=1 /D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_BLOODYGOODTIME=4 /D SE_ORANGEBOXVALVE=5 /D SE_LEFT4DEAD=6 /D SE_LEFT4DEAD2=7 /D SE_ALIENSWARM=8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..;..\sdk;$(SOURCEMOD13)\public;$(SOURCEMOD13)\public\extensions;$(SOURCEMOD13)\public\sourcepawn;$(HL2SDK-BGT)\game\server;$(HL2SDK-BGT)\game\shared;$(HL2SDK-BGT)\public;$(HL2SDK-BGT)\public\engine;$(HL2SDK-BGT)\public\game\server;$(HL2SDK-BGT)\public\tier0;$(HL2SDK-BGT)\public\tier1;$(MMSOURCE18)\core;$(MMSOURCE18)\core\sourcehook;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;SDK_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD;SOURCE_ENGINE=4;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(HL2SDK-BGT)\lib\public\tier0.lib;$(HL2SDK-BGT)\lib\public\tier1.lib;$(HL2SDK-BGT)\lib\public\vstdlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)sdkhooks.ext.2.bgt.dll</OutputFile>
|
||||
<IgnoreSpecificDefaultLibraries>LIBC;LIBCD;LIBCMT;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release - Bloody Good Time|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalOptions>/MP /D SE_EPISODEONE=1 /D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_BLOODYGOODTIME=4 /D SE_ORANGEBOXVALVE=5 /D SE_LEFT4DEAD=6 /D SE_LEFT4DEAD2=7 /D SE_ALIENSWARM=8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<AdditionalIncludeDirectories>..;..\sdk;$(SOURCEMOD13)\public;$(SOURCEMOD13)\public\extensions;$(SOURCEMOD13)\public\sourcepawn;$(HL2SDK-BGT)\game\server;$(HL2SDK-BGT)\game\shared;$(HL2SDK-BGT)\public;$(HL2SDK-BGT)\public\engine;$(HL2SDK-BGT)\public\game\server;$(HL2SDK-BGT)\public\tier0;$(HL2SDK-BGT)\public\tier1;$(MMSOURCE18)\core;$(MMSOURCE18)\core\sourcehook;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;SDK_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD;SOURCE_ENGINE=4;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(HL2SDK-BGT)\lib\public\tier0.lib;$(HL2SDK-BGT)\lib\public\tier1.lib;$(HL2SDK-BGT)\lib\public\vstdlib.lib;$(HL2SDK-BGT)\lib\public\mathlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)sdkhooks.ext.2.bgt.dll</OutputFile>
|
||||
<IgnoreSpecificDefaultLibraries>LIBC;LIBCD;LIBCMTD;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug - Orange Box Valve|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalOptions>/MP /D SE_EPISODEONE=1 /D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_BLOODYGOODTIME=4 /D SE_ORANGEBOXVALVE=5 /D SE_LEFT4DEAD=6 /D SE_LEFT4DEAD2=7 /D SE_ALIENSWARM=8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..;..\sdk;$(SOURCEMOD13)\public;$(SOURCEMOD13)\public\extensions;$(SOURCEMOD13)\public\sourcepawn;$(HL2SDKOBVALVE)\game\server;$(HL2SDKOBVALVE)\game\shared;$(HL2SDKOBVALVE)\public;$(HL2SDKOBVALVE)\public\engine;$(HL2SDKOBVALVE)\public\game\server;$(HL2SDKOBVALVE)\public\tier0;$(HL2SDKOBVALVE)\public\tier1;$(MMSOURCE18)\core;$(MMSOURCE18)\core\sourcehook;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;SDK_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD;SOURCE_ENGINE=4;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(HL2SDKOBVALVE)\lib\public\tier0.lib;$(HL2SDKOBVALVE)\lib\public\tier1.lib;$(HL2SDKOBVALVE)\lib\public\vstdlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)sdkhooks.ext.2.ep2v.dll</OutputFile>
|
||||
<IgnoreSpecificDefaultLibraries>LIBC;LIBCD;LIBCMT;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release - Orange Box Valve|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalOptions>/MP /D SE_EPISODEONE=1 /D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_BLOODYGOODTIME=4 /D SE_ORANGEBOXVALVE=5 /D SE_LEFT4DEAD=6 /D SE_LEFT4DEAD2=7 /D SE_ALIENSWARM=8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<AdditionalIncludeDirectories>..;..\sdk;$(SOURCEMOD13)\public;$(SOURCEMOD13)\public\extensions;$(SOURCEMOD13)\public\sourcepawn;$(HL2SDKOBVALVE)\game\server;$(HL2SDKOBVALVE)\game\shared;$(HL2SDKOBVALVE)\public;$(HL2SDKOBVALVE)\public\engine;$(HL2SDKOBVALVE)\public\game\server;$(HL2SDKOBVALVE)\public\tier0;$(HL2SDKOBVALVE)\public\tier1;$(MMSOURCE18)\core;$(MMSOURCE18)\core\sourcehook;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;SDK_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD;SOURCE_ENGINE=5;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(HL2SDKOBVALVE)\lib\public\tier0.lib;$(HL2SDKOBVALVE)\lib\public\tier1.lib;$(HL2SDKOBVALVE)\lib\public\vstdlib.lib;$(HL2SDKOBVALVE)\lib\public\mathlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)sdkhooks.ext.2.ep2v.dll</OutputFile>
|
||||
<IgnoreSpecificDefaultLibraries>LIBC;LIBCD;LIBCMTD;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug - Left 4 Dead|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalOptions>/MP /D SE_EPISODEONE=1 /D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_BLOODYGOODTIME=4 /D SE_ORANGEBOXVALVE=5 /D SE_LEFT4DEAD=6 /D SE_LEFT4DEAD2=7 /D SE_ALIENSWARM=8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..;..\sdk;$(SOURCEMOD13)\public;$(SOURCEMOD13)\public\extensions;$(SOURCEMOD13)\public\sourcepawn;$(HL2SDKL4D)\game\server;$(HL2SDKL4D)\game\shared;$(HL2SDKL4D)\public;$(HL2SDKL4D)\public\engine;$(HL2SDKL4D)\public\game\server;$(HL2SDKL4D)\public\tier0;$(HL2SDKL4D)\public\tier1;$(MMSOURCE18)\core;$(MMSOURCE18)\core\sourcehook;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;SDK_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD;SOURCE_ENGINE=5;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(HL2SDKL4D)\lib\public\tier0.lib;$(HL2SDKL4D)\lib\public\tier1.lib;$(HL2SDKL4D)\lib\public\vstdlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)sdkhooks.ext.2.l4d.dll</OutputFile>
|
||||
<IgnoreSpecificDefaultLibraries>LIBC;LIBCD;LIBCMT;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release - Left 4 Dead|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalOptions>/MP /D SE_EPISODEONE=1 /D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_BLOODYGOODTIME=4 /D SE_ORANGEBOXVALVE=5 /D SE_LEFT4DEAD=6 /D SE_LEFT4DEAD2=7 /D SE_ALIENSWARM=8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<AdditionalIncludeDirectories>..;..\sdk;$(SOURCEMOD13)\public;$(SOURCEMOD13)\public\extensions;$(SOURCEMOD13)\public\sourcepawn;$(HL2SDKL4D)\game\server;$(HL2SDKL4D)\game\shared;$(HL2SDKL4D)\public;$(HL2SDKL4D)\public\engine;$(HL2SDKL4D)\public\game\server;$(HL2SDKL4D)\public\tier0;$(HL2SDKL4D)\public\tier1;$(MMSOURCE18)\core;$(MMSOURCE18)\core\sourcehook;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;SDK_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD;SOURCE_ENGINE=6;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(HL2SDKL4D)\lib\public\tier0.lib;$(HL2SDKL4D)\lib\public\tier1.lib;$(HL2SDKL4D)\lib\public\vstdlib.lib;$(HL2SDKL4D)\lib\public\mathlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)sdkhooks.ext.2.l4d.dll</OutputFile>
|
||||
<IgnoreSpecificDefaultLibraries>LIBC;LIBCD;LIBCMTD;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug - Left 4 Dead 2|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalOptions>/MP /D SE_EPISODEONE=1 /D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_BLOODYGOODTIME=4 /D SE_ORANGEBOXVALVE=5 /D SE_LEFT4DEAD=6 /D SE_LEFT4DEAD2=7 /D SE_ALIENSWARM=8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..;..\sdk;$(SOURCEMOD13)\public;$(SOURCEMOD13)\public\extensions;$(SOURCEMOD13)\public\sourcepawn;$(HL2SDKL4D2)\game\server;$(HL2SDKL4D2)\game\shared;$(HL2SDKL4D2)\public;$(HL2SDKL4D2)\public\engine;$(HL2SDKL4D2)\public\game\server;$(HL2SDKL4D2)\public\tier0;$(HL2SDKL4D2)\public\tier1;$(MMSOURCE18)\core;$(MMSOURCE18)\core\sourcehook;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;SDK_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD;SOURCE_ENGINE=6;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(HL2SDKL4D2)\lib\public\tier0.lib;$(HL2SDKL4D2)\lib\public\tier1.lib;$(HL2SDKL4D2)\lib\public\vstdlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)sdkhooks.ext.2.l4d2.dll</OutputFile>
|
||||
<IgnoreSpecificDefaultLibraries>LIBC;LIBCD;LIBCMT;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release - Left 4 Dead 2|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalOptions>/MP /D SE_EPISODEONE=1 /D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_BLOODYGOODTIME=4 /D SE_ORANGEBOXVALVE=5 /D SE_LEFT4DEAD=6 /D SE_LEFT4DEAD2=7 /D SE_ALIENSWARM=8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<AdditionalIncludeDirectories>..;..\sdk;$(SOURCEMOD13)\public;$(SOURCEMOD13)\public\extensions;$(SOURCEMOD13)\public\sourcepawn;$(HL2SDKL4D2)\game\server;$(HL2SDKL4D2)\game\shared;$(HL2SDKL4D2)\public;$(HL2SDKL4D2)\public\engine;$(HL2SDKL4D2)\public\game\server;$(HL2SDKL4D2)\public\tier0;$(HL2SDKL4D2)\public\tier1;$(MMSOURCE18)\core;$(MMSOURCE18)\core\sourcehook;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;SDK_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD;SOURCE_ENGINE=7;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(HL2SDKL4D2)\lib\public\tier0.lib;$(HL2SDKL4D2)\lib\public\tier1.lib;$(HL2SDKL4D2)\lib\public\vstdlib.lib;$(HL2SDKL4D2)\lib\public\mathlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)sdkhooks.ext.2.l4d2.dll</OutputFile>
|
||||
<IgnoreSpecificDefaultLibraries>LIBC;LIBCD;LIBCMTD;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug - Alien Swarm|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalOptions>/MP /D SE_EPISODEONE=1 /D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_BLOODYGOODTIME=4 /D SE_ORANGEBOXVALVE=5 /D SE_LEFT4DEAD=6 /D SE_LEFT4DEAD2=7 /D SE_ALIENSWARM=8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..;..\sdk;$(SOURCEMOD13)\public;$(SOURCEMOD13)\public\extensions;$(SOURCEMOD13)\public\sourcepawn;$(HL2SDK-SWARM)\game\server;$(HL2SDK-SWARM)\game\shared;$(HL2SDK-SWARM)\public;$(HL2SDK-SWARM)\public\engine;$(HL2SDK-SWARM)\public\game\server;$(HL2SDK-SWARM)\public\tier0;$(HL2SDK-SWARM)\public\tier1;$(MMSOURCE18)\core;$(MMSOURCE18)\core\sourcehook;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;SDK_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD;COMPILER_MSVC;COMPILER_MSVC32;SOURCE_ENGINE=7;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(HL2SDK-SWARM)\lib\public\interfaces.lib;$(HL2SDK-SWARM)\lib\public\tier0.lib;$(HL2SDK-SWARM)\lib\public\tier1.lib;$(HL2SDK-SWARM)\lib\public\vstdlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)sdkhooks.ext.2.swarm.dll</OutputFile>
|
||||
<IgnoreSpecificDefaultLibraries>LIBC;LIBCD;LIBCMT;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release - Alien Swarm|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalOptions>/MP /D SE_EPISODEONE=1 /D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_BLOODYGOODTIME=4 /D SE_ORANGEBOXVALVE=5 /D SE_LEFT4DEAD=6 /D SE_LEFT4DEAD2=7 /D SE_ALIENSWARM=8 /D COMPILER_MSVC /D COMPILER_MSVC32 %(AdditionalOptions)</AdditionalOptions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<AdditionalIncludeDirectories>..;..\sdk;$(SOURCEMOD13)\public;$(SOURCEMOD13)\public\extensions;$(SOURCEMOD13)\public\sourcepawn;$(HL2SDK-SWARM)\game\server;$(HL2SDK-SWARM)\game\shared;$(HL2SDK-SWARM)\public;$(HL2SDK-SWARM)\public\engine;$(HL2SDK-SWARM)\public\game\server;$(HL2SDK-SWARM)\public\tier0;$(HL2SDK-SWARM)\public\tier1;$(MMSOURCE18)\core;$(MMSOURCE18)\core\sourcehook;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;SDK_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD;COMPILER_MSVC;COMPILER_MSVC32;SOURCE_ENGINE=8;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(HL2SDK-SWARM)\lib\public\interfaces.lib;$(HL2SDK-SWARM)\lib\public\tier0.lib;$(HL2SDK-SWARM)\lib\public\tier1.lib;$(HL2SDK-SWARM)\lib\public\vstdlib.lib;$(HL2SDK-SWARM)\lib\public\mathlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)sdkhooks.ext.2.swarm.dll</OutputFile>
|
||||
<IgnoreSpecificDefaultLibraries>LIBC;LIBCD;LIBCMTD;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release - CS GO|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalOptions>/MP /D SE_EPISODEONE=1 /D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_BLOODYGOODTIME=4 /D SE_ORANGEBOXVALVE=5 /D SE_LEFT4DEAD=6 /D SE_LEFT4DEAD2=7 /D SE_ALIENSWARM=8 /D SE_CSGO=9 /D COMPILER_MSVC /D COMPILER_MSVC32 %(AdditionalOptions)</AdditionalOptions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<AdditionalIncludeDirectories>..;..\sdk;..\..\sourcemod-central\public;..\..\sourcemod-central\public\extensions;..\..\sourcemod-central\public\sourcepawn;c:\users\nshastings\desktop\sm\hl2sdks\hl2sdk-csgo\game\server;c:\users\nshastings\desktop\sm\hl2sdks\hl2sdk-csgo\\game\shared;c:\users\nshastings\desktop\sm\hl2sdks\hl2sdk-csgo\\public;c:\users\nshastings\desktop\sm\hl2sdks\hl2sdk-csgo\\public\engine;c:\users\nshastings\desktop\sm\hl2sdks\hl2sdk-csgo\\public\game\server;c:\users\nshastings\desktop\sm\hl2sdks\hl2sdk-csgo\\public\tier0;c:\users\nshastings\desktop\sm\hl2sdks\hl2sdk-csgo\\public\tier1;$(MMCENTRAL)\core;$(MMCENTRAL)\core\sourcehook;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;SDK_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD;COMPILER_MSVC;COMPILER_MSVC32;SOURCE_ENGINE=9;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>c:\users\nshastings\desktop\sm\hl2sdks\hl2sdk-csgo\lib\public\interfaces.lib;c:\users\nshastings\desktop\sm\hl2sdks\hl2sdk-csgo\lib\public\tier0.lib;c:\users\nshastings\desktop\sm\hl2sdks\hl2sdk-csgo\lib\public\tier1.lib;c:\users\nshastings\desktop\sm\hl2sdks\hl2sdk-csgo\lib\public\vstdlib.lib;c:\users\nshastings\desktop\sm\hl2sdks\hl2sdk-csgo\lib\public\mathlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)sdkhooks.ext.2.csgo.dll</OutputFile>
|
||||
<IgnoreSpecificDefaultLibraries>LIBC;LIBCD;LIBCMTD;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\extension.cpp" />
|
||||
<ClCompile Include="..\natives.cpp" />
|
||||
<ClCompile Include="..\sdk\smsdk_ext.cpp" />
|
||||
<ClCompile Include="..\takedamageinfohack.cpp" />
|
||||
<ClCompile Include="..\util.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\extension.h" />
|
||||
<ClInclude Include="..\macros.h" />
|
||||
<ClInclude Include="..\natives.h" />
|
||||
<ClInclude Include="..\sdk\smsdk_config.h" />
|
||||
<ClInclude Include="..\sdk\smsdk_ext.h" />
|
||||
<ClInclude Include="..\takedamageinfohack.h" />
|
||||
<ClInclude Include="..\util.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="..\version.rc" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
65
extensions/sdkhooks/msvc10/sdk.vcxproj.filters
Normal file
65
extensions/sdkhooks/msvc10/sdk.vcxproj.filters
Normal file
@ -0,0 +1,65 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="SourceMod SDK">
|
||||
<UniqueIdentifier>{31958233-BB2D-4e41-A8F9-CE8A4684F436}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\extension.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\natives.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\sdk\smsdk_ext.cpp">
|
||||
<Filter>SourceMod SDK</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\takedamageinfohack.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\helpers.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\extension.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\macros.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\natives.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\sdk\smsdk_config.h">
|
||||
<Filter>SourceMod SDK</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\sdk\smsdk_ext.h">
|
||||
<Filter>SourceMod SDK</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\takedamageinfohack.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\helpers.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="..\version.rc">
|
||||
<Filter>Resource Files</Filter>
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
242
extensions/sdkhooks/natives.cpp
Normal file
242
extensions/sdkhooks/natives.cpp
Normal file
@ -0,0 +1,242 @@
|
||||
/**
|
||||
* vim: set ts=4 :
|
||||
* =============================================================================
|
||||
* Source SDK Hooks Extension
|
||||
* Copyright (C) 2010-2012 Nicholas Hastings
|
||||
* Copyright (C) 2009-2010 Erik Minekus
|
||||
* =============================================================================
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it under
|
||||
* the terms of the GNU General Public License, version 3.0, as published by the
|
||||
* Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
* this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* As a special exception, AlliedModders LLC gives you permission to link the
|
||||
* code of this program (as well as its derivative works) to "Half-Life 2," the
|
||||
* "Source Engine," the "SourcePawn JIT," and any Game MODs that run on software
|
||||
* by the Valve Corporation. You must obey the GNU General Public License in
|
||||
* all respects for all other code used. Additionally, AlliedModders LLC grants
|
||||
* this exception to all derivative works. AlliedModders LLC defines further
|
||||
* exceptions, found in LICENSE.txt (as of this writing, version JULY-31-2007),
|
||||
* or <http://www.sourcemod.net/license.php>.
|
||||
*
|
||||
* Version: $Id$
|
||||
*/
|
||||
|
||||
#include "extension.h"
|
||||
#include "natives.h"
|
||||
#include <compat_wrappers.h>
|
||||
|
||||
#if defined SH_DECL_MANUALEXTERN1
|
||||
SH_DECL_MANUALEXTERN1(OnTakeDamage, int, CTakeDamageInfoHack &);
|
||||
SH_DECL_MANUALEXTERN3_void(Weapon_Drop, CBaseCombatWeapon *, const Vector *, const Vector *);
|
||||
#endif
|
||||
|
||||
cell_t Native_Hook(IPluginContext *pContext, const cell_t *params)
|
||||
{
|
||||
int entity = (int)params[1];
|
||||
SDKHookType type = (SDKHookType)params[2];
|
||||
IPluginFunction *callback = pContext->GetFunctionById(params[3]);
|
||||
HookReturn ret = g_Interface.Hook(entity, type, callback);
|
||||
switch (ret)
|
||||
{
|
||||
case HookRet_InvalidEntity:
|
||||
pContext->ThrowNativeError("Entity %d is invalid", entity);
|
||||
break;
|
||||
case HookRet_InvalidHookType:
|
||||
pContext->ThrowNativeError("Invalid hook type specified");
|
||||
break;
|
||||
case HookRet_NotSupported:
|
||||
pContext->ThrowNativeError("Hook type not supported on this game");
|
||||
break;
|
||||
case HookRet_BadEntForHookType:
|
||||
pContext->ThrowNativeError("Hook type not valid for this type of entity (%s)",
|
||||
PEntityOfEntIndex(gamehelpers->ReferenceToIndex(params[1]))->GetClassName()
|
||||
);
|
||||
break;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
cell_t Native_HookEx(IPluginContext *pContext, const cell_t *params)
|
||||
{
|
||||
int entity = (int)params[1];
|
||||
SDKHookType type = (SDKHookType)params[2];
|
||||
IPluginFunction *callback = pContext->GetFunctionById(params[3]);
|
||||
HookReturn ret = g_Interface.Hook(entity, type, callback);
|
||||
if (ret == HookRet_Successful)
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
cell_t Native_Unhook(IPluginContext *pContext, const cell_t *params)
|
||||
{
|
||||
int entity = (int)params[1];
|
||||
SDKHookType type = (SDKHookType)params[2];
|
||||
IPluginFunction *callback = pContext->GetFunctionById(params[3]);
|
||||
|
||||
for(int i = g_HookList.Count() - 1; i >= 0; i--)
|
||||
{
|
||||
if(g_HookList[i].entity == entity && g_HookList[i].type == type && g_HookList[i].callback == callback)
|
||||
g_Interface.Unhook(i);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
cell_t Native_TakeDamage(IPluginContext *pContext, const cell_t *params)
|
||||
{
|
||||
// todo: fix code to not require this >.<
|
||||
#if !defined SH_DECL_MANUALEXTERN1
|
||||
pContext->ThrowNativeError("SDKHooks_TakeDamage is not supported on this engine.");
|
||||
#else
|
||||
CBaseEntity *pVictim = UTIL_GetCBaseEntity(params[1]);
|
||||
if (!pVictim)
|
||||
return pContext->ThrowNativeError("Invalid entity index %d for victim", params[1]);
|
||||
|
||||
CBaseEntity *pInflictor = UTIL_GetCBaseEntity(params[2]);
|
||||
if (!pInflictor)
|
||||
return pContext->ThrowNativeError("Invalid entity index %d for inflictor", params[2]);
|
||||
|
||||
CBaseEntity *pAttacker = NULL;
|
||||
if (params[3] != -1)
|
||||
{
|
||||
pAttacker = UTIL_GetCBaseEntity(params[3]);
|
||||
if (!pAttacker)
|
||||
{
|
||||
return pContext->ThrowNativeError("Invalid entity index %d for attackerr", params[3]);
|
||||
}
|
||||
}
|
||||
|
||||
float flDamage = sp_ctof(params[4]);
|
||||
int iDamageType = params[5];
|
||||
|
||||
CBaseEntity *pWeapon = NULL;
|
||||
if (params[6] != -1)
|
||||
{
|
||||
pAttacker = UTIL_GetCBaseEntity(params[6]);
|
||||
if (!pAttacker)
|
||||
{
|
||||
return pContext->ThrowNativeError("Invalid entity index %d for weapon", params[6]);
|
||||
}
|
||||
}
|
||||
|
||||
Vector vecDamageForce = Vector(0.0f, 0.0f, 0.0f);
|
||||
cell_t *addr;
|
||||
int err;
|
||||
if ((err = pContext->LocalToPhysAddr(params[7], &addr)) != SP_ERROR_NONE)
|
||||
{
|
||||
return pContext->ThrowNativeError("Could not read damageForce vector");
|
||||
}
|
||||
|
||||
if (addr != pContext->GetNullRef(SP_NULL_VECTOR))
|
||||
{
|
||||
vecDamageForce = Vector(
|
||||
sp_ctof(addr[0]),
|
||||
sp_ctof(addr[1]),
|
||||
sp_ctof(addr[2]));
|
||||
}
|
||||
|
||||
Vector vecDamagePosition = vec3_origin;
|
||||
if ((err = pContext->LocalToPhysAddr(params[8], &addr)) != SP_ERROR_NONE)
|
||||
{
|
||||
return pContext->ThrowNativeError("Could not read damagePosition vector");
|
||||
}
|
||||
|
||||
if (addr != pContext->GetNullRef(SP_NULL_VECTOR))
|
||||
{
|
||||
vecDamagePosition = Vector(
|
||||
sp_ctof(addr[0]),
|
||||
sp_ctof(addr[1]),
|
||||
sp_ctof(addr[2]));
|
||||
}
|
||||
|
||||
CTakeDamageInfoHack info(pInflictor, pAttacker, flDamage, iDamageType, pWeapon, vecDamageForce, vecDamagePosition);
|
||||
SH_MCALL(pVictim, OnTakeDamage)((CTakeDamageInfoHack &)info);
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
cell_t Native_DropWeapon(IPluginContext *pContext, const cell_t *params)
|
||||
{
|
||||
// todo: fix code to not require this >.<
|
||||
#if !defined SH_DECL_MANUALEXTERN1
|
||||
pContext->ThrowNativeError("SDKHooks_DropWeapon is not supported on this engine.");
|
||||
#else
|
||||
CBaseEntity *pPlayer = UTIL_GetCBaseEntity(params[1], true);
|
||||
if (!pPlayer)
|
||||
return pContext->ThrowNativeError("Invalid client index %d", params[1]);
|
||||
|
||||
CBaseEntity *pWeapon = UTIL_GetCBaseEntity(params[2]);
|
||||
if (!pWeapon)
|
||||
return pContext->ThrowNativeError("Invalid entity index %d for weapon", params[2]);
|
||||
|
||||
sm_sendprop_info_t spi;
|
||||
IServerUnknown *pUnk = (IServerUnknown *)pWeapon;
|
||||
IServerNetworkable *pNet = pUnk->GetNetworkable();
|
||||
|
||||
if (!UTIL_FindDataTable(pNet->GetServerClass()->m_pTable, "DT_BaseCombatWeapon", &spi, 0))
|
||||
return pContext->ThrowNativeError("Entity index %d is not a weapon", params[2]);
|
||||
|
||||
if (!gamehelpers->FindSendPropInfo("CBaseCombatWeapon", "m_hOwnerEntity", &spi))
|
||||
return pContext->ThrowNativeError("Invalid entity index %d for weapon", params[2]);
|
||||
|
||||
CBaseHandle &hndl = *(CBaseHandle *)((uint8_t *)pWeapon + spi.actual_offset);
|
||||
if (params[1] != hndl.GetEntryIndex())
|
||||
return pContext->ThrowNativeError("Weapon %d is not owned by client %d", params[2], params[1]);
|
||||
|
||||
Vector vecTarget;
|
||||
cell_t *addr;
|
||||
int err;
|
||||
if ((err = pContext->LocalToPhysAddr(params[3], &addr)) != SP_ERROR_NONE)
|
||||
{
|
||||
return pContext->ThrowNativeError("Could not read vecTarget vector");
|
||||
}
|
||||
|
||||
if (addr != pContext->GetNullRef(SP_NULL_VECTOR))
|
||||
{
|
||||
vecTarget = Vector(
|
||||
sp_ctof(addr[0]),
|
||||
sp_ctof(addr[1]),
|
||||
sp_ctof(addr[2]));
|
||||
}
|
||||
else
|
||||
{
|
||||
SH_MCALL(pPlayer, Weapon_Drop)((CBaseCombatWeapon *)pWeapon, NULL, NULL);
|
||||
return 0;
|
||||
}
|
||||
|
||||
Vector vecVelocity;
|
||||
if ((err = pContext->LocalToPhysAddr(params[8], &addr)) != SP_ERROR_NONE)
|
||||
{
|
||||
return pContext->ThrowNativeError("Could not read vecVelocity vector");
|
||||
}
|
||||
|
||||
if (addr != pContext->GetNullRef(SP_NULL_VECTOR))
|
||||
{
|
||||
vecVelocity = Vector(
|
||||
sp_ctof(addr[0]),
|
||||
sp_ctof(addr[1]),
|
||||
sp_ctof(addr[2]));
|
||||
}
|
||||
else
|
||||
{
|
||||
SH_MCALL(pPlayer, Weapon_Drop)((CBaseCombatWeapon *)pWeapon, &vecTarget, NULL);
|
||||
return 0;
|
||||
}
|
||||
|
||||
SH_MCALL(pPlayer, Weapon_Drop)((CBaseCombatWeapon *)pWeapon, &vecTarget, &vecVelocity);
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
56
extensions/sdkhooks/natives.h
Normal file
56
extensions/sdkhooks/natives.h
Normal file
@ -0,0 +1,56 @@
|
||||
/**
|
||||
* vim: set ts=4 :
|
||||
* =============================================================================
|
||||
* Source SDK Hooks Extension
|
||||
* Copyright (C) 2010-2012 Nicholas Hastings
|
||||
* Copyright (C) 2009-2010 Erik Minekus
|
||||
* =============================================================================
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it under
|
||||
* the terms of the GNU General Public License, version 3.0, as published by the
|
||||
* Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
* this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* As a special exception, AlliedModders LLC gives you permission to link the
|
||||
* code of this program (as well as its derivative works) to "Half-Life 2," the
|
||||
* "Source Engine," the "SourcePawn JIT," and any Game MODs that run on software
|
||||
* by the Valve Corporation. You must obey the GNU General Public License in
|
||||
* all respects for all other code used. Additionally, AlliedModders LLC grants
|
||||
* this exception to all derivative works. AlliedModders LLC defines further
|
||||
* exceptions, found in LICENSE.txt (as of this writing, version JULY-31-2007),
|
||||
* or <http://www.sourcemod.net/license.php>.
|
||||
*
|
||||
* Version: $Id$
|
||||
*/
|
||||
|
||||
#ifndef _INCLUDE_SOURCEMOD_NATIVES_PROPER_H_
|
||||
#define _INCLUDE_SOURCEMOD_NATIVES_PROPER_H_
|
||||
|
||||
#include "util.h"
|
||||
|
||||
cell_t Native_Hook(IPluginContext *pContext, const cell_t *params);
|
||||
cell_t Native_HookEx(IPluginContext *pContext, const cell_t *params);
|
||||
cell_t Native_Unhook(IPluginContext *pContext, const cell_t *params);
|
||||
cell_t Native_TakeDamage(IPluginContext *pContext, const cell_t *params);
|
||||
cell_t Native_DropWeapon(IPluginContext *pContext, const cell_t *params);
|
||||
|
||||
const sp_nativeinfo_t g_Natives[] =
|
||||
{
|
||||
{"SDKHook", Native_Hook},
|
||||
{"SDKHookEx", Native_HookEx},
|
||||
{"SDKUnhook", Native_Unhook},
|
||||
{"SDKHooks_TakeDamage", Native_TakeDamage},
|
||||
{"SDKHooks_DropWeapon", Native_DropWeapon},
|
||||
{NULL, NULL},
|
||||
};
|
||||
|
||||
extern SDKHooks g_Interface;
|
||||
|
||||
#endif // _INCLUDE_SOURCEMOD_NATIVES_PROPER_H_
|
83
extensions/sdkhooks/sdk/smsdk_config.h
Normal file
83
extensions/sdkhooks/sdk/smsdk_config.h
Normal file
@ -0,0 +1,83 @@
|
||||
/**
|
||||
* vim: set ts=4 :
|
||||
* =============================================================================
|
||||
* SourceMod SDK Hooks Extension
|
||||
* Copyright (C) 2004-2011 AlliedModders LLC. All rights reserved.
|
||||
* =============================================================================
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it under
|
||||
* the terms of the GNU General Public License, version 3.0, as published by the
|
||||
* Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
* this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* As a special exception, AlliedModders LLC gives you permission to link the
|
||||
* code of this program (as well as its derivative works) to "Half-Life 2," the
|
||||
* "Source Engine," the "SourcePawn JIT," and any Game MODs that run on software
|
||||
* by the Valve Corporation. You must obey the GNU General Public License in
|
||||
* all respects for all other code used. Additionally, AlliedModders LLC grants
|
||||
* this exception to all derivative works. AlliedModders LLC defines further
|
||||
* exceptions, found in LICENSE.txt (as of this writing, version JULY-31-2007),
|
||||
* or <http://www.sourcemod.net/license.php>.
|
||||
*
|
||||
* Version: $Id$
|
||||
*/
|
||||
|
||||
#ifndef _INCLUDE_SOURCEMOD_EXTENSION_CONFIG_H_
|
||||
#define _INCLUDE_SOURCEMOD_EXTENSION_CONFIG_H_
|
||||
|
||||
#include "version.h"
|
||||
|
||||
/**
|
||||
* @file smsdk_config.h
|
||||
* @brief Contains macros for configuring basic extension information.
|
||||
*/
|
||||
|
||||
/* Basic information exposed publicly */
|
||||
#define SMEXT_CONF_NAME "SDK Hooks"
|
||||
#define SMEXT_CONF_DESCRIPTION "Source SDK Hooks"
|
||||
#define SMEXT_CONF_VERSION ""
|
||||
#define SMEXT_CONF_AUTHOR "AlliedModders LLC"
|
||||
#define SMEXT_CONF_URL "http://www.sourcemod.net/"
|
||||
#define SMEXT_CONF_LOGTAG "SDKHOOKS"
|
||||
#define SMEXT_CONF_LICENSE "GPL"
|
||||
#define SMEXT_CONF_DATESTRING ""
|
||||
|
||||
/**
|
||||
* @brief Exposes plugin's main interface.
|
||||
*/
|
||||
#define SMEXT_LINK(name) SDKExtension *g_pExtensionIface = name;
|
||||
|
||||
/**
|
||||
* @brief Sets whether or not this plugin required Metamod.
|
||||
* NOTE: Uncomment to enable, comment to disable.
|
||||
*/
|
||||
#define SMEXT_CONF_METAMOD
|
||||
|
||||
/** Enable interfaces you want to use here by uncommenting lines */
|
||||
#define SMEXT_ENABLE_FORWARDSYS
|
||||
//#define SMEXT_ENABLE_HANDLESYS
|
||||
#define SMEXT_ENABLE_PLAYERHELPERS
|
||||
//#define SMEXT_ENABLE_DBMANAGER
|
||||
#define SMEXT_ENABLE_GAMECONF
|
||||
//#define SMEXT_ENABLE_MEMUTILS
|
||||
#define SMEXT_ENABLE_GAMEHELPERS
|
||||
//#define SMEXT_ENABLE_TIMERSYS
|
||||
//#define SMEXT_ENABLE_THREADER
|
||||
#define SMEXT_ENABLE_LIBSYS
|
||||
//#define SMEXT_ENABLE_MENUS
|
||||
//#define SMEXT_ENABLE_ADTFACTORY
|
||||
#define SMEXT_ENABLE_PLUGINSYS
|
||||
//#define SMEXT_ENABLE_ADMINSYS
|
||||
//#define SMEXT_ENABLE_TEXTPARSERS
|
||||
//#define SMEXT_ENABLE_USERMSGS
|
||||
//#define SMEXT_ENABLE_TRANSLATOR
|
||||
//#define SMEXT_ENABLE_NINVOKE
|
||||
|
||||
#endif // _INCLUDE_SOURCEMOD_EXTENSION_CONFIG_H_
|
468
extensions/sdkhooks/sdk/smsdk_ext.cpp
Normal file
468
extensions/sdkhooks/sdk/smsdk_ext.cpp
Normal file
@ -0,0 +1,468 @@
|
||||
/**
|
||||
* vim: set ts=4 :
|
||||
* =============================================================================
|
||||
* SourceMod Base Extension Code
|
||||
* Copyright (C) 2004-2008 AlliedModders LLC. All rights reserved.
|
||||
* =============================================================================
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it under
|
||||
* the terms of the GNU General Public License, version 3.0, as published by the
|
||||
* Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
* this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* As a special exception, AlliedModders LLC gives you permission to link the
|
||||
* code of this program (as well as its derivative works) to "Half-Life 2," the
|
||||
* "Source Engine," the "SourcePawn JIT," and any Game MODs that run on software
|
||||
* by the Valve Corporation. You must obey the GNU General Public License in
|
||||
* all respects for all other code used. Additionally, AlliedModders LLC grants
|
||||
* this exception to all derivative works. AlliedModders LLC defines further
|
||||
* exceptions, found in LICENSE.txt (as of this writing, version JULY-31-2007),
|
||||
* or <http://www.sourcemod.net/license.php>.
|
||||
*
|
||||
* Version: $Id$
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include "smsdk_ext.h"
|
||||
|
||||
/**
|
||||
* @file smsdk_ext.cpp
|
||||
* @brief Contains wrappers for making Extensions easier to write.
|
||||
*/
|
||||
|
||||
IExtension *myself = NULL; /**< Ourself */
|
||||
IShareSys *g_pShareSys = NULL; /**< Share system */
|
||||
IShareSys *sharesys = NULL; /**< Share system */
|
||||
ISourceMod *g_pSM = NULL; /**< SourceMod helpers */
|
||||
ISourceMod *smutils = NULL; /**< SourceMod helpers */
|
||||
|
||||
#if defined SMEXT_ENABLE_FORWARDSYS
|
||||
IForwardManager *g_pForwards = NULL; /**< Forward system */
|
||||
IForwardManager *forwards = NULL; /**< Forward system */
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_HANDLESYS
|
||||
IHandleSys *g_pHandleSys = NULL; /**< Handle system */
|
||||
IHandleSys *handlesys = NULL; /**< Handle system */
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_PLAYERHELPERS
|
||||
IPlayerManager *playerhelpers = NULL; /**< Player helpers */
|
||||
#endif //SMEXT_ENABLE_PLAYERHELPERS
|
||||
#if defined SMEXT_ENABLE_DBMANAGER
|
||||
IDBManager *dbi = NULL; /**< DB Manager */
|
||||
#endif //SMEXT_ENABLE_DBMANAGER
|
||||
#if defined SMEXT_ENABLE_GAMECONF
|
||||
IGameConfigManager *gameconfs = NULL; /**< Game config manager */
|
||||
#endif //SMEXT_ENABLE_DBMANAGER
|
||||
#if defined SMEXT_ENABLE_MEMUTILS
|
||||
IMemoryUtils *memutils = NULL;
|
||||
#endif //SMEXT_ENABLE_DBMANAGER
|
||||
#if defined SMEXT_ENABLE_GAMEHELPERS
|
||||
IGameHelpers *gamehelpers = NULL;
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_TIMERSYS
|
||||
ITimerSystem *timersys = NULL;
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_ADTFACTORY
|
||||
IADTFactory *adtfactory = NULL;
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_THREADER
|
||||
IThreader *threader = NULL;
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_LIBSYS
|
||||
ILibrarySys *libsys = NULL;
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_PLUGINSYS
|
||||
SourceMod::IPluginManager *plsys;
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_MENUS
|
||||
IMenuManager *menus = NULL;
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_ADMINSYS
|
||||
IAdminSystem *adminsys = NULL;
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_TEXTPARSERS
|
||||
ITextParsers *textparsers = NULL;
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_USERMSGS
|
||||
IUserMessages *usermsgs = NULL;
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_TRANSLATOR
|
||||
ITranslator *translator = NULL;
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_NINVOKE
|
||||
INativeInterface *ninvoke = NULL;
|
||||
#endif
|
||||
|
||||
/** Exports the main interface */
|
||||
PLATFORM_EXTERN_C IExtensionInterface *GetSMExtAPI()
|
||||
{
|
||||
return g_pExtensionIface;
|
||||
}
|
||||
|
||||
SDKExtension::SDKExtension()
|
||||
{
|
||||
#if defined SMEXT_CONF_METAMOD
|
||||
m_SourceMMLoaded = false;
|
||||
m_WeAreUnloaded = false;
|
||||
m_WeGotPauseChange = false;
|
||||
#endif
|
||||
}
|
||||
|
||||
bool SDKExtension::OnExtensionLoad(IExtension *me, IShareSys *sys, char *error, size_t maxlength, bool late)
|
||||
{
|
||||
g_pShareSys = sharesys = sys;
|
||||
myself = me;
|
||||
|
||||
#if defined SMEXT_CONF_METAMOD
|
||||
m_WeAreUnloaded = true;
|
||||
|
||||
if (!m_SourceMMLoaded)
|
||||
{
|
||||
if (error)
|
||||
{
|
||||
snprintf(error, maxlength, "Metamod attach failed");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
SM_GET_IFACE(SOURCEMOD, g_pSM);
|
||||
smutils = g_pSM;
|
||||
#if defined SMEXT_ENABLE_HANDLESYS
|
||||
SM_GET_IFACE(HANDLESYSTEM, g_pHandleSys);
|
||||
handlesys = g_pHandleSys;
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_FORWARDSYS
|
||||
SM_GET_IFACE(FORWARDMANAGER, g_pForwards);
|
||||
forwards = g_pForwards;
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_PLAYERHELPERS
|
||||
SM_GET_IFACE(PLAYERMANAGER, playerhelpers);
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_DBMANAGER
|
||||
SM_GET_IFACE(DBI, dbi);
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_GAMECONF
|
||||
SM_GET_IFACE(GAMECONFIG, gameconfs);
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_MEMUTILS
|
||||
SM_GET_IFACE(MEMORYUTILS, memutils);
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_GAMEHELPERS
|
||||
SM_GET_IFACE(GAMEHELPERS, gamehelpers);
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_TIMERSYS
|
||||
SM_GET_IFACE(TIMERSYS, timersys);
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_ADTFACTORY
|
||||
SM_GET_IFACE(ADTFACTORY, adtfactory);
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_THREADER
|
||||
SM_GET_IFACE(THREADER, threader);
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_LIBSYS
|
||||
SM_GET_IFACE(LIBRARYSYS, libsys);
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_PLUGINSYS
|
||||
SM_GET_IFACE(PLUGINSYSTEM, plsys);
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_MENUS
|
||||
SM_GET_IFACE(MENUMANAGER, menus);
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_ADMINSYS
|
||||
SM_GET_IFACE(ADMINSYS, adminsys);
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_TEXTPARSERS
|
||||
SM_GET_IFACE(TEXTPARSERS, textparsers);
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_USERMSGS
|
||||
SM_GET_IFACE(USERMSGS, usermsgs);
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_TRANSLATOR
|
||||
SM_GET_IFACE(TRANSLATOR, translator);
|
||||
#endif
|
||||
|
||||
if (SDK_OnLoad(error, maxlength, late))
|
||||
{
|
||||
#if defined SMEXT_CONF_METAMOD
|
||||
m_WeAreUnloaded = true;
|
||||
#endif
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
bool SDKExtension::IsMetamodExtension()
|
||||
{
|
||||
#if defined SMEXT_CONF_METAMOD
|
||||
return true;
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
|
||||
void SDKExtension::OnExtensionPauseChange(bool state)
|
||||
{
|
||||
#if defined SMEXT_CONF_METAMOD
|
||||
m_WeGotPauseChange = true;
|
||||
#endif
|
||||
SDK_OnPauseChange(state);
|
||||
}
|
||||
|
||||
void SDKExtension::OnExtensionsAllLoaded()
|
||||
{
|
||||
SDK_OnAllLoaded();
|
||||
}
|
||||
|
||||
void SDKExtension::OnExtensionUnload()
|
||||
{
|
||||
#if defined SMEXT_CONF_METAMOD
|
||||
m_WeAreUnloaded = true;
|
||||
#endif
|
||||
SDK_OnUnload();
|
||||
}
|
||||
|
||||
const char *SDKExtension::GetExtensionAuthor()
|
||||
{
|
||||
return SMEXT_CONF_AUTHOR;
|
||||
}
|
||||
|
||||
const char *SDKExtension::GetExtensionDateString()
|
||||
{
|
||||
return SMEXT_CONF_DATESTRING;
|
||||
}
|
||||
|
||||
const char *SDKExtension::GetExtensionDescription()
|
||||
{
|
||||
return SMEXT_CONF_DESCRIPTION;
|
||||
}
|
||||
|
||||
const char *SDKExtension::GetExtensionVerString()
|
||||
{
|
||||
return SMEXT_CONF_VERSION;
|
||||
}
|
||||
|
||||
const char *SDKExtension::GetExtensionName()
|
||||
{
|
||||
return SMEXT_CONF_NAME;
|
||||
}
|
||||
|
||||
const char *SDKExtension::GetExtensionTag()
|
||||
{
|
||||
return SMEXT_CONF_LOGTAG;
|
||||
}
|
||||
|
||||
const char *SDKExtension::GetExtensionURL()
|
||||
{
|
||||
return SMEXT_CONF_URL;
|
||||
}
|
||||
|
||||
bool SDKExtension::SDK_OnLoad(char *error, size_t maxlength, bool late)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
void SDKExtension::SDK_OnUnload()
|
||||
{
|
||||
}
|
||||
|
||||
void SDKExtension::SDK_OnPauseChange(bool paused)
|
||||
{
|
||||
}
|
||||
|
||||
void SDKExtension::SDK_OnAllLoaded()
|
||||
{
|
||||
}
|
||||
|
||||
#if defined SMEXT_CONF_METAMOD
|
||||
|
||||
PluginId g_PLID = 0; /**< Metamod plugin ID */
|
||||
ISmmPlugin *g_PLAPI = NULL; /**< Metamod plugin API */
|
||||
SourceHook::ISourceHook *g_SHPtr = NULL; /**< SourceHook pointer */
|
||||
ISmmAPI *g_SMAPI = NULL; /**< SourceMM API pointer */
|
||||
|
||||
IVEngineServer *engine = NULL; /**< IVEngineServer pointer */
|
||||
IServerGameDLL *gamedll = NULL; /**< IServerGameDLL pointer */
|
||||
IServerTools *servertools = NULL; /**< IServerTools pointer */
|
||||
|
||||
/** Exposes the extension to Metamod */
|
||||
SMM_API void *PL_EXPOSURE(const char *name, int *code)
|
||||
{
|
||||
#if defined METAMOD_PLAPI_VERSION
|
||||
if (name && !strcmp(name, METAMOD_PLAPI_NAME))
|
||||
#else
|
||||
if (name && !strcmp(name, PLAPI_NAME))
|
||||
#endif
|
||||
{
|
||||
if (code)
|
||||
{
|
||||
*code = IFACE_OK;
|
||||
}
|
||||
return static_cast<void *>(g_pExtensionIface);
|
||||
}
|
||||
|
||||
if (code)
|
||||
{
|
||||
*code = IFACE_FAILED;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
bool SDKExtension::Load(PluginId id, ISmmAPI *ismm, char *error, size_t maxlen, bool late)
|
||||
{
|
||||
PLUGIN_SAVEVARS();
|
||||
|
||||
#if !defined METAMOD_PLAPI_VERSION
|
||||
GET_V_IFACE_ANY(serverFactory, gamedll, IServerGameDLL, INTERFACEVERSION_SERVERGAMEDLL);
|
||||
GET_V_IFACE_CURRENT(engineFactory, engine, IVEngineServer, INTERFACEVERSION_VENGINESERVER);
|
||||
GET_V_IFACE_CURRENT(serverFactory, servertools, IServerTools, VSERVERTOOLS_INTERFACE_VERSION);
|
||||
#else
|
||||
GET_V_IFACE_ANY(GetServerFactory, gamedll, IServerGameDLL, INTERFACEVERSION_SERVERGAMEDLL);
|
||||
GET_V_IFACE_CURRENT(GetEngineFactory, engine, IVEngineServer, INTERFACEVERSION_VENGINESERVER);
|
||||
GET_V_IFACE_CURRENT(GetServerFactory, servertools, IServerTools, VSERVERTOOLS_INTERFACE_VERSION);
|
||||
#endif
|
||||
|
||||
m_SourceMMLoaded = true;
|
||||
|
||||
return SDK_OnMetamodLoad(ismm, error, maxlen, late);
|
||||
}
|
||||
|
||||
bool SDKExtension::Unload(char *error, size_t maxlen)
|
||||
{
|
||||
if (!m_WeAreUnloaded)
|
||||
{
|
||||
if (error)
|
||||
{
|
||||
snprintf(error, maxlen, "This extension must be unloaded by SourceMod.");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
return SDK_OnMetamodUnload(error, maxlen);
|
||||
}
|
||||
|
||||
bool SDKExtension::Pause(char *error, size_t maxlen)
|
||||
{
|
||||
if (!m_WeGotPauseChange)
|
||||
{
|
||||
if (error)
|
||||
{
|
||||
snprintf(error, maxlen, "This extension must be paused by SourceMod.");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
m_WeGotPauseChange = false;
|
||||
|
||||
return SDK_OnMetamodPauseChange(true, error, maxlen);
|
||||
}
|
||||
|
||||
bool SDKExtension::Unpause(char *error, size_t maxlen)
|
||||
{
|
||||
if (!m_WeGotPauseChange)
|
||||
{
|
||||
if (error)
|
||||
{
|
||||
snprintf(error, maxlen, "This extension must be unpaused by SourceMod.");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
m_WeGotPauseChange = false;
|
||||
|
||||
return SDK_OnMetamodPauseChange(false, error, maxlen);
|
||||
}
|
||||
|
||||
const char *SDKExtension::GetAuthor()
|
||||
{
|
||||
return GetExtensionAuthor();
|
||||
}
|
||||
|
||||
const char *SDKExtension::GetDate()
|
||||
{
|
||||
return GetExtensionDateString();
|
||||
}
|
||||
|
||||
const char *SDKExtension::GetDescription()
|
||||
{
|
||||
return GetExtensionDescription();
|
||||
}
|
||||
|
||||
const char *SDKExtension::GetLicense()
|
||||
{
|
||||
return SMEXT_CONF_LICENSE;
|
||||
}
|
||||
|
||||
const char *SDKExtension::GetLogTag()
|
||||
{
|
||||
return GetExtensionTag();
|
||||
}
|
||||
|
||||
const char *SDKExtension::GetName()
|
||||
{
|
||||
return GetExtensionName();
|
||||
}
|
||||
|
||||
const char *SDKExtension::GetURL()
|
||||
{
|
||||
return GetExtensionURL();
|
||||
}
|
||||
|
||||
const char *SDKExtension::GetVersion()
|
||||
{
|
||||
return GetExtensionVerString();
|
||||
}
|
||||
|
||||
bool SDKExtension::SDK_OnMetamodLoad(ISmmAPI *ismm, char *error, size_t maxlength, bool late)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
bool SDKExtension::SDK_OnMetamodUnload(char *error, size_t maxlength)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
bool SDKExtension::SDK_OnMetamodPauseChange(bool paused, char *error, size_t maxlength)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/* Overload a few things to prevent libstdc++ linking */
|
||||
#if defined __linux__ || defined __APPLE__
|
||||
extern "C" void __cxa_pure_virtual(void)
|
||||
{
|
||||
}
|
||||
|
||||
void *operator new(size_t size)
|
||||
{
|
||||
return malloc(size);
|
||||
}
|
||||
|
||||
void *operator new[](size_t size)
|
||||
{
|
||||
return malloc(size);
|
||||
}
|
||||
|
||||
void operator delete(void *ptr)
|
||||
{
|
||||
free(ptr);
|
||||
}
|
||||
|
||||
void operator delete[](void * ptr)
|
||||
{
|
||||
free(ptr);
|
||||
}
|
||||
#endif
|
||||
|
341
extensions/sdkhooks/sdk/smsdk_ext.h
Normal file
341
extensions/sdkhooks/sdk/smsdk_ext.h
Normal file
@ -0,0 +1,341 @@
|
||||
/**
|
||||
* vim: set ts=4 :
|
||||
* =============================================================================
|
||||
* SourceMod Base Extension Code
|
||||
* Copyright (C) 2004-2008 AlliedModders LLC. All rights reserved.
|
||||
* =============================================================================
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it under
|
||||
* the terms of the GNU General Public License, version 3.0, as published by the
|
||||
* Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
* this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* As a special exception, AlliedModders LLC gives you permission to link the
|
||||
* code of this program (as well as its derivative works) to "Half-Life 2," the
|
||||
* "Source Engine," the "SourcePawn JIT," and any Game MODs that run on software
|
||||
* by the Valve Corporation. You must obey the GNU General Public License in
|
||||
* all respects for all other code used. Additionally, AlliedModders LLC grants
|
||||
* this exception to all derivative works. AlliedModders LLC defines further
|
||||
* exceptions, found in LICENSE.txt (as of this writing, version JULY-31-2007),
|
||||
* or <http://www.sourcemod.net/license.php>.
|
||||
*
|
||||
* Version: $Id$
|
||||
*/
|
||||
|
||||
#ifndef _INCLUDE_SOURCEMOD_EXTENSION_BASESDK_H_
|
||||
#define _INCLUDE_SOURCEMOD_EXTENSION_BASESDK_H_
|
||||
|
||||
/**
|
||||
* @file smsdk_ext.h
|
||||
* @brief Contains wrappers for making Extensions easier to write.
|
||||
*/
|
||||
|
||||
#include "smsdk_config.h"
|
||||
#include <IExtensionSys.h>
|
||||
#include <IHandleSys.h>
|
||||
#include <sp_vm_api.h>
|
||||
#include <sm_platform.h>
|
||||
#include <ISourceMod.h>
|
||||
#if defined SMEXT_ENABLE_FORWARDSYS
|
||||
#include <IForwardSys.h>
|
||||
#endif //SMEXT_ENABLE_FORWARDSYS
|
||||
#if defined SMEXT_ENABLE_PLAYERHELPERS
|
||||
#include <IPlayerHelpers.h>
|
||||
#endif //SMEXT_ENABLE_PlAYERHELPERS
|
||||
#if defined SMEXT_ENABLE_DBMANAGER
|
||||
#include <IDBDriver.h>
|
||||
#endif //SMEXT_ENABLE_DBMANAGER
|
||||
#if defined SMEXT_ENABLE_GAMECONF
|
||||
#include <IGameConfigs.h>
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_MEMUTILS
|
||||
#include <IMemoryUtils.h>
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_GAMEHELPERS
|
||||
#include <IGameHelpers.h>
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_TIMERSYS
|
||||
#include <ITimerSystem.h>
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_ADTFACTORY
|
||||
#include <IADTFactory.h>
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_THREADER
|
||||
#include <IThreader.h>
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_LIBSYS
|
||||
#include <ILibrarySys.h>
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_PLUGINSYS
|
||||
#include <IPluginSys.h>
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_MENUS
|
||||
#include <IMenuManager.h>
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_ADMINSYS
|
||||
#include <IAdminSystem.h>
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_TEXTPARSERS
|
||||
#include <ITextParsers.h>
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_USERMSGS
|
||||
#include <IUserMessages.h>
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_TRANSLATOR
|
||||
#include <ITranslator.h>
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_NINVOKE
|
||||
#include <INativeInvoker.h>
|
||||
#endif
|
||||
|
||||
#if defined SMEXT_CONF_METAMOD
|
||||
#include <ISmmPlugin.h>
|
||||
#include <eiface.h>
|
||||
#include <toolframework/itoolentity.h>
|
||||
#endif
|
||||
|
||||
using namespace SourceMod;
|
||||
using namespace SourcePawn;
|
||||
|
||||
class SDKExtension :
|
||||
#if defined SMEXT_CONF_METAMOD
|
||||
public ISmmPlugin,
|
||||
#endif
|
||||
public IExtensionInterface
|
||||
{
|
||||
public:
|
||||
/** Constructor */
|
||||
SDKExtension();
|
||||
public:
|
||||
/**
|
||||
* @brief This is called after the initial loading sequence has been processed.
|
||||
*
|
||||
* @param error Error message buffer.
|
||||
* @param maxlength Size of error message buffer.
|
||||
* @param late Whether or not the module was loaded after map load.
|
||||
* @return True to succeed loading, false to fail.
|
||||
*/
|
||||
virtual bool SDK_OnLoad(char *error, size_t maxlength, bool late);
|
||||
|
||||
/**
|
||||
* @brief This is called right before the extension is unloaded.
|
||||
*/
|
||||
virtual void SDK_OnUnload();
|
||||
|
||||
/**
|
||||
* @brief This is called once all known extensions have been loaded.
|
||||
*/
|
||||
virtual void SDK_OnAllLoaded();
|
||||
|
||||
/**
|
||||
* @brief Called when the pause state is changed.
|
||||
*/
|
||||
virtual void SDK_OnPauseChange(bool paused);
|
||||
|
||||
#if defined SMEXT_CONF_METAMOD
|
||||
/**
|
||||
* @brief Called when Metamod is attached, before the extension version is called.
|
||||
*
|
||||
* @param error Error buffer.
|
||||
* @param maxlength Maximum size of error buffer.
|
||||
* @param late Whether or not Metamod considers this a late load.
|
||||
* @return True to succeed, false to fail.
|
||||
*/
|
||||
virtual bool SDK_OnMetamodLoad(ISmmAPI *ismm, char *error, size_t maxlength, bool late);
|
||||
|
||||
/**
|
||||
* @brief Called when Metamod is detaching, after the extension version is called.
|
||||
* NOTE: By default this is blocked unless sent from SourceMod.
|
||||
*
|
||||
* @param error Error buffer.
|
||||
* @param maxlength Maximum size of error buffer.
|
||||
* @return True to succeed, false to fail.
|
||||
*/
|
||||
virtual bool SDK_OnMetamodUnload(char *error, size_t maxlength);
|
||||
|
||||
/**
|
||||
* @brief Called when Metamod's pause state is changing.
|
||||
* NOTE: By default this is blocked unless sent from SourceMod.
|
||||
*
|
||||
* @param paused Pause state being set.
|
||||
* @param error Error buffer.
|
||||
* @param maxlength Maximum size of error buffer.
|
||||
* @return True to succeed, false to fail.
|
||||
*/
|
||||
virtual bool SDK_OnMetamodPauseChange(bool paused, char *error, size_t maxlength);
|
||||
#endif
|
||||
|
||||
public: //IExtensionInterface
|
||||
virtual bool OnExtensionLoad(IExtension *me, IShareSys *sys, char *error, size_t maxlength, bool late);
|
||||
virtual void OnExtensionUnload();
|
||||
virtual void OnExtensionsAllLoaded();
|
||||
|
||||
/** Returns whether or not this is a Metamod-based extension */
|
||||
virtual bool IsMetamodExtension();
|
||||
|
||||
/**
|
||||
* @brief Called when the pause state changes.
|
||||
*
|
||||
* @param state True if being paused, false if being unpaused.
|
||||
*/
|
||||
virtual void OnExtensionPauseChange(bool state);
|
||||
|
||||
/** Returns name */
|
||||
virtual const char *GetExtensionName();
|
||||
/** Returns URL */
|
||||
virtual const char *GetExtensionURL();
|
||||
/** Returns log tag */
|
||||
virtual const char *GetExtensionTag();
|
||||
/** Returns author */
|
||||
virtual const char *GetExtensionAuthor();
|
||||
/** Returns version string */
|
||||
virtual const char *GetExtensionVerString();
|
||||
/** Returns description string */
|
||||
virtual const char *GetExtensionDescription();
|
||||
/** Returns date string */
|
||||
virtual const char *GetExtensionDateString();
|
||||
#if defined SMEXT_CONF_METAMOD
|
||||
public: //ISmmPlugin
|
||||
/** Called when the extension is attached to Metamod. */
|
||||
virtual bool Load(PluginId id, ISmmAPI *ismm, char *error, size_t maxlength, bool late);
|
||||
/** Returns the author to MM */
|
||||
virtual const char *GetAuthor();
|
||||
/** Returns the name to MM */
|
||||
virtual const char *GetName();
|
||||
/** Returns the description to MM */
|
||||
virtual const char *GetDescription();
|
||||
/** Returns the URL to MM */
|
||||
virtual const char *GetURL();
|
||||
/** Returns the license to MM */
|
||||
virtual const char *GetLicense();
|
||||
/** Returns the version string to MM */
|
||||
virtual const char *GetVersion();
|
||||
/** Returns the date string to MM */
|
||||
virtual const char *GetDate();
|
||||
/** Returns the logtag to MM */
|
||||
virtual const char *GetLogTag();
|
||||
/** Called on unload */
|
||||
virtual bool Unload(char *error, size_t maxlength);
|
||||
/** Called on pause */
|
||||
virtual bool Pause(char *error, size_t maxlength);
|
||||
/** Called on unpause */
|
||||
virtual bool Unpause(char *error, size_t maxlength);
|
||||
private:
|
||||
bool m_SourceMMLoaded;
|
||||
bool m_WeAreUnloaded;
|
||||
bool m_WeGotPauseChange;
|
||||
#endif
|
||||
};
|
||||
|
||||
extern SDKExtension *g_pExtensionIface;
|
||||
extern IExtension *myself;
|
||||
|
||||
extern IShareSys *g_pShareSys;
|
||||
extern IShareSys *sharesys; /* Note: Newer name */
|
||||
extern ISourceMod *g_pSM;
|
||||
extern ISourceMod *smutils; /* Note: Newer name */
|
||||
|
||||
/* Optional interfaces are below */
|
||||
#if defined SMEXT_ENABLE_FORWARDSYS
|
||||
extern IForwardManager *g_pForwards;
|
||||
extern IForwardManager *forwards; /* Note: Newer name */
|
||||
#endif //SMEXT_ENABLE_FORWARDSYS
|
||||
#if defined SMEXT_ENABLE_HANDLESYS
|
||||
extern IHandleSys *g_pHandleSys;
|
||||
extern IHandleSys *handlesys; /* Note: Newer name */
|
||||
#endif //SMEXT_ENABLE_HANDLESYS
|
||||
#if defined SMEXT_ENABLE_PLAYERHELPERS
|
||||
extern IPlayerManager *playerhelpers;
|
||||
#endif //SMEXT_ENABLE_PLAYERHELPERS
|
||||
#if defined SMEXT_ENABLE_DBMANAGER
|
||||
extern IDBManager *dbi;
|
||||
#endif //SMEXT_ENABLE_DBMANAGER
|
||||
#if defined SMEXT_ENABLE_GAMECONF
|
||||
extern IGameConfigManager *gameconfs;
|
||||
#endif //SMEXT_ENABLE_DBMANAGER
|
||||
#if defined SMEXT_ENABLE_MEMUTILS
|
||||
extern IMemoryUtils *memutils;
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_GAMEHELPERS
|
||||
extern IGameHelpers *gamehelpers;
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_TIMERSYS
|
||||
extern ITimerSystem *timersys;
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_ADTFACTORY
|
||||
extern IADTFactory *adtfactory;
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_THREADER
|
||||
extern IThreader *threader;
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_LIBSYS
|
||||
extern ILibrarySys *libsys;
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_PLUGINSYS
|
||||
extern SourceMod::IPluginManager *plsys;
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_MENUS
|
||||
extern IMenuManager *menus;
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_ADMINSYS
|
||||
extern IAdminSystem *adminsys;
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_USERMSGS
|
||||
extern IUserMessages *usermsgs;
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_TRANSLATOR
|
||||
extern ITranslator *translator;
|
||||
#endif
|
||||
#if defined SMEXT_ENABLE_NINVOKE
|
||||
extern INativeInterface *ninvoke;
|
||||
#endif
|
||||
|
||||
#if defined SMEXT_CONF_METAMOD
|
||||
PLUGIN_GLOBALVARS();
|
||||
extern IVEngineServer *engine;
|
||||
extern IServerGameDLL *gamedll;
|
||||
extern IServerTools *servertools;
|
||||
#endif
|
||||
|
||||
/** Creates a SourceMod interface macro pair */
|
||||
#define SM_MKIFACE(name) SMINTERFACE_##name##_NAME, SMINTERFACE_##name##_VERSION
|
||||
/** Automates retrieving SourceMod interfaces */
|
||||
#define SM_GET_IFACE(prefix, addr) \
|
||||
if (!g_pShareSys->RequestInterface(SM_MKIFACE(prefix), myself, (SMInterface **)&addr)) \
|
||||
{ \
|
||||
if (error != NULL && maxlength) \
|
||||
{ \
|
||||
size_t len = snprintf(error, maxlength, "Could not find interface: %s", SMINTERFACE_##prefix##_NAME); \
|
||||
if (len >= maxlength) \
|
||||
{ \
|
||||
error[maxlength - 1] = '\0'; \
|
||||
} \
|
||||
} \
|
||||
return false; \
|
||||
}
|
||||
/** Automates retrieving SourceMod interfaces when needed outside of SDK_OnLoad() */
|
||||
#define SM_GET_LATE_IFACE(prefix, addr) \
|
||||
g_pShareSys->RequestInterface(SM_MKIFACE(prefix), myself, (SMInterface **)&addr)
|
||||
/** Validates a SourceMod interface pointer */
|
||||
#define SM_CHECK_IFACE(prefix, addr) \
|
||||
if (!addr) \
|
||||
{ \
|
||||
if (error != NULL && maxlength) \
|
||||
{ \
|
||||
size_t len = snprintf(error, maxlength, "Could not find interface: %s", SMINTERFACE_##prefix##_NAME); \
|
||||
if (len >= maxlength) \
|
||||
{ \
|
||||
error[maxlength - 1] = '\0'; \
|
||||
} \
|
||||
} \
|
||||
return false; \
|
||||
}
|
||||
|
||||
#endif // _INCLUDE_SOURCEMOD_EXTENSION_BASESDK_H_
|
81
extensions/sdkhooks/takedamageinfohack.cpp
Normal file
81
extensions/sdkhooks/takedamageinfohack.cpp
Normal file
@ -0,0 +1,81 @@
|
||||
/**
|
||||
* vim: set ts=4 :
|
||||
* =============================================================================
|
||||
* Source SDK Hooks Extension
|
||||
* Copyright (C) 2010-2012 Nicholas Hastings
|
||||
* Copyright (C) 2009-2010 Erik Minekus
|
||||
* =============================================================================
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it under
|
||||
* the terms of the GNU General Public License, version 3.0, as published by the
|
||||
* Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
* this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* As a special exception, AlliedModders LLC gives you permission to link the
|
||||
* code of this program (as well as its derivative works) to "Half-Life 2," the
|
||||
* "Source Engine," the "SourcePawn JIT," and any Game MODs that run on software
|
||||
* by the Valve Corporation. You must obey the GNU General Public License in
|
||||
* all respects for all other code used. Additionally, AlliedModders LLC grants
|
||||
* this exception to all derivative works. AlliedModders LLC defines further
|
||||
* exceptions, found in LICENSE.txt (as of this writing, version JULY-31-2007),
|
||||
* or <http://www.sourcemod.net/license.php>.
|
||||
*
|
||||
* Version: $Id$
|
||||
*/
|
||||
|
||||
#include "takedamageinfohack.h"
|
||||
|
||||
CTakeDamageInfo::CTakeDamageInfo(){}
|
||||
|
||||
CTakeDamageInfoHack::CTakeDamageInfoHack( CBaseEntity *pInflictor, CBaseEntity *pAttacker, float flDamage, int bitsDamageType, CBaseEntity *pWeapon, Vector vecDamageForce, Vector vecDamagePosition )
|
||||
{
|
||||
m_hInflictor = pInflictor;
|
||||
if ( pAttacker )
|
||||
{
|
||||
m_hAttacker = pAttacker;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_hAttacker = pInflictor;
|
||||
}
|
||||
|
||||
#if SOURCE_ENGINE >= SE_ORANGEBOX && SOURCE_ENGINE != SE_LEFT4DEAD
|
||||
m_hWeapon = pWeapon;
|
||||
#endif
|
||||
|
||||
m_flDamage = flDamage;
|
||||
|
||||
m_flBaseDamage = BASEDAMAGE_NOT_SPECIFIED;
|
||||
|
||||
m_bitsDamageType = bitsDamageType;
|
||||
|
||||
m_flMaxDamage = flDamage;
|
||||
m_vecDamageForce = vec3_origin;
|
||||
m_vecDamagePosition = vec3_origin;
|
||||
m_vecReportedPosition = vec3_origin;
|
||||
m_iAmmoType = -1;
|
||||
|
||||
#if SOURCE_ENGINE == SE_ORANGEBOXVALVE || SOURCE_ENGINE == SE_CSS
|
||||
m_iDamagedOtherPlayers = 0;
|
||||
m_iPlayerPenetrateCount = 0;
|
||||
m_flUnknown = 0.0f;
|
||||
#endif
|
||||
|
||||
#if SOURCE_ENGINE >= SE_ALIENSWARM
|
||||
m_flRadius = 0.0f;
|
||||
#endif
|
||||
|
||||
#if SOURCE_ENGINE >= SE_CSGO
|
||||
m_iDamagedOtherPlayers = 0;
|
||||
m_iObjectsPenetrated = 0;
|
||||
m_uiBulletID = 0;
|
||||
m_uiRecoilIndex = 0;
|
||||
#endif
|
||||
}
|
95
extensions/sdkhooks/takedamageinfohack.h
Normal file
95
extensions/sdkhooks/takedamageinfohack.h
Normal file
@ -0,0 +1,95 @@
|
||||
/**
|
||||
* vim: set ts=4 :
|
||||
* =============================================================================
|
||||
* Source SDK Hooks Extension
|
||||
* Copyright (C) 2010-2012 Nicholas Hastings
|
||||
* Copyright (C) 2009-2010 Erik Minekus
|
||||
* =============================================================================
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it under
|
||||
* the terms of the GNU General Public License, version 3.0, as published by the
|
||||
* Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
* this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* As a special exception, AlliedModders LLC gives you permission to link the
|
||||
* code of this program (as well as its derivative works) to "Half-Life 2," the
|
||||
* "Source Engine," the "SourcePawn JIT," and any Game MODs that run on software
|
||||
* by the Valve Corporation. You must obey the GNU General Public License in
|
||||
* all respects for all other code used. Additionally, AlliedModders LLC grants
|
||||
* this exception to all derivative works. AlliedModders LLC defines further
|
||||
* exceptions, found in LICENSE.txt (as of this writing, version JULY-31-2007),
|
||||
* or <http://www.sourcemod.net/license.php>.
|
||||
*
|
||||
* Version: $Id$
|
||||
*/
|
||||
|
||||
#ifndef TAKEDAMAGEINFOHACK_H
|
||||
#define TAKEDAMAGEINFOHACK_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include "smsdk_ext.h"
|
||||
|
||||
#define GAME_DLL 1
|
||||
|
||||
#include <isaverestore.h>
|
||||
|
||||
#ifndef _DEBUG
|
||||
#include <ehandle.h>
|
||||
#else
|
||||
#undef _DEBUG
|
||||
#include <ehandle.h>
|
||||
#define _DEBUG 1
|
||||
#endif
|
||||
|
||||
#include <shareddefs.h>
|
||||
|
||||
// Hack to server sdk util.h rather than project util.h
|
||||
#if SOURCE_ENGINE >= SE_ORANGEBOX
|
||||
#include <../game/server/util.h>
|
||||
#else
|
||||
#include <../dlls/util.h>
|
||||
#endif
|
||||
|
||||
#include <takedamageinfo.h>
|
||||
|
||||
class CTakeDamageInfoHack : public CTakeDamageInfo
|
||||
{
|
||||
public:
|
||||
CTakeDamageInfoHack( CBaseEntity *pInflictor, CBaseEntity *pAttacker, float flDamage, int bitsDamageType, CBaseEntity *pWeapon, Vector vecDamageForce, Vector vecDamagePosition );
|
||||
inline int GetAttacker() const { return m_hAttacker.IsValid() ? m_hAttacker.GetEntryIndex() : -1; }
|
||||
inline int GetInflictor() const { return m_hInflictor.IsValid() ? m_hInflictor.GetEntryIndex() : -1; }
|
||||
#if SOURCE_ENGINE >= SE_ORANGEBOX && SOURCE_ENGINE != SE_LEFT4DEAD
|
||||
inline int GetWeapon() const { return m_hWeapon.IsValid() ? m_hWeapon.GetEntryIndex() : -1; }
|
||||
#else
|
||||
inline int GetWeapon() const { return -1; }
|
||||
inline void SetWeapon(CBaseEntity *) {}
|
||||
#endif
|
||||
|
||||
inline void SetDamageForce(vec_t x, vec_t y, vec_t z)
|
||||
{
|
||||
m_vecDamageForce.x = x;
|
||||
m_vecDamageForce.y = y;
|
||||
m_vecDamageForce.z = z;
|
||||
}
|
||||
|
||||
inline void SetDamagePosition(vec_t x, vec_t y, vec_t z)
|
||||
{
|
||||
m_vecDamagePosition.x = x;
|
||||
m_vecDamagePosition.y = y;
|
||||
m_vecDamagePosition.z = z;
|
||||
}
|
||||
#if SOURCE_ENGINE < SE_ORANGEBOX
|
||||
inline int GetDamageCustom() const { return GetCustomKill(); }
|
||||
#endif
|
||||
};
|
||||
|
||||
#endif //TAKEDAMAGEINFOHACK_H
|
103
extensions/sdkhooks/util.cpp
Normal file
103
extensions/sdkhooks/util.cpp
Normal file
@ -0,0 +1,103 @@
|
||||
/**
|
||||
* vim: set ts=4 :
|
||||
* =============================================================================
|
||||
* SourceMod Team Fortress 2 Extension
|
||||
* Copyright (C) 2004-2008 AlliedModders LLC. All rights reserved.
|
||||
* =============================================================================
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it under
|
||||
* the terms of the GNU General Public License, version 3.0, as published by the
|
||||
* Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
* this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* As a special exception, AlliedModders LLC gives you permission to link the
|
||||
* code of this program (as well as its derivative works) to "Half-Life 2," the
|
||||
* "Source Engine," the "SourcePawn JIT," and any Game MODs that run on software
|
||||
* by the Valve Corporation. You must obey the GNU General Public License in
|
||||
* all respects for all other code used. Additionally, AlliedModders LLC grants
|
||||
* this exception to all derivative works. AlliedModders LLC defines further
|
||||
* exceptions, found in LICENSE.txt (as of this writing, version JULY-31-2007),
|
||||
* or <http://www.sourcemod.net/license.php>.
|
||||
*
|
||||
* Version: $Id$
|
||||
*/
|
||||
|
||||
// ^ ripped from SM's TF2 Extension
|
||||
|
||||
#include "extension.h"
|
||||
#include "util.h"
|
||||
|
||||
CBaseEntity *UTIL_GetCBaseEntity(int num, bool onlyPlayers)
|
||||
{
|
||||
edict_t *pEdict = PEntityOfEntIndex(num);
|
||||
if (!pEdict || pEdict->IsFree())
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (num > 0 && num <= playerhelpers->GetMaxClients())
|
||||
{
|
||||
IGamePlayer *pPlayer = playerhelpers->GetGamePlayer(pEdict);
|
||||
if (!pPlayer || !pPlayer->IsConnected())
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
else if (onlyPlayers)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
IServerUnknown *pUnk;
|
||||
if ((pUnk=pEdict->GetUnknown()) == NULL)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return pUnk->GetBaseEntity();
|
||||
}
|
||||
|
||||
bool UTIL_FindDataTable(SendTable *pTable,
|
||||
const char *name,
|
||||
sm_sendprop_info_t *info,
|
||||
unsigned int offset)
|
||||
{
|
||||
const char *pname;
|
||||
int props = pTable->GetNumProps();
|
||||
SendProp *prop;
|
||||
SendTable *table;
|
||||
|
||||
for (int i=0; i<props; i++)
|
||||
{
|
||||
prop = pTable->GetProp(i);
|
||||
|
||||
if ((table = prop->GetDataTable()) != NULL)
|
||||
{
|
||||
pname = table->GetName();
|
||||
if (pname && strcmp(name, pname) == 0)
|
||||
{
|
||||
info->prop = prop;
|
||||
info->actual_offset = offset + info->prop->GetOffset();
|
||||
return true;
|
||||
}
|
||||
|
||||
if (UTIL_FindDataTable(table,
|
||||
name,
|
||||
info,
|
||||
offset + prop->GetOffset())
|
||||
)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
40
extensions/sdkhooks/util.h
Normal file
40
extensions/sdkhooks/util.h
Normal file
@ -0,0 +1,40 @@
|
||||
/**
|
||||
* vim: set ts=4 :
|
||||
* =============================================================================
|
||||
* SourceMod Team Fortress 2 Extension
|
||||
* Copyright (C) 2004-2008 AlliedModders LLC. All rights reserved.
|
||||
* =============================================================================
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it under
|
||||
* the terms of the GNU General Public License, version 3.0, as published by the
|
||||
* Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
* this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* As a special exception, AlliedModders LLC gives you permission to link the
|
||||
* code of this program (as well as its derivative works) to "Half-Life 2," the
|
||||
* "Source Engine," the "SourcePawn JIT," and any Game MODs that run on software
|
||||
* by the Valve Corporation. You must obey the GNU General Public License in
|
||||
* all respects for all other code used. Additionally, AlliedModders LLC grants
|
||||
* this exception to all derivative works. AlliedModders LLC defines further
|
||||
* exceptions, found in LICENSE.txt (as of this writing, version JULY-31-2007),
|
||||
* or <http://www.sourcemod.net/license.php>.
|
||||
*
|
||||
* Version: $Id$
|
||||
*/
|
||||
|
||||
#ifndef _INCLUDE_TF2TOOLS_UTIL_H_
|
||||
#define _INCLUDE_TF2TOOLS_UTIL_H_
|
||||
|
||||
#include <compat_wrappers.h>
|
||||
|
||||
CBaseEntity *UTIL_GetCBaseEntity(int num, bool onlyPlayers=false);
|
||||
bool UTIL_FindDataTable(SendTable *pTable, const char *name, sm_sendprop_info_t *info, unsigned int offset);
|
||||
|
||||
#endif //_INCLUDE_TF2TOOLS_UTIL_H_
|
104
extensions/sdkhooks/version.rc
Normal file
104
extensions/sdkhooks/version.rc
Normal file
@ -0,0 +1,104 @@
|
||||
// Microsoft Visual C++ generated resource script.
|
||||
//
|
||||
//#include "resource.h"
|
||||
|
||||
#define APSTUDIO_READONLY_SYMBOLS
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 2 resource.
|
||||
//
|
||||
#include "winres.h"
|
||||
|
||||
#include <sourcemod_version.h>
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#undef APSTUDIO_READONLY_SYMBOLS
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// English (U.S.) resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
||||
#ifdef _WIN32
|
||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||
#pragma code_page(1252)
|
||||
#endif //_WIN32
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Version
|
||||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION SM_VERSION_FILE
|
||||
PRODUCTVERSION SM_VERSION_FILE
|
||||
FILEFLAGSMASK 0x17L
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
#else
|
||||
FILEFLAGS 0x0L
|
||||
#endif
|
||||
FILEOS 0x4L
|
||||
FILETYPE 0x2L
|
||||
FILESUBTYPE 0x0L
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "000004b0"
|
||||
BEGIN
|
||||
VALUE "Comments", "SDKHooks Extension"
|
||||
VALUE "FileDescription", "SourceMod SDKHooks Extension"
|
||||
VALUE "FileVersion", SM_VERSION_STRING
|
||||
VALUE "InternalName", "SourceMod SDKHooks Extension"
|
||||
VALUE "LegalCopyright", "Copyright (c) 2009-2013, AlliedModders LLC"
|
||||
VALUE "OriginalFilename", BINARY_NAME
|
||||
VALUE "ProductName", "SourceMod SDKHooKs Extension"
|
||||
VALUE "ProductVersion", SM_VERSION_STRING
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x0, 1200
|
||||
END
|
||||
END
|
||||
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// TEXTINCLUDE
|
||||
//
|
||||
|
||||
1 TEXTINCLUDE
|
||||
BEGIN
|
||||
"resource.h\0"
|
||||
END
|
||||
|
||||
2 TEXTINCLUDE
|
||||
BEGIN
|
||||
"#include ""winres.h""\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
3 TEXTINCLUDE
|
||||
BEGIN
|
||||
"\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
#endif // English (U.S.) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
#ifndef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 3 resource.
|
||||
//
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#endif // not APSTUDIO_INVOKED
|
||||
|
26
gamedata/sdkhooks.games/common.games.txt
Normal file
26
gamedata/sdkhooks.games/common.games.txt
Normal file
@ -0,0 +1,26 @@
|
||||
/**
|
||||
* 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"
|
||||
{
|
||||
"#default"
|
||||
{
|
||||
"Offsets"
|
||||
{
|
||||
"EntityListeners"
|
||||
{
|
||||
"windows" "65572"
|
||||
"linux" "65572"
|
||||
"mac" "65572"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
177
gamedata/sdkhooks.games/engine.csgo.txt
Normal file
177
gamedata/sdkhooks.games/engine.csgo.txt
Normal file
@ -0,0 +1,177 @@
|
||||
"Games"
|
||||
{
|
||||
"#default"
|
||||
{
|
||||
"Offsets"
|
||||
{
|
||||
"EndTouch"
|
||||
{
|
||||
"windows" "102"
|
||||
"linux" "103"
|
||||
"mac" "103"
|
||||
}
|
||||
"FireBullets"
|
||||
{
|
||||
"windows" "115"
|
||||
"linux" "116"
|
||||
"mac" "116"
|
||||
}
|
||||
"GetMaxHealth"
|
||||
{
|
||||
"windows" "119"
|
||||
"linux" "120"
|
||||
"mac" "120"
|
||||
}
|
||||
"GroundEntChanged"
|
||||
{
|
||||
"windows" "173"
|
||||
"linux" "174"
|
||||
"mac" "174"
|
||||
}
|
||||
"OnTakeDamage"
|
||||
{
|
||||
"windows" "66"
|
||||
"linux" "67"
|
||||
"mac" "67"
|
||||
}
|
||||
"PreThink"
|
||||
{
|
||||
"windows" "356"
|
||||
"linux" "357"
|
||||
"mac" "357"
|
||||
}
|
||||
"PostThink"
|
||||
{
|
||||
"windows" "357"
|
||||
"linux" "358"
|
||||
"mac" "358"
|
||||
}
|
||||
"Reload"
|
||||
{
|
||||
"windows" "281"
|
||||
"linux" "282"
|
||||
"mac" "282"
|
||||
}
|
||||
"SetTransmit"
|
||||
{
|
||||
"windows" "22"
|
||||
"linux" "23"
|
||||
"mac" "23"
|
||||
}
|
||||
"ShouldCollide"
|
||||
{
|
||||
"windows" "17"
|
||||
"linux" "18"
|
||||
"mac" "18"
|
||||
}
|
||||
"Spawn"
|
||||
{
|
||||
"windows" "24"
|
||||
"linux" "25"
|
||||
"mac" "25"
|
||||
}
|
||||
"StartTouch"
|
||||
{
|
||||
"windows" "100"
|
||||
"linux" "101"
|
||||
"mac" "101"
|
||||
}
|
||||
"Think"
|
||||
{
|
||||
"windows" "50"
|
||||
"linux" "51"
|
||||
"mac" "51"
|
||||
}
|
||||
"Touch"
|
||||
{
|
||||
"windows" "101"
|
||||
"linux" "102"
|
||||
"mac" "102"
|
||||
}
|
||||
"TraceAttack"
|
||||
{
|
||||
"windows" "64"
|
||||
"linux" "65"
|
||||
"mac" "65"
|
||||
}
|
||||
"Use"
|
||||
{
|
||||
"windows" "99"
|
||||
"linux" "100"
|
||||
"mac" "100"
|
||||
}
|
||||
"VPhysicsUpdate"
|
||||
{
|
||||
"windows" "152"
|
||||
"linux" "153"
|
||||
"mac" "153"
|
||||
}
|
||||
"Weapon_CanSwitchTo"
|
||||
{
|
||||
"windows" "281"
|
||||
"linux" "282"
|
||||
"mac" "282"
|
||||
}
|
||||
"Weapon_CanUse"
|
||||
{
|
||||
"windows" "275"
|
||||
"linux" "276"
|
||||
"mac" "276"
|
||||
}
|
||||
"Weapon_Drop"
|
||||
{
|
||||
"windows" "278"
|
||||
"linux" "279"
|
||||
"mac" "279"
|
||||
}
|
||||
"Weapon_Equip"
|
||||
{
|
||||
"windows" "276"
|
||||
"linux" "277"
|
||||
"mac" "277"
|
||||
}
|
||||
"Weapon_Switch"
|
||||
{
|
||||
"windows" "279"
|
||||
"linux" "280"
|
||||
"mac" "280"
|
||||
}
|
||||
|
||||
|
||||
// no longer used
|
||||
"UpdateOnRemove"
|
||||
{
|
||||
"windows" "108"
|
||||
"linux" "109"
|
||||
"mac" "109"
|
||||
}
|
||||
//
|
||||
}
|
||||
|
||||
"Signatures"
|
||||
{
|
||||
// no longer used
|
||||
"IEntityFactoryDictionary"
|
||||
{
|
||||
"library" "server"
|
||||
"windows" "\xB8\x01\x00\x00\x00\x84\x2A\x2A\x2A\x2A\x2A\x75\x1D\x09\x2A\x2A\x2A\x2A\x2A\xB9\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\x68\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\x83\xC4\x04\xB8\x2A\x2A\x2A\x2A\xC3"
|
||||
"linux" "@_Z23EntityFactoryDictionaryv"
|
||||
"mac" "@_Z23EntityFactoryDictionaryv"
|
||||
}
|
||||
//
|
||||
}
|
||||
}
|
||||
|
||||
"#default"
|
||||
{
|
||||
"Offsets"
|
||||
{
|
||||
"EntityListeners"
|
||||
{
|
||||
"windows" "196644"
|
||||
"linux" "196644"
|
||||
"mac" "196644"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
75
gamedata/sdkhooks.games/engine.darkm.txt
Normal file
75
gamedata/sdkhooks.games/engine.darkm.txt
Normal file
@ -0,0 +1,75 @@
|
||||
"Games"
|
||||
{
|
||||
/* Dark Messiah Might & Magic */
|
||||
"#default"
|
||||
{
|
||||
"Offsets"
|
||||
{
|
||||
"EndTouch"
|
||||
{
|
||||
"windows" "85"
|
||||
}
|
||||
"OnTakeDamage"
|
||||
{
|
||||
"windows" "56"
|
||||
}
|
||||
"PreThink"
|
||||
{
|
||||
"windows" "256"
|
||||
}
|
||||
"PostThink"
|
||||
{
|
||||
"windows" "257"
|
||||
}
|
||||
"SetTransmit"
|
||||
{
|
||||
"windows" "20"
|
||||
}
|
||||
"ShouldCollide"
|
||||
{
|
||||
"windows" "16"
|
||||
}
|
||||
"Spawn"
|
||||
{
|
||||
"windows" "23"
|
||||
}
|
||||
"StartTouch"
|
||||
{
|
||||
"windows" "83"
|
||||
}
|
||||
"Think"
|
||||
{
|
||||
"windows" "47"
|
||||
}
|
||||
"Touch"
|
||||
{
|
||||
"windows" "84"
|
||||
}
|
||||
"UpdateOnRemove"
|
||||
{
|
||||
"windows" "90"
|
||||
}
|
||||
"Weapon_CanUse"
|
||||
{
|
||||
"windows" "201"
|
||||
}
|
||||
"Weapon_Equip"
|
||||
{
|
||||
"windows" "202"
|
||||
}
|
||||
"Weapon_Switch"
|
||||
{
|
||||
"windows" "204"
|
||||
}
|
||||
}
|
||||
|
||||
"Signatures"
|
||||
{
|
||||
"IEntityFactoryDictionary"
|
||||
{
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
190
gamedata/sdkhooks.games/engine.ep2v.txt
Normal file
190
gamedata/sdkhooks.games/engine.ep2v.txt
Normal file
@ -0,0 +1,190 @@
|
||||
"Games"
|
||||
{
|
||||
// Now this is getting ridiculous
|
||||
"#default"
|
||||
{
|
||||
"#supported"
|
||||
{
|
||||
"game" "tf"
|
||||
"game" "hl2mp"
|
||||
"game" "dod"
|
||||
}
|
||||
|
||||
"Offsets"
|
||||
{
|
||||
"EndTouch"
|
||||
{
|
||||
"windows" "99"
|
||||
"linux" "100"
|
||||
"mac" "100"
|
||||
}
|
||||
"FireBullets"
|
||||
{
|
||||
"windows" "111"
|
||||
"linux" "112"
|
||||
"mac" "112"
|
||||
}
|
||||
"GetMaxHealth"
|
||||
{
|
||||
"windows" "116"
|
||||
"linux" "117"
|
||||
"mac" "117"
|
||||
}
|
||||
"GroundEntChanged"
|
||||
{
|
||||
"windows" "176"
|
||||
"linux" "177"
|
||||
"mac" "177"
|
||||
}
|
||||
"OnTakeDamage"
|
||||
{
|
||||
"windows" "62"
|
||||
"linux" "63"
|
||||
"mac" "63"
|
||||
}
|
||||
"PreThink"
|
||||
{
|
||||
"windows" "330"
|
||||
"linux" "331"
|
||||
"mac" "331"
|
||||
}
|
||||
"PostThink"
|
||||
{
|
||||
"windows" "331"
|
||||
"linux" "332"
|
||||
"mac" "332"
|
||||
}
|
||||
"Reload"
|
||||
{
|
||||
"windows" "274"
|
||||
"linux" "275"
|
||||
"mac" "275"
|
||||
}
|
||||
"SetTransmit"
|
||||
{
|
||||
"windows" "20"
|
||||
"linux" "21"
|
||||
"mac" "21"
|
||||
}
|
||||
"ShouldCollide"
|
||||
{
|
||||
"windows" "16"
|
||||
"linux" "17"
|
||||
"mac" "17"
|
||||
}
|
||||
"Spawn"
|
||||
{
|
||||
"windows" "22"
|
||||
"linux" "23"
|
||||
"mac" "23"
|
||||
}
|
||||
"StartTouch"
|
||||
{
|
||||
"windows" "97"
|
||||
"linux" "98"
|
||||
"mac" "98"
|
||||
}
|
||||
"Think"
|
||||
{
|
||||
"windows" "47"
|
||||
"linux" "48"
|
||||
"mac" "48"
|
||||
}
|
||||
"Touch"
|
||||
{
|
||||
"windows" "98"
|
||||
"linux" "99"
|
||||
"mac" "99"
|
||||
}
|
||||
"TraceAttack"
|
||||
{
|
||||
"windows" "60"
|
||||
"linux" "61"
|
||||
"mac" "61"
|
||||
}
|
||||
"Use"
|
||||
{
|
||||
"windows" "96"
|
||||
"linux" "97"
|
||||
"mac" "97"
|
||||
}
|
||||
"VPhysicsUpdate"
|
||||
{
|
||||
"windows" "156"
|
||||
"linux" "157"
|
||||
"mac" "157"
|
||||
}
|
||||
"Weapon_CanSwitchTo"
|
||||
{
|
||||
"windows" "264"
|
||||
"linux" "265"
|
||||
"mac" "265"
|
||||
}
|
||||
"Weapon_CanUse"
|
||||
{
|
||||
"windows" "258"
|
||||
"linux" "259"
|
||||
"mac" "259"
|
||||
}
|
||||
"Weapon_Drop"
|
||||
{
|
||||
"windows" "261"
|
||||
"linux" "262"
|
||||
"mac" "262"
|
||||
}
|
||||
"Weapon_Equip"
|
||||
{
|
||||
"windows" "259"
|
||||
"linux" "260"
|
||||
"mac" "260"
|
||||
}
|
||||
"Weapon_Switch"
|
||||
{
|
||||
"windows" "262"
|
||||
"linux" "263"
|
||||
"mac" "263"
|
||||
}
|
||||
|
||||
|
||||
// no longer used
|
||||
"UpdateOnRemove"
|
||||
{
|
||||
"windows" "104"
|
||||
"linux" "105"
|
||||
"mac" "105"
|
||||
}
|
||||
//
|
||||
}
|
||||
|
||||
"Signatures"
|
||||
{
|
||||
// no longer used
|
||||
"IEntityFactoryDictionary"
|
||||
{
|
||||
"library" "server"
|
||||
"windows" "\xB8\x01\x00\x00\x00\x84\x2A\x2A\x2A\x2A\x2A\x75\x1D\x09\x2A\x2A\x2A\x2A\x2A\xB9\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\x68\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\x83\xC4\x04\xB8\x2A\x2A\x2A\x2A\xC3"
|
||||
"linux" "@_Z23EntityFactoryDictionaryv"
|
||||
"mac" "@_Z23EntityFactoryDictionaryv"
|
||||
}
|
||||
//
|
||||
}
|
||||
}
|
||||
|
||||
"#default"
|
||||
{
|
||||
"#supported"
|
||||
{
|
||||
"game" "cstrike"
|
||||
}
|
||||
|
||||
"Offsets"
|
||||
{
|
||||
"Reload"
|
||||
{
|
||||
"windows" "272"
|
||||
"linux" "273"
|
||||
"mac" "273"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
119
gamedata/sdkhooks.games/engine.l4d.txt
Normal file
119
gamedata/sdkhooks.games/engine.l4d.txt
Normal file
@ -0,0 +1,119 @@
|
||||
"Games"
|
||||
{
|
||||
"left4dead"
|
||||
{
|
||||
"Offsets"
|
||||
{
|
||||
"EndTouch"
|
||||
{
|
||||
"windows" "97"
|
||||
"linux" "98"
|
||||
}
|
||||
"FireBullets"
|
||||
{
|
||||
"windows" "109"
|
||||
"linux" "110"
|
||||
}
|
||||
"OnTakeDamage"
|
||||
{
|
||||
"windows" "62"
|
||||
"linux" "63"
|
||||
}
|
||||
"PreThink"
|
||||
{
|
||||
"windows" "333"
|
||||
"linux" "334"
|
||||
}
|
||||
"PostThink"
|
||||
{
|
||||
"windows" "334"
|
||||
"linux" "335"
|
||||
}
|
||||
"SetTransmit"
|
||||
{
|
||||
"windows" "19"
|
||||
"linux" "20"
|
||||
}
|
||||
"ShouldCollide"
|
||||
{
|
||||
"windows" "15"
|
||||
"linux" "16"
|
||||
}
|
||||
"Spawn"
|
||||
{
|
||||
"windows" "21"
|
||||
"linux" "22"
|
||||
}
|
||||
"StartTouch"
|
||||
{
|
||||
"windows" "95"
|
||||
"linux" "96"
|
||||
}
|
||||
"Think"
|
||||
{
|
||||
"windows" "47"
|
||||
"linux" "48"
|
||||
}
|
||||
"Touch"
|
||||
{
|
||||
"windows" "96"
|
||||
"linux" "97"
|
||||
}
|
||||
"TraceAttack"
|
||||
{
|
||||
"windows" "60"
|
||||
"linux" "61"
|
||||
}
|
||||
"UpdateOnRemove"
|
||||
{
|
||||
"windows" "102"
|
||||
"linux" "103"
|
||||
}
|
||||
"Use"
|
||||
{
|
||||
"windows" "94"
|
||||
"linux" "95"
|
||||
}
|
||||
"VPhysicsUpdate"
|
||||
{
|
||||
"windows" "152"
|
||||
"linux" "153"
|
||||
}
|
||||
"Weapon_CanSwitchTo"
|
||||
{
|
||||
"windows" "265"
|
||||
"linux" "266"
|
||||
}
|
||||
"Weapon_CanUse"
|
||||
{
|
||||
"windows" "259"
|
||||
"linux" "260"
|
||||
}
|
||||
"Weapon_Drop"
|
||||
{
|
||||
"windows" "262"
|
||||
"linux" "263"
|
||||
}
|
||||
"Weapon_Equip"
|
||||
{
|
||||
"windows" "260"
|
||||
"linux" "261"
|
||||
}
|
||||
"Weapon_Switch"
|
||||
{
|
||||
"windows" "263"
|
||||
"linux" "264"
|
||||
}
|
||||
}
|
||||
|
||||
"Signatures"
|
||||
{
|
||||
"IEntityFactoryDictionary"
|
||||
{
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
136
gamedata/sdkhooks.games/game.ag2.txt
Normal file
136
gamedata/sdkhooks.games/game.ag2.txt
Normal file
@ -0,0 +1,136 @@
|
||||
/**
|
||||
* Do not edit this file. Any changes will be overwritten by the gamedata
|
||||
* updater.
|
||||
*
|
||||
* 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"
|
||||
{
|
||||
"ag2"
|
||||
{
|
||||
"Offsets"
|
||||
{
|
||||
"EndTouch"
|
||||
{
|
||||
"windows" "92"
|
||||
"linux" "93"
|
||||
}
|
||||
"FireBullets"
|
||||
{
|
||||
"windows" "104"
|
||||
"linux" "105"
|
||||
}
|
||||
"GroundEntChanged"
|
||||
{
|
||||
"windows" "164"
|
||||
"linux" "165"
|
||||
}
|
||||
"OnTakeDamage"
|
||||
{
|
||||
"windows" "60"
|
||||
"linux" "61"
|
||||
}
|
||||
"PreThink"
|
||||
{
|
||||
"windows" "288"
|
||||
"linux" "289"
|
||||
}
|
||||
"PostThink"
|
||||
{
|
||||
"windows" "289"
|
||||
"linux" "290"
|
||||
}
|
||||
"SetTransmit"
|
||||
{
|
||||
"windows" "19"
|
||||
"linux" "20"
|
||||
}
|
||||
"ShouldCollide"
|
||||
{
|
||||
"windows" "15"
|
||||
"linux" "16"
|
||||
}
|
||||
"Spawn"
|
||||
{
|
||||
"windows" "21"
|
||||
"linux" "22"
|
||||
}
|
||||
"StartTouch"
|
||||
{
|
||||
"windows" "90"
|
||||
"linux" "91"
|
||||
}
|
||||
"Think"
|
||||
{
|
||||
"windows" "45"
|
||||
"linux" "46"
|
||||
}
|
||||
"Touch"
|
||||
{
|
||||
"windows" "91"
|
||||
"linux" "92"
|
||||
}
|
||||
"TraceAttack"
|
||||
{
|
||||
"windows" "58"
|
||||
"linux" "59"
|
||||
}
|
||||
"UpdateOnRemove"
|
||||
{
|
||||
"windows" "97"
|
||||
"linux" "98"
|
||||
}
|
||||
"Use"
|
||||
{
|
||||
"windows" "89"
|
||||
"linux" "90"
|
||||
}
|
||||
"VPhysicsUpdate"
|
||||
{
|
||||
"windows" "144"
|
||||
"linux" "145"
|
||||
}
|
||||
"Weapon_CanSwitchTo"
|
||||
{
|
||||
"windows" "234"
|
||||
"linux" "235"
|
||||
}
|
||||
"Weapon_CanUse"
|
||||
{
|
||||
"windows" "228"
|
||||
"linux" "229"
|
||||
}
|
||||
"Weapon_Drop"
|
||||
{
|
||||
"windows" "231"
|
||||
"linux" "232"
|
||||
}
|
||||
"Weapon_Equip"
|
||||
{
|
||||
"windows" "229"
|
||||
"linux" "230"
|
||||
}
|
||||
"Weapon_Switch"
|
||||
{
|
||||
"windows" "232"
|
||||
"linux" "233"
|
||||
}
|
||||
}
|
||||
|
||||
"Signatures"
|
||||
{
|
||||
"IEntityFactoryDictionary"
|
||||
{
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
102
gamedata/sdkhooks.games/game.alienswarm.txt
Normal file
102
gamedata/sdkhooks.games/game.alienswarm.txt
Normal file
@ -0,0 +1,102 @@
|
||||
"Games"
|
||||
{
|
||||
"swarm"
|
||||
{
|
||||
"Offsets"
|
||||
{
|
||||
"EndTouch"
|
||||
{
|
||||
"windows" "102"
|
||||
}
|
||||
"FireBullets"
|
||||
{
|
||||
"windows" "115"
|
||||
}
|
||||
"GetMaxHealth"
|
||||
{
|
||||
"windows" "119"
|
||||
}
|
||||
"OnTakeDamage"
|
||||
{
|
||||
"windows" "66"
|
||||
}
|
||||
"PreThink"
|
||||
{
|
||||
"windows" "347"
|
||||
}
|
||||
"PostThink"
|
||||
{
|
||||
"windows" "348"
|
||||
}
|
||||
"SetTransmit"
|
||||
{
|
||||
"windows" "22"
|
||||
}
|
||||
"ShouldCollide"
|
||||
{
|
||||
"windows" "17"
|
||||
}
|
||||
"Spawn"
|
||||
{
|
||||
"windows" "24"
|
||||
}
|
||||
"StartTouch"
|
||||
{
|
||||
"windows" "100"
|
||||
}
|
||||
"Think"
|
||||
{
|
||||
"windows" "50"
|
||||
}
|
||||
"Touch"
|
||||
{
|
||||
"windows" "101"
|
||||
}
|
||||
"TraceAttack"
|
||||
{
|
||||
"windows" "64"
|
||||
}
|
||||
"UpdateOnRemove"
|
||||
{
|
||||
"windows" "108"
|
||||
}
|
||||
"Use"
|
||||
{
|
||||
"windows" "99"
|
||||
}
|
||||
"VPhysicsUpdate"
|
||||
{
|
||||
"windows" "160"
|
||||
}
|
||||
"Weapon_CanSwitchTo"
|
||||
{
|
||||
"windows" "283"
|
||||
}
|
||||
"Weapon_CanUse"
|
||||
{
|
||||
"windows" "277"
|
||||
}
|
||||
"Weapon_Drop"
|
||||
{
|
||||
"windows" "280"
|
||||
}
|
||||
"Weapon_Equip"
|
||||
{
|
||||
"windows" "278"
|
||||
}
|
||||
"Weapon_Switch"
|
||||
{
|
||||
"windows" "281"
|
||||
}
|
||||
}
|
||||
|
||||
"Signatures"
|
||||
{
|
||||
"IEntityFactoryDictionary"
|
||||
{
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
124
gamedata/sdkhooks.games/game.aoc.txt
Normal file
124
gamedata/sdkhooks.games/game.aoc.txt
Normal file
@ -0,0 +1,124 @@
|
||||
"Games"
|
||||
{
|
||||
"ageofchivalry"
|
||||
{
|
||||
"Offsets"
|
||||
{
|
||||
"EndTouch"
|
||||
{
|
||||
"windows" "93"
|
||||
"linux" "94"
|
||||
}
|
||||
"FireBullets"
|
||||
{
|
||||
"windows" "105"
|
||||
"linux" "106"
|
||||
}
|
||||
"GroundEntChanged"
|
||||
{
|
||||
"windows" "164"
|
||||
"linux" "165"
|
||||
}
|
||||
"OnTakeDamage"
|
||||
{
|
||||
"windows" "60"
|
||||
"linux" "61"
|
||||
}
|
||||
"PreThink"
|
||||
{
|
||||
"windows" "290"
|
||||
"linux" "291"
|
||||
}
|
||||
"PostThink"
|
||||
{
|
||||
"windows" "291"
|
||||
"linux" "292"
|
||||
}
|
||||
"SetTransmit"
|
||||
{
|
||||
"windows" "19"
|
||||
"linux" "20"
|
||||
}
|
||||
"ShouldCollide"
|
||||
{
|
||||
"windows" "15"
|
||||
"linux" "16"
|
||||
}
|
||||
"Spawn"
|
||||
{
|
||||
"windows" "21"
|
||||
"linux" "22"
|
||||
}
|
||||
"StartTouch"
|
||||
{
|
||||
"windows" "91"
|
||||
"linux" "92"
|
||||
}
|
||||
"Think"
|
||||
{
|
||||
"windows" "45"
|
||||
"linux" "46"
|
||||
}
|
||||
"Touch"
|
||||
{
|
||||
"windows" "92"
|
||||
"linux" "93"
|
||||
}
|
||||
"TraceAttack"
|
||||
{
|
||||
"windows" "58"
|
||||
"linux" "59"
|
||||
}
|
||||
"UpdateOnRemove"
|
||||
{
|
||||
"windows" "98"
|
||||
"linux" "99"
|
||||
}
|
||||
"Use"
|
||||
{
|
||||
"windows" "90"
|
||||
"linux" "91"
|
||||
}
|
||||
"VPhysicsUpdate"
|
||||
{
|
||||
"windows" "144"
|
||||
"linux" "145"
|
||||
}
|
||||
"Weapon_CanSwitchTo"
|
||||
{
|
||||
"windows" "236"
|
||||
"linux" "237"
|
||||
}
|
||||
"Weapon_CanUse"
|
||||
{
|
||||
"windows" "230"
|
||||
"linux" "231"
|
||||
}
|
||||
"Weapon_Drop"
|
||||
{
|
||||
"windows" "233"
|
||||
"linux" "234"
|
||||
}
|
||||
"Weapon_Equip"
|
||||
{
|
||||
"windows" "231"
|
||||
"linux" "232"
|
||||
}
|
||||
"Weapon_Switch"
|
||||
{
|
||||
"windows" "234"
|
||||
"linux" "235"
|
||||
}
|
||||
}
|
||||
|
||||
"Signatures"
|
||||
{
|
||||
"IEntityFactoryDictionary"
|
||||
{
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
124
gamedata/sdkhooks.games/game.cspromod.txt
Normal file
124
gamedata/sdkhooks.games/game.cspromod.txt
Normal file
@ -0,0 +1,124 @@
|
||||
"Games"
|
||||
{
|
||||
"cspromod"
|
||||
{
|
||||
"Offsets"
|
||||
{
|
||||
"EndTouch"
|
||||
{
|
||||
"windows" "93"
|
||||
"linux" "94"
|
||||
}
|
||||
"FireBullets"
|
||||
{
|
||||
"windows" "105"
|
||||
"linux" "106"
|
||||
}
|
||||
"GroundEntChanged"
|
||||
{
|
||||
"windows" "167"
|
||||
"linux" "168"
|
||||
}
|
||||
"OnTakeDamage"
|
||||
{
|
||||
"windows" "60"
|
||||
"linux" "61"
|
||||
}
|
||||
"PreThink"
|
||||
{
|
||||
"windows" "289"
|
||||
"linux" "290"
|
||||
}
|
||||
"PostThink"
|
||||
{
|
||||
"windows" "290"
|
||||
"linux" "291"
|
||||
}
|
||||
"SetTransmit"
|
||||
{
|
||||
"windows" "19"
|
||||
"linux" "20"
|
||||
}
|
||||
"ShouldCollide"
|
||||
{
|
||||
"windows" "15"
|
||||
"linux" "16"
|
||||
}
|
||||
"Spawn"
|
||||
{
|
||||
"windows" "21"
|
||||
"linux" "22"
|
||||
}
|
||||
"StartTouch"
|
||||
{
|
||||
"windows" "91"
|
||||
"linux" "92"
|
||||
}
|
||||
"Think"
|
||||
{
|
||||
"windows" "45"
|
||||
"linux" "46"
|
||||
}
|
||||
"Touch"
|
||||
{
|
||||
"windows" "92"
|
||||
"linux" "93"
|
||||
}
|
||||
"TraceAttack"
|
||||
{
|
||||
"windows" "58"
|
||||
"linux" "59"
|
||||
}
|
||||
"UpdateOnRemove"
|
||||
{
|
||||
"windows" "98"
|
||||
"linux" "99"
|
||||
}
|
||||
"Use"
|
||||
{
|
||||
"windows" "90"
|
||||
"linux" "91"
|
||||
}
|
||||
"VPhysicsUpdate"
|
||||
{
|
||||
"windows" "147"
|
||||
"linux" "148"
|
||||
}
|
||||
"Weapon_CanSwitchTo"
|
||||
{
|
||||
"windows" "235"
|
||||
"linux" "236"
|
||||
}
|
||||
"Weapon_CanUse"
|
||||
{
|
||||
"windows" "229"
|
||||
"linux" "230"
|
||||
}
|
||||
"Weapon_Drop"
|
||||
{
|
||||
"windows" "232"
|
||||
"linux" "233"
|
||||
}
|
||||
"Weapon_Equip"
|
||||
{
|
||||
"windows" "230"
|
||||
"linux" "231"
|
||||
}
|
||||
"Weapon_Switch"
|
||||
{
|
||||
"windows" "233"
|
||||
"linux" "234"
|
||||
}
|
||||
}
|
||||
|
||||
"Signatures"
|
||||
{
|
||||
"IEntityFactoryDictionary"
|
||||
{
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
164
gamedata/sdkhooks.games/game.cstrike.txt
Normal file
164
gamedata/sdkhooks.games/game.cstrike.txt
Normal file
@ -0,0 +1,164 @@
|
||||
"Games"
|
||||
{
|
||||
"#default"
|
||||
{
|
||||
"Offsets"
|
||||
{
|
||||
"EndTouch"
|
||||
{
|
||||
"windows" "99"
|
||||
"linux" "100"
|
||||
"mac" "100"
|
||||
}
|
||||
"FireBullets"
|
||||
{
|
||||
"windows" "111"
|
||||
"linux" "112"
|
||||
"mac" "112"
|
||||
}
|
||||
"GetMaxHealth"
|
||||
{
|
||||
"windows" "116"
|
||||
"linux" "117"
|
||||
"mac" "117"
|
||||
}
|
||||
"GroundEntChanged"
|
||||
{
|
||||
"windows" "176"
|
||||
"linux" "177"
|
||||
"mac" "177"
|
||||
}
|
||||
"OnTakeDamage"
|
||||
{
|
||||
"windows" "62"
|
||||
"linux" "63"
|
||||
"mac" "63"
|
||||
}
|
||||
"PreThink"
|
||||
{
|
||||
"windows" "330"
|
||||
"linux" "331"
|
||||
"mac" "331"
|
||||
}
|
||||
"PostThink"
|
||||
{
|
||||
"windows" "331"
|
||||
"linux" "332"
|
||||
"mac" "332"
|
||||
}
|
||||
"Reload"
|
||||
{
|
||||
"windows" "270"
|
||||
"linux" "276"
|
||||
"mac" "276"
|
||||
}
|
||||
"SetTransmit"
|
||||
{
|
||||
"windows" "20"
|
||||
"linux" "21"
|
||||
"mac" "21"
|
||||
}
|
||||
"ShouldCollide"
|
||||
{
|
||||
"windows" "16"
|
||||
"linux" "17"
|
||||
"mac" "17"
|
||||
}
|
||||
"Spawn"
|
||||
{
|
||||
"windows" "22"
|
||||
"linux" "23"
|
||||
"mac" "23"
|
||||
}
|
||||
"StartTouch"
|
||||
{
|
||||
"windows" "97"
|
||||
"linux" "98"
|
||||
"mac" "98"
|
||||
}
|
||||
"Think"
|
||||
{
|
||||
"windows" "47"
|
||||
"linux" "48"
|
||||
"mac" "48"
|
||||
}
|
||||
"Touch"
|
||||
{
|
||||
"windows" "98"
|
||||
"linux" "99"
|
||||
"mac" "99"
|
||||
}
|
||||
"TraceAttack"
|
||||
{
|
||||
"windows" "60"
|
||||
"linux" "61"
|
||||
"mac" "61"
|
||||
}
|
||||
"Use"
|
||||
{
|
||||
"windows" "96"
|
||||
"linux" "97"
|
||||
"mac" "97"
|
||||
}
|
||||
"VPhysicsUpdate"
|
||||
{
|
||||
"windows" "156"
|
||||
"linux" "157"
|
||||
"mac" "157"
|
||||
}
|
||||
"Weapon_CanSwitchTo"
|
||||
{
|
||||
"windows" "264"
|
||||
"linux" "265"
|
||||
"mac" "265"
|
||||
}
|
||||
"Weapon_CanUse"
|
||||
{
|
||||
"windows" "258"
|
||||
"linux" "259"
|
||||
"mac" "259"
|
||||
}
|
||||
"Weapon_Drop"
|
||||
{
|
||||
"windows" "261"
|
||||
"linux" "262"
|
||||
"mac" "262"
|
||||
}
|
||||
"Weapon_Equip"
|
||||
{
|
||||
"windows" "259"
|
||||
"linux" "260"
|
||||
"mac" "260"
|
||||
}
|
||||
"Weapon_Switch"
|
||||
{
|
||||
"windows" "262"
|
||||
"linux" "263"
|
||||
"mac" "263"
|
||||
}
|
||||
|
||||
|
||||
// no longer used
|
||||
"UpdateOnRemove"
|
||||
{
|
||||
"windows" "104"
|
||||
"linux" "105"
|
||||
"mac" "105"
|
||||
}
|
||||
//
|
||||
}
|
||||
|
||||
"Signatures"
|
||||
{
|
||||
// no longer used
|
||||
"IEntityFactoryDictionary"
|
||||
{
|
||||
"library" "server"
|
||||
"windows" "\xB8\x01\x00\x00\x00\x84\x2A\x2A\x2A\x2A\x2A\x75\x1D\x09\x2A\x2A\x2A\x2A\x2A\xB9\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\x68\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\x83\xC4\x04\xB8\x2A\x2A\x2A\x2A\xC3"
|
||||
"linux" "@_Z23EntityFactoryDictionaryv"
|
||||
"mac" "@_Z23EntityFactoryDictionaryv"
|
||||
}
|
||||
//
|
||||
}
|
||||
}
|
||||
}
|
102
gamedata/sdkhooks.games/game.dinodday.txt
Normal file
102
gamedata/sdkhooks.games/game.dinodday.txt
Normal file
@ -0,0 +1,102 @@
|
||||
"Games"
|
||||
{
|
||||
"dinodday"
|
||||
{
|
||||
"Offsets"
|
||||
{
|
||||
"EndTouch"
|
||||
{
|
||||
"windows" "102"
|
||||
}
|
||||
"FireBullets"
|
||||
{
|
||||
"windows" "115"
|
||||
}
|
||||
"GetMaxHealth"
|
||||
{
|
||||
"windows" "119"
|
||||
}
|
||||
"OnTakeDamage"
|
||||
{
|
||||
"windows" "66"
|
||||
}
|
||||
"PreThink"
|
||||
{
|
||||
"windows" "348"
|
||||
}
|
||||
"PostThink"
|
||||
{
|
||||
"windows" "349"
|
||||
}
|
||||
"SetTransmit"
|
||||
{
|
||||
"windows" "22"
|
||||
}
|
||||
"ShouldCollide"
|
||||
{
|
||||
"windows" "17"
|
||||
}
|
||||
"Spawn"
|
||||
{
|
||||
"windows" "24"
|
||||
}
|
||||
"StartTouch"
|
||||
{
|
||||
"windows" "100"
|
||||
}
|
||||
"Think"
|
||||
{
|
||||
"windows" "50"
|
||||
}
|
||||
"Touch"
|
||||
{
|
||||
"windows" "101"
|
||||
}
|
||||
"TraceAttack"
|
||||
{
|
||||
"windows" "64"
|
||||
}
|
||||
"UpdateOnRemove"
|
||||
{
|
||||
"windows" "108"
|
||||
}
|
||||
"Use"
|
||||
{
|
||||
"windows" "99"
|
||||
}
|
||||
"VPhysicsUpdate"
|
||||
{
|
||||
"windows" "160"
|
||||
}
|
||||
"Weapon_CanSwitchTo"
|
||||
{
|
||||
"windows" "283"
|
||||
}
|
||||
"Weapon_CanUse"
|
||||
{
|
||||
"windows" "277"
|
||||
}
|
||||
"Weapon_Drop"
|
||||
{
|
||||
"windows" "280"
|
||||
}
|
||||
"Weapon_Equip"
|
||||
{
|
||||
"windows" "278"
|
||||
}
|
||||
"Weapon_Switch"
|
||||
{
|
||||
"windows" "281"
|
||||
}
|
||||
}
|
||||
|
||||
"Signatures"
|
||||
{
|
||||
"IEntityFactoryDictionary"
|
||||
{
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
125
gamedata/sdkhooks.games/game.empires.txt
Normal file
125
gamedata/sdkhooks.games/game.empires.txt
Normal file
@ -0,0 +1,125 @@
|
||||
"Games"
|
||||
{
|
||||
/* Empires Mod 2.31a */
|
||||
"empires"
|
||||
{
|
||||
"Offsets"
|
||||
{
|
||||
"EndTouch"
|
||||
{
|
||||
"windows" "95"
|
||||
"linux" "96"
|
||||
}
|
||||
"FireBullets"
|
||||
{
|
||||
"windows" "107"
|
||||
"linux" "108"
|
||||
}
|
||||
"OnTakeDamage"
|
||||
{
|
||||
"windows" "60"
|
||||
"linux" "61"
|
||||
}
|
||||
"PreThink"
|
||||
{
|
||||
"windows" "294"
|
||||
"linux" "295"
|
||||
}
|
||||
"PostThink"
|
||||
{
|
||||
"windows" "295"
|
||||
"linux" "296"
|
||||
}
|
||||
"SetTransmit"
|
||||
{
|
||||
"windows" "19"
|
||||
"linux" "20"
|
||||
}
|
||||
"ShouldCollide"
|
||||
{
|
||||
"windows" "15"
|
||||
"linux" "16"
|
||||
}
|
||||
"Spawn"
|
||||
{
|
||||
"windows" "21"
|
||||
"linux" "22"
|
||||
}
|
||||
"StartTouch"
|
||||
{
|
||||
"windows" "93"
|
||||
"linux" "94"
|
||||
}
|
||||
"Think"
|
||||
{
|
||||
"windows" "45"
|
||||
"linux" "46"
|
||||
}
|
||||
"Touch"
|
||||
{
|
||||
"windows" "94"
|
||||
"linux" "95"
|
||||
}
|
||||
"TraceAttack"
|
||||
{
|
||||
"windows" "58"
|
||||
"linux" "69"
|
||||
}
|
||||
"UpdateOnRemove"
|
||||
{
|
||||
"windows" "100"
|
||||
"linux" "101"
|
||||
}
|
||||
"Use"
|
||||
{
|
||||
"windows" "92"
|
||||
"linux" "93"
|
||||
}
|
||||
"VPhysicsUpdate"
|
||||
{
|
||||
"windows" "150"
|
||||
"linux" "151"
|
||||
}
|
||||
"Weapon_CanSwitchTo"
|
||||
{
|
||||
"windows" "240"
|
||||
"linux" "241"
|
||||
}
|
||||
"Weapon_CanUse"
|
||||
{
|
||||
"windows" "234"
|
||||
"linux" "235"
|
||||
}
|
||||
"Weapon_Drop"
|
||||
{
|
||||
"windows" "237"
|
||||
"linux" "238"
|
||||
}
|
||||
"Weapon_Equip"
|
||||
{
|
||||
"windows" "235"
|
||||
"linux" "236"
|
||||
}
|
||||
"Weapon_Switch"
|
||||
{
|
||||
"windows" "238"
|
||||
"linux" "239"
|
||||
}
|
||||
"GroundEntChanged"
|
||||
{
|
||||
"windows" "170"
|
||||
"linux" "171"
|
||||
}
|
||||
}
|
||||
|
||||
"Signatures"
|
||||
{
|
||||
"IEntityFactoryDictionary"
|
||||
{
|
||||
"library" "server"
|
||||
"windows" "\xB8\x01\x00\x00\x00\x84\x2A\x2A\x2A\x2A\x2A\x75\x2A\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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
120
gamedata/sdkhooks.games/game.ff.txt
Normal file
120
gamedata/sdkhooks.games/game.ff.txt
Normal file
@ -0,0 +1,120 @@
|
||||
"Games"
|
||||
{
|
||||
/* Fortress Forever 2.4 */
|
||||
"fortressforever"
|
||||
{
|
||||
"Offsets"
|
||||
{
|
||||
"EndTouch"
|
||||
{
|
||||
"windows" "96"
|
||||
"linux" "97"
|
||||
}
|
||||
"FireBullets"
|
||||
{
|
||||
"windows" "107"
|
||||
"linux" "108"
|
||||
}
|
||||
"OnTakeDamage"
|
||||
{
|
||||
"windows" "65"
|
||||
"linux" "66"
|
||||
}
|
||||
"PreThink"
|
||||
{
|
||||
"windows" "283"
|
||||
"linux" "284"
|
||||
}
|
||||
"PostThink"
|
||||
{
|
||||
"windows" "284"
|
||||
"linux" "285"
|
||||
}
|
||||
"SetTransmit"
|
||||
{
|
||||
"windows" "23"
|
||||
"linux" "24"
|
||||
}
|
||||
"ShouldCollide"
|
||||
{
|
||||
"windows" "17"
|
||||
"linux" "18"
|
||||
}
|
||||
"Spawn"
|
||||
{
|
||||
"windows" "25"
|
||||
"linux" "26"
|
||||
}
|
||||
"StartTouch"
|
||||
{
|
||||
"windows" "94"
|
||||
"linux" "95"
|
||||
}
|
||||
"Think"
|
||||
{
|
||||
"windows" "51"
|
||||
"linux" "52"
|
||||
}
|
||||
"Touch"
|
||||
{
|
||||
"windows" "95"
|
||||
"linux" "96"
|
||||
}
|
||||
"TraceAttack"
|
||||
{
|
||||
"windows" "63"
|
||||
"linux" "64"
|
||||
}
|
||||
"UpdateOnRemove"
|
||||
{
|
||||
"windows" "101"
|
||||
"linux" "102"
|
||||
}
|
||||
"Use"
|
||||
{
|
||||
"windows" "93"
|
||||
"linux" "94"
|
||||
}
|
||||
"VPhysicsUpdate"
|
||||
{
|
||||
"windows" "152"
|
||||
"linux" "153"
|
||||
}
|
||||
"Weapon_CanSwitchTo"
|
||||
{
|
||||
"windows" "232"
|
||||
"linux" "233"
|
||||
}
|
||||
"Weapon_CanUse"
|
||||
{
|
||||
"windows" "226"
|
||||
"linux" "227"
|
||||
}
|
||||
"Weapon_Drop"
|
||||
{
|
||||
"windows" "229"
|
||||
"linux" "230"
|
||||
}
|
||||
"Weapon_Equip"
|
||||
{
|
||||
"windows" "227"
|
||||
"linux" "228"
|
||||
}
|
||||
"Weapon_Switch"
|
||||
{
|
||||
"windows" "230"
|
||||
"linux" "231"
|
||||
}
|
||||
}
|
||||
|
||||
"Signatures"
|
||||
{
|
||||
"IEntityFactoryDictionary"
|
||||
{
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
115
gamedata/sdkhooks.games/game.fof.txt
Normal file
115
gamedata/sdkhooks.games/game.fof.txt
Normal file
@ -0,0 +1,115 @@
|
||||
"Games"
|
||||
{
|
||||
/* Fistful of Frags Beta 3.0 */
|
||||
"fistful_of_frags"
|
||||
{
|
||||
"Offsets"
|
||||
{
|
||||
"EndTouch"
|
||||
{
|
||||
"windows" "92"
|
||||
"linux" "93"
|
||||
}
|
||||
"FireBullets"
|
||||
{
|
||||
"windows" "104"
|
||||
"linux" "105"
|
||||
}
|
||||
"OnTakeDamage"
|
||||
{
|
||||
"windows" "60"
|
||||
"linux" "61"
|
||||
}
|
||||
"PreThink"
|
||||
{
|
||||
"windows" "287"
|
||||
"linux" "288"
|
||||
}
|
||||
"PostThink"
|
||||
{
|
||||
"windows" "288"
|
||||
"linux" "289"
|
||||
}
|
||||
"SetTransmit"
|
||||
{
|
||||
"windows" "19"
|
||||
"linux" "20"
|
||||
}
|
||||
"ShouldCollide"
|
||||
{
|
||||
"windows" "15"
|
||||
"linux" "16"
|
||||
}
|
||||
"Spawn"
|
||||
{
|
||||
"windows" "21"
|
||||
"linux" "22"
|
||||
}
|
||||
"StartTouch"
|
||||
{
|
||||
"windows" "90"
|
||||
"linux" "91"
|
||||
}
|
||||
"Think"
|
||||
{
|
||||
"windows" "45"
|
||||
"linux" "46"
|
||||
}
|
||||
"Touch"
|
||||
{
|
||||
"windows" "91"
|
||||
"linux" "92"
|
||||
}
|
||||
"TraceAttack"
|
||||
{
|
||||
"windows" "58"
|
||||
"linux" "59"
|
||||
}
|
||||
"UpdateOnRemove"
|
||||
{
|
||||
"windows" "97"
|
||||
"linux" "98"
|
||||
}
|
||||
"VPhysicsUpdate"
|
||||
{
|
||||
"windows" "143"
|
||||
"linux" "144"
|
||||
}
|
||||
"Weapon_CanSwitchTo"
|
||||
{
|
||||
"windows" "233"
|
||||
"linux" "234"
|
||||
}
|
||||
"Weapon_CanUse"
|
||||
{
|
||||
"windows" "227"
|
||||
"linux" "228"
|
||||
}
|
||||
"Weapon_Drop"
|
||||
{
|
||||
"windows" "230"
|
||||
"linux" "231"
|
||||
}
|
||||
"Weapon_Equip"
|
||||
{
|
||||
"windows" "228"
|
||||
"linux" "229"
|
||||
}
|
||||
"Weapon_Switch"
|
||||
{
|
||||
"windows" "231"
|
||||
"linux" "232"
|
||||
}
|
||||
}
|
||||
|
||||
"Signatures"
|
||||
{
|
||||
"IEntityFactoryDictionary"
|
||||
{
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
134
gamedata/sdkhooks.games/game.garrysmod.txt
Normal file
134
gamedata/sdkhooks.games/game.garrysmod.txt
Normal file
@ -0,0 +1,134 @@
|
||||
"Games"
|
||||
{
|
||||
"garrysmod"
|
||||
{
|
||||
"Offsets"
|
||||
{
|
||||
"EndTouch"
|
||||
{
|
||||
"windows" "99"
|
||||
"linux" "100"
|
||||
"mac" "100"
|
||||
}
|
||||
"FireBullets"
|
||||
{
|
||||
"windows" "111"
|
||||
"linux" "112"
|
||||
"mac" "112"
|
||||
}
|
||||
"GetMaxHealth"
|
||||
{
|
||||
"windows" "116"
|
||||
"linux" "117"
|
||||
"mac" "117"
|
||||
}
|
||||
"PreThink"
|
||||
{
|
||||
"windows" "368"
|
||||
"linux" "369"
|
||||
"mac" "369"
|
||||
}
|
||||
"PostThink"
|
||||
{
|
||||
"windows" "369"
|
||||
"linux" "370"
|
||||
"mac" "370"
|
||||
}
|
||||
"SetTransmit"
|
||||
{
|
||||
"windows" "19"
|
||||
"linux" "20"
|
||||
"mac" "20"
|
||||
}
|
||||
"Spawn"
|
||||
{
|
||||
"windows" "21"
|
||||
"linux" "22"
|
||||
"mac" "22"
|
||||
}
|
||||
"StartTouch"
|
||||
{
|
||||
"windows" "97"
|
||||
"linux" "98"
|
||||
"mac" "98"
|
||||
}
|
||||
"Think"
|
||||
{
|
||||
"windows" "46"
|
||||
"linux" "47"
|
||||
"mac" "47"
|
||||
}
|
||||
"Touch"
|
||||
{
|
||||
"windows" "98"
|
||||
"linux" "99"
|
||||
"mac" "99"
|
||||
}
|
||||
"TraceAttack"
|
||||
{
|
||||
"windows" "59"
|
||||
"linux" "60"
|
||||
"mac" "60"
|
||||
}
|
||||
"UpdateOnRemove"
|
||||
{
|
||||
"windows" "104"
|
||||
"linux" "105"
|
||||
"mac" "105"
|
||||
}
|
||||
"Use"
|
||||
{
|
||||
"windows" "96"
|
||||
"linux" "97"
|
||||
"mac" "97"
|
||||
}
|
||||
"VPhysicsUpdate"
|
||||
{
|
||||
"windows" "156"
|
||||
"linux" "157"
|
||||
"mac" "157"
|
||||
}
|
||||
"Weapon_CanSwitchTo"
|
||||
{
|
||||
"windows" "302"
|
||||
"linux" "303"
|
||||
"mac" "303"
|
||||
}
|
||||
"Weapon_CanUse"
|
||||
{
|
||||
"windows" "296"
|
||||
"linux" "297"
|
||||
"mac" "297"
|
||||
}
|
||||
"Weapon_Drop"
|
||||
{
|
||||
"windows" "299"
|
||||
"linux" "300"
|
||||
"mac" "300"
|
||||
}
|
||||
"Weapon_Equip"
|
||||
{
|
||||
"windows" "297"
|
||||
"linux" "298"
|
||||
"mac" "298"
|
||||
}
|
||||
"Weapon_Switch"
|
||||
{
|
||||
"windows" "300"
|
||||
"linux" "301"
|
||||
"mac" "301"
|
||||
}
|
||||
}
|
||||
|
||||
"Signatures"
|
||||
{
|
||||
"IEntityFactoryDictionary"
|
||||
{
|
||||
"library" "server"
|
||||
"windows" "\xB8\x01\x00\x00\x00\x84\x2A\x2A\x2A\x2A\x2A\x75\x1D\x09\x2A\x2A\x2A\x2A\x2A\xB9\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\x68\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\x83\xC4\x04\xB8\x2A\x2A\x2A\x2A\xC3"
|
||||
"linux" "@_Z23EntityFactoryDictionaryv"
|
||||
"mac" "@_Z23EntityFactoryDictionaryv"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
136
gamedata/sdkhooks.games/game.gesource.txt
Normal file
136
gamedata/sdkhooks.games/game.gesource.txt
Normal file
@ -0,0 +1,136 @@
|
||||
/**
|
||||
* Do not edit this file. Any changes will be overwritten by the gamedata
|
||||
* updater.
|
||||
*
|
||||
* 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"
|
||||
{
|
||||
"gesource"
|
||||
{
|
||||
"Offsets"
|
||||
{
|
||||
"EndTouch"
|
||||
{
|
||||
"windows" "92"
|
||||
"linux" "93"
|
||||
}
|
||||
"FireBullets"
|
||||
{
|
||||
"windows" "104"
|
||||
"linux" "105"
|
||||
}
|
||||
"GroundEntChanged"
|
||||
{
|
||||
"windows" "167"
|
||||
"linux" "168"
|
||||
}
|
||||
"OnTakeDamage"
|
||||
{
|
||||
"windows" "60"
|
||||
"linux" "61"
|
||||
}
|
||||
"PreThink"
|
||||
{
|
||||
"windows" "291"
|
||||
"linux" "292"
|
||||
}
|
||||
"PostThink"
|
||||
{
|
||||
"windows" "292"
|
||||
"linux" "293"
|
||||
}
|
||||
"SetTransmit"
|
||||
{
|
||||
"windows" "19"
|
||||
"linux" "20"
|
||||
}
|
||||
"ShouldCollide"
|
||||
{
|
||||
"windows" "15"
|
||||
"linux" "16"
|
||||
}
|
||||
"Spawn"
|
||||
{
|
||||
"windows" "21"
|
||||
"linux" "22"
|
||||
}
|
||||
"StartTouch"
|
||||
{
|
||||
"windows" "90"
|
||||
"linux" "91"
|
||||
}
|
||||
"Think"
|
||||
{
|
||||
"windows" "45"
|
||||
"linux" "46"
|
||||
}
|
||||
"Touch"
|
||||
{
|
||||
"windows" "91"
|
||||
"linux" "92"
|
||||
}
|
||||
"TraceAttack"
|
||||
{
|
||||
"windows" "58"
|
||||
"linux" "59"
|
||||
}
|
||||
"UpdateOnRemove"
|
||||
{
|
||||
"windows" "97"
|
||||
"linux" "98"
|
||||
}
|
||||
"Use"
|
||||
{
|
||||
"windows" "89"
|
||||
"linux" "90"
|
||||
}
|
||||
"VPhysicsUpdate"
|
||||
{
|
||||
"windows" "145"
|
||||
"linux" "146"
|
||||
}
|
||||
"Weapon_CanSwitchTo"
|
||||
{
|
||||
"windows" "237"
|
||||
"linux" "238"
|
||||
}
|
||||
"Weapon_CanUse"
|
||||
{
|
||||
"windows" "231"
|
||||
"linux" "232"
|
||||
}
|
||||
"Weapon_Drop"
|
||||
{
|
||||
"windows" "234"
|
||||
"linux" "235"
|
||||
}
|
||||
"Weapon_Equip"
|
||||
{
|
||||
"windows" "232"
|
||||
"linux" "233"
|
||||
}
|
||||
"Weapon_Switch"
|
||||
{
|
||||
"windows" "235"
|
||||
"linux" "236"
|
||||
}
|
||||
}
|
||||
|
||||
"Signatures"
|
||||
{
|
||||
"IEntityFactoryDictionary"
|
||||
{
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
114
gamedata/sdkhooks.games/game.hidden.txt
Normal file
114
gamedata/sdkhooks.games/game.hidden.txt
Normal file
@ -0,0 +1,114 @@
|
||||
"Games"
|
||||
{
|
||||
"hidden"
|
||||
{
|
||||
"Offsets"
|
||||
{
|
||||
"EndTouch"
|
||||
{
|
||||
"windows" "83"
|
||||
"linux" "84"
|
||||
}
|
||||
"FireBullets"
|
||||
{
|
||||
"windows" "93"
|
||||
"linux" "94"
|
||||
}
|
||||
"OnTakeDamage"
|
||||
{
|
||||
"windows" "54"
|
||||
"linux" "55"
|
||||
}
|
||||
"PreThink"
|
||||
{
|
||||
"windows" "246"
|
||||
"linux" "247"
|
||||
}
|
||||
"PostThink"
|
||||
{
|
||||
"windows" "247"
|
||||
"linux" "248"
|
||||
}
|
||||
"SetTransmit"
|
||||
{
|
||||
"windows" "21"
|
||||
"linux" "22"
|
||||
}
|
||||
"ShouldCollide"
|
||||
{
|
||||
"windows" "17"
|
||||
"linux" "18"
|
||||
}
|
||||
"Spawn"
|
||||
{
|
||||
"windows" "23"
|
||||
"linux" "24"
|
||||
}
|
||||
"StartTouch"
|
||||
{
|
||||
"windows" "81"
|
||||
"linux" "82"
|
||||
}
|
||||
"Think"
|
||||
{
|
||||
"windows" "45"
|
||||
"linux" "46"
|
||||
}
|
||||
"Touch"
|
||||
{
|
||||
"windows" "82"
|
||||
"linux" "83"
|
||||
}
|
||||
"TraceAttack"
|
||||
{
|
||||
"windows" "53"
|
||||
"linux" "54"
|
||||
}
|
||||
"UpdateOnRemove"
|
||||
{
|
||||
"windows" "88"
|
||||
"linux" "89"
|
||||
}
|
||||
"VPhysicsUpdate"
|
||||
{
|
||||
"windows" "130"
|
||||
"linux" "131"
|
||||
}
|
||||
"Weapon_CanSwitchTo"
|
||||
{
|
||||
"windows" "203"
|
||||
"linux" "204"
|
||||
}
|
||||
"Weapon_CanUse"
|
||||
{
|
||||
"windows" "197"
|
||||
"linux" "198"
|
||||
}
|
||||
"Weapon_Drop"
|
||||
{
|
||||
"windows" "200"
|
||||
"linux" "201"
|
||||
}
|
||||
"Weapon_Equip"
|
||||
{
|
||||
"windows" "198"
|
||||
"linux" "199"
|
||||
}
|
||||
"Weapon_Switch"
|
||||
{
|
||||
"windows" "201"
|
||||
"linux" "202"
|
||||
}
|
||||
}
|
||||
|
||||
"Signatures"
|
||||
{
|
||||
"IEntityFactoryDictionary"
|
||||
{
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
115
gamedata/sdkhooks.games/game.insurgency.txt
Normal file
115
gamedata/sdkhooks.games/game.insurgency.txt
Normal file
@ -0,0 +1,115 @@
|
||||
"Games"
|
||||
{
|
||||
/* Insurgency 2.5 */
|
||||
"insurgency"
|
||||
{
|
||||
"Offsets"
|
||||
{
|
||||
"EndTouch"
|
||||
{
|
||||
"windows" "84"
|
||||
"linux" "85"
|
||||
}
|
||||
"OnTakeDamage"
|
||||
{
|
||||
"windows" "53"
|
||||
"linux" "54"
|
||||
}
|
||||
"PreThink"
|
||||
{
|
||||
"windows" "189"
|
||||
"linux" "190"
|
||||
}
|
||||
"PostThink"
|
||||
{
|
||||
"windows" "190"
|
||||
"linux" "191"
|
||||
}
|
||||
"SetTransmit"
|
||||
{
|
||||
"windows" "21"
|
||||
"linux" "22"
|
||||
}
|
||||
"ShouldCollide"
|
||||
{
|
||||
"windows" "17"
|
||||
"linux" "18"
|
||||
}
|
||||
"Spawn"
|
||||
{
|
||||
"windows" "22"
|
||||
"linux" "23"
|
||||
}
|
||||
"StartTouch"
|
||||
{
|
||||
"windows" "82"
|
||||
"linux" "83"
|
||||
}
|
||||
"Think"
|
||||
{
|
||||
"windows" "45"
|
||||
"linux" "46"
|
||||
}
|
||||
"Touch"
|
||||
{
|
||||
"windows" "83"
|
||||
"linux" "84"
|
||||
}
|
||||
"TraceAttack"
|
||||
{
|
||||
"windows" "52"
|
||||
"linux" "53"
|
||||
}
|
||||
"UpdateOnRemove"
|
||||
{
|
||||
"windows" "89"
|
||||
"linux" "90"
|
||||
}
|
||||
"Use"
|
||||
{
|
||||
"windows" "81"
|
||||
"linux" "82"
|
||||
}
|
||||
"VPhysicsUpdate"
|
||||
{
|
||||
"windows" "130"
|
||||
"linux" "131"
|
||||
}
|
||||
"Weapon_CanSwitchTo"
|
||||
{
|
||||
"windows" "213"
|
||||
"linux" "214"
|
||||
}
|
||||
"Weapon_CanUse"
|
||||
{
|
||||
"windows" "216"
|
||||
"linux" "217"
|
||||
}
|
||||
"Weapon_Drop"
|
||||
{
|
||||
"windows" "220"
|
||||
"linux" "221"
|
||||
}
|
||||
"Weapon_Equip"
|
||||
{
|
||||
"windows" "215"
|
||||
"linux" "216"
|
||||
}
|
||||
"Weapon_Switch"
|
||||
{
|
||||
"windows" "217"
|
||||
"linux" "218"
|
||||
}
|
||||
}
|
||||
|
||||
"Signatures"
|
||||
{
|
||||
"IEntityFactoryDictionary"
|
||||
{
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
142
gamedata/sdkhooks.games/game.l4d2.txt
Normal file
142
gamedata/sdkhooks.games/game.l4d2.txt
Normal file
@ -0,0 +1,142 @@
|
||||
/**
|
||||
* Do not edit this file. Any changes will be overwritten by the gamedata
|
||||
* updater.
|
||||
*
|
||||
* 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"
|
||||
{
|
||||
"left4dead2"
|
||||
{
|
||||
"Offsets"
|
||||
{
|
||||
"EndTouch"
|
||||
{
|
||||
"windows" "108"
|
||||
"linux" "109"
|
||||
}
|
||||
"FireBullets"
|
||||
{
|
||||
"windows" "121"
|
||||
"linux" "122"
|
||||
}
|
||||
"GetMaxHealth"
|
||||
{
|
||||
"windows" "125"
|
||||
"linux" "126"
|
||||
"mac" "126"
|
||||
}
|
||||
"OnTakeDamage"
|
||||
{
|
||||
"windows" "71"
|
||||
"linux" "72"
|
||||
}
|
||||
"PreThink"
|
||||
{
|
||||
"windows" "355"
|
||||
"linux" "356"
|
||||
}
|
||||
"PostThink"
|
||||
{
|
||||
"windows" "356"
|
||||
"linux" "357"
|
||||
}
|
||||
"Reload"
|
||||
{
|
||||
"windows" "280"
|
||||
"linux" "281"
|
||||
}
|
||||
"SetTransmit"
|
||||
{
|
||||
"windows" "21"
|
||||
"linux" "22"
|
||||
}
|
||||
"ShouldCollide"
|
||||
{
|
||||
"windows" "17"
|
||||
"linux" "18"
|
||||
}
|
||||
"Spawn"
|
||||
{
|
||||
"windows" "23"
|
||||
"linux" "24"
|
||||
}
|
||||
"StartTouch"
|
||||
{
|
||||
"windows" "106"
|
||||
"linux" "107"
|
||||
}
|
||||
"Think"
|
||||
{
|
||||
"windows" "55"
|
||||
"linux" "56"
|
||||
}
|
||||
"Touch"
|
||||
{
|
||||
"windows" "107"
|
||||
"linux" "108"
|
||||
}
|
||||
"TraceAttack"
|
||||
{
|
||||
"windows" "69"
|
||||
"linux" "70"
|
||||
}
|
||||
"UpdateOnRemove"
|
||||
{
|
||||
"windows" "114"
|
||||
"linux" "115"
|
||||
}
|
||||
"Use"
|
||||
{
|
||||
"windows" "105"
|
||||
"linux" "106"
|
||||
}
|
||||
"VPhysicsUpdate"
|
||||
{
|
||||
"windows" "165"
|
||||
"linux" "166"
|
||||
}
|
||||
"Weapon_CanSwitchTo"
|
||||
{
|
||||
"windows" "285"
|
||||
"linux" "286"
|
||||
}
|
||||
"Weapon_CanUse"
|
||||
{
|
||||
"windows" "279"
|
||||
"linux" "280"
|
||||
}
|
||||
"Weapon_Drop"
|
||||
{
|
||||
"windows" "282"
|
||||
"linux" "283"
|
||||
}
|
||||
"Weapon_Equip"
|
||||
{
|
||||
"windows" "280"
|
||||
"linux" "281"
|
||||
}
|
||||
"Weapon_Switch"
|
||||
{
|
||||
"windows" "283"
|
||||
"linux" "284"
|
||||
}
|
||||
}
|
||||
|
||||
"Signatures"
|
||||
{
|
||||
"IEntityFactoryDictionary"
|
||||
{
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
94
gamedata/sdkhooks.games/game.neotokyo.txt
Normal file
94
gamedata/sdkhooks.games/game.neotokyo.txt
Normal file
@ -0,0 +1,94 @@
|
||||
"Games"
|
||||
{
|
||||
"NeotokyoSource"
|
||||
{
|
||||
"Offsets"
|
||||
{
|
||||
"EndTouch"
|
||||
{
|
||||
"windows" "91"
|
||||
}
|
||||
"FireBullets"
|
||||
{
|
||||
"windows" "102"
|
||||
}
|
||||
"OnTakeDamage"
|
||||
{
|
||||
"windows" "60"
|
||||
}
|
||||
"PreThink"
|
||||
{
|
||||
"windows" "274"
|
||||
}
|
||||
"PostThink"
|
||||
{
|
||||
"windows" "275"
|
||||
}
|
||||
"SetTransmit"
|
||||
{
|
||||
"windows" "21"
|
||||
}
|
||||
"ShouldCollide"
|
||||
{
|
||||
"windows" "17"
|
||||
}
|
||||
"Spawn"
|
||||
{
|
||||
"windows" "23"
|
||||
}
|
||||
"StartTouch"
|
||||
{
|
||||
"windows" "89"
|
||||
}
|
||||
"Think"
|
||||
{
|
||||
"windows" "46"
|
||||
}
|
||||
"Touch"
|
||||
{
|
||||
"windows" "90"
|
||||
}
|
||||
"TraceAttack"
|
||||
{
|
||||
"windows" "58"
|
||||
}
|
||||
"UpdateOnRemove"
|
||||
{
|
||||
"windows" "96"
|
||||
}
|
||||
"VPhysicsUpdate"
|
||||
{
|
||||
"windows" "143"
|
||||
}
|
||||
"Weapon_CanSwitchTo"
|
||||
{
|
||||
"windows" "223"
|
||||
}
|
||||
"Weapon_CanUse"
|
||||
{
|
||||
"windows" "217"
|
||||
}
|
||||
"Weapon_Drop"
|
||||
{
|
||||
"windows" "220"
|
||||
}
|
||||
"Weapon_Equip"
|
||||
{
|
||||
"windows" "218"
|
||||
}
|
||||
"Weapon_Switch"
|
||||
{
|
||||
"windows" "221"
|
||||
}
|
||||
}
|
||||
|
||||
"Signatures"
|
||||
{
|
||||
"IEntityFactoryDictionary"
|
||||
{
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
124
gamedata/sdkhooks.games/game.nmrih.txt
Normal file
124
gamedata/sdkhooks.games/game.nmrih.txt
Normal file
@ -0,0 +1,124 @@
|
||||
"Games"
|
||||
{
|
||||
"ageofchivalry"
|
||||
{
|
||||
"Offsets"
|
||||
{
|
||||
"EndTouch"
|
||||
{
|
||||
"windows" "94"
|
||||
"linux" "95"
|
||||
}
|
||||
"FireBullets"
|
||||
{
|
||||
"windows" "106"
|
||||
"linux" "107"
|
||||
}
|
||||
"GroundEntChanged"
|
||||
{
|
||||
"windows" "166"
|
||||
"linux" "167"
|
||||
}
|
||||
"OnTakeDamage"
|
||||
{
|
||||
"windows" "60"
|
||||
"linux" "61"
|
||||
}
|
||||
"PreThink"
|
||||
{
|
||||
"windows" "300"
|
||||
"linux" "301"
|
||||
}
|
||||
"PostThink"
|
||||
{
|
||||
"windows" "281"
|
||||
"linux" "282"
|
||||
}
|
||||
"SetTransmit"
|
||||
{
|
||||
"windows" "19"
|
||||
"linux" "20"
|
||||
}
|
||||
"ShouldCollide"
|
||||
{
|
||||
"windows" "15"
|
||||
"linux" "16"
|
||||
}
|
||||
"Spawn"
|
||||
{
|
||||
"windows" "21"
|
||||
"linux" "22"
|
||||
}
|
||||
"StartTouch"
|
||||
{
|
||||
"windows" "92"
|
||||
"linux" "93"
|
||||
}
|
||||
"Think"
|
||||
{
|
||||
"windows" "45"
|
||||
"linux" "46"
|
||||
}
|
||||
"Touch"
|
||||
{
|
||||
"windows" "93"
|
||||
"linux" "94"
|
||||
}
|
||||
"TraceAttack"
|
||||
{
|
||||
"windows" "58"
|
||||
"linux" "59"
|
||||
}
|
||||
"UpdateOnRemove"
|
||||
{
|
||||
"windows" "99"
|
||||
"linux" "100"
|
||||
}
|
||||
"Use"
|
||||
{
|
||||
"windows" "90"
|
||||
"linux" "91"
|
||||
}
|
||||
"VPhysicsUpdate"
|
||||
{
|
||||
"windows" "146"
|
||||
"linux" "147"
|
||||
}
|
||||
"Weapon_CanSwitchTo"
|
||||
{
|
||||
"windows" "237"
|
||||
"linux" "238"
|
||||
}
|
||||
"Weapon_CanUse"
|
||||
{
|
||||
"windows" "231"
|
||||
"linux" "232"
|
||||
}
|
||||
"Weapon_Drop"
|
||||
{
|
||||
"windows" "234"
|
||||
"linux" "235"
|
||||
}
|
||||
"Weapon_Equip"
|
||||
{
|
||||
"windows" "232"
|
||||
"linux" "233"
|
||||
}
|
||||
"Weapon_Switch"
|
||||
{
|
||||
"windows" "235"
|
||||
"linux" "236"
|
||||
}
|
||||
}
|
||||
|
||||
"Signatures"
|
||||
{
|
||||
"IEntityFactoryDictionary"
|
||||
{
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
158
gamedata/sdkhooks.games/game.nucleardawn.txt
Normal file
158
gamedata/sdkhooks.games/game.nucleardawn.txt
Normal file
@ -0,0 +1,158 @@
|
||||
"Games"
|
||||
{
|
||||
"nucleardawn"
|
||||
{
|
||||
"Offsets"
|
||||
{
|
||||
"EndTouch"
|
||||
{
|
||||
"windows" "119"
|
||||
"linux" "120"
|
||||
"mac" "120"
|
||||
}
|
||||
"FireBullets"
|
||||
{
|
||||
"windows" "132"
|
||||
"linux" "133"
|
||||
"mac" "133"
|
||||
}
|
||||
"GetMaxHealth"
|
||||
{
|
||||
"windows" "136"
|
||||
"linux" "137"
|
||||
"mac" "137"
|
||||
}
|
||||
"GroundEntChanged"
|
||||
{
|
||||
"windows" "198"
|
||||
"linux" "199"
|
||||
"mac" "199"
|
||||
}
|
||||
"OnTakeDamage"
|
||||
{
|
||||
"windows" "72"
|
||||
"linux" "73"
|
||||
"mac" "73"
|
||||
}
|
||||
"PreThink"
|
||||
{
|
||||
"windows" "367"
|
||||
"linux" "368"
|
||||
"mac" "368"
|
||||
}
|
||||
"PostThink"
|
||||
{
|
||||
"windows" "368"
|
||||
"linux" "369"
|
||||
"mac" "369"
|
||||
}
|
||||
"Reload"
|
||||
{
|
||||
"windows" "291"
|
||||
"linux" "292"
|
||||
"mac" "292"
|
||||
}
|
||||
"SetTransmit"
|
||||
{
|
||||
"windows" "22"
|
||||
"linux" "23"
|
||||
"mac" "23"
|
||||
}
|
||||
"ShouldCollide"
|
||||
{
|
||||
"windows" "17"
|
||||
"linux" "18"
|
||||
"mac" "18"
|
||||
}
|
||||
"Spawn"
|
||||
{
|
||||
"windows" "24"
|
||||
"linux" "25"
|
||||
"mac" "25"
|
||||
}
|
||||
"StartTouch"
|
||||
{
|
||||
"windows" "117"
|
||||
"linux" "118"
|
||||
"mac" "118"
|
||||
}
|
||||
"Think"
|
||||
{
|
||||
"windows" "56"
|
||||
"linux" "57"
|
||||
"mac" "57"
|
||||
}
|
||||
"Touch"
|
||||
{
|
||||
"windows" "118"
|
||||
"linux" "119"
|
||||
"mac" "119"
|
||||
}
|
||||
"TraceAttack"
|
||||
{
|
||||
"windows" "70"
|
||||
"linux" "71"
|
||||
"mac" "71"
|
||||
}
|
||||
"UpdateOnRemove"
|
||||
{
|
||||
"windows" "125"
|
||||
"linux" "126"
|
||||
"mac" "126"
|
||||
}
|
||||
"Use"
|
||||
{
|
||||
"windows" "116"
|
||||
"linux" "117"
|
||||
"mac" "117"
|
||||
}
|
||||
"VPhysicsUpdate"
|
||||
{
|
||||
"windows" "177"
|
||||
"linux" "178"
|
||||
"mac" "178"
|
||||
}
|
||||
"Weapon_CanSwitchTo"
|
||||
{
|
||||
"windows" "296"
|
||||
"linux" "297"
|
||||
"mac" "297"
|
||||
}
|
||||
"Weapon_CanUse"
|
||||
{
|
||||
"windows" "290"
|
||||
"linux" "291"
|
||||
"mac" "291"
|
||||
}
|
||||
"Weapon_Drop"
|
||||
{
|
||||
"windows" "293"
|
||||
"linux" "294"
|
||||
"mac" "294"
|
||||
}
|
||||
"Weapon_Equip"
|
||||
{
|
||||
"windows" "291"
|
||||
"linux" "292"
|
||||
"mac" "292"
|
||||
}
|
||||
"Weapon_Switch"
|
||||
{
|
||||
"windows" "294"
|
||||
"linux" "295"
|
||||
"mac" "295"
|
||||
}
|
||||
}
|
||||
|
||||
"Signatures"
|
||||
{
|
||||
"IEntityFactoryDictionary"
|
||||
{
|
||||
"library" "server"
|
||||
"windows" "\xB8\x01\x00\x00\x00\x84\x2A\x2A\x2A\x2A\x2A\x75\x1D\x09\x2A\x2A\x2A\x2A\x2A\xB9\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\x68\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\x83\xC4\x04\xB8\x2A\x2A\x2A\x2A\xC3"
|
||||
"linux" "@_Z23EntityFactoryDictionaryv"
|
||||
"mac" "@_Z23EntityFactoryDictionaryv"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
120
gamedata/sdkhooks.games/game.pvkii.txt
Normal file
120
gamedata/sdkhooks.games/game.pvkii.txt
Normal file
@ -0,0 +1,120 @@
|
||||
"Games"
|
||||
{
|
||||
/* Pirates, Vikings and Knights II 2.3 */
|
||||
"pvkii"
|
||||
{
|
||||
"Offsets"
|
||||
{
|
||||
"EndTouch"
|
||||
{
|
||||
"windows" "93"
|
||||
"linux" "94"
|
||||
}
|
||||
"FireBullets"
|
||||
{
|
||||
"windows" "105"
|
||||
"linux" "106"
|
||||
}
|
||||
"OnTakeDamage"
|
||||
{
|
||||
"windows" "61"
|
||||
"linux" "62"
|
||||
}
|
||||
"PreThink"
|
||||
{
|
||||
"windows" "292"
|
||||
"linux" "293"
|
||||
}
|
||||
"PostThink"
|
||||
{
|
||||
"windows" "293"
|
||||
"linux" "294"
|
||||
}
|
||||
"SetTransmit"
|
||||
{
|
||||
"windows" "20"
|
||||
"linux" "21"
|
||||
}
|
||||
"ShouldCollide"
|
||||
{
|
||||
"windows" "15"
|
||||
"linux" "16"
|
||||
}
|
||||
"Spawn"
|
||||
{
|
||||
"windows" "22"
|
||||
"linux" "23"
|
||||
}
|
||||
"StartTouch"
|
||||
{
|
||||
"windows" "91"
|
||||
"linux" "92"
|
||||
}
|
||||
"Think"
|
||||
{
|
||||
"windows" "46"
|
||||
"linux" "47"
|
||||
}
|
||||
"Touch"
|
||||
{
|
||||
"windows" "92"
|
||||
"linux" "93"
|
||||
}
|
||||
"TraceAttack"
|
||||
{
|
||||
"windows" "59"
|
||||
"linux" "60"
|
||||
}
|
||||
"UpdateOnRemove"
|
||||
{
|
||||
"windows" "98"
|
||||
"linux" "99"
|
||||
}
|
||||
"Use"
|
||||
{
|
||||
"windows" "90"
|
||||
"linux" "91"
|
||||
}
|
||||
"VPhysicsUpdate"
|
||||
{
|
||||
"windows" "145"
|
||||
"linux" "146"
|
||||
}
|
||||
"Weapon_CanSwitchTo"
|
||||
{
|
||||
"windows" "237"
|
||||
"linux" "238"
|
||||
}
|
||||
"Weapon_CanUse"
|
||||
{
|
||||
"windows" "231"
|
||||
"linux" "232"
|
||||
}
|
||||
"Weapon_Drop"
|
||||
{
|
||||
"windows" "234"
|
||||
"linux" "235"
|
||||
}
|
||||
"Weapon_Equip"
|
||||
{
|
||||
"windows" "232"
|
||||
"linux" "233"
|
||||
}
|
||||
"Weapon_Switch"
|
||||
{
|
||||
"windows" "235"
|
||||
"linux" "236"
|
||||
}
|
||||
}
|
||||
|
||||
"Signatures"
|
||||
{
|
||||
"IEntityFactoryDictionary"
|
||||
{
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
115
gamedata/sdkhooks.games/game.sgtls.txt
Normal file
115
gamedata/sdkhooks.games/game.sgtls.txt
Normal file
@ -0,0 +1,115 @@
|
||||
"Games"
|
||||
{
|
||||
/* Stargate: The Last Stand 1.1 beta */
|
||||
"sgtls"
|
||||
{
|
||||
"Offsets"
|
||||
{
|
||||
"EndTouch"
|
||||
{
|
||||
"windows" "92"
|
||||
"linux" "93"
|
||||
}
|
||||
"FireBullets"
|
||||
{
|
||||
"windows" "104"
|
||||
"linux" "105"
|
||||
}
|
||||
"OnTakeDamage"
|
||||
{
|
||||
"windows" "60"
|
||||
"linux" "61"
|
||||
}
|
||||
"PreThink"
|
||||
{
|
||||
"windows" "287"
|
||||
"linux" "288"
|
||||
}
|
||||
"PostThink"
|
||||
{
|
||||
"windows" "288"
|
||||
"linux" "289"
|
||||
}
|
||||
"SetTransmit"
|
||||
{
|
||||
"windows" "19"
|
||||
"linux" "20"
|
||||
}
|
||||
"ShouldCollide"
|
||||
{
|
||||
"windows" "15"
|
||||
"linux" "16"
|
||||
}
|
||||
"Spawn"
|
||||
{
|
||||
"windows" "21"
|
||||
"linux" "22"
|
||||
}
|
||||
"StartTouch"
|
||||
{
|
||||
"windows" "90"
|
||||
"linux" "91"
|
||||
}
|
||||
"Think"
|
||||
{
|
||||
"windows" "45"
|
||||
"linux" "46"
|
||||
}
|
||||
"Touch"
|
||||
{
|
||||
"windows" "91"
|
||||
"linux" "92"
|
||||
}
|
||||
"TraceAttack"
|
||||
{
|
||||
"windows" "58"
|
||||
"linux" "59"
|
||||
}
|
||||
"UpdateOnRemove"
|
||||
{
|
||||
"windows" "97"
|
||||
"linux" "98"
|
||||
}
|
||||
"VPhysicsUpdate"
|
||||
{
|
||||
"windows" "143"
|
||||
"linux" "144"
|
||||
}
|
||||
"Weapon_CanSwitchTo"
|
||||
{
|
||||
"windows" "233"
|
||||
"linux" "234"
|
||||
}
|
||||
"Weapon_CanUse"
|
||||
{
|
||||
"windows" "227"
|
||||
"linux" "228"
|
||||
}
|
||||
"Weapon_Drop"
|
||||
{
|
||||
"windows" "230"
|
||||
"linux" "231"
|
||||
}
|
||||
"Weapon_Equip"
|
||||
{
|
||||
"windows" "228"
|
||||
"linux" "229"
|
||||
}
|
||||
"Weapon_Switch"
|
||||
{
|
||||
"windows" "231"
|
||||
"linux" "232"
|
||||
}
|
||||
}
|
||||
|
||||
"Signatures"
|
||||
{
|
||||
"IEntityFactoryDictionary"
|
||||
{
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
119
gamedata/sdkhooks.games/game.sourceforts.txt
Normal file
119
gamedata/sdkhooks.games/game.sourceforts.txt
Normal file
@ -0,0 +1,119 @@
|
||||
"Games"
|
||||
{
|
||||
"sourceforts"
|
||||
{
|
||||
"Offsets"
|
||||
{
|
||||
"EndTouch"
|
||||
{
|
||||
"windows" "90"
|
||||
"linux" "91"
|
||||
}
|
||||
"FireBullets"
|
||||
{
|
||||
"windows" "101"
|
||||
"linux" "102"
|
||||
}
|
||||
"OnTakeDamage"
|
||||
{
|
||||
"windows" "60"
|
||||
"linux" "61"
|
||||
}
|
||||
"PreThink"
|
||||
{
|
||||
"windows" "273"
|
||||
"linux" "274"
|
||||
}
|
||||
"PostThink"
|
||||
{
|
||||
"windows" "274"
|
||||
"linux" "275"
|
||||
}
|
||||
"SetTransmit"
|
||||
{
|
||||
"windows" "21"
|
||||
"linux" "22"
|
||||
}
|
||||
"ShouldCollide"
|
||||
{
|
||||
"windows" "17"
|
||||
"linux" "18"
|
||||
}
|
||||
"Spawn"
|
||||
{
|
||||
"windows" "23"
|
||||
"linux" "24"
|
||||
}
|
||||
"StartTouch"
|
||||
{
|
||||
"windows" "88"
|
||||
"linux" "89"
|
||||
}
|
||||
"Think"
|
||||
{
|
||||
"windows" "46"
|
||||
"linux" "47"
|
||||
}
|
||||
"Touch"
|
||||
{
|
||||
"windows" "89"
|
||||
"linux" "90"
|
||||
}
|
||||
"TraceAttack"
|
||||
{
|
||||
"windows" "58"
|
||||
"linux" "59"
|
||||
}
|
||||
"UpdateOnRemove"
|
||||
{
|
||||
"windows" "95"
|
||||
"linux" "96"
|
||||
}
|
||||
"Use"
|
||||
{
|
||||
"windows" "87"
|
||||
"linux" "88"
|
||||
}
|
||||
"VPhysicsUpdate"
|
||||
{
|
||||
"windows" "142"
|
||||
"linux" "143"
|
||||
}
|
||||
"Weapon_CanSwitchTo"
|
||||
{
|
||||
"windows" "222"
|
||||
"linux" "223"
|
||||
}
|
||||
"Weapon_CanUse"
|
||||
{
|
||||
"windows" "216"
|
||||
"linux" "217"
|
||||
}
|
||||
"Weapon_Drop"
|
||||
{
|
||||
"windows" "219"
|
||||
"linux" "220"
|
||||
}
|
||||
"Weapon_Equip"
|
||||
{
|
||||
"windows" "217"
|
||||
"linux" "218"
|
||||
}
|
||||
"Weapon_Switch"
|
||||
{
|
||||
"windows" "220"
|
||||
"linux" "221"
|
||||
}
|
||||
}
|
||||
|
||||
"Signatures"
|
||||
{
|
||||
"IEntityFactoryDictionary"
|
||||
{
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
136
gamedata/sdkhooks.games/game.synergy.txt
Normal file
136
gamedata/sdkhooks.games/game.synergy.txt
Normal file
@ -0,0 +1,136 @@
|
||||
/**
|
||||
* Do not edit this file. Any changes will be overwritten by the gamedata
|
||||
* updater.
|
||||
*
|
||||
* 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"
|
||||
{
|
||||
"synergy"
|
||||
{
|
||||
"Offsets"
|
||||
{
|
||||
"EndTouch"
|
||||
{
|
||||
"windows" "92"
|
||||
"linux" "93"
|
||||
}
|
||||
"FireBullets"
|
||||
{
|
||||
"windows" "104"
|
||||
"linux" "105"
|
||||
}
|
||||
"GroundEntChanged"
|
||||
{
|
||||
"windows" "164"
|
||||
"linux" "165"
|
||||
}
|
||||
"OnTakeDamage"
|
||||
{
|
||||
"windows" "60"
|
||||
"linux" "61"
|
||||
}
|
||||
"PreThink"
|
||||
{
|
||||
"windows" "293"
|
||||
"linux" "294"
|
||||
}
|
||||
"PostThink"
|
||||
{
|
||||
"windows" "294"
|
||||
"linux" "295"
|
||||
}
|
||||
"SetTransmit"
|
||||
{
|
||||
"windows" "19"
|
||||
"linux" "20"
|
||||
}
|
||||
"ShouldCollide"
|
||||
{
|
||||
"windows" "15"
|
||||
"linux" "16"
|
||||
}
|
||||
"Spawn"
|
||||
{
|
||||
"windows" "21"
|
||||
"linux" "22"
|
||||
}
|
||||
"StartTouch"
|
||||
{
|
||||
"windows" "90"
|
||||
"linux" "91"
|
||||
}
|
||||
"Think"
|
||||
{
|
||||
"windows" "45"
|
||||
"linux" "46"
|
||||
}
|
||||
"Touch"
|
||||
{
|
||||
"windows" "91"
|
||||
"linux" "92"
|
||||
}
|
||||
"TraceAttack"
|
||||
{
|
||||
"windows" "58"
|
||||
"linux" "59"
|
||||
}
|
||||
"UpdateOnRemove"
|
||||
{
|
||||
"windows" "97"
|
||||
"linux" "98"
|
||||
}
|
||||
"Use"
|
||||
{
|
||||
"windows" "89"
|
||||
"linux" "90"
|
||||
}
|
||||
"VPhysicsUpdate"
|
||||
{
|
||||
"windows" "144"
|
||||
"linux" "145"
|
||||
}
|
||||
"Weapon_CanSwitchTo"
|
||||
{
|
||||
"windows" "234"
|
||||
"linux" "235"
|
||||
}
|
||||
"Weapon_CanUse"
|
||||
{
|
||||
"windows" "228"
|
||||
"linux" "229"
|
||||
}
|
||||
"Weapon_Drop"
|
||||
{
|
||||
"windows" "231"
|
||||
"linux" "232"
|
||||
}
|
||||
"Weapon_Equip"
|
||||
{
|
||||
"windows" "229"
|
||||
"linux" "230"
|
||||
}
|
||||
"Weapon_Switch"
|
||||
{
|
||||
"windows" "232"
|
||||
"linux" "233"
|
||||
}
|
||||
}
|
||||
|
||||
"Signatures"
|
||||
{
|
||||
"IEntityFactoryDictionary"
|
||||
{
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
120
gamedata/sdkhooks.games/game.zm.txt
Normal file
120
gamedata/sdkhooks.games/game.zm.txt
Normal file
@ -0,0 +1,120 @@
|
||||
"Games"
|
||||
{
|
||||
/* Zombie Master 1.2.1 */
|
||||
"zombie_master"
|
||||
{
|
||||
"Offsets"
|
||||
{
|
||||
"EndTouch"
|
||||
{
|
||||
"windows" "90"
|
||||
"linux" "91"
|
||||
}
|
||||
"FireBullets"
|
||||
{
|
||||
"windows" "101"
|
||||
"linux" "102"
|
||||
}
|
||||
"OnTakeDamage"
|
||||
{
|
||||
"windows" "60"
|
||||
"linux" "61"
|
||||
}
|
||||
"PreThink"
|
||||
{
|
||||
"windows" "273"
|
||||
"linux" "274"
|
||||
}
|
||||
"PostThink"
|
||||
{
|
||||
"windows" "274"
|
||||
"linux" "275"
|
||||
}
|
||||
"SetTransmit"
|
||||
{
|
||||
"windows" "21"
|
||||
"linux" "22"
|
||||
}
|
||||
"ShouldCollide"
|
||||
{
|
||||
"windows" "17"
|
||||
"linux" "18"
|
||||
}
|
||||
"Spawn"
|
||||
{
|
||||
"windows" "23"
|
||||
"linux" "24"
|
||||
}
|
||||
"StartTouch"
|
||||
{
|
||||
"windows" "88"
|
||||
"linux" "89"
|
||||
}
|
||||
"Think"
|
||||
{
|
||||
"windows" "46"
|
||||
"linux" "47"
|
||||
}
|
||||
"Touch"
|
||||
{
|
||||
"windows" "89"
|
||||
"linux" "90"
|
||||
}
|
||||
"TraceAttack"
|
||||
{
|
||||
"windows" "58"
|
||||
"linux" "59"
|
||||
}
|
||||
"UpdateOnRemove"
|
||||
{
|
||||
"windows" "95"
|
||||
"linux" "96"
|
||||
}
|
||||
"Use"
|
||||
{
|
||||
"windows" "87"
|
||||
"linux" "88"
|
||||
}
|
||||
"VPhysicsUpdate"
|
||||
{
|
||||
"windows" "142"
|
||||
"linux" "143"
|
||||
}
|
||||
"Weapon_CanSwitchTo"
|
||||
{
|
||||
"windows" "222"
|
||||
"linux" "223"
|
||||
}
|
||||
"Weapon_CanUse"
|
||||
{
|
||||
"windows" "216"
|
||||
"linux" "217"
|
||||
}
|
||||
"Weapon_Drop"
|
||||
{
|
||||
"windows" "219"
|
||||
"linux" "220"
|
||||
}
|
||||
"Weapon_Equip"
|
||||
{
|
||||
"windows" "217"
|
||||
"linux" "218"
|
||||
}
|
||||
"Weapon_Switch"
|
||||
{
|
||||
"windows" "220"
|
||||
"linux" "221"
|
||||
}
|
||||
}
|
||||
|
||||
"Signatures"
|
||||
{
|
||||
"IEntityFactoryDictionary"
|
||||
{
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
120
gamedata/sdkhooks.games/game.zpanic.txt
Normal file
120
gamedata/sdkhooks.games/game.zpanic.txt
Normal file
@ -0,0 +1,120 @@
|
||||
"Games"
|
||||
{
|
||||
/* Zombic Panic Source 2.0 */
|
||||
"zps"
|
||||
{
|
||||
"Offsets"
|
||||
{
|
||||
"EndTouch"
|
||||
{
|
||||
"windows" "96"
|
||||
"linux" "97"
|
||||
}
|
||||
"FireBullets"
|
||||
{
|
||||
"windows" "108"
|
||||
"linux" "109"
|
||||
}
|
||||
"OnTakeDamage"
|
||||
{
|
||||
"windows" "61"
|
||||
"linux" "62"
|
||||
}
|
||||
"PreThink"
|
||||
{
|
||||
"windows" "295"
|
||||
"linux" "296"
|
||||
}
|
||||
"PostThink"
|
||||
{
|
||||
"windows" "296"
|
||||
"linux" "297"
|
||||
}
|
||||
"SetTransmit"
|
||||
{
|
||||
"windows" "19"
|
||||
"linux" "20"
|
||||
}
|
||||
"ShouldCollide"
|
||||
{
|
||||
"windows" "15"
|
||||
"linux" "16"
|
||||
}
|
||||
"Spawn"
|
||||
{
|
||||
"windows" "21"
|
||||
"linux" "22"
|
||||
}
|
||||
"StartTouch"
|
||||
{
|
||||
"windows" "94"
|
||||
"linux" "95"
|
||||
}
|
||||
"Think"
|
||||
{
|
||||
"windows" "46"
|
||||
"linux" "47"
|
||||
}
|
||||
"Touch"
|
||||
{
|
||||
"windows" "95"
|
||||
"linux" "96"
|
||||
}
|
||||
"TraceAttack"
|
||||
{
|
||||
"windows" "59"
|
||||
"linux" "60"
|
||||
}
|
||||
"UpdateOnRemove"
|
||||
{
|
||||
"windows" "101"
|
||||
"linux" "102"
|
||||
}
|
||||
"Use"
|
||||
{
|
||||
"windows" "93"
|
||||
"linux" "94"
|
||||
}
|
||||
"VPhysicsUpdate"
|
||||
{
|
||||
"windows" "149"
|
||||
"linux" "150"
|
||||
}
|
||||
"Weapon_CanSwitchTo"
|
||||
{
|
||||
"windows" "240"
|
||||
"linux" "241"
|
||||
}
|
||||
"Weapon_CanUse"
|
||||
{
|
||||
"windows" "234"
|
||||
"linux" "235"
|
||||
}
|
||||
"Weapon_Drop"
|
||||
{
|
||||
"windows" "237"
|
||||
"linux" "238"
|
||||
}
|
||||
"Weapon_Equip"
|
||||
{
|
||||
"windows" "235"
|
||||
"linux" "236"
|
||||
}
|
||||
//"Weapon_Switch"
|
||||
//{
|
||||
// "windows" "234"
|
||||
// "linux" "235"
|
||||
//}
|
||||
}
|
||||
|
||||
"Signatures"
|
||||
{
|
||||
"IEntityFactoryDictionary"
|
||||
{
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
162
gamedata/sdkhooks.games/master.games.txt
Normal file
162
gamedata/sdkhooks.games/master.games.txt
Normal file
@ -0,0 +1,162 @@
|
||||
/**
|
||||
* Do not edit this file. Any changes will be overwritten by the gamedata
|
||||
* updater.
|
||||
*
|
||||
* 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)
|
||||
*/
|
||||
|
||||
|
||||
"Game Master"
|
||||
{
|
||||
"common.games.txt"
|
||||
{
|
||||
}
|
||||
|
||||
"engine.l4d.txt"
|
||||
{
|
||||
"engine" "left4dead"
|
||||
}
|
||||
|
||||
"game.l4d2.txt"
|
||||
{
|
||||
"game" "left4dead2"
|
||||
}
|
||||
|
||||
"game.nucleardawn.txt"
|
||||
{
|
||||
"game" "nucleardawn"
|
||||
}
|
||||
|
||||
"engine.csgo.txt"
|
||||
{
|
||||
"engine" "csgo"
|
||||
}
|
||||
|
||||
"engine.ep2v.txt"
|
||||
{
|
||||
"engine" "orangebox_valve"
|
||||
}
|
||||
|
||||
"engine.darkm.txt"
|
||||
{
|
||||
"engine" "darkmessiah"
|
||||
}
|
||||
|
||||
/*
|
||||
Not Yet
|
||||
|
||||
"engine.bgt.txt"
|
||||
{
|
||||
"engine" "bloodygoodtime"
|
||||
}
|
||||
*/
|
||||
|
||||
"game.insurgency.txt"
|
||||
{
|
||||
"game" "insurgency"
|
||||
}
|
||||
|
||||
"game.pvkii.txt"
|
||||
{
|
||||
"game" "pvkii"
|
||||
}
|
||||
|
||||
"game.ff.txt"
|
||||
{
|
||||
"game" "FortressForever"
|
||||
}
|
||||
|
||||
"game.garrysmod.txt"
|
||||
{
|
||||
"game" "garrysmod"
|
||||
}
|
||||
|
||||
"game.empires.txt"
|
||||
{
|
||||
"game" "empires"
|
||||
}
|
||||
|
||||
"game.sourceforts.txt"
|
||||
{
|
||||
"game" "sourceforts"
|
||||
}
|
||||
|
||||
"game.hidden.txt"
|
||||
{
|
||||
"game" "hidden"
|
||||
}
|
||||
|
||||
"game.zm.txt"
|
||||
{
|
||||
"game" "zombie_master"
|
||||
}
|
||||
|
||||
"game.zpanic.txt"
|
||||
{
|
||||
"game" "zps"
|
||||
}
|
||||
|
||||
"game.neotokyo.txt"
|
||||
{
|
||||
"game" "NeotokyoSource"
|
||||
}
|
||||
|
||||
"game.fof.txt"
|
||||
{
|
||||
"game" "fistful_of_frags"
|
||||
}
|
||||
|
||||
"game.sgtls.txt"
|
||||
{
|
||||
"game" "sgtls"
|
||||
}
|
||||
|
||||
"game.alienswarm.txt"
|
||||
{
|
||||
"game" "swarm"
|
||||
}
|
||||
|
||||
"game.dinodday.txt"
|
||||
{
|
||||
"game" "dinodday"
|
||||
}
|
||||
|
||||
"game.aoc.txt"
|
||||
{
|
||||
"game" "ageofchivalry"
|
||||
}
|
||||
|
||||
"game.cspromod.txt"
|
||||
{
|
||||
"game" "cspromod"
|
||||
}
|
||||
|
||||
"game.ag2.txt"
|
||||
{
|
||||
"game" "ag2"
|
||||
}
|
||||
|
||||
"game.cstrike.txt"
|
||||
{
|
||||
"game" "cstrike"
|
||||
}
|
||||
|
||||
"game.nmrih.txt"
|
||||
{
|
||||
"game" "nmrih"
|
||||
}
|
||||
|
||||
"game.gesource.txt"
|
||||
{
|
||||
"game" "gesource"
|
||||
}
|
||||
|
||||
"game.synergy.txt"
|
||||
{
|
||||
"game" "synergy"
|
||||
}
|
||||
}
|
394
plugins/include/sdkhooks.inc
Normal file
394
plugins/include/sdkhooks.inc
Normal file
@ -0,0 +1,394 @@
|
||||
/**
|
||||
* vim: set ts=4 :
|
||||
* =============================================================================
|
||||
* SourceMod (C)2009-2013 AlliedModders LLC. All rights reserved.
|
||||
* =============================================================================
|
||||
*
|
||||
* This file is part of the SourceMod/SourcePawn SDK.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it under
|
||||
* the terms of the GNU General Public License, version 3.0, as published by the
|
||||
* Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
* this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* As a special exception, AlliedModders LLC gives you permission to link the
|
||||
* code of this program (as well as its derivative works) to "Half-Life 2," the
|
||||
* "Source Engine," the "SourcePawn JIT," and any Game MODs that run on software
|
||||
* by the Valve Corporation. You must obey the GNU General Public License in
|
||||
* all respects for all other code used. Additionally, AlliedModders LLC grants
|
||||
* this exception to all derivative works. AlliedModders LLC defines further
|
||||
* exceptions, found in LICENSE.txt (as of this writing, version JULY-31-2007),
|
||||
* or <http://www.sourcemod.net/license.php>.
|
||||
*/
|
||||
|
||||
#if defined _sdkhooks_included
|
||||
#endinput
|
||||
#endif
|
||||
#define _sdkhooks_included
|
||||
|
||||
// this is obviously _not_ a robust check, but it will solve most conflict and is clean
|
||||
#if !defined DMG_GENERIC
|
||||
#define DMG_GENERIC 0 // generic damage was done
|
||||
#define DMG_CRUSH (1 << 0) // crushed by falling or moving object.
|
||||
// NOTE: It's assumed crush damage is occurring as a result of physics collision, so no extra physics force is generated by crush damage.
|
||||
// DON'T use DMG_CRUSH when damaging entities unless it's the result of a physics collision. You probably want DMG_CLUB instead.
|
||||
#define DMG_BULLET (1 << 1) // shot
|
||||
#define DMG_SLASH (1 << 2) // cut, clawed, stabbed
|
||||
#define DMG_BURN (1 << 3) // heat burned
|
||||
#define DMG_VEHICLE (1 << 4) // hit by a vehicle
|
||||
#define DMG_FALL (1 << 5) // fell too far
|
||||
#define DMG_BLAST (1 << 6) // explosive blast damage
|
||||
#define DMG_CLUB (1 << 7) // crowbar, punch, headbutt
|
||||
#define DMG_SHOCK (1 << 8) // electric shock
|
||||
#define DMG_SONIC (1 << 9) // sound pulse shockwave
|
||||
#define DMG_ENERGYBEAM (1 << 10) // laser or other high energy beam
|
||||
#define DMG_PREVENT_PHYSICS_FORCE (1 << 11) // Prevent a physics force
|
||||
#define DMG_NEVERGIB (1 << 12) // with this bit OR'd in, no damage type will be able to gib victims upon death
|
||||
#define DMG_ALWAYSGIB (1 << 13) // with this bit OR'd in, any damage type can be made to gib victims upon death.
|
||||
#define DMG_DROWN (1 << 14) // Drowning
|
||||
#define DMG_PARALYZE (1 << 15) // slows affected creature down
|
||||
#define DMG_NERVEGAS (1 << 16) // nerve toxins, very bad
|
||||
#define DMG_POISON (1 << 17) // blood poisoning - heals over time like drowning damage
|
||||
#define DMG_RADIATION (1 << 18) // radiation exposure
|
||||
#define DMG_DROWNRECOVER (1 << 19) // drowning recovery
|
||||
#define DMG_ACID (1 << 20) // toxic chemicals or acid burns
|
||||
#define DMG_SLOWBURN (1 << 21) // in an oven
|
||||
#define DMG_REMOVENORAGDOLL (1 << 22) // with this bit OR'd in, no ragdoll will be created, and the target will be quietly removed.
|
||||
// use this to kill an entity that you've already got a server-side ragdoll for
|
||||
#define DMG_PHYSGUN (1 << 23) // Hit by manipulator. Usually doesn't do any damage.
|
||||
#define DMG_PLASMA (1 << 24) // Shot by Cremator
|
||||
#define DMG_AIRBOAT (1 << 25) // Hit by the airboat's gun
|
||||
#define DMG_DISSOLVE (1 << 26) // Dissolving!
|
||||
#define DMG_BLAST_SURFACE (1 << 27) // A blast on the surface of water that cannot harm things underwater
|
||||
#define DMG_DIRECT (1 << 28)
|
||||
#define DMG_BUCKSHOT (1 << 29) // not quite a bullet. Little, rounder, different.
|
||||
#endif
|
||||
|
||||
#if !defined DMG_CRIT
|
||||
// TF2 crits and minicrits
|
||||
#define DMG_CRIT DMG_ACID
|
||||
#endif
|
||||
|
||||
enum SDKHookType
|
||||
{
|
||||
SDKHook_EndTouch,
|
||||
SDKHook_FireBulletsPost,
|
||||
SDKHook_OnTakeDamage,
|
||||
SDKHook_OnTakeDamagePost,
|
||||
SDKHook_PreThink,
|
||||
SDKHook_PostThink,
|
||||
SDKHook_SetTransmit,
|
||||
SDKHook_Spawn,
|
||||
SDKHook_StartTouch,
|
||||
SDKHook_Think,
|
||||
SDKHook_Touch,
|
||||
SDKHook_TraceAttack,
|
||||
SDKHook_TraceAttackPost,
|
||||
SDKHook_WeaponCanSwitchTo,
|
||||
SDKHook_WeaponCanUse,
|
||||
SDKHook_WeaponDrop,
|
||||
SDKHook_WeaponEquip,
|
||||
SDKHook_WeaponSwitch,
|
||||
SDKHook_ShouldCollide,
|
||||
SDKHook_PreThinkPost,
|
||||
SDKHook_PostThinkPost,
|
||||
SDKHook_ThinkPost,
|
||||
SDKHook_EndTouchPost,
|
||||
SDKHook_GroundEntChangedPost,
|
||||
SDKHook_SpawnPost,
|
||||
SDKHook_StartTouchPost,
|
||||
SDKHook_TouchPost,
|
||||
SDKHook_VPhysicsUpdate,
|
||||
SDKHook_VPhysicsUpdatePost,
|
||||
SDKHook_WeaponCanSwitchToPost,
|
||||
SDKHook_WeaponCanUsePost,
|
||||
SDKHook_WeaponDropPost,
|
||||
SDKHook_WeaponEquipPost,
|
||||
SDKHook_WeaponSwitchPost,
|
||||
SDKHook_Use,
|
||||
SDKHook_UsePost,
|
||||
SDKHook_Reload,
|
||||
SDKHook_ReloadPost,
|
||||
SDKHook_GetMaxHealth, // ep2v and later
|
||||
};
|
||||
|
||||
/*
|
||||
Alphabetized for easy readability
|
||||
|
||||
SDKHook_EndTouch,
|
||||
SDKHook_EndTouchPost,
|
||||
|
||||
SDKHook_FireBulletsPost,
|
||||
|
||||
SDKHook_GetMaxHealth, (ep2v and later)
|
||||
|
||||
SDKHook_GroundEntChangedPost,
|
||||
|
||||
SDKHook_OnTakeDamage,
|
||||
SDKHook_OnTakeDamagePost,
|
||||
|
||||
SDKHook_PreThink,
|
||||
SDKHook_PreThinkPost,
|
||||
|
||||
SDKHook_PostThink,
|
||||
SDKHook_PostThinkPost,
|
||||
|
||||
SDKHook_Reload,
|
||||
SDKHook_ReloadPost,
|
||||
|
||||
SDKHook_SetTransmit,
|
||||
|
||||
SDKHook_ShouldCollide,
|
||||
|
||||
SDKHook_Spawn,
|
||||
SDKHook_SpawnPost,
|
||||
|
||||
SDKHook_StartTouch,
|
||||
SDKHook_StartTouchPost,
|
||||
|
||||
SDKHook_Think,
|
||||
SDKHook_ThinkPost,
|
||||
|
||||
SDKHook_Touch,
|
||||
SDKHook_TouchPost,
|
||||
|
||||
SDKHook_TraceAttack,
|
||||
SDKHook_TraceAttackPost,
|
||||
|
||||
SDKHook_Use,
|
||||
SDKHook_UsePost,
|
||||
|
||||
SDKHook_VPhysicsUpdate,
|
||||
SDKHook_VPhysicsUpdatePost,
|
||||
|
||||
SDKHook_WeaponCanSwitchTo,
|
||||
SDKHook_WeaponCanSwitchToPost,
|
||||
|
||||
SDKHook_WeaponCanUse,
|
||||
SDKHook_WeaponCanUsePost,
|
||||
|
||||
SDKHook_WeaponDrop,
|
||||
SDKHook_WeaponDropPost,
|
||||
|
||||
SDKHook_WeaponEquip,
|
||||
SDKHook_WeaponEquipPost,
|
||||
|
||||
SDKHook_WeaponSwitch,
|
||||
SDKHook_WeaponSwitchPost
|
||||
*/
|
||||
|
||||
enum UseType
|
||||
{
|
||||
Use_Off,
|
||||
Use_On,
|
||||
Use_Set,
|
||||
Use_Toggle
|
||||
};
|
||||
|
||||
funcenum SDKHookCB
|
||||
{
|
||||
// PreThink/Post
|
||||
// PostThink/Post
|
||||
public(client),
|
||||
|
||||
// Spawn
|
||||
Action:public(entity),
|
||||
|
||||
// GroundEntChanged
|
||||
// SpawnPost
|
||||
// Think/Post
|
||||
// VPhysicsUpdate/Post
|
||||
public(entity),
|
||||
|
||||
// EndTouch
|
||||
// StartTouch
|
||||
// Touch
|
||||
Action:public(entity, other),
|
||||
|
||||
// EndTouchPost
|
||||
// StartTouchPost
|
||||
// TouchPost
|
||||
public(entity, other),
|
||||
|
||||
// SetTransmit
|
||||
Action:public(entity, client),
|
||||
|
||||
// WeaponCanSwitchTo
|
||||
// WeaponCanUse
|
||||
// WeaponDrop
|
||||
// WeaponEquip
|
||||
// WeaponSwitch
|
||||
Action:public(client, weapon),
|
||||
|
||||
// WeaponCanSwitchToPost
|
||||
// WeaponCanUsePost
|
||||
// WeaponDropPost
|
||||
// WeaponEquipPost
|
||||
// WeaponSwitchPost
|
||||
public(client, weapon),
|
||||
|
||||
// GetMaxHealth (ep2v and later)
|
||||
Action:public(entity, &maxhealth),
|
||||
|
||||
// OnTakeDamage
|
||||
// Note: The weapon parameter is not used by all games and damage sources.
|
||||
// Note: Force application is dependent on game and damage type(s)
|
||||
// SDKHooks 1.0+
|
||||
Action:public(victim, &attacker, &inflictor, &Float:damage, &damagetype),
|
||||
// SDKHooks 2.0+
|
||||
Action:public(victim, &attacker, &inflictor, &Float:damage, &damagetype, &weapon, Float:damageForce[3], Float:damagePosition[3]),
|
||||
// SDKHooks 2.1+ (can check for support at runtime using GetFeatureStatus on SDKHook_DmgCustomInOTD capability.
|
||||
// DON'T attempt to access 'damagecustom' var if feature status != available
|
||||
Action:public(victim, &attacker, &inflictor, &Float:damage, &damagetype, &weapon,
|
||||
Float:damageForce[3], Float:damagePosition[3], damagecustom),
|
||||
|
||||
// OnTakeDamagePost
|
||||
public(victim, attacker, inflictor, Float:damage, damagetype),
|
||||
public(victim, attacker, inflictor, Float:damage, damagetype, weapon, const Float:damageForce[3], const Float:damagePosition[3]),
|
||||
|
||||
// FireBulletsPost
|
||||
public(client, shots, const String:weaponname[]),
|
||||
|
||||
// TraceAttack
|
||||
Action:public(victim, &attacker, &inflictor, &Float:damage, &damagetype, &ammotype, hitbox, hitgroup),
|
||||
|
||||
// TraceAttackPost
|
||||
public(victim, attacker, inflictor, Float:damage, damagetype, ammotype, hitbox, hitgroup),
|
||||
|
||||
// ShouldCollide
|
||||
bool:public(entity, collisiongroup, contentsmask, bool:originalResult),
|
||||
|
||||
// Use
|
||||
Action:public(entity, activator, caller, UseType:type, Float:value),
|
||||
|
||||
// UsePost
|
||||
public(entity, activator, caller, UseType:type, Float:value),
|
||||
|
||||
// Reload
|
||||
Action:public(weapon),
|
||||
|
||||
// Reload post
|
||||
public(weapon, bool:bSuccessful)
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @brief When an entity is created
|
||||
*
|
||||
* @param entity Entity index
|
||||
* @param classname Class name
|
||||
* @noreturn
|
||||
*/
|
||||
forward OnEntityCreated(entity, const String:classname[]);
|
||||
|
||||
/**
|
||||
* @brief When an entity is destroyed
|
||||
*
|
||||
* @param entity Entity index
|
||||
* @noreturn
|
||||
*/
|
||||
forward OnEntityDestroyed(entity);
|
||||
|
||||
/**
|
||||
* @brief When the game description is retrieved
|
||||
*
|
||||
* @note Not supported on ep2v.
|
||||
*
|
||||
* @param gameDesc Game description
|
||||
* @noreturn
|
||||
*/
|
||||
forward Action:OnGetGameDescription(String:gameDesc[64]);
|
||||
|
||||
/**
|
||||
* @brief When the level is initialized
|
||||
*
|
||||
* @param mapName Name of the map
|
||||
* @param mapEntities Entities of the map
|
||||
* @noreturn
|
||||
*/
|
||||
forward Action:OnLevelInit(const String:mapName[], String:mapEntities[2097152]);
|
||||
|
||||
/**
|
||||
* @brief Hooks an entity
|
||||
*
|
||||
* @param entity Entity index
|
||||
* @param type Type of function to hook
|
||||
* @param callback Function to call when hook is called
|
||||
* @noreturn
|
||||
*/
|
||||
native SDKHook(entity, SDKHookType:type, SDKHookCB:callback);
|
||||
|
||||
/**
|
||||
* @brief Hooks an entity
|
||||
*
|
||||
* @param entity Entity index
|
||||
* @param type Type of function to hook
|
||||
* @param callback Function to call when hook is called
|
||||
* @return bool Hook Successful
|
||||
*/
|
||||
native bool:SDKHookEx(entity, SDKHookType:type, SDKHookCB:callback);
|
||||
|
||||
/**
|
||||
* @brief Unhooks an entity
|
||||
*
|
||||
* @param entity Entity index
|
||||
* @param type Type of function to unhook
|
||||
* @param callback Callback function to unhook
|
||||
* @noreturn
|
||||
*/
|
||||
native SDKUnhook(entity, SDKHookType:type, SDKHookCB:callback);
|
||||
|
||||
/**
|
||||
* @brief Applies damage to an entity
|
||||
*
|
||||
* @note Force application is dependent on game and damage type(s)
|
||||
*
|
||||
* @param entity Entity index taking damage
|
||||
* @param inflictor Inflictor entity index
|
||||
* @param attacker Attacker entity index
|
||||
* @param damage Amount of damage
|
||||
* @param damageType Bitfield of damage types
|
||||
* @param weapon Weapon index (orangebox and later) or -1 for unspecified
|
||||
* @param damageForce Velocity of damage force
|
||||
* @param damagePosition Origin of damage
|
||||
* @noreturn
|
||||
*/
|
||||
native SDKHooks_TakeDamage(entity, inflictor, attacker, Float:damage, damageType=DMG_GENERIC, weapon=-1, const Float:damageForce[3]=NULL_VECTOR, const Float:damagePosition[3]=NULL_VECTOR);
|
||||
|
||||
/**
|
||||
* @brief Forces a client to drop the specified weapon
|
||||
*
|
||||
* @param client Client index.
|
||||
* @param weapon Weapon entity index.
|
||||
* @param vecTarget Location to toss weapon to, or NULL_VECTOR for default.
|
||||
* @param vecVelocity Velocity at which to toss weapon, or NULL_VECTOR for default.
|
||||
* @noreturn
|
||||
* @error Invalid client or weapon entity, weapon not owned by client.
|
||||
*/
|
||||
native SDKHooks_DropWeapon(client, weapon, const Float:vecTarget[3]=NULL_VECTOR, const Float:vecVelocity[3]=NULL_VECTOR);
|
||||
|
||||
/**
|
||||
* Do not edit below this line!
|
||||
*/
|
||||
public Extension:__ext_sdkhooks =
|
||||
{
|
||||
name = "SDKHooks",
|
||||
file = "sdkhooks.ext",
|
||||
#if defined AUTOLOAD_EXTENSIONS
|
||||
autoload = 1,
|
||||
#else
|
||||
autoload = 0,
|
||||
#endif
|
||||
#if defined REQUIRE_EXTENSIONS
|
||||
required = 1,
|
||||
#else
|
||||
required = 0,
|
||||
#endif
|
||||
};
|
@ -71,6 +71,7 @@ folders = [['addons', 'sourcemod', 'bin'],
|
||||
['addons', 'sourcemod', 'plugins', 'disabled'],
|
||||
['addons', 'sourcemod', 'gamedata'],
|
||||
['addons', 'sourcemod', 'gamedata', 'core.games'],
|
||||
['addons', 'sourcemod', 'gamedata', 'sdkhooks.games'],
|
||||
['addons', 'sourcemod', 'gamedata', 'sdktools.games'],
|
||||
['addons', 'sourcemod', 'gamedata', 'sm-cstrike.games'],
|
||||
['addons', 'sourcemod', 'configs', 'geoip'],
|
||||
@ -112,6 +113,8 @@ job.AddCommand(CopyFolder(['configs', 'sql-init-scripts', 'mysql'],
|
||||
job.AddCommand(CopyFolder(['configs', 'sql-init-scripts', 'sqlite'],
|
||||
['addons', 'sourcemod', 'configs', 'sql-init-scripts', 'sqlite']))
|
||||
job.AddCommand(CopyFolder(['gamedata'], ['addons', 'sourcemod', 'gamedata']))
|
||||
job.AddCommand(CopyFolder(['gamedata', 'sdkhooks.games'],
|
||||
['addons', 'sourcemod', 'gamedata', 'sdkhooks.games']))
|
||||
job.AddCommand(CopyFolder(['gamedata', 'sdktools.games'],
|
||||
['addons', 'sourcemod', 'gamedata', 'sdktools.games']))
|
||||
job.AddCommand(CopyFolder(['gamedata', 'core.games'],
|
||||
@ -245,6 +248,7 @@ AddNormalLibrary('webternet.ext', 'extensions')
|
||||
AddNormalLibrary('clientprefs.ext', 'extensions')
|
||||
AddNormalLibrary('updater.ext', 'extensions')
|
||||
AddNormalLibrary('bintools.ext', 'extensions')
|
||||
AddHL2Library('sdkhooks.ext', 'extensions')
|
||||
AddHL2Library('sdktools.ext', 'extensions')
|
||||
|
||||
bincopies.append(CopyFile(os.path.join('..', 'spcomp', 'spcomp' + osutil.ExecutableSuffix()),
|
||||
|
Loading…
Reference in New Issue
Block a user