Commit Graph

15667 Commits

Author SHA1 Message Date
Gymnasiast 72c13c8e77
Allow compilation with nlohmann/json < 3.9.0 2020-09-18 23:31:09 +02:00
Gymnasiast 265429c85a
Fix compilation on 32-bit Windows and MinGW 2020-09-18 20:54:36 +02:00
Ted John c204767176
Fix RTL for Windows 2020-09-18 19:46:12 +02:00
Gymnasiast 4ff77ebc35
Split RTL implementations to files; add preprocessor guards 2020-09-18 19:46:12 +02:00
Gymnasiast f11d1294fe
Use FriBidi on Windows, ICU on the rest 2020-09-18 19:46:12 +02:00
Gymnasiast 751810fc24
Use FriBidi for Bidi and shaping instead of ICU 2020-09-18 19:46:12 +02:00
Duncan da82144bfb
Fix #12944. Mistake from refactor meant formatter optimised away (#12961)
Not sure why it should get optimised away but this will fix the crashes.
2020-09-18 09:25:17 +01:00
Tulio Leao c72f547606
Merge pull request #12916 from richard-fine/pathfinding
Pathfinding cleanup
2020-09-17 17:58:31 -03:00
Matt b3b9a348c5
Apply review suggestions 2020-09-17 22:16:05 +03:00
Matt 38e03ae45d
Use the Formatter for News items 2020-09-17 22:14:36 +03:00
Matt ccde06ab0f
Explicitly pass formatter arguments to ShowError and family 2020-09-17 22:14:36 +03:00
Matt 2639349925
Move storage into Formatter class and refactor usage 2020-09-17 22:14:36 +03:00
Michael Steenbeek 1982e8491b
Merge pull request #12667 from mwnciau/json-refactor
Migrate JSON library to JSON for Modern C++
2020-09-17 21:11:06 +02:00
Richard Fine b57ed85098 Fixes from review feedback 2020-09-16 21:24:35 -04:00
Simon Jarrett f3aba68e46 Update project build files 2020-09-16 20:18:54 +01:00
Simon Jarrett 660c137958 Refactor Version to use new JSON library 2020-09-16 20:18:54 +01:00
Simon Jarrett 2c92c652e2 Refactor ObjectLoadError to use new JSON library 2020-09-16 20:18:54 +01:00
Simon Jarrett 57a57b0c02 Refactor Theme to use new JSON library 2020-09-16 20:18:54 +01:00
Simon Jarrett 12dfa74eef Refactor CmdlineSprite to use new JSON library 2020-09-16 20:18:54 +01:00
Simon Jarrett 0c58dfa1b3 Refactor objects to use new JSON library 2020-09-16 20:18:53 +01:00
Simon Jarrett 97b44a7181 Refactor ObjectFactory to use new JSON library
- Removed a few try-catch blocks as this is now handled in Json::Read[...]
2020-09-16 20:18:53 +01:00
Simon Jarrett 5f17554c25 Refactor ObjectJsonHelpers
Move functions in ObjectJsonHelpers to their relevant namespaces and classes
- Move ParseColour to Colour::FromString
- Move ParseCursor to Cursor::FromString
- Move LoadStrings to StringTable::ReadJson
- Move LoadImages to ImageTable::ReadJson
- Move ParseObjectEntry to Object::ParseObjectEntry
- Move GetString, etc. to Json::GetString, etc.
- Delete ObjectJsonHelpers .cpp and .h files
2020-09-16 20:18:53 +01:00
Simon Jarrett 1b821c1059 Refactor ServerList to use new JSON library 2020-09-16 20:18:53 +01:00
Simon Jarrett 651a2951a1 Refactor NetworkUser to use new JSON library
- Removed the ToJson(json_t) method
- The FromJson method expects to receive a JSON node of type object (as per added documentation)
- Unlike elsewhere, we need to use iterators for the Save() method to allow us to remove items from the array
2020-09-16 20:18:53 +01:00
Simon Jarrett de9a16404b Refactor NetworkServerAdvertiser to use new JSON library
- the body.dump() calls throughout use the default indent parameter of -1 so will produce JSON with no whitespace
- OnRegistrationReponse must be passed a JSON node of type object
2020-09-16 20:18:53 +01:00
Simon Jarrett c655d47dd3 Refactor NetworkGroup to use new JSON library 2020-09-16 20:18:53 +01:00
Simon Jarrett f1bcf20050 Refactor NetworkBase to use new JSON library 2020-09-16 20:18:52 +01:00
Simon Jarrett 324e94e6ce Fix #9088: refactor JSON code to use a more modern C++ library
- Removed dependency on jansson
- Implemented nlohmann JSON for Modern C++
- Moved generic GetString, etc., helper functions out of ObjectJsonHelpers.hpp to Json.hpp
- Added GetEnum helper function
- Added AsObject and AsArray helper functions
- Removed GetStringArray, etc., helper functions as they're not needed with the better language features
- Added second GetFlags definition that allows specifying inverted flags - this is a bit cleaner than previous hacks
- Comments!
2020-09-16 20:18:52 +01:00
Matt 3eff713765
Remove unused Registration.hpp 2020-09-16 20:23:39 +03:00
Matt 16fc41e6bf
Always return unique_ptr for the IniReader/IniWriter interface 2020-09-16 20:23:39 +03:00
Matt d0d5cc5179
Remove unused declarations 2020-09-16 20:23:34 +03:00
frutiemax af591c834b
Part of #12097: Use ScreenRect on gfx_fill_rect_inset (1) (#12938)
* Part of #12097: Use ScreenRect on gfx_fill_rect_inset (1)

