Compare commits

..

5 Commits

Author SHA1 Message Date
Aaron Franke
f43c0fb3a1 [3.2] Simplify list of branches in the README (#1255) 2025-10-02 16:55:39 -07:00
Rémi Verschelde
834c62fb88 Update README for new branches, matches Godot upstream
(cherry picked from commit c0180d20d1)
2023-02-28 18:36:43 +01:00
Aaron Franke
098e13cca2 [3.2] Update README for the new 3.3 branch 2021-11-05 10:16:59 -05:00
Aaron Franke
ee1252eafe Merge pull request #611 from aaronfranke/3.2-readme-license-3.2
[3.2] Update README for the new 3.2 branch
2021-04-21 03:52:20 -05:00
Aaron Franke
aa5aa936cb [3.2] Update README for the new 3.2 branch 2021-04-21 03:59:54 -04:00
206 changed files with 608 additions and 556 deletions

View File

@@ -1,99 +0,0 @@
name: Export projects to HTML5 and deploy to GitHub Pages
on:
push:
branches:
- master
env:
GODOT_VERSION: 3.3
jobs:
export-html5:
name: Export projects to HTML5 and deploy to GitHub Pages
runs-on: ubuntu-20.04
container:
image: barichello/godot-ci:3.3
steps:
- name: Checkout
uses: actions/checkout@v2.3.4
- name: Setup
run: |
mkdir -p ~/.local/share/godot/templates/
mv /root/.local/share/godot/templates/$GODOT_VERSION.stable ~/.local/share/godot/templates/$GODOT_VERSION.stable
- name: Export projects to HTML5
run: |
apt-get update -qq && apt-get install -qqq imagemagick
# Don't export Mono demos (not supported yet), demos that can't be run in HTML5
# since they're platform-specific or demos that are currently broken in HTML5.
# Remember to update `.github/dist/footer.html` when updating the list of excluded demos.
rm -rf \
2d/hdr/ \
3d/voxel/ \
audio/device_changer/ \
loading/background_load/ \
loading/multiple_threads_loading/ \
loading/threads/ \
misc/matrix_transform/ \
mobile/android_iap/ \
mobile/sensors/ \
mono/ \
networking/ \
plugins/
for panorama in 3d/material_testers/backgrounds/*.hdr; do
# Decrease the resolution to get below the 20 MB per-file limit.
# Otherwise, the website can't be deployed as files larger than 20 MB
# can't be pushed to GitHub anymore.
mogrify -resize 75% "$panorama"
done
BASEDIR="$PWD"
# Use absolute paths so that we can `cd` without having to go back to the parent directory manually.
for demo in */*/; do
echo ""
echo "================================"
echo "Exporting demo $demo..."
echo "================================"
mkdir -p "$BASEDIR/.github/dist/$demo"
cd "$BASEDIR/$demo"
# Copy an export template preset file configured for HTML5 exporting.
# This way, we don't have to commit `export_presets.cfg` for each project.
cp "$BASEDIR/.github/dist/export_presets.cfg" .
godot --export "HTML5" "$BASEDIR/.github/dist/$demo/index.html"
# Replace the WASM file with a symbolic link to avoid duplicating files in the pushed branch.
# (WASM files are identical across projects, but not PCK or HTML files.)
mv -f "$BASEDIR/.github/dist/$demo/index.wasm" "$BASEDIR/.github/dist/index.wasm"
# The symlink must be relative as it needs to point to a file within the pushed repository.
ln -s "../../index.wasm" "$BASEDIR/.github/dist/$demo/index.wasm"
# Append the demo to the list of demos for the website.
PROJECT_NAME=$(cat project.godot | grep "config/name" | cut -d '"' -f 2 | tr -d "\n")
echo "<li><a href='$demo'><img width="64" height="64" src="$demo/favicon.png" alt=""><p>$PROJECT_NAME</p></a></li>" >> "$BASEDIR/.github/dist/demos.html"
done
cat "$BASEDIR/.github/dist/header.html" "$BASEDIR/.github/dist/demos.html" "$BASEDIR/.github/dist/footer.html" > "$BASEDIR/.github/dist/index.html"
# Clean up files that don't need to be deployed.
rm -f "$BASEDIR/.github/dist/header.html" "$BASEDIR/.github/dist/demos.html" "$BASEDIR/.github/dist/footer.html" "$BASEDIR/.github/dist/export_presets.cfg"
# Installing rsync is needed in order to deploy to GitHub Pages. Without it, the build will fail.
- name: Install rsync 📚
run: |
apt-get update -qq && apt-get install -qqq rsync
- name: Deploy to GitHub Pages 🚀
uses: JamesIves/github-pages-deploy-action@releases/v3
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# The branch the action should deploy to.
BRANCH: gh-pages
# The folder the action should deploy.
FOLDER: .github/dist
# Artifacts are large; don't keep the branch's history.
SINGLE_COMMIT: true

View File

@@ -4,10 +4,10 @@ on: [push, pull_request]
jobs:
format:
name: File formatting (file_format.sh)
runs-on: ubuntu-20.04
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v5
- name: Install dependencies
run: |

1
.gitignore vendored
View File

@@ -18,4 +18,5 @@ mono_crash.*.json
# System/tool-specific ignores
.directory
.DS_Store
*~

View File

@@ -29,6 +29,5 @@ frames = SubResource( 1 )
[node name="CollisionShape2D" type="CollisionShape2D" parent="Player"]
shape = SubResource( 2 )
[connection signal="body_shape_entered" from="Player" to="Player" method="_on_body_shape_entered"]
[connection signal="body_shape_exited" from="Player" to="Player" method="_on_body_shape_exited"]

View File

@@ -53,6 +53,5 @@ text = "Start"
[node name="MessageTimer" type="Timer" parent="."]
one_shot = true
[connection signal="pressed" from="StartButton" to="." method="_on_StartButton_pressed"]
[connection signal="timeout" from="MessageTimer" to="." method="_on_MessageTimer_timeout"]

View File

@@ -47,7 +47,6 @@ stream = ExtResource( 5 )
[node name="DeathSound" type="AudioStreamPlayer" parent="."]
stream = ExtResource( 6 )
[connection signal="hit" from="Player" to="." method="game_over"]
[connection signal="timeout" from="MobTimer" to="." method="_on_MobTimer_timeout"]
[connection signal="timeout" from="ScoreTimer" to="." method="_on_ScoreTimer_timeout"]

View File

@@ -50,5 +50,4 @@ rotation = 1.5708
shape = SubResource( 2 )
[node name="VisibilityNotifier2D" type="VisibilityNotifier2D" parent="."]
[connection signal="screen_exited" from="VisibilityNotifier2D" to="." method="_on_VisibilityNotifier2D_screen_exited"]

View File

@@ -67,5 +67,4 @@ speed_scale = 2.0
local_coords = false
process_material = SubResource( 7 )
texture = ExtResource( 2 )
[connection signal="body_entered" from="." to="." method="_on_Player_body_entered"]

View File

@@ -8,6 +8,11 @@
config_version=4
_global_script_classes=[ ]
_global_script_class_icons={
}
[application]
config/name="Dodge the Creeps"

View File

@@ -115,7 +115,6 @@ align = 1
valign = 1
uppercase = true
script = ExtResource( 15 )
[connection signal="state_changed" from="StateMachine" to="BodyPivot/WeaponPivot/Offset/Sword" method="_on_StateMachine_state_changed"]
[connection signal="state_changed" from="StateMachine" to="StateNameDisplayer" method="_on_StateMachine_state_changed"]
[connection signal="animation_finished" from="AnimationPlayer" to="StateMachine" method="_on_animation_finished"]

View File

@@ -8,6 +8,11 @@
config_version=4
_global_script_classes=[ ]
_global_script_class_icons={
}
[application]
config/name="Hierarchical Finite State Machine"

View File

@@ -8,6 +8,11 @@
config_version=4
_global_script_classes=[ ]
_global_script_class_icons={
}
[application]
config/name="GD Paint"

View File

@@ -8,6 +8,11 @@
config_version=4
_global_script_classes=[ ]
_global_script_class_icons={
}
[application]
config/name="HDR for 2D"

View File

@@ -8,6 +8,11 @@
config_version=4
_global_script_classes=[ ]
_global_script_class_icons={
}
[application]
config/name="Hexagonal Game"

View File

@@ -8,6 +8,11 @@
config_version=4
_global_script_classes=[ ]
_global_script_class_icons={
}
[application]
config/name="Scene Instancing Demo"

View File

@@ -8,6 +8,11 @@
config_version=4
_global_script_classes=[ ]
_global_script_class_icons={
}
[application]
config/name="Isometric Game"

View File

@@ -8,6 +8,11 @@
config_version=4
_global_script_classes=[ ]
_global_script_class_icons={
}
[application]
config/name="Kinematic Character 2D"

View File

@@ -266,5 +266,4 @@ shape = SubResource( 12 )
[node name="Camera2D" type="Camera2D" parent="."]
offset = Vector2( 265, 247 )
current = true
[connection signal="body_entered" from="Princess" to="Princess" method="_on_body_entered"]

View File

@@ -8,6 +8,11 @@
config_version=4
_global_script_classes=[ ]
_global_script_class_icons={
}
[application]
config/name="2D Lights as Mask"

View File

@@ -8,6 +8,11 @@
config_version=4
_global_script_classes=[ ]
_global_script_class_icons={
}
[application]
config/name="2D Lights and Shadows"

View File

@@ -8,6 +8,11 @@
config_version=4
_global_script_classes=[ ]
_global_script_class_icons={
}
[application]
config/name="Navigation Polygon 2D"

View File

@@ -8,6 +8,11 @@
config_version=4
_global_script_classes=[ ]
_global_script_class_icons={
}
[application]
config/name="Grid-based Pathfinding with Astar"

View File

@@ -8,6 +8,11 @@
config_version=4
_global_script_classes=[ ]
_global_script_class_icons={
}
[application]
config/name="2D Particles"

View File

@@ -142,5 +142,4 @@ texture = ExtResource( 4 )
[node name="Enabler" type="VisibilityEnabler2D" parent="."]
rect = Rect2( -5, -5, 10, 10 )
pause_particles = false
[connection signal="body_entered" from="." to="." method="_on_body_enter"]

View File

@@ -83,5 +83,4 @@ one_shot = true
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
anims/shutdown = SubResource( 4 )
[connection signal="timeout" from="Timer" to="." method="disable"]

View File

@@ -215,8 +215,8 @@ script = ExtResource( 1 )
[node name="Sprite" type="Sprite" parent="."]
texture = ExtResource( 2 )
hframes = 16
vframes = 2
hframes = 16
[node name="Smoke" type="Particles2D" parent="Sprite"]
self_modulate = Color( 1, 1, 1, 0.26702 )

View File

@@ -156,11 +156,10 @@ mipmap_policy=1
quality/intended_usage/framebuffer_allocation=0
quality/intended_usage/framebuffer_allocation.mobile=1
2d/snapping/use_gpu_pixel_snap=true
quality/2d/use_pixel_snap=true
quality/filters/anisotropic_filter_level=2
quality/filters/use_nearest_mipmap_filter=true
quality/depth/hdr=false
quality/2d/use_pixel_snap=true
[texture_import]

View File

@@ -193,6 +193,5 @@ max_lines_visible = 5
__meta__ = {
"_edit_use_anchors_": false
}
[connection signal="pressed" from="PanelLog/ButtonClear" to="PanelLog/ScrollLog/VBoxLog" method="clear"]
[connection signal="toggled" from="PanelLog/CheckBoxScroll" to="PanelLog/ScrollLog" method="set_auto_scroll"]

View File

@@ -83,6 +83,23 @@ func create_rigidbody(shape, pickable = false, transform = Transform.IDENTITY):
return body
func create_rigidbody_collision(collision, pickable = false, transform = Transform.IDENTITY):
var collision_copy = collision.duplicate()
collision_copy.transform = transform
if collision is CollisionShape2D:
collision_copy.shape = collision.shape.duplicate()
var body = RigidBody2D.new()
body.add_child(collision_copy)
if pickable:
var script = load("res://utils/rigidbody_pick.gd")
body.set_script(script)
return body
func create_rigidbody_box(size, pickable = false, use_icon = false, transform = Transform.IDENTITY):
var shape = RectangleShape2D.new()
shape.extents = 0.5 * size

View File

@@ -50,10 +50,6 @@ var _tests = [
"id": "Performance Tests/Contacts",
"path": "res://tests/performance/test_perf_contacts.tscn",
},
{
"id" : "Performance Tests/Contact Islands",
"path" : "res://tests/performance/test_perf_contact_islands.tscn",
},
]

