diff --git a/radiant/qe3.h b/radiant/qe3.h index 62f1a0e5..ed755385 100644 --- a/radiant/qe3.h +++ b/radiant/qe3.h @@ -848,21 +848,13 @@ extern void RunScriptByName( char*, bool ); extern void DoNewColor( int* i1, int* i2, int* i3 ); extern void UpdateSurfaceDialog(); extern void CSG_SplitBrushByFace( brush_t *in, face_t *f, brush_t **front, brush_t **back ); -//extern void HandlePopup(CWnd* pWindow, unsigned int uId); extern z_t z; extern void Select_Scale( float x, float y, float z ); extern void TextureAxisFromPlane( plane_t *pln, vec3_t xv, vec3_t yv ); -//extern void VectorRotate (vec3_t va, vec3_t vb, vec3_t out); -//extern void VectorRotate (vec3_t vIn, vec3_t vRotation, vec3_t vOrigin, vec3_t out); extern qboolean QE_SaveProject( const char* pProjectFile ); -//extern void NewBSP(char* pCommandLine, HWND); -//extern void NewVIS(char* pCommandLine, HWND); -//extern void NewRAD(char* pCommandLine, HWND); extern void RunTools( char* pCommandLine, GtkWidget* hwnd, const char* pPAKFile ); extern void Clamp( float& f, int nClamp ); extern void MemFile_fprintf( MemStream* pMemFile, const char* pText, ... ); -//extern void SaveWindowPlacement(HWND hwnd, const char* pName); -//extern bool LoadWindowPlacement(HWND hwnd, const char* pName); extern qboolean ConfirmModified( void ); extern void DoPatchInspector(); extern void TogglePatchInspector(); diff --git a/tools/urt/tools/quake3/q3map2/bsp.c b/tools/urt/tools/quake3/q3map2/bsp.c index bd064757..24c49420 100644 --- a/tools/urt/tools/quake3/q3map2/bsp.c +++ b/tools/urt/tools/quake3/q3map2/bsp.c @@ -751,10 +751,6 @@ int BSPMain( int argc, char **argv ){ Sys_Printf( "Creating meta surfaces from brush faces\n" ); meta = qtrue; } - else if ( !strcmp( argv[ i ], "-newbsp" ) ) { - Sys_Printf( "Using New BSP Generation Method\n" ); - newbsp = qtrue; - } else if ( !strcmp( argv[ i ], "-patchmeta" ) ) { Sys_Printf( "Creating meta surfaces from patches\n" ); patchMeta = qtrue; diff --git a/tools/urt/tools/quake3/q3map2/patch.patch b/tools/urt/tools/quake3/q3map2/patch.patch deleted file mode 100644 index 277608e6..00000000 --- a/tools/urt/tools/quake3/q3map2/patch.patch +++ /dev/null @@ -1,1891 +0,0 @@ -Index: tools/quake3/q3map2/writebsp.c -=================================================================== ---- tools/quake3/q3map2/writebsp.c (revision 158) -+++ tools/quake3/q3map2/writebsp.c (working copy) -@@ -136,7 +136,6 @@ - bspLeaf_t *leaf_p; - brush_t *b; - drawSurfRef_t *dsr; -- int i = 0; - - - /* check limits */ -Index: tools/quake3/q3map2/facebsp.c -=================================================================== ---- tools/quake3/q3map2/facebsp.c (revision 158) -+++ tools/quake3/q3map2/facebsp.c (working copy) -@@ -180,7 +180,7 @@ - - - c = 0; -- for( list; list != NULL; list = list->next ) -+ for( ; list != NULL; list = list->next ) - c++; - return c; - } -Index: tools/quake3/q3map2/light_ydnar.c -=================================================================== ---- tools/quake3/q3map2/light_ydnar.c (revision 158) -+++ tools/quake3/q3map2/light_ydnar.c (working copy) -@@ -49,6 +49,7 @@ - int i; - float max, gamma; - vec3_t sample; -+ float inv, dif; - - - /* ydnar: scaling necessary for simulating r_overbrightBits on external lightmaps */ -@@ -72,16 +73,51 @@ - /* gamma */ - sample[ i ] = pow( sample[ i ] / 255.0f, gamma ) * 255.0f; - } -+ -+ if (lightmapExposure == 1) -+ { -+ /* clamp with color normalization */ -+ max = sample[ 0 ]; -+ if( sample[ 1 ] > max ) -+ max = sample[ 1 ]; -+ if( sample[ 2 ] > max ) -+ max = sample[ 2 ]; -+ if( max > 255.0f ) -+ VectorScale( sample, (255.0f / max), sample ); -+ } -+ else -+ { -+ if (lightmapExposure==0) -+ { -+ lightmapExposure=1.0f; -+ } -+ inv=1.f/lightmapExposure; -+ //Exposure -+ -+ max = sample[ 0 ]; -+ if( sample[ 1 ] > max ) -+ max = sample[ 1 ]; -+ if( sample[ 2 ] > max ) -+ max = sample[ 2 ]; -+ -+ dif = (1- exp(-max * inv) ) * 255; -+ -+ if (max >0) -+ { -+ dif = dif / max; -+ } -+ else -+ { -+ dif = 0; -+ } -+ -+ for (i=0;i<3;i++) -+ { -+ sample[i]*=dif; -+ } -+ } -+ - -- /* clamp with color normalization */ -- max = sample[ 0 ]; -- if( sample[ 1 ] > max ) -- max = sample[ 1 ]; -- if( sample[ 2 ] > max ) -- max = sample[ 2 ]; -- if( max > 255.0f ) -- VectorScale( sample, (255.0f / max), sample ); -- - /* compensate for ingame overbrighting/bitshifting */ - VectorScale( sample, (1.0f / lightmapCompensate), sample ); - -@@ -384,7 +420,7 @@ - #define NUDGE 0.5f - #define BOGUS_NUDGE -99999.0f - --static int MapSingleLuxel( rawLightmap_t *lm, surfaceInfo_t *info, bspDrawVert_t *dv, vec4_t plane, float pass, vec3_t stv[ 3 ], vec3_t ttv[ 3 ] ) -+static int MapSingleLuxel( rawLightmap_t *lm, surfaceInfo_t *info, bspDrawVert_t *dv, vec4_t plane, float pass, vec3_t stv[ 3 ], vec3_t ttv[ 3 ], vec3_t worldverts[ 3 ] ) - { - int i, x, y, numClusters, *clusters, pointCluster, *cluster; - float *luxel, *origin, *normal, d, lightmapSampleOffset; -@@ -392,6 +428,12 @@ - vec3_t pNormal; - vec3_t vecs[ 3 ]; - vec3_t nudged; -+ vec3_t cverts[ 3 ]; -+ vec3_t temp; -+ vec4_t sideplane, hostplane; -+ vec3_t origintwo; -+ int j, next; -+ float e; - float *nudge; - static float nudges[][ 2 ] = - { -@@ -485,6 +527,51 @@ - /* non axial lightmap projection (explicit xyz) */ - else - VectorCopy( dv->xyz, origin ); -+ -+ ////////////////////// -+ //27's test to make sure samples stay within the triangle boundaries -+ //1) Test the sample origin to see if it lays on the wrong side of any edge (x/y) -+ //2) if it does, nudge it onto the correct side. -+ -+ if (worldverts!=NULL) -+ { -+ for (j=0;j<3;j++) -+ { -+ VectorCopy(worldverts[j],cverts[j]); -+ } -+ PlaneFromPoints(hostplane,cverts[0],cverts[1],cverts[2]); -+ -+ for (j=0;j<3;j++) -+ { -+ for (i=0;i<3;i++) -+ { -+ //build plane using 2 edges and a normal -+ next=(i+1)%3; -+ -+ VectorCopy(cverts[next],temp); -+ VectorAdd(temp,hostplane,temp); -+ PlaneFromPoints(sideplane,cverts[i],cverts[ next ], temp); -+ -+ //planetest sample point -+ e=DotProduct(origin,sideplane); -+ e=e-sideplane[3]; -+ if (e>0) -+ { -+ //we're bad. -+ //VectorClear(origin); -+ //Move the sample point back inside triangle bounds -+ origin[0]-=sideplane[0]*(e+1); -+ origin[1]-=sideplane[1]*(e+1); -+ origin[2]-=sideplane[2]*(e+1); -+#ifdef DEBUG_27_1 -+ VectorClear(origin); -+#endif -+ } -+ } -+ } -+ } -+ -+ //////////////////////// - - /* planar surfaces have precalculated lightmap vectors for nudging */ - if( lm->plane != NULL ) -@@ -516,8 +603,13 @@ - else - origin[ lm->axisNum ] += lightmapSampleOffset; - -+ VectorCopy(origin,origintwo); -+ origintwo[0]+=vecs[2][0]; -+ origintwo[1]+=vecs[2][1]; -+ origintwo[2]+=vecs[2][2]; -+ - /* get cluster */ -- pointCluster = ClusterForPointExtFilter( origin, LUXEL_EPSILON, numClusters, clusters ); -+ pointCluster = ClusterForPointExtFilter( origintwo, LUXEL_EPSILON, numClusters, clusters ); - - /* another retarded hack, storing nudge count in luxel[ 1 ] */ - luxel[ 1 ] = 0.0f; -@@ -533,14 +625,14 @@ - for( i = 0; i < 3; i++ ) - { - /* set nudged point*/ -- nudged[ i ] = origin[ i ] + (nudge[ 0 ] * vecs[ 0 ][ i ]) + (nudge[ 1 ] * vecs[ 1 ][ i ]); -+ nudged[ i ] = origintwo[ i ] + (nudge[ 0 ] * vecs[ 0 ][ i ]) + (nudge[ 1 ] * vecs[ 1 ][ i ]); - } - nudge += 2; - - /* get pvs cluster */ - pointCluster = ClusterForPointExtFilter( nudged, LUXEL_EPSILON, numClusters, clusters ); //% + 0.625 ); -- if( pointCluster >= 0 ) -- VectorCopy( nudged, origin ); -+ //if( pointCluster >= 0 ) -+ // VectorCopy( nudged, origin ); - luxel[ 1 ] += 1.0f; - } - } -@@ -550,8 +642,8 @@ - { - VectorMA( dv->xyz, lightmapSampleOffset, dv->normal, nudged ); - pointCluster = ClusterForPointExtFilter( nudged, LUXEL_EPSILON, numClusters, clusters ); -- if( pointCluster >= 0 ) -- VectorCopy( nudged, origin ); -+ //if( pointCluster >= 0 ) -+ // VectorCopy( nudged, origin ); - luxel[ 1 ] += 1.0f; - } - -@@ -597,7 +689,7 @@ - than the distance between two luxels (thanks jc :) - */ - --static void MapTriangle_r( rawLightmap_t *lm, surfaceInfo_t *info, bspDrawVert_t *dv[ 3 ], vec4_t plane, vec3_t stv[ 3 ], vec3_t ttv[ 3 ] ) -+static void MapTriangle_r( rawLightmap_t *lm, surfaceInfo_t *info, bspDrawVert_t *dv[ 3 ], vec4_t plane, vec3_t stv[ 3 ], vec3_t ttv[ 3 ], vec3_t worldverts[ 3 ] ) - { - bspDrawVert_t mid, *dv2[ 3 ]; - int max; -@@ -645,7 +737,7 @@ - - /* split the longest edge and map it */ - LerpDrawVert( dv[ max ], dv[ (max + 1) % 3 ], &mid ); -- MapSingleLuxel( lm, info, &mid, plane, 1, stv, ttv ); -+ MapSingleLuxel( lm, info, &mid, plane, 1, stv, ttv, worldverts ); - - /* push the point up a little bit to account for fp creep (fixme: revisit this) */ - //% VectorMA( mid.xyz, 2.0f, mid.normal, mid.xyz ); -@@ -653,12 +745,12 @@ - /* recurse to first triangle */ - VectorCopy( dv, dv2 ); - dv2[ max ] = ∣ -- MapTriangle_r( lm, info, dv2, plane, stv, ttv ); -+ MapTriangle_r( lm, info, dv2, plane, stv, ttv, worldverts ); - - /* recurse to second triangle */ - VectorCopy( dv, dv2 ); - dv2[ (max + 1) % 3 ] = ∣ -- MapTriangle_r( lm, info, dv2, plane, stv, ttv ); -+ MapTriangle_r( lm, info, dv2, plane, stv, ttv, worldverts ); - } - - -@@ -674,6 +766,7 @@ - int i; - vec4_t plane; - vec3_t *stv, *ttv, stvStatic[ 3 ], ttvStatic[ 3 ]; -+ vec3_t worldverts[ 3 ]; - - - /* get plane if possible */ -@@ -699,16 +792,20 @@ - ttv = NULL; - } - -+ VectorCopy( dv[ 0 ]->xyz, worldverts[ 0 ] ); -+ VectorCopy( dv[ 1 ]->xyz, worldverts[ 1 ] ); -+ VectorCopy( dv[ 2 ]->xyz, worldverts[ 2 ] ); -+ - /* map the vertexes */ -- MapSingleLuxel( lm, info, dv[ 0 ], plane, 1, stv, ttv ); -- MapSingleLuxel( lm, info, dv[ 1 ], plane, 1, stv, ttv ); -- MapSingleLuxel( lm, info, dv[ 2 ], plane, 1, stv, ttv ); -+ MapSingleLuxel( lm, info, dv[ 0 ], plane, 1, stv, ttv, worldverts ); -+ MapSingleLuxel( lm, info, dv[ 1 ], plane, 1, stv, ttv, worldverts ); -+ MapSingleLuxel( lm, info, dv[ 2 ], plane, 1, stv, ttv, worldverts ); - - /* 2002-11-20: prefer axial triangle edges */ - if( mapNonAxial ) - { - /* subdivide the triangle */ -- MapTriangle_r( lm, info, dv, plane, stv, ttv ); -+ MapTriangle_r( lm, info, dv, plane, stv, ttv, worldverts ); - return qtrue; - } - -@@ -730,7 +827,7 @@ - dv2[ 2 ] = dv[ (i + 1) % 3 ]; - - /* map the degenerate triangle */ -- MapTriangle_r( lm, info, dv2, plane, stv, ttv ); -+ MapTriangle_r( lm, info, dv2, plane, stv, ttv, worldverts ); - } - } - -@@ -792,8 +889,8 @@ - LerpDrawVert( dv[ max + 2 ], dv[ (max + 3) % 4 ], &mid[ 1 ] ); - - /* map the vertexes */ -- MapSingleLuxel( lm, info, &mid[ 0 ], plane, 1, stv, ttv ); -- MapSingleLuxel( lm, info, &mid[ 1 ], plane, 1, stv, ttv ); -+ MapSingleLuxel( lm, info, &mid[ 0 ], plane, 1, stv, ttv, NULL ); -+ MapSingleLuxel( lm, info, &mid[ 1 ], plane, 1, stv, ttv, NULL ); - - /* 0 and 2 */ - if( max == 0 ) -@@ -878,10 +975,10 @@ - } - - /* map the vertexes */ -- MapSingleLuxel( lm, info, dv[ 0 ], plane, 1, stv, ttv ); -- MapSingleLuxel( lm, info, dv[ 1 ], plane, 1, stv, ttv ); -- MapSingleLuxel( lm, info, dv[ 2 ], plane, 1, stv, ttv ); -- MapSingleLuxel( lm, info, dv[ 3 ], plane, 1, stv, ttv ); -+ MapSingleLuxel( lm, info, dv[ 0 ], plane, 1, stv, ttv, NULL ); -+ MapSingleLuxel( lm, info, dv[ 1 ], plane, 1, stv, ttv, NULL ); -+ MapSingleLuxel( lm, info, dv[ 2 ], plane, 1, stv, ttv, NULL ); -+ MapSingleLuxel( lm, info, dv[ 3 ], plane, 1, stv, ttv, NULL ); - - /* subdivide the quad */ - MapQuad_r( lm, info, dv, plane, stv, ttv ); -@@ -1173,7 +1270,7 @@ - continue; - - /* map the fake vert */ -- MapSingleLuxel( lm, NULL, &fake, lm->plane, pass, NULL, NULL ); -+ MapSingleLuxel( lm, NULL, &fake, lm->plane, pass, NULL, NULL, NULL ); - } - } - } -@@ -1767,6 +1864,8 @@ - float tests[ 4 ][ 2 ] = { { 0.0f, 0 }, { 1, 0 }, { 0, 1 }, { 1, 1 } }; - trace_t trace; - float stackLightLuxels[ STACK_LL_SIZE ]; -+ vec3_t flood; -+ float *floodlight; - - - /* bail if this number exceeds the number of raw lightmaps */ -@@ -1963,22 +2062,32 @@ - deluxel = SUPER_DELUXEL( x, y ); - origin = SUPER_ORIGIN( x, y ); - normal = SUPER_NORMAL( x, y ); -- -- /* set contribution count */ -- lightLuxel[ 3 ] = 1.0f; -- -- /* setup trace */ -- trace.cluster = *cluster; -- VectorCopy( origin, trace.origin ); -- VectorCopy( normal, trace.normal ); -- -- /* get light for this sample */ -- LightContributionToSample( &trace ); -- VectorCopy( trace.color, lightLuxel ); -- -- /* add to count */ -- if( trace.color[ 0 ] || trace.color[ 1 ] || trace.color[ 2 ] ) -+ -+ ////////// 27's temp hack for testing edge clipping //// -+ if( origin[0]==0 && origin[1]==0 && origin[2]==0 ) -+ { -+ lightLuxel[ 1 ] = 255; -+ lightLuxel[ 3 ] = 1.0f; - totalLighted++; -+ } -+ else -+ { -+ /* set contribution count */ -+ lightLuxel[ 3 ] = 1.0f; -+ -+ /* setup trace */ -+ trace.cluster = *cluster; -+ VectorCopy( origin, trace.origin ); -+ VectorCopy( normal, trace.normal ); -+ -+ /* get light for this sample */ -+ LightContributionToSample( &trace ); -+ VectorCopy( trace.color, lightLuxel ); -+ -+ /* add to count */ -+ if( trace.color[ 0 ] || trace.color[ 1 ] || trace.color[ 2 ] ) -+ totalLighted++; -+ } - - /* add to light direction map (fixme: use luxel normal as starting point for deluxel?) */ - if( deluxemap ) -@@ -2223,6 +2332,78 @@ - FreeTraceLights( &trace ); - - /* ----------------------------------------------------------------- -+ floodlight pass -+ ----------------------------------------------------------------- */ -+ -+ if( floodlighty ) -+ { -+ /* walk lightmaps */ -+ for( lightmapNum = 0; lightmapNum < MAX_LIGHTMAPS; lightmapNum++ ) -+ { -+ /* early out */ -+ if( lm->superLuxels[ lightmapNum ] == NULL ) -+ continue; -+ -+ /* apply floodlight to each luxel */ -+ for( y = 0; y < lm->sh; y++ ) -+ { -+ for( x = 0; x < lm->sw; x++ ) -+ { -+ /* get cluster */ -+ cluster = SUPER_CLUSTER( x, y ); -+ //% if( *cluster < 0 ) -+ //% continue; -+ -+ /* get particulars */ -+ luxel = SUPER_LUXEL( lightmapNum, x, y ); -+ floodlight = SUPER_FLOODLIGHT( x, y ); -+ -+ flood[0]=floodlightRGB[0]*floodlightIntensity; -+ flood[1]=floodlightRGB[1]*floodlightIntensity; -+ flood[2]=floodlightRGB[2]*floodlightIntensity; -+ -+ /* scale light value */ -+ VectorScale( flood, *floodlight, flood ); -+ luxel[0]+=flood[0]; -+ luxel[1]+=flood[1]; -+ luxel[2]+=flood[2]; -+ -+ if (luxel[3]==0) luxel[3]=1; -+ } -+ } -+ } -+ } -+ -+ if (debugnormals) -+ { -+ for( lightmapNum = 0; lightmapNum < MAX_LIGHTMAPS; lightmapNum++ ) -+ { -+ /* early out */ -+ if( lm->superLuxels[ lightmapNum ] == NULL ) -+ continue; -+ -+ for( y = 0; y < lm->sh; y++ ) -+ { -+ for( x = 0; x < lm->sw; x++ ) -+ { -+ /* get cluster */ -+ cluster = SUPER_CLUSTER( x, y ); -+ //% if( *cluster < 0 ) -+ //% continue; -+ -+ /* get particulars */ -+ luxel = SUPER_LUXEL( lightmapNum, x, y ); -+ normal = SUPER_NORMAL ( x, y ); -+ -+ luxel[0]=(normal[0]*127)+127; -+ luxel[1]=(normal[1]*127)+127; -+ luxel[2]=(normal[2]*127)+127; -+ } -+ } -+ } -+ } -+ -+ /* ----------------------------------------------------------------- - dirt pass - ----------------------------------------------------------------- */ - -@@ -3112,7 +3293,7 @@ - int i, x, y, z, x1, y1, z1; - light_t *light, *light2, **owner; - bspLeaf_t *leaf; -- vec3_t origin, dir, mins, maxs, nullVector = { 0, 0, 0 }; -+ vec3_t origin, dir, mins, maxs; - float radius, intensity; - light_t *buckets[ 256 ]; - -@@ -3587,7 +3768,320 @@ - CreateTraceLightsForBounds( mins, maxs, normal, info->numSurfaceClusters, &surfaceClusters[ info->firstSurfaceCluster ], LIGHT_SURFACES, trace ); - } - -+///////////////////////////////////////////////////////////// - -+#define FLOODLIGHT_CONE_ANGLE 88 /* degrees */ -+#define FLOODLIGHT_NUM_ANGLE_STEPS 16 -+#define FLOODLIGHT_NUM_ELEVATION_STEPS 4 -+#define FLOODLIGHT_NUM_VECTORS (FLOODLIGHT_NUM_ANGLE_STEPS * FLOODLIGHT_NUM_ELEVATION_STEPS) - -+static vec3_t floodVectors[ FLOODLIGHT_NUM_VECTORS ]; -+static int numFloodVectors = 0; - -+void SetupFloodLight( void ) -+{ -+ int i, j; -+ float angle, elevation, angleStep, elevationStep; -+ const char *value; -+ double v1,v2,v3,v4,v5; -+ -+ /* note it */ -+ Sys_FPrintf( SYS_VRB, "--- SetupFloodLight ---\n" ); -+ -+ /* calculate angular steps */ -+ angleStep = DEG2RAD( 360.0f / FLOODLIGHT_NUM_ANGLE_STEPS ); -+ elevationStep = DEG2RAD( FLOODLIGHT_CONE_ANGLE / FLOODLIGHT_NUM_ELEVATION_STEPS ); -+ -+ /* iterate angle */ -+ angle = 0.0f; -+ for( i = 0, angle = 0.0f; i < FLOODLIGHT_NUM_ANGLE_STEPS; i++, angle += angleStep ) -+ { -+ /* iterate elevation */ -+ for( j = 0, elevation = elevationStep * 0.5f; j < FLOODLIGHT_NUM_ELEVATION_STEPS; j++, elevation += elevationStep ) -+ { -+ floodVectors[ numFloodVectors ][ 0 ] = sin( elevation ) * cos( angle ); -+ floodVectors[ numFloodVectors ][ 1 ] = sin( elevation ) * sin( angle ); -+ floodVectors[ numFloodVectors ][ 2 ] = cos( elevation ); -+ numFloodVectors++; -+ } -+ } -+ -+ /* emit some statistics */ -+ Sys_FPrintf( SYS_VRB, "%9d numFloodVectors\n", numFloodVectors ); - -+ /* floodlight */ -+ value = ValueForKey( &entities[ 0 ], "_floodlight" ); -+ -+ if( value[ 0 ] != '\0' ) -+ { -+ v1=v2=v3=0; -+ v4=floodlightDistance; -+ v5=floodlightIntensity; -+ -+ sscanf( value, "%lf %lf %lf %lf %lf", &v1, &v2, &v3, &v4, &v5); -+ -+ floodlightRGB[0]=v1; -+ floodlightRGB[1]=v2; -+ floodlightRGB[2]=v3; -+ -+ if (VectorLength(floodlightRGB)==0) -+ { -+ VectorSet(floodlightRGB,240,240,255); -+ } -+ -+ if (v4<1) v4=1024; -+ if (v5<1) v5=128; -+ -+ floodlightDistance=v4; -+ floodlightIntensity=v5; -+ -+ floodlighty = qtrue; -+ Sys_Printf( "FloodLighting enabled via worldspawn _floodlight key.\n" ); -+ } -+ else -+ { -+ VectorSet(floodlightRGB,240,240,255); -+ //floodlighty = qtrue; -+ //Sys_Printf( "FloodLighting enabled via worldspawn _floodlight key.\n" ); -+ } -+ VectorNormalize(floodlightRGB,floodlightRGB); -+} -+ -+//27 - lighttracer style ambient occlusion light hack. -+//Kudos to the dirtmapping author for most of this source. -+void FloodLightRawLightmap( int rawLightmapNum ) -+{ -+ int i, x, y, sx, sy, *cluster; -+ float *origin, *normal, *floodlight, *floodlight2, average, samples; -+ rawLightmap_t *lm; -+ surfaceInfo_t *info; -+ trace_t trace; -+ -+ /* bail if this number exceeds the number of raw lightmaps */ -+ if( rawLightmapNum >= numRawLightmaps ) -+ return; -+ -+ /* get lightmap */ -+ lm = &rawLightmaps[ rawLightmapNum ]; -+ -+ memset(&trace,0,sizeof(trace_t)); -+ /* setup trace */ -+ trace.testOcclusion = qtrue; -+ trace.forceSunlight = qfalse; -+ trace.twoSided = qtrue; -+ trace.recvShadows = lm->recvShadows; -+ trace.numSurfaces = lm->numLightSurfaces; -+ trace.surfaces = &lightSurfaces[ lm->firstLightSurface ]; -+ trace.inhibitRadius = DEFAULT_INHIBIT_RADIUS; -+ trace.testAll = qfalse; -+ trace.distance = 1024; -+ -+ /* twosided lighting (may or may not be a good idea for lightmapped stuff) */ -+ //trace.twoSided = qfalse; -+ for( i = 0; i < trace.numSurfaces; i++ ) -+ { -+ /* get surface */ -+ info = &surfaceInfos[ trace.surfaces[ i ] ]; -+ -+ /* check twosidedness */ -+ if( info->si->twoSided ) -+ { -+ trace.twoSided = qtrue; -+ break; -+ } -+ } -+ -+ /* gather dirt */ -+ for( y = 0; y < lm->sh; y++ ) -+ { -+ for( x = 0; x < lm->sw; x++ ) -+ { -+ /* get luxel */ -+ cluster = SUPER_CLUSTER( x, y ); -+ origin = SUPER_ORIGIN( x, y ); -+ normal = SUPER_NORMAL( x, y ); -+ floodlight = SUPER_FLOODLIGHT( x, y ); -+ -+ /* set default dirt */ -+ *floodlight = 0.0f; -+ -+ /* only look at mapped luxels */ -+ if( *cluster < 0 ) -+ continue; -+ -+ /* copy to trace */ -+ trace.cluster = *cluster; -+ VectorCopy( origin, trace.origin ); -+ VectorCopy( normal, trace.normal ); -+ -+ -+ -+ /* get dirt */ -+ *floodlight = FloodLightForSample( &trace ); -+ } -+ } -+ -+ /* testing no filtering */ -+ return; -+ -+ /* filter "dirt" */ -+ for( y = 0; y < lm->sh; y++ ) -+ { -+ for( x = 0; x < lm->sw; x++ ) -+ { -+ /* get luxel */ -+ cluster = SUPER_CLUSTER( x, y ); -+ floodlight = SUPER_FLOODLIGHT( x, y ); -+ -+ /* filter dirt by adjacency to unmapped luxels */ -+ average = *floodlight; -+ samples = 1.0f; -+ for( sy = (y - 1); sy <= (y + 1); sy++ ) -+ { -+ if( sy < 0 || sy >= lm->sh ) -+ continue; -+ -+ for( sx = (x - 1); sx <= (x + 1); sx++ ) -+ { -+ if( sx < 0 || sx >= lm->sw || (sx == x && sy == y) ) -+ continue; -+ -+ /* get neighboring luxel */ -+ cluster = SUPER_CLUSTER( sx, sy ); -+ floodlight2 = SUPER_FLOODLIGHT( sx, sy ); -+ if( *cluster < 0 || *floodlight2 <= 0.0f ) -+ continue; -+ -+ /* add it */ -+ average += *floodlight2; -+ samples += 1.0f; -+ } -+ -+ /* bail */ -+ if( samples <= 0.0f ) -+ break; -+ } -+ -+ /* bail */ -+ if( samples <= 0.0f ) -+ continue; -+ -+ /* scale dirt */ -+ *floodlight = average / samples; -+ } -+ } -+} -+ -+/* -+FloodLightForSample() -+calculates floodlight value for a given sample -+once again, kudos to the dirtmapping coder -+*/ -+float FloodLightForSample( trace_t *trace ) -+{ -+ int i; -+ float d; -+ float contribution; -+ int sub = 0; -+ float gatherLight, outLight; -+ vec3_t normal, worldUp, myUp, myRt, direction, displacement; -+ float dd; -+ int vecs = 0; -+ -+ gatherLight=0; -+ /* dummy check */ -+ //if( !dirty ) -+ // return 1.0f; -+ if( trace == NULL || trace->cluster < 0 ) -+ return 0.0f; -+ -+ -+ /* setup */ -+ dd = floodlightDistance; -+ VectorCopy( trace->normal, normal ); -+ -+ /* check if the normal is aligned to the world-up */ -+ if( normal[ 0 ] == 0.0f && normal[ 1 ] == 0.0f ) -+ { -+ if( normal[ 2 ] == 1.0f ) -+ { -+ VectorSet( myRt, 1.0f, 0.0f, 0.0f ); -+ VectorSet( myUp, 0.0f, 1.0f, 0.0f ); -+ } -+ else if( normal[ 2 ] == -1.0f ) -+ { -+ VectorSet( myRt, -1.0f, 0.0f, 0.0f ); -+ VectorSet( myUp, 0.0f, 1.0f, 0.0f ); -+ } -+ } -+ else -+ { -+ VectorSet( worldUp, 0.0f, 0.0f, 1.0f ); -+ CrossProduct( normal, worldUp, myRt ); -+ VectorNormalize( myRt, myRt ); -+ CrossProduct( myRt, normal, myUp ); -+ VectorNormalize( myUp, myUp ); -+ } -+ -+ /* iterate through ordered vectors */ -+ for( i = 0; i < numFloodVectors; i++ ) -+ { -+ if (floodlight_lowquality==qtrue) -+ { -+ if (rand()%10 != 0 ) continue; -+ } -+ -+ vecs++; -+ -+ /* transform vector into tangent space */ -+ direction[ 0 ] = myRt[ 0 ] * floodVectors[ i ][ 0 ] + myUp[ 0 ] * floodVectors[ i ][ 1 ] + normal[ 0 ] * floodVectors[ i ][ 2 ]; -+ direction[ 1 ] = myRt[ 1 ] * floodVectors[ i ][ 0 ] + myUp[ 1 ] * floodVectors[ i ][ 1 ] + normal[ 1 ] * floodVectors[ i ][ 2 ]; -+ direction[ 2 ] = myRt[ 2 ] * floodVectors[ i ][ 0 ] + myUp[ 2 ] * floodVectors[ i ][ 1 ] + normal[ 2 ] * floodVectors[ i ][ 2 ]; -+ -+ /* set endpoint */ -+ VectorMA( trace->origin, dd, direction, trace->end ); -+ -+ //VectorMA( trace->origin, 1, direction, trace->origin ); -+ -+ SetupTrace( trace ); -+ /* trace */ -+ TraceLine( trace ); -+ contribution=1; -+ -+ if (trace->compileFlags & C_SKY ) -+ { -+ contribution=1.0f; -+ } -+ else if ( trace->opaque ) -+ { -+ VectorSubtract( trace->hit, trace->origin, displacement ); -+ d=VectorLength( displacement ); -+ -+ // d=trace->distance; -+ //if (d>256) gatherDirt+=1; -+ contribution=d/dd; -+ if (contribution>1) contribution=1.0f; -+ -+ //gatherDirt += 1.0f - ooDepth * VectorLength( displacement ); -+ } -+ -+ gatherLight+=contribution; -+ } -+ -+ /* early out */ -+ if( gatherLight <= 0.0f ) -+ return 0.0f; -+ -+ sub=vecs; -+ -+ if (sub<1) sub=1; -+ gatherLight/=(sub); -+ -+ outLight=gatherLight; -+ if( outLight > 1.0f ) -+ outLight = 1.0f; -+ -+ /* return to sender */ -+ return outLight; -+} -+ -Index: tools/quake3/q3map2/light.c -=================================================================== ---- tools/quake3/q3map2/light.c (revision 158) -+++ tools/quake3/q3map2/light.c (working copy) -@@ -1378,6 +1378,56 @@ - break; - } - -+ /////// Floodlighting for point ////////////////// -+ //do our floodlight ambient occlusion loop, and add a single contribution based on the brightest dir -+ if (floodlighty) -+ { -+ int q; -+ float addSize,f; -+ vec3_t col,dir; -+ col[0]=col[1]=col[2]=floodlightIntensity; -+ dir[0]=dir[1]=0; -+ dir[2]=1; -+ -+ trace.testOcclusion = qtrue; -+ trace.forceSunlight = qfalse; -+ trace.inhibitRadius = DEFAULT_INHIBIT_RADIUS; -+ trace.testAll = qtrue; -+ -+ for (q=0;q<2;q++) -+ { -+ if (q==0) //upper hemisphere -+ { -+ trace.normal[0]=0; -+ trace.normal[1]=0; -+ trace.normal[2]=1; -+ } -+ else //lower hemisphere -+ { -+ trace.normal[0]=0; -+ trace.normal[1]=0; -+ trace.normal[2]=-1; -+ } -+ -+ f = FloodLightForSample(&trace); -+ -+ contributions[ numCon ].color[0]=col[0]*f; -+ contributions[ numCon ].color[1]=col[1]*f; -+ contributions[ numCon ].color[2]=col[2]*f; -+ -+ contributions[ numCon ].dir[0]=dir[0]; -+ contributions[ numCon ].dir[1]=dir[1]; -+ contributions[ numCon ].dir[2]=dir[2]; -+ -+ contributions[ numCon ].style = 0; -+ numCon++; -+ /* push average direction around */ -+ addSize = VectorLength( col ); -+ VectorMA( gp->dir, addSize, dir, gp->dir ); -+ } -+ } -+ ///////////////////// -+ - /* normalize to get primary light direction */ - VectorNormalize( gp->dir, gp->dir ); - -@@ -1420,6 +1470,9 @@ - - /* ambient light will be at 1/4 the value of directed light */ - /* (ydnar: nuke this in favor of more dramatic lighting?) */ -+ /* (PM: how about actually making it work? d=1 when it got here for single lights/sun :P */ -+// d = 0.25f; -+ /* (Hobbes: always setting it to .25 is hardly any better) */ - d = 0.25f * (1.0f - d); - VectorMA( gp->ambient[ j ], d, contributions[ i ].color, gp->ambient[ j ] ); - } -@@ -1661,6 +1714,12 @@ - RunThreadsOnIndividual( numRawLightmaps, qtrue, DirtyRawLightmap ); - } - -+ /* floodlight them up */ -+ if( floodlighty ) -+ { -+ Sys_Printf( "--- FloodlightRawLightmap ---\n" ); -+ RunThreadsOnIndividual( numRawLightmaps, qtrue, FloodLightRawLightmap ); -+ } - - /* ydnar: set up light envelopes */ - SetupEnvelopes( qfalse, fast ); -@@ -1836,6 +1895,14 @@ - i++; - } - -+ else if( !strcmp( argv[ i ], "-exposure" ) ) -+ { -+ f = atof( argv[ i + 1 ] ); -+ lightmapExposure = f; -+ Sys_Printf( "Lighting exposure set to %f\n", lightmapExposure ); -+ i++; -+ } -+ - else if( !strcmp( argv[ i ], "-compensate" ) ) - { - f = atof( argv[ i + 1 ] ); -@@ -2191,6 +2258,21 @@ - cpmaHack = qtrue; - Sys_Printf( "Enabling Challenge Pro Mode Asstacular Vertex Lighting Mode (tm)\n" ); - } -+ else if( !strcmp( argv[ i ], "-floodlight" ) ) -+ { -+ floodlighty = qtrue; -+ Sys_Printf( "FloodLighting enabled\n" ); -+ } -+ else if( !strcmp( argv[ i ], "-debugnormals" ) ) -+ { -+ debugnormals = qtrue; -+ Sys_Printf( "DebugNormals enabled\n" ); -+ } -+ else if( !strcmp( argv[ i ], "-lowquality" ) ) -+ { -+ floodlight_lowquality = qtrue; -+ Sys_Printf( "Low Quality FloodLighting enabled\n" ); -+ } - - /* r7: dirtmapping */ - else if( !strcmp( argv[ i ], "-dirty" ) ) -@@ -2279,6 +2361,7 @@ - /* ydnar: set up optimization */ - SetupBrushes(); - SetupDirt(); -+ SetupFloodLight(); - SetupSurfaceLightmaps(); - - /* initialize the surface facet tracing */ -Index: tools/quake3/q3map2/game_etut.h -=================================================================== ---- tools/quake3/q3map2/game_etut.h (revision 158) -+++ tools/quake3/q3map2/game_etut.h (working copy) -@@ -148,6 +148,7 @@ - qfalse, /* wolf lighting model? */ - 128, /* lightmap width/height */ - 2.2f, /* lightmap gamma */ -+ 1.0f, /* lightmap exposure */ - 1.0f, /* lightmap compensate */ - "IBSP", /* bsp file prefix */ - 47, /* bsp file version */ -Index: tools/quake3/q3map2/brush.c -=================================================================== ---- tools/quake3/q3map2/brush.c (revision 158) -+++ tools/quake3/q3map2/brush.c (working copy) -@@ -78,7 +78,7 @@ - - - /* count brushes */ -- for( brushes; brushes != NULL; brushes = brushes->next ) -+ for( ; brushes != NULL; brushes = brushes->next ) - c++; - return c; - } -@@ -122,7 +122,7 @@ - - - /* error check */ -- if( *((int*) b) == 0xFEFEFEFE ) -+ if( *((unsigned int*) b) == 0xFEFEFEFE ) - { - Sys_FPrintf( SYS_VRB, "WARNING: Attempt to free an already freed brush!\n" ); - return; -@@ -135,7 +135,7 @@ - - /* ydnar: overwrite it */ - memset( b, 0xFE, (int) &(((brush_t*) 0)->sides[ b->numsides ]) ); -- *((int*) b) = 0xFEFEFEFE; -+ *((unsigned int*) b) = 0xFEFEFEFE; - - /* free it */ - free( b ); -@@ -156,7 +156,7 @@ - - - /* walk brush list */ -- for( brushes; brushes != NULL; brushes = next ) -+ for( ; brushes != NULL; brushes = next ) - { - next = brushes->next; - FreeBrush( brushes ); -Index: tools/quake3/q3map2/game_jk2.h -=================================================================== ---- tools/quake3/q3map2/game_jk2.h (revision 158) -+++ tools/quake3/q3map2/game_jk2.h (working copy) -@@ -64,6 +64,7 @@ - qfalse, /* wolf lighting model? */ - 128, /* lightmap width/height */ - 1.0f, /* lightmap gamma */ -+ 1.0f, /* lightmap exposure */ - 1.0f, /* lightmap compensate */ - "RBSP", /* bsp file prefix */ - 1, /* bsp file version */ -Index: tools/quake3/q3map2/lightmaps_ydnar.c -=================================================================== ---- tools/quake3/q3map2/lightmaps_ydnar.c (revision 158) -+++ tools/quake3/q3map2/lightmaps_ydnar.c (working copy) -@@ -414,6 +414,12 @@ - lm->superNormals = safe_malloc( size ); - memset( lm->superNormals, 0, size ); - -+ /* allocate floodlight map storage */ -+ size = lm->sw * lm->sh * SUPER_FLOODLIGHT_SIZE * sizeof( float ); -+ if( lm->superFloodLight == NULL ) -+ lm->superFloodLight = safe_malloc( size ); -+ memset( lm->superFloodLight, 0, size ); -+ - /* allocate cluster map storage */ - size = lm->sw * lm->sh * sizeof( int ); - if( lm->superClusters == NULL ) -Index: tools/quake3/q3map2/game_ja.h -=================================================================== ---- tools/quake3/q3map2/game_ja.h (revision 158) -+++ tools/quake3/q3map2/game_ja.h (working copy) -@@ -67,6 +67,7 @@ - qfalse, /* wolf lighting model? */ - 128, /* lightmap width/height */ - 1.0f, /* lightmap gamma */ -+ 1.0f, /* lightmap exposure */ - 1.0f, /* lightmap compensate */ - "RBSP", /* bsp file prefix */ - 1, /* bsp file version */ -Index: tools/quake3/q3map2/game_tremulous.h -=================================================================== ---- tools/quake3/q3map2/game_tremulous.h (revision 158) -+++ tools/quake3/q3map2/game_tremulous.h (working copy) -@@ -70,6 +70,7 @@ - qfalse, /* wolf lighting model? */ - 128, /* lightmap width/height */ - 1.0f, /* lightmap gamma */ -+ 1.0f, /* lightmap exposure */ - 1.0f, /* lightmap compensate */ - "IBSP", /* bsp file prefix */ - 46, /* bsp file version */ -Index: tools/quake3/q3map2/game_wolfet.h -=================================================================== ---- tools/quake3/q3map2/game_wolfet.h (revision 158) -+++ tools/quake3/q3map2/game_wolfet.h (working copy) -@@ -66,6 +66,7 @@ - qtrue, /* wolf lighting model? */ - 128, /* lightmap width/height */ - 1.0f, /* lightmap gamma */ -+ 1.0f, /* lightmap exposure */ - 1.0f, /* lightmap compensate */ - "IBSP", /* bsp file prefix */ - 47, /* bsp file version */ -Index: tools/quake3/q3map2/model.c -=================================================================== ---- tools/quake3/q3map2/model.c (revision 158) -+++ tools/quake3/q3map2/model.c (working copy) -@@ -266,7 +266,7 @@ - continue; - - /* fix the surface's normals */ -- PicoFixSurfaceNormals( surface ); -+ //PicoFixSurfaceNormals( surface ); - - /* allocate a surface (ydnar: gs mods) */ - ds = AllocDrawSurface( SURFACE_TRIANGLES ); -@@ -521,7 +521,15 @@ - else - free( buildBrush ); - } -+ else -+ { -+ Sys_Printf( "WARNING: Model %s unable to generate brush - Case 1.\n", name ); -+ } - } -+ else -+ { -+ Sys_Printf( "WARNING: Model %s unable to generate brush - Case 2.\n", name ); -+ } - } - } - } -Index: tools/quake3/q3map2/light_bounce.c -=================================================================== ---- tools/quake3/q3map2/light_bounce.c (revision 158) -+++ tools/quake3/q3map2/light_bounce.c (working copy) -@@ -510,7 +510,7 @@ - break; - - case MST_TRIANGLE_SOUP: -- numTriangleDiffuseLights; -+ numTriangleDiffuseLights++; - break; - - case MST_PATCH: -Index: tools/quake3/q3map2/game_wolf.h -=================================================================== ---- tools/quake3/q3map2/game_wolf.h (revision 158) -+++ tools/quake3/q3map2/game_wolf.h (working copy) -@@ -129,6 +129,7 @@ - qtrue, /* wolf lighting model? */ - 128, /* lightmap width/height */ - 1.0f, /* lightmap gamma */ -+ 1.0f, /* lightmap exposure */ - 1.0f, /* lightmap compensate */ - "IBSP", /* bsp file prefix */ - 47, /* bsp file version */ -Index: tools/quake3/q3map2/game_sof2.h -=================================================================== ---- tools/quake3/q3map2/game_sof2.h (revision 158) -+++ tools/quake3/q3map2/game_sof2.h (working copy) -@@ -139,6 +139,7 @@ - qfalse, /* wolf lighting model? */ - 128, /* lightmap width/height */ - 1.0f, /* lightmap gamma */ -+ 1.0f, /* lightmap exposure */ - 1.0f, /* lightmap compensate */ - "RBSP", /* bsp file prefix */ - 1, /* bsp file version */ -Index: tools/quake3/q3map2/q3map2.h -=================================================================== ---- tools/quake3/q3map2/q3map2.h (revision 158) -+++ tools/quake3/q3map2/q3map2.h (working copy) -@@ -35,8 +35,8 @@ - - - /* version */ --#define Q3MAP_VERSION "2.5.17" --#define Q3MAP_MOTD "Last one turns the lights off" -+#define Q3MAP_VERSION "2.5.17 base - FS_20g" -+#define Q3MAP_MOTD "Sorry, it doesn't match my furniture." - - - -@@ -267,6 +267,7 @@ - #define SUPER_NORMAL_SIZE 4 - #define SUPER_DELUXEL_SIZE 3 - #define BSP_DELUXEL_SIZE 3 -+#define SUPER_FLOODLIGHT_SIZE 1 - - #define VERTEX_LUXEL( s, v ) (vertexLuxels[ s ] + ((v) * VERTEX_LUXEL_SIZE)) - #define RAD_VERTEX_LUXEL( s, v )(radVertexLuxels[ s ] + ((v) * VERTEX_LUXEL_SIZE)) -@@ -279,6 +280,7 @@ - #define SUPER_ORIGIN( x, y ) (lm->superOrigins + ((((y) * lm->sw) + (x)) * SUPER_ORIGIN_SIZE)) - #define SUPER_NORMAL( x, y ) (lm->superNormals + ((((y) * lm->sw) + (x)) * SUPER_NORMAL_SIZE)) - #define SUPER_DIRT( x, y ) (lm->superNormals + ((((y) * lm->sw) + (x)) * SUPER_NORMAL_SIZE) + 3) /* stash dirtyness in normal[ 3 ] */ -+#define SUPER_FLOODLIGHT( x, y ) (lm->superFloodLight + ((((y) * lm->sw) + (x)) * SUPER_FLOODLIGHT_SIZE) ) - - - -@@ -543,6 +545,7 @@ - qboolean wolfLight; /* when true, lights work like wolf q3map */ - int lightmapSize; /* bsp lightmap width/height */ - float lightmapGamma; /* default lightmap gamma */ -+ float lightmapExposure; /* default lightmap exposure */ - float lightmapCompensate; /* default lightmap compensate value */ - char *bspIdent; /* 4-letter bsp file prefix */ - int bspVersion; /* bsp version to use */ -@@ -1392,6 +1395,7 @@ - - float *superDeluxels; /* average light direction */ - float *bspDeluxels; -+ float *superFloodLight; - } - rawLightmap_t; - -@@ -1704,6 +1708,10 @@ - float DirtForSample( trace_t *trace ); - void DirtyRawLightmap( int num ); - -+void SetupFloodLight(); -+float FloodLightForSample( trace_t *trace ); -+void FloodLightRawLightmap( int num ); -+ - void IlluminateRawLightmap( int num ); - void IlluminateVertexes( int num ); - -@@ -2098,6 +2106,13 @@ - Q_EXTERN float dirtScale Q_ASSIGN( 1.0f ); - Q_EXTERN float dirtGain Q_ASSIGN( 1.0f ); - -+Q_EXTERN qboolean debugnormals Q_ASSIGN( qfalse ); -+Q_EXTERN qboolean floodlighty Q_ASSIGN( qfalse ); -+Q_EXTERN qboolean floodlight_lowquality Q_ASSIGN( qfalse ); -+Q_EXTERN vec3_t floodlightRGB; -+Q_EXTERN float floodlightIntensity Q_ASSIGN( 512 ); -+Q_EXTERN float floodlightDistance Q_ASSIGN( 1024 ); -+ - Q_EXTERN qboolean dump Q_ASSIGN( qfalse ); - Q_EXTERN qboolean debug Q_ASSIGN( qfalse ); - Q_EXTERN qboolean debugUnused Q_ASSIGN( qfalse ); -@@ -2117,6 +2132,7 @@ - - /* ydnar: lightmap gamma/compensation */ - Q_EXTERN float lightmapGamma Q_ASSIGN( 1.0f ); -+Q_EXTERN float lightmapExposure Q_ASSIGN( 1.0f ); - Q_EXTERN float lightmapCompensate Q_ASSIGN( 1.0f ); - - /* ydnar: for runtime tweaking of falloff tolerance */ -Index: tools/quake3/q3map2/path_init.c -=================================================================== ---- tools/quake3/q3map2/path_init.c (revision 158) -+++ tools/quake3/q3map2/path_init.c (working copy) -@@ -383,7 +383,7 @@ - /* remove processed arguments */ - for( i = 0, j = 0, k = 0; i < *argc && j < *argc; i++, j++ ) - { -- for( j; j < *argc && argv[ j ] == NULL; j++ ); -+ for( ; j < *argc && argv[ j ] == NULL; j++ ); - argv[ i ] = argv[ j ]; - if( argv[ i ] != NULL ) - k++; -Index: tools/quake3/q3map2/game_qfusion.h -=================================================================== ---- tools/quake3/q3map2/game_qfusion.h (revision 158) -+++ tools/quake3/q3map2/game_qfusion.h (working copy) -@@ -115,6 +115,7 @@ - qfalse, /* wolf lighting model? */ - 512, /* lightmap width/height */ - 1.0f, /* lightmap gamma */ -+ 1.0f, /* lightmap exposure */ - 1.0f, /* lightmap compensate */ - "FBSP", /* bsp file prefix */ - 1, /* bsp file version */ -Index: tools/quake3/q3map2/game_tenebrae.h -=================================================================== ---- tools/quake3/q3map2/game_tenebrae.h (revision 158) -+++ tools/quake3/q3map2/game_tenebrae.h (working copy) -@@ -112,6 +112,7 @@ - qfalse, /* wolf lighting model? */ - 512, /* lightmap width/height */ - 2.0f, /* lightmap gamma */ -+ 1.0f, /* lightmap exposure */ - 1.0f, /* lightmap compensate */ - "IBSP", /* bsp file prefix */ - 46, /* bsp file version */ -Index: tools/quake3/q3map2/q3map2.vcproj -=================================================================== ---- tools/quake3/q3map2/q3map2.vcproj (revision 158) -+++ tools/quake3/q3map2/q3map2.vcproj (working copy) -@@ -180,7 +180,7 @@ - Name="VCLinkerTool" - AdditionalOptions="/MACHINE:I386" - AdditionalDependencies="glib-2.0.lib wsock32.lib libxml2.lib libpng.lib libmhash.lib" -- OutputFile=".\Release/q3map2.exe" -+ OutputFile=".\Release/q3map2_fs_20g.exe" - LinkIncremental="1" - SuppressStartupBanner="true" - AdditionalLibraryDirectories=""..\..\..\..\mhash-0.9\win32\libmhash\Release";"..\..\..\..\libxml2-2.6\lib";"..\..\..\..\gtk2-2.10\lib"" -Index: tools/quake3/q3map2/game_quake3.h -=================================================================== ---- tools/quake3/q3map2/game_quake3.h (revision 158) -+++ tools/quake3/q3map2/game_quake3.h (working copy) -@@ -112,6 +112,7 @@ - qfalse, /* wolf lighting model? */ - 128, /* lightmap width/height */ - 1.0f, /* lightmap gamma */ -+ 1.0f, /* lightmap exposure */ - 1.0f, /* lightmap compensate */ - "IBSP", /* bsp file prefix */ - 46, /* bsp file version */ -Index: tools/quake3/q3map2/game_ef.h -=================================================================== ---- tools/quake3/q3map2/game_ef.h (revision 158) -+++ tools/quake3/q3map2/game_ef.h (working copy) -@@ -113,6 +113,7 @@ - qfalse, /* wolf lighting model? */ - 128, /* lightmap width/height */ - 1.0f, /* lightmap gamma */ -+ 1.0f, /* lightmap exposure */ - 1.0f, /* lightmap compensate */ - "IBSP", /* bsp file prefix */ - 46, /* bsp file version */ -Index: tools/quake3/q3map2/surface.c -=================================================================== ---- tools/quake3/q3map2/surface.c (revision 158) -+++ tools/quake3/q3map2/surface.c (working copy) -@@ -304,7 +304,7 @@ - out = &mapDrawSurfs[ i ]; - - /* walk the surface list again until a proper surface is found */ -- for( j; j < numMapDrawSurfs; j++ ) -+ for( ; j < numMapDrawSurfs; j++ ) - { - /* get in surface */ - in = &mapDrawSurfs[ j ]; -@@ -484,7 +484,7 @@ - - - /* walk the list of surfaces */ -- for( numSurfs; numSurfs > 0; numSurfs--, ds++ ) -+ for( ; numSurfs > 0; numSurfs--, ds++ ) - { - /* ignore bogus (or flare) surfaces */ - if( ds->type == SURFACE_BAD || ds->numVerts <= 0 ) -Index: tools/quake3/q3map2/shaders.c -=================================================================== ---- tools/quake3/q3map2/shaders.c (revision 158) -+++ tools/quake3/q3map2/shaders.c (working copy) -@@ -793,8 +793,14 @@ - } - - if( VectorLength( si->color ) <= 0.0f ) -+ { - ColorNormalize( color, si->color ); -- VectorScale( color, (1.0f / count), si->averageColor ); -+ VectorScale( color, (1.0f / count), si->averageColor ); -+ } -+ else -+ { -+ VectorCopy( si->color, si->averageColor ); -+ } - } - - -@@ -1896,12 +1902,14 @@ - si->styleMarker = 2; - - /* ydnar: default to searching for q3map_ */ -- else -+#if 0 -+ else - { -- //% Sys_FPrintf( SYS_VRB, "Attempting to match %s with a known surfaceparm\n", token ); -+ Sys_FPrintf( SYS_VRB, "Attempting to match %s with a known surfaceparm\n", token ); - if( ApplySurfaceParm( &token[ 6 ], &si->contentFlags, &si->surfaceFlags, &si->compileFlags ) == qfalse ) -- ;//% Sys_Printf( "WARNING: Unknown q3map_* directive \"%s\"\n", token ); -+ Sys_Printf( "WARNING: Unknown q3map_* directive \"%s\"\n", token ); - } -+#endif - } - - -Index: tools/quake3/q3map2/mesh.c -=================================================================== ---- tools/quake3/q3map2/mesh.c (revision 158) -+++ tools/quake3/q3map2/mesh.c (working copy) -@@ -563,7 +563,7 @@ - } - - /* keep chopping */ -- for( iterations; iterations > 0; iterations-- ) -+ for( ; iterations > 0; iterations-- ) - { - /* horizontal subdivisions */ - for( j = 0; j + 2 < out.width; j += 4 ) -Index: libs/picomodel/pm_ase.c -=================================================================== ---- libs/picomodel/pm_ase.c (revision 158) -+++ libs/picomodel/pm_ase.c (working copy) -@@ -32,6 +32,7 @@ - - ----------------------------------------------------------------------------- */ - -+void Sys_Printf (const char *format, ...); - - /* marker */ - #define PM_ASE_C -@@ -253,7 +254,6 @@ - struct aseVertex_s - { - picoVec3_t xyz; -- picoVec3_t normal; - picoIndex_t id; - }; - -@@ -276,6 +276,8 @@ - picoIndex_t smoothingGroup; - picoIndex_t materialId; - picoIndex_t subMaterialId; -+ picoVec3_t facenormal; -+ picoVec3_t vertexnormal[3]; - }; - typedef aseFace_t* aseFacesIter_t; - -@@ -455,33 +457,157 @@ - - #endif - -+static int VectorCompareExtn( picoVec3_t n1, picoVec3_t n2, float epsilon ) -+{ -+ int i; -+ -+ -+ /* test */ -+ for( i= 0; i < 3; i++ ) -+ if( fabs( n1[ i ] - n2[ i ]) > epsilon ) -+ return -1; -+ return 1; -+} -+ -+#define CrossProductTemp(a,b,c) ((c)[0]=(a)[1]*(b)[2]-(a)[2]*(b)[1],(c)[1]=(a)[2]*(b)[0]-(a)[0]*(b)[2],(c)[2]=(a)[0]*(b)[1]-(a)[1]*(b)[0]) -+ - static void _ase_submit_triangles( picoModel_t* model , aseMaterial_t* materials , aseVertex_t* vertices, aseTexCoord_t* texcoords, aseColor_t* colors, aseFace_t* faces, int numFaces ) - { -- aseFacesIter_t i = faces, end = faces + numFaces; -- for(; i != end; ++i) -+ -+ picoVec3_t accum; -+ int index; -+ int counter; -+ aseFacesIter_t i = faces, end = faces + numFaces; -+ counter=0; -+ -+ //rebuild normals -+ for(i=faces; i != end; ++i) -+ { -+ -+ //&(*i).facenormal -+ //vec3_t v1, v2; -+ //VectorSubtract(va, vb, v1); -+ //VectorSubtract(vc, vb, v2); -+ //CrossProduct(v1, v2, out); -+ -+ picoVec3_t a,b,c; -+ picoVec3_t v1,v2,v3; -+ int j; -+ counter++; -+ for (j=0;j<3;j++) -+ { -+ a[j] = vertices[(*i).indices[0]].xyz[j]; -+ b[j] = vertices[(*i).indices[1]].xyz[j]; -+ c[j] = vertices[(*i).indices[2]].xyz[j]; -+ } -+ for (j=0;j<3;j++) -+ { -+ v1[j]=a[j]-b[j]; -+ v2[j]=c[j]-b[j]; -+ } -+ -+ CrossProductTemp(v1,v2,v3); -+ _pico_normalize_vec(v3); -+ (*i).facenormal[0]=v3[0]; -+ (*i).facenormal[1]=v3[1]; -+ (*i).facenormal[2]=v3[2]; -+ -+ -+ } -+ -+ -+ //if (counter>0) Sys_Printf( "Rebuilding %d Normals\n", counter * 3 ); -+ for(i=faces; i != end; ++i) - { -- /* look up the shader for the material/submaterial pair */ -+ /* look up the shader for the material/submaterial pair */ - aseSubMaterial_t* subMtl = _ase_get_submaterial_or_default( materials, (*i).materialId, (*i).subMaterialId ); -- if( subMtl == NULL ) -+ -+ if( subMtl == NULL ) - { - return; - } - - { - picoVec3_t* xyz[3]; -+ picoVec3_t *a[3]; - picoVec3_t* normal[3]; - picoVec2_t* st[3]; - picoColor_t* color[3]; - picoIndex_t smooth[3]; -- int j; -- /* we pull the data from the vertex, color and texcoord arrays using the face index data */ -- for ( j = 0 ; j < 3 ; j ++ ) -+ -+ int j,z; -+ -+ -+ -+ /* we pull the data from the vertex, color and texcoord arrays using the face index data */ -+ for ( j = 0 ; j < 3 ; j ++ ) - { -- xyz[j] = &vertices[(*i).indices[j]].xyz; -- normal[j] = &vertices[(*i).indices[j]].normal; -+ aseFacesIter_t q = faces; -+ aseFacesIter_t qend = faces + numFaces; -+ -+ xyz[j] = &vertices[(*i).indices[j]].xyz; -+ -+ // Use Face normal -+ normal[j] = &(*i).facenormal; -+ -+ -+ //Oooor we can use the smoothing group -+ -+ //Slow method, but testing -+ //Find All faces that use this vertex, average their facenormals. -+ // skip where smoothgroups both equal 0, or don't have any shared bits (x & y) -+ index=(*i).indices[j]; -+ -+// accum[0]=0; -+ // accum[1]=0; -+ // accum[2]=0; -+ accum[0]=(*i).facenormal[0]; -+ accum[1]=(*i).facenormal[1]; -+ accum[2]=(*i).facenormal[2]; -+ counter=1; -+ -+ -+ z=0; -+ for(; q != qend; ++q) -+ { -+ z++; -+ if (q==i) -+ continue; -+ // if ( (*q).indices[0]==index || (*q).indices[1]==index || (*q).indices[2]==index) -+ a[0]= &vertices[(*q).indices[0] ].xyz; -+ a[1]= &vertices[(*q).indices[1] ].xyz; -+ a[2]= &vertices[(*q).indices[2] ].xyz; -+ -+ if ( VectorCompareExtn(*a[0],*xyz[j],0.01f)>0 || -+ VectorCompareExtn(*a[1],*xyz[j],0.01f)>0 || -+ VectorCompareExtn(*a[2],*xyz[j],0.01f)>0 -+ ) -+ { -+ if ( (*i).smoothingGroup==0 && (*q).smoothingGroup ==0 ) -+ continue; -+ -+ if ( (*i).smoothingGroup & (*q).smoothingGroup ) -+ { -+ accum[0]+=(*q).facenormal[0]; -+ accum[1]+=(*q).facenormal[1]; -+ accum[2]+=(*q).facenormal[2]; -+ -+ counter++; -+ -+ } -+ } -+ } -+ _pico_normalize_vec(accum); -+ -+ (*i).vertexnormal[j][0]=accum[0]; -+ (*i).vertexnormal[j][1]=accum[1]; -+ (*i).vertexnormal[j][2]=accum[2]; -+ normal[j]=&(*i).vertexnormal[j]; -+ -+ - st[j] = &texcoords[(*i).indices[j + 3]].texcoord; -- -- if( colors != NULL && (*i).indices[j + 6] >= 0 ) -+ -+ if( colors != NULL && (*i).indices[j + 6] >= 0 ) - { - color[j] = &colors[(*i).indices[j + 6]].color; - } -@@ -490,30 +616,18 @@ - color[j] = &white; - } - -- smooth[j] = (vertices[(*i).indices[j]].id * (1 << 16)) + (*i).smoothingGroup; /* don't merge vertices */ -+ smooth[j] = 0;// (vertices[(*i).indices[j]].id * (1 << 16)) + (*i).smoothingGroup; /* don't merge vertices */ - - } - - /* submit the triangle to the model */ - PicoAddTriangleToModel ( model , xyz , normal , 1 , st , 1 , color , subMtl->shader, smooth ); - } -+ - } - } - --static void shadername_convert(char* shaderName) --{ -- /* unix-style path separators */ -- char* s = shaderName; -- for(; *s != '\0'; ++s) -- { -- if(*s == '\\') -- { -- *s = '/'; -- } -- } --} - -- - /* _ase_load: - * loads a 3dsmax ase model file. - */ -@@ -534,6 +648,9 @@ - int numColorVertices = 0; - int numColorVertexFaces = 0; - int vertexId = 0; -+ int currentVertexFace=0; -+ int currentVertexIndex=0; -+ int counter=0; - - aseMaterial_t* materials = NULL; - -@@ -610,10 +727,11 @@ - } - else if (!_pico_stricmp(p->token,"*mesh_numvertex")) - { -- if (!_pico_parse_int( p, &numVertices) ) -+ if (!_pico_parse_int( p, &numVertices) ) - _ase_error_return("Missing MESH_NUMVERTEX value"); - - vertices = _pico_calloc(numVertices, sizeof(aseVertex_t)); -+ currentVertexIndex=0; - } - else if (!_pico_stricmp(p->token,"*mesh_numfaces")) - { -@@ -621,6 +739,7 @@ - _ase_error_return("Missing MESH_NUMFACES value"); - - faces = _pico_calloc(numFaces, sizeof(aseFace_t)); -+ - } - else if (!_pico_stricmp(p->token,"*mesh_numtvertex")) - { -@@ -685,7 +804,20 @@ - - vertices[index].id = vertexId++; - } -- /* model mesh vertex normal */ -+ else if (!_pico_stricmp(p->token,"*mesh_facenormal")) -+ { -+ //Grab the faceindex for the next vertex normals. -+ if( numVertices == 0 ) -+ _ase_error_return("Vertex parse error (facenormals)"); -+ -+ if (!_pico_parse_int( p,¤tVertexFace )) -+ _ase_error_return("Vertex parse error"); -+ -+ if (!_pico_parse_vec( p,faces[currentVertexFace].facenormal )) -+ _ase_error_return("Vertex parse error"); -+ -+ } -+ /* model mesh vertex normal */ - else if (!_pico_stricmp(p->token,"*mesh_vertexnormal")) - { - int index; -@@ -696,10 +828,25 @@ - /* get vertex data (orig: index +y -x +z) */ - if (!_pico_parse_int( p,&index )) - _ase_error_return("Vertex parse error"); -- if (!_pico_parse_vec( p,vertices[index].normal )) -+ -+ //^^ Index is 'wrong' in .ase models. they reference the same vert index with multiple normals.. -+ // I've tried, this is a lost cause. Use the SG's -+ // -+ /* -+ -+ if (!_pico_parse_vec( p,vertices[counter].normal )) - _ase_error_return("Vertex parse error"); -+ vertices[counter].faceid=index; -+ counter++; -+ */ - } - /* model mesh face */ -+ else if (!_pico_stricmp(p->token,"*mesh_normals")) -+ { -+ // counter=0; //part of the above vertex normals fix -+ } -+ -+ /* model mesh face */ - else if (!_pico_stricmp(p->token,"*mesh_face")) - { - picoIndex_t indexes[3]; -@@ -736,8 +883,35 @@ - } - if (!_pico_stricmp (p->token,"*MESH_SMOOTHING" )) - { -- _pico_parse_int ( p , &faces[index].smoothingGroup ); -- } -+ int total=0; -+ char* point; -+ char* start; -+ _pico_parse(p,0); -+ -+ point=p->token; -+ start=point; -+ faces[index].smoothingGroup=0; -+ -+ //Super dodgy comma delimited string parse -+ while (*point<'A') -+ { -+ if (*point<=32 || *point==',') -+ { -+ total=atoi(start); -+ if (total!=0) -+ { -+ faces[index].smoothingGroup+=1<token,"*MESH_MTLID" )) - { - _pico_parse_int ( p , &faces[index].subMaterialId ); -@@ -755,19 +929,19 @@ - int index; - - if( numVertices == 0 ) -- _ase_error_return("Texture Vertex parse error"); -+ _ase_error_return("Vertex parse error"); - - /* get uv vertex index */ -- if (!_pico_parse_int( p,&index ) || index >= numTextureVertices) -- _ase_error_return("Texture vertex parse error"); -+ if (!_pico_parse_int( p,&index )) -+ _ase_error_return("UV vertex parse error"); - - /* get uv vertex s */ - if (!_pico_parse_float( p,&texcoords[index].texcoord[0] )) -- _ase_error_return("Texture vertex parse error"); -+ _ase_error_return("UV vertex parse error"); - - /* get uv vertex t */ - if (!_pico_parse_float( p,&texcoords[index].texcoord[1] )) -- _ase_error_return("Texture vertex parse error"); -+ _ase_error_return("UV vertex parse error"); - - /* ydnar: invert t */ - texcoords[index].texcoord[ 1 ] = 1.0f - texcoords[index].texcoord[ 1 ]; -@@ -831,6 +1005,13 @@ - - /* leave alpha alone since we don't get any data from the ASE format */ - colors[index].color[3] = 255; -+ -+ /* 27 hack, red as alpha */ -+ colors[index].color[3]=colors[index].color[0]; -+ colors[index].color[0]=255; -+ colors[index].color[1]=255; -+ colors[index].color[2]=255; -+ - } - /* model color face */ - else if (!_pico_stricmp(p->token,"*mesh_cface")) -@@ -900,7 +1081,6 @@ - { - /* set material name */ - _pico_first_token( materialName ); -- shadername_convert(materialName); - PicoSetShaderName( shader, materialName); - - /* set shader's transparency */ -@@ -1085,7 +1265,6 @@ - } - - /* set material name */ -- shadername_convert(materialName); - PicoSetShaderName( shader,materialName ); - - /* set shader's transparency */ -@@ -1115,8 +1294,18 @@ - char* p = mapname; - - /* convert to shader-name format */ -- shadername_convert(mapname); - { -+ /* unix-style path separators */ -+ char* s = mapname; -+ for(; *s != '\0'; ++s) -+ { -+ if(*s == '\\') -+ { -+ *s = '/'; -+ } -+ } -+ } -+ { - /* remove extension */ - char* last_period = strrchr(p, '.'); - if(last_period != NULL) -@@ -1125,14 +1314,32 @@ - } - } - -- /* find shader path */ -+ /* find game root */ - for(; *p != '\0'; ++p) - { -- if(_pico_strnicmp(p, "models/", 7) == 0 || _pico_strnicmp(p, "textures/", 9) == 0) -+ if(_pico_strnicmp(p, "quake", 5) == 0 || _pico_strnicmp(p, "doom", 4) == 0) - { - break; - } - } -+ /* root-relative */ -+ for(; *p != '\0'; ++p) -+ { -+ if(*p == '/') -+ { -+ ++p; -+ break; -+ } -+ } -+ /* game-relative */ -+ for(; *p != '\0'; ++p) -+ { -+ if(*p == '/') -+ { -+ ++p; -+ break; -+ } -+ } - - if(*p != '\0') - { -Index: libs/picomodel/picomodel.c -=================================================================== ---- libs/picomodel/picomodel.c (revision 158) -+++ libs/picomodel/picomodel.c (working copy) -@@ -295,10 +295,7 @@ - model = PicoModuleLoadModel(module, fileName, buffer, bufSize, frameNum); - } - -- if(model != 0) -- { -- _pico_free(buffer); -- } -+ _pico_free(buffer); - - /* return */ - return model; -@@ -1573,6 +1570,7 @@ - { - int i, j; - -+// Sys_Printf(" %f %f %f\n", normal[0] , normal[1] , normal[2] ); - - /* dummy check */ - if( surface == NULL || surface->numVertexes <= 0 ) -@@ -1861,13 +1859,10 @@ - typedef picoVec3_t* picoNormalIter_t; - typedef picoIndex_t* picoIndexIter_t; - --#define THE_CROSSPRODUCTS_OF_ANY_PAIR_OF_EDGES_OF_A_GIVEN_TRIANGLE_ARE_EQUAL 1 -- - void _pico_triangles_generate_weighted_normals(picoIndexIter_t first, picoIndexIter_t end, picoVec3_t* xyz, picoVec3_t* normals) - { - for(; first != end; first += 3) - { --#if (THE_CROSSPRODUCTS_OF_ANY_PAIR_OF_EDGES_OF_A_GIVEN_TRIANGLE_ARE_EQUAL) - picoVec3_t weightedNormal; - { - float* a = xyz[*(first + 0)]; -@@ -1878,24 +1873,11 @@ - _pico_subtract_vec( c, a, ca ); - _pico_cross_vec( ca, ba, weightedNormal ); - } --#endif - { - int j = 0; - for(; j < 3; ++j) - { - float* normal = normals[*(first + j)]; --#if (!THE_CROSSPRODUCTS_OF_ANY_PAIR_OF_EDGES_OF_A_GIVEN_TRIANGLE_ARE_EQUAL) -- picoVec3_t weightedNormal; -- { -- float* a = xyz[*(first + ((j + 0) % 3))]; -- float* b = xyz[*(first + ((j + 1) % 3))]; -- float* c = xyz[*(first + ((j + 2) % 3))]; -- picoVec3_t ba, ca; -- _pico_subtract_vec( b, a, ba ); -- _pico_subtract_vec( c, a, ca ); -- _pico_cross_vec( ca, ba, weightedNormal ); -- } --#endif - _pico_add_vec(weightedNormal, normal, normal); - } - } -@@ -1941,7 +1923,8 @@ - { - for(; first != last; ++first, ++generated) - { -- if(!_pico_normal_is_unit_length(*first) || !_pico_normal_within_tolerance(*first, *generated)) -+ //27 - fix for badly generated normals thing. -+ // if(!_pico_normal_is_unit_length(*first) || !_pico_normal_within_tolerance(*first, *generated)) - { - _pico_copy_vec(*generated, *first); - } -@@ -1954,10 +1937,11 @@ - - _pico_normals_zero(normals, normals + surface->numVertexes); - -+ //Just build standard no sg normals for now - _pico_triangles_generate_weighted_normals(surface->index, surface->index + surface->numIndexes, surface->xyz, normals); - _pico_vertices_combine_shared_normals(surface->xyz, surface->smoothingGroup, normals, surface->numVertexes); - -- _pico_normals_normalize(normals, normals + surface->numVertexes); -+ _pico_normals_normalize(normals, normals + surface->numVertexes); - - _pico_normals_assign_generated_normals(surface->normal, surface->normal + surface->numVertexes, normals); - -@@ -2261,7 +2245,7 @@ - int newVertIndex = PicoGetSurfaceNumIndexes ( workSurface ); - - /* get the index of the vertex that we're going to store at newVertIndex */ -- vertDataIndex = PicoFindSurfaceVertexNum ( workSurface , *xyz[i] , *normals[i] , numSTs , st[i] , numColors , colors[i], smoothingGroup[i]); -+ vertDataIndex = -1;// PicoFindSurfaceVertexNum ( workSurface , *xyz[i] , *normals[i] , numSTs , st[i] , numColors , colors[i], smoothingGroup[i]); - - /* the vertex wasn't found, so create a new vertex in the pool from the data we have */ - if ( vertDataIndex == -1 ) -@@ -2290,3 +2274,5 @@ - PicoSetSurfaceIndex ( workSurface , newVertIndex , vertDataIndex ); - } - } -+ -+ diff --git a/tools/urt/tools/quake3/q3map2/q3map2.dsp b/tools/urt/tools/quake3/q3map2/q3map2.dsp deleted file mode 100644 index 21b83ef0..00000000 --- a/tools/urt/tools/quake3/q3map2/q3map2.dsp +++ /dev/null @@ -1,379 +0,0 @@ -# Microsoft Developer Studio Project File - Name="q3map2" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=Q3MAP2 - WIN32 RELEASE -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "q3map2.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "q3map2.mak" CFG="Q3MAP2 - WIN32 RELEASE" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "q3map2 - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "q3map2 - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "q3map2" -# PROP Scc_LocalPath ".." -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "q3map2 - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -F90=df.exe -# ADD BASE F90 /include:"Release/" -# ADD F90 /include:"Release/" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MD /W3 /Zi /O2 /I "..\..\..\include" /I "..\common" /I "..\..\..\libs" /I "..\..\..\..\libxml2\include" /I "..\q3map2" /I "..\..\..\..\libpng" /I "..\..\..\..\zlib" /I "..\..\..\..\gtk2-win32\include\glib-2.0" /I "..\..\..\..\gtk2-win32\lib\glib-2.0\include" /I "c:\program files\subversion\mhash\lib" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FR /FD /c -# SUBTRACT CPP /WX /YX -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 glib-2.0.lib wsock32.lib jpeg6.lib l_net.lib mathlib.lib md5lib.lib picomodel.lib ddslib.lib zdll.lib libpng13.lib ddslib.lib libxml2.lib libmhash.lib /nologo /stack:0x400000 /subsystem:console /map /machine:I386 /libpath:"..\..\..\libs\ddslib\release" /libpath:"..\..\..\libs\md5lib\release" /libpath:"..\..\..\libs\mathlib\release" /libpath:"..\..\..\libs\pak\release" /libpath:"..\..\..\libs\jpeg6\release" /libpath:"..\..\..\libs\l_net\release" /libpath:"..\..\..\..\libxml2\win32\libxml2\release_so" /libpath:"..\..\..\..\libpng\projects\msvc\libpng___Win32_Release" /libpath:"..\..\..\..\libpng\projects\msvc\zlib___Win32_Release" /libpath:"../../../libs/picomodel/release" /libpath:"..\..\..\..\gtk2-win32\lib\\" /libpath:"..\common\glib\\" /libpath:"C:\projects\library\zlib\\" /libpath:"C:\Program Files\Subversion\zlib\lib\\" /libpath:"C:\Program Files\Subversion\libpng\lib" /libpath:"C:\Program Files\Subversion\libxml2\win32\lib\\" /libpath:"C:\Program Files\Subversion\mhash\win32\libmhash\Release\\" -# SUBTRACT LINK32 /pdb:none /debug -# Begin Special Build Tool -SOURCE="$(InputPath)" -PostBuild_Desc=Python post build -PostBuild_Cmds=cd ..\..\.. && run_python.bat win32_install.py release Q3Map2 -# End Special Build Tool - -!ELSEIF "$(CFG)" == "q3map2 - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -F90=df.exe -# ADD BASE F90 /include:"Debug/" -# ADD F90 /browser /include:"Debug/" -# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /I "..\..\..\include" /I "..\common" /I "..\..\..\libs" /I "..\..\..\..\libxml2\include" /I "..\..\..\..\libpng" /I "..\..\..\..\zlib" /I "..\..\..\..\gtk2-win32\include\glib-2.0" /I "..\..\..\..\gtk2-win32\lib\glib-2.0\include" /I "c:\program files\subversion\mhash\lib" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FR /FD /c -# SUBTRACT CPP /YX -# ADD BASE RSC /l 0x409 /d "_DEBUG" -# ADD RSC /l 0x409 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 glib-2.0.lib wsock32.lib jpeg6.lib l_net.lib mathlib.lib md5lib.lib zdll.lib libpng13.lib ddslib.lib libxml2.lib libmhash.lib picomodel.lib /nologo /stack:0x2000000 /subsystem:console /profile /map /debug /machine:I386 /nodefaultlib:"libcd" /nodefaultlib:"libcmtd" /out:"Debug/FS_q3map2_1.exe" /libpath:"..\..\..\libs\ddslib\Debug" /libpath:"..\..\..\libs\md5lib\Debug" /libpath:"..\..\..\libs\mathlib\Debug" /libpath:"..\..\..\libs\pak\Debug" /libpath:"..\..\..\libs\jpeg6\Debug" /libpath:"..\..\..\libs\l_net\Debug" /libpath:"..\..\..\..\libxml2\win32\libxml2\debug_so" /libpath:"..\..\..\..\lpng\projects\msvc\win32\libpng___Win32_Debug" /libpath:"..\..\..\libs\jpeg6\release" /libpath:"..\..\..\libs\l_net\release" /libpath:"..\..\..\..\libxml2\win32\libxml2\release_so" /libpath:"..\..\..\..\libpng\projects\msvc\libpng___Win32_Debug" /libpath:"..\..\..\..\libpng\projects\msvc\zlib___Win32_Debug" /libpath:"..\..\..\..\gtk2-win32\lib\\" /libpath:"c:\program files\subversion\mhash\lib" /libpath:"..\common\glib\\" /libpath:"c:\program files\subversion\zlib\lib" /libpath:"c:\program files\subversion\libpng\lib" /libpath:"C:\Program Files\Subversion\libxml2\win32\lib" /libpath:"C:\Program Files\Subversion\mhash\win32\libmhash\Debug" /libpath:"C:\Program Files\Subversion\GtkRadiant\libs\picomodel\Debug" -# SUBTRACT LINK32 /nodefaultlib -# Begin Special Build Tool -SOURCE="$(InputPath)" -PostBuild_Desc=Python post build -PostBuild_Cmds=cd ..\..\.. && run_python.bat win32_install.py Q3Map2 -# End Special Build Tool - -!ENDIF - -# Begin Target - -# Name "q3map2 - Win32 Release" -# Name "q3map2 - Win32 Debug" -# Begin Group "src" - -# PROP Default_Filter "c;cpp;cxx;cc;C" -# Begin Group "common" - -# PROP Default_Filter ".c" -# Begin Source File - -SOURCE=..\common\cmdlib.c -# End Source File -# Begin Source File - -SOURCE=..\common\imagelib.c -# End Source File -# Begin Source File - -SOURCE=..\common\inout.c -# End Source File -# Begin Source File - -SOURCE=..\common\mutex.c -# End Source File -# Begin Source File - -SOURCE=..\common\polylib.c -# End Source File -# Begin Source File - -SOURCE=..\common\scriplib.c -# End Source File -# Begin Source File - -SOURCE=..\common\threads.c -# End Source File -# Begin Source File - -SOURCE=..\common\unzip.c -# End Source File -# Begin Source File - -SOURCE=..\common\vfs.c - -!IF "$(CFG)" == "q3map2 - Win32 Release" - -!ELSEIF "$(CFG)" == "q3map2 - Win32 Debug" - -# ADD CPP /I "..\..\..\..\src\glib" - -!ENDIF - -# End Source File -# End Group -# Begin Group "bsp" - -# PROP Default_Filter ".c" -# Begin Source File - -SOURCE=.\brush.c -# End Source File -# Begin Source File - -SOURCE=.\brush_primit.c -# End Source File -# Begin Source File - -SOURCE=.\bsp.c -# End Source File -# Begin Source File - -SOURCE=.\decals.c -# End Source File -# Begin Source File - -SOURCE=.\facebsp.c -# End Source File -# Begin Source File - -SOURCE=.\fog.c -# End Source File -# Begin Source File - -SOURCE=.\leakfile.c -# End Source File -# Begin Source File - -SOURCE=.\map.c -# End Source File -# Begin Source File - -SOURCE=.\patch.c -# End Source File -# Begin Source File - -SOURCE=.\portals.c -# End Source File -# Begin Source File - -SOURCE=.\prtfile.c -# End Source File -# Begin Source File - -SOURCE=.\surface.c -# End Source File -# Begin Source File - -SOURCE=.\surface_foliage.c -# End Source File -# Begin Source File - -SOURCE=.\surface_fur.c -# End Source File -# Begin Source File - -SOURCE=.\surface_meta.c -# End Source File -# Begin Source File - -SOURCE=.\tjunction.c -# End Source File -# Begin Source File - -SOURCE=.\tree.c -# End Source File -# Begin Source File - -SOURCE=.\writebsp.c -# End Source File -# End Group -# Begin Group "light" - -# PROP Default_Filter ".c" -# Begin Source File - -SOURCE=.\light.c -# End Source File -# Begin Source File - -SOURCE=.\light_bounce.c -# End Source File -# Begin Source File - -SOURCE=.\light_trace.c -# End Source File -# Begin Source File - -SOURCE=.\light_ydnar.c -# End Source File -# Begin Source File - -SOURCE=.\lightmaps_ydnar.c -# End Source File -# End Group -# Begin Group "vis" - -# PROP Default_Filter ".c" -# Begin Source File - -SOURCE=.\vis.c -# End Source File -# Begin Source File - -SOURCE=.\visflow.c -# End Source File -# End Group -# Begin Group "convert" - -# PROP Default_Filter ".c" -# Begin Source File - -SOURCE=.\convert_ase.c -# End Source File -# Begin Source File - -SOURCE=.\convert_map.c -# End Source File -# End Group -# Begin Source File - -SOURCE=.\bspfile_abstract.c -# End Source File -# Begin Source File - -SOURCE=.\bspfile_ibsp.c -# End Source File -# Begin Source File - -SOURCE=.\bspfile_rbsp.c -# End Source File -# Begin Source File - -SOURCE=.\image.c -# End Source File -# Begin Source File - -SOURCE=.\main.c -# End Source File -# Begin Source File - -SOURCE=.\mesh.c -# End Source File -# Begin Source File - -SOURCE=.\model.c -# End Source File -# Begin Source File - -SOURCE=.\path_init.c -# End Source File -# Begin Source File - -SOURCE=.\shaders.c -# End Source File -# Begin Source File - -SOURCE=.\surface_extra.c -# End Source File -# End Group -# Begin Group "include" - -# PROP Default_Filter "h" -# Begin Source File - -SOURCE=.\game_ef.h -# End Source File -# Begin Source File - -SOURCE=.\game_ja.h -# End Source File -# Begin Source File - -SOURCE=.\game_jk2.h -# End Source File -# Begin Source File - -SOURCE=.\game_quake3.h -# End Source File -# Begin Source File - -SOURCE=.\game_sof2.h -# End Source File -# Begin Source File - -SOURCE=.\game_wolf.h -# End Source File -# Begin Source File - -SOURCE=.\game_wolfet.h -# End Source File -# Begin Source File - -SOURCE=.\q3map2.h -# End Source File -# End Group -# Begin Group "doc" - -# PROP Default_Filter "*.txt" -# Begin Source File - -SOURCE=.\changelog.q3map2.txt -# End Source File -# End Group -# Begin Group "rc" - -# PROP Default_Filter ".rc;.ico" -# Begin Source File - -SOURCE=.\q3map2.ico -# End Source File -# Begin Source File - -SOURCE=.\q3map2.rc -# End Source File -# End Group -# End Target -# End Project diff --git a/tools/urt/tools/quake3/q3map2/q3map2.dsw b/tools/urt/tools/quake3/q3map2/q3map2.dsw deleted file mode 100644 index caa9575b..00000000 --- a/tools/urt/tools/quake3/q3map2/q3map2.dsw +++ /dev/null @@ -1,137 +0,0 @@ -Microsoft Developer Studio Workspace File, Format Version 6.00 -# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! - -############################################################################### - -Project: "ddslib"="..\..\..\libs\ddslib\ddslib.dsp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "jpeg6"="..\..\..\libs\jpeg6\jpeg6.dsp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "l_net"="..\..\..\libs\l_net\l_net.dsp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "libpng"="..\..\..\..\libpng\projects\msvc\libpng.dsp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "mathlib"="..\..\..\libs\mathlib\mathlib.dsp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "md5lib"="..\..\..\libs\md5lib\md5lib.dsp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "picomodel"="..\..\..\libs\picomodel\picomodel.dsp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "q3map2"=".\q3map2.dsp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ - Begin Project Dependency - Project_Dep_Name libxml2 - End Project Dependency - Begin Project Dependency - Project_Dep_Name libpng - End Project Dependency - Begin Project Dependency - Project_Dep_Name picomodel - End Project Dependency - Begin Project Dependency - Project_Dep_Name jpeg6 - End Project Dependency - Begin Project Dependency - Project_Dep_Name l_net - End Project Dependency - Begin Project Dependency - Project_Dep_Name mathlib - End Project Dependency - Begin Project Dependency - Project_Dep_Name md5lib - End Project Dependency - Begin Project Dependency - Project_Dep_Name ddslib - End Project Dependency -}}} - -############################################################################### - -Global: - -Package=<5> -{{{ -}}} - -Package=<3> -{{{ -}}} - -############################################################################### - diff --git a/tools/urt/tools/quake3/q3map2/q3map2.h b/tools/urt/tools/quake3/q3map2/q3map2.h index a41cb0df..fe21bd92 100644 --- a/tools/urt/tools/quake3/q3map2/q3map2.h +++ b/tools/urt/tools/quake3/q3map2/q3map2.h @@ -1922,7 +1922,6 @@ Q_EXTERN int bevelSnap Q_ASSIGN( 0 ); /* ydnar: be Q_EXTERN int texRange Q_ASSIGN( 0 ); Q_EXTERN qboolean flat Q_ASSIGN( qfalse ); Q_EXTERN qboolean meta Q_ASSIGN( qfalse ); -Q_EXTERN qboolean newbsp Q_ASSIGN( qfalse ); Q_EXTERN qboolean patchMeta Q_ASSIGN( qfalse ); Q_EXTERN qboolean emitFlares Q_ASSIGN( qfalse ); Q_EXTERN qboolean debugSurfaces Q_ASSIGN( qfalse ); diff --git a/tools/urt/tools/quake3/q3map2/q3map2.h.rej b/tools/urt/tools/quake3/q3map2/q3map2.h.rej deleted file mode 100644 index d32fc37d..00000000 --- a/tools/urt/tools/quake3/q3map2/q3map2.h.rej +++ /dev/null @@ -1,19 +0,0 @@ -*************** -*** 35,42 **** - - - /* version */ -- #define Q3MAP_VERSION "2.5.17" -- #define Q3MAP_MOTD "Last one turns the lights off" - - - ---- 35,42 ---- - - - /* version */ -+ #define Q3MAP_VERSION "2.5.17 base - FS_20g" -+ #define Q3MAP_MOTD "Sorry, it doesn't match my furniture." - - - diff --git a/tools/urt/tools/quake3/q3map2/q3map2.opt b/tools/urt/tools/quake3/q3map2/q3map2.opt deleted file mode 100644 index 395cbdf1..00000000 Binary files a/tools/urt/tools/quake3/q3map2/q3map2.opt and /dev/null differ diff --git a/tools/urt/tools/quake3/q3map2/q3map2.plg b/tools/urt/tools/quake3/q3map2/q3map2.plg deleted file mode 100644 index ce91829b..00000000 --- a/tools/urt/tools/quake3/q3map2/q3map2.plg +++ /dev/null @@ -1,86 +0,0 @@ - - -
-

