QTfrontend/util/namegen.h
author Wuzzy <Wuzzy2@mail.ru>
Fri, 27 Oct 2017 05:03:58 +0200
changeset 12782 389453e1e09e
parent 12505 82c75a317d48
child 14955 0ec0ed2d9045
permissions -rw-r--r--
ACF7: Fix possible Lua error spam in intro sequence This was caused by a race of onGearDelete vs AnimationSetup. If AnimationSetup came first, it uses old values from the natives table. The solution is to force the code to guarantee that AnimationSetup always coms after deleting gears in the natives table.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1907
a104432e8301 Random team generator rework by ttsmj
unc0rr
parents:
diff changeset
     1
/*
a104432e8301 Random team generator rework by ttsmj
unc0rr
parents:
diff changeset
     2
 * Hedgewars, a free turn based strategy game
a104432e8301 Random team generator rework by ttsmj
unc0rr
parents:
diff changeset
     3
 * Copyright (c) 2009 Martin Minarik <ttsmj@pokec.sk>
11046
47a8c19ecb60 more copyright fixes
sheepluva
parents: 10108
diff changeset
     4
 * Copyright (c) 2004-2015 Andrey Korotaev <unC0Rr@gmail.com>
1907
a104432e8301 Random team generator rework by ttsmj
unc0rr
parents:
diff changeset
     5
 *
a104432e8301 Random team generator rework by ttsmj
unc0rr
parents:
diff changeset
     6
 * This program is free software; you can redistribute it and/or modify
a104432e8301 Random team generator rework by ttsmj
unc0rr
parents:
diff changeset
     7
 * it under the terms of the GNU General Public License as published by
a104432e8301 Random team generator rework by ttsmj
unc0rr
parents:
diff changeset
     8
 * the Free Software Foundation; version 2 of the License
a104432e8301 Random team generator rework by ttsmj
unc0rr
parents:
diff changeset
     9
 *
a104432e8301 Random team generator rework by ttsmj
unc0rr
parents:
diff changeset
    10
 * This program is distributed in the hope that it will be useful,
a104432e8301 Random team generator rework by ttsmj
unc0rr
parents:
diff changeset
    11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
a104432e8301 Random team generator rework by ttsmj
unc0rr
parents:
diff changeset
    12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
a104432e8301 Random team generator rework by ttsmj
unc0rr
parents:
diff changeset
    13
 * GNU General Public License for more details.
a104432e8301 Random team generator rework by ttsmj
unc0rr
parents:
diff changeset
    14
 *
a104432e8301 Random team generator rework by ttsmj
unc0rr
parents:
diff changeset
    15
 * You should have received a copy of the GNU General Public License
a104432e8301 Random team generator rework by ttsmj
unc0rr
parents:
diff changeset
    16
 * along with this program; if not, write to the Free Software
10108
c68cf030eded update FSF address. note: two sdl include files (by Sam Lantinga) still have the old FSF address in their copyright - but I ain't gonna touch their copyright headers
sheepluva
parents: 9998
diff changeset
    17
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
1907
a104432e8301 Random team generator rework by ttsmj
unc0rr
parents:
diff changeset
    18
 */
a104432e8301 Random team generator rework by ttsmj
unc0rr
parents:
diff changeset
    19
a104432e8301 Random team generator rework by ttsmj
unc0rr
parents:
diff changeset
    20
#ifndef NAMEGEN_H
a104432e8301 Random team generator rework by ttsmj
unc0rr
parents:
diff changeset
    21
#define NAMEGEN_H
a104432e8301 Random team generator rework by ttsmj
unc0rr
parents:
diff changeset
    22
a104432e8301 Random team generator rework by ttsmj
unc0rr
parents:
diff changeset
    23
#include <QString>
a104432e8301 Random team generator rework by ttsmj
unc0rr
parents:
diff changeset
    24
a104432e8301 Random team generator rework by ttsmj
unc0rr
parents:
diff changeset
    25
class HWForm;
a104432e8301 Random team generator rework by ttsmj
unc0rr
parents:
diff changeset
    26
class HWTeam;
a104432e8301 Random team generator rework by ttsmj
unc0rr
parents:
diff changeset
    27
a104432e8301 Random team generator rework by ttsmj
unc0rr
parents:
diff changeset
    28
