forked from FWGS/Paranoia2
fix COM_FileExists, implement args for bsp31migrate
This commit is contained in:
parent
2d035e9c5a
commit
a1c9c58972
|
@ -24,7 +24,7 @@ int main( int argc, char **argv )
|
||||||
if( i != 0 && argc > i+1 )
|
if( i != 0 && argc > i+1 )
|
||||||
SetDeveloperLevel( atoi( argv[i+1] ));
|
SetDeveloperLevel( atoi( argv[i+1] ));
|
||||||
|
|
||||||
if( COM_CheckParm( "--help" ) != 0 )
|
if( COM_CheckParm( "-help" ) != 0 )
|
||||||
{
|
{
|
||||||
Msg( "usage: bsp31migrate -file <path.bsp> -output <path.bsp>\n" );
|
Msg( "usage: bsp31migrate -file <path.bsp> -output <path.bsp>\n" );
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -15,6 +15,7 @@ GNU General Public License for more details.
|
||||||
|
|
||||||
#include "bsp31migrate.h"
|
#include "bsp31migrate.h"
|
||||||
#include "filesystem.h"
|
#include "filesystem.h"
|
||||||
|
#include "stringlib.h"
|
||||||
|
|
||||||
#define VALVE_FORMAT 220
|
#define VALVE_FORMAT 220
|
||||||
|
|
||||||
|
@ -117,46 +118,38 @@ void PrintMapInfo( void )
|
||||||
char *ptr = &g_mapinfo[infolen-2];
|
char *ptr = &g_mapinfo[infolen-2];
|
||||||
|
|
||||||
if( *ptr == ',' ) *ptr = '.';
|
if( *ptr == ',' ) *ptr = '.';
|
||||||
|
Msg( "Map name: %s\n", g_mapname );
|
||||||
Msg( "Map name: %s", g_mapname );
|
|
||||||
Msg( "\nMap type: " );
|
|
||||||
|
|
||||||
switch( g_maptype )
|
switch( g_maptype )
|
||||||
{
|
{
|
||||||
case MAP_XASH31:
|
case MAP_XASH31:
|
||||||
Msg( "^2XashXT BSP31^7" );
|
Msg("Map Type: ^2XashXT BSP31^7\n");
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
COM_FatalError( "%s unknown map format\n", g_mapname );
|
COM_FatalError( "%s unknown map format\n", g_mapname );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if( g_subtype != MAP_NORMAL )
|
|
||||||
Msg( "\nSub type: " );
|
|
||||||
else Msg( "\n" );
|
|
||||||
|
|
||||||
switch( g_subtype )
|
switch( g_subtype )
|
||||||
{
|
{
|
||||||
case MAP_HLFX06:
|
case MAP_HLFX06:
|
||||||
Msg( "^4HLFX 0.6^7\n" );
|
Msg( "Sub type: ^4HLFX 0.6^7\n" );
|
||||||
break;
|
break;
|
||||||
case MAP_XASHXT_OLD:
|
case MAP_XASHXT_OLD:
|
||||||
Msg( "^4XashXT 0.5^7\n" );
|
Msg( "Sub type: ^4XashXT 0.5^7\n" );
|
||||||
break;
|
break;
|
||||||
case MAP_P2SAVIOR:
|
case MAP_P2SAVIOR:
|
||||||
Msg( "^4Paranoia2: Savior^7\n" );
|
Msg( "Sub type: ^4Paranoia2: Savior^7\n" );
|
||||||
break;
|
break;
|
||||||
case MAP_DEPRECATED:
|
case MAP_DEPRECATED:
|
||||||
Msg( "^1intermediate deprecated version^7\n" );
|
Msg( "Sub type: ^1intermediate deprecated version^7\n" );
|
||||||
break;
|
break;
|
||||||
case MAP_XASH3D_EXT:
|
case MAP_XASH3D_EXT:
|
||||||
Msg( "^4Xash3D extended^7\n" );
|
Msg( "Sub type: ^4Xash3D extended^7\n" );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if( g_mapinfo[0] ) Msg( "Map info: %s", g_mapinfo );
|
if( g_mapinfo[0] ) Msg( "Map info: %s\n", g_mapinfo );
|
||||||
|
|
||||||
Msg( "\n\n" );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
|
@ -1180,12 +1173,17 @@ void LoadBSPFile( const char *infilename, const char *outfilename )
|
||||||
|
|
||||||
int BspConvert( int argc, char **argv )
|
int BspConvert( int argc, char **argv )
|
||||||
{
|
{
|
||||||
char source[1024], name[1024];
|
char source[1024], name[1024], name_output[1024];
|
||||||
char output[1024];
|
char output[1024], root[1024];
|
||||||
|
|
||||||
|
|
||||||
if( !COM_GetParmExt( "-file", source, sizeof( source )))
|
if( COM_GetParmExt( "-file", source, sizeof( source )) && COM_GetParmExt( "-output", output, sizeof( output )) )
|
||||||
Q_strncpy( source, "*.bsp", sizeof( source ));
|
{
|
||||||
|
LoadBSPFile( source, output );
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
Q_strncpy( source, "*.bsp", sizeof( source ));
|
||||||
|
|
||||||
search_t *search = COM_Search( source, true );
|
search_t *search = COM_Search( source, true );
|
||||||
|
|
||||||
|
@ -1195,10 +1193,6 @@ int BspConvert( int argc, char **argv )
|
||||||
{
|
{
|
||||||
COM_FileBase( search->filenames[i], name );
|
COM_FileBase( search->filenames[i], name );
|
||||||
Q_snprintf( output, sizeof( output ), "%s.bsp", name );
|
Q_snprintf( output, sizeof( output ), "%s.bsp", name );
|
||||||
#if 0
|
|
||||||
if( COM_FileExists( output ))
|
|
||||||
continue; // map already converted
|
|
||||||
#endif
|
|
||||||
LoadBSPFile( search->filenames[i], output );
|
LoadBSPFile( search->filenames[i], output );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -224,7 +224,7 @@ search_t *COM_Search( const char *pattern, int caseinsensitive, wfile_t *source_
|
||||||
int i, basepathlength, numfiles, numchars;
|
int i, basepathlength, numfiles, numchars;
|
||||||
int resultlistindex, dirlistindex;
|
int resultlistindex, dirlistindex;
|
||||||
const char *slash, *backslash, *colon, *separator;
|
const char *slash, *backslash, *colon, *separator;
|
||||||
char netpath[1024], temp[1024], root[1204];
|
char netpath[1024], temp[1024], root[1024];
|
||||||
stringlist_t resultlist, dirlist;
|
stringlist_t resultlist, dirlist;
|
||||||
char *basepath;
|
char *basepath;
|
||||||
|
|
||||||
|
@ -399,13 +399,25 @@ COM_FileExists
|
||||||
*/
|
*/
|
||||||
bool COM_FileExists( const char *path )
|
bool COM_FileExists( const char *path )
|
||||||
{
|
{
|
||||||
|
#ifdef _WIN32
|
||||||
int desc;
|
int desc;
|
||||||
|
|
||||||
if(( desc = open( path, O_RDONLY|O_BINARY )) < 0 )
|
if(( desc = open( path, O_RDONLY|O_BINARY )) < 0 )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
close( desc );
|
close( desc );
|
||||||
return true;
|
return true;
|
||||||
|
#else
|
||||||
|
int ret;
|
||||||
|
struct stat buf;
|
||||||
|
|
||||||
|
ret = stat( path, &buf );
|
||||||
|
|
||||||
|
if( ret < 0 )
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return S_ISREG( buf.st_mode );
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue