OpenRCT2/src/openrct2
kyphii 6dfc6225e2
"Reversed Trains" Option (#19305)
* Initial commit for backwards-facing trains

* Allow persistence for reversed cars across save/load

* Make log flume turntable compatible with new reversal implementation

* Style fixes + Better implementation of inverted bank angles

* Further Style Fixes

* Code cleanup from PR feedback

* Fix GetBankRotationForDrawing function declaration

* Use update flag for reversed state

* Replace modulo operation with bit mask

* Correct guest pathing destination when entering reversed cars

* More style fixes

* Add plugin support for reversed vehicles

* Fix formatting error

* Derive reversal from ride mode for car spawning

* Formatting

* Rename function to GetPaintBankRotation

* Add reversed trains modes to Multi Dimension Coaster

* Change name of isReversed plugin API parameter for consistency

* Replace reversal operating modes with separate ride setting

* Add ALLOW_REVERSED_TRAINS flag to more ride types

* Make clang-format happy

* More Formatting

* Fix ALLOW_REVERSED_TRAINS flag on a couple rides

* Exclude flat rides from Reverse Trains tickbox when cheats are enabled

* Formatting

* Use Disable Vehicle Limits cheat for checkbox appearance condition

* Use correct swinging sprites when cars are reversed

* Update changelog and Plugin/Network/Park version numbers

* Formatting

* Add separate error String ID for clarity

* Add name to contributors.md

* Fix ride vehicle preview window with reversed trains for RCT1 train types

* Bump version numbers again

---------

Co-authored-by: Trevor Finney <8711258+finneyt@users.noreply.github.com>
2023-04-21 19:22:33 +03:00
..
actions "Reversed Trains" Option (#19305) 2023-04-21 19:22:33 +03:00
audio Fix #18994: Title music doesn't start after enabling master volume (#19621) 2023-03-11 16:30:40 +00:00
command_line Rename some fields in PaintStruct 2023-04-14 03:06:53 +03:00
config Close #19214: Use consistent casing for RC and RCT (#19230) 2023-01-20 08:19:14 +00:00
core Part of #19608: improve error reporting of zip command failure (#19672) 2023-03-22 19:52:54 +00:00
drawing Fix duplicate RGB colours in palette (#18299) 2023-04-16 15:15:26 +01:00
entity "Reversed Trains" Option (#19305) 2023-04-21 19:22:33 +03:00
interface Fix #19991: Crash when using cut-away view (#19968) 2023-04-20 16:00:22 +01:00
localisation "Reversed Trains" Option (#19305) 2023-04-21 19:22:33 +03:00
management Refactor and clean up date handling (#19666) 2023-04-02 09:25:41 +01:00
math steam position modifier and animation speed properties (#11269) 2023-03-09 15:45:45 +02:00
network "Reversed Trains" Option (#19305) 2023-04-21 19:22:33 +03:00
object Fix #19989: Crash with small scenery objects having no offsets defined (#19990) 2023-04-19 06:35:09 +01:00
paint Merge pull request #19955 from Gymnasiast/refactor/wooden-supports 2023-04-20 19:14:12 +01:00
park "Reversed Trains" Option (#19305) 2023-04-21 19:22:33 +03:00
peep Remove unused global 2023-01-29 20:51:26 +00:00
platform Fix #13130: Android respects device locale (#19419) 2023-04-13 09:30:18 +00:00
profiling Replace 2022 with 2023 in copyright headers 2023-01-01 11:58:01 +01:00
rct1 import block brake from legacy file types 2023-04-11 19:28:26 -07:00
rct2 import block brake from legacy file types 2023-04-11 19:28:26 -07:00
rct12 Split of Needs supports changes from OpenRCT2/OpenRCT2#19446 (#19759) 2023-04-04 07:52:07 +00:00
ride "Reversed Trains" Option (#19305) 2023-04-21 19:22:33 +03:00
scenario Refactor and clean up date handling (#19666) 2023-04-02 09:25:41 +01:00
scripting "Reversed Trains" Option (#19305) 2023-04-21 19:22:33 +03:00
title Use dpi ref in ui context and weather 2023-04-11 22:57:25 +01:00
ui Use dpi ref in ui context and weather 2023-04-11 22:57:25 +01:00
util Replace remaining usages of money16, money32 (#19469) 2023-03-02 21:55:42 +00:00
windows Replace remaining usages of money16, money32 (#19469) 2023-03-02 21:55:42 +00:00
world Raise water and land height limits to 254 units/182m/600ft (#19988) 2023-04-21 12:58:39 +02:00
AssetPack.cpp Replace 2022 with 2023 in copyright headers 2023-01-01 11:58:01 +01:00
AssetPack.h Replace 2022 with 2023 in copyright headers 2023-01-01 11:58:01 +01:00
AssetPackManager.cpp Rename snake_case functions in openrct2/src folder 2023-01-17 13:24:51 +01:00
AssetPackManager.h Replace 2022 with 2023 in copyright headers 2023-01-01 11:58:01 +01:00
CMakeLists.txt Remove last references to WINNT 5.1 (#17631) 2022-07-28 22:39:04 +02:00
Cheats.cpp Fix #19906: Destructible cheat does not allow ride modification (#19924) 2023-04-14 21:10:54 -03:00
Cheats.h Fix #19906: Destructible cheat does not allow ride modification (#19924) 2023-04-14 21:10:54 -03:00
CommandLineSprite.cpp Close #19176, close #19273: Consistent “CmdLine” naming 2023-02-23 00:03:30 +01:00
CommandLineSprite.h Close #19176, close #19273: Consistent “CmdLine” naming 2023-02-23 00:03:30 +01:00
Context.cpp Fix #19445: Text not cleared using Ctrl+Backspace 2023-02-25 15:42:37 +02:00
Context.h Fix #19445: Text not cleared using Ctrl+Backspace 2023-02-25 15:42:37 +02:00
Date.cpp Refactor and clean up date handling (#19666) 2023-04-02 09:25:41 +01:00
Date.h Refactor and clean up date handling (#19666) 2023-04-02 09:25:41 +01:00
Diagnostic.cpp Rename snake_case functions in openrct2/src folder 2023-01-17 13:24:51 +01:00
Diagnostic.h Rename snake_case functions in openrct2/src folder 2023-01-17 13:24:51 +01:00
Editor.cpp Replace remaining usages of money16, money32 (#19469) 2023-03-02 21:55:42 +00:00
Editor.h Rename snake_case functions in openrct2/src folder 2023-01-17 13:24:51 +01:00
EditorObjectSelectionSession.cpp Add flag to mark an object as a compatibility object 2023-03-25 14:40:03 +01:00
EditorObjectSelectionSession.h Rename sub_ and loc_ functions 2023-01-17 19:05:14 +01:00
FileClassifier.cpp Desnake the rct2/rct12 fields (#19254) 2023-01-22 19:16:41 +00:00
FileClassifier.h Rename snake_case functions in openrct2/src folder 2023-01-17 13:24:51 +01:00
Game.cpp Refactor MapGetSurfaceElementAt to accept TileCoordsXY 2023-04-05 23:13:47 +03:00
Game.h Rename snake_case functions in openrct2/src folder 2023-01-17 13:24:51 +01:00
GameState.cpp Refactor and clean up date handling (#19666) 2023-04-02 09:25:41 +01:00
GameState.h Refactor and clean up date handling (#19666) 2023-04-02 09:25:41 +01:00
GameStateSnapshots.cpp vehicle chooses between brake speed and block brake speed 2023-04-11 19:28:26 -07:00
GameStateSnapshots.h Rename classes with snakes OpenRCT2/G*-M* 2023-01-19 15:13:23 +00:00
Identifiers.h Replace 2022 with 2023 in copyright headers 2023-01-01 11:58:01 +01:00
Input.cpp Rename classes with snakes OpenRCT2/G*-M* 2023-01-19 15:13:23 +00:00
Input.h Rename snake_case Class names (Remaining Bits) (#19237) 2023-01-21 19:57:17 +00:00
Intro.cpp Use dpi ref in rect and line drawing functions 2023-04-11 22:59:01 +01:00
Intro.h Use dpi ref in Intro.cpp 2023-04-11 22:57:25 +01:00
Limits.h Replace 2022 with 2023 in copyright headers 2023-01-01 11:58:01 +01:00
OpenRCT2.cpp Replace 2022 with 2023 in copyright headers 2023-01-01 11:58:01 +01:00
OpenRCT2.h Close #19176, close #19273: Consistent “CmdLine” naming 2023-02-23 00:03:30 +01:00
ParkImporter.cpp Replace 2022 with 2023 in copyright headers 2023-01-01 11:58:01 +01:00
ParkImporter.h Desnake some stuff, small string passing cleanup (#19388) 2023-02-13 20:30:16 +00:00
PlatformEnvironment.cpp Close #19214: Use consistent casing for RC and RCT (#19230) 2023-01-20 08:19:14 +00:00
PlatformEnvironment.h Add tab to About window to show contributors.md 2023-01-14 00:56:20 +01:00
ReplayManager.cpp Rename classes with snakes OpenRCT2/G*-M* 2023-01-19 15:13:23 +00:00
ReplayManager.h Replace 2022 with 2023 in copyright headers 2023-01-01 11:58:01 +01:00
System.hpp Replace 2022 with 2023 in copyright headers 2023-01-01 11:58:01 +01:00
TrackImporter.cpp Replace 2022 with 2023 in copyright headers 2023-01-01 11:58:01 +01:00
TrackImporter.h Replace 2022 with 2023 in copyright headers 2023-01-01 11:58:01 +01:00
Version.cpp Rename snake_case functions in openrct2/src folder 2023-01-17 13:24:51 +01:00
Version.h Release v0.4.4 2023-03-28 17:48:53 +02:00
common.h Fix #17069: Fix build on ppc64el architectures (#19555) 2023-03-04 12:51:08 -03:00
libopenrct2.vcxproj Build with link time code generation only on the develop branch 2023-03-26 16:50:18 +02:00
readme.md Close #19176, close #19273: Consistent “CmdLine” naming 2023-02-23 00:03:30 +01:00
sprites.h Add Powered Lifthill to Giga Coaster (#19276) 2023-04-11 06:44:05 -03:00

readme.md

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.