Build Log

-

---------------------Configuration: q3map2 - Win32 Debug-------------------- -

-

Command Lines

-Creating temporary file "C:\DOCUME~1\TWENTY~1\LOCALS~1\Temp\RSP13E.tmp" with contents -[ -glib-2.0.lib wsock32.lib jpeg6.lib l_net.lib mathlib.lib md5lib.lib zdll.lib libpng13.lib ddslib.lib libxml2.lib libmhash.lib picomodel.lib /nologo /stack:0x2000000 /subsystem:console /profile /map:"Debug/FS_q3map2_1.map" /debug /machine:I386 /nodefaultlib:"libcd" /nodefaultlib:"libcmtd" /out:"Debug/FS_q3map2_1.exe" /libpath:"..\..\..\libs\ddslib\Debug" /libpath:"..\..\..\libs\md5lib\Debug" /libpath:"..\..\..\libs\mathlib\Debug" /libpath:"..\..\..\libs\pak\Debug" /libpath:"..\..\..\libs\jpeg6\Debug" /libpath:"..\..\..\libs\l_net\Debug" /libpath:"..\..\..\..\libxml2\win32\libxml2\debug_so" /libpath:"..\..\..\..\lpng\projects\msvc\win32\libpng___Win32_Debug" /libpath:"..\..\..\libs\jpeg6\release" /libpath:"..\..\..\libs\l_net\release" /libpath:"..\..\..\..\libxml2\win32\libxml2\release_so" /libpath:"..\..\..\..\libpng\projects\msvc\libpng___Win32_Debug" /libpath:"..\..\..\..\libpng\projects\msvc\zlib___Win32_Debug" /libpath:"..\..\..\..\gtk2-win32\lib\\" /libpath:"c:\program files\subversion\mhash\lib" /libpath:"..\common\glib\\" /libpath:"c:\program files\subversion\zlib\lib" /libpath:"c:\program files\subversion\libpng\lib" /libpath:"C:\Program Files\Subversion\libxml2\win32\lib" /libpath:"C:\Program Files\Subversion\mhash\win32\libmhash\Debug" /libpath:"C:\Program Files\Subversion\GtkRadiant\libs\picomodel\Debug" -".\Debug\cmdlib.obj" -".\Debug\imagelib.obj" -".\Debug\inout.obj" -".\Debug\mutex.obj" -".\Debug\polylib.obj" -".\Debug\scriplib.obj" -".\Debug\threads.obj" -".\Debug\unzip.obj" -".\Debug\vfs.obj" -".\Debug\brush.obj" -".\Debug\brush_primit.obj" -".\Debug\bsp.obj" -".\Debug\decals.obj" -".\Debug\facebsp.obj" -".\Debug\fog.obj" -".\Debug\leakfile.obj" -".\Debug\map.obj" -".\Debug\patch.obj" -".\Debug\portals.obj" -".\Debug\prtfile.obj" -".\Debug\surface.obj" -".\Debug\surface_foliage.obj" -".\Debug\surface_fur.obj" -".\Debug\surface_meta.obj" -".\Debug\tjunction.obj" -".\Debug\tree.obj" -".\Debug\writebsp.obj" -".\Debug\light.obj" -".\Debug\light_bounce.obj" -".\Debug\light_trace.obj" -".\Debug\light_ydnar.obj" -".\Debug\lightmaps_ydnar.obj" -".\Debug\vis.obj" -".\Debug\visflow.obj" -".\Debug\convert_ase.obj" -".\Debug\convert_map.obj" -".\Debug\bspfile_abstract.obj" -".\Debug\bspfile_ibsp.obj" -".\Debug\bspfile_rbsp.obj" -".\Debug\image.obj" -".\Debug\main.obj" -".\Debug\mesh.obj" -".\Debug\model.obj" -".\Debug\path_init.obj" -".\Debug\shaders.obj" -".\Debug\surface_extra.obj" -".\Debug\q3map2.res" -"\Program Files\Subversion\GtkRadiant\libs\picomodel\Debug\picomodel.lib" -"\Program Files\Subversion\GtkRadiant\libs\jpeg6\Debug\jpeg6.lib" -"\Program Files\Subversion\GtkRadiant\libs\l_net\Debug\l_net.lib" -"\Program Files\Subversion\GtkRadiant\libs\mathlib\Debug\mathlib.lib" -"\Program Files\Subversion\GtkRadiant\libs\md5lib\Debug\md5lib.lib" -"\Program Files\Subversion\GtkRadiant\libs\ddslib\Debug\ddslib.lib" -] -Creating command line "link.exe @C:\DOCUME~1\TWENTY~1\LOCALS~1\Temp\RSP13E.tmp" -

