mirror of https://github.com/OpenRCT2/OpenRCT2.git
Using dpi refs in most remaining window defs
This commit is contained in:
parent
9c2d5b9fef
commit
96d77ed8f7
|
@ -325,7 +325,7 @@ public:
|
||||||
_drawingContext->CalculcateClipping(&_bitsDPI);
|
_drawingContext->CalculcateClipping(&_bitsDPI);
|
||||||
|
|
||||||
WindowUpdateAllViewports();
|
WindowUpdateAllViewports();
|
||||||
WindowDrawAll(&_bitsDPI, 0, 0, _width, _height);
|
WindowDrawAll(_bitsDPI, 0, 0, _width, _height);
|
||||||
}
|
}
|
||||||
|
|
||||||
void PaintWeather() override
|
void PaintWeather() override
|
||||||
|
|
|
@ -722,7 +722,7 @@ static void WidgetScrollDraw(DrawPixelInfo* dpi, WindowBase& w, WidgetIndex widg
|
||||||
|
|
||||||
// Draw the scroll contents
|
// Draw the scroll contents
|
||||||
if (scroll_dpi.width > 0 && scroll_dpi.height > 0)
|
if (scroll_dpi.width > 0 && scroll_dpi.height > 0)
|
||||||
WindowEventScrollPaintCall(&w, &scroll_dpi, scrollIndex);
|
WindowEventScrollPaintCall(&w, scroll_dpi, scrollIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void WidgetHScrollbarDraw(
|
static void WidgetHScrollbarDraw(
|
||||||
|
|
|
@ -629,14 +629,14 @@ void WindowInitScrollWidgets(WindowBase& w)
|
||||||
*
|
*
|
||||||
* rct2: 0x006EB15C
|
* rct2: 0x006EB15C
|
||||||
*/
|
*/
|
||||||
void WindowDrawWidgets(WindowBase& w, DrawPixelInfo* dpi)
|
void WindowDrawWidgets(WindowBase& w, DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
Widget* widget;
|
Widget* widget;
|
||||||
WidgetIndex widgetIndex;
|
WidgetIndex widgetIndex;
|
||||||
|
|
||||||
if ((w.flags & WF_TRANSPARENT) && !(w.flags & WF_NO_BACKGROUND))
|
if ((w.flags & WF_TRANSPARENT) && !(w.flags & WF_NO_BACKGROUND))
|
||||||
GfxFilterRect(
|
GfxFilterRect(
|
||||||
dpi, { w.windowPos, w.windowPos + ScreenCoordsXY{ w.width - 1, w.height - 1 } }, FilterPaletteID::Palette51);
|
&dpi, { w.windowPos, w.windowPos + ScreenCoordsXY{ w.width - 1, w.height - 1 } }, FilterPaletteID::Palette51);
|
||||||
|
|
||||||
// todo: some code missing here? Between 006EB18C and 006EB260
|
// todo: some code missing here? Between 006EB18C and 006EB260
|
||||||
|
|
||||||
|
@ -646,14 +646,14 @@ void WindowDrawWidgets(WindowBase& w, DrawPixelInfo* dpi)
|
||||||
if (widget->IsVisible())
|
if (widget->IsVisible())
|
||||||
{
|
{
|
||||||
// Check if widget is outside the draw region
|
// Check if widget is outside the draw region
|
||||||
if (w.windowPos.x + widget->left < dpi->x + dpi->width && w.windowPos.x + widget->right >= dpi->x)
|
if (w.windowPos.x + widget->left < dpi.x + dpi.width && w.windowPos.x + widget->right >= dpi.x)
|
||||||
{
|
{
|
||||||
if (w.windowPos.y + widget->top < dpi->y + dpi->height && w.windowPos.y + widget->bottom >= dpi->y)
|
if (w.windowPos.y + widget->top < dpi.y + dpi.height && w.windowPos.y + widget->bottom >= dpi.y)
|
||||||
{
|
{
|
||||||
if (w.IsLegacy())
|
if (w.IsLegacy())
|
||||||
WidgetDraw(dpi, w, widgetIndex);
|
WidgetDraw(&dpi, w, widgetIndex);
|
||||||
else
|
else
|
||||||
w.OnDrawWidget(widgetIndex, *dpi);
|
w.OnDrawWidget(widgetIndex, dpi);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -665,7 +665,7 @@ void WindowDrawWidgets(WindowBase& w, DrawPixelInfo* dpi)
|
||||||
if (w.flags & WF_WHITE_BORDER_MASK)
|
if (w.flags & WF_WHITE_BORDER_MASK)
|
||||||
{
|
{
|
||||||
GfxFillRectInset(
|
GfxFillRectInset(
|
||||||
dpi, { w.windowPos, w.windowPos + ScreenCoordsXY{ w.width - 1, w.height - 1 } }, COLOUR_WHITE,
|
&dpi, { w.windowPos, w.windowPos + ScreenCoordsXY{ w.width - 1, w.height - 1 } }, COLOUR_WHITE,
|
||||||
INSET_RECT_FLAG_FILL_NONE);
|
INSET_RECT_FLAG_FILL_NONE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -710,7 +710,7 @@ bool Window::IsLegacy()
|
||||||
|
|
||||||
void Window::OnDraw(DrawPixelInfo& dpi)
|
void Window::OnDraw(DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
WindowDrawWidgets(*this, &dpi);
|
WindowDrawWidgets(*this, dpi);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::OnDrawWidget(WidgetIndex widgetIndex, DrawPixelInfo& dpi)
|
void Window::OnDrawWidget(WidgetIndex widgetIndex, DrawPixelInfo& dpi)
|
||||||
|
@ -760,7 +760,7 @@ void Window::SetCheckboxValue(WidgetIndex widgetIndex, bool value)
|
||||||
|
|
||||||
void Window::DrawWidgets(DrawPixelInfo& dpi)
|
void Window::DrawWidgets(DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
WindowDrawWidgets(*this, &dpi);
|
WindowDrawWidgets(*this, dpi);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::Close()
|
void Window::Close()
|
||||||
|
|
|
@ -530,14 +530,14 @@ namespace OpenRCT2::Ui::Windows
|
||||||
|
|
||||||
void OnDraw(DrawPixelInfo& dpi) override
|
void OnDraw(DrawPixelInfo& dpi) override
|
||||||
{
|
{
|
||||||
WindowDrawWidgets(*this, &dpi);
|
WindowDrawWidgets(*this, dpi);
|
||||||
DrawTabImages(dpi);
|
DrawTabImages(dpi);
|
||||||
if (viewport != nullptr)
|
if (viewport != nullptr)
|
||||||
{
|
{
|
||||||
auto widgetIndex = GetViewportWidgetIndex();
|
auto widgetIndex = GetViewportWidgetIndex();
|
||||||
if (WidgetIsVisible(*this, widgetIndex.value_or(false)))
|
if (WidgetIsVisible(*this, widgetIndex.value_or(false)))
|
||||||
{
|
{
|
||||||
WindowDrawViewport(&dpi, *this);
|
WindowDrawViewport(dpi, *this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -262,7 +262,7 @@ public:
|
||||||
|
|
||||||
if (viewport != nullptr)
|
if (viewport != nullptr)
|
||||||
{
|
{
|
||||||
WindowDrawViewport(&dpi, *this);
|
WindowDrawViewport(dpi, *this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -76,7 +76,7 @@ public:
|
||||||
|
|
||||||
void OnDraw(DrawPixelInfo& dpi) override
|
void OnDraw(DrawPixelInfo& dpi) override
|
||||||
{
|
{
|
||||||
WindowDrawWidgets(*this, &dpi);
|
WindowDrawWidgets(*this, dpi);
|
||||||
|
|
||||||
auto currentRide = GetRide(rideId);
|
auto currentRide = GetRide(rideId);
|
||||||
if (currentRide != nullptr)
|
if (currentRide != nullptr)
|
||||||
|
|
|
@ -1073,8 +1073,8 @@ public:
|
||||||
DrawTextEllipsised(dpi, screenPos, _width, STR_WINDOW_COLOUR_2_STRINGID, ft, { TextAlignment::CENTRE });
|
DrawTextEllipsised(dpi, screenPos, _width, STR_WINDOW_COLOUR_2_STRINGID, ft, { TextAlignment::CENTRE });
|
||||||
}
|
}
|
||||||
|
|
||||||
DrawDescriptions(&dpi);
|
DrawDescriptions(dpi);
|
||||||
DrawDebugData(&dpi);
|
DrawDebugData(dpi);
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -1185,7 +1185,7 @@ private:
|
||||||
_listItems.shrink_to_fit();
|
_listItems.shrink_to_fit();
|
||||||
}
|
}
|
||||||
|
|
||||||
void DrawDescriptions(DrawPixelInfo* dpi)
|
void DrawDescriptions(DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
const auto& widget = widgets[WIDX_PREVIEW];
|
const auto& widget = widgets[WIDX_PREVIEW];
|
||||||
auto screenPos = windowPos + ScreenCoordsXY{ widgets[WIDX_LIST].right + 4, widget.bottom + 23 };
|
auto screenPos = windowPos + ScreenCoordsXY{ widgets[WIDX_LIST].right + 4, widget.bottom + 23 };
|
||||||
|
@ -1194,7 +1194,7 @@ private:
|
||||||
if (_loadedObject->IsCompatibilityObject())
|
if (_loadedObject->IsCompatibilityObject())
|
||||||
{
|
{
|
||||||
screenPos.y += DrawTextWrapped(
|
screenPos.y += DrawTextWrapped(
|
||||||
*dpi, screenPos, _width2, STR_OBJECT_SELECTION_COMPAT_OBJECT_DESCRIPTION, {},
|
dpi, screenPos, _width2, STR_OBJECT_SELECTION_COMPAT_OBJECT_DESCRIPTION, {},
|
||||||
{ COLOUR_BRIGHT_RED })
|
{ COLOUR_BRIGHT_RED })
|
||||||
+ LIST_ROW_HEIGHT;
|
+ LIST_ROW_HEIGHT;
|
||||||
}
|
}
|
||||||
|
@ -1206,7 +1206,7 @@ private:
|
||||||
ft.Add<StringId>(STR_STRING);
|
ft.Add<StringId>(STR_STRING);
|
||||||
ft.Add<const char*>(description.c_str());
|
ft.Add<const char*>(description.c_str());
|
||||||
|
|
||||||
screenPos.y += DrawTextWrapped(*dpi, screenPos, _width2, STR_WINDOW_COLOUR_2_STRINGID, ft) + LIST_ROW_HEIGHT;
|
screenPos.y += DrawTextWrapped(dpi, screenPos, _width2, STR_WINDOW_COLOUR_2_STRINGID, ft) + LIST_ROW_HEIGHT;
|
||||||
}
|
}
|
||||||
if (GetSelectedObjectType() == ObjectType::Ride)
|
if (GetSelectedObjectType() == ObjectType::Ride)
|
||||||
{
|
{
|
||||||
|
@ -1227,7 +1227,7 @@ private:
|
||||||
}
|
}
|
||||||
auto ft = Formatter();
|
auto ft = Formatter();
|
||||||
ft.Add<const char*>(sells.c_str());
|
ft.Add<const char*>(sells.c_str());
|
||||||
screenPos.y += DrawTextWrapped(*dpi, screenPos, _width2, STR_RIDE_OBJECT_SHOP_SELLS, ft) + 2;
|
screenPos.y += DrawTextWrapped(dpi, screenPos, _width2, STR_RIDE_OBJECT_SHOP_SELLS, ft) + 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (GetSelectedObjectType() == ObjectType::SceneryGroup)
|
else if (GetSelectedObjectType() == ObjectType::SceneryGroup)
|
||||||
|
@ -1235,11 +1235,11 @@ private:
|
||||||
const auto* sceneryGroupObject = reinterpret_cast<SceneryGroupObject*>(_loadedObject.get());
|
const auto* sceneryGroupObject = reinterpret_cast<SceneryGroupObject*>(_loadedObject.get());
|
||||||
auto ft = Formatter();
|
auto ft = Formatter();
|
||||||
ft.Add<uint16_t>(sceneryGroupObject->GetNumIncludedObjects());
|
ft.Add<uint16_t>(sceneryGroupObject->GetNumIncludedObjects());
|
||||||
screenPos.y += DrawTextWrapped(*dpi, screenPos, _width2, STR_INCLUDES_X_OBJECTS, ft) + 2;
|
screenPos.y += DrawTextWrapped(dpi, screenPos, _width2, STR_INCLUDES_X_OBJECTS, ft) + 2;
|
||||||
}
|
}
|
||||||
else if (GetSelectedObjectType() == ObjectType::Music)
|
else if (GetSelectedObjectType() == ObjectType::Music)
|
||||||
{
|
{
|
||||||
screenPos.y += DrawTextWrapped(*dpi, screenPos, _width2, STR_MUSIC_OBJECT_TRACK_HEADER) + 2;
|
screenPos.y += DrawTextWrapped(dpi, screenPos, _width2, STR_MUSIC_OBJECT_TRACK_HEADER) + 2;
|
||||||
const auto* musicObject = reinterpret_cast<MusicObject*>(_loadedObject.get());
|
const auto* musicObject = reinterpret_cast<MusicObject*>(_loadedObject.get());
|
||||||
for (size_t i = 0; i < musicObject->GetTrackCount(); i++)
|
for (size_t i = 0; i < musicObject->GetTrackCount(); i++)
|
||||||
{
|
{
|
||||||
|
@ -1252,12 +1252,12 @@ private:
|
||||||
auto ft = Formatter();
|
auto ft = Formatter();
|
||||||
ft.Add<const char*>(track->Name.c_str());
|
ft.Add<const char*>(track->Name.c_str());
|
||||||
ft.Add<const char*>(track->Composer.c_str());
|
ft.Add<const char*>(track->Composer.c_str());
|
||||||
screenPos.y += DrawTextWrapped(*dpi, screenPos + ScreenCoordsXY{ 10, 0 }, _width2, stringId, ft);
|
screenPos.y += DrawTextWrapped(dpi, screenPos + ScreenCoordsXY{ 10, 0 }, _width2, stringId, ft);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void DrawDebugData(DrawPixelInfo* dpi)
|
void DrawDebugData(DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
ObjectListItem* listItem = &_listItems[selected_list_item];
|
ObjectListItem* listItem = &_listItems[selected_list_item];
|
||||||
auto screenPos = windowPos + ScreenCoordsXY{ width - 5, height - (LIST_ROW_HEIGHT * 6) };
|
auto screenPos = windowPos + ScreenCoordsXY{ width - 5, height - (LIST_ROW_HEIGHT * 6) };
|
||||||
|
@ -1265,7 +1265,7 @@ private:
|
||||||
// Draw fallback image warning
|
// Draw fallback image warning
|
||||||
if (_loadedObject && _loadedObject->UsesFallbackImages())
|
if (_loadedObject && _loadedObject->UsesFallbackImages())
|
||||||
{
|
{
|
||||||
DrawTextBasic(*dpi, screenPos, STR_OBJECT_USES_FALLBACK_IMAGES, {}, { COLOUR_WHITE, TextAlignment::RIGHT });
|
DrawTextBasic(dpi, screenPos, STR_OBJECT_USES_FALLBACK_IMAGES, {}, { COLOUR_WHITE, TextAlignment::RIGHT });
|
||||||
}
|
}
|
||||||
screenPos.y += LIST_ROW_HEIGHT;
|
screenPos.y += LIST_ROW_HEIGHT;
|
||||||
|
|
||||||
|
@ -1273,14 +1273,14 @@ private:
|
||||||
if (GetSelectedObjectType() == ObjectType::Ride)
|
if (GetSelectedObjectType() == ObjectType::Ride)
|
||||||
{
|
{
|
||||||
auto stringId = GetRideTypeStringId(listItem->repositoryItem);
|
auto stringId = GetRideTypeStringId(listItem->repositoryItem);
|
||||||
DrawTextBasic(*dpi, screenPos, stringId, {}, { COLOUR_WHITE, TextAlignment::RIGHT });
|
DrawTextBasic(dpi, screenPos, stringId, {}, { COLOUR_WHITE, TextAlignment::RIGHT });
|
||||||
}
|
}
|
||||||
|
|
||||||
screenPos.y += LIST_ROW_HEIGHT;
|
screenPos.y += LIST_ROW_HEIGHT;
|
||||||
|
|
||||||
// Draw object source
|
// Draw object source
|
||||||
auto stringId = ObjectManagerGetSourceGameString(listItem->repositoryItem->GetFirstSourceGame());
|
auto stringId = ObjectManagerGetSourceGameString(listItem->repositoryItem->GetFirstSourceGame());
|
||||||
DrawTextBasic(*dpi, screenPos, stringId, {}, { COLOUR_WHITE, TextAlignment::RIGHT });
|
DrawTextBasic(dpi, screenPos, stringId, {}, { COLOUR_WHITE, TextAlignment::RIGHT });
|
||||||
screenPos.y += LIST_ROW_HEIGHT;
|
screenPos.y += LIST_ROW_HEIGHT;
|
||||||
|
|
||||||
// Draw object filename
|
// Draw object filename
|
||||||
|
@ -1290,7 +1290,7 @@ private:
|
||||||
ft.Add<StringId>(STR_STRING);
|
ft.Add<StringId>(STR_STRING);
|
||||||
ft.Add<const utf8*>(path.c_str());
|
ft.Add<const utf8*>(path.c_str());
|
||||||
DrawTextBasic(
|
DrawTextBasic(
|
||||||
*dpi, { windowPos.x + this->width - 5, screenPos.y }, STR_WINDOW_COLOUR_2_STRINGID, ft,
|
dpi, { windowPos.x + this->width - 5, screenPos.y }, STR_WINDOW_COLOUR_2_STRINGID, ft,
|
||||||
{ COLOUR_BLACK, TextAlignment::RIGHT });
|
{ COLOUR_BLACK, TextAlignment::RIGHT });
|
||||||
screenPos.y += LIST_ROW_HEIGHT;
|
screenPos.y += LIST_ROW_HEIGHT;
|
||||||
}
|
}
|
||||||
|
@ -1310,7 +1310,7 @@ private:
|
||||||
ft.Add<StringId>(STR_STRING);
|
ft.Add<StringId>(STR_STRING);
|
||||||
ft.Add<const char*>(authorsString.c_str());
|
ft.Add<const char*>(authorsString.c_str());
|
||||||
DrawTextEllipsised(
|
DrawTextEllipsised(
|
||||||
*dpi, { windowPos.x + width - 5, screenPos.y }, width - widgets[WIDX_LIST].right - 4,
|
dpi, { windowPos.x + width - 5, screenPos.y }, width - widgets[WIDX_LIST].right - 4,
|
||||||
STR_WINDOW_COLOUR_2_STRINGID, ft, { TextAlignment::RIGHT });
|
STR_WINDOW_COLOUR_2_STRINGID, ft, { TextAlignment::RIGHT });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -210,10 +210,10 @@ public:
|
||||||
switch (page)
|
switch (page)
|
||||||
{
|
{
|
||||||
case WINDOW_EDITOR_OBJECTIVE_OPTIONS_PAGE_MAIN:
|
case WINDOW_EDITOR_OBJECTIVE_OPTIONS_PAGE_MAIN:
|
||||||
OnDrawMain(&dpi);
|
OnDrawMain(dpi);
|
||||||
break;
|
break;
|
||||||
case WINDOW_EDITOR_OBJECTIVE_OPTIONS_PAGE_RIDES:
|
case WINDOW_EDITOR_OBJECTIVE_OPTIONS_PAGE_RIDES:
|
||||||
OnDrawRides(&dpi);
|
OnDrawRides(dpi);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -332,7 +332,7 @@ private:
|
||||||
ResizeFrameWithPage();
|
ResizeFrameWithPage();
|
||||||
}
|
}
|
||||||
|
|
||||||
void DrawTabImages(DrawPixelInfo* dpi)
|
void DrawTabImages(DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
Widget* widget;
|
Widget* widget;
|
||||||
int32_t spriteIndex;
|
int32_t spriteIndex;
|
||||||
|
@ -344,7 +344,7 @@ private:
|
||||||
if (page == WINDOW_EDITOR_OBJECTIVE_OPTIONS_PAGE_MAIN)
|
if (page == WINDOW_EDITOR_OBJECTIVE_OPTIONS_PAGE_MAIN)
|
||||||
spriteIndex += (frame_no / 4) % 16;
|
spriteIndex += (frame_no / 4) % 16;
|
||||||
|
|
||||||
GfxDrawSprite(*dpi, ImageId(spriteIndex), windowPos + ScreenCoordsXY{ widget->left, widget->top });
|
GfxDrawSprite(dpi, ImageId(spriteIndex), windowPos + ScreenCoordsXY{ widget->left, widget->top });
|
||||||
|
|
||||||
// Tab 2
|
// Tab 2
|
||||||
if (!IsWidgetDisabled(WIDX_TAB_2))
|
if (!IsWidgetDisabled(WIDX_TAB_2))
|
||||||
|
@ -354,7 +354,7 @@ private:
|
||||||
if (page == WINDOW_EDITOR_OBJECTIVE_OPTIONS_PAGE_RIDES)
|
if (page == WINDOW_EDITOR_OBJECTIVE_OPTIONS_PAGE_RIDES)
|
||||||
spriteIndex += (frame_no / 4) % 16;
|
spriteIndex += (frame_no / 4) % 16;
|
||||||
|
|
||||||
GfxDrawSprite(*dpi, ImageId(spriteIndex), windowPos + ScreenCoordsXY{ widget->left, widget->top });
|
GfxDrawSprite(dpi, ImageId(spriteIndex), windowPos + ScreenCoordsXY{ widget->left, widget->top });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -835,23 +835,23 @@ private:
|
||||||
*
|
*
|
||||||
* rct2: 0x0067161C
|
* rct2: 0x0067161C
|
||||||
*/
|
*/
|
||||||
void OnDrawMain(DrawPixelInfo* dpi)
|
void OnDrawMain(DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
int32_t widthToSet;
|
int32_t widthToSet;
|
||||||
StringId stringId;
|
StringId stringId;
|
||||||
|
|
||||||
DrawWidgets(*dpi);
|
DrawWidgets(dpi);
|
||||||
DrawTabImages(dpi);
|
DrawTabImages(dpi);
|
||||||
|
|
||||||
// Objective label
|
// Objective label
|
||||||
auto screenCoords = windowPos + ScreenCoordsXY{ 8, widgets[WIDX_OBJECTIVE].top };
|
auto screenCoords = windowPos + ScreenCoordsXY{ 8, widgets[WIDX_OBJECTIVE].top };
|
||||||
DrawTextBasic(*dpi, screenCoords, STR_OBJECTIVE_WINDOW);
|
DrawTextBasic(dpi, screenCoords, STR_OBJECTIVE_WINDOW);
|
||||||
|
|
||||||
// Objective value
|
// Objective value
|
||||||
screenCoords = windowPos + ScreenCoordsXY{ widgets[WIDX_OBJECTIVE].left + 1, widgets[WIDX_OBJECTIVE].top };
|
screenCoords = windowPos + ScreenCoordsXY{ widgets[WIDX_OBJECTIVE].left + 1, widgets[WIDX_OBJECTIVE].top };
|
||||||
auto ft = Formatter();
|
auto ft = Formatter();
|
||||||
ft.Add<StringId>(ObjectiveDropdownOptionNames[gScenarioObjective.Type]);
|
ft.Add<StringId>(ObjectiveDropdownOptionNames[gScenarioObjective.Type]);
|
||||||
DrawTextBasic(*dpi, screenCoords, STR_WINDOW_COLOUR_2_STRINGID, ft);
|
DrawTextBasic(dpi, screenCoords, STR_WINDOW_COLOUR_2_STRINGID, ft);
|
||||||
|
|
||||||
if (widgets[WIDX_OBJECTIVE_ARG_1].type != WindowWidgetType::Empty)
|
if (widgets[WIDX_OBJECTIVE_ARG_1].type != WindowWidgetType::Empty)
|
||||||
{
|
{
|
||||||
|
@ -880,7 +880,7 @@ private:
|
||||||
stringId = STR_WINDOW_OBJECTIVE_EXCITEMENT_RATING;
|
stringId = STR_WINDOW_OBJECTIVE_EXCITEMENT_RATING;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
DrawTextBasic(*dpi, screenCoords, stringId);
|
DrawTextBasic(dpi, screenCoords, stringId);
|
||||||
|
|
||||||
// Objective argument 1 value
|
// Objective argument 1 value
|
||||||
screenCoords = windowPos
|
screenCoords = windowPos
|
||||||
|
@ -913,21 +913,21 @@ private:
|
||||||
ft.Add<money64>(gScenarioObjective.Currency);
|
ft.Add<money64>(gScenarioObjective.Currency);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
DrawTextBasic(*dpi, screenCoords, stringId, ft, COLOUR_BLACK);
|
DrawTextBasic(dpi, screenCoords, stringId, ft, COLOUR_BLACK);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (widgets[WIDX_OBJECTIVE_ARG_2].type != WindowWidgetType::Empty)
|
if (widgets[WIDX_OBJECTIVE_ARG_2].type != WindowWidgetType::Empty)
|
||||||
{
|
{
|
||||||
// Objective argument 2 label
|
// Objective argument 2 label
|
||||||
screenCoords = windowPos + ScreenCoordsXY{ 28, widgets[WIDX_OBJECTIVE_ARG_2].top };
|
screenCoords = windowPos + ScreenCoordsXY{ 28, widgets[WIDX_OBJECTIVE_ARG_2].top };
|
||||||
DrawTextBasic(*dpi, screenCoords, STR_WINDOW_OBJECTIVE_DATE);
|
DrawTextBasic(dpi, screenCoords, STR_WINDOW_OBJECTIVE_DATE);
|
||||||
|
|
||||||
// Objective argument 2 value
|
// Objective argument 2 value
|
||||||
screenCoords = windowPos
|
screenCoords = windowPos
|
||||||
+ ScreenCoordsXY{ widgets[WIDX_OBJECTIVE_ARG_2].left + 1, widgets[WIDX_OBJECTIVE_ARG_2].top };
|
+ ScreenCoordsXY{ widgets[WIDX_OBJECTIVE_ARG_2].left + 1, widgets[WIDX_OBJECTIVE_ARG_2].top };
|
||||||
ft = Formatter();
|
ft = Formatter();
|
||||||
ft.Add<uint16_t>((gScenarioObjective.Year * MONTH_COUNT) - 1);
|
ft.Add<uint16_t>((gScenarioObjective.Year * MONTH_COUNT) - 1);
|
||||||
DrawTextBasic(*dpi, screenCoords, STR_WINDOW_OBJECTIVE_VALUE_DATE, ft);
|
DrawTextBasic(dpi, screenCoords, STR_WINDOW_OBJECTIVE_VALUE_DATE, ft);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Park name
|
// Park name
|
||||||
|
@ -941,7 +941,7 @@ private:
|
||||||
ft = Formatter();
|
ft = Formatter();
|
||||||
ft.Add<StringId>(STR_STRING);
|
ft.Add<StringId>(STR_STRING);
|
||||||
ft.Add<const char*>(parkName);
|
ft.Add<const char*>(parkName);
|
||||||
DrawTextEllipsised(*dpi, screenCoords, widthToSet, STR_WINDOW_PARK_NAME, ft);
|
DrawTextEllipsised(dpi, screenCoords, widthToSet, STR_WINDOW_PARK_NAME, ft);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Scenario name
|
// Scenario name
|
||||||
|
@ -951,11 +951,11 @@ private:
|
||||||
ft = Formatter();
|
ft = Formatter();
|
||||||
ft.Add<StringId>(STR_STRING);
|
ft.Add<StringId>(STR_STRING);
|
||||||
ft.Add<const char*>(gScenarioName.c_str());
|
ft.Add<const char*>(gScenarioName.c_str());
|
||||||
DrawTextEllipsised(*dpi, screenCoords, widthToSet, STR_WINDOW_SCENARIO_NAME, ft);
|
DrawTextEllipsised(dpi, screenCoords, widthToSet, STR_WINDOW_SCENARIO_NAME, ft);
|
||||||
|
|
||||||
// Scenario details label
|
// Scenario details label
|
||||||
screenCoords = windowPos + ScreenCoordsXY{ 8, widgets[WIDX_DETAILS].top };
|
screenCoords = windowPos + ScreenCoordsXY{ 8, widgets[WIDX_DETAILS].top };
|
||||||
DrawTextBasic(*dpi, screenCoords, STR_WINDOW_PARK_DETAILS);
|
DrawTextBasic(dpi, screenCoords, STR_WINDOW_PARK_DETAILS);
|
||||||
|
|
||||||
// Scenario details value
|
// Scenario details value
|
||||||
screenCoords = windowPos + ScreenCoordsXY{ 16, widgets[WIDX_DETAILS].top + 10 };
|
screenCoords = windowPos + ScreenCoordsXY{ 16, widgets[WIDX_DETAILS].top + 10 };
|
||||||
|
@ -964,17 +964,17 @@ private:
|
||||||
ft = Formatter();
|
ft = Formatter();
|
||||||
ft.Add<StringId>(STR_STRING);
|
ft.Add<StringId>(STR_STRING);
|
||||||
ft.Add<const char*>(gScenarioDetails.c_str());
|
ft.Add<const char*>(gScenarioDetails.c_str());
|
||||||
DrawTextWrapped(*dpi, screenCoords, widthToSet, STR_BLACK_STRING, ft);
|
DrawTextWrapped(dpi, screenCoords, widthToSet, STR_BLACK_STRING, ft);
|
||||||
|
|
||||||
// Scenario category label
|
// Scenario category label
|
||||||
screenCoords = windowPos + ScreenCoordsXY{ 8, widgets[WIDX_CATEGORY].top };
|
screenCoords = windowPos + ScreenCoordsXY{ 8, widgets[WIDX_CATEGORY].top };
|
||||||
DrawTextBasic(*dpi, screenCoords, STR_WINDOW_SCENARIO_GROUP);
|
DrawTextBasic(dpi, screenCoords, STR_WINDOW_SCENARIO_GROUP);
|
||||||
|
|
||||||
// Scenario category value
|
// Scenario category value
|
||||||
screenCoords = windowPos + ScreenCoordsXY{ widgets[WIDX_CATEGORY].left + 1, widgets[WIDX_CATEGORY].top };
|
screenCoords = windowPos + ScreenCoordsXY{ widgets[WIDX_CATEGORY].left + 1, widgets[WIDX_CATEGORY].top };
|
||||||
ft = Formatter();
|
ft = Formatter();
|
||||||
ft.Add<StringId>(ScenarioCategoryStringIds[gScenarioCategory]);
|
ft.Add<StringId>(ScenarioCategoryStringIds[gScenarioCategory]);
|
||||||
DrawTextBasic(*dpi, screenCoords, STR_WINDOW_COLOUR_2_STRINGID, ft);
|
DrawTextBasic(dpi, screenCoords, STR_WINDOW_COLOUR_2_STRINGID, ft);
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma endregion
|
#pragma endregion
|
||||||
|
@ -1094,40 +1094,40 @@ private:
|
||||||
*
|
*
|
||||||
* rct2: 0x00672340
|
* rct2: 0x00672340
|
||||||
*/
|
*/
|
||||||
void OnDrawRides(DrawPixelInfo* dpi)
|
void OnDrawRides(DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
DrawWidgets(*dpi);
|
DrawWidgets(dpi);
|
||||||
DrawTabImages(dpi);
|
DrawTabImages(dpi);
|
||||||
|
|
||||||
DrawTextBasic(
|
DrawTextBasic(
|
||||||
*dpi, windowPos + ScreenCoordsXY{ 6, widgets[WIDX_PAGE_BACKGROUND].top + 3 }, STR_WINDOW_PRESERVATION_ORDER);
|
dpi, windowPos + ScreenCoordsXY{ 6, widgets[WIDX_PAGE_BACKGROUND].top + 3 }, STR_WINDOW_PRESERVATION_ORDER);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* rct2: 0x0067236F
|
* rct2: 0x0067236F
|
||||||
*/
|
*/
|
||||||
void OnScrollDrawRides(DrawPixelInfo* dpi, int32_t scrollIndex)
|
void OnScrollDrawRides(DrawPixelInfo& dpi, int32_t scrollIndex)
|
||||||
{
|
{
|
||||||
int32_t colour = ColourMapA[colours[1]].mid_light;
|
int32_t colour = ColourMapA[colours[1]].mid_light;
|
||||||
GfxFillRect(dpi, { { dpi->x, dpi->y }, { dpi->x + dpi->width - 1, dpi->y + dpi->height - 1 } }, colour);
|
GfxFillRect(&dpi, { { dpi.x, dpi.y }, { dpi.x + dpi.width - 1, dpi.y + dpi.height - 1 } }, colour);
|
||||||
|
|
||||||
for (int32_t i = 0; i < no_list_items; i++)
|
for (int32_t i = 0; i < no_list_items; i++)
|
||||||
{
|
{
|
||||||
int32_t y = i * 12;
|
int32_t y = i * 12;
|
||||||
|
|
||||||
if (y + 12 < dpi->y || y >= dpi->y + dpi->height)
|
if (y + 12 < dpi.y || y >= dpi.y + dpi.height)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
// Checkbox
|
// Checkbox
|
||||||
GfxFillRectInset(dpi, { { 2, y }, { 11, y + 10 } }, colours[1], INSET_RECT_F_E0);
|
GfxFillRectInset(&dpi, { { 2, y }, { 11, y + 10 } }, colours[1], INSET_RECT_F_E0);
|
||||||
|
|
||||||
// Highlighted
|
// Highlighted
|
||||||
auto stringId = STR_BLACK_STRING;
|
auto stringId = STR_BLACK_STRING;
|
||||||
if (i == selected_list_item)
|
if (i == selected_list_item)
|
||||||
{
|
{
|
||||||
stringId = STR_WINDOW_COLOUR_2_STRINGID;
|
stringId = STR_WINDOW_COLOUR_2_STRINGID;
|
||||||
GfxFilterRect(dpi, { 0, y, width, y + 11 }, FilterPaletteID::PaletteDarken1);
|
GfxFilterRect(&dpi, { 0, y, width, y + 11 }, FilterPaletteID::PaletteDarken1);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Checkbox mark
|
// Checkbox mark
|
||||||
|
@ -1139,7 +1139,7 @@ private:
|
||||||
{
|
{
|
||||||
auto darkness = stringId == STR_WINDOW_COLOUR_2_STRINGID ? TextDarkness::ExtraDark : TextDarkness::Dark;
|
auto darkness = stringId == STR_WINDOW_COLOUR_2_STRINGID ? TextDarkness::ExtraDark : TextDarkness::Dark;
|
||||||
GfxDrawString(
|
GfxDrawString(
|
||||||
*dpi, { 2, y }, static_cast<const char*>(CheckBoxMarkString),
|
dpi, { 2, y }, static_cast<const char*>(CheckBoxMarkString),
|
||||||
{ static_cast<colour_t>(colours[1] & 0x7F), FontStyle::Medium, darkness });
|
{ static_cast<colour_t>(colours[1] & 0x7F), FontStyle::Medium, darkness });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1147,7 +1147,7 @@ private:
|
||||||
|
|
||||||
Formatter ft;
|
Formatter ft;
|
||||||
currentRide->FormatNameTo(ft);
|
currentRide->FormatNameTo(ft);
|
||||||
DrawTextBasic(*dpi, { 15, y }, stringId, ft);
|
DrawTextBasic(dpi, { 15, y }, stringId, ft);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -613,7 +613,7 @@ private:
|
||||||
{
|
{
|
||||||
ScreenCoordsXY screenCoords{};
|
ScreenCoordsXY screenCoords{};
|
||||||
|
|
||||||
WindowDrawWidgets(*this, &dpi);
|
WindowDrawWidgets(*this, dpi);
|
||||||
DrawTabImages(dpi);
|
DrawTabImages(dpi);
|
||||||
|
|
||||||
const auto& initialCashWidget = widgets[WIDX_INITIAL_CASH];
|
const auto& initialCashWidget = widgets[WIDX_INITIAL_CASH];
|
||||||
|
@ -861,7 +861,7 @@ private:
|
||||||
{
|
{
|
||||||
ScreenCoordsXY screenCoords{};
|
ScreenCoordsXY screenCoords{};
|
||||||
|
|
||||||
WindowDrawWidgets(*this, &dpi);
|
WindowDrawWidgets(*this, dpi);
|
||||||
DrawTabImages(dpi);
|
DrawTabImages(dpi);
|
||||||
|
|
||||||
const auto& cashPerGuestWidget = widgets[WIDX_CASH_PER_GUEST];
|
const auto& cashPerGuestWidget = widgets[WIDX_CASH_PER_GUEST];
|
||||||
|
@ -1180,7 +1180,7 @@ private:
|
||||||
{
|
{
|
||||||
ScreenCoordsXY screenCoords{};
|
ScreenCoordsXY screenCoords{};
|
||||||
|
|
||||||
WindowDrawWidgets(*this, &dpi);
|
WindowDrawWidgets(*this, dpi);
|
||||||
DrawTabImages(dpi);
|
DrawTabImages(dpi);
|
||||||
|
|
||||||
const auto& landCostWidget = widgets[WIDX_LAND_COST];
|
const auto& landCostWidget = widgets[WIDX_LAND_COST];
|
||||||
|
|
|
@ -988,7 +988,7 @@ public:
|
||||||
|
|
||||||
void OnDrawResearch(DrawPixelInfo& dpi)
|
void OnDrawResearch(DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
WindowResearchFundingPagePaint(this, &dpi, WIDX_RESEARCH_FUNDING);
|
WindowResearchFundingPagePaint(this, dpi, WIDX_RESEARCH_FUNDING);
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma endregion
|
#pragma endregion
|
||||||
|
|
|
@ -432,8 +432,8 @@ public:
|
||||||
void OnDraw(DrawPixelInfo& dpi) override
|
void OnDraw(DrawPixelInfo& dpi) override
|
||||||
{
|
{
|
||||||
ScreenCoordsXY screenCoords;
|
ScreenCoordsXY screenCoords;
|
||||||
WindowDrawWidgets(*this, &dpi);
|
WindowDrawWidgets(*this, dpi);
|
||||||
WindowFootpathDrawDropdownButtons(&dpi);
|
WindowFootpathDrawDropdownButtons(dpi);
|
||||||
|
|
||||||
if (!IsWidgetDisabled(WIDX_CONSTRUCT))
|
if (!IsWidgetDisabled(WIDX_CONSTRUCT))
|
||||||
{
|
{
|
||||||
|
@ -568,7 +568,7 @@ private:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void WindowFootpathDrawDropdownButtons(DrawPixelInfo* dpi)
|
void WindowFootpathDrawDropdownButtons(DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
if (gFootpathSelection.LegacyPath == OBJECT_ENTRY_INDEX_NULL)
|
if (gFootpathSelection.LegacyPath == OBJECT_ENTRY_INDEX_NULL)
|
||||||
{
|
{
|
||||||
|
@ -620,10 +620,10 @@ private:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void WindowFootpathDrawDropdownButton(DrawPixelInfo* dpi, WidgetIndex widgetIndex, ImageIndex image)
|
void WindowFootpathDrawDropdownButton(DrawPixelInfo& dpi, WidgetIndex widgetIndex, ImageIndex image)
|
||||||
{
|
{
|
||||||
const auto& widget = widgets[widgetIndex];
|
const auto& widget = widgets[widgetIndex];
|
||||||
GfxDrawSprite(*dpi, ImageId(image), { windowPos.x + widget.left, windowPos.y + widget.top });
|
GfxDrawSprite(dpi, ImageId(image), { windowPos.x + widget.left, windowPos.y + widget.top });
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -72,16 +72,16 @@ uint8_t gToolbarDirtyFlags;
|
||||||
static void WindowGameBottomToolbarMouseup(WindowBase *w, WidgetIndex widgetIndex);
|
static void WindowGameBottomToolbarMouseup(WindowBase *w, WidgetIndex widgetIndex);
|
||||||
static OpenRCT2String WindowGameBottomToolbarTooltip(WindowBase* w, const WidgetIndex widgetIndex, const StringId fallback);
|
static OpenRCT2String WindowGameBottomToolbarTooltip(WindowBase* w, const WidgetIndex widgetIndex, const StringId fallback);
|
||||||
static void WindowGameBottomToolbarInvalidate(WindowBase *w);
|
static void WindowGameBottomToolbarInvalidate(WindowBase *w);
|
||||||
static void WindowGameBottomToolbarPaint(WindowBase *w, DrawPixelInfo *dpi);
|
static void WindowGameBottomToolbarPaint(WindowBase *w, DrawPixelInfo& dpi);
|
||||||
static void WindowGameBottomToolbarUpdate(WindowBase* w);
|
static void WindowGameBottomToolbarUpdate(WindowBase* w);
|
||||||
static void WindowGameBottomToolbarCursor(WindowBase *w, WidgetIndex widgetIndex, const ScreenCoordsXY& screenCoords, CursorID *cursorId);
|
static void WindowGameBottomToolbarCursor(WindowBase *w, WidgetIndex widgetIndex, const ScreenCoordsXY& screenCoords, CursorID *cursorId);
|
||||||
static void WindowGameBottomToolbarUnknown05(WindowBase *w);
|
static void WindowGameBottomToolbarUnknown05(WindowBase *w);
|
||||||
|
|
||||||
static void WindowGameBottomToolbarDrawLeftPanel(DrawPixelInfo *dpi, WindowBase *w);
|
static void WindowGameBottomToolbarDrawLeftPanel(DrawPixelInfo& dpi, WindowBase *w);
|
||||||
static void WindowGameBottomToolbarDrawParkRating(DrawPixelInfo *dpi, WindowBase *w, int32_t colour, const ScreenCoordsXY& coords, uint8_t factor);
|
static void WindowGameBottomToolbarDrawParkRating(DrawPixelInfo& dpi, WindowBase *w, int32_t colour, const ScreenCoordsXY& coords, uint8_t factor);
|
||||||
static void WindowGameBottomToolbarDrawRightPanel(DrawPixelInfo *dpi, WindowBase *w);
|
static void WindowGameBottomToolbarDrawRightPanel(DrawPixelInfo& dpi, WindowBase *w);
|
||||||
static void WindowGameBottomToolbarDrawNewsItem(DrawPixelInfo *dpi, WindowBase *w);
|
static void WindowGameBottomToolbarDrawNewsItem(DrawPixelInfo& dpi, WindowBase *w);
|
||||||
static void WindowGameBottomToolbarDrawMiddlePanel(DrawPixelInfo *dpi, WindowBase *w);
|
static void WindowGameBottomToolbarDrawMiddlePanel(DrawPixelInfo& dpi, WindowBase *w);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -338,7 +338,7 @@ void WindowGameBottomToolbarInvalidateNewsItem()
|
||||||
*
|
*
|
||||||
* rct2: 0x0066BC87
|
* rct2: 0x0066BC87
|
||||||
*/
|
*/
|
||||||
static void WindowGameBottomToolbarPaint(WindowBase* w, DrawPixelInfo* dpi)
|
static void WindowGameBottomToolbarPaint(WindowBase* w, DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
auto leftWidget = window_game_bottom_toolbar_widgets[WIDX_LEFT_OUTSET];
|
auto leftWidget = window_game_bottom_toolbar_widgets[WIDX_LEFT_OUTSET];
|
||||||
auto rightWidget = window_game_bottom_toolbar_widgets[WIDX_RIGHT_OUTSET];
|
auto rightWidget = window_game_bottom_toolbar_widgets[WIDX_RIGHT_OUTSET];
|
||||||
|
@ -347,18 +347,18 @@ static void WindowGameBottomToolbarPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
// Draw panel grey backgrounds
|
// Draw panel grey backgrounds
|
||||||
auto leftTop = w->windowPos + ScreenCoordsXY{ leftWidget.left, leftWidget.top };
|
auto leftTop = w->windowPos + ScreenCoordsXY{ leftWidget.left, leftWidget.top };
|
||||||
auto rightBottom = w->windowPos + ScreenCoordsXY{ leftWidget.right, leftWidget.bottom };
|
auto rightBottom = w->windowPos + ScreenCoordsXY{ leftWidget.right, leftWidget.bottom };
|
||||||
GfxFilterRect(dpi, { leftTop, rightBottom }, FilterPaletteID::Palette51);
|
GfxFilterRect(&dpi, { leftTop, rightBottom }, FilterPaletteID::Palette51);
|
||||||
|
|
||||||
leftTop = w->windowPos + ScreenCoordsXY{ rightWidget.left, rightWidget.top };
|
leftTop = w->windowPos + ScreenCoordsXY{ rightWidget.left, rightWidget.top };
|
||||||
rightBottom = w->windowPos + ScreenCoordsXY{ rightWidget.right, rightWidget.bottom };
|
rightBottom = w->windowPos + ScreenCoordsXY{ rightWidget.right, rightWidget.bottom };
|
||||||
GfxFilterRect(dpi, { leftTop, rightBottom }, FilterPaletteID::Palette51);
|
GfxFilterRect(&dpi, { leftTop, rightBottom }, FilterPaletteID::Palette51);
|
||||||
|
|
||||||
if (ThemeGetFlags() & UITHEME_FLAG_USE_FULL_BOTTOM_TOOLBAR)
|
if (ThemeGetFlags() & UITHEME_FLAG_USE_FULL_BOTTOM_TOOLBAR)
|
||||||
{
|
{
|
||||||
// Draw grey background
|
// Draw grey background
|
||||||
leftTop = w->windowPos + ScreenCoordsXY{ middleWidget.left, middleWidget.top };
|
leftTop = w->windowPos + ScreenCoordsXY{ middleWidget.left, middleWidget.top };
|
||||||
rightBottom = w->windowPos + ScreenCoordsXY{ middleWidget.right, middleWidget.bottom };
|
rightBottom = w->windowPos + ScreenCoordsXY{ middleWidget.right, middleWidget.bottom };
|
||||||
GfxFilterRect(dpi, { leftTop, rightBottom }, FilterPaletteID::Palette51);
|
GfxFilterRect(&dpi, { leftTop, rightBottom }, FilterPaletteID::Palette51);
|
||||||
}
|
}
|
||||||
|
|
||||||
WindowDrawWidgets(*w, dpi);
|
WindowDrawWidgets(*w, dpi);
|
||||||
|
@ -376,7 +376,7 @@ static void WindowGameBottomToolbarPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void WindowGameBottomToolbarDrawLeftPanel(DrawPixelInfo* dpi, WindowBase* w)
|
static void WindowGameBottomToolbarDrawLeftPanel(DrawPixelInfo& dpi, WindowBase* w)
|
||||||
{
|
{
|
||||||
const auto topLeft = w->windowPos
|
const auto topLeft = w->windowPos
|
||||||
+ ScreenCoordsXY{ window_game_bottom_toolbar_widgets[WIDX_LEFT_OUTSET].left + 1,
|
+ ScreenCoordsXY{ window_game_bottom_toolbar_widgets[WIDX_LEFT_OUTSET].left + 1,
|
||||||
|
@ -385,7 +385,7 @@ static void WindowGameBottomToolbarDrawLeftPanel(DrawPixelInfo* dpi, WindowBase*
|
||||||
+ ScreenCoordsXY{ window_game_bottom_toolbar_widgets[WIDX_LEFT_OUTSET].right - 1,
|
+ ScreenCoordsXY{ window_game_bottom_toolbar_widgets[WIDX_LEFT_OUTSET].right - 1,
|
||||||
window_game_bottom_toolbar_widgets[WIDX_LEFT_OUTSET].bottom - 1 };
|
window_game_bottom_toolbar_widgets[WIDX_LEFT_OUTSET].bottom - 1 };
|
||||||
// Draw green inset rectangle on panel
|
// Draw green inset rectangle on panel
|
||||||
GfxFillRectInset(dpi, { topLeft, bottomRight }, w->colours[1], INSET_RECT_F_30);
|
GfxFillRectInset(&dpi, { topLeft, bottomRight }, w->colours[1], INSET_RECT_F_30);
|
||||||
|
|
||||||
// Figure out how much line height we have to work with.
|
// Figure out how much line height we have to work with.
|
||||||
uint32_t line_height = FontGetLineHeight(FontStyle::Medium);
|
uint32_t line_height = FontGetLineHeight(FontStyle::Medium);
|
||||||
|
@ -404,7 +404,7 @@ static void WindowGameBottomToolbarDrawLeftPanel(DrawPixelInfo* dpi, WindowBase*
|
||||||
StringId stringId = gCash < 0 ? STR_BOTTOM_TOOLBAR_CASH_NEGATIVE : STR_BOTTOM_TOOLBAR_CASH;
|
StringId stringId = gCash < 0 ? STR_BOTTOM_TOOLBAR_CASH_NEGATIVE : STR_BOTTOM_TOOLBAR_CASH;
|
||||||
auto ft = Formatter();
|
auto ft = Formatter();
|
||||||
ft.Add<money64>(gCash);
|
ft.Add<money64>(gCash);
|
||||||
DrawTextBasic(*dpi, screenCoords, stringId, ft, { colour, TextAlignment::CENTRE });
|
DrawTextBasic(dpi, screenCoords, stringId, ft, { colour, TextAlignment::CENTRE });
|
||||||
}
|
}
|
||||||
|
|
||||||
static constexpr const StringId _guestCountFormats[] = {
|
static constexpr const StringId _guestCountFormats[] = {
|
||||||
|
@ -432,7 +432,7 @@ static void WindowGameBottomToolbarDrawLeftPanel(DrawPixelInfo* dpi, WindowBase*
|
||||||
: NOT_TRANSLUCENT(w->colours[0]));
|
: NOT_TRANSLUCENT(w->colours[0]));
|
||||||
auto ft = Formatter();
|
auto ft = Formatter();
|
||||||
ft.Add<uint32_t>(gNumGuestsInPark);
|
ft.Add<uint32_t>(gNumGuestsInPark);
|
||||||
DrawTextBasic(*dpi, screenCoords, stringId, ft, { colour, TextAlignment::CENTRE });
|
DrawTextBasic(dpi, screenCoords, stringId, ft, { colour, TextAlignment::CENTRE });
|
||||||
}
|
}
|
||||||
|
|
||||||
// Draw park rating
|
// Draw park rating
|
||||||
|
@ -450,27 +450,27 @@ static void WindowGameBottomToolbarDrawLeftPanel(DrawPixelInfo* dpi, WindowBase*
|
||||||
* rct2: 0x0066C76C
|
* rct2: 0x0066C76C
|
||||||
*/
|
*/
|
||||||
static void WindowGameBottomToolbarDrawParkRating(
|
static void WindowGameBottomToolbarDrawParkRating(
|
||||||
DrawPixelInfo* dpi, WindowBase* w, int32_t colour, const ScreenCoordsXY& coords, uint8_t factor)
|
DrawPixelInfo& dpi, WindowBase* w, int32_t colour, const ScreenCoordsXY& coords, uint8_t factor)
|
||||||
{
|
{
|
||||||
int16_t bar_width;
|
int16_t bar_width;
|
||||||
|
|
||||||
bar_width = (factor * 114) / 255;
|
bar_width = (factor * 114) / 255;
|
||||||
GfxFillRectInset(
|
GfxFillRectInset(
|
||||||
dpi, { coords + ScreenCoordsXY{ 1, 1 }, coords + ScreenCoordsXY{ 114, 9 } }, w->colours[1], INSET_RECT_F_30);
|
&dpi, { coords + ScreenCoordsXY{ 1, 1 }, coords + ScreenCoordsXY{ 114, 9 } }, w->colours[1], INSET_RECT_F_30);
|
||||||
if (!(colour & BAR_BLINK) || GameIsPaused() || (gCurrentRealTimeTicks & 8))
|
if (!(colour & BAR_BLINK) || GameIsPaused() || (gCurrentRealTimeTicks & 8))
|
||||||
{
|
{
|
||||||
if (bar_width > 2)
|
if (bar_width > 2)
|
||||||
{
|
{
|
||||||
GfxFillRectInset(dpi, { coords + ScreenCoordsXY{ 2, 2 }, coords + ScreenCoordsXY{ bar_width - 1, 8 } }, colour, 0);
|
GfxFillRectInset(&dpi, { coords + ScreenCoordsXY{ 2, 2 }, coords + ScreenCoordsXY{ bar_width - 1, 8 } }, colour, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Draw thumbs on the sides
|
// Draw thumbs on the sides
|
||||||
GfxDrawSprite(*dpi, ImageId(SPR_RATING_LOW), coords - ScreenCoordsXY{ 14, 0 });
|
GfxDrawSprite(dpi, ImageId(SPR_RATING_LOW), coords - ScreenCoordsXY{ 14, 0 });
|
||||||
GfxDrawSprite(*dpi, ImageId(SPR_RATING_HIGH), coords + ScreenCoordsXY{ 114, 0 });
|
GfxDrawSprite(dpi, ImageId(SPR_RATING_HIGH), coords + ScreenCoordsXY{ 114, 0 });
|
||||||
}
|
}
|
||||||
|
|
||||||
static void WindowGameBottomToolbarDrawRightPanel(DrawPixelInfo* dpi, WindowBase* w)
|
static void WindowGameBottomToolbarDrawRightPanel(DrawPixelInfo& dpi, WindowBase* w)
|
||||||
{
|
{
|
||||||
const auto topLeft = w->windowPos
|
const auto topLeft = w->windowPos
|
||||||
+ ScreenCoordsXY{ window_game_bottom_toolbar_widgets[WIDX_RIGHT_OUTSET].left + 1,
|
+ ScreenCoordsXY{ window_game_bottom_toolbar_widgets[WIDX_RIGHT_OUTSET].left + 1,
|
||||||
|
@ -479,7 +479,7 @@ static void WindowGameBottomToolbarDrawRightPanel(DrawPixelInfo* dpi, WindowBase
|
||||||
+ ScreenCoordsXY{ window_game_bottom_toolbar_widgets[WIDX_RIGHT_OUTSET].right - 1,
|
+ ScreenCoordsXY{ window_game_bottom_toolbar_widgets[WIDX_RIGHT_OUTSET].right - 1,
|
||||||
window_game_bottom_toolbar_widgets[WIDX_RIGHT_OUTSET].bottom - 1 };
|
window_game_bottom_toolbar_widgets[WIDX_RIGHT_OUTSET].bottom - 1 };
|
||||||
// Draw green inset rectangle on panel
|
// Draw green inset rectangle on panel
|
||||||
GfxFillRectInset(dpi, { topLeft, bottomRight }, w->colours[1], INSET_RECT_F_30);
|
GfxFillRectInset(&dpi, { topLeft, bottomRight }, w->colours[1], INSET_RECT_F_30);
|
||||||
|
|
||||||
auto screenCoords = ScreenCoordsXY{ (window_game_bottom_toolbar_widgets[WIDX_RIGHT_OUTSET].left
|
auto screenCoords = ScreenCoordsXY{ (window_game_bottom_toolbar_widgets[WIDX_RIGHT_OUTSET].left
|
||||||
+ window_game_bottom_toolbar_widgets[WIDX_RIGHT_OUTSET].right)
|
+ window_game_bottom_toolbar_widgets[WIDX_RIGHT_OUTSET].right)
|
||||||
|
@ -502,7 +502,7 @@ static void WindowGameBottomToolbarDrawRightPanel(DrawPixelInfo* dpi, WindowBase
|
||||||
ft.Add<StringId>(DateDayNames[day]);
|
ft.Add<StringId>(DateDayNames[day]);
|
||||||
ft.Add<int16_t>(month);
|
ft.Add<int16_t>(month);
|
||||||
ft.Add<int16_t>(year);
|
ft.Add<int16_t>(year);
|
||||||
DrawTextBasic(*dpi, screenCoords, stringId, ft, { colour, TextAlignment::CENTRE });
|
DrawTextBasic(dpi, screenCoords, stringId, ft, { colour, TextAlignment::CENTRE });
|
||||||
|
|
||||||
// Figure out how much line height we have to work with.
|
// Figure out how much line height we have to work with.
|
||||||
uint32_t line_height = FontGetLineHeight(FontStyle::Medium);
|
uint32_t line_height = FontGetLineHeight(FontStyle::Medium);
|
||||||
|
@ -520,12 +520,12 @@ static void WindowGameBottomToolbarDrawRightPanel(DrawPixelInfo* dpi, WindowBase
|
||||||
}
|
}
|
||||||
ft = Formatter();
|
ft = Formatter();
|
||||||
ft.Add<int16_t>(temperature);
|
ft.Add<int16_t>(temperature);
|
||||||
DrawTextBasic(*dpi, screenCoords + ScreenCoordsXY{ 0, 6 }, format, ft);
|
DrawTextBasic(dpi, screenCoords + ScreenCoordsXY{ 0, 6 }, format, ft);
|
||||||
screenCoords.x += 30;
|
screenCoords.x += 30;
|
||||||
|
|
||||||
// Current weather
|
// Current weather
|
||||||
auto currentWeatherSpriteId = ClimateGetWeatherSpriteId(gClimateCurrent);
|
auto currentWeatherSpriteId = ClimateGetWeatherSpriteId(gClimateCurrent);
|
||||||
GfxDrawSprite(*dpi, ImageId(currentWeatherSpriteId), screenCoords);
|
GfxDrawSprite(dpi, ImageId(currentWeatherSpriteId), screenCoords);
|
||||||
|
|
||||||
// Next weather
|
// Next weather
|
||||||
auto nextWeatherSpriteId = ClimateGetWeatherSpriteId(gClimateNext);
|
auto nextWeatherSpriteId = ClimateGetWeatherSpriteId(gClimateNext);
|
||||||
|
@ -533,8 +533,8 @@ static void WindowGameBottomToolbarDrawRightPanel(DrawPixelInfo* dpi, WindowBase
|
||||||
{
|
{
|
||||||
if (gClimateUpdateTimer < 960)
|
if (gClimateUpdateTimer < 960)
|
||||||
{
|
{
|
||||||
GfxDrawSprite(*dpi, ImageId(SPR_NEXT_WEATHER), screenCoords + ScreenCoordsXY{ 27, 5 });
|
GfxDrawSprite(dpi, ImageId(SPR_NEXT_WEATHER), screenCoords + ScreenCoordsXY{ 27, 5 });
|
||||||
GfxDrawSprite(*dpi, ImageId(nextWeatherSpriteId), screenCoords + ScreenCoordsXY{ 40, 0 });
|
GfxDrawSprite(dpi, ImageId(nextWeatherSpriteId), screenCoords + ScreenCoordsXY{ 40, 0 });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -543,7 +543,7 @@ static void WindowGameBottomToolbarDrawRightPanel(DrawPixelInfo* dpi, WindowBase
|
||||||
*
|
*
|
||||||
* rct2: 0x0066BFA5
|
* rct2: 0x0066BFA5
|
||||||
*/
|
*/
|
||||||
static void WindowGameBottomToolbarDrawNewsItem(DrawPixelInfo* dpi, WindowBase* w)
|
static void WindowGameBottomToolbarDrawNewsItem(DrawPixelInfo& dpi, WindowBase* w)
|
||||||
{
|
{
|
||||||
int32_t width;
|
int32_t width;
|
||||||
News::Item* newsItem;
|
News::Item* newsItem;
|
||||||
|
@ -554,7 +554,7 @@ static void WindowGameBottomToolbarDrawNewsItem(DrawPixelInfo* dpi, WindowBase*
|
||||||
|
|
||||||
// Current news item
|
// Current news item
|
||||||
GfxFillRectInset(
|
GfxFillRectInset(
|
||||||
dpi,
|
&dpi,
|
||||||
{ w->windowPos + ScreenCoordsXY{ middleOutsetWidget->left + 1, middleOutsetWidget->top + 1 },
|
{ w->windowPos + ScreenCoordsXY{ middleOutsetWidget->left + 1, middleOutsetWidget->top + 1 },
|
||||||
w->windowPos + ScreenCoordsXY{ middleOutsetWidget->right - 1, middleOutsetWidget->bottom - 1 } },
|
w->windowPos + ScreenCoordsXY{ middleOutsetWidget->right - 1, middleOutsetWidget->bottom - 1 } },
|
||||||
w->colours[2], INSET_RECT_F_30);
|
w->colours[2], INSET_RECT_F_30);
|
||||||
|
@ -563,7 +563,7 @@ static void WindowGameBottomToolbarDrawNewsItem(DrawPixelInfo* dpi, WindowBase*
|
||||||
auto screenCoords = w->windowPos + ScreenCoordsXY{ middleOutsetWidget->midX(), middleOutsetWidget->top + 11 };
|
auto screenCoords = w->windowPos + ScreenCoordsXY{ middleOutsetWidget->midX(), middleOutsetWidget->top + 11 };
|
||||||
width = middleOutsetWidget->width() - 62;
|
width = middleOutsetWidget->width() - 62;
|
||||||
DrawNewsTicker(
|
DrawNewsTicker(
|
||||||
*dpi, screenCoords, width, COLOUR_BRIGHT_GREEN, STR_BOTTOM_TOOLBAR_NEWS_TEXT, newsItem->Text, newsItem->Ticks);
|
dpi, screenCoords, width, COLOUR_BRIGHT_GREEN, STR_BOTTOM_TOOLBAR_NEWS_TEXT, newsItem->Text, newsItem->Ticks);
|
||||||
|
|
||||||
screenCoords = w->windowPos
|
screenCoords = w->windowPos
|
||||||
+ ScreenCoordsXY{ window_game_bottom_toolbar_widgets[WIDX_NEWS_SUBJECT].left,
|
+ ScreenCoordsXY{ window_game_bottom_toolbar_widgets[WIDX_NEWS_SUBJECT].left,
|
||||||
|
@ -571,7 +571,7 @@ static void WindowGameBottomToolbarDrawNewsItem(DrawPixelInfo* dpi, WindowBase*
|
||||||
switch (newsItem->Type)
|
switch (newsItem->Type)
|
||||||
{
|
{
|
||||||
case News::ItemType::Ride:
|
case News::ItemType::Ride:
|
||||||
GfxDrawSprite(*dpi, ImageId(SPR_RIDE), screenCoords);
|
GfxDrawSprite(dpi, ImageId(SPR_RIDE), screenCoords);
|
||||||
break;
|
break;
|
||||||
case News::ItemType::PeepOnRide:
|
case News::ItemType::PeepOnRide:
|
||||||
case News::ItemType::Peep:
|
case News::ItemType::Peep:
|
||||||
|
@ -580,7 +580,7 @@ static void WindowGameBottomToolbarDrawNewsItem(DrawPixelInfo* dpi, WindowBase*
|
||||||
break;
|
break;
|
||||||
|
|
||||||
DrawPixelInfo cliped_dpi;
|
DrawPixelInfo cliped_dpi;
|
||||||
if (!ClipDrawPixelInfo(&cliped_dpi, dpi, screenCoords + ScreenCoordsXY{ 1, 1 }, 22, 22))
|
if (!ClipDrawPixelInfo(&cliped_dpi, &dpi, screenCoords + ScreenCoordsXY{ 1, 1 }, 22, 22))
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -623,19 +623,19 @@ static void WindowGameBottomToolbarDrawNewsItem(DrawPixelInfo* dpi, WindowBase*
|
||||||
}
|
}
|
||||||
case News::ItemType::Money:
|
case News::ItemType::Money:
|
||||||
case News::ItemType::Campaign:
|
case News::ItemType::Campaign:
|
||||||
GfxDrawSprite(*dpi, ImageId(SPR_FINANCE), screenCoords);
|
GfxDrawSprite(dpi, ImageId(SPR_FINANCE), screenCoords);
|
||||||
break;
|
break;
|
||||||
case News::ItemType::Research:
|
case News::ItemType::Research:
|
||||||
GfxDrawSprite(*dpi, ImageId(newsItem->Assoc < 0x10000 ? SPR_NEW_SCENERY : SPR_NEW_RIDE), screenCoords);
|
GfxDrawSprite(dpi, ImageId(newsItem->Assoc < 0x10000 ? SPR_NEW_SCENERY : SPR_NEW_RIDE), screenCoords);
|
||||||
break;
|
break;
|
||||||
case News::ItemType::Peeps:
|
case News::ItemType::Peeps:
|
||||||
GfxDrawSprite(*dpi, ImageId(SPR_GUESTS), screenCoords);
|
GfxDrawSprite(dpi, ImageId(SPR_GUESTS), screenCoords);
|
||||||
break;
|
break;
|
||||||
case News::ItemType::Award:
|
case News::ItemType::Award:
|
||||||
GfxDrawSprite(*dpi, ImageId(SPR_AWARD), screenCoords);
|
GfxDrawSprite(dpi, ImageId(SPR_AWARD), screenCoords);
|
||||||
break;
|
break;
|
||||||
case News::ItemType::Graph:
|
case News::ItemType::Graph:
|
||||||
GfxDrawSprite(*dpi, ImageId(SPR_GRAPH), screenCoords);
|
GfxDrawSprite(dpi, ImageId(SPR_GRAPH), screenCoords);
|
||||||
break;
|
break;
|
||||||
case News::ItemType::Null:
|
case News::ItemType::Null:
|
||||||
case News::ItemType::Blank:
|
case News::ItemType::Blank:
|
||||||
|
@ -644,12 +644,12 @@ static void WindowGameBottomToolbarDrawNewsItem(DrawPixelInfo* dpi, WindowBase*
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void WindowGameBottomToolbarDrawMiddlePanel(DrawPixelInfo* dpi, WindowBase* w)
|
static void WindowGameBottomToolbarDrawMiddlePanel(DrawPixelInfo& dpi, WindowBase* w)
|
||||||
{
|
{
|
||||||
Widget* middleOutsetWidget = &window_game_bottom_toolbar_widgets[WIDX_MIDDLE_OUTSET];
|
Widget* middleOutsetWidget = &window_game_bottom_toolbar_widgets[WIDX_MIDDLE_OUTSET];
|
||||||
|
|
||||||
GfxFillRectInset(
|
GfxFillRectInset(
|
||||||
dpi,
|
&dpi,
|
||||||
{ w->windowPos + ScreenCoordsXY{ middleOutsetWidget->left + 1, middleOutsetWidget->top + 1 },
|
{ w->windowPos + ScreenCoordsXY{ middleOutsetWidget->left + 1, middleOutsetWidget->top + 1 },
|
||||||
w->windowPos + ScreenCoordsXY{ middleOutsetWidget->right - 1, middleOutsetWidget->bottom - 1 } },
|
w->windowPos + ScreenCoordsXY{ middleOutsetWidget->right - 1, middleOutsetWidget->bottom - 1 } },
|
||||||
w->colours[1], INSET_RECT_F_30);
|
w->colours[1], INSET_RECT_F_30);
|
||||||
|
@ -668,12 +668,12 @@ static void WindowGameBottomToolbarDrawMiddlePanel(DrawPixelInfo* dpi, WindowBas
|
||||||
if (stringId == STR_NONE)
|
if (stringId == STR_NONE)
|
||||||
{
|
{
|
||||||
DrawTextWrapped(
|
DrawTextWrapped(
|
||||||
*dpi, middleWidgetCoords, width, STR_TITLE_SEQUENCE_OPENRCT2, ft, { w->colours[0], TextAlignment::CENTRE });
|
dpi, middleWidgetCoords, width, STR_TITLE_SEQUENCE_OPENRCT2, ft, { w->colours[0], TextAlignment::CENTRE });
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Show tooltip in bottom toolbar
|
// Show tooltip in bottom toolbar
|
||||||
DrawTextWrapped(*dpi, middleWidgetCoords, width, STR_STRINGID, ft, { w->colours[0], TextAlignment::CENTRE });
|
DrawTextWrapped(dpi, middleWidgetCoords, width, STR_STRINGID, ft, { w->colours[0], TextAlignment::CENTRE });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -752,7 +752,7 @@ private:
|
||||||
// Draw the viewport no sound sprite
|
// Draw the viewport no sound sprite
|
||||||
if (viewport != nullptr)
|
if (viewport != nullptr)
|
||||||
{
|
{
|
||||||
WindowDrawViewport(&dpi, *this);
|
WindowDrawViewport(dpi, *this);
|
||||||
if (viewport->flags & VIEWPORT_FLAG_SOUND_ON)
|
if (viewport->flags & VIEWPORT_FLAG_SOUND_ON)
|
||||||
{
|
{
|
||||||
GfxDrawSprite(dpi, ImageId(SPR_HEARING_VIEWPORT), windowPos + ScreenCoordsXY{ 2, 2 });
|
GfxDrawSprite(dpi, ImageId(SPR_HEARING_VIEWPORT), windowPos + ScreenCoordsXY{ 2, 2 });
|
||||||
|
|
|
@ -1112,7 +1112,7 @@ static Widget window_overwrite_prompt_widgets[] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
static void WindowOverwritePromptMouseup(WindowBase* w, WidgetIndex widgetIndex);
|
static void WindowOverwritePromptMouseup(WindowBase* w, WidgetIndex widgetIndex);
|
||||||
static void WindowOverwritePromptPaint(WindowBase* w, DrawPixelInfo* dpi);
|
static void WindowOverwritePromptPaint(WindowBase* w, DrawPixelInfo& dpi);
|
||||||
|
|
||||||
static WindowEventList window_overwrite_prompt_events([](auto& events) {
|
static WindowEventList window_overwrite_prompt_events([](auto& events) {
|
||||||
events.mouse_up = &WindowOverwritePromptMouseup;
|
events.mouse_up = &WindowOverwritePromptMouseup;
|
||||||
|
@ -1164,7 +1164,7 @@ static void WindowOverwritePromptMouseup(WindowBase* w, WidgetIndex widgetIndex)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void WindowOverwritePromptPaint(WindowBase* w, DrawPixelInfo* dpi)
|
static void WindowOverwritePromptPaint(WindowBase* w, DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
WindowDrawWidgets(*w, dpi);
|
WindowDrawWidgets(*w, dpi);
|
||||||
|
|
||||||
|
@ -1173,7 +1173,7 @@ static void WindowOverwritePromptPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
ft.Add<char*>(_window_overwrite_prompt_name);
|
ft.Add<char*>(_window_overwrite_prompt_name);
|
||||||
|
|
||||||
ScreenCoordsXY stringCoords(w->windowPos.x + w->width / 2, w->windowPos.y + (w->height / 2) - 3);
|
ScreenCoordsXY stringCoords(w->windowPos.x + w->width / 2, w->windowPos.y + (w->height / 2) - 3);
|
||||||
DrawTextWrapped(*dpi, stringCoords, w->width - 4, STR_FILEBROWSER_OVERWRITE_PROMPT, ft, { TextAlignment::CENTRE });
|
DrawTextWrapped(dpi, stringCoords, w->width - 4, STR_FILEBROWSER_OVERWRITE_PROMPT, ft, { TextAlignment::CENTRE });
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma endregion
|
#pragma endregion
|
||||||
|
|
|
@ -719,13 +719,13 @@ public:
|
||||||
|
|
||||||
if (selected_tab == PAGE_PEEPS)
|
if (selected_tab == PAGE_PEEPS)
|
||||||
{
|
{
|
||||||
PaintPeepOverlay(&dpi);
|
PaintPeepOverlay(dpi);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
PaintTrainOverlay(&dpi);
|
PaintTrainOverlay(dpi);
|
||||||
}
|
}
|
||||||
PaintHudRectangle(&dpi);
|
PaintHudRectangle(dpi);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OnPrepareDraw() override
|
void OnPrepareDraw() override
|
||||||
|
@ -855,7 +855,7 @@ public:
|
||||||
void OnDraw(DrawPixelInfo& dpi) override
|
void OnDraw(DrawPixelInfo& dpi) override
|
||||||
{
|
{
|
||||||
DrawWidgets(dpi);
|
DrawWidgets(dpi);
|
||||||
DrawTabImages(&dpi);
|
DrawTabImages(dpi);
|
||||||
|
|
||||||
auto screenCoords = windowPos
|
auto screenCoords = windowPos
|
||||||
+ ScreenCoordsXY{ window_map_widgets[WIDX_LAND_TOOL].midX(), window_map_widgets[WIDX_LAND_TOOL].midY() };
|
+ ScreenCoordsXY{ window_map_widgets[WIDX_LAND_TOOL].midX(), window_map_widgets[WIDX_LAND_TOOL].midY() };
|
||||||
|
@ -1161,7 +1161,7 @@ private:
|
||||||
return colourB;
|
return colourB;
|
||||||
}
|
}
|
||||||
|
|
||||||
void PaintPeepOverlay(DrawPixelInfo* dpi)
|
void PaintPeepOverlay(DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
auto flashColour = GetGuestFlashColour();
|
auto flashColour = GetGuestFlashColour();
|
||||||
for (auto guest : EntityList<Guest>())
|
for (auto guest : EntityList<Guest>())
|
||||||
|
@ -1175,7 +1175,7 @@ private:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void DrawMapPeepPixel(Peep* peep, const uint8_t flashColour, DrawPixelInfo* dpi)
|
void DrawMapPeepPixel(Peep* peep, const uint8_t flashColour, DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
if (peep->x == LOCATION_NULL)
|
if (peep->x == LOCATION_NULL)
|
||||||
return;
|
return;
|
||||||
|
@ -1194,7 +1194,7 @@ private:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
GfxFillRect(dpi, { leftTop, rightBottom }, colour);
|
GfxFillRect(&dpi, { leftTop, rightBottom }, colour);
|
||||||
}
|
}
|
||||||
|
|
||||||
static uint8_t GetGuestFlashColour()
|
static uint8_t GetGuestFlashColour()
|
||||||
|
@ -1221,7 +1221,7 @@ private:
|
||||||
return colour;
|
return colour;
|
||||||
}
|
}
|
||||||
|
|
||||||
void PaintTrainOverlay(DrawPixelInfo* dpi)
|
void PaintTrainOverlay(DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
for (auto train : TrainManager::View())
|
for (auto train : TrainManager::View())
|
||||||
{
|
{
|
||||||
|
@ -1232,7 +1232,7 @@ private:
|
||||||
|
|
||||||
MapCoordsXY c = TransformToMapCoords({ vehicle->x, vehicle->y });
|
MapCoordsXY c = TransformToMapCoords({ vehicle->x, vehicle->y });
|
||||||
|
|
||||||
GfxFillRect(dpi, { { c.x, c.y }, { c.x, c.y } }, PALETTE_INDEX_171);
|
GfxFillRect(&dpi, { { c.x, c.y }, { c.x, c.y } }, PALETTE_INDEX_171);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1241,7 +1241,7 @@ private:
|
||||||
* The call to GfxFillRect was originally wrapped in Sub68DABD which made sure that arguments were ordered correctly,
|
* The call to GfxFillRect was originally wrapped in Sub68DABD which made sure that arguments were ordered correctly,
|
||||||
* but it doesn't look like it's ever necessary here so the call was removed.
|
* but it doesn't look like it's ever necessary here so the call was removed.
|
||||||
*/
|
*/
|
||||||
void PaintHudRectangle(DrawPixelInfo* dpi)
|
void PaintHudRectangle(DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
WindowBase* mainWindow = WindowGetMain();
|
WindowBase* mainWindow = WindowGetMain();
|
||||||
if (mainWindow == nullptr)
|
if (mainWindow == nullptr)
|
||||||
|
@ -1259,23 +1259,23 @@ private:
|
||||||
auto leftBottom = ScreenCoordsXY{ leftTop.x, rightBottom.y };
|
auto leftBottom = ScreenCoordsXY{ leftTop.x, rightBottom.y };
|
||||||
|
|
||||||
// top horizontal lines
|
// top horizontal lines
|
||||||
GfxFillRect(dpi, { leftTop, leftTop + ScreenCoordsXY{ 3, 0 } }, PALETTE_INDEX_56);
|
GfxFillRect(&dpi, { leftTop, leftTop + ScreenCoordsXY{ 3, 0 } }, PALETTE_INDEX_56);
|
||||||
GfxFillRect(dpi, { rightTop - ScreenCoordsXY{ 3, 0 }, rightTop }, PALETTE_INDEX_56);
|
GfxFillRect(&dpi, { rightTop - ScreenCoordsXY{ 3, 0 }, rightTop }, PALETTE_INDEX_56);
|
||||||
|
|
||||||
// left vertical lines
|
// left vertical lines
|
||||||
GfxFillRect(dpi, { leftTop, leftTop + ScreenCoordsXY{ 0, 3 } }, PALETTE_INDEX_56);
|
GfxFillRect(&dpi, { leftTop, leftTop + ScreenCoordsXY{ 0, 3 } }, PALETTE_INDEX_56);
|
||||||
GfxFillRect(dpi, { leftBottom - ScreenCoordsXY{ 0, 3 }, leftBottom }, PALETTE_INDEX_56);
|
GfxFillRect(&dpi, { leftBottom - ScreenCoordsXY{ 0, 3 }, leftBottom }, PALETTE_INDEX_56);
|
||||||
|
|
||||||
// bottom horizontal lines
|
// bottom horizontal lines
|
||||||
GfxFillRect(dpi, { leftBottom, leftBottom + ScreenCoordsXY{ 3, 0 } }, PALETTE_INDEX_56);
|
GfxFillRect(&dpi, { leftBottom, leftBottom + ScreenCoordsXY{ 3, 0 } }, PALETTE_INDEX_56);
|
||||||
GfxFillRect(dpi, { rightBottom - ScreenCoordsXY{ 3, 0 }, rightBottom }, PALETTE_INDEX_56);
|
GfxFillRect(&dpi, { rightBottom - ScreenCoordsXY{ 3, 0 }, rightBottom }, PALETTE_INDEX_56);
|
||||||
|
|
||||||
// right vertical lines
|
// right vertical lines
|
||||||
GfxFillRect(dpi, { rightTop, rightTop + ScreenCoordsXY{ 0, 3 } }, PALETTE_INDEX_56);
|
GfxFillRect(&dpi, { rightTop, rightTop + ScreenCoordsXY{ 0, 3 } }, PALETTE_INDEX_56);
|
||||||
GfxFillRect(dpi, { rightBottom - ScreenCoordsXY{ 0, 3 }, rightBottom }, PALETTE_INDEX_56);
|
GfxFillRect(&dpi, { rightBottom - ScreenCoordsXY{ 0, 3 }, rightBottom }, PALETTE_INDEX_56);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DrawTabImages(DrawPixelInfo* dpi)
|
void DrawTabImages(DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
// Guest tab image (animated)
|
// Guest tab image (animated)
|
||||||
uint32_t guestTabImage = SPR_TAB_GUESTS_0;
|
uint32_t guestTabImage = SPR_TAB_GUESTS_0;
|
||||||
|
@ -1283,7 +1283,7 @@ private:
|
||||||
guestTabImage += list_information_type / 4;
|
guestTabImage += list_information_type / 4;
|
||||||
|
|
||||||
GfxDrawSprite(
|
GfxDrawSprite(
|
||||||
*dpi, ImageId(guestTabImage),
|
dpi, ImageId(guestTabImage),
|
||||||
windowPos + ScreenCoordsXY{ widgets[WIDX_PEOPLE_TAB].left, widgets[WIDX_PEOPLE_TAB].top });
|
windowPos + ScreenCoordsXY{ widgets[WIDX_PEOPLE_TAB].left, widgets[WIDX_PEOPLE_TAB].top });
|
||||||
|
|
||||||
// Ride/stall tab image (animated)
|
// Ride/stall tab image (animated)
|
||||||
|
@ -1292,7 +1292,7 @@ private:
|
||||||
rideTabImage += list_information_type / 4;
|
rideTabImage += list_information_type / 4;
|
||||||
|
|
||||||
GfxDrawSprite(
|
GfxDrawSprite(
|
||||||
*dpi, ImageId(rideTabImage),
|
dpi, ImageId(rideTabImage),
|
||||||
windowPos + ScreenCoordsXY{ widgets[WIDX_RIDES_TAB].left, widgets[WIDX_RIDES_TAB].top });
|
windowPos + ScreenCoordsXY{ widgets[WIDX_RIDES_TAB].left, widgets[WIDX_RIDES_TAB].top });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,7 @@ static Widget window_map_tooltip_widgets[] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
static void WindowMapTooltipUpdate(WindowBase *w);
|
static void WindowMapTooltipUpdate(WindowBase *w);
|
||||||
static void WindowMapTooltipPaint(WindowBase *w, DrawPixelInfo *dpi);
|
static void WindowMapTooltipPaint(WindowBase *w, DrawPixelInfo& dpi);
|
||||||
|
|
||||||
static WindowEventList window_map_tooltip_events([](auto& events)
|
static WindowEventList window_map_tooltip_events([](auto& events)
|
||||||
{
|
{
|
||||||
|
@ -137,7 +137,7 @@ static void WindowMapTooltipUpdate(WindowBase* w)
|
||||||
*
|
*
|
||||||
* rct2: 0x006EE894
|
* rct2: 0x006EE894
|
||||||
*/
|
*/
|
||||||
static void WindowMapTooltipPaint(WindowBase* w, DrawPixelInfo* dpi)
|
static void WindowMapTooltipPaint(WindowBase* w, DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
StringId stringId;
|
StringId stringId;
|
||||||
std::memcpy(&stringId, _mapTooltipArgs.Data(), sizeof(StringId));
|
std::memcpy(&stringId, _mapTooltipArgs.Data(), sizeof(StringId));
|
||||||
|
@ -147,5 +147,5 @@ static void WindowMapTooltipPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
}
|
}
|
||||||
|
|
||||||
ScreenCoordsXY stringCoords(w->windowPos.x + (w->width / 2), w->windowPos.y + (w->height / 2));
|
ScreenCoordsXY stringCoords(w->windowPos.x + (w->width / 2), w->windowPos.y + (w->height / 2));
|
||||||
DrawTextWrapped(*dpi, stringCoords, w->width, STR_MAP_TOOLTIP_STRINGID, _mapTooltipArgs, { TextAlignment::CENTRE });
|
DrawTextWrapped(dpi, stringCoords, w->width, STR_MAP_TOOLTIP_STRINGID, _mapTooltipArgs, { TextAlignment::CENTRE });
|
||||||
}
|
}
|
||||||
|
|
|
@ -124,7 +124,7 @@ static void WindowMultiplayerInformationMouseup(WindowBase *w, WidgetIndex widge
|
||||||
static void WindowMultiplayerInformationResize(WindowBase *w);
|
static void WindowMultiplayerInformationResize(WindowBase *w);
|
||||||
static void WindowMultiplayerInformationUpdate(WindowBase *w);
|
static void WindowMultiplayerInformationUpdate(WindowBase *w);
|
||||||
static void WindowMultiplayerInformationInvalidate(WindowBase *w);
|
static void WindowMultiplayerInformationInvalidate(WindowBase *w);
|
||||||
static void WindowMultiplayerInformationPaint(WindowBase *w, DrawPixelInfo *dpi);
|
static void WindowMultiplayerInformationPaint(WindowBase *w, DrawPixelInfo& dpi);
|
||||||
|
|
||||||
static void WindowMultiplayerPlayersMouseup(WindowBase *w, WidgetIndex widgetIndex);
|
static void WindowMultiplayerPlayersMouseup(WindowBase *w, WidgetIndex widgetIndex);
|
||||||
static void WindowMultiplayerPlayersResize(WindowBase *w);
|
static void WindowMultiplayerPlayersResize(WindowBase *w);
|
||||||
|
@ -133,8 +133,8 @@ static void WindowMultiplayerPlayersScrollgetsize(WindowBase *w, int32_t scrollI
|
||||||
static void WindowMultiplayerPlayersScrollmousedown(WindowBase *w, int32_t scrollIndex, const ScreenCoordsXY& screenCoords);
|
static void WindowMultiplayerPlayersScrollmousedown(WindowBase *w, int32_t scrollIndex, const ScreenCoordsXY& screenCoords);
|
||||||
static void WindowMultiplayerPlayersScrollmouseover(WindowBase *w, int32_t scrollIndex, const ScreenCoordsXY& screenCoords);
|
static void WindowMultiplayerPlayersScrollmouseover(WindowBase *w, int32_t scrollIndex, const ScreenCoordsXY& screenCoords);
|
||||||
static void WindowMultiplayerPlayersInvalidate(WindowBase *w);
|
static void WindowMultiplayerPlayersInvalidate(WindowBase *w);
|
||||||
static void WindowMultiplayerPlayersPaint(WindowBase *w, DrawPixelInfo *dpi);
|
static void WindowMultiplayerPlayersPaint(WindowBase *w, DrawPixelInfo& dpi);
|
||||||
static void WindowMultiplayerPlayersScrollpaint(WindowBase *w, DrawPixelInfo *dpi, int32_t scrollIndex);
|
static void WindowMultiplayerPlayersScrollpaint(WindowBase *w, DrawPixelInfo& dpi, int32_t scrollIndex);
|
||||||
|
|
||||||
static void WindowMultiplayerGroupsMouseup(WindowBase *w, WidgetIndex widgetIndex);
|
static void WindowMultiplayerGroupsMouseup(WindowBase *w, WidgetIndex widgetIndex);
|
||||||
static void WindowMultiplayerGroupsResize(WindowBase *w);
|
static void WindowMultiplayerGroupsResize(WindowBase *w);
|
||||||
|
@ -146,14 +146,14 @@ static void WindowMultiplayerGroupsScrollmousedown(WindowBase *w, int32_t scroll
|
||||||
static void WindowMultiplayerGroupsScrollmouseover(WindowBase *w, int32_t scrollIndex, const ScreenCoordsXY& screenCoords);
|
static void WindowMultiplayerGroupsScrollmouseover(WindowBase *w, int32_t scrollIndex, const ScreenCoordsXY& screenCoords);
|
||||||
static void WindowMultiplayerGroupsTextInput(WindowBase *w, WidgetIndex widgetIndex, const char *text);
|
static void WindowMultiplayerGroupsTextInput(WindowBase *w, WidgetIndex widgetIndex, const char *text);
|
||||||
static void WindowMultiplayerGroupsInvalidate(WindowBase *w);
|
static void WindowMultiplayerGroupsInvalidate(WindowBase *w);
|
||||||
static void WindowMultiplayerGroupsPaint(WindowBase *w, DrawPixelInfo *dpi);
|
static void WindowMultiplayerGroupsPaint(WindowBase *w, DrawPixelInfo& dpi);
|
||||||
static void WindowMultiplayerGroupsScrollpaint(WindowBase *w, DrawPixelInfo *dpi, int32_t scrollIndex);
|
static void WindowMultiplayerGroupsScrollpaint(WindowBase *w, DrawPixelInfo& dpi, int32_t scrollIndex);
|
||||||
|
|
||||||
static void WindowMultiplayerOptionsMouseup(WindowBase *w, WidgetIndex widgetIndex);
|
static void WindowMultiplayerOptionsMouseup(WindowBase *w, WidgetIndex widgetIndex);
|
||||||
static void WindowMultiplayerOptionsResize(WindowBase *w);
|
static void WindowMultiplayerOptionsResize(WindowBase *w);
|
||||||
static void WindowMultiplayerOptionsUpdate(WindowBase *w);
|
static void WindowMultiplayerOptionsUpdate(WindowBase *w);
|
||||||
static void WindowMultiplayerOptionsInvalidate(WindowBase *w);
|
static void WindowMultiplayerOptionsInvalidate(WindowBase *w);
|
||||||
static void WindowMultiplayerOptionsPaint(WindowBase *w, DrawPixelInfo *dpi);
|
static void WindowMultiplayerOptionsPaint(WindowBase *w, DrawPixelInfo& dpi);
|
||||||
|
|
||||||
static WindowEventList window_multiplayer_information_events([](auto& events)
|
static WindowEventList window_multiplayer_information_events([](auto& events)
|
||||||
{
|
{
|
||||||
|
@ -223,7 +223,7 @@ static constexpr const int32_t window_multiplayer_animation_frames[] = {
|
||||||
4,
|
4,
|
||||||
};
|
};
|
||||||
|
|
||||||
static void WindowMultiplayerDrawTabImages(WindowBase* w, DrawPixelInfo* dpi);
|
static void WindowMultiplayerDrawTabImages(WindowBase* w, DrawPixelInfo& dpi);
|
||||||
static void WindowMultiplayerSetPage(WindowBase* w, int32_t page);
|
static void WindowMultiplayerSetPage(WindowBase* w, int32_t page);
|
||||||
|
|
||||||
static bool _windowInformationSizeDirty;
|
static bool _windowInformationSizeDirty;
|
||||||
|
@ -395,16 +395,14 @@ static void WindowMultiplayerInformationInvalidate(WindowBase* w)
|
||||||
WindowAlignTabs(w, WIDX_TAB1, WIDX_TAB4);
|
WindowAlignTabs(w, WIDX_TAB1, WIDX_TAB4);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void WindowMultiplayerInformationPaint(WindowBase* w, DrawPixelInfo* dpi)
|
static void WindowMultiplayerInformationPaint(WindowBase* w, DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
WindowDrawWidgets(*w, dpi);
|
WindowDrawWidgets(*w, dpi);
|
||||||
WindowMultiplayerDrawTabImages(w, dpi);
|
WindowMultiplayerDrawTabImages(w, dpi);
|
||||||
|
|
||||||
DrawPixelInfo clippedDPI;
|
DrawPixelInfo clippedDPI;
|
||||||
if (ClipDrawPixelInfo(&clippedDPI, dpi, w->windowPos, w->width, w->height))
|
if (ClipDrawPixelInfo(&clippedDPI, &dpi, w->windowPos, w->width, w->height))
|
||||||
{
|
{
|
||||||
dpi = &clippedDPI;
|
|
||||||
|
|
||||||
auto screenCoords = ScreenCoordsXY{ 3, 50 };
|
auto screenCoords = ScreenCoordsXY{ 3, 50 };
|
||||||
int32_t width = w->width - 6;
|
int32_t width = w->width - 6;
|
||||||
|
|
||||||
|
@ -412,7 +410,7 @@ static void WindowMultiplayerInformationPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
{
|
{
|
||||||
auto ft = Formatter();
|
auto ft = Formatter();
|
||||||
ft.Add<const char*>(name.c_str());
|
ft.Add<const char*>(name.c_str());
|
||||||
screenCoords.y += DrawTextWrapped(*dpi, screenCoords, width, STR_STRING, ft, { w->colours[1] });
|
screenCoords.y += DrawTextWrapped(clippedDPI, screenCoords, width, STR_STRING, ft, { w->colours[1] });
|
||||||
screenCoords.y += LIST_ROW_HEIGHT / 2;
|
screenCoords.y += LIST_ROW_HEIGHT / 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -421,7 +419,7 @@ static void WindowMultiplayerInformationPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
{
|
{
|
||||||
auto ft = Formatter();
|
auto ft = Formatter();
|
||||||
ft.Add<const char*>(description.c_str());
|
ft.Add<const char*>(description.c_str());
|
||||||
screenCoords.y += DrawTextWrapped(*dpi, screenCoords, width, STR_STRING, ft, { w->colours[1] });
|
screenCoords.y += DrawTextWrapped(clippedDPI, screenCoords, width, STR_STRING, ft, { w->colours[1] });
|
||||||
screenCoords.y += LIST_ROW_HEIGHT / 2;
|
screenCoords.y += LIST_ROW_HEIGHT / 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -430,7 +428,7 @@ static void WindowMultiplayerInformationPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
{
|
{
|
||||||
auto ft = Formatter();
|
auto ft = Formatter();
|
||||||
ft.Add<const char*>(providerName.c_str());
|
ft.Add<const char*>(providerName.c_str());
|
||||||
DrawTextBasic(*dpi, screenCoords, STR_PROVIDER_NAME, ft);
|
DrawTextBasic(clippedDPI, screenCoords, STR_PROVIDER_NAME, ft);
|
||||||
screenCoords.y += LIST_ROW_HEIGHT;
|
screenCoords.y += LIST_ROW_HEIGHT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -439,7 +437,7 @@ static void WindowMultiplayerInformationPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
{
|
{
|
||||||
auto ft = Formatter();
|
auto ft = Formatter();
|
||||||
ft.Add<const char*>(providerEmail.c_str());
|
ft.Add<const char*>(providerEmail.c_str());
|
||||||
DrawTextBasic(*dpi, screenCoords, STR_PROVIDER_EMAIL, ft);
|
DrawTextBasic(clippedDPI, screenCoords, STR_PROVIDER_EMAIL, ft);
|
||||||
screenCoords.y += LIST_ROW_HEIGHT;
|
screenCoords.y += LIST_ROW_HEIGHT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -448,7 +446,7 @@ static void WindowMultiplayerInformationPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
{
|
{
|
||||||
auto ft = Formatter();
|
auto ft = Formatter();
|
||||||
ft.Add<const char*>(providerWebsite.c_str());
|
ft.Add<const char*>(providerWebsite.c_str());
|
||||||
DrawTextBasic(*dpi, screenCoords, STR_PROVIDER_WEBSITE, ft);
|
DrawTextBasic(clippedDPI, screenCoords, STR_PROVIDER_WEBSITE, ft);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -557,7 +555,7 @@ static void WindowMultiplayerPlayersInvalidate(WindowBase* w)
|
||||||
WindowAlignTabs(w, WIDX_TAB1, WIDX_TAB4);
|
WindowAlignTabs(w, WIDX_TAB1, WIDX_TAB4);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void WindowMultiplayerPlayersPaint(WindowBase* w, DrawPixelInfo* dpi)
|
static void WindowMultiplayerPlayersPaint(WindowBase* w, DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
StringId stringId;
|
StringId stringId;
|
||||||
|
|
||||||
|
@ -569,10 +567,10 @@ static void WindowMultiplayerPlayersPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
auto screenCoords = w->windowPos + ScreenCoordsXY{ 4, w->widgets[WIDX_LIST].bottom + 2 };
|
auto screenCoords = w->windowPos + ScreenCoordsXY{ 4, w->widgets[WIDX_LIST].bottom + 2 };
|
||||||
auto ft = Formatter();
|
auto ft = Formatter();
|
||||||
ft.Add<uint16_t>(w->no_list_items);
|
ft.Add<uint16_t>(w->no_list_items);
|
||||||
DrawTextBasic(*dpi, screenCoords, stringId, ft, { w->colours[2] });
|
DrawTextBasic(dpi, screenCoords, stringId, ft, { w->colours[2] });
|
||||||
}
|
}
|
||||||
|
|
||||||
static void WindowMultiplayerPlayersScrollpaint(WindowBase* w, DrawPixelInfo* dpi, int32_t scrollIndex)
|
static void WindowMultiplayerPlayersScrollpaint(WindowBase* w, DrawPixelInfo& dpi, int32_t scrollIndex)
|
||||||
{
|
{
|
||||||
ScreenCoordsXY screenCoords;
|
ScreenCoordsXY screenCoords;
|
||||||
screenCoords.y = 0;
|
screenCoords.y = 0;
|
||||||
|
@ -582,12 +580,12 @@ static void WindowMultiplayerPlayersScrollpaint(WindowBase* w, DrawPixelInfo* dp
|
||||||
|
|
||||||
for (int32_t player = firstPlayerInList; player < NetworkGetNumPlayers(); player++)
|
for (int32_t player = firstPlayerInList; player < NetworkGetNumPlayers(); player++)
|
||||||
{
|
{
|
||||||
if (screenCoords.y > dpi->y + dpi->height)
|
if (screenCoords.y > dpi.y + dpi.height)
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (screenCoords.y + SCROLLABLE_ROW_HEIGHT + 1 >= dpi->y)
|
if (screenCoords.y + SCROLLABLE_ROW_HEIGHT + 1 >= dpi.y)
|
||||||
{
|
{
|
||||||
thread_local std::string _buffer;
|
thread_local std::string _buffer;
|
||||||
_buffer.reserve(512);
|
_buffer.reserve(512);
|
||||||
|
@ -598,7 +596,7 @@ static void WindowMultiplayerPlayersScrollpaint(WindowBase* w, DrawPixelInfo* dp
|
||||||
if (listPosition == w->selected_list_item)
|
if (listPosition == w->selected_list_item)
|
||||||
{
|
{
|
||||||
GfxFilterRect(
|
GfxFilterRect(
|
||||||
dpi, { 0, screenCoords.y, 800, screenCoords.y + SCROLLABLE_ROW_HEIGHT - 1 },
|
&dpi, { 0, screenCoords.y, 800, screenCoords.y + SCROLLABLE_ROW_HEIGHT - 1 },
|
||||||
FilterPaletteID::PaletteDarken1);
|
FilterPaletteID::PaletteDarken1);
|
||||||
_buffer += NetworkGetPlayerName(player);
|
_buffer += NetworkGetPlayerName(player);
|
||||||
colour = w->colours[2];
|
colour = w->colours[2];
|
||||||
|
@ -617,7 +615,7 @@ static void WindowMultiplayerPlayersScrollpaint(WindowBase* w, DrawPixelInfo* dp
|
||||||
}
|
}
|
||||||
screenCoords.x = 0;
|
screenCoords.x = 0;
|
||||||
GfxClipString(_buffer.data(), 230, FontStyle::Medium);
|
GfxClipString(_buffer.data(), 230, FontStyle::Medium);
|
||||||
GfxDrawString(*dpi, screenCoords, _buffer.c_str(), { colour });
|
GfxDrawString(dpi, screenCoords, _buffer.c_str(), { colour });
|
||||||
|
|
||||||
// Draw group name
|
// Draw group name
|
||||||
_buffer.resize(0);
|
_buffer.resize(0);
|
||||||
|
@ -628,7 +626,7 @@ static void WindowMultiplayerPlayersScrollpaint(WindowBase* w, DrawPixelInfo* dp
|
||||||
screenCoords.x = 173;
|
screenCoords.x = 173;
|
||||||
_buffer += NetworkGetGroupName(group);
|
_buffer += NetworkGetGroupName(group);
|
||||||
GfxClipString(_buffer.data(), 80, FontStyle::Medium);
|
GfxClipString(_buffer.data(), 80, FontStyle::Medium);
|
||||||
GfxDrawString(*dpi, screenCoords, _buffer.c_str(), { colour });
|
GfxDrawString(dpi, screenCoords, _buffer.c_str(), { colour });
|
||||||
}
|
}
|
||||||
|
|
||||||
// Draw last action
|
// Draw last action
|
||||||
|
@ -642,7 +640,7 @@ static void WindowMultiplayerPlayersScrollpaint(WindowBase* w, DrawPixelInfo* dp
|
||||||
{
|
{
|
||||||
ft.Add<StringId>(STR_ACTION_NA);
|
ft.Add<StringId>(STR_ACTION_NA);
|
||||||
}
|
}
|
||||||
DrawTextEllipsised(*dpi, { 256, screenCoords.y }, 100, STR_BLACK_STRING, ft);
|
DrawTextEllipsised(dpi, { 256, screenCoords.y }, 100, STR_BLACK_STRING, ft);
|
||||||
|
|
||||||
// Draw ping
|
// Draw ping
|
||||||
_buffer.resize(0);
|
_buffer.resize(0);
|
||||||
|
@ -665,7 +663,7 @@ static void WindowMultiplayerPlayersScrollpaint(WindowBase* w, DrawPixelInfo* dp
|
||||||
_buffer += pingBuffer;
|
_buffer += pingBuffer;
|
||||||
|
|
||||||
screenCoords.x = 356;
|
screenCoords.x = 356;
|
||||||
GfxDrawString(*dpi, screenCoords, _buffer.c_str(), { colour });
|
GfxDrawString(dpi, screenCoords, _buffer.c_str(), { colour });
|
||||||
}
|
}
|
||||||
screenCoords.y += SCROLLABLE_ROW_HEIGHT;
|
screenCoords.y += SCROLLABLE_ROW_HEIGHT;
|
||||||
listPosition++;
|
listPosition++;
|
||||||
|
@ -841,7 +839,7 @@ static void WindowMultiplayerGroupsInvalidate(WindowBase* w)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void WindowMultiplayerGroupsPaint(WindowBase* w, DrawPixelInfo* dpi)
|
static void WindowMultiplayerGroupsPaint(WindowBase* w, DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
thread_local std::string _buffer;
|
thread_local std::string _buffer;
|
||||||
|
|
||||||
|
@ -858,7 +856,7 @@ static void WindowMultiplayerGroupsPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
auto ft = Formatter();
|
auto ft = Formatter();
|
||||||
ft.Add<const char*>(_buffer.c_str());
|
ft.Add<const char*>(_buffer.c_str());
|
||||||
DrawTextEllipsised(
|
DrawTextEllipsised(
|
||||||
*dpi, w->windowPos + ScreenCoordsXY{ widget->midX() - 5, widget->top }, widget->width() - 8, STR_STRING, ft,
|
dpi, w->windowPos + ScreenCoordsXY{ widget->midX() - 5, widget->top }, widget->width() - 8, STR_STRING, ft,
|
||||||
{ TextAlignment::CENTRE });
|
{ TextAlignment::CENTRE });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -866,12 +864,12 @@ static void WindowMultiplayerGroupsPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
+ ScreenCoordsXY{ window_multiplayer_groups_widgets[WIDX_CONTENT_PANEL].left + 4,
|
+ ScreenCoordsXY{ window_multiplayer_groups_widgets[WIDX_CONTENT_PANEL].left + 4,
|
||||||
window_multiplayer_groups_widgets[WIDX_CONTENT_PANEL].top + 4 };
|
window_multiplayer_groups_widgets[WIDX_CONTENT_PANEL].top + 4 };
|
||||||
|
|
||||||
DrawTextBasic(*dpi, screenPos, STR_DEFAULT_GROUP, {}, { w->colours[2] });
|
DrawTextBasic(dpi, screenPos, STR_DEFAULT_GROUP, {}, { w->colours[2] });
|
||||||
|
|
||||||
screenPos.y += 20;
|
screenPos.y += 20;
|
||||||
|
|
||||||
GfxFillRectInset(
|
GfxFillRectInset(
|
||||||
dpi, { screenPos - ScreenCoordsXY{ 0, 6 }, screenPos + ScreenCoordsXY{ 310, -5 } }, w->colours[1],
|
&dpi, { screenPos - ScreenCoordsXY{ 0, 6 }, screenPos + ScreenCoordsXY{ 310, -5 } }, w->colours[1],
|
||||||
INSET_RECT_FLAG_BORDER_INSET);
|
INSET_RECT_FLAG_BORDER_INSET);
|
||||||
|
|
||||||
widget = &window_multiplayer_groups_widgets[WIDX_SELECTED_GROUP];
|
widget = &window_multiplayer_groups_widgets[WIDX_SELECTED_GROUP];
|
||||||
|
@ -883,32 +881,32 @@ static void WindowMultiplayerGroupsPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
auto ft = Formatter();
|
auto ft = Formatter();
|
||||||
ft.Add<const char*>(_buffer.c_str());
|
ft.Add<const char*>(_buffer.c_str());
|
||||||
DrawTextEllipsised(
|
DrawTextEllipsised(
|
||||||
*dpi, w->windowPos + ScreenCoordsXY{ widget->midX() - 5, widget->top }, widget->width() - 8, STR_STRING, ft,
|
dpi, w->windowPos + ScreenCoordsXY{ widget->midX() - 5, widget->top }, widget->width() - 8, STR_STRING, ft,
|
||||||
{ TextAlignment::CENTRE });
|
{ TextAlignment::CENTRE });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void WindowMultiplayerGroupsScrollpaint(WindowBase* w, DrawPixelInfo* dpi, int32_t scrollIndex)
|
static void WindowMultiplayerGroupsScrollpaint(WindowBase* w, DrawPixelInfo& dpi, int32_t scrollIndex)
|
||||||
{
|
{
|
||||||
auto screenCoords = ScreenCoordsXY{ 0, 0 };
|
auto screenCoords = ScreenCoordsXY{ 0, 0 };
|
||||||
|
|
||||||
auto dpiCoords = ScreenCoordsXY{ dpi->x, dpi->y };
|
auto dpiCoords = ScreenCoordsXY{ dpi.x, dpi.y };
|
||||||
GfxFillRect(
|
GfxFillRect(
|
||||||
dpi, { dpiCoords, dpiCoords + ScreenCoordsXY{ dpi->width - 1, dpi->height - 1 } }, ColourMapA[w->colours[1]].mid_light);
|
&dpi, { dpiCoords, dpiCoords + ScreenCoordsXY{ dpi.width - 1, dpi.height - 1 } }, ColourMapA[w->colours[1]].mid_light);
|
||||||
|
|
||||||
for (int32_t i = 0; i < NetworkGetNumActions(); i++)
|
for (int32_t i = 0; i < NetworkGetNumActions(); i++)
|
||||||
{
|
{
|
||||||
if (i == w->selected_list_item)
|
if (i == w->selected_list_item)
|
||||||
{
|
{
|
||||||
GfxFilterRect(
|
GfxFilterRect(
|
||||||
dpi, { 0, screenCoords.y, 800, screenCoords.y + SCROLLABLE_ROW_HEIGHT - 1 }, FilterPaletteID::PaletteDarken1);
|
&dpi, { 0, screenCoords.y, 800, screenCoords.y + SCROLLABLE_ROW_HEIGHT - 1 }, FilterPaletteID::PaletteDarken1);
|
||||||
}
|
}
|
||||||
if (screenCoords.y > dpi->y + dpi->height)
|
if (screenCoords.y > dpi.y + dpi.height)
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (screenCoords.y + SCROLLABLE_ROW_HEIGHT + 1 >= dpi->y)
|
if (screenCoords.y + SCROLLABLE_ROW_HEIGHT + 1 >= dpi.y)
|
||||||
{
|
{
|
||||||
int32_t groupindex = NetworkGetGroupIndex(_selectedGroup);
|
int32_t groupindex = NetworkGetGroupIndex(_selectedGroup);
|
||||||
if (groupindex != -1)
|
if (groupindex != -1)
|
||||||
|
@ -916,14 +914,14 @@ static void WindowMultiplayerGroupsScrollpaint(WindowBase* w, DrawPixelInfo* dpi
|
||||||
if (NetworkCanPerformAction(groupindex, static_cast<NetworkPermission>(i)))
|
if (NetworkCanPerformAction(groupindex, static_cast<NetworkPermission>(i)))
|
||||||
{
|
{
|
||||||
screenCoords.x = 0;
|
screenCoords.x = 0;
|
||||||
GfxDrawString(*dpi, screenCoords, u8"{WINDOW_COLOUR_2}✓", {});
|
GfxDrawString(dpi, screenCoords, u8"{WINDOW_COLOUR_2}✓", {});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Draw action name
|
// Draw action name
|
||||||
auto ft = Formatter();
|
auto ft = Formatter();
|
||||||
ft.Add<uint16_t>(NetworkGetActionNameStringID(i));
|
ft.Add<uint16_t>(NetworkGetActionNameStringID(i));
|
||||||
DrawTextBasic(*dpi, { 10, screenCoords.y }, STR_WINDOW_COLOUR_2_STRINGID, ft);
|
DrawTextBasic(dpi, { 10, screenCoords.y }, STR_WINDOW_COLOUR_2_STRINGID, ft);
|
||||||
}
|
}
|
||||||
screenCoords.y += SCROLLABLE_ROW_HEIGHT;
|
screenCoords.y += SCROLLABLE_ROW_HEIGHT;
|
||||||
}
|
}
|
||||||
|
@ -991,7 +989,7 @@ static void WindowMultiplayerOptionsInvalidate(WindowBase* w)
|
||||||
WidgetSetCheckboxValue(*w, WIDX_KNOWN_KEYS_ONLY_CHECKBOX, gConfigNetwork.KnownKeysOnly);
|
WidgetSetCheckboxValue(*w, WIDX_KNOWN_KEYS_ONLY_CHECKBOX, gConfigNetwork.KnownKeysOnly);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void WindowMultiplayerOptionsPaint(WindowBase* w, DrawPixelInfo* dpi)
|
static void WindowMultiplayerOptionsPaint(WindowBase* w, DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
WindowDrawWidgets(*w, dpi);
|
WindowDrawWidgets(*w, dpi);
|
||||||
WindowMultiplayerDrawTabImages(w, dpi);
|
WindowMultiplayerDrawTabImages(w, dpi);
|
||||||
|
@ -999,7 +997,7 @@ static void WindowMultiplayerOptionsPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
|
|
||||||
#pragma endregion
|
#pragma endregion
|
||||||
|
|
||||||
static void WindowMultiplayerDrawTabImage(WindowBase* w, DrawPixelInfo* dpi, int32_t page, int32_t spriteIndex)
|
static void WindowMultiplayerDrawTabImage(WindowBase* w, DrawPixelInfo& dpi, int32_t page, int32_t spriteIndex)
|
||||||
{
|
{
|
||||||
WidgetIndex widgetIndex = WIDX_TAB1 + page;
|
WidgetIndex widgetIndex = WIDX_TAB1 + page;
|
||||||
|
|
||||||
|
@ -1016,12 +1014,12 @@ static void WindowMultiplayerDrawTabImage(WindowBase* w, DrawPixelInfo* dpi, int
|
||||||
}
|
}
|
||||||
|
|
||||||
GfxDrawSprite(
|
GfxDrawSprite(
|
||||||
*dpi, ImageId(spriteIndex),
|
dpi, ImageId(spriteIndex),
|
||||||
w->windowPos + ScreenCoordsXY{ w->widgets[widgetIndex].left, w->widgets[widgetIndex].top });
|
w->windowPos + ScreenCoordsXY{ w->widgets[widgetIndex].left, w->widgets[widgetIndex].top });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void WindowMultiplayerDrawTabImages(WindowBase* w, DrawPixelInfo* dpi)
|
static void WindowMultiplayerDrawTabImages(WindowBase* w, DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
WindowMultiplayerDrawTabImage(w, dpi, WINDOW_MULTIPLAYER_PAGE_INFORMATION, SPR_TAB_KIOSKS_AND_FACILITIES_0);
|
WindowMultiplayerDrawTabImage(w, dpi, WINDOW_MULTIPLAYER_PAGE_INFORMATION, SPR_TAB_KIOSKS_AND_FACILITIES_0);
|
||||||
WindowMultiplayerDrawTabImage(w, dpi, WINDOW_MULTIPLAYER_PAGE_PLAYERS, SPR_TAB_GUESTS_0);
|
WindowMultiplayerDrawTabImage(w, dpi, WINDOW_MULTIPLAYER_PAGE_PLAYERS, SPR_TAB_GUESTS_0);
|
||||||
|
|
|
@ -99,7 +99,7 @@ public:
|
||||||
|
|
||||||
void OnDraw(DrawPixelInfo& dpi) override
|
void OnDraw(DrawPixelInfo& dpi) override
|
||||||
{
|
{
|
||||||
WindowDrawWidgets(*this, &dpi);
|
WindowDrawWidgets(*this, dpi);
|
||||||
thread_local std::string _buffer;
|
thread_local std::string _buffer;
|
||||||
_buffer.assign("{BLACK}");
|
_buffer.assign("{BLACK}");
|
||||||
_buffer += _windowNetworkStatusText;
|
_buffer += _windowNetworkStatusText;
|
||||||
|
|
|
@ -427,7 +427,7 @@ public:
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
WindowResearchDevelopmentPagePaint(this, &dpi, WIDX_CURRENTLY_IN_DEVELOPMENT_GROUP);
|
WindowResearchDevelopmentPagePaint(this, dpi, WIDX_CURRENTLY_IN_DEVELOPMENT_GROUP);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -204,7 +204,7 @@ public:
|
||||||
void OnDraw(DrawPixelInfo& dpi) override
|
void OnDraw(DrawPixelInfo& dpi) override
|
||||||
{
|
{
|
||||||
DrawWidgets(dpi);
|
DrawWidgets(dpi);
|
||||||
DrawTabImages(&dpi);
|
DrawTabImages(dpi);
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -218,14 +218,14 @@ private:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void DrawTabImages(DrawPixelInfo* dpi)
|
void DrawTabImages(DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
DrawTabImage(dpi, NOTIFICATION_CATEGORY_PARK, SPR_TAB_PARK);
|
DrawTabImage(dpi, NOTIFICATION_CATEGORY_PARK, SPR_TAB_PARK);
|
||||||
DrawTabImage(dpi, NOTIFICATION_CATEGORY_RIDE, SPR_TAB_RIDE_0);
|
DrawTabImage(dpi, NOTIFICATION_CATEGORY_RIDE, SPR_TAB_RIDE_0);
|
||||||
DrawTabImage(dpi, NOTIFICATION_CATEGORY_GUEST, SPR_TAB_GUESTS_0);
|
DrawTabImage(dpi, NOTIFICATION_CATEGORY_GUEST, SPR_TAB_GUESTS_0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DrawTabImage(DrawPixelInfo* dpi, int32_t p, int32_t spriteIndex)
|
void DrawTabImage(DrawPixelInfo& dpi, int32_t p, int32_t spriteIndex)
|
||||||
{
|
{
|
||||||
WidgetIndex widgetIndex = WIDX_FIRST_TAB + p;
|
WidgetIndex widgetIndex = WIDX_FIRST_TAB + p;
|
||||||
|
|
||||||
|
@ -242,7 +242,7 @@ private:
|
||||||
}
|
}
|
||||||
|
|
||||||
const auto& widget = widgets[widgetIndex];
|
const auto& widget = widgets[widgetIndex];
|
||||||
GfxDrawSprite(*dpi, ImageId(spriteIndex), windowPos + ScreenCoordsXY{ widget.left, widget.top });
|
GfxDrawSprite(dpi, ImageId(spriteIndex), windowPos + ScreenCoordsXY{ widget.left, widget.top });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -487,7 +487,7 @@ public:
|
||||||
|
|
||||||
void OnDraw(DrawPixelInfo& dpi) override
|
void OnDraw(DrawPixelInfo& dpi) override
|
||||||
{
|
{
|
||||||
WindowDrawWidgets(*this, &dpi);
|
WindowDrawWidgets(*this, dpi);
|
||||||
|
|
||||||
// Draw explanatory message
|
// Draw explanatory message
|
||||||
auto ft = Formatter();
|
auto ft = Formatter();
|
||||||
|
|
|
@ -555,15 +555,15 @@ public:
|
||||||
void OnDraw(DrawPixelInfo& dpi) override
|
void OnDraw(DrawPixelInfo& dpi) override
|
||||||
{
|
{
|
||||||
DrawWidgets(dpi);
|
DrawWidgets(dpi);
|
||||||
DrawTabImages(&dpi);
|
DrawTabImages(dpi);
|
||||||
|
|
||||||
switch (page)
|
switch (page)
|
||||||
{
|
{
|
||||||
case WINDOW_OPTIONS_PAGE_DISPLAY:
|
case WINDOW_OPTIONS_PAGE_DISPLAY:
|
||||||
DisplayDraw(&dpi);
|
DisplayDraw(dpi);
|
||||||
break;
|
break;
|
||||||
case WINDOW_OPTIONS_PAGE_ADVANCED:
|
case WINDOW_OPTIONS_PAGE_ADVANCED:
|
||||||
AdvancedDraw(&dpi);
|
AdvancedDraw(dpi);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
@ -909,12 +909,12 @@ private:
|
||||||
widgets[WIDX_DRAWING_ENGINE].text = DrawingEngineStringIds[EnumValue(gConfigGeneral.DrawingEngine)];
|
widgets[WIDX_DRAWING_ENGINE].text = DrawingEngineStringIds[EnumValue(gConfigGeneral.DrawingEngine)];
|
||||||
}
|
}
|
||||||
|
|
||||||
void DisplayDraw(DrawPixelInfo* dpi)
|
void DisplayDraw(DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
auto ft = Formatter();
|
auto ft = Formatter();
|
||||||
ft.Add<int32_t>(static_cast<int32_t>(gConfigGeneral.WindowScale * 100));
|
ft.Add<int32_t>(static_cast<int32_t>(gConfigGeneral.WindowScale * 100));
|
||||||
DrawTextBasic(
|
DrawTextBasic(
|
||||||
*dpi, windowPos + ScreenCoordsXY{ widgets[WIDX_SCALE].left + 1, widgets[WIDX_SCALE].top + 1 },
|
dpi, windowPos + ScreenCoordsXY{ widgets[WIDX_SCALE].left + 1, widgets[WIDX_SCALE].top + 1 },
|
||||||
STR_WINDOW_COLOUR_2_COMMA2DP32, ft, { colours[1] });
|
STR_WINDOW_COLOUR_2_COMMA2DP32, ft, { colours[1] });
|
||||||
}
|
}
|
||||||
#pragma endregion
|
#pragma endregion
|
||||||
|
@ -1997,12 +1997,12 @@ private:
|
||||||
widgets[WIDX_AUTOSAVE_FREQUENCY].text = AutosaveNames[gConfigGeneral.AutosaveFrequency];
|
widgets[WIDX_AUTOSAVE_FREQUENCY].text = AutosaveNames[gConfigGeneral.AutosaveFrequency];
|
||||||
}
|
}
|
||||||
|
|
||||||
void AdvancedDraw(DrawPixelInfo* dpi)
|
void AdvancedDraw(DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
auto ft = Formatter();
|
auto ft = Formatter();
|
||||||
ft.Add<int32_t>(static_cast<int32_t>(gConfigGeneral.AutosaveAmount));
|
ft.Add<int32_t>(static_cast<int32_t>(gConfigGeneral.AutosaveAmount));
|
||||||
DrawTextBasic(
|
DrawTextBasic(
|
||||||
*dpi, windowPos + ScreenCoordsXY{ widgets[WIDX_AUTOSAVE_AMOUNT].left + 1, widgets[WIDX_AUTOSAVE_AMOUNT].top + 1 },
|
dpi, windowPos + ScreenCoordsXY{ widgets[WIDX_AUTOSAVE_AMOUNT].left + 1, widgets[WIDX_AUTOSAVE_AMOUNT].top + 1 },
|
||||||
STR_WINDOW_COLOUR_2_COMMA16, ft, { colours[1] });
|
STR_WINDOW_COLOUR_2_COMMA16, ft, { colours[1] });
|
||||||
|
|
||||||
const auto normalisedPath = Platform::StrDecompToPrecomp(gConfigGeneral.RCT1Path);
|
const auto normalisedPath = Platform::StrDecompToPrecomp(gConfigGeneral.RCT1Path);
|
||||||
|
@ -2017,7 +2017,7 @@ private:
|
||||||
uint32_t padding = widgetHeight > lineHeight ? (widgetHeight - lineHeight) / 2 : 0;
|
uint32_t padding = widgetHeight > lineHeight ? (widgetHeight - lineHeight) / 2 : 0;
|
||||||
ScreenCoordsXY screenCoords = { windowPos.x + pathWidget.left + 1,
|
ScreenCoordsXY screenCoords = { windowPos.x + pathWidget.left + 1,
|
||||||
windowPos.y + pathWidget.top + static_cast<int32_t>(padding) };
|
windowPos.y + pathWidget.top + static_cast<int32_t>(padding) };
|
||||||
DrawTextEllipsised(*dpi, screenCoords, 277, STR_STRING, ft, { colours[1] });
|
DrawTextEllipsised(dpi, screenCoords, 277, STR_STRING, ft, { colours[1] });
|
||||||
}
|
}
|
||||||
|
|
||||||
OpenRCT2String AdvancedTooltip(WidgetIndex widgetIndex, StringId fallback)
|
OpenRCT2String AdvancedTooltip(WidgetIndex widgetIndex, StringId fallback)
|
||||||
|
@ -2068,7 +2068,7 @@ private:
|
||||||
Dropdown::Flag::StayOpen, num_items, widget->width() - 3);
|
Dropdown::Flag::StayOpen, num_items, widget->width() - 3);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DrawTabImages(DrawPixelInfo* dpi)
|
void DrawTabImages(DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
DrawTabImage(dpi, WINDOW_OPTIONS_PAGE_DISPLAY, SPR_TAB_PAINT_0);
|
DrawTabImage(dpi, WINDOW_OPTIONS_PAGE_DISPLAY, SPR_TAB_PAINT_0);
|
||||||
DrawTabImage(dpi, WINDOW_OPTIONS_PAGE_RENDERING, SPR_G2_TAB_TREE);
|
DrawTabImage(dpi, WINDOW_OPTIONS_PAGE_RENDERING, SPR_G2_TAB_TREE);
|
||||||
|
@ -2079,7 +2079,7 @@ private:
|
||||||
DrawTabImage(dpi, WINDOW_OPTIONS_PAGE_ADVANCED, SPR_TAB_WRENCH_0);
|
DrawTabImage(dpi, WINDOW_OPTIONS_PAGE_ADVANCED, SPR_TAB_WRENCH_0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DrawTabImage(DrawPixelInfo* dpi, int32_t p, int32_t spriteIndex)
|
void DrawTabImage(DrawPixelInfo& dpi, int32_t p, int32_t spriteIndex)
|
||||||
{
|
{
|
||||||
WidgetIndex widgetIndex = WIDX_FIRST_TAB + p;
|
WidgetIndex widgetIndex = WIDX_FIRST_TAB + p;
|
||||||
Widget* widget = &widgets[widgetIndex];
|
Widget* widget = &widgets[widgetIndex];
|
||||||
|
@ -2095,7 +2095,7 @@ private:
|
||||||
}
|
}
|
||||||
|
|
||||||
// Draw normal, enabled sprite.
|
// Draw normal, enabled sprite.
|
||||||
GfxDrawSprite(*dpi, ImageId(spriteIndex), screenCoords);
|
GfxDrawSprite(dpi, ImageId(spriteIndex), screenCoords);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -2104,10 +2104,10 @@ private:
|
||||||
|
|
||||||
// Draw greyed out (light border bottom right shadow)
|
// Draw greyed out (light border bottom right shadow)
|
||||||
GfxDrawSpriteSolid(
|
GfxDrawSpriteSolid(
|
||||||
dpi, ImageId(spriteIndex), screenCoords + ScreenCoordsXY{ 1, 1 }, ColourMapA[window_colour].lighter);
|
&dpi, ImageId(spriteIndex), screenCoords + ScreenCoordsXY{ 1, 1 }, ColourMapA[window_colour].lighter);
|
||||||
|
|
||||||
// Draw greyed out (dark)
|
// Draw greyed out (dark)
|
||||||
GfxDrawSpriteSolid(dpi, ImageId(spriteIndex), screenCoords, ColourMapA[window_colour].mid_light);
|
GfxDrawSpriteSolid(&dpi, ImageId(spriteIndex), screenCoords, ColourMapA[window_colour].mid_light);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -593,7 +593,7 @@ private:
|
||||||
// Draw viewport
|
// Draw viewport
|
||||||
if (viewport != nullptr)
|
if (viewport != nullptr)
|
||||||
{
|
{
|
||||||
WindowDrawViewport(&dpi, *this);
|
WindowDrawViewport(dpi, *this);
|
||||||
if (viewport->flags & VIEWPORT_FLAG_SOUND_ON)
|
if (viewport->flags & VIEWPORT_FLAG_SOUND_ON)
|
||||||
GfxDrawSprite(dpi, ImageId(SPR_HEARING_VIEWPORT), windowPos + ScreenCoordsXY{ 2, 2 });
|
GfxDrawSprite(dpi, ImageId(SPR_HEARING_VIEWPORT), windowPos + ScreenCoordsXY{ 2, 2 });
|
||||||
}
|
}
|
||||||
|
|
|
@ -165,11 +165,11 @@ public:
|
||||||
switch (page)
|
switch (page)
|
||||||
{
|
{
|
||||||
case WINDOW_PLAYER_PAGE_OVERVIEW:
|
case WINDOW_PLAYER_PAGE_OVERVIEW:
|
||||||
OnDrawOverview(&dpi);
|
OnDrawOverview(dpi);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WINDOW_PLAYER_PAGE_STATISTICS:
|
case WINDOW_PLAYER_PAGE_STATISTICS:
|
||||||
OnDrawStatistics(&dpi);
|
OnDrawStatistics(dpi);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -258,7 +258,7 @@ private:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void DrawTabImages(DrawPixelInfo* dpi)
|
void DrawTabImages(DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
Widget* widget;
|
Widget* widget;
|
||||||
|
|
||||||
|
@ -267,7 +267,7 @@ private:
|
||||||
{
|
{
|
||||||
widget = &this->widgets[WIDX_TAB_1];
|
widget = &this->widgets[WIDX_TAB_1];
|
||||||
auto screenCoords = windowPos + ScreenCoordsXY{ widget->left, widget->top };
|
auto screenCoords = windowPos + ScreenCoordsXY{ widget->left, widget->top };
|
||||||
GfxDrawSprite(*dpi, ImageId(SPR_PEEP_LARGE_FACE_NORMAL), screenCoords);
|
GfxDrawSprite(dpi, ImageId(SPR_PEEP_LARGE_FACE_NORMAL), screenCoords);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Tab 2
|
// Tab 2
|
||||||
|
@ -282,7 +282,7 @@ private:
|
||||||
imageId += (frame_no / 2) & 7;
|
imageId += (frame_no / 2) & 7;
|
||||||
}
|
}
|
||||||
|
|
||||||
GfxDrawSprite(*dpi, ImageId(imageId), screenCoords);
|
GfxDrawSprite(dpi, ImageId(imageId), screenCoords);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -430,9 +430,9 @@ private:
|
||||||
WidgetSetEnabled(*this, WIDX_KICK, canKick && !isOwnWindow && !isServer);
|
WidgetSetEnabled(*this, WIDX_KICK, canKick && !isOwnWindow && !isServer);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OnDrawOverview(DrawPixelInfo* dpi)
|
void OnDrawOverview(DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
DrawWidgets(*dpi);
|
DrawWidgets(dpi);
|
||||||
DrawTabImages(dpi);
|
DrawTabImages(dpi);
|
||||||
|
|
||||||
int32_t player = NetworkGetPlayerIndex(static_cast<uint8_t>(number));
|
int32_t player = NetworkGetPlayerIndex(static_cast<uint8_t>(number));
|
||||||
|
@ -454,7 +454,7 @@ private:
|
||||||
ft.Add<const char*>(_buffer.c_str());
|
ft.Add<const char*>(_buffer.c_str());
|
||||||
|
|
||||||
DrawTextEllipsised(
|
DrawTextEllipsised(
|
||||||
*dpi, windowPos + ScreenCoordsXY{ widget->midX() - 5, widget->top }, widget->width() - 8, STR_STRING, ft,
|
dpi, windowPos + ScreenCoordsXY{ widget->midX() - 5, widget->top }, widget->width() - 8, STR_STRING, ft,
|
||||||
{ TextAlignment::CENTRE });
|
{ TextAlignment::CENTRE });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -463,10 +463,10 @@ private:
|
||||||
|
|
||||||
auto ft = Formatter();
|
auto ft = Formatter();
|
||||||
ft.Add<StringId>(STR_PING);
|
ft.Add<StringId>(STR_PING);
|
||||||
DrawTextBasic(*dpi, screenCoords, STR_WINDOW_COLOUR_2_STRINGID, ft);
|
DrawTextBasic(dpi, screenCoords, STR_WINDOW_COLOUR_2_STRINGID, ft);
|
||||||
char ping[64];
|
char ping[64];
|
||||||
snprintf(ping, 64, "%d ms", NetworkGetPlayerPing(player));
|
snprintf(ping, 64, "%d ms", NetworkGetPlayerPing(player));
|
||||||
GfxDrawString(*dpi, screenCoords + ScreenCoordsXY(30, 0), ping, { colours[2] });
|
GfxDrawString(dpi, screenCoords + ScreenCoordsXY(30, 0), ping, { colours[2] });
|
||||||
|
|
||||||
// Draw last action
|
// Draw last action
|
||||||
screenCoords = windowPos + ScreenCoordsXY{ width / 2, height - 13 };
|
screenCoords = windowPos + ScreenCoordsXY{ width / 2, height - 13 };
|
||||||
|
@ -481,7 +481,7 @@ private:
|
||||||
{
|
{
|
||||||
ft.Add<StringId>(STR_ACTION_NA);
|
ft.Add<StringId>(STR_ACTION_NA);
|
||||||
}
|
}
|
||||||
DrawTextEllipsised(*dpi, screenCoords, updatedWidth, STR_LAST_ACTION_RAN, ft, { TextAlignment::CENTRE });
|
DrawTextEllipsised(dpi, screenCoords, updatedWidth, STR_LAST_ACTION_RAN, ft, { TextAlignment::CENTRE });
|
||||||
|
|
||||||
if (viewport != nullptr && var_492 != -1)
|
if (viewport != nullptr && var_492 != -1)
|
||||||
{
|
{
|
||||||
|
@ -629,9 +629,9 @@ private:
|
||||||
WindowAlignTabs(this, WIDX_TAB_1, WIDX_TAB_2);
|
WindowAlignTabs(this, WIDX_TAB_1, WIDX_TAB_2);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OnDrawStatistics(DrawPixelInfo* dpi)
|
void OnDrawStatistics(DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
DrawWidgets(*dpi);
|
DrawWidgets(dpi);
|
||||||
DrawTabImages(dpi);
|
DrawTabImages(dpi);
|
||||||
|
|
||||||
int32_t player = NetworkGetPlayerIndex(static_cast<uint8_t>(number));
|
int32_t player = NetworkGetPlayerIndex(static_cast<uint8_t>(number));
|
||||||
|
@ -646,13 +646,13 @@ private:
|
||||||
|
|
||||||
auto ft = Formatter();
|
auto ft = Formatter();
|
||||||
ft.Add<uint32_t>(NetworkGetPlayerCommandsRan(player));
|
ft.Add<uint32_t>(NetworkGetPlayerCommandsRan(player));
|
||||||
DrawTextBasic(*dpi, screenCoords, STR_COMMANDS_RAN, ft);
|
DrawTextBasic(dpi, screenCoords, STR_COMMANDS_RAN, ft);
|
||||||
|
|
||||||
screenCoords.y += LIST_ROW_HEIGHT;
|
screenCoords.y += LIST_ROW_HEIGHT;
|
||||||
|
|
||||||
ft = Formatter();
|
ft = Formatter();
|
||||||
ft.Add<uint32_t>(NetworkGetPlayerMoneySpent(player));
|
ft.Add<uint32_t>(NetworkGetPlayerMoneySpent(player));
|
||||||
DrawTextBasic(*dpi, screenCoords, STR_MONEY_SPENT, ft);
|
DrawTextBasic(dpi, screenCoords, STR_MONEY_SPENT, ft);
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma endregion
|
#pragma endregion
|
||||||
|
|
|
@ -75,7 +75,7 @@ public:
|
||||||
|
|
||||||
void OnDraw(DrawPixelInfo& dpi) override
|
void OnDraw(DrawPixelInfo& dpi) override
|
||||||
{
|
{
|
||||||
WindowDrawWidgets(*this, &dpi);
|
WindowDrawWidgets(*this, dpi);
|
||||||
|
|
||||||
auto currentRide = GetRide(rideId);
|
auto currentRide = GetRide(rideId);
|
||||||
if (currentRide != nullptr)
|
if (currentRide != nullptr)
|
||||||
|
|
|
@ -104,14 +104,14 @@ static Widget *window_research_page_widgets[] = {
|
||||||
static void WindowResearchDevelopmentMouseup(WindowBase *w, WidgetIndex widgetIndex);
|
static void WindowResearchDevelopmentMouseup(WindowBase *w, WidgetIndex widgetIndex);
|
||||||
static void WindowResearchDevelopmentUpdate(WindowBase *w);
|
static void WindowResearchDevelopmentUpdate(WindowBase *w);
|
||||||
static void WindowResearchDevelopmentInvalidate(WindowBase *w);
|
static void WindowResearchDevelopmentInvalidate(WindowBase *w);
|
||||||
static void WindowResearchDevelopmentPaint(WindowBase *w, DrawPixelInfo *dpi);
|
static void WindowResearchDevelopmentPaint(WindowBase *w, DrawPixelInfo& dpi);
|
||||||
|
|
||||||
static void WindowResearchFundingMouseup(WindowBase *w, WidgetIndex widgetIndex);
|
static void WindowResearchFundingMouseup(WindowBase *w, WidgetIndex widgetIndex);
|
||||||
static void WindowResearchFundingMousedown(WindowBase *w, WidgetIndex widgetIndex, Widget* widget);
|
static void WindowResearchFundingMousedown(WindowBase *w, WidgetIndex widgetIndex, Widget* widget);
|
||||||
static void WindowResearchFundingDropdown(WindowBase *w, WidgetIndex widgetIndex, int32_t dropdownIndex);
|
static void WindowResearchFundingDropdown(WindowBase *w, WidgetIndex widgetIndex, int32_t dropdownIndex);
|
||||||
static void WindowResearchFundingUpdate(WindowBase *w);
|
static void WindowResearchFundingUpdate(WindowBase *w);
|
||||||
static void WindowResearchFundingInvalidate(WindowBase *w);
|
static void WindowResearchFundingInvalidate(WindowBase *w);
|
||||||
static void WindowResearchFundingPaint(WindowBase *w, DrawPixelInfo *dpi);
|
static void WindowResearchFundingPaint(WindowBase *w, DrawPixelInfo& dpi);
|
||||||
|
|
||||||
//
|
//
|
||||||
static WindowEventList window_research_development_events([](auto& events)
|
static WindowEventList window_research_development_events([](auto& events)
|
||||||
|
@ -156,7 +156,7 @@ static constexpr const StringId ResearchStageNames[] = {
|
||||||
|
|
||||||
static void WindowResearchSetPage(WindowBase* w, int32_t page);
|
static void WindowResearchSetPage(WindowBase* w, int32_t page);
|
||||||
static void WindowResearchSetPressedTab(WindowBase* w);
|
static void WindowResearchSetPressedTab(WindowBase* w);
|
||||||
static void WindowResearchDrawTabImages(DrawPixelInfo* dpi, WindowBase* w);
|
static void WindowResearchDrawTabImages(DrawPixelInfo& dpi, WindowBase* w);
|
||||||
|
|
||||||
WindowBase* WindowResearchOpen()
|
WindowBase* WindowResearchOpen()
|
||||||
{
|
{
|
||||||
|
@ -253,7 +253,7 @@ static void WindowResearchDevelopmentInvalidate(WindowBase* w)
|
||||||
*
|
*
|
||||||
* rct2: 0x006B689B
|
* rct2: 0x006B689B
|
||||||
*/
|
*/
|
||||||
static void WindowResearchDevelopmentPaint(WindowBase* w, DrawPixelInfo* dpi)
|
static void WindowResearchDevelopmentPaint(WindowBase* w, DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
WindowDrawWidgets(*w, dpi);
|
WindowDrawWidgets(*w, dpi);
|
||||||
WindowResearchDrawTabImages(dpi, w);
|
WindowResearchDrawTabImages(dpi, w);
|
||||||
|
@ -261,7 +261,7 @@ static void WindowResearchDevelopmentPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
WindowResearchDevelopmentPagePaint(w, dpi, WIDX_CURRENTLY_IN_DEVELOPMENT_GROUP);
|
WindowResearchDevelopmentPagePaint(w, dpi, WIDX_CURRENTLY_IN_DEVELOPMENT_GROUP);
|
||||||
}
|
}
|
||||||
|
|
||||||
void WindowResearchDevelopmentPagePaint(WindowBase* w, DrawPixelInfo* dpi, WidgetIndex baseWidgetIndex)
|
void WindowResearchDevelopmentPagePaint(WindowBase* w, DrawPixelInfo& dpi, WidgetIndex baseWidgetIndex)
|
||||||
{
|
{
|
||||||
baseWidgetIndex = baseWidgetIndex - WIDX_CURRENTLY_IN_DEVELOPMENT_GROUP;
|
baseWidgetIndex = baseWidgetIndex - WIDX_CURRENTLY_IN_DEVELOPMENT_GROUP;
|
||||||
|
|
||||||
|
@ -273,19 +273,19 @@ void WindowResearchDevelopmentPagePaint(WindowBase* w, DrawPixelInfo* dpi, Widge
|
||||||
// Research type
|
// Research type
|
||||||
auto ft = Formatter();
|
auto ft = Formatter();
|
||||||
ft.Add<StringId>(STR_RESEARCH_UNKNOWN);
|
ft.Add<StringId>(STR_RESEARCH_UNKNOWN);
|
||||||
DrawTextWrapped(*dpi, screenCoords, 296, STR_RESEARCH_TYPE_LABEL, ft);
|
DrawTextWrapped(dpi, screenCoords, 296, STR_RESEARCH_TYPE_LABEL, ft);
|
||||||
screenCoords.y += 25;
|
screenCoords.y += 25;
|
||||||
|
|
||||||
// Progress
|
// Progress
|
||||||
ft = Formatter();
|
ft = Formatter();
|
||||||
ft.Add<StringId>(STR_RESEARCH_COMPLETED_AL);
|
ft.Add<StringId>(STR_RESEARCH_COMPLETED_AL);
|
||||||
DrawTextWrapped(*dpi, screenCoords, 296, STR_RESEARCH_PROGRESS_LABEL, ft);
|
DrawTextWrapped(dpi, screenCoords, 296, STR_RESEARCH_PROGRESS_LABEL, ft);
|
||||||
screenCoords.y += 15;
|
screenCoords.y += 15;
|
||||||
|
|
||||||
// Expected
|
// Expected
|
||||||
ft = Formatter();
|
ft = Formatter();
|
||||||
ft.Add<StringId>(STR_RESEARCH_STAGE_UNKNOWN);
|
ft.Add<StringId>(STR_RESEARCH_STAGE_UNKNOWN);
|
||||||
DrawTextBasic(*dpi, screenCoords, STR_RESEARCH_EXPECTED_LABEL, ft);
|
DrawTextBasic(dpi, screenCoords, STR_RESEARCH_EXPECTED_LABEL, ft);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -322,13 +322,13 @@ void WindowResearchDevelopmentPagePaint(WindowBase* w, DrawPixelInfo* dpi, Widge
|
||||||
{
|
{
|
||||||
ft.Add<StringId>(gResearchNextItem->GetName());
|
ft.Add<StringId>(gResearchNextItem->GetName());
|
||||||
}
|
}
|
||||||
DrawTextWrapped(*dpi, screenCoords, 296, label, ft);
|
DrawTextWrapped(dpi, screenCoords, 296, label, ft);
|
||||||
screenCoords.y += 25;
|
screenCoords.y += 25;
|
||||||
|
|
||||||
// Progress
|
// Progress
|
||||||
ft = Formatter();
|
ft = Formatter();
|
||||||
ft.Add<StringId>(ResearchStageNames[gResearchProgressStage]);
|
ft.Add<StringId>(ResearchStageNames[gResearchProgressStage]);
|
||||||
DrawTextWrapped(*dpi, screenCoords, 296, STR_RESEARCH_PROGRESS_LABEL, ft);
|
DrawTextWrapped(dpi, screenCoords, 296, STR_RESEARCH_PROGRESS_LABEL, ft);
|
||||||
screenCoords.y += 15;
|
screenCoords.y += 15;
|
||||||
|
|
||||||
// Expected
|
// Expected
|
||||||
|
@ -344,7 +344,7 @@ void WindowResearchDevelopmentPagePaint(WindowBase* w, DrawPixelInfo* dpi, Widge
|
||||||
{
|
{
|
||||||
ft.Add<StringId>(STR_RESEARCH_STAGE_UNKNOWN);
|
ft.Add<StringId>(STR_RESEARCH_STAGE_UNKNOWN);
|
||||||
}
|
}
|
||||||
DrawTextBasic(*dpi, screenCoords, STR_RESEARCH_EXPECTED_LABEL, ft);
|
DrawTextBasic(dpi, screenCoords, STR_RESEARCH_EXPECTED_LABEL, ft);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Last development
|
// Last development
|
||||||
|
@ -379,7 +379,7 @@ void WindowResearchDevelopmentPagePaint(WindowBase* w, DrawPixelInfo* dpi, Widge
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
DrawTextWrapped(*dpi, screenCoords, 266, lastDevelopmentFormat, ft);
|
DrawTextWrapped(dpi, screenCoords, 266, lastDevelopmentFormat, ft);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -528,7 +528,7 @@ static void WindowResearchFundingInvalidate(WindowBase* w)
|
||||||
*
|
*
|
||||||
* rct2: 0x0069DAF0
|
* rct2: 0x0069DAF0
|
||||||
*/
|
*/
|
||||||
static void WindowResearchFundingPaint(WindowBase* w, DrawPixelInfo* dpi)
|
static void WindowResearchFundingPaint(WindowBase* w, DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
WindowDrawWidgets(*w, dpi);
|
WindowDrawWidgets(*w, dpi);
|
||||||
WindowResearchDrawTabImages(dpi, w);
|
WindowResearchDrawTabImages(dpi, w);
|
||||||
|
@ -536,7 +536,7 @@ static void WindowResearchFundingPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
WindowResearchFundingPagePaint(w, dpi, WIDX_RESEARCH_FUNDING);
|
WindowResearchFundingPagePaint(w, dpi, WIDX_RESEARCH_FUNDING);
|
||||||
}
|
}
|
||||||
|
|
||||||
void WindowResearchFundingPagePaint(WindowBase* w, DrawPixelInfo* dpi, WidgetIndex baseWidgetIndex)
|
void WindowResearchFundingPagePaint(WindowBase* w, DrawPixelInfo& dpi, WidgetIndex baseWidgetIndex)
|
||||||
{
|
{
|
||||||
if (gParkFlags & PARK_FLAGS_NO_MONEY)
|
if (gParkFlags & PARK_FLAGS_NO_MONEY)
|
||||||
return;
|
return;
|
||||||
|
@ -544,7 +544,7 @@ void WindowResearchFundingPagePaint(WindowBase* w, DrawPixelInfo* dpi, WidgetInd
|
||||||
int32_t currentResearchLevel = gResearchFundingLevel;
|
int32_t currentResearchLevel = gResearchFundingLevel;
|
||||||
auto ft = Formatter();
|
auto ft = Formatter();
|
||||||
ft.Add<money64>(research_cost_table[currentResearchLevel]);
|
ft.Add<money64>(research_cost_table[currentResearchLevel]);
|
||||||
DrawTextBasic(*dpi, w->windowPos + ScreenCoordsXY{ 10, 77 }, STR_RESEARCH_COST_PER_MONTH, ft);
|
DrawTextBasic(dpi, w->windowPos + ScreenCoordsXY{ 10, 77 }, STR_RESEARCH_COST_PER_MONTH, ft);
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma endregion
|
#pragma endregion
|
||||||
|
@ -593,7 +593,7 @@ static void WindowResearchSetPressedTab(WindowBase* w)
|
||||||
w->pressed_widgets |= 1LL << (WIDX_TAB_1 + w->page);
|
w->pressed_widgets |= 1LL << (WIDX_TAB_1 + w->page);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void WindowResearchDrawTabImage(DrawPixelInfo* dpi, WindowBase* w, int32_t page, int32_t spriteIndex)
|
static void WindowResearchDrawTabImage(DrawPixelInfo& dpi, WindowBase* w, int32_t page, int32_t spriteIndex)
|
||||||
{
|
{
|
||||||
WidgetIndex widgetIndex = WIDX_TAB_1 + page;
|
WidgetIndex widgetIndex = WIDX_TAB_1 + page;
|
||||||
|
|
||||||
|
@ -608,12 +608,12 @@ static void WindowResearchDrawTabImage(DrawPixelInfo* dpi, WindowBase* w, int32_
|
||||||
}
|
}
|
||||||
|
|
||||||
GfxDrawSprite(
|
GfxDrawSprite(
|
||||||
*dpi, ImageId(spriteIndex),
|
dpi, ImageId(spriteIndex),
|
||||||
w->windowPos + ScreenCoordsXY{ w->widgets[widgetIndex].left, w->widgets[widgetIndex].top });
|
w->windowPos + ScreenCoordsXY{ w->widgets[widgetIndex].left, w->widgets[widgetIndex].top });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void WindowResearchDrawTabImages(DrawPixelInfo* dpi, WindowBase* w)
|
static void WindowResearchDrawTabImages(DrawPixelInfo& dpi, WindowBase* w)
|
||||||
{
|
{
|
||||||
WindowResearchDrawTabImage(dpi, w, WINDOW_RESEARCH_PAGE_DEVELOPMENT, SPR_TAB_FINANCES_RESEARCH_0);
|
WindowResearchDrawTabImage(dpi, w, WINDOW_RESEARCH_PAGE_DEVELOPMENT, SPR_TAB_FINANCES_RESEARCH_0);
|
||||||
WindowResearchDrawTabImage(dpi, w, WINDOW_RESEARCH_PAGE_FUNDING, SPR_TAB_FINANCES_SUMMARY_0);
|
WindowResearchDrawTabImage(dpi, w, WINDOW_RESEARCH_PAGE_FUNDING, SPR_TAB_FINANCES_SUMMARY_0);
|
||||||
|
|
|
@ -439,7 +439,7 @@ static void WindowRideMainUpdate(WindowBase* w);
|
||||||
static void WindowRideMainTextinput(WindowBase* w, WidgetIndex widgetIndex, const char* text);
|
static void WindowRideMainTextinput(WindowBase* w, WidgetIndex widgetIndex, const char* text);
|
||||||
static void WindowRideMainViewportRotate(WindowBase* w);
|
static void WindowRideMainViewportRotate(WindowBase* w);
|
||||||
static void WindowRideMainInvalidate(WindowBase* w);
|
static void WindowRideMainInvalidate(WindowBase* w);
|
||||||
static void WindowRideMainPaint(WindowBase* w, DrawPixelInfo* dpi);
|
static void WindowRideMainPaint(WindowBase* w, DrawPixelInfo& dpi);
|
||||||
static void WindowRideMainFollowRide(WindowBase* w);
|
static void WindowRideMainFollowRide(WindowBase* w);
|
||||||
|
|
||||||
static void WindowRideVehicleMouseup(WindowBase* w, WidgetIndex widgetIndex);
|
static void WindowRideVehicleMouseup(WindowBase* w, WidgetIndex widgetIndex);
|
||||||
|
@ -449,8 +449,8 @@ static void WindowRideVehicleDropdown(WindowBase* w, WidgetIndex widgetIndex, in
|
||||||
static void WindowRideVehicleUpdate(WindowBase* w);
|
static void WindowRideVehicleUpdate(WindowBase* w);
|
||||||
static OpenRCT2String WindowRideVehicleTooltip(WindowBase* const w, const WidgetIndex widgetIndex, StringId fallback);
|
static OpenRCT2String WindowRideVehicleTooltip(WindowBase* const w, const WidgetIndex widgetIndex, StringId fallback);
|
||||||
static void WindowRideVehicleInvalidate(WindowBase* w);
|
static void WindowRideVehicleInvalidate(WindowBase* w);
|
||||||
static void WindowRideVehiclePaint(WindowBase* w, DrawPixelInfo* dpi);
|
static void WindowRideVehiclePaint(WindowBase* w, DrawPixelInfo& dpi);
|
||||||
static void WindowRideVehicleScrollpaint(WindowBase* w, DrawPixelInfo* dpi, int32_t scrollIndex);
|
static void WindowRideVehicleScrollpaint(WindowBase* w, DrawPixelInfo& dpi, int32_t scrollIndex);
|
||||||
|
|
||||||
static void WindowRideOperatingMouseup(WindowBase* w, WidgetIndex widgetIndex);
|
static void WindowRideOperatingMouseup(WindowBase* w, WidgetIndex widgetIndex);
|
||||||
static void WindowRideOperatingResize(WindowBase* w);
|
static void WindowRideOperatingResize(WindowBase* w);
|
||||||
|
@ -461,7 +461,7 @@ static void WindowRideOperatingDropdown(WindowBase* w, WidgetIndex widgetIndex,
|
||||||
static void WindowRideOperatingUpdate(WindowBase* w);
|
static void WindowRideOperatingUpdate(WindowBase* w);
|
||||||
static void WindowRideOperatingTextinput(WindowBase* w, WidgetIndex widgetIndex, const char* text);
|
static void WindowRideOperatingTextinput(WindowBase* w, WidgetIndex widgetIndex, const char* text);
|
||||||
static void WindowRideOperatingInvalidate(WindowBase* w);
|
static void WindowRideOperatingInvalidate(WindowBase* w);
|
||||||
static void WindowRideOperatingPaint(WindowBase* w, DrawPixelInfo* dpi);
|
static void WindowRideOperatingPaint(WindowBase* w, DrawPixelInfo& dpi);
|
||||||
|
|
||||||
static void WindowRideMaintenanceMouseup(WindowBase* w, WidgetIndex widgetIndex);
|
static void WindowRideMaintenanceMouseup(WindowBase* w, WidgetIndex widgetIndex);
|
||||||
static void WindowRideMaintenanceResize(WindowBase* w);
|
static void WindowRideMaintenanceResize(WindowBase* w);
|
||||||
|
@ -469,7 +469,7 @@ static void WindowRideMaintenanceMousedown(WindowBase* w, WidgetIndex widgetInde
|
||||||
static void WindowRideMaintenanceDropdown(WindowBase* w, WidgetIndex widgetIndex, int32_t dropdownIndex);
|
static void WindowRideMaintenanceDropdown(WindowBase* w, WidgetIndex widgetIndex, int32_t dropdownIndex);
|
||||||
static void WindowRideMaintenanceUpdate(WindowBase* w);
|
static void WindowRideMaintenanceUpdate(WindowBase* w);
|
||||||
static void WindowRideMaintenanceInvalidate(WindowBase* w);
|
static void WindowRideMaintenanceInvalidate(WindowBase* w);
|
||||||
static void WindowRideMaintenancePaint(WindowBase* w, DrawPixelInfo* dpi);
|
static void WindowRideMaintenancePaint(WindowBase* w, DrawPixelInfo& dpi);
|
||||||
|
|
||||||
static void WindowRideColourClose(WindowBase* w);
|
static void WindowRideColourClose(WindowBase* w);
|
||||||
static void WindowRideColourMouseup(WindowBase* w, WidgetIndex widgetIndex);
|
static void WindowRideColourMouseup(WindowBase* w, WidgetIndex widgetIndex);
|
||||||
|
@ -480,8 +480,8 @@ static void WindowRideColourUpdate(WindowBase* w);
|
||||||
static void WindowRideColourTooldown(WindowBase* w, WidgetIndex widgetIndex, const ScreenCoordsXY& screenCoords);
|
static void WindowRideColourTooldown(WindowBase* w, WidgetIndex widgetIndex, const ScreenCoordsXY& screenCoords);
|
||||||
static void WindowRideColourTooldrag(WindowBase* w, WidgetIndex widgetIndex, const ScreenCoordsXY& screenCoords);
|
static void WindowRideColourTooldrag(WindowBase* w, WidgetIndex widgetIndex, const ScreenCoordsXY& screenCoords);
|
||||||
static void WindowRideColourInvalidate(WindowBase* w);
|
static void WindowRideColourInvalidate(WindowBase* w);
|
||||||
static void WindowRideColourPaint(WindowBase* w, DrawPixelInfo* dpi);
|
static void WindowRideColourPaint(WindowBase* w, DrawPixelInfo& dpi);
|
||||||
static void WindowRideColourScrollpaint(WindowBase* w, DrawPixelInfo* dpi, int32_t scrollIndex);
|
static void WindowRideColourScrollpaint(WindowBase* w, DrawPixelInfo& dpi, int32_t scrollIndex);
|
||||||
|
|
||||||
static void WindowRideMusicMouseup(WindowBase* w, WidgetIndex widgetIndex);
|
static void WindowRideMusicMouseup(WindowBase* w, WidgetIndex widgetIndex);
|
||||||
static void WindowRideMusicResize(WindowBase* w);
|
static void WindowRideMusicResize(WindowBase* w);
|
||||||
|
@ -489,7 +489,7 @@ static void WindowRideMusicMousedown(WindowBase* w, WidgetIndex widgetIndex, Wid
|
||||||
static void WindowRideMusicDropdown(WindowBase* w, WidgetIndex widgetIndex, int32_t dropdownIndex);
|
static void WindowRideMusicDropdown(WindowBase* w, WidgetIndex widgetIndex, int32_t dropdownIndex);
|
||||||
static void WindowRideMusicUpdate(WindowBase* w);
|
static void WindowRideMusicUpdate(WindowBase* w);
|
||||||
static void WindowRideMusicInvalidate(WindowBase* w);
|
static void WindowRideMusicInvalidate(WindowBase* w);
|
||||||
static void WindowRideMusicPaint(WindowBase* w, DrawPixelInfo* dpi);
|
static void WindowRideMusicPaint(WindowBase* w, DrawPixelInfo& dpi);
|
||||||
|
|
||||||
static void WindowRideMeasurementsClose(WindowBase* w);
|
static void WindowRideMeasurementsClose(WindowBase* w);
|
||||||
static void WindowRideMeasurementsMouseup(WindowBase* w, WidgetIndex widgetIndex);
|
static void WindowRideMeasurementsMouseup(WindowBase* w, WidgetIndex widgetIndex);
|
||||||
|
@ -501,7 +501,7 @@ static void WindowRideMeasurementsTooldown(WindowBase* w, WidgetIndex widgetInde
|
||||||
static void WindowRideMeasurementsTooldrag(WindowBase* w, WidgetIndex widgetIndex, const ScreenCoordsXY& screenCoords);
|
static void WindowRideMeasurementsTooldrag(WindowBase* w, WidgetIndex widgetIndex, const ScreenCoordsXY& screenCoords);
|
||||||
static void WindowRideMeasurementsToolabort(WindowBase* w, WidgetIndex widgetIndex);
|
static void WindowRideMeasurementsToolabort(WindowBase* w, WidgetIndex widgetIndex);
|
||||||
static void WindowRideMeasurementsInvalidate(WindowBase* w);
|
static void WindowRideMeasurementsInvalidate(WindowBase* w);
|
||||||
static void WindowRideMeasurementsPaint(WindowBase* w, DrawPixelInfo* dpi);
|
static void WindowRideMeasurementsPaint(WindowBase* w, DrawPixelInfo& dpi);
|
||||||
|
|
||||||
static void WindowRideGraphsMouseup(WindowBase* w, WidgetIndex widgetIndex);
|
static void WindowRideGraphsMouseup(WindowBase* w, WidgetIndex widgetIndex);
|
||||||
static void WindowRideGraphsResize(WindowBase* w);
|
static void WindowRideGraphsResize(WindowBase* w);
|
||||||
|
@ -511,8 +511,8 @@ static void WindowRideGraphsScrollgetheight(WindowBase* w, int32_t scrollIndex,
|
||||||
static void WindowRideGraphs15(WindowBase* w, int32_t scrollIndex, int32_t scrollAreaType);
|
static void WindowRideGraphs15(WindowBase* w, int32_t scrollIndex, int32_t scrollAreaType);
|
||||||
static OpenRCT2String WindowRideGraphsTooltip(WindowBase* w, const WidgetIndex widgetIndex, const StringId fallback);
|
static OpenRCT2String WindowRideGraphsTooltip(WindowBase* w, const WidgetIndex widgetIndex, const StringId fallback);
|
||||||
static void WindowRideGraphsInvalidate(WindowBase* w);
|
static void WindowRideGraphsInvalidate(WindowBase* w);
|
||||||
static void WindowRideGraphsPaint(WindowBase* w, DrawPixelInfo* dpi);
|
static void WindowRideGraphsPaint(WindowBase* w, DrawPixelInfo& dpi);
|
||||||
static void WindowRideGraphsScrollpaint(WindowBase* w, DrawPixelInfo* dpi, int32_t scrollIndex);
|
static void WindowRideGraphsScrollpaint(WindowBase* w, DrawPixelInfo& dpi, int32_t scrollIndex);
|
||||||
|
|
||||||
static void WindowRideIncomeMouseup(WindowBase* w, WidgetIndex widgetIndex);
|
static void WindowRideIncomeMouseup(WindowBase* w, WidgetIndex widgetIndex);
|
||||||
static void WindowRideIncomeResize(WindowBase* w);
|
static void WindowRideIncomeResize(WindowBase* w);
|
||||||
|
@ -520,14 +520,14 @@ static void WindowRideIncomeMousedown(WindowBase* w, WidgetIndex widgetIndex, Wi
|
||||||
static void WindowRideIncomeUpdate(WindowBase* w);
|
static void WindowRideIncomeUpdate(WindowBase* w);
|
||||||
static void WindowRideIncomeTextinput(WindowBase* w, WidgetIndex widgetIndex, const char* text);
|
static void WindowRideIncomeTextinput(WindowBase* w, WidgetIndex widgetIndex, const char* text);
|
||||||
static void WindowRideIncomeInvalidate(WindowBase* w);
|
static void WindowRideIncomeInvalidate(WindowBase* w);
|
||||||
static void WindowRideIncomePaint(WindowBase* w, DrawPixelInfo* dpi);
|
static void WindowRideIncomePaint(WindowBase* w, DrawPixelInfo& dpi);
|
||||||
static bool WindowRideIncomeCanModifyPrimaryPrice(WindowBase* w);
|
static bool WindowRideIncomeCanModifyPrimaryPrice(WindowBase* w);
|
||||||
|
|
||||||
static void WindowRideCustomerMouseup(WindowBase* w, WidgetIndex widgetIndex);
|
static void WindowRideCustomerMouseup(WindowBase* w, WidgetIndex widgetIndex);
|
||||||
static void WindowRideCustomerResize(WindowBase* w);
|
static void WindowRideCustomerResize(WindowBase* w);
|
||||||
static void WindowRideCustomerUpdate(WindowBase* w);
|
static void WindowRideCustomerUpdate(WindowBase* w);
|
||||||
static void WindowRideCustomerInvalidate(WindowBase* w);
|
static void WindowRideCustomerInvalidate(WindowBase* w);
|
||||||
static void WindowRideCustomerPaint(WindowBase* w, DrawPixelInfo* dpi);
|
static void WindowRideCustomerPaint(WindowBase* w, DrawPixelInfo& dpi);
|
||||||
|
|
||||||
static void WindowRideSetPage(WindowBase* w, int32_t page);
|
static void WindowRideSetPage(WindowBase* w, int32_t page);
|
||||||
|
|
||||||
|
@ -862,7 +862,7 @@ static const RideObjectEntry* VehicleDropdownRideType = nullptr;
|
||||||
static bool VehicleDropdownExpanded = false;
|
static bool VehicleDropdownExpanded = false;
|
||||||
static std::vector<VehicleTypeLabel> VehicleDropdownData;
|
static std::vector<VehicleTypeLabel> VehicleDropdownData;
|
||||||
|
|
||||||
static void WindowRideDrawTabImage(DrawPixelInfo* dpi, WindowBase* w, int32_t page, int32_t spriteIndex)
|
static void WindowRideDrawTabImage(DrawPixelInfo& dpi, WindowBase* w, int32_t page, int32_t spriteIndex)
|
||||||
{
|
{
|
||||||
WidgetIndex widgetIndex = WIDX_TAB_1 + page;
|
WidgetIndex widgetIndex = WIDX_TAB_1 + page;
|
||||||
|
|
||||||
|
@ -875,7 +875,7 @@ static void WindowRideDrawTabImage(DrawPixelInfo* dpi, WindowBase* w, int32_t pa
|
||||||
}
|
}
|
||||||
|
|
||||||
const auto& widget = w->widgets[widgetIndex];
|
const auto& widget = w->widgets[widgetIndex];
|
||||||
GfxDrawSprite(*dpi, ImageId(spriteIndex), w->windowPos + ScreenCoordsXY{ widget.left, widget.top });
|
GfxDrawSprite(dpi, ImageId(spriteIndex), w->windowPos + ScreenCoordsXY{ widget.left, widget.top });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -883,7 +883,7 @@ static void WindowRideDrawTabImage(DrawPixelInfo* dpi, WindowBase* w, int32_t pa
|
||||||
*
|
*
|
||||||
* rct2: 0x006B2E88
|
* rct2: 0x006B2E88
|
||||||
*/
|
*/
|
||||||
static void WindowRideDrawTabMain(DrawPixelInfo* dpi, WindowBase* w)
|
static void WindowRideDrawTabMain(DrawPixelInfo& dpi, WindowBase* w)
|
||||||
{
|
{
|
||||||
WidgetIndex widgetIndex = WIDX_TAB_1 + static_cast<int32_t>(WINDOW_RIDE_PAGE_MAIN);
|
WidgetIndex widgetIndex = WIDX_TAB_1 + static_cast<int32_t>(WINDOW_RIDE_PAGE_MAIN);
|
||||||
if (!WidgetIsDisabled(*w, widgetIndex))
|
if (!WidgetIsDisabled(*w, widgetIndex))
|
||||||
|
@ -912,7 +912,7 @@ static void WindowRideDrawTabMain(DrawPixelInfo* dpi, WindowBase* w)
|
||||||
}
|
}
|
||||||
|
|
||||||
const auto& widget = w->widgets[widgetIndex];
|
const auto& widget = w->widgets[widgetIndex];
|
||||||
GfxDrawSprite(*dpi, ImageId(spriteIndex), w->windowPos + ScreenCoordsXY{ widget.left, widget.top });
|
GfxDrawSprite(dpi, ImageId(spriteIndex), w->windowPos + ScreenCoordsXY{ widget.left, widget.top });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -921,7 +921,7 @@ static void WindowRideDrawTabMain(DrawPixelInfo* dpi, WindowBase* w)
|
||||||
*
|
*
|
||||||
* rct2: 0x006B2B68
|
* rct2: 0x006B2B68
|
||||||
*/
|
*/
|
||||||
static void WindowRideDrawTabVehicle(DrawPixelInfo* dpi, WindowBase* w)
|
static void WindowRideDrawTabVehicle(DrawPixelInfo& dpi, WindowBase* w)
|
||||||
{
|
{
|
||||||
WidgetIndex widgetIndex = WIDX_TAB_1 + static_cast<int32_t>(WINDOW_RIDE_PAGE_VEHICLE);
|
WidgetIndex widgetIndex = WIDX_TAB_1 + static_cast<int32_t>(WINDOW_RIDE_PAGE_VEHICLE);
|
||||||
const auto& widget = w->widgets[widgetIndex];
|
const auto& widget = w->widgets[widgetIndex];
|
||||||
|
@ -937,7 +937,7 @@ static void WindowRideDrawTabVehicle(DrawPixelInfo* dpi, WindowBase* w)
|
||||||
screenCoords += w->windowPos;
|
screenCoords += w->windowPos;
|
||||||
|
|
||||||
DrawPixelInfo clipDPI;
|
DrawPixelInfo clipDPI;
|
||||||
if (!ClipDrawPixelInfo(&clipDPI, dpi, screenCoords, width, height))
|
if (!ClipDrawPixelInfo(&clipDPI, &dpi, screenCoords, width, height))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -992,7 +992,7 @@ static void WindowRideDrawTabVehicle(DrawPixelInfo* dpi, WindowBase* w)
|
||||||
*
|
*
|
||||||
* rct2: 0x006B2F42
|
* rct2: 0x006B2F42
|
||||||
*/
|
*/
|
||||||
static void WindowRideDrawTabCustomer(DrawPixelInfo* dpi, WindowBase* w)
|
static void WindowRideDrawTabCustomer(DrawPixelInfo& dpi, WindowBase* w)
|
||||||
{
|
{
|
||||||
WidgetIndex widgetIndex = WIDX_TAB_1 + static_cast<int32_t>(WINDOW_RIDE_PAGE_CUSTOMER);
|
WidgetIndex widgetIndex = WIDX_TAB_1 + static_cast<int32_t>(WINDOW_RIDE_PAGE_CUSTOMER);
|
||||||
|
|
||||||
|
@ -1006,7 +1006,7 @@ static void WindowRideDrawTabCustomer(DrawPixelInfo* dpi, WindowBase* w)
|
||||||
spriteIndex += GetPeepAnimation(PeepSpriteType::Normal).base_image + 1;
|
spriteIndex += GetPeepAnimation(PeepSpriteType::Normal).base_image + 1;
|
||||||
|
|
||||||
GfxDrawSprite(
|
GfxDrawSprite(
|
||||||
*dpi, ImageId(spriteIndex, COLOUR_BRIGHT_RED, COLOUR_TEAL),
|
dpi, ImageId(spriteIndex, COLOUR_BRIGHT_RED, COLOUR_TEAL),
|
||||||
w->windowPos + ScreenCoordsXY{ widget.midX(), widget.bottom - 6 });
|
w->windowPos + ScreenCoordsXY{ widget.midX(), widget.bottom - 6 });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1015,7 +1015,7 @@ static void WindowRideDrawTabCustomer(DrawPixelInfo* dpi, WindowBase* w)
|
||||||
*
|
*
|
||||||
* rct2: 0x006B2B35
|
* rct2: 0x006B2B35
|
||||||
*/
|
*/
|
||||||
static void WindowRideDrawTabImages(DrawPixelInfo* dpi, WindowBase* w)
|
static void WindowRideDrawTabImages(DrawPixelInfo& dpi, WindowBase* w)
|
||||||
{
|
{
|
||||||
WindowRideDrawTabVehicle(dpi, w);
|
WindowRideDrawTabVehicle(dpi, w);
|
||||||
WindowRideDrawTabImage(dpi, w, WINDOW_RIDE_PAGE_OPERATING, SPR_TAB_GEARS_0);
|
WindowRideDrawTabImage(dpi, w, WINDOW_RIDE_PAGE_OPERATING, SPR_TAB_GEARS_0);
|
||||||
|
@ -2580,7 +2580,7 @@ static StringId WindowRideGetStatus(WindowBase* w, Formatter& ft)
|
||||||
*
|
*
|
||||||
* rct2: 0x006AEE73
|
* rct2: 0x006AEE73
|
||||||
*/
|
*/
|
||||||
static void WindowRideMainPaint(WindowBase* w, DrawPixelInfo* dpi)
|
static void WindowRideMainPaint(WindowBase* w, DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
Widget* widget;
|
Widget* widget;
|
||||||
|
|
||||||
|
@ -2592,7 +2592,7 @@ static void WindowRideMainPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
{
|
{
|
||||||
WindowDrawViewport(dpi, *w);
|
WindowDrawViewport(dpi, *w);
|
||||||
if (w->viewport->flags & VIEWPORT_FLAG_SOUND_ON)
|
if (w->viewport->flags & VIEWPORT_FLAG_SOUND_ON)
|
||||||
GfxDrawSprite(*dpi, ImageId(SPR_HEARING_VIEWPORT), w->windowPos + ScreenCoordsXY{ 2, 2 });
|
GfxDrawSprite(dpi, ImageId(SPR_HEARING_VIEWPORT), w->windowPos + ScreenCoordsXY{ 2, 2 });
|
||||||
}
|
}
|
||||||
|
|
||||||
// View dropdown
|
// View dropdown
|
||||||
|
@ -2621,7 +2621,7 @@ static void WindowRideMainPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
|
|
||||||
widget = &window_ride_main_widgets[WIDX_VIEW];
|
widget = &window_ride_main_widgets[WIDX_VIEW];
|
||||||
DrawTextBasic(
|
DrawTextBasic(
|
||||||
*dpi, { w->windowPos.x + (widget->left + widget->right - 11) / 2, w->windowPos.y + widget->top },
|
dpi, { w->windowPos.x + (widget->left + widget->right - 11) / 2, w->windowPos.y + widget->top },
|
||||||
STR_WINDOW_COLOUR_2_STRINGID, ft, { TextAlignment::CENTRE });
|
STR_WINDOW_COLOUR_2_STRINGID, ft, { TextAlignment::CENTRE });
|
||||||
|
|
||||||
// Status
|
// Status
|
||||||
|
@ -2629,7 +2629,7 @@ static void WindowRideMainPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
widget = &window_ride_main_widgets[WIDX_STATUS];
|
widget = &window_ride_main_widgets[WIDX_STATUS];
|
||||||
StringId rideStatus = WindowRideGetStatus(w, ft);
|
StringId rideStatus = WindowRideGetStatus(w, ft);
|
||||||
DrawTextEllipsised(
|
DrawTextEllipsised(
|
||||||
*dpi, w->windowPos + ScreenCoordsXY{ (widget->left + widget->right) / 2, widget->top }, widget->width(), rideStatus, ft,
|
dpi, w->windowPos + ScreenCoordsXY{ (widget->left + widget->right) / 2, widget->top }, widget->width(), rideStatus, ft,
|
||||||
{ TextAlignment::CENTRE });
|
{ TextAlignment::CENTRE });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2885,7 +2885,7 @@ static void WindowRideVehicleInvalidate(WindowBase* w)
|
||||||
*
|
*
|
||||||
* rct2: 0x006B23DC
|
* rct2: 0x006B23DC
|
||||||
*/
|
*/
|
||||||
static void WindowRideVehiclePaint(WindowBase* w, DrawPixelInfo* dpi)
|
static void WindowRideVehiclePaint(WindowBase* w, DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
WindowDrawWidgets(*w, dpi);
|
WindowDrawWidgets(*w, dpi);
|
||||||
WindowRideDrawTabImages(dpi, w);
|
WindowRideDrawTabImages(dpi, w);
|
||||||
|
@ -2903,13 +2903,13 @@ static void WindowRideVehiclePaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
// Description
|
// Description
|
||||||
auto ft = Formatter();
|
auto ft = Formatter();
|
||||||
ft.Add<StringId>(rideEntry->naming.Description);
|
ft.Add<StringId>(rideEntry->naming.Description);
|
||||||
screenCoords.y += DrawTextWrapped(*dpi, screenCoords, 300, STR_BLACK_STRING, ft, { TextAlignment::LEFT });
|
screenCoords.y += DrawTextWrapped(dpi, screenCoords, 300, STR_BLACK_STRING, ft, { TextAlignment::LEFT });
|
||||||
screenCoords.y += 2;
|
screenCoords.y += 2;
|
||||||
|
|
||||||
// Capacity
|
// Capacity
|
||||||
ft = Formatter();
|
ft = Formatter();
|
||||||
ft.Add<StringId>(rideEntry->capacity);
|
ft.Add<StringId>(rideEntry->capacity);
|
||||||
DrawTextBasic(*dpi, screenCoords, STR_CAPACITY, ft);
|
DrawTextBasic(dpi, screenCoords, STR_CAPACITY, ft);
|
||||||
|
|
||||||
// Excitement Factor
|
// Excitement Factor
|
||||||
if (rideEntry->excitement_multiplier != 0)
|
if (rideEntry->excitement_multiplier != 0)
|
||||||
|
@ -2919,7 +2919,7 @@ static void WindowRideVehiclePaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
ft = Formatter();
|
ft = Formatter();
|
||||||
ft.Add<int16_t>(abs(rideEntry->excitement_multiplier));
|
ft.Add<int16_t>(abs(rideEntry->excitement_multiplier));
|
||||||
StringId stringId = rideEntry->excitement_multiplier > 0 ? STR_EXCITEMENT_FACTOR : STR_EXCITEMENT_FACTOR_NEGATIVE;
|
StringId stringId = rideEntry->excitement_multiplier > 0 ? STR_EXCITEMENT_FACTOR : STR_EXCITEMENT_FACTOR_NEGATIVE;
|
||||||
DrawTextBasic(*dpi, screenCoords, stringId, ft);
|
DrawTextBasic(dpi, screenCoords, stringId, ft);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Intensity Factor
|
// Intensity Factor
|
||||||
|
@ -2934,7 +2934,7 @@ static void WindowRideVehiclePaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
ft = Formatter();
|
ft = Formatter();
|
||||||
ft.Add<int16_t>(abs(rideEntry->intensity_multiplier));
|
ft.Add<int16_t>(abs(rideEntry->intensity_multiplier));
|
||||||
StringId stringId = rideEntry->intensity_multiplier > 0 ? STR_INTENSITY_FACTOR : STR_INTENSITY_FACTOR_NEGATIVE;
|
StringId stringId = rideEntry->intensity_multiplier > 0 ? STR_INTENSITY_FACTOR : STR_INTENSITY_FACTOR_NEGATIVE;
|
||||||
DrawTextBasic(*dpi, screenCoords, stringId, ft);
|
DrawTextBasic(dpi, screenCoords, stringId, ft);
|
||||||
|
|
||||||
if (lineHeight != 10)
|
if (lineHeight != 10)
|
||||||
screenCoords.x -= 150;
|
screenCoords.x -= 150;
|
||||||
|
@ -2948,7 +2948,7 @@ static void WindowRideVehiclePaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
ft = Formatter();
|
ft = Formatter();
|
||||||
ft.Add<int16_t>(abs(rideEntry->nausea_multiplier));
|
ft.Add<int16_t>(abs(rideEntry->nausea_multiplier));
|
||||||
StringId stringId = rideEntry->nausea_multiplier > 0 ? STR_NAUSEA_FACTOR : STR_NAUSEA_FACTOR_NEGATIVE;
|
StringId stringId = rideEntry->nausea_multiplier > 0 ? STR_NAUSEA_FACTOR : STR_NAUSEA_FACTOR_NEGATIVE;
|
||||||
DrawTextBasic(*dpi, screenCoords, stringId, ft);
|
DrawTextBasic(dpi, screenCoords, stringId, ft);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2963,7 +2963,7 @@ struct VehicleDrawInfo
|
||||||
*
|
*
|
||||||
* rct2: 0x006B2502
|
* rct2: 0x006B2502
|
||||||
*/
|
*/
|
||||||
static void WindowRideVehicleScrollpaint(WindowBase* w, DrawPixelInfo* dpi, int32_t scrollIndex)
|
static void WindowRideVehicleScrollpaint(WindowBase* w, DrawPixelInfo& dpi, int32_t scrollIndex)
|
||||||
{
|
{
|
||||||
auto ride = GetRide(w->rideId);
|
auto ride = GetRide(w->rideId);
|
||||||
if (ride == nullptr)
|
if (ride == nullptr)
|
||||||
|
@ -2972,7 +2972,7 @@ static void WindowRideVehicleScrollpaint(WindowBase* w, DrawPixelInfo* dpi, int3
|
||||||
const auto* rideEntry = ride->GetRideEntry();
|
const auto* rideEntry = ride->GetRideEntry();
|
||||||
|
|
||||||
// Background
|
// Background
|
||||||
GfxFillRect(dpi, { { dpi->x, dpi->y }, { dpi->x + dpi->width, dpi->y + dpi->height } }, PALETTE_INDEX_12);
|
GfxFillRect(&dpi, { { dpi.x, dpi.y }, { dpi.x + dpi.width, dpi.y + dpi.height } }, PALETTE_INDEX_12);
|
||||||
|
|
||||||
Widget* widget = &window_ride_vehicle_widgets[WIDX_VEHICLE_TRAINS_PREVIEW];
|
Widget* widget = &window_ride_vehicle_widgets[WIDX_VEHICLE_TRAINS_PREVIEW];
|
||||||
int32_t startX = std::max(2, (widget->width() - ((ride->NumTrains - 1) * 36)) / 2 - 25);
|
int32_t startX = std::max(2, (widget->width() - ((ride->NumTrains - 1) * 36)) / 2 - 25);
|
||||||
|
@ -3038,7 +3038,7 @@ static void WindowRideVehicleScrollpaint(WindowBase* w, DrawPixelInfo* dpi, int3
|
||||||
|
|
||||||
VehicleDrawInfo* current = nextSpriteToDraw;
|
VehicleDrawInfo* current = nextSpriteToDraw;
|
||||||
while (--current >= trainCarImages)
|
while (--current >= trainCarImages)
|
||||||
GfxDrawSprite(*dpi, current->imageId, { current->x, current->y });
|
GfxDrawSprite(dpi, current->imageId, { current->x, current->y });
|
||||||
|
|
||||||
startX += 36;
|
startX += 36;
|
||||||
}
|
}
|
||||||
|
@ -3721,7 +3721,7 @@ static void WindowRideOperatingInvalidate(WindowBase* w)
|
||||||
*
|
*
|
||||||
* rct2: 0x006B1001
|
* rct2: 0x006B1001
|
||||||
*/
|
*/
|
||||||
static void WindowRideOperatingPaint(WindowBase* w, DrawPixelInfo* dpi)
|
static void WindowRideOperatingPaint(WindowBase* w, DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
WindowDrawWidgets(*w, dpi);
|
WindowDrawWidgets(*w, dpi);
|
||||||
WindowRideDrawTabImages(dpi, w);
|
WindowRideDrawTabImages(dpi, w);
|
||||||
|
@ -3732,7 +3732,7 @@ static void WindowRideOperatingPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
|
|
||||||
// Horizontal rule between mode settings and depart settings
|
// Horizontal rule between mode settings and depart settings
|
||||||
GfxFillRectInset(
|
GfxFillRectInset(
|
||||||
dpi,
|
&dpi,
|
||||||
{ w->windowPos + ScreenCoordsXY{ window_ride_operating_widgets[WIDX_PAGE_BACKGROUND].left + 4, 103 },
|
{ w->windowPos + ScreenCoordsXY{ window_ride_operating_widgets[WIDX_PAGE_BACKGROUND].left + 4, 103 },
|
||||||
w->windowPos + ScreenCoordsXY{ window_ride_operating_widgets[WIDX_PAGE_BACKGROUND].right - 5, 104 } },
|
w->windowPos + ScreenCoordsXY{ window_ride_operating_widgets[WIDX_PAGE_BACKGROUND].right - 5, 104 } },
|
||||||
w->colours[1], INSET_RECT_FLAG_BORDER_INSET);
|
w->colours[1], INSET_RECT_FLAG_BORDER_INSET);
|
||||||
|
@ -3743,7 +3743,7 @@ static void WindowRideOperatingPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
auto ft = Formatter();
|
auto ft = Formatter();
|
||||||
ft.Add<uint16_t>(ride->num_block_brakes + ride->num_stations);
|
ft.Add<uint16_t>(ride->num_block_brakes + ride->num_stations);
|
||||||
DrawTextBasic(
|
DrawTextBasic(
|
||||||
*dpi, w->windowPos + ScreenCoordsXY{ 21, ride->mode == RideMode::PoweredLaunchBlockSectioned ? 89 : 61 },
|
dpi, w->windowPos + ScreenCoordsXY{ 21, ride->mode == RideMode::PoweredLaunchBlockSectioned ? 89 : 61 },
|
||||||
STR_BLOCK_SECTIONS, ft, COLOUR_BLACK);
|
STR_BLOCK_SECTIONS, ft, COLOUR_BLACK);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3784,9 +3784,9 @@ static void WindowRideLocateMechanic(WindowBase* w)
|
||||||
* rct2: 0x006B7D08
|
* rct2: 0x006B7D08
|
||||||
*/
|
*/
|
||||||
static void WindowRideMaintenanceDrawBar(
|
static void WindowRideMaintenanceDrawBar(
|
||||||
WindowBase* w, DrawPixelInfo* dpi, const ScreenCoordsXY& coords, int32_t value, int32_t colour)
|
WindowBase* w, DrawPixelInfo& dpi, const ScreenCoordsXY& coords, int32_t value, int32_t colour)
|
||||||
{
|
{
|
||||||
GfxFillRectInset(dpi, { coords, coords + ScreenCoordsXY{ 149, 8 } }, w->colours[1], INSET_RECT_F_30);
|
GfxFillRectInset(&dpi, { coords, coords + ScreenCoordsXY{ 149, 8 } }, w->colours[1], INSET_RECT_F_30);
|
||||||
if (colour & BAR_BLINK)
|
if (colour & BAR_BLINK)
|
||||||
{
|
{
|
||||||
colour &= ~BAR_BLINK;
|
colour &= ~BAR_BLINK;
|
||||||
|
@ -3797,7 +3797,7 @@ static void WindowRideMaintenanceDrawBar(
|
||||||
value = ((186 * ((value * 2) & 0xFF)) >> 8) & 0xFF;
|
value = ((186 * ((value * 2) & 0xFF)) >> 8) & 0xFF;
|
||||||
if (value > 2)
|
if (value > 2)
|
||||||
{
|
{
|
||||||
GfxFillRectInset(dpi, { coords + ScreenCoordsXY{ 2, 1 }, coords + ScreenCoordsXY{ value + 1, 7 } }, colour, 0);
|
GfxFillRectInset(&dpi, { coords + ScreenCoordsXY{ 2, 1 }, coords + ScreenCoordsXY{ value + 1, 7 } }, colour, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4117,7 +4117,7 @@ static void WindowRideMaintenanceInvalidate(WindowBase* w)
|
||||||
*
|
*
|
||||||
* rct2: 0x006B1877
|
* rct2: 0x006B1877
|
||||||
*/
|
*/
|
||||||
static void WindowRideMaintenancePaint(WindowBase* w, DrawPixelInfo* dpi)
|
static void WindowRideMaintenancePaint(WindowBase* w, DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
WindowDrawWidgets(*w, dpi);
|
WindowDrawWidgets(*w, dpi);
|
||||||
WindowRideDrawTabImages(dpi, w);
|
WindowRideDrawTabImages(dpi, w);
|
||||||
|
@ -4130,12 +4130,12 @@ static void WindowRideMaintenancePaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
Widget* widget = &window_ride_maintenance_widgets[WIDX_LOCATE_MECHANIC];
|
Widget* widget = &window_ride_maintenance_widgets[WIDX_LOCATE_MECHANIC];
|
||||||
auto screenCoords = w->windowPos + ScreenCoordsXY{ widget->left, widget->top };
|
auto screenCoords = w->windowPos + ScreenCoordsXY{ widget->left, widget->top };
|
||||||
auto image = ImageId(SPR_MECHANIC, COLOUR_BLACK, gStaffMechanicColour);
|
auto image = ImageId(SPR_MECHANIC, COLOUR_BLACK, gStaffMechanicColour);
|
||||||
GfxDrawSprite(*dpi, image, screenCoords);
|
GfxDrawSprite(dpi, image, screenCoords);
|
||||||
|
|
||||||
// Inspection label
|
// Inspection label
|
||||||
widget = &window_ride_maintenance_widgets[WIDX_INSPECTION_INTERVAL];
|
widget = &window_ride_maintenance_widgets[WIDX_INSPECTION_INTERVAL];
|
||||||
screenCoords = w->windowPos + ScreenCoordsXY{ 4, widget->top + 1 };
|
screenCoords = w->windowPos + ScreenCoordsXY{ 4, widget->top + 1 };
|
||||||
DrawTextBasic(*dpi, screenCoords, STR_INSPECTION);
|
DrawTextBasic(dpi, screenCoords, STR_INSPECTION);
|
||||||
|
|
||||||
// Reliability
|
// Reliability
|
||||||
widget = &window_ride_maintenance_widgets[WIDX_PAGE_BACKGROUND];
|
widget = &window_ride_maintenance_widgets[WIDX_PAGE_BACKGROUND];
|
||||||
|
@ -4144,7 +4144,7 @@ static void WindowRideMaintenancePaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
uint16_t reliability = ride->reliability_percentage;
|
uint16_t reliability = ride->reliability_percentage;
|
||||||
auto ft = Formatter();
|
auto ft = Formatter();
|
||||||
ft.Add<uint16_t>(reliability);
|
ft.Add<uint16_t>(reliability);
|
||||||
DrawTextBasic(*dpi, screenCoords, STR_RELIABILITY_LABEL_1757, ft);
|
DrawTextBasic(dpi, screenCoords, STR_RELIABILITY_LABEL_1757, ft);
|
||||||
WindowRideMaintenanceDrawBar(
|
WindowRideMaintenanceDrawBar(
|
||||||
w, dpi, screenCoords + ScreenCoordsXY{ 103, 0 }, std::max<int32_t>(10, reliability), COLOUR_BRIGHT_GREEN);
|
w, dpi, screenCoords + ScreenCoordsXY{ 103, 0 }, std::max<int32_t>(10, reliability), COLOUR_BRIGHT_GREEN);
|
||||||
screenCoords.y += 11;
|
screenCoords.y += 11;
|
||||||
|
@ -4152,7 +4152,7 @@ static void WindowRideMaintenancePaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
uint16_t downTime = ride->downtime;
|
uint16_t downTime = ride->downtime;
|
||||||
ft = Formatter();
|
ft = Formatter();
|
||||||
ft.Add<uint16_t>(downTime);
|
ft.Add<uint16_t>(downTime);
|
||||||
DrawTextBasic(*dpi, screenCoords, STR_DOWN_TIME_LABEL_1889, ft);
|
DrawTextBasic(dpi, screenCoords, STR_DOWN_TIME_LABEL_1889, ft);
|
||||||
WindowRideMaintenanceDrawBar(w, dpi, screenCoords + ScreenCoordsXY{ 103, 0 }, downTime, COLOUR_BRIGHT_RED);
|
WindowRideMaintenanceDrawBar(w, dpi, screenCoords + ScreenCoordsXY{ 103, 0 }, downTime, COLOUR_BRIGHT_RED);
|
||||||
screenCoords.y += 26;
|
screenCoords.y += 26;
|
||||||
|
|
||||||
|
@ -4167,7 +4167,7 @@ static void WindowRideMaintenancePaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
|
|
||||||
ft = Formatter();
|
ft = Formatter();
|
||||||
ft.Add<uint16_t>(ride->last_inspection);
|
ft.Add<uint16_t>(ride->last_inspection);
|
||||||
DrawTextBasic(*dpi, screenCoords, stringId, ft);
|
DrawTextBasic(dpi, screenCoords, stringId, ft);
|
||||||
screenCoords.y += 12;
|
screenCoords.y += 12;
|
||||||
|
|
||||||
// Last / current breakdown
|
// Last / current breakdown
|
||||||
|
@ -4177,7 +4177,7 @@ static void WindowRideMaintenancePaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
stringId = (ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN) ? STR_CURRENT_BREAKDOWN : STR_LAST_BREAKDOWN;
|
stringId = (ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN) ? STR_CURRENT_BREAKDOWN : STR_LAST_BREAKDOWN;
|
||||||
ft = Formatter();
|
ft = Formatter();
|
||||||
ft.Add<StringId>(RideBreakdownReasonNames[ride->breakdown_reason]);
|
ft.Add<StringId>(RideBreakdownReasonNames[ride->breakdown_reason]);
|
||||||
DrawTextBasic(*dpi, screenCoords, stringId, ft);
|
DrawTextBasic(dpi, screenCoords, stringId, ft);
|
||||||
screenCoords.y += 12;
|
screenCoords.y += 12;
|
||||||
|
|
||||||
// Mechanic status
|
// Mechanic status
|
||||||
|
@ -4215,7 +4215,7 @@ static void WindowRideMaintenancePaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
{
|
{
|
||||||
if (stringId == STR_CALLING_MECHANIC || stringId == STR_NO_MECHANICS_ARE_HIRED_MESSAGE)
|
if (stringId == STR_CALLING_MECHANIC || stringId == STR_NO_MECHANICS_ARE_HIRED_MESSAGE)
|
||||||
{
|
{
|
||||||
DrawTextWrapped(*dpi, screenCoords, 280, stringId, {}, { TextAlignment::LEFT });
|
DrawTextWrapped(dpi, screenCoords, 280, stringId, {}, { TextAlignment::LEFT });
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -4224,7 +4224,7 @@ static void WindowRideMaintenancePaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
{
|
{
|
||||||
ft = Formatter();
|
ft = Formatter();
|
||||||
staff->FormatNameTo(ft);
|
staff->FormatNameTo(ft);
|
||||||
DrawTextWrapped(*dpi, screenCoords, 280, stringId, ft, { TextAlignment::LEFT });
|
DrawTextWrapped(dpi, screenCoords, 280, stringId, ft, { TextAlignment::LEFT });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4876,7 +4876,7 @@ static void WindowRideColourInvalidate(WindowBase* w)
|
||||||
*
|
*
|
||||||
* rct2: 0x006AFF3E
|
* rct2: 0x006AFF3E
|
||||||
*/
|
*/
|
||||||
static void WindowRideColourPaint(WindowBase* w, DrawPixelInfo* dpi)
|
static void WindowRideColourPaint(WindowBase* w, DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
// TODO: This should use lists and identified sprites
|
// TODO: This should use lists and identified sprites
|
||||||
DrawPixelInfo clippedDpi;
|
DrawPixelInfo clippedDpi;
|
||||||
|
@ -4892,7 +4892,7 @@ static void WindowRideColourPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
const auto& trackPreviewWidget = window_ride_colour_widgets[WIDX_TRACK_PREVIEW];
|
const auto& trackPreviewWidget = window_ride_colour_widgets[WIDX_TRACK_PREVIEW];
|
||||||
if (trackPreviewWidget.type != WindowWidgetType::Empty)
|
if (trackPreviewWidget.type != WindowWidgetType::Empty)
|
||||||
GfxFillRect(
|
GfxFillRect(
|
||||||
dpi,
|
&dpi,
|
||||||
{ { w->windowPos + ScreenCoordsXY{ trackPreviewWidget.left + 1, trackPreviewWidget.top + 1 } },
|
{ { w->windowPos + ScreenCoordsXY{ trackPreviewWidget.left + 1, trackPreviewWidget.top + 1 } },
|
||||||
{ w->windowPos + ScreenCoordsXY{ trackPreviewWidget.right - 1, trackPreviewWidget.bottom - 1 } } },
|
{ w->windowPos + ScreenCoordsXY{ trackPreviewWidget.right - 1, trackPreviewWidget.bottom - 1 } } },
|
||||||
PALETTE_INDEX_12);
|
PALETTE_INDEX_12);
|
||||||
|
@ -4909,7 +4909,7 @@ static void WindowRideColourPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
const auto& rtd = ride->GetRideTypeDescriptor();
|
const auto& rtd = ride->GetRideTypeDescriptor();
|
||||||
if (rtd.HasFlag(RIDE_TYPE_FLAG_IS_MAZE))
|
if (rtd.HasFlag(RIDE_TYPE_FLAG_IS_MAZE))
|
||||||
{
|
{
|
||||||
GfxDrawSprite(*dpi, ImageId(MazeOptions[trackColour.supports].sprite), screenCoords);
|
GfxDrawSprite(dpi, ImageId(MazeOptions[trackColour.supports].sprite), screenCoords);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -4917,14 +4917,14 @@ static void WindowRideColourPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
int32_t spriteIndex = typeDescriptor.ColourPreview.Track;
|
int32_t spriteIndex = typeDescriptor.ColourPreview.Track;
|
||||||
if (spriteIndex != 0)
|
if (spriteIndex != 0)
|
||||||
{
|
{
|
||||||
GfxDrawSprite(*dpi, ImageId(spriteIndex, trackColour.main, trackColour.additional), screenCoords);
|
GfxDrawSprite(dpi, ImageId(spriteIndex, trackColour.main, trackColour.additional), screenCoords);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Supports
|
// Supports
|
||||||
spriteIndex = typeDescriptor.ColourPreview.Supports;
|
spriteIndex = typeDescriptor.ColourPreview.Supports;
|
||||||
if (spriteIndex != 0)
|
if (spriteIndex != 0)
|
||||||
{
|
{
|
||||||
GfxDrawSprite(*dpi, ImageId(spriteIndex, trackColour.supports), screenCoords);
|
GfxDrawSprite(dpi, ImageId(spriteIndex, trackColour.supports), screenCoords);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4948,11 +4948,11 @@ static void WindowRideColourPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
GfxDrawSprite(*dpi, ImageId(GetShopItemDescriptor(shopItem).Image, spriteColour), screenCoords);
|
GfxDrawSprite(dpi, ImageId(GetShopItemDescriptor(shopItem).Image, spriteColour), screenCoords);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
GfxDrawSprite(*dpi, ImageId(GetShopItemDescriptor(shopItem).Image, ride->track_colour[0].main), screenCoords);
|
GfxDrawSprite(dpi, ImageId(GetShopItemDescriptor(shopItem).Image, ride->track_colour[0].main), screenCoords);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4962,7 +4962,7 @@ static void WindowRideColourPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
if (entrancePreviewWidget.type != WindowWidgetType::Empty)
|
if (entrancePreviewWidget.type != WindowWidgetType::Empty)
|
||||||
{
|
{
|
||||||
if (ClipDrawPixelInfo(
|
if (ClipDrawPixelInfo(
|
||||||
&clippedDpi, dpi,
|
&clippedDpi, &dpi,
|
||||||
w->windowPos + ScreenCoordsXY{ entrancePreviewWidget.left + 1, entrancePreviewWidget.top + 1 },
|
w->windowPos + ScreenCoordsXY{ entrancePreviewWidget.left + 1, entrancePreviewWidget.top + 1 },
|
||||||
entrancePreviewWidget.width(), entrancePreviewWidget.height()))
|
entrancePreviewWidget.width(), entrancePreviewWidget.height()))
|
||||||
{
|
{
|
||||||
|
@ -4988,7 +4988,7 @@ static void WindowRideColourPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
DrawTextEllipsised(*dpi, { w->windowPos.x + 3, w->windowPos.y + 103 }, 97, STR_STATION_STYLE, {});
|
DrawTextEllipsised(dpi, { w->windowPos.x + 3, w->windowPos.y + 103 }, 97, STR_STATION_STYLE, {});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4996,7 +4996,7 @@ static void WindowRideColourPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
*
|
*
|
||||||
* rct2: 0x006B0192
|
* rct2: 0x006B0192
|
||||||
*/
|
*/
|
||||||
static void WindowRideColourScrollpaint(WindowBase* w, DrawPixelInfo* dpi, int32_t scrollIndex)
|
static void WindowRideColourScrollpaint(WindowBase* w, DrawPixelInfo& dpi, int32_t scrollIndex)
|
||||||
{
|
{
|
||||||
auto ride = GetRide(w->rideId);
|
auto ride = GetRide(w->rideId);
|
||||||
if (ride == nullptr)
|
if (ride == nullptr)
|
||||||
|
@ -5010,7 +5010,7 @@ static void WindowRideColourScrollpaint(WindowBase* w, DrawPixelInfo* dpi, int32
|
||||||
auto vehicleColour = RideGetVehicleColour(*ride, w->vehicleIndex);
|
auto vehicleColour = RideGetVehicleColour(*ride, w->vehicleIndex);
|
||||||
|
|
||||||
// Background colour
|
// Background colour
|
||||||
GfxFillRect(dpi, { { dpi->x, dpi->y }, { dpi->x + dpi->width - 1, dpi->y + dpi->height - 1 } }, PALETTE_INDEX_12);
|
GfxFillRect(&dpi, { { dpi.x, dpi.y }, { dpi.x + dpi.width - 1, dpi.y + dpi.height - 1 } }, PALETTE_INDEX_12);
|
||||||
|
|
||||||
// ?
|
// ?
|
||||||
auto screenCoords = ScreenCoordsXY{ vehiclePreviewWidget->width() / 2, vehiclePreviewWidget->height() - 15 };
|
auto screenCoords = ScreenCoordsXY{ vehiclePreviewWidget->width() / 2, vehiclePreviewWidget->height() - 15 };
|
||||||
|
@ -5031,7 +5031,7 @@ static void WindowRideColourScrollpaint(WindowBase* w, DrawPixelInfo* dpi, int32
|
||||||
imageIndex *= carEntry.base_num_frames;
|
imageIndex *= carEntry.base_num_frames;
|
||||||
imageIndex += carEntry.base_image_id;
|
imageIndex += carEntry.base_image_id;
|
||||||
auto imageId = ImageId(imageIndex, vehicleColour.Body, vehicleColour.Trim, vehicleColour.Tertiary);
|
auto imageId = ImageId(imageIndex, vehicleColour.Body, vehicleColour.Trim, vehicleColour.Tertiary);
|
||||||
GfxDrawSprite(*dpi, imageId, screenCoords);
|
GfxDrawSprite(dpi, imageId, screenCoords);
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma endregion
|
#pragma endregion
|
||||||
|
@ -5259,7 +5259,7 @@ static void WindowRideMusicInvalidate(WindowBase* w)
|
||||||
*
|
*
|
||||||
* rct2: 0x006B1ECC
|
* rct2: 0x006B1ECC
|
||||||
*/
|
*/
|
||||||
static void WindowRideMusicPaint(WindowBase* w, DrawPixelInfo* dpi)
|
static void WindowRideMusicPaint(WindowBase* w, DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
WindowDrawWidgets(*w, dpi);
|
WindowDrawWidgets(*w, dpi);
|
||||||
WindowRideDrawTabImages(dpi, w);
|
WindowRideDrawTabImages(dpi, w);
|
||||||
|
@ -5639,7 +5639,7 @@ static void WindowRideMeasurementsInvalidate(WindowBase* w)
|
||||||
*
|
*
|
||||||
* rct2: 0x006ACF07
|
* rct2: 0x006ACF07
|
||||||
*/
|
*/
|
||||||
static void WindowRideMeasurementsPaint(WindowBase* w, DrawPixelInfo* dpi)
|
static void WindowRideMeasurementsPaint(WindowBase* w, DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
WindowDrawWidgets(*w, dpi);
|
WindowDrawWidgets(*w, dpi);
|
||||||
WindowRideDrawTabImages(dpi, w);
|
WindowRideDrawTabImages(dpi, w);
|
||||||
|
@ -5649,12 +5649,12 @@ static void WindowRideMeasurementsPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
Widget* widget = &window_ride_measurements_widgets[WIDX_PAGE_BACKGROUND];
|
Widget* widget = &window_ride_measurements_widgets[WIDX_PAGE_BACKGROUND];
|
||||||
|
|
||||||
ScreenCoordsXY widgetCoords(w->windowPos.x + widget->width() / 2, w->windowPos.y + widget->top + 40);
|
ScreenCoordsXY widgetCoords(w->windowPos.x + widget->width() / 2, w->windowPos.y + widget->top + 40);
|
||||||
DrawTextWrapped(*dpi, widgetCoords, w->width - 8, STR_CLICK_ITEMS_OF_SCENERY_TO_SELECT, {}, { TextAlignment::CENTRE });
|
DrawTextWrapped(dpi, widgetCoords, w->width - 8, STR_CLICK_ITEMS_OF_SCENERY_TO_SELECT, {}, { TextAlignment::CENTRE });
|
||||||
|
|
||||||
widgetCoords.x = w->windowPos.x + 4;
|
widgetCoords.x = w->windowPos.x + 4;
|
||||||
widgetCoords.y = w->windowPos.y + window_ride_measurements_widgets[WIDX_SELECT_NEARBY_SCENERY].bottom + 17;
|
widgetCoords.y = w->windowPos.y + window_ride_measurements_widgets[WIDX_SELECT_NEARBY_SCENERY].bottom + 17;
|
||||||
GfxFillRectInset(
|
GfxFillRectInset(
|
||||||
dpi, { widgetCoords, { w->windowPos.x + 312, widgetCoords.y + 1 } }, w->colours[1], INSET_RECT_FLAG_BORDER_INSET);
|
&dpi, { widgetCoords, { w->windowPos.x + 312, widgetCoords.y + 1 } }, w->colours[1], INSET_RECT_FLAG_BORDER_INSET);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -5674,7 +5674,7 @@ static void WindowRideMeasurementsPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
ft.Add<uint32_t>(ride->excitement);
|
ft.Add<uint32_t>(ride->excitement);
|
||||||
ft.Add<StringId>(ratingName);
|
ft.Add<StringId>(ratingName);
|
||||||
StringId stringId = !RideHasRatings(*ride) ? STR_EXCITEMENT_RATING_NOT_YET_AVAILABLE : STR_EXCITEMENT_RATING;
|
StringId stringId = !RideHasRatings(*ride) ? STR_EXCITEMENT_RATING_NOT_YET_AVAILABLE : STR_EXCITEMENT_RATING;
|
||||||
DrawTextBasic(*dpi, screenCoords, stringId, ft);
|
DrawTextBasic(dpi, screenCoords, stringId, ft);
|
||||||
screenCoords.y += LIST_ROW_HEIGHT;
|
screenCoords.y += LIST_ROW_HEIGHT;
|
||||||
|
|
||||||
// Intensity
|
// Intensity
|
||||||
|
@ -5689,7 +5689,7 @@ static void WindowRideMeasurementsPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
else if (ride->intensity >= RIDE_RATING(10, 00))
|
else if (ride->intensity >= RIDE_RATING(10, 00))
|
||||||
stringId = STR_INTENSITY_RATING_RED;
|
stringId = STR_INTENSITY_RATING_RED;
|
||||||
|
|
||||||
DrawTextBasic(*dpi, screenCoords, stringId, ft);
|
DrawTextBasic(dpi, screenCoords, stringId, ft);
|
||||||
screenCoords.y += LIST_ROW_HEIGHT;
|
screenCoords.y += LIST_ROW_HEIGHT;
|
||||||
|
|
||||||
// Nausea
|
// Nausea
|
||||||
|
@ -5698,12 +5698,12 @@ static void WindowRideMeasurementsPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
ft.Add<uint32_t>(ride->nausea);
|
ft.Add<uint32_t>(ride->nausea);
|
||||||
ft.Add<StringId>(ratingName);
|
ft.Add<StringId>(ratingName);
|
||||||
stringId = !RideHasRatings(*ride) ? STR_NAUSEA_RATING_NOT_YET_AVAILABLE : STR_NAUSEA_RATING;
|
stringId = !RideHasRatings(*ride) ? STR_NAUSEA_RATING_NOT_YET_AVAILABLE : STR_NAUSEA_RATING;
|
||||||
DrawTextBasic(*dpi, screenCoords, stringId, ft);
|
DrawTextBasic(dpi, screenCoords, stringId, ft);
|
||||||
screenCoords.y += 2 * LIST_ROW_HEIGHT;
|
screenCoords.y += 2 * LIST_ROW_HEIGHT;
|
||||||
|
|
||||||
// Horizontal rule
|
// Horizontal rule
|
||||||
GfxFillRectInset(
|
GfxFillRectInset(
|
||||||
dpi, { screenCoords - ScreenCoordsXY{ 0, 6 }, screenCoords + ScreenCoordsXY{ 303, -5 } }, w->colours[1],
|
&dpi, { screenCoords - ScreenCoordsXY{ 0, 6 }, screenCoords + ScreenCoordsXY{ 303, -5 } }, w->colours[1],
|
||||||
INSET_RECT_FLAG_BORDER_INSET);
|
INSET_RECT_FLAG_BORDER_INSET);
|
||||||
|
|
||||||
if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_NO_RAW_STATS))
|
if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_NO_RAW_STATS))
|
||||||
|
@ -5713,7 +5713,7 @@ static void WindowRideMeasurementsPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
// Holes
|
// Holes
|
||||||
ft = Formatter();
|
ft = Formatter();
|
||||||
ft.Add<uint16_t>(ride->holes);
|
ft.Add<uint16_t>(ride->holes);
|
||||||
DrawTextBasic(*dpi, screenCoords, STR_HOLES, ft);
|
DrawTextBasic(dpi, screenCoords, STR_HOLES, ft);
|
||||||
screenCoords.y += LIST_ROW_HEIGHT;
|
screenCoords.y += LIST_ROW_HEIGHT;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -5721,13 +5721,13 @@ static void WindowRideMeasurementsPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
// Max speed
|
// Max speed
|
||||||
ft = Formatter();
|
ft = Formatter();
|
||||||
ft.Add<int32_t>((ride->max_speed * 9) >> 18);
|
ft.Add<int32_t>((ride->max_speed * 9) >> 18);
|
||||||
DrawTextBasic(*dpi, screenCoords, STR_MAX_SPEED, ft);
|
DrawTextBasic(dpi, screenCoords, STR_MAX_SPEED, ft);
|
||||||
screenCoords.y += LIST_ROW_HEIGHT;
|
screenCoords.y += LIST_ROW_HEIGHT;
|
||||||
|
|
||||||
// Average speed
|
// Average speed
|
||||||
ft = Formatter();
|
ft = Formatter();
|
||||||
ft.Add<int32_t>((ride->average_speed * 9) >> 18);
|
ft.Add<int32_t>((ride->average_speed * 9) >> 18);
|
||||||
DrawTextBasic(*dpi, screenCoords, STR_AVERAGE_SPEED, ft);
|
DrawTextBasic(dpi, screenCoords, STR_AVERAGE_SPEED, ft);
|
||||||
screenCoords.y += LIST_ROW_HEIGHT;
|
screenCoords.y += LIST_ROW_HEIGHT;
|
||||||
|
|
||||||
// Ride time
|
// Ride time
|
||||||
|
@ -5764,7 +5764,7 @@ static void WindowRideMeasurementsPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
ft.Add<uint16_t>(0);
|
ft.Add<uint16_t>(0);
|
||||||
ft.Add<uint16_t>(0);
|
ft.Add<uint16_t>(0);
|
||||||
ft.Add<uint16_t>(0);
|
ft.Add<uint16_t>(0);
|
||||||
DrawTextEllipsised(*dpi, screenCoords, 308, STR_RIDE_TIME, ft);
|
DrawTextEllipsised(dpi, screenCoords, 308, STR_RIDE_TIME, ft);
|
||||||
screenCoords.y += LIST_ROW_HEIGHT;
|
screenCoords.y += LIST_ROW_HEIGHT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5803,7 +5803,7 @@ static void WindowRideMeasurementsPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
ft.Add<uint16_t>(0);
|
ft.Add<uint16_t>(0);
|
||||||
ft.Add<uint16_t>(0);
|
ft.Add<uint16_t>(0);
|
||||||
ft.Add<uint16_t>(0);
|
ft.Add<uint16_t>(0);
|
||||||
DrawTextEllipsised(*dpi, screenCoords, 308, STR_RIDE_LENGTH, ft);
|
DrawTextEllipsised(dpi, screenCoords, 308, STR_RIDE_LENGTH, ft);
|
||||||
|
|
||||||
screenCoords.y += LIST_ROW_HEIGHT;
|
screenCoords.y += LIST_ROW_HEIGHT;
|
||||||
|
|
||||||
|
@ -5814,7 +5814,7 @@ static void WindowRideMeasurementsPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
|
|
||||||
ft = Formatter();
|
ft = Formatter();
|
||||||
ft.Add<fixed16_2dp>(ride->max_positive_vertical_g);
|
ft.Add<fixed16_2dp>(ride->max_positive_vertical_g);
|
||||||
DrawTextBasic(*dpi, screenCoords, stringId, ft);
|
DrawTextBasic(dpi, screenCoords, stringId, ft);
|
||||||
screenCoords.y += LIST_ROW_HEIGHT;
|
screenCoords.y += LIST_ROW_HEIGHT;
|
||||||
|
|
||||||
// Max. negative vertical G's
|
// Max. negative vertical G's
|
||||||
|
@ -5822,20 +5822,20 @@ static void WindowRideMeasurementsPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
: STR_MAX_NEGATIVE_VERTICAL_G;
|
: STR_MAX_NEGATIVE_VERTICAL_G;
|
||||||
ft = Formatter();
|
ft = Formatter();
|
||||||
ft.Add<int32_t>(ride->max_negative_vertical_g);
|
ft.Add<int32_t>(ride->max_negative_vertical_g);
|
||||||
DrawTextBasic(*dpi, screenCoords, stringId, ft);
|
DrawTextBasic(dpi, screenCoords, stringId, ft);
|
||||||
screenCoords.y += LIST_ROW_HEIGHT;
|
screenCoords.y += LIST_ROW_HEIGHT;
|
||||||
|
|
||||||
// Max lateral G's
|
// Max lateral G's
|
||||||
stringId = ride->max_lateral_g > RIDE_G_FORCES_RED_LATERAL ? STR_MAX_LATERAL_G_RED : STR_MAX_LATERAL_G;
|
stringId = ride->max_lateral_g > RIDE_G_FORCES_RED_LATERAL ? STR_MAX_LATERAL_G_RED : STR_MAX_LATERAL_G;
|
||||||
ft = Formatter();
|
ft = Formatter();
|
||||||
ft.Add<fixed16_2dp>(ride->max_lateral_g);
|
ft.Add<fixed16_2dp>(ride->max_lateral_g);
|
||||||
DrawTextBasic(*dpi, screenCoords, stringId, ft);
|
DrawTextBasic(dpi, screenCoords, stringId, ft);
|
||||||
screenCoords.y += LIST_ROW_HEIGHT;
|
screenCoords.y += LIST_ROW_HEIGHT;
|
||||||
|
|
||||||
// Total 'air' time
|
// Total 'air' time
|
||||||
ft = Formatter();
|
ft = Formatter();
|
||||||
ft.Add<fixed32_2dp>(ride->total_air_time * 3);
|
ft.Add<fixed32_2dp>(ride->total_air_time * 3);
|
||||||
DrawTextBasic(*dpi, screenCoords, STR_TOTAL_AIR_TIME, ft);
|
DrawTextBasic(dpi, screenCoords, STR_TOTAL_AIR_TIME, ft);
|
||||||
screenCoords.y += LIST_ROW_HEIGHT;
|
screenCoords.y += LIST_ROW_HEIGHT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5845,14 +5845,14 @@ static void WindowRideMeasurementsPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
auto drops = ride->drops & 0x3F;
|
auto drops = ride->drops & 0x3F;
|
||||||
ft = Formatter();
|
ft = Formatter();
|
||||||
ft.Add<uint16_t>(drops);
|
ft.Add<uint16_t>(drops);
|
||||||
DrawTextBasic(*dpi, screenCoords, STR_DROPS, ft);
|
DrawTextBasic(dpi, screenCoords, STR_DROPS, ft);
|
||||||
screenCoords.y += LIST_ROW_HEIGHT;
|
screenCoords.y += LIST_ROW_HEIGHT;
|
||||||
|
|
||||||
// Highest drop height
|
// Highest drop height
|
||||||
auto highestDropHeight = (ride->highest_drop_height * 3) / 4;
|
auto highestDropHeight = (ride->highest_drop_height * 3) / 4;
|
||||||
ft = Formatter();
|
ft = Formatter();
|
||||||
ft.Add<int32_t>(highestDropHeight);
|
ft.Add<int32_t>(highestDropHeight);
|
||||||
DrawTextBasic(*dpi, screenCoords, STR_HIGHEST_DROP_HEIGHT, ft);
|
DrawTextBasic(dpi, screenCoords, STR_HIGHEST_DROP_HEIGHT, ft);
|
||||||
screenCoords.y += LIST_ROW_HEIGHT;
|
screenCoords.y += LIST_ROW_HEIGHT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5863,7 +5863,7 @@ static void WindowRideMeasurementsPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
{
|
{
|
||||||
ft = Formatter();
|
ft = Formatter();
|
||||||
ft.Add<uint16_t>(ride->inversions);
|
ft.Add<uint16_t>(ride->inversions);
|
||||||
DrawTextBasic(*dpi, screenCoords, STR_INVERSIONS, ft);
|
DrawTextBasic(dpi, screenCoords, STR_INVERSIONS, ft);
|
||||||
screenCoords.y += LIST_ROW_HEIGHT;
|
screenCoords.y += LIST_ROW_HEIGHT;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5871,7 +5871,7 @@ static void WindowRideMeasurementsPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
DrawTextBasic(*dpi, screenCoords, STR_NO_TEST_RESULTS_YET);
|
DrawTextBasic(dpi, screenCoords, STR_NO_TEST_RESULTS_YET);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -6126,7 +6126,7 @@ static void WindowRideGraphsInvalidate(WindowBase* w)
|
||||||
*
|
*
|
||||||
* rct2: 0x006AE4BC
|
* rct2: 0x006AE4BC
|
||||||
*/
|
*/
|
||||||
static void WindowRideGraphsPaint(WindowBase* w, DrawPixelInfo* dpi)
|
static void WindowRideGraphsPaint(WindowBase* w, DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
WindowDrawWidgets(*w, dpi);
|
WindowDrawWidgets(*w, dpi);
|
||||||
WindowRideDrawTabImages(dpi, w);
|
WindowRideDrawTabImages(dpi, w);
|
||||||
|
@ -6136,9 +6136,9 @@ static void WindowRideGraphsPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
*
|
*
|
||||||
* rct2: 0x006AE4C7
|
* rct2: 0x006AE4C7
|
||||||
*/
|
*/
|
||||||
static void WindowRideGraphsScrollpaint(WindowBase* w, DrawPixelInfo* dpi, int32_t scrollIndex)
|
static void WindowRideGraphsScrollpaint(WindowBase* w, DrawPixelInfo& dpi, int32_t scrollIndex)
|
||||||
{
|
{
|
||||||
GfxClear(dpi, ColourMapA[COLOUR_SATURATED_GREEN].darker);
|
GfxClear(&dpi, ColourMapA[COLOUR_SATURATED_GREEN].darker);
|
||||||
|
|
||||||
auto widget = &window_ride_graphs_widgets[WIDX_GRAPH];
|
auto widget = &window_ride_graphs_widgets[WIDX_GRAPH];
|
||||||
auto ride = GetRide(w->rideId);
|
auto ride = GetRide(w->rideId);
|
||||||
|
@ -6154,7 +6154,7 @@ static void WindowRideGraphsScrollpaint(WindowBase* w, DrawPixelInfo* dpi, int32
|
||||||
// No measurement message
|
// No measurement message
|
||||||
ScreenCoordsXY stringCoords(widget->width() / 2, widget->height() / 2 - 5);
|
ScreenCoordsXY stringCoords(widget->width() / 2, widget->height() / 2 - 5);
|
||||||
int32_t width = widget->width() - 2;
|
int32_t width = widget->width() - 2;
|
||||||
DrawTextWrapped(*dpi, stringCoords, width, message.str, message.args, { TextAlignment::CENTRE });
|
DrawTextWrapped(dpi, stringCoords, width, message.str, message.args, { TextAlignment::CENTRE });
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6163,17 +6163,17 @@ static void WindowRideGraphsScrollpaint(WindowBase* w, DrawPixelInfo* dpi, int32
|
||||||
const uint8_t darkColour = ColourMapA[COLOUR_SATURATED_GREEN].mid_dark;
|
const uint8_t darkColour = ColourMapA[COLOUR_SATURATED_GREEN].mid_dark;
|
||||||
|
|
||||||
int32_t time = 0;
|
int32_t time = 0;
|
||||||
for (int32_t x = 0; x < dpi->x + dpi->width; x += 80)
|
for (int32_t x = 0; x < dpi.x + dpi.width; x += 80)
|
||||||
{
|
{
|
||||||
if (x + 80 >= dpi->x)
|
if (x + 80 >= dpi.x)
|
||||||
{
|
{
|
||||||
auto coord1 = ScreenCoordsXY{ x, dpi->y };
|
auto coord1 = ScreenCoordsXY{ x, dpi.y };
|
||||||
auto coord2 = ScreenCoordsXY{ x, dpi->y + dpi->height - 1 };
|
auto coord2 = ScreenCoordsXY{ x, dpi.y + dpi.height - 1 };
|
||||||
GfxFillRect(dpi, { coord1, coord2 }, lightColour);
|
GfxFillRect(&dpi, { coord1, coord2 }, lightColour);
|
||||||
GfxFillRect(dpi, { coord1 + ScreenCoordsXY{ 16, 0 }, coord2 + ScreenCoordsXY{ 16, 0 } }, darkColour);
|
GfxFillRect(&dpi, { coord1 + ScreenCoordsXY{ 16, 0 }, coord2 + ScreenCoordsXY{ 16, 0 } }, darkColour);
|
||||||
GfxFillRect(dpi, { coord1 + ScreenCoordsXY{ 32, 0 }, coord2 + ScreenCoordsXY{ 32, 0 } }, darkColour);
|
GfxFillRect(&dpi, { coord1 + ScreenCoordsXY{ 32, 0 }, coord2 + ScreenCoordsXY{ 32, 0 } }, darkColour);
|
||||||
GfxFillRect(dpi, { coord1 + ScreenCoordsXY{ 48, 0 }, coord2 + ScreenCoordsXY{ 48, 0 } }, darkColour);
|
GfxFillRect(&dpi, { coord1 + ScreenCoordsXY{ 48, 0 }, coord2 + ScreenCoordsXY{ 48, 0 } }, darkColour);
|
||||||
GfxFillRect(dpi, { coord1 + ScreenCoordsXY{ 64, 0 }, coord2 + ScreenCoordsXY{ 64, 0 } }, darkColour);
|
GfxFillRect(&dpi, { coord1 + ScreenCoordsXY{ 64, 0 }, coord2 + ScreenCoordsXY{ 64, 0 } }, darkColour);
|
||||||
}
|
}
|
||||||
time += 5;
|
time += 5;
|
||||||
}
|
}
|
||||||
|
@ -6195,7 +6195,7 @@ static void WindowRideGraphsScrollpaint(WindowBase* w, DrawPixelInfo* dpi, int32
|
||||||
{
|
{
|
||||||
// Minor / major line
|
// Minor / major line
|
||||||
int32_t colour = yUnit == 0 ? lightColour : darkColour;
|
int32_t colour = yUnit == 0 ? lightColour : darkColour;
|
||||||
GfxFillRect(dpi, { { dpi->x, y }, { dpi->x + dpi->width - 1, y } }, colour);
|
GfxFillRect(&dpi, { { dpi.x, y }, { dpi.x + dpi.width - 1, y } }, colour);
|
||||||
|
|
||||||
int16_t scaled_yUnit = yUnit;
|
int16_t scaled_yUnit = yUnit;
|
||||||
// Scale modifier
|
// Scale modifier
|
||||||
|
@ -6205,27 +6205,27 @@ static void WindowRideGraphsScrollpaint(WindowBase* w, DrawPixelInfo* dpi, int32
|
||||||
auto ft = Formatter();
|
auto ft = Formatter();
|
||||||
ft.Add<int16_t>(scaled_yUnit);
|
ft.Add<int16_t>(scaled_yUnit);
|
||||||
|
|
||||||
DrawTextBasic(*dpi, { w->scrolls[0].h_left + 1, y - 4 }, stringID, ft, { FontStyle::Small });
|
DrawTextBasic(dpi, { w->scrolls[0].h_left + 1, y - 4 }, stringID, ft, { FontStyle::Small });
|
||||||
}
|
}
|
||||||
|
|
||||||
// Time marks
|
// Time marks
|
||||||
time = 0;
|
time = 0;
|
||||||
for (int32_t x = 0; x < dpi->x + dpi->width; x += 80)
|
for (int32_t x = 0; x < dpi.x + dpi.width; x += 80)
|
||||||
{
|
{
|
||||||
auto ft = Formatter();
|
auto ft = Formatter();
|
||||||
ft.Add<int32_t>(time);
|
ft.Add<int32_t>(time);
|
||||||
if (x + 80 >= dpi->x)
|
if (x + 80 >= dpi.x)
|
||||||
DrawTextBasic(*dpi, { x + 2, 1 }, STR_RIDE_STATS_TIME, ft, { FontStyle::Small });
|
DrawTextBasic(dpi, { x + 2, 1 }, STR_RIDE_STATS_TIME, ft, { FontStyle::Small });
|
||||||
time += 5;
|
time += 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Plot
|
// Plot
|
||||||
int32_t x = dpi->x;
|
int32_t x = dpi.x;
|
||||||
int32_t firstPoint, secondPoint;
|
int32_t firstPoint, secondPoint;
|
||||||
// Uses the force limits (used to draw extreme G's in red on measurement tab) to determine if line should be drawn red.
|
// Uses the force limits (used to draw extreme G's in red on measurement tab) to determine if line should be drawn red.
|
||||||
int32_t intensityThresholdPositive = 0;
|
int32_t intensityThresholdPositive = 0;
|
||||||
int32_t intensityThresholdNegative = 0;
|
int32_t intensityThresholdNegative = 0;
|
||||||
for (int32_t width = 0; width < dpi->width; width++, x++)
|
for (int32_t width = 0; width < dpi.width; width++, x++)
|
||||||
{
|
{
|
||||||
if (x < 0 || x >= measurement->num_items - 1)
|
if (x < 0 || x >= measurement->num_items - 1)
|
||||||
continue;
|
continue;
|
||||||
|
@ -6278,7 +6278,7 @@ static void WindowRideGraphsScrollpaint(WindowBase* w, DrawPixelInfo* dpi, int32
|
||||||
const bool previousMeasurement = x > measurement->current_item;
|
const bool previousMeasurement = x > measurement->current_item;
|
||||||
|
|
||||||
// Draw the current line in grey.
|
// Draw the current line in grey.
|
||||||
GfxFillRect(dpi, { { x, firstPoint }, { x, secondPoint } }, previousMeasurement ? PALETTE_INDEX_17 : PALETTE_INDEX_21);
|
GfxFillRect(&dpi, { { x, firstPoint }, { x, secondPoint } }, previousMeasurement ? PALETTE_INDEX_17 : PALETTE_INDEX_21);
|
||||||
|
|
||||||
// Draw red over extreme values (if supported by graph type).
|
// Draw red over extreme values (if supported by graph type).
|
||||||
if (listType == GRAPH_VERTICAL || listType == GRAPH_LATERAL)
|
if (listType == GRAPH_VERTICAL || listType == GRAPH_LATERAL)
|
||||||
|
@ -6290,7 +6290,7 @@ static void WindowRideGraphsScrollpaint(WindowBase* w, DrawPixelInfo* dpi, int32
|
||||||
{
|
{
|
||||||
const auto redLineTop = ScreenCoordsXY{ x, std::max(firstPoint, intensityThresholdNegative) };
|
const auto redLineTop = ScreenCoordsXY{ x, std::max(firstPoint, intensityThresholdNegative) };
|
||||||
const auto redLineBottom = ScreenCoordsXY{ x, std::max(secondPoint, intensityThresholdNegative) };
|
const auto redLineBottom = ScreenCoordsXY{ x, std::max(secondPoint, intensityThresholdNegative) };
|
||||||
GfxFillRect(dpi, { redLineTop, redLineBottom }, redLineColour);
|
GfxFillRect(&dpi, { redLineTop, redLineBottom }, redLineColour);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Line exceeds positive threshold (at top of graph).
|
// Line exceeds positive threshold (at top of graph).
|
||||||
|
@ -6298,7 +6298,7 @@ static void WindowRideGraphsScrollpaint(WindowBase* w, DrawPixelInfo* dpi, int32
|
||||||
{
|
{
|
||||||
const auto redLineTop = ScreenCoordsXY{ x, std::min(firstPoint, intensityThresholdPositive) };
|
const auto redLineTop = ScreenCoordsXY{ x, std::min(firstPoint, intensityThresholdPositive) };
|
||||||
const auto redLineBottom = ScreenCoordsXY{ x, std::min(secondPoint, intensityThresholdPositive) };
|
const auto redLineBottom = ScreenCoordsXY{ x, std::min(secondPoint, intensityThresholdPositive) };
|
||||||
GfxFillRect(dpi, { redLineTop, redLineBottom }, redLineColour);
|
GfxFillRect(&dpi, { redLineTop, redLineBottom }, redLineColour);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -6742,7 +6742,7 @@ static void WindowRideIncomeInvalidate(WindowBase* w)
|
||||||
*
|
*
|
||||||
* rct2: 0x006ADCE5
|
* rct2: 0x006ADCE5
|
||||||
*/
|
*/
|
||||||
static void WindowRideIncomePaint(WindowBase* w, DrawPixelInfo* dpi)
|
static void WindowRideIncomePaint(WindowBase* w, DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
StringId stringId;
|
StringId stringId;
|
||||||
money64 profit;
|
money64 profit;
|
||||||
|
@ -6780,7 +6780,7 @@ static void WindowRideIncomePaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
auto ft = Formatter();
|
auto ft = Formatter();
|
||||||
ft.Add<money64>(profit);
|
ft.Add<money64>(profit);
|
||||||
|
|
||||||
DrawTextBasic(*dpi, screenCoords, stringId, ft);
|
DrawTextBasic(dpi, screenCoords, stringId, ft);
|
||||||
}
|
}
|
||||||
screenCoords.y += 44;
|
screenCoords.y += 44;
|
||||||
|
|
||||||
|
@ -6804,7 +6804,7 @@ static void WindowRideIncomePaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
auto ft = Formatter();
|
auto ft = Formatter();
|
||||||
ft.Add<money64>(profit);
|
ft.Add<money64>(profit);
|
||||||
|
|
||||||
DrawTextBasic(*dpi, screenCoords, stringId, ft);
|
DrawTextBasic(dpi, screenCoords, stringId, ft);
|
||||||
}
|
}
|
||||||
screenCoords.y += 18;
|
screenCoords.y += 18;
|
||||||
|
|
||||||
|
@ -6814,7 +6814,7 @@ static void WindowRideIncomePaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
auto ft = Formatter();
|
auto ft = Formatter();
|
||||||
ft.Add<money64>(ride->income_per_hour);
|
ft.Add<money64>(ride->income_per_hour);
|
||||||
|
|
||||||
DrawTextBasic(*dpi, screenCoords, STR_INCOME_PER_HOUR, ft);
|
DrawTextBasic(dpi, screenCoords, STR_INCOME_PER_HOUR, ft);
|
||||||
screenCoords.y += LIST_ROW_HEIGHT;
|
screenCoords.y += LIST_ROW_HEIGHT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6823,7 +6823,7 @@ static void WindowRideIncomePaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
stringId = ride->upkeep_cost == MONEY64_UNDEFINED ? STR_RUNNING_COST_UNKNOWN : STR_RUNNING_COST_PER_HOUR;
|
stringId = ride->upkeep_cost == MONEY64_UNDEFINED ? STR_RUNNING_COST_UNKNOWN : STR_RUNNING_COST_PER_HOUR;
|
||||||
auto ft = Formatter();
|
auto ft = Formatter();
|
||||||
ft.Add<money64>(costPerHour);
|
ft.Add<money64>(costPerHour);
|
||||||
DrawTextBasic(*dpi, screenCoords, stringId, ft);
|
DrawTextBasic(dpi, screenCoords, stringId, ft);
|
||||||
screenCoords.y += LIST_ROW_HEIGHT;
|
screenCoords.y += LIST_ROW_HEIGHT;
|
||||||
|
|
||||||
// Profit per hour
|
// Profit per hour
|
||||||
|
@ -6831,7 +6831,7 @@ static void WindowRideIncomePaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
{
|
{
|
||||||
ft = Formatter();
|
ft = Formatter();
|
||||||
ft.Add<money64>(ride->profit);
|
ft.Add<money64>(ride->profit);
|
||||||
DrawTextBasic(*dpi, screenCoords, STR_PROFIT_PER_HOUR, ft);
|
DrawTextBasic(dpi, screenCoords, STR_PROFIT_PER_HOUR, ft);
|
||||||
screenCoords.y += LIST_ROW_HEIGHT;
|
screenCoords.y += LIST_ROW_HEIGHT;
|
||||||
}
|
}
|
||||||
screenCoords.y += 5;
|
screenCoords.y += 5;
|
||||||
|
@ -6839,7 +6839,7 @@ static void WindowRideIncomePaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
// Total profit
|
// Total profit
|
||||||
ft = Formatter();
|
ft = Formatter();
|
||||||
ft.Add<money64>(ride->total_profit);
|
ft.Add<money64>(ride->total_profit);
|
||||||
DrawTextBasic(*dpi, screenCoords, STR_TOTAL_PROFIT, ft);
|
DrawTextBasic(dpi, screenCoords, STR_TOTAL_PROFIT, ft);
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma endregion
|
#pragma endregion
|
||||||
|
@ -6969,7 +6969,7 @@ static void WindowRideCustomerInvalidate(WindowBase* w)
|
||||||
*
|
*
|
||||||
* rct2: 0x006AD6CD
|
* rct2: 0x006AD6CD
|
||||||
*/
|
*/
|
||||||
static void WindowRideCustomerPaint(WindowBase* w, DrawPixelInfo* dpi)
|
static void WindowRideCustomerPaint(WindowBase* w, DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
ShopItem shopItem;
|
ShopItem shopItem;
|
||||||
int16_t popularity, satisfaction, queueTime;
|
int16_t popularity, satisfaction, queueTime;
|
||||||
|
@ -6991,14 +6991,14 @@ static void WindowRideCustomerPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
{
|
{
|
||||||
auto ft = Formatter();
|
auto ft = Formatter();
|
||||||
ft.Add<int16_t>(ride->num_riders);
|
ft.Add<int16_t>(ride->num_riders);
|
||||||
DrawTextBasic(*dpi, screenCoords, STR_CUSTOMERS_ON_RIDE, ft);
|
DrawTextBasic(dpi, screenCoords, STR_CUSTOMERS_ON_RIDE, ft);
|
||||||
screenCoords.y += LIST_ROW_HEIGHT;
|
screenCoords.y += LIST_ROW_HEIGHT;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Customers per hour
|
// Customers per hour
|
||||||
auto ft = Formatter();
|
auto ft = Formatter();
|
||||||
ft.Add<int32_t>(RideCustomersPerHour(*ride));
|
ft.Add<int32_t>(RideCustomersPerHour(*ride));
|
||||||
DrawTextBasic(*dpi, screenCoords, STR_CUSTOMERS_PER_HOUR, ft);
|
DrawTextBasic(dpi, screenCoords, STR_CUSTOMERS_PER_HOUR, ft);
|
||||||
screenCoords.y += LIST_ROW_HEIGHT;
|
screenCoords.y += LIST_ROW_HEIGHT;
|
||||||
|
|
||||||
// Popularity
|
// Popularity
|
||||||
|
@ -7014,7 +7014,7 @@ static void WindowRideCustomerPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
}
|
}
|
||||||
ft = Formatter();
|
ft = Formatter();
|
||||||
ft.Add<int16_t>(popularity);
|
ft.Add<int16_t>(popularity);
|
||||||
DrawTextBasic(*dpi, screenCoords, stringId, ft);
|
DrawTextBasic(dpi, screenCoords, stringId, ft);
|
||||||
screenCoords.y += LIST_ROW_HEIGHT;
|
screenCoords.y += LIST_ROW_HEIGHT;
|
||||||
|
|
||||||
// Satisfaction
|
// Satisfaction
|
||||||
|
@ -7030,7 +7030,7 @@ static void WindowRideCustomerPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
}
|
}
|
||||||
ft = Formatter();
|
ft = Formatter();
|
||||||
ft.Add<int16_t>(satisfaction);
|
ft.Add<int16_t>(satisfaction);
|
||||||
DrawTextBasic(*dpi, screenCoords, stringId, ft);
|
DrawTextBasic(dpi, screenCoords, stringId, ft);
|
||||||
screenCoords.y += LIST_ROW_HEIGHT;
|
screenCoords.y += LIST_ROW_HEIGHT;
|
||||||
|
|
||||||
// Queue time
|
// Queue time
|
||||||
|
@ -7040,7 +7040,7 @@ static void WindowRideCustomerPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
stringId = queueTime == 1 ? STR_QUEUE_TIME_MINUTE : STR_QUEUE_TIME_MINUTES;
|
stringId = queueTime == 1 ? STR_QUEUE_TIME_MINUTE : STR_QUEUE_TIME_MINUTES;
|
||||||
ft = Formatter();
|
ft = Formatter();
|
||||||
ft.Add<int32_t>(queueTime);
|
ft.Add<int32_t>(queueTime);
|
||||||
screenCoords.y += DrawTextWrapped(*dpi, screenCoords, 308, stringId, ft, { TextAlignment::LEFT });
|
screenCoords.y += DrawTextWrapped(dpi, screenCoords, 308, stringId, ft, { TextAlignment::LEFT });
|
||||||
screenCoords.y += 5;
|
screenCoords.y += 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7051,7 +7051,7 @@ static void WindowRideCustomerPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
ft = Formatter();
|
ft = Formatter();
|
||||||
ft.Add<StringId>(GetShopItemDescriptor(shopItem).Naming.Plural);
|
ft.Add<StringId>(GetShopItemDescriptor(shopItem).Naming.Plural);
|
||||||
ft.Add<uint32_t>(ride->no_primary_items_sold);
|
ft.Add<uint32_t>(ride->no_primary_items_sold);
|
||||||
DrawTextBasic(*dpi, screenCoords, STR_ITEMS_SOLD, ft);
|
DrawTextBasic(dpi, screenCoords, STR_ITEMS_SOLD, ft);
|
||||||
screenCoords.y += LIST_ROW_HEIGHT;
|
screenCoords.y += LIST_ROW_HEIGHT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7063,14 +7063,14 @@ static void WindowRideCustomerPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
ft = Formatter();
|
ft = Formatter();
|
||||||
ft.Add<StringId>(GetShopItemDescriptor(shopItem).Naming.Plural);
|
ft.Add<StringId>(GetShopItemDescriptor(shopItem).Naming.Plural);
|
||||||
ft.Add<uint32_t>(ride->no_secondary_items_sold);
|
ft.Add<uint32_t>(ride->no_secondary_items_sold);
|
||||||
DrawTextBasic(*dpi, screenCoords, STR_ITEMS_SOLD, ft);
|
DrawTextBasic(dpi, screenCoords, STR_ITEMS_SOLD, ft);
|
||||||
screenCoords.y += LIST_ROW_HEIGHT;
|
screenCoords.y += LIST_ROW_HEIGHT;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Total customers
|
// Total customers
|
||||||
ft = Formatter();
|
ft = Formatter();
|
||||||
ft.Add<uint32_t>(ride->total_customers);
|
ft.Add<uint32_t>(ride->total_customers);
|
||||||
DrawTextBasic(*dpi, screenCoords, STR_TOTAL_CUSTOMERS, ft);
|
DrawTextBasic(dpi, screenCoords, STR_TOTAL_CUSTOMERS, ft);
|
||||||
screenCoords.y += LIST_ROW_HEIGHT;
|
screenCoords.y += LIST_ROW_HEIGHT;
|
||||||
|
|
||||||
// Guests favourite
|
// Guests favourite
|
||||||
|
@ -7079,7 +7079,7 @@ static void WindowRideCustomerPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
ft = Formatter();
|
ft = Formatter();
|
||||||
ft.Add<uint32_t>(ride->guests_favourite);
|
ft.Add<uint32_t>(ride->guests_favourite);
|
||||||
stringId = ride->guests_favourite == 1 ? STR_FAVOURITE_RIDE_OF_GUEST : STR_FAVOURITE_RIDE_OF_GUESTS;
|
stringId = ride->guests_favourite == 1 ? STR_FAVOURITE_RIDE_OF_GUEST : STR_FAVOURITE_RIDE_OF_GUESTS;
|
||||||
DrawTextBasic(*dpi, screenCoords, stringId, ft);
|
DrawTextBasic(dpi, screenCoords, stringId, ft);
|
||||||
screenCoords.y += LIST_ROW_HEIGHT;
|
screenCoords.y += LIST_ROW_HEIGHT;
|
||||||
}
|
}
|
||||||
screenCoords.y += 2;
|
screenCoords.y += 2;
|
||||||
|
@ -7090,7 +7090,7 @@ static void WindowRideCustomerPaint(WindowBase* w, DrawPixelInfo* dpi)
|
||||||
stringId = age == 0 ? STR_BUILT_THIS_YEAR : age == 1 ? STR_BUILT_LAST_YEAR : STR_BUILT_YEARS_AGO;
|
stringId = age == 0 ? STR_BUILT_THIS_YEAR : age == 1 ? STR_BUILT_LAST_YEAR : STR_BUILT_YEARS_AGO;
|
||||||
ft = Formatter();
|
ft = Formatter();
|
||||||
ft.Add<int16_t>(age);
|
ft.Add<int16_t>(age);
|
||||||
DrawTextBasic(*dpi, screenCoords, stringId, ft);
|
DrawTextBasic(dpi, screenCoords, stringId, ft);
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma endregion
|
#pragma endregion
|
||||||
|
|
|
@ -1519,7 +1519,7 @@ public:
|
||||||
widgetHeight = widget->height() - 1;
|
widgetHeight = widget->height() - 1;
|
||||||
if (ClipDrawPixelInfo(&clipdpi, &dpi, screenCoords, widgetWidth, widgetHeight))
|
if (ClipDrawPixelInfo(&clipdpi, &dpi, screenCoords, widgetWidth, widgetHeight))
|
||||||
{
|
{
|
||||||
DrawTrackPiece(&clipdpi, rideIndex, trackType, trackDirection, liftHillAndInvertedState, widgetWidth, widgetHeight);
|
DrawTrackPiece(clipdpi, rideIndex, trackType, trackDirection, liftHillAndInvertedState, widgetWidth, widgetHeight);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Draw cost
|
// Draw cost
|
||||||
|
@ -2624,7 +2624,7 @@ private:
|
||||||
}
|
}
|
||||||
|
|
||||||
void DrawTrackPiece(
|
void DrawTrackPiece(
|
||||||
DrawPixelInfo* dpi, RideId rideIndex, int32_t trackType, int32_t trackDirection, int32_t liftHillAndInvertedState,
|
DrawPixelInfo& dpi, RideId rideIndex, int32_t trackType, int32_t trackDirection, int32_t liftHillAndInvertedState,
|
||||||
int32_t widgetWidth, int32_t widgetHeight)
|
int32_t widgetWidth, int32_t widgetHeight)
|
||||||
{
|
{
|
||||||
auto currentRide = GetRide(rideIndex);
|
auto currentRide = GetRide(rideIndex);
|
||||||
|
@ -2656,20 +2656,20 @@ private:
|
||||||
|
|
||||||
const ScreenCoordsXY rotatedScreenCoords = Translate3DTo2DWithZ(GetCurrentRotation(), mapCoords);
|
const ScreenCoordsXY rotatedScreenCoords = Translate3DTo2DWithZ(GetCurrentRotation(), mapCoords);
|
||||||
|
|
||||||
dpi->x += rotatedScreenCoords.x - widgetWidth / 2;
|
dpi.x += rotatedScreenCoords.x - widgetWidth / 2;
|
||||||
dpi->y += rotatedScreenCoords.y - widgetHeight / 2 - 16;
|
dpi.y += rotatedScreenCoords.y - widgetHeight / 2 - 16;
|
||||||
|
|
||||||
DrawTrackPieceHelper(dpi, rideIndex, trackType, trackDirection, liftHillAndInvertedState, { 4096, 4096 }, 1024);
|
DrawTrackPieceHelper(dpi, rideIndex, trackType, trackDirection, liftHillAndInvertedState, { 4096, 4096 }, 1024);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DrawTrackPieceHelper(
|
void DrawTrackPieceHelper(
|
||||||
DrawPixelInfo* dpi, RideId rideIndex, int32_t trackType, int32_t trackDirection, int32_t liftHillAndInvertedState,
|
DrawPixelInfo& dpi, RideId rideIndex, int32_t trackType, int32_t trackDirection, int32_t liftHillAndInvertedState,
|
||||||
const CoordsXY& originCoords, int32_t originZ)
|
const CoordsXY& originCoords, int32_t originZ)
|
||||||
{
|
{
|
||||||
TileElement tempSideTrackTileElement{ 0x80, 0x8F, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
|
TileElement tempSideTrackTileElement{ 0x80, 0x8F, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
|
||||||
TileElement tempTrackTileElement{};
|
TileElement tempTrackTileElement{};
|
||||||
TileElement* backupTileElementArrays[5]{};
|
TileElement* backupTileElementArrays[5]{};
|
||||||
PaintSession* session = PaintSessionAlloc(dpi, 0);
|
PaintSession* session = PaintSessionAlloc(&dpi, 0);
|
||||||
trackDirection &= 3;
|
trackDirection &= 3;
|
||||||
|
|
||||||
auto currentRide = GetRide(rideIndex);
|
auto currentRide = GetRide(rideIndex);
|
||||||
|
|
|
@ -509,8 +509,8 @@ public:
|
||||||
*/
|
*/
|
||||||
void OnDraw(DrawPixelInfo& dpi) override
|
void OnDraw(DrawPixelInfo& dpi) override
|
||||||
{
|
{
|
||||||
WindowDrawWidgets(*this, &dpi);
|
WindowDrawWidgets(*this, dpi);
|
||||||
DrawTabImages(&dpi);
|
DrawTabImages(dpi);
|
||||||
|
|
||||||
// Draw number of attractions on bottom
|
// Draw number of attractions on bottom
|
||||||
auto ft = Formatter();
|
auto ft = Formatter();
|
||||||
|
@ -739,7 +739,7 @@ private:
|
||||||
*
|
*
|
||||||
* rct2: 0x006B38EA
|
* rct2: 0x006B38EA
|
||||||
*/
|
*/
|
||||||
void DrawTabImages(DrawPixelInfo* dpi)
|
void DrawTabImages(DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
int32_t sprite_idx;
|
int32_t sprite_idx;
|
||||||
|
|
||||||
|
@ -748,21 +748,21 @@ private:
|
||||||
if (page == PAGE_RIDES)
|
if (page == PAGE_RIDES)
|
||||||
sprite_idx += frame_no / 4;
|
sprite_idx += frame_no / 4;
|
||||||
GfxDrawSprite(
|
GfxDrawSprite(
|
||||||
*dpi, ImageId(sprite_idx), windowPos + ScreenCoordsXY{ widgets[WIDX_TAB_1].left, widgets[WIDX_TAB_1].top });
|
dpi, ImageId(sprite_idx), windowPos + ScreenCoordsXY{ widgets[WIDX_TAB_1].left, widgets[WIDX_TAB_1].top });
|
||||||
|
|
||||||
// Shops and stalls tab
|
// Shops and stalls tab
|
||||||
sprite_idx = SPR_TAB_SHOPS_AND_STALLS_0;
|
sprite_idx = SPR_TAB_SHOPS_AND_STALLS_0;
|
||||||
if (page == PAGE_SHOPS_AND_STALLS)
|
if (page == PAGE_SHOPS_AND_STALLS)
|
||||||
sprite_idx += frame_no / 4;
|
sprite_idx += frame_no / 4;
|
||||||
GfxDrawSprite(
|
GfxDrawSprite(
|
||||||
*dpi, ImageId(sprite_idx), windowPos + ScreenCoordsXY{ widgets[WIDX_TAB_2].left, widgets[WIDX_TAB_2].top });
|
dpi, ImageId(sprite_idx), windowPos + ScreenCoordsXY{ widgets[WIDX_TAB_2].left, widgets[WIDX_TAB_2].top });
|
||||||
|
|
||||||
// Information kiosks and facilities tab
|
// Information kiosks and facilities tab
|
||||||
sprite_idx = SPR_TAB_KIOSKS_AND_FACILITIES_0;
|
sprite_idx = SPR_TAB_KIOSKS_AND_FACILITIES_0;
|
||||||
if (page == PAGE_KIOSKS_AND_FACILITIES)
|
if (page == PAGE_KIOSKS_AND_FACILITIES)
|
||||||
sprite_idx += (frame_no / 4) % 8;
|
sprite_idx += (frame_no / 4) % 8;
|
||||||
GfxDrawSprite(
|
GfxDrawSprite(
|
||||||
*dpi, ImageId(sprite_idx), windowPos + ScreenCoordsXY{ widgets[WIDX_TAB_3].left, widgets[WIDX_TAB_3].top });
|
dpi, ImageId(sprite_idx), windowPos + ScreenCoordsXY{ widgets[WIDX_TAB_3].left, widgets[WIDX_TAB_3].top });
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -178,7 +178,7 @@ public:
|
||||||
|
|
||||||
void OnDraw(DrawPixelInfo& dpi) override
|
void OnDraw(DrawPixelInfo& dpi) override
|
||||||
{
|
{
|
||||||
WindowDrawWidgets(*this, &dpi);
|
WindowDrawWidgets(*this, dpi);
|
||||||
|
|
||||||
// Draw area as a number for tool sizes bigger than 7
|
// Draw area as a number for tool sizes bigger than 7
|
||||||
if (gWindowSceneryScatterSize > MAX_TOOL_SIZE_WITH_SPRITE)
|
if (gWindowSceneryScatterSize > MAX_TOOL_SIZE_WITH_SPRITE)
|
||||||
|
|
|
@ -293,7 +293,7 @@ public:
|
||||||
|
|
||||||
if (viewport != nullptr)
|
if (viewport != nullptr)
|
||||||
{
|
{
|
||||||
WindowDrawViewport(&dpi, *this);
|
WindowDrawViewport(dpi, *this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -206,15 +206,15 @@ public:
|
||||||
void OnDraw(DrawPixelInfo& dpi) override
|
void OnDraw(DrawPixelInfo& dpi) override
|
||||||
{
|
{
|
||||||
DrawWidgets(dpi);
|
DrawWidgets(dpi);
|
||||||
DrawTabImages(&dpi);
|
DrawTabImages(dpi);
|
||||||
|
|
||||||
switch (page)
|
switch (page)
|
||||||
{
|
{
|
||||||
case WINDOW_STAFF_OVERVIEW:
|
case WINDOW_STAFF_OVERVIEW:
|
||||||
OverviewDraw(&dpi);
|
OverviewDraw(dpi);
|
||||||
break;
|
break;
|
||||||
case WINDOW_STAFF_STATISTICS:
|
case WINDOW_STAFF_STATISTICS:
|
||||||
StatsDraw(&dpi);
|
StatsDraw(dpi);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -513,7 +513,7 @@ private:
|
||||||
widgets[WIDX_FIRE].right = width - 2;
|
widgets[WIDX_FIRE].right = width - 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
void OverviewDraw(DrawPixelInfo* dpi)
|
void OverviewDraw(DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
// Draw the viewport no sound sprite
|
// Draw the viewport no sound sprite
|
||||||
if (viewport != nullptr)
|
if (viewport != nullptr)
|
||||||
|
@ -522,7 +522,7 @@ private:
|
||||||
|
|
||||||
if (viewport->flags & VIEWPORT_FLAG_SOUND_ON)
|
if (viewport->flags & VIEWPORT_FLAG_SOUND_ON)
|
||||||
{
|
{
|
||||||
GfxDrawSprite(*dpi, ImageId(SPR_HEARING_VIEWPORT), windowPos + ScreenCoordsXY{ 2, 2 });
|
GfxDrawSprite(dpi, ImageId(SPR_HEARING_VIEWPORT), windowPos + ScreenCoordsXY{ 2, 2 });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -537,10 +537,10 @@ private:
|
||||||
const auto& widget = widgets[WIDX_BTM_LABEL];
|
const auto& widget = widgets[WIDX_BTM_LABEL];
|
||||||
auto screenPos = windowPos + ScreenCoordsXY{ widget.midX(), widget.top };
|
auto screenPos = windowPos + ScreenCoordsXY{ widget.midX(), widget.top };
|
||||||
int32_t widgetWidth = widget.width();
|
int32_t widgetWidth = widget.width();
|
||||||
DrawTextEllipsised(*dpi, screenPos, widgetWidth, STR_BLACK_STRING, ft, { TextAlignment::CENTRE });
|
DrawTextEllipsised(dpi, screenPos, widgetWidth, STR_BLACK_STRING, ft, { TextAlignment::CENTRE });
|
||||||
}
|
}
|
||||||
|
|
||||||
void DrawOverviewTabImage(DrawPixelInfo* dpi)
|
void DrawOverviewTabImage(DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
if (IsWidgetDisabled(WIDX_TAB_1))
|
if (IsWidgetDisabled(WIDX_TAB_1))
|
||||||
return;
|
return;
|
||||||
|
@ -553,7 +553,7 @@ private:
|
||||||
widgetHeight++;
|
widgetHeight++;
|
||||||
|
|
||||||
DrawPixelInfo clip_dpi;
|
DrawPixelInfo clip_dpi;
|
||||||
if (!ClipDrawPixelInfo(&clip_dpi, dpi, screenCoords, widgetWidth, widgetHeight))
|
if (!ClipDrawPixelInfo(&clip_dpi, &dpi, screenCoords, widgetWidth, widgetHeight))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -914,7 +914,7 @@ private:
|
||||||
#pragma endregion
|
#pragma endregion
|
||||||
|
|
||||||
#pragma region Statistics tab events
|
#pragma region Statistics tab events
|
||||||
void StatsDraw(DrawPixelInfo* dpi)
|
void StatsDraw(DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
auto staff = GetStaff();
|
auto staff = GetStaff();
|
||||||
if (staff == nullptr)
|
if (staff == nullptr)
|
||||||
|
@ -928,13 +928,13 @@ private:
|
||||||
{
|
{
|
||||||
auto ft = Formatter();
|
auto ft = Formatter();
|
||||||
ft.Add<money64>(GetStaffWage(staff->AssignedStaffType));
|
ft.Add<money64>(GetStaffWage(staff->AssignedStaffType));
|
||||||
DrawTextBasic(*dpi, screenCoords, STR_STAFF_STAT_WAGES, ft);
|
DrawTextBasic(dpi, screenCoords, STR_STAFF_STAT_WAGES, ft);
|
||||||
screenCoords.y += LIST_ROW_HEIGHT;
|
screenCoords.y += LIST_ROW_HEIGHT;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto ft = Formatter();
|
auto ft = Formatter();
|
||||||
ft.Add<int32_t>(staff->GetHireDate());
|
ft.Add<int32_t>(staff->GetHireDate());
|
||||||
DrawTextBasic(*dpi, screenCoords, STR_STAFF_STAT_EMPLOYED_FOR, ft);
|
DrawTextBasic(dpi, screenCoords, STR_STAFF_STAT_EMPLOYED_FOR, ft);
|
||||||
screenCoords.y += LIST_ROW_HEIGHT;
|
screenCoords.y += LIST_ROW_HEIGHT;
|
||||||
|
|
||||||
switch (staff->AssignedStaffType)
|
switch (staff->AssignedStaffType)
|
||||||
|
@ -942,37 +942,37 @@ private:
|
||||||
case StaffType::Handyman:
|
case StaffType::Handyman:
|
||||||
ft = Formatter();
|
ft = Formatter();
|
||||||
ft.Add<uint32_t>(staff->StaffLawnsMown);
|
ft.Add<uint32_t>(staff->StaffLawnsMown);
|
||||||
DrawTextBasic(*dpi, screenCoords, STR_STAFF_STAT_LAWNS_MOWN, ft);
|
DrawTextBasic(dpi, screenCoords, STR_STAFF_STAT_LAWNS_MOWN, ft);
|
||||||
screenCoords.y += LIST_ROW_HEIGHT;
|
screenCoords.y += LIST_ROW_HEIGHT;
|
||||||
|
|
||||||
ft = Formatter();
|
ft = Formatter();
|
||||||
ft.Add<uint32_t>(staff->StaffGardensWatered);
|
ft.Add<uint32_t>(staff->StaffGardensWatered);
|
||||||
DrawTextBasic(*dpi, screenCoords, STR_STAFF_STAT_GARDENS_WATERED, ft);
|
DrawTextBasic(dpi, screenCoords, STR_STAFF_STAT_GARDENS_WATERED, ft);
|
||||||
screenCoords.y += LIST_ROW_HEIGHT;
|
screenCoords.y += LIST_ROW_HEIGHT;
|
||||||
|
|
||||||
ft = Formatter();
|
ft = Formatter();
|
||||||
ft.Add<uint32_t>(staff->StaffLitterSwept);
|
ft.Add<uint32_t>(staff->StaffLitterSwept);
|
||||||
DrawTextBasic(*dpi, screenCoords, STR_STAFF_STAT_LITTER_SWEPT, ft);
|
DrawTextBasic(dpi, screenCoords, STR_STAFF_STAT_LITTER_SWEPT, ft);
|
||||||
screenCoords.y += LIST_ROW_HEIGHT;
|
screenCoords.y += LIST_ROW_HEIGHT;
|
||||||
|
|
||||||
ft = Formatter();
|
ft = Formatter();
|
||||||
ft.Add<uint32_t>(staff->StaffBinsEmptied);
|
ft.Add<uint32_t>(staff->StaffBinsEmptied);
|
||||||
DrawTextBasic(*dpi, screenCoords, STR_STAFF_STAT_BINS_EMPTIED, ft);
|
DrawTextBasic(dpi, screenCoords, STR_STAFF_STAT_BINS_EMPTIED, ft);
|
||||||
break;
|
break;
|
||||||
case StaffType::Mechanic:
|
case StaffType::Mechanic:
|
||||||
ft = Formatter();
|
ft = Formatter();
|
||||||
ft.Add<uint32_t>(staff->StaffRidesInspected);
|
ft.Add<uint32_t>(staff->StaffRidesInspected);
|
||||||
DrawTextBasic(*dpi, screenCoords, STR_STAFF_STAT_RIDES_INSPECTED, ft);
|
DrawTextBasic(dpi, screenCoords, STR_STAFF_STAT_RIDES_INSPECTED, ft);
|
||||||
screenCoords.y += LIST_ROW_HEIGHT;
|
screenCoords.y += LIST_ROW_HEIGHT;
|
||||||
|
|
||||||
ft = Formatter();
|
ft = Formatter();
|
||||||
ft.Add<uint32_t>(staff->StaffRidesFixed);
|
ft.Add<uint32_t>(staff->StaffRidesFixed);
|
||||||
DrawTextBasic(*dpi, screenCoords, STR_STAFF_STAT_RIDES_FIXED, ft);
|
DrawTextBasic(dpi, screenCoords, STR_STAFF_STAT_RIDES_FIXED, ft);
|
||||||
break;
|
break;
|
||||||
case StaffType::Security:
|
case StaffType::Security:
|
||||||
ft = Formatter();
|
ft = Formatter();
|
||||||
ft.Add<uint32_t>(staff->StaffVandalsStopped);
|
ft.Add<uint32_t>(staff->StaffVandalsStopped);
|
||||||
DrawTextBasic(*dpi, screenCoords, STR_STAFF_STAT_VANDALS_STOPPED, ft);
|
DrawTextBasic(dpi, screenCoords, STR_STAFF_STAT_VANDALS_STOPPED, ft);
|
||||||
break;
|
break;
|
||||||
case StaffType::Entertainer:
|
case StaffType::Entertainer:
|
||||||
case StaffType::Count:
|
case StaffType::Count:
|
||||||
|
@ -1192,14 +1192,14 @@ private:
|
||||||
WindowFollowSprite(*main, EntityId::FromUnderlying(number));
|
WindowFollowSprite(*main, EntityId::FromUnderlying(number));
|
||||||
}
|
}
|
||||||
|
|
||||||
void DrawTabImages(DrawPixelInfo* dpi)
|
void DrawTabImages(DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
DrawOverviewTabImage(dpi);
|
DrawOverviewTabImage(dpi);
|
||||||
DrawTabImage(dpi, WINDOW_STAFF_OPTIONS, SPR_TAB_STAFF_OPTIONS_0);
|
DrawTabImage(dpi, WINDOW_STAFF_OPTIONS, SPR_TAB_STAFF_OPTIONS_0);
|
||||||
DrawTabImage(dpi, WINDOW_STAFF_STATISTICS, SPR_TAB_STATS_0);
|
DrawTabImage(dpi, WINDOW_STAFF_STATISTICS, SPR_TAB_STATS_0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DrawTabImage(DrawPixelInfo* dpi, int32_t p, int32_t baseImageId)
|
void DrawTabImage(DrawPixelInfo& dpi, int32_t p, int32_t baseImageId)
|
||||||
{
|
{
|
||||||
WidgetIndex widgetIndex = WIDX_TAB_1 + p;
|
WidgetIndex widgetIndex = WIDX_TAB_1 + p;
|
||||||
Widget* widget = &widgets[widgetIndex];
|
Widget* widget = &widgets[widgetIndex];
|
||||||
|
@ -1215,7 +1215,7 @@ private:
|
||||||
}
|
}
|
||||||
|
|
||||||
// Draw normal, enabled sprite.
|
// Draw normal, enabled sprite.
|
||||||
GfxDrawSprite(*dpi, ImageId(baseImageId), screenCoords);
|
GfxDrawSprite(dpi, ImageId(baseImageId), screenCoords);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -447,8 +447,8 @@ public:
|
||||||
void OnDraw(DrawPixelInfo& dpi) override
|
void OnDraw(DrawPixelInfo& dpi) override
|
||||||
{
|
{
|
||||||
// Widgets
|
// Widgets
|
||||||
WindowDrawWidgets(*this, &dpi);
|
WindowDrawWidgets(*this, dpi);
|
||||||
WindowThemesDrawTabImages(&dpi);
|
WindowThemesDrawTabImages(dpi);
|
||||||
|
|
||||||
if (_selected_tab == WINDOW_THEMES_TAB_SETTINGS)
|
if (_selected_tab == WINDOW_THEMES_TAB_SETTINGS)
|
||||||
{
|
{
|
||||||
|
@ -868,7 +868,7 @@ public:
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void WindowThemesDrawTabImages(DrawPixelInfo* dpi)
|
void WindowThemesDrawTabImages(DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
for (int32_t i = 0; i < WINDOW_THEMES_TAB_COUNT; i++)
|
for (int32_t i = 0; i < WINDOW_THEMES_TAB_COUNT; i++)
|
||||||
{
|
{
|
||||||
|
@ -876,7 +876,7 @@ public:
|
||||||
if (_selected_tab == i)
|
if (_selected_tab == i)
|
||||||
sprite_idx += frame_no / window_themes_tab_animation_divisor[_selected_tab];
|
sprite_idx += frame_no / window_themes_tab_animation_divisor[_selected_tab];
|
||||||
GfxDrawSprite(
|
GfxDrawSprite(
|
||||||
*dpi, ImageId(sprite_idx),
|
dpi, ImageId(sprite_idx),
|
||||||
windowPos
|
windowPos
|
||||||
+ ScreenCoordsXY{ widgets[WIDX_THEMES_SETTINGS_TAB + i].left, widgets[WIDX_THEMES_SETTINGS_TAB + i].top });
|
+ ScreenCoordsXY{ widgets[WIDX_THEMES_SETTINGS_TAB + i].left, widgets[WIDX_THEMES_SETTINGS_TAB + i].top });
|
||||||
}
|
}
|
||||||
|
|
|
@ -3180,7 +3180,7 @@ public:
|
||||||
{
|
{
|
||||||
int32_t imgId;
|
int32_t imgId;
|
||||||
|
|
||||||
WindowDrawWidgets(*this, &dpi);
|
WindowDrawWidgets(*this, dpi);
|
||||||
|
|
||||||
ScreenCoordsXY screenPos{};
|
ScreenCoordsXY screenPos{};
|
||||||
// Draw staff button image (setting masks to the staff colours)
|
// Draw staff button image (setting masks to the staff colours)
|
||||||
|
|
|
@ -288,7 +288,7 @@ public:
|
||||||
{
|
{
|
||||||
auto ft = Formatter::Common();
|
auto ft = Formatter::Common();
|
||||||
ft.Add<char*>(_trackDesign->name.c_str());
|
ft.Add<char*>(_trackDesign->name.c_str());
|
||||||
WindowDrawWidgets(*this, &dpi);
|
WindowDrawWidgets(*this, dpi);
|
||||||
|
|
||||||
// Draw mini tile preview
|
// Draw mini tile preview
|
||||||
DrawPixelInfo clippedDpi;
|
DrawPixelInfo clippedDpi;
|
||||||
|
|
|
@ -274,7 +274,7 @@ public:
|
||||||
|
|
||||||
void OnDraw(DrawPixelInfo& dpi) override
|
void OnDraw(DrawPixelInfo& dpi) override
|
||||||
{
|
{
|
||||||
WindowDrawWidgets(*this, &dpi);
|
WindowDrawWidgets(*this, dpi);
|
||||||
|
|
||||||
// Clip height value
|
// Clip height value
|
||||||
auto screenCoords = this->windowPos + ScreenCoordsXY{ 8, this->widgets[WIDX_CLIP_HEIGHT_VALUE].top };
|
auto screenCoords = this->windowPos + ScreenCoordsXY{ 8, this->widgets[WIDX_CLIP_HEIGHT_VALUE].top };
|
||||||
|
|
|
@ -156,7 +156,7 @@ public:
|
||||||
|
|
||||||
// Draw viewport
|
// Draw viewport
|
||||||
if (viewport != nullptr)
|
if (viewport != nullptr)
|
||||||
WindowDrawViewport(&dpi, *this);
|
WindowDrawViewport(dpi, *this);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OnResize() override
|
void OnResize() override
|
||||||
|
|
|
@ -120,8 +120,8 @@ WindowBase* WindowMapOpen();
|
||||||
void WindowMapReset();
|
void WindowMapReset();
|
||||||
|
|
||||||
WindowBase* WindowResearchOpen();
|
WindowBase* WindowResearchOpen();
|
||||||
void WindowResearchDevelopmentPagePaint(WindowBase* w, DrawPixelInfo* dpi, WidgetIndex baseWidgetIndex);
|
void WindowResearchDevelopmentPagePaint(WindowBase* w, DrawPixelInfo& dpi, WidgetIndex baseWidgetIndex);
|
||||||
void WindowResearchFundingPagePaint(WindowBase* w, DrawPixelInfo* dpi, WidgetIndex baseWidgetIndex);
|
void WindowResearchFundingPagePaint(WindowBase* w, DrawPixelInfo& dpi, WidgetIndex baseWidgetIndex);
|
||||||
|
|
||||||
WindowBase* WindowNewRideOpen();
|
WindowBase* WindowNewRideOpen();
|
||||||
WindowBase* WindowNewRideOpenResearch();
|
WindowBase* WindowNewRideOpenResearch();
|
||||||
|
|
|
@ -437,7 +437,7 @@ void X8DrawingEngine::DrawDirtyBlocks(uint32_t x, uint32_t y, uint32_t columns,
|
||||||
|
|
||||||
// Draw region
|
// Draw region
|
||||||
OnDrawDirtyBlock(x, y, columns, rows);
|
OnDrawDirtyBlock(x, y, columns, rows);
|
||||||
WindowDrawAll(&_bitsDPI, left, top, right, bottom);
|
WindowDrawAll(_bitsDPI, left, top, right, bottom);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef __WARN_SUGGEST_FINAL_METHODS__
|
#ifdef __WARN_SUGGEST_FINAL_METHODS__
|
||||||
|
|
|
@ -370,14 +370,14 @@ static void ViewportRedrawAfterShift(DrawPixelInfo* dpi, WindowBase* window, Vie
|
||||||
{
|
{
|
||||||
// draw left
|
// draw left
|
||||||
auto _right = viewport->pos.x + coords.x;
|
auto _right = viewport->pos.x + coords.x;
|
||||||
WindowDrawAll(dpi, left, top, _right, bottom);
|
WindowDrawAll(*dpi, left, top, _right, bottom);
|
||||||
left += coords.x;
|
left += coords.x;
|
||||||
}
|
}
|
||||||
else if (coords.x < 0)
|
else if (coords.x < 0)
|
||||||
{
|
{
|
||||||
// draw right
|
// draw right
|
||||||
auto _left = viewport->pos.x + viewport->width + coords.x;
|
auto _left = viewport->pos.x + viewport->width + coords.x;
|
||||||
WindowDrawAll(dpi, _left, top, right, bottom);
|
WindowDrawAll(*dpi, _left, top, right, bottom);
|
||||||
right += coords.x;
|
right += coords.x;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -385,19 +385,19 @@ static void ViewportRedrawAfterShift(DrawPixelInfo* dpi, WindowBase* window, Vie
|
||||||
{
|
{
|
||||||
// draw top
|
// draw top
|
||||||
bottom = viewport->pos.y + coords.y;
|
bottom = viewport->pos.y + coords.y;
|
||||||
WindowDrawAll(dpi, left, top, right, bottom);
|
WindowDrawAll(*dpi, left, top, right, bottom);
|
||||||
}
|
}
|
||||||
else if (coords.y < 0)
|
else if (coords.y < 0)
|
||||||
{
|
{
|
||||||
// draw bottom
|
// draw bottom
|
||||||
top = viewport->pos.y + viewport->height + coords.y;
|
top = viewport->pos.y + viewport->height + coords.y;
|
||||||
WindowDrawAll(dpi, left, top, right, bottom);
|
WindowDrawAll(*dpi, left, top, right, bottom);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// redraw whole viewport
|
// redraw whole viewport
|
||||||
WindowDrawAll(dpi, left, top, right, bottom);
|
WindowDrawAll(*dpi, left, top, right, bottom);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -443,7 +443,7 @@ static void ViewportShiftPixels(DrawPixelInfo* dpi, WindowBase* window, Viewport
|
||||||
if (top >= bottom)
|
if (top >= bottom)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
WindowDrawAll(dpi, left, top, right, bottom);
|
WindowDrawAll(*dpi, left, top, right, bottom);
|
||||||
}
|
}
|
||||||
|
|
||||||
ViewportRedrawAfterShift(dpi, window, viewport, { x_diff, y_diff });
|
ViewportRedrawAfterShift(dpi, window, viewport, { x_diff, y_diff });
|
||||||
|
@ -480,7 +480,7 @@ static void ViewportMove(const ScreenCoordsXY& coords, WindowBase* w, Viewport*
|
||||||
if (DrawingEngineHasDirtyOptimisations())
|
if (DrawingEngineHasDirtyOptimisations())
|
||||||
{
|
{
|
||||||
DrawPixelInfo* dpi = DrawingEngineGetDpi();
|
DrawPixelInfo* dpi = DrawingEngineGetDpi();
|
||||||
WindowDrawAll(dpi, left, top, right, bottom);
|
WindowDrawAll(*dpi, left, top, right, bottom);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -84,7 +84,7 @@ namespace WindowCloseFlags
|
||||||
static constexpr uint32_t CloseSingle = (1 << 1);
|
static constexpr uint32_t CloseSingle = (1 << 1);
|
||||||
} // namespace WindowCloseFlags
|
} // namespace WindowCloseFlags
|
||||||
|
|
||||||
static void WindowDrawCore(DrawPixelInfo* dpi, WindowBase& w, int32_t left, int32_t top, int32_t right, int32_t bottom);
|
static void WindowDrawCore(DrawPixelInfo& dpi, WindowBase& w, int32_t left, int32_t top, int32_t right, int32_t bottom);
|
||||||
static void WindowDrawSingle(DrawPixelInfo* dpi, WindowBase& w, int32_t left, int32_t top, int32_t right, int32_t bottom);
|
static void WindowDrawSingle(DrawPixelInfo* dpi, WindowBase& w, int32_t left, int32_t top, int32_t right, int32_t bottom);
|
||||||
|
|
||||||
std::list<std::shared_ptr<WindowBase>>::iterator WindowGetIterator(const WindowBase* w)
|
std::list<std::shared_ptr<WindowBase>>::iterator WindowGetIterator(const WindowBase* w)
|
||||||
|
@ -1130,7 +1130,7 @@ void MainWindowZoom(bool zoomIn, bool atCursor)
|
||||||
* Splits a drawing of a window into regions that can be seen and are not hidden
|
* Splits a drawing of a window into regions that can be seen and are not hidden
|
||||||
* by other opaque overlapping windows.
|
* by other opaque overlapping windows.
|
||||||
*/
|
*/
|
||||||
void WindowDraw(DrawPixelInfo* dpi, WindowBase& w, int32_t left, int32_t top, int32_t right, int32_t bottom)
|
void WindowDraw(DrawPixelInfo& dpi, WindowBase& w, int32_t left, int32_t top, int32_t right, int32_t bottom)
|
||||||
{
|
{
|
||||||
if (!WindowIsVisible(w))
|
if (!WindowIsVisible(w))
|
||||||
return;
|
return;
|
||||||
|
@ -1185,7 +1185,7 @@ void WindowDraw(DrawPixelInfo* dpi, WindowBase& w, int32_t left, int32_t top, in
|
||||||
/**
|
/**
|
||||||
* Draws the given window and any other overlapping transparent windows.
|
* Draws the given window and any other overlapping transparent windows.
|
||||||
*/
|
*/
|
||||||
static void WindowDrawCore(DrawPixelInfo* dpi, WindowBase& w, int32_t left, int32_t top, int32_t right, int32_t bottom)
|
static void WindowDrawCore(DrawPixelInfo& dpi, WindowBase& w, int32_t left, int32_t top, int32_t right, int32_t bottom)
|
||||||
{
|
{
|
||||||
// Clamp region
|
// Clamp region
|
||||||
left = std::max<int32_t>(left, w.windowPos.x);
|
left = std::max<int32_t>(left, w.windowPos.x);
|
||||||
|
@ -1203,7 +1203,7 @@ static void WindowDrawCore(DrawPixelInfo* dpi, WindowBase& w, int32_t left, int3
|
||||||
auto* v = (*it).get();
|
auto* v = (*it).get();
|
||||||
if ((&w == v || (v->flags & WF_TRANSPARENT)) && WindowIsVisible(*v))
|
if ((&w == v || (v->flags & WF_TRANSPARENT)) && WindowIsVisible(*v))
|
||||||
{
|
{
|
||||||
WindowDrawSingle(dpi, *v, left, top, right, bottom);
|
WindowDrawSingle(&dpi, *v, left, top, right, bottom);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1266,7 +1266,7 @@ static void WindowDrawSingle(DrawPixelInfo* dpi, WindowBase& w, int32_t left, in
|
||||||
gCurrentWindowColours[2] = NOT_TRANSLUCENT(w.colours[2]);
|
gCurrentWindowColours[2] = NOT_TRANSLUCENT(w.colours[2]);
|
||||||
gCurrentWindowColours[3] = NOT_TRANSLUCENT(w.colours[3]);
|
gCurrentWindowColours[3] = NOT_TRANSLUCENT(w.colours[3]);
|
||||||
|
|
||||||
WindowEventPaintCall(&w, dpi);
|
WindowEventPaintCall(&w, *dpi);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1276,9 +1276,9 @@ static void WindowDrawSingle(DrawPixelInfo* dpi, WindowBase& w, int32_t left, in
|
||||||
* @param dpi (edi)
|
* @param dpi (edi)
|
||||||
* @param w (esi)
|
* @param w (esi)
|
||||||
*/
|
*/
|
||||||
void WindowDrawViewport(DrawPixelInfo* dpi, WindowBase& w)
|
void WindowDrawViewport(DrawPixelInfo& dpi, WindowBase& w)
|
||||||
{
|
{
|
||||||
ViewportRender(dpi, w.viewport, { { dpi->x, dpi->y }, { dpi->x + dpi->width, dpi->y + dpi->height } });
|
ViewportRender(&dpi, w.viewport, { { dpi.x, dpi.y }, { dpi.x + dpi.width, dpi.y + dpi.height } });
|
||||||
}
|
}
|
||||||
|
|
||||||
void WindowSetPosition(WindowBase& w, const ScreenCoordsXY& screenCoords)
|
void WindowSetPosition(WindowBase& w, const ScreenCoordsXY& screenCoords)
|
||||||
|
@ -1647,18 +1647,18 @@ void WindowEventInvalidateCall(WindowBase* w)
|
||||||
w->event_handlers->invalidate(w);
|
w->event_handlers->invalidate(w);
|
||||||
}
|
}
|
||||||
|
|
||||||
void WindowEventPaintCall(WindowBase* w, DrawPixelInfo* dpi)
|
void WindowEventPaintCall(WindowBase* w, DrawPixelInfo& dpi)
|
||||||
{
|
{
|
||||||
if (w->event_handlers == nullptr)
|
if (w->event_handlers == nullptr)
|
||||||
w->OnDraw(*dpi);
|
w->OnDraw(dpi);
|
||||||
else if (w->event_handlers->paint != nullptr)
|
else if (w->event_handlers->paint != nullptr)
|
||||||
w->event_handlers->paint(w, dpi);
|
w->event_handlers->paint(w, dpi);
|
||||||
}
|
}
|
||||||
|
|
||||||
void WindowEventScrollPaintCall(WindowBase* w, DrawPixelInfo* dpi, int32_t scrollIndex)
|
void WindowEventScrollPaintCall(WindowBase* w, DrawPixelInfo& dpi, int32_t scrollIndex)
|
||||||
{
|
{
|
||||||
if (w->event_handlers == nullptr)
|
if (w->event_handlers == nullptr)
|
||||||
w->OnScrollDraw(scrollIndex, *dpi);
|
w->OnScrollDraw(scrollIndex, dpi);
|
||||||
else if (w->event_handlers->scroll_paint != nullptr)
|
else if (w->event_handlers->scroll_paint != nullptr)
|
||||||
w->event_handlers->scroll_paint(w, dpi, scrollIndex);
|
w->event_handlers->scroll_paint(w, dpi, scrollIndex);
|
||||||
}
|
}
|
||||||
|
@ -2089,9 +2089,9 @@ bool WindowIsVisible(WindowBase& w)
|
||||||
* right (dx)
|
* right (dx)
|
||||||
* bottom (bp)
|
* bottom (bp)
|
||||||
*/
|
*/
|
||||||
void WindowDrawAll(DrawPixelInfo* dpi, int32_t left, int32_t top, int32_t right, int32_t bottom)
|
void WindowDrawAll(DrawPixelInfo& dpi, int32_t left, int32_t top, int32_t right, int32_t bottom)
|
||||||
{
|
{
|
||||||
auto windowDPI = dpi->Crop({ left, top }, { right - left, bottom - top });
|
auto windowDPI = dpi.Crop({ left, top }, { right - left, bottom - top });
|
||||||
WindowVisitEach([&windowDPI, left, top, right, bottom](WindowBase* w) {
|
WindowVisitEach([&windowDPI, left, top, right, bottom](WindowBase* w) {
|
||||||
if (w->flags & WF_TRANSPARENT)
|
if (w->flags & WF_TRANSPARENT)
|
||||||
return;
|
return;
|
||||||
|
@ -2099,7 +2099,7 @@ void WindowDrawAll(DrawPixelInfo* dpi, int32_t left, int32_t top, int32_t right,
|
||||||
return;
|
return;
|
||||||
if (left >= w->windowPos.x + w->width || top >= w->windowPos.y + w->height)
|
if (left >= w->windowPos.x + w->width || top >= w->windowPos.y + w->height)
|
||||||
return;
|
return;
|
||||||
WindowDraw(&windowDPI, *w, left, top, right, bottom);
|
WindowDraw(windowDPI, *w, left, top, right, bottom);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -247,8 +247,8 @@ struct WindowEventList
|
||||||
void (*cursor)(struct WindowBase*, WidgetIndex, const ScreenCoordsXY&, CursorID*){};
|
void (*cursor)(struct WindowBase*, WidgetIndex, const ScreenCoordsXY&, CursorID*){};
|
||||||
void (*moved)(struct WindowBase*, const ScreenCoordsXY&){};
|
void (*moved)(struct WindowBase*, const ScreenCoordsXY&){};
|
||||||
void (*invalidate)(struct WindowBase*){};
|
void (*invalidate)(struct WindowBase*){};
|
||||||
void (*paint)(struct WindowBase*, DrawPixelInfo*){};
|
void (*paint)(struct WindowBase*, DrawPixelInfo&){};
|
||||||
void (*scroll_paint)(struct WindowBase*, DrawPixelInfo*, int32_t){};
|
void (*scroll_paint)(struct WindowBase*, DrawPixelInfo&, int32_t){};
|
||||||
|
|
||||||
typedef void (*fnEventInitializer)(WindowEventList&);
|
typedef void (*fnEventInitializer)(WindowEventList&);
|
||||||
WindowEventList(fnEventInitializer fn)
|
WindowEventList(fnEventInitializer fn)
|
||||||
|
@ -662,10 +662,10 @@ void WindowZoomIn(WindowBase& w, bool atCursor);
|
||||||
void WindowZoomOut(WindowBase& w, bool atCursor);
|
void WindowZoomOut(WindowBase& w, bool atCursor);
|
||||||
void MainWindowZoom(bool zoomIn, bool atCursor);
|
void MainWindowZoom(bool zoomIn, bool atCursor);
|
||||||
|
|
||||||
void WindowDrawAll(DrawPixelInfo* dpi, int32_t left, int32_t top, int32_t right, int32_t bottom);
|
void WindowDrawAll(DrawPixelInfo& dpi, int32_t left, int32_t top, int32_t right, int32_t bottom);
|
||||||
void WindowDraw(DrawPixelInfo* dpi, WindowBase& w, int32_t left, int32_t top, int32_t right, int32_t bottom);
|
void WindowDraw(DrawPixelInfo& dpi, WindowBase& w, int32_t left, int32_t top, int32_t right, int32_t bottom);
|
||||||
void WindowDrawWidgets(WindowBase& w, DrawPixelInfo* dpi);
|
void WindowDrawWidgets(WindowBase& w, DrawPixelInfo& dpi);
|
||||||
void WindowDrawViewport(DrawPixelInfo* dpi, WindowBase& w);
|
void WindowDrawViewport(DrawPixelInfo& dpi, WindowBase& w);
|
||||||
|
|
||||||
void WindowSetPosition(WindowBase& w, const ScreenCoordsXY& screenCoords);
|
void WindowSetPosition(WindowBase& w, const ScreenCoordsXY& screenCoords);
|
||||||
void WindowMovePosition(WindowBase& w, const ScreenCoordsXY& screenCoords);
|
void WindowMovePosition(WindowBase& w, const ScreenCoordsXY& screenCoords);
|
||||||
|
@ -713,8 +713,8 @@ OpenRCT2String WindowEventTooltipCall(WindowBase* w, const WidgetIndex widgetInd
|
||||||
CursorID WindowEventCursorCall(WindowBase* w, WidgetIndex widgetIndex, const ScreenCoordsXY& screenCoords);
|
CursorID WindowEventCursorCall(WindowBase* w, WidgetIndex widgetIndex, const ScreenCoordsXY& screenCoords);
|
||||||
void WindowEventMovedCall(WindowBase* w, const ScreenCoordsXY& screenCoords);
|
void WindowEventMovedCall(WindowBase* w, const ScreenCoordsXY& screenCoords);
|
||||||
void WindowEventInvalidateCall(WindowBase* w);
|
void WindowEventInvalidateCall(WindowBase* w);
|
||||||
void WindowEventPaintCall(WindowBase* w, DrawPixelInfo* dpi);
|
void WindowEventPaintCall(WindowBase* w, DrawPixelInfo& dpi);
|
||||||
void WindowEventScrollPaintCall(WindowBase* w, DrawPixelInfo* dpi, int32_t scrollIndex);
|
void WindowEventScrollPaintCall(WindowBase* w, DrawPixelInfo& dpi, int32_t scrollIndex);
|
||||||
|
|
||||||
void InvalidateAllWindowsAfterInput();
|
void InvalidateAllWindowsAfterInput();
|
||||||
void TextinputCancel();
|
void TextinputCancel();
|
||||||
|
|
Loading…
Reference in New Issue