* added opcode handler for SMSG_DESTROY_OBJECT

* added new conf option: ShowMyOpcodes=0/1 (show opcodes pseuwow sends)
* made the logo look better :)
This commit is contained in:
False.Genesis 2007-02-05 13:26:28 +00:00
parent 3d1a0e3d4d
commit 710de3d5e1
8 changed files with 24 additions and 6 deletions

View File

@ -73,6 +73,8 @@ PseuInstance::~PseuInstance()
bool PseuInstance::Init(void) { bool PseuInstance::Init(void) {
log_prepare("logfile.txt",this); log_prepare("logfile.txt",this);
log("\n");
log("--- Initializing Instance ---");
if(_confdir.empty()) if(_confdir.empty())
_confdir="./conf/"; _confdir="./conf/";
@ -91,10 +93,8 @@ bool PseuInstance::Init(void) {
_scp->SetParentMethod((void*)this); _scp->SetParentMethod((void*)this);
_conf=new PseuInstanceConf(); _conf=new PseuInstanceConf();
logdebug("Setting up DefScripts path '%s'",_scpdir.c_str());
_scp->SetPath(_scpdir); _scp->SetPath(_scpdir);
logdebug("Setting up predefined DefScript macros...");
_scp->variables.Set("@version_short",_ver_short); _scp->variables.Set("@version_short",_ver_short);
_scp->variables.Set("@version",_ver); _scp->variables.Set("@version",_ver);
@ -252,6 +252,7 @@ void PseuInstanceConf::ApplyFromVarSet(VarSet &v)
allowgamecmd=(bool)atoi(v.Get("ALLOWGAMECMD").c_str()); allowgamecmd=(bool)atoi(v.Get("ALLOWGAMECMD").c_str());
enablechatai=(bool)atoi(v.Get("ENABLECHATAI").c_str()); enablechatai=(bool)atoi(v.Get("ENABLECHATAI").c_str());
notifyping=(bool)atoi(v.Get("NOTIFYPING").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 // clientversion is a bit more complicated to add
{ {

View File

@ -44,6 +44,7 @@ class PseuInstanceConf
bool enablecli; bool enablecli;
bool enablechatai; bool enablechatai;
bool notifyping; bool notifyping;
bool showmyopcodes;
}; };

View File

@ -162,7 +162,7 @@ void RealmSocket::_HandleRealmList(void)
{ {
realmAddr=realms[i].addr_port; 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); logdetail(" [chars:%d][population:%f][timezone:%d]",realms[i].chars_here,realms[i].population,realms[i].timezone);
} }

View File

@ -51,7 +51,6 @@ void WorldSession::SendPing(uint32 ping){
packet << ping; packet << ping;
packet.SetOpcode(CMSG_PING); packet.SetOpcode(CMSG_PING);
SendWorldPacket(packet); SendWorldPacket(packet);
logdebug("Sent CMSG_PING, clock=%u",ping);
} }
void WorldSession::SendEmote(uint32 id){ void WorldSession::SendEmote(uint32 id){

View File

@ -49,3 +49,11 @@ void WorldObject::SetPosition(float x, float y, float z, float o, uint16 _map)
_m = _map; _m = _map;
} }
void WorldSession::_HandleDestroyObjectOpcode(WorldPacket& recvPacket)
{
uint64 guid;
recvPacket >> guid;
logdebug("Destroy Object "I64FMT,guid);
objmgr.RemoveObject(guid);
}

View File

@ -15,6 +15,7 @@
WorldSession::WorldSession(PseuInstance *in) WorldSession::WorldSession(PseuInstance *in)
{ {
logdebug("-> Starting WorldSession");
_instance = in; _instance = in;
_valid=_authed=_logged=false; _valid=_authed=_logged=false;
_socket=new WorldSocket(_sh,this); _socket=new WorldSocket(_sh,this);
@ -72,6 +73,8 @@ void WorldSession::AddToPktQueue(WorldPacket *pkt)
void WorldSession::SendWorldPacket(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); _socket->SendWorldPacket(pkt);
} }
@ -160,6 +163,7 @@ OpcodeHandler *WorldSession::_GetOpcodeHandlerTable() const
{SMSG_COMPRESSED_UPDATE_OBJECT, &WorldSession::_HandleCompressedUpdateObjectOpcode}, {SMSG_COMPRESSED_UPDATE_OBJECT, &WorldSession::_HandleCompressedUpdateObjectOpcode},
{SMSG_CAST_RESULT, &WorldSession::_HandleCastResultOpcode}, {SMSG_CAST_RESULT, &WorldSession::_HandleCastResultOpcode},
{SMSG_ITEM_QUERY_SINGLE_RESPONSE, &WorldSession::_HandleItemQuerySingleResponseOpcode}, {SMSG_ITEM_QUERY_SINGLE_RESPONSE, &WorldSession::_HandleItemQuerySingleResponseOpcode},
{SMSG_DESTROY_OBJECT, &WorldSession::_HandleDestroyObjectOpcode},
// table termination // table termination
{ 0, NULL } { 0, NULL }
@ -316,7 +320,7 @@ void WorldSession::_HandleCharEnumOpcode(WorldPacket& recvPacket)
int playerNum = 0; int playerNum = 0;
for(unsigned int i=0;i<num;i++){ for(unsigned int i=0;i<num;i++){
log("## %s (%u) [%s/%s]", logcustom(0,LGREEN,"## %s (%u) [%s/%s]",
plr[i]._name.c_str(),plr[i]._level,raceName[plr[i]._race],className[plr[i]._class]); plr[i]._name.c_str(),plr[i]._level,raceName[plr[i]._race],className[plr[i]._class]);
logdetail("-> coords: map=%u zone=%u x=%f y=%f z=%f", logdetail("-> 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); plr[i]._mapId,plr[i]._zoneId,plr[i]._x,plr[i]._y,plr[i]._z);

View File

@ -89,6 +89,7 @@ private:
void _HandleCompressedUpdateObjectOpcode(WorldPacket& recvPacket); void _HandleCompressedUpdateObjectOpcode(WorldPacket& recvPacket);
void _HandleUpdateObjectOpcode(WorldPacket& recvPacket); void _HandleUpdateObjectOpcode(WorldPacket& recvPacket);
void _HandleItemQuerySingleResponseOpcode(WorldPacket& recvPacket); void _HandleItemQuerySingleResponseOpcode(WorldPacket& recvPacket);
void _HandleDestroyObjectOpcode(WorldPacket& recvPacket);
PseuInstance *_instance; PseuInstance *_instance;
WorldSocket *_socket; WorldSocket *_socket;

View File

@ -71,7 +71,11 @@ void abortproc(void)
int main(int argc, char* argv[]) { int main(int argc, char* argv[]) {
try 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(); _HookSignals();