View File

@@ -146,6 +146,5 @@ rect_min_size = Vector2( 120, 0 )
min_value = -1.0
max_value = 1.0
step = 0.01
[connection signal="value_changed" from="Controls/OffsetH/HSlider" to="." method="set_h_offset"]
[connection signal="value_changed" from="Controls/OffsetV/HSlider" to="." method="set_v_offset"]

View File

@@ -17,6 +17,13 @@ extents = Vector2( 32, 32 )
[node name="Test" type="Node2D"]
script = ExtResource( 1 )
_enable_debug_collision = true
_platform_size = 64.0
_platform_angle = 0.0
_platform_speed = 0.0
_body_angle = 0.0
_body_velocity = Vector2( 400, 0 )
_use_kinematic_body = false
[node name="LabelTestType" type="Label" parent="."]
margin_left = 14.0
@@ -238,7 +245,6 @@ texture = ExtResource( 2 )
[node name="CollisionShape2D" type="CollisionShape2D" parent="KinematicBody2D"]
shape = SubResource( 3 )
[connection signal="value_changed" from="Controls/PlatformSize/HSlider" to="." method="_set_platform_size"]
[connection signal="value_changed" from="Controls/PlatformAngle/HSlider" to="." method="_set_platform_angle"]
[connection signal="value_changed" from="Controls/BodyAngle/HSlider" to="." method="_set_rigidbody_angle"]

View File

