Replace many occurrences of LocationXY16

This commit is contained in:
Gymnasiast 2020-03-01 21:24:44 +01:00
parent 61175a4fbf
commit cded8313d7
No known key found for this signature in database
GPG Key ID: DBFFF47AB2CA3EDD
4 changed files with 25 additions and 27 deletions

View File

@ -101,7 +101,7 @@ static rct_widget window_map_widgets[] = {
// used in transforming viewport view coordinates to minimap coordinates
// rct2: 0x00981BBC
static constexpr const LocationXY16 MiniMapOffsets[] = {
static constexpr const ScreenCoordsXY MiniMapOffsets[] = {
{ MAXIMUM_MAP_SIZE_TECHNICAL - 8, 0 },
{ 2 * MAXIMUM_MAP_SIZE_TECHNICAL - 8, MAXIMUM_MAP_SIZE_TECHNICAL },
{ MAXIMUM_MAP_SIZE_TECHNICAL - 8, 2 * MAXIMUM_MAP_SIZE_TECHNICAL },
@ -922,7 +922,7 @@ static void window_map_centre_on_view_point()
if (w_map == nullptr)
return;
LocationXY16 offset = MiniMapOffsets[get_current_rotation()];
auto offset = MiniMapOffsets[get_current_rotation()];
// calculate centre view point of viewport and transform it to minimap coordinates
@ -1131,7 +1131,7 @@ static void window_map_paint_hud_rectangle(rct_drawpixelinfo* dpi)
if (viewport == nullptr)
return;
LocationXY16 offset = MiniMapOffsets[get_current_rotation()];
auto offset = MiniMapOffsets[get_current_rotation()];
int16_t left = (viewport->view_x >> 5) + offset.x;
int16_t right = ((viewport->view_x + viewport->view_width) >> 5) + offset.x;
int16_t top = (viewport->view_y >> 4) + offset.y;
@ -1629,8 +1629,7 @@ static void map_window_set_pixels(rct_window* w)
int32_t x = 0, y = 0, dx = 0, dy = 0;
int32_t pos = (_currentLine * (MAP_WINDOW_MAP_SIZE - 1)) + MAXIMUM_MAP_SIZE_TECHNICAL - 1;
LocationXY16 destinationPosition = { static_cast<int16_t>(pos % MAP_WINDOW_MAP_SIZE),
static_cast<int16_t>(pos / MAP_WINDOW_MAP_SIZE) };
auto destinationPosition = ScreenCoordsXY{ pos % MAP_WINDOW_MAP_SIZE, pos / MAP_WINDOW_MAP_SIZE };
auto destination = _mapImageData.data() + (destinationPosition.y * MAP_WINDOW_MAP_SIZE) + destinationPosition.x;
switch (get_current_rotation())
{

View File

@ -300,7 +300,7 @@ static void window_multiplayer_draw_tab_images(rct_window* w, rct_drawpixelinfo*
static void window_multiplayer_set_page(rct_window* w, int32_t page);
static bool _windowInformationSizeDirty;
static LocationXY16 _windowInformationSize;
static ScreenCoordsXY _windowInformationSize;
rct_window* window_multiplayer_open()
{
@ -406,7 +406,7 @@ static void window_multiplayer_information_mouseup(rct_window* w, rct_widgetinde
}
}
static LocationXY16 window_multiplayer_information_get_size()
static ScreenCoordsXY window_multiplayer_information_get_size()
{
if (!_windowInformationSizeDirty)
{
@ -462,7 +462,7 @@ static LocationXY16 window_multiplayer_information_get_size()
static void window_multiplayer_information_resize(rct_window* w)
{
LocationXY16 size = window_multiplayer_information_get_size();
auto size = window_multiplayer_information_get_size();
window_set_resize(w, size.x, size.y, size.x, size.y);
}

View File

@ -127,9 +127,9 @@ static void window_track_place_draw_mini_preview_track(
TrackDesign* td6, int32_t pass, CoordsXY origin, CoordsXY min, CoordsXY max);
static void window_track_place_draw_mini_preview_maze(
TrackDesign* td6, int32_t pass, const CoordsXY& origin, CoordsXY min, CoordsXY max);
static LocationXY16 draw_mini_preview_get_pixel_position(int16_t x, int16_t y);
static bool draw_mini_preview_is_pixel_in_bounds(LocationXY16 pixel);
static uint8_t* draw_mini_preview_get_pixel_ptr(LocationXY16 pixel);
static ScreenCoordsXY draw_mini_preview_get_pixel_position(CoordsXY location);
static bool draw_mini_preview_is_pixel_in_bounds(const ScreenCoordsXY& pixel);
static uint8_t* draw_mini_preview_get_pixel_ptr(const ScreenCoordsXY& pixel);
/**
*
@ -586,8 +586,7 @@ static void window_track_place_draw_mini_preview_track(
}
else
{
LocationXY16 pixelPosition = draw_mini_preview_get_pixel_position(
rotatedAndOffsetTrackBlock.x, rotatedAndOffsetTrackBlock.y);
auto pixelPosition = draw_mini_preview_get_pixel_position(rotatedAndOffsetTrackBlock);
if (draw_mini_preview_is_pixel_in_bounds(pixelPosition))
{
uint8_t* pixel = draw_mini_preview_get_pixel_ptr(pixelPosition);
@ -647,8 +646,7 @@ static void window_track_place_draw_mini_preview_track(
}
else
{
LocationXY16 pixelPosition = draw_mini_preview_get_pixel_position(
rotatedAndOffsetEntrance.x, rotatedAndOffsetEntrance.y);
auto pixelPosition = draw_mini_preview_get_pixel_position(rotatedAndOffsetEntrance);
if (draw_mini_preview_is_pixel_in_bounds(pixelPosition))
{
uint8_t* pixel = draw_mini_preview_get_pixel_ptr(pixelPosition);
@ -682,7 +680,7 @@ static void window_track_place_draw_mini_preview_maze(
}
else
{
LocationXY16 pixelPosition = draw_mini_preview_get_pixel_position(rotatedMazeCoords.x, rotatedMazeCoords.y);
auto pixelPosition = draw_mini_preview_get_pixel_position(rotatedMazeCoords);
if (draw_mini_preview_is_pixel_in_bounds(pixelPosition))
{
uint8_t* pixel = draw_mini_preview_get_pixel_ptr(pixelPosition);
@ -707,17 +705,18 @@ static void window_track_place_draw_mini_preview_maze(
}
}
static LocationXY16 draw_mini_preview_get_pixel_position(int16_t x, int16_t y)
static ScreenCoordsXY draw_mini_preview_get_pixel_position(CoordsXY location)
{
return { (int16_t)(80 + ((y / 32) - (x / 32)) * 4), (int16_t)(38 + ((y / 32) + (x / 32)) * 2) };
auto tilePos = TileCoordsXY(location);
return { (80 + (tilePos.y - tilePos.x) * 4), (38 + (tilePos.y + tilePos.x) * 2) };
}
static bool draw_mini_preview_is_pixel_in_bounds(LocationXY16 pixel)
static bool draw_mini_preview_is_pixel_in_bounds(const ScreenCoordsXY& pixel)
{
return pixel.x >= 0 && pixel.y >= 0 && pixel.x <= 160 && pixel.y <= 75;
}
static uint8_t* draw_mini_preview_get_pixel_ptr(LocationXY16 pixel)
static uint8_t* draw_mini_preview_get_pixel_ptr(const ScreenCoordsXY& pixel)
{
return &_window_track_place_mini_preview[pixel.y * TRACK_MINI_PREVIEW_WIDTH + pixel.x];
}

View File

@ -48,8 +48,8 @@ const rct_string_id litterNames[12] = { STR_LITTER_VOMIT,
STR_SHOP_ITEM_SINGULAR_EMPTY_JUICE_CUP,
STR_SHOP_ITEM_SINGULAR_EMPTY_BOWL_BLUE };
static LocationXYZ16 _spritelocations1[MAX_SPRITES];
static LocationXYZ16 _spritelocations2[MAX_SPRITES];
static CoordsXYZ _spritelocations1[MAX_SPRITES];
static CoordsXYZ _spritelocations2[MAX_SPRITES];
static size_t GetSpatialIndexOffset(int32_t x, int32_t y);
@ -829,7 +829,7 @@ static bool sprite_should_tween(rct_sprite* sprite)
return false;
}
static void store_sprite_locations(LocationXYZ16* sprite_locations)
static void store_sprite_locations(CoordsXYZ* sprite_locations)
{
for (uint16_t i = 0; i < MAX_SPRITES; i++)
{
@ -861,9 +861,9 @@ void sprite_position_tween_all(float alpha)
rct_sprite* sprite = get_sprite(i);
if (sprite_should_tween(sprite))
{
LocationXYZ16 posA = _spritelocations1[i];
LocationXYZ16 posB = _spritelocations2[i];
if (posA.x == posB.x && posA.y == posB.y && posA.z == posB.z)
auto posA = _spritelocations1[i];
auto posB = _spritelocations2[i];
if (posA == posB)
{
continue;
}
@ -887,7 +887,7 @@ void sprite_position_tween_restore()
{
invalidate_sprite_2(&sprite->generic);
LocationXYZ16 pos = _spritelocations2[i];
auto pos = _spritelocations2[i];
sprite_set_coordinates(pos.x, pos.y, pos.z, &sprite->generic);
}
}