Commit Graph

14211 Commits

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

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

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

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

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

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

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

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

So why is it being flagged?

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

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

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

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

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

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

This takes multithreading into account as well

* Apply review fixes

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

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

Should be further scope for refactoring from this.

* Make suggested changes

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

* Fix formatting

Co-authored-by: Michael Steenbeek <m.o.steenbeek@gmail.com>
2020-02-11 11:44:05 +00:00
Tulio Leao d0b255d98b Start zAttemps from 0 2020-02-10 21:55:21 -03:00
Tulio Leao e79584fe24 Remove superflous if 2020-02-10 21:55:21 -03:00
Tulio Leao 6522b10dfa Make Z attempts crescent 2020-02-10 21:55:21 -03:00
Tulio Leao fabef9b050 Modify height search to also affect maze construction 2020-02-10 21:55:19 -03:00
aw20368 d2e5c29ce0 review changes (squash) 2020-02-10 21:54:41 -03:00
aw20368 c76378bc8b Fix #8064 Ride construction errors shown as (undefined string)
The search for height to build track ended at a half-height, leading to (undefined string) error. Changed to always end at whole height and search as high as possible.
2020-02-10 21:54:26 -03:00
Michael Steenbeek 723f658dbd
Change ride_idnew_t to 16 bit; use it in more places (#10667) 2020-02-10 22:41:49 +01:00
Ted John 4e032aeff0 Improve WinHttp code 2020-02-08 18:11:08 +00:00
Ted John 4af69555d1 Improve WinHttp logic / code 2020-02-08 17:47:03 +00:00
Ted John be9cb19df5 Replace cURL with WinHttp implementation on Windows
This reduces the number of third party dependencies for Windows builds. WinHttp is quite a nice straight forward API so doesn't involve too much extra code.
2020-02-08 17:47:03 +00:00
Michael Steenbeek d16fbb0cd2
Change ride->overall_view to CoordsXY (#10673) 2020-02-08 17:19:59 +01:00
Michael Steenbeek 5da4903430
Fix #10629: Footpaths on the ground do not cost money (#10671) 2020-02-08 16:29:14 +01:00
Michael Steenbeek 1a5bbdb97e Merge pull request #10660 from IntelOrca/windows-crypt-cng
Replace OpenSSL with Windows BCrypt API
2020-02-08 10:27:29 +01:00
Duncan 661be85193
Fix #10196: Cannot place doors at end of track corners (#10663) 2020-02-08 00:02:33 +01:00
Michał Janiszewski 2340206b34
Place constexpr functions in anonymous namespace (#10651) 2020-02-06 08:50:10 +01:00
Ted John b76092eda3 Fix mingw 2020-02-05 22:39:22 +00:00
Ted John d402580201 Update cmake config 2020-02-05 21:28:59 +00:00
Ted John d6da718717 Link to bcrypt instead of ncrypt 2020-02-05 21:24:31 +00:00
Ted John 0cc02f397e Fix guards on crypto implementations 2020-02-05 08:04:05 +00:00
Ted John 57a758b9c0 Get all crypto tests passing 2020-02-05 02:09:19 +00:00
Ted John e2a541bff4 Get import / export of public key working 2020-02-05 00:36:41 +00:00
Ted John c8ef6233aa Add CNG implementation of crypto functions 2020-02-04 22:49:43 +00:00
Duncan 1dc7bc2466
Merge pull request #10643 from Gymnasiast/refactor/remove-optional-polyfill
Remove opt::optional polyfill
2020-02-02 12:24:10 +00:00
Ted John 0689829980
Update Windows dependencies to v20 (#10642) 2020-02-01 21:38:07 +00:00
Gymnasiast ca2f37ae7f
Remove opt::optional polyfill
std::optional is supported by Xcode 10. The non-polyfill variant was already used in our code, so this is not likely to break anything that wasn't broken before.
2020-02-01 22:25:03 +01:00
Michael Steenbeek fd6c709128
Merge pull request #10608 from Gymnasiast/refactor/last-next-research-item-optional
Convert gResearchLast/NextItem to std::optional
2020-02-01 22:07:11 +01:00
Michael Steenbeek 57daba8796
Merge pull request #10640 from IntelOrca/github-actions-android
Enable Android builds with GitHub Actions
2020-02-01 21:52:08 +01:00
Ted John 1e6bf84796
Do not log element out of range as error (#10641)
Many routines will attempt to access tile elements outside the range of the map. This can happen for example when a routine is observing surrounding tiles of a piece of track that is near the edge of the map. Null is returned from the function which is handled by the routine, so not really an error and can reduce many bounds checking in callers.
2020-02-01 20:44:57 +00:00
Ted John a64c9e9924 Only build 32/64 ARM and package just apk file 2020-02-01 16:22:57 +00:00
Ted John a02448e1fa Link stdc++fs for Clang as well as GCC (#10626) 2020-01-28 13:31:03 +00:00
Gymnasiast c77c69a0c4
Refactor calls 2020-01-26 16:21:42 +01:00
Gymnasiast 66dbb5e166
Refactor access to ResearchItem's rawValue 2020-01-26 15:17:37 +01:00
Gymnasiast e6c32230bc
Convert rawValue to uint32 2020-01-26 14:12:57 +01:00
Gymnasiast 63fddee603
Convert gResearchLast/NextItem to std::optional 2020-01-26 10:07:16 +01:00
Ted John 519ea1c8c3 Fix #10376: No ratings generated when a shop and track intersect (#10387) 2020-01-25 23:09:58 +01:00
Michael Steenbeek 2b6e925744
Fix testing giga coaster with cable lift crashing the game (#10620) 2020-01-25 12:24:04 +01:00
Duncan 4a22158387 Fix #10386. Mistake made while refactoring (#10607)
Added some additional comments whilst investigating the issue. Ultimate fix should look at changing the bounding box units but unsure of consequences
2020-01-25 10:30:38 +01:00
ζeh Matt 32d6ed2bc2
Merge pull request #10593 from tupaschoal/pr-10048
Fix #9477: Process exit code is always 0
2020-01-24 22:38:22 +01:00
Duncan 171e255981 Fix #10598. Mistake made when fixing #7784. (#10606) 2020-01-23 22:43:29 +01:00
Michael Steenbeek 3192bfb7c6
Move research functions to method; remove unused function (#10609) 2020-01-22 22:51:11 +01:00
Aaron van Geffen d1eb041958 Increase height of track save buttons. (#10604) 2020-01-22 13:30:33 +01:00
Aaron van Geffen acc6cffad3 Apply clang-format. 2020-01-22 11:41:34 +01:00
Michael Berk 914c07a711 Added Random Title Sequence 2020-01-22 11:41:34 +01:00
Michael Steenbeek 733ec6ec24
Fix water sides glitch (#10599) 2020-01-21 14:34:25 +01:00
Tulio Leao c87e1ff9b6 Use EXITCODE enum on game startup 2020-01-19 19:37:27 -03:00
Lomash Gupta 0165261ac0 Fix #9477: Fix process exit code always being zero
- Replaced gExitCode occurences with EXIT_SUCCESS and EXIT_FAILURE
- Removed global declaration of gExitCode
2020-01-19 18:35:24 -03:00
Lomash Gupta 36840f3fe0 fixed gExitCode 2020-01-19 18:35:24 -03:00
duncanspumpkin 28565b370d Fix clang format 2020-01-19 17:19:45 +00:00
duncanspumpkin 272e4f29a3 Further minor refactors 2020-01-19 17:16:42 +00:00
duncanspumpkin 08ea5585ee Small refactors and cleanups 2020-01-19 17:16:42 +00:00
duncanspumpkin 5e9e9df7ce Refactor invalidate_sprite 2020-01-19 17:16:42 +00:00
duncanspumpkin 71aed18fba Rfactor sprite_set_coordinates 2020-01-19 17:16:42 +00:00
duncanspumpkin bdcfd615ed Refactor sprite_move 2020-01-19 17:16:41 +00:00
duncanspumpkin a262f325ed Refactor sprite_remove 2020-01-19 17:15:52 +00:00
duncanspumpkin 65c6564165 Use SpriteBase instead of rct_sprite for move_sprite_to_list 2020-01-19 17:15:52 +00:00
duncanspumpkin 1b6bfa2bbf Remove no longer strictly correct comments 2020-01-19 17:15:51 +00:00
duncanspumpkin a5ef8d6240 Rename rct_vehicle 2020-01-19 17:14:56 +00:00
duncanspumpkin 164acc85cc Rename sprites to newer style naming 2020-01-19 17:10:53 +00:00
duncanspumpkin 86a20805ad Correct the types for exporting 2020-01-19 17:08:57 +00:00
duncanspumpkin 4e796ec92d Increase Sprite size to 0x200
This should allow for major refactoring of the sprite classes
2020-01-19 17:08:57 +00:00
Michael Steenbeek b1e8caa575
Merge pull request #10570 from tupaschoal/use-more-coords-6
Prefer CoordsXY* on more places
2020-01-19 18:06:20 +01:00
Michael Steenbeek 1892a3da48
Merge pull request #10574 from tupaschoal/footpath-direction-delta
Prefer CoordsDirectionDelta on footpath_update_path_wide_flags()
2020-01-19 18:06:02 +01:00
Gymnasiast af12421f2d
Apply fixes 2020-01-19 17:34:11 +01:00
modulo7 fdf0c17fd8
Name field var_CD of vehicle struct. Refactor to enum 2020-01-19 17:34:11 +01:00
Tulio Leao b7e9b36a27 Prefer std::array and COORDS defines on Map::CoordsDirectionDelta 2020-01-19 13:30:29 -03:00
Tulio Leao 0d88c73b90 Prefer std::array and COORDS defines on Fountain arrays 2020-01-19 13:30:29 -03:00
Tulio Leao c8097eab3a Use CoordsXYE on maze_entrance_hedge_removal() 2020-01-19 13:30:28 -03:00
Tulio Leao a3ecefcf89 Use CoordsXYE on maze_entrance_hedge_replacement() 2020-01-19 13:30:28 -03:00
Tulio Leao 893086440c Use CoordsXYZ on park_entrance_get_index() 2020-01-19 13:30:28 -03:00
Tulio Leao d34321fdaa Use CoordsXY on ride_entrance_exit_place_ghost() 2020-01-19 13:30:28 -03:00
Tulio Leao e65f9424cf Use CoordsXYZ on rct_duck::MoveTo() 2020-01-19 13:30:26 -03:00
Tulio Leao 49bd8e0c67 Use CoordsXYZ on banner_get_ride_index_at() 2020-01-19 13:28:24 -03:00
Tulio Leao 5a74d057b0 Use CoordsXY on banner_get_closest_ride_index() 2020-01-19 13:28:24 -03:00
Tulio Leao ad89319918 Simplify loop on footpath_update_path_wide() 2020-01-19 13:09:45 -03:00
Tulio Leao 132ab424f7 Use loop on footpath_update_path_wide() to iterate with CoordsDirectionDelta 2020-01-19 13:09:45 -03:00
Tulio Leao 57faa437c0 Prefer CoordsDirectionDelta on footpath_update_path_wide_flags() 2020-01-19 13:09:45 -03:00
Michael Steenbeek d798811c4a Make GetWaterHeight return big Z (#10579)
* Make GetWaterHeight return big Z

* Restore > 0 [ci skip]
2020-01-19 15:12:48 +00:00
Duncan 8abb9e5515
Fix obstructions not stopping ride placement (#10585) 2020-01-19 15:12:26 +00:00
Duncan 0702808692
Use a game action result for clear at function (#10576)
* Use a game action result for clear at function

* Clean up callers of set_error_text

* Make it compile

* Make suggested changes

* fix compile

* Fix nullptr deref
2020-01-19 13:14:37 +00:00
Michael Steenbeek 8a9f0eeca5
Prepare track piece handling code for more than 256 pieces (#10575) 2020-01-17 12:27:14 +01:00
duncanspumpkin 98de6db515 Increment network version 2020-01-16 20:28:42 +00:00
duncanspumpkin f04e791f7c When in NO_MONEY mode still path to shops with prices 2020-01-16 20:28:38 +00:00
Michael Steenbeek b9ee231a59
Merge pull request #10559 from tupaschoal/use-more-coords-5
Only use CoordsXY objects in world/Footpath.cpp
2020-01-14 22:30:17 +01:00
Tulio Leao 931adaa747 Use TileCoordsXY on footpath_fix_corners_around() 2020-01-14 07:33:46 -03:00
Tulio Leao 05baa13012 Use CoordsXY on footpath_fix_ownership() 2020-01-14 07:33:46 -03:00
Tulio Leao ac063a7e9a Use CoordsXY on footpath_update_path_wide_flags() 2020-01-14 07:33:43 -03:00
NuclearFej 0192b25943 Android: target SDK 28, remove absolute path (#10568)
Android version: an absolute path was replaced with a call to the Environment class. The target SDK of 29 was decremented to a target SDK of 28 to fix an incompatibility with an SDK change. Game now builds; however a desktop version must be built first so that build artifacts are present in /bin.
2020-01-13 22:38:59 +00:00
Michael Steenbeek 77d18a664b
Implement #10358: Clean up leftover references to openrct2.website 2020-01-13 20:20:49 +01:00
Michael Steenbeek 0f306d6f5c
Fix #10547: RCT1 parks have too many rides available (#10556) 2020-01-13 19:23:05 +01:00
ζeh Matt 2242a72b29 Add assertion failure reason to the Backtrace service integration (#10562) 2020-01-13 19:22:45 +01:00
Tulio Leao 89edde6a3c Use CoordsXY on footpath_bridge_get_info_from_pos() 2020-01-12 22:27:30 -03:00
Tulio Leao 201d13577e Use CoordsXY for footpath_get_coordinates_from_pos() 2020-01-12 22:20:29 -03:00
Michael Steenbeek 3fc5f75eb8
Fix #8875: RCT1 competition scenarios are classified incorrectly (#10548) 2020-01-12 14:29:02 +01:00
Michael Steenbeek d7f23bc5bf
Close #6898: Remove LOADMM and LOADRCT1 commands (#10546) 2020-01-12 14:26:33 +01:00
Michael Steenbeek c5297dfcdd
Fix #10550: Hovering the mouse cursor with path on a certain height level works weird (#10552) 2020-01-12 14:26:15 +01:00
Michael Steenbeek f05aeb1fcd
Fix #7784: Vehicle tab takes 1st car colour instead of tab_vehicle's colour (#10544) 2020-01-12 10:32:11 +01:00
Michael Steenbeek 09ac8a0c59
Merge pull request #10540 from IntelOrca/fix/10496-non-eng-paths
Fix #10496: Game can't handle path with non-english string
2020-01-12 10:31:31 +01:00
Ted John 9562f42d91 Convert object filenames to UTF-8 when exporting 2020-01-11 23:59:38 +00:00
Michael Steenbeek 5e5752d49d
Fix secondary prices being imported incorrectly from SV4 (#10543)
An oversight that has been present since the very first version of the SV4 import code.
2020-01-11 23:27:01 +01:00
Duncan 20223eb5fb Refactor update_sound_params to be member functions 2020-01-11 20:54:28 +01:00
Michael Steenbeek 44dc2068e7
Merge pull request #10515 from tupaschoal/use-more-coords-4
Use CoordsXY* on world/Footpath.cpp
2020-01-11 20:52:39 +01:00
Tulio Leao c5ec4982a3 Use CoordsXY on footpath_chain_ride_queue() 2020-01-11 11:13:05 -03:00
Tulio Leao 57da25cab9 Use CoordsXYZD on footpath_is_connected_to_map_edge_recurse() 2020-01-11 11:13:05 -03:00
Tulio Leao 6189d13b2c Use CoordsXYZD on footpath_is_connected_to_map_edge() 2020-01-11 11:13:05 -03:00
Tulio Leao 301e0cfeb1 Use CoordsXYZ on footpath_remove_litter() 2020-01-11 11:13:05 -03:00
Tulio Leao 613dd41b53 Use CoordsXYZ on map_get_footpath_element_slope() 2020-01-11 11:13:05 -03:00
Tulio Leao 900a2fbd7b Use CoordsXYRangedZ on footpath_get_element() 2020-01-11 11:13:05 -03:00
Tulio Leao 8e0020e5a2 Use CoordsXYRangedZ for footpath_remove_edges_towards() 2020-01-11 11:13:05 -03:00
Tulio Leao 09e434bc19 Use CoordsXYZD on footpath_remove_edges_towards_here() 2020-01-11 11:13:05 -03:00
Tulio Leao 777898fd6c Use CoordsXY on footpath_reconnect_queue_to_path() 2020-01-11 11:13:05 -03:00
Tulio Leao d8c8f2d804 Use CoordsXYZ on footpath_connect_corners_get_neighbour() 2020-01-11 11:13:04 -03:00
Tulio Leao 7cf03d3e41 Use CoordsXY on footpath_remove_edges_at() 2020-01-11 11:13:04 -03:00
Tulio Leao 2b1101d320 Use CoordsXYZ on footpath_interrupt_peeps() 2020-01-11 11:13:04 -03:00
Tulio Leao 9aad709d5c Use CoordsXY on footpath_disconnect_queue_from_path() 2020-01-11 11:13:04 -03:00
Tulio Leao b829b22415 Use CoordsXYRangedZ on fence_in_the_way() 2020-01-11 11:13:01 -03:00
Tulio Leao 78611b664f Use CoordsXY on footpath_connect_corners() 2020-01-11 11:00:19 -03:00
Ted John 171969f5fb Fix #10496: Game can't handle path with non-english string 2020-01-11 00:43:00 +00:00
Tom Lankhorst 6f0ea7b3c2 Link stdc++fs with GCC (#10522) 2020-01-09 19:57:28 +01:00
Tom Lankhorst 2ff8a467c6 Find Jansson with pkg-config on non-MSVC. (#10521) 2020-01-09 19:56:25 +01:00
Tulio Leao c470d84210 Fix #10524: Banners not placeable above certain height (#10528) 2020-01-06 15:10:38 +00:00
Michael Steenbeek 08ab15ef36
Fix #10313: Path furniture can be placed on level crossings 2020-01-05 17:59:02 +01:00
X123M3-256 5063cd2283 Fix line that causes build to fail on Mac (#10518) 2020-01-05 14:34:39 +01:00
Tulio Leao e7ee8ebc03 Use CoordsXY on footpath_update_queue_entrance_banner() 2020-01-05 09:14:55 -03:00
Tulio Leao 482ca8765c Use CoordsXY on Footpath's loc_6A6D7E() and loc_6A6C85() 2020-01-05 09:14:51 -03:00
Tulio Leao b1dc6ed6ed Use CoordsXY on footpath_connect_edges() 2020-01-05 08:20:16 -03:00
Michael Steenbeek 63da894257
Merge pull request #10511 from tupaschoal/improve-clear-at
Improve variable names in map_can_construct_with_clear_at() and use big Z
2020-01-04 19:57:46 +01:00
Michael Steenbeek 0c9b1cec96
Correct max vehicles per ride value (#10504)
* Correct max vehicles per ride value

* Fix formatting

* Fix constant usage in TrackDesign.cpp
2020-01-04 18:10:33 +01:00
Tulio Leao d3579e472b Use Big Z coordinates for map_can_construct_with_clear_at() vars 2020-01-04 10:31:18 -03:00
Tulio Leao dff747ce0f Improve variable names in map_can_construct_with_clear_at() 2020-01-04 10:27:57 -03:00
Tulio Leao d861658669 Use CoordsXY on Scenery and SmallScenery (#10513) 2020-01-04 12:45:51 +01:00
Tulio Leao c4a865384e Move Mac-only str handling functions to Platform (#10264) 2020-01-04 12:44:40 +01:00
Michael Steenbeek e87607fa6d
Merge pull request #10402 from NuclearFej/develop
Android: fix Gradle, CMake, asset copying; upgrade to AndroidX, fullscreen mode
2020-01-02 13:47:36 +01:00
Kevin Laframboise 13e946a239 Fix #10464: Incorrect error messages for track placement (#10494) 2020-01-02 08:11:24 +00:00
Duncan f4440b57b7
Merge pull request #10488 from Gymnasiast/refactor/map_get_footpath_element
Refactor map_get_footpath_element() and fix #10486
2020-01-02 07:45:15 +00:00
NuclearFej f35dd778e5 Android: enable fullscreen mode, raise min SDK
Fullscreen mode (sticky immersive) is enabled. The minimum SDK version was raised to 19 (4.4.2 KitKat, which is more than old enough) from 16 to enable this.

Additonally, deprecation compiler warnings were enabled.
2020-01-01 22:57:19 -05:00
Gymnasiast 5c0a62c31a
Implement review requests 2020-01-01 23:03:41 +01:00
ζeh Matt a7c1f1fcc4
Merge pull request #10490 from ZehMatt/fix-10489
Fix #10489: Hosts last action not being synchronized
2019-12-31 17:21:00 +01:00
Matt ef4a3d0528
Fix #10489: Hosts last action not being synchronized 2019-12-31 10:34:33 +01:00
Michael Steenbeek 29922da871
Refactor calls to staff_is_patrol_area_set() 2019-12-31 10:10:40 +01:00
Gymnasiast 0d09a645fc
Refactor map_get_footpath_element() and fix #10486 2019-12-31 10:08:36 +01:00
Kevin Strehl 37110f386d Add Keyboard Shortcuts to the Tile Inspector (#10430) 2019-12-31 09:34:38 +01:00
Duncan c170926200 Refactor to prefer baseZ instead of height for big Z (#10478) 2019-12-31 09:33:27 +01:00
Duncan c74339fed9 Fix #10477. Fix upper max height limit being very low for large scenery
Mistake made while improving mouse control when zoomed out caused the upper limit for multi tile scenery to be limited by the sum of all clearance z values instead of the greatest clearance z value.
2019-12-31 09:15:46 +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
Gymnasiast 1133a8c81c
Remove sLocationXY8 2019-12-30 23:03:13 +01:00
Duncan 2c359736ee
Refactor to reduce usage of LocationXY8 and sLocationXY8 (#10479)
* Refactor to reduce LocationXY8 usage

* Further reduction of LocationXY usage and sLocationXY usage

* Reduce sLocationXY8 usage
2019-12-30 19:03:34 +00:00
Tulio Leao 06fb16ee88 Use CoordsXYZ for gMapSelectArrowPosition (#10442) 2019-12-30 16:51:35 +00:00
Tulio Leao 8b4e0d7bab Make Map::wall_remove_*() use CoordsXY* (#10461)
* Make Map::wall_remove_at() use CoordsXYRangedZ

* Make Map::wall_remove_at_z() use CoordsXYZ

* Make Map::wall_remove_intersecting_walls() use CoordsXYRangedZ

* Remove useless TODO and simplify functions
2019-12-30 16:51:01 +00:00
Tulio Leao a7b33a7d36 Use more Coords on some files. (#10463)
* Use more Coords on MazePlaceTrackAction

* Use more Coords on MazeSetTrackAction

* Use more Coords on PlacePeepSpawnAction

* Use more Coords on SetCheatAction

* Use more Coords on SurfaceSetStyleAction

* Use more Coords on Station
2019-12-30 16:50:48 +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 2d7dccb0c2 Make Map::map_can_construct_*() use CoordsXYRangedZ (#10462)
* Make Map::map_can_construct_with_clear_at() use CoordsXYRangedZ

* Make Map::map_can_construct_at() use CoordsXYRangedZ
2019-12-30 15:00:42 +00:00
Michael Steenbeek 9de8fa233f
Fix #5249: No collision detection when building ride entrance at heights > 85.5m (#10473) 2019-12-30 14:01:36 +01:00
Michael Steenbeek 4b0dff92aa
Name word_981D6C (#10471) 2019-12-30 12:29:08 +01:00
Duncan 7a64eb4402 Fix #10470. Mistake caused by reusing variable names for different functions. (#10476)
Added in comments to clarify why function is required. Renamed variables again to clarify what they are used for
2019-12-30 12:26:58 +01:00
Michael Steenbeek fa4ed37895
Fix #10468: Ride's Entrance/Exit is not buildable above a certain height level (#10472) 2019-12-29 23:48:15 +01:00
Michael Steenbeek bad5e326d1
Merge pull request #10103 from tupaschoal/compilation-warnings
Fix some compilation warnings
2019-12-28 23:09:14 +01: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
Tulio Leao 84928cb4ef Comment why GetOrLoadImageTexture returns BasicTextureInfo 2019-12-27 15:05:28 -03:00
Tulio Leao f790fb9079 Improve variable initialisation, if statements and assertions 2019-12-27 15:05:28 -03:00