@@ -1,8 +1,7 @@
[gd_scene load_steps=8 format=2]
[gd_scene load_steps=7 format=2]
[ext_resource path="res://assets/texture/godot-head.png" type="Texture" id=1]
[ext_resource path="res://test.gd" type="Script" id=2]
[ext_resource path="res://utils/rigidbody_pick.gd" type="Script" id=3]
[ext_resource path="res://tests/static_scene.tscn" type="PackedScene" id=6]
[sub_resource type="RectangleShape2D" id=1]
@@ -22,7 +21,6 @@ script = ExtResource( 2 )
[node name="RigidBodyRectangle" type="RigidBody2D" parent="DynamicShapes"]
position = Vector2( 96, 127 )
script = ExtResource( 3 )
[node name="CollisionShape2D" type="CollisionShape2D" parent="DynamicShapes/RigidBodyRectangle"]
rotation = 0.675442
@@ -30,7 +28,6 @@ shape = SubResource( 1 )
[node name="RigidBodyCapsule" type="RigidBody2D" parent="DynamicShapes"]
position = Vector2( 270.165, 139.444 )
script = ExtResource( 3 )
[node name="CollisionShape2D" type="CollisionShape2D" parent="DynamicShapes/RigidBodyCapsule"]
rotation = -0.202458
@@ -38,7 +35,6 @@ shape = SubResource( 2 )
[node name="RigidBodyConcavePolygon" type="RigidBody2D" parent="DynamicShapes"]
position = Vector2( 683.614, 132.749 )
script = ExtResource( 3 )
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="DynamicShapes/RigidBodyConcavePolygon"]
scale = Vector2( 0.5, 0.5 )
@@ -51,7 +47,6 @@ texture = ExtResource( 1 )
[node name="RigidBodyConvexPolygon" type="RigidBody2D" parent="DynamicShapes"]
position = Vector2( 473.536, 134.336 )
script = ExtResource( 3 )
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="DynamicShapes/RigidBodyConvexPolygon"]
scale = Vector2( 0.5, 0.5 )
@@ -64,7 +59,6 @@ texture = ExtResource( 1 )
[node name="RigidBodySphere" type="RigidBody2D" parent="DynamicShapes"]
position = Vector2( 919.968, 115.129 )
script = ExtResource( 3 )
[node name="CollisionShape2D" type="CollisionShape2D" parent="DynamicShapes/RigidBodySphere"]
shape = SubResource( 3 )

View File

@@ -1,105 +0,0 @@
[gd_scene load_steps=8 format=2]
[ext_resource path="res://tests/static_scene.tscn" type="PackedScene" id=1]
[ext_resource path="res://tests/performance/test_perf_contacts.gd" type="Script" id=2]
[ext_resource path="res://assets/texture/godot-head.png" type="Texture" id=3]
[ext_resource path="res://tests/test_options.tscn" type="PackedScene" id=4]
[sub_resource type="RectangleShape2D" id=1]
extents = Vector2( 5, 7 )
[sub_resource type="CircleShape2D" id=2]
radius = 5.0
[sub_resource type="CapsuleShape2D" id=3]
radius = 5.0
height = 7.0
[node name="Test" type="Node2D"]
script = ExtResource( 2 )
_enable_debug_collision = false
spawns = [ NodePath("SpawnTarget1"), NodePath("SpawnTarget2"), NodePath("SpawnTarget3"), NodePath("SpawnTarget4"), NodePath("SpawnTarget5"), NodePath("SpawnTarget6"), NodePath("SpawnTarget7"), NodePath("SpawnTarget8"), NodePath("SpawnTarget9") ]
spawn_count = 300
spawn_randomize = Vector2( 10, 10 )
[node name="Options" parent="." instance=ExtResource( 4 )]
[node name="SpawnTarget1" type="Node2D" parent="."]
position = Vector2( 145.646, 109.462 )
[node name="SpawnTarget2" type="Node2D" parent="."]
position = Vector2( 508.14, 109.113 )
[node name="SpawnTarget3" type="Node2D" parent="."]
position = Vector2( 873.995, 110.042 )
[node name="SpawnTarget4" type="Node2D" parent="."]
position = Vector2( 149.646, 301.462 )
[node name="SpawnTarget5" type="Node2D" parent="."]
position = Vector2( 512.14, 301.113 )
[node name="SpawnTarget6" type="Node2D" parent="."]
position = Vector2( 877.995, 302.042 )
[node name="SpawnTarget7" type="Node2D" parent="."]
position = Vector2( 165.646, 507.462 )
[node name="SpawnTarget8" type="Node2D" parent="."]
position = Vector2( 528.14, 507.113 )
[node name="SpawnTarget9" type="Node2D" parent="."]
position = Vector2( 893.995, 508.042 )
[node name="StaticScene" parent="." instance=ExtResource( 1 )]
visible = false
position = Vector2( 0, 125.017 )
[node name="DynamicShapes" type="Node2D" parent="."]
[node name="RigidBodyRectangle" type="RigidBody2D" parent="DynamicShapes"]
position = Vector2( 0, 1024 )
gravity_scale = 0.0
[node name="CollisionShape2D" type="CollisionShape2D" parent="DynamicShapes/RigidBodyRectangle"]
shape = SubResource( 1 )
[node name="RigidBodySphere" type="RigidBody2D" parent="DynamicShapes"]
position = Vector2( 100, 1024 )
gravity_scale = 0.0
[node name="CollisionShape2D" type="CollisionShape2D" parent="DynamicShapes/RigidBodySphere"]
shape = SubResource( 2 )
[node name="RigidBodyCapsule" type="RigidBody2D" parent="DynamicShapes"]
position = Vector2( 200, 1024 )
gravity_scale = 0.0
[node name="CollisionShape2D" type="CollisionShape2D" parent="DynamicShapes/RigidBodyCapsule"]
shape = SubResource( 3 )
[node name="RigidBodyConvexPolygon" type="RigidBody2D" parent="DynamicShapes"]
position = Vector2( 300, 1024 )
gravity_scale = 0.0
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="DynamicShapes/RigidBodyConvexPolygon"]
scale = Vector2( 0.1, 0.1 )
polygon = PoolVector2Array( 10.7, -54.5, 28.3596, -49.4067, 47.6282, -34.3806, 57.9717, -20.9447, 50.9869, 35.2694, 38.8, 47.5, 15.9852, 54.3613, -14.9507, 54.1845, -36.5, 48.1, -50.4828, 36.33, -58.0115, -20.515, -46.9473, -34.7342, -26.0876, -50.1138, -11.4152, -54.5332 )
[node name="GodotIcon" type="Sprite" parent="DynamicShapes/RigidBodyConvexPolygon"]
self_modulate = Color( 1, 1, 1, 0.392157 )
scale = Vector2( 0.1, 0.1 )
texture = ExtResource( 3 )
[node name="RigidBodyConcavePolygon" type="RigidBody2D" parent="DynamicShapes"]
position = Vector2( 400, 1024 )
gravity_scale = 0.0
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="DynamicShapes/RigidBodyConcavePolygon"]
scale = Vector2( 0.1, 0.1 )
polygon = PoolVector2Array( -5.93512, -43.2195, 6.44476, -42.9695, 11.127, -54.3941, 26.9528, -49.4309, 26.2037, -36.508, 37.5346, -28.1737, 47.6282, -34.3806, 58.0427, -20.9631, 51.113, -10.2876, 50.9869, 35.2694, 38.8, 47.5, 15.9852, 54.3613, -14.9507, 54.1845, -36.5, 48.1, -50.4828, 36.33, -51.3668, -9.98545, -57.8889, -20.5885, -46.9473, -34.7342, -37.4014, -28.547, -26.0876, -37.0323, -26.9862, -49.15, -11.4152, -54.5332 )
[node name="GodotIcon" type="Sprite" parent="DynamicShapes/RigidBodyConcavePolygon"]
self_modulate = Color( 1, 1, 1, 0.392157 )
scale = Vector2( 0.1, 0.1 )
texture = ExtResource( 3 )

