diff --git a/src/Client/PseuWoW.cpp b/src/Client/PseuWoW.cpp index 11e5567..cd8b845 100644 --- a/src/Client/PseuWoW.cpp +++ b/src/Client/PseuWoW.cpp @@ -73,6 +73,8 @@ PseuInstance::~PseuInstance() bool PseuInstance::Init(void) { log_prepare("logfile.txt",this); + log("\n"); + log("--- Initializing Instance ---"); if(_confdir.empty()) _confdir="./conf/"; @@ -91,10 +93,8 @@ bool PseuInstance::Init(void) { _scp->SetParentMethod((void*)this); _conf=new PseuInstanceConf(); - logdebug("Setting up DefScripts path '%s'",_scpdir.c_str()); _scp->SetPath(_scpdir); - logdebug("Setting up predefined DefScript macros..."); _scp->variables.Set("@version_short",_ver_short); _scp->variables.Set("@version",_ver); @@ -252,6 +252,7 @@ void PseuInstanceConf::ApplyFromVarSet(VarSet &v) allowgamecmd=(bool)atoi(v.Get("ALLOWGAMECMD").c_str()); enablechatai=(bool)atoi(v.Get("ENABLECHATAI").c_str()); notifyping=(bool)atoi(v.Get("NOTIFYPING").c_str()); + showmyopcodes=(bool)atoi(v.Get("SHOWMYOPCODES").c_str()); // clientversion is a bit more complicated to add { diff --git a/src/Client/PseuWoW.h b/src/Client/PseuWoW.h index 7c45ff0..deb4f8e 100644 --- a/src/Client/PseuWoW.h +++ b/src/Client/PseuWoW.h @@ -44,6 +44,7 @@ class PseuInstanceConf bool enablecli; bool enablechatai; bool notifyping; + bool showmyopcodes; }; diff --git a/src/Client/Realm/RealmSocket.cpp b/src/Client/Realm/RealmSocket.cpp index af3daef..a0fbfe6 100644 --- a/src/Client/Realm/RealmSocket.cpp +++ b/src/Client/Realm/RealmSocket.cpp @@ -162,7 +162,7 @@ void RealmSocket::_HandleRealmList(void) { realmAddr=realms[i].addr_port; } - log("Realm: %s (%s)",realms[i].name.c_str(),realms[i].addr_port.c_str()); + logcustom(0,LGREEN,"Realm: %s (%s)",realms[i].name.c_str(),realms[i].addr_port.c_str()); logdetail(" [chars:%d][population:%f][timezone:%d]",realms[i].chars_here,realms[i].population,realms[i].timezone); } diff --git a/src/Client/World/CMSGConstructor.cpp b/src/Client/World/CMSGConstructor.cpp index 4d4d857..a955d2b 100644 --- a/src/Client/World/CMSGConstructor.cpp +++ b/src/Client/World/CMSGConstructor.cpp @@ -51,7 +51,6 @@ void WorldSession::SendPing(uint32 ping){ packet << ping; packet.SetOpcode(CMSG_PING); SendWorldPacket(packet); - logdebug("Sent CMSG_PING, clock=%u",ping); } void WorldSession::SendEmote(uint32 id){ diff --git a/src/Client/World/Object.cpp b/src/Client/World/Object.cpp index 2306216..f2e9804 100644 --- a/src/Client/World/Object.cpp +++ b/src/Client/World/Object.cpp @@ -49,3 +49,11 @@ void WorldObject::SetPosition(float x, float y, float z, float o, uint16 _map) _m = _map; } +void WorldSession::_HandleDestroyObjectOpcode(WorldPacket& recvPacket) +{ + uint64 guid; + recvPacket >> guid; + logdebug("Destroy Object "I64FMT,guid); + objmgr.RemoveObject(guid); +} + diff --git a/src/Client/World/WorldSession.cpp b/src/Client/World/WorldSession.cpp index 6a280b3..bfcbc50 100644 --- a/src/Client/World/WorldSession.cpp +++ b/src/Client/World/WorldSession.cpp @@ -15,6 +15,7 @@ WorldSession::WorldSession(PseuInstance *in) { + logdebug("-> Starting WorldSession"); _instance = in; _valid=_authed=_logged=false; _socket=new WorldSocket(_sh,this); @@ -72,6 +73,8 @@ void WorldSession::AddToPktQueue(WorldPacket *pkt) void WorldSession::SendWorldPacket(WorldPacket &pkt) { + if(GetInstance()->GetConf()->showmyopcodes) + logcustom(0,BROWN,"<< Opcode %u [%s]", pkt.GetOpcode(), LookupName(pkt.GetOpcode(),g_worldOpcodeNames)); _socket->SendWorldPacket(pkt); } @@ -160,6 +163,7 @@ OpcodeHandler *WorldSession::_GetOpcodeHandlerTable() const {SMSG_COMPRESSED_UPDATE_OBJECT, &WorldSession::_HandleCompressedUpdateObjectOpcode}, {SMSG_CAST_RESULT, &WorldSession::_HandleCastResultOpcode}, {SMSG_ITEM_QUERY_SINGLE_RESPONSE, &WorldSession::_HandleItemQuerySingleResponseOpcode}, + {SMSG_DESTROY_OBJECT, &WorldSession::_HandleDestroyObjectOpcode}, // table termination { 0, NULL } @@ -316,7 +320,7 @@ void WorldSession::_HandleCharEnumOpcode(WorldPacket& recvPacket) int playerNum = 0; for(unsigned int i=0;i coords: map=%u zone=%u x=%f y=%f z=%f", plr[i]._mapId,plr[i]._zoneId,plr[i]._x,plr[i]._y,plr[i]._z); diff --git a/src/Client/World/WorldSession.h b/src/Client/World/WorldSession.h index c327699..b6c512a 100644 --- a/src/Client/World/WorldSession.h +++ b/src/Client/World/WorldSession.h @@ -89,6 +89,7 @@ private: void _HandleCompressedUpdateObjectOpcode(WorldPacket& recvPacket); void _HandleUpdateObjectOpcode(WorldPacket& recvPacket); void _HandleItemQuerySingleResponseOpcode(WorldPacket& recvPacket); + void _HandleDestroyObjectOpcode(WorldPacket& recvPacket); PseuInstance *_instance; WorldSocket *_socket; diff --git a/src/Client/main.cpp b/src/Client/main.cpp index 9f1f49f..0bc201d 100644 --- a/src/Client/main.cpp +++ b/src/Client/main.cpp @@ -71,7 +71,11 @@ void abortproc(void) int main(int argc, char* argv[]) { try { - printf("\n (C) 2006,2007 Snowstorm Software\n\n\n"); + _log_setcolor(true,LGREEN); + printf("+----------------------------------+\n" + "| (C) 2006,2007 Snowstorm Software |\n" + "+----------------------------------+\n"); + _log_resetcolor(true); _HookSignals();