1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-24 07:14:31 +01:00

Clean up tile element usage, introduce struct methods

This commit is contained in:
Michael Steenbeek
2018-05-02 10:31:03 +02:00
parent cc694e27d8
commit ef433df26a
20 changed files with 112 additions and 61 deletions

View File

@@ -23,29 +23,64 @@
#include "TileElement.h"
#include "Scenery.h"
uint8 tile_element_get_scenery_quadrant(const rct_tile_element * element)
uint8 rct_tile_element::getType() const
{
return (element->type & TILE_ELEMENT_QUADRANT_MASK) >> 6;
return this->type & TILE_ELEMENT_TYPE_MASK;
}
void rct_tile_element::setType(uint8 newType)
{
this->type |= (newType & TILE_ELEMENT_TYPE_MASK);
}
uint8 rct_tile_element::getDirection() const
{
return this->type & TILE_ELEMENT_DIRECTION_MASK;
}
void rct_tile_element::setDirection(uint8 direction)
{
this->type |= (direction & TILE_ELEMENT_DIRECTION_MASK);
}
uint8 rct_tile_element::getDirectionWithOffset(uint8 offset) const
{
return ((this->type & TILE_ELEMENT_DIRECTION_MASK) + offset) & TILE_ELEMENT_DIRECTION_MASK;
}
bool rct_tile_element::isLastForTile() const
{
return (this->flags & TILE_ELEMENT_FLAG_LAST_TILE) != 0;
}
bool rct_tile_element::isGhost() const
{
return (this->flags & TILE_ELEMENT_FLAG_GHOST) != 0;
}
uint8 rct_tile_element::getSceneryQuadrant() const
{
return (this->type & TILE_ELEMENT_QUADRANT_MASK) >> 6;
}
sint32 tile_element_get_type(const rct_tile_element * element)
{
return element->type & TILE_ELEMENT_TYPE_MASK;
return element->getType();
}
sint32 tile_element_get_direction(const rct_tile_element * element)
{
return element->type & TILE_ELEMENT_DIRECTION_MASK;
return element->getDirection();
}
sint32 tile_element_get_direction_with_offset(const rct_tile_element * element, uint8 offset)
{
return ((element->type & TILE_ELEMENT_DIRECTION_MASK) + offset) & TILE_ELEMENT_DIRECTION_MASK;
return element->getDirectionWithOffset(offset);
}
bool tile_element_is_ghost(const rct_tile_element * element)
{
return element->flags & TILE_ELEMENT_FLAG_GHOST;
return element->isGhost();
}
bool tile_element_is_underground(rct_tile_element * tileElement)
@@ -58,9 +93,9 @@ bool tile_element_is_underground(rct_tile_element * tileElement)
return true;
}
bool tile_element_is_last_for_tile(const rct_tile_element *element)
bool tile_element_is_last_for_tile(const rct_tile_element * element)
{
return (element->flags & TILE_ELEMENT_FLAG_LAST_TILE) != 0;
return element->isLastForTile();
}
sint32 tile_element_get_banner_index(rct_tile_element * tileElement)