Opcodes
OP_ShroudUnknown4=0x11cd #size=?
This was a mistake on my part. Didn't mean to include this in list of shroud-related opcodes.
OP_ShroudUnknown2=0x18cb #size=?
Has been decoded:
OP_ShroudSelEquipDetail=0x18cb
Structures
OP_ShroudSelEquipDetail
Code:
#pragma pack(1)
struct ShroudSelItemDescription
{
sint32 UniqueID;
uint32 unknown2;
uint32 pktSize;
uint32 serializedItem[1];
};
#pragma pack()
UniqueID is the ID sent for the currently selected monster template which was set during the OP_ShroudSelectionWindow packet.
unknown2
must be -1 (ie. 0xFFFFFFFF).
pktSize = the entire size of serializedItem plus the size of pktSize itself.
serializedItem is a variable-length serialized data stream generated by the Titanium::SerializeItem(...) function.
What this opcode/packet does is display item details, presumably for a currently selected item, in the Shroud Selection window.
You'll notice I made UniqueID an signed int here. This is because eqgame.exe will "UniqueID = -(UniqueID);" if it receives a UniqueID in the OP_ShroudSelectionWindow packet that is less than 0 (ie. >0x7FFFFFFF).