Data Types: Difference between revisions
From RuneWiki
No edit summary |
|||
Line 31: | Line 31: | ||
<nowiki>*</nowiki>SWord means sesqui word, or one and a half words. | <nowiki>*</nowiki>SWord means sesqui word, or one and a half words. | ||
===Byte Transformations | ==Special Types== | ||
Base37: Stored in a QWord | |||
Interface Color: Stored in a Word | |||
Model Color: Stored in a Word | |||
==Byte Transformations== | |||
These transformations only apply to the least significant byte, regardless of the endianness. | These transformations only apply to the least significant byte, regardless of the endianness. | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 47: | Line 53: | ||
|} | |} | ||
==Byte Order== | |||
Also known as Endianness. | Also known as Endianness. | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 66: | Line 72: | ||
|} | |} | ||
<nowiki>*</nowiki>Middle-Big and Middle-Little are not a standard order or naming scheme. I call them that because they start with the big significant bytes or the little significant bytes. | <nowiki>*</nowiki>Middle-Big and Middle-Little are not a standard order or naming scheme. I call them that because they start with the big significant bytes or the little significant bytes. | ||
Revision as of 23:17, 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
Base37: Stored in a QWord
Interface Color: Stored in a Word
Model Color: Stored in a Word
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-Big* | 3, 4, 1, 2 |
Middle-Little* | 2, 1, 4, 3 |
*Middle-Big and Middle-Little are not a standard order or naming scheme. I call them that because they start with the big significant bytes or the little significant bytes.