Commit Graph

168 Commits

Author SHA1 Message Date
Hielke Morsink 01a997cd11
Unname the structs themselves 2022-02-18 23:11:11 +02:00
Hielke Morsink e756c46b44
Name structs in union to fix error
Nameless structs inside unions cannot have non-standard types, even if they are trivially constructable and standard aligned. In C++, structs need to be named.
2022-02-18 23:11:10 +02:00
Hielke Morsink f47c1b9f96
Close #16468: Use TIdentifier for StationIndex 2022-02-18 23:11:07 +02:00
ζeh Matt 1fe6c0618b
Fix clang format 2022-02-12 18:11:18 +02:00
ζeh Matt a2470c0573
Rename ride_id_t to RideId 2022-02-12 18:11:18 +02:00
Michael Steenbeek 6d19c983e8
Normalise RCT12TileElementType 2021-12-18 19:43:30 +01:00
Gymnasiast aa34f0f760
Drop the N postfix 2021-12-11 00:39:39 +01:00
Gymnasiast 23c5988fb1
Change last usage of GetType() and remove the method 2021-12-11 00:38:42 +01:00
Gymnasiast 50c0080da8
Update calls to ClearAs() 2021-12-10 22:58:27 +01:00
Gymnasiast 91635a5047
Replace SetType and old strong enum with normalised 2021-12-05 13:54:01 +01:00
Gymnasiast 897ab76c71
Create normalised tile element type 2021-12-05 13:54:01 +01:00
IntelOrca 34128dc262
Add new .park save format
Co-authored-by: Gymnasiast <Gymnasiast@users.noreply.github.com>
Co-authored-by: duncanspumpkin <duncanspumpkin@users.noreply.github.com>
Co-authored-by: ZehMatt <Zehmatt@users.noreply.github.com>
Co-authored-by: Broxzier <Broxzier@users.noreply.github.com>
2021-11-21 22:43:22 +01:00
Gymnasiast f21b941b46
Introduce ride_type_t 2021-09-21 10:49:29 +02:00
frutiemax 355019f97f
#15367: Encode RideType in TrackElement 2021-09-21 10:49:28 +02:00
Gymnasiast a9e0eeccc4
Add support for surface and railings objects to PathElement
Co-authored-by: IntelOrca <ted@brambles.org>
2021-09-06 22:16:28 +02:00
Gymnasiast 4cc717ccdb
Rework path surface and railings descriptor handling 2021-09-05 19:09:09 +02:00
Gymnasiast 2282f24404
Rename path surface and railings descriptors 2021-09-05 19:09:09 +02:00
Michael Steenbeek 8f5ec43486
Pass derived tile element classes to functions (#15206) 2021-08-11 23:26:46 +02:00
Duncan c34079acee
Refactor LargeSceneryEntry and remove rct_scenery_entry (#14816) 2021-06-04 12:41:23 +01:00
Duncan 12c5484f44
Refactor SmallSceneryEntry (#14815) 2021-06-03 22:14:41 -03:00
Duncan 8f59fe91cb
BannerSceneryEntry Refactor (#14810)
* Refactor BannerSceneryEntry to enforce type

* Remove old comment

* Fix incorrect renameing
2021-06-03 21:43:30 +01:00
Duncan 6f81248084
Rework and refactor PathBitEntry (#14809) 2021-06-03 21:23:00 +01:00
Duncan 425f968a67
Rearrange WallSceneryEntry to enforce types (#14808)
* Rearrange WallSceneryEntry to enforce types

* Clang format

Correct inverted nullptr check
2021-06-03 13:26:00 +01:00
Michael Steenbeek 9d1643d3ce
Fix #14217: Crash in large_scenery_paint() 2021-03-07 00:08:51 +01:00
Matt 41c6c0bee3
Support casting back to TileElement 2021-02-04 20:29:32 +02:00
ζeh Matt 6186766a05
Introduce TileElementsView (#13975)
* Simplify TileElement type conversation

* Introduce TileElementsView

* Move TileElementsView code into TileElementsView.h

* Cleanup code and move into OpenRCT2 namespace

* Use reference instead of pointer

* Fix include

* Make GCC happy

* Move the cast functions into base

* Use the cast function instead of reinterpret_cast

* Add TileElementsView tests

* Fix iterating on TileElementBase, return pointer not reference
2021-02-04 18:58:45 +02:00
Michael Steenbeek d3a4c16270
Reserve room for tile owner 2021-01-29 16:56:33 +01:00
Michael Steenbeek 830d2426bd
Import RCT1 tile elements by x/y (#13740)
* Import RCT1 tile elements by x/y

* Clean up wall import

* Move tile pointers creation to a separate function and to heap

* Create class for tile pointer index
2021-01-12 17:53:58 +00:00
Michael Steenbeek 60d1e94046
Close #7059: Implement landscape doors on Ghost Train (#13636)
* Implement landscape door updating

* Implement door drawing for Ghost Train

* Amend changelog and bump network version

* Apply review requests

* Always return default seat rotation for ride types with landscape doors

* Fix comment

* Update replays

Co-authored-by: duncanspumpkin <duncans_pumpkin@hotmail.co.uk>
2021-01-10 21:38:02 +00:00
Michael Steenbeek 1b686816db
Move tile element banner functions to methods 2021-01-02 11:28:39 +01:00
Gymnasiast d58a8d1184
Change tile_element_get_ride_index() to method 2020-11-07 12:58:32 +01:00
Manuel Vögele 69b07904c1
Make TileElement conversion preserve the const qualifier
Additionally this commit fixes some constness issues revealed by this change
2020-11-04 19:15:44 +01:00
Sadret 0b99943a3f
Fix address comments in TileElement.h 2020-11-04 17:41:38 +01: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
Richard Fine 6e176e725c Fix formatting 2020-09-07 22:27:33 -04:00
Richard Fine 4d3ba7a6f0 Rename PathElement::Edges for clarity
PathElement::Edges actualy stores both 'edges' (in the lower 4 bits) and 'corners' in the upper four. Rename the variable to make this dual usage easier to see.
2020-09-07 21:20:34 -04:00
Gymnasiast 9d24655056
Convert track_element_is_block_start() to member function 2020-08-10 21:15:48 +02:00
Michael Steenbeek f8ab48176a
Tile Inspector: remove hardcoded surface/edge style names 2020-07-28 22:37:52 +02:00
Aaron van Geffen 7b5087f057
Update copyright year to 2020 2020-07-21 15:04:34 +02:00
Gymnasiast 88a5e4cd2a
Remove some unused constants 2020-07-13 22:09:28 +02:00
Gymnasiast 3c4721d014
Move some constants to RCT12.h 2020-07-13 22:04:50 +02:00
Thamara Andrade 8ce799a72e
Close #12118: Prefer foward declaration of *Coords* in headers (#12142)
* Removing unnecessary world/Location includes in headers
* Prefer foward declaration of *Coords* in header files
Closes #12118
2020-07-06 10:10:39 -03:00
Michael Steenbeek 9ef8d6da42
Convert most remaining C-style casts to C++-style ones (#11867) 2020-06-07 23:18:11 +02:00
Michael Steenbeek f21ddb0723
Refactor checks for station pieces (#11876) 2020-06-05 17:55:15 -03:00
Hielke Morsink b39c673456 Introduce constant MAX_ELEMENT_HEIGHT 2020-05-05 11:35:42 +02:00
Gymnasiast cc65564521
Use (RCT12)ObjectEntryIndex in more places 2020-05-01 22:06:13 +02:00
Michael Steenbeek b89130e0f3
Use ObjectEntryIndex in more places (#11440) 2020-04-25 00:10:47 +02:00
Michał Janiszewski 2323cc1596
Use named casts instead of old-style casts
Change prepared with clang-tidy and google-readability-casting check
2020-04-22 17:09:29 +02:00
Tulio Leao 64e4a8420e
Use named casts on openrct2/world (#11141) 2020-04-17 21:08:22 +02:00
Michael Steenbeek 8a12ad8f6b
Fix #9719: Hacked walls in RCT1 saves are imported incorrectly (#11222) 2020-04-05 13:49:36 +02:00