Add more defensive checks for when there are no objects loaded.
- Do not open footpath window if there are no footpath objects loaded.
- Prevent crash in scenery window if no scenery groups loaded.
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 fixes the following things:
- The objective was not available when using money (despite it being used on such scenarios in RCT1)
- The scenario editor set the 'partially finished flag' on every single ride
- The scenario editor did not check if there were five finished roller coasters
- When checking the goal, there was no check if the ride was a roller coaster
- When checking the goal, there was no check if the ride was one of the roller coasters to be completed
* Add ride groups
* Convert ride groups to C++
* Fix linking and crashes in Xcode
* Comment out .field syntax to make Visual Studio happy
* Fix alignment, fix changelog, cleanup
* Properly save ride group index in the ride object repository and bump its version
* Fix fallback behaviour when the ride entry is not available or not invented
* Fix include
* Rename RideGroup to RideGroupManager, add const, cleanup
* Break after finding matching ride group
Implement "Own all land" cheat into cheat window
Restore only valid peep spawn points
Code improvements
Update to use PEEP_SPAWN / PARK_ENTRANCE defines
- Feature: [#1730] Keyboard shortcuts for track construction.
- Feature: [#2060, #5282] Heightmap loader
- Feature: [#5110] The tile inspector can now be used in multiplayer.
- Feature: [#5305] Add scenery eye dropper tool.
- Feature: [#5370] Ride operating mode can be set from the console.
- Feature: [#5415] Add mute toolbar button (as seen in RCT1 and Locomotion).
- Improved: [#5254] Scenario option changes are now synchronised over multiplayer.
- Improved: [#3288] Added server description and greeting textboxes to the start server menu.
- Improved: [#3502] Track previews display at higher zoom level for large layouts.
- Improved: [#5055] Implement 'quick demolish' for rides.
- Improved: [#5137] Removing all guests no longer closes the rides and removes the vehicles.
- Improved: [#5163] Minor tile inspector improvements and fixes.
- Improved: [#5222] Add Catalan language.
- Improved: [#5351] Giga Coaster and Steel Twister RC boosters now use the correct sprites.
- Improved: Looping RC and Corkscrew RC now use booster sprites from RCT1's CSG1.DAT if available.
- Improved: Scenario options are now synced in multiplayer.
- Improved: Remove duplicate ride penalty for closed rides.
- Improved: Make shortcut keys window larger and resizable.
- Removed: known_issues.txt no longer used, check issue tracker on GitHub.
- Fix: [#1992] Felicity Anderson Cheat can crash the game, as well as blocking queues.
- Fix: [#4493] Provide tooltip for disabled price field.
- Fix: [#4689] Object selection tabs sometimes flicker.
- Fix: [#4913] Server greeting displaying local setting.
- Fix: [#4972] Map window not updated properly when shrinking map from Map Generation window.
- Fix: [#5004] Peeps in parks imported from RCT1 show abnormalities.
- Fix: [#5014] Research not imported from RCT1 correctly.
- Fix: [#5032] Booster speed is not saved in TD6.
- Fix: [#5140] Headless server should save default users.json.
- Fix: [#5150] --openrct-data-path sets user data path instead of OpenRCT2 data path.
- Fix: [#5169] Parks containing packed objects fail to open.
- Fix: [#5199] "Force a breakdown" debugging tool isn't hidden in multiplayer.
- Fix: [#5188] Clicking on a Magic Carpet doesn't open the ride window.
- Fix: [#5218] Scale RCT1 park value objectives.
- Fix: [#5219] Game crashes when opening 'misc' tab in options.
- Fix: [#5238] RCT1 import: Rides are initially free when placing them.
- Fix: [#5252] Correct typo in Conger Eel Coaster description.
- Fix: [#5265] Queue line TVs not detected properly.
- Fix: [#5271] Keyboard shortcuts window isn't large enough (for some languages).
- Fix: [#5284] Mechanic is called to fix a ride that's outside his patrol area.
- Fix: [#5285] Intro always plays even if play_intro = false.
- Fix: [#5299] Scenario editor crash when placing peep spawn.
- Fix: [#5318] Using the bulldozer tool on under-construction paths results in unlimited free money.
- Fix: [#5325] Game crashes if encountering an invalid ride type during research.
- Fix: [#5345] Correct typos in descriptions for Top Spin and Splash Boats.
- Fix: [#5350] Steel Twister RC and Giga Coaster boosters are underpowered, Junior Roller Coaster boosters overpowered compared to RCTC.
- Fix: [#5357] "Assertion failed!" after guest with name 'Emma Garrell' exits/enters ride.
- Fix: Walls do not import from RCT1 correctly in pause mode.
- Fix: Extraneous window tabs show up on MacOS 10.12.
- Fix: Potential for integer overflow in ride length.
- Fix: Vehicles erroneously removed when removing all guests.
- Technical: INI configuration file now case-insensitive.
- Technical: Remove version build from msbuild & NSIS.
- Feature: [#3355] Allow loading of parks from URLs.
- Feature: [#4673] Add paint Z clipping.
- Feature: [#4901] Allow entertainers' costume changes even in absence of required scenery.
- Feature: [#4916] FreeBSD support.
- Feature: [#4963] Add boosters (from RCT1 and RCTC).
- Feature: [#5113] Entertainers are now hired with a random costume.
- Improved: [#4847] Guest / staff pathfinding.
- Improved: [#4938] Checksum calculations speeded up.
- Improved: [#5007] Vehicles and functioning rides are now imported when loading SC4 / SV4 parks.
- Improved: Guests and staff are now imported when loading SC4 / SV4 parks.
- Fix: [#4571] Only start autosave timer after update or game command.
- Fix: [#4584] Junior Coaster diagonal flat-to-steep slopes not drawn.
- Fix: [#4929] Changing TTF language crashes game.
- Fix: [#4944] Game crashes upon selecting objects in scenario editor.
- Fix: [#4951] Scenarios are not recorded as completed from a saved game.
- Fix: [#4968] Completing a scenario does not save the name that is entered.
- Fix: [#4996] Objects unloaded after loading landscape.
- Fix: [#5003] Able to remove entrance/exit of unedittable rides (such as in Volcania).
- Fix: [#5096] Failure to open parks with out of bounds sprite coordinates.
- Fix: [#5114] Some entertainer costumes never select-able.
This is the first fully implemented version of OpenRCT2. RCT2.EXE is no
longer required.
- Feature: Ability to disable rendering of weather effects and gloom
- Feature: New view option: "See-Through Paths"
- Feature: Add cheat to reset date.
- Feature: Add OpenGL drawing engine.
- Feature: Implementation of the user-defined currency
- Feature: Extended tile inspector.
- Feature: Add ride console command for diagnostics and changing vehicle
type.
- Feature: Allow selecting corners when using the mountain tool.
- Feature: Allow setting ownership of map edges.
- Feature: Allow up to 255 cars per train.
- Feature: Importing SV4 and SC4 files with rides.
- Feature: Filter Object Selection Window by "Selected only" and
"Non-selected only"
- Feature: Allow raising terrain to 64 in-game units.
- Feature: Assymmetric-key-based authorisation and assignment storage.
- Feature: Add Norwegian translation.
- Feature: Add cheat to disable littering.
- Feature: Add Cheat to disable plant aging.
- Feature: Add Cheat that allows any track piece to use a chain lift.
- Feature: Add Console command to set vehicle friction.
- Feature: Add console command to set scenario initial cash.
- Feature: Objects are scanned from the user directory as well as the
RCT2 directory.
- Feature: Objects directory is scanned recursively.
- Feature: Optionally zoom in towards the cursor rather than the screen
centre.
- Change: The maximum height of Junior Roller Coasters is now 14 units,
like it was in RCT1.
- Improved: Pathfinding algorithm.
- Improved: Performance and reliability of loading objects.
- Improved: Screenshots are now saved with the name of the park and the
current date and time.
- Improved: More accurate frame rate calculation
- Improved: In-game file dialog now shows more formats (sv6, sc6, sv4,
etc.)
- Improved: Joining multiplayer will not redownload custom objects
- Removed: BMP screenshots.
- Removed: Intamin and Phoenix easter eggs.
- Fix: [#933] On-ride photo price sometimes gets reset to £2 when using
'same price in whole park' (original bug).
- Fix: [#1038] Guest List is out of order.
- Fix: [#1238] Track place window does not fully adjust to custom colour
scheme.
- Fix: [#2042] Guests entering queues are immediately annoyed when many
entertainers are around (original bug).
- Fix: [#2081] Game hangs when track has infinite loop.
- Fix: [#2754] Dragging scrollview fails when scaled.
- Fix: [#3210] Scenery window scrolls too far.
- Fix: [#3282] Launched Freefall ride ratings are fixed for Downward
Launch (original bug).
- Fix: [#3307] Ride music and sound has degraded since RCT2.
- Fix: [#3344] Build new ride window can be opened in scenario editor.
- Fix: [#3347] Ride windows are auto-positioned below the HUD when using
RCT1 lights.
- Fix: [#3352] Assertion triggered while fixing surface tiles.
- Fix: [#3361] Missing Twister coaster piece.
- Fix: [#3418] Launched freefall restraints are drawn incorrectly when
up (original bug).
- Fix: [#3451] Renaming staff is a guest command.
- Fix: [#3635] Inspecting sidewalk path crashes game.
- Fix: [#3735] Advertisement campaign window bug.
- Fix: [#3771] Crash when kicking player in multiplayer.
- Fix: [#3824] Segfault when passing invalid arguments to ride set type.
- Fix: [#3858] Tooltip shown when hovering over title logo.
- Fix: [#3915] Restore horizontal and vertical scrollbar behaviour from
RCT2 when clicking on one of the scrollbars.
- Fix: Lay-down Roller Coasters from RCT1 saves are imported with an
incorrect vehicle type (not reported).
- Fix: High lateral G-forces penalty applied too early (not reported).
- Technical: Multiplayer groups are now stored in JSON format.
- Technical: MinGW builds dropped support for Windows XP
- With this change screenshot file names have the following pattern:
save file name + + YYYY-MM-DD hh-mm-ss + .png
- To get the correct date and time the method platform_get_time and platform_get_date are rewritten and to a version for UTC and a version for local time. This change gave the opportunity to simplify the code generating file names for autosaves.
- SOUND_WINDOW_OPEN is now the new "shutter" sound when taking screenshot.
This allows for NN-scaling of display, a much needed feature on highdpi
screens.
Scale can be set to positive integer value which will become a zoom
factor for whole rendered output.