Fixes#7313: Loading an invalid path with openrct2 produces results different than expected
Do not load title sequences in headless mode and prevent use of null audio mixer when ride music is stopped.
Staff placement code has been modified to only count guests who are on path tiles.
If all guests in the park are off paths, then the park entrance is used as a fallback.
Instead of breaking the loop when running into an element that's above the clip height, only skip it - the next element may still be below the clip height.
The check for the first tile could be removed entirely. The screen gets cleared every frame when the clip height flag is set already.
The reason the file dialog failed to open (on Windows at least) is that the dialog would be used to save a file, yet a folder was provided as the default path. This commit attempts to append a logical filename to the path, including an extension.
- Feature: [#2893] Object selection filters for items from RCT1, Added Attractions and Loopy Landscapes.
- Feature: [#3505] Allow up to 1024 items per scenery tab.
- Feature: [#3510] Auto-append extension if none is specified.
- Feature: [#3994] Show bottom toolbar with map tooltip (theme option).
- Feature: [#4184] Add command and cheat to alter the date.
- Feature: [#4906] Add follow sprite command to title sequences.
- Feature: [#4984] Add option to highlight path issues: full bins, vandalism & vomit.
- Feature: [#5826] Add the show_limits command to show map data counts and limits.
- Feature: [#6078] Game now converts mp.dat to SC21.SC4 (Mega Park) automatically.
- Feature: [#6125] Path can now be placed in park entrances.
- Feature: [#6181] Map generator now allows adjusting random terrain and tree placement in Simplex Noise tab.
- Feature: [#6235] Add drawing debug option for showing visuals when and where blocks of the screen are painted.
- Feature: [#6290] Arabic translation (experimental).
- Feature: [#6292] Allow building queue lines in the Scenario Editor.
- Feature: [#6295] TrueType fonts are now rendered with light font hinting by default.
- Feature: [#6307] Arrows are now shown when placing park entrances.
- Feature: [#6313] Add keyboard shortcut for toggle gridlines.
- Feature: [#6324] Add command to deselect unused objects from the object selection.
- Feature: [#6325] Allow using g1.dat from RCT Classic.
- Feature: [#6329] Render level crossings when the Miniature Railway crossed a path.
- Feature: [#6338] Virtual floor to help positioning objects vertically.
- Feature: [#6353] Show custom RCT1 scenarios in New Scenario window.
- Feature: [#6411] Add command to remove the park fence.
- Feature: [#6414] Raise maximum launch speed of the Corkscrew RC back to 96 km/h (for RCT1 parity).
- Feature: [#6433] Turn 'unlock all prices' into a regular (non-cheat, persistent) option.
- Feature: [#6516] Ability to search by filename in the object selection window.
- Feature: [#6530] Land rights tool no longer blocks when a tile is not for purchase.
- Feature: [#6568] Add smooth nearest neighbour scaling.
- Feature: [#6651, #6658] Integrate Discord Rich Presence.
- Feature: [#6709] The New Ride window now shows available vehicles for a ride type.
- Feature: [#6731] Object indexing progress is now reported via command line output.
- Feature: [#6779] On-ride photo segment for Splash Boats.
- Feature: [#6838] Ability to auto-pause server when no clients are connected.
- Feature: [#7031] Better support for displaced ride entrances and exits.
- Feature: Add search box to track design window.
- Feature: Allow using object files from RCT Classic.
- Feature: Title sequences now testable in-game.
- Feature: Vehicles with matching capabilities are now always switchable.
- Feature: Add search box to track design window.
- Feature: Add load scenario command to title sequences.
- Fix: [#816] In the map window, there are more peeps flickering than there are selected (original bug).
- Fix: [#996, #2589, #2875] Viewport scrolling no longer shakes or gets stuck.
- Fix: [#1185] Close button colour of prompt windows does not match.
- Fix: [#1833, #4937, #6138] 'Too low!' warning when building rides and shops on the lowest land level (original bug).
- Fix: [#2254] Edge scrolling horizontally now has the same speed as vertical edge scrolling.
- Fix: [#2607] Rain rendered incorrectly in additional viewport.
- Fix: [#3171] Guests entering from the corner of the tile in Amity Airfield (original bug).
- Fix: [#3330] Current number of passengers overflows when over 255 (original bug).
- Fix: [#4760] Asia - Great Wall of China and South America - Rio Carnival have incorrect guest entry points (original bug).
- Fix: [#4953, #6277] Unable to advertise to master servers over IPv6.
- Fix: [#4991] Inverted helices can be built on the Lay Down RC, but are not drawn.
- Fix: [#5190] Cannot build Wild Mouse - Flying Dutchman Gold Mine.
- Fix: [#5224] Multiplayer window is not closed when server shuts down.
- Fix: [#5228] Top toolbar disappears when opening SC4 file.
- Fix: [#5261] Deleting a banner sign after copy/pasting it will crash the game.
- Fix: [#5398] Attempting to place Mini Maze.TD4 results in weird behaviour and crashes.
- Fix: [#5417] Hacked Crooked House tracked rides do not dispatch vehicles.
- Fix: [#5445] Patrol area not imported from RCT1 saves and scenarios.
- Fix: [#5585] Inconsistent zooming with mouse wheel.
- Fix: [#5609] Vehicle switching may cause '0 cars per train' to be set.
- Fix: [#5636] Pausing the game shows mute button as active.
- Fix: [#5741] Land rights indicators disappear when switching views.
- Fix: [#5761] Mini coaster doesn't appear despite being selected.
- Fix: [#5788] Empty scenario names cause invisible entries in scenario list.
- Fix: [#5809] Support Steam RCT1 file layout when loading CSG images.
- Fix: [#5838] Crash when saving very large track designs.
- Fix: [#5901] Placing peep spawn not synced across multiplayer.
- Fix: [#6101] Rides remain in ride list window briefly after demolition.
- Fix: [#6114] Crash when using a non-LL CSG1.DAT.
- Fix: [#6115] Random title screen music not random on launch.
- Fix: [#6118, #6245, #6366] Tracked animated vehicles not animating.
- Fix: [#6129] Guest List summary not updating after a ride rename.
- Fix: [#6133] Construction rights not shown after selecting buy mode.
- Fix: [#6188] Viewports not being clipped properly when zoomed out in OpenGL mode.
- Fix: [#6193] All rings in Space Rings use the same secondary colour.
- Fix: [#6196, #6223] Guest's energy underflows and never decreases.
- Fix: [#6198] You cannot cancel RCT1 directory selection.
- Fix: [#6199] Inverted Hairpin Coaster vehicle tab is not centred.
- Fix: [#6202] Guests can break occupied benches (original bug).
- Fix: [#6251] Splash Boats renders flat-to-25-degree pieces in tunnels incorrectly.
- Fix: [#6261, #6344, #6520] Broken pathfinding after removing park entrances with the tile inspector.
- Fix: [#6271] Wrong booster speed tooltip text.
- Fix: [#6293] Restored interface sounds while gameplay is paused.
- Fix: [#6301] Track list freezes after deleting track in Track Manager.
- Fix: [#6308] Cannot create title sequence if title sequences folder does not exist.
- Fix: [#6314] Imported SV4 files do not mark their scenarios as completed.
- Fix: [#6318] Cannot sack staff that have not been placed.
- Fix: [#6320] Crash when CSS1.DAT is absent.
- Fix: [#6331] Scenery costs nothing in track designs.
- Fix: [#6358] HTTP requests can point to invalid URL string.
- Fix: [#6360] Off-by-one filenames when exporting all sprites.
- Fix: [#6388] Construction rights tool erroneously enabled in some RCT1 scenarios even when no rights are available.
- Fix: [#6413] Maze previews only showing scenery.
- Fix: [#6423] Importing parks containing names with Polish characters.
- Fix: [#6423] Polish characters now correctly drawn when using the sprite font.
- Fix: [#6445] Guests' favourite ride improperly set when importing from RCT1 or AA.
- Fix: [#6452] Scenario text cut off when switching between 32 and 64-bit builds.
- Fix: [#6460] Crash when reading corrupt object files.
- Fix: [#6481] Can't take screenshots of parks with colons in the name.
- Fix: [#6500] Failure to load resources when config file is missing.
- Fix: [#6547] The server log is not logged if the server name contains CJK.
- Fix: [#6593] Cannot hire entertainers when default scenery groups are not selected (original bug).
- Fix: [#6657] Guest list is missing tracking icon after reopening.
- Fix: [#6803] Symbolic links to directories are not descended by FileScanner.
- Fix: [#6830] Crash when using mountain tool due to ride with no ride entry.
- Fix: [#6833] Shops in corrupted files not imported correctly.
- Fix: [#6846] Zoom level in some ride overview windows was erroneously set too high.
- Fix: [#6904] Manually added multiplayer servers not saved.
- Fix: [#7003] Building sloped paths through flat paths with clearance checks off causes glitches.
- Fix: [#7011] Swinging and bobsleigh cars going backwards swing in the wrong direction (original bug).
- Fix: [#7042, #7077] Paths sometimes disconnect when building them with clearance checks off.
- Fix: [#7125] No entry signs not correctly handled in pathfinding.
- Fix: [#7223] Vehicle mass not correctly recalculated when using remove all guests cheat.
- Fix: [#7229] Exploding guests cheat causes rides to get stuck and freezes game.
- Fix: [#7295] peep_should_go_on_ride_again() checked balloon colour instead of toilet need.
- Fix: [#7301] Sprite compiler dithering checks transparency of wrong pixel.
- Fix: Infinite loop when removing scenery elements with >127 base height.
- Fix: Ghosting of transparent map elements when the viewport is moved in OpenGL mode.
- Fix: Clear IME buffer after committing composed text.
- Fix: RCT1 mazes with wooden fences not imported correctly.
- Fix: Title sequence editor now gracefully fails to preview a title sequence and lets the user know with an error message.
- Fix: When preset title sequence fails to load, the preset will forcibly be changed to the first sequence to successfully load.
- Fix: Remove consecutive thoughts about a ride being demolished.
- Fix: Water raft vehicles stop spinning when going up slopes.
- Fix: Incorrect spin is applied to coasters on S-bends and other turns.
- Improved: [#5962] Use AVX2 instruction set where supported, resulting in a performance boost.
- Improved: [#5964] Use SSE 4.1 instruction set where supported, resulting in a performance boost.
- Improved: [#6186] Transparent menu items now draw properly in OpenGL mode.
- Improved: [#6218] Speed up game start up time by saving scenario index to file.
- Improved: [#6242] Prevent scenery aging and grass growth causing tile invalidation unless necessary - slight performance boost.
- Improved: [#6423] Polish is now rendered using the sprite font, rather than TTF.
- Improved: [#6746] Draw friction wheels instead of chain lift on Looping Roller Coaster stations.
- Improved: Load/save window now refreshes list if native file dialog is closed/cancelled.
- Improved: Major translation updates for Japanese and Polish.
- Improved: Added 24x24, 48x48, and 96x96 icon resolutions.
- Technical: [#6384] On macOS, address NSFileHandlingPanel deprecation by using NSModalResponse instead.
- Technical: [#6772] RCT2 interop removed.
Prior to the previous commit, signs could be duplicated by pasting them using the tile inspector, which results in some funky behaviour. A duplicated sign refers to the same banner index (which in turn refers to the same user string ID), making the player unable to modify it. Deleting it would previously even crash the game.
This commit looks for such signs when loading a scenario, and attempts to fix them, by creating a new banner entry (and user string if one is used).
This fix will make swinging rides like the suspended swinging coaster and the bobsleigh coaster back to the outside of corners when moving backwards (For example during a rollback). This was an original bug in RCT2.
The game will now check for the number of entries in CSG1.DAT. If it's too few, it will now no longer try using its sprites, but print out a warning instead.
Added new smart follow variable to window to more intuitively follow
sprites that may not be directly followable at all times.
Follow sprite is now canceled when dragging the screen but not
scrolling. This is only relevant when testing title sequences in game.
Select sprite button is now disabled in the title menu.
Sprites are now identified based on their name. Excess identification
information is not given as it'd clutter up the screen and is not
necissary with the viewbox in the command editor.
New command goes by LOADSC in script files and in the enumeration.
Scenarios are stored using the internal also used for localisation.
Scenarios selected can only be scenarios to originally come with one of
the games or expansions.
Modified Scenario Select window to have a mode just for title editor
scenario selection.
This feature existed in the original RCT1/2 games but was not present in
the latest development commit.
The original shortcut for this key was '7', placing it between the
"Invisible people toggle" (6) shortcut and the "Height marks on land
toggle" (8). This commit preserves as much as possible, using
placeholder comments that signify the relevant values which this
feature actually uses where this is not possible.
The guest tracking icon is hidden on the guest list if it's in
PAGE_SUMMARISED mode. Closing then reopening the window reset it back to
INDIVIDUAL mode but did not restore the icon state.
Shaking while at the edge of the map has been completely eliminated. In
order to do this, comparison with tile height was also removed which
fixed a few outlier cases.
The main cause was viewport axis were only being set if it's respective
isometric axis was at the boundary, instead of either isometric axis.
Viewport no longer gets stuck which was related to the shaking in the
end. (#2875)
Refactored viewport_update_position. I moved
viewport_set_underground_flag above the bounds checking function since
it had no relation to it. (#996, #2589)
Scrolling on the map edge with arrow keys or mouse edge will now go the
same speed in both directions. (#2254)
Added changelog entry.
Land rights tool no longer cares if part of the available land is
unavailable for purchase. It will not even through an error when none of
the tiles are available. Just like other tools.
Added a changelog entry.
This increments the network version.
* Change how current title sequence is handled. It can either be
previewing a title sequence, or playing the preset.
* LoadMM and LoadRCT1 now save when script is saved.
* No more infinite failing to load loops.
* No more crashing when attempting to display "no save selected" in
title editor.
* Title editor now gracefully fails to preview a title sequence and lets
the user know with a context error.
* When preset title sequence fails to load, the preset will forcibly be
changed to the first sequence to successfully load.
Added changelog entries for last two items.
Title sequences can now be played back in-game, allowing for much easier
editing.
Improved title sequence playback in general. Clicking play while on a
different title sequence will play the new one. Clicking stop will make
the title screen go back to the config title sequence. And the closing
the title sequence window will also make the game go back to the config
title sequence, and reload the sequence if it was modified.
Changes made to title sequences in-game are now correctly loaded in the
title screen.
Starting a title sequence within the editor will now always reset it
even if it's the current playing sequence. (Not for playing in the
editor though).
Get Location in title sequence command editor now has 100% accuracy
compared to before
where it would usually get some offset value.
Added `get_map_coordinates_from_pos_window` which will allow getting the
viewport coordinates of a specific window even if the input coordinates
are under another window. This has use with getting 2D positions from
the main window without the other windows getting in the way.
Options window will now always specify the config title sequence in the
dropdown and not the current title sequence.
Made a global variable `gLoadKeepWindowsOpen`, in game.h to keep windows
open when loading a park. When loading a title sequence park in-game.
The sequence player will force-close all park-specific windows ahead of
time.
Skipping while testing title sequences no longer needs to reload the
park if the current playback position is already before the target
position and ahead of the load position.
Added changelog entry.
Fixes issue #6481 where taking a screenshot of a park with a colon in
its name on Windows was causing the screenshot data to get written as an
alternate data stream.
This patch replaces any colons with hyphens in screenshot filenames on
Windows.
Can now update park entrance path by placing path over the middle tile.
Updating the path costs money just like normally replacing a path.
Updating the path type can only be done in sandbox mode or in the
scenario editor.
Fixes Splash Boats 25deg-down-to-flat tunnel rendering. This is based on
flat-to-25deg-up (but opposite).
Wrap Splash Boats fix in an ifdef for TestPaint.
Check the gParkEntrance locations after loading from file and clear those locations for which there is no longer a park entrance map element.
Resolves path finding problems in parks caused, for example, be deleting a park entrance using the tile inspector.
Fixes#6261, #6344, #6520.
`ScenarioFileIndex`'s `Serialize` and `Deserialize` now read and write each
individual value of a `scenario_index_entry` instead of the entire struct
at once. Thus the difference in pointer sizes of `highscore` on different
architecture builds will not cause issues with `scenarios.idx`.
Issue caused by using max where min was intended.
This also reverts an earlier change in capping the energy target, since it seems to max out at 255, unlike energy itself.