diff --git a/core/Makefile b/core/Makefile index e76f34ea..5b4e3447 100644 --- a/core/Makefile +++ b/core/Makefile @@ -33,12 +33,12 @@ OBJECTS += smn_admin.cpp smn_bitbuffer.cpp smn_console.cpp smn_core.cpp \ smn_adt_trie.cpp OBJECTS += systems/ExtensionSys.cpp systems/ForwardSys.cpp systems/HandleSys.cpp \ systems/LibrarySys.cpp systems/PluginInfoDatabase.cpp systems/PluginSys.cpp \ - systems/ShareSys.cpp vm/sp_vm_basecontext.cpp vm/sp_vm_engine.cpp \ - vm/sp_vm_function.cpp + systems/ShareSys.cpp vm/sp_vm_basecontext.cpp vm/sp_vm_function.cpp OBJECTS += thread/ThreadWorker.cpp thread/BaseWorker.cpp thread/PosixThreads.cpp ThreadSupport.cpp OBJECTS_C = zlib/adler32.c zlib/compress.c zlib/crc32.c zlib/deflate.c zlib/gzio.c \ zlib/infback.c zlib/inffast.c zlib/inflate.c zlib/inftrees.c zlib/trees.c \ zlib/uncompr.c zlib/zutil.c +OBJECTS_SM16 = vm/sp_vm_engine.cpp ifeq "$(ENGINE)" "original" HL2SDK = $(HL2SDK_ORIG) @@ -67,10 +67,13 @@ endif LINK += $(HL2LIB)/tier1_i486.a $(HL2LIB)/mathlib_i486.a vstdlib_i486.so \ tier0_i486.so -lpthread -static-libgcc +INCLUDE_SMSDK = -I$(SMSDK)/public -I$(SMSDK)/public/sourcepawn -I$(SMSDK)/public/extensions + INCLUDE += -I. -I.. -I$(HL2PUB) -I$(HL2PUB)/dlls -I$(HL2PUB)/engine -I$(HL2PUB)/tier0 -I$(HL2PUB)/tier1 \ -I$(HL2PUB)/vstdlib -I$(HL2SDK)/tier1 -I$(METAMOD) -I$(METAMOD)/sourcehook -I$(METAMOD)/sourcemm \ - -I$(SMSDK)/public -I$(SMSDK)/public/sourcepawn -I$(SMSDK)/public/extensions -Isystems \ - -I$(HL2PUB)/mathlib + -I$(HL2PUB)/mathlib -Isystems $(INCLUDE_SMSDK) + +SM16_INCLUDE = -I. -I.. -I$(SOURCEMM16)/sourcehook $(INCLUDE_SMSDK) ifeq "$(DEBUG)" "true" BIN_DIR = Debug.$(ENGINE) @@ -95,6 +98,7 @@ endif OBJ_LINUX := $(OBJECTS:%.cpp=$(BIN_DIR)/%.ox) OBJ_LINUX_C := $(OBJECTS_C:%.c=$(BIN_DIR)/%.oc) +OBJ_LINUX_SM16 := $(OBJECTS_SM16:%.cpp=$(BIN_DIR)/%.ok) $(BIN_DIR)/%.ox: %.cpp $(CPP) $(INCLUDE) $(CFLAGS) $(CPPFLAGS) -o $@ -c $< @@ -102,6 +106,9 @@ $(BIN_DIR)/%.ox: %.cpp $(BIN_DIR)/%.oc: %.c $(CPP) $(INCLUDE) $(CFLAGS) -o $@ -c $< +$(BIN_DIR)/%.ok: %.cpp + $(CPP) $(SM16_INCLUDE) $(CFLAGS) $(CPPFLAGS) -o $@ -c $< + all: mkdir -p $(BIN_DIR)/systems mkdir -p $(BIN_DIR)/vm @@ -111,8 +118,8 @@ all: ln -sf $(SRCDS)/bin/tier0_i486.so tier0_i486.so $(MAKE) -f Makefile sourcemod -sourcemod: $(OBJ_LINUX) $(OBJ_LINUX_C) - $(CPP) $(INCLUDE) $(OBJ_LINUX) $(OBJ_LINUX_C) $(LINK) -m32 -shared -ldl -lm -o$(BIN_DIR)/$(BINARY) +sourcemod: $(OBJ_LINUX) $(OBJ_LINUX_C) $(OBJ_LINUX_SM16) + $(CPP) $(OBJ_LINUX) $(OBJ_LINUX_C) $(OBJ_LINUX_SM16) $(LINK) -m32 -shared -ldl -lm -o$(BIN_DIR)/$(BINARY) default: all diff --git a/core/smn_maplists.cpp b/core/smn_maplists.cpp index 640e0570..b2c228dd 100644 --- a/core/smn_maplists.cpp +++ b/core/smn_maplists.cpp @@ -352,7 +352,7 @@ public: } /* If there was a success, and the serial has not changed, bail out. */ - if (*pSerial == change_serial) + if (success && *pSerial == change_serial) { return NULL; } diff --git a/core/vm/sp_vm_engine.cpp b/core/vm/sp_vm_engine.cpp index 4790a930..136172aa 100644 --- a/core/vm/sp_vm_engine.cpp +++ b/core/vm/sp_vm_engine.cpp @@ -29,6 +29,7 @@ * Version: $Id$ */ +#include "sp_vm_types.h" #include /* HACK to avoid including sourcehook.h for just the SH_ASSERT definition */ #if !defined SH_ASSERT @@ -43,7 +44,6 @@ #include #include #include "sp_file_headers.h" -#include "sp_vm_types.h" #include "sp_vm_engine.h" #include "zlib/zlib.h" #include "sp_vm_basecontext.h"