// Emacs style mode select -*- C++ -*- //----------------------------------------------------------------------------- // // $Id: doomtype.h,v 1.2 1997/12/29 19:50:48 pekangas Exp $ // // Copyright (C) 1993-1996 by id Software, Inc. // // This source is available for distribution and/or modification // only under the terms of the DOOM Source Code License as // published by id Software. All rights reserved. // // The source is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License // for more details. // // DESCRIPTION: // Simple basic typedefs, isolated here to make it easier // separating modules. // //----------------------------------------------------------------------------- #ifndef __DOOMTYPE__ #define __DOOMTYPE__ #ifdef HAVE_CONFIG_H #include "config.h" #endif #ifdef _MSC_VER // VC++ does not define PATH_MAX, but the Windows headers do define MAX_PATH. // However, we want to avoid including the Windows headers in most of the // source files, so we can't use it. So define PATH_MAX to be what MAX_PATH // currently is: #define PATH_MAX 260 #endif #include #include "zstring.h" #ifndef __BYTEBOOL__ #define __BYTEBOOL__ // [RH] Some windows includes already define this #if !defined(_WINDEF_) && !defined(__wtypes_h__) typedef int BOOL; #endif typedef unsigned char byte; #endif #if defined(_MSC_VER) || defined(__WATCOMC__) #define STACK_ARGS __cdecl #else #define STACK_ARGS #endif #if defined(_MSC_VER) #define NOVTABLE __declspec(novtable) #else #define NOVTABLE #endif #if defined(__GNUC__) #define __int64 long long #endif typedef unsigned char BYTE; typedef signed char SBYTE; typedef unsigned short WORD; typedef signed short SWORD; typedef unsigned long DWORD; typedef signed long SDWORD; typedef unsigned __int64 QWORD; typedef signed __int64 SQWORD; // a 64-bit constant #ifdef __GNUC__ #define CONST64(v) (v##LL) #define UCONST64(v) (v##ULL) #else #define CONST64(v) ((SQWORD)(v)) #define UCONST64(v) ((QWORD)(v)) #endif typedef DWORD BITFIELD; #if !defined(GUID_DEFINED) #define GUID_DEFINED typedef struct _GUID { DWORD Data1; WORD Data2; WORD Data3; BYTE Data4[8]; } GUID; #endif // // Fixed point, 32bit as 16.16. // #define FRACBITS 16 #define FRACUNIT (1< char ( &_ArraySizeHelper( T (&array)[N] ))[N]; #define countof( array ) (sizeof( _ArraySizeHelper( array ) )) #endif