318 Commits

Author SHA1 Message Date
Marino Rottier 6e45d802ec Automatically publish plugin types to NPM (#26283)
* add workflow and package.json for publishing plugin TypeScript types

* move scripting-related files to scripting folder

* add support for trusted publishers

* fix path to scripting readme

* rename scripting README.md back to scripting.md

* support tagged/dev releases

* add workflow for development versions

* Update package.json website

* change dependencies in publish-plugin-types

* add timestamp to dev plugin versions

* note ScriptEngine.h grep dependency from CI

* use gh-describe to track release version for dev plugin types
2026-04-28 21:25:57 +02:00
Gymnasiast 7e79603a6f Revert "Use VS 2022 for the v0.5.0 release (for W7 compatibility)"
This reverts commit fc900a4ce1.
2026-04-12 13:26:30 +02:00
Gymnasiast 075993c2c6 Release v0.5.0
- Feature: [#23465] Change plugin JavaScript engine from Duktape to QuickJS-NG, allowing ES6+ features to be used in plugins.
- Feature: [#26178] Port of the Spinning Cars from RollerCoaster Tycoon 1.
- Improved: [#25314] Add unbanked and banked quarter helices to the Alpine, Corkscrew, Giga, Hybrid, Looping, Mine Ride, Mini, Multi-Dimension, Single Rail, Stand Up, Steeplechase and Twister tracks.
- Improved: [#26044] Simplify Android installation by bundling OpenRCT2 assets in APK.
- Improved: [#26293] Objects extracted from saves now have more information in their filenames.
- Improved: [objects#432] Allow saving scenery from RCT1 with track designs.
- Change: [#25962] The station style dropdown now shows entrance icons next to the labels for easier selection.
- Change: [#26175] The ride colour tab is made more compact by collapsing unavailable sections instead of only hiding them.
- Change: [#26178] Symmetric spinning trains and legacy ‘pre-reversed’ trains can no longer be reversed.
- Fix: [#10616] Quarter-tile trees cannot be placed on dry portions of half-water tiles.
- Fix: [#25128] Mute button displayed in wrong state after load.
- Fix: [#25460] Infinite loop when moving track design ghost queue over queue loop with zero clearances.
- Fix: [#25735] Ride synchronisation z-check works incorrectly.
- Fix: [#25919] Path drag tool error sound stacks when placement fails.
- Fix: [#25926] Path drag tool shows cost for single tile instead of total.
- Fix: [#25927] Wall drag tool error sound stacks and shows wrong cost.
- Fix: [#25962] Dropdown triangle glyphs are not optically centred.
- Fix: [#25993] Toggling “allow arbitrary ride type changes” does not resize open ride windows.
- Fix: [#26111] Vehicle colours tab can go out of bounds in certain edge cases.
- Fix: [#26118] Windows installers for releases are not signed properly.
- Fix: [#26128] The loan spinner widget does not appear on the same baseline as the text around it.
- Fix: [#26140] The time a guest has spent in a queue overflows back to 0 after it reaches 65535 (about a year).
- Fix: [#26159] The map generator window is not resized correctly in Enlarged UI mode.
- Fix: [#26196] The sprites of one angle of the Steeplechase left large turn are misaligned (original bug).
- Fix: [#26214] The wrong sprite is used for one angle of the gentle diagonal slope of Alpine, Hybrid and Single Rail tracks.
- Fix: [#26243] Increase max dropdown size from 512 to 1024 to accommodate parks with more than 512 rides.
- Fix: [#26306] Platform::FindApp fails to locate Homebrew-installed tools on macOS.
- Fix: [#26339] Crash when setting up a marketing campaign.
- Fix: [objects#430] The RCT1 Reverse Freefall car can be reversed and show broken sprites when doing so.
2026-04-12 11:03:20 +02:00
Gymnasiast fc900a4ce1 Use VS 2022 for the v0.5.0 release (for W7 compatibility)
This is intended as a temporary commit since #26262 was not settled at the time of release.
2026-04-12 11:02:08 +02:00
Michael Bernardi 16cd1c07ff Swap Duktape for quickjs-ng
Co-authored-by: Basssiiie <Basssiiie@users.noreply.github.com>
Co-authored-by: Tulio Leao <tupaschoal@gmail.com>
2026-04-01 02:18:36 +11:00
Michał Janiszewski 36b121af9e Create dependant.yml for dependency updates (#26252)
Add GitHub Actions dependency update configuration.
2026-03-29 08:21:46 +02:00
Michał Janiszewski 9b460d2f75 Android: adapt CI to bundle the assets 2026-03-22 17:44:47 +01:00
Michał Janiszewski 892d60cbde Update ccache-action version to v1.2.21 (#26210) 2026-03-17 14:22:28 -03:00
Michał Janiszewski 983432c9a4 MSVC 2026 (#26204)
* Update internal vstool.cmd to better detect new versions

* Switch windows CI image to VS 2026

* Move ARM64 MSVC build back to VS2022
2026-03-16 11:28:16 +01:00
Michał Janiszewski 27e3c0af58 Post code formatting changes as suggestions in PR (#25211) 2026-03-16 06:40:12 +01:00
Tulio Leao 25c7379b46 Release v0.4.32
- Feature: [#22704] Rides can be made invisible more easily.
- Improved: [#21753] Tracked rides with cheated powered launch mode can change powered launch speed without extra cheats.
- Improved: [#25526] When a shop item cannot be recoloured, show a preview of the building instead.
- Improved: [#25941] The command line sprite build command is now faster.
- Improved: [#26002] Rides with newer track elements (like the zero G roll or diagonal brakes) can now be saved as track designs.
- Improved: [#26026] Profiler is now thread safe and supports JSON export with call graph data.
- Improved: [#26050] Add Danish translation to Windows installer.
- Improved: [#26091] When all rides are closed, the marketing window will no longer show the ride advertisement campaign.
- Change: [#26011] Audio resampling no longer depends on the third-party library libspeexdsp.
- Change: [#26049] Guest generation now starts slowing down above 52000 guests instead of 7000.
- Fix: [#14686, #23996, #25981] Preview images from different windows overwrite each other when using OpenGL.
- Fix: [#15128, #15626, #16331, #17443, #18626, #21597, #24175, #24971, #25963] Crash when loading corrupted RCT2/RCT1 save files with duplicate entity indices.
- Fix: [#23519] Title sequence cannot open .sea scenarios from RCTC.
- Fix: [#25237] Wrong colours on the Knight costume (original bug).
- Fix: [#25712, #25727] Crash during startup from window list race condition.
- Fix: [#25763] Crash when opening the Footpath window in Multiplayer.
- Fix: [#25910] Folders starting with numbers are sorted incorrectly (e.g. 1, 10, 2 instead of 1, 2, 10).
- Fix: [#25954] Guests display hats, balloons, and umbrellas while puking.
- Fix: [#25961] Fix crash when rendering malformed vehicles in the ride window.
- Fix: [#25978] Frozen peeps start clapping when the scenario is won.
- Fix: [#25999] Scenery picker tool does not pick the tertiary colour of large scenery correctly.
- Fix: [#26037] Selecting elements in the tile inspector list and changing all tiles of a track piece does not redraw correctly.
- Fix: [#26057] In the scrolling intro, the Infogrames logo is taken off the screen before it reaches the bottom (original bug).
- Fix: [#26058] RCT Classic scenarios with packed objects missing from scenario index.
- Fix: [#26083] You can advertise for closed food & drink stalls.
2026-03-01 06:09:42 -03:00
Michał Janiszewski efb14fffe1 CI: Use images v26 from ghcr (#26070)
https://github.com/OpenRCT2/openrct2-docker-build/pkgs/container/openrct2-build

This version adds `gxc` (libsawyer) to android image and removes speexdsp
2026-02-20 19:29:48 +00:00
Michał Janiszewski 1e3790cb77 Optimize Android CI by splitting builds and parallelizing ABIs (#26069)
`src/openrct2-android/app/build.gradle` now supports `abiFilter` and
`skipNativeBuild` properties, which can be used to selectively build
individual architectures. Each architecture is built in its own job and
after the upload/download artifacts dance they get merged in the
`android` job.

This improves cache locality for ccache by splitting it into
ABI-specific keys.

The parameters are optional, so no changes are required to build
instructions - all the supported architectures will be built by default.
2026-02-20 20:06:09 +01:00
Michał Janiszewski c1dfe7db4d Rename 'android' label to 'Android (OS)' (#26060) 2026-02-19 22:50:05 +01:00
Michał Janiszewski 4bb8bd1215 Only remove unsigned installers when having signed versions (#26047) 2026-02-17 18:47:05 +01:00
Michał Janiszewski fd96c8208c Cache gradle
This targets initial gradle task which takes over a minute in CI:
> `Calculating task graph as no cached configuration is available for tasks: app:assembleRelease`
2026-02-09 09:50:48 +01:00
Michał Janiszewski a427f41f9b CI: Use images v25
Leave AppImage on now-removed 24-jammy
2026-02-08 21:39:45 +01:00
Michał Janiszewski 1723925c5c Use better filtering for unsigned artifacts in the release (#25924) 2026-02-05 21:44:28 +01:00
Michał Janiszewski 40d974d891 Move some workflows to ubuntu-slim (#25939)
* Move some CI jobs to ubuntu-slim

ubuntu-slim is a single-CPU hosted runner that uses containers instead
of VMs. It's useful for quick 'maintenance' jobs.

* Move some workflows to ubuntu-slim

`ubuntu-slim` is a single-CPU hosted runner that uses containers instead of VMs. It's useful for quick 'maintenance' jobs.
2026-02-03 14:27:07 +01:00
Michał Janiszewski a78a508cae Move some CI jobs to ubuntu-slim (#25938)
ubuntu-slim is a single-CPU hosted runner that uses containers instead
of VMs. It's useful for quick 'maintenance' jobs.
2026-02-03 12:09:43 +01:00
Michał Janiszewski e39737536b Update GitHub Actions versions (#25936) 2026-02-03 08:39:54 +00:00
Michał Janiszewski c0a599a141 Update upload/download-artifact actions (#25922) 2026-02-02 13:22:27 +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.
2026-02-01 16:17:17 +01:00
mix bb39b5baee Fix #25749: Windows release builds are not built with LTCG (#25895) 2026-01-31 10:31:38 +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
Basssiiie f5b0ac40ca Add label configuration for plug-ins (#25824) 2026-01-15 19:57:41 +01:00
Aaron van Geffen db94c4fcd6 Automatically apply basic pull request labels (#25770) 2026-01-13 09:52:34 +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
Gymnasiast ebe87be3da Release v0.4.29
- Feature: [#25459] Wall line dragging tool.
- Improved: [#25028] Stalls now support colour presets, just like regular rides.
- Improved: [#25426] Building the track designs index is now quicker.
- Improved: [#25490] The ‘New Ride’ window can now be resized.
- Fix: [#6228] The saved queue line path connections are not preserved when placing track designs (original bug).
- Fix: [#14365] Track designs with scenery below the lowest track piece do not preview correctly.
- Fix: [#25451] Dropdown item tooltips stay open if the mouse is moved over an empty space.
- Fix: [#25454] Opening the land tool while building a path bridge or tunnel closes the Footpaths window.
- Fix: [#25461] Path connections in raised track designs are sometimes broken when placed.
- Fix: [#25467] Paths are not connected together correctly in track design previews.
- Fix: [#25476] When both RCT2 and RCT1 are present, autodetection fails.
- Fix: [#25480] The mini track design preview and price are misaligned in Enlarged UI mode.
- Fix: [#25488] Crash in headless mode.
- Fix: [#25494] The Go-Karts steep to flat track does not draw correctly in the flat side tunnel.
- Fix: [#25518] The virtual floor does not draw correctly if expanded on the positive x and y axes.
- Fix: [#25519] Crackling audio when sampling frequencies do not match.
- Fix: [objects#401] Round tunnels on down slopes glitch.
- Fix: [objects#404] Wooden Wild Mine cars incorrectly allow setting a third remap colour.
- Fix: [objects#408] Australian fountain sets have confusing naming.
- Fix: [objects#409] LIM Launched Coaster trains incorrectly have a 10% intensity modifier set (original bug).
- Fix: [objects#410] Large scenery from the Wacky Worlds Africa theming have incorrect previews when using specific versions of the RCT2 base game.
- Fix: [objects#415] Penguin bobsleigh trains show incorrect sprites on the 12° down slope (original bug).
2025-11-22 18:16:07 +01:00
Aaron van Geffen 5847457391 Release v0.4.28
- Feature: [#25286] Footpath area dragging tool.
- Feature: [#25379] Add an option to the command line screenshot function to draw debug segment heights.
- Improved: [#21375] The `load_object` console command now allows loading JSON objects.
- Improved: [#25297] Paths on the ground in SV4/SC4 no longer block supports of the paths above.
- Improved: [#25349] ‘Recent Messages’ window can now be fully themed.
- Improved: [#25433] Colour dropdown now uses bigger images in Enlarged UI mode.
- Change: [#25089] Peep actions and animations that cause them to stop moving no longer trigger when they are on a level crossing.
- Change: [#25337] Placing track designs with scenery that is obstructed no longer disables all of the scenery.
- Fix: [#20198] Guest inventory from RCT1 base game saves is not imported.
- Fix: [#20486] Multiplayer desync when placing track designs without any scenery.
- Fix: [#22779, #25330] Incorrect queue paths in Nevermore Park and Six Flags Holland scenarios (bug in the original scenarios).
- Fix: [#24975] The Corkscrew and LIM Launched (original bug) roller coaster quarter loop tunnels are too high.
- Fix: [#25139] Steam locomotive and tram claxons can sound louder than normal when approaching crossings that span multiple tiles.
- Fix: [#25190] Inserting a block brake while a coaster is simulating will cause the simulation to behave strangely.
- Fix: [#25206] System file picker does not show up on the Steam Deck.
- Fix: [#25272] Text colour dropdown in the Banner window is too narrow, resulting in truncated labels.
- Fix: [#25299] The Mine Train Coaster left large helix draws incorrect sprites at certain angles (original bug).
- Fix: [#25328] Spiral Slide in Blackpool Pleasure Beach has its entrance and exit the wrong way round (bug in the original scenario).
- Fix: [#25342] The Go-Karts medium right gentle sloped turn does not have a tunnel at the end.
- Fix: [#25349] Items in Recent Messages are too narrow if there is no scrollbar visible.
- Fix: [#25350] The scrolling intro background switches colour halfway through (original bug).
- Fix: [#25350] When skipping the scrolling intro, the screen does not get cleared properly.
- Fix: [#25350] Scrolling intro cannot be skipped using a mouse click.
- Fix: [#25358] The Stand Up Roller Coaster left corkscrew does not block supports correctly.
- Fix: [#25363] The Mine Train Coaster flat-to-steep track pieces do not block all metal supports.
- Fix: [#25369] The Go-Karts medium turns and small flat and sloped turns do not block metal supports correctly.
- Fix: [#25370] The Hybrid Coaster diagonal brakes and block brakes do not block metal supports consistently.
- Fix: [#25371] The Wooden Roller Coaster small banked turns block too many metal supports.
- Fix: [#25378] The land tool sometimes allows land to be raised through a maze.
- Fix: [#25380] The Lay-down Roller Coaster left corkscrew supports are incorrect at one angle (original bug).
- Fix: [#25388] The Shortcut Keys window uses the wrong colours for separators, scrollbars and buttons.
- Fix: [#25401] Mazes can be built 2 units higher than their support limits.
- Fix: [#25404] Guests that have been removed with the remove all guests cheat will still be visible if they were sliding down the Spiral Slide.
- Fix: [#25410] Guest flags (e.g. tracking) not imported from RCT1.
2025-11-01 10:16:13 +01:00
Tulio Leao dbb9fd9dec Release v0.4.27
- Feature: [#25218] `sprite exportobject` command, which allows extracting images from an object.
- Feature: [#25274] New title sequence (see https://github.com/OpenRCT2/title-sequences/releases/tag/v0.4.26 for credits).
- Improved: [#2296, #2307] The land tool now takes sloped track and paths into account when modifying land.
- Change: [#25111] Frozen guests no longer finish consuming any food or drink they are carrying.
- Change: [#25161] Revert to the ‘fair ride price’ calculation of vanilla RCT2.
- Change: [#25201] Ride List: put unknown popularity and satisfaction last when sorting.
- Change: [#25228] [Plugin] The available staff costumes array is now ordered alphabetically by name.
- Change: [#25240] The LIM Launched Coaster now defaults to powered launch without passing station again (as it did in vanilla RCT2).
- Change: [#25248] Revert Crooked House & Circus default prices to vanilla values.
- Change: [#25266] Lightning and thunder have less chance of occurring during blizzards.
- Removed: [#25225] `sprite exportalldat`, replaced with `sprite exportobject`.
- Fix: [#24513] Ride/track designs can now be shifted underground as well.
- Fix: [#24682] The scenery window isn't high enough to accommodate all tool buttons when there are multiple rows of groups/tabs.
- Fix: [#24882] Guests are shown with hats and umbrellas whilst clapping.
- Fix: [#24998] Some custom small scenery objects do not load.
- Fix: [#25131] The Reverse Freefall Coaster On-ride photo section track has incorrectly coloured ties.
- Fix: [#25132] Crash when trying to use simulate on incomplete ride.
- Fix: [#25134] Vehicles visually glitch on diagonal steep slopes.
- Fix: [#25146] The support clearance height of the diagonal brakes for the Junior, inverted Flying and inverted Lay-down Roller Coasters is too high.
- Fix: [#25147] The wooden support clearance heights for steep Log Flume track pieces are too low.
- Fix: [#25159] One of the tiles on the Hybrid Coaster diagonal flat track does not block metal or wooden supports correctly.
- Fix: [#25160] The Go-Karts steep to flat track piece has incorrect wooden support clearance heights.
- Fix: [#25163] Some of the Junior Roller Coaster flat to steep track wooden support clearance heights are different to RCT1.
- Fix: [#25173] Desync when placing a park entrance in multiplayer.
- Fix: [#25179] The LIM Launched Roller Coaster inline twists have incorrect wooden support clearance heights (original bug).
- Fix: [#25201] Ride list sort order can be unstable when sorted in descending order.
- Fix: [#25207] Building a block brake on an LIM coaster does not automatically switch it to powered launch block sectioned mode.
- Fix: [#25238] The chance of thunder and lightning effects happening is lower than vanilla.
- Fix: [#25288] Water ride “chain” sound does not loop.
2025-10-04 05:43:14 -03:00
Michał Janiszewski 7f5a56e047 Update default permissions for pull requests (#25224)
Update permissions for actions for #25211 .

It needs to be done this way and *not* via token, because pull
requests have no access to secrets.

The default branch dictates what kind of access the default actions token has
(constrained by repo config in https://github.com/OpenRCT2/OpenRCT2/settings/actions)
2025-09-22 22:54:12 +02:00
Michał Janiszewski fdcfd8704b Mark git directory as safe for formatting job 2025-09-19 14:55:10 +02:00
Michał Janiszewski 159b705593 Update CI images to 24
This introduces git to formatting image
2025-09-19 14:55:10 +02:00
Michael Steenbeek 88e68a5e3b Prevent PRs marked "on hold" from going stale (#25188) 2025-09-17 00:23:59 +02:00
Michał Janiszewski d65b1144e8 Skip stripping of Linux binaries (#25037) 2025-09-08 23:11:13 +02:00
Michał Janiszewski 84fc3bcf5e Release v0.4.26
- Feature: [#24949] Add an option to the command line screenshot function to draw debug bounding boxes.
- Improved: [#9890, #18714] Rides using block-sectioned operating modes can now enter simulating mode without having to complete the circuit first.
- Improved: [#24734] Save files now use Zstd compression for faster saving and smaller files.
- Improved: [#24890] The ride list is now searchable.
- Improved: [#24893] The ride list now has headers, and can be sorted in both directions.
- Improved: [#24921] The command line sprite build command now prints out the images table entry for the compiled sprite file.
- Improved: [#24953] Opening the Scenario Editor, Track Designer or Track Designs Manager now display the progress bar.
- Improved: [#25027] Land style dropdown now has tooltips with the name of the land types.
- Improved: [#25057] The progress window now has a Go Karts variant.
- Change: [#23351] Diagonal sloped Go-Kart track can no longer be built without cheats if the karts do not have sprites for them.
- Change: [#24606] Increase Misc Entity limit from 1600 to 3200.
- Change: [#24974] Raise the Go-Karts maximum support height to allow 2 large sloped turns to be built on flat ground.
- Change: [#25024] Guests in mazes no longer jump during heavy snow or blizzards, as they would when it rains.
- Fix: [#12831] Zooming to cursor on land edges sometimes causes the camera to move to the wrong position.
- Fix: [#16988] AppImage version does not show changelog.
- Fix: [#19137] Non-inverted left corkscrew supports are incorrect at one angle (original bug).
- Fix: [#23440] Quarter loops do not block metal supports correctly (original bug).
- Fix: [#24001] Sloped diagonal metal supports that are offset with a crossbeam draw incorrectly.
- Fix: [#24151] Sprites are cut off by 1 row of pixels when using OpenGL on Intel Macs.
- Fix: [#24173] Allow all game speeds between 1 and 8 when debugging tools are enabled.
- Fix: [#24745] Potential crash when lighting effects are enabled and loading a save or a new scenario.
- Fix: [#24835] Dive loop track pieces do not have tunnels.
- Fix: [#24884] Smooth map and add beaches functions use incorrect map size with height map image files.
- Fix: [#24915] LIM Launched (original bug), Corkscrew and Twister Roller Coaster inline twists have some incorrect tunnels.
- Fix: [#24916] LIM Launched inline twists can draw over land edges when built underground (original bug).
- Fix: [#24953] Crash when opening the Scenario Editor, Track Designer or Track Designs Manager.
- Fix: [#24955] Hybrid Zero G Rolls do not fully block metal supports.
- Fix: [#24958] Android: fix crash when device is offline.
- Fix: [#24961] Queues with corner connections set with the tile inspector draw incorrect sprites.
- Fix: [#24972] Fix crash when closing windows would open other windows.
- Fix: [#24986] LIM Launched Roller Coaster inline twists block metal supports on the wrong side (original bug).
- Fix: [#24989] Classic Wooden Roller Coaster small banked turns do not block metal supports correctly.
- Fix: [#24993] The Mine Train Coaster sloped left medium turn has an incorrectly rotated support at one angle.
- Fix: [#24994] The Alpine Coaster and Mine Ride left s-bends have an incorrectly rotated support at certain angles.
- Fix: [#25001] The Hybrid Coaster small banked sloped right turn and large sloped right turn to orthogonal have some incorrectly rotated supports.
- Fix: [#25002] The large right turn to diagonal on the Miniature Railway draws incorrectly at certain angles.
- Fix: [#25005] The Corkscrew Roller Coaster inline twist inverted supports draw below the track.
- Fix: [#25006] The Twister Roller Coaster inline twists do not draw in tunnels at some angles.
- Fix: [#25046] Zooming with the zoom buttons on the extra viewport is not focused on the centre of the viewport.
- Fix: [#25054] Panning a viewport in a window that is partially outside the game’s window can draw incorrectly or crash in software rendering.
- Fix: [#25062] Certain peep actions cannot be triggered if they are under or inside a track piece due to faulty verification of them being on a level crossing.
- Fix: [#25067] Progress bars can flicker when downloading maps in multiplayer mode.
- Fix: [#25075] The Hybrid Coaster quarter loops draw over land edges and walls directly next to them.
- Fix: [#25080] Water has missing land edges when opposite corners of the tile and adjacent tile are the same height and the others are lower.
2025-09-06 19:41:24 +02:00
Michał Janiszewski 66665c8a81 Use macos-15-built libraries v40 (#24939)
* Use macos-15-built libraries v40

Windows version is the same as v38, no need to update

* Use macos-15 in CI

* Build libopenrct2 statically

* Skip creating universal libopenrct2.dylib as it no longer exists

* Force static linking on macOS
2025-08-26 07:04:30 +02:00
Michał Janiszewski fd1a2c943b Run tests on macos amd64 (#24964)
We can't run aarch64 tests on amd64, but we can run amd64 on aarch64
using rosetta
2025-08-14 11:12:07 +03:00
Michał Janiszewski 81e956bbfd Add Trixie (#24950)
* Use CI images v23, add trixie

* Use per-linux-release cache key
2025-08-11 12:21:45 +00:00
Michał Janiszewski 91ba8c893e Use CI images v22: Jammy for AppImage now uses clang-20 (#24926)
* Use CI images v22: Jammy for AppImage now uses clang-20

* Use clang-20
2025-08-09 05:34:47 -03:00
Michał Janiszewski e118b4d9b8 CI: Use macOS 15 (#24925) 2025-08-08 13:58:24 +02:00
LRFLEW 52e3c774bc Use ZStandard for Park and Replay Files (#24734) 2025-08-06 21:50:18 +02:00
Michał Janiszewski 9bdb57b63e Remove duplicate checksums file (#24883)
The filename used in https://github.com/OpenRCT2/OpenRCT2/pull/24877 already matches the main pattern and possibly causes a "soft failure":

```
👩‍🏭 Creating new GitHub release for tag v0.4.25-3-g6f28ef9379...
⬆️ Uploading OpenRCT2-v0.4.25-3-g6f28ef9379-sha256sums.txt...
⬆️ Uploading OpenRCT2-v0.4.25-3-g6f28ef9379-windows-symbols-x64.zip...
⬆️ Uploading OpenRCT2-v0.4.25-3-g6f28ef9379-windows-symbols-win32.zip...
⬆️ Uploading OpenRCT2-v0.4.25-3-g6f28ef9379-windows-symbols-arm64.zip...
⬆️ Uploading OpenRCT2-v0.4.25-3-g6f28ef9379-windows-portable-x64.zip...
⬆️ Uploading OpenRCT2-v0.4.25-3-g6f28ef9379-windows-portable-win32.zip...
⬆️ Uploading OpenRCT2-v0.4.25-3-g6f28ef9379-windows-portable-arm64.zip...
⬆️ Uploading OpenRCT2-v0.4.25-3-g6f28ef9379-windows-installer-x64.exe...
⬆️ Uploading OpenRCT2-v0.4.25-3-g6f28ef9379-windows-installer-win32.exe...
⬆️ Uploading OpenRCT2-v0.4.25-3-g6f28ef9379-windows-installer-arm64.exe...
⬆️ Uploading OpenRCT2-v0.4.25-3-g6f28ef9379-sha256sums.txt...
⬆️ Uploading OpenRCT2-v0.4.25-3-g6f28ef9379-macos-universal.zip...
⬆️ Uploading OpenRCT2-v0.4.25-3-g6f28ef9379-linux-x86_64.AppImage...
⬆️ Uploading OpenRCT2-v0.4.25-3-g6f28ef9379-android-arm.apk...
⬆️ Uploading OpenRCT2-v0.4.25-3-g6f28ef9379-Linux-noble-x86_64.tar.gz...
⬆️ Uploading OpenRCT2-v0.4.25-3-g6f28ef9379-Linux-bookworm-x86_64.tar.gz...
Error: Not Found - https://docs.github.com/rest/releases/assets#update-a-release-asset
 Uploaded OpenRCT2-v0.4.25-3-g6f28ef9379-sha256sums.txt
 Uploaded OpenRCT2-v0.4.25-3-g6f28ef9379-windows-symbols-win32.zip
 Uploaded OpenRCT2-v0.4.25-3-g6f28ef9379-windows-symbols-arm64.zip
 Uploaded OpenRCT2-v0.4.25-3-g6f28ef9379-windows-symbols-x64.zip
 Uploaded OpenRCT2-v0.4.25-3-g6f28ef9379-windows-portable-arm64.zip
 Uploaded OpenRCT2-v0.4.25-3-g6f28ef9379-windows-portable-x64.zip
 Uploaded OpenRCT2-v0.4.25-3-g6f28ef9379-Linux-noble-x86_64.tar.gz
 Uploaded OpenRCT2-v0.4.25-3-g6f28ef9379-windows-installer-win32.exe
 Uploaded OpenRCT2-v0.4.25-3-g6f28ef9379-Linux-bookworm-x86_64.tar.gz
 Uploaded OpenRCT2-v0.4.25-3-g6f28ef9379-windows-installer-x64.exe
 Uploaded OpenRCT2-v0.4.25-3-g6f28ef9379-windows-installer-arm64.exe
 Uploaded OpenRCT2-v0.4.25-3-g6f28ef9379-windows-portable-win32.zip
 Uploaded OpenRCT2-v0.4.25-3-g6f28ef9379-macos-universal.zip
 Uploaded OpenRCT2-v0.4.25-3-g6f28ef9379-linux-x86_64.AppImage
 Uploaded OpenRCT2-v0.4.25-3-g6f28ef9379-android-arm.apk
```

https://github.com/OpenRCT2/OpenRCT2/actions/runs/16705273462/job/47282750562#step:9:16
2025-08-03 22:45:06 -03:00
Michał Janiszewski 6f28ef9379 Fix expected checksum file for release (#24877) 2025-08-03 10:00:33 -03:00
Tulio Leao de986f58fd Release v0.4.25
- Feature: [#24468] [Plugin] Add awards to plugin API.
- Feature: [#24702] [Plugin] Add bindings for missing cheats (forcedParkRating, ignoreRidePrice, makeAllDestructible).
- Feature: [#24794] The load/save browser can now optionally show mini map previews instead of screenshots.
- Improved: [#24812] Taiwan Park has been added to the Extras tab if it is present.
- Improved: [OpenSFX#12] Add Brake Fix, Buy and Dinghy Slide running sounds.
- Change: [#24730] Security guards now only walk slowly in crowded areas.
- Change: [#24843] Update android targetSDK to 36.
- Fix: [#24598] Cannot load .park files that use official legacy footpaths by accident.
- Fix: [#24611] The confirmation prompt for track file deletion is not vertically aligned.
- Fix: [#24711] The map smoothing function only partially works for custom height map image files.
- Fix: [#24761] The reliability bar in the ride window visually does not go below 10%.
- Fix: [#24773] The new ride window debug authors does not show the correct authors for non legacy ride objects.
- Fix: [#24775] The scenery and new ride windows do not filter by file name or identifier correctly for non legacy objects.
- Fix: [#24777] The stall item preview cycles between all possible colours when random checkbox is ticked.
- Fix: [#24794] The load/save browser does not resize cleanly when toggling the preview sidebar.
- Fix: [#24824] The Air Powered Vertical Coaster top section track piece has vertical tunnels (original bug).
- Fix: [#24825] The River Rapids flat-to-gentle track piece tunnels are incorrect on the gentle side.
- Fix: [#24826] The Junior Roller Coaster flat-to-steep track piece tunnels are incorrect.
- Fix: [#24829] The pattern of long grass across tiles is different to RCT1 and RCT2.
- Fix: [#24831] Park names are being overwritten for custom RCT1 scenarios that use competition id slots.
- Fix: [#24838] Not using localized word for conjunction when having multiple shortcuts for the same action.
- Fix: [#24841] Fullscreen options do not work correctly with Emscripten.
2025-08-03 06:54:38 -03:00
Michał Janiszewski bb8ac6f132 Merge pull request #24866 from OpenRCT2/android-keystore
Use static keystore for signing Android builds
2025-08-02 12:12:47 +02:00
Michał Janiszewski 379ef5585c Use images v20 in CI (#24862) 2025-08-02 11:44:07 +02:00
Michał Janiszewski 2fa9b7eb8e Display sha256 digests instead of sha1 for releases (#24871)
As github now automatically displays sha256 checksums of uploaded
artifacts [1], lets match what they display.

[1] https://github.blog/changelog/2025-06-03-releases-now-expose-digests-for-release-assets/
2025-08-02 11:43:18 +02:00
Michał Janiszewski 559e1bf2ce Use static keystore for signing Android builds
Fixes #22861

GitHub Actions CI uses ephemeral debug keystore resulting in APKs being
signed differently each time. This results in user not having trust in
where the builds come from and Android rejecting the update due to
mismatched keys.

This commit introduces a script to (re)create a keystore to be used for
signing APKs in GitHub Actions, sets environment variables for CI job
with generated key and modifies gradle project to consume those
variables.

I have generated the keystore with aforementioned script and set
secrects in the main repository with both the keystore password and
keystore contents.
2025-08-02 11:41:54 +02:00