summaryrefslogtreecommitdiff
path: root/demos/2d/rubegoldberg
diff options
context:
space:
mode:
Diffstat (limited to 'demos/2d/rubegoldberg')
-rw-r--r--demos/2d/rubegoldberg/ball.tscn44
-rw-r--r--demos/2d/rubegoldberg/ball.xml215
-rw-r--r--demos/2d/rubegoldberg/box.tscn44
-rw-r--r--demos/2d/rubegoldberg/box.xml214
-rw-r--r--demos/2d/rubegoldberg/domino.tscn44
-rw-r--r--demos/2d/rubegoldberg/domino.xml215
-rw-r--r--demos/2d/rubegoldberg/engine.cfg2
-rw-r--r--demos/2d/rubegoldberg/pendulum.tscn248
-rw-r--r--demos/2d/rubegoldberg/pendulum.xml269
-rw-r--r--demos/2d/rubegoldberg/platform.tscn33
-rw-r--r--demos/2d/rubegoldberg/platform.xml200
-rw-r--r--demos/2d/rubegoldberg/rubegoldberg.tscn98
-rw-r--r--demos/2d/rubegoldberg/rubegoldberg.xml241
-rw-r--r--demos/2d/rubegoldberg/seesaw.tscn89
-rw-r--r--demos/2d/rubegoldberg/seesaw.xml243
15 files changed, 601 insertions, 1598 deletions
diff --git a/demos/2d/rubegoldberg/ball.tscn b/demos/2d/rubegoldberg/ball.tscn
new file mode 100644
index 0000000000..0b11461c3b
--- /dev/null
+++ b/demos/2d/rubegoldberg/ball.tscn
@@ -0,0 +1,44 @@
+[gd_scene load_steps=3 format=1]
+
+[ext_resource path="res://art/bowling_ball.png" type="Texture" id=1]
+
+[sub_resource type="CircleShape2D" id=1]
+
+custom_solver_bias = 0.0
+radius = 32.0
+
+[node name="Ball" type="RigidBody2D"]
+
+input/pickable = false
+shapes/0/shape = SubResource( 1 )
+shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
+shapes/0/trigger = false
+collision/layers = 1
+collision/mask = 1
+mode = 0
+mass = 3.0
+friction = 1.0
+bounce = 0.0
+gravity_scale = 1.0
+custom_integrator = false
+continuous_cd = 0
+contacts_reported = 0
+contact_monitor = false
+sleeping = false
+can_sleep = true
+velocity/linear = Vector2( 0, 0 )
+velocity/angular = 0.0
+damp_override/linear = -1.0
+damp_override/angular = -1.0
+
+[node name="Sprite" type="Sprite" parent="."]
+
+texture = ExtResource( 1 )
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
+
+shape = SubResource( 1 )
+trigger = false
+_update_shape_index = -1
+
+
diff --git a/demos/2d/rubegoldberg/ball.xml b/demos/2d/rubegoldberg/ball.xml
deleted file mode 100644
index 73b699514c..0000000000
--- a/demos/2d/rubegoldberg/ball.xml
+++ /dev/null
@@ -1,215 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<resource_file type="PackedScene" subresource_count="3" version="2.0" version_name="Godot Engine v2.0.alpha.custom_build">
- <ext_resource path="res://art/bowling_ball.png" type="Texture" index="0"></ext_resource>
- <resource type="CircleShape2D" path="local://1">
- <real name="custom_solver_bias"> 0 </real>
- <real name="radius"> 32 </real>
-
- </resource>
- <main_resource>
- <dictionary name="_bundled" shared="false">
- <string> "conn_count" </string>
- <int> 0 </int>
- <string> "conns" </string>
- <int_array len="0"> </int_array>
- <string> "editable_instances" </string>
- <array len="0" shared="false">
- </array>
- <string> "names" </string>
- <string_array len="30">
- <string> "Ball" </string>
- <string> "input/pickable" </string>
- <string> "shapes/0/shape" </string>
- <string> "shapes/0/transform" </string>
- <string> "shapes/0/trigger" </string>
- <string> "collision/layers" </string>
- <string> "collision/mask" </string>
- <string> "mode" </string>
- <string> "mass" </string>
- <string> "friction" </string>
- <string> "bounce" </string>
- <string> "gravity_scale" </string>
- <string> "custom_integrator" </string>
- <string> "continuous_cd" </string>
- <string> "contacts_reported" </string>
- <string> "contact_monitor" </string>
- <string> "sleeping" </string>
- <string> "can_sleep" </string>
- <string> "velocity/linear" </string>
- <string> "velocity/angular" </string>
- <string> "damp_override/linear" </string>
- <string> "damp_override/angular" </string>
- <string> "__meta__" </string>
- <string> "RigidBody2D" </string>
- <string> "Sprite" </string>
- <string> "texture" </string>
- <string> "CollisionShape2D" </string>
- <string> "shape" </string>
- <string> "trigger" </string>
- <string> "_update_shape_index" </string>
- </string_array>
- <string> "node_count" </string>
- <int> 3 </int>
- <string> "node_paths" </string>
- <array len="0" shared="false">
- </array>
- <string> "nodes" </string>
- <int_array len="73"> -1, -1, 23, 0, -1, 22, 1, 0, 2, 1, 3, 2, 4, 0, 5, 3, 6, 3, 7, 4, 8, 5, 9, 6, 10, 7, 11, 6, 12, 0, 13, 4, 14, 4, 15, 0, 16, 0, 17, 8, 18, 9, 19, 7, 20, 10, 21, 10, 22, 11, 0, 0, 0, 24, 24, -1, 1, 25, 12, 0, 0, 0, 26, 26, -1, 3, 27, 1, 28, 0, 29, 13, 0 </int_array>
- <string> "variants" </string>
- <array len="14" shared="false">
- <bool> False </bool>
- <resource resource_type="Shape2D" path="local://1"> </resource>
- <matrix32> 1, 0, 0, 1, 0, 0 </matrix32>
- <int> 1 </int>
- <int> 0 </int>
- <real> 3 </real>
- <real> 1 </real>
- <real> 0 </real>
- <bool> True </bool>
- <vector2> 0, 0 </vector2>
- <real> -1 </real>
- <dictionary shared="false">
- <string> "__editor_plugin_screen__" </string>
- <string> "2D" </string>
- <string> "__editor_plugin_states__" </string>
- <dictionary shared="false">
- <string> "2D" </string>
- <dictionary shared="false">
- <string> "ofs" </string>
- <vector2> -80.5995, -149.825 </vector2>
- <string> "snap_grid" </string>
- <bool> False </bool>
- <string> "snap_offset" </string>
- <vector2> 0, 0 </vector2>
- <string> "snap_pixel" </string>
- <bool> False </bool>
- <string> "snap_relative" </string>
- <bool> False </bool>
- <string> "snap_rotation" </string>
- <bool> False </bool>
- <string> "snap_rotation_offset" </string>
- <real> 0 </real>
- <string> "snap_rotation_step" </string>
- <real> 0.261799 </real>
- <string> "snap_show_grid" </string>
- <bool> False </bool>
- <string> "snap_step" </string>
- <vector2> 10, 10 </vector2>
- <string> "zoom" </string>
- <real> 1.50734 </real>
- </dictionary>
- <string> "3D" </string>
- <dictionary shared="false">
- <string> "ambient_light_color" </string>
- <color> 0.15, 0.15, 0.15, 1 </color>
- <string> "default_light" </string>
- <bool> True </bool>
- <string> "default_srgb" </string>
- <bool> False </bool>
- <string> "deflight_rot_x" </string>
- <real> 0.942478 </real>
- <string> "deflight_rot_y" </string>
- <real> 0.628319 </real>
- <string> "fov" </string>
- <real> 45 </real>
- <string> "show_grid" </string>
- <bool> True </bool>
- <string> "show_origin" </string>
- <bool> True </bool>
- <string> "viewport_mode" </string>
- <int> 1 </int>
- <string> "viewports" </string>
- <array len="4" shared="false">
- <dictionary shared="false">
- <string> "distance" </string>
- <real> 4 </real>
- <string> "listener" </string>
- <bool> True </bool>
- <string> "pos" </string>
- <vector3> 0, 0, 0 </vector3>
- <string> "use_environment" </string>
- <bool> False </bool>
- <string> "use_orthogonal" </string>
- <bool> False </bool>
- <string> "x_rot" </string>
- <real> 0 </real>
- <string> "y_rot" </string>
- <real> 0 </real>
- </dictionary>
- <dictionary shared="false">
- <string> "distance" </string>
- <real> 4 </real>
- <string> "listener" </string>
- <bool> False </bool>
- <string> "pos" </string>
- <vector3> 0, 0, 0 </vector3>
- <string> "use_environment" </string>
- <bool> False </bool>
- <string> "use_orthogonal" </string>
- <bool> False </bool>
- <string> "x_rot" </string>
- <real> 0 </real>
- <string> "y_rot" </string>
- <real> 0 </real>
- </dictionary>
- <dictionary shared="false">
- <string> "distance" </string>
- <real> 4 </real>
- <string> "listener" </string>
- <bool> False </bool>
- <string> "pos" </string>
- <vector3> 0, 0, 0 </vector3>
- <string> "use_environment" </string>
- <bool> False </bool>
- <string> "use_orthogonal" </string>
- <bool> False </bool>
- <string> "x_rot" </string>
- <real> 0 </real>
- <string> "y_rot" </string>
- <real> 0 </real>
- </dictionary>
- <dictionary shared="false">
- <string> "distance" </string>
- <real> 4 </real>
- <string> "listener" </string>
- <bool> False </bool>
- <string> "pos" </string>
- <vector3> 0, 0, 0 </vector3>
- <string> "use_environment" </string>
- <bool> False </bool>
- <string> "use_orthogonal" </string>
- <bool> False </bool>
- <string> "x_rot" </string>
- <real> 0 </real>
- <string> "y_rot" </string>
- <real> 0 </real>
- </dictionary>
- </array>
- <string> "zfar" </string>
- <real> 500 </real>
- <string> "znear" </string>
- <real> 0.1 </real>
- </dictionary>
- <string> "Anim" </string>
- <dictionary shared="false">
- <string> "visible" </string>
- <bool> False </bool>
- </dictionary>
- </dictionary>
- <string> "__editor_run_settings__" </string>
- <dictionary shared="false">
- <string> "custom_args" </string>
- <string> "-l $scene" </string>
- <string> "run_mode" </string>
- <int> 0 </int>
- </dictionary>
- </dictionary>
- <resource external="0"> </resource>
- <int> -1 </int>
- </array>
- <string> "version" </string>
- <int> 2 </int>
- </dictionary>
-
- </main_resource>
-</resource_file> \ No newline at end of file
diff --git a/demos/2d/rubegoldberg/box.tscn b/demos/2d/rubegoldberg/box.tscn
new file mode 100644
index 0000000000..f9f0455c1f
--- /dev/null
+++ b/demos/2d/rubegoldberg/box.tscn
@@ -0,0 +1,44 @@
+[gd_scene load_steps=3 format=1]
+
+[ext_resource path="res://art/box.png" type="Texture" id=1]
+
+[sub_resource type="RectangleShape2D" id=1]
+
+custom_solver_bias = 0.0
+extents = Vector2( 32, 32 )
+
+[node name="box" type="RigidBody2D"]
+
+input/pickable = false
+shapes/0/shape = SubResource( 1 )
+shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
+shapes/0/trigger = false
+collision/layers = 1
+collision/mask = 1
+mode = 0
+mass = 1.0
+friction = 1.0
+bounce = 0.0
+gravity_scale = 1.0
+custom_integrator = false
+continuous_cd = 0
+contacts_reported = 0
+contact_monitor = false
+sleeping = false
+can_sleep = true
+velocity/linear = Vector2( 0, 0 )
+velocity/angular = 0.0
+damp_override/linear = -1.0
+damp_override/angular = -1.0
+
+[node name="Sprite" type="Sprite" parent="."]
+
+texture = ExtResource( 1 )
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
+
+shape = SubResource( 1 )
+trigger = false
+_update_shape_index = -1
+
+
diff --git a/demos/2d/rubegoldberg/box.xml b/demos/2d/rubegoldberg/box.xml
deleted file mode 100644
index c30d30e9f9..0000000000
--- a/demos/2d/rubegoldberg/box.xml
+++ /dev/null
@@ -1,214 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<resource_file type="PackedScene" subresource_count="3" version="2.0" version_name="Godot Engine v2.0.alpha.custom_build">
- <ext_resource path="res://art/box.png" type="Texture" index="0"></ext_resource>
- <resource type="RectangleShape2D" path="local://1">
- <real name="custom_solver_bias"> 0 </real>
- <vector2 name="extents"> 32, 32 </vector2>
-
- </resource>
- <main_resource>
- <dictionary name="_bundled" shared="false">
- <string> "conn_count" </string>
- <int> 0 </int>
- <string> "conns" </string>
- <int_array len="0"> </int_array>
- <string> "editable_instances" </string>
- <array len="0" shared="false">
- </array>
- <string> "names" </string>
- <string_array len="30">
- <string> "box" </string>
- <string> "input/pickable" </string>
- <string> "shapes/0/shape" </string>
- <string> "shapes/0/transform" </string>
- <string> "shapes/0/trigger" </string>
- <string> "collision/layers" </string>
- <string> "collision/mask" </string>
- <string> "mode" </string>
- <string> "mass" </string>
- <string> "friction" </string>
- <string> "bounce" </string>
- <string> "gravity_scale" </string>
- <string> "custom_integrator" </string>
- <string> "continuous_cd" </string>
- <string> "contacts_reported" </string>
- <string> "contact_monitor" </string>
- <string> "sleeping" </string>
- <string> "can_sleep" </string>
- <string> "velocity/linear" </string>
- <string> "velocity/angular" </string>
- <string> "damp_override/linear" </string>
- <string> "damp_override/angular" </string>
- <string> "__meta__" </string>
- <string> "RigidBody2D" </string>
- <string> "Sprite" </string>
- <string> "texture" </string>
- <string> "CollisionShape2D" </string>
- <string> "shape" </string>
- <string> "trigger" </string>
- <string> "_update_shape_index" </string>
- </string_array>
- <string> "node_count" </string>
- <int> 3 </int>
- <string> "node_paths" </string>
- <array len="0" shared="false">
- </array>
- <string> "nodes" </string>
- <int_array len="73"> -1, -1, 23, 0, -1, 22, 1, 0, 2, 1, 3, 2, 4, 0, 5, 3, 6, 3, 7, 4, 8, 5, 9, 5, 10, 6, 11, 5, 12, 0, 13, 4, 14, 4, 15, 0, 16, 0, 17, 7, 18, 8, 19, 6, 20, 9, 21, 9, 22, 10, 0, 0, 0, 24, 24, -1, 1, 25, 11, 0, 0, 0, 26, 26, -1, 3, 27, 1, 28, 0, 29, 12, 0 </int_array>
- <string> "variants" </string>
- <array len="13" shared="false">
- <bool> False </bool>
- <resource resource_type="Shape2D" path="local://1"> </resource>
- <matrix32> 1, 0, 0, 1, 0, 0 </matrix32>
- <int> 1 </int>
- <int> 0 </int>
- <real> 1 </real>
- <real> 0 </real>
- <bool> True </bool>
- <vector2> 0, 0 </vector2>
- <real> -1 </real>
- <dictionary shared="false">
- <string> "__editor_plugin_screen__" </string>
- <string> "2D" </string>
- <string> "__editor_plugin_states__" </string>
- <dictionary shared="false">
- <string> "2D" </string>
- <dictionary shared="false">
- <string> "ofs" </string>
- <vector2> -125, -163 </vector2>
- <string> "snap_grid" </string>
- <bool> False </bool>
- <string> "snap_offset" </string>
- <vector2> 0, 0 </vector2>
- <string> "snap_pixel" </string>
- <bool> False </bool>
- <string> "snap_relative" </string>
- <bool> False </bool>
- <string> "snap_rotation" </string>
- <bool> False </bool>
- <string> "snap_rotation_offset" </string>
- <real> 0 </real>
- <string> "snap_rotation_step" </string>
- <real> 0.261799 </real>
- <string> "snap_show_grid" </string>
- <bool> False </bool>
- <string> "snap_step" </string>
- <vector2> 10, 10 </vector2>
- <string> "zoom" </string>
- <real> 1 </real>
- </dictionary>
- <string> "3D" </string>
- <dictionary shared="false">
- <string> "ambient_light_color" </string>
- <color> 0.15, 0.15, 0.15, 1 </color>
- <string> "default_light" </string>
- <bool> True </bool>
- <string> "default_srgb" </string>
- <bool> False </bool>
- <string> "deflight_rot_x" </string>
- <real> 0.942478 </real>
- <string> "deflight_rot_y" </string>
- <real> 0.628319 </real>
- <string> "fov" </string>
- <real> 45 </real>
- <string> "show_grid" </string>
- <bool> True </bool>
- <string> "show_origin" </string>
- <bool> True </bool>
- <string> "viewport_mode" </string>
- <int> 1 </int>
- <string> "viewports" </string>
- <array len="4" shared="false">
- <dictionary shared="false">
- <string> "distance" </string>
- <real> 4 </real>
- <string> "listener" </string>
- <bool> True </bool>
- <string> "pos" </string>
- <vector3> 0, 0, 0 </vector3>
- <string> "use_environment" </string>
- <bool> False </bool>
- <string> "use_orthogonal" </string>
- <bool> False </bool>
- <string> "x_rot" </string>
- <real> 0 </real>
- <string> "y_rot" </string>
- <real> 0 </real>
- </dictionary>
- <dictionary shared="false">
- <string> "distance" </string>
- <real> 4 </real>
- <string> "listener" </string>
- <bool> False </bool>
- <string> "pos" </string>
- <vector3> 0, 0, 0 </vector3>
- <string> "use_environment" </string>
- <bool> False </bool>
- <string> "use_orthogonal" </string>
- <bool> False </bool>
- <string> "x_rot" </string>
- <real> 0 </real>
- <string> "y_rot" </string>
- <real> 0 </real>
- </dictionary>
- <dictionary shared="false">
- <string> "distance" </string>
- <real> 4 </real>
- <string> "listener" </string>
- <bool> False </bool>
- <string> "pos" </string>
- <vector3> 0, 0, 0 </vector3>
- <string> "use_environment" </string>
- <bool> False </bool>
- <string> "use_orthogonal" </string>
- <bool> False </bool>
- <string> "x_rot" </string>
- <real> 0 </real>
- <string> "y_rot" </string>
- <real> 0 </real>
- </dictionary>
- <dictionary shared="false">
- <string> "distance" </string>
- <real> 4 </real>
- <string> "listener" </string>
- <bool> False </bool>
- <string> "pos" </string>
- <vector3> 0, 0, 0 </vector3>
- <string> "use_environment" </string>
- <bool> False </bool>
- <string> "use_orthogonal" </string>
- <bool> False </bool>
- <string> "x_rot" </string>
- <real> 0 </real>
- <string> "y_rot" </string>
- <real> 0 </real>
- </dictionary>
- </array>
- <string> "zfar" </string>
- <real> 500 </real>
- <string> "znear" </string>
- <real> 0.1 </real>
- </dictionary>
- <string> "Anim" </string>
- <dictionary shared="false">
- <string> "visible" </string>
- <bool> False </bool>
- </dictionary>
- </dictionary>
- <string> "__editor_run_settings__" </string>
- <dictionary shared="false">
- <string> "custom_args" </string>
- <string> "-l $scene" </string>
- <string> "run_mode" </string>
- <int> 0 </int>
- </dictionary>
- </dictionary>
- <resource external="0"> </resource>
- <int> -1 </int>
- </array>
- <string> "version" </string>
- <int> 2 </int>
- </dictionary>
-
- </main_resource>
-</resource_file> \ No newline at end of file
diff --git a/demos/2d/rubegoldberg/domino.tscn b/demos/2d/rubegoldberg/domino.tscn
new file mode 100644
index 0000000000..3b2dc134dc
--- /dev/null
+++ b/demos/2d/rubegoldberg/domino.tscn
@@ -0,0 +1,44 @@
+[gd_scene load_steps=3 format=1]
+
+[ext_resource path="res://art/domino.png" type="Texture" id=1]
+
+[sub_resource type="RectangleShape2D" id=1]
+
+custom_solver_bias = 0.0
+extents = Vector2( 16, 64 )
+
+[node name="domino" type="RigidBody2D"]
+
+input/pickable = false
+shapes/0/shape = SubResource( 1 )
+shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
+shapes/0/trigger = false
+collision/layers = 1
+collision/mask = 1
+mode = 0
+mass = 1.0
+friction = 0.5
+bounce = 0.0
+gravity_scale = 1.0
+custom_integrator = false
+continuous_cd = 0
+contacts_reported = 0
+contact_monitor = false
+sleeping = false
+can_sleep = true
+velocity/linear = Vector2( 0, 0 )
+velocity/angular = 0.0
+damp_override/linear = -1.0
+damp_override/angular = -1.0
+
+[node name="Sprite" type="Sprite" parent="."]
+
+texture = ExtResource( 1 )
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
+
+shape = SubResource( 1 )
+trigger = false
+_update_shape_index = -1
+
+
diff --git a/demos/2d/rubegoldberg/domino.xml b/demos/2d/rubegoldberg/domino.xml
deleted file mode 100644
index ec86c833df..0000000000
--- a/demos/2d/rubegoldberg/domino.xml
+++ /dev/null
@@ -1,215 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<resource_file type="PackedScene" subresource_count="3" version="2.0" version_name="Godot Engine v2.0.alpha.custom_build">
- <ext_resource path="res://art/domino.png" type="Texture" index="0"></ext_resource>
- <resource type="RectangleShape2D" path="local://1">
- <real name="custom_solver_bias"> 0 </real>
- <vector2 name="extents"> 16, 64 </vector2>
-
- </resource>
- <main_resource>
- <dictionary name="_bundled" shared="false">
- <string> "conn_count" </string>
- <int> 0 </int>
- <string> "conns" </string>
- <int_array len="0"> </int_array>
- <string> "editable_instances" </string>
- <array len="0" shared="false">
- </array>
- <string> "names" </string>
- <string_array len="30">
- <string> "domino" </string>
- <string> "input/pickable" </string>
- <string> "shapes/0/shape" </string>
- <string> "shapes/0/transform" </string>
- <string> "shapes/0/trigger" </string>
- <string> "collision/layers" </string>
- <string> "collision/mask" </string>
- <string> "mode" </string>
- <string> "mass" </string>
- <string> "friction" </string>
- <string> "bounce" </string>
- <string> "gravity_scale" </string>
- <string> "custom_integrator" </string>
- <string> "continuous_cd" </string>
- <string> "contacts_reported" </string>
- <string> "contact_monitor" </string>
- <string> "sleeping" </string>
- <string> "can_sleep" </string>
- <string> "velocity/linear" </string>
- <string> "velocity/angular" </string>
- <string> "damp_override/linear" </string>
- <string> "damp_override/angular" </string>
- <string> "__meta__" </string>
- <string> "RigidBody2D" </string>
- <string> "Sprite" </string>
- <string> "texture" </string>
- <string> "CollisionShape2D" </string>
- <string> "shape" </string>
- <string> "trigger" </string>
- <string> "_update_shape_index" </string>
- </string_array>
- <string> "node_count" </string>
- <int> 3 </int>
- <string> "node_paths" </string>
- <array len="0" shared="false">
- </array>
- <string> "nodes" </string>
- <int_array len="73"> -1, -1, 23, 0, -1, 22, 1, 0, 2, 1, 3, 2, 4, 0, 5, 3, 6, 3, 7, 4, 8, 5, 9, 6, 10, 7, 11, 5, 12, 0, 13, 4, 14, 4, 15, 0, 16, 0, 17, 8, 18, 9, 19, 7, 20, 10, 21, 10, 22, 11, 0, 0, 0, 24, 24, -1, 1, 25, 12, 0, 0, 0, 26, 26, -1, 3, 27, 1, 28, 0, 29, 13, 0 </int_array>
- <string> "variants" </string>
- <array len="14" shared="false">
- <bool> False </bool>
- <resource resource_type="Shape2D" path="local://1"> </resource>
- <matrix32> 1, 0, 0, 1, 0, 0 </matrix32>
- <int> 1 </int>
- <int> 0 </int>
- <real> 1 </real>
- <real> 0.5 </real>
- <real> 0 </real>
- <bool> True </bool>
- <vector2> 0, 0 </vector2>
- <real> -1 </real>
- <dictionary shared="false">
- <string> "__editor_plugin_screen__" </string>
- <string> "2D" </string>
- <string> "__editor_plugin_states__" </string>
- <dictionary shared="false">
- <string> "2D" </string>
- <dictionary shared="false">
- <string> "ofs" </string>
- <vector2> -135, -114 </vector2>
- <string> "snap_grid" </string>
- <bool> False </bool>
- <string> "snap_offset" </string>
- <vector2> 0, 0 </vector2>
- <string> "snap_pixel" </string>
- <bool> False </bool>
- <string> "snap_relative" </string>
- <bool> False </bool>
- <string> "snap_rotation" </string>
- <bool> False </bool>
- <string> "snap_rotation_offset" </string>
- <real> 0 </real>
- <string> "snap_rotation_step" </string>
- <real> 0.261799 </real>
- <string> "snap_show_grid" </string>
- <bool> False </bool>
- <string> "snap_step" </string>
- <vector2> 10, 10 </vector2>
- <string> "zoom" </string>
- <real> 1 </real>
- </dictionary>
- <string> "3D" </string>
- <dictionary shared="false">
- <string> "ambient_light_color" </string>
- <color> 0.15, 0.15, 0.15, 1 </color>
- <string> "default_light" </string>
- <bool> True </bool>
- <string> "default_srgb" </string>
- <bool> False </bool>
- <string> "deflight_rot_x" </string>
- <real> 0.942478 </real>
- <string> "deflight_rot_y" </string>
- <real> 0.628319 </real>
- <string> "fov" </string>
- <real> 45 </real>
- <string> "show_grid" </string>
- <bool> True </bool>
- <string> "show_origin" </string>
- <bool> True </bool>
- <string> "viewport_mode" </string>
- <int> 1 </int>
- <string> "viewports" </string>
- <array len="4" shared="false">
- <dictionary shared="false">
- <string> "distance" </string>
- <real> 4 </real>
- <string> "listener" </string>
- <bool> True </bool>
- <string> "pos" </string>
- <vector3> 0, 0, 0 </vector3>
- <string> "use_environment" </string>
- <bool> False </bool>
- <string> "use_orthogonal" </string>
- <bool> False </bool>
- <string> "x_rot" </string>
- <real> 0 </real>
- <string> "y_rot" </string>
- <real> 0 </real>
- </dictionary>
- <dictionary shared="false">
- <string> "distance" </string>
- <real> 4 </real>
- <string> "listener" </string>
- <bool> False </bool>
- <string> "pos" </string>
- <vector3> 0, 0, 0 </vector3>
- <string> "use_environment" </string>
- <bool> False </bool>
- <string> "use_orthogonal" </string>
- <bool> False </bool>
- <string> "x_rot" </string>
- <real> 0 </real>
- <string> "y_rot" </string>
- <real> 0 </real>
- </dictionary>
- <dictionary shared="false">
- <string> "distance" </string>
- <real> 4 </real>
- <string> "listener" </string>
- <bool> False </bool>
- <string> "pos" </string>
- <vector3> 0, 0, 0 </vector3>
- <string> "use_environment" </string>
- <bool> False </bool>
- <string> "use_orthogonal" </string>
- <bool> False </bool>
- <string> "x_rot" </string>
- <real> 0 </real>
- <string> "y_rot" </string>
- <real> 0 </real>
- </dictionary>
- <dictionary shared="false">
- <string> "distance" </string>
- <real> 4 </real>
- <string> "listener" </string>
- <bool> False </bool>
- <string> "pos" </string>
- <vector3> 0, 0, 0 </vector3>
- <string> "use_environment" </string>
- <bool> False </bool>
- <string> "use_orthogonal" </string>
- <bool> False </bool>
- <string> "x_rot" </string>
- <real> 0 </real>
- <string> "y_rot" </string>
- <real> 0 </real>
- </dictionary>
- </array>
- <string> "zfar" </string>
- <real> 500 </real>
- <string> "znear" </string>
- <real> 0.1 </real>
- </dictionary>
- <string> "Anim" </string>
- <dictionary shared="false">
- <string> "visible" </string>
- <bool> False </bool>
- </dictionary>
- </dictionary>
- <string> "__editor_run_settings__" </string>
- <dictionary shared="false">
- <string> "custom_args" </string>
- <string> "-l $scene" </string>
- <string> "run_mode" </string>
- <int> 0 </int>
- </dictionary>
- </dictionary>
- <resource external="0"> </resource>
- <int> -1 </int>
- </array>
- <string> "version" </string>
- <int> 2 </int>
- </dictionary>
-
- </main_resource>
-</resource_file> \ No newline at end of file
diff --git a/demos/2d/rubegoldberg/engine.cfg b/demos/2d/rubegoldberg/engine.cfg
index bd1cc79ddb..1f746c136d 100644
--- a/demos/2d/rubegoldberg/engine.cfg
+++ b/demos/2d/rubegoldberg/engine.cfg
@@ -1,7 +1,7 @@
[application]
name="Rube Goldberg"
-main_scene="res://rubegoldberg.xml"
+main_scene="res://rubegoldberg.tscn"
icon="res://icon.png"
[physics_2d]
diff --git a/demos/2d/rubegoldberg/pendulum.tscn b/demos/2d/rubegoldberg/pendulum.tscn
new file mode 100644
index 0000000000..b9e1bcd1f9
--- /dev/null
+++ b/demos/2d/rubegoldberg/pendulum.tscn
@@ -0,0 +1,248 @@
+[gd_scene load_steps=5 format=1]
+
+[ext_resource path="res://art/box.png" type="Texture" id=1]
+[ext_resource path="res://art/bowling_ball.png" type="Texture" id=2]
+
+[sub_resource type="RectangleShape2D" id=1]
+
+custom_solver_bias = 0.0
+extents = Vector2( 3, 12 )
+
+[sub_resource type="CircleShape2D" id=2]
+
+custom_solver_bias = 0.0
+radius = 16.0
+
+[node name="pendulum" type="Node2D"]
+
+[node name="union_0" type="RigidBody2D" parent="."]
+
+input/pickable = false
+shapes/0/shape = SubResource( 1 )
+shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
+shapes/0/trigger = false
+collision/layers = 1
+collision/mask = 1
+mode = 0
+mass = 0.2
+friction = 1.0
+bounce = 0.0
+gravity_scale = 1.0
+custom_integrator = false
+continuous_cd = 0
+contacts_reported = 0
+contact_monitor = false
+sleeping = false
+can_sleep = true
+velocity/linear = Vector2( 0, 0 )
+velocity/angular = 0.0
+damp_override/linear = -1.0
+damp_override/angular = -1.0
+__meta__ = { "_edit_group_":true }
+
+[node name="Sprite" type="Sprite" parent="union_0"]
+
+transform/scale = Vector2( 0.1, 0.4 )
+texture = ExtResource( 1 )
+
+[node name="collision" type="CollisionShape2D" parent="union_0"]
+
+shape = SubResource( 1 )
+trigger = false
+_update_shape_index = -1
+
+[node name="union_ 2" type="RigidBody2D" parent="."]
+
+transform/pos = Vector2( 0, 26.9432 )
+input/pickable = false
+shapes/0/shape = SubResource( 1 )
+shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
+shapes/0/trigger = false
+collision/layers = 1
+collision/mask = 1
+mode = 0
+mass = 0.2
+friction = 1.0
+bounce = 0.0
+gravity_scale = 1.0
+custom_integrator = false
+continuous_cd = 0
+contacts_reported = 0
+contact_monitor = false
+sleeping = false
+can_sleep = true
+velocity/linear = Vector2( 0, 0 )
+velocity/angular = 0.0
+damp_override/linear = -1.0
+damp_override/angular = -1.0
+__meta__ = { "_edit_group_":true }
+
+[node name="Sprite" type="Sprite" parent="union_ 2"]
+
+transform/scale = Vector2( 0.1, 0.4 )
+texture = ExtResource( 1 )
+
+[node name="collision" type="CollisionShape2D" parent="union_ 2"]
+
+shape = SubResource( 1 )
+trigger = false
+_update_shape_index = -1
+
+[node name="union_ 3" type="RigidBody2D" parent="."]
+
+transform/pos = Vector2( 0, 53.8863 )
+input/pickable = false
+shapes/0/shape = SubResource( 1 )
+shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
+shapes/0/trigger = false
+collision/layers = 1
+collision/mask = 1
+mode = 0
+mass = 0.2
+friction = 1.0
+bounce = 0.0
+gravity_scale = 1.0
+custom_integrator = false
+continuous_cd = 0
+contacts_reported = 0
+contact_monitor = false
+sleeping = false
+can_sleep = true
+velocity/linear = Vector2( 0, 0 )
+velocity/angular = 0.0
+damp_override/linear = -1.0
+damp_override/angular = -1.0
+__meta__ = { "_edit_group_":true }
+
+[node name="Sprite" type="Sprite" parent="union_ 3"]
+
+transform/scale = Vector2( 0.1, 0.4 )
+texture = ExtResource( 1 )
+
+[node name="collision" type="CollisionShape2D" parent="union_ 3"]
+
+shape = SubResource( 1 )
+trigger = false
+_update_shape_index = -1
+
+[node name="union_ 4" type="RigidBody2D" parent="."]
+
+transform/pos = Vector2( 0, 81.4282 )
+input/pickable = false
+shapes/0/shape = SubResource( 1 )
+shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
+shapes/0/trigger = false
+collision/layers = 1
+collision/mask = 1
+mode = 0
+mass = 0.2
+friction = 1.0
+bounce = 0.0
+gravity_scale = 1.0
+custom_integrator = false
+continuous_cd = 0
+contacts_reported = 0
+contact_monitor = false
+sleeping = false
+can_sleep = true
+velocity/linear = Vector2( 0, 0 )
+velocity/angular = 0.0
+damp_override/linear = -1.0
+damp_override/angular = -1.0
+__meta__ = { "_edit_group_":true }
+
+[node name="Sprite" type="Sprite" parent="union_ 4"]
+
+transform/scale = Vector2( 0.1, 0.4 )
+texture = ExtResource( 1 )
+
+[node name="collision" type="CollisionShape2D" parent="union_ 4"]
+
+shape = SubResource( 1 )
+trigger = false
+_update_shape_index = -1
+
+[node name="joint1" type="PinJoint2D" parent="."]
+
+transform/pos = Vector2( 0, 13.771 )
+node_a = NodePath("../union_0")
+node_b = NodePath("../union_ 2")
+bias/bias = 0.0
+collision/exclude_nodes = true
+softness = 0.0
+
+[node name="joint 2_3" type="PinJoint2D" parent="."]
+
+transform/pos = Vector2( 0, 40.7141 )
+node_a = NodePath("../union_ 2")
+node_b = NodePath("../union_ 3")
+bias/bias = 0.0
+collision/exclude_nodes = true
+softness = 0.0
+
+[node name="joint 3_4" type="PinJoint2D" parent="."]
+
+transform/pos = Vector2( 0, 67.6573 )
+node_a = NodePath("../union_ 3")
+node_b = NodePath("../union_ 4")
+bias/bias = 0.2
+collision/exclude_nodes = true
+softness = 0.0
+
+[node name="ball" type="RigidBody2D" parent="."]
+
+transform/pos = Vector2( 0, 106.787 )
+transform/scale = Vector2( 0.98476, 1 )
+input/pickable = false
+shapes/0/shape = SubResource( 2 )
+shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
+shapes/0/trigger = false
+collision/layers = 1
+collision/mask = 1
+mode = 0
+mass = 0.2
+friction = 1.0
+bounce = 0.0
+gravity_scale = 1.0
+custom_integrator = false
+continuous_cd = 0
+contacts_reported = 0
+contact_monitor = false
+sleeping = false
+can_sleep = true
+velocity/linear = Vector2( 0, 0 )
+velocity/angular = 0.0
+damp_override/linear = -1.0
+damp_override/angular = -1.0
+__meta__ = { "_edit_group_":true }
+
+[node name="Sprite" type="Sprite" parent="ball"]
+
+transform/scale = Vector2( 0.5, 0.5 )
+texture = ExtResource( 2 )
+
+[node name="collision" type="CollisionShape2D" parent="ball"]
+
+shape = SubResource( 2 )
+trigger = false
+_update_shape_index = -1
+
+[node name="joint 4_ball" type="PinJoint2D" parent="."]
+
+transform/pos = Vector2( 0, 92.5287 )
+node_a = NodePath("../union_ 4")
+node_b = NodePath("../ball")
+bias/bias = 0.0
+collision/exclude_nodes = true
+softness = 0.0
+
+[node name="joint wall" type="PinJoint2D" parent="."]
+
+transform/pos = Vector2( 0, -12.1024 )
+node_a = NodePath("../union_0")
+node_b = NodePath("")
+bias/bias = 0.0
+collision/exclude_nodes = true
+softness = 0.0
+
+
diff --git a/demos/2d/rubegoldberg/pendulum.xml b/demos/2d/rubegoldberg/pendulum.xml
deleted file mode 100644
index 90ad45f287..0000000000
--- a/demos/2d/rubegoldberg/pendulum.xml
+++ /dev/null
@@ -1,269 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<resource_file type="PackedScene" subresource_count="5" version="2.0" version_name="Godot Engine v2.0.alpha.custom_build">
- <ext_resource path="res://art/bowling_ball.png" type="Texture" index="1"></ext_resource>
- <ext_resource path="res://art/box.png" type="Texture" index="0"></ext_resource>
- <resource type="RectangleShape2D" path="local://1">
- <real name="custom_solver_bias"> 0 </real>
- <vector2 name="extents"> 3, 12 </vector2>
-
- </resource>
- <resource type="CircleShape2D" path="local://2">
- <real name="custom_solver_bias"> 0 </real>
- <real name="radius"> 16 </real>
-
- </resource>
- <main_resource>
- <dictionary name="_bundled" shared="false">
- <string> "conn_count" </string>
- <int> 0 </int>
- <string> "conns" </string>
- <int_array len="0"> </int_array>
- <string> "editable_instances" </string>
- <array len="0" shared="false">
- </array>
- <string> "names" </string>
- <string_array len="49">
- <string> "pendulum" </string>
- <string> "__meta__" </string>
- <string> "Node2D" </string>
- <string> "union_0" </string>
- <string> "input/pickable" </string>
- <string> "shapes/0/shape" </string>
- <string> "shapes/0/transform" </string>
- <string> "shapes/0/trigger" </string>
- <string> "collision/layers" </string>
- <string> "collision/mask" </string>
- <string> "mode" </string>
- <string> "mass" </string>
- <string> "friction" </string>
- <string> "bounce" </string>
- <string> "gravity_scale" </string>
- <string> "custom_integrator" </string>
- <string> "continuous_cd" </string>
- <string> "contacts_reported" </string>
- <string> "contact_monitor" </string>
- <string> "sleeping" </string>
- <string> "can_sleep" </string>
- <string> "velocity/linear" </string>
- <string> "velocity/angular" </string>
- <string> "damp_override/linear" </string>
- <string> "damp_override/angular" </string>
- <string> "RigidBody2D" </string>
- <string> "Sprite" </string>
- <string> "transform/scale" </string>
- <string> "texture" </string>
- <string> "collision" </string>
- <string> "shape" </string>
- <string> "trigger" </string>
- <string> "_update_shape_index" </string>
- <string> "CollisionShape2D" </string>
- <string> "union_ 2" </string>
- <string> "transform/pos" </string>
- <string> "union_ 3" </string>
- <string> "union_ 4" </string>
- <string> "joint1" </string>
- <string> "node_a" </string>
- <string> "node_b" </string>
- <string> "bias/bias" </string>
- <string> "softness" </string>
- <string> "PinJoint2D" </string>
- <string> "joint 2_3" </string>
- <string> "joint 3_4" </string>
- <string> "ball" </string>
- <string> "joint 4_ball" </string>
- <string> "joint wall" </string>
- </string_array>
- <string> "node_count" </string>
- <int> 21 </int>
- <string> "node_paths" </string>
- <array len="0" shared="false">
- </array>
- <string> "nodes" </string>
- <int_array len="479"> -1, -1, 2, 0, -1, 1, 1, 0, 0, 0, 0, 25, 3, -1, 22, 4, 1, 5, 2, 6, 3, 7, 1, 8, 4, 9, 4, 10, 5, 11, 6, 12, 7, 13, 8, 14, 7, 15, 1, 16, 5, 17, 5, 18, 1, 19, 1, 20, 9, 21, 10, 22, 8, 23, 11, 24, 11, 1, 12, 0, 1, 0, 26, 26, -1, 2, 27, 13, 28, 14, 0, 1, 0, 33, 29, -1, 3, 30, 2, 31, 1, 32, 15, 0, 0, 0, 25, 34, -1, 23, 35, 16, 4, 1, 5, 2, 6, 17, 7, 1, 8, 4, 9, 4, 10, 5, 11, 6, 12, 7, 13, 8, 14, 7, 15, 1, 16, 5, 17, 5, 18, 1, 19, 1, 20, 9, 21, 10, 22, 8, 23, 11, 24, 11, 1, 18, 0, 4, 0, 26, 26, -1, 2, 27, 13, 28, 14, 0, 4, 0, 33, 29, -1, 3, 30, 2, 31, 1, 32, 15, 0, 0, 0, 25, 36, -1, 23, 35, 19, 4, 1, 5, 2, 6, 17, 7, 1, 8, 4, 9, 4, 10, 5, 11, 6, 12, 7, 13, 8, 14, 7, 15, 1, 16, 5, 17, 5, 18, 1, 19, 1, 20, 9, 21, 10, 22, 8, 23, 11, 24, 11, 1, 18, 0, 7, 0, 26, 26, -1, 2, 27, 13, 28, 14, 0, 7, 0, 33, 29, -1, 3, 30, 2, 31, 1, 32, 15, 0, 0, 0, 25, 37, -1, 23, 35, 20, 4, 1, 5, 2, 6, 17, 7, 1, 8, 4, 9, 4, 10, 5, 11, 6, 12, 7, 13, 8, 14, 7, 15, 1, 16, 5, 17, 5, 18, 1, 19, 1, 20, 9, 21, 10, 22, 8, 23, 11, 24, 11, 1, 18, 0, 10, 0, 26, 26, -1, 2, 27, 13, 28, 14, 0, 10, 0, 33, 29, -1, 3, 30, 2, 31, 1, 32, 15, 0, 0, 0, 43, 38, -1, 5, 35, 21, 39, 22, 40, 23, 41, 8, 42, 8, 0, 0, 0, 43, 44, -1, 5, 35, 24, 39, 23, 40, 25, 41, 8, 42, 8, 0, 0, 0, 43, 45, -1, 5, 35, 26, 39, 25, 40, 27, 41, 6, 42, 8, 0, 0, 0, 25, 46, -1, 24, 35, 28, 27, 29, 4, 1, 5, 30, 6, 17, 7, 1, 8, 4, 9, 4, 10, 5, 11, 6, 12, 7, 13, 8, 14, 7, 15, 1, 16, 5, 17, 5, 18, 1, 19, 1, 20, 9, 21, 10, 22, 8, 23, 11, 24, 11, 1, 18, 0, 16, 0, 26, 26, -1, 2, 27, 31, 28, 32, 0, 16, 0, 33, 29, -1, 3, 30, 30, 31, 1, 32, 15, 0, 0, 0, 43, 47, -1, 5, 35, 33, 39, 27, 40, 34, 41, 8, 42, 8, 0, 0, 0, 43, 48, -1, 5, 35, 35, 39, 22, 40, 36, 41, 8, 42, 8, 0 </int_array>
- <string> "variants" </string>
- <array len="37" shared="false">
- <dictionary shared="false">
- <string> "__editor_plugin_screen__" </string>
- <string> "2D" </string>
- <string> "__editor_plugin_states__" </string>
- <dictionary shared="false">
- <string> "2D" </string>
- <dictionary shared="false">
- <string> "ofs" </string>
- <vector2> -121.028, 0.923909 </vector2>
- <string> "snap_grid" </string>
- <bool> False </bool>
- <string> "snap_offset" </string>
- <vector2> 0, 0 </vector2>
- <string> "snap_pixel" </string>
- <bool> False </bool>
- <string> "snap_relative" </string>
- <bool> False </bool>
- <string> "snap_rotation" </string>
- <bool> False </bool>
- <string> "snap_rotation_offset" </string>
- <real> 0 </real>
- <string> "snap_rotation_step" </string>
- <real> 0.261799 </real>
- <string> "snap_show_grid" </string>
- <bool> False </bool>
- <string> "snap_step" </string>
- <vector2> 10, 10 </vector2>
- <string> "zoom" </string>
- <real> 2.78951 </real>
- </dictionary>
- <string> "3D" </string>
- <dictionary shared="false">
- <string> "ambient_light_color" </string>
- <color> 0.15, 0.15, 0.15, 1 </color>
- <string> "default_light" </string>
- <bool> True </bool>
- <string> "default_srgb" </string>
- <bool> False </bool>
- <string> "deflight_rot_x" </string>
- <real> 0.942478 </real>
- <string> "deflight_rot_y" </string>
- <real> 0.628319 </real>
- <string> "fov" </string>
- <real> 45 </real>
- <string> "show_grid" </string>
- <bool> True </bool>
- <string> "show_origin" </string>
- <bool> True </bool>
- <string> "viewport_mode" </string>
- <int> 1 </int>
- <string> "viewports" </string>
- <array len="4" shared="false">
- <dictionary shared="false">
- <string> "distance" </string>
- <real> 4 </real>
- <string> "listener" </string>
- <bool> True </bool>
- <string> "pos" </string>
- <vector3> 0, 0, 0 </vector3>
- <string> "use_environment" </string>
- <bool> False </bool>
- <string> "use_orthogonal" </string>
- <bool> False </bool>
- <string> "x_rot" </string>
- <real> 0 </real>
- <string> "y_rot" </string>
- <real> 0 </real>
- </dictionary>
- <dictionary shared="false">
- <string> "distance" </string>
- <real> 4 </real>
- <string> "listener" </string>
- <bool> False </bool>
- <string> "pos" </string>
- <vector3> 0, 0, 0 </vector3>
- <string> "use_environment" </string>
- <bool> False </bool>
- <string> "use_orthogonal" </string>
- <bool> False </bool>
- <string> "x_rot" </string>
- <real> 0 </real>
- <string> "y_rot" </string>
- <real> 0 </real>
- </dictionary>
- <dictionary shared="false">
- <string> "distance" </string>
- <real> 4 </real>
- <string> "listener" </string>
- <bool> False </bool>
- <string> "pos" </string>
- <vector3> 0, 0, 0 </vector3>
- <string> "use_environment" </string>
- <bool> False </bool>
- <string> "use_orthogonal" </string>
- <bool> False </bool>
- <string> "x_rot" </string>
- <real> 0 </real>
- <string> "y_rot" </string>
- <real> 0 </real>
- </dictionary>
- <dictionary shared="false">
- <string> "distance" </string>
- <real> 4 </real>
- <string> "listener" </string>
- <bool> False </bool>
- <string> "pos" </string>
- <vector3> 0, 0, 0 </vector3>
- <string> "use_environment" </string>
- <bool> False </bool>
- <string> "use_orthogonal" </string>
- <bool> False </bool>
- <string> "x_rot" </string>
- <real> 0 </real>
- <string> "y_rot" </string>
- <real> 0 </real>
- </dictionary>
- </array>
- <string> "zfar" </string>
- <real> 500 </real>
- <string> "znear" </string>
- <real> 0.1 </real>
- </dictionary>
- <string> "Anim" </string>
- <dictionary shared="false">
- <string> "visible" </string>
- <bool> False </bool>
- </dictionary>
- </dictionary>
- <string> "__editor_run_settings__" </string>
- <dictionary shared="false">
- <string> "custom_args" </string>
- <string> "-l $scene" </string>
- <string> "run_mode" </string>
- <int> 0 </int>
- </dictionary>
- </dictionary>
- <bool> False </bool>
- <resource resource_type="Shape2D" path="local://1"> </resource>
- <matrix32> 1, 0, 0, 1, 0, 0 </matrix32>
- <int> 1 </int>
- <int> 0 </int>
- <real> 0.2 </real>
- <real> 1 </real>
- <real> 0 </real>
- <bool> True </bool>
- <vector2> 0, 0 </vector2>
- <real> -1 </real>
- <dictionary shared="false">
- <string> "_edit_group_" </string>
- <bool> True </bool>
- </dictionary>
- <vector2> 0.1, 0.4 </vector2>
- <resource external="0"> </resource>
- <int> -1 </int>
- <vector2> 0, 26.9432 </vector2>
- <matrix32> 1, -0, 0, 1, 0, 0 </matrix32>
- <dictionary shared="false">
- <string> "_edit_group_" </string>
- <bool> True </bool>
- </dictionary>
- <vector2> 0, 53.8863 </vector2>
- <vector2> 0, 81.4282 </vector2>
- <vector2> 0, 13.771 </vector2>
- <node_path> "../union_0" </node_path>
- <node_path> "../union_ 2" </node_path>
- <vector2> 0, 40.7141 </vector2>
- <node_path> "../union_ 3" </node_path>
- <vector2> 0, 67.6573 </vector2>
- <node_path> "../union_ 4" </node_path>
- <vector2> 0, 106.787 </vector2>
- <vector2> 0.98476, 1 </vector2>
- <resource resource_type="Shape2D" path="local://2"> </resource>
- <vector2> 0.5, 0.5 </vector2>
- <resource external="1"> </resource>
- <vector2> 0, 92.5287 </vector2>
- <node_path> "../ball" </node_path>
- <vector2> 0, -12.1024 </vector2>
- <node_path> "" </node_path>
- </array>
- <string> "version" </string>
- <int> 2 </int>
- </dictionary>
-
- </main_resource>
-</resource_file> \ No newline at end of file
diff --git a/demos/2d/rubegoldberg/platform.tscn b/demos/2d/rubegoldberg/platform.tscn
new file mode 100644
index 0000000000..70584ca75c
--- /dev/null
+++ b/demos/2d/rubegoldberg/platform.tscn
@@ -0,0 +1,33 @@
+[gd_scene load_steps=3 format=1]
+
+[ext_resource path="res://art/platform.png" type="Texture" id=1]
+
+[sub_resource type="RectangleShape2D" id=1]
+
+custom_solver_bias = 0.0
+extents = Vector2( 128, 16 )
+
+[node name="platform" type="StaticBody2D"]
+
+input/pickable = false
+shapes/0/shape = SubResource( 1 )
+shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
+shapes/0/trigger = false
+collision/layers = 1
+collision/mask = 1
+constant_linear_velocity = Vector2( 0, 0 )
+constant_angular_velocity = 0.0
+friction = 1.0
+bounce = 0.0
+
+[node name="Sprite" type="Sprite" parent="."]
+
+texture = ExtResource( 1 )
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
+
+shape = SubResource( 1 )
+trigger = false
+_update_shape_index = -1
+
+
diff --git a/demos/2d/rubegoldberg/platform.xml b/demos/2d/rubegoldberg/platform.xml
deleted file mode 100644
index 09cd0fdda6..0000000000
--- a/demos/2d/rubegoldberg/platform.xml
+++ /dev/null
@@ -1,200 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<resource_file type="PackedScene" subresource_count="3" version="2.0" version_name="Godot Engine v2.0.alpha.custom_build">
- <ext_resource path="res://art/platform.png" type="Texture" index="0"></ext_resource>
- <resource type="RectangleShape2D" path="local://1">
- <real name="custom_solver_bias"> 0 </real>
- <vector2 name="extents"> 128, 16 </vector2>
-
- </resource>
- <main_resource>
- <dictionary name="_bundled" shared="false">
- <string> "conn_count" </string>
- <int> 0 </int>
- <string> "conns" </string>
- <int_array len="0"> </int_array>
- <string> "editable_instances" </string>
- <array len="0" shared="false">
- </array>
- <string> "names" </string>
- <string_array len="19">
- <string> "platform" </string>
- <string> "input/pickable" </string>
- <string> "shapes/0/shape" </string>
- <string> "shapes/0/transform" </string>
- <string> "shapes/0/trigger" </string>
- <string> "collision/layers" </string>
- <string> "collision/mask" </string>
- <string> "constant_linear_velocity" </string>
- <string> "constant_angular_velocity" </string>
- <string> "friction" </string>
- <string> "bounce" </string>
- <string> "__meta__" </string>
- <string> "StaticBody2D" </string>
- <string> "Sprite" </string>
- <string> "texture" </string>
- <string> "CollisionShape2D" </string>
- <string> "shape" </string>
- <string> "trigger" </string>
- <string> "_update_shape_index" </string>
- </string_array>
- <string> "node_count" </string>
- <int> 3 </int>
- <string> "node_paths" </string>
- <array len="0" shared="false">
- </array>
- <string> "nodes" </string>
- <int_array len="51"> -1, -1, 12, 0, -1, 11, 1, 0, 2, 1, 3, 2, 4, 0, 5, 3, 6, 3, 7, 4, 8, 5, 9, 6, 10, 5, 11, 7, 0, 0, 0, 13, 13, -1, 1, 14, 8, 0, 0, 0, 15, 15, -1, 3, 16, 1, 17, 0, 18, 9, 0 </int_array>
- <string> "variants" </string>
- <array len="10" shared="false">
- <bool> False </bool>
- <resource resource_type="Shape2D" path="local://1"> </resource>
- <matrix32> 1, 0, 0, 1, 0, 0 </matrix32>
- <int> 1 </int>
- <vector2> 0, 0 </vector2>
- <real> 0 </real>
- <real> 1 </real>
- <dictionary shared="false">
- <string> "__editor_plugin_screen__" </string>
- <string> "2D" </string>
- <string> "__editor_plugin_states__" </string>
- <dictionary shared="false">
- <string> "2D" </string>
- <dictionary shared="false">
- <string> "ofs" </string>
- <vector2> -135, -114 </vector2>
- <string> "snap_grid" </string>
- <bool> False </bool>
- <string> "snap_offset" </string>
- <vector2> 0, 0 </vector2>
- <string> "snap_pixel" </string>
- <bool> False </bool>
- <string> "snap_relative" </string>
- <bool> False </bool>
- <string> "snap_rotation" </string>
- <bool> False </bool>
- <string> "snap_rotation_offset" </string>
- <real> 0 </real>
- <string> "snap_rotation_step" </string>
- <real> 0.261799 </real>
- <string> "snap_show_grid" </string>
- <bool> False </bool>
- <string> "snap_step" </string>
- <vector2> 10, 10 </vector2>
- <string> "zoom" </string>
- <real> 1 </real>
- </dictionary>
- <string> "3D" </string>
- <dictionary shared="false">
- <string> "ambient_light_color" </string>
- <color> 0.15, 0.15, 0.15, 1 </color>
- <string> "default_light" </string>
- <bool> True </bool>
- <string> "default_srgb" </string>
- <bool> False </bool>
- <string> "deflight_rot_x" </string>
- <real> 0.942478 </real>
- <string> "deflight_rot_y" </string>
- <real> 0.628319 </real>
- <string> "fov" </string>
- <real> 45 </real>
- <string> "show_grid" </string>
- <bool> True </bool>
- <string> "show_origin" </string>
- <bool> True </bool>
- <string> "viewport_mode" </string>
- <int> 1 </int>
- <string> "viewports" </string>
- <array len="4" shared="false">
- <dictionary shared="false">
- <string> "distance" </string>
- <real> 4 </real>
- <string> "listener" </string>
- <bool> True </bool>
- <string> "pos" </string>
- <vector3> 0, 0, 0 </vector3>
- <string> "use_environment" </string>
- <bool> False </bool>
- <string> "use_orthogonal" </string>
- <bool> False </bool>
- <string> "x_rot" </string>
- <real> 0 </real>
- <string> "y_rot" </string>
- <real> 0 </real>
- </dictionary>
- <dictionary shared="false">
- <string> "distance" </string>
- <real> 4 </real>
- <string> "listener" </string>
- <bool> False </bool>
- <string> "pos" </string>
- <vector3> 0, 0, 0 </vector3>
- <string> "use_environment" </string>
- <bool> False </bool>
- <string> "use_orthogonal" </string>
- <bool> False </bool>
- <string> "x_rot" </string>
- <real> 0 </real>
- <string> "y_rot" </string>
- <real> 0 </real>
- </dictionary>
- <dictionary shared="false">
- <string> "distance" </string>
- <real> 4 </real>
- <string> "listener" </string>
- <bool> False </bool>
- <string> "pos" </string>
- <vector3> 0, 0, 0 </vector3>
- <string> "use_environment" </string>
- <bool> False </bool>
- <string> "use_orthogonal" </string>
- <bool> False </bool>
- <string> "x_rot" </string>
- <real> 0 </real>
- <string> "y_rot" </string>
- <real> 0 </real>
- </dictionary>
- <dictionary shared="false">
- <string> "distance" </string>
- <real> 4 </real>
- <string> "listener" </string>
- <bool> False </bool>
- <string> "pos" </string>
- <vector3> 0, 0, 0 </vector3>
- <string> "use_environment" </string>
- <bool> False </bool>
- <string> "use_orthogonal" </string>
- <bool> False </bool>
- <string> "x_rot" </string>
- <real> 0 </real>
- <string> "y_rot" </string>
- <real> 0 </real>
- </dictionary>
- </array>
- <string> "zfar" </string>
- <real> 500 </real>
- <string> "znear" </string>
- <real> 0.1 </real>
- </dictionary>
- <string> "Anim" </string>
- <dictionary shared="false">
- <string> "visible" </string>
- <bool> False </bool>
- </dictionary>
- </dictionary>
- <string> "__editor_run_settings__" </string>
- <dictionary shared="false">
- <string> "custom_args" </string>
- <string> "-l $scene" </string>
- <string> "run_mode" </string>
- <int> 0 </int>
- </dictionary>
- </dictionary>
- <resource external="0"> </resource>
- <int> -1 </int>
- </array>
- <string> "version" </string>
- <int> 2 </int>
- </dictionary>
-
- </main_resource>
-</resource_file> \ No newline at end of file
diff --git a/demos/2d/rubegoldberg/rubegoldberg.tscn b/demos/2d/rubegoldberg/rubegoldberg.tscn
new file mode 100644
index 0000000000..995901d4ae
--- /dev/null
+++ b/demos/2d/rubegoldberg/rubegoldberg.tscn
@@ -0,0 +1,98 @@
+[gd_scene load_steps=7 format=1]
+
+[ext_resource path="res://platform.tscn" type="PackedScene" id=1]
+[ext_resource path="res://ball.tscn" type="PackedScene" id=2]
+[ext_resource path="res://domino.tscn" type="PackedScene" id=3]
+[ext_resource path="res://seesaw.tscn" type="PackedScene" id=4]
+[ext_resource path="res://box.tscn" type="PackedScene" id=5]
+[ext_resource path="res://pendulum.tscn" type="PackedScene" id=6]
+
+[node name="Node" type="Node"]
+
+[node name="platform" parent="." instance=ExtResource( 1 )]
+
+transform/pos = Vector2( 116.881, 145.589 )
+transform/rot = -20.8796
+
+[node name="platform 2" parent="." instance=ExtResource( 1 )]
+
+transform/pos = Vector2( 336.29, 264.52 )
+
+[node name="platform 3" parent="." instance=ExtResource( 1 )]
+
+transform/pos = Vector2( 526.99, 264.52 )
+
+[node name="Ball" parent="." instance=ExtResource( 2 )]
+
+transform/pos = Vector2( 76.0801, 67.2141 )
+
+[node name="domino" parent="." instance=ExtResource( 3 )]
+
+transform/pos = Vector2( 262.764, 182.008 )
+
+[node name="domino 2" parent="." instance=ExtResource( 3 )]
+
+transform/pos = Vector2( 356.951, 182.008 )
+
+[node name="domino 4" parent="." instance=ExtResource( 3 )]
+
+transform/pos = Vector2( 448.834, 179.291 )
+
+[node name="platform 4" parent="." instance=ExtResource( 1 )]
+
+transform/pos = Vector2( 772.686, 345.917 )
+transform/rot = 76.7716
+
+[node name="platform 5" parent="." instance=ExtResource( 1 )]
+
+transform/pos = Vector2( 640.041, 335.365 )
+transform/rot = 90.0
+transform/scale = Vector2( 0.5, 1 )
+
+[node name="Ball 2" parent="." instance=ExtResource( 2 )]
+
+transform/pos = Vector2( 616.342, 214.247 )
+
+[node name="platform 6" parent="." instance=ExtResource( 1 )]
+
+transform/pos = Vector2( 679.231, 588.598 )
+
+[node name="platform 7" parent="." instance=ExtResource( 1 )]
+
+transform/pos = Vector2( 424.491, 588.598 )
+
+[node name="platform 8" parent="." instance=ExtResource( 1 )]
+
+transform/pos = Vector2( 185.655, 588.598 )
+
+[node name="SeeSaw" parent="." instance=ExtResource( 4 )]
+
+transform/pos = Vector2( 602.935, 554.501 )
+
+[node name="box" parent="." instance=ExtResource( 5 )]
+
+transform/pos = Vector2( 476.002, 509.406 )
+transform/rot = 21.7373
+
+[node name="pendulum" parent="." instance=ExtResource( 6 )]
+
+transform/pos = Vector2( 391.607, 305.444 )
+
+[node name="pendulum 2" parent="." instance=ExtResource( 6 )]
+
+transform/pos = Vector2( 343.172, 303.774 )
+
+[node name="pendulum 3" parent="." instance=ExtResource( 6 )]
+
+transform/pos = Vector2( 288.056, 303.774 )
+
+[node name="pendulum 4" parent="." instance=ExtResource( 6 )]
+
+transform/pos = Vector2( 236.28, 303.774 )
+
+[node name="Ball 5" parent="." instance=ExtResource( 2 )]
+
+transform/pos = Vector2( 116.165, 526.515 )
+velocity/linear = Vector2( 0, -200 )
+
+
diff --git a/demos/2d/rubegoldberg/rubegoldberg.xml b/demos/2d/rubegoldberg/rubegoldberg.xml
deleted file mode 100644
index 490b0f9d34..0000000000
--- a/demos/2d/rubegoldberg/rubegoldberg.xml
+++ /dev/null
@@ -1,241 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<resource_file type="PackedScene" subresource_count="7" version="2.0" version_name="Godot Engine v2.0.alpha.custom_build">
- <ext_resource path="res://platform.xml" type="PackedScene" index="0"></ext_resource>
- <ext_resource path="res://seesaw.xml" type="PackedScene" index="3"></ext_resource>
- <ext_resource path="res://pendulum.xml" type="PackedScene" index="5"></ext_resource>
- <ext_resource path="res://box.xml" type="PackedScene" index="4"></ext_resource>
- <ext_resource path="res://ball.xml" type="PackedScene" index="1"></ext_resource>
- <ext_resource path="res://domino.xml" type="PackedScene" index="2"></ext_resource>
- <main_resource>
- <dictionary name="_bundled" shared="false">
- <string> "conn_count" </string>
- <int> 0 </int>
- <string> "conns" </string>
- <int_array len="0"> </int_array>
- <string> "editable_instances" </string>
- <array len="0" shared="false">
- </array>
- <string> "names" </string>
- <string_array len="33">
- <string> "Node" </string>
- <string> "__meta__" </string>
- <string> "platform" </string>
- <string> "transform/pos" </string>
- <string> "transform/rot" </string>
- <string> "input/pickable" </string>
- <string> "collision/layers" </string>
- <string> "collision/mask" </string>
- <string> "platform 2" </string>
- <string> "platform 3" </string>
- <string> "Ball" </string>
- <string> "gravity_scale" </string>
- <string> "sleeping" </string>
- <string> "damp_override/linear" </string>
- <string> "damp_override/angular" </string>
- <string> "domino" </string>
- <string> "domino 2" </string>
- <string> "domino 4" </string>
- <string> "platform 4" </string>
- <string> "platform 5" </string>
- <string> "transform/scale" </string>
- <string> "Ball 2" </string>
- <string> "platform 6" </string>
- <string> "platform 7" </string>
- <string> "platform 8" </string>
- <string> "SeeSaw" </string>
- <string> "box" </string>
- <string> "pendulum" </string>
- <string> "pendulum 2" </string>
- <string> "pendulum 3" </string>
- <string> "pendulum 4" </string>
- <string> "Ball 5" </string>
- <string> "velocity/linear" </string>
- </string_array>
- <string> "node_count" </string>
- <int> 21 </int>
- <string> "node_paths" </string>
- <array len="0" shared="false">
- </array>
- <string> "nodes" </string>
- <int_array len="347"> -1, -1, 0, 0, -1, 1, 1, 0, 0, 0, 0, 2147483647, 2, 1, 5, 3, 2, 4, 3, 5, 4, 6, 5, 7, 5, 0, 0, 0, 2147483647, 8, 1, 4, 3, 6, 5, 4, 6, 5, 7, 5, 0, 0, 0, 2147483647, 9, 1, 4, 3, 7, 5, 4, 6, 5, 7, 5, 0, 0, 0, 2147483647, 10, 8, 8, 3, 9, 5, 4, 6, 5, 7, 5, 11, 10, 12, 4, 13, 11, 14, 11, 0, 0, 0, 2147483647, 15, 12, 8, 3, 13, 5, 4, 6, 5, 7, 5, 11, 10, 12, 4, 13, 11, 14, 11, 0, 0, 0, 2147483647, 16, 12, 8, 3, 14, 5, 4, 6, 5, 7, 5, 11, 10, 12, 4, 13, 11, 14, 11, 0, 0, 0, 2147483647, 17, 12, 8, 3, 15, 5, 4, 6, 5, 7, 5, 11, 10, 12, 4, 13, 11, 14, 11, 0, 0, 0, 2147483647, 18, 1, 5, 3, 16, 4, 17, 5, 4, 6, 5, 7, 5, 0, 0, 0, 2147483647, 19, 1, 6, 3, 18, 4, 19, 20, 20, 5, 4, 6, 5, 7, 5, 0, 0, 0, 2147483647, 21, 8, 8, 3, 21, 5, 4, 6, 5, 7, 5, 11, 10, 12, 4, 13, 11, 14, 11, 0, 0, 0, 2147483647, 22, 1, 4, 3, 22, 5, 4, 6, 5, 7, 5, 0, 0, 0, 2147483647, 23, 1, 4, 3, 23, 5, 4, 6, 5, 7, 5, 0, 0, 0, 2147483647, 24, 1, 4, 3, 24, 5, 4, 6, 5, 7, 5, 0, 0, 0, 2147483647, 25, 25, 1, 3, 26, 0, 0, 0, 2147483647, 26, 27, 9, 3, 28, 4, 29, 5, 4, 6, 5, 7, 5, 11, 10, 12, 4, 13, 11, 14, 11, 0, 0, 0, 2147483647, 27, 30, 1, 3, 31, 0, 0, 0, 2147483647, 28, 30, 1, 3, 32, 0, 0, 0, 2147483647, 29, 30, 1, 3, 33, 0, 0, 0, 2147483647, 30, 30, 1, 3, 34, 0, 0, 0, 2147483647, 31, 8, 9, 3, 35, 5, 4, 6, 5, 7, 5, 11, 10, 12, 4, 32, 36, 13, 11, 14, 11, 0 </int_array>
- <string> "variants" </string>
- <array len="37" shared="false">
- <dictionary shared="false">
- <string> "__editor_plugin_screen__" </string>
- <string> "2D" </string>
- <string> "__editor_plugin_states__" </string>
- <dictionary shared="false">
- <string> "2D" </string>
- <dictionary shared="false">
- <string> "ofs" </string>
- <vector2> -717.096, -249.162 </vector2>
- <string> "snap_grid" </string>
- <bool> False </bool>
- <string> "snap_offset" </string>
- <vector2> 0, 0 </vector2>
- <string> "snap_pixel" </string>
- <bool> False </bool>
- <string> "snap_relative" </string>
- <bool> False </bool>
- <string> "snap_rotation" </string>
- <bool> False </bool>
- <string> "snap_rotation_offset" </string>
- <real> 0 </real>
- <string> "snap_rotation_step" </string>
- <real> 0.261799 </real>
- <string> "snap_show_grid" </string>
- <bool> False </bool>
- <string> "snap_step" </string>
- <vector2> 10, 10 </vector2>
- <string> "zoom" </string>
- <real> 0.598737 </real>
- </dictionary>
- <string> "3D" </string>
- <dictionary shared="false">
- <string> "ambient_light_color" </string>
- <color> 0.15, 0.15, 0.15, 1 </color>
- <string> "default_light" </string>
- <bool> True </bool>
- <string> "default_srgb" </string>
- <bool> False </bool>
- <string> "deflight_rot_x" </string>
- <real> 0.942478 </real>
- <string> "deflight_rot_y" </string>
- <real> 0.628319 </real>
- <string> "fov" </string>
- <real> 45 </real>
- <string> "show_grid" </string>
- <bool> True </bool>
- <string> "show_origin" </string>
- <bool> True </bool>
- <string> "viewport_mode" </string>
- <int> 1 </int>
- <string> "viewports" </string>
- <array len="4" shared="false">
- <dictionary shared="false">
- <string> "distance" </string>
- <real> 4 </real>
- <string> "listener" </string>
- <bool> True </bool>
- <string> "pos" </string>
- <vector3> 0, 0, 0 </vector3>
- <string> "use_environment" </string>
- <bool> False </bool>
- <string> "use_orthogonal" </string>
- <bool> False </bool>
- <string> "x_rot" </string>
- <real> 0 </real>
- <string> "y_rot" </string>
- <real> 0 </real>
- </dictionary>
- <dictionary shared="false">
- <string> "distance" </string>
- <real> 4 </real>
- <string> "listener" </string>
- <bool> False </bool>
- <string> "pos" </string>
- <vector3> 0, 0, 0 </vector3>
- <string> "use_environment" </string>
- <bool> False </bool>
- <string> "use_orthogonal" </string>
- <bool> False </bool>
- <string> "x_rot" </string>
- <real> 0 </real>
- <string> "y_rot" </string>
- <real> 0 </real>
- </dictionary>
- <dictionary shared="false">
- <string> "distance" </string>
- <real> 4 </real>
- <string> "listener" </string>
- <bool> False </bool>
- <string> "pos" </string>
- <vector3> 0, 0, 0 </vector3>
- <string> "use_environment" </string>
- <bool> False </bool>
- <string> "use_orthogonal" </string>
- <bool> False </bool>
- <string> "x_rot" </string>
- <real> 0 </real>
- <string> "y_rot" </string>
- <real> 0 </real>
- </dictionary>
- <dictionary shared="false">
- <string> "distance" </string>
- <real> 4 </real>
- <string> "listener" </string>
- <bool> False </bool>
- <string> "pos" </string>
- <vector3> 0, 0, 0 </vector3>
- <string> "use_environment" </string>
- <bool> False </bool>
- <string> "use_orthogonal" </string>
- <bool> False </bool>
- <string> "x_rot" </string>
- <real> 0 </real>
- <string> "y_rot" </string>
- <real> 0 </real>
- </dictionary>
- </array>
- <string> "zfar" </string>
- <real> 500 </real>
- <string> "znear" </string>
- <real> 0.1 </real>
- </dictionary>
- <string> "Anim" </string>
- <dictionary shared="false">
- <string> "visible" </string>
- <bool> False </bool>
- </dictionary>
- </dictionary>
- <string> "__editor_run_settings__" </string>
- <dictionary shared="false">
- <string> "custom_args" </string>
- <string> "-l $scene" </string>
- <string> "run_mode" </string>
- <int> 0 </int>
- </dictionary>
- </dictionary>
- <resource external="0"> </resource>
- <vector2> 116.881, 145.589 </vector2>
- <real> -20.87962 </real>
- <bool> False </bool>
- <int> 1 </int>
- <vector2> 336.29, 264.52 </vector2>
- <vector2> 526.99, 264.52 </vector2>
- <resource external="1"> </resource>
- <vector2> 76.0801, 67.2141 </vector2>
- <real> 1 </real>
- <real> -1 </real>
- <resource external="2"> </resource>
- <vector2> 262.764, 182.008 </vector2>
- <vector2> 356.951, 182.008 </vector2>
- <vector2> 448.834, 179.291 </vector2>
- <vector2> 772.686, 345.917 </vector2>
- <real> 76.771606 </real>
- <vector2> 640.041, 335.365 </vector2>
- <real> 90 </real>
- <vector2> 0.5, 1 </vector2>
- <vector2> 616.342, 214.247 </vector2>
- <vector2> 679.231, 588.598 </vector2>
- <vector2> 424.491, 588.598 </vector2>
- <vector2> 185.655, 588.598 </vector2>
- <resource external="3"> </resource>
- <vector2> 602.935, 554.501 </vector2>
- <resource external="4"> </resource>
- <vector2> 476.002, 509.406 </vector2>
- <real> 21.737282 </real>
- <resource external="5"> </resource>
- <vector2> 391.607, 305.444 </vector2>
- <vector2> 343.172, 303.774 </vector2>
- <vector2> 288.056, 303.774 </vector2>
- <vector2> 236.28, 303.774 </vector2>
- <vector2> 116.165, 526.515 </vector2>
- <vector2> 0, -200 </vector2>
- </array>
- <string> "version" </string>
- <int> 2 </int>
- </dictionary>
-
- </main_resource>
-</resource_file> \ No newline at end of file
diff --git a/demos/2d/rubegoldberg/seesaw.tscn b/demos/2d/rubegoldberg/seesaw.tscn
new file mode 100644
index 0000000000..3b915d3e7f
--- /dev/null
+++ b/demos/2d/rubegoldberg/seesaw.tscn
@@ -0,0 +1,89 @@
+[gd_scene load_steps=5 format=1]
+
+[ext_resource path="res://art/seesaw_base.png" type="Texture" id=1]
+[ext_resource path="res://art/seesaw_top.png" type="Texture" id=2]
+
+[sub_resource type="ConcavePolygonShape2D" id=1]
+
+custom_solver_bias = 0.0
+segments = Vector2Array( -32.6231, 32.0838, -1.28218, -31.1383, -1.28218, -31.1383, 33.8412, 33.1645, 33.8412, 33.1645, -32.6231, 32.0838 )
+
+[sub_resource type="ConvexPolygonShape2D" id=2]
+
+custom_solver_bias = 0.0
+points = Vector2Array( -99.0874, 7.76759, -125.025, -8.98358, 125.162, -8.44321, 99.2248, 7.22723 )
+
+[node name="SeeSaw" type="Node2D"]
+
+[node name="Sprite" type="Sprite" parent="."]
+
+texture = ExtResource( 1 )
+
+[node name="StaticBody2D" type="StaticBody2D" parent="Sprite"]
+
+input/pickable = false
+shapes/0/shape = SubResource( 1 )
+shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
+shapes/0/trigger = false
+collision/layers = 1
+collision/mask = 1
+constant_linear_velocity = Vector2( 0, 0 )
+constant_angular_velocity = 0.0
+friction = 1.0
+bounce = 0.0
+
+[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Sprite/StaticBody2D"]
+
+build_mode = 0
+polygon = Vector2Array( -32.6231, 32.0838, -1.28218, -31.1383, 33.8412, 33.1645 )
+shape_range = Vector2( -1, -1 )
+trigger = false
+
+[node name="RigidBody2D" type="RigidBody2D" parent="."]
+
+transform/pos = Vector2( 1.19748, -29.9368 )
+transform/rot = 16.2233
+input/pickable = false
+shapes/0/shape = SubResource( 2 )
+shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
+shapes/0/trigger = false
+collision/layers = 1
+collision/mask = 1
+mode = 0
+mass = 1.0
+friction = 1.0
+bounce = 0.0
+gravity_scale = 1.0
+custom_integrator = false
+continuous_cd = 0
+contacts_reported = 0
+contact_monitor = false
+sleeping = false
+can_sleep = true
+velocity/linear = Vector2( 0, 0 )
+velocity/angular = 0.0
+damp_override/linear = -1.0
+damp_override/angular = -1.0
+
+[node name="Sprite" type="Sprite" parent="RigidBody2D"]
+
+transform/scale = Vector2( 1, 0.5 )
+texture = ExtResource( 2 )
+
+[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="RigidBody2D"]
+
+build_mode = 0
+polygon = Vector2Array( -125.025, -8.98358, 125.162, -8.44321, 99.2248, 7.22723, -99.0874, 7.76759 )
+shape_range = Vector2( -1, -1 )
+trigger = false
+
+[node name="PinJoint2D" type="PinJoint2D" parent="."]
+
+transform/pos = Vector2( 0, -31.1343 )
+node_a = NodePath("../RigidBody2D")
+node_b = NodePath("../Sprite/StaticBody2D")
+bias/bias = 0.0
+collision/exclude_nodes = true
+softness = 0.0
+
+
diff --git a/demos/2d/rubegoldberg/seesaw.xml b/demos/2d/rubegoldberg/seesaw.xml
deleted file mode 100644
index 281e4e7c0d..0000000000
--- a/demos/2d/rubegoldberg/seesaw.xml
+++ /dev/null
@@ -1,243 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<resource_file type="PackedScene" subresource_count="5" version="2.0" version_name="Godot Engine v2.0.alpha.custom_build">
- <ext_resource path="res://art/seesaw_top.png" type="Texture" index="1"></ext_resource>
- <ext_resource path="res://art/seesaw_base.png" type="Texture" index="0"></ext_resource>
- <resource type="ConcavePolygonShape2D" path="local://1">
- <real name="custom_solver_bias"> 0 </real>
- <vector2_array name="segments" len="6"> -32.6231, 32.0838, -1.28218, -31.1383, -1.28218, -31.1383, 33.8412, 33.1645, 33.8412, 33.1645, -32.6231, 32.0838 </vector2_array>
-
- </resource>
- <resource type="ConvexPolygonShape2D" path="local://2">
- <real name="custom_solver_bias"> 0 </real>
- <vector2_array name="points" len="4"> -99.0874, 7.76759, -125.025, -8.98358, 125.162, -8.44321, 99.2248, 7.22723 </vector2_array>
-
- </resource>
- <main_resource>
- <dictionary name="_bundled" shared="false">
- <string> "conn_count" </string>
- <int> 0 </int>
- <string> "conns" </string>
- <int_array len="0"> </int_array>
- <string> "editable_instances" </string>
- <array len="0" shared="false">
- </array>
- <string> "names" </string>
- <string_array len="43">
- <string> "SeeSaw" </string>
- <string> "__meta__" </string>
- <string> "Node2D" </string>
- <string> "Sprite" </string>
- <string> "texture" </string>
- <string> "StaticBody2D" </string>
- <string> "input/pickable" </string>
- <string> "shapes/0/shape" </string>
- <string> "shapes/0/transform" </string>
- <string> "shapes/0/trigger" </string>
- <string> "collision/layers" </string>
- <string> "collision/mask" </string>
- <string> "constant_linear_velocity" </string>
- <string> "constant_angular_velocity" </string>
- <string> "friction" </string>
- <string> "bounce" </string>
- <string> "CollisionPolygon2D" </string>
- <string> "build_mode" </string>
- <string> "polygon" </string>
- <string> "shape_range" </string>
- <string> "trigger" </string>
- <string> "RigidBody2D" </string>
- <string> "transform/pos" </string>
- <string> "transform/rot" </string>
- <string> "mode" </string>
- <string> "mass" </string>
- <string> "gravity_scale" </string>
- <string> "custom_integrator" </string>
- <string> "continuous_cd" </string>
- <string> "contacts_reported" </string>
- <string> "contact_monitor" </string>
- <string> "sleeping" </string>
- <string> "can_sleep" </string>
- <string> "velocity/linear" </string>
- <string> "velocity/angular" </string>
- <string> "damp_override/linear" </string>
- <string> "damp_override/angular" </string>
- <string> "transform/scale" </string>
- <string> "PinJoint2D" </string>
- <string> "node_a" </string>
- <string> "node_b" </string>
- <string> "bias/bias" </string>
- <string> "softness" </string>
- </string_array>
- <string> "node_count" </string>
- <int> 8 </int>
- <string> "node_paths" </string>
- <array len="0" shared="false">
- </array>
- <string> "nodes" </string>
- <int_array len="156"> -1, -1, 2, 0, -1, 1, 1, 0, 0, 0, 0, 3, 3, -1, 1, 4, 1, 0, 1, 0, 5, 5, -1, 10, 6, 2, 7, 3, 8, 4, 9, 2, 10, 5, 11, 5, 12, 6, 13, 7, 14, 8, 15, 7, 0, 2, 0, 16, 16, -1, 4, 17, 9, 18, 10, 19, 11, 20, 2, 0, 0, 0, 21, 21, -1, 23, 22, 12, 23, 13, 6, 2, 7, 14, 8, 4, 9, 2, 10, 5, 11, 5, 24, 9, 25, 8, 14, 8, 15, 7, 26, 8, 27, 2, 28, 9, 29, 9, 30, 2, 31, 2, 32, 15, 33, 6, 34, 7, 35, 16, 36, 16, 0, 4, 0, 3, 3, -1, 2, 37, 17, 4, 18, 0, 4, 0, 16, 16, -1, 4, 17, 9, 18, 19, 19, 11, 20, 2, 0, 0, 0, 38, 38, -1, 5, 22, 20, 39, 21, 40, 22, 41, 7, 42, 7, 0 </int_array>
- <string> "variants" </string>
- <array len="23" shared="false">
- <dictionary shared="false">
- <string> "__editor_plugin_screen__" </string>
- <string> "2D" </string>
- <string> "__editor_plugin_states__" </string>
- <dictionary shared="false">
- <string> "2D" </string>
- <dictionary shared="false">
- <string> "ofs" </string>
- <vector2> -277.779, -292.484 </vector2>
- <string> "snap_grid" </string>
- <bool> False </bool>
- <string> "snap_offset" </string>
- <vector2> 0, 0 </vector2>
- <string> "snap_pixel" </string>
- <bool> False </bool>
- <string> "snap_relative" </string>
- <bool> False </bool>
- <string> "snap_rotation" </string>
- <bool> False </bool>
- <string> "snap_rotation_offset" </string>
- <real> 0 </real>
- <string> "snap_rotation_step" </string>
- <real> 0.261799 </real>
- <string> "snap_show_grid" </string>
- <bool> False </bool>
- <string> "snap_step" </string>
- <vector2> 10, 10 </vector2>
- <string> "zoom" </string>
- <real> 1.670183 </real>
- </dictionary>
- <string> "3D" </string>
- <dictionary shared="false">
- <string> "ambient_light_color" </string>
- <color> 0.15, 0.15, 0.15, 1 </color>
- <string> "default_light" </string>
- <bool> True </bool>
- <string> "default_srgb" </string>
- <bool> False </bool>
- <string> "deflight_rot_x" </string>
- <real> 0.942478 </real>
- <string> "deflight_rot_y" </string>
- <real> 0.628319 </real>
- <string> "fov" </string>
- <real> 45 </real>
- <string> "show_grid" </string>
- <bool> True </bool>
- <string> "show_origin" </string>
- <bool> True </bool>
- <string> "viewport_mode" </string>
- <int> 1 </int>
- <string> "viewports" </string>
- <array len="4" shared="false">
- <dictionary shared="false">
- <string> "distance" </string>
- <real> 4 </real>
- <string> "listener" </string>
- <bool> True </bool>
- <string> "pos" </string>
- <vector3> 0, 0, 0 </vector3>
- <string> "use_environment" </string>
- <bool> False </bool>
- <string> "use_orthogonal" </string>
- <bool> False </bool>
- <string> "x_rot" </string>
- <real> 0 </real>
- <string> "y_rot" </string>
- <real> 0 </real>
- </dictionary>
- <dictionary shared="false">
- <string> "distance" </string>
- <real> 4 </real>
- <string> "listener" </string>
- <bool> False </bool>
- <string> "pos" </string>
- <vector3> 0, 0, 0 </vector3>
- <string> "use_environment" </string>
- <bool> False </bool>
- <string> "use_orthogonal" </string>
- <bool> False </bool>
- <string> "x_rot" </string>
- <real> 0 </real>
- <string> "y_rot" </string>
- <real> 0 </real>
- </dictionary>
- <dictionary shared="false">
- <string> "distance" </string>
- <real> 4 </real>
- <string> "listener" </string>
- <bool> False </bool>
- <string> "pos" </string>
- <vector3> 0, 0, 0 </vector3>
- <string> "use_environment" </string>
- <bool> False </bool>
- <string> "use_orthogonal" </string>
- <bool> False </bool>
- <string> "x_rot" </string>
- <real> 0 </real>
- <string> "y_rot" </string>
- <real> 0 </real>
- </dictionary>
- <dictionary shared="false">
- <string> "distance" </string>
- <real> 4 </real>
- <string> "listener" </string>
- <bool> False </bool>
- <string> "pos" </string>
- <vector3> 0, 0, 0 </vector3>
- <string> "use_environment" </string>
- <bool> False </bool>
- <string> "use_orthogonal" </string>
- <bool> False </bool>
- <string> "x_rot" </string>
- <real> 0 </real>
- <string> "y_rot" </string>
- <real> 0 </real>
- </dictionary>
- </array>
- <string> "zfar" </string>
- <real> 500 </real>
- <string> "znear" </string>
- <real> 0.1 </real>
- </dictionary>
- <string> "Anim" </string>
- <dictionary shared="false">
- <string> "visible" </string>
- <bool> False </bool>
- </dictionary>
- </dictionary>
- <string> "__editor_run_settings__" </string>
- <dictionary shared="false">
- <string> "custom_args" </string>
- <string> "-l $scene" </string>
- <string> "run_mode" </string>
- <int> 0 </int>
- </dictionary>
- </dictionary>
- <resource external="0"> </resource>
- <bool> False </bool>
- <resource resource_type="Shape2D" path="local://1"> </resource>
- <matrix32> 1, 0, 0, 1, 0, 0 </matrix32>
- <int> 1 </int>
- <vector2> 0, 0 </vector2>
- <real> 0 </real>
- <real> 1 </real>
- <int> 0 </int>
- <vector2_array len="3"> -32.6231, 32.0838, -1.28218, -31.1383, 33.8412, 33.1645 </vector2_array>
- <vector2> -1, -1 </vector2>
- <vector2> 1.19748, -29.9368 </vector2>
- <real> 16.223282 </real>
- <resource resource_type="Shape2D" path="local://2"> </resource>
- <bool> True </bool>
- <real> -1 </real>
- <vector2> 1, 0.5 </vector2>
- <resource external="1"> </resource>
- <vector2_array len="4"> -125.025, -8.98358, 125.162, -8.44321, 99.2248, 7.22723, -99.0874, 7.76759 </vector2_array>
- <vector2> 0, -31.1343 </vector2>
- <node_path> "../RigidBody2D" </node_path>
- <node_path> "../Sprite/StaticBody2D" </node_path>
- </array>
- <string> "version" </string>
- <int> 2 </int>
- </dictionary>
-
- </main_resource>
-</resource_file> \ No newline at end of file