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 // used in transforming viewport view coordinates to minimap coordinates
// rct2: 0x00981BBC // rct2: 0x00981BBC
static constexpr const LocationXY16 MiniMapOffsets[] = { static constexpr const ScreenCoordsXY MiniMapOffsets[] = {
{ MAXIMUM_MAP_SIZE_TECHNICAL - 8, 0 }, { MAXIMUM_MAP_SIZE_TECHNICAL - 8, 0 },
{ 2 * MAXIMUM_MAP_SIZE_TECHNICAL - 8, MAXIMUM_MAP_SIZE_TECHNICAL }, { 2 * MAXIMUM_MAP_SIZE_TECHNICAL - 8, MAXIMUM_MAP_SIZE_TECHNICAL },
{ MAXIMUM_MAP_SIZE_TECHNICAL - 8, 2 * 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) if (w_map == nullptr)
return; 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 // 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) if (viewport == nullptr)
return; return;
LocationXY16 offset = MiniMapOffsets[get_current_rotation()]; auto offset = MiniMapOffsets[get_current_rotation()];
int16_t left = (viewport->view_x >> 5) + offset.x; int16_t left = (viewport->view_x >> 5) + offset.x;
int16_t right = ((viewport->view_x + viewport->view_width) >> 5) + offset.x; int16_t right = ((viewport->view_x + viewport->view_width) >> 5) + offset.x;
int16_t top = (viewport->view_y >> 4) + offset.y; 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 x = 0, y = 0, dx = 0, dy = 0;
int32_t pos = (_currentLine * (MAP_WINDOW_MAP_SIZE - 1)) + MAXIMUM_MAP_SIZE_TECHNICAL - 1; 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), auto destinationPosition = ScreenCoordsXY{ pos % MAP_WINDOW_MAP_SIZE, pos / MAP_WINDOW_MAP_SIZE };
static_cast<int16_t>(pos / MAP_WINDOW_MAP_SIZE) };
auto destination = _mapImageData.data() + (destinationPosition.y * MAP_WINDOW_MAP_SIZE) + destinationPosition.x; auto destination = _mapImageData.data() + (destinationPosition.y * MAP_WINDOW_MAP_SIZE) + destinationPosition.x;
switch (get_current_rotation()) 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 void window_multiplayer_set_page(rct_window* w, int32_t page);
static bool _windowInformationSizeDirty; static bool _windowInformationSizeDirty;
static LocationXY16 _windowInformationSize; static ScreenCoordsXY _windowInformationSize;
rct_window* window_multiplayer_open() 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) if (!_windowInformationSizeDirty)
{ {
@ -462,7 +462,7 @@ static LocationXY16 window_multiplayer_information_get_size()
static void window_multiplayer_information_resize(rct_window* w) 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); 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); TrackDesign* td6, int32_t pass, CoordsXY origin, CoordsXY min, CoordsXY max);
static void window_track_place_draw_mini_preview_maze( static void window_track_place_draw_mini_preview_maze(
TrackDesign* td6, int32_t pass, const CoordsXY& origin, CoordsXY min, CoordsXY max); 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 ScreenCoordsXY draw_mini_preview_get_pixel_position(CoordsXY location);
static bool draw_mini_preview_is_pixel_in_bounds(LocationXY16 pixel); static bool draw_mini_preview_is_pixel_in_bounds(const ScreenCoordsXY& pixel);
static uint8_t* draw_mini_preview_get_pixel_ptr(LocationXY16 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 else
{ {
LocationXY16 pixelPosition = draw_mini_preview_get_pixel_position( auto pixelPosition = draw_mini_preview_get_pixel_position(rotatedAndOffsetTrackBlock);
rotatedAndOffsetTrackBlock.x, rotatedAndOffsetTrackBlock.y);
if (draw_mini_preview_is_pixel_in_bounds(pixelPosition)) if (draw_mini_preview_is_pixel_in_bounds(pixelPosition))
{ {
uint8_t* pixel = draw_mini_preview_get_pixel_ptr(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 else
{ {
LocationXY16 pixelPosition = draw_mini_preview_get_pixel_position( auto pixelPosition = draw_mini_preview_get_pixel_position(rotatedAndOffsetEntrance);
rotatedAndOffsetEntrance.x, rotatedAndOffsetEntrance.y);
if (draw_mini_preview_is_pixel_in_bounds(pixelPosition)) if (draw_mini_preview_is_pixel_in_bounds(pixelPosition))
{ {
uint8_t* pixel = draw_mini_preview_get_pixel_ptr(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 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)) if (draw_mini_preview_is_pixel_in_bounds(pixelPosition))
{ {
uint8_t* pixel = draw_mini_preview_get_pixel_ptr(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; 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]; 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_JUICE_CUP,
STR_SHOP_ITEM_SINGULAR_EMPTY_BOWL_BLUE }; STR_SHOP_ITEM_SINGULAR_EMPTY_BOWL_BLUE };
static LocationXYZ16 _spritelocations1[MAX_SPRITES]; static CoordsXYZ _spritelocations1[MAX_SPRITES];
static LocationXYZ16 _spritelocations2[MAX_SPRITES]; static CoordsXYZ _spritelocations2[MAX_SPRITES];
static size_t GetSpatialIndexOffset(int32_t x, int32_t y); static size_t GetSpatialIndexOffset(int32_t x, int32_t y);
@ -829,7 +829,7 @@ static bool sprite_should_tween(rct_sprite* sprite)
return false; 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++) 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); rct_sprite* sprite = get_sprite(i);
if (sprite_should_tween(sprite)) if (sprite_should_tween(sprite))
{ {
LocationXYZ16 posA = _spritelocations1[i]; auto posA = _spritelocations1[i];
LocationXYZ16 posB = _spritelocations2[i]; auto posB = _spritelocations2[i];
if (posA.x == posB.x && posA.y == posB.y && posA.z == posB.z) if (posA == posB)
{ {
continue; continue;
} }
@ -887,7 +887,7 @@ void sprite_position_tween_restore()
{ {
invalidate_sprite_2(&sprite->generic); invalidate_sprite_2(&sprite->generic);
LocationXYZ16 pos = _spritelocations2[i]; auto pos = _spritelocations2[i];
sprite_set_coordinates(pos.x, pos.y, pos.z, &sprite->generic); sprite_set_coordinates(pos.x, pos.y, pos.z, &sprite->generic);
} }
} }