Data Types: Difference between revisions
From RuneWiki
No edit summary |
|||
Line 39: | Line 39: | ||
|Base37 | |Base37 | ||
|QWord | |QWord | ||
| | |Base37 hash of a string | ||
|- | |- | ||
|Interface Color | |Interface Color | ||
Line 48: | Line 48: | ||
|Word | |Word | ||
| | | | ||
|- | |||
|Smart | |||
|Byte/Word | |||
|1 or 2 byte value (-16384 to +16383) | |||
|- | |||
|Unsigned Smart | |||
|Byte/Word | |||
|1 or 2 byte value (0 to 32768) | |||
|} | |} | ||
Line 78: | Line 86: | ||
|1, 2, 3, 4 | |1, 2, 3, 4 | ||
|- | |- | ||
|Middle | |Middle | ||
|3, 4, 1, 2 | |3, 4, 1, 2 | ||
|- | |- | ||
|Middle | |Reversed Middle | ||
|2, 1, 4, 3 | |2, 1, 4, 3 | ||
|} | |} | ||
Middle endianness only applies to DWords. |
Revision as of 23:24, 6 September 2021
Types
Name | Length | Notes |
---|---|---|
Byte | 1 | 0 to 255 unsigned | -128 to +127 signed |
Word | 2 | 0 to 65,535 unsigned | -32,768 to +32,767 signed |
SWord* | 3 | 0 to 16,777,215 unsigned | −8,388,608 to 8,388,607 signed |
DWord | 4 | 0 to 4,294,967,295 unsigned | -2,147,483,648 to 2,147,483,647 signed |
QWord | 8 | 0 to 18,446,744,073,709,551,615 unsigned | -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 signed |
String | 1+ | Newline-terminated, not null-terminated like C |
*SWord means sesqui word, or one and a half words.
Special Types
Name | Base | Notes |
---|---|---|
Base37 | QWord | Base37 hash of a string |
Interface Color | Word | 5-bits per channel |
Model Color | Word | |
Smart | Byte/Word | 1 or 2 byte value (-16384 to +16383) |
Unsigned Smart | Byte/Word | 1 or 2 byte value (0 to 32768) |
Byte Transformations
These transformations only apply to the least significant byte, regardless of the endianness.
Name | Operation |
---|---|
Add | byte + 128 |
Subtract | 128 - byte |
Negate | -byte |
Byte Order
Also known as Endianness.
Name | Order |
---|---|
Big | 4, 3, 2, 1 |
Little | 1, 2, 3, 4 |
Middle | 3, 4, 1, 2 |
Reversed Middle | 2, 1, 4, 3 |
Middle endianness only applies to DWords.