feat: Add interactive packet documentation system
- Create JSON-based packet documentation for 145 packets (66 incoming, 79 outgoing) - Add HTML template with search, filtering, and navigation - Support enum/bitfield field display with values and descriptions - Support packet variants for version-specific structures - Include 0xBF extended command subpackets documentation - Add PowerShell build script to generate final HTML 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
ec287d7691
commit
f0b65fecb7
28 changed files with 6011 additions and 0 deletions
82
Distribution/Data/packets/incoming/entity.json
Normal file
82
Distribution/Data/packets/incoming/entity.json
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
{
|
||||
"category": "Entity",
|
||||
"packets": [
|
||||
{
|
||||
"id": "0x06",
|
||||
"name": "Use Request (Double-Click)",
|
||||
"description": "Sent when the player double-clicks an item or mobile. Can also trigger paperdoll if high bit is set.",
|
||||
"direction": "incoming",
|
||||
"isDynamic": false,
|
||||
"size": 5,
|
||||
"fields": [
|
||||
{ "name": "packetId", "type": "byte", "size": 1, "value": "0x06", "description": "Packet identifier" },
|
||||
{ "name": "serial", "type": "uint", "size": 4, "description": "Serial of the target. If high bit (0x80000000) is set, opens player's paperdoll instead." }
|
||||
],
|
||||
"source": {
|
||||
"file": "Projects/UOContent/Network/Packets/IncomingEntityPackets.cs",
|
||||
"line": 61
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "0x09",
|
||||
"name": "Look Request (Single-Click)",
|
||||
"description": "Sent when the player single-clicks an item or mobile to see its name/properties.",
|
||||
"direction": "incoming",
|
||||
"isDynamic": false,
|
||||
"size": 5,
|
||||
"fields": [
|
||||
{ "name": "packetId", "type": "byte", "size": 1, "value": "0x09", "description": "Packet identifier" },
|
||||
{ "name": "serial", "type": "uint", "size": 4, "description": "Serial of the target entity" }
|
||||
],
|
||||
"source": {
|
||||
"file": "Projects/UOContent/Network/Packets/IncomingEntityPackets.cs",
|
||||
"line": 105
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "0xB6",
|
||||
"name": "Object Help Request",
|
||||
"description": "Sent when the player requests help/info about an object (Shift+Click or context menu).",
|
||||
"direction": "incoming",
|
||||
"isDynamic": false,
|
||||
"size": 9,
|
||||
"fields": [
|
||||
{ "name": "packetId", "type": "byte", "size": 1, "value": "0xB6", "description": "Packet identifier" },
|
||||
{ "name": "serial", "type": "uint", "size": 4, "description": "Serial of the target entity" },
|
||||
{ "name": "unknown", "type": "byte", "size": 1, "description": "Unknown" },
|
||||
{ "name": "language", "type": "ascii", "size": 3, "description": "Language code (e.g., 'ENU')" }
|
||||
],
|
||||
"source": {
|
||||
"file": "Projects/UOContent/Network/Packets/IncomingEntityPackets.cs",
|
||||
"line": 32
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "0xD6",
|
||||
"name": "Batch Query Properties",
|
||||
"description": "Sent by the client to request Object Property Lists (tooltips) for multiple entities at once.",
|
||||
"direction": "incoming",
|
||||
"isDynamic": true,
|
||||
"size": "3 + (4 * entityCount)",
|
||||
"fields": [
|
||||
{ "name": "packetId", "type": "byte", "size": 1, "value": "0xD6", "description": "Packet identifier" },
|
||||
{ "name": "length", "type": "ushort", "size": 2, "description": "Packet length" },
|
||||
{
|
||||
"name": "serials",
|
||||
"type": "array",
|
||||
"description": "List of entity serials to query",
|
||||
"loop": {
|
||||
"countField": "(length-3)/4",
|
||||
"fields": [
|
||||
{ "name": "serial", "type": "uint", "size": 4, "description": "Entity serial" }
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"source": {
|
||||
"file": "Projects/UOContent/Network/Packets/IncomingEntityPackets.cs",
|
||||
"line": 154
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue