diff --git a/Makefile b/Makefile index 1ebc72c..817f0ff 100644 --- a/Makefile +++ b/Makefile @@ -24,6 +24,7 @@ PROJECT = SteamWorks #Uncomment for Metamod: Source enabled extension #USEMETA = true +USESH = true OBJECTS = sdk/smsdk_ext.cpp extension.cpp swgameserver.cpp swgamedata.cpp swforwards.cpp gsnatives.cpp @@ -127,6 +128,11 @@ ifeq "$(USEMETA)" "true" -DSE_PORTAL2=11 -DSE_CSGO=12 endif +ifeq "$(USESH)" "true" + INCLUDE += -I$(METAMOD) -I$(METAMOD)/sourcehook + CFLAGS += -DMETA_NO_HL2SDK +endif + LINK += -m32 -lm -ldl LINK += $(STEAMWORKS)/redistributable_bin/linux32/libsteam_api.so diff --git a/sdk/smsdk_config.h b/sdk/smsdk_config.h index 7bbb037..3f10805 100644 --- a/sdk/smsdk_config.h +++ b/sdk/smsdk_config.h @@ -56,7 +56,7 @@ * @brief Sets whether or not this plugin required Metamod. * NOTE: Uncomment to enable, comment to disable. */ -//#define SMEXT_CONF_METAMOD +#define SMEXT_CONF_METAMOD /** Enable interfaces you want to use here by uncommenting lines */ #define SMEXT_ENABLE_FORWARDSYS diff --git a/sdk/smsdk_ext.cpp b/sdk/smsdk_ext.cpp index a264419..28c1206 100644 --- a/sdk/smsdk_ext.cpp +++ b/sdk/smsdk_ext.cpp @@ -306,9 +306,10 @@ 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 */ - +#ifndef META_NO_HL2SDK IVEngineServer *engine = NULL; /**< IVEngineServer pointer */ IServerGameDLL *gamedll = NULL; /**< IServerGameDLL pointer */ +#endif /** Exposes the extension to Metamod */ SMM_API void *PL_EXPOSURE(const char *name, int *code) @@ -337,7 +338,7 @@ SMM_API void *PL_EXPOSURE(const char *name, int *code) bool SDKExtension::Load(PluginId id, ISmmAPI *ismm, char *error, size_t maxlen, bool late) { PLUGIN_SAVEVARS(); - +#ifndef META_NO_HL2SDK #if !defined METAMOD_PLAPI_VERSION GET_V_IFACE_ANY(serverFactory, gamedll, IServerGameDLL, INTERFACEVERSION_SERVERGAMEDLL); GET_V_IFACE_CURRENT(engineFactory, engine, IVEngineServer, INTERFACEVERSION_VENGINESERVER); @@ -345,6 +346,7 @@ bool SDKExtension::Load(PluginId id, ISmmAPI *ismm, char *error, size_t maxlen, GET_V_IFACE_ANY(GetServerFactory, gamedll, IServerGameDLL, INTERFACEVERSION_SERVERGAMEDLL); GET_V_IFACE_CURRENT(GetEngineFactory, engine, IVEngineServer, INTERFACEVERSION_VENGINESERVER); #endif +#endif //META_NO_HL2SDK m_SourceMMLoaded = true; diff --git a/sdk/smsdk_ext.h b/sdk/smsdk_ext.h index 461b319..a011841 100644 --- a/sdk/smsdk_ext.h +++ b/sdk/smsdk_ext.h @@ -100,7 +100,9 @@ #if defined SMEXT_CONF_METAMOD #include +#ifndef META_NO_HL2SDK #include +#endif // META_NO_HL2SDK #endif using namespace SourceMod; @@ -313,8 +315,10 @@ extern IRootConsole *rootconsole; #if defined SMEXT_CONF_METAMOD PLUGIN_GLOBALVARS(); +#ifndef META_NO_HL2SDK extern IVEngineServer *engine; extern IServerGameDLL *gamedll; +#endif //META_NO_HL2SDK #endif /** Creates a SourceMod interface macro pair */