Handle Half-Life 1 styled point light info
This adds support for the vector version of _light, where the first 3 values are the color and the alpha is the intensity. Signed-off-by: Joshua Ashton <joshua@froggi.es>
This commit is contained in:
parent
f68d4836e1
commit
fc0e5c3ccc
|
@ -542,10 +542,30 @@ void CreateEntityLights( void ){
|
||||||
Sys_FPrintf( SYS_WRN, "WARNING: Styled light found targeting %s\n **", target );
|
Sys_FPrintf( SYS_WRN, "WARNING: Styled light found targeting %s\n **", target );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* default to white color values */
|
||||||
|
light->color[ 0 ] =
|
||||||
|
light->color[ 1 ] =
|
||||||
|
light->color[ 2 ] = 1.0f;
|
||||||
|
|
||||||
/* set light intensity */
|
/* set light intensity */
|
||||||
intensity = FloatForKey( e, "_light" );
|
_color = ValueForKey( e, "_light" );
|
||||||
if ( intensity == 0.0f ) {
|
if ( _color && _color[0] ) {
|
||||||
intensity = FloatForKey( e, "light" );
|
/* Handle Half-Life styled _light values which
|
||||||
|
* contain color. Otherwise, fallback to _light
|
||||||
|
* being a single float for intensity
|
||||||
|
*/
|
||||||
|
if ( sscanf( _color, "%f %f %f %f", &light->color[ 0 ], &light->color[ 1 ], &light->color[ 2 ], &intensity ) == 4 ) {
|
||||||
|
light->color[ 0 ] /= 255;
|
||||||
|
light->color[ 1 ] /= 255;
|
||||||
|
light->color[ 2 ] /= 255;
|
||||||
|
intensity /= 4;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
intensity = FloatForKey( e, "_light" );
|
||||||
|
if ( intensity == 0.0f ) {
|
||||||
|
intensity = FloatForKey( e, "light" );
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if ( intensity == 0.0f ) {
|
if ( intensity == 0.0f ) {
|
||||||
intensity = 300.0f;
|
intensity = 300.0f;
|
||||||
|
@ -629,11 +649,6 @@ void CreateEntityLights( void ){
|
||||||
/*if ( !( light->flags & LIGHT_UNNORMALIZED ) ) {
|
/*if ( !( light->flags & LIGHT_UNNORMALIZED ) ) {
|
||||||
ColorNormalize( light->color, light->color );
|
ColorNormalize( light->color, light->color );
|
||||||
}*/
|
}*/
|
||||||
} else {
|
|
||||||
/* default to white color values */
|
|
||||||
light->color[ 0 ] =
|
|
||||||
light->color[ 1 ] =
|
|
||||||
light->color[ 2 ] = 1.0f;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue