]> git.xonotic.org Git - xonotic/netradiant.git/blobdiff - tools/quake3/q3data/oldstuff.c
q3map2: pad with zero, not with null pointers, ref #160
[xonotic/netradiant.git] / tools / quake3 / q3data / oldstuff.c
index 2444f95ef272d5d45116e7997f3b0f934427e08a..02088c7c888eb6ea96180e3e21643a0936a0bc61 100644 (file)
-#if 0\r
-\r
-/*\r
-** ReindexTriangle\r
-**\r
-** Given a triangle_t, find which indices match into the associated\r
-** surface's base triangles.\r
-*/\r
-static void ReindexTriangle( int surfno, triangle_t *pTri, int indices[3] )\r
-{\r
-       int t, i;\r
-       md3SurfaceData_t *pSurfData = &g_data.surfData[surfno];\r
-       int matches[3][3];\r
-       int numMatches = 0;\r
-               \r
-\r
-       indices[0] = -1;\r
-       indices[1] = -1;\r
-       indices[2] = -1;\r
-\r
-       for ( i = 0; i < 3; i++ )\r
-       {\r
-               numMatches = 0;\r
-\r
-               matches[i][0] = -1;\r
-               matches[i][1] = -1;\r
-               matches[i][2] = -1;\r
-\r
-               for ( t = 0; t < pSurfData->header.numVerts; t++ )\r
-               {\r
-                       if ( !VectorCompare( pTri->verts[i], pSurfData->baseVertexes[t].xyz ) )\r
-                               continue;\r
-\r
-/*                              \r
-                       if ( !VectorCompare( pTri->normals[i], pSurfData->baseVertexes[t].normal ) )\r
-                               continue;\r
-                       if ( pTri->texcoords[i][0] != pSurfData->baseVertexes[t].st[0] )\r
-                               continue;\r
-                       if ( pTri->texcoords[i][1] != pSurfData->baseVertexes[t].st[1] ) \r
-                               continue;\r
-*/\r
-\r
-                       matches[i][numMatches++] = t;\r
-               }\r
-\r
-               if ( indices[i] == -1 )\r
-               {\r
-//                     Error( "Could not ReindexTriangle, vertex not found" );\r
-               }\r
-       }\r
-\r
-#if 0\r
-               for ( t = 0; t < psets[i].numtriangles; t++ )\r
-               {\r
-                       int b;\r
-\r
-                       bTri = &g_data.surfData[i].baseTriangles[t];\r
-\r
-                       for (j=0 ; j<3 ; j++)\r
-                       {\r
-                               bVert = &bTri->v[j];\r
-\r
-                               // get the xyz index\r
-                               for ( k = 0; k < g_data.surfData[i].header.numVerts; k++ )\r
-                               {\r
-                                       if ( ( g_data.surfData[i].baseVertexes[k].st[0] == bVert->st[0] ) &&\r
-                                                ( g_data.surfData[i].baseVertexes[k].st[1] == bVert->st[1] ) &&\r
-                                                ( VectorCompare (bVert->xyz, g_data.surfData[i].baseVertexes[k].xyz) ) &&\r
-                                                ( VectorCompare (bVert->normal, g_data.surfData[i].baseVertexes[k].normal) ) )\r
-                                       {\r
-                                               break;  // this vertex is already in the base vertex list\r
-                                       }\r
-                               }\r
-\r
-                               if (k == g_data.surfData[i].header.numVerts)    { // new index\r
-                                       g_data.surfData[i].baseVertexes[g_data.surfData[i].header.numVerts] = *bVert;\r
-                                       g_data.surfData[i].header.numVerts++;\r
-                               }\r
-\r
-                               bVert->index = k;\r
-                       }\r
-               }\r
-#endif\r
-}\r
-\r
-const char     *FindFrameFile (const char *frame)\r
-{\r
-       int                     time1;\r
-       char    file1[1024];\r
-       static char     retname[1024];\r
-       char    base[32];\r
-       char    suffix[32];\r
-       const char      *s;\r
-\r
-       if (strstr (frame, "."))\r
-               return frame;           // allready in dot format\r
-\r
-       // split 'run1' into 'run' and '1'\r
-       s = frame + strlen(frame)-1;\r
-\r
-       while (s != frame && *s >= '0' && *s <= '9')\r
-               s--;\r
-\r
-       strcpy (suffix, s+1);\r
-       strcpy (base, frame);\r
-       base[s-frame+1] = 0;\r
-\r
-       // check for 'run1.tri'\r
-       sprintf (file1, "%s/%s%s.tri", g_cddir, base, suffix);\r
-       time1 = FileTime (file1);\r
-       if (time1 != -1)\r
-       {\r
-               sprintf (retname, "%s%s.tri", base, suffix);\r
-               return retname;\r
-       }\r
-\r
-       // check for 'run.1'\r
-       sprintf (file1, "%s/%s.%s",g_cddir, base, suffix);\r
-       time1 = FileTime (file1);\r
-       if (time1 != -1)\r
-       {\r
-               sprintf (retname, "%s.%s", base, suffix);\r
-               return retname;\r
-       }\r
-\r
-       Error ("frame %s could not be found",frame);\r
-       return NULL;\r
-}\r
-\r
-#endif\r
+/*
+   Copyright (C) 1999-2007 id Software, Inc. and contributors.
+   For a list of contributors, see the accompanying CONTRIBUTORS file.
+
+   This file is part of GtkRadiant.
+
+   GtkRadiant is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   GtkRadiant is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with GtkRadiant; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ */
+
+#if 0
+
+/*
+** ReindexTriangle
+**
+** Given a triangle_t, find which indices match into the associated
+** surface's base triangles.
+*/
+static void ReindexTriangle( int surfno, triangle_t *pTri, int indices[3] ){
+       int t, i;
+       md3SurfaceData_t *pSurfData = &g_data.surfData[surfno];
+       int matches[3][3];
+       int numMatches = 0;
+
+
+       indices[0] = -1;
+       indices[1] = -1;
+       indices[2] = -1;
+
+       for ( i = 0; i < 3; i++ )
+       {
+               numMatches = 0;
+
+               matches[i][0] = -1;
+               matches[i][1] = -1;
+               matches[i][2] = -1;
+
+               for ( t = 0; t < pSurfData->header.numVerts; t++ )
+               {
+                       if ( !VectorCompare( pTri->verts[i], pSurfData->baseVertexes[t].xyz ) ) {
+                               continue;
+                       }
+
+/*
+            if ( !VectorCompare( pTri->normals[i], pSurfData->baseVertexes[t].normal ) )
+                continue;
+            if ( pTri->texcoords[i][0] != pSurfData->baseVertexes[t].st[0] )
+                continue;
+            if ( pTri->texcoords[i][1] != pSurfData->baseVertexes[t].st[1] )
+                continue;
+ */
+
+                       matches[i][numMatches++] = t;
+               }
+
+               if ( indices[i] == -1 ) {
+//                     Error( "Could not ReindexTriangle, vertex not found" );
+               }
+       }
+
+#if 0
+       for ( t = 0; t < psets[i].numtriangles; t++ )
+       {
+               int b;
+
+               bTri = &g_data.surfData[i].baseTriangles[t];
+
+               for ( j = 0 ; j < 3 ; j++ )
+               {
+                       bVert = &bTri->v[j];
+
+                       // get the xyz index
+                       for ( k = 0; k < g_data.surfData[i].header.numVerts; k++ )
+                       {
+                               if ( ( g_data.surfData[i].baseVertexes[k].st[0] == bVert->st[0] ) &&
+                                        ( g_data.surfData[i].baseVertexes[k].st[1] == bVert->st[1] ) &&
+                                        ( VectorCompare( bVert->xyz, g_data.surfData[i].baseVertexes[k].xyz ) ) &&
+                                        ( VectorCompare( bVert->normal, g_data.surfData[i].baseVertexes[k].normal ) ) ) {
+                                       break;      // this vertex is already in the base vertex list
+                               }
+                       }
+
+                       if ( k == g_data.surfData[i].header.numVerts ) {      // new index
+                               g_data.surfData[i].baseVertexes[g_data.surfData[i].header.numVerts] = *bVert;
+                               g_data.surfData[i].header.numVerts++;
+                       }
+
+                       bVert->index = k;
+               }
+       }
+#endif
+}
+
+const char  *FindFrameFile( const char *frame ){
+       int time1;
+       char file1[1024];
+       static char retname[1024];
+       char base[32];
+       char suffix[32];
+       const char  *s;
+
+       if ( strstr( frame, "." ) ) {
+               return frame;       // allready in dot format
+
+       }
+       // split 'run1' into 'run' and '1'
+       s = frame + strlen( frame ) - 1;
+
+       while ( s != frame && *s >= '0' && *s <= '9' )
+               s--;
+
+       strcpy( suffix, s + 1 );
+       strcpy( base, frame );
+       base[s - frame + 1] = 0;
+
+       // check for 'run1.tri'
+       sprintf( file1, "%s/%s%s.tri", g_cddir, base, suffix );
+       time1 = FileTime( file1 );
+       if ( time1 != -1 ) {
+               sprintf( retname, "%s%s.tri", base, suffix );
+               return retname;
+       }
+
+       // check for 'run.1'
+       sprintf( file1, "%s/%s.%s",g_cddir, base, suffix );
+       time1 = FileTime( file1 );
+       if ( time1 != -1 ) {
+               sprintf( retname, "%s.%s", base, suffix );
+               return retname;
+       }
+
+       Error( "frame %s could not be found",frame );
+       return NULL;
+}
+
+#endif