1 /** 2 * @file dd_types.h 3 * Type definitions. 4 * 5 * @ingroup base 6 * 7 * @authors Copyright © 2003-2017 Jaakko Keränen <jaakko.keranen@iki.fi> 8 * @authors Copyright © 2007-2013 Daniel Swanson <danij@dengine.net> 9 * @authors Copyright © 2006-2008 Jamie Jones <jamie_jones_au@yahoo.com.au> 10 * 11 * @par License 12 * GPL: http://www.gnu.org/licenses/gpl.html 13 * 14 * <small>This program is free software; you can redistribute it and/or modify 15 * it under the terms of the GNU General Public License as published by the 16 * Free Software Foundation; either version 2 of the License, or (at your 17 * option) any later version. This program is distributed in the hope that it 18 * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty 19 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 20 * Public License for more details. You should have received a copy of the GNU 21 * General Public License along with this program; if not, write to the Free 22 * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 23 * 02110-1301 USA</small> 24 */ 25 26 #ifndef ENGINE_TYPES_H 27 #define ENGINE_TYPES_H 28 29 #include <de/types.h> // libdeng types 30 31 /** In Win32 TCHAR and related macros change size depending on if they are 32 using wide characters (unicode utf-16le) or ansi for functions and strings. 33 on Linux and OSX we use utf-8 by default - which conveniently maps to the 34 CHAR type. As a general guide, any other Win32 T style functions used, 35 should also be re-implemented here in an ANSI style form for use on Linux, 36 OSX, and any other UNIX style operating systems or build environments */ 37 #ifndef WIN32 38 #define TCHAR CHAR 39 #define _T(__v__) __v__ 40 #endif 41 42 // The C_DECL macro, used with functions. 43 #ifndef C_DECL 44 # ifdef WIN32 45 # define C_DECL __cdecl 46 # endif 47 # ifdef UNIX 48 # define C_DECL 49 # endif 50 #endif 51 52 /// Each network node is identified by a number. 53 typedef unsigned int nodeid_t; 54 55 /// @todo Should be a public typedef of a type defined by de::LumpIndex. 56 typedef int32_t lumpnum_t; 57 58 #include <de/str.h> 59 #include <de/strutil.h> 60 #include <de/fixedpoint.h> 61 #include "api_uri.h" 62 63 #endif /* ENGINE_TYPES_H */ 64