suggestion of mikade's - delete old mines if the collision array shows signs of filling up. This is kind of an edge case, esp now that array is up to 1024, but should prevent (easiest) way to crash by collision array overflow (endless mines/minestrikes).
/*
* Hedgewars, a free turn based strategy game
* Copyright (c) 2006-2011 Andrey Korotaev <unC0Rr@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; version 2 of the License
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
#include <QGridLayout>
#include <QLabel>
#include <QTextBrowser>
#include "about.h"
#include "hwconsts.h"
About::About(QWidget * parent) :
QWidget(parent)
{
QGridLayout *mainLayout = new QGridLayout(this);
QLabel *imageLabel = new QLabel;
QImage image(":/res/Hedgehog.png");
imageLabel->setPixmap(QPixmap::fromImage(image));
imageLabel->setScaledContents(true);
imageLabel->setMinimumWidth(2.8);
imageLabel->setMaximumWidth(280);
imageLabel->setMinimumHeight(30);
imageLabel->setMaximumHeight(300);
mainLayout->addWidget(imageLabel, 0, 0, 2, 1);
QLabel *lbl1 = new QLabel(this);
lbl1->setOpenExternalLinks(true);
lbl1->setText(
"<style type=\"text/css\">"
"a { color: #ffcc00; }"
// "a:hover { color: yellow; }"
"</style>"
"<div align=\"center\"><h1>Hedgewars</h1>"
"<h3>" + QLabel::tr("Version") + " " + *cVersionString + "</h3>"
"<p><a href=\"http://www.hedgewars.org/\">http://www.hedgewars.org/</a></p><br>" +
QLabel::tr("This program is distributed under the GNU General Public License") +
"</div>"
);
lbl1->setWordWrap(true);
mainLayout->addWidget(lbl1, 0, 1);
QTextBrowser *lbl2 = new QTextBrowser(this);
lbl2->setOpenExternalLinks(true);
lbl2->setText(
"<style type=\"text/css\">"
"a { color: #ffcc00; }"
// "a:hover { color: yellow; }"
"</style>" +
QString("<h2>") +
QLabel::tr("Developers:") +
"</h2><p>"
"Engine, frontend, net server: Andrey Korotaev <<a href=\"mailto:unC0Rr@gmail.com\">unC0Rr@gmail.com</a>><br>"
"Many frontend improvements: Igor Ulyanov <<a href=\"mailto:disinbox@gmail.com\">disinbox@gmail.com</a>><br>"
"Many engine and frontend improvements: Derek Pomery <<a href=\"mailto:nemo@m8y.org\">nemo@m8y.org</a>><br>"
"Drill rocket, Ballgun, RC Plane weapons: Martin Boze <<a href=\"mailto:afffect@gmail.com\">afffect@gmail.com</a>><br>"
"Mine number and time game settings: David A. Cuadrado <<a href=\"mailto:krawek@gmail.com\">krawek@gmail.com</a>><br>"
"Frontend improvements: Martin Minarik <<a href=\"mailto:ttsmj@pokec.sk\">ttsmj@pokec.sk</a>><br>"
"Frontend improvements: Kristian Lehmann <<a href=\"mailto:email@thexception.net\">email@thexception.net</a>><br>"
"Mac OS X/iPhone port, OpenGL-ES conversion: Vittorio Giovara <<a href=\"mailto:vittorio.giovara@gmail.com\">vittorio.giovara@gmail.com</a>><br>"
"Gamepad and Lua integration: Mario Liebisch <<a href=\"mailto:mario.liebisch@gmail.com\">mario.liebisch@gmail.com</a>><br>"
"Many engine improvements and graphics: Carlos Vives <<a href=\"mailto:mail@carlosvives.es\">mail@carlosvives.es</a>><br>"
"Few engine and frontend improvements: Richard Karolyi <<a href=\"mailto:sheepluva@ercatec.net\">sheepluva@ercatec.net</a>><br>"
"Maze maps: Henning Kühn <<a href=\"mailto:prg@cooco.de\">prg@cooco.de</a>><br>"
"Engine and frontend improvements: Henrik Rostedt <<a href=\"mailto:henrik.rostedt@gmail.com\">henrik.rostedt@gmail.com</a>><br>"
"</p><h2>" +
QLabel::tr("Art:") + "</h2>"
+ QString::fromUtf8(
"<p>John Dum <<a href=\"mailto:fizzy@gmail.com\">fizzy@gmail.com</a>>"
"<br>"
"Joshua Frese <<a href=\"mailto:joshfrese@gmail.com\">joshfrese@gmail.com</a>>"
"<br>"
"Stanko Tadić <<a href=\"mailto:stanko@mfhinc.net\">stanko@mfhinc.net</a>>"
"<br>"
"Julien Koesten <<a href=\"mailto:julienkoesten@aol.com\">julienkoesten@aol.com</a>>"
"<br>"
"Joshua O'Sullivan <<a href=\"mailto:coheedftw@hotmail.co.uk\">coheedftw@hotmail.co.uk</a>>"
"<br>"
"Nils Lück <<a href=\"mailto:nils.luck.design@gmail.com\">nils.luck.design@gmail.com</a>>"
"<br>"
"Hats: Trey Perry <<a href=\"mailto:tx.perry.j@gmail.com\">tx.perry.j@gmail.com</a>>"
"</p><h2>") +
QLabel::tr("Sounds:") + "</h2>"
"Hedgehogs voice: Stephen Alexander <<a href=\"mailto:ArmagonNo1@gmail.com\">ArmagonNo1@gmail.com</a>>"
"<br>"
"John Dum <<a href=\"mailto:fizzy@gmail.com\">fizzy@gmail.com</a>>"
"<br>"
"Jonatan Nilsson <<a href=\"mailto:jonatanfan@gmail.com\">jonatanfan@gmail.com</a>>"
"<br>"
"Daniel Martin <<a href=\"mailto:elhombresinremedio@gmail.com\">elhombresinremedio@gmail.com</a>>"
"</p><h2>" +
QLabel::tr("Translations:") + "</h2><p>"
+ QString::fromUtf8(
"Brazilian Portuguese: Romulo Fernandes Machado <<a href=\"mailto:abra185@gmail.com\">abra185@gmail.com</a>><br>"
"Bulgarian: Svetoslav Stefanov<br>"
"Czech: Petr Řezáček <<a href=\"mailto:rezacek@gmail.com\">rezacek@gmail.com</a>><br>"
"Chinese: Jie Luo <<a href=\"mailto:lililjlj@gmail.com\">lililjlj@gmail.com</a>><br>"
"English: Andrey Korotaev <<a href=\"mailto:unC0Rr@gmail.com\">unC0Rr@gmail.com</a>><br>"
"Finnish: Nina Kuisma <<a href=\"mailto:ninnnu@gmail.com\">ninnnu@gmail.com</a>><br>"
"French: Antoine Turmel <<a href=\"mailto:geekshadow@gmail.com\">geekshadow@gmail.com</a>><br>"
"German: Peter Hüwe <<a href=\"mailto:PeterHuewe@gmx.de\">PeterHuewe@gmx.de</a>>, Mario Liebisch <<a href=\"mailto:mario.liebisch@gmail.com\">mario.liebisch@gmail.com</a>><br>"
"Greek: <<a href=\"mailto:talos_kriti@yahoo.gr\">talos_kriti@yahoo.gr</a>>"
"Italian: Luca Bonora <<a href=\"mailto:bonora.luca@gmail.com\">bonora.luca@gmail.com</a>><br>"
"Japanese: ADAM Etienne <<a href=\"mailto:etienne.adam@gmail.com\">etienne.adam@gmail.com</a>><br>"
"Korean: Anthony Bellew <<a href=\"mailto:webmaster@anthonybellew.com\">webmaster@anthonybellew.com</a>><br>"
"Polish: Maciej Mroziński <<a href=\"mailto:mynick2@o2.pl\">mynick2@o2.pl</a>>, Wojciech Latkowski <<a href=\"mailto:magik17l@gmail.com\">magik17l@gmail.com</a>>, Piotr Mitana, Maciej Górny<br>"
"Portuguese: Fábio Canário <<a href=\"mailto:inufabie@gmail.com\">inufabie@gmail.com</a>><br>"
"Russian: Andrey Korotaev <<a href=\"mailto:unC0Rr@gmail.com\">unC0Rr@gmail.com</a>><br>"
"Slovak: Jose Riha<br>"
"Spanish: Carlos Vives <<a href=\"mailto:mail@carlosvives.es\">mail@carlosvives.es</a>><br>"
"Swedish: Niklas Grahn <<a href=\"mailto:raewolusjoon@yaoo.com\">raewolusjoon@yaoo.com</a>>, Henrik Rostedt <<a href=\"mailto:henrik.rostedt@gmail.com\">henrik.rostedt@gmail.com</a>><br>"
"Ukrainian: Eugene V. Lyubimkin <<a href=\"mailto:jackyf.devel@gmail.com\">jackyf.devel@gmail.com</a>>, Igor Paliychuk <<a href=\"mailto:mansonigor@gmail.com\">mansonigor@gmail.com</a>>, Eugene Sakara <<a href=\"mailto:eresid@gmail.com\">eresid@gmail.com</a>>"
"</p><h2>") +
QLabel::tr("Special thanks:") + "</h2><p>"
"Aleksey Andreev <<a href=\"mailto:blaknayabr@gmail.com\">blaknayabr@gmail.com</a>><br>"
"Aleksander Rudalev <<a href=\"mailto:alexv@pomorsu.ru\">alexv@pomorsu.ru</a>><br>"
"Natasha Korotaeva <<a href=\"mailto:layout@pisem.net\">layout@pisem.net</a>><br>"
"Adam Higerd (aka ahigerd at FreeNode)"
"</p>"
);
mainLayout->addWidget(lbl2, 1, 1);
}