// Emacs style mode select -*- C++ -*- //----------------------------------------------------------------------------- // // Copyright(C) 1993-1996 Id Software, Inc. // Copyright(C) 2005 Simon Howard // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA // 02111-1307, USA. // // DESCRIPTION: // Simple basic typedefs, isolated here to make it easier // separating modules. // //----------------------------------------------------------------------------- #ifndef __DOOMTYPE__ #define __DOOMTYPE__ // Windows CE is missing some vital ANSI C functions. We have to // use our own replacements. #ifdef _WIN32_WCE #include "libc_wince.h" #endif // C99 integer types; with gcc we just use this. Other compilers // should add conditional statements that define the C99 types. // What is really wanted here is stdint.h; however, some old versions // of Solaris don't have stdint.h and only have inttypes.h (the // pre-standardisation version). inttypes.h is also in the C99 // standard and defined to include stdint.h, so include this. #include #ifdef __cplusplus // Use builtin bool type with C++. typedef bool boolean; #else typedef enum { false, true } boolean; #endif typedef uint8_t byte; #include #ifdef _WIN32 #define DIR_SEPARATOR '\\' #define PATH_SEPARATOR ';' #else #define DIR_SEPARATOR '/' #define PATH_SEPARATOR ':' #endif #define arrlen(array) (sizeof(array) / sizeof(*array)) #endif