Packet Guide
From SWGANH Wiki
Packet Structure
Each Page should have a STRUCT section, which gives the variable type and a variable name if known.
Variable Types
TYPE | Example | Description |
BYTE | 00 | uint8 -- 1 byte, mostly used for flags or small integer IDs |
SHORT | 00 | uint16 -- 2 bytes. Used for various data. |
INT | 00 | uint32 -- 4 bytes. Used for various data. |
FLOAT | 00 | uint32 -- 4 bytes. Floating point value. Used for various data. |
LONG | 00 | uint64 -- 8 bytes. Used mostly for object IDs. |
A_STRING | 00 | ASCII String -- 2 byte Size, 1 byte characters. |
U_STRING | 00 | Unicode String -- 4 byte Size, 2 byte characters. |
C_STRING | 00 | Customization String -- 2 byte Size, see Customization String Format Below. |
B_STRING | 00 | Byte String -- 4 bytes Size, 1 byte characters. Used only for session key. |
{ } | 00 | LIST component -- this is a sub section repeated as a list of data. Indent Variable types with 1 space. |
? | 00 | Uncertin Variables -- Use a single question mark ? in the name to display uncertainty in the variables understanding. |
?? | 00 | Unknown Variable Names -- Use ?? or Unknown for the name to display that there is no clue as to what the data does. |
Additional Guidelines
In Addition, each page should contain a section for Variable Descriptions should be made. This should include a brief, or detailed description as needed to document what the variable does and how it can be used. Also the Opperand_Count and Opcode should be listed with it.
Finally an Additional Info section should be provided to give more info in the case it is needed for that packet.
= STRUCT = {{{ SHORT: VarName SHORT: 16bitVariable INT: 32bitVariable INT: LookAList { LONG: 64bitVariable BYTE: 8bitVariable BYTE: ?? } A_STRING: AsciiString U_STRING: UnicodeString C_STRING: CustomizationString }}} ---- = Variable Description = {{{ OpperandCount = 9 Opcode = FFFFFFFF AsciiString: This variable is a string for the name. 64bitVariable: This variable is an ID for that guy. 8bitVariable: This byte is a flag for stuff. }}} ---- = Notes = {{{ Anything Additional Goes here. }}}