|
@@ -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;
|
|
|
|