Commit Graph

15820 Commits

Author SHA1 Message Date
pizza2004 68bd035f12
Refactor Dropdown to TitleCase (#13352)
* Refactor Dropdown Namespace

* Refactor Dropdown to TitleCase
2020-11-03 08:16:06 +00:00
Michael Steenbeek 1aff58b23e
Use TrackElement in vehicle_create_trains() and friends (#13338) 2020-11-02 23:56:12 -03:00
Manuel Vögele fac1b1f81e
Refactor loc_6B51C0 2020-11-02 23:05:47 +01:00
pizza2004 1643c62939 Refactor UI/Input MouseInput to Title Case 2020-11-02 07:05:33 -07:00
pizza2004 34f362b86e Refactor UI/Input KeyboardShortcuts to Title Case 2020-11-02 06:55:16 -07:00
pizza2004 06c0c1b982 Refactor UI/Input Input to Title Case 2020-11-02 06:55:16 -07:00
Sadret 5893664785
Fix #13334: Uninitialised variables in CustomTabDesc 2020-11-01 20:59:19 +01:00
Michael Steenbeek 4ea6f8099f
Merge pull request #13319 from manuelVo/rename-ride_is_valid
Rename ride_is_valid_for_test/open and update return type
2020-11-01 20:49:55 +01:00
Aaron van Geffen cea5fab238 Release v0.3.2
- Feature: [#12110] Add Hybrid Coaster (Rocky Mountain Construction I-Box) track type.
- Feature: [#12999] .sea (RCT Classic) scenarios are now listed in the “New Scenario” dialog.
- Feature: [#13000] objective_options command for console.
- Feature: [#13096] Add Esperanto translation.
- Feature: [#13164] Add 'Objective options' to Cheats menu.
- Change: [#9568] Change lift sounds of Reverser Roller Coaster and Compact Inverted Coaster to better fitting ones.
- Change: [#13160] The lay-out of the Park Cheats tab has been improved.
- Fix: [#1324] Last track piece map selection still visible when placing ride entrance or exit (original bug).
- Fix: [#3200] Close Construction window upon selecting vehicle page.
- Fix: [#4022] Fix Mac cursor offset on launch
- Fix: [#4041] Garbled park option on scenario editor with custom theme.
- Fix: [#4865] Offer an option to disable inhibiting the monitor power.
- Fix: [#5178] Lighting effects cannot be disabled in software mode
- Fix: [#5904] Empty errors on tile inspector base height change.
- Fix: [#6086] Cannot install existing track design with another name.
- Fix: [#6614, #8623] Colours are distorted when using OpenGL with Intel integrated graphics drivers.
- Fix: [#7443] Construction arrows pulse at irregular intervals.
- Fix: [#7518] Water isn't cut down by view clipping tool.
- Fix: [#7748] Tooltips would not timeout for normal UI elements.
- Fix: [#8015] RCT2 files are not found when put into the OpenRCT2 folder.
- Fix: [#8957] Error title missing when building with insufficient funds
- Fix: [#10186] Placing multiple saved rides ignores design name (original bug).
- Fix: [#12368] Desync due to ghost station pieces affecting changing ride settings.
- Fix: [#12940] Windows cause issues with snow drawing.
- Fix: [#13019] Simulated trains sometimes open construction window when they crash.
- Fix: [#13021] Mowed grass and weeds don't show up in extra zoom levels.
- Fix: [#13024] Console cursor does not correctly render at current cursor position.
- Fix: [#13029] Not all Junior Roller Coaster pieces are shown when "Show all track pieces" cheat is enabled.
- Fix: [#13044] Rides in RCT1 saves all have "0 customers per hour".
- Fix: [#13074] Entrance and exit ghosts for mazes not being removed.
- Fix: [#13083] Dialog for renaming conflicting track design crops text out.
- Fix: [#13097] Missing direction arrow for stations
- Fix: [#13098] UI buttons for entrance and exit don't toggle according to them being built.
- Fix: [#13098] Maze can still be constructed while placing entrance and exit (original bug).
- Fix: [#13118] Closing construction window resets ride viewport.
- Fix: [#13129] Missing error message when waiting for train to leave station on the ride measurements graph.
- Fix: [#13138] Fix logical sorting of list windows.
- Fix: [#13158] Cursors are drawn incorrectly in text input fields.
- Fix: [#13222] Vehicle collision causes negative number of passengers (original bug).
- Fix: [#13226, #7280] No error is shown when attempting to load a corrupted save.
- Fix: [#13266] Plugin API: Deleting key of sharedStorage not working.
- Fix: [#13278] Desync caused by ghost tiles changing the ride mode.
- Fix: [#13289] Litter and vomit sometimes not loading with RCT1 saved game or scenario
- Fix: [#13292] Impossible excitement rating requirements with finish building 5 coasters goal
- Improved: [#13023] Made add_news_item console command last argument, assoc, optional.
- Improved: [#13098] Improvements to the maze construction window user interface
- Improved: [#13125] Selecting the RCT2 files now uses localised dialogs.
2020-11-01 20:00:01 +01:00
Duncan dcabc8451e
Fix #13250: Crash when opening parks with new ride types (#13256)
This only happens when a new ride type is added and the park is opened in the older version of the game where the ride type does not exist.

Reworked so that invalid rides are not loadable. Force reload of title if current scenario is corrupted.
2020-11-01 14:49:43 +01:00
Aaron van Geffen 89cc45908f Replace Backtrace token for v0.3.2 2020-11-01 10:18:49 +01:00
Manuel Vögele 1f7d73a741
Fix #13306: Restore entrance/exit for prebuilt ride design ghosts (#13309)
This fixes a regression introduced in c440dac
2020-10-31 12:27:38 +00:00
evilclownattack 3277153e87
Fix #13289: Litter and vomit sometimes not loading with RCT1 saves (#13322)
Issue was actually caused by loading RCT1 saves from certain rotations, and fixed by reseting sprite quadrants when loading. Wasn't an issue with RCT2 saves as litter screen coordinates are set directly from the save, rather than calculated based on rotation and sprite width/height.
2020-10-31 11:32:32 +00:00
evilclownattack 3e7ff12a72
Fix #13292: Impossible excitement rating requirements
Incorrect argument was used when drawing the minimum excitement rating in the Objective Selection window.
2020-10-28 23:55:29 +01:00
Manuel Vögele d0e5a5ab6e Move ride_open and ride_test into Ride 2020-10-28 18:13:37 +01:00
Manuel Vögele eaa340dd92 Rename ride_is_valid_for_test/open and update return type 2020-10-28 15:31:24 +01:00
Michael Steenbeek 6b4e942a58
Fix #13297: Missing null check in tile_element_get_banner_index() (#13313) 2020-10-27 22:49:06 -03:00
ju-pinheiro a31c958004 Adding missing SpriteIdentifier enumerations to switch statements 2020-10-27 18:52:56 -03:00
ju-pinheiro bb16ca075b Close #12450: Refactor SPRITE_IDENTIFIER to use strong enum 2020-10-27 13:26:27 -03:00
Gymnasiast 140e945a7b
Increase network version 2020-10-26 23:13:49 +01:00
Manuel Vögele 838cd4fc56
When placing a block brake perform full operation mode switch 2020-10-26 22:48:43 +01:00
Manuel Vögele d927fefb86
Fix #13019: Stop simulating when ghost train crashes in block mode 2020-10-26 21:37:51 +01:00
Manuel Vögele e4e7a0f2f2
Fix desync caused due to ghost tiles changing the ride mode 2020-10-26 21:36:09 +01:00
Manuel Vögele c440dac600
Fix #12368: Don't modify station properties when placing ghost tiles 2020-10-26 21:35:44 +01:00
Tulio Leao 7b10fa57bb
Merge pull request #13280 from Broxzier/bugfix/filestream-file-nonexisting-folder
Fix crash when using a writable FileStream to a file in non-existing folder
2020-10-25 14:46:48 -03:00
Keith Stellyes f550f8f5a5
Fix #13282: Autosaves are not deleted when limit is reached 2020-10-25 09:35:42 +01:00
Bryan DiLaura 894be65b6d
Closes #12415: Refactor CURRENCY_TYPE to strong enum (#13276)
* closes #12415 CURRENCY_TYPE enum refactor

* reverses unintended change in Linux.cpp

* closes #12415 CurrencyType strong enum
2020-10-25 01:33:06 -03:00
Hielke Morsink 2275585795 Undef Windows.h macros that cause conflicts
This caused errors on calls to Path::CreateDirectory in source files that include OpenGLAPI.h.
2020-10-24 17:39:16 +02:00
Hielke Morsink b54574fe19 Ensure path exists for writable filestreams 2020-10-24 17:39:16 +02:00
Michał Janiszewski 0aaac728b5 Change GL_TEXTURE_RECTANGLE to NPOT GL_TEXTURE_2D
This improves GLES compatiblity due to missing rectangle textures, but
NPOT 2D ones being universally available.
2020-10-24 17:28:05 +02:00
Michał Janiszewski 16b3a96e66 Change palette size to PoT square 2020-10-24 17:28:05 +02:00
Keith Stellyes 782fab93b4
Add compile-time check for nlohmann json (#13277) 2020-10-24 15:23:17 +02:00
Sadret 6c44fefcaa
Fix #13266: Plugin API Deleting key of shared storage not working 2020-10-23 14:18:51 +02:00
Tulio Leao f6de4b2e44
Fix #13263: SceneryGroup problems (#13270)
* Fix #13263: Scenery group research not working

* ResearchCategory::Group to SceneryGroup
2020-10-23 12:30:39 +01:00
Keith Stellyes 171132fb6d
Add Execute and FindApp to Platform class 2020-10-22 21:17:28 +02:00
Duncan 214f6992dd
Rename to TitleCase and name LastAttachedPS (#13260) 2020-10-22 18:13:54 +01:00
Simon J a017d3fa57
Fix #13215: lingering arrows after ride construction (#13245)
Co-authored-by: Simon Jarrett <mwnciau@users.noreply.github.com>
2020-10-21 23:45:53 -03:00
ζeh Matt 0c099be01c
Export loaded objects alongside inside the save for Backtrace reports (#13213) 2020-10-21 23:15:29 -03:00
aw20368 c81bf7b501
Refactor variable names in window_guest_stats_bars_paint (#13214)
* Refactor variable names in window_guest_stats_bars_paint

Change the variables eax/ebp to timeInPark and barColor, respectively.

* Refactor guest stat UI calculations

Simplify guest stat calculations and move them to a new function NormalizeGuestStatValue.
2020-10-21 07:38:44 +01:00
Bryan DiLaura 1f245b8288
Close #12436: refactor JUNIOR_RC_CHAINTYPE into strong enum (#13237)
* Close #12436: refactor JUNIOR_RC_CHAINTYPE enum
2020-10-20 21:48:29 -03:00
Hielke Morsink 257ada4617
Introduce constant for ticks per month (#13253) 2020-10-20 21:05:27 -03:00
Łukasz Pękalski 9dcbf6d4e6
Close #4865: Offer an option to disable inhibiting the monitor power (#13243)
Co-authored-by: Aaron van Geffen <aaron@aaronweb.net>
Co-authored-by: Hielke Morsink <hielke.morsink@gmail.com>
2020-10-20 22:02:44 +02:00
rpstester 853f718aee
Close #12391: Refactor PeepUsingBinSubState to use strong enum (#13247)
Changed it to enum class and updated references.
2020-10-19 22:22:24 -03:00
Haven Kim ce2f78bd51
Fix #13222 : Vehicle collision causes negative number of passengers
When peep_sprite_remove is called, RemoveFromRide() will decrease ride's num_riders
2020-10-19 23:33:54 +02:00
Haven Kim 4bce329a40
Fix #12940: Windows cause issues with snow drawing (#13238)
Windows' left value inside of cosine function is causing glitch-feel
movement for snows but in fact, x_start can simply modified by another magic
numbers.
2020-10-19 18:58:47 +02:00
Michael Steenbeek 59d785ef64
Merge pull request #13224 from Broxzier/feature/refactor-autosave
Small autosave refactor
2020-10-18 20:20:41 +02:00
Keith Stellyes 41c0395adb
Fix #13226: No error is shown when attempting to load a corrupted save 2020-10-18 19:54:26 +02:00
Michael Steenbeek 6c687f576d
Merge pull request #13230 from Gymnasiast/refactor/get-source-game-to-method
Refactor legacy GetSourceGame() to method
2020-10-18 17:48:31 +02:00
Aaron van Geffen 1c1b7c8d28
Merge pull request #13209 from X123M3-256/hybrid_fix
Fix hybrid coaster
2020-10-18 17:16:31 +02:00
Haven Kim be824e941f
Fix #7518: Water isn't cut down by view clipping tool (#13205)
By comparing water level and clipping height, we just remove water from
rendering but keep the surface tiles at the bottom
2020-10-17 23:13:40 +02:00
Gymnasiast b47163c06c
Remove orphaned declaration of object_entry_get_type() 2020-10-17 22:46:52 +02:00
Gymnasiast 13fb0b43da
Refactor legacy GetSourceGame() to method 2020-10-17 22:45:12 +02:00
Haven Kim 8a4df108ba
Close #12428: Refactor OBJECT_SOURCE_GAME to use strong enum 2020-10-17 22:27:02 +02:00
Aaron van Geffen a9316869fc
Fix #13158: Cursors are drawn incorrectly in text input fields (#13228) 2020-10-17 22:24:24 +02:00
Łukasz Pękalski 384e0ee718
Close #12418: Refactor RESEARCH_CATEGORY_* to use strong enum (#13216) 2020-10-17 22:15:46 +02:00
duncanspumpkin 54a33674d3 Introduce tables to group information 2020-10-17 20:44:26 +01:00
Hielke Morsink 0cf049c2f7 Replace deprecated function call 2020-10-17 20:00:38 +02:00
Hielke Morsink 085a0e9452 Reduce branching and duplicated lines in limit_autosave_count 2020-10-17 20:00:38 +02:00
Aidan Waite d287653cb5
Fix #4022: Mac cursor offset on launch (#13095)
Update config when forcing windowed mode
2020-10-17 11:57:03 +02:00
Duncan cd39c30989
Tooltip 2 (#13159)
* Use ScreenCoords for tooltip

* Remove temporary variables

* Small refactor

* Fix #13151. Not passing tooltip arguments correctly for ride window

* Fix Server List window version tooltip

* Fix cheats tooltip event

* Add static to function decl

* Remove unreachable break statements in Ride.cpp

* Apply review suggestions

Co-authored-by: Tulio Leao <tupaschoal@gmail.com>
2020-10-17 09:10:08 +01:00
Aaron van Geffen af26a2cef0
Improve park cheats tab layout (#13186)
* Remove 'Park parameters…' button
  The scenario options are already accessible through the cheats menu

* Split off Objective group from General group
* Split off new Maintenance group from Staff group

* Shrink 'Force park rating' spinner to make room for label
* Change label 'Force weather' to 'Change weather to'
* Change label "Plants don't age" to 'Disable plants withering'
* Change some strings for consistent capitalisation
2020-10-16 21:52:27 +02:00
X7123M3-256 11f2199476 Fix formatting 2020-10-15 20:45:39 +01:00
X7123M3-256 5c81d7deb9 Use block brake sprite for last station tile 2020-10-15 20:27:33 +01:00
X7123M3-256 dd8dcc6136 Fix incorrect bounding boxes 2020-10-15 20:27:33 +01:00
X7123M3-256 15aca5fbb5 Remove unnecessary comments 2020-10-15 20:27:33 +01:00
X7123M3-256 6ca16e0a06 Make JSON objects able to use hybrid track 2020-10-15 20:27:33 +01:00
Simon Jarrett 65a8c58af7 Fix missing direction arrow for stations 2020-10-15 19:44:36 +01:00
Simon Jarrett 25ce8b3f6e Fix #7443: Construction arrows pulse at irregular intervals. 2020-10-15 19:44:10 +01:00
Łukasz Pękalski 26720eb345
Fix #5178: Lighting effects cannot be disabled in software mode (#13206)
Lighting effect are now automatically turned off when software renderer is selected.
2020-10-15 17:05:39 +02:00
ζeh Matt 645289f4ec
Rename GameActionResult and use GameActions namespace instead (#13184) 2020-10-14 22:04:39 -03:00
ζeh Matt 92e7b6244b
Fix #13192: Crash because of objects not properly loading (#13197) 2020-10-14 21:54:22 -03:00
Vinicius Sa 711dd00cde
Close #13000: Refactor ObjectFactory to use unique_ptr
Employs the smart pointer unique_ptr for safer memory management.

Classes involved:
 - ObjectRepository
 - ObjectManager
2020-10-14 21:56:48 +02:00
Aaron van Geffen 0c283ba3e7
Ride window: position graph buttons properly 2020-10-14 17:51:58 +02:00
Duncan 250586cb45
Port some OpenLoco helper functions (#13113)
* Port some OpenLoco helper functions

Added a few helper functions from OpenLoco to make viewport code a bit simpler
2020-10-12 22:25:11 -03:00
aw20368 0c195d14b9
Close #8848 Refactor TimeInPark (#13146)
Split TimeInPark into a union: ParkEntryTime for guests, HireDate for staff
2020-10-12 21:36:38 -03:00
Duncan feb188ecb2
Remove incorrect variable from interval names (#13175)
Not sure why this has ended up in the interval names as it is not a rct_string_id. Luckily nothing at present was accessing this.
2020-10-12 21:35:08 -03:00
Aaron van Geffen a5a65fe974
Fix #13167: Broken dropdown menu in rendering engine options (#13169) 2020-10-11 23:06:35 +02:00
Michael Steenbeek 0bf851cfb2
Merge pull request #13164 from Gymnasiast/feature/objective-options-in-cheats
Add Objective Options to Cheats menu
2020-10-11 19:28:50 +02:00
Gymnasiast eb2f40f35c
Fix typo in WC_EDITOR_OBJECTIVE_OPTIONS 2020-10-11 19:28:25 +02:00
Gymnasiast 16ca892449
Add Objective Options to Cheats menu 2020-10-11 19:28:25 +02:00
Keith Stellyes 2265938e9b
Fix old-style-cast build errors on BenchSpriteSort.cpp (#13148) (#13150) 2020-10-11 17:43:22 +01:00
Julia Pinheiro cba1d48226
Close #12408: Refactor CURSOR_ID to use strong enum 2020-10-11 18:01:14 +02:00
Tulio Leao f56039abfd
Close #5520: Use std::filesystem over fts.h for recursive deletion 2020-10-11 17:15:05 +02:00
Simon J d7b9a99a0f
Entrance/exit construction state fixes in ride and maze construction (#13098)
* Fix #1324: track selection visible when placing entrance or exit

* Improve maze construction window UX in entrance/exit mode

- Arrows are disabled when entrance and exit are being placed
- Clicking a construction mode will disable the entrance and exit mode
- Previous state restored when leaving entrance/exit construction mode
- Fix entrance/exit buttons not changing when the mode switches after placing the first entrance/exit

Co-authored-by: Simon Jarrett <simonjjarrett@gmail.com>
2020-10-11 12:22:41 +01:00
Aaron van Geffen 8726b37951
Remove remaining old style casts from macos.mm (#13153) 2020-10-10 23:45:50 +02:00
X123M3-256 9681ea4cea
Add "Hybrid Coaster" ride type (#12110)
* Add "Hybrid coaster" ride type

* Add turns

* Add diagonal slopes

* Add bank transitions

* Add diagonal bank transitions

* Add banked turns

* Add sloped turns

* Add sloped bank transitions

* Add sloped banked turns

* Add s bends

* Add helices

* Add barrel rolls

* Add half loops

* Start changing supports to wooden

* Switch diagonals and banked turns to wooden supports

* Finish switching supports to wooden

* Alter default supports for small turns and steep turns

* Split track sprites that were glitching

* Fix incorrect sprite indices on small helices

* Add supports for large flat to steep pieces

* Fix bug with b supports

* Add supports for quarter loops

* Finalize set of track elements

* Fix strange colors when track piece is highlighted

* Update sprites.json

* Add support for corkscrews

* Fix incorrect remap colors and default supports

* Add slope to banked turn transitions

* Add support for preview image in color selection window

* Fix static glitches

* Correct Z offset

* Set segment heights (and fix more static glitches)

* Improve sloped curve supports

* Fix slope to banked turn transitions

* Fix dynamic glitches

* Fix boosters

* Remove corkscrews

* Set ride data and implement ride rating function

* Fix glitches on steep turns and gentle to steep

* Format code

* Add sprites

* Add track color preview image

* Fix formatting

* Add files to MSVC project

* Fix Testpaint

* Revert removal of RIDE_TYPE_50 from GetClassification

* Introduce constant instead of hard coded number

* Fix stray change

* Improve legibility of ride_ratings_calculate_hybrid_coaster()

* Fix comments on byte_97B23C

* Fix two other stray changes

* Fix Xcode project

* Adjust bounding boxes to make clipping behaviour more consistent

* Fix two glitches on medium and large turns

* Address comments from DuncansPumpkin

* Fix incorrect ride ID

* Fix steep turn sprites

* Run PNG images through OptiPNG

* Update changelog

* Fix namespace error

* Use arrays for supports to handle additional elements

* Rename functions to TitleCase and add namespace

* Increment network version

Co-authored-by: Edward Calver <hx010973@reading.ac.uk>
Co-authored-by: tylerleamon <59478575+tylerleamon@users.noreply.github.com>
Co-authored-by: Gymnasiast <m.o.steenbeek@gmail.com>
Co-authored-by: duncanspumpkin <duncans_pumpkin@hotmail.co.uk>
Co-authored-by: Aaron van Geffen <aaron@aaronweb.net>
2020-10-10 20:27:12 +01:00
Michał Janiszewski 0c3de1fa00
Fix potential nullptr dereference (#13149)
This fixes optimised builds on ARM
2020-10-10 14:49:33 -03:00
Julia Pinheiro b628bba704
Close #12429: Refactor OBJECT_ERROR to use strong enum and typo fix in build.sh (#13145)
* Close #12429: Refactor OBJECT_ERROR to use strong enum

* Typo Fix in build.sh: Unknown
2020-10-10 16:21:07 +01:00
Duncan f28907a87d
Rework tooltip to be more logical (#13137) 2020-10-10 10:49:56 -03:00
Tulio Leao 61c8cbf88b
Fix #13118: Closing construction window resets ride viewport (#13123) 2020-10-10 10:01:28 -03:00
Tulio Leao f418acfe19
Merge pull request #11493 from OpenRCT2/Wold-style-cast
Enable -Wold-style-cast
2020-10-10 09:15:59 -03:00
Bryan DiLaura 7c95f594d3
Close #12413: Refactor VISIBILITY_CACHE to use strong enum (#13136) 2020-10-09 19:12:14 -03:00
Keith Stellyes 3468d1fc6b
Close #13125: Selecting the RCT2 files now uses localised dialogs 2020-10-09 21:13:14 +02:00
Duncan e23c1cded7
Fix logical sort 2020-10-09 20:59:43 +02:00
Duncan 197bb897bb
Fix #7748. Move tooltip timeout reset to correct location (#13132)
* Fix #7748. Move tooltip timeout reset to correct location

Mistake made in implementation

* Add changelog entry
2020-10-09 16:53:31 +01:00
Duncan 84c9ff833a
Move formatter to separate file. Rework GetMeasurement (#13131)
* Move formatter to seperate file. Rework GetMeasurement

* Add Formatter source files to Xcode project

Co-authored-by: Aaron van Geffen <aaron@aaronweb.net>
2020-10-09 08:02:07 -03:00
Tulio Leao bace4d62f8 Specify SYSTEM includes on CMAKE builds 2020-10-09 01:28:34 -03:00
Tulio Leao 32c2b7d449
Merge pull request #13122 from vjavs/strong-enum/PeepSpriteType
Refactor PeepSpriteType to use strong enum
2020-10-08 23:48:45 -03:00
Duncan 4fb4feb83c
Fix missing error message on ride graph (#13129)
* Fix missing error message on ride graph

Mistake made during implementation meant that the ride graph would not show the error message when the ride had not left the station. Another mistake meant that the tertiary colour of the ride window was not set to green. The tertiary colour was only used by this error message though so was not noticed.
2020-10-08 15:22:23 -03:00
Tulio Leao 1cf0f91199
Fix #4041: Garbled park option on scenario editor with custom theme (#13126)
* Fix #4041: Garbled park option on scenario editor with custom theme

* Remove duplicate string draw
2020-10-08 14:35:25 +01:00
aw20368 119bacdd44
Fix #13083: Dialog cropped for conflicting track design rename (#13124)
Change description drawing from gfx_draw_string_centred to gfx_draw_string_centred_wrapped.
2020-10-07 23:17:52 -03:00
Ben Johnston 2524e9201a
Fixed console cursor rendering. (#13025)
Co-authored-by: Tulio Leao <tupaschoal@gmail.com>
2020-10-07 21:45:57 -03:00
Vinicius Sa 01d237ad27
Use helper function GetSpriteBounds
It's intended to retrieve a rct_sprite_bounds from the global array
g_peep_animation_entries, given PeepSpriteType and PeepActionSpriteType
as parameters.
2020-10-07 17:34:27 -03:00
Vinicius Sa 80718f1774
Use helper function GetPeepAnimation
It's intended to retrieve a rct_peep_animation_entry from the global
array g_peep_animation_entries, given PeepSpriteType and
PeepActionSpriteType as parameters.
2020-10-07 17:34:25 -03:00
Vinicius Sa 4d28901cb0
Refactor PeepSpriteType to use strong enum
Issue: 12396
2020-10-07 17:34:21 -03:00
ζeh Matt 61b510db66
Merge pull request #13073 from ZehMatt/refactor/audio-cleanup
Minor cleanup around audio code
2020-10-07 21:18:59 +03:00
Tulio Leao a1b058f648
Fix #10186: Placing multiple saved rides ignores design name (#13120) 2020-10-07 12:45:19 -03:00
Tulio Leao 076544f490
Merge pull request #13084 from vjavs/PVS-Studio/Fixes
Make some PVS-Studio fixes
2020-10-07 08:24:59 -03:00
Mike Jones 7441001c4e
Close #12407: Refactor CHAT_INPUT to use strong enum (#13116) 2020-10-06 21:37:08 -03:00
Tulio Leao db728d61a7
Fix signed/unsigned mismatch 2020-10-06 21:32:59 -03:00
Matt 7045fd9e9f
Minor cleanup 2020-10-07 01:10:53 +03:00
Matt 091145037e
Move the audio code into OpenRCT2 namespace 2020-10-07 00:34:42 +03:00
Vinicius Sa 22a1df32d7
Remove redundant assignment in CustomListView::MouseUp
Reported by PVS-Studio (Warning: V1048).

Fix 7/7.

Issue: 12523
2020-10-06 18:21:28 -03:00
Vinicius Sa c6b7893d77
Verify pointer against nullptr before using it
Reported by PVS-Studio (Warning: V1004).

Fix 6/7.

Issue: 12523
2020-10-06 18:21:26 -03:00
Vinicius Sa 579e008590
Refactor process_mouse_over()
- Remove unnecessary local variables and assignments

 - Remove unreached if-statement branch

Reported by PVS-Studio (Warning: V587).

Fix 5/7.

Issue: 12523
2020-10-06 18:21:24 -03:00
Vinicius Sa 59e9162137
Give a variable for an arithmetic operation used as a condition
Avoid reverse logic around if-statement for the sake of readability.

Reported by PVS-Studio (Warning: V793).

Fix 4/7.

Issue: 12523
2020-10-06 18:21:21 -03:00
Vinicius Sa d583911997
Avoid variable shadowing in derived struct RCT12BannerElement
Give a more meaningful name to its private member that caused the
shadowing, as well as in the struct BannerElement.

Reported by PVS-Studio (Warning: V703).

Fix 3/7.

Issue: 12523
2020-10-06 18:21:19 -03:00
Vinicius Sa b93024039a
Remove redundant sub-expression involving or bitwise
Reported by PVS-Studio (Warning: V501).

Fix 2/7.

Issue: 12523
2020-10-06 18:21:11 -03:00
Vinicius Sa 8e73dfd440
Fix possible memory leak in CreateObjectFromJson
As reported by PVS-Studio. Warning: V773.

Fix 1/7.

Issue: 12523
2020-10-06 18:20:37 -03:00
Matt 86b1c0dbe1
Minor cleanup around audio code 2020-10-06 23:31:51 +03:00
Tulio Leao e53cde1d5d
Fix #6086: Cannot install existing track design with another name (#13082) 2020-10-06 08:27:38 -03:00
Duncan eb3f3edc1b
Use RemoveViewport helper function (#13104) 2020-10-06 10:27:56 +01:00
Ishmael King fb47b3bb90
Close #9568: Replace RRC lift sounds LiftWood to match SFRC (#13071)
* refactor: Replace RRC lift sounds LiftWood to match SFRC

* refactor: Replace SLC lift sounds with Classic lift sound

* Update replays for change in lift sound

Co-authored-by: duncanspumpkin <duncans_pumpkin@hotmail.co.uk>
2020-10-05 23:14:43 -03:00
Vinicius Sa bd8c633ea3
Close #12394: Refactor PeepNauseaTolerance to use strong enum (#13106) 2020-10-05 22:13:44 -03:00
Aaron van Geffen 797fe48b0f
Merge pull request #13068 from mwnciau/json-compilation-performance
Fix #13055: Replace includes of Json.hpp in header files with json_fwd.hpp
2020-10-06 01:09:41 +02:00
Aaron van Geffen 0ad7e9787e Add JsonFwd.hpp to the Xcode project 2020-10-06 00:16:21 +02:00
Simon Jarrett 134371f03c Change includes of nlohmann/json_fwd.hpp to new core/JsonFwd.hpp 2020-10-06 00:16:21 +02:00
Michael Steenbeek b835477542
Add Esperanto to language list (#13096) 2020-10-05 08:21:27 -03:00
Aaron van Geffen fe54eee07c
Tab-specific event functions for Options window (#13058)
* Options window: move event lists and open function.

* Options: split off display tab events; add event lists for each tab

* Options: split off rendering tab events

* Options: split off culture tab events

* Options: split off audio tab events

* Options: split off control/interface tab events

* Options: split off misc tab events

* Options: split off advanced tab events; remove old event functions

* Reduce code duplication with common mouseup event
2020-10-04 17:08:10 +02:00
Tulio Leao f4b588256d
Merge pull request #13066 from tupaschoal/fix-5904
Light Tile Inspector Improvements
2020-10-03 15:16:10 -03:00
Michael Steenbeek 8e60ecc022
Do not output error if the sourceGame parameter is omitted (#13079)
Since >90% of objects in the wild are custom objects, it make sense if this
parameter can be safely omitted. Only warn if this field contains garbage.
2020-10-03 14:41:52 -03:00
Simon J 7f963c4901
Fix entrance and exit ghosts not being removed for mazes (#13074)
* Fix entrance and exit ghosts not being removed for mazes

Co-authored-by: Simon Jarrett <simonjjarrett@gmail.com>
Co-authored-by: Tulio Leao <tupaschoal@gmail.com>
2020-10-03 09:33:28 -03:00
Matt 0d43f1fd91
Directly use enums for serialisation 2020-10-03 06:15:13 +03:00
Matt 13f332d5b8
Ensure/Cleanup member initialization for game actions 2020-10-03 05:58:57 +03:00
Matt 82916f6824
Use default constructor 2020-10-03 05:55:33 +03:00
Julia Pinheiro 6a76547c5b
Close #12412: Refactor PROMPT_MODE to use strong enum (#13076) 2020-10-02 23:04:59 -03:00
Mike Jones 4c26fb09b3
Close #12435: Refactor FILEDIALOG_TYPE to use strong enum (#13072)
* Close #12435: Refactor FILEDIALOG_TYPE to use strong enum
2020-10-02 22:43:06 -03:00
Julia Pinheiro 8800c32e52
Close #12404: Refactor DRAWING_ENGINE to use strong enum (#13070) 2020-10-02 22:41:30 -03:00
Simon Jarrett 9c5e9f8dbc Replace includes of Json.hpp in header files with json_fwd.hpp 2020-10-02 11:31:20 +01:00
Tulio Leao 09bb66848c Change windowTileInspectorTile to TileCoordsXY type 2020-10-02 01:45:08 -03:00
Tulio Leao e4d72cefaa Fix #5904: Empty errors on tile inspector base height change 2020-10-02 01:06:54 -03:00
Tulio Leao 0981b49e99
Fix #8957: Error title missing when building w/ insufficient funds (#13020) 2020-10-01 23:19:34 -03:00
Julia Pinheiro c36ec5c5ce
Close #12425: Refactor SOCKET_STATUS to use strong enum (#13064) 2020-10-01 22:10:51 -03:00
Julia Pinheiro 657106d4c6
Close #12424: Refactor NetworkStatisticsGroup to use strong enum (#13056) 2020-10-01 22:07:48 -03:00
Tulio Leao 29955f28e0
Merge pull request #12976 from mwnciau/Refactor-TRACK_ELEM-enum
Refactor TRACK_ELEM_* enum
2020-10-01 22:05:44 -03:00
Simon Jarrett 088db4a7c3 Fix incorrect const names of long base pieces
- Fix function names referring to that of the renamed consts
- Fix incorrect mirror of TrackType::FlatToDown60Long in TrackData
2020-10-01 19:57:52 +01:00
Simon Jarrett 52209af94d Rename TRACK_ELEM_* enums to TrackElemType::*
- Replace enum in Track.h with namespace and constexpr
- Find and replace all instances of TRACK_ELEM_* enums
2020-10-01 19:57:52 +01:00
Sam J Gunner 55b4c4c6f1
Fix #13046: Simplify block sectioned comparisons (#13049) 2020-10-01 09:06:28 -03:00
Duncan ea036a38fd
Use MapCanConstructWithClear in LandSetHeightAction (#13037) 2020-10-01 08:41:35 -03:00
Michael Steenbeek e255c7bb58
Fix #13044: Rides in RCT1 saves all have "0 customers per hour" (#13045) 2020-10-01 10:32:51 +01:00
Bryan DiLaura 56e8cc77c6
Close #12409: Refactor CONSOLE_INPUT to use strong enum (#13052) 2020-10-01 10:31:03 +01:00
Duncan afbc983a94
Fix #13050: Mistake during refactor removed drawing cached track count (#13051) 2020-10-01 09:57:46 +02:00
Duncan 2063aea5ef
Remove common format formatter where possible (#13034)
* Remove common format formatter where possible

Eventually should have it limited to tooltips, window titles and widget args

* Remove remaining paint functions using common

* Remove misuse of gCommonFormatArgs
2020-09-30 22:42:04 +01:00
Michael Steenbeek e4068b9fa8
Fix #8015: RCT2 files are not found when put into the OpenRCT2 folder (#13043)
As mentioned in #8015, gExePath is never set, so I removed that variable altogether.
2020-09-30 18:37:50 -03:00
rpstester 3508bdc37d
Close #12390: Refactor PeepRideSubState to enum class
Also made a RideSubState as a union with SubState and SittingSubState
Updated all values across all files, and the corresponding assert.
2020-09-30 23:33:58 +02:00
Vinicius Sa 41820cd3c2
Close #12392: Refactor PeepActionType to use strong enum 2020-09-30 23:19:10 +02:00
Tulio Leao b92328ce34
Merge pull request #13004 from vjavs/strong-enum/PeepActionSpriteType
Refactor PeepActionSpriteType to use strong enum
2020-09-29 23:38:23 -03:00
ζeh Matt 30307ec42d
Merge pull request #13030 from ZehMatt/fix-4617-2
Fix #4617: Crash when rotating with invalid viewport open
2020-09-30 00:53:32 +03:00
Matt 005e1e0e1f
Final cleanup
Co-authored-by: Gabriel Guedes <gabriel.guedesaz@gmail.com>
2020-09-29 23:23:51 +03:00
Matt 850b10f1fd
Fix memory leak
Co-authored-by: Gabriel Guedes <gabriel.guedesaz@gmail.com>
2020-09-29 23:23:41 +03:00
Matt f765ed2f94
Use unique_ptr for TitleSequenceParkHandle Stream
Co-authored-by: Gabriel Guedes <gabriel.guedesaz@gmail.com>
2020-09-29 23:23:28 +03:00
Matt e3a4d6a245
Use std::string for TitleSequenceParkHandle HintPath
Co-authored-by: Gabriel Guedes <gabriel.guedesaz@gmail.com>
2020-09-29 23:23:01 +03:00
Matt 17bff41e82
Use std::unique_ptr for TitleSequenceParkHandle
Co-authored-by: Gabriel Guedes <gabriel.guedesaz@gmail.com>
2020-09-29 23:22:44 +03:00
Matt 464545b907
Cleanup remnants
Co-authored-by: Gabriel Guedes <gabriel.guedesaz@gmail.com>
2020-09-29 23:22:35 +03:00
Matt 668bd8dc9b
Use std::string for TitleSequence paths
Co-authored-by: Gabriel Guedes <gabriel.guedesaz@gmail.com>
2020-09-29 23:22:25 +03:00
Matt f586981cd3
Use std::string for TitleSequence names
Co-authored-by: Gabriel Guedes <gabriel.guedesaz@gmail.com>
2020-09-29 23:22:12 +03:00
Matt 612249bd74
Use vector for TitleSequence commands
Co-authored-by: Gabriel Guedes <gabriel.guedesaz@gmail.com>
2020-09-29 23:21:58 +03:00
Matt 7245f23422
Use vector for TitleSequence saves
Co-authored-by: Gabriel Guedes <gabriel.guedesaz@gmail.com>
2020-09-29 23:21:42 +03:00
Matt ccb6eb06f8
Use unique_ptr for TitleSequence instances
Co-authored-by: Gabriel Guedes <gabriel.guedesaz@gmail.com>
2020-09-29 23:21:27 +03:00
Matt c23e2621a5
Cleanup string usage
Co-authored-by: Gabriel Guedes <gabriel.guedesaz@gmail.com>
2020-09-29 23:21:03 +03:00
Matt d6c2ec898d
Fix #4617: Crash when rotating with invalid viewport open 2020-09-29 21:44:59 +03:00
Michael Steenbeek a850d76d60
Fix: Not all Junior RC pieces shown with "Show all track pieces" on 2020-09-29 19:57:34 +02:00
Vinicius Sa ca8fa55fdb
Use EnumValue to get the underlying value of an enum
Applied to objects of the enum class PeepActionSpriteType when they are
used as arrays subscripts.
2020-09-29 11:15:07 -03:00
Vinicius Sa f8dd0a57aa
Refactor PeepActionSpriteType to use strong enum 2020-09-29 11:15:04 -03:00
Ben Johnston 147daa8f01
Refactor PARK_AWARD to use strong enum (#13017)
* Refactor PARK_AWARD to use strong enum
2020-09-28 21:48:03 -03:00
Duncan 3c8adb1fc1
Remove gMapTooltip format args global (#12971)
Fix mistake
2020-09-28 21:45:28 -03:00
Aaron van Geffen a0341a7aeb
Fix #13021: Mowed grass and weeds don't show up (#13031) 2020-09-28 21:44:29 -03:00
Gymnasiast 84201678ca
Add comment 2020-09-28 21:41:50 +02:00
Matt 213b6cc672
Use unique_ptr for GetStreamFromRCT2Scenario 2020-09-28 21:17:28 +02:00
Gymnasiast 5f0aed0929
Add .sea support to New Scenario list and extension handling 2020-09-28 21:17:28 +02:00
Łukasz Pękalski d1cd2e08b5
Close #12388, refactor PeepState to use strong enum (#12927)
* Close #12388, refactor:PeepState to use strong enum

* refactor: refactored file PlayTests.cpp

* refactor: change PEEP_STATE_ to PeepState:: and camel case after merging

chore: code reformatting
2020-09-28 15:51:49 -03:00
Aaron van Geffen d27e14f45b
Compact, statically initialized syntax for event lists (#12973) 2020-09-28 20:36:15 +02:00
ζeh Matt 54edba2272
Merge pull request #13023 from gsckoco/make_add_news_item_assoc_optional
Make add_news_item assoc optional
2020-09-28 20:28:45 +03:00
Łukasz Pękalski 065da23b3b
Close #12437, refactor: RIDE_MODE_* to strong enums (#12833)
* partial refactor: RIDE_MODE_* to strong enums

* Close #12437, refactor: RIDE_MODE_* to strong enums

* chore: code formatting

* refactor: RideMode, change enum names to CamelCase

and resolve casting order.

* chore: refactor due to code formatting

* Close #12437, refactor: RIDE_MODE_* to strong enums

Resolved comments

* chore: Formatting correction.

* Use EnumsToFlags constexpr

* refactor: resolved comments

added newline at the end of file

* refactor: Change case stack to default in Switch

Co-authored-by: duncanspumpkin <duncans_pumpkin@hotmail.co.uk>
2020-09-28 14:09:59 +01:00
gsckoco 391dabc4f9 Made add_news_item argument assoc optional 2020-09-28 12:28:31 +01:00
Tulio Leao 8f5ee758ee
Fix #3200: Close Construction window upon selecting vehicle page (#13022) 2020-09-28 07:37:22 -03:00
Michael Steenbeek 3c07a9e49b
Allow opening Objective options via console (#13000) 2020-09-27 21:53:31 -03:00
Duncan 4ec10837a6
Remove Formatter::Common where not required (#12972)
* Remove Formatter::Common where not required

* Remove common from Guest window where possible
2020-09-27 21:09:08 -03:00
Richard Fine a1222fa4ca
Staff code cleanup (#12907)
* Make UpdateFixing*() methods use const where possible

To make it clearer which steps actually modify the ride being fixed and which do not, pass const Ride* instead of Ride* where possible.

* Extract maximum litter search distance to a constant

* Make peep_update_*() methods return bool

* Use Direction type and helpers where applicable

* Const correctness and other cleanup

Make many functions take a const Peep* / const Staff* to clarify that they do not modify the peep being passed in. Also use the Direction type for some return values, and simplify staff_is_location_on_patrol_edge.

* Use clearer expression of constant value

Co-authored-by: Michael Steenbeek <m.o.steenbeek@gmail.com>

* Convert staff functions to members

* Remove AsStaff const overload

* Use As<Staff>() instead of static_cast

* Simplify direction selection code

* Clean up use of magic constants

Co-authored-by: Michael Steenbeek <m.o.steenbeek@gmail.com>
2020-09-27 21:07:09 -03:00
Tulio Leao d01dcea98a Release v0.3.1
- Feature: [#10807] Add 2x and 4x zoom levels (currently limited to OpenGL).
- Feature: [#12703] Add scenario plugin APIs.
- Feature: [#12708] Add plugin-accessible names to all game actions.
- Feature: [#12712] Add TCP / socket plugin APIs.
- Feature: [#12840] Add Park.entranceFee to the plugin API.
- Feature: [#12884] Add BaseTileElement.occupiedQuadrants to the plugin API.
- Feature: [#12885] Add SmallSceneryElement.quadrant to the plugin API.
- Feature: [#12886] Make all scenery placement and remove actions available to the plugin API.
- Feature: [#2350, #12922] Add snow, heavy snow and blizzard to weather types.
- Fix: [#400] Unable to place some saved tracks flush to the ground (original bug).
- Fix: [#5753] Entertainers make themselves happy instead of the guests.
- Fix: [#7037] Unable to save tracks starting with a sloped turn or helix.
- Fix: [#12691] Ride graph tooltip incorrectly used count instead of number string.
- Fix: [#12694] Crash when switching ride types with construction window open.
- Fix: [#12701] Silent NSIS setup flag /S isn't silent, upgrade pop-up appears anyway.
- Fix: [#12737] Space Rings draw the same vehicle 4 times.
- Fix: [#12756] Scenario Editor crashing the game on macOS.
- Fix: [#12764] Rides don't start aged anymore.
- Fix: [#12818] Ride price not ignored in free-rides parks.
- Fix: [#12820] Title menu buttons not invalidating properly
- Fix: [#12845] Deleting ride with active ad campaign creates incorrect notification.
- Fix: [#12857] Incorrect Peep thoughts in imported RCT1 parks.
- Fix: [#12881] Guests' favourite rides are not listed in the guest window.
- Fix: [#12910] Plugin API: getRide sometimes returns null for valid ride IDs.
- Fix: [#12912] Plugin: selectedCell of CustomListView is being ignored on creation.
- Fix: [#12918] Cannot place vanilla TD6 tracks of the Hypercoaster, Monster Trucks, Classic Mini Roller Coaster, Spinning Wild Mouse and Hyper-Twister types.
- Fix: Incomplete loop collision box allowed overlapping track (original bug).
- Improved: [#12806] Add Esperanto diacritics to the sprite font.
- Improved: [#12837] Arabic text is now drawn and shaped correctly on Windows.
- Improved: [#12890] Add stroke to lowercase 'L' to differentiate from capital 'I'.
- Technical: [#12749] The required version of macOS has been lowered to 10.13 (High Sierra).
2020-09-27 17:57:34 -03:00
Tulio Leao afff2c10f2 Add new backtrace token for v0.3.1 2020-09-27 17:35:46 -03:00
Michał Janiszewski 8daca5b69e Add better controls over MinGW jobs to CMake 2020-09-27 20:29:49 +02:00
Matt 958f3824c9
Fix #12969: Crash opening ride window with invalid mechanic assigned 2020-09-27 13:40:40 +03:00
Aaron van Geffen 62b13e68bc
Fix #13005: Last player action is not truncated (#13007) 2020-09-27 11:41:28 +02:00
Michał Janiszewski 17e86a61c9
WinNT5.1 networking fixes (#12759) 2020-09-24 10:28:24 +02:00
Michael Steenbeek e5ec74feaf
Fix #12918: Cannot place "Blue Hurricane" (hypercoaster) (#12982)
The track design was recognised as a Corkscrew RC, not as a Hypercoaster. Moved the conversion code from the track design repository to the TD6Importer (where it should have been, really).

This also fixes the issue that Hypercoasters, Monster Trucks, Classic Mini Roller Coasters, Spinning Wild Mouses and Hyper-Twisters placed from a track design have the wrong ride type.
2020-09-21 22:42:25 +02:00
Michał Janiszewski 0ae86d0558
Don't use empty resolutions (#12980) 2020-09-20 23:13:10 -03:00
Richard Fine 4030d9050e
Fix #12974: unable to build fences on slopes (#12975)
Fix the casing of 'isAllowedOnSlope' to match the way it is cased in the JSON files, which causes the flag to be read correctly and re-enables building on slopes for the scenery pieces which have it specified.
2020-09-20 06:54:01 +01:00
Duncan 124161b459
Implement copy constructors (#12970) 2020-09-19 13:58:05 +01:00
Michael Steenbeek 4a79e9305f
Replace gfx_draw_string_right() with DrawTextBasic (#12966) 2020-09-18 21:39:00 -03:00