diff options
Diffstat (limited to '3dc/KSHAPE.H')
| -rw-r--r-- | 3dc/KSHAPE.H | 134 |
1 files changed, 134 insertions, 0 deletions
diff --git a/3dc/KSHAPE.H b/3dc/KSHAPE.H new file mode 100644 index 0000000..9282ccd --- /dev/null +++ b/3dc/KSHAPE.H @@ -0,0 +1,134 @@ +#ifndef _kshape_h_ /* Is this your first time? */ +#define _kshape_h_ 1 + +#include "particle.h" + +#define SOFTWARE_RENDERER 0 + +#if SOFTWARE_RENDERER +#include "SoftwareRender.hpp" +#endif + + +typedef struct +{ + /* base coords */ + int X; + int Y; + int Z; + + /* texels and intensity */ + int U; + int V; + + /* coloured components */ + unsigned char R; + unsigned char G; + unsigned char B; + + /* alpha component */ + unsigned char A; + + /* specular colour */ + unsigned char SpecularR; + unsigned char SpecularG; + unsigned char SpecularB; + + /* fog component */ + unsigned char Fog; + + +} RENDERVERTEX; + +typedef struct +{ + /* stamp used for lazy evaluation */ + int Stamp; + + /* colour scalings */ + unsigned char R; + unsigned char G; + unsigned char B; + + /* specular colour */ + unsigned char SpecularR; + unsigned char SpecularG; + unsigned char SpecularB; + + /* fog component */ + unsigned char Fog; + +} COLOURINTENSITIES; + + +typedef struct +{ + RENDERVERTEX Vertices[maxpolypts]; + + unsigned int NumberOfVertices; + + unsigned int MinZ; + unsigned int MaxZ; + + int ImageIndex; + + unsigned char IsTextured :1; + unsigned char IsLit :1; + unsigned char IsSpecularLit :1; + enum TRANSLUCENCY_TYPE TranslucencyMode; + +} RENDERPOLYGON; + +extern RENDERVERTEX VerticesBuffer[9]; +extern RENDERPOLYGON RenderPolygon; + + + + +enum LIGHTING_MODEL_ID +{ + LIGHTING_MODEL_STANDARD, + LIGHTING_MODEL_HIERARCHICAL, + LIGHTING_MODEL_PRELIT, +}; + + + +extern void InitialiseLightIntensityStamps(void); + +extern int FindHeatSourcesInHModel(DISPLAYBLOCK *dispPtr); + + +extern void TranslationSetup(void); +extern void TranslatePointIntoViewspace(VECTORCH *pointPtr); + + +extern void CheckRenderStatesForModule(MODULE *modulePtr); + + + +extern void RenderDecal(DECAL *decalPtr); +extern void RenderParticle(PARTICLE *particlePtr); + +/* KJL 10:25:44 7/23/97 - this offset is used to push back the normal game gfx, +so that the HUD can be drawn over the top without sinking into walls, etc. */ +extern int HeadUpDisplayZOffset; + +/* KJL 16:17:13 11/02/98 - heat source containment */ +typedef struct +{ + VECTORCH Position; +} HEATSOURCE; + +#define MAX_NUMBER_OF_HEAT_SOURCES 10 +extern HEATSOURCE HeatSourceList[]; +extern int NumberOfHeatSources; + +#define MIRRORING_ON 1 + +#if MIRRORING_ON +extern int MirroringActive; +extern int MirroringAxis; +#endif + +#endif
\ No newline at end of file |
