QTfrontend/hwconsts.cpp.in
author Wuzzy <Wuzzy2@mail.ru>
Thu, 25 Apr 2019 23:01:05 +0200
changeset 14860 e239378a9400
parent 14758 123aaa2bf4b5
child 14975 f59b7f5cf6e8
permissions -rw-r--r--
Prevent entering “/”, “\” and “:” in team and scheme names. The name of teams and schems is saved in the file name itself, so these characters would cause trouble as they are used in path names in Linux and Windows.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
579
94db15de0392 - Some changes to make build process clear
unc0rr
parents:
diff changeset
     1
/*
1066
1f1b3686a2b0 Update copyright headers a bit
unc0rr
parents: 1021
diff changeset
     2
 * Hedgewars, a free turn based strategy game
11046
47a8c19ecb60 more copyright fixes
sheepluva
parents: 10599
diff changeset
     3
 * Copyright (c) 2004-2015 Andrey Korotaev <unC0Rr@gmail.com>
579
94db15de0392 - Some changes to make build process clear
unc0rr
parents:
diff changeset
     4
 *
94db15de0392 - Some changes to make build process clear
unc0rr
parents:
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
94db15de0392 - Some changes to make build process clear
unc0rr
parents:
diff changeset
     6
 * it under the terms of the GNU General Public License as published by
94db15de0392 - Some changes to make build process clear
unc0rr
parents:
diff changeset
     7
 * the Free Software Foundation; version 2 of the License
94db15de0392 - Some changes to make build process clear
unc0rr
parents:
diff changeset
     8
 *
94db15de0392 - Some changes to make build process clear
unc0rr
parents:
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
94db15de0392 - Some changes to make build process clear
unc0rr
parents:
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
94db15de0392 - Some changes to make build process clear
unc0rr
parents:
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
94db15de0392 - Some changes to make build process clear
unc0rr
parents:
diff changeset
    12
 * GNU General Public License for more details.
94db15de0392 - Some changes to make build process clear
unc0rr
parents:
diff changeset
    13
 *
94db15de0392 - Some changes to make build process clear
unc0rr
parents:
diff changeset
    14
 * You should have received a copy of the GNU General Public License
94db15de0392 - Some changes to make build process clear
unc0rr
parents:
diff changeset
    15
 * 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: 10083
diff changeset
    16
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
579
94db15de0392 - Some changes to make build process clear
unc0rr
parents:
diff changeset
    17
 */
94db15de0392 - Some changes to make build process clear
unc0rr
parents:
diff changeset
    18
13487
4ef83bcb850b Clean up cMaxHHs and cMaxTeams a bit, get rid of hardcoded numbers
Wuzzy <Wuzzy2@mail.ru>
parents: 12258
diff changeset
    19
/*
4ef83bcb850b Clean up cMaxHHs and cMaxTeams a bit, get rid of hardcoded numbers
Wuzzy <Wuzzy2@mail.ru>
parents: 12258
diff changeset
    20
 * PLEASE NOTE: hwconsts.cpp is automatically generated from hwconsts.cpp.in.
4ef83bcb850b Clean up cMaxHHs and cMaxTeams a bit, get rid of hardcoded numbers
Wuzzy <Wuzzy2@mail.ru>
parents: 12258
diff changeset
    21
 * Do not edit hwconsts.cpp manually, it will be overwritten when building.
4ef83bcb850b Clean up cMaxHHs and cMaxTeams a bit, get rid of hardcoded numbers
Wuzzy <Wuzzy2@mail.ru>
parents: 12258
diff changeset
    22
 * Edit hwconsts.cpp.in to change the code.
4ef83bcb850b Clean up cMaxHHs and cMaxTeams a bit, get rid of hardcoded numbers
Wuzzy <Wuzzy2@mail.ru>
parents: 12258
diff changeset
    23
 */
4ef83bcb850b Clean up cMaxHHs and cMaxTeams a bit, get rid of hardcoded numbers
Wuzzy <Wuzzy2@mail.ru>
parents: 12258
diff changeset
    24
7130
fcab1fd02bc6 - Allow switching colors with mouse wheel
unc0rr
parents: 6958
diff changeset
    25
#include <QStandardItemModel>
fcab1fd02bc6 - Allow switching colors with mouse wheel
unc0rr
parents: 6958
diff changeset
    26
579
94db15de0392 - Some changes to make build process clear
unc0rr
parents:
diff changeset
    27
#include "hwconsts.h"
8608
50cc0131b109 move weapons line away from hwconsts.h so that modifying it doesn't needlessly recompile everything, introduce a way to try documenting which weapons each number represents
koda
parents: 8605
diff changeset
    28
#include "weapons.h"
579
94db15de0392 - Some changes to make build process clear
unc0rr
parents:
diff changeset
    29
8646
e31044b7fbba on linux assume datapath is always relative to cmake_install_prefix, unless you provide an absolute path; on win32/osx hardcode engine path to default installation prefixes (it gets overridden at runtime so it works even if you move the data folder)
koda
parents: 8636
diff changeset
    30
// cDataDir gets 'Data' appended later (in main.cpp)
e31044b7fbba on linux assume datapath is always relative to cmake_install_prefix, unless you provide an absolute path; on win32/osx hardcode engine path to default installation prefixes (it gets overridden at runtime so it works even if you move the data folder)
koda
parents: 8636
diff changeset
    31
QString * cDataDir = new QString("${HEDGEWARS_DATADIR}");
579
94db15de0392 - Some changes to make build process clear
unc0rr
parents:
diff changeset
    32
QString * cProtoVer = new QString("${HEDGEWARS_PROTO_VER}");
8090
38d9cc60b14c cleanup revision section, make hg launch tolerant to config errors, drop deprecated exec_prog for desktop configuration in favour of execute_process
koda
parents: 7258
diff changeset
    33
QString * cVersionString = new QString("${HEDGEWARS_VERSION}");
8650
18807b6302c8 version variables confom to naming convention
koda
parents: 8646
diff changeset
    34
QString * cRevisionString = new QString("${HEDGEWARS_REVISION}");
18807b6302c8 version variables confom to naming convention
koda
parents: 8646
diff changeset
    35
QString * cHashString = new QString("${HEDGEWARS_HASH}");
8613
82c649dfc7c3 split cVersionString into its three separate components (version, revision, hash) and apply the new values sensibly on the frontend (esp. title, info and feedback)
koda
parents: 8608
diff changeset
    36
14860
e239378a9400 Prevent entering “/”, “\” and “:” in team and scheme names.
Wuzzy <Wuzzy2@mail.ru>
parents: 14758
diff changeset
    37
// For disallowing some characters that would screw up file name
e239378a9400 Prevent entering “/”, “\” and “:” in team and scheme names.
Wuzzy <Wuzzy2@mail.ru>
parents: 14758
diff changeset
    38
QString * cSafeFileNameRegExp = new QString("[^:/\\\\]*");
579
94db15de0392 - Some changes to make build process clear
unc0rr
parents:
diff changeset
    39
8323
ab0b618bdf13 get executable directory at runtime rather than configure time
koda
parents: 8090
diff changeset
    40
QDir * bindir = new QDir();
579
94db15de0392 - Some changes to make build process clear
unc0rr
parents:
diff changeset
    41
QDir * cfgdir = new QDir();
94db15de0392 - Some changes to make build process clear
unc0rr
parents:
diff changeset
    42
QDir * datadir = new QDir();
94db15de0392 - Some changes to make build process clear
unc0rr
parents:
diff changeset
    43
3932
2fc211f60015 Engine:
smaxx
parents: 3876
diff changeset
    44
bool custom_config = false;
2fc211f60015 Engine:
smaxx
parents: 3876
diff changeset
    45
bool custom_data = false;
2fc211f60015 Engine:
smaxx
parents: 3876
diff changeset
    46
5200
7440fe992e73 * move ammo lines from .cpp.in to .h so that it is readable from the ios frontend (and who knows, maybe from other frontends as well)
koda
parents: 5049
diff changeset
    47
int cMaxTeams = 8;
13510
69f0f437c75a Increase hedgehog limit to 64
Wuzzy <Wuzzy2@mail.ru>
parents: 13487
diff changeset
    48
int cMaxHHs = HEDGEHOGS_PER_TEAM * cMaxTeams;
10074
66cab76eb56f Mutual authentication: client side
unc0rr
parents: 9998
diff changeset
    49
int cMinServerVersion = 3;
14758
123aaa2bf4b5 Make dark clan colors visible in stats screen
Wuzzy <Wuzzy2@mail.ru>
parents: 13718
diff changeset
    50
