1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-20 21:43:06 +01:00
Commit Graph

77 Commits

Author SHA1 Message Date
Michael Steenbeek
e9993f78de Replace read access of small scenery entry index 2018-09-13 17:02:38 +02:00
Linus Unnebäck
fd07be587a Remove Math::Clamp in favour of std::clamp 2018-08-12 16:47:12 +01:00
ζeh Matt
b2005c3b9f Implement FootpathRemoveAction as a GameAction (#7867) 2018-08-12 10:31:00 +02:00
clang-format
b02dfdbc93 Binpack function arguments together
Previously when the arguments of a function wouldn't fit on a single line, clang-format would put each argument on its own line instead. By enabling the binpack parameter setting, it tried to fit as many on one line as possible instead.

Co-authored-by: Hielke Morsink <hielke.morsink@gmail.com>
2018-07-23 16:00:22 +02:00
clang-format
95ce592579 Enforce not breaking before assignments and function names
Co-authored-by: Hielke Morsink <hielke.morsink@gmail.com>
2018-07-23 16:00:19 +02:00
clang-format
5c55fd6132 clang-format world 2018-07-23 16:00:12 +02:00
Ted John
f79954bde3 Refactor map element organisation
Committing some changes that were originally for #7637.
- Refactor map_check_free_elements_and_reorganise
- Refactor map_strip_ghost_flag_from_elements
- Remove sub_68B089

I have removed sub_68B089 because this function was run every game tick
and 1000 times when trying to request some spare elements. It was a
lighter function which tried to stretch out the tile element pointers
behind any spare elements. In this day and age, doing a full tile
element defrag is very fast (even in debug mode it takes no more than
10ms), so I don't think keeping sub_68B089 is necessary.
2018-06-20 21:35:27 +01:00
Michael Steenbeek
1b08fb4e69 Replace our own integer types with standard ones 2018-06-20 17:30:40 +02:00
Hielke Morsink
0cf256ac9e Ready copyright notice for clang-format
Clang-format sees the text behind `#pragma region` as code and formats it. Instead of stating the copyright and date there, it's now in the comment block right below it. The text "Copyright" is left in the `#pragma region` line, as clang-format sees it as a single identifier.

I took the opportunity to normalize the dates, and add the copyright notice to the source files where it was missing them (except for third-party and the generated resources.h file).
2018-06-15 14:07:34 +02:00
Hielke Morsink
7355b497a1 Use new banner index type
BannerIndex is defined in common.h (like some other types such as money32 and rct_string_id), so that banner.h wouldn't have to be includede everywhere. Later on, it may be nicer to have a custom types file instead of putting them all in common.h.
2018-06-11 13:29:41 +02:00
Hielke Morsink
878288de76 Check for banner index correctly
At some places, BANNER_NULL and BANNER_INDEX_NULL were mixed, and at one point even MAX_BANNERS, causing the 250th banner to not be initialized properly. This commit makes the uses of those defines correct, and changes all relevant functions to return uint8 instead of sint32.
2018-06-11 13:21:48 +02:00
Hielke Morsink
ead97a4638 Split colour into union with ride index
The colour field in the banner object is also used to store the ride index when a banner is linked to a ride. This commit turns this field into a union with both named fields, to make the code clearer.

It also changes the return types of related functions to uint8 instead of sint32, and makes use of the RIDE_ID_NULL define where applicable.
2018-06-11 13:21:48 +02:00
Michał Janiszewski
1d28826b79 Fix -Wdocumentation and add it to default warnings 2018-06-11 09:52:54 +02:00
Ted John
370a6300c0 Move ViewportInteraction to libopenrct2ui 2018-06-10 23:39:56 +01:00
Hielke Morsink
5d0022a5cb Remove argument list from zero-initializers with zero/false/nullptr value 2018-06-04 19:50:46 +02:00
Michael Steenbeek
a14d59028f Modify some commands to use CoordsXY 2018-06-04 19:18:52 +02:00
Hielke Morsink
20fb4501d0 Fix #7505: Crash when building path off map edge (#7587)
Validate map location before looping over the tile elements.
2018-06-01 11:30:41 +02:00
Hielke Morsink
9396da9b71 Fix #7571 Track design ghost generates money
The problem was that when placing a ride ghost, some clearance checks are performed to see if nothing stands in the way, and if it does, it tries to raise the ride to a height where it's possible to place. When this happens, it removes all ghost track pieces that have already been placed, and tries at the next height. With clearance checks disabled, this check was still performed, while it should ignore clearance altogether.
2018-05-30 13:59:52 +02:00
Michael Steenbeek
b573bd49b3 Replace all occurrences of tile_element_is_last_for_tile() 2018-05-24 11:44:53 +02:00
Hielke Morsink
9f0d820b7c Use TileCoordsXYZD for wall locations 2018-05-14 12:36:45 +02:00
ZehMatt
5e4cdeb78b Refactor out references to compatibility function wall_remove 2018-05-11 12:33:57 +02:00
ZehMatt
8cb76cd969 Use game action directly when used from different game command/action. 2018-05-11 12:32:16 +02:00
ZehMatt
b0f7435e9d Refactor GAME_COMMAND_REMOVE_WALL to game action. 2018-05-11 12:32:14 +02:00
duncanspumpkin
fcb66b7449 Start refactoring pathfinding to use tileCoords 2018-05-05 11:42:34 +01:00
Hielke Morsink
a86482576f Land Line Tools (select land edges/row of tiles)
(This commit is multiple commits squashed together, to make rebasing and merging easier. Many of the commits undid or slightly altered previous changes.)

This Extends the land-tool by allowing the player to select an edge of a surface tile, and to select a row of tiles. Both work by holding down the Ctrl key (same key for keeping the same base-height for other tools). When using a single-sized tool, the selection will become the edge, and when using a selection area of 2x2 or higher, the selection becomes a row of tiles.

The tables `tile_element_raise_styles` and `tile_element_lower_styles` hold the data for how slopes should change when a tile gets raised or lowered with the land tool. Each row represents a selection, and each column the slope type.

Co-authored-by: Adam T <32143337+Despotico@users.noreply.github.com>
2018-05-03 23:03:07 +02:00
Michael Steenbeek
5f9d40be7a Replace tile_element_get_type() with struct method 2018-05-02 19:27:04 +02:00
oli414
126881cc8a Move last_for_tile function to tile element 2018-05-01 18:08:11 +02:00
oli414
c5fd9e67eb Seperate tile element from map 2018-05-01 17:47:00 +02:00
oli414
3bff12c081 Seperate surface tile element 2018-05-01 16:33:16 +02:00
oli414
27aa28749c Move surface element to seperate file 2018-05-01 14:57:13 +02:00
Hielke Morsink
30063984e6 Delete unused function arguments or mark them so (#7426)
This aims to make future refactoring easier. The arguments are removed where possible, but kept and marked with C++17's [[maybe_unused]] where they could not be removed (e.g. when they are used as a callback, rather than called directly).

I've skipped the rides/<category>/* and peep/* source files, because the rides source files are mostly generated and have a ton of unused variables, and the peep source files are being refactored.
I've also skipped most of window/* source files, because most of the functions are used as callbacks and will be bulk-renamed at some point.
2018-04-20 13:56:37 +02:00
Duncan
0ab3d0955c Merge pull request #7310 from OpenRCT2/json-objects
Add support for new JSON object format
2018-04-08 10:45:55 +01:00
Ted John
7c05e22cd0 Refactor large scenery tile flags field 2018-03-26 21:37:23 +02:00
ZehMatt
199a3e33f4 Implement game action for sign naming. 2018-03-24 05:19:19 +01:00
Michał Janiszewski
cd065d4f41 Reduce includes in common header 2018-03-20 00:27:58 +01:00
Hielke Morsink
2d1d60294c Improved raising land near edge map
Rather than showing the user an 'off edge map!' error, this simply makes the affected area smaller.
2018-03-19 14:08:37 +01:00
Nick Overdijk
e799dc2962 Document the code by using named functions/variables/comments 2018-03-18 23:13:36 +01:00
Gymnasiast
14b22c9801 Fix missing include 2018-03-13 21:07:26 +01:00
Hielke Morsink
b78bd587b7 define BANNER_INDEX_NULL 2018-03-13 19:45:48 +01:00
Gymnasiast
38d3c3eff3 Use tile_element_[gs]et_banner_index() 2018-03-13 19:45:48 +01:00
Michael Steenbeek
c7a78807e6 Remove unused function tile_element_check_address() 2018-03-08 12:47:19 +01:00
ZehMatt
c8328610ee Optimise the algorithm for virtual floor invalidation. 2018-03-04 19:28:56 +01:00
Aaron van Geffen
ba1d269227 Move all Virtual Floor code from Map to its own file. 2018-03-04 19:28:56 +01:00
ZehMatt
fdf7adecd9 Fix #7002: Always invalidate virtual floor regardless of selection. 2018-03-04 19:28:56 +01:00
Michael Steenbeek
c28f4987d3 Remove some entrance/exit height assumptions 2018-02-21 20:08:25 +01:00
Michael Steenbeek
ea0566a3f5 Split PeepSpawn and rct12_peep_spawn 2018-02-21 09:50:07 +01:00
Michael Steenbeek
ac0b18cde5 Replace LocationXY32 2018-02-16 16:16:49 +01:00
Michael Steenbeek
359e9ecf2d Replace LocationXYZ32 2018-02-16 16:16:49 +01:00
Michael Steenbeek
bde913ee16 Rename SmallCoords and BigCoords 2018-02-15 22:26:50 +01:00
Michael Steenbeek
45e892e5b5 Allow passing BigCoordsXY into map_get_surface_element_at() 2018-02-15 22:26:50 +01:00