diff --git a/src/openrct2/editor.c b/src/openrct2/editor.c index 4f61bbb0bd..41782aba3e 100644 --- a/src/openrct2/editor.c +++ b/src/openrct2/editor.c @@ -694,7 +694,12 @@ void game_command_edit_scenario_options(sint32* eax, sint32* ebx, sint32* ecx, s } break; case EDIT_SCENARIOOPTIONS_SETGUESTGENERATIONHIGHERDIFFICULTLEVEL: - + if (*edx != FALSE) { + gParkFlags |= PARK_FLAGS_DIFFICULT_GUEST_GENERATION; + } + else { + gParkFlags &= ~PARK_FLAGS_DIFFICULT_GUEST_GENERATION; + } break; } window_invalidate_by_class(WC_EDITOR_SCENARIO_OPTIONS); diff --git a/src/openrct2/windows/editor_scenario_options.c b/src/openrct2/windows/editor_scenario_options.c index cf6b63b57c..988c8d534f 100644 --- a/src/openrct2/windows/editor_scenario_options.c +++ b/src/openrct2/windows/editor_scenario_options.c @@ -1191,7 +1191,15 @@ static void window_editor_scenario_options_park_mouseup(rct_window *w, sint32 wi window_invalidate(w); break; case WIDX_HARD_GUEST_GENERATION: - gParkFlags ^= PARK_FLAGS_DIFFICULT_GUEST_GENERATION; + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETGUESTGENERATIONHIGHERDIFFICULTLEVEL, + gParkFlags & PARK_FLAGS_DIFFICULT_GUEST_GENERATION ? FALSE : TRUE, + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); window_invalidate(w); break; }