]> git.xonotic.org Git - xonotic/netradiant.git/blobdiff - tools/quake3/q3map2/main.c
set stack size to 8 MB explicitly, should fix light compile crash on OS X
[xonotic/netradiant.git] / tools / quake3 / q3map2 / main.c
index 057a549ace85e1787d9a9d88fd0193793182f92c..213a975bfde537da6eb0deaf287c526bba3d2e09 100644 (file)
@@ -75,6 +75,7 @@ typedef struct minimap_s
        float *sample_offsets;
        float sharpen_boxmult;
        float sharpen_centermult;
+       float boost;
        float *data1f;
        float *sharpendata1f;
        vec3_t mins, size;
@@ -291,6 +292,17 @@ static void MiniMapSharpen(int y)
        }
 }
 
+static void MiniMapContrastBoost(int y)
+{
+       int x;
+       float *q = &minimap.data1f[y * minimap.width];
+       for(x = 0; x < minimap.width; ++x)
+       {
+               *q = *q * minimap.boost / ((minimap.boost - 1) * *q + 1);
+               ++q;
+       }
+}
+
 void MiniMapMakeMinsMaxs(vec3_t mins_in, vec3_t maxs_in, float border, qboolean keepaspect)
 {
        vec3_t mins, maxs, extend;
@@ -567,6 +579,7 @@ int MiniMapBSPMain( int argc, char **argv )
 
        minimap.samples = 1;
        minimap.sample_offsets = NULL;
+       minimap.boost = 1.0;
 
        /* process arguments */
        for( i = 1; i < (argc - 1); i++ )
@@ -650,6 +663,12 @@ int MiniMapBSPMain( int argc, char **argv )
                        mode = MINIMAP_MODE_WHITE;
                        Sys_Printf( "Writing as white alpha image\n" );
                }
+               else if( !strcmp( argv[ i ],  "-boost" ) )
+               {
+                       minimap.boost = atof(argv[i + 1]);
+                       i++;
+                       Sys_Printf( "Contrast boost set to %f\n", minimap.boost );
+               }
        }
 
        MiniMapMakeMinsMaxs(mins, maxs, border, keepaspect);
@@ -697,6 +716,12 @@ int MiniMapBSPMain( int argc, char **argv )
                }
        }
 
+       if(minimap.boost != 1.0)
+       {
+               Sys_Printf( "\n--- MiniMapContrastBoost (%d) ---\n", minimap.height );
+               RunThreadsOnIndividual(minimap.height, qtrue, MiniMapContrastBoost);
+       }
+
        if(minimap.sharpendata1f)
        {
                Sys_Printf( "\n--- MiniMapSharpen (%d) ---\n", minimap.height );
@@ -1554,7 +1579,7 @@ int main( int argc, char **argv )
                        argv[ i ] = NULL;
                }
        }
-       
+
        /* init model library */
        PicoInit();
        PicoSetMallocFunc( safe_malloc );