Commit Graph

19126 Commits

Author SHA1 Message Date
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
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