unsigned char cInvertTextColorAt = 64;
3865
0b1c426b035f Frontend:
smaxx
parents: 3836
diff changeset
    51
5200
7440fe992e73 * move ammo lines from .cpp.in to .h so that it is readable from the ios frontend (and who knows, maybe from other frontends as well)
koda
parents: 5049
diff changeset
    52
QString * cDefaultAmmoStore = new QString( AMMOLINE_DEFAULT_QT AMMOLINE_DEFAULT_PROB
7440fe992e73 * move ammo lines from .cpp.in to .h so that it is readable from the ios frontend (and who knows, maybe from other frontends as well)
koda
parents: 5049
diff changeset
    53
                                           AMMOLINE_DEFAULT_DELAY AMMOLINE_DEFAULT_CRATE );
11763
59e979b1408f Add empty weapons scheme (instead of default) when using “New” button
Wuzzy <almikes@aol.com>
parents: 11046
diff changeset
    54
QString * cEmptyAmmoStore =   new QString( AMMOLINE_EMPTY_QT AMMOLINE_EMPTY_PROB
59e979b1408f Add empty weapons scheme (instead of default) when using “New” button
Wuzzy <almikes@aol.com>
parents: 11046
diff changeset
    55
                                           AMMOLINE_EMPTY_DELAY AMMOLINE_EMPTY_CRATE );
2860
13a53315ae18 Awesome patch from TheException - adds editing of weapon delay and crate count. Tiy might want to tweak the crate graphic, could make be smaller or less overlappy.
nemo
parents: 2473
diff changeset
    56
