If peeps approached a railway crossing from downhill, they would not stop for a passing train. This was because the exact destination z is determined too late. To always get the correct path, get the first footpath at the previous z index, or one step above.
Co-authored-by: Gymnasiast <m.o.steenbeek@gmail.com>
After loading a saved game and choosing 'Save game', the 'Save game as' window would open the first time every time after loading the save.
Now, it will be saved using the existing save path, except when an autosave is loaded which the player probably doesn't want to overwrite.
From fetching flow, list will always have favourited servers but no code to update those entries, only append.
This code updates those favourited servers in the list with new data from internet by matching address.
This will fix list having 2 duplicate servers too. (one favourited and one not)
The location of the back vehicle itself should be included in determining whether to clear the 'blocked by vehicle' flag on footpath. Otherwise, in specific cases, blocked footpath can be missed and therefore this flag wouldn't ever be cleared.
This can be useful in several situations:
- In RCT1 scenarios, or when playing with ported RCT1 vehicles, it will disable elements like banked turns
- We can add extra elements to existing coaster types by default, even if no RCT2 train supports them
When loading a save using the New Save Format (.park files), the notification (news) list is not properly terminated and is preserving previously loaded news from other save files, including the main menu ones.
* Fix#17605. Prevent crash when parks include missing objects
Specifically the park needs to have had removed an object that is referenced within a scenery group object.
* Move show_gridlines to only run under condition
* Update changelog.txt
Co-authored-by: Hielke Morsink <hielke.morsink@gmail.com>
Co-authored-by: duncanspumpkin <duncans_pumpkin@hotmail.co.uk>
* Fix#17339. Poor visuals due to scalling incorrectly
Mistake made during refactor meant that the scaleing framebuffers were
kept enabled even though at integer numbers of scale they are not meant
to be used.
* Update changelog
* Fix#16392: Scenery on sloped surface is placed at wrong height.
* fix SceneryQuadrantOffset
* fix valley land height
* Bump network version
* update replays
Co-authored-by: duncanspumpkin <duncans_pumpkin@hotmail.co.uk>
Added expected number of sprites to StringIds.h and a mismatch check upon loading g2.dat in Drawing.Sprite.cpp. If the mismatch catch fails, then an error is logged and a notification is displayed
* Add improper install warning
- Feature: [#16825] Add Alpine Coaster track type.
- Feature: [#17011] Option to show ride vehicles as separate entries when selecting a ride to construct.
- Feature: [#17217] Add FLAC and OGG/vorbis as supported audio formats for ride music objects.
- Feature: [#12328, #17418] Add vehicles for the Hybrid Coaster, Single-Rail Roller Coaster and Classic Mini Roller Coaster.
- Improved: [#7983] The red colour in the ride stat screen and the ride graphs now corresponds better to negative effects on a ride’s stats.
- Improved: [#13966] Music Style dropdown is now sorted by name.
- Improved: [#16978] Tree placement is more natural during map generation.
- Improved: [#16992] The checkbox in the visibility column of the Tile Inspector has been replaced with an eye symbol.
- Improved: [#16999] The maximum price for the park entry has been raised to £999.
- Improved: [#17050] Transparency can be enabled directly without needing see-through enabled first.
- Improved: [#17059] Show Tile Inspector usage hint when nothing is selected.
- Improved: [#17199] Allow creation of Spiral Slide reskins.
- Improved: [#17242] More natural looking shorelines in map generator.
- Improved: [#17328] Parks can now be resized into rectangular shapes from the map and map generation windows.
- Change: [#16952] Make “Object Selection” order more coherent.
- Change: [#17002] Weather no longer resets when converting a save to scenario.
- Change: [#17294] New ride window remembers scroll position per tab instead of highlighted ride.
- Removed: [#16864] Title sequence editor (replaced by plug-in).
- Removed: [#16911, #17411] Residual support for pre-Vista Windows systems.
- Fix: [#13997] Placing a track design interferes with other players building a ride.
- Fix: [#15787] When deselecting "Show banner text in upper case", the banners remain upper case for 10 seconds.
- Fix: [#16539] CustomListView header not clickable when listview is scrolled.
- Fix: [#16799] Browsing “Up” in the Load Save window shows no files, only folders.
- Fix: [#16934] Park size displayed incorrectly in Park window.
- Fix: [#16974] Small scenery ghosts can be deleted.
- Fix: [#16989] Re-focusing maximised window triggers a restore and maximise.
- Fix: [#17005] Unable to set patrol area for first staff member in park.
- Fix: [#17017] [Plugin] Crash when using tile element properties that require a valid ride to be linked.
- Fix: [#17073] Corrupt ride window and random crashes when trains have more than 144 cars.
- Fix: [#17080] “Remove litter” cheat does not empty litter bins.
- Fix: [#17099] Object selection thumbnail box is one pixel too tall.
- Fix: [#17104] Changing map size does not invalidate park size.
- Fix: [#17157] Crash when browsing “Up” to folder with CJK characters in its name.
- Fix: [#17187] Text input window does not resize correctly.
- Fix: [#17197] Segfault when extracting files from the GOG installer.
- Fix: [#17205] Map generator sometimes crashes when not all standard terrain objects are available.
- Fix: [#17221] Object ghosts and tooltips follow invisible cursor when moving the viewport by right-click dragging.
- Fix: [#17255] Cursor position is incorrect when adjusting terrain and water height.
- Fix: [#17257] [Plugin] Add tertiary colour to large scenery scripting API.
- Fix: [#17261] Hand cursor position is incorrect when dragging items in the Inventions List window.
- Fix: [#17292] Rows in shortcut key list stay highlighted when cursor leaves list.
- Fix: [#17295] Pause status not cleared when loading a scenario made from a converted paused save.
- Fix: [#17310] Reversed reversible vehicles not imported properly when loading RCT1 parks.
- Fix: [#17335] [Plugin] Documentation has an incorrect type for PixelData ‘data’ attribute.
- Fix: [#17337] Air Powered Vertical Coaster trains not imported properly when loading RCT1 parks.
- Fix: [#17346] Surface height markers are concealed by sprites of same surface.
- Fix: [#17369] [Plugin] ‘Car.travelBy()’ moves other cars as well.
- Fix: [#17377] When building the park entrance before opening the Footpaths window, the path will be invisible.
- Fix: [#17381] Air Powered Vertical Coaster stat penalty is wrong.
- Fix: [#17399] Guests never generate the being watched thought.
- Fix: [#17433] Wrong T-shirt colours for guests on a Twist ride.
- Fix: [#17450] Ducks can swim on three-corners-up land tile.
- Fix: [#17461] Footpath Railing tooltip showing incorrect tooltip.
- Fix: [#17464] Green Tarmac footpath is not available in the Track Designer.
- Fix: [#17466] New object types not packed in save files.
- Fix: [#17481] Roto-drop cars try going up to top pieces that are ghosts or belong to other rides.
Fixes#16989 by removing an SDL hack. Originally added to address issue #2158, I can't reproduce this issue with the hack removed. Tested on Linux (by CorySanin) and Windows (by Broxzier).
Fix#13997: Placing a track design interferes with other players building a ride
A bit of a hack due to track design placement code using and sharing global variables with the UI code. Eventually this will change, when windows get upgrade to classes and when NTDF is implemented.
- Headline feature: [#10664] New save format with increased limits.
- Feature: [#714] Allow up to 255 trains per ride.
- Feature: [#2253] Path surfaces and railings can be mixed and matched, like in RCT1.
- Feature: [#2766] The Fruity Ices Stall can now be recoloured, like in RCT1.
- Feature: [#4933] Allow map sizes of 999 × 999 (up from 254 × 254).
- Feature: [#7660] Custom music objects that are distributed with the save.
- Feature: [#8407] Ride platforms can be made invisible.
- Feature: [#12793] Add Excitement/Intensity/Nausea ratings to Ride List view with sorting.
- Feature: [#13858] Flatride bases can be made invisible.
- Feature: [#14676] [Plugin] Allow plugins to store data in .park files.
- Feature: [#15367] Individual track elements can now be drawn as another ride type.
- Feature: [#15901] [Plugin] Add ‘map.getAllEntitiesOnTile’ to API.
- Feature: [#16029] [Plugin] Add ‘TrackElement.rideType’ to API.
- Feature: [#16097] The Looping Roller Coaster can now draw all elements from the LIM Launched Roller Coaster.
- Feature: [#16132, #16389] The Corkscrew, Twister and Vertical Drop Roller Coasters can now draw inline twists.
- Feature: [#16144] [Plugin] Add ‘ImageManager’ to API.
- Feature: [#16707] [Plugin] Implement intransient plugins.
- Feature: [#16707] [Plugin] New API for current mode, ‘map.change’ hook and toolbox menu items on title screen.
- Feature: [#16731] [Plugin] New API for fetching and manipulating a staff member’s patrol area.
- Feature: [#16800] [Plugin] Add lift hill speed properties to API.
- Feature: [#16806] Parkobj can load sprites from RCT image archives.
- Feature: [#16831] Allow tertiary colours for small and large scenery objects.
- Feature: [#16872] [Plugin] Add support for custom images.
- Improved: [#3517] Cheats are now saved with the park.
- Improved: [#10150] Ride stations are now properly checked if they’re sheltered.
- Improved: [#10664, #16072] Visibility status can be modified directly in the Tile Inspector’s list.
- Improved: [#16251] Plugin API handles null values better.
- Improved: [#16251] openrct2.d.ts: mark ‘callback’ argument of queryAction and executeAction as optional.
- Improved: [#16251] openrct2.d.ts: change ‘network.status’ to ‘network.mode’ in network API docs.
- Improved: [#16251] openrct2.d.ts: added previously undocumented ‘GroupBoxWidget.text’ property.
- Improved: [#16251] openrct2.d.ts: removed unused ‘LabelWidget.onChange’ property.
- Improved: [#16258] Increased image limit in the engine.
- Improved: [#16408] Improve ‘--version’ cli option to report more compatibility information.
- Improved: [#16740] Allow staff patrol areas to be defined with individual tiles rather than groups of 4x4.
- Improved: [#16764] [Plugin] Add hook ‘map.save’, called before the map is saved.
- Improved: [#16925] The queue length of 1000 guests is lifted, and a warning for too long queues is added instead.
- Change: [#14484] Make the Heartline Twister coaster ratings a little bit less hateful.
- Change: [#16077] When importing SV6 files, the RCT1 land types are only added when they were actually used.
- Change: [#16424] Following an entity in the title sequence no longer toggles underground view when it’s underground.
- Change: [#16493] Boat Hire and Submarine Ride support costs now match their visual appearance.
- Change: [#16710] Changed default view of Guest List to ‘Thoughts’ and selected tab will default to ‘Summarised’ (when opened from the menu).
- Change: [#16859] Guests with umbrellas no longer always avoid going into a Maze.
- Change: [#16912] Tired or nauseated guests will no longer jump in a Maze.
- Fix: [#6767] Black screen after Alt-Tabbing back into the game.
- Fix: [#11752] Track pieces with fractional cost are too cheap to build.
- Fix: [#12556] Allow game to run without audio devices.
- Fix: [#12774] [Plugin] Scripts will not be re-initialised when a new scenario is loaded from within a running scenario.
- Fix: [#13336] Can no longer place Bumble Bee track design (reverts #12707).
- Fix: [#14155] Map Generator sometimes places non-tree objects as trees.
- Fix: [#14674] Recent Messages only shows first few notifications.
- Fix: [#14920] Ghosts for rides and shops do not auto-elevate when obscured.
- Fix: [#15413] Modifying park rating with plugins desyncs park rating history from actual park rating.
- Fix: [#15571] Non-ASCII characters in scenario description get distorted while saving.
- Fix: [#15830] Objects with RCT1 images are very glitchy if OpenRCT2 is not linked to an RCT1 install.
- Fix: [#15909] Text can overflow in ‘Select ride design’ windows.
- Fix: [#15947, #15960] Removing a flat ride results in an error message and duplicate structures.
- Fix: [#15998] Cannot set map size to the actual maximum.
- Fix: [#16007] Scenario Editor “Entry Price” appears to the right of the value field.
- Fix: [#16008] Tile Inspector can select elements from last tile without reselecting it.
- Fix: [#16024] Go-Karts with more than 32 vehicles do not colour themselves correctly.
- Fix: [#16026] Newly created rides with “Disable vehicle limits” cheat always get 32 trains with 12 cars each.
- Fix: [#16063] Object Selection preview for objects with glass is broken.
- Fix: [#16075] Exporting track designs saves scenery in incorrect locations.
- Fix: [#16087] The Looping Roller Coaster booster is now always drawn correctly.
- Fix: [#16140] The ‘Follow this’ option is now disabled when the ride view is set to ‘overall’ or a station.
- Fix: [#16162] Go Karts speeds are not correctly randomised, they only go very fast or very slow.
- Fix: [#16188] Medium-size banked turns on the Twister and Vertical Roller Coaster have incorrect support placement (partly original bug).
- Fix: [#16264, #16572] Placing saved track design crashes game.
- Fix [#16308] Crash when trying to place down a ride on Android.
- Fix: [#16327] Crash on malformed network packet.
- Fix: [#16449] [Plugin] Viewport doesn't hide when switching tabs.
- Fix: [#16450] Banner style not copied when using tile inspector.
- Fix: [#16535] Entering construction mode unblocks all paths.
- Fix: [#16542] “Same price throughout park” status not correctly imported for RCT1 saves.
- Fix: [#16572] Crash when trying to place track designs.
- Fix: [#16591] [Plugin] ‘setInterval’ and ‘setTimeout’ is not disposed when map unloads.
- Fix: [#16711] [Plugin] ‘Car.rideObject’ overflowing with more than 256 ride types.
- Fix: [#16779] Fix case where title music doesn't unmute properly.
- Fix: [#16808] Incorrect track design serialisation causing vehicle object replacement.
- Fix: [#16869] Soft Toy Stall cannot be recoloured, but shows a recolouring option anyway (original bug).
- Fix: [#16995] Native Linux dialog windows do not open if the path contains single quotes.
- Fix: [objects#165] Glitch when Bengal Tiger Cars go through a corner.
Change the patrol areas to be stored as a sorted list of points grouped in fixed cells for each staff entity. The complexity will be a mixed O(1) and O(log n) search.
For designs with a long description, a line of text in the 'Select ride design' window could overflow onto the next window element. The window height was just one newline too small. Therefore, increased the window size with a single line.
This raises two parameters: the base excitement value (which is very low, especially since the air-time bonus is limited too) and the bonus value (the novelty of this ride type warrants a bigger value).
It leaves the rest of the poor bonuses as-is, as some of them (like scenery and synchronisation bonuses) might just be there because the track obscures the view.
Fixes an inconsistency wuth RCT2 where track prices with a fractional part
did not have their price rounded up when building, but did when refunding.
This created an exploit where refunding such a track piece granted the player
0.50€ more than they spent on the piece.
This adds the inline twist to the B&M track.
Feature is complete. Note: The inline twist doesn't draw correctly when going out of the tunnel. This is sadly an original bug, as this is also present on the Flying RC's Flying Twist (#7466).
Replace _currentTrackPieceDirection with local variable. This change
fixes a problem where when trying to remove a rotated ride,
_currentTrackPieceDirection would be reset back to 0 by calling
ride_initialise_construction_window, causing TrackRemoveAction to not
being able to find and remove the ride.
Using a local variable with the current direction, saved before resetting
the global variable, fixes this issue.
* Wrap vehicle_colours in TrackDesignAction
* Wrap the color presets in set_vehicle_colours_to_random_preset
* Increment network version
* Update changelog.txt
Co-authored-by: Tulio Leao <tupaschoal@gmail.com>
The code for this sadly did not exist yet in any other coaster. The sprites did though. So I pulled the sprites from the lay-down coaster and modified the regular inline twist (instead of the flyer) to be drawn correctly.
* Fix Go Kart Speeds not being random
Go kart speeds now only get 2 different values (around 37kmh or around 25kmh), in vanilla Go karts can also have a value in between. This PR fixes that.
* Update changelog.txt
Co-authored-by: Michael Steenbeek <m.o.steenbeek@gmail.com>
* Increment network version
* Update replays
Co-authored-by: Michael Steenbeek <m.o.steenbeek@gmail.com>
Co-authored-by: duncanspumpkin <duncans_pumpkin@hotmail.co.uk>
Entry Price label was being drawn to the right of the entryPriceWidget which is
outside of the window. Changed to draw it to the right of the
payForParkOrRidesWidget widget instead.
- Improved: [#12825, #12869] The Tile Inspector window’s layout has been tweaked slightly.
- Change: [#15899] Weird bonus for path 0 - likely intended as a queue bonus (original bug).
- Fix: [#15138] Sometimes small scenery stays when building through it.
- Fix: [#15620] Placing track designs at locations blocked by anything results in wrong error message.
- Fix: [#15843] Tile Inspector can be resized too small.
- Fix: [#15844] Tile Inspector has inconsistent text colours.
- Fix: [#15878] Crash when opening a ride window for a corrupted vehicle.
- Fix: [#15908] Crash when track elements have no ride assigned.
- Fix: [#15919] Research status incorrectly considered for scenery when in editor modes.
- Fix: [#15938] Track designs of some ride types are incorrectly exported to TD6.
`COLOUR_WHITE` was being passed as the colour when drawing
any text. The Options window uses the `rct_window::colours`
array for resolving the correct theme colour.
Replacing all occurrences of `COLOUR_WHITE` with
`w->colours[1]` makes the text colours more consistent.
In the details section values are still painted in black
no matter the colour theme, which is consistent with e.g.
the park information window.
- Feature: [#3868] Initial support for using TTF in OpenGL mode (still contains bugs).
- Feature: [#7682] Follow ride/guest/staff in main window viewport.
- Feature: [#13407] Allow building chain lifts on enclosed dinghy slide pieces when cheats are on.
- Feature: [#15084] [Plugin] Add "vehicle.crash" hook.
- Feature: [#15143] Added a shortcut key for Giant Screenshot.
- Feature: [#15164] Highlight elements selected by the Tile Inspector, tracks are currently not supported.
- Feature: [#15165] [Plugin] Add the ability to create entities using "map.createEntity".
- Feature: [#15194] [Plugin] Add guest properties, ride downtime and park casualty penalty.
- Feature: [#15195] Added a bug-report item in file dropdown menu.
- Feature: [#15294] New vehicle animation type: flying animal.
- Fix: [#10614] Track Designs with missing path(s) do not use alternate pathways.
- Fix: [#12981] New vehicles do not appear in vehicle type dropdown.
- Fix: [#13465] Creating a scenario based on a won save game results in a scenario that’s instantly won.
- Fix: [#13912] “Dome park” no longer renders dome correctly.
- Fix: [#14316] Closing the Track Designs Manager window causes broken state.
- Fix: [#14482, #15258] Rides with invisibility hacks sometimes behave incorrectly.
- Fix: [#14649] ImageImporter incorrectly remaps colours outside the RCT2 palette.
- Fix: [#14667] “Extreme Hawaiian Island” has unpurchaseable land tiles (original bug).
- Fix: [#14741] Crash when exiting OpenRCT2 on macOS.
- Fix: [#15096] Crash when placing entrances in the scenario editor near the map corner.
- Fix: [#15136] Exported SV6 files cause vanilla RCT2 to hang.
- Fix: [#15142] ToonTowner's mine roofs were moved into the pirate theme scenery group instead of the mine theme scenery group.
- Fix: [#15148] Track Designs Manager delete confirmation window doesn't display properly.
- Fix: [#15170] Plugin: incorrect label text alignment.
- Fix: [#15177] Crash in lightfx_add_lights_magic_vehicle().
- Fix: [#15184] Crash when hovering over water types in Object Selection.
- Fix: [#15193] Crash when rides/stalls are demolished.
- Fix: [#15197] Cannot place flat ride after removing it in construction window.
- Fix: [#15199] Construction window is not closed when a ride gets demolished.
- Fix: [#15213] Freeze when hovering over Reverse Freefall Coaster in Russian.
- Fix: [#15227] Crash on exit after hovering over water types in the Object Selection window.
- Fix: [#15255] Tile Inspector shows banner information on walls that do not contain one.
- Fix: [#15257] Chat icon shows in scenario/track editor. Other icons don't disable when deactivated in options menu.
- Fix: [#15289] Unexpected behavior with duplicated banners which also caused desyncs in multiplayer.
- Fix: [#15322] Circus music doesn't play.
- Fix: [#15377] Entrance/exit ghost doesn't work on different stations without touching them first.
- Fix: [#15451] Guest list name filter remains after group selection.
- Fix: [#15466] Crash when opening a dropdown with 0 rows.
- Fix: [#15476] Crash when placing/clearing small scenery.
- Fix: [#15487] Map animations do not work correctly when loading an exported SV6 file in vanilla RCT2.
- Fix: [#15490] Tile inspector needlessly updates clearance height when changing surface slopes.
- Fix: [#15496] Crash in paint_swinging_inverter_ship_structure().
- Fix: [#15503] Freeze when doing specific coaster merges with block brakes.
- Fix: [#15514] Two different “quit to menu” menu items are available in track designer and track design manager.
- Fix: [#15560] Memory leak due to OpenGL Renderer not releasing a texture.
- Fix: [#15567] Litter not being counted correctly during Park rating calculation (original bug).
- Fix: [#15579] Crash in track_block_get_next().
- Fix: [#15582] [Plugin] Litter properties return incorrect values.
- Fix: [#15584] Ride income underflows when on-ride photos are making losses.
- Fix: [#15612] Crash when placing walls beside certain scenery objects.
- Fix: [#15851] Incorrect percentage chance of jumping with Katie Smith cheat.
- Fix: [#15858] Joanne Barton and Emma Garrell cheat incorrectly not applying effects to self.
- Improved: [#3417] Crash dumps are now placed in their own folder.
- Improved: [#13524] macOS arm64 native (universal) app
- Improved: [#15538] Software rendering can now draw in parallel when Multithreading is enabled.
- Change: [#8601] Revert ToonTower base block fix to re-enable support blocking.
- Change: [#15174] [Plugin] Deprecate the type "peep" and add support to target a specific scripting api version.
Fix#15377: Station Hover doesn't show entrance/exit ghost
Replacing tileElement->AsTrack() with trackElement
Changing const auto* to TrackElement*
Replacing trackElement with auto
Implementing ZehMatt's Feedback
Update changelog.txt