Move c/h files implementing/defining standard library stuff into a new libc directory...
[kugel-rb.git] / apps / plugins / doom / doomtype.h
blob59b33758da68910902682e19ac9e796665fb067b
1 /* Emacs style mode select -*- C++ -*-
2 *-----------------------------------------------------------------------------
5 * PrBoom a Doom port merged with LxDoom and LSDLDoom
6 * based on BOOM, a modified and improved DOOM engine
7 * Copyright (C) 1999 by
8 * id Software, Chi Hoang, Lee Killough, Jim Flynn, Rand Phares, Ty Halderman
9 * Copyright (C) 1999-2000 by
10 * Jess Haas, Nicolas Kalkhof, Colin Phipps, Florian Schulze
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
17 * This program is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 * GNU General Public License for more details.
22 * You should have received a copy of the GNU General Public License
23 * along with this program; if not, write to the Free Software
24 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
25 * 02111-1307, USA.
27 * DESCRIPTION:
28 * Simple basic typedefs, isolated here to make it easier
29 * separating modules.
31 *-----------------------------------------------------------------------------*/
32 #ifndef __DOOMTYPE__
33 #define __DOOMTYPE__
34 #include "rockmacros.h"
36 #ifndef __BYTEBOOL__
37 #define __BYTEBOOL__
38 // Fixed to use builtin bool type with C++.
39 #ifdef __cplusplus
40 typedef bool boolean;
41 #else
42 //typedef enum {false, true} boolean;
43 //#define boolean bool
44 typedef enum _boolean { FALSE, TRUE } boolean;
45 #endif
46 typedef unsigned char byte;
47 #endif
49 typedef signed long long int_64_t;
50 typedef unsigned long long uint_64_t;
52 #define MAXCHAR ((char)0x7f)
53 #define MAXSHORT ((short)0x7fff)
55 // Max pos 32-bit int.
56 #define MAXINT ((int)0x7fffffff)
57 #define MAXLONG ((long)0x7fffffff)
58 #define MINCHAR ((char)0x80)
59 #define MINSHORT ((short)0x8000)
61 // Max negative 32-bit integer.
62 #define MININT ((int)0x80000000)
63 #define MINLONG ((long)0x80000000)
65 /* cph - move compatibility levels here so we can use them in d_server.c */
66 typedef enum {
67 doom_12_compatibility, /* Behave like early doom versions */
68 doom_demo_compatibility, /* As compatible as possible for
69 * playing original Doom demos */
70 doom_compatibility, /* Compatible with original Doom levels */
71 boom_compatibility_compatibility, /* Boom's compatibility mode */
72 boom_201_compatibility, /* Compatible with Boom v2.01 */
73 boom_202_compatibility, /* Compatible with Boom v2.01 */
74 lxdoom_1_compatibility, /* LxDoom v1.3.2+ */
75 mbf_compatibility, /* MBF */
76 prboom_1_compatibility, /* PrBoom 2.03beta? */
77 prboom_2_compatibility, /* PrBoom 2.1.0-2.1.1 */
78 prboom_3_compatibility, /* Latest PrBoom */
79 MAX_COMPATIBILITY_LEVEL, /* Must be last entry */
80 /* Aliases follow */
81 boom_compatibility = boom_201_compatibility, /* Alias used by G_Compatibility */
82 best_compatibility = prboom_3_compatibility,
83 } complevel_t;
85 #endif