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