Pārlūkot izejas kodu

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
Ariel Manzur 9 gadi atpakaļ
vecāks
revīzija
ea751724a2
2 mainītis faili ar 8 papildinājumiem un 4 dzēšanām
  1. 5 2
      main/main.cpp
  2. 3 2
      tools/editor/editor_node.cpp

+ 5 - 2
main/main.cpp

@@ -1011,6 +1011,7 @@ bool Main::start() {
 	bool noquit=false;
 	bool convert_old=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
@@ -1022,6 +1023,8 @@ bool Main::start() {
 			convert_old=true;
 		} else if (args[i]=="-editor" || args[i]=="-e") {
 			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 == "") {
 			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("\\","/");
 
@@ -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 );
 			sml->get_root()->add_child(pmanager);

+ 3 - 2
tools/editor/editor_node.cpp

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