Add: Setting to allow placing houses manually in-game (#13266)
This commit is contained in:
@@ -481,13 +481,21 @@ static CallBackFunction MenuClickMap(int index)
|
||||
|
||||
/* --- Town button menu --- */
|
||||
|
||||
enum TownMenuEntries {
|
||||
TME_SHOW_DIRECTORY = 0,
|
||||
TME_SHOW_FOUND_TOWN,
|
||||
TME_SHOW_PLACE_HOUSES,
|
||||
};
|
||||
|
||||
static CallBackFunction ToolbarTownClick(Window *w)
|
||||
{
|
||||
if (_settings_game.economy.found_town == TF_FORBIDDEN) {
|
||||
PopupMainToolbarMenu(w, WID_TN_TOWNS, {STR_TOWN_MENU_TOWN_DIRECTORY});
|
||||
} else {
|
||||
PopupMainToolbarMenu(w, WID_TN_TOWNS, {STR_TOWN_MENU_TOWN_DIRECTORY, STR_TOWN_MENU_FOUND_TOWN});
|
||||
}
|
||||
DropDownList list;
|
||||
list.push_back(MakeDropDownListStringItem(STR_TOWN_MENU_TOWN_DIRECTORY, TME_SHOW_DIRECTORY));
|
||||
if (_settings_game.economy.found_town != TF_FORBIDDEN) list.push_back(MakeDropDownListStringItem(STR_TOWN_MENU_FOUND_TOWN, TME_SHOW_FOUND_TOWN));
|
||||
if (_settings_game.economy.place_houses != PH_FORBIDDEN) list.push_back(MakeDropDownListStringItem(STR_SCENEDIT_TOWN_MENU_PACE_HOUSE, TME_SHOW_PLACE_HOUSES));
|
||||
|
||||
PopupMainToolbarMenu(w, WID_TN_TOWNS, std::move(list), 0);
|
||||
|
||||
return CBF_NONE;
|
||||
}
|
||||
|
||||
@@ -500,10 +508,13 @@ static CallBackFunction ToolbarTownClick(Window *w)
|
||||
static CallBackFunction MenuClickTown(int index)
|
||||
{
|
||||
switch (index) {
|
||||
case 0: ShowTownDirectory(); break;
|
||||
case 1: // setting could be changed when the dropdown was open
|
||||
case TME_SHOW_DIRECTORY: ShowTownDirectory(); break;
|
||||
case TME_SHOW_FOUND_TOWN: // Setting could be changed when the dropdown was open
|
||||
if (_settings_game.economy.found_town != TF_FORBIDDEN) ShowFoundTownWindow();
|
||||
break;
|
||||
case TME_SHOW_PLACE_HOUSES: // Setting could be changed when the dropdown was open
|
||||
if (_settings_game.economy.place_houses != PH_FORBIDDEN) ShowBuildHousePicker(nullptr);
|
||||
break;
|
||||
}
|
||||
return CBF_NONE;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user