Changeset - r15227:6ee8e499e653
[Not reviewed]
master
0 3 0
yexo - 14 years ago 2010-05-21 06:59:45
yexo@openttd.org
(svn r19871) -Fix [FS#3826]: update the landscape buttons in the main menu / newgame window correctly (planetmaker)
3 files changed with 17 insertions and 19 deletions:
0 comments (0 inline, 0 general)
src/genworld.h
Show inline comments
 
@@ -87,6 +87,7 @@ bool IsGeneratingWorldAborted();
 
void HandleGeneratingWorldAbortion();
 

	
 
/* genworld_gui.cpp */
 
void SetNewLandscapeType(byte landscape);
 
void SetGeneratingWorldProgress(GenWorldProgress cls, uint total);
 
void IncreaseGeneratingWorldProgress(GenWorldProgress cls);
 
void PrepareGenerateWorldProgress();
src/genworld_gui.cpp
Show inline comments
 
@@ -52,11 +52,11 @@ extern void MakeNewgameSettingsLive();
 
 * Changes landscape type and sets genworld window dirty
 
 * @param landscape new landscape type
 
 */
 
static inline void SetNewLandscapeType(byte landscape)
 
void SetNewLandscapeType(byte landscape)
 
{
 
	_settings_newgame.game_creation.landscape = landscape;
 
	SetWindowClassesDirty(WC_SELECT_GAME);
 
	SetWindowClassesDirty(WC_GENERATE_LANDSCAPE);
 
	InvalidateWindowClassesData(WC_SELECT_GAME);
 
	InvalidateWindowClassesData(WC_GENERATE_LANDSCAPE);
 
}
 

	
 
/** Widgets of GenerateLandscapeWindow */
 
@@ -363,6 +363,8 @@ struct GenerateLandscapeWindow : public 
 
		this->afilter = CS_NUMERAL;
 

	
 
		this->mode = (GenenerateLandscapeWindowMode)this->window_number;
 

	
 
		this->OnInvalidateData();
 
	}
 

	
 

	
 
@@ -400,6 +402,15 @@ struct GenerateLandscapeWindow : public 
 
		}
 
	}
 

	
 
	virtual void OnInvalidateData(int data = 0)
 
	{
 
		/* Update the climate buttons */
 
		this->SetWidgetLoweredState(GLAND_TEMPERATE, _settings_newgame.game_creation.landscape == LT_TEMPERATE);
 
		this->SetWidgetLoweredState(GLAND_ARCTIC,    _settings_newgame.game_creation.landscape == LT_ARCTIC);
 
		this->SetWidgetLoweredState(GLAND_TROPICAL,  _settings_newgame.game_creation.landscape == LT_TROPIC);
 
		this->SetWidgetLoweredState(GLAND_TOYLAND,   _settings_newgame.game_creation.landscape == LT_TOYLAND);
 
	}
 

	
 
	virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize)
 
	{
 
		const StringID *strs = NULL;
 
@@ -509,11 +520,6 @@ struct GenerateLandscapeWindow : public 
 
		this->SetWidgetDisabledState(GLAND_SNOW_LEVEL_DOWN, _settings_newgame.game_creation.snow_line_height <= MIN_SNOWLINE_HEIGHT || _settings_newgame.game_creation.landscape != LT_ARCTIC);
 
		this->SetWidgetDisabledState(GLAND_SNOW_LEVEL_UP,   _settings_newgame.game_creation.snow_line_height >= MAX_SNOWLINE_HEIGHT || _settings_newgame.game_creation.landscape != LT_ARCTIC);
 

	
 
		this->SetWidgetLoweredState(GLAND_TEMPERATE, _settings_newgame.game_creation.landscape == LT_TEMPERATE);
 
		this->SetWidgetLoweredState(GLAND_ARCTIC,    _settings_newgame.game_creation.landscape == LT_ARCTIC);
 
		this->SetWidgetLoweredState(GLAND_TROPICAL,  _settings_newgame.game_creation.landscape == LT_TROPIC);
 
		this->SetWidgetLoweredState(GLAND_TOYLAND,   _settings_newgame.game_creation.landscape == LT_TOYLAND);
 

	
 
		this->DrawWidgets();
 

	
 
		this->DrawEditBox(GLAND_RANDOM_EDITBOX);
src/intro_gui.cpp
Show inline comments
 
@@ -30,12 +30,6 @@
 
#include "table/strings.h"
 
#include "table/sprites.h"
 

	
 
static inline void SetNewLandscapeType(byte landscape)
 
{
 
	_settings_newgame.game_creation.landscape = landscape;
 
	SetWindowClassesDirty(WC_SELECT_GAME);
 
}
 

	
 
enum SelectGameIntroWidgets {
 
	SGI_GENERATE_GAME,
 
	SGI_LOAD_GAME,
 
@@ -61,11 +55,10 @@ struct SelectGameWindow : public Window 
 
	SelectGameWindow(const WindowDesc *desc) : Window()
 
	{
 
		this->InitNested(desc);
 
		this->LowerWidget(_settings_newgame.game_creation.landscape + SGI_TEMPERATE_LANDSCAPE);
 
		this->SetLandscapeButtons();
 
		this->OnInvalidateData();
 
	}
 

	
 
	void SetLandscapeButtons()
 
	virtual void OnInvalidateData(int data = 0)
 
	{
 
		this->SetWidgetLoweredState(SGI_TEMPERATE_LANDSCAPE, _settings_newgame.game_creation.landscape == LT_TEMPERATE);
 
		this->SetWidgetLoweredState(SGI_ARCTIC_LANDSCAPE,    _settings_newgame.game_creation.landscape == LT_ARCTIC);
 
@@ -129,9 +122,7 @@ struct SelectGameWindow : public Window 
 

	
 
			case SGI_TEMPERATE_LANDSCAPE: case SGI_ARCTIC_LANDSCAPE:
 
			case SGI_TROPIC_LANDSCAPE: case SGI_TOYLAND_LANDSCAPE:
 
				this->RaiseWidget(_settings_newgame.game_creation.landscape + SGI_TEMPERATE_LANDSCAPE);
 
				SetNewLandscapeType(widget - SGI_TEMPERATE_LANDSCAPE);
 
				this->SetLandscapeButtons();
 
				break;
 

	
 
			case SGI_OPTIONS:         ShowGameOptions(); break;
0 comments (0 inline, 0 general)