mirror of https://github.com/OpenRCT2/OpenRCT2.git
move allow known keys option to new tab...
on multiplayer window
This commit is contained in:
parent
7b09b16255
commit
62636f39b6
|
@ -4170,8 +4170,9 @@ STR_5858 :{SMALLFONT}{BLACK}Use GPU for displaying instead of CPU. Improves c
|
|||
STR_5859 :{SMALLFONT}{BLACK}Enables frame tweening for visually{NEWLINE}smoother gameplay. When disabled,{NEWLINE}the game will run at 40 FPS.
|
||||
STR_5860 :Toggle original/decompiled track drawing
|
||||
STR_5861 :Key verification failure.
|
||||
STR_5862 :Allow joining with known keys only.
|
||||
STR_5863 :This host only allows known keys to connect.
|
||||
STR_5862 :Block unknown players.
|
||||
STR_5863 :{SMALLFONT}{BLACK}Only allow players with known keys to join.
|
||||
STR_5864 :This server only allows whitelisted players to connect.
|
||||
|
||||
#############
|
||||
# Scenarios #
|
||||
|
|
|
@ -2635,7 +2635,8 @@ enum {
|
|||
|
||||
STR_MULTIPLAYER_VERIFICATION_FAILURE = 5861,
|
||||
STR_ALLOW_KNOWN_KEYS_ONLY = 5862,
|
||||
STR_MULTIPLAYER_UNKNOWN_KEY_DISALLOWED = 5863,
|
||||
STR_ALLOW_KNOWN_KEYS_ONLY_TIP = 5863,
|
||||
STR_MULTIPLAYER_UNKNOWN_KEY_DISALLOWED = 5864,
|
||||
|
||||
// Have to include resource strings (from scenarios and objects) for the time being now that language is partially working
|
||||
STR_COUNT = 32768
|
||||
|
|
|
@ -98,6 +98,11 @@ enum {
|
|||
|
||||
SPR_PARK_ENTRANCE = 5197,
|
||||
|
||||
SPR_TAB_GEARS_0 = 5201,
|
||||
SPR_TAB_GEARS_1 = SPR_TAB_GEARS_0 + 1,
|
||||
SPR_TAB_GEARS_2 = SPR_TAB_GEARS_0 + 2,
|
||||
SPR_TAB_GEARS_3 = SPR_TAB_GEARS_0 + 3,
|
||||
|
||||
SPR_TAB_GRAPH_0 = 5245,
|
||||
SPR_TAB_GRAPH_1 = SPR_TAB_GRAPH_0 + 1,
|
||||
SPR_TAB_GRAPH_2 = SPR_TAB_GRAPH_0 + 2,
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
*****************************************************************************/
|
||||
#pragma endregion
|
||||
|
||||
#include "../config.h"
|
||||
#include "../interface/themes.h"
|
||||
#include "../interface/widget.h"
|
||||
#include "../interface/window.h"
|
||||
|
@ -25,7 +26,8 @@
|
|||
|
||||
enum {
|
||||
WINDOW_MULTIPLAYER_PAGE_PLAYERS,
|
||||
WINDOW_MULTIPLAYER_PAGE_GROUPS
|
||||
WINDOW_MULTIPLAYER_PAGE_GROUPS,
|
||||
WINDOW_MULTIPLAYER_PAGE_OPTIONS
|
||||
};
|
||||
|
||||
enum WINDOW_MULTIPLAYER_WIDGET_IDX {
|
||||
|
@ -35,10 +37,11 @@ enum WINDOW_MULTIPLAYER_WIDGET_IDX {
|
|||
WIDX_CONTENT_PANEL,
|
||||
WIDX_TAB1,
|
||||
WIDX_TAB2,
|
||||
WIDX_TAB3,
|
||||
|
||||
WIDX_LIST = 6,
|
||||
WIDX_LIST = 7,
|
||||
|
||||
WIDX_DEFAULT_GROUP = 6,
|
||||
WIDX_DEFAULT_GROUP = 7,
|
||||
WIDX_DEFAULT_GROUP_DROPDOWN,
|
||||
WIDX_ADD_GROUP,
|
||||
WIDX_REMOVE_GROUP,
|
||||
|
@ -46,52 +49,60 @@ enum WINDOW_MULTIPLAYER_WIDGET_IDX {
|
|||
WIDX_SELECTED_GROUP,
|
||||
WIDX_SELECTED_GROUP_DROPDOWN,
|
||||
WIDX_PERMISSIONS_LIST,
|
||||
|
||||
WIDX_KNOWN_KEYS_ONLY_CHECKBOX = 7,
|
||||
};
|
||||
|
||||
#define MAIN_MULTIPLAYER_WIDGETS \
|
||||
{ WWT_FRAME, 0, 0, 339, 0, 239, 0x0FFFFFFFF, STR_NONE }, /* panel / background */ \
|
||||
{ WWT_CAPTION, 0, 1, 338, 1, 14, STR_MULTIPLAYER, STR_WINDOW_TITLE_TIP }, /* title bar */ \
|
||||
{ WWT_CLOSEBOX, 0, 327, 337, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, /* close x button */ \
|
||||
{ WWT_RESIZE, 1, 0, 339, 43, 239, 0x0FFFFFFFF, STR_NONE }, /* content panel */ \
|
||||
{ WWT_TAB, 1, 3, 33, 17, 43, 0x02000144E, STR_PLAYERS_TIP }, /* tab */ \
|
||||
{ WWT_TAB, 1, 3, 33, 17, 43, 0x02000144E, STR_GROUPS_TIP }, /* tab */ \
|
||||
{ WWT_TAB, 1, 3, 33, 17, 43, 0x02000144E, STR_OPTIONS_TIP } /* tab */ \
|
||||
|
||||
static rct_widget window_multiplayer_players_widgets[] = {
|
||||
{ WWT_FRAME, 0, 0, 339, 0, 239, 0x0FFFFFFFF, STR_NONE }, // panel / background
|
||||
{ WWT_CAPTION, 0, 1, 338, 1, 14, STR_MULTIPLAYER, STR_WINDOW_TITLE_TIP }, // title bar
|
||||
{ WWT_CLOSEBOX, 0, 327, 337, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button
|
||||
{ WWT_RESIZE, 1, 0, 339, 43, 239, 0x0FFFFFFFF, STR_NONE }, // content panel
|
||||
{ WWT_TAB, 1, 3, 33, 17, 43, 0x02000144E, STR_PLAYERS_TIP }, // tab
|
||||
{ WWT_TAB, 1, 3, 33, 17, 43, 0x02000144E, STR_GROUPS_TIP }, // tab
|
||||
{ WWT_SCROLL, 1, 3, 336, 60, 236, 2, STR_NONE }, // list
|
||||
MAIN_MULTIPLAYER_WIDGETS,
|
||||
{ WWT_SCROLL, 1, 3, 336, 60, 236, 2, STR_NONE }, // list
|
||||
{ WIDGETS_END }
|
||||
};
|
||||
|
||||
static rct_widget window_multiplayer_groups_widgets[] = {
|
||||
{ WWT_FRAME, 0, 0, 339, 0, 239, 0x0FFFFFFFF, STR_NONE }, // panel / background
|
||||
{ WWT_CAPTION, 0, 1, 338, 1, 14, STR_MULTIPLAYER, STR_WINDOW_TITLE_TIP }, // title bar
|
||||
{ WWT_CLOSEBOX, 0, 327, 337, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button
|
||||
{ WWT_RESIZE, 1, 0, 339, 43, 239, 0x0FFFFFFFF, STR_NONE }, // content panel
|
||||
{ WWT_TAB, 1, 3, 33, 17, 43, 0x02000144E, STR_PLAYERS_TIP }, // tab
|
||||
{ WWT_TAB, 1, 3, 33, 17, 43, 0x02000144E, STR_GROUPS_TIP }, // tab
|
||||
{ WWT_DROPDOWN, 1, 141, 315, 46, 57, 0x0FFFFFFFF, STR_NONE }, // default group
|
||||
{ WWT_DROPDOWN_BUTTON, 1, 305, 315, 47, 56, 876, STR_NONE }, //
|
||||
{ WWT_DROPDOWN_BUTTON, 1, 11, 102, 65, 76, STR_ADD_GROUP, STR_NONE }, // add group button
|
||||
{ WWT_DROPDOWN_BUTTON, 1, 113, 204, 65, 76, STR_REMOVE_GROUP, STR_NONE }, // remove group button
|
||||
{ WWT_DROPDOWN_BUTTON, 1, 215, 306, 65, 76, STR_RENAME_GROUP, STR_NONE }, // rename group button
|
||||
{ WWT_DROPDOWN, 1, 72, 246, 80, 91, 0x0FFFFFFFF, STR_NONE }, // selected group
|
||||
{ WWT_DROPDOWN_BUTTON, 1, 236, 246, 81, 90, 876, STR_NONE }, //
|
||||
{ WWT_SCROLL, 1, 3, 316, 94, 300, 2, STR_NONE }, // permissions list
|
||||
MAIN_MULTIPLAYER_WIDGETS,
|
||||
{ WWT_DROPDOWN, 1, 141, 315, 46, 57, 0x0FFFFFFFF, STR_NONE }, // default group
|
||||
{ WWT_DROPDOWN_BUTTON, 1, 305, 315, 47, 56, 876, STR_NONE }, //
|
||||
{ WWT_DROPDOWN_BUTTON, 1, 11, 102, 65, 76, STR_ADD_GROUP, STR_NONE }, // add group button
|
||||
{ WWT_DROPDOWN_BUTTON, 1, 113, 204, 65, 76, STR_REMOVE_GROUP, STR_NONE }, // remove group button
|
||||
{ WWT_DROPDOWN_BUTTON, 1, 215, 306, 65, 76, STR_RENAME_GROUP, STR_NONE }, // rename group button
|
||||
{ WWT_DROPDOWN, 1, 72, 246, 80, 91, 0x0FFFFFFFF, STR_NONE }, // selected group
|
||||
{ WWT_DROPDOWN_BUTTON, 1, 236, 246, 81, 90, 876, STR_NONE }, //
|
||||
{ WWT_SCROLL, 1, 3, 316, 94, 300, 2, STR_NONE }, // permissions list
|
||||
{ WIDGETS_END }
|
||||
};
|
||||
|
||||
static rct_widget window_multiplayer_options_widgets[] = {
|
||||
MAIN_MULTIPLAYER_WIDGETS,
|
||||
{ WWT_CHECKBOX, 1, 3, 297, 50, 61, STR_ALLOW_KNOWN_KEYS_ONLY, STR_ALLOW_KNOWN_KEYS_ONLY_TIP },
|
||||
{ WIDGETS_END }
|
||||
};
|
||||
|
||||
static rct_widget *window_multiplayer_page_widgets[] = {
|
||||
window_multiplayer_players_widgets,
|
||||
window_multiplayer_groups_widgets
|
||||
window_multiplayer_groups_widgets,
|
||||
window_multiplayer_options_widgets
|
||||
};
|
||||
|
||||
const uint64 window_multiplayer_page_enabled_widgets[] = {
|
||||
(1 << WIDX_CLOSE) | (1 << WIDX_TAB1) | (1 << WIDX_TAB2),
|
||||
(1 << WIDX_CLOSE) | (1 << WIDX_TAB1) | (1 << WIDX_TAB2) | (1 << WIDX_DEFAULT_GROUP) | (1 << WIDX_DEFAULT_GROUP_DROPDOWN) | (1 << WIDX_ADD_GROUP) | (1 << WIDX_REMOVE_GROUP) | (1 << WIDX_RENAME_GROUP) | (1 << WIDX_SELECTED_GROUP) | (1 << WIDX_SELECTED_GROUP_DROPDOWN)
|
||||
(1 << WIDX_CLOSE) | (1 << WIDX_TAB1) | (1 << WIDX_TAB2) | (1 << WIDX_TAB3),
|
||||
(1 << WIDX_CLOSE) | (1 << WIDX_TAB1) | (1 << WIDX_TAB2) | (1 << WIDX_TAB3) | (1 << WIDX_DEFAULT_GROUP) | (1 << WIDX_DEFAULT_GROUP_DROPDOWN) | (1 << WIDX_ADD_GROUP) | (1 << WIDX_REMOVE_GROUP) | (1 << WIDX_RENAME_GROUP) | (1 << WIDX_SELECTED_GROUP) | (1 << WIDX_SELECTED_GROUP_DROPDOWN),
|
||||
(1 << WIDX_CLOSE) | (1 << WIDX_TAB1) | (1 << WIDX_TAB2) | (1 << WIDX_TAB3) | (1 << WIDX_KNOWN_KEYS_ONLY_CHECKBOX),
|
||||
};
|
||||
|
||||
static uint8 _selectedGroup = 0;
|
||||
|
||||
static void window_multiplayer_players_mouseup(rct_window *w, int widgetIndex);
|
||||
static void window_multiplayer_players_resize(rct_window *w);
|
||||
static void window_multiplayer_players_mousedown(int widgetIndex, rct_window* w, rct_widget* widget);
|
||||
static void window_multiplayer_players_update(rct_window *w);
|
||||
static void window_multiplayer_players_scrollgetsize(rct_window *w, int scrollIndex, int *width, int *height);
|
||||
static void window_multiplayer_players_scrollmousedown(rct_window *w, int scrollIndex, int x, int y);
|
||||
|
@ -113,11 +124,17 @@ static void window_multiplayer_groups_invalidate(rct_window *w);
|
|||
static void window_multiplayer_groups_paint(rct_window *w, rct_drawpixelinfo *dpi);
|
||||
static void window_multiplayer_groups_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, int scrollIndex);
|
||||
|
||||
static void window_multiplayer_options_mouseup(rct_window *w, int widgetIndex);
|
||||
static void window_multiplayer_options_resize(rct_window *w);
|
||||
static void window_multiplayer_options_update(rct_window *w);
|
||||
static void window_multiplayer_options_invalidate(rct_window *w);
|
||||
static void window_multiplayer_options_paint(rct_window *w, rct_drawpixelinfo *dpi);
|
||||
|
||||
static rct_window_event_list window_multiplayer_players_events = {
|
||||
NULL,
|
||||
window_multiplayer_players_mouseup,
|
||||
window_multiplayer_players_resize,
|
||||
window_multiplayer_players_mousedown,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
window_multiplayer_players_update,
|
||||
|
@ -175,13 +192,45 @@ static rct_window_event_list window_multiplayer_groups_events = {
|
|||
window_multiplayer_groups_scrollpaint
|
||||
};
|
||||
|
||||
static rct_window_event_list *window_multiplayer_page_events[] = {
|
||||
&window_multiplayer_players_events,
|
||||
&window_multiplayer_groups_events
|
||||
static rct_window_event_list window_multiplayer_options_events = {
|
||||
NULL,
|
||||
window_multiplayer_options_mouseup,
|
||||
window_multiplayer_options_resize,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
window_multiplayer_options_update,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
window_multiplayer_options_invalidate,
|
||||
window_multiplayer_options_paint,
|
||||
NULL
|
||||
};
|
||||
|
||||
static const int window_multiplayer_animation_divisor[] = { 4, 2 };
|
||||
static const int window_multiplayer_animation_frames[] = { 8, 7 };
|
||||
static rct_window_event_list *window_multiplayer_page_events[] = {
|
||||
&window_multiplayer_players_events,
|
||||
&window_multiplayer_groups_events,
|
||||
&window_multiplayer_options_events
|
||||
};
|
||||
|
||||
static const int window_multiplayer_animation_divisor[] = { 4, 2, 2 };
|
||||
static const int window_multiplayer_animation_frames[] = { 8, 7, 4 };
|
||||
|
||||
static void window_multiplayer_draw_tab_images(rct_window *w, rct_drawpixelinfo *dpi);
|
||||
static void window_multiplayer_set_page(rct_window* w, int page);
|
||||
|
@ -214,6 +263,12 @@ static void window_multiplayer_set_page(rct_window* w, int page){
|
|||
w->event_handlers = window_multiplayer_page_events[page];
|
||||
w->pressed_widgets = 0;
|
||||
w->widgets = window_multiplayer_page_widgets[page];
|
||||
|
||||
if (network_get_mode() == NETWORK_MODE_CLIENT) {
|
||||
w->widgets[WIDX_TAB3].type = WWT_EMPTY;
|
||||
w->disabled_widgets |= (1 << WIDX_TAB3);
|
||||
}
|
||||
|
||||
window_event_resize_call(w);
|
||||
window_event_invalidate_call(w);
|
||||
window_init_scroll_widgets(w);
|
||||
|
@ -270,12 +325,21 @@ static void window_multiplayer_groups_show_group_dropdown(rct_window *w, rct_wid
|
|||
}
|
||||
}
|
||||
|
||||
#pragma region Players page
|
||||
|
||||
static void window_multiplayer_players_mouseup(rct_window *w, int widgetIndex)
|
||||
{
|
||||
switch (widgetIndex) {
|
||||
case WIDX_CLOSE:
|
||||
window_close(w);
|
||||
break;
|
||||
case WIDX_TAB1:
|
||||
case WIDX_TAB2:
|
||||
case WIDX_TAB3:
|
||||
if (w->page != widgetIndex - WIDX_TAB1) {
|
||||
window_multiplayer_set_page(w, widgetIndex - WIDX_TAB1);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -290,18 +354,6 @@ static void window_multiplayer_players_resize(rct_window *w)
|
|||
window_invalidate(w);
|
||||
}
|
||||
|
||||
static void window_multiplayer_players_mousedown(int widgetIndex, rct_window* w, rct_widget* widget)
|
||||
{
|
||||
switch (widgetIndex) {
|
||||
case WIDX_TAB1:
|
||||
case WIDX_TAB2:
|
||||
if (w->page != widgetIndex - WIDX_TAB1) {
|
||||
window_multiplayer_set_page(w, widgetIndex - WIDX_TAB1);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void window_multiplayer_players_update(rct_window *w)
|
||||
{
|
||||
w->frame_no++;
|
||||
|
@ -361,7 +413,7 @@ static void window_multiplayer_players_invalidate(rct_window *w)
|
|||
window_multiplayer_anchor_border_widgets(w);
|
||||
window_multiplayer_players_widgets[WIDX_LIST].right = w->width - 4;
|
||||
window_multiplayer_players_widgets[WIDX_LIST].bottom = w->height - 0x0F;
|
||||
window_align_tabs(w, WIDX_TAB1, WIDX_TAB2);
|
||||
window_align_tabs(w, WIDX_TAB1, WIDX_TAB3);
|
||||
}
|
||||
|
||||
static void window_multiplayer_players_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
||||
|
@ -452,12 +504,23 @@ static void window_multiplayer_players_scrollpaint(rct_window *w, rct_drawpixeli
|
|||
}
|
||||
}
|
||||
|
||||
#pragma endregion
|
||||
|
||||
#pragma region Groups page
|
||||
|
||||
static void window_multiplayer_groups_mouseup(rct_window *w, int widgetIndex)
|
||||
{
|
||||
switch (widgetIndex) {
|
||||
case WIDX_CLOSE:
|
||||
window_close(w);
|
||||
break;
|
||||
case WIDX_TAB1:
|
||||
case WIDX_TAB2:
|
||||
case WIDX_TAB3:
|
||||
if (w->page != widgetIndex - WIDX_TAB1) {
|
||||
window_multiplayer_set_page(w, widgetIndex - WIDX_TAB1);
|
||||
}
|
||||
break;
|
||||
case WIDX_ADD_GROUP:
|
||||
game_do_command(0, GAME_COMMAND_FLAG_APPLY, 0, 0, GAME_COMMAND_MODIFY_GROUPS, 0, 0);
|
||||
break;
|
||||
|
@ -486,12 +549,6 @@ static void window_multiplayer_groups_resize(rct_window *w)
|
|||
static void window_multiplayer_groups_mousedown(int widgetIndex, rct_window* w, rct_widget* widget)
|
||||
{
|
||||
switch (widgetIndex) {
|
||||
case WIDX_TAB1:
|
||||
case WIDX_TAB2:
|
||||
if (w->page != widgetIndex - WIDX_TAB1) {
|
||||
window_multiplayer_set_page(w, widgetIndex - WIDX_TAB1);
|
||||
}
|
||||
break;
|
||||
case WIDX_DEFAULT_GROUP_DROPDOWN:
|
||||
window_multiplayer_groups_show_group_dropdown(w, widget);
|
||||
break;
|
||||
|
@ -589,7 +646,7 @@ static void window_multiplayer_groups_invalidate(rct_window *w)
|
|||
window_multiplayer_anchor_border_widgets(w);
|
||||
window_multiplayer_groups_widgets[WIDX_PERMISSIONS_LIST].right = w->width - 4;
|
||||
window_multiplayer_groups_widgets[WIDX_PERMISSIONS_LIST].bottom = w->height - 0x0F;
|
||||
window_align_tabs(w, WIDX_TAB1, WIDX_TAB2);
|
||||
window_align_tabs(w, WIDX_TAB1, WIDX_TAB3);
|
||||
|
||||
// select other group if one is removed
|
||||
while (network_get_group_index(_selectedGroup) == -1 && _selectedGroup > 0) {
|
||||
|
@ -687,11 +744,63 @@ static void window_multiplayer_groups_scrollpaint(rct_window *w, rct_drawpixelin
|
|||
}
|
||||
}
|
||||
|
||||
#pragma endregion
|
||||
|
||||
#pragma region Options page
|
||||
|
||||
static void window_multiplayer_options_mouseup(rct_window *w, int widgetIndex)
|
||||
{
|
||||
switch (widgetIndex) {
|
||||
case WIDX_CLOSE:
|
||||
window_close(w);
|
||||
break;
|
||||
case WIDX_TAB1:
|
||||
case WIDX_TAB2:
|
||||
case WIDX_TAB3:
|
||||
if (w->page != widgetIndex - WIDX_TAB1) {
|
||||
window_multiplayer_set_page(w, widgetIndex - WIDX_TAB1);
|
||||
}
|
||||
break;
|
||||
case WIDX_KNOWN_KEYS_ONLY_CHECKBOX:
|
||||
gConfigNetwork.known_keys_only = !gConfigNetwork.known_keys_only;
|
||||
config_save_default();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void window_multiplayer_options_resize(rct_window *w)
|
||||
{
|
||||
window_set_resize(w, 300, 100, 300, 100);
|
||||
}
|
||||
|
||||
static void window_multiplayer_options_update(rct_window *w)
|
||||
{
|
||||
w->frame_no++;
|
||||
widget_invalidate(w, WIDX_TAB1 + w->page);
|
||||
}
|
||||
|
||||
static void window_multiplayer_options_invalidate(rct_window *w)
|
||||
{
|
||||
window_multiplayer_set_pressed_tab(w);
|
||||
window_multiplayer_anchor_border_widgets(w);
|
||||
window_align_tabs(w, WIDX_TAB1, WIDX_TAB3);
|
||||
|
||||
widget_set_checkbox_value(w, WIDX_KNOWN_KEYS_ONLY_CHECKBOX, gConfigNetwork.known_keys_only);
|
||||
}
|
||||
|
||||
static void window_multiplayer_options_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
||||
{
|
||||
window_draw_widgets(w, dpi);
|
||||
window_multiplayer_draw_tab_images(w, dpi);
|
||||
}
|
||||
|
||||
#pragma endregion
|
||||
|
||||
static void window_multiplayer_draw_tab_image(rct_window *w, rct_drawpixelinfo *dpi, int page, int spriteIndex)
|
||||
{
|
||||
int widgetIndex = WIDX_TAB1 + page;
|
||||
|
||||
if (!(w->disabled_widgets & (1LL << widgetIndex))) {
|
||||
if (!widget_is_disabled(w, widgetIndex)) {
|
||||
if (w->page == page) {
|
||||
int numFrames = window_multiplayer_animation_frames[w->page];
|
||||
if (numFrames > 1) {
|
||||
|
@ -706,6 +815,7 @@ static void window_multiplayer_draw_tab_image(rct_window *w, rct_drawpixelinfo *
|
|||
|
||||
static void window_multiplayer_draw_tab_images(rct_window *w, rct_drawpixelinfo *dpi)
|
||||
{
|
||||
window_multiplayer_draw_tab_image(w, dpi, 0, SPR_TAB_GUESTS_0);
|
||||
window_multiplayer_draw_tab_image(w, dpi, 1, SPR_TAB_STAFF_OPTIONS_0);
|
||||
window_multiplayer_draw_tab_image(w, dpi, WINDOW_MULTIPLAYER_PAGE_PLAYERS, SPR_TAB_GUESTS_0);
|
||||
window_multiplayer_draw_tab_image(w, dpi, WINDOW_MULTIPLAYER_PAGE_GROUPS, SPR_TAB_STAFF_OPTIONS_0);
|
||||
window_multiplayer_draw_tab_image(w, dpi, WINDOW_MULTIPLAYER_PAGE_OPTIONS, SPR_TAB_GEARS_0);
|
||||
}
|
||||
|
|
|
@ -109,9 +109,7 @@ typedef enum {
|
|||
} TOP_TOOLBAR_DEBUG_DDIDX;
|
||||
|
||||
typedef enum {
|
||||
DDIDX_MULTIPLAYER = 0,
|
||||
// separator
|
||||
DDIDX_KNOWN_KEYS_ONLY = 2
|
||||
DDIDX_MULTIPLAYER = 0
|
||||
} TOP_TOOLBAR_NETWORK_DDIDX;
|
||||
|
||||
enum {
|
||||
|
@ -2957,15 +2955,6 @@ void top_toolbar_init_debug_menu(rct_window* w, rct_widget* widget)
|
|||
void top_toolbar_init_network_menu(rct_window* w, rct_widget* widget)
|
||||
{
|
||||
gDropdownItemsFormat[0] = STR_MULTIPLAYER;
|
||||
int num_items = 1;
|
||||
|
||||
if (network_get_mode() == NETWORK_MODE_SERVER) {
|
||||
gDropdownItemsFormat[DDIDX_KNOWN_KEYS_ONLY - 1] = 0;
|
||||
gDropdownItemsFormat[DDIDX_KNOWN_KEYS_ONLY] = 1156;
|
||||
gDropdownItemsArgs[DDIDX_KNOWN_KEYS_ONLY] = STR_ALLOW_KNOWN_KEYS_ONLY;
|
||||
// includes separator
|
||||
num_items += 2;
|
||||
}
|
||||
|
||||
window_dropdown_show_text(
|
||||
w->x + widget->left,
|
||||
|
@ -2973,13 +2962,9 @@ void top_toolbar_init_network_menu(rct_window* w, rct_widget* widget)
|
|||
widget->bottom - widget->top + 1,
|
||||
w->colours[0] | 0x80,
|
||||
0,
|
||||
num_items
|
||||
1
|
||||
);
|
||||
|
||||
if (network_get_mode() == NETWORK_MODE_SERVER && gConfigNetwork.known_keys_only) {
|
||||
dropdown_set_checked(DDIDX_KNOWN_KEYS_ONLY, true);
|
||||
}
|
||||
|
||||
gDropdownDefaultIndex = DDIDX_MULTIPLAYER;
|
||||
}
|
||||
|
||||
|
@ -3016,10 +3001,6 @@ void top_toolbar_network_menu_dropdown(short dropdownIndex)
|
|||
case DDIDX_MULTIPLAYER:
|
||||
window_multiplayer_open();
|
||||
break;
|
||||
case DDIDX_KNOWN_KEYS_ONLY:
|
||||
gConfigNetwork.known_keys_only = !gConfigNetwork.known_keys_only;
|
||||
config_save_default();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue