Merge pull request #7347 from bebae/master

Allows to start the scene with custom arguments within the editor
This commit is contained in:
Rémi Verschelde 2016-12-23 15:59:16 +01:00 committed by GitHub
commit d1e3c0f017
2 changed files with 9 additions and 12 deletions

View file

@ -1848,7 +1848,6 @@ void EditorNode::_run(bool p_current,const String& p_custom) {
run_filename=scene->get_filename(); run_filename=scene->get_filename();
} else { } else {
args=run_settings_dialog->get_custom_arguments();
current_filename=scene->get_filename(); current_filename=scene->get_filename();
} }
@ -1926,6 +1925,8 @@ void EditorNode::_run(bool p_current,const String& p_custom) {
List<String> breakpoints; List<String> breakpoints;
editor_data.get_editor_breakpoints(&breakpoints); editor_data.get_editor_breakpoints(&breakpoints);
args = Globals::get_singleton()->get("editor/main_run_args");
Error error = editor_run.run(run_filename,args,breakpoints,current_filename); Error error = editor_run.run(run_filename,args,breakpoints,current_filename);
@ -5458,7 +5459,7 @@ EditorNode::EditorNode() {
editor_import_export->load_config(); editor_import_export->load_config();
GLOBAL_DEF("editor/main_run_args","$exec -path $path -scene $scene $main_scene"); GLOBAL_DEF("editor/main_run_args","$scene");
ObjectTypeDB::set_type_enabled("CollisionShape",true); ObjectTypeDB::set_type_enabled("CollisionShape",true);
ObjectTypeDB::set_type_enabled("CollisionShape2D",true); ObjectTypeDB::set_type_enabled("CollisionShape2D",true);

View file

@ -55,15 +55,6 @@ Error EditorRun::run(const String& p_scene,const String p_custom_args,const List
args.push_back("-epid"); args.push_back("-epid");
args.push_back(String::num(OS::get_singleton()->get_process_ID())); args.push_back(String::num(OS::get_singleton()->get_process_ID()));
if (p_custom_args!="") {
Vector<String> cargs=p_custom_args.split(" ",false);
for(int i=0;i<cargs.size();i++) {
args.push_back(cargs[i].replace("%20"," ").replace("$scene",p_edited_scene.replace(" ","%20")));
}
}
if (debug_collisions) { if (debug_collisions) {
args.push_back("-debugcol"); args.push_back("-debugcol");
} }
@ -150,7 +141,12 @@ Error EditorRun::run(const String& p_scene,const String p_custom_args,const List
args.push_back(bpoints); args.push_back(bpoints);
} }
args.push_back(p_scene); if (p_custom_args!="") {
Vector<String> cargs=p_custom_args.split(" ",false);
for(int i=0;i<cargs.size();i++) {
args.push_back(cargs[i].replace("$scene",p_scene).replace(" ","%20"));
}
}
String exec = OS::get_singleton()->get_executable_path(); String exec = OS::get_singleton()->get_executable_path();