1 | /* |
2 | Copyright (C) 1998-2001 Andreas Zehender <az@azweb.de> |
3 | |
4 | it under the terms of the GNU General Public License as published by |
5 | the Free Software Foundation; either version 2 of the License, or |
6 | (at your option) any later version. |
7 | |
8 | This program is distributed in the hope that it will be useful, |
9 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
10 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
11 | GNU General Public License for more details. |
12 | |
13 | You should have received a copy of the GNU General Public License |
14 | along with this program; if not, write to the Free Software |
15 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
16 | */ |
17 | |
18 | #ifndef __SP_STRUCTS_H |
19 | #define __SP_STRUCTS_H |
20 | |
21 | #include <klocalizedstring.h> |
22 | |
23 | struct SConfig |
24 | { |
25 | double gamespeed,gravity,acc,energyNeed,sunEnergy,rotationSpeed, |
26 | mineActivateTime,mineFuel,shotSpeed,shotEnergyNeed,mineEnergyNeed, |
27 | rotationEnergyNeed,startPosX,startPosY,startVelX,startVelY, |
28 | bulletLifeTime,mineReloadTime,bulletReloadTime; |
29 | unsigned bulletDamage,shipDamage,mineDamage,maxBullets,maxMines; |
30 | double powerupLifeTime, powerupRefreshTime; |
31 | double powerupEnergyAmount; |
32 | unsigned powerupShieldAmount; |
33 | }; |
34 | |
35 | bool operator!=(const SConfig &s1, const SConfig &s2); |
36 | |
37 | #define predefinedConfigNum 4 |
38 | const SConfig predefinedConfig[]={{1.0, 2200.0, 0.2, 1.0, 9000.0, 1.0, |
39 | 15.0, 65.0, 3.0, 10.0, 5.0, |
40 | 0.2, -130.0, -100.0, 3.0, -1.7, |
41 | 500.0,10.0,10.0, |
42 | 20, 50, 30, 5, 3, |
43 | 400.0, 800.0, 50, 30}, |
44 | {1.0, 2200.0, 0.2, 1.0, 9000.0, 1.0, |
45 | 15.0, 40.0, 5.0, 20.0, 10.0, |
46 | 0.2, -50.0, -150.0, 3.5, 0.9, |
47 | 500.0,10.0,10.0, |
48 | 20, 50, 30, 6, 2, |
49 | 400.0, 800.0, 50, 30}, |
50 | {1.3, 2200.0, 0.2, 1.0, 13000.0, 1.0, |
51 | 15.0, 50.0, 4.0, 10.0, 10.0, |
52 | 0.2, -50.0, -150.0, 3.2, -0.9, |
53 | 400.0,10.0,10.0, |
54 | 20, 50, 30, 7, 5, |
55 | 400.0, 800.0, 50, 30}, |
56 | {1.0, 2200.0, 0.2, 1.0, 9000.0, 1.0, |
57 | 15.0, 40.0, 5.0, 60.0, 50.0, |
58 | 0.4, -50.0, -170.0, 3.0, -0.5, |
59 | 500.0,10.0,10.0, |
60 | 20, 50, 30, 5, 3, |
61 | 400.0, 800.0, 50, 30}}; |
62 | const char predefinedConfigName[predefinedConfigNum][15]= |
63 | {I18N_NOOP("Default" ),I18N_NOOP("Bullet" ),I18N_NOOP("Chaos" ),I18N_NOOP("Lack of Energy" )}; |
64 | |
65 | // This is because on Solaris, sun is defined (it's the vendor) |
66 | #ifdef sun |
67 | #undef sun |
68 | #endif |
69 | |
70 | struct AiSprite |
71 | { |
72 | double x,y,dx,dy; |
73 | bool sun, border; |
74 | }; |
75 | |
76 | #endif |
77 | |