(svn r24790) -Remove: Classic difficulty profiles.

This commit is contained in:
frosch
2012-12-05 19:36:41 +00:00
parent 9ef1c5f4c3
commit 76fef0843c
78 changed files with 137 additions and 761 deletions

View File

@@ -701,19 +701,11 @@ public:
{
this->InitNested(desc, WN_GAME_OPTIONS_GAME_DIFFICULTY);
/* Setup disabled buttons when creating window
* disable all other difficulty buttons during gameplay except for 'custom' */
this->SetWidgetsDisabledState(_game_mode != GM_MENU,
WID_GD_LVL_EASY,
WID_GD_LVL_MEDIUM,
WID_GD_LVL_HARD,
WID_GD_LVL_CUSTOM,
WIDGET_LIST_END);
this->SetWidgetDisabledState(WID_GD_HIGHSCORE, _game_mode == GM_EDITOR || _networking); // highscore chart in multiplayer
this->SetWidgetDisabledState(WID_GD_ACCEPT, _networking && !_network_server); // Save-button in multiplayer (and if client)
/* Read data */
this->OnInvalidateData(GOID_DIFFICULTY_CHANGED);
this->opt_mod_temp = GetGameSettings();
}
virtual void SetStringParameters(int widget) const
@@ -774,9 +766,6 @@ public:
/* save value in temporary variable */
WriteValue(GetVariableAddress(&this->opt_mod_temp, &sd->save), sd->save.conv, val);
this->RaiseWidget(WID_GD_LVL_EASY + this->opt_mod_temp.difficulty.diff_level);
SetDifficultyLevel(3, &this->opt_mod_temp.difficulty); // set difficulty level to custom
this->LowerWidget(WID_GD_LVL_CUSTOM);
this->InvalidateData();
if (widget / 3 == 0 &&
@@ -788,28 +777,14 @@ public:
}
switch (widget) {
case WID_GD_LVL_EASY:
case WID_GD_LVL_MEDIUM:
case WID_GD_LVL_HARD:
case WID_GD_LVL_CUSTOM:
/* temporarily change difficulty level */
this->RaiseWidget(WID_GD_LVL_EASY + this->opt_mod_temp.difficulty.diff_level);
SetDifficultyLevel(widget - WID_GD_LVL_EASY, &this->opt_mod_temp.difficulty);
this->LowerWidget(WID_GD_LVL_EASY + this->opt_mod_temp.difficulty.diff_level);
this->InvalidateData();
break;
case WID_GD_HIGHSCORE: // Highscore Table
ShowHighscoreTable(this->opt_mod_temp.difficulty.diff_level, -1);
ShowHighscoreTable();
break;
case WID_GD_ACCEPT: { // Save button - save changes
GameSettings *opt_ptr = &GetGameSettings();
uint i;
GetSettingFromName("difficulty.diff_level", &i);
DoCommandP(0, i, this->opt_mod_temp.difficulty.diff_level, CMD_CHANGE_SETTING);
const SettingDesc *sd = GetSettingFromName("difficulty.max_no_competitors", &i);
for (uint btn = 0; btn != GAME_DIFFICULTY_NUM; btn++, sd++) {
int32 new_val = (int32)ReadValue(GetVariableAddress(&this->opt_mod_temp, &sd->save), sd->save.conv);
@@ -842,16 +817,6 @@ public:
{
if (!gui_scope) return;
if (data == GOID_DIFFICULTY_CHANGED) {
/* Window was created or settings were changed on server. Reread everything. */
/* Copy current settings (ingame or in intro) to temporary holding place
* change that when setting stuff, copy back on clicking 'OK' */
this->opt_mod_temp = GetGameSettings();
this->LowerWidget(WID_GD_LVL_EASY + this->opt_mod_temp.difficulty.diff_level);
}
uint i;
const SettingDesc *sd = GetSettingFromName("difficulty.max_no_competitors", &i);
for (i = 0; i < GAME_DIFFICULTY_NUM; i++, sd++) {
@@ -910,12 +875,6 @@ static const NWidgetPart _nested_game_difficulty_widgets[] = {
NWidget(WWT_CAPTION, COLOUR_MAUVE), SetDataTip(STR_DIFFICULTY_LEVEL_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
NWidget(WWT_PANEL, COLOUR_MAUVE),
NWidget(NWID_VERTICAL), SetPIP(2, 0, 2),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), SetPIP(10, 0, 10),
NWidget(WWT_TEXTBTN, COLOUR_YELLOW, WID_GD_LVL_EASY), SetDataTip(STR_DIFFICULTY_LEVEL_EASY, STR_NULL), SetFill(1, 0),
NWidget(WWT_TEXTBTN, COLOUR_YELLOW, WID_GD_LVL_MEDIUM), SetDataTip(STR_DIFFICULTY_LEVEL_MEDIUM, STR_NULL), SetFill(1, 0),
NWidget(WWT_TEXTBTN, COLOUR_YELLOW, WID_GD_LVL_HARD), SetDataTip(STR_DIFFICULTY_LEVEL_HARD, STR_NULL), SetFill(1, 0),
NWidget(WWT_TEXTBTN, COLOUR_YELLOW, WID_GD_LVL_CUSTOM), SetDataTip(STR_DIFFICULTY_LEVEL_CUSTOM, STR_NULL), SetFill(1, 0),
EndContainer(),
NWidget(NWID_HORIZONTAL), SetPIP(10, 0, 10),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREEN, WID_GD_HIGHSCORE), SetDataTip(STR_DIFFICULTY_LEVEL_HIGH_SCORE_BUTTON, STR_NULL), SetFill(1, 0),
EndContainer(),