mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2026-01-22 22:34:33 +01:00
https
@@ -16,7 +16,7 @@ RCT2 is written in [x86][x86], which is about as close to the actual CPU instruc
|
||||
|
||||
Lots of numbers and addresses in the [Tycoon Technical Depot][ttd] are written in hex. The prefix "0x" generally denotes a hex address. The letters used for hex are a superset of those used for decimal, so numbers which look like decimals ("12") can actually refer to a different value than you think (in this case, 0x12 = 1\*16 + 2 = 18). In IDA these are represented as numbers with the letter "h" as a suffix, like "1Ah".
|
||||
|
||||
[ttd]: http://freerct.github.io/RCTTechDepot-Archive/
|
||||
[ttd]: https://freerct.github.io/RCTTechDepot-Archive/
|
||||
|
||||
To convert between these, I find it very convenient to keep a Python REPL up and make transformations between the types as necessary. It's also easy to view the binary representation of a number. Alternatively Calculator can be used.
|
||||
|
||||
@@ -34,7 +34,7 @@ To convert between these, I find it very convenient to keep a Python REPL up and
|
||||
|
||||
Note that RCT2 uses a [little endian][le] encoding for integers that span multiple bytes, so the most significant bit is in the 2nd byte of a 16-bit integer.
|
||||
|
||||
[le]: http://en.wikipedia.org/wiki/Endianness
|
||||
[le]: https://en.wikipedia.org/wiki/Endianness
|
||||
|
||||
## Converting from x86 to C
|
||||
|
||||
@@ -120,8 +120,8 @@ may represent an integer like the height of a ride.
|
||||
|
||||
Always remember that pointers are unsigned do not try to use them as a signed integer otherwise you may end up at the wrong address.
|
||||
|
||||
[x86]: http://www.cs.virginia.edu/~evans/cs216/guides/x86.html
|
||||
[ptr]: http://research.swtch.com/godata
|
||||
[x86]: https://www.cs.virginia.edu/~evans/cs216/guides/x86.html
|
||||
[ptr]: https://research.swtch.com/godata
|
||||
|
||||
#### What this means for OpenRCT2
|
||||
|
||||
@@ -201,7 +201,7 @@ To print statements to the Visual Studio output after RCT2 begins, include the f
|
||||
#include "windows.h"
|
||||
```
|
||||
|
||||
Then use the command [`OutputDebugString`](http://msdn.microsoft.com/en-us/library/aa363362%28VS.85%29.aspx).
|
||||
Then use the command [`OutputDebugString`](https://msdn.microsoft.com/en-us/library/aa363362%28VS.85%29.aspx).
|
||||
|
||||
```
|
||||
OutputDebugString("Hello World!\n");
|
||||
|
||||
Reference in New Issue
Block a user