Compare commits
2 Commits
amxmodx-1.
...
amxmodx-1.
Author | SHA1 | Date | |
---|---|---|---|
1a6c457000 | |||
6899af461a |
24
.hgignore
24
.hgignore
@ -1,24 +0,0 @@
|
|||||||
# Binaries
|
|
||||||
\.dll$
|
|
||||||
\.exe$
|
|
||||||
\.so$
|
|
||||||
|
|
||||||
# Files generated by Visual Studio
|
|
||||||
\.aps$
|
|
||||||
\.ncb$
|
|
||||||
\.sdf$
|
|
||||||
\.suo$
|
|
||||||
\.user$
|
|
||||||
|
|
||||||
# Build directories
|
|
||||||
/Debug.*
|
|
||||||
/Release.*
|
|
||||||
/JITDebug.*
|
|
||||||
/JITRelease.*
|
|
||||||
|
|
||||||
# Files generated by Mac OS X Finder
|
|
||||||
(^|/)\.DS_Store$
|
|
||||||
|
|
||||||
# Files generated by Windows Explorer
|
|
||||||
(^|/)Desktop\.ini$
|
|
||||||
(^|/)Thumbs\.db$
|
|
@ -153,7 +153,7 @@ void CmdMngr::setCmdLink(CmdLink** a, Command* c, bool sorted)
|
|||||||
{
|
{
|
||||||
int i = strcmp(c->getCommand(), (*a)->cmd->getCommand());
|
int i = strcmp(c->getCommand(), (*a)->cmd->getCommand());
|
||||||
|
|
||||||
if ((i < 0) || ((i == 0) && (strcmp(c->getArgument(), (*a)->cmd->getArgument()) < 0)))
|
if ((i < 0) || (i == 0) && (strcmp(c->getArgument(), (*a)->cmd->getArgument()) < 0))
|
||||||
break;
|
break;
|
||||||
|
|
||||||
a = &(*a)->next;
|
a = &(*a)->next;
|
||||||
|
@ -78,7 +78,7 @@ public:
|
|||||||
inline bool matchCommandLine(const char* cmd, const char* arg) { return (!stricmp(command.c_str() + prefix, cmd + prefix) && (argument.empty() || !stricmp(argument.c_str(), arg))); }
|
inline bool matchCommandLine(const char* cmd, const char* arg) { return (!stricmp(command.c_str() + prefix, cmd + prefix) && (argument.empty() || !stricmp(argument.c_str(), arg))); }
|
||||||
inline bool matchCommand(const char* cmd) { return (!strcmp(command.c_str(), cmd)); }
|
inline bool matchCommand(const char* cmd) { return (!strcmp(command.c_str(), cmd)); }
|
||||||
inline int getFunction() const { return function; }
|
inline int getFunction() const { return function; }
|
||||||
inline bool gotAccess(int f) const { return (!flags || ((flags & f) != 0)); }
|
inline bool gotAccess(int f) const { return (!flags || ((flags & f) == flags)); }
|
||||||
inline CPluginMngr::CPlugin* getPlugin() { return plugin; }
|
inline CPluginMngr::CPlugin* getPlugin() { return plugin; }
|
||||||
inline bool isViewable() const { return listable; }
|
inline bool isViewable() const { return listable; }
|
||||||
inline int getFlags() const { return flags; }
|
inline int getFlags() const { return flags; }
|
||||||
|
@ -294,11 +294,6 @@ void CFlagManager::WriteCommands(void)
|
|||||||
|
|
||||||
|
|
||||||
File=fopen(m_strConfigFile.c_str(),"a");
|
File=fopen(m_strConfigFile.c_str(),"a");
|
||||||
|
|
||||||
if (!File)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
iter=m_FlagList.begin();
|
iter=m_FlagList.begin();
|
||||||
end=m_FlagList.end();
|
end=m_FlagList.end();
|
||||||
|
@ -144,6 +144,7 @@ public:
|
|||||||
class CSPForward
|
class CSPForward
|
||||||
{
|
{
|
||||||
friend class CForwardMngr;
|
friend class CForwardMngr;
|
||||||
|
const char *m_FuncName;
|
||||||
int m_NumParams;
|
int m_NumParams;
|
||||||
|
|
||||||
ForwardParam m_ParamTypes[FORWARD_MAX_PARAMS];
|
ForwardParam m_ParamTypes[FORWARD_MAX_PARAMS];
|
||||||
|
@ -35,7 +35,7 @@
|
|||||||
#include "format.h"
|
#include "format.h"
|
||||||
#include "amxmod_compat.h"
|
#include "amxmod_compat.h"
|
||||||
|
|
||||||
#if defined(__linux__) || defined(__APPLE__)
|
#ifdef __linux__
|
||||||
#define _snprintf snprintf
|
#define _snprintf snprintf
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -108,7 +108,7 @@ size_t CLangMngr::strip(char *str, char *newstr, bool makelower)
|
|||||||
int flag = 0;
|
int flag = 0;
|
||||||
size_t strln = strlen(str);
|
size_t strln = strlen(str);
|
||||||
|
|
||||||
for (i = strln - 1; i < strln; i--)
|
for (i = strln - 1; i >= 0; i--)
|
||||||
{
|
{
|
||||||
if (str[i] == '\n' || str[i] == ' ' || str[i] == '\t')
|
if (str[i] == '\n' || str[i] == ' ' || str[i] == '\t')
|
||||||
{
|
{
|
||||||
|
@ -111,7 +111,7 @@ void LogEventsMngr::CLogEvent::registerFilter(char* filter)
|
|||||||
filters = new LogCond(cmp->pos, aa, filters);
|
filters = new LogCond(cmp->pos, aa, filters);
|
||||||
}
|
}
|
||||||
|
|
||||||
void LogEventsMngr::setLogString(const char* frmt, va_list& vaptr)
|
void LogEventsMngr::setLogString(char* frmt, va_list& vaptr)
|
||||||
{
|
{
|
||||||
++logCounter;
|
++logCounter;
|
||||||
int len = vsnprintf(logString, 255, frmt, vaptr);
|
int len = vsnprintf(logString, 255, frmt, vaptr);
|
||||||
@ -128,7 +128,7 @@ void LogEventsMngr::setLogString(const char* frmt, va_list& vaptr)
|
|||||||
logArgc = 0;
|
logArgc = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void LogEventsMngr::setLogString(const char* frmt, ...)
|
void LogEventsMngr::setLogString(char* frmt, ...)
|
||||||
{
|
{
|
||||||
++logCounter;
|
++logCounter;
|
||||||
va_list logArgPtr;
|
va_list logArgPtr;
|
||||||
|
@ -141,8 +141,8 @@ public:
|
|||||||
CLogEvent* registerLogEvent(CPluginMngr::CPlugin* plugin, int func, int pos);
|
CLogEvent* registerLogEvent(CPluginMngr::CPlugin* plugin, int func, int pos);
|
||||||
inline bool logEventsExist() { return arelogevents; }
|
inline bool logEventsExist() { return arelogevents; }
|
||||||
|
|
||||||
void setLogString(const char* frmt, va_list& vaptr);
|
void setLogString(char* frmt, va_list& vaptr);
|
||||||
void setLogString(const char* frmt, ...);
|
void setLogString(char* frmt, ...);
|
||||||
void parseLogString();
|
void parseLogString();
|
||||||
void executeLogEvents();
|
void executeLogEvents();
|
||||||
|
|
||||||
|
@ -342,7 +342,7 @@ public:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
m_AuthData[arraysize(m_AuthData)-1]=0;
|
m_AuthData[sizeof(m_AuthData)-1]=0;
|
||||||
|
|
||||||
};
|
};
|
||||||
const cell *GetAuthID(void) const
|
const cell *GetAuthID(void) const
|
||||||
@ -361,7 +361,7 @@ public:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
m_Password[arraysize(m_Password)-1]=0;
|
m_Password[sizeof(m_Password)-1]=0;
|
||||||
|
|
||||||
};
|
};
|
||||||
const cell *GetPass(void) const
|
const cell *GetPass(void) const
|
||||||
|
@ -39,7 +39,6 @@
|
|||||||
// New
|
// New
|
||||||
typedef void* (*PFN_REQ_FNPTR)(const char * /*name*/);
|
typedef void* (*PFN_REQ_FNPTR)(const char * /*name*/);
|
||||||
typedef int (FAR *QUERYMOD_NEW)(int * /*ifvers*/, amxx_module_info_s * /*modInfo*/);
|
typedef int (FAR *QUERYMOD_NEW)(int * /*ifvers*/, amxx_module_info_s * /*modInfo*/);
|
||||||
typedef int (FAR *CHECKGAME_NEW)(const char *);
|
|
||||||
typedef int (FAR *ATTACHMOD_NEW)(PFN_REQ_FNPTR /*reqFnptrFunc*/);
|
typedef int (FAR *ATTACHMOD_NEW)(PFN_REQ_FNPTR /*reqFnptrFunc*/);
|
||||||
typedef int (FAR *DETACHMOD_NEW)(void);
|
typedef int (FAR *DETACHMOD_NEW)(void);
|
||||||
typedef void (FAR *PLUGINSLOADED_NEW)(void);
|
typedef void (FAR *PLUGINSLOADED_NEW)(void);
|
||||||
@ -220,9 +219,6 @@ bool CModule::queryModule()
|
|||||||
m_Handle = DLLOAD(m_Filename.c_str()); // load file
|
m_Handle = DLLOAD(m_Filename.c_str()); // load file
|
||||||
if (!m_Handle)
|
if (!m_Handle)
|
||||||
{
|
{
|
||||||
#if defined(__linux__) || defined(__APPLE__)
|
|
||||||
AMXXLOG_Log("[AMXX] Module \"%s\" failed to load (%s)", m_Filename.c_str(), dlerror());
|
|
||||||
#endif
|
|
||||||
m_Status = MODULE_BADLOAD;
|
m_Status = MODULE_BADLOAD;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -297,33 +293,6 @@ bool CModule::queryModule()
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Lastly, check to see if this module is able to load on this game mod
|
|
||||||
CHECKGAME_NEW checkGame_New = (CHECKGAME_NEW)DLPROC(m_Handle, "AMXX_CheckGame");
|
|
||||||
|
|
||||||
if (checkGame_New)
|
|
||||||
{
|
|
||||||
// This is an optional check; do not fail modules that do not have it
|
|
||||||
int ret = checkGame_New(g_mod_name.c_str());
|
|
||||||
|
|
||||||
if (ret != AMXX_GAME_OK)
|
|
||||||
{
|
|
||||||
switch (ret)
|
|
||||||
{
|
|
||||||
case AMXX_GAME_BAD:
|
|
||||||
AMXXLOG_Log("[AMXX] Module \"%s\" (version \"%s\") reported that it cannot load on game \"%s\"", m_Filename.c_str(), getVersion(), g_mod_name.c_str());
|
|
||||||
m_Status = MODULE_BADGAME;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
AMXXLOG_Log("[AMXX] Module \"%s\" (version \"%s\") returned an unknown CheckGame code (value: %d)", m_Filename.c_str(), getVersion(), ret);
|
|
||||||
m_Status = MODULE_BADLOAD;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
m_Status = MODULE_QUERY;
|
m_Status = MODULE_QUERY;
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
@ -431,7 +400,6 @@ const char* CModule::getStatus() const
|
|||||||
case MODULE_NEWER: return "newer";
|
case MODULE_NEWER: return "newer";
|
||||||
case MODULE_INTERROR: return "internal err";
|
case MODULE_INTERROR: return "internal err";
|
||||||
case MODULE_NOT64BIT: return "not 64bit";
|
case MODULE_NOT64BIT: return "not 64bit";
|
||||||
case MODULE_BADGAME: return "bad game";
|
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -49,8 +49,7 @@ enum MODULE_STATUS
|
|||||||
MODULE_NEWER, // newer interface
|
MODULE_NEWER, // newer interface
|
||||||
MODULE_INTERROR, // Internal error
|
MODULE_INTERROR, // Internal error
|
||||||
MODULE_FUNCNOTPRESENT, // Function not present
|
MODULE_FUNCNOTPRESENT, // Function not present
|
||||||
MODULE_NOT64BIT, // Not 64 bit compatible
|
MODULE_NOT64BIT // Not 64 bit compatible
|
||||||
MODULE_BADGAME, // Module cannot load on the current game mod
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct amxx_module_info_s
|
struct amxx_module_info_s
|
||||||
@ -69,9 +68,6 @@ struct amxx_module_info_s
|
|||||||
#define AMXX_PARAM 2 /* Invalid parameter */
|
#define AMXX_PARAM 2 /* Invalid parameter */
|
||||||
#define AMXX_FUNC_NOT_PRESENT 3 /* Function not present */
|
#define AMXX_FUNC_NOT_PRESENT 3 /* Function not present */
|
||||||
|
|
||||||
#define AMXX_GAME_OK 0 /* Module can load on this game. */
|
|
||||||
#define AMXX_GAME_BAD 1 /* Module cannot load on this game. */
|
|
||||||
|
|
||||||
#define AMXX_INTERFACE_VERSION 4
|
#define AMXX_INTERFACE_VERSION 4
|
||||||
|
|
||||||
class CModule
|
class CModule
|
||||||
|
@ -244,7 +244,7 @@ public:
|
|||||||
|
|
||||||
if (is_space(v[len-1]))
|
if (is_space(v[len-1]))
|
||||||
{
|
{
|
||||||
for (i=len-1; i<len; i--)
|
for (i=len-1; i>=0; i--)
|
||||||
{
|
{
|
||||||
if (!is_space(v[i])
|
if (!is_space(v[i])
|
||||||
|| (is_space(v[i]) && i==0))
|
|| (is_space(v[i]) && i==0))
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
177
amxmodx/Makefile
177
amxmodx/Makefile
@ -1,147 +1,118 @@
|
|||||||
# (C)2004-2013 AMX Mod X Development Team
|
#(C)2004-2005 AMX Mod X Development Team
|
||||||
# Makefile written by David "BAILOPAN" Anderson
|
# Makefile written by David "BAILOPAN" Anderson
|
||||||
|
|
||||||
###########################################
|
HLSDK = ../../hlsdk
|
||||||
### EDIT THESE PATHS FOR YOUR OWN SETUP ###
|
|
||||||
###########################################
|
|
||||||
|
|
||||||
HLSDK = ../../hlsdk/multiplayer
|
|
||||||
MM_ROOT = ../../metamod/metamod
|
MM_ROOT = ../../metamod/metamod
|
||||||
|
|
||||||
#####################################
|
|
||||||
### EDIT BELOW FOR OTHER PROJECTS ###
|
### EDIT BELOW FOR OTHER PROJECTS ###
|
||||||
#####################################
|
|
||||||
|
|
||||||
PROJECT = amxmodx
|
OPT_FLAGS = -O2 -fno-strict-aliasing -funroll-loops -s -fomit-frame-pointer -pipe
|
||||||
|
DEBUG_FLAGS = -g -ggdb3
|
||||||
|
CPP = gcc-4.1
|
||||||
|
NAME = amxmodx
|
||||||
|
|
||||||
|
BIN_SUFFIX_32 = mm_i386.so
|
||||||
|
BIN_SUFFIX_64 = mm_amd64.so
|
||||||
|
|
||||||
OBJECTS = meta_api.cpp CFile.cpp CVault.cpp vault.cpp float.cpp file.cpp modules.cpp \
|
OBJECTS = meta_api.cpp CFile.cpp CVault.cpp vault.cpp float.cpp file.cpp modules.cpp \
|
||||||
CMisc.cpp CTask.cpp string.cpp amxmodx.cpp CEvent.cpp CCmd.cpp CLogEvent.cpp \
|
CMisc.cpp CTask.cpp string.cpp amxmodx.cpp CEvent.cpp CCmd.cpp CLogEvent.cpp \
|
||||||
srvcmd.cpp strptime.cpp amxcore.cpp amxtime.cpp power.cpp amxxlog.cpp fakemeta.cpp \
|
srvcmd.cpp strptime.cpp amxcore.cpp amxtime.cpp power.cpp amxxlog.cpp fakemeta.cpp \
|
||||||
amxxfile.cpp CLang.cpp md5.cpp emsg.cpp CForward.cpp CPlugin.cpp CModule.cpp \
|
amxxfile.cpp CLang.cpp md5.cpp emsg.cpp CForward.cpp CPlugin.cpp CModule.cpp \
|
||||||
CMenu.cpp util.cpp amx.cpp amxdbg.cpp natives.cpp newmenus.cpp debugger.cpp \
|
CMenu.cpp util.cpp amx.cpp amxdbg.cpp natives.cpp newmenus.cpp debugger.cpp \
|
||||||
optimizer.cpp format.cpp messages.cpp libraries.cpp vector.cpp sorting.cpp \
|
optimizer.cpp format.cpp messages.cpp libraries.cpp vector.cpp sorting.cpp \
|
||||||
amxmod_compat.cpp nongpl_matches.cpp CFlagManager.cpp datastructs.cpp \
|
amxmod_compat.cpp nongpl_matches.cpp CFlagManager.cpp datastructs.cpp
|
||||||
trie_natives.cpp
|
|
||||||
|
|
||||||
##############################################
|
LINK = -lgcc -static-libgcc
|
||||||
### CONFIGURE ANY OTHER FLAGS/OPTIONS HERE ###
|
|
||||||
##############################################
|
|
||||||
|
|
||||||
C_OPT_FLAGS = -DNDEBUG -O2 -funroll-loops -fomit-frame-pointer -pipe
|
INCLUDE = -I. -I$(HLSDK) -I$(HLSDK)/dlls -I$(HLSDK)/engine -I$(HLSDK)/game_shared -I$(HLSDK)/game_shared \
|
||||||
C_DEBUG_FLAGS = -D_DEBUG -DDEBUG -g -ggdb3
|
-I$(MM_ROOT) -Lzlib -I$(HLSDK)/common
|
||||||
C_GCC4_FLAGS = -fvisibility=hidden
|
|
||||||
CPP_GCC4_FLAGS = -fvisibility-inlines-hidden
|
|
||||||
CPP = gcc
|
|
||||||
CPP_OSX = clang
|
|
||||||
|
|
||||||
LINK = -Lzlib
|
GCC_VERSION := $(shell $(CPP) -dumpversion >&1 | cut -b1)
|
||||||
|
|
||||||
INCLUDE = -I. -I$(HLSDK) -I$(HLSDK)/common -I$(HLSDK)/dlls -I$(HLSDK)/engine -I$(HLSDK)/game_shared \
|
ifeq "$(GCC_VERSION)" "4"
|
||||||
-I$(MM_ROOT)
|
OPT_FLAGS += -fvisibility=hidden -fvisibility-inlines-hidden
|
||||||
|
|
||||||
################################################
|
|
||||||
### DO NOT EDIT BELOW HERE FOR MOST PROJECTS ###
|
|
||||||
################################################
|
|
||||||
|
|
||||||
OS := $(shell uname -s)
|
|
||||||
|
|
||||||
ifeq "$(OS)" "Darwin"
|
|
||||||
OBJECTS += JIT/amxexecn-darwin.o JIT/amxjitsn-darwin.o JIT/natives-darwin-x86.o \
|
|
||||||
JIT/helpers-darwin-x86.o
|
|
||||||
|
|
||||||
CPP = $(CPP_OSX)
|
|
||||||
LIB_EXT = dylib
|
|
||||||
LIB_SUFFIX = _mm
|
|
||||||
CFLAGS += -DOSX
|
|
||||||
LINK += -dynamiclib -lstdc++ -mmacosx-version-min=10.5 -Wl,-read_only_relocs,suppress -lz-darwin
|
|
||||||
else
|
|
||||||
OBJECTS += JIT/amxexecn.o JIT/amxjitsn.o JIT/natives-x86.o JIT/helpers-x86.o
|
|
||||||
|
|
||||||
LIB_EXT = so
|
|
||||||
LIB_SUFFIX = _mm_i386
|
|
||||||
CFLAGS += -DLINUX
|
|
||||||
LINK += -shared -lz
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
LINK += -m32 -lm -ldl
|
|
||||||
|
|
||||||
CFLAGS += -DAMX_NOPROPLIST -DPAWN_CELL_SIZE=32 -DJIT -DASM32 -DHAVE_STDINT_H -fno-strict-aliasing \
|
|
||||||
-m32 -Wall -Werror
|
|
||||||
CPPFLAGS += -fno-exceptions -fno-rtti
|
|
||||||
|
|
||||||
BINARY = $(PROJECT)$(LIB_SUFFIX).$(LIB_EXT)
|
|
||||||
|
|
||||||
ifeq "$(DEBUG)" "true"
|
ifeq "$(DEBUG)" "true"
|
||||||
BIN_DIR = Debug
|
BIN_DIR = Debug
|
||||||
CFLAGS += $(C_DEBUG_FLAGS)
|
CFLAGS = $(DEBUG_FLAGS)
|
||||||
else
|
else
|
||||||
BIN_DIR = Release
|
BIN_DIR = Release
|
||||||
CFLAGS += $(C_OPT_FLAGS)
|
CFLAGS = $(OPT_FLAGS)
|
||||||
LINK += -s
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq "$(BINLOG)" "true"
|
ifeq "$(BINLOG)" "true"
|
||||||
LIB_SUFFIX := _bl$(LIB_SUFFIX)
|
NAME := $(NAME)_bl
|
||||||
BIN_DIR := $(BIN_DIR)BinLog
|
BIN_DIR := $(BIN_DIR)BinLog
|
||||||
OBJECTS += binlog.cpp
|
OBJECTS += binlog.cpp
|
||||||
CFLAGS += -DBINLOG_ENABLED
|
CFLAGS += -DBINLOG_ENABLED
|
||||||
endif
|
endif
|
||||||
|
|
||||||
IS_CLANG := $(shell $(CPP) --version | head -1 | grep clang > /dev/null && echo "1" || echo "0")
|
CFLAGS += -DLINUX -DNDEBUG -DAMX_NOPROPLIST -fPIC -Wall -Werror -DHAVE_STDINT_H -static-libgcc -fno-rtti -fno-exceptions
|
||||||
|
|
||||||
ifeq "$(IS_CLANG)" "1"
|
ifeq "$(AMD64)" "true"
|
||||||
CPP_MAJOR := $(shell $(CPP) --version | grep clang | sed "s/.*version \([0-9]\)*\.[0-9]*.*/\1/")
|
BINARY = $(NAME)_$(BIN_SUFFIX_64)
|
||||||
CPP_MINOR := $(shell $(CPP) --version | grep clang | sed "s/.*version [0-9]*\.\([0-9]\)*.*/\1/")
|
CFLAGS += -DPAWN_CELL_SIZE=64 -DHAVE_I64 -DAMD64 -m64
|
||||||
|
LINK += -lz64
|
||||||
|
OBJECTS += JIT/natives-amd64.o
|
||||||
else
|
else
|
||||||
CPP_MAJOR := $(shell $(CPP) -dumpversion >&1 | cut -b1)
|
BINARY = $(NAME)_$(BIN_SUFFIX_32)
|
||||||
CPP_MINOR := $(shell $(CPP) -dumpversion >&1 | cut -b3)
|
OBJECTS += JIT/amxexecn.o JIT/amxjitsn.o JIT/natives-x86.o
|
||||||
|
OBJECTS += JIT/helpers-x86.o
|
||||||
|
CFLAGS += -DPAWN_CELL_SIZE=32 -DJIT -DASM32
|
||||||
|
LINK += -lz
|
||||||
|
OPT_FLAGS += -march=i586
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Clang || GCC >= 4
|
OBJ_LINUX := $(OBJECTS:%.cpp=$(BIN_DIR)/%.o)
|
||||||
ifeq "$(shell expr $(IS_CLANG) \| $(CPP_MAJOR) \>= 4)" "1"
|
|
||||||
CFLAGS += $(C_GCC4_FLAGS)
|
|
||||||
CPPFLAGS += $(CPP_GCC4_FLAGS)
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Clang >= 3 || GCC >= 4.7
|
|
||||||
ifeq "$(shell expr $(IS_CLANG) \& $(CPP_MAJOR) \>= 3 \| $(CPP_MAJOR) \>= 4 \& $(CPP_MINOR) \>= 7)" "1"
|
|
||||||
CFLAGS += -Wno-delete-non-virtual-dtor
|
|
||||||
endif
|
|
||||||
|
|
||||||
# OS is Linux and not using clang
|
|
||||||
ifeq "$(shell expr $(OS) \= Linux \& $(IS_CLANG) \= 0)" "1"
|
|
||||||
LINK += -static-libgcc
|
|
||||||
endif
|
|
||||||
|
|
||||||
OBJ_BIN := $(OBJECTS:%.cpp=$(BIN_DIR)/%.o)
|
|
||||||
|
|
||||||
# This will break if we include other Makefiles, but is fine for now. It allows
|
|
||||||
# us to make a copy of this file that uses altered paths (ie. Makefile.mine)
|
|
||||||
# or other changes without mucking up the original.
|
|
||||||
MAKEFILE_NAME := $(CURDIR)/$(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))
|
|
||||||
|
|
||||||
$(BIN_DIR)/%.o: %.cpp
|
$(BIN_DIR)/%.o: %.cpp
|
||||||
$(CPP) $(INCLUDE) $(CFLAGS) $(CPPFLAGS) -o $@ -c $<
|
$(CPP) $(INCLUDE) $(CFLAGS) -o $@ -c $<
|
||||||
|
|
||||||
all:
|
all:
|
||||||
mkdir -p $(BIN_DIR)
|
mkdir -p $(BIN_DIR)
|
||||||
$(MAKE) -f $(MAKEFILE_NAME) $(PROJECT)
|
$(MAKE) amxmodx
|
||||||
|
|
||||||
|
amd64:
|
||||||
|
rm -f zlib/libz.a
|
||||||
|
$(MAKE) all AMD64=true
|
||||||
|
|
||||||
|
amd64_debug:
|
||||||
|
rm -f zlib/libz.a
|
||||||
|
$(MAKE) all AMD64=true DEBUG=true
|
||||||
|
|
||||||
|
amd64_binlog:
|
||||||
|
rm -f zlib/libz.a
|
||||||
|
$(MAKE) all AMD64=true BINLOG=true
|
||||||
|
|
||||||
|
amd64_binlog_debug:
|
||||||
|
rm -f zlib/libz.a
|
||||||
|
$(MAKE) all AMD64=true BINLOG=true DEBUG=true
|
||||||
|
|
||||||
binlog:
|
binlog:
|
||||||
$(MAKE) -f $(MAKEFILE_NAME) all BINLOG=true
|
$(MAKE) all BINLOG=true
|
||||||
|
|
||||||
binlog_debug:
|
binlog_debug:
|
||||||
$(MAKE) -f $(MAKEFILE_NAME) all BINLOG=true DEBUG=true
|
$(MAKE) all BINLOG=true DEBUG=true
|
||||||
|
|
||||||
$(PROJECT): $(OBJ_BIN)
|
amxmodx: $(OBJ_LINUX)
|
||||||
$(CPP) $(INCLUDE) $(OBJ_BIN) $(LINK) -o $(BIN_DIR)/$(BINARY)
|
$(CPP) $(INCLUDE) $(CFLAGS) $(OBJ_LINUX) $(LINK) -shared -ldl -lm -o$(BIN_DIR)/$(BINARY)
|
||||||
|
|
||||||
debug:
|
debug:
|
||||||
$(MAKE) -f $(MAKEFILE_NAME) all DEBUG=true
|
$(MAKE) all DEBUG=true
|
||||||
|
|
||||||
default: all
|
default: all
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -rf $(BIN_DIR)/*.o
|
rm -rf Release/*.o
|
||||||
rm -f $(BIN_DIR)/$(BINARY)
|
rm -rf Release/$(NAME)_$(BIN_SUFFIX_32)
|
||||||
|
rm -rf Release/$(NAME)_$(BIN_SUFFIX_64)
|
||||||
|
rm -rf ReleaseBinLog/*.o
|
||||||
|
rm -rf ReleaseBinLog/$(NAME)_bl_$(BIN_SUFFIX_32)
|
||||||
|
rm -rf ReleaseBinLog/$(NAME)_bl_$(BIN_SUFFIX_64)
|
||||||
|
rm -rf Debug/*.o
|
||||||
|
rm -rf Debug/$(NAME)_$(BIN_SUFFIX_32)
|
||||||
|
rm -rf Debug/$(NAME)_$(BIN_SUFFIX_64)
|
||||||
|
rm -rf DebugBinLog/*.o
|
||||||
|
rm -rf DebugBinLog/$(NAME)_bl_$(BIN_SUFFIX_32)
|
||||||
|
rm -rf DebugBinLog/$(NAME)_bl_$(BIN_SUFFIX_64)
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
* misrepresented as being the original software.
|
* misrepresented as being the original software.
|
||||||
* 3. This notice may not be removed or altered from any source distribution.
|
* 3. This notice may not be removed or altered from any source distribution.
|
||||||
*
|
*
|
||||||
* Version: $Id: amx.cpp 3707 2008-04-14 19:56:31Z sawce $
|
* Version: $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define AMX_NODYNALOAD
|
#define AMX_NODYNALOAD
|
||||||
@ -48,7 +48,7 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include "osdefs.h"
|
#include "osdefs.h"
|
||||||
#if defined LINUX || defined __FreeBSD__ || defined __OpenBSD__ || defined __APPLE__
|
#if defined LINUX || defined __FreeBSD__ || defined __OpenBSD__
|
||||||
#include <sclinux.h>
|
#include <sclinux.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
@ -436,7 +436,7 @@ int AMXAPI amx_Callback(AMX *amx, cell index, cell *result, cell *params)
|
|||||||
hdr=(AMX_HEADER *)amx->base;
|
hdr=(AMX_HEADER *)amx->base;
|
||||||
assert(hdr->natives<=hdr->libraries);
|
assert(hdr->natives<=hdr->libraries);
|
||||||
#if defined AMX_NATIVETABLE
|
#if defined AMX_NATIVETABLE
|
||||||
if (index<0) {
|
if (index<NULL) {
|
||||||
assert(-(index+1)<(sizeof(AMX_NATIVETABLE)/sizeof(AMX_NATIVETABLE)[0]));
|
assert(-(index+1)<(sizeof(AMX_NATIVETABLE)/sizeof(AMX_NATIVETABLE)[0]));
|
||||||
f=(AMX_NATIVETABLE)[-(index+1)];
|
f=(AMX_NATIVETABLE)[-(index+1)];
|
||||||
} else {
|
} else {
|
||||||
@ -803,7 +803,7 @@ static void expand(unsigned char *code, long codesize, long memsize)
|
|||||||
do {
|
do {
|
||||||
codesize--;
|
codesize--;
|
||||||
/* no input byte should be shifted out completely */
|
/* no input byte should be shifted out completely */
|
||||||
assert(shift<static_cast<int>(8*sizeof(cell)));
|
assert(shift<8*sizeof(cell));
|
||||||
/* we work from the end of a sequence backwards; the final code in
|
/* we work from the end of a sequence backwards; the final code in
|
||||||
* a sequence may not have the continuation bit set */
|
* a sequence may not have the continuation bit set */
|
||||||
assert(shift>0 || (code[(size_t)codesize] & 0x80)==0);
|
assert(shift>0 || (code[(size_t)codesize] & 0x80)==0);
|
||||||
@ -932,7 +932,7 @@ int AMXAPI amx_Init(AMX *amx, void *program)
|
|||||||
|
|
||||||
#define ALIGN(addr) (addr)
|
#define ALIGN(addr) (addr)
|
||||||
|
|
||||||
#elif defined LINUX || defined __FreeBSD__ || defined __OpenBSD__ || defined __APPLE__
|
#elif defined LINUX || defined __FreeBSD__ || defined __OpenBSD__
|
||||||
|
|
||||||
/* Linux already has mprotect() */
|
/* Linux already has mprotect() */
|
||||||
/* But wants the address aligned! */
|
/* But wants the address aligned! */
|
||||||
@ -1014,10 +1014,10 @@ int AMXAPI amx_InitJIT(AMX *amx,void *compiled_program,void *reloc_table)
|
|||||||
#if defined AMX_CLEANUP
|
#if defined AMX_CLEANUP
|
||||||
int AMXAPI amx_Cleanup(AMX *amx)
|
int AMXAPI amx_Cleanup(AMX *amx)
|
||||||
{
|
{
|
||||||
#if (defined _Windows || defined LINUX || defined __FreeBSD__ || defined __OpenBSD__ || defined __APPLE__) && !defined AMX_NODYNALOAD
|
#if (defined _Windows || defined LINUX || defined __FreeBSD__ || defined __OpenBSD__) && !defined AMX_NODYNALOAD
|
||||||
#if defined _Windows
|
#if defined _Windows
|
||||||
typedef int (FAR WINAPI *AMX_ENTRY)(AMX FAR *amx);
|
typedef int (FAR WINAPI *AMX_ENTRY)(AMX FAR *amx);
|
||||||
#elif defined LINUX || defined __FreeBSD__ || defined __OpenBSD__ || defined __APPLE__
|
#elif defined LINUX || defined __FreeBSD__ || defined __OpenBSD__
|
||||||
typedef int (*AMX_ENTRY)(AMX *amx);
|
typedef int (*AMX_ENTRY)(AMX *amx);
|
||||||
#endif
|
#endif
|
||||||
AMX_HEADER *hdr;
|
AMX_HEADER *hdr;
|
||||||
@ -1027,7 +1027,7 @@ int AMXAPI amx_Cleanup(AMX *amx)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* unload all extension modules */
|
/* unload all extension modules */
|
||||||
#if (defined _Windows || defined LINUX || defined __FreeBSD__ || defined __OpenBSD__ || defined __APPLE__) && !defined AMX_NODYNALOAD
|
#if (defined _Windows || defined LINUX || defined __FreeBSD__ || defined __OpenBSD__) && !defined AMX_NODYNALOAD
|
||||||
hdr=(AMX_HEADER *)amx->base;
|
hdr=(AMX_HEADER *)amx->base;
|
||||||
assert(hdr->magic==AMX_MAGIC);
|
assert(hdr->magic==AMX_MAGIC);
|
||||||
numlibraries=NUMENTRIES(hdr,libraries,pubvars);
|
numlibraries=NUMENTRIES(hdr,libraries,pubvars);
|
||||||
@ -1040,14 +1040,14 @@ int AMXAPI amx_Cleanup(AMX *amx)
|
|||||||
strcat(funcname,"Cleanup");
|
strcat(funcname,"Cleanup");
|
||||||
#if defined _Windows
|
#if defined _Windows
|
||||||
libcleanup=(AMX_ENTRY)GetProcAddress((HINSTANCE)lib->address,funcname);
|
libcleanup=(AMX_ENTRY)GetProcAddress((HINSTANCE)lib->address,funcname);
|
||||||
#elif defined LINUX || defined __FreeBSD__ || defined __OpenBSD__ || defined __APPLE__
|
#elif defined LINUX || defined __FreeBSD__ || defined __OpenBSD__
|
||||||
libcleanup=(AMX_ENTRY)dlsym((void*)lib->address,funcname);
|
libcleanup=(AMX_ENTRY)dlsym((void*)lib->address,funcname);
|
||||||
#endif
|
#endif
|
||||||
if (libcleanup!=NULL)
|
if (libcleanup!=NULL)
|
||||||
libcleanup(amx);
|
libcleanup(amx);
|
||||||
#if defined _Windows
|
#if defined _Windows
|
||||||
FreeLibrary((HINSTANCE)lib->address);
|
FreeLibrary((HINSTANCE)lib->address);
|
||||||
#elif defined LINUX || defined __FreeBSD__ || defined __OpenBSD__ || defined __APPLE__
|
#elif defined LINUX || defined __FreeBSD__ || defined __OpenBSD__
|
||||||
dlclose((void*)lib->address);
|
dlclose((void*)lib->address);
|
||||||
#endif
|
#endif
|
||||||
} /* if */
|
} /* if */
|
||||||
@ -3695,7 +3695,7 @@ int AMXAPI amx_GetAddr(AMX *amx,cell amx_addr,cell **phys_addr)
|
|||||||
data=(amx->data!=NULL) ? amx->data : amx->base+(int)hdr->dat;
|
data=(amx->data!=NULL) ? amx->data : amx->base+(int)hdr->dat;
|
||||||
|
|
||||||
assert(phys_addr!=NULL);
|
assert(phys_addr!=NULL);
|
||||||
if ((amx_addr>=amx->hea && amx_addr<amx->stk) || amx_addr<0 || amx_addr>=amx->stp) {
|
if (amx_addr>=amx->hea && amx_addr<amx->stk || amx_addr<0 || amx_addr>=amx->stp) {
|
||||||
*phys_addr=NULL;
|
*phys_addr=NULL;
|
||||||
return AMX_ERR_MEMACCESS;
|
return AMX_ERR_MEMACCESS;
|
||||||
} /* if */
|
} /* if */
|
||||||
@ -4094,7 +4094,7 @@ int AMXAPI amx_GetLibraries(AMX *amx)
|
|||||||
return numLibraries;
|
return numLibraries;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(__linux__) || defined(__APPLE__)
|
#ifdef __linux__
|
||||||
#define _snprintf snprintf
|
#define _snprintf snprintf
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -18,13 +18,13 @@
|
|||||||
* misrepresented as being the original software.
|
* misrepresented as being the original software.
|
||||||
* 3. This notice may not be removed or altered from any source distribution.
|
* 3. This notice may not be removed or altered from any source distribution.
|
||||||
*
|
*
|
||||||
* Version: $Id: amx.h 3006 2006-08-28 11:08:18Z dvander $
|
* Version: $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if defined FREEBSD && !defined __FreeBSD__
|
#if defined FREEBSD && !defined __FreeBSD__
|
||||||
#define __FreeBSD__
|
#define __FreeBSD__
|
||||||
#endif
|
#endif
|
||||||
#if defined LINUX || defined __FreeBSD__ || defined __OpenBSD__ || defined __APPLE__
|
#if defined LINUX || defined __FreeBSD__ || defined __OpenBSD__
|
||||||
#include <sclinux.h>
|
#include <sclinux.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -34,7 +34,7 @@
|
|||||||
#if defined HAVE_STDINT_H
|
#if defined HAVE_STDINT_H
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#else
|
#else
|
||||||
#if defined __LCC__ || defined __DMC__ || defined LINUX || defined __APPLE__
|
#if defined __LCC__ || defined __DMC__ || defined LINUX
|
||||||
#if defined HAVE_INTTYPES_H
|
#if defined HAVE_INTTYPES_H
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
#else
|
#else
|
||||||
@ -190,7 +190,7 @@ typedef int (AMXAPI *AMX_NATIVE_FILTER)(struct tagAMX *amx, int index);
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined AMX_NO_ALIGN
|
#if !defined AMX_NO_ALIGN
|
||||||
#if defined LINUX || defined __FreeBSD__ || defined __APPLE__
|
#if defined LINUX || defined __FreeBSD__
|
||||||
#pragma pack(1) /* structures must be packed (byte-aligned) */
|
#pragma pack(1) /* structures must be packed (byte-aligned) */
|
||||||
#elif defined MACOS && defined __MWERKS__
|
#elif defined MACOS && defined __MWERKS__
|
||||||
#pragma options align=mac68k
|
#pragma options align=mac68k
|
||||||
@ -442,7 +442,7 @@ int AMXAPI amx_GetStringOld(char *dest,const cell *source,int use_wchar);
|
|||||||
amx_Register((amx), amx_NativeInfo((name),(func)), 1);
|
amx_Register((amx), amx_NativeInfo((name),(func)), 1);
|
||||||
|
|
||||||
#if !defined AMX_NO_ALIGN
|
#if !defined AMX_NO_ALIGN
|
||||||
#if defined LINUX || defined __FreeBSD__ || defined __APPLE__
|
#if defined LINUX || defined __FreeBSD__
|
||||||
#pragma pack() /* reset default packing */
|
#pragma pack() /* reset default packing */
|
||||||
#elif defined MACOS && defined __MWERKS__
|
#elif defined MACOS && defined __MWERKS__
|
||||||
#pragma options align=reset
|
#pragma options align=reset
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
* misrepresented as being the original software.
|
* misrepresented as being the original software.
|
||||||
* 3. This notice may not be removed or altered from any source distribution.
|
* 3. This notice may not be removed or altered from any source distribution.
|
||||||
*
|
*
|
||||||
* Version: $Id: amxcore.cpp 1733 2005-07-25 06:03:43Z dvander $
|
* Version: $Id$
|
||||||
*/
|
*/
|
||||||
#if defined _UNICODE || defined __UNICODE__ || defined UNICODE
|
#if defined _UNICODE || defined __UNICODE__ || defined UNICODE
|
||||||
# if !defined UNICODE /* for Windows */
|
# if !defined UNICODE /* for Windows */
|
||||||
@ -180,7 +180,7 @@ static cell AMX_NATIVE_CALL setarg(AMX *amx, cell *params)
|
|||||||
/* adjust the address in "value" in case of an array access */
|
/* adjust the address in "value" in case of an array access */
|
||||||
value+=params[2]*sizeof(cell);
|
value+=params[2]*sizeof(cell);
|
||||||
/* verify the address */
|
/* verify the address */
|
||||||
if (value<0 || (value>=amx->hea && value<amx->stk))
|
if (value<0 || value>=amx->hea && value<amx->stk)
|
||||||
return 0;
|
return 0;
|
||||||
/* set the value indirectly */
|
/* set the value indirectly */
|
||||||
* (cell *)(data+(int)value) = params[3];
|
* (cell *)(data+(int)value) = params[3];
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
* misrepresented as being the original software.
|
* misrepresented as being the original software.
|
||||||
* 3. This notice may not be removed or altered from any source distribution.
|
* 3. This notice may not be removed or altered from any source distribution.
|
||||||
*
|
*
|
||||||
* Version: $Id: amxdbg.cpp 2345 2006-02-10 19:47:09Z faluco $
|
* Version: $Id$
|
||||||
*/
|
*/
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
@ -462,8 +462,8 @@ int AMXAPI dbg_GetVariable(AMX_DBG *amxdbg, const char *symname, ucell scopeaddr
|
|||||||
break;
|
break;
|
||||||
/* check the range, keep a pointer to the symbol with the smallest range */
|
/* check the range, keep a pointer to the symbol with the smallest range */
|
||||||
if (strcmp(amxdbg->symboltbl[index]->name, symname) == 0
|
if (strcmp(amxdbg->symboltbl[index]->name, symname) == 0
|
||||||
&& ((codestart == 0 && codeend == 0)
|
&& (codestart == 0 && codeend == 0
|
||||||
|| (amxdbg->symboltbl[index]->codestart >= codestart && amxdbg->symboltbl[index]->codeend <= codeend)))
|
|| amxdbg->symboltbl[index]->codestart >= codestart && amxdbg->symboltbl[index]->codeend <= codeend))
|
||||||
{
|
{
|
||||||
*sym = amxdbg->symboltbl[index];
|
*sym = amxdbg->symboltbl[index];
|
||||||
codestart = amxdbg->symboltbl[index]->codestart;
|
codestart = amxdbg->symboltbl[index]->codestart;
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
* misrepresented as being the original software.
|
* misrepresented as being the original software.
|
||||||
* 3. This notice may not be removed or altered from any source distribution.
|
* 3. This notice may not be removed or altered from any source distribution.
|
||||||
*
|
*
|
||||||
* Version: $Id: amxdbg.h 2977 2006-08-27 02:17:18Z damagedsoul $
|
* Version: $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef AMXDBG_H_INCLUDED
|
#ifndef AMXDBG_H_INCLUDED
|
||||||
@ -49,7 +49,7 @@ extern "C" {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined AMX_NO_ALIGN
|
#if !defined AMX_NO_ALIGN
|
||||||
#if defined LINUX || defined __FreeBSD__ || defined __APPLE__
|
#if defined LINUX || defined __FreeBSD__
|
||||||
#pragma pack(1) /* structures must be packed (byte-aligned) */
|
#pragma pack(1) /* structures must be packed (byte-aligned) */
|
||||||
#elif defined MACOS && defined __MWERKS__
|
#elif defined MACOS && defined __MWERKS__
|
||||||
#pragma options align=mac68k
|
#pragma options align=mac68k
|
||||||
@ -156,7 +156,7 @@ int AMXAPI dbg_GetArrayDim(AMX_DBG *amxdbg, const AMX_DBG_SYMBOL *sym, const AMX
|
|||||||
|
|
||||||
|
|
||||||
#if !defined AMX_NO_ALIGN
|
#if !defined AMX_NO_ALIGN
|
||||||
#if defined LINUX || defined __FreeBSD__ || defined __APPLE__
|
#if defined LINUX || defined __FreeBSD__
|
||||||
#pragma pack() /* reset default packing */
|
#pragma pack() /* reset default packing */
|
||||||
#elif defined MACOS && defined __MWERKS__
|
#elif defined MACOS && defined __MWERKS__
|
||||||
#pragma options align=reset
|
#pragma options align=reset
|
||||||
|
@ -303,6 +303,14 @@
|
|||||||
%endif
|
%endif
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
|
|
||||||
|
%ifdef WIN32
|
||||||
|
section .data exec
|
||||||
|
%else
|
||||||
|
section .text
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
global asm_runJIT, _asm_runJIT
|
global asm_runJIT, _asm_runJIT
|
||||||
global amx_exec_jit, _amx_exec_jit
|
global amx_exec_jit, _amx_exec_jit
|
||||||
global getMaxCodeSize, _getMaxCodeSize
|
global getMaxCodeSize, _getMaxCodeSize
|
||||||
@ -428,6 +436,15 @@ reloc_done:
|
|||||||
pop ebp
|
pop ebp
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
; GWMV:
|
||||||
|
; The code below modifies itself to store the arguments to the Pawn opcodes
|
||||||
|
; in the compiled code. This is fine, but the .text section in an ELF executable
|
||||||
|
; is usually marked read-only, that's why this code is in the .data section.
|
||||||
|
|
||||||
|
%ifndef WIN32
|
||||||
|
section .data exec
|
||||||
|
%endif
|
||||||
|
|
||||||
OP_LOAD_PRI:
|
OP_LOAD_PRI:
|
||||||
;nop;
|
;nop;
|
||||||
putval j_load_pri+2
|
putval j_load_pri+2
|
||||||
@ -1035,7 +1052,7 @@ OP_CALL:
|
|||||||
j_call:
|
j_call:
|
||||||
;call 12345678h ; tasm chokes on this out of a sudden
|
;call 12345678h ; tasm chokes on this out of a sudden
|
||||||
_PUSH 0
|
_PUSH 0
|
||||||
j_call_e8:
|
j_call_e8
|
||||||
db 0e8h, 0, 0, 0, 0
|
db 0e8h, 0, 0, 0, 0
|
||||||
CHECKCODESIZE j_call
|
CHECKCODESIZE j_call
|
||||||
|
|
||||||
@ -2574,4 +2591,4 @@ _amx_opcodelist_jit:
|
|||||||
DD OP_FLOAT_ROUND ; DA
|
DD OP_FLOAT_ROUND ; DA
|
||||||
DD OP_FLOAT_CMP ; DA
|
DD OP_FLOAT_CMP ; DA
|
||||||
|
|
||||||
END:
|
END
|
||||||
|
@ -146,7 +146,7 @@ static cell AMX_NATIVE_CALL server_print(AMX *amx, cell *params) /* 1 param */
|
|||||||
|
|
||||||
static cell AMX_NATIVE_CALL engclient_print(AMX *amx, cell *params) /* 3 param */
|
static cell AMX_NATIVE_CALL engclient_print(AMX *amx, cell *params) /* 3 param */
|
||||||
{
|
{
|
||||||
int len = 0;
|
int len;
|
||||||
char *msg;
|
char *msg;
|
||||||
|
|
||||||
if (params[1] == 0)
|
if (params[1] == 0)
|
||||||
@ -481,7 +481,7 @@ static cell AMX_NATIVE_CALL is_dedicated_server(AMX *amx, cell *params)
|
|||||||
|
|
||||||
static cell AMX_NATIVE_CALL is_linux_server(AMX *amx, cell *params)
|
static cell AMX_NATIVE_CALL is_linux_server(AMX *amx, cell *params)
|
||||||
{
|
{
|
||||||
#if defined(__linux__) || defined(__APPLE__)
|
#ifdef __linux__
|
||||||
return 1;
|
return 1;
|
||||||
#else
|
#else
|
||||||
return 0;
|
return 0;
|
||||||
@ -1005,7 +1005,7 @@ static cell AMX_NATIVE_CALL get_user_team(AMX *amx, cell *params) /* 3 param */
|
|||||||
|
|
||||||
if (params[3])
|
if (params[3])
|
||||||
{
|
{
|
||||||
const char *szTeam = "";
|
char *szTeam = "";
|
||||||
|
|
||||||
switch (iTeam)
|
switch (iTeam)
|
||||||
{
|
{
|
||||||
@ -3843,7 +3843,7 @@ static cell AMX_NATIVE_CALL amx_mkdir(AMX *amx, cell *params)
|
|||||||
char *path = get_amxstring(amx, params[1], 0, len);
|
char *path = get_amxstring(amx, params[1], 0, len);
|
||||||
char *realpath = build_pathname("%s", path);
|
char *realpath = build_pathname("%s", path);
|
||||||
|
|
||||||
#if defined(__linux__) || defined(__APPLE__)
|
#ifdef __linux__
|
||||||
return mkdir(realpath, 0700);
|
return mkdir(realpath, 0700);
|
||||||
#else
|
#else
|
||||||
return mkdir(realpath);
|
return mkdir(realpath);
|
||||||
@ -4597,10 +4597,7 @@ static cell AMX_NATIVE_CALL LookupLangKey(AMX *amx, cell *params)
|
|||||||
set_amxstring(amx,params[1],def,params[2]);
|
set_amxstring(amx,params[1],def,params[2]);
|
||||||
return 1;
|
return 1;
|
||||||
};
|
};
|
||||||
static cell AMX_NATIVE_CALL is_rukia_a_hag(AMX *amx, cell *params)
|
|
||||||
{
|
|
||||||
return 1;
|
|
||||||
};
|
|
||||||
AMX_NATIVE_INFO amxmodx_Natives[] =
|
AMX_NATIVE_INFO amxmodx_Natives[] =
|
||||||
{
|
{
|
||||||
{"abort", amx_abort},
|
{"abort", amx_abort},
|
||||||
@ -4802,6 +4799,5 @@ AMX_NATIVE_INFO amxmodx_Natives[] =
|
|||||||
{"LookupLangKey", LookupLangKey},
|
{"LookupLangKey", LookupLangKey},
|
||||||
{"PrepareArray", PrepareArray},
|
{"PrepareArray", PrepareArray},
|
||||||
{"ShowSyncHudMsg", ShowSyncHudMsg},
|
{"ShowSyncHudMsg", ShowSyncHudMsg},
|
||||||
{"is_rukia_a_hag", is_rukia_a_hag},
|
|
||||||
{NULL, NULL}
|
{NULL, NULL}
|
||||||
};
|
};
|
||||||
|
@ -32,7 +32,7 @@
|
|||||||
#ifndef AMXMODX_H
|
#ifndef AMXMODX_H
|
||||||
#define AMXMODX_H
|
#define AMXMODX_H
|
||||||
|
|
||||||
#if defined(__linux__) || defined(__APPLE__)
|
#ifdef __linux__
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include "sclinux.h"
|
#include "sclinux.h"
|
||||||
@ -86,7 +86,7 @@ extern AMX_NATIVE_INFO vector_Natives[];
|
|||||||
extern AMX_NATIVE_INFO g_SortNatives[];
|
extern AMX_NATIVE_INFO g_SortNatives[];
|
||||||
extern AMX_NATIVE_INFO g_DataStructNatives[];
|
extern AMX_NATIVE_INFO g_DataStructNatives[];
|
||||||
|
|
||||||
#if defined(_WIN32)
|
#ifndef __linux__
|
||||||
#define DLLOAD(path) (DLHANDLE)LoadLibrary(path)
|
#define DLLOAD(path) (DLHANDLE)LoadLibrary(path)
|
||||||
#define DLPROC(m, func) GetProcAddress(m, func)
|
#define DLPROC(m, func) GetProcAddress(m, func)
|
||||||
#define DLFREE(m) FreeLibrary(m)
|
#define DLFREE(m) FreeLibrary(m)
|
||||||
@ -107,14 +107,14 @@ extern AMX_NATIVE_INFO g_DataStructNatives[];
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(_WIN32)
|
#ifndef __linux__
|
||||||
typedef HINSTANCE DLHANDLE;
|
typedef HINSTANCE DLHANDLE;
|
||||||
#else
|
#else
|
||||||
typedef void* DLHANDLE;
|
typedef void* DLHANDLE;
|
||||||
#define INFINITE 0xFFFFFFFF
|
#define INFINITE 0xFFFFFFFF
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(_WIN32)
|
#ifndef __linux__
|
||||||
#define PATH_SEP_CHAR '\\'
|
#define PATH_SEP_CHAR '\\'
|
||||||
#define ALT_SEP_CHAR '/'
|
#define ALT_SEP_CHAR '/'
|
||||||
#else
|
#else
|
||||||
@ -139,7 +139,7 @@ int UTIL_ReadFlags(const char* c);
|
|||||||
void UTIL_ClientPrint(edict_t *pEntity, int msg_dest, char *msg);
|
void UTIL_ClientPrint(edict_t *pEntity, int msg_dest, char *msg);
|
||||||
void UTIL_FakeClientCommand(edict_t *pEdict, const char *cmd, const char *arg1 = NULL, const char *arg2 = NULL);
|
void UTIL_FakeClientCommand(edict_t *pEdict, const char *cmd, const char *arg1 = NULL, const char *arg2 = NULL);
|
||||||
void UTIL_GetFlags(char* flags, int flag);
|
void UTIL_GetFlags(char* flags, int flag);
|
||||||
void UTIL_HudMessage(edict_t *pEntity, const hudtextparms_t &textparms, const char *pMessage);
|
void UTIL_HudMessage(edict_t *pEntity, const hudtextparms_t &textparms, char *pMessage);
|
||||||
void UTIL_IntToString(int value, char *output);
|
void UTIL_IntToString(int value, char *output);
|
||||||
void UTIL_ShowMOTD(edict_t *client, char *motd, int mlen, const char *name);
|
void UTIL_ShowMOTD(edict_t *client, char *motd, int mlen, const char *name);
|
||||||
void UTIL_ShowMenu(edict_t* pEntity, int slots, int time, char *menu, int mlen);
|
void UTIL_ShowMenu(edict_t* pEntity, int slots, int time, char *menu, int mlen);
|
||||||
@ -276,8 +276,8 @@ void modules_callPluginsUnloaded();
|
|||||||
void modules_callPluginsUnloading();
|
void modules_callPluginsUnloading();
|
||||||
|
|
||||||
cell* get_amxaddr(AMX *amx, cell amx_addr);
|
cell* get_amxaddr(AMX *amx, cell amx_addr);
|
||||||
char* build_pathname(const char *fmt, ...);
|
char* build_pathname(char *fmt, ...);
|
||||||
char* build_pathname_r(char *buffer, size_t maxlen, const char *fmt, ...);
|
char* build_pathname_r(char *buffer, size_t maxlen, char *fmt, ...);
|
||||||
char* format_amxstring(AMX *amx, cell *params, int parm, int& len);
|
char* format_amxstring(AMX *amx, cell *params, int parm, int& len);
|
||||||
AMX* get_amxscript(int, void**, const char**);
|
AMX* get_amxscript(int, void**, const char**);
|
||||||
const char* get_amxscriptname(AMX* amx);
|
const char* get_amxscriptname(AMX* amx);
|
||||||
@ -292,8 +292,8 @@ int unload_amxscript(AMX* amx, void** program);
|
|||||||
|
|
||||||
void copy_amxmemory(cell* dest, cell* src, int len);
|
void copy_amxmemory(cell* dest, cell* src, int len);
|
||||||
void get_modname(char*);
|
void get_modname(char*);
|
||||||
void print_srvconsole(const char *fmt, ...);
|
void print_srvconsole(char *fmt, ...);
|
||||||
void report_error(int code, const char* fmt, ...);
|
void report_error(int code, char* fmt, ...);
|
||||||
void* alloc_amxmemory(void**, int size);
|
void* alloc_amxmemory(void**, int size);
|
||||||
void free_amxmemory(void **ptr);
|
void free_amxmemory(void **ptr);
|
||||||
// get_localinfo
|
// get_localinfo
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
* Copyright (c) ITB CompuPhase, 2001-2002
|
* Copyright (c) ITB CompuPhase, 2001-2002
|
||||||
* This file may be freely used. No warranties of any kind.
|
* This file may be freely used. No warranties of any kind.
|
||||||
*
|
*
|
||||||
* Version: $Id: amxtime.cpp 2511 2006-04-06 12:56:45Z damagedsoul $
|
* Version: $Id$
|
||||||
*/
|
*/
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
@ -42,7 +42,7 @@
|
|||||||
#define PACKED
|
#define PACKED
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(__linux__) || defined(__APPLE__)
|
#if defined __linux__
|
||||||
#pragma pack(1) /* structures must be packed (byte-aligned) */
|
#pragma pack(1) /* structures must be packed (byte-aligned) */
|
||||||
#else
|
#else
|
||||||
#pragma pack(1) /* structures must be packed (byte-aligned) */
|
#pragma pack(1) /* structures must be packed (byte-aligned) */
|
||||||
@ -127,7 +127,7 @@ CAmxxReader::CAmxxReader(const char *filename, int cellsize)
|
|||||||
|
|
||||||
for (mint8_t i = 0; i < m_Bh.numPlugins; i++)
|
for (mint8_t i = 0; i < m_Bh.numPlugins; i++)
|
||||||
{
|
{
|
||||||
pe = &(m_Bh.plugins[(unsigned)i]);
|
pe = &(m_Bh.plugins[i]);
|
||||||
DATAREAD(&pe->cellsize, sizeof(mint8_t), 1);
|
DATAREAD(&pe->cellsize, sizeof(mint8_t), 1);
|
||||||
DATAREAD(&pe->disksize, sizeof(int32_t), 1);
|
DATAREAD(&pe->disksize, sizeof(int32_t), 1);
|
||||||
DATAREAD(&pe->imagesize, sizeof(int32_t), 1);
|
DATAREAD(&pe->imagesize, sizeof(int32_t), 1);
|
||||||
@ -137,7 +137,7 @@ CAmxxReader::CAmxxReader(const char *filename, int cellsize)
|
|||||||
|
|
||||||
for (mint8_t i = 0; i < m_Bh.numPlugins; i++)
|
for (mint8_t i = 0; i < m_Bh.numPlugins; i++)
|
||||||
{
|
{
|
||||||
pe = &(m_Bh.plugins[(unsigned)i]);
|
pe = &(m_Bh.plugins[i]);
|
||||||
|
|
||||||
if (pe->cellsize == m_CellSize)
|
if (pe->cellsize == m_CellSize)
|
||||||
{
|
{
|
||||||
|
@ -35,12 +35,12 @@
|
|||||||
// 3 = HL Logs
|
// 3 = HL Logs
|
||||||
|
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
#if defined(_WIN32)
|
#ifndef __linux__
|
||||||
#include <io.h>
|
#include <io.h>
|
||||||
#endif
|
#endif
|
||||||
#include "amxmodx.h"
|
#include "amxmodx.h"
|
||||||
|
|
||||||
#if defined(_WIN32WIN32)
|
#ifndef __linux__
|
||||||
#define vsnprintf _vsnprintf
|
#define vsnprintf _vsnprintf
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -137,7 +137,7 @@ void CLog::MapChange()
|
|||||||
{
|
{
|
||||||
// create dir if not existing
|
// create dir if not existing
|
||||||
char file[256];
|
char file[256];
|
||||||
#if defined(__linux__) || defined(__APPLE__)
|
#ifdef __linux
|
||||||
mkdir(build_pathname_r(file, sizeof(file)-1, "%s", g_log_dir.c_str()), 0700);
|
mkdir(build_pathname_r(file, sizeof(file)-1, "%s", g_log_dir.c_str()), 0700);
|
||||||
#else
|
#else
|
||||||
mkdir(build_pathname_r(file, sizeof(file)-1, "%s", g_log_dir.c_str()));
|
mkdir(build_pathname_r(file, sizeof(file)-1, "%s", g_log_dir.c_str()));
|
||||||
|
@ -46,7 +46,7 @@ bool BinLog::Open()
|
|||||||
if (!DirExists(path))
|
if (!DirExists(path))
|
||||||
{
|
{
|
||||||
mkdir(path
|
mkdir(path
|
||||||
#if defined(__linux__) || defined(__APPLE__)
|
#if defined __linux__
|
||||||
, 0755
|
, 0755
|
||||||
#endif
|
#endif
|
||||||
);
|
);
|
||||||
|
@ -215,7 +215,8 @@ public:
|
|||||||
int ShiftUpFrom(size_t which)
|
int ShiftUpFrom(size_t which)
|
||||||
{
|
{
|
||||||
// No point shifting this.
|
// No point shifting this.
|
||||||
if (which > this->count)
|
if (this->count < 0 ||
|
||||||
|
which > this->count)
|
||||||
{
|
{
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@ -253,7 +254,8 @@ public:
|
|||||||
int Delete(size_t which)
|
int Delete(size_t which)
|
||||||
{
|
{
|
||||||
// No point shifting this.
|
// No point shifting this.
|
||||||
if (which >= this->count)
|
if (this->count < 0 ||
|
||||||
|
which >= this->count)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -289,7 +289,7 @@ void Debugger::BeginExec()
|
|||||||
{
|
{
|
||||||
Tracer *pTracer = new Tracer();
|
Tracer *pTracer = new Tracer();
|
||||||
m_pCalls.push_back(pTracer);
|
m_pCalls.push_back(pTracer);
|
||||||
assert(m_Top == static_cast<int>(m_pCalls.size() - 1));
|
assert(m_Top == (m_pCalls.size() - 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
m_pCalls[m_Top]->Reset();
|
m_pCalls[m_Top]->Reset();
|
||||||
@ -614,9 +614,9 @@ void Debugger::FmtGenericMsg(AMX *amx, int error, char buffer[], size_t maxLengt
|
|||||||
if (a)
|
if (a)
|
||||||
filename = (*a).getName();
|
filename = (*a).getName();
|
||||||
size_t len = strlen(filename);
|
size_t len = strlen(filename);
|
||||||
for (size_t i=len-1; i<len; i--)
|
for (size_t i=len-1; i>=0; i--)
|
||||||
{
|
{
|
||||||
if ((filename[i] == '/' || filename[i] == '\\') && i != len - 1)
|
if (filename[i] == '/' || filename[i] == '\\' && i != len - 1)
|
||||||
{
|
{
|
||||||
filename = &(filename[i+1]);
|
filename = &(filename[i+1]);
|
||||||
break;
|
break;
|
||||||
|
@ -109,7 +109,6 @@ void Client_TeamInfo(void* mValue)
|
|||||||
char* msg = (char*)mValue;
|
char* msg = (char*)mValue;
|
||||||
g_players[index].team.assign(msg);
|
g_players[index].team.assign(msg);
|
||||||
g_teamsIds.registerTeam(msg, -1);
|
g_teamsIds.registerTeam(msg, -1);
|
||||||
g_players[index].teamId = g_teamsIds.findTeamId(msg);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -43,7 +43,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
// header file for unlink()
|
// header file for unlink()
|
||||||
#if defined(__linux__) || defined(__APPLE__)
|
#ifdef __linux__
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#else
|
#else
|
||||||
#define WINDOWS_LEAN_AND_MEAN
|
#define WINDOWS_LEAN_AND_MEAN
|
||||||
@ -516,7 +516,7 @@ static cell AMX_NATIVE_CALL amx_fread_blocks(AMX *amx, cell *params)
|
|||||||
|
|
||||||
cell *addr = get_amxaddr(amx, params[2]);
|
cell *addr = get_amxaddr(amx, params[2]);
|
||||||
size_t blocks = params[3];
|
size_t blocks = params[3];
|
||||||
switch (params[4])
|
switch (params[3])
|
||||||
{
|
{
|
||||||
case 1: //char
|
case 1: //char
|
||||||
{
|
{
|
||||||
@ -784,7 +784,7 @@ static cell AMX_NATIVE_CALL amx_ungetc(AMX *amx, cell *params)
|
|||||||
return ungetc(static_cast<int>(params[2]), fp);
|
return ungetc(static_cast<int>(params[2]), fp);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(__linux__) || defined(__APPLE__)
|
#if defined __linux__
|
||||||
#define _rmdir rmdir
|
#define _rmdir rmdir
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -817,7 +817,7 @@ static cell AMX_NATIVE_CALL amx_rename(AMX *amx, cell *params)
|
|||||||
snprintf(f_new_r, sizeof(f_new_r)-1, "%s", fnew);
|
snprintf(f_new_r, sizeof(f_new_r)-1, "%s", fnew);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(__linux__) || defined(__APPLE__)
|
#if defined __linux__
|
||||||
return (rename(f_old_r, f_new_r) == 0);
|
return (rename(f_old_r, f_new_r) == 0);
|
||||||
#elif defined WIN32
|
#elif defined WIN32
|
||||||
return MoveFileA(f_old_r, f_new_r);
|
return MoveFileA(f_old_r, f_new_r);
|
||||||
@ -855,13 +855,6 @@ static cell LoadFileForMe(AMX *amx, cell *params)
|
|||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
|
|
||||||
static cell AMX_NATIVE_CALL amx_fflush(AMX *amx, cell *params)
|
|
||||||
{
|
|
||||||
FILE *fp = (FILE *)params[1];
|
|
||||||
|
|
||||||
return fflush(fp);
|
|
||||||
}
|
|
||||||
|
|
||||||
AMX_NATIVE_INFO file_Natives[] =
|
AMX_NATIVE_INFO file_Natives[] =
|
||||||
{
|
{
|
||||||
{"delete_file", delete_file},
|
{"delete_file", delete_file},
|
||||||
@ -898,6 +891,5 @@ AMX_NATIVE_INFO file_Natives[] =
|
|||||||
{"fputs", amx_fputs},
|
{"fputs", amx_fputs},
|
||||||
{"rename_file", amx_rename},
|
{"rename_file", amx_rename},
|
||||||
{"LoadFileForMe", LoadFileForMe},
|
{"LoadFileForMe", LoadFileForMe},
|
||||||
{"fflush", amx_fflush},
|
|
||||||
{NULL, NULL}
|
{NULL, NULL}
|
||||||
};
|
};
|
||||||
|
@ -29,11 +29,6 @@
|
|||||||
return 0; \
|
return 0; \
|
||||||
}
|
}
|
||||||
|
|
||||||
template size_t atcprintf<cell, cell>(cell *, size_t, const cell *, AMX *, cell *, int *);
|
|
||||||
template size_t atcprintf<char, cell>(char *, size_t, const cell *, AMX *, cell *, int *);
|
|
||||||
template size_t atcprintf<cell, char>(cell *, size_t, const char *, AMX *, cell *, int *);
|
|
||||||
template size_t atcprintf<char, char>(char *, size_t, const char *, AMX *, cell *, int *);
|
|
||||||
|
|
||||||
THash<String, lang_err> BadLang_Table;
|
THash<String, lang_err> BadLang_Table;
|
||||||
|
|
||||||
static cvar_t *amx_mldebug = NULL;
|
static cvar_t *amx_mldebug = NULL;
|
||||||
@ -165,125 +160,71 @@ void AddString(U **buf_p, size_t &maxlen, const cell *string, int width, int pre
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <typename U>
|
template <typename U>
|
||||||
void AddFloat(U **buf_p, size_t &maxlen, double fval, int width, int prec, int flags)
|
void AddFloat(U **buf_p, size_t &maxlen, double fval, int width, int prec)
|
||||||
{
|
{
|
||||||
int digits; // non-fraction part digits
|
U text[32];
|
||||||
double tmp; // temporary
|
int digits;
|
||||||
U *buf = *buf_p; // output buffer pointer
|
double signedVal;
|
||||||
int val; // temporary
|
U *buf;
|
||||||
int sign = 0; // 0: positive, 1: negative
|
int val;
|
||||||
int fieldlength; // for padding
|
|
||||||
int significant_digits = 0; // number of significant digits written
|
|
||||||
const int MAX_SIGNIFICANT_DIGITS = 16;
|
|
||||||
|
|
||||||
// default precision
|
|
||||||
if (prec < 0)
|
|
||||||
{
|
|
||||||
prec = 6;
|
|
||||||
}
|
|
||||||
|
|
||||||
// get the sign
|
// get the sign
|
||||||
|
signedVal = fval;
|
||||||
if (fval < 0)
|
if (fval < 0)
|
||||||
{
|
|
||||||
fval = -fval;
|
fval = -fval;
|
||||||
sign = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
// compute whole-part digits count
|
// write the float number
|
||||||
digits = (int)log10(fval) + 1;
|
digits = 0;
|
||||||
|
val = (int)fval;
|
||||||
|
do {
|
||||||
|
text[digits++] = '0' + val % 10;
|
||||||
|
val /= 10;
|
||||||
|
} while (val);
|
||||||
|
|
||||||
// Only print 0.something if 0 < fval < 1
|
if (signedVal < 0)
|
||||||
if (digits < 1)
|
text[digits++] = '-';
|
||||||
|
|
||||||
|
buf = *buf_p;
|
||||||
|
|
||||||
|
while (digits < width && maxlen)
|
||||||
{
|
{
|
||||||
digits = 1;
|
*buf++ = ' ';
|
||||||
}
|
width--;
|
||||||
|
|
||||||
// compute the field length
|
|
||||||
fieldlength = digits + prec + ((prec > 0) ? 1 : 0) + sign;
|
|
||||||
|
|
||||||
// minus sign BEFORE left padding if padding with zeros
|
|
||||||
if (sign && maxlen && (flags & ZEROPAD))
|
|
||||||
{
|
|
||||||
*buf++ = '-';
|
|
||||||
maxlen--;
|
maxlen--;
|
||||||
}
|
}
|
||||||
|
|
||||||
// right justify if required
|
while (digits-- && maxlen)
|
||||||
if ((flags & LADJUST) == 0)
|
|
||||||
{
|
{
|
||||||
while ((fieldlength < width) && maxlen)
|
*buf++ = text[digits];
|
||||||
{
|
|
||||||
*buf++ = (flags & ZEROPAD) ? '0' : ' ';
|
|
||||||
width--;
|
|
||||||
maxlen--;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// minus sign AFTER left padding if padding with spaces
|
|
||||||
if (sign && maxlen && !(flags & ZEROPAD))
|
|
||||||
{
|
|
||||||
*buf++ = '-';
|
|
||||||
maxlen--;
|
maxlen--;
|
||||||
}
|
}
|
||||||
|
|
||||||
// write the whole part
|
*buf_p = buf;
|
||||||
tmp = pow(10.0, digits-1);
|
|
||||||
while ((digits--) && maxlen)
|
if (prec < 0)
|
||||||
|
prec = 6;
|
||||||
|
// write the fraction
|
||||||
|
digits = 0;
|
||||||
|
while (digits < prec)
|
||||||
{
|
{
|
||||||
if (++significant_digits > MAX_SIGNIFICANT_DIGITS)
|
fval -= (int) fval;
|
||||||
{
|
fval *= 10.0;
|
||||||
*buf++ = '0';
|
val = (int) fval;
|
||||||
}
|
text[digits++] = '0' + val % 10;
|
||||||
else
|
|
||||||
{
|
|
||||||
val = (int)(fval / tmp);
|
|
||||||
*buf++ = '0' + val;
|
|
||||||
fval -= val * tmp;
|
|
||||||
tmp *= 0.1;
|
|
||||||
}
|
|
||||||
maxlen--;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// write the fraction part
|
if (digits > 0 && maxlen)
|
||||||
if (maxlen && prec)
|
|
||||||
{
|
{
|
||||||
|
buf = *buf_p;
|
||||||
*buf++ = '.';
|
*buf++ = '.';
|
||||||
maxlen--;
|
maxlen--;
|
||||||
}
|
for (prec = 0; maxlen && prec < digits; prec++)
|
||||||
|
|
||||||
tmp = pow(10.0, prec);
|
|
||||||
|
|
||||||
fval *= tmp;
|
|
||||||
while (prec-- && maxlen)
|
|
||||||
{
|
|
||||||
if (++significant_digits > MAX_SIGNIFICANT_DIGITS)
|
|
||||||
{
|
{
|
||||||
*buf++ = '0';
|
*buf++ = text[prec];
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
tmp *= 0.1;
|
|
||||||
val = (int)(fval / tmp);
|
|
||||||
*buf++ = '0' + val;
|
|
||||||
fval -= val * tmp;
|
|
||||||
}
|
|
||||||
maxlen--;
|
|
||||||
}
|
|
||||||
|
|
||||||
// left justify if required
|
|
||||||
if (flags & LADJUST)
|
|
||||||
{
|
|
||||||
while ((fieldlength < width) && maxlen)
|
|
||||||
{
|
|
||||||
// right-padding only with spaces, ZEROPAD is ignored
|
|
||||||
*buf++ = ' ';
|
|
||||||
width--;
|
|
||||||
maxlen--;
|
maxlen--;
|
||||||
}
|
}
|
||||||
|
*buf_p = buf;
|
||||||
}
|
}
|
||||||
|
|
||||||
// update parent's buffer pointer
|
|
||||||
*buf_p = buf;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename U>
|
template <typename U>
|
||||||
@ -540,7 +481,7 @@ reswitch:
|
|||||||
break;
|
break;
|
||||||
case 'f':
|
case 'f':
|
||||||
CHECK_ARGS(0);
|
CHECK_ARGS(0);
|
||||||
AddFloat(&buf_p, llen, amx_ctof(*get_amxaddr(amx, params[arg])), width, prec, flags);
|
AddFloat(&buf_p, llen, amx_ctof(*get_amxaddr(amx, params[arg])), width, prec);
|
||||||
arg++;
|
arg++;
|
||||||
break;
|
break;
|
||||||
case 'X':
|
case 'X':
|
||||||
|
@ -43,7 +43,7 @@ _amxx_CpuSupport:
|
|||||||
.fail:
|
.fail:
|
||||||
xor eax, eax
|
xor eax, eax
|
||||||
|
|
||||||
.end:
|
.end
|
||||||
|
|
||||||
pop ebx
|
pop ebx
|
||||||
|
|
||||||
|
@ -185,7 +185,7 @@ unsigned char *MD5::raw_digest(){
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
const char *MD5::hex_digest(){
|
char *MD5::hex_digest(){
|
||||||
|
|
||||||
int i;
|
int i;
|
||||||
char *s= new char[33];
|
char *s= new char[33];
|
||||||
@ -205,7 +205,7 @@ const char *MD5::hex_digest(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const char *MD5::hex_digest(char buffer[33]){
|
char *MD5::hex_digest(char buffer[33]){
|
||||||
|
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
@ -59,8 +59,8 @@ public:
|
|||||||
|
|
||||||
// methods to acquire finalized result
|
// methods to acquire finalized result
|
||||||
unsigned char *raw_digest (); // digest as a 16-byte binary array
|
unsigned char *raw_digest (); // digest as a 16-byte binary array
|
||||||
const char *hex_digest (); // digest as a 33-byte ascii-hex string
|
char * hex_digest (); // digest as a 33-byte ascii-hex string
|
||||||
const char *hex_digest (char buffer[33]); //same as above, passing buffer
|
char * hex_digest (char buffer[33]); //same as above, passing buffer
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -2,8 +2,7 @@
|
|||||||
#include "messages.h"
|
#include "messages.h"
|
||||||
|
|
||||||
Message Msg;
|
Message Msg;
|
||||||
//CVector<int> msgHooks[256];
|
CVector<int> msgHooks[256];
|
||||||
RegisteredMessage msgHooks[256];
|
|
||||||
int msgBlocks[256] = {BLOCK_NOT};
|
int msgBlocks[256] = {BLOCK_NOT};
|
||||||
int msgDest;
|
int msgDest;
|
||||||
int msgType;
|
int msgType;
|
||||||
@ -17,7 +16,7 @@ void ClearMessages()
|
|||||||
{
|
{
|
||||||
for (size_t i=0; i<MAX_MESSAGES; i++)
|
for (size_t i=0; i<MAX_MESSAGES; i++)
|
||||||
{
|
{
|
||||||
msgHooks[i].Clear();
|
msgHooks[i].clear();
|
||||||
msgBlocks[i] = BLOCK_NOT;
|
msgBlocks[i] = BLOCK_NOT;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -201,7 +200,7 @@ void C_MessageBegin(int msg_dest, int msg_type, const float *pOrigin, edict_t *e
|
|||||||
inblock = true;
|
inblock = true;
|
||||||
msgType = msg_type;
|
msgType = msg_type;
|
||||||
RETURN_META(MRES_SUPERCEDE);
|
RETURN_META(MRES_SUPERCEDE);
|
||||||
} else if (msgHooks[msg_type].Hooked()) {
|
} else if (msgHooks[msg_type].size()) {
|
||||||
inhook = true;
|
inhook = true;
|
||||||
msgDest = msg_dest;
|
msgDest = msg_dest;
|
||||||
msgType = msg_type;
|
msgType = msg_type;
|
||||||
@ -319,8 +318,8 @@ void C_WriteEntity(int iValue)
|
|||||||
|
|
||||||
void C_MessageEnd(void)
|
void C_MessageEnd(void)
|
||||||
{
|
{
|
||||||
int mres = 0;
|
int mres = 0, mresB = 0;
|
||||||
|
unsigned int i = 0;
|
||||||
if (inblock)
|
if (inblock)
|
||||||
{
|
{
|
||||||
inblock = false;
|
inblock = false;
|
||||||
@ -330,17 +329,12 @@ void C_MessageEnd(void)
|
|||||||
}
|
}
|
||||||
RETURN_META(MRES_SUPERCEDE);
|
RETURN_META(MRES_SUPERCEDE);
|
||||||
} else if (inhook) {
|
} else if (inhook) {
|
||||||
|
|
||||||
mres = msgHooks[msgType].Execute((cell)msgType, (cell)msgDest, (cell)ENTINDEX(msgpEntity));
|
|
||||||
|
|
||||||
/*
|
|
||||||
for (i=0; i<msgHooks[msgType].size(); i++)
|
for (i=0; i<msgHooks[msgType].size(); i++)
|
||||||
{
|
{
|
||||||
mresB = executeForwards(msgHooks[msgType].at(i), (cell)msgType, (cell)msgDest, (cell)ENTINDEX(msgpEntity));
|
mresB = executeForwards(msgHooks[msgType].at(i), (cell)msgType, (cell)msgDest, (cell)ENTINDEX(msgpEntity));
|
||||||
if (mresB > mres)
|
if (mresB > mres)
|
||||||
mres = mresB;
|
mres = mresB;
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
inhook = false;
|
inhook = false;
|
||||||
if (mres & 1)
|
if (mres & 1)
|
||||||
{
|
{
|
||||||
@ -483,7 +477,7 @@ static cell AMX_NATIVE_CALL register_message(AMX *amx, cell *params)
|
|||||||
int id = registerSPForwardByName(amx, name, FP_CELL, FP_CELL, FP_CELL, FP_CELL, FP_DONE);
|
int id = registerSPForwardByName(amx, name, FP_CELL, FP_CELL, FP_CELL, FP_CELL, FP_DONE);
|
||||||
if (id != -1)
|
if (id != -1)
|
||||||
{
|
{
|
||||||
msgHooks[params[1]].AddHook(id);
|
msgHooks[params[1]].push_back(id);
|
||||||
return id;
|
return id;
|
||||||
} else {
|
} else {
|
||||||
LogError(amx, AMX_ERR_NOTFOUND, "Could not find function \"%s\"", name);
|
LogError(amx, AMX_ERR_NOTFOUND, "Could not find function \"%s\"", name);
|
||||||
@ -494,29 +488,6 @@ static cell AMX_NATIVE_CALL register_message(AMX *amx, cell *params)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// unregister_message(msgid, msghandle)
|
|
||||||
static cell AMX_NATIVE_CALL unregister_message(AMX *amx, cell *params)
|
|
||||||
{
|
|
||||||
if (!Msg.Ready())
|
|
||||||
Msg.Init();
|
|
||||||
|
|
||||||
if (params[1]>0 && params[1] < 256)
|
|
||||||
{
|
|
||||||
int id = params[2];
|
|
||||||
if (id != -1)
|
|
||||||
{
|
|
||||||
msgHooks[params[1]].RemoveHook(id);
|
|
||||||
return id;
|
|
||||||
} else {
|
|
||||||
LogError(amx, AMX_ERR_NOTFOUND, "Invalid registered message handle");
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static cell AMX_NATIVE_CALL set_msg_block(AMX *amx, cell *params)
|
static cell AMX_NATIVE_CALL set_msg_block(AMX *amx, cell *params)
|
||||||
{
|
{
|
||||||
int msgid = params[1];
|
int msgid = params[1];
|
||||||
@ -804,7 +775,6 @@ AMX_NATIVE_INFO msg_Natives[] =
|
|||||||
{"write_string", write_string},
|
{"write_string", write_string},
|
||||||
|
|
||||||
{"register_message", register_message},
|
{"register_message", register_message},
|
||||||
{"unregister_message", unregister_message},
|
|
||||||
|
|
||||||
{"set_msg_block", set_msg_block},
|
{"set_msg_block", set_msg_block},
|
||||||
{"get_msg_block", get_msg_block},
|
{"get_msg_block", get_msg_block},
|
||||||
|
@ -6,7 +6,6 @@
|
|||||||
#include "amx.h"
|
#include "amx.h"
|
||||||
#include "CVector.h"
|
#include "CVector.h"
|
||||||
#include "CString.h"
|
#include "CString.h"
|
||||||
#include "sh_stack.h"
|
|
||||||
|
|
||||||
#define MAX_MESSAGES 255
|
#define MAX_MESSAGES 255
|
||||||
|
|
||||||
@ -16,136 +15,6 @@
|
|||||||
#define BLOCK_ONCE 1
|
#define BLOCK_ONCE 1
|
||||||
#define BLOCK_SET 2
|
#define BLOCK_SET 2
|
||||||
|
|
||||||
class RegisteredMessage
|
|
||||||
{
|
|
||||||
private:
|
|
||||||
CVector<int> m_Forwards;
|
|
||||||
CStack<int> m_InExecution;
|
|
||||||
bool m_Cleanup;
|
|
||||||
|
|
||||||
public:
|
|
||||||
RegisteredMessage() : m_Cleanup(false) { }
|
|
||||||
~RegisteredMessage() { this->Clear(); }
|
|
||||||
|
|
||||||
void AddHook(int fwd)
|
|
||||||
{
|
|
||||||
m_Forwards.push_back(fwd);
|
|
||||||
}
|
|
||||||
bool RemoveHook(int fwd)
|
|
||||||
{
|
|
||||||
// Don't erase a forward if we're in the middle of execution; this
|
|
||||||
// could throw off the iterator that is going through the forwards
|
|
||||||
// and executing them. Instead, unregister the forward and set it
|
|
||||||
// to -1 from within the vector.
|
|
||||||
if (m_InExecution.size())
|
|
||||||
{
|
|
||||||
this->m_Cleanup = true;
|
|
||||||
|
|
||||||
CVector<int>::iterator iter = m_Forwards.begin();
|
|
||||||
CVector<int>::iterator end = m_Forwards.end();
|
|
||||||
while (iter != end)
|
|
||||||
{
|
|
||||||
if (*iter == fwd)
|
|
||||||
{
|
|
||||||
if (*iter != -1)
|
|
||||||
{
|
|
||||||
unregisterSPForward(*iter);
|
|
||||||
}
|
|
||||||
*iter = -1;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
iter++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
CVector<int>::iterator iter = m_Forwards.begin();
|
|
||||||
CVector<int>::iterator end = m_Forwards.end();
|
|
||||||
while (iter != end)
|
|
||||||
{
|
|
||||||
if (*iter == fwd)
|
|
||||||
{
|
|
||||||
if (fwd != -1)
|
|
||||||
{
|
|
||||||
unregisterSPForward(fwd);
|
|
||||||
|
|
||||||
m_Forwards.erase(iter);
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// -1 could be in here more than once
|
|
||||||
m_Forwards.erase(iter);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
iter++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
void Clear()
|
|
||||||
{
|
|
||||||
while (m_InExecution.size())
|
|
||||||
{
|
|
||||||
m_InExecution.pop();
|
|
||||||
}
|
|
||||||
for (size_t i = 0; i < m_Forwards.size(); i++)
|
|
||||||
{
|
|
||||||
int fwd = m_Forwards[i];
|
|
||||||
|
|
||||||
if (fwd != -1)
|
|
||||||
{
|
|
||||||
unregisterSPForward(m_Forwards[i]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
m_Forwards.clear();
|
|
||||||
}
|
|
||||||
|
|
||||||
cell Execute(cell type, cell dest, cell entity)
|
|
||||||
{
|
|
||||||
m_InExecution.push(1);
|
|
||||||
cell res = 0;
|
|
||||||
cell thisres = 0;
|
|
||||||
for (size_t i = 0; i < m_Forwards.size(); i++)
|
|
||||||
{
|
|
||||||
int fwd = m_Forwards[i];
|
|
||||||
|
|
||||||
if (fwd != -1)
|
|
||||||
{
|
|
||||||
thisres = executeForwards(fwd, type, dest, entity);
|
|
||||||
if (thisres > res)
|
|
||||||
{
|
|
||||||
res = thisres;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
m_InExecution.pop();
|
|
||||||
|
|
||||||
if (m_InExecution.size() == 0 && m_Cleanup)
|
|
||||||
{
|
|
||||||
this->RemoveHook(-1);
|
|
||||||
}
|
|
||||||
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
bool Hooked() const
|
|
||||||
{
|
|
||||||
return m_Forwards.size() != 0;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
enum msgtype
|
enum msgtype
|
||||||
{
|
{
|
||||||
arg_byte = 1,
|
arg_byte = 1,
|
||||||
@ -207,7 +76,7 @@ void C_WriteString(const char *sz);
|
|||||||
void C_WriteEntity(int iValue);
|
void C_WriteEntity(int iValue);
|
||||||
void C_MessageEnd(void);
|
void C_MessageEnd(void);
|
||||||
|
|
||||||
extern RegisteredMessage msgHooks[256];
|
extern CVector<int> msgHooks[256];
|
||||||
extern int msgBlocks[256];
|
extern int msgBlocks[256];
|
||||||
|
|
||||||
void ClearMessages();
|
void ClearMessages();
|
||||||
|
@ -51,7 +51,7 @@
|
|||||||
#include "datastructs.h"
|
#include "datastructs.h"
|
||||||
#include "CFlagManager.h"
|
#include "CFlagManager.h"
|
||||||
#include "svn_version.h"
|
#include "svn_version.h"
|
||||||
#include "trie_natives.h"
|
|
||||||
|
|
||||||
plugin_info_t Plugin_info =
|
plugin_info_t Plugin_info =
|
||||||
{
|
{
|
||||||
@ -198,7 +198,7 @@ void BuildPluginFileList(const char *initialdir, CStack<String *> & files)
|
|||||||
}
|
}
|
||||||
|
|
||||||
_findclose(handle);
|
_findclose(handle);
|
||||||
#elif defined(__linux__) || defined(__APPLE__)
|
#elif defined __linux__
|
||||||
build_pathname_r(path, sizeof(path)-1, "%s/", initialdir);
|
build_pathname_r(path, sizeof(path)-1, "%s/", initialdir);
|
||||||
struct dirent *ep;
|
struct dirent *ep;
|
||||||
DIR *dp;
|
DIR *dp;
|
||||||
@ -254,7 +254,7 @@ void LoadExtraPluginsFromDir(const char *initialdir)
|
|||||||
|
|
||||||
// Precache stuff from force consistency calls
|
// Precache stuff from force consistency calls
|
||||||
// or check for pointed files won't be done
|
// or check for pointed files won't be done
|
||||||
int C_PrecacheModel(const char *s)
|
int C_PrecacheModel(char *s)
|
||||||
{
|
{
|
||||||
if (!g_forcedmodules)
|
if (!g_forcedmodules)
|
||||||
{
|
{
|
||||||
@ -269,7 +269,7 @@ int C_PrecacheModel(const char *s)
|
|||||||
RETURN_META_VALUE(MRES_IGNORED, 0);
|
RETURN_META_VALUE(MRES_IGNORED, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
int C_PrecacheSound(const char *s)
|
int C_PrecacheSound(char *s)
|
||||||
{
|
{
|
||||||
if (!g_forcedsounds)
|
if (!g_forcedsounds)
|
||||||
{
|
{
|
||||||
@ -412,7 +412,6 @@ int C_Spawn(edict_t *pent)
|
|||||||
};
|
};
|
||||||
VectorHolder.clear();
|
VectorHolder.clear();
|
||||||
|
|
||||||
g_TrieHandles.clear();
|
|
||||||
char map_pluginsfile_path[256];
|
char map_pluginsfile_path[256];
|
||||||
char prefixed_map_pluginsfile[256];
|
char prefixed_map_pluginsfile[256];
|
||||||
char configs_dir[256];
|
char configs_dir[256];
|
||||||
@ -731,7 +730,7 @@ void C_ServerDeactivate_Post()
|
|||||||
time(&td);
|
time(&td);
|
||||||
tm *curTime = localtime(&td);
|
tm *curTime = localtime(&td);
|
||||||
int i = 0;
|
int i = 0;
|
||||||
#if defined(__linux__) || defined(__APPLE__)
|
#ifdef __linux__
|
||||||
mkdir(build_pathname("%s/memreports", get_localinfo("amxx_basedir", "addons/amxmodx")), 0700);
|
mkdir(build_pathname("%s/memreports", get_localinfo("amxx_basedir", "addons/amxmodx")), 0700);
|
||||||
#else
|
#else
|
||||||
mkdir(build_pathname("%s/memreports", get_localinfo("amxx_basedir", "addons/amxmodx")));
|
mkdir(build_pathname("%s/memreports", get_localinfo("amxx_basedir", "addons/amxmodx")));
|
||||||
@ -740,7 +739,7 @@ void C_ServerDeactivate_Post()
|
|||||||
{
|
{
|
||||||
char buffer[256];
|
char buffer[256];
|
||||||
sprintf(buffer, "%s/memreports/D%02d%02d%03d", get_localinfo("amxx_basedir", "addons/amxmodx"), curTime->tm_mon + 1, curTime->tm_mday, i);
|
sprintf(buffer, "%s/memreports/D%02d%02d%03d", get_localinfo("amxx_basedir", "addons/amxmodx"), curTime->tm_mon + 1, curTime->tm_mday, i);
|
||||||
#if defined(__linux__) || defined(__APPLE__)
|
#ifdef __linux__
|
||||||
mkdir(build_pathname("%s", g_log_dir.c_str()), 0700);
|
mkdir(build_pathname("%s", g_log_dir.c_str()), 0700);
|
||||||
if (mkdir(build_pathname(buffer), 0700) < 0)
|
if (mkdir(build_pathname(buffer), 0700) < 0)
|
||||||
#else
|
#else
|
||||||
@ -1083,7 +1082,7 @@ void C_StartFrame_Post(void)
|
|||||||
tm *curTime = localtime(&td);
|
tm *curTime = localtime(&td);
|
||||||
|
|
||||||
int i = 0;
|
int i = 0;
|
||||||
#if defined(__linux__) || defined(__APPLE__)
|
#ifdef __linux__
|
||||||
mkdir(build_pathname("%s/memreports", get_localinfo("amxx_basedir", "addons/amxmodx")), 0700);
|
mkdir(build_pathname("%s/memreports", get_localinfo("amxx_basedir", "addons/amxmodx")), 0700);
|
||||||
#else
|
#else
|
||||||
mkdir(build_pathname("%s/memreports", get_localinfo("amxx_basedir", "addons/amxmodx")));
|
mkdir(build_pathname("%s/memreports", get_localinfo("amxx_basedir", "addons/amxmodx")));
|
||||||
@ -1092,7 +1091,7 @@ void C_StartFrame_Post(void)
|
|||||||
{
|
{
|
||||||
char buffer[256];
|
char buffer[256];
|
||||||
sprintf(buffer, "%s/memreports/D%02d%02d%03d", get_localinfo("amxx_basedir", "addons/amxmodx"), curTime->tm_mon + 1, curTime->tm_mday, i);
|
sprintf(buffer, "%s/memreports/D%02d%02d%03d", get_localinfo("amxx_basedir", "addons/amxmodx"), curTime->tm_mon + 1, curTime->tm_mday, i);
|
||||||
#if defined(__linux__) || defined(__APPLE__)
|
#ifdef __linux__
|
||||||
mkdir(build_pathname("%s", g_log_dir.c_str()), 0700);
|
mkdir(build_pathname("%s", g_log_dir.c_str()), 0700);
|
||||||
if (mkdir(build_pathname(buffer), 0700) < 0)
|
if (mkdir(build_pathname(buffer), 0700) < 0)
|
||||||
#else
|
#else
|
||||||
@ -1285,7 +1284,7 @@ void C_TraceLine_Post(const float *v1, const float *v2, int fNoMonsters, edict_t
|
|||||||
RETURN_META(MRES_IGNORED);
|
RETURN_META(MRES_IGNORED);
|
||||||
}
|
}
|
||||||
|
|
||||||
void C_AlertMessage(ALERT_TYPE atype, const char *szFmt, ...)
|
void C_AlertMessage(ALERT_TYPE atype, char *szFmt, ...)
|
||||||
{
|
{
|
||||||
if (atype != at_logged)
|
if (atype != at_logged)
|
||||||
{
|
{
|
||||||
@ -1329,7 +1328,7 @@ void C_AlertMessage(ALERT_TYPE atype, const char *szFmt, ...)
|
|||||||
RETURN_META(MRES_IGNORED);
|
RETURN_META(MRES_IGNORED);
|
||||||
}
|
}
|
||||||
|
|
||||||
void C_ChangeLevel(const char *map, const char *what)
|
void C_ChangeLevel(char *map, char *what)
|
||||||
{
|
{
|
||||||
int ret = executeForwards(FF_ChangeLevel, map);
|
int ret = executeForwards(FF_ChangeLevel, map);
|
||||||
if (ret)
|
if (ret)
|
||||||
@ -1371,7 +1370,7 @@ void C_CvarValue2(const edict_t *pEdict, int requestId, const char *cvar, const
|
|||||||
RETURN_META(MRES_HANDLED);
|
RETURN_META(MRES_HANDLED);
|
||||||
}
|
}
|
||||||
|
|
||||||
C_DLLEXPORT int Meta_Query(const char *ifvers, plugin_info_t **pPlugInfo, mutil_funcs_t *pMetaUtilFuncs)
|
C_DLLEXPORT int Meta_Query(char *ifvers, plugin_info_t **pPlugInfo, mutil_funcs_t *pMetaUtilFuncs)
|
||||||
{
|
{
|
||||||
gpMetaUtilFuncs = pMetaUtilFuncs;
|
gpMetaUtilFuncs = pMetaUtilFuncs;
|
||||||
*pPlugInfo = &Plugin_info;
|
*pPlugInfo = &Plugin_info;
|
||||||
@ -1535,7 +1534,7 @@ C_DLLEXPORT int Meta_Detach(PLUG_LOADTIME now, PL_UNLOAD_REASON reason)
|
|||||||
return (TRUE);
|
return (TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(__linux__) || defined(__APPLE__)
|
#ifdef __linux__
|
||||||
// linux prototype
|
// linux prototype
|
||||||
C_DLLEXPORT void GiveFnptrsToDll(enginefuncs_t* pengfuncsFromEngine, globalvars_t *pGlobals)
|
C_DLLEXPORT void GiveFnptrsToDll(enginefuncs_t* pengfuncsFromEngine, globalvars_t *pGlobals)
|
||||||
{
|
{
|
||||||
|
@ -29,11 +29,8 @@
|
|||||||
* version.
|
* version.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if defined(__linux__) || defined(__APPLE__)
|
#ifdef __linux__
|
||||||
#if defined(__linux__)
|
|
||||||
#include <malloc.h>
|
#include <malloc.h>
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <sys/mman.h>
|
#include <sys/mman.h>
|
||||||
#include "sclinux.h"
|
#include "sclinux.h"
|
||||||
@ -52,7 +49,6 @@
|
|||||||
#include "libraries.h"
|
#include "libraries.h"
|
||||||
#include "messages.h"
|
#include "messages.h"
|
||||||
#include "amxmod_compat.h"
|
#include "amxmod_compat.h"
|
||||||
#include "trie_natives.h"
|
|
||||||
|
|
||||||
CList<CModule, const char*> g_modules;
|
CList<CModule, const char*> g_modules;
|
||||||
CList<CScript, AMX*> g_loadedscripts;
|
CList<CScript, AMX*> g_loadedscripts;
|
||||||
@ -89,7 +85,7 @@ bool DirExists(const char *dir)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void report_error(int code, const char* fmt, ...)
|
void report_error(int code, char* fmt, ...)
|
||||||
{
|
{
|
||||||
va_list argptr;
|
va_list argptr;
|
||||||
char string[256];
|
char string[256];
|
||||||
@ -109,7 +105,7 @@ void report_error(int code, const char* fmt, ...)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void print_srvconsole(const char *fmt, ...)
|
void print_srvconsole(char *fmt, ...)
|
||||||
{
|
{
|
||||||
va_list argptr;
|
va_list argptr;
|
||||||
static char string[384];
|
static char string[384];
|
||||||
@ -343,14 +339,11 @@ int load_amxscript(AMX *amx, void **program, const char *filename, char error[64
|
|||||||
if ((err = amx_InitJIT(amx, (void *)rt, (void *)np)) == AMX_ERR_NONE)
|
if ((err = amx_InitJIT(amx, (void *)rt, (void *)np)) == AMX_ERR_NONE)
|
||||||
{
|
{
|
||||||
//amx->base = (unsigned char FAR *)realloc(np, amx->code_size);
|
//amx->base = (unsigned char FAR *)realloc(np, amx->code_size);
|
||||||
#if defined(_WIN32)
|
#ifndef __linux__
|
||||||
amx->base = (unsigned char *)VirtualAlloc(NULL, amx->code_size, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
|
amx->base = (unsigned char *)VirtualAlloc(NULL, amx->code_size, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
|
||||||
#elif defined(__GNUC__)
|
#else
|
||||||
# if defined(__APPLE__)
|
//posix_memalign((void **)&(amx->base), sysconf(_SC_PAGESIZE), amx->code_size);
|
||||||
amx->base = (unsigned char *)valloc(amx->code_size);
|
|
||||||
# else
|
|
||||||
amx->base = (unsigned char *)memalign(sysconf(_SC_PAGESIZE), amx->code_size);
|
amx->base = (unsigned char *)memalign(sysconf(_SC_PAGESIZE), amx->code_size);
|
||||||
# endif
|
|
||||||
mprotect((void *)amx->base, amx->code_size, PROT_READ|PROT_WRITE|PROT_EXEC);
|
mprotect((void *)amx->base, amx->code_size, PROT_READ|PROT_WRITE|PROT_EXEC);
|
||||||
#endif
|
#endif
|
||||||
if (amx->base)
|
if (amx->base)
|
||||||
@ -586,7 +579,6 @@ int set_amxnatives(AMX* amx, char error[128])
|
|||||||
amx_Register(amx, vector_Natives, -1);
|
amx_Register(amx, vector_Natives, -1);
|
||||||
amx_Register(amx, g_SortNatives, -1);
|
amx_Register(amx, g_SortNatives, -1);
|
||||||
amx_Register(amx, g_DataStructNatives, -1);
|
amx_Register(amx, g_DataStructNatives, -1);
|
||||||
amx_Register(amx, trie_Natives, -1);
|
|
||||||
|
|
||||||
if (amx->flags & AMX_FLAG_OLDFILE)
|
if (amx->flags & AMX_FLAG_OLDFILE)
|
||||||
{
|
{
|
||||||
@ -647,7 +639,7 @@ int unload_amxscript(AMX* amx, void** program)
|
|||||||
return AMX_ERR_NONE;
|
return AMX_ERR_NONE;
|
||||||
|
|
||||||
#if defined JIT
|
#if defined JIT
|
||||||
#if defined(__linux__) || defined(__APPLE__)
|
#if defined __linux__
|
||||||
if ((flags & AMX_FLAG_JITC) != AMX_FLAG_JITC)
|
if ((flags & AMX_FLAG_JITC) != AMX_FLAG_JITC)
|
||||||
{
|
{
|
||||||
delete [] prg;
|
delete [] prg;
|
||||||
@ -726,7 +718,7 @@ void get_modname(char* buffer)
|
|||||||
strcpy(buffer, g_mod_name.c_str());
|
strcpy(buffer, g_mod_name.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
char* build_pathname(const char *fmt, ...)
|
char* build_pathname(char *fmt, ...)
|
||||||
{
|
{
|
||||||
static char string[256];
|
static char string[256];
|
||||||
int b;
|
int b;
|
||||||
@ -752,7 +744,7 @@ char* build_pathname(const char *fmt, ...)
|
|||||||
return string;
|
return string;
|
||||||
}
|
}
|
||||||
|
|
||||||
char *build_pathname_r(char *buffer, size_t maxlen, const char *fmt, ...)
|
char *build_pathname_r(char *buffer, size_t maxlen, char *fmt, ...)
|
||||||
{
|
{
|
||||||
snprintf(buffer, maxlen, "%s%c", g_mod_name.c_str(), PATH_SEP_CHAR);
|
snprintf(buffer, maxlen, "%s%c", g_mod_name.c_str(), PATH_SEP_CHAR);
|
||||||
|
|
||||||
@ -777,7 +769,7 @@ char *build_pathname_r(char *buffer, size_t maxlen, const char *fmt, ...)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// build pathname based on addons dir
|
// build pathname based on addons dir
|
||||||
char* build_pathname_addons(const char *fmt, ...)
|
char* build_pathname_addons(char *fmt, ...)
|
||||||
{
|
{
|
||||||
static char string[256];
|
static char string[256];
|
||||||
|
|
||||||
@ -881,7 +873,7 @@ bool ConvertModuleName(const char *pathString, String &path)
|
|||||||
path.append(PATH_SEP_CHAR);
|
path.append(PATH_SEP_CHAR);
|
||||||
path.append(tmpname);
|
path.append(tmpname);
|
||||||
path.append("_amxx");
|
path.append("_amxx");
|
||||||
#if defined(__linux__) || defined(__APPLE__)
|
#if defined __linux__
|
||||||
#if defined AMD64 || PAWN_CELL_SIZE==64
|
#if defined AMD64 || PAWN_CELL_SIZE==64
|
||||||
path.append("_amd64");
|
path.append("_amd64");
|
||||||
#else
|
#else
|
||||||
@ -894,8 +886,6 @@ bool ConvertModuleName(const char *pathString, String &path)
|
|||||||
path.append(".dll");
|
path.append(".dll");
|
||||||
#elif defined __linux__
|
#elif defined __linux__
|
||||||
path.append(".so");
|
path.append(".so");
|
||||||
#elif defined __APPLE__
|
|
||||||
path.append(".dylib");
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@ -966,9 +956,6 @@ bool LoadModule(const char *shortname, PLUG_LOADTIME now, bool simplify, bool no
|
|||||||
case MODULE_NOT64BIT:
|
case MODULE_NOT64BIT:
|
||||||
report_error(1, "[AMXX] Module \"%s\" is not 64 bit compatible.", path.c_str());
|
report_error(1, "[AMXX] Module \"%s\" is not 64 bit compatible.", path.c_str());
|
||||||
break;
|
break;
|
||||||
case MODULE_BADGAME:
|
|
||||||
report_error(1, "[AMXX] Module \"%s\" cannot load on game \"%s\"", path.c_str(), g_mod_name.c_str());
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
error = false;
|
error = false;
|
||||||
break;
|
break;
|
||||||
@ -1187,6 +1174,8 @@ void modules_callPluginsUnloading()
|
|||||||
// new functions
|
// new functions
|
||||||
int MNF_AddNatives(AMX_NATIVE_INFO* natives)
|
int MNF_AddNatives(AMX_NATIVE_INFO* natives)
|
||||||
{
|
{
|
||||||
|
CList<CModule, const char *>::iterator a = g_modules.begin();
|
||||||
|
|
||||||
if (!g_CurrentlyCalledModule || g_ModuleCallReason != ModuleCall_Attach)
|
if (!g_CurrentlyCalledModule || g_ModuleCallReason != ModuleCall_Attach)
|
||||||
return FALSE; // may only be called from attach
|
return FALSE; // may only be called from attach
|
||||||
|
|
||||||
@ -1197,6 +1186,8 @@ int MNF_AddNatives(AMX_NATIVE_INFO* natives)
|
|||||||
|
|
||||||
int MNF_AddNewNatives(AMX_NATIVE_INFO *natives)
|
int MNF_AddNewNatives(AMX_NATIVE_INFO *natives)
|
||||||
{
|
{
|
||||||
|
CList<CModule, const char *>::iterator a = g_modules.begin();
|
||||||
|
|
||||||
if (!g_CurrentlyCalledModule || g_ModuleCallReason != ModuleCall_Attach)
|
if (!g_CurrentlyCalledModule || g_ModuleCallReason != ModuleCall_Attach)
|
||||||
return FALSE; // may only be called from attach
|
return FALSE; // may only be called from attach
|
||||||
|
|
||||||
|
@ -35,7 +35,7 @@
|
|||||||
#include "amx.h"
|
#include "amx.h"
|
||||||
|
|
||||||
#undef DLLEXPORT
|
#undef DLLEXPORT
|
||||||
#if defined(_WIN32)
|
#ifndef __linux__
|
||||||
#define DLLEXPORT __declspec(dllexport)
|
#define DLLEXPORT __declspec(dllexport)
|
||||||
#else
|
#else
|
||||||
#define DLLEXPORT __attribute__((visibility("default")))
|
#define DLLEXPORT __attribute__((visibility("default")))
|
||||||
|
@ -1,439 +0,0 @@
|
|||||||
<?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="JITDebugBinLog|Win32">
|
|
||||||
<Configuration>JITDebugBinLog</Configuration>
|
|
||||||
<Platform>Win32</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="JITDebug|Win32">
|
|
||||||
<Configuration>JITDebug</Configuration>
|
|
||||||
<Platform>Win32</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="JITReleaseBinLog|Win32">
|
|
||||||
<Configuration>JITReleaseBinLog</Configuration>
|
|
||||||
<Platform>Win32</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="JITRelease|Win32">
|
|
||||||
<Configuration>JITRelease</Configuration>
|
|
||||||
<Platform>Win32</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
</ItemGroup>
|
|
||||||
<PropertyGroup Label="Globals">
|
|
||||||
<ProjectGuid>{2BF64D1A-AC89-41B0-9D02-FB8CB610F850}</ProjectGuid>
|
|
||||||
<RootNamespace>amxmodx</RootNamespace>
|
|
||||||
</PropertyGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='JITReleaseBinLog|Win32'" Label="Configuration">
|
|
||||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
|
||||||
<UseOfMfc>false</UseOfMfc>
|
|
||||||
<CharacterSet>MultiByte</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='JITDebugBinLog|Win32'" Label="Configuration">
|
|
||||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
|
||||||
<UseOfMfc>false</UseOfMfc>
|
|
||||||
<CharacterSet>MultiByte</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='JITRelease|Win32'" Label="Configuration">
|
|
||||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
|
||||||
<UseOfMfc>false</UseOfMfc>
|
|
||||||
<CharacterSet>MultiByte</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='JITDebug|Win32'" Label="Configuration">
|
|
||||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
|
||||||
<UseOfMfc>false</UseOfMfc>
|
|
||||||
<CharacterSet>MultiByte</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
|
||||||
<ImportGroup Label="ExtensionSettings">
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='JITReleaseBinLog|Win32'" Label="PropertySheets">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='JITDebugBinLog|Win32'" Label="PropertySheets">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='JITRelease|Win32'" Label="PropertySheets">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='JITDebug|Win32'" Label="PropertySheets">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
|
||||||
</ImportGroup>
|
|
||||||
<PropertyGroup Label="UserMacros" />
|
|
||||||
<PropertyGroup>
|
|
||||||
<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
|
|
||||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='JITDebug|Win32'">true</LinkIncremental>
|
|
||||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='JITRelease|Win32'">false</LinkIncremental>
|
|
||||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='JITDebugBinLog|Win32'">true</LinkIncremental>
|
|
||||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='JITReleaseBinLog|Win32'">false</LinkIncremental>
|
|
||||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='JITDebugBinLog|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
|
||||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='JITDebugBinLog|Win32'" />
|
|
||||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='JITDebugBinLog|Win32'" />
|
|
||||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='JITDebug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
|
||||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='JITDebug|Win32'" />
|
|
||||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='JITDebug|Win32'" />
|
|
||||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='JITReleaseBinLog|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
|
||||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='JITReleaseBinLog|Win32'" />
|
|
||||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='JITReleaseBinLog|Win32'" />
|
|
||||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='JITRelease|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
|
||||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='JITRelease|Win32'" />
|
|
||||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='JITRelease|Win32'" />
|
|
||||||
</PropertyGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='JITDebug|Win32'">
|
|
||||||
<Midl>
|
|
||||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
||||||
<TargetEnvironment>Win32</TargetEnvironment>
|
|
||||||
<TypeLibraryName>.\debug/amxmodx.tlb</TypeLibraryName>
|
|
||||||
</Midl>
|
|
||||||
<ClCompile>
|
|
||||||
<Optimization>Disabled</Optimization>
|
|
||||||
<AdditionalIncludeDirectories>$(METAMOD)\metamod;$(HLSDK)\multiplayer\common;$(HLSDK)\multiplayer\engine;$(HLSDK)\multiplayer\dlls;$(HLSDK)\multiplayer\pm_shared;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
||||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;amxmodx_EXPORTS;PAWN_CELL_SIZE=32;ASM32;JIT;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
|
||||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
|
||||||
<StructMemberAlignment>4Bytes</StructMemberAlignment>
|
|
||||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
|
||||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
|
||||||
<PrecompiledHeader>
|
|
||||||
</PrecompiledHeader>
|
|
||||||
<PrecompiledHeaderFile>amxmodx.h</PrecompiledHeaderFile>
|
|
||||||
<PrecompiledHeaderOutputFile>.\jitdebug/amxmodx.pch</PrecompiledHeaderOutputFile>
|
|
||||||
<AssemblerListingLocation>.\jitdebug/</AssemblerListingLocation>
|
|
||||||
<ObjectFileName>.\jitdebug/</ObjectFileName>
|
|
||||||
<ProgramDataBaseFileName>.\jitdebug/</ProgramDataBaseFileName>
|
|
||||||
<WarningLevel>Level3</WarningLevel>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
||||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
|
||||||
<CompileAs>Default</CompileAs>
|
|
||||||
</ClCompile>
|
|
||||||
<ResourceCompile>
|
|
||||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<Culture>0x0409</Culture>
|
|
||||||
</ResourceCompile>
|
|
||||||
<Link>
|
|
||||||
<AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
|
|
||||||
<AdditionalDependencies>..\zlib\zlib.lib;..\JIT\amxjitsn.obj;..\JIT\amxexecn.obj;..\JIT\natives-x86.obj;%(AdditionalDependencies)</AdditionalDependencies>
|
|
||||||
<Version>0.1</Version>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
||||||
<AdditionalLibraryDirectories>..\extra\lib_win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
|
||||||
<IgnoreSpecificDefaultLibraries>LIBC;LIBCD;LIBCMT;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
|
||||||
<ModuleDefinitionFile>
|
|
||||||
</ModuleDefinitionFile>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
<ProgramDatabaseFile>.\jitdebug/amxx_mm.pdb</ProgramDatabaseFile>
|
|
||||||
<ImportLibrary>.\jitdebug/amxmodx_mm.lib</ImportLibrary>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='JITRelease|Win32'">
|
|
||||||
<Midl>
|
|
||||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
||||||
<TargetEnvironment>Win32</TargetEnvironment>
|
|
||||||
<TypeLibraryName>.\release/amxmodx.tlb</TypeLibraryName>
|
|
||||||
</Midl>
|
|
||||||
<ClCompile>
|
|
||||||
<Optimization>MaxSpeed</Optimization>
|
|
||||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
|
||||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
|
||||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
|
||||||
<OmitFramePointers>true</OmitFramePointers>
|
|
||||||
<AdditionalIncludeDirectories>$(METAMOD)\metamod;$(HLSDK)\multiplayer\common;$(HLSDK)\multiplayer\engine;$(HLSDK)\multiplayer\dlls;$(HLSDK)\multiplayer\pm_shared;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
||||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;amxmodx_EXPORTS;JIT;ASM32;PAWN_CELL_SIZE=32;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<IgnoreStandardIncludePath>false</IgnoreStandardIncludePath>
|
|
||||||
<StringPooling>true</StringPooling>
|
|
||||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
|
||||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
|
||||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
|
||||||
<PrecompiledHeader>
|
|
||||||
</PrecompiledHeader>
|
|
||||||
<PrecompiledHeaderFile>amxmodx.h</PrecompiledHeaderFile>
|
|
||||||
<PrecompiledHeaderOutputFile>.\jitrelease/amxmodx.pch</PrecompiledHeaderOutputFile>
|
|
||||||
<AssemblerListingLocation>.\jitrelease/</AssemblerListingLocation>
|
|
||||||
<ObjectFileName>.\jitrelease/</ObjectFileName>
|
|
||||||
<ProgramDataBaseFileName>.\jitrelease/</ProgramDataBaseFileName>
|
|
||||||
<WarningLevel>Level3</WarningLevel>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
||||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
|
||||||
<CompileAs>Default</CompileAs>
|
|
||||||
<ShowIncludes>false</ShowIncludes>
|
|
||||||
</ClCompile>
|
|
||||||
<ResourceCompile>
|
|
||||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<Culture>0x0409</Culture>
|
|
||||||
</ResourceCompile>
|
|
||||||
<Link>
|
|
||||||
<AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
|
|
||||||
<AdditionalDependencies>..\zlib\zlib.lib;..\JIT\amxjitsn.obj;..\JIT\amxexecn.obj;..\JIT\natives-x86.obj;%(AdditionalDependencies)</AdditionalDependencies>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
||||||
<AdditionalLibraryDirectories>..\extra\lib_win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
|
||||||
<IgnoreSpecificDefaultLibraries>LIBC;LIBCD;LIBCMTD;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
|
||||||
<ModuleDefinitionFile>
|
|
||||||
</ModuleDefinitionFile>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
<ProgramDatabaseFile>.\jitrelease/amxmodx_mm.pdb</ProgramDatabaseFile>
|
|
||||||
<GenerateMapFile>true</GenerateMapFile>
|
|
||||||
<ImportLibrary>.\jitrelease/amxmodx_mm.lib</ImportLibrary>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='JITDebugBinLog|Win32'">
|
|
||||||
<Midl>
|
|
||||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
||||||
<TargetEnvironment>Win32</TargetEnvironment>
|
|
||||||
<TypeLibraryName>.\debug/amxmodx.tlb</TypeLibraryName>
|
|
||||||
</Midl>
|
|
||||||
<ClCompile>
|
|
||||||
<Optimization>Disabled</Optimization>
|
|
||||||
<AdditionalIncludeDirectories>$(METAMOD)\metamod;$(HLSDK)\multiplayer\common;$(HLSDK)\multiplayer\engine;$(HLSDK)\multiplayer\dlls;$(HLSDK)\multiplayer\pm_shared;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
||||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;amxmodx_EXPORTS;PAWN_CELL_SIZE=32;ASM32;JIT;BINLOG_ENABLED;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
|
||||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
|
||||||
<StructMemberAlignment>4Bytes</StructMemberAlignment>
|
|
||||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
|
||||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
|
||||||
<PrecompiledHeader>
|
|
||||||
</PrecompiledHeader>
|
|
||||||
<PrecompiledHeaderFile>amxmodx.h</PrecompiledHeaderFile>
|
|
||||||
<PrecompiledHeaderOutputFile>.\jitdebugbinlog/amxmodx.pch</PrecompiledHeaderOutputFile>
|
|
||||||
<AssemblerListingLocation>.\jitdebugbinlog/</AssemblerListingLocation>
|
|
||||||
<ObjectFileName>.\jitdebugbinlog/</ObjectFileName>
|
|
||||||
<ProgramDataBaseFileName>.\jitdebugbinlog/</ProgramDataBaseFileName>
|
|
||||||
<WarningLevel>Level3</WarningLevel>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
||||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
|
||||||
<CompileAs>Default</CompileAs>
|
|
||||||
</ClCompile>
|
|
||||||
<ResourceCompile>
|
|
||||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<Culture>0x0409</Culture>
|
|
||||||
</ResourceCompile>
|
|
||||||
<Link>
|
|
||||||
<AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
|
|
||||||
<AdditionalDependencies>..\zlib\zlib.lib;..\JIT\amxjitsn.obj;..\JIT\amxexecn.obj;..\JIT\natives-x86.obj;%(AdditionalDependencies)</AdditionalDependencies>
|
|
||||||
<Version>0.1</Version>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
||||||
<AdditionalLibraryDirectories>..\extra\lib_win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
|
||||||
<IgnoreSpecificDefaultLibraries>LIBC;LIBCD;LIBCMT;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
|
||||||
<ModuleDefinitionFile>
|
|
||||||
</ModuleDefinitionFile>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
<ProgramDatabaseFile>.\jitdebugbinlog/amxmodx_bl_mm.pdb</ProgramDatabaseFile>
|
|
||||||
<ImportLibrary>.\jitdebugbinlog/amxmodx_bl_mm.lib</ImportLibrary>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='JITReleaseBinLog|Win32'">
|
|
||||||
<Midl>
|
|
||||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
||||||
<TargetEnvironment>Win32</TargetEnvironment>
|
|
||||||
<TypeLibraryName>.\release/amxmodx.tlb</TypeLibraryName>
|
|
||||||
</Midl>
|
|
||||||
<ClCompile>
|
|
||||||
<Optimization>MaxSpeed</Optimization>
|
|
||||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
|
||||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
|
||||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
|
||||||
<OmitFramePointers>true</OmitFramePointers>
|
|
||||||
<AdditionalIncludeDirectories>$(METAMOD)\metamod;$(HLSDK)\multiplayer\common;$(HLSDK)\multiplayer\engine;$(HLSDK)\multiplayer\dlls;$(HLSDK)\multiplayer\pm_shared;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
||||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;amxmodx_EXPORTS;JIT;ASM32;PAWN_CELL_SIZE=32;BINLOG_ENABLED;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<IgnoreStandardIncludePath>false</IgnoreStandardIncludePath>
|
|
||||||
<StringPooling>true</StringPooling>
|
|
||||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
|
||||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
|
||||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
|
||||||
<PrecompiledHeader>
|
|
||||||
</PrecompiledHeader>
|
|
||||||
<PrecompiledHeaderFile>amxmodx.h</PrecompiledHeaderFile>
|
|
||||||
<PrecompiledHeaderOutputFile>.\jitreleasebinlog/amxmodx.pch</PrecompiledHeaderOutputFile>
|
|
||||||
<AssemblerListingLocation>.\jitreleasebinlog/</AssemblerListingLocation>
|
|
||||||
<ObjectFileName>.\jitreleasebinlog/</ObjectFileName>
|
|
||||||
<ProgramDataBaseFileName>.\jitreleasebinlog/</ProgramDataBaseFileName>
|
|
||||||
<WarningLevel>Level3</WarningLevel>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
||||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
|
||||||
<CompileAs>Default</CompileAs>
|
|
||||||
</ClCompile>
|
|
||||||
<ResourceCompile>
|
|
||||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<Culture>0x0409</Culture>
|
|
||||||
</ResourceCompile>
|
|
||||||
<Link>
|
|
||||||
<AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
|
|
||||||
<AdditionalDependencies>..\zlib\zlib.lib;..\JIT\amxjitsn.obj;..\JIT\amxexecn.obj;..\JIT\natives-x86.obj;%(AdditionalDependencies)</AdditionalDependencies>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
||||||
<AdditionalLibraryDirectories>..\extra\lib_win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
|
||||||
<IgnoreSpecificDefaultLibraries>LIBC;LIBCD;LIBCMTD;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
|
||||||
<ModuleDefinitionFile>
|
|
||||||
</ModuleDefinitionFile>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
<ProgramDatabaseFile>.\jitreleasebinlog/amxmodx_bl_mm.pdb</ProgramDatabaseFile>
|
|
||||||
<GenerateMapFile>true</GenerateMapFile>
|
|
||||||
<ImportLibrary>.\jitreleasebinlog/amxmodx_bl_mm.lib</ImportLibrary>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ClCompile Include="..\amx.cpp" />
|
|
||||||
<ClCompile Include="..\amxcore.cpp" />
|
|
||||||
<ClCompile Include="..\amxdbg.cpp" />
|
|
||||||
<ClCompile Include="..\amxmod_compat.cpp" />
|
|
||||||
<ClCompile Include="..\amxmodx.cpp" />
|
|
||||||
<ClCompile Include="..\amxtime.cpp" />
|
|
||||||
<ClCompile Include="..\amxxfile.cpp" />
|
|
||||||
<ClCompile Include="..\amxxlog.cpp" />
|
|
||||||
<ClCompile Include="..\binlog.cpp">
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='JITDebug|Win32'">true</ExcludedFromBuild>
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='JITRelease|Win32'">true</ExcludedFromBuild>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\CCmd.cpp" />
|
|
||||||
<ClCompile Include="..\CEvent.cpp" />
|
|
||||||
<ClCompile Include="..\CFile.cpp" />
|
|
||||||
<ClCompile Include="..\CFlagManager.cpp" />
|
|
||||||
<ClCompile Include="..\CForward.cpp" />
|
|
||||||
<ClCompile Include="..\CLang.cpp" />
|
|
||||||
<ClCompile Include="..\CLogEvent.cpp" />
|
|
||||||
<ClCompile Include="..\CMenu.cpp" />
|
|
||||||
<ClCompile Include="..\CMisc.cpp" />
|
|
||||||
<ClCompile Include="..\CModule.cpp" />
|
|
||||||
<ClCompile Include="..\CPlugin.cpp" />
|
|
||||||
<ClCompile Include="..\CTask.cpp" />
|
|
||||||
<ClCompile Include="..\CVault.cpp" />
|
|
||||||
<ClCompile Include="..\debugger.cpp" />
|
|
||||||
<ClCompile Include="..\emsg.cpp" />
|
|
||||||
<ClCompile Include="..\fakemeta.cpp" />
|
|
||||||
<ClCompile Include="..\file.cpp" />
|
|
||||||
<ClCompile Include="..\float.cpp" />
|
|
||||||
<ClCompile Include="..\format.cpp">
|
|
||||||
<AssemblerOutput Condition="'$(Configuration)|$(Platform)'=='JITReleaseBinLog|Win32'">AssemblyAndSourceCode</AssemblerOutput>
|
|
||||||
<AssemblerOutput Condition="'$(Configuration)|$(Platform)'=='JITRelease|Win32'">AssemblyAndSourceCode</AssemblerOutput>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\libraries.cpp" />
|
|
||||||
<ClCompile Include="..\md5.cpp" />
|
|
||||||
<ClCompile Include="..\messages.cpp" />
|
|
||||||
<ClCompile Include="..\meta_api.cpp" />
|
|
||||||
<ClCompile Include="..\modules.cpp" />
|
|
||||||
<ClCompile Include="..\natives.cpp" />
|
|
||||||
<ClCompile Include="..\newmenus.cpp" />
|
|
||||||
<ClCompile Include="..\nongpl_matches.cpp" />
|
|
||||||
<ClCompile Include="..\optimizer.cpp" />
|
|
||||||
<ClCompile Include="..\power.cpp" />
|
|
||||||
<ClCompile Include="..\sorting.cpp" />
|
|
||||||
<ClCompile Include="..\srvcmd.cpp" />
|
|
||||||
<ClCompile Include="..\string.cpp">
|
|
||||||
<AssemblerOutput Condition="'$(Configuration)|$(Platform)'=='JITReleaseBinLog|Win32'">All</AssemblerOutput>
|
|
||||||
<AssemblerOutput Condition="'$(Configuration)|$(Platform)'=='JITRelease|Win32'">All</AssemblerOutput>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\strptime.cpp" />
|
|
||||||
<ClCompile Include="..\trie_natives.cpp" />
|
|
||||||
<ClCompile Include="..\util.cpp" />
|
|
||||||
<ClCompile Include="..\vault.cpp" />
|
|
||||||
<ClCompile Include="..\vector.cpp" />
|
|
||||||
<ClCompile Include="..\datastructs.cpp" />
|
|
||||||
<ClCompile Include="..\sdk\amxxmodule.cpp">
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='JITDebugBinLog|Win32'">true</ExcludedFromBuild>
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='JITDebug|Win32'">true</ExcludedFromBuild>
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='JITReleaseBinLog|Win32'">true</ExcludedFromBuild>
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='JITRelease|Win32'">true</ExcludedFromBuild>
|
|
||||||
</ClCompile>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ClInclude Include="..\amx.h" />
|
|
||||||
<ClInclude Include="..\amxdbg.h" />
|
|
||||||
<ClInclude Include="..\amxmod_compat.h" />
|
|
||||||
<ClInclude Include="..\amxmodx.h" />
|
|
||||||
<ClInclude Include="..\amxxfile.h" />
|
|
||||||
<ClInclude Include="..\amxxlog.h" />
|
|
||||||
<ClInclude Include="..\binlog.h" />
|
|
||||||
<ClInclude Include="..\CCmd.h" />
|
|
||||||
<ClInclude Include="..\CEvent.h" />
|
|
||||||
<ClInclude Include="..\CFile.h" />
|
|
||||||
<ClInclude Include="..\CFlagManager.h" />
|
|
||||||
<ClInclude Include="..\CForward.h" />
|
|
||||||
<ClInclude Include="..\CLang.h" />
|
|
||||||
<ClInclude Include="..\CList.h" />
|
|
||||||
<ClInclude Include="..\CLogEvent.h" />
|
|
||||||
<ClInclude Include="..\CMenu.h" />
|
|
||||||
<ClInclude Include="..\CMisc.h" />
|
|
||||||
<ClInclude Include="..\CModule.h" />
|
|
||||||
<ClInclude Include="..\CPlugin.h" />
|
|
||||||
<ClInclude Include="..\CQueue.h" />
|
|
||||||
<ClInclude Include="..\CString.h" />
|
|
||||||
<ClInclude Include="..\CTask.h" />
|
|
||||||
<ClInclude Include="..\CVault.h" />
|
|
||||||
<ClInclude Include="..\CVector.h" />
|
|
||||||
<ClInclude Include="..\datastructs.h" />
|
|
||||||
<ClInclude Include="..\debugger.h" />
|
|
||||||
<ClInclude Include="..\fakemeta.h" />
|
|
||||||
<ClInclude Include="..\format.h" />
|
|
||||||
<ClInclude Include="..\libraries.h" />
|
|
||||||
<ClInclude Include="..\md5.h" />
|
|
||||||
<ClInclude Include="..\messages.h" />
|
|
||||||
<ClInclude Include="..\modules.h" />
|
|
||||||
<ClInclude Include="..\natives.h" />
|
|
||||||
<ClInclude Include="..\newmenus.h" />
|
|
||||||
<ClInclude Include="..\nongpl_matches.h" />
|
|
||||||
<ClInclude Include="..\optimizer.h" />
|
|
||||||
<ClInclude Include="..\resource.h" />
|
|
||||||
<ClInclude Include="..\sh_list.h" />
|
|
||||||
<ClInclude Include="..\sh_stack.h" />
|
|
||||||
<ClInclude Include="..\sh_tinyhash.h" />
|
|
||||||
<ClInclude Include="..\svn_version.h" />
|
|
||||||
<ClInclude Include="..\trie_natives.h" />
|
|
||||||
<ClInclude Include="..\zlib\zconf.h" />
|
|
||||||
<ClInclude Include="..\zlib\zlib.h" />
|
|
||||||
<ClInclude Include="..\sdk\amxxmodule.h" />
|
|
||||||
<ClInclude Include="..\sdk\moduleconfig.h" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ResourceCompile Include="..\version.rc" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<None Include="..\amxdefn.asm" />
|
|
||||||
<None Include="..\amxexecn.asm" />
|
|
||||||
<None Include="..\amxjitsn.asm" />
|
|
||||||
<None Include="..\helpers-x86.asm" />
|
|
||||||
<None Include="..\natives-amd64.asm" />
|
|
||||||
<None Include="..\natives-x86.asm" />
|
|
||||||
<None Include="..\..\plugins\include\amxconst.inc" />
|
|
||||||
<None Include="..\..\plugins\include\amxmisc.inc" />
|
|
||||||
<None Include="..\..\plugins\include\amxmodx.inc" />
|
|
||||||
<None Include="..\..\plugins\include\core.inc" />
|
|
||||||
<None Include="..\..\plugins\include\file.inc" />
|
|
||||||
<None Include="..\..\plugins\include\float.inc" />
|
|
||||||
<None Include="..\..\plugins\include\lang.inc" />
|
|
||||||
<None Include="..\..\plugins\include\message_const.inc" />
|
|
||||||
<None Include="..\..\plugins\include\message_stocks.inc" />
|
|
||||||
<None Include="..\..\plugins\include\messages.inc" />
|
|
||||||
<None Include="..\..\plugins\include\sorting.inc" />
|
|
||||||
<None Include="..\..\plugins\include\string.inc" />
|
|
||||||
<None Include="..\..\plugins\include\svn_version.inc" />
|
|
||||||
<None Include="..\..\plugins\include\time.inc" />
|
|
||||||
<None Include="..\..\plugins\include\vault.inc" />
|
|
||||||
<None Include="..\..\plugins\include\vector.inc" />
|
|
||||||
<None Include="..\..\plugins\include\xs.inc" />
|
|
||||||
<None Include="..\..\plugins\include\amxmod_compat\amxmod.inc" />
|
|
||||||
<None Include="..\..\plugins\include\amxmod_compat\maths.inc" />
|
|
||||||
<None Include="..\..\plugins\include\amxmod_compat\mysql.inc" />
|
|
||||||
<None Include="..\..\plugins\include\amxmod_compat\translator.inc" />
|
|
||||||
<None Include="..\..\plugins\include\amxmod_compat\Vexd_Utilities.inc" />
|
|
||||||
<None Include="..\..\plugins\include\amxmod_compat\VexdUM.inc" />
|
|
||||||
<None Include="..\..\plugins\include\amxmod_compat\VexdUM_const.inc" />
|
|
||||||
<None Include="..\..\plugins\include\amxmod_compat\VexdUM_stock.inc" />
|
|
||||||
<None Include="..\..\plugins\include\amxmod_compat\xtrafun.inc" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<Object Include="..\Jit\helpers-x86.obj" />
|
|
||||||
</ItemGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
|
||||||
<ImportGroup Label="ExtensionTargets">
|
|
||||||
</ImportGroup>
|
|
||||||
</Project>
|
|
@ -1,426 +0,0 @@
|
|||||||
<?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>{0d31fe96-c452-4d62-8c7c-0f0f8d69efa8}</UniqueIdentifier>
|
|
||||||
<Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
|
|
||||||
</Filter>
|
|
||||||
<Filter Include="Header Files">
|
|
||||||
<UniqueIdentifier>{6e1c49c6-6432-4873-bb9a-9d30996955b2}</UniqueIdentifier>
|
|
||||||
<Extensions>h;hpp;hxx;hm;inl</Extensions>
|
|
||||||
</Filter>
|
|
||||||
<Filter Include="Resource Files">
|
|
||||||
<UniqueIdentifier>{721333c3-98b9-4888-a3ec-637a2bd46091}</UniqueIdentifier>
|
|
||||||
<Extensions>rc</Extensions>
|
|
||||||
</Filter>
|
|
||||||
<Filter Include="Assembly">
|
|
||||||
<UniqueIdentifier>{e347f4b5-ec94-43d6-b45b-85ab3f146a45}</UniqueIdentifier>
|
|
||||||
</Filter>
|
|
||||||
<Filter Include="Assembly\Builds">
|
|
||||||
<UniqueIdentifier>{1cec296a-ddcc-44da-97c4-2a4d0f4d6fc7}</UniqueIdentifier>
|
|
||||||
</Filter>
|
|
||||||
<Filter Include="SDK">
|
|
||||||
<UniqueIdentifier>{bbfaec3e-7d17-45ea-8b84-093fa5714022}</UniqueIdentifier>
|
|
||||||
</Filter>
|
|
||||||
<Filter Include="Pawn Includes">
|
|
||||||
<UniqueIdentifier>{4022451d-eb5f-4f14-b8d8-2ce23fec6e59}</UniqueIdentifier>
|
|
||||||
</Filter>
|
|
||||||
<Filter Include="Pawn Includes\AMX Mod Compat">
|
|
||||||
<UniqueIdentifier>{d4419052-0ddd-415e-bb16-4393b99751be}</UniqueIdentifier>
|
|
||||||
</Filter>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ClCompile Include="..\amx.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\amxcore.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\amxdbg.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\amxmod_compat.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\amxmodx.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\amxtime.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\amxxfile.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\amxxlog.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\binlog.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\CCmd.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\CEvent.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\CFile.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\CFlagManager.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\CForward.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\CLang.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\CLogEvent.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\CMenu.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\CMisc.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\CModule.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\CPlugin.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\CTask.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\CVault.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\debugger.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\emsg.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\fakemeta.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\file.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\float.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\format.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\libraries.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\md5.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\messages.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\meta_api.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\modules.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\natives.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\newmenus.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\nongpl_matches.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\optimizer.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\power.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\sorting.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\srvcmd.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\string.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\strptime.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\trie_natives.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\util.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\vault.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\vector.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\datastructs.cpp">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\sdk\amxxmodule.cpp">
|
|
||||||
<Filter>SDK</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ClInclude Include="..\amx.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\amxdbg.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\amxmod_compat.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\amxmodx.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\amxxfile.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\amxxlog.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\binlog.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\CCmd.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\CEvent.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\CFile.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\CFlagManager.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\CForward.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\CLang.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\CList.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\CLogEvent.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\CMenu.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\CMisc.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\CModule.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\CPlugin.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\CQueue.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\CString.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\CTask.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\CVault.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\CVector.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\datastructs.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\debugger.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\fakemeta.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\format.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\libraries.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\md5.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\messages.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\modules.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\natives.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\newmenus.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\nongpl_matches.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\optimizer.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\resource.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\sh_list.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\sh_stack.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\sh_tinyhash.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\svn_version.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\trie_natives.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\zlib\zconf.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\zlib\zlib.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\sdk\amxxmodule.h">
|
|
||||||
<Filter>SDK</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\sdk\moduleconfig.h">
|
|
||||||
<Filter>SDK</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ResourceCompile Include="..\version.rc">
|
|
||||||
<Filter>Resource Files</Filter>
|
|
||||||
</ResourceCompile>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<None Include="..\amxdefn.asm">
|
|
||||||
<Filter>Assembly</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="..\amxexecn.asm">
|
|
||||||
<Filter>Assembly</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="..\amxjitsn.asm">
|
|
||||||
<Filter>Assembly</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="..\helpers-x86.asm">
|
|
||||||
<Filter>Assembly</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="..\natives-amd64.asm">
|
|
||||||
<Filter>Assembly</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="..\natives-x86.asm">
|
|
||||||
<Filter>Assembly</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="..\..\plugins\include\amxconst.inc">
|
|
||||||
<Filter>Pawn Includes</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="..\..\plugins\include\amxmisc.inc">
|
|
||||||
<Filter>Pawn Includes</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="..\..\plugins\include\amxmodx.inc">
|
|
||||||
<Filter>Pawn Includes</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="..\..\plugins\include\core.inc">
|
|
||||||
<Filter>Pawn Includes</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="..\..\plugins\include\file.inc">
|
|
||||||
<Filter>Pawn Includes</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="..\..\plugins\include\float.inc">
|
|
||||||
<Filter>Pawn Includes</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="..\..\plugins\include\lang.inc">
|
|
||||||
<Filter>Pawn Includes</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="..\..\plugins\include\message_const.inc">
|
|
||||||
<Filter>Pawn Includes</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="..\..\plugins\include\message_stocks.inc">
|
|
||||||
<Filter>Pawn Includes</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="..\..\plugins\include\messages.inc">
|
|
||||||
<Filter>Pawn Includes</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="..\..\plugins\include\sorting.inc">
|
|
||||||
<Filter>Pawn Includes</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="..\..\plugins\include\string.inc">
|
|
||||||
<Filter>Pawn Includes</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="..\..\plugins\include\svn_version.inc">
|
|
||||||
<Filter>Pawn Includes</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="..\..\plugins\include\time.inc">
|
|
||||||
<Filter>Pawn Includes</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="..\..\plugins\include\vault.inc">
|
|
||||||
<Filter>Pawn Includes</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="..\..\plugins\include\vector.inc">
|
|
||||||
<Filter>Pawn Includes</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="..\..\plugins\include\xs.inc">
|
|
||||||
<Filter>Pawn Includes</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="..\..\plugins\include\amxmod_compat\amxmod.inc">
|
|
||||||
<Filter>Pawn Includes\AMX Mod Compat</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="..\..\plugins\include\amxmod_compat\maths.inc">
|
|
||||||
<Filter>Pawn Includes\AMX Mod Compat</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="..\..\plugins\include\amxmod_compat\mysql.inc">
|
|
||||||
<Filter>Pawn Includes\AMX Mod Compat</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="..\..\plugins\include\amxmod_compat\translator.inc">
|
|
||||||
<Filter>Pawn Includes\AMX Mod Compat</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="..\..\plugins\include\amxmod_compat\Vexd_Utilities.inc">
|
|
||||||
<Filter>Pawn Includes\AMX Mod Compat</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="..\..\plugins\include\amxmod_compat\VexdUM.inc">
|
|
||||||
<Filter>Pawn Includes\AMX Mod Compat</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="..\..\plugins\include\amxmod_compat\VexdUM_const.inc">
|
|
||||||
<Filter>Pawn Includes\AMX Mod Compat</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="..\..\plugins\include\amxmod_compat\VexdUM_stock.inc">
|
|
||||||
<Filter>Pawn Includes\AMX Mod Compat</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="..\..\plugins\include\amxmod_compat\xtrafun.inc">
|
|
||||||
<Filter>Pawn Includes\AMX Mod Compat</Filter>
|
|
||||||
</None>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<Object Include="..\Jit\helpers-x86.obj">
|
|
||||||
<Filter>Assembly\Builds</Filter>
|
|
||||||
</Object>
|
|
||||||
</ItemGroup>
|
|
||||||
</Project>
|
|
27
amxmodx/msvc7/amxmodx_mm.sln
Executable file
27
amxmodx/msvc7/amxmodx_mm.sln
Executable file
@ -0,0 +1,27 @@
|
|||||||
|
Microsoft Visual Studio Solution File, Format Version 8.00
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "amxmodx", "amxmodx_mm.vcproj", "{2BF64D1A-AC89-41B0-9D02-FB8CB610F850}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfiguration) = preSolution
|
||||||
|
JITDebug = JITDebug
|
||||||
|
JITDebugBinLog = JITDebugBinLog
|
||||||
|
JITRelease = JITRelease
|
||||||
|
JITReleaseBinLog = JITReleaseBinLog
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfiguration) = postSolution
|
||||||
|
{2BF64D1A-AC89-41B0-9D02-FB8CB610F850}.JITDebug.ActiveCfg = JITDebug|Win32
|
||||||
|
{2BF64D1A-AC89-41B0-9D02-FB8CB610F850}.JITDebug.Build.0 = JITDebug|Win32
|
||||||
|
{2BF64D1A-AC89-41B0-9D02-FB8CB610F850}.JITDebugBinLog.ActiveCfg = JITDebugBinLog|Win32
|
||||||
|
{2BF64D1A-AC89-41B0-9D02-FB8CB610F850}.JITDebugBinLog.Build.0 = JITDebugBinLog|Win32
|
||||||
|
{2BF64D1A-AC89-41B0-9D02-FB8CB610F850}.JITRelease.ActiveCfg = JITRelease|Win32
|
||||||
|
{2BF64D1A-AC89-41B0-9D02-FB8CB610F850}.JITRelease.Build.0 = JITRelease|Win32
|
||||||
|
{2BF64D1A-AC89-41B0-9D02-FB8CB610F850}.JITReleaseBinLog.ActiveCfg = JITReleaseBinLog|Win32
|
||||||
|
{2BF64D1A-AC89-41B0-9D02-FB8CB610F850}.JITReleaseBinLog.Build.0 = JITReleaseBinLog|Win32
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ExtensibilityAddIns) = postSolution
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
789
amxmodx/msvc7/amxmodx_mm.vcproj
Executable file
789
amxmodx/msvc7/amxmodx_mm.vcproj
Executable file
@ -0,0 +1,789 @@
|
|||||||
|
<?xml version="1.0" encoding="Windows-1252"?>
|
||||||
|
<VisualStudioProject
|
||||||
|
ProjectType="Visual C++"
|
||||||
|
Version="7.10"
|
||||||
|
Name="amxmodx"
|
||||||
|
ProjectGUID="{2BF64D1A-AC89-41B0-9D02-FB8CB610F850}"
|
||||||
|
RootNamespace="amxmodx"
|
||||||
|
SccProjectName=""
|
||||||
|
SccLocalPath="">
|
||||||
|
<Platforms>
|
||||||
|
<Platform
|
||||||
|
Name="Win32"/>
|
||||||
|
</Platforms>
|
||||||
|
<Configurations>
|
||||||
|
<Configuration
|
||||||
|
Name="JITDebug|Win32"
|
||||||
|
OutputDirectory="JITDebug"
|
||||||
|
IntermediateDirectory="JITDebug"
|
||||||
|
ConfigurationType="2"
|
||||||
|
UseOfMFC="0"
|
||||||
|
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||||
|
CharacterSet="2">
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="0"
|
||||||
|
AdditionalIncludeDirectories=""
|
||||||
|
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;amxmodx_EXPORTS;PAWN_CELL_SIZE=32;ASM32;JIT"
|
||||||
|
BasicRuntimeChecks="3"
|
||||||
|
RuntimeLibrary="5"
|
||||||
|
StructMemberAlignment="3"
|
||||||
|
UsePrecompiledHeader="2"
|
||||||
|
PrecompiledHeaderThrough="amxmodx.h"
|
||||||
|
PrecompiledHeaderFile=".\jitdebug/amxmodx.pch"
|
||||||
|
AssemblerListingLocation=".\jitdebug/"
|
||||||
|
ObjectFile=".\jitdebug/"
|
||||||
|
ProgramDataBaseFileName=".\jitdebug/"
|
||||||
|
WarningLevel="3"
|
||||||
|
SuppressStartupBanner="TRUE"
|
||||||
|
DebugInformationFormat="4"
|
||||||
|
CompileAs="0"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalOptions="/MACHINE:I386"
|
||||||
|
AdditionalDependencies="..\zlib\zlib.lib ..\JIT\amxjitsn.obj ..\JIT\amxexecn.obj ..\JIT\natives-x86.obj"
|
||||||
|
OutputFile="jitdebug/amxmodx_mm.dll"
|
||||||
|
Version="0.1"
|
||||||
|
LinkIncremental="2"
|
||||||
|
SuppressStartupBanner="TRUE"
|
||||||
|
AdditionalLibraryDirectories="..\extra\lib_win32"
|
||||||
|
IgnoreDefaultLibraryNames="MSVCRT;LIBC"
|
||||||
|
ModuleDefinitionFile=""
|
||||||
|
GenerateDebugInformation="TRUE"
|
||||||
|
ProgramDatabaseFile=".\jitdebug/amxmodx_mm.pdb"
|
||||||
|
ImportLibrary=".\jitdebug/amxmodx_mm.lib"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
PreprocessorDefinitions="_DEBUG"
|
||||||
|
MkTypLibCompatible="TRUE"
|
||||||
|
SuppressStartupBanner="TRUE"
|
||||||
|
TargetEnvironment="1"
|
||||||
|
TypeLibraryName=".\debug/amxmodx.tlb"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
PreprocessorDefinitions="_DEBUG"
|
||||||
|
Culture="1033"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebDeploymentTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedWrapperGeneratorTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="JITRelease|Win32"
|
||||||
|
OutputDirectory="JITRelease"
|
||||||
|
IntermediateDirectory="JITRelease"
|
||||||
|
ConfigurationType="2"
|
||||||
|
UseOfMFC="0"
|
||||||
|
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||||
|
CharacterSet="2">
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="2"
|
||||||
|
GlobalOptimizations="TRUE"
|
||||||
|
InlineFunctionExpansion="1"
|
||||||
|
EnableIntrinsicFunctions="TRUE"
|
||||||
|
FavorSizeOrSpeed="1"
|
||||||
|
OmitFramePointers="TRUE"
|
||||||
|
OptimizeForProcessor="0"
|
||||||
|
AdditionalIncludeDirectories="..\..\metamod\metamod,..\..\hlsdk\sourcecode\common,..\..\hlsdk\sourcecode\engine,..\..\hlsdk\sourcecode\dlls,..\..\hlsdk\sourcecode\pm_shared,..\extra\include"
|
||||||
|
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;amxmodx_EXPORTS;JIT;ASM32;PAWN_CELL_SIZE=32"
|
||||||
|
IgnoreStandardIncludePath="FALSE"
|
||||||
|
StringPooling="TRUE"
|
||||||
|
RuntimeLibrary="4"
|
||||||
|
EnableFunctionLevelLinking="TRUE"
|
||||||
|
UsePrecompiledHeader="2"
|
||||||
|
PrecompiledHeaderThrough="amxmodx.h"
|
||||||
|
PrecompiledHeaderFile=".\jitrelease/amxmodx.pch"
|
||||||
|
AssemblerListingLocation=".\jitrelease/"
|
||||||
|
ObjectFile=".\jitrelease/"
|
||||||
|
ProgramDataBaseFileName=".\jitrelease/"
|
||||||
|
WarningLevel="3"
|
||||||
|
SuppressStartupBanner="TRUE"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
CompileAs="0"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalOptions="/MACHINE:I386"
|
||||||
|
AdditionalDependencies="..\zlib\zlib.lib ..\JIT\amxjitsn.obj ..\JIT\amxexecn.obj ..\JIT\natives-x86.obj"
|
||||||
|
OutputFile="jitrelease/amxmodx_mm.dll"
|
||||||
|
LinkIncremental="1"
|
||||||
|
SuppressStartupBanner="TRUE"
|
||||||
|
AdditionalLibraryDirectories="..\extra\lib_win32"
|
||||||
|
IgnoreDefaultLibraryNames="MSVCRT"
|
||||||
|
ModuleDefinitionFile=""
|
||||||
|
GenerateDebugInformation="TRUE"
|
||||||
|
ProgramDatabaseFile=".\jitrelease/amxmodx_mm.pdb"
|
||||||
|
GenerateMapFile="TRUE"
|
||||||
|
ImportLibrary=".\jitrelease/amxmodx_mm.lib"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
PreprocessorDefinitions="NDEBUG"
|
||||||
|
MkTypLibCompatible="TRUE"
|
||||||
|
SuppressStartupBanner="TRUE"
|
||||||
|
TargetEnvironment="1"
|
||||||
|
TypeLibraryName=".\release/amxmodx.tlb"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
PreprocessorDefinitions="NDEBUG"
|
||||||
|
Culture="1033"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebDeploymentTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedWrapperGeneratorTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="JITDebugBinLog|Win32"
|
||||||
|
OutputDirectory="$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="$(ConfigurationName)"
|
||||||
|
ConfigurationType="2"
|
||||||
|
UseOfMFC="0"
|
||||||
|
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||||
|
CharacterSet="2">
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="0"
|
||||||
|
AdditionalIncludeDirectories=""
|
||||||
|
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;amxmodx_EXPORTS;PAWN_CELL_SIZE=32;ASM32;JIT;BINLOG_ENABLED"
|
||||||
|
BasicRuntimeChecks="3"
|
||||||
|
RuntimeLibrary="5"
|
||||||
|
StructMemberAlignment="3"
|
||||||
|
UsePrecompiledHeader="2"
|
||||||
|
PrecompiledHeaderThrough="amxmodx.h"
|
||||||
|
PrecompiledHeaderFile=".\jitdebugbinlog/amxmodx.pch"
|
||||||
|
AssemblerListingLocation=".\jitdebugbinlog/"
|
||||||
|
ObjectFile=".\jitdebugbinlog/"
|
||||||
|
ProgramDataBaseFileName=".\jitdebugbinlog/"
|
||||||
|
WarningLevel="3"
|
||||||
|
SuppressStartupBanner="TRUE"
|
||||||
|
DebugInformationFormat="4"
|
||||||
|
CompileAs="0"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalOptions="/MACHINE:I386"
|
||||||
|
AdditionalDependencies="..\zlib\zlib.lib ..\JIT\amxjitsn.obj ..\JIT\amxexecn.obj ..\JIT\natives-x86.obj"
|
||||||
|
OutputFile="jitdebugbinlog/amxmodx_bl_mm.dll"
|
||||||
|
Version="0.1"
|
||||||
|
LinkIncremental="2"
|
||||||
|
SuppressStartupBanner="TRUE"
|
||||||
|
AdditionalLibraryDirectories="..\extra\lib_win32"
|
||||||
|
IgnoreDefaultLibraryNames="MSVCRT;LIBC"
|
||||||
|
ModuleDefinitionFile=""
|
||||||
|
GenerateDebugInformation="TRUE"
|
||||||
|
ProgramDatabaseFile=".\jitdebugbinlog/amxmodx_bl_mm.pdb"
|
||||||
|
ImportLibrary=".\jitdebugbinlog/amxmodx_bl_mm.lib"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
PreprocessorDefinitions="_DEBUG"
|
||||||
|
MkTypLibCompatible="TRUE"
|
||||||
|
SuppressStartupBanner="TRUE"
|
||||||
|
TargetEnvironment="1"
|
||||||
|
TypeLibraryName=".\debug/amxmodx.tlb"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
PreprocessorDefinitions="_DEBUG"
|
||||||
|
Culture="1033"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebDeploymentTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedWrapperGeneratorTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="JITReleaseBinLog|Win32"
|
||||||
|
OutputDirectory="$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="$(ConfigurationName)"
|
||||||
|
ConfigurationType="2"
|
||||||
|
UseOfMFC="0"
|
||||||
|
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||||
|
CharacterSet="2">
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="2"
|
||||||
|
GlobalOptimizations="TRUE"
|
||||||
|
InlineFunctionExpansion="1"
|
||||||
|
EnableIntrinsicFunctions="TRUE"
|
||||||
|
FavorSizeOrSpeed="1"
|
||||||
|
OmitFramePointers="TRUE"
|
||||||
|
OptimizeForProcessor="0"
|
||||||
|
AdditionalIncludeDirectories="..\..\metamod\metamod,..\..\hlsdk\sourcecode\common,..\..\hlsdk\sourcecode\engine,..\..\hlsdk\sourcecode\dlls,..\..\hlsdk\sourcecode\pm_shared,..\extra\include"
|
||||||
|
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;amxmodx_EXPORTS;JIT;ASM32;PAWN_CELL_SIZE=32;BINLOG_ENABLED"
|
||||||
|
IgnoreStandardIncludePath="FALSE"
|
||||||
|
StringPooling="TRUE"
|
||||||
|
RuntimeLibrary="4"
|
||||||
|
EnableFunctionLevelLinking="TRUE"
|
||||||
|
UsePrecompiledHeader="2"
|
||||||
|
PrecompiledHeaderThrough="amxmodx.h"
|
||||||
|
PrecompiledHeaderFile=".\jitreleasebinlog/amxmodx.pch"
|
||||||
|
AssemblerListingLocation=".\jitreleasebinlog/"
|
||||||
|
ObjectFile=".\jitreleasebinlog/"
|
||||||
|
ProgramDataBaseFileName=".\jitreleasebinlog/"
|
||||||
|
WarningLevel="3"
|
||||||
|
SuppressStartupBanner="TRUE"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
CompileAs="0"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalOptions="/MACHINE:I386"
|
||||||
|
AdditionalDependencies="..\zlib\zlib.lib ..\JIT\amxjitsn.obj ..\JIT\amxexecn.obj ..\JIT\natives-x86.obj"
|
||||||
|
OutputFile="jitreleasebinlog/amxmodx_bl_mm.dll"
|
||||||
|
LinkIncremental="1"
|
||||||
|
SuppressStartupBanner="TRUE"
|
||||||
|
AdditionalLibraryDirectories="..\extra\lib_win32"
|
||||||
|
IgnoreDefaultLibraryNames="MSVCRT"
|
||||||
|
ModuleDefinitionFile=""
|
||||||
|
GenerateDebugInformation="TRUE"
|
||||||
|
ProgramDatabaseFile=".\jitreleasebinlog/amxmodx_bl_mm.pdb"
|
||||||
|
GenerateMapFile="TRUE"
|
||||||
|
ImportLibrary=".\jitreleasebinlog/amxmodx_bl_mm.lib"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
PreprocessorDefinitions="NDEBUG"
|
||||||
|
MkTypLibCompatible="TRUE"
|
||||||
|
SuppressStartupBanner="TRUE"
|
||||||
|
TargetEnvironment="1"
|
||||||
|
TypeLibraryName=".\release/amxmodx.tlb"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
PreprocessorDefinitions="NDEBUG"
|
||||||
|
Culture="1033"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebDeploymentTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedWrapperGeneratorTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||||
|
</Configuration>
|
||||||
|
</Configurations>
|
||||||
|
<References>
|
||||||
|
</References>
|
||||||
|
<Files>
|
||||||
|
<Filter
|
||||||
|
Name="Source Files"
|
||||||
|
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
|
||||||
|
<File
|
||||||
|
RelativePath="..\amx.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\amxcore.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\amxdbg.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\amxmod_compat.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\amxmodx.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\amxtime.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\amxxfile.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\amxxlog.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\binlog.cpp">
|
||||||
|
<FileConfiguration
|
||||||
|
Name="JITDebug|Win32"
|
||||||
|
ExcludedFromBuild="TRUE">
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="JITRelease|Win32"
|
||||||
|
ExcludedFromBuild="TRUE">
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"/>
|
||||||
|
</FileConfiguration>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\CCmd.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\CEvent.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\CFile.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\CFlagManager.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\CForward.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\CLang.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\CLogEvent.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\CMenu.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\CMisc.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\CModule.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\CPlugin.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\CTask.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\CVault.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\datastructs.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\debugger.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\emsg.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\fakemeta.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\file.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\float.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\format.cpp">
|
||||||
|
<FileConfiguration
|
||||||
|
Name="JITRelease|Win32">
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
AssemblerOutput="4"/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="JITReleaseBinLog|Win32">
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
AssemblerOutput="4"/>
|
||||||
|
</FileConfiguration>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\libraries.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\md5.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\messages.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\meta_api.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\modules.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\natives.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\newmenus.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\nongpl_matches.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\optimizer.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\power.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\sorting.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\srvcmd.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\string.cpp">
|
||||||
|
<FileConfiguration
|
||||||
|
Name="JITRelease|Win32">
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
AssemblerOutput="2"/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="JITReleaseBinLog|Win32">
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
AssemblerOutput="2"/>
|
||||||
|
</FileConfiguration>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\strptime.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\util.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\vault.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\vector.cpp">
|
||||||
|
</File>
|
||||||
|
</Filter>
|
||||||
|
<Filter
|
||||||
|
Name="Header Files"
|
||||||
|
Filter="h;hpp;hxx;hm;inl">
|
||||||
|
<File
|
||||||
|
RelativePath="..\amx.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\amxdbg.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\amxmod_compat.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\amxmodx.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\amxxfile.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\amxxlog.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\binlog.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\CCmd.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\CEvent.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\CFile.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\CFlagManager.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\CForward.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\CLang.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\CList.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\CLogEvent.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\CMenu.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\CMisc.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\CModule.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\CPlugin.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\CQueue.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\CString.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\CTask.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\CVault.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\CVector.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\datastructs.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\debugger.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\fakemeta.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\format.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\libraries.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\md5.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\menus.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\messages.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\modules.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\natives.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\newmenus.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\nongpl_matches.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\optimizer.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\resource.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\sh_list.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\sh_stack.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\sh_tinyhash.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\svn_version.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\zlib\zconf.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\zlib\zlib.h">
|
||||||
|
</File>
|
||||||
|
</Filter>
|
||||||
|
<Filter
|
||||||
|
Name="Resource Files"
|
||||||
|
Filter="rc">
|
||||||
|
<File
|
||||||
|
RelativePath="..\version.rc">
|
||||||
|
</File>
|
||||||
|
</Filter>
|
||||||
|
<Filter
|
||||||
|
Name="Assembly"
|
||||||
|
Filter="">
|
||||||
|
<File
|
||||||
|
RelativePath="..\amxdefn.asm">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\amxexecn.asm">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\amxjitsn.asm">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\helpers-x86.asm">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\natives-amd64.asm">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\natives-x86.asm">
|
||||||
|
</File>
|
||||||
|
<Filter
|
||||||
|
Name="Builds"
|
||||||
|
Filter="">
|
||||||
|
<File
|
||||||
|
RelativePath="..\Jit\helpers-x86.obj">
|
||||||
|
</File>
|
||||||
|
</Filter>
|
||||||
|
</Filter>
|
||||||
|
<Filter
|
||||||
|
Name="SDK"
|
||||||
|
Filter="">
|
||||||
|
<File
|
||||||
|
RelativePath="..\sdk\amxxmodule.cpp">
|
||||||
|
<FileConfiguration
|
||||||
|
Name="JITDebug|Win32"
|
||||||
|
ExcludedFromBuild="TRUE">
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="JITRelease|Win32"
|
||||||
|
ExcludedFromBuild="TRUE">
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="JITDebugBinLog|Win32"
|
||||||
|
ExcludedFromBuild="TRUE">
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="JITReleaseBinLog|Win32"
|
||||||
|
ExcludedFromBuild="TRUE">
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"/>
|
||||||
|
</FileConfiguration>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\sdk\amxxmodule.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\sdk\moduleconfig.h">
|
||||||
|
</File>
|
||||||
|
</Filter>
|
||||||
|
<Filter
|
||||||
|
Name="Pawn Includes"
|
||||||
|
Filter="">
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\plugins\include\amxconst.inc">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\plugins\include\amxmisc.inc">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\plugins\include\amxmodx.inc">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\plugins\include\core.inc">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\plugins\include\file.inc">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\plugins\include\float.inc">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\plugins\include\lang.inc">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\plugins\include\message_const.inc">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\plugins\include\message_stocks.inc">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\plugins\include\messages.inc">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\plugins\include\sorting.inc">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\plugins\include\string.inc">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\plugins\include\svn_version.inc">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\plugins\include\time.inc">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\plugins\include\vault.inc">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\plugins\include\vector.inc">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\plugins\include\xs.inc">
|
||||||
|
</File>
|
||||||
|
<Filter
|
||||||
|
Name="AMX Mod Compat"
|
||||||
|
Filter="">
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\plugins\include\amxmod_compat\amxmod.inc">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\plugins\include\amxmod_compat\maths.inc">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\plugins\include\amxmod_compat\mysql.inc">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\plugins\include\amxmod_compat\translator.inc">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\plugins\include\amxmod_compat\Vexd_Utilities.inc">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\plugins\include\amxmod_compat\VexdUM.inc">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\plugins\include\amxmod_compat\VexdUM_const.inc">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\plugins\include\amxmod_compat\VexdUM_stock.inc">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\plugins\include\amxmod_compat\xtrafun.inc">
|
||||||
|
</File>
|
||||||
|
</Filter>
|
||||||
|
</Filter>
|
||||||
|
</Files>
|
||||||
|
<Globals>
|
||||||
|
</Globals>
|
||||||
|
</VisualStudioProject>
|
@ -1,26 +1,26 @@
|
|||||||
|
|
||||||
Microsoft Visual Studio Solution File, Format Version 11.00
|
Microsoft Visual Studio Solution File, Format Version 9.00
|
||||||
# Visual Studio 2010
|
# Visual Studio 2005
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "amxmodx_mm", "amxmodx_mm.vcxproj", "{2BF64D1A-AC89-41B0-9D02-FB8CB610F850}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "amxmodx_mm", "amxmodx_mm.vcproj", "{2BF64D1A-AC89-41B0-9D02-FB8CB610F850}"
|
||||||
EndProject
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
JITDebug|Win32 = JITDebug|Win32
|
JITDebug|Win32 = JITDebug|Win32
|
||||||
JITDebugBinLog|Win32 = JITDebugBinLog|Win32
|
JITDebugBinLog|Win32 = JITDebugBinLog|Win32
|
||||||
JITRelease|Win32 = JITRelease|Win32
|
JITRelease|Win32 = JITRelease|Win32
|
||||||
JITReleaseBinLog|Win32 = JITReleaseBinLog|Win32
|
JITReleaseBinLog|Win32 = JITReleaseBinLog|Win32
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
{2BF64D1A-AC89-41B0-9D02-FB8CB610F850}.JITDebug|Win32.ActiveCfg = JITDebug|Win32
|
{2BF64D1A-AC89-41B0-9D02-FB8CB610F850}.JITDebug|Win32.ActiveCfg = JITDebug|Win32
|
||||||
{2BF64D1A-AC89-41B0-9D02-FB8CB610F850}.JITDebug|Win32.Build.0 = JITDebug|Win32
|
{2BF64D1A-AC89-41B0-9D02-FB8CB610F850}.JITDebug|Win32.Build.0 = JITDebug|Win32
|
||||||
{2BF64D1A-AC89-41B0-9D02-FB8CB610F850}.JITDebugBinLog|Win32.ActiveCfg = JITDebugBinLog|Win32
|
{2BF64D1A-AC89-41B0-9D02-FB8CB610F850}.JITDebugBinLog|Win32.ActiveCfg = JITDebugBinLog|Win32
|
||||||
{2BF64D1A-AC89-41B0-9D02-FB8CB610F850}.JITDebugBinLog|Win32.Build.0 = JITDebugBinLog|Win32
|
{2BF64D1A-AC89-41B0-9D02-FB8CB610F850}.JITDebugBinLog|Win32.Build.0 = JITDebugBinLog|Win32
|
||||||
{2BF64D1A-AC89-41B0-9D02-FB8CB610F850}.JITRelease|Win32.ActiveCfg = JITRelease|Win32
|
{2BF64D1A-AC89-41B0-9D02-FB8CB610F850}.JITRelease|Win32.ActiveCfg = JITRelease|Win32
|
||||||
{2BF64D1A-AC89-41B0-9D02-FB8CB610F850}.JITRelease|Win32.Build.0 = JITRelease|Win32
|
{2BF64D1A-AC89-41B0-9D02-FB8CB610F850}.JITRelease|Win32.Build.0 = JITRelease|Win32
|
||||||
{2BF64D1A-AC89-41B0-9D02-FB8CB610F850}.JITReleaseBinLog|Win32.ActiveCfg = JITReleaseBinLog|Win32
|
{2BF64D1A-AC89-41B0-9D02-FB8CB610F850}.JITReleaseBinLog|Win32.ActiveCfg = JITReleaseBinLog|Win32
|
||||||
{2BF64D1A-AC89-41B0-9D02-FB8CB610F850}.JITReleaseBinLog|Win32.Build.0 = JITReleaseBinLog|Win32
|
{2BF64D1A-AC89-41B0-9D02-FB8CB610F850}.JITReleaseBinLog|Win32.Build.0 = JITReleaseBinLog|Win32
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
EndGlobal
|
EndGlobal
|
1062
amxmodx/msvc8/amxmodx_mm.vcproj
Normal file
1062
amxmodx/msvc8/amxmodx_mm.vcproj
Normal file
File diff suppressed because it is too large
Load Diff
@ -35,11 +35,8 @@
|
|||||||
#include "libraries.h"
|
#include "libraries.h"
|
||||||
#include "format.h"
|
#include "format.h"
|
||||||
|
|
||||||
#if defined(__linux__) || defined(__APPLE__)
|
#ifdef __linux__
|
||||||
#if defined(__linux__)
|
|
||||||
#include <malloc.h>
|
#include <malloc.h>
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <sys/mman.h>
|
#include <sys/mman.h>
|
||||||
#include "sclinux.h"
|
#include "sclinux.h"
|
||||||
@ -482,16 +479,12 @@ static cell AMX_NATIVE_CALL register_native(AMX *amx, cell *params)
|
|||||||
//we'll apply a safety buffer too
|
//we'll apply a safety buffer too
|
||||||
//make our function
|
//make our function
|
||||||
int size = amxx_DynaCodesize();
|
int size = amxx_DynaCodesize();
|
||||||
#if defined(_WIN32)
|
#ifndef __linux__
|
||||||
DWORD temp;
|
DWORD temp;
|
||||||
pNative->pfn = new char[size + 10];
|
pNative->pfn = new char[size + 10];
|
||||||
VirtualProtect(pNative->pfn, size+10, PAGE_EXECUTE_READWRITE, &temp);
|
VirtualProtect(pNative->pfn, size+10, PAGE_EXECUTE_READWRITE, &temp);
|
||||||
#elif defined(__GNUC__)
|
#else
|
||||||
# if defined(__APPLE__)
|
|
||||||
pNative->pfn = (char *)valloc(size+10);
|
|
||||||
# else
|
|
||||||
pNative->pfn = (char *)memalign(sysconf(_SC_PAGESIZE), size+10);
|
pNative->pfn = (char *)memalign(sysconf(_SC_PAGESIZE), size+10);
|
||||||
# endif
|
|
||||||
mprotect((void *)pNative->pfn, size+10, PROT_READ|PROT_WRITE|PROT_EXEC);
|
mprotect((void *)pNative->pfn, size+10, PROT_READ|PROT_WRITE|PROT_EXEC);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -61,7 +61,7 @@ void validate_menu_text(char *str)
|
|||||||
str++;
|
str++;
|
||||||
char c = tolower(*str);
|
char c = tolower(*str);
|
||||||
if (c == 'r' || c == 'w'
|
if (c == 'r' || c == 'w'
|
||||||
|| c== 'y' || c == 'd')
|
|| c== 'w' || c == 'd')
|
||||||
{
|
{
|
||||||
str++;
|
str++;
|
||||||
offs += 2;
|
offs += 2;
|
||||||
@ -183,7 +183,7 @@ int Menu::PagekeyToItem(page_t page, item_t key)
|
|||||||
{
|
{
|
||||||
for (size_t j=0; j<m_Items[i]->blanks.size(); j++)
|
for (size_t j=0; j<m_Items[i]->blanks.size(); j++)
|
||||||
{
|
{
|
||||||
if (m_Items[i]->blanks[j].EatNumber())
|
if (m_Items[i]->blanks[j] == 1)
|
||||||
{
|
{
|
||||||
if (!new_key)
|
if (!new_key)
|
||||||
{
|
{
|
||||||
@ -231,7 +231,7 @@ int Menu::PagekeyToItem(page_t page, item_t key)
|
|||||||
|
|
||||||
for (size_t j=0; j<m_Items[i]->blanks.size(); j++)
|
for (size_t j=0; j<m_Items[i]->blanks.size(); j++)
|
||||||
{
|
{
|
||||||
if (m_Items[i]->blanks[j].EatNumber())
|
if (m_Items[i]->blanks[j] == 1)
|
||||||
{
|
{
|
||||||
new_key--;
|
new_key--;
|
||||||
}
|
}
|
||||||
@ -265,7 +265,7 @@ int Menu::PagekeyToItem(page_t page, item_t key)
|
|||||||
{
|
{
|
||||||
for (size_t j=0; j<m_Items[i]->blanks.size(); j++)
|
for (size_t j=0; j<m_Items[i]->blanks.size(); j++)
|
||||||
{
|
{
|
||||||
if (m_Items[i]->blanks[j].EatNumber())
|
if (m_Items[i]->blanks[j] == 1)
|
||||||
{
|
{
|
||||||
if (!new_key)
|
if (!new_key)
|
||||||
{
|
{
|
||||||
@ -451,11 +451,10 @@ const char *Menu::GetTextString(int player, page_t page, int &keys)
|
|||||||
{
|
{
|
||||||
for (size_t j=0; j<pItem->blanks.size(); j++)
|
for (size_t j=0; j<pItem->blanks.size(); j++)
|
||||||
{
|
{
|
||||||
if (pItem->blanks[j].EatNumber())
|
if (pItem->blanks[j] == 1)
|
||||||
{
|
{
|
||||||
option++;
|
option++;
|
||||||
}
|
}
|
||||||
m_Text.append(pItem->blanks[j].GetDisplay());
|
|
||||||
m_Text.append("\n");
|
m_Text.append("\n");
|
||||||
slots++;
|
slots++;
|
||||||
}
|
}
|
||||||
@ -608,6 +607,7 @@ static cell AMX_NATIVE_CALL menu_create(AMX *amx, cell *params)
|
|||||||
|
|
||||||
return pMenu->thisId;
|
return pMenu->thisId;
|
||||||
}
|
}
|
||||||
|
|
||||||
static cell AMX_NATIVE_CALL menu_addblank(AMX *amx, cell *params)
|
static cell AMX_NATIVE_CALL menu_addblank(AMX *amx, cell *params)
|
||||||
{
|
{
|
||||||
GETMENU(params[1]);
|
GETMENU(params[1]);
|
||||||
@ -625,51 +625,7 @@ static cell AMX_NATIVE_CALL menu_addblank(AMX *amx, cell *params)
|
|||||||
}
|
}
|
||||||
|
|
||||||
menuitem *item = pMenu->m_Items[pMenu->m_Items.size() - 1];
|
menuitem *item = pMenu->m_Items[pMenu->m_Items.size() - 1];
|
||||||
|
item->blanks.push_back(params[2]);
|
||||||
BlankItem a;
|
|
||||||
|
|
||||||
a.SetBlank();
|
|
||||||
|
|
||||||
if (params[2] == 1)
|
|
||||||
a.SetEatNumber(true);
|
|
||||||
|
|
||||||
else
|
|
||||||
a.SetEatNumber(false);
|
|
||||||
|
|
||||||
item->blanks.push_back(a);
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
static cell AMX_NATIVE_CALL menu_addtext(AMX *amx, cell *params)
|
|
||||||
{
|
|
||||||
GETMENU(params[1]);
|
|
||||||
|
|
||||||
if (params[2] && (!pMenu->items_per_page && pMenu->GetItemCount() >= 10))
|
|
||||||
{
|
|
||||||
LogError(amx, AMX_ERR_NATIVE, "Non-paginated menus are limited to 10 items.");
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!pMenu->m_Items.size())
|
|
||||||
{
|
|
||||||
LogError(amx, AMX_ERR_NATIVE, "Blanks can only be added after items.");
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
menuitem *item = pMenu->m_Items[pMenu->m_Items.size() - 1];
|
|
||||||
|
|
||||||
BlankItem a;
|
|
||||||
|
|
||||||
int len;
|
|
||||||
a.SetText(get_amxstring(amx, params[2], 0, len));
|
|
||||||
|
|
||||||
if (params[3] == 1)
|
|
||||||
a.SetEatNumber(true);
|
|
||||||
|
|
||||||
else
|
|
||||||
a.SetEatNumber(false);
|
|
||||||
|
|
||||||
item->blanks.push_back(a);
|
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@ -1078,7 +1034,6 @@ AMX_NATIVE_INFO g_NewMenuNatives[] =
|
|||||||
{"menu_create", menu_create},
|
{"menu_create", menu_create},
|
||||||
{"menu_additem", menu_additem},
|
{"menu_additem", menu_additem},
|
||||||
{"menu_addblank", menu_addblank},
|
{"menu_addblank", menu_addblank},
|
||||||
{"menu_addtext", menu_addtext},
|
|
||||||
{"menu_pages", menu_pages},
|
{"menu_pages", menu_pages},
|
||||||
{"menu_items", menu_items},
|
{"menu_items", menu_items},
|
||||||
{"menu_display", menu_display},
|
{"menu_display", menu_display},
|
||||||
|
@ -54,46 +54,6 @@
|
|||||||
|
|
||||||
typedef int (*MENUITEM_CALLBACK)(int, int, int);
|
typedef int (*MENUITEM_CALLBACK)(int, int, int);
|
||||||
|
|
||||||
class BlankItem
|
|
||||||
{
|
|
||||||
private:
|
|
||||||
char *m_text;
|
|
||||||
bool m_num;
|
|
||||||
public:
|
|
||||||
BlankItem() : m_text(NULL), m_num(false) { }
|
|
||||||
BlankItem(BlankItem &src) { this->copyFrom(src); }
|
|
||||||
~BlankItem() { free(m_text); }
|
|
||||||
|
|
||||||
void copyFrom(BlankItem &src)
|
|
||||||
{
|
|
||||||
m_text = src.m_text;
|
|
||||||
m_num = src.m_num;
|
|
||||||
src.m_text = NULL; // stop the src from freeing the buffer
|
|
||||||
}
|
|
||||||
BlankItem &operator = (const BlankItem &src) { this->copyFrom(const_cast<BlankItem&>(src)); return *this; }
|
|
||||||
|
|
||||||
/* is this text instead of a blank */
|
|
||||||
bool IsText() { return m_text != NULL; }
|
|
||||||
|
|
||||||
/* is this a blank instead of text */
|
|
||||||
bool IsBlank() { return m_text == NULL; }
|
|
||||||
|
|
||||||
/* does this item take up a number */
|
|
||||||
bool EatNumber() { return m_num; }
|
|
||||||
|
|
||||||
/* the text this item is to display */
|
|
||||||
const char *GetDisplay() { return m_text == NULL ? "" : m_text; }
|
|
||||||
|
|
||||||
/* sets this item to use a blank */
|
|
||||||
void SetBlank() { free(m_text); m_text = NULL; }
|
|
||||||
|
|
||||||
/* sets this item to display text */
|
|
||||||
void SetText(const char *text) { free(m_text); m_text = strdup(text); }
|
|
||||||
|
|
||||||
/* sets whether or not this item takes up a line */
|
|
||||||
void SetEatNumber(bool val) { m_num = val; }
|
|
||||||
|
|
||||||
};
|
|
||||||
struct menuitem
|
struct menuitem
|
||||||
{
|
{
|
||||||
String name;
|
String name;
|
||||||
@ -105,7 +65,7 @@ struct menuitem
|
|||||||
MENUITEM_CALLBACK pfn;
|
MENUITEM_CALLBACK pfn;
|
||||||
size_t id;
|
size_t id;
|
||||||
|
|
||||||
CVector<BlankItem> blanks;
|
CVector<int> blanks;
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef unsigned int menu_t;
|
typedef unsigned int menu_t;
|
||||||
|
@ -39,10 +39,6 @@
|
|||||||
#include <endian.h>
|
#include <endian.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined __APPLE__
|
|
||||||
#include <sys/types.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Linux NOW has these */
|
/* Linux NOW has these */
|
||||||
#if !defined BIG_ENDIAN
|
#if !defined BIG_ENDIAN
|
||||||
#define BIG_ENDIAN 4321
|
#define BIG_ENDIAN 4321
|
||||||
|
@ -20,10 +20,10 @@
|
|||||||
#define stricmp(a,b) strcasecmp(a,b)
|
#define stricmp(a,b) strcasecmp(a,b)
|
||||||
#define strnicmp(a,b,c) strncasecmp(a,b,c)
|
#define strnicmp(a,b,c) strncasecmp(a,b,c)
|
||||||
|
|
||||||
#if ( defined(__linux__) || defined(__APPLE__) ) && !defined _snprintf
|
#if defined __linux__ && !defined _snprintf
|
||||||
#define _snprintf snprintf
|
#define _snprintf snprintf
|
||||||
#endif
|
#endif
|
||||||
#if ( defined(__linux__) || defined(__APPLE__) ) && !defined _vsnprintf
|
#if defined __linux__ && !defined _vsnprintf
|
||||||
//#define _vsnprintf vsnprintf
|
//#define _vsnprintf vsnprintf
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -40,10 +40,6 @@
|
|||||||
*/
|
*/
|
||||||
#if !defined __BYTE_ORDER
|
#if !defined __BYTE_ORDER
|
||||||
# include <stdlib.h>
|
# include <stdlib.h>
|
||||||
# if defined __APPLE__
|
|
||||||
# include <sys/types.h>
|
|
||||||
# define __BYTE_ORDER BYTE_ORDER
|
|
||||||
# endif
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined __OpenBSD__
|
#if defined __OpenBSD__
|
||||||
|
@ -2240,7 +2240,7 @@ static META_FUNCTIONS g_MetaFunctions_Table =
|
|||||||
GetEngineFunctions_Post
|
GetEngineFunctions_Post
|
||||||
};
|
};
|
||||||
|
|
||||||
C_DLLEXPORT int Meta_Query(const char *ifvers, plugin_info_t **pPlugInfo, mutil_funcs_t *pMetaUtilFuncs)
|
C_DLLEXPORT int Meta_Query(char *ifvers, plugin_info_t **pPlugInfo, mutil_funcs_t *pMetaUtilFuncs)
|
||||||
{
|
{
|
||||||
if ((int) CVAR_GET_FLOAT("developer") != 0)
|
if ((int) CVAR_GET_FLOAT("developer") != 0)
|
||||||
UTIL_LogPrintf("[%s] dev: called: Meta_Query; version=%s, ours=%s\n",
|
UTIL_LogPrintf("[%s] dev: called: Meta_Query; version=%s, ours=%s\n",
|
||||||
@ -2334,7 +2334,7 @@ C_DLLEXPORT int Meta_Detach(PLUG_LOADTIME now, PL_UNLOAD_REASON reason)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
#if defined(__linux__) || defined(__APPLE__)
|
#ifdef __linux__
|
||||||
// linux prototype
|
// linux prototype
|
||||||
C_DLLEXPORT void GiveFnptrsToDll( enginefuncs_t* pengfuncsFromEngine, globalvars_t *pGlobals ) {
|
C_DLLEXPORT void GiveFnptrsToDll( enginefuncs_t* pengfuncsFromEngine, globalvars_t *pGlobals ) {
|
||||||
|
|
||||||
@ -2548,14 +2548,6 @@ C_DLLEXPORT int AMXX_Query(int *interfaceVersion, amxx_module_info_s *moduleInfo
|
|||||||
// request optional function
|
// request optional function
|
||||||
#define REQFUNC_OPT(name, fptr, type) fptr = (type)reqFnptrFunc(name)
|
#define REQFUNC_OPT(name, fptr, type) fptr = (type)reqFnptrFunc(name)
|
||||||
|
|
||||||
C_DLLEXPORT int AMXX_CheckGame(const char *game)
|
|
||||||
{
|
|
||||||
#ifdef FN_AMXX_CHECKGAME
|
|
||||||
return FN_AMXX_CHECKGAME(game);
|
|
||||||
#else
|
|
||||||
return AMXX_GAME_OK;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
C_DLLEXPORT int AMXX_Attach(PFN_REQ_FNPTR reqFnptrFunc)
|
C_DLLEXPORT int AMXX_Attach(PFN_REQ_FNPTR reqFnptrFunc)
|
||||||
{
|
{
|
||||||
// Check pointer
|
// Check pointer
|
||||||
@ -3050,7 +3042,7 @@ char* UTIL_VarArgs( char *format, ... )
|
|||||||
// UTIL_LogPrintf - Prints a logged message to console.
|
// UTIL_LogPrintf - Prints a logged message to console.
|
||||||
// Preceded by LOG: ( timestamp ) < message >
|
// Preceded by LOG: ( timestamp ) < message >
|
||||||
//=========================================================
|
//=========================================================
|
||||||
void UTIL_LogPrintf( const char *fmt, ... )
|
void UTIL_LogPrintf( char *fmt, ... )
|
||||||
{
|
{
|
||||||
va_list argptr;
|
va_list argptr;
|
||||||
static char string[1024];
|
static char string[1024];
|
||||||
|
@ -10,7 +10,6 @@
|
|||||||
// config
|
// config
|
||||||
#include "moduleconfig.h"
|
#include "moduleconfig.h"
|
||||||
|
|
||||||
#include <stddef.h> // size_t
|
|
||||||
// metamod include files
|
// metamod include files
|
||||||
#ifdef USE_METAMOD
|
#ifdef USE_METAMOD
|
||||||
#include <extdll.h>
|
#include <extdll.h>
|
||||||
@ -20,16 +19,11 @@
|
|||||||
|
|
||||||
// DLL Export
|
// DLL Export
|
||||||
#undef DLLEXPORT
|
#undef DLLEXPORT
|
||||||
#if defined(_WIN32)
|
#ifndef __linux__
|
||||||
#define DLLEXPORT __declspec(dllexport)
|
#define DLLEXPORT __declspec(dllexport)
|
||||||
#else
|
#else
|
||||||
#define DLLEXPORT __attribute__((visibility("default")))
|
#define DLLEXPORT __attribute__((visibility("default")))
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(__linux__) && !defined(LINUX)
|
|
||||||
#define LINUX
|
#define LINUX
|
||||||
#elif defined(__APPLE__) && !defined(OSX)
|
|
||||||
#define OSX
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#undef C_DLLEXPORT
|
#undef C_DLLEXPORT
|
||||||
@ -61,9 +55,6 @@ struct amxx_module_info_s
|
|||||||
#define AMXX_PARAM 2 /* Invalid parameter */
|
#define AMXX_PARAM 2 /* Invalid parameter */
|
||||||
#define AMXX_FUNC_NOT_PRESENT 3 /* Function not present */
|
#define AMXX_FUNC_NOT_PRESENT 3 /* Function not present */
|
||||||
|
|
||||||
#define AMXX_GAME_OK 0 /* This module can load on the current game mod. */
|
|
||||||
#define AMXX_GAME_BAD 1 /* This module can not load on the current game mod. */
|
|
||||||
|
|
||||||
// *** Small stuff ***
|
// *** Small stuff ***
|
||||||
// The next section is copied from the amx.h file
|
// The next section is copied from the amx.h file
|
||||||
// Copyright (c) ITB CompuPhase, 1997-2005
|
// Copyright (c) ITB CompuPhase, 1997-2005
|
||||||
@ -71,7 +62,7 @@ struct amxx_module_info_s
|
|||||||
#if defined HAVE_STDINT_H
|
#if defined HAVE_STDINT_H
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#else
|
#else
|
||||||
#if defined __LCC__ || defined __DMC__ || defined LINUX || defined __APPLE__
|
#if defined __LCC__ || defined __DMC__ || defined LINUX
|
||||||
#if defined HAVE_INTTYPES_H
|
#if defined HAVE_INTTYPES_H
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
#else
|
#else
|
||||||
@ -313,7 +304,7 @@ typedef int (AMXAPI *AMX_DEBUG)(struct tagAMX *amx);
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined AMX_NO_ALIGN
|
#if !defined AMX_NO_ALIGN
|
||||||
#if defined LINUX || defined __FreeBSD__ || defined __APPLE__
|
#if defined LINUX || defined __FreeBSD__
|
||||||
#pragma pack(1) /* structures must be packed (byte-aligned) */
|
#pragma pack(1) /* structures must be packed (byte-aligned) */
|
||||||
#elif defined MACOS && defined __MWERKS__
|
#elif defined MACOS && defined __MWERKS__
|
||||||
#pragma options align=mac68k
|
#pragma options align=mac68k
|
||||||
@ -400,7 +391,7 @@ enum {
|
|||||||
};
|
};
|
||||||
|
|
||||||
#if !defined AMX_NO_ALIGN
|
#if !defined AMX_NO_ALIGN
|
||||||
#if defined(__linux__) || defined(__APPLE__)
|
#if defined __linux__
|
||||||
#pragma pack() /* reset default packing */
|
#pragma pack() /* reset default packing */
|
||||||
#else
|
#else
|
||||||
#pragma pack(pop) /* reset previous packing */
|
#pragma pack(pop) /* reset previous packing */
|
||||||
@ -411,7 +402,7 @@ enum {
|
|||||||
// ***** declare functions *****
|
// ***** declare functions *****
|
||||||
|
|
||||||
#ifdef USE_METAMOD
|
#ifdef USE_METAMOD
|
||||||
void UTIL_LogPrintf( const char *fmt, ... );
|
void UTIL_LogPrintf( char *fmt, ... );
|
||||||
void UTIL_HudMessage(CBaseEntity *pEntity, const hudtextparms_t &textparms, const char *pMessage);
|
void UTIL_HudMessage(CBaseEntity *pEntity, const hudtextparms_t &textparms, const char *pMessage);
|
||||||
short FixedSigned16( float value, float scale );
|
short FixedSigned16( float value, float scale );
|
||||||
unsigned short FixedUnsigned16( float value, float scale );
|
unsigned short FixedUnsigned16( float value, float scale );
|
||||||
@ -838,11 +829,11 @@ int FN_AllowLagCompensation_Post(void);
|
|||||||
|
|
||||||
|
|
||||||
#ifdef FN_PrecacheModel
|
#ifdef FN_PrecacheModel
|
||||||
int FN_PrecacheModel(const char *s);
|
int FN_PrecacheModel(char *s);
|
||||||
#endif // FN_PrecacheModel
|
#endif // FN_PrecacheModel
|
||||||
|
|
||||||
#ifdef FN_PrecacheSound
|
#ifdef FN_PrecacheSound
|
||||||
int FN_PrecacheSound(const char *s);
|
int FN_PrecacheSound(char *s);
|
||||||
#endif // FN_PrecacheSound
|
#endif // FN_PrecacheSound
|
||||||
|
|
||||||
#ifdef FN_SetModel
|
#ifdef FN_SetModel
|
||||||
@ -862,7 +853,7 @@ void FN_SetSize(edict_t *e, const float *rgflMin, const float *rgflMax);
|
|||||||
#endif // FN_SetSize
|
#endif // FN_SetSize
|
||||||
|
|
||||||
#ifdef FN_ChangeLevel
|
#ifdef FN_ChangeLevel
|
||||||
void FN_ChangeLevel(const char *s1, const char *s2);
|
void FN_ChangeLevel(char *s1, char *s2);
|
||||||
#endif // FN_ChangeLevel
|
#endif // FN_ChangeLevel
|
||||||
|
|
||||||
#ifdef FN_GetSpawnParms
|
#ifdef FN_GetSpawnParms
|
||||||
@ -1266,19 +1257,19 @@ char *FN_GetInfoKeyBuffer(edict_t *e);
|
|||||||
#endif // FN_GetInfoKeyBuffer
|
#endif // FN_GetInfoKeyBuffer
|
||||||
|
|
||||||
#ifdef FN_InfoKeyValue
|
#ifdef FN_InfoKeyValue
|
||||||
char *FN_InfoKeyValue(char *infobuffer, const char *key);
|
char *FN_InfoKeyValue(char *infobuffer, char *key);
|
||||||
#endif // FN_InfoKeyValue
|
#endif // FN_InfoKeyValue
|
||||||
|
|
||||||
#ifdef FN_SetKeyValue
|
#ifdef FN_SetKeyValue
|
||||||
void FN_SetKeyValue(char *infobuffer, const char *key, const char *value);
|
void FN_SetKeyValue(char *infobuffer, char *key, char *value);
|
||||||
#endif // FN_SetKeyValue
|
#endif // FN_SetKeyValue
|
||||||
|
|
||||||
#ifdef FN_SetClientKeyValue
|
#ifdef FN_SetClientKeyValue
|
||||||
void FN_SetClientKeyValue(int clientIndex, char *infobuffer, const char *key, const char *value);
|
void FN_SetClientKeyValue(int clientIndex, char *infobuffer, char *key, char *value);
|
||||||
#endif // FN_SetClientKeyValue
|
#endif // FN_SetClientKeyValue
|
||||||
|
|
||||||
#ifdef FN_IsMapValid
|
#ifdef FN_IsMapValid
|
||||||
int FN_IsMapValid(const char *filename);
|
int FN_IsMapValid(char *filename);
|
||||||
#endif // FN_IsMapValid
|
#endif // FN_IsMapValid
|
||||||
|
|
||||||
#ifdef FN_StaticDecal
|
#ifdef FN_StaticDecal
|
||||||
@ -1286,7 +1277,7 @@ void FN_StaticDecal(const float *origin, int decalIndex, int entityIndex, int mo
|
|||||||
#endif // FN_StaticDecal
|
#endif // FN_StaticDecal
|
||||||
|
|
||||||
#ifdef FN_PrecacheGeneric
|
#ifdef FN_PrecacheGeneric
|
||||||
int FN_PrecacheGeneric(const char *s);
|
int FN_PrecacheGeneric(char *s);
|
||||||
#endif // FN_PrecacheGeneric
|
#endif // FN_PrecacheGeneric
|
||||||
|
|
||||||
#ifdef FN_GetPlayerUserId
|
#ifdef FN_GetPlayerUserId
|
||||||
@ -1419,11 +1410,11 @@ const char *FN_GetPlayerAuthId(edict_t *e);
|
|||||||
|
|
||||||
|
|
||||||
#ifdef FN_PrecacheModel_Post
|
#ifdef FN_PrecacheModel_Post
|
||||||
int FN_PrecacheModel_Post(const char *s);
|
int FN_PrecacheModel_Post(char *s);
|
||||||
#endif // FN_PrecacheModel_Post
|
#endif // FN_PrecacheModel_Post
|
||||||
|
|
||||||
#ifdef FN_PrecacheSound_Post
|
#ifdef FN_PrecacheSound_Post
|
||||||
int FN_PrecacheSound_Post(const char *s);
|
int FN_PrecacheSound_Post(char *s);
|
||||||
#endif // FN_PrecacheSound_Post
|
#endif // FN_PrecacheSound_Post
|
||||||
|
|
||||||
#ifdef FN_SetModel_Post
|
#ifdef FN_SetModel_Post
|
||||||
@ -1443,7 +1434,7 @@ void FN_SetSize_Post(edict_t *e, const float *rgflMin, const float *rgflMax);
|
|||||||
#endif // FN_SetSize_Post
|
#endif // FN_SetSize_Post
|
||||||
|
|
||||||
#ifdef FN_ChangeLevel_Post
|
#ifdef FN_ChangeLevel_Post
|
||||||
void FN_ChangeLevel_Post(const char *s1, const char *s2);
|
void FN_ChangeLevel_Post(char *s1, char *s2);
|
||||||
#endif // FN_ChangeLevel_Post
|
#endif // FN_ChangeLevel_Post
|
||||||
|
|
||||||
#ifdef FN_GetSpawnParms_Post
|
#ifdef FN_GetSpawnParms_Post
|
||||||
@ -1847,19 +1838,19 @@ char *FN_GetInfoKeyBuffer_Post(edict_t *e);
|
|||||||
#endif // FN_GetInfoKeyBuffer_Post
|
#endif // FN_GetInfoKeyBuffer_Post
|
||||||
|
|
||||||
#ifdef FN_InfoKeyValue_Post
|
#ifdef FN_InfoKeyValue_Post
|
||||||
char *FN_InfoKeyValue_Post(char *infobuffer, const char *key);
|
char *FN_InfoKeyValue_Post(char *infobuffer, char *key);
|
||||||
#endif // FN_InfoKeyValue_Post
|
#endif // FN_InfoKeyValue_Post
|
||||||
|
|
||||||
#ifdef FN_SetKeyValue_Post
|
#ifdef FN_SetKeyValue_Post
|
||||||
void FN_SetKeyValue_Post(char *infobuffer, const char *key, const char *value);
|
void FN_SetKeyValue_Post(char *infobuffer, char *key, char *value);
|
||||||
#endif // FN_SetKeyValue_Post
|
#endif // FN_SetKeyValue_Post
|
||||||
|
|
||||||
#ifdef FN_SetClientKeyValue_Post
|
#ifdef FN_SetClientKeyValue_Post
|
||||||
void FN_SetClientKeyValue_Post(int clientIndex, char *infobuffer, const char *key, const char *value);
|
void FN_SetClientKeyValue_Post(int clientIndex, char *infobuffer, char *key, char *value);
|
||||||
#endif // FN_SetClientKeyValue_Post
|
#endif // FN_SetClientKeyValue_Post
|
||||||
|
|
||||||
#ifdef FN_IsMapValid_Post
|
#ifdef FN_IsMapValid_Post
|
||||||
int FN_IsMapValid_Post(const char *filename);
|
int FN_IsMapValid_Post(char *filename);
|
||||||
#endif // FN_IsMapValid_Post
|
#endif // FN_IsMapValid_Post
|
||||||
|
|
||||||
#ifdef FN_StaticDecal_Post
|
#ifdef FN_StaticDecal_Post
|
||||||
@ -1867,7 +1858,7 @@ void FN_StaticDecal_Post(const float *origin, int decalIndex, int entityIndex, i
|
|||||||
#endif // FN_StaticDecal_Post
|
#endif // FN_StaticDecal_Post
|
||||||
|
|
||||||
#ifdef FN_PrecacheGeneric_Post
|
#ifdef FN_PrecacheGeneric_Post
|
||||||
int FN_PrecacheGeneric_Post(const char *s);
|
int FN_PrecacheGeneric_Post(char *s);
|
||||||
#endif // FN_PrecacheGeneric_Post
|
#endif // FN_PrecacheGeneric_Post
|
||||||
|
|
||||||
#ifdef FN_GetPlayerUserId_Post
|
#ifdef FN_GetPlayerUserId_Post
|
||||||
@ -2032,10 +2023,6 @@ int FN_ShouldCollide_Post(edict_t *pentTouched, edict_t *pentOther);
|
|||||||
void FN_AMXX_QUERY(void);
|
void FN_AMXX_QUERY(void);
|
||||||
#endif // FN_AMXX_QUERY
|
#endif // FN_AMXX_QUERY
|
||||||
|
|
||||||
#ifdef FN_AMXX_CHECKGAME
|
|
||||||
int FN_AMXX_CHECKGAME(const char *);
|
|
||||||
#endif // FN_AMXX_CHECKGAME
|
|
||||||
|
|
||||||
#ifdef FN_AMXX_ATTACH
|
#ifdef FN_AMXX_ATTACH
|
||||||
void FN_AMXX_ATTACH(void);
|
void FN_AMXX_ATTACH(void);
|
||||||
#endif // FN_AMXX_ATTACH
|
#endif // FN_AMXX_ATTACH
|
||||||
@ -2121,7 +2108,7 @@ typedef int (*PFN_ADD_NEW_NATIVES) (const AMX_NATIVE_INFO * /*list*/);
|
|||||||
typedef char * (*PFN_BUILD_PATHNAME) (const char * /*format*/, ...);
|
typedef char * (*PFN_BUILD_PATHNAME) (const char * /*format*/, ...);
|
||||||
typedef char * (*PFN_BUILD_PATHNAME_R) (char * /*buffer*/, size_t /* maxlen */, const char * /* format */, ...);
|
typedef char * (*PFN_BUILD_PATHNAME_R) (char * /*buffer*/, size_t /* maxlen */, const char * /* format */, ...);
|
||||||
typedef cell * (*PFN_GET_AMXADDR) (AMX * /*amx*/, cell /*offset*/);
|
typedef cell * (*PFN_GET_AMXADDR) (AMX * /*amx*/, cell /*offset*/);
|
||||||
typedef void (*PFN_PRINT_SRVCONSOLE) (const char * /*format*/, ...);
|
typedef void (*PFN_PRINT_SRVCONSOLE) (char * /*format*/, ...);
|
||||||
typedef const char * (*PFN_GET_MODNAME) (void);
|
typedef const char * (*PFN_GET_MODNAME) (void);
|
||||||
typedef const char * (*PFN_GET_AMXSCRIPTNAME) (int /*id*/);
|
typedef const char * (*PFN_GET_AMXSCRIPTNAME) (int /*id*/);
|
||||||
typedef AMX * (*PFN_GET_AMXSCRIPT) (int /*id*/);
|
typedef AMX * (*PFN_GET_AMXSCRIPT) (int /*id*/);
|
||||||
@ -2180,8 +2167,8 @@ typedef void (*PFN_DEALLOCATOR) (const char* /*filename*/, const unsigned i
|
|||||||
typedef int (*PFN_AMX_EXEC) (AMX* /*amx*/, cell* /*return val*/, int /*index*/);
|
typedef int (*PFN_AMX_EXEC) (AMX* /*amx*/, cell* /*return val*/, int /*index*/);
|
||||||
typedef int (*PFN_AMX_EXECV) (AMX* /*amx*/, cell* /*return val*/, int /*index*/, int /*numparams*/, cell[] /*params*/);
|
typedef int (*PFN_AMX_EXECV) (AMX* /*amx*/, cell* /*return val*/, int /*index*/, int /*numparams*/, cell[] /*params*/);
|
||||||
typedef int (*PFN_AMX_ALLOT) (AMX* /*amx*/, int /*length*/, cell* /*amx_addr*/, cell** /*phys_addr*/);
|
typedef int (*PFN_AMX_ALLOT) (AMX* /*amx*/, int /*length*/, cell* /*amx_addr*/, cell** /*phys_addr*/);
|
||||||
typedef int (*PFN_AMX_FINDPUBLIC) (AMX* /*amx*/, const char* /*func name*/, int* /*index*/);
|
typedef int (*PFN_AMX_FINDPUBLIC) (AMX* /*amx*/, char* /*func name*/, int* /*index*/);
|
||||||
typedef int (*PFN_AMX_FINDNATIVE) (AMX* /*amx*/, const char* /*func name*/, int* /*index*/);
|
typedef int (*PFN_AMX_FINDNATIVE) (AMX* /*amx*/, char* /*func name*/, int* /*index*/);
|
||||||
typedef int (*PFN_LOAD_AMXSCRIPT) (AMX* /*amx*/, void** /*code*/, const char* /*path*/, char[64] /*error info*/, int /* debug */);
|
typedef int (*PFN_LOAD_AMXSCRIPT) (AMX* /*amx*/, void** /*code*/, const char* /*path*/, char[64] /*error info*/, int /* debug */);
|
||||||
typedef int (*PFN_UNLOAD_AMXSCRIPT) (AMX* /*amx*/,void** /*code*/);
|
typedef int (*PFN_UNLOAD_AMXSCRIPT) (AMX* /*amx*/,void** /*code*/);
|
||||||
typedef cell (*PFN_REAL_TO_CELL) (REAL /*x*/);
|
typedef cell (*PFN_REAL_TO_CELL) (REAL /*x*/);
|
||||||
|
@ -54,12 +54,6 @@
|
|||||||
/** AMXX query */
|
/** AMXX query */
|
||||||
//#define FN_AMXX_QUERY OnAmxxQuery
|
//#define FN_AMXX_QUERY OnAmxxQuery
|
||||||
|
|
||||||
/** AMXX Check Game - module API is NOT available here.
|
|
||||||
* Return AMXX_GAME_OK if this module can load on the game, AMXX_GAME_BAD if it cannot.
|
|
||||||
* syntax: int AmxxCheckGame(const char *game)
|
|
||||||
*/
|
|
||||||
//#define FN_AMXX_CHECKGAME AmxxCheckGame
|
|
||||||
|
|
||||||
/** AMXX attach
|
/** AMXX attach
|
||||||
* Do native functions init here (MF_AddNatives)
|
* Do native functions init here (MF_AddNatives)
|
||||||
*/
|
*/
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <new>
|
#include <new>
|
||||||
#include <stdlib.h>
|
#include <malloc.h>
|
||||||
|
|
||||||
//namespace SourceHook
|
//namespace SourceHook
|
||||||
//{
|
//{
|
||||||
|
@ -54,12 +54,12 @@
|
|||||||
typedef List<THashNode *> * NodePtr;
|
typedef List<THashNode *> * NodePtr;
|
||||||
public:
|
public:
|
||||||
class const_iterator;
|
class const_iterator;
|
||||||
THash() : m_Buckets(NULL), m_numBuckets(0), m_percentUsed(0.0f)
|
THash() : m_Buckets(NULL), m_numBuckets(0), m_percentUsed(0.0f), m_items(0)
|
||||||
{
|
{
|
||||||
_Refactor();
|
_Refactor();
|
||||||
}
|
}
|
||||||
THash(const THash &other) : m_Buckets(new NodePtr[other.m_numBuckets]),
|
THash(const THash &other) : m_Buckets(new NodePtr[other.m_numBuckets]),
|
||||||
m_numBuckets(other.m_numBuckets), m_percentUsed(other.m_percentUsed)
|
m_numBuckets(other.m_numBuckets), m_percentUsed(other.m_percentUsed), m_items(0)
|
||||||
{
|
{
|
||||||
for (size_t i=0; i<m_numBuckets; i++)
|
for (size_t i=0; i<m_numBuckets; i++)
|
||||||
m_Buckets[i] = NULL;
|
m_Buckets[i] = NULL;
|
||||||
@ -82,6 +82,10 @@
|
|||||||
_Clear();
|
_Clear();
|
||||||
_Refactor();
|
_Refactor();
|
||||||
}
|
}
|
||||||
|
size_t size()
|
||||||
|
{
|
||||||
|
return m_items;
|
||||||
|
}
|
||||||
size_t GetBuckets()
|
size_t GetBuckets()
|
||||||
{
|
{
|
||||||
return m_numBuckets;
|
return m_numBuckets;
|
||||||
@ -118,6 +122,7 @@
|
|||||||
delete [] m_Buckets;
|
delete [] m_Buckets;
|
||||||
m_Buckets = NULL;
|
m_Buckets = NULL;
|
||||||
m_numBuckets = 0;
|
m_numBuckets = 0;
|
||||||
|
m_items = 0;
|
||||||
}
|
}
|
||||||
public:
|
public:
|
||||||
template <typename U>
|
template <typename U>
|
||||||
@ -224,6 +229,8 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
public:
|
public:
|
||||||
|
friend class iterator;
|
||||||
|
friend class const_iterator;
|
||||||
class iterator
|
class iterator
|
||||||
{
|
{
|
||||||
friend class THash;
|
friend class THash;
|
||||||
@ -297,6 +304,8 @@
|
|||||||
*this = tmp;
|
*this = tmp;
|
||||||
|
|
||||||
// :TODO: Maybe refactor to a lower size if required
|
// :TODO: Maybe refactor to a lower size if required
|
||||||
|
|
||||||
|
m_items--;
|
||||||
}
|
}
|
||||||
private:
|
private:
|
||||||
void _Inc()
|
void _Inc()
|
||||||
@ -445,8 +454,6 @@
|
|||||||
const THash *hash;
|
const THash *hash;
|
||||||
bool end;
|
bool end;
|
||||||
};
|
};
|
||||||
friend class iterator;
|
|
||||||
friend class const_iterator;
|
|
||||||
public:
|
public:
|
||||||
iterator begin()
|
iterator begin()
|
||||||
{
|
{
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -30,7 +30,6 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "amxmodx.h"
|
#include "amxmodx.h"
|
||||||
#include "svn_version.h"
|
|
||||||
|
|
||||||
void amx_command()
|
void amx_command()
|
||||||
{
|
{
|
||||||
@ -201,9 +200,8 @@ void amx_command()
|
|||||||
print_srvconsole("Authors:\n\tDavid \"BAILOPAN\" Anderson, Pavol \"PM OnoTo\" Marko\n");
|
print_srvconsole("Authors:\n\tDavid \"BAILOPAN\" Anderson, Pavol \"PM OnoTo\" Marko\n");
|
||||||
print_srvconsole("\tFelix \"SniperBeamer\" Geyer, Jonny \"Got His Gun\" Bergstrom\n");
|
print_srvconsole("\tFelix \"SniperBeamer\" Geyer, Jonny \"Got His Gun\" Bergstrom\n");
|
||||||
print_srvconsole("\tLukasz \"SidLuke\" Wlasinski, Christian \"Basic-Master\" Hammacher\n");
|
print_srvconsole("\tLukasz \"SidLuke\" Wlasinski, Christian \"Basic-Master\" Hammacher\n");
|
||||||
print_srvconsole("\tBorja \"faluco\" Ferrer, Scott \"DS\" Ehlert\n");
|
print_srvconsole("\tBorja \"faluco\" Ferrer, Scott \"Damaged Soul\" Ehlert\n");
|
||||||
print_srvconsole("Compiled: %s\n", __DATE__ ", " __TIME__);
|
print_srvconsole("Compiled: %s\n", __DATE__ ", " __TIME__);
|
||||||
print_srvconsole("Build ID: %s\n", SVN_BUILD_ID);
|
|
||||||
#if defined JIT && !defined ASM32
|
#if defined JIT && !defined ASM32
|
||||||
print_srvconsole("Core mode: JIT Only\n");
|
print_srvconsole("Core mode: JIT Only\n");
|
||||||
#elif !defined JIT && defined ASM32
|
#elif !defined JIT && defined ASM32
|
||||||
|
@ -1035,7 +1035,7 @@ static cell AMX_NATIVE_CALL n_strfind(AMX *amx, cell *params)
|
|||||||
if (params[4] > len)
|
if (params[4] > len)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
char *find = strstr(str + params[4], sub);
|
char *find = strstr(str, sub);
|
||||||
|
|
||||||
if (!find)
|
if (!find)
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#if defined(__linux__) || defined(__APPLE__)
|
#ifdef __linux__
|
||||||
#define strnicmp strncasecmp
|
#define strnicmp strncasecmp
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -336,10 +336,8 @@ char *strptime(const char *buf, const char *fmt, struct tm *tm, short addthem)
|
|||||||
if (0 <= ti.qS) (*defoper) ( &tm->tm_sec , ti.qS );
|
if (0 <= ti.qS) (*defoper) ( &tm->tm_sec , ti.qS );
|
||||||
if (0 <= ti.qM) (*defoper) ( &tm->tm_min , ti.qM ); //tm->tm_min = ti.qM;
|
if (0 <= ti.qM) (*defoper) ( &tm->tm_min , ti.qM ); //tm->tm_min = ti.qM;
|
||||||
if (0 <= ti.qI)
|
if (0 <= ti.qI)
|
||||||
{
|
|
||||||
if (0 <= ti.qp) ti.qH = ti.qI % 12 + ti.qp * 12;
|
if (0 <= ti.qp) ti.qH = ti.qI % 12 + ti.qp * 12;
|
||||||
else (*defoper) ( &tm->tm_hour , ti.qI ); //tm->tm_hour = ti.qI;
|
else (*defoper) ( &tm->tm_hour , ti.qI ); //tm->tm_hour = ti.qI;
|
||||||
}
|
|
||||||
if (0 <= ti.qH) (*defoper) ( &tm->tm_hour , ti.qH ); //tm->tm_hour = ti.qH;
|
if (0 <= ti.qH) (*defoper) ( &tm->tm_hour , ti.qH ); //tm->tm_hour = ti.qH;
|
||||||
if (0 <= ti.qZ) (*defoper) ( &tm->tm_isdst , ti.qZ - 1 ); //tm->tm_isdst = ti.qZ - 1;
|
if (0 <= ti.qZ) (*defoper) ( &tm->tm_isdst , ti.qZ - 1 ); //tm->tm_isdst = ti.qZ - 1;
|
||||||
if (0 <= ti.qy) ti.qY = ti.qy;
|
if (0 <= ti.qy) ti.qY = ti.qy;
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
#ifndef _INCLUDE_SVN_VERSION_H_
|
#ifndef _INCLUDE_SVN_VERSION_H_
|
||||||
#define _INCLUDE_SVN_VERSION_H_
|
#define _INCLUDE_SVN_VERSION_H_
|
||||||
|
|
||||||
#define SVN_VERSION_STRING "1.8.2-dev"
|
#define SVN_VERSION_STRING "1.8.0.3660"
|
||||||
#define SVN_VERSION_DWORD 1,8,2,0
|
#define SVN_VERSION_DWORD 1,8,0,3660
|
||||||
#define SVN_VERSION_PRODUCT "1.8.2"
|
#define SVN_VERSION_PRODUCT "1.8.0"
|
||||||
#define SVN_BUILD_ID SVN_VERSION_STRING " 9:7ff502465eae"
|
|
||||||
|
|
||||||
#endif //_INCLUDE_SVN_VERSION_H_
|
#endif //_INCLUDE_SVN_VERSION_H_
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
#ifndef _INCLUDE_SVN_VERSION_H_
|
#ifndef _INCLUDE_SVN_VERSION_H_
|
||||||
#define _INCLUDE_SVN_VERSION_H_
|
#define _INCLUDE_SVN_VERSION_H_
|
||||||
|
|
||||||
#define SVN_VERSION_STRING "$PMAJOR$.$PMINOR$.$PREVISION$$BUILD_STRING$"
|
#define SVN_VERSION_STRING "$PMAJOR$.$PMINOR$.$PREVISION$.$GLOBAL_BUILD$"
|
||||||
#define SVN_VERSION_DWORD $PMAJOR$,$PMINOR$,$PREVISION$,0
|
#define SVN_VERSION_DWORD $PMAJOR$,$PMINOR$,$PREVISION$,$GLOBAL_BUILD$
|
||||||
#define SVN_VERSION_PRODUCT "$PMAJOR$.$PMINOR$.$PREVISION$"
|
#define SVN_VERSION_PRODUCT "$PMAJOR$.$PMINOR$.$PREVISION$"
|
||||||
#define SVN_BUILD_ID SVN_VERSION_STRING " $BUILD_ID$"
|
|
||||||
|
|
||||||
#endif //_INCLUDE_SVN_VERSION_H_
|
#endif //_INCLUDE_SVN_VERSION_H_
|
||||||
|
@ -1,316 +0,0 @@
|
|||||||
#include <stdio.h>
|
|
||||||
#include <stddef.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
|
|
||||||
#include "amxmodx.h"
|
|
||||||
#include "sm_trie_tpl.h"
|
|
||||||
#include "trie_natives.h"
|
|
||||||
|
|
||||||
#ifndef NDEBUG
|
|
||||||
size_t trie_free_count = 0;
|
|
||||||
size_t trie_malloc_count = 0;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
TrieHandles g_TrieHandles;
|
|
||||||
typedef KTrie<TrieData> celltrie;
|
|
||||||
|
|
||||||
void triedata_dtor(TrieData *ptr)
|
|
||||||
{
|
|
||||||
ptr->freeCells();
|
|
||||||
}
|
|
||||||
// native Trie:TrieCreate();
|
|
||||||
static cell AMX_NATIVE_CALL TrieCreate(AMX *amx, cell *params)
|
|
||||||
{
|
|
||||||
return static_cast<cell>(g_TrieHandles.create());
|
|
||||||
}
|
|
||||||
|
|
||||||
// native Trie::TrieClear(Trie:handle);
|
|
||||||
static cell AMX_NATIVE_CALL TrieClear(AMX *amx, cell *params)
|
|
||||||
{
|
|
||||||
celltrie *t = g_TrieHandles.lookup(params[1]);
|
|
||||||
|
|
||||||
if (t == NULL)
|
|
||||||
{
|
|
||||||
LogError(amx, AMX_ERR_NATIVE, "Invalid trie handle provided (%d)", params[1]);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
t->run_destructor(triedata_dtor);
|
|
||||||
t->clear();
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
// native TrieSetCell(Trie:handle, const key[], any:value);
|
|
||||||
static cell AMX_NATIVE_CALL TrieSetCell(AMX *amx, cell *params)
|
|
||||||
{
|
|
||||||
celltrie *t = g_TrieHandles.lookup(params[1]);
|
|
||||||
|
|
||||||
if (t == NULL)
|
|
||||||
{
|
|
||||||
LogError(amx, AMX_ERR_NATIVE, "Invalid trie handle provided (%d)", params[1]);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
TrieData *td = NULL;
|
|
||||||
int len;
|
|
||||||
const char *key = get_amxstring(amx, params[2], 0, len);
|
|
||||||
|
|
||||||
if ((td = t->retrieve(key)) == NULL)
|
|
||||||
{
|
|
||||||
TrieData dummy;
|
|
||||||
t->insert(key, dummy);
|
|
||||||
|
|
||||||
td = t->retrieve(key);
|
|
||||||
|
|
||||||
// should never, ever happen
|
|
||||||
if (td == NULL)
|
|
||||||
{
|
|
||||||
LogError(amx, AMX_ERR_NATIVE, "Couldn't KTrie::retrieve(), handle: %d", params[1]);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
td->setCell(params[3]);
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
// native TrieSetString(Trie:handle, const key[], const data[]);
|
|
||||||
static cell AMX_NATIVE_CALL TrieSetString(AMX *amx, cell *params)
|
|
||||||
{
|
|
||||||
celltrie *t = g_TrieHandles.lookup(params[1]);
|
|
||||||
|
|
||||||
if (t == NULL)
|
|
||||||
{
|
|
||||||
LogError(amx, AMX_ERR_NATIVE, "Invalid trie handle provided (%d)", params[1]);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
TrieData *td = NULL;
|
|
||||||
int len;
|
|
||||||
const char *key = get_amxstring(amx, params[2], 0, len);
|
|
||||||
|
|
||||||
if ((td = t->retrieve(key)) == NULL)
|
|
||||||
{
|
|
||||||
TrieData dummy;
|
|
||||||
t->insert(key, dummy);
|
|
||||||
td = t->retrieve(key);
|
|
||||||
|
|
||||||
// should never, ever happen
|
|
||||||
if (td == NULL)
|
|
||||||
{
|
|
||||||
LogError(amx, AMX_ERR_NATIVE, "Couldn't KTrie::retrieve(), handle: %d", params[1]);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
td->setString(get_amxaddr(amx, params[3]));
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
// native TrieSetArray(Trie:handle, const key[], const any:buffer[], buffsize)
|
|
||||||
static cell AMX_NATIVE_CALL TrieSetArray(AMX *amx, cell *params)
|
|
||||||
{
|
|
||||||
celltrie *t = g_TrieHandles.lookup(params[1]);
|
|
||||||
|
|
||||||
if (t == NULL)
|
|
||||||
{
|
|
||||||
LogError(amx, AMX_ERR_NATIVE, "Invalid trie handle provided (%d)", params[1]);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
TrieData *td = NULL;
|
|
||||||
int len;
|
|
||||||
const char *key = get_amxstring(amx, params[2], 0, len);
|
|
||||||
|
|
||||||
if ((td = t->retrieve(key)) == NULL)
|
|
||||||
{
|
|
||||||
TrieData dummy;
|
|
||||||
t->insert(key, dummy);
|
|
||||||
td = t->retrieve(key);
|
|
||||||
|
|
||||||
// should never, ever happen
|
|
||||||
if (td == NULL)
|
|
||||||
{
|
|
||||||
LogError(amx, AMX_ERR_NATIVE, "Couldn't KTrie::retrieve(), handle: %d", params[1]);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
td->setArray(get_amxaddr(amx, params[3]), params[4]);
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
// native bool:TrieGetCell(Trie:handle, const key[], &any:value);
|
|
||||||
static cell AMX_NATIVE_CALL TrieGetCell(AMX *amx, cell *params)
|
|
||||||
{
|
|
||||||
celltrie *t = g_TrieHandles.lookup(params[1]);
|
|
||||||
|
|
||||||
if (t == NULL)
|
|
||||||
{
|
|
||||||
LogError(amx, AMX_ERR_NATIVE, "Invalid trie handle provided (%d)", params[1]);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
TrieData *td = NULL;
|
|
||||||
int len;
|
|
||||||
const char *key = get_amxstring(amx, params[2], 0, len);
|
|
||||||
|
|
||||||
if ((td = t->retrieve(key)) == NULL)
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
cell *ptr = get_amxaddr(amx, params[3]);
|
|
||||||
if (!td->getCell(ptr))
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
// native bool:TrieGetString(Trie:handle, const key[], buff[], len);
|
|
||||||
static cell AMX_NATIVE_CALL TrieGetString(AMX *amx, cell *params)
|
|
||||||
{
|
|
||||||
celltrie *t = g_TrieHandles.lookup(params[1]);
|
|
||||||
|
|
||||||
if (t == NULL)
|
|
||||||
{
|
|
||||||
LogError(amx, AMX_ERR_NATIVE, "Invalid trie handle provided (%d)", params[1]);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
TrieData *td = NULL;
|
|
||||||
int len;
|
|
||||||
const char *key = get_amxstring(amx, params[2], 0, len);
|
|
||||||
|
|
||||||
if ((td = t->retrieve(key)) == NULL)
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
cell *ptr = get_amxaddr(amx, params[3]);
|
|
||||||
if (!td->getString(ptr, params[4]))
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
// native bool:TrieGetArray(Trie:handle, const key[], any:buff[], len);
|
|
||||||
static cell AMX_NATIVE_CALL TrieGetArray(AMX *amx, cell *params)
|
|
||||||
{
|
|
||||||
celltrie *t = g_TrieHandles.lookup(params[1]);
|
|
||||||
|
|
||||||
if (t == NULL)
|
|
||||||
{
|
|
||||||
LogError(amx, AMX_ERR_NATIVE, "Invalid trie handle provided (%d)", params[1]);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
TrieData *td = NULL;
|
|
||||||
int len;
|
|
||||||
const char *key = get_amxstring(amx, params[2], 0, len);
|
|
||||||
|
|
||||||
if ((td = t->retrieve(key)) == NULL)
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
cell *ptr = get_amxaddr(amx, params[3]);
|
|
||||||
if (!td->getArray(ptr, params[4]))
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
// native bool:TrieKeyExists(Trie:handle, const key[]);
|
|
||||||
static cell AMX_NATIVE_CALL TrieKeyExists(AMX *amx, cell *params)
|
|
||||||
{
|
|
||||||
celltrie *t = g_TrieHandles.lookup(params[1]);
|
|
||||||
|
|
||||||
if (t == NULL)
|
|
||||||
{
|
|
||||||
LogError(amx, AMX_ERR_NATIVE, "Invalid trie handle provided (%d)", params[1]);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int len;
|
|
||||||
const char *key = get_amxstring(amx, params[2], 0, len);
|
|
||||||
return t->retrieve(key) != NULL ? 1 : 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
// native bool:TrieDeleteKey(Trie:handle, const key[]);
|
|
||||||
static cell AMX_NATIVE_CALL TrieDeleteKey(AMX *amx, cell *params)
|
|
||||||
{
|
|
||||||
celltrie *t = g_TrieHandles.lookup(params[1]);
|
|
||||||
|
|
||||||
if (t == NULL)
|
|
||||||
{
|
|
||||||
LogError(amx, AMX_ERR_NATIVE, "Invalid trie handle provided (%d)", params[1]);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int len;
|
|
||||||
const char *key = get_amxstring(amx, params[2], 0, len);
|
|
||||||
TrieData *td = t->retrieve(key);
|
|
||||||
|
|
||||||
if (td != NULL)
|
|
||||||
{
|
|
||||||
td->freeCells();
|
|
||||||
}
|
|
||||||
return t->remove(key) ? 1 : 0;
|
|
||||||
}
|
|
||||||
//native TrieDestroy(&Trie:handle)
|
|
||||||
static cell AMX_NATIVE_CALL TrieDestroy(AMX *amx, cell *params)
|
|
||||||
{
|
|
||||||
cell *ptr = get_amxaddr(amx, params[1]);
|
|
||||||
|
|
||||||
celltrie *t = g_TrieHandles.lookup(*ptr);
|
|
||||||
|
|
||||||
if (t == NULL)
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
t->run_destructor(triedata_dtor);
|
|
||||||
if (g_TrieHandles.destroy(*ptr))
|
|
||||||
{
|
|
||||||
*ptr = 0;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
}
|
|
||||||
#ifndef NDEBUG
|
|
||||||
static cell AMX_NATIVE_CALL TrieMallocCount(AMX *amx, cell *params)
|
|
||||||
{
|
|
||||||
return trie_malloc_count;
|
|
||||||
}
|
|
||||||
static cell AMX_NATIVE_CALL TrieFreeCount(AMX *amx, cell *params)
|
|
||||||
{
|
|
||||||
return trie_free_count;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
AMX_NATIVE_INFO trie_Natives[] =
|
|
||||||
{
|
|
||||||
{ "TrieCreate", TrieCreate },
|
|
||||||
{ "TrieClear", TrieClear },
|
|
||||||
|
|
||||||
{ "TrieSetCell", TrieSetCell },
|
|
||||||
{ "TrieSetString", TrieSetString },
|
|
||||||
{ "TrieSetArray", TrieSetArray },
|
|
||||||
|
|
||||||
{ "TrieGetCell", TrieGetCell },
|
|
||||||
{ "TrieGetString", TrieGetString },
|
|
||||||
{ "TrieGetArray", TrieGetArray },
|
|
||||||
|
|
||||||
{ "TrieDeleteKey", TrieDeleteKey },
|
|
||||||
{ "TrieKeyExists", TrieKeyExists },
|
|
||||||
{ "TrieDestroy", TrieDestroy },
|
|
||||||
|
|
||||||
#ifndef NDEBUG
|
|
||||||
{ "TrieMallocCount", TrieMallocCount },
|
|
||||||
{ "TrieFreeCount", TrieFreeCount },
|
|
||||||
#endif
|
|
||||||
|
|
||||||
{ NULL, NULL }
|
|
||||||
};
|
|
||||||
|
|
@ -1,211 +0,0 @@
|
|||||||
#ifndef _TRIE_NATIVES_H_
|
|
||||||
#define _TRIE_NATIVES_H_
|
|
||||||
|
|
||||||
#include "amxmodx.h"
|
|
||||||
#include "sm_trie_tpl.h"
|
|
||||||
#include "CVector.h"
|
|
||||||
|
|
||||||
#define TRIE_DATA_UNSET 0
|
|
||||||
#define TRIE_DATA_CELL 1
|
|
||||||
#define TRIE_DATA_STRING 2
|
|
||||||
#define TRIE_DATA_ARRAY 3
|
|
||||||
|
|
||||||
#ifndef NDEBUG
|
|
||||||
extern size_t trie_malloc_count;
|
|
||||||
extern size_t trie_free_count;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
class TrieData
|
|
||||||
{
|
|
||||||
private:
|
|
||||||
cell *m_data;
|
|
||||||
cell m_cell;
|
|
||||||
cell m_cellcount;
|
|
||||||
int m_type;
|
|
||||||
|
|
||||||
void needCells(cell cellcount)
|
|
||||||
{
|
|
||||||
if (m_cellcount < cellcount)
|
|
||||||
{
|
|
||||||
if (m_data != NULL)
|
|
||||||
{
|
|
||||||
free(m_data);
|
|
||||||
#ifndef NDEBUG
|
|
||||||
trie_free_count++;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
size_t neededbytes = cellcount * sizeof(cell);
|
|
||||||
m_data = static_cast<cell *>(malloc(neededbytes));
|
|
||||||
|
|
||||||
#ifndef NDEBUG
|
|
||||||
trie_malloc_count++;
|
|
||||||
#endif
|
|
||||||
m_cellcount = cellcount;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public:
|
|
||||||
void freeCells()
|
|
||||||
{
|
|
||||||
if (m_data)
|
|
||||||
{
|
|
||||||
#ifndef NDEBUG
|
|
||||||
trie_free_count++;
|
|
||||||
#endif
|
|
||||||
free(m_data);
|
|
||||||
m_data = NULL;
|
|
||||||
}
|
|
||||||
m_cellcount = 0;
|
|
||||||
}
|
|
||||||
TrieData() : m_data(NULL), m_cell(0), m_cellcount(0), m_type(TRIE_DATA_UNSET) { }
|
|
||||||
TrieData(const TrieData &src) : m_data(src.m_data),
|
|
||||||
m_cell(src.m_cell),
|
|
||||||
m_cellcount(src.m_cellcount),
|
|
||||||
m_type(src.m_type) { }
|
|
||||||
~TrieData() { }
|
|
||||||
|
|
||||||
int getType() { return m_type; }
|
|
||||||
|
|
||||||
void setCell(cell value)
|
|
||||||
{
|
|
||||||
freeCells();
|
|
||||||
|
|
||||||
m_cell = value;
|
|
||||||
m_type = TRIE_DATA_CELL;
|
|
||||||
}
|
|
||||||
void setString(cell *value)
|
|
||||||
{
|
|
||||||
cell len = 0;
|
|
||||||
|
|
||||||
cell *p = value;
|
|
||||||
|
|
||||||
while (*p++ != 0)
|
|
||||||
{
|
|
||||||
len++;
|
|
||||||
}
|
|
||||||
len += 1; // zero terminator
|
|
||||||
needCells(len);
|
|
||||||
memcpy(m_data, value, sizeof(cell) * len);
|
|
||||||
|
|
||||||
m_type = TRIE_DATA_STRING;
|
|
||||||
}
|
|
||||||
void setArray(cell *value, cell size)
|
|
||||||
{
|
|
||||||
if (size <= 0)
|
|
||||||
return;
|
|
||||||
|
|
||||||
needCells(size);
|
|
||||||
memcpy(m_data, value, sizeof(cell) * size);
|
|
||||||
|
|
||||||
m_type = TRIE_DATA_ARRAY;
|
|
||||||
}
|
|
||||||
bool getCell(cell *out)
|
|
||||||
{
|
|
||||||
if (m_type == TRIE_DATA_CELL)
|
|
||||||
{
|
|
||||||
*out = m_cell;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
bool getString(cell *out, cell max)
|
|
||||||
{
|
|
||||||
if (m_type == TRIE_DATA_STRING && max >= 0)
|
|
||||||
{
|
|
||||||
memcpy(out, m_data, (max > m_cellcount ? m_cellcount : max) * sizeof(cell));
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
bool getArray(cell *out, cell max)
|
|
||||||
{
|
|
||||||
if (m_type == TRIE_DATA_ARRAY && max >= 0)
|
|
||||||
{
|
|
||||||
memcpy(out, m_data, (max > m_cellcount ? m_cellcount : max) * sizeof(cell));
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
void clear()
|
|
||||||
{
|
|
||||||
freeCells();
|
|
||||||
m_type = TRIE_DATA_UNSET;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
class TrieHandles
|
|
||||||
{
|
|
||||||
private:
|
|
||||||
CVector< KTrie< TrieData > *> m_tries;
|
|
||||||
|
|
||||||
public:
|
|
||||||
TrieHandles() { }
|
|
||||||
~TrieHandles()
|
|
||||||
{
|
|
||||||
this->clear();
|
|
||||||
}
|
|
||||||
|
|
||||||
void clear()
|
|
||||||
{
|
|
||||||
for (size_t i = 0; i < m_tries.size(); i++)
|
|
||||||
{
|
|
||||||
if (m_tries[i] != NULL)
|
|
||||||
{
|
|
||||||
delete m_tries[i];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
m_tries.clear();
|
|
||||||
}
|
|
||||||
KTrie<TrieData> *lookup(int handle)
|
|
||||||
{
|
|
||||||
handle--;
|
|
||||||
|
|
||||||
if (handle < 0 || handle >= static_cast<int>(m_tries.size()))
|
|
||||||
{
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
return m_tries[handle];
|
|
||||||
}
|
|
||||||
int create()
|
|
||||||
{
|
|
||||||
for (size_t i = 0; i < m_tries.size(); i++)
|
|
||||||
{
|
|
||||||
if (m_tries[i] == NULL)
|
|
||||||
{
|
|
||||||
// reuse handle
|
|
||||||
m_tries[i] = new KTrie<TrieData>;
|
|
||||||
|
|
||||||
return static_cast<int>(i) + 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
m_tries.push_back(new KTrie<TrieData>);
|
|
||||||
return m_tries.size();
|
|
||||||
}
|
|
||||||
bool destroy(int handle)
|
|
||||||
{
|
|
||||||
handle--;
|
|
||||||
|
|
||||||
if (handle < 0 || handle >= static_cast<int>(m_tries.size()))
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (m_tries[handle] == NULL)
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
delete m_tries[handle];
|
|
||||||
m_tries[handle] = NULL;
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
extern TrieHandles g_TrieHandles;
|
|
||||||
extern AMX_NATIVE_INFO trie_Natives[];
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
@ -32,7 +32,7 @@
|
|||||||
#include <time.h>
|
#include <time.h>
|
||||||
#include "amxmodx.h"
|
#include "amxmodx.h"
|
||||||
|
|
||||||
#if ( defined(__linux__) || defined(__APPLE__) ) && !defined _vsnprintf
|
#if defined __linux__ && !defined _vsnprintf
|
||||||
#define _vsnprintf vsnprintf
|
#define _vsnprintf vsnprintf
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -157,8 +157,8 @@ void UTIL_IntToString(int value, char *output)
|
|||||||
|
|
||||||
if (tho)
|
if (tho)
|
||||||
{
|
{
|
||||||
aaa += sprintf(&output[aaa], "%s", words[tho]);
|
aaa += sprintf(&output[aaa], words[tho]);
|
||||||
aaa += sprintf(&output[aaa], "%s", words[29]);
|
aaa += sprintf(&output[aaa], words[29]);
|
||||||
value = value % 1000;
|
value = value % 1000;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -166,8 +166,8 @@ void UTIL_IntToString(int value, char *output)
|
|||||||
|
|
||||||
if (hun)
|
if (hun)
|
||||||
{
|
{
|
||||||
aaa += sprintf(&output[aaa], "%s", words[hun]);
|
aaa += sprintf(&output[aaa], words[hun]);
|
||||||
aaa += sprintf(&output[aaa], "%s", words[28]);
|
aaa += sprintf(&output[aaa], words[28]);
|
||||||
value = value % 100;
|
value = value % 100;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -175,10 +175,10 @@ void UTIL_IntToString(int value, char *output)
|
|||||||
int unit = value % 10;
|
int unit = value % 10;
|
||||||
|
|
||||||
if (ten)
|
if (ten)
|
||||||
aaa += sprintf(&output[aaa], "%s", words[(ten > 1) ? (ten + 18) : (unit + 10)]);
|
aaa += sprintf(&output[aaa], words[(ten > 1) ? (ten + 18) : (unit + 10)]);
|
||||||
|
|
||||||
if (ten != 1 && (unit || (!value && !hun && !tho)))
|
if (ten != 1 && (unit || (!value && !hun && !tho)))
|
||||||
sprintf(&output[aaa], "%s", words[unit]);
|
sprintf(&output[aaa], words[unit]);
|
||||||
}
|
}
|
||||||
|
|
||||||
char* UTIL_SplitHudMessage(const char *src)
|
char* UTIL_SplitHudMessage(const char *src)
|
||||||
@ -242,7 +242,7 @@ short FixedSigned16(float value, float scale)
|
|||||||
return (short)output;
|
return (short)output;
|
||||||
}
|
}
|
||||||
|
|
||||||
void UTIL_HudMessage(edict_t *pEntity, const hudtextparms_t &textparms, const char *pMessage)
|
void UTIL_HudMessage(edict_t *pEntity, const hudtextparms_t &textparms, char *pMessage)
|
||||||
{
|
{
|
||||||
if (pEntity)
|
if (pEntity)
|
||||||
MESSAGE_BEGIN(MSG_ONE_UNRELIABLE, SVC_TEMPENTITY, NULL, pEntity);
|
MESSAGE_BEGIN(MSG_ONE_UNRELIABLE, SVC_TEMPENTITY, NULL, pEntity);
|
||||||
|
Binary file not shown.
@ -1,9 +1,9 @@
|
|||||||
/* zconf.h -- configuration of the zlib compression library
|
/* zconf.h -- configuration of the zlib compression library
|
||||||
* Copyright (C) 1995-2005 Jean-loup Gailly.
|
* Copyright (C) 1995-2003 Jean-loup Gailly.
|
||||||
* For conditions of distribution and use, see copyright notice in zlib.h
|
* For conditions of distribution and use, see copyright notice in zlib.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* @(#) $Id: zconf.h 3734 2008-08-16 09:48:39Z damagedsoul $ */
|
/* @(#) $Id$ */
|
||||||
|
|
||||||
#ifndef ZCONF_H
|
#ifndef ZCONF_H
|
||||||
#define ZCONF_H
|
#define ZCONF_H
|
||||||
@ -13,50 +13,43 @@
|
|||||||
* compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
|
* compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
|
||||||
*/
|
*/
|
||||||
#ifdef Z_PREFIX
|
#ifdef Z_PREFIX
|
||||||
# define deflateInit_ z_deflateInit_
|
# define deflateInit_ z_deflateInit_
|
||||||
# define deflate z_deflate
|
# define deflate z_deflate
|
||||||
# define deflateEnd z_deflateEnd
|
# define deflateEnd z_deflateEnd
|
||||||
# define inflateInit_ z_inflateInit_
|
# define inflateInit_ z_inflateInit_
|
||||||
# define inflate z_inflate
|
# define inflate z_inflate
|
||||||
# define inflateEnd z_inflateEnd
|
# define inflateEnd z_inflateEnd
|
||||||
# define deflateInit2_ z_deflateInit2_
|
# define deflateInit2_ z_deflateInit2_
|
||||||
# define deflateSetDictionary z_deflateSetDictionary
|
# define deflateSetDictionary z_deflateSetDictionary
|
||||||
# define deflateCopy z_deflateCopy
|
# define deflateCopy z_deflateCopy
|
||||||
# define deflateReset z_deflateReset
|
# define deflateReset z_deflateReset
|
||||||
# define deflateParams z_deflateParams
|
# define deflatePrime z_deflatePrime
|
||||||
# define deflateBound z_deflateBound
|
# define deflateParams z_deflateParams
|
||||||
# define deflatePrime z_deflatePrime
|
# define deflateBound z_deflateBound
|
||||||
# define inflateInit2_ z_inflateInit2_
|
# define inflateInit2_ z_inflateInit2_
|
||||||
# define inflateSetDictionary z_inflateSetDictionary
|
# define inflateSetDictionary z_inflateSetDictionary
|
||||||
# define inflateSync z_inflateSync
|
# define inflateSync z_inflateSync
|
||||||
# define inflateSyncPoint z_inflateSyncPoint
|
# define inflateSyncPoint z_inflateSyncPoint
|
||||||
# define inflateCopy z_inflateCopy
|
# define inflateCopy z_inflateCopy
|
||||||
# define inflateReset z_inflateReset
|
# define inflateReset z_inflateReset
|
||||||
# define inflateBack z_inflateBack
|
# define compress z_compress
|
||||||
# define inflateBackEnd z_inflateBackEnd
|
# define compress2 z_compress2
|
||||||
# define compress z_compress
|
# define compressBound z_compressBound
|
||||||
# define compress2 z_compress2
|
# define uncompress z_uncompress
|
||||||
# define compressBound z_compressBound
|
# define adler32 z_adler32
|
||||||
# define uncompress z_uncompress
|
# define crc32 z_crc32
|
||||||
# define adler32 z_adler32
|
# define get_crc_table z_get_crc_table
|
||||||
# define crc32 z_crc32
|
|
||||||
# define get_crc_table z_get_crc_table
|
|
||||||
# define zError z_zError
|
|
||||||
|
|
||||||
# define alloc_func z_alloc_func
|
# define Byte z_Byte
|
||||||
# define free_func z_free_func
|
# define uInt z_uInt
|
||||||
# define in_func z_in_func
|
# define uLong z_uLong
|
||||||
# define out_func z_out_func
|
# define Bytef z_Bytef
|
||||||
# define Byte z_Byte
|
# define charf z_charf
|
||||||
# define uInt z_uInt
|
# define intf z_intf
|
||||||
# define uLong z_uLong
|
# define uIntf z_uIntf
|
||||||
# define Bytef z_Bytef
|
# define uLongf z_uLongf
|
||||||
# define charf z_charf
|
# define voidpf z_voidpf
|
||||||
# define intf z_intf
|
# define voidp z_voidp
|
||||||
# define uIntf z_uIntf
|
|
||||||
# define uLongf z_uLongf
|
|
||||||
# define voidpf z_voidpf
|
|
||||||
# define voidp z_voidp
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(__MSDOS__) && !defined(MSDOS)
|
#if defined(__MSDOS__) && !defined(MSDOS)
|
||||||
@ -68,10 +61,8 @@
|
|||||||
#if defined(_WINDOWS) && !defined(WINDOWS)
|
#if defined(_WINDOWS) && !defined(WINDOWS)
|
||||||
# define WINDOWS
|
# define WINDOWS
|
||||||
#endif
|
#endif
|
||||||
#if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__)
|
#if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32)
|
||||||
# ifndef WIN32
|
# define WIN32
|
||||||
# define WIN32
|
|
||||||
# endif
|
|
||||||
#endif
|
#endif
|
||||||
#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32)
|
#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32)
|
||||||
# if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__)
|
# if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__)
|
||||||
@ -290,7 +281,7 @@ typedef uLong FAR uLongf;
|
|||||||
# ifdef VMS
|
# ifdef VMS
|
||||||
# include <unixio.h> /* for off_t */
|
# include <unixio.h> /* for off_t */
|
||||||
# endif
|
# endif
|
||||||
# define z_off_t off_t
|
# define z_off_t off_t
|
||||||
#endif
|
#endif
|
||||||
#ifndef SEEK_SET
|
#ifndef SEEK_SET
|
||||||
# define SEEK_SET 0 /* Seek from beginning of file. */
|
# define SEEK_SET 0 /* Seek from beginning of file. */
|
||||||
@ -298,11 +289,11 @@ typedef uLong FAR uLongf;
|
|||||||
# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */
|
# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */
|
||||||
#endif
|
#endif
|
||||||
#ifndef z_off_t
|
#ifndef z_off_t
|
||||||
# define z_off_t long
|
# define z_off_t long
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(__OS400__)
|
#if defined(__OS400__)
|
||||||
# define NO_vsnprintf
|
#define NO_vsnprintf
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(__MVS__)
|
#if defined(__MVS__)
|
||||||
|
Binary file not shown.
@ -1,107 +1,46 @@
|
|||||||
# (C)2004-2013 AMX Mod X Development Team
|
#(C)2004-2005 AMX Mod X Development Team
|
||||||
# Makefile written by David "BAILOPAN" Anderson
|
# Makefile written by David "BAILOPAN" Anderson
|
||||||
|
|
||||||
#####################################
|
|
||||||
### EDIT BELOW FOR OTHER PROJECTS ###
|
### EDIT BELOW FOR OTHER PROJECTS ###
|
||||||
#####################################
|
|
||||||
|
|
||||||
PROJECT = amxxpc
|
OPT_FLAGS = -O3 -funroll-loops -s -pipe -fno-strict-aliasing
|
||||||
|
DEBUG_FLAGS = -g -ggdb3
|
||||||
|
CPP = gcc-4.1
|
||||||
|
BINARY = amxxpc
|
||||||
|
|
||||||
OBJECTS = amx.cpp amxxpc.cpp Binary.cpp
|
OBJECTS = amx.cpp amxxpc.cpp Binary.cpp
|
||||||
|
|
||||||
##############################################
|
LINK = -lz /lib/libstdc++.a
|
||||||
### CONFIGURE ANY OTHER FLAGS/OPTIONS HERE ###
|
|
||||||
##############################################
|
|
||||||
|
|
||||||
C_OPT_FLAGS = -DNDEBUG -O2 -funroll-loops -fomit-frame-pointer -pipe
|
INCLUDE = -I. -L.
|
||||||
C_DEBUG_FLAGS = -D_DEBUG -DDEBUG -g -ggdb3
|
|
||||||
C_GCC4_FLAGS = -fvisibility=hidden
|
|
||||||
CPP_GCC4_FLAGS = -fvisibility-inlines-hidden
|
|
||||||
CPP = gcc
|
|
||||||
CPP_OSX = clang
|
|
||||||
|
|
||||||
LINK =
|
|
||||||
|
|
||||||
INCLUDE = -I.
|
|
||||||
|
|
||||||
################################################
|
|
||||||
### DO NOT EDIT BELOW HERE FOR MOST PROJECTS ###
|
|
||||||
################################################
|
|
||||||
|
|
||||||
OS := $(shell uname -s)
|
|
||||||
|
|
||||||
ifeq "$(OS)" "Darwin"
|
|
||||||
CPP = $(CPP_OSX)
|
|
||||||
LIB_SUFFIX = _osx
|
|
||||||
CFLAGS += -DOSX
|
|
||||||
LINK += -lstdc++ -mmacosx-version-min=10.5 -lz-darwin
|
|
||||||
else
|
|
||||||
LIB_SUFFIX =
|
|
||||||
CFLAGS += -DLINUX
|
|
||||||
LINK += -lz /lib32/libstdc++.a
|
|
||||||
endif
|
|
||||||
|
|
||||||
LINK += -m32 -lm -ldl -L.
|
|
||||||
|
|
||||||
CFLAGS += -DAMX_ANSIONLY -DHAVE_STDINT_H -fno-strict-aliasing \
|
|
||||||
-m32 -Wall -Werror
|
|
||||||
CPPFLAGS += -fexceptions -fno-rtti
|
|
||||||
|
|
||||||
BINARY = $(PROJECT)$(LIB_SUFFIX)
|
|
||||||
|
|
||||||
ifeq "$(DEBUG)" "true"
|
ifeq "$(DEBUG)" "true"
|
||||||
BIN_DIR = Debug
|
BIN_DIR = Debug
|
||||||
CFLAGS += $(C_DEBUG_FLAGS)
|
CFLAGS = $(DEBUG_FLAGS)
|
||||||
else
|
else
|
||||||
BIN_DIR = Release
|
BIN_DIR = Release
|
||||||
CFLAGS += $(C_OPT_FLAGS)
|
CFLAGS = $(OPT_FLAGS)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
IS_CLANG := $(shell $(CPP) --version | head -1 | grep clang > /dev/null && echo "1" || echo "0")
|
CFLAGS += -DLINUX -DNDEBUG -Wno-deprecated -fexceptions -DHAVE_STDINT_H -DAMX_ANSIONLY -fno-rtti -static-libgcc
|
||||||
|
|
||||||
ifeq "$(IS_CLANG)" "1"
|
OBJ_LINUX := $(OBJECTS:%.cpp=$(BIN_DIR)/%.o)
|
||||||
CPP_MAJOR := $(shell $(CPP) --version | grep clang | sed "s/.*version \([0-9]\)*\.[0-9]*.*/\1/")
|
|
||||||
CPP_MINOR := $(shell $(CPP) --version | grep clang | sed "s/.*version [0-9]*\.\([0-9]\)*.*/\1/")
|
|
||||||
else
|
|
||||||
CPP_MAJOR := $(shell $(CPP) -dumpversion >&1 | cut -b1)
|
|
||||||
CPP_MINOR := $(shell $(CPP) -dumpversion >&1 | cut -b3)
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Clang || GCC >= 4
|
|
||||||
ifeq "$(shell expr $(IS_CLANG) \| $(CPP_MAJOR) \>= 4)" "1"
|
|
||||||
CFLAGS += $(C_GCC4_FLAGS)
|
|
||||||
CPPFLAGS += $(CPP_GCC4_FLAGS)
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Clang >= 3 || GCC >= 4.7
|
|
||||||
ifeq "$(shell expr $(IS_CLANG) \& $(CPP_MAJOR) \>= 3 \| $(CPP_MAJOR) \>= 4 \& $(CPP_MINOR) \>= 7)" "1"
|
|
||||||
CFLAGS += -Wno-delete-non-virtual-dtor
|
|
||||||
endif
|
|
||||||
|
|
||||||
# OS is Linux and not using clang
|
|
||||||
ifeq "$(shell expr $(OS) \= Linux \& $(IS_CLANG) \= 0)" "1"
|
|
||||||
LINK += -static-libgcc
|
|
||||||
endif
|
|
||||||
|
|
||||||
OBJ_BIN := $(OBJECTS:%.cpp=$(BIN_DIR)/%.o)
|
|
||||||
|
|
||||||
# This will break if we include other Makefiles, but is fine for now. It allows
|
|
||||||
# us to make a copy of this file that uses altered paths (ie. Makefile.mine)
|
|
||||||
# or other changes without mucking up the original.
|
|
||||||
MAKEFILE_NAME := $(CURDIR)/$(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))
|
|
||||||
|
|
||||||
$(BIN_DIR)/%.o: %.cpp
|
$(BIN_DIR)/%.o: %.cpp
|
||||||
$(CPP) $(INCLUDE) $(CFLAGS) $(CPPFLAGS) -o $@ -c $<
|
$(CPP) $(INCLUDE) $(CFLAGS) -o $@ -c $<
|
||||||
|
|
||||||
all:
|
all:
|
||||||
mkdir -p $(BIN_DIR)
|
mkdir -p $(BIN_DIR)
|
||||||
$(MAKE) -f $(MAKEFILE_NAME) $(PROJECT)
|
$(MAKE) amxxpc
|
||||||
|
|
||||||
$(PROJECT): $(OBJ_BIN)
|
amxxpc: $(OBJ_LINUX)
|
||||||
$(CPP) $(INCLUDE) $(OBJ_BIN) $(LINK) -o $(BIN_DIR)/$(BINARY)
|
$(CPP) $(INCLUDE) $(CFLAGS) $(OBJ_LINUX) $(LINK) -ldl -lm -o$(BIN_DIR)/$(BINARY)
|
||||||
|
|
||||||
default: all
|
default: all
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -rf $(BIN_DIR)/*.o
|
rm -rf Release/*.o
|
||||||
rm -f $(BIN_DIR)/$(BINARY)
|
rm -rf Release/$(BINARY)
|
||||||
|
rm -rf Debug/*.o
|
||||||
|
rm -rf Debug/$(BINARY)
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
* misrepresented as being the original software.
|
* misrepresented as being the original software.
|
||||||
* 3. This notice may not be removed or altered from any source distribution.
|
* 3. This notice may not be removed or altered from any source distribution.
|
||||||
*
|
*
|
||||||
* Version: $Id: amx.cpp 1728 2005-07-25 00:01:54Z dvander $
|
* Version: $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if BUILD_PLATFORM == WINDOWS && BUILD_TYPE == RELEASE && BUILD_COMPILER == MSVC && PAWN_CELL_SIZE == 64
|
#if BUILD_PLATFORM == WINDOWS && BUILD_TYPE == RELEASE && BUILD_COMPILER == MSVC && PAWN_CELL_SIZE == 64
|
||||||
@ -42,7 +42,7 @@
|
|||||||
#include <stddef.h> /* for wchar_t */
|
#include <stddef.h> /* for wchar_t */
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include "osdefs.h"
|
#include "osdefs.h"
|
||||||
#if defined LINUX || defined __FreeBSD__ || defined __OpenBSD__ || defined __APPLE__
|
#if defined LINUX || defined __FreeBSD__ || defined __OpenBSD__
|
||||||
#include <sclinux.h>
|
#include <sclinux.h>
|
||||||
#if !defined AMX_NODYNALOAD
|
#if !defined AMX_NODYNALOAD
|
||||||
#include <dlfcn.h>
|
#include <dlfcn.h>
|
||||||
@ -815,12 +815,12 @@ static void expand(unsigned char *code, long codesize, long memsize)
|
|||||||
int AMXAPI amx_Init(AMX *amx,void *program)
|
int AMXAPI amx_Init(AMX *amx,void *program)
|
||||||
{
|
{
|
||||||
AMX_HEADER *hdr;
|
AMX_HEADER *hdr;
|
||||||
#if (defined _Windows || defined LINUX || defined __FreeBSD__ || defined __OpenBSD__ || defined __APPLE__) && !defined AMX_NODYNALOAD
|
#if (defined _Windows || defined LINUX || defined __FreeBSD__ || defined __OpenBSD__) && !defined AMX_NODYNALOAD
|
||||||
char libname[sNAMEMAX+8]; /* +1 for '\0', +3 for 'amx' prefix, +4 for extension */
|
char libname[sNAMEMAX+8]; /* +1 for '\0', +3 for 'amx' prefix, +4 for extension */
|
||||||
#if defined _Windows
|
#if defined _Windows
|
||||||
typedef int (FAR WINAPI *AMX_ENTRY)(AMX _FAR *amx);
|
typedef int (FAR WINAPI *AMX_ENTRY)(AMX _FAR *amx);
|
||||||
HINSTANCE hlib;
|
HINSTANCE hlib;
|
||||||
#elif defined LINUX || defined __FreeBSD__ || defined __OpenBSD__ || defined __APPLE__
|
#elif defined LINUX || defined __FreeBSD__ || defined __OpenBSD__
|
||||||
typedef int (*AMX_ENTRY)(AMX *amx);
|
typedef int (*AMX_ENTRY)(AMX *amx);
|
||||||
void *hlib;
|
void *hlib;
|
||||||
#endif
|
#endif
|
||||||
@ -965,7 +965,7 @@ int AMXAPI amx_Init(AMX *amx,void *program)
|
|||||||
amx_BrowseRelocate(amx);
|
amx_BrowseRelocate(amx);
|
||||||
|
|
||||||
/* load any extension modules that the AMX refers to */
|
/* load any extension modules that the AMX refers to */
|
||||||
#if (defined _Windows || defined LINUX || defined __FreeBSD__ || defined __OpenBSD__ || defined __APPLE__) && !defined AMX_NODYNALOAD
|
#if (defined _Windows || defined LINUX || defined __FreeBSD__ || defined __OpenBSD__) && !defined AMX_NODYNALOAD
|
||||||
hdr=(AMX_HEADER *)amx->base;
|
hdr=(AMX_HEADER *)amx->base;
|
||||||
numlibraries=NUMENTRIES(hdr,libraries,pubvars);
|
numlibraries=NUMENTRIES(hdr,libraries,pubvars);
|
||||||
for (i=0; i<numlibraries; i++) {
|
for (i=0; i<numlibraries; i++) {
|
||||||
@ -981,7 +981,7 @@ int AMXAPI amx_Init(AMX *amx,void *program)
|
|||||||
if (hlib<=HINSTANCE_ERROR)
|
if (hlib<=HINSTANCE_ERROR)
|
||||||
hlib=NULL;
|
hlib=NULL;
|
||||||
#endif
|
#endif
|
||||||
#elif defined LINUX || defined __FreeBSD__ || defined __OpenBSD__ || defined __APPLE__
|
#elif defined LINUX || defined __FreeBSD__ || defined __OpenBSD__
|
||||||
strcat(libname,".so");
|
strcat(libname,".so");
|
||||||
hlib=dlopen(libname,RTLD_NOW);
|
hlib=dlopen(libname,RTLD_NOW);
|
||||||
#endif
|
#endif
|
||||||
@ -995,7 +995,7 @@ int AMXAPI amx_Init(AMX *amx,void *program)
|
|||||||
strcat(funcname,"Init");
|
strcat(funcname,"Init");
|
||||||
#if defined _Windows
|
#if defined _Windows
|
||||||
libinit=(AMX_ENTRY)GetProcAddress(hlib,funcname);
|
libinit=(AMX_ENTRY)GetProcAddress(hlib,funcname);
|
||||||
#elif defined LINUX || defined __FreeBSD__ || defined __OpenBSD__ || defined __APPLE__
|
#elif defined LINUX || defined __FreeBSD__ || defined __OpenBSD__
|
||||||
libinit=(AMX_ENTRY)dlsym(hlib,funcname);
|
libinit=(AMX_ENTRY)dlsym(hlib,funcname);
|
||||||
#endif
|
#endif
|
||||||
if (libinit!=NULL)
|
if (libinit!=NULL)
|
||||||
@ -1029,7 +1029,7 @@ int AMXAPI amx_Init(AMX *amx,void *program)
|
|||||||
return !VirtualProtect(addr, len, p, &prev);
|
return !VirtualProtect(addr, len, p, &prev);
|
||||||
}
|
}
|
||||||
|
|
||||||
#elif defined LINUX || defined __FreeBSD__ || defined __OpenBSD__ || defined __APPLE__
|
#elif defined LINUX || defined __FreeBSD__ || defined __OpenBSD__
|
||||||
|
|
||||||
/* Linux already has mprotect() */
|
/* Linux already has mprotect() */
|
||||||
|
|
||||||
@ -1104,10 +1104,10 @@ int AMXAPI amx_InitJIT(AMX *amx,void *compiled_program,void *reloc_table)
|
|||||||
#if defined AMX_CLEANUP
|
#if defined AMX_CLEANUP
|
||||||
int AMXAPI amx_Cleanup(AMX *amx)
|
int AMXAPI amx_Cleanup(AMX *amx)
|
||||||
{
|
{
|
||||||
#if (defined _Windows || defined LINUX || defined __FreeBSD__ || defined __OpenBSD__ || defined __APPLE__) && !defined AMX_NODYNALOAD
|
#if (defined _Windows || defined LINUX || defined __FreeBSD__ || defined __OpenBSD__) && !defined AMX_NODYNALOAD
|
||||||
#if defined _Windows
|
#if defined _Windows
|
||||||
typedef int (FAR WINAPI *AMX_ENTRY)(AMX FAR *amx);
|
typedef int (FAR WINAPI *AMX_ENTRY)(AMX FAR *amx);
|
||||||
#elif defined LINUX || defined __FreeBSD__ || defined __OpenBSD__ || defined __APPLE__
|
#elif defined LINUX || defined __FreeBSD__ || defined __OpenBSD__
|
||||||
typedef int (*AMX_ENTRY)(AMX *amx);
|
typedef int (*AMX_ENTRY)(AMX *amx);
|
||||||
#endif
|
#endif
|
||||||
AMX_HEADER *hdr;
|
AMX_HEADER *hdr;
|
||||||
@ -1117,7 +1117,7 @@ int AMXAPI amx_Cleanup(AMX *amx)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* unload all extension modules */
|
/* unload all extension modules */
|
||||||
#if (defined _Windows || defined LINUX || defined __FreeBSD__ || defined __OpenBSD__ || defined __APPLE__) && !defined AMX_NODYNALOAD
|
#if (defined _Windows || defined LINUX || defined __FreeBSD__ || defined __OpenBSD__) && !defined AMX_NODYNALOAD
|
||||||
hdr=(AMX_HEADER *)amx->base;
|
hdr=(AMX_HEADER *)amx->base;
|
||||||
assert(hdr->magic==AMX_MAGIC);
|
assert(hdr->magic==AMX_MAGIC);
|
||||||
numlibraries=NUMENTRIES(hdr,libraries,pubvars);
|
numlibraries=NUMENTRIES(hdr,libraries,pubvars);
|
||||||
@ -1130,14 +1130,14 @@ int AMXAPI amx_Cleanup(AMX *amx)
|
|||||||
strcat(funcname,"Cleanup");
|
strcat(funcname,"Cleanup");
|
||||||
#if defined _Windows
|
#if defined _Windows
|
||||||
libcleanup=(AMX_ENTRY)GetProcAddress((HINSTANCE)lib->address,funcname);
|
libcleanup=(AMX_ENTRY)GetProcAddress((HINSTANCE)lib->address,funcname);
|
||||||
#elif defined LINUX || defined __FreeBSD__ || defined __OpenBSD__ || defined __APPLE__
|
#elif defined LINUX || defined __FreeBSD__ || defined __OpenBSD__
|
||||||
libcleanup=(AMX_ENTRY)dlsym((void*)lib->address,funcname);
|
libcleanup=(AMX_ENTRY)dlsym((void*)lib->address,funcname);
|
||||||
#endif
|
#endif
|
||||||
if (libcleanup!=NULL)
|
if (libcleanup!=NULL)
|
||||||
libcleanup(amx);
|
libcleanup(amx);
|
||||||
#if defined _Windows
|
#if defined _Windows
|
||||||
FreeLibrary((HINSTANCE)lib->address);
|
FreeLibrary((HINSTANCE)lib->address);
|
||||||
#elif defined LINUX || defined __FreeBSD__ || defined __OpenBSD__ || defined __APPLE__
|
#elif defined LINUX || defined __FreeBSD__ || defined __OpenBSD__
|
||||||
dlclose((void*)lib->address);
|
dlclose((void*)lib->address);
|
||||||
#endif
|
#endif
|
||||||
} /* if */
|
} /* if */
|
||||||
@ -1666,7 +1666,7 @@ int AMXAPI amx_PushString(AMX *amx, cell *amx_addr, cell **phys_addr, const char
|
|||||||
* fast "indirect threaded" interpreter.
|
* fast "indirect threaded" interpreter.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define NEXT(cip) goto *(const void *)*cip++
|
#define NEXT(cip) goto **cip++
|
||||||
|
|
||||||
int AMXAPI amx_Exec(AMX *amx, cell *retval, int index)
|
int AMXAPI amx_Exec(AMX *amx, cell *retval, int index)
|
||||||
{
|
{
|
||||||
@ -1846,14 +1846,14 @@ static const void * const amx_opcodelist[] = {
|
|||||||
NEXT(cip);
|
NEXT(cip);
|
||||||
op_load_i:
|
op_load_i:
|
||||||
/* verify address */
|
/* verify address */
|
||||||
if ((pri>=hea && pri<stk) || (ucell)pri>=(ucell)amx->stp)
|
if (pri>=hea && pri<stk || (ucell)pri>=(ucell)amx->stp)
|
||||||
ABORT(amx,AMX_ERR_MEMACCESS);
|
ABORT(amx,AMX_ERR_MEMACCESS);
|
||||||
pri= * (cell *)(data+(int)pri);
|
pri= * (cell *)(data+(int)pri);
|
||||||
NEXT(cip);
|
NEXT(cip);
|
||||||
op_lodb_i:
|
op_lodb_i:
|
||||||
GETPARAM(offs);
|
GETPARAM(offs);
|
||||||
/* verify address */
|
/* verify address */
|
||||||
if ((pri>=hea && pri<stk) || (ucell)pri>=(ucell)amx->stp)
|
if (pri>=hea && pri<stk || (ucell)pri>=(ucell)amx->stp)
|
||||||
ABORT(amx,AMX_ERR_MEMACCESS);
|
ABORT(amx,AMX_ERR_MEMACCESS);
|
||||||
switch (offs) {
|
switch (offs) {
|
||||||
case 1:
|
case 1:
|
||||||
@ -1919,14 +1919,14 @@ static const void * const amx_opcodelist[] = {
|
|||||||
NEXT(cip);
|
NEXT(cip);
|
||||||
op_stor_i:
|
op_stor_i:
|
||||||
/* verify address */
|
/* verify address */
|
||||||
if ((alt>=hea && alt<stk) || (ucell)alt>=(ucell)amx->stp)
|
if (alt>=hea && alt<stk || (ucell)alt>=(ucell)amx->stp)
|
||||||
ABORT(amx,AMX_ERR_MEMACCESS);
|
ABORT(amx,AMX_ERR_MEMACCESS);
|
||||||
*(cell *)(data+(int)alt)=pri;
|
*(cell *)(data+(int)alt)=pri;
|
||||||
NEXT(cip);
|
NEXT(cip);
|
||||||
op_strb_i:
|
op_strb_i:
|
||||||
GETPARAM(offs);
|
GETPARAM(offs);
|
||||||
/* verify address */
|
/* verify address */
|
||||||
if ((alt>=hea && alt<stk) || (ucell)alt>=(ucell)amx->stp)
|
if (alt>=hea && alt<stk || (ucell)alt>=(ucell)amx->stp)
|
||||||
ABORT(amx,AMX_ERR_MEMACCESS);
|
ABORT(amx,AMX_ERR_MEMACCESS);
|
||||||
switch (offs) {
|
switch (offs) {
|
||||||
case 1:
|
case 1:
|
||||||
@ -1943,7 +1943,7 @@ static const void * const amx_opcodelist[] = {
|
|||||||
op_lidx:
|
op_lidx:
|
||||||
offs=pri*sizeof(cell)+alt;
|
offs=pri*sizeof(cell)+alt;
|
||||||
/* verify address */
|
/* verify address */
|
||||||
if ((offs>=hea && offs<stk) || (ucell)offs>=(ucell)amx->stp)
|
if (offs>=hea && offs<stk || (ucell)offs>=(ucell)amx->stp)
|
||||||
ABORT(amx,AMX_ERR_MEMACCESS);
|
ABORT(amx,AMX_ERR_MEMACCESS);
|
||||||
pri= * (cell *)(data+(int)offs);
|
pri= * (cell *)(data+(int)offs);
|
||||||
NEXT(cip);
|
NEXT(cip);
|
||||||
@ -1951,7 +1951,7 @@ static const void * const amx_opcodelist[] = {
|
|||||||
GETPARAM(offs);
|
GETPARAM(offs);
|
||||||
offs=(pri << (int)offs)+alt;
|
offs=(pri << (int)offs)+alt;
|
||||||
/* verify address */
|
/* verify address */
|
||||||
if ((offs>=hea && offs<stk) || (ucell)offs>=(ucell)amx->stp)
|
if (offs>=hea && offs<stk || (ucell)offs>=(ucell)amx->stp)
|
||||||
ABORT(amx,AMX_ERR_MEMACCESS);
|
ABORT(amx,AMX_ERR_MEMACCESS);
|
||||||
pri= * (cell *)(data+(int)offs);
|
pri= * (cell *)(data+(int)offs);
|
||||||
NEXT(cip);
|
NEXT(cip);
|
||||||
@ -2388,13 +2388,13 @@ static const void * const amx_opcodelist[] = {
|
|||||||
/* verify top & bottom memory addresses, for both source and destination
|
/* verify top & bottom memory addresses, for both source and destination
|
||||||
* addresses
|
* addresses
|
||||||
*/
|
*/
|
||||||
if ((pri>=hea && pri<stk) || (ucell)pri>=(ucell)amx->stp)
|
if (pri>=hea && pri<stk || (ucell)pri>=(ucell)amx->stp)
|
||||||
ABORT(amx,AMX_ERR_MEMACCESS);
|
ABORT(amx,AMX_ERR_MEMACCESS);
|
||||||
if (((pri+offs)>hea && (pri+offs)<stk) || (ucell)(pri+offs)>(ucell)amx->stp)
|
if ((pri+offs)>hea && (pri+offs)<stk || (ucell)(pri+offs)>(ucell)amx->stp)
|
||||||
ABORT(amx,AMX_ERR_MEMACCESS);
|
ABORT(amx,AMX_ERR_MEMACCESS);
|
||||||
if ((alt>=hea && alt<stk) || (ucell)alt>=(ucell)amx->stp)
|
if (alt>=hea && alt<stk || (ucell)alt>=(ucell)amx->stp)
|
||||||
ABORT(amx,AMX_ERR_MEMACCESS);
|
ABORT(amx,AMX_ERR_MEMACCESS);
|
||||||
if (((alt+offs)>hea && (alt+offs)<stk) || (ucell)(alt+offs)>(ucell)amx->stp)
|
if ((alt+offs)>hea && (alt+offs)<stk || (ucell)(alt+offs)>(ucell)amx->stp)
|
||||||
ABORT(amx,AMX_ERR_MEMACCESS);
|
ABORT(amx,AMX_ERR_MEMACCESS);
|
||||||
memcpy(data+(int)alt, data+(int)pri, (int)offs);
|
memcpy(data+(int)alt, data+(int)pri, (int)offs);
|
||||||
NEXT(cip);
|
NEXT(cip);
|
||||||
@ -2403,22 +2403,22 @@ static const void * const amx_opcodelist[] = {
|
|||||||
/* verify top & bottom memory addresses, for both source and destination
|
/* verify top & bottom memory addresses, for both source and destination
|
||||||
* addresses
|
* addresses
|
||||||
*/
|
*/
|
||||||
if ((pri>=hea && pri<stk) || (ucell)pri>=(ucell)amx->stp)
|
if (pri>=hea && pri<stk || (ucell)pri>=(ucell)amx->stp)
|
||||||
ABORT(amx,AMX_ERR_MEMACCESS);
|
ABORT(amx,AMX_ERR_MEMACCESS);
|
||||||
if (((pri+offs)>hea && (pri+offs)<stk) || (ucell)(pri+offs)>(ucell)amx->stp)
|
if ((pri+offs)>hea && (pri+offs)<stk || (ucell)(pri+offs)>(ucell)amx->stp)
|
||||||
ABORT(amx,AMX_ERR_MEMACCESS);
|
ABORT(amx,AMX_ERR_MEMACCESS);
|
||||||
if ((alt>=hea && alt<stk) || (ucell)alt>=(ucell)amx->stp)
|
if (alt>=hea && alt<stk || (ucell)alt>=(ucell)amx->stp)
|
||||||
ABORT(amx,AMX_ERR_MEMACCESS);
|
ABORT(amx,AMX_ERR_MEMACCESS);
|
||||||
if (((alt+offs)>hea && (alt+offs)<stk) || (ucell)(alt+offs)>(ucell)amx->stp)
|
if ((alt+offs)>hea && (alt+offs)<stk || (ucell)(alt+offs)>(ucell)amx->stp)
|
||||||
ABORT(amx,AMX_ERR_MEMACCESS);
|
ABORT(amx,AMX_ERR_MEMACCESS);
|
||||||
pri=memcmp(data+(int)alt, data+(int)pri, (int)offs);
|
pri=memcmp(data+(int)alt, data+(int)pri, (int)offs);
|
||||||
NEXT(cip);
|
NEXT(cip);
|
||||||
op_fill:
|
op_fill:
|
||||||
GETPARAM(offs);
|
GETPARAM(offs);
|
||||||
/* verify top & bottom memory addresses */
|
/* verify top & bottom memory addresses */
|
||||||
if ((alt>=hea && alt<stk) || (ucell)alt>=(ucell)amx->stp)
|
if (alt>=hea && alt<stk || (ucell)alt>=(ucell)amx->stp)
|
||||||
ABORT(amx,AMX_ERR_MEMACCESS);
|
ABORT(amx,AMX_ERR_MEMACCESS);
|
||||||
if (((alt+offs)>hea && (alt+offs)<stk) || (ucell)(alt+offs)>(ucell)amx->stp)
|
if ((alt+offs)>hea && (alt+offs)<stk || (ucell)(alt+offs)>(ucell)amx->stp)
|
||||||
ABORT(amx,AMX_ERR_MEMACCESS);
|
ABORT(amx,AMX_ERR_MEMACCESS);
|
||||||
for (i=(int)alt; offs>=(int)sizeof(cell); i+=sizeof(cell), offs-=sizeof(cell))
|
for (i=(int)alt; offs>=(int)sizeof(cell); i+=sizeof(cell), offs-=sizeof(cell))
|
||||||
*(cell *)(data+i) = pri;
|
*(cell *)(data+i) = pri;
|
||||||
@ -3592,7 +3592,7 @@ int AMXAPI amx_GetAddr(AMX *amx,cell amx_addr,cell **phys_addr)
|
|||||||
data=(amx->data!=NULL) ? amx->data : amx->base+(int)hdr->dat;
|
data=(amx->data!=NULL) ? amx->data : amx->base+(int)hdr->dat;
|
||||||
|
|
||||||
assert(phys_addr!=NULL);
|
assert(phys_addr!=NULL);
|
||||||
if ((amx_addr>=amx->hea && amx_addr<amx->stk) || amx_addr<0 || amx_addr>=amx->stp) {
|
if (amx_addr>=amx->hea && amx_addr<amx->stk || amx_addr<0 || amx_addr>=amx->stp) {
|
||||||
*phys_addr=NULL;
|
*phys_addr=NULL;
|
||||||
return AMX_ERR_MEMACCESS;
|
return AMX_ERR_MEMACCESS;
|
||||||
} /* if */
|
} /* if */
|
||||||
|
@ -18,13 +18,13 @@
|
|||||||
* misrepresented as being the original software.
|
* misrepresented as being the original software.
|
||||||
* 3. This notice may not be removed or altered from any source distribution.
|
* 3. This notice may not be removed or altered from any source distribution.
|
||||||
*
|
*
|
||||||
* Version: $Id: amx.h 3736 2008-08-16 20:13:12Z damagedsoul $
|
* Version: $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if defined FREEBSD && !defined __FreeBSD__
|
#if defined FREEBSD && !defined __FreeBSD__
|
||||||
#define __FreeBSD__
|
#define __FreeBSD__
|
||||||
#endif
|
#endif
|
||||||
#if defined LINUX || defined __FreeBSD__ || defined __OpenBSD__ || defined __APPLE__
|
#if defined LINUX || defined __FreeBSD__ || defined __OpenBSD__
|
||||||
#include <sclinux.h>
|
#include <sclinux.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -34,7 +34,7 @@
|
|||||||
#if defined HAVE_STDINT_H
|
#if defined HAVE_STDINT_H
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#else
|
#else
|
||||||
#if defined __LCC__ || defined __DMC__ || defined LINUX || defined __APPLE__
|
#if defined __LCC__ || defined __DMC__ || defined LINUX
|
||||||
#if defined HAVE_INTTYPES_H
|
#if defined HAVE_INTTYPES_H
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
#else
|
#else
|
||||||
@ -188,7 +188,7 @@ typedef int (AMXAPI *AMX_DEBUG)(struct tagAMX *amx);
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined AMX_NO_ALIGN
|
#if !defined AMX_NO_ALIGN
|
||||||
#if defined LINUX || defined __FreeBSD__ || defined __APPLE__
|
#if defined LINUX || defined __FreeBSD__
|
||||||
#pragma pack(1) /* structures must be packed (byte-aligned) */
|
#pragma pack(1) /* structures must be packed (byte-aligned) */
|
||||||
#elif defined MACOS && defined __MWERKS__
|
#elif defined MACOS && defined __MWERKS__
|
||||||
#pragma options align=mac68k
|
#pragma options align=mac68k
|
||||||
@ -212,7 +212,7 @@ typedef struct tagAMX_NATIVE_INFO {
|
|||||||
|
|
||||||
typedef struct tagAMX_FUNCSTUB {
|
typedef struct tagAMX_FUNCSTUB {
|
||||||
ucell address PACKED;
|
ucell address PACKED;
|
||||||
char name[sEXPMAX+1];
|
char name[sEXPMAX+1] PACKED;
|
||||||
} PACKED AMX_FUNCSTUB;
|
} PACKED AMX_FUNCSTUB;
|
||||||
|
|
||||||
typedef struct tagFUNCSTUBNT {
|
typedef struct tagFUNCSTUBNT {
|
||||||
@ -260,8 +260,8 @@ typedef struct tagAMX {
|
|||||||
typedef struct tagAMX_HEADER {
|
typedef struct tagAMX_HEADER {
|
||||||
int32_t size PACKED; /* size of the "file" */
|
int32_t size PACKED; /* size of the "file" */
|
||||||
uint16_t magic PACKED; /* signature */
|
uint16_t magic PACKED; /* signature */
|
||||||
char file_version; /* file format version */
|
char file_version PACKED; /* file format version */
|
||||||
char amx_version; /* required version of the AMX */
|
char amx_version PACKED; /* required version of the AMX */
|
||||||
int16_t flags PACKED;
|
int16_t flags PACKED;
|
||||||
int16_t defsize PACKED; /* size of a definition record */
|
int16_t defsize PACKED; /* size of a definition record */
|
||||||
int32_t cod PACKED; /* initial value of COD - code block */
|
int32_t cod PACKED; /* initial value of COD - code block */
|
||||||
@ -416,7 +416,7 @@ int AMXAPI amx_UTF8Put(char *string, char **endptr, int maxchars, cell value);
|
|||||||
amx_Register((amx), amx_NativeInfo((name),(func)), 1);
|
amx_Register((amx), amx_NativeInfo((name),(func)), 1);
|
||||||
|
|
||||||
#if !defined AMX_NO_ALIGN
|
#if !defined AMX_NO_ALIGN
|
||||||
#if defined LINUX || defined __FreeBSD__ || defined __APPLE__
|
#if defined LINUX || defined __FreeBSD__
|
||||||
#pragma pack() /* reset default packing */
|
#pragma pack() /* reset default packing */
|
||||||
#elif defined MACOS && defined __MWERKS__
|
#elif defined MACOS && defined __MWERKS__
|
||||||
#pragma options align=reset
|
#pragma options align=reset
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
* misrepresented as being the original software.
|
* misrepresented as being the original software.
|
||||||
* 3. This notice may not be removed or altered from any source distribution.
|
* 3. This notice may not be removed or altered from any source distribution.
|
||||||
*
|
*
|
||||||
* Version: $Id: amxdbg.h 3736 2008-08-16 20:13:12Z damagedsoul $
|
* Version: $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef AMXDBG_H_INCLUDED
|
#ifndef AMXDBG_H_INCLUDED
|
||||||
@ -49,7 +49,7 @@ extern "C" {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined AMX_NO_ALIGN
|
#if !defined AMX_NO_ALIGN
|
||||||
#if defined LINUX || defined __FreeBSD__ || defined __APPLE__
|
#if defined LINUX || defined __FreeBSD__
|
||||||
#pragma pack(1) /* structures must be packed (byte-aligned) */
|
#pragma pack(1) /* structures must be packed (byte-aligned) */
|
||||||
#elif defined MACOS && defined __MWERKS__
|
#elif defined MACOS && defined __MWERKS__
|
||||||
#pragma options align=mac68k
|
#pragma options align=mac68k
|
||||||
@ -65,8 +65,8 @@ extern "C" {
|
|||||||
typedef struct tagAMX_DBG_HDR {
|
typedef struct tagAMX_DBG_HDR {
|
||||||
int32_t size PACKED; /* size of the debug information chunk */
|
int32_t size PACKED; /* size of the debug information chunk */
|
||||||
uint16_t magic PACKED; /* signature, must be 0xf1ef */
|
uint16_t magic PACKED; /* signature, must be 0xf1ef */
|
||||||
char file_version; /* file format version */
|
char file_version PACKED; /* file format version */
|
||||||
char amx_version; /* required version of the AMX */
|
char amx_version PACKED; /* required version of the AMX */
|
||||||
int16_t flags PACKED; /* currently unused */
|
int16_t flags PACKED; /* currently unused */
|
||||||
int16_t files PACKED; /* number of entries in the "file" table */
|
int16_t files PACKED; /* number of entries in the "file" table */
|
||||||
int16_t lines PACKED; /* number of entries in the "line" table */
|
int16_t lines PACKED; /* number of entries in the "line" table */
|
||||||
@ -74,51 +74,51 @@ typedef struct tagAMX_DBG_HDR {
|
|||||||
int16_t tags PACKED; /* number of entries in the "tag" table */
|
int16_t tags PACKED; /* number of entries in the "tag" table */
|
||||||
int16_t automatons PACKED; /* number of entries in the "automaton" table */
|
int16_t automatons PACKED; /* number of entries in the "automaton" table */
|
||||||
int16_t states PACKED; /* number of entries in the "state" table */
|
int16_t states PACKED; /* number of entries in the "state" table */
|
||||||
} AMX_DBG_HDR;
|
} AMX_DBG_HDR PACKED;
|
||||||
#define AMX_DBG_MAGIC 0xf1ef
|
#define AMX_DBG_MAGIC 0xf1ef
|
||||||
|
|
||||||
typedef struct tagAMX_DBG_FILE {
|
typedef struct tagAMX_DBG_FILE {
|
||||||
ucell address PACKED; /* address in the code segment where generated code (for this file) starts */
|
ucell address PACKED; /* address in the code segment where generated code (for this file) starts */
|
||||||
const char name[1]; /* ASCII string, zero-terminated */
|
const char name[1] PACKED; /* ASCII string, zero-terminated */
|
||||||
} AMX_DBG_FILE;
|
} AMX_DBG_FILE PACKED;
|
||||||
|
|
||||||
typedef struct tagAMX_DBG_LINE {
|
typedef struct tagAMX_DBG_LINE {
|
||||||
ucell address PACKED; /* address in the code segment where generated code (for this line) starts */
|
ucell address PACKED; /* address in the code segment where generated code (for this line) starts */
|
||||||
int32_t line PACKED; /* line number */
|
int32_t line PACKED; /* line number */
|
||||||
} AMX_DBG_LINE;
|
} AMX_DBG_LINE PACKED;
|
||||||
|
|
||||||
typedef struct tagAMX_DBG_SYMBOL {
|
typedef struct tagAMX_DBG_SYMBOL {
|
||||||
ucell address PACKED; /* address in the data segment or relative to the frame */
|
ucell address PACKED; /* address in the data segment or relative to the frame */
|
||||||
int16_t tag PACKED; /* tag for the symbol */
|
int16_t tag PACKED; /* tag for the symbol */
|
||||||
ucell codestart PACKED; /* address in the code segment from which this symbol is valid (in scope) */
|
ucell codestart PACKED; /* address in the code segment from which this symbol is valid (in scope) */
|
||||||
ucell codeend PACKED; /* address in the code segment until which this symbol is valid (in scope) */
|
ucell codeend PACKED; /* address in the code segment until which this symbol is valid (in scope) */
|
||||||
char ident; /* kind of symbol (function/variable) */
|
char ident PACKED; /* kind of symbol (function/variable) */
|
||||||
char vclass; /* class of symbol (global/local) */
|
char vclass PACKED; /* class of symbol (global/local) */
|
||||||
int16_t dim PACKED; /* number of dimensions */
|
int16_t dim PACKED; /* number of dimensions */
|
||||||
const char name[1]; /* ASCII string, zero-terminated */
|
const char name[1] PACKED; /* ASCII string, zero-terminated */
|
||||||
} AMX_DBG_SYMBOL;
|
} AMX_DBG_SYMBOL PACKED;
|
||||||
|
|
||||||
typedef struct tagAMX_DBG_SYMDIM {
|
typedef struct tagAMX_DBG_SYMDIM {
|
||||||
int16_t tag PACKED; /* tag for the array dimension */
|
int16_t tag PACKED; /* tag for the array dimension */
|
||||||
ucell size PACKED; /* size of the array dimension */
|
ucell size PACKED; /* size of the array dimension */
|
||||||
} AMX_DBG_SYMDIM;
|
} AMX_DBG_SYMDIM PACKED;
|
||||||
|
|
||||||
typedef struct tagAMX_DBG_TAG {
|
typedef struct tagAMX_DBG_TAG {
|
||||||
int16_t tag PACKED; /* tag id */
|
int16_t tag PACKED; /* tag id */
|
||||||
const char name[1]; /* ASCII string, zero-terminated */
|
const char name[1] PACKED; /* ASCII string, zero-terminated */
|
||||||
} AMX_DBG_TAG;
|
} AMX_DBG_TAG PACKED;
|
||||||
|
|
||||||
typedef struct tagAMX_DBG_MACHINE {
|
typedef struct tagAMX_DBG_MACHINE {
|
||||||
int16_t automaton PACKED; /* automaton id */
|
int16_t automaton PACKED; /* automaton id */
|
||||||
ucell address PACKED; /* address of state variable */
|
ucell address PACKED; /* address of state variable */
|
||||||
const char name[1]; /* ASCII string, zero-terminated */
|
const char name[1] PACKED; /* ASCII string, zero-terminated */
|
||||||
} AMX_DBG_MACHINE;
|
} AMX_DBG_MACHINE PACKED;
|
||||||
|
|
||||||
typedef struct tagAMX_DBG_STATE {
|
typedef struct tagAMX_DBG_STATE {
|
||||||
int16_t state PACKED; /* state id */
|
int16_t state PACKED; /* state id */
|
||||||
int16_t automaton PACKED; /* automaton id */
|
int16_t automaton PACKED; /* automaton id */
|
||||||
const char name[1]; /* ASCII string, zero-terminated */
|
const char name[1] PACKED; /* ASCII string, zero-terminated */
|
||||||
} AMX_DBG_STATE;
|
} AMX_DBG_STATE PACKED;
|
||||||
|
|
||||||
typedef struct tagAMX_DBG {
|
typedef struct tagAMX_DBG {
|
||||||
AMX_DBG_HDR _FAR *hdr PACKED; /* points to the AMX_DBG header */
|
AMX_DBG_HDR _FAR *hdr PACKED; /* points to the AMX_DBG header */
|
||||||
@ -128,7 +128,7 @@ typedef struct tagAMX_DBG {
|
|||||||
AMX_DBG_TAG _FAR **tagtbl PACKED;
|
AMX_DBG_TAG _FAR **tagtbl PACKED;
|
||||||
AMX_DBG_MACHINE _FAR **automatontbl PACKED;
|
AMX_DBG_MACHINE _FAR **automatontbl PACKED;
|
||||||
AMX_DBG_STATE _FAR **statetbl PACKED;
|
AMX_DBG_STATE _FAR **statetbl PACKED;
|
||||||
} AMX_DBG;
|
} AMX_DBG PACKED;
|
||||||
|
|
||||||
#if !defined iVARIABLE
|
#if !defined iVARIABLE
|
||||||
#define iVARIABLE 1 /* cell that has an address and that can be fetched directly (lvalue) */
|
#define iVARIABLE 1 /* cell that has an address and that can be fetched directly (lvalue) */
|
||||||
@ -156,7 +156,7 @@ int AMXAPI dbg_GetArrayDim(AMX_DBG *amxdbg, const AMX_DBG_SYMBOL *sym, const AMX
|
|||||||
|
|
||||||
|
|
||||||
#if !defined AMX_NO_ALIGN
|
#if !defined AMX_NO_ALIGN
|
||||||
#if defined LINUX || defined __FreeBSD__ || defined __APPLE__
|
#if defined LINUX || defined __FreeBSD__
|
||||||
#pragma pack() /* reset default packing */
|
#pragma pack() /* reset default packing */
|
||||||
#elif defined MACOS && defined __MWERKS__
|
#elif defined MACOS && defined __MWERKS__
|
||||||
#pragma options align=reset
|
#pragma options align=reset
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#if defined(__linux__) | defined (__APPLE__)
|
#ifdef __linux__
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#else
|
#else
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
@ -12,13 +12,6 @@
|
|||||||
#include "amxxpc.h"
|
#include "amxxpc.h"
|
||||||
#include "Binary.h"
|
#include "Binary.h"
|
||||||
|
|
||||||
#ifdef _MSC_VER
|
|
||||||
// MSVC8 - replace POSIX functions with ISO C++ conformant ones as they are deprecated
|
|
||||||
#if _MSC_VER >= 1400
|
|
||||||
#define unlink _unlink
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static PRINTF pc_printf = NULL;
|
static PRINTF pc_printf = NULL;
|
||||||
|
|
||||||
void ReadFileIntoPl(abl *pl, FILE *fp);
|
void ReadFileIntoPl(abl *pl, FILE *fp);
|
||||||
@ -29,29 +22,28 @@ void WriteBh(BinaryWriter *bw, BinPlugin *bh);
|
|||||||
int main(int argc, char **argv)
|
int main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
struct abl pl32;
|
struct abl pl32;
|
||||||
|
struct abl pl64;
|
||||||
|
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
printf("debug clamp\n");
|
printf("debug clamp\n");
|
||||||
getchar();
|
getchar();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(__linux__)
|
#ifdef __linux__
|
||||||
HINSTANCE lib = NULL;
|
HINSTANCE lib = NULL;
|
||||||
if (FileExists("./amxxpc32.so"))
|
if (FileExists("./amxxpc32.so"))
|
||||||
lib = dlmount("./amxxpc32.so");
|
lib = dlmount("./amxxpc32.so");
|
||||||
else
|
else
|
||||||
lib = dlmount("amxxpc32.so");
|
lib = dlmount("amxxpc32.so");
|
||||||
#elif defined(__APPLE__)
|
|
||||||
HINSTANCE lib = dlmount("amxxpc32.dylib");
|
|
||||||
#else
|
#else
|
||||||
HINSTANCE lib = dlmount("amxxpc32.dll");
|
HINSTANCE lib = dlmount("amxxpc32.dll");
|
||||||
#endif
|
#endif
|
||||||
if (!lib)
|
if (!lib)
|
||||||
{
|
{
|
||||||
#if defined(__linux__) || defined(__APPLE__)
|
#ifdef __linux__
|
||||||
printf("compiler failed to instantiate: %s\n", dlerror());
|
printf("32bit compiler failed to instantiate: %s\n", dlerror());
|
||||||
#else
|
#else
|
||||||
printf("compiler failed to instantiate: %d\n", GetLastError());
|
printf("32bit compiler failed to instantiate: %d\n", GetLastError());
|
||||||
#endif
|
#endif
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
@ -61,16 +53,16 @@ int main(int argc, char **argv)
|
|||||||
|
|
||||||
if (!sc32 || !pc_printf)
|
if (!sc32 || !pc_printf)
|
||||||
{
|
{
|
||||||
#if defined(__linux__) || defined(__APPLE__)
|
#ifdef __linux__
|
||||||
printf("compiler failed to link: %p.\n",sc32);
|
printf("32bit compiler failed to link: %p.\n",sc32);
|
||||||
#else
|
#else
|
||||||
printf("compiler failed to link: %d.\n", GetLastError());
|
printf("32bit compiler failed to link: %d.\n", GetLastError());
|
||||||
#endif
|
#endif
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
pc_printf("Welcome to the AMX Mod X %s Compiler.\n", VERSION_STRING);
|
pc_printf("Welcome to the AMX Mod X %s Compiler.\n", VERSION_STRING);
|
||||||
pc_printf("Copyright (c) 1997-2013 ITB CompuPhase, AMX Mod X Team\n\n");
|
pc_printf("Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team\n\n");
|
||||||
|
|
||||||
if (argc < 2)
|
if (argc < 2)
|
||||||
{
|
{
|
||||||
@ -113,12 +105,61 @@ int main(int argc, char **argv)
|
|||||||
|
|
||||||
unlink(file);
|
unlink(file);
|
||||||
|
|
||||||
|
HINSTANCE lib64 = NULL;
|
||||||
|
#ifdef __linux__
|
||||||
|
if (FileExists("./amxxpc64.so"))
|
||||||
|
lib64 = dlmount("./amxxpc64.so");
|
||||||
|
else
|
||||||
|
lib64 = dlmount("amxxpc64.so");
|
||||||
|
#else
|
||||||
|
lib64 = dlmount("amxxpc64.dll");
|
||||||
|
#endif
|
||||||
|
if (!lib64)
|
||||||
|
{
|
||||||
|
pc_printf("64bit compiler failed to instantiate.\n");
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
COMPILER sc64 = (COMPILER)dlsym(lib64, "Compile64");
|
||||||
|
|
||||||
|
if (!sc64)
|
||||||
|
{
|
||||||
|
#ifdef __linux__
|
||||||
|
pc_printf("64bit compiler failed to link: %s.\n", dlerror());
|
||||||
|
#else
|
||||||
|
pc_printf("64bit compiler failed to link: %d.\n", GetLastError());
|
||||||
|
#endif
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
sc64(argc, argv);
|
||||||
|
|
||||||
|
dlclose(lib64);
|
||||||
|
|
||||||
|
if (file == NULL)
|
||||||
|
{
|
||||||
|
pc_printf("Could not locate the output file on second pass.\n");
|
||||||
|
exit(0);
|
||||||
|
} else {
|
||||||
|
FILE *fp = fopen(file, "rb");
|
||||||
|
if (fp == NULL)
|
||||||
|
{
|
||||||
|
pc_printf("Could not locate output file on second pass (compile failed).\n");
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
ReadFileIntoPl(&pl64, fp);
|
||||||
|
pl64.cellsize = 8;
|
||||||
|
fclose(fp);
|
||||||
|
}
|
||||||
|
|
||||||
/////////////
|
/////////////
|
||||||
// COMPRSSION
|
// COMPRSSION
|
||||||
/////////////
|
/////////////
|
||||||
|
|
||||||
CompressPl(&pl32);
|
CompressPl(&pl32);
|
||||||
|
|
||||||
|
CompressPl(&pl64);
|
||||||
|
|
||||||
char *newfile = new char[strlen(file)+3];
|
char *newfile = new char[strlen(file)+3];
|
||||||
strcpy(newfile, file);
|
strcpy(newfile, file);
|
||||||
if (!strstr(file, ".amxx") && !strstr(file, ".AMXX"))
|
if (!strstr(file, ".amxx") && !strstr(file, ".AMXX"))
|
||||||
@ -131,33 +172,34 @@ int main(int argc, char **argv)
|
|||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
BinPlugin bh32;
|
BinPlugin bh32, bh64;
|
||||||
|
|
||||||
Pl2Bh(&pl32, &bh32);
|
Pl2Bh(&pl32, &bh32);
|
||||||
|
Pl2Bh(&pl64, &bh64);
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
||||||
static const int kEntries = 1;
|
|
||||||
|
|
||||||
//entry is 4 ints and a byte
|
|
||||||
static const int kEntrySize = (sizeof(int32_t) * 4) + sizeof(int8_t);
|
|
||||||
|
|
||||||
BinaryWriter bw(fp);
|
BinaryWriter bw(fp);
|
||||||
|
|
||||||
bw.WriteUInt32(MAGIC_HEADER2);
|
bw.WriteUInt32(MAGIC_HEADER2);
|
||||||
bw.WriteUInt16(MAGIC_VERSION);
|
bw.WriteUInt16(MAGIC_VERSION);
|
||||||
bw.WriteUInt8(kEntries);
|
bw.WriteUInt8(2);
|
||||||
|
|
||||||
//base header
|
//base header
|
||||||
int baseaddr = sizeof(int32_t) + sizeof(int16_t) + sizeof(int8_t);
|
int baseaddr = sizeof(int32_t) + sizeof(int16_t) + sizeof(int8_t);
|
||||||
//extend this by the entries we have
|
//entry is 4 ints and a byte
|
||||||
baseaddr += kEntrySize * kEntries;
|
int entrysize = (sizeof(int32_t) * 4) + sizeof(int8_t);
|
||||||
|
//extend this by the two entries we have
|
||||||
|
baseaddr += entrysize * 2;
|
||||||
|
|
||||||
bh32.offs = baseaddr;
|
bh32.offs = baseaddr;
|
||||||
|
bh64.offs = bh32.offs + bh32.disksize;
|
||||||
|
|
||||||
WriteBh(&bw, &bh32);
|
WriteBh(&bw, &bh32);
|
||||||
|
WriteBh(&bw, &bh64);
|
||||||
bw.WriteChars(pl32.cmp, pl32.cmpsize);
|
bw.WriteChars(pl32.cmp, pl32.cmpsize);
|
||||||
|
bw.WriteChars(pl64.cmp, pl64.cmpsize);
|
||||||
} catch (...) {
|
} catch (...) {
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
unlink(file);
|
unlink(file);
|
||||||
@ -244,7 +286,7 @@ char *swiext(const char *file, const char *ext, int isO)
|
|||||||
int i = 0, pos = -1, j = 0;
|
int i = 0, pos = -1, j = 0;
|
||||||
int fileLen = strlen(file);
|
int fileLen = strlen(file);
|
||||||
int extLen = strlen(ext);
|
int extLen = strlen(ext);
|
||||||
int odirFlag = -1;
|
int max = 0, odirFlag = -1;
|
||||||
|
|
||||||
for (i=fileLen-1; i>=0; i--)
|
for (i=fileLen-1; i>=0; i--)
|
||||||
{
|
{
|
||||||
@ -340,7 +382,7 @@ void show_help()
|
|||||||
printf("\t-r[name] write cross reference report to console or to specified file\n");
|
printf("\t-r[name] write cross reference report to console or to specified file\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(__linux__) || defined(__APPLE__)
|
#ifdef __linux__
|
||||||
bool FileExists(const char *file)
|
bool FileExists(const char *file)
|
||||||
{
|
{
|
||||||
FILE *fp = fopen(file, "rb");
|
FILE *fp = fopen(file, "rb");
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
#ifndef _AMXXSC_INCLUDE_H
|
#ifndef _AMXXSC_INCLUDE_H
|
||||||
#define _AMXXSC_INCLUDE_H
|
#define _AMXXSC_INCLUDE_H
|
||||||
|
|
||||||
#define VERSION_STRING "1.8.1-300"
|
#define VERSION_STRING "1.76-300"
|
||||||
#define MAGIC_HEADER2 0x414D5858
|
#define MAGIC_HEADER2 0x414D5858
|
||||||
#define MAGIC_VERSION 0x0300
|
#define MAGIC_VERSION 0x0300
|
||||||
|
|
||||||
#if defined(__linux__) || defined(__APPLE__)
|
#ifdef __linux__
|
||||||
# include <dlfcn.h>
|
# include <dlfcn.h>
|
||||||
#else
|
#else
|
||||||
# include <windows.h>
|
# include <windows.h>
|
||||||
@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#if defined(__linux__) || defined(__APPLE__)
|
#ifdef __linux__
|
||||||
# define dlmount(x) dlopen(x, RTLD_NOW|RTLD_GLOBAL)
|
# define dlmount(x) dlopen(x, RTLD_NOW|RTLD_GLOBAL)
|
||||||
typedef void* HINSTANCE;
|
typedef void* HINSTANCE;
|
||||||
#else
|
#else
|
||||||
@ -65,7 +65,7 @@ struct BinPlugin
|
|||||||
int32_t offs; //file offset
|
int32_t offs; //file offset
|
||||||
};
|
};
|
||||||
|
|
||||||
#if defined(__linux__) || defined(__APPLE__)
|
#ifdef __linux__
|
||||||
bool FileExists(const char *file);
|
bool FileExists(const char *file);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -1,20 +1,21 @@
|
|||||||
|
Microsoft Visual Studio Solution File, Format Version 8.00
|
||||||
Microsoft Visual Studio Solution File, Format Version 11.00
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "amxxpc", "amxxpc.vcproj", "{39412290-D01C-472F-A439-AB5592A04C08}"
|
||||||
# Visual Studio 2010
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "amxxpc", "amxxpc.vcxproj", "{39412290-D01C-472F-A439-AB5592A04C08}"
|
EndProjectSection
|
||||||
EndProject
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfiguration) = preSolution
|
||||||
Debug|Win32 = Debug|Win32
|
Debug = Debug
|
||||||
Release|Win32 = Release|Win32
|
Release = Release
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
GlobalSection(ProjectConfiguration) = postSolution
|
||||||
{39412290-D01C-472F-A439-AB5592A04C08}.Debug|Win32.ActiveCfg = Debug|Win32
|
{39412290-D01C-472F-A439-AB5592A04C08}.Debug.ActiveCfg = Debug|Win32
|
||||||
{39412290-D01C-472F-A439-AB5592A04C08}.Debug|Win32.Build.0 = Debug|Win32
|
{39412290-D01C-472F-A439-AB5592A04C08}.Debug.Build.0 = Debug|Win32
|
||||||
{39412290-D01C-472F-A439-AB5592A04C08}.Release|Win32.ActiveCfg = Release|Win32
|
{39412290-D01C-472F-A439-AB5592A04C08}.Release.ActiveCfg = Release|Win32
|
||||||
{39412290-D01C-472F-A439-AB5592A04C08}.Release|Win32.Build.0 = Release|Win32
|
{39412290-D01C-472F-A439-AB5592A04C08}.Release.Build.0 = Release|Win32
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
HideSolutionNode = FALSE
|
EndGlobalSection
|
||||||
EndGlobalSection
|
GlobalSection(ExtensibilityAddIns) = postSolution
|
||||||
EndGlobal
|
EndGlobalSection
|
||||||
|
EndGlobal
|
||||||
|
174
compiler/amxxpc/amxxpc.vcproj
Executable file
174
compiler/amxxpc/amxxpc.vcproj
Executable file
@ -0,0 +1,174 @@
|
|||||||
|
<?xml version="1.0" encoding="Windows-1252"?>
|
||||||
|
<VisualStudioProject
|
||||||
|
ProjectType="Visual C++"
|
||||||
|
Version="7.10"
|
||||||
|
Name="amxxpc"
|
||||||
|
ProjectGUID="{39412290-D01C-472F-A439-AB5592A04C08}"
|
||||||
|
Keyword="Win32Proj">
|
||||||
|
<Platforms>
|
||||||
|
<Platform
|
||||||
|
Name="Win32"/>
|
||||||
|
</Platforms>
|
||||||
|
<Configurations>
|
||||||
|
<Configuration
|
||||||
|
Name="Debug|Win32"
|
||||||
|
OutputDirectory="Debug"
|
||||||
|
IntermediateDirectory="Debug"
|
||||||
|
ConfigurationType="1"
|
||||||
|
CharacterSet="2">
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="0"
|
||||||
|
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
|
||||||
|
MinimalRebuild="TRUE"
|
||||||
|
BasicRuntimeChecks="3"
|
||||||
|
RuntimeLibrary="5"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
WarningLevel="3"
|
||||||
|
Detect64BitPortabilityProblems="TRUE"
|
||||||
|
DebugInformationFormat="4"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies="zlib.lib"
|
||||||
|
OutputFile="$(OutDir)/amxxpc.exe"
|
||||||
|
LinkIncremental="2"
|
||||||
|
GenerateDebugInformation="TRUE"
|
||||||
|
ProgramDatabaseFile="$(OutDir)/amxxpc.pdb"
|
||||||
|
SubSystem="1"
|
||||||
|
TargetMachine="1"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebDeploymentTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedWrapperGeneratorTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Release|Win32"
|
||||||
|
OutputDirectory="Release"
|
||||||
|
IntermediateDirectory="Release"
|
||||||
|
ConfigurationType="1"
|
||||||
|
CharacterSet="2">
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
||||||
|
RuntimeLibrary="4"
|
||||||
|
StructMemberAlignment="0"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
WarningLevel="3"
|
||||||
|
Detect64BitPortabilityProblems="FALSE"
|
||||||
|
DebugInformationFormat="3"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies="zlib.lib"
|
||||||
|
OutputFile="$(OutDir)/amxxpc.exe"
|
||||||
|
LinkIncremental="1"
|
||||||
|
GenerateDebugInformation="TRUE"
|
||||||
|
SubSystem="1"
|
||||||
|
OptimizeReferences="2"
|
||||||
|
EnableCOMDATFolding="2"
|
||||||
|
TargetMachine="1"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebDeploymentTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedWrapperGeneratorTool"/>
|
||||||
|
<Tool
|
||||||
|
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||||
|
</Configuration>
|
||||||
|
</Configurations>
|
||||||
|
<References>
|
||||||
|
</References>
|
||||||
|
<Files>
|
||||||
|
<Filter
|
||||||
|
Name="Source Files"
|
||||||
|
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||||
|
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
|
||||||
|
<File
|
||||||
|
RelativePath=".\amx.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\amxxpc.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\Binary.cpp">
|
||||||
|
</File>
|
||||||
|
</Filter>
|
||||||
|
<Filter
|
||||||
|
Name="Header Files"
|
||||||
|
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||||
|
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
|
||||||
|
<File
|
||||||
|
RelativePath=".\amx.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\amxdbg.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\amxxpc.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\Binary.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\osdefs.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\resource.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\resource1.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\sclinux.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\zconf.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\zlib.h">
|
||||||
|
</File>
|
||||||
|
</Filter>
|
||||||
|
<Filter
|
||||||
|
Name="Resource Files"
|
||||||
|
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
|
||||||
|
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
|
||||||
|
<File
|
||||||
|
RelativePath=".\amxxpc1.rc">
|
||||||
|
</File>
|
||||||
|
</Filter>
|
||||||
|
</Files>
|
||||||
|
<Globals>
|
||||||
|
</Globals>
|
||||||
|
</VisualStudioProject>
|
@ -1,115 +0,0 @@
|
|||||||
<?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|Win32">
|
|
||||||
<Configuration>Debug</Configuration>
|
|
||||||
<Platform>Win32</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="Release|Win32">
|
|
||||||
<Configuration>Release</Configuration>
|
|
||||||
<Platform>Win32</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
</ItemGroup>
|
|
||||||
<PropertyGroup Label="Globals">
|
|
||||||
<ProjectGuid>{39412290-D01C-472F-A439-AB5592A04C08}</ProjectGuid>
|
|
||||||
<RootNamespace>amxxpc</RootNamespace>
|
|
||||||
<Keyword>Win32Proj</Keyword>
|
|
||||||
</PropertyGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
|
||||||
<CharacterSet>MultiByte</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
|
||||||
<CharacterSet>MultiByte</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
|
||||||
<ImportGroup Label="ExtensionSettings">
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
|
||||||
</ImportGroup>
|
|
||||||
<PropertyGroup Label="UserMacros" />
|
|
||||||
<PropertyGroup>
|
|
||||||
<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
|
|
||||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
|
|
||||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
|
||||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
|
||||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
|
||||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
|
||||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
|
||||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
|
||||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
|
||||||
</PropertyGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
||||||
<ClCompile>
|
|
||||||
<Optimization>Disabled</Optimization>
|
|
||||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<MinimalRebuild>true</MinimalRebuild>
|
|
||||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
|
||||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
|
||||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
|
||||||
<PrecompiledHeader>
|
|
||||||
</PrecompiledHeader>
|
|
||||||
<WarningLevel>Level3</WarningLevel>
|
|
||||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<AdditionalDependencies>zlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
<ProgramDatabaseFile>$(OutDir)amxxpc.pdb</ProgramDatabaseFile>
|
|
||||||
<SubSystem>Console</SubSystem>
|
|
||||||
<TargetMachine>MachineX86</TargetMachine>
|
|
||||||
<IgnoreSpecificDefaultLibraries>LIBCMT;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
||||||
<ClCompile>
|
|
||||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
|
||||||
<StructMemberAlignment>Default</StructMemberAlignment>
|
|
||||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
|
||||||
<PrecompiledHeader>
|
|
||||||
</PrecompiledHeader>
|
|
||||||
<WarningLevel>Level3</WarningLevel>
|
|
||||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<AdditionalDependencies>zlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
<SubSystem>Console</SubSystem>
|
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
|
||||||
<TargetMachine>MachineX86</TargetMachine>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ClCompile Include="amx.cpp" />
|
|
||||||
<ClCompile Include="amxxpc.cpp" />
|
|
||||||
<ClCompile Include="Binary.cpp" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ClInclude Include="amx.h" />
|
|
||||||
<ClInclude Include="amxdbg.h" />
|
|
||||||
<ClInclude Include="amxxpc.h" />
|
|
||||||
<ClInclude Include="Binary.h" />
|
|
||||||
<ClInclude Include="osdefs.h" />
|
|
||||||
<ClInclude Include="resource.h" />
|
|
||||||
<ClInclude Include="resource1.h" />
|
|
||||||
<ClInclude Include="sclinux.h" />
|
|
||||||
<ClInclude Include="zconf.h" />
|
|
||||||
<ClInclude Include="zlib.h" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ResourceCompile Include="amxxpc1.rc" />
|
|
||||||
</ItemGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
|
||||||
<ImportGroup Label="ExtensionTargets">
|
|
||||||
</ImportGroup>
|
|
||||||
</Project>
|
|
@ -1,65 +0,0 @@
|
|||||||
<?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;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</Extensions>
|
|
||||||
</Filter>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ClCompile Include="amx.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="amxxpc.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="Binary.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ClInclude Include="amx.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="amxdbg.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="amxxpc.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="Binary.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="osdefs.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="resource.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="resource1.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="sclinux.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="zconf.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="zlib.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ResourceCompile Include="amxxpc1.rc">
|
|
||||||
<Filter>Resource Files</Filter>
|
|
||||||
</ResourceCompile>
|
|
||||||
</ItemGroup>
|
|
||||||
</Project>
|
|
@ -7,7 +7,7 @@
|
|||||||
//
|
//
|
||||||
// Generated from the TEXTINCLUDE 2 resource.
|
// Generated from the TEXTINCLUDE 2 resource.
|
||||||
//
|
//
|
||||||
#include "windows.h"
|
#include "afxres.h"
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
#undef APSTUDIO_READONLY_SYMBOLS
|
#undef APSTUDIO_READONLY_SYMBOLS
|
||||||
|
Binary file not shown.
Binary file not shown.
@ -39,10 +39,6 @@
|
|||||||
#include <endian.h>
|
#include <endian.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined __APPLE__
|
|
||||||
#include <sys/types.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Linux NOW has these */
|
/* Linux NOW has these */
|
||||||
#if !defined BIG_ENDIAN
|
#if !defined BIG_ENDIAN
|
||||||
#define BIG_ENDIAN 4321
|
#define BIG_ENDIAN 4321
|
||||||
|
@ -32,10 +32,6 @@
|
|||||||
*/
|
*/
|
||||||
#if !defined __BYTE_ORDER
|
#if !defined __BYTE_ORDER
|
||||||
# include <stdlib.h>
|
# include <stdlib.h>
|
||||||
# if defined __APPLE__
|
|
||||||
# include <sys/types.h>
|
|
||||||
# define __BYTE_ORDER BYTE_ORDER
|
|
||||||
# endif
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined __OpenBSD__ || defined __FreeBSD__
|
#if defined __OpenBSD__ || defined __FreeBSD__
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
/* zconf.h -- configuration of the zlib compression library
|
/* zconf.h -- configuration of the zlib compression library
|
||||||
* Copyright (C) 1995-2005 Jean-loup Gailly.
|
* Copyright (C) 1995-2003 Jean-loup Gailly.
|
||||||
* For conditions of distribution and use, see copyright notice in zlib.h
|
* For conditions of distribution and use, see copyright notice in zlib.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* @(#) $Id: zconf.h 3734 2008-08-16 09:48:39Z damagedsoul $ */
|
/* @(#) $Id$ */
|
||||||
|
|
||||||
#ifndef ZCONF_H
|
#ifndef ZCONF_H
|
||||||
#define ZCONF_H
|
#define ZCONF_H
|
||||||
@ -13,50 +13,43 @@
|
|||||||
* compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
|
* compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
|
||||||
*/
|
*/
|
||||||
#ifdef Z_PREFIX
|
#ifdef Z_PREFIX
|
||||||
# define deflateInit_ z_deflateInit_
|
# define deflateInit_ z_deflateInit_
|
||||||
# define deflate z_deflate
|
# define deflate z_deflate
|
||||||
# define deflateEnd z_deflateEnd
|
# define deflateEnd z_deflateEnd
|
||||||
# define inflateInit_ z_inflateInit_
|
# define inflateInit_ z_inflateInit_
|
||||||
# define inflate z_inflate
|
# define inflate z_inflate
|
||||||
# define inflateEnd z_inflateEnd
|
# define inflateEnd z_inflateEnd
|
||||||
# define deflateInit2_ z_deflateInit2_
|
# define deflateInit2_ z_deflateInit2_
|
||||||
# define deflateSetDictionary z_deflateSetDictionary
|
# define deflateSetDictionary z_deflateSetDictionary
|
||||||
# define deflateCopy z_deflateCopy
|
# define deflateCopy z_deflateCopy
|
||||||
# define deflateReset z_deflateReset
|
# define deflateReset z_deflateReset
|
||||||
# define deflateParams z_deflateParams
|
# define deflatePrime z_deflatePrime
|
||||||
# define deflateBound z_deflateBound
|
# define deflateParams z_deflateParams
|
||||||
# define deflatePrime z_deflatePrime
|
# define deflateBound z_deflateBound
|
||||||
# define inflateInit2_ z_inflateInit2_
|
# define inflateInit2_ z_inflateInit2_
|
||||||
# define inflateSetDictionary z_inflateSetDictionary
|
# define inflateSetDictionary z_inflateSetDictionary
|
||||||
# define inflateSync z_inflateSync
|
# define inflateSync z_inflateSync
|
||||||
# define inflateSyncPoint z_inflateSyncPoint
|
# define inflateSyncPoint z_inflateSyncPoint
|
||||||
# define inflateCopy z_inflateCopy
|
# define inflateCopy z_inflateCopy
|
||||||
# define inflateReset z_inflateReset
|
# define inflateReset z_inflateReset
|
||||||
# define inflateBack z_inflateBack
|
# define compress z_compress
|
||||||
# define inflateBackEnd z_inflateBackEnd
|
# define compress2 z_compress2
|
||||||
# define compress z_compress
|
# define compressBound z_compressBound
|
||||||
# define compress2 z_compress2
|
# define uncompress z_uncompress
|
||||||
# define compressBound z_compressBound
|
# define adler32 z_adler32
|
||||||
# define uncompress z_uncompress
|
# define crc32 z_crc32
|
||||||
# define adler32 z_adler32
|
# define get_crc_table z_get_crc_table
|
||||||
# define crc32 z_crc32
|
|
||||||
# define get_crc_table z_get_crc_table
|
|
||||||
# define zError z_zError
|
|
||||||
|
|
||||||
# define alloc_func z_alloc_func
|
# define Byte z_Byte
|
||||||
# define free_func z_free_func
|
# define uInt z_uInt
|
||||||
# define in_func z_in_func
|
# define uLong z_uLong
|
||||||
# define out_func z_out_func
|
# define Bytef z_Bytef
|
||||||
# define Byte z_Byte
|
# define charf z_charf
|
||||||
# define uInt z_uInt
|
# define intf z_intf
|
||||||
# define uLong z_uLong
|
# define uIntf z_uIntf
|
||||||
# define Bytef z_Bytef
|
# define uLongf z_uLongf
|
||||||
# define charf z_charf
|
# define voidpf z_voidpf
|
||||||
# define intf z_intf
|
# define voidp z_voidp
|
||||||
# define uIntf z_uIntf
|
|
||||||
# define uLongf z_uLongf
|
|
||||||
# define voidpf z_voidpf
|
|
||||||
# define voidp z_voidp
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(__MSDOS__) && !defined(MSDOS)
|
#if defined(__MSDOS__) && !defined(MSDOS)
|
||||||
@ -68,10 +61,8 @@
|
|||||||
#if defined(_WINDOWS) && !defined(WINDOWS)
|
#if defined(_WINDOWS) && !defined(WINDOWS)
|
||||||
# define WINDOWS
|
# define WINDOWS
|
||||||
#endif
|
#endif
|
||||||
#if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__)
|
#if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32)
|
||||||
# ifndef WIN32
|
# define WIN32
|
||||||
# define WIN32
|
|
||||||
# endif
|
|
||||||
#endif
|
#endif
|
||||||
#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32)
|
#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32)
|
||||||
# if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__)
|
# if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__)
|
||||||
@ -290,7 +281,7 @@ typedef uLong FAR uLongf;
|
|||||||
# ifdef VMS
|
# ifdef VMS
|
||||||
# include <unixio.h> /* for off_t */
|
# include <unixio.h> /* for off_t */
|
||||||
# endif
|
# endif
|
||||||
# define z_off_t off_t
|
# define z_off_t off_t
|
||||||
#endif
|
#endif
|
||||||
#ifndef SEEK_SET
|
#ifndef SEEK_SET
|
||||||
# define SEEK_SET 0 /* Seek from beginning of file. */
|
# define SEEK_SET 0 /* Seek from beginning of file. */
|
||||||
@ -298,11 +289,11 @@ typedef uLong FAR uLongf;
|
|||||||
# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */
|
# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */
|
||||||
#endif
|
#endif
|
||||||
#ifndef z_off_t
|
#ifndef z_off_t
|
||||||
# define z_off_t long
|
# define z_off_t long
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(__OS400__)
|
#if defined(__OS400__)
|
||||||
# define NO_vsnprintf
|
#define NO_vsnprintf
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(__MVS__)
|
#if defined(__MVS__)
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* zlib.h -- interface of the 'zlib' general purpose compression library
|
/* zlib.h -- interface of the 'zlib' general purpose compression library
|
||||||
version 1.2.3, July 18th, 2005
|
version 1.2.1, November 17th, 2003
|
||||||
|
|
||||||
Copyright (C) 1995-2005 Jean-loup Gailly and Mark Adler
|
Copyright (C) 1995-2003 Jean-loup Gailly and Mark Adler
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
@ -37,8 +37,8 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define ZLIB_VERSION "1.2.3"
|
#define ZLIB_VERSION "1.2.1"
|
||||||
#define ZLIB_VERNUM 0x1230
|
#define ZLIB_VERNUM 0x1210
|
||||||
|
|
||||||
/*
|
/*
|
||||||
The 'zlib' compression library provides in-memory compression and
|
The 'zlib' compression library provides in-memory compression and
|
||||||
@ -53,22 +53,24 @@ extern "C" {
|
|||||||
application must provide more input and/or consume the output
|
application must provide more input and/or consume the output
|
||||||
(providing more output space) before each call.
|
(providing more output space) before each call.
|
||||||
|
|
||||||
The compressed data format used by default by the in-memory functions is
|
The compressed data format used by the in-memory functions is the zlib
|
||||||
the zlib format, which is a zlib wrapper documented in RFC 1950, wrapped
|
format, which is a zlib wrapper documented in RFC 1950, wrapped around a
|
||||||
around a deflate stream, which is itself documented in RFC 1951.
|
deflate stream, which is itself documented in RFC 1951.
|
||||||
|
|
||||||
The library also supports reading and writing files in gzip (.gz) format
|
The library also supports reading and writing files in gzip (.gz) format
|
||||||
with an interface similar to that of stdio using the functions that start
|
with an interface similar to that of stdio using the functions that start
|
||||||
with "gz". The gzip format is different from the zlib format. gzip is a
|
with "gz". The gzip format is different from the zlib format. gzip is a
|
||||||
gzip wrapper, documented in RFC 1952, wrapped around a deflate stream.
|
gzip wrapper, documented in RFC 1952, wrapped around a deflate stream.
|
||||||
|
|
||||||
This library can optionally read and write gzip streams in memory as well.
|
|
||||||
|
|
||||||
The zlib format was designed to be compact and fast for use in memory
|
The zlib format was designed to be compact and fast for use in memory
|
||||||
and on communications channels. The gzip format was designed for single-
|
and on communications channels. The gzip format was designed for single-
|
||||||
file compression on file systems, has a larger header than zlib to maintain
|
file compression on file systems, has a larger header than zlib to maintain
|
||||||
directory information, and uses a different, slower check method than zlib.
|
directory information, and uses a different, slower check method than zlib.
|
||||||
|
|
||||||
|
This library does not provide any functions to write gzip files in memory.
|
||||||
|
However such functions could be easily written using zlib's deflate function,
|
||||||
|
the documentation in the gzip RFC, and the examples in gzio.c.
|
||||||
|
|
||||||
The library does not install any signal handler. The decoder checks
|
The library does not install any signal handler. The decoder checks
|
||||||
the consistency of the compressed data, so the library should never
|
the consistency of the compressed data, so the library should never
|
||||||
crash even in case of corrupted input.
|
crash even in case of corrupted input.
|
||||||
@ -95,36 +97,13 @@ typedef struct z_stream_s {
|
|||||||
free_func zfree; /* used to free the internal state */
|
free_func zfree; /* used to free the internal state */
|
||||||
voidpf opaque; /* private data object passed to zalloc and zfree */
|
voidpf opaque; /* private data object passed to zalloc and zfree */
|
||||||
|
|
||||||
int data_type; /* best guess about the data type: binary or text */
|
int data_type; /* best guess about the data type: ascii or binary */
|
||||||
uLong adler; /* adler32 value of the uncompressed data */
|
uLong adler; /* adler32 value of the uncompressed data */
|
||||||
uLong reserved; /* reserved for future use */
|
uLong reserved; /* reserved for future use */
|
||||||
} z_stream;
|
} z_stream;
|
||||||
|
|
||||||
typedef z_stream FAR *z_streamp;
|
typedef z_stream FAR *z_streamp;
|
||||||
|
|
||||||
/*
|
|
||||||
gzip header information passed to and from zlib routines. See RFC 1952
|
|
||||||
for more details on the meanings of these fields.
|
|
||||||
*/
|
|
||||||
typedef struct gz_header_s {
|
|
||||||
int text; /* true if compressed data believed to be text */
|
|
||||||
uLong time; /* modification time */
|
|
||||||
int xflags; /* extra flags (not used when writing a gzip file) */
|
|
||||||
int os; /* operating system */
|
|
||||||
Bytef *extra; /* pointer to extra field or Z_NULL if none */
|
|
||||||
uInt extra_len; /* extra field length (valid if extra != Z_NULL) */
|
|
||||||
uInt extra_max; /* space at extra (only when reading header) */
|
|
||||||
Bytef *name; /* pointer to zero-terminated file name or Z_NULL */
|
|
||||||
uInt name_max; /* space at name (only when reading header) */
|
|
||||||
Bytef *comment; /* pointer to zero-terminated comment or Z_NULL */
|
|
||||||
uInt comm_max; /* space at comment (only when reading header) */
|
|
||||||
int hcrc; /* true if there was or will be a header crc */
|
|
||||||
int done; /* true when done reading gzip header (not used
|
|
||||||
when writing a gzip file) */
|
|
||||||
} gz_header;
|
|
||||||
|
|
||||||
typedef gz_header FAR *gz_headerp;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
The application must update next_in and avail_in when avail_in has
|
The application must update next_in and avail_in when avail_in has
|
||||||
dropped to zero. It must update next_out and avail_out when avail_out
|
dropped to zero. It must update next_out and avail_out when avail_out
|
||||||
@ -189,13 +168,11 @@ typedef gz_header FAR *gz_headerp;
|
|||||||
#define Z_FILTERED 1
|
#define Z_FILTERED 1
|
||||||
#define Z_HUFFMAN_ONLY 2
|
#define Z_HUFFMAN_ONLY 2
|
||||||
#define Z_RLE 3
|
#define Z_RLE 3
|
||||||
#define Z_FIXED 4
|
|
||||||
#define Z_DEFAULT_STRATEGY 0
|
#define Z_DEFAULT_STRATEGY 0
|
||||||
/* compression strategy; see deflateInit2() below for details */
|
/* compression strategy; see deflateInit2() below for details */
|
||||||
|
|
||||||
#define Z_BINARY 0
|
#define Z_BINARY 0
|
||||||
#define Z_TEXT 1
|
#define Z_ASCII 1
|
||||||
#define Z_ASCII Z_TEXT /* for compatibility with 1.2.2 and earlier */
|
|
||||||
#define Z_UNKNOWN 2
|
#define Z_UNKNOWN 2
|
||||||
/* Possible values of the data_type field (though see inflate()) */
|
/* Possible values of the data_type field (though see inflate()) */
|
||||||
|
|
||||||
@ -269,10 +246,6 @@ ZEXTERN int ZEXPORT deflate OF((z_streamp strm, int flush));
|
|||||||
and with zero avail_out, it must be called again after making room in the
|
and with zero avail_out, it must be called again after making room in the
|
||||||
output buffer because there might be more output pending.
|
output buffer because there might be more output pending.
|
||||||
|
|
||||||
Normally the parameter flush is set to Z_NO_FLUSH, which allows deflate to
|
|
||||||
decide how much data to accumualte before producing output, in order to
|
|
||||||
maximize compression.
|
|
||||||
|
|
||||||
If the parameter flush is set to Z_SYNC_FLUSH, all pending output is
|
If the parameter flush is set to Z_SYNC_FLUSH, all pending output is
|
||||||
flushed to the output buffer and the output is aligned on a byte boundary, so
|
flushed to the output buffer and the output is aligned on a byte boundary, so
|
||||||
that the decompressor can get all input data available so far. (In particular
|
that the decompressor can get all input data available so far. (In particular
|
||||||
@ -284,7 +257,7 @@ ZEXTERN int ZEXPORT deflate OF((z_streamp strm, int flush));
|
|||||||
Z_SYNC_FLUSH, and the compression state is reset so that decompression can
|
Z_SYNC_FLUSH, and the compression state is reset so that decompression can
|
||||||
restart from this point if previous compressed data has been damaged or if
|
restart from this point if previous compressed data has been damaged or if
|
||||||
random access is desired. Using Z_FULL_FLUSH too often can seriously degrade
|
random access is desired. Using Z_FULL_FLUSH too often can seriously degrade
|
||||||
compression.
|
the compression.
|
||||||
|
|
||||||
If deflate returns with avail_out == 0, this function must be called again
|
If deflate returns with avail_out == 0, this function must be called again
|
||||||
with the same value of the flush parameter and more output space (updated
|
with the same value of the flush parameter and more output space (updated
|
||||||
@ -309,8 +282,8 @@ ZEXTERN int ZEXPORT deflate OF((z_streamp strm, int flush));
|
|||||||
deflate() sets strm->adler to the adler32 checksum of all input read
|
deflate() sets strm->adler to the adler32 checksum of all input read
|
||||||
so far (that is, total_in bytes).
|
so far (that is, total_in bytes).
|
||||||
|
|
||||||
deflate() may update strm->data_type if it can make a good guess about
|
deflate() may update data_type if it can make a good guess about
|
||||||
the input data type (Z_BINARY or Z_TEXT). In doubt, the data is considered
|
the input data type (Z_ASCII or Z_BINARY). In doubt, the data is considered
|
||||||
binary. This field is only for information purposes and does not affect
|
binary. This field is only for information purposes and does not affect
|
||||||
the compression algorithm in any manner.
|
the compression algorithm in any manner.
|
||||||
|
|
||||||
@ -392,11 +365,11 @@ ZEXTERN int ZEXPORT inflate OF((z_streamp strm, int flush));
|
|||||||
The flush parameter of inflate() can be Z_NO_FLUSH, Z_SYNC_FLUSH,
|
The flush parameter of inflate() can be Z_NO_FLUSH, Z_SYNC_FLUSH,
|
||||||
Z_FINISH, or Z_BLOCK. Z_SYNC_FLUSH requests that inflate() flush as much
|
Z_FINISH, or Z_BLOCK. Z_SYNC_FLUSH requests that inflate() flush as much
|
||||||
output as possible to the output buffer. Z_BLOCK requests that inflate() stop
|
output as possible to the output buffer. Z_BLOCK requests that inflate() stop
|
||||||
if and when it gets to the next deflate block boundary. When decoding the
|
if and when it get to the next deflate block boundary. When decoding the zlib
|
||||||
zlib or gzip format, this will cause inflate() to return immediately after
|
or gzip format, this will cause inflate() to return immediately after the
|
||||||
the header and before the first block. When doing a raw inflate, inflate()
|
header and before the first block. When doing a raw inflate, inflate() will
|
||||||
will go ahead and process the first block, and will return when it gets to
|
go ahead and process the first block, and will return when it gets to the end
|
||||||
the end of that block, or when it runs out of data.
|
of that block, or when it runs out of data.
|
||||||
|
|
||||||
The Z_BLOCK option assists in appending to or combining deflate streams.
|
The Z_BLOCK option assists in appending to or combining deflate streams.
|
||||||
Also to assist in this, on return inflate() will set strm->data_type to the
|
Also to assist in this, on return inflate() will set strm->data_type to the
|
||||||
@ -428,7 +401,7 @@ ZEXTERN int ZEXPORT inflate OF((z_streamp strm, int flush));
|
|||||||
because Z_BLOCK is used.
|
because Z_BLOCK is used.
|
||||||
|
|
||||||
If a preset dictionary is needed after this call (see inflateSetDictionary
|
If a preset dictionary is needed after this call (see inflateSetDictionary
|
||||||
below), inflate sets strm->adler to the adler32 checksum of the dictionary
|
below), inflate sets strm-adler to the adler32 checksum of the dictionary
|
||||||
chosen by the compressor and returns Z_NEED_DICT; otherwise it sets
|
chosen by the compressor and returns Z_NEED_DICT; otherwise it sets
|
||||||
strm->adler to the adler32 checksum of all output produced so far (that is,
|
strm->adler to the adler32 checksum of all output produced so far (that is,
|
||||||
total_out bytes) and returns Z_OK, Z_STREAM_END or an error code as described
|
total_out bytes) and returns Z_OK, Z_STREAM_END or an error code as described
|
||||||
@ -505,8 +478,7 @@ ZEXTERN int ZEXPORT deflateInit2 OF((z_streamp strm,
|
|||||||
16 to windowBits to write a simple gzip header and trailer around the
|
16 to windowBits to write a simple gzip header and trailer around the
|
||||||
compressed data instead of a zlib wrapper. The gzip header will have no
|
compressed data instead of a zlib wrapper. The gzip header will have no
|
||||||
file name, no extra data, no comment, no modification time (set to zero),
|
file name, no extra data, no comment, no modification time (set to zero),
|
||||||
no header crc, and the operating system will be set to 255 (unknown). If a
|
no header crc, and the operating system will be set to 255 (unknown).
|
||||||
gzip stream is being written, strm->adler is a crc32 instead of an adler32.
|
|
||||||
|
|
||||||
The memLevel parameter specifies how much memory should be allocated
|
The memLevel parameter specifies how much memory should be allocated
|
||||||
for the internal compression state. memLevel=1 uses minimum memory but
|
for the internal compression state. memLevel=1 uses minimum memory but
|
||||||
@ -525,9 +497,7 @@ ZEXTERN int ZEXPORT deflateInit2 OF((z_streamp strm,
|
|||||||
Z_DEFAULT and Z_HUFFMAN_ONLY. Z_RLE is designed to be almost as fast as
|
Z_DEFAULT and Z_HUFFMAN_ONLY. Z_RLE is designed to be almost as fast as
|
||||||
Z_HUFFMAN_ONLY, but give better compression for PNG image data. The strategy
|
Z_HUFFMAN_ONLY, but give better compression for PNG image data. The strategy
|
||||||
parameter only affects the compression ratio but not the correctness of the
|
parameter only affects the compression ratio but not the correctness of the
|
||||||
compressed output even if it is not set appropriately. Z_FIXED prevents the
|
compressed output even if it is not set appropriately.
|
||||||
use of dynamic Huffman codes, allowing for a simpler decoder for special
|
|
||||||
applications.
|
|
||||||
|
|
||||||
deflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
|
deflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
|
||||||
memory, Z_STREAM_ERROR if a parameter is invalid (such as an invalid
|
memory, Z_STREAM_ERROR if a parameter is invalid (such as an invalid
|
||||||
@ -556,9 +526,7 @@ ZEXTERN int ZEXPORT deflateSetDictionary OF((z_streamp strm,
|
|||||||
deflateInit or deflateInit2, a part of the dictionary may in effect be
|
deflateInit or deflateInit2, a part of the dictionary may in effect be
|
||||||
discarded, for example if the dictionary is larger than the window size in
|
discarded, for example if the dictionary is larger than the window size in
|
||||||
deflate or deflate2. Thus the strings most likely to be useful should be
|
deflate or deflate2. Thus the strings most likely to be useful should be
|
||||||
put at the end of the dictionary, not at the front. In addition, the
|
put at the end of the dictionary, not at the front.
|
||||||
current implementation of deflate will use at most the window size minus
|
|
||||||
262 bytes of the provided dictionary.
|
|
||||||
|
|
||||||
Upon return of this function, strm->adler is set to the adler32 value
|
Upon return of this function, strm->adler is set to the adler32 value
|
||||||
of the dictionary; the decompressor may later use this value to determine
|
of the dictionary; the decompressor may later use this value to determine
|
||||||
@ -624,23 +592,6 @@ ZEXTERN int ZEXPORT deflateParams OF((z_streamp strm,
|
|||||||
if strm->avail_out was zero.
|
if strm->avail_out was zero.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
ZEXTERN int ZEXPORT deflateTune OF((z_streamp strm,
|
|
||||||
int good_length,
|
|
||||||
int max_lazy,
|
|
||||||
int nice_length,
|
|
||||||
int max_chain));
|
|
||||||
/*
|
|
||||||
Fine tune deflate's internal compression parameters. This should only be
|
|
||||||
used by someone who understands the algorithm used by zlib's deflate for
|
|
||||||
searching for the best matching string, and even then only by the most
|
|
||||||
fanatic optimizer trying to squeeze out the last compressed bit for their
|
|
||||||
specific input data. Read the deflate.c source code for the meaning of the
|
|
||||||
max_lazy, good_length, nice_length, and max_chain parameters.
|
|
||||||
|
|
||||||
deflateTune() can be called after deflateInit() or deflateInit2(), and
|
|
||||||
returns Z_OK on success, or Z_STREAM_ERROR for an invalid deflate stream.
|
|
||||||
*/
|
|
||||||
|
|
||||||
ZEXTERN uLong ZEXPORT deflateBound OF((z_streamp strm,
|
ZEXTERN uLong ZEXPORT deflateBound OF((z_streamp strm,
|
||||||
uLong sourceLen));
|
uLong sourceLen));
|
||||||
/*
|
/*
|
||||||
@ -666,30 +617,6 @@ ZEXTERN int ZEXPORT deflatePrime OF((z_streamp strm,
|
|||||||
stream state was inconsistent.
|
stream state was inconsistent.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
ZEXTERN int ZEXPORT deflateSetHeader OF((z_streamp strm,
|
|
||||||
gz_headerp head));
|
|
||||||
/*
|
|
||||||
deflateSetHeader() provides gzip header information for when a gzip
|
|
||||||
stream is requested by deflateInit2(). deflateSetHeader() may be called
|
|
||||||
after deflateInit2() or deflateReset() and before the first call of
|
|
||||||
deflate(). The text, time, os, extra field, name, and comment information
|
|
||||||
in the provided gz_header structure are written to the gzip header (xflag is
|
|
||||||
ignored -- the extra flags are set according to the compression level). The
|
|
||||||
caller must assure that, if not Z_NULL, name and comment are terminated with
|
|
||||||
a zero byte, and that if extra is not Z_NULL, that extra_len bytes are
|
|
||||||
available there. If hcrc is true, a gzip header crc is included. Note that
|
|
||||||
the current versions of the command-line version of gzip (up through version
|
|
||||||
1.3.x) do not support header crc's, and will report that it is a "multi-part
|
|
||||||
gzip file" and give up.
|
|
||||||
|
|
||||||
If deflateSetHeader is not used, the default gzip header has text false,
|
|
||||||
the time set to zero, and os set to 255, with no extra, name, or comment
|
|
||||||
fields. The gzip header is returned to the default state by deflateReset().
|
|
||||||
|
|
||||||
deflateSetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source
|
|
||||||
stream state was inconsistent.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
ZEXTERN int ZEXPORT inflateInit2 OF((z_streamp strm,
|
ZEXTERN int ZEXPORT inflateInit2 OF((z_streamp strm,
|
||||||
int windowBits));
|
int windowBits));
|
||||||
@ -722,15 +649,14 @@ ZEXTERN int ZEXPORT inflateInit2 OF((z_streamp strm,
|
|||||||
windowBits can also be greater than 15 for optional gzip decoding. Add
|
windowBits can also be greater than 15 for optional gzip decoding. Add
|
||||||
32 to windowBits to enable zlib and gzip decoding with automatic header
|
32 to windowBits to enable zlib and gzip decoding with automatic header
|
||||||
detection, or add 16 to decode only the gzip format (the zlib format will
|
detection, or add 16 to decode only the gzip format (the zlib format will
|
||||||
return a Z_DATA_ERROR). If a gzip stream is being decoded, strm->adler is
|
return a Z_DATA_ERROR).
|
||||||
a crc32 instead of an adler32.
|
|
||||||
|
|
||||||
inflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
|
inflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
|
||||||
memory, Z_STREAM_ERROR if a parameter is invalid (such as a null strm). msg
|
memory, Z_STREAM_ERROR if a parameter is invalid (such as a negative
|
||||||
is set to null if there is no error message. inflateInit2 does not perform
|
memLevel). msg is set to null if there is no error message. inflateInit2
|
||||||
any decompression apart from reading the zlib header if present: this will
|
does not perform any decompression apart from reading the zlib header if
|
||||||
be done by inflate(). (So next_in and avail_in may be modified, but next_out
|
present: this will be done by inflate(). (So next_in and avail_in may be
|
||||||
and avail_out are unchanged.)
|
modified, but next_out and avail_out are unchanged.)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
ZEXTERN int ZEXPORT inflateSetDictionary OF((z_streamp strm,
|
ZEXTERN int ZEXPORT inflateSetDictionary OF((z_streamp strm,
|
||||||
@ -738,14 +664,11 @@ ZEXTERN int ZEXPORT inflateSetDictionary OF((z_streamp strm,
|
|||||||
uInt dictLength));
|
uInt dictLength));
|
||||||
/*
|
/*
|
||||||
Initializes the decompression dictionary from the given uncompressed byte
|
Initializes the decompression dictionary from the given uncompressed byte
|
||||||
sequence. This function must be called immediately after a call of inflate,
|
sequence. This function must be called immediately after a call of inflate
|
||||||
if that call returned Z_NEED_DICT. The dictionary chosen by the compressor
|
if this call returned Z_NEED_DICT. The dictionary chosen by the compressor
|
||||||
can be determined from the adler32 value returned by that call of inflate.
|
can be determined from the adler32 value returned by this call of
|
||||||
The compressor and decompressor must use exactly the same dictionary (see
|
inflate. The compressor and decompressor must use exactly the same
|
||||||
deflateSetDictionary). For raw inflate, this function can be called
|
dictionary (see deflateSetDictionary).
|
||||||
immediately after inflateInit2() or inflateReset() and before any call of
|
|
||||||
inflate() to set the dictionary. The application must insure that the
|
|
||||||
dictionary that was used for compression is provided.
|
|
||||||
|
|
||||||
inflateSetDictionary returns Z_OK if success, Z_STREAM_ERROR if a
|
inflateSetDictionary returns Z_OK if success, Z_STREAM_ERROR if a
|
||||||
parameter is invalid (such as NULL dictionary) or the stream state is
|
parameter is invalid (such as NULL dictionary) or the stream state is
|
||||||
@ -796,64 +719,8 @@ ZEXTERN int ZEXPORT inflateReset OF((z_streamp strm));
|
|||||||
stream state was inconsistent (such as zalloc or state being NULL).
|
stream state was inconsistent (such as zalloc or state being NULL).
|
||||||
*/
|
*/
|
||||||
|
|
||||||
ZEXTERN int ZEXPORT inflatePrime OF((z_streamp strm,
|
|
||||||
int bits,
|
|
||||||
int value));
|
|
||||||
/*
|
/*
|
||||||
This function inserts bits in the inflate input stream. The intent is
|
ZEXTERN int ZEXPORT inflateBackInit OF((z_stream FAR *strm, int windowBits,
|
||||||
that this function is used to start inflating at a bit position in the
|
|
||||||
middle of a byte. The provided bits will be used before any bytes are used
|
|
||||||
from next_in. This function should only be used with raw inflate, and
|
|
||||||
should be used before the first inflate() call after inflateInit2() or
|
|
||||||
inflateReset(). bits must be less than or equal to 16, and that many of the
|
|
||||||
least significant bits of value will be inserted in the input.
|
|
||||||
|
|
||||||
inflatePrime returns Z_OK if success, or Z_STREAM_ERROR if the source
|
|
||||||
stream state was inconsistent.
|
|
||||||
*/
|
|
||||||
|
|
||||||
ZEXTERN int ZEXPORT inflateGetHeader OF((z_streamp strm,
|
|
||||||
gz_headerp head));
|
|
||||||
/*
|
|
||||||
inflateGetHeader() requests that gzip header information be stored in the
|
|
||||||
provided gz_header structure. inflateGetHeader() may be called after
|
|
||||||
inflateInit2() or inflateReset(), and before the first call of inflate().
|
|
||||||
As inflate() processes the gzip stream, head->done is zero until the header
|
|
||||||
is completed, at which time head->done is set to one. If a zlib stream is
|
|
||||||
being decoded, then head->done is set to -1 to indicate that there will be
|
|
||||||
no gzip header information forthcoming. Note that Z_BLOCK can be used to
|
|
||||||
force inflate() to return immediately after header processing is complete
|
|
||||||
and before any actual data is decompressed.
|
|
||||||
|
|
||||||
The text, time, xflags, and os fields are filled in with the gzip header
|
|
||||||
contents. hcrc is set to true if there is a header CRC. (The header CRC
|
|
||||||
was valid if done is set to one.) If extra is not Z_NULL, then extra_max
|
|
||||||
contains the maximum number of bytes to write to extra. Once done is true,
|
|
||||||
extra_len contains the actual extra field length, and extra contains the
|
|
||||||
extra field, or that field truncated if extra_max is less than extra_len.
|
|
||||||
If name is not Z_NULL, then up to name_max characters are written there,
|
|
||||||
terminated with a zero unless the length is greater than name_max. If
|
|
||||||
comment is not Z_NULL, then up to comm_max characters are written there,
|
|
||||||
terminated with a zero unless the length is greater than comm_max. When
|
|
||||||
any of extra, name, or comment are not Z_NULL and the respective field is
|
|
||||||
not present in the header, then that field is set to Z_NULL to signal its
|
|
||||||
absence. This allows the use of deflateSetHeader() with the returned
|
|
||||||
structure to duplicate the header. However if those fields are set to
|
|
||||||
allocated memory, then the application will need to save those pointers
|
|
||||||
elsewhere so that they can be eventually freed.
|
|
||||||
|
|
||||||
If inflateGetHeader is not used, then the header information is simply
|
|
||||||
discarded. The header is always checked for validity, including the header
|
|
||||||
CRC if present. inflateReset() will reset the process to discard the header
|
|
||||||
information. The application would need to call inflateGetHeader() again to
|
|
||||||
retrieve the header from the next gzip stream.
|
|
||||||
|
|
||||||
inflateGetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source
|
|
||||||
stream state was inconsistent.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
ZEXTERN int ZEXPORT inflateBackInit OF((z_streamp strm, int windowBits,
|
|
||||||
unsigned char FAR *window));
|
unsigned char FAR *window));
|
||||||
|
|
||||||
Initialize the internal stream state for decompression using inflateBack()
|
Initialize the internal stream state for decompression using inflateBack()
|
||||||
@ -877,7 +744,7 @@ ZEXTERN int ZEXPORT inflateBackInit OF((z_streamp strm, int windowBits,
|
|||||||
typedef unsigned (*in_func) OF((void FAR *, unsigned char FAR * FAR *));
|
typedef unsigned (*in_func) OF((void FAR *, unsigned char FAR * FAR *));
|
||||||
typedef int (*out_func) OF((void FAR *, unsigned char FAR *, unsigned));
|
typedef int (*out_func) OF((void FAR *, unsigned char FAR *, unsigned));
|
||||||
|
|
||||||
ZEXTERN int ZEXPORT inflateBack OF((z_streamp strm,
|
ZEXTERN int ZEXPORT inflateBack OF((z_stream FAR *strm,
|
||||||
in_func in, void FAR *in_desc,
|
in_func in, void FAR *in_desc,
|
||||||
out_func out, void FAR *out_desc));
|
out_func out, void FAR *out_desc));
|
||||||
/*
|
/*
|
||||||
@ -946,7 +813,7 @@ ZEXTERN int ZEXPORT inflateBack OF((z_streamp strm,
|
|||||||
that inflateBack() cannot return Z_OK.
|
that inflateBack() cannot return Z_OK.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
ZEXTERN int ZEXPORT inflateBackEnd OF((z_streamp strm));
|
ZEXTERN int ZEXPORT inflateBackEnd OF((z_stream FAR *strm));
|
||||||
/*
|
/*
|
||||||
All memory allocated by inflateBackInit() is freed.
|
All memory allocated by inflateBackInit() is freed.
|
||||||
|
|
||||||
@ -1220,12 +1087,6 @@ ZEXTERN int ZEXPORT gzeof OF((gzFile file));
|
|||||||
input stream, otherwise zero.
|
input stream, otherwise zero.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
ZEXTERN int ZEXPORT gzdirect OF((gzFile file));
|
|
||||||
/*
|
|
||||||
Returns 1 if file is being read directly without decompression, otherwise
|
|
||||||
zero.
|
|
||||||
*/
|
|
||||||
|
|
||||||
ZEXTERN int ZEXPORT gzclose OF((gzFile file));
|
ZEXTERN int ZEXPORT gzclose OF((gzFile file));
|
||||||
/*
|
/*
|
||||||
Flushes all pending output if necessary, closes the compressed file
|
Flushes all pending output if necessary, closes the compressed file
|
||||||
@ -1258,6 +1119,7 @@ ZEXTERN void ZEXPORT gzclearerr OF((gzFile file));
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
ZEXTERN uLong ZEXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len));
|
ZEXTERN uLong ZEXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len));
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Update a running Adler-32 checksum with the bytes buf[0..len-1] and
|
Update a running Adler-32 checksum with the bytes buf[0..len-1] and
|
||||||
return the updated checksum. If buf is NULL, this function returns
|
return the updated checksum. If buf is NULL, this function returns
|
||||||
@ -1273,21 +1135,12 @@ ZEXTERN uLong ZEXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len));
|
|||||||
if (adler != original_adler) error();
|
if (adler != original_adler) error();
|
||||||
*/
|
*/
|
||||||
|
|
||||||
ZEXTERN uLong ZEXPORT adler32_combine OF((uLong adler1, uLong adler2,
|
|
||||||
z_off_t len2));
|
|
||||||
/*
|
|
||||||
Combine two Adler-32 checksums into one. For two sequences of bytes, seq1
|
|
||||||
and seq2 with lengths len1 and len2, Adler-32 checksums were calculated for
|
|
||||||
each, adler1 and adler2. adler32_combine() returns the Adler-32 checksum of
|
|
||||||
seq1 and seq2 concatenated, requiring only adler1, adler2, and len2.
|
|
||||||
*/
|
|
||||||
|
|
||||||
ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len));
|
ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len));
|
||||||
/*
|
/*
|
||||||
Update a running CRC-32 with the bytes buf[0..len-1] and return the
|
Update a running crc with the bytes buf[0..len-1] and return the updated
|
||||||
updated CRC-32. If buf is NULL, this function returns the required initial
|
crc. If buf is NULL, this function returns the required initial value
|
||||||
value for the for the crc. Pre- and post-conditioning (one's complement) is
|
for the crc. Pre- and post-conditioning (one's complement) is performed
|
||||||
performed within this function so it shouldn't be done by the application.
|
within this function so it shouldn't be done by the application.
|
||||||
Usage example:
|
Usage example:
|
||||||
|
|
||||||
uLong crc = crc32(0L, Z_NULL, 0);
|
uLong crc = crc32(0L, Z_NULL, 0);
|
||||||
@ -1298,16 +1151,6 @@ ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len));
|
|||||||
if (crc != original_crc) error();
|
if (crc != original_crc) error();
|
||||||
*/
|
*/
|
||||||
|
|
||||||
ZEXTERN uLong ZEXPORT crc32_combine OF((uLong crc1, uLong crc2, z_off_t len2));
|
|
||||||
|
|
||||||
/*
|
|
||||||
Combine two CRC-32 check values into one. For two sequences of bytes,
|
|
||||||
seq1 and seq2 with lengths len1 and len2, CRC-32 check values were
|
|
||||||
calculated for each, crc1 and crc2. crc32_combine() returns the CRC-32
|
|
||||||
check value of seq1 and seq2 concatenated, requiring only crc1, crc2, and
|
|
||||||
len2.
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
/* various hacks, don't look :) */
|
/* various hacks, don't look :) */
|
||||||
|
|
||||||
@ -1324,7 +1167,7 @@ ZEXTERN int ZEXPORT deflateInit2_ OF((z_streamp strm, int level, int method,
|
|||||||
int stream_size));
|
int stream_size));
|
||||||
ZEXTERN int ZEXPORT inflateInit2_ OF((z_streamp strm, int windowBits,
|
ZEXTERN int ZEXPORT inflateInit2_ OF((z_streamp strm, int windowBits,
|
||||||
const char *version, int stream_size));
|
const char *version, int stream_size));
|
||||||
ZEXTERN int ZEXPORT inflateBackInit_ OF((z_streamp strm, int windowBits,
|
ZEXTERN int ZEXPORT inflateBackInit_ OF((z_stream FAR *strm, int windowBits,
|
||||||
unsigned char FAR *window,
|
unsigned char FAR *window,
|
||||||
const char *version,
|
const char *version,
|
||||||
int stream_size));
|
int stream_size));
|
||||||
@ -1346,7 +1189,7 @@ ZEXTERN int ZEXPORT inflateBackInit_ OF((z_streamp strm, int windowBits,
|
|||||||
struct internal_state {int dummy;}; /* hack for buggy compilers */
|
struct internal_state {int dummy;}; /* hack for buggy compilers */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
ZEXTERN const char * ZEXPORT zError OF((int));
|
ZEXTERN const char * ZEXPORT zError OF((int err));
|
||||||
ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp z));
|
ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp z));
|
||||||
ZEXTERN const uLongf * ZEXPORT get_crc_table OF((void));
|
ZEXTERN const uLongf * ZEXPORT get_crc_table OF((void));
|
||||||
|
|
||||||
|
Binary file not shown.
@ -1,108 +1,56 @@
|
|||||||
# (C)2004-2013 AMX Mod X Development Team
|
#(C)2004-2005 AMX Mod X Development Team
|
||||||
# Makefile written by David "BAILOPAN" Anderson
|
# Makefile written by David "BAILOPAN" Anderson
|
||||||
|
|
||||||
#####################################
|
|
||||||
### EDIT BELOW FOR OTHER PROJECTS ###
|
### EDIT BELOW FOR OTHER PROJECTS ###
|
||||||
#####################################
|
|
||||||
|
|
||||||
PROJECT = amxxpc32
|
OPT_FLAGS = -O3 -funroll-loops -s -pipe -fno-strict-aliasing -fvisibility=hidden
|
||||||
OBJECTS = sc1.c sc2.c sc3.c sc4.c sc5.c sc6.c sc7.c scvars.c scmemfil.c scstate.c sclist.c sci18n.c \
|
DEBUG_FLAGS = -g -ggdb3
|
||||||
scexpand.c pawncc.c libpawnc.c prefix.c memfile.c
|
CPP = gcc-4.1
|
||||||
|
NAME = amxxpc
|
||||||
|
|
||||||
##############################################
|
OBJECTS = sc1.c sc2.c sc3.c sc4.c sc5.c sc6.c sc7.c scvars.c scmemfil.c \
|
||||||
### CONFIGURE ANY OTHER FLAGS/OPTIONS HERE ###
|
scstate.c sclist.c sci18n.c scexpand.c pawncc.c libpawnc.c prefix.c \
|
||||||
##############################################
|
memfile.c
|
||||||
|
|
||||||
C_OPT_FLAGS = -DNDEBUG -O2 -funroll-loops -fomit-frame-pointer -pipe
|
|
||||||
C_DEBUG_FLAGS = -D_DEBUG -DDEBUG -g -ggdb3
|
|
||||||
C_GCC4_FLAGS = -fvisibility=hidden
|
|
||||||
CPP_GCC4_FLAGS = -fvisibility-inlines-hidden
|
|
||||||
CPP = gcc
|
|
||||||
CPP_OSX = clang
|
|
||||||
|
|
||||||
LINK = -lpthread
|
LINK = -lpthread
|
||||||
|
|
||||||
INCLUDE = -I.
|
INCLUDE = -I.
|
||||||
|
|
||||||
################################################
|
ifeq "$(PAWN64)" "true"
|
||||||
### DO NOT EDIT BELOW HERE FOR MOST PROJECTS ###
|
BINARY = $(NAME)64.so
|
||||||
################################################
|
BIN_DIR = Release64
|
||||||
|
CFLAGS += -DPAWN_CELL_SIZE=64 -DHAVE_I64 -Dpc_printf=pc_printf64
|
||||||
OS := $(shell uname -s)
|
|
||||||
|
|
||||||
ifeq "$(OS)" "Darwin"
|
|
||||||
CPP = $(CPP_OSX)
|
|
||||||
LIB_EXT = dylib
|
|
||||||
CFLAGS += -DOSX
|
|
||||||
LINK += -dynamiclib -mmacosx-version-min=10.5
|
|
||||||
else
|
else
|
||||||
LIB_EXT = so
|
BINARY = $(NAME)32.so
|
||||||
CFLAGS += -DLINUX
|
BIN_DIR = Release32
|
||||||
LINK += -shared
|
CFLAGS += -DPAWN_CELL_SIZE=32
|
||||||
endif
|
endif
|
||||||
|
|
||||||
LINK += -m32 -lm -ldl
|
CFLAGS += -DLINUX -DNDEBUG -fPIC -DHAVE_STDINT_H -DENABLE_BINRELOC -DNO_MAIN -DPAWNC_DLL -static-libgcc
|
||||||
|
|
||||||
CFLAGS += -DENABLE_BINRELOC -DNO_MAIN -DPAWNC_DLL -DHAVE_STDINT_H -fno-strict-aliasing -m32 -Wall \
|
CFLAGS += $(OPT_FLAGS)
|
||||||
-Werror
|
OBJ_LINUX := $(OBJECTS:%.c=$(BIN_DIR)/%.o)
|
||||||
CPPFLAGS += -fexceptions -fno-rtti
|
|
||||||
|
|
||||||
BINARY = $(PROJECT).$(LIB_EXT)
|
|
||||||
|
|
||||||
ifeq "$(DEBUG)" "true"
|
|
||||||
BIN_DIR = Debug
|
|
||||||
CFLAGS += $(C_DEBUG_FLAGS)
|
|
||||||
else
|
|
||||||
BIN_DIR = Release
|
|
||||||
CFLAGS += $(C_OPT_FLAGS)
|
|
||||||
endif
|
|
||||||
|
|
||||||
IS_CLANG := $(shell $(CPP) --version | head -1 | grep clang > /dev/null && echo "1" || echo "0")
|
|
||||||
|
|
||||||
ifeq "$(IS_CLANG)" "1"
|
|
||||||
CPP_MAJOR := $(shell $(CPP) --version | grep clang | sed "s/.*version \([0-9]\)*\.[0-9]*.*/\1/")
|
|
||||||
CPP_MINOR := $(shell $(CPP) --version | grep clang | sed "s/.*version [0-9]*\.\([0-9]\)*.*/\1/")
|
|
||||||
else
|
|
||||||
CPP_MAJOR := $(shell $(CPP) -dumpversion >&1 | cut -b1)
|
|
||||||
CPP_MINOR := $(shell $(CPP) -dumpversion >&1 | cut -b3)
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Clang || GCC >= 4
|
|
||||||
ifeq "$(shell expr $(IS_CLANG) \| $(CPP_MAJOR) \>= 4)" "1"
|
|
||||||
CFLAGS += $(C_GCC4_FLAGS)
|
|
||||||
CPPFLAGS += $(CPP_GCC4_FLAGS)
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Clang >= 3 || GCC >= 4.7
|
|
||||||
ifeq "$(shell expr $(IS_CLANG) \& $(CPP_MAJOR) \>= 3 \| $(CPP_MAJOR) \>= 4 \& $(CPP_MINOR) \>= 7)" "1"
|
|
||||||
CFLAGS += -Wno-delete-non-virtual-dtor
|
|
||||||
endif
|
|
||||||
|
|
||||||
# OS is Linux and not using clang
|
|
||||||
ifeq "$(shell expr $(OS) \= Linux \& $(IS_CLANG) \= 0)" "1"
|
|
||||||
LINK += -static-libgcc
|
|
||||||
endif
|
|
||||||
|
|
||||||
OBJ_BIN := $(OBJECTS:%.c=$(BIN_DIR)/%.o)
|
|
||||||
|
|
||||||
# This will break if we include other Makefiles, but is fine for now. It allows
|
|
||||||
# us to make a copy of this file that uses altered paths (ie. Makefile.mine)
|
|
||||||
# or other changes without mucking up the original.
|
|
||||||
MAKEFILE_NAME := $(CURDIR)/$(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))
|
|
||||||
|
|
||||||
$(BIN_DIR)/%.o: %.c
|
$(BIN_DIR)/%.o: %.c
|
||||||
$(CPP) $(INCLUDE) $(CFLAGS) -o $@ -c $<
|
$(CPP) $(INCLUDE) $(CFLAGS) -o $@ -c $<
|
||||||
|
|
||||||
all:
|
all:
|
||||||
mkdir -p $(BIN_DIR)
|
mkdir -p Release32
|
||||||
$(MAKE) -f $(MAKEFILE_NAME) $(PROJECT)
|
mkdir -p Release64
|
||||||
|
$(MAKE) pawn_make
|
||||||
|
$(MAKE) pawn_make PAWN64=true
|
||||||
|
|
||||||
$(PROJECT): $(OBJ_BIN)
|
pawn_make: $(OBJ_LINUX)
|
||||||
$(CPP) $(INCLUDE) $(OBJ_BIN) $(LINK) -o $(BIN_DIR)/$(BINARY)
|
$(CPP) $(INCLUDE) $(CFLAGS) $(OBJ_LINUX) $(LINK) -shared -ldl -lm -o$(BIN_DIR)/$(BINARY)
|
||||||
|
|
||||||
|
debug:
|
||||||
|
$(MAKE) all DEBUG=true
|
||||||
|
|
||||||
default: all
|
default: all
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -rf $(BIN_DIR)/*.o
|
rm -rf Release32/*.o
|
||||||
rm -f $(BIN_DIR)/$(BINARY)
|
rm -rf Release32/$(BINARY)
|
||||||
|
rm -rf Release64/*.o
|
||||||
|
rm -rf Release64/$(BINARY)
|
||||||
|
|
||||||
|
@ -18,22 +18,13 @@
|
|||||||
* misrepresented as being the original software.
|
* misrepresented as being the original software.
|
||||||
* 3. This notice may not be removed or altered from any source distribution.
|
* 3. This notice may not be removed or altered from any source distribution.
|
||||||
*
|
*
|
||||||
* Version: $Id: amx.h 3736 2008-08-16 20:13:12Z damagedsoul $
|
* Version: $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef _MSC_VER
|
|
||||||
// MSVC8 - replace POSIX functions with ISO C++ conformant ones as they are deprecated
|
|
||||||
#if _MSC_VER >= 1400
|
|
||||||
#define access _access
|
|
||||||
#define chdir _chdir
|
|
||||||
#define stricmp _stricmp
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined FREEBSD && !defined __FreeBSD__
|
#if defined FREEBSD && !defined __FreeBSD__
|
||||||
#define __FreeBSD__
|
#define __FreeBSD__
|
||||||
#endif
|
#endif
|
||||||
#if defined LINUX || defined __FreeBSD__ || defined __OpenBSD__ || defined __APPLE__
|
#if defined LINUX || defined __FreeBSD__ || defined __OpenBSD__
|
||||||
#include <sclinux.h>
|
#include <sclinux.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -43,7 +34,7 @@
|
|||||||
#if defined HAVE_STDINT_H
|
#if defined HAVE_STDINT_H
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#else
|
#else
|
||||||
#if defined __LCC__ || defined __DMC__ || defined LINUX || defined __APPLE__
|
#if defined __LCC__ || defined __DMC__ || defined LINUX
|
||||||
#if defined HAVE_INTTYPES_H
|
#if defined HAVE_INTTYPES_H
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
#else
|
#else
|
||||||
@ -197,7 +188,7 @@ typedef int (AMXAPI *AMX_DEBUG)(struct tagAMX *amx);
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined AMX_NO_ALIGN
|
#if !defined AMX_NO_ALIGN
|
||||||
#if defined LINUX || defined __FreeBSD__ || defined __APPLE__
|
#if defined LINUX || defined __FreeBSD__
|
||||||
#pragma pack(1) /* structures must be packed (byte-aligned) */
|
#pragma pack(1) /* structures must be packed (byte-aligned) */
|
||||||
#elif defined MACOS && defined __MWERKS__
|
#elif defined MACOS && defined __MWERKS__
|
||||||
#pragma options align=mac68k
|
#pragma options align=mac68k
|
||||||
@ -221,7 +212,7 @@ typedef struct tagAMX_NATIVE_INFO {
|
|||||||
|
|
||||||
typedef struct tagAMX_FUNCSTUB {
|
typedef struct tagAMX_FUNCSTUB {
|
||||||
ucell address PACKED;
|
ucell address PACKED;
|
||||||
char name[sEXPMAX+1];
|
char name[sEXPMAX+1] PACKED;
|
||||||
} PACKED AMX_FUNCSTUB;
|
} PACKED AMX_FUNCSTUB;
|
||||||
|
|
||||||
typedef struct tagFUNCSTUBNT {
|
typedef struct tagFUNCSTUBNT {
|
||||||
@ -269,8 +260,8 @@ typedef struct tagAMX {
|
|||||||
typedef struct tagAMX_HEADER {
|
typedef struct tagAMX_HEADER {
|
||||||
int32_t size PACKED; /* size of the "file" */
|
int32_t size PACKED; /* size of the "file" */
|
||||||
uint16_t magic PACKED; /* signature */
|
uint16_t magic PACKED; /* signature */
|
||||||
char file_version; /* file format version */
|
char file_version PACKED; /* file format version */
|
||||||
char amx_version; /* required version of the AMX */
|
char amx_version PACKED; /* required version of the AMX */
|
||||||
int16_t flags PACKED;
|
int16_t flags PACKED;
|
||||||
int16_t defsize PACKED; /* size of a definition record */
|
int16_t defsize PACKED; /* size of a definition record */
|
||||||
int32_t cod PACKED; /* initial value of COD - code block */
|
int32_t cod PACKED; /* initial value of COD - code block */
|
||||||
@ -425,7 +416,7 @@ int AMXAPI amx_UTF8Put(char *string, char **endptr, int maxchars, cell value);
|
|||||||
amx_Register((amx), amx_NativeInfo((name),(func)), 1);
|
amx_Register((amx), amx_NativeInfo((name),(func)), 1);
|
||||||
|
|
||||||
#if !defined AMX_NO_ALIGN
|
#if !defined AMX_NO_ALIGN
|
||||||
#if defined LINUX || defined __FreeBSD__ || defined __APPLE__
|
#if defined LINUX || defined __FreeBSD__
|
||||||
#pragma pack() /* reset default packing */
|
#pragma pack() /* reset default packing */
|
||||||
#elif defined MACOS && defined __MWERKS__
|
#elif defined MACOS && defined __MWERKS__
|
||||||
#pragma options align=reset
|
#pragma options align=reset
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
* misrepresented as being the original software.
|
* misrepresented as being the original software.
|
||||||
* 3. This notice may not be removed or altered from any source distribution.
|
* 3. This notice may not be removed or altered from any source distribution.
|
||||||
*
|
*
|
||||||
* Version: $Id: amxdbg.h 3736 2008-08-16 20:13:12Z damagedsoul $
|
* Version: $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef AMXDBG_H_INCLUDED
|
#ifndef AMXDBG_H_INCLUDED
|
||||||
@ -49,7 +49,7 @@ extern "C" {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined AMX_NO_ALIGN
|
#if !defined AMX_NO_ALIGN
|
||||||
#if defined LINUX || defined __FreeBSD__ || defined __APPLE__
|
#if defined LINUX || defined __FreeBSD__
|
||||||
#pragma pack(1) /* structures must be packed (byte-aligned) */
|
#pragma pack(1) /* structures must be packed (byte-aligned) */
|
||||||
#elif defined MACOS && defined __MWERKS__
|
#elif defined MACOS && defined __MWERKS__
|
||||||
#pragma options align=mac68k
|
#pragma options align=mac68k
|
||||||
@ -65,8 +65,8 @@ extern "C" {
|
|||||||
typedef struct tagAMX_DBG_HDR {
|
typedef struct tagAMX_DBG_HDR {
|
||||||
int32_t size PACKED; /* size of the debug information chunk */
|
int32_t size PACKED; /* size of the debug information chunk */
|
||||||
uint16_t magic PACKED; /* signature, must be 0xf1ef */
|
uint16_t magic PACKED; /* signature, must be 0xf1ef */
|
||||||
char file_version; /* file format version */
|
char file_version PACKED; /* file format version */
|
||||||
char amx_version; /* required version of the AMX */
|
char amx_version PACKED; /* required version of the AMX */
|
||||||
int16_t flags PACKED; /* currently unused */
|
int16_t flags PACKED; /* currently unused */
|
||||||
int16_t files PACKED; /* number of entries in the "file" table */
|
int16_t files PACKED; /* number of entries in the "file" table */
|
||||||
int16_t lines PACKED; /* number of entries in the "line" table */
|
int16_t lines PACKED; /* number of entries in the "line" table */
|
||||||
@ -74,51 +74,51 @@ typedef struct tagAMX_DBG_HDR {
|
|||||||
int16_t tags PACKED; /* number of entries in the "tag" table */
|
int16_t tags PACKED; /* number of entries in the "tag" table */
|
||||||
int16_t automatons PACKED; /* number of entries in the "automaton" table */
|
int16_t automatons PACKED; /* number of entries in the "automaton" table */
|
||||||
int16_t states PACKED; /* number of entries in the "state" table */
|
int16_t states PACKED; /* number of entries in the "state" table */
|
||||||
} AMX_DBG_HDR;
|
} AMX_DBG_HDR PACKED;
|
||||||
#define AMX_DBG_MAGIC 0xf1ef
|
#define AMX_DBG_MAGIC 0xf1ef
|
||||||
|
|
||||||
typedef struct tagAMX_DBG_FILE {
|
typedef struct tagAMX_DBG_FILE {
|
||||||
ucell address PACKED; /* address in the code segment where generated code (for this file) starts */
|
ucell address PACKED; /* address in the code segment where generated code (for this file) starts */
|
||||||
const char name[1]; /* ASCII string, zero-terminated */
|
const char name[1] PACKED; /* ASCII string, zero-terminated */
|
||||||
} AMX_DBG_FILE;
|
} AMX_DBG_FILE PACKED;
|
||||||
|
|
||||||
typedef struct tagAMX_DBG_LINE {
|
typedef struct tagAMX_DBG_LINE {
|
||||||
ucell address PACKED; /* address in the code segment where generated code (for this line) starts */
|
ucell address PACKED; /* address in the code segment where generated code (for this line) starts */
|
||||||
int32_t line PACKED; /* line number */
|
int32_t line PACKED; /* line number */
|
||||||
} AMX_DBG_LINE;
|
} AMX_DBG_LINE PACKED;
|
||||||
|
|
||||||
typedef struct tagAMX_DBG_SYMBOL {
|
typedef struct tagAMX_DBG_SYMBOL {
|
||||||
ucell address PACKED; /* address in the data segment or relative to the frame */
|
ucell address PACKED; /* address in the data segment or relative to the frame */
|
||||||
int16_t tag PACKED; /* tag for the symbol */
|
int16_t tag PACKED; /* tag for the symbol */
|
||||||
ucell codestart PACKED; /* address in the code segment from which this symbol is valid (in scope) */
|
ucell codestart PACKED; /* address in the code segment from which this symbol is valid (in scope) */
|
||||||
ucell codeend PACKED; /* address in the code segment until which this symbol is valid (in scope) */
|
ucell codeend PACKED; /* address in the code segment until which this symbol is valid (in scope) */
|
||||||
char ident; /* kind of symbol (function/variable) */
|
char ident PACKED; /* kind of symbol (function/variable) */
|
||||||
char vclass; /* class of symbol (global/local) */
|
char vclass PACKED; /* class of symbol (global/local) */
|
||||||
int16_t dim PACKED; /* number of dimensions */
|
int16_t dim PACKED; /* number of dimensions */
|
||||||
const char name[1]; /* ASCII string, zero-terminated */
|
const char name[1] PACKED; /* ASCII string, zero-terminated */
|
||||||
} AMX_DBG_SYMBOL;
|
} AMX_DBG_SYMBOL PACKED;
|
||||||
|
|
||||||
typedef struct tagAMX_DBG_SYMDIM {
|
typedef struct tagAMX_DBG_SYMDIM {
|
||||||
int16_t tag PACKED; /* tag for the array dimension */
|
int16_t tag PACKED; /* tag for the array dimension */
|
||||||
ucell size PACKED; /* size of the array dimension */
|
ucell size PACKED; /* size of the array dimension */
|
||||||
} AMX_DBG_SYMDIM;
|
} AMX_DBG_SYMDIM PACKED;
|
||||||
|
|
||||||
typedef struct tagAMX_DBG_TAG {
|
typedef struct tagAMX_DBG_TAG {
|
||||||
int16_t tag PACKED; /* tag id */
|
int16_t tag PACKED; /* tag id */
|
||||||
const char name[1]; /* ASCII string, zero-terminated */
|
const char name[1] PACKED; /* ASCII string, zero-terminated */
|
||||||
} AMX_DBG_TAG;
|
} AMX_DBG_TAG PACKED;
|
||||||
|
|
||||||
typedef struct tagAMX_DBG_MACHINE {
|
typedef struct tagAMX_DBG_MACHINE {
|
||||||
int16_t automaton PACKED; /* automaton id */
|
int16_t automaton PACKED; /* automaton id */
|
||||||
ucell address PACKED; /* address of state variable */
|
ucell address PACKED; /* address of state variable */
|
||||||
const char name[1]; /* ASCII string, zero-terminated */
|
const char name[1] PACKED; /* ASCII string, zero-terminated */
|
||||||
} AMX_DBG_MACHINE;
|
} AMX_DBG_MACHINE PACKED;
|
||||||
|
|
||||||
typedef struct tagAMX_DBG_STATE {
|
typedef struct tagAMX_DBG_STATE {
|
||||||
int16_t state PACKED; /* state id */
|
int16_t state PACKED; /* state id */
|
||||||
int16_t automaton PACKED; /* automaton id */
|
int16_t automaton PACKED; /* automaton id */
|
||||||
const char name[1]; /* ASCII string, zero-terminated */
|
const char name[1] PACKED; /* ASCII string, zero-terminated */
|
||||||
} AMX_DBG_STATE;
|
} AMX_DBG_STATE PACKED;
|
||||||
|
|
||||||
typedef struct tagAMX_DBG {
|
typedef struct tagAMX_DBG {
|
||||||
AMX_DBG_HDR _FAR *hdr PACKED; /* points to the AMX_DBG header */
|
AMX_DBG_HDR _FAR *hdr PACKED; /* points to the AMX_DBG header */
|
||||||
@ -128,7 +128,7 @@ typedef struct tagAMX_DBG {
|
|||||||
AMX_DBG_TAG _FAR **tagtbl PACKED;
|
AMX_DBG_TAG _FAR **tagtbl PACKED;
|
||||||
AMX_DBG_MACHINE _FAR **automatontbl PACKED;
|
AMX_DBG_MACHINE _FAR **automatontbl PACKED;
|
||||||
AMX_DBG_STATE _FAR **statetbl PACKED;
|
AMX_DBG_STATE _FAR **statetbl PACKED;
|
||||||
} AMX_DBG;
|
} AMX_DBG PACKED;
|
||||||
|
|
||||||
#if !defined iVARIABLE
|
#if !defined iVARIABLE
|
||||||
#define iVARIABLE 1 /* cell that has an address and that can be fetched directly (lvalue) */
|
#define iVARIABLE 1 /* cell that has an address and that can be fetched directly (lvalue) */
|
||||||
@ -156,7 +156,7 @@ int AMXAPI dbg_GetArrayDim(AMX_DBG *amxdbg, const AMX_DBG_SYMBOL *sym, const AMX
|
|||||||
|
|
||||||
|
|
||||||
#if !defined AMX_NO_ALIGN
|
#if !defined AMX_NO_ALIGN
|
||||||
#if defined LINUX || defined __FreeBSD__ || defined __APPLE__
|
#if defined LINUX || defined __FreeBSD__
|
||||||
#pragma pack() /* reset default packing */
|
#pragma pack() /* reset default packing */
|
||||||
#elif defined MACOS && defined __MWERKS__
|
#elif defined MACOS && defined __MWERKS__
|
||||||
#pragma options align=reset
|
#pragma options align=reset
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
* misrepresented as being the original software.
|
* misrepresented as being the original software.
|
||||||
* 3. This notice may not be removed or altered from any source distribution.
|
* 3. This notice may not be removed or altered from any source distribution.
|
||||||
*
|
*
|
||||||
* Version: $Id: dllmain.c 1724 2005-07-24 20:00:55Z dvander $
|
* Version: $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if defined _UNICODE || defined __UNICODE__ || defined UNICODE
|
#if defined _UNICODE || defined __UNICODE__ || defined UNICODE
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
* misrepresented as being the original software.
|
* misrepresented as being the original software.
|
||||||
* 3. This notice may not be removed or altered from any source distribution.
|
* 3. This notice may not be removed or altered from any source distribution.
|
||||||
*
|
*
|
||||||
* Version: $Id: libpawnc.c 2969 2006-08-25 00:28:36Z dvander $
|
* Version: $Id$
|
||||||
*/
|
*/
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
@ -30,7 +30,7 @@
|
|||||||
|
|
||||||
#if defined PAWNC_DLL
|
#if defined PAWNC_DLL
|
||||||
|
|
||||||
#if !defined(__linux__) && !defined(__APPLE__)
|
#ifndef __linux__
|
||||||
#include "dllmain.c"
|
#include "dllmain.c"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -39,6 +39,9 @@
|
|||||||
# define UNUSED_PARAM(p) ((void)(p))
|
# define UNUSED_PARAM(p) ((void)(p))
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
|
static char *argv[MAX_ARGS];
|
||||||
|
static int argc;
|
||||||
|
|
||||||
#if PAWN_CELL_SIZE==32
|
#if PAWN_CELL_SIZE==32
|
||||||
#define EXCOMPILER Compile32
|
#define EXCOMPILER Compile32
|
||||||
#else
|
#else
|
||||||
|
@ -1,20 +1,33 @@
|
|||||||
|
Microsoft Visual Studio Solution File, Format Version 8.00
|
||||||
Microsoft Visual Studio Solution File, Format Version 11.00
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libpc300", "libpc300.vcproj", "{19B72687-080B-437A-917A-12AEB0031635}"
|
||||||
# Visual Studio 2010
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libpc300", "libpc300.vcxproj", "{19B72687-080B-437A-917A-12AEB0031635}"
|
EndProjectSection
|
||||||
EndProject
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfiguration) = preSolution
|
||||||
Debug|Win32 = Debug|Win32
|
Debug = Debug
|
||||||
Release|Win32 = Release|Win32
|
Debug32 = Debug32
|
||||||
EndGlobalSection
|
Debug64 = Debug64
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
Release = Release
|
||||||
{19B72687-080B-437A-917A-12AEB0031635}.Debug|Win32.ActiveCfg = Debug|Win32
|
Release32 = Release32
|
||||||
{19B72687-080B-437A-917A-12AEB0031635}.Debug|Win32.Build.0 = Debug|Win32
|
Release64 = Release64
|
||||||
{19B72687-080B-437A-917A-12AEB0031635}.Release|Win32.ActiveCfg = Release|Win32
|
EndGlobalSection
|
||||||
{19B72687-080B-437A-917A-12AEB0031635}.Release|Win32.Build.0 = Release|Win32
|
GlobalSection(ProjectConfiguration) = postSolution
|
||||||
EndGlobalSection
|
{19B72687-080B-437A-917A-12AEB0031635}.Debug.ActiveCfg = Release|Win32
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
{19B72687-080B-437A-917A-12AEB0031635}.Debug.Build.0 = Release|Win32
|
||||||
HideSolutionNode = FALSE
|
{19B72687-080B-437A-917A-12AEB0031635}.Debug32.ActiveCfg = Debug32|Win32
|
||||||
EndGlobalSection
|
{19B72687-080B-437A-917A-12AEB0031635}.Debug32.Build.0 = Debug32|Win32
|
||||||
EndGlobal
|
{19B72687-080B-437A-917A-12AEB0031635}.Debug64.ActiveCfg = Debug64|Win32
|
||||||
|
{19B72687-080B-437A-917A-12AEB0031635}.Debug64.Build.0 = Debug64|Win32
|
||||||
|
{19B72687-080B-437A-917A-12AEB0031635}.Release.ActiveCfg = Release|Win32
|
||||||
|
{19B72687-080B-437A-917A-12AEB0031635}.Release.Build.0 = Release|Win32
|
||||||
|
{19B72687-080B-437A-917A-12AEB0031635}.Release32.ActiveCfg = Release32|Win32
|
||||||
|
{19B72687-080B-437A-917A-12AEB0031635}.Release32.Build.0 = Release32|Win32
|
||||||
|
{19B72687-080B-437A-917A-12AEB0031635}.Release64.ActiveCfg = Release64|Win32
|
||||||
|
{19B72687-080B-437A-917A-12AEB0031635}.Release64.Build.0 = Release64|Win32
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ExtensibilityAddIns) = postSolution
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user