diff --git a/src/citymania/cm_main.cpp b/src/citymania/cm_main.cpp index e2c92a2c1f..1ffc505812 100644 --- a/src/citymania/cm_main.cpp +++ b/src/citymania/cm_main.cpp @@ -25,7 +25,7 @@ void SwitchToMode(SwitchMode new_mode) { void ToggleSmallMap() { SmallMapWindow *w = dynamic_cast(FindWindowById(WC_SMALLMAP, 0)); if (w == nullptr) ShowSmallMap(); - delete w; + else w->Close(); } void NetworkClientSendChatToServer(const std::string &msg) { diff --git a/src/settings.cpp b/src/settings.cpp index 2a938d3ed5..5962be5d42 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -85,6 +85,7 @@ static auto &GenericSettingTables() _pathfinding_settings, _script_settings, _world_settings, + citymania::_settings, }; return _generic_setting_tables; } @@ -1720,10 +1721,3 @@ void IConsoleListSettings(const char *prefilter) IConsolePrint(CC_HELP, "Use 'setting' command to change a value."); } - -// CM -#include "statusbar_gui.h" -static bool cm_v_RedrawStatusBar(int32 p1) { - CM_RedrawStatusBar(); - return true; -} diff --git a/src/settings_table.cpp b/src/settings_table.cpp index 27fb4ef08c..d9047b4108 100644 --- a/src/settings_table.cpp +++ b/src/settings_table.cpp @@ -72,7 +72,9 @@ SettingTable _world_settings{ _world_settings_table }; #if defined(_WIN32) && !defined(DEDICATED) SettingTable _win32_settings{ _win32_settings_table }; #endif /* _WIN32 */ - +namespace citymania { + SettingTable _settings{ _citymania_settings_table }; +} // namespace citymania /* Begin - Callback Functions for the various settings. */ @@ -480,4 +482,11 @@ static void UpdateClientConfigValues() if (_network_server) NetworkServerSendConfigUpdate(); } + +// CM +#include "statusbar_gui.h" +static void cm_v_RedrawStatusBar(int32 p1) { + // TODO is this function even needed? + CM_RedrawStatusBar(); +} /* End - Callback Functions */ diff --git a/src/settings_table.h b/src/settings_table.h index d662b6a576..f4f870b4d2 100644 --- a/src/settings_table.h +++ b/src/settings_table.h @@ -37,6 +37,9 @@ extern SettingTable _world_settings; #if defined(_WIN32) && !defined(DEDICATED) extern SettingTable _win32_settings; #endif /* _WIN32 */ +namespace citymania { + extern SettingTable _settings; +} // namespace citymania static const uint GAME_DIFFICULTY_NUM = 18; extern const std::array _old_diff_settings; diff --git a/src/table/settings.ini b/src/table/settings.ini index ec96a49459..efbb3e0c78 100644 --- a/src/table/settings.ini +++ b/src/table/settings.ini @@ -48,8 +48,6 @@ static bool UpdateServerPassword(int32 p1); static bool UpdateRconPassword(int32 p1); static bool UpdateClientConfigValues(int32 p1); -static bool cm_v_RedrawStatusBar(int32 p1); - /* End - Callback Functions for the various settings */ /* Some settings do not need to be synchronised when playing in multiplayer. @@ -2756,14 +2754,6 @@ str = STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE strhelp = STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT cat = SC_BASIC -[SDTC_BOOL] -var = gui.pause_after_load -flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC -def = false -str = STR_CM_CONFIG_SETTING_PAUSE_AFTER_LOAD -strhelp = STR_CM_CONFIG_SETTING_PAUSE_AFTER_LOAD_HELPTEXT -cat = SC_BASIC - [SDTC_BOOL] var = gui.measure_tooltip flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC @@ -3038,22 +3028,6 @@ str = STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE strhelp = STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT proc = InvalidateVehTimetableWindow -[SDTC_BOOL] -var = gui.cm_open_vehicle_for_shared_clone -flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC -def = false -str = STR_CM_CONFIG_SETTING_OPEN_VEHICLE_FOR_SHARED_CLONE -strhelp = STR_CM_CONFIG_SETTING_OPEN_VEHICLE_FOR_SHARED_CLONE_HELPTEXT -cat = SC_BASIC - -[SDTC_BOOL] -var = gui.cm_open_orders_for_new_vehicles -flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC -def = false -str = STR_CM_CONFIG_SETTING_OPEN_ORDERS_FOR_NEW_VEHICLES -strhelp = STR_CM_CONFIG_SETTING_OPEN_ORDERS_FOR_NEW_VEHICLES_HELPTEXT -cat = SC_BASIC - [SDTC_BOOL] var = gui.quick_goto flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC @@ -3306,22 +3280,6 @@ str = STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS strhelp = STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT cat = SC_BASIC -[SDTC_BOOL] -var = gui.persistent_depottools -flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC -def = false -str = STR_CONFIG_SETTING_PERSISTENT_DEPOTTOOLS -strhelp = STR_CONFIG_SETTING_PERSISTENT_DEPOTTOOLS_HELPTEXT -cat = SC_BASIC - -[SDTC_BOOL] -var = gui.cm_use_improved_station_join -flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC -def = false -str = STR_CM_CONFIG_SETTING_IMPROVED_STATION_JOIN -strhelp = STR_CM_CONFIG_SETTING_IMPROVED_STATION_JOIN_HELPTEXT -cat = SC_BASIC - [SDTC_BOOL] var = gui.expenses_layout flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC @@ -4163,262 +4121,5 @@ strhelp = STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_HELPTEXT strval = STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_COMMAND cat = SC_BASIC -; //MODGUI ********************************* -[SDTC_BOOL] -var = gui.enable_ctrl_click_start_stop -flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC -def = true -str = STR_CONFIG_SETTING_CTRL_ENABLE_CTRLCLICK_STARTSTOP - -[SDTC_BOOL] -var = gui.auto_noload_on_transfer -flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC -def = true -str = STR_CONFIG_SETTING_AUTOSET_NOLOAD_ON_TRANSFER - -[SDTC_BOOL] -var = gui.auto_noload_on_unloadall -flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC -def = false -str = STR_CONFIG_SETTING_AUTOSET_NOLOAD_ON_UNLOAD - -[SDTC_VAR] -var = gui.goto_shortcuts_ctrl_lclick -type = SLE_UINT8 -flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC -guiflags = SGF_MULTISTRING -def = 1 -min = 0 -max = 6 -interval = 1 -str = STR_CONFIG_SETTING_CTRL_GOTOSHORTCUT_CTRLLCLICK -strval = STR_CONFIG_SETTING_CTRL_GOTOSHORTOPTS_NONE -proc = RedrawScreen -cat = SC_BASIC - -[SDTC_VAR] -var = gui.goto_shortcuts_shift_lclick -type = SLE_UINT8 -flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC -guiflags = SGF_MULTISTRING -def = 0 -min = 0 -max = 6 -interval = 1 -str = STR_CONFIG_SETTING_CTRL_GOTOSHORTCUT_SHIFTLCLICK -strval = STR_CONFIG_SETTING_CTRL_GOTOSHORTOPTS_NONE -proc = RedrawScreen -cat = SC_BASIC - -[SDTC_VAR] -var = gui.goto_shortcuts_ctrlshift_lclick -type = SLE_UINT8 -flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC -guiflags = SGF_MULTISTRING -def = 0 -min = 0 -max = 6 -interval = 1 -str = STR_CONFIG_SETTING_CTRL_GOTOSHORTCUT_CTRLSHIFTLCLICK -strval = STR_CONFIG_SETTING_CTRL_GOTOSHORTOPTS_NONE -proc = RedrawScreen -cat = SC_BASIC - -[SDTC_VAR] -var = gui.goto_shortcuts_alt_lclick -type = SLE_UINT8 -flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC -guiflags = SGF_MULTISTRING -def = 0 -min = 0 -max = 6 -interval = 1 -str = STR_CONFIG_SETTING_CTRL_GOTOSHORTCUT_ALTLCLICK -strval = STR_CONFIG_SETTING_CTRL_GOTOSHORTOPTS_NONE -proc = RedrawScreen -cat = SC_BASIC - -[SDTC_VAR] -var = gui.goto_shortcuts_altshift_lclick -type = SLE_UINT8 -flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC -guiflags = SGF_MULTISTRING -def = 0 -min = 0 -max = 6 -interval = 1 -str = STR_CONFIG_SETTING_CTRL_GOTOSHORTCUT_ALTSHIFTCLICK -strval = STR_CONFIG_SETTING_CTRL_GOTOSHORTOPTS_NONE -proc = RedrawScreen -cat = SC_BASIC - -[SDTC_VAR] -var = gui.goto_shortcuts_altctrl_lclick -type = SLE_UINT8 -flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC -guiflags = SGF_MULTISTRING -def = 0 -min = 0 -max = 6 -interval = 1 -str = STR_CONFIG_SETTING_CTRL_GOTOSHORTCUT_CTRLALTLCLICK -strval = STR_CONFIG_SETTING_CTRL_GOTOSHORTOPTS_NONE -proc = RedrawScreen -cat = SC_BASIC - -[SDTC_BOOL] -var = gui.old_depot_train_length_calc -flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC -def = true -str = STR_OLD_DEPOT_TRAINT_LENGTH - -[SDTC_VAR] -var = gui.cb_distance_check -type = SLE_UINT8 -flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC -def = 25 -min = 0 -max = 100 -interval = 5 -str = STR_CB_DISTANCE_CHECK -strval = STR_JUST_COMMA -proc = RedrawScreen - -[SDTC_BOOL] -var = gui.cm_land_tooltips_for_industries -flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC -def = true -str = STR_CM_CONFIG_SETTING_LAND_TOOLTIPS_FOR_INDUSTRIES -strhelp = STR_CM_CONFIG_SETTING_LAND_TOOLTIPS_FOR_INDUSTRIES_HELPTEXT - -[SDTC_BOOL] -var = gui.cm_land_tooltips_for_stations -flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC -def = true -str = STR_CM_CONFIG_SETTING_LAND_TOOLTIPS_FOR_STATIONS -strhelp = STR_CM_CONFIG_SETTING_LAND_TOOLTIPS_FOR_STATIONS_HELPTEXT - -[SDTC_BOOL] -var = gui.cm_land_tooltips_for_houses -flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC -def = false -str = STR_CM_CONFIG_SETTING_LAND_TOOLTIPS_FOR_HOUSES -strhelp = STR_CM_CONFIG_SETTING_LAND_TOOLTIPS_FOR_HOUSES_HELPTEXT - -[SDTC_BOOL] -var = gui.polyrail_double_click -flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC -def = false -str = STR_CONFIG_SETTING_POLYRAIL_DOUBLECLICK_TOOLTIPS - -[SDTC_BOOL] -var = gui.show_industry_forbidden_tiles -flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC -def = false -cat = SC_BASIC - -[SDTC_BOOL] -var = gui.runway_too_short_warn -flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC -def = true -str = STR_CONFIG_SETTING_WARN_IF_RUNWAY_IS_TOO_SHORT - -[SDTC_VAR] -var = gui.powerfund_money -type = SLE_UINT -flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC -guiflags = SGF_CURRENCY -def = 200000 -min = 0 -max = 2000000 -str = STR_CONFIG_SETTING_POWERFUND_MONEY -strval = STR_JUST_CURRENCY_LONG - -[SDTC_VAR] -var = gui.powerfund_houses -type = SLE_UINT16 -flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC -def = 10000 -min = 0 -max = 10000 -interval = 10 -str = STR_CONFIG_SETTING_POWERFUND_HOUSES -strval = STR_JUST_COMMA - -[SDTC_VAR] -var = gui.cm_fn_mod -type = SLE_UINT8 -flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC -guiflags = SGF_MULTISTRING -def = 2 -min = 0 -max = 3 -str = STR_CM_CONFIG_SETTING_MODIFIER_FN -strhelp = STR_CM_CONFIG_SETTING_MODIFIER_FN_HELPTEXT -strval = STR_CM_CONFIG_SETTING_MODIFIER_NONE -cat = SC_ADVANCED - -[SDTC_VAR] -var = gui.cm_remove_mod -type = SLE_UINT8 -flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC -guiflags = SGF_MULTISTRING -def = 2 -min = 0 -max = 3 -str = STR_CM_CONFIG_SETTING_MODIFIER_REMOVE -strhelp = STR_CM_CONFIG_SETTING_MODIFIER_REMOVE_HELPTEXT -strval = STR_CM_CONFIG_SETTING_MODIFIER_NONE -cat = SC_ADVANCED - -[SDTC_VAR] -var = gui.cm_estimate_mod -type = SLE_UINT8 -flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC -guiflags = SGF_MULTISTRING -def = 1 -min = 0 -max = 3 -str = STR_CM_CONFIG_SETTING_MODIFIER_ESTIMATE -strhelp = STR_CM_CONFIG_SETTING_MODIFIER_ESTIMATE_HELPTEXT -strval = STR_CM_CONFIG_SETTING_MODIFIER_NONE -cat = SC_ADVANCED - -[SDTC_VAR] -var = gui.cm_shaded_trees -type = SLE_UINT8 -flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC -guiflags = SGF_MULTISTRING -def = 2 -min = 0 -max = 2 -str = STR_CM_CONFIG_SETTING_SHADED_TREES -strhelp = STR_CM_CONFIG_SETTING_SHADED_TREES_HELPTEXT -strval = STR_CM_CONFIG_SETTING_SHADED_TREES_OFF -cat = SC_ADVANCED -proc = RedrawScreen - -[SDTC_BOOL] -var = gui.cm_show_apm -flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC -def = false -str = STR_CM_CONFIG_SETTING_SHOW_APM -strhelp = STR_CM_CONFIG_SETTING_SHOW_APM_HELPTEXT -cat = SC_ADVANCED -proc = cm_v_RedrawStatusBar - -[SDTC_VAR] -var = gui.cm_graph_background -type = SLE_UINT8 -flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC -guiflags = SGF_MULTISTRING -def = 0 -min = 0 -max = 1 -str = STR_CM_CONFIG_SETTING_GRAPH_BACKGROUND -strhelp = STR_CM_CONFIG_SETTING_GRAPH_BACKGROUND_HELPTEXT -strval = STR_CM_CONFIG_SETTING_GRAPH_BACKGROUND_BLACK -cat = SC_ADVANCED - [SDT_END] diff --git a/src/table/settings/CMakeLists.txt b/src/table/settings/CMakeLists.txt index f00c72051a..1ea2edb2f4 100644 --- a/src/table/settings/CMakeLists.txt +++ b/src/table/settings/CMakeLists.txt @@ -22,6 +22,7 @@ set(TABLE_INI_SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/win32_settings.ini ${CMAKE_CURRENT_SOURCE_DIR}/window_settings.ini ${CMAKE_CURRENT_SOURCE_DIR}/world_settings.ini + ${CMAKE_CURRENT_SOURCE_DIR}/citymania_settings.ini ) if (HOST_BINARY_DIR)