settings_gui.c
changeset 1806 5a55d508c23e
parent 1805 1dba0eb4cb47
child 1891 862800791170
equal deleted inserted replaced
1805:1dba0eb4cb47 1806:5a55d508c23e
   100 		DrawString(20, 175, STR_OPTIONS_FULLSCREEN, 0); // fullscreen
   100 		DrawString(20, 175, STR_OPTIONS_FULLSCREEN, 0); // fullscreen
   101 	}	break;
   101 	}	break;
   102 
   102 
   103 	case WE_CLICK:
   103 	case WE_CLICK:
   104 		switch (e->click.widget) {
   104 		switch (e->click.widget) {
   105 		case 5: /* Setup currencies dropdown */
   105 		case 4: case 5: /* Setup currencies dropdown */
   106 			ShowDropDownMenu(w, _currency_string_list, _opt_ptr->currency, e->click.widget, _game_mode == GM_MENU ? 0 : ~GetMaskOfAllowedCurrencies(), 0);
   106 			ShowDropDownMenu(w, _currency_string_list, _opt_ptr->currency, 5, _game_mode == GM_MENU ? 0 : ~GetMaskOfAllowedCurrencies(), 0);
   107 			return;
   107 			return;
   108 		case 8: /* Setup distance unit dropdown */
   108 		case 7: case 8: /* Setup distance unit dropdown */
   109 			ShowDropDownMenu(w, _distances_dropdown, _opt_ptr->kilometers, e->click.widget, 0, 0);
   109 			ShowDropDownMenu(w, _distances_dropdown, _opt_ptr->kilometers, 8, 0, 0);
   110 			return;
   110 			return;
   111 		case 11: { /* Setup road-side dropdown */
   111 		case 10: case 11: { /* Setup road-side dropdown */
   112 			int i = 0;
   112 			int i = 0;
   113 
   113 
   114 			/* You can only change the drive side if you are in the menu or ingame with
   114 			/* You can only change the drive side if you are in the menu or ingame with
   115 			 * no vehicles present. In a networking game only the server can change it */
   115 			 * no vehicles present. In a networking game only the server can change it */
   116 			if ((_game_mode != GM_MENU && RoadVehiclesAreBuilt()) || (_networking && !_network_server))
   116 			if ((_game_mode != GM_MENU && RoadVehiclesAreBuilt()) || (_networking && !_network_server))
   117 				i = (-1) ^ (1 << _opt_ptr->road_side); // disable the other value
   117 				i = (-1) ^ (1 << _opt_ptr->road_side); // disable the other value
   118 
   118 
   119 			ShowDropDownMenu(w, _driveside_dropdown, _opt_ptr->road_side, e->click.widget, i, 0);
   119 			ShowDropDownMenu(w, _driveside_dropdown, _opt_ptr->road_side, 11, i, 0);
   120 		} return;
   120 		} return;
   121 		case 14: { /* Setup townname dropdown */
   121 		case 13: case 14: { /* Setup townname dropdown */
   122 			int i = _opt_ptr->town_name;
   122 			int i = _opt_ptr->town_name;
   123 			ShowDropDownMenu(w, BuildDynamicDropdown(STR_TOWNNAME_ORIGINAL_ENGLISH, SPECSTR_TOWNNAME_LAST - SPECSTR_TOWNNAME_START + 1), i, e->click.widget, (_game_mode == GM_MENU) ? 0 : (-1) ^ (1 << i), 0);
   123 			ShowDropDownMenu(w, BuildDynamicDropdown(STR_TOWNNAME_ORIGINAL_ENGLISH, SPECSTR_TOWNNAME_LAST - SPECSTR_TOWNNAME_START + 1), i, 14, (_game_mode == GM_MENU) ? 0 : (-1) ^ (1 << i), 0);
   124 			return;
   124 			return;
   125 		}
   125 		}
   126 		case 17: /* Setup autosave dropdown */
   126 		case 16: case 17: /* Setup autosave dropdown */
   127 			ShowDropDownMenu(w, _autosave_dropdown, _opt_ptr->autosave, e->click.widget, 0, 0);
   127 			ShowDropDownMenu(w, _autosave_dropdown, _opt_ptr->autosave, 17, 0, 0);
   128 			return;
   128 			return;
   129 		case 20: /* Setup customized vehicle-names dropdown */
   129 		case 19: case 20: /* Setup customized vehicle-names dropdown */
   130 			ShowDropDownMenu(w, _designnames_dropdown, (_vehicle_design_names&1)?1:0, e->click.widget, (_vehicle_design_names&2)?0:2, 0);
   130 			ShowDropDownMenu(w, _designnames_dropdown, (_vehicle_design_names & 1) ? 1 : 0, 20, (_vehicle_design_names & 2) ? 0 : 2, 0);
   131 			return;
   131 			return;
   132 		case 21: /* Save customized vehicle-names to disk */
   132 		case 21: /* Save customized vehicle-names to disk */
   133 			return;
   133 			return;
   134 		case 24: /* Setup interface language dropdown */
   134 		case 23: case 24: /* Setup interface language dropdown */
   135 			ShowDropDownMenu(w, _dynlang.dropdown, _dynlang.curr, e->click.widget, 0, 0);
   135 			ShowDropDownMenu(w, _dynlang.dropdown, _dynlang.curr, 24, 0, 0);
   136 			return;
   136 			return;
   137 		case 27: /* Setup resolution dropdown */
   137 		case 26: case 27: /* Setup resolution dropdown */
   138 			ShowDropDownMenu(w, BuildDynamicDropdown(SPECSTR_RESOLUTION_START, _num_resolutions), GetCurRes(), e->click.widget, 0, 0);
   138 			ShowDropDownMenu(w, BuildDynamicDropdown(SPECSTR_RESOLUTION_START, _num_resolutions), GetCurRes(), 27, 0, 0);
   139 			return;
   139 			return;
   140 		case 28: /* Click fullscreen on/off */
   140 		case 28: /* Click fullscreen on/off */
   141 			(_fullscreen) ? CLRBIT(w->click_state, 28) : SETBIT(w->click_state, 28);
   141 			(_fullscreen) ? CLRBIT(w->click_state, 28) : SETBIT(w->click_state, 28);
   142 			ToggleFullScreen(!_fullscreen); // toggle full-screen on/off
   142 			ToggleFullScreen(!_fullscreen); // toggle full-screen on/off
   143 			SetWindowDirty(w);
   143 			SetWindowDirty(w);
   144 			return;
   144 			return;
   145 		case 31: /* Setup screenshot format dropdown */
   145 		case 30: case 31: /* Setup screenshot format dropdown */
   146 			ShowDropDownMenu(w, BuildDynamicDropdown(SPECSTR_SCREENSHOT_START, _num_screenshot_formats), _cur_screenshot_format, e->click.widget, 0, 0);
   146 			ShowDropDownMenu(w, BuildDynamicDropdown(SPECSTR_SCREENSHOT_START, _num_screenshot_formats), _cur_screenshot_format, 31, 0, 0);
   147 			return;
   147 			return;
   148 		}
   148 		}
   149 		break;
   149 		break;
   150 
   150 
   151 	case WE_DROPDOWN_SELECT:
   151 	case WE_DROPDOWN_SELECT: