Thread: Spirit Shrouds
View Single Post
  #4  
Old 10-04-2009, 10:56 PM
Pend
Fire Beetle
 
Join Date: Sep 2009
Posts: 16
Default

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).
Reply With Quote