X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fnetradiant.git;a=blobdiff_plain;f=radiant%2Fmain.cpp;h=dad69f5cdc874bf647f8bfc5a020b7080a23f2d6;hp=386f7106c2dacbd8e5e5b7e88b1481052b3aa7c7;hb=40cb514d661f8e8008671bc02b4d923813869efe;hpb=1c26c420f1b5dabd39b492ab017447172ef5a6c8 diff --git a/radiant/main.cpp b/radiant/main.cpp index 386f7106..dad69f5c 100644 --- a/radiant/main.cpp +++ b/radiant/main.cpp @@ -64,8 +64,6 @@ #include "main.h" #include "globaldefs.h" -#include "version.h" - #include "debugging/debugging.h" #include "iundo.h" @@ -329,6 +327,7 @@ void paths_init(){ Q_mkdir( g_strSettingsPath.c_str() ); + g_strAppFilePath = environment_get_app_filepath(); g_strAppPath = environment_get_app_path(); g_strLibPath = environment_get_lib_path(); g_strDataPath = environment_get_data_path(); @@ -521,29 +520,40 @@ int main( int argc, char* argv[] ){ #endif const char* mapname = NULL; + +#if GDEF_OS_WINDOWS + StringOutputStream mapname_buffer( 256 ); +#endif + char const *error = NULL; + if ( !ui::init( &argc, &argv, "", &error) ) { g_print( "%s\n", error ); return -1; } // Gtk already removed parsed `--options` - if (argc == 2) { - if ( strlen( argv[1] ) > 1 ) { - if ( g_str_has_suffix( argv[1], ".map" ) ) { - if ( g_path_is_absolute( argv[1] ) ) { - mapname = argv[1]; - } - else { - mapname = g_build_filename( g_get_current_dir(), argv[1], NULL ); + if ( argc == 2 ) { + if ( strlen( argv[ 1 ] ) > 1 ) { + mapname = argv[ 1 ]; + + if ( g_str_has_suffix( mapname, ".map" ) ) { + if ( !g_path_is_absolute( mapname ) ) { + mapname = g_build_filename( g_get_current_dir(), mapname, NULL ); } + +#if GDEF_OS_WINDOWS + mapname_buffer << PathCleaned( mapname ); + mapname = mapname_buffer.c_str(); +#endif } else { - g_print( "bad file name, will not load: %s\n", argv[1] ); + g_print( "bad file name, will not load: %s\n", mapname ); + mapname = NULL; } } } - else if (argc > 2) { + else if ( argc > 2 ) { g_print ( "%s\n", "too many arguments" ); return -1; }