diff options
-rw-r--r-- | core/io/packet_peer.cpp | 2 | ||||
-rw-r--r-- | core/os/os.h | 2 | ||||
-rw-r--r-- | platform/osx/os_osx.mm | 2 | ||||
-rw-r--r-- | platform/windows/os_windows.cpp | 2 | ||||
-rw-r--r-- | platform/x11/os_x11.cpp | 2 | ||||
-rw-r--r-- | scene/2d/canvas_item.cpp | 8 | ||||
-rw-r--r-- | scene/2d/canvas_item.h | 1 | ||||
-rw-r--r-- | scene/gui/control.cpp | 2 | ||||
-rw-r--r-- | scene/gui/control.h | 7 | ||||
-rw-r--r-- | scene/resources/scene_format_text.cpp | 7 | ||||
-rw-r--r-- | tools/editor/plugins/canvas_item_editor_plugin.cpp | 59 | ||||
-rw-r--r-- | tools/editor/plugins/tile_map_editor_plugin.cpp | 19 |
12 files changed, 106 insertions, 7 deletions
diff --git a/core/io/packet_peer.cpp b/core/io/packet_peer.cpp index 6cb3daa7ac..973a2ec9a5 100644 --- a/core/io/packet_peer.cpp +++ b/core/io/packet_peer.cpp @@ -243,7 +243,7 @@ int PacketPeerStream::get_max_packet_size() const { void PacketPeerStream::set_stream_peer(const Ref<StreamPeer> &p_peer) { - ERR_FAIL_COND(p_peer.is_null()); + //ERR_FAIL_COND(p_peer.is_null()); if (p_peer.ptr() != peer.ptr()) { ring_buffer.advance_read(ring_buffer.data_left()); // reset the ring buffer diff --git a/core/os/os.h b/core/os/os.h index bc3fad302a..e53980a8fe 100644 --- a/core/os/os.h +++ b/core/os/os.h @@ -76,7 +76,7 @@ public: bool fullscreen; bool resizable; float get_aspect() const { return (float)width/(float)height; } - VideoMode(int p_width=1280,int p_height=720,bool p_fullscreen=false, bool p_resizable = true) {width=p_width; height=p_height; fullscreen=p_fullscreen; resizable = p_resizable; } + VideoMode(int p_width=1024,int p_height=600,bool p_fullscreen=false, bool p_resizable = true) {width=p_width; height=p_height; fullscreen=p_fullscreen; resizable = p_resizable; } }; protected: friend class Main; diff --git a/platform/osx/os_osx.mm b/platform/osx/os_osx.mm index 2690ee3ba9..2bb35fdc60 100644 --- a/platform/osx/os_osx.mm +++ b/platform/osx/os_osx.mm @@ -839,7 +839,7 @@ const char * OS_OSX::get_video_driver_name(int p_driver) const { OS::VideoMode OS_OSX::get_default_video_mode() const { VideoMode vm; - vm.width=800; + vm.width=1024; vm.height=600; vm.fullscreen=false; vm.resizable=true; diff --git a/platform/windows/os_windows.cpp b/platform/windows/os_windows.cpp index 6f19f8bdfe..886c43d116 100644 --- a/platform/windows/os_windows.cpp +++ b/platform/windows/os_windows.cpp @@ -149,7 +149,7 @@ const char * OS_Windows::get_video_driver_name(int p_driver) const { OS::VideoMode OS_Windows::get_default_video_mode() const { - return VideoMode(1280,720,false); + return VideoMode(1024,600,false); } int OS_Windows::get_audio_driver_count() const { diff --git a/platform/x11/os_x11.cpp b/platform/x11/os_x11.cpp index 82df8dff60..f42e93b93f 100644 --- a/platform/x11/os_x11.cpp +++ b/platform/x11/os_x11.cpp @@ -78,7 +78,7 @@ const char * OS_X11::get_video_driver_name(int p_driver) const { } OS::VideoMode OS_X11::get_default_video_mode() const { - return OS::VideoMode(1280,720,false); + return OS::VideoMode(1024,600,false); } int OS_X11::get_audio_driver_count() const { diff --git a/scene/2d/canvas_item.cpp b/scene/2d/canvas_item.cpp index 35b453d71d..316097fbcf 100644 --- a/scene/2d/canvas_item.cpp +++ b/scene/2d/canvas_item.cpp @@ -1193,6 +1193,14 @@ bool CanvasItem::is_local_transform_notification_enabled() const { return notify_local_transform; } +int CanvasItem::get_canvas_layer() const { + + if (canvas_layer) + return canvas_layer->get_layer(); + else + return 0; +} + CanvasItem::CanvasItem() : xform_change(this) { diff --git a/scene/2d/canvas_item.h b/scene/2d/canvas_item.h index 5d10523261..05a2e725e9 100644 --- a/scene/2d/canvas_item.h +++ b/scene/2d/canvas_item.h @@ -268,6 +268,7 @@ public: void set_notify_local_transform(bool p_enable); bool is_local_transform_notification_enabled() const; + int get_canvas_layer() const; CanvasItem(); ~CanvasItem(); diff --git a/scene/gui/control.cpp b/scene/gui/control.cpp index dce0a4ac0e..71a0f50240 100644 --- a/scene/gui/control.cpp +++ b/scene/gui/control.cpp @@ -2071,6 +2071,8 @@ Control *Control::get_root_parent_control() const { return const_cast<Control*>(root); } + + void Control::_bind_methods() { diff --git a/scene/gui/control.h b/scene/gui/control.h index a16d88a6df..74d40b7579 100644 --- a/scene/gui/control.h +++ b/scene/gui/control.h @@ -97,7 +97,12 @@ private: struct CComparator { - bool operator()(const Control* p_a, const Control* p_b) const { return p_b->is_greater_than(p_a); } + bool operator()(const Control* p_a, const Control* p_b) const { + if (p_a->get_canvas_layer()==p_b->get_canvas_layer()) + return p_b->is_greater_than(p_a); + else + return p_a->get_canvas_layer() < p_b->get_canvas_layer(); + } }; struct Data { diff --git a/scene/resources/scene_format_text.cpp b/scene/resources/scene_format_text.cpp index d0b5d8cef9..a6cba389f4 100644 --- a/scene/resources/scene_format_text.cpp +++ b/scene/resources/scene_format_text.cpp @@ -393,6 +393,13 @@ Error ResourceInteractiveLoaderText::poll() { int node_id = packed_scene->get_state()->add_node(parent,owner,type,name,instance); + if (next_tag.fields.has("groups")) { + + Array groups = next_tag.fields["groups"]; + for (int i=0;i<groups.size();i++) { + packed_scene->get_state()->add_node_group(node_id,packed_scene->get_state()->add_name(groups[i])); + } + } while(true) { diff --git a/tools/editor/plugins/canvas_item_editor_plugin.cpp b/tools/editor/plugins/canvas_item_editor_plugin.cpp index a259fa0fcc..0afea26957 100644 --- a/tools/editor/plugins/canvas_item_editor_plugin.cpp +++ b/tools/editor/plugins/canvas_item_editor_plugin.cpp @@ -603,6 +603,9 @@ bool CanvasItemEditor::_select(CanvasItem *item, Point2 p_click_pos, bool p_appe CanvasItem *canvas_item = E->get()->cast_to<CanvasItem>(); if (!canvas_item || !canvas_item->is_visible()) continue; + if (canvas_item->get_viewport()!=EditorNode::get_singleton()->get_scene_root()) + continue; + CanvasItemEditorSelectedItem *se=editor_selection->get_node_editor_data<CanvasItemEditorSelectedItem>(canvas_item); if (!se) continue; @@ -643,6 +646,9 @@ void CanvasItemEditor::_key_move(const Vector2& p_dir, bool p_snap, KeyMoveMODE CanvasItem *canvas_item = E->get()->cast_to<CanvasItem>(); if (!canvas_item || !canvas_item->is_visible()) continue; + if (canvas_item->get_viewport()!=EditorNode::get_singleton()->get_scene_root()) + continue; + CanvasItemEditorSelectedItem *se=editor_selection->get_node_editor_data<CanvasItemEditorSelectedItem>(canvas_item); if (!se) continue; @@ -702,6 +708,9 @@ Point2 CanvasItemEditor::_find_topleftmost_point() { CanvasItem *canvas_item = E->get()->cast_to<CanvasItem>(); if (!canvas_item || !canvas_item->is_visible()) continue; + if (canvas_item->get_viewport()!=EditorNode::get_singleton()->get_scene_root()) + continue; + @@ -731,6 +740,9 @@ int CanvasItemEditor::get_item_count() { if (!canvas_item || !canvas_item->is_visible()) continue; + if (canvas_item->get_viewport()!=EditorNode::get_singleton()->get_scene_root()) + continue; + ic++; }; @@ -749,6 +761,8 @@ CanvasItem *CanvasItemEditor::get_single_item() { CanvasItem *canvas_item = E->key()->cast_to<CanvasItem>(); if (!canvas_item || !canvas_item->is_visible()) continue; + if (canvas_item->get_viewport()!=EditorNode::get_singleton()->get_scene_root()) + continue; if (single_item) return NULL; //morethan one @@ -1102,6 +1116,9 @@ void CanvasItemEditor::_viewport_input_event(const InputEvent& p_event) { CanvasItem *canvas_item = E->get()->cast_to<CanvasItem>(); if (!canvas_item || !canvas_item->is_visible()) continue; + if (canvas_item->get_viewport()!=EditorNode::get_singleton()->get_scene_root()) + continue; + CanvasItemEditorSelectedItem *se=editor_selection->get_node_editor_data<CanvasItemEditorSelectedItem>(canvas_item); if (!se) @@ -1194,6 +1211,9 @@ void CanvasItemEditor::_viewport_input_event(const InputEvent& p_event) { CanvasItem *canvas_item = E->get()->cast_to<CanvasItem>(); if (!canvas_item || !canvas_item->is_visible()) continue; + if (canvas_item->get_viewport()!=EditorNode::get_singleton()->get_scene_root()) + continue; + CanvasItemEditorSelectedItem *se=editor_selection->get_node_editor_data<CanvasItemEditorSelectedItem>(canvas_item); if (!se) continue; @@ -1400,6 +1420,9 @@ void CanvasItemEditor::_viewport_input_event(const InputEvent& p_event) { CanvasItem *canvas_item = E->get()->cast_to<CanvasItem>(); if (!canvas_item || !canvas_item->is_visible()) continue; + if (canvas_item->get_viewport()!=EditorNode::get_singleton()->get_scene_root()) + continue; + CanvasItemEditorSelectedItem *se=editor_selection->get_node_editor_data<CanvasItemEditorSelectedItem>(canvas_item); if (!se) continue; @@ -1507,6 +1530,9 @@ void CanvasItemEditor::_viewport_input_event(const InputEvent& p_event) { CanvasItem *canvas_item = E->get()->cast_to<CanvasItem>(); if (!canvas_item || !canvas_item->is_visible()) continue; + if (canvas_item->get_viewport()!=EditorNode::get_singleton()->get_scene_root()) + continue; + CanvasItemEditorSelectedItem *se=editor_selection->get_node_editor_data<CanvasItemEditorSelectedItem>(canvas_item); if (!se) continue; @@ -1881,6 +1907,8 @@ void CanvasItemEditor::_viewport_draw() { CanvasItem *canvas_item = E->key()->cast_to<CanvasItem>(); if (!canvas_item || !canvas_item->is_visible()) continue; + if (canvas_item->get_viewport()!=EditorNode::get_singleton()->get_scene_root()) + continue; CanvasItemEditorSelectedItem *se=editor_selection->get_node_editor_data<CanvasItemEditorSelectedItem>(canvas_item); if (!se) continue; @@ -2104,6 +2132,9 @@ void CanvasItemEditor::_notification(int p_what) { if (!canvas_item || !canvas_item->is_visible()) continue; + if (canvas_item->get_viewport()!=EditorNode::get_singleton()->get_scene_root()) + continue; + if (canvas_item->cast_to<Control>()) has_control=true; else @@ -2509,6 +2540,9 @@ void CanvasItemEditor::_popup_callback(int p_op) { if (!canvas_item || !canvas_item->is_visible()) continue; + if (canvas_item->get_viewport()!=EditorNode::get_singleton()->get_scene_root()) + continue; + canvas_item->set_meta("_edit_lock_",true); emit_signal("item_lock_status_changed"); } @@ -2524,6 +2558,9 @@ void CanvasItemEditor::_popup_callback(int p_op) { if (!canvas_item || !canvas_item->is_visible()) continue; + if (canvas_item->get_viewport()!=EditorNode::get_singleton()->get_scene_root()) + continue; + canvas_item->set_meta("_edit_lock_",Variant()); emit_signal("item_lock_status_changed"); @@ -2542,6 +2579,9 @@ void CanvasItemEditor::_popup_callback(int p_op) { if (!canvas_item || !canvas_item->is_visible()) continue; + if (canvas_item->get_viewport()!=EditorNode::get_singleton()->get_scene_root()) + continue; + canvas_item->set_meta("_edit_group_",true); emit_signal("item_group_status_changed"); } @@ -2557,6 +2597,9 @@ void CanvasItemEditor::_popup_callback(int p_op) { if (!canvas_item || !canvas_item->is_visible()) continue; + if (canvas_item->get_viewport()!=EditorNode::get_singleton()->get_scene_root()) + continue; + canvas_item->set_meta("_edit_group_",Variant()); emit_signal("item_group_status_changed"); } @@ -2575,6 +2618,9 @@ void CanvasItemEditor::_popup_callback(int p_op) { if (!canvas_item || !canvas_item->is_visible()) continue; + if (canvas_item->get_viewport()!=EditorNode::get_singleton()->get_scene_root()) + continue; + Control *c = canvas_item->cast_to<Control>(); if (!c) @@ -2693,6 +2739,9 @@ void CanvasItemEditor::_popup_callback(int p_op) { if (!canvas_item || !canvas_item->is_visible()) continue; + if (canvas_item->get_viewport()!=EditorNode::get_singleton()->get_scene_root()) + continue; + if (canvas_item->cast_to<Node2D>()) { Node2D *n2d = canvas_item->cast_to<Node2D>(); @@ -2803,6 +2852,8 @@ void CanvasItemEditor::_popup_callback(int p_op) { if (!canvas_item || !canvas_item->is_visible()) continue; + if (canvas_item->get_viewport()!=EditorNode::get_singleton()->get_scene_root()) + continue; if (canvas_item->cast_to<Node2D>()) { @@ -2853,6 +2904,9 @@ void CanvasItemEditor::_popup_callback(int p_op) { if (!canvas_item || !canvas_item->is_visible()) continue; + if (canvas_item->get_viewport()!=EditorNode::get_singleton()->get_scene_root()) + continue; + if (canvas_item->cast_to<Node2D>()) { Node2D *n2d = canvas_item->cast_to<Node2D>(); @@ -2887,6 +2941,9 @@ void CanvasItemEditor::_popup_callback(int p_op) { for(Map<Node*,Object*>::Element *E=selection.front();E;E=E->next()) { CanvasItem *canvas_item = E->key()->cast_to<CanvasItem>(); if (!canvas_item) continue; + if (canvas_item->get_viewport()!=EditorNode::get_singleton()->get_scene_root()) + continue; + // counting invisible items, for now //if (!canvas_item->is_visible()) continue; @@ -2979,6 +3036,8 @@ void CanvasItemEditor::_popup_callback(int p_op) { if (!canvas_item || !canvas_item->is_visible()) continue; + if (canvas_item->get_viewport()!=EditorNode::get_singleton()->get_scene_root()) + continue; canvas_item->set_meta("_edit_ik_",true); diff --git a/tools/editor/plugins/tile_map_editor_plugin.cpp b/tools/editor/plugins/tile_map_editor_plugin.cpp index 29326a2222..acacd37f66 100644 --- a/tools/editor/plugins/tile_map_editor_plugin.cpp +++ b/tools/editor/plugins/tile_map_editor_plugin.cpp @@ -533,6 +533,8 @@ void TileMapEditor::_canvas_draw() { if (node->get_half_offset()!=TileMap::HALF_OFFSET_X) { + int max_lines=2000; //avoid crash if size too smal + for(int i=(si.pos.x)-1;i<=(si.pos.x+si.size.x);i++) { Vector2 from = xform.xform(node->map_to_world(Vector2(i,si.pos.y))); @@ -540,10 +542,12 @@ void TileMapEditor::_canvas_draw() { Color col=i==0?Color(1,0.8,0.2,0.5):Color(1,0.3,0.1,0.2); canvas_item_editor->draw_line(from,to,col,1); - + if (max_lines--==0) + break; } } else { + int max_lines=10000; //avoid crash if size too smal for(int i=(si.pos.x)-1;i<=(si.pos.x+si.size.x);i++) { @@ -558,11 +562,17 @@ void TileMapEditor::_canvas_draw() { Vector2 to = xform.xform(node->map_to_world(Vector2(i,j+1),true)+ofs); Color col=i==0?Color(1,0.8,0.2,0.5):Color(1,0.3,0.1,0.2); canvas_item_editor->draw_line(from,to,col,1); + + if (max_lines--==0) + break; + } } } + int max_lines=10000; //avoid crash if size too smal + if (node->get_half_offset()!=TileMap::HALF_OFFSET_Y) { for(int i=(si.pos.y)-1;i<=(si.pos.y+si.size.y);i++) { @@ -573,6 +583,9 @@ void TileMapEditor::_canvas_draw() { Color col=i==0?Color(1,0.8,0.2,0.5):Color(1,0.3,0.1,0.2); canvas_item_editor->draw_line(from,to,col,1); + if (max_lines--==0) + break; + } } else { @@ -590,6 +603,10 @@ void TileMapEditor::_canvas_draw() { Vector2 to = xform.xform(node->map_to_world(Vector2(j+1,i),true)+ofs); Color col=i==0?Color(1,0.8,0.2,0.5):Color(1,0.3,0.1,0.2); canvas_item_editor->draw_line(from,to,col,1); + + if (max_lines--==0) + break; + } } |