1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-24 15:24:30 +01:00
Commit Graph

24630 Commits

Author SHA1 Message Date
Michał Janiszewski
e822880db8 Add clang-based coverage information for tests 2023-04-04 08:54:19 +02:00
Michał Janiszewski
b3b45853b7 Update CI images to v11 2023-04-04 08:53:33 +02:00
Michał Janiszewski
d25fa7fe1e Fix compilation with mingw GCC 12
Another case of the compiler bug found in #17371
2023-04-04 08:52:12 +02:00
OpenRCT2 git bot
a794c982ba Merge Localisation/master into OpenRCT2/develop 2023-04-04 04:02:03 +00:00
Hielke Morsink
50242c2160 Fix YML error in stale-prs job 2023-04-03 21:35:23 +02:00
Matthias Moninger
a949255067 Merge pull request #19812 from ZehMatt/fix-19811
Fix #19811: Use the correct SDL event for window resize handling
2023-04-03 21:32:37 +03:00
AuraSpecs
8924490483 Improve communication of the stale bot. (#19758)
* Update stale-prs.yml

* Stale after a month

Upped the stale PR from 2 weeks to a month. Reasoning is to not have it spam every two weeks when developers are busy at the time. Let me know if need to be reverted.

* Update communication on closing backtrace issues

* Update .github/workflows/stale-prs.yml

Co-authored-by: James103 <37945304+James103@users.noreply.github.com>

* Update .github/workflows/stale-prs.yml

Co-authored-by: Hielke Morsink <hielke.morsink@gmail.com>

* Revert "Update communication on closing backtrace issues"

This reverts commit b2b6c3ccf1.

---------

Co-authored-by: James103 <37945304+James103@users.noreply.github.com>
Co-authored-by: Hielke Morsink <hielke.morsink@gmail.com>
2023-04-03 13:34:56 -03:00
Michał Janiszewski
049d962a7c Merge pull request #19462 from duncanspumpkin/cmakeTests
Actually Run All Unit Tests in CMake
2023-04-03 17:43:23 +02:00
ζeh Matt
cc64ab530c Fix #19811: Use the correct SDL event for window resize handling 2023-04-03 17:09:50 +03:00
Michał Janiszewski
470d02572d Fix #17371: GCC regression with -Wmaybe-uninitialized (#19810)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105937 was reported for
GCC12 and fixed in GCC13 (not yet released).

Leave the suppresions in place until we can get rid of GCC12
2023-04-03 16:09:41 +02:00
Vlad Rakhmanin
90599d9b5a Fix #13801: Refactor ServerList to use Window class (#19675)
Co-authored-by: Tulio Leao <tupaschoal@gmail.com>
2023-04-03 06:51:40 -03:00
Duncan
2afed4c272 Fix #19803. Crash when invalid scenery element for sign 2023-04-03 10:27:19 +02:00
Matthias Moninger
d7923c479e Merge pull request #19481 from Gymnasiast/feature/compat-object
Add flag to mark an object as a compatibility object
2023-04-03 11:17:13 +03:00
Rik Smeets
de06f6026e Fix #18895: Responding mechanic blocked at level crossing (#19620)
Remove the condition regarding the ride's breakdown reason. Other breakdown reasons can also cause trains getting stuck at a level crossing.
2023-04-02 17:57:59 +02:00
Rik Smeets
f8b30fbb36 Reduce guests walking through trains on level crossing next to station (#19619) 2023-04-02 17:38:00 +02:00
Vlad Rakhmanin
63cad26dfc Fix #13771: Refactor EditorObjectiveOptions to use Window class (#19789)
* Initial refactoring to class completed.

* Removed legacy events.

* Fix issues with variables shadowing outer scope.

* Declaring class final.

* Deleted unused GetHeight function.

* Added early return and OnScrollGetSize

* Fixed typo in OnScrollGetSize
2023-04-02 15:10:58 +01:00
Andrew
ad0229199d Sticky the Misc scenery tab next to the All scenery tab (#19764)
* Sticky the Misc tab next to the All tab

* More robust misc check

Co-authored-by: Hielke Morsink <hielke.morsink@gmail.com>
Co-authored-by: Duncan <duncans_pumpkin@hotmail.co.uk>
2023-04-02 08:42:37 +00:00
Michael Steenbeek
fd80b4c822 Refactor and clean up date handling (#19666)
* Refactor and clean up date handling

* Remove gDate, remove direct access to days_in_month

* Adjust the MultiLaunch test

* Bump network version

---------

Co-authored-by: ζeh Matt <5415177+ZehMatt@users.noreply.github.com>
2023-04-02 09:25:41 +01:00
Matthias Moninger
9e4099fcdf Fix VS debug builds not finding gtestd.lib (#19798) 2023-04-02 09:20:47 +02:00
Michał Janiszewski
6ab69895ae Update dependencies to v34 (#19790)
Updates:

    benchmark 1.6.1 -> 1.7.1
    breakpad 2020-09-14 -> 2022-07-12
    discord-rpc 3.4.0 (no change)
    freetype 2.11.1 -> 2.12.1
    fribidi 1.0.12 (no change)
    gtest 1.11.0 -> 1.13.0
    libflac 1.3.4 -> 1.4.2
    libogg 1.3.5 (no change)
    libvorbis 1.3.7 (no change)
    libpng 1.6.37 -> 1.6.39
    libzip 1.8.0 -> 1.9.2
    nlohmann-json 3.10.5 -> 3.11.2
    openal-soft 1.21.1 -> 1.23.0
    SDL 2.0.22 -> 2.26.4
    speexdsp 1.2.0 -> 1.2.1
    zlib 1.2.12 -> 1.2.13
2023-04-02 00:28:55 +02:00
Kevin Strehl
1174063c27 Improve check whether path is connected (#19788) 2023-04-01 06:44:22 +00:00
OpenRCT2 git bot
3dcd7b6a5c Merge Localisation/master into OpenRCT2/develop 2023-03-31 04:02:00 +00:00
Matthias Moninger
63b0d16025 Merge pull request #19757 from ZehMatt/fix-19296
Fix #19296: Race condition for parallel object loading
2023-03-31 01:21:00 +03:00
Matthias Moninger
72753778e7 Merge pull request #19784 from ZehMatt/backtrace-forks
Disable the issue automation on forks
2023-03-30 19:56:00 +03:00
ζeh Matt
14bfa9a42e Disable the issue automation on forks 2023-03-30 18:55:31 +03:00
duncanspumpkin
b9ce206044 Move to pretest discovery 2023-03-30 08:31:59 +01:00
OpenRCT2 git bot
47e8835bc5 Merge Localisation/master into OpenRCT2/develop 2023-03-30 04:01:53 +00:00
Duncan
893ade7ccc Update to objects v1.3.9 (#19770) 2023-03-29 21:33:31 -03:00
Duncan
2650b19666 Remove shell.nix (#19772) 2023-03-29 21:17:45 -03:00
duncanspumpkin
bde48f0b25 Fix running the tests 2023-03-29 22:05:21 +01:00
duncanspumpkin
2ea289d5c6 Fix tests that now fail to compile 2023-03-29 22:05:19 +01:00
duncanspumpkin
aee3f17b93 Fix cmake tests compiling 2023-03-29 22:04:13 +01:00
Vlad Rakhmanin
f90b18fb3a Fix #13793: Refactor Player to use Window class (#19726)
* Initial refactoring into class completed.

* Added general events for page specific events to hook into.

* Updated variable names to avoid shadowing outer scope.

* Added clang-format

* Moved elements from "WindowPlayerOpen" into "OnOpen" and "Init". Added id parameter for "Init".

* Rearranged the OnMouseUp commands into one root level function.

* Added clang format.

* Refactored code into "OnOpen" function.

* Rearranged the OnMouseUp commands into one root level function.

* Added clang format.

* Added early return to OnMouseUp switch statement.
2023-03-29 21:00:06 +00:00
ζeh Matt
0669e47324 Update changelog.txt 2023-03-29 15:56:02 +03:00
ζeh Matt
92f821af07 Fix some mistake 2023-03-29 15:54:16 +03:00
ζeh Matt
e69d46bd41 Rename some variables 2023-03-29 15:54:16 +03:00
ζeh Matt
1dd9fd525f Fix #19296: Race condition for parallel object loading 2023-03-29 15:54:12 +03:00
Hielke Morsink
7741ecbbcc Add missing full stop 2023-03-29 11:01:20 +02:00
Matthias Moninger
745279cded Fix #19756: Crash with title sequences containing no commands (#19761)
* Fix #19756: Crash with title sequences containing no commands

* Update changelog.txt
2023-03-29 08:50:57 +00:00
Michał Janiszewski
4cd4aaad9f Restore build uploading for develop 2023-03-28 19:28:16 +02:00
Michał Janiszewski
a22c6c02aa Start v0.4.5 2023-03-28 17:52:20 +02:00
Michał Janiszewski
18e9aff5e6 Merge branch 'master' into develop 2023-03-28 17:50:54 +02:00
Michał Janiszewski
9e4918cdbc Release v0.4.4
- Feature: [#11269] Add properties for speed and length of vehicle animations.
- Feature: [#15849] Objectives can now be set for up to 50000 guests.
- Feature: [#18537] Add shift/control modifiers to window close buttons, closing all but the given window or all windows of the same type, respectively.
- Feature: [#18732] [Plugin] API to get the guests thoughts.
- Feature: [#18744] Cheat to allow using a regular path as a queue path.
- Feature: [#19023] Add Canadian French translation.
- Feature: [#19341] Add “All Scenery” tab to scenery window.
- Feature: [#19378] Add command to combine CSG1i.DAT and CSG1.DAT.
- Feature: [objects#226] Port RCT1 Corkscrew Coaster train.
- Feature: [objects#229] Port RCT1 go karts with helmets.
- Feature: [OpenMusic#20, OpenMusic#21] Added Blizzard and Extraterresterial ride music styles.
- Improved: [#11473] Hot reload for plug-ins now works on macOS.
- Improved: [#12466] RCT1 parks now use RCT1’s interest calculation algorithm.
- Improved: [#14635] Scenery window now shows up to 255 scenery groups.
- Improved: [#17288] Reorganise the order of shortcut keys in the Shortcut Keys window.
- Improved: [#18706] Ability to view the list of contributors in-game.
- Improved: [#18749] Ability to have 4 active awards for more than one month in a row.
- Improved: [#18826] [Plugin] Added all actions and their documentation to plugin API.
- Improved: [#18945] Languages can now fall back to other languages than English.
- Improved: [#18970] Trying to load a non-park save will now display a context error.
- Improved: [#18975] Add lift sprites for steep hills on the wooden roller coaster.
- Improved: [#19044] Added special thanks to RMC and Wiegand to the About page.
- Improved: [#19131] Track missing objects when selecting scenery groups in console.
- Improved: [#19253] Queue junctions drawn properly when using regular paths as queue. Note: Requires using tile inspector to indicate railings can be used at T or X junctions.
- Improved: [#19067] New Ride window now allows filtering similarly to Object Selection.
- Improved: [#19272] Scenery window now allows filtering similarly to Object Selection.
- Improved: [#19447] The control key now enables word jumping in text input fields.
- Improved: [#19463] Added ‘W’ and ‘Y’ with circumflex to sprite font (for Welsh).
- Improved: [#19549] Enable large address awareness for 32 bit Windows builds allowing to use 4 GiB of virtual memory.
- Improved: [#19668] Decreased the minimum map size from 13 to 3.
- Improved: [#19683] The delays for ride ratings to appear has been reduced drastically.
- Improved: [#19697] “Show guest purchases” will now work in multiplayer.
- Change: [#19018] Renamed actions to fit the naming scheme.
- Change: [#19091] [Plugin] Add game action information to callback arguments of custom actions.
- Change: [#19233] Reduce lift speed minimum and maximum values for “Classic Wooden Coaster”.
- Removed: [#19520] Support for Windows Vista systems.
- Fix: [#474] Mini golf window shows more players than there actually are (original bug).
- Fix: [#592] Window scrollbar not able to navigate to the end of large lists.
- Fix: [#7210] Land tile smoothing occurs with edge tiles (original bug).
- Fix: [#17996] Finances window not cleared when starting some .park scenarios.
- Fix: [#18260] Crash opening parks that have multiple tiles referencing the same banner entry.
- Fix: [#18467] “Selected only” Object Selection filter is active in Track Designs Manager, and cannot be toggled.
- Fix: [#18904] OpenRCT2 audio object accidentally exported in saves.
- Fix: [#18905] Ride Construction window theme is not applied correctly.
- Fix: [#18911] Mini Golf station does not draw correctly from all angles.
- Fix: [#18971] New Game does not prompt for save before quitting.
- Fix: [#18986] [Plugin] Sending remote scripts larger than 63KiB crashing all clients.
- Fix: [#18994] Title music doesn’t start after enabling master volume.
- Fix: [#19025] Park loan behaves inconsistently with non-round and out-of-bounds values.
- Fix: [#19026] Park loan is clamped to a 32-bit integer.
- Fix: [#19068] Guests may not join queues correctly.
- Fix: [#19091] [Plugin] Remote plugins in multiplayer servers do not unload properly.
- Fix: [#19112] Clearing the last character in the Object Selection filter does not properly reset it.
- Fix: [#19112] Text boxes not updated with empty strings in Track List, Server List, and Start Server windows.
- Fix: [#19114] [Plugin] ‘GameActionResult’ does not comply to API specification.
- Fix: [#19136] SV6 saves with experimental RCT1 paths not imported correctly.
- Fix: [#19243] .park scenarios don’t complete properly.
- Fix: [#19250] MusicObjects do not free their preview images.
- Fix: [#19292] Overflow in ‘totalRideValue’.
- Fix: [#19339] Incorrect import of crashed particles from SV4.
- Fix: [#19379] “No platforms” station style shows platforms on the Junior Roller Coaster.
- Fix: [#19380] Startup crash when no sequences are installed and random sequences are enabled.
- Fix: [#19391] String corruption caused by an improper buffer handling in ‘GfxWrapString’.
- Fix: [#19434, #19509] Object types added by OpenRCT2 do not get removed when executing ‘remove_unused_objects’.
- Fix: [#19475] Cannot increase loan when more than £1000 in debt.
- Fix: [#19493] SV4 saves not importing the correct vehicle colours.
- Fix: [#19517] Crash when peeps try to exit or enter hacked rides that have no waypoints specified.
- Fix: [#19524] Staff counter shows incorrect values if there are more than 32767 staff members.
- Fix: [#19574] Handle exits in null locations.
- Fix: [#19641, #19643] Missing water tile in Infernal Views’ and Six Flags Holland’s river.
v0.4.4
2023-03-28 17:48:53 +02:00
Michał Janiszewski
aeafd55880 Merge branch 'develop' 2023-03-28 17:38:26 +02:00
Michał Janiszewski
20d43db4a7 Fix invalid indices to user strings (#19738)
C++ treats `%` (mod) operation differently to common knowledge. While
`1 % 4` yields expected `1`, `-1 % 4` yields `-1` instead of expected
`3`. This can lead to user string IDs with low values (less than
`USER_STRING_START` or 0x8000) to become negative, resulting in
incorrect reads from user strings array.

Instead of trying to massage the value less `USER_STRING_START` into
expected range, I observed the original value (of uint16_t type) would
be congruent even if we didn't subtract, as both modulus and subtrahent
are sufficiently large powers of two.

This is _possibly_ the reason for issues such as
https://github.com/OpenRCT2/OpenRCT2/issues/19240 where crash occured
during park load.

This can be trivially reproduced by loading "Prehistoric - After the
Asteroid" from "Time Twister".
2023-03-28 18:10:59 +03:00
Michał Janiszewski
e11d9553f3 Temporarily disable upload of builds to openrct2.org (#19750)
Be more verbose when setting environment variables so it is easier to
upload signed versions later on.
2023-03-28 16:04:34 +02:00
Michał Janiszewski
d703a95161 Merge pull request #19741 from janisozaur/fix-windows-closing
Fix windows closing
2023-03-28 12:03:50 +02:00
Michał Janiszewski
56ff06a8d2 Fix the object editor tab selector
Object editor has unusually high WIDX_TAB_1 value making the default
32-bit type not wide enough.
2023-03-28 11:37:38 +02:00
Michał Janiszewski
be82582063 Fix EditorObjectSelection opening of TrackManager
Calling `Close()` on a window deletes its object, rendering any future
uses of its members invalid.

In this case `WindowsCloseAll` closed Editor window itself rendering
call to `ManageTracks` on a deleted pointer. Previously
`WindowsCloseAll` was called, but earlier in the same function we have
already closed all windows but Editor itself. It is sufficient to close
the editor once we have opened `TrackDesignList`.

When this got fixed, I noticed `TrackDesignList` could not locate any
rides, which was happening due to calls to `ObjectManager::UnloadAll`
in several places. Code to load the selected ride back was added.
2023-03-28 11:37:38 +02:00
Michał Janiszewski
1670de0a4e Fix guest window accessing members after it is deleted
Calling `Close()` on a window deletes its object, rendering any future
uses of its members invalid.
2023-03-28 11:37:37 +02:00