]> icculus.org git repositories - btb/d2x.git/blob - include/pstypes.h
disable texture format verification for OS X - Textures work fine
[btb/d2x.git] / include / pstypes.h
1 /* $Id: pstypes.h,v 1.20 2003-10-04 03:14:47 btb Exp $ */
2 /*
3 THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
4 SOFTWARE CORPORATION ("PARALLAX").  PARALLAX, IN DISTRIBUTING THE CODE TO
5 END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A
6 ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS
7 IN USING, DISPLAYING,  AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS
8 SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE
9 FREE PURPOSES.  IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE
10 CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES.  THE END-USER UNDERSTANDS
11 AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.
12 COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION.  ALL RIGHTS RESERVED.
13 */
14
15 /*
16  *
17  * Common types for use in Miner
18  *
19  * Old Log:
20  * Revision 1.2  1993/09/14  12:12:30  matt
21  * Added #define for NULL
22  *
23  * Revision 1.1  1993/08/24  12:50:40  matt
24  * Initial revision
25  *
26  *
27  */
28
29 #ifndef _TYPES_H
30 #define _TYPES_H
31
32 // define a dboolean
33 typedef int dboolean;
34
35 //define a signed byte
36 typedef signed char sbyte;
37
38 //define unsigned types;
39 typedef unsigned char ubyte;
40 #ifndef __unix__
41 typedef unsigned short ushort;
42 typedef unsigned int uint;
43 typedef unsigned long ulong;
44 #endif
45
46 #ifndef min
47 #define min(a,b) (((a)>(b))?(b):(a))
48 #endif
49 #ifndef max
50 #define max(a,b) (((a)<(b))?(b):(a))
51 #endif
52
53 #if defined __MINGW32__
54 #include <stdint.h>
55 typedef uint64_t u_int64_t;
56 typedef uint32_t u_int32_t;
57 typedef uint16_t u_int16_t;
58
59 #elif defined __unix__
60 # include <sys/types.h>
61 # define _MAX_PATH 1024
62 # define _MAX_DIR 256
63 # if defined(__APPLE__) && defined(__MACH__)
64 typedef unsigned long ulong;
65 # endif
66 # ifdef __sun__
67 typedef uint64_t u_int64_t;
68 typedef uint32_t u_int32_t;
69 typedef uint16_t u_int16_t;
70 # endif
71
72 #elif defined __DJGPP__
73 # include <sys/types.h>
74 # define _MAX_PATH 255
75 # define _MAX_DIR 63
76 typedef signed int int32_t;
77 typedef unsigned int u_int32_t;
78 typedef signed short int16_t;
79 typedef unsigned short u_int16_t;
80
81 #endif
82
83 #ifndef __cplusplus
84 //define a boolean
85 typedef ubyte bool;
86 #endif
87
88 #ifndef NULL
89 #define NULL 0
90 #endif
91
92 // the following stuff has nothing to do with types but needed everywhere,
93 // and since this file is included everywhere, it's here.
94 #ifdef __GNUC__
95 # define __pack__ __attribute__((packed))
96 #else
97 # define __pack__
98 #endif
99
100 #endif //_TYPES_H
101