]> icculus.org git repositories - btb/d2x.git/blob - main/inferno.h
Merge branch 'master' into cmd-queue
[btb/d2x.git] / main / inferno.h
1 /* $Id: inferno.h,v 1.3 2003-10-10 09:36:35 btb Exp $ */
2 /*
3 THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
4 SOFTWARE CORPORATION ("PARALLAX").  PARALLAX, IN DISTRIBUTING THE CODE TO
5 END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A
6 ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS
7 IN USING, DISPLAYING,  AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS
8 SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE
9 FREE PURPOSES.  IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE
10 CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES.  THE END-USER UNDERSTANDS
11 AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.
12 COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION.  ALL RIGHTS RESERVED.
13 */
14
15 /*
16  *
17  * Header file for Inferno.  Should be included in all source files.
18  *
19  */
20
21 #ifndef _INFERNO_H
22 #define _INFERNO_H
23
24 #include "pstypes.h"
25
26
27 // MACRO for single line #ifdef WINDOWS #else DOS
28 #ifdef WINDOWS
29 #define WIN(x) x
30 #else
31 #define WIN(x)
32 #endif
33
34 #ifdef MACINTOSH
35 #define MAC(x) x
36 #else
37 #define MAC(x)
38 #endif
39
40
41 /**
42  **     Constants
43  **/
44
45 // How close two points must be in all dimensions to be considered the
46 // same point.
47 #define FIX_EPSILON     10
48
49 // the maximum length of a filename
50 #define FILENAME_LEN 13
51
52 //for Function_mode variable
53 #define FMODE_EXIT              0               // leaving the program
54 #define FMODE_MENU              1               // Using the menu
55 #define FMODE_GAME              2               // running the game
56 #define FMODE_EDITOR    3               // running the editor
57
58 // This constant doesn't really belong here, but it is because of
59 // horrible circular dependencies involving object.h, aistruct.h,
60 // polyobj.h, & robot.h
61 #define MAX_SUBMODELS   10              // how many animating sub-objects per model
62
63 /**
64  **     Global variables
65  **/
66
67 extern int Function_mode;               // in game or editor?
68 extern int Screen_mode;                 // editor screen or game screen?
69
70 // The version number of the game
71 extern ubyte Version_major, Version_minor;
72
73 #ifdef MACINTOSH
74 extern ubyte Version_fix;
75 #endif
76
77 /**
78  **     Functions
79  **/
80
81 void quit_request();
82
83
84 #endif
85
86