Reporting Bugs
To report a bug, ensure you have a GitHub account. Search the issues page to see if the bug has already been reported.Bug Report Requirements
If the bug hasn’t been reported, create a new issue and include:- Steps to reproduce the bug
- A saved game if possible (very helpful for replication)
- Your system architecture and game version
Version Information
You can find your version information at the bottom left of the title screen or by running:For Windows builds, OpenRCT2 will generate a memory dump and saved game when the game crashes unexpectedly. The game will open explorer to these files automatically. They are placed inside your configured user directory which by default is
%HOMEPATH%\Documents\OpenRCT2.Translation
Translation is managed in a separate repository: OpenRCT2/Localisation. See the Localization page for detailed information about the translation workflow.Contributing Code
OpenRCT2 uses the gitflow workflow. If you are implementing a new feature or fixing a bug, please branch off and perform pull requests todevelop. The master branch only contains tagged releases.
Before You Start
Code Hints
Adding New Strings
If you need to add a new localisable string to OpenRCT2:- Add your new string entry to
./data/language/en-GB.txt - Important: Only edit
en-GBin the OpenRCT2 repository as this is the base language used for translation - Add a string constant for your strings to
./src/localisation/StringIds.h
After your pull request is merged, create a new issue in the OpenRCT2/Localisation repository about the new strings you have added. This notifies translators so they can translate the new strings as quickly as possible.
Language Files Location
Coding Style
Use the OpenRCT2 Coding Style as a reference for new or changed code.Language Choice
For now, it is recommended that you only write C++ files as the majority of the game is currently in C++. Exceptions are modules that have direct relationship to original code.
Community Channels
Discord - Development
Join the developer channel to discuss contributions and get help
GitHub Issues
Browse and report bugs in the issue tracker
Localisation
Contribute translations in the localisation repository
Contributing Wiki
Detailed guide on how to contribute code
Frequently Asked Questions
What if I change an existing string?
What if I change an existing string?
If you change any existing string, it is important that you create an issue in the OpenRCT2/Localisation repository. String changes can be more easily overlooked by translators, so notifying them helps keep translations up to date.
Should I branch off master or develop?
Should I branch off master or develop?
Always branch off and perform pull requests to
develop. The master branch only contains tagged releases and you should never branch off this.Can I contribute to multiple languages?
Can I contribute to multiple languages?
No. Only edit
en-GB.txt in the main OpenRCT2 repository. The OpenRCT2/Localisation repository is used for translation pull requests, and changes to that repository are merged with the OpenRCT2 main repository every night.How do I test my changes?
How do I test my changes?
See the Building the Game guides for information on compiling OpenRCT2 on different platforms. Once built, you can test your changes locally before submitting a pull request.

