vrshoot
diff libs/assimp/irrXML/irrTypes.h @ 0:b2f14e535253
initial commit
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Sat, 01 Feb 2014 19:58:19 +0200 |
parents | |
children |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/libs/assimp/irrXML/irrTypes.h Sat Feb 01 19:58:19 2014 +0200 1.3 @@ -0,0 +1,108 @@ 1.4 +// Copyright (C) 2002-2005 Nikolaus Gebhardt 1.5 +// This file is part of the "Irrlicht Engine". 1.6 +// For conditions of distribution and use, see copyright notice in irrlicht.h 1.7 + 1.8 +#ifndef __IRR_TYPES_H_INCLUDED__ 1.9 +#define __IRR_TYPES_H_INCLUDED__ 1.10 + 1.11 +namespace irr 1.12 +{ 1.13 + 1.14 +//! 8 bit unsigned variable. 1.15 +/** This is a typedef for unsigned char, it ensures portability of the engine. */ 1.16 +typedef unsigned char u8; 1.17 + 1.18 +//! 8 bit signed variable. 1.19 +/** This is a typedef for signed char, it ensures portability of the engine. */ 1.20 +typedef signed char s8; 1.21 + 1.22 +//! 8 bit character variable. 1.23 +/** This is a typedef for char, it ensures portability of the engine. */ 1.24 +typedef char c8; 1.25 + 1.26 + 1.27 + 1.28 +//! 16 bit unsigned variable. 1.29 +/** This is a typedef for unsigned short, it ensures portability of the engine. */ 1.30 +typedef unsigned short u16; 1.31 + 1.32 +//! 16 bit signed variable. 1.33 +/** This is a typedef for signed short, it ensures portability of the engine. */ 1.34 +typedef signed short s16; 1.35 + 1.36 + 1.37 + 1.38 +//! 32 bit unsigned variable. 1.39 +/** This is a typedef for unsigned int, it ensures portability of the engine. */ 1.40 +typedef unsigned int u32; 1.41 + 1.42 +//! 32 bit signed variable. 1.43 +/** This is a typedef for signed int, it ensures portability of the engine. */ 1.44 +typedef signed int s32; 1.45 + 1.46 + 1.47 + 1.48 +// 64 bit signed variable. 1.49 +// This is a typedef for __int64, it ensures portability of the engine. 1.50 +// This type is currently not used by the engine and not supported by compilers 1.51 +// other than Microsoft Compilers, so it is outcommented. 1.52 +//typedef __int64 s64; 1.53 + 1.54 + 1.55 + 1.56 +//! 32 bit floating point variable. 1.57 +/** This is a typedef for float, it ensures portability of the engine. */ 1.58 +typedef float f32; 1.59 + 1.60 +//! 64 bit floating point variable. 1.61 +/** This is a typedef for double, it ensures portability of the engine. */ 1.62 +typedef double f64; 1.63 + 1.64 + 1.65 +} // end namespace 1.66 + 1.67 + 1.68 +// define the wchar_t type if not already built in. 1.69 +#ifdef _MSC_VER 1.70 +#ifndef _WCHAR_T_DEFINED 1.71 +//! A 16 bit wide character type. 1.72 +/** 1.73 + Defines the wchar_t-type. 1.74 + In VS6, its not possible to tell 1.75 + the standard compiler to treat wchar_t as a built-in type, and 1.76 + sometimes we just don't want to include the huge stdlib.h or wchar.h, 1.77 + so we'll use this. 1.78 +*/ 1.79 +typedef unsigned short wchar_t; 1.80 +#define _WCHAR_T_DEFINED 1.81 +#endif // wchar is not defined 1.82 +#endif // microsoft compiler 1.83 + 1.84 +//! define a break macro for debugging only in Win32 mode. 1.85 +// WORKAROUND (assimp): remove __asm 1.86 +#if defined(WIN32) && defined(_MSC_VER) && defined(_DEBUG) 1.87 +#if defined(_M_IX86) 1.88 +#define _IRR_DEBUG_BREAK_IF( _CONDITION_ ) /*if (_CONDITION_) {_asm int 3}*/ 1.89 +#else 1.90 +#define _IRR_DEBUG_BREAK_IF( _CONDITION_ ) 1.91 +#endif 1.92 +#else 1.93 +#define _IRR_DEBUG_BREAK_IF( _CONDITION_ ) 1.94 +#endif 1.95 + 1.96 +//! Defines a small statement to work around a microsoft compiler bug. 1.97 +/** The microsft compiler 7.0 - 7.1 has a bug: 1.98 +When you call unmanaged code that returns a bool type value of false from managed code, 1.99 +the return value may appear as true. See 1.100 +http://support.microsoft.com/default.aspx?kbid=823071 for details. 1.101 +Compiler version defines: VC6.0 : 1200, VC7.0 : 1300, VC7.1 : 1310, VC8.0 : 1400*/ 1.102 + 1.103 +// WORKAROUND (assimp): remove __asm 1.104 +#if defined(WIN32) && defined(_MSC_VER) && (_MSC_VER > 1299) && (_MSC_VER < 1400) 1.105 +#define _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX /*__asm mov eax,100*/ 1.106 +#else 1.107 +#define _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX 1.108 +#endif // _IRR_MANAGED_MARSHALLING_BUGFIX 1.109 + 1.110 +#endif // __IRR_TYPES_H_INCLUDED__ 1.111 +