File diff r7996:5a693b9539fb → r7997:7eff37796679
src/settings_gui.cpp
Show inline comments
 
@@ -137,25 +137,25 @@ static void GameOptionsWndProc(Window *w
 
{
 
	switch (e->event) {
 
	case WE_PAINT: {
 
		int i;
 
		StringID str = STR_02BE_DEFAULT;
 

	
 
		SetWindowWidgetDisabledState(w, 21, !(_vehicle_design_names & 1));
 
		if (!IsWindowWidgetDisabled(w, 21)) str = STR_02BF_CUSTOM;
 
		w->SetWidgetDisabledState(21, !(_vehicle_design_names & 1));
 
		if (!w->IsWidgetDisabled(21)) str = STR_02BF_CUSTOM;
 
		SetDParam(0, str);
 
		SetDParam(1, _currency_specs[_opt_ptr->currency].name);
 
		SetDParam(2, STR_UNITS_IMPERIAL + _opt_ptr->units);
 
		SetDParam(3, STR_02E9_DRIVE_ON_LEFT + _opt_ptr->road_side);
 
		SetDParam(4, TownName(_opt_ptr->town_name));
 
		SetDParam(5, _autosave_dropdown[_opt_ptr->autosave]);
 
		SetDParam(6, SPECSTR_LANGUAGE_START + _dynlang.curr);
 
		i = GetCurRes();
 
		SetDParam(7, i == _num_resolutions ? STR_RES_OTHER : SPECSTR_RESOLUTION_START + i);
 
		SetDParam(8, SPECSTR_SCREENSHOT_START + _cur_screenshot_format);
 
		SetWindowWidgetLoweredState(w, 28, _fullscreen);
 
		w->SetWidgetLoweredState(28, _fullscreen);
 

	
 
		DrawWindowWidgets(w);
 
		DrawString(20, 175, STR_OPTIONS_FULLSCREEN, TC_FROMSTRING); // fullscreen
 
	} break;
 

	
 
	case WE_CLICK:
 
@@ -199,13 +199,13 @@ static void GameOptionsWndProc(Window *w
 
			ShowDropDownMenu(w, _dynlang.dropdown, _dynlang.curr, 24, 0, 0);
 
			return;
 
		case 26: case 27: /* Setup resolution dropdown */
 
			ShowDropDownMenu(w, BuildDynamicDropdown(SPECSTR_RESOLUTION_START, _num_resolutions), GetCurRes(), 27, 0, 0);
 
			return;
 
		case 28: /* Click fullscreen on/off */
 
			SetWindowWidgetLoweredState(w, 28, !_fullscreen);
 
			w->SetWidgetLoweredState(28, !_fullscreen);
 
			ToggleFullScreen(!_fullscreen); // toggle full-screen on/off
 
			SetWindowDirty(w);
 
			return;
 
		case 30: case 31: /* Setup screenshot format dropdown */
 
			ShowDropDownMenu(w, BuildDynamicDropdown(SPECSTR_SCREENSHOT_START, _num_screenshot_formats), _cur_screenshot_format, 31, 0, 0);
 
			return;
 
@@ -449,19 +449,19 @@ static GameOptions _opt_mod_temp;
 

	
 
static void GameDifficultyWndProc(Window *w, WindowEvent *e)
 
{
 
	switch (e->event) {
 
	case WE_CREATE: // Setup disabled buttons when creating window
 
		/* disable all other difficulty buttons during gameplay except for 'custom' */
 
		SetWindowWidgetDisabledState(w,  3, _game_mode == GM_NORMAL);
 
		SetWindowWidgetDisabledState(w,  4, _game_mode == GM_NORMAL);
 
		SetWindowWidgetDisabledState(w,  5, _game_mode == GM_NORMAL);
 
		SetWindowWidgetDisabledState(w,  6, _game_mode == GM_NORMAL);
 
		SetWindowWidgetDisabledState(w,  7, _game_mode == GM_EDITOR || _networking); // highscore chart in multiplayer
 
		SetWindowWidgetDisabledState(w, 10, _networking && !_network_server); // Save-button in multiplayer (and if client)
 
		LowerWindowWidget(w, _opt_mod_temp.diff_level + 3);
 
		w->SetWidgetDisabledState( 3, _game_mode == GM_NORMAL);
 
		w->SetWidgetDisabledState( 4, _game_mode == GM_NORMAL);
 
		w->SetWidgetDisabledState( 5, _game_mode == GM_NORMAL);
 
		w->SetWidgetDisabledState( 6, _game_mode == GM_NORMAL);
 
		w->SetWidgetDisabledState( 7, _game_mode == GM_EDITOR || _networking); // highscore chart in multiplayer
 
		w->SetWidgetDisabledState(10, _networking && !_network_server); // Save-button in multiplayer (and if client)
 
		w->LowerWidget(_opt_mod_temp.diff_level + 3);
 

	
 
		break;
 
	case WE_PAINT: {
 
		uint32 click_a, click_b, disabled;
 
		int i;
 
		int y, value;
 
@@ -544,22 +544,22 @@ static void GameDifficultyWndProc(Window
 
				val = max(val,  info->min);
 
				SetBit(_difficulty_click_a, btn);
 
			}
 

	
 
			// save value in temporary variable
 
			((GDType*)&_opt_mod_temp.diff)[btn] = val;
 
			RaiseWindowWidget(w, _opt_mod_temp.diff_level + 3);
 
			w->RaiseWidget(_opt_mod_temp.diff_level + 3);
 
			SetDifficultyLevel(3, &_opt_mod_temp); // set difficulty level to custom
 
			LowerWindowWidget(w, _opt_mod_temp.diff_level + 3);
 
			w->LowerWidget(_opt_mod_temp.diff_level + 3);
 
			SetWindowDirty(w);
 
		} break;
 
		case 3: case 4: case 5: case 6: /* Easy / Medium / Hard / Custom */
 
			// temporarily change difficulty level
 
			RaiseWindowWidget(w, _opt_mod_temp.diff_level + 3);
 
			w->RaiseWidget(_opt_mod_temp.diff_level + 3);
 
			SetDifficultyLevel(e->we.click.widget - 3, &_opt_mod_temp);
 
			LowerWindowWidget(w, _opt_mod_temp.diff_level + 3);
 
			w->LowerWidget(_opt_mod_temp.diff_level + 3);
 
			SetWindowDirty(w);
 
			break;
 
		case 7: /* Highscore Table */
 
			ShowHighscoreTable(_opt_mod_temp.diff_level, -1);
 
			break;
 
		case 10: { /* Save button - save changes */
 
@@ -802,13 +802,13 @@ static void PatchesSelectionWndProc(Wind
 
					page->entries[i].setting = sd;
 
					page->entries[i].index = index;
 
				}
 
			}
 
			first_time = false;
 
		}
 
		LowerWindowWidget(w, 4);
 
		w->LowerWidget(4);
 
	} break;
 

	
 
	case WE_PAINT: {
 
		int x, y;
 
		const PatchPage *page = &_patches_page[WP(w,def_d).data_1];
 
		uint i;
 
@@ -951,15 +951,15 @@ static void PatchesSelectionWndProc(Wind
 
				}
 
			}
 

	
 
			break;
 
		}
 
		case 4: case 5: case 6: case 7: case 8: case 9:
 
			RaiseWindowWidget(w, WP(w, def_d).data_1 + 4);
 
			w->RaiseWidget(WP(w, def_d).data_1 + 4);
 
			WP(w, def_d).data_1 = e->we.click.widget - 4;
 
			LowerWindowWidget(w, WP(w, def_d).data_1 + 4);
 
			w->LowerWidget(WP(w, def_d).data_1 + 4);
 
			DeleteWindowById(WC_QUERY_STRING, 0);
 
			SetWindowDirty(w);
 
			break;
 
		}
 
		break;