1
0
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:
Ted John
2015-08-17 08:05:18 +01:00
5 changed files with 23 additions and 5 deletions

View File

@@ -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

View File

@@ -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 },

View File

@@ -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;

View File

@@ -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;
}

View File

@@ -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;