int cAmmoNumber = cDefaultAmmoStore->size() / 4;
2369
c3eb11f1ab3a Implement probability editor for weapon schemes (engine doesn't support that yet)
unc0rr
parents: 2177
diff changeset
    57
1967
213d368a002f Predefine some ammo schemes
unc0rr
parents: 1966
diff changeset
    58
QList< QPair<QString, QString> > cDefaultAmmos =
3971
5c82ee165ed5 minor stuff
koda
parents: 3963
diff changeset
    59
        QList< QPair<QString, QString> >()
5c82ee165ed5 minor stuff
koda
parents: 3963
diff changeset
    60
        << qMakePair(QString("Default"), *cDefaultAmmoStore)
5200
7440fe992e73 * move ammo lines from .cpp.in to .h so that it is readable from the ios frontend (and who knows, maybe from other frontends as well)
koda
parents: 5049
diff changeset
    61
        << qMakePair(QString("Crazy"),       QString(
7440fe992e73 * move ammo lines from .cpp.in to .h so that it is readable from the ios frontend (and who knows, maybe from other frontends as well)
koda
parents: 5049
diff changeset
    62
            AMMOLINE_CRAZY_QT AMMOLINE_CRAZY_PROB
7440fe992e73 * move ammo lines from .cpp.in to .h so that it is readable from the ios frontend (and who knows, maybe from other frontends as well)
koda
parents: 5049
diff changeset
    63
            AMMOLINE_CRAZY_DELAY AMMOLINE_CRAZY_CRATE ))
7440fe992e73 * move ammo lines from .cpp.in to .h so that it is readable from the ios frontend (and who knows, maybe from other frontends as well)
koda
parents: 5049
diff changeset
    64
        << qMakePair(QString("Pro Mode"),    QString(
7440fe992e73 * move ammo lines from .cpp.in to .h so that it is readable from the ios frontend (and who knows, maybe from other frontends as well)
koda
parents: 5049
diff changeset
    65
            AMMOLINE_PROMODE_QT AMMOLINE_PROMODE_PROB
7440fe992e73 * move ammo lines from .cpp.in to .h so that it is readable from the ios frontend (and who knows, maybe from other frontends as well)
koda
parents: 5049
diff changeset
    66
            AMMOLINE_PROMODE_DELAY AMMOLINE_PROMODE_CRATE ))
7440fe992e73 * move ammo lines from .cpp.in to .h so that it is readable from the ios frontend (and who knows, maybe from other frontends as well)
koda
parents: 5049
diff changeset
    67
        << qMakePair(QString("Shoppa"),      QString(
7440fe992e73 * move ammo lines from .cpp.in to .h so that it is readable from the ios frontend (and who knows, maybe from other frontends as well)
koda
parents: 5049
diff changeset
    68
            AMMOLINE_SHOPPA_QT AMMOLINE_SHOPPA_PROB
7440fe992e73 * move ammo lines from .cpp.in to .h so that it is readable from the ios frontend (and who knows, maybe from other frontends as well)
koda
parents: 5049
diff changeset
    69
            AMMOLINE_SHOPPA_DELAY AMMOLINE_SHOPPA_CRATE ))
7440fe992e73 * move ammo lines from .cpp.in to .h so that it is readable from the ios frontend (and who knows, maybe from other frontends as well)
koda
parents: 5049
diff changeset
    70
        << qMakePair(QString("Clean Slate"), QString(
7440fe992e73 * move ammo lines from .cpp.in to .h so that it is readable from the ios frontend (and who knows, maybe from other frontends as well)
koda
parents: 5049
diff changeset
    71
            AMMOLINE_CLEAN_QT AMMOLINE_CLEAN_PROB
7440fe992e73 * move ammo lines from .cpp.in to .h so that it is readable from the ios frontend (and who knows, maybe from other frontends as well)
koda
parents: 5049
diff changeset
    72
            AMMOLINE_CLEAN_DELAY AMMOLINE_CLEAN_CRATE ))
7440fe992e73 * move ammo lines from .cpp.in to .h so that it is readable from the ios frontend (and who knows, maybe from other frontends as well)
koda
parents: 5049
diff changeset
    73
        << qMakePair(QString("Minefield"),   QString(
7440fe992e73 * move ammo lines from .cpp.in to .h so that it is readable from the ios frontend (and who knows, maybe from other frontends as well)
koda
parents: 5049
diff changeset
    74
            AMMOLINE_MINES_QT AMMOLINE_MINES_PROB
7440fe992e73 * move ammo lines from .cpp.in to .h so that it is readable from the ios frontend (and who knows, maybe from other frontends as well)
koda
parents: 5049
diff changeset
    75
            AMMOLINE_MINES_DELAY AMMOLINE_MINES_CRATE ))
4231
f2eb9ac629e4 added two games modes and one weaponset
koda
parents: 4212
diff changeset
    76
        << qMakePair(QString("Thinking with Portals"), QString(
5200
7440fe992e73 * move ammo lines from .cpp.in to .h so that it is readable from the ios frontend (and who knows, maybe from other frontends as well)
koda
parents: 5049
diff changeset
    77
            AMMOLINE_PORTALS_QT AMMOLINE_PORTALS_PROB
7440fe992e73 * move ammo lines from .cpp.in to .h so that it is readable from the ios frontend (and who knows, maybe from other frontends as well)
koda
parents: 5049
diff changeset
    78
            AMMOLINE_PORTALS_DELAY AMMOLINE_PORTALS_CRATE ))
8605
2865389fec96 add 'One of Everything' in the weaponsets, from nemo's idea
koda
parents: 8323
diff changeset
    79
        << qMakePair(QString("One of Everything"), QString(
2865389fec96 add 'One of Everything' in the weaponsets, from nemo's idea
koda
parents: 8323
diff changeset
    80
            AMMOLINE_ONEEVERY_QT AMMOLINE_ONEEVERY_PROB
2865389fec96 add 'One of Everything' in the weaponsets, from nemo's idea
koda
parents: 8323
diff changeset
    81
            AMMOLINE_ONEEVERY_DELAY AMMOLINE_ONEEVERY_CRATE ))
10083
b20f9481e5cb Make highlander configurable using weapons, commit weaponset mimicking old values
nemo
parents: 10074
diff changeset
    82
        << qMakePair(QString("Highlander"), QString(
b20f9481e5cb Make highlander configurable using weapons, commit weaponset mimicking old values
nemo
parents: 10074
diff changeset
    83
            AMMOLINE_HIGHLANDER_QT AMMOLINE_HIGHLANDER_PROB
b20f9481e5cb Make highlander configurable using weapons, commit weaponset mimicking old values
nemo
parents: 10074
diff changeset
    84
            AMMOLINE_HIGHLANDER_DELAY AMMOLINE_HIGHLANDER_CRATE ))
13718
6d57f5f61c09 BRW now allows weapon scheme customization
Wuzzy <Wuzzy2@mail.ru>
parents: 13510
diff changeset
    85
        << qMakePair(QString("Balanced Random Weapon"), QString(
6d57f5f61c09 BRW now allows weapon scheme customization
Wuzzy <Wuzzy2@mail.ru>
parents: 13510
diff changeset
    86
            AMMOLINE_BRW_QT AMMOLINE_BRW_PROB
6d57f5f61c09 BRW now allows weapon scheme customization
Wuzzy <Wuzzy2@mail.ru>
parents: 13510
diff changeset
    87
            AMMOLINE_BRW_DELAY AMMOLINE_BRW_CRATE ))
12258
41af2274953d Add HedgeEditor schemes as recommended on https://hedgewars.org/HedgeEditor
Wuzzy <almikes@aol.com>
parents: 11811
diff changeset
    88
        << qMakePair(QString("Construction Mode"),   QString(
10549
6b08a29cadea Add scheme and weaponset for Construction Mode.
mikade <redgrinner@gmail.com>
parents: 10108
diff changeset
    89
            AMMOLINE_CONSTRUCTION_QT AMMOLINE_CONSTRUCTION_PROB
6b08a29cadea Add scheme and weaponset for Construction Mode.
mikade <redgrinner@gmail.com>
parents: 10108
diff changeset
    90
            AMMOLINE_CONSTRUCTION_DELAY AMMOLINE_CONSTRUCTION_CRATE ))
12258
41af2274953d Add HedgeEditor schemes as recommended on https://hedgewars.org/HedgeEditor
Wuzzy <almikes@aol.com>
parents: 11811
diff changeset
    91
        << qMakePair(QString("Shoppa Pro"), QString(
10599
918d6da025a6 weapon set: Shoppa Pro
sheepluva
parents: 10549
diff changeset
    92
            AMMOLINE_SHOPPAPRO_QT AMMOLINE_SHOPPAPRO_PROB
918d6da025a6 weapon set: Shoppa Pro
sheepluva
parents: 10549
diff changeset
    93
            AMMOLINE_SHOPPAPRO_DELAY AMMOLINE_SHOPPAPRO_CRATE ))
12258
41af2274953d Add HedgeEditor schemes as recommended on https://hedgewars.org/HedgeEditor
Wuzzy <almikes@aol.com>
parents: 11811
diff changeset
    94
        << qMakePair(QString("HedgeEditor"), QString(
41af2274953d Add HedgeEditor schemes as recommended on https://hedgewars.org/HedgeEditor
Wuzzy <almikes@aol.com>
parents: 11811
diff changeset
    95
            AMMOLINE_HEDGEEDITOR_QT AMMOLINE_HEDGEEDITOR_PROB
41af2274953d Add HedgeEditor schemes as recommended on https://hedgewars.org/HedgeEditor
Wuzzy <almikes@aol.com>
parents: 11811
diff changeset
    96
            AMMOLINE_HEDGEEDITOR_DELAY AMMOLINE_HEDGEEDITOR_CRATE ))
5200
7440fe992e73 * move ammo lines from .cpp.in to .h so that it is readable from the ios frontend (and who knows, maybe from other frontends as well)
koda
parents: 5049
diff changeset
    97
        ;
616
00928b3cf505 Use same team colors everywhere
unc0rr
parents: 608
diff changeset
    98
5201
7b9aa7aac336 * moved colours and default port from .cpp.in to .h
koda
parents: 5200
diff changeset
    99
unsigned int colors[] = HW_TEAMCOLOR_ARRAY;
654
1019b8fa8638 Finish asking host/port dialog implementation
unc0rr
parents: 616
diff changeset
   100
1019b8fa8638 Finish asking host/port dialog implementation
unc0rr
parents: 616
diff changeset
   101
QString * netHost = new QString();
5201
7b9aa7aac336 * moved colours and default port from .cpp.in to .h
koda
parents: 5200
diff changeset
   102
quint16 netPort = NETGAME_DEFAULT_PORT;
1415
6fbfee0e113a Allow build without net game server: introduce -DWITH_SERVER configuration parameter
unc0rr
parents: 1263
diff changeset
   103
6579
fc52f7c22c9b GCI task: season greetings
valnut
parents: 5289
diff changeset
   104
int season = SEASON_NONE;
fc52f7c22c9b GCI task: season greetings
valnut
parents: 5289
diff changeset
   105
int years_since_foundation = 0;