summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.travis.yml2
-rw-r--r--core/os/file_access.cpp4
-rw-r--r--scene/3d/bone_attachment.cpp1
-rw-r--r--scene/main/node.cpp10
-rw-r--r--scene/main/node.h2
-rw-r--r--scene/resources/curve.cpp3
-rw-r--r--tools/editor/scene_tree_dock.cpp1
7 files changed, 20 insertions, 3 deletions
diff --git a/.travis.yml b/.travis.yml
index 11dcdf447c..f2f087fc98 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -71,4 +71,4 @@ before_script:
- if [ "$TRAVIS_OS_NAME" = "osx" ] && [ "$GODOT_TARGET" = "android" ]; then brew update; brew install android-sdk android-ndk; export ANDROID_HOME=/usr/local/opt/android-sdk; export ANDROID_NDK_ROOT=/usr/local/opt/android-ndk; fi
script:
- - scons platform=$GODOT_TARGET CXX=$CXX
+ - scons platform=$GODOT_TARGET CXX=$CXX openssl=builtin
diff --git a/core/os/file_access.cpp b/core/os/file_access.cpp
index 0846ef3eb0..a3ee9395de 100644
--- a/core/os/file_access.cpp
+++ b/core/os/file_access.cpp
@@ -284,7 +284,7 @@ Vector<String> FileAccess::get_csv_line(String delim) const {
String l;
int qc=0;
do {
- l+=get_line();
+ l+=get_line()+"\n";
qc=0;
for(int i=0;i<l.length();i++) {
@@ -295,6 +295,8 @@ Vector<String> FileAccess::get_csv_line(String delim) const {
} while (qc%2);
+ l=l.substr(0, l.length()-1);
+
Vector<String> strings;
bool in_quote=false;
diff --git a/scene/3d/bone_attachment.cpp b/scene/3d/bone_attachment.cpp
index 1628ccc15e..56b61d40e2 100644
--- a/scene/3d/bone_attachment.cpp
+++ b/scene/3d/bone_attachment.cpp
@@ -80,6 +80,7 @@ void BoneAttachment::_check_bind() {
int idx = sk->find_bone(bone_name);
if (idx!=-1) {
sk->bind_child_node_to_bone(idx,this);;
+ set_transform(sk->get_bone_global_pose(idx));
bound=true;
}
}
diff --git a/scene/main/node.cpp b/scene/main/node.cpp
index b90edb38b2..f4c41256db 100644
--- a/scene/main/node.cpp
+++ b/scene/main/node.cpp
@@ -1374,6 +1374,16 @@ bool Node::is_editable_instance(Node *p_node) const {
return data.editable_instances.has(p);
}
+void Node::set_editable_instances(const HashMap<NodePath,int>& p_editable_instances) {
+
+ data.editable_instances=p_editable_instances;
+}
+
+HashMap<NodePath,int> Node::get_editable_instances() const {
+
+ return data.editable_instances;
+}
+
#if 0
diff --git a/scene/main/node.h b/scene/main/node.h
index 5c6147d644..560a2e588a 100644
--- a/scene/main/node.h
+++ b/scene/main/node.h
@@ -239,6 +239,8 @@ public:
void set_editable_instance(Node* p_node,bool p_editable);
bool is_editable_instance(Node* p_node) const;
+ void set_editable_instances(const HashMap<NodePath,int>& p_editable_instances);
+ HashMap<NodePath,int> get_editable_instances() const;
/* NOTIFICATIONS */
diff --git a/scene/resources/curve.cpp b/scene/resources/curve.cpp
index 7dec4029fc..516156c315 100644
--- a/scene/resources/curve.cpp
+++ b/scene/resources/curve.cpp
@@ -543,7 +543,8 @@ void Curve2D::_bake() const {
Vector2 pos=points[0].pos;
List<Vector2> pointlist;
-
+ pointlist.push_back(pos); //start always from origin
+
for(int i=0;i<points.size()-1;i++) {
float step = 0.1; // at least 10 substeps ought to be enough?
diff --git a/tools/editor/scene_tree_dock.cpp b/tools/editor/scene_tree_dock.cpp
index 6b2961ea72..c6115ba87a 100644
--- a/tools/editor/scene_tree_dock.cpp
+++ b/tools/editor/scene_tree_dock.cpp
@@ -1317,6 +1317,7 @@ void SceneTreeDock::_create() {
if (n==edited_scene) {
edited_scene=newnode;
editor->set_edited_scene(newnode);
+ newnode->set_editable_instances(n->get_editable_instances());
}
//small hack to make collisionshapes and other kind of nodes to work