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
Michael Steenbeek
a2b9598341
Modify code using Location8 to use isNull()/setNull() ( #10403 )
2019-12-21 11:34:46 +01:00
Tulio Leao
b793d7e79a
Avoid dereferencing map_get_first_element_at nullptr on libopenrct2 ( #10013 )
...
* Avoid dereferencing map_get_first_element_at nullptr on Map.cpp
* Avoid dereferencing map_get_first_element_at nullptr on MapAnimation.cpp
Returning true or internal control variable, based on what was seen on `map_animation_invalidate_track_onridephoto`
* Avoid dereferencing map_get_first_element_at nullptr on Park.cpp
* Avoid dereferencing map_get_first_element_at nullptr on Scenery.cpp
* Avoid dereferencing map_get_first_element_at nullptr on Sprite.cpp
* Avoid dereferencing map_get_first_element_at nullptr on TileInspector.cpp
* Avoid dereferencing map_get_first_element_at nullptr on Wall.cpp
* Avoid dereferencing map_get_first_element_at nullptr on Fountain.cpp
* Avoid dereferencing map_get_first_element_at nullptr on Footpath.cpp
* Avoid dereferencing map_get_first_element_at nullptr on Entrance.cpp
* Avoid dereferencing map_get_first_element_at nullptr on Banner.cpp
* Avoid dereferencing map_get_first_element_at nullptr on Vehicle.cpp
* Avoid dereferencing map_get_first_element_at nullptr on TrackDesignSave.cpp
* Avoid dereferencing map_get_first_element_at nullptr on TrackDesign.cpp
* Avoid dereferencing map_get_first_element_at nullptr on Track.cpp
* Avoid dereferencing map_get_first_element_at nullptr on Station.cpp
* Avoid dereferencing map_get_first_element_at nullptr on RideRatings.cpp
* Avoid dereferencing map_get_first_element_at nullptr on Ride.cpp
* Avoid dereferencing map_get_first_element_at nullptr on S4Importer.cpp
* Avoid dereferencing map_get_first_element_at nullptr on Staff.cpp
* Avoid dereferencing map_get_first_element_at nullptr on Peep.cpp
* Avoid dereferencing map_get_first_element_at nullptr on GuestPathfinding.cpp
* Avoid dereferencing map_get_first_element_at nullptr on Guest.cpp
* Avoid dereferencing map_get_first_element_at nullptr on VirtualFloor.cpp
* Avoid dereferencing map_get_first_element_at nullptr on Paint.TileElement.cpp
* Fix issues raised on review
* Fix remaining review issues.
* Early exit on loops if tileElement is nullptr
* Fix clang-format issues
2019-10-09 15:02:21 +01:00
Gymnasiast
bb73dd0dfb
Refactor track element to use 16 bytes
2019-08-31 13:14:19 +02:00
Gymnasiast
169d2980ca
Properly export tile elements to S6
2019-08-18 18:20:56 +02:00
Ted John
93789b9034
Add nullptr checks for get_ride in libopenrct2ui ( #9795 )
2019-08-09 08:06:25 +01:00
Ted John
ab7b17fc4e
Add nullptr checks for get_ride in libopenrct2 ( #9788 )
2019-08-08 22:58:56 +01:00
Gymnasiast
2ea1fcc69d
Remove unused declarations and functions
2019-05-13 22:16:14 +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
539c12b41a
Remove old game command
2019-03-11 19:11:54 +00:00
duncanspumpkin
92cdbfb0a8
Use Is/Set Indestructible
2019-02-27 10:49:48 +00:00
duncanspumpkin
354cce71eb
Introduce new functions to stop direct access
2019-02-27 10:49:48 +00:00
duncanspumpkin
737c308e4e
Use IsGhost() to access ghost state
...
Added set and clear ghost to further prevent direct access to flags
2019-02-25 15:12:35 +00:00
duncanspumpkin
e8b2c0f16f
Add TrackRemoveAction
2019-02-21 16:00:31 +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
Michael Steenbeek
3d9702dfd4
Fix #8141 : Attempting to build entrance/exit on station 2 does not work
2019-01-27 10:38:47 +01:00
Michael Steenbeek
b4bef2fe7d
Merge pull request #8560 from richard-fine/directions
...
Begin cleanup of direction handling
2019-01-18 19:09:39 +01:00
Ted John
92412d4bab
Store ride index inside ride struct
2019-01-18 11:46:18 +01:00
Ted John
8701286772
Use new ride_id_t typedef ( #8561 )
2019-01-12 10:11:55 +00:00
Richard Fine
e90e9dd73f
Introduce many uses of direction_reverse
...
Change many of the places doing the ^2 trick to use direction_reverse instead, for improved readability.
2019-01-05 15:41:46 +00:00
Hielke Morsink
53ae48ffca
Merge pull request #8550 from janisozaur/fallthroughs
...
Fix implicit fallthroughs
2019-01-04 23:27:02 +01:00
Hielke Morsink
5ef5e4153d
Fix some more implicit and conditional fallthroughs
2019-01-04 22:26:56 +01:00
Ted John
37f76d1687
Move station fields into new station struct
2019-01-01 02:26:14 +00:00
Michael Steenbeek
d4801e139d
Import tile elements from SV6 using new methods
2018-11-05 11:55:33 +01:00
Michael Steenbeek
f8add7f62e
Rename rct_tile_element to TileElement
2018-11-01 13:53:50 +01:00
Michael Steenbeek
15490010e1
Revert "Fix #8064 : Prohibited high construction error is sometimes shown as (undefined string)"
...
This reverts commit a8e46f5eec
.
2018-10-23 14:52:51 +02:00
Michael Steenbeek
ed7aed405b
Revert "Fix #8064 : Check clearance height before alignment on correct z. ( #8135 )"
...
This reverts commit 45381b0997
.
2018-10-23 14:52:30 +02:00
ζeh Matt
45381b0997
Fix #8064 : Check clearance height before alignment on correct z. ( #8135 )
2018-10-22 18:51:36 +02:00
ζeh Matt
a8e46f5eec
Fix #8064 : Prohibited high construction error is sometimes shown as (undefined string)
2018-10-21 20:51:41 +02:00
Michael Steenbeek
28d302d653
Remove more direct access to TileElement->type
2018-10-03 12:31:02 +02:00
Gymnasiast
eecf465e3b
Fix formatting
2018-09-25 21:57:21 +02:00
Michael Steenbeek
3f17782692
Move direct access to maze entry to struct methods
2018-09-25 21:57:21 +02:00
Michael Steenbeek
75b5c45a97
Remove residual direct access to most track fields
2018-09-25 21:57:21 +02:00
Michael Steenbeek
104d4f2f58
Move photo functions to struct methods
2018-09-25 21:57:21 +02:00
Michael Steenbeek
b965377080
Move green light functions to struct methods
2018-09-25 21:57:21 +02:00
Michael Steenbeek
897a2982a0
Move brake/booster speed functions to struct methods
2018-09-25 21:57:21 +02:00
Michael Steenbeek
e6d5638815
Move inverted() functions to struct methods
2018-09-25 21:57:21 +02:00
Michael Steenbeek
0cea008c18
Move cable lift functions to struct methods
2018-09-25 21:57:21 +02:00
Michael Steenbeek
69f02400f9
Move GetColourScheme to struct methods
2018-09-25 21:57:21 +02:00
Michael Steenbeek
a3e9c63fc3
Move GetRideIndex to struct methods
2018-09-25 21:57:21 +02:00
Michael Steenbeek
650971bc68
Move HasChain to struct methods
2018-09-25 21:57:21 +02:00
Gymnasiast
67d7d5c022
Move getting station index to struct methods
2018-09-25 21:57:21 +02:00
Gymnasiast
6bd732ce5a
Move getting seat rotation to struct methods
2018-09-25 21:57:21 +02:00
Gymnasiast
ae4c464ce7
Move getting track sequence to struct methods
2018-09-25 21:57:21 +02:00
Gymnasiast
3b80d049ef
Move door state functions to struct methods
2018-09-25 21:57:21 +02:00
Gymnasiast
8908f3f47e
Move getting track type to struct methods
2018-09-25 21:57:21 +02:00
Gymnasiast
0f08128657
Fix formatting
2018-09-16 21:34:51 +02:00
Michael Steenbeek
74ccf010e6
Port surface elements to new structure
2018-09-16 21:34:51 +02:00
Michael Steenbeek
1d3baef9b7
Remove some C-style tile element functions
2018-09-16 21:34:04 +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
e8310d079d
clang-format ride
2018-07-23 16:00:09 +02: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
2fed57d792
Check for ghost flag when removing track blocks ( #7596 )
2018-05-31 22:36:45 +02:00
Michael Steenbeek
b573bd49b3
Replace all occurrences of tile_element_is_last_for_tile()
2018-05-24 11:44:53 +02:00
Michał Janiszewski
0a92e74ced
Minor fixes
2018-05-11 15:38:30 +02:00
Michael Steenbeek
83b4bcb068
Prepare tunnel door support
2018-05-10 09:39:33 +02:00
duncanspumpkin
fcb66b7449
Start refactoring pathfinding to use tileCoords
2018-05-05 11:42:34 +01:00
Michael Steenbeek
5f9d40be7a
Replace tile_element_get_type() with struct method
2018-05-02 19:27:04 +02:00
Michael Steenbeek
ef433df26a
Clean up tile element usage, introduce struct methods
2018-05-02 11:58:12 +02:00
oli414
3bff12c081
Seperate surface tile element
2018-05-01 16:33:16 +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
Gymnasiast
566af0c4f7
Remove residual usages of rideEntry->enabledTrackPieces
2018-03-27 20:40:50 +02:00
Michał Janiszewski
cd065d4f41
Reduce includes in common header
2018-03-20 00:27:58 +01:00
ZehMatt
bdc1cf8adc
Refactor GAME_COMMAND_MAZE_SET_TRACK to game action.
2018-03-05 00:17:34 +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
Michael Steenbeek
a2260929dd
Replace rct_xy_element with BigCoordsXYE
2018-02-15 22:26:50 +01:00
Michał Janiszewski
3f76bd214f
Const all the painted tile elements
...
Extracted from https://github.com/OpenRCT2/OpenRCT2/pull/7036
2018-02-12 16:03:20 +01:00
Richard Jenkins
c76b075348
Fix #7052 : Infinite loops occur in track circuit iteration
2018-01-20 21:51:26 +00:00
Ted John
aa0d7645da
Refactor ride_ratings.c to C++
2018-01-18 22:33:06 +00:00
ZehMatt
84f2917f59
Use const and constexpr whenever possible.
2018-01-11 22:29:08 +01:00
Michael Steenbeek
cd5a1ba888
Compile files in world folder as C++
2018-01-11 13:25:09 +01:00
Michał Janiszewski
469e142c7b
Change casing of header files
2018-01-11 09:30:09 +01:00
Michał Janiszewski
5a8cfb16c8
Clang-format guards for static data
...
This guards most of the hardcoded data from clang-format.
[ci skip]
2018-01-11 09:19:56 +01:00
Michael Steenbeek
6a88d6e04d
Move and rename RCT{1,2,12}.h
2018-01-09 13:36:41 +01:00
Ted John
f18595a1c1
Refactor viewport.c to C++
2018-01-07 12:39:58 +01:00
Michael Steenbeek
755add6c9a
Compile localisation folder as C++
2018-01-06 18:32:25 +01:00
Michael Steenbeek
91589f57c6
Compile map.c as C++
2018-01-03 20:40:51 +01:00
Gymnasiast
1626f86acc
Compile park.c as C++
2018-01-01 01:18:12 +01:00
Gymnasiast
23d70a4ac9
Compile ride.c as C++
2017-12-31 20:43:17 +01:00
Hielke Morsink
4ec213f680
Allow building through water with clearance disabled
2017-12-26 16:16:06 +01:00
Michael Steenbeek
282e70a806
Allow building level crossings without cheats
2017-12-20 18:20:31 +01:00
Michael Steenbeek
1a9975d683
Compile util and cheats as C++
2017-12-14 10:03:21 +01:00
Hielke Morsink
5fa292207f
Replace character \U3000 with simple space
2017-12-13 17:53:06 +01:00
Michael Steenbeek
e3c52360db
Remove most usages of separate flag
...
This removes most usages of the separate flag, instead relying on ride groups to do its job.
Research is more complicated and will follow in another commit.
2017-12-08 10:28:29 +01:00
Michael Steenbeek
171271215e
Change some ride type names for clarity, fix Americanism
2017-12-08 07:59:44 +01:00
Michael Steenbeek
60d8865efb
Compile game.c and game.h as C++
2017-12-05 09:10:27 +01:00
platipo
789b47b7bb
Refactor slope flags and path type flag
2017-11-18 12:58:27 +01:00
Michael Steenbeek
8027af56b6
Fix multi-dim coasters freezing and crashing
2017-11-17 23:23:45 +01:00
Michael Steenbeek
9a4021996f
Remove unnecessary comment
...
[ci skip]
2017-11-17 12:54:47 +01:00
Michael Steenbeek
dd6257af1e
Tackle the two residual usages of the colour property
2017-11-17 12:54:47 +01:00
Michael Steenbeek
60d5d5ca1e
Cleanup
2017-11-17 12:54:47 +01:00
Michael Steenbeek
f448d16707
Add methods for getting and setting track element type
2017-11-17 12:54:47 +01:00
Michael Steenbeek
ab3f42f1f9
Add getters and setters for ride index and maze entry
2017-11-17 12:54:47 +01:00