Commit Graph

222 Commits

Author SHA1 Message Date
Gymnasiast 93926d5e5d
Move all the ride type-specific track categories to regular ones 2020-02-22 23:20:12 +01:00
Gymnasiast dc04c5ec95
Refactor custom track piece handling 2020-02-22 23:01:34 +01:00
Michael Steenbeek 08ca829ac2
Create RideTypeDescriptors (#10707) 2020-02-20 11:00:03 +01:00
Tulio Leao 60e2546b2d Improve legibility of ride placement # attempt calculation 2020-02-13 23:10:33 -03:00
Tulio Leao d0b255d98b Start zAttemps from 0 2020-02-10 21:55:21 -03:00
Tulio Leao e79584fe24 Remove superflous if 2020-02-10 21:55:21 -03:00
Tulio Leao 6522b10dfa Make Z attempts crescent 2020-02-10 21:55:21 -03:00
Tulio Leao fabef9b050 Modify height search to also affect maze construction 2020-02-10 21:55:19 -03:00
aw20368 d2e5c29ce0 review changes (squash) 2020-02-10 21:54:41 -03:00
aw20368 c76378bc8b Fix #8064 Ride construction errors shown as (undefined string)
The search for height to build track ended at a half-height, leading to (undefined string) error. Changed to always end at whole height and search as high as possible.
2020-02-10 21:54:26 -03:00
Tulio Leao d34321fdaa Use CoordsXY on ride_entrance_exit_place_ghost() 2020-01-19 13:30:28 -03:00
Gymnasiast 5c0a62c31a
Implement review requests 2020-01-01 23:03:41 +01:00
Gymnasiast 0d09a645fc
Refactor map_get_footpath_element() and fix #10486 2019-12-31 10:08:36 +01:00
Duncan d486ac4d3b Reduce direct usage of LOCATION_NULL (#10480)
* Reduce direct usage of Location_Null

Ideally we want to refactor these out to use std::optional as much as possible but for now move to using the standard interfaces.

* Remove incorrect AND with LOCATION_NULL

In the original this was a simple comparison to check for negative. Unsure how it ended up as an AND with the negative bit.
2019-12-31 09:01:17 +01:00
Tulio Leao 06fb16ee88 Use CoordsXYZ for gMapSelectArrowPosition (#10442) 2019-12-30 16:51:35 +00:00
Michael Steenbeek 77494bbc73 Create definitions for some coords related stuff (#10456)
* Create definitions for some coords related stuff

* Use constexpr; add define for Z step
2019-12-30 15:03:51 +00:00
Tulio Leao 98110c0544 Make Map::map_invalidate*() use CoordsXY (#10437)
* Make Map::map_invalidate_element() use CoordsXY

* Make Map::map_invalidate_tile_full() use CoordsXY

* Make Map::map_invalidate_tile_zoom0() use CoordsXY

* Make Map::map_invalidate_tile_zoom1() use CoordsXY

* Make Map::map_invalidate_tile() use CoordsXY

* Use CoordsXYRangedZ for map invalidation

* Fix vehicle tile invalidation use Z instead of Y coord

* Fix BannerRemoveAction sending Z TileCoords to invalidate tile

* Fix wrong tile invalidation on peep_update_walking_break_scenery

* Prefer ToTileStart over bitwise and
2019-12-28 08:44:33 +00:00
Michael Steenbeek d0744df22f
Merge pull request #10443 from tupaschoal/reduce-locationxy
Remove LocationXY usage on windows and actions
2019-12-27 15:58:26 +01:00
Michael Steenbeek 8ca0cf52a7
Replace more direct accesses to base/clearance Z with getter/setter (#10454) 2019-12-27 15:26:40 +01:00
Tulio Leao 3c3e179e7f Remove LocationXY usage on openrct2-ui\windows\RideConstruction.cpp 2019-12-27 09:22:51 -03:00
Gymnasiast 62fcbb07ca
Rename methods to GetBaseZ/GetClearanceZ 2019-12-23 20:08:37 +01:00
Gymnasiast 85ecb52e7c
Manually replace more Z occurrences 2019-12-23 20:05:26 +01:00
Gymnasiast 7d11858dbe
Create getter for GetBaseHeight()/GetClearanceHeight() 2019-12-23 20:05:24 +01:00
Tulio Leao a2c7ecc6e5 Make Map::map_get_first_element_at() use CoordsXY (#10413)
* Make Map::map_get_first_element_at() use CoordsXY

* Fix clang-format on ClearAction.hpp

* Prefer TileDIrectionDelta over hardcoded delta on RideConstruction

* Use named Direction constants

* Make Compat::map_get_first_element_at() use CoordsXY
2019-12-23 07:35:41 +00:00
Tulio Leao 461095ab6c Fix #10417: Ride preview incorrectly centered 2019-12-22 01:48:28 -03:00
Michael Steenbeek 30b03d998c
Merge pull request #10409 from tupaschoal/coords-for-set-tile-elements
Make Map::map_set_tile_elements() use TileCoordsXY
2019-12-21 19:12:51 +01:00
Tulio Leao 5fcfc6af00 Rename map_set_tile_elements to singular 2019-12-21 10:28:52 -03:00
Tulio Leao d7efe4de90 Make Map::map_set_tile_elements() use TileCoordsXY 2019-12-21 10:28:33 -03:00
duncanspumpkin f346e439fc Change type of map selection a and b 2019-12-21 12:18:34 +00:00
Tulio Leao 918624e090 Fix #10396: Function returning TileCoordsXYZD'z coord in a CoordsXYZD object (#10398) 2019-12-19 15:41:22 +01:00
Tulio Leao 7c75db2b2d Make map_get_surface_element_at only accept Coords objects 2019-12-18 23:46:50 -03:00
Tulio Leao 2cd3add373 Make CursorState store a ScreenCoordsXY object 2019-12-14 23:30:55 -03:00
Tulio Leao af7b364946 Prefer map_is_location_valid over hardcoded map limits (#10373) 2019-12-14 22:50:34 +01:00
Duncan fed417da03
Merge pull request #10356 from duncanspumpkin/label_var
Change the label on known var to reflect use.
2019-12-11 18:14:07 +00:00
Tulio Leao 01c62437b2 Remove Ride::ride_get_rotated_coords() 2019-12-09 16:52:47 -03:00
Tulio Leao 6f0ebfea27 Use CoordsXY and ScreenCoordsXY for rotate in Ride*.* 2019-12-04 08:02:09 -03:00
Tulio Leao 1532ee2b23 Create CoordsXY::ToTileStart() and CoordsXY::ToTileCentre() 2019-11-30 16:47:23 +01:00
Tulio Leao 4537c061d9 Prefer std::optional over LOCATION_NULL on Viewport (#10297) 2019-11-29 17:17:01 +01:00
Tulio Leao 831050745c Fix #10275: Track element preview incorrect 2019-11-22 12:10:47 +01:00
Duncan 463ef9d218
Merge pull request #10238 from duncanspumpkin/viewport_get_xy_z
Refactor screen_get_map_xy_with_z to use CoordsXY structs
2019-11-19 15:02:50 +00:00
Tulio Leao 7718d83b21 Simplify assignment in RideConstruction.cpp (#10266) 2019-11-19 16:01:22 +01:00
duncanspumpkin 1d6a923298 Refactor screen_get_map_xy_with_z to use CoordsXY structs 2019-11-19 11:20:58 +00:00
Tulio Leao 2acdc577f7 Use Coords for windows/RideConstruction 2019-11-18 19:17:54 -03:00
Tulio Leao 72b4d93ad2 Avoid dereferencing map_get_surface_element_at nullptr on libopenrct2 2019-11-18 08:01:04 -03:00
Tulio Leao 93083780df Use ScreenCoordsXY for windows/Map (#10233)
* Use ScreenCoordsXY for windows/Footpath

- Refactor `place_park_entrance_get_map_position()` to receive `ScreenCoordsXY` and return `CoordsXYZD`
- Refactor `sub_68A15E()` to receive `ScreenCoordsXY` and return `CoordsXY`. Some of its usage are narrowing the result on purpose, as same variable is used for contexts where `int16_t` is still a hard requirement.

* Properly increment for big Z and use LOCATION_NULL
2019-11-14 23:09:27 +01:00
Tulio Leao 7e65aeaea3 Fix issues in code review
Implement operator== and operator!= for CoordsXYZD
Set location to null before returning from ride_get_entrance_or_exit_position_from_screen_position
2019-11-13 18:46:02 -03:00
Tulio Leao 5dfe373061 Refactor ride_get_entrance_or_exit_position_from_screen_position() 2019-11-13 09:41:58 -03:00
Tom Lankhorst 027c09553b Reformat code with clang-format 8.0. 2019-11-04 15:11:06 +01:00
Tulio Leao afc14183e7 Use ScreenCoordsXY for tool_* functions 2019-10-29 19:02:58 -03:00
Tulio Leao ce1f38da25 Use ScreenCoordsXY for window functions (#10086)
* Use ScreenCoordsXY for window_create function

* Use ScreenCoordsXY for window_find_from_point function

* Use ScreenCoordsXY for window_find_widget_from_point

* Use ScreenCoordsXY for ride_contruction_tool*

* Use ScreenCoordsXY for window_event_tool*

* Use ScreenCoordsXY for window_event_scroll_mouse*

* Use ScreenCoordsXY for remaining window_event*

* Use ScreenCoordsXY for window_(set|move)_position
2019-10-19 13:07:03 +02:00
duncanspumpkin 213ba15ba5 Remove unused code and variables from function 2019-10-07 18:36:27 +01:00
duncanspumpkin f10e4dc6b9 Remove unused variables from function call 2019-10-07 18:33:51 +01:00
Gymnasiast f365bc3cb7
Create getters and setters for occupied quadrant 2019-08-27 21:12:48 +02:00
Gymnasiast ec5ba20992
Create dedicated method for SetLastForTile() 2019-08-25 16:13:02 +02:00
Gymnasiast 6e200459d3
Refactor some accessors to tile element type and flags fields 2019-08-24 22:42:47 +02:00
duncanspumpkin f39905bd2e Clang format 2019-08-19 20:04:59 +01:00
duncanspumpkin b77f15c4b7 Refactor map_get_highest_z to use CoordsXY 2019-08-19 20:04:59 +01:00
duncanspumpkin 5fe5f8e964 Refactor audio_play_sound_at_location to use CoordsXYZ 2019-08-19 20:04:58 +01:00
duncanspumpkin 5333dc4295 Return a SurfaceElement from get_surface_element 2019-08-19 20:04:56 +01:00
Gymnasiast 255ce3f62b
Extend tile element size to 16 bytes 2019-08-18 14:03:36 +02:00
Matt cc6321048f
Refactor window_invalidate to use rct_window::Invalidate 2019-08-11 17:22:00 +02:00
Ted John 9954f0b725
Add nullptr checks for more instances of get_ride (#9819) 2019-08-09 14:20:59 +01:00
Ted John 93789b9034
Add nullptr checks for get_ride in libopenrct2ui (#9795) 2019-08-09 08:06:25 +01:00
Ted John e23638548a Reduce use of MAX_RIDES and RIDE_TYPE_NULL 2019-08-04 16:44:17 +01:00
Ted John 772475848b Fix formatting 2019-07-29 19:18:16 +01:00
Ted John 3f45976009 Fix openrct2ui errors 2019-07-29 19:18:16 +01:00
Duncan ab5f5b20cd
Use enum class for RCT2_SOUND (#9618)
* Use enum class for RCT2_SOUND

* Fix formatting. Fix mistaken declaration.

* Change name of enum to SoundId

* Fix clang format
2019-07-22 19:02:45 +01:00
Duncan 993709c087
Merge pull request #9321 from aw20368/fix/8723-use-rotate_map_coordinates
Fix #8723 Use rotate_map_coordinates to rotate coordinate
2019-06-08 07:52:52 +01:00
aw20368 e0cf476398 Fix #8723 Use rotate_map_coordinates to rotate coordinate
Added Rotate to CoordsXY, TileCoordsXY and used them to replace redundant rotation code.
2019-06-06 08:21:40 -04:00
Aaron van Geffen f1ac847fce
Merge pull request #9222 from IntelOrca/implement/485-ghost-train-simulation
Implement #485: ghost train simulation
2019-06-04 20:24:16 +02:00
aw20368 02ef545f1b Fix #9314: Trying to delete ride piece while paused moves the selection (#9332)
Failed track removal was triggering a move to the next piece. Changed to move only upon successful removal.
2019-05-30 20:51:56 +02:00
Aaron van Geffen bab7711c5b Add new simulate icon. 2019-05-28 16:50:38 +01:00
Ted John 26185b9e72 Change simulate to toggle button 2019-05-28 16:50:38 +01:00
Ted John 5289113c95 Add simulate button to ride construction window 2019-05-28 16:50:38 +01:00
Ted John c4e18e570e Add and implement simulation mode for rides 2019-05-28 16:50:08 +01:00
Filip Gawin 6833da77e3 Simplify boolean expresions 2019-05-10 22:00:38 +02:00
Michael Steenbeek 5a906b2378
Port more functions to Ride struct (#9119) 2019-04-20 22:22:39 +02:00
duncanspumpkin 561ce03d18 Fix formatting 2019-04-04 19:23:44 +01:00
duncanspumpkin 30a5194085 Use a vector for map selection tiles 2019-04-04 19:23:44 +01:00
Matt 7ed35dea70 Fix #9000: Show correct error message if not enough money available 2019-03-31 19:04:47 +02:00
Nazey 9cbc308c40 Remove gTrackGroundFlags by returning it within GameActionResult (#8930)
Fix #8726
2019-03-24 19:48:37 +00:00
Michael Steenbeek 1c570c8eec
Move some ride functions to struct methods 2019-03-20 20:05:25 +01:00
Aaron van Geffen 2af13904c5 Update copyright notices for 2019. (#8903) 2019-03-17 07:16:15 +00:00
duncanspumpkin 7fbf11ac79 Implement TrackSetBrakeSpeedAction 2019-03-11 19:08:07 +00:00
duncanspumpkin e128a78b91 Fix formating and other issues
Refactor as per comments.

Simplified some of the code as well

Use constants
2019-03-02 07:24:42 +00:00
duncanspumpkin 7f586f50e1 Move all callees to the game action framework. Fix CoordXY bug 2019-03-02 07:24:41 +00:00
duncanspumpkin dffa56aca2 Create a class for the quarter tile
Finish implementing TrackQuarterTile

Rename class
2019-02-25 13:51:00 +00:00
Michael Steenbeek 336e2cafce
Fix #4094: Long flat-to-steep pieces are offered in diagonal building mode 2019-02-25 12:02:27 +01:00
Nathaniel Ngo 300fd3a589 Fix for Issue#8725: refactoring _currentTrackBegin and _previousTrackPiece to use CoordsXYZ struct (#8759)
* Refactored _currentTrackBeginX, _currentTrackBeginY, _currentTrackBeginZ to use a CoordsXYZ struct

* Refactored _previousTracPieceX, _previousTrackPieceY, _previousTrackPieceZ to use a CoordsXYZ struct

* Refactored _currentTrackBegin and _previousTrackPiece in source files

* Fixed clang formatting
2019-02-24 09:15:31 +00:00
duncanspumpkin 3a615c2126 Use new game action for callees 2019-02-21 16:00:31 +00:00
duncanspumpkin 1418975d84 Fix shop construction on client 2019-02-19 15:20:55 +00:00
duncanspumpkin 6375d2537a Move and refactor shop interact with path code to prevent possible desync 2019-02-19 15:20:49 +00:00
duncanspumpkin 09bb99d9e8 Fix clang format and travis errors
Minor refactor

Move key callback code into callbacks. Fixes shop placement

Use rotate_map_coordinates
2019-02-19 12:31:22 +00:00
duncanspumpkin 8bf3689d42 Introduce flag to prevent ghosts in multiplayer
Fix error message arguments

Remove dead code. Fix clang format
2019-02-19 12:31:11 +00:00
duncanspumpkin 77b25714ff Move callbacks into GameActionCallbacks
Remove remaining references to game command
2019-02-19 12:30:42 +00:00
duncanspumpkin 650e8291d0 Start moving track place into GameAction framework 2019-02-19 12:30:33 +00:00
Ted John ba445cb6ef Pass Ride* instead of ride_id_t 2019-02-13 20:16:42 +00:00
Ted John fdf9f36fab Pass Ride* instead of ride_id_t 2019-02-12 23:58:45 +00:00
Ted John 9e461b2e34 Pass Ride* instead of ride_id_t 2019-02-12 23:29:38 +00:00
Ted John 9706dd8675 Pass Ride* instead of ride_id_t 2019-02-12 23:29:37 +00:00