View File

@@ -8,9 +8,8 @@ const OPTION_TYPE_CAPSULE = "Shape type/Capsule"
const OPTION_TYPE_CONVEX_POLYGON = "Shape type/Convex Polygon"
const OPTION_TYPE_CONCAVE_POLYGON = "Shape type/Concave Polygon"
export(Array, NodePath) var spawns = Array()
export(Array) var spawns = Array()
export(int) var spawn_count = 100
export(Vector2) var spawn_randomize
onready var options = $Options
@@ -153,44 +152,31 @@ func _start_all_types():
func _spawn_objects(type_index):
var template_node = _object_templates[type_index]
Log.print_log("* Spawning: " + template_node.name)
for spawn in spawns:
var spawn_parent = get_node(spawn)
Log.print_log("* Spawning: " + template_node.name)
for _node_index in range(spawn_count):
# Create a new object and shape every time to avoid the overhead of connecting many bodies to the same shape.
var collision = template_node.get_child(0).duplicate()
if collision is CollisionShape2D:
collision.shape = collision.shape.duplicate()
var body = template_node.duplicate()
body.transform = Transform.IDENTITY
if spawn_randomize != Vector2.ZERO:
body.position.x = randf() * spawn_randomize.x
body.position.y = randf() * spawn_randomize.y
var prev_collision = body.get_child(0)
body.remove_child(prev_collision)
prev_collision.queue_free()
body.add_child(collision)
var collision = template_node.get_child(0)
var body = create_rigidbody_collision(collision, false, collision.transform)
body.set_sleeping(true)
spawn_parent.add_child(body)
func _activate_objects():
Log.print_log("* Activating")
for spawn in spawns:
var spawn_parent = get_node(spawn)
Log.print_log("* Activating")
for node_index in range(spawn_parent.get_child_count()):
var node = spawn_parent.get_child(node_index) as RigidBody2D
node.set_sleeping(false)
func _despawn_objects():
Log.print_log("* Despawning")
for spawn in spawns:
var spawn_parent = get_node(spawn)
@@ -198,6 +184,8 @@ func _despawn_objects():
if object_count == 0:
continue
Log.print_log("* Despawning")
# Remove objects in reversed order to avoid the overhead of changing children index in parent.
for object_index in range(object_count):
var node = spawn_parent.get_child(object_count - object_index - 1)

View File

@@ -6,20 +6,20 @@
[ext_resource path="res://tests/test_options.tscn" type="PackedScene" id=4]
[sub_resource type="RectangleShape2D" id=1]
extents = Vector2( 10, 15 )
extents = Vector2( 20, 30 )
[sub_resource type="CircleShape2D" id=2]
radius = 15.0
radius = 30.0
[sub_resource type="CapsuleShape2D" id=3]
height = 15.0
radius = 20.0
height = 30.0
[node name="Test" type="Node2D"]
script = ExtResource( 2 )
_enable_debug_collision = false
spawns = [ NodePath("SpawnTarget1") ]
spawn_count = 500
spawn_randomize = Vector2( 10, 10 )
spawn_count = 200
[node name="Options" parent="." instance=ExtResource( 4 )]
@@ -53,22 +53,22 @@ shape = SubResource( 3 )
position = Vector2( 300, 1024 )
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="DynamicShapes/RigidBodyConvexPolygon"]
scale = Vector2( 0.25, 0.25 )
scale = Vector2( 0.5, 0.5 )
polygon = PoolVector2Array( 10.7, -54.5, 28.3596, -49.4067, 47.6282, -34.3806, 57.9717, -20.9447, 50.9869, 35.2694, 38.8, 47.5, 15.9852, 54.3613, -14.9507, 54.1845, -36.5, 48.1, -50.4828, 36.33, -58.0115, -20.515, -46.9473, -34.7342, -26.0876, -50.1138, -11.4152, -54.5332 )
[node name="GodotIcon" type="Sprite" parent="DynamicShapes/RigidBodyConvexPolygon"]
self_modulate = Color( 1, 1, 1, 0.392157 )
scale = Vector2( 0.25, 0.25 )
scale = Vector2( 0.5, 0.5 )
texture = ExtResource( 3 )
[node name="RigidBodyConcavePolygon" type="RigidBody2D" parent="DynamicShapes"]
position = Vector2( 400, 1024 )
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="DynamicShapes/RigidBodyConcavePolygon"]
scale = Vector2( 0.25, 0.25 )
scale = Vector2( 0.5, 0.5 )
polygon = PoolVector2Array( -5.93512, -43.2195, 6.44476, -42.9695, 11.127, -54.3941, 26.9528, -49.4309, 26.2037, -36.508, 37.5346, -28.1737, 47.6282, -34.3806, 58.0427, -20.9631, 51.113, -10.2876, 50.9869, 35.2694, 38.8, 47.5, 15.9852, 54.3613, -14.9507, 54.1845, -36.5, 48.1, -50.4828, 36.33, -51.3668, -9.98545, -57.8889, -20.5885, -46.9473, -34.7342, -37.4014, -28.547, -26.0876, -37.0323, -26.9862, -49.15, -11.4152, -54.5332 )
[node name="GodotIcon" type="Sprite" parent="DynamicShapes/RigidBodyConcavePolygon"]
self_modulate = Color( 1, 1, 1, 0.392157 )
scale = Vector2( 0.25, 0.25 )
scale = Vector2( 0.5, 0.5 )
texture = ExtResource( 3 )

View File

@@ -242,11 +242,10 @@ mipmap_policy=1
quality/intended_usage/framebuffer_allocation=0
quality/intended_usage/framebuffer_allocation.mobile=1
2d/snapping/use_gpu_pixel_snap=true
quality/2d/use_pixel_snap=true
quality/filters/anisotropic_filter_level=2
quality/filters/use_nearest_mipmap_filter=true
quality/depth/hdr=false
quality/2d/use_pixel_snap=true
[texture_import]

View File

@@ -203,8 +203,8 @@ collision_mask = 8
[node name="Sprite" type="Sprite" parent="."]
position = Vector2( 0, -14 )
texture = ExtResource( 2 )
hframes = 16
vframes = 2
hframes = 16
frame = 16
[node name="Gun" type="Position2D" parent="Sprite"]

View File

@@ -94,6 +94,5 @@ autostart = true
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
anims/destroy = SubResource( 6 )
[connection signal="body_entered" from="." to="." method="_on_body_entered"]
[connection signal="timeout" from="Timer" to="." method="destroy"]

View File

@@ -160,5 +160,4 @@ shape = SubResource( 3 )
[node name="Pickup" type="AudioStreamPlayer2D" parent="."]
stream = ExtResource( 3 )
[connection signal="body_entered" from="." to="." method="_on_body_entered"]

View File

@@ -84,7 +84,6 @@ margin_right = 105.0
margin_bottom = 50.0
[node name="Tween" type="Tween" parent="."]
[connection signal="pressed" from="ColorRect/CenterContainer/VBoxContainer/ResumeButton" to="." method="_on_ResumeButton_pressed"]
[connection signal="pressed" from="ColorRect/CenterContainer/VBoxContainer/QuitButton" to="." method="_on_QuitButton_pressed"]
[connection signal="tween_all_completed" from="Tween" to="." method="_on_Tween_all_completed"]

