author | koda |
Mon, 26 Mar 2012 03:36:11 +0200 | |
changeset 6823 | e54a68b9b844 |
parent 6700 | e04da46ee43c |
child 6933 | 78d194a30520 |
permissions | -rw-r--r-- |
583 | 1 |
/* |
1066 | 2 |
* Hedgewars, a free turn based strategy game |
6700 | 3 |
* Copyright (c) 2005-2012 Andrey Korotaev <unC0Rr@gmail.com> |
583 | 4 |
* |
5 |
* This program is free software; you can redistribute it and/or modify |
|
6 |
* it under the terms of the GNU General Public License as published by |
|
7 |
* the Free Software Foundation; version 2 of the License |
|
8 |
* |
|
9 |
* This program is distributed in the hope that it will be useful, |
|
10 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
11 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
12 |
* GNU General Public License for more details. |
|
13 |
* |
|
14 |
* You should have received a copy of the GNU General Public License |
|
15 |
* along with this program; if not, write to the Free Software |
|
16 |
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA |
|
17 |
*/ |
|
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 | 20 |
#include <QString> |
21 |
#include <QDir> |
|
22 |
#include <QStringList> |
|
1967 | 23 |
#include <QPair> |
583 | 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 | 27 |
extern QString * cProtoVer; |
907 | 28 |
extern QString * cVersionString; |
583 | 29 |
extern QString * cDataDir; |
2428 | 30 |
extern QString * cConfigDir; |
583 | 31 |
|
32 |
extern QDir * bindir; |
|
33 |
extern QDir * cfgdir; |
|
34 |
extern QDir * datadir; |
|
35 |
||
3932 | 36 |
extern bool custom_config; |
37 |
extern bool custom_data; |
|
38 |
||
3865 | 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 | 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 | 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 | 47 |
|
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 | 50 |
extern QList< QPair<QString, QString> > cDefaultAmmos; |
616 | 51 |
|
5201 | 52 |
extern unsigned int colors[]; |
654 | 53 |
|
54 |
extern QString * netHost; |
|
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 | 58 |
extern bool isDevBuild; |
6579 | 59 |
|
60 |
//Current season, SEASON_NONE by default |
|
61 |
extern int season; |
|
62 |
//On the day of hedgewars birthday (Oct 31st) this variable is assigned |
|
63 |
//with number of years past 2004 (foundation of hedgewars) |
|
64 |
//Could be used to implement a text/graphic like "This is the xxth birthday of hedgewars" or similar |
|
65 |
extern int years_since_foundation; |
|
66 |
||
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
|
67 |
#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
|
68 |
|
6015
daffc14a518a
cleaning up a little bit more, especially team class. we were leaking teams into heap memory on quick game starts btw
sheepluva
parents:
5771
diff
changeset
|
69 |
#define HEDGEHOGS_PER_TEAM 8 |
daffc14a518a
cleaning up a little bit more, especially team class. we were leaking teams into heap memory on quick game starts btw
sheepluva
parents:
5771
diff
changeset
|
70 |
|
5543
5e597b725316
disable campaign button, structure and change sudden death music to hell.ogg
Henek
parents:
5447
diff
changeset
|
71 |
#define AMMOLINE_DEFAULT_QT "939192942219912103223511100120100000021111010101111101" |
6579 | 72 |
#define AMMOLINE_DEFAULT_PROB "040504054160065554655446477657666666615551010111541101" |
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
|
73 |
#define AMMOLINE_DEFAULT_DELAY "000000000000020550000004000700400000000022000000060000" |
6579 | 74 |
#define AMMOLINE_DEFAULT_CRATE "131111031211111112311411111111111111121111110111111101" |
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
|
75 |
|
6579 | 76 |
#define AMMOLINE_CRAZY_QT "999999999999999999299999999999999929999999990999999209" |
77 |
#define AMMOLINE_CRAZY_PROB "111111011111111111111111111111111111111111110111111101" |
|
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
|
78 |
#define AMMOLINE_CRAZY_DELAY "000000000000000000000000000000000000000000000000000000" |
6579 | 79 |
#define AMMOLINE_CRAZY_CRATE "131111031211111112311411111111111111121111010111111101" |
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
|
80 |
|
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 |
#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
|
82 |
#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
|
83 |
#define AMMOLINE_PROMODE_DELAY "000000000000020550000004000700400000000020000000000000" |
6579 | 84 |
#define AMMOLINE_PROMODE_CRATE "111111111111111111111111111111111111111110010111111101" |
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
|
85 |
|
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 |
#define AMMOLINE_SHOPPA_QT "000000990000000000000000000000000000000000000000000000" |
5771
e3a047e84e19
by request of shoppa player, remove land spray from shoppa wep set
nemo
parents:
5543
diff
changeset
|
87 |
#define AMMOLINE_SHOPPA_PROB "444441004424440221011212122242200000000200040001001100" |
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
|
88 |
#define AMMOLINE_SHOPPA_DELAY "000000000000000000000000000000000000000000000000000000" |
5771
e3a047e84e19
by request of shoppa player, remove land spray from shoppa wep set
nemo
parents:
5543
diff
changeset
|
89 |
#define AMMOLINE_SHOPPA_CRATE "111111111111111111111111111111111111111110110111111100" |
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
|
90 |
|
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 |
#define AMMOLINE_CLEAN_QT "101000900001000001100000000000000000000000000000100000" |
6579 | 92 |
#define AMMOLINE_CLEAN_PROB "040504054160065554655446477657666666615551010111541101" |
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
|
93 |
#define AMMOLINE_CLEAN_DELAY "000000000000000000000000000000000000000000000000000000" |
6579 | 94 |
#define AMMOLINE_CLEAN_CRATE "131111031211111112311411111111111111121111110111111101" |
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
|
95 |
|
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 |
#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
|
97 |
#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
|
98 |
#define AMMOLINE_MINES_DELAY "000000000000020550000004000700400000000020000000060000" |
6579 | 99 |
#define AMMOLINE_MINES_CRATE "111111111111111111111111111111111111111111110111111101" |
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
|
100 |
|
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
|
101 |
#define AMMOLINE_PORTALS_QT "900000900200000000210000000000000011000009000000000000" |
6579 | 102 |
#define AMMOLINE_PORTALS_PROB "040504054160065554655446477657666666615551010111541101" |
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
|
103 |
#define AMMOLINE_PORTALS_DELAY "000000000000020550000004000700400000000020000000060000" |
6579 | 104 |
#define AMMOLINE_PORTALS_CRATE "131111031211111112311411111111111111121111110111111101" |
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
|
105 |
|
6579 | 106 |
//Different seasons; assigned to season (int) |
107 |
#define SEASON_NONE 0 |
|
108 |
#define SEASON_CHRISTMAS 2 |
|
109 |
#define SEASON_HWBDAY 4 |
|
110 |
#define SEASON_EASTER 8 |
|
5201 | 111 |
|
112 |
#define NETGAME_DEFAULT_PORT 46631 |
|
113 |
||
114 |
||
115 |
// see http://en.wikipedia.org/wiki/List_of_colors |
|
5443
83cb9dd54469
set of 9 colours proposed by bugq - attempting to avoid colours that are hard to distinguish
nemo
parents:
5289
diff
changeset
|
116 |
/*define HW_TEAMCOLOR_ARRAY {0xff007fff, /. azure ./ \ |
83cb9dd54469
set of 9 colours proposed by bugq - attempting to avoid colours that are hard to distinguish
nemo
parents:
5289
diff
changeset
|
117 |
0xffdd0000, /. classic red ./ \ |
83cb9dd54469
set of 9 colours proposed by bugq - attempting to avoid colours that are hard to distinguish
nemo
parents:
5289
diff
changeset
|
118 |
0xff3e9321, /. classic green ./ \ |
83cb9dd54469
set of 9 colours proposed by bugq - attempting to avoid colours that are hard to distinguish
nemo
parents:
5289
diff
changeset
|
119 |
0xffa23dbb, /. classic purple ./ \ |
83cb9dd54469
set of 9 colours proposed by bugq - attempting to avoid colours that are hard to distinguish
nemo
parents:
5289
diff
changeset
|
120 |
0xffffb347, /. pastel orange ./ \ |
83cb9dd54469
set of 9 colours proposed by bugq - attempting to avoid colours that are hard to distinguish
nemo
parents:
5289
diff
changeset
|
121 |
0xffcfcfc4, /. pastel gray ./ \ |
83cb9dd54469
set of 9 colours proposed by bugq - attempting to avoid colours that are hard to distinguish
nemo
parents:
5289
diff
changeset
|
122 |
0xffbff000, /. lime ./ \ |
83cb9dd54469
set of 9 colours proposed by bugq - attempting to avoid colours that are hard to distinguish
nemo
parents:
5289
diff
changeset
|
123 |
0xffffef00, /. yellow ./ \ |
6616
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6579
diff
changeset
|
124 |
// add new colors here |
5443
83cb9dd54469
set of 9 colours proposed by bugq - attempting to avoid colours that are hard to distinguish
nemo
parents:
5289
diff
changeset
|
125 |
0 }*/ |
6309
82e846e5d502
Another set of colours. These are an attempt to fuse ideas from mikade and bugq, based on channel feedback/voting.
nemo
parents:
6015
diff
changeset
|
126 |
/* |
82e846e5d502
Another set of colours. These are an attempt to fuse ideas from mikade and bugq, based on channel feedback/voting.
nemo
parents:
6015
diff
changeset
|
127 |
#define HW_TEAMCOLOR_ARRAY { 0xffd12b42, /. red ./ \ |
82e846e5d502
Another set of colours. These are an attempt to fuse ideas from mikade and bugq, based on channel feedback/voting.
nemo
parents:
6015
diff
changeset
|
128 |
0xff4980c1, /. blue ./ \ |
82e846e5d502
Another set of colours. These are an attempt to fuse ideas from mikade and bugq, based on channel feedback/voting.
nemo
parents:
6015
diff
changeset
|
129 |
0xff6ab530, /. green ./ \ |
82e846e5d502
Another set of colours. These are an attempt to fuse ideas from mikade and bugq, based on channel feedback/voting.
nemo
parents:
6015
diff
changeset
|
130 |
0xffbc64c4, /. purple ./ \ |
82e846e5d502
Another set of colours. These are an attempt to fuse ideas from mikade and bugq, based on channel feedback/voting.
nemo
parents:
6015
diff
changeset
|
131 |
0xffe76d14, /. orange ./ \ |
82e846e5d502
Another set of colours. These are an attempt to fuse ideas from mikade and bugq, based on channel feedback/voting.
nemo
parents:
6015
diff
changeset
|
132 |
0xff3fb6e6, /. cyan ./ \ |
82e846e5d502
Another set of colours. These are an attempt to fuse ideas from mikade and bugq, based on channel feedback/voting.
nemo
parents:
6015
diff
changeset
|
133 |
0xffe3e90c, /. yellow ./ \ |
82e846e5d502
Another set of colours. These are an attempt to fuse ideas from mikade and bugq, based on channel feedback/voting.
nemo
parents:
6015
diff
changeset
|
134 |
0xff61d4ac, /. mint ./ \ |
82e846e5d502
Another set of colours. These are an attempt to fuse ideas from mikade and bugq, based on channel feedback/voting.
nemo
parents:
6015
diff
changeset
|
135 |
0xfff1c3e1, /. pink ./ \ |
82e846e5d502
Another set of colours. These are an attempt to fuse ideas from mikade and bugq, based on channel feedback/voting.
nemo
parents:
6015
diff
changeset
|
136 |
// add new colors here |
82e846e5d502
Another set of colours. These are an attempt to fuse ideas from mikade and bugq, based on channel feedback/voting.
nemo
parents:
6015
diff
changeset
|
137 |
0 }*/ |
82e846e5d502
Another set of colours. These are an attempt to fuse ideas from mikade and bugq, based on channel feedback/voting.
nemo
parents:
6015
diff
changeset
|
138 |
/* another set. this one is a merge of mikade/bugq colours w/ a bit of channel feedback */ |
82e846e5d502
Another set of colours. These are an attempt to fuse ideas from mikade and bugq, based on channel feedback/voting.
nemo
parents:
6015
diff
changeset
|
139 |
#define HW_TEAMCOLOR_ARRAY { 0xffff0204, /* red */ \ |
5443
83cb9dd54469
set of 9 colours proposed by bugq - attempting to avoid colours that are hard to distinguish
nemo
parents:
5289
diff
changeset
|
140 |
0xff4980c1, /* blue */ \ |
6309
82e846e5d502
Another set of colours. These are an attempt to fuse ideas from mikade and bugq, based on channel feedback/voting.
nemo
parents:
6015
diff
changeset
|
141 |
0xff1de6ba, /* teal */ \ |
82e846e5d502
Another set of colours. These are an attempt to fuse ideas from mikade and bugq, based on channel feedback/voting.
nemo
parents:
6015
diff
changeset
|
142 |
0xffb541ef, /* purple */ \ |
82e846e5d502
Another set of colours. These are an attempt to fuse ideas from mikade and bugq, based on channel feedback/voting.
nemo
parents:
6015
diff
changeset
|
143 |
0xffe55bb0, /* pink */ \ |
82e846e5d502
Another set of colours. These are an attempt to fuse ideas from mikade and bugq, based on channel feedback/voting.
nemo
parents:
6015
diff
changeset
|
144 |
0xff20bf00, /* green */ \ |
82e846e5d502
Another set of colours. These are an attempt to fuse ideas from mikade and bugq, based on channel feedback/voting.
nemo
parents:
6015
diff
changeset
|
145 |
0xfffe8b0e, /* orange */ \ |
82e846e5d502
Another set of colours. These are an attempt to fuse ideas from mikade and bugq, based on channel feedback/voting.
nemo
parents:
6015
diff
changeset
|
146 |
0xff5f3605, /* brown */ \ |
82e846e5d502
Another set of colours. These are an attempt to fuse ideas from mikade and bugq, based on channel feedback/voting.
nemo
parents:
6015
diff
changeset
|
147 |
0xffffff01, /* yellow */ \ |
5201 | 148 |
/* add new colors here */ \ |
149 |
0 } |