* 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) {
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
{

View File

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

View File

@ -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);
}

View File

@ -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){

View File

@ -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);
}

View File

@ -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<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]);
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);

View File

@ -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;

View File

@ -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();