mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2025-12-10 09:32:29 +01:00
Merge pull request #1803 from medsouz/handymenmowdefault
Add option for handymen to mow grass by default
This commit is contained in:
@@ -3844,4 +3844,5 @@ STR_5502 :Multiplayer
|
||||
STR_5503 :Enter hostname or IP address:
|
||||
STR_5504 :{SMALLFONT}{BLACK}Show multiplayer status
|
||||
STR_5505 :Unable to connect to server.
|
||||
STR_5506 :Guests ignore intensities
|
||||
STR_5506 :Guests ignore intensities
|
||||
STR_5507 :Handymen mow grass by default
|
||||
@@ -184,6 +184,7 @@ config_property_definition _generalDefinitions[] = {
|
||||
{ offsetof(general_configuration, no_test_crashes), "no_test_crashes", CONFIG_VALUE_TYPE_BOOLEAN, false, NULL },
|
||||
{ offsetof(general_configuration, date_format), "date_format", CONFIG_VALUE_TYPE_UINT8, DATE_FORMAT_DMY, _dateFormatEnum },
|
||||
{ offsetof(general_configuration, auto_staff_placement), "auto_staff", CONFIG_VALUE_TYPE_BOOLEAN, false, NULL },
|
||||
{ offsetof(general_configuration, handymen_mow_default), "handymen_mow_default", 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, invert_viewport_drag), "invert_viewport_drag", CONFIG_VALUE_TYPE_BOOLEAN, false, NULL },
|
||||
{ offsetof(general_configuration, load_save_sort), "load_save_sort", CONFIG_VALUE_TYPE_UINT8, SORT_NAME_ASCENDING, NULL },
|
||||
|
||||
@@ -157,6 +157,7 @@ typedef struct {
|
||||
uint8 no_test_crashes;
|
||||
uint8 date_format;
|
||||
uint8 auto_staff_placement;
|
||||
uint8 handymen_mow_default;
|
||||
utf8string last_run_version;
|
||||
uint8 invert_viewport_drag;
|
||||
uint8 load_save_sort;
|
||||
|
||||
@@ -274,6 +274,11 @@ void game_command_hire_new_staff_member(int* eax, int* ebx, int* ecx, int* edx,
|
||||
}
|
||||
}
|
||||
|
||||
if(staff_type == STAFF_TYPE_HANDYMAN && gConfigGeneral.handymen_mow_default) {
|
||||
int flags = ((newPeep->staff_orders ^ (1 << 3)) << 8) | 1;
|
||||
game_do_command(newPeep->x, flags, newPeep->y, newPeep->sprite_index, GAME_COMMAND_SET_STAFF_ORDER, (int)newPeep, 0);
|
||||
}
|
||||
|
||||
*ebx = 0;
|
||||
*edi = newPeep->sprite_index;
|
||||
}
|
||||
|
||||
@@ -134,6 +134,7 @@ enum WINDOW_OPTIONS_WIDGET_IDX {
|
||||
WIDX_AUTOSAVE_DROPDOWN,
|
||||
WIDX_TEST_UNFINISHED_TRACKS,
|
||||
WIDX_AUTO_STAFF_PLACEMENT,
|
||||
WIDX_HANDYMEN_MOW_DEFAULT,
|
||||
WIDX_DEBUGGING_TOOLS,
|
||||
WIDX_TITLE_SEQUENCE,
|
||||
WIDX_TITLE_SEQUENCE_DROPDOWN,
|
||||
@@ -245,10 +246,11 @@ static rct_widget window_options_misc_widgets[] = {
|
||||
{ WWT_DROPDOWN_BUTTON, 1, 288, 298, 84, 93, 876, STR_NONE },
|
||||
{ WWT_CHECKBOX, 2, 10, 299, 114, 125, 5155, 5156 }, // test unfinished tracks
|
||||
{ WWT_CHECKBOX, 2, 10, 299, 129, 140, 5343, STR_NONE }, // auto staff placement
|
||||
{ WWT_CHECKBOX, 2, 10, 299, 144, 155, 5150, STR_NONE }, // enabled debugging tools
|
||||
{ WWT_DROPDOWN, 1, 155, 299, 158, 169, STR_NONE, STR_NONE },
|
||||
{ WWT_DROPDOWN_BUTTON, 1, 288, 298, 159, 168, 876, STR_NONE },
|
||||
{ WWT_DROPDOWN_BUTTON, 1, 26, 185, 174, 185, 5436, STR_NONE }, // Title sequences button
|
||||
{ WWT_CHECKBOX, 2, 10, 299, 144, 155, 5507, STR_NONE }, // handymen mow by default
|
||||
{ WWT_CHECKBOX, 2, 10, 299, 159, 170, 5150, STR_NONE }, // enabled debugging tools
|
||||
{ WWT_DROPDOWN, 1, 155, 299, 173, 184, STR_NONE, STR_NONE },
|
||||
{ WWT_DROPDOWN_BUTTON, 1, 288, 298, 174, 183, 876, STR_NONE },
|
||||
{ WWT_DROPDOWN_BUTTON, 1, 26, 185, 189, 200, 5436, STR_NONE }, // Title sequences button
|
||||
{ WIDGETS_END },
|
||||
};
|
||||
|
||||
@@ -398,6 +400,7 @@ static uint32 window_options_page_enabled_widgets[] = {
|
||||
(1 << WIDX_AUTOSAVE_DROPDOWN) |
|
||||
(1 << WIDX_TEST_UNFINISHED_TRACKS) |
|
||||
(1 << WIDX_AUTO_STAFF_PLACEMENT) |
|
||||
(1 << WIDX_HANDYMEN_MOW_DEFAULT) |
|
||||
(1 << WIDX_DEBUGGING_TOOLS) |
|
||||
(1 << WIDX_TITLE_SEQUENCE) |
|
||||
(1 << WIDX_TITLE_SEQUENCE_DROPDOWN) |
|
||||
@@ -615,6 +618,11 @@ static void window_options_mouseup(rct_window *w, int widgetIndex)
|
||||
config_save_default();
|
||||
window_invalidate(w);
|
||||
break;
|
||||
case WIDX_HANDYMEN_MOW_DEFAULT:
|
||||
gConfigGeneral.handymen_mow_default = !gConfigGeneral.handymen_mow_default;
|
||||
config_save_default();
|
||||
window_invalidate(w);
|
||||
break;
|
||||
case WIDX_TITLE_SEQUENCE_BUTTON:
|
||||
window_title_editor_open(0);
|
||||
}
|
||||
@@ -1221,6 +1229,7 @@ static void window_options_invalidate(rct_window *w)
|
||||
widget_set_checkbox_value(w, WIDX_SAVE_PLUGIN_DATA_CHECKBOX, gConfigGeneral.save_plugin_data);
|
||||
widget_set_checkbox_value(w, WIDX_TEST_UNFINISHED_TRACKS, gConfigGeneral.test_unfinished_tracks);
|
||||
widget_set_checkbox_value(w, WIDX_AUTO_STAFF_PLACEMENT, gConfigGeneral.auto_staff_placement);
|
||||
widget_set_checkbox_value(w, WIDX_HANDYMEN_MOW_DEFAULT, gConfigGeneral.handymen_mow_default);
|
||||
widget_set_checkbox_value(w, WIDX_DEBUGGING_TOOLS, gConfigGeneral.debugging_tools);
|
||||
|
||||
window_options_misc_widgets[WIDX_REAL_NAME_CHECKBOX].type = WWT_CHECKBOX;
|
||||
@@ -1229,6 +1238,7 @@ static void window_options_invalidate(rct_window *w)
|
||||
window_options_misc_widgets[WIDX_AUTOSAVE_DROPDOWN].type = WWT_DROPDOWN_BUTTON;
|
||||
window_options_misc_widgets[WIDX_TEST_UNFINISHED_TRACKS].type = WWT_CHECKBOX;
|
||||
window_options_misc_widgets[WIDX_AUTO_STAFF_PLACEMENT].type = WWT_CHECKBOX;
|
||||
window_options_misc_widgets[WIDX_HANDYMEN_MOW_DEFAULT].type = WWT_CHECKBOX;
|
||||
window_options_misc_widgets[WIDX_DEBUGGING_TOOLS].type = WWT_CHECKBOX;
|
||||
window_options_misc_widgets[WIDX_TITLE_SEQUENCE].type = WWT_DROPDOWN;
|
||||
window_options_misc_widgets[WIDX_TITLE_SEQUENCE_DROPDOWN].type = WWT_DROPDOWN_BUTTON;
|
||||
|
||||
Reference in New Issue
Block a user