turn quake3 tools to cpp
This commit is contained in:
147
tools/quake3/q3data/oldstuff.cpp
Normal file
147
tools/quake3/q3data/oldstuff.cpp
Normal file
@@ -0,0 +1,147 @@
|
||||
/*
|
||||
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 ( strchr( 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
|
||||
Reference in New Issue
Block a user