* more fixes for gcc. thx shlainn!
This commit is contained in:
parent
12045179e4
commit
a8ad601dca
@ -173,7 +173,7 @@ DefReturnResult DefScriptPackage::func_setscriptpermission(CmdSet& Set)
|
||||
if(Set.defaultarg.empty() || Set.arg[0].empty())
|
||||
return r;
|
||||
|
||||
scriptPermissionMap[Set.arg[0]] = (unsigned char)toUint64(Set.defaultarg.c_str());
|
||||
scriptPermissionMap[Set.arg[0]] = (unsigned char)toUint64(Set.defaultarg);
|
||||
return r;
|
||||
}
|
||||
|
||||
|
||||
@ -13,13 +13,27 @@
|
||||
|
||||
std::string DefScriptTools::stringToLower(std::string s)
|
||||
{
|
||||
std::transform(s.begin(), s.end(), s.begin(), std::tolower);
|
||||
std::transform(s.begin(), s.end(), s.begin(), tolower);
|
||||
return s;
|
||||
}
|
||||
|
||||
std::string DefScriptTools::stringToUpper(std::string s)
|
||||
{
|
||||
std::transform(s.begin(), s.end(), s.begin(), std::toupper);
|
||||
std::transform(s.begin(), s.end(), s.begin(), toupper);
|
||||
return s;
|
||||
}
|
||||
|
||||
std::string DefScriptTools::toString(ldbl num)
|
||||
{
|
||||
std::stringstream ss;
|
||||
ss.setf(std::ios_base::fixed);
|
||||
ss.precision(15);
|
||||
ss << Round(num,15);
|
||||
std::string s(ss.str());
|
||||
while(s[s.length()-1]=='0')
|
||||
s.erase(s.length()-1,1);
|
||||
if(s[s.length()-1]=='.')
|
||||
s.erase(s.length()-1,1);
|
||||
return s;
|
||||
}
|
||||
|
||||
@ -29,7 +43,7 @@ std::string DefScriptTools::stringToUpper(std::string s)
|
||||
// hex numbers: 0xa56ff, 0XFF, 0xDEADBABE, etc (must begin with 0x)
|
||||
// float numbers: 99.65, 0.025
|
||||
// negative numbers: -100, -0x3d, -55.123
|
||||
ldbl DefScriptTools::toNumber(std::string str)
|
||||
ldbl DefScriptTools::toNumber(std::string& str)
|
||||
{
|
||||
ldbl num=0;
|
||||
uint64 u=0;
|
||||
@ -61,32 +75,32 @@ ldbl DefScriptTools::toNumber(std::string str)
|
||||
u|=lobits;
|
||||
}
|
||||
else
|
||||
u = atoi64(str.c_str());
|
||||
u = atoi64(str);
|
||||
|
||||
if(ppos!=std::string::npos)
|
||||
{
|
||||
std::string mantissa("0");
|
||||
mantissa+=str.c_str()+ppos;
|
||||
num=(ldbl)atof(mantissa.c_str());
|
||||
num=(ldbl)atof(mantissa.c_str());
|
||||
}
|
||||
|
||||
num=(unsigned long double)num + u;
|
||||
|
||||
num=(long double)num + u;
|
||||
num=Round(num,10);
|
||||
|
||||
|
||||
|
||||
if(negative)
|
||||
num = -num;
|
||||
return num;
|
||||
}
|
||||
|
||||
bool DefScriptTools::isTrue(std::string s)
|
||||
bool DefScriptTools::isTrue(std::string& s)
|
||||
{
|
||||
if(s.empty() || s=="false" || s=="0")
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
uint64 DefScriptTools::toUint64(std::string str)
|
||||
uint64 DefScriptTools::toUint64(std::string& str)
|
||||
{
|
||||
bool negative=false;
|
||||
uint64 num = 0;
|
||||
@ -115,21 +129,20 @@ uint64 DefScriptTools::toUint64(std::string str)
|
||||
num|=lobits;
|
||||
}
|
||||
else
|
||||
num = atoi64(str.c_str());
|
||||
num = atoi64(str);
|
||||
if(negative)
|
||||
num = (uint64)(-1) - num; // is this correct?
|
||||
return num;
|
||||
}
|
||||
|
||||
uint64 DefScriptTools::atoi64(const char *str)
|
||||
uint64 DefScriptTools::atoi64(std::string& str)
|
||||
{
|
||||
#if COMPILER == COMPILER_MICROSOFT
|
||||
__int64 tmp = _atoi64(str);
|
||||
return tmp;
|
||||
#else
|
||||
#error "Fix Me!"
|
||||
//return _atoi64(str);
|
||||
#endif
|
||||
uint64 l = 0;
|
||||
for (size_t i = 0; i < str.size(); i++)
|
||||
{
|
||||
l = l * 10 + str[i] - 48;
|
||||
}
|
||||
return l;
|
||||
}
|
||||
|
||||
inline long double DefScriptTools::Round(long double z,unsigned int n)
|
||||
|
||||
@ -7,35 +7,22 @@ namespace DefScriptTools
|
||||
{
|
||||
std::string stringToUpper(std::string);
|
||||
std::string stringToLower(std::string);
|
||||
ldbl toNumber(std::string);
|
||||
bool isTrue(std::string);
|
||||
uint64 toUint64(std::string);
|
||||
uint64 atoi64(const char*);
|
||||
inline long double Round(long double z,unsigned int n);
|
||||
std::string toString(ldbl);
|
||||
inline std::string toString(double num) { return toString(ldbl(num)); }
|
||||
inline std::string toString(float num) { return toString(ldbl(num)); }
|
||||
|
||||
template <class T> inline std::string toString(T num)
|
||||
{
|
||||
std::stringstream ss;
|
||||
ss << num;
|
||||
return ss.str();
|
||||
}
|
||||
template <ldbl> inline std::string toString(ldbl num)
|
||||
{
|
||||
std::stringstream ss;
|
||||
ss.setf(std::ios_base::fixed);
|
||||
ss.precision(15);
|
||||
ss << Round(num,15);
|
||||
std::string s(ss.str());
|
||||
while(s[s.length()-1]=='0')
|
||||
s.erase(s.length()-1,1);
|
||||
if(s[s.length()-1]=='.')
|
||||
s.erase(s.length()-1,1);
|
||||
return s;
|
||||
}
|
||||
template <float> inline std::string toString(float num)
|
||||
{
|
||||
return toString<ldbl>(num);
|
||||
}
|
||||
|
||||
ldbl toNumber(std::string&);
|
||||
bool isTrue(std::string&);
|
||||
uint64 toUint64(std::string&);
|
||||
uint64 atoi64(std::string&);
|
||||
inline long double Round(long double z,unsigned int n);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -99,5 +99,4 @@ void DefScript_DynamicEventMgr::Update(void)
|
||||
i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -173,16 +173,12 @@ bool VarSet::ReadVarsFromFile(std::string fn)
|
||||
|
||||
std::string VarSet::toLower(std::string s)
|
||||
{
|
||||
std::transform(s.begin(), s.end(), s.begin(), std::tolower);
|
||||
std::transform(s.begin(), s.end(), s.begin(), tolower);
|
||||
return s;
|
||||
}
|
||||
|
||||
std::string VarSet::toUpper(std::string s)
|
||||
{
|
||||
std::transform(s.begin(), s.end(), s.begin(), std::toupper);
|
||||
std::transform(s.begin(), s.end(), s.begin(), toupper);
|
||||
return s;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -33,4 +33,4 @@ private:
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@ -974,7 +974,7 @@ DefReturnResult DefScriptPackage::SCBBGetPackedGuid(CmdSet &Set)
|
||||
DefReturnResult DefScriptPackage::SCBBPutPackedGuid(CmdSet &Set)
|
||||
{
|
||||
ByteBuffer *bb = bytebuffers.Get(_NormalizeVarName(Set.arg[0],Set.myname));
|
||||
|
||||
|
||||
uint64 guid = DefScriptTools::toUint64(Set.defaultarg);
|
||||
if (!guid) // fast check if guid is empty (in this case mask must be 0 with no extra data)
|
||||
{
|
||||
@ -1012,7 +1012,7 @@ DefReturnResult DefScriptPackage::SCGui(CmdSet &Set)
|
||||
return false;
|
||||
}
|
||||
while(!ins->GetGUI() && !ins->GetGUI()->IsInitialized())
|
||||
Sleep(1);
|
||||
ins->GetRunnable()->sleep(1);
|
||||
|
||||
// TODO: not sure if this piece of code will work as intended, needs some testing
|
||||
if(ins->GetWSession() && ins->GetWSession()->InWorld())
|
||||
|
||||
@ -12,4 +12,4 @@ DefScriptFunctionTable *_GetSCTable(void);
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
#include "common.h"
|
||||
#include "PseuGui.h"
|
||||
#include "PseuGUI.h"
|
||||
#include "DrawObject.h"
|
||||
#include "PseuWoW.h"
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@ struct IKeys
|
||||
{
|
||||
return code[keycode];
|
||||
}
|
||||
|
||||
|
||||
bool pressed_once(EKEY_CODE keycode)
|
||||
{
|
||||
if(code[keycode])
|
||||
@ -32,14 +32,14 @@ struct IKeys
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
void reset()
|
||||
{
|
||||
for(s32 i=0; i<KEY_KEY_CODES_COUNT; i++) code[i] = false;
|
||||
}
|
||||
|
||||
|
||||
bool code[KEY_KEY_CODES_COUNT];
|
||||
|
||||
|
||||
};
|
||||
|
||||
struct IMouse
|
||||
@ -48,17 +48,17 @@ struct IMouse
|
||||
{
|
||||
return left;
|
||||
}
|
||||
|
||||
|
||||
bool middle_pressed()
|
||||
{
|
||||
return middle;
|
||||
}
|
||||
|
||||
|
||||
bool right_pressed()
|
||||
{
|
||||
return right;
|
||||
}
|
||||
|
||||
|
||||
bool left_pressed_once()
|
||||
{
|
||||
if(left)
|
||||
@ -68,7 +68,7 @@ struct IMouse
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
bool middle_pressed_once()
|
||||
{
|
||||
if(middle)
|
||||
@ -78,7 +78,7 @@ struct IMouse
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
bool right_pressed_once()
|
||||
{
|
||||
if(right)
|
||||
@ -88,7 +88,7 @@ struct IMouse
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
void reset()
|
||||
{
|
||||
X = 0;
|
||||
@ -98,14 +98,14 @@ struct IMouse
|
||||
middle = false;
|
||||
right = false;
|
||||
}
|
||||
|
||||
|
||||
s32 X;
|
||||
s32 Y;
|
||||
f32 wheel;
|
||||
bool left;
|
||||
bool middle;
|
||||
bool right;
|
||||
|
||||
|
||||
};
|
||||
|
||||
class MyEventReceiver : public IEventReceiver
|
||||
@ -115,7 +115,7 @@ public:
|
||||
{
|
||||
for(s32 i=0; i<KEY_KEY_CODES_COUNT; i++)
|
||||
key.code[i] = false;
|
||||
|
||||
|
||||
mouse.X = 0;
|
||||
mouse.Y = 0;
|
||||
mouse.wheel = 0.0f;
|
||||
@ -123,17 +123,17 @@ public:
|
||||
mouse.middle = false;
|
||||
mouse.right = false;
|
||||
}
|
||||
|
||||
|
||||
virtual bool OnEvent(SEvent event)
|
||||
{
|
||||
bool value = false;
|
||||
|
||||
|
||||
if (event.EventType == irr::EET_KEY_INPUT_EVENT)
|
||||
{
|
||||
key.code[event.KeyInput.Key] = event.KeyInput.PressedDown;
|
||||
value = true;
|
||||
}
|
||||
|
||||
|
||||
if (event.EventType == irr::EET_MOUSE_INPUT_EVENT)
|
||||
{
|
||||
switch(event.MouseInput.Event)
|
||||
@ -149,7 +149,7 @@ public:
|
||||
}
|
||||
value = true;
|
||||
}
|
||||
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
|
||||
@ -9,6 +9,7 @@ using namespace scene;
|
||||
using namespace video;
|
||||
using namespace io;
|
||||
using namespace gui;
|
||||
|
||||
|
||||
class PseuGUI;
|
||||
|
||||
@ -82,4 +83,4 @@ private:
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@ -208,7 +208,7 @@ void SceneWorld::InitTerrain(void)
|
||||
|
||||
mapsize = 8 * 16 * 3; // 9-1 height floats in 16 chunks per tile per axis in 3 MapTiles
|
||||
tilesize = UNITSIZE;
|
||||
meshsize = CHUNKSIZE*3;
|
||||
meshsize = (s32)CHUNKSIZE*3;
|
||||
vector3df terrainPos(0.0f, 0.0f, 0.0f); // TODO: use PseuWoW's world coords here?
|
||||
|
||||
camera->setPosition(core::vector3df(mapsize*tilesize/2, 0, mapsize*tilesize/2) + terrainPos);
|
||||
@ -300,16 +300,16 @@ void SceneWorld::UpdateTerrain(void)
|
||||
highest = max(highest,curheight);
|
||||
lowest = min(lowest,curheight);
|
||||
}
|
||||
f32 heightdiff = highest - lowest;
|
||||
// f32 heightdiff = highest - lowest;
|
||||
|
||||
// randomize terrain color depending on height
|
||||
for(s32 j=0; j<terrain->getSize().Height+1; j++)
|
||||
for(s32 i=0; i<terrain->getSize().Width+1; i++)
|
||||
{
|
||||
curheight = terrain->getHeight(i,j);
|
||||
u32 g = (curheight / highest * 120) + 125;
|
||||
u32 r = (curheight / highest * 120) + 60;
|
||||
u32 b = (curheight / highest * 120) + 60;
|
||||
u32 g = (u32)(curheight / highest * 120) + 125;
|
||||
u32 r = (u32)(curheight / highest * 120) + 60;
|
||||
u32 b = (u32)(curheight / highest * 120) + 60;
|
||||
|
||||
terrain->setColor(i,j, video::SColor(255,r,g,b));
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,10 +1,10 @@
|
||||
#ifndef _HELPERDEFS_H
|
||||
#define _HELPERDEFS_H
|
||||
|
||||
#define GUID_HIPART(x) (*(((uint32*)&(x))+1))
|
||||
#define GUID_LOPART(x) (*((uint32*)&(x)))
|
||||
#define GUID_HIPART(x) (*(((uint32*)&(x))+1))
|
||||
#define GUID_LOPART(x) (*((uint32*)&(x)))
|
||||
#define MAKE_GUID(l, h) uint64( uint32(l) | ( uint64(h) << 32 ) )
|
||||
|
||||
#define CHAT_ITEM_BEGIN_STRING "|Hitem:"
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@ -50,4 +50,4 @@ private:
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@ -43,4 +43,4 @@ private:
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@ -34,4 +34,4 @@ private:
|
||||
uint8 _perm;
|
||||
};
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@ -11,4 +11,4 @@ Bag::Bag() : Item()
|
||||
void Bag::Create(uint64 guid)
|
||||
{
|
||||
Item::Create(guid);
|
||||
}
|
||||
}
|
||||
|
||||
@ -234,7 +234,7 @@ void ItemProtoCache_InsertDataToSession(WorldSession *session)
|
||||
buf >> proto->Delay;
|
||||
buf >> proto->Ammo_type;
|
||||
|
||||
buf >> (float)proto->RangedModRange;
|
||||
buf >> proto->RangedModRange;
|
||||
for(int s = 0; s < 5; s++)
|
||||
{
|
||||
buf >> proto->Spells[s].SpellId;
|
||||
@ -309,7 +309,7 @@ void ItemProtoCache_WriteDataToCache(WorldSession *session)
|
||||
}
|
||||
|
||||
uint32 total = session->objmgr.GetItemProtoCount();
|
||||
fh.write((char*)&(uint32)ITEMPROTOTYPES_CACHE_VERSION,4);
|
||||
fh.write((char*)&ITEMPROTOTYPES_CACHE_VERSION,4);
|
||||
fh.write((char*)&total,4);
|
||||
|
||||
uint32 counter=0;
|
||||
@ -497,7 +497,7 @@ void CreatureTemplateCache_WriteDataToCache(WorldSession *session)
|
||||
return;
|
||||
}
|
||||
uint32 total = session->objmgr.GetCreatureTemplateCount();
|
||||
fh.write((char*)&(uint32)CREATURETEMPLATES_CACHE_VERSION,4);
|
||||
fh.write((char*)&CREATURETEMPLATES_CACHE_VERSION,4);
|
||||
fh.write((char*)&total,4);
|
||||
uint32 counter=0;
|
||||
ByteBuffer buf;
|
||||
|
||||
@ -29,4 +29,4 @@ private:
|
||||
WorldSession *_worldSession;
|
||||
};
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@ -10,4 +10,4 @@ Corpse::Corpse()
|
||||
void Corpse::Create(uint64 guid)
|
||||
{
|
||||
Object::Create(guid);
|
||||
}
|
||||
}
|
||||
|
||||
@ -11,4 +11,4 @@ DynamicObject::DynamicObject()
|
||||
void DynamicObject::Create(uint64 guid)
|
||||
{
|
||||
Object::Create(guid);
|
||||
}
|
||||
}
|
||||
|
||||
@ -11,4 +11,4 @@ GameObject::GameObject()
|
||||
void GameObject::Create(uint64 guid)
|
||||
{
|
||||
Object::Create(guid);
|
||||
}
|
||||
}
|
||||
|
||||
@ -60,7 +60,7 @@ void WorldSession::_HandleItemQuerySingleResponseOpcode(WorldPacket& recvPacket)
|
||||
recvPacket >> proto->Delay;
|
||||
recvPacket >> proto->Ammo_type;
|
||||
|
||||
recvPacket >> (float)proto->RangedModRange;
|
||||
recvPacket >> proto->RangedModRange;
|
||||
for(int s = 0; s < 5; s++)
|
||||
{
|
||||
recvPacket >> proto->Spells[s].SpellId;
|
||||
|
||||
@ -40,4 +40,4 @@ private:
|
||||
bool _mapsLoaded;
|
||||
};
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@ -65,4 +65,4 @@ private:
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@ -71,6 +71,4 @@ uint16 MyCharacter::GetSpellSlot(uint32 spellid)
|
||||
if(i->id == spellid)
|
||||
return i->slot;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -202,4 +202,4 @@ private:
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@ -81,4 +81,4 @@ protected:
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@ -71,3 +71,4 @@ float World::GetPosZ(float x, float y)
|
||||
logdebug("WORLD: GetPosZ() called, but no MapMgr exists (do you really use maps?)");
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -21,4 +21,4 @@ private:
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@ -45,4 +45,4 @@ private:
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@ -19,15 +19,15 @@ void _HookSignals(void)
|
||||
#endif
|
||||
}
|
||||
|
||||
void _UnhookSignals(void)
|
||||
{
|
||||
signal(SIGINT, 0);
|
||||
signal(SIGQUIT, 0);
|
||||
signal(SIGTERM, 0);
|
||||
signal(SIGABRT, 0);
|
||||
#ifdef _WIN32
|
||||
signal(SIGBREAK, 0);
|
||||
#endif
|
||||
void _UnhookSignals(void)
|
||||
{
|
||||
signal(SIGINT, 0);
|
||||
signal(SIGQUIT, 0);
|
||||
signal(SIGTERM, 0);
|
||||
signal(SIGABRT, 0);
|
||||
#ifdef _WIN32
|
||||
signal(SIGBREAK, 0);
|
||||
#endif
|
||||
}
|
||||
|
||||
void _OnSignal(int s)
|
||||
@ -112,4 +112,4 @@ int main(int argc, char* argv[]) {
|
||||
raise(SIGABRT);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -9,4 +9,4 @@ void abortproc(void);
|
||||
void _new_handler(void);
|
||||
int main(int,char**);
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@ -209,4 +209,4 @@ struct ADTMapChunk
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@ -28,12 +28,12 @@ class ByteBufferException
|
||||
{
|
||||
public:
|
||||
ByteBufferException(const char *act, uint32 rp, uint32 wp, uint32 rs, uint32 cs)
|
||||
{
|
||||
action = act;
|
||||
rpos = rp;
|
||||
wpos = wp;
|
||||
readsize = rs;
|
||||
cursize = cs;
|
||||
{
|
||||
action = act;
|
||||
rpos = rp;
|
||||
wpos = wp;
|
||||
readsize = rs;
|
||||
cursize = cs;
|
||||
}
|
||||
uint32 rpos, wpos, readsize, cursize;
|
||||
const char *action;
|
||||
@ -239,7 +239,7 @@ class ByteBuffer
|
||||
|
||||
void append(const std::string& str)
|
||||
{
|
||||
append((uint8 *)str.c_str(),str.size() + 1);
|
||||
append((const uint8 *)str.c_str(),str.size() + 1);
|
||||
}
|
||||
void append(const char *src, size_t cnt)
|
||||
{
|
||||
|
||||
@ -16,4 +16,4 @@
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@ -49,14 +49,14 @@
|
||||
// Compiler defines
|
||||
////////////////////////////////////
|
||||
|
||||
#if COMPILER == COMPILER_MICROSOFT
|
||||
#define I64FMT "%016I64X"
|
||||
#define I64FMTD "%I64u"
|
||||
#define SI64FMTD "%I64d"
|
||||
#define snprintf _snprintf
|
||||
#define atoll __atoi64
|
||||
#define vsnprintf _vsnprintf
|
||||
#define strdup _strdup
|
||||
#if COMPILER == COMPILER_MICROSOFT
|
||||
#define I64FMT "%016I64X"
|
||||
#define I64FMTD "%I64u"
|
||||
#define SI64FMTD "%I64d"
|
||||
#define snprintf _snprintf
|
||||
#define atoll __atoi64
|
||||
#define vsnprintf _vsnprintf
|
||||
#define strdup _strdup
|
||||
typedef __int64 int64;
|
||||
typedef long int32;
|
||||
typedef short int16;
|
||||
@ -64,14 +64,14 @@
|
||||
typedef unsigned __int64 uint64;
|
||||
typedef unsigned long uint32;
|
||||
typedef unsigned short uint16;
|
||||
typedef unsigned char uint8;
|
||||
#else
|
||||
#define stricmp strcasecmp
|
||||
#define strnicmp strncasecmp
|
||||
#define I64FMT "%016llX"
|
||||
#define I64FMTD "%llu"
|
||||
#define SI64FMTD "%lld"
|
||||
# if PLATFORM == PLATFORM_UNIX
|
||||
typedef unsigned char uint8;
|
||||
#else
|
||||
#define stricmp strcasecmp
|
||||
#define strnicmp strncasecmp
|
||||
#define I64FMT "%016llX"
|
||||
#define I64FMTD "%llu"
|
||||
#define SI64FMTD "%lld"
|
||||
# if PLATFORM == PLATFORM_UNIX
|
||||
typedef __int64_t int64;
|
||||
typedef __int32_t int32;
|
||||
typedef __int16_t int16;
|
||||
@ -81,8 +81,8 @@
|
||||
typedef __uint16_t uint16;
|
||||
typedef __uint8_t uint8;
|
||||
typedef uint16 WORD;
|
||||
typedef uint32 DWORD;
|
||||
# else
|
||||
typedef uint32 DWORD;
|
||||
# else
|
||||
typedef long long int64;
|
||||
typedef long int32;
|
||||
typedef short int16;
|
||||
@ -92,14 +92,22 @@
|
||||
typedef unsigned short uint16;
|
||||
typedef unsigned char uint8;
|
||||
typedef unsigned short WORD;
|
||||
typedef uint32 DWORD;
|
||||
# endif
|
||||
typedef uint32 DWORD;
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef SIGQUIT
|
||||
#define SIGQUIT 3
|
||||
#endif
|
||||
|
||||
#ifdef min
|
||||
#undef min
|
||||
#endif
|
||||
|
||||
#ifdef max
|
||||
#undef max
|
||||
#endif
|
||||
|
||||
#if COMPILER == COMPILER_MICROSOFT
|
||||
# if _MSC_VER >= 1500
|
||||
# define COMPILER_NAME "VC90"
|
||||
|
||||
@ -9,8 +9,8 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
#include <string.h>
|
||||
#include <string>
|
||||
#include <sstream>
|
||||
#include <list>
|
||||
#include <deque>
|
||||
|
||||
@ -33,8 +33,8 @@ void log(const char *str, ...)
|
||||
return;
|
||||
va_list ap;
|
||||
_log_setcolor(true,GREY);
|
||||
va_start(ap, str);
|
||||
vprintf( str, ap );
|
||||
va_start(ap, str);
|
||||
vprintf( str, ap );
|
||||
va_end(ap);
|
||||
_log_resetcolor(true);
|
||||
|
||||
@ -43,12 +43,12 @@ void log(const char *str, ...)
|
||||
if(logfile)
|
||||
{
|
||||
fprintf(logfile, getDateString().c_str());
|
||||
va_start(ap, str);
|
||||
vfprintf(logfile, str, ap);
|
||||
fprintf(logfile, "\n" );
|
||||
va_end(ap);
|
||||
fflush(logfile);
|
||||
}
|
||||
va_start(ap, str);
|
||||
vfprintf(logfile, str, ap);
|
||||
fprintf(logfile, "\n" );
|
||||
va_end(ap);
|
||||
fflush(logfile);
|
||||
}
|
||||
fflush(stdout);
|
||||
}
|
||||
|
||||
@ -58,8 +58,8 @@ void logdetail(const char *str, ...)
|
||||
return;
|
||||
va_list ap;
|
||||
_log_setcolor(true,LCYAN);
|
||||
va_start(ap, str);
|
||||
vprintf( str, ap );
|
||||
va_start(ap, str);
|
||||
vprintf( str, ap );
|
||||
va_end(ap);
|
||||
_log_resetcolor(true);
|
||||
|
||||
@ -68,12 +68,12 @@ void logdetail(const char *str, ...)
|
||||
if(logfile)
|
||||
{
|
||||
fprintf(logfile, getDateString().c_str());
|
||||
va_start(ap, str);
|
||||
vfprintf(logfile, str, ap);
|
||||
fprintf(logfile, "\n" );
|
||||
va_end(ap);
|
||||
fflush(logfile);
|
||||
}
|
||||
va_start(ap, str);
|
||||
vfprintf(logfile, str, ap);
|
||||
fprintf(logfile, "\n" );
|
||||
va_end(ap);
|
||||
fflush(logfile);
|
||||
}
|
||||
fflush(stdout);
|
||||
}
|
||||
|
||||
@ -83,8 +83,8 @@ void logdebug(const char *str, ...)
|
||||
return;
|
||||
va_list ap;
|
||||
_log_setcolor(true,LBLUE);
|
||||
va_start(ap, str);
|
||||
vprintf( str, ap );
|
||||
va_start(ap, str);
|
||||
vprintf( str, ap );
|
||||
va_end(ap);
|
||||
_log_resetcolor(true);
|
||||
|
||||
@ -94,12 +94,12 @@ void logdebug(const char *str, ...)
|
||||
if(logfile)
|
||||
{
|
||||
fprintf(logfile, getDateString().c_str());
|
||||
va_start(ap, str);
|
||||
vfprintf(logfile, str, ap);
|
||||
fprintf(logfile, "\n" );
|
||||
va_end(ap);
|
||||
fflush(logfile);
|
||||
}
|
||||
va_start(ap, str);
|
||||
vfprintf(logfile, str, ap);
|
||||
fprintf(logfile, "\n" );
|
||||
va_end(ap);
|
||||
fflush(logfile);
|
||||
}
|
||||
fflush(stdout);
|
||||
}
|
||||
|
||||
@ -109,8 +109,8 @@ void logdev(const char *str, ...)
|
||||
return;
|
||||
va_list ap;
|
||||
_log_setcolor(true,LMAGENTA);
|
||||
va_start(ap, str);
|
||||
vprintf( str, ap );
|
||||
va_start(ap, str);
|
||||
vprintf( str, ap );
|
||||
va_end(ap);
|
||||
_log_resetcolor(true);
|
||||
|
||||
@ -120,12 +120,12 @@ void logdev(const char *str, ...)
|
||||
if(logfile)
|
||||
{
|
||||
fprintf(logfile, getDateString().c_str());
|
||||
va_start(ap, str);
|
||||
vfprintf(logfile, str, ap);
|
||||
fprintf(logfile, "\n" );
|
||||
va_end(ap);
|
||||
fflush(logfile);
|
||||
}
|
||||
va_start(ap, str);
|
||||
vfprintf(logfile, str, ap);
|
||||
fprintf(logfile, "\n" );
|
||||
va_end(ap);
|
||||
fflush(logfile);
|
||||
}
|
||||
fflush(stdout);
|
||||
}
|
||||
|
||||
@ -133,8 +133,8 @@ void logerror(const char *str, ...)
|
||||
{
|
||||
va_list ap;
|
||||
_log_setcolor(false,LRED);
|
||||
va_start(ap, str);
|
||||
vfprintf( stderr, str, ap );
|
||||
va_start(ap, str);
|
||||
vfprintf( stderr, str, ap );
|
||||
va_end(ap);
|
||||
_log_resetcolor(false);
|
||||
|
||||
@ -143,12 +143,12 @@ void logerror(const char *str, ...)
|
||||
if(logfile)
|
||||
{
|
||||
fprintf(logfile, getDateString().c_str());
|
||||
va_start(ap, str);
|
||||
vfprintf(logfile, str, ap);
|
||||
fprintf(logfile, "\n" );
|
||||
va_end(ap);
|
||||
fflush(logfile);
|
||||
}
|
||||
va_start(ap, str);
|
||||
vfprintf(logfile, str, ap);
|
||||
fprintf(logfile, "\n" );
|
||||
va_end(ap);
|
||||
fflush(logfile);
|
||||
}
|
||||
fflush(stdout);
|
||||
}
|
||||
|
||||
@ -156,8 +156,8 @@ void logcritical(const char *str, ...)
|
||||
{
|
||||
va_list ap;
|
||||
_log_setcolor(false,RED);
|
||||
va_start(ap, str);
|
||||
vfprintf( stderr, str, ap );
|
||||
va_start(ap, str);
|
||||
vfprintf( stderr, str, ap );
|
||||
va_end(ap);
|
||||
_log_resetcolor(false);
|
||||
|
||||
@ -166,12 +166,12 @@ void logcritical(const char *str, ...)
|
||||
if(logfile)
|
||||
{
|
||||
fprintf(logfile, getDateString().c_str());
|
||||
va_start(ap, str);
|
||||
vfprintf(logfile, str, ap);
|
||||
fprintf(logfile, "\n" );
|
||||
va_end(ap);
|
||||
fflush(logfile);
|
||||
}
|
||||
va_start(ap, str);
|
||||
vfprintf(logfile, str, ap);
|
||||
fprintf(logfile, "\n" );
|
||||
va_end(ap);
|
||||
fflush(logfile);
|
||||
}
|
||||
fflush(stdout);
|
||||
}
|
||||
|
||||
@ -181,8 +181,8 @@ void logcustom(uint8 lvl, Color color, const char *str, ...)
|
||||
return;
|
||||
va_list ap;
|
||||
_log_setcolor(true,color);
|
||||
va_start(ap, str);
|
||||
vprintf( str, ap );
|
||||
va_start(ap, str);
|
||||
vprintf( str, ap );
|
||||
va_end(ap);
|
||||
_log_resetcolor(true);
|
||||
|
||||
@ -191,12 +191,12 @@ void logcustom(uint8 lvl, Color color, const char *str, ...)
|
||||
if(logfile)
|
||||
{
|
||||
fprintf(logfile, getDateString().c_str());
|
||||
va_start(ap, str);
|
||||
vfprintf(logfile, str, ap);
|
||||
fprintf(logfile, "\n" );
|
||||
va_end(ap);
|
||||
fflush(logfile);
|
||||
}
|
||||
va_start(ap, str);
|
||||
vfprintf(logfile, str, ap);
|
||||
fprintf(logfile, "\n" );
|
||||
va_end(ap);
|
||||
fflush(logfile);
|
||||
}
|
||||
fflush(stdout);
|
||||
}
|
||||
|
||||
@ -205,89 +205,88 @@ void log_close()
|
||||
fclose(logfile);
|
||||
}
|
||||
|
||||
void _log_setcolor(bool stdout_stream, Color color)
|
||||
{
|
||||
#if PLATFORM == PLATFORM_WIN32
|
||||
|
||||
static WORD WinColorFG[Color_count] =
|
||||
{
|
||||
0, // BLACK
|
||||
FOREGROUND_RED, // RED
|
||||
FOREGROUND_GREEN, // GREEN
|
||||
FOREGROUND_RED | FOREGROUND_GREEN, // BROWN
|
||||
FOREGROUND_BLUE, // BLUE
|
||||
FOREGROUND_RED | FOREGROUND_BLUE,// MAGENTA
|
||||
FOREGROUND_GREEN | FOREGROUND_BLUE, // CYAN
|
||||
FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE,// WHITE
|
||||
// YELLOW
|
||||
FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY,
|
||||
// RED_BOLD
|
||||
FOREGROUND_RED | FOREGROUND_INTENSITY,
|
||||
// GREEN_BOLD
|
||||
FOREGROUND_GREEN | FOREGROUND_INTENSITY,
|
||||
FOREGROUND_BLUE | FOREGROUND_INTENSITY, // BLUE_BOLD
|
||||
// MAGENTA_BOLD
|
||||
FOREGROUND_RED | FOREGROUND_BLUE | FOREGROUND_INTENSITY,
|
||||
// CYAN_BOLD
|
||||
FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY,
|
||||
// WHITE_BOLD
|
||||
FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY
|
||||
};
|
||||
|
||||
HANDLE hConsole = GetStdHandle(stdout_stream ? STD_OUTPUT_HANDLE : STD_ERROR_HANDLE );
|
||||
SetConsoleTextAttribute(hConsole, WinColorFG[color]);
|
||||
#else
|
||||
|
||||
enum ANSITextAttr
|
||||
{
|
||||
TA_NORMAL=0,
|
||||
TA_BOLD=1,
|
||||
TA_BLINK=5,
|
||||
TA_REVERSE=7
|
||||
};
|
||||
|
||||
enum ANSIFgTextAttr
|
||||
{
|
||||
FG_BLACK=30, FG_RED, FG_GREEN, FG_BROWN, FG_BLUE,
|
||||
FG_MAGENTA, FG_CYAN, FG_WHITE, FG_YELLOW
|
||||
};
|
||||
|
||||
enum ANSIBgTextAttr
|
||||
{
|
||||
BG_BLACK=40, BG_RED, BG_GREEN, BG_BROWN, BG_BLUE,
|
||||
BG_MAGENTA, BG_CYAN, BG_WHITE
|
||||
};
|
||||
|
||||
static uint8 UnixColorFG[Color_count] =
|
||||
{
|
||||
FG_BLACK, // BLACK
|
||||
FG_RED, // RED
|
||||
FG_GREEN, // GREEN
|
||||
FG_BROWN, // BROWN
|
||||
FG_BLUE, // BLUE
|
||||
FG_MAGENTA, // MAGENTA
|
||||
FG_CYAN, // CYAN
|
||||
FG_WHITE, // WHITE
|
||||
FG_YELLOW, // YELLOW
|
||||
FG_RED, // LRED
|
||||
FG_GREEN, // LGREEN
|
||||
FG_BLUE, // LBLUE
|
||||
FG_MAGENTA, // LMAGENTA
|
||||
FG_CYAN, // LCYAN
|
||||
FG_WHITE // LWHITE
|
||||
};
|
||||
|
||||
fprintf((stdout_stream? stdout : stderr), "\x1b[%d%sm",UnixColorFG[color],(color>=YELLOW&&color<Color_count ?";1":""));
|
||||
#endif
|
||||
}
|
||||
|
||||
void _log_resetcolor(bool stdout_stream)
|
||||
{
|
||||
#if PLATFORM == PLATFORM_WIN32
|
||||
HANDLE hConsole = GetStdHandle(stdout_stream ? STD_OUTPUT_HANDLE : STD_ERROR_HANDLE );
|
||||
SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_RED );
|
||||
#else
|
||||
fprintf(( stdout_stream ? stdout : stderr ), "\x1b[0m");
|
||||
#endif
|
||||
void _log_setcolor(bool stdout_stream, Color color)
|
||||
{
|
||||
#if PLATFORM == PLATFORM_WIN32
|
||||
|
||||
static WORD WinColorFG[Color_count] =
|
||||
{
|
||||
0, // BLACK
|
||||
FOREGROUND_RED, // RED
|
||||
FOREGROUND_GREEN, // GREEN
|
||||
FOREGROUND_RED | FOREGROUND_GREEN, // BROWN
|
||||
FOREGROUND_BLUE, // BLUE
|
||||
FOREGROUND_RED | FOREGROUND_BLUE,// MAGENTA
|
||||
FOREGROUND_GREEN | FOREGROUND_BLUE, // CYAN
|
||||
FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE,// WHITE
|
||||
// YELLOW
|
||||
FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY,
|
||||
// RED_BOLD
|
||||
FOREGROUND_RED | FOREGROUND_INTENSITY,
|
||||
// GREEN_BOLD
|
||||
FOREGROUND_GREEN | FOREGROUND_INTENSITY,
|
||||
FOREGROUND_BLUE | FOREGROUND_INTENSITY, // BLUE_BOLD
|
||||
// MAGENTA_BOLD
|
||||
FOREGROUND_RED | FOREGROUND_BLUE | FOREGROUND_INTENSITY,
|
||||
// CYAN_BOLD
|
||||
FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY,
|
||||
// WHITE_BOLD
|
||||
FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY
|
||||
};
|
||||
|
||||
HANDLE hConsole = GetStdHandle(stdout_stream ? STD_OUTPUT_HANDLE : STD_ERROR_HANDLE );
|
||||
SetConsoleTextAttribute(hConsole, WinColorFG[color]);
|
||||
#else
|
||||
|
||||
enum ANSITextAttr
|
||||
{
|
||||
TA_NORMAL=0,
|
||||
TA_BOLD=1,
|
||||
TA_BLINK=5,
|
||||
TA_REVERSE=7
|
||||
};
|
||||
|
||||
enum ANSIFgTextAttr
|
||||
{
|
||||
FG_BLACK=30, FG_RED, FG_GREEN, FG_BROWN, FG_BLUE,
|
||||
FG_MAGENTA, FG_CYAN, FG_WHITE, FG_YELLOW
|
||||
};
|
||||
|
||||
enum ANSIBgTextAttr
|
||||
{
|
||||
BG_BLACK=40, BG_RED, BG_GREEN, BG_BROWN, BG_BLUE,
|
||||
BG_MAGENTA, BG_CYAN, BG_WHITE
|
||||
};
|
||||
|
||||
static uint8 UnixColorFG[Color_count] =
|
||||
{
|
||||
FG_BLACK, // BLACK
|
||||
FG_RED, // RED
|
||||
FG_GREEN, // GREEN
|
||||
FG_BROWN, // BROWN
|
||||
FG_BLUE, // BLUE
|
||||
FG_MAGENTA, // MAGENTA
|
||||
FG_CYAN, // CYAN
|
||||
FG_WHITE, // WHITE
|
||||
FG_YELLOW, // YELLOW
|
||||
FG_RED, // LRED
|
||||
FG_GREEN, // LGREEN
|
||||
FG_BLUE, // LBLUE
|
||||
FG_MAGENTA, // LMAGENTA
|
||||
FG_CYAN, // LCYAN
|
||||
FG_WHITE // LWHITE
|
||||
};
|
||||
|
||||
fprintf((stdout_stream? stdout : stderr), "\x1b[%d%sm",UnixColorFG[color],(color>=YELLOW&&color<Color_count ?";1":""));
|
||||
#endif
|
||||
}
|
||||
|
||||
void _log_resetcolor(bool stdout_stream)
|
||||
{
|
||||
#if PLATFORM == PLATFORM_WIN32
|
||||
HANDLE hConsole = GetStdHandle(stdout_stream ? STD_OUTPUT_HANDLE : STD_ERROR_HANDLE );
|
||||
SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_RED );
|
||||
#else
|
||||
fprintf(( stdout_stream ? stdout : stderr ), "\x1b[0m");
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -1,23 +1,23 @@
|
||||
#ifndef _LOG_H
|
||||
#define _LOG_H
|
||||
|
||||
enum Color
|
||||
{
|
||||
BLACK,
|
||||
RED,
|
||||
GREEN,
|
||||
BROWN,
|
||||
BLUE,
|
||||
MAGENTA,
|
||||
CYAN,
|
||||
GREY,
|
||||
YELLOW,
|
||||
LRED,
|
||||
LGREEN,
|
||||
LBLUE,
|
||||
LMAGENTA,
|
||||
LCYAN,
|
||||
WHITE
|
||||
enum Color
|
||||
{
|
||||
BLACK,
|
||||
RED,
|
||||
GREEN,
|
||||
BROWN,
|
||||
BLUE,
|
||||
MAGENTA,
|
||||
CYAN,
|
||||
GREY,
|
||||
YELLOW,
|
||||
LRED,
|
||||
LGREEN,
|
||||
LBLUE,
|
||||
LMAGENTA,
|
||||
LCYAN,
|
||||
WHITE
|
||||
};
|
||||
|
||||
void log_prepare(char *fn, char *mode);
|
||||
@ -37,4 +37,3 @@ void _log_resetcolor(bool);
|
||||
const int Color_count = int(WHITE)+1;
|
||||
|
||||
#endif
|
||||
|
||||
@ -11,7 +11,8 @@
|
||||
# include <mmsystem.h>
|
||||
# include <time.h>
|
||||
#else
|
||||
# include <sys/dir.h>
|
||||
# include <sys/dir.h>
|
||||
# include <sys/stat.h>
|
||||
# if defined(__FreeBSD__) || defined(__APPLE_CC__)
|
||||
# include <time.h>
|
||||
# endif
|
||||
@ -25,9 +26,9 @@ void printchex(std::string in, bool spaces=true)
|
||||
len=in.length();
|
||||
printf("[");
|
||||
if(spaces)
|
||||
for(i=0;i<len;i++)printf("%x ",(unsigned char)in[i]);
|
||||
for(i=0;i<len;i++)printf("%x ",(unsigned char)in[i]);
|
||||
else
|
||||
for(i=0;i<len;i++)printf("%x",(unsigned char)in[i]);
|
||||
for(i=0;i<len;i++)printf("%x",(unsigned char)in[i]);
|
||||
printf("]\n");
|
||||
}
|
||||
|
||||
@ -36,21 +37,21 @@ void printchex(char *in, uint32 len, bool spaces=true)
|
||||
unsigned int i;
|
||||
printf("[");
|
||||
if(spaces)
|
||||
for(i=0;i<len;i++)printf("%x ",(unsigned char)in[i]);
|
||||
for(i=0;i<len;i++)printf("%x ",(unsigned char)in[i]);
|
||||
else
|
||||
for(i=0;i<len;i++)printf("%x",(unsigned char)in[i]);
|
||||
for(i=0;i<len;i++)printf("%x",(unsigned char)in[i]);
|
||||
printf("]\n");
|
||||
}
|
||||
|
||||
std::string stringToLower(std::string s)
|
||||
{
|
||||
std::transform(s.begin(), s.end(), s.begin(), std::tolower);
|
||||
std::transform(s.begin(), s.end(), s.begin(), tolower);
|
||||
return s;
|
||||
}
|
||||
|
||||
std::string stringToUpper(std::string s)
|
||||
{
|
||||
std::transform(s.begin(), s.end(), s.begin(), std::toupper);
|
||||
std::transform(s.begin(), s.end(), s.begin(), toupper);
|
||||
return s;
|
||||
}
|
||||
|
||||
@ -171,7 +172,7 @@ bool CreateDir(const char *dir)
|
||||
# else
|
||||
// NOT tested for Linux!! whats the return value on success?
|
||||
// TODO: fix me!
|
||||
result = mkdir(dir);
|
||||
result = mkdir(dir,S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH);
|
||||
#endif
|
||||
return result;
|
||||
}
|
||||
|
||||
@ -23,4 +23,4 @@ uint32 GetFileSize(const char*);
|
||||
void _FixFileName(std::string&);
|
||||
std::string _PathToFileName(std::string);
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user