An open source re-implementation of RollerCoaster Tycoon 2 🎢

OpenRCT2

An open-source re-implementation of RollerCoaster Tycoon 2. A construction and management simulation video game that simulates amusement park management.


OpenRCT2.org Group Park 5


Download

Latest release Latest development build
OpenRCT2.org OpenRCT2.org

Chat

Chat takes place on Discord. You will need to create a Discord account if you don't yet have one.

If you want to help make the game, join the developer channel.

If you need help, want to talk to the developers, or just want to stay up to date then join the non-developer channel for your language.

If you want to help translate the game to your language, please stop by the Localisation channel.

Language Non Developer Developer Localisation
English Discord Discord Discord
Nederlands Discord

Contents


1. Introduction

OpenRCT2 is an open-source re-implementation of RollerCoaster Tycoon 2 (RCT2). The gameplay revolves around building and maintaining an amusement park containing attractions, shops and facilities. The player must try to make a profit and maintain a good park reputation whilst keeping the guests happy. OpenRCT2 allows for both scenario and sandbox play. Scenarios require the player to complete a certain objective in a set time limit whilst sandbox allows the player to build a more flexible park with optionally no restrictions or finance.

RollerCoaster Tycoon 2 was originally written by Chris Sawyer in x86 assembly and is the sequel to RollerCoaster Tycoon. The engine was based on Transport Tycoon, an older game which also has an equivalent open-source project, OpenTTD. OpenRCT2 attempts to provide everything from RCT2 as well as many improvements and additional features, some of these include support for modern platforms, an improved interface, improved guest and staff AI, more editing tools, increased limits, and cooperative multiplayer. It also re-introduces mechanics from RollerCoaster Tycoon that were not present in RollerCoaster Tycoon 2. Some of those include; mountain tool in-game, the "have fun" objective, launched coasters (not passing-through the station) and several buttons on the toolbar.


2. Downloading the game (pre-built)

OpenRCT2 requires original files of RollerCoaster Tycoon 2 to play. It can be bought at either Steam or GOG.com. If you have the original RollerCoaster Tycoon and its expansion packs, you can point OpenRCT2 to these in order to play the original scenarios.

OpenRCT2.org offers precompiled builds and installers of the latest master and the develop branch. There is also a cross platform Launcher available that will automatically update your build of the game so that you always have the latest version.

Flathub offers flatpaks for Linux distributions that support this application distribution system:

Some Linux distributions offer native packages already. These packages are usually third-party, but we're trying to resolve issues they are facing.

Some *BSD operating systems offer native packages. These packages are usually third-party, but we're trying to resolve issues they are facing.


3. Building the game

3.1 Building prerequisites

OpenRCT2 requires original files of RollerCoaster Tycoon 2 to play. It can be bought at either Steam or GOG.com.

Windows:

  • Visual Studio 2019 (Enterprise / Professional / Community (Free))
    • Desktop development with C++

macOS:

  • Xcode 10+

The program can also be built as a command line program using CMake. This type of build requires:

  • Xcode Command Line Tools
  • Homebrew
  • CMake (available through Homebrew)

Linux:

  • sdl2 (only for UI client)
  • freetype (can be disabled)
  • fontconfig (can be disabled)
  • libzip (>= 1.0)
  • libpng (>= 1.2)
  • speexdsp (only for UI client)
  • curl (only if building with http support)
  • nlohmann-json (>= 3.6.0)
  • openssl (>= 1.0; only if building with multiplayer support)
  • icu (>= 59.0)
  • zlib
  • gl (commonly provided by Mesa or GPU vendors; only for UI client, can be disabled)
  • duktape (unless scripting is disabled)
  • cmake
  • innoextract (optional runtime dependency; used for GOG installer extraction during setup)

Refer to https://github.com/OpenRCT2/OpenRCT2/wiki/Building-OpenRCT2-on-Linux#required-packages-general for more information about installing the packages.


3.2 Compiling and running

Windows:

  1. Check out the repository. This can be done using GitHub Desktop or other tools.

  2. Open a new Developer Command Prompt for VS 2019, then navigate to the repository (e.g. cd C:\GitHub\OpenRCT2).

  3. To build the 64-bit version, use msbuild openrct2.proj /t:build /p:platform=x64.

    To build the 32-bit version, use msbuild openrct2.proj /t:build /p:platform=Win32.

  4. Run the game, bin\openrct2

