mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2026-01-30 18:25:16 +01:00
Allow theming news item background
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
0.4.28 (in development)
|
||||
------------------------------------------------------------------------
|
||||
- Feature: [#25286] Footpath area dragging tool.
|
||||
- Improved: [#25349] ‘Recent Messages’ window can now be fully themed.
|
||||
- Change: [#25089] Peep actions and animations that cause them to stop moving no longer trigger when they are on a level crossing.
|
||||
- Change: [#25337] Placing track designs with scenery that is obstructed no longer disables all of the scenery.
|
||||
- Fix: [#20486] Multiplayer desync when placing track designs without any scenery.
|
||||
|
||||
@@ -181,7 +181,7 @@ namespace OpenRCT2::Ui
|
||||
{ WindowClass::finances, "WC_FINANCES", STR_THEMES_WINDOW_FINANCES, { opaque(COLOUR_GREY), opaque(COLOUR_DARK_YELLOW), opaque(COLOUR_DARK_YELLOW) } },
|
||||
{ WindowClass::titleMenu, "WC_TITLE_MENU", STR_THEMES_WINDOW_TITLE_MENU_BUTTONS, { translucent(COLOUR_DARK_GREEN), translucent(COLOUR_DARK_GREEN), translucent(COLOUR_DARK_GREEN) } },
|
||||
{ WindowClass::titleExit, "WC_TITLE_EXIT", STR_THEMES_WINDOW_TITLE_MENU_EXIT, { translucent(COLOUR_DARK_GREEN), translucent(COLOUR_DARK_GREEN), translucent(COLOUR_DARK_GREEN) } },
|
||||
{ WindowClass::recentNews, "WC_RECENT_NEWS", STR_THEMES_WINDOW_RECENT_NEWS, { opaque(COLOUR_DARK_GREEN), opaque(COLOUR_GREY), opaque(COLOUR_BLACK) } },
|
||||
{ WindowClass::recentNews, "WC_RECENT_NEWS", STR_THEMES_WINDOW_RECENT_NEWS, { opaque(COLOUR_DARK_GREEN), opaque(COLOUR_GREY), opaque(COLOUR_BLACK), opaque(COLOUR_BLACK) } },
|
||||
{ WindowClass::scenarioSelect, "WC_SCENARIO_SELECT", STR_THEMES_WINDOW_TITLE_MENU_SCENARIO_SELECTION, { opaque(COLOUR_GREY), opaque(COLOUR_BORDEAUX_RED), opaque(COLOUR_BORDEAUX_RED) } },
|
||||
{ WindowClass::trackDesignList, "WC_TRACK_DESIGN_LIST", STR_THEMES_WINDOW_TRACK_DESIGN_LIST, { opaque(COLOUR_BORDEAUX_RED), opaque(COLOUR_BORDEAUX_RED), opaque(COLOUR_BORDEAUX_RED) } },
|
||||
{ WindowClass::trackDesignPlace, "WC_TRACK_DESIGN_PLACE", STR_THEMES_WINDOW_TRACK_DESIGN_PLACE, { opaque(COLOUR_DARK_BROWN), opaque(COLOUR_DARK_BROWN), opaque(COLOUR_DARK_BROWN) } },
|
||||
@@ -249,7 +249,7 @@ namespace OpenRCT2::Ui
|
||||
{ WindowClass::assetPacks, { opaque(COLOUR_DARK_BROWN), opaque(COLOUR_DARK_BROWN), opaque(COLOUR_DARK_BROWN), opaque(COLOUR_BLACK), opaque(COLOUR_BLACK), opaque(COLOUR_BLACK) } },
|
||||
{ WindowClass::keyboardShortcutList, { opaque(COLOUR_GREY), opaque(COLOUR_DARK_BROWN), opaque(COLOUR_DARK_BROWN), opaque(COLOUR_BLACK), opaque(COLOUR_BLACK), opaque(COLOUR_BLACK) } },
|
||||
{ WindowClass::changeKeyboardShortcut, { opaque(COLOUR_DARK_BROWN), opaque(COLOUR_DARK_BROWN), opaque(COLOUR_DARK_BROWN), opaque(COLOUR_BLACK), opaque(COLOUR_BLACK), opaque(COLOUR_BLACK) } },
|
||||
{ WindowClass::recentNews, { opaque(COLOUR_DARK_BROWN), opaque(COLOUR_GREY), opaque(COLOUR_GREY), opaque(COLOUR_BLACK), opaque(COLOUR_BLACK), opaque(COLOUR_BLACK) } },
|
||||
{ WindowClass::recentNews, { opaque(COLOUR_DARK_BROWN), opaque(COLOUR_GREY), opaque(COLOUR_GREY), opaque(COLOUR_VOID), opaque(COLOUR_BLACK), opaque(COLOUR_BLACK) } },
|
||||
{ WindowClass::trackDesignList, { opaque(COLOUR_DARK_BROWN), opaque(COLOUR_DARK_BROWN), opaque(COLOUR_DARK_BROWN), opaque(COLOUR_BLACK), opaque(COLOUR_BLACK), opaque(COLOUR_BLACK) } },
|
||||
{ WindowClass::map, { opaque(COLOUR_DARK_BROWN), opaque(COLOUR_GREY), opaque(COLOUR_GREY), opaque(COLOUR_BLACK), opaque(COLOUR_BLACK), opaque(COLOUR_BLACK) } },
|
||||
{ WindowClass::about, { opaque(COLOUR_GREY), opaque(COLOUR_DARK_BROWN), opaque(COLOUR_WHITE), opaque(COLOUR_BLACK), opaque(COLOUR_BLACK), opaque(COLOUR_BLACK) } },
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
namespace OpenRCT2::Ui::Windows
|
||||
{
|
||||
static constexpr ScreenSize kWindowSize = { 400, 300 };
|
||||
static constexpr uint8_t kItemSeparatorHeight = 2;
|
||||
|
||||
enum WindowNewsWidgetIdx
|
||||
{
|
||||
@@ -391,7 +392,8 @@ namespace OpenRCT2::Ui::Windows
|
||||
ScreenSize onScrollGetSize(int32_t scrollIndex) override
|
||||
{
|
||||
int32_t scrollHeight = static_cast<int32_t>(getGameState().newsItems.GetArchived().size())
|
||||
* CalculateNewsItemHeight();
|
||||
* CalculateNewsItemHeight()
|
||||
- kItemSeparatorHeight;
|
||||
return { kWindowSize.width, scrollHeight };
|
||||
}
|
||||
|
||||
@@ -443,6 +445,7 @@ namespace OpenRCT2::Ui::Windows
|
||||
int32_t y = 0;
|
||||
int32_t i = 0;
|
||||
|
||||
const auto backgroundPaletteIndex = ColourMapA[colours[3].colour].light;
|
||||
for (const auto& newsItem : getGameState().newsItems.GetArchived())
|
||||
{
|
||||
if (y >= rt.y + rt.height)
|
||||
@@ -454,10 +457,10 @@ namespace OpenRCT2::Ui::Windows
|
||||
continue;
|
||||
}
|
||||
|
||||
// Outer frame
|
||||
GfxFillRectInset(rt, { -1, y, 383, y + itemHeight - 1 }, colours[1], INSET_RECT_F_30);
|
||||
// Background
|
||||
GfxFillRectInset(
|
||||
rt, { -1, y, 383, y + itemHeight - 1 }, colours[1],
|
||||
(INSET_RECT_FLAG_BORDER_INSET | INSET_RECT_FLAG_FILL_GREY));
|
||||
GfxFillRect(rt, { 0, y + 1, 381, y + itemHeight - 2 }, backgroundPaletteIndex);
|
||||
|
||||
// Date text
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user