From 28c61e706828bf8faff3530464dc43d664edecec Mon Sep 17 00:00:00 2001 From: wolfreak99 Date: Mon, 20 Feb 2017 12:15:54 -0500 Subject: [PATCH 01/26] Prepare scenario options sync --- data/language/en-GB.txt | 1 + src/openrct2/editor.c | 74 +++++++++++++++++++ src/openrct2/editor.h | 27 +++++++ src/openrct2/game.c | 1 + src/openrct2/game.h | 1 + src/openrct2/localisation/string_ids.h | 2 + src/openrct2/network/NetworkAction.cpp | 5 ++ src/openrct2/network/network.cpp | 1 + .../windows/editor_scenario_options.c | 2 + src/openrct2/windows/top_toolbar.c | 1 - 10 files changed, 114 insertions(+), 1 deletion(-) diff --git a/data/language/en-GB.txt b/data/language/en-GB.txt index ded1be152b..711cd27a14 100644 --- a/data/language/en-GB.txt +++ b/data/language/en-GB.txt @@ -4348,6 +4348,7 @@ STR_6036 :{SMALLFONT}{BLACK}Clear STR_6037 :Please select a valid RCT1 directory STR_6038 :{SMALLFONT}{BLACK}If you have RCT1 installed, set this option to its directory to load scenarios, music, etc. STR_6039 :{SMALLFONT}{BLACK}Quick demolish ride +STR_6040 :Edit Scenario Options ############# # Scenarios # diff --git a/src/openrct2/editor.c b/src/openrct2/editor.c index 12b15013e2..ab471f83a4 100644 --- a/src/openrct2/editor.c +++ b/src/openrct2/editor.c @@ -42,6 +42,7 @@ #include "world/park.h" #include "world/scenery.h" #include "world/sprite.h" +#include "network/network.h" uint8 _editorSelectedRides[128]; uint8 _editorSelectedSmallScenery[252]; @@ -534,3 +535,76 @@ bool editor_check_park() return true; } + +void game_command_edit_scenario_options(sint32* eax, sint32* ebx, sint32* ecx, sint32* edx, sint32* esi, sint32* edi, sint32* ebp) +{ + if (*ebx & GAME_COMMAND_FLAG_APPLY) { + switch (*ecx) { + case EDIT_SCENARIOOPTIONS_SETNOMONEY: + + break; + case EDIT_SCENARIOOPTIONS_SETINITIALCASH: + + break; + case EDIT_SCENARIOOPTIONS_SETINITIALLOAN: + + break; + case EDIT_SCENARIOOPTIONS_SETMAXIMUMLOANSIZE: + + break; + case EDIT_SCENARIOOPTIONS_SETANNUALINTERESTRATE: + + break; + case EDIT_SCENARIOOPTIONS_SETFORBIDMARKETINGCAMPAIGNS: + + break; + case EDIT_SCENARIOOPTIONS_SETAVERAGECASHPERGUEST: + + break; + case EDIT_SCENARIOOPTIONS_SETGUESTINITIALHAPPINESS: + + break; + case EDIT_SCENARIOOPTIONS_SETGUESTINITIALHUNGER: + + break; + case EDIT_SCENARIOOPTIONS_SETGUESTINITIALTHIRST: + + break; + case EDIT_SCENARIOOPTIONS_SETGUESTSPREFERLESSINTENSERIDES: + + break; + case EDIT_SCENARIOOPTIONS_SETGUESTSPREFERMOREINTENSERIDES: + + break; + case EDIT_SCENARIOOPTIONS_SETCOSTTOBUYLAND: + + break; + case EDIT_SCENARIOOPTIONS_SETCOSTTOBUYCONSTRUCTIONRIGHTS: + + break; + case EDIT_SCENARIOOPTIONS_SETPARKCHARGEMETHOD: + + break; + case EDIT_SCENARIOOPTIONS_SETPARKCHARGEENTRYFEE: + + break; + case EDIT_SCENARIOOPTIONS_SETFORBIDTREEREMOVAL: + + break; + case EDIT_SCENARIOOPTIONS_SETFORBIDLANDSCAPECHANGES: + + break; + case EDIT_SCENARIOOPTIONS_SETFORBIDHIGHCONSTRUCTION: + + break; + case EDIT_SCENARIOOPTIONS_SETPARKRATINGHIGHERDIFFICULTLEVEL: + + break; + case EDIT_SCENARIOOPTIONS_SETGUESTGENERATIONHIGHERDIFFICULTLEVEL: + + break; + } + window_invalidate_by_class(WC_EDITOR_SCENARIO_OPTIONS); + } + *ebx = 0; +} diff --git a/src/openrct2/editor.h b/src/openrct2/editor.h index 7466c0264c..e6f0eeff45 100644 --- a/src/openrct2/editor.h +++ b/src/openrct2/editor.h @@ -31,6 +31,31 @@ typedef enum { EDITOR_STEP_TRACK_DESIGNS_MANAGER // 7 } RCT2_EDITOR_STEP; +enum +{ + EDIT_SCENARIOOPTIONS_SETNOMONEY, + EDIT_SCENARIOOPTIONS_SETINITIALCASH, + EDIT_SCENARIOOPTIONS_SETINITIALLOAN, + EDIT_SCENARIOOPTIONS_SETMAXIMUMLOANSIZE, + EDIT_SCENARIOOPTIONS_SETANNUALINTERESTRATE, + EDIT_SCENARIOOPTIONS_SETFORBIDMARKETINGCAMPAIGNS, + EDIT_SCENARIOOPTIONS_SETAVERAGECASHPERGUEST, + EDIT_SCENARIOOPTIONS_SETGUESTINITIALHAPPINESS, + EDIT_SCENARIOOPTIONS_SETGUESTINITIALHUNGER, + EDIT_SCENARIOOPTIONS_SETGUESTINITIALTHIRST, + EDIT_SCENARIOOPTIONS_SETGUESTSPREFERLESSINTENSERIDES, + EDIT_SCENARIOOPTIONS_SETGUESTSPREFERMOREINTENSERIDES, + EDIT_SCENARIOOPTIONS_SETCOSTTOBUYLAND, + EDIT_SCENARIOOPTIONS_SETCOSTTOBUYCONSTRUCTIONRIGHTS, + EDIT_SCENARIOOPTIONS_SETPARKCHARGEMETHOD, + EDIT_SCENARIOOPTIONS_SETPARKCHARGEENTRYFEE, + EDIT_SCENARIOOPTIONS_SETFORBIDTREEREMOVAL, + EDIT_SCENARIOOPTIONS_SETFORBIDLANDSCAPECHANGES, + EDIT_SCENARIOOPTIONS_SETFORBIDHIGHCONSTRUCTION, + EDIT_SCENARIOOPTIONS_SETPARKRATINGHIGHERDIFFICULTLEVEL, + EDIT_SCENARIOOPTIONS_SETGUESTGENERATIONHIGHERDIFFICULTLEVEL, +}; + extern uint8 * gEditorSelectedObjects[OBJECT_ENTRY_GROUP_COUNT]; void editor_load(); @@ -46,4 +71,6 @@ sint32 editor_check_object_selection(); bool editor_check_object_group_at_least_one_selected(sint32 objectType); +void game_command_edit_scenario_options(sint32* eax, sint32* ebx, sint32* ecx, sint32* edx, sint32* esi, sint32* edi, sint32* ebp); + #endif diff --git a/src/openrct2/game.c b/src/openrct2/game.c index f70e54a23d..f3c72911dc 100644 --- a/src/openrct2/game.c +++ b/src/openrct2/game.c @@ -1247,4 +1247,5 @@ GAME_COMMAND_POINTER* new_game_command_table[GAME_COMMAND_COUNT] = { game_command_pickup_staff, game_command_balloon_press, game_command_modify_tile, + game_command_edit_scenario_options, }; diff --git a/src/openrct2/game.h b/src/openrct2/game.h index d58b282484..fe41d82d94 100644 --- a/src/openrct2/game.h +++ b/src/openrct2/game.h @@ -93,6 +93,7 @@ enum GAME_COMMAND { GAME_COMMAND_PICKUP_STAFF, GAME_COMMAND_BALLOON_PRESS, GAME_COMMAND_MODIFY_TILE, + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, GAME_COMMAND_COUNT }; diff --git a/src/openrct2/localisation/string_ids.h b/src/openrct2/localisation/string_ids.h index 0386647a8b..4fa0fe7e3b 100644 --- a/src/openrct2/localisation/string_ids.h +++ b/src/openrct2/localisation/string_ids.h @@ -3696,6 +3696,8 @@ enum { STR_QUICK_DEMOLISH_RIDE = 6039, + STR_ACTION_EDIT_SCENARIO_OPTIONS = 6040, + // Have to include resource strings (from scenarios and objects) for the time being now that language is partially working STR_COUNT = 32768 }; diff --git a/src/openrct2/network/NetworkAction.cpp b/src/openrct2/network/NetworkAction.cpp index 812b4766fe..a3d1c4cd57 100644 --- a/src/openrct2/network/NetworkAction.cpp +++ b/src/openrct2/network/NetworkAction.cpp @@ -226,6 +226,11 @@ const std::vector NetworkActions::Actions = { GAME_COMMAND_MODIFY_TILE } + }, { + STR_ACTION_EDIT_SCENARIO_OPTIONS, "PERMISSION_EDIT_SCENARIO_OPTIONS", + { + GAME_COMMAND_EDIT_SCENARIO_OPTIONS + } } }; diff --git a/src/openrct2/network/network.cpp b/src/openrct2/network/network.cpp index a81ee5fc9d..6efd69232e 100644 --- a/src/openrct2/network/network.cpp +++ b/src/openrct2/network/network.cpp @@ -750,6 +750,7 @@ void Network::SetupDefaultGroups() user->ToggleActionPermission(18); // Cheat user->ToggleActionPermission(20); // Passwordless login user->ToggleActionPermission(21); // Modify Tile + user->ToggleActionPermission(22); // Edit Scenario Options user->Id = 2; group_list.push_back(std::move(user)); SetDefaultGroup(1); diff --git a/src/openrct2/windows/editor_scenario_options.c b/src/openrct2/windows/editor_scenario_options.c index efd8f6fae3..23515f5a80 100644 --- a/src/openrct2/windows/editor_scenario_options.c +++ b/src/openrct2/windows/editor_scenario_options.c @@ -14,6 +14,8 @@ *****************************************************************************/ #pragma endregion +#include "../editor.h" +#include "../game.h" #include "../interface/themes.h" #include "../interface/widget.h" #include "../interface/window.h" diff --git a/src/openrct2/windows/top_toolbar.c b/src/openrct2/windows/top_toolbar.c index 35b51f622a..effe5dd24d 100644 --- a/src/openrct2/windows/top_toolbar.c +++ b/src/openrct2/windows/top_toolbar.c @@ -3065,7 +3065,6 @@ void top_toolbar_init_debug_menu(rct_window* w, rct_widget* widget) if (network_get_mode() != NETWORK_MODE_NONE) { dropdown_set_disabled(DDIDX_OBJECT_SELECTION, true); dropdown_set_disabled(DDIDX_INVENTIONS_LIST, true); - dropdown_set_disabled(DDIDX_SCENARIO_OPTIONS, true); } dropdown_set_checked(DDIDX_DEBUG_PAINT, window_find_by_class(WC_DEBUG_PAINT) != NULL); From a3b1175ed6c1ea8653968514d3e6a77553216332 Mon Sep 17 00:00:00 2001 From: wolfreak99 Date: Thu, 23 Feb 2017 08:53:22 -0500 Subject: [PATCH 02/26] Sync "Set no money" --- src/openrct2/editor.c | 24 ++++++++++++++++++- .../windows/editor_scenario_options.c | 21 +++++++--------- 2 files changed, 32 insertions(+), 13 deletions(-) diff --git a/src/openrct2/editor.c b/src/openrct2/editor.c index ab471f83a4..af08bfc54e 100644 --- a/src/openrct2/editor.c +++ b/src/openrct2/editor.c @@ -541,7 +541,29 @@ void game_command_edit_scenario_options(sint32* eax, sint32* ebx, sint32* ecx, s if (*ebx & GAME_COMMAND_FLAG_APPLY) { switch (*ecx) { case EDIT_SCENARIOOPTIONS_SETNOMONEY: - + if (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) { + if (*edx != FALSE) { + gParkFlags |= PARK_FLAGS_NO_MONEY_SCENARIO; + } + else { + gParkFlags &= PARK_FLAGS_NO_MONEY_SCENARIO; + } + } + else { + if (*edx != FALSE) { + gParkFlags |= PARK_FLAGS_NO_MONEY; + } + else { + gParkFlags &= ~PARK_FLAGS_NO_MONEY; + } + // Invalidate all windows that have anything to do with finance + window_invalidate_by_class(WC_RIDE); + window_invalidate_by_class(WC_PEEP); + window_invalidate_by_class(WC_PARK_INFORMATION); + window_invalidate_by_class(WC_FINANCES); + window_invalidate_by_class(WC_BOTTOM_TOOLBAR); + window_invalidate_by_class(WC_TOP_TOOLBAR); + } break; case EDIT_SCENARIOOPTIONS_SETINITIALCASH: diff --git a/src/openrct2/windows/editor_scenario_options.c b/src/openrct2/windows/editor_scenario_options.c index 23515f5a80..4e4983f76b 100644 --- a/src/openrct2/windows/editor_scenario_options.c +++ b/src/openrct2/windows/editor_scenario_options.c @@ -500,18 +500,15 @@ static void window_editor_scenario_options_financial_mouseup(rct_window *w, sint window_editor_scenario_options_set_page(w, widgetIndex - WIDX_TAB_1); break; case WIDX_NO_MONEY: - if (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) { - gParkFlags ^= PARK_FLAGS_NO_MONEY_SCENARIO; - } else { - gParkFlags ^= PARK_FLAGS_NO_MONEY; - // Invalidate all windows that have anything to do with finance - window_invalidate_by_class(WC_RIDE); - window_invalidate_by_class(WC_PEEP); - window_invalidate_by_class(WC_PARK_INFORMATION); - window_invalidate_by_class(WC_FINANCES); - window_invalidate_by_class(WC_BOTTOM_TOOLBAR); - window_invalidate_by_class(WC_TOP_TOOLBAR); - } + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETNOMONEY, + gParkFlags & PARK_FLAGS_NO_MONEY ? FALSE : TRUE, + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); window_invalidate(w); break; case WIDX_FORBID_MARKETING: From 0932854f7cb8ead7579f2e3b94b4a807c67bcc42 Mon Sep 17 00:00:00 2001 From: wolfreak99 Date: Thu, 23 Feb 2017 08:59:18 -0500 Subject: [PATCH 03/26] Sync "Raise / lower initial cash" --- src/openrct2/editor.c | 5 ++++- .../windows/editor_scenario_options.c | 22 +++++++++++++++---- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/src/openrct2/editor.c b/src/openrct2/editor.c index af08bfc54e..121df94093 100644 --- a/src/openrct2/editor.c +++ b/src/openrct2/editor.c @@ -566,7 +566,10 @@ void game_command_edit_scenario_options(sint32* eax, sint32* ebx, sint32* ecx, s } break; case EDIT_SCENARIOOPTIONS_SETINITIALCASH: - + gInitialCash = max(MONEY(0,00), min(MONEY(1000000,00), *edx)); + gCashEncrypted = ENCRYPT_MONEY(gInitialCash); + window_invalidate_by_class(WC_FINANCES); + window_invalidate_by_class(WC_BOTTOM_TOOLBAR); break; case EDIT_SCENARIOOPTIONS_SETINITIALLOAN: diff --git a/src/openrct2/windows/editor_scenario_options.c b/src/openrct2/windows/editor_scenario_options.c index 4e4983f76b..6f6f8d7c43 100644 --- a/src/openrct2/windows/editor_scenario_options.c +++ b/src/openrct2/windows/editor_scenario_options.c @@ -536,8 +536,15 @@ static void window_editor_scenario_options_financial_mousedown(sint32 widgetInde switch (widgetIndex) { case WIDX_INITIAL_CASH_INCREASE: if (gInitialCash < MONEY(1000000,00)) { - gInitialCash += MONEY(500,00); - gCashEncrypted = ENCRYPT_MONEY(gInitialCash); + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETINITIALCASH, + gInitialCash + MONEY(500,00), + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); } else { window_error_open(STR_CANT_INCREASE_CASH, STR_NONE); } @@ -545,8 +552,15 @@ static void window_editor_scenario_options_financial_mousedown(sint32 widgetInde break; case WIDX_INITIAL_CASH_DECREASE: if (gInitialCash > MONEY(0,00)) { - gInitialCash -= MONEY(500,00); - gCashEncrypted = ENCRYPT_MONEY(gInitialCash); + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETINITIALCASH, + gInitialCash - MONEY(500,00), + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); } else { window_error_open(STR_CANT_REDUCE_CASH, STR_NONE); } From e096314f89c8b9068f6a9f3b406b7df464fb7030 Mon Sep 17 00:00:00 2001 From: wolfreak99 Date: Thu, 23 Feb 2017 09:02:52 -0500 Subject: [PATCH 04/26] Sync "Raise / lower initial loan size" --- src/openrct2/editor.c | 4 +++- .../windows/editor_scenario_options.c | 22 +++++++++++++++---- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/src/openrct2/editor.c b/src/openrct2/editor.c index 121df94093..dcc491576e 100644 --- a/src/openrct2/editor.c +++ b/src/openrct2/editor.c @@ -572,7 +572,9 @@ void game_command_edit_scenario_options(sint32* eax, sint32* ebx, sint32* ecx, s window_invalidate_by_class(WC_BOTTOM_TOOLBAR); break; case EDIT_SCENARIOOPTIONS_SETINITIALLOAN: - + gBankLoan = max(MONEY(0,00), min(MONEY(5000000,00), *edx)); + gMaxBankLoan = max(gBankLoan, gMaxBankLoan); + window_invalidate_by_class(WC_FINANCES); break; case EDIT_SCENARIOOPTIONS_SETMAXIMUMLOANSIZE: diff --git a/src/openrct2/windows/editor_scenario_options.c b/src/openrct2/windows/editor_scenario_options.c index 6f6f8d7c43..6f32eae5cf 100644 --- a/src/openrct2/windows/editor_scenario_options.c +++ b/src/openrct2/windows/editor_scenario_options.c @@ -568,8 +568,15 @@ static void window_editor_scenario_options_financial_mousedown(sint32 widgetInde break; case WIDX_INITIAL_LOAN_INCREASE: if (gBankLoan < MONEY(5000000,00)) { - gBankLoan += MONEY(1000,00); - gMaxBankLoan = max(gBankLoan, gMaxBankLoan); + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETINITIALLOAN, + gBankLoan + MONEY(1000,00), + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); } else { window_error_open(STR_CANT_INCREASE_INIT_LOAN, STR_NONE); } @@ -577,8 +584,15 @@ static void window_editor_scenario_options_financial_mousedown(sint32 widgetInde break; case WIDX_INITIAL_LOAN_DECREASE: if (gBankLoan > MONEY(0,00)) { - gBankLoan -= MONEY(1000,00); - gMaxBankLoan = max(gBankLoan, gMaxBankLoan); + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETINITIALLOAN, + gBankLoan - MONEY(1000,00), + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); } else { window_error_open(STR_CANT_REDUCE_INIT_LOAN, STR_NONE); } From 8c07613eed66f8f741f0a34d9589c694718dcbfc Mon Sep 17 00:00:00 2001 From: wolfreak99 Date: Thu, 23 Feb 2017 09:05:06 -0500 Subject: [PATCH 05/26] Sync "Raise / lower maximum loan size" --- src/openrct2/editor.c | 4 +++- .../windows/editor_scenario_options.c | 22 +++++++++++++++---- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/src/openrct2/editor.c b/src/openrct2/editor.c index dcc491576e..485bb25c3d 100644 --- a/src/openrct2/editor.c +++ b/src/openrct2/editor.c @@ -577,7 +577,9 @@ void game_command_edit_scenario_options(sint32* eax, sint32* ebx, sint32* ecx, s window_invalidate_by_class(WC_FINANCES); break; case EDIT_SCENARIOOPTIONS_SETMAXIMUMLOANSIZE: - + gMaxBankLoan = max(MONEY(0,00), min(MONEY(5000000,00), *edx)); + gBankLoan = min(gBankLoan, gMaxBankLoan); + window_invalidate_by_class(WC_FINANCES); break; case EDIT_SCENARIOOPTIONS_SETANNUALINTERESTRATE: diff --git a/src/openrct2/windows/editor_scenario_options.c b/src/openrct2/windows/editor_scenario_options.c index 6f32eae5cf..f1f146f15b 100644 --- a/src/openrct2/windows/editor_scenario_options.c +++ b/src/openrct2/windows/editor_scenario_options.c @@ -600,8 +600,15 @@ static void window_editor_scenario_options_financial_mousedown(sint32 widgetInde break; case WIDX_MAXIMUM_LOAN_INCREASE: if (gMaxBankLoan < MONEY(5000000,00)) { - gMaxBankLoan += MONEY(1000,00); - gBankLoan = min(gBankLoan, gMaxBankLoan); + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETMAXIMUMLOANSIZE, + gMaxBankLoan + MONEY(1000,00), + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); } else { window_error_open(STR_CANT_INCREASE_MAX_LOAN, STR_NONE); } @@ -609,8 +616,15 @@ static void window_editor_scenario_options_financial_mousedown(sint32 widgetInde break; case WIDX_MAXIMUM_LOAN_DECREASE: if (gMaxBankLoan > MONEY(0,00)) { - gMaxBankLoan -= MONEY(1000,00); - gBankLoan = min(gBankLoan, gMaxBankLoan); + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETMAXIMUMLOANSIZE, + gMaxBankLoan - MONEY(1000,00), + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); } else { window_error_open(STR_CANT_REDUCE_MAX_LOAN, STR_NONE); } From 2a8481bd4835eba475b9e9b77402caf44201ec19 Mon Sep 17 00:00:00 2001 From: wolfreak99 Date: Thu, 23 Feb 2017 09:24:00 -0500 Subject: [PATCH 06/26] Sync "Raise / lower interest rate" --- src/openrct2/editor.c | 3 +- .../windows/editor_scenario_options.c | 40 +++++++++++++++++-- 2 files changed, 38 insertions(+), 5 deletions(-) diff --git a/src/openrct2/editor.c b/src/openrct2/editor.c index 485bb25c3d..02adf6c0e8 100644 --- a/src/openrct2/editor.c +++ b/src/openrct2/editor.c @@ -582,7 +582,8 @@ void game_command_edit_scenario_options(sint32* eax, sint32* ebx, sint32* ecx, s window_invalidate_by_class(WC_FINANCES); break; case EDIT_SCENARIOOPTIONS_SETANNUALINTERESTRATE: - + gBankLoanInterestRate = max(0, min(80, *edx)); + window_invalidate_by_class(WC_FINANCES); break; case EDIT_SCENARIOOPTIONS_SETFORBIDMARKETINGCAMPAIGNS: diff --git a/src/openrct2/windows/editor_scenario_options.c b/src/openrct2/windows/editor_scenario_options.c index f1f146f15b..cad7f75f0d 100644 --- a/src/openrct2/windows/editor_scenario_options.c +++ b/src/openrct2/windows/editor_scenario_options.c @@ -633,9 +633,25 @@ static void window_editor_scenario_options_financial_mousedown(sint32 widgetInde case WIDX_INTEREST_RATE_INCREASE: if (gBankLoanInterestRate < 80) { if (gBankLoanInterestRate < 0) { - gBankLoanInterestRate = 0; + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETANNUALINTERESTRATE, + 0, + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); } else { - gBankLoanInterestRate++; + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETANNUALINTERESTRATE, + gBankLoanInterestRate + 1, + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); } } else { window_error_open(STR_CANT_INCREASE_INTEREST_RATE, STR_NONE); @@ -645,9 +661,25 @@ static void window_editor_scenario_options_financial_mousedown(sint32 widgetInde case WIDX_INTEREST_RATE_DECREASE: if (gBankLoanInterestRate > 0) { if (gBankLoanInterestRate > 80) { - gBankLoanInterestRate = 80; + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETANNUALINTERESTRATE, + 80, + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); } else { - gBankLoanInterestRate--; + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETANNUALINTERESTRATE, + gBankLoanInterestRate - 1, + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); } } else { window_error_open(STR_CANT_REDUCE_INTEREST_RATE, STR_NONE); From d21d500b4a4d0e88a1fe95036d48afce4b70af88 Mon Sep 17 00:00:00 2001 From: wolfreak99 Date: Thu, 23 Feb 2017 09:27:34 -0500 Subject: [PATCH 07/26] Sync "Set forbid marketing campaigns" --- src/openrct2/editor.c | 7 ++++++- src/openrct2/windows/editor_scenario_options.c | 10 +++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/openrct2/editor.c b/src/openrct2/editor.c index 02adf6c0e8..a65598d651 100644 --- a/src/openrct2/editor.c +++ b/src/openrct2/editor.c @@ -586,7 +586,12 @@ void game_command_edit_scenario_options(sint32* eax, sint32* ebx, sint32* ecx, s window_invalidate_by_class(WC_FINANCES); break; case EDIT_SCENARIOOPTIONS_SETFORBIDMARKETINGCAMPAIGNS: - + if (*edx != FALSE) { + gParkFlags |= PARK_FLAGS_FORBID_MARKETING_CAMPAIGN; + } + else { + gParkFlags &= ~PARK_FLAGS_FORBID_MARKETING_CAMPAIGN; + } break; case EDIT_SCENARIOOPTIONS_SETAVERAGECASHPERGUEST: diff --git a/src/openrct2/windows/editor_scenario_options.c b/src/openrct2/windows/editor_scenario_options.c index cad7f75f0d..2745dbeff5 100644 --- a/src/openrct2/windows/editor_scenario_options.c +++ b/src/openrct2/windows/editor_scenario_options.c @@ -512,7 +512,15 @@ static void window_editor_scenario_options_financial_mouseup(rct_window *w, sint window_invalidate(w); break; case WIDX_FORBID_MARKETING: - gParkFlags ^= PARK_FLAGS_FORBID_MARKETING_CAMPAIGN; + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETFORBIDMARKETINGCAMPAIGNS, + gParkFlags & PARK_FLAGS_FORBID_MARKETING_CAMPAIGN ? FALSE : TRUE, + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); window_invalidate(w); break; } From c0dc1718a4562ef03378f3f2c0e10dabac8f9565 Mon Sep 17 00:00:00 2001 From: wolfreak99 Date: Thu, 23 Feb 2017 09:30:01 -0500 Subject: [PATCH 08/26] Sync "Raise / lower guest initial happiness" --- src/openrct2/editor.c | 2 +- .../windows/editor_scenario_options.c | 20 +++++++++++++++++-- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/openrct2/editor.c b/src/openrct2/editor.c index a65598d651..621a494f66 100644 --- a/src/openrct2/editor.c +++ b/src/openrct2/editor.c @@ -594,7 +594,7 @@ void game_command_edit_scenario_options(sint32* eax, sint32* ebx, sint32* ecx, s } break; case EDIT_SCENARIOOPTIONS_SETAVERAGECASHPERGUEST: - + gGuestInitialCash = max(MONEY(0, 00), min(MONEY(1000, 00), *edx)); break; case EDIT_SCENARIOOPTIONS_SETGUESTINITIALHAPPINESS: diff --git a/src/openrct2/windows/editor_scenario_options.c b/src/openrct2/windows/editor_scenario_options.c index 2745dbeff5..f8813b6e0c 100644 --- a/src/openrct2/windows/editor_scenario_options.c +++ b/src/openrct2/windows/editor_scenario_options.c @@ -863,7 +863,15 @@ static void window_editor_scenario_options_guests_mousedown(sint32 widgetIndex, switch (widgetIndex) { case WIDX_CASH_PER_GUEST_INCREASE: if (gGuestInitialCash < MONEY(1000, 00)) { - gGuestInitialCash += MONEY(1, 00); + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETAVERAGECASHPERGUEST, + gGuestInitialCash + MONEY(1, 00), + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); } else { window_error_open(STR_CANT_INCREASE_FURTHER, STR_NONE); } @@ -871,7 +879,15 @@ static void window_editor_scenario_options_guests_mousedown(sint32 widgetIndex, break; case WIDX_CASH_PER_GUEST_DECREASE: if (gGuestInitialCash > MONEY(0, 00)) { - gGuestInitialCash -= MONEY(1, 00); + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETAVERAGECASHPERGUEST, + gGuestInitialCash - MONEY(1, 00), + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); } else { window_error_open(STR_CANT_REDUCE_FURTHER, STR_NONE); } From 48ad60308ebf7ba4f03e82b439a66a9c1b907841 Mon Sep 17 00:00:00 2001 From: wolfreak99 Date: Thu, 23 Feb 2017 09:32:05 -0500 Subject: [PATCH 09/26] Sync "Raise / lower guest initial happiness" --- src/openrct2/editor.c | 2 +- .../windows/editor_scenario_options.c | 20 +++++++++++++++++-- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/openrct2/editor.c b/src/openrct2/editor.c index 621a494f66..28acd3ba9e 100644 --- a/src/openrct2/editor.c +++ b/src/openrct2/editor.c @@ -597,7 +597,7 @@ void game_command_edit_scenario_options(sint32* eax, sint32* ebx, sint32* ecx, s gGuestInitialCash = max(MONEY(0, 00), min(MONEY(1000, 00), *edx)); break; case EDIT_SCENARIOOPTIONS_SETGUESTINITIALHAPPINESS: - + gGuestInitialHappiness = max(40, min(250, *edx)); break; case EDIT_SCENARIOOPTIONS_SETGUESTINITIALHUNGER: diff --git a/src/openrct2/windows/editor_scenario_options.c b/src/openrct2/windows/editor_scenario_options.c index f8813b6e0c..17a9d8817a 100644 --- a/src/openrct2/windows/editor_scenario_options.c +++ b/src/openrct2/windows/editor_scenario_options.c @@ -895,7 +895,15 @@ static void window_editor_scenario_options_guests_mousedown(sint32 widgetIndex, break; case WIDX_GUEST_INITIAL_HAPPINESS_INCREASE: if (gGuestInitialHappiness < 250) { - gGuestInitialHappiness += 4; + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETGUESTINITIALHAPPINESS, + gGuestInitialHappiness + 4, + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); } else { window_error_open(STR_CANT_INCREASE_FURTHER, STR_NONE); } @@ -903,7 +911,15 @@ static void window_editor_scenario_options_guests_mousedown(sint32 widgetIndex, break; case WIDX_GUEST_INITIAL_HAPPINESS_DECREASE: if (gGuestInitialHappiness > 40) { - gGuestInitialHappiness -= 4; + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETGUESTINITIALHAPPINESS, + gGuestInitialHappiness - 4, + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); } else { window_error_open(STR_CANT_REDUCE_FURTHER, STR_NONE); } From 6baf971eba4d7de139e4e3c45942346bb74eed0a Mon Sep 17 00:00:00 2001 From: wolfreak99 Date: Thu, 23 Feb 2017 09:33:34 -0500 Subject: [PATCH 10/26] Sync "Raise / lower guest initial hunger" --- src/openrct2/editor.c | 2 +- .../windows/editor_scenario_options.c | 20 +++++++++++++++++-- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/openrct2/editor.c b/src/openrct2/editor.c index 28acd3ba9e..92d755309d 100644 --- a/src/openrct2/editor.c +++ b/src/openrct2/editor.c @@ -600,7 +600,7 @@ void game_command_edit_scenario_options(sint32* eax, sint32* ebx, sint32* ecx, s gGuestInitialHappiness = max(40, min(250, *edx)); break; case EDIT_SCENARIOOPTIONS_SETGUESTINITIALHUNGER: - + gGuestInitialHunger = max(40, min(250, *edx)); break; case EDIT_SCENARIOOPTIONS_SETGUESTINITIALTHIRST: diff --git a/src/openrct2/windows/editor_scenario_options.c b/src/openrct2/windows/editor_scenario_options.c index 17a9d8817a..c7fc804a19 100644 --- a/src/openrct2/windows/editor_scenario_options.c +++ b/src/openrct2/windows/editor_scenario_options.c @@ -927,7 +927,15 @@ static void window_editor_scenario_options_guests_mousedown(sint32 widgetIndex, break; case WIDX_GUEST_INITIAL_HUNGER_INCREASE: if (gGuestInitialHunger > 40) { - gGuestInitialHunger -= 4; + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETGUESTINITIALHUNGER, + gGuestInitialHunger - 4, + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); } else { window_error_open(STR_CANT_INCREASE_FURTHER, STR_NONE); } @@ -935,7 +943,15 @@ static void window_editor_scenario_options_guests_mousedown(sint32 widgetIndex, break; case WIDX_GUEST_INITIAL_HUNGER_DECREASE: if (gGuestInitialHunger < 250) { - gGuestInitialHunger += 4; + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETGUESTINITIALHUNGER, + gGuestInitialHunger + 4, + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); } else { window_error_open(STR_CANT_REDUCE_FURTHER, STR_NONE); } From 33bc414bab35dacaaea9d2f356093b3abb9ad22e Mon Sep 17 00:00:00 2001 From: wolfreak99 Date: Thu, 23 Feb 2017 09:35:04 -0500 Subject: [PATCH 11/26] Sync "Raise / lower initial guest thirst" --- src/openrct2/editor.c | 2 +- .../windows/editor_scenario_options.c | 20 +++++++++++++++++-- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/openrct2/editor.c b/src/openrct2/editor.c index 92d755309d..fad72dbf26 100644 --- a/src/openrct2/editor.c +++ b/src/openrct2/editor.c @@ -603,7 +603,7 @@ void game_command_edit_scenario_options(sint32* eax, sint32* ebx, sint32* ecx, s gGuestInitialHunger = max(40, min(250, *edx)); break; case EDIT_SCENARIOOPTIONS_SETGUESTINITIALTHIRST: - + gGuestInitialThirst = max(40, min(250, *edx)); break; case EDIT_SCENARIOOPTIONS_SETGUESTSPREFERLESSINTENSERIDES: diff --git a/src/openrct2/windows/editor_scenario_options.c b/src/openrct2/windows/editor_scenario_options.c index c7fc804a19..eb23794401 100644 --- a/src/openrct2/windows/editor_scenario_options.c +++ b/src/openrct2/windows/editor_scenario_options.c @@ -959,7 +959,15 @@ static void window_editor_scenario_options_guests_mousedown(sint32 widgetIndex, break; case WIDX_GUEST_INITIAL_THIRST_INCREASE: if (gGuestInitialThirst > 40) { - gGuestInitialThirst -= 4; + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETGUESTINITIALTHIRST, + gGuestInitialThirst - 4, + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); } else { window_error_open(STR_CANT_INCREASE_FURTHER, STR_NONE); } @@ -967,7 +975,15 @@ static void window_editor_scenario_options_guests_mousedown(sint32 widgetIndex, break; case WIDX_GUEST_INITIAL_THIRST_DECREASE: if (gGuestInitialThirst < 250) { - gGuestInitialThirst += 4; + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETGUESTINITIALTHIRST, + gGuestInitialThirst + 4, + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); } else { window_error_open(STR_CANT_REDUCE_FURTHER, STR_NONE); } From 8b3f0a4df8d4d060c663a6fff1bd8a2fda9cda83 Mon Sep 17 00:00:00 2001 From: wolfreak99 Date: Thu, 23 Feb 2017 09:38:16 -0500 Subject: [PATCH 12/26] Sync "Set guests prefer less/more intense rides" --- src/openrct2/editor.c | 14 +++++++++++-- .../windows/editor_scenario_options.c | 20 +++++++++++++++++-- 2 files changed, 30 insertions(+), 4 deletions(-) diff --git a/src/openrct2/editor.c b/src/openrct2/editor.c index fad72dbf26..abb3c25093 100644 --- a/src/openrct2/editor.c +++ b/src/openrct2/editor.c @@ -606,10 +606,20 @@ void game_command_edit_scenario_options(sint32* eax, sint32* ebx, sint32* ecx, s gGuestInitialThirst = max(40, min(250, *edx)); break; case EDIT_SCENARIOOPTIONS_SETGUESTSPREFERLESSINTENSERIDES: - + if (*edx != FALSE) { + gParkFlags |= PARK_FLAGS_PREF_LESS_INTENSE_RIDES; + } + else { + gParkFlags &= ~PARK_FLAGS_PREF_LESS_INTENSE_RIDES; + } break; case EDIT_SCENARIOOPTIONS_SETGUESTSPREFERMOREINTENSERIDES: - + if (*edx != FALSE) { + gParkFlags |= PARK_FLAGS_PREF_MORE_INTENSE_RIDES; + } + else { + gParkFlags &= ~PARK_FLAGS_PREF_MORE_INTENSE_RIDES; + } break; case EDIT_SCENARIOOPTIONS_SETCOSTTOBUYLAND: diff --git a/src/openrct2/windows/editor_scenario_options.c b/src/openrct2/windows/editor_scenario_options.c index eb23794401..5ce2c8a62b 100644 --- a/src/openrct2/windows/editor_scenario_options.c +++ b/src/openrct2/windows/editor_scenario_options.c @@ -835,11 +835,27 @@ static void window_editor_scenario_options_guests_mouseup(rct_window *w, sint32 window_editor_scenario_options_set_page(w, widgetIndex - WIDX_TAB_1); break; case WIDX_GUEST_PREFER_LESS_INTENSE_RIDES: - gParkFlags ^= PARK_FLAGS_PREF_LESS_INTENSE_RIDES; + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETGUESTSPREFERLESSINTENSERIDES, + gParkFlags & PARK_FLAGS_PREF_LESS_INTENSE_RIDES ? FALSE : TRUE, + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); window_invalidate(w); break; case WIDX_GUEST_PREFER_MORE_INTENSE_RIDES: - gParkFlags ^= PARK_FLAGS_PREF_MORE_INTENSE_RIDES; + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETGUESTSPREFERMOREINTENSERIDES, + gParkFlags & PARK_FLAGS_PREF_MORE_INTENSE_RIDES ? FALSE : TRUE, + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); window_invalidate(w); break; } From 5616b1f2604281def77f837dcddd0d2fbfcb6e9c Mon Sep 17 00:00:00 2001 From: wolfreak99 Date: Thu, 23 Feb 2017 09:41:24 -0500 Subject: [PATCH 13/26] Sync "Raise / lower cost to buy land" --- src/openrct2/editor.c | 2 +- .../windows/editor_scenario_options.c | 20 +++++++++++++++++-- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/openrct2/editor.c b/src/openrct2/editor.c index abb3c25093..c529c4242b 100644 --- a/src/openrct2/editor.c +++ b/src/openrct2/editor.c @@ -622,7 +622,7 @@ void game_command_edit_scenario_options(sint32* eax, sint32* ebx, sint32* ecx, s } break; case EDIT_SCENARIOOPTIONS_SETCOSTTOBUYLAND: - + gLandPrice = max(MONEY(5, 00), min(MONEY(200, 00), *edx)); break; case EDIT_SCENARIOOPTIONS_SETCOSTTOBUYCONSTRUCTIONRIGHTS: diff --git a/src/openrct2/windows/editor_scenario_options.c b/src/openrct2/windows/editor_scenario_options.c index 5ce2c8a62b..584596ab28 100644 --- a/src/openrct2/windows/editor_scenario_options.c +++ b/src/openrct2/windows/editor_scenario_options.c @@ -1185,7 +1185,15 @@ static void window_editor_scenario_options_park_mousedown(sint32 widgetIndex, rc switch (widgetIndex) { case WIDX_LAND_COST_INCREASE: if (gLandPrice < MONEY(200,00)) { - gLandPrice += MONEY(1,00); + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETCOSTTOBUYLAND, + gLandPrice + MONEY(1,00), + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); } else { window_error_open(STR_CANT_INCREASE_FURTHER, STR_NONE); } @@ -1193,7 +1201,15 @@ static void window_editor_scenario_options_park_mousedown(sint32 widgetIndex, rc break; case WIDX_LAND_COST_DECREASE: if (gLandPrice > MONEY(5,00)) { - gLandPrice -= MONEY(1,00); + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETCOSTTOBUYLAND, + gLandPrice - MONEY(1, 00), + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); } else { window_error_open(STR_CANT_REDUCE_FURTHER, STR_NONE); } From e5fac3c7659012afd8dbaeef6e934486736bdfec Mon Sep 17 00:00:00 2001 From: wolfreak99 Date: Thu, 23 Feb 2017 09:43:51 -0500 Subject: [PATCH 14/26] Sync "Raise / lower cost to buy construction rights" --- src/openrct2/editor.c | 2 +- .../windows/editor_scenario_options.c | 20 +++++++++++++++++-- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/openrct2/editor.c b/src/openrct2/editor.c index c529c4242b..7213090e5e 100644 --- a/src/openrct2/editor.c +++ b/src/openrct2/editor.c @@ -625,7 +625,7 @@ void game_command_edit_scenario_options(sint32* eax, sint32* ebx, sint32* ecx, s gLandPrice = max(MONEY(5, 00), min(MONEY(200, 00), *edx)); break; case EDIT_SCENARIOOPTIONS_SETCOSTTOBUYCONSTRUCTIONRIGHTS: - + gLandRightsCost = max(MONEY(5,00), min(MONEY(200,00), *edx)); break; case EDIT_SCENARIOOPTIONS_SETPARKCHARGEMETHOD: diff --git a/src/openrct2/windows/editor_scenario_options.c b/src/openrct2/windows/editor_scenario_options.c index 584596ab28..552b2f1dc3 100644 --- a/src/openrct2/windows/editor_scenario_options.c +++ b/src/openrct2/windows/editor_scenario_options.c @@ -1217,7 +1217,15 @@ static void window_editor_scenario_options_park_mousedown(sint32 widgetIndex, rc break; case WIDX_CONSTRUCTION_RIGHTS_COST_INCREASE: if (gConstructionRightsPrice < MONEY(200,00)) { - gConstructionRightsPrice += MONEY(1,00); + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETCOSTTOBUYCONSTRUCTIONRIGHTS, + gConstructionRightsPrice + MONEY(1,00), + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); } else { window_error_open(STR_CANT_INCREASE_FURTHER, STR_NONE); } @@ -1225,7 +1233,15 @@ static void window_editor_scenario_options_park_mousedown(sint32 widgetIndex, rc break; case WIDX_CONSTRUCTION_RIGHTS_COST_DECREASE: if (gConstructionRightsPrice > MONEY(5,00)) { - gConstructionRightsPrice -= MONEY(1,00); + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETCOSTTOBUYCONSTRUCTIONRIGHTS, + gConstructionRightsPrice - MONEY(1,00), + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); } else { window_error_open(STR_CANT_REDUCE_FURTHER, STR_NONE); } From 527cce062f52d7a75f3372eb40a42bd54c253685 Mon Sep 17 00:00:00 2001 From: wolfreak99 Date: Thu, 23 Feb 2017 09:48:49 -0500 Subject: [PATCH 15/26] Sync "Raise / lower park entry fee" --- src/openrct2/editor.c | 3 ++- .../windows/editor_scenario_options.c | 20 +++++++++++++++++-- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/openrct2/editor.c b/src/openrct2/editor.c index 7213090e5e..1c898c675c 100644 --- a/src/openrct2/editor.c +++ b/src/openrct2/editor.c @@ -631,7 +631,8 @@ void game_command_edit_scenario_options(sint32* eax, sint32* ebx, sint32* ecx, s break; case EDIT_SCENARIOOPTIONS_SETPARKCHARGEENTRYFEE: - + gParkEntranceFee = max(MONEY(0, 00), min(MONEY(100, 00), *edx)); + window_invalidate_by_class(WC_PARK_INFORMATION); break; case EDIT_SCENARIOOPTIONS_SETFORBIDTREEREMOVAL: diff --git a/src/openrct2/windows/editor_scenario_options.c b/src/openrct2/windows/editor_scenario_options.c index 552b2f1dc3..b97db0f340 100644 --- a/src/openrct2/windows/editor_scenario_options.c +++ b/src/openrct2/windows/editor_scenario_options.c @@ -1249,7 +1249,15 @@ static void window_editor_scenario_options_park_mousedown(sint32 widgetIndex, rc break; case WIDX_ENTRY_PRICE_INCREASE: if (gParkEntranceFee < MONEY(100,00)) { - gParkEntranceFee += MONEY(1,00); + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETPARKCHARGEENTRYFEE, + gParkEntranceFee + MONEY(1,00), + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); } else { window_error_open(STR_CANT_INCREASE_FURTHER, STR_NONE); } @@ -1257,7 +1265,15 @@ static void window_editor_scenario_options_park_mousedown(sint32 widgetIndex, rc break; case WIDX_ENTRY_PRICE_DECREASE: if (gParkEntranceFee > MONEY(0,00)) { - gParkEntranceFee -= MONEY(1,00); + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETPARKCHARGEENTRYFEE, + gParkEntranceFee - MONEY(1,00), + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); } else { window_error_open(STR_CANT_REDUCE_FURTHER, STR_NONE); } From 44c4328b36551ed2fa4206cf4920cf8964582371 Mon Sep 17 00:00:00 2001 From: wolfreak99 Date: Thu, 23 Feb 2017 09:53:10 -0500 Subject: [PATCH 16/26] Sync "Set pay for park or rides" --- src/openrct2/editor.c | 29 ++++++++++++++- .../windows/editor_scenario_options.c | 35 +++++-------------- 2 files changed, 37 insertions(+), 27 deletions(-) diff --git a/src/openrct2/editor.c b/src/openrct2/editor.c index 1c898c675c..835b23493a 100644 --- a/src/openrct2/editor.c +++ b/src/openrct2/editor.c @@ -628,7 +628,34 @@ void game_command_edit_scenario_options(sint32* eax, sint32* ebx, sint32* ecx, s gLandRightsCost = max(MONEY(5,00), min(MONEY(200,00), *edx)); break; case EDIT_SCENARIOOPTIONS_SETPARKCHARGEMETHOD: - + if (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) { + if (*edx == 0) { + if (!(gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY)) { + gParkFlags |= PARK_FLAGS_PARK_FREE_ENTRY; + gParkEntranceFee = MONEY(0, 00); + } + } + else { + if (gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY) { + gParkFlags &= ~PARK_FLAGS_PARK_FREE_ENTRY; + gParkEntranceFee = MONEY(10, 00); + } + } + } + else { + if (*edx == 0) { + if (!(gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY)) { + gParkFlags |= PARK_FLAGS_PARK_FREE_ENTRY; + } + } + else { + if (gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY) { + gParkFlags &= ~PARK_FLAGS_PARK_FREE_ENTRY; + } + } + window_invalidate_by_class(WC_PARK_INFORMATION); + window_invalidate_by_class(WC_RIDE); + } break; case EDIT_SCENARIOOPTIONS_SETPARKCHARGEENTRYFEE: gParkEntranceFee = max(MONEY(0, 00), min(MONEY(100, 00), *edx)); diff --git a/src/openrct2/windows/editor_scenario_options.c b/src/openrct2/windows/editor_scenario_options.c index b97db0f340..91c9e8b8ec 100644 --- a/src/openrct2/windows/editor_scenario_options.c +++ b/src/openrct2/windows/editor_scenario_options.c @@ -1310,32 +1310,15 @@ static void window_editor_scenario_options_park_mousedown(sint32 widgetIndex, rc static void window_editor_scenario_options_park_dropdown(rct_window *w, sint32 widgetIndex, sint32 dropdownIndex) { if (widgetIndex == WIDX_PAY_FOR_PARK_OR_RIDES_DROPDOWN && dropdownIndex != -1) { - if(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) { - if (dropdownIndex == 0) { - if (!(gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY)) { - gParkFlags |= PARK_FLAGS_PARK_FREE_ENTRY; - gParkEntranceFee = MONEY(0, 00); - } - } else { - if (gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY) { - gParkFlags &= ~PARK_FLAGS_PARK_FREE_ENTRY; - gParkEntranceFee = MONEY(10, 00); - } - } - } - else { - if (dropdownIndex == 0) { - if (!(gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY)) { - gParkFlags |= PARK_FLAGS_PARK_FREE_ENTRY; - } - } else { - if (gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY) { - gParkFlags &= ~PARK_FLAGS_PARK_FREE_ENTRY; - } - } - window_invalidate_by_class(WC_PARK_INFORMATION); - window_invalidate_by_class(WC_RIDE); - } + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETPARKCHARGEMETHOD, + dropdownIndex, + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); window_invalidate(w); } } From bc8cf81ff17c40bc2b97f5bbfd757e96117f4dc7 Mon Sep 17 00:00:00 2001 From: wolfreak99 Date: Thu, 23 Feb 2017 09:57:33 -0500 Subject: [PATCH 17/26] Sync "Set forbid tree removal" --- src/openrct2/editor.c | 7 ++++++- src/openrct2/windows/editor_scenario_options.c | 10 +++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/openrct2/editor.c b/src/openrct2/editor.c index 835b23493a..f281d2f651 100644 --- a/src/openrct2/editor.c +++ b/src/openrct2/editor.c @@ -662,7 +662,12 @@ void game_command_edit_scenario_options(sint32* eax, sint32* ebx, sint32* ecx, s window_invalidate_by_class(WC_PARK_INFORMATION); break; case EDIT_SCENARIOOPTIONS_SETFORBIDTREEREMOVAL: - + if (*edx != FALSE) { + gParkFlags |= PARK_FLAGS_FORBID_TREE_REMOVAL; + } + else { + gParkFlags &= ~PARK_FLAGS_FORBID_TREE_REMOVAL; + } break; case EDIT_SCENARIOOPTIONS_SETFORBIDLANDSCAPECHANGES: diff --git a/src/openrct2/windows/editor_scenario_options.c b/src/openrct2/windows/editor_scenario_options.c index 91c9e8b8ec..d4e11a4db9 100644 --- a/src/openrct2/windows/editor_scenario_options.c +++ b/src/openrct2/windows/editor_scenario_options.c @@ -1143,7 +1143,15 @@ static void window_editor_scenario_options_park_mouseup(rct_window *w, sint32 wi window_editor_scenario_options_set_page(w, widgetIndex - WIDX_TAB_1); break; case WIDX_FORBID_TREE_REMOVAL: - gParkFlags ^= PARK_FLAGS_FORBID_TREE_REMOVAL; + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETFORBIDTREEREMOVAL, + gParkFlags & PARK_FLAGS_FORBID_TREE_REMOVAL ? FALSE : TRUE, + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); window_invalidate(w); break; case WIDX_FORBID_LANDSCAPE_CHANGES: From 9ae00d92a097f59b3a76b776ad4206616fa817db Mon Sep 17 00:00:00 2001 From: wolfreak99 Date: Thu, 23 Feb 2017 09:58:36 -0500 Subject: [PATCH 18/26] Sync "Set forbid landscape changes" --- src/openrct2/editor.c | 7 ++++++- src/openrct2/windows/editor_scenario_options.c | 10 +++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/openrct2/editor.c b/src/openrct2/editor.c index f281d2f651..1b26b85581 100644 --- a/src/openrct2/editor.c +++ b/src/openrct2/editor.c @@ -670,7 +670,12 @@ void game_command_edit_scenario_options(sint32* eax, sint32* ebx, sint32* ecx, s } break; case EDIT_SCENARIOOPTIONS_SETFORBIDLANDSCAPECHANGES: - + if (*edx != FALSE) { + gParkFlags |= PARK_FLAGS_FORBID_LANDSCAPE_CHANGES; + } + else { + gParkFlags &= ~PARK_FLAGS_FORBID_LANDSCAPE_CHANGES; + } break; case EDIT_SCENARIOOPTIONS_SETFORBIDHIGHCONSTRUCTION: diff --git a/src/openrct2/windows/editor_scenario_options.c b/src/openrct2/windows/editor_scenario_options.c index d4e11a4db9..cfadffcd43 100644 --- a/src/openrct2/windows/editor_scenario_options.c +++ b/src/openrct2/windows/editor_scenario_options.c @@ -1155,7 +1155,15 @@ static void window_editor_scenario_options_park_mouseup(rct_window *w, sint32 wi window_invalidate(w); break; case WIDX_FORBID_LANDSCAPE_CHANGES: - gParkFlags ^= PARK_FLAGS_FORBID_LANDSCAPE_CHANGES; + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETFORBIDLANDSCAPECHANGES, + gParkFlags & PARK_FLAGS_FORBID_LANDSCAPE_CHANGES ? FALSE : TRUE, + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); window_invalidate(w); break; case WIDX_FORBID_HIGH_CONSTRUCTION: From 8f56f60841c7a4c8df7320a2e04f7ccda709e398 Mon Sep 17 00:00:00 2001 From: wolfreak99 Date: Thu, 23 Feb 2017 09:59:30 -0500 Subject: [PATCH 19/26] Sync "Set forbid high construction" --- src/openrct2/editor.c | 7 ++++++- src/openrct2/windows/editor_scenario_options.c | 10 +++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/openrct2/editor.c b/src/openrct2/editor.c index 1b26b85581..82d13ed945 100644 --- a/src/openrct2/editor.c +++ b/src/openrct2/editor.c @@ -678,7 +678,12 @@ void game_command_edit_scenario_options(sint32* eax, sint32* ebx, sint32* ecx, s } break; case EDIT_SCENARIOOPTIONS_SETFORBIDHIGHCONSTRUCTION: - + if (*edx != FALSE) { + gParkFlags |= PARK_FLAGS_FORBID_HIGH_CONSTRUCTION; + } + else { + gParkFlags &= ~PARK_FLAGS_FORBID_HIGH_CONSTRUCTION; + } break; case EDIT_SCENARIOOPTIONS_SETPARKRATINGHIGHERDIFFICULTLEVEL: diff --git a/src/openrct2/windows/editor_scenario_options.c b/src/openrct2/windows/editor_scenario_options.c index cfadffcd43..31da9c128e 100644 --- a/src/openrct2/windows/editor_scenario_options.c +++ b/src/openrct2/windows/editor_scenario_options.c @@ -1167,7 +1167,15 @@ static void window_editor_scenario_options_park_mouseup(rct_window *w, sint32 wi window_invalidate(w); break; case WIDX_FORBID_HIGH_CONSTRUCTION: - gParkFlags ^= PARK_FLAGS_FORBID_HIGH_CONSTRUCTION; + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETFORBIDHIGHCONSTRUCTION, + gParkFlags & PARK_FLAGS_FORBID_HIGH_CONSTRUCTION ? FALSE : TRUE, + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); window_invalidate(w); break; case WIDX_HARD_PARK_RATING: From d6dfb3e07933639907ccc65e5c325221fb28684a Mon Sep 17 00:00:00 2001 From: wolfreak99 Date: Thu, 23 Feb 2017 10:00:57 -0500 Subject: [PATCH 20/26] Sync "Set park rating higher difficult level" --- src/openrct2/editor.c | 7 ++++++- src/openrct2/windows/editor_scenario_options.c | 10 +++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/openrct2/editor.c b/src/openrct2/editor.c index 82d13ed945..4f61bbb0bd 100644 --- a/src/openrct2/editor.c +++ b/src/openrct2/editor.c @@ -686,7 +686,12 @@ void game_command_edit_scenario_options(sint32* eax, sint32* ebx, sint32* ecx, s } break; case EDIT_SCENARIOOPTIONS_SETPARKRATINGHIGHERDIFFICULTLEVEL: - + if (*edx != FALSE) { + gParkFlags |= PARK_FLAGS_DIFFICULT_PARK_RATING; + } + else { + gParkFlags &= ~PARK_FLAGS_DIFFICULT_PARK_RATING; + } break; case EDIT_SCENARIOOPTIONS_SETGUESTGENERATIONHIGHERDIFFICULTLEVEL: diff --git a/src/openrct2/windows/editor_scenario_options.c b/src/openrct2/windows/editor_scenario_options.c index 31da9c128e..cf6b63b57c 100644 --- a/src/openrct2/windows/editor_scenario_options.c +++ b/src/openrct2/windows/editor_scenario_options.c @@ -1179,7 +1179,15 @@ static void window_editor_scenario_options_park_mouseup(rct_window *w, sint32 wi window_invalidate(w); break; case WIDX_HARD_PARK_RATING: - gParkFlags ^= PARK_FLAGS_DIFFICULT_PARK_RATING; + game_do_command( + 0, + GAME_COMMAND_FLAG_APPLY, + EDIT_SCENARIOOPTIONS_SETPARKRATINGHIGHERDIFFICULTLEVEL, + gParkFlags & PARK_FLAGS_DIFFICULT_PARK_RATING ? FALSE : TRUE, + GAME_COMMAND_EDIT_SCENARIO_OPTIONS, + 0, + 0 + ); window_invalidate(w); break; case WIDX_HARD_GUEST_GENERATION: From d22ad8abb54358d18c2772e57cc53255e1238fd1 Mon Sep 17 00:00:00 2001 From: wolfreak99 Date: Thu, 23 Feb 2017 10:02:03 -0500 Subject: [PATCH 21/26] Sync "Set guest generation higher difficult level" --- src/openrct2/editor.c | 7 ++++++- src/openrct2/windows/editor_scenario_options.c | 10 +++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) 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; } From 94c52a5bbfb3ce018b25bf116625873b2c864e7c Mon Sep 17 00:00:00 2001 From: wolfreak99 Date: Thu, 23 Feb 2017 10:05:43 -0500 Subject: [PATCH 22/26] Update changelog --- distribution/changelog.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/distribution/changelog.txt b/distribution/changelog.txt index 3502c6779d..9f54f9b8f2 100644 --- a/distribution/changelog.txt +++ b/distribution/changelog.txt @@ -3,6 +3,7 @@ - Feature: [#1730] Keyboard shortcuts for track construction. - Feature: [#5110] The tile inspector can now be used in multiplayer. - Feature: [#5305] Add scenery eye dropper tool. +- Improved: [#5254] Scenario option changes are now synchronised over multiplayer. - Improved: [#3288] Added server description and greeting textboxes to the start server menu. - Improved: [#5137] Removing all guests no longer closes the rides and removes the vehicles. - Improved: [#5163] Minor tile inspector improvements and fixes. From fcafd9576abf2ecc2a54ab78b0bfb35479079544 Mon Sep 17 00:00:00 2001 From: wolfreak99 Date: Fri, 24 Feb 2017 01:57:36 -0500 Subject: [PATCH 23/26] Replace FALSE/TRUE with 0/1 --- src/openrct2/editor.c | 20 +++++++++---------- .../windows/editor_scenario_options.c | 18 ++++++++--------- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/src/openrct2/editor.c b/src/openrct2/editor.c index 41782aba3e..288b86ac44 100644 --- a/src/openrct2/editor.c +++ b/src/openrct2/editor.c @@ -542,7 +542,7 @@ void game_command_edit_scenario_options(sint32* eax, sint32* ebx, sint32* ecx, s switch (*ecx) { case EDIT_SCENARIOOPTIONS_SETNOMONEY: if (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) { - if (*edx != FALSE) { + if (*edx != 0) { gParkFlags |= PARK_FLAGS_NO_MONEY_SCENARIO; } else { @@ -550,7 +550,7 @@ void game_command_edit_scenario_options(sint32* eax, sint32* ebx, sint32* ecx, s } } else { - if (*edx != FALSE) { + if (*edx != 0) { gParkFlags |= PARK_FLAGS_NO_MONEY; } else { @@ -586,7 +586,7 @@ void game_command_edit_scenario_options(sint32* eax, sint32* ebx, sint32* ecx, s window_invalidate_by_class(WC_FINANCES); break; case EDIT_SCENARIOOPTIONS_SETFORBIDMARKETINGCAMPAIGNS: - if (*edx != FALSE) { + if (*edx != 0) { gParkFlags |= PARK_FLAGS_FORBID_MARKETING_CAMPAIGN; } else { @@ -606,7 +606,7 @@ void game_command_edit_scenario_options(sint32* eax, sint32* ebx, sint32* ecx, s gGuestInitialThirst = max(40, min(250, *edx)); break; case EDIT_SCENARIOOPTIONS_SETGUESTSPREFERLESSINTENSERIDES: - if (*edx != FALSE) { + if (*edx != 0) { gParkFlags |= PARK_FLAGS_PREF_LESS_INTENSE_RIDES; } else { @@ -614,7 +614,7 @@ void game_command_edit_scenario_options(sint32* eax, sint32* ebx, sint32* ecx, s } break; case EDIT_SCENARIOOPTIONS_SETGUESTSPREFERMOREINTENSERIDES: - if (*edx != FALSE) { + if (*edx != 0) { gParkFlags |= PARK_FLAGS_PREF_MORE_INTENSE_RIDES; } else { @@ -662,7 +662,7 @@ void game_command_edit_scenario_options(sint32* eax, sint32* ebx, sint32* ecx, s window_invalidate_by_class(WC_PARK_INFORMATION); break; case EDIT_SCENARIOOPTIONS_SETFORBIDTREEREMOVAL: - if (*edx != FALSE) { + if (*edx != 0) { gParkFlags |= PARK_FLAGS_FORBID_TREE_REMOVAL; } else { @@ -670,7 +670,7 @@ void game_command_edit_scenario_options(sint32* eax, sint32* ebx, sint32* ecx, s } break; case EDIT_SCENARIOOPTIONS_SETFORBIDLANDSCAPECHANGES: - if (*edx != FALSE) { + if (*edx != 0) { gParkFlags |= PARK_FLAGS_FORBID_LANDSCAPE_CHANGES; } else { @@ -678,7 +678,7 @@ void game_command_edit_scenario_options(sint32* eax, sint32* ebx, sint32* ecx, s } break; case EDIT_SCENARIOOPTIONS_SETFORBIDHIGHCONSTRUCTION: - if (*edx != FALSE) { + if (*edx != 0) { gParkFlags |= PARK_FLAGS_FORBID_HIGH_CONSTRUCTION; } else { @@ -686,7 +686,7 @@ void game_command_edit_scenario_options(sint32* eax, sint32* ebx, sint32* ecx, s } break; case EDIT_SCENARIOOPTIONS_SETPARKRATINGHIGHERDIFFICULTLEVEL: - if (*edx != FALSE) { + if (*edx != 0) { gParkFlags |= PARK_FLAGS_DIFFICULT_PARK_RATING; } else { @@ -694,7 +694,7 @@ void game_command_edit_scenario_options(sint32* eax, sint32* ebx, sint32* ecx, s } break; case EDIT_SCENARIOOPTIONS_SETGUESTGENERATIONHIGHERDIFFICULTLEVEL: - if (*edx != FALSE) { + if (*edx != 0) { gParkFlags |= PARK_FLAGS_DIFFICULT_GUEST_GENERATION; } else { diff --git a/src/openrct2/windows/editor_scenario_options.c b/src/openrct2/windows/editor_scenario_options.c index 988c8d534f..164b41d6c8 100644 --- a/src/openrct2/windows/editor_scenario_options.c +++ b/src/openrct2/windows/editor_scenario_options.c @@ -504,7 +504,7 @@ static void window_editor_scenario_options_financial_mouseup(rct_window *w, sint 0, GAME_COMMAND_FLAG_APPLY, EDIT_SCENARIOOPTIONS_SETNOMONEY, - gParkFlags & PARK_FLAGS_NO_MONEY ? FALSE : TRUE, + gParkFlags & PARK_FLAGS_NO_MONEY ? 0 : 1, GAME_COMMAND_EDIT_SCENARIO_OPTIONS, 0, 0 @@ -516,7 +516,7 @@ static void window_editor_scenario_options_financial_mouseup(rct_window *w, sint 0, GAME_COMMAND_FLAG_APPLY, EDIT_SCENARIOOPTIONS_SETFORBIDMARKETINGCAMPAIGNS, - gParkFlags & PARK_FLAGS_FORBID_MARKETING_CAMPAIGN ? FALSE : TRUE, + gParkFlags & PARK_FLAGS_FORBID_MARKETING_CAMPAIGN ? 0 : 1, GAME_COMMAND_EDIT_SCENARIO_OPTIONS, 0, 0 @@ -839,7 +839,7 @@ static void window_editor_scenario_options_guests_mouseup(rct_window *w, sint32 0, GAME_COMMAND_FLAG_APPLY, EDIT_SCENARIOOPTIONS_SETGUESTSPREFERLESSINTENSERIDES, - gParkFlags & PARK_FLAGS_PREF_LESS_INTENSE_RIDES ? FALSE : TRUE, + gParkFlags & PARK_FLAGS_PREF_LESS_INTENSE_RIDES ? 0 : 1, GAME_COMMAND_EDIT_SCENARIO_OPTIONS, 0, 0 @@ -851,7 +851,7 @@ static void window_editor_scenario_options_guests_mouseup(rct_window *w, sint32 0, GAME_COMMAND_FLAG_APPLY, EDIT_SCENARIOOPTIONS_SETGUESTSPREFERMOREINTENSERIDES, - gParkFlags & PARK_FLAGS_PREF_MORE_INTENSE_RIDES ? FALSE : TRUE, + gParkFlags & PARK_FLAGS_PREF_MORE_INTENSE_RIDES ? 0 : 1, GAME_COMMAND_EDIT_SCENARIO_OPTIONS, 0, 0 @@ -1147,7 +1147,7 @@ static void window_editor_scenario_options_park_mouseup(rct_window *w, sint32 wi 0, GAME_COMMAND_FLAG_APPLY, EDIT_SCENARIOOPTIONS_SETFORBIDTREEREMOVAL, - gParkFlags & PARK_FLAGS_FORBID_TREE_REMOVAL ? FALSE : TRUE, + gParkFlags & PARK_FLAGS_FORBID_TREE_REMOVAL ? 0 : 1, GAME_COMMAND_EDIT_SCENARIO_OPTIONS, 0, 0 @@ -1159,7 +1159,7 @@ static void window_editor_scenario_options_park_mouseup(rct_window *w, sint32 wi 0, GAME_COMMAND_FLAG_APPLY, EDIT_SCENARIOOPTIONS_SETFORBIDLANDSCAPECHANGES, - gParkFlags & PARK_FLAGS_FORBID_LANDSCAPE_CHANGES ? FALSE : TRUE, + gParkFlags & PARK_FLAGS_FORBID_LANDSCAPE_CHANGES ? 0 : 1, GAME_COMMAND_EDIT_SCENARIO_OPTIONS, 0, 0 @@ -1171,7 +1171,7 @@ static void window_editor_scenario_options_park_mouseup(rct_window *w, sint32 wi 0, GAME_COMMAND_FLAG_APPLY, EDIT_SCENARIOOPTIONS_SETFORBIDHIGHCONSTRUCTION, - gParkFlags & PARK_FLAGS_FORBID_HIGH_CONSTRUCTION ? FALSE : TRUE, + gParkFlags & PARK_FLAGS_FORBID_HIGH_CONSTRUCTION ? 0 : 1, GAME_COMMAND_EDIT_SCENARIO_OPTIONS, 0, 0 @@ -1183,7 +1183,7 @@ static void window_editor_scenario_options_park_mouseup(rct_window *w, sint32 wi 0, GAME_COMMAND_FLAG_APPLY, EDIT_SCENARIOOPTIONS_SETPARKRATINGHIGHERDIFFICULTLEVEL, - gParkFlags & PARK_FLAGS_DIFFICULT_PARK_RATING ? FALSE : TRUE, + gParkFlags & PARK_FLAGS_DIFFICULT_PARK_RATING ? 0 : 1, GAME_COMMAND_EDIT_SCENARIO_OPTIONS, 0, 0 @@ -1195,7 +1195,7 @@ static void window_editor_scenario_options_park_mouseup(rct_window *w, sint32 wi 0, GAME_COMMAND_FLAG_APPLY, EDIT_SCENARIOOPTIONS_SETGUESTGENERATIONHIGHERDIFFICULTLEVEL, - gParkFlags & PARK_FLAGS_DIFFICULT_GUEST_GENERATION ? FALSE : TRUE, + gParkFlags & PARK_FLAGS_DIFFICULT_GUEST_GENERATION ? 0 : 1, GAME_COMMAND_EDIT_SCENARIO_OPTIONS, 0, 0 From 782b37635245feb33878246a06a49ea9a9417d56 Mon Sep 17 00:00:00 2001 From: wolfreak99 Date: Fri, 24 Feb 2017 09:52:03 -0500 Subject: [PATCH 24/26] return after initial if --- src/openrct2/editor.c | 321 +++++++++++++++++++++--------------------- 1 file changed, 162 insertions(+), 159 deletions(-) diff --git a/src/openrct2/editor.c b/src/openrct2/editor.c index 288b86ac44..97c91e0e03 100644 --- a/src/openrct2/editor.c +++ b/src/openrct2/editor.c @@ -538,171 +538,174 @@ bool editor_check_park() void game_command_edit_scenario_options(sint32* eax, sint32* ebx, sint32* ecx, sint32* edx, sint32* esi, sint32* edi, sint32* ebp) { - if (*ebx & GAME_COMMAND_FLAG_APPLY) { - switch (*ecx) { - case EDIT_SCENARIOOPTIONS_SETNOMONEY: - if (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) { - if (*edx != 0) { - gParkFlags |= PARK_FLAGS_NO_MONEY_SCENARIO; - } - else { - gParkFlags &= PARK_FLAGS_NO_MONEY_SCENARIO; - } + if (!(*ebx & GAME_COMMAND_FLAG_APPLY)) { + *ebx = 0; + return; + } + + switch (*ecx) { + case EDIT_SCENARIOOPTIONS_SETNOMONEY: + if (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) { + if (*edx != 0) { + gParkFlags |= PARK_FLAGS_NO_MONEY_SCENARIO; } else { - if (*edx != 0) { - gParkFlags |= PARK_FLAGS_NO_MONEY; - } - else { - gParkFlags &= ~PARK_FLAGS_NO_MONEY; - } - // Invalidate all windows that have anything to do with finance - window_invalidate_by_class(WC_RIDE); - window_invalidate_by_class(WC_PEEP); - window_invalidate_by_class(WC_PARK_INFORMATION); - window_invalidate_by_class(WC_FINANCES); - window_invalidate_by_class(WC_BOTTOM_TOOLBAR); - window_invalidate_by_class(WC_TOP_TOOLBAR); + gParkFlags &= PARK_FLAGS_NO_MONEY_SCENARIO; } - break; - case EDIT_SCENARIOOPTIONS_SETINITIALCASH: - gInitialCash = max(MONEY(0,00), min(MONEY(1000000,00), *edx)); - gCashEncrypted = ENCRYPT_MONEY(gInitialCash); + } + else { + if (*edx != 0) { + gParkFlags |= PARK_FLAGS_NO_MONEY; + } + else { + gParkFlags &= ~PARK_FLAGS_NO_MONEY; + } + // Invalidate all windows that have anything to do with finance + window_invalidate_by_class(WC_RIDE); + window_invalidate_by_class(WC_PEEP); + window_invalidate_by_class(WC_PARK_INFORMATION); window_invalidate_by_class(WC_FINANCES); window_invalidate_by_class(WC_BOTTOM_TOOLBAR); - break; - case EDIT_SCENARIOOPTIONS_SETINITIALLOAN: - gBankLoan = max(MONEY(0,00), min(MONEY(5000000,00), *edx)); - gMaxBankLoan = max(gBankLoan, gMaxBankLoan); - window_invalidate_by_class(WC_FINANCES); - break; - case EDIT_SCENARIOOPTIONS_SETMAXIMUMLOANSIZE: - gMaxBankLoan = max(MONEY(0,00), min(MONEY(5000000,00), *edx)); - gBankLoan = min(gBankLoan, gMaxBankLoan); - window_invalidate_by_class(WC_FINANCES); - break; - case EDIT_SCENARIOOPTIONS_SETANNUALINTERESTRATE: - gBankLoanInterestRate = max(0, min(80, *edx)); - window_invalidate_by_class(WC_FINANCES); - break; - case EDIT_SCENARIOOPTIONS_SETFORBIDMARKETINGCAMPAIGNS: - if (*edx != 0) { - gParkFlags |= PARK_FLAGS_FORBID_MARKETING_CAMPAIGN; - } - else { - gParkFlags &= ~PARK_FLAGS_FORBID_MARKETING_CAMPAIGN; - } - break; - case EDIT_SCENARIOOPTIONS_SETAVERAGECASHPERGUEST: - gGuestInitialCash = max(MONEY(0, 00), min(MONEY(1000, 00), *edx)); - break; - case EDIT_SCENARIOOPTIONS_SETGUESTINITIALHAPPINESS: - gGuestInitialHappiness = max(40, min(250, *edx)); - break; - case EDIT_SCENARIOOPTIONS_SETGUESTINITIALHUNGER: - gGuestInitialHunger = max(40, min(250, *edx)); - break; - case EDIT_SCENARIOOPTIONS_SETGUESTINITIALTHIRST: - gGuestInitialThirst = max(40, min(250, *edx)); - break; - case EDIT_SCENARIOOPTIONS_SETGUESTSPREFERLESSINTENSERIDES: - if (*edx != 0) { - gParkFlags |= PARK_FLAGS_PREF_LESS_INTENSE_RIDES; - } - else { - gParkFlags &= ~PARK_FLAGS_PREF_LESS_INTENSE_RIDES; - } - break; - case EDIT_SCENARIOOPTIONS_SETGUESTSPREFERMOREINTENSERIDES: - if (*edx != 0) { - gParkFlags |= PARK_FLAGS_PREF_MORE_INTENSE_RIDES; - } - else { - gParkFlags &= ~PARK_FLAGS_PREF_MORE_INTENSE_RIDES; - } - break; - case EDIT_SCENARIOOPTIONS_SETCOSTTOBUYLAND: - gLandPrice = max(MONEY(5, 00), min(MONEY(200, 00), *edx)); - break; - case EDIT_SCENARIOOPTIONS_SETCOSTTOBUYCONSTRUCTIONRIGHTS: - gLandRightsCost = max(MONEY(5,00), min(MONEY(200,00), *edx)); - break; - case EDIT_SCENARIOOPTIONS_SETPARKCHARGEMETHOD: - if (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) { - if (*edx == 0) { - if (!(gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY)) { - gParkFlags |= PARK_FLAGS_PARK_FREE_ENTRY; - gParkEntranceFee = MONEY(0, 00); - } - } - else { - if (gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY) { - gParkFlags &= ~PARK_FLAGS_PARK_FREE_ENTRY; - gParkEntranceFee = MONEY(10, 00); - } - } - } - else { - if (*edx == 0) { - if (!(gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY)) { - gParkFlags |= PARK_FLAGS_PARK_FREE_ENTRY; - } - } - else { - if (gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY) { - gParkFlags &= ~PARK_FLAGS_PARK_FREE_ENTRY; - } - } - window_invalidate_by_class(WC_PARK_INFORMATION); - window_invalidate_by_class(WC_RIDE); - } - break; - case EDIT_SCENARIOOPTIONS_SETPARKCHARGEENTRYFEE: - gParkEntranceFee = max(MONEY(0, 00), min(MONEY(100, 00), *edx)); - window_invalidate_by_class(WC_PARK_INFORMATION); - break; - case EDIT_SCENARIOOPTIONS_SETFORBIDTREEREMOVAL: - if (*edx != 0) { - gParkFlags |= PARK_FLAGS_FORBID_TREE_REMOVAL; - } - else { - gParkFlags &= ~PARK_FLAGS_FORBID_TREE_REMOVAL; - } - break; - case EDIT_SCENARIOOPTIONS_SETFORBIDLANDSCAPECHANGES: - if (*edx != 0) { - gParkFlags |= PARK_FLAGS_FORBID_LANDSCAPE_CHANGES; - } - else { - gParkFlags &= ~PARK_FLAGS_FORBID_LANDSCAPE_CHANGES; - } - break; - case EDIT_SCENARIOOPTIONS_SETFORBIDHIGHCONSTRUCTION: - if (*edx != 0) { - gParkFlags |= PARK_FLAGS_FORBID_HIGH_CONSTRUCTION; - } - else { - gParkFlags &= ~PARK_FLAGS_FORBID_HIGH_CONSTRUCTION; - } - break; - case EDIT_SCENARIOOPTIONS_SETPARKRATINGHIGHERDIFFICULTLEVEL: - if (*edx != 0) { - gParkFlags |= PARK_FLAGS_DIFFICULT_PARK_RATING; - } - else { - gParkFlags &= ~PARK_FLAGS_DIFFICULT_PARK_RATING; - } - break; - case EDIT_SCENARIOOPTIONS_SETGUESTGENERATIONHIGHERDIFFICULTLEVEL: - if (*edx != 0) { - gParkFlags |= PARK_FLAGS_DIFFICULT_GUEST_GENERATION; - } - else { - gParkFlags &= ~PARK_FLAGS_DIFFICULT_GUEST_GENERATION; - } - break; + window_invalidate_by_class(WC_TOP_TOOLBAR); } - window_invalidate_by_class(WC_EDITOR_SCENARIO_OPTIONS); + break; + case EDIT_SCENARIOOPTIONS_SETINITIALCASH: + gInitialCash = max(MONEY(0,00), min(MONEY(1000000,00), *edx)); + gCashEncrypted = ENCRYPT_MONEY(gInitialCash); + window_invalidate_by_class(WC_FINANCES); + window_invalidate_by_class(WC_BOTTOM_TOOLBAR); + break; + case EDIT_SCENARIOOPTIONS_SETINITIALLOAN: + gBankLoan = max(MONEY(0,00), min(MONEY(5000000,00), *edx)); + gMaxBankLoan = max(gBankLoan, gMaxBankLoan); + window_invalidate_by_class(WC_FINANCES); + break; + case EDIT_SCENARIOOPTIONS_SETMAXIMUMLOANSIZE: + gMaxBankLoan = max(MONEY(0,00), min(MONEY(5000000,00), *edx)); + gBankLoan = min(gBankLoan, gMaxBankLoan); + window_invalidate_by_class(WC_FINANCES); + break; + case EDIT_SCENARIOOPTIONS_SETANNUALINTERESTRATE: + gBankLoanInterestRate = max(0, min(80, *edx)); + window_invalidate_by_class(WC_FINANCES); + break; + case EDIT_SCENARIOOPTIONS_SETFORBIDMARKETINGCAMPAIGNS: + if (*edx != 0) { + gParkFlags |= PARK_FLAGS_FORBID_MARKETING_CAMPAIGN; + } + else { + gParkFlags &= ~PARK_FLAGS_FORBID_MARKETING_CAMPAIGN; + } + break; + case EDIT_SCENARIOOPTIONS_SETAVERAGECASHPERGUEST: + gGuestInitialCash = max(MONEY(0, 00), min(MONEY(1000, 00), *edx)); + break; + case EDIT_SCENARIOOPTIONS_SETGUESTINITIALHAPPINESS: + gGuestInitialHappiness = max(40, min(250, *edx)); + break; + case EDIT_SCENARIOOPTIONS_SETGUESTINITIALHUNGER: + gGuestInitialHunger = max(40, min(250, *edx)); + break; + case EDIT_SCENARIOOPTIONS_SETGUESTINITIALTHIRST: + gGuestInitialThirst = max(40, min(250, *edx)); + break; + case EDIT_SCENARIOOPTIONS_SETGUESTSPREFERLESSINTENSERIDES: + if (*edx != 0) { + gParkFlags |= PARK_FLAGS_PREF_LESS_INTENSE_RIDES; + } + else { + gParkFlags &= ~PARK_FLAGS_PREF_LESS_INTENSE_RIDES; + } + break; + case EDIT_SCENARIOOPTIONS_SETGUESTSPREFERMOREINTENSERIDES: + if (*edx != 0) { + gParkFlags |= PARK_FLAGS_PREF_MORE_INTENSE_RIDES; + } + else { + gParkFlags &= ~PARK_FLAGS_PREF_MORE_INTENSE_RIDES; + } + break; + case EDIT_SCENARIOOPTIONS_SETCOSTTOBUYLAND: + gLandPrice = max(MONEY(5, 00), min(MONEY(200, 00), *edx)); + break; + case EDIT_SCENARIOOPTIONS_SETCOSTTOBUYCONSTRUCTIONRIGHTS: + gLandRightsCost = max(MONEY(5,00), min(MONEY(200,00), *edx)); + break; + case EDIT_SCENARIOOPTIONS_SETPARKCHARGEMETHOD: + if (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) { + if (*edx == 0) { + if (!(gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY)) { + gParkFlags |= PARK_FLAGS_PARK_FREE_ENTRY; + gParkEntranceFee = MONEY(0, 00); + } + } + else { + if (gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY) { + gParkFlags &= ~PARK_FLAGS_PARK_FREE_ENTRY; + gParkEntranceFee = MONEY(10, 00); + } + } + } + else { + if (*edx == 0) { + if (!(gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY)) { + gParkFlags |= PARK_FLAGS_PARK_FREE_ENTRY; + } + } + else { + if (gParkFlags & PARK_FLAGS_PARK_FREE_ENTRY) { + gParkFlags &= ~PARK_FLAGS_PARK_FREE_ENTRY; + } + } + window_invalidate_by_class(WC_PARK_INFORMATION); + window_invalidate_by_class(WC_RIDE); + } + break; + case EDIT_SCENARIOOPTIONS_SETPARKCHARGEENTRYFEE: + gParkEntranceFee = max(MONEY(0, 00), min(MONEY(100, 00), *edx)); + window_invalidate_by_class(WC_PARK_INFORMATION); + break; + case EDIT_SCENARIOOPTIONS_SETFORBIDTREEREMOVAL: + if (*edx != 0) { + gParkFlags |= PARK_FLAGS_FORBID_TREE_REMOVAL; + } + else { + gParkFlags &= ~PARK_FLAGS_FORBID_TREE_REMOVAL; + } + break; + case EDIT_SCENARIOOPTIONS_SETFORBIDLANDSCAPECHANGES: + if (*edx != 0) { + gParkFlags |= PARK_FLAGS_FORBID_LANDSCAPE_CHANGES; + } + else { + gParkFlags &= ~PARK_FLAGS_FORBID_LANDSCAPE_CHANGES; + } + break; + case EDIT_SCENARIOOPTIONS_SETFORBIDHIGHCONSTRUCTION: + if (*edx != 0) { + gParkFlags |= PARK_FLAGS_FORBID_HIGH_CONSTRUCTION; + } + else { + gParkFlags &= ~PARK_FLAGS_FORBID_HIGH_CONSTRUCTION; + } + break; + case EDIT_SCENARIOOPTIONS_SETPARKRATINGHIGHERDIFFICULTLEVEL: + if (*edx != 0) { + gParkFlags |= PARK_FLAGS_DIFFICULT_PARK_RATING; + } + else { + gParkFlags &= ~PARK_FLAGS_DIFFICULT_PARK_RATING; + } + break; + case EDIT_SCENARIOOPTIONS_SETGUESTGENERATIONHIGHERDIFFICULTLEVEL: + if (*edx != 0) { + gParkFlags |= PARK_FLAGS_DIFFICULT_GUEST_GENERATION; + } + else { + gParkFlags &= ~PARK_FLAGS_DIFFICULT_GUEST_GENERATION; + } + break; } + window_invalidate_by_class(WC_EDITOR_SCENARIO_OPTIONS); *ebx = 0; } From 8846d3da444b4d68bdd6ab3671b51379df8ae7a4 Mon Sep 17 00:00:00 2001 From: wolfreak99 Date: Fri, 24 Feb 2017 10:05:09 -0500 Subject: [PATCH 25/26] convert max(x,min(y,z)) to clamp --- src/openrct2/editor.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/openrct2/editor.c b/src/openrct2/editor.c index 97c91e0e03..8799657887 100644 --- a/src/openrct2/editor.c +++ b/src/openrct2/editor.c @@ -570,23 +570,23 @@ void game_command_edit_scenario_options(sint32* eax, sint32* ebx, sint32* ecx, s } break; case EDIT_SCENARIOOPTIONS_SETINITIALCASH: - gInitialCash = max(MONEY(0,00), min(MONEY(1000000,00), *edx)); + gInitialCash = clamp(MONEY(0, 00), *edx, MONEY(1000000, 00)); gCashEncrypted = ENCRYPT_MONEY(gInitialCash); window_invalidate_by_class(WC_FINANCES); window_invalidate_by_class(WC_BOTTOM_TOOLBAR); break; case EDIT_SCENARIOOPTIONS_SETINITIALLOAN: - gBankLoan = max(MONEY(0,00), min(MONEY(5000000,00), *edx)); + gBankLoan = clamp(MONEY(0,00), *edx, MONEY(5000000,00)); gMaxBankLoan = max(gBankLoan, gMaxBankLoan); window_invalidate_by_class(WC_FINANCES); break; case EDIT_SCENARIOOPTIONS_SETMAXIMUMLOANSIZE: - gMaxBankLoan = max(MONEY(0,00), min(MONEY(5000000,00), *edx)); + gMaxBankLoan = clamp(MONEY(0,00), *edx, MONEY(5000000,00)); gBankLoan = min(gBankLoan, gMaxBankLoan); window_invalidate_by_class(WC_FINANCES); break; case EDIT_SCENARIOOPTIONS_SETANNUALINTERESTRATE: - gBankLoanInterestRate = max(0, min(80, *edx)); + gBankLoanInterestRate = clamp(0, *edx, 80); window_invalidate_by_class(WC_FINANCES); break; case EDIT_SCENARIOOPTIONS_SETFORBIDMARKETINGCAMPAIGNS: @@ -598,16 +598,16 @@ void game_command_edit_scenario_options(sint32* eax, sint32* ebx, sint32* ecx, s } break; case EDIT_SCENARIOOPTIONS_SETAVERAGECASHPERGUEST: - gGuestInitialCash = max(MONEY(0, 00), min(MONEY(1000, 00), *edx)); + gGuestInitialCash = clamp(MONEY(0, 00), *edx, MONEY(1000, 00)); break; case EDIT_SCENARIOOPTIONS_SETGUESTINITIALHAPPINESS: - gGuestInitialHappiness = max(40, min(250, *edx)); + gGuestInitialHappiness = clamp(40, *edx, 250); break; case EDIT_SCENARIOOPTIONS_SETGUESTINITIALHUNGER: - gGuestInitialHunger = max(40, min(250, *edx)); + gGuestInitialHunger = clamp(40, *edx, 250); break; case EDIT_SCENARIOOPTIONS_SETGUESTINITIALTHIRST: - gGuestInitialThirst = max(40, min(250, *edx)); + gGuestInitialThirst = clamp(40, *edx, 250); break; case EDIT_SCENARIOOPTIONS_SETGUESTSPREFERLESSINTENSERIDES: if (*edx != 0) { @@ -626,10 +626,10 @@ void game_command_edit_scenario_options(sint32* eax, sint32* ebx, sint32* ecx, s } break; case EDIT_SCENARIOOPTIONS_SETCOSTTOBUYLAND: - gLandPrice = max(MONEY(5, 00), min(MONEY(200, 00), *edx)); + gLandPrice = clamp(MONEY(5, 00), *edx, MONEY(200, 00)); break; case EDIT_SCENARIOOPTIONS_SETCOSTTOBUYCONSTRUCTIONRIGHTS: - gLandRightsCost = max(MONEY(5,00), min(MONEY(200,00), *edx)); + gLandRightsCost = clamp(MONEY(5,00), *edx, MONEY(200,00)); break; case EDIT_SCENARIOOPTIONS_SETPARKCHARGEMETHOD: if (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) { @@ -662,7 +662,7 @@ void game_command_edit_scenario_options(sint32* eax, sint32* ebx, sint32* ecx, s } break; case EDIT_SCENARIOOPTIONS_SETPARKCHARGEENTRYFEE: - gParkEntranceFee = max(MONEY(0, 00), min(MONEY(100, 00), *edx)); + gParkEntranceFee = clamp(MONEY(0, 00), *edx, MONEY(100, 00)); window_invalidate_by_class(WC_PARK_INFORMATION); break; case EDIT_SCENARIOOPTIONS_SETFORBIDTREEREMOVAL: From bc3e5f10572117c05a805b4d8d6cd73f70f64d58 Mon Sep 17 00:00:00 2001 From: Michael Steenbeek Date: Tue, 11 Apr 2017 14:27:26 +0200 Subject: [PATCH 26/26] Update network version --- src/openrct2/network/network.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/openrct2/network/network.h b/src/openrct2/network/network.h index b46d60c3e4..482d511a85 100644 --- a/src/openrct2/network/network.h +++ b/src/openrct2/network/network.h @@ -56,7 +56,7 @@ extern "C" { // This define specifies which version of network stream current build uses. // It is used for making sure only compatible builds get connected, even within // single OpenRCT2 version. -#define NETWORK_STREAM_VERSION "15" +#define NETWORK_STREAM_VERSION "16" #define NETWORK_STREAM_ID OPENRCT2_VERSION "-" NETWORK_STREAM_VERSION #ifdef __cplusplus