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: |