mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-13 18:51:29 +00:00
Merge branch 'master' into StringFormatting.
Cleaned up the problems. Tested on Linux. Still need to test on windows. Conflicts: common/CMakeLists.txt common/MiscFunctions.cpp common/MiscFunctions.h common/debug.cpp world/Adventure.cpp
This commit is contained in:
commit
f1a487f606
@ -84,6 +84,14 @@ ELSE(MSVC)
|
|||||||
ADD_DEFINITIONS(-DHAS_UNION_SEMUN)
|
ADD_DEFINITIONS(-DHAS_UNION_SEMUN)
|
||||||
ENDIF(MSVC)
|
ENDIF(MSVC)
|
||||||
|
|
||||||
|
#FreeBSD support
|
||||||
|
IF(UNIX)
|
||||||
|
IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
|
||||||
|
ADD_DEFINITIONS(-DFREEBSD)
|
||||||
|
SET(FREEBSD TRUE)
|
||||||
|
ENDIF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
|
||||||
|
ENDIF(UNIX)
|
||||||
|
|
||||||
#use stdint.h types if they exist for this platform (we have to guess otherwise)
|
#use stdint.h types if they exist for this platform (we have to guess otherwise)
|
||||||
CHECK_INCLUDE_FILES(stdint.h HAVE_STDINT_H)
|
CHECK_INCLUDE_FILES(stdint.h HAVE_STDINT_H)
|
||||||
IF(HAVE_STDINT_H)
|
IF(HAVE_STDINT_H)
|
||||||
|
|||||||
@ -82,4 +82,3 @@ MARK_AS_ADVANCED(
|
|||||||
MySQL_LIBRARY_RELEASE
|
MySQL_LIBRARY_RELEASE
|
||||||
MySQL_INCLUDE_DIR
|
MySQL_INCLUDE_DIR
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -124,24 +124,3 @@ void DumpPacketBin(const BasePacket* app) {
|
|||||||
DumpPacketBin(app->pBuffer, app->size);
|
DumpPacketBin(app->pBuffer, app->size);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -89,5 +89,3 @@ extern void DumpPacketBin(const BasePacket* app);
|
|||||||
|
|
||||||
#endif /*BASEPACKET_H_*/
|
#endif /*BASEPACKET_H_*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -12,3 +12,4 @@ uint16 CRC16(const unsigned char *buf, int size, int key)
|
|||||||
crc = CRC32::Update(buf, size, crc);
|
crc = CRC32::Update(buf, size, crc);
|
||||||
return CRC32::Finish(crc) & 0xffff;
|
return CRC32::Finish(crc) & 0xffff;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -73,6 +73,3 @@ Const_char *EQDB::escape_string(Const_char *from) {
|
|||||||
return(m_escapeBuffer.c_str());
|
return(m_escapeBuffer.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -49,3 +49,4 @@ map<string,string> EQDBRes::fetch_row_hash() {
|
|||||||
|
|
||||||
return rowhash;
|
return rowhash;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -446,27 +446,3 @@ void EQEmuConfig::Dump() const
|
|||||||
// cout << "DynamicCount = " << DynamicCount << endl;
|
// cout << "DynamicCount = " << DynamicCount << endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -1448,6 +1448,3 @@ EQStream::MatchState EQStream::CheckSignature(const Signature *sig) {
|
|||||||
return(res);
|
return(res);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -277,5 +277,5 @@ class EQStream : public EQStreamInterface {
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@ -314,7 +314,6 @@ Timer DecayTimer(20);
|
|||||||
(*cur)->ReleaseFromUse();
|
(*cur)->ReleaseFromUse();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Sleep(10);
|
Sleep(10);
|
||||||
|
|
||||||
MStreams.lock();
|
MStreams.lock();
|
||||||
@ -328,20 +327,3 @@ Timer DecayTimer(20);
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
#include "debug.h"
|
#include "debug.h"
|
||||||
#include "EQStreamIdent.h"
|
#include "EQStreamIdent.h"
|
||||||
#include "EQStreamProxy.h"
|
#include "EQStreamProxy.h"
|
||||||
@ -163,37 +162,3 @@ EQStreamIdentifier::Record::Record(EQStream *s)
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -170,6 +170,4 @@ protected:
|
|||||||
map<const EQStreamInfo, T *> streams;
|
map<const EQStreamInfo, T *> streams;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@ -42,14 +42,5 @@ protected:
|
|||||||
OpcodeManager **const m_opcodes; //we do not own this object.
|
OpcodeManager **const m_opcodes; //we do not own this object.
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif /*EQSTREAMPROXY_H_*/
|
#endif /*EQSTREAMPROXY_H_*/
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -17,31 +17,11 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*
|
There are really two or three different objects shoe-hored into this
|
||||||
*
|
connection object. Sombody really needs to factor out the relay link
|
||||||
*
|
crap into its own subclass of this object, it will clean things up
|
||||||
*
|
tremendously.
|
||||||
* There are really two or three different objects shoe-hored into this
|
*/
|
||||||
* connection object. Sombody really needs to factor out the relay link
|
|
||||||
* crap into its own subclass of this object, it will clean things up
|
|
||||||
* tremendously.
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "../common/debug.h"
|
#include "../common/debug.h"
|
||||||
|
|
||||||
@ -141,7 +121,6 @@ EmuTCPConnection::~EmuTCPConnection() {
|
|||||||
//the queues free their content right now I believe.
|
//the queues free their content right now I believe.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
EmuTCPNetPacket_Struct* EmuTCPConnection::MakePacket(ServerPacket* pack, uint32 iDestination) {
|
EmuTCPNetPacket_Struct* EmuTCPConnection::MakePacket(ServerPacket* pack, uint32 iDestination) {
|
||||||
int32 size = sizeof(EmuTCPNetPacket_Struct) + pack->size;
|
int32 size = sizeof(EmuTCPNetPacket_Struct) + pack->size;
|
||||||
if (pack->compressed) {
|
if (pack->compressed) {
|
||||||
@ -473,7 +452,6 @@ void EmuTCPConnection::ClearBuffers() {
|
|||||||
timeout_timer.Start();
|
timeout_timer.Start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void EmuTCPConnection::SendNetErrorPacket(const char* reason) {
|
void EmuTCPConnection::SendNetErrorPacket(const char* reason) {
|
||||||
#if TCPC_DEBUG >= 1
|
#if TCPC_DEBUG >= 1
|
||||||
struct in_addr in;
|
struct in_addr in;
|
||||||
@ -842,14 +820,3 @@ bool EmuTCPConnection::RecvData(char* errbuf) {
|
|||||||
return(true);
|
return(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,3 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "debug.h"
|
#include "debug.h"
|
||||||
#include "EmuTCPServer.h"
|
#include "EmuTCPServer.h"
|
||||||
#include "EmuTCPConnection.h"
|
#include "EmuTCPConnection.h"
|
||||||
@ -83,14 +79,3 @@ EmuTCPConnection *EmuTCPServer::FindConnection(uint32 iID) {
|
|||||||
return(nullptr);
|
return(nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -644,8 +644,7 @@ uint8 MaxSkillTable(uint16 skillid, uint16 race, uint16 eqclass, uint16 level) {
|
|||||||
case MONK: case MONKGM:{
|
case MONK: case MONKGM:{
|
||||||
// 1 252 252
|
// 1 252 252
|
||||||
r_value = level*7; // This can't be right can it?
|
r_value = level*7; // This can't be right can it?
|
||||||
break
|
break;
|
||||||
;
|
|
||||||
}
|
}
|
||||||
case WARRIOR: case WARRIORGM:
|
case WARRIOR: case WARRIORGM:
|
||||||
case ROGUE: case ROGUEGM: {
|
case ROGUE: case ROGUEGM: {
|
||||||
@ -1894,7 +1893,7 @@ uint8 MaxSkillTable(uint16 skillid, uint16 race, uint16 eqclass, uint16 level) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} // end switch (skillid)
|
} // end switch (skillid)
|
||||||
// NO skill may go over 252
|
// NO skill may go over 252
|
||||||
if (r_value > 252)
|
if (r_value > 252)
|
||||||
r_value = 252;
|
r_value = 252;
|
||||||
return r_value;
|
return r_value;
|
||||||
|
|||||||
@ -49,7 +49,7 @@ using namespace std;
|
|||||||
#ifdef FREEBSD //Timothy Whitman - January 7, 2003
|
#ifdef FREEBSD //Timothy Whitman - January 7, 2003
|
||||||
#include <sys/socket.h>
|
#include <sys/socket.h>
|
||||||
#include <netinet/in.h>
|
#include <netinet/in.h>
|
||||||
#endif
|
#endif
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <netdb.h>
|
#include <netdb.h>
|
||||||
@ -86,7 +86,6 @@ void CoutTimestamp(bool ms) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int32 filesize(FILE* fp) {
|
int32 filesize(FILE* fp) {
|
||||||
#ifdef _WINDOWS
|
#ifdef _WINDOWS
|
||||||
return _filelength(_fileno(fp));
|
return _filelength(_fileno(fp));
|
||||||
@ -392,4 +391,3 @@ float EQHtoFloat(int d)
|
|||||||
{
|
{
|
||||||
return(360.0f - float((d * 360) >> 11));
|
return(360.0f - float((d * 360) >> 11));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -92,11 +92,8 @@ int32 filesize(FILE* fp);
|
|||||||
uint32 ResolveIP(const char* hostname, char* errbuf = 0);
|
uint32 ResolveIP(const char* hostname, char* errbuf = 0);
|
||||||
bool ParseAddress(const char* iAddress, uint32* oIP, uint16* oPort, char* errbuf = 0);
|
bool ParseAddress(const char* iAddress, uint32* oIP, uint16* oPort, char* errbuf = 0);
|
||||||
void CoutTimestamp(bool ms = true);
|
void CoutTimestamp(bool ms = true);
|
||||||
|
|
||||||
int MakeRandomInt(int low, int high);
|
int MakeRandomInt(int low, int high);
|
||||||
double MakeRandomFloat(double low, double high);
|
double MakeRandomFloat(double low, double high);
|
||||||
|
|
||||||
|
|
||||||
float EQ13toFloat(int d);
|
float EQ13toFloat(int d);
|
||||||
float NewEQ13toFloat(int d);
|
float NewEQ13toFloat(int d);
|
||||||
float EQ19toFloat(int d);
|
float EQ19toFloat(int d);
|
||||||
@ -108,7 +105,6 @@ int FloatToEQH(float d);
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#define _ITOA_BUFLEN 25
|
#define _ITOA_BUFLEN 25
|
||||||
const char *itoa(int num); //not thread safe
|
const char *itoa(int num); //not thread safe
|
||||||
#ifndef _WINDOWS
|
#ifndef _WINDOWS
|
||||||
|
|||||||
@ -66,6 +66,7 @@ bool IsTryLockSupported() {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
Mutex::Mutex() {
|
Mutex::Mutex() {
|
||||||
|
|
||||||
#if DEBUG_MUTEX_CLASS >= 7
|
#if DEBUG_MUTEX_CLASS >= 7
|
||||||
cout << "Constructing Mutex" << endl;
|
cout << "Constructing Mutex" << endl;
|
||||||
#endif
|
#endif
|
||||||
@ -74,7 +75,7 @@ Mutex::Mutex() {
|
|||||||
#else
|
#else
|
||||||
pthread_mutexattr_t attr;
|
pthread_mutexattr_t attr;
|
||||||
pthread_mutexattr_init(&attr);
|
pthread_mutexattr_init(&attr);
|
||||||
#if defined(__CYGWIN__) || defined(__APPLE__)
|
#if defined(__CYGWIN__) || defined(__APPLE__) || defined(FREEBSD)
|
||||||
pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
|
pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
|
||||||
#else
|
#else
|
||||||
pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE_NP);
|
pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE_NP);
|
||||||
|
|||||||
@ -352,17 +352,3 @@ ProcLauncher::Spec &ProcLauncher::Spec::operator=(const Spec &other) {
|
|||||||
return(*this);
|
return(*this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -65,25 +65,18 @@ public:
|
|||||||
virtual void OnTerminate(const ProcRef &ref, const Spec *spec) = 0;
|
virtual void OnTerminate(const ProcRef &ref, const Spec *spec) = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/* The main launch method, call to start a new background process. */
|
||||||
* The main launch method, call to start a new background process.
|
|
||||||
*/
|
|
||||||
ProcRef Launch(Spec *&to_launch); //takes ownership of the pointer
|
ProcRef Launch(Spec *&to_launch); //takes ownership of the pointer
|
||||||
|
|
||||||
/*
|
/* The terminate method */
|
||||||
* The terminate method
|
|
||||||
*/
|
|
||||||
bool Terminate(const ProcRef &proc, bool graceful = true);
|
bool Terminate(const ProcRef &proc, bool graceful = true);
|
||||||
void TerminateAll(bool final = true);
|
void TerminateAll(bool final = true);
|
||||||
|
|
||||||
/*
|
/* The main processing method. Call regularly to check for terminated background processes. */
|
||||||
* The main processing method. Call regularly to check for terminated
|
|
||||||
* background processes.
|
|
||||||
*/
|
|
||||||
void Process();
|
void Process();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// std::vector<Spec *> m_specs;
|
//std::vector<Spec *> m_specs;
|
||||||
std::map<ProcRef, Spec *> m_running; //we own the pointers in this map
|
std::map<ProcRef, Spec *> m_running; //we own the pointers in this map
|
||||||
|
|
||||||
void ProcessTerminated(std::map<ProcRef, Spec *>::iterator &it);
|
void ProcessTerminated(std::map<ProcRef, Spec *>::iterator &it);
|
||||||
@ -96,29 +89,5 @@ private:
|
|||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif /*PROCLAUNCHER_H_*/
|
#endif /*PROCLAUNCHER_H_*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -439,7 +439,7 @@ bool TCPConnection::ConnectIP(uint32 in_ip, uint16 in_port, char* errbuf) {
|
|||||||
|
|
||||||
connection_socket = INVALID_SOCKET;
|
connection_socket = INVALID_SOCKET;
|
||||||
struct sockaddr_in server_sin;
|
struct sockaddr_in server_sin;
|
||||||
// struct in_addr in;
|
//struct in_addr in;
|
||||||
|
|
||||||
if ((connection_socket = socket(AF_INET, SOCK_STREAM, 0)) == INVALID_SOCKET || connection_socket == 0) {
|
if ((connection_socket = socket(AF_INET, SOCK_STREAM, 0)) == INVALID_SOCKET || connection_socket == 0) {
|
||||||
#ifdef _WINDOWS
|
#ifdef _WINDOWS
|
||||||
@ -943,7 +943,3 @@ bool TCPConnection::RunLoop() {
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -174,5 +174,3 @@ private:
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,3 @@
|
|||||||
|
|
||||||
|
|
||||||
#include "debug.h"
|
#include "debug.h"
|
||||||
#include "TCPServer.h"
|
#include "TCPServer.h"
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
@ -18,12 +16,8 @@
|
|||||||
#define SOCKET_ERROR -1
|
#define SOCKET_ERROR -1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#define SERVER_LOOP_GRANULARITY 3 //# of ms between checking our socket/queues
|
#define SERVER_LOOP_GRANULARITY 3 //# of ms between checking our socket/queues
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
BaseTCPServer::BaseTCPServer(uint16 in_port) {
|
BaseTCPServer::BaseTCPServer(uint16 in_port) {
|
||||||
NextID = 1;
|
NextID = 1;
|
||||||
pPort = in_port;
|
pPort = in_port;
|
||||||
@ -230,4 +224,3 @@ bool BaseTCPServer::IsOpen() {
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -29,8 +29,8 @@ using namespace std;
|
|||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* See note in XMLParser::ParseFile() before inheriting this class.
|
* See note in XMLParser::ParseFile() before inheriting this class.
|
||||||
*/
|
*/
|
||||||
class XMLParser {
|
class XMLParser {
|
||||||
public:
|
public:
|
||||||
typedef void (XMLParser::*ElementHandler)(TiXmlElement *ele);
|
typedef void (XMLParser::*ElementHandler)(TiXmlElement *ele);
|
||||||
@ -54,6 +54,3 @@ protected:
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -45,7 +45,7 @@ typedef enum {
|
|||||||
BT_Dragon = 26,
|
BT_Dragon = 26,
|
||||||
BT_Summoned2 = 27,
|
BT_Summoned2 = 27,
|
||||||
BT_Summoned3 = 28,
|
BT_Summoned3 = 28,
|
||||||
// 29
|
//29
|
||||||
BT_VeliousDragon = 30, //might not be a tight set
|
BT_VeliousDragon = 30, //might not be a tight set
|
||||||
// ...
|
// ...
|
||||||
BT_Dragon3 = 32,
|
BT_Dragon3 = 32,
|
||||||
|
|||||||
@ -1,5 +1,3 @@
|
|||||||
|
|
||||||
|
|
||||||
// Doors
|
// Doors
|
||||||
#ifdef SHAREMEM
|
#ifdef SHAREMEM
|
||||||
int32 Database::GetDoorsCount(uint32* oMaxID) {
|
int32 Database::GetDoorsCount(uint32* oMaxID) {
|
||||||
|
|||||||
@ -9,6 +9,7 @@
|
|||||||
#include <process.h>
|
#include <process.h>
|
||||||
|
|
||||||
#define snprintf _snprintf
|
#define snprintf _snprintf
|
||||||
|
#define vsnprintf _vsnprintf
|
||||||
#define strncasecmp _strnicmp
|
#define strncasecmp _strnicmp
|
||||||
#define strcasecmp _stricmp
|
#define strcasecmp _stricmp
|
||||||
#else
|
#else
|
||||||
@ -107,6 +108,7 @@ bool EQEMuLog::open(LogIDs id) {
|
|||||||
filename.append("_shared_memory");
|
filename.append("_shared_memory");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#ifndef NO_PIDLOG
|
#ifndef NO_PIDLOG
|
||||||
// According to http://msdn.microsoft.com/en-us/library/vstudio/ee404875(v=vs.100).aspx
|
// According to http://msdn.microsoft.com/en-us/library/vstudio/ee404875(v=vs.100).aspx
|
||||||
// Visual Studio 2010 doesn't have std::to_string(int) but it does have one for
|
// Visual Studio 2010 doesn't have std::to_string(int) but it does have one for
|
||||||
@ -157,12 +159,10 @@ bool EQEMuLog::write(LogIDs id, const char *fmt, ...) {
|
|||||||
|
|
||||||
va_list argptr, tmpargptr;
|
va_list argptr, tmpargptr;
|
||||||
va_start(argptr, fmt);
|
va_start(argptr, fmt);
|
||||||
|
|
||||||
if (dofile) {
|
if (dofile) {
|
||||||
va_copy(tmpargptr, argptr);
|
va_copy(tmpargptr, argptr);
|
||||||
vfprintf( fp[id], fmt, tmpargptr );
|
vfprintf( fp[id], fmt, tmpargptr );
|
||||||
}
|
}
|
||||||
|
|
||||||
if(logCallbackFmt[id]) {
|
if(logCallbackFmt[id]) {
|
||||||
msgCallbackFmt p = logCallbackFmt[id];
|
msgCallbackFmt p = logCallbackFmt[id];
|
||||||
va_copy(tmpargptr, argptr);
|
va_copy(tmpargptr, argptr);
|
||||||
@ -183,12 +183,9 @@ bool EQEMuLog::write(LogIDs id, const char *fmt, ...) {
|
|||||||
std::cout << outputMessage;
|
std::cout << outputMessage;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
va_end(argptr);
|
va_end(argptr);
|
||||||
|
|
||||||
if (dofile)
|
if (dofile)
|
||||||
fprintf(fp[id], "\n");
|
fprintf(fp[id], "\n");
|
||||||
|
|
||||||
if (pLogStatus[id] & 2) {
|
if (pLogStatus[id] & 2) {
|
||||||
if (pLogStatus[id] & 8) {
|
if (pLogStatus[id] & 8) {
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
@ -196,10 +193,8 @@ bool EQEMuLog::write(LogIDs id, const char *fmt, ...) {
|
|||||||
std::cout << std::endl;
|
std::cout << std::endl;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(dofile)
|
if(dofile)
|
||||||
fflush(fp[id]);
|
fflush(fp[id]);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -340,7 +335,6 @@ bool EQEMuLog::writeNTS(LogIDs id, bool dofile, const char *fmt, ...) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
bool EQEMuLog::Dump(LogIDs id, uint8* data, uint32 size, uint32 cols, uint32 skip) {
|
bool EQEMuLog::Dump(LogIDs id, uint8* data, uint32 size, uint32 cols, uint32 skip) {
|
||||||
|
|
||||||
if (!logFileValid) {
|
if (!logFileValid) {
|
||||||
#if EQDEBUG >= 10
|
#if EQDEBUG >= 10
|
||||||
cerr << "Error: Dump() from null pointer"<<endl;
|
cerr << "Error: Dump() from null pointer"<<endl;
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/* EQEMu: Everquest Server Emulator
|
/* EQEMu: Everquest Server Emulator
|
||||||
Copyright (C) 2001-2013 EQEMu Development Team (http://eqemu.org)
|
Copyright (C) 2001-2002 EQEMu Development Team (http://eqemu.org)
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
@ -45,7 +45,20 @@
|
|||||||
#ifndef _CRTDBG_MAP_ALLOC
|
#ifndef _CRTDBG_MAP_ALLOC
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <crtdbg.h>
|
#include <crtdbg.h>
|
||||||
|
#if (_MSC_VER < 1300)
|
||||||
|
#include <new>
|
||||||
|
#include <memory>
|
||||||
|
#define _CRTDBG_MAP_ALLOC
|
||||||
|
#define new new(_NORMAL_BLOCK, __FILE__, __LINE__)
|
||||||
|
#define malloc(s) _malloc_dbg(s, _NORMAL_BLOCK, __FILE__, __LINE__)
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef _WINDOWS
|
||||||
|
// VS6 doesn't like the length of STL generated names: disabling
|
||||||
|
#pragma warning(disable:4786)
|
||||||
|
#pragma warning(disable:4996)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef EQDEBUG_H
|
#ifndef EQDEBUG_H
|
||||||
@ -69,7 +82,6 @@
|
|||||||
|
|
||||||
#include "logsys.h"
|
#include "logsys.h"
|
||||||
#include "common_profile.h"
|
#include "common_profile.h"
|
||||||
|
|
||||||
#ifdef ZONE
|
#ifdef ZONE
|
||||||
#include "../zone/zone_profile.h"
|
#include "../zone/zone_profile.h"
|
||||||
#endif
|
#endif
|
||||||
@ -148,7 +160,5 @@ public:
|
|||||||
LARGE_INTEGER tmp;
|
LARGE_INTEGER tmp;
|
||||||
int64* p;
|
int64* p;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
@ -1,19 +1,19 @@
|
|||||||
/* EQEMu: Everquest Server Emulator
|
/* EQEMu: Everquest Server Emulator
|
||||||
Copyright (C) 2001-2005 EQEMu Development Team (http://eqemulator.net)
|
Copyright (C) 2001-2005 EQEMu Development Team (http://eqemulator.net)
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
the Free Software Foundation; version 2 of the License.
|
the Free Software Foundation; version 2 of the License.
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
This program is distributed in the hope that it will be useful,
|
||||||
but WITHOUT ANY WARRANTY except by those people which sell it, which
|
but WITHOUT ANY WARRANTY except by those people which sell it, which
|
||||||
are required to give you total support for your newly bought product;
|
are required to give you total support for your newly bought product;
|
||||||
without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
||||||
A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with this program; if not, write to the Free Software
|
along with this program; if not, write to the Free Software
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 04111-1307 USA
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 04111-1307 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "debug.h"
|
#include "debug.h"
|
||||||
|
|||||||
@ -49,5 +49,3 @@ extern const char *OpcodeNames[_maxEmuOpcode+1];
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -435,11 +435,11 @@ typedef enum {
|
|||||||
#define STAT_HASTE 19
|
#define STAT_HASTE 19
|
||||||
#define STAT_DAMAGE_SHIELD 20
|
#define STAT_DAMAGE_SHIELD 20
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Recast timer types. Used as an off set to charProfileStruct timers.
|
* Recast timer types. Used as an off set to charProfileStruct timers.
|
||||||
*/
|
*/
|
||||||
enum RecastTypes
|
enum RecastTypes
|
||||||
{
|
{
|
||||||
RecastTimer0 = 0,
|
RecastTimer0 = 0,
|
||||||
RecastTimer1,
|
RecastTimer1,
|
||||||
WeaponHealClickTimer, // 2
|
WeaponHealClickTimer, // 2
|
||||||
@ -460,9 +460,9 @@ typedef enum {
|
|||||||
RecastTimer17,
|
RecastTimer17,
|
||||||
RecastTimer18,
|
RecastTimer18,
|
||||||
ModRodTimer // 19
|
ModRodTimer // 19
|
||||||
};
|
};
|
||||||
|
|
||||||
enum GroupUpdateAction
|
enum GroupUpdateAction
|
||||||
{
|
{
|
||||||
GUA_Joined = 0,
|
GUA_Joined = 0,
|
||||||
GUA_Left = 1,
|
GUA_Left = 1,
|
||||||
|
|||||||
@ -224,19 +224,19 @@ struct Spawn_Struct {
|
|||||||
/*0087*/ uint8 max_hp; // (name prolly wrong)takes on the value 100 for players, 100 or 110 for NPCs and 120 for PC corpses...
|
/*0087*/ uint8 max_hp; // (name prolly wrong)takes on the value 100 for players, 100 or 110 for NPCs and 120 for PC corpses...
|
||||||
/*0088*/ uint8 findable; // 0=can't be found, 1=can be found
|
/*0088*/ uint8 findable; // 0=can't be found, 1=can be found
|
||||||
/*0089*/ uint8 unknown0089[5];
|
/*0089*/ uint8 unknown0089[5];
|
||||||
/*0094*/ signed deltaHeading:10;// change in heading
|
/*0094*/ signed deltaHeading:10; // change in heading
|
||||||
signed x:19; // x coord
|
/*????*/ signed x:19; // x coord
|
||||||
signed padding0054:3; // ***Placeholder
|
/*????*/ signed padding0054:3; // ***Placeholder
|
||||||
/*0098*/ signed y:19; // y coord
|
/*0098*/ signed y:19; // y coord
|
||||||
signed animation:10; // animation
|
/*????*/ signed animation:10; // animation
|
||||||
signed padding0058:3; // ***Placeholder
|
/*????*/ signed padding0058:3; // ***Placeholder
|
||||||
/*0102*/ signed z:19; // z coord
|
/*0102*/ signed z:19; // z coord
|
||||||
signed deltaY:13; // change in y
|
/*????*/ signed deltaY:13; // change in y
|
||||||
/*0106*/ signed deltaX:13; // change in x
|
/*0106*/ signed deltaX:13; // change in x
|
||||||
unsigned heading:12; // heading
|
/*????*/ unsigned heading:12; // heading
|
||||||
signed padding0066:7; // ***Placeholder
|
/*????*/ signed padding0066:7; // ***Placeholder
|
||||||
/*0110*/ signed deltaZ:13; // change in z
|
/*0110*/ signed deltaZ:13; // change in z
|
||||||
signed padding0070:19; // ***Placeholder
|
/*????*/ signed padding0070:19; // ***Placeholder
|
||||||
/*0114*/ uint8 eyecolor1; // Player's left eye color
|
/*0114*/ uint8 eyecolor1; // Player's left eye color
|
||||||
/*0115*/ uint8 unknown0115[11]; // Was [24]
|
/*0115*/ uint8 unknown0115[11]; // Was [24]
|
||||||
/*0126*/ uint8 StandState; // stand state for SoF+ 0x64 for normal animation
|
/*0126*/ uint8 StandState; // stand state for SoF+ 0x64 for normal animation
|
||||||
@ -1119,8 +1119,7 @@ struct SpecialMesg_Struct
|
|||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** When somebody changes what they're wearing
|
** When somebody changes what they're wearing or give a pet a weapon (model changes)
|
||||||
** or give a pet a weapon (model changes)
|
|
||||||
** Length: 19 Bytes
|
** Length: 19 Bytes
|
||||||
*/
|
*/
|
||||||
struct WearChange_Struct{
|
struct WearChange_Struct{
|
||||||
@ -1321,8 +1320,7 @@ struct SpawnPositionUpdate_Struct
|
|||||||
/*0000*/ uint16 spawn_id;
|
/*0000*/ uint16 spawn_id;
|
||||||
/*0002*/ uint64 y_pos:19, z_pos:19, x_pos:19, padding002:7;
|
/*0002*/ uint64 y_pos:19, z_pos:19, x_pos:19, padding002:7;
|
||||||
/*0010*/ unsigned heading:12;
|
/*0010*/ unsigned heading:12;
|
||||||
signed padding010:4;
|
/*0012*/ signed padding010:4;
|
||||||
/*0012*/
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -1665,7 +1663,7 @@ struct GMGoto_Struct { // x,y is swapped as compared to summon and makes sense a
|
|||||||
/* 0*/ char charname[64];
|
/* 0*/ char charname[64];
|
||||||
|
|
||||||
/* 64*/ char gmname[64];
|
/* 64*/ char gmname[64];
|
||||||
/* 128*/ uint32 success;
|
/* 128*/uint32 success;
|
||||||
/* 132*/ uint32 zoneID;
|
/* 132*/ uint32 zoneID;
|
||||||
|
|
||||||
/*136*/ int32 y;
|
/*136*/ int32 y;
|
||||||
@ -2457,7 +2455,7 @@ struct Shielding_Struct {
|
|||||||
/*
|
/*
|
||||||
** Click Object Action Struct
|
** Click Object Action Struct
|
||||||
** Response to client clicking on a World Container (ie, forge)
|
** Response to client clicking on a World Container (ie, forge)
|
||||||
* also sent by the client when they close the container.
|
** also sent by the client when they close the container.
|
||||||
**
|
**
|
||||||
*/
|
*/
|
||||||
struct ClickObjectAction_Struct {
|
struct ClickObjectAction_Struct {
|
||||||
@ -3816,14 +3814,14 @@ struct BankerChange_Struct {
|
|||||||
};
|
};
|
||||||
|
|
||||||
struct LeadershipExpUpdate_Struct {
|
struct LeadershipExpUpdate_Struct {
|
||||||
/*0000*/ uint32 unknown0000; // All zeroes?
|
/*0000*/ uint32 unknown0000; // All zeroes?
|
||||||
/*0004*/ uint32 group_leadership_exp; // Group leadership exp value
|
/*0004*/ uint32 group_leadership_exp; // Group leadership exp value
|
||||||
/*0008*/ uint32 group_leadership_points; // Unspent group points
|
/*0008*/ uint32 group_leadership_points; // Unspent group points
|
||||||
/*0012*/ uint32 unknown0012; // Type?
|
/*0012*/ uint32 unknown0012; // Type?
|
||||||
/*0016*/ uint32 unknown0016; // All zeroes?
|
/*0016*/ uint32 unknown0016; // All zeroes?
|
||||||
/*0020*/ uint32 raid_leadership_exp; // Raid leadership exp value
|
/*0020*/ uint32 raid_leadership_exp; // Raid leadership exp value
|
||||||
/*0024*/ uint32 raid_leadership_points; // Unspent raid points
|
/*0024*/ uint32 raid_leadership_points; // Unspent raid points
|
||||||
/*0028*/ uint32 unknown0028;
|
/*0028*/ uint32 unknown0028;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct UpdateLeadershipAA_Struct {
|
struct UpdateLeadershipAA_Struct {
|
||||||
@ -5080,3 +5078,4 @@ typedef std::list<ServerLootItem_Struct*> ItemList;
|
|||||||
#pragma pack()
|
#pragma pack()
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@ -273,8 +273,3 @@ void EQTime::ToString(TimeOfDay_Struct *t, string &str) {
|
|||||||
str = buf;
|
str = buf;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -50,8 +50,3 @@ bool SetExtendedProfile(ExtendedProfile_Struct *to, char *old, unsigned int len)
|
|||||||
return(false);
|
return(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -249,3 +249,4 @@ namespace EQEmu {
|
|||||||
} // EQEmu
|
} // EQEmu
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@ -1,19 +1,19 @@
|
|||||||
/* EQEMu: Everquest Server Emulator
|
/* EQEMu: Everquest Server Emulator
|
||||||
Copyright (C) 2001-2003 EQEMu Development Team (http://eqemulator.net)
|
Copyright (C) 2001-2003 EQEMu Development Team (http://eqemulator.net)
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
the Free Software Foundation; version 2 of the License.
|
the Free Software Foundation; version 2 of the License.
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
This program is distributed in the hope that it will be useful,
|
||||||
but WITHOUT ANY WARRANTY except by those people which sell it, which
|
but WITHOUT ANY WARRANTY except by those people which sell it, which
|
||||||
are required to give you total support for your newly bought product;
|
are required to give you total support for your newly bought product;
|
||||||
without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
||||||
A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with this program; if not, write to the Free Software
|
along with this program; if not, write to the Free Software
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 04111-1307 USA
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 04111-1307 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef ITEM_STRUCT_H
|
#ifndef ITEM_STRUCT_H
|
||||||
|
|||||||
@ -191,10 +191,10 @@ void LinkedListIterator<TYPE>::MoveFirst()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// if (prev != 0)
|
//if (prev != 0)
|
||||||
// {
|
//{
|
||||||
prev->SetNext(next);
|
prev->SetNext(next);
|
||||||
// }
|
//}
|
||||||
if (next != 0)
|
if (next != 0)
|
||||||
{
|
{
|
||||||
next->SetPrev(prev);
|
next->SetPrev(prev);
|
||||||
@ -225,10 +225,10 @@ void LinkedListIterator<TYPE>::MoveLast()
|
|||||||
{
|
{
|
||||||
list.first = next;
|
list.first = next;
|
||||||
}
|
}
|
||||||
// if (next != 0)
|
//if (next != 0)
|
||||||
// {
|
//{
|
||||||
next->SetPrev(prev);
|
next->SetPrev(prev);
|
||||||
// }
|
//}
|
||||||
current_element->SetNext(0);
|
current_element->SetNext(0);
|
||||||
current_element->SetPrev(next->GetLast());
|
current_element->SetPrev(next->GetLast());
|
||||||
next->GetLast()->SetNext(current_element);
|
next->GetLast()->SetNext(current_element);
|
||||||
|
|||||||
@ -155,6 +155,3 @@ bool load_log_settings(const char *filename) {
|
|||||||
return(true);
|
return(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -19,28 +19,22 @@
|
|||||||
#define LOGSYS_H_
|
#define LOGSYS_H_
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
* Usage:
|
* Usage:
|
||||||
*
|
*
|
||||||
* These are the main functions provided by logsys:
|
* These are the main functions provided by logsys:
|
||||||
* - _log(TYPE, fmt, ...) - Log a message in any context
|
* - _log(TYPE, fmt, ...) - Log a message in any context
|
||||||
* - mlog(TYPE, fmt, ...) - Zone only. Log a message from a Mob:: context, prefixing it with the mob's name.
|
* - mlog(TYPE, fmt, ...) - Zone only. Log a message from a Mob:: context, prefixing it with the mob's name.
|
||||||
* - clog(TYPE, fmt, ...) - World only. Log a message from a Client:: context, prefixing it with the client's account name.
|
* - clog(TYPE, fmt, ...) - World only. Log a message from a Client:: context, prefixing it with the client's account name.
|
||||||
* - zlog(TYPE, fmt, ...) - World only. Log a message from a ZoneServer:: context, prefixing it with the zones id/name or ip/port.
|
* - zlog(TYPE, fmt, ...) - World only. Log a message from a ZoneServer:: context, prefixing it with the zones id/name or ip/port.
|
||||||
* - _hex(TYPE, data, length) - Log hex dump in any context.
|
* - _hex(TYPE, data, length) - Log hex dump in any context.
|
||||||
* - mhex(TYPE, data, length) - Zone only. Log a hex dump from a Mob:: context, prefixing it with the mob's name
|
* - mhex(TYPE, data, length) - Zone only. Log a hex dump from a Mob:: context, prefixing it with the mob's name
|
||||||
* - _pkt(TYPE, BasePacket *) - Log a packet hex dump with header in any context.
|
* - _pkt(TYPE, BasePacket *) - Log a packet hex dump with header in any context.
|
||||||
* - mhex(TYPE, data, length) - Zone only. Log a packet hex dump from a Mob:: context, prefixing it with the mob's name
|
* - mhex(TYPE, data, length) - Zone only. Log a packet hex dump from a Mob:: context, prefixing it with the mob's name
|
||||||
* Types are defined in logtypes.h
|
* Types are defined in logtypes.h
|
||||||
*
|
*
|
||||||
*
|
* this is very C-ish, not C++ish, but thats how I felt like writting it
|
||||||
*
|
*/
|
||||||
*
|
|
||||||
* this is very C-ish, not C++ish, but thats how I felt like writting it
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
#include "types.h"
|
#include "types.h"
|
||||||
@ -175,13 +169,5 @@ extern void log_toggle(LogType t);
|
|||||||
|
|
||||||
extern bool load_log_settings(const char *filename);
|
extern bool load_log_settings(const char *filename);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif /*LOGSYS_H_*/
|
#endif /*LOGSYS_H_*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -37,7 +37,3 @@ void log_messageVA(LogType type, const char *fmt, va_list args) {
|
|||||||
LogFile->writePVA(EQEMuLog::Debug, prefix_buffer, fmt, args);
|
LogFile->writePVA(EQEMuLog::Debug, prefix_buffer, fmt, args);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -16,8 +16,6 @@
|
|||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef LOG_CATEGORY
|
#ifndef LOG_CATEGORY
|
||||||
#define LOG_CATEGORY(name)
|
#define LOG_CATEGORY(name)
|
||||||
#endif
|
#endif
|
||||||
@ -32,8 +30,6 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
LOG_CATEGORY( CHAT )
|
LOG_CATEGORY( CHAT )
|
||||||
LOG_TYPE( CHAT, SAY, DISABLED )
|
LOG_TYPE( CHAT, SAY, DISABLED )
|
||||||
LOG_TYPE( CHAT, EMOTE, DISABLED )
|
LOG_TYPE( CHAT, EMOTE, DISABLED )
|
||||||
@ -260,6 +256,3 @@ LOG_TYPE( WORLD, LAUNCH_TRACE, ENABLED )
|
|||||||
#undef LOG_TYPE
|
#undef LOG_TYPE
|
||||||
#undef LOG_CATEGORY
|
#undef LOG_CATEGORY
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -267,5 +267,9 @@ void MD5::Transform(uint32 hash[4], const uint32 input[16]) {
|
|||||||
MD5STEP(F4, c, d, a, b, input[ 2]+0x2ad7d2bb, 15);
|
MD5STEP(F4, c, d, a, b, input[ 2]+0x2ad7d2bb, 15);
|
||||||
MD5STEP(F4, b, c, d, a, input[ 9]+0xeb86d391, 21);
|
MD5STEP(F4, b, c, d, a, input[ 9]+0xeb86d391, 21);
|
||||||
|
|
||||||
hash[0] += a; hash[1] += b; hash[2] += c; hash[3] += d;
|
hash[0] += a;
|
||||||
|
hash[1] += b;
|
||||||
|
hash[2] += c;
|
||||||
|
hash[3] += d;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -29,6 +29,9 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#endif
|
#endif
|
||||||
#include "eqemu_exception.h"
|
#include "eqemu_exception.h"
|
||||||
|
#ifdef FREEBSD
|
||||||
|
#include <sys/stat.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
namespace EQEmu {
|
namespace EQEmu {
|
||||||
|
|
||||||
|
|||||||
@ -41,3 +41,4 @@ void build_hex_line(const char *buffer, unsigned long length, unsigned long offs
|
|||||||
void print_hex(const char *buffer, unsigned long length);
|
void print_hex(const char *buffer, unsigned long length);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@ -180,7 +180,6 @@ bool RegularOpcodeManager::ReloadOpcodes(const char *filename, bool report_error
|
|||||||
return(ret);
|
return(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
uint16 RegularOpcodeManager::EmuToEQ(const EmuOpcode emu_op) {
|
uint16 RegularOpcodeManager::EmuToEQ(const EmuOpcode emu_op) {
|
||||||
//opcode is checked for validity in GetEQOpcode
|
//opcode is checked for validity in GetEQOpcode
|
||||||
uint16 res;
|
uint16 res;
|
||||||
@ -221,7 +220,6 @@ void RegularOpcodeManager::SetOpcode(EmuOpcode emu_op, uint16 eq_op) {
|
|||||||
s.Set(emu_op, eq_op);
|
s.Set(emu_op, eq_op);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void RegularOpcodeManager::NormalMemStrategy::Set(EmuOpcode emu_op, uint16 eq_op) {
|
void RegularOpcodeManager::NormalMemStrategy::Set(EmuOpcode emu_op, uint16 eq_op) {
|
||||||
if(uint32(emu_op) >= it->EmuOpcodeCount || eq_op >= it->EQOpcodeCount)
|
if(uint32(emu_op) >= it->EmuOpcodeCount || eq_op >= it->EQOpcodeCount)
|
||||||
return;
|
return;
|
||||||
@ -233,7 +231,6 @@ NullOpcodeManager::NullOpcodeManager()
|
|||||||
: MutableOpcodeManager() {
|
: MutableOpcodeManager() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool NullOpcodeManager::LoadOpcodes(const char *filename, bool report_errors) {
|
bool NullOpcodeManager::LoadOpcodes(const char *filename, bool report_errors) {
|
||||||
return(true);
|
return(true);
|
||||||
}
|
}
|
||||||
@ -254,7 +251,6 @@ EmptyOpcodeManager::EmptyOpcodeManager()
|
|||||||
: MutableOpcodeManager() {
|
: MutableOpcodeManager() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool EmptyOpcodeManager::LoadOpcodes(const char *filename, bool report_errors) {
|
bool EmptyOpcodeManager::LoadOpcodes(const char *filename, bool report_errors) {
|
||||||
return(true);
|
return(true);
|
||||||
}
|
}
|
||||||
@ -280,9 +276,3 @@ void EmptyOpcodeManager::SetOpcode(EmuOpcode emu_op, uint16 eq_op) {
|
|||||||
eq_to_emu[eq_op] = emu_op;
|
eq_to_emu[eq_op] = emu_op;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -162,15 +162,3 @@ protected:
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -193,3 +193,4 @@ void DumpPacketBin(const void* iData, uint32 len) {
|
|||||||
cout << " " << hex << setw(2) << setfill('0') << (int) data[k-1] << dec;
|
cout << " " << hex << setw(2) << setfill('0') << (int) data[k-1] << dec;
|
||||||
cout << endl;
|
cout << endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -33,3 +33,4 @@ void DumpPacketBin(uint16 data);
|
|||||||
void DumpPacketBin(uint8 data);
|
void DumpPacketBin(uint8 data);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@ -1201,7 +1201,7 @@ ENCODE(OP_ZoneSpawns) {
|
|||||||
|
|
||||||
Buffer += sizeof(structs::Spawn_Struct_Position);
|
Buffer += sizeof(structs::Spawn_Struct_Position);
|
||||||
|
|
||||||
if((emu->NPC == 0) || (emu->race <=12) || (emu->race == 128) || (emu->race == 130) || (emu->race == 330) || (emu->race == 522))
|
if((emu->NPC == 0) || (emu->race <=12) || (emu->race == 128) || (emu ->race == 130) || (emu->race == 330) || (emu->race == 522))
|
||||||
{
|
{
|
||||||
for(k = 0; k < 9; ++k)
|
for(k = 0; k < 9; ++k)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1213,7 +1213,7 @@ ENCODE(OP_ZoneSpawns) {
|
|||||||
|
|
||||||
Buffer += sizeof(structs::Spawn_Struct_Position);
|
Buffer += sizeof(structs::Spawn_Struct_Position);
|
||||||
|
|
||||||
if((emu->NPC == 0) || (emu->race <=12) || (emu->race == 128) || (emu->race == 130) || (emu->race == 330) || (emu->race == 522))
|
if((emu->NPC == 0) || (emu->race <=12) || (emu->race == 128) || (emu ->race == 130) || (emu->race == 330) || (emu->race == 522))
|
||||||
{
|
{
|
||||||
for(k = 0; k < 9; ++k)
|
for(k = 0; k < 9; ++k)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,10 +1,10 @@
|
|||||||
/*
|
/*
|
||||||
* This file was generated automatically by xsubpp version 1.9508 from the
|
* This file was generated automatically by xsubpp version 1.9508 from the
|
||||||
* contents of tmp. Do not edit this file, edit tmp instead.
|
* contents of tmp. Do not edit this file, edit tmp instead.
|
||||||
*
|
*
|
||||||
* ANY CHANGES MADE HERE WILL BE LOST!
|
* ANY CHANGES MADE HERE WILL BE LOST!
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
/* EQEMu: Everquest Server Emulator
|
/* EQEMu: Everquest Server Emulator
|
||||||
|
|||||||
@ -1,10 +1,10 @@
|
|||||||
/*
|
/*
|
||||||
* This file was generated automatically by xsubpp version 1.9508 from the
|
* This file was generated automatically by xsubpp version 1.9508 from the
|
||||||
* contents of tmp. Do not edit this file, edit tmp instead.
|
* contents of tmp. Do not edit this file, edit tmp instead.
|
||||||
*
|
*
|
||||||
* ANY CHANGES MADE HERE WILL BE LOST!
|
* ANY CHANGES MADE HERE WILL BE LOST!
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
/* EQEMu: Everquest Server Emulator
|
/* EQEMu: Everquest Server Emulator
|
||||||
|
|||||||
@ -9,3 +9,4 @@ void RegisterExecutablePlatform(EQEmuExePlatform p) {
|
|||||||
const EQEmuExePlatform& GetExecutablePlatform() {
|
const EQEmuExePlatform& GetExecutablePlatform() {
|
||||||
return exe_platform;
|
return exe_platform;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -508,9 +508,7 @@ $races_table = array(
|
|||||||
402 => "Invader Soldier Elite",
|
402 => "Invader Soldier Elite",
|
||||||
403 => "UNKNOWN RACE",
|
403 => "UNKNOWN RACE",
|
||||||
404 => "Discord Ship",
|
404 => "Discord Ship",
|
||||||
|
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@ -166,7 +166,3 @@ void RDTSC_Collector::reset() {
|
|||||||
_count = 0;
|
_count = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -83,5 +83,4 @@ protected:
|
|||||||
int64 _count;
|
int64 _count;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@ -54,18 +54,15 @@ CREATE TABLE rule_values (
|
|||||||
|
|
||||||
Commands:
|
Commands:
|
||||||
#rules:
|
#rules:
|
||||||
- current -> lists current set name
|
current -> lists current set name
|
||||||
- switch (set name) -> change set in the DB, but dont reload
|
switch (set name) -> change set in the DB, but dont reload
|
||||||
- load (set name) -> load set into this zone without changing the world
|
load (set name) -> load set into this zone without changing the world
|
||||||
- wload (set name) -> tell world and all zones to load this rule set
|
wload (set name) -> tell world and all zones to load this rule set
|
||||||
- store [set name] -> store the current rules in this zone to the set (or
|
store [set name] -> store the current rules in this zone to the set (or active if not specified)
|
||||||
active if not specified)
|
reset -> reset all rule values to their defaults.
|
||||||
- reset -> reset all rule values to their defaults.
|
list [catname]
|
||||||
- list [catname]
|
set (cat) (rule) (value)
|
||||||
- set (cat) (rule) (value)
|
values [catname] -> show the values of all rules in the specified category/
|
||||||
- values [catname] -> show the values of all rules in the specified category/
|
|
||||||
|
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const char *RuleManager::s_categoryNames[_CatCount+1] = {
|
const char *RuleManager::s_categoryNames[_CatCount+1] = {
|
||||||
@ -458,35 +455,3 @@ bool RuleManager::GetBoolRule(RuleManager::BoolType t) const
|
|||||||
return (m_RuleBoolValues[t] == 1);
|
return (m_RuleBoolValues[t] == 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -152,3 +152,4 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
#endif /*RULESYS_H_*/
|
#endif /*RULESYS_H_*/
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
#include "shareddb.h"
|
#include "shareddb.h"
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
@ -1166,7 +1165,7 @@ void SharedDatabase::LoadNPCFactionLists(void *data, uint32 size, uint32 list_co
|
|||||||
mysql_free_result(result);
|
mysql_free_result(result);
|
||||||
} else {
|
} else {
|
||||||
LogFile->write(EQEMuLog::Error, "Error getting npc faction info from database: %s, %s", query, errbuf);
|
LogFile->write(EQEMuLog::Error, "Error getting npc faction info from database: %s, %s", query, errbuf);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SharedDatabase::LoadNPCFactionLists() {
|
bool SharedDatabase::LoadNPCFactionLists() {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/* EQEMu: Everquest Server Emulator
|
/* EQEMu: Everquest Server Emulator
|
||||||
Copyright (C) 2001-2002 EQEMu Development Team (http://eqemu.org)
|
Copyright (C) 2001-2002 EQEMu Development Team (http://eqemu.org)
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
@ -192,3 +192,4 @@ const uint32 Timer::SetCurrentTime()
|
|||||||
// cerr << "Current time:" << current_time << endl;
|
// cerr << "Current time:" << current_time << endl;
|
||||||
return current_time;
|
return current_time;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -107,6 +107,4 @@ typedef const char Const_char; //for perl XS
|
|||||||
#define DLLFUNC extern "C"
|
#define DLLFUNC extern "C"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@ -46,4 +46,3 @@ char* strlwr(char* tmp) {
|
|||||||
int joe = 1;
|
int joe = 1;
|
||||||
#endif /* !WIN32 */
|
#endif /* !WIN32 */
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -32,3 +32,4 @@ char* strlwr(char* tmp);
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@ -48,3 +48,4 @@ extern "C" { //the perl headers dont do this for us...
|
|||||||
|
|
||||||
|
|
||||||
#endif /*EMU_PERL_H_*/
|
#endif /*EMU_PERL_H_*/
|
||||||
|
|
||||||
|
|||||||
@ -94,8 +94,3 @@ void WorldConnection::Disconnect() {
|
|||||||
tcpc.Disconnect();
|
tcpc.Disconnect();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -26,7 +26,9 @@ IF(MINGW)
|
|||||||
ENDIF(MINGW)
|
ENDIF(MINGW)
|
||||||
|
|
||||||
IF(UNIX)
|
IF(UNIX)
|
||||||
|
IF(NOT FREEBSD)
|
||||||
TARGET_LINK_LIBRARIES(eqlaunch "dl")
|
TARGET_LINK_LIBRARIES(eqlaunch "dl")
|
||||||
|
ENDIF(NOT FREEBSD)
|
||||||
TARGET_LINK_LIBRARIES(eqlaunch "z")
|
TARGET_LINK_LIBRARIES(eqlaunch "z")
|
||||||
TARGET_LINK_LIBRARIES(eqlaunch "m")
|
TARGET_LINK_LIBRARIES(eqlaunch "m")
|
||||||
TARGET_LINK_LIBRARIES(eqlaunch "rt")
|
TARGET_LINK_LIBRARIES(eqlaunch "rt")
|
||||||
|
|||||||
@ -34,7 +34,7 @@ void ZoneLaunch::InitStartTimer() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ZoneLaunch::ZoneLaunch(WorldServer *world, const char *launcher_name,
|
ZoneLaunch::ZoneLaunch(WorldServer *world, const char *launcher_name,
|
||||||
const char *zone_name, const EQEmuConfig *config)
|
const char *zone_name, const EQEmuConfig *config)
|
||||||
: m_state(StateStartPending),
|
: m_state(StateStartPending),
|
||||||
m_world(world),
|
m_world(world),
|
||||||
m_zone(zone_name),
|
m_zone(zone_name),
|
||||||
@ -250,38 +250,3 @@ void ZoneLaunch::OnTerminate(const ProcLauncher::ProcRef &ref, const ProcLaunche
|
|||||||
SendStatus();
|
SendStatus();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -75,13 +75,4 @@ private:
|
|||||||
static Timer s_startTimer;
|
static Timer s_startTimer;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif /*ZONELAUNCH_H_*/
|
#endif /*ZONELAUNCH_H_*/
|
||||||
|
|||||||
@ -53,7 +53,9 @@ IF(MINGW)
|
|||||||
ENDIF(MINGW)
|
ENDIF(MINGW)
|
||||||
|
|
||||||
IF(UNIX)
|
IF(UNIX)
|
||||||
|
IF(NOT FREEBSD)
|
||||||
TARGET_LINK_LIBRARIES(loginserver "dl")
|
TARGET_LINK_LIBRARIES(loginserver "dl")
|
||||||
|
ENDIF(NOT FREEBSD)
|
||||||
TARGET_LINK_LIBRARIES(loginserver "z")
|
TARGET_LINK_LIBRARIES(loginserver "z")
|
||||||
TARGET_LINK_LIBRARIES(loginserver "m")
|
TARGET_LINK_LIBRARIES(loginserver "m")
|
||||||
TARGET_LINK_LIBRARIES(loginserver "rt")
|
TARGET_LINK_LIBRARIES(loginserver "rt")
|
||||||
|
|||||||
@ -49,9 +49,9 @@ enum LoginMode
|
|||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Client class, controls a single client and it's
|
* Client class, controls a single client and it's
|
||||||
* connection to the login server.
|
* connection to the login server.
|
||||||
*/
|
*/
|
||||||
class Client
|
class Client
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|||||||
@ -28,8 +28,8 @@
|
|||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Client manager class, holds all the client objects and does basic processing.
|
* Client manager class, holds all the client objects and does basic processing.
|
||||||
*/
|
*/
|
||||||
class ClientManager
|
class ClientManager
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|||||||
@ -21,10 +21,10 @@
|
|||||||
|
|
||||||
extern ErrorLog *server_log;
|
extern ErrorLog *server_log;
|
||||||
/**
|
/**
|
||||||
* Retrieves the variable we want from our title or theme
|
* Retrieves the variable we want from our title or theme
|
||||||
* First gets the map from the title
|
* First gets the map from the title
|
||||||
* Then gets the argument from the map we got from title
|
* Then gets the argument from the map we got from title
|
||||||
*/
|
*/
|
||||||
string Config::GetVariable(string title, string parameter)
|
string Config::GetVariable(string title, string parameter)
|
||||||
{
|
{
|
||||||
map<string, map<string, string> >::iterator iter = vars.find(title);
|
map<string, map<string, string> >::iterator iter = vars.find(title);
|
||||||
@ -41,9 +41,9 @@ string Config::GetVariable(string title, string parameter)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Opens a file and passes it to the tokenizer
|
* Opens a file and passes it to the tokenizer
|
||||||
* Then it parses the tokens returned and puts them into titles and variables.
|
* Then it parses the tokens returned and puts them into titles and variables.
|
||||||
*/
|
*/
|
||||||
void Config::Parse(const char *file_name)
|
void Config::Parse(const char *file_name)
|
||||||
{
|
{
|
||||||
if(file_name == nullptr)
|
if(file_name == nullptr)
|
||||||
@ -138,10 +138,10 @@ void Config::Parse(const char *file_name)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Pretty basic lexical analyzer
|
* Pretty basic lexical analyzer
|
||||||
* Breaks up the input character stream into tokens and puts them into the list provided.
|
* Breaks up the input character stream into tokens and puts them into the list provided.
|
||||||
* Ignores # as a line comment
|
* Ignores # as a line comment
|
||||||
*/
|
*/
|
||||||
void Config::Tokenize(FILE *input, list<string> &tokens)
|
void Config::Tokenize(FILE *input, list<string> &tokens)
|
||||||
{
|
{
|
||||||
char c = fgetc(input);
|
char c = fgetc(input);
|
||||||
|
|||||||
@ -26,8 +26,8 @@ using namespace std;
|
|||||||
//#define EQEMU_POSTGRESQL_ENABLED
|
//#define EQEMU_POSTGRESQL_ENABLED
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Base database class, intended to be extended.
|
* Base database class, intended to be extended.
|
||||||
*/
|
*/
|
||||||
class Database
|
class Database
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|||||||
@ -29,8 +29,8 @@
|
|||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Mysql Database class
|
* Mysql Database class
|
||||||
*/
|
*/
|
||||||
class DatabaseMySQL : public Database
|
class DatabaseMySQL : public Database
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|||||||
@ -23,3 +23,4 @@ char* Encrypt(const char* buffer, unsigned int bufferSize, unsigned int &outSize
|
|||||||
void _HeapDeleteCharBuffer(char *buffer);
|
void _HeapDeleteCharBuffer(char *buffer);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@ -29,9 +29,9 @@ typedef char*(*DLLFUNC_Encrypt)(const char*, unsigned int, unsigned int&);
|
|||||||
typedef void(*DLLFUNC_HeapDelete)(char*);
|
typedef void(*DLLFUNC_HeapDelete)(char*);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Basic windows encryption plugin.
|
* Basic windows encryption plugin.
|
||||||
* Handles the managment of the plugin.
|
* Handles the managment of the plugin.
|
||||||
*/
|
*/
|
||||||
class Encryption
|
class Encryption
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|||||||
@ -207,3 +207,4 @@ void ErrorLog::LogPacket(eqLogType type, const char *data, size_t size)
|
|||||||
|
|
||||||
log_mutex->unlock();
|
log_mutex->unlock();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -29,9 +29,9 @@
|
|||||||
#include "ClientManager.h"
|
#include "ClientManager.h"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Login server struct, contains every variable for the server that needs to exist
|
* Login server struct, contains every variable for the server that needs to exist
|
||||||
* outside the scope of main().
|
* outside the scope of main().
|
||||||
*/
|
*/
|
||||||
struct LoginServer
|
struct LoginServer
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|||||||
@ -342,3 +342,4 @@ void ServerManager::DestroyServerByName(string l_name, string s_name, WorldServe
|
|||||||
iter++;
|
iter++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -31,8 +31,8 @@
|
|||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Server manager class, deals with management of the world servers.
|
* Server manager class, deals with management of the world servers.
|
||||||
*/
|
*/
|
||||||
class ServerManager
|
class ServerManager
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|||||||
@ -32,7 +32,9 @@ IF(MINGW)
|
|||||||
ENDIF(MINGW)
|
ENDIF(MINGW)
|
||||||
|
|
||||||
IF(UNIX)
|
IF(UNIX)
|
||||||
|
IF(NOT FREEBSD)
|
||||||
TARGET_LINK_LIBRARIES(queryserv "dl")
|
TARGET_LINK_LIBRARIES(queryserv "dl")
|
||||||
|
ENDIF(NOT FREEBSD)
|
||||||
TARGET_LINK_LIBRARIES(queryserv "z")
|
TARGET_LINK_LIBRARIES(queryserv "z")
|
||||||
TARGET_LINK_LIBRARIES(queryserv "m")
|
TARGET_LINK_LIBRARIES(queryserv "m")
|
||||||
TARGET_LINK_LIBRARIES(queryserv "rt")
|
TARGET_LINK_LIBRARIES(queryserv "rt")
|
||||||
|
|||||||
@ -1,6 +1,4 @@
|
|||||||
/*
|
/* EQEMu: Everquest Server Emulator
|
||||||
EQEMu: Everquest Server Emulator
|
|
||||||
|
|
||||||
Copyright (C) 2001-2008 EQEMu Development Team (http://eqemulator.net)
|
Copyright (C) 2001-2008 EQEMu Development Team (http://eqemulator.net)
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
@ -321,3 +319,4 @@ void Database::LogMerchantTransaction(QSMerchantLogTransaction_Struct* QS, uint3
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,4 @@
|
|||||||
/*
|
/* EQEMu: Everquest Server Emulator
|
||||||
EQEMu: Everquest Server Emulator
|
|
||||||
|
|
||||||
Copyright (C) 2001-2008 EQEMu Development Team (http://eqemulator.net)
|
Copyright (C) 2001-2008 EQEMu Development Team (http://eqemulator.net)
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
@ -61,3 +59,4 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@ -433,3 +433,4 @@ void LFGuildManager::SendGuildStatus(uint32 FromZoneID, uint32 FromInstanceID, c
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,4 @@
|
|||||||
/*
|
/* EQEMu: Everquest Server Emulator
|
||||||
EQEMu: Everquest Server Emulator
|
|
||||||
|
|
||||||
Copyright (C) 2001-2008 EQEMu Development Team (http://eqemulator.net)
|
Copyright (C) 2001-2008 EQEMu Development Team (http://eqemulator.net)
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
|||||||
@ -1,6 +1,4 @@
|
|||||||
/*
|
/* EQEMu: Everquest Server Emulator
|
||||||
EQEMu: Everquest Server Emulator
|
|
||||||
|
|
||||||
Copyright (C) 2001-2008 EQEMu Development Team (http://eqemulator.net)
|
Copyright (C) 2001-2008 EQEMu Development Team (http://eqemulator.net)
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
@ -27,3 +25,4 @@ queryservconfig *queryservconfig::_chat_config = nullptr;
|
|||||||
string queryservconfig::GetByName(const string &var_name) const {
|
string queryservconfig::GetByName(const string &var_name) const {
|
||||||
return(EQEmuConfig::GetByName(var_name));
|
return(EQEmuConfig::GetByName(var_name));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,4 @@
|
|||||||
/*
|
/* EQEMu: Everquest Server Emulator
|
||||||
EQEMu: Everquest Server Emulator
|
|
||||||
|
|
||||||
Copyright (C) 2001-2008 EQEMu Development Team (http://eqemulator.net)
|
Copyright (C) 2001-2008 EQEMu Development Team (http://eqemulator.net)
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
@ -54,3 +52,4 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/* EQEMu: Everquest Server Emulator
|
/* EQEMu: Everquest Server Emulator
|
||||||
Copyright (C) 2001-2002 EQEMu Development Team (http://eqemu.org)
|
Copyright (C) 2001-2002 EQEMu Development Team (http://eqemu.org)
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
@ -23,12 +23,12 @@
|
|||||||
|
|
||||||
class WorldServer : public WorldConnection
|
class WorldServer : public WorldConnection
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
WorldServer();
|
WorldServer();
|
||||||
virtual ~WorldServer();
|
virtual ~WorldServer();
|
||||||
virtual void Process();
|
virtual void Process();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
virtual void OnConnected();
|
virtual void OnConnected();
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@ -31,7 +31,9 @@ IF(MINGW)
|
|||||||
ENDIF(MINGW)
|
ENDIF(MINGW)
|
||||||
|
|
||||||
IF(UNIX)
|
IF(UNIX)
|
||||||
|
IF(NOT FREEBSD)
|
||||||
TARGET_LINK_LIBRARIES(shared_memory "dl")
|
TARGET_LINK_LIBRARIES(shared_memory "dl")
|
||||||
|
ENDIF(NOT FREEBSD)
|
||||||
TARGET_LINK_LIBRARIES(shared_memory "z")
|
TARGET_LINK_LIBRARIES(shared_memory "z")
|
||||||
TARGET_LINK_LIBRARIES(shared_memory "m")
|
TARGET_LINK_LIBRARIES(shared_memory "m")
|
||||||
TARGET_LINK_LIBRARIES(shared_memory "rt")
|
TARGET_LINK_LIBRARIES(shared_memory "rt")
|
||||||
|
|||||||
@ -23,3 +23,4 @@ class SharedDatabase;
|
|||||||
void LoadSkillCaps(SharedDatabase *database);
|
void LoadSkillCaps(SharedDatabase *database);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@ -40,3 +40,4 @@ void LoadSpells(SharedDatabase *database) {
|
|||||||
database->LoadSpells(ptr, records);
|
database->LoadSpells(ptr, records);
|
||||||
mutex.Unlock();
|
mutex.Unlock();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -34,7 +34,10 @@ IF(MINGW)
|
|||||||
ENDIF(MINGW)
|
ENDIF(MINGW)
|
||||||
|
|
||||||
IF(UNIX)
|
IF(UNIX)
|
||||||
|
|
||||||
|
IF(NOT FREEBSD)
|
||||||
TARGET_LINK_LIBRARIES(ucs "dl")
|
TARGET_LINK_LIBRARIES(ucs "dl")
|
||||||
|
ENDIF(NOT FREEBSD)
|
||||||
TARGET_LINK_LIBRARIES(ucs "z")
|
TARGET_LINK_LIBRARIES(ucs "z")
|
||||||
TARGET_LINK_LIBRARIES(ucs "m")
|
TARGET_LINK_LIBRARIES(ucs "m")
|
||||||
TARGET_LINK_LIBRARIES(ucs "rt")
|
TARGET_LINK_LIBRARIES(ucs "rt")
|
||||||
|
|||||||
@ -1,6 +1,4 @@
|
|||||||
/*
|
/* EQEMu: Everquest Server Emulator
|
||||||
EQEMu: Everquest Server Emulator
|
|
||||||
|
|
||||||
Copyright (C) 2001-2008 EQEMu Development Team (http://eqemulator.net)
|
Copyright (C) 2001-2008 EQEMu Development Team (http://eqemulator.net)
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
@ -704,3 +702,4 @@ string CapitaliseName(string inString) {
|
|||||||
|
|
||||||
return NormalisedName;
|
return NormalisedName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,4 @@
|
|||||||
/*
|
/* EQEMu: Everquest Server Emulator
|
||||||
EQEMu: Everquest Server Emulator
|
|
||||||
|
|
||||||
Copyright (C) 2001-2008 EQEMu Development Team (http://eqemulator.net)
|
Copyright (C) 2001-2008 EQEMu Development Team (http://eqemulator.net)
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
@ -2407,3 +2405,4 @@ int Client::GetCharID() {
|
|||||||
|
|
||||||
return Characters[0].CharID;
|
return Characters[0].CharID;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,4 @@
|
|||||||
/*
|
/* EQEMu: Everquest Server Emulator
|
||||||
EQEMu: Everquest Server Emulator
|
|
||||||
|
|
||||||
Copyright (C) 2001-2008 EQEMu Development Team (http://eqemulator.net)
|
Copyright (C) 2001-2008 EQEMu Development Team (http://eqemulator.net)
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
@ -32,12 +30,14 @@
|
|||||||
|
|
||||||
#define MAX_JOINED_CHANNELS 10
|
#define MAX_JOINED_CHANNELS 10
|
||||||
|
|
||||||
enum { CommandJoin = 0, CommandLeaveAll, CommandLeave, CommandListAll, CommandList, CommandSet, CommandAnnounce, CommandSetOwner,
|
enum {
|
||||||
|
CommandJoin = 0, CommandLeaveAll, CommandLeave, CommandListAll, CommandList, CommandSet, CommandAnnounce, CommandSetOwner,
|
||||||
CommandOPList, CommandInvite, CommandGrant, CommandModerate, CommandVoice, CommandKick,
|
CommandOPList, CommandInvite, CommandGrant, CommandModerate, CommandVoice, CommandKick,
|
||||||
CommandPassword, CommandToggleInvites, CommandAFK, CommandUptime,
|
CommandPassword, CommandToggleInvites, CommandAFK, CommandUptime,
|
||||||
CommandGetHeaders, CommandGetBody, CommandMailTo, CommandSetMessageStatus, CommandSelectMailBox,
|
CommandGetHeaders, CommandGetBody, CommandMailTo, CommandSetMessageStatus, CommandSelectMailBox,
|
||||||
CommandSetMailForwarding, CommandBuddy, CommandIgnorePlayer,
|
CommandSetMailForwarding, CommandBuddy, CommandIgnorePlayer,
|
||||||
CommandEndOfList };
|
CommandEndOfList
|
||||||
|
};
|
||||||
|
|
||||||
struct CommandEntry {
|
struct CommandEntry {
|
||||||
const char *CommandString;
|
const char *CommandString;
|
||||||
|
|||||||
@ -1,6 +1,4 @@
|
|||||||
/*
|
/* EQEMu: Everquest Server Emulator
|
||||||
EQEMu: Everquest Server Emulator
|
|
||||||
|
|
||||||
Copyright (C) 2001-2008 EQEMu Development Team (http://eqemulator.net)
|
Copyright (C) 2001-2008 EQEMu Development Team (http://eqemulator.net)
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
@ -769,3 +767,4 @@ void Database::GetFriendsAndIgnore(int CharID, vector<string> &Friends, vector<s
|
|||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user