1 #ifndef SYSTEM_INCLUDED
2 #define SYSTEM_INCLUDED
3 
4 /*   AVP - WIN95
5 
6  Project Specific System Equates etc.
7 
8 */
9 
10 
11 #ifdef __cplusplus
12 
13 extern "C" {
14 
15 #endif
16 
17 
18 
19 /********************* SYSTEM, PLATFORM AND GAME************/
20 
21 #define Yes 1
22 #define No 0
23 
24 #ifdef _DEBUG /* standard compiler command line debugging-ON switch */
25 	#define debug Yes
26 #elif defined(NDEBUG) /* standard compiler command line debugging-OFF switch */
27 	#define debug No
28 #else /* default switch */
29 	#define debug Yes
30 #endif
31 
32 #define SuppressWarnings 	Yes
33 
34 #define Term -1
35 
36 
37 /********************  General *****************************/
38 
39 #define GlobalScale 1
40 
41 
42 
43 #define one14 16383
44 
45 #define ONE_FIXED 65536
46 #define ONE_FIXED_SHIFT 16
47 
48 #define Digital	No
49 
50 
51 /* Offsets from *** int pointer *** for vectors and vertices */
52 
53 typedef enum {
54 
55 	ix,
56 	iy,
57 	iz
58 
59 } PTARRAYINDICES;
60 
61 #define StopCompilationOnMultipleInclusions No
62 #define UseProjPlatAssert                   Yes /* assert fired functions are in dxlog.c */
63 
64 
65 /***************  CAMERA AND VIEW VOL********************/
66 #define NearZ 	1024
67 #define FarZ 	ONE_FIXED
68 
69 #define SupportMultiCamModules	Yes
70 
71 
72 /************* Timer and Frame Rate Independence *************/
73 
74 #define TimerFrame		1000
75 #define NormalFrame ONE_FIXED
76 #define NormalFrameShift ONE_FIXED_SHIFT
77 
78 
79 /***************** Angles  and VALUES ******************/
80 
81 #define deg10 114
82 #define deg22pt5 256
83 #define deg45 512
84 #define deg90 1024
85 #define deg180 2048
86 #define deg270 3072
87 #define deg315 3584
88 #define deg337pt5 3840
89 #define deg350 3980
90 #define deg360 4096
91 #define wrap360 4095
92 
93 #define Cosine45 		46341		/* 46340.95001 cosine(45deg)*/
94 
95 #define bigint 1<<30		/*  max int size*/
96 #define smallint -(bigint)	/* smallest int size*/
97 
98 
99 /****************** BUFFER SIZES **********************/
100 
101 #define maxvdbs 1
102 #define maxobjects 750
103 extern int maxshapes;
104 #define maxstblocks 1000
105 
106 #define maxrotpts 10000
107 
108 //tuning for morph sizes
109 #define maxmorphPts 1024
110 
111 #define maxpolys 4000
112 #define maxpolyptrs maxpolys
113 #define maxpolypts 9			/* Translates as number of vectors */
114 
115 #define vsize 3					/* Scale for polygon vertex indices */
116 
117 #define MaxImages 400
118 #define MaxImageGroups 1
119 
120 
121 /************** Some Shell and Loading Platform Compiler Options ******************/
122 
123 #undef RIFF_SYSTEM
124 #define RIFF_SYSTEM
125 #define TestRiffLoaders Yes
126 #define LoadingMapsShapesAndTexturesEtc		No
127 
128 #define pc_backdrops						No
129 
130 
131 /***************** DRAW SORT *******************/
132 
133 #define SupportTrackOptimisation			No
134 
135 
136 #define SupportBSP						 	No
137 
138 #define SupportZBuffering				Yes
139 #define ZBufferTest							No
140 
141 
142 /***************** SHAPE DATA DEFINES************/
143 
144 #define StandardShapeLanguage						Yes
145 
146 #define SupportModules 									Yes
147 #define IncludeModuleFunctionPrototypes	Yes
148 
149 #define SupportMorphing									Yes
150 #define LazyEvaluationForMorphing				No
151 
152 
153 /***************** COLLISION DEFINES*************/
154 #define StandardStrategyAndCollisions		No
155 #define IntermediateSSACM	No		/* User preference */
156 
157 
158 
159 /************** TEXTURE DEFINES*******************/
160 
161 #define maxTxAnimblocks	100
162 
163 /* Texture usage of the colour int */
164 
165 #define TxDefn 16				/* Shift up for texture definition index */
166 #define TxLocal 0x8000			/* Set bit 15 to signify a local index */
167 #define ClrTxIndex 0xffff0000	/* AND with this to clear the low 16-bits */
168 #define ClrTxDefn 0x0000ffff	/* AND with this to clear the high 16-bits */
169 
170 /*
171  3d textures
172  This defines the amount by which we can scale up U/Z, V/Z & 1/Z
173  It is defined in terms of the maximum UV size and the size of an int
174  A value of 10 gives a scale of 31 - 10 = 21
175  1/Z, the critical value, reaches 0 at 2^21 = 2km
176  Since we know that z STARTS at no less than 2^8, we can increase this value
177  by 8, giving 2^29
178  1/Z now reaches 0 at 2^29 = 537km
179 */
180 
181 #define support3dtextures					Yes
182 #define int3dtextures						No /* there is no D3D Zbuffer support for int 3d textures */
183 #define SupportGouraud3dTextures  			Yes
184 
185 
186 /*************************** WINDOWS 95 *********************/
187 
188 #define SUPPORT_MMX 0
189 
190 #define MaxD3DInstructions 1000 // includes state change instructions!!!
191 #define MaxD3DVertices     256
192 
193 #define optimiseflip No /* unstable at present */
194 #define optimiseblit Yes /* unstable at present */
195 
196 
197 #ifdef __cplusplus
198 
199 	};
200 
201 #endif
202 
203 
204 #endif
205