File diff r19160:4cf4b0fe34d9 → r19161:bccb19147d13
src/misc_gui.cpp
Show inline comments
 
@@ -367,109 +367,110 @@ static const NWidgetPart _nested_about_w
 
};
 

	
 
static const WindowDesc _about_desc(
 
	WDP_CENTER, 0, 0,
 
	WC_GAME_OPTIONS, WC_NONE,
 
	0,
 
	_nested_about_widgets, lengthof(_nested_about_widgets)
 
);
 

	
 
static const char * const _credits[] = {
 
	"Original design by Chris Sawyer",
 
	"Original graphics by Simon Foster",
 
	"",
 
	"The OpenTTD team (in alphabetical order):",
 
	"  Albert Hofkamp (Alberth) - GUI expert",
 
	"  Jean-Fran\xC3\xA7ois Claeys (Belugas) - GUI, newindustries and more",
 
	"  Matthijs Kooijman (blathijs) - Pathfinder-guru, pool rework",
 
	"  Christoph Elsenhans (frosch) - General coding",
 
	"  Lo\xC3\xAF""c Guilloux (glx) - Windows Expert",
 
	"  Michael Lutz (michi_cc) - Path based signals",
 
	"  Owen Rudge (orudge) - Forum host, OS/2 port",
 
	"  Peter Nelson (peter1138) - Spiritual descendant from NewGRF gods",
 
	"  Ingo von Borstel (planetmaker) - Support",
 
	"  Remko Bijker (Rubidium) - Lead coder and way more",
 
	"  Zden\xC4\x9Bk Sojka (SmatZ) - Bug finder and fixer",
 
	"  Jos\xC3\xA9 Soler (Terkhen) - General coding",
 
	"  Thijs Marinussen (Yexo) - AI Framework",
 
	"",
 
	"Inactive Developers:",
 
	"  Bjarni Corfitzen (Bjarni) - MacOSX port, coder and vehicles",
 
	"  Victor Fischer (Celestar) - Programming everywhere you need him to",
 
	"  Tam\xC3\xA1s Farag\xC3\xB3 (Darkvater) - Ex-Lead coder",
 
	"  Jaroslav Mazanec (KUDr) - YAPG (Yet Another Pathfinder God) ;)",
 
	"  Jonathan Coome (Maedhros) - High priest of the NewGRF Temple",
 
	"  Attila B\xC3\xA1n (MiHaMiX) - Developer WebTranslator 1 and 2",
 
	"  Christoph Mallon (Tron) - Programmer, code correctness police",
 
	"",
 
	"Retired Developers:",
 
	"  Ludvig Strigeus (ludde) - OpenTTD author, main coder (0.1 - 0.3.3)",
 
	"  Serge Paquet (vurlix) - Assistant project manager, coder (0.1 - 0.3.3)",
 
	"  Dominik Scherer (dominik81) - Lead programmer, GUI expert (0.3.0 - 0.3.6)",
 
	"  Benedikt Br\xC3\xBCggemeier (skidd13) - Bug fixer and code reworker",
 
	"  Patric Stout (TrueBrain) - NoProgrammer (0.3 - 1.2), sys op (active)",
 
	"",
 
	"Special thanks go out to:",
 
	"  Josef Drexler - For his great work on TTDPatch",
 
	"  Marcin Grzegorczyk - For describing Transport Tycoon Deluxe internals",
 
	"  Petr Baudi\xC5\xA1 (pasky) - Many patches, newGRF support",
 
	"  Simon Sasburg (HackyKid) - Many bugfixes he has blessed us with",
 
	"  Stefan Mei\xC3\x9Fner (sign_de) - For his work on the console",
 
	"  Simon Sasburg (HackyKid) - Many bugfixes he has blessed us with",
 
	"  Mike Ragsdale - OpenTTD installer",
 
	"  Cian Duffy (MYOB) - BeOS port / manual writing",
 
	"  Christian Rosentreter (tokai) - MorphOS / AmigaOS port",
 
	"  Richard Kempton (richK) - additional airports, initial TGP implementation",
 
	"",
 
	"  Alberto Demichelis - Squirrel scripting language \xC2\xA9 2003-2008",
 
	"  L. Peter Deutsch - MD5 implementation \xC2\xA9 1999, 2000, 2002",
 
	"  Michael Blunck - Pre-Signals and Semaphores \xC2\xA9 2003",
 
	"  Michael Blunck - Pre-signals and semaphores \xC2\xA9 2003",
 
	"  George - Canal/Lock graphics \xC2\xA9 2003-2004",
 
	"  Andrew Parkhouse - River graphics",
 
	"  David Dallaston - Tram tracks",
 
	"  Marcin Grzegorczyk - Foundations for Tracks on Slopes",
 
	"  Andrew Parkhouse (andythenorth) - River graphics",
 
	"  David Dallaston (Pikka) - Tram tracks",
 
	"  Marcin Grzegorczyk - Foundations for tracks on slopes",
 
	"  All Translators - Who made OpenTTD a truly international game",
 
	"  Bug Reporters - Without whom OpenTTD would still be full of bugs!",
 
	"",
 
	"",
 
	"And last but not least:",
 
	"  Chris Sawyer - For an amazing game!"
 
};
 

	
 
struct AboutWindow : public Window {
 
	int text_position;                       ///< The top of the scrolling text
 
	byte counter;                            ///< Used to scroll the text every 5 ticks
 
	int line_height;                         ///< The height of a single line
 
	static const int num_visible_lines = 19; ///< The number of lines visible simultaneously
 

	
 
	AboutWindow() : Window()
 
	{
 
		this->InitNested(&_about_desc, WN_GAME_OPTIONS_ABOUT);
 

	
 
		this->counter = 5;
 
		this->text_position = this->GetWidget<NWidgetBase>(WID_A_SCROLLING_TEXT)->pos_y + this->GetWidget<NWidgetBase>(WID_A_SCROLLING_TEXT)->current_y;
 
	}
 

	
 
	virtual void SetStringParameters(int widget) const
 
	{
 
		if (widget == WID_A_WEBSITE) SetDParamStr(0, "Website: http://www.openttd.org");
 
	}
 

	
 
	virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize)
 
	{
 
		if (widget != WID_A_SCROLLING_TEXT) return;
 

	
 
		this->line_height = FONT_HEIGHT_NORMAL;
 

	
 
		Dimension d;
 
		d.height = this->line_height * num_visible_lines;
 

	
 
		d.width = 0;
 
		for (uint i = 0; i < lengthof(_credits); i++) {
 
			d.width = max(d.width, GetStringBoundingBox(_credits[i]).width);
 
		}
 
		*size = maxdim(*size, d);
 
	}
 

	
 
	virtual void DrawWidget(const Rect &r, int widget) const
 
	{
 
		if (widget != WID_A_SCROLLING_TEXT) return;
 

	
 
		int y = this->text_position;