]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - tools/quake3/q3map2/path_init.c
change -convert arguments to get -readmap, -readbsp arguments
[xonotic/netradiant.git] / tools / quake3 / q3map2 / path_init.c
index 538502d162219608122f13e8fd5e0736ecc97481..e6b4d959b7d06f16dff3f7b17204edb0d7ad9e89 100644 (file)
@@ -109,6 +109,7 @@ void LokiInitPaths( char *argv0 )
                strcpy( installPath, "../" );
        #else
                char            temp[ MAX_OS_PATH ];
+               char            last0[ 2 ];
                char            *home;
                char            *path;
                char            *last;
@@ -122,7 +123,7 @@ void LokiInitPaths( char *argv0 )
                
                /* do some path divining */
                strcpy( temp, argv0 );
-               if( strrchr( temp, '/' ) )
+               if( strrchr( argv0, '/' ) )
                        argv0 = strrchr( argv0, '/' ) + 1;
                else
                {
@@ -130,6 +131,7 @@ void LokiInitPaths( char *argv0 )
                        path = getenv( "PATH" );
                        
                        /* minor setup */
+                       last = last0;
                        last[ 0 ] = path[ 0 ];
                        last[ 1 ] = '\0';
                        found = qfalse;
@@ -280,7 +282,7 @@ void AddHomeBasePath( char *path )
                        return;
 
                /* make a hole */
-               for( i = 0; i < (MAX_BASE_PATHS - 1); i++ )
+               for( i = (MAX_BASE_PATHS - 2); i >= 0; i-- )
                        basePaths[ i + 1 ] = basePaths[ i ];
                
                /* concatenate home dir and path */
@@ -359,6 +361,21 @@ void InitPaths( int *argc, char **argv )
                        argv[ i ] = NULL;
                }
 
+               /* -fs_forbiddenpath */
+               else if( strcmp( argv[ i ], "-fs_forbiddenpath" ) == 0 )
+               {
+                       if( ++i >= *argc )
+                               Error( "Out of arguments: No path specified after %s.", argv[ i - 1 ] );
+                       argv[ i - 1 ] = NULL;
+                       if(g_numForbiddenDirs < VFS_MAXDIRS)
+                       {
+                               strncpy(g_strForbiddenDirs[g_numForbiddenDirs], argv[i], PATH_MAX);
+                               g_strForbiddenDirs[g_numForbiddenDirs][PATH_MAX] = 0;
+                               ++g_numForbiddenDirs;
+                       }
+                       argv[ i ] = NULL;
+               }
+
                /* -fs_basepath */
                else if( strcmp( argv[ i ], "-fs_basepath" ) == 0 )
                {