home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 1998 March
/
Chip_1998-03_cd.bin
/
zkuste
/
SVET_GEO
/
GEORAY
/
GEORAY.ZIP
/
SOURCE.ZIP
/
GLOBALS.H
next >
Wrap
C/C++ Source or Header
|
1996-03-02
|
3KB
|
81 lines
/***********************************************************************
*
* PROJECT: Raycast
* FILE: globals.h
*
* AUTHOR: Marcus Gröber
*
***********************************************************************/
//
// Globals.h
// Projekt-Raycast
// (C)1995 by Stefan Becker
//
#ifndef GLOBALS_H // Damit es nicht doppelt verwendet wird
#define GLOBALS_H // Präprozessor-Flagge gegen doppelte Verwendung
//
// Konstanten:
//
#define TURN_LEFT 'a' // Tasten, die für Aktion gedrückt werden müssen
#define TURN_RIGHT 'd' // rechtsherum drehen
#define WALK_FORW 'w' // vorwärts laufen
#define WALK_BACKW 's' // rückwärts laufen
#define TURN_INC 30 // Winkeländerung beim Drehen des Spielers
#define WALK_INC 30 // Länge eines "Spieler-Schrittes"
#define MAZE_X 16 // Größe des begehbaren Spielfeldes
#define MAZE_Y 16 // 16x16 Felder
#define TEX_SIZE 128 // Größe der quadratischen Textur in Pixeln
#define TEX_SHIFT 7 // lg2(TEX_SIZE)
#define MAZE_MAX_X (MAZE_X * TEX_SIZE) // Größte X-Position in Pixeln
#define MAZE_MAX_Y (MAZE_Y * TEX_SIZE) // Größte Y-Position in Pixeln
#define XAUF 240 // Größe der im Fenster erzeugten Grafik in Pixeln
#define YAUF 200
#define BLICK_WINKEL 60 // Blickwinkel der Person in Grad
#define ANZ_WINKEL ((360/BLICK_WINKEL)*XAUF) // So viele Drehwinkel gibt es
#define TEXTURE_DEPTH 8 // Bit/Pixel der Textur
#define EPSILON 1.0E-8 // Schranke für unscharfen Null-Test
#define MAX_SICHT 10000 // Maximale Sichtweite
#define PERSPEKTIVE 25000 // Wie groß sind Objekte in welcher Entfernung?
//
// Makros:
//
#define ABS(x) (((x)>=0) ? (x) : (-(x))) // Standard-Abs-Makro
#define MIN(x,y) (((x)<=(y)) ? (x) : (y)) // Standard-Min-Makro
#define MAX(x,y) (((x)>=(y)) ? (x) : (y)) // Standard-Max-Makro
//
// Typen:
//
typedef char MAZE[MAZE_X][MAZE_Y]; // Typ einer begehbaren Landschaft
// (+1 wegen String-Terminierung)
typedef WWFixedAsDWord WINKEL_TAB[ANZ_WINKEL];
// Typ einer Winkel-Tabelle
typedef WWFixedAsDWord SKIP_TAB[ANZ_WINKEL];
// Typ einer Skip-Tabelle
extern WINKEL_TAB x_winkel_tab,
y_winkel_tab;
extern MAZE maze;
#endif // Ende des Präprozessor-If
//
// Globals.h
//