View File

@@ -98,7 +98,6 @@ shape = SubResource( 4 )
[node name="Camera2D" type="Camera2D" parent="."]
offset = Vector2( 320, 200 )
current = true
[connection signal="area_entered" from="Left" to="Left" method="_on_area_entered"]
[connection signal="area_entered" from="Right" to="Right" method="_on_area_entered"]
[connection signal="area_entered" from="LeftWall" to="LeftWall" method="_on_wall_area_entered"]

View File

@@ -8,6 +8,11 @@
config_version=4
_global_script_classes=[ ]
_global_script_class_icons={
}
[application]
config/name="Pong with GDScript"

View File

@@ -34,5 +34,4 @@ margin_top = 32.0
margin_right = 1264.0
margin_bottom = 151.0
text = "Next"
[connection signal="button_up" from="Button" to="." method="_on_Button_button_up"]

View File

@@ -8,6 +8,11 @@
config_version=4
_global_script_classes=[ ]
_global_script_class_icons={
}
[application]
config/name="JRPG Demo"

View File

@@ -78,7 +78,6 @@ margin_bottom = 242.0
size_flags_horizontal = 3
size_flags_vertical = 3
text = "Flee"
[connection signal="button_up" from="UI/Buttons/GridContainer/Attack" to="UI" method="_on_Attack_button_up"]
[connection signal="button_up" from="UI/Buttons/GridContainer/Defend" to="UI" method="_on_Defend_button_up"]
[connection signal="button_up" from="UI/Buttons/GridContainer/Flee" to="UI" method="_on_Flee_button_up"]

View File

@@ -99,6 +99,5 @@ size_flags_horizontal = 2
size_flags_vertical = 4
size_flags_stretch_ratio = 0.0
text = "Add"
[connection signal="button_down" from="Panel/Button" to="Panel/VBoxContainer" method="_on_Button_button_down"]
[connection signal="button_up" from="Panel/Button" to="Panel/VBoxContainer" method="_on_Button_button_up"]

View File

@@ -8,6 +8,11 @@
config_version=4
_global_script_classes=[ ]
_global_script_class_icons={
}
[application]
config/name="Screen Space Shaders"

View File

@@ -262,6 +262,5 @@ margin_right = 260.0
margin_bottom = 28.0
size_flags_horizontal = 2
size_flags_vertical = 2
[connection signal="item_selected" from="Picture" to="." method="_on_picture_item_selected"]
[connection signal="item_selected" from="Effect" to="." method="_on_effect_item_selected"]

View File

@@ -8,6 +8,11 @@
config_version=4
_global_script_classes=[ ]
_global_script_class_icons={
}
[application]
config/name="2D Shaders for Sprites"

View File

@@ -381,7 +381,6 @@ size_flags_vertical = 2
__meta__ = {
"_edit_use_anchors_": false
}
[connection signal="tween_step" from="Tween" to="." method="_on_Tween_tween_step"]
[connection signal="value_changed" from="Top/Timeline" to="." method="_on_Timeline_value_changed"]
[connection signal="color_changed" from="Controls/ColorFrom/ColorPicker" to="." method="_on_ColorPicker_color_changed"]

View File

@@ -8,6 +8,11 @@
config_version=4
_global_script_classes=[ ]
_global_script_class_icons={
}
[application]
config/name="Tween Demo"

View File

@@ -596,4 +596,5 @@ material/0 = ExtResource( 12 )
material/1 = ExtResource( 13 )
[editable path="KinematicBody/CameraHolder/Weapon/Pistol"]
[editable path="KinematicBody/GodotBattleBot"]

View File

@@ -16,7 +16,6 @@ nodes/root_name="WeaponPistol"
nodes/root_scale=1.0
nodes/custom_script=""
nodes/storage=0
nodes/use_legacy_names=false
materials/location=0
materials/storage=0
materials/keep_on_reimport=true

View File

@@ -16,7 +16,6 @@ nodes/root_name="GodotBattleBot"
nodes/root_scale=1.0
nodes/custom_script=""
nodes/storage=0
nodes/use_legacy_names=false
materials/location=0
materials/storage=0
materials/keep_on_reimport=true

View File

@@ -8,6 +8,11 @@
config_version=4
_global_script_classes=[ ]
_global_script_class_icons={
}
[application]
config/name="3D Inverse Kinematics"

View File

@@ -117,5 +117,4 @@ transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 13.25, 3 )
[node name="CollisionShape" type="CollisionShape" parent="Princess"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0 )
shape = SubResource( 4 )
[connection signal="body_entered" from="Princess" to="Cubio" method="_on_tcube_body_entered"]

View File

@@ -8,6 +8,11 @@
config_version=4
_global_script_classes=[ ]
_global_script_class_icons={
}
[application]
config/name="Kinematic Character 3D"

View File

@@ -415,7 +415,6 @@ margin_top = -44.0
margin_bottom = -30.0
size_flags_vertical = 0
align = 1
[connection signal="item_selected" from="UI/Background" to="." method="_on_bg_item_selected"]
[connection signal="pressed" from="UI/Previous" to="." method="_on_Previous_pressed"]
[connection signal="pressed" from="UI/Next" to="." method="_on_Next_pressed"]

View File

@@ -16,7 +16,6 @@ nodes/root_name="Scene Root"
nodes/root_scale=1.0
nodes/custom_script=""
nodes/storage=0
nodes/use_legacy_names=false
materials/location=1
materials/storage=2
materials/keep_on_reimport=true

View File

@@ -8,6 +8,11 @@
config_version=4
_global_script_classes=[ ]
_global_script_class_icons={
}
[application]
config/name="Material Testers"

View File

@@ -8,6 +8,11 @@
config_version=4
_global_script_classes=[ ]
_global_script_class_icons={
}
[application]
config/name="3D Navigation Mesh"

View File

@@ -192,6 +192,5 @@ max_lines_visible = 5
__meta__ = {
"_edit_use_anchors_": false
}
[connection signal="pressed" from="PanelLog/ButtonClear" to="PanelLog/ScrollLog/VBoxLog" method="clear"]
[connection signal="toggled" from="PanelLog/CheckBoxScroll" to="PanelLog/ScrollLog" method="set_auto_scroll"]

View File

@@ -46,33 +46,23 @@ func add_sphere(pos, radius, color):
func add_shape(shape, transform, color):
var body = StaticBody.new()
body.collision_layer = 0
body.collision_mask = 0
var collision = CollisionShape.new()
collision.transform = transform
collision.shape = shape
body.add_child(collision)
_drawn_nodes.push_back(collision)
add_child(collision)
add_child(body)
_drawn_nodes.push_back(body)
call_deferred("initialize_shape_material", body, color)
func initialize_shape_material(body, color):
var mesh_instance = body.get_child(1)
var mesh_instance = collision.get_child(0)
var material = SpatialMaterial.new()
material.flags_unshaded = true
material.albedo_color = color
mesh_instance.material_override = material
collision.global_transform = transform
func clear_drawn_nodes():
for node in _drawn_nodes:
remove_child(node)
node.queue_free()
_drawn_nodes.clear()

View File

