From f8db8a3faa30b71dca33ced38be16d3f93f43e8a Mon Sep 17 00:00:00 2001 From: Rémi Verschelde Date: Sun, 19 Mar 2017 00:36:26 +0100 Subject: Bring that Whole New World to the Old Continent too Applies the clang-format style to the 2.1 branch as done for master in 5dbf1809c6e3e905b94b8764e99491e608122261. --- editor/editor_node.cpp | 3489 +++++++++++++++++++++--------------------------- 1 file changed, 1550 insertions(+), 1939 deletions(-) (limited to 'editor/editor_node.cpp') diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index 9cfdea51b..36ca4def9 100644 --- a/editor/editor_node.cpp +++ b/editor/editor_node.cpp @@ -26,154 +26,146 @@ /* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#include "version.h" #include "editor_node.h" -#include "print_string.h" #include "editor_themes.h" +#include "print_string.h" +#include "version.h" -#include "editor_help.h" -#include "core/io/resource_saver.h" +#include "animation_editor.h" +#include "bind/core_bind.h" #include "core/io/resource_loader.h" -#include "servers/physics_2d_server.h" -#include "scene/resources/packed_scene.h" +#include "core/io/resource_saver.h" +#include "editor_file_system.h" +#include "editor_help.h" #include "editor_settings.h" +#include "globals.h" +#include "io/config_file.h" +#include "io/stream_peer_ssl.h" +#include "io/zip_io.h" #include "io_plugins/editor_import_collada.h" #include "io_plugins/editor_scene_importer_fbxconv.h" -#include "globals.h" -#include +#include "message_queue.h" #include "object_type_db.h" +#include "os/file_access.h" #include "os/keyboard.h" #include "os/os.h" -#include "os/file_access.h" -#include "message_queue.h" #include "path_remap.h" -#include "translation.h" #include "pvrtc_compress.h" -#include "editor_file_system.h" #include "register_exporters.h" -#include "bind/core_bind.h" -#include "io/zip_io.h" -#include "io/config_file.h" -#include "animation_editor.h" -#include "io/stream_peer_ssl.h" +#include "scene/resources/packed_scene.h" +#include "servers/physics_2d_server.h" +#include "translation.h" +#include // plugins -#include "plugins/sprite_frames_editor_plugin.h" -#include "plugins/texture_region_editor_plugin.h" -#include "plugins/canvas_item_editor_plugin.h" #include "asset_library_editor_plugin.h" -#include "plugins/spatial_editor_plugin.h" -#include "plugins/sample_editor_plugin.h" -#include "plugins/texture_editor_plugin.h" +#include "plugins/camera_editor_plugin.h" +#include "plugins/canvas_item_editor_plugin.h" +#include "plugins/item_list_editor_plugin.h" #include "plugins/material_editor_plugin.h" +#include "plugins/mesh_editor_plugin.h" +#include "plugins/mesh_instance_editor_plugin.h" +#include "plugins/multimesh_editor_plugin.h" +#include "plugins/resource_preloader_editor_plugin.h" +#include "plugins/sample_editor_plugin.h" #include "plugins/sample_library_editor_plugin.h" #include "plugins/sample_player_editor_plugin.h" -#include "plugins/camera_editor_plugin.h" -#include "plugins/style_box_editor_plugin.h" -#include "plugins/resource_preloader_editor_plugin.h" -#include "plugins/item_list_editor_plugin.h" +#include "plugins/spatial_editor_plugin.h" +#include "plugins/sprite_frames_editor_plugin.h" #include "plugins/stream_editor_plugin.h" -#include "plugins/multimesh_editor_plugin.h" -#include "plugins/mesh_instance_editor_plugin.h" -#include "plugins/mesh_editor_plugin.h" +#include "plugins/style_box_editor_plugin.h" +#include "plugins/texture_editor_plugin.h" +#include "plugins/texture_region_editor_plugin.h" #include "plugins/theme_editor_plugin.h" -#include "plugins/tile_map_editor_plugin.h" +#include "main/input_default.h" +#include "plugins/animation_player_editor_plugin.h" +#include "plugins/animation_tree_editor_plugin.h" +#include "plugins/baked_light_editor_plugin.h" +#include "plugins/collision_polygon_2d_editor_plugin.h" +#include "plugins/collision_polygon_editor_plugin.h" +#include "plugins/collision_shape_2d_editor_plugin.h" +#include "plugins/color_ramp_editor_plugin.h" #include "plugins/cube_grid_theme_editor_plugin.h" -#include "plugins/shader_editor_plugin.h" -#include "plugins/shader_graph_editor_plugin.h" +#include "plugins/light_occluder_2d_editor_plugin.h" +#include "plugins/navigation_polygon_editor_plugin.h" +#include "plugins/particles_2d_editor_plugin.h" +#include "plugins/particles_editor_plugin.h" +#include "plugins/path_2d_editor_plugin.h" #include "plugins/path_editor_plugin.h" +#include "plugins/polygon_2d_editor_plugin.h" #include "plugins/rich_text_editor_plugin.h" -#include "plugins/collision_polygon_editor_plugin.h" -#include "plugins/collision_polygon_2d_editor_plugin.h" #include "plugins/script_editor_plugin.h" -#include "plugins/path_2d_editor_plugin.h" -#include "plugins/particles_editor_plugin.h" -#include "plugins/particles_2d_editor_plugin.h" -#include "plugins/animation_tree_editor_plugin.h" +#include "plugins/shader_editor_plugin.h" +#include "plugins/shader_graph_editor_plugin.h" +#include "plugins/tile_map_editor_plugin.h" #include "plugins/tile_set_editor_plugin.h" -#include "plugins/animation_player_editor_plugin.h" -#include "plugins/baked_light_editor_plugin.h" -#include "plugins/polygon_2d_editor_plugin.h" -#include "plugins/navigation_polygon_editor_plugin.h" -#include "plugins/light_occluder_2d_editor_plugin.h" -#include "plugins/color_ramp_editor_plugin.h" -#include "plugins/collision_shape_2d_editor_plugin.h" -#include "main/input_default.h" // end -#include "editor/io_plugins/editor_texture_import_plugin.h" -#include "editor/io_plugins/editor_scene_import_plugin.h" +#include "editor/io_plugins/editor_bitmask_import_plugin.h" +#include "editor/io_plugins/editor_export_scene.h" #include "editor/io_plugins/editor_font_import_plugin.h" +#include "editor/io_plugins/editor_mesh_import_plugin.h" #include "editor/io_plugins/editor_sample_import_plugin.h" +#include "editor/io_plugins/editor_scene_import_plugin.h" +#include "editor/io_plugins/editor_texture_import_plugin.h" #include "editor/io_plugins/editor_translation_import_plugin.h" -#include "editor/io_plugins/editor_bitmask_import_plugin.h" -#include "editor/io_plugins/editor_mesh_import_plugin.h" -#include "editor/io_plugins/editor_export_scene.h" -#include "plugins/editor_preview_plugins.h" #include "editor_initialize_ssl.h" +#include "plugins/editor_preview_plugins.h" #include "script_editor_debugger.h" -EditorNode *EditorNode::singleton=NULL; +EditorNode *EditorNode::singleton = NULL; void EditorNode::_update_scene_tabs() { bool show_rb = EditorSettings::get_singleton()->get("global/show_script_in_scene_tabs"); scene_tabs->clear_tabs(); - Ref script_icon = gui_base->get_icon("Script","EditorIcons"); - for(int i=0;i script_icon = gui_base->get_icon("Script", "EditorIcons"); + for (int i = 0; i < editor_data.get_edited_scene_count(); i++) { - String type=editor_data.get_scene_type(i); + String type = editor_data.get_scene_type(i); Ref icon; - if (type!=String()) { + if (type != String()) { - if (!gui_base->has_icon(type,"EditorIcons")) { - type="Node"; + if (!gui_base->has_icon(type, "EditorIcons")) { + type = "Node"; } - icon=gui_base->get_icon(type,"EditorIcons"); - + icon = gui_base->get_icon(type, "EditorIcons"); } - - int current = editor_data.get_edited_scene(); - bool unsaved = (i==current)?saved_version!=editor_data.get_undo_redo().get_version():editor_data.get_scene_version(i)!=0; - scene_tabs->add_tab(editor_data.get_scene_title(i)+(unsaved?"(*)":""),icon); + bool unsaved = (i == current) ? saved_version != editor_data.get_undo_redo().get_version() : editor_data.get_scene_version(i) != 0; + scene_tabs->add_tab(editor_data.get_scene_title(i) + (unsaved ? "(*)" : ""), icon); if (show_rb && editor_data.get_scene_root_script(i).is_valid()) { - scene_tabs->set_tab_right_button(i,script_icon); + scene_tabs->set_tab_right_button(i, script_icon); } - } scene_tabs->set_current_tab(editor_data.get_edited_scene()); scene_tabs->ensure_tab_visible(editor_data.get_edited_scene()); - } void EditorNode::_update_title() { String appname = Globals::get_singleton()->get("application/name"); - String title = appname.empty()?String(VERSION_FULL_NAME):String(_MKSTR(VERSION_NAME) + String(" - ") + appname); - String edited = editor_data.get_edited_scene_root()?editor_data.get_edited_scene_root()->get_filename():String(); + String title = appname.empty() ? String(VERSION_FULL_NAME) : String(_MKSTR(VERSION_NAME) + String(" - ") + appname); + String edited = editor_data.get_edited_scene_root() ? editor_data.get_edited_scene_root()->get_filename() : String(); if (!edited.empty()) - title+=" - " + String(edited.get_file()); + title += " - " + String(edited.get_file()); if (unsaved_cache) - title+=" (*)"; + title += " (*)"; OS::get_singleton()->set_window_title(title); - } -void EditorNode::_unhandled_input(const InputEvent& p_event) { +void EditorNode::_unhandled_input(const InputEvent &p_event) { if (Node::get_viewport()->get_modal_stack_top()) return; //ignore because of modal window - - if (p_event.type==InputEvent::KEY && p_event.key.pressed && !p_event.key.echo && !gui_base->get_viewport()->gui_has_modal_stack()) { - + if (p_event.type == InputEvent::KEY && p_event.key.pressed && !p_event.key.echo && !gui_base->get_viewport()->gui_has_modal_stack()) { if (ED_IS_SHORTCUT("editor/fullscreen_mode", p_event)) { if (distraction_free_mode) { @@ -200,7 +192,7 @@ void EditorNode::_unhandled_input(const InputEvent& p_event) { filesystem_dock->focus_on_filter(); } - switch(p_event.key.scancode) { + switch (p_event.key.scancode) { /*case KEY_F1: if (!p_event.key.mod.shift && !p_event.key.mod.command) @@ -209,38 +201,34 @@ void EditorNode::_unhandled_input(const InputEvent& p_event) { case KEY_F1: if (!p_event.key.mod.shift && !p_event.key.mod.command) _editor_select(EDITOR_2D); - break; + break; case KEY_F2: if (!p_event.key.mod.shift && !p_event.key.mod.command) _editor_select(EDITOR_3D); - break; + break; case KEY_F3: if (!p_event.key.mod.shift && !p_event.key.mod.command) _editor_select(EDITOR_SCRIPT); - break; - /* case KEY_F5: _menu_option_confirm((p_event.key.mod.control&&p_event.key.mod.shift)?RUN_PLAY_CUSTOM_SCENE:RUN_PLAY,true); break; + break; + /* case KEY_F5: _menu_option_confirm((p_event.key.mod.control&&p_event.key.mod.shift)?RUN_PLAY_CUSTOM_SCENE:RUN_PLAY,true); break; case KEY_F6: _menu_option_confirm(RUN_PLAY_SCENE,true); break; //case KEY_F7: _menu_option_confirm(RUN_PAUSE,true); break; case KEY_F8: _menu_option_confirm(RUN_STOP,true); break;*/ - } - } } - - void EditorNode::_notification(int p_what) { - if (p_what==NOTIFICATION_EXIT_TREE) { + if (p_what == NOTIFICATION_EXIT_TREE) { editor_data.save_editor_external_data(); FileAccess::set_file_close_fail_notify_callback(NULL); log->deinit(); // do not get messages anymore } - if (p_what==NOTIFICATION_PROCESS) { + if (p_what == NOTIFICATION_PROCESS) { - //force the whole tree viewport +//force the whole tree viewport #if 0 { Rect2 grect = scene_root_base->get_global_rect(); @@ -253,17 +241,17 @@ void EditorNode::_notification(int p_what) { #endif if (opening_prev && confirmation->is_hidden()) - opening_prev=false; + opening_prev = false; - if (unsaved_cache != (saved_version!=editor_data.get_undo_redo().get_version())) { + if (unsaved_cache != (saved_version != editor_data.get_undo_redo().get_version())) { - unsaved_cache = (saved_version!=editor_data.get_undo_redo().get_version()); + unsaved_cache = (saved_version != editor_data.get_undo_redo().get_version()); _update_title(); } - if (last_checked_version!=editor_data.get_undo_redo().get_version()) { + if (last_checked_version != editor_data.get_undo_redo().get_version()) { _update_scene_tabs(); - last_checked_version=editor_data.get_undo_redo().get_version(); + last_checked_version = editor_data.get_undo_redo().get_version(); } //get_root_node()->set_rect(viewport->get_global_rect()); @@ -272,91 +260,86 @@ void EditorNode::_notification(int p_what) { uint64_t frame = OS::get_singleton()->get_frames_drawn(); uint32_t tick = OS::get_singleton()->get_ticks_msec(); - if (frame!=circle_step_frame && (tick-circle_step_msec)>(1000/8)) { + if (frame != circle_step_frame && (tick - circle_step_msec) > (1000 / 8)) { circle_step++; - if (circle_step>=8) - circle_step=0; + if (circle_step >= 8) + circle_step = 0; - circle_step_msec=tick; - circle_step_frame=frame+1; + circle_step_msec = tick; + circle_step_frame = frame + 1; - // update the circle itself only when its enabled - if (!update_menu->get_popup()->is_item_checked(3)){ - update_menu->set_icon(gui_base->get_icon("Progress"+itos(circle_step+1),"EditorIcons")); - } + // update the circle itself only when its enabled + if (!update_menu->get_popup()->is_item_checked(3)) { + update_menu->set_icon(gui_base->get_icon("Progress" + itos(circle_step + 1), "EditorIcons")); + } } - scene_root->set_size_override(true,Size2(Globals::get_singleton()->get("display/width"),Globals::get_singleton()->get("display/height"))); + scene_root->set_size_override(true, Size2(Globals::get_singleton()->get("display/width"), Globals::get_singleton()->get("display/height"))); editor_selection->update(); { - uint32_t p32 = AudioServer::get_singleton()->read_output_peak()>>8; + uint32_t p32 = AudioServer::get_singleton()->read_output_peak() >> 8; - float peak = p32==0? -80 : Math::linear2db(p32 / 65535.0); + float peak = p32 == 0 ? -80 : Math::linear2db(p32 / 65535.0); - if (peak<-80) - peak=-80; + if (peak < -80) + peak = -80; float vu = audio_vu->get_val(); if (peak > vu) { audio_vu->set_val(peak); } else { - float new_vu = vu - get_process_delta_time()*70.0; - if (new_vu<-80) - new_vu=-80; - if (new_vu !=-80 && vu !=-80) + float new_vu = vu - get_process_delta_time() * 70.0; + if (new_vu < -80) + new_vu = -80; + if (new_vu != -80 && vu != -80) audio_vu->set_val(new_vu); } - } - } - if (p_what==NOTIFICATION_ENTER_TREE) { - + if (p_what == NOTIFICATION_ENTER_TREE) { //MessageQueue::get_singleton()->push_call(this,"_get_scene_metadata"); get_tree()->set_editor_hint(true); get_tree()->get_root()->set_as_audio_listener(false); get_tree()->get_root()->set_as_audio_listener_2d(false); get_tree()->set_auto_accept_quit(false); - get_tree()->connect("files_dropped",this,"_dropped_files"); - //VisualServer::get_singleton()->viewport_set_hide_canvas(editor->get_scene_root()->get_viewport(),false); + get_tree()->connect("files_dropped", this, "_dropped_files"); + //VisualServer::get_singleton()->viewport_set_hide_canvas(editor->get_scene_root()->get_viewport(),false); //import_monitor->scan_changes(); } - if (p_what==NOTIFICATION_EXIT_TREE) { - + if (p_what == NOTIFICATION_EXIT_TREE) { editor_data.clear_edited_scenes(); - } - if (p_what==NOTIFICATION_READY) { + if (p_what == NOTIFICATION_READY) { - VisualServer::get_singleton()->viewport_set_hide_scenario(get_scene_root()->get_viewport(),true); - VisualServer::get_singleton()->viewport_set_hide_canvas(get_scene_root()->get_viewport(),true); - VisualServer::get_singleton()->viewport_set_disable_environment(get_viewport()->get_viewport_rid(),true); + VisualServer::get_singleton()->viewport_set_hide_scenario(get_scene_root()->get_viewport(), true); + VisualServer::get_singleton()->viewport_set_hide_canvas(get_scene_root()->get_viewport(), true); + VisualServer::get_singleton()->viewport_set_disable_environment(get_viewport()->get_viewport_rid(), true); _editor_select(EDITOR_3D); - if (defer_load_scene!="") { + if (defer_load_scene != "") { load_scene(defer_load_scene); - defer_load_scene=""; + defer_load_scene = ""; } - if (defer_translatable!="") { + if (defer_translatable != "") { Error ok = save_translatable_strings(defer_translatable); - if (ok!=OK) + if (ok != OK) OS::get_singleton()->set_exit_code(255); - defer_translatable=""; + defer_translatable = ""; get_tree()->quit(); } -/* + /* if (defer_optimize!="") { Error ok = save_optimized_copy(defer_optimize,defer_optimize_preset); defer_optimize_preset=""; @@ -404,14 +387,13 @@ void EditorNode::_notification(int p_what) { } */ - if (bool(EDITOR_DEF("resources/auto_reload_modified_images",true))) { + if (bool(EDITOR_DEF("resources/auto_reload_modified_images", true))) { - _menu_option_confirm(DEPENDENCY_LOAD_CHANGED_IMAGES,true); + _menu_option_confirm(DEPENDENCY_LOAD_CHANGED_IMAGES, true); } - waiting_for_sources_changed=true; + waiting_for_sources_changed = true; EditorFileSystem::get_singleton()->scan_sources(); - } if (p_what == MainLoop::NOTIFICATION_WM_QUIT_REQUEST) { @@ -420,93 +402,83 @@ void EditorNode::_notification(int p_what) { }; if (p_what == EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED) { - scene_tabs->set_tab_close_display_policy( (bool(EDITOR_DEF("global/always_show_close_button_in_scene_tabs", false)) ? Tabs::CLOSE_BUTTON_SHOW_ALWAYS : Tabs::CLOSE_BUTTON_SHOW_ACTIVE_ONLY) ); + scene_tabs->set_tab_close_display_policy((bool(EDITOR_DEF("global/always_show_close_button_in_scene_tabs", false)) ? Tabs::CLOSE_BUTTON_SHOW_ALWAYS : Tabs::CLOSE_BUTTON_SHOW_ACTIVE_ONLY)); } - } void EditorNode::_fs_changed() { - for(Set::Element *E=file_dialogs.front();E;E=E->next()) { + for (Set::Element *E = file_dialogs.front(); E; E = E->next()) { E->get()->invalidate(); } - for(Set::Element *E=editor_file_dialogs.front();E;E=E->next()) { + for (Set::Element *E = editor_file_dialogs.front(); E; E = E->next()) { E->get()->invalidate(); } - if (export_defer.platform!="") { + if (export_defer.platform != "") { - project_export_settings->export_platform(export_defer.platform,export_defer.path,export_defer.debug,export_defer.password,true); - export_defer.platform=""; + project_export_settings->export_platform(export_defer.platform, export_defer.path, export_defer.debug, export_defer.password, true); + export_defer.platform = ""; } - } void EditorNode::_sources_changed(bool p_exist) { if (p_exist && bool(EditorSettings::get_singleton()->get("import/automatic_reimport_on_sources_changed"))) { - p_exist=false; + p_exist = false; List changed_sources; EditorFileSystem::get_singleton()->get_changed_sources(&changed_sources); + EditorProgress ep("reimport", TTR("Re-Importing"), changed_sources.size()); + int step_idx = 0; - EditorProgress ep("reimport",TTR("Re-Importing"),changed_sources.size()); - int step_idx=0; - - for(List::Element *E=changed_sources.front();E;E=E->next()) { + for (List::Element *E = changed_sources.front(); E; E = E->next()) { - ep.step(TTR("Importing:")+" "+E->get(),step_idx++); + ep.step(TTR("Importing:") + " " + E->get(), step_idx++); Ref rimd = ResourceLoader::load_import_metadata(E->get()); ERR_CONTINUE(rimd.is_null()); String editor = rimd->get_editor(); if (editor.begins_with("texture_")) { - editor="texture"; //compatibility fix for old versions + editor = "texture"; //compatibility fix for old versions } Ref eip = EditorImportExport::get_singleton()->get_import_plugin_by_name(editor); ERR_CONTINUE(eip.is_null()); - Error err = eip->import(E->get(),rimd); - if (err!=OK) { - EditorNode::add_io_error("Error Re Importing:\n "+E->get()); + Error err = eip->import(E->get(), rimd); + if (err != OK) { + EditorNode::add_io_error("Error Re Importing:\n " + E->get()); } - } EditorFileSystem::get_singleton()->scan_sources(); - waiting_for_sources_changed=false; + waiting_for_sources_changed = false; return; } - if (p_exist) { - sources_button->set_icon(gui_base->get_icon("DependencyChanged","EditorIcons")); + sources_button->set_icon(gui_base->get_icon("DependencyChanged", "EditorIcons")); sources_button->set_disabled(false); } else { - sources_button->set_icon(gui_base->get_icon("DependencyOk","EditorIcons")); + sources_button->set_icon(gui_base->get_icon("DependencyOk", "EditorIcons")); sources_button->set_disabled(true); - } - waiting_for_sources_changed=false; - + waiting_for_sources_changed = false; } void EditorNode::_vp_resized() { - - } -void EditorNode::_rebuild_import_menu() -{ - PopupMenu* p = import_menu->get_popup(); +void EditorNode::_rebuild_import_menu() { + PopupMenu *p = import_menu->get_popup(); p->clear(); //p->add_item(TTR("Node From Scene"), FILE_IMPORT_SUBSCENE); //p->add_separator(); @@ -521,21 +493,19 @@ void EditorNode::_node_renamed() { property_editor->update_tree(); } - -Error EditorNode::load_resource(const String& p_scene) { +Error EditorNode::load_resource(const String &p_scene) { RES res = ResourceLoader::load(p_scene); - ERR_FAIL_COND_V(!res.is_valid(),ERR_CANT_OPEN); + ERR_FAIL_COND_V(!res.is_valid(), ERR_CANT_OPEN); edit_resource(res); return OK; } +void EditorNode::edit_resource(const Ref &p_resource) { -void EditorNode::edit_resource(const Ref& p_resource) { - - _resource_selected(p_resource,""); + _resource_selected(p_resource, ""); } void EditorNode::edit_node(Node *p_node) { @@ -543,211 +513,200 @@ void EditorNode::edit_node(Node *p_node) { push_item(p_node); } -void EditorNode::open_resource(const String& p_type) { - +void EditorNode::open_resource(const String &p_type) { file->set_mode(EditorFileDialog::MODE_OPEN_FILE); List extensions; - ResourceLoader::get_recognized_extensions_for_type(p_type,&extensions); + ResourceLoader::get_recognized_extensions_for_type(p_type, &extensions); file->clear_filters(); - for(int i=0;iadd_filter("*."+extensions[i]+" ; "+extensions[i].to_upper()); + file->add_filter("*." + extensions[i] + " ; " + extensions[i].to_upper()); } //file->set_current_path(current_path); file->popup_centered_ratio(); - current_option=RESOURCE_LOAD; + current_option = RESOURCE_LOAD; } - -void EditorNode::save_resource_in_path(const Ref& p_resource,const String& p_path) { +void EditorNode::save_resource_in_path(const Ref &p_resource, const String &p_path) { editor_data.apply_changes_in_editors(); - int flg=0; + int flg = 0; if (EditorSettings::get_singleton()->get("on_save/compress_binary_resources")) - flg|=ResourceSaver::FLAG_COMPRESS; + flg |= ResourceSaver::FLAG_COMPRESS; //if (EditorSettings::get_singleton()->get("on_save/save_paths_as_relative")) // flg|=ResourceSaver::FLAG_RELATIVE_PATHS; String path = Globals::get_singleton()->localize_path(p_path); - Error err = ResourceSaver::save(path,p_resource,flg|ResourceSaver::FLAG_REPLACE_SUBRESOURCE_PATHS); + Error err = ResourceSaver::save(path, p_resource, flg | ResourceSaver::FLAG_REPLACE_SUBRESOURCE_PATHS); - if (err!=OK) { + if (err != OK) { accept->set_text(TTR("Error saving resource!")); accept->popup_centered_minsize(); - return; + return; } -// EditorFileSystem::get_singleton()->update_file(path,p_resource->get_type()); - - ((Resource*)p_resource.ptr())->set_path(path); - emit_signal("resource_saved",p_resource); + // EditorFileSystem::get_singleton()->update_file(path,p_resource->get_type()); + ((Resource *)p_resource.ptr())->set_path(path); + emit_signal("resource_saved", p_resource); } -void EditorNode::save_resource(const Ref& p_resource) { +void EditorNode::save_resource(const Ref &p_resource) { if (p_resource->get_path().is_resource_file()) { - save_resource_in_path(p_resource,p_resource->get_path()); + save_resource_in_path(p_resource, p_resource->get_path()); } else { save_resource_as(p_resource); } } -void EditorNode::save_resource_as(const Ref& p_resource,const String& p_at_path) { +void EditorNode::save_resource_as(const Ref &p_resource, const String &p_at_path) { file->set_mode(EditorFileDialog::MODE_SAVE_FILE); - current_option=RESOURCE_SAVE_AS; + current_option = RESOURCE_SAVE_AS; List extensions; - Ref sd = memnew( PackedScene ); - ResourceSaver::get_recognized_extensions(p_resource,&extensions); + Ref sd = memnew(PackedScene); + ResourceSaver::get_recognized_extensions(p_resource, &extensions); file->clear_filters(); List preferred; - for(int i=0;iis_type("Script") && (extensions[i]=="tres" || extensions[i]=="res" || extensions[i]=="xml")) { + if (p_resource->is_type("Script") && (extensions[i] == "tres" || extensions[i] == "res" || extensions[i] == "xml")) { //this serves no purpose and confused people continue; } - file->add_filter("*."+extensions[i]+" ; "+extensions[i].to_upper()); + file->add_filter("*." + extensions[i] + " ; " + extensions[i].to_upper()); preferred.push_back(extensions[i]); } //file->set_current_path(current_path); - if (p_at_path!=String()) { + if (p_at_path != String()) { file->set_current_dir(p_at_path); if (p_resource->get_path().is_resource_file()) { file->set_current_file(p_resource->get_path().get_file()); } else { - if (extensions.size()) { - file->set_current_file("new_"+p_resource->get_type().to_lower()+"."+preferred.front()->get().to_lower()); + if (extensions.size()) { + file->set_current_file("new_" + p_resource->get_type().to_lower() + "." + preferred.front()->get().to_lower()); } else { file->set_current_file(String()); } } - } else if (p_resource->get_path()!="") { + } else if (p_resource->get_path() != "") { file->set_current_path(p_resource->get_path()); if (extensions.size()) { - String ext=p_resource->get_path().extension().to_lower(); - if (extensions.find(ext)==NULL) { - file->set_current_path(p_resource->get_path().replacen("."+ext,"."+extensions.front()->get())); + String ext = p_resource->get_path().extension().to_lower(); + if (extensions.find(ext) == NULL) { + file->set_current_path(p_resource->get_path().replacen("." + ext, "." + extensions.front()->get())); } } } else if (preferred.size()) { String existing; if (extensions.size()) { - existing="new_"+p_resource->get_type().to_lower()+"."+preferred.front()->get().to_lower(); + existing = "new_" + p_resource->get_type().to_lower() + "." + preferred.front()->get().to_lower(); } file->set_current_path(existing); - } file->popup_centered_ratio(); file->set_title(TTR("Save Resource As..")); } - void EditorNode::_menu_option(int p_option) { - _menu_option_confirm(p_option,false); + _menu_option_confirm(p_option, false); } void EditorNode::_menu_confirm_current() { - _menu_option_confirm(current_option,true); + _menu_option_confirm(current_option, true); } - -void EditorNode::_dialog_display_file_error(String p_file,Error p_error) { - +void EditorNode::_dialog_display_file_error(String p_file, Error p_error) { if (p_error) { - current_option=-1; + current_option = -1; //accept->"()->hide(); accept->get_ok()->set_text(TTR("I see..")); - switch(p_error) { + switch (p_error) { case ERR_FILE_CANT_WRITE: { - accept->set_text(TTR("Can't open file for writing:")+" "+p_file.extension()); + accept->set_text(TTR("Can't open file for writing:") + " " + p_file.extension()); } break; case ERR_FILE_UNRECOGNIZED: { - accept->set_text(TTR("Requested file format unknown:")+" "+p_file.extension()); + accept->set_text(TTR("Requested file format unknown:") + " " + p_file.extension()); } break; default: { accept->set_text(TTR("Error while saving.")); - }break; + } break; } accept->popup_centered_minsize(); } - } -void EditorNode::_get_scene_metadata(const String& p_file) { +void EditorNode::_get_scene_metadata(const String &p_file) { Node *scene = editor_data.get_edited_scene_root(); if (!scene) return; - String path = EditorSettings::get_singleton()->get_project_settings_path().plus_file(p_file.get_file()+"-editstate-"+p_file.md5_text()+".cfg"); + String path = EditorSettings::get_singleton()->get_project_settings_path().plus_file(p_file.get_file() + "-editstate-" + p_file.md5_text() + ".cfg"); Ref cf; cf.instance(); Error err = cf->load(path); - if (err!=OK || !cf->has_section("editor_states")) + if (err != OK || !cf->has_section("editor_states")) return; //must not exist List esl; - cf->get_section_keys("editor_states",&esl); + cf->get_section_keys("editor_states", &esl); Dictionary md; - for (List::Element *E=esl.front();E;E=E->next()) { + for (List::Element *E = esl.front(); E; E = E->next()) { - Variant st=cf->get_value("editor_states",E->get()); + Variant st = cf->get_value("editor_states", E->get()); if (st.get_type()) { - md[E->get()]=st; + md[E->get()] = st; } } - - editor_data.set_editor_states(md); - } -void EditorNode::_set_scene_metadata(const String& p_file, int p_idx) { +void EditorNode::_set_scene_metadata(const String &p_file, int p_idx) { Node *scene = editor_data.get_edited_scene_root(p_idx); if (!scene) return; - scene->set_meta("__editor_run_settings__",Variant()); //clear it (no point in keeping it) - scene->set_meta("__editor_plugin_states__",Variant()); + scene->set_meta("__editor_run_settings__", Variant()); //clear it (no point in keeping it) + scene->set_meta("__editor_plugin_states__", Variant()); - String path = EditorSettings::get_singleton()->get_project_settings_path().plus_file(p_file.get_file()+"-editstate-"+p_file.md5_text()+".cfg"); + String path = EditorSettings::get_singleton()->get_project_settings_path().plus_file(p_file.get_file() + "-editstate-" + p_file.md5_text() + ".cfg"); Ref cf; cf.instance(); Dictionary md; - if (p_idx<0 || editor_data.get_edited_scene()==p_idx) { + if (p_idx < 0 || editor_data.get_edited_scene() == p_idx) { md = editor_data.get_editor_states(); } else { md = editor_data.get_scene_editor_states(p_idx); @@ -756,83 +715,76 @@ void EditorNode::_set_scene_metadata(const String& p_file, int p_idx) { List keys; md.get_key_list(&keys); - for(List::Element *E=keys.front();E;E=E->next()) { + for (List::Element *E = keys.front(); E; E = E->next()) { - cf->set_value("editor_states",E->get(),md[E->get()]); + cf->set_value("editor_states", E->get(), md[E->get()]); } Error err = cf->save(path); - ERR_FAIL_COND(err!=OK); - + ERR_FAIL_COND(err != OK); } - -bool EditorNode::_find_and_save_resource(RES res,Map& processed,int32_t flags) { +bool EditorNode::_find_and_save_resource(RES res, Map &processed, int32_t flags) { if (res.is_null()) return false; - if (processed.has(res)) { - - return processed[res]; - } + if (processed.has(res)) { + return processed[res]; + } bool changed = res->is_edited(); res->set_edited(false); - bool subchanged = _find_and_save_edited_subresources(res.ptr(),processed,flags); + bool subchanged = _find_and_save_edited_subresources(res.ptr(), processed, flags); -// print_line("checking if edited: "+res->get_type()+" :: "+res->get_name()+" :: "+res->get_path()+" :: "+itos(changed)+" :: SR "+itos(subchanged)); + // print_line("checking if edited: "+res->get_type()+" :: "+res->get_name()+" :: "+res->get_path()+" :: "+itos(changed)+" :: SR "+itos(subchanged)); if (res->get_path().is_resource_file()) { if (changed || subchanged) { //save - print_line("Also saving modified external resource: "+res->get_path()); - Error err = ResourceSaver::save(res->get_path(),res,flags); - + print_line("Also saving modified external resource: " + res->get_path()); + Error err = ResourceSaver::save(res->get_path(), res, flags); } - processed[res]=false; //because it's a file + processed[res] = false; //because it's a file return false; } else { - - processed[res]=changed; + processed[res] = changed; return changed; } } -bool EditorNode::_find_and_save_edited_subresources(Object *obj,Map& processed,int32_t flags) { +bool EditorNode::_find_and_save_edited_subresources(Object *obj, Map &processed, int32_t flags) { - bool ret_changed=false; + bool ret_changed = false; List pi; obj->get_property_list(&pi); - for (List::Element *E=pi.front();E;E=E->next()) { + for (List::Element *E = pi.front(); E; E = E->next()) { - if (!(E->get().usage&PROPERTY_USAGE_STORAGE)) + if (!(E->get().usage & PROPERTY_USAGE_STORAGE)) continue; - - - switch(E->get().type) { + switch (E->get().type) { case Variant::OBJECT: { RES res = obj->get(E->get().name); - if (_find_and_save_resource(res,processed,flags)) - ret_changed=true; + if (_find_and_save_resource(res, processed, flags)) + ret_changed = true; } break; case Variant::ARRAY: { - Array varray= obj->get(E->get().name); - int len=varray.size(); - for(int i=0;iget(E->get().name); + int len = varray.size(); + for (int i = 0; i < len; i++) { - Variant v=varray.get(i); - RES res=v; - if (_find_and_save_resource(res,processed,flags)) - ret_changed=true; + Variant v = varray.get(i); + RES res = v; + if (_find_and_save_resource(res, processed, flags)) + ret_changed = true; //_find_resources(v); } @@ -840,44 +792,40 @@ bool EditorNode::_find_and_save_edited_subresources(Object *obj,Map& p } break; case Variant::DICTIONARY: { - - Dictionary d=obj->get(E->get().name); + Dictionary d = obj->get(E->get().name); List keys; d.get_key_list(&keys); - for(List::Element *E=keys.front();E;E=E->next()) { + for (List::Element *E = keys.front(); E; E = E->next()) { Variant v = d[E->get()]; - RES res=v; - if (_find_and_save_resource(res,processed,flags)) - ret_changed=true; + RES res = v; + if (_find_and_save_resource(res, processed, flags)) + ret_changed = true; } } break; default: {} } - } return ret_changed; - } -void EditorNode::_save_edited_subresources(Node* scene,Map& processed,int32_t flags) { +void EditorNode::_save_edited_subresources(Node *scene, Map &processed, int32_t flags) { - _find_and_save_edited_subresources(scene,processed,flags); + _find_and_save_edited_subresources(scene, processed, flags); - for(int i=0;iget_child_count();i++) { + for (int i = 0; i < scene->get_child_count(); i++) { Node *n = scene->get_child(i); - if (n->get_owner()!=editor_data.get_edited_scene_root()) + if (n->get_owner() != editor_data.get_edited_scene_root()) continue; - _save_edited_subresources(n,processed,flags); + _save_edited_subresources(n, processed, flags); } - } -void EditorNode::_find_node_types(Node* p_node, int&count_2d, int&count_3d) { +void EditorNode::_find_node_types(Node *p_node, int &count_2d, int &count_3d) { - if (p_node->is_type("Viewport") || (p_node!=editor_data.get_edited_scene_root() && p_node->get_owner()!=editor_data.get_edited_scene_root())) + if (p_node->is_type("Viewport") || (p_node != editor_data.get_edited_scene_root() && p_node->get_owner() != editor_data.get_edited_scene_root())) return; if (p_node->is_type("CanvasItem")) @@ -885,66 +833,63 @@ void EditorNode::_find_node_types(Node* p_node, int&count_2d, int&count_3d) { else if (p_node->is_type("Spatial")) count_3d++; - for(int i=0;iget_child_count();i++) - _find_node_types(p_node->get_child(i),count_2d,count_3d); - + for (int i = 0; i < p_node->get_child_count(); i++) + _find_node_types(p_node->get_child(i), count_2d, count_3d); } - void EditorNode::_save_scene_with_preview(String p_file) { - int c2d=0; - int c3d=0; + int c2d = 0; + int c3d = 0; - EditorProgress save("save",TTR("Saving Scene"),4); - save.step(TTR("Analyzing"),0); - _find_node_types(editor_data.get_edited_scene_root(),c2d,c3d); + EditorProgress save("save", TTR("Saving Scene"), 4); + save.step(TTR("Analyzing"), 0); + _find_node_types(editor_data.get_edited_scene_root(), c2d, c3d); RID viewport; bool is2d; - if (c3dget_viewport(); - is2d=true; + if (c3d < c2d) { + viewport = scene_root->get_viewport(); + is2d = true; } else { - viewport=SpatialEditor::get_singleton()->get_editor_viewport(0)->get_viewport_node()->get_viewport(); - is2d=false; - + viewport = SpatialEditor::get_singleton()->get_editor_viewport(0)->get_viewport_node()->get_viewport(); + is2d = false; } - save.step(TTR("Creating Thumbnail"),1); + save.step(TTR("Creating Thumbnail"), 1); //current view? - int screen =-1; - for(int i=0;iviewport_queue_screen_capture(viewport); - save.step(TTR("Creating Thumbnail"),2); - save.step(TTR("Creating Thumbnail"),3); + save.step(TTR("Creating Thumbnail"), 2); + save.step(TTR("Creating Thumbnail"), 3); Image img = VS::get_singleton()->viewport_get_screen_capture(viewport); int preview_size = EditorSettings::get_singleton()->get("file_dialog/thumbnail_size"); - preview_size*=EDSCALE; - int width,height; + preview_size *= EDSCALE; + int width, height; if (img.get_width() > preview_size && img.get_width() >= img.get_height()) { - width=preview_size; + width = preview_size; height = img.get_height() * preview_size / img.get_width(); - } else if (img.get_height() > preview_size && img.get_height() >= img.get_width()) { + } else if (img.get_height() > preview_size && img.get_height() >= img.get_width()) { - height=preview_size; + height = preview_size; width = img.get_width() * preview_size / img.get_height(); - } else { + } else { - width=img.get_width(); - height=img.get_height(); + width = img.get_width(); + height = img.get_height(); } img.convert(Image::FORMAT_RGB); - img.resize(width,height); + img.resize(width, height); String pfile = EditorSettings::get_singleton()->get_settings_path().plus_file("tmp/last_scene_preview.png"); img.save_png(pfile); @@ -953,26 +898,24 @@ void EditorNode::_save_scene_with_preview(String p_file) { //print_line("img data is "+itos(imgdata.size())); if (editor_data.get_edited_scene_import_metadata().is_null()) - editor_data.set_edited_scene_import_metadata(Ref( memnew( ResourceImportMetadata ) ) ); - editor_data.get_edited_scene_import_metadata()->set_option("thumbnail",imgdata); + editor_data.set_edited_scene_import_metadata(Ref(memnew(ResourceImportMetadata))); + editor_data.get_edited_scene_import_metadata()->set_option("thumbnail", imgdata); //tamanio tel thumbnail - if (screen!=-1) { + if (screen != -1) { _editor_select(screen); } - save.step(TTR("Saving Scene"),4); + save.step(TTR("Saving Scene"), 4); _save_scene(p_file); - } - void EditorNode::_save_scene(String p_file, int idx) { Node *scene = editor_data.get_edited_scene_root(idx); if (!scene) { - current_option=-1; + current_option = -1; //accept->get_cancel()->hide(); accept->get_ok()->set_text(TTR("I see..")); accept->set_text("This operation can't be done without a tree root."); @@ -982,8 +925,7 @@ void EditorNode::_save_scene(String p_file, int idx) { editor_data.apply_changes_in_editors(); - _set_scene_metadata(p_file,idx); - + _set_scene_metadata(p_file, idx); Ref sdata; @@ -992,7 +934,7 @@ void EditorNode::_save_scene(String p_file, int idx) { // we must update it, but also let the previous scene state go, as // old version still work for referencing changes in instanced or inherited scenes - sdata = Ref( ResourceCache::get(p_file)->cast_to() ); + sdata = Ref(ResourceCache::get(p_file)->cast_to()); if (sdata.is_valid()) sdata->recreate_state(); else @@ -1002,10 +944,9 @@ void EditorNode::_save_scene(String p_file, int idx) { } Error err = sdata->pack(scene); + if (err != OK) { - if (err!=OK) { - - current_option=-1; + current_option = -1; //accept->get_cancel()->hide(); accept->get_ok()->set_text(TTR("I see..")); accept->set_text(TTR("Couldn't save scene. Likely dependencies (instances) couldn't be satisfied.")); @@ -1015,44 +956,38 @@ void EditorNode::_save_scene(String p_file, int idx) { // force creation of node path cache // (hacky but needed for the tree to update properly) - Node* dummy_scene=sdata->instance(true); + Node *dummy_scene = sdata->instance(true); memdelete(dummy_scene); sdata->set_import_metadata(editor_data.get_edited_scene_import_metadata(idx)); - int flg=0; + int flg = 0; if (EditorSettings::get_singleton()->get("on_save/compress_binary_resources")) - flg|=ResourceSaver::FLAG_COMPRESS; + flg |= ResourceSaver::FLAG_COMPRESS; //if (EditorSettings::get_singleton()->get("on_save/save_paths_as_relative")) // flg|=ResourceSaver::FLAG_RELATIVE_PATHS; - flg|=ResourceSaver::FLAG_REPLACE_SUBRESOURCE_PATHS; + flg |= ResourceSaver::FLAG_REPLACE_SUBRESOURCE_PATHS; + err = ResourceSaver::save(p_file, sdata, flg); - err = ResourceSaver::save(p_file,sdata,flg); - - Map processed; - _save_edited_subresources(scene,processed,flg); + Map processed; + _save_edited_subresources(scene, processed, flg); editor_data.save_editor_external_data(); - if (err==OK) { - scene->set_filename( Globals::get_singleton()->localize_path(p_file) ); + if (err == OK) { + scene->set_filename(Globals::get_singleton()->localize_path(p_file)); //EditorFileSystem::get_singleton()->update_file(p_file,sdata->get_type()); if (idx < 0 || idx == editor_data.get_edited_scene()) set_current_version(editor_data.get_undo_redo().get_version()); else - editor_data.set_edited_scene_version(0,idx); + editor_data.set_edited_scene_version(0, idx); _update_title(); _update_scene_tabs(); } else { - _dialog_display_file_error(p_file,err); + _dialog_display_file_error(p_file, err); } - - }; - - - -void EditorNode::_import_action(const String& p_action) { +void EditorNode::_import_action(const String &p_action) { #if 0 import_confirmation->hide(); @@ -1149,66 +1084,59 @@ void EditorNode::_import(const String &p_file) { saved_version=editor_data.get_undo_redo().get_version(); _update_title(); - #endif } void EditorNode::_dialog_action(String p_file) { - - switch(current_option) { + switch (current_option) { case RESOURCE_LOAD: { RES res = ResourceLoader::load(p_file); if (res.is_null()) { - current_option=-1; + current_option = -1; //accept->get_cancel()->hide(); accept->get_ok()->set_text("ok :("); accept->set_text(TTR("Failed to load resource.")); return; }; - - push_item(res.operator->() ); + push_item(res.operator->()); } break; case FILE_NEW_INHERITED_SCENE: { - - load_scene(p_file,false,true); + load_scene(p_file, false, true); } break; case FILE_OPEN_SCENE: { - load_scene(p_file); } break; case SETTINGS_PICK_MAIN_SCENE: { - Globals::get_singleton()->set("application/main_scene",p_file); - Globals::get_singleton()->set_persisting("application/main_scene",true); + Globals::get_singleton()->set("application/main_scene", p_file); + Globals::get_singleton()->set_persisting("application/main_scene", true); Globals::get_singleton()->save(); //would be nice to show the project manager opened with the hilighted field.. } break; case FILE_SAVE_OPTIMIZED: { - - } break; case FILE_RUN_SCRIPT: { - Ref