Data Types
From RuneWiki
Stub
This article is a stub. You can help RuneWiki by expanding it. |
Introduction
RuneScape uses a number of standard and non-standard data types.
Standard data types
These datatypes can also be read/written by a DataWriter/DataReader implementation (DataStreams and Buffers)
Naming conventions:
Official name | Datatype name | JaGeX name | Encoding |
---|---|---|---|
Byte | byte | 1,1b | |
WORD | short | 2,2b | |
DWORD | int,int32 | 4,4b | |
QWORD | long,int64 | 8,8b | |
C style string | string,String,char *,char[] | str,strbyte | text bytes then '\n' or 10 |
Java style string | string,String,char *,char[] | strraw | WORD length then text bytes |
Non Standard Data Types
winterLove name | JaGeX name | Read transformation | Write transformation |
---|---|---|---|
Special A | Unknown | value - 128 | value + 128 |
Special C | Unknown | 0 - value | 0 - value |
Special S | Unknown | 128 - value | 128 - value |
SpaceSaverA | smarts | (value[0] < 128) ? (((value[0] - 128)<<8)+value[1]) : value[0] | if(value < 128) putword(value+32768) else putbyte(value); |
SpaceSaverB | smart | ((value[0]<<8)+value[1]) - 49152 | if(i < 64 && i >= -64) putbyte(i + 64) else if(i < 16384 && i >= -16384) putword(i + 49152); |
tribyte / RGBColour / 3Byte / int3 | 3 | (value[0] << 24) + (value[1] << 16) + value[2] | putbyte(value >> 24);putbyte(value >> 16);putbyte(value); |
Additionally, RuneScape also uses two additional integers (named int 1 and int 2).