1 /* 2 SPDX-FileCopyrightText: 1998-2001 Andreas Zehender <az@azweb.de> 3 4 SPDX-License-Identifier: GPL-2.0-or-later 5 */ 6 7 #ifndef __SP_STRUCTS_H 8 #define __SP_STRUCTS_H 9 10 #include <KLocalizedString> 11 12 struct SConfig 13 { 14 double gamespeed,gravity,acc,energyNeed,sunEnergy,rotationSpeed, 15 mineActivateTime,mineFuel,shotSpeed,shotEnergyNeed,mineEnergyNeed, 16 rotationEnergyNeed,startPosX,startPosY,startVelX,startVelY, 17 bulletLifeTime,mineReloadTime,bulletReloadTime; 18 unsigned bulletDamage,shipDamage,mineDamage,maxBullets,maxMines; 19 double powerupLifeTime, powerupRefreshTime; 20 double powerupEnergyAmount; 21 unsigned powerupShieldAmount; 22 }; 23 24 bool operator!=(const SConfig &s1, const SConfig &s2); 25 26 #define predefinedConfigNum 4 27 const SConfig predefinedConfig[]={{1.0, 2200.0, 0.2, 1.0, 9000.0, 1.0, 28 15.0, 65.0, 3.0, 10.0, 5.0, 29 0.2, -130.0, -100.0, 3.0, -1.7, 30 500.0,10.0,10.0, 31 20, 50, 30, 5, 3, 32 400.0, 800.0, 50, 30}, 33 {1.0, 2200.0, 0.2, 1.0, 9000.0, 1.0, 34 15.0, 40.0, 5.0, 20.0, 10.0, 35 0.2, -50.0, -150.0, 3.5, 0.9, 36 500.0,10.0,10.0, 37 20, 50, 30, 6, 2, 38 400.0, 800.0, 50, 30}, 39 {1.3, 2200.0, 0.2, 1.0, 13000.0, 1.0, 40 15.0, 50.0, 4.0, 10.0, 10.0, 41 0.2, -50.0, -150.0, 3.2, -0.9, 42 400.0,10.0,10.0, 43 20, 50, 30, 7, 5, 44 400.0, 800.0, 50, 30}, 45 {1.0, 2200.0, 0.2, 1.0, 9000.0, 1.0, 46 15.0, 40.0, 5.0, 60.0, 50.0, 47 0.4, -50.0, -170.0, 3.0, -0.5, 48 500.0,10.0,10.0, 49 20, 50, 30, 5, 3, 50 400.0, 800.0, 50, 30}}; 51 const char predefinedConfigName[predefinedConfigNum][15]= 52 {I18N_NOOP("Default"),I18N_NOOP("Bullet"),I18N_NOOP("Chaos"),I18N_NOOP("Lack of Energy")}; 53 54 // This is because on Solaris, sun is defined (it's the vendor) 55 #ifdef sun 56 #undef sun 57 #endif 58 59 struct AiSprite 60 { 61 double x,y,dx,dy; 62 bool sun, border; 63 }; 64 65 #endif 66