QTfrontend/hwconsts.h
author Xeli
Thu, 04 Aug 2011 17:36:13 +0200
branchhedgeroid
changeset 5473 a68f900c4e8c
parent 5289 9d18b61bd3eb
child 5443 83cb9dd54469
permissions -rw-r--r--
Utility functions which are context wide, mostly SD methods right now
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
583
f7bc4bee2850 Oops, forgot file
unc0rr
parents:
diff changeset
     1
/*
1066
1f1b3686a2b0 Update copyright headers a bit
unc0rr
parents: 907
diff changeset
     2
 * Hedgewars, a free turn based strategy game
4976
088d40d8aba2 Happy 2011 :)
koda
parents: 4973
diff changeset
     3
 * Copyright (c) 2005-2011 Andrey Korotaev <unC0Rr@gmail.com>
583
f7bc4bee2850 Oops, forgot file
unc0rr
parents:
diff changeset
     4
 *
f7bc4bee2850 Oops, forgot file
unc0rr
parents:
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
f7bc4bee2850 Oops, forgot file
unc0rr
parents:
diff changeset
     6
 * it under the terms of the GNU General Public License as published by
f7bc4bee2850 Oops, forgot file
unc0rr
parents:
diff changeset
     7
 * the Free Software Foundation; version 2 of the License
f7bc4bee2850 Oops, forgot file
unc0rr
parents:
diff changeset
     8
 *
f7bc4bee2850 Oops, forgot file
unc0rr
parents:
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
f7bc4bee2850 Oops, forgot file
unc0rr
parents:
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
f7bc4bee2850 Oops, forgot file
unc0rr
parents:
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
f7bc4bee2850 Oops, forgot file
unc0rr
parents:
diff changeset
    12
 * GNU General Public License for more details.
f7bc4bee2850 Oops, forgot file
unc0rr
parents:
diff changeset
    13
 *
f7bc4bee2850 Oops, forgot file
unc0rr
parents:
diff changeset
    14
 * You should have received a copy of the GNU General Public License
f7bc4bee2850 Oops, forgot file
unc0rr
parents:
diff changeset
    15
 * along with this program; if not, write to the Free Software
f7bc4bee2850 Oops, forgot file
unc0rr
parents:
diff changeset
    16
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
f7bc4bee2850 Oops, forgot file
unc0rr
parents:
diff changeset
    17
 */
f7bc4bee2850 Oops, forgot file
unc0rr
parents:
diff changeset
    18
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: 4976
diff changeset
    19
#if !defined(TARGET_OS_IPHONE)
583
f7bc4bee2850 Oops, forgot file
unc0rr
parents:
diff changeset
    20
#include <QString>
f7bc4bee2850 Oops, forgot file
unc0rr
parents:
diff changeset
    21
#include <QDir>
f7bc4bee2850 Oops, forgot file
unc0rr
parents:
diff changeset
    22
#include <QStringList>
1967
213d368a002f Predefine some ammo schemes
unc0rr
parents: 1415
diff changeset
    23
#include <QPair>
583
f7bc4bee2850 Oops, forgot file
unc0rr
parents:
diff changeset
    24