Once you have ran msbuild once, further development can be done within Visual Studio by opening openrct2.sln. Make sure to select the correct target platform for which you ran the build in point #3 (Win32 for the 32-bit version, x64 for the 64-bit version), otherwise the build will fail in Visual Studio.

Other examples:

set platform=x64
msbuild openrct2.proj /t:clean
msbuild openrct2.proj /t:rebuild /p:configuration=release
msbuild openrct2.proj /t:g2
msbuild openrct2.proj /t:PublishPortable

macOS:

Xcode:

The recommended way of building OpenRCT2 for macOS is with Xcode. The Xcode build will create a self-contained application bundles which include all the necessary game files and dependencies. Open the project file OpenRCT2.xcodeproj in Xcode and build from there. Building this way will handle the dependencies for you automatically. You can also invoke an Xcode build from the command line using xcodebuild.

CMake:

A command line version of OpenRCT2 can be built using CMake. CMake will retrieve the dependences from Dependencies automatically. You can build the project using CMake using the following commands:

mkdir build
cd build
cmake ..
make
ln -s ../data data

Then you can run the game by running ./openrct2.

Detailed instructions can be found on Building OpenRCT2 on macOS using CMake.

Linux:

The standard CMake build procedure is to install the required libraries, then:

mkdir build
cd build
cmake ../ # set your standard cmake options, e.g. build type here - For example, -DCMAKE_BUILD_TYPE=RelWithDebInfo
make # you can parallelise your build job with e.g. -j8 or consider using ninja
DESTDIR=. make install # the install target creates all the necessary files in places we expect them

You can also use Ninja in place of Make, if you prefer, see Wiki for details.

Detailed instructions can be found on Building OpenRCT2 on Linux.


4. Contributing

OpenRCT2 uses the gitflow workflow. If you are implementing a new feature or logic from the original game, please branch off and perform pull requests to develop. If you are fixing a bug for the next release, please branch off and perform pull requests to the correct release branch. master only contains tagged releases, you should never branch off this.

Please read our contributing guidelines for information.

4.1 Bug fixes

A list of bugs can be found on the issue tracker. Feel free to work on any bug and submit a pull request to the develop branch with the fix. Mentioning that you intend to fix a bug on the issue will prevent other people from trying as well.

4.2 New features

Please talk to the OpenRCT2 team first before starting to develop a new feature. We may already have plans for or reasons against something that you'd like to work on. Therefore contacting us will allow us to help you or prevent you from wasting any time. You can talk to us via Discord, see links at the top of this page.

4.3 Translation

You can translate the game into other languages by editing the language files in data/language directory. Please join discussions in the #localisation channel on Discord and submit pull requests to OpenRCT2/Localisation.

4.4 Graphics

You can help create new graphics for the game by visiting the OpenGraphics project. 3D modellers needed!

4.5 Audio

You can help create the music and sound effects for the game. Check out the OpenMusic repository and drop by our #open-sound-and-music channel on Discord to find out more.

4.6 Scenarios

We would also like to distribute additional scenarios with the game, when the time comes. For that, we need talented scenario makers! Check out the OpenScenarios repository.


5. Licence

OpenRCT2 is licensed under the GNU General Public License version 3.


6. More information

Similar Projects

OpenLoco OpenTTD openage OpenRA
icon_x128
Chris Sawyer's Locomotion Transport Tycoon Deluxe Age of Empires 2 Red Alert

7. Sponsors

Companies that kindly allow us to use their stuff:

