1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-02-02 03:35:09 +01:00
Commit Graph

2948 Commits

Author SHA1 Message Date
Michał Janiszewski
dae57fccf6 Release v0.4.31
- Feature: [#25844] The sprite builder now also supports adding JSON-based palettes.
- Improved: [#3788] Self-intersecting track designs can now be placed.
- Improved: [#25719] The weather change dropdown now shows icons next to the weather types for easier selection.
- Improved: [#25765] The ‘View options’ and ‘Special track elements’ dropdowns no longer need click-and-hold.
- Improved: [#25858] macOS now supports the onboarding menu.
- Improved: [#25882] Maze construction now auto-removes trees.
- Improved: [objects#421] The vehicle tab of some rides now shows more of the vehicle.
- Change: [#25018] Add upkeep cost to booster pieces.
- Fix: [#4643, #25167] Many metal supports draw with a filled in top when they didn’t in vanilla, causing some slight misalignment and glitching.
- Fix: [#15009] Landscaping tools do not display estimates when the game is paused (original bug).
- Fix: [#18441] Replacing footpaths sometimes results in a spurious “Footpath in the way” error (original bug).
- Fix: [#20620] In-game console caret does not update when pasting.
- Fix: [#20652] Twister Roller Coaster design ‘u(0241)’ has no preview and cannot be built (bug in track design).
- Fix: [#23859] Wrong banner text displayed after loading a different park.
- Fix: [#25221] When trying to cancel game file discovery, the prompt reappears.
- Fix: [#25703, #25889] Crash when scanning scenarios with packed objects in parallel.
- Fix: [#25739] Game freezes when a tab in the New Ride window contains more than 384 items.
- Fix: [#25745] Crash when a player connection is aborted early.
- Fix: [#25775] Network download sizes are in bytes instead of the listed kibibytes.
- Fix: [#25799] The animated options tab icon of the news window does not always redraw.
- Fix: [#25850] Guests do not have their happiness penalised by low energy, high hunger, high thirst, high toilet.
- Fix: [#25850] Ride nausea generation is different compared to vanilla.
- Fix: [#25854] When a guest is at 0 happiness or energy, the game draws too big of a bar in the guest stats window.
- Fix: [#25862] Diagonal and inclined brakes are not counted when calculating upkeep cost.
- Fix: [#25873] Repainting a banner in OpenRCT2-specific colours results in an error message.
- Fix: [#25879] Guest window viewport doesn’t follow vehicle when they board a ride.
- Fix: [#25908] Crash from use-after-free in banner text formatting during multithreaded rendering.
- Fix: [objects#419] Alignment of RCT2 red, yellow and green queue previews is off.
- Fix: [objects#424] Jet Aeroplane decor has a hole in it.
- Fix: [objects#425] Capacity of ‘Blob from outer space ride’ is incorrectly listed.
2026-02-01 16:17:17 +01:00
frozensnowy
10ea862bda Fix #23859: Wrong banner text displayed after loading different park
The scrolling text cache matches entries using memcmp on raw Formatter data which includes pointers to ride/banner names. When loading a new park, memory addresses can be reused, causing false cache matches that display text from the previous park. This adds invalidate() calls to both park loading paths to clear stale cache entries
2026-02-01 13:41:47 +01:00
frozensnowy
ce0969884e Fix: Crash from use-after-free in banner text formatting during multithreaded rendering
The Banner struct had a mutable formattedTextBuffer member that was written during every call to formatTextWithColourTo(). During multithreaded rendering, multiple threads could write to this buffer simultaneously when the same banner appeared in different viewport columns, causing use-after-free. This is replaced with thread_local to give each thread its own buffer which matches the existing pattern used elsewhere in the codebase
2026-02-01 13:41:43 +01:00
Gymnasiast
13250e5536 Fix typo in changelog
[ci skip]
2026-02-01 11:43:50 +01:00
Gymnasiast
13356535a8 Add #20652 to changelog
[ci skip]
2026-02-01 11:40:58 +01:00
frozensnowy
778c15142a Fix #25889, #25703: Crash when scanning scenarios with packed objects (#25899)
When ScenarioFileIndex scans scenarios in parallel via JobPool, S6 files with packed objects called ExportPackedObject from multiple threads,
causing a race condition in ObjectRepository's vector. This changes passes skipObjectCheck=true during scanning, consistent with .park and .sc4 file handling. Objects are extracted later when actually loading.
2026-02-01 00:09:08 +01:00
Gymnasiast
4a5ca9eb3f Add missing changelog entries, fix up a few
[ci skip]
2026-02-01 00:07:14 +01:00
Michael Steenbeek
9ec3dfd821 Update objects release to v1.7.6 (#25897) 2026-01-31 19:53:43 +01:00
frozensnowy
0552f8fdff Fix #25882: Maze construction does not auto-remove trees (#25886)
Changed `MazeSetTrackAction` to use `MapCanConstructWithClearAt` instead of `MapCanConstructAt` so trees get cleared like they do for regular track placement.
2026-01-31 11:33:03 +00:00
frozensnowy
52b0f68aee Fix #3788: Self-intersecting track designs cannot be placed (#25894)
When placing a track design that loops back on itself, earlier placed pieces would block later pieces during clearance checks.

This commit adds an optional RideId parameter to MapCanConstructWithClearAt to skip track elements belonging to the same ride during track design placement.
2026-01-31 12:29:58 +01:00
Gymnasiast
a94841b162 Split one changelog entry into two
[ci skip]
2026-01-31 12:27:20 +01:00
Aaron van Geffen
0669f0d107 Add sprites to weather cheat dropdown 2025-12-28 23:15:00 +01:00
frozensnowy
445b38fe0f Fix #20620: Console caret does not update when pasting
Add missing RefreshCaret call after pasting text in the console.
2026-01-29 21:07:20 +00:00
frozensnowy
560fb471e0 Fix #25775: Network download sizes are not in the claimed KiB 2026-01-29 21:43:05 +01:00
Michael Steenbeek
343c7a70d7 Change colour to a strong enum (#25873) 2026-01-28 10:06:45 +01:00
Gymnasiast
78f8974c62 Add "original bug" to issue #18441
[ci skip]
2026-01-27 23:33:34 +01:00
Michael Steenbeek
6bc432dd12 Fix #18441: Spurious error when trying to replace footpath (#25880) 2026-01-27 22:47:19 +01:00
Michael Steenbeek
7aaa124cef Fix #15009: Landscaping tools do not display estimates when paused (#25866) 2026-01-27 22:09:33 +01:00
Gymnasiast
0343d721e3 Fix: diagonal and inclined brakes not counted when calculating upkeep cost 2026-01-24 00:06:26 +01:00
MarcelVos96
716e3c92ab Add running cost to boosters 2026-01-24 00:06:26 +01:00
Gymnasiast
639c64974f Fix #25221: When trying to cancel game file discovery, the prompt reappears 2026-01-22 20:59:24 +01:00
Michael Berk
f8805635f6 Implement ShowMenuDialog on macOS 2026-01-22 20:59:24 +01:00
MarcelVos96
b6922173b5 Fix #25854: Game draws too much bar at 0 happiness and energy (#25855)
* Update changelog.txt

* Fix #25854: Game draws too much bar at 0 happiness and energy

Fixes #25854

Originally the minimum for happiness was 10/255. It was changed to 10/100, and this PR changes it to 3/100 to get back to the old minimum.

* Update changelog.txt
2026-01-21 07:37:22 +00:00
Duncan
8d25776c95 Fix implementation mistake from #1644. Guest happiness calcs (#25850)
* Fix implementation mistake from #1644. Guest happiness calcs

There was meant to be happiness growth rate penalties when very hungry, thirsty, low energy, high toilet

* Fix regression

* Fix nausea growth generation

* No really fix it

* Add changelog entry

* Change issue number

* Bump network version

* Update replays
2026-01-20 19:47:24 +00:00
Gymnasiast
c254c2e9f8 Improve error messages, add changelog entry 2026-01-17 23:44:37 +01:00
mix
909f04db4e Fix #25167: Type A metal supports draw with cap if heightExtra is positive (#25823) 2026-01-15 13:08:55 +01:00
Michael Steenbeek
839b5ee434 Fix #25745: Crash when a player connection is aborted early (#25811) 2026-01-15 11:37:37 +01:00
mix
3dd71e2040 Fix news window option tab not invalidating (#25799) 2026-01-12 08:17:26 +01:00
Michael Steenbeek
29ebe61e60 Add "StayOpen" flag to special track parts dropdown (#25765) 2026-01-07 15:49:00 +01:00
Michael Steenbeek
0319dc2fff Fix #25739: Freezes when exceeding 384 items per tab in New Ride (#25740) 2026-01-05 14:08:33 +01:00
Michał Janiszewski
09f537e501 Start v0.4.31 2026-01-04 17:21:46 +01:00
Michał Janiszewski
b0f30a5bfa Release v0.4.30
- Improved: [#24912] Staff now use an appropriate standing animation while waiting at level crossings.
- Improved: [#25515] Path dragging can now be disabled via multiplayer group permissions.
- Improved: [#25529] The map selection grid no longer redraws every frame if it has not changed.
- Improved: [#25530] Wall dragging can now be cancelled without closing the Scenery window.
- Improved: [#25575] Updated the network protocol to a new format that supports larger packets, allowing clients to connect reliably to servers with many objects or large maps.
- Improved: [#25621] Added the Polish Złoty (PLN) to the list of available currencies.
- Improved: [#25625] Renewing and refurbishing rides now also resets the downtime.
- Improved: [#25662] The sprite build command is faster when building sprites from the same image file.
- Change: [#21912] Toilet income is now categorised as shop sales instead of ride tickets.
- Change: [#25403] Guests will not slide down the Spiral Slide if it's broken, even if they have already entered the ride structure.
- Change: [#25485] Make the enlarged pressed swatch sprite more pronounced.
- Change: [#25544] The default game window size is now 1280×720px instead of 640×480px.
- Fix: [#9895] Stand-up coaster gets wrong intensity boost from the synchronisation bonus.
- Fix: [#11617] Path corner connections are broken when hovering track design ghosts with paths over them in zero clearances.
- Fix: [#22484] Lingering ghost entrance after placing park entrance.
- Fix: [#24952] Duplicate track designs when running via Steam without having RCT1 linked.
- Fix: [#25187] On-ride photo platform does not render as ghost when placing track design.
- Fix: [#25229] Excessive logging of game actions, reduced to top-level game actions and filters ghost related ones.
- Fix: [#25469] Drawing in the ui.imageManager.draw callback causes an assertion.
- Fix: [#25524] The track construction arrow does not immediately change position when deleting track pieces.
- Fix: [#25552] Clear Scenery does not show an error message about insufficient money if cash is negative.
- Fix: [#25565] Chairlift station ends are missing tunnels at certain rotations.
- Fix: [#25569] Placing park entrances in multiplayer does not show for other players, causing desyncs.
- Fix: [#25571] Potential crash due to drawing a Crooked House ride.
- Fix: [#25588] When the master server becomes unreachable the server would not register again until a restart.
- Fix: [#25592] Log flume, river rapids, & splash boats can get control failure breakdown instead of brakes failure.
- Fix: [#25595] Invisible entrance is added to imported SV4 saves.
- Fix: [#25601] Inspection interval of a ride gets reset when opening the construction window.
- Fix: [#25628] Availability of AVX2 and SSE4.1 is not detected correctly.
- Fix: [#25639] Scenery window crashes when a no longer present object is still selected.
- Fix: [#25641] Desync because of mismatching inspection intervals.
- Fix: [#25642] The selection marker for purchasing land rights is not drawn with the correct colours.
- Fix: [#25646] It is possible to remove scenery and paths when setting staff patrol areas and purchasing land.
- Fix: [#25660] After saving a track design with scenery, that ride’s entrances and exits are visible in ‘Highlight path issues’ mode.
- Fix: [#25717] Umbrellas given to guests by means of cheats do not use the full (extended) range of colours.
2026-01-04 16:56:35 +01:00
Michael Steenbeek
c8445ebbeb Merge pull request #25641 from Gymnasiast/refactor/inspection
Refactor inspection interval and fix bugs
2025-12-31 12:54:19 +01:00
Aaron van Geffen
9a73230179 Allow cheated umbrellas to use the full colour palette again (#25717) 2025-12-28 22:10:42 +01:00
mix
b7250d4ca3 Fix #25469: Assertion when drawing in ui.imageManager.draw callback (#25716) 2025-12-28 19:10:44 +01:00
mix
8ce8eec426 Fix #11617: Zero clearance ghost track design paths break connections (#25685) 2025-12-27 14:29:49 +01:00
Michael Steenbeek
f4c43f5a39 Fix #25187: On-ride photo platform does not render as ghost when placing track design (#25680) 2025-12-26 20:32:18 +01:00
Gymnasiast
f97b6e8cbe Pass inspection interval as a parameter to game actions 2025-12-25 12:25:08 +01:00
Michael Steenbeek
d8ad249b0a Only add invisible entrances to S4/S6 if they were actually used (#25682) 2025-12-23 14:20:11 +01:00
Michael Steenbeek
6ed8514381 Merge pull request #25649 from Sadret/develop
Fix #25639: invalidate scenery window after unloading scenery objects
2025-12-21 19:16:09 +01:00
Michael Steenbeek
fcd16cb00a Close #25515: create a specific permission for the path drag tool (#25675) 2025-12-21 12:49:17 +01:00
Michael Steenbeek
8492d408de Fix #25660: Ride entrances are sometimes visible in ‘Highlight path issues’ mode (#25679) 2025-12-21 12:34:29 +01:00
Gymnasiast
7bdd1a4823 Fix #25639: Scenery window crashes when a no longer present object is still selected 2025-12-21 00:08:05 +01:00
spacek531
d7ec490ecc Convert height markers field to sequence flag (#25501) 2025-12-20 11:55:38 +01:00
mix
dbd14741a1 Add changelog entry for improved sprite build performance 2025-12-17 23:35:04 +00:00
Matt
9d93d6cd9b Merge pull request #25651 from ZehMatt/reduce-logging
Fix #25229: Excessive game action logging
2025-12-15 03:09:13 +02:00
ζeh Matt
d6d90775ff Update changelog.txt 2025-12-14 23:32:39 +02:00
mix
955ce1e326 Fix patrol area tool allowing right click removal of paths and scenery 2025-12-14 02:48:03 +00:00
mix
2f7a1bf651 Fix land purchase selection grid colour not being white (#25642) 2025-12-13 10:06:50 +01:00
matheusvb3
cc0f83081b Do not allow guests to slide down the Spiral Slide if it’s broken (#25403) 2025-12-12 18:56:14 +00:00