Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

crash when using custom ride #5858

Closed
spacek531 opened this issue Jul 10, 2017 · 2 comments
Closed

crash when using custom ride #5858

spacek531 opened this issue Jul 10, 2017 · 2 comments
Assignees
Labels
crash Game exits suddenly.

Comments

@spacek531
Copy link
Contributor

OS: windows 8.1
Version: [0.0.8
Commit/Build: 337f156

Testing out Extreme's ride maker and as soon as I started to build this new custom ride I got a crash:

dump file:
custom ride crash.zip

custom ride .dat file:
TSTJR.txt

@Nubbie
Copy link
Contributor

Nubbie commented Jul 11, 2017

Error message;
Unhandled exception at 0x00007FFA64E0BB2E (openrct2.dll) in 6ed79cfb-2702-4872-b661-9d0f35285642(337f156_x86-64).dmp: 0xC0000094: Integer division by zero.

Call stack;

>	openrct2.dll!ride_get_unused_preset_vehicle_colour(unsigned char ride_sub_type, unsigned char) Line 3145	C
 	openrct2.dll!ride_create(int type=9, int subType=45, int flags=0, int * outRideIndex, int * outRideColour=0x000000a02841f84c) Line 6030	C
 	openrct2.dll!game_command_create_ride(int * eax, int * ebx=0x000000a02841f870, int * ecx=0x00000000000001a0, int * edx, int * esi=0x000000a02841f840, int * edi=0x000000a02841f868, int * ebp=0x000000a02841f878) Line 6325	C
 	openrct2.dll!game_do_command_p(int command, int * eax=0x000000a02841f84c, int * ebx=0x000000a02841f870, int * ecx=0x000000a02841f848, int * edx=0x000000a02841f844, int * esi=0x000000a02841f840, int * edi=0x000000a02841f868, int * ebp=0x000000a02841f878) Line 541	C
 	openrct2.dll!ride_create_ride(ride_list_item listItem={...}) Line 1040	C
 	openrct2.dll!window_new_ride_update(rct_window * w=0x00007ffa65c7d9c0) Line 718	C
 	openrct2.dll!game_update(...) Line 378	C
 	openrct2.dll!rct2_update(...) Line 441	C
 	openrct2.dll!OpenRCT2::Context::RunVariableFrame() Line 422	C++
 	openrct2.dll!OpenRCT2::Context::RunGameLoop() Line 360	C++
 	openrct2.dll!OpenRCT2::Context::RunOpenRCT2(int argc=677359248, char * * argv=0x0000000002040800) Line 136	C++
 	openrct2.dll!NormalisedMain(int argc=1, char * * argv=0x000000a02859a360) Line 65	C++
 	openrct2.dll!LaunchOpenRCT2(int argc, wchar_t * * argvW) Line 55	C++
 	[External Code]	

Locals;

		attempt	0	int
		preset	Variable is optimized away and not available.	
+		presetList	0x000000a0341218ce {count=??? list=0x000000a0341218cf {{main=??? additional_1=??? additional_2=??? }, ...} }	vehicle_colour_preset_list *
		randomConfigIndex	Variable is optimized away and not available.	
		ride_sub_type	Variable is optimized away and not available.	
		rideEntry	Variable is optimized away and not available.	

@Gymnasiast Gymnasiast added the crash Game exits suddenly. label Jul 13, 2017
@X123M3-256
Copy link
Contributor

I know exactly what you did (and the stack trace confirms it) - you forgot to set any colour presets. This doesn't surprise me, because there's actually nothing in the tool to suggest this is even possible, let alone necessary, and of course I never wrote any documentation to help.

However, it should choose suitable defaults so as to not crash the game, so I'd still consider this a bug in my program as well as in OpenRCT2.

The workaround is this - open the JSON file in a text editor (it can be very large, so it might take a while to fully render). Search for "default_color_schemes" and you should see something like this:

"default_color_schemes": []

Edit it so it looks like this:

"default_color_schemes": [[0,0,0]]

and your ride should stop crashing the game.

IMO this is still an issue with OpenRCT2 though because it should fail with an error message or choose a suitable default rather than crashing, and also because this did not cause problems in vanilla (it would just default to all black).

@IntelOrca IntelOrca self-assigned this Jul 13, 2017
ZehMatt pushed a commit to ZehMatt/OpenRCT2 that referenced this issue Jul 19, 2017
Add protection against ride objects with no colour presets. Default to black colours.
janisozaur added a commit to janisozaur/OpenRCT2 that referenced this issue Aug 9, 2017
- Feature: [OpenRCT2#5815] Add cheat to ignore research status and access rides/scenery not yet invented.
- Feature: [OpenRCT2#5857] Keyboard shortcut for clear scenery.
- Feature: [OpenRCT2#5877] Allow up to 16 stations to be synchronised
- Feature: [OpenRCT2#5970] The Bobsleigh Roller Coaster now supports on-ride photos.
- Feature: [OpenRCT2#5991] Allow all tracked rides that can be tested without guests to the Track Designer
- Fix: [OpenRCT2#2127, OpenRCT2#2229, OpenRCT2#5586] Mountain tool cost calculation
- Fix: [OpenRCT2#3589] Crash due to invalid footpathEntry in path_paint
- Fix: [OpenRCT2#3852] Constructing path not clearing scenery on server.
- Fix: [OpenRCT2#4455] Crash in window_sign_invalidate due to original bug
- Fix: [OpenRCT2#4715] Fix OpenGL rendering of water when zoomed. See OpenRCT2#5890.
- Fix: [OpenRCT2#4931] Crash in path_paint - footpathentry was null
- Fix: [OpenRCT2#5629] Issue with tower ride modes approach to station - incorrect sum caused sawtooth in velocity
- Fix: [OpenRCT2#5768] Prevent loading non-existent title sequences.
- Fix: [OpenRCT2#5858] Crash when using custom ride with no colour presets.
- Fix: [OpenRCT2#5865] Ride preview flickering on uneven terrain or mid air.
- Fix: [OpenRCT2#5872] Incorrect OpenGL rendering of masked sprites
- Fix: [OpenRCT2#5880] Leaving bumper cars without building causes assertion.
- Fix: [OpenRCT2#5890] Fix zoomed OpenGL rendering of special sprites with primary and secondary colours.
- Fix: [OpenRCT2#5912] Negative queue when moving entrance in paused state.
- Fix: [OpenRCT2#5920] Placing guest spawn doesn't do anything every 3rd click
- Fix: [OpenRCT2#5939] Crash when importing 'Six Flags Santa Fe'.
- Fix: [OpenRCT2#5977] Custom music files not showing up in music list
- Fix: [OpenRCT2#5981] Ride list doesn't update after using quick demolish.
- Fix: [OpenRCT2#5984] Allow socket binding to same port after crash
- Fix: [OpenRCT2#5998] Staff not getting paid / no loan interest.
- Fix: [OpenRCT2#6026] 'Select ride to advertise' dropdown does not display all items.
- Fix: [OpenRCT2#6052] Unable to place entrance/exit on certain ride types.
- Fix: [OpenRCT2#6071] Quick demolish can delete protected ride.
- Fix: [OpenRCT2#6111] Mute button always visible in editor.
- Fix: [OpenRCT2#6113] Track preview shows incorrect highest drop height.
- Improved: [OpenRCT2#2223] Change mountain tool to ignore higher surrounding tiles.
- Improved: [OpenRCT2#4301] Leading and trailing whitespace in player name is now removed.
- Improved: [OpenRCT2#5859] OpenGL rendering performance
- Improved: [OpenRCT2#5863] Switching drawing engines no longer requires the application to restart.
- Improved: [OpenRCT2#6003] Doors placed on tracks will now work with all vehicles
- Improved: [OpenRCT2#6037] Autosaves are now stored in a subfolder
- Improved: The land tool buttons can now be held down to increase/decrease size.
- Improved: Dropdowns longer than 32 items overflow into columns.
- Improved: Ride Type option in ride window is now a dropdown.
- Improved: "About OpenRCT2" window redesigned, now contains OpenRCT2 info and access to changelog
janisozaur added a commit that referenced this issue Aug 9, 2017
- Feature: [#5815] Add cheat to ignore research status and access rides/scenery not yet invented.
- Feature: [#5857] Keyboard shortcut for clear scenery.
- Feature: [#5877] Allow up to 16 stations to be synchronised
- Feature: [#5970] The Bobsleigh Roller Coaster now supports on-ride photos.
- Feature: [#5991] Allow all tracked rides that can be tested without guests to the Track Designer
- Fix: [#2127, #2229, #5586] Mountain tool cost calculation
- Fix: [#3589] Crash due to invalid footpathEntry in path_paint
- Fix: [#3852] Constructing path not clearing scenery on server.
- Fix: [#4455] Crash in window_sign_invalidate due to original bug
- Fix: [#4715] Fix OpenGL rendering of water when zoomed. See #5890.
- Fix: [#4931] Crash in path_paint - footpathentry was null
- Fix: [#5629] Issue with tower ride modes approach to station - incorrect sum caused sawtooth in velocity
- Fix: [#5768] Prevent loading non-existent title sequences.
- Fix: [#5858] Crash when using custom ride with no colour presets.
- Fix: [#5865] Ride preview flickering on uneven terrain or mid air.
- Fix: [#5872] Incorrect OpenGL rendering of masked sprites
- Fix: [#5880] Leaving bumper cars without building causes assertion.
- Fix: [#5890] Fix zoomed OpenGL rendering of special sprites with primary and secondary colours.
- Fix: [#5912] Negative queue when moving entrance in paused state.
- Fix: [#5920] Placing guest spawn doesn't do anything every 3rd click
- Fix: [#5939] Crash when importing 'Six Flags Santa Fe'.
- Fix: [#5977] Custom music files not showing up in music list
- Fix: [#5981] Ride list doesn't update after using quick demolish.
- Fix: [#5984] Allow socket binding to same port after crash
- Fix: [#5998] Staff not getting paid / no loan interest.
- Fix: [#6026] 'Select ride to advertise' dropdown does not display all items.
- Fix: [#6052] Unable to place entrance/exit on certain ride types.
- Fix: [#6071] Quick demolish can delete protected ride.
- Fix: [#6111] Mute button always visible in editor.
- Fix: [#6113] Track preview shows incorrect highest drop height.
- Improved: [#2223] Change mountain tool to ignore higher surrounding tiles.
- Improved: [#4301] Leading and trailing whitespace in player name is now removed.
- Improved: [#5859] OpenGL rendering performance
- Improved: [#5863] Switching drawing engines no longer requires the application to restart.
- Improved: [#6003] Doors placed on tracks will now work with all vehicles
- Improved: [#6037] Autosaves are now stored in a subfolder
- Improved: The land tool buttons can now be held down to increase/decrease size.
- Improved: Dropdowns longer than 32 items overflow into columns.
- Improved: Ride Type option in ride window is now a dropdown.
- Improved: "About OpenRCT2" window redesigned, now contains OpenRCT2 info and access to changelog
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
crash Game exits suddenly.
Projects
None yet
Development

No branches or pull requests

5 participants