Co-authored-by: Tulio Leao <tupaschoal@gmail.com>
2020-09-16 00:02:22 -03:00
Michael Steenbeek 3acbb92074
Merge pull request #12922 from Gymnasiast/LetItSnow2 2020-09-15 18:11:45 +02:00
Tulio Leao c1729c8a87
Merge pull request #12858 from ju-pinheiro/network-strong-enums
NETWORK_PERMISSION and NETWORK_AUTH replaced by strong enums
2020-09-15 08:07:19 -03:00
Gymnasiast a46a21973f
Amend changelog; bump network version 2020-09-14 22:00:54 +02:00
Gymnasiast ce325fdb9b
Also set proper temperature when using weather cheat 2020-09-14 22:00:54 +02:00
Gymnasiast ac985a8d61
Do not transition to snow for now 2020-09-14 22:00:54 +02:00
Brett c9de4f49fe
Add snow as a weather type
Co-authored-by: Michael Steenbeek <m.o.steenbeek@gmail.com>
2020-09-14 21:58:00 +02:00
Gymnasiast 31d20cefb2
Rename rain to weather where appropriate
Co-authored-by: Brett Penzer <brettpenzer123@live.co.uk>
2020-09-14 21:57:54 +02:00
rpstester f7348b1f06
Close #12389: Refactor PeepSittingSubState (#12908)
* Refactor PeepSittingSubState

* Fix formatting
2020-09-14 20:11:17 +01:00
frutiemax 2857f9d276
Part of #12097: Use ScreenRect on gfx_fill_rect_inset in Widget.cpp (#12906)
* Part of #12097: Use ScreenRect on gfx_fill_rect_inset in Widget.cpp

