mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-17 03:08:26 +00:00
[Feature] Add Support for Item Previews (#4599)
* [Feature] Add Support for Item Previews * Update client_packet.cpp
This commit is contained in:
@@ -283,6 +283,7 @@ void MapOpcodes()
|
||||
ConnectedOpcodes[OP_ItemLinkResponse] = &Client::Handle_OP_ItemLinkResponse;
|
||||
ConnectedOpcodes[OP_ItemName] = &Client::Handle_OP_ItemName;
|
||||
ConnectedOpcodes[OP_ItemPreview] = &Client::Handle_OP_ItemPreview;
|
||||
ConnectedOpcodes[OP_ItemPreviewRequest] = &Client::Handle_OP_ItemPreviewRequest;
|
||||
ConnectedOpcodes[OP_ItemVerifyRequest] = &Client::Handle_OP_ItemVerifyRequest;
|
||||
ConnectedOpcodes[OP_ItemViewUnknown] = &Client::Handle_OP_Ignore;
|
||||
ConnectedOpcodes[OP_Jump] = &Client::Handle_OP_Jump;
|
||||
@@ -9300,6 +9301,30 @@ void Client::Handle_OP_ItemPreview(const EQApplicationPacket *app)
|
||||
return;
|
||||
}
|
||||
|
||||
void Client::Handle_OP_ItemPreviewRequest(const EQApplicationPacket* app)
|
||||
{
|
||||
VERIFY_PACKET_LENGTH(OP_ItemPreviewRequest, app, ItemPreview_Struct);
|
||||
auto ips = (ItemPreview_Struct*) app->pBuffer;
|
||||
const EQ::ItemData* item = database.GetItem(ips->itemid);
|
||||
|
||||
if (item) {
|
||||
EQ::ItemInstance* inst = database.CreateItem(item);
|
||||
if (inst) {
|
||||
std::string packet = inst->Serialize(-1);
|
||||
auto outapp = new EQApplicationPacket(OP_ItemPreviewRequest, packet.length());
|
||||
memcpy(outapp->pBuffer, packet.c_str(), packet.length());
|
||||
|
||||
#if EQDEBUG >= 9
|
||||
DumpPacket(outapp);
|
||||
#endif
|
||||
|
||||
QueuePacket(outapp);
|
||||
safe_delete(outapp);
|
||||
safe_delete(inst);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Client::Handle_OP_ItemVerifyRequest(const EQApplicationPacket *app)
|
||||
{
|
||||
using EQ::spells::CastingSlot;
|
||||
|
||||
Reference in New Issue
Block a user