Commit Graph

3689 Commits

Author SHA1 Message Date
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
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
Michael Steenbeek 049164c400
Pass dpi as ref when drawing object preview 2023-03-13 16:52:49 +01:00
Matthias Moninger 2ac5e070c1
Fix #19601: Crash hiring staff with auto placement turned off (#19602) 2023-03-09 12:04:19 +00: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 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
ζeh Matt 712cb49a8d
Fix #19545: Unable to scroll staff list with over 32768 staff 2023-03-03 20:19:39 +02: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 4a78fd772c
Fix #19524: Incorrect staff count beyond 32767 (#19530) 2023-03-01 20:58:15 +00:00
Michael Steenbeek 2a8872018b
Close #13780: Refactor MapGen to class (#19477) 2023-03-01 08:26:30 +00: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
ζeh Matt 8777ba0195
Improve performance staff list 2023-02-28 16:33:59 +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 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
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
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 b1667d3423
Use a dedicated Ride instance for previews 2023-02-21 23:44:03 +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 b465b9d6e5
Use string to store ScenarioIndexEntry name 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
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 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
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
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
Gymnasiast 23a5044509
Allow shops and stalls to set their own clearances 2023-02-14 00:52:21 +01: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
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 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
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
Josh Trzebiatowski 4591ad2f4e
scenery filtering improvements 2023-02-08 23:54:58 +01: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
Hielke Morsink 566c1f21dd
Merge pull request #17288 from guljam/clear-shortcut-order
Reorganise the order of shortcut keys in the Shortcut Keys window
2023-01-28 17:31:58 +01:00
Matthias Moninger 5994fe6be6
Merge pull request #19284 from ZehMatt/entityId
Refactor sprite_index to entityId for entities
2023-01-28 18:13:04 +02:00
Hielke Morsink 5ada16723b
Clean up shortcut bindings and unused constructors 2023-01-28 15:43:03 +01:00