mirror of
https://github.com/mangosfour/server.git
synced 2025-12-31 04:37:04 +00:00
Now console/RA uas same commads as used in chat if selected command marked as safe for console. Some commands accessable only at console and have security level 4. See sql update for new command names. Not all commands that safe (or can be modified to safe) for console allowed currently for use in console input, this will be fixed later.
204 lines
4.5 KiB
C++
204 lines
4.5 KiB
C++
/*
|
|
* Copyright (C) 2005-2008 MaNGOS <http://getmangos.com/>
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 2 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
*/
|
|
|
|
#ifndef MANGOSSERVER_COMMON_H
|
|
#define MANGOSSERVER_COMMON_H
|
|
|
|
// config.h needs to be included 1st
|
|
#ifdef HAVE_CONFIG_H
|
|
#ifdef PACKAGE
|
|
#undef PACKAGE
|
|
#endif //PACKAGE
|
|
#ifdef PACKAGE_BUGREPORT
|
|
#undef PACKAGE_BUGREPORT
|
|
#endif //PACKAGE_BUGREPORT
|
|
#ifdef PACKAGE_NAME
|
|
#undef PACKAGE_NAME
|
|
#endif //PACKAGE_NAME
|
|
#ifdef PACKAGE_STRING
|
|
#undef PACKAGE_STRING
|
|
#endif //PACKAGE_STRING
|
|
#ifdef PACKAGE_TARNAME
|
|
#undef PACKAGE_TARNAME
|
|
#endif //PACKAGE_TARNAME
|
|
#ifdef PACKAGE_VERSION
|
|
#undef PACKAGE_VERSION
|
|
#endif //PACKAGE_VERSION
|
|
#ifdef VERSION
|
|
#undef VERSION
|
|
#endif //VERSION
|
|
# include "config.h"
|
|
#undef PACKAGE
|
|
#undef PACKAGE_BUGREPORT
|
|
#undef PACKAGE_NAME
|
|
#undef PACKAGE_STRING
|
|
#undef PACKAGE_TARNAME
|
|
#undef PACKAGE_VERSION
|
|
#undef VERSION
|
|
#endif //HAVE_CONFIG_H
|
|
|
|
#include "Platform/Define.h"
|
|
|
|
#if COMPILER == COMPILER_MICROSOFT
|
|
|
|
#pragma warning(disable:4996)
|
|
|
|
#ifndef __SHOW_STUPID_WARNINGS__
|
|
|
|
#pragma warning(disable:4244)
|
|
|
|
#pragma warning(disable:4267)
|
|
|
|
#pragma warning(disable:4800)
|
|
|
|
#pragma warning(disable:4018)
|
|
|
|
#pragma warning(disable:4311)
|
|
|
|
#pragma warning(disable:4305)
|
|
|
|
#pragma warning(disable:4005)
|
|
#endif // __SHOW_STUPID_WARNINGS__
|
|
#endif // __GNUC__
|
|
|
|
// must be the first thing to include for it to work
|
|
#include "MemoryLeaks.h"
|
|
|
|
#include "Utilities/HashMap.h"
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
#include <time.h>
|
|
#include <math.h>
|
|
#include <errno.h>
|
|
#include <signal.h>
|
|
|
|
#if PLATFORM == PLATFORM_WINDOWS
|
|
#define STRCASECMP stricmp
|
|
#else
|
|
#define STRCASECMP strcasecmp
|
|
#endif
|
|
|
|
#include <set>
|
|
#include <list>
|
|
#include <string>
|
|
#include <map>
|
|
#include <queue>
|
|
#include <sstream>
|
|
#include <algorithm>
|
|
|
|
#include <zthread/FastMutex.h>
|
|
#include <zthread/LockedQueue.h>
|
|
#include <zthread/Runnable.h>
|
|
#include <zthread/Thread.h>
|
|
|
|
#if PLATFORM == PLATFORM_WINDOWS
|
|
# define FD_SETSIZE 4096
|
|
# include <ace/config-all.h>
|
|
// XP winver - needed to compile with standard leak check in MemoryLeaks.h
|
|
// uncomment later if needed
|
|
//#define _WIN32_WINNT 0x0501
|
|
# include <ws2tcpip.h>
|
|
//#undef WIN32_WINNT
|
|
#else
|
|
# include <sys/types.h>
|
|
# include <sys/ioctl.h>
|
|
# include <sys/socket.h>
|
|
# include <netinet/in.h>
|
|
# include <unistd.h>
|
|
# include <netdb.h>
|
|
#endif
|
|
|
|
#if COMPILER == COMPILER_MICROSOFT
|
|
|
|
#include <float.h>
|
|
|
|
#define I64FMT "%016I64X"
|
|
#define I64FMTD "%I64u"
|
|
#define SI64FMTD "%I64d"
|
|
#define snprintf _snprintf
|
|
#define atoll __atoi64
|
|
#define vsnprintf _vsnprintf
|
|
#define strdup _strdup
|
|
#define finite(X) _finite(X)
|
|
|
|
#else
|
|
|
|
#define stricmp strcasecmp
|
|
#define strnicmp strncasecmp
|
|
#define I64FMT "%016llX"
|
|
#define I64FMTD "%llu"
|
|
#define SI64FMTD "%lld"
|
|
#endif
|
|
|
|
inline float finiteAlways(float f) { return finite(f) ? f : 0.0f; }
|
|
|
|
#define atol(a) strtoul( a, NULL, 10)
|
|
|
|
#define STRINGIZE(a) #a
|
|
|
|
enum TimeConstants
|
|
{
|
|
MINUTE = 60,
|
|
HOUR = MINUTE*60,
|
|
DAY = HOUR*24,
|
|
MONTH = DAY*30
|
|
};
|
|
|
|
enum AccountTypes
|
|
{
|
|
SEC_PLAYER = 0,
|
|
SEC_MODERATOR = 1,
|
|
SEC_GAMEMASTER = 2,
|
|
SEC_ADMINISTRATOR = 3,
|
|
SEC_CONSOLE = 4 // must be always last in list, accounts must have less security level always also
|
|
};
|
|
|
|
enum LocaleConstant
|
|
{
|
|
LOCALE_enUS = 0,
|
|
LOCALE_koKR = 1,
|
|
LOCALE_frFR = 2,
|
|
LOCALE_deDE = 3,
|
|
LOCALE_zhCN = 4,
|
|
LOCALE_zhTW = 5,
|
|
LOCALE_esES = 6,
|
|
LOCALE_esMX = 7,
|
|
LOCALE_ruRU = 8
|
|
};
|
|
|
|
#define MAX_LOCALE 9
|
|
|
|
extern char const* localeNames[MAX_LOCALE];
|
|
|
|
LocaleConstant GetLocaleByName(std::string name);
|
|
|
|
// we always use stdlibc++ std::max/std::min, undefine some not C++ standard defines (Win API and some pother platforms)
|
|
#ifdef max
|
|
#undef max
|
|
#endif
|
|
|
|
#ifdef min
|
|
#undef min
|
|
#endif
|
|
|
|
#ifndef M_PI
|
|
#define M_PI 3.14159265358979323846
|
|
#endif
|
|
|
|
#endif
|