/* get target */
e2 = FindTargetEntity( target );
if ( e2 == NULL ) {
- Sys_Printf( "WARNING: light at (%i %i %i) has missing target\n",
+ Sys_FPrintf( SYS_WRN, "WARNING: light at (%i %i %i) has missing target\n",
(int) light->origin[ 0 ], (int) light->origin[ 1 ], (int) light->origin[ 2 ] );
light->photons *= pointScale;
}
for ( i = 0; i < w->numpoints; i++ )
{
VectorSubtract( w->p[ i ], point, dirs[ i ] );
- VectorNormalize( dirs[ i ], dirs[ i ] );
+ VectorFastNormalize( dirs[ i ], dirs[ i ] );
}
/* duplicate first vertex to avoid mod operation */
angle = acos( dot );
CrossProduct( dirs[ i ], dirs[ j ], triVector );
- if ( VectorNormalize( triVector, triNormal ) < 0.0001f ) {
+ if ( VectorFastNormalize( triVector, triNormal ) < 0.0001f ) {
continue;
}
/* return to sender */
return 1;
}
- else{
+ else {
Error( "Light of undefined type!" );
}
if ( VectorLength( color ) == 0.0f ) {
VectorSet( color, 1.0, 1.0, 1.0 );
}
+
if ( colorsRGB ) {
color[0] = Image_LinearFloatFromsRGBFloat( color[0] );
color[1] = Image_LinearFloatFromsRGBFloat( color[1] );
qboolean lightSamplesInsist = qfalse;
qboolean fastAllocate = qfalse;
-
/* note it */
Sys_Printf( "--- Light ---\n" );
Sys_Printf( "--- ProcessGameSpecific ---\n" );
i++;
}
+ else if ( !strcmp( argv[ i ], "-vertexscale" ) ) {
+ f = atof( argv[ i + 1 ] );
+ vertexglobalscale *= f;
+ Sys_Printf( "Vertexlight scaled by %f to %f\n", f, vertexglobalscale );
+ i++;
+ }
+
+ else if ( !strcmp( argv[ i ], "-nolm" ) ) {
+ nolm = qtrue;
+ Sys_Printf( "No lightmaps yo\n" );
+ }
+
+ else if ( !strcmp( argv[ i ], "-bouncecolorratio" ) ) {
+ f = atof( argv[ i + 1 ] );
+ bounceColorRatio *= f;
+ if ( bounceColorRatio > 1 ) {
+ bounceColorRatio = 1;
+ }
+ if ( bounceColorRatio < 0 ) {
+ bounceColorRatio = 0;
+ }
+ Sys_Printf( "Bounce color ratio set to %f\n", bounceColorRatio );
+ i++;
+ }
+
else if ( !strcmp( argv[ i ], "-bouncescale" ) ) {
f = atof( argv[ i + 1 ] );
bounceScale *= f;
i++;
}
+ /* Lighting brightness */
+ else if( !strcmp( argv[ i ], "-brightness" ) ){
+ f = atof( argv[ i + 1 ] );
+ lightmapBrightness = f;
+ Sys_Printf( "Lighting brightness set to %f\n", lightmapBrightness );
+ i++;
+ }
+
+ /* Lighting contrast */
+ else if( !strcmp( argv[ i ], "-contrast" ) ){
+ f = atof( argv[ i + 1 ] );
+ lightmapContrast = f;
+ if( lightmapContrast > 255 ){
+ lightmapContrast = 255;
+ }
+ else if( lightmapContrast < -255 ){
+ lightmapContrast = -255;
+ }
+ Sys_Printf( "Lighting contrast set to %f\n", lightmapContrast );
+ i++;
+ /* change to factor in range of 0 to 129.5 */
+ lightmapContrast = ( 259 * ( lightmapContrast + 255 ) ) / ( 255 * ( 259 - lightmapContrast ) );
+ }
+
/* ydnar switches */
else if ( !strcmp( argv[ i ], "-bounce" ) ) {
bounce = atoi( argv[ i + 1 ] );
}
i++;
}
+
else if ( !strcmp( argv[ i ], "-deluxe" ) || !strcmp( argv[ i ], "-deluxemap" ) ) {
deluxemap = qtrue;
Sys_Printf( "Generating deluxemaps for average light direction\n" );
/* must be a power of 2 and greater than 2 */
if ( ( ( lmCustomSize - 1 ) & lmCustomSize ) || lmCustomSize < 2 ) {
- Sys_Printf( "WARNING: Lightmap size must be a power of 2, greater or equal to 2 pixels.\n" );
+ Sys_FPrintf( SYS_WRN, "WARNING: Lightmap size must be a power of 2, greater or equal to 2 pixels.\n" );
lmCustomSize = game->lightmapSize;
}
i++;
i++;
Sys_Printf( "Lightmaps sample scale set to %d\n", sampleScale );
}
+ else if ( !strcmp( argv[ i ], "-debugsamplesize" ) ) {
+ debugSampleSize = 1;
+ Sys_Printf( "debugging Lightmaps SampleSize\n" );
+ }
else if ( !strcmp( argv[ i ], "-novertex" ) ) {
- noVertexLighting = qtrue;
- Sys_Printf( "Disabling vertex lighting\n" );
+ noVertexLighting = 1;
+ if ( ( atof( argv[ i + 1 ] ) != 0 ) && ( atof( argv[ i + 1 ] )) < 1 ) {
+ noVertexLighting = ( atof( argv[ i + 1 ] ) );
+ i++;
+ Sys_Printf( "Setting vertex lighting globally to %f\n", noVertexLighting );
+ }
+ else{
+ Sys_Printf( "Disabling vertex lighting\n" );
+ }
}
else if ( !strcmp( argv[ i ], "-nogrid" ) ) {
noGridLighting = qtrue;
loMem = qtrue;
Sys_Printf( "Enabling low-memory (potentially slower) lighting mode\n" );
}
+ else if ( !strcmp( argv[ i ], "-lightsubdiv" ) ) {
+ defaultLightSubdivide = atoi( argv[ i + 1 ] );
+ if ( defaultLightSubdivide < 1 ) {
+ defaultLightSubdivide = 1;
+ }
+ i++;
+ Sys_Printf( "Default light subdivision set to %d\n", defaultLightSubdivide );
+ }
else if ( !strcmp( argv[ i ], "-lightanglehl" ) ) {
if ( ( atoi( argv[ i + 1 ] ) != 0 ) != lightAngleHL ) {
lightAngleHL = ( atoi( argv[ i + 1 ] ) != 0 );
else{
Sys_Printf( "Disabling half lambert light angle attenuation\n" );
}
+ i++;
}
}
else if ( !strcmp( argv[ i ], "-nostyle" ) || !strcmp( argv[ i ], "-nostyles" ) ) {
Sys_Printf( "Enabling randomized dirtmapping\n" );
}
else{
- Sys_Printf( "Enabling ordered dir mapping\n" );
+ Sys_Printf( "Enabling ordered dirtmapping\n" );
}
i++;
}
/* unhandled args */
else
{
- Sys_Printf( "WARNING: Unknown argument \"%s\"\n", argv[ i ] );
+ Sys_FPrintf( SYS_WRN, "WARNING: Unknown argument \"%s\"\n", argv[ i ] );
}
}