Goatform

gameobject dissapearing

Nov 26th, 2014
218
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 4.92 KB | None | 0 0
  1. ---
  2. src/server/game/Handlers/MiscHandler.cpp      | 12 ++++++------
  3.  src/server/game/Miscellaneous/SharedDefines.h | 12 +++++++-----
  4.  src/server/game/Server/Protocol/Opcodes.cpp   |  2 +-
  5.  3 files changed, 14 insertions(+), 12 deletions(-)
  6.  
  7. diff --git a/src/server/game/Handlers/MiscHandler.cpp b/src/server/game/Handlers/MiscHandler.cpp
  8. index b4a9b14..48ef4d1 100644
  9. --- a/src/server/game/Handlers/MiscHandler.cpp
  10. +++ b/src/server/game/Handlers/MiscHandler.cpp
  11. @@ -2306,23 +2306,23 @@ void WorldSession::HandleObjectUpdateFailedOpcode(WorldPacket& recvPacket)
  12.  {
  13.      ObjectGuid guid;
  14.  
  15. -    guid[4] = recvPacket.ReadBit();
  16. -    guid[6] = recvPacket.ReadBit();
  17.      guid[3] = recvPacket.ReadBit();
  18. -    guid[0] = recvPacket.ReadBit();
  19. -    guid[7] = recvPacket.ReadBit();
  20.      guid[5] = recvPacket.ReadBit();
  21. +    guid[6] = recvPacket.ReadBit();
  22. +    guid[0] = recvPacket.ReadBit();
  23.      guid[1] = recvPacket.ReadBit();
  24.      guid[2] = recvPacket.ReadBit();
  25. +    guid[7] = recvPacket.ReadBit();
  26. +    guid[4] = recvPacket.ReadBit();
  27.  
  28. -    recvPacket.ReadByteSeq(guid[4]);
  29. -    recvPacket.ReadByteSeq(guid[7]);
  30.      recvPacket.ReadByteSeq(guid[0]);
  31.      recvPacket.ReadByteSeq(guid[6]);
  32.      recvPacket.ReadByteSeq(guid[5]);
  33. +    recvPacket.ReadByteSeq(guid[7]);
  34.      recvPacket.ReadByteSeq(guid[2]);
  35.      recvPacket.ReadByteSeq(guid[1]);
  36.      recvPacket.ReadByteSeq(guid[3]);
  37. +    recvPacket.ReadByteSeq(guid[4]);
  38.  
  39.      WorldObject* obj = ObjectAccessor::GetWorldObject(*GetPlayer(), guid);
  40.      TC_LOG_ERROR("network", "Object update failed for object " UI64FMTD " (%s) for player %s (%u)", uint64(guid), obj ? obj->GetName().c_str() : "object-not-found", GetPlayerName().c_str(), GetGuidLow());
  41. diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h
  42. index 0b1aca0..33ffcf3 100644
  43. --- a/src/server/game/Miscellaneous/SharedDefines.h
  44. +++ b/src/server/game/Miscellaneous/SharedDefines.h
  45. @@ -1768,13 +1768,15 @@ enum GameObjectFlags
  46.      GO_FLAG_DESTROYED       = 0x00000400
  47.  };
  48.  
  49. +// flags shifting needs to be verified / everything was swifted by 1
  50.  enum GameObjectDynamicLowFlags
  51.  {
  52. -    GO_DYNFLAG_LO_ACTIVATE          = 0x01,                 // enables interaction with GO
  53. -    GO_DYNFLAG_LO_ANIMATE           = 0x02,                 // possibly more distinct animation of GO
  54. -    GO_DYNFLAG_LO_NO_INTERACT       = 0x04,                 // appears to disable interaction (not fully verified)
  55. -    GO_DYNFLAG_LO_SPARKLE           = 0x08,                 // makes GO sparkle
  56. -    GO_DYNFLAG_LO_STOPPED           = 0x10                  // Transport is stopped
  57. +    GO_UNK_MOP                      = 0x01,                  // makes gameobject dissapear
  58. +    GO_DYNFLAG_LO_ACTIVATE          = 0x02,                 // enables interaction with GO
  59. +    GO_DYNFLAG_LO_ANIMATE           = 0x04,                 // possibly more distinct animation of GO
  60. +    GO_DYNFLAG_LO_NO_INTERACT       = 0x08,                 // appears to disable interaction (not fully verified)
  61. +    GO_DYNFLAG_LO_SPARKLE           = 0x10,                 // makes GO sparkle
  62. +    GO_DYNFLAG_LO_STOPPED           = 0x20                  // Transport is stopped
  63.  };
  64.  
  65.  enum GameObjectDestructibleState
  66. diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp
  67. index 13f9f07..d1df60f 100644
  68. --- a/src/server/game/Server/Protocol/Opcodes.cpp
  69. +++ b/src/server/game/Server/Protocol/Opcodes.cpp
  70. @@ -399,7 +399,7 @@ void OpcodeTable::InitializeClientTable()
  71.      DEFINE_OPCODE_HANDLER(CMSG_REALM_NAME_QUERY,                   0x1A16, STATUS_LOGGEDIN,  PROCESS_THREADSAFE,   &WorldSession::HandleRealmNameQueryOpcode         ); // 5.4.8 18414
  72.      DEFINE_OPCODE_HANDLER(CMSG_NEXT_CINEMATIC_CAMERA,              0x0000, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleNextCinematicCamera          );
  73.      DEFINE_OPCODE_HANDLER(CMSG_NPC_TEXT_QUERY,                     0x0287, STATUS_LOGGEDIN,  PROCESS_THREADUNSAFE, &WorldSession::HandleNpcTextQueryOpcode           ); // 5.4.8 18414
  74. -    DEFINE_OPCODE_HANDLER(CMSG_OBJECT_UPDATE_FAILED,               0x0000, STATUS_LOGGEDIN,  PROCESS_INPLACE,      &WorldSession::HandleObjectUpdateFailedOpcode     );
  75. +    DEFINE_OPCODE_HANDLER(CMSG_OBJECT_UPDATE_FAILED,               0x1061, STATUS_LOGGEDIN,  PROCESS_INPLACE,      &WorldSession::HandleObjectUpdateFailedOpcode     ); // 5.4.8 18414
  76.      DEFINE_OPCODE_HANDLER(CMSG_OBJECT_UPDATE_RESCUED,              0x0000, STATUS_UNHANDLED, PROCESS_INPLACE,      &WorldSession::Handle_NULL                        );
  77.      DEFINE_OPCODE_HANDLER(CMSG_OFFER_PETITION,                     0x15BE, STATUS_LOGGEDIN,  PROCESS_THREADUNSAFE, &WorldSession::HandleOfferPetitionOpcode          ); // 5.4.8 18414
  78.      DEFINE_OPCODE_HANDLER(CMSG_OPENING_CINEMATIC,                  0x0130, STATUS_LOGGEDIN,  PROCESS_THREADUNSAFE, &WorldSession::HandleOpeningCinematic             ); // 5.4.8 18414
  79. --
  80. 2.1.1
Advertisement
Add Comment
Please, Sign In to add comment