@@ -43,8 +43,8 @@ var _tests = [
"path": "res://tests/performance/test_perf_contacts.tscn",
},
{
"id" : "Performance Tests/Contact Islands",
"path" : "res://tests/performance/test_perf_contact_islands.tscn",
"id" : "Performance Tests/Contacts Extended",
"path" : "res://tests/performance/test_perf_contacts_extended.tscn",
},
]

View File

@@ -1,7 +1,8 @@
[gd_scene load_steps=10 format=2]
[gd_scene load_steps=11 format=2]
[ext_resource path="res://assets/robot_head/godot3_robot_head_collision.tres" type="Shape" id=1]
[ext_resource path="res://tests/functional/test_collision_pairs.gd" type="Script" id=2]
[ext_resource path="res://utils/exception_cylinder.gd" type="Script" id=3]
[ext_resource path="res://utils/camera_orbit.gd" type="Script" id=4]
[ext_resource path="res://tests/test_options.tscn" type="PackedScene" id=5]
@@ -140,6 +141,7 @@ shape = SubResource( 3 )
[node name="RigidBodyCylinder" type="RigidBody" parent="Shapes"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 0 )
mode = 3
script = ExtResource( 3 )
[node name="CollisionShape" type="CollisionShape" parent="Shapes/RigidBodyCylinder"]
transform = Transform( 0.772741, -0.258819, 2.59821e-08, 0.2, 0.933013, -0.207055, 0.0535898, 0.25, 0.772741, 0, 0, 0 )
@@ -163,7 +165,6 @@ shape = ExtResource( 1 )
[node name="Camera" type="Camera" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 5.8667, 11.8164 )
script = ExtResource( 4 )
[connection signal="value_changed" from="Controls/OffsetX/HSlider" to="." method="set_x_offset"]
[connection signal="value_changed" from="Controls/OffsetY/HSlider" to="." method="set_y_offset"]
[connection signal="value_changed" from="Controls/OffsetZ/HSlider" to="." method="set_z_offset"]

View File

@@ -1,7 +1,8 @@
[gd_scene load_steps=9 format=2]
[gd_scene load_steps=10 format=2]
[ext_resource path="res://assets/robot_head/godot3_robot_head_collision.tres" type="Shape" id=1]
[ext_resource path="res://tests/functional/test_raycasting.gd" type="Script" id=2]
[ext_resource path="res://utils/exception_cylinder.gd" type="Script" id=3]
[ext_resource path="res://utils/camera_orbit.gd" type="Script" id=4]
[sub_resource type="BoxShape" id=1]
@@ -47,6 +48,7 @@ shape = SubResource( 3 )
[node name="RigidBodyCylinder" type="RigidBody" parent="Shapes"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 0 )
mode = 3
script = ExtResource( 3 )
[node name="CollisionShape" type="CollisionShape" parent="Shapes/RigidBodyCylinder"]
transform = Transform( 0.772741, -0.258819, 2.59821e-08, 0.2, 0.933013, -0.207055, 0.0535898, 0.25, 0.772741, 0, 0, 0 )

View File

@@ -1,7 +1,7 @@
[gd_scene load_steps=10 format=2]
[ext_resource path="res://utils/rigidbody_pick.gd" type="Script" id=1]
[ext_resource path="res://test.gd" type="Script" id=2]
[ext_resource path="res://utils/exception_cylinder.gd" type="Script" id=3]
[ext_resource path="res://utils/camera_orbit.gd" type="Script" id=4]
[ext_resource path="res://tests/static_scene.tscn" type="PackedScene" id=6]
@@ -24,7 +24,6 @@ transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 9.35591, 0 )
[node name="RigidBodyBox" type="RigidBody" parent="DynamicShapes"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, 0 )
script = ExtResource( 1 )
[node name="CollisionShape" type="CollisionShape" parent="DynamicShapes/RigidBodyBox"]
transform = Transform( 0.579556, 0.0885213, 0.145926, 0, 0.939693, -0.205212, -0.155291, 0.330366, 0.544604, 0, 0, 0 )
@@ -32,14 +31,13 @@ shape = SubResource( 1 )
[node name="RigidBodyCapsule" type="RigidBody" parent="DynamicShapes"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, 0 )
script = ExtResource( 1 )
[node name="CollisionShape" type="CollisionShape" parent="DynamicShapes/RigidBodyCapsule"]
transform = Transform( 0.8, 0, 0, 0, -1.30337e-07, -0.8, 0, 0.8, -1.30337e-07, 0, 0, 0 )
shape = SubResource( 2 )
[node name="RigidBodyCylinder" type="RigidBody" parent="DynamicShapes"]
script = ExtResource( 1 )
script = ExtResource( 3 )
[node name="CollisionShape" type="CollisionShape" parent="DynamicShapes/RigidBodyCylinder"]
transform = Transform( 0.772741, -0.258819, 2.59821e-08, 0.2, 0.933013, -0.207055, 0.0535898, 0.25, 0.772741, 0, 0, 0 )
@@ -47,7 +45,6 @@ shape = SubResource( 3 )
[node name="RigidBodyConvex" type="RigidBody" parent="DynamicShapes"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 0 )
script = ExtResource( 1 )
[node name="CollisionShape" type="CollisionShape" parent="DynamicShapes/RigidBodyConvex"]
transform = Transform( 1.5, 0, 0, 0, 1.93185, -0.388229, 0, 0.517638, 1.44889, 0, 0, 0 )
@@ -55,7 +52,6 @@ shape = SubResource( 4 )
[node name="RigidBodySphere" type="RigidBody" parent="DynamicShapes"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 0 )
script = ExtResource( 1 )
[node name="CollisionShape" type="CollisionShape" parent="DynamicShapes/RigidBodySphere"]
transform = Transform( 0.8, 0, 0, 0, 0.8, 0, 0, 0, 0.8, 0, 0, 0 )

View File

@@ -8,9 +8,8 @@ const OPTION_TYPE_CAPSULE = "Shape type/Capsule"
const OPTION_TYPE_CYLINDER = "Shape type/Cylinder"
const OPTION_TYPE_CONVEX = "Shape type/Convex"
export(Array, NodePath) var spawns = Array()
export(Array) var spawns = Array()
export(int) var spawn_count = 100
export(Vector3) var spawn_randomize
var _object_templates = []
@@ -149,47 +148,37 @@ func _start_all_types():
func _spawn_objects(type_index):
var template_node = _object_templates[type_index]
Log.print_log("* Spawning: " + template_node.name)
for spawn in spawns:
var spawn_parent = get_node(spawn)
Log.print_log("* Spawning: " + template_node.name)
for _node_index in range(spawn_count):
# Create a new object and shape every time to avoid the overhead of connecting many bodies to the same shape.
var collision = template_node.get_child(0).duplicate()
collision.shape = collision.shape.duplicate()
var body = template_node.duplicate()
body.transform = Transform.IDENTITY
if spawn_randomize != Vector3.ZERO:
body.transform.origin.x = randf() * spawn_randomize.x
body.transform.origin.y = randf() * spawn_randomize.y
body.transform.origin.z = randf() * spawn_randomize.z
var prev_collision = body.get_child(0)
body.remove_child(prev_collision)
prev_collision.queue_free()
body.add_child(collision)
var collision = template_node.get_child(0) as CollisionShape
var shape = collision.shape.duplicate()
var body = create_rigidbody(shape, false, collision.transform)
body.set_sleeping(true)
spawn_parent.add_child(body)
func _activate_objects():
Log.print_log("* Activating")
for spawn in spawns:
var spawn_parent = get_node(spawn)
Log.print_log("* Activating")
for node_index in range(spawn_parent.get_child_count()):
var node = spawn_parent.get_child(node_index) as RigidBody
node.set_sleeping(false)
func _despawn_objects():
Log.print_log("* Despawning")
for spawn in spawns:
var spawn_parent = get_node(spawn)
Log.print_log("* Despawning")
# Remove objects in reversed order to avoid the overhead of changing children index in parent.
var object_count = spawn_parent.get_child_count()
for object_index in range(object_count):

