]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - tools/quake3/q3map2/main.c
Merge commit '8d6828cd68e9104c2c68b962b341b4f572b4bc38' into master-merge
[xonotic/netradiant.git] / tools / quake3 / q3map2 / main.c
index b7c91f15e1e3b7a2a1abf842a47ea054a39cd2ea..d36a6ea2d4dfb95e0b7d2bc90cdddf02ffbdc289 100644 (file)
@@ -2107,14 +2107,16 @@ int main( int argc, char **argv ){
                /* -help */
                if ( !strcmp( argv[ i ], "-h" ) || !strcmp( argv[ i ], "--help" )
                        || !strcmp( argv[ i ], "-help" ) ) {
-                       HelpMain(argv[i+1]);
+                       HelpMain( ( i + 1 < argc ) ? argv[ i + 1 ] : NULL );
                        return 0;
                }
 
                /* -connect */
                if ( !strcmp( argv[ i ], "-connect" ) ) {
-                       argv[ i ] = NULL;
-                       i++;
+                       if ( ++i >= argc || !argv[ i ] ) {
+                               Error( "Out of arguments: No address specified after %s", argv[ i - 1 ] );
+                       }
+                       argv[ i - 1 ] = NULL;
                        Broadcast_Setup( argv[ i ] );
                        argv[ i ] = NULL;
                }
@@ -2141,8 +2143,10 @@ int main( int argc, char **argv ){
 
                /* patch subdivisions */
                else if ( !strcmp( argv[ i ], "-subdivisions" ) ) {
-                       argv[ i ] = NULL;
-                       i++;
+                       if ( ++i >= argc || !argv[ i ] ) {
+                               Error( "Out of arguments: No value specified after %s", argv[ i - 1 ] );
+                       }
+                       argv[ i - 1 ] = NULL;
                        patchSubdivisions = atoi( argv[ i ] );
                        argv[ i ] = NULL;
                        if ( patchSubdivisions <= 0 ) {
@@ -2152,8 +2156,10 @@ int main( int argc, char **argv ){
 
                /* threads */
                else if ( !strcmp( argv[ i ], "-threads" ) ) {
-                       argv[ i ] = NULL;
-                       i++;
+                       if ( ++i >= argc || !argv[ i ] ) {
+                               Error( "Out of arguments: No value specified after %s", argv[ i - 1 ] );
+                       }
+                       argv[ i - 1 ] = NULL;
                        numthreads = atoi( argv[ i ] );
                        argv[ i ] = NULL;
                }
@@ -2190,7 +2196,7 @@ int main( int argc, char **argv ){
 
        Sys_Printf( "Q3Map         - v1.0r (c) 1999 Id Software Inc.\n" );
        Sys_Printf( "Q3Map (ydnar) - v" Q3MAP_VERSION "\n" );
-       Sys_Printf( "NetRadiant    - v" RADIANT_VERSION " " __DATE__ " " __TIME__ "\n" );
+       Sys_Printf( RADIANT_NAME "    - v" RADIANT_VERSION " " __DATE__ " " __TIME__ "\n" );
        Sys_Printf( "%s\n", Q3MAP_MOTD );
        Sys_Printf( "%s\n", argv[0] );
 
@@ -2288,6 +2294,9 @@ int main( int argc, char **argv ){
 
        /* ydnar: otherwise create a bsp */
        else{
+               /* used to write Smokin'Guns like tex file */
+               compile_map = qtrue;
+
                r = BSPMain( argc, argv );
        }