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