Commit Graph

6582 Commits

Author SHA1 Message Date
Gymnasiast c85960abee
Fix Junior RC booster G2 offsets 2020-08-26 11:58:15 +02:00
Tulio Leao 02d1c5afca
Merge pull request #12771 from tupaschoal/fix-12764
Fix #12764: Rides don't start aged anymore
2020-08-25 21:51:57 -03:00
Tulio Leao efdb7e1a2d Change gDateMonthsElapsed type to int32_t 2020-08-25 19:06:38 -03:00
Michał Janiszewski 30e452d76c
Fix null dereference in place_provisional_track_piece (#12777) 2020-08-25 23:20:40 +02:00
Michał Janiszewski 3d12dfec3e
Part of #11437: Refactor Win32 RemoveFileAssociations to Platform2 (#12773)
Additionally fixes missing changes from previous refactor in #12036 that
borked WinNT 5.1 support
2020-08-25 23:20:24 +02:00
Tulio Leao 10aca0fe6e Fix #12764: Rides don't start aged anymore 2020-08-25 08:21:34 -03:00
ceeac 8f8eb81326
Fix #12740: Compile error when DEBUG_LEVEL is 2 or higher in CMake (#12754)
Commit 6607bad did not fully fix this.
2020-08-24 19:56:16 -03:00
frutiemax 4165d64e60
Part of #11159: save_for_network returns unique_ptr (#12163) 2020-08-22 18:56:34 -03:00
Duncan 2660df85ed
Reset sprite spatial index on all inits (#12746) 2020-08-22 05:09:42 +01:00
Sidney 5330f7fb86
closes #12445 Refactor CLIMATE to use strong enum (#12551) 2020-08-21 09:43:57 +01:00
Tulio Leao 6607badad0
Fix #12740: Broken log messages on GuestPathfinding (#12743) 2020-08-20 23:35:04 -03:00
Tom Parsons 9cdae2d1e2
Fix #12401: Refactor SCALE_QUALITY to use strong enum (#12673) 2020-08-20 23:32:56 -03:00
frutiemax d61a749b70
Use CoordsXYZ for sub_98199C in MiniatureRailway.cpp (#12723) 2020-08-20 23:14:56 -03:00
Cory Sanin df5dd4f253
Fix #12737: Space Rings draw the same vehicle 4 times (#12738)
paint_space_rings_structure always used vehicle 0 for it's vehicle reference
2020-08-20 19:04:15 +02:00
Simon J b51e98215a
Fix #12728: Paths made in scenario editor don't connect to the map edge (#12730)
Co-authored-by: Simon Jarrett <simonjjarrett@gmail.com>
2020-08-19 19:51:13 -03:00
Simon Jarrett 31a1d5259c Fix #7037: Unable to save tracks starting with a sloped turn or helix 2020-08-19 00:08:14 +01:00
Simon Jarrett 9fb51c18d4 Fix: Incomplete loop collision box allowed overlap (original bug) 2020-08-18 17:03:35 +01:00
frutiemax 33f3f5cc3b
Use CoordsXYZ for sub_98199C in RiverRapids.cpp (#12289) 2020-08-18 09:27:23 -03:00
Simon J 4c2ce0f892
Remove duplicate TRACK_ELEMENT_LOCATION_IS_UNDERGROUND flag (#12714)
Renamed all instances to ELEMENT_IS_UNDERGROUND

Co-authored-by: Simon Jarrett <simonjjarrett@gmail.com>
2020-08-18 09:26:03 -03:00
Aaron van Geffen 0f6611b6d6 Remove unused disabled tab sprite 2020-08-18 10:13:48 +02:00
Tulio Leao f2af98b3e8
Merge pull request #12690 from ryan-bello/develop
Fix #12433 Refactor STAFF_TYPE to use strong enum
2020-08-18 00:46:49 -03:00
ryan-bello cc2bb33892 changed enum STAFF_TYPE to strong enum StaffType, moved it to Peep.h 2020-08-17 22:59:02 -04:00
frutiemax 9ab1f3b5fe
Close #12336: Remove goto from loc_6A6D7E (#12366) 2020-08-17 23:28:26 -03:00
ryan-bello 54a33cbde8 renamed StaffType to AssignedStaffType 2020-08-17 20:16:09 -04:00
Aaron van Geffen 4a55acd71e Introduce MakeTab wrapper function
The MakeTab function is only applied in two places, for the moment:
the Cheats and Options windows.
2020-08-17 20:59:13 +02:00
Aaron van Geffen 72be84caf8
Remove unused fourth tab from Staff window (#12713) 2020-08-17 20:21:46 +02:00
Aaron van Geffen 135cc10b47 Release v0.3.0 2020-08-15 21:13:50 +02:00
Michał Janiszewski 6dd67296a4 Merge "new version" window back to changelog 2020-08-14 10:18:17 +02:00
Michał Janiszewski ddee3c0e46 Postpone update check until the context gets fully initialised 2020-08-14 10:18:17 +02:00
Michał Janiszewski 6ae5645686 Show update information on main screen & in floppy menu 2020-08-14 10:18:17 +02:00
Michał Janiszewski 55835456a0 Pester users to update to latest release 2020-08-14 10:18:17 +02:00
Michał Janiszewski c8fbffa0e2
Update backtrace token for upcoming release 2020-08-13 23:28:31 +02:00
Matt Thomson a8f8f06e2d
Fix #12402: Refactor MEASUREMENT_FORMAT to use strong enum (#12642)
* Fix #12402: Refactor MEASUREMENT_FORMAT to use strong enum

* Remove redundant default branches

Co-authored-by: Matt Thomson <matt-thomson@users.noreply.github.com>
2020-08-13 21:51:28 +01:00
Michael Steenbeek 33d9fc2b75
Fix #10549: 'Build the best ride you can' objective missing ride name
This is implemented in a way that is compatible with RCT2 (as long as the ride type was not split).
2020-08-13 00:23:08 +02:00
Michael Steenbeek 68ce06e833
Refactor objective handling in Scenario Editor
This moves some knowledge out of the window and into the main code and also cleans up the window a bit.

This also allows setting the "x guests by the end of year y" goal for no money scenarios, which was not the case previously.
2020-08-12 22:10:47 +02:00
ζeh Matt c1076658fc
Merge pull request #12658 from ZehMatt/fix-network-hang
Fix freezes on incomplete packet transmission
2020-08-12 19:00:27 +02:00
Matt 08af1e9be6 Increase network buffer to maximum packet size of 64 KiB 2020-08-12 18:36:12 +02:00
Michael Steenbeek d1b193c06d
Fix #11968: Maze height is higher than it should be 2020-08-12 18:33:15 +02:00
Matt ebc2be4cd0 Fix freezes on incomplete packet transmission 2020-08-12 18:11:09 +02:00
ζeh Matt e464c9e522
Invert the condition (#12645) 2020-08-11 19:29:18 +01:00
Michael Steenbeek 2d56c8d2de
Merge pull request #12636 from Gymnasiast/refactor/to-member-function
Use a 16-bit integer for track type in more places
2020-08-11 17:53:20 +02:00
ζeh Matt ae25af291b
Merge pull request #12631 from ZehMatt/12474-part1
Add more guards in network code
2020-08-11 17:25:22 +02:00
Matt 2a9796f2cc Add more guards in network code 2020-08-11 15:56:09 +02:00
Gymnasiast 89f04c4fb3
Fix names of two track type functions 2020-08-10 23:48:18 +02:00
Gymnasiast 6802011f7d
Use a 16-bit integer for track type in more places 2020-08-10 21:34:10 +02:00
Gymnasiast 9d24655056
Convert track_element_is_block_start() to member function 2020-08-10 21:15:48 +02:00
Michael Steenbeek be0123decb
Fix #12611: Bad check for pay-per-ride ability 2020-08-10 18:56:06 +02:00
ζeh Matt cb38d28b62
Fix #12621: Missing argument for localisation 2020-08-10 14:58:39 +02:00
Michael Lu 7cd6e72edd
Refactor TEMPERATURE_FORMAT to use strong enum (#12610)
* Refactor TEMPERATURE_FORMAT to use strong enum

* Rename TEMPERATURE_FORMAT to TemperatureFormat

* Rename TemperatureFormat to TempueratureUnit
2020-08-09 07:26:46 +01:00
Arran Ireland 89e4714198
Close #12331: Use CoordsXY in track_remove_station_element (#12609)
* Update track_remove_station_element signature

Part of #12331: This commit will update the
signature of track_remove_station_element and
its callers, to use CoordsXYZD.

* Fix track_remove_station_element local vars

Part of #12331: This commit will ensure that
references to the previous arguments in
track_remove_station_element will now use the new
CoordsXYZD argument.

* Refactor remove in track_remove_station_element

Part of #12331: This commit refactors the removeX/Y
to use CoordsXY.

* Refactor station0 in track_remove_station_element

Part of #12331: This commit will refactor stationX/Y0
to use CoordsXY.

* Close #12331 track_remove_station_element refactor

This commit refactors stationX/Y1 to use CoordsXY,
and fixes the smallZ vs bigZ problem in callers of
track_remove_station_element. These are the final
changes for this issue.

* Added operator for CoordsXYZD minus CoordsXY.

This commit adds a missing operator for subtracting
a CoordsXY from a CoordsXYZD. This was needed for
refactoring Track.cpp

* Refactor track_remove_station_element Coord use

This commit utilises the overloaded operators for
Coords and ensures that they are used so that the
function implementation is more readable.

* Close #12331 track_remove_station_element refactor

This commit also fixes a bug in which a small Z
value (the Height of a RideStation) was being
updated with a big Z value without scaling. It
adds a few extra refactors in calls of the
track_remove_station_element function, and
changes the contributors to add ion232.
2020-08-09 07:25:44 +01:00
Arran Ireland 4de58e1fd4
Close #12440: Refactor VEHICLE_STATUS to use strong enum (#12606)
* Close #12440: Refactor VEHICLE_STATUS to use strong enum

* Fix code formatting for VEHICLE_STATUS refactoring

* Refactor VehicleStatus enum to be inside Vehicle

This commit moves VehicleStatus inside Vehicle,
renamed as Status.
2020-08-09 06:24:25 +01:00
Tom Parsons c4ae579a84
Feature #11817: Show authors field in object selection (#12591)
* Feature #11817: Show authors field in object selection

- authors field in JSON shows as last line in bottom right on object selection
- authors field added to Object class
- ObjectFileIndex version bump as authors is serialised

* fix sign comparison warning

* Start object selection corner text higher to avoid overlap

* Use references to reduce unneccessary copies

* make GetAuthors const

* Clip drawing of authors string so it doesn't cross widgets

At max length the leftmost aligns exactly with description left

* Add a changelog message

* make SetAuthors use an rvalue reference

* remove unnecessary nullptr check
2020-08-09 06:23:28 +01:00
Matt c16bdb5c69 Fix #11085: Handle player list before game actions during map load 2020-08-08 20:47:34 +02:00
Arran Ireland 1702c90c8e
Merge pull request #12605 from ion232/refactor-vehicle-type
closes #12439: Refactor VEHICLE_TYPE to use strong enum
2020-08-08 18:41:04 +01:00
Sidney 933570fd62
Close #12442: Refactor SCENARIO_SOURCE to use strong enum (#12608) 2020-08-08 09:38:43 -03:00
Łukasz Pękalski 399e0abe2e
Close #12497: Remove extra SPRITE_INDEX_NULL checks (#12601) 2020-08-08 09:12:52 -03:00
Sidney 93ef28927f
Close #12447: Refactor WEATHER_EFFECT to use strong enum (#12548) 2020-08-07 17:10:59 +01:00
ceeac db010cd971
Fix compile error when compiling with clang-10 (#12599)
<cstddef> is required for size_t (used in CircularBuffer.h)
2020-08-06 16:24:50 +01:00
Tulio Leao be9dca6945
Close #12416: Refactor CURRENCY_AFFIX to use strong enum (#12589)
* Close #12416: Refactor CURRENCY_AFFIX to use strong enum

* Add static assert to check config enum type

Co-authored-by: Matt Thomson <matt-thomson@users.noreply.github.com>
2020-08-05 20:26:18 -03:00
Matt Thomson 788bc1581c Add static assert to check config enum type 2020-08-05 20:48:02 +01:00
ζeh Matt 1f0a5587a0
Merge pull request #12593 from quale/fix10751
Fix #10751: Save mazes in their entirety
2020-08-05 19:18:17 +02:00
quale 9ef3eec47d Fix #10751: Save mazes in their entirety 2020-08-05 18:08:34 +02:00
ζeh Matt 765eada18e
Merge pull request #12526 from ZehMatt/win32-cleanup
Win32 and namespace cleanup
2020-08-05 17:18:50 +02:00
Duncan 3533d1734f
Merge pull request #12571 from ZehMatt/network/update-2
Refactor more network code
2020-08-05 15:55:24 +01:00
Matt 97d14feaa6 Rebase fixes 2020-08-05 16:35:40 +02:00
Matt 0dc43d66e4 Remove the use of INTERFACE macro and macro its self 2020-08-05 16:30:44 +02:00
Matt 83355e35cc Move IStream, MemoryStream, FileStream into OpenRCT2 namespace 2020-08-05 16:29:36 +02:00
Matt 30376085cf Include missing headers 2020-08-05 16:29:29 +02:00
Matt e91e68e3ec Re-phrase the network compatibility comment 2020-08-05 16:19:57 +02:00
Matt 05a9b27136 Fix ByteSwapBE type safety 2020-08-05 16:17:18 +02:00
Tom Parsons 58240cf1ad
Close #12459: Remove unused enum PARK_LOAD_ERROR (#12590)
* Remove unused enum PARK_LOAD_ERROR

A refactoring a couple of years ago removed all uses so it
can safely be removed.

Closes #12459

* Also fix header order for clang-format
2020-08-04 23:26:59 -03:00
Matt Thomson 150100d89f Fix #12416: Refactor CURRENCY_AFFIX to use strong enum 2020-08-04 21:35:59 +01:00
Tom Parsons d9129bca0f
Fix #12405: Make LIGHTFX_LIGHT_TYPE a strong enum (LightType) (#12569)
* Fix #12405: Make LIGHTFX_LIGHT_TYPE a strong enum

* Fix #12405: Make LIGHTFX_LIGHT_TYPE a strong enum

- New strong enum LightType

- Remove unused enum members

- GetLightTypeSize and SetLightTypeSize modify size of light (0-3)

* actually save the change to lightType
2020-08-04 15:55:14 +01:00
Tulio Leao 78053e34d5
Fix #12561: Synchronized coasters not synced (#12572) 2020-08-04 15:51:35 +01:00
pizza2004 156be224f9
Close #12399: Refactor MIXER_GROUP to strong enum (#12531) 2020-08-03 20:51:12 -03:00
Tulio Leao bf0c4c4f0e
Fix #12533: Track designs list does not use natural sorting (#12537) 2020-08-03 20:42:54 -03:00
Duncan 87953ace9b
Fix #12535, #12536: RCT1 import can crash when too many misc entities (#12580)
Eventually this can be fixed properly in the new save format
2020-08-03 20:07:13 -03:00
Duncan 4fcdcc3729
Fix #12581: Divide by zero on dodgems on customised vehicles (#12582)
Likely caused by use of the console or a new plugin
2020-08-03 20:05:22 -03:00
Sidney 31fc1bd225
closes #12454: Remove unused enum EDIT_SCENARIOOPTIONS_* (#12547) 2020-08-03 21:05:43 +01:00
pizza2004 d217dfa9b9
Refactor NewsItem into namespace and Pascal Case (#12511) 2020-08-02 23:14:00 -03:00
Matt 07b343813a Fix passing missing parameter 2020-08-03 00:46:44 +02:00
Matt 28dcaeae2f Refactor reading/writing packets 2020-08-03 00:36:02 +02:00
Matt 21f63c1010 Pass NetworkCommand type as constructor to simplify code 2020-08-02 22:31:00 +02:00
Matt 313b8a7518 Remove std::unique_ptr and use move semantics instead 2020-08-02 22:08:56 +02:00
Matt 224efdbbdf Simplify usage of NetworkPacket::Data 2020-08-02 22:07:47 +02:00
Duncan aa11773da3
Fix #12566, #12565, #12562, #12560, #12558: Nullptr deref (#12567)
Mistake made in refactor meant that a nullptr deref took place when the screen coords were outside of the normal play area
2020-08-02 20:13:09 +01:00
Duncan 733bc5a981
Close #12518: Viewport Refactor (#12541)
* Remove viewport pointer from get_map_coordinates_from_pos

* Removed viewport from get_window

* Return a InteractionInfo from get_map_coord...

* Remove viewport_interaction_info struct

* Add Entity union to simplify code

* Name the enum used for viewport interaction

* Simplify functions further by returning the info struct

* Add default switches
2020-08-02 08:32:59 +01:00
Łukasz Pękalski 0f78d452a4
Part of #12497: Remove extra SPRITE_INDEX_NULL check (#12538)
* refactor: deleted double check of SPRITE_INDEX_NULL in Staff* ride_get_mechanic(Ride* ride)

* refactor: deleted double check of SPRITE_INDEX_NULL in Ride.cpp file

* refactor: deleted double check of SPRITE_INDEX_NULL in windows/Ride.cpp in function static rct_string_id window_ride_get_status_vehicle

* refactor: deleted double check of SPRITE_INDEX_NULL in ride/Ride.cpp

* refactor: deleted double check in FormatStatusTo
2020-08-02 08:28:11 +01:00
Duncan f49bfa777a
Change maze pathfinding to not prefer a direction (#12546)
* Change maze pathfinding to not prefer a direction

* Increment network version

* Update changelog

* Update replays
2020-08-02 08:20:34 +01:00
Sidney 7c0b03463c
Close #12452: Refactor DIAGNOSTIC_LEVEL to use strong enum (#12549) 2020-08-02 07:51:02 +01:00
Sidney 97d74e142e
Close #12441: Refactor VEHICLE_TRACK_SUBPOSITION to use strong enum (#12550) 2020-08-02 07:50:07 +01:00
Cory Sanin 394e8fb733
Resolve GCC warnings for Ride.cpp (#12553)
Eliminate warnings from ride_create_vehicles and ride_create_vehicles_find_first_block that would prevent build from succeeding when using GCC.
2020-08-02 00:28:47 +02:00
TELK bf08943929
Fix #12352: Wrong date format for file names (#12543)
Issue likely caused by 5ae592ec79

Also see: https://en.cppreference.com/w/cpp/chrono/c/tm
2020-08-01 18:43:19 +02:00
Michał Janiszewski 88bad7729c
Merge pull request #12491 from janisozaur/openurl
Add OpenURL method, with implementation for Linux and Windows
2020-08-01 15:42:31 +02:00
Duncan 6d11825e1a
Reduce the use of rct_sprite (#12530)
* Reduce the use of rct_sprite

* Pass the correct types in S4 importer

* Add additional nullptr checks

* Simplify the viewport interaction

* Apply review comments

* Small cleanup of GetEntity

* Fix test paint
2020-08-01 11:29:54 +01:00
frutiemax 2c350fa416
Part of #12097: Use ScreenRect in gfx_fill_rect_inset (#12284) 2020-08-01 00:51:29 -03:00
Taylor Stieff f7f5124c07
Make tile element direction accessible for scripts (#12057)
* Make tile element direction accessible for scripts

Add the direction field from the tile element
class to the ScTileElement class passed to
the script engine.

Co-authored-by: Taylor Stieff <taylor.stieff@heavenhr.de>
2020-08-01 00:46:59 -03:00
Duncan cd1d573c39
Pass the formatter directly to scrolling_text_setup 2020-07-31 12:31:26 +02:00
Michael Steenbeek 402570adb6
Refactor usage of TextPaint
Eliminating a global variable in the process.
2020-07-31 11:13:28 +02:00
Duncan c6e26267a4
Reduce the use of GET_VEHICLE (#12494)
* Start removing GET_VEHICLE macro use

* Further work

* Remove further GET_VEHICLE's

* Further removal of GET_VEHICLE

* Remove the last of GET_VEHICLE

* Fix testpaint

* Fix nullptr deref

* Make review changes

Also swapped in helper functions and used a standard patern for iterating the train cars

* Further simplify loops for train cars
2020-07-31 07:48:27 +01:00