1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-02-03 04:05:49 +01:00

29636 Commits

Author SHA1 Message Date
matheusvb3
de2bdfce54 Add new .clang-tidy rules (#25923) 2026-02-02 23:33:56 +01:00
Michał Janiszewski
c0a599a141 Update upload/download-artifact actions (#25922) 2026-02-02 13:22:27 +01:00
matheusvb3
c7efa777f7 Remove deprecated C headers (#25921) 2026-02-02 12:41:50 +01:00
Michael Steenbeek
11e354cec4 Fix #25911: Non-working screenshot URL in appdata 2026-02-02 10:25:46 +01:00
OpenRCT2 git bot
8ecb8796c1 Merge Localisation/master into OpenRCT2/develop 2026-02-02 04:38:46 +00:00
Michael Steenbeek
11439f48a5 Merge pull request #25915 from Peppersawce/develop
Re-enable multithreading on Haiku
2026-02-01 22:23:04 +01:00
Peppersawce
d28d4ae18f Fix compilation on Haiku 2026-02-01 22:10:41 +01:00
Peppersawce
8bc56a988f Re-enable multithreading on Haiku 2026-02-01 22:10:04 +01:00
Michał Janiszewski
cb27bc9e57 Start v0.4.32 2026-02-01 16:45:47 +01:00
Michał Janiszewski
6ca95197aa Merge branch 'master' into develop 2026-02-01 16:45:07 +01:00
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.
v0.4.31
2026-02-01 16:17:17 +01:00
Michał Janiszewski
4c818b793c Merge branch 'develop' 2026-02-01 16:10:27 +01:00
Michael Steenbeek
c7a97ccbd7 Merge pull request #25908 from frozensnowy/fix23859+25659-banner-text-issues
Fix #23859: Wrong banner text displayed after loading different park
2026-02-01 15:46:40 +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
OpenRCT2 git bot
9099047a5b Merge Localisation/master into OpenRCT2/develop 2026-02-01 04:41:39 +00: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
matheusvb3
ff72e07385 Remove redundant typename keyword usage (#25901) 2026-01-31 23:59:59 +01:00
Michael Steenbeek
9ec3dfd821 Update objects release to v1.7.6 (#25897) 2026-01-31 19:53:43 +01:00
frozensnowy
75db9f34c4 Fix #25879: Guest window viewport doesn't follow vehicle when on ride (#25883) 2026-01-31 14:41:20 +01:00
Michael Steenbeek
3af94367ec Merge pull request #25857 from matheusvb3/addclamp-final
Clamp some Guest and ParkData fields
2026-01-31 12:35:31 +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
matheusvb3
d47fc1dc78 Clamp Guest fields 2026-01-31 12:20:31 +01:00
matheusvb3
3e224346d2 Clamp ParkData fields 2026-01-31 12:20:30 +01:00
Michał Janiszewski
7c38329a89 Update BACKTRACE_TOKEN for upcoming release 2026-01-31 12:18:40 +01:00
mix
bb39b5baee Fix #25749: Windows release builds are not built with LTCG (#25895) 2026-01-31 10:31:38 +01:00
OpenRCT2 git bot
3bf16febf6 Merge Localisation/master into OpenRCT2/develop 2026-01-30 04:30:27 +00:00
Aaron van Geffen
8460b64b3c Merge pull request #25719 from AaronVanGeffen/weather-cheats-dropdown
Add sprites to weather cheat dropdown
2026-01-29 22:52:01 +01:00
Aaron van Geffen
3602109659 Add small weather icons and tweak alignment 2026-01-29 22:21:55 +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
matheusvb3
20f8339963 Convert car entry flags into a FlagHolder (#25784) 2026-01-29 22:00:03 +01:00
frozensnowy
560fb471e0 Fix #25775: Network download sizes are not in the claimed KiB 2026-01-29 21:43:05 +01:00
OpenRCT2 git bot
5b40d5b857 Merge Localisation/master into OpenRCT2/develop 2026-01-29 04:29:56 +00:00
Aaron van Geffen
1c37891559 Fix weather dropdown item padding in enlarged UI 2026-01-28 21:05:47 +01:00
Michael Steenbeek
343c7a70d7 Change colour to a strong enum (#25873) 2026-01-28 10:06:45 +01:00
OpenRCT2 git bot
bc0f2e8539 Merge Localisation/master into OpenRCT2/develop 2026-01-28 04:17:59 +00: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
OpenRCT2 git bot
545d269295 Merge Localisation/master into OpenRCT2/develop 2026-01-27 04:19:10 +00:00
Michael Steenbeek
efaa5586d3 Merge pull request #25872 from Gymnasiast/backport/refactor-ride-ratings
Backport some things from #23179
2026-01-25 21:01:26 +01:00
Nick Peters-Luciani
3512cef39a Extract TrackGetIsSheltered() 2026-01-25 13:39:51 +01:00
Tulio Leao
5485ae4bde Extract kDynamicRideShelterRating constant 2026-01-25 13:39:51 +01:00
Aaron van Geffen
e6fa0e48d0 Rework palette information into palettes.dat (#25681)
* Rework all palette information into new palette.dat

* Harmonise order between sprites.json, SpriteIds.h, kPaletteToG1Offset

* Rename G1 counterparts for completeness/documentation

* Bump libsawyer to v1.4.0
2026-01-25 10:39:18 +01:00
Michael Steenbeek
fa72aaf6b2 Merge pull request #25868 from Gymnasiast/refactor/colour-h
Remove more stuff from Colour.h
2026-01-24 18:33:41 +01:00