adds -pm and -project_manager command line options to start project manager

fixes bug where the user has an engine.cfg on the executable directory so it runs the game instead of opening the project manager
This commit is contained in:
Ariel Manzur 2016-02-25 03:02:09 -03:00 committed by Rémi Verschelde
parent d86b12a397
commit 45a0bbe56e
2 changed files with 8 additions and 4 deletions

View File

@ -1011,6 +1011,7 @@ bool Main::start() {
bool noquit=false; bool noquit=false;
bool convert_old=false; bool convert_old=false;
bool export_debug=false; bool export_debug=false;
bool project_manager_request = false;
List<String> args = OS::get_singleton()->get_cmdline_args(); List<String> args = OS::get_singleton()->get_cmdline_args();
for (int i=0;i<args.size();i++) { for (int i=0;i<args.size();i++) {
//parameters that do not have an argument to the right //parameters that do not have an argument to the right
@ -1022,6 +1023,8 @@ bool Main::start() {
convert_old=true; convert_old=true;
} else if (args[i]=="-editor" || args[i]=="-e") { } else if (args[i]=="-editor" || args[i]=="-e") {
editor=true; editor=true;
} else if (args[i] == "-pm" || args[i] == "-project_manager") {
project_manager_request = true;
} else if (args[i].length() && args[i][0] != '-' && game_path == "") { } else if (args[i].length() && args[i][0] != '-' && game_path == "") {
game_path=args[i]; game_path=args[i];
} }
@ -1255,7 +1258,7 @@ bool Main::start() {
} }
if (game_path!="") { if (game_path!="" && !project_manager_request) {
String local_game_path=game_path.replace("\\","/"); String local_game_path=game_path.replace("\\","/");
@ -1462,7 +1465,7 @@ bool Main::start() {
}; };
} }
*/ */
if (script=="" && test=="" && game_path=="" && !editor) { if (project_manager_request || (script=="" && test=="" && game_path=="" && !editor)) {
ProjectManager *pmanager = memnew( ProjectManager ); ProjectManager *pmanager = memnew( ProjectManager );
sml->get_root()->add_child(pmanager); sml->get_root()->add_child(pmanager);

View File

@ -2671,8 +2671,9 @@ void EditorNode::_menu_option_confirm(int p_option,bool p_confirmed) {
String exec = OS::get_singleton()->get_executable_path(); String exec = OS::get_singleton()->get_executable_path();
List<String> args; List<String> args;
args.push_back ( "-path" ); //args.push_back ( "-path" );
args.push_back (exec.get_base_dir() ); //args.push_back (exec.get_base_dir() );
args.push_back("-pm");
OS::ProcessID pid=0; OS::ProcessID pid=0;
Error err = OS::get_singleton()->execute(exec,args,false,&pid); Error err = OS::get_singleton()->execute(exec,args,false,&pid);