#define DEF_RADIOSITY_BOUNCE 1.0f /* ydnar: default to 100% re-emitted light */
#define MAX_SHADER_INFO 8192
-#define MAX_CUST_SURFACEPARMS 64
+#define MAX_CUST_SURFACEPARMS 256
#define SHADER_MAX_VERTEXES 1000
#define SHADER_MAX_INDEXES (6 * SHADER_MAX_VERTEXES)
qboolean wolfLight; /* when true, lights work like wolf q3map */
int lightmapSize; /* bsp lightmap width/height */
float lightmapGamma; /* default lightmap gamma */
+ qboolean lightmapsRGB; /* default lightmap sRGB mode */
+ qboolean texturesRGB; /* default texture sRGB mode */
+ qboolean colorsRGB; /* default color sRGB mode */
float lightmapExposure; /* default lightmap exposure */
float lightmapCompensate; /* default lightmap compensate value */
float gridScale; /* vortex: default lightgrid scale (affects both directional and ambient spectres) */
qboolean PortalPassable( portal_t *p );
-qboolean FloodEntities( tree_t *tree );
+#define FLOODENTITIES_LEAKED 1
+#define FLOODENTITIES_GOOD 0
+#define FLOODENTITIES_EMPTY -1
+int FloodEntities( tree_t *tree );
void FillOutside( node_t *headnode);
void FloodAreas( tree_t *tree);
face_t *VisibleFaces( entity_t *e, tree_t *tree );
void IlluminateRawLightmap( int num );
void IlluminateVertexes( int num );
+void SetupBrushesFlags( int mask_any, int test_any, int mask_all, int test_all );
void SetupBrushes( void );
void SetupClusters( void );
qboolean ClusterVisible( int a, int b );
void LoadShaderInfo( void );
shaderInfo_t *ShaderInfoForShader( const char *shader );
+shaderInfo_t *ShaderInfoForShaderNull( const char *shader );
/* bspfile_abstract.c */
Q_EXTERN int deluxemode Q_ASSIGN( 0 ); /* deluxemap format (0 - modelspace, 1 - tangentspace with renormalization, 2 - tangentspace without renormalization) */
Q_EXTERN qboolean fast Q_ASSIGN( qfalse );
+Q_EXTERN qboolean fastpoint Q_ASSIGN( qtrue );
Q_EXTERN qboolean faster Q_ASSIGN( qfalse );
Q_EXTERN qboolean fastgrid Q_ASSIGN( qfalse );
Q_EXTERN qboolean fastbounce Q_ASSIGN( qfalse );
/* for run time tweaking of light sources */
Q_EXTERN float pointScale Q_ASSIGN( 7500.0f );
+Q_EXTERN float spotScale Q_ASSIGN( 7500.0f );
Q_EXTERN float areaScale Q_ASSIGN( 0.25f );
Q_EXTERN float skyScale Q_ASSIGN( 1.0f );
Q_EXTERN float bounceScale Q_ASSIGN( 0.25f );
/* ydnar: lightmap gamma/compensation */
Q_EXTERN float lightmapGamma Q_ASSIGN( 1.0f );
-Q_EXTERN float lightmapExposure Q_ASSIGN( 1.0f );
+Q_EXTERN float lightmapsRGB Q_ASSIGN( qfalse );
+Q_EXTERN float texturesRGB Q_ASSIGN( qfalse );
+Q_EXTERN float colorsRGB Q_ASSIGN( qfalse );
+Q_EXTERN float lightmapExposure Q_ASSIGN( 0.0f );
Q_EXTERN float lightmapCompensate Q_ASSIGN( 1.0f );
/* ydnar: for runtime tweaking of falloff tolerance */
#define AUTOEXPAND_BY_REALLOC_BSP(suffix, def) AUTOEXPAND_BY_REALLOC(bsp##suffix, numBSP##suffix, allocatedBSP##suffix, def)
+#define Image_LinearFloatFromsRGBFloat(c) (((c) <= 0.04045f) ? (c) * (1.0f / 12.92f) : (float)pow(((c) + 0.055f)*(1.0f/1.055f), 2.4f))
+#define Image_sRGBFloatFromLinearFloat(c) (((c) < 0.0031308f) ? (c) * 12.92f : 1.055f * (float)pow((c), 1.0f/2.4f) - 0.055f)
+
/* end marker */
#endif