Commit Graph

19245 Commits

Author SHA1 Message Date
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
Kevin Strehl 1174063c27
Improve check whether path is connected (#19788) 2023-04-01 06:44:22 +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
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 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
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 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.
2023-03-28 17:48:53 +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 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
Michał Janiszewski bb6182bafb Fix closing invention list window while holding invention
Calling `Close()` on a window deletes its object, rendering any future
uses of its members invalid.

This can be triggered by opening inventions list window, holding an
invention, closing the inventions list window (e.g. with keyboard) and
then releasing the held invention
2023-03-28 11:37:37 +02:00
Michał Janiszewski 801d760487
Update backtrace token for upcoming release (#19742) 2023-03-28 11:36:17 +02:00
Michał Janiszewski 1f7ef64627
Fix #19574: Handle exits in null locations (#19727)
In park/replay from dump #19574 there was a calamity that happened
likely due to a plugin. Pretty much all rides were deleted in single
tick, which caused the park to mark some locations as null and then it
tripped on one of the many assertions. In many of the places it already
bails out if ride or vehicle is a nullptr, so I followed with similar
approach for invalid ride exits.
2023-03-28 01:16:55 +03:00
Matthias Moninger 62b0a5edfe
Build with link time code generation only on the develop branch 2023-03-26 16:50:18 +02:00
Gymnasiast af167552fb
Add flag to mark an object as a compatibility object 2023-03-25 14:40:03 +01:00
Duncan e904ef406f
Fix #19503. Hide 3+ queue junction railings behind a flag (#19644)
* Fix #19503. Hide 3+ queue junction railings behind a flag

This is to prevent existing parks from changing their behaviour

* Clang format

* Bump version numbers. Update changelog

* Update text
2023-03-23 08:16:32 +00:00
ζeh Matt dddd52799c
Bump up network version 2023-03-22 22:28:15 +02:00
ζeh Matt 5ee5f8013d
Separate game state logic and rendering logic for money entities 2023-03-22 22:28:14 +02:00
ζeh Matt 436c881f95
Rename Vertical to GuestPurchase, this better reflects actual use 2023-03-22 22:28:14 +02:00
Matthias Moninger e8ec7b6c89
Merge pull request #19683 from ZehMatt/parallel-ride-ratings
Improve ride rating calculation
2023-03-22 22:25:06 +02:00
John Mulcahy 3916221cfb
Part of #19608: improve error reporting of zip command failure (#19672) 2023-03-22 19:52:54 +00:00
ζeh Matt 1ae20ca3f2
Apply review suggestions 2023-03-22 21:51:52 +02:00
ζeh Matt 9610578621
Bump up network version 2023-03-22 21:51:52 +02:00
ζeh Matt 1480495d2f
Bump up park version 2023-03-22 21:51:52 +02:00
ζeh Matt d3e377e905
Refactor and optimize ride rating calculation 2023-03-22 21:51:52 +02:00
ζeh Matt 8eec6948c2
Update multiple ride rating states at once 2023-03-22 21:51:52 +02:00
ζeh Matt 72a76a0ea5
Refactor import/export to support multiple ride rating update states 2023-03-22 21:51:52 +02:00
ζeh Matt f07434546c
Re-order the compared fields and add missing ones 2023-03-22 16:34:43 +02:00
Matthias Moninger 6170bb05e2
Merge pull request #19668 from karst/miniminimap
Decrease minimum map size from 13 to 3
2023-03-20 18:21:55 +02:00
Karst adf1c9a1a5 Decrease minimum map size from 13 to 3
As requested by DKMP.
2023-03-18 21:27:19 +01:00
Gymnasiast f31d3c5cc1
Fix #19652: remove_unused_objects removes scenery groups 2023-03-18 14:52:36 +01:00
HtotheTML e6a0262522
Fix water tile in Six Flags Holland (and merge with Infernal Views fix) (#19643)
* Update S6Importer.cpp

* Update changelog.txt
2023-03-16 08:00:59 +00:00
Cory Sanin a102688f5c
Fix: Chat history in wrong order, doesn't pop up 2023-03-15 09:57:05 +01:00
HtotheTML b41438bbc9
Fix missing water tile in Infernal Views (#19641)
* Update S6Importer.cpp

Edit a stray tile in the lava river of Infernal Views to have its missing lava.

* Update changelog.txt

* Update contributors.md
2023-03-14 19:26:51 +00:00
Cory Sanin c9883e1553
Fix: Input text floating outside chat window 2023-03-13 16:54:28 +01:00
Michael Steenbeek 049164c400
Pass dpi as ref when drawing object preview 2023-03-13 16:52:49 +01:00
Rik Smeets ac2afdcfaf
Fix #18994: Title music doesn't start after enabling master volume (#19621) 2023-03-11 16:30:40 +00:00
icy17 75fb313e5a
Fix #19279: Memory leak in Zip.cpp upon error (#19283)
* fix memleak

* Replace deprecated functions and throw on error

---------

Co-authored-by: ζeh Matt <5415177+ZehMatt@users.noreply.github.com>
2023-03-09 18:07:33 -03:00
spacek531 fdbc3d29bb
steam position modifier and animation speed properties (#11269)
* Add speed and frame properties

* add steam position modifier

* copy code from OpenLoco

* update sin and cos

* add computation function

* finalize locomotion code

* fix formatting

* refine code

* refactor things slightly

* manually fix formatting

* use PascalCase and rename

* fix copyright notice

* fix name again

* rename function, move outt  of namespace

* fix rebase issues

* remove pitch table derived from physics

* rename some stuff

* flip vertical component sign to make sense

* change json structure

* create steam particles based on number of animation frames

* fix formatting

* add slope for spiral lift hill down

* fix formatting again

* parens around bitwise and

* make animations separate functions

* rename MultiDimCoaster to MultiDimension

* use EnumValue method

* rework multidim frame count

* bump network to be safe

* fix formatting

* move array out of function

* make table const

* move struct into RideObject.cpp

* try new method to fix numbers in multidim

* implement ZehMatt modulo

* add documentation to new function

* include Yaw.hpp

* rename src/ride/SteamPosition.hpp to src/math/Trigonometry.hpp

* actually add src/math/Trigonometry.hpp

* move ComputeSteamOffset to Vehicle.cpp

* use static asserts on arrays

* fix changelog grammar

* add more static asserts
2023-03-09 15:45:45 +02:00
Matthias Moninger 2ac5e070c1
Fix #19601: Crash hiring staff with auto placement turned off (#19602) 2023-03-09 12:04:19 +00:00
duncanspumpkin 58247ce5c1 Bump network version 2023-03-08 22:05:35 +00:00
ζeh Matt ff1941eb8d
Fix #19586: Guests generated have potentially a large amount of money 2023-03-07 06:46:50 +02:00
Matthias Moninger 30e6eb9f08
Merge pull request #19422 from ZehMatt/string-duplicate
Remove String::Duplicate
2023-03-06 23:29:32 +02:00
Matthias Moninger 7e48b57d6a
Fix #18986: Sending remote scripts larger than 63KiB crashing all clients. (#19573)
* Fix #18986: Sending remote scripts larger than 63KiB crashing clients

* Add GetRemotePlugins in ScriptEngine

* Bump up network version

* Update changelog.txt
2023-03-06 13:50:05 +01:00
Johan Mattsson 0c8486f2d3
Fix potential index out of bounds (#19561) 2023-03-05 20:17:03 +00:00
Ernest Wong e9ecf6ee4a
Fix #19553: Undefined upkeep cost check uses new sentinel value (#19568)
* Fix #19553: Undefined upkeep cost check uses new sentinel value

Mistake from #19469
2023-03-05 20:16:31 +00:00
Matthias Moninger b8966a83e3
Enable Large address awareness for 32-bit builds (#19549)
* Enable large address awareness for 32 bit builds allowing 4GiB memory

* Fix debug builds failing for 32 bit

* Update changelog.txt
2023-03-04 15:55:40 +00:00
Mathias Gibbens 6f7af78642
Fix #17069: Fix build on ppc64el architectures (#19555)
Co-authored-by: Mathias Gibbens <mathias@calenhad.com>
2023-03-04 12:51:08 -03:00
ζeh Matt 712cb49a8d
Fix #19545: Unable to scroll staff list with over 32768 staff 2023-03-03 20:19:39 +02:00
Duncan a018cb1ca5
Fix import of ride value (#19541)
The ride value undefined constant was changed causing all imports of the undefined value to be incorrect. We can fix the broken imports but can't fix the users of the broken value (gParkValue and its history)
2023-03-03 08:45:32 +00:00
Michael Steenbeek dd624f9bff
Replace remaining usages of money16, money32 (#19469)
* Use money64 for ride prices and shop items

* Use money64 for park entrance fee

* Use money64 for gGuestInitialCash

* Use money64 for upkeep costs

* Use money64 for ride value

* Use money64 for marketing campaign cost

* Use money64 for object prices

* Use money64 for land prices

* Use money64 for guest expenditure

* Replace remaining occurrences of money32 with money64

* Update replays

* Bump network version

---------

Co-authored-by: duncanspumpkin <duncans_pumpkin@hotmail.co.uk>
2023-03-02 21:55:42 +00:00
Michael Steenbeek 6a89dfbfe9
Fix #19434, #19509: OpenRCT2 object types not removed by ‘remove_unused_objects’ (#19511)
* Add ObjectTypeIsTransient() and ObjectTypeIsIntransient()

* Fix #19434, #19509: remove_unused_objects does not remove OpenRCT2 types
2023-03-02 19:26:19 +00:00
ZeeMajora 2887104707
Fix some RCT1 vehicle colour imports
Fixes a few errors in the vehicle colours table used for RCT1 imports, they are:
Both steam trains third colour should be yellow (the bell and some other details)
Suspended swinging airplane cars third colour should copy colour 2 (the restraints are colour 2 in RCT1 but colour 3 in RCT2)
Reverse freefall car colour 3 should copy colour 1 (the front bits are the same as colour 1 in RCT1)
Vertical drop trains colour 3 should copy colour 2 (the bottom metal bar is the same as colour 2 in RCT1)
Sitdown twister train colour 2 should copy colour 1, colour 3 should copy colour 2 (restraints are colour 2 in RCT1 but colour 3 in RCT2)
Laydown trains colour 3 should copy colour 2 (part of the restraint, it uses colour 2 in RCT1)
Hyper-twister trains colour 3 should copy colour 1 (the lap bar, it uses colour 1 in RCT1)
Face-off trains colour 3 should copy colour 2 (the restraints use colour 2 in RCT1 but colour 3 in RCT2)
River rafts colour 3 should copy colour 2 (the top of the roof uses colour 2 in RCT1 but colour 3 in RCT2)
2023-03-02 09:40:40 +01:00
Michael Steenbeek 4a78fd772c
Fix #19524: Incorrect staff count beyond 32767 (#19530) 2023-03-01 20:58:15 +00:00
Matthias Moninger c3bd837c42
Fix #19517: Crash when peeps try to exit or enter a hacked ride (#19518)
* Fix #19517: Crash when peeps try to exit or enter a hacked ride

* Update changelog.txt
2023-03-01 08:31:20 +00:00
Michael Steenbeek 2a8872018b
Close #13780: Refactor MapGen to class (#19477) 2023-03-01 08:26:30 +00:00
Michael Steenbeek 0674d9527c
Fix #19475: Cannot increase loan when in debt (#19478)
* Small refactor of ParkSetLoanAction

* Fix #19475: Cannot increase loan when in debt
2023-02-28 20:34:18 +00:00
Matthias Moninger d18de99579
Merge pull request #19515 from ZehMatt/fix-large-list
Fix window scrollbar not able to navigate to the end of large lists
2023-02-28 22:34:06 +02:00
Matthias Moninger 71e2618265
Merge pull request #19514 from ZehMatt/hire-staff-complexity
Improve performance of hiring staff and its window
2023-02-28 22:33:28 +02:00
Matthias Moninger 59875eb409
Merge pull request #19480 from Gymnasiast/refactor/dpi-string
Pass DPI by ref to string drawing
2023-02-28 22:27:51 +02:00
Michał Janiszewski 7459ba0efe
GCC 13 fixes (#19519)
This addresses issues when compiling with GCC 13
2023-02-28 21:04:52 +02:00
ζeh Matt 8777ba0195
Improve performance staff list 2023-02-28 16:33:59 +02:00
ζeh Matt 16cc1d3eb9
Change loop for searching free staff id from O(N^2) to O(N*log(N)) 2023-02-28 16:32:42 +02:00
ζeh Matt 320894971f
Fix window scrollbar not able to navigate to the end of large lists 2023-02-28 06:21:15 +02:00
Michael Steenbeek 291a778720
Remove unused WaveFormat and WaveFormatEx structs (#19512) 2023-02-27 23:29:42 +01:00
Matthias Moninger edde337177
Merge pull request #19465 from Gymnasiast/refactor/cmd-line-consistent
Close #19176, close #19273: Consistent “CmdLine” naming
2023-02-27 18:54:38 +02:00
Andrew 0da9693e15
Fix blank row getting added at exactly 19 scenery groups (#19502) 2023-02-26 21:29:00 +00:00
ζeh Matt 7b398d89a6
Remove unused variable 2023-02-25 15:42:37 +02:00
ζeh Matt 365fcf24c3
Implement #19468 and rename functions cursor to caret 2023-02-25 15:42:37 +02:00
ζeh Matt dc97eb5bbd
Fix deleting characters in the middle of the text 2023-02-25 15:42:37 +02:00
ζeh Matt ec2f332b92
Fix #19445: Text not cleared using Ctrl+Backspace 2023-02-25 15:42:37 +02:00
Gymnasiast a15f72da87
Pass DPI by ref to string drawing 2023-02-24 22:05:07 +01:00
Matthias Moninger 777fea6c8c
Avoid triggering an assert when saving the park 2023-02-24 12:45:24 +01:00
Michael Steenbeek be52b55980
Remove some unused stuff (#19474)
* Remove unused symbols

* Remove unused SceneryObject.cpp

* Remove GetScgWallsHeader() and GetScgPiratHeader()
2023-02-23 22:27:21 +00:00
Michael Steenbeek 777d43ae18
Add W and Y with circumflex 2023-02-23 10:56:37 +01:00
Josh Trzebiatowski 04aeed8692
Add "All Scenery" tab to scenery window 2023-02-22 23:31:21 +00:00
Gymnasiast fd4c9a7b9d
Close #19176, close #19273: Consistent “CmdLine” naming 2023-02-23 00:03:30 +01:00
Hielke Morsink d5b7569537
Merge pull request #19453 2023-02-22 20:42:21 +01:00
ζeh Matt d6be08a410
Apply review suggestions 2023-02-22 15:58:05 +02:00
Michael Steenbeek 28476cb9a9
Raise max objective guests to 50000 2023-02-22 13:43:26 +01:00
Michael Steenbeek 767d65f101
RideConstruction: Create constant for group box width (#19461) 2023-02-22 09:08:44 -03:00
ζeh Matt ef8d08c5e5
Add assert to test if the ride slot is actually free 2023-02-22 00:01:44 +02:00
ζeh Matt 6a5bfa5cad
Ensure all rides names are cleared on map load 2023-02-21 23:45:11 +02:00
ζeh Matt b1667d3423
Use a dedicated Ride instance for previews 2023-02-21 23:44:03 +02:00
ζeh Matt d60890f7e5
Use ride id to determine if the slot is unused 2023-02-21 23:29:59 +02:00
ζeh Matt 063d97f4f2
Use fixed size storage for Rides, cleanup interface a bit 2023-02-21 23:20:48 +02:00
Gymnasiast ee7b9ae6b0
Add missing null check 2023-02-19 23:06:05 +01:00
ζeh Matt 60bd8a4f3a
Fix crash at scenario completion 2023-02-19 23:59:16 +02:00
ζeh Matt b057f0fe82
Remove memset 2023-02-19 23:59:15 +02:00
ζeh Matt 1f03bc89d7
Remove unused String::Duplicate 2023-02-19 23:59:15 +02:00
ζeh Matt b465b9d6e5
Use string to store ScenarioIndexEntry name 2023-02-19 23:59:15 +02:00
ζeh Matt 1b216c4d01
Use string to store ScenarioIndexEntry filename 2023-02-19 23:59:15 +02:00
ζeh Matt a0bc5d9f3f
Remove unused functions 2023-02-19 23:59:15 +02:00
ζeh Matt a7ef031430
Remove String::Duplicate in TextComposition.cpp 2023-02-19 23:59:15 +02:00
Hielke Morsink 3e713e5c2f
Fix memory leak in GetFileName (#19420) 2023-02-16 19:45:48 +00:00
kyphii a428f20d46
Fix #19243: .park scenarios don't complete properly (#19411)
* Check for .park scenario during scenario completion

* Update changelog

---------

Co-authored-by: Trevor Finney <8711258+finneyt@users.noreply.github.com>
2023-02-16 05:39:31 +00:00
Michael Steenbeek 583b4ed0e6
Replace GfxDrawStringNoFormatting() (#19414)
* Replace GfxDrawStringNoFormatting()

* Unwrap static DrawText overload
2023-02-15 22:44:22 +00:00
Duncan b56748bc82
ObjectEntry Cleanup. FootpathItem, SceneryGroup, Water, LargeScenery (#19385)
* Move footpathitem entry into new getter

* Move scenery group entry into new getter

* Move water entry into new getter

* Move large scenery entry into new getter

* Remove unused header includes

* Fix compile issue

* Include missing header from vcxproj
2023-02-15 21:35:16 +00:00
Michael Steenbeek eb33147013
Bump network version for #19401 (#19410) 2023-02-15 11:34:03 +00:00
Raymond Zhao a19cd214e7
Introduce mph literal for velocities 2023-02-15 10:40:46 +01:00
Duncan 93b5cabb9e
Merge pull request #19399 from Gymnasiast/refactor/wooden-rc-track-paint
Update WoodenRCTrackPaint() signature
2023-02-14 23:01:29 +00:00
Michael Steenbeek 5fbd3e6ea5
Merge pull request #19401 from Gymnasiast/feature/better-clearances
Allow shops and stalls to set their own clearances
2023-02-14 23:56:43 +01:00
Michael Steenbeek 3ac7858549
Fix #7210: Land tile smoothing occurs with edge tiles (#19400) 2023-02-14 22:09:36 +00:00
Michael Steenbeek b4dc2d3fe6
Fix #19339: Incorrect import of crashed particles from SV4 (#19404) 2023-02-14 22:08:42 +00:00
John R Patek Sr 6e9c10167e
Refactor TopToolbar to class (#19043) 2023-02-14 21:19:42 +00:00
Andrew ef730aa56c
Fix #14635: Show more scenery tab groups in rows (#19373) 2023-02-14 20:57:11 +00:00
Gymnasiast d450a85c5b
Update WoodenRCTrackPaint() signature
Make the signature reflect the arguments and order of PaintAddImage*
2023-02-14 09:57:19 +01:00
Gymnasiast 8b2d3937fd
Clean up call to PaintAddImageAsParent() 2023-02-14 09:57:19 +01:00
Silent 0763fd5a78
Fix GfxWrapString potentially corrupting the in/out buffer
Fixes a consistent assertion when displaying "Cannot start construction"
in Japanese, but it has potential fix countless other crashes
related to string wrapping/display.
2023-02-14 09:50:05 +01:00
Silent 8216d00522
Set the container type in LanguagePack::FromFile to std::string
The code interpreting fileData assumes the string has a valid null terminator,
which is not guaranteed by std::vector, but is guaranteed by std::string.
2023-02-14 09:50:05 +01:00
ACGNnsj d3ea4bfbc8
Remove Duplicated Preprocessor Macro Definition (#19376)
* Update openrct2.common.props

Remove duplicated preprocessor macro definition of _USE_MATH_DEFINES which defined in src/openrct2/common.h and SDL2/SDL_stdinc.h

* Remove the definition of _USE_MATH_DEFINES from 'common.h'
2023-02-14 08:19:58 +00:00
Michael Steenbeek 8a0a4819ca
Close #19393: Replace PaintMonorailCyclesUtil7C() (#19395) 2023-02-14 08:14:47 +00:00
Michael Steenbeek bd84d626c9
Clean up PaintAddImageAsChildRotated() (#19394) 2023-02-14 08:13:56 +00:00
Gymnasiast e585f1a633
Base shop/facility bounding box on actual height 2023-02-14 01:05:13 +01:00
Gymnasiast 23a5044509
Allow shops and stalls to set their own clearances 2023-02-14 00:52:21 +01:00
Michael Steenbeek 70af1c6c0d
Clean up PaintAddImageAsParent() calls (#19392) 2023-02-13 22:07:39 +00:00
kyphii dfb2c3fa60
Fix #17996 - Finances window not cleared when starting some .park scenarios (#19368)
* Clear Finances Graph on Scenario Load

* Update changelog

---------

Co-authored-by: Trevor Finney <8711258+finneyt@users.noreply.github.com>
2023-02-13 21:30:47 +00:00
Michael Steenbeek 3814d6b3af
Add some additional RCT1 vehicle IDs (#19389) 2023-02-13 20:38:03 +00:00
Matthias Moninger 7b61c6352a
Desnake some stuff, small string passing cleanup (#19388)
* Rename scenario_index_entry to ScenarioIndexEntry

* Desnake members of ScenarioIndexEntry

* Pass const u8string& instead of utf8 pointer
2023-02-13 20:30:16 +00:00
Gymnasiast 38b057a0ba
Use BoundBoxXYZ version of PaintAddImageAsParentRotated() 2023-02-13 20:51:42 +01:00
Gymnasiast 04f2479c34
Create PaintAddImageAsParentRotated() function that takes a BoundBoxXYZ 2023-02-13 19:59:30 +01:00
Silent 0383875692
Fix an assertion error in ResearchNextDesign, simplify code 2023-02-13 12:30:24 +01:00
spacek531 df0edc92d0
Vehicle/rename update flags (#19363)
* rename VEHICLE_UPDATE_FLAG_ON_LIFT_HILL

* rename VEHICLE_UPDATE_FLAG_COLLISION_DISABLED

* rename VEHICLE_UPDATE_FLAG_WAIT_ON_ADJACENT

* rename VEHICLE_UPDATE_FLAG_REVERSING_SHUTTLE

* rename VEHICLE_UPDATE_FLAG_READY_DEPART

* rename VEHICLE_UPDATE_FLAG_TESTING

* rename VEHICLE_UPDATE_FLAG_6

* rename VEHICLE_UPDATE_FLAG_ZERO_VELOCITY

* rename VEHICLE_UPDATE_FLAG_BROKEN_CAR

* rename VEHICLE_UPDATE_FLAG_BROKEN_TRAIN

* rename VEHICLE_UPDATE_FLAG_ON_BRAKE_FOR_DROP

* rename VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES

* rename VEHICLE_UPDATE_FLAG_12

* rename VEHICLE_UPDATE_FLAG_ROTATION_OFF_WILD_MOUSE

* rename VEHICLE_UPDATE_FLAG_SINGLE_CAR_POSITION

* rename VEHICLE_UPDATE_FLAG_CRASHED

* name flag 12 to Reverse Incline Completed Lap

* name flag 6 to Currently Colliding

* fix formatting

* rename has/clear/set update flag

* fix formatting again

* move to namespace constexpr

* fix formatting

* the one that got away
2023-02-12 22:32:16 +00:00
Michael Steenbeek 3912381502
Implement "no platforms" for Junior RC (#19379) 2023-02-12 21:33:24 +00:00
Michael Steenbeek 07d198f084
Close #12466: Add flag to use RCT1 interest (#19377)
* Close #12466: Add flag to use RCT1 interest

* Bump network version
2023-02-12 21:23:05 +00:00
Michael Steenbeek bc20c33568
Add command to combine CSG1i and CSG1 (#19378) 2023-02-12 21:13:46 +00:00
Duncan d811c9a9ba
Add Object Entry Manager (#19332)
* Add object entry manager

Port over wall and banner

* Port over small scenery to ObjectEntryManager

Clang format files

Actually make things safe

Fix build
2023-02-12 20:43:11 +00:00
Silent 7fb21721a7
Fix a division by zero in TitleScreen::TitleInitialise (#19380)
This occurs when there are no installed sequences
and random_title_sequence is enabled in the config.
2023-02-12 18:59:28 +00:00
spacek531 1dfbb5f124
Widen Vehicle::update_flags to 32 bits (#19340)
* Expand update_flags to uint32

* move IsCrashedVehicle to update_flags

* rename update_flags to Flags

* Update replays

---------

Co-authored-by: duncanspumpkin <duncans_pumpkin@hotmail.co.uk>
2023-02-10 21:46:06 +00:00
eaeiv 96bfa633fe
Widens TotalRideValue to fix overflow reported in #19292 (#19326)
* Widens TotalRideValue to 64 bits

* Adds name to contributors file

* Adds totalRideValue overflow fix to changelog
2023-02-09 21:51:03 +00:00
Josh Trzebiatowski 4591ad2f4e
scenery filtering improvements 2023-02-08 23:54:58 +01:00
Matthias Moninger ece0ee42d5
Rename snake functions in Station.cpp (#19316) 2023-02-05 20:48:35 +00:00
ζeh Matt d492cfc6d9
Make clang-format happy 2023-02-05 18:07:04 +02:00
ζeh Matt bf9efc7f84
Rename some variables 2023-02-05 17:52:47 +02:00
ζeh Matt a2a06d6dde
Return const RideObjectEntry*, refactor uses and fix related access 2023-02-05 17:36:37 +02:00
ζeh Matt 76b94a150c
Cleanup UpdateMaxVehicles 2023-02-05 17:07:09 +02:00
ζeh Matt a509efd0ab
Cleanup VehicleCreateCar 2023-02-05 17:01:21 +02:00
ζeh Matt 6b814ddc9b
Cleanup use of GetRideTypeDescriptor 2023-02-05 16:40:58 +02:00
ζeh Matt 1a83702b2c
De-snake more functions 2023-02-05 16:32:18 +02:00