Output Window

-Linking... -Creating temporary file "C:\DOCUME~1\TWENTY~1\LOCALS~1\Temp\RSP140.bat" with contents -[ -@echo off -cd ..\..\.. && run_python.bat win32_install.py Q3Map2 -] -Creating command line "C:\DOCUME~1\TWENTY~1\LOCALS~1\Temp\RSP140.bat" -Python post build -'python.exe' is not recognized as an internal or external command, -operable program or batch file. -please install python and add python.exe to the path (http://www.python.org) - - - -

Results

-FS_q3map2_1.exe - 0 error(s), 0 warning(s) -
- - diff --git a/tools/urt/tools/quake3/q3map2/q3map2.sln b/tools/urt/tools/quake3/q3map2/q3map2.sln deleted file mode 100644 index 4def4fe7..00000000 --- a/tools/urt/tools/quake3/q3map2/q3map2.sln +++ /dev/null @@ -1,190 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 9.00 -# Visual Studio 2005 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ddslib", "..\..\..\libs\ddslib\ddslib.vcproj", "{7FD1FB6D-9969-43E1-857D-1B70B85DB89D}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jpeg6", "..\..\..\libs\jpeg6\jpeg6.vcproj", "{F6FEEEDB-8B57-411E-924D-2C49AA55A03B}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "l_net", "..\..\..\libs\l_net\l_net.vcproj", "{C64EA14E-82DD-4E6A-825F-BD9745137CCB}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mathlib", "..\..\..\libs\mathlib\mathlib.vcproj", "{608341F6-3E13-498C-B16B-8CFB737F311E}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "md5lib", "..\..\..\libs\md5lib\md5lib.vcproj", "{0B6C0AED-1BF5-4794-8CD0-2686A3EF852A}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "picomodel", "..\..\..\libs\picomodel\picomodel.vcproj", "{D50B2D31-7046-4E77-AB0F-4211BE70834C}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "q3map2", "q3map2.vcproj", "{7AF7537E-94C3-4680-8F5E-C1CE30DC2041}" - ProjectSection(ProjectDependencies) = postProject - {DF2E2A3A-51C9-414F-BEE9-261C2E88CF70} = {DF2E2A3A-51C9-414F-BEE9-261C2E88CF70} - {D50B2D31-7046-4E77-AB0F-4211BE70834C} = {D50B2D31-7046-4E77-AB0F-4211BE70834C} - {7FD1FB6D-9969-43E1-857D-1B70B85DB89D} = {7FD1FB6D-9969-43E1-857D-1B70B85DB89D} - {F6FEEEDB-8B57-411E-924D-2C49AA55A03B} = {F6FEEEDB-8B57-411E-924D-2C49AA55A03B} - {0B6C0AED-1BF5-4794-8CD0-2686A3EF852A} = {0B6C0AED-1BF5-4794-8CD0-2686A3EF852A} - {608341F6-3E13-498C-B16B-8CFB737F311E} = {608341F6-3E13-498C-B16B-8CFB737F311E} - {C64EA14E-82DD-4E6A-825F-BD9745137CCB} = {C64EA14E-82DD-4E6A-825F-BD9745137CCB} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libpng", "..\..\..\..\..\..\q3map2\Q3map2FS\libpng-1.2\projects\msvc\libpng.vcproj", "{DF2E2A3A-51C9-414F-BEE9-261C2E88CF70}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - DLL ASM|Win32 = DLL ASM|Win32 - DLL Debug ASM|Win32 = DLL Debug ASM|Win32 - DLL Debug|Win32 = DLL Debug|Win32 - DLL VB|Win32 = DLL VB|Win32 - DLL|Win32 = DLL|Win32 - LIB Debug|Win32 = LIB Debug|Win32 - LIB|Win32 = LIB|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {7FD1FB6D-9969-43E1-857D-1B70B85DB89D}.Debug|Win32.ActiveCfg = Debug|Win32 - {7FD1FB6D-9969-43E1-857D-1B70B85DB89D}.Debug|Win32.Build.0 = Debug|Win32 - {7FD1FB6D-9969-43E1-857D-1B70B85DB89D}.DLL ASM|Win32.ActiveCfg = Debug|Win32 - {7FD1FB6D-9969-43E1-857D-1B70B85DB89D}.DLL ASM|Win32.Build.0 = Debug|Win32 - {7FD1FB6D-9969-43E1-857D-1B70B85DB89D}.DLL Debug ASM|Win32.ActiveCfg = Debug|Win32 - {7FD1FB6D-9969-43E1-857D-1B70B85DB89D}.DLL Debug ASM|Win32.Build.0 = Debug|Win32 - {7FD1FB6D-9969-43E1-857D-1B70B85DB89D}.DLL Debug|Win32.ActiveCfg = Debug|Win32 - {7FD1FB6D-9969-43E1-857D-1B70B85DB89D}.DLL Debug|Win32.Build.0 = Debug|Win32 - {7FD1FB6D-9969-43E1-857D-1B70B85DB89D}.DLL VB|Win32.ActiveCfg = Debug|Win32 - {7FD1FB6D-9969-43E1-857D-1B70B85DB89D}.DLL VB|Win32.Build.0 = Debug|Win32 - {7FD1FB6D-9969-43E1-857D-1B70B85DB89D}.DLL|Win32.ActiveCfg = Debug|Win32 - {7FD1FB6D-9969-43E1-857D-1B70B85DB89D}.DLL|Win32.Build.0 = Debug|Win32 - {7FD1FB6D-9969-43E1-857D-1B70B85DB89D}.LIB Debug|Win32.ActiveCfg = Debug|Win32 - {7FD1FB6D-9969-43E1-857D-1B70B85DB89D}.LIB Debug|Win32.Build.0 = Debug|Win32 - {7FD1FB6D-9969-43E1-857D-1B70B85DB89D}.LIB|Win32.ActiveCfg = Debug|Win32 - {7FD1FB6D-9969-43E1-857D-1B70B85DB89D}.LIB|Win32.Build.0 = Debug|Win32 - {7FD1FB6D-9969-43E1-857D-1B70B85DB89D}.Release|Win32.ActiveCfg = Release|Win32 - {7FD1FB6D-9969-43E1-857D-1B70B85DB89D}.Release|Win32.Build.0 = Release|Win32 - {F6FEEEDB-8B57-411E-924D-2C49AA55A03B}.Debug|Win32.ActiveCfg = Debug|Win32 - {F6FEEEDB-8B57-411E-924D-2C49AA55A03B}.Debug|Win32.Build.0 = Debug|Win32 - {F6FEEEDB-8B57-411E-924D-2C49AA55A03B}.DLL ASM|Win32.ActiveCfg = Debug|Win32 - {F6FEEEDB-8B57-411E-924D-2C49AA55A03B}.DLL ASM|Win32.Build.0 = Debug|Win32 - {F6FEEEDB-8B57-411E-924D-2C49AA55A03B}.DLL Debug ASM|Win32.ActiveCfg = Debug|Win32 - {F6FEEEDB-8B57-411E-924D-2C49AA55A03B}.DLL Debug ASM|Win32.Build.0 = Debug|Win32 - {F6FEEEDB-8B57-411E-924D-2C49AA55A03B}.DLL Debug|Win32.ActiveCfg = Debug|Win32 - {F6FEEEDB-8B57-411E-924D-2C49AA55A03B}.DLL Debug|Win32.Build.0 = Debug|Win32 - {F6FEEEDB-8B57-411E-924D-2C49AA55A03B}.DLL VB|Win32.ActiveCfg = Debug|Win32 - {F6FEEEDB-8B57-411E-924D-2C49AA55A03B}.DLL VB|Win32.Build.0 = Debug|Win32 - {F6FEEEDB-8B57-411E-924D-2C49AA55A03B}.DLL|Win32.ActiveCfg = Debug|Win32 - {F6FEEEDB-8B57-411E-924D-2C49AA55A03B}.DLL|Win32.Build.0 = Debug|Win32 - {F6FEEEDB-8B57-411E-924D-2C49AA55A03B}.LIB Debug|Win32.ActiveCfg = Debug|Win32 - {F6FEEEDB-8B57-411E-924D-2C49AA55A03B}.LIB Debug|Win32.Build.0 = Debug|Win32 - {F6FEEEDB-8B57-411E-924D-2C49AA55A03B}.LIB|Win32.ActiveCfg = Debug|Win32 - {F6FEEEDB-8B57-411E-924D-2C49AA55A03B}.LIB|Win32.Build.0 = Debug|Win32 - {F6FEEEDB-8B57-411E-924D-2C49AA55A03B}.Release|Win32.ActiveCfg = Release|Win32 - {F6FEEEDB-8B57-411E-924D-2C49AA55A03B}.Release|Win32.Build.0 = Release|Win32 - {C64EA14E-82DD-4E6A-825F-BD9745137CCB}.Debug|Win32.ActiveCfg = Debug|Win32 - {C64EA14E-82DD-4E6A-825F-BD9745137CCB}.Debug|Win32.Build.0 = Debug|Win32 - {C64EA14E-82DD-4E6A-825F-BD9745137CCB}.DLL ASM|Win32.ActiveCfg = Debug|Win32 - {C64EA14E-82DD-4E6A-825F-BD9745137CCB}.DLL ASM|Win32.Build.0 = Debug|Win32 - {C64EA14E-82DD-4E6A-825F-BD9745137CCB}.DLL Debug ASM|Win32.ActiveCfg = Debug|Win32 - {C64EA14E-82DD-4E6A-825F-BD9745137CCB}.DLL Debug ASM|Win32.Build.0 = Debug|Win32 - {C64EA14E-82DD-4E6A-825F-BD9745137CCB}.DLL Debug|Win32.ActiveCfg = Debug|Win32 - {C64EA14E-82DD-4E6A-825F-BD9745137CCB}.DLL Debug|Win32.Build.0 = Debug|Win32 - {C64EA14E-82DD-4E6A-825F-BD9745137CCB}.DLL VB|Win32.ActiveCfg = Debug|Win32 - {C64EA14E-82DD-4E6A-825F-BD9745137CCB}.DLL VB|Win32.Build.0 = Debug|Win32 - {C64EA14E-82DD-4E6A-825F-BD9745137CCB}.DLL|Win32.ActiveCfg = Debug|Win32 - {C64EA14E-82DD-4E6A-825F-BD9745137CCB}.DLL|Win32.Build.0 = Debug|Win32 - {C64EA14E-82DD-4E6A-825F-BD9745137CCB}.LIB Debug|Win32.ActiveCfg = Debug|Win32 - {C64EA14E-82DD-4E6A-825F-BD9745137CCB}.LIB Debug|Win32.Build.0 = Debug|Win32 - {C64EA14E-82DD-4E6A-825F-BD9745137CCB}.LIB|Win32.ActiveCfg = Debug|Win32 - {C64EA14E-82DD-4E6A-825F-BD9745137CCB}.LIB|Win32.Build.0 = Debug|Win32 - {C64EA14E-82DD-4E6A-825F-BD9745137CCB}.Release|Win32.ActiveCfg = Release|Win32 - {C64EA14E-82DD-4E6A-825F-BD9745137CCB}.Release|Win32.Build.0 = Release|Win32 - {608341F6-3E13-498C-B16B-8CFB737F311E}.Debug|Win32.ActiveCfg = Debug|Win32 - {608341F6-3E13-498C-B16B-8CFB737F311E}.Debug|Win32.Build.0 = Debug|Win32 - {608341F6-3E13-498C-B16B-8CFB737F311E}.DLL ASM|Win32.ActiveCfg = Debug|Win32 - {608341F6-3E13-498C-B16B-8CFB737F311E}.DLL ASM|Win32.Build.0 = Debug|Win32 - {608341F6-3E13-498C-B16B-8CFB737F311E}.DLL Debug ASM|Win32.ActiveCfg = Debug|Win32 - {608341F6-3E13-498C-B16B-8CFB737F311E}.DLL Debug ASM|Win32.Build.0 = Debug|Win32 - {608341F6-3E13-498C-B16B-8CFB737F311E}.DLL Debug|Win32.ActiveCfg = Debug|Win32 - {608341F6-3E13-498C-B16B-8CFB737F311E}.DLL Debug|Win32.Build.0 = Debug|Win32 - {608341F6-3E13-498C-B16B-8CFB737F311E}.DLL VB|Win32.ActiveCfg = Debug|Win32 - {608341F6-3E13-498C-B16B-8CFB737F311E}.DLL VB|Win32.Build.0 = Debug|Win32 - {608341F6-3E13-498C-B16B-8CFB737F311E}.DLL|Win32.ActiveCfg = Debug|Win32 - {608341F6-3E13-498C-B16B-8CFB737F311E}.DLL|Win32.Build.0 = Debug|Win32 - {608341F6-3E13-498C-B16B-8CFB737F311E}.LIB Debug|Win32.ActiveCfg = Debug|Win32 - {608341F6-3E13-498C-B16B-8CFB737F311E}.LIB Debug|Win32.Build.0 = Debug|Win32 - {608341F6-3E13-498C-B16B-8CFB737F311E}.LIB|Win32.ActiveCfg = Release|Win32 - {608341F6-3E13-498C-B16B-8CFB737F311E}.LIB|Win32.Build.0 = Release|Win32 - {608341F6-3E13-498C-B16B-8CFB737F311E}.Release|Win32.ActiveCfg = Release|Win32 - {608341F6-3E13-498C-B16B-8CFB737F311E}.Release|Win32.Build.0 = Release|Win32 - {0B6C0AED-1BF5-4794-8CD0-2686A3EF852A}.Debug|Win32.ActiveCfg = Debug|Win32 - {0B6C0AED-1BF5-4794-8CD0-2686A3EF852A}.Debug|Win32.Build.0 = Debug|Win32 - {0B6C0AED-1BF5-4794-8CD0-2686A3EF852A}.DLL ASM|Win32.ActiveCfg = Debug|Win32 - {0B6C0AED-1BF5-4794-8CD0-2686A3EF852A}.DLL ASM|Win32.Build.0 = Debug|Win32 - {0B6C0AED-1BF5-4794-8CD0-2686A3EF852A}.DLL Debug ASM|Win32.ActiveCfg = Debug|Win32 - {0B6C0AED-1BF5-4794-8CD0-2686A3EF852A}.DLL Debug ASM|Win32.Build.0 = Debug|Win32 - {0B6C0AED-1BF5-4794-8CD0-2686A3EF852A}.DLL Debug|Win32.ActiveCfg = Debug|Win32 - {0B6C0AED-1BF5-4794-8CD0-2686A3EF852A}.DLL Debug|Win32.Build.0 = Debug|Win32 - {0B6C0AED-1BF5-4794-8CD0-2686A3EF852A}.DLL VB|Win32.ActiveCfg = Debug|Win32 - {0B6C0AED-1BF5-4794-8CD0-2686A3EF852A}.DLL VB|Win32.Build.0 = Debug|Win32 - {0B6C0AED-1BF5-4794-8CD0-2686A3EF852A}.DLL|Win32.ActiveCfg = Debug|Win32 - {0B6C0AED-1BF5-4794-8CD0-2686A3EF852A}.DLL|Win32.Build.0 = Debug|Win32 - {0B6C0AED-1BF5-4794-8CD0-2686A3EF852A}.LIB Debug|Win32.ActiveCfg = Debug|Win32 - {0B6C0AED-1BF5-4794-8CD0-2686A3EF852A}.LIB Debug|Win32.Build.0 = Debug|Win32 - {0B6C0AED-1BF5-4794-8CD0-2686A3EF852A}.LIB|Win32.ActiveCfg = Release|Win32 - {0B6C0AED-1BF5-4794-8CD0-2686A3EF852A}.LIB|Win32.Build.0 = Release|Win32 - {0B6C0AED-1BF5-4794-8CD0-2686A3EF852A}.Release|Win32.ActiveCfg = Release|Win32 - {0B6C0AED-1BF5-4794-8CD0-2686A3EF852A}.Release|Win32.Build.0 = Release|Win32 - {D50B2D31-7046-4E77-AB0F-4211BE70834C}.Debug|Win32.ActiveCfg = Debug|Win32 - {D50B2D31-7046-4E77-AB0F-4211BE70834C}.Debug|Win32.Build.0 = Debug|Win32 - {D50B2D31-7046-4E77-AB0F-4211BE70834C}.DLL ASM|Win32.ActiveCfg = Debug|Win32 - {D50B2D31-7046-4E77-AB0F-4211BE70834C}.DLL ASM|Win32.Build.0 = Debug|Win32 - {D50B2D31-7046-4E77-AB0F-4211BE70834C}.DLL Debug ASM|Win32.ActiveCfg = Debug|Win32 - {D50B2D31-7046-4E77-AB0F-4211BE70834C}.DLL Debug ASM|Win32.Build.0 = Debug|Win32 - {D50B2D31-7046-4E77-AB0F-4211BE70834C}.DLL Debug|Win32.ActiveCfg = Debug|Win32 - {D50B2D31-7046-4E77-AB0F-4211BE70834C}.DLL Debug|Win32.Build.0 = Debug|Win32 - {D50B2D31-7046-4E77-AB0F-4211BE70834C}.DLL VB|Win32.ActiveCfg = Debug|Win32 - {D50B2D31-7046-4E77-AB0F-4211BE70834C}.DLL VB|Win32.Build.0 = Debug|Win32 - {D50B2D31-7046-4E77-AB0F-4211BE70834C}.DLL|Win32.ActiveCfg = Debug|Win32 - {D50B2D31-7046-4E77-AB0F-4211BE70834C}.DLL|Win32.Build.0 = Debug|Win32 - {D50B2D31-7046-4E77-AB0F-4211BE70834C}.LIB Debug|Win32.ActiveCfg = Debug|Win32 - {D50B2D31-7046-4E77-AB0F-4211BE70834C}.LIB Debug|Win32.Build.0 = Debug|Win32 - {D50B2D31-7046-4E77-AB0F-4211BE70834C}.LIB|Win32.ActiveCfg = Debug|Win32 - {D50B2D31-7046-4E77-AB0F-4211BE70834C}.LIB|Win32.Build.0 = Debug|Win32 - {D50B2D31-7046-4E77-AB0F-4211BE70834C}.Release|Win32.ActiveCfg = Release|Win32 - {D50B2D31-7046-4E77-AB0F-4211BE70834C}.Release|Win32.Build.0 = Release|Win32 - {7AF7537E-94C3-4680-8F5E-C1CE30DC2041}.Debug|Win32.ActiveCfg = Debug|Win32 - {7AF7537E-94C3-4680-8F5E-C1CE30DC2041}.Debug|Win32.Build.0 = Debug|Win32 - {7AF7537E-94C3-4680-8F5E-C1CE30DC2041}.DLL ASM|Win32.ActiveCfg = Debug|Win32 - {7AF7537E-94C3-4680-8F5E-C1CE30DC2041}.DLL ASM|Win32.Build.0 = Debug|Win32 - {7AF7537E-94C3-4680-8F5E-C1CE30DC2041}.DLL Debug ASM|Win32.ActiveCfg = Debug|Win32 - {7AF7537E-94C3-4680-8F5E-C1CE30DC2041}.DLL Debug ASM|Win32.Build.0 = Debug|Win32 - {7AF7537E-94C3-4680-8F5E-C1CE30DC2041}.DLL Debug|Win32.ActiveCfg = Debug|Win32 - {7AF7537E-94C3-4680-8F5E-C1CE30DC2041}.DLL Debug|Win32.Build.0 = Debug|Win32 - {7AF7537E-94C3-4680-8F5E-C1CE30DC2041}.DLL VB|Win32.ActiveCfg = Debug|Win32 - {7AF7537E-94C3-4680-8F5E-C1CE30DC2041}.DLL VB|Win32.Build.0 = Debug|Win32 - {7AF7537E-94C3-4680-8F5E-C1CE30DC2041}.DLL|Win32.ActiveCfg = Debug|Win32 - {7AF7537E-94C3-4680-8F5E-C1CE30DC2041}.DLL|Win32.Build.0 = Debug|Win32 - {7AF7537E-94C3-4680-8F5E-C1CE30DC2041}.LIB Debug|Win32.ActiveCfg = Debug|Win32 - {7AF7537E-94C3-4680-8F5E-C1CE30DC2041}.LIB Debug|Win32.Build.0 = Debug|Win32 - {7AF7537E-94C3-4680-8F5E-C1CE30DC2041}.LIB|Win32.ActiveCfg = Debug|Win32 - {7AF7537E-94C3-4680-8F5E-C1CE30DC2041}.LIB|Win32.Build.0 = Debug|Win32 - {7AF7537E-94C3-4680-8F5E-C1CE30DC2041}.Release|Win32.ActiveCfg = Release|Win32 - {7AF7537E-94C3-4680-8F5E-C1CE30DC2041}.Release|Win32.Build.0 = Release|Win32 - {DF2E2A3A-51C9-414F-BEE9-261C2E88CF70}.Debug|Win32.ActiveCfg = DLL Debug|Win32 - {DF2E2A3A-51C9-414F-BEE9-261C2E88CF70}.Debug|Win32.Build.0 = DLL Debug|Win32 - {DF2E2A3A-51C9-414F-BEE9-261C2E88CF70}.DLL ASM|Win32.ActiveCfg = DLL ASM|Win32 - {DF2E2A3A-51C9-414F-BEE9-261C2E88CF70}.DLL ASM|Win32.Build.0 = DLL ASM|Win32 - {DF2E2A3A-51C9-414F-BEE9-261C2E88CF70}.DLL Debug ASM|Win32.ActiveCfg = DLL Debug ASM|Win32 - {DF2E2A3A-51C9-414F-BEE9-261C2E88CF70}.DLL Debug ASM|Win32.Build.0 = DLL Debug ASM|Win32 - {DF2E2A3A-51C9-414F-BEE9-261C2E88CF70}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32 - {DF2E2A3A-51C9-414F-BEE9-261C2E88CF70}.DLL Debug|Win32.Build.0 = DLL Debug|Win32 - {DF2E2A3A-51C9-414F-BEE9-261C2E88CF70}.DLL VB|Win32.ActiveCfg = DLL VB|Win32 - {DF2E2A3A-51C9-414F-BEE9-261C2E88CF70}.DLL VB|Win32.Build.0 = DLL VB|Win32 - {DF2E2A3A-51C9-414F-BEE9-261C2E88CF70}.DLL|Win32.ActiveCfg = DLL|Win32 - {DF2E2A3A-51C9-414F-BEE9-261C2E88CF70}.DLL|Win32.Build.0 = DLL|Win32 - {DF2E2A3A-51C9-414F-BEE9-261C2E88CF70}.LIB Debug|Win32.ActiveCfg = LIB Debug|Win32 - {DF2E2A3A-51C9-414F-BEE9-261C2E88CF70}.LIB Debug|Win32.Build.0 = LIB Debug|Win32 - {DF2E2A3A-51C9-414F-BEE9-261C2E88CF70}.LIB|Win32.ActiveCfg = LIB|Win32 - {DF2E2A3A-51C9-414F-BEE9-261C2E88CF70}.LIB|Win32.Build.0 = LIB|Win32 - {DF2E2A3A-51C9-414F-BEE9-261C2E88CF70}.Release|Win32.ActiveCfg = DLL Debug|Win32 - {DF2E2A3A-51C9-414F-BEE9-261C2E88CF70}.Release|Win32.Build.0 = DLL Debug|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/tools/urt/tools/quake3/q3map2/q3map2.suo b/tools/urt/tools/quake3/q3map2/q3map2.suo deleted file mode 100644 index 438c7b33..00000000 Binary files a/tools/urt/tools/quake3/q3map2/q3map2.suo and /dev/null differ diff --git a/tools/urt/tools/quake3/q3map2/q3map2.vcproj.rej b/tools/urt/tools/quake3/q3map2/q3map2.vcproj.rej deleted file mode 100644 index 448f46cc..00000000 --- a/tools/urt/tools/quake3/q3map2/q3map2.vcproj.rej +++ /dev/null @@ -1,17 +0,0 @@ -*************** -*** 180,186 **** - Name="VCLinkerTool" - AdditionalOptions="/MACHINE:I386" - AdditionalDependencies="glib-2.0.lib wsock32.lib libxml2.lib libpng.lib libmhash.lib" -- OutputFile=".\Release/q3map2.exe" - LinkIncremental="1" - SuppressStartupBanner="true" - AdditionalLibraryDirectories=""..\..\..\..\mhash-0.9\win32\libmhash\Release";"..\..\..\..\libxml2-2.6\lib";"..\..\..\..\gtk2-2.10\lib"" ---- 180,186 ---- - Name="VCLinkerTool" - AdditionalOptions="/MACHINE:I386" - AdditionalDependencies="glib-2.0.lib wsock32.lib libxml2.lib libpng.lib libmhash.lib" -+ OutputFile=".\Release/q3map2_fs_20g.exe" - LinkIncremental="1" - SuppressStartupBanner="true" - AdditionalLibraryDirectories=""..\..\..\..\mhash-0.9\win32\libmhash\Release";"..\..\..\..\libxml2-2.6\lib";"..\..\..\..\gtk2-2.10\lib"" diff --git a/tools/urt/tools/quake3/q3map2/version.h b/tools/urt/tools/quake3/q3map2/version.h deleted file mode 100644 index 91f5e433..00000000 --- a/tools/urt/tools/quake3/q3map2/version.h +++ /dev/null @@ -1,4 +0,0 @@ -// generated header, see makeversion.py -#define RADIANT_VERSION "1.6.0" -#define RADIANT_MINOR_VERSION "0" -#define RADIANT_MAJOR_VERSION "6"