- Feature: [#775] Add 2x and 4x zoom levels to software renderer (previously limited to OpenGL). - Feature: [#15642] Track design placement can now use construction modifier keys (ctrl/shift). - Feature: [#20539] [Plugin] Add API for getting a ride’s statistics. - Feature: [#21521] [Plugin] Add hook 'park.guest.softcap.calculate' called before calculating the soft guest cap. - Feature: [#22383] Add downward-inclined brakes to hybrid coaster and single rail coaster. - Feature: [#22694] Park graphs have tooltips and can be resized like finance graphs. - Feature: [#22758] The table of ‘real’ peep names can now be changed using Peep Names objects. - Feature: [#22842] [Plugin] Expose large scenery object tiles to the plugin API. - Feature: [#22883] [Plugin] Add plugin API for spawning guests. - Improved: [#22470] Android: automatically detect RCT2 installs in /sdcard/rct2. - Improved: [#22735] The map generator has a redesigned interface that is much more user friendly. - Improved: [#22777] Add long flat-to-steep track pieces to the Wooden and Classic Wooden Roller Coasters. - Improved: [#22815] Add long flat-to-steep track pieces to the Mine Train Coaster. - Change: [#22494] Themes window now displays colours and checkboxes vertically. - Change: [#22596] Land ownership fixes described by .parkpatch files are now only considered on scenarios. - Change: [#22724] Staff now have optional ‘real’ names as well. - Change: [#22740] Add virtual floor to shifted track design placement. - Change: [#22795] Replace Giga Coaster and Twister Roller Coaster booster images. - Fix: [#2614] The colour tab of the ride window does not hide invisible cars (original bug). - Fix: [#7672] Wide path status is set to all ‘wide’ paths, instead of only a quarter, impeding pathfinding. - Fix: [#15406] Tunnels on steep Side-Friction track are drawn too low. - Fix: [#21959] “Save this before...?” message does not appear when selecting “New Game”. - Fix: [#22072] Objective date string and staff tenure date string cannot be reused on agglutinative languages. - Fix: [#22133] Ride time is incorrect for extremely slow speeds. - Fix: [#22231] Invalid object version can cause a crash. - Fix: [#22479] Crash when a ride has no valid music object. - Fix: [#22562] Bottom row of pixels is not always drawn by the OpenGL renderer when zoomed in. - Fix: [#22653] Missing water tiles in RCT1 and RCT2 scenarios. - Fix: [#22654] Misplaced scenario elements in RCT1 and RCT2 scenarios. - Fix: [#22655] Incorrectly set surface style around missing water tiles on Botany Breakers. - Fix: [#22729] Invisibility settings persist after reloading OpenRCT2. - Fix: [#22734] Support clearance above steep Side-Friction track is too low. - Fix: [#22774] Fix entities leaving stale pixels on the screen when the framerate is uncapped. - Fix: [#22805] Fix deadzone when panning the view in positive axis directions. - Fix: [#22808] Incorrect support rotation on some Mini Roller Coaster track pieces. - Fix: [#22857] Side-Friction Roller Coaster train clips through slopes. - Fix: [#22880] macOS builds lack asset packs and scenario patches. - Fix: [#22891] [Plugin] getInstalledObject API function not implemented. - Fix: [objects#346] Invalid refund price for Brick Base Block scenery item.
Source directory structure
-
actions
Handles player actions and queues pending actions.
-
audio
Contains files for mixing and playing music and sound.
-
command_line
Code specific to command line (arguments).
-
config
Code concerning game configuration.
-
core
Provides core functionality such as string operations, encryption, and compression.
-
drawing
Low level drawing logic and palette tables.
-
interface
Window and widget logic, includes high level drawing and input.
-
localisation
String IDs, currency and date logic.
-
management
Park management logic such as finance, marketing and research.
-
network
Network and multiplayer logic, includes management of network games and downloading / uploading of content.
-
object
Code relating to objects (rides, shops, scenery, etc).
-
paint
Prepares objects' sprites to be drawn.
-
peep
Guest and staff definitions and logic such as action management and pathfinding.
-
platform
Compiler and operating system specific code such as type definitions, message handling and file input / output.
-
rct1
Code specific only to RCT1 (vanilla).
-
rct2
Code specific only to RCT2 (vanilla).
-
rct12
Code specific to vanilla RCT, either RCT 1 or RCT 2.
-
ride
Data and logic for rides, vehicles and track.
-
scenario
Code relating to game scenarios.
-
title
Code for loading and updating title screen sequence.
-
util
Utility and helper functions.
-
windows
Definitions and logic for all the windows in the game.
-
world
World objects and mechanics such as the climate, landscape, sprites and park.