diff --git a/resources/g2/icons/multiplayer_toolbar.png b/resources/g2/icons/multiplayer_toolbar.png index 4838985f30..a2c9e734fa 100644 Binary files a/resources/g2/icons/multiplayer_toolbar.png and b/resources/g2/icons/multiplayer_toolbar.png differ diff --git a/resources/g2/icons/multiplayer_toolbar_pressed.png b/resources/g2/icons/multiplayer_toolbar_pressed.png new file mode 100644 index 0000000000..faaa02377f Binary files /dev/null and b/resources/g2/icons/multiplayer_toolbar_pressed.png differ diff --git a/resources/g2/sprites.json b/resources/g2/sprites.json index 1f0a72d449..6a77ebd8b8 100644 --- a/resources/g2/sprites.json +++ b/resources/g2/sprites.json @@ -419,19 +419,16 @@ "path": "icons/map_east_pressed.png" }, { - "path": "icons/multiplayer_toolbar.png", - "x_offset": 0, - "y_offset": 0 + "path": "icons/multiplayer_toolbar.png" }, { - "path": "icons/multiplayer_sync.png", - "x_offset": 0, - "y_offset": 0 + "path": "icons/multiplayer_toolbar_pressed.png" }, { - "path": "icons/multiplayer_desync.png", - "x_offset": 0, - "y_offset": 0 + "path": "icons/multiplayer_sync.png" + }, + { + "path": "icons/multiplayer_desync.png" }, { "path": "font/latin/ae-uc-small.png", diff --git a/src/openrct2-ui/windows/TopToolbar.cpp b/src/openrct2-ui/windows/TopToolbar.cpp index ae3607868e..23d0ebf860 100644 --- a/src/openrct2-ui/windows/TopToolbar.cpp +++ b/src/openrct2-ui/windows/TopToolbar.cpp @@ -251,7 +251,7 @@ static rct_widget window_top_toolbar_widgets[] = { { WWT_TRNBTN, 3, 0x001E, 0x003B, 0, TOP_TOOLBAR_HEIGHT, IMAGE_TYPE_REMAP | SPR_TAB_TOOLBAR, STR_SCENARIO_OPTIONS_FINANCIAL_TIP },// Finances { WWT_TRNBTN, 3, 0x001E, 0x003B, 0, TOP_TOOLBAR_HEIGHT, IMAGE_TYPE_REMAP | SPR_TAB_TOOLBAR, STR_FINANCES_RESEARCH_TIP }, // Research { WWT_TRNBTN, 3, 0x001E, 0x003B, 0, TOP_TOOLBAR_HEIGHT, IMAGE_TYPE_REMAP | SPR_TAB_TOOLBAR, STR_SHOW_RECENT_MESSAGES_TIP }, // News - { WWT_TRNBTN, 0, 0x001E, 0x003B, 0, TOP_TOOLBAR_HEIGHT, IMAGE_TYPE_REMAP | SPR_TAB_TOOLBAR, STR_SHOW_MULTIPLAYER_STATUS_TIP }, // Network + { WWT_TRNBTN, 0, 0x001E, 0x003B, 0, TOP_TOOLBAR_HEIGHT, IMAGE_TYPE_REMAP | SPR_G2_TOOLBAR_MULTIPLAYER, STR_SHOW_MULTIPLAYER_STATUS_TIP }, // Network { WWT_TRNBTN, 0, 0x001E, 0x003B, 0, TOP_TOOLBAR_HEIGHT, IMAGE_TYPE_REMAP | SPR_TAB_TOOLBAR, STR_TOOLBAR_CHAT_TIP }, // Chat { WWT_EMPTY, 0, 0, 10-1, 0, 0, 0xFFFFFFFF, STR_NONE }, // Artificial widget separator @@ -996,13 +996,14 @@ static void window_top_toolbar_paint(rct_window* w, rct_drawpixelinfo* dpi) y = w->y + window_top_toolbar_widgets[WIDX_NETWORK].top + 0; if (widget_is_pressed(w, WIDX_NETWORK)) y++; - imgId = SPR_G2_MULTIPLAYER_TOOLBAR; - gfx_draw_sprite(dpi, imgId, x - 2, y - 2, 0); - gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; + + // Draw (de)sync icon. imgId = (network_is_desynchronised() ? SPR_G2_MULTIPLAYER_DESYNC : SPR_G2_MULTIPLAYER_SYNC); gfx_draw_sprite(dpi, imgId, x + 3, y + 11, 0); + // Draw number of players. int32_t player_count = network_get_num_players(); + gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; gfx_draw_string_right(dpi, STR_COMMA16, &player_count, COLOUR_WHITE | COLOUR_FLAG_OUTLINE, x + 23, y + 1); } } diff --git a/src/openrct2/sprites.h b/src/openrct2/sprites.h index ff09958c04..ee35b4c50c 100644 --- a/src/openrct2/sprites.h +++ b/src/openrct2/sprites.h @@ -838,11 +838,12 @@ enum SPR_G2_MAP_EAST = SPR_G2_BEGIN + 120, SPR_G2_MAP_EAST_PRESSED = SPR_G2_BEGIN + 121, - SPR_G2_MULTIPLAYER_TOOLBAR = SPR_G2_BEGIN + 122, - SPR_G2_MULTIPLAYER_SYNC = SPR_G2_BEGIN + 123, - SPR_G2_MULTIPLAYER_DESYNC = SPR_G2_BEGIN + 124, + SPR_G2_TOOLBAR_MULTIPLAYER = SPR_G2_BEGIN + 122, + SPR_G2_TOOLBAR_MULTIPLAYER_PRESSED = SPR_G2_BEGIN + 123, + SPR_G2_MULTIPLAYER_SYNC = SPR_G2_BEGIN + 124, + SPR_G2_MULTIPLAYER_DESYNC = SPR_G2_BEGIN + 125, - SPR_G2_CHAR_BEGIN = SPR_G2_BEGIN + 125, + SPR_G2_CHAR_BEGIN = SPR_G2_BEGIN + 126, SPR_G2_AE_UPPER = SPR_G2_CHAR_BEGIN, SPR_G2_AE_LOWER = SPR_G2_CHAR_BEGIN + 1,