Commit Graph

14658 Commits

Author SHA1 Message Date
Ted John 1fd33dd86a Use new FileWatcher class 2020-04-26 14:35:00 +01:00
Ted John 834cfad502 Create new FileWatcher class 2020-04-26 14:34:59 +01:00
Ted John 7047dec1d9 Get custom drop downs working
Co-authored-by: Hielke Morsink <hielke.morsink@gmail.com>
2020-04-26 14:34:59 +01:00
Ted John 918022da3e Get custom buttons working 2020-04-26 14:34:59 +01:00
Ted John 291143c3cd Add opening of a custom window 2020-04-26 14:34:59 +01:00
Ted John b47bcabaf1 Move ui scripting API to libopenrct2ui 2020-04-26 14:34:59 +01:00
Ted John 237e0be7ef Add basic window API 2020-04-26 14:34:59 +01:00
Ted John c340c2abec Fix segfault on exit
By ensuring duk_context is disposed last in ScriptEngine
2020-04-26 14:34:59 +01:00
Ted John d445cfc125 Refactor plugin scope 2020-04-26 14:34:59 +01:00
Ted John f54b3efe9e Use shared_ptr for Plugin 2020-04-26 14:34:59 +01:00
Ted John a6bb9a9b64 Add tile element support 2020-04-26 14:34:59 +01:00
Ted John 5697bcf0bd Add basic map and thing support 2020-04-26 14:34:59 +01:00
Ted John 4a575975f6 Add hook system 2020-04-26 14:34:59 +01:00
Ted John 3556dead74 Add hot reloading support 2020-04-26 14:34:59 +01:00
Ted John de527b3ff7 Add load and start plugin scripts 2020-04-26 14:34:59 +01:00
Ted John 1acf1e870a Add park API 2020-04-26 14:34:59 +01:00
Ted John 839dd6842b Add console API using dukglue 2020-04-26 14:34:59 +01:00
Ted John f0de6533a0 Add dukglue 2020-04-26 14:34:58 +01:00
Ted John 43508e0402 Add script engine and connect to std console 2020-04-26 14:34:58 +01:00
Ted John a1ebcdea5c Add duktape library 2020-04-26 14:34:58 +01:00
Fred-1044276 a3e7f0958c
Allow Air Powered Vertical Coaster without complete circuit
This changes the Air Powered Vertical Coaster so that it can be tested and opened without the need for a complete circuit (mirroring RCT1 and RCT3 behaviour). There appears to be no technical reason for RCT2's requirement for having a complete circuit.
2020-04-26 11:25:08 +02:00
Gymnasiast e67ebed697
Remove some Americanisms 2020-04-26 11:07:19 +02:00
Gymnasiast 100236c2d2
Move available ride modes to RTD; ride mode cleanup 2020-04-26 11:07:19 +02:00
Gymnasiast 2e3a4d41ce
Clean up some ride construction variables 2020-04-26 11:07:19 +02:00
Gymnasiast 8d0854804e
Replace missed check for coasters with vertical towers 2020-04-26 11:05:11 +02:00
Breno Guimaraes 2019fa4655 Replay set_format_arg calls in favor of using Formatter 2020-04-25 19:35:49 -03:00
Breno Rodrigues Guimarães a0619d04cf
Replace usage of set_format_arg by Formatter::Common() (#11412) 2020-04-25 18:44:14 -03:00
Breno Rodrigues Guimarães ab53ddf59f Avoid fast-forwarding peep into the ride
The code being removed in the patch tries to fast forward a peep into the ride when it is the second peep for a vehicle that is used in pairs. Problem is that funds checking does not happen, so it happens that a peep may pay against its will.
Lets say a rich peep enters in line and a poor peep enters in line right after.
If the price of the ride is such that the rich peep can pay and the poor peep can't, it will be dragged into the ride because funds checking only happened for the first.
The second part of the patch just adjusts we consider the vehicle a full car if the second position is filled.

Add test to verify that a peep is not dragged into a ride it can't pay

This test puts two peeps in a Ferris Wheel. The first peep is rich and the second peep is poor. When they are both in line, the ride price is raised so that the poor peep can't pay.
Make sure the poor peep turns back and leaves the ride.

During development, a mistake in the logic would have broken all rides other than ferris wheels in a way that multiple guests could enter the same car.
Also add a test to make sure that is never broken.
2020-04-25 18:27:33 -03:00
Breno Guimaraes 38ffc4f577 Use a pointer instead of reference as a member.
This allows the assignment operator for the iterator to be generated
automatically by the compiler.
2020-04-25 17:51:26 -03:00
Michael Steenbeek 0ecc64f781
Fix #11407: Setting an RCT1 path needs better error messages (#11418) 2020-04-25 15:36:44 +02:00
Michael Steenbeek b417da7905
Fix drawing of walls with incorrect scrolling modes (#11453) 2020-04-25 10:19:13 +01:00
Kevin Strehl 5456899afc
Close #10572: Add cheat to allow building at invalid heights 2020-04-25 01:07:36 +02:00
Michael Steenbeek b89130e0f3
Use ObjectEntryIndex in more places (#11440) 2020-04-25 00:10:47 +02:00
Michael Stowe f281aa1a80
Fix #8571: Redundant comparison in Station.cpp 2020-04-25 00:08:04 +02:00
Tom Lankhorst da0c586fad
Mark getters in audio layer as [[nodiscard]] 2020-04-24 18:38:11 +02:00
WantDiscussion 37e9270c00
Close #6024: Closing object selection now advances to next step
In the scenario editor and track designer X button in object selector
will now close the object selector window and advance to the next stage
instead of closing the scenario editor and track editor entirely and
returning to the main menu.

Co-authored-by: Gymnasiast <m.o.steenbeek@gmail.com>
2020-04-24 17:19:06 +02:00
Michał Janiszewski 295a98028e
Disable warnings around incompatible function pointer cast (#9543)
This addresses a compilation issue with newer (8+) mingw.

Co-authored-by: Gymnasiast <m.o.steenbeek@gmail.com>
2020-04-24 16:03:03 +02:00
FlukiestEmperor 23d295924d
Fix Android filesystem compilation error when using NDK revision 19+
When attemping to build with ndk 19+ I get the following error: error: undefined reference to 'std::__ndk1::__fs::filesystem::path::__extension() const'

Looking at this issue here https://github.com/android/ndk/issues/609 and https://android.googlesource.com/platform/ndk/+/master/docs/Roadmap.md#package-management it's stated that the ndk does not support std::filesystem.
2020-04-24 13:08:44 +02:00
FlukiestEmperor 944e61d446 Add missing nullable annotations 2020-04-23 22:23:51 -05:00
FlukiestEmperor 512d77e011 Remove unreachable code
Since the compile sdk is 19, the if check is always true since it's checking 19 >= 17. This also removes the need for the success boolean which would always be true.
2020-04-23 22:21:28 -05:00
Michael Steenbeek 44f62a97c2
Move PhotoItem to RTD (#11415) 2020-04-24 04:47:40 +02:00
Michael Steenbeek 144d312ead
Fix RCT1 import importing too many vehicle types (#11419) 2020-04-24 04:00:41 +02:00
Michael Steenbeek f5e2efac77
Close #11390: Write OpenRCT2 build hash to screenshot metadata (#11423) 2020-04-24 04:00:17 +02:00
ifimfree aaaae16d15
Close #11209: Show a warning when the user is running OpenRCT2 in Wine (#11395) 2020-04-23 19:12:54 +02:00
Michael Steenbeek 62482312fb
Bump network version 2020-04-23 14:44:23 +02:00
Michael Steenbeek d0f2ade778
Fix #11405: Building path through walls does not always remove them (#11416) 2020-04-23 14:35:54 +02:00
Tulio Leao dd64295ba7
Rename and improve documentation on MAX_STR_COUNT (#11409) 2020-04-23 12:29:02 +02:00
Breno Rodrigues Guimarães c0d0c7de16
Part of #11389: Replace set_format_arg by Formatter::Common() (#11388) 2020-04-22 21:41:20 -03:00
Breno Rodrigues Guimarães ef8fd20c99
Let Ride::FormatStatusTo return the number of written bytes (#11411) 2020-04-22 21:24:51 -03:00
Mustapha Elghoul b138cb46ba
Name Flags in PeepThoughtToActionMap 2020-04-22 18:50:53 +02:00
Michał Janiszewski 2323cc1596
Use named casts instead of old-style casts
Change prepared with clang-tidy and google-readability-casting check
2020-04-22 17:09:29 +02:00
Duncan cfd94d4fa5
Merge pull request #11382 from mustaphaelghoul/eecs481
Create 5 Vehicle::CableLiftUpdate... member functions from cable_lift_update_... (#9473)
2020-04-21 22:10:16 +01:00
Mustapha Elghoul 38630eeb59 Update dist_x and dist_y to camelCase. (1 >> 1) to VEHICLE_UPDATE_MOTION_TRACK_FLAG_1, and (1 >> 0) to VEHICLE_UPDATE_MOTION_TRACK_FLAG_VEHICLE_AT_STATION 2020-04-21 16:51:00 -04:00
Breno Rodrigues Guimarães 568e60b13c
Remove duplicated code due to merge issue (#11392) 2020-04-21 17:10:05 +02:00
Michał Janiszewski c4b6897635 Address possible nullptr dereferences 2020-04-21 13:31:01 +02:00
Michał Janiszewski 5f97637d5e Only suggest final when using non-LTO builds
In LTO builds GCC issues the suggestion-warning from linking stage,
when pragmas are already gone and do nothing.
2020-04-21 13:31:01 +02:00
Michał Janiszewski eeef01f34b Remove redundant function declaration 2020-04-21 13:31:01 +02:00
Michał Janiszewski de51d97f70 Remove redundant unreachable breaks 2020-04-21 13:31:01 +02:00
Michał Janiszewski 64e9e8aeb9 Add missing override specifier 2020-04-21 13:31:01 +02:00
Michał Janiszewski cb74c5bbb6 Fix globals that really aren't 2020-04-21 13:30:55 +02:00
Breno Rodrigues Guimarães 374b744477
Use Formatter to handle argument formatting for tooltips (#11379) 2020-04-21 12:38:59 +02:00
Michael Steenbeek b94dfab7d0
Merge pull request #11383 from tupaschoal/followup-11163
Simplify logic in ride_ratings_score_close_proximity_in_direction()
2020-04-21 12:36:39 +02:00
Tulio Leao 12beb78377
Use enum for PeepState instead of raw Number on NewsItem (#11384) 2020-04-21 12:33:53 +02:00
Mustapha Elghoul b38bf7a438 Grouped Alike Functions in Vehicle.h 2020-04-20 22:52:22 -04:00
Tulio Leao dedd0cd54f Use CoordsXY on ride_ratings_score_close_proximity_in_direction() 2020-04-20 23:33:56 -03:00
Tulio Leao a7c103261a Use BaseZ and ClearanceZ on ride_ratings_score_close_proximity_in_direction() 2020-04-20 23:28:59 -03:00
Mustapha Elghoul e627b1680c Part of #9473: Create 5 Vehicle::CableLiftUpdate... from cable_lift_update_... 2020-04-20 22:12:42 -04:00
Breno Rodrigues Guimarães 2479256bc1
Adjust Formatter function names according to coding style (#11378) 2020-04-20 18:55:15 -03:00
Michael Steenbeek e1e58423fc
Replace RideTypeHasRideGroups with flag (#11375) 2020-04-20 21:50:35 +02:00
Olivier Wervers fc5a5fe320
Fix #11370: Copy and paste shortcuts switched (#11373) 2020-04-20 12:16:50 +02:00
ifimfree fb6dd4bfad
Create constants for a few flags 2020-04-20 10:39:26 +02:00
Breno Rodrigues Guimarães d4a2a98e20
Replacing set_format_arg_on macro in favor of a more C++zy solution (#11350) 2020-04-20 07:10:33 +02:00
Michael Steenbeek d2cf9d46e5
Merge pull request #11365 from Gymnasiast/refactor/rtd-plus-plus
Move upkeep costs to RTD
2020-04-19 23:25:00 +02:00
Olivier Wervers 3830347294
Switch tile inspector copy paste button placement (#11358) 2020-04-19 22:41:45 +02:00
Tulio Leao 4d679b7e3e
Fix #11361: rct_object_filters leak in EditorObjectSelection.cpp (#11364) 2020-04-19 16:28:01 -03:00
Gymnasiast d2b71392cf
Move upkeep costs to RTD 2020-04-19 21:27:22 +02:00
Gymnasiast f17014877a
Put all upkeep costs together (as an intermediate step) 2020-04-19 21:27:22 +02:00
Gymnasiast 19646a29a5
Remove duplicated code with function call 2020-04-19 21:13:20 +02:00
Gymnasiast 7d50a2d186
Move alternate ride type to RTD 2020-04-19 18:44:38 +02:00
Gymnasiast 25f363625c
Rename field in RideData5 to something more descriptive 2020-04-19 18:20:20 +02:00
Gymnasiast 9503672730
Remove unused bits from rct_ride_data_5 2020-04-19 18:10:50 +02:00
Gymnasiast 02d3be4d4f
Remove unused variable 2020-04-19 18:06:52 +02:00
Gymnasiast 99d270388b
Move ride start piece to RTD 2020-04-19 18:05:57 +02:00
Duncan a2efc49bcd
Merge pull request #11357 from Gymnasiast/fix/1148
Fix #1148: Research funding dropdown not shown in finances window
2020-04-19 16:06:49 +01:00
Breno Rodrigues Guimarães 3c1bdcd201
Create a compile-time table for converting color codepoints to utf8 (#11349)
For this to be possible, the function to convert a codepoint to urf8 was
moved to the header and made constexpr.

Now it's not necessary to store a std::string just to serve as a buffer
for holding this string. All the computation is done at compile time.
2020-04-19 15:51:01 +02:00
Michael Steenbeek deb56c2a72
Move LiftData to RTDs (#11347) 2020-04-19 14:41:26 +02:00
Tulio Leao 629181b88d
Fix mistake in #11345: Remove all Peeps also removing staff (#11352) 2020-04-19 14:40:25 +02:00
Gymnasiast 860924dfb0
Fix #1148: Research funding dropdown not shown in finances window 2020-04-19 14:29:56 +02:00
Ted John b9e85f6b90
Fix #11259: Custom JSON object breaks saves (#11356)
Do not attempt to pack JSON objects into S6 files.
2020-04-19 14:18:12 +02:00
Michał Janiszewski 5bfc41f49e
openrct2-ui cast fixes (#11348) 2020-04-19 14:08:22 +02:00
Michael Steenbeek d3a5446114
Create ride type flag for suspended rides (#11355) 2020-04-19 13:53:51 +02:00
Michael Steenbeek 957294568f
Use constants in ride_entry_get_supported_track_pieces() (#11337) 2020-04-19 13:33:01 +02:00
Michael Steenbeek 8127437de1
Reduce direct ride type checking; move available piece lookup to RTD (#11353) 2020-04-19 13:32:43 +02:00
frutiemax d3b702603d
Fix #10483: Changing footpath type won't remove the elements on it. (#11306)
Changing footpath type for an existing footpath does not remove elements on it, such as benches, lamps, etc. Also handles changes from and to queue paths properly.

Co-authored-by: Tulio Leao <tupaschoal@gmail.com>
Co-authored-by: Michał Janiszewski <janisozaur@gmail.com>
2020-04-19 07:11:15 -03:00
Duncan 6a2b4a0a27
Merge pull request #11257 from hdpoliveira/vehicle_update_9473
Part of #9473: Convert cable_lift_update to Vehicle private method Ca…
2020-04-19 08:03:09 +01:00
Duncan 6570741a1c
Fix #11343, 11344. Remove all peeps cheat causes a crash/hang (#11345)
* Fix #11343, 11344. Remove all peeps cheat causes a crash/hang

Caused by a refactor.

Co-authored-by: Tulio Leao <tupaschoal@gmail.com>
2020-04-18 15:43:05 -03:00
Tulio Leao 523e6ca4a0
Fix #11340: Sound bar only working when maxed out (#11341)
The changesets replacing c-style casts with named casts mistakenly added some parentheses in the wrong place, changing the evauluation order.
2020-04-18 20:21:30 +02:00
hdpoliveira fd111403f1 Part of #9473: vehicle_update_track_motion to Vehicle::UpdateTrackMotion 2020-04-18 14:41:47 -03:00
hdpoliveira bbdd70395f Part of #9473: vehicle_current_tower_element_is_top to Vehicle::CurrentTowerElementIsTop 2020-04-18 14:41:47 -03:00
hdpoliveira 49b37aafe8 Part of #9473: vehicle_check_if_missing to Vehicle::CheckIfMissing 2020-04-18 14:41:35 -03:00
hdpoliveira 05b9957527 Part of #9473: vehicle_update_additional_animation to Vehicle::UpdateAdditionalAnimation 2020-04-18 14:40:13 -03:00
hdpoliveira f6624f3b94 Part of #9473: vehicle_update_motion_dodgems to Vehicle::UpdateMotionDodgems 2020-04-18 14:39:14 -03:00
hdpoliveira ed60a4996d Part of #9473: vehicle_update_crash_setup and vehicle_update_collision_setup 2020-04-18 14:39:14 -03:00
hdpoliveira 276e0c5691 Part of #9473: vehicle_update_boat_location to Vehicle::UpdateBoatLocation 2020-04-18 14:39:13 -03:00
hdpoliveira fe9d19bff6 Part of #9473: vehicle_finish_departing to Vehicle::FinishDeparting 2020-04-18 14:39:12 -03:00
hdpoliveira d35591959a Part of #9473: vehicle_update_crossings to Vehicle::UpdateCrossings 2020-04-18 14:39:12 -03:00
hdpoliveira 3a8a2a85c7 Part of #9473: vehicle_update_travelling_boat_hire_setup to Vehicle::UpdateTravellingBoatHireSetup 2020-04-18 14:39:11 -03:00
hdpoliveira 886901b873 Part of #9473: vehicle_update_departing_boat_hire to Vehicle::UpdateDepartingBoatHire 2020-04-18 14:39:11 -03:00
hdpoliveira b69b434c1e Part of #9473: vehicle_update_motion_boat_hire to Vehicle::UpdateMotionBoatHire 2020-04-18 14:39:10 -03:00
hdpoliveira 15b3136c75 Part of #9473: vehicle_update_scream_sound to Vehicle::UpdateScreamSound 2020-04-18 14:39:10 -03:00
hdpoliveira 16d00bd204 Part of #9473: vehicle_update_sound to Vehicle::UpdateSound 2020-04-18 14:39:09 -03:00
hdpoliveira 32b3448b92 Part of #9473: vehicle_update_doing_circus_show to Vehicle::UpdateDoingCircusShow 2020-04-18 14:39:09 -03:00
hdpoliveira 3d673e7d5d Part of #9473: vehicle_update_showing_film to Vehicle::UpdateShowingFilm 2020-04-18 14:39:08 -03:00
hdpoliveira a789241a73 Part of #9473: vehicle_update_waiting_for_cable_lift to Vehicle::UpdateWaitingForCableLift 2020-04-18 14:39:07 -03:00
hdpoliveira ac040a6ed1 Part of #9473: vehicle_update_unloading_passengers to Vehicle::UpdateUnloadingPassengers 2020-04-18 14:39:07 -03:00
hdpoliveira 1fceefbbc8 Part of #9473: vehicle_update_arriving to Vehicle::UpdateArriving 2020-04-18 14:39:03 -03:00
hdpoliveira e901d71efd Part of #9473: vehicle_update_travelling_boat to Vehicle::UpdateTravellingBoat 2020-04-18 14:37:12 -03:00
hdpoliveira d7f3d3f463 Part of #9473: vehicle_update_travelling_cable_lift to Vehicle::UpdateTravellingCableLift 2020-04-18 14:37:12 -03:00
hdpoliveira f6af166f34 Part of #9473: vehicle_update_travelling to Vehicle::UpdateTravelling 2020-04-18 14:37:11 -03:00
hdpoliveira 8e3d9c6f8a Part of #9473: vehicle_update_departing to Vehicle::UpdateDeparting 2020-04-18 14:37:11 -03:00
hdpoliveira 0547f1c500 Part of #9473: vehicle_update_rotating to Vehicle::UpdateRotating 2020-04-18 14:37:03 -03:00
hdpoliveira da4146d72b Part of #9473: vehicle_update_crooked_house_operating to Vehicle::UpdateCrookedHouseOperating 2020-04-18 14:35:31 -03:00
hdpoliveira 960aca09f1 Part of #9473: vehicle_update_haunted_house_operating to Vehicle::UpdateHauntedHouseOperating 2020-04-18 14:33:47 -03:00
hdpoliveira a4a2106d28 Part of #9473: vehicle_update_space_rings_operating to Vehicle::UpdateSpaceRingsOperating 2020-04-18 14:33:46 -03:00
hdpoliveira 20ddfda72c Part of #9473: vehicle_update_ferris_wheel_rotating to Vehicle::UpdateFerrisWheelRotating 2020-04-18 14:33:46 -03:00
hdpoliveira a1cfa63d4f Part of #9473: vehicle_update_top_spin_operating to Vehicle::UpdateTopSpinOperating 2020-04-18 14:33:45 -03:00
hdpoliveira a01d05ccf8 Part of #9473: vehicle_update_simulator_operating to Vehicle::UpdateSimulatorOperating 2020-04-18 14:33:45 -03:00
hdpoliveira da52e69b26 Part of #9473: vehicle_update_swinging to Vehicle::UpdateSwinging 2020-04-18 14:33:34 -03:00
hdpoliveira e214a7e40e Part of #9473: vehicle_update_dodgems_mode to Vehicle::UpdateDodgemsMode 2020-04-18 14:29:21 -03:00
hdpoliveira fe3befcda6 Part of #9473: vehicle_update_crash to Vehicle::UpdateCrash 2020-04-18 14:29:20 -03:00
hdpoliveira d39b4e9400 Part of #9473: vehicle_update_waiting_to_depart to Vehicle::UpdateWaitingToDepart 2020-04-18 14:29:20 -03:00
hdpoliveira 3b5f9a372f Part of #9473: Convert vehicle_update_moving_to_end_of_station to Vehicle::UpdateMovingToEndOfStation 2020-04-18 14:29:19 -03:00
hdpoliveira 857db2925c Part of #9473: Convert cable_lift_update to Vehicle private method CableLiftUpdate 2020-04-18 14:29:19 -03:00
Michael Steenbeek 3bf316ee8c
Merge pull request #11336 from Gymnasiast/refactor/available-breakdowns-to-rtd
Move available breakdowns, category and independent listing flag to RTD
2020-04-18 18:31:39 +02:00
Michael Steenbeek 20a0cea903
Fix #11325: Space rings change colours and show incorrect sprites (#11338) 2020-04-18 18:19:01 +02:00
Tulio Leao e2be89648e
Fix #6119: Advertising campaign for ride window not updated properly (#11335) 2020-04-18 16:15:04 +02:00
Eyal Minsky-Fenick 2ef77414d5
Ensure ride->inspection_station is set in ride_prepare_breakdown (#10245) 2020-04-18 15:30:25 +02:00
Gymnasiast 5d3bf2be20
Move category to RTD; move RideTypeIsIndependent to a flag 2020-04-18 15:22:41 +02:00
Gymnasiast c41fb64535
Move available breakdowns to RTD 2020-04-18 15:22:41 +02:00
Michael Steenbeek 35bbf6a166
Fix refactor mistake that prevents compilation (#11334) 2020-04-18 14:56:38 +02:00
Tulio Leao 95b43684d0
Change advertise campaign variable type to avoid casts (#11333) 2020-04-18 14:34:07 +02:00
Tulio Leao 2b68610473
Fix #11331: Create constant for failure on ScenarioCompletedCompanyValue (#11332) 2020-04-18 13:46:18 +02:00
Tulio Leao 935cfe90fc
Use named casts on openrct2-ui/windows (#11136) 2020-04-18 13:32:48 +02:00
Olivier Wervers b71062ce1b
Fix #6530: Make land tools work consistently on park borders (#11181)
Makes all land tools behave the same
2020-04-18 08:19:03 -03:00
Duncan 8e178ef0ac
Merge pull request #11274 from TomasZilinek/issue11075fix
Fix #11075 SpriteListHead Refactor
2020-04-18 11:55:10 +01:00
Olivier Wervers bb72fd6021
Fix #9029: Set animation frame on doors using the tile inspector (#11206) 2020-04-18 07:43:46 -03:00
duncanspumpkin b81f6d0bed Fix crash caused by bad pointers 2020-04-18 11:41:05 +01:00
Tulio Leao a4e4040a0c
Use named casts on openrct2/rct* (#11169) 2020-04-18 12:37:34 +02:00
Tulio Leao b948d65c33
Use named casts on openrct2-ui root folder (#11137) 2020-04-18 12:15:07 +02:00
Tulio Leao 6f984a0a77
Use named casts on openrct2-win (#11138) 2020-04-18 12:13:50 +02:00
Michael Steenbeek b4a763c751
Move naming convention to RTD (#11319) 2020-04-18 12:12:07 +02:00
duncanspumpkin f9ae3dd980 Make review changes 2020-04-18 10:34:41 +01:00
ThomasZ 401504aff9 Fix #11075: SpriteListHead Refactor
Refactor "for (spriteIndex = gSpriteListHead[SPRITE_LIST_PEEP]; spriteIndex != SPRITE_INDEX_NULL; spriteIndex = nextSpriteIndex)" like for loops across files with replacing them by FOR_ALL_PEEPS(sprite_index, peep). The same for FOR_ALL_STAFF, FOR_ALL_GUESTS where necessary.

modify incorrect codestyle

modifying incorrect codestyle of the first attempted PR of issue 11075 (missing space after FOR_ALL_GUEST, FOR_ALL_STUFF ...)

modify codestyle further

Forgot to add one more space, correcting it.

another codestyle correction

apparently there is someting wrong with src/openrct2/peep/Peeps.cpp adding a newline after i = 0;

event further modifying codestyle

changing i = 0; to int i = 0;

another codestyle modification, at this point just trying to pass CI clang

adding another newline

another modification
2020-04-18 10:31:02 +01:00
duncanspumpkin d75fc6945e Increment network version 2020-04-18 08:16:26 +01:00
Gymnasiast a295f3c003 Fix #11315: Never opened ride shown as favourite ride of 74 guests 2020-04-18 07:39:24 +01:00
Olivier Wervers 506b06bd73
Fix #11072: Land and water tools work out of bounds (#11179)
Tool tried to act out of bounds, where it shouldn't do anything
2020-04-17 19:34:32 -03:00
Tulio Leao c17127f65b
Use named casts on openrct2 root folder (#11139) 2020-04-17 21:36:25 +02:00
Tulio Leao 64e4a8420e
Use named casts on openrct2/world (#11141) 2020-04-17 21:08:22 +02:00
Michael Steenbeek ffa9996336
Reimplement landscape door drawing (#11233) 2020-04-17 19:59:38 +02:00
Tulio Leao b449e445f7
Use named casts on openrct2/ride (#11163)
Excluding subfolders
2020-04-17 19:53:33 +02:00
Tulio Leao 116bcb5ccb
Use named casts on openrct2/(util|windows|scenario|title) (#11146) 2020-04-17 19:45:19 +02:00
Tulio Leao fd69886350
Use named casts on openrct2/ride/* (#11168) 2020-04-17 19:39:18 +02:00
Aaron van Geffen fe24a84dc4 Make use of extra horizontal space when shortcut window is resized. 2020-04-17 18:35:06 +02:00
Aaron van Geffen 2e55b621f0 Reorder keyboard shortcuts per Umdlye's suggestions. 2020-04-17 18:35:06 +02:00
Aaron van Geffen 77776cd6c8 Allow adding separators between listed shortcuts. 2020-04-17 18:35:06 +02:00
Aaron van Geffen d1a314b0f7 Decouple shortcut window order from internal order. 2020-04-17 18:35:06 +02:00
Michael Steenbeek 777201c7fd
Return false for non-existing ride types
Co-Authored-By: Tulio Leao <tupaschoal@gmail.com>
2020-04-17 17:05:16 +02:00
Gymnasiast 20fd115d8d
Group some common flag combination into constexprs 2020-04-17 17:03:34 +02:00
Gymnasiast 9044d0a263
Fix failing tests 2020-04-17 17:03:33 +02:00
Gymnasiast edd31d9f16
Move flags to RideTypeDescriptors 2020-04-17 17:03:33 +02:00
Gymnasiast 6c3c857dfa
Release v0.2.6
- Feature: [#10925] Show hovered values on finance charts.
- Feature: [#11013] Ctrl+C copies input dialog text to clipboard.
- Feature: [#11218] load_park command for console
- Feature: [#11272] Option for toggling notifications for 'Ride casualties' and 'Stuck or stalled vehicles'.
- Feature: [#11281] add_news_item command for console
- Feature: [#11300] Add powered launch and reverse incline launched shuttle mode to the Stand-Up Roller Coaster (for RCT1 parity).
- Fix: [#475] Water sides drawn incorrectly (original bug).
- Fix: [#6123, #7907, #9472, #11028] Cannot build some track designs with 4 stations (original bug).
- Fix: [#6238] Invalid tile elem iteration in Guest::UpdateUsingBin
- Fix: [#7094] Back wall edge texture in water missing.
- Fix: [#9719] Hacked walls in RCT1 saves are imported incorrectly.
- Fix: [#10372, #10509, #10806] Lift base sections incorrectly exporting, causing various lift related bugs.
- Fix: [#10928] File browser's date column is too narrow.
- Fix: [#10951, #11160] Attempting to place park entrances creates ghost entrances in random locations.
- Fix: [#11005] Company value overflows.
- Fix: [#11027] Third color on walls becomes black when saving.
- Fix: [#11063] Scrolling position persists when switching tabs in the scenery window.
- Fix: [#11106] Crash on getting invalid vehicle index.
- Fix: [#11126] Cannot place Frightmare track design.
- Fix: [#11208] Cannot export parks with RCT2 DLC objects.
- Fix: [#11230] Seat Rotation not imported correctly for hacked rides.
- Fix: [#11225] Replay manager cannot handle track designs.
- Fix: [#11246] Fix Various Import/Export issues with Boat locations, balloon frame number.
- Fix: [#11258] Properly remove format codes from imported strings.
- Fix: [#11286] Fix banner tooltip colour.
- Fix: Small red gardens in RCT1 saves are imported in the wrong colour.
- Improved: [#11157] Slimmer virtual floor lines.
2020-04-17 16:13:30 +02:00
Tulio Leao d342423b24
Address string ids skipped in #11273 (#11310) 2020-04-17 10:06:15 +02:00
Michael Stowe 163119ea3b
Fix #11275: Crashes that kill only 1 peep create grammatically incorrect messages (#11278)
Fix #11275: Crashes that kill only 1 peep create grammatically incorrect messages (#11278)

Co-authored-by: Tulio Leao <tupaschoal@gmail.com>
2020-04-16 21:04:12 -03:00
Duncan 4a81219521
Merge pull request #11291 from brenoguim/fix_banner_string_coloring
Fix coloring of Banners on tooltip
2020-04-16 22:27:27 +01:00
Duncan 92449773c5
Fix #11106: Crash on getting invalid vehicle index (#11305)
* Fix #11106: Fix crash on bad value prev_vehicle

This allows Thorpe Park to be loaded again. This is ultimately not a great fix. In the future it should be made so that the vehicle pointers are validated on load to ensure there are no loops or bad values.
2020-04-16 18:24:07 -03:00
Julian a6684603d8
Load_Park feature for headless server (#11218)
* Load_Park feature

New feature "load_park name" from "save" folder.

* Fix codestyle

-

* Fix codestyle

-

* Fixed typo for load_park 

load_park is now <name> instead of [name]

* improve load_park command

allow to specify park via absolute path
make .sv6 filename extension optional
support .sc6 filename extension, but default to .sv6

* report success or failure of load_park to console

Co-authored-by: quadratrund <56112624+quadratrund@users.noreply.github.com>
2020-04-16 16:36:00 +02:00
Michał Janiszewski 46f8c1458e
Add add_news_item to the console (#11281) 2020-04-16 16:27:48 +02:00
Aaron van Geffen a81488d704
Fix #11272: Make casualty and stalled vehicle notifications optional 2020-04-16 14:41:39 +02:00
Aaron van Geffen 2d0f62e903
Open about window when clicking the title screen logo 2020-04-16 13:18:09 +02:00
Breno Rodrigues Guimarães 10ab9e4528
Make ParkLoadResult move friendly (#11297)
This patch changes the member of ParkLoadResult to not be const. Const members cannot be moved so trying to move ParkLoadResult actually causes a copy.
It also adds std::move to move the parameter to the member, otherwise a copy happens.

See: https://godbolt.org/z/L4Wakb
2020-04-16 13:13:13 +02:00
Fred-1044276 a80905e30d
Implement #11300: Add RCT1 operating modes to Stand-up Roller Coaster 2020-04-16 13:12:43 +02:00
Breno Guimaraes 347c402984 Fix #11286: Fix coloring of banners on tooltip
This patch moves the function that adds coloring to the buffer text into the Buffer struct with a flag.
It also changes both Banner printing and Banner tooltip to use the colored version
2020-04-16 08:06:07 -03:00
Gymnasiast 10f43766ef
Rename i to stationIndex 2020-04-16 12:44:25 +02:00
Breno Rodrigues Guimarães 174a480870
Use utf8_remove_format_codes to remove format codes from user strings (#11289)
The previous code used RCT12::RemoveFormatCodes to remove format codes from RCT strings. But that function uses utf8 methods to identify format codes. In this new version, rct2_to_utf8 is called first to obtain an utf8 string, and then utf8_remove_format_codes can be used.
2020-04-15 07:17:43 +02:00
Michał Janiszewski 1ffd92839e
Merge pull request #11228 from duncanspumpkin/fix_replay
Fix replay manager checksums
2020-04-14 23:01:34 +02:00
duncanspumpkin 9c5a4b8561 Add exception handler to prevent 32bit OS read problems 2020-04-12 10:56:19 +01:00
duncanspumpkin 501e5e2b34 Fix formatting 2020-04-12 10:54:17 +01:00
duncanspumpkin 59723cc7c3 Rework game state snapshots for variable amounts
Added a check that ensures that the log is not created unless there is a difference
2020-04-12 10:54:17 +01:00
duncanspumpkin e5d68cacc9 Make snapshots at start and end of replay 2020-04-12 10:54:17 +01:00
duncanspumpkin 1395b9a9c1 Fix normalisation writing files to unknown location 2020-04-12 10:54:17 +01:00
duncanspumpkin 4f0d9a6363 Remove SpriteSpatialData from replays 2020-04-12 10:54:17 +01:00
duncanspumpkin 53672c0519 Introduce a GameStateSnapshot to the replay file 2020-04-12 10:54:17 +01:00
duncanspumpkin 5b0015bbf3 Fix replay manager checksums 2020-04-12 10:54:17 +01:00
Aaron van Geffen 0cbd700290
Warn to console if no autosave could be saved (#11255)
* Warn to console if no autosave could be saved.

* Use std::fprintf as suggested.

* Update src/openrct2/Game.cpp

Co-Authored-By: Michał Janiszewski <janisozaur@users.noreply.github.com>

Co-authored-by: Michał Janiszewski <janisozaur@users.noreply.github.com>
2020-04-12 11:32:39 +02:00
duncanspumpkin b01e9381f7 Update network version. Add changelog entry 2020-04-11 09:07:02 +01:00
duncanspumpkin d4998a0ade Fix #10372, #10509, #10806. Lift base sections did not export correctly
Mistake made whilst refactoring that assumed that station indexes are set on only station pieces.
2020-04-11 08:16:53 +01:00
Duncan fdf98060cf
Change the spatial insert to make it ordered (#11252)
* Change the spatial insert to make it ordered

This is so that the spatial index can be rebuilt and gauranteed to be in the correct order

* Increment Network Version

* Make review changes

* Remove the gSpriteSpatialIndex from the network

* Use safer get function

* Final little tweak
2020-04-09 10:46:26 +01:00
Hielke Morsink c0486e250e
Fix: config and park files not selected on crash (#11251) 2020-04-08 20:00:02 +02:00
Michał Janiszewski a197e529e8
Fix #6238: Invalid tile elem iteration in Guest::UpdateUsingBin (#11248) 2020-04-08 01:03:02 +02:00
duncanspumpkin d9ebec6690 Increment network version 2020-04-07 20:19:35 +01:00
duncanspumpkin 54a058ca6c Fix boat location import/export/update.
After a refactoring to split off the boat location the import/export functions meant incorrect information could be loaded into the s6 file for boats that had not left the station. Boats that had left the station had other fields clobbered for the same reason
2020-04-07 20:19:26 +01:00
duncanspumpkin 18a21a73ab Fix balloons import/export issue 2020-04-07 20:08:47 +01:00
Michał Janiszewski 328856a933 Add MISC spirtes to comparison as well 2020-04-07 20:07:37 +01:00
Michał Janiszewski 50541a2cc7 Fix GameStateSnapshot comparators 2020-04-07 20:07:37 +01:00
duncanspumpkin b857792f23 Fix vehicles changing state on export/import 2020-04-07 20:07:37 +01:00
Michał Janiszewski 914f68dcef Bump network version after fixes reverted in #11190 are reintroduced 2020-04-06 22:32:27 +02:00
Michael Steenbeek d91173060a Guard against null banners (#11078) 2020-04-06 22:32:27 +02:00
Michał Janiszewski 94f6d70ac7 Fix #11084: null broken vehicle (#11090) 2020-04-06 22:32:27 +02:00
Michael Steenbeek 3a47e3b309 Fix #11166: Null pointer read in Guest::UpdateRideAdvanceThroughEntrance (#11182) 2020-04-06 22:32:27 +02:00
Michał Janiszewski 63c11ab8fd Fix #11128: null tile element in track_block_get_previous (#11144) 2020-04-06 22:32:27 +02:00
Duncan a613ec39c8
Merge pull request #11187 from duncanspumpkin/fix_11174
Fix format string
2020-04-06 07:43:40 +01:00
Duncan 919a70361b
Fix incorrect saves in backtrace (#11229) 2020-04-05 21:54:11 +02:00
Duncan 53b948299a
Merge pull request #11226 from duncanspumpkin/fix_trackdesign
Fix track design replays.
2020-04-05 13:08:27 +01:00
Michael Steenbeek 8a12ad8f6b
Fix #9719: Hacked walls in RCT1 saves are imported incorrectly (#11222) 2020-04-05 13:49:36 +02:00
duncanspumpkin 4fcecba5fe Increment Network Version 2020-04-05 12:49:14 +01:00
duncanspumpkin de7051d940 Fix #11225: Track design replays.
The replay state was not being passed to all sub actions this prevented the replay from working. Note replays made before this still work its just they couldn't be replayed.

name the flag

Update changelog
2020-04-05 12:48:42 +01:00
Gymnasiast cfdc8567f7
Fix #11230: Seat Rotation not imported correctly for hacked rides 2020-04-05 12:29:07 +02:00
Michał Janiszewski 12ab701a0f
Add missing Expenditure type setting in LargeSceneryPlaceAction (#11224)
Claiming first bounty of #11190
2020-04-05 06:45:00 +02:00
Michael Steenbeek 13a2f67400
Fix #11208: Cannot export parks with RCT2 DLC objects (#11212)
* Do not try to export official objects

* Do not override legacy object's source games

* Amend changelog
2020-04-04 07:06:34 +01:00
Michał Janiszewski 89ae2b51d6
Update error message for unsuccessful crash uploads (#11217)
The upload will be rejected to a disabled submission token, which we sometimes do.
2020-04-03 22:48:27 +02:00
Michael Steenbeek 87dd126e2a
Fix small red gardens getting imported incorrectly from S4 (#11215) 2020-04-03 19:55:39 +02:00
Michał Janiszewski 15a532725a
Change backtrace.io submission token (#11216)
This is to cut off v0.2.5 traces of which we have plenty and collect
ones that have #11190 in them.
2020-04-03 19:44:11 +02:00
Duncan 38e82800be
Merge pull request #11190 from janisozaur/silent-record
Upload park recording in case of crash
2020-04-03 15:29:33 +01:00
Tulio Leao 6cf113ae6f
Improve bound checking on scenery invention (#11171) 2020-04-03 13:31:13 +02:00
Michał Janiszewski 54ae98af68 Increase network version 2020-04-03 09:58:24 +02:00
Michał Janiszewski 85d6fa8c8b Revert "Guard against null banners (#11078)"
This is being reverted now that we have replay records uploaded as part
of the backtrace.io information to try figuring out the root cause.

This reverts commit 47b6139546.
2020-04-03 09:56:51 +02:00
Michał Janiszewski 27da48336a Revert "Fix #11084: null broken vehicle (#11090)"
This is being reverted now that we have replay records uploaded as part
of the backtrace.io information to try figuring out the root cause.

This reverts commit 24edada2d8.
2020-04-03 09:53:36 +02:00
Michał Janiszewski 971db142a5 Revert "Fix #11166: Null pointer read in Guest::UpdateRideAdvanceThroughEntrance (#11182)"
This is being reverted now that we have replay records uploaded as part
of the backtrace.io information to try figuring out the root cause.

This reverts commit 598b85d0ca.
2020-04-03 09:51:32 +02:00
Michał Janiszewski 620be75285 Revert "Fix #11128: null tile element in track_block_get_previous (#11144)"
This is being reverted now that we have replay records uploaded as part
of the backtrace.io information to try figuring out the root cause.

This reverts commit d1faa228c5.
2020-04-03 09:49:58 +02:00
Michał Janiszewski e19eaa6a98 Upload park recording in case of crash 2020-04-02 23:44:59 +02:00
Michael Steenbeek 1e70c4806e
Fix #11126: Cannot place Frightmare track design (#11186) 2020-04-01 17:37:09 +02:00
Michael Steenbeek e1e8e2bec0
Add drawing code for ō (#11201) 2020-04-01 14:31:53 +02:00
Michael Steenbeek 598b85d0ca
Fix #11166: Null pointer read in Guest::UpdateRideAdvanceThroughEntrance (#11182) 2020-04-01 12:45:08 +02:00
Michael Steenbeek c1e2c7cc5a
Fix mistake made in #10579 (#11184) 2020-03-31 20:56:47 +02:00
duncanspumpkin 0fd793504e Additional validation 2020-03-31 19:13:13 +01:00
duncanspumpkin 6560de0705 Potential fix #11174, #11175. Use Strnlen
Unsure if this will fix the issue as not reproducable. It is possible
that the pointer passed to this function is bad
2020-03-31 19:11:17 +01:00
Michał Janiszewski 4be3050e74
Update network version after #11180 2020-03-31 16:05:50 +02:00
jeysbach e9611ffaff
Fix #11063: Exchange hack for call to update_scroll (#11178) 2020-03-31 16:03:14 +02:00
Michael Steenbeek 41bf6def69
Fix #10951, #11160: Placing park entrances creates bugged ghosts (#11180) 2020-03-31 13:47:37 +01:00
Aaron van Geffen 503fbefbeb Harmonise date and time gaps / anchors.
Introduces the DATE_TIME_GAP constant.
2020-03-30 22:44:08 +02:00
Aaron van Geffen 56216fd026 Add an additional check for locales that do not use leading zeros for dates. 2020-03-30 22:42:58 +02:00
Aaron van Geffen 484956e006 Fix #10928: File browser's date column is too narrow. 2020-03-30 22:42:58 +02:00
Aaron van Geffen 28d14517e1
Introduce a constant for scrollbar width and height (#11152) 2020-03-30 22:41:49 +02:00
Tulio Leao 3d223b0843
Fix dereference on null iterator (#11154) 2020-03-30 18:05:38 +01:00
pkubaj c8f9324e41
Fix build on FreeBSD (#11145)
FreeBSD doesn't use libstdc++, but libc++. stdc++fs doesn't exist in libc++.
2020-03-29 23:36:50 +02:00
Michał Janiszewski d1faa228c5
Fix #11128: null tile element in track_block_get_previous (#11144) 2020-03-29 22:01:13 +01:00
Duncan 87b90f2304
Fix #11109. Incorrect drawing of staff list after refactor. (#11134)
Looks like I just completely forgot to implement the required changes to the drawing code. Drawing code now uses the new StaffList.
2020-03-29 22:00:28 +01:00
Michał Janiszewski 920150b06d
Fix #11140: exclude thirdparty headers from headers-check target (#11142) 2020-03-29 22:43:37 +02:00
Duncan f64ea65d03
Rename SPRITE_LIST_TRAIN_HEAD to reduce car head confusion (#11105)
A single car on a coaster can comprise of multiple vehicles. One of those vehicles will be the car head vehicle. The train can comprise of multiple cars. Therefore not all vehicle->IsHead 's will be in SPRITE_LIST_TRAIN_HEAD. This rename makes that slightly more clear
2020-03-29 09:23:24 +01:00
Michael Steenbeek b5bcd0c2aa
Merge pull request #11122 from tupaschoal/reduce-c-casts
Reduce c-style cast
2020-03-28 22:47:14 +01:00
Michael Steenbeek 09cd6a82ee
Merge pull request #11123 from tupaschoal/reduce-c-casts-2
Reduce c-style cast on openrct2-ui/(input/interface/title)
2020-03-28 22:40:33 +01:00
Tulio Leao abfd41c35f Use named casts in openrct2-ui/drawing 2020-03-28 17:18:21 -03:00
Tulio Leao 57886ad0c7 Use named casts in openrct2-ui/audio/ 2020-03-28 17:18:15 -03:00
Tulio Leao fe6ff2ac94 Use named casts in openrct2-ui/audio/AudioChannel.cpp 2020-03-28 17:18:07 -03:00
Tulio Leao bb052a784a Use named casts in openrct2-ui/audio/AudioMixer 2020-03-28 17:17:57 -03:00
Tulio Leao b0e12ebc8f Use named casts on openrct2-ui/title 2020-03-28 17:04:33 -03:00
Tulio Leao b579771364 Use named casts on openrct2-ui/interface 2020-03-28 17:04:33 -03:00
Tulio Leao 8823658972 Use named casts on openrct2-ui/input 2020-03-28 17:04:29 -03:00
Aaron van Geffen a028bcbb64
Fix #11111: Finance graph hover values are glitchy with software renderer 2020-03-28 20:42:45 +01:00
Tulio Leao 2bb3a34274 Convert C-style pointer casts to named casts 2020-03-28 16:41:23 -03:00
Duncan 8920c36170
Fix #11107. Guestlist refresh issues after refactor (#11108)
Another little oversite on the guestlist preventing full functionality of the guestlist. Also fixed the map flashing
2020-03-28 16:21:01 +00:00
Duncan 2806104db0
Remove peep sort (#11088)
* Remove peep sort. No longer required.

Peeps are now only sorted in a temporary vector when the staff or guest list is open. This allows for simpler allocation of sprites

* Increment Network Version
2020-03-28 12:37:01 +00:00
Duncan e7d0043756
Rework StaffList to use a vector (#11059)
* Rework StaffList to use a vector

This is a part of a reworking that removes the need for the peep list to be sorted by name/number order. Ultimately simplifying the sprite create code

* Remove unused variable setting
2020-03-28 12:12:53 +00:00
Tulio Leao fc645180be
Ammend #11090 for consistency on nullptr check (#11104) 2020-03-28 11:39:59 +00:00
Michał Janiszewski 24edada2d8
Fix #11084: null broken vehicle (#11090) 2020-03-28 10:21:24 +00:00
Peter Ryszkiewicz fa1ddbd9e3
Show hovered values on finance charts (#10925) 2020-03-28 11:03:10 +01:00
Duncan a33fbfa234
Fix guest list when in filtered mode. (#11102)
Mistake during refactor didn't consider that find_groups resets global vars.
2020-03-28 11:02:26 +01:00
Thijs Versfelt 3613c660a0
Fix #11005: Company value overflows (#11012)
* Clamp park value to prevent integer overflow.

* Replace casting with built-in clamping.

* Add changlog entry for #11005.

* Modify casting to prevent skewed company value.

* Increment network version

Co-authored-by: Michał Janiszewski <janisozaur@gmail.com>
2020-03-27 13:25:16 +01:00
Michael Steenbeek 47b6139546
Guard against null banners (#11078) 2020-03-27 13:04:45 +01:00
Michael Steenbeek c6e42ac313
Avoid assertion getting hit in scenery_is_invented() (#11079) 2020-03-27 12:53:18 +01:00
Michael Steenbeek b70c5cefd6
Use station index in a few more places (#11066) 2020-03-27 11:13:02 +01:00
Michał Janiszewski 56e6ec2c23
Fix #11068: segfault when trying to clear empty list (#11069)
The report in #11068 was using track designs manager with "Boat hire"
ride, for which there were no designs and selecting "Clear" button on
the list accessed empty vector in `_filteredTrackIds`.
2020-03-26 23:49:10 +01:00
Michał Janiszewski 5276ce767a
Add missing check for valid scenery type (#11067) 2020-03-26 22:44:41 +01:00
Michael Steenbeek cfb405f0ed
Use StationIndex in many more places (#10992) 2020-03-26 21:38:26 +01:00
Michael Steenbeek 357044171d
Merge pull request #11061 from Gymnasiast/fix/7094
Fix #7094: Back wall edge texture in water missing
2020-03-26 21:04:32 +01:00
Michael Steenbeek 81c6bb26e9
Prepare guest counters for more than 32767 guests (#10989) 2020-03-26 20:02:15 +01:00
Gymnasiast 905ba0c47b
Fix #475: GFX water sides drawn incorrectly 2020-03-26 20:01:25 +01:00
Gymnasiast aeb1b32078
Fix #7094: Back wall edge texture in water missing 2020-03-26 20:00:53 +01:00
Gymnasiast 6c0de27d54
Change calls to tile side drawing to use big Z 2020-03-26 20:00:53 +01:00
Daan de Heij 9035ba2827
Simple implementation of copy input to clipboard (Ctrl+C) (#11013)
This is a simple implementation of copying all current input text to the clipboard using ctrl+c. A simple dialog acknowledges that text is copied. This commit includes a new string ID for the text in this dialog.
2020-03-26 17:53:34 +01:00
Gymnasiast da2ba0b023
snake_case to camelCase
This is mostly to trigger a rebuild for openrct2.org
2020-03-26 14:12:01 +01:00
Daan de Heij 9eee58622e
Docs: Add missing directories in readme.md (#11006)
Add missing directories in the source directory structure readme, with a short description to each. Additionally, change the order of 'management' and 'order' such that they are now in alphabetical order.
2020-03-26 12:23:57 +01:00
Duncan 40160892a9
Rework GuestList to use a vector. (#11014)
* Rework GuestList to use a vector.

This is part of a chain of refactors that will be used to rework peep order in the sprite list

* Apply comments. Remove setting var_492 as no longer required
2020-03-26 07:23:30 +00:00
Michael Steenbeek 9dfe5af851
Add remark about track designs with 5 stations (#11051) 2020-03-26 05:53:49 +00:00
Michał Janiszewski 95e2590207
Fix #11043: Null banner object had method called on itself (#11049) 2020-03-25 22:57:15 +01:00
Michael Steenbeek 268e81c21b
Fix mistake in #11029 (#11044) 2020-03-25 20:52:08 +00:00
Michael Steenbeek 3f473ec3f0
Fix #6123: Cannot build some track designs with 4 stations (#11031) 2020-03-25 14:20:29 +01:00
Michael Steenbeek 766339d771
Fix #11027: Third color on walls becomes black when saving (#11029) 2020-03-25 13:57:15 +01:00
Aaron van Geffen 302fe1cb2b
Merge pull request #10926 from IntelOrca/zoom-refactor
Zoom refactor
2020-03-24 23:28:32 +01:00
Michał Janiszewski 4f6e77e30a Release 0.2.5
- Feature: [#3154] Use a random title sequence each time it is shown.
- Feature: [#6553] Android version now runs in full screen.
- Feature: [#7865] Transport rides can now be synchronised.
- Feature: [#9073] Shortcut keys for the Tile Inspector.
- Feature: [#10305] Add two shortcuts for increasing and decreasing the scaling factor.
- Feature: [#10189] Make Track Designs work in multiplayer.
- Feature: [#10357] Added window for scenery scatter tool, allowing for area and density selection.
- Feature: [#10637] Console command to remove all floating objects.
- Change: [#1164] Use available translations for shortcut key bindings.
- Change: [#10997] Speed is automatically reset to normal upon scenario completion.
- Fix: [#2485] Hide Vertical Faces not applied to the edges of water.
- Fix: [#5249] No collision detection when building ride entrance at heights > 85.5m.
- Fix: [#6766] Changelog window doesn't open on some platforms.
- Fix: [#7784] Vehicle tab takes 1st car colour instead of tab_vehicle's colour.
- Fix: [#7854] Cannot build a custom spiral roller coaster design.
- Fix: [#7854] Empty entries in spiral roller coaster designs list.
- Fix: [#8151] Game freezes upon demolishing mazes at odd heights.
- Fix: [#8875] RCT1 competition scenarios are classified incorrectly.
- Fix: [#10176] Mistake in the sprite for the land tool's 6x6 grid.
- Fix: [#10196] Doors unable to be placed at end of track corners.
- Fix: [#10228] Can't import RCT1 Deluxe from Steam.
- Fix: [#10313] Path furniture can be placed on level crossings.
- Fix: [#10325] Crash when banners have no text.
- Fix: [#10376] No ratings generated when a shop and track intersect.
- Fix: [#10420] Money effect causing false positive desync.
- Fix: [#10477] Large Scenery cannot be placed higher using SHIFT.
- Fix: [#10489] Hosts last player action not being synchronized.
- Fix: [#10543] Secondary shop item prices are not imported correctly from RCT1 saves.
- Fix: [#10547] RCT1 parks have too many rides available.
- Fix: [#10587] Update last action coordinates on correct player.
- Fix: [#10631] Game bugs out and crashes if you get too many stations via copying stations with the tile inspector.
- Fix: [#10662] Duck cheat tooltips look odd and do not explain anything.
- Fix: [#10694] The lift hill speed of the flying roller coaster cannot be changed (original bug).
- Fix: [#10705] Apply multithreaded rendering to all viewports.
- Fix: [#10739] Mountain tool overlay for even-numbered selections.
- Fix: [#10752] Mute button state not correctly set at startup.
- Fix: [#10822] Can place too many peep spawns.
- Fix: [#10898] Banner text has an offset in tile inspector window.
- Fix: [#10904] RCT1/LL-scenarios with red water won't open.
- Fix: [#10941] The Clear Scenery tool gives refunds for ghost elements.
- Fix: [#10963] Light effects are drawn off-centre in some rotations.
- Fix: [#10993] Bottom toolbar not refreshing when a guest leaves the park.
- Fix: [#11001] Rides list does not use natural sorting.
- Fix: [objects#54] Stage Coach cars are not considered covered by the game.
- Fix: [objects#56] Handymen cut grass incorrectly.
- Improved: [#682] The staff patrol area is now drawn on the water, instead of on the surface under water.
- Improved: [#10858] Added horizontal grid lines to finance charts.
- Improved: [#10884] Added y-axes and labels to park window charts.
- Improved: [#10970] Introduced optional light effects for vehicles at night.
- Removed: [#6898] LOADMM and LOADRCT1 title sequence commands (use LOADSC instead).
2020-03-24 21:46:30 +01:00
Daan de Heij 3dc0110fe1
Fix #10993: Guest Count Intent Not Listened To (#11008)
* Fix #10993: Guest Count Intent Not Listened To

Because of a missing intent case, the guest count did not redraw whenever a guest leaves.

* Update changelog.

Co-authored-by: Aaron van Geffen <aaron@aaronweb.net>
2020-03-24 18:35:00 +00:00
Tulio Leao 3e2533ac50
Fix #11001: Rides list does not use natural sorting (#11007) 2020-03-23 22:33:57 +01:00
Michael Steenbeek e66a6754f5
Remove some hardcoded numbers (#11004) 2020-03-23 19:12:57 +01:00
Aaron van Geffen 34d8572d85 Patch GCC9 in more places. 2020-03-23 17:42:16 +01:00
Ted John bd0265f1bc Fix GCC9 2020-03-23 16:37:18 +00:00
Ted John b5c6b968df Remove printf comment 2020-03-23 15:54:04 +00:00
Ted John c93edb9749 Update min zoom 2020-03-23 15:54:04 +00:00
Ted John 0e539fffe0 Make constructor default 2020-03-23 15:54:04 +00:00
Ted John 1af2720518 Create stub magnify versions of software blitters 2020-03-23 15:54:04 +00:00
Ted John 6e7a7c23c9 Fix odd issues at certain positions of the map 2020-03-23 15:54:03 +00:00
Ted John d34dec9c27 Create ZoomLevel struct to add two new zoom levels 2020-03-23 15:54:03 +00:00
Aaron van Geffen a2f8e8c72b
Automatically reset speed to normal upon scenario completion. (#10998) 2020-03-22 23:22:28 +01:00
Gymnasiast 0f8fec1413
Fix #10631: Assertion fails when modifying copied station pieces 2020-03-21 18:43:34 +01:00
Gymnasiast 2f7a26e8da
Refactor station index a bit 2020-03-21 17:05:16 +01:00
Michael Steenbeek 32e589efbe
Make _appropriateImageDropdownItemsPerRow a constexpr (#10990) 2020-03-21 15:22:18 +01:00
Gymnasiast ceec430ae1
Raise max size of dropdowns to 512 items 2020-03-20 21:48:27 +01:00
Gymnasiast 416dc22f35
Guard access to appriopriate image items per row 2020-03-20 21:48:27 +01:00
Michael Steenbeek ab50c888ff
Merge pull request #10981 from Gymnasiast/fix/8151
Fix #8151: Game freezes upon demolishing mazes at odd heights
2020-03-20 21:38:12 +01:00
Gymnasiast cd18697d31
Bump network version 2020-03-20 21:37:57 +01:00
Michael Steenbeek 5d87ea3a43
Convert objects limits to constexpr (#10984) 2020-03-20 21:10:07 +01:00
Duncan 7c03e0b589
Merge pull request #10974 from Gymnasiast/refactor/replace-some-register-usage
Replace some register usage
2020-03-20 20:08:28 +00:00
Michael Steenbeek ef1906d452
Use constants for max sprites and spatial index (#10983) 2020-03-20 20:16:38 +01:00
Michael Steenbeek c519512cfe
Create ObjectEntryIndex (#10980) 2020-03-20 19:28:39 +01:00
Ted John c89cecb2b5
Refactor the ride type to entry map (#10967)
Use C++ vectors and allow larger ride entry indices (> 256)
2020-03-20 18:07:31 +01:00
Gymnasiast e433ed7d7c
Fix #8151: Game freezes upon demolishing mazes at odd heights
Co-Authored-By: Felix Pelletier <felixpelletier@users.noreply.github.com>
2020-03-20 16:06:12 +01:00
Michael Steenbeek 4cc2bc469a
Fix station number check (#10979) 2020-03-20 13:10:40 +01:00
WantDiscussion 828eef7411
Introduced optional light effects for vehicles at night. (#10970) 2020-03-20 11:47:31 +01:00
Michael Steenbeek ba8a4e6183
Fix date display for non-American locales on *nix (#10949) 2020-03-20 00:10:15 +01:00
Gymnasiast ff28654af0
Replace registers in surface paint 2020-03-19 17:21:06 +01:00
Gymnasiast 04a6eaea3f
Replace registers in vehicle_update_track_motion_forwards_get_new_track() 2020-03-19 17:20:44 +01:00
Aaron van Geffen 91301eb0d0
Add Noto Sans as a TTF font alternative for Japanese. (#10971) 2020-03-19 12:36:33 +01:00
Michael Steenbeek cb40a726ad
Bump network version 2020-03-19 10:49:18 +01:00
Michael Steenbeek b73098ba21
Fix #10902: Resetting ride let guest out in the air (#10968) 2020-03-18 22:22:25 +01:00
Michael Steenbeek d86dce17e8
Prepare object indices for uint16_t (part 2) (#10966) 2020-03-18 21:27:53 +01:00
Michael Steenbeek ae6e53153b
Merge pull request #10922 from Gymnasiast/cleanup-scenery
Cleanup scenery
2020-03-18 18:44:27 +01:00
Gymnasiast 459a0318cf
Implement review requests 2020-03-18 16:22:08 +01:00
WantDiscussion d6c7aaf69c
Fix: Light effects are drawn off-centre in some rotations 2020-03-18 15:04:57 +01:00
Aaron van Geffen e27a1a230a
Fix regression in boat hire pathfinding (#10958)
This doesn't fix the guests falling into the water (#10902), but it does fix the spotty pathfinding.
2020-03-18 10:52:27 +01:00
Aaron van Geffen a56a3fb804
Fix #6766: Changelog window won't open (#10954) 2020-03-17 21:38:15 +01:00
Aaron van Geffen 2f05033f14 Position dropdown and spinner label texts vertically, too. 2020-03-17 00:35:25 +01:00
Aaron van Geffen 340f6522dd Increase the height of various price/loan/duration spinner widgets. 2020-03-16 23:46:33 +01:00
Aaron van Geffen f3765646c5 Increase height for button heights in text input window.
Also fixes the formatting for the widgets array.
2020-03-16 23:46:17 +01:00
Aaron van Geffen 8c0186d9a4 Make file window button captions fit in more languages.
The window is made 10px wider to accommodate button captions in languages like Japanese.
2020-03-16 22:56:04 +01:00
Aaron van Geffen fc70d6c851 Increase research dropdown heights. 2020-03-16 22:56:04 +01:00
Michael Steenbeek fd91c41a76
Name remaining ride type flags (#10947) 2020-03-16 22:52:06 +01:00
Aaron van Geffen dbeef78778
Fix #10914: Missing sounds, including guest purchase sound (#10948)
Regression from 09fad0ef7f (part of #10854).
2020-03-16 22:51:32 +01:00
Michael Steenbeek 9fda7762e5
Fix #10942: Cut-away view is broken (#10945) 2020-03-16 21:47:38 +01:00
Michael Steenbeek 25358374b2
Bump network version 2020-03-16 19:45:39 +01:00
Gymnasiast be4f723287
Avoid writing outside _researchedSceneryItems bounds 2020-03-16 14:04:02 +01:00
jeysbach 568b19e7b3
Feature #10637: Console command for removing floating objects 2020-03-16 09:48:26 +01:00
Michael Steenbeek e32518208f
Fix Clear Scenery refunding ghost tile elements (#10941) 2020-03-15 23:26:32 +01:00
Gymnasiast 2d5e2bb149
Fix copyright date 2020-03-15 18:04:39 +01:00
X123M3-256 7219c880e2
Allow opening rides with unsuitable track when "Enable all drawable track pieces" cheat is on. (#10923)
Co-authored-by: Edward Calver <hx010973@reading.ac.uk>
2020-03-15 14:11:04 +01:00
Aaron van Geffen 1331283f9a
Update third-party ghc::filesystem to version 1.3.0. (#10939) 2020-03-15 13:50:56 +01:00
Gymnasiast 567e70bfb6
Pass ScenerySelection as const & 2020-03-15 13:28:20 +01:00
Gymnasiast 5ba5daca42
Make ScenerySelection implementation a bit cleaner 2020-03-15 13:19:26 +01:00
Gymnasiast 70e287b076
Clean up scenery handling 2020-03-15 12:15:12 +01:00
Michael Steenbeek 18ebe73dfa
Replace object_entry_get_type() with method (#10937) 2020-03-15 12:07:04 +01:00
Michael Steenbeek c31ef8e635
Extract vehicle subposition data to its own file (#10912) 2020-03-15 11:27:45 +01:00
Gymnasiast bdf681f440
Clean up many other coordinates 2020-03-13 12:03:43 +01:00
Gymnasiast 3412c47a9e
Convert some Guest functions to methods 2020-03-13 10:50:22 +01:00
Gymnasiast cf945f7656
Clean up collide coords 2020-03-13 10:36:45 +01:00
Michael Steenbeek 9b5e8140f9
Fix #10919: Crash when assertion fails in heavily damaged park (#10921) 2020-03-13 10:35:03 +01:00
Duncan 3003e1de75
Fix #10602: Error adding track scenery additions far from station start
Issue caused due to stuffing a temporary unsigned variable in a signed variable. This fix is not a permanent fix and this field in the future should be split up into two separate fields: tile position and relative tile position.

Co-authored-by: Gymnasiast <m.o.steenbeek@gmail.com>
2020-03-13 09:32:05 +01:00
Michael Steenbeek de6e6e9d8f
Bump network version 2020-03-12 22:45:40 +01:00
Michael Steenbeek 5d5284cc22
Merge pull request #10886 from Gymnasiast/refactor/more-big-coords
Refactor/more big coords
2020-03-12 15:39:53 +01:00
Gymnasiast 9fd2b883a8
Apply review request 2020-03-12 15:27:58 +01:00
Michael Steenbeek e29149e455
Deduplicate flat/regular ride track blocks (#10911) 2020-03-12 11:04:52 +01:00
Aaron van Geffen dfe1c8dea8 Use COMMA32 instead of UINT16 for future-proofing; amend changelog. 2020-03-11 19:25:32 +01:00
Aaron van Geffen 64e2edd285 Add y-axis labels and guides to park guests chart. 2020-03-11 19:24:37 +01:00
Aaron van Geffen 7be46934ea Add y-axis labels and guides to park rating chart. 2020-03-11 19:24:36 +01:00
Aaron van Geffen 9c5f1248d5 Resize park rating and guests' tabs to accomodate y axis labels. 2020-03-11 19:24:36 +01:00
Michael Steenbeek 8113c89f9b
Fix #10904: RCT1/LL-scenarios with red water won't open (#10905)
Co-authored-by: Ted John <ted@brambles.org>
2020-03-11 19:21:02 +01:00
Michael Steenbeek e441019b04
Refactor rct_track_preview flags (#10906)
* Refactor rct_track_preview flags

* Zero-index rct_track_preview flags
2020-03-11 15:53:16 +00:00
Aaron van Geffen aef748af14
Merge pull request #10901 from Gymnasiast/refactor/guest-window-many-pages
Prepare guest window for more than 5 pages
2020-03-10 20:05:19 +01:00
Michael Steenbeek 3791de21c8
Fix #10871: Building tall pieces underground results in 'Too high!' (#10907) 2020-03-09 22:11:47 +01:00
Michael Steenbeek e1427df59f
Fix #10899: Position of money animation is incorrect (#10903) 2020-03-09 15:00:13 +01:00
Gymnasiast a0e14a66d9
Prepare guest window for more than 5 pages 2020-03-09 11:54:49 +01:00
Hielke Morsink 8737d3c2f0
Fix #10898: banner text has an offset in tile inspector window (#10900)
Interesting how this only gets reported now, it has been broken for 8 months already. It's likely a copy-paste error from 61d64ab8c5.
2020-03-08 23:02:55 +01:00
Michael Steenbeek 60f768e966
Fix #10822: Can place too many peep spawns (#10889) 2020-03-08 21:17:41 +01:00
Michael Steenbeek bc3d87e476
Bump network version
https://github.com/OpenRCT2/OpenRCT2/pull/10866 should have bumped this.
2020-03-08 12:50:35 +01:00
Michael Steenbeek ba49850195
Fix errors and apply requests 2020-03-08 11:23:20 +01:00
Gymnasiast 02c135e4fa
Clean up many staff functions 2020-03-07 23:07:47 +01:00
Gymnasiast 5f96a121ae
Apply ScreenCoordsXY to some functions 2020-03-07 22:25:42 +01:00
Gymnasiast 27af60f062
More CoordsXYZ(D) conversion 2020-03-07 22:14:29 +01:00
Gymnasiast ad91654a3d
Use big Z in more places 2020-03-07 21:54:47 +01:00
Gymnasiast 7759b54c2f
Make PeepPickupAction *actually* take a CoordsXYZ 2020-03-07 21:34:04 +01:00
Gymnasiast 5dc4b3e136
Make tile_element_insert take CoordsXYZ 2020-03-07 21:28:36 +01:00
Michael Steenbeek be13c1fc87
Refactor more TileCoords 2020-03-07 21:07:18 +01:00
Michael Steenbeek 4f86d0115c
Merge pull request #10866 from Gymnasiast/refactor/more-tile-element-prep
Refactor/more tile element prep
2020-03-06 09:25:32 +01:00
Michael Steenbeek d64b73c29a
Clean up RCT1/2 constants (#10855) 2020-03-05 22:49:16 +01:00
Michael Steenbeek 904cad77b5
Merge pull request #10864 from Gymnasiast/refactor/station-starts
Change station starts to CoordsXY
2020-03-05 22:48:53 +01:00
Michael Steenbeek f7151317b4
Translate SV6 object offsets to OpenRCT2 ones (#10881) 2020-03-05 22:14:50 +01:00
Gymnasiast 9c7c57f722
Apply review request 2020-03-05 21:25:58 +01:00
Michael Steenbeek ae3ca0b2b0
Merge pull request #10880 from Gymnasiast/refactor/some-define
Replace some hard coded numbers with constants
2020-03-05 20:53:16 +01:00
Michał Janiszewski 92e5958ab6
Improve WinNT 5.1/MinGW support (#10869) 2020-03-05 19:35:23 +01:00
Gymnasiast dcf4301559
Use constant for invalid direction 2020-03-05 18:27:36 +01:00
Gymnasiast 33d2155529
Use define for some remapping instructions 2020-03-05 18:15:03 +01:00
Michael Steenbeek 0782692d58
Replace hardcoded scenery offsets (#10879) 2020-03-05 17:54:10 +01:00
Michael Steenbeek d085a0ed20
Split OBJECT_ENTRY_COUNT into RCT2/OpenRCT2 variants (#10877) 2020-03-05 17:25:57 +01:00
Gymnasiast 2eb967b30d
Change station start to CoordsXY 2020-03-05 12:29:02 +01:00
Michael Steenbeek 8351a0477d
Merge pull request #10854 from tupaschoal/coords-3
Increase usage of ScreenCoordsXY on viewport functions and structs
2020-03-05 12:21:04 +01:00
Michael Steenbeek 5e2b1180f8
Fix Viewport.cpp copyright header (#10874) 2020-03-05 12:15:51 +01:00
Gymnasiast 8883f428ba Clean up window vars 2020-03-05 08:03:38 -03:00
Tulio Leao 8056d050c9 Remove unused variables from rct_window 2020-03-05 08:03:38 -03:00
Tulio Leao d0717c2748 Remove padding from rct_window 2020-03-05 08:03:33 -03:00
Gymnasiast c9afcaa5b3
Fix errors 2020-03-05 00:09:39 +01:00
Gymnasiast 3ed7694495
Move tile element-specific flags 2020-03-04 22:01:09 +01:00
Gymnasiast 57a40c0657
Extend PathElement 2020-03-04 21:57:42 +01:00
Gymnasiast 383d5d99e1
Change entry index size of Small and Large scenery elements 2020-03-04 15:57:54 +01:00
Gymnasiast 1b38289490
Move scenery_update_age to SmallScenery member function 2020-03-04 15:48:17 +01:00
Michael Steenbeek 22768ea915
Merge pull request #10596 from tupaschoal/pr-10070-copy
Remove global variable for sound param list
2020-03-04 11:06:22 +01:00
Daan de Heij 88fcba35ec
Fix #10662: Improve duck cheat tooltips
Co-authored-by: Thijs Versfelt <40113382+thversfelt@users.noreply.github.com>
2020-03-03 23:25:22 +01:00
Tulio Leao 724a6d4dcf Make rct_window use ScreenCoordsXY 2020-03-02 20:51:01 -03:00
Tulio Leao 2cfac98342 Make gSavedView use ScreenCoordsXY 2020-03-02 20:51:01 -03:00
Tulio Leao 8b36cce37c Make _lastMainViewport use ScreenCoordsXY 2020-03-02 20:51:01 -03:00
Tulio Leao 09fad0ef7f Change rct_viewport to use ScreenCoordsXY 2020-03-02 20:50:58 -03:00
Tulio Leao 87f724d038 Use Coords objects for viewport_create() 2020-03-02 20:49:59 -03:00
Peter Ryszkiewicz e322519025
Added horizontal grid lines to finance charts (#10851)
Co-authored-by: Aaron van Geffen <aaron@aaronweb.net>
2020-03-02 21:59:05 +01:00
Michael Steenbeek 88a3185715
Make draw_mini_preview_get_pixel_position() take const 2020-03-02 12:36:49 +01:00
Gymnasiast cded8313d7
Replace many occurrences of LocationXY16 2020-03-01 22:15:28 +01:00
Michael Steenbeek 61175a4fbf
Confine use of LocationXY8 to RCT12 load/save code (#10698) 2020-03-01 21:16:10 +01:00
Michael Steenbeek d5c4d78d49
Move vehicle track location to CoordsXYZ (#10856)
* Move vehicle track location to CoordsXYZ

Co-authored-by: Tulio Leao <tupaschoal@gmail.com>
2020-03-01 15:45:51 -03:00
Tulio Leao 0aab236c01 Use vector for soundParamList instead of array 2020-03-01 14:29:17 -03:00
UltimaBGD 2d35c50a9a Refactor gVehicleSoundParamsList to use std::array 2020-03-01 14:29:17 -03:00
Michael Steenbeek 5f0db41e48
Process @duncanspumpkin 's feedback on #10830 (#10853) 2020-03-01 14:39:18 +01:00
Michael Steenbeek e3f5eb7275
Merge pull request #10847 from tupaschoal/const-ref-coords
Prefer const ref to send (Tile)CoordsXY(ZD) over
2020-03-01 14:38:39 +01:00
Michael Steenbeek d395d67b95
Merge pull request #10846 from tupaschoal/const-ref-screencoords
Prefer const ref to send ScreenCoordsXY over
2020-03-01 14:17:51 +01:00
Tulio Leao 2da96e8cfc Revert to copy instead of const-ref for functions that edit content 2020-03-01 09:57:03 -03:00
Tulio Leao 91c4735917 Revert to copy instead of const-ref for functions that edit content 2020-03-01 00:49:00 -03:00
Tulio Leao 9bcd20e0e6 Prefer const ref to send ScreenCoordsXY over 2020-02-29 08:25:48 -03:00
Tulio Leao 475eed0a56 Receive CoordsXY by const ref instead of copy 2020-02-29 01:16:19 -03:00
Tulio Leao b9186f4b0b Receive TileCoordsXYZ by const ref instead of copy 2020-02-29 01:16:16 -03:00
Tulio Leao 181eaf768d Receive CoordsXYZ by const ref instead of copy 2020-02-29 01:14:05 -03:00
Tulio Leao 473bb4683b Receive (Tile)CoordsXYZD by const ref instead of copy 2020-02-29 01:09:24 -03:00
ζeh Matt b86854a259
Fix #10587: Update last action coordinates on correct player (#10845) 2020-02-28 16:23:41 +01:00
Michael Steenbeek e36d8f03e6
Implement #10666: ShowMessageBox on Android (#10817) 2020-02-24 13:48:32 +01:00
Michael Steenbeek 938f2a891f
Implement #682: Staff patrol area now drawn on the water (#10830) 2020-02-24 13:47:28 +01:00
Michael Steenbeek 270417f788
Merge pull request #10819 from Gymnasiast/refactor/even-more-rtd
Move track paint function lookup to RTDs
2020-02-24 10:56:43 +01:00
pizza2004 57605f36e3
Fix #2485: Hide Vertical Faces not applied to water 2020-02-23 21:32:57 +01:00
Michael Steenbeek 18f60fa987
Merge pull request #10821 from Gymnasiast/refactor/special-pieces-for-track
Refactor custom track piece handling
2020-02-23 21:29:12 +01:00
Michael Steenbeek 6d7a2bea69
Merge pull request #10818 from tupaschoal/coords-xy-2
Use ScreenCoordsXY for some window interactions
2020-02-23 13:23:50 +01:00
Tulio Leao 98781e7596 Revert change to commented line 2020-02-23 09:19:45 -03:00
Aaron van Geffen 423ed90112
Fix #10815: Vertical alignment of scatter tool area size label. (#10823) 2020-02-23 10:57:38 +01:00
Gymnasiast 93926d5e5d
Move all the ride type-specific track categories to regular ones 2020-02-22 23:20:12 +01:00
Gymnasiast dc04c5ec95
Refactor custom track piece handling 2020-02-22 23:01:34 +01:00
Michael Steenbeek e2e7079f17
Fix YaHei detection (#10820) 2020-02-22 22:35:51 +01:00
Gymnasiast 63430412be
Move TrackDataOld.cpp to Testpaint project 2020-02-22 20:29:35 +01:00
Gymnasiast 08ad1816d3
Move track paint function to RTDs 2020-02-22 20:15:00 +01:00
Michael Steenbeek 86a79e742f
Use RideTypeDescriptor for available track pieces 2020-02-22 20:13:44 +01:00
Tulio Leao 1b3f0e9a44 Create ScreenCoordsXY gSavedView from separate x,y variables 2020-02-22 16:01:21 -03:00
Tulio Leao 47025c45b4 Make setMainView() use ScreenCoordsXY 2020-02-22 16:01:21 -03:00
Tulio Leao 826478a8ef Use ScreenCoordsXY on UiContext.cpp 2020-02-22 16:01:20 -03:00
Michael Steenbeek 4c2a0f279b
Fix #10752: Mute button state not correctly set at startup (#10816) 2020-02-22 19:20:14 +01:00
Michael Steenbeek 86c7dbf1d5
Fix #7854: Cannot build custom Spiral RC; dummy entries in track designs list (#10814) 2020-02-22 19:06:57 +01:00
Michael Steenbeek e16a53df1d
Fix #10694: Lift hill speed of the Flying RC cannot be changed 2020-02-22 18:47:33 +01:00
Aaron van Geffen 9278ef7c61 Move ownership of scatter globals; delegate cleanup to close event. 2020-02-22 17:25:29 +01:00
Aaron van Geffen 5d9bcc083c Remove unused update event. 2020-02-22 17:25:29 +01:00
Aaron van Geffen aa6d6efe99 Refactor common parts of branched code.
Change shifts to COORDS_XY_STEP multiplication.
2020-02-22 17:25:29 +01:00
Aaron van Geffen 2528e94b48 Introduce low, medium, and high density buttons to the scatter tool.
Change window lay-out to more closely resemble others by introducing
density buttons, along with new sprites.

The amount of elements varies by density as follows:
* Low: number of elements equal to tool size
* Medium: twice as many elements as the tool size
* High: three times as many elements as the tool size.

Remove extraneous 'retry' clause.
2020-02-22 17:25:19 +01:00
Aaron van Geffen 642de8d11a Change gWindowSceneryScatterEnabled to bool, remove hack. 2020-02-22 17:20:46 +01:00
Aaron van Geffen cc9498e9a6 Revert changes to default scatter/cluster size. 2020-02-22 16:18:35 +01:00
Aaron van Geffen 6f029055a3 Make scatter window themeable; default to scenario window style. 2020-02-22 16:18:35 +01:00
Anton Scharnowski e6e48363de Introduce Scenery-Scatter Tool Window. 2020-02-22 16:18:19 +01:00
Tulio Leao 1ea9015315
Use CoordsXY(Z) in more places 2020-02-22 14:20:28 +01:00
ζeh Matt 12ab1e9633
Fix #10713: Correctly encode network ride id over network (#10802)
It byte swapped uint16_t and then during decode byte swapped it as uint32_t, now it always uses uint32_t for ride/player id. I could use the underlying type but that would require to re-create all replays again.

Closes #10713
2020-02-21 18:11:26 +01:00
Michael Steenbeek 08ca829ac2
Create RideTypeDescriptors (#10707) 2020-02-20 11:00:03 +01:00
ζeh Matt 1272c0c043
Crash using benchspritesort with dimensions not divisible by 32 (#10743)
Fixes #10740
2020-02-19 21:50:13 +01:00
Aaron van Geffen 947903fefb
Mountain tool overlay in land tool window (#10739) 2020-02-19 11:17:11 +01:00
Aaron van Geffen dd869c8c0a
Fix #10176: Mistake in sprite for the land tool's 6x6 grid. (#10735) 2020-02-19 09:45:00 +01:00
Michael Steenbeek f41f878581
Replace some usages of LocationXY(Z)16 (#10699) 2020-02-18 22:42:38 +01:00
Ted John a8b5304786
Remove exe / com wrapper around openrct2.dll for Windows (#10727)
We get repeated reports of people saying the game is incorrectly reported as a virus. It is becoming more inconvenient for players and even myself, because when we attempt to download a build, it is immediately deleted by scanners (including the default for Windows: Windows Defender).

One scanner is not too much of an issue, but the game is flagged by almost half of available scanners as reported by VirusTotal.

So why is it being flagged?

Windows has a very annoying concept, the subsystem for a binary. The console subsystem allows stdin / stdout as you would expect, just like posix. Unfortunately if a user runs a console subsystem binary from the desktop or explorer, the game will be opened under conhost and thus you get a console showing alongside the game window. This is not a good user experience for most players. To resolve this, you can use the windows subsystem, but this will detach stdin and stdout immediately on launch. There are hacks that can be done in code to allocate a new console but I found this to not work very well with stdin or other terminal emulators.

My solution to the problem was to have two binaries: openrct2.exe and openrct2.com. Both are executable but openrct2.exe is windows subsystem, openrct2.com is console subsystem. The desktop shortcut opens openrct2.exe with no console window showing. Typing openrct2 on the command line will execute openrct2.com (as .com has higher PATH precedence than .exe by default) with working stdin and stdout. In order to reduce the size, I have the entire game inside openrct2.dll and then supply two tiny wrapper EXEs that simply route main(...) into the DLL.

These wrapper EXEs are the problem, they are very small and do nothing but call into a DLL, this must match virus signatures too closely and their size probably reduces the data available for the scanner to analyse.

So as I can not find any other way of achieving my goal of a cli and gui version of OpenRCT2, this changes the build to publish openrct2 as a single executable (rather than a DLL + wrapper EXE), and then duplicate the entire ~10MB exe again and flip the subsystem flag. The installer and zip size won't be affected as this extra size will be completely compressed out, but when unpacked will lead to an extra ~10MB on disc. But I think it is a fair compromise.

VirusTotal now reports all artefacts as safe, for now anyway.
2020-02-18 11:35:27 +00:00
Michał Janiszewski d3db4f5cf8
Fix GCC10 warnings (#10703)
The warnings reported were:
```
../src/openrct2/peep/GuestPathfinding.cpp: In function ‘Direction peep_pathfind_choose_direction(TileCoordsXYZ, Peep*)’:
../src/openrct2/peep/GuestPathfinding.cpp:1371:81: error: ‘void* memset(void*, int, size_t)’ writing to an object of non-trivial type ‘struct<unnamed>’; use assignment instead [-Werror=class-memaccess]
 1371 |             std::memset(_peepPathFindHistory, 0xFF, sizeof(_peepPathFindHistory));
      |                                                                                 ^
../src/openrct2/peep/GuestPathfinding.cpp:35:1: note: ‘struct<unnamed>’ declared here
   35 | {
      | ^

../src/openrct2/world/Sprite.cpp: In function ‘void reset_sprite_list()’:
../src/openrct2/world/Sprite.cpp:152:52: error: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘union rct_sprite’; use assignment or value-initialization instead [-Werror=class-memaccess]
  152 |     std::memset(_spriteList, 0, sizeof(_spriteList));
      |                                                    ^
In file included from ../src/openrct2/world/Sprite.cpp:10:
../src/openrct2/world/Sprite.h:117:7: note: ‘union rct_sprite’ declared here
  117 | union rct_sprite
      |       ^~~~~~~~~~
```
2020-02-18 00:00:19 +01:00
Tulio Leao 0c4623a39f
Replace typedef aliasing by using (#10712) 2020-02-17 11:43:47 +01:00
ζeh Matt 6039191d16
Merge pull request #10715 from ZehMatt/fix-10705
Fix #10705: Apply multithreaded rendering to all viewports
2020-02-16 22:23:50 +01:00
Michael Steenbeek 1690361b36
Increase size of ride_id_t to 16 bits 2020-02-16 22:21:17 +01:00
Matt 0f50697ceb
Fix unused variable warning 2020-02-16 15:50:35 +01:00
Matt c440b8f918
Fix #10705: Apply multithreaded rendering to all viewports 2020-02-16 14:06:08 +01:00
Michał Janiszewski 38907fd0c7
Fix memory leaks around PNG/sprite handling (#10711) 2020-02-16 07:25:30 +01:00
Matt d6c3373b5e
Remove unused parameter and minor cleanup 2020-02-15 21:28:28 +01:00
Michael Steenbeek 231dd7460a
Use `using` instead of `typedef`
Co-Authored-By: Tulio Leao <tupaschoal@gmail.com>
2020-02-15 18:17:03 +01:00
Gymnasiast 8c776dd61e
Use C++ way for max uint8 value 2020-02-15 14:18:58 +01:00
Michael Steenbeek 9e79432804 Fix compilation on macOS 2020-02-15 11:58:59 +01:00
Gymnasiast b59e37284d
Fix private field warning 2020-02-15 11:18:27 +01:00
Gymnasiast 1e6efa6eb4
Extend BannerIndex to 16 bits 2020-02-15 10:37:34 +01:00
Gymnasiast 1077bf0702
Make room for 255 station indexes in Entrance Element 2020-02-15 09:47:37 +01:00
Gymnasiast e88ee6ee7b
Expand WallElement 2020-02-15 09:47:37 +01:00
Michael Steenbeek a0fb955102
Merge pull request #10590 from tupaschoal/pr-9432
Fix #8064 Ride construction errors shown as (undefined string)
2020-02-14 11:31:43 +01:00
Tulio Leao 60e2546b2d Improve legibility of ride placement # attempt calculation 2020-02-13 23:10:33 -03:00
Michael Steenbeek dbb89b96fb
Clean up scenery window variables (#10697) 2020-02-13 21:24:37 +01:00
Michael Steenbeek 6d97601d6f
Replace hardcoded occurrences of maximum map size (#10696) 2020-02-13 20:27:13 +01:00
Matt c381d9ff3f
Remove obsolete construction of CoordsXY object 2020-02-13 12:11:20 +01:00
Matt 758a7e432f
Use const reference instead of copy for location structures 2020-02-13 11:53:14 +01:00
Michael Steenbeek e53d76ae2e
Fix errors in #10680 (#10692) 2020-02-12 23:11:04 +01:00
Michał Janiszewski 1b7639238a
Fix #9559: benchspritesort is broken after #8481 (#9590)
* Fix #9559: benchspritesort is broken after #8481

This takes multithreading into account as well

* Apply review fixes

* Fix detection of newer Google Benchmark (>= 1.5.0)

* Review fix
2020-02-12 22:18:00 +01:00
Michał Janiszewski 962787a854
Hide paint_arrange_structs_helper from global symbols (#10690) 2020-02-12 11:10:06 +01:00
Duncan b8b539c16e
Modify next_x/y/z to become a CoordsXYZ (#10680)
* Modify next_x/y/z to become a CoordsXYZ

Should be further scope for refactoring from this.

* Make suggested changes

* Fix default construct issues
2020-02-11 22:01:14 +00:00
TusharSariya 3df79cb4d5
Part of #9473: Convert vehicle_update to Vehicle struct method (#10677)
* Issue #9473, moved static void vehicle_update in Vehicle.cpp to a member of the Vehicle struct

* Fix formatting

Co-authored-by: Michael Steenbeek <m.o.steenbeek@gmail.com>
2020-02-11 11:44:05 +00:00
Tulio Leao d0b255d98b Start zAttemps from 0 2020-02-10 21:55:21 -03:00
Tulio Leao e79584fe24 Remove superflous if 2020-02-10 21:55:21 -03:00
Tulio Leao 6522b10dfa Make Z attempts crescent 2020-02-10 21:55:21 -03:00
Tulio Leao fabef9b050 Modify height search to also affect maze construction 2020-02-10 21:55:19 -03:00
aw20368 d2e5c29ce0 review changes (squash) 2020-02-10 21:54:41 -03:00
aw20368 c76378bc8b Fix #8064 Ride construction errors shown as (undefined string)
The search for height to build track ended at a half-height, leading to (undefined string) error. Changed to always end at whole height and search as high as possible.
2020-02-10 21:54:26 -03:00
Michael Steenbeek 723f658dbd
Change ride_idnew_t to 16 bit; use it in more places (#10667) 2020-02-10 22:41:49 +01:00
Ted John 4e032aeff0 Improve WinHttp code 2020-02-08 18:11:08 +00:00
Ted John 4af69555d1 Improve WinHttp logic / code 2020-02-08 17:47:03 +00:00
Ted John be9cb19df5 Replace cURL with WinHttp implementation on Windows
This reduces the number of third party dependencies for Windows builds. WinHttp is quite a nice straight forward API so doesn't involve too much extra code.
2020-02-08 17:47:03 +00:00
Michael Steenbeek d16fbb0cd2
Change ride->overall_view to CoordsXY (#10673) 2020-02-08 17:19:59 +01:00
Michael Steenbeek 5da4903430
Fix #10629: Footpaths on the ground do not cost money (#10671) 2020-02-08 16:29:14 +01:00