Commit Graph

19251 Commits

Author SHA1 Message Date
ζ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
ζeh Matt 59a0def818
Rename some functions and pass Ride instance instead of ride id 2023-02-05 16:20:51 +02:00
Hielke Morsink 51dccb4096
Remove unused global 2023-01-29 20:51:26 +00:00
Matthias Moninger 62a96cc251
Fix and refactor banner fixing (#19288) 2023-01-28 22:43:59 +00: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
Duncan 24581e781f
Move misc ObjectEntries into Object folder (#19281)
* Move water entry

* Move FootpathEntry

* Move EntranceEntry

* Move SceneryGroupEntry
2023-01-27 19:44:58 +00:00
ζeh Matt 2f8e208a9d
Refactor sprite_index to Id 2023-01-27 19:21:57 +02:00
ζeh Matt 17ce2d759f
Rename Id to Id to PeepId to avoid conflicts with entity id 2023-01-27 19:11:04 +02:00
mdbckrtn b1b056ec52
Fix #18839: New staff members now picked up correctly (#18956)
* Fix #18839: New staff members now picked up correctly

When "Automatically place staff" is disabled, new staff members were not automatically placed into the "picked" state as is the case with vanilla RCT. This change ensures that new staff members are automatically placed into the picker and that, in scenarios where multiple new staff members are queued up without having first placed one, the most recently created staff member will be the actively picked up peep (also the case with vanilla).

* Fix #18839: Address networking issues

* Fix #18839: Add else to pickup action intent.
2023-01-27 08:20:59 +00:00
Josh Trzebiatowski 258b569deb
Allow filtering in Scenery window (#19272)
* WIP: scenery searching

* refactor snake case

* actually start filtering scenery

* prepare for merge from develop

* use ObjectManager to get scenery info

* clear selected scenery when it is filtered out

* Clear tool when no scenery is selected

* updating changelog

* fix clang formatting issues
2023-01-26 21:40:02 +00:00
Duncan 85b72c766e
Spin off Object Type into standalone header (#19278)
* Split off object type into standalone header

* Include missing header

* Rename to ObjectTypes.h
2023-01-26 21:39:20 +00:00
Duncan ead13c44b8
Split off LargeSceneryEntry (#19277) 2023-01-26 18:44:42 +00:00
guljam 3fc029fc34
custom order for default shortcut keys 2023-01-26 00:02:20 +01:00
Michael Steenbeek bb7fdc0e28
Hide primary/secondary remap button on broken large scenery (#17045) 2023-01-25 22:21:05 +00:00
spacek531 b1bb24aefb
Fill out TrackSegment API (#18478)
* add fields to track segment api

* add getTrackSegments to API

* change element to segment for continuity

* improve documentation

* continue tweaking documentation

* implement segment suggestions

* clarify purpose of isSteepUp flag

* add rest of track element flags

* remove extraneous information from comment

* continue tweaking API

* implement basssiiie suggestion

* rename angle to slope

* reorder items in the documentation

* bump plugin api
2023-01-25 22:05:18 +00:00
Josh Trzebiatowski c437a9f0cc
Add filter text box to new ride selection window (#19067)
* Add filter text box to new ride selection window

* update after snake_case refactor

* Change _filter to an instance variable, move textbox data assignment to OnPrepareDraw

* replace std::string_view with u8string_view
2023-01-25 21:47:00 +00:00
spacek531 9844532112
Refactor TrackPlaceAction so block brake logic only runs once (#18777)
* move block brake incrementation out of trackblock loop

* add comment to new code block
2023-01-25 21:09:36 +00:00
Michael Steenbeek c260a95abc
Fix #19245: NPE in UpdateRideApproachExitWaypoints() (#19252)
* Fix #19245: NPE in UpdateRideApproachExitWaypoints()

* Apply suggestions from code review

Co-authored-by: Tulio Leao <tupaschoal@gmail.com>
2023-01-25 20:48:37 +00:00
Duncan ef27814ca5
Split off scenery entries (#19133)
BannerSceneryEntry, WallSceneryEntry footpathItemEntry
2023-01-25 19:56:29 +00:00
Duncan d51b4d3191
Split off SmallSceneryEntry into dedicated file (#19115)
* Split off small scenery entry to new file

* Move flags to new file
2023-01-25 19:25:33 +00:00
Michael Steenbeek 6b85b0a8c7
Change lift speed range of Classic Wooden RC (#19233)
* Change lift speed range of Classic Wooden RC

As this ride is meant to reflect both old-school wooden roller coasters, as well as RCT1’s wooden RC, it makes no sense the lift can be set to speeds up to 11 km/h. Limit this to 4-8 km/h.

* Bump network version

* Add changelog entry

Co-authored-by: Tulio Leao <tupaschoal@gmail.com>
2023-01-25 12:01:54 +00:00
spacek531 9071c91ec8
RideConstruction window can set block brake speed (#18992)
* RideConstruction window can set block brake speed

* add missing constant

* refactor to allow future expansion

* revert addition of constant
2023-01-25 07:32:03 +00:00
Wirlie 538b87e94c
Fix: A queuing guest can ignore the next guest in the queue in certain circumstances (RCT2 bug) (#19068)
* Use PeepDirection instead of sprite_direction to update queue position

* Align guests to the centre of the first queue tile.

* Bump network version

* Update changelog

* Update replays

Co-authored-by: duncanspumpkin <duncans_pumpkin@hotmail.co.uk>
2023-01-24 09:35:12 +00:00
Michał Janiszewski be5b7b7f74
Drop unused variables (#19267)
* Drop unused variable in ShortcutKeys.cpp

* Drop unused variable in TitleMenu.cpp
2023-01-24 09:24:47 +00:00
Josh Trzebiatowski d6027a111a
Fix #19250: MusicObjects do not free their preview images (#19264)
* Fix: MusicObjects do not free their preview images

* Update changelog

* remove unneeded preview check on MusicObject
2023-01-24 05:55:31 +00:00
Josh Trzebiatowski 54f263b704
Fix #19112: Text boxes not updated with empty strings (#19207)
* fix #19112 text boxes not updated with empty strings

* Update changelog
2023-01-23 21:20:27 +00:00
Michael Steenbeek d8417fee30
Desnake the rct2/rct12 fields (#19254) 2023-01-22 19:16:41 +00:00
Michael Steenbeek f328aef84b
Add drawing code for queue junctions (#19253) 2023-01-22 00:59:40 +01:00
Duncan b76bffe1ec
Desnake RCT12 class names 2023-01-21 22:32:44 +00:00
Michael Steenbeek e17f09c25c
Move three tables to MazeSetTrackACtion.cpp 2023-01-21 22:25:31 +00:00
Michael Steenbeek ba39d7be5d
Merge pull request #19241 from Gymnasiast/refactor/more-fields
Desnake TileElement fields, pad_ and byte_
2023-01-21 22:38:07 +01:00
Duncan e09f27df3c
Rename snake_case Class names (Remaining Bits) (#19237)
* Rename snake_case Class names

* Clang format

* Fix build issues
2023-01-21 19:57:17 +00:00
Gymnasiast f6427817e8
Rename byte_ to Byte 2023-01-21 16:41:03 +01:00
Gymnasiast 3dd895abf7
Rename pad_ to Pad 2023-01-21 16:39:35 +01:00
Gymnasiast fa7dd95321
Rename remaining snake in (RCT12)TileElement fields 2023-01-21 16:37:11 +01:00
Michael Steenbeek 09b1074d08
Merge pull request #19234 from Gymnasiast/objects-138
Objects v1.3.8 + fix #474: Mini Golf window allows selecting nonexistent players
2023-01-21 15:41:21 +01:00
Duncan 7d08372c80
Remove snake_case from Class names OpenRCT2/Ride*-S* (#19232)
* Remove snake_case from Class names OpenRCT2/Ride*-S*

* Clang format
2023-01-20 20:58:55 +00:00
Gymnasiast eb5fe27495
Fix #474: Mini Golf window allows selecting nonexistent players 2023-01-20 13:24:16 +01:00
Gymnasiast 06dd935d36
Use RCT1 variants of Corkscrew and Go Karts when importing S4 2023-01-20 12:39:30 +01:00
Michael Steenbeek cf9aad7885
Close #19214: Use consistent casing for RC and RCT (#19230) 2023-01-20 08:19:14 +00:00
Duncan 9deed6d98a
Replace snakes in Class names OpenRCT2/N*-P* (#19227)
* Replace snakes in Class names OpenRCT2/N*-P*

* Rename PODDate (and TimeOfDay for good measure)

Co-authored-by: Gymnasiast <m.o.steenbeek@gmail.com>
2023-01-20 05:24:44 +00:00
Hielke Morsink e110c631f1
Include missing project headers in solution 2023-01-19 23:34:49 +00:00
Michael Steenbeek 31b510a30b
Rename entity-related stuff in RCT12.h
Replaces ‘sprite’ with ‘entity’ where appropriate.
2023-01-19 22:29:48 +00:00
Michael Steenbeek 48619afbb8
Replace snake_case in rct1 folder 2023-01-19 21:48:07 +00:00
Michael Steenbeek 24cc49cde9
Fix #19076: scrolling on money amounts doesn’t work 2023-01-19 21:07:21 +00:00
Michael Steenbeek 448c8fafd0
Rename base_height, clearance_height and owner 2023-01-19 20:36:30 +01:00
Duncan 23b6d1840e
Rename classes with snakes OpenRCT2/G*-M* 2023-01-19 15:13:23 +00:00
Duncan 859b071ddc
Rename classes with snakes OpenRCT2/A*-F* (#19215)
* Rename classes with snakes OpenRCT2/A*-F*

* Clang format files
2023-01-19 08:16:44 +00:00
Michael Steenbeek 59736ecfbc
Merge pull request #19216 from Broxzier/refactor/snake-case-util
Rename snake_case functions in OpenRCT2/util folder
2023-01-19 00:10:28 +01:00
Hielke Morsink ba0c8c135a
Apply review changes 2023-01-18 23:41:59 +01:00
Hielke Morsink 86ffb01ddd
Add comment and rename function pointer 2023-01-18 23:02:44 +01:00
Hielke Morsink 0762fcb601
Rename snake_case functions in OpenRCT2/util folder 2023-01-18 22:44:13 +01:00
Duncan 3456797893
Use clang-tidy to get remaining snakes in ride/coaster (#19200)
* First pass with clang-tidy

Fix Rc RC

Clang format files

* Apply clang tidy to remaining ride files

* Undo table mangling in SplashBoats.cpp

Co-authored-by: Gymnasiast <m.o.steenbeek@gmail.com>
2023-01-18 20:41:42 +00:00
Michael Steenbeek 92dce8e046
Rename snake_case functions in peep folder (#19213) 2023-01-18 20:35:58 +00:00
Duncan bb5a663e2d
Remove snake case from coaster/ride/A*-B* and F* 2023-01-18 20:52:43 +01:00
Josh Trzebiatowski f14d1e3b7e
Track missing objects when selecting scenery groups (#19131) 2023-01-18 09:11:56 +01:00
Hielke Morsink 2c224cfd53
Rename snake_case functions in OpenRCT2/network folder (#19203) 2023-01-18 06:05:53 +00:00
Hielke Morsink 917c091e6b
Rename snake_case functions in OpenRCT2/marketing folder 2023-01-17 23:13:39 +00:00
Duncan 5ee79fe65b
Address all snake_case functions in ui/scripting 2023-01-17 23:50:27 +01:00
Duncan 09611cd9a5
Remove snake_case from OpenRCT2/entity folder 2023-01-17 21:16:36 +00:00
Michael Steenbeek 12874f2af7
Replace format_string(4) with OpenRCT2::FormatStringLegacy() (#19190)
Co-authored-by: duncanspumpkin <duncans_pumpkin@hotmail.co.uk>
2023-01-17 21:56:30 +01:00
Michael Steenbeek d6f58c2f1f
Merge pull request #19194 from Gymnasiast/refactor/sub-loc
Rename sub_ and loc_ functions
2023-01-17 21:29:04 +01:00
Stephan Spengler a79d753d76
Change openrct2/ride methods to UpperCamelCase, part 3/3 (#19195) 2023-01-17 20:14:27 +00:00
Michael Steenbeek bb55c6ce66
Remove loadsasnakes (#19192)
* Rename snake_case methods in scenario folder

* Rename snake_case methods in title folder

* Rename snake_case methods in object folder

* Rename snake_case methods in platform folder

* Rename snake_case methods in windows folder

* Rename tile_inspector.h to TileInspectorGlobals.h

* Rename snake_case methods in ui/windows folder
2023-01-17 19:46:55 +00:00
Gymnasiast b3ddb509e3
Rename ride_construct_new 2023-01-17 19:14:58 +01:00
Gymnasiast 3cc2d94b1b
Rename sub_ and loc_ functions 2023-01-17 19:05:14 +01:00
Stephan Spengler 31ea968480
Change openrct2/ride methods to UpperCamelCase, part 2 2023-01-17 17:42:29 +01:00
Hielke Morsink 6b7dc8fcdb
Rename snake_case functions in openrct2/src folder
Co-authored-by: duncanspumpkin <duncans_pumpkin@hotmail.co.uk>
2023-01-17 13:24:51 +01:00
Michael Steenbeek bf5f7e8e71
Rename format_string(2) and is_user_string_id() (#19178)
Co-authored-by: duncanspumpkin <duncans_pumpkin@hotmail.co.uk>
2023-01-17 08:59:07 +00:00
Stephan Spengler 76b918e7ed
Change openrct2/ride methods to UpperCamelCase, part 1 2023-01-17 01:32:54 +01:00
Michael Steenbeek b4480b344e
Rename snake_case functions from localisation folder 2023-01-16 23:12:35 +00:00
Duncan 8504c8d05e
Finish Removing snake_case from Drawing Methods 2023-01-16 22:31:34 +00:00
Gymnasiast 5309c80e29
Remove snake_case in interface folder 2023-01-16 22:20:41 +01:00
Gymnasiast 28edbf9116
Remove snake_case in core folder 2023-01-16 22:20:41 +01:00
Gymnasiast 11e28b5262
Remove snake_case in cmdline folder 2023-01-16 22:20:41 +01:00
Stephan Spengler ceb9aee1a7
Rename action functions to UpperCamelCase 2023-01-16 21:16:29 +00:00
Hielke Morsink 6dafbbfb65
Rename global window functions to TitleCase (#19167) 2023-01-16 20:13:42 +00:00
Duncan 7f5934cc95
Remove snake_case from second chunk of Drawing (#19166) 2023-01-16 18:52:17 +00:00
Duncan 8a8d3105f3
Remove snake_case from first chunk of Drawing (#19164)
* Remove snake_case from first chunk of Drawing

* Address formatting
2023-01-16 13:50:43 +00:00
Stephan Spengler 0d8924c6b0
Fix: park loan is clamped to a 32-bit integer (#19025) 2023-01-15 20:54:55 +00:00
Basssiiie b15a6e843a
[Plugin] Wrap callback arguments for custom game actions in event arguments object, fix issue with unloading multiplayer plugins (#19091)
* Wrap custom game action arguments in event args object

* Update Typescript declaration, documentation and changelog

* Pass custom game action by value and remove log messages
2023-01-15 20:52:23 +00:00
Michael Steenbeek f2b4d9dcf6
Fix #14003: NPE in TryReconnectBoatToTrack() 2023-01-14 22:21:03 +00:00
AuraSpecs ecf1bd7300
Close #18975: Create 60 degree lift sprites for the Wooden RC 2023-01-14 19:57:42 +01:00
Michael Steenbeek 3b207b5d5b
Fix #19136: SV6 saves with RCT1 paths not imported correctly 2023-01-14 17:52:41 +01:00
Gymnasiast 5c916bbaea
Create a Contributors window instead of a tab 2023-01-14 00:57:16 +01:00
karst 43bcd2cf07
Add tab to About window to show contributors.md
Co-authored-by: Gymnasiast <m.o.steenbeek@gmail.com>
2023-01-14 00:56:20 +01:00
zzril f9649795a0
Fix #19112: Search filter in does not properly clear
Co-authored-by:  Josh Trzebiatowski <trzejos@users.noreply.github.com>
2023-01-13 23:40:19 +01:00
Stephan Spengler 9c6032bb36
Fix: GameActionResult does not comply to API specification 2023-01-12 22:14:52 +01:00
Hielke Morsink b1bf62177f
Merge pull request #19119 2023-01-12 19:32:59 +01:00
Duncan d8cb15bd50
Remove fixed sizes from legacy structs 2023-01-11 23:34:12 +01:00
Gymnasiast 1f0d0d1529
Move CarEntrySetImageMaxSizes() to CarEntry.cpp 2023-01-11 18:11:49 +01:00
Gymnasiast b4d5ac640b
Create CarEntry.cpp 2023-01-11 18:02:15 +01:00
Gymnasiast 06e31f968d
Rename VehicleEntry.h to CarEntry.h 2023-01-11 17:58:51 +01:00
Gymnasiast d47f5d380f
Pass CarEntry as a ref in a few functions 2023-01-11 17:57:40 +01:00
Gymnasiast ac2e0dd1bf
Pass Ride as ref in more places 2023-01-11 17:42:35 +01:00
Gymnasiast 8d659a5e2f
Pass rct_ride_entry as reference 2023-01-11 17:35:01 +01:00
Michael Steenbeek f68b705f9f
Remove malloc in LanguagePack.cpp (#19111) 2023-01-10 23:18:13 +00:00
Tulio Leao 07d5f73f5d
Fix bitwise operation between different enumeration types
On C++20 doing bitwise operation between different enumeration types
is deprecated.
2023-01-10 22:48:06 +00:00
Michael Steenbeek 3c6f93a98a
Merge pull request #19087 from Gymnasiast/refactor/cpp-in-config-reader-2
More C string cleanup
2023-01-10 22:27:03 +01:00
Chris Dolan 16729c2b61
Close #19032: Use RAII for crash registration when loading park file (#19100)
Co-authored-by: Christopher G. Dolan <cgdolan@users.noreply.github.com>
2023-01-10 17:27:40 -03:00
Gymnasiast a516dc507e
Replace str_is_null_or_empty() with String::IsNullOrEmpty() 2023-01-08 16:19:18 +01:00
Gymnasiast 24247e9c6b
Migrate server setting getters to u8string 2023-01-08 16:19:18 +01:00
Gymnasiast 2f097e99c9
Replace strcasestr() with String::Contains() 2023-01-08 15:41:11 +01:00
Gymnasiast aa01e21a55
Remove unused strcicmp() 2023-01-08 15:41:11 +01:00
Gymnasiast 6b922eea4a
Remove unused safe_strtrunc() 2023-01-08 15:41:11 +01:00
Gymnasiast 41cc3fd563
Remove now-unused _strdup() define 2023-01-08 15:41:10 +01:00
Gymnasiast b6d422ff95
Migrate remaining C strings in config handling 2023-01-08 15:41:10 +01:00
Michael Steenbeek 18d9e72173
Change _GBP to money64, migrate a few usages to money64 as well 2023-01-08 15:10:22 +01:00
Umar Ahmed 960a989d05
Close #11473: Implement FileWatcher for macOS 2023-01-08 14:18:13 +01:00
spacek531 c82c4ca3a3
Load object version into a tuple 2023-01-07 23:25:39 +01:00
mdbckrtn a0b4f1b2d2
Close #18998: Refactor MiniGolfPaintUtil7C 2023-01-07 20:09:29 +01:00
Stephan Spengler 142c2a2446
Fix mistake in #19018: change mapChangeSize to mapchangesize 2023-01-07 13:36:31 +00:00
Michael Steenbeek 412bf8f8be
Use ride references instead of pointers 2023-01-07 14:02:18 +01:00
Gymnasiast 1f3e74b48a
Remove obsolete ride_get_track_colour()
This was useful before the fields of Ride were rearranged to actually be a TrackColour struct.
2023-01-07 02:51:58 +01:00
Gymnasiast aae204c7d1
Remove declaration of GuestHasValidXY() 2023-01-07 02:49:36 +01:00
Stephan Spengler bfcf66a8f7
Rename ParkSetEntranceFee to fit naming pattern 2023-01-06 22:57:18 +01:00
Stephan Spengler f8ab17749d
Rename CheatSetAction to fit naming pattern 2023-01-06 22:57:15 +01:00
Stephan Spengler 32dd535044
Rename MapChangeSizeAction to fit naming pattern 2023-01-06 22:57:11 +01:00
Stephan Spengler c5805eaae6
Rename FootpathPlaceFromTrack to FootpathLayoutPlace (#19028) 2023-01-06 22:56:12 +01:00
AuraSpecs 51582e3ab0
Add special thanks lines to About window 2023-01-06 22:44:32 +01:00
Nehemiah Negussie eeb5c58238
Fix #18971: New Game does not prompt for save before quitting (#19046)
Co-authored-by: Tulio Leao <tupaschoal@gmail.com>
2023-01-06 08:56:46 -03:00
Michael Steenbeek 52fffb96cb
Fix #19053: MazeConstruction window does not open (#19060) 2023-01-06 08:10:09 -03:00
Henry Cheng bf986e43c6
Fix #18970: Trying to load a non-park save will now display context error (#19007)
Fix https://github.com/OpenRCT2/OpenRCT2/issues/18970
2023-01-06 08:05:04 -03:00
Stephan Spengler 2e9d06fabe
Rename FootpathPlaceFromTrack to FootpathLayoutPlace (#19028) 2023-01-05 06:39:15 -03:00
Gymnasiast f4f6bfd5c5
Add Canadian French 2023-01-04 20:03:27 +01:00
Gymnasiast 784b7d9fcc
Apply review requests from @tupaschoal 2023-01-04 19:43:31 +01:00
Gymnasiast 43988aa50f
Allow cascaded fallback languages 2023-01-04 19:25:03 +01:00
Gymnasiast 08270d7d31
Close #18945: Allow languages to fall back to more than just en-GB 2023-01-04 19:25:03 +01:00
Gymnasiast 94b8928dcd
Change loaded languages to a vector 2023-01-04 19:25:03 +01:00
Gymnasiast a27b717ebd
Small Construction window cleanup 2023-01-03 23:22:10 +01:00
Gymnasiast 5b2c5d77ff
WindowRideConstructionOpen: use constants for window width/height 2023-01-03 23:22:10 +01:00
Gymnasiast 4b34bbcf7c
Use TrackTypeIsHelix() in construction window 2023-01-03 23:22:10 +01:00
Gymnasiast 53fcad8d76
Create TrackTypeIsHelix() 2023-01-03 23:22:10 +01:00
Gymnasiast fc08cf98ed
Fix type of StartTrackPiece 2023-01-03 23:22:10 +01:00
Stephan Spengler 815d349a2a
Fix: park loan is clamped to a 32-bit integer 2023-01-03 11:20:32 +01:00
Stephan Spengler 9f0449efd9
Change name of variable spriteId of type EntityId to entityId 2023-01-03 11:19:47 +01:00
73 bf3cc83a7a
Allow 4 active awards for more than 1 month at a time 2023-01-02 19:38:29 +00:00
James103 73738bbdc8
Replace 2022 with 2023 in copyright headers
Replace all instances of the year 2022 with 2023 in all copyright headers
2023-01-01 11:58:01 +01:00
Gymnasiast 38f7c2a159
Allow using ImageId in widgets directly 2022-12-31 15:18:22 +01:00
Gymnasiast 162b01204d
Rename rct_widget to Widget 2022-12-31 15:18:22 +01:00
Gymnasiast b97ee766d5
Refactor out IMAGE_TYPE_REMAP from widgets 2022-12-31 15:16:07 +01:00
Gymnasiast b712cc8f07
Refactor checks for ghost tracks while painting 2022-12-31 15:16:07 +01:00
Gymnasiast 057205d153
Add == and != operators to ImageId 2022-12-31 15:16:06 +01:00
Michael Steenbeek 246980d45d
Merge pull request #18408 from Broxzier/refactor/13778-loadsave-window
Refactor LoadSaveWindow to class
2022-12-31 14:54:49 +01:00
mdbckrtn 7e9a09d7cd
Fix #18905: Ride Construction window theme not applied correctly 2022-12-31 14:17:08 +01:00
mdbckrtn bb1c5d8ca8
Fix #18467: "Selected only" filter is active in Track Designs Manager 2022-12-31 14:10:38 +01:00
spacek531 09c8e4755f
Rename GetBrakeClosed() to IsBrakeClosed() 2022-12-31 14:06:22 +01:00
mdbckrtn 0ce84204b7
Fix #18911: Update mini golf fencing to draw correctly from all angles (#18946)
* Fix #18911: Update mini golf fencing to draw on all four angles

SW and SE facing fences were not being drawn correctly due to (seemingly) a typo that caused the game to only check for NW and NE facing fencing when setting up fences for drawing. Ensuring PaintMiniGolfStation checks all four angles resolves the issue.
2022-12-30 18:18:59 -03:00
Matthew d00c71399b
Add guest thoughts to plugin API (#18732)
Co-authored-by: Tulio Leao <tupaschoal@gmail.com>
2022-12-29 12:56:11 -03:00
ccahiggins 279675ba45
Add shift and control modifiers to close window button (#18537)
Shift closes all but current window.
Control closes all windows of the same window class/type.

Co-authored-by: Chris Higgins <chrissywissywoo@hotmail.com>
Co-authored-by: Tulio Leao <tupaschoal@gmail.com>
2022-12-27 12:22:18 +00:00
frutiemax 580639aa3b
Remove goto label 6DCE02 (#18907) 2022-12-26 10:48:50 +01:00
frutiemax 29d40d0cba
Create Vehicle::IsCableLift() 2022-12-22 12:26:35 +01:00
spacek531 ecef614c93
Split Ride::Test into Ride::Test and Ride::Simulate 2022-12-20 22:56:52 +01:00
Gymnasiast 3af26d2fe7
Create Ride::ChangeStatusGetStartElement()
Co-authored-by: spacek531 <spacek531@users.noreply.github.com>
2022-12-20 22:45:48 +01:00
Gymnasiast f848fe5bd4
Create Ride::ChangeStatusDoStationChecks()
Co-authored-by: spacek531 <spacek531@users.noreply.github.com>
2022-12-20 22:43:10 +01:00
Gymnasiast 4f48ccc5c8
Create Ride::ChangeStatusCheckCompleteCircuit()
Co-authored-by: spacek531 <spacek531@users.noreply.github.com>
2022-12-20 21:59:28 +01:00
Michael Steenbeek 079d99d7b2
Require new plugins to specify a target API version 2022-12-20 16:34:38 +01:00
spacek531 952fb9ebe2
Allow diagonal elements into special elements dropdown (#18879)
* add diagonal track elements to special elements dropdown

* rename diag to buildDirectionIsDiag

* initialize to false

* change to gtet sign

* fix this thing
2022-12-20 15:27:49 +00:00
Michael Steenbeek 458b7426b2
Merge pull request #18867 from Gymnasiast/refactor/ride-functions-2
Refactor/ride functions 2
2022-12-17 19:12:13 +01:00
Gymnasiast b90eab89fe
Bump network version 2022-12-17 18:08:50 +01:00
Michael Steenbeek db41864e22
Close #18744: Add cheat to allow regular path as queue 2022-12-17 18:07:47 +01:00
Gymnasiast 3329da538b
Create Ride::ChangeStatusCreateVehicles() to reduce codedup
Co-authored-by: spacek531 <spacek531@users.noreply.github.com>
2022-12-17 18:01:31 +01:00
Gymnasiast e91d22b203
Use constrefs in a few extra ride functions 2022-12-17 17:52:49 +01:00
Gymnasiast 89ed116664
Create Ride::ChangeStatusCheckTrackValidity() to reduce codedup
Co-authored-by: spacek531 <spacek531@users.noreply.github.com>
2022-12-17 17:38:33 +01:00
Gymnasiast 4923847f39
Refactor ride track checking code to use constrefs 2022-12-17 17:34:00 +01:00
Gymnasiast a4f7ca4682
Refactor ride_construct() to RideConstructionStart() 2022-12-17 17:16:34 +01:00
Gymnasiast d0ae004b8f
Remove unused symbol ride_reset_all_names() 2022-12-17 17:08:02 +01:00
Gymnasiast 7f34d626f9
Remove leftover symbol ride_remove_vehicles() 2022-12-17 17:07:26 +01:00
Gymnasiast c244791eda
Refactor ride_find_track_gap() to Ride::FindTrackGap() 2022-12-17 17:00:29 +01:00
frutiemax b67a80aaba
Add RIDE_TYPE_FLAG_IS_SPIRAL_SLIDE flag (#18848) 2022-12-17 16:42:51 +01:00
Stephan Spengler bd6e572dbc
add all game actions and their documentation to plugin API (#18826) 2022-12-16 21:38:45 +00:00
Spacek531 742294a86f
Add HasMessage() method to ResultWithMessage 2022-12-14 22:56:43 +01:00
Spacek531 d03f5e594e
Refactor track design creation return message 2022-12-14 22:56:43 +01:00
frutiemax 6d804f5323
Add RIDE_TYPE_FLAG_IS_MAZE 2022-12-14 14:21:21 +01:00
Gymnasiast 285e0fc42e
Release v0.4.3
- Feature: [#17782] The Flying Coaster now has access to boosters and can draw outside loops.
- Feature: [#17997] The Log Flume can now draw steep pieces down (if vehicle allows it).
- Feature: [#18312, objects#220, OpenSFX#13] New sound effects for the Hybrid and Single Rail roller coasters.
- Feature: [#18675] [Plugin] Plugins can refer to g2 image icons by name.
- Feature: [objects#173] Add alpine coaster vehicle.
- Feature: [objects#221] Add two extra jungle walls.
- Feature: [objects#225] Add log cabin roofs.
- Feature: [OpenMusic#14, OpenMusic#15, OpenMusic#18] Added Galaxy, Acid and Dodgems ride music styles.
- Improved: [#18013, #18016, #18018, #18019, #18514, objects#224] Added colour presets to Spiral Slide, Dodgems, Boat Hire, Flying Saucers, and Car Ride.
- Improved: [#18024] Clearer error messages when loading incompatible .park files.
- Improved: [#18192] Tycoon Park has been added to the Extras tab.
- Improved: [#18214] Competition scenarios have received their own section.
- Improved: [#18250] Added modern style file and folder pickers on Windows.
- Improved: [#18332] Allow Inverted Roller Coaster to draw boosters.
- Improved: [#18350] Changed ride vehicle list to have less padding.
- Improved: [#18422] Allow adding images to music objects.
- Improved: [#18428] [Plugin] Add widget description interfaces to documentation.
- Improved: [#18487] Mini Helicopters track can now draw spinning tunnels.
- Improved: [#18591] Order RollerCoaster Tycoon 2 scenarios by difficulty.
- Improved: [#18607] A new tab for all UCES Scenarios, if it’s installed.
- Improved: [#18621] OpenGL performance.
- Change: [#17677] Open campaign window from finished campaign news.
- Change: [#17998] Show cursor when using inverted mouse dragging.
- Change: [#18230] Make the large flat to steep pieces available on the corkscrew roller coaster without cheats.
- Change: [#18381] Convert custom invisible paths to the built-in ones.
- Change: [OpenSFX#11, OpenMusic#19] First implementation of official replacement asset packs for sound effects & music.
- Fix: [#1491] Clearance of the Cash Machine is too low (original bug).
- Fix: [#1519] “See-through rides” doesn't affect all rides (original bug).
- Fix: [#6341] “Unlock vehicle limits” does not allow setting fewer vehicles than the vehicle type requires.
- Fix: [#14312] Research ride type message incorrect.
- Fix: [#14425] Ride ratings do not skip unallocated ride ids.
- Fix: [#15969] Guests heading for ride use vanilla behaviour
- Fix: [#17067] Random Staff Patrol Area clicks.
- Fix: [#17316] Sides of River Rapids’ corners overlay other parts of the track.
- Fix: [#17657] When switching from buying land rights to buying construction rights, grid disables and won't re-enable afterwards.
- Fix: [#17763] Missing validation on invalid characters in file name.
- Fix: [#17853] Invention name tears while being dragged.
- Fix: [#18064] Unable to dismiss notification messages.
- Fix: [#18070] Underground entrance/exit shows through terrain walls (original bug).
- Fix: [#18094] Underground shops & facilities don't show when adjacent to non-underground path (original bug).
- Fix: [#18122] Ghosts count towards “Great scenery!” guest thought.
- Fix: [#18134] Underground on-ride photo section partially clips through adjacent terrain edge.
- Fix: [#18244] Invention DragWindow's starting position is inconsistent.
- Fix: [#18245] Guests stopping dead in their tracks at railway crossings.
- Fix: [#18257] Guests ‘waiting’ on extended railway crossings.
- Fix: [#18354] Overwrite alert does not show when save name has different casing on Windows.
- Fix: [#18379] Tunnel entrances for underground Mini Golf Hole E are not rendered correctly.
- Fix: [#18442] About window background is clickable.
- Fix: [#18449] [Plugin] Change type of listview widgets from 'scroll_view' to 'listview'.
- Fix: [#18453] Slow walking guests don't get across level crossings in time.
- Fix: [#18469] Land rights window buttons incorrectly disabled and markers remain visible indefinitely.
- Fix: [#18459] ‘Highlight path issues’ hides fences for paths with additions.
- Fix: [#18552] Trains clipping through helixes.
- Fix: [#18576] Cannot open parks with certain types of corrupt tile elements.
- Fix: [#18606] JSON objects do not take priority over the DAT files they supersede.
- Fix: [#18620] [Plugin] Crash when reading widget properties from windows that have both static and tab widgets.
- Fix: [#18653] Negative ratings multipliers do not appear in Vehicle tab.
- Fix: [#18696] Construction rights cannot be viewed after all are purchased.
- Fix: [#18720] Upwards helix is enabled for the Alpine Coaster, even when cheats are off.
- Fix: [#18755] Ferris Wheel and Circus ghosts not coloured correctly.
- Fix: [#18802] Game could crash when determining if a mechanic is heading to fix the ride blocking the path.
2022-12-14 13:22:08 +01:00
Michael Steenbeek a0a3d33472
Fix #18024: Confusing error message on loading incompatible .park files (#18837)
Now shows the version the current build supports, and doesn’t mention the minimum version if it’s equal to the target version.
2022-12-14 13:09:16 +01:00
Rik Smeets bd165199cd
Fix #18802: Game can crash on mechanic path finding 2022-12-13 21:46:53 +01:00
Michael Steenbeek 643e33efcd
Fix #1491: Clearance of the Cash Machine is too low 2022-12-13 18:27:12 +01:00
spacek531 44100234c3
Fix #18665, #18559: Add API for getting g2 icons by name
Co-authored-by: Michael Steenbeek <m.o.steenbeek@gmail.com>
2022-12-12 23:03:16 +00:00
Michael Steenbeek 6b8f7afe29
Merge pull request #18815 from Gymnasiast/fix/6341
Fix #6341: “Unlock vehicle limits” does not allow setting fewer vehicles than the vehicle type requires
2022-12-12 22:51:09 +01:00
Gymnasiast ca3dc801ce
Properly display "0 cars per train" 2022-12-11 23:03:47 +01:00
Gymnasiast 174d638d1d
Fix #6341: “Unlock vehicle limits” doesn’t work for setting fewer cpt 2022-12-11 23:00:51 +01:00
zzril 4583d0ae59
Fix #18805: Crash in WallCheckObstructionWithTrack
Revert refactored line for now to avoid crashes, will be solved properly in a later PR.

Co-authored-by: Michael Steenbeek <m.o.steenbeek@gmail.com>
2022-12-11 21:44:46 +00:00
Michael Steenbeek 5de62b774a
Merge pull request #17997 from karst/steep-flume
Steep track pieces for log flumes
2022-12-11 15:20:20 +01:00
Michael Steenbeek 57a1bc4126
Merge pull request #18795 from Gymnasiast/refactor/track-block
Create method to safely retrieve track sequence block
2022-12-11 10:55:42 +01:00
Rik Smeets 055f16f0e5
Fix #18696: Construction rights cannot be viewed after all are purchased 2022-12-10 22:35:59 +01:00
Gymnasiast 38b34e841a
Use safe method to access ted block 2022-12-10 22:31:23 +01:00
Gymnasiast d90d81c7b3
Create method to safely retrieve track sequence block 2022-12-10 22:08:42 +01:00
Michael Steenbeek c01fe36d80
Fix #18787: Back of stall shown through vertical terrain (#18789) 2022-12-09 19:59:47 +01:00
Michał Janiszewski ca91c67eeb
Fix #18576: Cannot open parks with certain types of corrupt tile elements 2022-12-09 06:57:40 +00:00
Michał Janiszewski 2d101a5212
Provide additional information when rejecting unknown tile element 2022-12-08 22:38:17 +01:00
ccahiggins 76d491b9a2
Improve OpenGL Rectangle SetInstances Performance
Change to use glBufferSubData instead of glBufferData

An initial buffer size is set with glBufferData.
glBufferSubData is then used to copy to the existing buffer,
rather than creating a new one for each frame.

We keep track of the buffer size, and if instances size increases
above the buffer size, a new buffer is created with glBufferData
2022-12-08 21:14:31 +01:00
Gymnasiast 59f6856cd3
Make steep Log Flume pieces in older parks invisible 2022-12-08 20:03:08 +01:00