mirror of https://github.com/OpenRCT2/OpenRCT2.git
Merge pull request #1407 from ThomasdenH/invert-drag
Add option to invert viewport dragging (#1332)
This commit is contained in:
commit
0381b0e1f6
|
@ -3704,4 +3704,5 @@ STR_5367 :Fast
|
|||
STR_5368 :Reset crash status
|
||||
STR_5369 :Park parameters...
|
||||
STR_5370 :{SMALLFONT}{BLACK}Click this button to modify park{NEWLINE}parameters like restrictions,{NEWLINE}guest generation and money.
|
||||
STR_5371 :Object Selection
|
||||
STR_5371 :Object Selection
|
||||
STR_5372 :Invert right mouse dragging
|
|
@ -179,6 +179,7 @@ config_property_definition _generalDefinitions[] = {
|
|||
{ offsetof(general_configuration, auto_staff_placement), "auto_staff", CONFIG_VALUE_TYPE_BOOLEAN, false, NULL },
|
||||
{ offsetof(general_configuration, last_run_version), "last_run_version", CONFIG_VALUE_TYPE_STRING, { .value_string = NULL }, NULL },
|
||||
{ offsetof(general_configuration, title_sequence), "title_sequence", CONFIG_VALUE_TYPE_UINT8, TITLE_SEQUENCE_OPENRCT2, NULL },
|
||||
{ offsetof(general_configuration, invert_viewport_drag), "invert_viewport_drag", CONFIG_VALUE_TYPE_BOOLEAN, false, NULL },
|
||||
};
|
||||
|
||||
config_property_definition _interfaceDefinitions[] = {
|
||||
|
|
|
@ -144,6 +144,7 @@ typedef struct {
|
|||
uint8 auto_staff_placement;
|
||||
utf8string last_run_version;
|
||||
uint8 title_sequence;
|
||||
uint8 invert_viewport_drag;
|
||||
} general_configuration;
|
||||
|
||||
typedef struct {
|
||||
|
|
|
@ -436,8 +436,13 @@ static void input_viewport_drag_continue()
|
|||
RCT2_GLOBAL(0x009DE540, sint16) = 1000;
|
||||
dx <<= viewport->zoom + 1;
|
||||
dy <<= viewport->zoom + 1;
|
||||
w->saved_view_x += dx;
|
||||
w->saved_view_y += dy;
|
||||
if (gConfigGeneral.invert_viewport_drag){
|
||||
w->saved_view_x -= dx;
|
||||
w->saved_view_y -= dy;
|
||||
} else {
|
||||
w->saved_view_x += dx;
|
||||
w->saved_view_y += dy;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1537,6 +1537,8 @@ enum {
|
|||
STR_NORMAL = 5366,
|
||||
STR_FAST = 5367,
|
||||
|
||||
STR_INVERT_RIGHT_MOUSE_DRAG = 5372,
|
||||
|
||||
// Have to include resource strings (from scenarios and objects) for the time being now that language is partially working
|
||||
STR_COUNT = 32768
|
||||
};
|
||||
|
|
|
@ -108,6 +108,7 @@ enum WINDOW_OPTIONS_WIDGET_IDX {
|
|||
|
||||
// Controls
|
||||
WIDX_SCREEN_EDGE_SCROLLING = WIDX_PAGE_START,
|
||||
WIDX_INVERT_DRAG,
|
||||
WIDX_HOTKEY_DROPDOWN,
|
||||
WIDX_TOOLBAR_SHOW_FINANCES,
|
||||
WIDX_TOOLBAR_SHOW_RESEARCH,
|
||||
|
@ -199,10 +200,11 @@ static rct_widget window_options_audio_widgets[] = {
|
|||
static rct_widget window_options_controls_widgets[] = {
|
||||
MAIN_OPTIONS_WIDGETS,
|
||||
{ WWT_CHECKBOX, 2, 10, 299, 54, 65, STR_SCREEN_EDGE_SCROLLING, STR_SCREEN_EDGE_SCROLLING_TIP },
|
||||
{ WWT_DROPDOWN_BUTTON, 1, 26, 185, 69, 80, STR_HOTKEY, STR_HOTKEY_TIP },
|
||||
{ WWT_CHECKBOX, 2, 10, 299, 84, 95, 5120, STR_NONE },
|
||||
{ WWT_CHECKBOX, 2, 10, 299, 99, 110, 5121, STR_NONE },
|
||||
{ WWT_CHECKBOX, 2, 10, 299, 114, 125, 5147, STR_NONE },
|
||||
{ WWT_CHECKBOX, 2, 10, 299, 69, 80, STR_INVERT_RIGHT_MOUSE_DRAG,STR_NONE },
|
||||
{ WWT_DROPDOWN_BUTTON, 1, 26, 185, 84, 95, STR_HOTKEY, STR_HOTKEY_TIP },
|
||||
{ WWT_CHECKBOX, 2, 10, 299, 99, 110, 5120, STR_NONE },
|
||||
{ WWT_CHECKBOX, 2, 10, 299, 114, 125, 5121, STR_NONE },
|
||||
{ WWT_CHECKBOX, 2, 10, 299, 129, 140, 5147, STR_NONE },
|
||||
{ WIDGETS_END },
|
||||
};
|
||||
|
||||
|
@ -349,6 +351,7 @@ static uint32 window_options_page_enabled_widgets[] = {
|
|||
|
||||
MAIN_OPTIONS_ENABLED_WIDGETS |
|
||||
(1 << WIDX_SCREEN_EDGE_SCROLLING) |
|
||||
(1 << WIDX_INVERT_DRAG) |
|
||||
(1 << WIDX_HOTKEY_DROPDOWN) |
|
||||
(1 << WIDX_TOOLBAR_SHOW_FINANCES) |
|
||||
(1 << WIDX_TOOLBAR_SHOW_RESEARCH) |
|
||||
|
@ -509,6 +512,11 @@ static void window_options_mouseup()
|
|||
window_invalidate(w);
|
||||
window_invalidate_by_class(WC_TOP_TOOLBAR);
|
||||
break;
|
||||
case WIDX_INVERT_DRAG:
|
||||
gConfigGeneral.invert_viewport_drag ^= 1;
|
||||
config_save_default();
|
||||
window_invalidate(w);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -1105,6 +1113,7 @@ static void window_options_invalidate()
|
|||
|
||||
case WINDOW_OPTIONS_PAGE_CONTROLS:
|
||||
widget_set_checkbox_value(w, WIDX_SCREEN_EDGE_SCROLLING, gConfigGeneral.edge_scrolling);
|
||||
widget_set_checkbox_value(w, WIDX_INVERT_DRAG, gConfigGeneral.invert_viewport_drag);
|
||||
widget_set_checkbox_value(w, WIDX_TOOLBAR_SHOW_FINANCES, gConfigInterface.toolbar_show_finances);
|
||||
widget_set_checkbox_value(w, WIDX_TOOLBAR_SHOW_RESEARCH, gConfigInterface.toolbar_show_research);
|
||||
widget_set_checkbox_value(w, WIDX_TOOLBAR_SHOW_CHEATS, gConfigInterface.toolbar_show_cheats);
|
||||
|
|
Loading…
Reference in New Issue