summaryrefslogtreecommitdiff
path: root/apps/plugins/doom/doomtype.h
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/doom/doomtype.h')
-rw-r--r--apps/plugins/doom/doomtype.h85
1 files changed, 85 insertions, 0 deletions
diff --git a/apps/plugins/doom/doomtype.h b/apps/plugins/doom/doomtype.h
new file mode 100644
index 0000000000..59b33758da
--- /dev/null
+++ b/apps/plugins/doom/doomtype.h
@@ -0,0 +1,85 @@
1/* Emacs style mode select -*- C++ -*-
2 *-----------------------------------------------------------------------------
3 *
4 *
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
11 *
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.
16 *
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.
21 *
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.
26 *
27 * DESCRIPTION:
28 * Simple basic typedefs, isolated here to make it easier
29 * separating modules.
30 *
31 *-----------------------------------------------------------------------------*/
32#ifndef __DOOMTYPE__
33#define __DOOMTYPE__
34#include "rockmacros.h"
35
36#ifndef __BYTEBOOL__
37#define __BYTEBOOL__
38// Fixed to use builtin bool type with C++.
39#ifdef __cplusplus
40typedef bool boolean;
41#else
42//typedef enum {false, true} boolean;
43//#define boolean bool
44typedef enum _boolean { FALSE, TRUE } boolean;
45#endif
46typedef unsigned char byte;
47#endif
48
49typedef signed long long int_64_t;
50typedef unsigned long long uint_64_t;
51
52#define MAXCHAR ((char)0x7f)
53#define MAXSHORT ((short)0x7fff)
54
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)
60
61// Max negative 32-bit integer.
62#define MININT ((int)0x80000000)
63#define MINLONG ((long)0x80000000)
64
65/* cph - move compatibility levels here so we can use them in d_server.c */
66typedef 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;
84
85#endif