Difference between revisions of "Packet Guide"
From SWGANH Wiki
(→Variable Types) |
|||
| Line 4: | Line 4: | ||
==Variable Types == | ==Variable Types == | ||
| − | |||
{| class="wikitable" | {| class="wikitable" | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
|- | |- | ||
| − | | | + | |{{bool}}||bool||'''bool''' (1byte, 0:false, other value:true) |
| − | |- | + | |- |
| − | | | + | |{{sbyte}}||sbyte||'''sbyte''' (1byte, signed) |
| + | |- | ||
| + | |{{byte}}||byte||'''byte''' (1byte, unsigned) | ||
| + | |- | ||
| + | |{{short}}||short||'''short''' (2bytes, signed) | ||
| + | |- | ||
| + | |{{ushort}}||ushort||'''ushort''' (2bytes, unsigned) | ||
| + | |- | ||
| + | |{{int}}||int||'''int''' (4bytes, signed) | ||
| + | |- | ||
| + | |{{uint}}||uint||'''uint''' (4bytes, unsigned) | ||
| + | |- | ||
| + | |{{float}}||float||'''float''' (4bytes, signed) | ||
| + | |- | ||
| + | |{{long}}||long||'''long''' (8bytes, signed, mostly used for object ids) | ||
| + | |- | ||
| + | |{{ulong}}||ulong||'''ulong''' (8bytes, unsigned, mostly used for object ids) | ||
| + | |- | ||
| + | |{{double}}||double||'''double''' (8bytes, signed) | ||
| + | |- | ||
| + | |{{a_string}}||a_string||'''ANSI/ASCII String''' (1byte chars, ASCII:leading0+7bits, ANSI:8bits) | ||
| + | |- | ||
| + | |{{u_string}}||u_string||'''Unicode String''' (2bytes chars) | ||
| + | |- | ||
| + | |{{c_string}}||c_string||'''Customization String''' (2bytes size + 2bytes chars) | ||
| + | |- | ||
| + | |{{b_string}}||b_string||'''Byte String''' (4bytes size + 1byte chars, used for session key only) | ||
| + | |- | ||
| + | |{{list}}||list||'''LIST Component''' (this is a sub section repeated as a list of data. Indent Variable types with 1 space.) | ||
| + | |- | ||
| + | |{{uncertain}}||uncertain||'''Uncertain Values''' (use a single question mark ? in the name to display uncertainty in the variables understanding.) | ||
| + | |- | ||
| + | |{{unknown}}||unknown||'''Unknown Variable Name''' (use ?? or Unknown for the name to display that there is no clue as to what the data does.) | ||
|- | |- | ||
|} | |} | ||
Revision as of 05:36, 21 March 2007
Packet Structure
Each Page should have a STRUCT section, which gives the variable type and a variable name if known.
Variable Types
| BOOL | bool | bool (1byte, 0:false, other value:true) |
| SBYTE | sbyte | sbyte (1byte, signed) |
| BYTE | byte | byte (1byte, unsigned) |
| SHORT | short | short (2bytes, signed) |
| USHORT | ushort | ushort (2bytes, unsigned) |
| INT | int | int (4bytes, signed) |
| UINT | uint | uint (4bytes, unsigned) |
| FLOAT | float | float (4bytes, signed) |
| LONG | long | long (8bytes, signed, mostly used for object ids) |
| ULONG | ulong | ulong (8bytes, unsigned, mostly used for object ids) |
| DOUBLE | double | double (8bytes, signed) |
| A_STRING | a_string | ANSI/ASCII String (1byte chars, ASCII:leading0+7bits, ANSI:8bits) |
| U_STRING | u_string | Unicode String (2bytes chars) |
| C_STRING | c_string | Customization String (2bytes size + 2bytes chars) |
| B_STRING | b_string | Byte String (4bytes size + 1byte chars, used for session key only) |
| { } | list | LIST Component (this is a sub section repeated as a list of data. Indent Variable types with 1 space.) |
| ? | uncertain | Uncertain Values (use a single question mark ? in the name to display uncertainty in the variables understanding.) |
| ?? | unknown | Unknown Variable Name (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.
}}}