raze/polymer-perf/eduke32/build/include/prlights.h
2011-01-19 03:13:05 +00:00

40 lines
1.1 KiB
C

// LIGHTS
#ifndef _prlight_h_
# define _prlight_h_
#define PR_MAXLIGHTS 1024
#define SHADOW_DEPTH_OFFSET 30
#define PR_MAXLIGHTPRIORITY 6
typedef struct s_prplanelist {
struct s_prplane* plane;
struct s_prplanelist* n;
} _prplanelist;
#pragma pack(push,1)
typedef struct s_prlight {
int32_t x, y, z, horiz, range;
int16_t angle, faderadius, radius, sector;
uint8_t color[3], priority;
int8_t minshade, maxshade;
int16_t tilenum;
// internal members
float proj[16];
float transform[16];
float frustum[5 * 4];
int32_t rtindex;
struct {
int32_t active : 1;
int32_t invalidate : 1;
int32_t isinview : 1;
} flags;
uint32_t lightmap;
_prplanelist* planelist;
int32_t planecount;
} _prlight;
extern _prlight prlights[PR_MAXLIGHTS];
extern int32_t lightcount;
#pragma pack(pop)
#endif