mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2025-12-10 01:22:25 +01:00
Page:
Building OpenRCT2 on Windows
Pages
Android
Audio specifics
Benchmarking & stress testing OpenRCT2
Building OpenRCT2 on Linux
Building OpenRCT2 on MSYS2 MinGW
Building OpenRCT2 on Windows Subsystem for Linux
Building OpenRCT2 on Windows
Building OpenRCT2 on macOS using CMake
Building OpenRCT2 on macOS using Xcode
CSS1.DAT
Changes to original game
Changes to the SV6 file format
Cheats
Coding Style
Commit Messages
Converting Game Commands to Game Actions
Custom Music and Ride Music Objects
Debugging OpenRCT2 on macOS
Decompiling Tips IDA
Decompiling Tips OllyDbg
Dithering Images using Photoshop
Dithering Images
Easter Eggs
External influences
FAQ & Common Issues
Features to implement
Found bugs and limitations in RCT2
G1 Elements Layout
Game Actions
Game Commands
Getting packaged versions
Home
How To Contribute
Increasing of game limits
Installation on Linux and macOS
Known Issues from the RCT2 Readme
Language support
Legacy console
Loading RCT1 scenarios and data
Map Generation
Maps
Master Server
Minimum install
Multiplayer issues
Multiplayer permissions
Multiplayer
Music Cleanup
NTDF design
New save format status
Newly Identified Fields
Objects
Official extended scenery set
OpenGL renderengine issues
OpenGL renderer
Original Graphics
Overall program structure
Peep AI
Peep Sprite Type
Performance
RCT1 Features not in RCT2
RCT1 ride and vehicle types and their RCT2 equivalents
RCT12_MAX_SOMETHING versus MAX_SOMETHING
Rebase and Sync fork with OpenRCT2
Release Checklist
Replay System
Ride rating calculation
Roadmap
STEX support removal
SV6 Ride Structure
Sandbox Mode
Settings in config.ini
Sizes and angles in the game world
Sprite List csg1.dat
Sprite List g1.dat
Sprite compiler
Strings used in RCT1
Strings used in the game
Submitted feature requests
TD6 format
Terminology
Testing
Track Data
Track Element Lengths
Track designs
Track drawers, RTDs and vehicle types
Track types
Tutorials
Using Track Block Get Previous
Using minidumps from crash reports
Vehicle Sprite Layout
Widget colours
game.cfg structure
Clone
28
Building OpenRCT2 on Windows
Matt edited this page 2025-04-24 15:06:33 +03:00
Requirements
- Windows 7, 8, 10 or 11
- Visual Studio 2022 (Enterprise, Professional, or Community (Free))
- Latest Visual Studio updates installed
- At least 5 GB free disk space
Checking Out the Code
- Create a directory on a drive with at least 5 GB free space (e.g.,
cd C:\GitHub\OpenRCT2). - Navigate to the new directory.
- Clone the repository using GitHub Desktop or other tools.
Building with Visual Studio
- Navigate to the directory where the code was cloned (e.g.,
cd C:\GitHub\OpenRCT2). - Open
openrct2.slnin Visual Studio. - In Visual Studio, select
Build>Build Solutionfrom the top menu. The first build will fetch all required dependencies.- Before building select the correct Configuration and Platform, see Configurations and Platform
- Run the game:
bin\openrct2.
Building with MSBuild
- Navigate to the directory where the code was cloned (e.g.,
cd C:\GitHub\OpenRCT2). - Open a
Developer Command Prompt for VS 2022and navigate to the repository (e.g.,cd C:\GitHub\OpenRCT2). - Run one of the following:
- For 64-bit:
msbuild openrct2.proj /t:Build /p:Platform=x64 /p:Configuration=Release - For 32-bit:
msbuild openrct2.proj /t:Build /p:Platform=Win32 /p:Configuration=Release - Both choices will work but it is recommended to select the platform that you are using.
- For 64-bit:
- Run the game:
bin\openrct2.
After running MSBuild once, you can continue development in Visual Studio by opening openrct2.sln.
Additional examples
set platform=x64
msbuild openrct2.proj /t:Clean
msbuild openrct2.proj /t:Rebuild /p:Configuration=Release
msbuild openrct2.proj /t:BuildG2
Configurations and Platform
Choose a Platform matching your system (e.g., x64 for 64-bit systems). Available configurations:
- Debug
- All optimizations are disabled for easier debugging. Fast build times but poor runtime performance.
- Release
- Recommended for development. Most optimizations enabled, supports fast incremental builds, and balances build time and runtime performance. Debugging may be limited.
- ReleaseLTCG
- This configuration uses
Link Time Code Generationalso known asWhole Program Optimization, this enables additional optimizations but will result in longer build times. This configuration is used for all our releases as it will provide the best possible performance but is not ideal for development.
- This configuration uses
Notes
- If you encounter build errors or graphical glitches, rebuild the project to update dependencies.
- For Visual Studio debugging:
- Open
openrct2.sln. - In Solution Explorer, right-click
openrct2-winand selectSet as Startup Project.
- Open
- Home
- FAQ & Common Issues
- Roadmap
- Installation
- Building
- Features
- Development
- Benchmarking & stress testing OpenRCT2
- Coding Style
- Commit Messages
- Overall program structure
- Data Structures
- CSS1.DAT
- Custom Music and Ride Music Objects
- Game Actions
- G1 Elements Layout
- game.cfg structure
- Maps
- Music Cleanup
- Objects
- Official extended scenery set
- Peep AI
- Peep Sprite Type
- RCT1 ride and vehicle types and their RCT2 equivalents
- RCT12_MAX_SOMETHING versus MAX_SOMETHING
- Ride rating calculation
- SV6 Ride Structure
- Settings in config.ini
- Sizes and angles in the game world
- Sprite List csg1.dat
- Sprite List g1.dat
- Strings used in RCT1
- Strings used in the game
- TD6 format
- Terminology
- Track Data
- Track Designs
- Track drawers, RTDs and vehicle types
- Track types
- Vehicle Sprite Layout
- Widget colours
- Debugging OpenRCT2 on macOS
- OpenGL renderer
- Rebase and Sync fork with OpenRCT2
- Release Checklist
- Replay System
- Using minidumps from crash reports
- Using Track Block Get Previous
- History
- Testing