1 /* 2 * Hedgewars, a free turn based strategy game 3 * Copyright (c) 2009 Martin Minarik <ttsmj@pokec.sk> 4 * Copyright (c) 2004-2015 Andrey Korotaev <unC0Rr@gmail.com> 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation; version 2 of the License 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program; if not, write to the Free Software 17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 */ 19 20 #ifndef NAMEGEN_H 21 #define NAMEGEN_H 22 23 #include <QString> 24 25 class HWForm; 26 class HWTeam; 27 28 class HWNamegen 29 { 30 public: 31 static void teamRandomTeamName(HWTeam & team); 32 static void teamRandomGrave(HWTeam & team, bool withDLC = true); 33 static void teamRandomFort(HWTeam & team, bool withDLC = true); 34 static void teamRandomFlag(HWTeam & team, bool withDLC = true); 35 static void teamRandomVoice(HWTeam & team, bool withDLC = true); 36 static void teamRandomHats(HWTeam & team, bool withDLC = true); 37 static void teamRandomHat(HWTeam & team, const int HedgehogNumber, bool withDLC = true); 38 static void teamRandomHogNames(HWTeam & team); 39 static void teamRandomHogName(HWTeam & team, const int HedgehogNumber); 40 static void teamRandomEverything(HWTeam & team); 41 static void teamLocalizedDefaultVoice(HWTeam & team, bool withDLC = true); 42 43 private: 44 HWNamegen(); 45 46 static QString getRandomTeamName(int kind); 47 static QString getRandomHat(bool withDLC = true); 48 static QString getRandomGrave(bool withDLC = true); 49 static QString getRandomFort(bool withDLC = true); 50 static QString getRandomFlag(bool withDLC = true); 51 static QString getRandomVoice(bool withDLC = true); 52 static QString getLocalizedDefaultVoice(bool withDLC = true); 53 54 static QList<QStringList> TypesTeamnames; 55 static QList<QStringList> TypesHatnames; 56 static bool typesAvailable; 57 58 static bool loadTypes(); 59 static QStringList dictContents(const QString filename); 60 static QStringList dictsForHat(const QString hatname); 61 62 static void teamRandomHat(HWTeam & team, const int HedgehogNumber, const QStringList & dict); 63 static void teamRandomHogName(HWTeam & team, const int HedgehogNumber, const QStringList & dict); 64 }; 65 66 67 68 #endif 69