Get rid of -flares and -noflares. As you should really use the game-logic
for client-side effects like this.
This commit is contained in:
parent
890ab6ebca
commit
a29edbe997
7 changed files with 11 additions and 232 deletions
|
@ -366,59 +366,6 @@ void ProcessWorldModel( const char *portalFilePath, const char *lineFilePath ){
|
||||||
MakeFogHullSurfs( e, tree, shader );
|
MakeFogHullSurfs( e, tree, shader );
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ydnar: bug 645: do flares for lights */
|
|
||||||
for ( i = 0; i < numEntities && emitFlares; i++ )
|
|
||||||
{
|
|
||||||
entity_t *light, *target;
|
|
||||||
const char *value, *flareShader;
|
|
||||||
vec3_t origin, targetOrigin, normal, color;
|
|
||||||
int lightStyle;
|
|
||||||
|
|
||||||
|
|
||||||
/* get light */
|
|
||||||
light = &entities[ i ];
|
|
||||||
value = ValueForKey( light, "classname" );
|
|
||||||
if ( !strcmp( value, "light" ) ) {
|
|
||||||
/* get flare shader */
|
|
||||||
flareShader = ValueForKey( light, "_flareshader" );
|
|
||||||
value = ValueForKey( light, "_flare" );
|
|
||||||
if ( flareShader[ 0 ] != '\0' || value[ 0 ] != '\0' ) {
|
|
||||||
/* get specifics */
|
|
||||||
GetVectorForKey( light, "origin", origin );
|
|
||||||
GetVectorForKey( light, "_color", color );
|
|
||||||
lightStyle = IntForKey( light, "_style" );
|
|
||||||
if ( lightStyle == 0 ) {
|
|
||||||
lightStyle = IntForKey( light, "style" );
|
|
||||||
}
|
|
||||||
|
|
||||||
/* handle directional spotlights */
|
|
||||||
value = ValueForKey( light, "target" );
|
|
||||||
if ( value[ 0 ] != '\0' ) {
|
|
||||||
/* get target light */
|
|
||||||
target = FindTargetEntity( value );
|
|
||||||
if ( target != NULL ) {
|
|
||||||
GetVectorForKey( target, "origin", targetOrigin );
|
|
||||||
VectorSubtract( targetOrigin, origin, normal );
|
|
||||||
VectorNormalize( normal, normal );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
//% VectorClear( normal );
|
|
||||||
VectorSet( normal, 0, 0, -1 );
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( colorsRGB ) {
|
|
||||||
color[0] = Image_LinearFloatFromsRGBFloat( color[0] );
|
|
||||||
color[1] = Image_LinearFloatFromsRGBFloat( color[1] );
|
|
||||||
color[2] = Image_LinearFloatFromsRGBFloat( color[2] );
|
|
||||||
}
|
|
||||||
|
|
||||||
/* create the flare surface (note shader defaults automatically) */
|
|
||||||
DrawSurfaceForFlare( mapEntityNum, origin, normal, color, flareShader, lightStyle );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* add references to the final drawsurfs in the apropriate clusters */
|
/* add references to the final drawsurfs in the apropriate clusters */
|
||||||
FilterDrawsurfsIntoTree( e, tree );
|
FilterDrawsurfsIntoTree( e, tree );
|
||||||
|
|
||||||
|
@ -587,11 +534,6 @@ void OnlyEnts( const char *BSPFilePath ){
|
||||||
LoadBSPFile( BSPFilePath );
|
LoadBSPFile( BSPFilePath );
|
||||||
|
|
||||||
ParseEntities();
|
ParseEntities();
|
||||||
p = ValueForKey( &entities[0], "_q3map2_cmdline" );
|
|
||||||
strncpy( save_cmdline, p, sizeof( save_cmdline ) );
|
|
||||||
save_cmdline[sizeof( save_cmdline ) - 1] = 0;
|
|
||||||
p = ValueForKey( &entities[0], "_q3map2_version" );
|
|
||||||
strncpy( save_version, p, sizeof( save_version ) );
|
|
||||||
save_version[sizeof( save_version ) - 1] = 0;
|
save_version[sizeof( save_version ) - 1] = 0;
|
||||||
p = ValueForKey( &entities[0], "gridsize" );
|
p = ValueForKey( &entities[0], "gridsize" );
|
||||||
strncpy( save_gridsize, p, sizeof( save_gridsize ) );
|
strncpy( save_gridsize, p, sizeof( save_gridsize ) );
|
||||||
|
@ -604,12 +546,6 @@ void OnlyEnts( const char *BSPFilePath ){
|
||||||
SetModelNumbers();
|
SetModelNumbers();
|
||||||
SetLightStyles();
|
SetLightStyles();
|
||||||
|
|
||||||
if ( *save_cmdline ) {
|
|
||||||
SetKeyValue( &entities[0], "_q3map2_cmdline", save_cmdline );
|
|
||||||
}
|
|
||||||
if ( *save_version ) {
|
|
||||||
SetKeyValue( &entities[0], "_q3map2_version", save_version );
|
|
||||||
}
|
|
||||||
if ( *save_gridsize ) {
|
if ( *save_gridsize ) {
|
||||||
SetKeyValue( &entities[0], "gridsize", save_gridsize );
|
SetKeyValue( &entities[0], "gridsize", save_gridsize );
|
||||||
}
|
}
|
||||||
|
@ -655,7 +591,6 @@ int BSPMain( int argc, char **argv ){
|
||||||
/* set standard game flags */
|
/* set standard game flags */
|
||||||
maxSurfaceVerts = game->maxSurfaceVerts;
|
maxSurfaceVerts = game->maxSurfaceVerts;
|
||||||
maxSurfaceIndexes = game->maxSurfaceIndexes;
|
maxSurfaceIndexes = game->maxSurfaceIndexes;
|
||||||
emitFlares = game->emitFlares;
|
|
||||||
texturesRGB = game->texturesRGB;
|
texturesRGB = game->texturesRGB;
|
||||||
colorsRGB = game->colorsRGB;
|
colorsRGB = game->colorsRGB;
|
||||||
|
|
||||||
|
@ -857,14 +792,6 @@ int BSPMain( int argc, char **argv ){
|
||||||
Sys_Printf( "Creating meta surfaces from patches\n" );
|
Sys_Printf( "Creating meta surfaces from patches\n" );
|
||||||
patchMeta = qtrue;
|
patchMeta = qtrue;
|
||||||
}
|
}
|
||||||
else if ( !strcmp( argv[ i ], "-flares" ) ) {
|
|
||||||
Sys_Printf( "Flare surfaces enabled\n" );
|
|
||||||
emitFlares = qtrue;
|
|
||||||
}
|
|
||||||
else if ( !strcmp( argv[ i ], "-noflares" ) ) {
|
|
||||||
Sys_Printf( "Flare surfaces disabled\n" );
|
|
||||||
emitFlares = qfalse;
|
|
||||||
}
|
|
||||||
else if ( !strcmp( argv[ i ], "-skyfix" ) ) {
|
else if ( !strcmp( argv[ i ], "-skyfix" ) ) {
|
||||||
Sys_Printf( "GL_CLAMP sky fix/hack/workaround enabled\n" );
|
Sys_Printf( "GL_CLAMP sky fix/hack/workaround enabled\n" );
|
||||||
skyFixHack = qtrue;
|
skyFixHack = qtrue;
|
||||||
|
|
|
@ -58,8 +58,6 @@
|
||||||
0, /* max lightmapped surface verts */
|
0, /* max lightmapped surface verts */
|
||||||
0, /* max surface verts */
|
0, /* max surface verts */
|
||||||
0, /* max surface indexes */
|
0, /* max surface indexes */
|
||||||
qfalse, /* flares */
|
|
||||||
NULL, /* default flare shader */
|
|
||||||
qfalse, /* wolf lighting model? */
|
qfalse, /* wolf lighting model? */
|
||||||
0, /* lightmap width/height */
|
0, /* lightmap width/height */
|
||||||
0, /* lightmap gamma */
|
0, /* lightmap gamma */
|
||||||
|
|
|
@ -103,8 +103,6 @@
|
||||||
65535, /* max lightmapped surface verts */
|
65535, /* max lightmapped surface verts */
|
||||||
65535, /* max surface verts */
|
65535, /* max surface verts */
|
||||||
1048575, /* max surface indexes */
|
1048575, /* max surface indexes */
|
||||||
qfalse, /* flares */
|
|
||||||
"flareshader", /* default flare shader */
|
|
||||||
qfalse, /* wolf lighting model? */
|
qfalse, /* wolf lighting model? */
|
||||||
512, /* lightmap width/height */
|
512, /* lightmap width/height */
|
||||||
1.0f, /* lightmap gamma */
|
1.0f, /* lightmap gamma */
|
||||||
|
|
|
@ -97,7 +97,6 @@ void HelpBsp()
|
||||||
{"-deep", "Use detail brushes in the BSP tree, but at lowest priority (should give more fps)"},
|
{"-deep", "Use detail brushes in the BSP tree, but at lowest priority (should give more fps)"},
|
||||||
{"-de <F>", "Distance epsilon for plane snapping etc."},
|
{"-de <F>", "Distance epsilon for plane snapping etc."},
|
||||||
{"-fakemap", "Write fakemap.map containing all world brushes"},
|
{"-fakemap", "Write fakemap.map containing all world brushes"},
|
||||||
{"-flares", "Turn on support for flares (TEST?)"},
|
|
||||||
{"-flat", "Enable flat shading (good for combining with -celshader)"},
|
{"-flat", "Enable flat shading (good for combining with -celshader)"},
|
||||||
{"-fulldetail", "Treat detail brushes as structural ones"},
|
{"-fulldetail", "Treat detail brushes as structural ones"},
|
||||||
{"-leaktest", "Continue even if a leak was found"},
|
{"-leaktest", "Continue even if a leak was found"},
|
||||||
|
@ -109,7 +108,6 @@ void HelpBsp()
|
||||||
{"-ne <F>", "Normal epsilon for plane snapping etc."},
|
{"-ne <F>", "Normal epsilon for plane snapping etc."},
|
||||||
{"-nocurves", "Turn off support for patches"},
|
{"-nocurves", "Turn off support for patches"},
|
||||||
{"-nodetail", "Leave out detail brushes"},
|
{"-nodetail", "Leave out detail brushes"},
|
||||||
{"-noflares", "Turn off support for flares"},
|
|
||||||
{"-nofog", "Turn off support for fog volumes"},
|
{"-nofog", "Turn off support for fog volumes"},
|
||||||
{"-nohint", "Turn off support for hint brushes"},
|
{"-nohint", "Turn off support for hint brushes"},
|
||||||
{"-nosubdivide", "Turn off support for `q3map_tessSize` (breaks water vertex deforms)"},
|
{"-nosubdivide", "Turn off support for `q3map_tessSize` (breaks water vertex deforms)"},
|
||||||
|
|
|
@ -1064,16 +1064,6 @@ static void ParseShaderFile( const char *filename ){
|
||||||
if ( !Q_stricmp( token, "animMap" ) || !Q_stricmp( token, "clampAnimMap" ) ) {
|
if ( !Q_stricmp( token, "animMap" ) || !Q_stricmp( token, "clampAnimMap" ) ) {
|
||||||
GetTokenAppend( shaderText, qfalse );
|
GetTokenAppend( shaderText, qfalse );
|
||||||
}
|
}
|
||||||
|
|
||||||
/* get an image */
|
|
||||||
GetTokenAppend( shaderText, qfalse );
|
|
||||||
if ( token[ 0 ] != '*' && token[ 0 ] != '$' ) {
|
|
||||||
strcpy( si->lightImagePath, token );
|
|
||||||
DefaultExtension( si->lightImagePath, ".tga" );
|
|
||||||
|
|
||||||
/* debug code */
|
|
||||||
//% Sys_FPrintf( SYS_VRB, "Deduced shader image: %s\n", si->lightImagePath );
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1164,12 +1154,6 @@ static void ParseShaderFile( const char *filename ){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* light <value> (old-style flare specification) */
|
|
||||||
else if ( !Q_stricmp( token, "light" ) ) {
|
|
||||||
GetTokenAppend( shaderText, qfalse );
|
|
||||||
si->flareShader = game->flareShader;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ydnar: damageShader <shader> <health> (sof2 mods) */
|
/* ydnar: damageShader <shader> <health> (sof2 mods) */
|
||||||
else if ( !Q_stricmp( token, "damageShader" ) ) {
|
else if ( !Q_stricmp( token, "damageShader" ) ) {
|
||||||
GetTokenAppend( shaderText, qfalse );
|
GetTokenAppend( shaderText, qfalse );
|
||||||
|
@ -1255,11 +1239,6 @@ static void ParseShaderFile( const char *filename ){
|
||||||
/* ignore bogus paths */
|
/* ignore bogus paths */
|
||||||
if ( Q_stricmp( token, "-" ) && Q_stricmp( token, "full" ) ) {
|
if ( Q_stricmp( token, "-" ) && Q_stricmp( token, "full" ) ) {
|
||||||
strcpy( si->skyParmsImageBase, token );
|
strcpy( si->skyParmsImageBase, token );
|
||||||
|
|
||||||
/* use top image as sky light image */
|
|
||||||
if ( si->lightImagePath[ 0 ] == '\0' ) {
|
|
||||||
sprintf( si->lightImagePath, "%s_up.tga", si->skyParmsImageBase );
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* skip rest of line */
|
/* skip rest of line */
|
||||||
|
@ -1617,15 +1596,6 @@ static void ParseShaderFile( const char *filename ){
|
||||||
si->noVertexLight = qtrue;
|
si->noVertexLight = qtrue;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* q3map_flare[Shader] <shader> */
|
|
||||||
else if ( !Q_stricmp( token, "q3map_flare" ) || !Q_stricmp( token, "vmap_flare" ) ) {
|
|
||||||
GetTokenAppend( shaderText, qfalse );
|
|
||||||
if ( token[ 0 ] != '\0' ) {
|
|
||||||
si->flareShader = safe_malloc( strlen( token ) + 1 );
|
|
||||||
strcpy( si->flareShader, token );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* q3map_backShader <shader> */
|
/* q3map_backShader <shader> */
|
||||||
else if ( !Q_stricmp( token, "q3map_backShader" ) || !Q_stricmp( token, "vmap_backShader" ) ) {
|
else if ( !Q_stricmp( token, "q3map_backShader" ) || !Q_stricmp( token, "vmap_backShader" ) ) {
|
||||||
GetTokenAppend( shaderText, qfalse );
|
GetTokenAppend( shaderText, qfalse );
|
||||||
|
|
|
@ -504,7 +504,7 @@ void ClassifySurfaces( int numSurfs, mapDrawSurface_t *ds ){
|
||||||
/* walk the list of surfaces */
|
/* walk the list of surfaces */
|
||||||
for ( ; numSurfs > 0; numSurfs--, ds++ )
|
for ( ; numSurfs > 0; numSurfs--, ds++ )
|
||||||
{
|
{
|
||||||
/* ignore bogus (or flare) surfaces */
|
/* ignore bogus surfaces */
|
||||||
if ( ds->type == SURFACE_BAD || ds->numVerts <= 0 ) {
|
if ( ds->type == SURFACE_BAD || ds->numVerts <= 0 ) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -1251,57 +1251,6 @@ mapDrawSurface_t *DrawSurfaceForMesh( entity_t *e, parseMesh_t *p, mesh_t *mesh
|
||||||
return ds;
|
return ds;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
DrawSurfaceForFlare() - ydnar
|
|
||||||
creates a flare draw surface
|
|
||||||
*/
|
|
||||||
|
|
||||||
mapDrawSurface_t *DrawSurfaceForFlare( int entNum, vec3_t origin, vec3_t normal, vec3_t color, const char *flareShader, int lightStyle ){
|
|
||||||
mapDrawSurface_t *ds;
|
|
||||||
|
|
||||||
|
|
||||||
/* emit flares? */
|
|
||||||
if ( emitFlares == qfalse ) {
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* allocate drawsurface */
|
|
||||||
ds = AllocDrawSurface( SURFACE_FLARE );
|
|
||||||
ds->entityNum = entNum;
|
|
||||||
|
|
||||||
/* set it up */
|
|
||||||
if ( flareShader != NULL && flareShader[ 0 ] != '\0' ) {
|
|
||||||
ds->shaderInfo = ShaderInfoForShader( flareShader );
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
ds->shaderInfo = ShaderInfoForShader( game->flareShader );
|
|
||||||
}
|
|
||||||
if ( origin != NULL ) {
|
|
||||||
VectorCopy( origin, ds->lightmapOrigin );
|
|
||||||
}
|
|
||||||
if ( normal != NULL ) {
|
|
||||||
VectorCopy( normal, ds->lightmapVecs[ 2 ] );
|
|
||||||
}
|
|
||||||
if ( color != NULL ) {
|
|
||||||
VectorCopy( color, ds->lightmapVecs[ 0 ] );
|
|
||||||
}
|
|
||||||
|
|
||||||
/* store light style */
|
|
||||||
ds->lightStyle = lightStyle;
|
|
||||||
if ( ds->lightStyle < 0 || ds->lightStyle >= LS_NONE ) {
|
|
||||||
ds->lightStyle = LS_NORMAL;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* fixme: fog */
|
|
||||||
|
|
||||||
/* return to sender */
|
|
||||||
return ds;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
DrawSurfaceForShader() - ydnar
|
DrawSurfaceForShader() - ydnar
|
||||||
creates a bogus surface to forcing the game to load a shader
|
creates a bogus surface to forcing the game to load a shader
|
||||||
|
@ -1338,35 +1287,6 @@ mapDrawSurface_t *DrawSurfaceForShader( char *shader ){
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
AddSurfaceFlare() - ydnar
|
|
||||||
creates flares (coronas) centered on surfaces
|
|
||||||
*/
|
|
||||||
|
|
||||||
static void AddSurfaceFlare( mapDrawSurface_t *ds, vec3_t entityOrigin ){
|
|
||||||
vec3_t origin;
|
|
||||||
int i;
|
|
||||||
|
|
||||||
|
|
||||||
/* find centroid */
|
|
||||||
VectorClear( origin );
|
|
||||||
for ( i = 0; i < ds->numVerts; i++ )
|
|
||||||
VectorAdd( origin, ds->verts[ i ].xyz, origin );
|
|
||||||
VectorScale( origin, ( 1.0f / ds->numVerts ), origin );
|
|
||||||
if ( entityOrigin != NULL ) {
|
|
||||||
VectorAdd( origin, entityOrigin, origin );
|
|
||||||
}
|
|
||||||
|
|
||||||
/* push origin off surface a bit */
|
|
||||||
VectorMA( origin, 2.0f, ds->lightmapVecs[ 2 ], origin );
|
|
||||||
|
|
||||||
/* create the drawsurface */
|
|
||||||
DrawSurfaceForFlare( ds->entityNum, origin, ds->lightmapVecs[ 2 ], ds->shaderInfo->color, ds->shaderInfo->flareShader, ds->shaderInfo->lightStyle );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
SubdivideFace()
|
SubdivideFace()
|
||||||
subdivides a face surface until it is smaller than the specified size (subdivisions)
|
subdivides a face surface until it is smaller than the specified size (subdivisions)
|
||||||
|
@ -2384,18 +2304,6 @@ static int FilterFoliageIntoTree( mapDrawSurface_t *ds, tree_t *tree ){
|
||||||
return refs;
|
return refs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
FilterFlareIntoTree()
|
|
||||||
simple point filtering for flare surfaces
|
|
||||||
*/
|
|
||||||
static int FilterFlareSurfIntoTree( mapDrawSurface_t *ds, tree_t *tree ){
|
|
||||||
return FilterPointIntoTree_r( ds->lightmapOrigin, ds, tree->headnode );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
EmitDrawVerts() - ydnar
|
EmitDrawVerts() - ydnar
|
||||||
emits bsp drawverts from a map drawsurface
|
emits bsp drawverts from a map drawsurface
|
||||||
|
@ -2557,17 +2465,17 @@ void EmitDrawIndexes( mapDrawSurface_t *ds, bspDrawSurface_t *out ){
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
EmitFlareSurface()
|
EmitSurface()
|
||||||
emits a bsp flare drawsurface
|
emits a bsp drawsurface
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void EmitFlareSurface( mapDrawSurface_t *ds ){
|
void EmitSurface( mapDrawSurface_t *ds ){
|
||||||
int i;
|
int i;
|
||||||
bspDrawSurface_t *out;
|
bspDrawSurface_t *out;
|
||||||
|
|
||||||
|
|
||||||
/* ydnar: nuking useless flare drawsurfaces */
|
/* ydnar: nuking useless drawsurfaces */
|
||||||
if ( emitFlares == qfalse && ds->type != SURFACE_SHADER ) {
|
if ( ds->type != SURFACE_SHADER ) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3503,7 +3411,7 @@ int AddSurfaceModels( mapDrawSurface_t *ds ){
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
/* no support for flares, foghull, etc */
|
/* no support for foghull, etc */
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -3658,11 +3566,6 @@ void FilterDrawsurfsIntoTree( entity_t *e, tree_t *tree ){
|
||||||
Foliage( ds );
|
Foliage( ds );
|
||||||
}
|
}
|
||||||
|
|
||||||
/* create a flare surface if necessary */
|
|
||||||
if ( si->flareShader != NULL && si->flareShader[ 0 ] ) {
|
|
||||||
AddSurfaceFlare( ds, e->origin );
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ydnar: don't emit nodraw surfaces (like nodraw fog) */
|
/* ydnar: don't emit nodraw surfaces (like nodraw fog) */
|
||||||
if ( ( si->compileFlags & C_NODRAW ) && ds->type != SURFACE_PATCH ) {
|
if ( ( si->compileFlags & C_NODRAW ) && ds->type != SURFACE_PATCH ) {
|
||||||
continue;
|
continue;
|
||||||
|
@ -3750,20 +3653,10 @@ void FilterDrawsurfsIntoTree( entity_t *e, tree_t *tree ){
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
/* handle flares */
|
|
||||||
case SURFACE_FLARE:
|
|
||||||
if ( refs == 0 ) {
|
|
||||||
refs = FilterFlareSurfIntoTree( ds, tree );
|
|
||||||
}
|
|
||||||
if ( refs > 0 ) {
|
|
||||||
EmitFlareSurface( ds );
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
/* handle shader-only surfaces */
|
/* handle shader-only surfaces */
|
||||||
case SURFACE_SHADER:
|
case SURFACE_SHADER:
|
||||||
refs = 1;
|
refs = 1;
|
||||||
EmitFlareSurface( ds );
|
EmitSurface( ds );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
/* no references */
|
/* no references */
|
||||||
|
|
|
@ -537,8 +537,6 @@ typedef struct game_s
|
||||||
int maxLMSurfaceVerts; /* default maximum meta surface verts */
|
int maxLMSurfaceVerts; /* default maximum meta surface verts */
|
||||||
int maxSurfaceVerts; /* default maximum surface verts */
|
int maxSurfaceVerts; /* default maximum surface verts */
|
||||||
int maxSurfaceIndexes; /* default maximum surface indexes (tris * 3) */
|
int maxSurfaceIndexes; /* default maximum surface indexes (tris * 3) */
|
||||||
qboolean emitFlares; /* when true, emit flare surfaces */
|
|
||||||
char *flareShader; /* default flare shader (MUST BE SET) */
|
|
||||||
qboolean wolfLight; /* when true, lights work like wolf q3map */
|
qboolean wolfLight; /* when true, lights work like wolf q3map */
|
||||||
int lightmapSize; /* bsp lightmap width/height */
|
int lightmapSize; /* bsp lightmap width/height */
|
||||||
float lightmapGamma; /* default lightmap gamma */
|
float lightmapGamma; /* default lightmap gamma */
|
||||||
|
@ -681,7 +679,6 @@ typedef struct shaderInfo_s
|
||||||
int compileFlags;
|
int compileFlags;
|
||||||
float value; /* light value */
|
float value; /* light value */
|
||||||
|
|
||||||
char *flareShader; /* for light flares */
|
|
||||||
char *damageShader; /* ydnar: sof2 damage shader name */
|
char *damageShader; /* ydnar: sof2 damage shader name */
|
||||||
char *backShader; /* for surfaces that generate different front and back passes */
|
char *backShader; /* for surfaces that generate different front and back passes */
|
||||||
char *cloneShader; /* ydnar: for cloning of a surface */
|
char *cloneShader; /* ydnar: for cloning of a surface */
|
||||||
|
@ -1043,9 +1040,9 @@ typedef struct mapDrawSurface_s
|
||||||
int *indexes;
|
int *indexes;
|
||||||
|
|
||||||
int planeNum;
|
int planeNum;
|
||||||
vec3_t lightmapOrigin; /* also used for flares */
|
vec3_t lightmapOrigin;
|
||||||
vec3_t lightmapVecs[ 3 ]; /* also used for flares */
|
vec3_t lightmapVecs[ 3 ];
|
||||||
int lightStyle; /* used for flares */
|
int lightStyle;
|
||||||
|
|
||||||
/* ydnar: per-surface (per-entity, actually) lightmap sample size scaling */
|
/* ydnar: per-surface (per-entity, actually) lightmap sample size scaling */
|
||||||
float lightmapScale;
|
float lightmapScale;
|
||||||
|
@ -1709,7 +1706,6 @@ void ClearSurface( mapDrawSurface_t *ds );
|
||||||
void AddEntitySurfaceModels( entity_t *e );
|
void AddEntitySurfaceModels( entity_t *e );
|
||||||
mapDrawSurface_t *DrawSurfaceForSide( entity_t *e, brush_t *b, side_t *s, winding_t *w );
|
mapDrawSurface_t *DrawSurfaceForSide( entity_t *e, brush_t *b, side_t *s, winding_t *w );
|
||||||
mapDrawSurface_t *DrawSurfaceForMesh( entity_t *e, parseMesh_t *p, mesh_t *mesh );
|
mapDrawSurface_t *DrawSurfaceForMesh( entity_t *e, parseMesh_t *p, mesh_t *mesh );
|
||||||
mapDrawSurface_t *DrawSurfaceForFlare( int entNum, vec3_t origin, vec3_t normal, vec3_t color, const char *flareShader, int lightStyle );
|
|
||||||
mapDrawSurface_t *DrawSurfaceForShader( char *shader );
|
mapDrawSurface_t *DrawSurfaceForShader( char *shader );
|
||||||
void ClipSidesIntoTree( entity_t *e, tree_t *tree );
|
void ClipSidesIntoTree( entity_t *e, tree_t *tree );
|
||||||
void MakeDebugPortalSurfs( tree_t *tree );
|
void MakeDebugPortalSurfs( tree_t *tree );
|
||||||
|
@ -2025,7 +2021,6 @@ Q_EXTERN int texRange Q_ASSIGN( 0 );
|
||||||
Q_EXTERN qboolean flat Q_ASSIGN( qfalse );
|
Q_EXTERN qboolean flat Q_ASSIGN( qfalse );
|
||||||
Q_EXTERN qboolean meta Q_ASSIGN( qfalse );
|
Q_EXTERN qboolean meta Q_ASSIGN( qfalse );
|
||||||
Q_EXTERN qboolean patchMeta Q_ASSIGN( qfalse );
|
Q_EXTERN qboolean patchMeta Q_ASSIGN( qfalse );
|
||||||
Q_EXTERN qboolean emitFlares Q_ASSIGN( qfalse );
|
|
||||||
Q_EXTERN qboolean debugSurfaces Q_ASSIGN( qfalse );
|
Q_EXTERN qboolean debugSurfaces Q_ASSIGN( qfalse );
|
||||||
Q_EXTERN qboolean debugInset Q_ASSIGN( qfalse );
|
Q_EXTERN qboolean debugInset Q_ASSIGN( qfalse );
|
||||||
Q_EXTERN qboolean debugPortals Q_ASSIGN( qfalse );
|
Q_EXTERN qboolean debugPortals Q_ASSIGN( qfalse );
|
||||||
|
|
Loading…
Reference in a new issue