diff options
-rw-r--r-- | doc/classes/EditorInterface.xml | 20 | ||||
-rw-r--r-- | doc/classes/GraphEdit.xml | 77 | ||||
-rw-r--r-- | editor/editor_plugin.cpp | 11 | ||||
-rw-r--r-- | editor/editor_plugin.h | 3 | ||||
-rw-r--r-- | editor/project_settings_editor.cpp | 11 | ||||
-rw-r--r-- | platform/osx/SCsub | 1 | ||||
-rw-r--r-- | scene/gui/graph_edit.cpp | 9 | ||||
-rw-r--r-- | servers/audio/effects/audio_effect_reverb.cpp | 4 |
8 files changed, 133 insertions, 3 deletions
diff --git a/doc/classes/EditorInterface.xml b/doc/classes/EditorInterface.xml index 4d3b31ae35..61c93becde 100644 --- a/doc/classes/EditorInterface.xml +++ b/doc/classes/EditorInterface.xml @@ -100,6 +100,15 @@ Shows the given property on the given [code]object[/code] in the Editor's Inspector dock. </description> </method> + <method name="is_plugin_enabled" qualifiers="const"> + <return type="bool"> + </return> + <argument index="0" name="plugin" type="String"> + </argument> + <description> + Returns the enabled status of a plugin. The plugin name is the same as its directory name. + </description> + </method> <method name="make_mesh_previews"> <return type="Array"> </return> @@ -155,6 +164,17 @@ <description> </description> </method> + <method name="set_plugin_enabled"> + <return type="void"> + </return> + <argument index="0" name="plugin" type="String"> + </argument> + <argument index="1" name="enabled" type="bool"> + </argument> + <description> + Sets the enabled status of a plugin. The plugin name is the same as its directory name. + </description> + </method> </methods> <constants> </constants> diff --git a/doc/classes/GraphEdit.xml b/doc/classes/GraphEdit.xml index 39d6ebc166..2090155e85 100644 --- a/doc/classes/GraphEdit.xml +++ b/doc/classes/GraphEdit.xml @@ -12,6 +12,42 @@ <demos> </demos> <methods> + <method name="add_valid_connection_type"> + <return type="void"> + </return> + <argument index="0" name="from_type" type="int"> + </argument> + <argument index="1" name="to_type" type="int"> + </argument> + <description> + Makes possible the connection between two different slot types. The type is defined with the [method GraphNode.set_slot] method. + </description> + </method> + <method name="add_valid_left_disconnect_type"> + <return type="void"> + </return> + <argument index="0" name="type" type="int"> + </argument> + <description> + Makes possible to disconnect nodes when dragging from the slot at the left if it has the specified type. + </description> + </method> + <method name="add_valid_right_disconnect_type"> + <return type="void"> + </return> + <argument index="0" name="type" type="int"> + </argument> + <description> + Makes possible to disconnect nodes when dragging from the slot at the right if it has the specified type. + </description> + </method> + <method name="clear_connections"> + <return type="void"> + </return> + <description> + Remove all connections between nodes. + </description> + </method> <method name="connect_node"> <return type="int" enum="Error"> </return> @@ -64,12 +100,53 @@ Return true if the 'from_port' slot of 'from' GraphNode is connected to the 'to_port' slot of 'to' GraphNode. </description> </method> + <method name="is_valid_connection_type" qualifiers="const"> + <return type="bool"> + </return> + <argument index="0" name="from_type" type="int"> + </argument> + <argument index="1" name="to_type" type="int"> + </argument> + <description> + Returns whether it's possible to connect slots of the specified types. + </description> + </method> + <method name="remove_valid_connection_type"> + <return type="void"> + </return> + <argument index="0" name="from_type" type="int"> + </argument> + <argument index="1" name="to_type" type="int"> + </argument> + <description> + Makes it not possible to connect between two different slot types. The type is defined with the [method GraphNode.set_slot] method. + </description> + </method> + <method name="remove_valid_left_disconnect_type"> + <return type="void"> + </return> + <argument index="0" name="type" type="int"> + </argument> + <description> + Removes the possibility to disconnect nodes when dragging from the slot at the left if it has the specified type. + </description> + </method> + <method name="remove_valid_right_disconnect_type"> + <return type="void"> + </return> + <argument index="0" name="type" type="int"> + </argument> + <description> + Removes the possibility to disconnect nodes when dragging from the slot at the right if it has the specified type. + </description> + </method> <method name="set_selected"> <return type="void"> </return> <argument index="0" name="node" type="Node"> </argument> <description> + Sets the specified [code]node[/code] as the one selected. </description> </method> </methods> diff --git a/editor/editor_plugin.cpp b/editor/editor_plugin.cpp index 9dd8a7232f..b1a0efaea6 100644 --- a/editor/editor_plugin.cpp +++ b/editor/editor_plugin.cpp @@ -235,6 +235,14 @@ Control *EditorInterface::get_base_control() { return EditorNode::get_singleton()->get_gui_base(); } +void EditorInterface::set_plugin_enabled(const String &p_plugin, bool p_enabled) { + EditorNode::get_singleton()->set_addon_plugin_enabled(p_plugin, p_enabled); +} + +bool EditorInterface::is_plugin_enabled(const String &p_plugin) const { + return EditorNode::get_singleton()->is_addon_plugin_enabled(p_plugin); +} + Error EditorInterface::save_scene() { if (!get_edited_scene_root()) return ERR_CANT_CREATE; @@ -271,6 +279,9 @@ void EditorInterface::_bind_methods() { ClassDB::bind_method(D_METHOD("select_file", "p_file"), &EditorInterface::select_file); ClassDB::bind_method(D_METHOD("get_selected_path"), &EditorInterface::get_selected_path); + ClassDB::bind_method(D_METHOD("set_plugin_enabled", "plugin", "enabled"), &EditorInterface::set_plugin_enabled); + ClassDB::bind_method(D_METHOD("is_plugin_enabled", "plugin"), &EditorInterface::is_plugin_enabled); + ClassDB::bind_method(D_METHOD("save_scene"), &EditorInterface::save_scene); ClassDB::bind_method(D_METHOD("save_scene_as", "path", "with_preview"), &EditorInterface::save_scene_as, DEFVAL(true)); } diff --git a/editor/editor_plugin.h b/editor/editor_plugin.h index 145dccc2d5..3d585120c0 100644 --- a/editor/editor_plugin.h +++ b/editor/editor_plugin.h @@ -90,6 +90,9 @@ public: Control *get_base_control(); + void set_plugin_enabled(const String &p_plugin, bool p_enabled); + bool is_plugin_enabled(const String &p_plugin) const; + Error save_scene(); void save_scene_as(const String &p_scene, bool p_with_preview = true); diff --git a/editor/project_settings_editor.cpp b/editor/project_settings_editor.cpp index 704ec40e4c..058f517ae9 100644 --- a/editor/project_settings_editor.cpp +++ b/editor/project_settings_editor.cpp @@ -750,7 +750,16 @@ void ProjectSettingsEditor::_item_add() { String catname = category->get_text().strip_edges(); String propname = property->get_text().strip_edges(); - String name = catname != "" ? catname + "/" + propname : propname; + + if (propname.empty()) { + return; + } + + if (catname.empty()) { + catname = "global"; + } + + String name = catname + "/" + propname; undo_redo->create_action(TTR("Add Global Property")); diff --git a/platform/osx/SCsub b/platform/osx/SCsub index 07e633a117..5efe2d0b22 100644 --- a/platform/osx/SCsub +++ b/platform/osx/SCsub @@ -10,6 +10,7 @@ def make_debug(target, source, env): os.system(mpprefix + '/libexec/llvm-' + mpclangver + '/bin/llvm-dsymutil %s -o %s.dSYM' % (target[0], target[0])) else: os.system('dsymutil %s -o %s.dSYM' % (target[0], target[0])) + os.system('strip -u -r %s' % (target[0])) files = [ 'crash_handler_osx.mm', diff --git a/scene/gui/graph_edit.cpp b/scene/gui/graph_edit.cpp index 1b5014367b..38ce91a4df 100644 --- a/scene/gui/graph_edit.cpp +++ b/scene/gui/graph_edit.cpp @@ -1147,9 +1147,18 @@ void GraphEdit::_bind_methods() { ClassDB::bind_method(D_METHOD("is_node_connected", "from", "from_port", "to", "to_port"), &GraphEdit::is_node_connected); ClassDB::bind_method(D_METHOD("disconnect_node", "from", "from_port", "to", "to_port"), &GraphEdit::disconnect_node); ClassDB::bind_method(D_METHOD("get_connection_list"), &GraphEdit::_get_connection_list); + ClassDB::bind_method(D_METHOD("clear_connections"), &GraphEdit::clear_connections); ClassDB::bind_method(D_METHOD("get_scroll_ofs"), &GraphEdit::get_scroll_ofs); ClassDB::bind_method(D_METHOD("set_scroll_ofs", "ofs"), &GraphEdit::set_scroll_ofs); + ClassDB::bind_method(D_METHOD("add_valid_right_disconnect_type", "type"), &GraphEdit::add_valid_right_disconnect_type); + ClassDB::bind_method(D_METHOD("remove_valid_right_disconnect_type", "type"), &GraphEdit::remove_valid_right_disconnect_type); + ClassDB::bind_method(D_METHOD("add_valid_left_disconnect_type", "type"), &GraphEdit::add_valid_left_disconnect_type); + ClassDB::bind_method(D_METHOD("remove_valid_left_disconnect_type", "type"), &GraphEdit::remove_valid_left_disconnect_type); + ClassDB::bind_method(D_METHOD("add_valid_connection_type", "from_type", "to_type"), &GraphEdit::add_valid_connection_type); + ClassDB::bind_method(D_METHOD("remove_valid_connection_type", "from_type", "to_type"), &GraphEdit::remove_valid_connection_type); + ClassDB::bind_method(D_METHOD("is_valid_connection_type", "from_type", "to_type"), &GraphEdit::is_valid_connection_type); + ClassDB::bind_method(D_METHOD("set_zoom", "p_zoom"), &GraphEdit::set_zoom); ClassDB::bind_method(D_METHOD("get_zoom"), &GraphEdit::get_zoom); diff --git a/servers/audio/effects/audio_effect_reverb.cpp b/servers/audio/effects/audio_effect_reverb.cpp index 204b11746c..162c0a1445 100644 --- a/servers/audio/effects/audio_effect_reverb.cpp +++ b/servers/audio/effects/audio_effect_reverb.cpp @@ -96,7 +96,7 @@ void AudioEffectReverb::set_predelay_msec(float p_msec) { void AudioEffectReverb::set_predelay_feedback(float p_feedback) { - predelay_fb = p_feedback; + predelay_fb = CLAMP(p_feedback, 0, 0.98); } void AudioEffectReverb::set_room_size(float p_size) { @@ -185,7 +185,7 @@ void AudioEffectReverb::_bind_methods() { ADD_GROUP("Predelay", "predelay_"); ADD_PROPERTY(PropertyInfo(Variant::REAL, "predelay_msec", PROPERTY_HINT_RANGE, "20,500,1"), "set_predelay_msec", "get_predelay_msec"); - ADD_PROPERTY(PropertyInfo(Variant::REAL, "predelay_feedback", PROPERTY_HINT_RANGE, "0,1,0.01"), "set_predelay_feedback", "get_predelay_feedback"); + ADD_PROPERTY(PropertyInfo(Variant::REAL, "predelay_feedback", PROPERTY_HINT_RANGE, "0,0.98,0.01"), "set_predelay_feedback", "get_predelay_feedback"); ADD_GROUP("", ""); ADD_PROPERTY(PropertyInfo(Variant::REAL, "room_size", PROPERTY_HINT_RANGE, "0,1,0.01"), "set_room_size", "get_room_size"); ADD_PROPERTY(PropertyInfo(Variant::REAL, "damping", PROPERTY_HINT_RANGE, "0,1,0.01"), "set_damping", "get_damping"); |