View File

@@ -1,7 +1,8 @@
[gd_scene load_steps=11 format=2]
[gd_scene load_steps=12 format=2]
[ext_resource path="res://tests/static_scene.tscn" type="PackedScene" id=1]
[ext_resource path="res://tests/performance/test_perf_contacts.gd" type="Script" id=2]
[ext_resource path="res://utils/exception_cylinder.gd" type="Script" id=3]
[ext_resource path="res://tests/test_options.tscn" type="PackedScene" id=4]
[ext_resource path="res://utils/camera_orbit.gd" type="Script" id=5]
@@ -23,7 +24,6 @@ script = ExtResource( 2 )
_enable_debug_collision = false
spawns = [ "SpawnTarget1" ]
spawn_count = 500
spawn_randomize = Vector3( 0.2, 0.2, 0.2 )
[node name="Options" parent="." instance=ExtResource( 4 )]
@@ -46,6 +46,7 @@ shape = SubResource( 2 )
[node name="RigidBodyCylinder" type="RigidBody" parent="DynamicShapes"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 0 )
script = ExtResource( 3 )
[node name="CollisionShape" type="CollisionShape" parent="DynamicShapes/RigidBodyCylinder"]
shape = SubResource( 3 )

View File

@@ -1,26 +1,21 @@
[gd_scene load_steps=11 format=2]
[gd_scene load_steps=12 format=2]
[ext_resource path="res://tests/performance/test_perf_contacts.gd" type="Script" id=1]
[ext_resource path="res://utils/exception_cylinder.gd" type="Script" id=2]
[ext_resource path="res://utils/camera_orbit.gd" type="Script" id=3]
[ext_resource path="res://tests/test_options.tscn" type="PackedScene" id=4]
[ext_resource path="res://tests/static_scene.tscn" type="PackedScene" id=5]
[sub_resource type="BoxShape" id=1]
extents = Vector3( 0.5, 0.5, 0.5 )
[sub_resource type="CapsuleShape" id=2]
radius = 0.5
height = 0.5
[sub_resource type="CylinderShape" id=3]
radius = 0.5
height = 1.0
[sub_resource type="ConvexPolygonShape" id=4]
points = PoolVector3Array( -0.7, 0, -0.7, -0.3, 0, 0.8, 0.8, 0, -0.3, 0, -1, 0 )
[sub_resource type="SphereShape" id=5]
radius = 0.5
[sub_resource type="PlaneShape" id=6]
@@ -28,8 +23,7 @@ radius = 0.5
script = ExtResource( 1 )
_enable_debug_collision = false
spawns = [ "SpawnTarget1", "SpawnTarget2", "SpawnTarget3", "SpawnTarget4", "SpawnTarget5", "SpawnTarget6", "SpawnTarget7", "SpawnTarget8", "SpawnTarget9", "SpawnTarget10", "SpawnTarget11", "SpawnTarget12", "SpawnTarget13", "SpawnTarget14", "SpawnTarget15", "SpawnTarget16" ]
spawn_count = 200
spawn_randomize = Vector3( 0.2, 0.2, 0.2 )
spawn_count = 50
[node name="Options" parent="." instance=ExtResource( 4 )]
@@ -97,6 +91,7 @@ shape = SubResource( 2 )
[node name="RigidBodyCylinder" type="RigidBody" parent="DynamicShapes"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 0 )
script = ExtResource( 2 )
[node name="CollisionShape" type="CollisionShape" parent="DynamicShapes/RigidBodyCylinder"]
shape = SubResource( 3 )
@@ -105,7 +100,6 @@ shape = SubResource( 3 )
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 0 )
[node name="CollisionShape" type="CollisionShape" parent="DynamicShapes/RigidBodyConvex"]
transform = Transform( 0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 0, 0 )
shape = SubResource( 4 )
[node name="RigidBodySphere" type="RigidBody" parent="DynamicShapes"]

View File

@@ -0,0 +1,8 @@
extends Node
func _enter_tree():
if System.get_physics_engine() == System.PhysicsEngine.GODOT_PHYSICS:
Log.print_error("Cylinder shapes not supported, removing '%s'." % name)
get_parent().remove_child(self)
queue_free()

View File

@@ -156,5 +156,4 @@ explosiveness = 1.0
visibility_aabb = AABB( -4.12919, -4, -4, 8.25837, 8, 8 )
process_material = SubResource( 8 )
draw_pass_1 = SubResource( 10 )
[connection signal="body_entered" from="." to="." method="_on_coin_body_enter"]

View File

@@ -7,6 +7,7 @@ room_size = 0.33
damping = 0.32
hipass = 0.9
dry = 0.0
wet = 1.0
[sub_resource type="AudioEffectAmplify" id=2]
resource_name = "Amplify"
@@ -18,7 +19,7 @@ room_size = 0.89
damping = 0.17
hipass = 0.08
dry = 0.0
wet = 0.2
wet = 0.36
[resource]
bus/1/name = "Reverb Small"

View File

@@ -8,6 +8,11 @@
config_version=4
_global_script_classes=[ ]
_global_script_class_icons={
}
[application]
config/name="Platformer 3D"

View File

@@ -48,7 +48,6 @@ margin_bottom = 400.0
size_flags_horizontal = 2
size_flags_vertical = 2
icon = ExtResource( 4 )
[connection signal="pressed" from="MiniVan" to="." method="_on_MiniVan_pressed"]
[connection signal="pressed" from="TrailerTruck" to="." method="_on_TrailerTruck_pressed"]
[connection signal="pressed" from="TowTruck" to="." method="_on_TowTruck_pressed"]

View File

@@ -8,6 +8,11 @@
config_version=4
_global_script_classes=[ ]
_global_script_class_icons={
}
[application]
config/name="Truck Town"

View File

@@ -46,5 +46,4 @@ text = "<- Back!"
[node name="DirectionalLight" type="DirectionalLight" parent="."]
transform = Transform( 1, 0, 0, 0, -0.629475, 0.777021, 0, -0.777021, -0.629475, 0, 24.4076, 0 )
shadow_enabled = true
[connection signal="pressed" from="InstancePos/Panel/Spedometer" to="InstancePos/Panel/Spedometer" method="_on_Spedometer_pressed"]

View File

@@ -127,7 +127,6 @@ __meta__ = {
}
[node name="Options" parent="." instance=ExtResource( 3 )]
[connection signal="pressed" from="Pause/ButtonHolder/MainButtons/Resume" to="." method="_on_Resume_pressed"]
[connection signal="pressed" from="Pause/ButtonHolder/MainButtons/Options" to="." method="_on_Options_pressed"]
[connection signal="pressed" from="Pause/ButtonHolder/MainButtons/MainMenu" to="." method="_on_MainMenu_pressed"]

