summaryrefslogtreecommitdiff
path: root/scene
diff options
context:
space:
mode:
Diffstat (limited to 'scene')
-rw-r--r--scene/2d/node_2d.cpp4
-rw-r--r--scene/2d/tile_map.cpp4
-rw-r--r--scene/gui/tree.cpp2
-rw-r--r--scene/main/node.cpp2
-rw-r--r--scene/main/viewport.cpp27
-rw-r--r--scene/main/viewport.h2
6 files changed, 35 insertions, 6 deletions
diff --git a/scene/2d/node_2d.cpp b/scene/2d/node_2d.cpp
index 9b2994ef84..a2bee43e58 100644
--- a/scene/2d/node_2d.cpp
+++ b/scene/2d/node_2d.cpp
@@ -162,6 +162,10 @@ void Node2D::set_scale(const Size2& p_scale) {
if (_xform_dirty)
((Node2D*)this)->_update_xform_values();
scale=p_scale;
+ if (scale.x==0)
+ scale.x=CMP_EPSILON;
+ if (scale.y==0)
+ scale.y=CMP_EPSILON;
_update_transform();
_change_notify("transform/scale");
diff --git a/scene/2d/tile_map.cpp b/scene/2d/tile_map.cpp
index a3917f729c..b9e44d5053 100644
--- a/scene/2d/tile_map.cpp
+++ b/scene/2d/tile_map.cpp
@@ -585,8 +585,8 @@ TileMap::TileMap() {
center_x=false;
center_y=false;
- fp_adjust=0.1;
- fp_adjust=0.1;
+ fp_adjust=0.4;
+ fp_adjust=0.4;
}
TileMap::~TileMap() {
diff --git a/scene/gui/tree.cpp b/scene/gui/tree.cpp
index 9be3c97901..fb85f0c6b7 100644
--- a/scene/gui/tree.cpp
+++ b/scene/gui/tree.cpp
@@ -1591,7 +1591,7 @@ int Tree::propagate_mouse_event(const Point2i &p_pos,int x_ofs,int y_ofs,bool p_
case TreeItem::CELL_MODE_CUSTOM: {
edited_item=p_item;
edited_col=col;
- custom_popup_rect=Rect2i(get_global_pos() + Point2i(col_ofs,_get_title_button_height()+y_ofs+item_h-v_scroll->get_val()), Size2(get_column_width(col),item_h));
+ custom_popup_rect=Rect2i(get_global_pos() + Point2i(col_ofs,_get_title_button_height()+y_ofs+item_h-cache.offset.y), Size2(get_column_width(col),item_h));
emit_signal("custom_popup_edited",((bool)(x >= (col_width-item_h/2))));
bring_up_editor=false;
diff --git a/scene/main/node.cpp b/scene/main/node.cpp
index 5ac09e837f..9b592a77d5 100644
--- a/scene/main/node.cpp
+++ b/scene/main/node.cpp
@@ -552,6 +552,8 @@ void Node::_validate_child_name(Node *p_child) {
int cc = data.children.size();
for(int i=0;i<cc;i++) {
+ if (childs[i]==p_child)
+ continue;
if (childs[i]->data.name==p_child->data.name) {
unique=false;
break;
diff --git a/scene/main/viewport.cpp b/scene/main/viewport.cpp
index ae2b925008..4aed217cef 100644
--- a/scene/main/viewport.cpp
+++ b/scene/main/viewport.cpp
@@ -782,16 +782,41 @@ void Viewport::_bind_methods() {
ObjectTypeDB::bind_method(_MD("set_as_render_target","enable"), &Viewport::set_as_render_target);
ObjectTypeDB::bind_method(_MD("is_set_as_render_target"), &Viewport::is_set_as_render_target);
+ ObjectTypeDB::bind_method(_MD("set_render_target_update_mode","mode"), &Viewport::set_render_target_update_mode);
+ ObjectTypeDB::bind_method(_MD("get_render_target_update_mode"), &Viewport::get_render_target_update_mode);
+
+ ObjectTypeDB::bind_method(_MD("get_render_target_texture:RenderTargetTexture"), &Viewport::get_render_target_texture);
+
+
ObjectTypeDB::bind_method(_MD("get_viewport"), &Viewport::get_viewport);
+
ObjectTypeDB::bind_method(_MD("update_worlds"), &Viewport::update_worlds);
+
+ ObjectTypeDB::bind_method(_MD("set_as_audio_listener","enable"), &Viewport::set_as_audio_listener);
+ ObjectTypeDB::bind_method(_MD("is_audio_listener","enable"), &Viewport::is_audio_listener);
+
+ ObjectTypeDB::bind_method(_MD("set_as_audio_listener_2d","enable"), &Viewport::set_as_audio_listener_2d);
+ ObjectTypeDB::bind_method(_MD("is_audio_listener_2d","enable"), &Viewport::is_audio_listener_2d);
+
+
+ ADD_PROPERTY( PropertyInfo(Variant::RECT2,"rect"), _SCS("set_rect"), _SCS("get_rect") );
ADD_PROPERTY( PropertyInfo(Variant::OBJECT,"world",PROPERTY_HINT_RESOURCE_TYPE,"World"), _SCS("set_world"), _SCS("get_world") );
// ADD_PROPERTY( PropertyInfo(Variant::OBJECT,"world_2d",PROPERTY_HINT_RESOURCE_TYPE,"World2D"), _SCS("set_world_2d"), _SCS("get_world_2d") );
ADD_PROPERTY( PropertyInfo(Variant::BOOL,"transparent_bg"), _SCS("set_transparent_background"), _SCS("has_transparent_background") );
- ADD_PROPERTY( PropertyInfo(Variant::BOOL,"render_target"), _SCS("set_as_render_target"), _SCS("is_set_as_render_target") );
+ ADD_PROPERTY( PropertyInfo(Variant::BOOL,"render_target/enabled"), _SCS("set_as_render_target"), _SCS("is_set_as_render_target") );
+ ADD_PROPERTY( PropertyInfo(Variant::INT,"render_target/update_mode",PROPERTY_HINT_ENUM,"Disabled,Once,When Visible,Always"), _SCS("set_render_target_update_mode"), _SCS("get_render_target_update_mode") );
+ ADD_PROPERTY( PropertyInfo(Variant::BOOL,"audio_listener/enable_2d"), _SCS("set_as_audio_listener_2d"), _SCS("is_audio_listener_2d") );
+ ADD_PROPERTY( PropertyInfo(Variant::BOOL,"audio_listener/enable_3d"), _SCS("set_as_audio_listener"), _SCS("is_audio_listener") );
ADD_SIGNAL(MethodInfo("size_changed"));
+
+ BIND_CONSTANT( RENDER_TARGET_UPDATE_DISABLED );
+ BIND_CONSTANT( RENDER_TARGET_UPDATE_ONCE );
+ BIND_CONSTANT( RENDER_TARGET_UPDATE_WHEN_VISIBLE );
+ BIND_CONSTANT( RENDER_TARGET_UPDATE_ALWAYS );
+
}
diff --git a/scene/main/viewport.h b/scene/main/viewport.h
index a35bc51e1e..7fbae20f7d 100644
--- a/scene/main/viewport.h
+++ b/scene/main/viewport.h
@@ -154,11 +154,9 @@ public:
Camera* get_camera() const;
- void set_listener_transform(const Transform& p_xform);
void set_as_audio_listener(bool p_enable);
bool is_audio_listener() const;
- void set_listener_2d_transform(const Matrix32& p_xform);
void set_as_audio_listener_2d(bool p_enable);
bool is_audio_listener_2d() const;