
/*

InvaderCraft von J.Hertel
(C) CW-Publikationen

  "invadercraft2.h"


Header-File fuer Aztec C Version 3.20a.

Dieses File muss in das include-Directory der Compiler-Diskette kopiert
werden !

*/

/* Invader */
#define INT 3L          /*    Tiefe (3 = 8 Farben)   */
#define INEX 32L        /*    x-Abstand der Invaders im IFF-Bild */
#define INEY 16L        /*    y-Abstand */
#define INA 30L         /*    Invaderanzahl (Anzahl an verschiedenen
                              Invadertypen + 1 (fuer eigenen Panzer) */
#define PHASEN 6L       /*    6 Bewegungsphasen pro Invader */
#define OFF1 4L         /*    x-Offset */
#define OFF2 1L         /*    y-Offset */
#define KO1 24L         /*    x-Abstand von Invader zu Invader (waehrend
                              des Spiels */
                        /*    y-Abstand in action.c als Variable festgelegt
                              (je nach Bildschirm-Y-Aufloesung) */
#define KO3 24L         /*    x-Groesse der Invader */
#define KO4 14L         /*    y-Groesse             */
#define KO5  10         /*    maximale Invaderanzahl in einer Reihe */
#define KO6 6           /*    maximale Invaderanzahl uebereinander */
#define INBEWSOUNDZAEMAX 2*PHASEN  /* Sound */

#define INX INEX*INA    /* Bitmap-Groesse */
#define INY INEY

#define STRAFE EIZAEMAXNORM[version]*20   /* Explosion des eigenen Panzer
                                             verlangsamen */

#define EIBEWSOUNDZAEMAX 2

/* Mutterschiff */
#define MUTANZ 3L              /* Anzahl an verschiedenen Mutterschiffen */
#define MUTT 3L                /* Tiefe */
#define MUTEXPPHASEN 4L        /* Anzahl an Explosionsphasen */
#define MUTPHASEN 2L           /* Anzahl an Bewegungsphasen */
#define MUTHEIGHT 16L          /* x-Abstand (analog INEX) */
#define MUTWIDTH 32L
#define MUTOFF1 1L             /* Offset (analog OFF1) */
#define MUTOFF2 3L
#define MUTKO3 30L             /* Groesse (analog KO3) */
#define MUTKO4 10L
#define MUTWK 200              /* Wahrscheinlichkeit fuer Erscheinen eines
                                  Mutterschiffs */
#define MUTY VY+5L             /* y-Koordinate */
#define MUTPUNKTE 100          /* Mindestpunktzahl */
#define MUTPUNKTERND 200       /* 0...MUTPUNKTERND Punkte werden zufaellig
                                  vergeben */
#define MUTBEWSOUNDZAEMAX 3

/* Schuss */
#define SCHPHASEN 3L           /* versch. Bewegungsphasen */
#define SCHHEIGHT 16L          /* wie oben */
#define SCHWIDTH 16L
#define SCHT 2L                /* 4 Farben reichen fuer Schuss */
#define SOFF1 7L               /* wie oben */
#define SOFF2 0L
#define SKO3  3L               /* wie oben */
#define SKO4  14L
#define SHS 1L                 /* sensitiver Punkt (Hot Spot) etwa SKO3/2 */
                               /* relative HotSpot-y-Koordinate = 0 */
#define SAX 9L                 /* Schuss-Koordinaten relativ zum Panzer */
#define SAY 8L                 /* Um Versatz zwischen Panzer-Kanone und
                                  Schuss zu minimieren! */
/* Missile */
#define MISHEIGHT 16L
#define MISWIDTH 16L
#define MISPHASEN 3L
#define MIST 2L
#define MISANZMAX 10
#define MOFF1 6L
#define MOFF2 2L
#define MKO3  3L
#define MKO4  14L

#define MHS 1L
#define MHSDX 1L            /* Zwei HotSpot-x-Koordinaten: MHS+MHSDX
                                                           MHS-MHSDX */
#define MAX 12L
#define MAY 11L
#define MHSANZ 3            /* Drei HotSpot-y-Koordinaten */
                            /* HotSpot-y-Koordinaten in action.c definiert */

/* Explosion eins Invaders */
#define EXPPHASEN 6L     /* Explosionsphasen */
#define EXPWIDTH  INEX   /* sonstige Daten wie Invader !!*/
#define EXPHEIGHT INEY
#define EXPT      INT

/* Bunker */
#define BT 3L       /* unbedingt 3, da Bunker nur aus Farbe Nr.7 besteht */
#define BWIDTH 32L         /* wie oben */
#define BHEIGHT 32L
#define BOFF1 3L
#define BOFF2 4L
#define BKO3 27L
#define BKO4 24L
#define BANZ 4             /* wieviele Bunker */
#define BKO1 80L           /* Abstand zweier Bunker */
#define BX VX+(XA-(BANZ-1)*BKO1-BKO3)/2

/* Bunker durch Schuss getroffen */
#define BSSWIDTH 16L                /* Abmessung des Schadens */
#define BSSHEIGHT 10L
#define BSHS 7L                     /* x-Koordinate des Treffer-Zentrums */

/* Bunker durch Missile getroffen */
#define BSIWIDTH 16L
#define BSIHEIGHT 10L
#define BIHS 7L

/* Explosion bei Zusammenstoss von Missile und Schuss */
/* keine verschiedenen Phasen */
#define MTWIDTH 16L
#define MTHEIGHT 11L
#define MTT 2L
#define MTOFF1 0L
#define MTOFF2 0L
#define MTKO3 11L
#define MTKO4 11L
#define MTHSX 5L      /* relative x-Koordinate auf Zentrum der Explosion */
#define MTHSY 5L      /* rel. y-Koord. */

/* Vermindern der Schussrate bei andauerndem Druck auf Feuerknopf */
#define DAUERFEUERBREMSE 100/SCHZAEMAX[version]

/* Resultat von inbew() bzw. leer() oder restbew()*/
#define ABGESCHOSSEN 1
#define LETZTERPANZER 2
#define UEBERROLLT 3
#define KEINE_IN_MEHR 4
#define QUIT 5
#define DEMO 6
#define QUITDEMO 7

#define PAUSE 300          /* Laenge der Pause zwischen den einzelnen
                              Leveln */

#define ANZFREIPANZER 7    /* Anzahl an moeglichen Freipanzern */

#define MAXLEVEL 16        /* Anzahl an moeglichen Leveln ( = verschiedene
                              Aufstellungen der Invaders) */
#define DEMOTIME 8000      /* Laenge des Demo-Modus */

