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
23struct 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
35bool operator!=(const SConfig &s1, const SConfig &s2);
36
37#define predefinedConfigNum 4
38const 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}};
62const 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
70struct AiSprite
71{
72 double x,y,dx,dy;
73 bool sun, border;
74};
75
76#endif
77