Table of Contents

Hex Editing

Hex Editing is a technique of modifying the contents of RollerCoaster Tycoon’s memory, generally to modify objects in the game map. A Hex Editor such as Winhack displays the contents of each byte of the the Game’s memory in Hexadecimal. The SV4 file format is almost completely documented by Doctor J and Co., including the game map. The map consist of 128×128 squares in LL and 256×256 in RCT, this is regardless of the size of the map actually used on smaller maps the unused squares are still present but not displayed by the game. Also note that the used section of the map is surrounded by a border of land tiles at height 1, so for example on a full LL map only a 126×126 section is visible but the map is actually 128×128. The map is an array of objects each 8 bytes long and ordered from one corner of the map to the other. Generally the objects lower on a square appear first though they can be hacked in such a way that this is no longer true. The end of each square is marked by the MSB in byte 1 of a map object being set, this indicates that this is the last object on that map square and the next object will be on the next square along.

Whilst the game is running, squares that have been modified since the last save are stored on a heap-like data structure immediately after last square in the map. Note that the flashing track effect in LL is done by constantly adding and removing the track elemet, meaning that this data structure will become very large when building a tracked ride. Similarly in RCT2 the whited-out scenery/track piece for placing scenery etc is also created by adding an object to that square, so moving that around will make this data structure become very large and it may be hard to find what you are looking for.

Codex is the best tool for hex editing in LL, it abstracts many common tasks as well as making it a lot easier to identify objects. Use the properties menu (the + sign) for each object in the map control to edit the raw values, or middle click on the map overview to open the codex hex editor at that address. There is no equivalent for RCT2 so a generic memory Hex Editor such as Winhack will need to be used and identifying objects will need to be performed manually.

See Also

External Links