1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-17 20:13:07 +01:00
Commit Graph

22135 Commits

Author SHA1 Message Date
Aaron van Geffen
11ae2371ea Smooth map based on inferred PNG image size, not leftover setting (#24782) 2025-07-16 20:42:54 +02:00
Britt Luttik
ecc02bd4e6 Generalise tooltips for object group tabs in Object Selection window (#24776) 2025-07-16 13:54:25 +00:00
mix
42217e01dc Fix new ride window filter by id not working for non legacy objects 2025-07-14 16:44:48 +01:00
mix
312225ecc2 Fix scenery and new ride windows non legacy object file name filter 2025-07-14 16:30:54 +01:00
mix
fe5a47c6b1 Fix new ride window authors (#24773) 2025-07-16 13:07:39 +02:00
Aaron van Geffen
ec0f4126b0 Let security guards alternate between slow and fast walking (#24730)
* Let security guards alternate between slow and fast walking

* Alternate based on amount of nearby guests instead

* Optimise loop to exit early once threshold has been reached

* Only count walking guests for security crowdedness

* Update replay bundle to v0.0.89

* Update NetworkBase.cpp
2025-07-15 10:02:37 +00:00
Jan Strauss
0522ae848b Add award plugin APIs (#24468)
* Add award plugin apis

* Address review feedback (use erase_if, extract AwardAdd method)

* Address review feedback (remove redundant comments, make AwardAdd static)

* Address review feedback (bump plugin api version, add changelog entry)
2025-07-13 07:04:26 -03:00
Jan Strauss
fdc4d4d892 Set -Wmissing-prototypes for clang builds (#24757)
* Set -Wmissing-prototypes for clang builds.

GCC defines -Wmissing-declarations as specialization of -Wmissing-prototypes for C++ (See https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wmissing-declarations and https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wmissing-prototypes) while Clang uses -Wmissing-prototypes for both languages and -Wmissing-declarations is a different diagnostic (See https://clang.llvm.org/docs/DiagnosticsReference.html#wmissing-prototypes and
https://clang.llvm.org/docs/DiagnosticsReference.html#wmissing-declarations).
Use MATCHES against CMAKE_CXX_COMPILER_ID (See https://stackoverflow.com/a/10055571, https://cmake.org/cmake/help/latest/variable/CMAKE_LANG_COMPILER_ID.html) as conditional to handle both AppleClang and Clang.
Clang enables -Wmissing-declarations by default so no point in setting it only if !Clang.

See also:
https://github.com/llvm/llvm-project/issues/16660
https://reviews.llvm.org/D119361

* Make HasMatchingLanguage in Platform.macOS.mm static.

Uncovered by setting -Wmissing-prototypes flag for Clang builds in 306c277c.

* Ignore -Wmissing-prototypes for extern GetVersion.

Result of setting -Wmissing-prototypes flag for Clang builds in 306c277c.

See also: https://github.com/llvm/llvm-project/issues/94138
2025-07-11 14:06:41 -03:00
Cory Sanin
65b5d86e6c Feature: [Plugin] Add bindings for missing cheats
Added the following binds for completeness:
- ignoreRidePrice
- makeAllDestructible
- forcedParkRating*

`allowSpecialColourSchemes` was missing from the type definition file so I added that as well.

\*forcedParkRating required a little more logic than the boolean cheats and I added some safeguards to prevent setting invalid values
2025-07-08 09:18:25 +02:00
Michael Steenbeek
263796387f Merge pull request #24721 from Gymnasiast/refactor/sawyer-coding-cleanup
Move SawyerCoding fully into own namespace
2025-07-08 09:14:18 +02:00
Gymnasiast
65eca39b3e Merge branch 'master' into develop 2025-07-05 19:07:24 +02:00
Gymnasiast
8592e6b877 Release v0.4.24
- Feature: [#24411] Vanilla scenarios now also have previews in the scenario selection window.
- Feature: [#24616] Add ability to scroll map with gamepad sticks.
- Feature: [#24662] Add optional screenshot argument for Z coord.
- Improved: [#22684] The limit of 2000 animated tile elements has been removed.
- Improved: [#23228] Landscape edge doors now animate opening and closing and play a sound.
- Improved: [#24026] Notification settings have been made into a tab of the Recent Messages window.
- Improved: [#24569, #24710] Add ten additional translations to the Windows installer.
- Change: [#24559] Scenario options are now disabled rather than hidden when disabling money makes them non-applicable.
- Change: [objects#383] Disable all base colours on non-remappable WWTT vehicles, change black to light_blue.
- Change: [objects#384] Remove erroneously enabled WWTT third remaps.
- Removed: [#24628] “Pause game when Steam overlay is open” feature (already broken for a long time).
- Removed: [#24640] Grouping by difficulty (instead of per campaign) in the scenario selector.
- Fix: [#15846] Rightclicking on track piece when there is construction below does not work.
- Fix: [#16176, #23113] Animated tile elements do not always redraw when there is over 2000.
- Fix: [#17365] The slope of new land surfaces is only correct on one side when shifting and resizing the map.
- Fix: [#18080] Obsolete official .DAT files can be loaded accidentally.
- Fix: [#21703] Scenery wall doors get stuck open if the game is saved and loaded whilst they are open.
- Fix: [#24456] Zoomed out vehicles on the ride window tab can sometimes draw incorrectly.
- Fix: [#24458] Vehicles in the ride window vehicle tab are offset differently than vanilla RCT2, and the sprites are cut off at the bottom.
- Fix: [#24576] It is possible to edit open rides in certain circumstances.
- Fix: [#24589] Music tab doesn’t fully render in multiplayer.
- Fix: [#24615] Blank strings in Windows installer.
- Fix: [#24617] ‘Divide by zero’ error when updating boat hire acceleration.
- Fix: [#24626] Viewports that only follow sprites (e.g. in the Ride and Guest windows) can be made to unfollow them.
- Fix: [#24661] `convert` console command always crashes with a segmentation fault.
- Fix: [#24666] `convert` console command rejects files with an SV7 extension.
- Fix: [objects#388] ‘Italian Police Ride’ has a non-functional first remap colour.
2025-07-05 17:56:24 +02:00
Gymnasiast
4b19a1cf11 Update backtrace token for v0.4.24 2025-07-05 17:52:24 +02:00
LRFLEW
1ecb2f9efe Fix Compression Issue when Stopping Recording 2025-07-05 12:42:24 +02:00
Gymnasiast
e29ba3bca4 Move Sawyer coding into its own namespace 2025-07-04 22:47:09 +02:00
Gymnasiast
8c001ba4b5 Move SawyerEncoding files to their own folder 2025-07-04 22:07:17 +02:00
Gymnasiast
9f2db42a19 Move SawyerEncoding into OpenRCT2::SawyerCoding namespace, rename to ChunkEncoding 2025-07-04 22:07:17 +02:00
Gymnasiast
f2a483e0df Move ChunkHeader to SawyerChunk.h 2025-07-04 22:07:17 +02:00
Gymnasiast
6bdca7bcc9 Replace duplicate CHUNK_ENCODING_* with SawyerEncoding::* 2025-07-04 22:07:17 +02:00
Gymnasiast
6d71835ee4 Rename constants in SawyerChunkReader.cpp to use kCamelCase 2025-07-04 19:08:28 +02:00
Gymnasiast
eb40be611c Rename MULTIBYTE to kMultibyte 2025-07-04 19:08:27 +02:00
Gymnasiast
1d75a2d746 Rename SINGLE_INSTANCE_MUTEX_NAME to kSingleInstanceMutexName 2025-07-04 19:08:27 +02:00
Gymnasiast
b138f8ccd8 Rename constants in ServerList.cpp to use kCamelCase 2025-07-04 19:08:27 +02:00
Gymnasiast
8f42e8b257 Rename OBJECT_START_INDEX to kObjectStartIndex 2025-07-04 19:08:27 +02:00
Gymnasiast
490012c6a4 Rename constants in DiscordService.cpp to use kCamelCase 2025-07-04 19:08:27 +02:00
Gymnasiast
8468f87a87 Refactor MarketingCampaignFlags into a FlagHolder 2025-07-04 19:08:26 +02:00
Gymnasiast
600a65b5bf Refactor award effect consts into an enum class 2025-07-04 19:08:26 +02:00
Gymnasiast
af3f61e49b Rename MAX_LANGUAGE_SIZE to kMaxLanguageSize 2025-07-04 19:08:26 +02:00
Gymnasiast
719eb0c6d3 Rename CS_SPRITE_FONT_OFFSET to kCSSpriteFontOffset 2025-07-04 19:08:26 +02:00
Gymnasiast
96e5d124b9 Refactor MEMORY_ACCESS into a FlagHolder 2025-07-04 19:08:24 +02:00
Gymnasiast
8820659a3d Rename SZ_{PRIVATE,PUBLIC}_{BEGIN,END}_TOKEN to k{Private,Public}Key{Begin,End}Token 2025-07-04 18:58:00 +02:00
Gymnasiast
48b0fb5285 Rename VIEWPORT_BUTTON to kButtonSize 2025-07-04 18:57:59 +02:00
Gymnasiast
af406b9ba6 Rename TRACK_DESIGN_INDEX_UNLOADED to kTrackDesignIndexUnloaded 2025-07-04 18:57:59 +02:00
Gymnasiast
0f346b6d55 Rename EXPENDITURE_COLUMN_WIDTH to kExpenditureColumnWidth 2025-07-04 18:57:59 +02:00
Gymnasiast
ad7b8b5496 Rename RCT1_LIGHT_OFFSET to kRCT1LightOffset 2025-07-04 18:57:59 +02:00
LRFLEW
4101fb65a9 Refactor Compression and Streams, and Add IStream Direct Interface 2025-07-04 18:55:17 +02:00
Michael Steenbeek
31d2092b69 Always try mapping footpaths for .park files 2025-07-04 18:54:18 +02:00
Michael Steenbeek
b77aa9a956 Small cleanup of sound range parameters 2025-07-04 18:52:58 +02:00
Michał Janiszewski
763242b14d Add ability to scroll the map with gamepad stick 2025-07-03 22:48:59 +02:00
Michael Steenbeek
9fcbac56bb Revert "Close #1787: Replace blood-curdling scream with regular roller coaster screams" (#24716)
This reverts commit f176b27076.
2025-07-03 21:36:55 +02:00
Michael Steenbeek
f176b27076 Close #1787: Replace blood-curdling scream with regular roller coaster screams 2025-07-03 17:30:59 +02:00
Garv Changrani
b47506dd90 Close #24665: Don't return empty strings with quotes for std::string 2025-07-02 13:33:54 +02:00
Michał Janiszewski
9747c27664 GCC15 fix in ReplayManager.cpp (#24707)
```
In member function ‘bool OpenRCT2::ReplayManager::SerialiseCommand(DataSerialiser&, OpenRCT2::ReplayCommand&)’,
    inlined from ‘bool OpenRCT2::ReplayManager::Serialise(DataSerialiser&, OpenRCT2::ReplayRecordData&)’ at /home/janisozaur/workspace/openrct2/src/openrct2/ReplayManager.cpp:778:37:
/home/janisozaur/workspace/openrct2/src/openrct2/ReplayManager.cpp:719:38: error: potential null pointer dereference [-Werror=null-dereference]
  719 |             command.action->Serialise(serialiser);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
cc1plus: all warnings being treated as errors
```

```
$ gcc --version
gcc (GCC) 15.1.1 20250425
Copyright (C) 2025 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
```
2025-07-01 11:15:09 +00:00
mrmbernardi
5f32624017 RideCreateAction: use constant instead of magic number 2025-06-29 20:54:46 +02:00
LRFLEW
8819ae34a4 Remove Memory Copy in FileIndex::LoadOrBuild 2025-06-29 03:53:17 -05:00
Michael Steenbeek
2815d1958c Fix #18080: Obsolote .DAT objects can be loaded accidentally 2025-06-26 10:57:40 +00:00
Michael Steenbeek
3a09063f58 Merge pull request #24666 from Gymnasiast/fix/24661
Fix #24661: convert console command always crashes with a segmentation fault
2025-06-24 14:00:17 +02:00
Michael Steenbeek
f9b132e24d Remove sorting by difficulty in the scenario selector
This is barely used, complicates the scenario selector and Options window, and will get in the way when adding RCTC and custom campaign support. Time to remove it.
2025-06-24 10:53:26 +00:00
Gymnasiast
f5acd2ba24 Fix: convert console command rejects files with an SV7 extension 2025-06-24 01:01:50 +02:00
Gymnasiast
f7612d56d0 Fix #24661: convert console command always crashes with a segmentation fault 2025-06-24 01:00:27 +02:00