Co-authored-by: Tulio Leao <tupaschoal@gmail.com>
2020-09-14 08:44:50 -03:00
Richard Fine 4f31ddaca4 Make menu data declarations local to the functions using them 2020-09-13 16:30:17 -04:00
Richard Fine a51d8e4deb Convert cheats menu to use new constexpr menu specification 2020-09-13 16:16:05 -04:00
Richard Fine ce99928b81 Convert view menu to use new constexpr menu specification 2020-09-13 16:15:53 -04:00
Richard Fine 4a9974fda6 Introduce mechanism for configuring dropdown menu with static data
For menus with static content, provide a mechanism for building the menu items as a constexpr array, allowing developers to specify menus more concisely and to put the data into the .rodata section where it can be quickly copied through.
2020-09-13 16:15:28 -04:00
Michael Steenbeek 0fb307c12e
Merge pull request #12921 from OpenRCT2/plugin/extras
Add quadrants and scenario info to plugin API
2020-09-13 20:37:53 +02:00
Richard Fine d21da12f9f
Fix 11414: ‘Possible misuse of comma operator’ warnings (#12919)
Fix the ‘possible misuse of comma operator’ warnings reported by XCode - the two original ones reported in #11414, plus one more in Util.cpp.
2020-09-13 17:43:59 +01:00
Ted John e79d4be5a5 Add quadrant and occupiedQuadrants to plugin API 2020-09-13 17:02:12 +01:00
Ted John 146a754001 Add plugin API for scenario and objective 2020-09-13 17:02:12 +01:00
Ted John e5107141e9 Add plugin API for park flags 2020-09-13 15:00:09 +01:00
Michael Steenbeek cf5b48a9dd
Rename Rain.{cpp,h} to Weather.{cpp,h} (#12914) 2020-09-12 19:32:26 -03:00
Sadret a9cd89d02e
Fix #12912: Plugin: selectedCell of CustomListView (#12913) 2020-09-12 19:24:23 -03:00
Richard Fine 4a20ed38a8 Document public API for pathfinder
Add comments explaining the externally-visible points in the pathfinding code.
2020-09-12 14:59:40 -04:00
Richard Fine 542eb873fc Consolidate pathfinding code
Consolidate all the guest pathfinding code from Peep.cpp into GuestPathfinding.cpp, and make a dedicated header for GuestPathfinding to help make it easier to see what the actual public interface is to the pathfinding system.
2020-09-12 14:59:40 -04:00
Gymnasiast 247de81e3b
Apply requested fixes 2020-09-12 13:45:50 +02:00
Ron4u 5fe542dd25
fixed issue 12335 2020-09-12 13:18:00 +02:00
Ted John eb18a5db81
Fix #12910: Plugin API: getRide sometimes returns null for valid IDs 2020-09-12 12:18:24 +02:00
Tulio Leao 917fb77f0e Revert regressed warning on window_install_track_paint 2020-09-10 21:19:53 -03:00
Tulio Leao c2f42cd908 Fix #12901: Guest thoughts show up as guest actions or names 2020-09-10 21:18:42 -03:00
Tulio Leao 2f3d455b3a
Merge pull request #12899 from Gymnasiast/refactor/c-style-casts
Remove most remaining C-style casts
2020-09-10 20:49:15 -03:00
Aaron van Geffen c0e551056f
Fix #12900: Garbled/distorted date lines in file browser (#12902)
* Fix #12900: Garbled/distorted date lines in file browser
2020-09-10 20:47:39 -03:00
ju-pinheiro 214620951f Close #12421: Refactor NETWORK_AUTH to use strong enum
Replacing enum NETWORK_AUTH with enum class NetworkAuth.
2020-09-10 19:32:28 -03:00
ju-pinheiro 20a8bbc322 Close #12420: Refactor NETWORK_PERMISSION to use strong enum
First approach, instead of a bigger refactor to avoid the need of "static_cast".
2020-09-10 19:32:27 -03:00
Tulio Leao 55f2eeb04d
Favour constexpr function over macro on Crypt.CNG.cpp 2020-09-10 21:36:21 +02:00
Tulio Leao 720c17eea6
Cleanup c-style casts from Platform.Win32.cpp 2020-09-10 21:36:21 +02:00
Tulio Leao e032ba091d
Cleanup c-style casts from Shared.cpp 2020-09-10 21:36:21 +02:00
Tulio Leao 2a85374c6a
Cleanup c-style casts from Windows.cpp 2020-09-10 21:36:21 +02:00
Tulio Leao cf5f3da0df
Cleanup c-style casts from Socket.cpp 2020-09-10 21:36:21 +02:00
Tulio Leao fc59cb55a5
Cleanup c-style casts from Path.cpp 2020-09-10 21:36:21 +02:00
Tulio Leao 9d2a9d76d3
Cleanup c-style casts from String.cpp 2020-09-10 21:36:21 +02:00
Tulio Leao 5f47546392
Cleanup c-style casts from Http.WinHttp.cpp 2020-09-10 21:36:21 +02:00
Tulio Leao 5afe6407a1
Cleanup c-style casts from FileWatcher.cpp 2020-09-10 21:36:21 +02:00
Tulio Leao 5abbbf1357
Cleanup c-style casts from Crypt.CNG.cpp 2020-09-10 21:36:21 +02:00
Tulio Leao cb7e190c8a
Cleanup c-style casts from File.cpp 2020-09-10 21:36:21 +02:00
Tulio Leao de58f0f7a0
Cleanup c-style casts from FileScanner.hpp 2020-09-10 21:36:21 +02:00
Gymnasiast c83ddefe47
Convert remaining C-style casts to C++-style ones 2020-09-10 21:36:20 +02:00
Michał Janiszewski d8ffec0ed7
Use correct count of research items when importing park
Co-authored-by: Hielke Morsink <Broxzier@users.noreply.github.com>
Co-authored-by: Michael Steenbeek <Gymnasiast@users.noreply.github.com>
2020-09-10 21:01:14 +02:00
Duncan 353c02b596
Add visitors for all scenery placement and removes (#12886)
* Add visitors for all scenery placement and removes

This should allow greater flexibility for plugin developers

* Add CoordsXYZ visitor

* Increment plugin API version. Update changelog
2020-09-10 15:15:46 -03:00
tellovishous 96945183f5
Add stroke to lowercase 'L' to differentiate from capital 'I' (#12890)
The problem with many sans-serif fonts, such as those in RCT2, is that it can be difficult to tell between a lowercase L and an uppercase I, and can be visually ambiguous. What I've done is add a small stroke to the bottom of the lowercase L's so that it will stand out better when it's used next to capital I's.
2020-09-10 20:07:12 +02:00
Tulio Leao 4afbbed9bd
Fix #12881: Guests' favourite rides not listed in the guest window 2020-09-10 19:11:17 +02:00
Gymnasiast d140dd72c6
Remove const void* overload from DrawTextEllipsised() 2020-09-10 18:13:13 +02:00
Gymnasiast b788a099b5
Replace gfx_draw_string_clipped() calls with DrawTextEllipsised 2020-09-10 18:13:13 +02:00
Tom Parsons 9a30100a81
Make all GameAction types accessible to plugins (#12708)
* add ActionType

* Make all game actions available to plugins

Includes list of game actions in the .d.ts

* Add an overload for internal game actions

This allows things like Visual Studio Code to autocomplete

* action can be a string (custom gameactions)

* Increment OPENRCT2_PLUGIN_API_VERSION

* Add #12708 to changelog and tombomp to contributors.
2020-09-10 12:30:56 +01:00
Aaron van Geffen 11ebe78328
Refactor window offset std::arrays into regular arrays (#12799) 2020-09-09 22:51:51 +02:00
Michael Steenbeek ba7b08acfc
Merge pull request #12665 from Gymnasiast/refactor/objective-struct
Create Objective struct and use it for global objective
2020-09-09 22:34:33 +02:00
Michael Steenbeek bd28b74655
Make all game actions take an ObjectEntryIndex where applicable (#12384)
* Make all game actions take an ObjectEntryIndex where applicable

* Update replays for parameter size change

Co-authored-by: duncanspumpkin <duncans_pumpkin@hotmail.co.uk>
2020-09-09 17:03:20 +01:00
Gymnasiast e23089d255
Make scenario check into member functions 2020-09-09 15:39:07 +02:00
Gymnasiast 6e22eade67
Create Objective struct and use it for global objective 2020-09-09 15:38:03 +02:00
Richard Fine d2d9750a5b Fix #5753: Entertainers make themselves happy instead of the guests
After identifying guests that are near an entertainer, modify the guest's HappinessTarget and TimeInQueue values instead of the entertainer's own values.
2020-09-08 16:40:29 -04:00
Jacob Schwartz fe71ce437d
Close #12434: Refactor ENTERTAINER_COSTUME to use strong enum (#12865) 2020-09-08 16:29:18 -03:00
Michael Steenbeek 30ffced8b9
Merge pull request #12880 from richard-fine/directions
Further clean up of direction-handling code
2020-09-08 18:16:25 +02:00
Richard Fine 6e176e725c Fix formatting 2020-09-07 22:27:33 -04:00
Richard Fine 51fdf84763 Use Direction type for TrackPaint functions
Many TrackPaint functions take a direction, but they used a mixture of uint8_t and int32_t types for the parameters. To make the semantics of the code clearer, use the dedicated Direction type for all of them.

This does mean that some parameters which were previously 32 bits (int32_t) will now be 8 bits (Direction) but from what I could see none of the usages make use of anything beyond the bottom 4 bits.
2020-09-07 21:20:34 -04:00
Richard Fine 74b581c572 Remove unused 'direction' parameter
The get_track_paint_function functions have all been taking an extra 'direction' parameter, but nothing is actually using it. To simplify things, remove the parameter.
2020-09-07 21:20:34 -04:00
Richard Fine 4d3ba7a6f0 Rename PathElement::Edges for clarity
PathElement::Edges actualy stores both 'edges' (in the lower 4 bits) and 'corners' in the upper four. Rename the variable to make this dual usage easier to see.
2020-09-07 21:20:34 -04:00
Michael Steenbeek 6ac23fbabb
Make Arabic font easier to read 2020-09-07 19:21:32 +02:00
Hielke Morsink 96d1db97e0
Fix: Unused variable warning because of if constexpr (#12871)
This moves the variable in question to the scope where it gets used. Since it's a reference, this shouldn't be a performance hit.
2020-09-06 22:22:49 +02:00
Nils Caspar 4e6935f689
Consistently render various height marks when zoomed in (#12853) 2020-09-06 08:56:41 +01:00
Gymnasiast d5ff5712b9
Add drawing code for the Esperanto characters 2020-09-05 22:58:00 +02:00
chess123mate 83de5fab2a
Fix #12818 - Ride prices not ignored in free-rides parks (#12832) 2020-09-05 11:10:42 -03:00
Duncan e24c897cad
Fix #12857: Incorrect thought arguments for RCT1 import 2020-09-05 13:24:26 +02:00
Ted John c7b8a63fa9 Fix network enum 2020-09-03 22:38:42 +01:00
Ted John 858bb4045f Explicitly close sockets when plugin is stopped 2020-09-03 22:38:42 +01:00
Ted John 33ba51b763 Fix crashes and improve socket lifecycle 2020-09-03 22:38:42 +01:00
Ted John 0bddf5a5db Rename SocketServer to Listener 2020-09-03 22:38:42 +01:00
Ted John 173a42f656 Apply code review suggestions 2020-09-03 22:38:42 +01:00
Ted John 1c91404707 Add more network guards 2020-09-03 22:38:42 +01:00
Ted John fd6fddb61a Improve WSA handling 2020-09-03 22:38:42 +01:00
Ted John 7dfb748500 Add listening property 2020-09-03 22:38:42 +01:00
Ted John 5da5804f84 Add localhost limitation 2020-09-03 22:38:42 +01:00
Ted John 703dc1efa7 Add ability to connect 2020-09-03 22:38:42 +01:00
Ted John 182bcaf21a Implement setNoDelay 2020-09-03 22:38:42 +01:00
Ted John 7a5cb8a5b6 Refactor events into EventList class 2020-09-03 22:38:42 +01:00
Ted John dce547af99 Start implementing TCP API 2020-09-03 22:38:35 +01:00
Nils Caspar 359bbee9f5
Fix #12845: Cancel marketing campaigns for demolished rides (#12848) 2020-09-03 18:20:42 -03:00
Duncan c0255efeaa
Create an enum class serializer (#12810)
* Create an enum class serializer

* Make visitor work again

* Make suggested changes
2020-09-03 21:55:46 +01:00
Nils Caspar bc33ef3d43
Add Park.entranceFee to the plugin API (#12840) 2020-09-03 17:07:19 -03:00
Nils Caspar 22f29bf192
Close #12414: Refactor GUEST_LIST_FILTER_TYPE to use strong enum (#12830) 2020-09-02 12:50:16 -03:00
Simon Ellmann 5f3fe62f83
Close #12432: Refactor STAFF_MODE to use strong enum (#12752)
* Refactor STAFF_MODE to use strong enum

Closes #12432

* Change type of gStaffModes to StaffMode
2020-09-02 12:48:40 -03:00
Nils Caspar ae81ed63cc
Remove unused constant TAB_HEIGHT in Cheats.cpp (#12838) 2020-09-01 22:58:06 +02:00
Michael Steenbeek 55722a7ad4
Remove commented-out code (#12834) 2020-09-01 15:33:52 -03:00
Simon J f7acb84e42
Fix #400: unable to place some saved tracks flush to the the ground (#12721) 2020-09-01 18:26:44 +02:00
Tulio Leao 4e58eae43d
Merge pull request #12808 from gguedesaz/fix-stringbuilder
Part of #11159: Refactor on StringBuilder.hpp
2020-09-01 00:48:55 -03:00
Gabriel Guedes 95ae589750 Part of #11159: Prefer std::basic_string<utf8> over raw pointer
Usage of std::basic_string to improve readability and maintainability.
2020-08-31 21:06:02 -03:00
Julia Pinheiro dafde532af
Close #12426: Refactor NETWORK_READPACKET to use strong enum (#12807)
Replacing enum NETWORK_READPACKET with enum class NetworkReadPacket.
2020-08-31 09:13:15 -03:00
Aaron van Geffen e9803fc4b5
Fix #12820: Title menu buttons not invalidating properly (#12821)
This introduces constants for the title menu buttons to ensure this does not happen again.
2020-08-30 23:30:02 +02:00
Aaron van Geffen 5825dedd81
Rename TitleScenarioSelect to ScenarioSelect (#12822)
The scenario select window is not only available through the title screen.
2020-08-30 20:22:20 +02:00
Gabriel Guedes 332e9e76d5 Part of #11159: Removing unused functions from StringBuilder.hpp 2020-08-29 14:34:30 -03:00
ju-pinheiro e9c3f31422
Close #12423: Refactor NETWORK_SERVER_STATE to use strong enum (#12802)
#12423
2020-08-29 08:05:51 -03:00
Łukasz Pękalski bfdc1f6d2a
Close #12430: Refactor OBJ_STRING_ID to use strong enum (#12796) 2020-08-28 23:36:58 -03:00
Tulio Leao 731a93dc39
Create WindowColour enum for widget definition calls (#12722)
* Make MakeWidget* functions take enum colour

* Make windows A-D use WindowColour enum

* Make windows E-G use WindowColour enum

* Make windows I-M use WindowColour enum

* Make windows N-P use WindowColour enum

* Make windows R-S use WindowColour enum

* Make windows T use WindowColour enum

* Make windows V-W use WindowColour enum
2020-08-28 23:31:31 -03:00
Cory Sanin 8d366ebaea
Add Ride.totalProfit to the plugin API (#12795)
Add Ride.totalProfit to the plugin API
2020-08-28 22:52:54 +01:00
awiebe b53c4b3625
Downgrade Mac build requirements of OpenRCT2 to macOS 10.13 (#12749)
Keep targeting macOS 10.14 for libopenrct2 target. Replace deployment target with macOS 10.13 for other targets, including the OpenRCT2 bundle.

Explicitly type std::arrays, since Xcode refuses to use C++17 array deduction.

Co-authored-by: Aaron van Geffen <aaron@aaronweb.net>
2020-08-28 22:27:25 +02:00
Ted John 3a0bff4b93 Add comment about remX, remY 2020-08-28 01:30:17 +01:00
Ted John 65e3d20156 Refactor drawing 2020-08-28 01:30:15 +01:00
Ted John a1cd02c61c Disable closer zoom levels for software rendering 2020-08-28 01:29:59 +01:00
Ted John 609cde2304 Fix drawing of money text when zoomed in 2020-08-28 01:29:59 +01:00
Ted John 7f0510e444 Fix sub pixel clip issues with OpenGL 2020-08-28 01:29:59 +01:00
Ted John f51ad862c9 Refactor window drawing 2020-08-28 01:29:59 +01:00
Ted John 2b51eaeaa1 Fix weather gloom when zoomed in 2020-08-28 01:29:59 +01:00
Ted John 25581fa4ef Share blit methods between BMP and RLE 2020-08-28 01:29:59 +01:00
Ted John f16a46b872 Refactor RLE minify 2020-08-28 01:29:59 +01:00
Ted John 1645c64e87 Implement RLE magnify 2020-08-28 01:29:59 +01:00
Ted John 247c950c60 Implement magnify for bitmap 2020-08-28 01:29:59 +01:00
Ted John cd7324262d Create ZoomLevel struct to add two new zoom levels 2020-08-28 01:29:59 +01:00
Łukasz Pękalski 411f242cfd
Close #12431 Refactor VirtualFloorStyles to use strong enum (#12790) 2020-08-27 21:06:39 -03:00
Michał Janiszewski c6b10bb051
Make GetCurrentExecutableDirectory public (#12791) 2020-08-27 21:03:41 +02:00
Michael Steenbeek db8efe20d0
Merge pull request #12785 from Gymnasiast/refactor/text-drawing
Start removal of gfx_draw_string_*()
2020-08-26 22:51:39 +02:00
Michael Steenbeek 60a35f7abb
Merge pull request #12783 from Gymnasiast/refactor/ride-status-formatter
Use Formatter in windows/Ride.cpp
2020-08-26 22:51:09 +02:00
Gymnasiast 549a771120
Use Formatter& 2020-08-26 17:13:19 +02:00
Aaron van Geffen ec6f1b5fcd
Fix #12784: Scenery tab images missing 2020-08-26 17:06:19 +02:00
Gymnasiast 17bac8c57b
Use colour_t 2020-08-26 15:38:27 +02:00
Gymnasiast 972e6e80ab
Allow passing Formatter to DrawTextBasic() and DrawTextEllipsised() 2020-08-26 15:08:42 +02:00
Gymnasiast 39bc73c394
Deprecate text draw functions with 1:1 replacements 2020-08-26 14:53:59 +02:00
Gymnasiast 9a31a94128
Use const args in DrawTextEllipsised() 2020-08-26 14:49:28 +02:00
Gymnasiast ceace1a3ad
Remove draw_string_left_underline() 2020-08-26 14:47:47 +02:00
Gymnasiast f1caddc9fe
Remove draw_string_right_underline() 2020-08-26 14:46:37 +02:00
Gymnasiast 5f468da9cf
Remove draw_string_centred_underline() 2020-08-26 14:44:57 +02:00
Gymnasiast e1b778832b
Expose DrawTextBasic() and DrawTextEllipsised() 2020-08-26 14:44:30 +02:00
Gymnasiast 10ac7954b0
Remove set_format_arg_body() 2020-08-26 14:04:44 +02:00
Gymnasiast 879ce64a86
Use Formatter in windows/Ride.cpp 2020-08-26 13:59:18 +02:00
Michael Steenbeek 8b19d943a4
Merge pull request #12676 from mwnciau/Ride-Helix-Save
Fix #7037: saving rides starting with sloped turn
2020-08-26 12:13:59 +02:00
Michael Steenbeek 56c623e549
Merge pull request #12671 from AaronVanGeffen/refactor/tabs
MakeTab wrapper for standard tab widgets
2020-08-26 12:13:36 +02:00
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
Tulio Leao 4caf571c22
Followup on #12475 post-mortem comments (#12745)
* Remove using namespace OpenRCT2 from header

* Fix using wronf undefined enum for shortcut key map
2020-08-21 16:07:38 +01:00
Sidney 5330f7fb86
closes #12445 Refactor CLIMATE to use strong enum (#12551) 2020-08-21 09:43:57 +01:00
frutiemax 4cc550a364
Close #12460: Refactor KeyboardShortcut to use strong enum (#12475)
* Close #12460: Refactor KeyboardShortcut to use strong enum

Co-authored-by: Tulio Leao <tupaschoal@gmail.com>
2020-08-20 23:54:43 -03: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 40cfadcdc5 Apply formatting suggestions from code review
Co-authored-by: Tulio Leao <tupaschoal@gmail.com>
2020-08-18 10:13:48 +02: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 3b97cd9b14 Refactor Staff*, Themes, and TitleEditor to use MakeTab 2020-08-17 20:59:42 +02:00
Aaron van Geffen 6b9211c8b8 Refactor Park, Player, Research, Ride* to use MakeTab 2020-08-17 20:59:42 +02:00
Aaron van Geffen 3631d75b98 Use MakeTab in Mapgen, Multiplayer, Network, NewRide, NewsOptions 2020-08-17 20:59:23 +02:00
Aaron van Geffen be626d0b7c Refactor Editor*, Finances, Guest* to use MakeTab 2020-08-17 20:59:17 +02:00
Aaron van Geffen 6602b51b8b Use MakeTab in EditorInventionsList, EditorObjectSelection, Scenery 2020-08-17 20:59:17 +02: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
Duncan 55ba164dee
Fix crash when switching ride types with construct window open (#12694) 2020-08-16 18:48:21 +01:00
pizza2004 647730fcfa
Fix #12691: Tooltip at ride's graph tab is not using a proper string 2020-08-15 23:17:38 +02:00
Aaron van Geffen 135cc10b47 Release v0.3.0 2020-08-15 21:13:50 +02:00
Aaron van Geffen f95da1c99a Fix alignment for widget definitions 2020-08-14 10:18:17 +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
Aaron van Geffen eda8e31055
Refactor widget defs in EditorObjectiveOptions window (#12672) 2020-08-13 23:07:19 -03: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 5e09ecc904
Fix #12308: Cannot use cheats in editor modes (#12661)
This allows opening the cheats window while in editor mode. Some tabs and options are disabled because they are not relevant to these modes.
2020-08-13 13:03:56 +02: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
Tulio Leao 2e4edf6f5d
Merge pull request #12638 from quale/fix-debug-window
Fix Z coordinate and spillover in guest debug tab
2020-08-11 07:53:19 -03:00
Jonathan van Tuijl 4117965a4a Fix Z coordinate in guest debug tab 2020-08-11 03:37:34 +02:00
Jonathan van Tuijl dcdc782361 Increase minimum window size so pathfind history doesn’t spill out 2020-08-11 03:35:24 +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
Michał Janiszewski 6f8ae294ae
Fix launchpad builds (#12575)
```
/<<PKGBUILDDIR>>/src/openrct2-ui/interface/ViewportInteraction.cpp: In function ‘InteractionInfo viewport_interaction_get_item_left(const ScreenCoordsXY&)’:
/<<PKGBUILDDIR>>/src/openrct2-ui/interface/ViewportInteraction.cpp:85:29: error: potential null pointer dereference [-Werror=null-dereference]
   85 |             switch (sprite->sprite_identifier)
      |                     ~~~~~~~~^~~~~~~~~~~~~~~~~
```
2020-08-09 07:27:26 +01: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