5289
9d18b61bd3eb - Implement ThemesModel (load theme icons once, store in memory, don't reload from disk every time selection changes)
unc0rr
parents: 5201
diff changeset
    25
#include "themesmodel.h"
9d18b61bd3eb - Implement ThemesModel (load theme icons once, store in memory, don't reload from disk every time selection changes)
unc0rr
parents: 5201
diff changeset
    26
583
f7bc4bee2850 Oops, forgot file
unc0rr
parents:
diff changeset
    27
extern QString * cProtoVer;
907
a5b0b93a39c8 Use constant generated by cmake for version string
unc0rr
parents: 883
diff changeset
    28
extern QString * cVersionString;
583
f7bc4bee2850 Oops, forgot file
unc0rr
parents:
diff changeset
    29
extern QString * cDataDir;
2428
6800f8aa0184 Huge Smaxx patch with some fixes by me:
unc0rr
parents: 2369
diff changeset
    30
extern QString * cConfigDir;
583
f7bc4bee2850 Oops, forgot file
unc0rr
parents:
diff changeset
    31
f7bc4bee2850 Oops, forgot file
unc0rr
parents:
diff changeset
    32
extern QDir * bindir;
f7bc4bee2850 Oops, forgot file
unc0rr
parents:
diff changeset
    33
extern QDir * cfgdir;
f7bc4bee2850 Oops, forgot file
unc0rr
parents:
diff changeset
    34
extern QDir * datadir;
f7bc4bee2850 Oops, forgot file
unc0rr
parents:
diff changeset
    35
3932
2fc211f60015 Engine:
smaxx
parents: 3876
diff changeset
    36
extern bool custom_config;
2fc211f60015 Engine:
smaxx
parents: 3876
diff changeset
    37
extern bool custom_data;
2fc211f60015 Engine:
smaxx
parents: 3876
diff changeset
    38
3865
0b1c426b035f Frontend:
smaxx
parents: 3236
diff changeset
    39
extern int cMaxTeams;
4973
53411a26df7e Add server version (which is separate from protocol version) and a check in frontend for a new enough server (currently only qWarning)
unc0rr
parents: 4513
diff changeset
    40
extern int cMinServerVersion;
3865
0b1c426b035f Frontend:
smaxx
parents: 3236
diff changeset
    41
5289
9d18b61bd3eb - Implement ThemesModel (load theme icons once, store in memory, don't reload from disk every time selection changes)
unc0rr
parents: 5201
diff changeset
    42
class QStringListModel;
9d18b61bd3eb - Implement ThemesModel (load theme icons once, store in memory, don't reload from disk every time selection changes)
unc0rr
parents: 5201
diff changeset
    43
9d18b61bd3eb - Implement ThemesModel (load theme icons once, store in memory, don't reload from disk every time selection changes)
unc0rr
parents: 5201
diff changeset
    44
extern ThemesModel * themesModel;
1210
bfed1b89bc85 Add themes list to map selection widget
unc0rr
parents: 1066
diff changeset
    45
extern QStringList * mapList;
4513
1dd97c710f5a added general scripts to multiplayer and added option for scripts to allow user set schemes or weapon sets.
Henek
parents: 3932
diff changeset
    46
extern QStringList * scriptList;
607
26a91a9f5514 Now trainings can have custom ammostore
unc0rr
parents: 583
diff changeset
    47
26a91a9f5514 Now trainings can have custom ammostore
unc0rr
parents: 583
diff changeset
    48
extern QString * cDefaultAmmoStore;
2369
c3eb11f1ab3a Implement probability editor for weapon schemes (engine doesn't support that yet)
unc0rr
parents: 1967
diff changeset
    49
extern int cAmmoNumber;
1967
213d368a002f Predefine some ammo schemes
unc0rr
parents: 1415
diff changeset
    50
extern QList< QPair<QString, QString> > cDefaultAmmos;
616
00928b3cf505 Use same team colors everywhere
unc0rr
parents: 607
diff changeset
    51
5201
7b9aa7aac336 * moved colours and default port from .cpp.in to .h
koda
parents: 5200
diff changeset
    52
extern unsigned int colors[];
654
1019b8fa8638 Finish asking host/port dialog implementation
unc0rr
parents: 616
diff changeset
    53
1019b8fa8638 Finish asking host/port dialog implementation
unc0rr
parents: 616
diff changeset
    54
extern QString * netHost;
1019b8fa8638 Finish asking host/port dialog implementation
unc0rr
parents: 616
diff changeset
    55
extern quint16 netPort;
1415
6fbfee0e113a Allow build without net game server: introduce -DWITH_SERVER configuration parameter
unc0rr
parents: 1210
diff changeset
    56
6fbfee0e113a Allow build without net game server: introduce -DWITH_SERVER configuration parameter
unc0rr
parents: 1210
diff changeset
    57
extern bool haveServer;
3074
271cfcb2bcda Frontend:
smxx
parents: 2428
diff changeset
    58
extern bool isDevBuild;
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: 4976
diff changeset
    59
#endif
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: 4976
diff changeset
    60
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: 4976
diff changeset
    61
#define AMMOLINE_DEFAULT_QT     "939192942219912103223511100120100000021111010101111991"
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: 4976
diff changeset
    62
#define AMMOLINE_DEFAULT_PROB   "040504054160065554655446477657666666615551010111541111"
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: 4976
diff changeset
    63
#define AMMOLINE_DEFAULT_DELAY  "000000000000020550000004000700400000000022000000060000"
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: 4976
diff changeset
    64
#define AMMOLINE_DEFAULT_CRATE  "131111031211111112311411111111111111121111110111111111"
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: 4976
diff changeset
    65
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: 4976
diff changeset
    66
//TODO: Remove Piano's unlimited uses!
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: 4976
diff changeset
    67
#define AMMOLINE_CRAZY_QT       "999999999999999999299999999999999929999999990999999229"
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: 4976
diff changeset
    68
#define AMMOLINE_CRAZY_PROB     "111111011111111111111111111111111111111111110111111111"
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: 4976
diff changeset
    69
#define AMMOLINE_CRAZY_DELAY    "000000000000000000000000000000000000000000000000000000"
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: 4976
diff changeset
    70
#define AMMOLINE_CRAZY_CRATE    "131111031211111112311411111111111111121111010111111111"
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: 4976
diff changeset
    71
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: 4976
diff changeset
    72
#define AMMOLINE_PROMODE_QT     "909000900000000000000900000000000000000000000000000000"
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: 4976
diff changeset
    73
#define AMMOLINE_PROMODE_PROB   "000000000000000000000000000000000000000000000000000000"
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: 4976
diff changeset
    74
#define AMMOLINE_PROMODE_DELAY  "000000000000020550000004000700400000000020000000000000"
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: 4976
diff changeset
    75
#define AMMOLINE_PROMODE_CRATE  "111111111111111111111111111111111111111110010111111111"
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: 4976
diff changeset
    76
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: 4976
diff changeset
    77
#define AMMOLINE_SHOPPA_QT      "000000990000000000000000000000000000000000000000000000"
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: 4976
diff changeset
    78
#define AMMOLINE_SHOPPA_PROB    "444441004424440221011212122242200000000200040001001111"
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: 4976
diff changeset
    79
#define AMMOLINE_SHOPPA_DELAY   "000000000000000000000000000000000000000000000000000000"
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: 4976
diff changeset
    80
#define AMMOLINE_SHOPPA_CRATE   "111111111111111111111111111111111111111110110111111111"
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: 4976
diff changeset
    81
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: 4976
diff changeset
    82
#define AMMOLINE_CLEAN_QT       "101000900001000001100000000000000000000000000000100000"
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: 4976
diff changeset
    83
#define AMMOLINE_CLEAN_PROB     "040504054160065554655446477657666666615551010111541111"
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: 4976
diff changeset
    84
#define AMMOLINE_CLEAN_DELAY    "000000000000000000000000000000000000000000000000000000"
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: 4976
diff changeset
    85
#define AMMOLINE_CLEAN_CRATE    "131111031211111112311411111111111111121111110111111111"
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: 4976
diff changeset
    86
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: 4976
diff changeset
    87
#define AMMOLINE_MINES_QT       "000000990009000000030000000000000000000000000000000000"
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: 4976
diff changeset
    88
#define AMMOLINE_MINES_PROB     "000000000000000000000000000000000000000000000000000000"
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: 4976
diff changeset
    89
#define AMMOLINE_MINES_DELAY    "000000000000020550000004000700400000000020000000060000"
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: 4976
diff changeset
    90
#define AMMOLINE_MINES_CRATE    "111111111111111111111111111111111111111111110111111111"
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: 4976
diff changeset
    91
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: 4976
diff changeset
    92
#define AMMOLINE_PORTALS_QT     "900000900200000000210000000000000011000009000000000000"
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: 4976
diff changeset
    93
#define AMMOLINE_PORTALS_PROB   "040504054160065554655446477657666666615551010111541111"
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: 4976
diff changeset
    94
#define AMMOLINE_PORTALS_DELAY  "000000000000020550000004000700400000000020000000060000"
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: 4976
diff changeset
    95
#define AMMOLINE_PORTALS_CRATE  "131111031211111112311411111111111111121111110111111111"
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: 4976
diff changeset
    96
5201
7b9aa7aac336 * moved colours and default port from .cpp.in to .h
koda
parents: 5200
diff changeset
    97
7b9aa7aac336 * moved colours and default port from .cpp.in to .h
koda
parents: 5200
diff changeset
    98
#define NETGAME_DEFAULT_PORT 46631
7b9aa7aac336 * moved colours and default port from .cpp.in to .h
koda
parents: 5200
diff changeset
    99
7b9aa7aac336 * moved colours and default port from .cpp.in to .h
koda
parents: 5200
diff changeset
   100
7b9aa7aac336 * moved colours and default port from .cpp.in to .h
koda
parents: 5200
diff changeset
   101
// see http://en.wikipedia.org/wiki/List_of_colors
7b9aa7aac336 * moved colours and default port from .cpp.in to .h
koda
parents: 5200
diff changeset
   102
#define HW_TEAMCOLOR_ARRAY  { 0xff007fff, /* azure */ \
7b9aa7aac336 * moved colours and default port from .cpp.in to .h
koda
parents: 5200
diff changeset
   103
                              0xffdd0000, /* classic red */ \
7b9aa7aac336 * moved colours and default port from .cpp.in to .h
koda
parents: 5200
diff changeset
   104
                              0xff3e9321, /* classic green */ \
7b9aa7aac336 * moved colours and default port from .cpp.in to .h
koda
parents: 5200
diff changeset
   105
                              0xffa23dbb, /* classic purple */ \
7b9aa7aac336 * moved colours and default port from .cpp.in to .h
koda
parents: 5200
diff changeset
   106
                              0xffffb347, /* pastel orange */ \
7b9aa7aac336 * moved colours and default port from .cpp.in to .h
koda
parents: 5200
diff changeset
   107
                              0xffcfcfc4, /* pastel gray */ \
7b9aa7aac336 * moved colours and default port from .cpp.in to .h
koda
parents: 5200
diff changeset
   108
                              0xffbff000, /* lime */ \
7b9aa7aac336 * moved colours and default port from .cpp.in to .h
koda
parents: 5200
diff changeset
   109
                              0xffffef00, /* yellow */ \
7b9aa7aac336 * moved colours and default port from .cpp.in to .h
koda
parents: 5200
diff changeset
   110
                              /* add new colors here */ \
7b9aa7aac336 * moved colours and default port from .cpp.in to .h
koda
parents: 5200
diff changeset
   111
                              0 }