OSDN Git Service

README-jp.txtのBOMを削除した
[starfighter-jp/starfighter-jp.git] / src / defs.h
1 /*
2 Copyright (C) 2003 Parallel Realities
3 Copyright (C) 2011, 2012 Guus Sliepen
4 Copyright (C) 2012, 2015, 2016 onpon4 <onpon4@riseup.net>
5
6 This program is free software; you can redistribute it and/or
7 modify it under the terms of the GNU General Public License
8 as published by the Free Software Foundation; either version 3
9 of the License, or (at your option) any later version.
10
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with this program.  If not, see <http://www.gnu.org/licenses/>.
18 */
19
20 #ifndef DEFS_H
21 #define DEFS_H
22
23 #include <stdlib.h>
24
25
26 // Macros
27 #define MIN(a, b) ((a) < (b) ? (a) : (b))
28 #define MAX(a, b) ((a) > (b) ? (a) : (b))
29 #define LIMIT(x, a, b) x = ((x) < (b) ? ((x) > (a) ? (x) : (a)) : (b))
30 #define LIMIT_ADD(x, y, a, b) x = (((x) + (y)) < (b) ? \
31         (((x) + (y)) > (a) ? \
32                 ((x) + (y)) : (a)) : (b))
33 #define WRAP_ADD(x, y, a, b) x = (((x) + (y)) + \
34         ((x) + (y) < (a) ? ((b) - (a)) : 0) + \
35         ((x) + (y) > (b) ? ((a) - (b)) : 0))
36 #define CHANCE(x) ((rand() % RAND_MAX) < ((x) * RAND_MAX))
37 #define RANDRANGE(x, y) (((x) < (y)) ? ((x) + (rand() % (long)(1 + (y) - (x)))) : (x))
38
39
40 // Compile-time options
41 #ifndef VERSION
42 #define VERSION "???"
43 #endif
44
45 #ifndef DATADIR
46 #define DATADIR "."
47 #endif 
48
49 #ifndef SCREEN_WIDTH
50 #define SCREEN_WIDTH 800
51 #endif
52
53 #ifndef SCREEN_HEIGHT
54 #define SCREEN_HEIGHT 600
55 #endif
56
57 #ifndef PATH_MAX
58 #define PATH_MAX 4096
59 #endif
60
61 #define STARS_NUM 200
62
63 // Object Flags
64 #define FL_WEAPCO 1
65 #define FL_FRIEND 2
66 #define FL_IMMORTAL 4
67 #define FL_NOMOVE 8
68 #define FL_NOFIRE 16
69 #define FL_FIRERAY 32
70 #define FL_DAMAGEOWNER 64
71 #define FL_LEAVESECTOR 128
72 #define FL_ESCAPED 256
73 #define FL_DROPMINES 512
74 #define FL_AIMS 1024
75 #define FL_DISABLED 2048
76 #define FL_CANNOTDIE 4096 // No longer used
77 #define FL_RUNSAWAY 8192
78 #define FL_ALWAYSFACE 16384 // Kline doesn't turn his back on you! ;)
79 #define FL_CIRCLES 32768L // Kline can circle around
80 #define FL_CONTINUOUS_FIRE 65536L // Go absolutely nutts(!)
81 #define FL_DEPLOYDRONES 131072L // Deploys small drone - Used by Boss 2
82 #define FL_CANCLOAK 262144L
83 #define FL_ISCLOAKED 524288L
84 #define FL_ACTIVATE 1048576L
85 #define FL_HASMINIMUMSPEED 2097152L
86 #define FL_FIRELASER 4194304L
87
88 // Weapon flags
89 #define WF_SPREAD 4
90 #define WF_SCATTER 8
91 #define WF_VARIABLE_SPEED 16
92 #define WF_HOMING 32
93 #define WF_SHOCKWAVE 64
94 #define WF_WEAPCO 128
95 #define WF_FRIEND 256
96 #define WF_AIMED 512
97 #define WF_DISABLE 1024
98 #define WF_TIMEDEXPLOSION 2048
99
100 #define MAX_CARGO 20
101 #define MAX_INFOLINES 3
102 #define MAX_EVENTS 20
103
104
105 enum keys {
106         KEY_UP,
107         KEY_DOWN,
108         KEY_LEFT,
109         KEY_RIGHT,
110         KEY_FIRE,
111         KEY_ALTFIRE,
112         KEY_SWITCH,
113         KEY_PAUSE,
114         KEY_ESCAPE,
115         KEY_FULLSCREEN,
116         KEY_DUMMY,
117         KEY_LAST
118 };
119
120 // AI Types
121 enum {
122         AI_NORMAL = 1,
123         AI_DEFENSIVE,
124         AI_OFFENSIVE,
125         AI_EVASIVE,
126         AI_WANDER
127 };
128
129 // These are for Alien *indexes* NOT classdefs!!
130 enum {
131         ALIEN_NORMAL_LAST = 20,
132         ALIEN_BOSS,
133         ALIEN_BOSS_PART1,
134         ALIEN_BOSS_PART2,
135         ALIEN_BOSS_PART3,
136         ALIEN_BOSS_PART4,
137         ALIEN_BOSS_PART5,
138         ALIEN_BOSS_PART6,
139         ALIEN_KLINE,
140         ALIEN_PHOEBE,
141         ALIEN_URSULA,
142         ALIEN_SID,
143         ALIEN_FRIEND1,
144         ALIEN_FRIEND2,
145         ALIEN_MAX
146 };
147
148 // Droppables
149 enum {
150         P_ANYTHING = 1,
151         P_WEAPONS,
152         P_CASH,
153         P_ROCKET,
154         P_SHIELD,
155         P_CARGO,
156         P_PLASMA_AMMO,
157         P_PLASMA_RATE,
158         P_PLASMA_SHOT,
159         P_PLASMA_DAMAGE,
160         P_MINE,                         // mines detonate when you "pick them up!"
161         P_PHOEBE,                       // only used as an attachment(!)
162         P_SLAVES,
163         P_ESCAPEPOD,
164         P_ORE,
165         P_SUPER
166 };
167
168 // Jobs
169 enum {
170         WT_PLASMA = 1,
171         WT_ROCKET,
172         WT_ENERGYRAY,
173         WT_LASER,
174         WT_MICROROCKET,
175         WT_CHARGER,
176         WT_DIRECTIONAL,
177         WT_SPREAD
178 };
179
180 // Weapons
181 enum {
182         W_NONE = -1,
183         W_PLAYER_WEAPON,
184         W_PLAYER_WEAPON2,
185         W_SINGLE_SHOT,
186         W_DOUBLE_SHOT,
187         W_TRIPLE_SHOT,
188         W_ROCKETS,
189         W_DOUBLE_ROCKETS,
190         W_MICRO_ROCKETS,
191         W_ENERGYRAY,
192         W_LASER,
193         W_CHARGER,
194         W_HOMING_MISSILE,
195         W_DOUBLE_HOMING_MISSILES,
196         W_MICRO_HOMING_MISSILES,
197         W_AIMED_SHOT,
198         W_SPREADSHOT,
199         W_IONCANNON,
200         W_DIRSHOCKMISSILE,
201         W_MAX
202 };
203
204 // Mission types
205 enum {
206         M_NONE,
207         M_DESTROY_ALL_TARGETS,
208         M_DESTROY_TARGET_TYPE,
209         M_COLLECT,
210         M_PROTECT_PICKUP,
211         M_PROTECT_TARGET,
212         M_DISABLE_TARGET,
213         M_ESCAPE_TARGET
214 };
215
216 enum {
217         OB_JUST_FAILED = -2,
218         OB_FAILED,
219         OB_INCOMPLETE,
220         OB_COMPLETED,
221         OB_JUST_COMPLETED,
222         OB_CONDITION,
223         OB_HIDDEN
224 };
225
226 // Class Defs - Some of these are just place holders
227 enum {
228         CD_DUALFIGHTER,         // 0
229         CD_MISSILEBOAT,
230         CD_PROTOFIGHTER,
231         CD_FRIEND,
232         CD_FRIGATE,
233         CD_FRIGATE_WING1,
234         CD_FRIGATE_WING2,
235         CD_TRANSPORTSHIP,
236         CD_CARGOSHIP,
237         CD_MINER,
238         CD_KLINE,                       // 10
239         CD_AIMFIGHTER,
240         CD_SLAVETRANSPORT,
241         CD_GOODTRANSPORT,
242         CD_SID,
243         CD_MINEBOSS,
244         CD_BOSS2_WING1,
245         CD_BOSS2_WING2,
246         CD_BOSS2_WING3,
247         CD_BOSS2_WING4,
248         CD_DRONE,                       // 20
249         CD_CLOAKFIGHTER,
250         CD_EVILURSULA,
251         CD_KRASS,
252         CD_EXEC,
253         CD_ASTEROID,
254         CD_ASTEROID2,
255         CD_ESCORT,
256         CD_MOBILE_RAY,
257         CD_REBELCARRIER,
258         CD_PLUTOBOSS,           // 30
259         CD_BARRIER,
260         CD_NEPTUNEBOSS,
261         CD_MOBILESHIELD,
262         CD_PIRATE,
263         CD_FIREFLY,
264         CD_URANUSBOSS,
265         CD_URANUSBOSSWING1,
266         CD_URANUSBOSSWING2,
267         CD_MAX,
268
269         // Some special ones
270         CD_ANY = 100,
271         CD_BOSS,
272         CD_PHOEBE,
273         CD_URSULA
274 };
275
276 // Sprites
277 enum {
278         // Intermission
279         SP_CURSOR,
280         SP_START_MISSION,
281         SP_MAP,
282         SP_STATUS,
283         SP_SAVE,
284         SP_SHOP,
285         SP_COMM,
286         SP_OPTIONS,
287         SP_EXIT,
288         SP_PLASMA_MAX_OUTPUT,
289         SP_PLASMA_MAX_POWER,
290         SP_PLASMA_MAX_RATE,
291         SP_PLASMA_AMMO,
292         SP_ROCKET_AMMO,
293         SP_PLASMA_MIN_OUTPUT,
294         SP_PLASMA_MIN_POWER,
295         SP_PLASMA_MIN_RATE,
296         SP_PLASMA_MAX_AMMO,
297         SP_ROCKET_MAX_AMMO,
298         SP_DOUBLE_ROCKETS,
299         SP_MICRO_ROCKETS,
300         SP_LASER,
301         SP_HOMING_MISSILE,
302         SP_CHARGER,
303         SP_DOUBLE_HOMING_MISSILES,
304         SP_MICRO_HOMING_MISSILES,
305         SP_GOTO,
306         SP_BUY,
307         SP_SELL,
308         SP_FIREFLY,
309         SP_SUN,
310         SP_PLANET_GREEN,
311         SP_PLANET_BLUE,
312         SP_PLANET_RED,
313         SP_PLANET_ORANGE,
314
315         // Bullets
316         SP_PLASMA_GREEN,
317         SP_PLASMA_RED,
318         SP_DIR_PLASMA_GREEN,
319         SP_DIR_PLASMA_RED,
320         SP_ION,
321         SP_ROCKET,
322         SP_ROCKET_L,
323
324         // Explosions
325         SP_SMALL_EXPLOSION,
326         SP_SMALL_EXPLOSION_2,
327         SP_SMALL_EXPLOSION_3,
328         SP_SMALL_EXPLOSION_L,
329         SP_BIG_EXPLOSION,
330         SP_BIG_EXPLOSION_2,
331         SP_BIG_EXPLOSION_3,
332         SP_BIG_EXPLOSION_L,
333         SP_SMOKE,
334         SP_SMOKE_2,
335         SP_SMOKE_3,
336         SP_SMOKE_L,
337         SP_TINY_EXPLOSION,
338         SP_TINY_EXPLOSION_2,
339         SP_TINY_EXPLOSION_3,
340         SP_TINY_EXPLOSION_L,
341         SP_ELECTRICAL,
342         SP_ELECTRICAL_2,
343         SP_ELECTRICAL_3,
344         SP_ELECTRICAL_L,
345
346         // Pickups
347         SP_PICKUP_MONEY,
348         SP_PICKUP_PLASMA,
349         SP_PICKUP_ROCKETS,
350         SP_PICKUP_SHIELD,
351         SP_PICKUP_PLASMA_OUTPUT,
352         SP_PICKUP_PLASMA_POWER,
353         SP_PICKUP_PLASMA_RATE,
354         SP_SUPERCHARGE,
355         SP_CARGO,
356         SP_ESCAPE_POD,
357         SP_ORE,
358         SP_ORE_2,
359         SP_ORE_L,
360         SP_CHAIN_LINK,
361         SP_MINE,
362
363         // Targeting system
364         SP_ARROW_NORTH,
365         SP_ARROW_NORTHEAST,
366         SP_ARROW_EAST,
367         SP_ARROW_SOUTHEAST,
368         SP_ARROW_SOUTH,
369         SP_ARROW_SOUTHWEST,
370         SP_ARROW_WEST,
371         SP_ARROW_NORTHWEST,
372         SP_ARROW_FRIEND_NORTH,
373         SP_ARROW_FRIEND_NORTHEAST,
374         SP_ARROW_FRIEND_EAST,
375         SP_ARROW_FRIEND_SOUTHEAST,
376         SP_ARROW_FRIEND_SOUTH,
377         SP_ARROW_FRIEND_SOUTHWEST,
378         SP_ARROW_FRIEND_WEST,
379         SP_ARROW_FRIEND_NORTHWEST,
380         SP_INDICATOR_TARGET,
381         SP_INDICATOR_SID,
382         SP_INDICATOR_PHOEBE,
383         SP_INDICATOR_URSULA,
384         SP_INDICATOR_KLINE,
385
386         SP_MAX
387 };
388
389 // Face sprites
390 enum {
391         FS_CHRIS,
392         FS_SID,
393         FS_KRASS,
394         FS_KLINE,
395         FS_PHOEBE,
396         FS_URSULA,
397         FS_CREW,
398         FS_MAX
399 };
400
401 // Ship sprites
402 enum {
403         SS_FIREFLY,
404         SS_FIREFLY_L,
405         SS_SID,
406         SS_SID_L,
407         SS_FRIEND,
408         SS_FRIEND_L,
409         SS_GOODTRANSPORT,
410         SS_GOODTRANSPORT_L,
411         SS_REBELCARRIER,
412         SS_REBELCARRIER_L,
413         SS_DUALFIGHTER,
414         SS_DUALFIGHTER_L,
415         SS_MISSILEBOAT,
416         SS_MISSILEBOAT_L,
417         SS_PROTOFIGHTER,
418         SS_PROTOFIGHTER_L,
419         SS_AIMFIGHTER,
420         SS_AIMFIGHTER_L,
421         SS_DRONE,
422         SS_DRONE_L,
423         SS_MINER,
424         SS_MINER_L,
425         SS_ESCORT,
426         SS_ESCORT_L,
427         SS_MOBILE_RAY,
428         SS_MOBILE_RAY_L,
429         SS_TRANSPORTSHIP,
430         SS_TRANSPORTSHIP_L,
431         SS_CARGOSHIP,
432         SS_CARGOSHIP_L,
433         SS_SLAVETRANSPORT,
434         SS_SLAVETRANSPORT_L,
435         SS_BARRIER,
436         SS_MOBILESHIELD,
437         SS_MOBILESHIELD_L,
438         SS_ASTEROID,
439         SS_ASTEROID_SMALL,
440         SS_ASTEROID_SMALL_L,
441         SS_CLOAKFIGHTER,
442         SS_CLOAKFIGHTER_L,
443         SS_EVILURSULA,
444         SS_EVILURSULA_L,
445         SS_KRASS,
446         SS_KRASS_L,
447         SS_FRIGATE,
448         SS_FRIGATE_L,
449         SS_FRIGATE_WING1,
450         SS_FRIGATE_WING1_L,
451         SS_FRIGATE_WING2,
452         SS_FRIGATE_WING2_L,
453         SS_MINERBOSS,
454         SS_MINERBOSS_L,
455         SS_MINERBOSS_WING1,
456         SS_MINERBOSS_WING1_L,
457         SS_MINERBOSS_WING2,
458         SS_MINERBOSS_WING2_L,
459         SS_MINERBOSS_WING3,
460         SS_MINERBOSS_WING3_L,
461         SS_MINERBOSS_WING4,
462         SS_MINERBOSS_WING4_L,
463         SS_EXEC,
464         SS_EXEC_L,
465         SS_PLUTOBOSS,
466         SS_PLUTOBOSS_L,
467         SS_URANUSBOSS,
468         SS_URANUSBOSS_L,
469         SS_URANUSBOSS_WING1,
470         SS_URANUSBOSS_WING1_L,
471         SS_URANUSBOSS_WING2,
472         SS_URANUSBOSS_WING2_L,
473         SS_KLINE,
474         SS_KLINE_L,
475         SS_HIT_INDEX,
476         SS_MAX = SS_HIT_INDEX * 2
477 };
478
479 // Shop sprites
480 enum {
481         SHOP_S_PRIMARY,
482         SHOP_S_POWERUP,
483         SHOP_S_SECONDARY,
484         SHOP_S_CATALOG,
485         SHOP_S_SHIP_INFO,
486         SHOP_S_ITEM_INFO,
487         SHOP_S_MAX
488 };
489
490 // Text sprites
491 enum {
492         // Main menu
493         TS_PRESENTS = MAX_INFOLINES,
494         TS_AN_SDL_GAME,
495         TS_START_NEW_GAME,
496         TS_LOAD_GAME,
497         TS_CONTINUE_CURRENT_GAME,
498         TS_OPTIONS,
499         TS_CHEAT_OPTIONS,
500         TS_QUIT,
501         TS_SOUND,
502         TS_MUSIC,
503         TS_FULLSCREEN,
504         TS_AUTOPAUSE,
505         TS_BACK_TO_MAIN_MENU,
506         TS_SAVESLOT_0,
507         TS_SAVESLOT_1,
508         TS_SAVESLOT_2,
509         TS_SAVESLOT_3,
510         TS_SAVESLOT_4,
511         TS_SAVESLOT_5,
512         TS_UNLIMITED_SHIELD,
513         TS_UNLIMITED_AMMO,
514         TS_UNLIMITED_CASH,
515         TS_UNLIMITED_TIME,
516         TS_START_GAME,
517         TS_DIFFICULTY,
518
519         // Intermission
520         TS_CURRENT_SYSTEM,
521         TS_INFO_START_MISSION,
522         TS_INFO_GOTO,
523         TS_INFO_MAP,
524         TS_INFO_STATUS,
525         TS_INFO_SAVE_GAME,
526         TS_INFO_SHOP,
527         TS_INFO_COMMS,
528         TS_INFO_OPTIONS,
529         TS_INFO_EXIT,
530         TS_CURRENT_PLANET,
531         TS_DEST_PLANET,
532
533         // Status
534         TS_STATUS_HEADER,
535         TS_SHOTS_FIRED,
536         TS_HITS_SCORED,
537         TS_ACCURACY,
538         TS_OTHER_KILLS,
539         TS_CASH_EARNED,
540         TS_CHRIS_HEADER,
541         TS_CHRIS_KILLS,
542         TS_CHRIS_SHIELD_PICKUPS,
543         TS_CHRIS_PLASMA_PICKUPS,
544         TS_CHRIS_ROCKET_PICKUPS,
545         TS_CHRIS_POWERUP_PICKUPS,
546         TS_CHRIS_MINES_KILLED,
547         TS_CHRIS_SLAVES_RESCUED,
548         TS_PHOEBE_HEADER,
549         TS_PHOEBE_KILLS,
550         TS_PHOEBE_DEATHS,
551         TS_URSULA_HEADER,
552         TS_URSULA_KILLS,
553         TS_URSULA_DEATHS,
554         TS_STATUS_FOOTER,
555
556         // Mission
557         TS_RADIO,
558         TS_SHIELD,
559         TS_PLASMA_T,
560         TS_AMMO_T,
561         TS_TARGET,
562         TS_TARGET_SID,
563         TS_TARGET_PHOEBE,
564         TS_TARGET_KLINE,
565         TS_CASH_T,
566         TS_OBJECTIVES_T,
567         TS_TIME_T,
568         TS_POWER,
569         TS_OUTPUT,
570         TS_COOLER,
571         TS_PAUSED,
572         TS_TIME,
573         TS_PLASMA,
574         TS_AMMO,
575         TS_CASH,
576         TS_OBJECTIVES,
577
578         TS_MAX
579 };
580
581 // Menu types
582 enum {
583         MENU_MAIN,
584         MENU_DIFFICULTY,
585         MENU_LOAD,
586         MENU_OPTIONS,
587         MENU_CHEAT
588 };
589
590 // Shop items
591 enum {
592         SHOP_PLASMA_MAX_OUTPUT,
593         SHOP_PLASMA_MAX_DAMAGE,
594         SHOP_PLASMA_MAX_RATE,
595         SHOP_PLASMA_MIN_OUTPUT,
596         SHOP_PLASMA_MIN_DAMAGE,
597         SHOP_PLASMA_MIN_RATE,
598         SHOP_PLASMA_AMMO,
599         SHOP_ROCKET_AMMO,
600         SHOP_PLASMA_MAX_AMMO,
601         SHOP_ROCKET_MAX_AMMO,
602         SHOP_DOUBLE_ROCKETS,
603         SHOP_MICRO_ROCKETS,
604         SHOP_LASER,
605         SHOP_HOMING_MISSILE,
606         SHOP_CHARGER,
607         SHOP_DOUBLE_HOMING_MISSILES,
608         SHOP_MICRO_HOMING_MISSILES,
609         SHOP_MAX
610 };
611
612 // Font Colors
613 enum {
614         FONT_WHITE,
615         FONT_RED,
616         FONT_YELLOW,
617         FONT_GREEN,
618         FONT_CYAN,
619         FONT_OUTLINE, // a dark blue color
620         FONT_MAX
621 };
622
623 // Sounds
624 enum {
625         SFX_EXPLOSION,
626         SFX_HIT,
627         SFX_DEATH,
628         SFX_MISSILE,
629         SFX_PLASMA,
630         SFX_CLOCK,
631         SFX_FLY,
632         SFX_ENERGYRAY,
633         SFX_PICKUP,
634         SFX_SHIELDUP,
635         SFX_CLOAK,
636         SFX_DEBRIS,
637         SFX_DEBRIS2,
638         SFX_LASER,
639         SFX_PLASMA2,
640         SFX_PLASMA3,
641         SFX_MAX
642 };
643
644 // Sections
645 enum {
646         SECTION_TITLE,
647         SECTION_INTERMISSION,
648         SECTION_GAME
649 };
650
651 // Systems
652 enum {
653         SYSTEM_SPIRIT,
654         SYSTEM_EYANANTH,
655         SYSTEM_MORDOR,
656         SYSTEM_SOL
657 };
658
659 // Planets (Spirit)
660 enum {
661         PLANET_HAIL,
662         PLANET_CERADSE,
663         PLANET_HINSTAG,
664         PLANET_JOLDAR,
665         PLANET_MOEBO
666 };
667
668 // Planets (Eyananth)
669 enum {
670         PLANET_NEROD,
671         PLANET_ALLEZ,
672         PLANET_URUSOR,
673         PLANET_DORIM,
674         PLANET_ELAMALE,
675         PLANET_RESCUESLAVES = 9 // For save compatibility
676 };
677
678 // Planets (Mordor)
679 enum {
680         PLANET_ODEON,
681         PLANET_FELLON,
682         PLANET_SIVEDI,
683         PLANET_ALMARTHA,
684         PLANET_POSWIC,
685         PLANET_ELLESH,
686         PLANET_CLOAKFIGHTER = 9 // For save compatibility
687 };
688
689 // Planets (Sol)
690 enum {
691         PLANET_MERCURY,
692         PLANET_VENUS,
693         PLANET_EARTH,
694         PLANET_MARS,
695         PLANET_JUPITER,
696         PLANET_SATURN,
697         PLANET_URANUS,
698         PLANET_NEPTUNE,
699         PLANET_PLUTO
700 };
701
702 // Missions
703 enum {
704         MISN_START,
705         MISN_HAIL,
706         MISN_CERADSE,
707         MISN_HINSTAG,
708         MISN_JOLDAR,
709         MISN_MOEBO,
710         MISN_RESCUESLAVES,
711         MISN_NEROD,
712         MISN_ALLEZ,
713         MISN_URUSOR,
714         MISN_DORIM,
715         MISN_ELAMALE,
716         MISN_CLOAKFIGHTER,
717         MISN_ODEON,
718         MISN_FELLON,
719         MISN_SIVEDI,
720         MISN_ALMARTHA,
721         MISN_POSWIC,
722         MISN_ELLESH,
723         MISN_PLUTO,
724         MISN_NEPTUNE,
725         MISN_URANUS,
726         MISN_SATURN,
727         MISN_JUPITER,
728         MISN_MARS,
729         MISN_EARTH,
730         MISN_VENUS,
731         MISN_INTERCEPTION,
732         MISN_MAX
733 };
734
735 // Difficulties
736 enum {
737         DIFFICULTY_EASY = 0,
738         DIFFICULTY_NORMAL,
739         DIFFICULTY_HARD,
740         DIFFICULTY_NIGHTMARE,
741         DIFFICULTY_ORIGINAL,
742         DIFFICULTY_MAX
743 };
744
745 const char * const systemNames[] = {"¥¹¥Ô¥ê¥Ã¥È", "¥¨¥ä¥Ê¥ó¥¹", "¥â¥ë¥É¡¼¥ë", "ÂÀÍÛ"};
746
747 const char * const systemBackground[] = {
748         "gfx/spirit.jpg", "gfx/eyananth.jpg", "gfx/mordor.jpg", "gfx/sol.jpg"
749 };
750
751 const int rate2reload[6] = {15, 15, 13, 11, 9, 7};
752 const int screenWidth = SCREEN_WIDTH;
753 const int screenHeight = SCREEN_HEIGHT;
754 const int xViewBorder = 100;
755 const int yViewBorder = 100;
756 const float cameraMaxSpeed = 3.;
757 const int maxHoming = 20;
758 const int maxDoubleHoming = 15;
759 const int maxMicroHoming = 10;
760
761 #endif