Commit Graph

19126 Commits

Author SHA1 Message Date
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
Rik Smeets 9226448eb1
Fix #18552: Trains clipping through helixes 2022-12-08 19:49:54 +01:00
Karst 2c68c73a24
Add steep drops to the Log Flume 2022-12-07 22:52:22 +01:00
HouseholdVTuber 228a8573e2
Fix #18364: No Too High! or Too Low! error messages when attempting to raise/lower land beyond the limits 2022-12-06 23:06:06 -03:00
Michael Steenbeek b3af9b6eb3
Set a default scenery group priority value
All custom groups I checked seem to use ‘40’ as the priority, so I went with that.
2022-12-05 07:36:10 +01:00
Michael Steenbeek 6be16ed64f
Fix spelling of ‘scenery’ 2022-12-04 23:06:49 +01:00
frutiemax b7a1db6e69
Use BoundBoxXYZ for PaintAddImageAsParent (part 1) 2022-12-04 20:43:19 +01:00
GalBr 8d4979588e
Fix #18755: Ferris Wheel and Circus ghosts not coloured correctly 2022-12-04 20:11:11 +01:00
X123M3-256 3dfe1eedb6
Fix #18720: Can build upward helix on Alpine Coaster 2022-12-04 20:10:30 +01:00
frutiemax 76faa77f6b
Part of #16152: Use BoundBoxXYZ for PaintAddImageAsChild 2022-11-27 18:33:11 +00:00
Michael Steenbeek 4281914c73
Fix #18653: Negative ratings multipliers do not appear in Vehicle tab 2022-11-24 20:42:25 +00:00
Michael Steenbeek eeb28e5db8
Close #18591: Order RollerCoaster Tycoon 2 scenarios by difficulty 2022-11-24 13:12:27 +01:00
Michael Steenbeek c338e2c292
Merge pull request #18657 from Gymnasiast/objects-release
Update objects to v1.3.7
2022-11-24 12:56:52 +01:00
spacek531 a617d393ed
Read and write version field of .park 2022-11-23 23:20:44 +01:00
Rik Smeets 0ea5f343af
Fix #18469: Land rights window issues (#18662)
Global variables regarding land ownership weren't initialized upon loading a .park file. This would lead to different bugs when using the 'Land rights' window, like markers remaining visible indefinitely and not being able to select the type of land rights to buy.
2022-11-23 20:02:34 +01:00
Michael Steenbeek 9855ff5cac
Fix spelling of *_COLOR_* constants 2022-11-23 18:42:14 +00:00
Michael Steenbeek 06b9dacfaf
Revert "Fix #11679: Facilities clipping issues" (#18660)
This reverts commit c9b6292b88.

Unfortunately #11679 had side effects more serious than the problem it set out to solve. So unfortunately we’ll have to revert it, unless @rik-smeets has another solution.

See here: https://github.com/OpenRCT2/OpenRCT2/pull/18358#issuecomment-1304615840
2022-11-23 18:31:37 +00:00
Ryan f1c3ee33ff
Fix Dragon Islands not appearing in UCES tab 2022-11-23 18:26:59 +01:00
Gymnasiast bd11230d46
Update object ID for people who used the development version 2022-11-23 18:22:22 +01:00
Gymnasiast 713a05f203
Remove obsolete object hacks 2022-11-23 18:18:20 +01:00
AuraSpecs 0a7a50e2c5
Add tab for UCES scenarios
The order of the scenarios is listed in the same order listed on the UCES website. This also allows for translating the scenarios to other languages!

Co-authored-by: Gymnasiast <m.o.steenbeek@gmail.com>
2022-11-22 15:18:55 +01:00
Hielke Morsink e902b08876
Apply review changes 2022-11-20 21:47:56 +01:00
Hielke Morsink 056af36cdf
Move initialization to constructor 2022-11-20 21:41:24 +01:00
Hielke Morsink e22dd3ac32
Refactor LoadSaveWindow to class
Closes #13778
2022-11-20 21:39:30 +01:00
Simon J f4e0480cba
Fix #10932: Extensive warnings in console when placing an entrance or exit (#13114)
Co-authored-by: Simon Jarrett <mwnciau@users.noreply.github.com>
2022-11-20 09:03:08 -03:00
Basssiiie 5396368274
[Plugin] Fix crash when reading widget property on window that has both static and tab content (#18620) 2022-11-19 08:29:01 -03:00
Rik Smeets 9688d93e46
Open campaign tab from finished campaign news
When a marketing campaign is finished, it is likely the player wants to renew it.
This change allows the ‘Campaigns’ tab in the 'Finances' window to be opened from the news item of the finished campaign.
2022-11-18 13:26:52 +01:00
Michael Steenbeek e13a2d70b3
Fix #18606: JSON objects do not take priority over DATs they supersede 2022-11-17 18:50:20 +01:00
Haven Kim 7df08a304d
Fix #18244: Invention DragWindow's starting position is inconsistent (#18303) 2022-11-17 07:44:43 -03:00
Duncan 75f3e82661
Provide more warnings for RideSetColourSchemeAction (#18590)
Co-authored-by: Tulio Leao <tupaschoal@gmail.com>
2022-11-16 23:45:53 -03:00
73 48ba81371f
Fix #18600: Some copyright years are not updated
this will address issue report #18600
2022-11-16 11:13:32 +01:00
Haven Kim 69e5439484
Fix #17067: Random Staff Patrol Area clicks (#18329)
Co-authored-by: Tulio Leao <tupaschoal@gmail.com>
2022-11-16 00:13:24 +00:00
Michael Steenbeek bde4e2400f
Fix asset pack priority tooltips 2022-11-15 12:13:31 +01:00
Michael Steenbeek 96284123e7
Reduce usage of gCommonStringFormatBuffer 2022-11-14 23:48:34 +00:00
Michał Janiszewski 8439499004
Merge pull request #18555 from janisozaur/imageid-byval
Pass ImageId by value instead by const-ref
2022-11-13 22:15:40 +01:00
Michael Steenbeek 21e88a8a33
Remove code duplication in character bitmap init 2022-11-13 15:04:49 +01:00
Michał Janiszewski 237bba9e6f
Provide additional info for ImageId struct size requirements 2022-11-12 23:36:47 +01:00
Ted John a136cf79ca
Add RMC friction as special friction sound 2022-11-12 12:04:11 +01:00
Ted John 4328860273
Add OpenSFX and OpenMSX downloads 2022-11-12 12:04:10 +01:00
Ted John 7dc0c1dddc
Add new audio object for RMC sounds 2022-11-12 12:04:10 +01:00
Karst 319276dc0e
Add RMC track sounds 2022-11-12 12:04:10 +01:00
Michał Janiszewski e0bff8ef82
Update plugin API version for duktape version change (#18556)
Duktape got upgraded 2.6.0 -> 2.7.0 in #18485
2022-11-12 07:10:35 +01:00
Michał Janiszewski 3e4e8bccc5 Pass ImageId by value instead by const-ref
ImageId struct is 8-bytes large and can fit in CPU register. Passing it
by value lets compiler pass it in register instead of forcing to
reference it from memory.

In my tests this brings
[dome park](https://github.com/OpenRCT2/OpenRCT2/files/6134362/dome-export.zip)
benchgfx results from 42.16s down to 41.08s, or by 2.5%.
2022-11-12 00:06:05 +01:00
Michał Janiszewski 8bd9d9c551
Update duktape to v2.7.0 (#18485)
A somewhat bloated change due to duktape changing code style
2022-11-11 09:06:05 +01:00
Michael Steenbeek 24cc4d8feb
Merge pull request #18487 from 733737/mini-helis-horror-mansion-tunnel
allow mini helicopters to draw spinning tunnel
2022-11-10 22:16:59 +01:00
spacek531 9aa67e77ba
Refactor VehiclePitchCorkscrew to template 2022-11-08 21:38:16 +01:00
Gymnasiast ebb264b702
Add spinning tunnel drawing code to Mini Helicopters 2022-11-08 18:09:29 +01:00
Duncan 482971710d
Apply code style to context functions 2022-11-06 21:49:07 +01:00
Michael Steenbeek 27f3a3a796
Create function to resize window frame 2022-11-06 10:29:40 +01:00
spacek531 22a2d11cfc
name more vehicle paint functions (#18520)
* rename un-renamed vehicle paint functions

* fix unfixed names
2022-11-06 07:44:59 +00:00
Rik Smeets 1f504fac2d
Add colour preset to Spiral Slide 2022-11-05 23:59:39 +01:00
Rik Smeets 3a9900cd14
Fix #1519: “See-through rides” doesn’t affect all rides
Rides without track can technically have a vehicle, such as the merry go round or the pirate ship. These vehicles should be hidden of 'see through rides' is enabled.
2022-11-05 16:32:22 +00:00
73 643d79b700
Changed ride vehicle list to have less padding (#18350)
Co-authored-by: Rik Smeets <30838294+rik-smeets@users.noreply.github.com>
2022-11-05 13:43:15 +01:00
AuraSpecs 4c218ba443
Allow Inverted RC to draw boosters 2022-11-05 11:59:31 +00:00
AuraSpecs a9a92c4fb9
Make g2 sprite order more coherent 2022-11-05 11:54:31 +00:00
Rik Smeets c9b6292b88
Fix #11679: Facilities clipping issues 2022-11-05 12:08:23 +01:00
Hielke Morsink a1d35ec33d Fix #18459: 'Highlight path issues' hides fences 2022-11-05 09:32:22 +01:00
Hielke Morsink 474e04f957 Make a bit more sense of sub_6A4101 2022-11-05 09:31:32 +01:00
Meehoi d1baf094af
Show cursor when using inverted mouse dragging (#17998) 2022-11-05 08:20:53 +01:00
Duncan 7f085e2752
Update rating skipping unused ride ids (#14425)
* Skip empty ride ids when evaluating ride ratings

This isn't much of a problem atm but when we increase the limit it may start to become an issue

* Increment network version

* Update changelog
2022-11-04 20:17:31 +00:00
73 048352edca
Guests will use Vanilla behaviour when choosing whether to head for a ride when leaving the park #15969 (#18500)
* Fix #18501: Guests incorrectly determining ride

This will restore guest behaviour to how it was in rct2 vanilla by having them only try to determine whether to ride a ride if they haven't already decided to leave the park

* Fix peeps incorrectly deciding when to get on rides in rain

This should now match how vanilla operates in the rain

* Update replays

Co-authored-by: reticulatingsplines <13323105+ReticulatingSplines@users.noreply.github.com>
Co-authored-by: duncanspumpkin <duncans_pumpkin@hotmail.co.uk>
2022-11-04 07:22:04 +00:00
spacek531 aa685e4cf6
move session flags into new header (#18504)
* move session flags into new header
2022-11-04 05:50:36 +00:00
AuraSpecs 2e053a72e7
g2: Remove all possible instances of `SPR_G2_CHAR_BEGIN +` 2022-11-03 18:20:52 +01:00
Rik Smeets 6b088e550c
Revert "Replace Chose with Choose for grammatical purposes (#18440)"
This reverts commit 38d5793b0b.
2022-11-03 13:43:19 +01:00
Michael Steenbeek 7f03a3b5c0
Remove unused Junior RC sprites from g2
Diagonal flat-to-steep pieces are present in g1.dat, unlike their
orthogonal counterparts, so these images were never used.

Pointed out by @karst.
2022-11-02 22:50:23 +01:00
Michael Steenbeek 5451b152ad
Fix sprite export x and y offset output 2022-11-02 19:58:32 +01:00
Michał Janiszewski afd0346d66
Fix #18481: prevent misuse of moved-from object in WindowTooltipShow (#18483) 2022-11-02 00:19:43 +01:00
Rik Smeets b2ae5b1413
Fix guests stopping dead in tracks at crossings (#18245)
When guests have to stop for a railway crossing, they stop dead in their tracks - right at the frame at which stop walking. This could look a tad weird at times.

Now, guests will assume a natural idle waiting position. If they have food or a drink, they will continue consuming it from time to time. And occasionally, guests might even wave at the train passing by!
2022-11-01 08:43:38 +01:00
Rik Smeets 6faddd94f5
Fix slow guests don't get across level crossing in time (#18453) 2022-10-31 19:57:50 +01:00
Tulio Leao 787acb903b
Close #13810: Refactor TrackDesignManage window to class (#18314)
* Close #13810: Refactor TrackDesignManage window to class

* Remove redundant condition on TrackDesignManageWindow::OnTextInput

* Make early exit ifs on TrackDesignManageWindow::OnTextInput else ifs

* Apply suggestions from code review

Co-authored-by: Hielke Morsink <hielke.morsink@gmail.com>

Co-authored-by: Hielke Morsink <hielke.morsink@gmail.com>
2022-10-29 17:34:39 -03:00
Duncan 49e44967f0
Fix plugin text property (#18444)
* Fix text property being available for all widget classes

Due to dukglue using a template to infer the class that a method is for it ends up registering the base class rather than the derivied class. This meant that the 3 registers of text all made text available for every type of widget. To disable it for the colourpicker, custom, listview and viewport I've explicitly had to define the template and register it for all the relevant widgets

* Up scripting version
2022-10-29 15:41:41 -03:00
Tulio Leao 582863e50c
Merge pull request #18366 from Broxzier/refactor/consistent-integral-suffix 2022-10-29 12:26:43 -03:00
Hielke Morsink 31dd4bf604
Use lower-case u integral suffix 2022-10-29 16:33:05 +02:00
Hielke Morsink 97a7fcc110
Consistently use literal suffix in upper-case 2022-10-29 16:28:53 +02:00
Tulio Leao 3656ddfb14
Fix #18442: About window background is clickable (#18446) 2022-10-29 16:23:59 +02:00
Xixiang Chen 133f435350
Close #18317: Refactor InstallTrack window to class (#18412)
Co-authored-by: Tulio Leao <tupaschoal@gmail.com>
2022-10-29 09:33:40 -03:00
Raymond Zhao 0647d12de8
Close #18315: Refactor Error window to class (#18403) 2022-10-29 09:25:20 -03:00
Raymond Zhao f7364fe3db
Close #18319: Refactor SavePrompt window to class (#18335) 2022-10-29 09:19:59 -03:00
Stephan Spengler 2aa46a7dca
Change type of listviews from 'scroll_view' to 'listview'. (#18449) 2022-10-26 18:51:16 +01:00
Xixiang Chen 96b08ca801
Close #18325: Refactor tooltip window to class (#18399) 2022-10-26 06:52:32 -03:00
Raymond Zhao 6319e8b7d2
Close #18323: Refactor TitleMenu window to class (#18395) 2022-10-26 06:44:38 -03:00
Henry Cheng cf9ec0bd4a
Fix no overwrite alert on Windows if there are capitalization differences (#18375) 2022-10-26 08:19:44 +02:00
73 38d5793b0b
Replace Chose with Choose for grammatical purposes (#18440)
The action is being performed in the present tense so it makes far more sense to use Choose than Chose in this function
2022-10-26 07:34:35 +02:00
Henry Cheng 93cdfbf26a
Fix #17657: Grid disappears when buying land rights (#17793) 2022-10-25 19:46:31 +00:00
Michael Steenbeek 23a8914de7
Allow adding images to MusicObjects 2022-10-25 21:44:58 +02:00
Haven Kim 5e3f1af161
Fix #17854 : InventionList reorder is inconsistent
beforeItem is a reference of an item in the vector. The List deletes the dragged item before adding it and it mutates the beforeItem pointer.
2022-10-24 22:58:11 +02:00
Silent 79660f2fe9
Fix FileWatcher (#18216) 2022-10-23 21:35:00 -03:00
Haven Kim 58e2da72c6
Fix #18379 : Mini Golf doesn't render Special E track's tunnel correctly (#18404)
Co-authored-by: Gymnasiast <m.o.steenbeek@gmail.com>
2022-10-23 20:32:59 +00:00
Michał Janiszewski 286f010e03
Add missing synchronization to `JobPool::CountPending` (#18414) 2022-10-23 12:10:59 +02:00
Raymond Zhao a3342a5484
Close #18321: Refactor TitleExit window to class (#18337) 2022-10-20 06:33:46 -03:00
Xixiang Chen 032b214ff6
Close #18320: Refactor StaffFirePrompt window to class (#18368) 2022-10-20 06:24:31 -03:00
AuraSpecs 2544d91aaa
Convert custom invisible paths in SV6 files to the built-in ones 2022-10-19 13:38:30 +00:00
Gymnasiast 14f9a75e0a
Refactor FontSpriteBase and font size into FontStyle 2022-10-19 11:59:26 +02:00
Gymnasiast 9ca9412205
Refactor Dark/ExtraDark into its own structure 2022-10-19 11:57:33 +02:00
Hielke Morsink f91df4138c
Merge pull request #18359 2022-10-18 23:39:49 +02:00
Thamara Andrade 9edb3966fb
Close #13785: Refactor NetworkStatus window to class (#18302) 2022-10-18 06:54:01 -03:00
Hielke Morsink 3bb8ea3668
Better annotate some magic numbers in for loops 2022-10-17 16:08:55 +00:00
Eilidh Martin fdbceae17c
Fix #18324: Refactor TitleOptions to class 2022-10-17 15:29:17 +02:00
Hielke Morsink 5fa53ad528
Rename global config functions to use TitleCase 2022-10-16 21:46:08 +02:00
Hielke Morsink f9d1f024c2
Rename public plug-in config data members 2022-10-16 21:46:07 +02:00
Hielke Morsink 0ca7bb058f
Rename public font config data members 2022-10-16 21:46:07 +02:00
Hielke Morsink 89fa8d8052
Rename public notification config data members 2022-10-16 21:46:06 +02:00
Hielke Morsink bff430805f
Rename public network config data members 2022-10-16 21:46:06 +02:00
Hielke Morsink 371470b5d5
Rename public sound config data members 2022-10-16 21:46:05 +02:00
Hielke Morsink f605b02630
Rename public interface config data members 2022-10-16 21:46:05 +02:00
Hielke Morsink abac080d3e
Rename public general config data members 2022-10-16 21:46:01 +02:00
Rik Smeets c80bd455e9
Code style: Remove struct snakes from Paint (#18341) 2022-10-14 20:26:36 +02:00
Silent db6af4b362
Ensure argv on Windows is nullptr-terminated (#18331) 2022-10-14 09:31:55 +02:00
AuraSpecs 46fa09ca91
Fix: Sides of River Rapids’ corners overlay other parts of the track (#17316) 2022-10-13 20:52:48 +02:00
AuraSpecs dda256ef5f
Add inverted large loops and inverted boosters to Flying RC 2022-10-13 20:51:54 +02:00
Rik Smeets 94e8e9ea6b
Fix #18094: Invisible underground shops/facilities
Underground shops and facilities placed right next to non-underground path would be connected to the path, but the buildings themselves would remain invisible. Guests could use them though.

This has been fixed by drawing a tunnel, which is the same way ride entrances/exits are drawn.
2022-10-13 16:54:19 +00:00
Raymond Zhao a45f898c7e
Close #18322: Refactor TitleLogo window to class 2022-10-13 12:16:16 +02:00
Duncan 406b73d904
Remove final snakes from map and world (#18304) 2022-10-12 09:14:45 -03:00
Duncan 7dd8989e70
Next chunk of World/Map.h snakes (#18296)
* Next chunk of World/Map.h snakes

* Apply clang-format
2022-10-12 06:35:20 +01:00
Michael Steenbeek 7be8f475f3
Merge pull request #18292 from Gymnasiast/fix/18290
Fix #18290: Ride and plug-in window colours not appearing
2022-10-11 21:43:53 +02:00
Duncan 67bbc8560d
Code style: Remove snakes from everything world apart from Map.h (#18273)
* Remove remaining snakes from world (outside of map)

* Initial few desnaking of Map.h
2022-10-11 19:39:24 +01:00
Gymnasiast de71ed19b5
Remove remaining usages of SPRITE_ID_PALETTE_COLOUR_1() 2022-10-11 14:54:27 +02:00
Gymnasiast 418c5a6708
Use GetColourButtonImage() for remaining windows 2022-10-11 14:44:45 +02:00
Gymnasiast 89cd86da4d
Fix #18290: Ride and plug-in window colours not appearing 2022-10-11 14:44:07 +02:00
Rik Smeets 0c78a27d9f
Fix missing validation on invalid characters in file name (#18287)
When saving a new file with a name containing '/' or '\' on Windows, the incorrect file name would be determined since these characters represent a new folder. This would trigger a failure on save.

The user's input should be validated in all cases. Before, it was only executed for folder names. This change also applies the validation on file names.
2022-10-11 13:27:11 +02:00
Michael Steenbeek 6fe19878f6
More ImageId cleanup (#18258)
* Remove more usages of uint32 image indices

* Remove unused gfx_get_sprite_size()

* Remove uint32 images from text drawing

* Remove now-unused ImageId overload

* Default-initialise ttfRunIndex

* Suppress false-alarm GCC error
2022-10-10 19:42:40 +01:00
Rik Smeets 3fa7d59a1c
Fix #18070: Entrances/exits clip through walls (#18266)
Entrance or exit buildings placed underground could clip through walls.
2022-10-09 17:49:01 +02:00
Silent 9ea6351708
Windows: Use a modern file/folder picker 2022-10-09 17:12:46 +02:00
Michael Steenbeek def6b705cf
Merge pull request #18257 from rik-smeets/improve-crossing-behaviour
Fix guests 'waiting' on extended railway crossings
2022-10-09 17:10:14 +02:00
Rik Smeets 7c2ec714f7 Improve method name for level crossing check 2022-10-09 11:01:10 +02:00
Gymnasiast 079253e168
Remove now-unused SawyerEncoding.{cpp,h} 2022-10-08 23:09:07 +02:00