mini plz fix linker error, i couldnt get it work.

This commit is contained in:
False.Genesis 2007-02-08 19:37:03 +00:00
parent bd103935d0
commit cc8115baa3
3 changed files with 20 additions and 15 deletions

View File

@ -1,5 +1,4 @@
#include "common.h" #include "common.h"
#include "Object.h"
#include "Item.h" #include "Item.h"
#include "ObjMgr.h" #include "ObjMgr.h"
@ -25,7 +24,7 @@ Object *ObjMgr::GetObject(uint64 guid)
{ {
for(ObjList::iterator i = _obj.begin(); i!=_obj.end(); i++) for(ObjList::iterator i = _obj.begin(); i!=_obj.end(); i++)
if((*i)->GetGUID() == guid) if((*i)->GetGUID() == guid)
return *i; return (*i);
return NULL; return NULL;
} }

View File

@ -1,9 +1,10 @@
#include "common.h" #include "common.h"
#include "ZCompressor.h" #include "ZCompressor.h"
#include "WorldSession.h" #include "WorldSession.h"
#include "Object.h"
#include "UpdateData.h" #include "UpdateData.h"
#include "UpdateFields.h" #include "UpdateFields.h"
#include "Object.h"
#include "ObjMgr.h"
#include "UpdateMask.h" #include "UpdateMask.h"
@ -75,8 +76,12 @@ void WorldSession::_HandleUpdateObjectOpcode(WorldPacket& recvPacket)
case UPDATETYPE_MOVEMENT: case UPDATETYPE_MOVEMENT:
{ {
//this->_MovementUpdate(objtypeid, recvPacket); recvPacket >> uguid;
// TODO: Get objtypeid from objmgr Object *obj = objmgr.GetObject(uguid); // WTF is wrong with this?! plz correct!
if(obj)
this->_MovementUpdate(obj->GetTypeId(),uguid,recvPacket);
else
logerror("Got UpdateObject_Movement for unknown object "I64FMT,uguid);
} }
break; break;
@ -88,7 +93,7 @@ void WorldSession::_HandleUpdateObjectOpcode(WorldPacket& recvPacket)
recvPacket >> objtypeid >> flags; recvPacket >> objtypeid >> flags;
logdebug("Create Object type %u with guid "I64FMT,objtypeid,uguid); logdebug("Create Object type %u with guid "I64FMT,objtypeid,uguid);
this->_MovementUpdate(objtypeid, recvPacket); this->_MovementUpdate(objtypeid, uguid, recvPacket);
// (TODO) and then: Add object to objmgr // (TODO) and then: Add object to objmgr
} }
@ -105,23 +110,24 @@ void WorldSession::_HandleUpdateObjectOpcode(WorldPacket& recvPacket)
break; break;
default: default:
logerror("Got unk updatetype 0x%X",utype);
break; break;
} }
} }
} }
void WorldSession::_MovementUpdate(uint8 objtypeid, WorldPacket& recvPacket) void WorldSession::_MovementUpdate(uint8 objtypeid, uint64 uguid, WorldPacket& recvPacket)
{ {
if(objtypeid==TYPEID_PLAYER) if(objtypeid==TYPEID_PLAYER)
{ {
uint32 flags2, time; uint32 flags, flags2, time;
uint64 tguid; uint64 tguid,guid;
float nul; float nul;
float x, y, z, o; float x, y, z, o;
float tx, ty, tz, to; float tx, ty, tz, to;
float speedWalk, speedRun, speedSwimBack, speedSwim, speedWalkBack, speedTurn; float speedWalk, speedRun, speedSwimBack, speedSwim, speedWalkBack, speedTurn;
recvPacket >> flags2 >> time; recvPacket >> guid >> flags >> flags2 >> time;
if (flags2 & 0x02000000) // On a transport if (flags2 & 0x02000000) // On a transport
{ {
@ -137,10 +143,10 @@ void WorldSession::_MovementUpdate(uint8 objtypeid, WorldPacket& recvPacket)
if(flags2 & 0x2000) // Self update if(flags2 & 0x2000) // Self update
{ {
// What is this data used for? // What is this data used for?
recvPacket << nul; recvPacket >> nul;
recvPacket << nul; recvPacket >> nul;
recvPacket << nul; recvPacket >> nul;
recvPacket << nul; recvPacket >> nul;
} }
recvPacket >> speedWalk >> speedRun >> speedSwimBack >> speedSwim >> speedWalkBack >> speedTurn; recvPacket >> speedWalk >> speedRun >> speedSwimBack >> speedSwim >> speedWalkBack >> speedTurn;

View File

@ -91,7 +91,7 @@ private:
void _HandleItemQuerySingleResponseOpcode(WorldPacket& recvPacket); void _HandleItemQuerySingleResponseOpcode(WorldPacket& recvPacket);
void _HandleDestroyObjectOpcode(WorldPacket& recvPacket); void _HandleDestroyObjectOpcode(WorldPacket& recvPacket);
void _MovementUpdate(uint8 objtypeid, WorldPacket& recvPacket); // Helper for _HandleUpdateObjectOpcode void _MovementUpdate(uint8 objtypeid, uint64 guid, WorldPacket& recvPacket); // Helper for _HandleUpdateObjectOpcode
PseuInstance *_instance; PseuInstance *_instance;
WorldSocket *_socket; WorldSocket *_socket;