View File

@@ -228,7 +228,6 @@ __meta__ = {
}
[node name="Options" parent="." instance=ExtResource( 5 )]
[connection signal="pressed" from="TitleScreen/ButtonHolder/MainButtons/Start" to="." method="_on_Start_pressed"]
[connection signal="pressed" from="TitleScreen/ButtonHolder/MainButtons/Options" to="." method="_on_Options_pressed"]
[connection signal="pressed" from="TitleScreen/ButtonHolder/MainButtons/Exit" to="." method="_on_Exit_pressed"]

View File

@@ -107,7 +107,6 @@ valign = 1
__meta__ = {
"_edit_use_anchors_": false
}
[connection signal="value_changed" from="VBoxContainer/OptionsBackground/OptionButtons/RenderDistanceSlider" to="VBoxContainer/OptionsBackground/OptionButtons" method="_on_RenderDistanceSlider_value_changed"]
[connection signal="pressed" from="VBoxContainer/OptionsBackground/OptionButtons/FogCheckBox" to="VBoxContainer/OptionsBackground/OptionButtons" method="_on_FogCheckBox_pressed"]
[connection signal="pressed" from="VBoxContainer/HBoxContainer/Back" to="." method="_on_Back_pressed"]

View File

@@ -8,6 +8,11 @@
config_version=4
_global_script_classes=[ ]
_global_script_class_icons={
}
[application]
config/name="3D Waypoints"

View File

@@ -6,23 +6,18 @@ be used with [Godot Engine](https://godotengine.org), the open source
## Godot versions
- The [`master`](https://github.com/godotengine/godot-demo-projects) branch is compatible with the latest stable Godot version (currently 3.3.x).
- If you are using an older version of Godot, use the appropriate branch for your Godot version:
- [`3.2`](https://github.com/godotengine/godot-demo-projects/tree/3.2)
branch for Godot 3.2.x.
- [`3.1`](https://github.com/godotengine/godot-demo-projects/tree/3.1)
branch for Godot 3.1.x.
- [`3.0`](https://github.com/godotengine/godot-demo-projects/tree/3.0)
branch for Godot 3.0.x.
- [`2.1`](https://github.com/godotengine/godot-demo-projects/tree/2.1)
branch for Godot 2.1.x.
- The [`master`](https://github.com/godotengine/godot-demo-projects) branch is compatible with Godot's `master` development branch (next 4.x release).
- The [`3.x`](https://github.com/godotengine/godot-demo-projects/tree/3.x) branch is compatible with Godot's `3.x` development branch (next 3.x release).
- The other branches are compatible with the matching stable versions of Godot.
- [Click here](https://github.com/godotengine/godot-demo-projects/branches) to see all branches.
- For example, the [`2.1`](https://github.com/godotengine/godot-demo-projects/tree/2.1)
branch is for demos compatible with Godot 2.1.x.
## Importing all demos
To import all demos at once in the project manager:
- Clone this repository or [download a ZIP archive](https://github.com/godotengine/godot-demo-projects/archive/master.zip).
- Clone this repository or [download a ZIP archive](https://github.com/godotengine/godot-demo-projects/archive/3.2.zip).
- If you've downloaded a ZIP archive, extract it somewhere.
- Open the Godot project manager and click the **Scan** button on the right.
- Choose the path to the folder containing all demos.

View File

@@ -55,6 +55,5 @@ margin_bottom = 311.158
texture_normal = ExtResource( 2 )
texture_pressed = ExtResource( 2 )
texture_hover = ExtResource( 4 )
[connection signal="pressed" from="PlaySystem" to="." method="_on_PlaySystem_pressed"]
[connection signal="pressed" from="PlaySound" to="." method="_on_PlaySound_pressed"]

View File

@@ -8,6 +8,11 @@
config_version=4
_global_script_classes=[ ]
_global_script_class_icons={
}
[application]
config/name="BPM Sync Demo"

View File

@@ -47,6 +47,5 @@ text = "Play Audio"
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
stream = ExtResource( 2 )
volume_db = -6.0
[connection signal="button_down" from="SetDevice" to="." method="_on_Button_button_down"]
[connection signal="button_down" from="PlayAudio" to="." method="_on_Play_Audio_button_down"]

View File

@@ -8,6 +8,11 @@
config_version=4
_global_script_classes=[ ]
_global_script_class_icons={
}
[application]
config/name="Audio Device Changer Demo"

View File

@@ -8,6 +8,11 @@
config_version=4
_global_script_classes=[ ]
_global_script_class_icons={
}
[application]
config/name="Audio Generator Demo"

View File

@@ -74,7 +74,6 @@ margin_left = 120.0
margin_top = 340.0
margin_right = 520.0
margin_bottom = 340.0
[connection signal="pressed" from="RecordButton" to="." method="_on_RecordButton_pressed"]
[connection signal="pressed" from="SaveButton" to="." method="_on_SaveButton_pressed"]
[connection signal="pressed" from="PlayButton" to="." method="_on_PlayButton_pressed"]

View File

@@ -8,6 +8,11 @@
config_version=4
_global_script_classes=[ ]
_global_script_class_icons={
}
[application]
config/name="Audio Mic Record Demo"

View File

@@ -8,6 +8,11 @@
config_version=4
_global_script_classes=[ ]
_global_script_class_icons={
}
[application]
config/name="Audio Spectrum Demo"

View File

@@ -8,6 +8,11 @@
config_version=4
_global_script_classes=[ ]
_global_script_class_icons={
}
[application]
config/name="Control Gallery"

View File

@@ -8,6 +8,11 @@
config_version=4
_global_script_classes=[ ]
_global_script_class_icons={
}
[application]
config/name="Drag & Drop (GUI)"

View File

@@ -8,6 +8,11 @@
config_version=4
_global_script_classes=[ ]
_global_script_class_icons={
}
[application]
config/name="Input Mapping GUI"

View File

@@ -8,6 +8,11 @@
config_version=4
_global_script_classes=[ ]
_global_script_class_icons={
}
[application]
config/name="RegEx (Regular Expressions)"

View File

@@ -29,6 +29,5 @@ rect_min_size = Vector2( 0, 300 )
margin_top = 332.0
margin_right = 996.0
margin_bottom = 332.0
[connection signal="text_changed" from="Expression" to="." method="update_expression"]
[connection signal="text_changed" from="Text" to="." method="update_text"]

View File

@@ -8,6 +8,11 @@
config_version=4
_global_script_classes=[ ]
_global_script_class_icons={
}
[application]
config/name="Rich Text Label with BBCode"

View File

@@ -76,5 +76,4 @@ For full reference, check the documentation.
__meta__ = {
"_edit_use_anchors_": false
}
[connection signal="meta_clicked" from="RichTextLabel" to="." method="_on_RichTextLabel_meta_clicked"]

View File

@@ -8,6 +8,11 @@
config_version=4
_global_script_classes=[ ]
_global_script_class_icons={
}
[application]
config/name="Signed Distance Field Font Demo"

View File

@@ -8,6 +8,11 @@
config_version=4
_global_script_classes=[ ]
_global_script_class_icons={
}
[application]
config/name="GUI Theming Override Demo"

Some files were not shown because too many files have changed in this diff Show More