mirror of https://github.com/OpenRCT2/OpenRCT2.git
Second and final part. replaces the rest of the calls and removes the old function.
This commit is contained in:
parent
f330a22df1
commit
cd6076b5bc
|
@ -684,14 +684,18 @@ static void window_guest_list_paint(rct_window* w, rct_drawpixelinfo* dpi)
|
|||
i += g_peep_animation_entries[PEEP_SPRITE_TYPE_NORMAL].sprite_animation->base_image + 1;
|
||||
i |= 0xA1600000;
|
||||
gfx_draw_sprite(
|
||||
dpi, i, (window_guest_list_widgets[WIDX_TAB_1].left + window_guest_list_widgets[WIDX_TAB_1].right) / 2 + w->windowPos.x,
|
||||
window_guest_list_widgets[WIDX_TAB_1].bottom - 6 + w->windowPos.y, 0);
|
||||
dpi, i,
|
||||
w->windowPos
|
||||
+ ScreenCoordsXY{ (window_guest_list_widgets[WIDX_TAB_1].left + window_guest_list_widgets[WIDX_TAB_1].right) / 2,
|
||||
window_guest_list_widgets[WIDX_TAB_1].bottom - 6 },
|
||||
0);
|
||||
|
||||
// Tab 2 image
|
||||
i = (_window_guest_list_selected_tab == 1 ? w->list_information_type / 4 : 0);
|
||||
gfx_draw_sprite(
|
||||
dpi, SPR_TAB_GUESTS_0 + i, window_guest_list_widgets[WIDX_TAB_2].left + w->windowPos.x,
|
||||
window_guest_list_widgets[WIDX_TAB_2].top + w->windowPos.y, 0);
|
||||
dpi, SPR_TAB_GUESTS_0 + i,
|
||||
w->windowPos + ScreenCoordsXY{ window_guest_list_widgets[WIDX_TAB_2].left, window_guest_list_widgets[WIDX_TAB_2].top },
|
||||
0);
|
||||
|
||||
// Filter description
|
||||
auto screenCoords = w->windowPos + ScreenCoordsXY{ 6, window_guest_list_widgets[WIDX_TAB_CONTENT_PANEL].top + 3 };
|
||||
|
@ -775,11 +779,11 @@ static void window_guest_list_scrollpaint(rct_window* w, rct_drawpixelinfo* dpi,
|
|||
{
|
||||
case VIEW_ACTIONS:
|
||||
// Guest face
|
||||
gfx_draw_sprite(dpi, get_peep_face_sprite_small(peep), 118, y + 1, 0);
|
||||
gfx_draw_sprite(dpi, get_peep_face_sprite_small(peep), { 118, y + 1 }, 0);
|
||||
|
||||
// Tracking icon
|
||||
if (peep->PeepFlags & PEEP_FLAGS_TRACKING)
|
||||
gfx_draw_sprite(dpi, STR_ENTER_SELECTION_SIZE, 112, y + 1, 0);
|
||||
gfx_draw_sprite(dpi, STR_ENTER_SELECTION_SIZE, { 112, y + 1 }, 0);
|
||||
|
||||
// Action
|
||||
ft = Formatter::Common();
|
||||
|
@ -838,7 +842,7 @@ static void window_guest_list_scrollpaint(rct_window* w, rct_drawpixelinfo* dpi,
|
|||
for (uint32_t j = 0; j < 56 && j < numGuests; j++)
|
||||
gfx_draw_sprite(
|
||||
dpi, _window_guest_list_groups_guest_faces[i * 56 + j] + SPR_PEEP_SMALL_FACE_VERY_VERY_UNHAPPY,
|
||||
j * 8, y + 12, 0);
|
||||
{ static_cast<int32_t>(j) * 8, y + 12 }, 0);
|
||||
|
||||
// Draw action
|
||||
std::memcpy(
|
||||
|
|
|
@ -236,7 +236,7 @@ static void window_install_track_paint(rct_window* w, rct_drawpixelinfo* dpi)
|
|||
g1temp.flags = G1_FLAG_BMP;
|
||||
gfx_set_g1_element(SPR_TEMP, &g1temp);
|
||||
drawing_engine_invalidate_image(SPR_TEMP);
|
||||
gfx_draw_sprite(dpi, SPR_TEMP, screenPos.x, screenPos.y, 0);
|
||||
gfx_draw_sprite(dpi, SPR_TEMP, screenPos, 0);
|
||||
|
||||
screenPos = w->windowPos + ScreenCoordsXY{ (widget->left + widget->right) / 2, widget->bottom - 12 };
|
||||
|
||||
|
|
|
@ -358,7 +358,7 @@ static void window_land_paint(rct_window* w, rct_drawpixelinfo* dpi)
|
|||
{
|
||||
screenCoords = { w->windowPos.x + previewWidget->left, w->windowPos.y + previewWidget->top };
|
||||
int32_t sprite = gLandToolSize % 2 == 0 ? SPR_G2_MOUNTAIN_TOOL_EVEN : SPR_G2_MOUNTAIN_TOOL_ODD;
|
||||
gfx_draw_sprite(dpi, sprite, screenCoords.x, screenCoords.y, 0);
|
||||
gfx_draw_sprite(dpi, sprite, screenCoords, 0);
|
||||
widget_draw(dpi, w, WIDX_DECREMENT);
|
||||
widget_draw(dpi, w, WIDX_INCREMENT);
|
||||
}
|
||||
|
|
|
@ -834,7 +834,7 @@ static void window_map_paint(rct_window* w, rct_drawpixelinfo* dpi)
|
|||
w->widgets[WIDX_PEOPLE_STARTING_POSITION].top + 18 };
|
||||
gfx_draw_sprite(
|
||||
dpi, IMAGE_TYPE_REMAP | IMAGE_TYPE_REMAP_2_PLUS | (COLOUR_LIGHT_BROWN << 24) | (COLOUR_BRIGHT_RED << 19) | SPR_6410,
|
||||
screenCoords.x, screenCoords.y, 0);
|
||||
screenCoords, 0);
|
||||
}
|
||||
|
||||
if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) && !gCheatsSandboxMode)
|
||||
|
@ -886,7 +886,7 @@ static void window_map_scrollpaint(rct_window* w, rct_drawpixelinfo* dpi, int32_
|
|||
g1temp.y_offset = -8;
|
||||
gfx_set_g1_element(SPR_TEMP, &g1temp);
|
||||
drawing_engine_invalidate_image(SPR_TEMP);
|
||||
gfx_draw_sprite(dpi, SPR_TEMP, 0, 0, 0);
|
||||
gfx_draw_sprite(dpi, SPR_TEMP, { 0, 0 }, 0);
|
||||
|
||||
if (w->selected_tab == PAGE_PEEPS)
|
||||
{
|
||||
|
@ -1007,7 +1007,7 @@ static void window_map_draw_tab_images(rct_window* w, rct_drawpixelinfo* dpi)
|
|||
image += w->list_information_type / 4;
|
||||
|
||||
gfx_draw_sprite(
|
||||
dpi, image, w->windowPos.x + w->widgets[WIDX_PEOPLE_TAB].left, w->windowPos.y + w->widgets[WIDX_PEOPLE_TAB].top, 0);
|
||||
dpi, image, w->windowPos + ScreenCoordsXY{ w->widgets[WIDX_PEOPLE_TAB].left, w->widgets[WIDX_PEOPLE_TAB].top }, 0);
|
||||
|
||||
// Ride/stall tab image (animated)
|
||||
image = SPR_TAB_RIDE_0;
|
||||
|
@ -1015,7 +1015,7 @@ static void window_map_draw_tab_images(rct_window* w, rct_drawpixelinfo* dpi)
|
|||
image += w->list_information_type / 4;
|
||||
|
||||
gfx_draw_sprite(
|
||||
dpi, image, w->windowPos.x + w->widgets[WIDX_RIDES_TAB].left, w->windowPos.y + w->widgets[WIDX_RIDES_TAB].top, 0);
|
||||
dpi, image, w->windowPos + ScreenCoordsXY{ w->widgets[WIDX_RIDES_TAB].left, w->widgets[WIDX_RIDES_TAB].top }, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -1399,7 +1399,7 @@ static void window_mapgen_draw_tab_image(rct_drawpixelinfo* dpi, rct_window* w,
|
|||
}
|
||||
|
||||
gfx_draw_sprite(
|
||||
dpi, spriteIndex, w->windowPos.x + w->widgets[widgetIndex].left, w->windowPos.y + w->widgets[widgetIndex].top, 0);
|
||||
dpi, spriteIndex, w->windowPos + ScreenCoordsXY{ w->widgets[widgetIndex].left, w->widgets[widgetIndex].top }, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1078,7 +1078,7 @@ static void window_multiplayer_draw_tab_image(rct_window* w, rct_drawpixelinfo*
|
|||
}
|
||||
|
||||
gfx_draw_sprite(
|
||||
dpi, spriteIndex, w->windowPos.x + w->widgets[widgetIndex].left, w->windowPos.y + w->widgets[widgetIndex].top, 0);
|
||||
dpi, spriteIndex, w->windowPos + ScreenCoordsXY{ w->widgets[widgetIndex].left, w->widgets[widgetIndex].top }, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -476,7 +476,7 @@ static void window_network_draw_tab_image(rct_window* w, rct_drawpixelinfo* dpi,
|
|||
}
|
||||
|
||||
gfx_draw_sprite(
|
||||
dpi, spriteIndex, w->windowPos.x + w->widgets[widgetIndex].left, w->windowPos.y + w->widgets[widgetIndex].top, 0);
|
||||
dpi, spriteIndex, w->windowPos + ScreenCoordsXY{ w->widgets[widgetIndex].left, w->widgets[widgetIndex].top }, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -659,7 +659,7 @@ static void window_new_ride_draw_tab_image(rct_drawpixelinfo* dpi, rct_window* w
|
|||
spriteIndex |= w->colours[1] << 19;
|
||||
|
||||
gfx_draw_sprite(
|
||||
dpi, spriteIndex, w->windowPos.x + w->widgets[widgetIndex].left, w->windowPos.y + w->widgets[widgetIndex].top, 0);
|
||||
dpi, spriteIndex, w->windowPos + ScreenCoordsXY{ w->widgets[widgetIndex].left, w->widgets[widgetIndex].top }, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -271,8 +271,7 @@ static void window_news_scrollpaint(rct_window* w, rct_drawpixelinfo* dpi, int32
|
|||
// Subject button
|
||||
if ((news_type_properties[newsItem.Type] & NEWS_TYPE_HAS_SUBJECT) && !(newsItem.Flags & NEWS_FLAG_HAS_BUTTON))
|
||||
{
|
||||
int32_t x = 328;
|
||||
int32_t yy = y + lineHeight + 4;
|
||||
auto screenCoords = ScreenCoordsXY{ 328, y + lineHeight + 4 };
|
||||
|
||||
int32_t press = 0;
|
||||
if (w->news.var_480 != -1)
|
||||
|
@ -281,18 +280,19 @@ static void window_news_scrollpaint(rct_window* w, rct_drawpixelinfo* dpi, int32
|
|||
if (i == w->news.var_480 && w->news.var_482 == 1)
|
||||
press = INSET_RECT_FLAG_BORDER_INSET;
|
||||
}
|
||||
gfx_fill_rect_inset(dpi, x, yy, x + 23, yy + 23, w->colours[2], press);
|
||||
gfx_fill_rect_inset(
|
||||
dpi, screenCoords.x, screenCoords.y, screenCoords.x + 23, screenCoords.y + 23, w->colours[2], press);
|
||||
|
||||
switch (newsItem.Type)
|
||||
{
|
||||
case NEWS_ITEM_RIDE:
|
||||
gfx_draw_sprite(dpi, SPR_RIDE, x, yy, 0);
|
||||
gfx_draw_sprite(dpi, SPR_RIDE, screenCoords, 0);
|
||||
break;
|
||||
case NEWS_ITEM_PEEP:
|
||||
case NEWS_ITEM_PEEP_ON_RIDE:
|
||||
{
|
||||
rct_drawpixelinfo cliped_dpi;
|
||||
if (!clip_drawpixelinfo(&cliped_dpi, dpi, x + 1, yy + 1, 22, 22))
|
||||
if (!clip_drawpixelinfo(&cliped_dpi, dpi, screenCoords.x + 1, screenCoords.y + 1, 22, 22))
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
@ -305,7 +305,7 @@ static void window_news_scrollpaint(rct_window* w, rct_drawpixelinfo* dpi, int32
|
|||
if (peep == nullptr)
|
||||
break;
|
||||
|
||||
int32_t clip_x = 10, clip_y = 19;
|
||||
auto clipCoords = ScreenCoordsXY{ 10, 19 };
|
||||
|
||||
// If normal peep set sprite to normal (no food)
|
||||
// If staff set sprite to staff sprite
|
||||
|
@ -315,7 +315,7 @@ static void window_news_scrollpaint(rct_window* w, rct_drawpixelinfo* dpi, int32
|
|||
sprite_type = peep->SpriteType;
|
||||
if (peep->StaffType == STAFF_TYPE_ENTERTAINER)
|
||||
{
|
||||
clip_y += 3;
|
||||
clipCoords.y += 3;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -323,23 +323,23 @@ static void window_news_scrollpaint(rct_window* w, rct_drawpixelinfo* dpi, int32
|
|||
image_id += 0xA0000001;
|
||||
image_id |= (peep->TshirtColour << 19) | (peep->TrousersColour << 24);
|
||||
|
||||
gfx_draw_sprite(&cliped_dpi, image_id, clip_x, clip_y, 0);
|
||||
gfx_draw_sprite(&cliped_dpi, image_id, clipCoords, 0);
|
||||
break;
|
||||
}
|
||||
case NEWS_ITEM_MONEY:
|
||||
gfx_draw_sprite(dpi, SPR_FINANCE, x, yy, 0);
|
||||
gfx_draw_sprite(dpi, SPR_FINANCE, screenCoords, 0);
|
||||
break;
|
||||
case NEWS_ITEM_RESEARCH:
|
||||
gfx_draw_sprite(dpi, newsItem.Assoc < 0x10000 ? SPR_NEW_SCENERY : SPR_NEW_RIDE, x, yy, 0);
|
||||
gfx_draw_sprite(dpi, newsItem.Assoc < 0x10000 ? SPR_NEW_SCENERY : SPR_NEW_RIDE, screenCoords, 0);
|
||||
break;
|
||||
case NEWS_ITEM_PEEPS:
|
||||
gfx_draw_sprite(dpi, SPR_GUESTS, x, yy, 0);
|
||||
gfx_draw_sprite(dpi, SPR_GUESTS, screenCoords, 0);
|
||||
break;
|
||||
case NEWS_ITEM_AWARD:
|
||||
gfx_draw_sprite(dpi, SPR_AWARD, x, yy, 0);
|
||||
gfx_draw_sprite(dpi, SPR_AWARD, screenCoords, 0);
|
||||
break;
|
||||
case NEWS_ITEM_GRAPH:
|
||||
gfx_draw_sprite(dpi, SPR_GRAPH, x, yy, 0);
|
||||
gfx_draw_sprite(dpi, SPR_GRAPH, screenCoords, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -347,8 +347,7 @@ static void window_news_scrollpaint(rct_window* w, rct_drawpixelinfo* dpi, int32
|
|||
// Location button
|
||||
if ((news_type_properties[newsItem.Type] & NEWS_TYPE_HAS_LOCATION) && !(newsItem.Flags & NEWS_FLAG_HAS_BUTTON))
|
||||
{
|
||||
int32_t x = 352;
|
||||
int32_t yy = y + lineHeight + 4;
|
||||
auto screenCoords = ScreenCoordsXY{ 352, y + lineHeight + 4 };
|
||||
|
||||
int32_t press = 0;
|
||||
if (w->news.var_480 != -1)
|
||||
|
@ -357,8 +356,9 @@ static void window_news_scrollpaint(rct_window* w, rct_drawpixelinfo* dpi, int32
|
|||
if (i == w->news.var_480 && w->news.var_482 == 2)
|
||||
press = 0x20;
|
||||
}
|
||||
gfx_fill_rect_inset(dpi, x, yy, x + 23, yy + 23, w->colours[2], press);
|
||||
gfx_draw_sprite(dpi, SPR_LOCATE, x, yy, 0);
|
||||
gfx_fill_rect_inset(
|
||||
dpi, screenCoords.x, screenCoords.y, screenCoords.x + 23, screenCoords.y + 23, w->colours[2], press);
|
||||
gfx_draw_sprite(dpi, SPR_LOCATE, screenCoords, 0);
|
||||
}
|
||||
|
||||
y += itemHeight;
|
||||
|
|
|
@ -291,7 +291,7 @@ static void window_news_options_draw_tab_image(rct_window* w, rct_drawpixelinfo*
|
|||
}
|
||||
|
||||
gfx_draw_sprite(
|
||||
dpi, spriteIndex, w->windowPos.x + w->widgets[widgetIndex].left, w->windowPos.y + w->widgets[widgetIndex].top, 0);
|
||||
dpi, spriteIndex, w->windowPos + ScreenCoordsXY{ w->widgets[widgetIndex].left, w->widgets[widgetIndex].top }, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2175,7 +2175,7 @@ static void window_options_draw_tab_image(rct_drawpixelinfo* dpi, rct_window* w,
|
|||
}
|
||||
|
||||
// Draw normal, enabled sprite.
|
||||
gfx_draw_sprite(dpi, spriteIndex, screenCoords.x, screenCoords.y, 0);
|
||||
gfx_draw_sprite(dpi, spriteIndex, screenCoords, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -867,7 +867,7 @@ static void window_park_entrance_paint(rct_window* w, rct_drawpixelinfo* dpi)
|
|||
{
|
||||
window_draw_viewport(dpi, w);
|
||||
if (w->viewport->flags & VIEWPORT_FLAG_SOUND_ON)
|
||||
gfx_draw_sprite(dpi, SPR_HEARING_VIEWPORT, w->windowPos.x + 2, w->windowPos.y + 2, 0);
|
||||
gfx_draw_sprite(dpi, SPR_HEARING_VIEWPORT, w->windowPos + ScreenCoordsXY{ 2, 2 }, 0);
|
||||
}
|
||||
|
||||
// Draw park closed / open label
|
||||
|
@ -1746,7 +1746,7 @@ static void window_park_awards_paint(rct_window* w, rct_drawpixelinfo* dpi)
|
|||
if (award->Time == 0)
|
||||
continue;
|
||||
|
||||
gfx_draw_sprite(dpi, ParkAwards[award->Type].sprite, screenCoords.x, screenCoords.y, 0);
|
||||
gfx_draw_sprite(dpi, ParkAwards[award->Type].sprite, screenCoords, 0);
|
||||
gfx_draw_string_left_wrapped(
|
||||
dpi, nullptr, screenCoords + ScreenCoordsXY{ 34, 6 }, 180, ParkAwards[award->Type].text, COLOUR_BLACK);
|
||||
|
||||
|
@ -1829,8 +1829,8 @@ static void window_park_draw_tab_images(rct_drawpixelinfo* dpi, rct_window* w)
|
|||
// Entrance tab
|
||||
if (!(w->disabled_widgets & (1 << WIDX_TAB_1)))
|
||||
gfx_draw_sprite(
|
||||
dpi, SPR_TAB_PARK_ENTRANCE, w->windowPos.x + w->widgets[WIDX_TAB_1].left,
|
||||
w->windowPos.y + w->widgets[WIDX_TAB_1].top, 0);
|
||||
dpi, SPR_TAB_PARK_ENTRANCE,
|
||||
w->windowPos + ScreenCoordsXY{ w->widgets[WIDX_TAB_1].left, w->widgets[WIDX_TAB_1].top }, 0);
|
||||
|
||||
// Rating tab
|
||||
if (!(w->disabled_widgets & (1 << WIDX_TAB_2)))
|
||||
|
@ -1839,13 +1839,13 @@ static void window_park_draw_tab_images(rct_drawpixelinfo* dpi, rct_window* w)
|
|||
if (w->page == WINDOW_PARK_PAGE_RATING)
|
||||
sprite_idx += (w->frame_no / 8) % 8;
|
||||
gfx_draw_sprite(
|
||||
dpi, sprite_idx, w->windowPos.x + w->widgets[WIDX_TAB_2].left, w->windowPos.y + w->widgets[WIDX_TAB_2].top, 0);
|
||||
dpi, sprite_idx, w->windowPos + ScreenCoordsXY{ w->widgets[WIDX_TAB_2].left, w->widgets[WIDX_TAB_2].top }, 0);
|
||||
gfx_draw_sprite(
|
||||
dpi, SPR_RATING_HIGH, w->windowPos.x + w->widgets[WIDX_TAB_2].left + 7,
|
||||
w->windowPos.y + w->widgets[WIDX_TAB_2].top + 1, 0);
|
||||
dpi, SPR_RATING_HIGH,
|
||||
w->windowPos + ScreenCoordsXY{ w->widgets[WIDX_TAB_2].left + 7, w->widgets[WIDX_TAB_2].top + 1 }, 0);
|
||||
gfx_draw_sprite(
|
||||
dpi, SPR_RATING_LOW, w->windowPos.x + w->widgets[WIDX_TAB_2].left + 16,
|
||||
w->windowPos.y + w->widgets[WIDX_TAB_2].top + 12, 0);
|
||||
dpi, SPR_RATING_LOW,
|
||||
w->windowPos + ScreenCoordsXY{ w->widgets[WIDX_TAB_2].left + 16, w->widgets[WIDX_TAB_2].top + 12 }, 0);
|
||||
}
|
||||
|
||||
// Guests tab
|
||||
|
@ -1855,7 +1855,7 @@ static void window_park_draw_tab_images(rct_drawpixelinfo* dpi, rct_window* w)
|
|||
if (w->page == WINDOW_PARK_PAGE_GUESTS)
|
||||
sprite_idx += (w->frame_no / 8) % 8;
|
||||
gfx_draw_sprite(
|
||||
dpi, sprite_idx, w->windowPos.x + w->widgets[WIDX_TAB_3].left, w->windowPos.y + w->widgets[WIDX_TAB_3].top, 0);
|
||||
dpi, sprite_idx, w->windowPos + ScreenCoordsXY{ w->widgets[WIDX_TAB_3].left, w->widgets[WIDX_TAB_3].top }, 0);
|
||||
|
||||
sprite_idx = g_peep_animation_entries[PEEP_SPRITE_TYPE_NORMAL].sprite_animation->base_image + 1;
|
||||
if (w->page == WINDOW_PARK_PAGE_GUESTS)
|
||||
|
@ -1863,8 +1863,11 @@ static void window_park_draw_tab_images(rct_drawpixelinfo* dpi, rct_window* w)
|
|||
|
||||
sprite_idx |= 0xA9E00000;
|
||||
gfx_draw_sprite(
|
||||
dpi, sprite_idx, w->windowPos.x + (w->widgets[WIDX_TAB_3].left + w->widgets[WIDX_TAB_3].right) / 2,
|
||||
w->windowPos.y + w->widgets[WIDX_TAB_3].bottom - 9, 0);
|
||||
dpi, sprite_idx,
|
||||
w->windowPos
|
||||
+ ScreenCoordsXY{ (w->widgets[WIDX_TAB_3].left + w->widgets[WIDX_TAB_3].right) / 2,
|
||||
w->widgets[WIDX_TAB_3].bottom - 9 },
|
||||
0);
|
||||
}
|
||||
|
||||
// Price tab
|
||||
|
@ -1874,7 +1877,7 @@ static void window_park_draw_tab_images(rct_drawpixelinfo* dpi, rct_window* w)
|
|||
if (w->page == WINDOW_PARK_PAGE_PRICE)
|
||||
sprite_idx += (w->frame_no / 2) % 8;
|
||||
gfx_draw_sprite(
|
||||
dpi, sprite_idx, w->windowPos.x + w->widgets[WIDX_TAB_4].left, w->windowPos.y + w->widgets[WIDX_TAB_4].top, 0);
|
||||
dpi, sprite_idx, w->windowPos + ScreenCoordsXY{ w->widgets[WIDX_TAB_4].left, w->widgets[WIDX_TAB_4].top }, 0);
|
||||
}
|
||||
|
||||
// Statistics tab
|
||||
|
@ -1884,7 +1887,7 @@ static void window_park_draw_tab_images(rct_drawpixelinfo* dpi, rct_window* w)
|
|||
if (w->page == WINDOW_PARK_PAGE_STATS)
|
||||
sprite_idx += (w->frame_no / 4) % 7;
|
||||
gfx_draw_sprite(
|
||||
dpi, sprite_idx, w->windowPos.x + w->widgets[WIDX_TAB_5].left, w->windowPos.y + w->widgets[WIDX_TAB_5].top, 0);
|
||||
dpi, sprite_idx, w->windowPos + ScreenCoordsXY{ w->widgets[WIDX_TAB_5].left, w->widgets[WIDX_TAB_5].top }, 0);
|
||||
}
|
||||
|
||||
// Objective tab
|
||||
|
@ -1894,13 +1897,13 @@ static void window_park_draw_tab_images(rct_drawpixelinfo* dpi, rct_window* w)
|
|||
if (w->page == WINDOW_PARK_PAGE_OBJECTIVE)
|
||||
sprite_idx += (w->frame_no / 4) % 16;
|
||||
gfx_draw_sprite(
|
||||
dpi, sprite_idx, w->windowPos.x + w->widgets[WIDX_TAB_6].left, w->windowPos.y + w->widgets[WIDX_TAB_6].top, 0);
|
||||
dpi, sprite_idx, w->windowPos + ScreenCoordsXY{ w->widgets[WIDX_TAB_6].left, w->widgets[WIDX_TAB_6].top }, 0);
|
||||
}
|
||||
|
||||
// Awards tab
|
||||
if (!(w->disabled_widgets & (1 << WIDX_TAB_7)))
|
||||
gfx_draw_sprite(
|
||||
dpi, SPR_TAB_AWARDS, w->windowPos.x + w->widgets[WIDX_TAB_7].left, w->windowPos.y + w->widgets[WIDX_TAB_7].top, 0);
|
||||
dpi, SPR_TAB_AWARDS, w->windowPos + ScreenCoordsXY{ w->widgets[WIDX_TAB_7].left, w->widgets[WIDX_TAB_7].top }, 0);
|
||||
}
|
||||
|
||||
#pragma endregion
|
||||
|
|
|
@ -613,24 +613,22 @@ static void window_player_set_page(rct_window* w, int32_t page)
|
|||
static void window_player_draw_tab_images(rct_drawpixelinfo* dpi, rct_window* w)
|
||||
{
|
||||
rct_widget* widget;
|
||||
int32_t x, y, imageId;
|
||||
int32_t imageId;
|
||||
|
||||
// Tab 1
|
||||
if (!widget_is_disabled(w, WIDX_TAB_1))
|
||||
{
|
||||
widget = &w->widgets[WIDX_TAB_1];
|
||||
x = widget->left + w->windowPos.x;
|
||||
y = widget->top + w->windowPos.y;
|
||||
auto screenCoords = w->windowPos + ScreenCoordsXY{ widget->left, widget->top };
|
||||
imageId = SPR_PEEP_LARGE_FACE_NORMAL;
|
||||
gfx_draw_sprite(dpi, imageId, x, y, 0);
|
||||
gfx_draw_sprite(dpi, imageId, screenCoords, 0);
|
||||
}
|
||||
|
||||
// Tab 2
|
||||
if (!widget_is_disabled(w, WIDX_TAB_2))
|
||||
{
|
||||
widget = &w->widgets[WIDX_TAB_2];
|
||||
x = widget->left + w->windowPos.x;
|
||||
y = widget->top + w->windowPos.y;
|
||||
auto screenCoords = w->windowPos + ScreenCoordsXY{ widget->left, widget->top };
|
||||
imageId = SPR_TAB_FINANCES_SUMMARY_0;
|
||||
|
||||
if (w->page == WINDOW_PLAYER_PAGE_STATISTICS)
|
||||
|
@ -638,7 +636,7 @@ static void window_player_draw_tab_images(rct_drawpixelinfo* dpi, rct_window* w)
|
|||
imageId += (w->frame_no / 2) & 7;
|
||||
}
|
||||
|
||||
gfx_draw_sprite(dpi, imageId, x, y, 0);
|
||||
gfx_draw_sprite(dpi, imageId, screenCoords, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -681,7 +681,7 @@ static void window_research_draw_tab_image(rct_drawpixelinfo* dpi, rct_window* w
|
|||
}
|
||||
|
||||
gfx_draw_sprite(
|
||||
dpi, spriteIndex, w->windowPos.x + w->widgets[widgetIndex].left, w->windowPos.y + w->widgets[widgetIndex].top, 0);
|
||||
dpi, spriteIndex, w->windowPos + ScreenCoordsXY{ w->widgets[widgetIndex].left, w->widgets[widgetIndex].top }, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1258,7 +1258,7 @@ static void window_ride_draw_tab_image(rct_drawpixelinfo* dpi, rct_window* w, in
|
|||
}
|
||||
|
||||
gfx_draw_sprite(
|
||||
dpi, spriteIndex, w->windowPos.x + w->widgets[widgetIndex].left, w->windowPos.y + w->widgets[widgetIndex].top, 0);
|
||||
dpi, spriteIndex, w->windowPos + ScreenCoordsXY{ w->widgets[widgetIndex].left, w->widgets[widgetIndex].top }, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1294,7 +1294,7 @@ static void window_ride_draw_tab_main(rct_drawpixelinfo* dpi, rct_window* w)
|
|||
break;
|
||||
}
|
||||
gfx_draw_sprite(
|
||||
dpi, spriteIndex, w->windowPos.x + w->widgets[widgetIndex].left, w->windowPos.y + w->widgets[widgetIndex].top,
|
||||
dpi, spriteIndex, w->windowPos + ScreenCoordsXY{ w->widgets[widgetIndex].left, w->widgets[widgetIndex].top },
|
||||
0);
|
||||
}
|
||||
}
|
||||
|
@ -1311,24 +1311,21 @@ static void window_ride_draw_tab_vehicle(rct_drawpixelinfo* dpi, rct_window* w)
|
|||
|
||||
if (!(w->disabled_widgets & (1LL << widgetIndex)))
|
||||
{
|
||||
int32_t x = widget->left + 1;
|
||||
int32_t y = widget->top + 1;
|
||||
int32_t width = widget->right - x;
|
||||
int32_t height = widget->bottom - 3 - y;
|
||||
auto screenCoords = ScreenCoordsXY{ widget->left + 1, widget->top + 1 };
|
||||
int32_t width = widget->right - screenCoords.x;
|
||||
int32_t height = widget->bottom - 3 - screenCoords.y;
|
||||
if (w->page == WINDOW_RIDE_PAGE_VEHICLE)
|
||||
height += 4;
|
||||
|
||||
x += w->windowPos.x;
|
||||
y += w->windowPos.y;
|
||||
screenCoords += w->windowPos;
|
||||
|
||||
rct_drawpixelinfo clipDPI;
|
||||
if (!clip_drawpixelinfo(&clipDPI, dpi, x, y, width, height))
|
||||
if (!clip_drawpixelinfo(&clipDPI, dpi, screenCoords.x, screenCoords.y, width, height))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
x = (widget->right - widget->left) / 2;
|
||||
y = (widget->bottom - widget->top) - 12;
|
||||
screenCoords = ScreenCoordsXY{ (widget->right - widget->left) / 2, (widget->bottom - widget->top) - 12 };
|
||||
|
||||
auto ride = get_ride(w->number);
|
||||
if (ride == nullptr)
|
||||
|
@ -1343,8 +1340,8 @@ static void window_ride_draw_tab_vehicle(rct_drawpixelinfo* dpi, rct_window* w)
|
|||
clipDPI.zoom_level = 1;
|
||||
clipDPI.width *= 2;
|
||||
clipDPI.height *= 2;
|
||||
x *= 2;
|
||||
y *= 2;
|
||||
screenCoords.x *= 2;
|
||||
screenCoords.y *= 2;
|
||||
clipDPI.x *= 2;
|
||||
clipDPI.y *= 2;
|
||||
}
|
||||
|
@ -1352,7 +1349,7 @@ static void window_ride_draw_tab_vehicle(rct_drawpixelinfo* dpi, rct_window* w)
|
|||
// For any suspended rides, move image higher in the vehicle tab on the rides window
|
||||
if (RideTypeDescriptors[ride->type].HasFlag(RIDE_TYPE_FLAG_IS_SUSPENDED))
|
||||
{
|
||||
y /= 4;
|
||||
screenCoords.y /= 4;
|
||||
}
|
||||
|
||||
const uint8_t vehicle = ride_entry_get_vehicle_at_position(
|
||||
|
@ -1371,7 +1368,7 @@ static void window_ride_draw_tab_vehicle(rct_drawpixelinfo* dpi, rct_window* w)
|
|||
spriteIndex |= (vehicleColour.additional_1 << 24) | (vehicleColour.main << 19);
|
||||
spriteIndex |= IMAGE_TYPE_REMAP_2_PLUS;
|
||||
|
||||
gfx_draw_sprite(&clipDPI, spriteIndex, x, y, vehicleColour.additional_2);
|
||||
gfx_draw_sprite(&clipDPI, spriteIndex, screenCoords, vehicleColour.additional_2);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1395,7 +1392,7 @@ static void window_ride_draw_tab_customer(rct_drawpixelinfo* dpi, rct_window* w)
|
|||
spriteIndex |= 0xA9E00000;
|
||||
|
||||
gfx_draw_sprite(
|
||||
dpi, spriteIndex, w->windowPos.x + (widget->left + widget->right) / 2, w->windowPos.y + widget->bottom - 6, 0);
|
||||
dpi, spriteIndex, w->windowPos + ScreenCoordsXY{ (widget->left + widget->right) / 2, widget->bottom - 6 }, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2916,7 +2913,7 @@ static void window_ride_main_paint(rct_window* w, rct_drawpixelinfo* dpi)
|
|||
{
|
||||
window_draw_viewport(dpi, w);
|
||||
if (w->viewport->flags & VIEWPORT_FLAG_SOUND_ON)
|
||||
gfx_draw_sprite(dpi, SPR_HEARING_VIEWPORT, w->windowPos.x + 2, w->windowPos.y + 2, 0);
|
||||
gfx_draw_sprite(dpi, SPR_HEARING_VIEWPORT, w->windowPos + ScreenCoordsXY{ 2, 2 }, 0);
|
||||
}
|
||||
|
||||
// View dropdown
|
||||
|
@ -3324,7 +3321,7 @@ static void window_ride_vehicle_scrollpaint(rct_window* w, rct_drawpixelinfo* dp
|
|||
|
||||
rct_vehicle_paintinfo* current = nextSpriteToDraw;
|
||||
while (--current >= _sprites_to_draw)
|
||||
gfx_draw_sprite(dpi, current->sprite_index, current->x, current->y, current->tertiary_colour);
|
||||
gfx_draw_sprite(dpi, current->sprite_index, { current->x, current->y }, current->tertiary_colour);
|
||||
|
||||
startX += 36;
|
||||
}
|
||||
|
@ -4317,8 +4314,7 @@ static void window_ride_maintenance_paint(rct_window* w, rct_drawpixelinfo* dpi)
|
|||
rct_widget* widget = &window_ride_maintenance_widgets[WIDX_LOCATE_MECHANIC];
|
||||
auto screenCoords = w->windowPos + ScreenCoordsXY{ widget->left, widget->top };
|
||||
gfx_draw_sprite(
|
||||
dpi, (gStaffMechanicColour << 24) | IMAGE_TYPE_REMAP | IMAGE_TYPE_REMAP_2_PLUS | SPR_MECHANIC, screenCoords.x,
|
||||
screenCoords.y, 0);
|
||||
dpi, (gStaffMechanicColour << 24) | IMAGE_TYPE_REMAP | IMAGE_TYPE_REMAP_2_PLUS | SPR_MECHANIC, screenCoords, 0);
|
||||
|
||||
// Inspection label
|
||||
widget = &window_ride_maintenance_widgets[WIDX_INSPECTION_INTERVAL];
|
||||
|
@ -5069,14 +5065,13 @@ static void window_ride_colour_paint(rct_window* w, rct_drawpixelinfo* dpi)
|
|||
auto rideEntry = ride->GetRideEntry();
|
||||
if (rideEntry == nullptr || rideEntry->shop_item[0] == SHOP_ITEM_NONE)
|
||||
{
|
||||
int32_t x = w->windowPos.x + widget->left;
|
||||
int32_t y = w->windowPos.y + widget->top;
|
||||
auto screenCoords = w->windowPos + ScreenCoordsXY{ widget->left, widget->top };
|
||||
|
||||
// Track
|
||||
if (ride->type == RIDE_TYPE_MAZE)
|
||||
{
|
||||
int32_t spriteIndex = MazeOptions[trackColour.supports].sprite;
|
||||
gfx_draw_sprite(dpi, spriteIndex, x, y, 0);
|
||||
gfx_draw_sprite(dpi, spriteIndex, screenCoords, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -5084,7 +5079,7 @@ static void window_ride_colour_paint(rct_window* w, rct_drawpixelinfo* dpi)
|
|||
if (spriteIndex != 0)
|
||||
{
|
||||
spriteIndex |= SPRITE_ID_PALETTE_COLOUR_2(trackColour.main, trackColour.additional);
|
||||
gfx_draw_sprite(dpi, spriteIndex, x, y, 0);
|
||||
gfx_draw_sprite(dpi, spriteIndex, screenCoords, 0);
|
||||
}
|
||||
|
||||
// Supports
|
||||
|
@ -5092,20 +5087,20 @@ static void window_ride_colour_paint(rct_window* w, rct_drawpixelinfo* dpi)
|
|||
if (spriteIndex != 0)
|
||||
{
|
||||
spriteIndex |= SPRITE_ID_PALETTE_COLOUR_1(trackColour.supports);
|
||||
gfx_draw_sprite(dpi, spriteIndex, x, y, 0);
|
||||
gfx_draw_sprite(dpi, spriteIndex, screenCoords, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
int32_t x = w->windowPos.x + (widget->left + widget->right) / 2 - 8;
|
||||
int32_t y = w->windowPos.y + (widget->bottom + widget->top) / 2 - 6;
|
||||
auto screenCoords = w->windowPos
|
||||
+ ScreenCoordsXY{ (widget->left + widget->right) / 2 - 8, (widget->bottom + widget->top) / 2 - 6 };
|
||||
|
||||
uint8_t shopItem = rideEntry->shop_item[1] == SHOP_ITEM_NONE ? rideEntry->shop_item[0] : rideEntry->shop_item[1];
|
||||
int32_t spriteIndex = ShopItems[shopItem].Image;
|
||||
spriteIndex |= SPRITE_ID_PALETTE_COLOUR_1(ride->track_colour[0].main);
|
||||
|
||||
gfx_draw_sprite(dpi, spriteIndex, x, y, 0);
|
||||
gfx_draw_sprite(dpi, spriteIndex, screenCoords, 0);
|
||||
}
|
||||
|
||||
// Entrance preview
|
||||
|
@ -5132,14 +5127,14 @@ static void window_ride_colour_paint(rct_window* w, rct_drawpixelinfo* dpi)
|
|||
spriteIndex += stationObj->BaseImageId;
|
||||
|
||||
// Back
|
||||
gfx_draw_sprite(&clippedDpi, spriteIndex, 34, 20, terniaryColour);
|
||||
gfx_draw_sprite(&clippedDpi, spriteIndex, { 34, 20 }, terniaryColour);
|
||||
|
||||
// Front
|
||||
gfx_draw_sprite(&clippedDpi, spriteIndex + 4, 34, 20, terniaryColour);
|
||||
gfx_draw_sprite(&clippedDpi, spriteIndex + 4, { 34, 20 }, terniaryColour);
|
||||
|
||||
// Glass
|
||||
if (terniaryColour != 0)
|
||||
gfx_draw_sprite(&clippedDpi, ((spriteIndex + 20) & 0x7FFFF) + terniaryColour, 34, 20, terniaryColour);
|
||||
gfx_draw_sprite(&clippedDpi, ((spriteIndex + 20) & 0x7FFFF) + terniaryColour, { 34, 20 }, terniaryColour);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -5169,8 +5164,8 @@ static void window_ride_colour_scrollpaint(rct_window* w, rct_drawpixelinfo* dpi
|
|||
gfx_fill_rect(dpi, dpi->x, dpi->y, dpi->x + dpi->width - 1, dpi->y + dpi->height - 1, PALETTE_INDEX_12);
|
||||
|
||||
// ?
|
||||
int32_t x = (vehiclePreviewWidget->right - vehiclePreviewWidget->left) / 2;
|
||||
int32_t y = vehiclePreviewWidget->bottom - vehiclePreviewWidget->top - 15;
|
||||
auto screenCoords = ScreenCoordsXY{ (vehiclePreviewWidget->right - vehiclePreviewWidget->left) / 2,
|
||||
vehiclePreviewWidget->bottom - vehiclePreviewWidget->top - 15 };
|
||||
|
||||
// ?
|
||||
auto trainCarIndex = (ride->colour_scheme_type & 3) == RIDE_COLOUR_SCHEME_DIFFERENT_PER_CAR ? w->vehicleIndex
|
||||
|
@ -5179,7 +5174,7 @@ static void window_ride_colour_scrollpaint(rct_window* w, rct_drawpixelinfo* dpi
|
|||
rct_ride_entry_vehicle* rideVehicleEntry = &rideEntry->vehicles[ride_entry_get_vehicle_at_position(
|
||||
ride->subtype, ride->num_cars_per_train, trainCarIndex)];
|
||||
|
||||
y += rideVehicleEntry->tab_height;
|
||||
screenCoords.y += rideVehicleEntry->tab_height;
|
||||
|
||||
// Draw the coloured spinning vehicle
|
||||
uint32_t spriteIndex = (rideVehicleEntry->flags & VEHICLE_ENTRY_FLAG_11) ? w->frame_no / 4 : w->frame_no / 2;
|
||||
|
@ -5188,7 +5183,7 @@ static void window_ride_colour_scrollpaint(rct_window* w, rct_drawpixelinfo* dpi
|
|||
spriteIndex += rideVehicleEntry->base_image_id;
|
||||
spriteIndex |= (vehicleColour.additional_1 << 24) | (vehicleColour.main << 19);
|
||||
spriteIndex |= IMAGE_TYPE_REMAP_2_PLUS;
|
||||
gfx_draw_sprite(dpi, spriteIndex, x, y, vehicleColour.additional_2);
|
||||
gfx_draw_sprite(dpi, spriteIndex, screenCoords, vehicleColour.additional_2);
|
||||
}
|
||||
|
||||
#pragma endregion
|
||||
|
|
|
@ -765,21 +765,21 @@ static void window_ride_list_draw_tab_images(rct_drawpixelinfo* dpi, rct_window*
|
|||
if (w->page == PAGE_RIDES)
|
||||
sprite_idx += w->frame_no / 4;
|
||||
gfx_draw_sprite(
|
||||
dpi, sprite_idx, w->windowPos.x + w->widgets[WIDX_TAB_1].left, w->windowPos.y + w->widgets[WIDX_TAB_1].top, 0);
|
||||
dpi, sprite_idx, w->windowPos + ScreenCoordsXY{ w->widgets[WIDX_TAB_1].left, w->widgets[WIDX_TAB_1].top }, 0);
|
||||
|
||||
// Shops and stalls tab
|
||||
sprite_idx = SPR_TAB_SHOPS_AND_STALLS_0;
|
||||
if (w->page == PAGE_SHOPS_AND_STALLS)
|
||||
sprite_idx += w->frame_no / 4;
|
||||
gfx_draw_sprite(
|
||||
dpi, sprite_idx, w->windowPos.x + w->widgets[WIDX_TAB_2].left, w->windowPos.y + w->widgets[WIDX_TAB_2].top, 0);
|
||||
dpi, sprite_idx, w->windowPos + ScreenCoordsXY{ w->widgets[WIDX_TAB_2].left, w->widgets[WIDX_TAB_2].top }, 0);
|
||||
|
||||
// Information kiosks and facilities tab
|
||||
sprite_idx = SPR_TAB_KIOSKS_AND_FACILITIES_0;
|
||||
if (w->page == PAGE_KIOSKS_AND_FACILITIES)
|
||||
sprite_idx += (w->frame_no / 4) % 8;
|
||||
gfx_draw_sprite(
|
||||
dpi, sprite_idx, w->windowPos.x + w->widgets[WIDX_TAB_3].left, w->windowPos.y + w->widgets[WIDX_TAB_3].top, 0);
|
||||
dpi, sprite_idx, w->windowPos + ScreenCoordsXY{ w->widgets[WIDX_TAB_3].left, w->widgets[WIDX_TAB_3].top }, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -1124,8 +1124,10 @@ void window_scenery_paint(rct_window* w, rct_drawpixelinfo* dpi)
|
|||
uint32_t imageId = ((w->colours[1] << 19) | window_scenery_widgets[selectedWidgetId].image) + 1ul;
|
||||
|
||||
gfx_draw_sprite(
|
||||
dpi, imageId, w->windowPos.x + window_scenery_widgets[selectedWidgetId].left,
|
||||
w->windowPos.y + window_scenery_widgets[selectedWidgetId].top, selectedWidgetId);
|
||||
dpi, imageId,
|
||||
w->windowPos
|
||||
+ ScreenCoordsXY{ window_scenery_widgets[selectedWidgetId].left, window_scenery_widgets[selectedWidgetId].top },
|
||||
selectedWidgetId);
|
||||
|
||||
ScenerySelection selectedSceneryEntry = w->scenery.SelectedScenery;
|
||||
if (selectedSceneryEntry.IsUndefined())
|
||||
|
@ -1245,8 +1247,8 @@ void window_scenery_scrollpaint(rct_window* w, rct_drawpixelinfo* dpi, int32_t s
|
|||
uint32_t imageId = sceneryEntry->image + gWindowSceneryRotation * 2;
|
||||
imageId |= (gWindowSceneryPrimaryColour << 19) | IMAGE_TYPE_REMAP;
|
||||
|
||||
gfx_draw_sprite(&clipdpi, imageId, 0x21, 0x28, w->colours[1]);
|
||||
gfx_draw_sprite(&clipdpi, imageId + 1, 0x21, 0x28, w->colours[1]);
|
||||
gfx_draw_sprite(&clipdpi, imageId, { 0x21, 0x28 }, w->colours[1]);
|
||||
gfx_draw_sprite(&clipdpi, imageId + 1, { 0x21, 0x28 }, w->colours[1]);
|
||||
}
|
||||
else if (currentSceneryGlobal.SceneryType == SCENERY_TYPE_LARGE)
|
||||
{
|
||||
|
@ -1255,7 +1257,7 @@ void window_scenery_scrollpaint(rct_window* w, rct_drawpixelinfo* dpi, int32_t s
|
|||
imageId |= (gWindowSceneryPrimaryColour << 19) | IMAGE_TYPE_REMAP;
|
||||
imageId |= (gWindowScenerySecondaryColour << 24) | IMAGE_TYPE_REMAP_2_PLUS;
|
||||
|
||||
gfx_draw_sprite(&clipdpi, imageId, 0x21, 0, w->colours[1]);
|
||||
gfx_draw_sprite(&clipdpi, imageId, { 0x21, 0 }, w->colours[1]);
|
||||
}
|
||||
else if (currentSceneryGlobal.SceneryType == SCENERY_TYPE_WALL)
|
||||
{
|
||||
|
@ -1272,10 +1274,10 @@ void window_scenery_scrollpaint(rct_window* w, rct_drawpixelinfo* dpi, int32_t s
|
|||
{
|
||||
imageId |= (gWindowScenerySecondaryColour << 24) | IMAGE_TYPE_REMAP_2_PLUS;
|
||||
}
|
||||
gfx_draw_sprite(&clipdpi, imageId, 0x2F, spriteTop, tertiaryColour);
|
||||
gfx_draw_sprite(&clipdpi, imageId, { 0x2F, spriteTop }, tertiaryColour);
|
||||
|
||||
imageId = (sceneryEntry->image + 0x40000006) | (GlassPaletteIds[gWindowSceneryPrimaryColour] << 19);
|
||||
gfx_draw_sprite(&clipdpi, imageId, 0x2F, spriteTop, tertiaryColour);
|
||||
gfx_draw_sprite(&clipdpi, imageId, { 0x2F, spriteTop }, tertiaryColour);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1291,11 +1293,11 @@ void window_scenery_scrollpaint(rct_window* w, rct_drawpixelinfo* dpi, int32_t s
|
|||
tertiaryColour = gWindowSceneryTertiaryColour;
|
||||
}
|
||||
}
|
||||
gfx_draw_sprite(&clipdpi, imageId, 0x2F, spriteTop, tertiaryColour);
|
||||
gfx_draw_sprite(&clipdpi, imageId, { 0x2F, spriteTop }, tertiaryColour);
|
||||
|
||||
if (sceneryEntry->wall.flags & WALL_SCENERY_IS_DOOR)
|
||||
{
|
||||
gfx_draw_sprite(&clipdpi, imageId + 1, 0x2F, spriteTop, tertiaryColour);
|
||||
gfx_draw_sprite(&clipdpi, imageId + 1, { 0x2F, spriteTop }, tertiaryColour);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1304,7 +1306,7 @@ void window_scenery_scrollpaint(rct_window* w, rct_drawpixelinfo* dpi, int32_t s
|
|||
sceneryEntry = get_footpath_item_entry(currentSceneryGlobal.EntryIndex);
|
||||
uint32_t imageId = sceneryEntry->image;
|
||||
|
||||
gfx_draw_sprite(&clipdpi, imageId, 0x0B, 0x10, w->colours[1]);
|
||||
gfx_draw_sprite(&clipdpi, imageId, { 0x0B, 0x10 }, w->colours[1]);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1329,20 +1331,20 @@ void window_scenery_scrollpaint(rct_window* w, rct_drawpixelinfo* dpi, int32_t s
|
|||
spriteTop -= 0x0C;
|
||||
}
|
||||
|
||||
gfx_draw_sprite(&clipdpi, imageId, 0x20, spriteTop, w->colours[1]);
|
||||
gfx_draw_sprite(&clipdpi, imageId, { 0x20, spriteTop }, w->colours[1]);
|
||||
|
||||
if (scenery_small_entry_has_flag(sceneryEntry, SMALL_SCENERY_FLAG_HAS_GLASS))
|
||||
{
|
||||
imageId = ((sceneryEntry->image + gWindowSceneryRotation) + 0x40000004)
|
||||
+ (GlassPaletteIds[gWindowSceneryPrimaryColour] << 19);
|
||||
|
||||
gfx_draw_sprite(&clipdpi, imageId, 0x20, spriteTop, w->colours[1]);
|
||||
gfx_draw_sprite(&clipdpi, imageId, { 0x20, spriteTop }, w->colours[1]);
|
||||
}
|
||||
|
||||
if (scenery_small_entry_has_flag(sceneryEntry, SMALL_SCENERY_FLAG_ANIMATED_FG))
|
||||
{
|
||||
imageId = (sceneryEntry->image + gWindowSceneryRotation) + 4;
|
||||
gfx_draw_sprite(&clipdpi, imageId, 0x20, spriteTop, w->colours[1]);
|
||||
gfx_draw_sprite(&clipdpi, imageId, { 0x20, spriteTop }, w->colours[1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -489,14 +489,14 @@ static void window_server_list_scrollpaint(rct_window* w, rct_drawpixelinfo* dpi
|
|||
bool correctVersion = serverDetails.Version == network_get_version();
|
||||
compatibilitySpriteId = correctVersion ? SPR_G2_RCT1_OPEN_BUTTON_2 : SPR_G2_RCT1_CLOSE_BUTTON_2;
|
||||
}
|
||||
gfx_draw_sprite(dpi, compatibilitySpriteId, right, screenCoords.y + 1, 0);
|
||||
gfx_draw_sprite(dpi, compatibilitySpriteId, { right, screenCoords.y + 1 }, 0);
|
||||
right -= 4;
|
||||
|
||||
// Draw lock icon
|
||||
right -= 8;
|
||||
if (serverDetails.RequiresPassword)
|
||||
{
|
||||
gfx_draw_sprite(dpi, SPR_G2_LOCKED, right, screenCoords.y + 4, 0);
|
||||
gfx_draw_sprite(dpi, SPR_G2_LOCKED, { right, screenCoords.y + 4 }, 0);
|
||||
}
|
||||
right -= 6;
|
||||
|
||||
|
|
|
@ -943,7 +943,7 @@ void window_staff_overview_paint(rct_window* w, rct_drawpixelinfo* dpi)
|
|||
rct_viewport* viewport = w->viewport;
|
||||
if (viewport->flags & VIEWPORT_FLAG_SOUND_ON)
|
||||
{
|
||||
gfx_draw_sprite(dpi, SPR_HEARING_VIEWPORT, w->windowPos.x + 2, w->windowPos.y + 2, 0);
|
||||
gfx_draw_sprite(dpi, SPR_HEARING_VIEWPORT, w->windowPos + ScreenCoordsXY{ 2, 2 }, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -967,8 +967,6 @@ void window_staff_options_tab_paint(rct_window* w, rct_drawpixelinfo* dpi)
|
|||
return;
|
||||
|
||||
rct_widget* widget = &w->widgets[WIDX_TAB_2];
|
||||
int32_t x = widget->left + w->windowPos.x;
|
||||
int32_t y = widget->top + w->windowPos.y;
|
||||
|
||||
int32_t image_id = SPR_TAB_STAFF_OPTIONS_0;
|
||||
|
||||
|
@ -977,7 +975,8 @@ void window_staff_options_tab_paint(rct_window* w, rct_drawpixelinfo* dpi)
|
|||
image_id += (w->frame_no / 2) % 7;
|
||||
}
|
||||
|
||||
gfx_draw_sprite(dpi, image_id, x, y, 0);
|
||||
auto screenCoords = w->windowPos + ScreenCoordsXY{ widget->left, widget->top };
|
||||
gfx_draw_sprite(dpi, image_id, screenCoords, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -990,8 +989,6 @@ void window_staff_stats_tab_paint(rct_window* w, rct_drawpixelinfo* dpi)
|
|||
return;
|
||||
|
||||
rct_widget* widget = &w->widgets[WIDX_TAB_3];
|
||||
int32_t x = widget->left + w->windowPos.x;
|
||||
int32_t y = widget->top + w->windowPos.y;
|
||||
|
||||
int32_t image_id = SPR_TAB_STATS_0;
|
||||
|
||||
|
@ -1000,7 +997,8 @@ void window_staff_stats_tab_paint(rct_window* w, rct_drawpixelinfo* dpi)
|
|||
image_id += (w->frame_no / 4) % 7;
|
||||
}
|
||||
|
||||
gfx_draw_sprite(dpi, image_id, x, y, 0);
|
||||
auto screenCoords = w->windowPos + ScreenCoordsXY{ widget->left, widget->top };
|
||||
gfx_draw_sprite(dpi, image_id, screenCoords, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1014,24 +1012,22 @@ void window_staff_overview_tab_paint(rct_window* w, rct_drawpixelinfo* dpi)
|
|||
rct_widget* widget = &w->widgets[WIDX_TAB_1];
|
||||
int32_t width = widget->right - widget->left - 1;
|
||||
int32_t height = widget->bottom - widget->top - 1;
|
||||
int32_t x = widget->left + 1 + w->windowPos.x;
|
||||
int32_t y = widget->top + 1 + w->windowPos.y;
|
||||
auto screenCoords = w->windowPos + ScreenCoordsXY{ widget->left + 1, widget->top + 1 };
|
||||
if (w->page == WINDOW_STAFF_OVERVIEW)
|
||||
height++;
|
||||
|
||||
rct_drawpixelinfo clip_dpi;
|
||||
if (!clip_drawpixelinfo(&clip_dpi, dpi, x, y, width, height))
|
||||
if (!clip_drawpixelinfo(&clip_dpi, dpi, screenCoords.x, screenCoords.y, width, height))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
x = 14;
|
||||
y = 20;
|
||||
screenCoords = ScreenCoordsXY{ 20, 14 };
|
||||
|
||||
Peep* peep = GET_PEEP(w->number);
|
||||
|
||||
if (peep->AssignedPeepType == PEEP_TYPE_STAFF && peep->StaffType == STAFF_TYPE_ENTERTAINER)
|
||||
y++;
|
||||
screenCoords.y++;
|
||||
|
||||
int32_t ebx = g_peep_animation_entries[peep->SpriteType].sprite_animation->base_image + 1;
|
||||
|
||||
|
@ -1045,14 +1041,14 @@ void window_staff_overview_tab_paint(rct_window* w, rct_drawpixelinfo* dpi)
|
|||
ebx += eax;
|
||||
|
||||
int32_t sprite_id = ebx | SPRITE_ID_PALETTE_COLOUR_2(peep->TshirtColour, peep->TrousersColour);
|
||||
gfx_draw_sprite(&clip_dpi, sprite_id, x, y, 0);
|
||||
gfx_draw_sprite(&clip_dpi, sprite_id, screenCoords, 0);
|
||||
|
||||
// If holding a balloon
|
||||
if (ebx >= 0x2A1D && ebx < 0x2A3D)
|
||||
{
|
||||
ebx += 32;
|
||||
ebx |= SPRITE_ID_PALETTE_COLOUR_1(peep->BalloonColour);
|
||||
gfx_draw_sprite(&clip_dpi, ebx, x, y, 0);
|
||||
gfx_draw_sprite(&clip_dpi, ebx, screenCoords, 0);
|
||||
}
|
||||
|
||||
// If holding umbrella
|
||||
|
@ -1060,7 +1056,7 @@ void window_staff_overview_tab_paint(rct_window* w, rct_drawpixelinfo* dpi)
|
|||
{
|
||||
ebx += 32;
|
||||
ebx |= SPRITE_ID_PALETTE_COLOUR_1(peep->UmbrellaColour);
|
||||
gfx_draw_sprite(&clip_dpi, ebx, x, y, 0);
|
||||
gfx_draw_sprite(&clip_dpi, ebx, screenCoords, 0);
|
||||
}
|
||||
|
||||
// If wearing hat
|
||||
|
@ -1068,7 +1064,7 @@ void window_staff_overview_tab_paint(rct_window* w, rct_drawpixelinfo* dpi)
|
|||
{
|
||||
ebx += 32;
|
||||
ebx |= SPRITE_ID_PALETTE_COLOUR_1(peep->HatColour);
|
||||
gfx_draw_sprite(&clip_dpi, ebx, x, y, 0);
|
||||
gfx_draw_sprite(&clip_dpi, ebx, screenCoords, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -574,11 +574,12 @@ void window_staff_list_paint(rct_window* w, rct_drawpixelinfo* dpi)
|
|||
i |= SPRITE_ID_PALETTE_COLOUR_1(gStaffHandymanColour);
|
||||
gfx_draw_sprite(
|
||||
dpi, i,
|
||||
(window_staff_list_widgets[WIDX_STAFF_LIST_HANDYMEN_TAB].left
|
||||
+ window_staff_list_widgets[WIDX_STAFF_LIST_HANDYMEN_TAB].right)
|
||||
/ 2
|
||||
+ w->windowPos.x,
|
||||
window_staff_list_widgets[WIDX_STAFF_LIST_HANDYMEN_TAB].bottom - 6 + w->windowPos.y, 0);
|
||||
w->windowPos
|
||||
+ ScreenCoordsXY{ (window_staff_list_widgets[WIDX_STAFF_LIST_HANDYMEN_TAB].left
|
||||
+ window_staff_list_widgets[WIDX_STAFF_LIST_HANDYMEN_TAB].right)
|
||||
/ 2,
|
||||
window_staff_list_widgets[WIDX_STAFF_LIST_HANDYMEN_TAB].bottom - 6 },
|
||||
0);
|
||||
|
||||
// Mechanic tab image
|
||||
i = (selectedTab == 1 ? (w->list_information_type & ~3) : 0);
|
||||
|
@ -586,11 +587,12 @@ void window_staff_list_paint(rct_window* w, rct_drawpixelinfo* dpi)
|
|||
i |= SPRITE_ID_PALETTE_COLOUR_1(gStaffMechanicColour);
|
||||
gfx_draw_sprite(
|
||||
dpi, i,
|
||||
(window_staff_list_widgets[WIDX_STAFF_LIST_MECHANICS_TAB].left
|
||||
+ window_staff_list_widgets[WIDX_STAFF_LIST_MECHANICS_TAB].right)
|
||||
/ 2
|
||||
+ w->windowPos.x,
|
||||
window_staff_list_widgets[WIDX_STAFF_LIST_MECHANICS_TAB].bottom - 6 + w->windowPos.y, 0);
|
||||
w->windowPos
|
||||
+ ScreenCoordsXY{ (window_staff_list_widgets[WIDX_STAFF_LIST_MECHANICS_TAB].left
|
||||
+ window_staff_list_widgets[WIDX_STAFF_LIST_MECHANICS_TAB].right)
|
||||
/ 2,
|
||||
window_staff_list_widgets[WIDX_STAFF_LIST_MECHANICS_TAB].bottom - 6 },
|
||||
0);
|
||||
|
||||
// Security tab image
|
||||
i = (selectedTab == 2 ? (w->list_information_type & ~3) : 0);
|
||||
|
@ -598,11 +600,12 @@ void window_staff_list_paint(rct_window* w, rct_drawpixelinfo* dpi)
|
|||
i |= SPRITE_ID_PALETTE_COLOUR_1(gStaffSecurityColour);
|
||||
gfx_draw_sprite(
|
||||
dpi, i,
|
||||
(window_staff_list_widgets[WIDX_STAFF_LIST_SECURITY_TAB].left
|
||||
+ window_staff_list_widgets[WIDX_STAFF_LIST_SECURITY_TAB].right)
|
||||
/ 2
|
||||
+ w->windowPos.x,
|
||||
window_staff_list_widgets[WIDX_STAFF_LIST_SECURITY_TAB].bottom - 6 + w->windowPos.y, 0);
|
||||
w->windowPos
|
||||
+ ScreenCoordsXY{ (window_staff_list_widgets[WIDX_STAFF_LIST_SECURITY_TAB].left
|
||||
+ window_staff_list_widgets[WIDX_STAFF_LIST_SECURITY_TAB].right)
|
||||
/ 2,
|
||||
window_staff_list_widgets[WIDX_STAFF_LIST_SECURITY_TAB].bottom - 6 },
|
||||
0);
|
||||
|
||||
rct_drawpixelinfo sprite_dpi;
|
||||
if (clip_drawpixelinfo(
|
||||
|
@ -616,7 +619,7 @@ void window_staff_list_paint(rct_window* w, rct_drawpixelinfo* dpi)
|
|||
// Entertainers tab image
|
||||
i = (selectedTab == 3 ? (w->list_information_type & ~3) : 0);
|
||||
i += g_peep_animation_entries[PEEP_SPRITE_TYPE_ENTERTAINER_ELEPHANT].sprite_animation->base_image + 1;
|
||||
gfx_draw_sprite(&sprite_dpi, i, 0x0F, 0x17, 0);
|
||||
gfx_draw_sprite(&sprite_dpi, i, { 0x0F, 0x17 }, 0);
|
||||
}
|
||||
|
||||
if (!(gParkFlags & PARK_FLAGS_NO_MONEY))
|
||||
|
@ -708,7 +711,7 @@ void window_staff_list_scrollpaint(rct_window* w, rct_drawpixelinfo* dpi, int32_
|
|||
// True if a patrol path is set for the worker
|
||||
if (gStaffModes[peep->StaffId] & 2)
|
||||
{
|
||||
gfx_draw_sprite(dpi, SPR_STAFF_PATROL_PATH, nameColumnSize + 5, y, 0);
|
||||
gfx_draw_sprite(dpi, SPR_STAFF_PATROL_PATH, { nameColumnSize + 5, y }, 0);
|
||||
}
|
||||
|
||||
auto staffOrderIcon_x = nameColumnSize + 20;
|
||||
|
@ -721,7 +724,7 @@ void window_staff_list_scrollpaint(rct_window* w, rct_drawpixelinfo* dpi, int32_
|
|||
{
|
||||
if (staffOrders & 1)
|
||||
{
|
||||
gfx_draw_sprite(dpi, staffOrderSprite, staffOrderIcon_x, y, 0);
|
||||
gfx_draw_sprite(dpi, staffOrderSprite, { staffOrderIcon_x, y }, 0);
|
||||
}
|
||||
staffOrders = staffOrders >> 1;
|
||||
staffOrderIcon_x += 9;
|
||||
|
@ -731,7 +734,7 @@ void window_staff_list_scrollpaint(rct_window* w, rct_drawpixelinfo* dpi, int32_
|
|||
}
|
||||
else
|
||||
{
|
||||
gfx_draw_sprite(dpi, staffCostumeSprites[peep->SpriteType - 4], staffOrderIcon_x, y, 0);
|
||||
gfx_draw_sprite(dpi, staffCostumeSprites[peep->SpriteType - 4], { staffOrderIcon_x, y }, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -316,8 +316,10 @@ static void window_themes_draw_tab_images(rct_drawpixelinfo* dpi, rct_window* w)
|
|||
if (_selected_tab == i)
|
||||
sprite_idx += w->frame_no / window_themes_tab_animation_divisor[_selected_tab];
|
||||
gfx_draw_sprite(
|
||||
dpi, sprite_idx, w->windowPos.x + w->widgets[WIDX_THEMES_SETTINGS_TAB + i].left,
|
||||
w->windowPos.y + w->widgets[WIDX_THEMES_SETTINGS_TAB + i].top, 0);
|
||||
dpi, sprite_idx,
|
||||
w->windowPos
|
||||
+ ScreenCoordsXY{ w->widgets[WIDX_THEMES_SETTINGS_TAB + i].left, w->widgets[WIDX_THEMES_SETTINGS_TAB + i].top },
|
||||
0);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -913,7 +915,7 @@ void window_themes_scrollpaint(rct_window* w, rct_drawpixelinfo* dpi, int32_t sc
|
|||
{
|
||||
image = SPRITE_ID_PALETTE_COLOUR_1(colour & ~COLOUR_FLAG_TRANSLUCENT) | SPR_PALETTE_BTN_PRESSED;
|
||||
}
|
||||
gfx_draw_sprite(dpi, image, _button_offset_x + 12 * j, screenCoords.y + _button_offset_y, 0);
|
||||
gfx_draw_sprite(dpi, image, { _button_offset_x + 12 * j, screenCoords.y + _button_offset_y }, 0);
|
||||
|
||||
gfx_fill_rect_inset(
|
||||
dpi, _button_offset_x + 12 * j, screenCoords.y + _check_offset_y, _button_offset_x + 12 * j + 9,
|
||||
|
|
|
@ -1053,8 +1053,7 @@ static void window_title_editor_draw_tab_images(rct_drawpixelinfo* dpi, rct_wind
|
|||
{
|
||||
for (int32_t i = 0; i < WINDOW_TITLE_EDITOR_TAB_COUNT; i++)
|
||||
{
|
||||
int32_t x = 0;
|
||||
int32_t y = 0;
|
||||
auto screenCoords = ScreenCoordsXY{ 0, 0 };
|
||||
int32_t spriteId = window_title_editor_tab_sprites[i];
|
||||
if (w->selected_tab == i)
|
||||
{
|
||||
|
@ -1062,12 +1061,14 @@ static void window_title_editor_draw_tab_images(rct_drawpixelinfo* dpi, rct_wind
|
|||
}
|
||||
if (i == 1)
|
||||
{
|
||||
x = 4;
|
||||
y = 1;
|
||||
screenCoords = ScreenCoordsXY{ 4, 1 };
|
||||
}
|
||||
gfx_draw_sprite(
|
||||
dpi, spriteId, w->windowPos.x + w->widgets[WIDX_TITLE_EDITOR_PRESETS_TAB + i].left + x,
|
||||
w->windowPos.y + w->widgets[WIDX_TITLE_EDITOR_PRESETS_TAB + i].top + y, 0);
|
||||
dpi, spriteId,
|
||||
w->windowPos + screenCoords
|
||||
+ ScreenCoordsXY{ w->widgets[WIDX_TITLE_EDITOR_PRESETS_TAB + i].left,
|
||||
w->widgets[WIDX_TITLE_EDITOR_PRESETS_TAB + i].top },
|
||||
0);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -97,8 +97,7 @@ static void window_title_menu_mouseup(rct_window* w, rct_widgetindex widgetIndex
|
|||
*/
|
||||
static void window_title_logo_paint(rct_window* w, rct_drawpixelinfo* dpi)
|
||||
{
|
||||
int32_t x = 2;
|
||||
int32_t y = 2;
|
||||
gfx_draw_sprite(dpi, SPR_G2_LOGO, w->windowPos.x + x, w->windowPos.y + y, 0);
|
||||
gfx_draw_sprite(dpi, SPR_G2_TITLE, w->windowPos.x + x + 104, w->windowPos.y + y + 18, 0);
|
||||
auto screenCoords = w->windowPos + ScreenCoordsXY{ 2, 2 };
|
||||
gfx_draw_sprite(dpi, SPR_G2_LOGO, screenCoords, 0);
|
||||
gfx_draw_sprite(dpi, SPR_G2_TITLE, screenCoords + ScreenCoordsXY{ 104, 18 }, 0);
|
||||
}
|
||||
|
|
|
@ -615,7 +615,7 @@ static void window_scenarioselect_scrollpaint(rct_window* w, rct_drawpixelinfo*
|
|||
if (isCompleted)
|
||||
{
|
||||
// Draw completion tick
|
||||
gfx_draw_sprite(dpi, SPR_MENU_CHECKMARK, wide ? 500 : 395, y + 1, 0);
|
||||
gfx_draw_sprite(dpi, SPR_MENU_CHECKMARK, { wide ? 500 : 395, y + 1 }, 0);
|
||||
|
||||
// Draw completion score
|
||||
const utf8* completedByName = "???";
|
||||
|
|
|
@ -856,7 +856,7 @@ static void window_top_toolbar_paint(rct_window* w, rct_drawpixelinfo* dpi)
|
|||
if (widget_is_pressed(w, WIDX_STAFF))
|
||||
imgId++;
|
||||
imgId |= SPRITE_ID_PALETTE_COLOUR_2(gStaffHandymanColour, gStaffMechanicColour);
|
||||
gfx_draw_sprite(dpi, imgId, screenPos.x, screenPos.y, 0);
|
||||
gfx_draw_sprite(dpi, imgId, screenPos, 0);
|
||||
}
|
||||
|
||||
// Draw fast forward button
|
||||
|
@ -867,27 +867,28 @@ static void window_top_toolbar_paint(rct_window* w, rct_drawpixelinfo* dpi)
|
|||
if (widget_is_pressed(w, WIDX_FASTFORWARD))
|
||||
screenPos.y++;
|
||||
imgId = SPR_G2_FASTFORWARD;
|
||||
gfx_draw_sprite(dpi, imgId, screenPos.x + 6, screenPos.y + 3, 0);
|
||||
gfx_draw_sprite(dpi, imgId, screenPos + ScreenCoordsXY{ 6, 3 }, 0);
|
||||
|
||||
for (int32_t i = 0; i < gGameSpeed && gGameSpeed <= 4; i++)
|
||||
{
|
||||
gfx_draw_sprite(dpi, SPR_G2_SPEED_ARROW, screenPos.x + 5 + i * 5, screenPos.y + 15, 0);
|
||||
gfx_draw_sprite(dpi, SPR_G2_SPEED_ARROW, screenPos + ScreenCoordsXY{ 5 + i * 5, 15 }, 0);
|
||||
}
|
||||
for (int32_t i = 0; i < 3 && i < gGameSpeed - 4 && gGameSpeed >= 5; i++)
|
||||
{
|
||||
gfx_draw_sprite(dpi, SPR_G2_HYPER_ARROW, screenPos.x + 5 + i * 6, screenPos.y + 15, 0);
|
||||
gfx_draw_sprite(dpi, SPR_G2_HYPER_ARROW, screenPos + ScreenCoordsXY{ 5 + i * 6, 15 }, 0);
|
||||
}
|
||||
}
|
||||
|
||||
// Draw cheats button
|
||||
if (window_top_toolbar_widgets[WIDX_CHEATS].type != WWT_EMPTY)
|
||||
{
|
||||
screenPos = { w->windowPos.x + window_top_toolbar_widgets[WIDX_CHEATS].left - 1,
|
||||
w->windowPos.y + window_top_toolbar_widgets[WIDX_CHEATS].top - 1 };
|
||||
screenPos = w->windowPos
|
||||
+ ScreenCoordsXY{ window_top_toolbar_widgets[WIDX_CHEATS].left - 1,
|
||||
window_top_toolbar_widgets[WIDX_CHEATS].top - 1 };
|
||||
if (widget_is_pressed(w, WIDX_CHEATS))
|
||||
screenPos.y++;
|
||||
imgId = SPR_G2_SANDBOX;
|
||||
gfx_draw_sprite(dpi, imgId, screenPos.x, screenPos.y, 3);
|
||||
gfx_draw_sprite(dpi, imgId, screenPos, 3);
|
||||
|
||||
// Draw an overlay if clearance checks are disabled
|
||||
if (gCheatsDisableClearanceChecks)
|
||||
|
@ -901,69 +902,72 @@ static void window_top_toolbar_paint(rct_window* w, rct_drawpixelinfo* dpi)
|
|||
// Draw chat button
|
||||
if (window_top_toolbar_widgets[WIDX_CHAT].type != WWT_EMPTY)
|
||||
{
|
||||
screenPos = { w->windowPos.x + window_top_toolbar_widgets[WIDX_CHAT].left,
|
||||
w->windowPos.y + window_top_toolbar_widgets[WIDX_CHAT].top - 2 };
|
||||
screenPos = w->windowPos
|
||||
+ ScreenCoordsXY{ window_top_toolbar_widgets[WIDX_CHAT].left, window_top_toolbar_widgets[WIDX_CHAT].top - 2 };
|
||||
if (widget_is_pressed(w, WIDX_CHAT))
|
||||
screenPos.y++;
|
||||
imgId = SPR_G2_CHAT;
|
||||
gfx_draw_sprite(dpi, imgId, screenPos.x, screenPos.y, 3);
|
||||
gfx_draw_sprite(dpi, imgId, screenPos, 3);
|
||||
}
|
||||
|
||||
// Draw debug button
|
||||
if (window_top_toolbar_widgets[WIDX_DEBUG].type != WWT_EMPTY)
|
||||
{
|
||||
screenPos = { w->windowPos.x + window_top_toolbar_widgets[WIDX_DEBUG].left,
|
||||
w->windowPos.y + window_top_toolbar_widgets[WIDX_DEBUG].top - 1 };
|
||||
screenPos = w->windowPos
|
||||
+ ScreenCoordsXY{ window_top_toolbar_widgets[WIDX_DEBUG].left, window_top_toolbar_widgets[WIDX_DEBUG].top - 1 };
|
||||
if (widget_is_pressed(w, WIDX_DEBUG))
|
||||
screenPos.y++;
|
||||
imgId = SPR_TAB_GEARS_0;
|
||||
gfx_draw_sprite(dpi, imgId, screenPos.x, screenPos.y, 3);
|
||||
gfx_draw_sprite(dpi, imgId, screenPos, 3);
|
||||
}
|
||||
|
||||
// Draw research button
|
||||
if (window_top_toolbar_widgets[WIDX_RESEARCH].type != WWT_EMPTY)
|
||||
{
|
||||
screenPos = { w->windowPos.x + window_top_toolbar_widgets[WIDX_RESEARCH].left - 1,
|
||||
w->windowPos.y + window_top_toolbar_widgets[WIDX_RESEARCH].top };
|
||||
screenPos = w->windowPos
|
||||
+ ScreenCoordsXY{ window_top_toolbar_widgets[WIDX_RESEARCH].left - 1,
|
||||
window_top_toolbar_widgets[WIDX_RESEARCH].top };
|
||||
if (widget_is_pressed(w, WIDX_RESEARCH))
|
||||
screenPos.y++;
|
||||
imgId = SPR_TAB_FINANCES_RESEARCH_0;
|
||||
gfx_draw_sprite(dpi, imgId, screenPos.x, screenPos.y, 0);
|
||||
gfx_draw_sprite(dpi, imgId, screenPos, 0);
|
||||
}
|
||||
|
||||
// Draw finances button
|
||||
if (window_top_toolbar_widgets[WIDX_FINANCES].type != WWT_EMPTY)
|
||||
{
|
||||
screenPos = { w->windowPos.x + window_top_toolbar_widgets[WIDX_FINANCES].left + 3,
|
||||
w->windowPos.y + window_top_toolbar_widgets[WIDX_FINANCES].top + 1 };
|
||||
screenPos = w->windowPos
|
||||
+ ScreenCoordsXY{ window_top_toolbar_widgets[WIDX_FINANCES].left + 3,
|
||||
window_top_toolbar_widgets[WIDX_FINANCES].top + 1 };
|
||||
if (widget_is_pressed(w, WIDX_FINANCES))
|
||||
screenPos.y++;
|
||||
imgId = SPR_FINANCE;
|
||||
gfx_draw_sprite(dpi, imgId, screenPos.x, screenPos.y, 0);
|
||||
gfx_draw_sprite(dpi, imgId, screenPos, 0);
|
||||
}
|
||||
|
||||
// Draw news button
|
||||
if (window_top_toolbar_widgets[WIDX_NEWS].type != WWT_EMPTY)
|
||||
{
|
||||
screenPos = { w->windowPos.x + window_top_toolbar_widgets[WIDX_NEWS].left + 3,
|
||||
w->windowPos.y + window_top_toolbar_widgets[WIDX_NEWS].top + 0 };
|
||||
screenPos = w->windowPos
|
||||
+ ScreenCoordsXY{ window_top_toolbar_widgets[WIDX_NEWS].left + 3, window_top_toolbar_widgets[WIDX_NEWS].top + 0 };
|
||||
if (widget_is_pressed(w, WIDX_NEWS))
|
||||
screenPos.y++;
|
||||
imgId = SPR_G2_TAB_NEWS;
|
||||
gfx_draw_sprite(dpi, imgId, screenPos.x, screenPos.y, 0);
|
||||
gfx_draw_sprite(dpi, imgId, screenPos, 0);
|
||||
}
|
||||
|
||||
// Draw network button
|
||||
if (window_top_toolbar_widgets[WIDX_NETWORK].type != WWT_EMPTY)
|
||||
{
|
||||
screenPos = { w->windowPos.x + window_top_toolbar_widgets[WIDX_NETWORK].left + 3,
|
||||
w->windowPos.y + window_top_toolbar_widgets[WIDX_NETWORK].top + 0 };
|
||||
screenPos = w->windowPos
|
||||
+ ScreenCoordsXY{ window_top_toolbar_widgets[WIDX_NETWORK].left + 3,
|
||||
window_top_toolbar_widgets[WIDX_NETWORK].top + 0 };
|
||||
if (widget_is_pressed(w, WIDX_NETWORK))
|
||||
screenPos.y++;
|
||||
|
||||
// Draw (de)sync icon.
|
||||
imgId = (network_is_desynchronised() ? SPR_G2_MULTIPLAYER_DESYNC : SPR_G2_MULTIPLAYER_SYNC);
|
||||
gfx_draw_sprite(dpi, imgId, screenPos.x + 3, screenPos.y + 11, 0);
|
||||
gfx_draw_sprite(dpi, imgId, screenPos + ScreenCoordsXY{ 3, 11 }, 0);
|
||||
|
||||
// Draw number of players.
|
||||
int32_t player_count = network_get_num_players();
|
||||
|
|
|
@ -522,14 +522,14 @@ static void window_track_place_paint(rct_window* w, rct_drawpixelinfo* dpi)
|
|||
g1temp.width = TRACK_MINI_PREVIEW_WIDTH;
|
||||
g1temp.height = TRACK_MINI_PREVIEW_HEIGHT;
|
||||
gfx_set_g1_element(SPR_TEMP, &g1temp);
|
||||
gfx_draw_sprite(&clippedDpi, SPR_TEMP | SPRITE_ID_PALETTE_COLOUR_1(NOT_TRANSLUCENT(w->colours[0])), 0, 0, 0);
|
||||
gfx_draw_sprite(&clippedDpi, SPR_TEMP | SPRITE_ID_PALETTE_COLOUR_1(NOT_TRANSLUCENT(w->colours[0])), { 0, 0 }, 0);
|
||||
}
|
||||
|
||||
// Price
|
||||
if (_window_track_place_last_cost != MONEY32_UNDEFINED && !(gParkFlags & PARK_FLAGS_NO_MONEY))
|
||||
{
|
||||
gfx_draw_string_centred(
|
||||
dpi, STR_COST_LABEL, { w->windowPos.x + 88, w->windowPos.y + 94 }, COLOUR_BLACK, &_window_track_place_last_cost);
|
||||
dpi, STR_COST_LABEL, w->windowPos + ScreenCoordsXY{ 88, 94 }, COLOUR_BLACK, &_window_track_place_last_cost);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -549,7 +549,7 @@ static void window_track_list_paint(rct_window* w, rct_drawpixelinfo* dpi)
|
|||
g1temp.flags = G1_FLAG_BMP;
|
||||
gfx_set_g1_element(SPR_TEMP, &g1temp);
|
||||
drawing_engine_invalidate_image(SPR_TEMP);
|
||||
gfx_draw_sprite(dpi, SPR_TEMP, trackPreview.x, trackPreview.y, 0);
|
||||
gfx_draw_sprite(dpi, SPR_TEMP, trackPreview, 0);
|
||||
|
||||
screenPos.y = w->windowPos.y + widget->bottom - 12;
|
||||
|
||||
|
|
|
@ -745,7 +745,7 @@ void gfx_draw_pickedup_peep(rct_drawpixelinfo* dpi)
|
|||
{
|
||||
if (gPickupPeepImage != UINT32_MAX)
|
||||
{
|
||||
gfx_draw_sprite(dpi, gPickupPeepImage, gPickupPeepX, gPickupPeepY, 0);
|
||||
gfx_draw_sprite(dpi, gPickupPeepImage, { gPickupPeepX, gPickupPeepY }, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -629,7 +629,6 @@ size_t ImageListGetMaximum();
|
|||
void FASTCALL gfx_sprite_to_buffer(DrawSpriteArgs& args);
|
||||
void FASTCALL gfx_bmp_sprite_to_buffer(DrawSpriteArgs& args);
|
||||
void FASTCALL gfx_rle_sprite_to_buffer(DrawSpriteArgs& args);
|
||||
void FASTCALL gfx_draw_sprite(rct_drawpixelinfo* dpi, int32_t image_id, int32_t x, int32_t y, uint32_t tertiary_colour);
|
||||
void FASTCALL gfx_draw_sprite(rct_drawpixelinfo* dpi, int32_t image_id, const ScreenCoordsXY& coords, uint32_t tertiary_colour);
|
||||
void FASTCALL gfx_draw_glyph(rct_drawpixelinfo* dpi, int32_t image_id, int32_t x, int32_t y, const PaletteMap& paletteMap);
|
||||
void FASTCALL gfx_draw_sprite_raw_masked(rct_drawpixelinfo* dpi, int32_t x, int32_t y, int32_t maskImage, int32_t colourImage);
|
||||
|
|
|
@ -254,11 +254,6 @@ void FASTCALL gfx_draw_sprite(rct_drawpixelinfo* dpi, int32_t image, const Scree
|
|||
}
|
||||
}
|
||||
|
||||
void FASTCALL gfx_draw_sprite(rct_drawpixelinfo* dpi, int32_t image, int32_t x, int32_t y, uint32_t tertiary_colour)
|
||||
{
|
||||
gfx_draw_sprite(dpi, image, { x, y }, tertiary_colour);
|
||||
}
|
||||
|
||||
void FASTCALL gfx_draw_glyph(rct_drawpixelinfo* dpi, int32_t image, int32_t x, int32_t y, const PaletteMap& paletteMap)
|
||||
{
|
||||
auto drawingEngine = dpi->DrawingEngine;
|
||||
|
|
Loading…
Reference in New Issue