DigitalOcean JetBrains Backtrace
do_logo_vertical_blue svg jetbrains backtrace
Hosting of various services CLion and other products Minidump uploads and inspection
Owner
OpenRCT2
An open source re-implementation of Roller Coaster Tycoon 2.
OpenRCT2
Comments
  • OpenRCT2 logo required

    OpenRCT2 logo required

    Before our first pre-release, we need to create a square logo for OpenRCT2 which will be used for the executable / application icon. If there is anyone experienced in illustration art or knows anyone that is and who is up for the task, an SVG submission would be welcome.

    It can be based on one of the original icons for RCT if desired. I also think the icon should have a transparent background with some sort of border rather than a opaque square.

    Thanks.

  • .park implementation

    .park implementation

    This is not a general Q&A thread. Ask any questions on Discord. Questions placed here will be removed. Any issues you find should be reported as regular issues, making sure to mention they only affect the new save format.

    This is still in development, but it's easier to do proper discussion if we have a PR. Hence the "Draft PR".

    Still to implement:

    • [x] Entities
      • [x] Remove all unnecessary fields from SpriteBase (~~LinkedListId, next, previous, next_in_quadrant,~~ flags)
      • [x] Replace sprite_identifier with EntityType (remove sub types for MiscEntities)
      • [x] Replace EntityLists with lists (remove next field)
      • ~~[ ] Invert ownership of entities so that they store in the lists~~
      • ~~[ ] Make entity removal/addition happen at end of tick~~
      • ~~[ ] Replace EntityLists with vectors created on load (remove next field)~~
      • [x] Rework checksum to compute by entity type
      • [x] Rework replays to save by entity type
      • [x] Rework s6 save test to use GameState
      • ~~[ ] Investigate best way to hold all Entity types~~
      • ~~[ ] Move sprite flashing to ui project~~
      • [x] Remove all for loops over entities that use GetEntity (except where required)
      • [x] split guests and staff
    • [x] Research list
    • [x] Cheats (implemented by ZehMatt)
    • [x] Fix crash when raising object limits (#10881)
    • [x] Invisibility flag instead of corrupted elements
    • [x] Revert RidesBeenOn hack
    • [x] Remove gScenarioExpansionPacks (no longer used)
    • [x] Export to .park in crash handling
    • [x] Export to .parkrep in crash handling
    • [x] Handle packing of objects (dat, json, parkobj)
    • [x] Update replay to use .park
    • [x] Allow using new and old object identifiers
    • [x] Handle new object types (station, surface, edge, music)
    • [x] Reserve room for tile element owner
    • [x] Fix scenery window to handle more scenery groups
      • [x] Use full width of window to show list items
      • [x] Fix incorrect title
    • [x] Send park instead of sv6 over network (cheats now in .park data)
    • [x] Splitting paths into path surfaces and path railings
      • [x] Update tile inspector
      • [x] Update plugin framework
      • [x] Use correct yellow bamboo supports
      • [x] Footpath surface objects
        • [x] JSON files
        • [x] Loading code in OpenRCT2
      • [x] Make old-style/legacy paths work as well.
      • [x] Paths without slope railings should not have railings underground
      • [x] Support colours: grey for space supports, yellow for bamboo supports
      • [x] Preview images for path surface and path supports
      • [x] Object Selection window:
        • [x] Preview for path surfaces and railings
        • [x] Tab images for path surfaces and railings
        • [x] Tooltips for legacy footpaths, surfaces and railings
        • [x] Window width
        • [x] Hide legacy footpaths from default view
        • [x] Require at least one regular path, one queue and one path railing selected. (And don't require selecting legacy paths.)
      • [x] Fix paths in track designs
      • [x] Reset footpath selection when loading a new game
      • [x] Path preview for yellow bamboo and grey space supports is broken (Ted)
      • [x] Loading SV6 files with custom objects is broken (Ted)
      • [x] Optionally: make the RCT1 space supports use the images from RCT2 + g1.dat in order to work for everyone (Michael)
    • [x] Set researched ride types, entries and scenery automatically (build pre-researched list automatically)
    • [x] Do we still need gMapBaseZ? Yes
    • [x] Fix money32 / money64 issues
    • [x] Replace gScenarioTicks with gCurrentTicks
    • [x] Staff patrol areas
    • [x] Fix read/write of notifications.
    • [x] Call scenario_remove_trackless_rides() and scenario_fix_ghosts() again (or integrate them)
    • [x] Miscellaneous tab in Scenery window is broken
    • [x] Warn when trying to export JSON objects to TD6
    • [x] Change guest history to real values
    • [x] Scenario editor: Add pay park / pay rides
    • [x] Fix mouse input on zoom x0.5 on half of the map (easy to repro on Electric Fields, left side)
    • [x] Investigate string ID exhaustion
    • [x] Fix park name always being Six Flags
    • [x] Rename objects to origin.type.name.
      • [x] Rename space footpath surface to "red tarmac"
    • [x] Remove loading of JSON legacy footpaths (DAT support for them should remain).
    • [x] Fix raised circuit and art deco footpath railings (they should still have queue banners).
    • [x] Allow railings to omit banners (needed for the invisible railings)
    • [x] Include an invisible footpath surface

    PRs to be merged first:

    • [x] Refactor of remaining tile elements: https://github.com/OpenRCT2/OpenRCT2/pull/10866
    • [x] Translate SV6 object offsets to OpenRCT2 ones #10881
    • [x] Rework scenery handling #10922
    • [x] Ride id (needed for more than 255 rides in a park) https://github.com/OpenRCT2/OpenRCT2/pull/14411

    Crashes/faults to address:

    • [x] News history gets corrupted

    Limits to be raised in this PR:

    • [x] 255 stations
    • [x] 2047 small objects
    • [x] 2047 large objects
    • [x] 2047 wall objects
    • [x] 2047 ride types
    • [x] 255 combined path types
    • [x] 255 banner objects
    • [x] 255 path addition objects
    • [x] 16777216 tile elements
    • [x] 65535 sprites
    • [x] 1000 rides in a park
    • [x] 255 trains per ride (from 31) (#714)
    • [x] 256 spawn points (up from 2)

    Stuff to be left for another PR:

    • [ ] More granular Z coordinates for tile elements (making them twice as granular allows for 100% RCT1 compatibility in this area).
    • [ ] Splitting path elements and path additions

    To be decided:

    • [x] Map size (x and y are often saved in 8-bit unsigned variables, which will overflow)
    • [x] Usage of old identifiers: https://github.com/OpenRCT2/OpenRCT2/issues/13080

    Other stuff this PR tackles:

    • [x] Making the Fruity Ices Stall colourable
    • [x] Allow freezing a ride's ratings

    Test notes:

    • [x] Test by loading up an SV6, saving it to .PARK, then reloading that file.
    • [x] Test placing track design (currently crashes in some cases)

    Stuff for the changelog:

    - Feature: [#10664] New save format with increased limits. (put this right on top!)
    - Feature: [#714] Allow up to 255 trains per ride.
    - Feature: [#2253] Path surfaces and railings can be mixed and matched, like in RCT1.
    - Improved: [#10664] Invisibility status is now shown in the Tile Inspector.
    
  • Partially fix compilation on OS X

    Partially fix compilation on OS X

    Currently, building on OS X appears to be broken -- this is a step towards fixing the build process. The changes are made are relatively minor, and will still result in a broken compilation process:a fter my changes, the process errors on the inline assembly in addresses.h, stating "brackets expression not supported on this target". If anyone else could look at that, that'd be grand.

    As for my changes: first off, OS X does not provide a sha256sum tool, which install.sh assumes to exist. Instead, we should use shasum -a 256.

    Secondly, clang does not support the var-tracking-assignments flag. I checked why it was introduced using git blame, but there does not seem to be a proper reason? Dropping it results in compilation continuing.

    Finally, limits.h was not included in rect.c, resulting in CHAR_BITS not being defined.

  • Added build target appbundle on OS X

    Added build target appbundle on OS X

    This resolves #2463

    Thanks to @kkirby for helping with this once we realized we were both working on it at the same time.

    I did add the .icns file to the repository, but I felt that because the file type is similar to the .ico format, the presence of the icon.ico file justifies adding the .icns file. If you disagree, I can use kkriby's script to generate the icon file on build.

  • Game crashes when switching to OpenGL

    Game crashes when switching to OpenGL

    OS: Windows 7 Version: 0.0.5-1e3504c

    [Explanation of the issue...]

    • [ ] Reproducible in RCT2 (vanilla) - no
    • [ ] Multiplayer? - not tested

    Steps to reproduce: Set renderer to software with hardware display. Then switch to OpenGL

    Error message:

    Probleemhandtekening: Gebeurtenisnaam van probleem: APPCRASH Naam van de toepassing: openrct2.exe Versie van toepassing: 0.0.0.0 Tijdstempel van toepassing: 504d6947 Naam van foutmodule: openrct2.dll Versie van foutmodule: 0.0.0.0 Tijdstempel van foutmodule: 5782c991 Uitzonderingscode: c0000005 Uitzonderingsmarge: 00022e99 Versie van besturingssysteem: 6.1.7601.2.1.0.768.3 Landinstelling-id: 1043 Aanvullende informatie 1: 0a9e Aanvullende informatie 2: 0a9e372d3b4ad19135b953a78882e789 Aanvullende informatie 3: 0a9e Aanvullende informatie 4: 0a9e372d3b4ad19135b953a78882e789

    Screenshots / Video: http://i.imgur.com/KFnbGIe.png

  • Add message dialog and directory open dialog on OS X

    Add message dialog and directory open dialog on OS X

    This implements #2471.

    One issue I had was compiling both Objective-C and C++ together. Apparently Objective-C doesn't like the -std flag. To get around this, I split up the c, cpp and mm files into their own variables in the CMakelists file. This way the cpp files get the -std flag, and the mm files don't. I don't know if there is a better option. There was apparently an issue filed in CMake to implement a OBJC_FLAGS variable, but they didn't do it. https://cmake.org/Bug/view.php?id=4756

  • Sse4.1

    Sse4.1

    This is the same as https://github.com/OpenRCT2/OpenRCT2/pull/5962 but with SSE4.1 this time.

    @ZehM4tt can you check this? Especially debug builds.

    Do benchgfx test/tests/testdata/parks/bpb.sv6 before and after this change.

  • Add cheat for changing car lengths

    Add cheat for changing car lengths

    When enabled, this cheat allows users to set any train length between 1 and 64, regardless of station length or the normal maximum and minimum length of the train. It also increases the supported maximum length of trains from 16 to 64. It should be noted that rides with trains longer than 16 will not be backward compatible.

    It is known not to work on tower rides or on the reverse freefall coaster - I'm not exactly sure why, but it doesn't seem too much of an issue for now. Also, if there is not room behind the station for the extra cars (either because it's a shuttle coaster or because there's a track merge), then they all just layer on top of one another. I'm not sure what can be done about it - ideally you'd limit the trains to what will fit, but that means traversing the track to determine how much room there is, which seems excessively complex.

  • Cannot open the damn exe

    Cannot open the damn exe

    So I want to try the OpenRCT and I am pretty noob at setting things up (or things that are new to me) and it just crashed when I try oto open the exe file. I chose the right directory (not the C:/, it is in a USB flash) and jnothing. I tried fiddlling the settings, nope. I tried running it on a command propmpt, nothing. Is there any help at all here? Thanks. I am using win 8 btw

    Will

  • Implement several POSIX methods.

    Implement several POSIX methods.

    I'm working on posix.c to get rid of most of the STUB() calls there.

    What's done for now:

    • Implement file copy on POSIX systems; autosave should work now on Mac OS X and Linux. (tested on Arch Linux)
  • include correct headers

    include correct headers

    This fixes so that each files includes the headers that it needs. This usually works anyway on gcc but clang is more stricter about this.

    It also changes _stricmp to strcasecmp which I believe to be right based on this: http://stackoverflow.com/questions/1784767/g-error-stricmp-was-not-declared-in-this-scope-but-ok-for-strcmp

  • [d546fd] openrct2.exe: SDL_UpdateMouseCapture, SDL_SetKeyboardFocus, WIN_UpdateFocus, WIN_WindowProc, KiUserCallbackDispatch,...

    [d546fd] openrct2.exe: SDL_UpdateMouseCapture, SDL_SetKeyboardFocus, WIN_UpdateFocus, WIN_WindowProc, KiUserCallbackDispatch,...

    New error: [openrct2]
    1 occurrence since (Fri Nov 15 2019 11:27:39)
    Applicationopenrct2.exe
    Attributes _rxid — 1
    • 13000000-e1b1-3d09-0000-000000000000 — 1

    attachment_config.ini — 1
    • C:\Users\16032\Documents\OpenRCT2\crash\d2acf6e6-7df7-463f-8cc7-7448d6c69bc3.ini — 1

    assert_failure — 1
    • * — 1

    fault.address — 1
    • 64 — 1

    version — 1
    • OpenRCT2, v0.4.2 (8ceea45) provided by GitHub — 1

    error.message — 1
    • EXCEPTION_ACCESS_VIOLATION_WRITE — 1

    commit — 1
    • 8ceea45 — 1

    Classifiers invalid-write
    Frames SDL_UpdateMouseCapture SDL_SetKeyboardFocus WIN_UpdateFocus WIN_WindowProc KiUserCallbackDispatch ZwUserPeekMessage PeekMessageW WIN_PumpEvents SDL_PumpEventsInternal SDL_WaitEventTimeout_REAL UiContext::ProcessMessages OpenRCT2::Context::RunFixedFrame OpenRCT2::Context::RunFrame OpenRCT2::Context::RunGameLoop OpenRCT2::Context::Launch OpenRCT2::Context::RunOpenRCT2 NormalisedMain wmain invoke_main
  • [9703f0] openrct2.exe: openrct2.exe, ntdll.dll, openrct2.exe, openrct2.exe, openrct2.exe, openrct2.exe, openrct2.exe, openrct...

    [9703f0] openrct2.exe: openrct2.exe, ntdll.dll, openrct2.exe, openrct2.exe, openrct2.exe, openrct2.exe, openrct2.exe, openrct...

    New error: [openrct2]
    1 occurrence since (Fri Nov 15 2019 11:27:39)
    Applicationopenrct2.exe
    Attributes _rxid — 1
    • 0d000000-e1b1-3d09-0000-000000000000 — 1

    attachment_config.ini — 1
    • C:\Users\caleb\Documents\OpenRCT2\crash\262883a3-cd2d-4cf8-b46d-dcadf05d040c.ini — 1

    assert_failure — 1
    • * — 1

    fault.address — 1
    • 64 — 1

    version — 1
    • OpenRCT2, v0.4.2-19-g0dee78b (0dee78b on develop) provided by GitHub — 1

    error.message — 1
    • EXCEPTION_ACCESS_VIOLATION_READ — 1

    commit — 1
    • 0dee78b — 1

    Classifiers invalid-read
    Frames openrct2.exe ntdll.dll openrct2.exe openrct2.exe openrct2.exe openrct2.exe openrct2.exe openrct2.exe openrct2.exe openrct2.exe openrct2.exe openrct2.exe openrct2.exe openrct2.exe openrct2.exe openrct2.exe openrct2.exe openrct2.exe openrct2.exe kernel32.dll ntdll.dll KERNELBASE.dll
  • [28c350] openrct2.exe: duk__mark_heaphdr_nonnull, duk__mark_tval, duk__mark_hobject, duk__mark_heaphdr, duk__mark_roots_heap,...

    [28c350] openrct2.exe: duk__mark_heaphdr_nonnull, duk__mark_tval, duk__mark_hobject, duk__mark_heaphdr, duk__mark_roots_heap,...

    New error: [openrct2]
    1 occurrence since (Fri Nov 15 2019 11:27:39)
    Applicationopenrct2.exe
    Attributes _rxid — 1
    • 02000000-e1b1-3d09-0000-000000000000 — 1

    attachment_config.ini — 1
    • C:\Users\ethan\OneDrive\Documents\OpenRCT2\crash\6d61686a-6a62-4c61-8033-38093960ebec.ini — 1

    assert_failure — 1
    • * — 1

    fault.address — 1
    • 2642444147824 — 1

    version — 1
    • OpenRCT2, v0.4.2-210-g752eec1 (752eec1 on develop) provided by GitHub — 1

    error.message — 1
    • EXCEPTION_ACCESS_VIOLATION_READ — 1

    commit — 1
    • 752eec1 — 1

    Classifiers invalid-read
    Frames duk__mark_heaphdr_nonnull duk__mark_tval duk__mark_hobject duk__mark_heaphdr duk__mark_roots_heap duk_heap_mark_and_sweep duk__heap_mem_alloc_slowpath duk_heap_mem_alloc duk__grow_props_for_new_entry_item duk__hobject_alloc_entry_checked duk_hobject_putprop duk__put_prop_shared duk_hobject_enumerator_create duk_hobject_get_enumerated_keys duk__json_enc_array duk__json_enc_object duk__json_enc_value duk_bi_json_stringify_helper duk_json_encode OpenRCT2::Scripting::ScriptEngine::SaveSharedStorage OpenRCT2::Scripting::ScConfiguration::set dukglue::detail::MethodInfo<1,OpenRCT2::Scripting::ScConfiguration,void,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &,DukValue const &>::MethodRuntime::call_native_method duk__js_execute_bytecode_inner duk_js_execute_bytecode duk__handle_call_raw duk_handle_call_unprotected duk__pcall_method_raw duk__handle_safe_call_inner(duk_hthread *, duk_handle_safe_call(duk_hthread *, duk_safe_call(duk_hthread *, duk_pcall_method_flags duk_pcall_method OpenRCT2::Scripting::ScriptEngine::ExecutePluginCall OpenRCT2::Scripting::HookEngine::Call scenario_save game_autosave scenario_autosave_check OpenRCT2::GameState::Tick OpenRCT2::Context::Tick OpenRCT2::Context::RunFixedFrame OpenRCT2::Context::RunFrame OpenRCT2::Context::Launch OpenRCT2::Context::RunOpenRCT2 NormalisedMain wmain invoke_main UnhandledExceptionFilter
  • [718133] openrct2.exe: DrawRLESpriteMinify, DrawRLESprite<1>, gfx_draw_sprite_palette_set_software, gfx_draw_sprite_software,...

    [718133] openrct2.exe: DrawRLESpriteMinify, DrawRLESprite<1>, gfx_draw_sprite_palette_set_software, gfx_draw_sprite_software,...

    New error: [openrct2]
    1 occurrence since (Fri Nov 15 2019 11:27:39)
    Applicationopenrct2.exe
    Attributes _rxid — 1
    • 01000000-e1b1-3d09-0000-000000000000 — 1

    attachment_config.ini — 1
    • C:\Users\didom\Documents\OpenRCT2\crash\4deea87b-5471-449c-90e4-fa3919b68a95.ini — 1

    assert_failure — 1
    • * — 1

    fault.address — 1
    • 2630380094599 — 1

    version — 1
    • OpenRCT2, v0.4.2-210-g752eec1 (752eec1 on develop) provided by GitHub — 1

    error.message — 1
    • EXCEPTION_ACCESS_VIOLATION_READ — 1

    commit — 1
    • 752eec1 — 1

    Classifiers invalid-read
    Frames DrawRLESpriteMinify DrawRLESprite<1> gfx_draw_sprite_palette_set_software gfx_draw_sprite_software set_vehicle_type_image_max_sizes RideObject::Load ObjectManager::LoadObjects OpenRCT2::Title::TitleSequencePlayer::LoadParkFromStream OpenRCT2::Title::TitleSequencePlayer::Update OpenRCT2::TitleScreen::Tick OpenRCT2::Context::Tick OpenRCT2::Context::RunFixedFrame OpenRCT2::Context::RunFrame OpenRCT2::Context::Launch OpenRCT2::Context::RunOpenRCT2 NormalisedMain wmain invoke_main
  • Add guest thoughts to plugin API

    Add guest thoughts to plugin API

    This adds the ability for plugins to query guest thoughts as well as their in-game string representation. At the moment, this does not allow modifying guest thoughts, but I think that would be worth implementing, either in this pull request, or in the future.

    Guest thoughts are accessible via the thoughts property of a Guest. They have all of the internal integer values, as well as a toString() method that formats the thought into a string.

    Part of discussion #18703

  • Use `-Wno-stringop-overflow` when compiling .deb

    Use `-Wno-stringop-overflow` when compiling .deb

    This warning is bugged in GCC < 11.3, see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99578

    Should close https://github.com/OpenRCT2/OpenRCT2/issues/16691

OpenMW is an open-source open-world RPG game engine that supports playing Morrowind.

OpenMW is an open-source open-world RPG game engine that supports playing Morrowind.

Nov 30, 2022
An open source implementation of the dark souls 3 game server.
An open source implementation of the dark souls 3 game server.

What is this project? An open source implementation of the dark souls 3 game server. Idealistically made for the purpose of allow better alternatives

Nov 29, 2022
An open source implementation of the dark souls 2 game server.
An open source implementation of the dark souls 2 game server.

WARNING: This is non-functional, its an initial branch from ds3os. What is this project? An open source implementation of the dark souls 2 game server

Oct 8, 2022
Open-source, cross-platform, C++ game engine for creating 2D/3D games.

GamePlay v3.0.0 GamePlay is an open-source, cross-platform, C++ game framework/engine for creating 2D/3D mobile and desktop games. Website Wiki API De

Nov 24, 2022
KlayGE is a cross-platform open source game engine with plugin-based architecture.

KlayGE KlayGE is a cross-platform open source game engine with plugin-based architecture. It's started since 2003. The explicit goal of KlayGE is: to

Nov 24, 2022
Powerful, mature open-source cross-platform game engine for Python and C++, developed by Disney and CMU
Powerful, mature open-source cross-platform game engine for Python and C++, developed by Disney and CMU

Panda3D Panda3D is a game engine, a framework for 3D rendering and game development for Python and C++ programs. Panda3D is open-source and free for a

Nov 28, 2022
MIT Licensed Open Source version of Torque 2D game engine from GarageGames
MIT Licensed Open Source version of Torque 2D game engine from GarageGames

We've moved! All torque engines have moved to a new organization, Torque Game Engines. Torque2D can be found at https://github.com/TorqueGameEngines/T

Nov 23, 2022
MIT Licensed Open Source version of Torque 3D from GarageGames

Torque 3D MIT Licensed Open Source version of Torque 3D from GarageGames More Information Homepage Torque 3D wiki Community forum GarageGames forum Ga

Nov 23, 2022
Free, open-source, game engine and a 3D sandbox.
Free, open-source, game engine and a 3D sandbox.

Work-in-Progress The official "early alpha" release should be available around April 2021 SGEEngine SGEEngine is an open source (MIT License), C++ cen

Nov 3, 2022
Project DELTA - An open-source trainer built on the Void Engine for Toby Fox's games and their spin-offs.

Project DELTA v3 Project DELTA - An open-source, modular mod menu for Toby Fox's games and their spin-offs. Important note to Grossley: Yes, it is out

Oct 15, 2022
MAZE (My AmaZing Engine) - 🎮 Personal open-source cross-platform game engine
MAZE (My AmaZing Engine)  - 🎮 Personal open-source cross-platform game engine

MAZE (My AmaZing Engine) is the self-written open-source cross-platform game engine in the active development stage. At the moment it is my main pet project, developed for the purpose of learning and preserving different game dev technologies.

Nov 30, 2022
yuzu is an experimental open-source emulator for the Nintendo Switch from the creators of Citra.

yuzu (Nintendo Switch Emulator) yuzu is an experimental open-source emulator for the Nintendo Switch from the creators of Citra. It is written in C++

Dec 1, 2022
Vinifera is an open-source community collaboration project extending the Tiberian Sun engine.
 Vinifera is an open-source community collaboration project extending the Tiberian Sun engine.

Vinifera is an open-source community collaboration project extending the Tiberian Sun engine. Latest Nightly Build: Download Table of Contents Intro C

Nov 1, 2022
Open-source repository of Orbiter Space Flight Simulator
Open-source repository of Orbiter Space Flight Simulator

Orbiter Space Flight Simulator Orbiter is a spaceflight simulator based on Newtonian mechanics. Its playground is our solar system with many of its ma

Nov 23, 2022
Open-source flog (Nintendo Switch's Golf NES easter egg) reimplementation
Open-source flog (Nintendo Switch's Golf NES easter egg) reimplementation

This repository is dedicated to flog, an easter egg present on Nintendo Switch consoles, containing various tools and information, which are the result of progressive reverse-engineering of the easter egg.

Sep 29, 2022
Classic Tomb Raider open-source engine
Classic Tomb Raider open-source engine

Classic Tomb Raider open-source engine

Nov 24, 2022
Minetest is an open source voxel game engine with easy modding and game creation

Minetest is an open source voxel game engine with easy modding and game creation

Nov 28, 2022
an open source NES platformer game
an open source NES platformer game

Nova the Squirrel is an NES game that stars Nova Storm, a green squirrel, who winds up in a new and unfamiliar world with strange new abilities, and she must use her new abilities to save the world.

Nov 10, 2022
Ducktape is an Open source Light weight 2d Game Engine that gives utmost priority to user convenience.
Ducktape is an Open source Light weight 2d Game Engine that gives utmost priority to user convenience.

Ducktape is an Open source Light weight 2d Game Engine that gives utmost priority to user convenience. It is written in c++ and uses SFML and Box2d for graphics and physics respectively.

Nov 17, 2022