]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - regression_tests/q3map2/disappearing_sliver/winding_logging.patch
Importing regression tests for q3map2 from Rambetter-math-fix-experiments into
[xonotic/netradiant.git] / regression_tests / q3map2 / disappearing_sliver / winding_logging.patch
index c697eb92095c16f103dca74f331ac62e6b67eceb..a1babe91fddf1828ebb7029d08479a812c9e96e9 100644 (file)
@@ -1,18 +1,17 @@
 Index: tools/quake3/q3map2/brush.c
 ===================================================================
---- tools/quake3/q3map2/brush.c        (revision 371)
+--- tools/quake3/q3map2/brush.c        (revision 391)
 +++ tools/quake3/q3map2/brush.c        (working copy)
-@@ -356,17 +356,29 @@
-       winding_t       *w;
+@@ -421,10 +421,16 @@
        side_t          *side;
        plane_t         *plane;
-+
+       
+-      
 +      static  int     brushord = -1;
 +      brushord++;
 +
 +      Sys_Printf("In CreateBrushWindings() for brush %i\n", brushord);        
-       
--      
++
        /* walk the list of brush sides */
        for( i = 0; i < brush->numsides; i++ )
        {
@@ -21,33 +20,46 @@ Index: tools/quake3/q3map2/brush.c
                /* get side and plane */
                side = &brush->sides[ i ];
                plane = &mapplanes[ side->planenum ];
-               
-               /* make huge winding */
+@@ -435,7 +441,13 @@
+ #else
                w = BaseWindingForPlane( plane->normal, plane->dist );
+ #endif
+-              
 +
 +              Sys_Printf("        Before clipping we have:\n");
 +              int z;
 +              for (z = 0; z < w->numpoints; z++) {
 +                      Sys_Printf("            (%.8f %.8f %.8f)\n", w->p[z][0], w->p[z][1], w->p[z][2]);
 +              }
-               
++
                /* walk the list of brush sides */
                for( j = 0; j < brush->numsides && w != NULL; j++ )
-@@ -379,6 +391,11 @@
-                               continue;
-                       plane = &mapplanes[ brush->sides[ j ].planenum ^ 1 ];
+               {
+@@ -451,7 +463,20 @@
+ #else
                        ChopWindingInPlace( &w, plane->normal, plane->dist, 0 ); // CLIP_EPSILON );
+ #endif
+-                      
 +
 +                      Sys_Printf("        After clipping w/ side %i we have:\n", j);
-+                      for (z = 0; z < w->numpoints; z++) {
-+                              Sys_Printf("            (%.8f %.8f %.8f)\n", w->p[z][0], w->p[z][1], w->p[z][2]);
++                      if (w)
++                      {
++                              for (z = 0; z < w->numpoints; z++)
++                              {
++                                      Sys_Printf("            (%.8f %.8f %.8f)\n", w->p[z][0], w->p[z][1], w->p[z][2]);
++                              }
 +                      }
-                       
++                      else
++                      {
++                              Sys_Printf("            winding is NULL\n");
++                      }
++
                        /* ydnar: fix broken windings that would generate trifans */
-                       FixWinding( w );
+ #if EXPERIMENTAL_HIGH_PRECISION_MATH_Q3MAP2_FIXES
+                       FixWindingAccu(w);
 Index: tools/quake3/q3map2/map.c
 ===================================================================
---- tools/quake3/q3map2/map.c  (revision 371)
+--- tools/quake3/q3map2/map.c  (revision 391)
 +++ tools/quake3/q3map2/map.c  (working copy)
 @@ -803,7 +803,11 @@
        char                    shader[ MAX_QPATH ];
@@ -74,7 +86,7 @@ Index: tools/quake3/q3map2/map.c
                if( !GetToken( qtrue ) )
                        break;
                if( !strcmp( token, "}" ) )
-@@ -917,6 +924,10 @@
+@@ -917,7 +924,16 @@
                }
                
                /* find the plane number */
@@ -83,5 +95,11 @@ Index: tools/quake3/q3map2/map.c
 +              Sys_Printf("        (%f %f %f)\n", planePoints[1][0], planePoints[1][1], planePoints[1][2]);
 +              Sys_Printf("        (%f %f %f)\n", planePoints[2][0], planePoints[2][1], planePoints[2][2]);
                planenum = MapPlaneFromPoints( planePoints );
++              Sys_Printf("        normal: (%.10f %.10f %.10f)\n",
++                              mapplanes[planenum].normal[0],
++                              mapplanes[planenum].normal[1],
++                              mapplanes[planenum].normal[2]);
++              Sys_Printf("        dist: %.10f\n", mapplanes[planenum].dist);
                side->planenum = planenum;
                
+               /* bp: get the texture mapping for this texturedef / plane combination */