Make widget::colour safe (#1001)
* Initial start of making widget::colour safe * Switch all makeWidgets to use enum class * Modify name to WindowColour * Use accessors for window colours * Add assert
This commit is contained in:
parent
68938e075e
commit
74995014e6
|
@ -151,7 +151,7 @@ namespace OpenLoco::Ui::Dropdown
|
|||
};
|
||||
|
||||
Widget widgets[] = {
|
||||
makeWidget({ 0, 0 }, { 1, 1 }, WidgetType::wt_3, 0),
|
||||
makeWidget({ 0, 0 }, { 1, 1 }, WidgetType::wt_3, WindowColour::primary),
|
||||
widgetEnd()
|
||||
};
|
||||
|
||||
|
@ -221,7 +221,7 @@ namespace OpenLoco::Ui::Dropdown
|
|||
}
|
||||
}
|
||||
|
||||
auto colour = Colour::opaque(self->colours[0]);
|
||||
auto colour = Colour::opaque(self->getColour(WindowColour::primary));
|
||||
|
||||
if (itemCount == _dropdownHighlightedIndex)
|
||||
{
|
||||
|
@ -232,7 +232,7 @@ namespace OpenLoco::Ui::Dropdown
|
|||
{
|
||||
if (itemCount < 32)
|
||||
{
|
||||
colour = Colour::inset(Colour::opaque(self->colours[0]));
|
||||
colour = Colour::inset(Colour::opaque(self->getColour(WindowColour::primary)));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -261,14 +261,14 @@ namespace OpenLoco::Ui::Dropdown
|
|||
auto x = _windowDropdownOnpaintCellX * _dropdownItemWidth + self->x + 2;
|
||||
auto y = _windowDropdownOnpaintCellY * _dropdownItemHeight + self->y + 1 + _dropdownItemHeight / 2;
|
||||
|
||||
if (!(self->colours[0] & Colour::translucent_flag))
|
||||
if (!(self->getColour(WindowColour::primary) & Colour::translucent_flag))
|
||||
{
|
||||
Gfx::drawRect(context, x, y, _dropdownItemWidth - 1, 1, Colour::getShade(self->colours[0], 3));
|
||||
Gfx::drawRect(context, x, y + 1, _dropdownItemWidth - 1, 1, Colour::getShade(self->colours[0], 7));
|
||||
Gfx::drawRect(context, x, y, _dropdownItemWidth - 1, 1, Colour::getShade(self->getColour(WindowColour::primary), 3));
|
||||
Gfx::drawRect(context, x, y + 1, _dropdownItemWidth - 1, 1, Colour::getShade(self->getColour(WindowColour::primary), 7));
|
||||
}
|
||||
else
|
||||
{
|
||||
uint32_t colour = _byte_5045FA[Colour::opaque(self->colours[0])] | (1 << 25);
|
||||
uint32_t colour = _byte_5045FA[Colour::opaque(self->getColour(WindowColour::primary))] | (1 << 25);
|
||||
colour++;
|
||||
Gfx::drawRect(context, x, y, _dropdownItemWidth - 1, 1, colour);
|
||||
colour++;
|
||||
|
@ -305,8 +305,8 @@ namespace OpenLoco::Ui::Dropdown
|
|||
|
||||
common::initEvents();
|
||||
|
||||
common::widgets[0].colour = Colour::black;
|
||||
window->colours[0] = colour;
|
||||
common::widgets[0].windowColour = WindowColour::primary;
|
||||
window->setColour(WindowColour::primary, colour);
|
||||
|
||||
_dropdownHighlightedIndex = -1;
|
||||
_dropdownDisabledItems = 0;
|
||||
|
@ -378,7 +378,6 @@ namespace OpenLoco::Ui::Dropdown
|
|||
_dropdownItemWidth = maxStringWidth;
|
||||
_dropdownItemCount = static_cast<uint16_t>(count);
|
||||
_dropdownRowCount = static_cast<uint32_t>(count);
|
||||
widgets[0].colour = colour;
|
||||
uint16_t dropdownHeight = _dropdownItemHeight * static_cast<uint16_t>(count) + 3;
|
||||
widgets[0].bottom = dropdownHeight;
|
||||
dropdownHeight++;
|
||||
|
@ -472,7 +471,6 @@ namespace OpenLoco::Ui::Dropdown
|
|||
_dropdownRowCount = 0;
|
||||
_dropdownRowCount = count;
|
||||
|
||||
common::widgets[0].colour = colour;
|
||||
int16_t dropdownHeight = (static_cast<int16_t>(count) * _dropdownItemHeight) + 3;
|
||||
common::widgets[0].bottom = dropdownHeight;
|
||||
dropdownHeight++;
|
||||
|
@ -570,7 +568,6 @@ namespace OpenLoco::Ui::Dropdown
|
|||
_dropdownItemCount = count;
|
||||
_dropdownColumnCount = columnCount;
|
||||
|
||||
common::widgets[0].colour = colour;
|
||||
_dropdownRowCount = _dropdownItemCount / _dropdownColumnCount + 1 * (_dropdownItemCount % _dropdownColumnCount);
|
||||
uint16_t dropdownWidth = _dropdownItemWidth * _dropdownColumnCount + 3;
|
||||
common::widgets[0].right = dropdownWidth;
|
||||
|
@ -648,7 +645,7 @@ namespace OpenLoco::Ui::Dropdown
|
|||
WindowManager::invalidateWidget(_pressedWindowType, _pressedWindowNumber, _pressedWidgetIndex);
|
||||
|
||||
auto widget = window->widgets[widgetIndex];
|
||||
auto colour = window->colours[widget.colour];
|
||||
auto colour = window->getColour(widget.windowColour);
|
||||
colour = Colour::translucent(colour);
|
||||
|
||||
auto x = widget.left + window->x;
|
||||
|
@ -741,7 +738,6 @@ namespace OpenLoco::Ui::Dropdown
|
|||
|
||||
_dropdownItemCount = static_cast<uint16_t>(count);
|
||||
_dropdownRowCount = static_cast<uint32_t>(count);
|
||||
common::widgets[0].colour = colour;
|
||||
uint16_t dropdownHeight = static_cast<uint16_t>(count) * _dropdownItemHeight + 3;
|
||||
common::widgets[0].bottom = dropdownHeight;
|
||||
dropdownHeight++;
|
||||
|
@ -837,7 +833,7 @@ namespace OpenLoco::Ui::Dropdown
|
|||
}
|
||||
auto x = widget->left + window->x;
|
||||
auto y = widget->top + window->y;
|
||||
auto colour = Colour::translucent(window->colours[widget->colour]);
|
||||
auto colour = Colour::translucent(window->getColour(widget->windowColour));
|
||||
|
||||
showText(x, y, widget->width(), widget->height(), 25, colour, index, (1 << 6));
|
||||
|
||||
|
|
|
@ -1164,7 +1164,7 @@ namespace OpenLoco::Ui::WindowManager
|
|||
// Company colour
|
||||
if (w->owner != CompanyId::null)
|
||||
{
|
||||
w->colours[0] = CompanyManager::getCompanyColour(w->owner);
|
||||
w->setColour(WindowColour::primary, CompanyManager::getCompanyColour(w->owner));
|
||||
}
|
||||
|
||||
addr<0x1136F9C, int16_t>() = w->x;
|
||||
|
@ -1172,10 +1172,10 @@ namespace OpenLoco::Ui::WindowManager
|
|||
|
||||
loco_global<uint8_t[4], 0x1136594> windowColours;
|
||||
// Text colouring
|
||||
windowColours[0] = Colour::opaque(w->colours[0]);
|
||||
windowColours[1] = Colour::opaque(w->colours[1]);
|
||||
windowColours[2] = Colour::opaque(w->colours[2]);
|
||||
windowColours[3] = Colour::opaque(w->colours[3]);
|
||||
windowColours[0] = Colour::opaque(w->getColour(WindowColour::primary));
|
||||
windowColours[1] = Colour::opaque(w->getColour(WindowColour::secondary));
|
||||
windowColours[2] = Colour::opaque(w->getColour(WindowColour::tertiary));
|
||||
windowColours[3] = Colour::opaque(w->getColour(WindowColour::quaternary));
|
||||
|
||||
w->callPrepareDraw();
|
||||
w->callDraw(&context);
|
||||
|
|
|
@ -68,12 +68,12 @@ namespace OpenLoco::Ui
|
|||
}
|
||||
|
||||
uint16_t widgetFlags = 0;
|
||||
if (colour == 0 && window->flags & WindowFlags::flag_11)
|
||||
if (windowColour == WindowColour::primary && window->flags & WindowFlags::flag_11)
|
||||
{
|
||||
widgetFlags = 0x80;
|
||||
}
|
||||
|
||||
uint8_t wndColour = window->colours[colour];
|
||||
uint8_t wndColour = window->getColour(windowColour);
|
||||
auto widgetIndex = this - &window->widgets[0];
|
||||
bool enabled = (window->enabled_widgets & (1ULL << widgetIndex)) != 0;
|
||||
bool disabled = (window->disabled_widgets & (1ULL << widgetIndex)) != 0;
|
||||
|
@ -205,10 +205,10 @@ namespace OpenLoco::Ui
|
|||
if (Input::isPressed(window->type, window->number, widgetIndex))
|
||||
flags = 0x20;
|
||||
|
||||
Gfx::drawRectInset(context, widget.left + window->x, widget.top + window->y, widget.width(), widget.height(), Colour::translucent(window->colours[1]), flags);
|
||||
Gfx::drawRectInset(context, widget.left + window->x, widget.top + window->y, widget.width(), widget.height(), Colour::translucent(window->getColour(WindowColour::secondary)), flags);
|
||||
}
|
||||
|
||||
Gfx::drawImage(context, widget.left + window->x, widget.top + window->y, Gfx::recolour(ImageIds::centre_viewport, window->colours[1]));
|
||||
Gfx::drawImage(context, widget.left + window->x, widget.top + window->y, Gfx::recolour(ImageIds::centre_viewport, window->getColour(WindowColour::secondary)));
|
||||
}
|
||||
|
||||
// 0x004CAB8E
|
||||
|
@ -918,7 +918,7 @@ namespace OpenLoco::Ui
|
|||
|
||||
void Widget::drawGroupbox(Gfx::Context* const context, const Window* window, Widget* widget)
|
||||
{
|
||||
const uint8_t colour = window->colours[widget->colour] & 0x7F;
|
||||
const uint8_t colour = window->getColour(widget->windowColour) & 0x7F;
|
||||
int32_t l = window->x + widget->left + 5;
|
||||
int32_t t = window->y + widget->top;
|
||||
int32_t r = window->x + widget->right;
|
||||
|
@ -1005,7 +1005,7 @@ namespace OpenLoco::Ui
|
|||
Gfx::drawImage(ctx, pos.x, pos.y + 1, imageId);
|
||||
}
|
||||
Gfx::drawImage(ctx, pos.x, pos.y, (1 << 30) | (51 << 19) | ImageIds::tab);
|
||||
Gfx::drawRect(ctx, pos.x, pos.y + 26, 31, 1, Colour::getShade(w->colours[1], 7));
|
||||
Gfx::drawRect(ctx, pos.x, pos.y + 26, 31, 1, Colour::getShade(w->getColour(WindowColour::secondary), 7));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,12 +9,12 @@ namespace OpenLoco::Ui
|
|||
{
|
||||
struct Widget
|
||||
{
|
||||
WidgetType type; // 0x00
|
||||
uint8_t colour; // 0x01
|
||||
int16_t left; // 0x02
|
||||
int16_t right; // 0x04
|
||||
int16_t top; // 0x06
|
||||
int16_t bottom; // 0x08
|
||||
WidgetType type; // 0x00
|
||||
WindowColour windowColour; // 0x01
|
||||
int16_t left; // 0x02
|
||||
int16_t right; // 0x04
|
||||
int16_t top; // 0x06
|
||||
int16_t bottom; // 0x08
|
||||
union
|
||||
{
|
||||
uint32_t image;
|
||||
|
@ -66,7 +66,7 @@ namespace OpenLoco::Ui
|
|||
static void drawGroupbox(Gfx::Context* const context, const Window* window, Widget* widget);
|
||||
};
|
||||
|
||||
static constexpr Widget makeWidget(Gfx::point_t origin, Gfx::ui_size_t size, WidgetType type, uint8_t colour, uint32_t content = 0xFFFFFFFF, string_id tooltip = StringIds::null)
|
||||
static constexpr Widget makeWidget(Gfx::point_t origin, Gfx::ui_size_t size, WidgetType type, WindowColour colour, uint32_t content = 0xFFFFFFFF, string_id tooltip = StringIds::null)
|
||||
{
|
||||
Widget out = {};
|
||||
out.left = origin.x;
|
||||
|
@ -74,14 +74,14 @@ namespace OpenLoco::Ui
|
|||
out.top = origin.y;
|
||||
out.bottom = origin.y + size.height - 1;
|
||||
out.type = type;
|
||||
out.colour = colour;
|
||||
out.windowColour = colour;
|
||||
out.content = content;
|
||||
out.tooltip = tooltip;
|
||||
|
||||
return out;
|
||||
}
|
||||
|
||||
constexpr Widget makeRemapWidget(Gfx::point_t origin, Gfx::ui_size_t size, WidgetType type, uint8_t colour, uint32_t content = 0xFFFFFFFF, string_id tooltip = StringIds::null)
|
||||
constexpr Widget makeRemapWidget(Gfx::point_t origin, Gfx::ui_size_t size, WidgetType type, WindowColour colour, uint32_t content = 0xFFFFFFFF, string_id tooltip = StringIds::null)
|
||||
{
|
||||
Widget out = makeWidget(origin, size, type, colour, content, tooltip);
|
||||
|
||||
|
@ -95,7 +95,7 @@ namespace OpenLoco::Ui
|
|||
makeWidget(__VA_ARGS__), \
|
||||
makeDropdownButtonWidget(__VA_ARGS__)
|
||||
|
||||
[[maybe_unused]] static constexpr Widget makeDropdownButtonWidget(Gfx::point_t origin, Gfx::ui_size_t size, [[maybe_unused]] WidgetType type, uint8_t colour, [[maybe_unused]] uint32_t content = 0xFFFFFFFF, [[maybe_unused]] string_id tooltip = StringIds::null)
|
||||
[[maybe_unused]] static constexpr Widget makeDropdownButtonWidget(Gfx::point_t origin, Gfx::ui_size_t size, [[maybe_unused]] WidgetType type, WindowColour colour, [[maybe_unused]] uint32_t content = 0xFFFFFFFF, [[maybe_unused]] string_id tooltip = StringIds::null)
|
||||
{
|
||||
const int16_t xPos = origin.x + size.width - 12;
|
||||
const int16_t yPos = origin.y + 1;
|
||||
|
@ -110,7 +110,7 @@ namespace OpenLoco::Ui
|
|||
makeStepperDecreaseWidget(__VA_ARGS__), \
|
||||
makeStepperIncreaseWidget(__VA_ARGS__)
|
||||
|
||||
[[maybe_unused]] static constexpr Widget makeStepperDecreaseWidget(Gfx::point_t origin, Gfx::ui_size_t size, [[maybe_unused]] WidgetType type, uint8_t colour, [[maybe_unused]] uint32_t content = 0xFFFFFFFF, [[maybe_unused]] string_id tooltip = StringIds::null)
|
||||
[[maybe_unused]] static constexpr Widget makeStepperDecreaseWidget(Gfx::point_t origin, Gfx::ui_size_t size, [[maybe_unused]] WidgetType type, WindowColour colour, [[maybe_unused]] uint32_t content = 0xFFFFFFFF, [[maybe_unused]] string_id tooltip = StringIds::null)
|
||||
{
|
||||
const int16_t xPos = origin.x + size.width - 26;
|
||||
const int16_t yPos = origin.y + 1;
|
||||
|
@ -120,7 +120,7 @@ namespace OpenLoco::Ui
|
|||
return makeWidget({ xPos, yPos }, { width, height }, WidgetType::wt_11, colour, StringIds::stepper_minus);
|
||||
}
|
||||
|
||||
[[maybe_unused]] static constexpr Widget makeStepperIncreaseWidget(Gfx::point_t origin, Gfx::ui_size_t size, [[maybe_unused]] WidgetType type, uint8_t colour, [[maybe_unused]] uint32_t content = 0xFFFFFFFF, [[maybe_unused]] string_id tooltip = StringIds::null)
|
||||
[[maybe_unused]] static constexpr Widget makeStepperIncreaseWidget(Gfx::point_t origin, Gfx::ui_size_t size, [[maybe_unused]] WidgetType type, WindowColour colour, [[maybe_unused]] uint32_t content = 0xFFFFFFFF, [[maybe_unused]] string_id tooltip = StringIds::null)
|
||||
{
|
||||
const int16_t xPos = origin.x + size.width - 13;
|
||||
const int16_t yPos = origin.y + 1;
|
||||
|
@ -130,7 +130,7 @@ namespace OpenLoco::Ui
|
|||
return makeWidget({ xPos, yPos }, { width, height }, WidgetType::wt_11, colour, StringIds::stepper_plus);
|
||||
}
|
||||
|
||||
constexpr Widget makeTextWidget(Gfx::point_t origin, Gfx::ui_size_t size, WidgetType type, uint8_t colour, string_id content, string_id tooltip = StringIds::null)
|
||||
constexpr Widget makeTextWidget(Gfx::point_t origin, Gfx::ui_size_t size, WidgetType type, WindowColour colour, string_id content, string_id tooltip = StringIds::null)
|
||||
{
|
||||
Widget out = {};
|
||||
out.left = origin.x;
|
||||
|
@ -138,7 +138,7 @@ namespace OpenLoco::Ui
|
|||
out.top = origin.y;
|
||||
out.bottom = origin.y + size.height - 1;
|
||||
out.type = type;
|
||||
out.colour = colour;
|
||||
out.windowColour = colour;
|
||||
out.text = content;
|
||||
out.tooltip = tooltip;
|
||||
|
||||
|
|
|
@ -62,6 +62,15 @@ namespace OpenLoco::Ui
|
|||
end = 30,
|
||||
};
|
||||
|
||||
enum class WindowColour : uint8_t
|
||||
{
|
||||
primary,
|
||||
secondary,
|
||||
tertiary,
|
||||
quaternary,
|
||||
count
|
||||
};
|
||||
|
||||
namespace Scrollbars
|
||||
{
|
||||
constexpr uint8_t none = 0;
|
||||
|
@ -287,7 +296,7 @@ namespace OpenLoco::Ui
|
|||
uint8_t pad_883[1];
|
||||
CompanyId_t owner = CompanyId::null; // 0x884
|
||||
uint8_t var_885 = 0xFF;
|
||||
uint8_t colours[4]; // 0x886
|
||||
uint8_t colours[static_cast<uint8_t>(WindowColour::count)]; // 0x886
|
||||
int16_t var_88A;
|
||||
int16_t var_88C;
|
||||
|
||||
|
@ -336,6 +345,17 @@ namespace OpenLoco::Ui
|
|||
setSize(size, size);
|
||||
}
|
||||
|
||||
constexpr uint8_t getColour(WindowColour index) const
|
||||
{
|
||||
assert(index < WindowColour::count);
|
||||
return colours[static_cast<uint8_t>(index)];
|
||||
}
|
||||
constexpr void setColour(WindowColour index, Colour_t colour)
|
||||
{
|
||||
assert(index < WindowColour::count);
|
||||
colours[static_cast<uint8_t>(index)] = colour;
|
||||
}
|
||||
|
||||
bool isVisible()
|
||||
{
|
||||
return true;
|
||||
|
|
|
@ -24,11 +24,11 @@ namespace OpenLoco::Ui::Windows::About
|
|||
}
|
||||
|
||||
static Widget _widgets[] = {
|
||||
makeWidget({ 0, 0 }, windowSize, WidgetType::frame, 0),
|
||||
makeWidget({ 1, 1 }, { windowSize.width - 2, 13 }, WidgetType::caption_25, 0, StringIds::about_locomotion_caption),
|
||||
makeWidget({ windowSize.width - 15, 2 }, { 13, 13 }, WidgetType::wt_9, 0, ImageIds::close_button, StringIds::tooltip_close_window),
|
||||
makeWidget({ 0, 15 }, { windowSize.width, 245 }, WidgetType::panel, 1),
|
||||
makeWidget({ 100, 234 }, { windowSize.width / 2, 12 }, WidgetType::wt_11, 1, StringIds::music_acknowledgements_btn),
|
||||
makeWidget({ 0, 0 }, windowSize, WidgetType::frame, WindowColour::primary),
|
||||
makeWidget({ 1, 1 }, { windowSize.width - 2, 13 }, WidgetType::caption_25, WindowColour::primary, StringIds::about_locomotion_caption),
|
||||
makeWidget({ windowSize.width - 15, 2 }, { 13, 13 }, WidgetType::wt_9, WindowColour::primary, ImageIds::close_button, StringIds::tooltip_close_window),
|
||||
makeWidget({ 0, 15 }, { windowSize.width, 245 }, WidgetType::panel, WindowColour::secondary),
|
||||
makeWidget({ 100, 234 }, { windowSize.width / 2, 12 }, WidgetType::wt_11, WindowColour::secondary, StringIds::music_acknowledgements_btn),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -55,8 +55,8 @@ namespace OpenLoco::Ui::Windows::About
|
|||
window->initScrollWidgets();
|
||||
|
||||
const auto interface = ObjectManager::get<InterfaceSkinObject>();
|
||||
window->colours[0] = interface->colour_0B;
|
||||
window->colours[1] = interface->colour_10;
|
||||
window->setColour(WindowColour::primary, interface->colour_0B);
|
||||
window->setColour(WindowColour::secondary, interface->colour_10);
|
||||
}
|
||||
|
||||
// 0x0043B4AF
|
||||
|
|
|
@ -30,11 +30,11 @@ namespace OpenLoco::Ui::Windows::AboutMusic
|
|||
}
|
||||
|
||||
static Widget _widgets[] = {
|
||||
makeWidget({ 0, 0 }, windowSize, WidgetType::frame, 0),
|
||||
makeWidget({ 1, 1 }, { windowSize.width - 2, 13 }, WidgetType::caption_25, 0, StringIds::music_acknowledgements_caption),
|
||||
makeWidget({ windowSize.width - 15, 2 }, { 13, 13 }, WidgetType::wt_9, 0, ImageIds::close_button, StringIds::tooltip_close_window),
|
||||
makeWidget({ 0, 15 }, { windowSize.width, 297 }, WidgetType::panel, 1),
|
||||
makeWidget({ 4, 18 }, { windowSize.width - 8, 289 }, WidgetType::scrollview, 1, Ui::Scrollbars::vertical),
|
||||
makeWidget({ 0, 0 }, windowSize, WidgetType::frame, WindowColour::primary),
|
||||
makeWidget({ 1, 1 }, { windowSize.width - 2, 13 }, WidgetType::caption_25, WindowColour::primary, StringIds::music_acknowledgements_caption),
|
||||
makeWidget({ windowSize.width - 15, 2 }, { 13, 13 }, WidgetType::wt_9, WindowColour::primary, ImageIds::close_button, StringIds::tooltip_close_window),
|
||||
makeWidget({ 0, 15 }, { windowSize.width, 297 }, WidgetType::panel, WindowColour::secondary),
|
||||
makeWidget({ 4, 18 }, { windowSize.width - 8, 289 }, WidgetType::scrollview, WindowColour::secondary, Ui::Scrollbars::vertical),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -61,8 +61,8 @@ namespace OpenLoco::Ui::Windows::AboutMusic
|
|||
window->initScrollWidgets();
|
||||
|
||||
const auto interface = ObjectManager::get<InterfaceSkinObject>();
|
||||
window->colours[0] = interface->colour_0B;
|
||||
window->colours[1] = interface->colour_10;
|
||||
window->setColour(WindowColour::primary, interface->colour_0B);
|
||||
window->setColour(WindowColour::secondary, interface->colour_10);
|
||||
}
|
||||
|
||||
// 0x0043BFB0
|
||||
|
|
|
@ -190,26 +190,26 @@ namespace OpenLoco::Ui::Windows::BuildVehicle
|
|||
|
||||
// 0x5231D0
|
||||
static Widget _widgets[] = {
|
||||
makeWidget({ 0, 0 }, { 380, 233 }, WidgetType::frame, 0),
|
||||
makeWidget({ 1, 1 }, { 378, 13 }, WidgetType::caption_24, 0),
|
||||
makeWidget({ 365, 2 }, { 13, 13 }, WidgetType::wt_9, 0, ImageIds::close_button, StringIds::tooltip_close_window),
|
||||
makeWidget({ 0, 41 }, { 380, 192 }, WidgetType::panel, 1),
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_build_new_train_vehicles),
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_build_new_buses),
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_build_new_trucks),
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_build_new_trams),
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_build_new_aircraft),
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_build_new_ships),
|
||||
makeRemapWidget({ 5, 43 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_vehicles_for),
|
||||
makeRemapWidget({ 36, 43 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_vehicles_for),
|
||||
makeRemapWidget({ 67, 43 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_vehicles_for),
|
||||
makeRemapWidget({ 98, 43 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_vehicles_for),
|
||||
makeRemapWidget({ 129, 43 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_vehicles_for),
|
||||
makeRemapWidget({ 160, 43 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_vehicles_for),
|
||||
makeRemapWidget({ 191, 43 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_vehicles_for),
|
||||
makeRemapWidget({ 222, 43 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_vehicles_for),
|
||||
makeWidget({ 3, 72 }, { 374, 146 }, WidgetType::scrollview, 1, Scrollbars::vertical),
|
||||
makeWidget({ 250, 44 }, { 180, 66 }, WidgetType::scrollview, 1, Scrollbars::none),
|
||||
makeWidget({ 0, 0 }, { 380, 233 }, WidgetType::frame, WindowColour::primary),
|
||||
makeWidget({ 1, 1 }, { 378, 13 }, WidgetType::caption_24, WindowColour::primary),
|
||||
makeWidget({ 365, 2 }, { 13, 13 }, WidgetType::wt_9, WindowColour::primary, ImageIds::close_button, StringIds::tooltip_close_window),
|
||||
makeWidget({ 0, 41 }, { 380, 192 }, WidgetType::panel, WindowColour::secondary),
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_build_new_train_vehicles),
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_build_new_buses),
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_build_new_trucks),
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_build_new_trams),
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_build_new_aircraft),
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_build_new_ships),
|
||||
makeRemapWidget({ 5, 43 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_vehicles_for),
|
||||
makeRemapWidget({ 36, 43 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_vehicles_for),
|
||||
makeRemapWidget({ 67, 43 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_vehicles_for),
|
||||
makeRemapWidget({ 98, 43 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_vehicles_for),
|
||||
makeRemapWidget({ 129, 43 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_vehicles_for),
|
||||
makeRemapWidget({ 160, 43 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_vehicles_for),
|
||||
makeRemapWidget({ 191, 43 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_vehicles_for),
|
||||
makeRemapWidget({ 222, 43 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_vehicles_for),
|
||||
makeWidget({ 3, 72 }, { 374, 146 }, WidgetType::scrollview, WindowColour::secondary, Scrollbars::vertical),
|
||||
makeWidget({ 250, 44 }, { 180, 66 }, WidgetType::scrollview, WindowColour::secondary, Scrollbars::none),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -261,7 +261,7 @@ namespace OpenLoco::Ui::Windows::BuildVehicle
|
|||
auto skin = OpenLoco::ObjectManager::get<InterfaceSkinObject>();
|
||||
if (skin != nullptr)
|
||||
{
|
||||
window->colours[1] = skin->colour_0A;
|
||||
window->setColour(WindowColour::secondary, skin->colour_0A);
|
||||
}
|
||||
setDisabledTransportTabs(window);
|
||||
return window;
|
||||
|
@ -1038,7 +1038,7 @@ namespace OpenLoco::Ui::Windows::BuildVehicle
|
|||
{
|
||||
case scrollIdx::vehicle_selection:
|
||||
{
|
||||
auto colour = Colour::getShade(window->colours[1], 4);
|
||||
auto colour = Colour::getShade(window->getColour(WindowColour::secondary), 4);
|
||||
Gfx::clear(*context, colour * 0x01010101);
|
||||
if (window->var_83C == 0)
|
||||
{
|
||||
|
@ -1099,7 +1099,7 @@ namespace OpenLoco::Ui::Windows::BuildVehicle
|
|||
}
|
||||
case scrollIdx::vehicle_preview:
|
||||
{
|
||||
auto colour = Colour::getShade(window->colours[1], 0);
|
||||
auto colour = Colour::getShade(window->getColour(WindowColour::secondary), 0);
|
||||
// Gfx::clear needs the colour copied to each byte of eax
|
||||
Gfx::clear(*context, colour * 0x01010101);
|
||||
|
||||
|
@ -1331,13 +1331,13 @@ namespace OpenLoco::Ui::Windows::BuildVehicle
|
|||
auto top = window->y + 69;
|
||||
auto right = left + window->width - 187;
|
||||
auto bottom = top;
|
||||
Gfx::fillRect(context, left, top, right, bottom, Colour::getShade(window->colours[1], 7));
|
||||
Gfx::fillRect(context, left, top, right, bottom, Colour::getShade(window->getColour(WindowColour::secondary), 7));
|
||||
|
||||
left = window->x + window->width - 187;
|
||||
top = window->y + 41;
|
||||
right = left;
|
||||
bottom = top + 27;
|
||||
Gfx::fillRect(context, left, top, right, bottom, Colour::getShade(window->colours[1], 7));
|
||||
Gfx::fillRect(context, left, top, right, bottom, Colour::getShade(window->getColour(WindowColour::secondary), 7));
|
||||
|
||||
for (uint32_t tab = 0; tab < _numTrackTypeTabs; ++tab)
|
||||
{
|
||||
|
@ -1348,7 +1348,7 @@ namespace OpenLoco::Ui::Windows::BuildVehicle
|
|||
top = widget.top + window->y + 26;
|
||||
right = left + 29;
|
||||
bottom = top;
|
||||
Gfx::fillRect(context, left, top, right, bottom, Colour::getShade(window->colours[1], 5));
|
||||
Gfx::fillRect(context, left, top, right, bottom, Colour::getShade(window->getColour(WindowColour::secondary), 5));
|
||||
}
|
||||
|
||||
auto img = 0;
|
||||
|
|
|
@ -33,15 +33,15 @@ namespace OpenLoco::Ui::Windows::Cheats
|
|||
};
|
||||
}
|
||||
|
||||
#define commonWidgets(frameWidth, frameHeight, windowCaptionId) \
|
||||
makeWidget({ 0, 0 }, { frameWidth, frameHeight }, WidgetType::frame, 0), \
|
||||
makeWidget({ 1, 1 }, { frameWidth - 2, 13 }, WidgetType::caption_25, 0, windowCaptionId), \
|
||||
makeWidget({ frameWidth - 15, 2 }, { 13, 13 }, WidgetType::wt_9, 0, ImageIds::close_button, StringIds::tooltip_close_window), \
|
||||
makeWidget({ 0, 41 }, { frameWidth, frameHeight - 41 }, WidgetType::panel, 1), \
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab), \
|
||||
makeRemapWidget({ 34, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab), \
|
||||
makeRemapWidget({ 65, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab), \
|
||||
makeRemapWidget({ 96, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab)
|
||||
#define commonWidgets(frameWidth, frameHeight, windowCaptionId) \
|
||||
makeWidget({ 0, 0 }, { frameWidth, frameHeight }, WidgetType::frame, WindowColour::primary), \
|
||||
makeWidget({ 1, 1 }, { frameWidth - 2, 13 }, WidgetType::caption_25, WindowColour::primary, windowCaptionId), \
|
||||
makeWidget({ frameWidth - 15, 2 }, { 13, 13 }, WidgetType::wt_9, WindowColour::primary, ImageIds::close_button, StringIds::tooltip_close_window), \
|
||||
makeWidget({ 0, 41 }, { frameWidth, frameHeight - 41 }, WidgetType::panel, WindowColour::secondary), \
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab), \
|
||||
makeRemapWidget({ 34, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab), \
|
||||
makeRemapWidget({ 65, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab), \
|
||||
makeRemapWidget({ 96, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab)
|
||||
|
||||
constexpr uint64_t enabledWidgets = (1 << Widx::close_button) | (1 << Widx::tab_finances) | (1 << Widx::tab_companies) | (1 << Widx::tab_vehicles) | (1 << Widx::tab_towns);
|
||||
|
||||
|
@ -145,12 +145,12 @@ namespace OpenLoco::Ui::Windows::Cheats
|
|||
|
||||
static Widget _widgets[] = {
|
||||
commonWidgets(windowSize.width, windowSize.height, StringIds::financial_cheats),
|
||||
makeWidget({ 4, 48 }, { windowSize.width - 8, 33 }, WidgetType::groupbox, 1, StringIds::cheat_increase_funds),
|
||||
makeStepperWidgets({ 80, 62 }, { 95, 12 }, WidgetType::wt_17, 1, StringIds::empty),
|
||||
makeWidget({ 180, 62 }, { 60, 12 }, WidgetType::wt_11, 1, StringIds::cheat_add),
|
||||
makeWidget({ 4, 86 }, { windowSize.width - 8, 33 }, WidgetType::groupbox, 1, StringIds::cheat_clear_loan),
|
||||
makeWidget({ 80, 100 }, { 95, 12 }, WidgetType::wt_17, 1),
|
||||
makeWidget({ 180, 100 }, { 60, 12 }, WidgetType::wt_11, 1, StringIds::cheat_clear),
|
||||
makeWidget({ 4, 48 }, { windowSize.width - 8, 33 }, WidgetType::groupbox, WindowColour::secondary, StringIds::cheat_increase_funds),
|
||||
makeStepperWidgets({ 80, 62 }, { 95, 12 }, WidgetType::wt_17, WindowColour::secondary, StringIds::empty),
|
||||
makeWidget({ 180, 62 }, { 60, 12 }, WidgetType::wt_11, WindowColour::secondary, StringIds::cheat_add),
|
||||
makeWidget({ 4, 86 }, { windowSize.width - 8, 33 }, WidgetType::groupbox, WindowColour::secondary, StringIds::cheat_clear_loan),
|
||||
makeWidget({ 80, 100 }, { 95, 12 }, WidgetType::wt_17, WindowColour::secondary),
|
||||
makeWidget({ 180, 100 }, { 60, 12 }, WidgetType::wt_11, WindowColour::secondary, StringIds::cheat_clear),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -309,13 +309,13 @@ namespace OpenLoco::Ui::Windows::Cheats
|
|||
|
||||
static Widget _widgets[] = {
|
||||
commonWidgets(windowSize.width, windowSize.height, StringIds::company_cheats),
|
||||
makeWidget({ 4, 48 }, { windowSize.width - 8, 33 }, WidgetType::groupbox, 1, StringIds::cheat_select_target_company),
|
||||
makeDropdownWidgets({ 10, 62 }, { windowSize.width - 20, 12 }, WidgetType::wt_17, 1),
|
||||
makeWidget({ 4, 86 }, { windowSize.width - 8, 80 }, WidgetType::groupbox, 1, StringIds::cheat_select_cheat_to_apply),
|
||||
makeWidget({ 10, 100 }, { windowSize.width - 20, 12 }, WidgetType::wt_11, 1, StringIds::cheat_switch_to_company),
|
||||
makeWidget({ 10, 116 }, { windowSize.width - 20, 12 }, WidgetType::wt_11, 1, StringIds::cheat_acquire_company_assets),
|
||||
makeWidget({ 10, 132 }, { windowSize.width - 20, 12 }, WidgetType::wt_11, 1, StringIds::cheat_toggle_bankruptcy),
|
||||
makeWidget({ 10, 148 }, { windowSize.width - 20, 12 }, WidgetType::wt_11, 1, StringIds::cheat_toggle_jail_status),
|
||||
makeWidget({ 4, 48 }, { windowSize.width - 8, 33 }, WidgetType::groupbox, WindowColour::secondary, StringIds::cheat_select_target_company),
|
||||
makeDropdownWidgets({ 10, 62 }, { windowSize.width - 20, 12 }, WidgetType::wt_17, WindowColour::secondary),
|
||||
makeWidget({ 4, 86 }, { windowSize.width - 8, 80 }, WidgetType::groupbox, WindowColour::secondary, StringIds::cheat_select_cheat_to_apply),
|
||||
makeWidget({ 10, 100 }, { windowSize.width - 20, 12 }, WidgetType::wt_11, WindowColour::secondary, StringIds::cheat_switch_to_company),
|
||||
makeWidget({ 10, 116 }, { windowSize.width - 20, 12 }, WidgetType::wt_11, WindowColour::secondary, StringIds::cheat_acquire_company_assets),
|
||||
makeWidget({ 10, 132 }, { windowSize.width - 20, 12 }, WidgetType::wt_11, WindowColour::secondary, StringIds::cheat_toggle_bankruptcy),
|
||||
makeWidget({ 10, 148 }, { windowSize.width - 20, 12 }, WidgetType::wt_11, WindowColour::secondary, StringIds::cheat_toggle_jail_status),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -454,9 +454,9 @@ namespace OpenLoco::Ui::Windows::Cheats
|
|||
|
||||
static Widget _widgets[] = {
|
||||
commonWidgets(windowSize.width, windowSize.height, StringIds::vehicle_cheats),
|
||||
makeWidget({ 4, 48 }, { windowSize.width - 8, 49 }, WidgetType::groupbox, 1, StringIds::cheat_set_vehicle_reliability),
|
||||
makeWidget({ 10, 62 }, { windowSize.width - 20, 12 }, WidgetType::wt_11, 1, StringIds::cheat_reliability_zero),
|
||||
makeWidget({ 10, 78 }, { windowSize.width - 20, 12 }, WidgetType::wt_11, 1, StringIds::cheat_reliability_hundred),
|
||||
makeWidget({ 4, 48 }, { windowSize.width - 8, 49 }, WidgetType::groupbox, WindowColour::secondary, StringIds::cheat_set_vehicle_reliability),
|
||||
makeWidget({ 10, 62 }, { windowSize.width - 20, 12 }, WidgetType::wt_11, WindowColour::secondary, StringIds::cheat_reliability_zero),
|
||||
makeWidget({ 10, 78 }, { windowSize.width - 20, 12 }, WidgetType::wt_11, WindowColour::secondary, StringIds::cheat_reliability_hundred),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -543,11 +543,11 @@ namespace OpenLoco::Ui::Windows::Cheats
|
|||
|
||||
static Widget _widgets[] = {
|
||||
commonWidgets(windowSize.width, windowSize.height, StringIds::town_cheats),
|
||||
makeWidget({ 4, 48 }, { windowSize.width - 8, 49 }, WidgetType::groupbox, 1, StringIds::cheat_set_ratings),
|
||||
makeWidget({ 10, 62 }, { (windowSize.width - 26) / 2, 12 }, WidgetType::wt_11, 1, StringIds::cheat_ratings_min_10pct),
|
||||
makeWidget({ 3 + (windowSize.width / 2), 62 }, { (windowSize.width - 26) / 2, 12 }, WidgetType::wt_11, 1, StringIds::cheat_ratings_plus_10pct),
|
||||
makeWidget({ 10, 78 }, { (windowSize.width - 26) / 2, 12 }, WidgetType::wt_11, 1, StringIds::cheat_ratings_to_min),
|
||||
makeWidget({ 3 + (windowSize.width / 2), 78 }, { (windowSize.width - 26) / 2, 12 }, WidgetType::wt_11, 1, StringIds::cheat_ratings_to_max),
|
||||
makeWidget({ 4, 48 }, { windowSize.width - 8, 49 }, WidgetType::groupbox, WindowColour::secondary, StringIds::cheat_set_ratings),
|
||||
makeWidget({ 10, 62 }, { (windowSize.width - 26) / 2, 12 }, WidgetType::wt_11, WindowColour::secondary, StringIds::cheat_ratings_min_10pct),
|
||||
makeWidget({ 3 + (windowSize.width / 2), 62 }, { (windowSize.width - 26) / 2, 12 }, WidgetType::wt_11, WindowColour::secondary, StringIds::cheat_ratings_plus_10pct),
|
||||
makeWidget({ 10, 78 }, { (windowSize.width - 26) / 2, 12 }, WidgetType::wt_11, WindowColour::secondary, StringIds::cheat_ratings_to_min),
|
||||
makeWidget({ 3 + (windowSize.width / 2), 78 }, { (windowSize.width - 26) / 2, 12 }, WidgetType::wt_11, WindowColour::secondary, StringIds::cheat_ratings_to_max),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -649,8 +649,8 @@ namespace OpenLoco::Ui::Windows::Cheats
|
|||
window->initScrollWidgets();
|
||||
|
||||
auto skin = ObjectManager::get<InterfaceSkinObject>();
|
||||
window->colours[0] = skin->colour_0B;
|
||||
window->colours[1] = skin->colour_0C;
|
||||
window->setColour(WindowColour::primary, skin->colour_0B);
|
||||
window->setColour(WindowColour::secondary, skin->colour_0C);
|
||||
|
||||
return window;
|
||||
}
|
||||
|
|
|
@ -40,12 +40,12 @@ namespace OpenLoco::Ui::Windows::CompanyFaceSelection
|
|||
|
||||
// 0x509680
|
||||
static Widget widgets[] = {
|
||||
makeWidget({ 0, 0 }, windowSize, WidgetType::frame, 0),
|
||||
makeWidget({ 1, 1 }, { 398, 13 }, WidgetType::caption_24, 0, StringIds::company_face_selection_title),
|
||||
makeWidget({ 385, 2 }, { 13, 13 }, WidgetType::wt_9, 0, ImageIds::close_button, StringIds::tooltip_close_window),
|
||||
makeWidget({ 0, 15 }, { 400, 257 }, WidgetType::panel, 1),
|
||||
makeWidget({ 4, 19 }, { 188, 248 }, WidgetType::scrollview, 1, Scrollbars::vertical, StringIds::tooltip_company_face_selection),
|
||||
makeWidget({ 265, 23 }, { 66, 66 }, WidgetType::wt_5, 1),
|
||||
makeWidget({ 0, 0 }, windowSize, WidgetType::frame, WindowColour::primary),
|
||||
makeWidget({ 1, 1 }, { 398, 13 }, WidgetType::caption_24, WindowColour::primary, StringIds::company_face_selection_title),
|
||||
makeWidget({ 385, 2 }, { 13, 13 }, WidgetType::wt_9, WindowColour::primary, ImageIds::close_button, StringIds::tooltip_close_window),
|
||||
makeWidget({ 0, 15 }, { 400, 257 }, WidgetType::panel, WindowColour::secondary),
|
||||
makeWidget({ 4, 19 }, { 188, 248 }, WidgetType::scrollview, WindowColour::secondary, Scrollbars::vertical, StringIds::tooltip_company_face_selection),
|
||||
makeWidget({ 265, 23 }, { 66, 66 }, WidgetType::wt_5, WindowColour::secondary),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -102,7 +102,7 @@ namespace OpenLoco::Ui::Windows::CompanyFaceSelection
|
|||
_9C68F2 = id;
|
||||
self->owner = id;
|
||||
const auto* skin = ObjectManager::get<InterfaceSkinObject>();
|
||||
self->colours[1] = skin->colour_0A;
|
||||
self->setColour(WindowColour::secondary, skin->colour_0A);
|
||||
findAllInUseCompetitors(id);
|
||||
self->row_count = _numberCompetitorObjects;
|
||||
self->row_hover = -1;
|
||||
|
@ -218,7 +218,7 @@ namespace OpenLoco::Ui::Windows::CompanyFaceSelection
|
|||
}
|
||||
|
||||
{
|
||||
const auto colour = Colour::getShade(self->colours[1], 0);
|
||||
const auto colour = Colour::getShade(self->getColour(WindowColour::secondary), 0);
|
||||
const auto l = self->x + 1 + self->widgets[widx::face_frame].left;
|
||||
const auto t = self->y + 1 + self->widgets[widx::face_frame].top;
|
||||
const auto r = self->x - 1 + self->widgets[widx::face_frame].right;
|
||||
|
@ -248,7 +248,7 @@ namespace OpenLoco::Ui::Windows::CompanyFaceSelection
|
|||
// 0x00435152
|
||||
static void drawScroll(Window* const self, Gfx::Context* const context, const uint32_t scrollIndex)
|
||||
{
|
||||
Gfx::clearSingle(*context, Colour::getShade(self->colours[1], 4));
|
||||
Gfx::clearSingle(*context, Colour::getShade(self->getColour(WindowColour::secondary), 4));
|
||||
|
||||
auto index = 0;
|
||||
for (const auto& object : ObjectManager::getAvailableObjects(ObjectType::competitor))
|
||||
|
@ -270,7 +270,7 @@ namespace OpenLoco::Ui::Windows::CompanyFaceSelection
|
|||
if (isInUseCompetitor(object.first))
|
||||
{
|
||||
_currentFontSpriteBase = Font::m1;
|
||||
stringColour = Colour::opaque(self->colours[1]) | (1 << 6);
|
||||
stringColour = Colour::opaque(self->getColour(WindowColour::secondary)) | (1 << 6);
|
||||
}
|
||||
Gfx::drawString(context, 0, y - 1, stringColour, const_cast<char*>(name.c_str()));
|
||||
|
||||
|
|
|
@ -72,18 +72,18 @@ namespace OpenLoco::Ui::Windows::CompanyList
|
|||
|
||||
const uint64_t enabledWidgets = (1 << widx::close_button) | (1 << widx::tab_company_list) | (1 << widx::tab_performance) | (1 << widx::tab_cargo_units) | (1 << widx::tab_cargo_distance) | (1 << widx::tab_values) | (1 << widx::tab_payment_rates) | (1 << widx::tab_speed_records);
|
||||
|
||||
#define commonWidgets(frameWidth, frameHeight, windowCaptionId) \
|
||||
makeWidget({ 0, 0 }, { frameWidth, frameHeight }, WidgetType::frame, 0), \
|
||||
makeWidget({ 1, 1 }, { frameWidth - 2, 13 }, WidgetType::caption_25, 0, windowCaptionId), \
|
||||
makeWidget({ frameWidth - 15, 2 }, { 13, 13 }, WidgetType::wt_9, 0, ImageIds::close_button, StringIds::tooltip_close_window), \
|
||||
makeWidget({ 0, 41 }, { frameWidth, 231 }, WidgetType::panel, 1), \
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tab_compare_companies), \
|
||||
makeRemapWidget({ 34, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tab_company_performance), \
|
||||
makeRemapWidget({ 65, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tab_cargo_graphs), \
|
||||
makeRemapWidget({ 96, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tab_cargo_distance_graphs), \
|
||||
makeRemapWidget({ 127, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tab_company_values), \
|
||||
makeRemapWidget({ 158, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tab_cargo_payment_rates), \
|
||||
makeRemapWidget({ 189, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tab_speed_records)
|
||||
#define commonWidgets(frameWidth, frameHeight, windowCaptionId) \
|
||||
makeWidget({ 0, 0 }, { frameWidth, frameHeight }, WidgetType::frame, WindowColour::primary), \
|
||||
makeWidget({ 1, 1 }, { frameWidth - 2, 13 }, WidgetType::caption_25, WindowColour::primary, windowCaptionId), \
|
||||
makeWidget({ frameWidth - 15, 2 }, { 13, 13 }, WidgetType::wt_9, WindowColour::primary, ImageIds::close_button, StringIds::tooltip_close_window), \
|
||||
makeWidget({ 0, 41 }, { frameWidth, 231 }, WidgetType::panel, WindowColour::secondary), \
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tab_compare_companies), \
|
||||
makeRemapWidget({ 34, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tab_company_performance), \
|
||||
makeRemapWidget({ 65, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tab_cargo_graphs), \
|
||||
makeRemapWidget({ 96, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tab_cargo_distance_graphs), \
|
||||
makeRemapWidget({ 127, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tab_company_values), \
|
||||
makeRemapWidget({ 158, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tab_cargo_payment_rates), \
|
||||
makeRemapWidget({ 189, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tab_speed_records)
|
||||
|
||||
static void onMouseUp(Window* self, WidgetIndex_t widgetIndex);
|
||||
static void onUpdate(Window* self);
|
||||
|
@ -117,11 +117,11 @@ namespace OpenLoco::Ui::Windows::CompanyList
|
|||
|
||||
Widget widgets[] = {
|
||||
commonWidgets(640, 272, StringIds::title_company_list),
|
||||
makeWidget({ 4, 43 }, { 175, 12 }, WidgetType::wt_14, 1, ImageIds::null, StringIds::tooltip_sort_company_name),
|
||||
makeWidget({ 179, 43 }, { 210, 12 }, WidgetType::wt_14, 1, ImageIds::null, StringIds::tooltip_sort_company_status),
|
||||
makeWidget({ 389, 43 }, { 145, 12 }, WidgetType::wt_14, 1, ImageIds::null, StringIds::tooltip_sort_company_performance),
|
||||
makeWidget({ 534, 43 }, { 100, 12 }, WidgetType::wt_14, 1, ImageIds::null, StringIds::tooltip_sort_company_value),
|
||||
makeWidget({ 3, 56 }, { 634, 201 }, WidgetType::scrollview, 1, Scrollbars::vertical),
|
||||
makeWidget({ 4, 43 }, { 175, 12 }, WidgetType::wt_14, WindowColour::secondary, ImageIds::null, StringIds::tooltip_sort_company_name),
|
||||
makeWidget({ 179, 43 }, { 210, 12 }, WidgetType::wt_14, WindowColour::secondary, ImageIds::null, StringIds::tooltip_sort_company_status),
|
||||
makeWidget({ 389, 43 }, { 145, 12 }, WidgetType::wt_14, WindowColour::secondary, ImageIds::null, StringIds::tooltip_sort_company_performance),
|
||||
makeWidget({ 534, 43 }, { 100, 12 }, WidgetType::wt_14, WindowColour::secondary, ImageIds::null, StringIds::tooltip_sort_company_value),
|
||||
makeWidget({ 3, 56 }, { 634, 201 }, WidgetType::scrollview, WindowColour::secondary, Scrollbars::vertical),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -456,7 +456,7 @@ namespace OpenLoco::Ui::Windows::CompanyList
|
|||
// 0x00435EA7
|
||||
static void drawScroll(Window* self, Gfx::Context* context, uint32_t scrollIndex)
|
||||
{
|
||||
auto colour = Colour::getShade(self->colours[1], 3);
|
||||
auto colour = Colour::getShade(self->getColour(WindowColour::secondary), 3);
|
||||
Gfx::clearSingle(*context, colour);
|
||||
|
||||
auto yBottom = 0;
|
||||
|
@ -604,8 +604,8 @@ namespace OpenLoco::Ui::Windows::CompanyList
|
|||
Common::refreshCompanyList(window);
|
||||
|
||||
auto skin = ObjectManager::get<InterfaceSkinObject>();
|
||||
window->colours[0] = skin->colour_0B;
|
||||
window->colours[1] = skin->colour_0C;
|
||||
window->setColour(WindowColour::primary, skin->colour_0B);
|
||||
window->setColour(WindowColour::secondary, skin->colour_0C);
|
||||
|
||||
window->var_854 = 0;
|
||||
}
|
||||
|
@ -1552,7 +1552,7 @@ namespace OpenLoco::Ui::Windows::CompanyList
|
|||
else
|
||||
imageId += performanceImageIds[0];
|
||||
|
||||
imageId = Gfx::recolour(imageId, self->colours[1]);
|
||||
imageId = Gfx::recolour(imageId, self->getColour(WindowColour::secondary));
|
||||
|
||||
Widget::drawTab(self, context, imageId, widx::tab_performance);
|
||||
}
|
||||
|
@ -1576,7 +1576,7 @@ namespace OpenLoco::Ui::Windows::CompanyList
|
|||
else
|
||||
imageId += cargoUnitsImageIds[0];
|
||||
|
||||
imageId = Gfx::recolour(imageId, self->colours[1]);
|
||||
imageId = Gfx::recolour(imageId, self->getColour(WindowColour::secondary));
|
||||
|
||||
Widget::drawTab(self, context, imageId, widx::tab_cargo_units);
|
||||
}
|
||||
|
@ -1600,7 +1600,7 @@ namespace OpenLoco::Ui::Windows::CompanyList
|
|||
else
|
||||
imageId += cargoDistanceImageIds[0];
|
||||
|
||||
imageId = Gfx::recolour(imageId, self->colours[1]);
|
||||
imageId = Gfx::recolour(imageId, self->getColour(WindowColour::secondary));
|
||||
|
||||
Widget::drawTab(self, context, imageId, widx::tab_cargo_distance);
|
||||
}
|
||||
|
@ -1624,7 +1624,7 @@ namespace OpenLoco::Ui::Windows::CompanyList
|
|||
else
|
||||
imageId += companyValuesImageIds[0];
|
||||
|
||||
imageId = Gfx::recolour(imageId, self->colours[1]);
|
||||
imageId = Gfx::recolour(imageId, self->getColour(WindowColour::secondary));
|
||||
|
||||
Widget::drawTab(self, context, imageId, widx::tab_values);
|
||||
|
||||
|
@ -1657,7 +1657,7 @@ namespace OpenLoco::Ui::Windows::CompanyList
|
|||
uint32_t imageId = skin->img;
|
||||
imageId += InterfaceSkin::ImageIds::tab_awards;
|
||||
|
||||
imageId = Gfx::recolour(imageId, self->colours[1]);
|
||||
imageId = Gfx::recolour(imageId, self->getColour(WindowColour::secondary));
|
||||
|
||||
Widget::drawTab(self, context, imageId, widx::tab_speed_records);
|
||||
}
|
||||
|
|
|
@ -46,18 +46,18 @@ namespace OpenLoco::Ui::Windows::CompanyWindow
|
|||
|
||||
constexpr uint64_t enabledWidgets = (1 << widx::caption) | (1 << widx::close_button) | (1 << widx::tab_status) | (1 << widx::tab_details) | (1 << widx::tab_colour_scheme) | (1 << widx::tab_finances) | (1 << widx::tab_cargo_delivered) | (1 << widx::tab_challenge);
|
||||
|
||||
#define commonWidgets(frameWidth, frameHeight, windowCaptionId) \
|
||||
makeWidget({ 0, 0 }, { frameWidth, frameHeight }, WidgetType::frame, 0), \
|
||||
makeWidget({ 1, 1 }, { frameWidth - 2, 13 }, WidgetType::caption_24, 0, windowCaptionId), \
|
||||
makeWidget({ frameWidth - 15, 2 }, { 13, 13 }, WidgetType::wt_9, 0, ImageIds::close_button, StringIds::tooltip_close_window), \
|
||||
makeWidget({ 0, 41 }, { frameWidth, 120 }, WidgetType::panel, 1), \
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_company_owner_and_status), \
|
||||
makeRemapWidget({ 34, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_company_headquarters_and_details), \
|
||||
makeRemapWidget({ 65, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_company_colour_scheme), \
|
||||
makeRemapWidget({ 96, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_company_finances), \
|
||||
makeRemapWidget({ 127, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_cargo_delivered), \
|
||||
makeRemapWidget({ 158, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_company_challenge_for_this_game), \
|
||||
makeWidget({ 0, 14 }, { 26, 26 }, WidgetType::wt_9, 0, ImageIds::null, StringIds::tooltip_select_company)
|
||||
#define commonWidgets(frameWidth, frameHeight, windowCaptionId) \
|
||||
makeWidget({ 0, 0 }, { frameWidth, frameHeight }, WidgetType::frame, WindowColour::primary), \
|
||||
makeWidget({ 1, 1 }, { frameWidth - 2, 13 }, WidgetType::caption_24, WindowColour::primary, windowCaptionId), \
|
||||
makeWidget({ frameWidth - 15, 2 }, { 13, 13 }, WidgetType::wt_9, WindowColour::primary, ImageIds::close_button, StringIds::tooltip_close_window), \
|
||||
makeWidget({ 0, 41 }, { frameWidth, 120 }, WidgetType::panel, WindowColour::secondary), \
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_company_owner_and_status), \
|
||||
makeRemapWidget({ 34, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_company_headquarters_and_details), \
|
||||
makeRemapWidget({ 65, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_company_colour_scheme), \
|
||||
makeRemapWidget({ 96, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_company_finances), \
|
||||
makeRemapWidget({ 127, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_cargo_delivered), \
|
||||
makeRemapWidget({ 158, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_company_challenge_for_this_game), \
|
||||
makeWidget({ 0, 14 }, { 26, 26 }, WidgetType::wt_9, WindowColour::primary, ImageIds::null, StringIds::tooltip_select_company)
|
||||
|
||||
// 0x004343FC
|
||||
static void disableChallengeTab(Window* self)
|
||||
|
@ -107,11 +107,11 @@ namespace OpenLoco::Ui::Windows::CompanyWindow
|
|||
|
||||
static Widget widgets[] = {
|
||||
commonWidgets(270, 182, StringIds::title_company),
|
||||
makeWidget({ 3, 160 }, { 242, 21 }, WidgetType::wt_13, 1),
|
||||
makeWidget({ 3, 44 }, { 96, 120 }, WidgetType::viewport, 1, -2),
|
||||
makeWidget({ 0, 0 }, { 24, 24 }, WidgetType::wt_9, 1, ImageIds::null, StringIds::move_main_view_to_show_this),
|
||||
makeWidget({ 178, 57 }, { 66, 66 }, WidgetType::wt_9, 1, ImageIds::null),
|
||||
makeWidget({ 154, 124 }, { 112, 22 }, WidgetType::wt_9, 1, ImageIds::null, StringIds::tooltip_change_owner_name),
|
||||
makeWidget({ 3, 160 }, { 242, 21 }, WidgetType::wt_13, WindowColour::secondary),
|
||||
makeWidget({ 3, 44 }, { 96, 120 }, WidgetType::viewport, WindowColour::secondary, -2),
|
||||
makeWidget({ 0, 0 }, { 24, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::null, StringIds::move_main_view_to_show_this),
|
||||
makeWidget({ 178, 57 }, { 66, 66 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::null),
|
||||
makeWidget({ 154, 124 }, { 112, 22 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::null, StringIds::tooltip_change_owner_name),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -574,7 +574,7 @@ namespace OpenLoco::Ui::Windows::CompanyWindow
|
|||
window->saved_view.clear();
|
||||
|
||||
auto skin = ObjectManager::get<InterfaceSkinObject>();
|
||||
window->colours[1] = skin->colour_0A;
|
||||
window->setColour(WindowColour::secondary, skin->colour_0A);
|
||||
|
||||
window->flags |= WindowFlags::resizable;
|
||||
|
||||
|
@ -651,9 +651,9 @@ namespace OpenLoco::Ui::Windows::CompanyWindow
|
|||
|
||||
static Widget widgets[] = {
|
||||
commonWidgets(340, 194, StringIds::title_company_details),
|
||||
makeWidget({ 219, 54 }, { 96, 120 }, WidgetType::viewport, 1, -2),
|
||||
makeWidget({ 315, 92 }, { 24, 24 }, WidgetType::wt_9, 1, ImageIds::null, StringIds::tooltip_build_or_move_headquarters),
|
||||
makeWidget({ 0, 0 }, { 24, 24 }, WidgetType::wt_9, 1, ImageIds::null, StringIds::move_main_view_to_show_this),
|
||||
makeWidget({ 219, 54 }, { 96, 120 }, WidgetType::viewport, WindowColour::secondary, -2),
|
||||
makeWidget({ 315, 92 }, { 24, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::null, StringIds::tooltip_build_or_move_headquarters),
|
||||
makeWidget({ 0, 0 }, { 24, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::null, StringIds::move_main_view_to_show_this),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -1167,38 +1167,38 @@ namespace OpenLoco::Ui::Windows::CompanyWindow
|
|||
|
||||
static Widget widgets[] = {
|
||||
commonWidgets(265, 252, StringIds::title_company_colour_scheme),
|
||||
makeWidget({ 15, 81 }, { 204, 12 }, WidgetType::checkbox, 1, StringIds::colour_steam_locomotives, StringIds::tooltip_toggle_vehicle_colour_scheme),
|
||||
makeWidget({ 15, 98 }, { 204, 12 }, WidgetType::checkbox, 1, StringIds::colour_diesel_locomotives, StringIds::tooltip_toggle_vehicle_colour_scheme),
|
||||
makeWidget({ 15, 115 }, { 204, 12 }, WidgetType::checkbox, 1, StringIds::colour_electric_locomotives, StringIds::tooltip_toggle_vehicle_colour_scheme),
|
||||
makeWidget({ 15, 132 }, { 204, 12 }, WidgetType::checkbox, 1, StringIds::colour_multiple_units, StringIds::tooltip_toggle_vehicle_colour_scheme),
|
||||
makeWidget({ 15, 149 }, { 204, 12 }, WidgetType::checkbox, 1, StringIds::colour_passenger_vehicles, StringIds::tooltip_toggle_vehicle_colour_scheme),
|
||||
makeWidget({ 15, 166 }, { 204, 12 }, WidgetType::checkbox, 1, StringIds::colour_freight_vehicles, StringIds::tooltip_toggle_vehicle_colour_scheme),
|
||||
makeWidget({ 15, 183 }, { 204, 12 }, WidgetType::checkbox, 1, StringIds::colour_buses, StringIds::tooltip_toggle_vehicle_colour_scheme),
|
||||
makeWidget({ 15, 200 }, { 204, 12 }, WidgetType::checkbox, 1, StringIds::colour_trucks, StringIds::tooltip_toggle_vehicle_colour_scheme),
|
||||
makeWidget({ 15, 217 }, { 204, 12 }, WidgetType::checkbox, 1, StringIds::colour_aircraft, StringIds::tooltip_toggle_vehicle_colour_scheme),
|
||||
makeWidget({ 15, 234 }, { 204, 12 }, WidgetType::checkbox, 1, StringIds::colour_ships, StringIds::tooltip_toggle_vehicle_colour_scheme),
|
||||
makeWidget({ 221, 48 }, { 16, 16 }, WidgetType::wt_10, 1, ImageIds::null, StringIds::tooltip_select_main_colour),
|
||||
makeWidget({ 221, 78 }, { 16, 16 }, WidgetType::wt_10, 1, ImageIds::null, StringIds::tooltip_select_main_colour),
|
||||
makeWidget({ 221, 95 }, { 16, 16 }, WidgetType::wt_10, 1, ImageIds::null, StringIds::tooltip_select_main_colour),
|
||||
makeWidget({ 221, 112 }, { 16, 16 }, WidgetType::wt_10, 1, ImageIds::null, StringIds::tooltip_select_main_colour),
|
||||
makeWidget({ 221, 129 }, { 16, 16 }, WidgetType::wt_10, 1, ImageIds::null, StringIds::tooltip_select_main_colour),
|
||||
makeWidget({ 221, 146 }, { 16, 16 }, WidgetType::wt_10, 1, ImageIds::null, StringIds::tooltip_select_main_colour),
|
||||
makeWidget({ 221, 163 }, { 16, 16 }, WidgetType::wt_10, 1, ImageIds::null, StringIds::tooltip_select_main_colour),
|
||||
makeWidget({ 221, 180 }, { 16, 16 }, WidgetType::wt_10, 1, ImageIds::null, StringIds::tooltip_select_main_colour),
|
||||
makeWidget({ 221, 197 }, { 16, 16 }, WidgetType::wt_10, 1, ImageIds::null, StringIds::tooltip_select_main_colour),
|
||||
makeWidget({ 221, 214 }, { 16, 16 }, WidgetType::wt_10, 1, ImageIds::null, StringIds::tooltip_select_main_colour),
|
||||
makeWidget({ 221, 231 }, { 16, 16 }, WidgetType::wt_10, 1, ImageIds::null, StringIds::tooltip_select_main_colour),
|
||||
makeWidget({ 239, 48 }, { 16, 16 }, WidgetType::wt_10, 1, ImageIds::null, StringIds::tooltip_select_secondary_colour),
|
||||
makeWidget({ 239, 78 }, { 16, 16 }, WidgetType::wt_10, 1, ImageIds::null, StringIds::tooltip_select_secondary_colour),
|
||||
makeWidget({ 239, 95 }, { 16, 16 }, WidgetType::wt_10, 1, ImageIds::null, StringIds::tooltip_select_secondary_colour),
|
||||
makeWidget({ 239, 112 }, { 16, 16 }, WidgetType::wt_10, 1, ImageIds::null, StringIds::tooltip_select_secondary_colour),
|
||||
makeWidget({ 239, 129 }, { 16, 16 }, WidgetType::wt_10, 1, ImageIds::null, StringIds::tooltip_select_secondary_colour),
|
||||
makeWidget({ 239, 146 }, { 16, 16 }, WidgetType::wt_10, 1, ImageIds::null, StringIds::tooltip_select_secondary_colour),
|
||||
makeWidget({ 239, 163 }, { 16, 16 }, WidgetType::wt_10, 1, ImageIds::null, StringIds::tooltip_select_secondary_colour),
|
||||
makeWidget({ 239, 180 }, { 16, 16 }, WidgetType::wt_10, 1, ImageIds::null, StringIds::tooltip_select_secondary_colour),
|
||||
makeWidget({ 239, 197 }, { 16, 16 }, WidgetType::wt_10, 1, ImageIds::null, StringIds::tooltip_select_secondary_colour),
|
||||
makeWidget({ 239, 214 }, { 16, 16 }, WidgetType::wt_10, 1, ImageIds::null, StringIds::tooltip_select_secondary_colour),
|
||||
makeWidget({ 239, 231 }, { 16, 16 }, WidgetType::wt_10, 1, ImageIds::null, StringIds::tooltip_select_secondary_colour),
|
||||
makeWidget({ 15, 81 }, { 204, 12 }, WidgetType::checkbox, WindowColour::secondary, StringIds::colour_steam_locomotives, StringIds::tooltip_toggle_vehicle_colour_scheme),
|
||||
makeWidget({ 15, 98 }, { 204, 12 }, WidgetType::checkbox, WindowColour::secondary, StringIds::colour_diesel_locomotives, StringIds::tooltip_toggle_vehicle_colour_scheme),
|
||||
makeWidget({ 15, 115 }, { 204, 12 }, WidgetType::checkbox, WindowColour::secondary, StringIds::colour_electric_locomotives, StringIds::tooltip_toggle_vehicle_colour_scheme),
|
||||
makeWidget({ 15, 132 }, { 204, 12 }, WidgetType::checkbox, WindowColour::secondary, StringIds::colour_multiple_units, StringIds::tooltip_toggle_vehicle_colour_scheme),
|
||||
makeWidget({ 15, 149 }, { 204, 12 }, WidgetType::checkbox, WindowColour::secondary, StringIds::colour_passenger_vehicles, StringIds::tooltip_toggle_vehicle_colour_scheme),
|
||||
makeWidget({ 15, 166 }, { 204, 12 }, WidgetType::checkbox, WindowColour::secondary, StringIds::colour_freight_vehicles, StringIds::tooltip_toggle_vehicle_colour_scheme),
|
||||
makeWidget({ 15, 183 }, { 204, 12 }, WidgetType::checkbox, WindowColour::secondary, StringIds::colour_buses, StringIds::tooltip_toggle_vehicle_colour_scheme),
|
||||
makeWidget({ 15, 200 }, { 204, 12 }, WidgetType::checkbox, WindowColour::secondary, StringIds::colour_trucks, StringIds::tooltip_toggle_vehicle_colour_scheme),
|
||||
makeWidget({ 15, 217 }, { 204, 12 }, WidgetType::checkbox, WindowColour::secondary, StringIds::colour_aircraft, StringIds::tooltip_toggle_vehicle_colour_scheme),
|
||||
makeWidget({ 15, 234 }, { 204, 12 }, WidgetType::checkbox, WindowColour::secondary, StringIds::colour_ships, StringIds::tooltip_toggle_vehicle_colour_scheme),
|
||||
makeWidget({ 221, 48 }, { 16, 16 }, WidgetType::wt_10, WindowColour::secondary, ImageIds::null, StringIds::tooltip_select_main_colour),
|
||||
makeWidget({ 221, 78 }, { 16, 16 }, WidgetType::wt_10, WindowColour::secondary, ImageIds::null, StringIds::tooltip_select_main_colour),
|
||||
makeWidget({ 221, 95 }, { 16, 16 }, WidgetType::wt_10, WindowColour::secondary, ImageIds::null, StringIds::tooltip_select_main_colour),
|
||||
makeWidget({ 221, 112 }, { 16, 16 }, WidgetType::wt_10, WindowColour::secondary, ImageIds::null, StringIds::tooltip_select_main_colour),
|
||||
makeWidget({ 221, 129 }, { 16, 16 }, WidgetType::wt_10, WindowColour::secondary, ImageIds::null, StringIds::tooltip_select_main_colour),
|
||||
makeWidget({ 221, 146 }, { 16, 16 }, WidgetType::wt_10, WindowColour::secondary, ImageIds::null, StringIds::tooltip_select_main_colour),
|
||||
makeWidget({ 221, 163 }, { 16, 16 }, WidgetType::wt_10, WindowColour::secondary, ImageIds::null, StringIds::tooltip_select_main_colour),
|
||||
makeWidget({ 221, 180 }, { 16, 16 }, WidgetType::wt_10, WindowColour::secondary, ImageIds::null, StringIds::tooltip_select_main_colour),
|
||||
makeWidget({ 221, 197 }, { 16, 16 }, WidgetType::wt_10, WindowColour::secondary, ImageIds::null, StringIds::tooltip_select_main_colour),
|
||||
makeWidget({ 221, 214 }, { 16, 16 }, WidgetType::wt_10, WindowColour::secondary, ImageIds::null, StringIds::tooltip_select_main_colour),
|
||||
makeWidget({ 221, 231 }, { 16, 16 }, WidgetType::wt_10, WindowColour::secondary, ImageIds::null, StringIds::tooltip_select_main_colour),
|
||||
makeWidget({ 239, 48 }, { 16, 16 }, WidgetType::wt_10, WindowColour::secondary, ImageIds::null, StringIds::tooltip_select_secondary_colour),
|
||||
makeWidget({ 239, 78 }, { 16, 16 }, WidgetType::wt_10, WindowColour::secondary, ImageIds::null, StringIds::tooltip_select_secondary_colour),
|
||||
makeWidget({ 239, 95 }, { 16, 16 }, WidgetType::wt_10, WindowColour::secondary, ImageIds::null, StringIds::tooltip_select_secondary_colour),
|
||||
makeWidget({ 239, 112 }, { 16, 16 }, WidgetType::wt_10, WindowColour::secondary, ImageIds::null, StringIds::tooltip_select_secondary_colour),
|
||||
makeWidget({ 239, 129 }, { 16, 16 }, WidgetType::wt_10, WindowColour::secondary, ImageIds::null, StringIds::tooltip_select_secondary_colour),
|
||||
makeWidget({ 239, 146 }, { 16, 16 }, WidgetType::wt_10, WindowColour::secondary, ImageIds::null, StringIds::tooltip_select_secondary_colour),
|
||||
makeWidget({ 239, 163 }, { 16, 16 }, WidgetType::wt_10, WindowColour::secondary, ImageIds::null, StringIds::tooltip_select_secondary_colour),
|
||||
makeWidget({ 239, 180 }, { 16, 16 }, WidgetType::wt_10, WindowColour::secondary, ImageIds::null, StringIds::tooltip_select_secondary_colour),
|
||||
makeWidget({ 239, 197 }, { 16, 16 }, WidgetType::wt_10, WindowColour::secondary, ImageIds::null, StringIds::tooltip_select_secondary_colour),
|
||||
makeWidget({ 239, 214 }, { 16, 16 }, WidgetType::wt_10, WindowColour::secondary, ImageIds::null, StringIds::tooltip_select_secondary_colour),
|
||||
makeWidget({ 239, 231 }, { 16, 16 }, WidgetType::wt_10, WindowColour::secondary, ImageIds::null, StringIds::tooltip_select_secondary_colour),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -1526,8 +1526,8 @@ namespace OpenLoco::Ui::Windows::CompanyWindow
|
|||
|
||||
static Widget widgets[] = {
|
||||
commonWidgets(636, 319, StringIds::title_company_finances),
|
||||
makeWidget({ 133, 45 }, { 499, 215 }, WidgetType::scrollview, 1, Scrollbars::horizontal),
|
||||
makeStepperWidgets({ 87, 264 }, { 100, 12 }, WidgetType::wt_17, 1, StringIds::company_current_loan_value),
|
||||
makeWidget({ 133, 45 }, { 499, 215 }, WidgetType::scrollview, WindowColour::secondary, Scrollbars::horizontal),
|
||||
makeStepperWidgets({ 87, 264 }, { 100, 12 }, WidgetType::wt_17, WindowColour::secondary, StringIds::company_current_loan_value),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -1627,7 +1627,7 @@ namespace OpenLoco::Ui::Windows::CompanyWindow
|
|||
// Add zebra stripes to even labels.
|
||||
if (i % 2 == 0)
|
||||
{
|
||||
auto colour = Colour::getShade(self->colours[1], 6) | 0x1000000;
|
||||
auto colour = Colour::getShade(self->getColour(WindowColour::secondary), 6) | 0x1000000;
|
||||
Gfx::fillRect(context, self->x + 4, y, self->x + 129, y + 9, colour);
|
||||
}
|
||||
|
||||
|
@ -1797,7 +1797,7 @@ namespace OpenLoco::Ui::Windows::CompanyWindow
|
|||
// Add zebra stripes to even labels.
|
||||
if (i % 2 == 0)
|
||||
{
|
||||
auto colour = Colour::getShade(self->colours[1], 6) | 0x1000000;
|
||||
auto colour = Colour::getShade(self->getColour(WindowColour::secondary), 6) | 0x1000000;
|
||||
Gfx::fillRect(context, 0, y, expenditureColumnWidth * 17, y + 9, colour);
|
||||
}
|
||||
|
||||
|
@ -2588,7 +2588,7 @@ namespace OpenLoco::Ui::Windows::CompanyWindow
|
|||
|
||||
// Details tab
|
||||
{
|
||||
const uint32_t imageId = Gfx::recolour(skin->img + InterfaceSkin::ImageIds::tab_company_details, self->colours[0]);
|
||||
const uint32_t imageId = Gfx::recolour(skin->img + InterfaceSkin::ImageIds::tab_company_details, self->getColour(WindowColour::primary));
|
||||
Widget::drawTab(self, context, imageId, widx::tab_details);
|
||||
}
|
||||
|
||||
|
|
|
@ -798,7 +798,7 @@ namespace OpenLoco::Ui::Windows::Construction
|
|||
window->owner = _playerCompany;
|
||||
|
||||
auto skin = ObjectManager::get<InterfaceSkinObject>();
|
||||
window->colours[1] = skin->colour_0D;
|
||||
window->setColour(WindowColour::secondary, skin->colour_0D);
|
||||
|
||||
WindowManager::sub_4CEE0B(window);
|
||||
Ui::Windows::showDirectionArrows();
|
||||
|
|
|
@ -94,15 +94,15 @@ namespace OpenLoco::Ui::Windows::Construction
|
|||
tab_overhead,
|
||||
};
|
||||
|
||||
#define commonWidgets(frameWidth, frameHeight, windowCaptionId) \
|
||||
makeWidget({ 0, 0 }, { frameWidth, frameHeight }, WidgetType::frame, 0), \
|
||||
makeWidget({ 1, 1 }, { frameWidth - 2, 13 }, WidgetType::caption_24, 0, windowCaptionId), \
|
||||
makeWidget({ frameWidth - 15, 2 }, { 13, 13 }, WidgetType::wt_9, 0, ImageIds::close_button, StringIds::tooltip_close_window), \
|
||||
makeWidget({ 0, 41 }, { frameWidth, frameHeight - 41 }, WidgetType::wt_3, 1), \
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tab_track_road_construction), \
|
||||
makeRemapWidget({ 34, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tab_station_construction), \
|
||||
makeRemapWidget({ 65, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tab_signal_construction), \
|
||||
makeRemapWidget({ 96, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tab_electrification_construction)
|
||||
#define commonWidgets(frameWidth, frameHeight, windowCaptionId) \
|
||||
makeWidget({ 0, 0 }, { frameWidth, frameHeight }, WidgetType::frame, WindowColour::primary), \
|
||||
makeWidget({ 1, 1 }, { frameWidth - 2, 13 }, WidgetType::caption_24, WindowColour::primary, windowCaptionId), \
|
||||
makeWidget({ frameWidth - 15, 2 }, { 13, 13 }, WidgetType::wt_9, WindowColour::primary, ImageIds::close_button, StringIds::tooltip_close_window), \
|
||||
makeWidget({ 0, 41 }, { frameWidth, frameHeight - 41 }, WidgetType::wt_3, WindowColour::secondary), \
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tab_track_road_construction), \
|
||||
makeRemapWidget({ 34, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tab_station_construction), \
|
||||
makeRemapWidget({ 65, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tab_signal_construction), \
|
||||
makeRemapWidget({ 96, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tab_electrification_construction)
|
||||
|
||||
constexpr uint64_t enabledWidgets = (1 << widx::caption) | (1 << widx::close_button) | (1 << widx::tab_construction) | (1 << widx::tab_station) | (1 << widx::tab_signal) | (1 << widx::tab_overhead);
|
||||
|
||||
|
|
|
@ -71,29 +71,29 @@ namespace OpenLoco::Ui::Windows::Construction::Construction
|
|||
|
||||
Widget widgets[] = {
|
||||
commonWidgets(138, 276, StringIds::stringid_2),
|
||||
makeWidget({ 3, 45 }, { 22, 24 }, WidgetType::wt_9, 1, ImageIds::construction_left_hand_curve_very_small, StringIds::tooltip_left_hand_curve_very_small),
|
||||
makeWidget({ 3, 45 }, { 22, 24 }, WidgetType::wt_9, 1, ImageIds::construction_left_hand_curve_small, StringIds::tooltip_left_hand_curve_small),
|
||||
makeWidget({ 25, 45 }, { 22, 24 }, WidgetType::wt_9, 1, ImageIds::construction_left_hand_curve, StringIds::tooltip_left_hand_curve),
|
||||
makeWidget({ 47, 45 }, { 22, 24 }, WidgetType::wt_9, 1, ImageIds::construction_left_hand_curve_large, StringIds::tooltip_left_hand_curve_large),
|
||||
makeWidget({ 69, 45 }, { 22, 24 }, WidgetType::wt_9, 1, ImageIds::construction_right_hand_curve_large, StringIds::tooltip_right_hand_curve_large),
|
||||
makeWidget({ 91, 45 }, { 22, 24 }, WidgetType::wt_9, 1, ImageIds::construction_right_hand_curve, StringIds::tooltip_right_hand_curve),
|
||||
makeWidget({ 113, 45 }, { 22, 24 }, WidgetType::wt_9, 1, ImageIds::construction_right_hand_curve_small, StringIds::tooltip_right_hand_curve_small),
|
||||
makeWidget({ 113, 45 }, { 22, 24 }, WidgetType::wt_9, 1, ImageIds::construction_right_hand_curve_very_small, StringIds::tooltip_right_hand_curve_very_small),
|
||||
makeWidget({ 9, 69 }, { 24, 24 }, WidgetType::wt_9, 1, ImageIds::construction_s_bend_dual_track_left, StringIds::tooltip_s_bend_left_dual_track),
|
||||
makeWidget({ 33, 69 }, { 24, 24 }, WidgetType::wt_9, 1, ImageIds::construction_s_bend_left, StringIds::tooltip_s_bend_left),
|
||||
makeWidget({ 57, 69 }, { 24, 24 }, WidgetType::wt_9, 1, ImageIds::construction_straight, StringIds::tooltip_straight),
|
||||
makeWidget({ 81, 69 }, { 24, 24 }, WidgetType::wt_9, 1, ImageIds::construction_s_bend_right, StringIds::tooltip_s_bend_right),
|
||||
makeWidget({ 105, 69 }, { 24, 24 }, WidgetType::wt_9, 1, ImageIds::construction_s_bend_dual_track_right, StringIds::tooltip_s_bend_right_dual_track),
|
||||
makeWidget({ 9, 96 }, { 24, 24 }, WidgetType::wt_9, 1, ImageIds::construction_steep_slope_down, StringIds::tooltip_steep_slope_down),
|
||||
makeWidget({ 33, 96 }, { 24, 24 }, WidgetType::wt_9, 1, ImageIds::construction_slope_down, StringIds::tooltip_slope_down),
|
||||
makeWidget({ 57, 96 }, { 24, 24 }, WidgetType::wt_9, 1, ImageIds::construction_level, StringIds::tooltip_level),
|
||||
makeWidget({ 81, 96 }, { 24, 24 }, WidgetType::wt_9, 1, ImageIds::construction_slope_up, StringIds::tooltip_slope_up),
|
||||
makeWidget({ 105, 96 }, { 24, 24 }, WidgetType::wt_9, 1, ImageIds::construction_steep_slope_up, StringIds::tooltip_steep_slope_up),
|
||||
makeWidget({ 40, 123 }, { 58, 20 }, WidgetType::wt_18, 1, StringIds::empty, StringIds::tooltip_bridge_stats),
|
||||
makeWidget({ 86, 124 }, { 11, 18 }, WidgetType::wt_11, 1, StringIds::dropdown, StringIds::tooltip_bridge_stats),
|
||||
makeWidget({ 3, 145 }, { 132, 100 }, WidgetType::wt_5, 1, 0xFFFFFFFF, StringIds::tooltip_construct),
|
||||
makeWidget({ 6, 248 }, { 46, 24 }, WidgetType::wt_9, 1, ImageIds::construction_remove, StringIds::tooltip_remove),
|
||||
makeWidget({ 57, 248 }, { 24, 24 }, WidgetType::wt_9, 1, ImageIds::rotate_object, StringIds::rotate_90),
|
||||
makeWidget({ 3, 45 }, { 22, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::construction_left_hand_curve_very_small, StringIds::tooltip_left_hand_curve_very_small),
|
||||
makeWidget({ 3, 45 }, { 22, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::construction_left_hand_curve_small, StringIds::tooltip_left_hand_curve_small),
|
||||
makeWidget({ 25, 45 }, { 22, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::construction_left_hand_curve, StringIds::tooltip_left_hand_curve),
|
||||
makeWidget({ 47, 45 }, { 22, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::construction_left_hand_curve_large, StringIds::tooltip_left_hand_curve_large),
|
||||
makeWidget({ 69, 45 }, { 22, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::construction_right_hand_curve_large, StringIds::tooltip_right_hand_curve_large),
|
||||
makeWidget({ 91, 45 }, { 22, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::construction_right_hand_curve, StringIds::tooltip_right_hand_curve),
|
||||
makeWidget({ 113, 45 }, { 22, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::construction_right_hand_curve_small, StringIds::tooltip_right_hand_curve_small),
|
||||
makeWidget({ 113, 45 }, { 22, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::construction_right_hand_curve_very_small, StringIds::tooltip_right_hand_curve_very_small),
|
||||
makeWidget({ 9, 69 }, { 24, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::construction_s_bend_dual_track_left, StringIds::tooltip_s_bend_left_dual_track),
|
||||
makeWidget({ 33, 69 }, { 24, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::construction_s_bend_left, StringIds::tooltip_s_bend_left),
|
||||
makeWidget({ 57, 69 }, { 24, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::construction_straight, StringIds::tooltip_straight),
|
||||
makeWidget({ 81, 69 }, { 24, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::construction_s_bend_right, StringIds::tooltip_s_bend_right),
|
||||
makeWidget({ 105, 69 }, { 24, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::construction_s_bend_dual_track_right, StringIds::tooltip_s_bend_right_dual_track),
|
||||
makeWidget({ 9, 96 }, { 24, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::construction_steep_slope_down, StringIds::tooltip_steep_slope_down),
|
||||
makeWidget({ 33, 96 }, { 24, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::construction_slope_down, StringIds::tooltip_slope_down),
|
||||
makeWidget({ 57, 96 }, { 24, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::construction_level, StringIds::tooltip_level),
|
||||
makeWidget({ 81, 96 }, { 24, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::construction_slope_up, StringIds::tooltip_slope_up),
|
||||
makeWidget({ 105, 96 }, { 24, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::construction_steep_slope_up, StringIds::tooltip_steep_slope_up),
|
||||
makeWidget({ 40, 123 }, { 58, 20 }, WidgetType::wt_18, WindowColour::secondary, StringIds::empty, StringIds::tooltip_bridge_stats),
|
||||
makeWidget({ 86, 124 }, { 11, 18 }, WidgetType::wt_11, WindowColour::secondary, StringIds::dropdown, StringIds::tooltip_bridge_stats),
|
||||
makeWidget({ 3, 145 }, { 132, 100 }, WidgetType::wt_5, WindowColour::secondary, 0xFFFFFFFF, StringIds::tooltip_construct),
|
||||
makeWidget({ 6, 248 }, { 46, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::construction_remove, StringIds::tooltip_remove),
|
||||
makeWidget({ 57, 248 }, { 24, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::rotate_object, StringIds::rotate_90),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -1238,7 +1238,7 @@ namespace OpenLoco::Ui::Windows::Construction::Construction
|
|||
auto width = 155;
|
||||
auto height = widget.height();
|
||||
|
||||
Dropdown::show(x, y, width, height, self->colours[1], bridgeCount, 22, flags);
|
||||
Dropdown::show(x, y, width, height, self->getColour(WindowColour::secondary), bridgeCount, 22, flags);
|
||||
for (auto i = 0; i < 9; i++)
|
||||
{
|
||||
auto bridge = _bridgeList[i];
|
||||
|
|
|
@ -21,13 +21,13 @@ namespace OpenLoco::Ui::Windows::Construction::Overhead
|
|||
|
||||
Widget widgets[] = {
|
||||
commonWidgets(138, 192, StringIds::stringid_2),
|
||||
makeWidget({ 3, 45 }, { 132, 12 }, WidgetType::checkbox, 1, StringIds::empty, StringIds::tooltip_select_track_mod),
|
||||
makeWidget({ 3, 57 }, { 132, 12 }, WidgetType::checkbox, 1, StringIds::empty, StringIds::tooltip_select_track_mod),
|
||||
makeWidget({ 3, 69 }, { 132, 12 }, WidgetType::checkbox, 1, StringIds::empty, StringIds::tooltip_select_track_mod),
|
||||
makeWidget({ 3, 81 }, { 132, 12 }, WidgetType::checkbox, 1, StringIds::empty, StringIds::tooltip_select_track_mod),
|
||||
makeWidget({ 35, 110 }, { 66, 66 }, WidgetType::wt_3, 1),
|
||||
makeWidget({ 3, 95 }, { 132, 12 }, WidgetType::wt_18, 1, 0xFFFFFFFF, StringIds::tooltip_select_track_to_upgrade),
|
||||
makeWidget({ 123, 96 }, { 11, 10 }, WidgetType::wt_11, 1, StringIds::dropdown, StringIds::tooltip_select_track_to_upgrade),
|
||||
makeWidget({ 3, 45 }, { 132, 12 }, WidgetType::checkbox, WindowColour::secondary, StringIds::empty, StringIds::tooltip_select_track_mod),
|
||||
makeWidget({ 3, 57 }, { 132, 12 }, WidgetType::checkbox, WindowColour::secondary, StringIds::empty, StringIds::tooltip_select_track_mod),
|
||||
makeWidget({ 3, 69 }, { 132, 12 }, WidgetType::checkbox, WindowColour::secondary, StringIds::empty, StringIds::tooltip_select_track_mod),
|
||||
makeWidget({ 3, 81 }, { 132, 12 }, WidgetType::checkbox, WindowColour::secondary, StringIds::empty, StringIds::tooltip_select_track_mod),
|
||||
makeWidget({ 35, 110 }, { 66, 66 }, WidgetType::wt_3, WindowColour::secondary),
|
||||
makeWidget({ 3, 95 }, { 132, 12 }, WidgetType::wt_18, WindowColour::secondary, 0xFFFFFFFF, StringIds::tooltip_select_track_to_upgrade),
|
||||
makeWidget({ 123, 96 }, { 11, 10 }, WidgetType::wt_11, WindowColour::secondary, StringIds::dropdown, StringIds::tooltip_select_track_to_upgrade),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -82,7 +82,7 @@ namespace OpenLoco::Ui::Windows::Construction::Overhead
|
|||
auto width = widget.width() + 2;
|
||||
auto height = widget.height();
|
||||
|
||||
Dropdown::show(xPos, yPos, width, height, self->colours[1], modCount, (1 << 7));
|
||||
Dropdown::show(xPos, yPos, width, height, self->getColour(WindowColour::secondary), modCount, (1 << 7));
|
||||
|
||||
Dropdown::add(0, StringIds::single_section);
|
||||
Dropdown::add(1, StringIds::block_section);
|
||||
|
|
|
@ -16,10 +16,10 @@ namespace OpenLoco::Ui::Windows::Construction::Signal
|
|||
{
|
||||
Widget widgets[] = {
|
||||
commonWidgets(138, 167, StringIds::stringid_2),
|
||||
makeWidget({ 3, 45 }, { 132, 12 }, WidgetType::wt_18, 1, 0xFFFFFFFF, StringIds::tooltip_select_signal_type),
|
||||
makeWidget({ 123, 46 }, { 11, 10 }, WidgetType::wt_11, 1, StringIds::dropdown, StringIds::tooltip_select_signal_type),
|
||||
makeWidget({ 27, 110 }, { 40, 40 }, WidgetType::wt_9, 1, 0xFFFFFFFF, StringIds::tooltip_signal_both_directions),
|
||||
makeWidget({ 71, 110 }, { 40, 40 }, WidgetType::wt_9, 1, 0xFFFFFFFF, StringIds::tooltip_signal_single_direction),
|
||||
makeWidget({ 3, 45 }, { 132, 12 }, WidgetType::wt_18, WindowColour::secondary, 0xFFFFFFFF, StringIds::tooltip_select_signal_type),
|
||||
makeWidget({ 123, 46 }, { 11, 10 }, WidgetType::wt_11, WindowColour::secondary, StringIds::dropdown, StringIds::tooltip_select_signal_type),
|
||||
makeWidget({ 27, 110 }, { 40, 40 }, WidgetType::wt_9, WindowColour::secondary, 0xFFFFFFFF, StringIds::tooltip_signal_both_directions),
|
||||
makeWidget({ 71, 110 }, { 40, 40 }, WidgetType::wt_9, WindowColour::secondary, 0xFFFFFFFF, StringIds::tooltip_signal_single_direction),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -60,7 +60,7 @@ namespace OpenLoco::Ui::Windows::Construction::Signal
|
|||
auto width = widget.width() + 2;
|
||||
auto height = widget.height();
|
||||
|
||||
Dropdown::show(xPos, yPos, width, height, self->colours[1], signalCount, (1 << 7));
|
||||
Dropdown::show(xPos, yPos, width, height, self->getColour(WindowColour::secondary), signalCount, (1 << 7));
|
||||
|
||||
for (auto signalIndex = 0; signalIndex < signalCount; signalIndex++)
|
||||
{
|
||||
|
|
|
@ -23,10 +23,10 @@ namespace OpenLoco::Ui::Windows::Construction::Station
|
|||
{
|
||||
Widget widgets[] = {
|
||||
commonWidgets(138, 190, StringIds::stringid_2),
|
||||
makeWidget({ 3, 45 }, { 132, 12 }, WidgetType::wt_18, 1, 0xFFFFFFFF, StringIds::tooltip_select_station_type),
|
||||
makeWidget({ 123, 46 }, { 11, 10 }, WidgetType::wt_11, 1, StringIds::dropdown, StringIds::tooltip_select_station_type),
|
||||
makeWidget({ 35, 60 }, { 68, 68 }, WidgetType::wt_3, 1),
|
||||
makeWidget({ 112, 104 }, { 24, 24 }, WidgetType::wt_9, 1, ImageIds::rotate_object, StringIds::rotate_90),
|
||||
makeWidget({ 3, 45 }, { 132, 12 }, WidgetType::wt_18, WindowColour::secondary, 0xFFFFFFFF, StringIds::tooltip_select_station_type),
|
||||
makeWidget({ 123, 46 }, { 11, 10 }, WidgetType::wt_11, WindowColour::secondary, StringIds::dropdown, StringIds::tooltip_select_station_type),
|
||||
makeWidget({ 35, 60 }, { 68, 68 }, WidgetType::wt_3, WindowColour::secondary),
|
||||
makeWidget({ 112, 104 }, { 24, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::rotate_object, StringIds::rotate_90),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -87,7 +87,7 @@ namespace OpenLoco::Ui::Windows::Construction::Station
|
|||
auto yPos = widget.top + self->y;
|
||||
auto width = widget.width() + 2;
|
||||
auto height = widget.height();
|
||||
Dropdown::show(xPos, yPos, width, height, self->colours[1], stationCount, (1 << 7));
|
||||
Dropdown::show(xPos, yPos, width, height, self->getColour(WindowColour::secondary), stationCount, (1 << 7));
|
||||
|
||||
if (_byte_1136063 & (1 << 7))
|
||||
{
|
||||
|
@ -300,7 +300,7 @@ namespace OpenLoco::Ui::Windows::Construction::Station
|
|||
xPos = self->x + 3;
|
||||
yPos = self->widgets[widx::image].bottom + self->y + 16;
|
||||
auto width = self->width - 4;
|
||||
Gfx::drawRectInset(context, xPos, yPos, width, 1, self->colours[1], (1 << 5));
|
||||
Gfx::drawRectInset(context, xPos, yPos, width, 1, self->getColour(WindowColour::secondary), (1 << 5));
|
||||
|
||||
if (!(_byte_522096 & (1 << 3)))
|
||||
return;
|
||||
|
|
|
@ -18,7 +18,7 @@ namespace OpenLoco::Ui::Windows::DragVehiclePart
|
|||
|
||||
// 0x00522504
|
||||
static Widget widgets[] = {
|
||||
makeWidget({ 0, 0 }, { 150, 60 }, WidgetType::wt_3, 0),
|
||||
makeWidget({ 0, 0 }, { 150, 60 }, WidgetType::wt_3, WindowColour::primary),
|
||||
widgetEnd()
|
||||
};
|
||||
|
||||
|
|
|
@ -22,10 +22,10 @@ namespace OpenLoco::Ui::Windows::EditKeyboardShortcut
|
|||
static loco_global<uint8_t, 0x011364A4> _11364A4;
|
||||
|
||||
static Widget _widgets[] = {
|
||||
makeWidget({ 0, 0 }, windowSize, WidgetType::frame, 0, 0xFFFFFFFF), // 0,
|
||||
makeWidget({ 1, 1 }, { windowSize.width - 2, 13 }, WidgetType::caption_25, 0, StringIds::change_keyboard_shortcut), // 1,
|
||||
makeWidget({ 265, 2 }, { 13, 13 }, WidgetType::wt_9, 0, ImageIds::close_button, StringIds::tooltip_close_window), // 2,
|
||||
makeWidget({ 0, 15 }, { windowSize.width, 57 }, WidgetType::panel, 1, 0xFFFFFFFF), // 3,
|
||||
makeWidget({ 0, 0 }, windowSize, WidgetType::frame, WindowColour::primary, 0xFFFFFFFF), // 0,
|
||||
makeWidget({ 1, 1 }, { windowSize.width - 2, 13 }, WidgetType::caption_25, WindowColour::primary, StringIds::change_keyboard_shortcut), // 1,
|
||||
makeWidget({ 265, 2 }, { 13, 13 }, WidgetType::wt_9, WindowColour::primary, ImageIds::close_button, StringIds::tooltip_close_window), // 2,
|
||||
makeWidget({ 0, 15 }, { windowSize.width, 57 }, WidgetType::panel, WindowColour::secondary, 0xFFFFFFFF), // 3,
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -58,8 +58,8 @@ namespace OpenLoco::Ui::Windows::EditKeyboardShortcut
|
|||
window->initScrollWidgets();
|
||||
|
||||
const auto skin = ObjectManager::get<InterfaceSkinObject>();
|
||||
window->colours[0] = skin->colour_0B;
|
||||
window->colours[1] = skin->colour_10;
|
||||
window->setColour(WindowColour::primary, skin->colour_0B);
|
||||
window->setColour(WindowColour::secondary, skin->colour_10);
|
||||
|
||||
return window;
|
||||
}
|
||||
|
|
|
@ -40,7 +40,7 @@ namespace OpenLoco::Ui::Windows::Error
|
|||
};
|
||||
|
||||
Widget widgets[] = {
|
||||
makeWidget({ 0, 0 }, { 200, 42 }, WidgetType::wt_3, 0),
|
||||
makeWidget({ 0, 0 }, { 200, 42 }, WidgetType::wt_3, WindowColour::primary),
|
||||
widgetEnd(),
|
||||
};
|
||||
}
|
||||
|
@ -54,8 +54,8 @@ namespace OpenLoco::Ui::Windows::Error
|
|||
};
|
||||
|
||||
Widget widgets[] = {
|
||||
makeWidget({ 0, 0 }, { 250, 70 }, WidgetType::wt_3, 0),
|
||||
makeWidget({ 3, 3 }, { 64, 64 }, WidgetType::wt_3, 1),
|
||||
makeWidget({ 0, 0 }, { 250, 70 }, WidgetType::wt_3, WindowColour::primary),
|
||||
makeWidget({ 3, 3 }, { 64, 64 }, WidgetType::wt_3, WindowColour::secondary),
|
||||
widgetEnd(),
|
||||
};
|
||||
}
|
||||
|
|
|
@ -43,13 +43,13 @@ namespace OpenLoco::Ui::Windows::IndustryList
|
|||
|
||||
const uint64_t enabledWidgets = (1 << widx::close_button) | (1 << widx::tab_industry_list) | (1 << widx::tab_new_industry);
|
||||
|
||||
#define commonWidgets(frameWidth, frameHeight, windowCaptionId) \
|
||||
makeWidget({ 0, 0 }, { frameWidth, frameHeight }, WidgetType::frame, 0), \
|
||||
makeWidget({ 1, 1 }, { frameWidth - 2, 13 }, WidgetType::caption_25, 0, windowCaptionId), \
|
||||
makeWidget({ frameWidth - 15, 2 }, { 13, 13 }, WidgetType::wt_9, 0, ImageIds::close_button, StringIds::tooltip_close_window), \
|
||||
makeWidget({ 0, 41 }, { frameWidth, 154 }, WidgetType::panel, 1), \
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_industries_list), \
|
||||
makeRemapWidget({ 34, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_fund_new_industries)
|
||||
#define commonWidgets(frameWidth, frameHeight, windowCaptionId) \
|
||||
makeWidget({ 0, 0 }, { frameWidth, frameHeight }, WidgetType::frame, WindowColour::primary), \
|
||||
makeWidget({ 1, 1 }, { frameWidth - 2, 13 }, WidgetType::caption_25, WindowColour::primary, windowCaptionId), \
|
||||
makeWidget({ frameWidth - 15, 2 }, { 13, 13 }, WidgetType::wt_9, WindowColour::primary, ImageIds::close_button, StringIds::tooltip_close_window), \
|
||||
makeWidget({ 0, 41 }, { frameWidth, 154 }, WidgetType::panel, WindowColour::secondary), \
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_industries_list), \
|
||||
makeRemapWidget({ 34, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_fund_new_industries)
|
||||
|
||||
static WindowEventList _events;
|
||||
|
||||
|
@ -80,10 +80,10 @@ namespace OpenLoco::Ui::Windows::IndustryList
|
|||
|
||||
Widget widgets[] = {
|
||||
commonWidgets(600, 197, StringIds::title_industries),
|
||||
makeWidget({ 4, 44 }, { 199, 11 }, WidgetType::wt_14, 1, ImageIds::null, StringIds::sort_industry_name),
|
||||
makeWidget({ 204, 44 }, { 204, 11 }, WidgetType::wt_14, 1, ImageIds::null, StringIds::sort_industry_status),
|
||||
makeWidget({ 444, 44 }, { 159, 11 }, WidgetType::wt_14, 1, ImageIds::null, StringIds::sort_industry_production_transported),
|
||||
makeWidget({ 3, 56 }, { 593, 125 }, WidgetType::scrollview, 1, Scrollbars::vertical),
|
||||
makeWidget({ 4, 44 }, { 199, 11 }, WidgetType::wt_14, WindowColour::secondary, ImageIds::null, StringIds::sort_industry_name),
|
||||
makeWidget({ 204, 44 }, { 204, 11 }, WidgetType::wt_14, WindowColour::secondary, ImageIds::null, StringIds::sort_industry_status),
|
||||
makeWidget({ 444, 44 }, { 159, 11 }, WidgetType::wt_14, WindowColour::secondary, ImageIds::null, StringIds::sort_industry_production_transported),
|
||||
makeWidget({ 3, 56 }, { 593, 125 }, WidgetType::scrollview, WindowColour::secondary, Scrollbars::vertical),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -379,7 +379,7 @@ namespace OpenLoco::Ui::Windows::IndustryList
|
|||
// 0x00457D2A
|
||||
static void drawScroll(Ui::Window* self, Gfx::Context* context, uint32_t scrollIndex)
|
||||
{
|
||||
auto shade = Colour::getShade(self->colours[1], 4);
|
||||
auto shade = Colour::getShade(self->getColour(WindowColour::secondary), 4);
|
||||
Gfx::clearSingle(*context, shade);
|
||||
|
||||
uint16_t yPos = 0;
|
||||
|
@ -543,8 +543,8 @@ namespace OpenLoco::Ui::Windows::IndustryList
|
|||
window->flags |= WindowFlags::resizable;
|
||||
|
||||
auto skin = ObjectManager::get<InterfaceSkinObject>();
|
||||
window->colours[0] = skin->colour_0B;
|
||||
window->colours[1] = skin->colour_0C;
|
||||
window->setColour(WindowColour::primary, skin->colour_0B);
|
||||
window->setColour(WindowColour::secondary, skin->colour_0C);
|
||||
|
||||
// 0x00457878 end
|
||||
|
||||
|
@ -585,7 +585,7 @@ namespace OpenLoco::Ui::Windows::IndustryList
|
|||
|
||||
Widget widgets[] = {
|
||||
commonWidgets(577, 171, StringIds::title_fund_new_industries),
|
||||
makeWidget({ 3, 45 }, { 549, 111 }, WidgetType::scrollview, 1, Scrollbars::vertical),
|
||||
makeWidget({ 3, 45 }, { 549, 111 }, WidgetType::scrollview, WindowColour::secondary, Scrollbars::vertical),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -869,7 +869,7 @@ namespace OpenLoco::Ui::Windows::IndustryList
|
|||
// 0x00458352
|
||||
static void drawScroll(Ui::Window* self, Gfx::Context* context, uint32_t scrollIndex)
|
||||
{
|
||||
auto shade = Colour::getShade(self->colours[1], 4);
|
||||
auto shade = Colour::getShade(self->getColour(WindowColour::secondary), 4);
|
||||
Gfx::clearSingle(*context, shade);
|
||||
|
||||
loco_global<uint16_t, 0x00E0C3C6> word_E0C3C6;
|
||||
|
@ -883,13 +883,13 @@ namespace OpenLoco::Ui::Windows::IndustryList
|
|||
if (self->row_info[i] == self->var_846)
|
||||
{
|
||||
word_E0C3C6 = Colour::translucent_flag;
|
||||
Gfx::drawRectInset(context, xPos, yPos, rowHeight, rowHeight, self->colours[1], Colour::translucent_flag);
|
||||
Gfx::drawRectInset(context, xPos, yPos, rowHeight, rowHeight, self->getColour(WindowColour::secondary), Colour::translucent_flag);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
word_E0C3C6 = Colour::translucent_flag | Colour::outline_flag;
|
||||
Gfx::drawRectInset(context, xPos, yPos, rowHeight, rowHeight, self->colours[1], (Colour::translucent_flag | Colour::outline_flag));
|
||||
Gfx::drawRectInset(context, xPos, yPos, rowHeight, rowHeight, self->getColour(WindowColour::secondary), (Colour::translucent_flag | Colour::outline_flag));
|
||||
}
|
||||
|
||||
auto industryObj = ObjectManager::get<IndustryObject>(self->row_info[i]);
|
||||
|
|
|
@ -42,15 +42,15 @@ namespace OpenLoco::Ui::Windows::Industry
|
|||
|
||||
const uint64_t enabledWidgets = (1 << widx::caption) | (1 << widx::close_button) | (1 << widx::tab_industry) | (1 << widx::tab_production) | (1 << widx::tab_production_2) | (1 << widx::tab_transported);
|
||||
|
||||
#define commonWidgets(frameWidth, frameHeight, windowCaptionId) \
|
||||
makeWidget({ 0, 0 }, { frameWidth, frameHeight }, WidgetType::frame, 0), \
|
||||
makeWidget({ 1, 1 }, { frameWidth - 2, 13 }, WidgetType::caption_25, 0, windowCaptionId), \
|
||||
makeWidget({ frameWidth - 15, 2 }, { 13, 13 }, WidgetType::wt_9, 0, ImageIds::close_button, StringIds::tooltip_close_window), \
|
||||
makeWidget({ 0, 41 }, { frameWidth, 95 }, WidgetType::panel, 1), \
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_industry), \
|
||||
makeRemapWidget({ 34, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_production_graph), \
|
||||
makeRemapWidget({ 65, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_production_graph), \
|
||||
makeRemapWidget({ 96, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_statistics)
|
||||
#define commonWidgets(frameWidth, frameHeight, windowCaptionId) \
|
||||
makeWidget({ 0, 0 }, { frameWidth, frameHeight }, WidgetType::frame, WindowColour::primary), \
|
||||
makeWidget({ 1, 1 }, { frameWidth - 2, 13 }, WidgetType::caption_25, WindowColour::primary, windowCaptionId), \
|
||||
makeWidget({ frameWidth - 15, 2 }, { 13, 13 }, WidgetType::wt_9, WindowColour::primary, ImageIds::close_button, StringIds::tooltip_close_window), \
|
||||
makeWidget({ 0, 41 }, { frameWidth, 95 }, WidgetType::panel, WindowColour::secondary), \
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_industry), \
|
||||
makeRemapWidget({ 34, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_production_graph), \
|
||||
makeRemapWidget({ 65, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_production_graph), \
|
||||
makeRemapWidget({ 96, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_statistics)
|
||||
|
||||
// Defined at the bottom of this file.
|
||||
static void prepareDraw(Window* self);
|
||||
|
@ -84,10 +84,10 @@ namespace OpenLoco::Ui::Windows::Industry
|
|||
|
||||
static Widget widgets[] = {
|
||||
commonWidgets(223, 137, StringIds::title_town),
|
||||
makeWidget({ 3, 44 }, { 195, 80 }, WidgetType::viewport, 1, 0xFFFFFFFE),
|
||||
makeWidget({ 3, 115 }, { 195, 21 }, WidgetType::wt_13, 1),
|
||||
makeWidget({ 0, 0 }, { 24, 24 }, WidgetType::wt_9, 1, ImageIds::null, StringIds::move_main_view_to_show_this),
|
||||
makeWidget({ 198, 44 }, { 24, 24 }, WidgetType::wt_9, 1, ImageIds::rubbish_bin, StringIds::demolish_this_industry),
|
||||
makeWidget({ 3, 44 }, { 195, 80 }, WidgetType::viewport, WindowColour::secondary, 0xFFFFFFFE),
|
||||
makeWidget({ 3, 115 }, { 195, 21 }, WidgetType::wt_13, WindowColour::secondary),
|
||||
makeWidget({ 0, 0 }, { 24, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::null, StringIds::move_main_view_to_show_this),
|
||||
makeWidget({ 198, 44 }, { 24, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::rubbish_bin, StringIds::demolish_this_industry),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -313,8 +313,8 @@ namespace OpenLoco::Ui::Windows::Industry
|
|||
auto skin = ObjectManager::get<InterfaceSkinObject>();
|
||||
if (skin != nullptr)
|
||||
{
|
||||
window->colours[0] = skin->colour_0B;
|
||||
window->colours[1] = skin->colour_0C;
|
||||
window->setColour(WindowColour::primary, skin->colour_0B);
|
||||
window->setColour(WindowColour::secondary, skin->colour_0C);
|
||||
}
|
||||
// 0x00456DBC end
|
||||
|
||||
|
@ -593,7 +593,7 @@ namespace OpenLoco::Ui::Windows::Industry
|
|||
auto args = FormatArguments();
|
||||
args.push(yTick);
|
||||
|
||||
Gfx::drawRect(context, self->x + 41, yPos, 239, 1, Colour::getShade(self->colours[1], 4));
|
||||
Gfx::drawRect(context, self->x + 41, yPos, 239, 1, Colour::getShade(self->getColour(WindowColour::secondary), 4));
|
||||
|
||||
Gfx::drawString_494C78(*context, self->x + 39, yPos - 6, Colour::black, StringIds::population_graph_people, &args);
|
||||
|
||||
|
@ -623,7 +623,7 @@ namespace OpenLoco::Ui::Windows::Industry
|
|||
Gfx::drawStringCentred(*context, xPos, yPos, Colour::black, StringIds::population_graph_year, &args);
|
||||
}
|
||||
|
||||
Gfx::drawRect(context, xPos, yPos + 11, 1, self->height - 74, Colour::getShade(self->colours[1], 4));
|
||||
Gfx::drawRect(context, xPos, yPos + 11, 1, self->height - 74, Colour::getShade(self->getColour(WindowColour::secondary), 4));
|
||||
}
|
||||
|
||||
const auto history = productionTabWidx == widx::tab_production ? industry->history_1 : industry->history_2;
|
||||
|
@ -638,7 +638,7 @@ namespace OpenLoco::Ui::Windows::Industry
|
|||
{
|
||||
if (yPos2 <= graphBottom)
|
||||
{
|
||||
Gfx::drawLine(context, xPos, yPos1, xPos + 1, yPos2, Colour::getShade(self->colours[1], 7));
|
||||
Gfx::drawLine(context, xPos, yPos1, xPos + 1, yPos2, Colour::getShade(self->getColour(WindowColour::secondary), 7));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -840,7 +840,7 @@ namespace OpenLoco::Ui::Windows::Industry
|
|||
|
||||
if (industryObj->produced_cargo_type[productionTabNumber] != 0xFF)
|
||||
{
|
||||
imageId = Gfx::recolour(skin->img, self->colours[1]);
|
||||
imageId = Gfx::recolour(skin->img, self->getColour(WindowColour::secondary));
|
||||
|
||||
if (self->current_tab == tab - widx::tab_industry)
|
||||
imageId += productionTabImageIds[(self->frame_no / 4) % std::size(productionTabImageIds)];
|
||||
|
|
|
@ -20,12 +20,12 @@ namespace OpenLoco::Ui::Windows::KeyboardShortcuts
|
|||
static WindowEventList _events;
|
||||
|
||||
static Widget _widgets[] = {
|
||||
makeWidget({ 0, 0 }, { 360, 238 }, WidgetType::frame, 0),
|
||||
makeWidget({ 1, 1 }, { 358, 13 }, WidgetType::caption_25, 0, StringIds::keyboard_shortcuts),
|
||||
makeWidget({ 345, 2 }, { 13, 13 }, WidgetType::wt_9, 0, ImageIds::close_button, StringIds::tooltip_close_window),
|
||||
makeWidget({ 0, 15 }, { 360, 223 }, WidgetType::panel, 1),
|
||||
makeWidget({ 4, 19 }, { 352, 202 }, WidgetType::scrollview, 1, Scrollbars::vertical, StringIds::keyboard_shortcut_list_tip),
|
||||
makeWidget({ 4, 223 }, { 150, 12 }, WidgetType::wt_11, 1, StringIds::reset_keys, StringIds::reset_keys_tip),
|
||||
makeWidget({ 0, 0 }, { 360, 238 }, WidgetType::frame, WindowColour::primary),
|
||||
makeWidget({ 1, 1 }, { 358, 13 }, WidgetType::caption_25, WindowColour::primary, StringIds::keyboard_shortcuts),
|
||||
makeWidget({ 345, 2 }, { 13, 13 }, WidgetType::wt_9, WindowColour::primary, ImageIds::close_button, StringIds::tooltip_close_window),
|
||||
makeWidget({ 0, 15 }, { 360, 223 }, WidgetType::panel, WindowColour::secondary),
|
||||
makeWidget({ 4, 19 }, { 352, 202 }, WidgetType::scrollview, WindowColour::secondary, Scrollbars::vertical, StringIds::keyboard_shortcut_list_tip),
|
||||
makeWidget({ 4, 223 }, { 150, 12 }, WidgetType::wt_11, WindowColour::secondary, StringIds::reset_keys, StringIds::reset_keys_tip),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -81,8 +81,8 @@ namespace OpenLoco::Ui::Windows::KeyboardShortcuts
|
|||
window->initScrollWidgets();
|
||||
|
||||
auto skin = ObjectManager::get<InterfaceSkinObject>();
|
||||
window->colours[0] = skin->colour_0B;
|
||||
window->colours[1] = skin->colour_10;
|
||||
window->setColour(WindowColour::primary, skin->colour_0B);
|
||||
window->setColour(WindowColour::secondary, skin->colour_10);
|
||||
|
||||
window->row_count = static_cast<uint16_t>(ShortcutManager::count());
|
||||
window->row_hover = -1;
|
||||
|
@ -100,7 +100,7 @@ namespace OpenLoco::Ui::Windows::KeyboardShortcuts
|
|||
// 0x004BE72C
|
||||
static void drawScroll(Ui::Window* self, Gfx::Context* context, uint32_t scrollIndex)
|
||||
{
|
||||
auto colour = self->colours[1];
|
||||
auto colour = self->getColour(WindowColour::secondary);
|
||||
auto shade = Colour::getShade(colour, 4);
|
||||
Gfx::clearSingle(*context, shade);
|
||||
|
||||
|
|
|
@ -51,16 +51,16 @@ namespace OpenLoco::Ui::Windows::LandscapeGeneration
|
|||
|
||||
const uint64_t enabled_widgets = (1 << widx::close_button) | (1 << tab_options) | (1 << tab_land) | (1 << tab_forests) | (1 << tab_towns) | (1 << tab_industries);
|
||||
|
||||
#define common_options_widgets(frame_height, window_caption_id) \
|
||||
makeWidget({ 0, 0 }, { 366, frame_height }, WidgetType::frame, 0), \
|
||||
makeWidget({ 1, 1 }, { 364, 13 }, WidgetType::caption_25, 0, window_caption_id), \
|
||||
makeWidget({ 351, 2 }, { 13, 13 }, WidgetType::wt_9, 0, ImageIds::close_button, StringIds::tooltip_close_window), \
|
||||
makeWidget({ 0, 41 }, { 366, 175 }, WidgetType::panel, 1), \
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_landscape_generation_options), \
|
||||
makeRemapWidget({ 34, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_landscape_generation_land), \
|
||||
makeRemapWidget({ 65, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_landscape_generation_forests), \
|
||||
makeRemapWidget({ 96, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_landscape_generation_towns), \
|
||||
makeRemapWidget({ 127, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_landscape_generation_industries)
|
||||
#define common_options_widgets(frame_height, window_caption_id) \
|
||||
makeWidget({ 0, 0 }, { 366, frame_height }, WidgetType::frame, WindowColour::primary), \
|
||||
makeWidget({ 1, 1 }, { 364, 13 }, WidgetType::caption_25, WindowColour::primary, window_caption_id), \
|
||||
makeWidget({ 351, 2 }, { 13, 13 }, WidgetType::wt_9, WindowColour::primary, ImageIds::close_button, StringIds::tooltip_close_window), \
|
||||
makeWidget({ 0, 41 }, { 366, 175 }, WidgetType::panel, WindowColour::secondary), \
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_landscape_generation_options), \
|
||||
makeRemapWidget({ 34, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_landscape_generation_land), \
|
||||
makeRemapWidget({ 65, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_landscape_generation_forests), \
|
||||
makeRemapWidget({ 96, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_landscape_generation_towns), \
|
||||
makeRemapWidget({ 127, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_landscape_generation_industries)
|
||||
|
||||
// Defined at the bottom of this file.
|
||||
static void initEvents();
|
||||
|
@ -162,9 +162,9 @@ namespace OpenLoco::Ui::Windows::LandscapeGeneration
|
|||
|
||||
static Widget widgets[] = {
|
||||
common_options_widgets(217, StringIds::title_landscape_generation_options),
|
||||
makeStepperWidgets({ 256, 52 }, { 100, 12 }, WidgetType::wt_18, 1, StringIds::start_year_value),
|
||||
makeWidget({ 10, 68 }, { 346, 12 }, WidgetType::checkbox, 1, StringIds::label_generate_random_landscape_when_game_starts, StringIds::tooltip_generate_random_landscape_when_game_starts),
|
||||
makeWidget({ 196, 200 }, { 160, 12 }, WidgetType::wt_11, 1, StringIds::button_generate_landscape, StringIds::tooltip_generate_random_landscape),
|
||||
makeStepperWidgets({ 256, 52 }, { 100, 12 }, WidgetType::wt_18, WindowColour::secondary, StringIds::start_year_value),
|
||||
makeWidget({ 10, 68 }, { 346, 12 }, WidgetType::checkbox, WindowColour::secondary, StringIds::label_generate_random_landscape_when_game_starts, StringIds::tooltip_generate_random_landscape_when_game_starts),
|
||||
makeWidget({ 196, 200 }, { 160, 12 }, WidgetType::wt_11, WindowColour::secondary, StringIds::button_generate_landscape, StringIds::tooltip_generate_random_landscape),
|
||||
widgetEnd()
|
||||
};
|
||||
|
||||
|
@ -313,8 +313,8 @@ namespace OpenLoco::Ui::Windows::LandscapeGeneration
|
|||
window->row_hover = -1;
|
||||
|
||||
auto interface = ObjectManager::get<InterfaceSkinObject>();
|
||||
window->colours[0] = interface->colour_0B;
|
||||
window->colours[1] = interface->colour_0E;
|
||||
window->setColour(WindowColour::primary, interface->colour_0B);
|
||||
window->setColour(WindowColour::secondary, interface->colour_0E);
|
||||
}
|
||||
// End of 0x0043DAEA
|
||||
|
||||
|
@ -359,13 +359,13 @@ namespace OpenLoco::Ui::Windows::LandscapeGeneration
|
|||
|
||||
static Widget widgets[] = {
|
||||
common_options_widgets(247, StringIds::title_landscape_generation_land),
|
||||
makeDropdownWidgets({ 176, 52 }, { 180, 12 }, WidgetType::wt_18, 1),
|
||||
makeStepperWidgets({ 256, 67 }, { 100, 12 }, WidgetType::wt_18, 1, StringIds::sea_level_units),
|
||||
makeStepperWidgets({ 256, 82 }, { 100, 12 }, WidgetType::wt_18, 1, StringIds::min_land_height_units),
|
||||
makeDropdownWidgets({ 176, 97 }, { 180, 12 }, WidgetType::wt_18, 1),
|
||||
makeStepperWidgets({ 256, 112 }, { 100, 12 }, WidgetType::wt_18, 1, StringIds::hill_density_percent),
|
||||
makeWidget({ 10, 128 }, { 346, 12 }, WidgetType::checkbox, 1, StringIds::create_hills_right_up_to_edge_of_map),
|
||||
makeWidget({ 4, 142 }, { 358, 100 }, WidgetType::scrollview, 1, Scrollbars::vertical),
|
||||
makeDropdownWidgets({ 176, 52 }, { 180, 12 }, WidgetType::wt_18, WindowColour::secondary),
|
||||
makeStepperWidgets({ 256, 67 }, { 100, 12 }, WidgetType::wt_18, WindowColour::secondary, StringIds::sea_level_units),
|
||||
makeStepperWidgets({ 256, 82 }, { 100, 12 }, WidgetType::wt_18, WindowColour::secondary, StringIds::min_land_height_units),
|
||||
makeDropdownWidgets({ 176, 97 }, { 180, 12 }, WidgetType::wt_18, WindowColour::secondary),
|
||||
makeStepperWidgets({ 256, 112 }, { 100, 12 }, WidgetType::wt_18, WindowColour::secondary, StringIds::hill_density_percent),
|
||||
makeWidget({ 10, 128 }, { 346, 12 }, WidgetType::checkbox, WindowColour::secondary, StringIds::create_hills_right_up_to_edge_of_map),
|
||||
makeWidget({ 4, 142 }, { 358, 100 }, WidgetType::scrollview, WindowColour::secondary, Scrollbars::vertical),
|
||||
widgetEnd()
|
||||
};
|
||||
|
||||
|
@ -443,7 +443,7 @@ namespace OpenLoco::Ui::Windows::LandscapeGeneration
|
|||
Gfx::drawString_494BBF(*context, 24, yPos + 5, 121, Colour::black, StringIds::wcolour2_stringid, &*commonFormatArgs);
|
||||
|
||||
// Draw rectangle.
|
||||
Gfx::fillRectInset(context, 150, yPos + 5, 340, yPos + 16, window->colours[1], 0b110000);
|
||||
Gfx::fillRectInset(context, 150, yPos + 5, 340, yPos + 16, window->getColour(WindowColour::secondary), 0b110000);
|
||||
|
||||
// Draw current distribution setting.
|
||||
const string_id distributionId = landDistributionLabelIds[S5::getOptions().landDistributionPatterns[i]];
|
||||
|
@ -452,7 +452,7 @@ namespace OpenLoco::Ui::Windows::LandscapeGeneration
|
|||
|
||||
// Draw rectangle (knob).
|
||||
const uint8_t flags = window->row_hover == i ? 0b110000 : 0;
|
||||
Gfx::fillRectInset(context, 329, yPos + 6, 339, yPos + 15, window->colours[1], flags);
|
||||
Gfx::fillRectInset(context, 329, yPos + 6, 339, yPos + 15, window->getColour(WindowColour::secondary), flags);
|
||||
|
||||
// Draw triangle (knob).
|
||||
Gfx::drawString_494B3F(*context, 330, yPos + 6, Colour::black, StringIds::dropdown, nullptr);
|
||||
|
@ -546,7 +546,7 @@ namespace OpenLoco::Ui::Windows::LandscapeGeneration
|
|||
case widx::generator_btn:
|
||||
{
|
||||
Widget& target = window->widgets[widx::generator];
|
||||
Dropdown::show(window->x + target.left, window->y + target.top, target.width() - 4, target.height(), window->colours[1], std::size(generatorIds), 0x80);
|
||||
Dropdown::show(window->x + target.left, window->y + target.top, target.width() - 4, target.height(), window->getColour(WindowColour::secondary), std::size(generatorIds), 0x80);
|
||||
|
||||
for (size_t i = 0; i < std::size(generatorIds); i++)
|
||||
Dropdown::add(i, generatorIds[i]);
|
||||
|
@ -558,7 +558,7 @@ namespace OpenLoco::Ui::Windows::LandscapeGeneration
|
|||
case widx::topography_style_btn:
|
||||
{
|
||||
Widget& target = window->widgets[widx::topography_style];
|
||||
Dropdown::show(window->x + target.left, window->y + target.top, target.width() - 4, target.height(), window->colours[1], std::size(topographyStyleIds), 0x80);
|
||||
Dropdown::show(window->x + target.left, window->y + target.top, target.width() - 4, target.height(), window->getColour(WindowColour::secondary), std::size(topographyStyleIds), 0x80);
|
||||
|
||||
for (size_t i = 0; i < std::size(topographyStyleIds); i++)
|
||||
Dropdown::add(i, topographyStyleIds[i]);
|
||||
|
@ -642,7 +642,7 @@ namespace OpenLoco::Ui::Windows::LandscapeGeneration
|
|||
const Widget& target = window->widgets[widx::scrollview];
|
||||
const int16_t dropdownX = window->x + target.left + 151;
|
||||
const int16_t dropdownY = window->y + target.top + 6 + landIndex * rowHeight - window->scroll_areas[0].contentOffsetY;
|
||||
Dropdown::show(dropdownX, dropdownY, 188, 12, window->colours[1], std::size(landDistributionLabelIds), 0x80);
|
||||
Dropdown::show(dropdownX, dropdownY, 188, 12, window->getColour(WindowColour::secondary), std::size(landDistributionLabelIds), 0x80);
|
||||
|
||||
for (size_t i = 0; i < std::size(landDistributionLabelIds); i++)
|
||||
Dropdown::add(i, StringIds::dropdown_stringid, landDistributionLabelIds[i]);
|
||||
|
@ -741,14 +741,14 @@ namespace OpenLoco::Ui::Windows::LandscapeGeneration
|
|||
|
||||
static Widget widgets[] = {
|
||||
common_options_widgets(217, StringIds::title_landscape_generation_forests),
|
||||
makeStepperWidgets({ 256, 52 }, { 100, 12 }, WidgetType::wt_18, 1, StringIds::number_of_forests_value),
|
||||
makeStepperWidgets({ 256, 67 }, { 100, 12 }, WidgetType::wt_18, 1, StringIds::min_forest_radius_blocks),
|
||||
makeStepperWidgets({ 256, 82 }, { 100, 12 }, WidgetType::wt_18, 1, StringIds::max_forest_radius_blocks),
|
||||
makeStepperWidgets({ 256, 97 }, { 100, 12 }, WidgetType::wt_18, 1, StringIds::min_forest_density_percent),
|
||||
makeStepperWidgets({ 256, 112 }, { 100, 12 }, WidgetType::wt_18, 1, StringIds::max_forest_density_percent),
|
||||
makeStepperWidgets({ 256, 127 }, { 100, 12 }, WidgetType::wt_18, 1, StringIds::number_random_trees_value),
|
||||
makeStepperWidgets({ 256, 142 }, { 100, 12 }, WidgetType::wt_18, 1, StringIds::min_altitude_for_trees_height),
|
||||
makeStepperWidgets({ 256, 157 }, { 100, 12 }, WidgetType::wt_18, 1, StringIds::max_altitude_for_trees_height),
|
||||
makeStepperWidgets({ 256, 52 }, { 100, 12 }, WidgetType::wt_18, WindowColour::secondary, StringIds::number_of_forests_value),
|
||||
makeStepperWidgets({ 256, 67 }, { 100, 12 }, WidgetType::wt_18, WindowColour::secondary, StringIds::min_forest_radius_blocks),
|
||||
makeStepperWidgets({ 256, 82 }, { 100, 12 }, WidgetType::wt_18, WindowColour::secondary, StringIds::max_forest_radius_blocks),
|
||||
makeStepperWidgets({ 256, 97 }, { 100, 12 }, WidgetType::wt_18, WindowColour::secondary, StringIds::min_forest_density_percent),
|
||||
makeStepperWidgets({ 256, 112 }, { 100, 12 }, WidgetType::wt_18, WindowColour::secondary, StringIds::max_forest_density_percent),
|
||||
makeStepperWidgets({ 256, 127 }, { 100, 12 }, WidgetType::wt_18, WindowColour::secondary, StringIds::number_random_trees_value),
|
||||
makeStepperWidgets({ 256, 142 }, { 100, 12 }, WidgetType::wt_18, WindowColour::secondary, StringIds::min_altitude_for_trees_height),
|
||||
makeStepperWidgets({ 256, 157 }, { 100, 12 }, WidgetType::wt_18, WindowColour::secondary, StringIds::max_altitude_for_trees_height),
|
||||
widgetEnd()
|
||||
};
|
||||
|
||||
|
@ -985,9 +985,9 @@ namespace OpenLoco::Ui::Windows::LandscapeGeneration
|
|||
|
||||
static Widget widgets[] = {
|
||||
common_options_widgets(217, StringIds::title_landscape_generation_towns),
|
||||
makeStepperWidgets({ 256, 52 }, { 100, 12 }, WidgetType::wt_18, 1, StringIds::number_of_towns_value),
|
||||
makeWidget({ 176, 67 }, { 180, 12 }, WidgetType::wt_18, 1),
|
||||
makeWidget({ 344, 68 }, { 11, 10 }, WidgetType::wt_11, 1, StringIds::dropdown),
|
||||
makeStepperWidgets({ 256, 52 }, { 100, 12 }, WidgetType::wt_18, WindowColour::secondary, StringIds::number_of_towns_value),
|
||||
makeWidget({ 176, 67 }, { 180, 12 }, WidgetType::wt_18, WindowColour::secondary),
|
||||
makeWidget({ 344, 68 }, { 11, 10 }, WidgetType::wt_11, WindowColour::secondary, StringIds::dropdown),
|
||||
widgetEnd()
|
||||
};
|
||||
|
||||
|
@ -1060,7 +1060,7 @@ namespace OpenLoco::Ui::Windows::LandscapeGeneration
|
|||
case widx::max_town_size_btn:
|
||||
{
|
||||
Widget& target = window->widgets[widx::max_town_size];
|
||||
Dropdown::show(window->x + target.left, window->y + target.top, target.width() - 4, target.height(), window->colours[1], std::size(townSizeLabels), 0x80);
|
||||
Dropdown::show(window->x + target.left, window->y + target.top, target.width() - 4, target.height(), window->getColour(WindowColour::secondary), std::size(townSizeLabels), 0x80);
|
||||
|
||||
for (size_t i = 0; i < std::size(townSizeLabels); i++)
|
||||
Dropdown::add(i, townSizeLabels[i]);
|
||||
|
@ -1126,10 +1126,10 @@ namespace OpenLoco::Ui::Windows::LandscapeGeneration
|
|||
|
||||
static Widget widgets[] = {
|
||||
common_options_widgets(217, StringIds::title_landscape_generation_industries),
|
||||
makeWidget({ 176, 52 }, { 180, 12 }, WidgetType::wt_18, 1),
|
||||
makeWidget({ 344, 53 }, { 11, 10 }, WidgetType::wt_11, 1, StringIds::dropdown),
|
||||
makeWidget({ 10, 68 }, { 346, 12 }, WidgetType::checkbox, 1, StringIds::allow_industries_to_close_down_during_game),
|
||||
makeWidget({ 10, 83 }, { 346, 12 }, WidgetType::checkbox, 1, StringIds::allow_new_industries_to_start_up_during_game),
|
||||
makeWidget({ 176, 52 }, { 180, 12 }, WidgetType::wt_18, WindowColour::secondary),
|
||||
makeWidget({ 344, 53 }, { 11, 10 }, WidgetType::wt_11, WindowColour::secondary, StringIds::dropdown),
|
||||
makeWidget({ 10, 68 }, { 346, 12 }, WidgetType::checkbox, WindowColour::secondary, StringIds::allow_industries_to_close_down_during_game),
|
||||
makeWidget({ 10, 83 }, { 346, 12 }, WidgetType::checkbox, WindowColour::secondary, StringIds::allow_new_industries_to_start_up_during_game),
|
||||
widgetEnd()
|
||||
};
|
||||
|
||||
|
@ -1171,7 +1171,7 @@ namespace OpenLoco::Ui::Windows::LandscapeGeneration
|
|||
return;
|
||||
|
||||
Widget& target = window->widgets[widx::num_industries];
|
||||
Dropdown::show(window->x + target.left, window->y + target.top, target.width() - 4, target.height(), window->colours[1], std::size(numIndustriesLabels), 0x80);
|
||||
Dropdown::show(window->x + target.left, window->y + target.top, target.width() - 4, target.height(), window->getColour(WindowColour::secondary), std::size(numIndustriesLabels), 0x80);
|
||||
|
||||
for (size_t i = 0; i < std::size(numIndustriesLabels); i++)
|
||||
Dropdown::add(i, numIndustriesLabels[i]);
|
||||
|
|
|
@ -25,11 +25,11 @@ namespace OpenLoco::Ui::Windows::LandscapeGenerationConfirm
|
|||
};
|
||||
|
||||
static Widget widgets[] = {
|
||||
makeWidget({ 0, 0 }, { 280, 92 }, WidgetType::panel, 0),
|
||||
makeWidget({ 1, 1 }, { 278, 13 }, WidgetType::caption_22, 0),
|
||||
makeWidget({ 267, 2 }, { 11, 11 }, WidgetType::wt_11, 0, StringIds::close_window_cross, StringIds::tooltip_close_window),
|
||||
makeWidget({ 20, 77 }, { 100, 12 }, WidgetType::wt_11, 0, StringIds::label_ok),
|
||||
makeWidget({ 160, 77 }, { 100, 12 }, WidgetType::wt_11, 0, StringIds::label_button_cancel),
|
||||
makeWidget({ 0, 0 }, { 280, 92 }, WidgetType::panel, WindowColour::primary),
|
||||
makeWidget({ 1, 1 }, { 278, 13 }, WidgetType::caption_22, WindowColour::primary),
|
||||
makeWidget({ 267, 2 }, { 11, 11 }, WidgetType::wt_11, WindowColour::primary, StringIds::close_window_cross, StringIds::tooltip_close_window),
|
||||
makeWidget({ 20, 77 }, { 100, 12 }, WidgetType::wt_11, WindowColour::primary, StringIds::label_ok),
|
||||
makeWidget({ 160, 77 }, { 100, 12 }, WidgetType::wt_11, WindowColour::primary, StringIds::label_button_cancel),
|
||||
widgetEnd()
|
||||
};
|
||||
|
||||
|
@ -86,8 +86,8 @@ namespace OpenLoco::Ui::Windows::LandscapeGenerationConfirm
|
|||
window->widgets = widgets;
|
||||
window->enabled_widgets = (1 << widx::close_button) | (1 << widx::button_ok) | (1 << widx::button_cancel);
|
||||
window->initScrollWidgets();
|
||||
window->colours[0] = Colour::translucent(Colour::salmon_pink);
|
||||
window->colours[1] = Colour::translucent(Colour::salmon_pink);
|
||||
window->setColour(WindowColour::primary, Colour::translucent(Colour::salmon_pink));
|
||||
window->setColour(WindowColour::secondary, Colour::translucent(Colour::salmon_pink));
|
||||
window->flags |= WindowFlags::transparent;
|
||||
|
||||
// TODO(avgeffen): only needs to be called once.
|
||||
|
|
|
@ -20,7 +20,7 @@ namespace OpenLoco::Ui::Windows::Main
|
|||
}
|
||||
|
||||
static Widget _widgets[] = {
|
||||
makeWidget({ 0, 0 }, { 0, 0 }, WidgetType::viewport, 0, 0xFFFFFFFE),
|
||||
makeWidget({ 0, 0 }, { 0, 0 }, WidgetType::viewport, WindowColour::primary, 0xFFFFFFFE),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
|
|
@ -91,17 +91,17 @@ namespace OpenLoco::Ui::Windows::MapWindow
|
|||
const uint64_t enabledWidgets = (1 << closeButton) | (1 << tabOverall) | (1 << tabVehicles) | (1 << tabIndustries) | (1 << tabRoutes) | (1 << tabOwnership);
|
||||
|
||||
Widget widgets[] = {
|
||||
makeWidget({ 0, 0 }, { 350, 272 }, WidgetType::frame, 0),
|
||||
makeWidget({ 1, 1 }, { 348, 13 }, WidgetType::caption_25, 0),
|
||||
makeWidget({ 335, 2 }, { 13, 13 }, WidgetType::wt_9, 0, ImageIds::close_button, StringIds::tooltip_close_window),
|
||||
makeWidget({ 0, 41 }, { 350, 230 }, WidgetType::panel, 1),
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_6, 1, ImageIds::tab, StringIds::tab_map_overall),
|
||||
makeRemapWidget({ 34, 15 }, { 31, 27 }, WidgetType::wt_6, 1, ImageIds::tab, StringIds::tab_map_vehicles),
|
||||
makeRemapWidget({ 65, 15 }, { 31, 27 }, WidgetType::wt_6, 1, ImageIds::tab, StringIds::tab_map_industries),
|
||||
makeRemapWidget({ 96, 15 }, { 31, 27 }, WidgetType::wt_6, 1, ImageIds::tab, StringIds::tab_map_routes),
|
||||
makeRemapWidget({ 158, 15 }, { 31, 27 }, WidgetType::wt_6, 1, ImageIds::tab, StringIds::tab_map_ownership),
|
||||
makeWidget({ 3, 44 }, { 240, 215 }, WidgetType::scrollview, 1, Scrollbars::horizontal | Scrollbars::vertical),
|
||||
makeWidget({ 3, 250 }, { 322, 21 }, WidgetType::wt_13, 1),
|
||||
makeWidget({ 0, 0 }, { 350, 272 }, WidgetType::frame, WindowColour::primary),
|
||||
makeWidget({ 1, 1 }, { 348, 13 }, WidgetType::caption_25, WindowColour::primary),
|
||||
makeWidget({ 335, 2 }, { 13, 13 }, WidgetType::wt_9, WindowColour::primary, ImageIds::close_button, StringIds::tooltip_close_window),
|
||||
makeWidget({ 0, 41 }, { 350, 230 }, WidgetType::panel, WindowColour::secondary),
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_6, WindowColour::secondary, ImageIds::tab, StringIds::tab_map_overall),
|
||||
makeRemapWidget({ 34, 15 }, { 31, 27 }, WidgetType::wt_6, WindowColour::secondary, ImageIds::tab, StringIds::tab_map_vehicles),
|
||||
makeRemapWidget({ 65, 15 }, { 31, 27 }, WidgetType::wt_6, WindowColour::secondary, ImageIds::tab, StringIds::tab_map_industries),
|
||||
makeRemapWidget({ 96, 15 }, { 31, 27 }, WidgetType::wt_6, WindowColour::secondary, ImageIds::tab, StringIds::tab_map_routes),
|
||||
makeRemapWidget({ 158, 15 }, { 31, 27 }, WidgetType::wt_6, WindowColour::secondary, ImageIds::tab, StringIds::tab_map_ownership),
|
||||
makeWidget({ 3, 44 }, { 240, 215 }, WidgetType::scrollview, WindowColour::secondary, Scrollbars::horizontal | Scrollbars::vertical),
|
||||
makeWidget({ 3, 250 }, { 322, 21 }, WidgetType::wt_13, WindowColour::secondary),
|
||||
widgetEnd()
|
||||
};
|
||||
|
||||
|
@ -1505,8 +1505,8 @@ namespace OpenLoco::Ui::Windows::MapWindow
|
|||
}
|
||||
|
||||
auto skin = ObjectManager::get<InterfaceSkinObject>();
|
||||
window->colours[0] = skin->colour_0B;
|
||||
window->colours[1] = skin->colour_0F;
|
||||
window->setColour(WindowColour::primary, skin->colour_0B);
|
||||
window->setColour(WindowColour::secondary, skin->colour_0F);
|
||||
|
||||
window->var_846 = getCurrentRotation();
|
||||
|
||||
|
|
|
@ -46,13 +46,13 @@ namespace OpenLoco::Ui::Windows::MessageWindow
|
|||
|
||||
const uint64_t enabledWidgets = (1 << widx::close_button) | (1 << widx::tab_messages) | (1 << widx::tab_settings);
|
||||
|
||||
#define commonWidgets(frameWidth, frameHeight, windowCaptionId) \
|
||||
makeWidget({ 0, 0 }, { frameWidth, frameHeight }, WidgetType::frame, 0), \
|
||||
makeWidget({ 1, 1 }, { frameWidth - 2, 13 }, WidgetType::caption_24, 0, windowCaptionId), \
|
||||
makeWidget({ frameWidth - 15, 2 }, { 13, 13 }, WidgetType::wt_9, 0, ImageIds::close_button, StringIds::tooltip_close_window), \
|
||||
makeWidget({ 0, 41 }, { 366, 175 }, WidgetType::panel, 1), \
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_recent_messages), \
|
||||
makeRemapWidget({ 34, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_message_options)
|
||||
#define commonWidgets(frameWidth, frameHeight, windowCaptionId) \
|
||||
makeWidget({ 0, 0 }, { frameWidth, frameHeight }, WidgetType::frame, WindowColour::primary), \
|
||||
makeWidget({ 1, 1 }, { frameWidth - 2, 13 }, WidgetType::caption_24, WindowColour::primary, windowCaptionId), \
|
||||
makeWidget({ frameWidth - 15, 2 }, { 13, 13 }, WidgetType::wt_9, WindowColour::primary, ImageIds::close_button, StringIds::tooltip_close_window), \
|
||||
makeWidget({ 0, 41 }, { 366, 175 }, WidgetType::panel, WindowColour::secondary), \
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_recent_messages), \
|
||||
makeRemapWidget({ 34, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_message_options)
|
||||
|
||||
static WindowEventList _events;
|
||||
|
||||
|
@ -78,7 +78,7 @@ namespace OpenLoco::Ui::Windows::MessageWindow
|
|||
|
||||
Widget widgets[] = {
|
||||
commonWidgets(366, 217, StringIds::title_messages),
|
||||
makeWidget({ 3, 45 }, { 360, 146 }, WidgetType::scrollview, 1, Scrollbars::vertical),
|
||||
makeWidget({ 3, 45 }, { 360, 146 }, WidgetType::scrollview, WindowColour::secondary, Scrollbars::vertical),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -217,7 +217,7 @@ namespace OpenLoco::Ui::Windows::MessageWindow
|
|||
// 0x0042A5D7
|
||||
static void drawScroll(Ui::Window* self, Gfx::Context* context, uint32_t scrollIndex)
|
||||
{
|
||||
auto colour = Colour::getShade(self->colours[1], 4);
|
||||
auto colour = Colour::getShade(self->getColour(WindowColour::secondary), 4);
|
||||
|
||||
Gfx::clearSingle(*context, colour);
|
||||
|
||||
|
@ -341,7 +341,7 @@ namespace OpenLoco::Ui::Windows::MessageWindow
|
|||
|
||||
window->owner = _playerCompany;
|
||||
auto skin = ObjectManager::get<InterfaceSkinObject>();
|
||||
window->colours[1] = skin->colour_0A;
|
||||
window->setColour(WindowColour::secondary, skin->colour_0A);
|
||||
|
||||
window->width = Messages::minWindowSize.width;
|
||||
window->height = Messages::minWindowSize.height;
|
||||
|
@ -399,18 +399,18 @@ namespace OpenLoco::Ui::Windows::MessageWindow
|
|||
|
||||
Widget widgets[] = {
|
||||
commonWidgets(366, 217, StringIds::title_messages),
|
||||
makeWidget({ 236, 47 }, { 124, 12 }, WidgetType::wt_18, 1),
|
||||
makeWidget({ 348, 48 }, { 11, 10 }, WidgetType::wt_11, 1, StringIds::dropdown),
|
||||
makeWidget({ 236, 62 }, { 124, 12 }, WidgetType::wt_18, 1),
|
||||
makeWidget({ 348, 63 }, { 11, 10 }, WidgetType::wt_11, 1, StringIds::dropdown),
|
||||
makeWidget({ 236, 77 }, { 124, 12 }, WidgetType::wt_18, 1),
|
||||
makeWidget({ 348, 78 }, { 11, 10 }, WidgetType::wt_11, 1, StringIds::dropdown),
|
||||
makeWidget({ 236, 92 }, { 124, 12 }, WidgetType::wt_18, 1),
|
||||
makeWidget({ 348, 93 }, { 11, 10 }, WidgetType::wt_11, 1, StringIds::dropdown),
|
||||
makeWidget({ 236, 107 }, { 124, 12 }, WidgetType::wt_18, 1),
|
||||
makeWidget({ 348, 108 }, { 11, 10 }, WidgetType::wt_11, 1, StringIds::dropdown),
|
||||
makeWidget({ 236, 122 }, { 124, 12 }, WidgetType::wt_18, 1),
|
||||
makeWidget({ 348, 123 }, { 11, 10 }, WidgetType::wt_11, 1, StringIds::dropdown),
|
||||
makeWidget({ 236, 47 }, { 124, 12 }, WidgetType::wt_18, WindowColour::secondary),
|
||||
makeWidget({ 348, 48 }, { 11, 10 }, WidgetType::wt_11, WindowColour::secondary, StringIds::dropdown),
|
||||
makeWidget({ 236, 62 }, { 124, 12 }, WidgetType::wt_18, WindowColour::secondary),
|
||||
makeWidget({ 348, 63 }, { 11, 10 }, WidgetType::wt_11, WindowColour::secondary, StringIds::dropdown),
|
||||
makeWidget({ 236, 77 }, { 124, 12 }, WidgetType::wt_18, WindowColour::secondary),
|
||||
makeWidget({ 348, 78 }, { 11, 10 }, WidgetType::wt_11, WindowColour::secondary, StringIds::dropdown),
|
||||
makeWidget({ 236, 92 }, { 124, 12 }, WidgetType::wt_18, WindowColour::secondary),
|
||||
makeWidget({ 348, 93 }, { 11, 10 }, WidgetType::wt_11, WindowColour::secondary, StringIds::dropdown),
|
||||
makeWidget({ 236, 107 }, { 124, 12 }, WidgetType::wt_18, WindowColour::secondary),
|
||||
makeWidget({ 348, 108 }, { 11, 10 }, WidgetType::wt_11, WindowColour::secondary, StringIds::dropdown),
|
||||
makeWidget({ 236, 122 }, { 124, 12 }, WidgetType::wt_18, WindowColour::secondary),
|
||||
makeWidget({ 348, 123 }, { 11, 10 }, WidgetType::wt_11, WindowColour::secondary, StringIds::dropdown),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -457,7 +457,7 @@ namespace OpenLoco::Ui::Windows::MessageWindow
|
|||
auto height = widget.height() + 2;
|
||||
auto flags = 1 << 7;
|
||||
|
||||
Dropdown::show(xPos, yPos, width, height, self->colours[1], 3, flags);
|
||||
Dropdown::show(xPos, yPos, width, height, self->getColour(WindowColour::secondary), 3, flags);
|
||||
|
||||
Dropdown::add(0, StringIds::dropdown_stringid, StringIds::message_off);
|
||||
Dropdown::add(1, StringIds::dropdown_stringid, StringIds::message_ticker);
|
||||
|
|
|
@ -29,11 +29,11 @@ namespace OpenLoco::Ui::Windows::MusicSelection
|
|||
};
|
||||
|
||||
static Widget _widgets[] = {
|
||||
makeWidget({ 0, 0 }, { 360, 238 }, WidgetType::frame, 0),
|
||||
makeWidget({ 1, 1 }, { 358, 13 }, WidgetType::caption_25, 0, StringIds::music_selection_title),
|
||||
makeWidget({ 345, 2 }, { 13, 13 }, WidgetType::wt_9, 0, ImageIds::close_button, StringIds::tooltip_close_window),
|
||||
makeWidget({ 0, 15 }, { 360, 223 }, WidgetType::panel, 1),
|
||||
makeWidget({ 4, 19 }, { 352, 218 }, WidgetType::scrollview, 1, Scrollbars::vertical, StringIds::music_selection_tooltip),
|
||||
makeWidget({ 0, 0 }, { 360, 238 }, WidgetType::frame, WindowColour::primary),
|
||||
makeWidget({ 1, 1 }, { 358, 13 }, WidgetType::caption_25, WindowColour::primary, StringIds::music_selection_title),
|
||||
makeWidget({ 345, 2 }, { 13, 13 }, WidgetType::wt_9, WindowColour::primary, ImageIds::close_button, StringIds::tooltip_close_window),
|
||||
makeWidget({ 0, 15 }, { 360, 223 }, WidgetType::panel, WindowColour::secondary),
|
||||
makeWidget({ 4, 19 }, { 352, 218 }, WidgetType::scrollview, WindowColour::secondary, Scrollbars::vertical, StringIds::music_selection_tooltip),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -81,8 +81,8 @@ namespace OpenLoco::Ui::Windows::MusicSelection
|
|||
window->initScrollWidgets();
|
||||
|
||||
auto interface = ObjectManager::get<InterfaceSkinObject>();
|
||||
window->colours[0] = interface->colour_0B;
|
||||
window->colours[1] = interface->colour_10;
|
||||
window->setColour(WindowColour::primary, interface->colour_0B);
|
||||
window->setColour(WindowColour::secondary, interface->colour_10);
|
||||
|
||||
window->row_count = Audio::num_music_tracks;
|
||||
window->row_hover = -1;
|
||||
|
@ -100,7 +100,7 @@ namespace OpenLoco::Ui::Windows::MusicSelection
|
|||
// 0x004C1663
|
||||
static void drawScroll(Ui::Window* window, Gfx::Context* context, uint32_t scrollIndex)
|
||||
{
|
||||
auto shade = Colour::getShade(window->colours[1], 4);
|
||||
auto shade = Colour::getShade(window->getColour(WindowColour::secondary), 4);
|
||||
Gfx::clearSingle(*context, shade);
|
||||
|
||||
auto config = Config::get();
|
||||
|
@ -118,15 +118,15 @@ namespace OpenLoco::Ui::Windows::MusicSelection
|
|||
}
|
||||
|
||||
// Draw checkbox.
|
||||
Gfx::fillRectInset(context, 2, y, 11, y + 10, window->colours[1], 0xE0);
|
||||
Gfx::fillRectInset(context, 2, y, 11, y + 10, window->getColour(WindowColour::secondary), 0xE0);
|
||||
|
||||
// Draw checkmark if track is enabled.
|
||||
if (config.enabled_music[i])
|
||||
Gfx::drawString_494B3F(*context, 2, y, window->colours[1], StringIds::wcolour2_stringid, (void*)&StringIds::checkmark);
|
||||
Gfx::drawString_494B3F(*context, 2, y, window->getColour(WindowColour::secondary), StringIds::wcolour2_stringid, (void*)&StringIds::checkmark);
|
||||
|
||||
// Draw track name.
|
||||
string_id music_title_id = Audio::getMusicInfo(i)->title_id;
|
||||
Gfx::drawString_494B3F(*context, 15, y, window->colours[1], text_colour_id, (void*)&music_title_id);
|
||||
Gfx::drawString_494B3F(*context, 15, y, window->getColour(WindowColour::secondary), text_colour_id, (void*)&music_title_id);
|
||||
|
||||
y += rowHeight;
|
||||
}
|
||||
|
|
|
@ -36,7 +36,7 @@ namespace OpenLoco::Ui::Windows::NewsWindow
|
|||
Common::initEvents();
|
||||
|
||||
window->initScrollWidgets();
|
||||
window->colours[0] = colour;
|
||||
window->setColour(WindowColour::primary, colour);
|
||||
|
||||
_dword_525CD0 = 0xFFFFFFFF;
|
||||
_dword_525CD4 = 0xFFFFFFFF;
|
||||
|
@ -141,7 +141,7 @@ namespace OpenLoco::Ui::Windows::NewsWindow
|
|||
window->initScrollWidgets();
|
||||
|
||||
auto skin = ObjectManager::get<InterfaceSkinObject>();
|
||||
window->colours[0] = Colour::translucent(skin->colour_0C);
|
||||
window->setColour(WindowColour::primary, Colour::translucent(skin->colour_0C));
|
||||
|
||||
window->var_852 = 0;
|
||||
|
||||
|
|
|
@ -52,13 +52,13 @@ namespace OpenLoco::Ui::Windows::NewsWindow
|
|||
|
||||
constexpr uint64_t enabledWidgets = (1 << close_button) | (1 << viewport1Button) | (1 << viewport2Button);
|
||||
|
||||
#define commonWidgets(frameWidth, frameHeight, frameType) \
|
||||
makeWidget({ 0, 0 }, { frameWidth, frameHeight }, frameType, 0), \
|
||||
makeWidget({ frameWidth - 15, 2 }, { 13, 13 }, WidgetType::wt_9, 0, ImageIds::close_button, StringIds::tooltip_close_window), \
|
||||
makeWidget({ 2, frameHeight - 73 }, { 168, 64 }, WidgetType::viewport, 0, 0xFFFFFFFE), \
|
||||
makeWidget({ 180, frameHeight - 73 }, { 168, 64 }, WidgetType::viewport, 0, 0xFFFFFFFE), \
|
||||
makeWidget({ 2, frameHeight - 75 }, { 180, 75 }, WidgetType::wt_9, 0), \
|
||||
makeWidget({ 2, frameHeight - 75 }, { 180, 75 }, WidgetType::wt_9, 0)
|
||||
#define commonWidgets(frameWidth, frameHeight, frameType) \
|
||||
makeWidget({ 0, 0 }, { frameWidth, frameHeight }, frameType, WindowColour::primary), \
|
||||
makeWidget({ frameWidth - 15, 2 }, { 13, 13 }, WidgetType::wt_9, WindowColour::primary, ImageIds::close_button, StringIds::tooltip_close_window), \
|
||||
makeWidget({ 2, frameHeight - 73 }, { 168, 64 }, WidgetType::viewport, WindowColour::primary, 0xFFFFFFFE), \
|
||||
makeWidget({ 180, frameHeight - 73 }, { 168, 64 }, WidgetType::viewport, WindowColour::primary, 0xFFFFFFFE), \
|
||||
makeWidget({ 2, frameHeight - 75 }, { 180, 75 }, WidgetType::wt_9, WindowColour::primary), \
|
||||
makeWidget({ 2, frameHeight - 75 }, { 180, 75 }, WidgetType::wt_9, WindowColour::primary)
|
||||
|
||||
void initEvents();
|
||||
}
|
||||
|
|
|
@ -11,7 +11,7 @@ using namespace OpenLoco::Interop;
|
|||
namespace OpenLoco::Ui::Windows::NewsWindow::Ticker
|
||||
{
|
||||
Widget widgets[] = {
|
||||
makeWidget({ 0, 0 }, { 111, 26 }, WidgetType::wt_3, 0),
|
||||
makeWidget({ 0, 0 }, { 111, 26 }, WidgetType::wt_3, WindowColour::primary),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
|
|
@ -84,14 +84,14 @@ namespace OpenLoco::Ui::Windows::ObjectSelectionWindow
|
|||
};
|
||||
|
||||
Widget widgets[] = {
|
||||
makeWidget({ 0, 0 }, { 600, 398 }, WidgetType::frame, 0),
|
||||
makeWidget({ 1, 1 }, { 598, 13 }, WidgetType::caption_25, 0, StringIds::title_object_selection),
|
||||
makeWidget({ 585, 2 }, { 13, 13 }, WidgetType::wt_9, 0, ImageIds::close_button, StringIds::tooltip_close_window),
|
||||
makeWidget({ 0, 65 }, { 600, 333 }, WidgetType::panel, 1),
|
||||
makeWidget({ 3, 15 }, { 589, 50 }, WidgetType::wt_5, 1),
|
||||
makeWidget({ 470, 20 }, { 122, 12 }, WidgetType::wt_11, 0, StringIds::object_selection_advanced, StringIds::object_selection_advanced_tooltip),
|
||||
makeWidget({ 4, 68 }, { 288, 317 }, WidgetType::scrollview, 1, Scrollbars::vertical),
|
||||
makeWidget({ 391, 68 }, { 114, 114 }, WidgetType::wt_9, 1),
|
||||
makeWidget({ 0, 0 }, { 600, 398 }, WidgetType::frame, WindowColour::primary),
|
||||
makeWidget({ 1, 1 }, { 598, 13 }, WidgetType::caption_25, WindowColour::primary, StringIds::title_object_selection),
|
||||
makeWidget({ 585, 2 }, { 13, 13 }, WidgetType::wt_9, WindowColour::primary, ImageIds::close_button, StringIds::tooltip_close_window),
|
||||
makeWidget({ 0, 65 }, { 600, 333 }, WidgetType::panel, WindowColour::secondary),
|
||||
makeWidget({ 3, 15 }, { 589, 50 }, WidgetType::wt_5, WindowColour::secondary),
|
||||
makeWidget({ 470, 20 }, { 122, 12 }, WidgetType::wt_11, WindowColour::primary, StringIds::object_selection_advanced, StringIds::object_selection_advanced_tooltip),
|
||||
makeWidget({ 4, 68 }, { 288, 317 }, WidgetType::scrollview, WindowColour::secondary, Scrollbars::vertical),
|
||||
makeWidget({ 391, 68 }, { 114, 114 }, WidgetType::wt_9, WindowColour::secondary),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -178,8 +178,8 @@ namespace OpenLoco::Ui::Windows::ObjectSelectionWindow
|
|||
}
|
||||
|
||||
auto skin = ObjectManager::get<InterfaceSkinObject>();
|
||||
window->colours[0] = skin->colour_0B;
|
||||
window->colours[1] = skin->colour_0C;
|
||||
window->setColour(WindowColour::primary, skin->colour_0B);
|
||||
window->setColour(WindowColour::secondary, skin->colour_0C);
|
||||
|
||||
return window;
|
||||
}
|
||||
|
@ -269,10 +269,10 @@ namespace OpenLoco::Ui::Windows::ObjectSelectionWindow
|
|||
if (_tabInformation[index].row != row)
|
||||
continue;
|
||||
|
||||
auto image = Gfx::recolour(ImageIds::tab, self->colours[1]);
|
||||
auto image = Gfx::recolour(ImageIds::tab, self->getColour(WindowColour::secondary));
|
||||
if (_tabInformation[index].index == self->current_tab)
|
||||
{
|
||||
image = Gfx::recolour(ImageIds::selected_tab, self->colours[1]);
|
||||
image = Gfx::recolour(ImageIds::selected_tab, self->getColour(WindowColour::secondary));
|
||||
Gfx::drawImage(context, xPos, yPos, image);
|
||||
|
||||
image = Gfx::recolour(_tabDisplayInfo[_tabInformation[index].index].image, Colour::saturated_green);
|
||||
|
@ -290,7 +290,7 @@ namespace OpenLoco::Ui::Windows::ObjectSelectionWindow
|
|||
|
||||
if (row < 1)
|
||||
{
|
||||
auto colour = Colour::getShade(self->colours[1], 7);
|
||||
auto colour = Colour::getShade(self->getColour(WindowColour::secondary), 7);
|
||||
Gfx::drawRect(context, xPos, yPos + 26, 31, 1, colour);
|
||||
}
|
||||
}
|
||||
|
@ -500,7 +500,7 @@ namespace OpenLoco::Ui::Windows::ObjectSelectionWindow
|
|||
// 0x004733F5
|
||||
static void draw(Window* self, Gfx::Context* context)
|
||||
{
|
||||
Gfx::fillRectInset(context, self->x, self->y + 20, self->x + self->width - 1, self->y + 20 + 60, self->colours[0], 0);
|
||||
Gfx::fillRectInset(context, self->x, self->y + 20, self->x + self->width - 1, self->y + 20 + 60, self->getColour(WindowColour::primary), 0);
|
||||
self->draw(context);
|
||||
|
||||
drawTabs(self, context);
|
||||
|
@ -519,13 +519,13 @@ namespace OpenLoco::Ui::Windows::ObjectSelectionWindow
|
|||
if (doDefault)
|
||||
{
|
||||
auto widget = widgets[widx::objectImage];
|
||||
auto colour = Colour::getShade(self->colours[1], 5);
|
||||
auto colour = Colour::getShade(self->getColour(WindowColour::secondary), 5);
|
||||
Gfx::drawRect(context, self->x + widget.left, self->y + widget.top, widget.width(), widget.height(), colour);
|
||||
}
|
||||
else
|
||||
{
|
||||
auto widget = widgets[widx::objectImage];
|
||||
auto colour = Colour::getShade(self->colours[1], 0);
|
||||
auto colour = Colour::getShade(self->getColour(WindowColour::secondary), 0);
|
||||
Gfx::drawRect(context, self->x + widget.left + 1, self->y + widget.top + 1, widget.width() - 2, widget.height() - 2, colour);
|
||||
}
|
||||
|
||||
|
@ -587,7 +587,7 @@ namespace OpenLoco::Ui::Windows::ObjectSelectionWindow
|
|||
// 0x0047361D
|
||||
static void drawScroll(Window* self, Gfx::Context* context, uint32_t)
|
||||
{
|
||||
Gfx::clearSingle(*context, Colour::getShade(self->colours[1], 4));
|
||||
Gfx::clearSingle(*context, Colour::getShade(self->getColour(WindowColour::secondary), 4));
|
||||
|
||||
if (ObjectManager::getNumInstalledObjects() == 0)
|
||||
return;
|
||||
|
@ -597,7 +597,7 @@ namespace OpenLoco::Ui::Windows::ObjectSelectionWindow
|
|||
for (auto [i, object] : objects)
|
||||
{
|
||||
uint8_t flags = (1 << 7) | (1 << 6) | (1 << 5);
|
||||
Gfx::fillRectInset(context, 2, y, 11, y + 10, self->colours[1], flags);
|
||||
Gfx::fillRectInset(context, 2, y, 11, y + 10, self->getColour(WindowColour::secondary), flags);
|
||||
|
||||
uint8_t textColour = ControlCodes::colour_black;
|
||||
|
||||
|
@ -622,7 +622,7 @@ namespace OpenLoco::Ui::Windows::ObjectSelectionWindow
|
|||
_currentFontSpriteBase = Font::m1;
|
||||
}
|
||||
|
||||
auto checkColour = Colour::opaque(self->colours[1]);
|
||||
auto checkColour = Colour::opaque(self->getColour(WindowColour::secondary));
|
||||
|
||||
if (_50D144[i] & 0x1C)
|
||||
{
|
||||
|
|
|
@ -147,17 +147,17 @@ namespace OpenLoco::Ui::Windows::Options
|
|||
Widget::drawTab(w, ctx, ImageIds::tab_miscellaneous, Widx::tab_miscellaneous);
|
||||
}
|
||||
|
||||
#define common_options_widgets(window_size, window_caption_id) \
|
||||
makeWidget({ 0, 0 }, window_size, WidgetType::frame, 0), \
|
||||
makeWidget({ 1, 1 }, { (uint16_t)(window_size.width - 2), 13 }, WidgetType::caption_25, 0, window_caption_id), \
|
||||
makeWidget({ (int16_t)(window_size.width - 15), 2 }, { 13, 13 }, WidgetType::wt_9, 0, ImageIds::close_button, StringIds::tooltip_close_window), \
|
||||
makeWidget({ 0, 41 }, { window_size.width, 102 }, WidgetType::panel, 1), \
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::display_options), \
|
||||
makeRemapWidget({ 34, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::sound_options), \
|
||||
makeRemapWidget({ 65, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::music_options), \
|
||||
makeRemapWidget({ 96, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::regional_options), \
|
||||
makeRemapWidget({ 127, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::control_options), \
|
||||
makeRemapWidget({ 158, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::miscellaneous_options)
|
||||
#define common_options_widgets(window_size, window_caption_id) \
|
||||
makeWidget({ 0, 0 }, window_size, WidgetType::frame, WindowColour::primary), \
|
||||
makeWidget({ 1, 1 }, { (uint16_t)(window_size.width - 2), 13 }, WidgetType::caption_25, WindowColour::primary, window_caption_id), \
|
||||
makeWidget({ (int16_t)(window_size.width - 15), 2 }, { 13, 13 }, WidgetType::wt_9, WindowColour::primary, ImageIds::close_button, StringIds::tooltip_close_window), \
|
||||
makeWidget({ 0, 41 }, { window_size.width, 102 }, WidgetType::panel, WindowColour::secondary), \
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::display_options), \
|
||||
makeRemapWidget({ 34, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::sound_options), \
|
||||
makeRemapWidget({ 65, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::music_options), \
|
||||
makeRemapWidget({ 96, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::regional_options), \
|
||||
makeRemapWidget({ 127, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::control_options), \
|
||||
makeRemapWidget({ 158, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::miscellaneous_options)
|
||||
|
||||
static constexpr int tabWidgets = (1 << Widx::tab_display) | (1 << Widx::tab_sound) | (1 << Widx::tab_music) | (1 << Widx::tab_regional) | (1 << Widx::tab_controls) | (1 << Widx::tab_miscellaneous);
|
||||
|
||||
|
@ -196,19 +196,19 @@ namespace OpenLoco::Ui::Windows::Options
|
|||
|
||||
static Widget _widgets[] = {
|
||||
common_options_widgets(_window_size, StringIds::options_title_display),
|
||||
makeWidget({ 4, 49 }, { 392, 97 }, WidgetType::groupbox, 1, StringIds::frame_hardware),
|
||||
makeDropdownWidgets({ 235, 63 }, { 154, 12 }, WidgetType::wt_18, 1, StringIds::empty),
|
||||
makeDropdownWidgets({ 235, 79 }, { 154, 12 }, WidgetType::wt_18, 1, StringIds::display_resolution_label_format),
|
||||
makeStepperWidgets({ 235, 95 }, { 154, 12 }, WidgetType::wt_17, 1, StringIds::empty),
|
||||
makeWidget({ 10, 111 }, { 174, 12 }, WidgetType::checkbox, 1, StringIds::option_uncap_fps, StringIds::option_uncap_fps_tooltip),
|
||||
makeWidget({ 10, 127 }, { 174, 12 }, WidgetType::checkbox, 1, StringIds::option_show_fps_counter, StringIds::option_show_fps_counter_tooltip),
|
||||
makeWidget({ 4, 49 }, { 392, 97 }, WidgetType::groupbox, WindowColour::secondary, StringIds::frame_hardware),
|
||||
makeDropdownWidgets({ 235, 63 }, { 154, 12 }, WidgetType::wt_18, WindowColour::secondary, StringIds::empty),
|
||||
makeDropdownWidgets({ 235, 79 }, { 154, 12 }, WidgetType::wt_18, WindowColour::secondary, StringIds::display_resolution_label_format),
|
||||
makeStepperWidgets({ 235, 95 }, { 154, 12 }, WidgetType::wt_17, WindowColour::secondary, StringIds::empty),
|
||||
makeWidget({ 10, 111 }, { 174, 12 }, WidgetType::checkbox, WindowColour::secondary, StringIds::option_uncap_fps, StringIds::option_uncap_fps_tooltip),
|
||||
makeWidget({ 10, 127 }, { 174, 12 }, WidgetType::checkbox, WindowColour::secondary, StringIds::option_show_fps_counter, StringIds::option_show_fps_counter_tooltip),
|
||||
|
||||
makeWidget({ 4, 150 }, { 392, 96 }, WidgetType::groupbox, 1, StringIds::frame_map_rendering),
|
||||
makeDropdownWidgets({ 235, 164 }, { 154, 12 }, WidgetType::wt_18, 1, StringIds::empty, StringIds::vehicles_min_scale_tip),
|
||||
makeDropdownWidgets({ 235, 180 }, { 154, 12 }, WidgetType::wt_18, 1, StringIds::empty, StringIds::station_names_min_scale_tip),
|
||||
makeDropdownWidgets({ 235, 196 }, { 154, 12 }, WidgetType::wt_18, 1, StringIds::empty),
|
||||
makeWidget({ 10, 211 }, { 346, 12 }, WidgetType::checkbox, 1, StringIds::landscape_smoothing, StringIds::landscape_smoothing_tip),
|
||||
makeWidget({ 10, 227 }, { 346, 12 }, WidgetType::checkbox, 1, StringIds::gridlines_on_landscape, StringIds::gridlines_on_landscape_tip),
|
||||
makeWidget({ 4, 150 }, { 392, 96 }, WidgetType::groupbox, WindowColour::secondary, StringIds::frame_map_rendering),
|
||||
makeDropdownWidgets({ 235, 164 }, { 154, 12 }, WidgetType::wt_18, WindowColour::secondary, StringIds::empty, StringIds::vehicles_min_scale_tip),
|
||||
makeDropdownWidgets({ 235, 180 }, { 154, 12 }, WidgetType::wt_18, WindowColour::secondary, StringIds::empty, StringIds::station_names_min_scale_tip),
|
||||
makeDropdownWidgets({ 235, 196 }, { 154, 12 }, WidgetType::wt_18, WindowColour::secondary, StringIds::empty),
|
||||
makeWidget({ 10, 211 }, { 346, 12 }, WidgetType::checkbox, WindowColour::secondary, StringIds::landscape_smoothing, StringIds::landscape_smoothing_tip),
|
||||
makeWidget({ 10, 227 }, { 346, 12 }, WidgetType::checkbox, WindowColour::secondary, StringIds::gridlines_on_landscape, StringIds::gridlines_on_landscape_tip),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -304,7 +304,7 @@ namespace OpenLoco::Ui::Windows::Options
|
|||
static void constructionMarkerMouseDown(Window* w, WidgetIndex_t wi)
|
||||
{
|
||||
Widget dropdown = w->widgets[Widx::construction_marker];
|
||||
Dropdown::show(w->x + dropdown.left, w->y + dropdown.top, dropdown.width() - 4, dropdown.height(), w->colours[1], 2, 0x80);
|
||||
Dropdown::show(w->x + dropdown.left, w->y + dropdown.top, dropdown.width() - 4, dropdown.height(), w->getColour(WindowColour::secondary), 2, 0x80);
|
||||
|
||||
Dropdown::add(0, StringIds::dropdown_stringid, StringIds::white);
|
||||
Dropdown::add(1, StringIds::dropdown_stringid, StringIds::translucent);
|
||||
|
@ -332,7 +332,7 @@ namespace OpenLoco::Ui::Windows::Options
|
|||
static void vehicleZoomMouseDown(Window* w, WidgetIndex_t wi)
|
||||
{
|
||||
Widget dropdown = w->widgets[Widx::vehicles_min_scale];
|
||||
Dropdown::show(w->x + dropdown.left, w->y + dropdown.top, dropdown.width() - 4, dropdown.height(), w->colours[1], 4, 0x80);
|
||||
Dropdown::show(w->x + dropdown.left, w->y + dropdown.top, dropdown.width() - 4, dropdown.height(), w->getColour(WindowColour::secondary), 4, 0x80);
|
||||
|
||||
Dropdown::add(0, StringIds::dropdown_stringid, StringIds::full_scale);
|
||||
Dropdown::add(1, StringIds::dropdown_stringid, StringIds::half_scale);
|
||||
|
@ -362,7 +362,7 @@ namespace OpenLoco::Ui::Windows::Options
|
|||
static void stationNamesScaleMouseDown(Window* w, WidgetIndex_t wi)
|
||||
{
|
||||
Widget dropdown = w->widgets[Widx::station_names_min_scale];
|
||||
Dropdown::show(w->x + dropdown.left, w->y + dropdown.top, dropdown.width() - 4, dropdown.height(), w->colours[1], 4, 0x80);
|
||||
Dropdown::show(w->x + dropdown.left, w->y + dropdown.top, dropdown.width() - 4, dropdown.height(), w->getColour(WindowColour::secondary), 4, 0x80);
|
||||
|
||||
Dropdown::add(0, StringIds::dropdown_stringid, StringIds::full_scale);
|
||||
Dropdown::add(1, StringIds::dropdown_stringid, StringIds::half_scale);
|
||||
|
@ -405,7 +405,7 @@ namespace OpenLoco::Ui::Windows::Options
|
|||
static void screenModeMouseDown(Window* w, WidgetIndex_t wi)
|
||||
{
|
||||
Widget dropdown = w->widgets[Widx::screen_mode];
|
||||
Dropdown::show(w->x + dropdown.left, w->y + dropdown.top, dropdown.width() - 4, dropdown.height(), w->colours[1], 3, 0x80);
|
||||
Dropdown::show(w->x + dropdown.left, w->y + dropdown.top, dropdown.width() - 4, dropdown.height(), w->getColour(WindowColour::secondary), 3, 0x80);
|
||||
|
||||
Dropdown::add(0, StringIds::dropdown_stringid, StringIds::options_mode_windowed);
|
||||
Dropdown::add(1, StringIds::dropdown_stringid, StringIds::options_mode_fullscreen);
|
||||
|
@ -437,7 +437,7 @@ namespace OpenLoco::Ui::Windows::Options
|
|||
std::vector<Resolution> resolutions = getFullscreenResolutions();
|
||||
|
||||
Widget dropdown = w->widgets[Widx::display_resolution];
|
||||
Dropdown::showText2(w->x + dropdown.left, w->y + dropdown.top, dropdown.width(), dropdown.height(), w->colours[1], resolutions.size(), 0x80);
|
||||
Dropdown::showText2(w->x + dropdown.left, w->y + dropdown.top, dropdown.width(), dropdown.height(), w->getColour(WindowColour::secondary), resolutions.size(), 0x80);
|
||||
|
||||
auto& cfg = Config::getNew();
|
||||
for (size_t i = 0; i < resolutions.size(); i++)
|
||||
|
@ -694,9 +694,9 @@ namespace OpenLoco::Ui::Windows::Options
|
|||
|
||||
static Widget _widgets[] = {
|
||||
common_options_widgets(_window_size, StringIds::options_title_sound),
|
||||
makeWidget({ 10, 49 }, { 346, 12 }, WidgetType::wt_18, 1, StringIds::stringid),
|
||||
makeWidget({ 344, 50 }, { 11, 10 }, WidgetType::wt_11, 1, StringIds::dropdown),
|
||||
makeWidget({ 10, 65 }, { 346, 12 }, WidgetType::checkbox, 1, StringIds::play_title_music),
|
||||
makeWidget({ 10, 49 }, { 346, 12 }, WidgetType::wt_18, WindowColour::secondary, StringIds::stringid),
|
||||
makeWidget({ 344, 50 }, { 11, 10 }, WidgetType::wt_11, WindowColour::secondary, StringIds::dropdown),
|
||||
makeWidget({ 10, 65 }, { 346, 12 }, WidgetType::checkbox, WindowColour::secondary, StringIds::play_title_music),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -803,7 +803,7 @@ namespace OpenLoco::Ui::Windows::Options
|
|||
if (devices.size() != 0)
|
||||
{
|
||||
Widget dropdown = w->widgets[Widx::audio_device];
|
||||
Dropdown::show(w->x + dropdown.left, w->y + dropdown.top, dropdown.width() - 4, dropdown.height(), w->colours[1], devices.size(), 0x80);
|
||||
Dropdown::show(w->x + dropdown.left, w->y + dropdown.top, dropdown.width() - 4, dropdown.height(), w->getColour(WindowColour::secondary), devices.size(), 0x80);
|
||||
for (size_t i = 0; i < devices.size(); i++)
|
||||
{
|
||||
auto name = devices[i].c_str();
|
||||
|
@ -885,15 +885,15 @@ namespace OpenLoco::Ui::Windows::Options
|
|||
|
||||
static Widget _widgets[] = {
|
||||
common_options_widgets(_window_size, StringIds::options_title_music),
|
||||
makeWidget({ 160, 49 }, { 196, 12 }, WidgetType::wt_18, 1, StringIds::stringid),
|
||||
makeWidget({ 344, 50 }, { 11, 10 }, WidgetType::wt_11, 1, StringIds::dropdown),
|
||||
makeWidget({ 10, 64 }, { 24, 24 }, WidgetType::wt_9, 1, ImageIds::music_controls_stop, StringIds::music_controls_stop_tip),
|
||||
makeWidget({ 34, 64 }, { 24, 24 }, WidgetType::wt_9, 1, ImageIds::music_controls_play, StringIds::music_controls_play_tip),
|
||||
makeWidget({ 58, 64 }, { 24, 24 }, WidgetType::wt_9, 1, ImageIds::music_controls_next, StringIds::music_controls_next_tip),
|
||||
makeWidget({ 256, 64 }, { 109, 24 }, WidgetType::wt_5, 1, -1, StringIds::set_volume_tip),
|
||||
makeWidget({ 10, 93 }, { 346, 12 }, WidgetType::wt_18, 1, StringIds::arg2_stringid),
|
||||
makeWidget({ 344, 94 }, { 11, 10 }, WidgetType::wt_11, 1, StringIds::dropdown),
|
||||
makeWidget({ 183, 108 }, { 173, 12 }, WidgetType::wt_11, 1, StringIds::edit_music_selection, StringIds::edit_music_selection_tip),
|
||||
makeWidget({ 160, 49 }, { 196, 12 }, WidgetType::wt_18, WindowColour::secondary, StringIds::stringid),
|
||||
makeWidget({ 344, 50 }, { 11, 10 }, WidgetType::wt_11, WindowColour::secondary, StringIds::dropdown),
|
||||
makeWidget({ 10, 64 }, { 24, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::music_controls_stop, StringIds::music_controls_stop_tip),
|
||||
makeWidget({ 34, 64 }, { 24, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::music_controls_play, StringIds::music_controls_play_tip),
|
||||
makeWidget({ 58, 64 }, { 24, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::music_controls_next, StringIds::music_controls_next_tip),
|
||||
makeWidget({ 256, 64 }, { 109, 24 }, WidgetType::wt_5, WindowColour::secondary, -1, StringIds::set_volume_tip),
|
||||
makeWidget({ 10, 93 }, { 346, 12 }, WidgetType::wt_18, WindowColour::secondary, StringIds::arg2_stringid),
|
||||
makeWidget({ 344, 94 }, { 11, 10 }, WidgetType::wt_11, WindowColour::secondary, StringIds::dropdown),
|
||||
makeWidget({ 183, 108 }, { 173, 12 }, WidgetType::wt_11, WindowColour::secondary, StringIds::edit_music_selection, StringIds::edit_music_selection_tip),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -974,10 +974,10 @@ namespace OpenLoco::Ui::Windows::Options
|
|||
|
||||
Gfx::drawString_494B3F(*context, w->x + 183, w->y + w->widgets[Widx::volume].top + 7, 0, StringIds::volume, nullptr);
|
||||
|
||||
Gfx::drawImage(context, w->x + w->widgets[Widx::volume].left, w->y + w->widgets[Widx::volume].top, 0x20000000 | (w->colours[1] << 19) | ImageIds::volume_slider_track);
|
||||
Gfx::drawImage(context, w->x + w->widgets[Widx::volume].left, w->y + w->widgets[Widx::volume].top, 0x20000000 | (w->getColour(WindowColour::secondary) << 19) | ImageIds::volume_slider_track);
|
||||
|
||||
int16_t x = 90 + (Config::get().volume / 32);
|
||||
Gfx::drawImage(context, w->x + w->widgets[Widx::volume].left + x, w->y + w->widgets[Widx::volume].top, 0x20000000 | (w->colours[1] << 19) | ImageIds::volume_slider_thumb);
|
||||
Gfx::drawImage(context, w->x + w->widgets[Widx::volume].left + x, w->y + w->widgets[Widx::volume].top, 0x20000000 | (w->getColour(WindowColour::secondary) << 19) | ImageIds::volume_slider_thumb);
|
||||
}
|
||||
|
||||
static void onMouseUp(Window* w, WidgetIndex_t wi)
|
||||
|
@ -1111,7 +1111,7 @@ namespace OpenLoco::Ui::Windows::Options
|
|||
static void musicPlaylistMouseDown(Window* w)
|
||||
{
|
||||
Widget dropdown = w->widgets[Widx::music_playlist];
|
||||
Dropdown::show(w->x + dropdown.left, w->y + dropdown.top, dropdown.width() - 4, dropdown.height(), w->colours[1], 3, 0x80);
|
||||
Dropdown::show(w->x + dropdown.left, w->y + dropdown.top, dropdown.width() - 4, dropdown.height(), w->getColour(WindowColour::secondary), 3, 0x80);
|
||||
|
||||
Dropdown::add(0, StringIds::dropdown_stringid, StringIds::play_only_music_from_current_era);
|
||||
Dropdown::add(1, StringIds::dropdown_stringid, StringIds::play_all_music);
|
||||
|
@ -1190,7 +1190,7 @@ namespace OpenLoco::Ui::Windows::Options
|
|||
auto tracks = get_available_tracks();
|
||||
|
||||
Widget dropdown = w->widgets[Widx::currently_playing];
|
||||
Dropdown::show(w->x + dropdown.left, w->y + dropdown.top, dropdown.width() - 4, dropdown.height(), w->colours[1], tracks.size(), 0x80);
|
||||
Dropdown::show(w->x + dropdown.left, w->y + dropdown.top, dropdown.width() - 4, dropdown.height(), w->getColour(WindowColour::secondary), tracks.size(), 0x80);
|
||||
|
||||
int index = -1;
|
||||
for (auto track : tracks)
|
||||
|
@ -1271,18 +1271,18 @@ namespace OpenLoco::Ui::Windows::Options
|
|||
|
||||
static Widget _widgets[] = {
|
||||
common_options_widgets(_window_size, StringIds::options_title_regional),
|
||||
makeWidget({ 183, 49 }, { 173, 12 }, WidgetType::wt_18, 1, StringIds::stringptr),
|
||||
makeWidget({ 344, 50 }, { 11, 10 }, WidgetType::wt_11, 1, StringIds::dropdown),
|
||||
makeWidget({ 183, 69 }, { 173, 12 }, WidgetType::wt_18, 1, StringIds::arg12_stringid),
|
||||
makeWidget({ 344, 70 }, { 11, 10 }, WidgetType::wt_11, 1, StringIds::dropdown),
|
||||
makeWidget({ 183, 84 }, { 173, 12 }, WidgetType::wt_18, 1, StringIds::arg6_stringid),
|
||||
makeWidget({ 344, 85 }, { 11, 10 }, WidgetType::wt_11, 1, StringIds::dropdown),
|
||||
makeWidget({ 183, 104 }, { 173, 12 }, WidgetType::wt_18, 1, StringIds::arg10_stringid, StringIds::current_game_currency_tip),
|
||||
makeWidget({ 344, 105 }, { 11, 10 }, WidgetType::wt_11, 1, StringIds::dropdown, StringIds::current_game_currency_tip),
|
||||
makeWidget({ 183, 119 }, { 173, 12 }, WidgetType::wt_18, 1, StringIds::preferred_currency_buffer, StringIds::new_game_currency_tip),
|
||||
makeWidget({ 344, 120 }, { 11, 10 }, WidgetType::wt_11, 1, StringIds::dropdown, StringIds::new_game_currency_tip),
|
||||
makeWidget({ 10, 134 }, { 346, 12 }, WidgetType::checkbox, 1, StringIds::use_preferred_currency_new_game, StringIds::use_preferred_currency_new_game_tip),
|
||||
makeWidget({ 10, 148 }, { 346, 12 }, WidgetType::checkbox, 1, StringIds::use_preferred_currency_always, StringIds::use_preferred_currency_always_tip),
|
||||
makeWidget({ 183, 49 }, { 173, 12 }, WidgetType::wt_18, WindowColour::secondary, StringIds::stringptr),
|
||||
makeWidget({ 344, 50 }, { 11, 10 }, WidgetType::wt_11, WindowColour::secondary, StringIds::dropdown),
|
||||
makeWidget({ 183, 69 }, { 173, 12 }, WidgetType::wt_18, WindowColour::secondary, StringIds::arg12_stringid),
|
||||
makeWidget({ 344, 70 }, { 11, 10 }, WidgetType::wt_11, WindowColour::secondary, StringIds::dropdown),
|
||||
makeWidget({ 183, 84 }, { 173, 12 }, WidgetType::wt_18, WindowColour::secondary, StringIds::arg6_stringid),
|
||||
makeWidget({ 344, 85 }, { 11, 10 }, WidgetType::wt_11, WindowColour::secondary, StringIds::dropdown),
|
||||
makeWidget({ 183, 104 }, { 173, 12 }, WidgetType::wt_18, WindowColour::secondary, StringIds::arg10_stringid, StringIds::current_game_currency_tip),
|
||||
makeWidget({ 344, 105 }, { 11, 10 }, WidgetType::wt_11, WindowColour::secondary, StringIds::dropdown, StringIds::current_game_currency_tip),
|
||||
makeWidget({ 183, 119 }, { 173, 12 }, WidgetType::wt_18, WindowColour::secondary, StringIds::preferred_currency_buffer, StringIds::new_game_currency_tip),
|
||||
makeWidget({ 344, 120 }, { 11, 10 }, WidgetType::wt_11, WindowColour::secondary, StringIds::dropdown, StringIds::new_game_currency_tip),
|
||||
makeWidget({ 10, 134 }, { 346, 12 }, WidgetType::checkbox, WindowColour::secondary, StringIds::use_preferred_currency_new_game, StringIds::use_preferred_currency_new_game_tip),
|
||||
makeWidget({ 10, 148 }, { 346, 12 }, WidgetType::checkbox, WindowColour::secondary, StringIds::use_preferred_currency_always, StringIds::use_preferred_currency_always_tip),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -1464,7 +1464,7 @@ namespace OpenLoco::Ui::Windows::Options
|
|||
uint8_t num_languages = static_cast<uint8_t>(lds.size());
|
||||
|
||||
Widget dropdown = w->widgets[Widx::language];
|
||||
Dropdown::show(w->x + dropdown.left, w->y + dropdown.top, dropdown.width() - 4, dropdown.height(), w->colours[1], num_languages - 1, 0x80);
|
||||
Dropdown::show(w->x + dropdown.left, w->y + dropdown.top, dropdown.width() - 4, dropdown.height(), w->getColour(WindowColour::secondary), num_languages - 1, 0x80);
|
||||
|
||||
std::string& current_language = Config::getNew().language;
|
||||
|
||||
|
@ -1500,7 +1500,7 @@ namespace OpenLoco::Ui::Windows::Options
|
|||
uint8_t* _11364A0 = (uint8_t*)*__11364A0;
|
||||
|
||||
Widget dropdown = w->widgets[Widx::currency];
|
||||
Dropdown::show(w->x + dropdown.left, w->y + dropdown.top, dropdown.width() - 4, dropdown.height(), w->colours[1], _112C185, 0x80);
|
||||
Dropdown::show(w->x + dropdown.left, w->y + dropdown.top, dropdown.width() - 4, dropdown.height(), w->getColour(WindowColour::secondary), _112C185, 0x80);
|
||||
int index = -1;
|
||||
for (auto object : ObjectManager::getAvailableObjects(ObjectType::currency))
|
||||
{
|
||||
|
@ -1559,7 +1559,7 @@ namespace OpenLoco::Ui::Windows::Options
|
|||
static void preferredCurrencyMouseDown(Window* w)
|
||||
{
|
||||
Widget dropdown = w->widgets[Widx::preferred_currency];
|
||||
Dropdown::show(w->x + dropdown.left, w->y + dropdown.top, dropdown.width() - 4, dropdown.height(), w->colours[1], _112C185, 0x80);
|
||||
Dropdown::show(w->x + dropdown.left, w->y + dropdown.top, dropdown.width() - 4, dropdown.height(), w->getColour(WindowColour::secondary), _112C185, 0x80);
|
||||
|
||||
int index = -1;
|
||||
for (auto object : ObjectManager::getAvailableObjects(ObjectType::currency))
|
||||
|
@ -1643,7 +1643,7 @@ namespace OpenLoco::Ui::Windows::Options
|
|||
static void distanceSpeedMouseDown(Window* w)
|
||||
{
|
||||
Widget dropdown = w->widgets[Widx::distance_speed];
|
||||
Dropdown::show(w->x + dropdown.left, w->y + dropdown.top, dropdown.width() - 4, dropdown.height(), w->colours[1], 2, 0x80);
|
||||
Dropdown::show(w->x + dropdown.left, w->y + dropdown.top, dropdown.width() - 4, dropdown.height(), w->getColour(WindowColour::secondary), 2, 0x80);
|
||||
|
||||
Dropdown::add(0, StringIds::dropdown_stringid, StringIds::imperial);
|
||||
Dropdown::add(1, StringIds::dropdown_stringid, StringIds::metric);
|
||||
|
@ -1674,7 +1674,7 @@ namespace OpenLoco::Ui::Windows::Options
|
|||
static void heightsLabelsMouseDown(Window* w)
|
||||
{
|
||||
Widget dropdown = w->widgets[Widx::heights];
|
||||
Dropdown::show(w->x + dropdown.left, w->y + dropdown.top, dropdown.width() - 4, dropdown.height(), w->colours[1], 2, 0x80);
|
||||
Dropdown::show(w->x + dropdown.left, w->y + dropdown.top, dropdown.width() - 4, dropdown.height(), w->getColour(WindowColour::secondary), 2, 0x80);
|
||||
|
||||
Dropdown::add(0, StringIds::dropdown_stringid, StringIds::height_units);
|
||||
Dropdown::add(1, StringIds::dropdown_stringid, StringIds::height_real_values);
|
||||
|
@ -1750,9 +1750,9 @@ namespace OpenLoco::Ui::Windows::Options
|
|||
|
||||
static Widget _widgets[] = {
|
||||
common_options_widgets(_window_size, StringIds::options_title_controls),
|
||||
makeWidget({ 10, 49 }, { 346, 12 }, WidgetType::checkbox, 1, StringIds::scroll_screen_edge, StringIds::scroll_screen_edge_tip),
|
||||
makeWidget({ 10, 64 }, { 346, 12 }, WidgetType::checkbox, 1, StringIds::zoom_to_cursor, StringIds::zoom_to_cursor_tip),
|
||||
makeWidget({ 26, 79 }, { 160, 12 }, WidgetType::wt_11, 1, StringIds::customise_keys, StringIds::customise_keys_tip),
|
||||
makeWidget({ 10, 49 }, { 346, 12 }, WidgetType::checkbox, WindowColour::secondary, StringIds::scroll_screen_edge, StringIds::scroll_screen_edge_tip),
|
||||
makeWidget({ 10, 64 }, { 346, 12 }, WidgetType::checkbox, WindowColour::secondary, StringIds::zoom_to_cursor, StringIds::zoom_to_cursor_tip),
|
||||
makeWidget({ 26, 79 }, { 160, 12 }, WidgetType::wt_11, WindowColour::secondary, StringIds::customise_keys, StringIds::customise_keys_tip),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -1899,15 +1899,15 @@ namespace OpenLoco::Ui::Windows::Options
|
|||
|
||||
static Widget _widgets[] = {
|
||||
common_options_widgets(_window_size, StringIds::options_title_miscellaneous),
|
||||
makeWidget({ 10, 49 }, { 400, 12 }, WidgetType::checkbox, 1, StringIds::option_cheat_menu_enable, StringIds::tooltip_option_cheat_menu_enable),
|
||||
makeWidget({ 10, 64 }, { 400, 12 }, WidgetType::checkbox, 1, StringIds::disable_vehicle_breakdowns),
|
||||
makeWidget({ 10, 79 }, { 400, 12 }, WidgetType::checkbox, 1, StringIds::disableAICompanies, StringIds::disableAICompanies_tip),
|
||||
makeWidget({ 10, 94 }, { 400, 12 }, WidgetType::checkbox, 1, StringIds::use_preferred_owner_name, StringIds::use_preferred_owner_name_tip),
|
||||
makeWidget({ 335, 109 }, { 75, 12 }, WidgetType::wt_11, 1, StringIds::change),
|
||||
makeWidget({ 10, 124 }, { 400, 12 }, WidgetType::checkbox, 1, StringIds::export_plugin_objects, StringIds::export_plugin_objects_tip),
|
||||
makeWidget({ 250, 139 }, { 156, 12 }, WidgetType::wt_18, 1, StringIds::empty),
|
||||
makeWidget({ 394, 140 }, { 11, 10 }, WidgetType::wt_11, 1, StringIds::dropdown),
|
||||
makeStepperWidgets({ 250, 154 }, { 156, 12 }, WidgetType::wt_17, 1, StringIds::empty),
|
||||
makeWidget({ 10, 49 }, { 400, 12 }, WidgetType::checkbox, WindowColour::secondary, StringIds::option_cheat_menu_enable, StringIds::tooltip_option_cheat_menu_enable),
|
||||
makeWidget({ 10, 64 }, { 400, 12 }, WidgetType::checkbox, WindowColour::secondary, StringIds::disable_vehicle_breakdowns),
|
||||
makeWidget({ 10, 79 }, { 400, 12 }, WidgetType::checkbox, WindowColour::secondary, StringIds::disableAICompanies, StringIds::disableAICompanies_tip),
|
||||
makeWidget({ 10, 94 }, { 400, 12 }, WidgetType::checkbox, WindowColour::secondary, StringIds::use_preferred_owner_name, StringIds::use_preferred_owner_name_tip),
|
||||
makeWidget({ 335, 109 }, { 75, 12 }, WidgetType::wt_11, WindowColour::secondary, StringIds::change),
|
||||
makeWidget({ 10, 124 }, { 400, 12 }, WidgetType::checkbox, WindowColour::secondary, StringIds::export_plugin_objects, StringIds::export_plugin_objects_tip),
|
||||
makeWidget({ 250, 139 }, { 156, 12 }, WidgetType::wt_18, WindowColour::secondary, StringIds::empty),
|
||||
makeWidget({ 394, 140 }, { 11, 10 }, WidgetType::wt_11, WindowColour::secondary, StringIds::dropdown),
|
||||
makeStepperWidgets({ 250, 154 }, { 156, 12 }, WidgetType::wt_17, WindowColour::secondary, StringIds::empty),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -2054,7 +2054,7 @@ namespace OpenLoco::Ui::Windows::Options
|
|||
static void showAutosaveFrequencyDropdown(Window* w, WidgetIndex_t wi)
|
||||
{
|
||||
auto dropdown = w->widgets[wi];
|
||||
Dropdown::show(w->x + dropdown.left, w->y + dropdown.top, dropdown.width() - 4, dropdown.height(), w->colours[1], 5, 0x80);
|
||||
Dropdown::show(w->x + dropdown.left, w->y + dropdown.top, dropdown.width() - 4, dropdown.height(), w->getColour(WindowColour::secondary), 5, 0x80);
|
||||
|
||||
// Add pre-defined entries
|
||||
Dropdown::add(0, StringIds::dropdown_stringid, { StringIds::autosave_never });
|
||||
|
@ -2383,8 +2383,8 @@ namespace OpenLoco::Ui::Windows::Options
|
|||
window->row_hover = -1;
|
||||
|
||||
auto interface = ObjectManager::get<InterfaceSkinObject>();
|
||||
window->colours[0] = interface->colour_0B;
|
||||
window->colours[1] = interface->colour_10;
|
||||
window->setColour(WindowColour::primary, interface->colour_0B);
|
||||
window->setColour(WindowColour::secondary, interface->colour_10);
|
||||
|
||||
sub_4BF8CD();
|
||||
sub_4C1519();
|
||||
|
|
|
@ -45,11 +45,11 @@ namespace OpenLoco::Ui::Windows::PlayerInfoPanel
|
|||
|
||||
// 0x00509d08
|
||||
static Widget _widgets[] = {
|
||||
makeWidget({ 0, 0 }, { 140, 29 }, WidgetType::wt_3, 0),
|
||||
makeWidget({ 2, 2 }, { 136, 25 }, WidgetType::wt_3, 0),
|
||||
makeWidget({ 1, 1 }, { 26, 26 }, WidgetType::wt_9, 0),
|
||||
makeWidget({ 27, 2 }, { 111, 12 }, WidgetType::wt_9, 0, ImageIds::null, StringIds::tooltip_company_value),
|
||||
makeWidget({ 27, 14 }, { 111, 12 }, WidgetType::wt_9, 0, ImageIds::null, StringIds::tooltip_performance_index),
|
||||
makeWidget({ 0, 0 }, { 140, 29 }, WidgetType::wt_3, WindowColour::primary),
|
||||
makeWidget({ 2, 2 }, { 136, 25 }, WidgetType::wt_3, WindowColour::primary),
|
||||
makeWidget({ 1, 1 }, { 26, 26 }, WidgetType::wt_9, WindowColour::primary),
|
||||
makeWidget({ 27, 2 }, { 111, 12 }, WidgetType::wt_9, WindowColour::primary, ImageIds::null, StringIds::tooltip_company_value),
|
||||
makeWidget({ 27, 14 }, { 111, 12 }, WidgetType::wt_9, WindowColour::primary, ImageIds::null, StringIds::tooltip_performance_index),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -194,8 +194,8 @@ namespace OpenLoco::Ui::Windows::PlayerInfoPanel
|
|||
auto skin = ObjectManager::get<InterfaceSkinObject>();
|
||||
if (skin != nullptr)
|
||||
{
|
||||
window->colours[0] = Colour::translucent(skin->colour_16);
|
||||
window->colours[1] = Colour::translucent(skin->colour_16);
|
||||
window->setColour(WindowColour::primary, Colour::translucent(skin->colour_16));
|
||||
window->setColour(WindowColour::secondary, Colour::translucent(skin->colour_16));
|
||||
}
|
||||
|
||||
return window;
|
||||
|
@ -216,7 +216,7 @@ namespace OpenLoco::Ui::Windows::PlayerInfoPanel
|
|||
// Draw widgets.
|
||||
window->draw(context);
|
||||
|
||||
drawRectInset(context, window->x + frame.left + 1, window->y + frame.top + 1, frame.width() - 2, frame.height() - 2, window->colours[1], 0x30);
|
||||
drawRectInset(context, window->x + frame.left + 1, window->y + frame.top + 1, frame.width() - 2, frame.height() - 2, window->getColour(WindowColour::secondary), 0x30);
|
||||
|
||||
auto playerCompany = CompanyManager::get(CompanyManager::getControllingId());
|
||||
auto competitor = ObjectManager::get<CompetitorObject>(playerCompany->competitor_id);
|
||||
|
@ -238,7 +238,7 @@ namespace OpenLoco::Ui::Windows::PlayerInfoPanel
|
|||
}
|
||||
}
|
||||
|
||||
auto colour = Colour::opaque(window->colours[0]);
|
||||
auto colour = Colour::opaque(window->getColour(WindowColour::primary));
|
||||
if (Input::isHovering(WindowType::playerInfoToolbar, 0, Widx::company_value))
|
||||
{
|
||||
colour = Colour::white;
|
||||
|
@ -261,7 +261,7 @@ namespace OpenLoco::Ui::Windows::PlayerInfoPanel
|
|||
performanceString = StringIds::player_info_performance_decrease;
|
||||
}
|
||||
|
||||
auto colour = window->colours[0] & 0x7F;
|
||||
auto colour = window->getColour(WindowColour::primary) & 0x7F;
|
||||
if (Input::isHovering(WindowType::playerInfoToolbar, 0, Widx::performance_index))
|
||||
{
|
||||
colour = Colour::white;
|
||||
|
|
|
@ -26,9 +26,9 @@ namespace OpenLoco::Ui::Windows::ProgressBar
|
|||
constexpr Gfx::ui_size_t windowSize = { 350, 47 };
|
||||
|
||||
Widget widgets[] = {
|
||||
makeWidget({ 0, 0 }, { 350, 47 }, WidgetType::frame, 0),
|
||||
makeWidget({ 1, 1 }, { 348, 13 }, WidgetType::caption_25, 0, StringIds::buffer_1250),
|
||||
makeWidget({ 0, 15 }, { 350, 32 }, WidgetType::panel, 1),
|
||||
makeWidget({ 0, 0 }, { 350, 47 }, WidgetType::frame, WindowColour::primary),
|
||||
makeWidget({ 1, 1 }, { 348, 13 }, WidgetType::caption_25, WindowColour::primary, StringIds::buffer_1250),
|
||||
makeWidget({ 0, 15 }, { 350, 32 }, WidgetType::panel, WindowColour::secondary),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -58,8 +58,8 @@ namespace OpenLoco::Ui::Windows::ProgressBar
|
|||
|
||||
window->widgets = widgets;
|
||||
window->initScrollWidgets();
|
||||
window->colours[0] = Colour::black;
|
||||
window->colours[1] = Colour::black;
|
||||
window->setColour(WindowColour::primary, Colour::black);
|
||||
window->setColour(WindowColour::secondary, Colour::black);
|
||||
|
||||
setProgress(0);
|
||||
return window;
|
||||
|
|
|
@ -104,14 +104,14 @@ namespace OpenLoco::Ui::Windows::PromptBrowse
|
|||
};
|
||||
|
||||
static Widget widgets[] = {
|
||||
makeWidget({ 0, 0 }, { 500, 380 }, WidgetType::frame, 0),
|
||||
makeWidget({ 1, 1 }, { 498, 13 }, WidgetType::caption_25, 0, StringIds::buffer_2039),
|
||||
makeWidget({ 485, 2 }, { 13, 13 }, WidgetType::wt_9, 0, ImageIds::close_button, StringIds::tooltip_close_window),
|
||||
makeWidget({ 0, 15 }, { 500, 365 }, WidgetType::panel, 1),
|
||||
makeWidget({ 473, 18 }, { 24, 24 }, WidgetType::wt_9, 1, ImageIds::icon_parent_folder, StringIds::window_browse_parent_folder_tooltip),
|
||||
makeWidget({ 88, 348 }, { 408, 14 }, WidgetType::wt_17, 1),
|
||||
makeWidget({ 426, 364 }, { 70, 12 }, WidgetType::wt_11, 1, StringIds::label_button_ok),
|
||||
makeWidget({ 3, 45 }, { 494, 323 }, WidgetType::scrollview, 1, Scrollbars::vertical),
|
||||
makeWidget({ 0, 0 }, { 500, 380 }, WidgetType::frame, WindowColour::primary),
|
||||
makeWidget({ 1, 1 }, { 498, 13 }, WidgetType::caption_25, WindowColour::primary, StringIds::buffer_2039),
|
||||
makeWidget({ 485, 2 }, { 13, 13 }, WidgetType::wt_9, WindowColour::primary, ImageIds::close_button, StringIds::tooltip_close_window),
|
||||
makeWidget({ 0, 15 }, { 500, 365 }, WidgetType::panel, WindowColour::secondary),
|
||||
makeWidget({ 473, 18 }, { 24, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::icon_parent_folder, StringIds::window_browse_parent_folder_tooltip),
|
||||
makeWidget({ 88, 348 }, { 408, 14 }, WidgetType::wt_17, WindowColour::secondary),
|
||||
makeWidget({ 426, 364 }, { 70, 12 }, WidgetType::wt_11, WindowColour::secondary, StringIds::label_button_ok),
|
||||
makeWidget({ 3, 45 }, { 494, 323 }, WidgetType::scrollview, WindowColour::secondary, Scrollbars::vertical),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -214,8 +214,8 @@ namespace OpenLoco::Ui::Windows::PromptBrowse
|
|||
auto& widget = window->widgets[widx::text_filename];
|
||||
inputSession.calculateTextOffset(widget.width());
|
||||
|
||||
window->colours[0] = Colour::black;
|
||||
window->colours[1] = Colour::saturated_green;
|
||||
window->setColour(WindowColour::primary, Colour::black);
|
||||
window->setColour(WindowColour::secondary, Colour::saturated_green);
|
||||
|
||||
WindowManager::setCurrentModalType(WindowType::fileBrowserPrompt);
|
||||
promptTickLoop(
|
||||
|
@ -494,7 +494,7 @@ namespace OpenLoco::Ui::Windows::PromptBrowse
|
|||
{
|
||||
loco_global<char[16], 0x0112C826> _commonFormatArgs;
|
||||
|
||||
Gfx::fillRectInset(&context, x, y, x + width, y + height, window.colours[1], 0x30);
|
||||
Gfx::fillRectInset(&context, x, y, x + width, y + height, window.getColour(WindowColour::secondary), 0x30);
|
||||
|
||||
auto imageId = 0;
|
||||
auto g1 = Gfx::getG1Element(imageId);
|
||||
|
@ -545,7 +545,7 @@ namespace OpenLoco::Ui::Windows::PromptBrowse
|
|||
|
||||
static void drawLandscapePreview(Ui::Window& window, Gfx::Context& context, int32_t x, int32_t y, int32_t width, int32_t height)
|
||||
{
|
||||
Gfx::fillRectInset(&context, x, y, x + width, y + height, window.colours[1], 0x30);
|
||||
Gfx::fillRectInset(&context, x, y, x + width, y + height, window.getColour(WindowColour::secondary), 0x30);
|
||||
|
||||
if (S5::getPreviewOptions().scenarioFlags & Scenario::flags::landscape_generation_done)
|
||||
{
|
||||
|
@ -569,7 +569,7 @@ namespace OpenLoco::Ui::Windows::PromptBrowse
|
|||
else
|
||||
{
|
||||
// Randomly generated landscape
|
||||
auto imageId = ImageIds::random_map_watermark | (window.colours[1] << 19) | 0x20000000;
|
||||
auto imageId = ImageIds::random_map_watermark | (window.getColour(WindowColour::secondary) << 19) | 0x20000000;
|
||||
Gfx::drawImage(&context, x, y, imageId);
|
||||
Gfx::point_t origin = { (int16_t)(x + 64), (int16_t)(y + 60) };
|
||||
Gfx::drawStringCentredWrapped(&context, &origin, 128, 0, StringIds::randomly_generated_landscape);
|
||||
|
@ -604,7 +604,7 @@ namespace OpenLoco::Ui::Windows::PromptBrowse
|
|||
Gfx::drawString_494B3F(context, &origin, 0, StringIds::black_stringid, _commonFormatArgs);
|
||||
|
||||
// Draw vertical caret
|
||||
Gfx::drawRect(&context, origin.x, origin.y, 1, 9, byte_1136C99[window->colours[1] * 8]);
|
||||
Gfx::drawRect(&context, origin.x, origin.y, 1, 9, byte_1136C99[window->getColour(WindowColour::secondary) * 8]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -617,7 +617,7 @@ namespace OpenLoco::Ui::Windows::PromptBrowse
|
|||
static std::string _nameBuffer;
|
||||
|
||||
// Background
|
||||
Gfx::clearSingle(*context, Colour::getShade(window->colours[1], 4));
|
||||
Gfx::clearSingle(*context, Colour::getShade(window->getColour(WindowColour::secondary), 4));
|
||||
|
||||
// Directories / files
|
||||
auto y = 0;
|
||||
|
|
|
@ -39,11 +39,11 @@ namespace OpenLoco::Ui::Windows::PromptOkCancel
|
|||
};
|
||||
|
||||
static Widget _widgets[] = {
|
||||
makeWidget({ 0, 0 }, { 280, 92 }, WidgetType::panel, 0),
|
||||
makeWidget({ 1, 1 }, { 278, 13 }, WidgetType::caption_22, 0, StringIds::buffer_2039),
|
||||
makeWidget({ 267, 2 }, { 11, 11 }, WidgetType::wt_11, 0, StringIds::close_window_cross, StringIds::tooltip_close_window),
|
||||
makeWidget({ 20, 77 }, { 100, 12 }, WidgetType::wt_11, 0, StringIds::label_ok),
|
||||
makeWidget({ 160, 77 }, { 100, 12 }, WidgetType::wt_11, 0, StringIds::label_button_cancel),
|
||||
makeWidget({ 0, 0 }, { 280, 92 }, WidgetType::panel, WindowColour::primary),
|
||||
makeWidget({ 1, 1 }, { 278, 13 }, WidgetType::caption_22, WindowColour::primary, StringIds::buffer_2039),
|
||||
makeWidget({ 267, 2 }, { 11, 11 }, WidgetType::wt_11, WindowColour::primary, StringIds::close_window_cross, StringIds::tooltip_close_window),
|
||||
makeWidget({ 20, 77 }, { 100, 12 }, WidgetType::wt_11, WindowColour::primary, StringIds::label_ok),
|
||||
makeWidget({ 160, 77 }, { 100, 12 }, WidgetType::wt_11, WindowColour::primary, StringIds::label_button_cancel),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -75,8 +75,8 @@ namespace OpenLoco::Ui::Windows::PromptOkCancel
|
|||
|
||||
window->enabled_widgets = (1 << widx::closeButton) | (1 << widx::okButton) | (1 << widx::cancelButton);
|
||||
window->initScrollWidgets();
|
||||
window->colours[0] = Colour::translucent(Colour::salmon_pink);
|
||||
window->colours[1] = Colour::translucent(Colour::salmon_pink);
|
||||
window->setColour(WindowColour::primary, Colour::translucent(Colour::salmon_pink));
|
||||
window->setColour(WindowColour::secondary, Colour::translucent(Colour::salmon_pink));
|
||||
window->flags |= Ui::WindowFlags::transparent;
|
||||
|
||||
_result = 0;
|
||||
|
|
|
@ -30,13 +30,13 @@ namespace OpenLoco::Ui::Windows::PromptSaveWindow
|
|||
};
|
||||
|
||||
static Widget _widgets[] = {
|
||||
makeWidget({ 0, 0 }, { 260, 48 }, WidgetType::panel, 0),
|
||||
makeWidget({ 1, 1 }, { 258, 13 }, WidgetType::caption_22, 0, StringIds::empty),
|
||||
makeWidget({ 247, 2 }, { 11, 11 }, WidgetType::wt_11, 0, StringIds::close_window_cross, StringIds::tooltip_close_window),
|
||||
makeWidget({ 2, 17 }, { 256, 12 }, WidgetType::wt_13, 0, StringIds::empty),
|
||||
makeWidget({ 8, 33 }, { 78, 12 }, WidgetType::wt_11, 0, StringIds::label_button_save),
|
||||
makeWidget({ 91, 33 }, { 78, 12 }, WidgetType::wt_11, 0, StringIds::label_button_dont_save),
|
||||
makeWidget({ 174, 33 }, { 78, 12 }, WidgetType::wt_11, 0, StringIds::label_button_cancel),
|
||||
makeWidget({ 0, 0 }, { 260, 48 }, WidgetType::panel, WindowColour::primary),
|
||||
makeWidget({ 1, 1 }, { 258, 13 }, WidgetType::caption_22, WindowColour::primary, StringIds::empty),
|
||||
makeWidget({ 247, 2 }, { 11, 11 }, WidgetType::wt_11, WindowColour::primary, StringIds::close_window_cross, StringIds::tooltip_close_window),
|
||||
makeWidget({ 2, 17 }, { 256, 12 }, WidgetType::wt_13, WindowColour::primary, StringIds::empty),
|
||||
makeWidget({ 8, 33 }, { 78, 12 }, WidgetType::wt_11, WindowColour::primary, StringIds::label_button_save),
|
||||
makeWidget({ 91, 33 }, { 78, 12 }, WidgetType::wt_11, WindowColour::primary, StringIds::label_button_dont_save),
|
||||
makeWidget({ 174, 33 }, { 78, 12 }, WidgetType::wt_11, WindowColour::primary, StringIds::label_button_cancel),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -61,7 +61,7 @@ namespace OpenLoco::Ui::Windows::PromptSaveWindow
|
|||
window->widgets = _widgets;
|
||||
window->enabled_widgets = (1 << widx::closeButton) | (1 << widx::saveButton) | (1 << widx::dontSaveButton) | (1 << widx::cancelButton);
|
||||
window->initScrollWidgets();
|
||||
window->colours[0] = Colour::translucent(Colour::salmon_pink);
|
||||
window->setColour(WindowColour::primary, Colour::translucent(Colour::salmon_pink));
|
||||
window->flags |= Ui::WindowFlags::transparent;
|
||||
|
||||
setPauseFlag(1 << 1);
|
||||
|
|
|
@ -64,14 +64,14 @@ namespace OpenLoco::Ui::Windows::ScenarioOptions
|
|||
|
||||
const uint64_t enabledWidgets = (1 << widx::tab_challenge) | (1 << widx::tab_companies) | (1 << widx::tab_finances) | (1 << widx::tab_scenario);
|
||||
|
||||
#define commonWidgets(frameHeight, windowCaptionId) \
|
||||
makeWidget({ 0, 0 }, { 366, frameHeight }, WidgetType::frame, 0), \
|
||||
makeWidget({ 1, 1 }, { 364, 13 }, WidgetType::caption_25, 0, windowCaptionId), \
|
||||
makeWidget({ 0, 41 }, { 366, 175 }, WidgetType::panel, 1), \
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_scenario_challenge), \
|
||||
makeRemapWidget({ 34, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_company_options), \
|
||||
makeRemapWidget({ 65, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_financial_options), \
|
||||
makeRemapWidget({ 96, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_scenario_options)
|
||||
#define commonWidgets(frameHeight, windowCaptionId) \
|
||||
makeWidget({ 0, 0 }, { 366, frameHeight }, WidgetType::frame, WindowColour::primary), \
|
||||
makeWidget({ 1, 1 }, { 364, 13 }, WidgetType::caption_25, WindowColour::primary, windowCaptionId), \
|
||||
makeWidget({ 0, 41 }, { 366, 175 }, WidgetType::panel, WindowColour::secondary), \
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_scenario_challenge), \
|
||||
makeRemapWidget({ 34, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_company_options), \
|
||||
makeRemapWidget({ 65, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_financial_options), \
|
||||
makeRemapWidget({ 96, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_scenario_options)
|
||||
|
||||
// Defined at the bottom of this file.
|
||||
static void initEvents();
|
||||
|
@ -197,15 +197,15 @@ namespace OpenLoco::Ui::Windows::ScenarioOptions
|
|||
|
||||
static Widget widgets[] = {
|
||||
commonWidgets(197, StringIds::title_scenario_challenge),
|
||||
makeWidget({ 10, 52 }, { 346, 12 }, WidgetType::wt_18, 1),
|
||||
makeWidget({ 344, 53 }, { 11, 10 }, WidgetType::wt_11, 1, StringIds::dropdown),
|
||||
makeStepperWidgets({ 10, 67 }, { 163, 12 }, WidgetType::wt_17, 1),
|
||||
makeWidget({ 193, 67 }, { 163, 12 }, WidgetType::wt_18, 1),
|
||||
makeWidget({ 344, 68 }, { 11, 10 }, WidgetType::wt_11, 1, StringIds::dropdown),
|
||||
makeWidget({ 10, 83 }, { 346, 12 }, WidgetType::checkbox, 1, StringIds::and_be_the_top_company),
|
||||
makeWidget({ 10, 98 }, { 346, 12 }, WidgetType::checkbox, 1, StringIds::and_be_within_the_top_companies),
|
||||
makeWidget({ 10, 113 }, { 346, 12 }, WidgetType::checkbox, 1, StringIds::with_a_time_limit),
|
||||
makeStepperWidgets({ 256, 112 }, { 100, 12 }, WidgetType::wt_17, 1, StringIds::time_limit_years_value),
|
||||
makeWidget({ 10, 52 }, { 346, 12 }, WidgetType::wt_18, WindowColour::secondary),
|
||||
makeWidget({ 344, 53 }, { 11, 10 }, WidgetType::wt_11, WindowColour::secondary, StringIds::dropdown),
|
||||
makeStepperWidgets({ 10, 67 }, { 163, 12 }, WidgetType::wt_17, WindowColour::secondary),
|
||||
makeWidget({ 193, 67 }, { 163, 12 }, WidgetType::wt_18, WindowColour::secondary),
|
||||
makeWidget({ 344, 68 }, { 11, 10 }, WidgetType::wt_11, WindowColour::secondary, StringIds::dropdown),
|
||||
makeWidget({ 10, 83 }, { 346, 12 }, WidgetType::checkbox, WindowColour::secondary, StringIds::and_be_the_top_company),
|
||||
makeWidget({ 10, 98 }, { 346, 12 }, WidgetType::checkbox, WindowColour::secondary, StringIds::and_be_within_the_top_companies),
|
||||
makeWidget({ 10, 113 }, { 346, 12 }, WidgetType::checkbox, WindowColour::secondary, StringIds::with_a_time_limit),
|
||||
makeStepperWidgets({ 256, 112 }, { 100, 12 }, WidgetType::wt_17, WindowColour::secondary, StringIds::time_limit_years_value),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -265,7 +265,7 @@ namespace OpenLoco::Ui::Windows::ScenarioOptions
|
|||
case widx::objective_type_btn:
|
||||
{
|
||||
Widget& target = self->widgets[widx::objective_type];
|
||||
Dropdown::show(self->x + target.left, self->y + target.top, target.width() - 4, target.height(), self->colours[1], std::size(objectiveTypeLabelIds), 0x80);
|
||||
Dropdown::show(self->x + target.left, self->y + target.top, target.width() - 4, target.height(), self->getColour(WindowColour::secondary), std::size(objectiveTypeLabelIds), 0x80);
|
||||
|
||||
for (size_t i = 0; i < std::size(objectiveTypeLabelIds); i++)
|
||||
Dropdown::add(i, StringIds::dropdown_stringid, objectiveTypeLabelIds[i]);
|
||||
|
@ -363,7 +363,7 @@ namespace OpenLoco::Ui::Windows::ScenarioOptions
|
|||
}
|
||||
|
||||
Widget& target = self->widgets[widx::objective_cargo];
|
||||
Dropdown::show(self->x + target.left, self->y + target.top, target.width() - 4, target.height(), self->colours[1], numCargoObjects, 0x80);
|
||||
Dropdown::show(self->x + target.left, self->y + target.top, target.width() - 4, target.height(), self->getColour(WindowColour::secondary), numCargoObjects, 0x80);
|
||||
|
||||
uint16_t dropdownIndex = 0;
|
||||
for (uint16_t cargoIdx = 0; cargoIdx < maxCargoObjects; cargoIdx++)
|
||||
|
@ -522,8 +522,8 @@ namespace OpenLoco::Ui::Windows::ScenarioOptions
|
|||
auto skin = ObjectManager::get<InterfaceSkinObject>();
|
||||
if (skin != nullptr)
|
||||
{
|
||||
window->colours[0] = skin->colour_0B;
|
||||
window->colours[1] = skin->colour_0E;
|
||||
window->setColour(WindowColour::primary, skin->colour_0B);
|
||||
window->setColour(WindowColour::secondary, skin->colour_0E);
|
||||
}
|
||||
// 0x0043EEFF end
|
||||
|
||||
|
@ -582,26 +582,26 @@ namespace OpenLoco::Ui::Windows::ScenarioOptions
|
|||
|
||||
static Widget widgets[] = {
|
||||
commonWidgets(327, StringIds::title_company_options),
|
||||
makeStepperWidgets({ 256, 52 }, { 100, 12 }, WidgetType::wt_17, 1, StringIds::max_competing_companies_value),
|
||||
makeStepperWidgets({ 256, 67 }, { 100, 12 }, WidgetType::wt_17, 1, StringIds::delay_before_competing_companies_start_months),
|
||||
makeWidget({ 246, 102 }, { 110, 12 }, WidgetType::wt_18, 1),
|
||||
makeWidget({ 344, 103 }, { 11, 10 }, WidgetType::wt_11, 1, StringIds::dropdown),
|
||||
makeWidget({ 246, 117 }, { 110, 12 }, WidgetType::wt_18, 1),
|
||||
makeWidget({ 344, 118 }, { 11, 10 }, WidgetType::wt_11, 1, StringIds::dropdown),
|
||||
makeWidget({ 246, 132 }, { 110, 12 }, WidgetType::wt_18, 1),
|
||||
makeWidget({ 344, 133 }, { 11, 10 }, WidgetType::wt_11, 1, StringIds::dropdown),
|
||||
makeWidget({ 15, 160 }, { 341, 12 }, WidgetType::checkbox, 1, StringIds::forbid_trains),
|
||||
makeWidget({ 15, 172 }, { 341, 12 }, WidgetType::checkbox, 1, StringIds::forbid_buses),
|
||||
makeWidget({ 15, 184 }, { 341, 12 }, WidgetType::checkbox, 1, StringIds::forbid_trucks),
|
||||
makeWidget({ 15, 196 }, { 341, 12 }, WidgetType::checkbox, 1, StringIds::forbid_trams),
|
||||
makeWidget({ 15, 208 }, { 341, 12 }, WidgetType::checkbox, 1, StringIds::forbid_aircraft),
|
||||
makeWidget({ 15, 220 }, { 341, 12 }, WidgetType::checkbox, 1, StringIds::forbid_ships),
|
||||
makeWidget({ 15, 247 }, { 341, 12 }, WidgetType::checkbox, 1, StringIds::forbid_trains),
|
||||
makeWidget({ 15, 259 }, { 341, 12 }, WidgetType::checkbox, 1, StringIds::forbid_buses),
|
||||
makeWidget({ 15, 271 }, { 341, 12 }, WidgetType::checkbox, 1, StringIds::forbid_trucks),
|
||||
makeWidget({ 15, 283 }, { 341, 12 }, WidgetType::checkbox, 1, StringIds::forbid_trams),
|
||||
makeWidget({ 15, 295 }, { 341, 12 }, WidgetType::checkbox, 1, StringIds::forbid_aircraft),
|
||||
makeWidget({ 15, 307 }, { 341, 12 }, WidgetType::checkbox, 1, StringIds::forbid_ships),
|
||||
makeStepperWidgets({ 256, 52 }, { 100, 12 }, WidgetType::wt_17, WindowColour::secondary, StringIds::max_competing_companies_value),
|
||||
makeStepperWidgets({ 256, 67 }, { 100, 12 }, WidgetType::wt_17, WindowColour::secondary, StringIds::delay_before_competing_companies_start_months),
|
||||
makeWidget({ 246, 102 }, { 110, 12 }, WidgetType::wt_18, WindowColour::secondary),
|
||||
makeWidget({ 344, 103 }, { 11, 10 }, WidgetType::wt_11, WindowColour::secondary, StringIds::dropdown),
|
||||
makeWidget({ 246, 117 }, { 110, 12 }, WidgetType::wt_18, WindowColour::secondary),
|
||||
makeWidget({ 344, 118 }, { 11, 10 }, WidgetType::wt_11, WindowColour::secondary, StringIds::dropdown),
|
||||
makeWidget({ 246, 132 }, { 110, 12 }, WidgetType::wt_18, WindowColour::secondary),
|
||||
makeWidget({ 344, 133 }, { 11, 10 }, WidgetType::wt_11, WindowColour::secondary, StringIds::dropdown),
|
||||
makeWidget({ 15, 160 }, { 341, 12 }, WidgetType::checkbox, WindowColour::secondary, StringIds::forbid_trains),
|
||||
makeWidget({ 15, 172 }, { 341, 12 }, WidgetType::checkbox, WindowColour::secondary, StringIds::forbid_buses),
|
||||
makeWidget({ 15, 184 }, { 341, 12 }, WidgetType::checkbox, WindowColour::secondary, StringIds::forbid_trucks),
|
||||
makeWidget({ 15, 196 }, { 341, 12 }, WidgetType::checkbox, WindowColour::secondary, StringIds::forbid_trams),
|
||||
makeWidget({ 15, 208 }, { 341, 12 }, WidgetType::checkbox, WindowColour::secondary, StringIds::forbid_aircraft),
|
||||
makeWidget({ 15, 220 }, { 341, 12 }, WidgetType::checkbox, WindowColour::secondary, StringIds::forbid_ships),
|
||||
makeWidget({ 15, 247 }, { 341, 12 }, WidgetType::checkbox, WindowColour::secondary, StringIds::forbid_trains),
|
||||
makeWidget({ 15, 259 }, { 341, 12 }, WidgetType::checkbox, WindowColour::secondary, StringIds::forbid_buses),
|
||||
makeWidget({ 15, 271 }, { 341, 12 }, WidgetType::checkbox, WindowColour::secondary, StringIds::forbid_trucks),
|
||||
makeWidget({ 15, 283 }, { 341, 12 }, WidgetType::checkbox, WindowColour::secondary, StringIds::forbid_trams),
|
||||
makeWidget({ 15, 295 }, { 341, 12 }, WidgetType::checkbox, WindowColour::secondary, StringIds::forbid_aircraft),
|
||||
makeWidget({ 15, 307 }, { 341, 12 }, WidgetType::checkbox, WindowColour::secondary, StringIds::forbid_ships),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -723,7 +723,7 @@ namespace OpenLoco::Ui::Windows::ScenarioOptions
|
|||
case widx::preferred_intelligence_btn:
|
||||
{
|
||||
Widget& target = self->widgets[widx::preferred_intelligence];
|
||||
Dropdown::show(self->x + target.left, self->y + target.top, target.width() - 4, target.height(), self->colours[1], std::size(preferenceLabelIds), 0x80);
|
||||
Dropdown::show(self->x + target.left, self->y + target.top, target.width() - 4, target.height(), self->getColour(WindowColour::secondary), std::size(preferenceLabelIds), 0x80);
|
||||
|
||||
for (size_t i = 0; i < std::size(preferenceLabelIds); i++)
|
||||
Dropdown::add(i, StringIds::dropdown_stringid, preferenceLabelIds[i]);
|
||||
|
@ -735,7 +735,7 @@ namespace OpenLoco::Ui::Windows::ScenarioOptions
|
|||
case widx::preferred_aggressiveness_btn:
|
||||
{
|
||||
Widget& target = self->widgets[widx::preferred_aggressiveness];
|
||||
Dropdown::show(self->x + target.left, self->y + target.top, target.width() - 4, target.height(), self->colours[1], std::size(preferenceLabelIds), 0x80);
|
||||
Dropdown::show(self->x + target.left, self->y + target.top, target.width() - 4, target.height(), self->getColour(WindowColour::secondary), std::size(preferenceLabelIds), 0x80);
|
||||
|
||||
for (size_t i = 0; i < std::size(preferenceLabelIds); i++)
|
||||
Dropdown::add(i, StringIds::dropdown_stringid, preferenceLabelIds[i]);
|
||||
|
@ -747,7 +747,7 @@ namespace OpenLoco::Ui::Windows::ScenarioOptions
|
|||
case widx::preferred_competitiveness_btn:
|
||||
{
|
||||
Widget& target = self->widgets[widx::preferred_competitiveness];
|
||||
Dropdown::show(self->x + target.left, self->y + target.top, target.width() - 4, target.height(), self->colours[1], std::size(preferenceLabelIds), 0x80);
|
||||
Dropdown::show(self->x + target.left, self->y + target.top, target.width() - 4, target.height(), self->getColour(WindowColour::secondary), std::size(preferenceLabelIds), 0x80);
|
||||
|
||||
for (size_t i = 0; i < std::size(preferenceLabelIds); i++)
|
||||
Dropdown::add(i, StringIds::dropdown_stringid, preferenceLabelIds[i]);
|
||||
|
@ -855,9 +855,9 @@ namespace OpenLoco::Ui::Windows::ScenarioOptions
|
|||
|
||||
static Widget widgets[] = {
|
||||
commonWidgets(217, StringIds::title_financial_options),
|
||||
makeStepperWidgets({ 256, 52 }, { 100, 12 }, WidgetType::wt_17, 1, StringIds::starting_loan_value),
|
||||
makeStepperWidgets({ 256, 67 }, { 100, 12 }, WidgetType::wt_17, 1, StringIds::max_loan_size_value),
|
||||
makeStepperWidgets({ 256, 82 }, { 100, 12 }, WidgetType::wt_17, 1, StringIds::loan_interest_rate_value),
|
||||
makeStepperWidgets({ 256, 52 }, { 100, 12 }, WidgetType::wt_17, WindowColour::secondary, StringIds::starting_loan_value),
|
||||
makeStepperWidgets({ 256, 67 }, { 100, 12 }, WidgetType::wt_17, WindowColour::secondary, StringIds::max_loan_size_value),
|
||||
makeStepperWidgets({ 256, 82 }, { 100, 12 }, WidgetType::wt_17, WindowColour::secondary, StringIds::loan_interest_rate_value),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -982,10 +982,10 @@ namespace OpenLoco::Ui::Windows::ScenarioOptions
|
|||
|
||||
static Widget widgets[] = {
|
||||
commonWidgets(217, StringIds::title_scenario_options),
|
||||
makeWidget({ 281, 52 }, { 75, 12 }, WidgetType::wt_11, 1, StringIds::change),
|
||||
makeWidget({ 196, 67 }, { 160, 12 }, WidgetType::wt_18, 1, StringIds::empty),
|
||||
makeWidget({ 344, 68 }, { 11, 10 }, WidgetType::wt_11, 1, StringIds::dropdown),
|
||||
makeWidget({ 281, 82 }, { 75, 12 }, WidgetType::wt_11, 1, StringIds::change),
|
||||
makeWidget({ 281, 52 }, { 75, 12 }, WidgetType::wt_11, WindowColour::secondary, StringIds::change),
|
||||
makeWidget({ 196, 67 }, { 160, 12 }, WidgetType::wt_18, WindowColour::secondary, StringIds::empty),
|
||||
makeWidget({ 344, 68 }, { 11, 10 }, WidgetType::wt_11, WindowColour::secondary, StringIds::dropdown),
|
||||
makeWidget({ 281, 82 }, { 75, 12 }, WidgetType::wt_11, WindowColour::secondary, StringIds::change),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -1066,7 +1066,7 @@ namespace OpenLoco::Ui::Windows::ScenarioOptions
|
|||
if (widgetIndex == widx::scenario_group_btn)
|
||||
{
|
||||
Widget& target = self->widgets[widx::scenario_group];
|
||||
Dropdown::show(self->x + target.left, self->y + target.top, target.width() - 4, target.height(), self->colours[1], std::size(scenarioGroupLabelIds), 0x80);
|
||||
Dropdown::show(self->x + target.left, self->y + target.top, target.width() - 4, target.height(), self->getColour(WindowColour::secondary), std::size(scenarioGroupLabelIds), 0x80);
|
||||
|
||||
for (size_t i = 0; i < std::size(scenarioGroupLabelIds); i++)
|
||||
Dropdown::add(i, StringIds::dropdown_stringid, scenarioGroupLabelIds[i]);
|
||||
|
|
|
@ -38,16 +38,16 @@ namespace OpenLoco::Ui::Windows::ScenarioSelect
|
|||
}
|
||||
|
||||
static Widget _widgets[] = {
|
||||
makeWidget({ 0, 0 }, { 610, 412 }, WidgetType::frame, 0),
|
||||
makeWidget({ 1, 1 }, { 608, 13 }, WidgetType::caption_25, 0, StringIds::select_scenario_for_new_game),
|
||||
makeWidget({ 595, 2 }, { 13, 13 }, WidgetType::wt_9, 0, ImageIds::close_button, StringIds::tooltip_close_window),
|
||||
makeWidget({ 0, 48 }, { 610, 364 }, WidgetType::wt_3, 1),
|
||||
makeRemapWidget({ 3, 15 }, { 91, 34 }, WidgetType::wt_8, 1, ImageIds::wide_tab),
|
||||
makeRemapWidget({ 94, 15 }, { 91, 34 }, WidgetType::wt_8, 1, ImageIds::wide_tab),
|
||||
makeRemapWidget({ 185, 15 }, { 91, 34 }, WidgetType::wt_8, 1, ImageIds::wide_tab),
|
||||
makeRemapWidget({ 276, 15 }, { 91, 34 }, WidgetType::wt_8, 1, ImageIds::wide_tab),
|
||||
makeRemapWidget({ 367, 15 }, { 91, 34 }, WidgetType::wt_8, 1, ImageIds::wide_tab),
|
||||
makeWidget({ 3, 52 }, { 431, 356 }, WidgetType::scrollview, 1, Scrollbars::vertical),
|
||||
makeWidget({ 0, 0 }, { 610, 412 }, WidgetType::frame, WindowColour::primary),
|
||||
makeWidget({ 1, 1 }, { 608, 13 }, WidgetType::caption_25, WindowColour::primary, StringIds::select_scenario_for_new_game),
|
||||
makeWidget({ 595, 2 }, { 13, 13 }, WidgetType::wt_9, WindowColour::primary, ImageIds::close_button, StringIds::tooltip_close_window),
|
||||
makeWidget({ 0, 48 }, { 610, 364 }, WidgetType::wt_3, WindowColour::secondary),
|
||||
makeRemapWidget({ 3, 15 }, { 91, 34 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::wide_tab),
|
||||
makeRemapWidget({ 94, 15 }, { 91, 34 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::wide_tab),
|
||||
makeRemapWidget({ 185, 15 }, { 91, 34 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::wide_tab),
|
||||
makeRemapWidget({ 276, 15 }, { 91, 34 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::wide_tab),
|
||||
makeRemapWidget({ 367, 15 }, { 91, 34 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::wide_tab),
|
||||
makeWidget({ 3, 52 }, { 431, 356 }, WidgetType::scrollview, WindowColour::secondary, Scrollbars::vertical),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -113,8 +113,8 @@ namespace OpenLoco::Ui::Windows::ScenarioSelect
|
|||
self->enabled_widgets = (1 << widx::close) | (1 << widx::tab0) | (1 << widx::tab1) | (1 << widx::tab2) | (1 << widx::tab3) | (1 << widx::tab4);
|
||||
self->initScrollWidgets();
|
||||
|
||||
self->colours[0] = Colour::black;
|
||||
self->colours[1] = Colour::saturated_green;
|
||||
self->setColour(WindowColour::primary, Colour::black);
|
||||
self->setColour(WindowColour::secondary, Colour::saturated_green);
|
||||
|
||||
self->var_846 = 0xFFFF;
|
||||
self->var_85A = static_cast<int32_t>(0xFFFFFFFF);
|
||||
|
@ -153,7 +153,7 @@ namespace OpenLoco::Ui::Windows::ScenarioSelect
|
|||
// 0x004439AF
|
||||
static void draw(Window* self, Gfx::Context* context)
|
||||
{
|
||||
Gfx::drawRectInset(context, self->x, self->y + 20, self->width, 41, self->colours[0], 0);
|
||||
Gfx::drawRectInset(context, self->x, self->y + 20, self->width, 41, self->getColour(WindowColour::primary), 0);
|
||||
|
||||
// Draw widgets.
|
||||
self->draw(context);
|
||||
|
@ -227,7 +227,7 @@ namespace OpenLoco::Ui::Windows::ScenarioSelect
|
|||
// Outline for preview image
|
||||
{
|
||||
x = baseX + 20;
|
||||
Gfx::drawRectInset(context, x, y, 130, 130, self->colours[1], 0x30);
|
||||
Gfx::drawRectInset(context, x, y, 130, 130, self->getColour(WindowColour::secondary), 0x30);
|
||||
|
||||
x += 1;
|
||||
y += 1;
|
||||
|
@ -261,7 +261,7 @@ namespace OpenLoco::Ui::Windows::ScenarioSelect
|
|||
y += 1;
|
||||
|
||||
// No preview image -- a placeholder will have to do.
|
||||
auto image = Gfx::recolour(ImageIds::random_map_watermark, self->colours[1]);
|
||||
auto image = Gfx::recolour(ImageIds::random_map_watermark, self->getColour(WindowColour::secondary));
|
||||
Gfx::drawImage(context, x, y, image);
|
||||
|
||||
x += 64;
|
||||
|
@ -328,7 +328,7 @@ namespace OpenLoco::Ui::Windows::ScenarioSelect
|
|||
// 0x00443D02
|
||||
static void drawScroll(Window* self, Gfx::Context* const context, uint32_t)
|
||||
{
|
||||
auto colour = Colour::getShade(self->colours[1], 4);
|
||||
auto colour = Colour::getShade(self->getColour(WindowColour::secondary), 4);
|
||||
Gfx::clearSingle(*context, colour);
|
||||
|
||||
using namespace ScenarioManager;
|
||||
|
|
|
@ -47,21 +47,21 @@ namespace OpenLoco::Ui::Windows::StationList
|
|||
};
|
||||
|
||||
static Widget _widgets[] = {
|
||||
makeWidget({ 0, 0 }, { 600, 197 }, WidgetType::frame, 0),
|
||||
makeWidget({ 1, 1 }, { 598, 13 }, WidgetType::caption_24, 0, StringIds::stringid_all_stations),
|
||||
makeWidget({ 585, 2 }, { 13, 13 }, WidgetType::wt_9, 0, ImageIds::close_button, StringIds::tooltip_close_window),
|
||||
makeWidget({ 0, 41 }, { 600, 155 }, WidgetType::panel, 1),
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_all_stations),
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_rail_stations),
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_road_stations),
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_airports),
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_ship_ports),
|
||||
makeWidget({ 0, 14 }, { 26, 26 }, WidgetType::wt_9, 0, StringIds::null, StringIds::tooltip_select_company),
|
||||
makeWidget({ 4, 43 }, { 200, 12 }, WidgetType::wt_14, 1, StringIds::null, StringIds::tooltip_sort_by_name),
|
||||
makeWidget({ 204, 43 }, { 200, 12 }, WidgetType::wt_14, 1, StringIds::null, StringIds::tooltip_sort_by_station_status),
|
||||
makeWidget({ 404, 43 }, { 90, 12 }, WidgetType::wt_14, 1, StringIds::null, StringIds::tooltip_sort_by_total_units_waiting),
|
||||
makeWidget({ 494, 43 }, { 120, 12 }, WidgetType::wt_14, 1, StringIds::null, StringIds::tooltip_sort_by_cargo_accepted),
|
||||
makeWidget({ 3, 56 }, { 594, 126 }, WidgetType::scrollview, 1, Scrollbars::vertical),
|
||||
makeWidget({ 0, 0 }, { 600, 197 }, WidgetType::frame, WindowColour::primary),
|
||||
makeWidget({ 1, 1 }, { 598, 13 }, WidgetType::caption_24, WindowColour::primary, StringIds::stringid_all_stations),
|
||||
makeWidget({ 585, 2 }, { 13, 13 }, WidgetType::wt_9, WindowColour::primary, ImageIds::close_button, StringIds::tooltip_close_window),
|
||||
makeWidget({ 0, 41 }, { 600, 155 }, WidgetType::panel, WindowColour::secondary),
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_all_stations),
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_rail_stations),
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_road_stations),
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_airports),
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_ship_ports),
|
||||
makeWidget({ 0, 14 }, { 26, 26 }, WidgetType::wt_9, WindowColour::primary, StringIds::null, StringIds::tooltip_select_company),
|
||||
makeWidget({ 4, 43 }, { 200, 12 }, WidgetType::wt_14, WindowColour::secondary, StringIds::null, StringIds::tooltip_sort_by_name),
|
||||
makeWidget({ 204, 43 }, { 200, 12 }, WidgetType::wt_14, WindowColour::secondary, StringIds::null, StringIds::tooltip_sort_by_station_status),
|
||||
makeWidget({ 404, 43 }, { 90, 12 }, WidgetType::wt_14, WindowColour::secondary, StringIds::null, StringIds::tooltip_sort_by_total_units_waiting),
|
||||
makeWidget({ 494, 43 }, { 120, 12 }, WidgetType::wt_14, WindowColour::secondary, StringIds::null, StringIds::tooltip_sort_by_cargo_accepted),
|
||||
makeWidget({ 3, 56 }, { 594, 126 }, WidgetType::scrollview, WindowColour::secondary, Scrollbars::vertical),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -334,7 +334,7 @@ namespace OpenLoco::Ui::Windows::StationList
|
|||
window->flags |= WindowFlags::resizable;
|
||||
|
||||
auto interface = ObjectManager::get<InterfaceSkinObject>();
|
||||
window->colours[1] = interface->colour_0A;
|
||||
window->setColour(WindowColour::secondary, interface->colour_0A);
|
||||
}
|
||||
|
||||
// TODO: only needs to be called once.
|
||||
|
@ -471,7 +471,7 @@ namespace OpenLoco::Ui::Windows::StationList
|
|||
// 0x0049157F
|
||||
static void drawScroll(Ui::Window* window, Gfx::Context* context, uint32_t scrollIndex)
|
||||
{
|
||||
auto shade = Colour::getShade(window->colours[1], 4);
|
||||
auto shade = Colour::getShade(window->getColour(WindowColour::secondary), 4);
|
||||
Gfx::clearSingle(*context, shade);
|
||||
|
||||
uint16_t yPos = 0;
|
||||
|
|
|
@ -47,14 +47,14 @@ namespace OpenLoco::Ui::Windows::Station
|
|||
|
||||
const uint64_t enabledWidgets = (1 << widx::caption) | (1 << widx::close_button) | (1 << widx::tab_station) | (1 << widx::tab_cargo) | (1 << widx::tab_cargo_ratings);
|
||||
|
||||
#define commonWidgets(frameWidth, frameHeight) \
|
||||
makeWidget({ 0, 0 }, { frameWidth, frameHeight }, WidgetType::frame, 0), \
|
||||
makeWidget({ 1, 1 }, { frameWidth - 2, 13 }, WidgetType::caption_23, 0, StringIds::title_station), \
|
||||
makeWidget({ frameWidth - 15, 2 }, { 13, 13 }, WidgetType::wt_9, 0, ImageIds::close_button, StringIds::tooltip_close_window), \
|
||||
makeWidget({ 0, 41 }, { frameWidth, 95 }, WidgetType::panel, 1), \
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_station), \
|
||||
makeRemapWidget({ 34, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_station_cargo), \
|
||||
makeRemapWidget({ 65, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_station_cargo_ratings)
|
||||
#define commonWidgets(frameWidth, frameHeight) \
|
||||
makeWidget({ 0, 0 }, { frameWidth, frameHeight }, WidgetType::frame, WindowColour::primary), \
|
||||
makeWidget({ 1, 1 }, { frameWidth - 2, 13 }, WidgetType::caption_23, WindowColour::primary, StringIds::title_station), \
|
||||
makeWidget({ frameWidth - 15, 2 }, { 13, 13 }, WidgetType::wt_9, WindowColour::primary, ImageIds::close_button, StringIds::tooltip_close_window), \
|
||||
makeWidget({ 0, 41 }, { frameWidth, 95 }, WidgetType::panel, WindowColour::secondary), \
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_station), \
|
||||
makeRemapWidget({ 34, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_station_cargo), \
|
||||
makeRemapWidget({ 65, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_station_cargo_ratings)
|
||||
|
||||
// Defined at the bottom of this file.
|
||||
static void prepareDraw(Window* self);
|
||||
|
@ -82,9 +82,9 @@ namespace OpenLoco::Ui::Windows::Station
|
|||
Widget widgets[] = {
|
||||
// commonWidgets(windowSize.width, windowSize.height),
|
||||
commonWidgets(223, 136),
|
||||
makeWidget({ 3, 44 }, { 195, 80 }, WidgetType::viewport, 1, 0xFFFFFFFE),
|
||||
makeWidget({ 3, 115 }, { 195, 21 }, WidgetType::wt_13, 1),
|
||||
makeWidget({ 0, 0 }, { 24, 24 }, WidgetType::wt_9, 1, ImageIds::null, StringIds::move_main_view_to_show_this),
|
||||
makeWidget({ 3, 44 }, { 195, 80 }, WidgetType::viewport, WindowColour::secondary, 0xFFFFFFFE),
|
||||
makeWidget({ 3, 115 }, { 195, 21 }, WidgetType::wt_13, WindowColour::secondary),
|
||||
makeWidget({ 0, 0 }, { 24, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::null, StringIds::move_main_view_to_show_this),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -290,7 +290,7 @@ namespace OpenLoco::Ui::Windows::Station
|
|||
window->saved_view.clear();
|
||||
|
||||
auto skin = ObjectManager::get<InterfaceSkinObject>();
|
||||
window->colours[1] = skin->colour_0A;
|
||||
window->setColour(WindowColour::secondary, skin->colour_0A);
|
||||
// 0x0048F29F end
|
||||
}
|
||||
// TODO(avgeffen): only needs to be called once.
|
||||
|
@ -322,9 +322,9 @@ namespace OpenLoco::Ui::Windows::Station
|
|||
|
||||
static Widget widgets[] = {
|
||||
commonWidgets(223, 136),
|
||||
makeWidget({ 3, 44 }, { 217, 80 }, WidgetType::scrollview, 1, 2),
|
||||
makeWidget({ 3, 125 }, { 195, 10 }, WidgetType::wt_13, 1),
|
||||
makeWidget({ 198, 44 }, { 24, 24 }, WidgetType::wt_9, 1, ImageIds::show_station_catchment, StringIds::station_catchment),
|
||||
makeWidget({ 3, 44 }, { 217, 80 }, WidgetType::scrollview, WindowColour::secondary, 2),
|
||||
makeWidget({ 3, 125 }, { 195, 10 }, WidgetType::wt_13, WindowColour::secondary),
|
||||
makeWidget({ 198, 44 }, { 24, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::show_station_catchment, StringIds::station_catchment),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -462,7 +462,7 @@ namespace OpenLoco::Ui::Windows::Station
|
|||
// 0x0048E986
|
||||
static void drawScroll(Window* self, Gfx::Context* context, uint32_t scrollIndex)
|
||||
{
|
||||
Gfx::clearSingle(*context, Colour::getShade(self->colours[1], 4));
|
||||
Gfx::clearSingle(*context, Colour::getShade(self->getColour(WindowColour::secondary), 4));
|
||||
|
||||
const auto station = StationManager::get(self->number);
|
||||
int16_t y = 1;
|
||||
|
@ -575,8 +575,8 @@ namespace OpenLoco::Ui::Windows::Station
|
|||
|
||||
static Widget widgets[] = {
|
||||
commonWidgets(249, 136),
|
||||
makeWidget({ 3, 44 }, { 244, 80 }, WidgetType::scrollview, 1, 2),
|
||||
makeWidget({ 3, 125 }, { 221, 11 }, WidgetType::wt_13, 1),
|
||||
makeWidget({ 3, 44 }, { 244, 80 }, WidgetType::scrollview, WindowColour::secondary, 2),
|
||||
makeWidget({ 3, 125 }, { 221, 11 }, WidgetType::wt_13, WindowColour::secondary),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -656,7 +656,7 @@ namespace OpenLoco::Ui::Windows::Station
|
|||
// 0x0048EF02
|
||||
static void drawRatingBar(Window* self, Gfx::Context* context, int16_t x, int16_t y, uint8_t amount, Colour_t colour)
|
||||
{
|
||||
Gfx::fillRectInset(context, x, y, x + 99, y + 9, self->colours[1], 48);
|
||||
Gfx::fillRectInset(context, x, y, x + 99, y + 9, self->getColour(WindowColour::secondary), 48);
|
||||
|
||||
uint16_t rating = (amount * 96) / 256;
|
||||
if (rating > 2)
|
||||
|
@ -668,7 +668,7 @@ namespace OpenLoco::Ui::Windows::Station
|
|||
// 0x0048ED2F
|
||||
static void drawScroll(Window* self, Gfx::Context* context, uint32_t scrollIndex)
|
||||
{
|
||||
Gfx::clearSingle(*context, Colour::getShade(self->colours[1], 4));
|
||||
Gfx::clearSingle(*context, Colour::getShade(self->getColour(WindowColour::secondary), 4));
|
||||
|
||||
const auto station = StationManager::get(self->number);
|
||||
int16_t y = 0;
|
||||
|
|
|
@ -79,16 +79,16 @@ namespace OpenLoco::Ui::Windows::Terraform
|
|||
|
||||
const uint64_t enabledWidgets = (1 << widx::close_button) | (1 << widx::tab_adjust_land) | (1 << widx::tab_adjust_water) | (1 << widx::tab_build_walls) | (1 << widx::tab_clear_area) | (1 << widx::tab_plant_trees);
|
||||
|
||||
#define commonWidgets(frameWidth, frameHeight, windowCaptionId) \
|
||||
makeWidget({ 0, 0 }, { frameWidth, frameHeight }, WidgetType::frame, 0), \
|
||||
makeWidget({ 1, 1 }, { frameWidth - 2, 13 }, WidgetType::caption_24, 0, windowCaptionId), \
|
||||
makeWidget({ frameWidth - 15, 2 }, { 13, 13 }, WidgetType::wt_9, 0, ImageIds::close_button, StringIds::tooltip_close_window), \
|
||||
makeWidget({ 0, 41 }, { 130, 74 }, WidgetType::panel, 1), \
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_6, 1, ImageIds::tab, StringIds::tooltip_clear_land), \
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_6, 1, ImageIds::tab, StringIds::tooltip_adjust_land), \
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_6, 1, ImageIds::tab, StringIds::tooltip_adjust_water), \
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_6, 1, ImageIds::tab, StringIds::tooltip_plant_trees), \
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_6, 1, ImageIds::tab, StringIds::tooltip_build_walls)
|
||||
#define commonWidgets(frameWidth, frameHeight, windowCaptionId) \
|
||||
makeWidget({ 0, 0 }, { frameWidth, frameHeight }, WidgetType::frame, WindowColour::primary), \
|
||||
makeWidget({ 1, 1 }, { frameWidth - 2, 13 }, WidgetType::caption_24, WindowColour::primary, windowCaptionId), \
|
||||
makeWidget({ frameWidth - 15, 2 }, { 13, 13 }, WidgetType::wt_9, WindowColour::primary, ImageIds::close_button, StringIds::tooltip_close_window), \
|
||||
makeWidget({ 0, 41 }, { 130, 74 }, WidgetType::panel, WindowColour::secondary), \
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_6, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_clear_land), \
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_6, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_adjust_land), \
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_6, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_adjust_water), \
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_6, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_plant_trees), \
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_6, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_build_walls)
|
||||
|
||||
static WindowEventList _events;
|
||||
|
||||
|
@ -124,11 +124,11 @@ namespace OpenLoco::Ui::Windows::Terraform
|
|||
|
||||
Widget widgets[] = {
|
||||
commonWidgets(634, 162, StringIds::title_plant_trees),
|
||||
makeWidget({ 3, 45 }, { 605, 101 }, WidgetType::scrollview, 1, Scrollbars::vertical),
|
||||
makeWidget({ 609, 46 }, { 24, 24 }, WidgetType::wt_9, 1, ImageIds::rotate_object, StringIds::rotate_object_90),
|
||||
makeWidget({ 609, 70 }, { 24, 24 }, WidgetType::wt_10, 1, ImageIds::null, StringIds::tooltip_object_colour),
|
||||
makeWidget({ 609, 94 }, { 24, 24 }, WidgetType::wt_9, 1, ImageIds::plant_cluster_selected_tree, StringIds::plant_cluster_selected_tree),
|
||||
makeWidget({ 609, 118 }, { 24, 24 }, WidgetType::wt_9, 1, ImageIds::plant_cluster_random_tree, StringIds::plant_cluster_random_tree),
|
||||
makeWidget({ 3, 45 }, { 605, 101 }, WidgetType::scrollview, WindowColour::secondary, Scrollbars::vertical),
|
||||
makeWidget({ 609, 46 }, { 24, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::rotate_object, StringIds::rotate_object_90),
|
||||
makeWidget({ 609, 70 }, { 24, 24 }, WidgetType::wt_10, WindowColour::secondary, ImageIds::null, StringIds::tooltip_object_colour),
|
||||
makeWidget({ 609, 94 }, { 24, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::plant_cluster_selected_tree, StringIds::plant_cluster_selected_tree),
|
||||
makeWidget({ 609, 118 }, { 24, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::plant_cluster_random_tree, StringIds::plant_cluster_random_tree),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -614,7 +614,7 @@ namespace OpenLoco::Ui::Windows::Terraform
|
|||
// 0x004BB982
|
||||
static void drawScroll(Window* self, Gfx::Context* context, uint32_t scrollIndex)
|
||||
{
|
||||
auto shade = Colour::getShade(self->colours[1], 3);
|
||||
auto shade = Colour::getShade(self->getColour(WindowColour::secondary), 3);
|
||||
Gfx::clearSingle(*context, shade);
|
||||
|
||||
uint16_t xPos = 0;
|
||||
|
@ -627,13 +627,13 @@ namespace OpenLoco::Ui::Windows::Terraform
|
|||
if (self->row_info[i] == self->var_846)
|
||||
{
|
||||
_lastTreeColourFlag = Colour::translucent_flag;
|
||||
Gfx::drawRectInset(context, xPos, yPos, 65, rowHeight - 1, self->colours[1], Colour::translucent_flag);
|
||||
Gfx::drawRectInset(context, xPos, yPos, 65, rowHeight - 1, self->getColour(WindowColour::secondary), Colour::translucent_flag);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_lastTreeColourFlag = Colour::translucent_flag | Colour::outline_flag;
|
||||
Gfx::drawRectInset(context, xPos, yPos, 65, rowHeight - 1, self->colours[1], (Colour::translucent_flag | Colour::outline_flag));
|
||||
Gfx::drawRectInset(context, xPos, yPos, 65, rowHeight - 1, self->getColour(WindowColour::secondary), (Colour::translucent_flag | Colour::outline_flag));
|
||||
}
|
||||
|
||||
auto treeObj = ObjectManager::get<TreeObject>(self->row_info[i]);
|
||||
|
@ -713,7 +713,7 @@ namespace OpenLoco::Ui::Windows::Terraform
|
|||
window->max_height = PlantTrees::windowSize.height;
|
||||
|
||||
auto skin = ObjectManager::get<InterfaceSkinObject>();
|
||||
window->colours[1] = skin->colour_0E;
|
||||
window->setColour(WindowColour::secondary, skin->colour_0E);
|
||||
|
||||
// End of 0x004BB586
|
||||
|
||||
|
@ -760,9 +760,9 @@ namespace OpenLoco::Ui::Windows::Terraform
|
|||
|
||||
Widget widgets[] = {
|
||||
commonWidgets(130, 105, StringIds::clear_area),
|
||||
makeWidget({ 33 + 16, 45 }, { 64, 44 }, WidgetType::wt_3, 1, ImageIds::tool_area, StringIds::tooltip_clear_area),
|
||||
makeWidget({ 34 + 16, 46 }, { 16, 16 }, WidgetType::wt_7, 1, Gfx::recolour(ImageIds::decrease_tool_area, Colour::white), StringIds::tooltip_decrease_clear_area),
|
||||
makeWidget({ 80 + 16, 72 }, { 16, 16 }, WidgetType::wt_7, 1, Gfx::recolour(ImageIds::increase_tool_area, Colour::white), StringIds::tooltip_increase_clear_area),
|
||||
makeWidget({ 33 + 16, 45 }, { 64, 44 }, WidgetType::wt_3, WindowColour::secondary, ImageIds::tool_area, StringIds::tooltip_clear_area),
|
||||
makeWidget({ 34 + 16, 46 }, { 16, 16 }, WidgetType::wt_7, WindowColour::secondary, Gfx::recolour(ImageIds::decrease_tool_area, Colour::white), StringIds::tooltip_decrease_clear_area),
|
||||
makeWidget({ 80 + 16, 72 }, { 16, 16 }, WidgetType::wt_7, WindowColour::secondary, Gfx::recolour(ImageIds::increase_tool_area, Colour::white), StringIds::tooltip_increase_clear_area),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -942,10 +942,10 @@ namespace OpenLoco::Ui::Windows::Terraform
|
|||
|
||||
Widget widgets[] = {
|
||||
commonWidgets(130, 105, StringIds::title_adjust_land),
|
||||
makeWidget({ 33 + 16, 45 }, { 64, 44 }, WidgetType::wt_3, 1, ImageIds::tool_area, StringIds::tooltip_adjust_land_tool),
|
||||
makeWidget({ 34 + 16, 46 }, { 16, 16 }, WidgetType::wt_7, 1, Gfx::recolour(ImageIds::decrease_tool_area, Colour::white), StringIds::tooltip_decrease_adjust_land_area),
|
||||
makeWidget({ 80 + 16, 72 }, { 16, 16 }, WidgetType::wt_7, 1, Gfx::recolour(ImageIds::increase_tool_area, Colour::white), StringIds::tooltip_increase_adjust_land_area),
|
||||
makeWidget({ 55 + 16, 92 }, { 20, 20 }, WidgetType::wt_6, 0),
|
||||
makeWidget({ 33 + 16, 45 }, { 64, 44 }, WidgetType::wt_3, WindowColour::secondary, ImageIds::tool_area, StringIds::tooltip_adjust_land_tool),
|
||||
makeWidget({ 34 + 16, 46 }, { 16, 16 }, WidgetType::wt_7, WindowColour::secondary, Gfx::recolour(ImageIds::decrease_tool_area, Colour::white), StringIds::tooltip_decrease_adjust_land_area),
|
||||
makeWidget({ 80 + 16, 72 }, { 16, 16 }, WidgetType::wt_7, WindowColour::secondary, Gfx::recolour(ImageIds::increase_tool_area, Colour::white), StringIds::tooltip_increase_adjust_land_area),
|
||||
makeWidget({ 55 + 16, 92 }, { 20, 20 }, WidgetType::wt_6, WindowColour::primary),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -1004,7 +1004,7 @@ namespace OpenLoco::Ui::Windows::Terraform
|
|||
auto xPos = self->widgets[widgetIndex].left + self->x;
|
||||
auto yPos = self->widgets[widgetIndex].bottom + self->y;
|
||||
auto heightOffset = self->widgets[widgetIndex].height() - 18;
|
||||
auto colour = self->colours[1] | 0x80;
|
||||
auto colour = self->getColour(WindowColour::secondary) | 0x80;
|
||||
auto count = Dropdown::getItemsPerRow(landCount);
|
||||
|
||||
Dropdown::showImage(xPos, yPos, 20, 20, heightOffset, colour, count, landCount);
|
||||
|
@ -1373,9 +1373,9 @@ namespace OpenLoco::Ui::Windows::Terraform
|
|||
|
||||
Widget widgets[] = {
|
||||
commonWidgets(130, 105, StringIds::title_adjust_water),
|
||||
makeWidget({ 33 + 16, 45 }, { 64, 44 }, WidgetType::wt_3, 1, ImageIds::tool_area, StringIds::tooltip_adjust_water_tool),
|
||||
makeWidget({ 34 + 16, 46 }, { 16, 16 }, WidgetType::wt_7, 1, Gfx::recolour(ImageIds::decrease_tool_area, Colour::white), StringIds::tooltip_decrease_adjust_water_area),
|
||||
makeWidget({ 80 + 16, 72 }, { 16, 16 }, WidgetType::wt_7, 1, Gfx::recolour(ImageIds::increase_tool_area, Colour::white), StringIds::tooltip_increase_adjust_water_area),
|
||||
makeWidget({ 33 + 16, 45 }, { 64, 44 }, WidgetType::wt_3, WindowColour::secondary, ImageIds::tool_area, StringIds::tooltip_adjust_water_tool),
|
||||
makeWidget({ 34 + 16, 46 }, { 16, 16 }, WidgetType::wt_7, WindowColour::secondary, Gfx::recolour(ImageIds::decrease_tool_area, Colour::white), StringIds::tooltip_decrease_adjust_water_area),
|
||||
makeWidget({ 80 + 16, 72 }, { 16, 16 }, WidgetType::wt_7, WindowColour::secondary, Gfx::recolour(ImageIds::increase_tool_area, Colour::white), StringIds::tooltip_increase_adjust_water_area),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -1612,7 +1612,7 @@ namespace OpenLoco::Ui::Windows::Terraform
|
|||
|
||||
Widget widgets[] = {
|
||||
commonWidgets(418, 108, StringIds::title_build_walls),
|
||||
makeWidget({ 2, 45 }, { 391, 48 }, WidgetType::scrollview, 1, Scrollbars::vertical),
|
||||
makeWidget({ 2, 45 }, { 391, 48 }, WidgetType::scrollview, WindowColour::secondary, Scrollbars::vertical),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -1917,7 +1917,7 @@ namespace OpenLoco::Ui::Windows::Terraform
|
|||
// 0x004BC11C
|
||||
static void drawScroll(Window* self, Gfx::Context* context, uint32_t scrollIndex)
|
||||
{
|
||||
auto shade = Colour::getShade(self->colours[1], 3);
|
||||
auto shade = Colour::getShade(self->getColour(WindowColour::secondary), 3);
|
||||
Gfx::clearSingle(*context, shade);
|
||||
|
||||
uint16_t xPos = 0;
|
||||
|
@ -1928,12 +1928,12 @@ namespace OpenLoco::Ui::Windows::Terraform
|
|||
{
|
||||
if (self->row_info[i] == self->var_846)
|
||||
{
|
||||
Gfx::drawRectInset(context, xPos, yPos, 40, rowHeight, self->colours[1], Colour::translucent_flag);
|
||||
Gfx::drawRectInset(context, xPos, yPos, 40, rowHeight, self->getColour(WindowColour::secondary), Colour::translucent_flag);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Gfx::drawRectInset(context, xPos, yPos, 40, rowHeight, self->colours[1], (Colour::translucent_flag | Colour::outline_flag));
|
||||
Gfx::drawRectInset(context, xPos, yPos, 40, rowHeight, self->getColour(WindowColour::secondary), (Colour::translucent_flag | Colour::outline_flag));
|
||||
}
|
||||
|
||||
auto wallObj = ObjectManager::get<WallObject>(self->row_info[i]);
|
||||
|
|
|
@ -56,12 +56,12 @@ namespace OpenLoco::Ui::Windows::TextInput
|
|||
}
|
||||
|
||||
static Widget _widgets[] = {
|
||||
makeWidget({ 0, 0 }, { 330, 90 }, WidgetType::frame, 0),
|
||||
makeWidget({ 1, 1 }, { 328, 13 }, WidgetType::caption_25, 0),
|
||||
makeWidget({ 315, 2 }, { 13, 13 }, WidgetType::wt_9, 0, ImageIds::close_button, StringIds::tooltip_close_window),
|
||||
makeWidget({ 0, 15 }, { 330, 75 }, WidgetType::panel, 1),
|
||||
makeWidget({ 4, 58 }, { 322, 14 }, WidgetType::wt_17, 1),
|
||||
makeTextWidget({ 256, 74 }, { 70, 12 }, WidgetType::wt_11, 1, StringIds::label_button_ok),
|
||||
makeWidget({ 0, 0 }, { 330, 90 }, WidgetType::frame, WindowColour::primary),
|
||||
makeWidget({ 1, 1 }, { 328, 13 }, WidgetType::caption_25, WindowColour::primary),
|
||||
makeWidget({ 315, 2 }, { 13, 13 }, WidgetType::wt_9, WindowColour::primary, ImageIds::close_button, StringIds::tooltip_close_window),
|
||||
makeWidget({ 0, 15 }, { 330, 75 }, WidgetType::panel, WindowColour::secondary),
|
||||
makeWidget({ 4, 58 }, { 322, 14 }, WidgetType::wt_17, WindowColour::secondary),
|
||||
makeTextWidget({ 256, 74 }, { 70, 12 }, WidgetType::wt_11, WindowColour::secondary, StringIds::label_button_ok),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -146,22 +146,22 @@ namespace OpenLoco::Ui::Windows::TextInput
|
|||
|
||||
caller = WindowManager::find(_callingWindowType, _callingWindowNumber);
|
||||
|
||||
window->colours[0] = caller->colours[0];
|
||||
window->colours[1] = caller->colours[1];
|
||||
window->setColour(WindowColour::primary, caller->getColour(WindowColour::primary));
|
||||
window->setColour(WindowColour::secondary, caller->getColour(WindowColour::secondary));
|
||||
window->owner = caller->owner;
|
||||
|
||||
if (caller->type == WindowType::titleMenu)
|
||||
{
|
||||
InterfaceSkinObject* interface = ObjectManager::get<InterfaceSkinObject>();
|
||||
window->colours[0] = interface->colour_0B;
|
||||
window->colours[1] = interface->colour_0C;
|
||||
window->setColour(WindowColour::primary, interface->colour_0B);
|
||||
window->setColour(WindowColour::secondary, interface->colour_0C);
|
||||
window->owner = CompanyId::null;
|
||||
}
|
||||
|
||||
if (caller->type == WindowType::timeToolbar)
|
||||
{
|
||||
InterfaceSkinObject* interface = ObjectManager::get<InterfaceSkinObject>();
|
||||
window->colours[1] = interface->colour_0A;
|
||||
window->setColour(WindowColour::secondary, interface->colour_0A);
|
||||
window->owner = CompanyManager::getControllingId();
|
||||
}
|
||||
|
||||
|
@ -268,7 +268,7 @@ namespace OpenLoco::Ui::Windows::TextInput
|
|||
*((string_id*)(&_commonFormatArgs[0])) = StringIds::buffer_2039;
|
||||
position = { inputSession.xOffset, 1 };
|
||||
Gfx::drawString_494B3F(*clipped, &position, 0, StringIds::black_stringid, _commonFormatArgs);
|
||||
Gfx::fillRect(clipped, position.x, position.y, position.x, position.y + 9, Colour::getShade(window->colours[1], 9));
|
||||
Gfx::fillRect(clipped, position.x, position.y, position.x, position.y + 9, Colour::getShade(window->getColour(WindowColour::secondary), 9));
|
||||
}
|
||||
|
||||
// 0x004CE8B6
|
||||
|
|
|
@ -60,15 +60,15 @@ namespace OpenLoco::Ui::Windows::TileInspector
|
|||
}
|
||||
|
||||
static Widget _widgets[] = {
|
||||
makeWidget({ 0, 0 }, windowSize, WidgetType::frame, 0),
|
||||
makeWidget({ 1, 1 }, { windowSize.width - 2, 13 }, WidgetType::caption_25, 0, StringIds::tile_inspector),
|
||||
makeWidget({ windowSize.width - 15, 2 }, { 13, 13 }, WidgetType::wt_9, 0, ImageIds::close_button, StringIds::tooltip_close_window),
|
||||
makeWidget({ 0, 15 }, { windowSize.width, windowSize.height - 15 }, WidgetType::panel, 1),
|
||||
makeStepperWidgets({ 19, 24 }, { 55, 12 }, WidgetType::wt_17, 1),
|
||||
makeStepperWidgets({ 92, 24 }, { 55, 12 }, WidgetType::wt_17, 1),
|
||||
makeWidget({ windowSize.width - 26, 18 }, { 24, 24 }, WidgetType::wt_9, 1, ImageIds::construction_new_position, StringIds::tile_inspector_select_btn_tooltip),
|
||||
makeWidget({ 4, 46 }, { windowSize.width - 8, 100 }, WidgetType::scrollview, 1, Ui::Scrollbars::vertical),
|
||||
makeWidget({ 4, 148 }, { windowSize.width - 8, 30 }, WidgetType::groupbox, 1, StringIds::tile_element_data),
|
||||
makeWidget({ 0, 0 }, windowSize, WidgetType::frame, WindowColour::primary),
|
||||
makeWidget({ 1, 1 }, { windowSize.width - 2, 13 }, WidgetType::caption_25, WindowColour::primary, StringIds::tile_inspector),
|
||||
makeWidget({ windowSize.width - 15, 2 }, { 13, 13 }, WidgetType::wt_9, WindowColour::primary, ImageIds::close_button, StringIds::tooltip_close_window),
|
||||
makeWidget({ 0, 15 }, { windowSize.width, windowSize.height - 15 }, WidgetType::panel, WindowColour::secondary),
|
||||
makeStepperWidgets({ 19, 24 }, { 55, 12 }, WidgetType::wt_17, WindowColour::secondary),
|
||||
makeStepperWidgets({ 92, 24 }, { 55, 12 }, WidgetType::wt_17, WindowColour::secondary),
|
||||
makeWidget({ windowSize.width - 26, 18 }, { 24, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::construction_new_position, StringIds::tile_inspector_select_btn_tooltip),
|
||||
makeWidget({ 4, 46 }, { windowSize.width - 8, 100 }, WidgetType::scrollview, WindowColour::secondary, Ui::Scrollbars::vertical),
|
||||
makeWidget({ 4, 148 }, { windowSize.width - 8, 30 }, WidgetType::groupbox, WindowColour::secondary, StringIds::tile_element_data),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -104,8 +104,8 @@ namespace OpenLoco::Ui::Windows::TileInspector
|
|||
window->initScrollWidgets();
|
||||
|
||||
auto skin = ObjectManager::get<InterfaceSkinObject>();
|
||||
window->colours[0] = skin->colour_0B;
|
||||
window->colours[1] = skin->colour_0C;
|
||||
window->setColour(WindowColour::primary, skin->colour_0B);
|
||||
window->setColour(WindowColour::secondary, skin->colour_0C);
|
||||
|
||||
activateMapSelectionTool(window);
|
||||
|
||||
|
|
|
@ -44,14 +44,14 @@ namespace OpenLoco::Ui::Windows::TimePanel
|
|||
static void changeGameSpeed(Window* w, uint8_t speed);
|
||||
|
||||
static Widget _widgets[] = {
|
||||
makeWidget({ 0, 0 }, { 140, 29 }, WidgetType::wt_3, 0), // 0,
|
||||
makeWidget({ 2, 2 }, { 136, 25 }, WidgetType::wt_3, 0), // 1,
|
||||
makeWidget({ 113, 1 }, { 26, 26 }, WidgetType::wt_9, 0), // 2,
|
||||
makeWidget({ 2, 2 }, { 111, 12 }, WidgetType::wt_9, 0, ImageIds::null, StringIds::tooltip_daymonthyear_challenge), // 3,
|
||||
makeRemapWidget({ 18, 15 }, { 20, 12 }, WidgetType::wt_9, 0, ImageIds::speed_pause, StringIds::tooltip_speed_pause), // 4,
|
||||
makeRemapWidget({ 38, 15 }, { 20, 12 }, WidgetType::wt_9, 0, ImageIds::speed_normal, StringIds::tooltip_speed_normal), // 5,
|
||||
makeRemapWidget({ 58, 15 }, { 20, 12 }, WidgetType::wt_9, 0, ImageIds::speed_fast_forward, StringIds::tooltip_speed_fast_forward), // 6,
|
||||
makeRemapWidget({ 78, 15 }, { 20, 12 }, WidgetType::wt_9, 0, ImageIds::speed_extra_fast_forward, StringIds::tooltip_speed_extra_fast_forward), // 7,
|
||||
makeWidget({ 0, 0 }, { 140, 29 }, WidgetType::wt_3, WindowColour::primary), // 0,
|
||||
makeWidget({ 2, 2 }, { 136, 25 }, WidgetType::wt_3, WindowColour::primary), // 1,
|
||||
makeWidget({ 113, 1 }, { 26, 26 }, WidgetType::wt_9, WindowColour::primary), // 2,
|
||||
makeWidget({ 2, 2 }, { 111, 12 }, WidgetType::wt_9, WindowColour::primary, ImageIds::null, StringIds::tooltip_daymonthyear_challenge), // 3,
|
||||
makeRemapWidget({ 18, 15 }, { 20, 12 }, WidgetType::wt_9, WindowColour::primary, ImageIds::speed_pause, StringIds::tooltip_speed_pause), // 4,
|
||||
makeRemapWidget({ 38, 15 }, { 20, 12 }, WidgetType::wt_9, WindowColour::primary, ImageIds::speed_normal, StringIds::tooltip_speed_normal), // 5,
|
||||
makeRemapWidget({ 58, 15 }, { 20, 12 }, WidgetType::wt_9, WindowColour::primary, ImageIds::speed_fast_forward, StringIds::tooltip_speed_fast_forward), // 6,
|
||||
makeRemapWidget({ 78, 15 }, { 20, 12 }, WidgetType::wt_9, WindowColour::primary, ImageIds::speed_extra_fast_forward, StringIds::tooltip_speed_extra_fast_forward), // 7,
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -104,8 +104,8 @@ namespace OpenLoco::Ui::Windows::TimePanel
|
|||
auto skin = ObjectManager::get<InterfaceSkinObject>();
|
||||
if (skin != nullptr)
|
||||
{
|
||||
window->colours[0] = Colour::translucent(skin->colour_17);
|
||||
window->colours[1] = Colour::translucent(skin->colour_17);
|
||||
window->setColour(WindowColour::primary, Colour::translucent(skin->colour_17));
|
||||
window->setColour(WindowColour::secondary, Colour::translucent(skin->colour_17));
|
||||
}
|
||||
|
||||
return window;
|
||||
|
@ -180,7 +180,7 @@ namespace OpenLoco::Ui::Windows::TimePanel
|
|||
// Draw widgets.
|
||||
self->draw(context);
|
||||
|
||||
Gfx::drawRectInset(context, self->x + frame.left + 1, self->y + frame.top + 1, frame.width() - 2, frame.height() - 2, self->colours[1], 0x30);
|
||||
Gfx::drawRectInset(context, self->x + frame.left + 1, self->y + frame.top + 1, frame.width() - 2, frame.height() - 2, self->getColour(WindowColour::secondary), 0x30);
|
||||
|
||||
*(uint32_t*)&_common_format_args[0] = getCurrentDay();
|
||||
string_id format = StringIds::date_monthyear;
|
||||
|
@ -193,7 +193,7 @@ namespace OpenLoco::Ui::Windows::TimePanel
|
|||
}
|
||||
}
|
||||
|
||||
Colour_t c = Colour::opaque(self->colours[0]);
|
||||
Colour_t c = Colour::opaque(self->getColour(WindowColour::primary));
|
||||
if (Input::isHovering(WindowType::timeToolbar, 0, Widx::date_btn))
|
||||
{
|
||||
c = Colour::white;
|
||||
|
|
|
@ -24,7 +24,7 @@ namespace OpenLoco::Ui::Windows::TitleExit
|
|||
}
|
||||
|
||||
static Widget _widgets[] = {
|
||||
makeWidget({ 0, 0 }, window_size, WidgetType::wt_9, 1, -1, StringIds::title_menu_exit_from_game),
|
||||
makeWidget({ 0, 0 }, window_size, WidgetType::wt_9, WindowColour::secondary, -1, StringIds::title_menu_exit_from_game),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -52,8 +52,8 @@ namespace OpenLoco::Ui::Windows::TitleExit
|
|||
|
||||
window->initScrollWidgets();
|
||||
|
||||
window->colours[0] = Colour::translucent(Colour::saturated_green);
|
||||
window->colours[1] = Colour::translucent(Colour::saturated_green);
|
||||
window->setColour(WindowColour::primary, Colour::translucent(Colour::saturated_green));
|
||||
window->setColour(WindowColour::secondary, Colour::translucent(Colour::saturated_green));
|
||||
|
||||
return window;
|
||||
}
|
||||
|
|
|
@ -20,7 +20,7 @@ namespace OpenLoco::Ui::Windows::TitleLogo
|
|||
}
|
||||
|
||||
static Widget _widgets[] = {
|
||||
makeWidget({ 0, 0 }, window_size, WidgetType::wt_3, 0),
|
||||
makeWidget({ 0, 0 }, window_size, WidgetType::wt_3, WindowColour::primary),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -46,8 +46,8 @@ namespace OpenLoco::Ui::Windows::TitleLogo
|
|||
|
||||
window->initScrollWidgets();
|
||||
|
||||
window->colours[0] = Colour::translucent(Colour::grey);
|
||||
window->colours[1] = Colour::translucent(Colour::grey);
|
||||
window->setColour(WindowColour::primary, Colour::translucent(Colour::grey));
|
||||
window->setColour(WindowColour::secondary, Colour::translucent(Colour::grey));
|
||||
|
||||
return window;
|
||||
}
|
||||
|
|
|
@ -113,12 +113,12 @@ namespace OpenLoco::Ui::Windows::TitleMenu
|
|||
}
|
||||
|
||||
static Widget _widgets[] = {
|
||||
makeWidget({ 0, 0 }, { btn_main_size, btn_main_size }, WidgetType::wt_9, 1, StringIds::null, StringIds::title_menu_new_game),
|
||||
makeWidget({ btn_main_size, 0 }, { btn_main_size, btn_main_size }, WidgetType::wt_9, 1, StringIds::null, StringIds::title_menu_load_game),
|
||||
makeWidget({ btn_main_size * 2, 0 }, { btn_main_size, btn_main_size }, WidgetType::wt_9, 1, StringIds::null, StringIds::title_menu_show_tutorial),
|
||||
makeWidget({ btn_main_size * 3, 0 }, { btn_main_size, btn_main_size }, WidgetType::wt_9, 1, StringIds::null, StringIds::title_menu_scenario_editor),
|
||||
makeWidget({ btn_main_size * 4 - 31, btn_main_size - 27 }, { 31, 27 }, WidgetType::wt_9, 1, StringIds::null, StringIds::title_menu_chat_tooltip),
|
||||
makeWidget({ 0, btn_main_size }, { ww, btn_sub_height }, WidgetType::none, 1, StringIds::null, StringIds::title_multiplayer_toggle_tooltip),
|
||||
makeWidget({ 0, 0 }, { btn_main_size, btn_main_size }, WidgetType::wt_9, WindowColour::secondary, StringIds::null, StringIds::title_menu_new_game),
|
||||
makeWidget({ btn_main_size, 0 }, { btn_main_size, btn_main_size }, WidgetType::wt_9, WindowColour::secondary, StringIds::null, StringIds::title_menu_load_game),
|
||||
makeWidget({ btn_main_size * 2, 0 }, { btn_main_size, btn_main_size }, WidgetType::wt_9, WindowColour::secondary, StringIds::null, StringIds::title_menu_show_tutorial),
|
||||
makeWidget({ btn_main_size * 3, 0 }, { btn_main_size, btn_main_size }, WidgetType::wt_9, WindowColour::secondary, StringIds::null, StringIds::title_menu_scenario_editor),
|
||||
makeWidget({ btn_main_size * 4 - 31, btn_main_size - 27 }, { 31, 27 }, WidgetType::wt_9, WindowColour::secondary, StringIds::null, StringIds::title_menu_chat_tooltip),
|
||||
makeWidget({ 0, btn_main_size }, { ww, btn_sub_height }, WidgetType::none, WindowColour::secondary, StringIds::null, StringIds::title_multiplayer_toggle_tooltip),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -168,8 +168,8 @@ namespace OpenLoco::Ui::Windows::TitleMenu
|
|||
|
||||
window->initScrollWidgets();
|
||||
|
||||
window->colours[0] = Colour::translucent(Colour::saturated_green);
|
||||
window->colours[1] = Colour::translucent(Colour::saturated_green);
|
||||
window->setColour(WindowColour::primary, Colour::translucent(Colour::saturated_green));
|
||||
window->setColour(WindowColour::secondary, Colour::translucent(Colour::saturated_green));
|
||||
window->var_846 = 0;
|
||||
|
||||
return window;
|
||||
|
@ -411,7 +411,7 @@ namespace OpenLoco::Ui::Windows::TitleMenu
|
|||
window->y + widget->top,
|
||||
widget->width(),
|
||||
widget->height(),
|
||||
Colour::translucent(window->colours[0]),
|
||||
Colour::translucent(window->getColour(WindowColour::primary)),
|
||||
3,
|
||||
0x80);
|
||||
}
|
||||
|
|
|
@ -24,7 +24,7 @@ namespace OpenLoco::Ui::Windows::TitleOptions
|
|||
}
|
||||
|
||||
static Widget _widgets[] = {
|
||||
makeWidget({ 0, 0 }, window_size, WidgetType::wt_9, 1, -1),
|
||||
makeWidget({ 0, 0 }, window_size, WidgetType::wt_9, WindowColour::secondary, -1),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -50,8 +50,8 @@ namespace OpenLoco::Ui::Windows::TitleOptions
|
|||
|
||||
window->initScrollWidgets();
|
||||
|
||||
window->colours[0] = Colour::translucent(Colour::saturated_green);
|
||||
window->colours[1] = Colour::translucent(Colour::saturated_green);
|
||||
window->setColour(WindowColour::primary, Colour::translucent(Colour::saturated_green));
|
||||
window->setColour(WindowColour::secondary, Colour::translucent(Colour::saturated_green));
|
||||
|
||||
return window;
|
||||
}
|
||||
|
|
|
@ -11,7 +11,7 @@ using namespace OpenLoco::Interop;
|
|||
namespace OpenLoco::Ui::Windows::TitleVersion
|
||||
{
|
||||
static Widget widgets[] = {
|
||||
{ WidgetType::end, 0, 0, 0, 0, 0, { 0 }, 0 }
|
||||
widgetEnd()
|
||||
};
|
||||
|
||||
static Ui::WindowEventList _events;
|
||||
|
|
|
@ -40,7 +40,7 @@ namespace OpenLoco::Ui::Windows::ToolTip
|
|||
|
||||
// 0x005234CC
|
||||
Widget _widgets[] = {
|
||||
makeWidget({ 0, 0 }, { 200, 32 }, WidgetType::wt_3, 0),
|
||||
makeWidget({ 0, 0 }, { 200, 32 }, WidgetType::wt_3, WindowColour::primary),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
|
|
@ -20,10 +20,10 @@ namespace OpenLoco::Ui::Windows::ToolbarBottom::Editor
|
|||
static WindowEventList _events;
|
||||
|
||||
static Widget _widgets[] = {
|
||||
makeWidget({ 0, 0 }, { 200, 34 }, WidgetType::wt_3, 0),
|
||||
makeWidget({ 2, 2 }, { 196, 30 }, WidgetType::wt_9, 0),
|
||||
makeWidget({ 440, 0 }, { 200, 34 }, WidgetType::wt_3, 0),
|
||||
makeWidget({ 442, 2 }, { 196, 30 }, WidgetType::wt_9, 0),
|
||||
makeWidget({ 0, 0 }, { 200, 34 }, WidgetType::wt_3, WindowColour::primary),
|
||||
makeWidget({ 2, 2 }, { 196, 30 }, WidgetType::wt_9, WindowColour::primary),
|
||||
makeWidget({ 440, 0 }, { 200, 34 }, WidgetType::wt_3, WindowColour::primary),
|
||||
makeWidget({ 442, 2 }, { 196, 30 }, WidgetType::wt_9, WindowColour::primary),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -76,18 +76,18 @@ namespace OpenLoco::Ui::Windows::ToolbarBottom::Editor
|
|||
|
||||
if (EditorController::canGoBack())
|
||||
{
|
||||
Gfx::drawRectInset(ctx, previous.left + self->x + 1, previous.top + self->y + 1, previous.width() - 2, previous.height() - 2, self->colours[1], 0x30);
|
||||
Gfx::drawRectInset(ctx, previous.left + self->x + 1, previous.top + self->y + 1, previous.width() - 2, previous.height() - 2, self->getColour(WindowColour::secondary), 0x30);
|
||||
}
|
||||
Gfx::drawRectInset(ctx, next.left + self->x + 1, next.top + self->y + 1, next.width() - 2, next.height() - 2, self->colours[1], 0x30);
|
||||
Gfx::drawRectInset(ctx, next.left + self->x + 1, next.top + self->y + 1, next.width() - 2, next.height() - 2, self->getColour(WindowColour::secondary), 0x30);
|
||||
|
||||
Gfx::drawStringCentred(*ctx, (previous.right + next.left) / 2 + self->x, self->y + self->height - 12, Colour::opaque(self->colours[2]) | Colour::outline_flag, _stepNames[EditorController::getCurrentStep()]);
|
||||
Gfx::drawStringCentred(*ctx, (previous.right + next.left) / 2 + self->x, self->y + self->height - 12, Colour::opaque(self->getColour(WindowColour::tertiary)) | Colour::outline_flag, _stepNames[EditorController::getCurrentStep()]);
|
||||
|
||||
if (EditorController::canGoBack())
|
||||
{
|
||||
Gfx::drawImage(ctx, self->x + previous.left + 6, self->y + previous.top + 6, ImageIds::step_back);
|
||||
int x = (previous.left + 30 + previous.right) / 2;
|
||||
int y = previous.top + 6;
|
||||
Colour_t textColour = Colour::opaque(self->colours[1]);
|
||||
Colour_t textColour = Colour::opaque(self->getColour(WindowColour::secondary));
|
||||
if (Input::isHovering(self->type, self->number, widx::previous_button))
|
||||
{
|
||||
textColour = Colour::white;
|
||||
|
@ -98,7 +98,7 @@ namespace OpenLoco::Ui::Windows::ToolbarBottom::Editor
|
|||
Gfx::drawImage(ctx, self->x + next.right - 29, self->y + next.top + 4, ImageIds::step_forward);
|
||||
int x = next.left + (next.width() - 31) / 2;
|
||||
int y = next.top + 6;
|
||||
Colour_t textColour = Colour::opaque(self->colours[1]);
|
||||
Colour_t textColour = Colour::opaque(self->getColour(WindowColour::secondary));
|
||||
if (Input::isHovering(self->type, self->number, widx::next_button))
|
||||
{
|
||||
textColour = Colour::white;
|
||||
|
@ -139,9 +139,9 @@ namespace OpenLoco::Ui::Windows::ToolbarBottom::Editor
|
|||
window->enabled_widgets = 1 << widx::previous_button | 1 << widx::previous_frame | 1 << widx::next_frame | 1 << widx::next_button;
|
||||
window->var_854 = 0;
|
||||
window->initScrollWidgets();
|
||||
window->colours[0] = Colour::translucent(Colour::saturated_green);
|
||||
window->colours[1] = Colour::translucent(Colour::saturated_green);
|
||||
window->colours[2] = Colour::translucent(Colour::saturated_green);
|
||||
window->setColour(WindowColour::primary, Colour::translucent(Colour::saturated_green));
|
||||
window->setColour(WindowColour::secondary, Colour::translucent(Colour::saturated_green));
|
||||
window->setColour(WindowColour::tertiary, Colour::translucent(Colour::saturated_green));
|
||||
}
|
||||
|
||||
static void initEvents()
|
||||
|
|
|
@ -53,23 +53,23 @@ namespace OpenLoco::Ui::Windows::ToolbarTop::Game
|
|||
}
|
||||
|
||||
static Widget _widgets[] = {
|
||||
makeWidget({ 0, 0 }, { 30, 28 }, WidgetType::wt_7, 0),
|
||||
makeWidget({ 30, 0 }, { 30, 28 }, WidgetType::wt_7, 0),
|
||||
makeWidget({ 60, 0 }, { 30, 28 }, WidgetType::wt_7, 0),
|
||||
makeWidget({ 0, 0 }, { 30, 28 }, WidgetType::wt_7, WindowColour::primary),
|
||||
makeWidget({ 30, 0 }, { 30, 28 }, WidgetType::wt_7, WindowColour::primary),
|
||||
makeWidget({ 60, 0 }, { 30, 28 }, WidgetType::wt_7, WindowColour::primary),
|
||||
|
||||
makeWidget({ 104, 0 }, { 30, 28 }, WidgetType::wt_7, 1),
|
||||
makeWidget({ 134, 0 }, { 30, 28 }, WidgetType::wt_7, 1),
|
||||
makeWidget({ 164, 0 }, { 30, 28 }, WidgetType::wt_7, 1),
|
||||
makeWidget({ 104, 0 }, { 30, 28 }, WidgetType::wt_7, WindowColour::secondary),
|
||||
makeWidget({ 134, 0 }, { 30, 28 }, WidgetType::wt_7, WindowColour::secondary),
|
||||
makeWidget({ 164, 0 }, { 30, 28 }, WidgetType::wt_7, WindowColour::secondary),
|
||||
|
||||
makeWidget({ 267, 0 }, { 30, 28 }, WidgetType::wt_7, 2),
|
||||
makeWidget({ 387, 0 }, { 30, 28 }, WidgetType::wt_7, 2),
|
||||
makeWidget({ 357, 0 }, { 30, 28 }, WidgetType::wt_7, 2),
|
||||
makeWidget({ 417, 0 }, { 30, 28 }, WidgetType::wt_7, 2),
|
||||
makeWidget({ 417, 0 }, { 30, 28 }, WidgetType::wt_7, 2),
|
||||
makeWidget({ 267, 0 }, { 30, 28 }, WidgetType::wt_7, WindowColour::tertiary),
|
||||
makeWidget({ 387, 0 }, { 30, 28 }, WidgetType::wt_7, WindowColour::tertiary),
|
||||
makeWidget({ 357, 0 }, { 30, 28 }, WidgetType::wt_7, WindowColour::tertiary),
|
||||
makeWidget({ 417, 0 }, { 30, 28 }, WidgetType::wt_7, WindowColour::tertiary),
|
||||
makeWidget({ 417, 0 }, { 30, 28 }, WidgetType::wt_7, WindowColour::tertiary),
|
||||
|
||||
makeWidget({ 490, 0 }, { 30, 28 }, WidgetType::wt_7, 3),
|
||||
makeWidget({ 520, 0 }, { 30, 28 }, WidgetType::wt_7, 3),
|
||||
makeWidget({ 460, 0 }, { 30, 28 }, WidgetType::wt_7, 3),
|
||||
makeWidget({ 490, 0 }, { 30, 28 }, WidgetType::wt_7, WindowColour::quaternary),
|
||||
makeWidget({ 520, 0 }, { 30, 28 }, WidgetType::wt_7, WindowColour::quaternary),
|
||||
makeWidget({ 460, 0 }, { 30, 28 }, WidgetType::wt_7, WindowColour::quaternary),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -108,10 +108,10 @@ namespace OpenLoco::Ui::Windows::ToolbarTop::Game
|
|||
auto skin = ObjectManager::get<InterfaceSkinObject>();
|
||||
if (skin != nullptr)
|
||||
{
|
||||
window->colours[0] = skin->colour_12;
|
||||
window->colours[1] = skin->colour_13;
|
||||
window->colours[2] = skin->colour_14;
|
||||
window->colours[3] = skin->colour_15;
|
||||
window->setColour(WindowColour::primary, skin->colour_12);
|
||||
window->setColour(WindowColour::secondary, skin->colour_13);
|
||||
window->setColour(WindowColour::tertiary, skin->colour_14);
|
||||
window->setColour(WindowColour::quaternary, skin->colour_15);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -713,7 +713,7 @@ namespace OpenLoco::Ui::Windows::ToolbarTop::Game
|
|||
}
|
||||
|
||||
auto interface = ObjectManager::get<InterfaceSkinObject>();
|
||||
uint32_t bg_image = Gfx::recolour(interface->img + InterfaceSkin::ImageIds::toolbar_empty_transparent, window->colours[2]);
|
||||
uint32_t bg_image = Gfx::recolour(interface->img + InterfaceSkin::ImageIds::toolbar_empty_transparent, window->getColour(WindowColour::tertiary));
|
||||
|
||||
y--;
|
||||
if (Input::isDropdownActive(Ui::WindowType::topToolbar, Common::Widx::railroad_menu))
|
||||
|
@ -743,7 +743,7 @@ namespace OpenLoco::Ui::Windows::ToolbarTop::Game
|
|||
|
||||
auto interface = ObjectManager::get<InterfaceSkinObject>();
|
||||
uint32_t fg_image = Gfx::recolour(interface->img + button_face_image_ids[static_cast<uint8_t>(*last_vehicles_option)], company_colour);
|
||||
uint32_t bg_image = Gfx::recolour(interface->img + InterfaceSkin::ImageIds::toolbar_empty_transparent, window->colours[3]);
|
||||
uint32_t bg_image = Gfx::recolour(interface->img + InterfaceSkin::ImageIds::toolbar_empty_transparent, window->getColour(WindowColour::quaternary));
|
||||
|
||||
y--;
|
||||
if (Input::isDropdownActive(Ui::WindowType::topToolbar, Common::Widx::vehicles_menu))
|
||||
|
@ -790,12 +790,12 @@ namespace OpenLoco::Ui::Windows::ToolbarTop::Game
|
|||
if (!Audio::isAudioEnabled())
|
||||
{
|
||||
window->activated_widgets |= (1 << Common::Widx::audio_menu);
|
||||
window->widgets[Common::Widx::audio_menu].image = Gfx::recolour(interface->img + InterfaceSkin::ImageIds::toolbar_audio_inactive, window->colours[0]);
|
||||
window->widgets[Common::Widx::audio_menu].image = Gfx::recolour(interface->img + InterfaceSkin::ImageIds::toolbar_audio_inactive, window->getColour(WindowColour::primary));
|
||||
}
|
||||
else
|
||||
{
|
||||
window->activated_widgets &= ~(1 << Common::Widx::audio_menu);
|
||||
window->widgets[Common::Widx::audio_menu].image = Gfx::recolour(interface->img + InterfaceSkin::ImageIds::toolbar_audio_active, window->colours[0]);
|
||||
window->widgets[Common::Widx::audio_menu].image = Gfx::recolour(interface->img + InterfaceSkin::ImageIds::toolbar_audio_active, window->getColour(WindowColour::primary));
|
||||
}
|
||||
|
||||
if (Config::getNew().cheats_menu_enabled)
|
||||
|
|
|
@ -41,23 +41,23 @@ namespace OpenLoco::Ui::Windows::ToolbarTop::Editor
|
|||
}
|
||||
|
||||
static Widget _widgets[] = {
|
||||
makeWidget({ 0, 0 }, { 30, 28 }, WidgetType::wt_7, 0), // 0
|
||||
makeWidget({ 30, 0 }, { 30, 28 }, WidgetType::wt_7, 0), // 1
|
||||
makeWidget({ 60, 0 }, { 30, 28 }, WidgetType::wt_7, 0), // 2
|
||||
makeWidget({ 0, 0 }, { 30, 28 }, WidgetType::wt_7, WindowColour::primary), // 0
|
||||
makeWidget({ 30, 0 }, { 30, 28 }, WidgetType::wt_7, WindowColour::primary), // 1
|
||||
makeWidget({ 60, 0 }, { 30, 28 }, WidgetType::wt_7, WindowColour::primary), // 2
|
||||
|
||||
makeWidget({ 104, 0 }, { 30, 28 }, WidgetType::wt_7, 1), // 3
|
||||
makeWidget({ 134, 0 }, { 30, 28 }, WidgetType::wt_7, 1), // 4
|
||||
makeWidget({ 164, 0 }, { 30, 28 }, WidgetType::wt_7, 1), // 5
|
||||
makeWidget({ 104, 0 }, { 30, 28 }, WidgetType::wt_7, WindowColour::secondary), // 3
|
||||
makeWidget({ 134, 0 }, { 30, 28 }, WidgetType::wt_7, WindowColour::secondary), // 4
|
||||
makeWidget({ 164, 0 }, { 30, 28 }, WidgetType::wt_7, WindowColour::secondary), // 5
|
||||
|
||||
makeWidget({ 267, 0 }, { 30, 28 }, WidgetType::wt_7, 2), // 6
|
||||
makeWidget({ 0, 0 }, { 1, 1 }, WidgetType::none, 0), // 7
|
||||
makeWidget({ 357, 0 }, { 30, 28 }, WidgetType::wt_7, 2), // 8
|
||||
makeWidget({ 0, 0 }, { 1, 1 }, WidgetType::none, 0), // 9
|
||||
makeWidget({ 0, 0 }, { 1, 1 }, WidgetType::none, 0), // 10
|
||||
makeWidget({ 267, 0 }, { 30, 28 }, WidgetType::wt_7, WindowColour::tertiary), // 6
|
||||
makeWidget({ 0, 0 }, { 1, 1 }, WidgetType::none, WindowColour::primary), // 7
|
||||
makeWidget({ 357, 0 }, { 30, 28 }, WidgetType::wt_7, WindowColour::tertiary), // 8
|
||||
makeWidget({ 0, 0 }, { 1, 1 }, WidgetType::none, WindowColour::primary), // 9
|
||||
makeWidget({ 0, 0 }, { 1, 1 }, WidgetType::none, WindowColour::primary), // 10
|
||||
|
||||
makeWidget({ 0, 0 }, { 1, 1 }, WidgetType::none, 0), // 11
|
||||
makeWidget({ 0, 0 }, { 1, 1 }, WidgetType::none, 0), // 12
|
||||
makeWidget({ 460, 0 }, { 30, 28 }, WidgetType::wt_7, 3), // 13
|
||||
makeWidget({ 0, 0 }, { 1, 1 }, WidgetType::none, WindowColour::primary), // 11
|
||||
makeWidget({ 0, 0 }, { 1, 1 }, WidgetType::none, WindowColour::primary), // 12
|
||||
makeWidget({ 460, 0 }, { 30, 28 }, WidgetType::wt_7, WindowColour::quaternary), // 13
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -92,18 +92,18 @@ namespace OpenLoco::Ui::Windows::ToolbarTop::Editor
|
|||
window->widgets = _widgets;
|
||||
window->enabled_widgets = (1 << Common::Widx::loadsave_menu) | (1 << Common::Widx::audio_menu) | (1 << Common::Widx::zoom_menu) | (1 << Common::Widx::rotate_menu) | (1 << Common::Widx::view_menu) | (1 << Common::Widx::terraform_menu) | (1 << Widx::map_generation_menu) | (1 << Common::Widx::road_menu) | (1 << Common::Widx::towns_menu);
|
||||
window->initScrollWidgets();
|
||||
window->colours[0] = Colour::grey;
|
||||
window->colours[1] = Colour::grey;
|
||||
window->colours[2] = Colour::grey;
|
||||
window->colours[3] = Colour::grey;
|
||||
window->setColour(WindowColour::primary, Colour::grey);
|
||||
window->setColour(WindowColour::secondary, Colour::grey);
|
||||
window->setColour(WindowColour::tertiary, Colour::grey);
|
||||
window->setColour(WindowColour::quaternary, Colour::grey);
|
||||
|
||||
auto skin = ObjectManager::get<InterfaceSkinObject>();
|
||||
if (skin != nullptr)
|
||||
{
|
||||
window->colours[0] = skin->colour_12;
|
||||
window->colours[1] = skin->colour_13;
|
||||
window->colours[2] = skin->colour_14;
|
||||
window->colours[3] = skin->colour_15;
|
||||
window->setColour(WindowColour::primary, skin->colour_12);
|
||||
window->setColour(WindowColour::secondary, skin->colour_13);
|
||||
window->setColour(WindowColour::tertiary, skin->colour_14);
|
||||
window->setColour(WindowColour::quaternary, skin->colour_15);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -303,12 +303,12 @@ namespace OpenLoco::Ui::Windows::ToolbarTop::Editor
|
|||
if (!Audio::isAudioEnabled())
|
||||
{
|
||||
window->activated_widgets |= (1 << Common::Widx::audio_menu);
|
||||
window->widgets[Common::Widx::audio_menu].image = Gfx::recolour(interface->img + InterfaceSkin::ImageIds::toolbar_audio_inactive, window->colours[0]);
|
||||
window->widgets[Common::Widx::audio_menu].image = Gfx::recolour(interface->img + InterfaceSkin::ImageIds::toolbar_audio_inactive, window->getColour(WindowColour::primary));
|
||||
}
|
||||
else
|
||||
{
|
||||
window->activated_widgets &= ~(1 << Common::Widx::audio_menu);
|
||||
window->widgets[Common::Widx::audio_menu].image = Gfx::recolour(interface->img + InterfaceSkin::ImageIds::toolbar_audio_active, window->colours[0]);
|
||||
window->widgets[Common::Widx::audio_menu].image = Gfx::recolour(interface->img + InterfaceSkin::ImageIds::toolbar_audio_active, window->getColour(WindowColour::primary));
|
||||
}
|
||||
|
||||
window->widgets[Common::Widx::loadsave_menu].image = Gfx::recolour(interface->img + InterfaceSkin::ImageIds::toolbar_loadsave, 0);
|
||||
|
|
|
@ -64,7 +64,7 @@ namespace OpenLoco::Ui::Windows::ToolbarTop::Common
|
|||
|
||||
y--;
|
||||
auto interface = ObjectManager::get<InterfaceSkinObject>();
|
||||
uint32_t bgImage = Gfx::recolour(interface->img + InterfaceSkin::ImageIds::toolbar_empty_transparent, self->colours[2]);
|
||||
uint32_t bgImage = Gfx::recolour(interface->img + InterfaceSkin::ImageIds::toolbar_empty_transparent, self->getColour(WindowColour::tertiary));
|
||||
|
||||
if (Input::isDropdownActive(Ui::WindowType::topToolbar, Widx::road_menu))
|
||||
{
|
||||
|
|
|
@ -47,15 +47,15 @@ namespace OpenLoco::Ui::Windows::TownList
|
|||
|
||||
const uint64_t enabledWidgets = (1 << widx::close_button) | (1 << widx::tab_town_list) | (1 << widx::tab_build_town) | (1 << widx::tab_build_buildings) | (1 << widx::tab_build_misc_buildings);
|
||||
|
||||
#define commonWidgets(frameWidth, frameHeight, windowCaptionId) \
|
||||
makeWidget({ 0, 0 }, { frameWidth, frameHeight }, WidgetType::frame, 0), \
|
||||
makeWidget({ 1, 1 }, { frameWidth - 2, 13 }, WidgetType::caption_25, 0, windowCaptionId), \
|
||||
makeWidget({ frameWidth - 15, 2 }, { 13, 13 }, WidgetType::wt_9, 0, ImageIds::close_button, StringIds::tooltip_close_window), \
|
||||
makeWidget({ 0, 41 }, { frameWidth, 155 }, WidgetType::panel, 1), \
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_town_list), \
|
||||
makeRemapWidget({ 34, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_build_town), \
|
||||
makeRemapWidget({ 65, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_build_buildings), \
|
||||
makeRemapWidget({ 96, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_build_misc_buildings)
|
||||
#define commonWidgets(frameWidth, frameHeight, windowCaptionId) \
|
||||
makeWidget({ 0, 0 }, { frameWidth, frameHeight }, WidgetType::frame, WindowColour::primary), \
|
||||
makeWidget({ 1, 1 }, { frameWidth - 2, 13 }, WidgetType::caption_25, WindowColour::primary, windowCaptionId), \
|
||||
makeWidget({ frameWidth - 15, 2 }, { 13, 13 }, WidgetType::wt_9, WindowColour::primary, ImageIds::close_button, StringIds::tooltip_close_window), \
|
||||
makeWidget({ 0, 41 }, { frameWidth, 155 }, WidgetType::panel, WindowColour::secondary), \
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_town_list), \
|
||||
makeRemapWidget({ 34, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_build_town), \
|
||||
makeRemapWidget({ 65, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_build_buildings), \
|
||||
makeRemapWidget({ 96, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_build_misc_buildings)
|
||||
|
||||
static void prepareDraw(Window* self);
|
||||
static void repositionTabs(Window* self);
|
||||
|
@ -87,11 +87,11 @@ namespace OpenLoco::Ui::Windows::TownList
|
|||
|
||||
Widget widgets[] = {
|
||||
commonWidgets(600, 197, StringIds::title_towns),
|
||||
makeWidget({ 4, 43 }, { 200, 12 }, WidgetType::wt_14, 1, ImageIds::null, StringIds::tooltip_sort_by_name),
|
||||
makeWidget({ 204, 43 }, { 80, 12 }, WidgetType::wt_14, 1, ImageIds::null, StringIds::tooltip_sort_town_type),
|
||||
makeWidget({ 284, 43 }, { 70, 12 }, WidgetType::wt_14, 1, ImageIds::null, StringIds::tooltip_sort_population),
|
||||
makeWidget({ 354, 43 }, { 70, 12 }, WidgetType::wt_14, 1, ImageIds::null, StringIds::tooltip_sort_stations),
|
||||
makeWidget({ 3, 56 }, { 594, 126 }, WidgetType::scrollview, 1, 2),
|
||||
makeWidget({ 4, 43 }, { 200, 12 }, WidgetType::wt_14, WindowColour::secondary, ImageIds::null, StringIds::tooltip_sort_by_name),
|
||||
makeWidget({ 204, 43 }, { 80, 12 }, WidgetType::wt_14, WindowColour::secondary, ImageIds::null, StringIds::tooltip_sort_town_type),
|
||||
makeWidget({ 284, 43 }, { 70, 12 }, WidgetType::wt_14, WindowColour::secondary, ImageIds::null, StringIds::tooltip_sort_population),
|
||||
makeWidget({ 354, 43 }, { 70, 12 }, WidgetType::wt_14, WindowColour::secondary, ImageIds::null, StringIds::tooltip_sort_stations),
|
||||
makeWidget({ 3, 56 }, { 594, 126 }, WidgetType::scrollview, WindowColour::secondary, 2),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -137,7 +137,7 @@ namespace OpenLoco::Ui::Windows::TownList
|
|||
// 0x0049A0F8
|
||||
static void drawScroll(Ui::Window* self, Gfx::Context* context, uint32_t scrollIndex)
|
||||
{
|
||||
auto shade = Colour::getShade(self->colours[1], 3);
|
||||
auto shade = Colour::getShade(self->getColour(WindowColour::secondary), 3);
|
||||
Gfx::clearSingle(*context, shade);
|
||||
|
||||
uint16_t yPos = 0;
|
||||
|
@ -549,8 +549,8 @@ namespace OpenLoco::Ui::Windows::TownList
|
|||
window->flags |= WindowFlags::resizable;
|
||||
|
||||
auto skin = ObjectManager::get<InterfaceSkinObject>();
|
||||
window->colours[0] = skin->colour_0B;
|
||||
window->colours[1] = skin->colour_0C;
|
||||
window->setColour(WindowColour::primary, skin->colour_0B);
|
||||
window->setColour(WindowColour::secondary, skin->colour_0C);
|
||||
|
||||
// 0x00499CFC end
|
||||
|
||||
|
@ -594,8 +594,8 @@ namespace OpenLoco::Ui::Windows::TownList
|
|||
|
||||
Widget widgets[] = {
|
||||
commonWidgets(220, 87, StringIds::title_build_new_towns),
|
||||
makeWidget({ 100, 45 }, { 117, 12 }, WidgetType::wt_18, 1, ImageIds::null, StringIds::tooltip_select_town_size),
|
||||
makeWidget({ 205, 46 }, { 11, 10 }, WidgetType::wt_11, 1, StringIds::dropdown),
|
||||
makeWidget({ 100, 45 }, { 117, 12 }, WidgetType::wt_18, WindowColour::secondary, ImageIds::null, StringIds::tooltip_select_town_size),
|
||||
makeWidget({ 205, 46 }, { 11, 10 }, WidgetType::wt_11, WindowColour::secondary, StringIds::dropdown),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -782,9 +782,9 @@ namespace OpenLoco::Ui::Windows::TownList
|
|||
|
||||
Widget widgets[] = {
|
||||
commonWidgets(640, 172, StringIds::title_build_new_buildings),
|
||||
makeWidget({ 2, 45 }, { 573, 112 }, WidgetType::scrollview, 1, 2),
|
||||
makeWidget({ 575, 46 }, { 24, 24 }, WidgetType::wt_9, 1, ImageIds::rotate_object, StringIds::rotate_object_90),
|
||||
makeWidget({ 579, 91 }, { 16, 16 }, WidgetType::wt_10, 1, ImageIds::null, StringIds::tooltip_object_colour),
|
||||
makeWidget({ 2, 45 }, { 573, 112 }, WidgetType::scrollview, WindowColour::secondary, 2),
|
||||
makeWidget({ 575, 46 }, { 24, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::rotate_object, StringIds::rotate_object_90),
|
||||
makeWidget({ 579, 91 }, { 16, 16 }, WidgetType::wt_10, WindowColour::secondary, ImageIds::null, StringIds::tooltip_object_colour),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -1053,7 +1053,7 @@ namespace OpenLoco::Ui::Windows::TownList
|
|||
// 0x0049AA1C
|
||||
static void drawScroll(Ui::Window* self, Gfx::Context* context, uint32_t scrollIndex)
|
||||
{
|
||||
auto shade = Colour::getShade(self->colours[1], 3);
|
||||
auto shade = Colour::getShade(self->getColour(WindowColour::secondary), 3);
|
||||
Gfx::clearSingle(*context, shade);
|
||||
|
||||
uint16_t xPos = 0;
|
||||
|
@ -1064,12 +1064,12 @@ namespace OpenLoco::Ui::Windows::TownList
|
|||
{
|
||||
if (self->row_info[i] == self->var_846)
|
||||
{
|
||||
Gfx::drawRectInset(context, xPos, yPos, 112, 112, self->colours[1], Colour::translucent_flag);
|
||||
Gfx::drawRectInset(context, xPos, yPos, 112, 112, self->getColour(WindowColour::secondary), Colour::translucent_flag);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Gfx::drawRectInset(context, xPos, yPos, 112, 112, self->colours[1], (Colour::translucent_flag | Colour::outline_flag));
|
||||
Gfx::drawRectInset(context, xPos, yPos, 112, 112, self->getColour(WindowColour::secondary), (Colour::translucent_flag | Colour::outline_flag));
|
||||
}
|
||||
|
||||
auto buildingObj = ObjectManager::get<BuildingObject>(self->row_info[i]);
|
||||
|
|
|
@ -45,14 +45,14 @@ namespace OpenLoco::Ui::Windows::Town
|
|||
|
||||
const uint64_t enabledWidgets = (1 << widx::caption) | (1 << widx::close_button) | (1 << widx::tab_town) | (1 << widx::tab_population) | (1 << widx::tab_company_ratings);
|
||||
|
||||
#define commonWidgets(frameWidth, frameHeight, windowCaptionId) \
|
||||
makeWidget({ 0, 0 }, { frameWidth, frameHeight }, WidgetType::frame, 0), \
|
||||
makeWidget({ 1, 1 }, { frameWidth - 2, 13 }, WidgetType::caption_25, 0, windowCaptionId), \
|
||||
makeWidget({ frameWidth - 15, 2 }, { 13, 13 }, WidgetType::wt_9, 0, ImageIds::close_button, StringIds::tooltip_close_window), \
|
||||
makeWidget({ 0, 41 }, { frameWidth, 120 }, WidgetType::panel, 1), \
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_town), \
|
||||
makeRemapWidget({ 34, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_population_graph), \
|
||||
makeRemapWidget({ 65, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_town_ratings_each_company)
|
||||
#define commonWidgets(frameWidth, frameHeight, windowCaptionId) \
|
||||
makeWidget({ 0, 0 }, { frameWidth, frameHeight }, WidgetType::frame, WindowColour::primary), \
|
||||
makeWidget({ 1, 1 }, { frameWidth - 2, 13 }, WidgetType::caption_25, WindowColour::primary, windowCaptionId), \
|
||||
makeWidget({ frameWidth - 15, 2 }, { 13, 13 }, WidgetType::wt_9, WindowColour::primary, ImageIds::close_button, StringIds::tooltip_close_window), \
|
||||
makeWidget({ 0, 41 }, { frameWidth, 120 }, WidgetType::panel, WindowColour::secondary), \
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_town), \
|
||||
makeRemapWidget({ 34, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_population_graph), \
|
||||
makeRemapWidget({ 65, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_town_ratings_each_company)
|
||||
|
||||
// Defined at the bottom of this file.
|
||||
static void prepareDraw(Window* self);
|
||||
|
@ -78,11 +78,11 @@ namespace OpenLoco::Ui::Windows::Town
|
|||
|
||||
static Widget widgets[] = {
|
||||
commonWidgets(223, 161, StringIds::title_town),
|
||||
makeWidget({ 3, 44 }, { 195, 104 }, WidgetType::viewport, 1, 0xFFFFFFFE),
|
||||
makeWidget({ 3, 139 }, { 195, 21 }, WidgetType::wt_13, 1),
|
||||
makeWidget({ 0, 0 }, { 24, 24 }, WidgetType::wt_9, 1, ImageIds::null, StringIds::move_main_view_to_show_this),
|
||||
makeWidget({ 198, 44 }, { 24, 24 }, WidgetType::wt_9, 1, ImageIds::town_expand, StringIds::expand_this_town),
|
||||
makeWidget({ 198, 68 }, { 24, 24 }, WidgetType::wt_9, 1, ImageIds::rubbish_bin, StringIds::demolish_this_town),
|
||||
makeWidget({ 3, 44 }, { 195, 104 }, WidgetType::viewport, WindowColour::secondary, 0xFFFFFFFE),
|
||||
makeWidget({ 3, 139 }, { 195, 21 }, WidgetType::wt_13, WindowColour::secondary),
|
||||
makeWidget({ 0, 0 }, { 24, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::null, StringIds::move_main_view_to_show_this),
|
||||
makeWidget({ 198, 44 }, { 24, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::town_expand, StringIds::expand_this_town),
|
||||
makeWidget({ 198, 68 }, { 24, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::rubbish_bin, StringIds::demolish_this_town),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -353,8 +353,8 @@ namespace OpenLoco::Ui::Windows::Town
|
|||
auto skin = ObjectManager::get<InterfaceSkinObject>();
|
||||
if (skin != nullptr)
|
||||
{
|
||||
window->colours[0] = skin->colour_0B;
|
||||
window->colours[1] = skin->colour_0C;
|
||||
window->setColour(WindowColour::primary, skin->colour_0B);
|
||||
window->setColour(WindowColour::secondary, skin->colour_0C);
|
||||
}
|
||||
// 0x00499C0D end
|
||||
|
||||
|
@ -414,7 +414,7 @@ namespace OpenLoco::Ui::Windows::Town
|
|||
args.push(yTick);
|
||||
|
||||
const uint16_t xPos = 39;
|
||||
Gfx::drawRect(clipped, xPos, yPos, 241, 1, Colour::getShade(self->colours[1], 4));
|
||||
Gfx::drawRect(clipped, xPos, yPos, 241, 1, Colour::getShade(self->getColour(WindowColour::secondary), 4));
|
||||
|
||||
Gfx::drawString_494C78(*clipped, xPos, yPos - 6, Colour::black, StringIds::population_graph_people, &args);
|
||||
|
||||
|
@ -441,7 +441,7 @@ namespace OpenLoco::Ui::Windows::Town
|
|||
Gfx::drawStringCentred(*clipped, xPos, yPos, Colour::black, StringIds::population_graph_year, &args);
|
||||
}
|
||||
|
||||
Gfx::drawRect(clipped, xPos, 11, 1, self->height - 66, Colour::getShade(self->colours[1], 4));
|
||||
Gfx::drawRect(clipped, xPos, 11, 1, self->height - 66, Colour::getShade(self->getColour(WindowColour::secondary), 4));
|
||||
}
|
||||
|
||||
// Draw population graph
|
||||
|
@ -450,7 +450,7 @@ namespace OpenLoco::Ui::Windows::Town
|
|||
|
||||
// Do not draw current segment yet; it may be zeroed.
|
||||
if (i < town->history_size - 1)
|
||||
Gfx::drawLine(clipped, xPos, yPos1, xPos + 1, yPos2, Colour::getShade(self->colours[1], 7));
|
||||
Gfx::drawLine(clipped, xPos, yPos1, xPos + 1, yPos2, Colour::getShade(self->getColour(WindowColour::secondary), 7));
|
||||
|
||||
month--;
|
||||
if (month < 0)
|
||||
|
@ -758,7 +758,7 @@ namespace OpenLoco::Ui::Windows::Town
|
|||
InterfaceSkin::ImageIds::tab_population_frame7,
|
||||
};
|
||||
|
||||
uint32_t imageId = Gfx::recolour(skin->img, self->colours[1]);
|
||||
uint32_t imageId = Gfx::recolour(skin->img, self->getColour(WindowColour::secondary));
|
||||
if (self->current_tab == widx::tab_population - widx::tab_town)
|
||||
imageId += populationTabImageIds[(self->frame_no / 4) % std::size(populationTabImageIds)];
|
||||
else
|
||||
|
|
|
@ -19,7 +19,7 @@ namespace OpenLoco::Ui::Windows::Tutorial
|
|||
constexpr Gfx::ui_size_t windowSize = { 140, 29 };
|
||||
|
||||
Widget widgets[] = {
|
||||
makeWidget({ 0, 0 }, windowSize, WidgetType::wt_3, 0),
|
||||
makeWidget({ 0, 0 }, windowSize, WidgetType::wt_3, WindowColour::primary),
|
||||
widgetEnd(),
|
||||
};
|
||||
|
||||
|
@ -45,8 +45,8 @@ namespace OpenLoco::Ui::Windows::Tutorial
|
|||
auto skin = ObjectManager::get<InterfaceSkinObject>();
|
||||
if (skin != nullptr)
|
||||
{
|
||||
window->colours[0] = Colour::translucent(skin->colour_06);
|
||||
window->colours[1] = Colour::translucent(skin->colour_07);
|
||||
window->setColour(WindowColour::primary, Colour::translucent(skin->colour_06));
|
||||
window->setColour(WindowColour::secondary, Colour::translucent(skin->colour_07));
|
||||
}
|
||||
|
||||
return window;
|
||||
|
|
|
@ -47,16 +47,16 @@ namespace OpenLoco::Ui::Windows::Vehicle
|
|||
tabRoute = 8,
|
||||
};
|
||||
|
||||
#define commonWidgets(frameWidth, frameHeight, windowCaptionId) \
|
||||
makeWidget({ 0, 0 }, { (frameWidth), (frameHeight) }, WidgetType::frame, 0), \
|
||||
makeWidget({ 1, 1 }, { (frameWidth)-2, 13 }, WidgetType::caption_24, 0, windowCaptionId), \
|
||||
makeWidget({ (frameWidth)-15, 2 }, { 13, 13 }, WidgetType::wt_9, 0, ImageIds::close_button, StringIds::tooltip_close_window), \
|
||||
makeWidget({ 0, 41 }, { 265, 136 }, WidgetType::panel, 1), \
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab_vehicle_background, StringIds::tooltip_vehicle_tab_main), \
|
||||
makeRemapWidget({ 34, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab_vehicle_background, StringIds::tooltip_vehicle_tab_details), \
|
||||
makeRemapWidget({ 65, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab_vehicle_background, StringIds::tooltip_vehicle_tab_cargo), \
|
||||
makeRemapWidget({ 96, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab_vehicle_background, StringIds::tooltip_vehicle_tab_finance), \
|
||||
makeRemapWidget({ 158, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab_vehicle_background, StringIds::tooltip_vehicle_tab_route)
|
||||
#define commonWidgets(frameWidth, frameHeight, windowCaptionId) \
|
||||
makeWidget({ 0, 0 }, { (frameWidth), (frameHeight) }, WidgetType::frame, WindowColour::primary), \
|
||||
makeWidget({ 1, 1 }, { (frameWidth)-2, 13 }, WidgetType::caption_24, WindowColour::primary, windowCaptionId), \
|
||||
makeWidget({ (frameWidth)-15, 2 }, { 13, 13 }, WidgetType::wt_9, WindowColour::primary, ImageIds::close_button, StringIds::tooltip_close_window), \
|
||||
makeWidget({ 0, 41 }, { 265, 136 }, WidgetType::panel, WindowColour::secondary), \
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab_vehicle_background, StringIds::tooltip_vehicle_tab_main), \
|
||||
makeRemapWidget({ 34, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab_vehicle_background, StringIds::tooltip_vehicle_tab_details), \
|
||||
makeRemapWidget({ 65, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab_vehicle_background, StringIds::tooltip_vehicle_tab_cargo), \
|
||||
makeRemapWidget({ 96, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab_vehicle_background, StringIds::tooltip_vehicle_tab_finance), \
|
||||
makeRemapWidget({ 158, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab_vehicle_background, StringIds::tooltip_vehicle_tab_route)
|
||||
|
||||
constexpr uint64_t enabledWidgets = (1 << closeButton) | (1 << tabMain) | (1 << tabDetails) | (1 << tabCargo) | (1 << tabFinances) | (1 << tabRoute);
|
||||
|
||||
|
@ -105,10 +105,10 @@ namespace OpenLoco::Ui::Windows::Vehicle
|
|||
|
||||
static Widget widgets[] = {
|
||||
commonWidgets(265, 177, StringIds::title_vehicle_details),
|
||||
makeWidget({ 240, 44 }, { 24, 24 }, WidgetType::wt_9, 1, -1, StringIds::tooltip_build_new_vehicle_for),
|
||||
makeWidget({ 240, 68 }, { 24, 24 }, WidgetType::wt_9, 1, -1, StringIds::tooltip_remove_from_track),
|
||||
makeWidget({ 240, 96 }, { 24, 24 }, WidgetType::wt_9, 1, ImageIds::rubbish_bin, StringIds::tooltip_sell_or_drag_vehicle),
|
||||
makeWidget({ 3, 44 }, { 237, 110 }, WidgetType::scrollview, 1, Scrollbars::vertical),
|
||||
makeWidget({ 240, 44 }, { 24, 24 }, WidgetType::wt_9, WindowColour::secondary, -1, StringIds::tooltip_build_new_vehicle_for),
|
||||
makeWidget({ 240, 68 }, { 24, 24 }, WidgetType::wt_9, WindowColour::secondary, -1, StringIds::tooltip_remove_from_track),
|
||||
makeWidget({ 240, 96 }, { 24, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::rubbish_bin, StringIds::tooltip_sell_or_drag_vehicle),
|
||||
makeWidget({ 3, 44 }, { 237, 110 }, WidgetType::scrollview, WindowColour::secondary, Scrollbars::vertical),
|
||||
widgetEnd()
|
||||
};
|
||||
}
|
||||
|
@ -131,8 +131,8 @@ namespace OpenLoco::Ui::Windows::Vehicle
|
|||
|
||||
static Widget widgets[] = {
|
||||
commonWidgets(265, 177, StringIds::title_vehicle_cargo),
|
||||
makeWidget({ 240, 44 }, { 24, 24 }, WidgetType::wt_9, 1, ImageIds::refit_cargo_button, StringIds::refit_vehicle_tip),
|
||||
makeWidget({ 3, 44 }, { 259, 120 }, WidgetType::scrollview, 1, Scrollbars::vertical),
|
||||
makeWidget({ 240, 44 }, { 24, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::refit_cargo_button, StringIds::refit_vehicle_tip),
|
||||
makeWidget({ 3, 44 }, { 259, 120 }, WidgetType::scrollview, WindowColour::secondary, Scrollbars::vertical),
|
||||
widgetEnd()
|
||||
};
|
||||
}
|
||||
|
@ -180,16 +180,16 @@ namespace OpenLoco::Ui::Windows::Vehicle
|
|||
|
||||
static Widget widgets[] = {
|
||||
commonWidgets(265, 189, StringIds::title_vehicle_route),
|
||||
makeWidget({ 0, 0 }, { 1, 1 }, WidgetType::none, 0),
|
||||
makeWidget({ 3, 44 }, { 118, 12 }, WidgetType::wt_11, 1, StringIds::local_mode_button),
|
||||
makeWidget({ 121, 44 }, { 119, 12 }, WidgetType::wt_11, 1, StringIds::express_mode_button),
|
||||
makeWidget({ 3, 58 }, { 237, 120 }, WidgetType::scrollview, 1, Scrollbars::vertical, StringIds::tooltip_route_scrollview),
|
||||
makeWidget({ 240, 44 }, { 24, 24 }, WidgetType::wt_9, 1, ImageIds::route_force_unload, StringIds::tooltip_route_insert_force_unload),
|
||||
makeWidget({ 240, 68 }, { 24, 24 }, WidgetType::wt_9, 1, ImageIds::route_wait, StringIds::tooltip_route_insert_wait_full_cargo),
|
||||
makeWidget({ 240, 92 }, { 24, 24 }, WidgetType::wt_9, 1, ImageIds::route_skip, StringIds::tooltip_route_skip_next_order),
|
||||
makeWidget({ 240, 116 }, { 24, 24 }, WidgetType::wt_9, 1, ImageIds::route_delete, StringIds::tooltip_route_delete_order),
|
||||
makeWidget({ 240, 140 }, { 24, 12 }, WidgetType::wt_9, 1, ImageIds::red_arrow_up, StringIds::tooltip_route_move_order_up),
|
||||
makeWidget({ 240, 152 }, { 24, 12 }, WidgetType::wt_9, 1, ImageIds::red_arrow_down, StringIds::tooltip_route_move_order_down),
|
||||
makeWidget({ 0, 0 }, { 1, 1 }, WidgetType::none, WindowColour::primary),
|
||||
makeWidget({ 3, 44 }, { 118, 12 }, WidgetType::wt_11, WindowColour::secondary, StringIds::local_mode_button),
|
||||
makeWidget({ 121, 44 }, { 119, 12 }, WidgetType::wt_11, WindowColour::secondary, StringIds::express_mode_button),
|
||||
makeWidget({ 3, 58 }, { 237, 120 }, WidgetType::scrollview, WindowColour::secondary, Scrollbars::vertical, StringIds::tooltip_route_scrollview),
|
||||
makeWidget({ 240, 44 }, { 24, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::route_force_unload, StringIds::tooltip_route_insert_force_unload),
|
||||
makeWidget({ 240, 68 }, { 24, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::route_wait, StringIds::tooltip_route_insert_wait_full_cargo),
|
||||
makeWidget({ 240, 92 }, { 24, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::route_skip, StringIds::tooltip_route_skip_next_order),
|
||||
makeWidget({ 240, 116 }, { 24, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::route_delete, StringIds::tooltip_route_delete_order),
|
||||
makeWidget({ 240, 140 }, { 24, 12 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::red_arrow_up, StringIds::tooltip_route_move_order_up),
|
||||
makeWidget({ 240, 152 }, { 24, 12 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::red_arrow_down, StringIds::tooltip_route_move_order_down),
|
||||
widgetEnd(),
|
||||
};
|
||||
}
|
||||
|
@ -220,14 +220,14 @@ namespace OpenLoco::Ui::Windows::Vehicle
|
|||
|
||||
static Widget widgets[] = {
|
||||
commonWidgets(265, 177, StringIds::stringid),
|
||||
makeWidget({ 3, 44 }, { 237, 120 }, WidgetType::viewport, 1),
|
||||
makeWidget({ 3, 155 }, { 237, 21 }, WidgetType::wt_13, 1),
|
||||
makeWidget({ 240, 46 }, { 24, 115 }, WidgetType::wt_5, 1),
|
||||
makeWidget({ 240, 44 }, { 24, 24 }, WidgetType::wt_9, 1, ImageIds::red_flag, StringIds::tooltip_stop_start),
|
||||
makeWidget({ 240, 68 }, { 24, 24 }, WidgetType::wt_9, 1, ImageIds::null, StringIds::tooltip_remove_from_track),
|
||||
makeWidget({ 240, 92 }, { 24, 24 }, WidgetType::wt_9, 1, ImageIds::pass_signal, StringIds::tooltip_pass_signal_at_danger),
|
||||
makeWidget({ 240, 116 }, { 24, 24 }, WidgetType::wt_9, 1, ImageIds::construction_right_turnaround, StringIds::tooltip_change_direction),
|
||||
makeWidget({ 0, 0 }, { 24, 24 }, WidgetType::wt_9, 1, ImageIds::null, StringIds::move_main_view_to_show_this),
|
||||
makeWidget({ 3, 44 }, { 237, 120 }, WidgetType::viewport, WindowColour::secondary),
|
||||
makeWidget({ 3, 155 }, { 237, 21 }, WidgetType::wt_13, WindowColour::secondary),
|
||||
makeWidget({ 240, 46 }, { 24, 115 }, WidgetType::wt_5, WindowColour::secondary),
|
||||
makeWidget({ 240, 44 }, { 24, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::red_flag, StringIds::tooltip_stop_start),
|
||||
makeWidget({ 240, 68 }, { 24, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::null, StringIds::tooltip_remove_from_track),
|
||||
makeWidget({ 240, 92 }, { 24, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::pass_signal, StringIds::tooltip_pass_signal_at_danger),
|
||||
makeWidget({ 240, 116 }, { 24, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::construction_right_turnaround, StringIds::tooltip_change_direction),
|
||||
makeWidget({ 0, 0 }, { 24, 24 }, WidgetType::wt_9, WindowColour::secondary, ImageIds::null, StringIds::move_main_view_to_show_this),
|
||||
widgetEnd()
|
||||
};
|
||||
|
||||
|
@ -358,7 +358,7 @@ namespace OpenLoco::Ui::Windows::Vehicle
|
|||
_dragVehicleHead = EntityId::null;
|
||||
|
||||
const auto* skin = ObjectManager::get<InterfaceSkinObject>();
|
||||
self->colours[1] = skin->colour_0A;
|
||||
self->setColour(WindowColour::secondary, skin->colour_0A);
|
||||
return self;
|
||||
}
|
||||
|
||||
|
@ -417,7 +417,7 @@ namespace OpenLoco::Ui::Windows::Vehicle
|
|||
self->y + widget->top,
|
||||
widget->width(),
|
||||
widget->height(),
|
||||
self->colours[1],
|
||||
self->getColour(WindowColour::secondary),
|
||||
2,
|
||||
0);
|
||||
|
||||
|
@ -547,7 +547,7 @@ namespace OpenLoco::Ui::Windows::Vehicle
|
|||
self->y + widget->top,
|
||||
widget->width(),
|
||||
widget->height(),
|
||||
self->colours[1],
|
||||
self->getColour(WindowColour::secondary),
|
||||
dropdownCount,
|
||||
0);
|
||||
|
||||
|
@ -897,7 +897,7 @@ namespace OpenLoco::Ui::Windows::Vehicle
|
|||
context,
|
||||
self->x + speedWidget.left,
|
||||
self->y + speedWidget.top + 10,
|
||||
Gfx::recolour(ImageIds::speed_control_track, self->colours[1]));
|
||||
Gfx::recolour(ImageIds::speed_control_track, self->getColour(WindowColour::secondary)));
|
||||
|
||||
Gfx::drawStringCentred(
|
||||
*context,
|
||||
|
@ -917,7 +917,7 @@ namespace OpenLoco::Ui::Windows::Vehicle
|
|||
context,
|
||||
self->x + speedWidget.left + 1,
|
||||
self->y + speedWidget.top + 57 - veh->var_6E,
|
||||
Gfx::recolour(ImageIds::speed_control_thumb, self->colours[1]));
|
||||
Gfx::recolour(ImageIds::speed_control_thumb, self->getColour(WindowColour::secondary)));
|
||||
}
|
||||
|
||||
if (self->viewports[0] != nullptr)
|
||||
|
@ -1042,7 +1042,7 @@ namespace OpenLoco::Ui::Windows::Vehicle
|
|||
self->y + widget->top,
|
||||
widget->width(),
|
||||
widget->height(),
|
||||
self->colours[1],
|
||||
self->getColour(WindowColour::secondary),
|
||||
2,
|
||||
0);
|
||||
|
||||
|
@ -1431,7 +1431,7 @@ namespace OpenLoco::Ui::Windows::Vehicle
|
|||
// 0x004B36A3
|
||||
static void drawScroll(Window* const self, Gfx::Context* const context, const uint32_t i)
|
||||
{
|
||||
Gfx::clearSingle(*context, Colour::getShade(self->colours[1], 4));
|
||||
Gfx::clearSingle(*context, Colour::getShade(self->getColour(WindowColour::secondary), 4));
|
||||
auto head = Common::getVehicle(self);
|
||||
OpenLoco::Vehicles::Vehicle train{ head };
|
||||
Gfx::point_t pos{ 0, 0 };
|
||||
|
@ -1459,7 +1459,7 @@ namespace OpenLoco::Ui::Windows::Vehicle
|
|||
if (car.front == _dragCarComponent)
|
||||
{
|
||||
al = 12;
|
||||
ah = self->colours[1];
|
||||
ah = self->getColour(WindowColour::secondary);
|
||||
}
|
||||
auto x = Common::sub_4B743B(al, ah, 0, y, car.front, context);
|
||||
|
||||
|
@ -1714,7 +1714,7 @@ namespace OpenLoco::Ui::Windows::Vehicle
|
|||
// 004B3F62
|
||||
static void drawScroll(Window* const self, Gfx::Context* const pDrawpixelinfo, const uint32_t i)
|
||||
{
|
||||
Gfx::clearSingle(*pDrawpixelinfo, Colour::getShade(self->colours[1], 4));
|
||||
Gfx::clearSingle(*pDrawpixelinfo, Colour::getShade(self->getColour(WindowColour::secondary), 4));
|
||||
Vehicles::Vehicle train{ Common::getVehicle(self) };
|
||||
int16_t y = 0;
|
||||
for (auto& car : train.cars)
|
||||
|
@ -1852,7 +1852,7 @@ namespace OpenLoco::Ui::Windows::Vehicle
|
|||
self->y + button.top,
|
||||
button.width(),
|
||||
button.height(),
|
||||
self->colours[1],
|
||||
self->getColour(WindowColour::secondary),
|
||||
index,
|
||||
0);
|
||||
Dropdown::setHighlightedItem(0);
|
||||
|
@ -2511,7 +2511,7 @@ namespace OpenLoco::Ui::Windows::Vehicle
|
|||
auto y = self->widgets[i].top + self->y;
|
||||
auto width = self->widgets[i].width();
|
||||
auto height = self->widgets[i].height();
|
||||
Dropdown::showText(x, y, width, height, self->colours[1], index, 0);
|
||||
Dropdown::showText(x, y, width, height, self->getColour(WindowColour::secondary), index, 0);
|
||||
Dropdown::setHighlightedItem(0);
|
||||
}
|
||||
|
||||
|
@ -3077,7 +3077,7 @@ namespace OpenLoco::Ui::Windows::Vehicle
|
|||
// 0x004B48BA
|
||||
static void drawScroll(Window* const self, Gfx::Context* const pDrawpixelinfo, const uint32_t i)
|
||||
{
|
||||
Gfx::clearSingle(*pDrawpixelinfo, Colour::getShade(self->colours[1], 4));
|
||||
Gfx::clearSingle(*pDrawpixelinfo, Colour::getShade(self->getColour(WindowColour::secondary), 4));
|
||||
|
||||
auto head = Common::getVehicle(self);
|
||||
Vehicles::Vehicle train(head);
|
||||
|
|
|
@ -53,22 +53,22 @@ namespace OpenLoco::Ui::Windows::VehicleList
|
|||
};
|
||||
|
||||
Widget _widgets[] = {
|
||||
makeWidget({ 0, 0 }, { 550, 213 }, WidgetType::frame, 0),
|
||||
makeWidget({ 1, 1 }, { 548, 13 }, WidgetType::caption_24, 0),
|
||||
makeWidget({ 535, 2 }, { 13, 13 }, WidgetType::wt_9, 0, ImageIds::close_button, StringIds::tooltip_close_window),
|
||||
makeWidget({ 0, 41 }, { 550, 172 }, WidgetType::panel, 1),
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_trains),
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_buses),
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_trucks),
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_trams),
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_aircraft),
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, 1, ImageIds::tab, StringIds::tooltip_ships),
|
||||
makeWidget({ 0, 14 }, { 26, 26 }, WidgetType::wt_9, 0, StringIds::null, StringIds::tooltip_select_company),
|
||||
makeWidget({ 4, 43 }, { 310, 12 }, WidgetType::wt_14, 1, StringIds::null, StringIds::tooltip_sort_by_name),
|
||||
makeWidget({ 314, 43 }, { 100, 12 }, WidgetType::wt_14, 1, StringIds::null, StringIds::tooltip_sort_by_profit),
|
||||
makeWidget({ 414, 43 }, { 65, 12 }, WidgetType::wt_14, 1, StringIds::null, StringIds::tooltip_sort_by_age),
|
||||
makeWidget({ 479, 43 }, { 67, 12 }, WidgetType::wt_14, 1, StringIds::null, StringIds::tooltip_sort_by_reliability),
|
||||
makeWidget({ 3, 56 }, { 544, 138 }, WidgetType::scrollview, 1, Scrollbars::vertical),
|
||||
makeWidget({ 0, 0 }, { 550, 213 }, WidgetType::frame, WindowColour::primary),
|
||||
makeWidget({ 1, 1 }, { 548, 13 }, WidgetType::caption_24, WindowColour::primary),
|
||||
makeWidget({ 535, 2 }, { 13, 13 }, WidgetType::wt_9, WindowColour::primary, ImageIds::close_button, StringIds::tooltip_close_window),
|
||||
makeWidget({ 0, 41 }, { 550, 172 }, WidgetType::panel, WindowColour::secondary),
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_trains),
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_buses),
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_trucks),
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_trams),
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_aircraft),
|
||||
makeRemapWidget({ 3, 15 }, { 31, 27 }, WidgetType::wt_8, WindowColour::secondary, ImageIds::tab, StringIds::tooltip_ships),
|
||||
makeWidget({ 0, 14 }, { 26, 26 }, WidgetType::wt_9, WindowColour::primary, StringIds::null, StringIds::tooltip_select_company),
|
||||
makeWidget({ 4, 43 }, { 310, 12 }, WidgetType::wt_14, WindowColour::secondary, StringIds::null, StringIds::tooltip_sort_by_name),
|
||||
makeWidget({ 314, 43 }, { 100, 12 }, WidgetType::wt_14, WindowColour::secondary, StringIds::null, StringIds::tooltip_sort_by_profit),
|
||||
makeWidget({ 414, 43 }, { 65, 12 }, WidgetType::wt_14, WindowColour::secondary, StringIds::null, StringIds::tooltip_sort_by_age),
|
||||
makeWidget({ 479, 43 }, { 67, 12 }, WidgetType::wt_14, WindowColour::secondary, StringIds::null, StringIds::tooltip_sort_by_reliability),
|
||||
makeWidget({ 3, 56 }, { 544, 138 }, WidgetType::scrollview, WindowColour::secondary, Scrollbars::vertical),
|
||||
widgetEnd()
|
||||
};
|
||||
|
||||
|
@ -334,7 +334,7 @@ namespace OpenLoco::Ui::Windows::VehicleList
|
|||
self->frame_no = 0;
|
||||
|
||||
auto skin = ObjectManager::get<InterfaceSkinObject>();
|
||||
self->colours[1] = skin->colour_0A;
|
||||
self->setColour(WindowColour::secondary, skin->colour_0A);
|
||||
|
||||
disableUnavailableVehicleTypes(self);
|
||||
|
||||
|
@ -522,7 +522,7 @@ namespace OpenLoco::Ui::Windows::VehicleList
|
|||
// 0x004C21CD
|
||||
static void drawScroll(Window* self, Gfx::Context* context, uint32_t scrollIndex)
|
||||
{
|
||||
auto shade = Colour::getShade(self->colours[1], 1);
|
||||
auto shade = Colour::getShade(self->getColour(WindowColour::secondary), 1);
|
||||
Gfx::clearSingle(*context, shade);
|
||||
|
||||
auto yPos = 0;
|
||||
|
@ -541,7 +541,7 @@ namespace OpenLoco::Ui::Windows::VehicleList
|
|||
|
||||
// Highlight selection.
|
||||
if (head->id == self->row_hover)
|
||||
Gfx::drawRect(context, 0, yPos, self->width, self->row_height, Colour::getShade(self->colours[1], 0));
|
||||
Gfx::drawRect(context, 0, yPos, self->width, self->row_height, Colour::getShade(self->getColour(WindowColour::secondary), 0));
|
||||
|
||||
// Draw vehicle at the bottom of the row.
|
||||
drawVehicle(head, context, yPos + (self->row_height - 28) / 2 + 6);
|
||||
|
|
Loading…
Reference in New Issue