SMSG_GAMEOBJECT_QUERY_RESPONSE: better packer structure description

This commit is contained in:
Olion 2017-07-05 18:10:24 +03:00 committed by Antz
parent 6292d5a858
commit 4d9d0502ef
2 changed files with 12 additions and 11 deletions

View File

@ -149,19 +149,19 @@ void Opcodes::BuildOpcodeList()
/*0x056*/ StoreOpcode(CMSG_ITEM_QUERY_SINGLE, "CMSG_ITEM_QUERY_SINGLE", STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleItemQuerySingleOpcode); /*0x056*/ StoreOpcode(CMSG_ITEM_QUERY_SINGLE, "CMSG_ITEM_QUERY_SINGLE", STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleItemQuerySingleOpcode);
/*0x057*/ StoreOpcode(CMSG_ITEM_QUERY_MULTIPLE, "CMSG_ITEM_QUERY_MULTIPLE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL); /*0x057*/ StoreOpcode(CMSG_ITEM_QUERY_MULTIPLE, "CMSG_ITEM_QUERY_MULTIPLE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL);
/*0x058*/ StoreOpcode(SMSG_ITEM_QUERY_SINGLE_RESPONSE, "SMSG_ITEM_QUERY_SINGLE_RESPONSE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide); /*0x058*/ StoreOpcode(SMSG_ITEM_QUERY_SINGLE_RESPONSE, "SMSG_ITEM_QUERY_SINGLE_RESPONSE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x059*/ StoreOpcode(SMSG_ITEM_QUERY_MULTIPLE_RESPONSE, "SMSG_ITEM_QUERY_MULTIPLE_RESPONSE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide); /*0x059*/ StoreOpcode(SMSG_ITEM_QUERY_MULTIPLE_RESPONSE, "SMSG_ITEM_QUERY_MULTIPLE_RESPONSE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x05A*/ StoreOpcode(CMSG_PAGE_TEXT_QUERY, "CMSG_PAGE_TEXT_QUERY", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandlePageTextQueryOpcode); /*[-ZERO] Need check */ /*0x05A*/ StoreOpcode(CMSG_PAGE_TEXT_QUERY, "CMSG_PAGE_TEXT_QUERY", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandlePageTextQueryOpcode);
/*[-ZERO] Need check */ /*0x05B*/ StoreOpcode(SMSG_PAGE_TEXT_QUERY_RESPONSE, "SMSG_PAGE_TEXT_QUERY_RESPONSE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide); /*0x05B*/ StoreOpcode(SMSG_PAGE_TEXT_QUERY_RESPONSE, "SMSG_PAGE_TEXT_QUERY_RESPONSE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x05C*/ StoreOpcode(CMSG_QUEST_QUERY, "CMSG_QUEST_QUERY", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleQuestQueryOpcode); /*[-ZERO] Need check */ /*0x05C*/ StoreOpcode(CMSG_QUEST_QUERY, "CMSG_QUEST_QUERY", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleQuestQueryOpcode);
/*[-ZERO] Need check */ /*0x05D*/ StoreOpcode(SMSG_QUEST_QUERY_RESPONSE, "SMSG_QUEST_QUERY_RESPONSE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide); /*0x05D*/ StoreOpcode(SMSG_QUEST_QUERY_RESPONSE, "SMSG_QUEST_QUERY_RESPONSE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x05E*/ StoreOpcode(CMSG_GAMEOBJECT_QUERY, "CMSG_GAMEOBJECT_QUERY", STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleGameObjectQueryOpcode); /*[-ZERO] Need check */ /*0x05E*/ StoreOpcode(CMSG_GAMEOBJECT_QUERY, "CMSG_GAMEOBJECT_QUERY", STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleGameObjectQueryOpcode);
/*[-ZERO] Need check */ /*0x05F*/ StoreOpcode(SMSG_GAMEOBJECT_QUERY_RESPONSE, "SMSG_GAMEOBJECT_QUERY_RESPONSE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide); /*0x05F*/ StoreOpcode(SMSG_GAMEOBJECT_QUERY_RESPONSE, "SMSG_GAMEOBJECT_QUERY_RESPONSE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x060*/ StoreOpcode(CMSG_CREATURE_QUERY, "CMSG_CREATURE_QUERY", STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleCreatureQueryOpcode); /*[-ZERO] Need check */ /*0x060*/ StoreOpcode(CMSG_CREATURE_QUERY, "CMSG_CREATURE_QUERY", STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleCreatureQueryOpcode);
/*[-ZERO] Need check */ /*0x061*/ StoreOpcode(SMSG_CREATURE_QUERY_RESPONSE, "SMSG_CREATURE_QUERY_RESPONSE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide); /*0x061*/ StoreOpcode(SMSG_CREATURE_QUERY_RESPONSE, "SMSG_CREATURE_QUERY_RESPONSE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x062*/ StoreOpcode(CMSG_WHO, "CMSG_WHO", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleWhoOpcode); /*0x062*/ StoreOpcode(CMSG_WHO, "CMSG_WHO", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleWhoOpcode);
/*0x063*/ StoreOpcode(SMSG_WHO, "SMSG_WHO", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide); /*0x063*/ StoreOpcode(SMSG_WHO, "SMSG_WHO", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x064*/ StoreOpcode(CMSG_WHOIS, "CMSG_WHOIS", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleWhoisOpcode); /*[-ZERO] Need check */ /*0x064*/ StoreOpcode(CMSG_WHOIS, "CMSG_WHOIS", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleWhoisOpcode);
/*[-ZERO] Need check */ /*0x065*/ StoreOpcode(SMSG_WHOIS, "SMSG_WHOIS", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide); /*0x065*/ StoreOpcode(SMSG_WHOIS, "SMSG_WHOIS", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x066*/ StoreOpcode(CMSG_FRIEND_LIST, "CMSG_FRIEND_LIST", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleFriendListOpcode); /*0x066*/ StoreOpcode(CMSG_FRIEND_LIST, "CMSG_FRIEND_LIST", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleFriendListOpcode);
/*0x067*/ StoreOpcode(SMSG_FRIEND_LIST, "SMSG_FRIEND_LIST", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide); /*0x067*/ StoreOpcode(SMSG_FRIEND_LIST, "SMSG_FRIEND_LIST", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x068*/ StoreOpcode(SMSG_FRIEND_STATUS, "SMSG_FRIEND_STATUS", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide); /*0x068*/ StoreOpcode(SMSG_FRIEND_STATUS, "SMSG_FRIEND_STATUS", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
@ -171,9 +171,9 @@ void Opcodes::BuildOpcodeList()
/*0x06C*/ StoreOpcode(CMSG_ADD_IGNORE, "CMSG_ADD_IGNORE", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAddIgnoreOpcode); /*0x06C*/ StoreOpcode(CMSG_ADD_IGNORE, "CMSG_ADD_IGNORE", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAddIgnoreOpcode);
/*0x06D*/ StoreOpcode(CMSG_DEL_IGNORE, "CMSG_DEL_IGNORE", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleDelIgnoreOpcode); /*0x06D*/ StoreOpcode(CMSG_DEL_IGNORE, "CMSG_DEL_IGNORE", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleDelIgnoreOpcode);
/*[-ZERO] Need check */ /*0x06E*/ StoreOpcode(CMSG_GROUP_INVITE, "CMSG_GROUP_INVITE", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGroupInviteOpcode); /*[-ZERO] Need check */ /*0x06E*/ StoreOpcode(CMSG_GROUP_INVITE, "CMSG_GROUP_INVITE", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGroupInviteOpcode);
/*[-ZERO] Need check */ /*0x06F*/ StoreOpcode(SMSG_GROUP_INVITE, "SMSG_GROUP_INVITE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide); /*0x06F*/ StoreOpcode(SMSG_GROUP_INVITE, "SMSG_GROUP_INVITE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x070*/ StoreOpcode(CMSG_GROUP_CANCEL, "CMSG_GROUP_CANCEL", STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::Handle_NULL); /*0x070*/ StoreOpcode(CMSG_GROUP_CANCEL, "CMSG_GROUP_CANCEL", STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::Handle_NULL);
/*[-ZERO] Need check */ /*0x071*/ StoreOpcode(SMSG_GROUP_CANCEL, "SMSG_GROUP_CANCEL", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide); /*0x071*/ StoreOpcode(SMSG_GROUP_CANCEL, "SMSG_GROUP_CANCEL", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x072*/ StoreOpcode(CMSG_GROUP_ACCEPT, "CMSG_GROUP_ACCEPT", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGroupAcceptOpcode); /*[-ZERO] Need check */ /*0x072*/ StoreOpcode(CMSG_GROUP_ACCEPT, "CMSG_GROUP_ACCEPT", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGroupAcceptOpcode);
/*[-ZERO] Need check */ /*0x073*/ StoreOpcode(CMSG_GROUP_DECLINE, "CMSG_GROUP_DECLINE", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGroupDeclineOpcode); /*[-ZERO] Need check */ /*0x073*/ StoreOpcode(CMSG_GROUP_DECLINE, "CMSG_GROUP_DECLINE", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGroupDeclineOpcode);
/*[-ZERO] Need check */ /*0x074*/ StoreOpcode(SMSG_GROUP_DECLINE, "SMSG_GROUP_DECLINE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide); /*[-ZERO] Need check */ /*0x074*/ StoreOpcode(SMSG_GROUP_DECLINE, "SMSG_GROUP_DECLINE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);

View File

@ -208,9 +208,10 @@ void WorldSession::HandleGameObjectQueryOpcode(WorldPacket& recv_data)
data << uint32(info->type); data << uint32(info->type);
data << uint32(info->displayId); data << uint32(info->displayId);
data << Name; data << Name;
data << uint16(0) << uint8(0) << uint8(0); // name2, name3, name4 data << uint8(0) << uint8(0) << uint8(0); // name2, name3, name4
data.append(info->raw.data, 24); data << uint8(0); // one more name, client handles it a bit differently
// data << float(info->size); // go size , to check data.append(info->raw.data, 24); // these are read as int32
// data << float(info->size); // [-ZERO] go size: not in Zero
SendPacket(&data); SendPacket(&data);
DEBUG_LOG("WORLD: Sent SMSG_GAMEOBJECT_QUERY_RESPONSE"); DEBUG_LOG("WORLD: Sent SMSG_GAMEOBJECT_QUERY_RESPONSE");
} }