diff options
Diffstat (limited to 'main/main.cpp')
-rw-r--r-- | main/main.cpp | 344 |
1 files changed, 151 insertions, 193 deletions
diff --git a/main/main.cpp b/main/main.cpp index 562388af88..e49c66dddf 100644 --- a/main/main.cpp +++ b/main/main.cpp @@ -28,6 +28,7 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ #include "main.h" + #include "app_icon.gen.h" #include "core/register_core_types.h" #include "drivers/register_driver_types.h" @@ -110,6 +111,7 @@ static bool force_lowdpi = false; static int init_screen = -1; static bool use_vsync = true; static bool editor = false; +static bool show_help = false; static OS::ProcessID allow_focus_steal_pid = 0; @@ -128,63 +130,88 @@ static String unescape_cmdline(const String &p_str) { void Main::print_help(const char *p_binary) { - OS::get_singleton()->print(VERSION_FULL_NAME " (c) 2008-2017 Juan Linietsky, Ariel Manzur.\n"); - OS::get_singleton()->print("Usage: %s [options] [scene]\n", p_binary); - OS::get_singleton()->print("Options:\n"); - OS::get_singleton()->print("\t-path [dir] : Path to a game, containing project.godot\n"); -#ifdef TOOLS_ENABLED - OS::get_singleton()->print("\t-e,-editor : Bring up the editor instead of running the scene.\n"); -#endif - OS::get_singleton()->print("\t-test [test] : Run a test.\n"); - OS::get_singleton()->print("\t\t("); - const char **test_names = tests_get_names(); - const char *coma = ""; - while (*test_names) { + OS::get_singleton()->print(VERSION_FULL_NAME " - https://godotengine.org\n"); + OS::get_singleton()->print("(c) 2007-2017 Juan Linietsky, Ariel Manzur.\n"); + OS::get_singleton()->print("(c) 2014-2017 Godot Engine contributors.\n"); + OS::get_singleton()->print("\n"); + OS::get_singleton()->print("Usage: %s [options] [path to scene or 'project.godot' file]\n", p_binary); + OS::get_singleton()->print("\n"); - OS::get_singleton()->print("%s%s", coma, *test_names); - test_names++; - coma = ", "; - } - OS::get_singleton()->print(")\n"); - - OS::get_singleton()->print("\t-r WIDTHxHEIGHT\t : Request Window Resolution\n"); - OS::get_singleton()->print("\t-p XxY\t : Request Window Position\n"); - OS::get_singleton()->print("\t-f\t\t : Request Fullscreen\n"); - OS::get_singleton()->print("\t-mx\t\t Request Maximized\n"); - OS::get_singleton()->print("\t-w\t\t Request Windowed\n"); - OS::get_singleton()->print("\t-vd DRIVER\t : Video Driver ("); - for (int i = 0; i < OS::get_singleton()->get_video_driver_count(); i++) { + OS::get_singleton()->print("General options:\n"); + OS::get_singleton()->print(" -h, --help Display this help message.\n"); + OS::get_singleton()->print(" -v, --verbose Use verbose stdout mode.\n"); + OS::get_singleton()->print(" --quiet Quiet mode, silences stdout messages. Errors are still displayed.\n"); + OS::get_singleton()->print("\n"); + OS::get_singleton()->print("Run options:\n"); +#ifdef TOOLS_ENABLED + OS::get_singleton()->print(" -e, --editor Start the editor instead of running the scene.\n"); + OS::get_singleton()->print(" -p, --project-manager Start the project manager, even if a project is auto-detected.\n"); +#endif + OS::get_singleton()->print(" -l, --language <locale> Use a specific locale (<locale> being a two-letter code).\n"); + OS::get_singleton()->print(" --path <directory> Path to a project (<directory> must contain a 'project.godot' file).\n"); + OS::get_singleton()->print(" --main-pack <file> Path to a pack (.pck) file to load.\n"); + OS::get_singleton()->print(" --render-thread <mode> Render thread mode ('unsafe', 'safe', 'separate').\n"); + OS::get_singleton()->print(" --remote-fs <address> Remote filesystem (<host/IP>[:<port>] address).\n"); + OS::get_singleton()->print(" --remote-fs-password <password> Password for remote filesystem.\n"); + OS::get_singleton()->print(" --audio-driver <driver> Audio driver ("); + for (int i = 0; i < OS::get_singleton()->get_audio_driver_count(); i++) { if (i != 0) OS::get_singleton()->print(", "); - OS::get_singleton()->print("%s", OS::get_singleton()->get_video_driver_name(i)); + OS::get_singleton()->print("'%s'", OS::get_singleton()->get_audio_driver_name(i)); } - OS::get_singleton()->print(")\n"); - OS::get_singleton()->print("\t-ldpi\t : Force low-dpi mode (OSX Only)\n"); - - OS::get_singleton()->print("\t-ad DRIVER\t : Audio Driver ("); - for (int i = 0; i < OS::get_singleton()->get_audio_driver_count(); i++) { - + OS::get_singleton()->print(").\n"); + OS::get_singleton()->print(" --video-driver <driver> Video driver ("); + for (int i = 0; i < OS::get_singleton()->get_video_driver_count(); i++) { if (i != 0) OS::get_singleton()->print(", "); - OS::get_singleton()->print("%s", OS::get_singleton()->get_audio_driver_name(i)); + OS::get_singleton()->print("'%s'", OS::get_singleton()->get_video_driver_name(i)); } - OS::get_singleton()->print(")\n"); - OS::get_singleton()->print("\t-rthread <mode>\t : Render Thread Mode ('unsafe', 'safe', 'separate').\n"); - OS::get_singleton()->print("\t-s,-script [script] : Run a script.\n"); - OS::get_singleton()->print("\t-d,-debug : Debug (local stdout debugger).\n"); - OS::get_singleton()->print("\t-rdebug ADDRESS : Remote debug (<ip>:<port> host address).\n"); - OS::get_singleton()->print("\t-fdelay [msec]: Simulate high CPU load (delay each frame by [msec]).\n"); - OS::get_singleton()->print("\t-timescale [msec]: Simulate high CPU load (delay each frame by [msec]).\n"); - OS::get_singleton()->print("\t-bp : breakpoint list as source::line comma separated pairs, no spaces (%%20,%%2C,etc instead).\n"); - OS::get_singleton()->print("\t-v : Verbose stdout mode\n"); - OS::get_singleton()->print("\t-lang [locale]: Use a specific locale\n"); - OS::get_singleton()->print("\t-rfs <host/ip>[:<port>] : Remote FileSystem.\n"); - OS::get_singleton()->print("\t-rfs_pass <password> : Password for Remote FileSystem.\n"); + OS::get_singleton()->print(").\n"); + OS::get_singleton()->print("\n"); + + OS::get_singleton()->print("Display options:\n"); + OS::get_singleton()->print(" -f, --fullscreen Request fullscreen mode.\n"); + OS::get_singleton()->print(" -m, --maximized Request a maximized window.\n"); + OS::get_singleton()->print(" -w, --windowed Request windowed mode.\n"); + OS::get_singleton()->print(" --resolution <W>x<H> Request window resolution.\n"); + OS::get_singleton()->print(" --position <X>,<Y> Request window position.\n"); + OS::get_singleton()->print(" --low-dpi Force low-DPI mode (macOS only).\n"); + OS::get_singleton()->print(" --no-window Disable window creation (Windows only). Useful together with --script.\n"); + OS::get_singleton()->print("\n"); + + OS::get_singleton()->print("Debug options:\n"); + OS::get_singleton()->print(" -d, --debug Debug (local stdout debugger).\n"); + OS::get_singleton()->print(" -b, --breakpoints Breakpoint list as source::line comma-separated pairs, no spaces (use %%20 instead).\n"); + OS::get_singleton()->print(" --profiling Enable profiling in the script debugger.\n"); + OS::get_singleton()->print(" --remote-debug <address> Remote debug (<host/IP>:<port> address).\n"); +#ifdef DEBUG_ENABLED + OS::get_singleton()->print(" --debug-collisions Show collisions shapes when running the scene.\n"); + OS::get_singleton()->print(" --debug-navigation Show navigation polygons when running the scene.\n"); +#endif + OS::get_singleton()->print(" --frame-delay <ms> Simulate high CPU load (delay each frame by <ms> milliseconds).\n"); + OS::get_singleton()->print(" --time-scale <scale> Force time scale (higher values are faster, 1.0 is normal speed).\n"); + OS::get_singleton()->print("\n"); + + OS::get_singleton()->print("Standalone tools:\n"); + OS::get_singleton()->print(" -s, --script <script> Run a script.\n"); #ifdef TOOLS_ENABLED - OS::get_singleton()->print("\t-doctool FILE: Dump the whole engine api to FILE in XML format. If FILE exists, it will be merged.\n"); - OS::get_singleton()->print("\t-nodocbase: Disallow dump the base types (used with -doctool).\n"); - OS::get_singleton()->print("\t-export [target] Export the project using given export target.\n"); + OS::get_singleton()->print(" --export <target> Export the project using the given export target.\n"); + OS::get_singleton()->print(" --export-debug Use together with --export, enables debug mode for the template.\n"); + OS::get_singleton()->print(" --doctool <file> Dump the whole engine API to <file> in XML format. If <file> exists, it will be merged.\n"); + OS::get_singleton()->print(" --no-docbase Disallow dumping the base types (used with --doctool).\n"); +#ifdef DEBUG_METHODS_ENABLED + OS::get_singleton()->print(" --gdnative-generate-json-api Generate JSON dump of the Godot API for GDNative bindings.\n"); +#endif + OS::get_singleton()->print(" --test <test> Run a unit test ("); + const char **test_names = tests_get_names(); + const char *comma = ""; + while (*test_names) { + OS::get_singleton()->print("%s'%s'", comma, *test_names); + test_names++; + comma = ", "; + } + OS::get_singleton()->print(").\n"); #endif } @@ -254,15 +281,10 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph String remotefs; String remotefs_pass; - String screen = ""; - - List<String> pack_list; Vector<String> breakpoints; bool use_custom_res = true; bool force_res = false; - I = args.front(); - packed_data = PackedData::get_singleton(); if (!packed_data) packed_data = memnew(PackedData); @@ -279,18 +301,17 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph packed_data->add_pack_source(zip_packed_data); #endif + I = args.front(); while (I) { List<String>::Element *N = I->next(); - if (I->get() == "-noop") { - - // no op - } else if (I->get() == "-h" || I->get() == "--help" || I->get() == "/?") { // resolution + if (I->get() == "-h" || I->get() == "--help" || I->get() == "/?") { // display help + show_help = true; goto error; - } else if (I->get() == "-r") { // resolution + } else if (I->get() == "--resolution") { // force resolution if (I->next()) { @@ -298,16 +319,16 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph if (vm.find("x") == -1) { // invalid parameter format - OS::get_singleton()->print("Invalid -r argument: %s\n", vm.utf8().get_data()); + OS::get_singleton()->print("Invalid resolution '%s', it should be e.g. '1280x720'.\n", vm.utf8().get_data()); goto error; } int w = vm.get_slice("x", 0).to_int(); int h = vm.get_slice("x", 1).to_int(); - if (w == 0 || h == 0) { + if (w <= 0 || h <= 0) { - OS::get_singleton()->print("Invalid -r resolution, x and y must be >0\n"); + OS::get_singleton()->print("Invalid resolution '%s', width and height must be above 0.\n", vm.utf8().get_data()); goto error; } @@ -317,84 +338,86 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph N = I->next()->next(); } else { - OS::get_singleton()->print("Invalid -p argument, needs resolution\n"); + OS::get_singleton()->print("Missing resolution argument, aborting.\n"); goto error; } - } else if (I->get() == "-p") { // position + } else if (I->get() == "--position") { // set window position if (I->next()) { String vm = I->next()->get(); - if (vm.find("x") == -1) { // invalid parameter format + if (vm.find(",") == -1) { // invalid parameter format - OS::get_singleton()->print("Invalid -p argument: %s\n", vm.utf8().get_data()); + OS::get_singleton()->print("Invalid position '%s', it should be e.g. '80,128'.\n", vm.utf8().get_data()); goto error; } - int x = vm.get_slice("x", 0).to_int(); - int y = vm.get_slice("x", 1).to_int(); + int x = vm.get_slice(",", 0).to_int(); + int y = vm.get_slice(",", 1).to_int(); init_custom_pos = Point2(x, y); init_use_custom_pos = true; N = I->next()->next(); } else { - OS::get_singleton()->print("Invalid -r argument, needs position\n"); + OS::get_singleton()->print("Missing position argument, aborting.\n"); goto error; } - } else if (I->get() == "-mx") { // video driver + } else if (I->get() == "-m" || I->get() == "--maximized") { // force maximized window init_maximized = true; - } else if (I->get() == "-w") { // video driver + } else if (I->get() == "-w" || I->get() == "--windowed") { // force windowed window init_windowed = true; - } else if (I->get() == "-profile") { // video driver + } else if (I->get() == "--profiling") { // enable profiling use_debug_profiler = true; - } else if (I->get() == "-vd") { // video driver + } else if (I->get() == "--video-driver") { // force video driver if (I->next()) { video_driver = I->next()->get(); N = I->next()->next(); } else { - OS::get_singleton()->print("Invalid -cd argument, needs driver name\n"); + OS::get_singleton()->print("Missing video driver argument, aborting.\n"); goto error; } - } else if (I->get() == "-lang") { // language + } else if (I->get() == "-l" || I->get() == "--language") { // language if (I->next()) { locale = I->next()->get(); N = I->next()->next(); } else { - OS::get_singleton()->print("Invalid -lang argument, needs language code\n"); + OS::get_singleton()->print("Missing language argument, aborting.\n"); goto error; } - } else if (I->get() == "-ldpi") { // language + } else if (I->get() == "--low-dpi") { // force low DPI (macOS only) force_lowdpi = true; - } else if (I->get() == "-rfs") { // language + } else if (I->get() == "--remote-fs") { // remote filesystem if (I->next()) { remotefs = I->next()->get(); N = I->next()->next(); } else { + OS::get_singleton()->print("Missing remote filesystem address, aborting.\n"); goto error; } - } else if (I->get() == "-rfs_pass") { // language + } else if (I->get() == "--remote-fs-password") { // remote filesystem password if (I->next()) { remotefs_pass = I->next()->get(); N = I->next()->next(); } else { + OS::get_singleton()->print("Missing remote filesystem password, aborting.\n"); goto error; } - } else if (I->get() == "-rthread") { // language + } else if (I->get() == "--render-thread") { // render thread mode if (I->next()) { @@ -407,35 +430,37 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph N = I->next()->next(); } else { + OS::get_singleton()->print("Missing render thread mode argument, aborting.\n"); goto error; } - } else if (I->get() == "-ad") { // video driver + } else if (I->get() == "--audio-driver") { // audio driver if (I->next()) { audio_driver = I->next()->get(); N = I->next()->next(); } else { + OS::get_singleton()->print("Missing audio driver argument, aborting.\n"); goto error; } - } else if (I->get() == "-f") { // fullscreen + } else if (I->get() == "-f" || I->get() == "--fullscreen") { // force fullscreen //video_mode.fullscreen=false; init_fullscreen = true; - } else if (I->get() == "-e" || I->get() == "-editor") { // fonud editor + } else if (I->get() == "-e" || I->get() == "--editor") { // starts editor editor = true; - } else if (I->get() == "-nowindow") { // fullscreen + } else if (I->get() == "--no-window") { // disable window creation, Windows only OS::get_singleton()->set_no_window_mode(true); - } else if (I->get() == "-quiet") { // fullscreen + } else if (I->get() == "--quiet") { // quieter output quiet_stdout = true; - } else if (I->get() == "-v") { // fullscreen + } else if (I->get() == "-v" || I->get() == "--verbose") { // verbose output OS::get_singleton()->_verbose_stdout = true; - } else if (I->get() == "-path") { // resolution + } else if (I->get() == "--path") { // set path of project to start or edit if (I->next()) { @@ -447,6 +472,7 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph } N = I->next()->next(); } else { + OS::get_singleton()->print("Missing relative or absolute path, aborting.\n"); goto error; } } else if (I->get().ends_with("project.godot")) { @@ -466,7 +492,7 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph #ifdef TOOLS_ENABLED editor = true; #endif - } else if (I->get() == "-bp") { // /breakpoints + } else if (I->get() == "-b" || I->get() == "--breakpoints") { // add breakpoints if (I->next()) { @@ -474,87 +500,72 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph breakpoints = bplist.split(","); N = I->next()->next(); } else { + OS::get_singleton()->print("Missing list of breakpoints, aborting.\n"); goto error; } - } else if (I->get() == "-fdelay") { // resolution + } else if (I->get() == "--frame-delay") { // force frame delay if (I->next()) { frame_delay = I->next()->get().to_int(); N = I->next()->next(); } else { + OS::get_singleton()->print("Missing frame delay argument, aborting.\n"); goto error; } - } else if (I->get() == "-timescale") { // resolution + } else if (I->get() == "--time-scale") { // force time scale if (I->next()) { Engine::get_singleton()->set_time_scale(I->next()->get().to_double()); N = I->next()->next(); } else { + OS::get_singleton()->print("Missing time scale argument, aborting.\n"); goto error; } - } else if (I->get() == "-pack") { - - if (I->next()) { - - pack_list.push_back(I->next()->get()); - N = I->next()->next(); - } else { - - goto error; - }; - - } else if (I->get() == "-main_pack") { + } else if (I->get() == "--main-pack") { if (I->next()) { main_pack = I->next()->get(); N = I->next()->next(); } else { - + OS::get_singleton()->print("Missing path to main pack file, aborting.\n"); goto error; }; - } else if (I->get() == "-debug" || I->get() == "-d") { + } else if (I->get() == "-d" || I->get() == "--debug") { debug_mode = "local"; #ifdef DEBUG_ENABLED - } else if (I->get() == "-debugcol" || I->get() == "-dc") { + } else if (I->get() == "--debug-collisions") { debug_collisions = true; - } else if (I->get() == "-debugnav" || I->get() == "-dn") { + } else if (I->get() == "--debug-navigation") { debug_navigation = true; #endif - } else if (I->get() == "-editor_scene") { - - if (I->next()) { - - ProjectSettings::get_singleton()->set("editor_scene", game_path = I->next()->get()); - } else { - goto error; - } - - } else if (I->get() == "-rdebug") { + } else if (I->get() == "--remote-debug") { if (I->next()) { debug_mode = "remote"; debug_host = I->next()->get(); - if (debug_host.find(":") == -1) { //wrong host - OS::get_singleton()->print("Invalid debug host string\n"); + if (debug_host.find(":") == -1) { // wrong address + OS::get_singleton()->print("Invalid debug host address, it should be of the form <host/IP>:<port>.\n"); goto error; } N = I->next()->next(); } else { + OS::get_singleton()->print("Missing remote debug host address, aborting.\n"); goto error; } - } else if (I->get() == "-allow_focus_steal_pid") { + } else if (I->get() == "--allow_focus_steal_pid") { // not exposed to user if (I->next()) { allow_focus_steal_pid = I->next()->get().to_int64(); N = I->next()->next(); } else { + OS::get_singleton()->print("Missing editor PID argument, aborting.\n"); goto error; } } else { @@ -618,7 +629,7 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph Error err = file_access_network_client->connect(remotefs, port, remotefs_pass); if (err) { - OS::get_singleton()->printerr("Could not connect to remotefs: %s:%i\n", remotefs.utf8().get_data(), port); + OS::get_singleton()->printerr("Could not connect to remotefs: %s:%i.\n", remotefs.utf8().get_data(), port); goto error; } @@ -654,7 +665,7 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph #ifdef TOOLS_ENABLED editor = false; #else - OS::get_singleton()->print("error: Couldn't load game path '%s'\n", game_path.ascii().get_data()); + OS::get_singleton()->print("Error: Could not load game path '%s'.\n", game_path.ascii().get_data()); goto error; #endif @@ -662,7 +673,7 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph if (editor) { Engine::get_singleton()->set_editor_hint(true); - main_args.push_back("-editor"); + main_args.push_back("--editor"); init_maximized = true; use_custom_res = false; } @@ -744,11 +755,7 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph OS::get_singleton()->_render_thread_mode = OS::RenderThreadMode(rtm); } - /* Determine Video Driver */ - - if (audio_driver == "") { // specified in project.godot - audio_driver = GLOBAL_DEF("audio/driver", OS::get_singleton()->get_audio_driver_name(0)); - } + /* Determine audio and video drivers */ for (int i = 0; i < OS::get_singleton()->get_video_driver_count(); i++) { @@ -766,6 +773,10 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph //goto error; } + if (audio_driver == "") { // specified in project.godot + audio_driver = GLOBAL_DEF("audio/driver", OS::get_singleton()->get_audio_driver_name(0)); + } + for (int i = 0; i < OS::get_singleton()->get_audio_driver_count(); i++) { if (audio_driver == OS::get_singleton()->get_audio_driver_name(i)) { @@ -833,7 +844,8 @@ error: args.clear(); main_args.clear(); - print_help(execpath); + if (show_help) + print_help(execpath); if (performance) memdelete(performance); @@ -1053,23 +1065,18 @@ bool Main::start() { String game_path; String script; String test; - String screen; String _export_preset; - String _import; - String _import_script; - bool noquit = false; bool export_debug = false; bool project_manager_request = false; + List<String> args = OS::get_singleton()->get_cmdline_args(); for (int i = 0; i < args.size(); i++) { //parameters that do not have an argument to the right - if (args[i] == "-nodocbase") { + if (args[i] == "--no-docbase") { doc_base = false; - } else if (args[i] == "-noquit") { - noquit = true; - } else if (args[i] == "-editor" || args[i] == "-e") { + } else if (args[i] == "-e" || args[i] == "--editor") { editor = true; - } else if (args[i] == "-pm" || args[i] == "-project_manager") { + } else if (args[i] == "-p" || args[i] == "--project-manager") { project_manager_request = true; } else if (args[i].length() && args[i][0] != '-' && game_path == "") { game_path = args[i]; @@ -1077,29 +1084,21 @@ bool Main::start() { //parameters that have an argument to the right else if (i < (args.size() - 1)) { bool parsed_pair = true; - if (args[i] == "-doctool") { + if (args[i] == "--doctool") { doc_tool = args[i + 1]; for (int j = i + 2; j < args.size(); j++) removal_docs.push_back(args[j]); - } else if (args[i] == "-script" || args[i] == "-s") { + } else if (args[i] == "-s" || args[i] == "--script") { script = args[i + 1]; - } else if (args[i] == "-level" || args[i] == "-l") { - Engine::get_singleton()->_custom_level = args[i + 1]; - } else if (args[i] == "-test") { + } else if (args[i] == "--test") { test = args[i + 1]; - } else if (args[i] == "-export") { + } else if (args[i] == "--export") { editor = true; //needs editor _export_preset = args[i + 1]; - } else if (args[i] == "-export_debug") { + } else if (args[i] == "--export-debug") { editor = true; //needs editor _export_preset = args[i + 1]; export_debug = true; - } else if (args[i] == "-import") { - editor = true; //needs editor - _import = args[i + 1]; - } else if (args[i] == "-import_script") { - editor = true; //needs editor - _import_script = args[i + 1]; } else { // The parameter does not match anything known, don't skip the next argument parsed_pair = false; @@ -1145,7 +1144,7 @@ bool Main::start() { if (_export_preset != "") { if (game_path == "") { String err = "Command line param "; - err += export_debug ? "-export_debug" : "-export"; + err += export_debug ? "--export-debug" : "--export"; err += " passed but no destination path given.\n"; err += "Please specify the binary's file path to export to. Aborting export."; ERR_PRINT(err.utf8().get_data()); @@ -1205,7 +1204,7 @@ bool Main::start() { if (!main_loop) { if (!ClassDB::class_exists(main_loop_type)) { - OS::get_singleton()->alert("godot: error: MainLoop type doesn't exist: " + main_loop_type); + OS::get_singleton()->alert("Error: MainLoop type doesn't exist: " + main_loop_type); return false; } else { @@ -1355,19 +1354,8 @@ bool Main::start() { #ifdef TOOLS_ENABLED if (editor) { - if (_import != "") { - - //editor_node->import_scene(_import,local_game_path,_import_script); - if (!noquit) - sml->quit(); - game_path = ""; //no load anything - } else { - - Error serr = editor_node->load_scene(local_game_path); - } + Error serr = editor_node->load_scene(local_game_path); OS::get_singleton()->set_context(OS::CONTEXT_EDITOR); - - //editor_node->set_edited_scene(game); } #endif } @@ -1441,7 +1429,6 @@ bool Main::start() { n->set_name(name); //defer so references are all valid on _ready() - //sml->get_root()->add_child(n); to_add.push_back(n); if (global_var) { @@ -1466,7 +1453,6 @@ bool Main::start() { ERR_EXPLAIN("Failed loading scene: " + local_game_path); ERR_FAIL_COND_V(!scene, false) - //sml->get_root()->add_child(scene); sml->add_current_scene(scene); String iconpath = GLOBAL_DEF("application/config/icon", "Variant()"); @@ -1480,27 +1466,6 @@ bool Main::start() { } #ifdef TOOLS_ENABLED - - /*if (_export_platform!="") { - - sml->quit(); - }*/ - - /* - if (sml->get_root_node()) { - - Console *console = memnew( Console ); - - sml->get_root_node()->cast_to<RootNode>()->set_console(console); - if (GLOBAL_DEF("console/visible_default",false).operator bool()) { - - console->show(); - } else {P - - console->hide(); - }; - } -*/ if (project_manager_request || (script == "" && test == "" && game_path == "" && !editor)) { ProjectManager *pmanager = memnew(ProjectManager); @@ -1509,7 +1474,6 @@ bool Main::start() { sml->get_root()->add_child(pmanager); OS::get_singleton()->set_context(OS::CONTEXT_PROJECTMAN); } - #endif } @@ -1590,10 +1554,6 @@ bool Main::iteration() { time_accum -= frame_slice; message_queue->flush(); - /* - if (AudioServer::get_singleton()) - AudioServer::get_singleton()->update(); - */ fixed_process_ticks = MAX(fixed_process_ticks, OS::get_singleton()->get_ticks_usec() - fixed_begin); // keep the largest one for reference fixed_process_max = MAX(OS::get_singleton()->get_ticks_usec() - fixed_begin, fixed_process_max); @@ -1642,7 +1602,6 @@ bool Main::iteration() { script_debugger->idle_poll(); } - //x11_delay_usec(10000); frames++; Engine::get_singleton()->_idle_frames++; @@ -1744,7 +1703,6 @@ void Main::cleanup() { unregister_core_driver_types(); unregister_core_types(); - //PerformanceMetrics::finish(); OS::get_singleton()->clear_last_error(); OS::get_singleton()->finalize_core(); } |