class HWNamegen
a104432e8301 Random team generator rework by ttsmj
unc0rr
parents:
diff changeset
    29
{
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    30
    public:
12245
5206f9a803d1 Allow to randomize team name, flag, grave, voice and fort seperately
Wuzzy <almikes@aol.com>
parents: 12244
diff changeset
    31
        static void teamRandomTeamName(HWTeam & team);
12295
ac57d564efce Add DLC filtering in DataManager.cpp and namegen.cpp
Wuzzy <almikes@aol.com>
parents: 12248
diff changeset
    32
        static void teamRandomGrave(HWTeam & team, bool withDLC = true);
ac57d564efce Add DLC filtering in DataManager.cpp and namegen.cpp
Wuzzy <almikes@aol.com>
parents: 12248
diff changeset
    33
        static void teamRandomFort(HWTeam & team, bool withDLC = true);
ac57d564efce Add DLC filtering in DataManager.cpp and namegen.cpp
Wuzzy <almikes@aol.com>
parents: 12248
diff changeset
    34
        static void teamRandomFlag(HWTeam & team, bool withDLC = true);
ac57d564efce Add DLC filtering in DataManager.cpp and namegen.cpp
Wuzzy <almikes@aol.com>
parents: 12248
diff changeset
    35
        static void teamRandomVoice(HWTeam & team, bool withDLC = true);
12502
f4b0e164a0d5 Chance that clicking the random hats button produces a set of equal hats
Wuzzy <almikes@aol.com>
parents: 12501
diff changeset
    36
        static void teamRandomHats(HWTeam & team, bool withDLC = true);
12501
92c597704e57 Use completely random hats when clicking on "Random hats" button in team editor
Wuzzy <almikes@aol.com>
parents: 12295
diff changeset
    37
        static void teamRandomHat(HWTeam & team, const int HedgehogNumber, bool withDLC = true);
12505
82c75a317d48 Randomized teams now can have any random hats (not just from types.ini)
Wuzzy <almikes@aol.com>
parents: 12502
diff changeset
    38
        static void teamRandomHogNames(HWTeam & team);
12244
45c83c88ac4b Refactor team name generator
Wuzzy <almikes@aol.com>
parents: 12242
diff changeset
    39
        static void teamRandomHogName(HWTeam & team, const int HedgehogNumber);
12505
82c75a317d48 Randomized teams now can have any random hats (not just from types.ini)
Wuzzy <almikes@aol.com>
parents: 12502
diff changeset
    40
        static void teamRandomEverything(HWTeam & team);
12244
45c83c88ac4b Refactor team name generator
Wuzzy <almikes@aol.com>
parents: 12242
diff changeset
    41
45c83c88ac4b Refactor team name generator
Wuzzy <almikes@aol.com>
parents: 12242
diff changeset
    42
    private:
45c83c88ac4b Refactor team name generator
Wuzzy <almikes@aol.com>
parents: 12242
diff changeset
    43
        HWNamegen();
45c83c88ac4b Refactor team name generator
Wuzzy <almikes@aol.com>
parents: 12242
diff changeset
    44
12247
a6e0977be914 Fix non-matching team name when generating random teams
Wuzzy <almikes@aol.com>
parents: 12245
diff changeset
    45
        static QString getRandomTeamName(int kind);
12501
92c597704e57 Use completely random hats when clicking on "Random hats" button in team editor
Wuzzy <almikes@aol.com>
parents: 12295
diff changeset
    46
        static QString getRandomHat(bool withDLC = true);
12295
ac57d564efce Add DLC filtering in DataManager.cpp and namegen.cpp
Wuzzy <almikes@aol.com>
parents: 12248
diff changeset
    47
        static QString getRandomGrave(bool withDLC = true);
ac57d564efce Add DLC filtering in DataManager.cpp and namegen.cpp
Wuzzy <almikes@aol.com>
parents: 12248
diff changeset
    48
        static QString getRandomFort(bool withDLC = true);
ac57d564efce Add DLC filtering in DataManager.cpp and namegen.cpp
Wuzzy <almikes@aol.com>
parents: 12248
diff changeset
    49
        static QString getRandomFlag(bool withDLC = true);
ac57d564efce Add DLC filtering in DataManager.cpp and namegen.cpp
Wuzzy <almikes@aol.com>
parents: 12248
diff changeset
    50
        static QString getRandomVoice(bool withDLC = true);
1907
a104432e8301 Random team generator rework by ttsmj
unc0rr
parents:
diff changeset
    51
6024
d38da7c19e43 some more cleanups and refactoring.
sheepluva
parents: 6015
diff changeset
    52
        static QList<QStringList> TypesTeamnames;
d38da7c19e43 some more cleanups and refactoring.
sheepluva
parents: 6015
diff changeset
    53
        static QList<QStringList> TypesHatnames;
d38da7c19e43 some more cleanups and refactoring.
sheepluva
parents: 6015
diff changeset
    54
        static bool typesAvailable;
5114
a05081bc2769 Improved random name generation (now a random fort and random grave is choosen
Jonathan@Jonathan-PC.fritz.box
parents: 4976
diff changeset
    55
6024
d38da7c19e43 some more cleanups and refactoring.
sheepluva
parents: 6015
diff changeset
    56
        static bool loadTypes();
d38da7c19e43 some more cleanups and refactoring.
sheepluva
parents: 6015
diff changeset
    57
        static QStringList dictContents(const QString filename);
d38da7c19e43 some more cleanups and refactoring.
sheepluva
parents: 6015
diff changeset
    58
        static QStringList dictsForHat(const QString hatname);
d38da7c19e43 some more cleanups and refactoring.
sheepluva
parents: 6015
diff changeset
    59
12501
92c597704e57 Use completely random hats when clicking on "Random hats" button in team editor
Wuzzy <almikes@aol.com>
parents: 12295
diff changeset
    60
        static void teamRandomHat(HWTeam & team, const int HedgehogNumber, const QStringList & dict);
12244
45c83c88ac4b Refactor team name generator
Wuzzy <almikes@aol.com>
parents: 12242
diff changeset
    61
        static void teamRandomHogName(HWTeam & team, const int HedgehogNumber, const QStringList & dict);
1907
a104432e8301 Random team generator rework by ttsmj
unc0rr
parents:
diff changeset
    62
};
a104432e8301 Random team generator rework by ttsmj
unc0rr
parents:
diff changeset
    63
a104432e8301 Random team generator rework by ttsmj
unc0rr
parents:
diff changeset
    64
a104432e8301 Random team generator rework by ttsmj
unc0rr
parents:
diff changeset
    65
a104432e8301 Random team generator rework by ttsmj
unc0rr
parents:
diff changeset
    66
#endif