fix COM_FileExists, implement args for bsp31migrate

This commit is contained in:
nillerusr 2020-11-16 21:43:24 +03:00
parent 2d035e9c5a
commit a1c9c58972
3 changed files with 33 additions and 27 deletions

View File

@ -24,7 +24,7 @@ int main( int argc, char **argv )
if( i != 0 && argc > 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" );
return 0;

View File

@ -15,6 +15,7 @@ GNU General Public License for more details.
#include "bsp31migrate.h"
#include "filesystem.h"
#include "stringlib.h"
#define VALVE_FORMAT 220
@ -117,46 +118,38 @@ void PrintMapInfo( void )
char *ptr = &g_mapinfo[infolen-2];
if( *ptr == ',' ) *ptr = '.';
Msg( "Map name: %s", g_mapname );
Msg( "\nMap type: " );
Msg( "Map name: %s\n", g_mapname );
switch( g_maptype )
{
case MAP_XASH31:
Msg( "^2XashXT BSP31^7" );
Msg("Map Type: ^2XashXT BSP31^7\n");
break;
default:
COM_FatalError( "%s unknown map format\n", g_mapname );
break;
}
if( g_subtype != MAP_NORMAL )
Msg( "\nSub type: " );
else Msg( "\n" );
switch( g_subtype )
{
case MAP_HLFX06:
Msg( "^4HLFX 0.6^7\n" );
Msg( "Sub type: ^4HLFX 0.6^7\n" );
break;
case MAP_XASHXT_OLD:
Msg( "^4XashXT 0.5^7\n" );
Msg( "Sub type: ^4XashXT 0.5^7\n" );
break;
case MAP_P2SAVIOR:
Msg( "^4Paranoia2: Savior^7\n" );
Msg( "Sub type: ^4Paranoia2: Savior^7\n" );
break;
case MAP_DEPRECATED:
Msg( "^1intermediate deprecated version^7\n" );
Msg( "Sub type: ^1intermediate deprecated version^7\n" );
break;
case MAP_XASH3D_EXT:
Msg( "^4Xash3D extended^7\n" );
Msg( "Sub type: ^4Xash3D extended^7\n" );
break;
}
if( g_mapinfo[0] ) Msg( "Map info: %s", g_mapinfo );
Msg( "\n\n" );
if( g_mapinfo[0] ) Msg( "Map info: %s\n", g_mapinfo );
}
//=============================================================================
@ -1180,12 +1173,17 @@ void LoadBSPFile( const char *infilename, const char *outfilename )
int BspConvert( int argc, char **argv )
{
char source[1024], name[1024];
char output[1024];
char source[1024], name[1024], name_output[1024];
char output[1024], root[1024];
if( !COM_GetParmExt( "-file", source, sizeof( source )))
Q_strncpy( source, "*.bsp", sizeof( source ));
if( COM_GetParmExt( "-file", source, sizeof( source )) && COM_GetParmExt( "-output", output, sizeof( output )) )
{
LoadBSPFile( source, output );
return 0;
}
Q_strncpy( source, "*.bsp", sizeof( source ));
search_t *search = COM_Search( source, true );
@ -1195,10 +1193,6 @@ int BspConvert( int argc, char **argv )
{
COM_FileBase( search->filenames[i], 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 );
}

View File

@ -224,7 +224,7 @@ search_t *COM_Search( const char *pattern, int caseinsensitive, wfile_t *source_
int i, basepathlength, numfiles, numchars;
int resultlistindex, dirlistindex;
const char *slash, *backslash, *colon, *separator;
char netpath[1024], temp[1024], root[1204];
char netpath[1024], temp[1024], root[1024];
stringlist_t resultlist, dirlist;
char *basepath;
@ -399,13 +399,25 @@ COM_FileExists
*/
bool COM_FileExists( const char *path )
{
#ifdef _WIN32
int desc;
if(( desc = open( path, O_RDONLY|O_BINARY )) < 0 )
return false;
close( desc );
return true;
#else
int ret;
struct stat buf;
ret = stat( path, &buf );
if( ret < 0 )
return false;
return S_ISREG( buf.st_mode );
#endif
}
/*