]> de.git.xonotic.org Git - voretournament/voretournament.git/blobdiff - misc/mediasource/netradiant-src/tools/quake3/q3data/oldstuff.c
Move the netradiant and fteqcc sources
[voretournament/voretournament.git] / misc / mediasource / netradiant-src / tools / quake3 / q3data / oldstuff.c
diff --git a/misc/mediasource/netradiant-src/tools/quake3/q3data/oldstuff.c b/misc/mediasource/netradiant-src/tools/quake3/q3data/oldstuff.c
new file mode 100644 (file)
index 0000000..045c67e
--- /dev/null
@@ -0,0 +1,151 @@
+/*
+Copyright (C) 1999-2006 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