Mimic vanilla RCT2:
- If the isolated track is the last piece on the ride, delete and
set the construction mode to a straight piece. Rotate said piece
45 degrees anti-clockwise.
- If other track still exists, delete and rotate as above but
set the track type to station-platform.
- If banked, set track type to the turn that entered the previous
orientation. For example, north west banked track would continue
with a banked 45 degree turn starting facing west.
* Project team -> Development team
* Clarify contributions for RCT2 implemenation.
* Clarify contributions in additional implementation section.
* List contributors under their most appropriate sections.
Implement 'missing objects' window
Basic implementation of 'bad objects' window
Add new object_load_error.c
Add object_load_error.c
Faffing about
String stuff
Stuff
Get window basically displaying
Proper col header for object
Display object types
Display file name and explanatory message
Probably about time I added myself to the dev list
Cleanup and comments
Make bad object window work with SC6
Fix whitespace, string IDs, flip core function sense
Fix spacing in string_ids.h
Fix string ID snafu
Fix HasNoInvalidObjects() sense
Attempt to refactor this to pass data properly
Move typedefs to separate header
Fix up signatures
Add park_load_result_types.h
Clean up includes and remnants of prev implementation
Split duplication into function, free invalid entries list on close
Use pointer for object_validity_result param
Fixup string IDs
Use LoadObject() directly
Use dependency injection, fix string termination
Xcode fix, make helper function static
Fix buffer overrun and memory leak
Use SDL for clipboard functionality
Fix function & variable declarations
Rework editor_read_s6() to use new park load result type
Update changelog for #5624
[ci skip]
Fix mem leak, function signature and whitespace
This addresses some of the desync causes:
* `vehicle_create_car` was using `scenario_rand` when it shouldn't have
* ghost elements affected grass growth
* ghost elements affecting peep logic[1]
It also adds some desync debug facilities, enabled at compile time.
It also reverts part of change introduced in
https://github.com/OpenRCT2/OpenRCT2/pull/5185,
namely reorder of desync check vs call to `ProcessGameCommandQueue();`
[1] It is not ideal to have this check in multiple locations, it is prone
to human error. We already have `map_remove_provisional_elements`,
but it is possible it does not work as well as it should. This needs
further investigation.