diff options
-rw-r--r-- | .travis.yml | 2 | ||||
-rw-r--r-- | core/os/file_access.cpp | 4 | ||||
-rw-r--r-- | scene/3d/bone_attachment.cpp | 1 | ||||
-rw-r--r-- | scene/main/node.cpp | 10 | ||||
-rw-r--r-- | scene/main/node.h | 2 | ||||
-rw-r--r-- | scene/resources/curve.cpp | 3 | ||||
-rw-r--r-- | tools/editor/scene_tree_dock.cpp | 1 |
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 |