From 69e67d51c72b18c212f523848ec9920546f46f84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Verschelde?= Date: Sat, 2 Apr 2016 12:35:23 +0200 Subject: [PATCH] Port 2D demos to TSCN/TRES formats Part of #4196. (cherry picked from commit 23cf6a85bdb904a1833c6015222d9ee69842c1ed) --- demos/2d/area_input/engine.cfg | 2 +- demos/2d/area_input/input.scn | Bin 3118 -> 0 bytes demos/2d/area_input/input.tscn | 109 +++ demos/2d/dynamic_collision_shapes/ball.scn | Bin 1857 -> 0 bytes demos/2d/dynamic_collision_shapes/ball.tscn | 47 ++ .../dynamic_colobjs.gd | 2 +- .../dynamic_colobjs.scn | Bin 4399 -> 0 bytes .../dynamic_colobjs.tscn | 178 +++++ demos/2d/dynamic_collision_shapes/engine.cfg | 2 +- demos/2d/fog_of_war/engine.cfg | 2 +- demos/2d/fog_of_war/fog.scn | Bin 4159 -> 0 bytes demos/2d/fog_of_war/fog.tscn | 51 ++ demos/2d/fog_of_war/fog.xml | 29 - demos/2d/fog_of_war/tile_edit.scn | Bin 1570 -> 0 bytes demos/2d/fog_of_war/tileset.tres | 32 + demos/2d/fog_of_war/tileset_edit.tscn | 30 + demos/2d/fog_of_war/troll.scn | Bin 1979 -> 0 bytes demos/2d/fog_of_war/troll.tscn | 52 ++ demos/2d/hdr/beach_cave.scn | Bin 4834 -> 0 bytes demos/2d/hdr/beach_cave.tscn | 88 +++ demos/2d/hdr/engine.cfg | 2 +- demos/2d/hexamap/engine.cfg | 2 +- demos/2d/hexamap/map.scn | Bin 3517 -> 0 bytes demos/2d/hexamap/map.tscn | 31 + demos/2d/hexamap/tiles.scn | Bin 2217 -> 0 bytes demos/2d/hexamap/tileset.res | Bin 6863 -> 0 bytes demos/2d/hexamap/tileset.tres | 240 +++++++ demos/2d/hexamap/tileset_edit.tscn | 214 ++++++ demos/2d/hexamap/troll.scn | Bin 1983 -> 0 bytes demos/2d/hexamap/troll.tscn | 52 ++ demos/2d/isometric/bastiles.res | Bin 2918 -> 0 bytes demos/2d/isometric/dungeon.scn | Bin 4708 -> 0 bytes demos/2d/isometric/dungeon.tscn | 49 ++ demos/2d/isometric/engine.cfg | 2 +- demos/2d/isometric/tileset.scn | Bin 4476 -> 0 bytes demos/2d/isometric/tileset.tres | 67 ++ demos/2d/isometric/tileset_edit.tscn | 130 ++++ demos/2d/isometric/troll.scn | Bin 2116 -> 0 bytes demos/2d/isometric/troll.tscn | 53 ++ .../2d/isometric_light/character_shader.tres | 12 + demos/2d/isometric_light/character_shder.res | Bin 1152 -> 0 bytes demos/2d/isometric_light/column.scn | Bin 2026 -> 0 bytes demos/2d/isometric_light/column.tscn | 52 ++ demos/2d/isometric_light/cubio.gd | 2 +- demos/2d/isometric_light/cubio.scn | Bin 6952 -> 0 bytes demos/2d/isometric_light/cubio.tscn | 327 +++++++++ demos/2d/isometric_light/engine.cfg | 2 +- demos/2d/isometric_light/floor_shader.res | Bin 1027 -> 0 bytes demos/2d/isometric_light/floor_shader.tres | 14 + demos/2d/isometric_light/map.scn | Bin 9352 -> 0 bytes demos/2d/isometric_light/map.tscn | 261 +++++++ demos/2d/isometric_light/shoot.scn | Bin 4111 -> 0 bytes demos/2d/isometric_light/shoot.tscn | 172 +++++ demos/2d/isometric_light/tileset.res | Bin 2779 -> 0 bytes demos/2d/isometric_light/tileset.tres | 216 ++++++ demos/2d/isometric_light/tileset_edit.tscn | 446 ++++++++++++ demos/2d/isometric_light/tileset_scene.scn | Bin 5339 -> 0 bytes demos/2d/isometric_light/torch.scn | Bin 3861 -> 0 bytes demos/2d/isometric_light/torch.tscn | 138 ++++ demos/2d/isometric_light/torch_shader.res | Bin 746 -> 0 bytes demos/2d/isometric_light/torch_shader.tres | 14 + demos/2d/isometric_light/wall_shader.res | Bin 1687 -> 0 bytes demos/2d/isometric_light/wall_shader.tres | 16 + demos/2d/kinematic_char/colworld.scn | Bin 7366 -> 0 bytes demos/2d/kinematic_char/colworld.tscn | 422 +++++++++++ demos/2d/kinematic_char/engine.cfg | 2 +- demos/2d/kinematic_char/player.scn | Bin 1703 -> 0 bytes demos/2d/kinematic_char/player.tscn | 33 + demos/2d/kinematic_col/colworld.scn | Bin 4073 -> 0 bytes demos/2d/kinematic_col/colworld.tscn | 47 ++ demos/2d/kinematic_col/engine.cfg | 2 +- demos/2d/kinematic_col/player.scn | Bin 1625 -> 0 bytes demos/2d/kinematic_col/player.tscn | 32 + demos/2d/light_mask/engine.cfg | 2 +- demos/2d/light_mask/lightmask.scn | Bin 3829 -> 0 bytes demos/2d/light_mask/lightmask.tscn | 134 ++++ demos/2d/lights_shadows/engine.cfg | 2 +- demos/2d/lights_shadows/light_shadows.scn | Bin 4978 -> 0 bytes demos/2d/lights_shadows/light_shadows.tscn | 326 +++++++++ demos/2d/lookat/engine.cfg | 2 +- demos/2d/lookat/lookat.scn | Bin 1640 -> 0 bytes demos/2d/lookat/lookat.tscn | 32 + demos/2d/motion/engine.cfg | 2 +- demos/2d/motion/motion.scn | Bin 2738 -> 0 bytes demos/2d/motion/motion.tscn | 135 ++++ demos/2d/navpoly/engine.cfg | 2 +- demos/2d/navpoly/navigation.scn | Bin 5128 -> 0 bytes demos/2d/navpoly/navigation.tscn | 34 + demos/2d/normalmaps/engine.cfg | 2 +- demos/2d/normalmaps/normal_material.res | Bin 508 -> 0 bytes demos/2d/normalmaps/normal_material.tres | 14 + demos/2d/normalmaps/normalmap.scn | Bin 2829 -> 0 bytes demos/2d/normalmaps/normalmap.tscn | 63 ++ demos/2d/particles/engine.cfg | 2 +- demos/2d/particles/particles.tscn | 174 +++++ demos/2d/particles/particles.xml | 275 ------- demos/2d/platformer/bullet.tscn | 115 +++ demos/2d/platformer/bullet.xml | 333 --------- demos/2d/platformer/coin.tscn | 146 ++++ demos/2d/platformer/coin.xml | 430 ----------- demos/2d/platformer/enemy.tscn | 206 ++++++ demos/2d/platformer/enemy.xml | 494 ------------- demos/2d/platformer/engine.cfg | 2 +- demos/2d/platformer/moving_platform.tscn | 52 ++ demos/2d/platformer/moving_platform.xml | 224 ------ demos/2d/platformer/one_way_platform.tscn | 36 + demos/2d/platformer/one_way_platform.xml | 207 ------ demos/2d/platformer/parallax_bg.tscn | 101 +++ demos/2d/platformer/parallax_bg.xml | 230 ------ demos/2d/platformer/player.gd | 4 +- demos/2d/platformer/player.tscn | 330 +++++++++ demos/2d/platformer/player.xml | 669 ------------------ demos/2d/platformer/seesaw.tscn | 60 ++ demos/2d/platformer/seesaw.xml | 230 ------ demos/2d/platformer/stage.tscn | 352 +++++++++ demos/2d/platformer/stage.xml | 250 ------- demos/2d/platformer/tileset.tres | 195 +++++ demos/2d/platformer/tileset.xml | 191 ----- demos/2d/platformer/tileset_edit.tscn | 432 +++++++++++ demos/2d/platformer/tileset_edit.xml | 342 --------- demos/2d/platformer/types.cache | 64 -- demos/2d/pong/engine.cfg | 2 +- demos/2d/pong/pong.tscn | 33 + demos/2d/pong/pong.xml | 191 ----- demos/2d/rubegoldberg/ball.tscn | 44 ++ demos/2d/rubegoldberg/ball.xml | 215 ------ demos/2d/rubegoldberg/box.tscn | 44 ++ demos/2d/rubegoldberg/box.xml | 214 ------ demos/2d/rubegoldberg/domino.tscn | 44 ++ demos/2d/rubegoldberg/domino.xml | 215 ------ demos/2d/rubegoldberg/engine.cfg | 2 +- demos/2d/rubegoldberg/pendulum.tscn | 248 +++++++ demos/2d/rubegoldberg/pendulum.xml | 269 ------- demos/2d/rubegoldberg/platform.tscn | 33 + demos/2d/rubegoldberg/platform.xml | 200 ------ demos/2d/rubegoldberg/rubegoldberg.tscn | 98 +++ demos/2d/rubegoldberg/rubegoldberg.xml | 241 ------- demos/2d/rubegoldberg/seesaw.tscn | 89 +++ demos/2d/rubegoldberg/seesaw.xml | 243 ------- demos/2d/screen_space_shaders/engine.cfg | 2 +- .../screen_space_shaders/screen_shaders.scn | Bin 7897 -> 0 bytes .../screen_space_shaders/screen_shaders.tscn | 512 ++++++++++++++ demos/2d/sdf_font/engine.cfg | 2 +- demos/2d/sdf_font/sdf.scn | Bin 2820 -> 0 bytes demos/2d/sdf_font/sdf.tscn | 74 ++ demos/2d/shower_of_bullets/engine.cfg | 2 +- demos/2d/shower_of_bullets/shower.scn | Bin 1909 -> 0 bytes demos/2d/shower_of_bullets/shower.tscn | 51 ++ demos/2d/space_shooter/asteroid.scn | Bin 3548 -> 0 bytes demos/2d/space_shooter/asteroid.tscn | 129 ++++ demos/2d/space_shooter/enemy1.scn | Bin 3369 -> 0 bytes demos/2d/space_shooter/enemy1.tscn | 108 +++ demos/2d/space_shooter/enemy2.gd | 2 +- demos/2d/space_shooter/enemy2.scn | Bin 3253 -> 0 bytes demos/2d/space_shooter/enemy2.tscn | 98 +++ demos/2d/space_shooter/enemy_shot.scn | Bin 3218 -> 0 bytes demos/2d/space_shooter/enemy_shot.tscn | 99 +++ demos/2d/space_shooter/engine.cfg | 2 +- demos/2d/space_shooter/explosion.scn | Bin 1756 -> 0 bytes demos/2d/space_shooter/explosion.tscn | 37 + demos/2d/space_shooter/level.scn | Bin 6496 -> 0 bytes demos/2d/space_shooter/level.tscn | 354 +++++++++ demos/2d/space_shooter/level_tiles.res | Bin 720 -> 0 bytes demos/2d/space_shooter/level_tiles.scn | Bin 1825 -> 0 bytes demos/2d/space_shooter/main_menu.gd | 2 +- demos/2d/space_shooter/main_menu.scn | Bin 1903 -> 0 bytes demos/2d/space_shooter/main_menu.tscn | 64 ++ demos/2d/space_shooter/parallax.scn | Bin 2814 -> 0 bytes demos/2d/space_shooter/parallax.tscn | 201 ++++++ demos/2d/space_shooter/ship.gd | 4 +- demos/2d/space_shooter/ship.scn | Bin 4965 -> 0 bytes demos/2d/space_shooter/ship.tscn | 229 ++++++ demos/2d/space_shooter/shot.scn | Bin 3315 -> 0 bytes demos/2d/space_shooter/shot.tscn | 103 +++ demos/2d/space_shooter/tileset.tres | 20 + demos/2d/space_shooter/tileset_edit.tscn | 35 + demos/2d/splash/engine.cfg | 2 +- demos/2d/splash/splash.tscn | 274 +++++++ demos/2d/splash/splash.xml | 448 ------------ demos/2d/sprite_shaders/engine.cfg | 2 +- demos/2d/sprite_shaders/sprite_shaders.scn | Bin 5477 -> 0 bytes demos/2d/sprite_shaders/sprite_shaders.tscn | 163 +++++ demos/2d/tetris/engine.cfg | 2 +- demos/2d/tetris/grid.tscn | 47 ++ demos/2d/tetris/grid.xml | 209 ------ demos/2d/tetris/tetris.tscn | 67 ++ demos/2d/tetris/tetris.xml | 217 ------ demos/2d/texscreen/bubbles.gd | 2 +- demos/2d/texscreen/bubbles.scn | Bin 2626 -> 0 bytes demos/2d/texscreen/bubbles.tscn | 32 + demos/2d/texscreen/engine.cfg | 2 +- demos/2d/texscreen/lens.scn | Bin 1850 -> 0 bytes demos/2d/texscreen/lens.tscn | 29 + 193 files changed, 9957 insertions(+), 6666 deletions(-) delete mode 100644 demos/2d/area_input/input.scn create mode 100644 demos/2d/area_input/input.tscn delete mode 100644 demos/2d/dynamic_collision_shapes/ball.scn create mode 100644 demos/2d/dynamic_collision_shapes/ball.tscn delete mode 100644 demos/2d/dynamic_collision_shapes/dynamic_colobjs.scn create mode 100644 demos/2d/dynamic_collision_shapes/dynamic_colobjs.tscn delete mode 100644 demos/2d/fog_of_war/fog.scn create mode 100644 demos/2d/fog_of_war/fog.tscn delete mode 100644 demos/2d/fog_of_war/fog.xml delete mode 100644 demos/2d/fog_of_war/tile_edit.scn create mode 100644 demos/2d/fog_of_war/tileset.tres create mode 100644 demos/2d/fog_of_war/tileset_edit.tscn delete mode 100644 demos/2d/fog_of_war/troll.scn create mode 100644 demos/2d/fog_of_war/troll.tscn delete mode 100644 demos/2d/hdr/beach_cave.scn create mode 100644 demos/2d/hdr/beach_cave.tscn delete mode 100644 demos/2d/hexamap/map.scn create mode 100644 demos/2d/hexamap/map.tscn delete mode 100644 demos/2d/hexamap/tiles.scn delete mode 100644 demos/2d/hexamap/tileset.res create mode 100644 demos/2d/hexamap/tileset.tres create mode 100644 demos/2d/hexamap/tileset_edit.tscn delete mode 100644 demos/2d/hexamap/troll.scn create mode 100644 demos/2d/hexamap/troll.tscn delete mode 100644 demos/2d/isometric/bastiles.res delete mode 100644 demos/2d/isometric/dungeon.scn create mode 100644 demos/2d/isometric/dungeon.tscn delete mode 100644 demos/2d/isometric/tileset.scn create mode 100644 demos/2d/isometric/tileset.tres create mode 100644 demos/2d/isometric/tileset_edit.tscn delete mode 100644 demos/2d/isometric/troll.scn create mode 100644 demos/2d/isometric/troll.tscn create mode 100644 demos/2d/isometric_light/character_shader.tres delete mode 100644 demos/2d/isometric_light/character_shder.res delete mode 100644 demos/2d/isometric_light/column.scn create mode 100644 demos/2d/isometric_light/column.tscn delete mode 100644 demos/2d/isometric_light/cubio.scn create mode 100644 demos/2d/isometric_light/cubio.tscn delete mode 100644 demos/2d/isometric_light/floor_shader.res create mode 100644 demos/2d/isometric_light/floor_shader.tres delete mode 100644 demos/2d/isometric_light/map.scn create mode 100644 demos/2d/isometric_light/map.tscn delete mode 100644 demos/2d/isometric_light/shoot.scn create mode 100644 demos/2d/isometric_light/shoot.tscn delete mode 100644 demos/2d/isometric_light/tileset.res create mode 100644 demos/2d/isometric_light/tileset.tres create mode 100644 demos/2d/isometric_light/tileset_edit.tscn delete mode 100644 demos/2d/isometric_light/tileset_scene.scn delete mode 100644 demos/2d/isometric_light/torch.scn create mode 100644 demos/2d/isometric_light/torch.tscn delete mode 100644 demos/2d/isometric_light/torch_shader.res create mode 100644 demos/2d/isometric_light/torch_shader.tres delete mode 100644 demos/2d/isometric_light/wall_shader.res create mode 100644 demos/2d/isometric_light/wall_shader.tres delete mode 100644 demos/2d/kinematic_char/colworld.scn create mode 100644 demos/2d/kinematic_char/colworld.tscn delete mode 100644 demos/2d/kinematic_char/player.scn create mode 100644 demos/2d/kinematic_char/player.tscn delete mode 100644 demos/2d/kinematic_col/colworld.scn create mode 100644 demos/2d/kinematic_col/colworld.tscn delete mode 100644 demos/2d/kinematic_col/player.scn create mode 100644 demos/2d/kinematic_col/player.tscn delete mode 100644 demos/2d/light_mask/lightmask.scn create mode 100644 demos/2d/light_mask/lightmask.tscn delete mode 100644 demos/2d/lights_shadows/light_shadows.scn create mode 100644 demos/2d/lights_shadows/light_shadows.tscn delete mode 100644 demos/2d/lookat/lookat.scn create mode 100644 demos/2d/lookat/lookat.tscn delete mode 100644 demos/2d/motion/motion.scn create mode 100644 demos/2d/motion/motion.tscn delete mode 100644 demos/2d/navpoly/navigation.scn create mode 100644 demos/2d/navpoly/navigation.tscn delete mode 100644 demos/2d/normalmaps/normal_material.res create mode 100644 demos/2d/normalmaps/normal_material.tres delete mode 100644 demos/2d/normalmaps/normalmap.scn create mode 100644 demos/2d/normalmaps/normalmap.tscn create mode 100644 demos/2d/particles/particles.tscn delete mode 100644 demos/2d/particles/particles.xml create mode 100644 demos/2d/platformer/bullet.tscn delete mode 100644 demos/2d/platformer/bullet.xml create mode 100644 demos/2d/platformer/coin.tscn delete mode 100644 demos/2d/platformer/coin.xml create mode 100644 demos/2d/platformer/enemy.tscn delete mode 100644 demos/2d/platformer/enemy.xml create mode 100644 demos/2d/platformer/moving_platform.tscn delete mode 100644 demos/2d/platformer/moving_platform.xml create mode 100644 demos/2d/platformer/one_way_platform.tscn delete mode 100644 demos/2d/platformer/one_way_platform.xml create mode 100644 demos/2d/platformer/parallax_bg.tscn delete mode 100644 demos/2d/platformer/parallax_bg.xml create mode 100644 demos/2d/platformer/player.tscn delete mode 100644 demos/2d/platformer/player.xml create mode 100644 demos/2d/platformer/seesaw.tscn delete mode 100644 demos/2d/platformer/seesaw.xml create mode 100644 demos/2d/platformer/stage.tscn delete mode 100644 demos/2d/platformer/stage.xml create mode 100644 demos/2d/platformer/tileset.tres delete mode 100644 demos/2d/platformer/tileset.xml create mode 100644 demos/2d/platformer/tileset_edit.tscn delete mode 100644 demos/2d/platformer/tileset_edit.xml delete mode 100644 demos/2d/platformer/types.cache create mode 100644 demos/2d/pong/pong.tscn delete mode 100644 demos/2d/pong/pong.xml create mode 100644 demos/2d/rubegoldberg/ball.tscn delete mode 100644 demos/2d/rubegoldberg/ball.xml create mode 100644 demos/2d/rubegoldberg/box.tscn delete mode 100644 demos/2d/rubegoldberg/box.xml create mode 100644 demos/2d/rubegoldberg/domino.tscn delete mode 100644 demos/2d/rubegoldberg/domino.xml create mode 100644 demos/2d/rubegoldberg/pendulum.tscn delete mode 100644 demos/2d/rubegoldberg/pendulum.xml create mode 100644 demos/2d/rubegoldberg/platform.tscn delete mode 100644 demos/2d/rubegoldberg/platform.xml create mode 100644 demos/2d/rubegoldberg/rubegoldberg.tscn delete mode 100644 demos/2d/rubegoldberg/rubegoldberg.xml create mode 100644 demos/2d/rubegoldberg/seesaw.tscn delete mode 100644 demos/2d/rubegoldberg/seesaw.xml delete mode 100644 demos/2d/screen_space_shaders/screen_shaders.scn create mode 100644 demos/2d/screen_space_shaders/screen_shaders.tscn delete mode 100644 demos/2d/sdf_font/sdf.scn create mode 100644 demos/2d/sdf_font/sdf.tscn delete mode 100644 demos/2d/shower_of_bullets/shower.scn create mode 100644 demos/2d/shower_of_bullets/shower.tscn delete mode 100644 demos/2d/space_shooter/asteroid.scn create mode 100644 demos/2d/space_shooter/asteroid.tscn delete mode 100644 demos/2d/space_shooter/enemy1.scn create mode 100644 demos/2d/space_shooter/enemy1.tscn delete mode 100644 demos/2d/space_shooter/enemy2.scn create mode 100644 demos/2d/space_shooter/enemy2.tscn delete mode 100644 demos/2d/space_shooter/enemy_shot.scn create mode 100644 demos/2d/space_shooter/enemy_shot.tscn delete mode 100644 demos/2d/space_shooter/explosion.scn create mode 100644 demos/2d/space_shooter/explosion.tscn delete mode 100644 demos/2d/space_shooter/level.scn create mode 100644 demos/2d/space_shooter/level.tscn delete mode 100644 demos/2d/space_shooter/level_tiles.res delete mode 100644 demos/2d/space_shooter/level_tiles.scn delete mode 100644 demos/2d/space_shooter/main_menu.scn create mode 100644 demos/2d/space_shooter/main_menu.tscn delete mode 100644 demos/2d/space_shooter/parallax.scn create mode 100644 demos/2d/space_shooter/parallax.tscn delete mode 100644 demos/2d/space_shooter/ship.scn create mode 100644 demos/2d/space_shooter/ship.tscn delete mode 100644 demos/2d/space_shooter/shot.scn create mode 100644 demos/2d/space_shooter/shot.tscn create mode 100644 demos/2d/space_shooter/tileset.tres create mode 100644 demos/2d/space_shooter/tileset_edit.tscn create mode 100644 demos/2d/splash/splash.tscn delete mode 100644 demos/2d/splash/splash.xml delete mode 100644 demos/2d/sprite_shaders/sprite_shaders.scn create mode 100644 demos/2d/sprite_shaders/sprite_shaders.tscn create mode 100644 demos/2d/tetris/grid.tscn delete mode 100644 demos/2d/tetris/grid.xml create mode 100644 demos/2d/tetris/tetris.tscn delete mode 100644 demos/2d/tetris/tetris.xml delete mode 100644 demos/2d/texscreen/bubbles.scn create mode 100644 demos/2d/texscreen/bubbles.tscn delete mode 100644 demos/2d/texscreen/lens.scn create mode 100644 demos/2d/texscreen/lens.tscn diff --git a/demos/2d/area_input/engine.cfg b/demos/2d/area_input/engine.cfg index 8fa2e15bebc..ce87f395479 100644 --- a/demos/2d/area_input/engine.cfg +++ b/demos/2d/area_input/engine.cfg @@ -1,5 +1,5 @@ [application] name="Area 2D Input Events" -main_scene="res://input.scn" +main_scene="res://input.tscn" icon="res://icon.png" diff --git a/demos/2d/area_input/input.scn b/demos/2d/area_input/input.scn deleted file mode 100644 index f3a19f64daef3e45fa3d99dd9a8e95c129ad4cb9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3118 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 diff --git a/demos/2d/fog_of_war/fog.tscn b/demos/2d/fog_of_war/fog.tscn new file mode 100644 index 00000000000..e86a23125cf --- /dev/null +++ b/demos/2d/fog_of_war/fog.tscn @@ -0,0 +1,51 @@ +[gd_scene load_steps=4 format=1] + +[ext_resource path="res://tileset.tres" type="TileSet" id=1] +[ext_resource path="res://troll.tscn" type="PackedScene" id=2] +[ext_resource path="res://fog.gd" type="Script" id=3] + +[node name="Node2D" type="Node2D"] + +[node name="TileMap" type="TileMap" parent="."] + +transform/pos = Vector2( 206, 112 ) +mode = 0 +tile_set = ExtResource( 1 ) +cell/size = Vector2( 48, 48 ) +cell/quadrant_size = 16 +cell/custom_transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +cell/half_offset = 2 +cell/tile_origin = 0 +cell/y_sort = false +collision/use_kinematic = false +collision/friction = 1.0 +collision/bounce = 0.0 +collision/layers = 1 +collision/mask = 1 +occluder/light_mask = 1 +tile_data = IntArray( -589834, 2, -589833, 2, -589832, 2, -589831, 2, -589830, 2, -589829, 2, -589828, 2, -589827, 2, -589826, 2, -589825, 2, -655360, 2, -655359, 2, -655358, 2, -655357, 2, -655356, 2, -655355, 2, -655354, 2, -655353, 2, -655352, 2, -655351, 2, -524298, 2, -524297, 2, -524296, 2, -524295, 2, -524294, 2, -524293, 2, -524292, 2, -524291, 2, -524290, 2, -524289, 2, -589824, 2, -589823, 2, -589822, 2, -589821, 2, -589820, 2, -589819, 2, -589818, 2, -589817, 2, -589816, 2, -589815, 2, -458762, 2, -458761, 2, -458760, 2, -458759, 2, -458758, 2, -458757, 2, -458756, 2, -458755, 2, -458754, 2, -458753, 2, -524288, 2, -524287, 2, -524286, 2, -524285, 2, -524284, 2, -524283, 2, -524282, 2, -524281, 2, -524280, 2, -524279, 2, -393226, 2, -393225, 2, -393224, 2, -393223, 2, -393222, 2, -393221, 2, -393220, 2, -393219, 2, -393218, 2, -393217, 2, -458752, 2, -458751, 2, -458750, 2, -458749, 2, -458748, 2, -458747, 2, -458746, 2, -458745, 2, -458744, 2, -458743, 2, -327690, 2, -327689, 2, -327688, 2, -327687, 2, -327686, 2, -327685, 2, -327684, 2, -327683, 2, -327682, 2, -327681, 2, -393216, 2, -393215, 2, -393214, 2, -393213, 2, -393212, 2, -393211, 2, -393210, 2, -393209, 2, -393208, 2, -393207, 2, -262154, 2, -262153, 2, -262152, 2, -262151, 2, -262150, 2, -262149, 2, -262148, 2, -262147, 2, -262146, 2, -262145, 2, -327680, 2, -327679, 2, -327678, 2, -327677, 2, -327676, 2, -327675, 2, -327674, 2, -327673, 2, -327672, 2, -327671, 2, -196618, 2, -196617, 2, -196616, 2, -196615, 2, -196614, 2, -196613, 2, -196612, 2, -196611, 2, -196610, 2, -196609, 2, -262144, 2, -262143, 2, -262142, 2, -262141, 2, -262140, 2, -262139, 2, -262138, 2, -262137, 2, -262136, 2, -262135, 2, -131082, 2, -131081, 2, -131080, 2, -131079, 2, -131078, 2, -131077, 2, -131076, 2, -131075, 2, -131074, 2, -131073, 2, -196608, 2, -196607, 2, -196606, 2, -196605, 2, -196604, 2, -196603, 2, -196602, 2, -196601, 2, -196600, 2, -196599, 2, -65546, 2, -65545, 2, -65544, 2, -65543, 2, -65542, 2, -65541, 2, -65540, 2, -65539, 2, -65538, 2, -65537, 2, -131072, 2, -131071, 2, -131070, 2, -131069, 2, -131068, 2, -131067, 2, -131066, 2, -131065, 2, -131064, 2, -131063, 2, -10, 2, -9, 2, -8, 2, -7, 2, -6, 2, -5, 2, -4, 2, -3, 2, -2, 2, -1, 2, -65536, 2, -65535, 2, -65534, 2, -65533, 2, -65532, 2, -65531, 2, -65530, 2, -65529, 2, -65528, 2, -65527, 2, 65526, 2, 65527, 2, 65528, 2, 65529, 2, 65530, 2, 65531, 2, 65532, 2, 65533, 2, 65534, 2, 65535, 2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 2, 5, 2, 6, 2, 7, 2, 8, 2, 9, 2, 131062, 2, 131063, 2, 131064, 2, 131065, 2, 131066, 2, 131067, 2, 131068, 2, 131069, 2, 131070, 2, 131071, 2, 65536, 2, 65537, 2, 65538, 2, 65539, 2, 65540, 2, 65541, 2, 65542, 2, 65543, 2, 65544, 2, 65545, 2, 196598, 2, 196599, 2, 196600, 2, 196601, 2, 196602, 2, 196603, 2, 196604, 2, 196605, 2, 196606, 2, 196607, 2, 131072, 2, 131073, 2, 131074, 2, 131075, 2, 131076, 2, 131077, 2, 131078, 2, 131079, 2, 131080, 2, 131081, 2, 262134, 2, 262135, 2, 262136, 2, 262137, 2, 262138, 2, 262139, 2, 262140, 2, 262141, 2, 262142, 2, 262143, 2, 196608, 2, 196609, 2, 196610, 2, 196611, 2, 196612, 2, 196613, 2, 196614, 2, 196615, 2, 196616, 2, 196617, 2, 327670, 2, 327671, 2, 327672, 2, 327673, 2, 327674, 2, 327675, 2, 327676, 2, 327677, 2, 327678, 2, 327679, 2, 262144, 2, 262145, 2, 262146, 2, 262147, 2, 262148, 2, 262149, 2, 262150, 2, 262151, 2, 262152, 2, 262153, 2, 393206, 2, 393207, 2, 393208, 2, 393209, 2, 393210, 2, 393211, 2, 393212, 2, 393213, 2, 393214, 2, 393215, 2, 327680, 2, 327681, 2, 327682, 2, 327683, 2, 327684, 2, 327685, 2, 327686, 2, 327687, 2, 327688, 2, 327689, 2, 458742, 2, 458743, 2, 458744, 2, 458745, 2, 458746, 2, 458747, 2, 458748, 2, 458749, 2, 458750, 2, 458751, 2, 393216, 2, 393217, 2, 393218, 2, 393219, 2, 393220, 2, 393221, 2, 393222, 2, 393223, 2, 393224, 2, 393225, 2, 524278, 2, 524279, 2, 524280, 2, 524281, 2, 524282, 2, 524283, 2, 524284, 2, 524285, 2, 524286, 2, 524287, 2, 458752, 2, 458753, 2, 458754, 2, 458755, 2, 458756, 2, 458757, 2, 458758, 2, 458759, 2, 458760, 2, 458761, 2, 589814, 2, 589815, 2, 589816, 2, 589817, 2, 589818, 2, 589819, 2, 589820, 2, 589821, 2, 589822, 2, 589823, 2, 524288, 2, 524289, 2, 524290, 2, 524291, 2, 524292, 2, 524293, 2, 524294, 2, 524295, 2, 524296, 2, 524297, 2, 655350, 2, 655351, 2, 655352, 2, 655353, 2, 655354, 2, 655355, 2, 655356, 2, 655357, 2, 655358, 2, 655359, 2, 589824, 2, 589825, 2, 589826, 2, 589827, 2, 589828, 2, 589829, 2, 589830, 2, 589831, 2, 589832, 2, 589833, 2 ) + +[node name="troll" parent="." instance=ExtResource( 2 )] + +collision/margin = 0.001 + +[node name="Fog" type="TileMap" parent="."] + +mode = 0 +tile_set = ExtResource( 1 ) +cell/size = Vector2( 48, 48 ) +cell/quadrant_size = 16 +cell/custom_transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +cell/half_offset = 2 +cell/tile_origin = 0 +cell/y_sort = false +collision/use_kinematic = false +collision/friction = 1.0 +collision/bounce = 0.0 +collision/layers = 1 +collision/mask = 1 +occluder/light_mask = 1 +tile_data = IntArray( ) +script/script = ExtResource( 3 ) + + diff --git a/demos/2d/fog_of_war/fog.xml b/demos/2d/fog_of_war/fog.xml deleted file mode 100644 index ed08d84a1fb..00000000000 --- a/demos/2d/fog_of_war/fog.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - "fog opaque" - - -48, -48 - 0, 0 - 0, 0, 144, 144 - - - "fog transparent" - - -48, -48 - 0, 0 - 144, 0, 144, 144 - - - "floor" - - 0, 0 - 0, 0 - 0, 0, 0, 0 - - - - - \ No newline at end of file diff --git a/demos/2d/fog_of_war/tile_edit.scn b/demos/2d/fog_of_war/tile_edit.scn deleted file mode 100644 index 3eddf38e48d9d7aeeae3019c4629169e0374e1af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1570 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 diff --git a/demos/2d/fog_of_war/troll.tscn b/demos/2d/fog_of_war/troll.tscn new file mode 100644 index 00000000000..2dc8bdbf675 --- /dev/null +++ b/demos/2d/fog_of_war/troll.tscn @@ -0,0 +1,52 @@ +[gd_scene load_steps=4 format=1] + +[ext_resource path="res://troll.gd" type="Script" id=1] +[ext_resource path="res://troll.png" type="Texture" id=2] + +[sub_resource type="CircleShape2D" id=1] + +custom_solver_bias = 0.0 +radius = 16.0 + +[node name="troll" type="KinematicBody2D"] + +input/pickable = false +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 3.24216, 19.453 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +collision/margin = 0.001 +script/script = ExtResource( 1 ) + +[node name="Sprite" type="Sprite" parent="."] + +texture = ExtResource( 2 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] + +transform/pos = Vector2( 3.24216, 19.453 ) +shape = SubResource( 1 ) +trigger = false +_update_shape_index = -1 + +[node name="Camera2D" type="Camera2D" parent="."] + +anchor_mode = 1 +rotating = false +current = true +zoom = Vector2( 1, 1 ) +limit/left = -10000000 +limit/top = -10000000 +limit/right = 10000000 +limit/bottom = 10000000 +drag_margin/h_enabled = true +drag_margin/v_enabled = true +smoothing/enable = false +smoothing/speed = 5.0 +drag_margin/left = 0.2 +drag_margin/top = 0.2 +drag_margin/right = 0.2 +drag_margin/bottom = 0.2 + + diff --git a/demos/2d/hdr/beach_cave.scn b/demos/2d/hdr/beach_cave.scn deleted file mode 100644 index 6a4108e7a52a906011a6a9c78a9c7e29aeeecdda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4834 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 diff --git a/demos/2d/hexamap/map.tscn b/demos/2d/hexamap/map.tscn new file mode 100644 index 00000000000..3abda31bb00 --- /dev/null +++ b/demos/2d/hexamap/map.tscn @@ -0,0 +1,31 @@ +[gd_scene load_steps=3 format=1] + +[ext_resource path="res://tileset.tres" type="TileSet" id=1] +[ext_resource path="res://troll.tscn" type="PackedScene" id=2] + +[node name="Node2D" type="Node2D"] + +[node name="TileMap" type="TileMap" parent="."] + +mode = 0 +tile_set = ExtResource( 1 ) +cell/size = Vector2( 82, 94 ) +cell/quadrant_size = 16 +cell/custom_transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +cell/half_offset = 1 +cell/tile_origin = 0 +cell/y_sort = false +collision/use_kinematic = false +collision/friction = 1.0 +collision/bounce = 0.0 +collision/layers = 1 +collision/mask = 1 +occluder/light_mask = 1 +tile_data = IntArray( -458747, 1073741831, -393213, 1073741831, -393212, 1073741831, -393211, 6, -393210, 1073741831, -393209, 1073741830, -393208, 1073741830, -393207, 6, -393206, 8, -327679, 1073741831, -327678, 1073741831, -327677, 1073741831, -327676, 1073741830, -327675, 1073741831, -327674, 6, -327673, 6, -327672, 6, -327671, 6, -327670, 6, -327669, 0, -327668, 0, -262143, 1073741831, -262142, 1073741831, -262141, 6, -262140, 6, -262139, 0, -262138, 6, -262137, 1, -262136, 0, -262135, 1, -262134, 1, -262133, 0, -262132, 0, -262131, 0, -196608, 9, -196607, 1073741832, -196606, 1073741830, -196605, 2, -196604, 2, -196603, 1073741845, -196602, 21, -196601, 19, -196600, 1073741826, -196599, 0, -196598, 16, -196597, 0, -196596, 0, -196595, 0, -196594, 0, -196593, 0, -131071, 0, -131070, 1, -131069, 1073741827, -131068, 1073741846, -131067, 20, -131066, 19, -131065, 2, -131064, 0, -131063, 14, -131062, 0, -131061, 0, -131060, 0, -131059, 0, -131058, 0, -131057, 0, -131056, 0, -65534, 1, -65533, 2, -65532, 1073741827, -65531, 1, -65530, 1, -65529, 0, -65528, 10, -65527, 12, -65526, 0, -65525, 0, -65524, 0, -65523, 0, -65522, 0, -65521, 0, -65520, 0, 1, 0, 2, 0, 3, 2, 4, 1073741826, 5, 1, 6, 15, 7, 0, 8, 0, 9, 0, 10, 0, 11, 0, 12, 0, 13, 0, 14, 0, 15, 0, 16, 0, 65537, 0, 65538, 1, 65539, 1610612749, 65540, 1, 65541, 0, 65542, 0, 65543, 0, 65544, 0, 65545, 1610612753, 65546, 0, 65547, 0, 65548, 0, 65549, 0, 65550, 1073741848, 65551, 1073741849, 65552, 0, 131073, 0, 131074, 0, 131075, 0, 131076, 0, 131077, 1610612751, 131078, 1610612752, 131079, 1610612752, 131080, 1610612751, 131081, 1610612751, 131082, 0, 131083, 0, 131084, 0, 131085, 0, 131086, 0, 196612, 0, 196613, 1610612751, 196614, 1610612752, 196615, 1610612751, 196616, 1610612751, 196617, 1073741839, 196618, 1073741839, 196619, 0, 196620, 0, 196621, 0, 262150, 0, 262152, 0, 262154, 0, 262156, 0 ) + +[node name="troll" parent="." instance=ExtResource( 2 )] + +transform/pos = Vector2( 602.819, -39.2876 ) +collision/margin = 0.001 + + diff --git a/demos/2d/hexamap/tiles.scn b/demos/2d/hexamap/tiles.scn deleted file mode 100644 index a019bbb92d87ac1e8f00d0b5ca59499d2fc4227c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2217 zcma);e^3!3p?ULO) z{FNEbT2X3Kn>yBFrWw#wovFh#I;lxJ(FLZNPHWSUnv7}Fb~TBZs5RF9NYiHQ+nU~g znd!~E&wjplZ{CmZ+xMO8=?wtLyLYt65fGJ1j>GH-ZMkgP_rb-^6kgO(vR6tT3_C$VW{5 zGOE`-olyUOqQUI<#n{&wya|r-P1dLq7NX_7Y(3;yQ8t42?El6~F&jJ*JP$Th4rz!D z&RH}lLm5y?^J7P>ZKET;O@)vGqw&5!HupWX4rN)`k={RyV9@;a4Gk z>W_G9Mbr`()ru_KWmATRG%-#bw%%b?ii^ZSHqb0E4w?lDzlr50noKmCSYcu%86*8> z8Z1tzH_>3C(S+Z`auZD^noX>rFf2RGUSABRp-K1wI7<(MTzc5f4-4__8kC@H4BX3Y z-S!bt)g(oRwqtF7!yep_5mscG4=V{dPP`a&FX=KEFDyojv6s7$HX^8!AjgwK_-lbG zU?&k2B6}Xsi-S^JQTgF$A|lDW78l~8R^~O>YTU(gvJ@k^ff#m?b2dqn2BIQ4i-FFz ztt^7q;){3@wr6OvFw752yTqtrtpPV`B3?#S&~Eez+Gi1mA#j)du48NsUX59HkD|~K z*-L18Ep`QqNi(U%Su6nJFpG=ZUnj*DRg9v|Fk;xIa1AMDBdRoLSf63?V6xDFXHG8Q zBXk8{fyYofS;K1Em7PXLFgQg@CR=b!2fPNaw~?p zo1t;vW=!xhe9%594n?KN_Bi%4{BH83<>_~jP>RdgJwt*@mk97_5WDcxmLX+?*lFkw zU^kvj8?_^%G7U#ikBRvm? zAc{iO=RqaEo9zG>YH}ttkr(9=Nmb-n#Srn)T@B&|>_gAnwkr`u7H-%$d@eN2E$he|_c3YJ8E& z0)v@gH8nCo8tBAD!5;Jz@?!8T!|w{WTUy$mA_t)WRo#RFMom;6wTbb#Bu8HJymlNP zbA%IGT#5058qvsBJZG(mq6)3L7DSR0`~-)t!zw!Dft#75*03sy@{&=ELVsPd9{1SM zs+qvYuB8Ed0_W2{W3>6~0QwBTp&8xBtUxtfgfIp`~!7vMgAIDC59|Zbth}ca}3b%5b z3}-8D#;oCP<@TAr!|=3nFPe7LwCkq*idrD&k!7^flL1=l2?KUygDk|tLj+(&c3`Q~ z%8#AkpplK5n^ryh=X24b??Np`dMh}QhmJ_EMfsyR^HJ>jJpS)|kYi*&ni&?Q%$>5_ zl;x!?KV_bj6{M^%W!{u6PFYdPic?mSGT;BqLU;OJ=4HAc8d*&bKQAzz zV-_fZRvuoGX?3EvOe5DYgs#xzNDs}Y$G0b91F|4R$z|wA`Dx?b8`otyytv4k)!7m1 zLA7ZZ0IJh1$mW|lx8oAcb4h22>wDtB-M3b6oWriM>k}`zA75)Eq0&b-y>P=-l$`aP zc|Q$>CL!b5=pC|mt;74%ZML6>H$2F_T6?K~>pk`Pg{zVFJ^HAW^k;o1zjVT;dn(F*?^YnAOM_Sh_ z)5mun`0Uy_{`bBu`M+>4>$o(2`@-QLoqFfPRZsre(R*!V?7&~FPdJ$&0!sb2H!m iSJKyXx4W$OtYZNXWOlY~3{3~f*P*AkC)h*(r2Gd3D#XYD diff --git a/demos/2d/hexamap/tileset.res b/demos/2d/hexamap/tileset.res deleted file mode 100644 index 05d89316a28c92a6745cc1afd0781822fb1a875d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6863 zcmbW62Xh=n5QT@FbIu}1`)=p52?mohNCuOQ5hqz-OX5xflQWo{vy0z?{~2$(XJ)%^ zr_A6MRH zC%F%NI|@5Xav79Q=Z><3^CqUeCw%3-<~E7Sn~lV4w~@HA8;Q^OjpU-?d?m%b2QdE?Ur6 zQrw%6#A_FlxUwOM&-jq!q7i*1#l00ty!IlAD>IV#j2lTV+R;~1+#8a_Ye$l}vLuPm zc#`CzDSaiyy)8++_9clcW0LrcGf6I5(^pd5o0G(AcapfWCyCGaljNd7eI>-La47O{ z%W~peN{6CDFAY5>hn{d~m|*)`;ZWpCyx~v`G{u!e!-N+X4z=2$Tn0*aSUD~E;& zFD@KvwL`g7;t7XhN?w+De{>s{6%IwNE=$9q7-*6!hlUAHE*xsLL%CGs35Q}zlE-_c z`$$X|CoAh4E&gFHM2Ehu`L9oBpvE_?ZLQX>T|2k5tF7y+%l|dd$qZDvfp#~e&>m(6 zs&;0eJ;)8%+(0ik(9aB1xl>fxQ;c$_$X&@Q_ik3X3svQQO`APM?%lMx>rmycgUx*& zZ0^0VxhrXNpK8k&$~_aE86CBOCn7wNY=ytf4)>gbC7+ZIp?0r02H~D>+!NGXWsXF8 zKEfT!TJt8e-0aS@bJ;GrY32-o6zh!7L7}N)16x}SUPV317BG8L?szq&NZLF zoj=8JGWvnRT^_~Ip@+Z%27YVY;d$$6^S;!Sb*PM-30Rw-2&cU!` zI5*Zvu+BrI7~Ba0!v)9{LyxxX0tWWcMR>hrxH#5Gur5KQ7~J^-!)3@7L*LAyRlvY5 zxE#Zh;fh!z!MYNWVz>(Zz;HEk#V|0}pjE)Yd)l=amJHX$8VT0*h!n#O=m&-ykt>Fw zxe2WT2Hy0xU|2G2jWrUi79z#aMn5oA$Q8rLShNZlc-!n?STb~DjRdQQNHO%$4-5n3 zjv?$_b5+|6QRgB2t$KuE39&8KNU&~3q#$lVKS11yTtigmHuMT0_#U+#!xG~5SR=u@ z1CfH*fqsB+fBe!A*4%|&0R(TAcVk#W+!JdgSob1Q5ci=UAnr%5Av)#(^a>z&uY3^0 z65^p)Bf)wYk%D*x{Q&VOat+ZnkD*rp!JFmd7?u$8u||TmfJi~?L_a`0fm}oM%#-L9 zK=5w43&RrPsaPYydK!^}cn19d@hox;(KpYbR{+7=NW z8e(8xLazXV_sc~LONf_ajRb3qNI@*2A0U>IYlxxQi(UZ)ZmJqMR8VS~`h!n&= z^aI3x`NU+{Tq#)iyKR~>XTtis%0eS@xykmZd zVF~e3tdU@Sj7ULzf_{Mb6uE}zn9tBFfZ!eTa|}y}gRw?}^#vjY@g@2J;w$7DqHDfJ zuKn}tK;t=`)Vjlm>`WG%$uqgll diff --git a/demos/2d/hexamap/tileset.tres b/demos/2d/hexamap/tileset.tres new file mode 100644 index 00000000000..4538202335e --- /dev/null +++ b/demos/2d/hexamap/tileset.tres @@ -0,0 +1,240 @@ +[gd_resource type="TileSet" load_steps=27 format=1] + +[ext_resource path="res://WWT-01.png" type="Texture" id=1] +[ext_resource path="res://WWT-02.png" type="Texture" id=2] +[ext_resource path="res://WWT-11.png" type="Texture" id=3] +[ext_resource path="res://WWT-12.png" type="Texture" id=4] +[ext_resource path="res://WWT-13.png" type="Texture" id=5] +[ext_resource path="res://WWT-14.png" type="Texture" id=6] +[ext_resource path="res://WWT-15.png" type="Texture" id=7] +[ext_resource path="res://WWT-16.png" type="Texture" id=8] +[ext_resource path="res://WWT-17.png" type="Texture" id=9] +[ext_resource path="res://WWT-18.png" type="Texture" id=10] +[ext_resource path="res://WWT-19.png" type="Texture" id=11] +[ext_resource path="res://WWT-20.png" type="Texture" id=12] +[ext_resource path="res://WWT-03.png" type="Texture" id=13] +[ext_resource path="res://WWT-21.png" type="Texture" id=14] +[ext_resource path="res://WWT-22.png" type="Texture" id=15] +[ext_resource path="res://WWT-23.png" type="Texture" id=16] +[ext_resource path="res://WWT-24.png" type="Texture" id=17] +[ext_resource path="res://WWT-25.png" type="Texture" id=18] +[ext_resource path="res://WWT-26.png" type="Texture" id=19] +[ext_resource path="res://WWT-04.png" type="Texture" id=20] +[ext_resource path="res://WWT-05.png" type="Texture" id=21] +[ext_resource path="res://WWT-06.png" type="Texture" id=22] +[ext_resource path="res://WWT-07.png" type="Texture" id=23] +[ext_resource path="res://WWT-08.png" type="Texture" id=24] +[ext_resource path="res://WWT-09.png" type="Texture" id=25] +[ext_resource path="res://WWT-10.png" type="Texture" id=26] + +[resource] + +0/name = "Tile 1" +0/texture = ExtResource( 1 ) +0/tex_offset = Vector2( -24, -17 ) +0/region = Rect2( 0, 0, 0, 0 ) +0/occluder_offset = Vector2( -0, -0 ) +0/navigation_offset = Vector2( -0, -0 ) +0/shape_offset = Vector2( 0, 0 ) +0/shapes = [ ] +1/name = "Tile 2" +1/texture = ExtResource( 2 ) +1/tex_offset = Vector2( -24, -17 ) +1/region = Rect2( 0, 0, 0, 0 ) +1/occluder_offset = Vector2( -0, -0 ) +1/navigation_offset = Vector2( -0, -0 ) +1/shape_offset = Vector2( 0, 0 ) +1/shapes = [ ] +2/name = "Tile 3" +2/texture = ExtResource( 13 ) +2/tex_offset = Vector2( -24, -17 ) +2/region = Rect2( 0, 0, 0, 0 ) +2/occluder_offset = Vector2( -0, -0 ) +2/navigation_offset = Vector2( -0, -0 ) +2/shape_offset = Vector2( 0, 0 ) +2/shapes = [ ] +3/name = "Tile 4" +3/texture = ExtResource( 20 ) +3/tex_offset = Vector2( -24, -17 ) +3/region = Rect2( 0, 0, 0, 0 ) +3/occluder_offset = Vector2( -0, -0 ) +3/navigation_offset = Vector2( -0, -0 ) +3/shape_offset = Vector2( 0, 0 ) +3/shapes = [ ] +4/name = "Tile 5" +4/texture = ExtResource( 21 ) +4/tex_offset = Vector2( -24, -17 ) +4/region = Rect2( 0, 0, 0, 0 ) +4/occluder_offset = Vector2( -0, -0 ) +4/navigation_offset = Vector2( -0, -0 ) +4/shape_offset = Vector2( 0, 0 ) +4/shapes = [ ] +5/name = "Tile 6" +5/texture = ExtResource( 22 ) +5/tex_offset = Vector2( -24, -17 ) +5/region = Rect2( 0, 0, 0, 0 ) +5/occluder_offset = Vector2( -0, -0 ) +5/navigation_offset = Vector2( -0, -0 ) +5/shape_offset = Vector2( 0, 0 ) +5/shapes = [ ] +6/name = "Tile 7" +6/texture = ExtResource( 23 ) +6/tex_offset = Vector2( -24, -17 ) +6/region = Rect2( 0, 0, 0, 0 ) +6/occluder_offset = Vector2( -0, -0 ) +6/navigation_offset = Vector2( -0, -0 ) +6/shape_offset = Vector2( 0, 0 ) +6/shapes = [ ] +7/name = "Tile 8" +7/texture = ExtResource( 24 ) +7/tex_offset = Vector2( -24, -17 ) +7/region = Rect2( 0, 0, 0, 0 ) +7/occluder_offset = Vector2( -0, -0 ) +7/navigation_offset = Vector2( -0, -0 ) +7/shape_offset = Vector2( 0, 0 ) +7/shapes = [ ] +8/name = "Tile 9" +8/texture = ExtResource( 25 ) +8/tex_offset = Vector2( -24, -17 ) +8/region = Rect2( 0, 0, 0, 0 ) +8/occluder_offset = Vector2( -0, -0 ) +8/navigation_offset = Vector2( -0, -0 ) +8/shape_offset = Vector2( 0, 0 ) +8/shapes = [ ] +9/name = "Tile 10" +9/texture = ExtResource( 26 ) +9/tex_offset = Vector2( -24, -17 ) +9/region = Rect2( 0, 0, 0, 0 ) +9/occluder_offset = Vector2( -0, -0 ) +9/navigation_offset = Vector2( -0, -0 ) +9/shape_offset = Vector2( 0, 0 ) +9/shapes = [ ] +10/name = "Tile 11" +10/texture = ExtResource( 3 ) +10/tex_offset = Vector2( -24, -17 ) +10/region = Rect2( 0, 0, 0, 0 ) +10/occluder_offset = Vector2( -0, -0 ) +10/navigation_offset = Vector2( -0, -0 ) +10/shape_offset = Vector2( 0, 0 ) +10/shapes = [ ] +11/name = "Tile 12" +11/texture = ExtResource( 4 ) +11/tex_offset = Vector2( -24, -17 ) +11/region = Rect2( 0, 0, 0, 0 ) +11/occluder_offset = Vector2( -0, -0 ) +11/navigation_offset = Vector2( -0, -0 ) +11/shape_offset = Vector2( 0, 0 ) +11/shapes = [ ] +12/name = "Tile 13" +12/texture = ExtResource( 5 ) +12/tex_offset = Vector2( -24, -17 ) +12/region = Rect2( 0, 0, 0, 0 ) +12/occluder_offset = Vector2( -0, -0 ) +12/navigation_offset = Vector2( -0, -0 ) +12/shape_offset = Vector2( 0, 0 ) +12/shapes = [ ] +13/name = "Tile 14" +13/texture = ExtResource( 6 ) +13/tex_offset = Vector2( -24, -17 ) +13/region = Rect2( 0, 0, 0, 0 ) +13/occluder_offset = Vector2( -0, -0 ) +13/navigation_offset = Vector2( -0, -0 ) +13/shape_offset = Vector2( 0, 0 ) +13/shapes = [ ] +14/name = "Tile 15" +14/texture = ExtResource( 7 ) +14/tex_offset = Vector2( -24, -17 ) +14/region = Rect2( 0, 0, 0, 0 ) +14/occluder_offset = Vector2( -0, -0 ) +14/navigation_offset = Vector2( -0, -0 ) +14/shape_offset = Vector2( 0, 0 ) +14/shapes = [ ] +15/name = "Tile 16" +15/texture = ExtResource( 8 ) +15/tex_offset = Vector2( -24, -17 ) +15/region = Rect2( 0, 0, 0, 0 ) +15/occluder_offset = Vector2( -0, -0 ) +15/navigation_offset = Vector2( -0, -0 ) +15/shape_offset = Vector2( 0, 0 ) +15/shapes = [ ] +16/name = "Tile 17" +16/texture = ExtResource( 9 ) +16/tex_offset = Vector2( -24, -17 ) +16/region = Rect2( 0, 0, 0, 0 ) +16/occluder_offset = Vector2( -0, -0 ) +16/navigation_offset = Vector2( -0, -0 ) +16/shape_offset = Vector2( 0, 0 ) +16/shapes = [ ] +17/name = "Tile 18" +17/texture = ExtResource( 10 ) +17/tex_offset = Vector2( -24, -17 ) +17/region = Rect2( 0, 0, 0, 0 ) +17/occluder_offset = Vector2( -0, -0 ) +17/navigation_offset = Vector2( -0, -0 ) +17/shape_offset = Vector2( 0, 0 ) +17/shapes = [ ] +18/name = "Tile 19" +18/texture = ExtResource( 11 ) +18/tex_offset = Vector2( -24, -17 ) +18/region = Rect2( 0, 0, 0, 0 ) +18/occluder_offset = Vector2( -0, -0 ) +18/navigation_offset = Vector2( -0, -0 ) +18/shape_offset = Vector2( 0, 0 ) +18/shapes = [ ] +19/name = "Tile 20" +19/texture = ExtResource( 12 ) +19/tex_offset = Vector2( -24, -17 ) +19/region = Rect2( 0, 0, 0, 0 ) +19/occluder_offset = Vector2( -0, -0 ) +19/navigation_offset = Vector2( -0, -0 ) +19/shape_offset = Vector2( 0, 0 ) +19/shapes = [ ] +20/name = "Tile 21" +20/texture = ExtResource( 14 ) +20/tex_offset = Vector2( -24, -17 ) +20/region = Rect2( 0, 0, 0, 0 ) +20/occluder_offset = Vector2( -0, -0 ) +20/navigation_offset = Vector2( -0, -0 ) +20/shape_offset = Vector2( 0, 0 ) +20/shapes = [ ] +21/name = "Tile 22" +21/texture = ExtResource( 15 ) +21/tex_offset = Vector2( -24, -17 ) +21/region = Rect2( 0, 0, 0, 0 ) +21/occluder_offset = Vector2( -0, -0 ) +21/navigation_offset = Vector2( -0, -0 ) +21/shape_offset = Vector2( 0, 0 ) +21/shapes = [ ] +22/name = "Tile 23" +22/texture = ExtResource( 16 ) +22/tex_offset = Vector2( -24, -17 ) +22/region = Rect2( 0, 0, 0, 0 ) +22/occluder_offset = Vector2( -0, -0 ) +22/navigation_offset = Vector2( -0, -0 ) +22/shape_offset = Vector2( 0, 0 ) +22/shapes = [ ] +23/name = "Tile 24" +23/texture = ExtResource( 17 ) +23/tex_offset = Vector2( -24, -17 ) +23/region = Rect2( 0, 0, 0, 0 ) +23/occluder_offset = Vector2( -0, -0 ) +23/navigation_offset = Vector2( -0, -0 ) +23/shape_offset = Vector2( 0, 0 ) +23/shapes = [ ] +24/name = "Tile 25" +24/texture = ExtResource( 18 ) +24/tex_offset = Vector2( -24, -17 ) +24/region = Rect2( 0, 0, 0, 0 ) +24/occluder_offset = Vector2( -0, -0 ) +24/navigation_offset = Vector2( -0, -0 ) +24/shape_offset = Vector2( 0, 0 ) +24/shapes = [ ] +25/name = "Tile 26" +25/texture = ExtResource( 19 ) +25/tex_offset = Vector2( -24, -17 ) +25/region = Rect2( 0, 0, 0, 0 ) +25/occluder_offset = Vector2( -0, -0 ) +25/navigation_offset = Vector2( -0, -0 ) +25/shape_offset = Vector2( 0, 0 ) +25/shapes = [ ] + diff --git a/demos/2d/hexamap/tileset_edit.tscn b/demos/2d/hexamap/tileset_edit.tscn new file mode 100644 index 00000000000..d400d55fd08 --- /dev/null +++ b/demos/2d/hexamap/tileset_edit.tscn @@ -0,0 +1,214 @@ +[gd_scene load_steps=27 format=1] + +[ext_resource path="res://WWT-01.png" type="Texture" id=1] +[ext_resource path="res://WWT-02.png" type="Texture" id=2] +[ext_resource path="res://WWT-03.png" type="Texture" id=3] +[ext_resource path="res://WWT-04.png" type="Texture" id=4] +[ext_resource path="res://WWT-05.png" type="Texture" id=5] +[ext_resource path="res://WWT-06.png" type="Texture" id=6] +[ext_resource path="res://WWT-07.png" type="Texture" id=7] +[ext_resource path="res://WWT-08.png" type="Texture" id=8] +[ext_resource path="res://WWT-09.png" type="Texture" id=9] +[ext_resource path="res://WWT-10.png" type="Texture" id=10] +[ext_resource path="res://WWT-11.png" type="Texture" id=11] +[ext_resource path="res://WWT-12.png" type="Texture" id=12] +[ext_resource path="res://WWT-13.png" type="Texture" id=13] +[ext_resource path="res://WWT-14.png" type="Texture" id=14] +[ext_resource path="res://WWT-15.png" type="Texture" id=15] +[ext_resource path="res://WWT-16.png" type="Texture" id=16] +[ext_resource path="res://WWT-17.png" type="Texture" id=17] +[ext_resource path="res://WWT-18.png" type="Texture" id=18] +[ext_resource path="res://WWT-19.png" type="Texture" id=19] +[ext_resource path="res://WWT-20.png" type="Texture" id=20] +[ext_resource path="res://WWT-21.png" type="Texture" id=21] +[ext_resource path="res://WWT-22.png" type="Texture" id=22] +[ext_resource path="res://WWT-23.png" type="Texture" id=23] +[ext_resource path="res://WWT-24.png" type="Texture" id=24] +[ext_resource path="res://WWT-25.png" type="Texture" id=25] +[ext_resource path="res://WWT-26.png" type="Texture" id=26] + +[node name="Node2D" type="Node2D"] + +[node name="Tile 1" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 1 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 2" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 2 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 3" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 3 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 4" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 4 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 5" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 5 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 6" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 6 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 7" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 7 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 8" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 8 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 9" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 9 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 10" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 10 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 11" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 11 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 12" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 12 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 13" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 13 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 14" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 14 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 15" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 15 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 16" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 16 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 17" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 17 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 18" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 18 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 19" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 19 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 20" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 20 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 21" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 21 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 22" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 22 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 23" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 23 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 24" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 24 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 25" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 25 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 26" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 26 ) +centered = false +offset = Vector2( -24, -17 ) + + diff --git a/demos/2d/hexamap/troll.scn b/demos/2d/hexamap/troll.scn deleted file mode 100644 index 1f33dabf8e6c00f565948ca6b5542aea5d7121b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1983 zcmWkvYj6|S6+XMGr)_~Sem~H)Yy(XTat$3*^YB@%knQpaSOk(nx_2$Dq{Y&%vb!?I zKv_e0rs+&!pe7{6B$FmhG6`v#Y0{=dv0H{|2~B3w0v%>pAcfLb+L@Lz43BQ^zwewg z_nh;c@7z0(5Cr)01Objt19-&?zyMebu$G4bhHy|pxWF1IIV7hNNm-Ra43MDR3E(D+ zVH)A4>9U~}^`sn8rMwI?$&8uFqG4)z(a>_kvMvrPk^x>)AEQ=A708fIWRX(UobcO+u!S}r#~lL8;9^sSRe%%Uzskd)ipEViI# zC=X?%)|JzeQjRQQzYg>8Apx7KW;~p5<%6L(2I8Ye1Ozk;56ZL_Y~AYN2RG3QBTF8qCSG5)2&Wj7Ud>`lLAZ zV`Z7CORAC9^gPTUt8KQ%rDQU)POBi<(pat-il#<#(pFhFXu@WyxV&Tx*`7J>yrgFo zmEIfMd)4)D`q4or>%Bt8f$6= zy2%QVLu}Rrq1l?w4r*rjJOedksVk*R8FB2Ju1HptRsJ-jY+pSL+fdKXw7CUzOY|L^ ztHK>nX?r$VyM>iD_mznQ_zC_F)E1XlEJ$Y7fLWvm0ULOK>qs=f07t5#zrtGV^d>b` z6_Z-ArOh!mAe0*DDw}DDet`|b^PXWzS0vT6(s&vN5TK5@uv~EAq|Z@wk0WvmDEO@& zYv-eQ>cnv#hp-jbaa!f>ZtTLD2*M&P#~jp?pj#B>lw!7AXA8Mv_#`75EjA+?;b&}a zE`E*URV7cW@CgjkJFRXZfk&KrYw^kOGVI|wtVFNhP^E%cP)6jO?V87%v|-n`LBlad zF3?|ahsyRY!==a#uEpPTVj(GqxCjC>(|?v1h@=;!)j@R)_N;m zZk+n#I80%!&AgLLg;!toJ_ZZM9z%*9xQ|Q8>70PLkP)}ijqLVIL~6k>H=33lJv(*X z6)=d~*|auHy$)O$bvT>w3@h@Mf~LP{Vmtp~Y#X*jk1#1E+`y_yM`KQ$g;=*d3nRE~ zqS~5|)v(p}Rb#CE8(_`}fKLB3*%!UW77e-ejC)woH8meg*xX&bi6QbMcUH@2s&viG z;~TNR@-;RG_7f#%gWdN1lKtBfe_1#>)x6IavnPLv&8@p#QZZ+W$^C=xmzsMsoRl9_ z!k=2r?f+(S+P8eRu8^Fz8I2a?Q(;He>T`Y!~ieEW4av;@nhsqhhBksmroDdnc0EPDmU)hKF!5 z{s#wdaDM~m8FOG`Ea1epvJQuHLX6deU7V$49#SuJbey)bAD>&9-o!8Iea2$|apb+8 zaAYL~i?^oZBtGe^hk~oHyz~^FawfGFz4!q(_RhgZ6tK}DvbWCBSph|U4R$$@KkL9& zd^DeK@=fGrlXf%fnKHsEUz;>4j=Ycjpd!@s_{tQp8hM39N3%L|G>eY zQ$QaUeP*_pA5PnN8qa|>t9t`w4cO!g^!LRE$b2_C9nbag6Wm8{44ozwp$q*n ze%<4H{_%&!({`;1?z#H@i$1<%{raP`=a=MD55MzvC_Hw@o-u3cy{F6T#)rn=`thQk z!&cc;@WG{n+e&Y>S;s@J!p1l-gBL14{cI@ym+IgT*WUYn_vBA5d~ag<*;~i{d?M7= z|N3j4|MK0n_HG_pA;0kM#q%B6SKqzuf93YA?UzFTR72Mvc{zP?;r<8g{>Q6QC*ItA z{aidj85y7J{yiK3g2$c;>{#RAp%u`(D2X wy8QNR<}y9N9tL%y%K!7oczgGUcYgM*m&mmW=wH4%_GXms8b}NX1J2j|e@PmCwEzGB diff --git a/demos/2d/hexamap/troll.tscn b/demos/2d/hexamap/troll.tscn new file mode 100644 index 00000000000..2dc8bdbf675 --- /dev/null +++ b/demos/2d/hexamap/troll.tscn @@ -0,0 +1,52 @@ +[gd_scene load_steps=4 format=1] + +[ext_resource path="res://troll.gd" type="Script" id=1] +[ext_resource path="res://troll.png" type="Texture" id=2] + +[sub_resource type="CircleShape2D" id=1] + +custom_solver_bias = 0.0 +radius = 16.0 + +[node name="troll" type="KinematicBody2D"] + +input/pickable = false +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 3.24216, 19.453 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +collision/margin = 0.001 +script/script = ExtResource( 1 ) + +[node name="Sprite" type="Sprite" parent="."] + +texture = ExtResource( 2 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] + +transform/pos = Vector2( 3.24216, 19.453 ) +shape = SubResource( 1 ) +trigger = false +_update_shape_index = -1 + +[node name="Camera2D" type="Camera2D" parent="."] + +anchor_mode = 1 +rotating = false +current = true +zoom = Vector2( 1, 1 ) +limit/left = -10000000 +limit/top = -10000000 +limit/right = 10000000 +limit/bottom = 10000000 +drag_margin/h_enabled = true +drag_margin/v_enabled = true +smoothing/enable = false +smoothing/speed = 5.0 +drag_margin/left = 0.2 +drag_margin/top = 0.2 +drag_margin/right = 0.2 +drag_margin/bottom = 0.2 + + diff --git a/demos/2d/isometric/bastiles.res b/demos/2d/isometric/bastiles.res deleted file mode 100644 index 50f3c7832167de8a50ec0475bcc5e47d7ee7c070..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2918 zcmbuBO;6N77{?z7BI5h|yP|^P8{KwyeL>OP1&K!k9!*GD3T{%ir0pWyIB?)&n0Vnp zqDNy)T)24g;79Nyc=6%||IbXjGwt@k#z}_G^MB@<`TaYaDO1x^;}o?nJh^l0Lw{X! zooOc&@&EjpMDY=H-wC{iUv-SSz39+MDAh&~dW$oG=Po<`%xujLXg}m7uT~EOQ4>`C z+EQr9he+mRc|YdmjL=yL8@@w_<7md4pAW!%PzZ~5==e3;r2``LorRiLrxPOZs#Ui! zhiwxTu}Y`Jq`JLaTd+e^#na?YN~fb@V(`{pa^g91Hz7$wreZb|%p!`*nAtQE%%-6+ zn?_8RtcX>?%v)tK>$+ezjW*^;lFXK3wi3)D(h002v!ydznaoNR%)C_=v#twftDQNL zBy(Od=M&5#(wXx~=Dg0F&tz7rVCJo|m~~w+=i8YhNir7{b0NVjBAvOAWG?8;g-m9p z3TECai&@tNbD^C%k|c9cF&7ieBGQ?QN#>%?T+C!vs$k}=vY2&UFc;gIBPkHKnz+%T z>w@nd+(x5@Q472f*IY2NR9~PT$b7H3Ue$Jy%#ptjA)2n5^gTnhXs}n#Rg2Hsfm|GW z(Q1@FjalPfec4%g<+-a1UVWOc4r_wCk>Kl>DY$Vwgf8Qa9SloEYfYlx+qfeuD($yW(j=upihXERY+^&cbiJu~SU>^2i(J_oVFmfEz<>LJI zn<%yyt7@GE=GlWJdjJR zwb=*lT#m}|5PPTtVK00jedAY=Q$98-1BhcE*HXFbTJA(^b diff --git a/demos/2d/isometric/dungeon.scn b/demos/2d/isometric/dungeon.scn deleted file mode 100644 index 8f0f316d7313bfed3ac658c896c852661adbd3b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4708 zcmai23pA8l``1u zlTT4cDUw4uQclv9BTh{bsY4e@>Xh%*cg|Vozy9mL{_k4Pp1q&v*}vzqpLaj+8vg(u z4@^9C0Nj`W=+FS*PXd4dfQA5w8VUgrP!iBbNd~J$;%G^DfLJ1zfM;}+uAK(}30(>d zQIerjqEf^w#S$mEC`JNwQDdqwEM6WilZ0baC@Qg18mo5FP_Tai8p@^xN@bD&i5g5s z^-xGz;^Y)2QmIi>f@(HusHL5TWheukMpG*lGTCgESdQHXlTddZnL;d*p_atC;45kX zftES|zd#aTqSo*@Afr@3K}ql&Q3cqjE-=UEd6e*Yd89-k$Lw^4!WfBKBoqQFYEAZ2 zgiGe}F=w3!nL?q&cpwHf#T;QZL8wA+!+kWdL?&}mNs}a4H)cSKix-6}MRK(eGlw$F zoGOl2sTDCoHOi!@A{5FPV2nyJOKOxz79mtbM8E(oFvTQfg;E+Rm1EDa>C{A_N}*H( z3+Q5FX(Clg6>_I|l|&dVl}lnoYN=S0p#@et5lX38jZW39)dF*Jm?B;-mS`!aRGBDI zqErDRt|Fr&xtb9nFK3^0JpV)Js*0&OV9*TbyadvtT0x(St8Tw%;M={OoCE@ zCZZqFRDvWHYb51N%5aBnkVHySC~!2=mbBF#kj_TceBwbm+)9j4Y{IDcasd}khJ`wtq>_YK+cn=iKs!!7p9pQZK7?>7 zo5`C2tx3yX{SKi8-w$ktTQD;``(_|fOEZIf+ftym+YXf2qif6f&v}<=68R>nQX!9# zu%B_q@NoQKKSa<1a+D%cAs0O(bKpK+2*+GY0$S4sBL4bnT^ew;LhY9ZZA$~Eo0r$f z0>X$-yxrGoAmE+NiHcKAhq7QkOC-ydca%Q&rL! zXvg~q`A>l>4rS4&pQ0mHN+j}WDG=pIr};t({2k^&JzN-p0v-GU)8MJ*r4dX31VoJo z&;r~WJ!lIr;w1w3&UmpP8Y&h40RR*Nc#kkVj#6ygHB?|&NG0im_v0`P7@$;i3d+z> ziTYp!GXe&M-^BRpL!lG+fFTpg_-eF}F+tz-K2GSNR2Ye0gH$vEWq>h^`u9!>_=GV4 z7003Bq>Ixeob+(g$LTM83iw>;t-*D0oRt5qh2s{WxSU7Q(*NNHB`g~v-24eS_c-+7 z?jz&?*iU#j4k!OJQecGd)nlL1*yH)f)hXCFJJ7YL5%`SR<6x_BX#%vzX~I1Q^u~GixcNv812<1*Be#b2}a17LJVn0g8Es#+bK2FpHdFoYs$KPS# zoIlU6X(=}ZZlN4Gm&?1TQ@qiX`)UObsKVmGIy4_YIRHfvKtt#PNm?rKjE6PQ*4vO1 z5A7QU;0B2Be4y1|1T&%2imA}nD-cq>8sH2V0B3lehxVQWkm`rRrFiTA`ym4pd_EZ^ zfpHW7yuN`BKA-p;Amc>D32(W8gcB7dL91`|YXx-ioLk|sQK1vi!^eq_2P&Ka3?{}2 zbKj2K9?!jD!IFo{(aS(%@2D!3@>I+XR3rsGv+VClx@U2@0SYteZU1cSLwc z5lZEF)4`kML}#0VD=)(Uq`~q@>ZtgbFu6!70|?3h^U3i4 zenSva?Ds{uR*+zp*nccRJ8t>4xB0rkRoz29i?fO;RIF8nSmu75n|b8d&;?b7C-%-U z3^~rt?Ri0`A1`|#Cd-l|W+LHtHgM{vrLPOFJ1VRA#g)vzl<>Oqytl#q_0Y+%-{}TY zX(4+|{yAxM=CPU^bq&@sO;uz0NLF;c*zMg7yX`w8kUm$JS})z3-u6wUNYxTfagV1n zciFZpuM#Wj#)bmyE+O*LgDK35{THepPBr#Psa75T%=z`u4+lz`Yu7&cwDQDEgdMbh z>fY#uR*$+;KDSrC&n~B=wiIRL6gm4Eqroj_?Gc7?Iz6vu(ys}7v$j_zbtPq2mX_y^ z@pIGH9uV6Z=} z=S)iJY2@CXmvBShW>Imj;U|AuiNM-ZU$&5GdJ|MHj|?hG--DC{wzD5T7n5(5Eb7b` zL^-{y8J_aIsWoM4k%`yd@OW3`Zr#*nt8>Wp~Uv1%X50MFUJR;3+mfxA*_=3ch@4qI49c1s@{)L=Pn)juqrP! zsp?YQ!_f67D%$Gq7!+e=h+XB|n_q7a)zucf9=n)y5-i%zc>ss}eN(+}B$>iI*A~f307tM6%UHu_q0CPR_vo4%* zNT`0r4$EKJA~R{qcvq*69!>J&6`kogV&iv@ii^0FR<~Hf99E{t4YZytl3aD7* z-kl#B%oTdbe92HYp&kA)7C><*L+%#kD z{+Qtpvnc|1ze}vF7A(J-`Ao4vf%BjOzP|UuHY*Tbr6}Fyuoa&(06}RpRM-`jNdk5a?s^QGi}B3TDIqu2O&Mh zza3lkc=;w|$h+0EbNz$7Kq+!2E;@$)i$m8RA76LtrP52vLPiZ)$nE+ii(Th0y?=P6 zebeT1HA77S$Mm8@0~h(0m6;Z&GFBnR+@z(oQB_vg#|lqL;wuvog9U9f{aRc1eV8&+ z7~C_01Z78l>1kvS*go5wqI#89&yTyZ8%d~hTy_3yHeC|Balv&* zsYH4bKrRgsQMxa!>o6xe4FdG;9UFVpOBT#&yq6NL>#!6>tOHW?6VsQU;Trv7tPRU-N>vbx)(pb>;N5U`K{WlZT9?* z6WwdrJsj8iP2%cWNuUqwIB==mv_YUmQhMZ(agxywE3a8|9Zp;*b9}iuNJQEq#$M z(Me|->Wm(DNDL2{r4<)CcN{u~gk1SBk8Uy8Ev$JP+<)zGUaml}?LGFqT$nua*1J8b z583g+0C3F38zPkRdLO5M$=nh(7@lJ5=KkhojKI+`CjvR;L$j1WmLC1?XzkWkW^1+W z^<;rrTC3BZr*Zwys<3m&%}<|yKKy9?=)a3ROz-%=EITQOmL$CUIM{$JWc5%r!r@z< z-do|^Re>xih+Yuq=D~Vj)4%3ABG(1c`fQUSgeeaEj%d@q&VHwZUG5q|K~Yr}Qs^92 zzQznFeb=A1K$sgx=JQh=0N81ssq8TaFUk&#o$Smn7hcYLUemnuN955)L3CSeTgc^2 zEMwN~<{ew~)>ahAJg|zkD|C9fU^`M-=w<{i-%`(&7r0$|bMMvOrGkaGKY6nUng=VE zc~{;*P^%SlV@cZD<8G?=XKe;&DCpc&`swfoheMNxJ4D4CgrK&|`ss@29i7&J@RV8$ zql3aNN0d}hS8cOr*JS>VSIDB&cgKz(0YgO(Aq}0qzRvi;%WW1*I1N|m;OA0CRV~ta z^J>&+D)sU%m#V{0hh6ej7c%Bd(salFhQ5!EC-QG1{xeES?g$3F=K5aU(7{}3K?2tn zKR1+gpM97b+qd{Y95Ty5d{jBq9QPn9qczJU-6W9)j=Of#?fu$&5Z{vv!s61@d8v24gdn$spKB)bzZ<`C zdgb)&+{Ek;Sxb-^j4r+9V=uNV8OE>w7~6M$#=+@5S^al=8+Oa4{gL3&>FhfLWNy@I1-+%aG-z7m)(3kI z-xn0j9kT95zV4j!_<0Vf7MW_re#9qM%uA7UW8?5_OFNcF_^mh>WF+u*{f{e>13q~z zh|XTzIlqz!1d{~j-6LlnHfh(L^g-rMVV2+PadWEZASF1)ZmWI|8v5Epm+#y3x_zESr*d#8E1At5OT zv;EvI?7Z&it4U2qo>q-Btb0|5qI_u*5BZyMeI(hj*xfsnc66bWj^7am@l>l`>ixd- u2I(+Ydm+&#_L1%%dShQ5suLcb8kufl0DL_C_!V62d*C17&-2IsU-}OTHtoLv diff --git a/demos/2d/isometric/dungeon.tscn b/demos/2d/isometric/dungeon.tscn new file mode 100644 index 00000000000..a9f4cfa1e3d --- /dev/null +++ b/demos/2d/isometric/dungeon.tscn @@ -0,0 +1,49 @@ +[gd_scene load_steps=3 format=1] + +[ext_resource path="res://tileset.tres" type="TileSet" id=1] +[ext_resource path="res://troll.tscn" type="PackedScene" id=2] + +[node name="dungeon" type="Node2D"] + +[node name="floor" type="TileMap" parent="."] + +mode = 1 +tile_set = ExtResource( 1 ) +cell/size = Vector2( 128, 64 ) +cell/quadrant_size = 16 +cell/custom_transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +cell/half_offset = 2 +cell/tile_origin = 1 +cell/y_sort = false +collision/use_kinematic = false +collision/friction = 1.0 +collision/bounce = 0.0 +collision/layers = 1 +collision/mask = 1 +occluder/light_mask = 1 +tile_data = IntArray( -851956, 0, -851955, 0, -851954, 0, -786420, 1, -786419, 0, -786418, 0, -720884, 0, -720883, 0, -720882, 0, -655348, 1, -655347, 0, -655346, 0, -589812, 1, -589811, 0, -589810, 0, -524276, 0, -524275, 1, -524274, 0, -458740, 0, -458739, 0, -458738, 0, -393210, 0, -393209, 0, -393208, 0, -393207, 0, -393206, 0, -393205, 0, -393204, 0, -393203, 0, -393202, 0, -327674, 0, -327673, 0, -327672, 1, -327671, 1, -327670, 1, -327669, 1, -327668, 1, -327667, 0, -327666, 0, -262138, 0, -262137, 0, -262136, 0, -262135, 0, -262134, 0, -262133, 0, -262132, 0, -262131, 0, -262130, 0, -196602, 0, -196601, 0, -196600, 0, -196599, 0, -196598, 0, -196597, 0, -196596, 0, -196595, 0, -196594, 0, -131066, 0, -131065, 0, -131064, 0, -131063, 0, -65530, 0, -65529, 0, -65528, 0, -65527, 0, 6, 0, 7, 1, 8, 0, 9, 0, 65542, 0, 65543, 0, 65544, 0, 65545, 0, 131078, 0, 131079, 0, 131080, 0, 131081, 0, 196614, 0, 196615, 0, 196616, 0 ) + +[node name="walls" type="TileMap" parent="."] + +mode = 1 +tile_set = ExtResource( 1 ) +cell/size = Vector2( 128, 64 ) +cell/quadrant_size = 16 +cell/custom_transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +cell/half_offset = 2 +cell/tile_origin = 1 +cell/y_sort = true +collision/use_kinematic = false +collision/friction = 1.0 +collision/bounce = 0.0 +collision/layers = 1 +collision/mask = 1 +occluder/light_mask = 1 +tile_data = IntArray( -917493, 2, -917492, 2, -917491, 2, -917490, 2, -917489, 2, -851957, 2, -851956, 3, -851954, 3, -851953, 2, -786421, 2, -786420, 3, -786418, 3, -786417, 2, -720885, 2, -720881, 2, -655349, 2, -655348, 2, -655346, 3, -655345, 2, -589813, 2, -589809, 2, -524277, 2, -524273, 2, -458747, 2, -458746, 2, -458745, 2, -458744, 536870916, -458743, 536870916, -458742, 2, -458741, 2, -458740, 2, -458738, 2, -458737, 2, -393211, 2, -393209, 3, -393205, 3, -393201, 2, -327675, 4, -327665, 2, -262139, 4, -262134, 3, -262133, 3, -262129, 2, -196603, 2, -196601, 3, -196593, 2, -131067, 2, -131066, 3, -131062, 2, -131061, 2, -131060, 2, -131059, 2, -131058, 2, -131057, 2, -65531, 2, -65530, 2, -65527, 2, -65526, 2, 5, 2, 10, 2, 65541, 2, 65543, 3, 65546, 2, 131077, 2, 131082, 2, 196613, 2, 196618, 2, 262149, 2, 262150, 2, 262151, 2, 262152, 2, 262153, 2, 262154, 2 ) + +[node name="troll" parent="walls" instance=ExtResource( 2 )] + +transform/pos = Vector2( 299.38, 326.037 ) +collision/margin = 0.001 + + diff --git a/demos/2d/isometric/engine.cfg b/demos/2d/isometric/engine.cfg index 48f39826f90..4952b524a5c 100644 --- a/demos/2d/isometric/engine.cfg +++ b/demos/2d/isometric/engine.cfg @@ -1,7 +1,7 @@ [application] name="Isometric Game" -main_scene="res://dungeon.scn" +main_scene="res://dungeon.tscn" icon="res://icon.png" [image_loader] diff --git a/demos/2d/isometric/tileset.scn b/demos/2d/isometric/tileset.scn deleted file mode 100644 index e487285f83f7fc71b929d08939364c0e204f0216..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4476 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 diff --git a/demos/2d/isometric/tileset.tres b/demos/2d/isometric/tileset.tres new file mode 100644 index 00000000000..990ee01b65e --- /dev/null +++ b/demos/2d/isometric/tileset.tres @@ -0,0 +1,67 @@ +[gd_resource type="TileSet" load_steps=6 format=1] + +[ext_resource path="res://isotiles.png" type="Texture" id=1] + +[sub_resource type="ConvexPolygonShape2D" id=1] + +custom_solver_bias = 0.0 +points = Vector2Array( -68, 2, -4, -30, 60, 2, -4, 34 ) + +[sub_resource type="ConvexPolygonShape2D" id=2] + +custom_solver_bias = 0.0 +points = Vector2Array( -20, -6, -4, -22, 12, -22, 4, 10, -4, 10 ) + +[sub_resource type="ConvexPolygonShape2D" id=3] + +custom_solver_bias = 0.0 +points = Vector2Array( 28, -6, 4, 10, 12, -22 ) + +[sub_resource type="ConvexPolygonShape2D" id=4] + +custom_solver_bias = 0.0 +points = Vector2Array( 66.095, -0.62516, -5.90501, 31.3748, -21.905, 23.3748, 50.095, -8.62516 ) + +[resource] + +0/name = "base" +0/texture = ExtResource( 1 ) +0/tex_offset = Vector2( -4, 6 ) +0/region = Rect2( 28, 92, 132, 84 ) +0/occluder_offset = Vector2( 66, 42 ) +0/navigation_offset = Vector2( 66, 42 ) +0/shape_offset = Vector2( 0, 0 ) +0/shapes = [ ] +1/name = "base2" +1/texture = ExtResource( 1 ) +1/tex_offset = Vector2( -4, 6 ) +1/region = Rect2( 220, 92, 132, 84 ) +1/occluder_offset = Vector2( 66, 42 ) +1/navigation_offset = Vector2( 66, 42 ) +1/shape_offset = Vector2( 0, 0 ) +1/shapes = [ ] +2/name = "wall" +2/texture = ExtResource( 1 ) +2/tex_offset = Vector2( -4, -32 ) +2/region = Rect2( 28, 220, 132, 136 ) +2/occluder_offset = Vector2( 66, 68 ) +2/navigation_offset = Vector2( 66, 68 ) +2/shape_offset = Vector2( 66, 68 ) +2/shapes = [ SubResource( 1 ) ] +3/name = "column" +3/texture = ExtResource( 1 ) +3/tex_offset = Vector2( -2, -32 ) +3/region = Rect2( 220, 220, 132, 136 ) +3/occluder_offset = Vector2( 66, 68 ) +3/navigation_offset = Vector2( 66, 68 ) +3/shape_offset = Vector2( 66, 68 ) +3/shapes = [ SubResource( 2 ), SubResource( 3 ) ] +4/name = "door1" +4/texture = ExtResource( 1 ) +4/tex_offset = Vector2( 16, -22 ) +4/region = Rect2( 24, 408, 132, 136 ) +4/occluder_offset = Vector2( 66, 68 ) +4/navigation_offset = Vector2( 66, 68 ) +4/shape_offset = Vector2( 66, 68 ) +4/shapes = [ SubResource( 4 ) ] + diff --git a/demos/2d/isometric/tileset_edit.tscn b/demos/2d/isometric/tileset_edit.tscn new file mode 100644 index 00000000000..2c83c4b52ef --- /dev/null +++ b/demos/2d/isometric/tileset_edit.tscn @@ -0,0 +1,130 @@ +[gd_scene load_steps=6 format=1] + +[ext_resource path="res://isotiles.png" type="Texture" id=1] + +[sub_resource type="ConvexPolygonShape2D" id=1] + +custom_solver_bias = 0.0 +points = Vector2Array( -68, 2, -4, -30, 60, 2, -4, 34 ) + +[sub_resource type="ConvexPolygonShape2D" id=2] + +custom_solver_bias = 0.0 +points = Vector2Array( -20, -6, -4, -22, 12, -22, 4, 10, -4, 10 ) + +[sub_resource type="ConvexPolygonShape2D" id=3] + +custom_solver_bias = 0.0 +points = Vector2Array( 28, -6, 4, 10, 12, -22 ) + +[sub_resource type="ConvexPolygonShape2D" id=4] + +custom_solver_bias = 0.0 +points = Vector2Array( 66.095, -0.62516, -5.90501, 31.3748, -21.905, 23.3748, 50.095, -8.62516 ) + +[node name="Node2D" type="Node2D"] + +[node name="base" type="Sprite" parent="."] + +transform/pos = Vector2( 87.5658, 0.113792 ) +texture = ExtResource( 1 ) +offset = Vector2( -4, 6 ) +region = true +region_rect = Rect2( 28, 92, 132, 84 ) + +[node name="base2" type="Sprite" parent="."] + +transform/pos = Vector2( 196, 44 ) +texture = ExtResource( 1 ) +offset = Vector2( -4, 6 ) +region = true +region_rect = Rect2( 220, 92, 132, 84 ) + +[node name="wall" type="Sprite" parent="."] + +transform/pos = Vector2( 356, 70 ) +texture = ExtResource( 1 ) +offset = Vector2( -4, -32 ) +region = true +region_rect = Rect2( 28, 220, 132, 136 ) + +[node name="StaticBody2D" type="StaticBody2D" parent="wall"] + +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="collision" type="CollisionPolygon2D" parent="wall/StaticBody2D"] + +build_mode = 0 +polygon = Vector2Array( -68, 2, -4, 34, 60, 2, -4, -30 ) +shape_range = Vector2( -1, -1 ) +trigger = false + +[node name="column" type="Sprite" parent="."] + +transform/pos = Vector2( 292, 198 ) +texture = ExtResource( 1 ) +offset = Vector2( -2, -32 ) +region = true +region_rect = Rect2( 220, 220, 132, 136 ) + +[node name="StaticBody" type="StaticBody2D" parent="column"] + +input/pickable = false +shapes/0/shape = SubResource( 2 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +shapes/1/shape = SubResource( 3 ) +shapes/1/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/1/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="column/StaticBody"] + +build_mode = 0 +polygon = Vector2Array( -20, -6, -4, 10, 4, 10, 28, -6, 12, -22, -4, -22 ) +shape_range = Vector2( -1, -1 ) +trigger = false + +[node name="door1" type="Sprite" parent="."] + +transform/pos = Vector2( 85.905, 0.62516 ) +texture = ExtResource( 1 ) +offset = Vector2( 16, -22 ) +region = true +region_rect = Rect2( 24, 408, 132, 136 ) + +[node name="StaticBody2D" type="StaticBody2D" parent="door1"] + +input/pickable = false +shapes/0/shape = SubResource( 4 ) +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="door1/StaticBody2D"] + +build_mode = 0 +polygon = Vector2Array( -5.90501, 31.3748, 66.095, -0.62516, 50.095, -8.62516, -21.905, 23.3748 ) +shape_range = Vector2( -1, -1 ) +trigger = false + + diff --git a/demos/2d/isometric/troll.scn b/demos/2d/isometric/troll.scn deleted file mode 100644 index d53aac4fbfe1715f05dee4b729569176edf6c70f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2116 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 diff --git a/demos/2d/isometric_light/column.scn b/demos/2d/isometric_light/column.scn deleted file mode 100644 index 03f3c2c97644b51fc19bd23256ac488da61c0bb4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2026 zcmWkv4Q$lr8Gi44m%Chk2qfX)l8`S6`C$b@2`Xwxlh^ja5fa*vz<`a;_W67lH$MBY zeIY5dTu7n7U`zqV&r}EzDjn?@6m6PHRgR#csv~XbHf=3THEjn)E$cd|h@Xz`!_p`F z`+cA9d7tNXcMs3Qqo)X9Pa(iZJ^&X$#s%(7jtg9bfqcRgbV+ib66=u_U4iWdq{x{M z;3tcqkT8X&Vi{>uRvL9FsX#HATr8(8+eiwQq4g`K5LG1$d}ONElwxYy5}R@?*;G?@ zVg8QNgN&>@#h_X^Rp9@9u2{vFj~Uefy|tKC+T z%OzVeRY`-Xq@Ij;nj0H8NFa25i1i3f}6JBN6nmM}Oe*!ADcg#!~CIVZdm zoBy$&`!N0%`|ijV?z->a_yW5XLS!M^fzM!s{k_|QYElYibYGQEHnen7he@QcK-E)e zyD_E8eNt3Y#3@x>-jrfB&TAC?(pE7Srvz+M(yh2*CSfvZaokfqY9gVSVhLH7uc?-5 z=#82*sF;@67-?{Z0MFP>9(M$x+0lEzfv{gR_#IYyaVMPNl&CThpE7i zJ#kZ&Z6b-6y-_2r%ZeEE3qn${B|!l0Zf=h)*{aMLvB9c7{4S>_WvaFU>@G--b&%a- zE7=bnxaMw58CyER9_z$buMv-1iY*4*rjnpEWHJGdU@EdLZUN)i4Hx8*&%BzN=(Pp$ zTPPxh(20fPKC+MHst*p$fgUzZO4u{f>gdFUHQWRvq*F0+iu;c*r3k7XQwF5ZQ3buG z(O%EGx2;%JHyx${XEUs>CdCpy4~rzI-pyUbLsVx$e6~u% zHZ~8ZpfA_brIe6T2Nccm%n5H7LoU-GgH`v*kV{F4raSS@Hv&V9;d+OO$&@{A)UVk3G z?2ak%;asx7B@Bu`Wj1|G+Hl4rd~u1Yk^;KVQ+%7;aid@K(e46{x@I(|UsX1w40CJ~ z*0SgMUt<;biYum8hr$I|?xuW8Tlp0*fE!0kGjp*N1|5GXhHLhKUEd0(_{sQE{(OGg zQUpcsS4~4tDm71h#&qFLtRzQVy+++c-3f=8fqTL$*{Kc#&e|*$#SG_vS?9ehdyW6q z#flwk_?_eDu%c$zEv2=HRyPtooUK^$6Glo#)#@wtJ4r?Dy;-xxAanT8^wuneUV9Mx z_#Iz(S7zI}YvOb;8VW&uDU>bab$C8nH5aO}kho=X#o!9A#w(MgVyvao12LiZ-T^Bh^s}msvItfFj ziGbhJ0QsomdTN^$cn0&rN9o9Nn#UFBTf7d-A`vWO>#&U0#!1+NHI#7nuT+K>KE}OB zrTqc6g?C`v(ucIo!4nY$7t$piUvZ<@fqRgrHL)1;B6(C`l;$AGr+b_59QBmNw&M@% z6@10%wR1GRg5I!YL z&W^69BL#sFmU{}?mxjB^6fgBSH2B#8=E56&?~we;SKGtv$~9YW|K&_zd|uI|Z_h3G z@xCo&?6r>d>%aQ?!TD{KKOg>MLw`d_=fzh(_+`_2mZ~J_nY_KlNu(jUfS0XUVnMTOrz`Md(H2@*?a%l%0=7rzFGbLSol)o@$WW$ zJ@@FHmgJqm;qJ8?vQMsk;`qtq!L=Jd;x#!Wzy0Z}vzFefxI1+8${lBze0{QKWpAMhmXbtV|>E^rXU;h8$KaZ3E diff --git a/demos/2d/isometric_light/column.tscn b/demos/2d/isometric_light/column.tscn new file mode 100644 index 00000000000..6693e39b85c --- /dev/null +++ b/demos/2d/isometric_light/column.tscn @@ -0,0 +1,52 @@ +[gd_scene load_steps=5 format=1] + +[ext_resource path="res://wall_shader.tres" type="CanvasItemMaterial" id=1] +[ext_resource path="res://faceColor.png" type="Texture" id=2] + +[sub_resource type="CircleShape2D" id=1] + +custom_solver_bias = 0.0 +radius = 20.0 + +[sub_resource type="OccluderPolygon2D" id=2] + +closed = false +cull_mode = 0 +polygon = Vector2Array( -16.1183, 62.9508, 4.32091, 74.9223, 23.3002, 65.2867 ) + +[node name="column" type="StaticBody2D"] + +input/pickable = false +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 1.36365, 7.83751 ) +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="."] + +material/material = ExtResource( 1 ) +transform/pos = Vector2( 0.487671, 0.487679 ) +texture = ExtResource( 2 ) +offset = Vector2( -4.37984, -50.8523 ) +region = true +region_rect = Rect2( 569, 179, 48, 154 ) + +[node name="occluder" type="LightOccluder2D" parent="."] + +transform/pos = Vector2( -3.90138, -50.97 ) +occluder = SubResource( 2 ) +light_mask = 1 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] + +transform/pos = Vector2( 1.36365, 7.83751 ) +shape = SubResource( 1 ) +trigger = false +_update_shape_index = -1 + + diff --git a/demos/2d/isometric_light/cubio.gd b/demos/2d/isometric_light/cubio.gd index 508cd3728cd..a26d5ae6fb7 100644 --- a/demos/2d/isometric_light/cubio.gd +++ b/demos/2d/isometric_light/cubio.gd @@ -19,7 +19,7 @@ func _input(event): if (event.type == InputEvent.MOUSE_BUTTON and event.button_index == 1 and event.pressed and shoot_countdown <= 0): var pos = get_canvas_transform().affine_inverse()*event.pos var dir = (pos - get_global_pos()).normalized() - var bullet = preload("res://shoot.scn").instance() + var bullet = preload("res://shoot.tscn").instance() bullet.advance_dir = dir bullet.set_pos(get_global_pos() + dir*60) get_parent().add_child(bullet) diff --git a/demos/2d/isometric_light/cubio.scn b/demos/2d/isometric_light/cubio.scn deleted file mode 100644 index 55e2185247a461ad2b4b2de62e1403ba3bf8359a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6952 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 diff --git a/demos/2d/isometric_light/floor_shader.tres b/demos/2d/isometric_light/floor_shader.tres new file mode 100644 index 00000000000..e8f616cf1fc --- /dev/null +++ b/demos/2d/isometric_light/floor_shader.tres @@ -0,0 +1,14 @@ +[gd_resource type="CanvasItemMaterial" load_steps=3 format=1] + +[ext_resource path="res://faceNormal.png" type="Texture" id=1] + +[sub_resource type="CanvasItemShader" id=1] + +_code = { "fragment":"// just pass the normal\n\nuniform texture normal;\nvec2 ywnormal=tex( normal,UV).wy * vec2(2.0,2.0) - vec2(1.0,1.0);\nNORMAL=vec3(ywnormal,sqrt(1 - (ywnormal.x * ywnormal.x) - (ywnormal.y * ywnormal.y) ));\n\n", "fragment_ofs":0, "light":"//the tile half size in pixels\nvec2 tile_vec=vec2(140,70);\nfloat z_scale = 1.0;\n//compute a 3D postion fot thelight\nvec3 light_3d = vec3(-LIGHT_VEC.x,LIGHT_HEIGHT,LIGHT_VEC.y);\n\n//rotate the normal map to the same coordinates as the pseudo 3d ponit\n//this could be optimized\nfloat r = asin(tile_vec.y/tile_vec.x);\nmat3 rot_mat = mat3( vec3(1,0,0), vec3(0,cos(r),-sin(r)), vec3(0,sin(r),cos(r)));\nvec3 n = rot_mat * NORMAL;\nn.y=-n.y;\n\n//compute diffuse light\nfloat dp = max(dot(normalize(n),-normalize(light_3d)),0);\nLIGHT=vec4(vec3(dp),1.0)*COLOR*LIGHT_COLOR;\n", "light_ofs":0, "vertex":"//pass the x1 in local sprite coordinates.\n//the sprite center (small red cross) is 0,0\nVAR1.xy=SRC_VERTEX;", "vertex_ofs":0 } + +[resource] + +shader/shader = SubResource( 1 ) +shader/shading_mode = 0 +shader_param/normal = ExtResource( 1 ) + diff --git a/demos/2d/isometric_light/map.scn b/demos/2d/isometric_light/map.scn deleted file mode 100644 index da3fc5654f033d334cb5a7e4b602e0de349c293d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9352 zcmbVSd0bP+_CLuD2@sITA_C$aHUUvUQBgpcYy$4$f?6>*fdHwH#3Vq`su6KTD{8An zt;XG=Qmb{t4fndDQfn2FxT2__wThyU--KG9?R)R{$K&()o_l8Q+2+jLIg|O2G*T=E z>z@F?EgFDr3lLxjP{jlIoDaYPFtUJc;9Ru0B<# z(i*~yTw{BiOnI78M_3lPBB{}yX>X@eXUMWOX-cp|?mU?yN1c|XOk+mkLKw*mW`QH} zLPhpbVPV;FZD>Xs*dl@LC{>nnq|yM+h;Qr!2GpL?D-EH@@s6!C2+R;*o0_9gX+rg> zYO}K+$Dq-rW||%RpuL$D&(UP%WUCo}<}04^3qy`h2_9w^!kMfv6}rp|4-fAVs#Ry0 zIYDMtqD_`6Bh%26K|rDYV2>zHmL^r6g&NsC!GGN&Gv&ta0ZC?iH+BTfHn|B8I*3)e zR1#XIT&wIUQFIpt0|$ME0S6iRte-`~>+QvIb*@~WXi#PkksFjcl|0J~zR(eeApjdh z;Wc=`U7i-Z02k5Vi74UEI0QS1BH4QIMQ)HqMBG3ve1g~V4LZ46pRUnmhiNr;`Tg(! zo=ldlG{|K#1s{f@e(0=_XOo_#(dcBpd?x8G#0o7S^99C_m#WOl3e&5mtlx(nsmVF= zG?c?K$e0e$0WD!VtgkXdvAl%w;AP6Q(q)?TbUad6#<(&{jz*`-P!$LnSIGBsX6X#_ z5MOtfER|lRQHSN|m9j}HwK7|7P^Hd_HG>x?U8hPlAb(@B89HzjnjCd%ftQ)(%FB}H zD|LEs!aL0nOl8aUlbA=$Vk%8;kQb!*Q82`(qcE1rlV@eg1B43{i{xRHL6e%vIAdGr zVFo+sX(bU>(#uMETS*@)iL{cwR?;t3bq5Bq!t}mpKq)`UWJ9=_Wlz)z>B-omYQN#k zL%vF_%`t>&RjHHY3KT1r8NG=Fn@=1N5@991tfaS<^s$miE9q+`{p5X3lZa8ufv6DD z(@G+&q?eWSwvs+p5}7JuYjrB0XB?Sar<60V1Kc@Ur9LcN>H*q<{bq2!14#B{K3{`ECuuLWH z&%8AX*i&TL8-6f@6HESuVw=$^HI?y84`w7L7c(ainIRiF`%M*pg?3YEn!K=zH3PPo zoQ>-*opFKXQ;`RaK z*?M_KK^MsNpUhUMvV2+~jIsCYC2G&kmh1dCbHlQf=?38Y$C{j222BCS)Xrz2Pl)tu zlYp(z7y=(Khgs>GfX>`7RfbxlQwDDJzshVdb_n8w*5oQ3f~$G5^elOXJ}ff;QByQ( zgKxO>l_*@k3*=p%fLg9#X_Y}^1Bxoj@O05eu3n~}q|$1Ap2q*?^CifPZWV#TH{8K; zg)$4g&}B-dQOkUDPDpKJ3QbzR42|&_h#Sr9c6bhU9$@6jv~okH9y%jTb_P%3@Sv;G zeJrxYxW*&wj(ggqYSe03YCs7X7|#JuD?FJYW|k)eqkh;^I*pYp4;;W!8;t3YggOp5 zz=P13qaDBBcr1PtG0_e~d@sz$eG~d~WHM!%DrhDp(`M!P9A?Y(2A>z85415;LAV~Ns*mTE3P1+1mP6FL>z}Ju`}lJ^lG_Qrd566GssMJSNw!MSvn2M@3H~S zWGS_oq100QIkC7urdU%nzP<@!YUcBbI4r=mOe7OZb`=05#1!@x)-v8KoznLhOOz}H;~*1 z`%+WVD`Q_suukx?xGsHZVwInVZKGq?BL1U!qN}N~ck0`;A~|GL|%4 zhiSBilc~wjsQn(^rG$8U;x%ChGX>^x)?Ay+EfwZ-6~bHMd;84- zdElrnQGW9jD=WMcCR6fkh06De(L3O9f)u+`D@#0LD=0RJDs`85{(YNK6^Wu-j7OLH zfX!x(Qmlq4iP}_q>f(h9{qeqp&J`t;UYDU@dJ>PF#7U?V^P_kxOZEj5&5jx{nVDDU51`?AY85fJyzq~?;r#(^2Y%;IA|yq7GhILyNU9Lzz1MjjUc5y>djiE@N{ z7G%#NXA~X|11H2o?NA1b^pVp>dlQfC2=^H$XlLSq6M=w8MM8Tb6^a7k0mJ+BjWN(j z6ZwZG;^9weqCsSF80oG1doQtU2alLQuqQHn0tW&|f;LY?M`rbf_M&*BRq`>3;ct>{ zaeNXL8t_4~{-2V6*(6T^fptuF@We#y{^ggnpE8Td?GL$Ov*EQ#WBgzAn*K+n|0!4REbkZ%yeIZs z2wDj&CLRt(oPa7L57?yr$qcaHS>7{Y|0eB&I4Jo)O1Jz6X^;OZ-TEJ-+kYyJc)~Nl zA=&9{^+%$ykd^;Q?1)QtRl83$Nc=>ed|B37dC~-2d$h@==eK6MGWTTU@H?}c4{WB}9cNSy*zrrBmLa-p75lBi{ zBmg#I5rcnCZ`%UFU{yN%FC`*o&AX5YvQQ$SZJBRV{IL32?=3Q8v_+T)-Xt~}Iul8n01@~Q_!9UL_>&YVIj9qy zu_V5?wpctMIr!P+)P}R4}{;ybXz5y;0Aeng9#+z++;|Y zq>qMblNC;Ii)fL+jLC3|gjMrFClYRpXygR9i9{_!TL(OI1=M1ig{pyH@cuu5vuW7JnfhDC5l>tRHX)zkCZMe| zNccfUCwNNyJ^O$L^0cDy1D=zo6)!&Eck;C2shKoCX#NR}3t|yuUyyWFT&< zXe1&YxDd4Elsy02y81`7qJ8Ywme=w+Xd*dS3~z|$TY_eScLeVVS_uC7$VQO;n1#lX z>`eLu(L$@0CVAk%YNHde(FWdI3%M%+KG?stkOK<5wlrJp5Rc+RvxP{#W1OHFkxGW# z;T?I}6a3R#Fb*W%df-oXULr-I0BZ#{W)S%dqxCbFV|QyUB{8(L)l3e`H_~KBd~Ip{ z&|dPPZ86boi-m*o+I-sn!zT-!#Wb|-HKw+m61XU`t=h||*A{@8VJrX=JBy6a3ibz3 zYL-3&vSLE z5ShPUbBwTKcB>_;4K61LyX)>MiQwlD5$1Dce&0#bX9P0t+?|~+NQO5qW1_h?kDrii z47rWTM+nspPOsTyFLKQu=73^GRZH zOz3QB=-{X1#-$*AigcHy@kGUL;W6yTZI}7S@wH4NBje(dBchtpGYp@*aE-nAkzFn` ziJK-_FHVweB7t~ZDUh7Y4r4}g{S;dzFYO|T+##2*C4;{yAe;yPh@{6TJ_)J1>rRPa z-6bKO#2xhY9f`nmqTGesz4o?bepFZDMB8dFT{6EjQ3-YWTx#j_oQ$mYu|~SHfMU*b zk2~i|eUqHX+plVj((sgLWVA^Krb-7NxkmbSy~&ZTdw7UASspY~S}$@qi5ppLFjB$? z06u|a;9vv>7(NBsS8nn=Be0BdLN5y7qzLoceu`9xMcpx9*eL3atGMvXqNCxucr(P| zL74VCnU=%5bT;n9_6ICcMWiU7i8KLDMZgleB4Qg&HB%Ih$6)khX+?~ae<;I4uEq$n z4KQB54X87bG>NdE!>TD7~7}vWGtXm#)}<3UCQv-*zKf|2eXV$?22|LakXn8 ziFZ_{Ts;Ym)8rtr^`6kj9@`7_@?5f(MrA6|aGgq>s`QcD<6pUIaxbX|MD9@Xd?q6c z8Ri58*a5E=N-!W_hL2q^-%J7i2^ZoBXoouD6dWi?$HNe*6%sY}5)Q{+Qa1J?hin>$ zfg|FPA2DL=M-F&Sgj#=ukc&w|14SLlvUef92EFXzqLC5twn#@5>=8Rx(LO1D)=CO5;tIX3>=HaGQ$_ynyC;h zGdqQVpP3tiGYH4>2eVBw4#bq1KMMj-2%aliMaGr^U66}tg(yrkOca92Va-e(75`zT zqH&&?j)ovK*vikf^1)_qG>#+&ymmuZD}Tb;8}gCs_L1xUkqiCEg?;40KXN@jay>tC z5g)l;AGzKixjrAc$Uix+XbvW;tuLa;u@MHGkwlW&iN;RQ4|$PeOB9*(REQ>Zb```B zJ`(y9>KBy4_ywIxw_uRWAnH=Y0U@H0B9jLq#3xltOr+vLVx<@=B47Y=z!d748IM;G zd-2E}FNOs2b}l3mswayH2DXVrfknEE1W?Bw1i)0`JiM5o2nG`s7Z^f>UC6yLFaAV) z6+Q^V$Vx1N;iPv4jA)}tgwin5#Dh_YC;bdYBc3oC#*p5%kWA=e7)$6Z7)NNJ)$RB; zx4XKZG#23%)(#bNfX~Qad{tgB0r7=oxeA9t3h{ITCK9a^AS3i3ivi<7kP~(VD2TgM z#7o!$X{22R%C_EgLM@O%Xf0$S-m%ogRYG^ldT}=Y1$I2P2PUCl_#9EE$Kme6nL}iD zaz&PsTy*LU@~%;!e+U&eqyUmX5)_c)LW(wJZ^+EaR;cBwEOOv+gx`@fcmD99@s9SM z$j$~F6B8sP0bEQJf^6ByhB~%=(h<~`K9DF8jv71r+1T^DI-Qx^KX6;=!Me$Gg^jIq zLC})rZo6o=UA{q+d^Cq&*S@6==?WuXpXO(GKPwz(AN79ykY&YEI)*c|Y2vLjF$WKJ zjX3eMomb@)l*IIYDxhYQZJh~7-{LB11^a#nEnD@2Hdk-Qo+UzPR zEoH-g;3RCNjGD^4rq#RYl?OfxZni&kq~Y|6y(6lO{=+wo3iObcbUAQiVcxdW4iD+u zrFPnzm6gBV@Ls#{wb|66WbOB*%dghGFNH%6vlR>dX;yK9?*`Z0C)%l3Z*AWq9pXJ{ zbkxEpdy{$FJy}eHUohRHJbI$Hu{M|z7N%A85-<97#O9pxh#@I^;|}znQr9q%7O0M= z6{i3Av|JGq{%pwf_S&B=wfkvWzZ65|!|Z)y@7$n$F2McO`wlf9K6j7bvsmG}eq#Z(FGHnD?2^e4yA>i`)0R{ zTRO2IYEd_!y+_R2GV1uElR3+d@3;RZf$ueRvhlv)d%^KyUc|erkU)~&z;y%}l!L#ACR zrQlF)EB)Sl?EcRF{jMJDeq(s9_Z?vRaAPy`-TGq=cLdFr+%}P3aG1GQj@S0 z+s>rocAgEHpWT^UxUT3ufOR>Ye&+4bEqIS}Q^%&H-78jpH+FHC=w(yB-tO*hAI#Y~ zzH=kJZ`+Y>uD=LkR(Y&13`&Zhzp=Pp{V=G(7&Yg(S4XAKb9(onn1;bys<%eZU$<(a zVNitrWtr=uB;K0zJZAih>w})q_2rg3P0R0nyLkDs;?u0FKWNJK|3>HKWNtvoDZvf< zU(gK)=YC&*`|Ys}>2*(USLa>&DsR%k>ph@p^R-L+mv()+kpA`jt^OrB4R0#%T|0Ds z%Z{?5g6&DAN$2|IrDUuvXwMSRozq-eP~pMi&wtH`tbQ*)I)B*sweEe5W#4*sU0ggy z6hv=|togn})X#Fsr)>8hU=}ywPkUAC$`rARMXdU6XnE)<_f!HkCHkHjk(K zua)=FH$|OOS6$Y`NggoFPZm|jkKD5R(|S@0}XKN zu&aK5NeI5`Xw1r%Q~QqO zzHI%$y|T*_!O$ag)0r;91c6}ww8-gic8=en8MnW8?3v8BIqZ{6N|R^`ny2|YtM_WRyP`?FsRD;gd3xZ(Xn`c(J(^sa_?5esh* zp6WB&(wbm-aQ~QUV$=9PcH#a4{|o(x?|n*Fe91P}Be{>%4^Rv@=j(DIQegCrk1#bg9RHr}eJZoY7z@HZ-wQm^vs-Jyz zS(ubwQ%SSetR51-yM4>aVdqM}-8*jTwXAmLN8iOQ7=6n!cWt!f5xt?S&7GFFXE(gP zQT0HfP2%QjdBuDE79L!&Ufh@*@v0|1*!wyp*g78%&nj@(n3uA9V!#qX;X}^F@3eY5 zw((&s{eHsFU2OQxFY5jGDC*9Sz7l_a_v93%w@8?`Z*6Nq&N+J1_G=5KY}?!*&9)7@ zo8IlzumuyIG#}|fo6FzCxW98WPEJ|ob+h-n z@~T_&ByizHTK`o~rd;m9ZlG^JWS`kO^oBuDyFGVr{YU{jgZIO$89ST&Pp@*K7oHnW zUla=*WTt|GV|JlhSd2*K%6GuVnc`1=tR%Q zYU#B|XJKH$JgS~9d+0BH)Nb#N?KgK$7;%l&yRqo?^&fl+1ru#A%n47QzK4FIY3Nh7 zY~a3jF~ioie3yu3&pY0wQ1jJYr`prIUc8;!fi|M>S1-1D^bT)wbV$0^YjjKG(b-2* zE)Ff2w=!CJv%5F_ZBzALeQ;6dgx*Il4~R&vdGl-)C#9(T;Hr|+<>v>yVh47kCyyMl zaemLl9&_s(>9mk(3tsg)_44-83iFQfOToEafiInO;l}G<6kn~rcI(#UB@braox>k@ zKlhr>yU*JlePZe&_i~#O#J|LydF8W#9-UZ>UrW#2+n=2L^4ArIj~J&(j2xW9DLzL2j@|550> zu7Q&nOfNrw>Rsr1sjX`NaBtr8PM?)EPn%g^)&22WZstgP}jo?g9`;q(1p+4 zcf`_JP3xbH&FR73dc*CwHY7HALgTyXmtQ46YGy3_n1KWHD6iqg-MgM|2Z_?5k}?rf P0FX2?Nt{If2kHL+*29IT diff --git a/demos/2d/isometric_light/map.tscn b/demos/2d/isometric_light/map.tscn new file mode 100644 index 00000000000..3c65f9ecfc7 --- /dev/null +++ b/demos/2d/isometric_light/map.tscn @@ -0,0 +1,261 @@ +[gd_scene load_steps=10 format=1] + +[ext_resource path="res://map.gd" type="Script" id=1] +[ext_resource path="res://tileset.tres" type="TileSet" id=2] +[ext_resource path="res://cubio.tscn" type="PackedScene" id=3] +[ext_resource path="res://torch.tscn" type="PackedScene" id=4] +[ext_resource path="res://column.tscn" type="PackedScene" id=5] +[ext_resource path="res://cubio/idle0001.png" type="Texture" id=6] +[ext_resource path="res://light2.png" type="Texture" id=7] + +[sub_resource type="CircleShape2D" id=1] + +custom_solver_bias = 0.0 +radius = 100.0 + +[sub_resource type="CanvasItemMaterial" id=2] + +shader/shading_mode = 1 + +[node name="node" type="Node2D"] + +transform/pos = Vector2( -0.735077, -20.5826 ) +script/script = ExtResource( 1 ) + +[node name="floor_map" type="TileMap" parent="."] + +mode = 1 +tile_set = ExtResource( 2 ) +cell/size = Vector2( 192, 88 ) +cell/quadrant_size = 16 +cell/custom_transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +cell/half_offset = 2 +cell/tile_origin = 1 +cell/y_sort = true +collision/use_kinematic = false +collision/friction = 1.0 +collision/bounce = 0.0 +collision/layers = 1 +collision/mask = 1 +occluder/light_mask = 1 +tile_data = IntArray( -1900531, 0, -1900530, 1, -1900529, 0, -1900528, 0, -1900527, 0, -1834995, 0, -1834994, 0, -1834993, 0, -1834992, 1, -1834991, 0, -1769459, 0, -1769458, 0, -1769457, 0, -1769456, 1, -1769455, 0, -1703923, 0, -1703922, 0, -1703921, 0, -1703920, 0, -1703919, 1, -1638387, 0, -1638386, 0, -1638385, 0, -1638384, 0, -1638383, 0, -1572855, 0, -1572854, 0, -1572853, 0, -1572852, 0, -1572851, 0, -1572850, 0, -1572849, 1, -1572848, 0, -1572847, 0, -1507319, 0, -1507318, 0, -1507317, 0, -1507316, 0, -1507315, 1, -1507314, 1, -1507313, 1, -1507312, 0, -1507311, 0, -1441783, 0, -1441782, 0, -1441781, 0, -1441780, 0, -1441779, 0, -1441778, 0, -1441777, 0, -1441776, 0, -1441775, 0, -1376247, 0, -1376246, 0, -1376245, 0, -1376244, 0, -1310711, 1, -1310710, 0, -1310709, 0, -1310708, 0, -1245175, 0, -1245174, 0, -1245173, 0, -1245172, 0, -1179639, 0, -1179638, 0, -1179637, 1, -1179636, 0, -1114103, 0, -1114102, 0, -1114101, 0, -1114100, 0, -1048567, 0, -1048566, 0, -1048565, 0, -1048564, 0, -983031, 0, -983030, 0, -983029, 0, -983028, 0, -917495, 0, -917494, 1, -917493, 1, -917492, 0, -851959, 0, -851958, 0, -851957, 0, -851956, 0, -786423, 0, -786422, 0, -786421, 0, -786420, 0, -720894, 0, -720893, 0, -720892, 0, -720891, 0, -720890, 0, -720889, 0, -720888, 0, -720887, 0, -720886, 0, -720885, 0, -720884, 0, -720883, 0, -720882, 0, -720881, 0, -655358, 0, -655357, 0, -655356, 0, -655355, 0, -655354, 0, -655353, 0, -655352, 0, -655351, 0, -655350, 0, -655349, 0, -655348, 0, -655347, 0, -655346, 0, -655345, 0, -589822, 0, -589821, 0, -589820, 0, -589819, 0, -589818, 0, -589817, 0, -589816, 0, -589815, 0, -589814, 0, -589813, 0, -589812, 0, -589811, 0, -589810, 0, -589809, 0, -524286, 0, -524285, 0, -524284, 1, -524283, 0, -524282, 0, -524281, 0, -524280, 0, -524279, 1, -524278, 1, -524277, 1, -524276, 1, -524275, 0, -524274, 0, -524273, 0, -458750, 0, -458749, 0, -458748, 1, -458747, 0, -458746, 0, -458745, 0, -458744, 0, -458743, 0, -458742, 0, -458741, 0, -458740, 0, -458739, 0, -458738, 1, -458737, 0, -393214, 0, -393213, 0, -393212, 0, -393211, 0, -393210, 0, -393209, 0, -393208, 0, -393207, 0, -393206, 0, -393205, 0, -393204, 0, -393203, 0, -393202, 0, -393201, 0, -262149, 0, -262148, 0, -262147, 0, -262146, 0, -262145, 0, -327680, 0, -327679, 0, -327678, 0, -327677, 0, -327676, 0, -327675, 0, -196613, 0, -196612, 0, -196611, 0, -196610, 0, -196609, 0, -262144, 0, -262143, 0, -262142, 0, -262141, 0, -262140, 0, -262139, 0, -131077, 0, -131076, 0, -131075, 0, -131074, 0, -131073, 0, -196608, 0, -196607, 0, -196606, 0, -196605, 0, -196604, 0, -196603, 0, -65541, 0, -65540, 0, -65539, 0, -65538, 0, -65537, 0, -131072, 0, -131071, 0, -131070, 0, -131069, 1, -131068, 0, -131067, 0, -5, 0, -4, 0, -3, 0, -2, 0, -1, 0, -65536, 0, -65535, 0, -65534, 0, -65533, 0, -65532, 1, -65531, 0, 65531, 0, 65532, 1, 65533, 0, 65534, 0, 65535, 1, 0, 0, 1, 0, 2, 0, 3, 0, 4, 1, 5, 0, 131067, 0, 131068, 1, 131069, 0, 131070, 0, 131071, 0, 65536, 0, 65537, 0, 65538, 0, 65539, 0, 65540, 0, 65541, 0, 196603, 0, 196604, 0, 196605, 0, 196606, 1, 196607, 0, 131072, 0, 131073, 0, 131074, 0, 131075, 0, 131076, 1, 131077, 0, 262139, 0, 262140, 0, 262141, 0, 262142, 0, 262143, 0, 196608, 0, 196609, 0, 196610, 0, 196611, 0, 196612, 0, 196613, 0, 327676, 0, 327677, 0, 327678, 0, 327679, 0, 262144, 0, 262145, 0, 262146, 0, 262147, 0, 262148, 0, 262149, 0 ) + +[node name="wall_map" type="TileMap" parent="."] + +mode = 1 +tile_set = ExtResource( 2 ) +cell/size = Vector2( 94, 43 ) +cell/quadrant_size = 16 +cell/custom_transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +cell/half_offset = 2 +cell/tile_origin = 1 +cell/y_sort = true +collision/use_kinematic = false +collision/friction = 1.0 +collision/bounce = 0.0 +collision/layers = 1 +collision/mask = 1 +occluder/light_mask = 1 +tile_data = IntArray( -3801060, 5, -3801059, 10, -3801058, 10, -3801057, 10, -3801056, 10, -3801055, 10, -3801054, 10, -3801053, 10, -3801052, 536870916, -3735524, 9, -3735516, 7, -3669988, 9, -3669980, 7, -3604452, 9, -3604444, 7, -3538916, 9, -3538908, 7, -3473380, 9, -3473372, 7, -3407844, 9, -3407836, 7, -3342308, 9, -3342300, 7, -3276772, 9, -3276764, 7, -3211236, 9, -3211228, 7, -3145709, 5, -3145708, 10, -3145707, 10, -3145706, 10, -3145705, 10, -3145704, 10, -3145703, 10, -3145702, 10, -3145701, 10, -3145692, 7, -3080173, 9, -3080156, 7, -3014637, 9, -3014634, 2, -3014620, 7, -2949101, 2, -2949084, 7, -2883565, 9, -2883558, 8, -2883557, 8, -2883556, 8, -2883555, 8, -2883554, 8, -2883553, 8, -2883552, 8, -2883551, 8, -2883550, 8, -2883549, 8, -2883548, 6, -2818029, 9, -2818023, 7, -2752493, 9, -2752487, 7, -2686957, 9, -2686955, 2, -2686951, 7, -2621421, 9, -2621415, 7, -2555885, 9, -2555879, 2, -2490349, 2, -2490343, 7, -2424813, 9, -2424807, 7, -2359277, 9, -2359274, 2, -2359271, 7, -2293741, 9, -2293735, 7, -2228205, 4, -2228199, 7, -2162669, 9, -2162668, 10, -2162667, 536870916, -2162663, 7, -2097133, 8, -2097132, 8, -2097131, 6, -2097127, 7, -2031597, 9, -2031591, 7, -1966061, 9, -1966055, 7, -1900525, 9, -1900519, 7, -1834989, 9, -1834986, 8, -1834985, 8, -1834984, 8, -1834983, 7, -1769453, 9, -1769450, 7, -1769447, 7, -1703917, 9, -1703916, 8, -1703915, 8, -1703914, 8, -1703911, 7, -1638381, 9, -1638375, 7, -1572845, 9, -1572839, 7, -1507309, 9, -1507303, 7, -1441787, 5, -1441786, 10, -1441785, 10, -1441784, 10, -1441783, 10, -1441782, 10, -1441781, 10, -1441780, 10, -1441779, 10, -1441778, 10, -1441777, 10, -1441776, 10, -1441775, 10, -1441774, 10, -1441766, 10, -1441765, 10, -1441764, 10, -1441763, 10, -1441762, 10, -1441761, 536870916, -1376251, 9, -1376225, 7, -1310715, 9, -1310689, 7, -1245179, 9, -1245153, 7, -1179643, 9, -1179617, 7, -1114107, 9, -1114081, 7, -1048571, 9, -1048545, 7, -983035, 9, -983009, 7, -917499, 9, -917473, 7, -851963, 9, -851937, 7, -786427, 9, -786401, 7, -720891, 9, -720884, 8, -720883, 8, -720882, 8, -720881, 8, -720880, 8, -720879, 8, -720878, 8, -720877, 8, -720876, 8, -720875, 8, -720874, 8, -720873, 8, -720872, 8, -720871, 8, -720870, 8, -720869, 8, -720868, 8, -720867, 8, -720866, 8, -720865, 6, -589834, 5, -589833, 10, -589832, 10, -589831, 10, -589830, 10, -589829, 10, -589828, 10, -589827, 10, -589826, 10, -589825, 10, -655360, 10, -655359, 10, -655358, 10, -655357, 10, -655356, 10, -655349, 7, -524298, 9, -589813, 7, -458762, 9, -524277, 7, -393226, 9, -458741, 7, -327690, 9, -393205, 7, -262154, 9, -262150, 5, -262149, 10, -262148, 10, -262147, 10, -262146, 10, -262145, 10, -327680, 10, -327679, 10, -327678, 10, -327677, 10, -327676, 3, -327669, 7, -196618, 9, -196614, 9, -262140, 7, -262133, 7, -131082, 9, -131078, 9, -196604, 7, -196597, 7, -65546, 9, -65542, 9, -131068, 7, -131061, 7, -10, 9, -6, 4, -5, 8, -4, 8, -3, 8, -2, 8, -65535, 8, -65534, 8, -65533, 8, -65532, 6, -65525, 7, 65526, 9, 11, 7, 131062, 9, 65547, 7, 196598, 9, 131083, 7, 262134, 9, 196619, 7, 327670, 9, 262155, 7, 393206, 9, 327691, 7, 458742, 9, 393227, 7, 524278, 4, 524279, 8, 458763, 7, 589816, 9, 524299, 7, 655352, 4, 655353, 8, 655354, 8, 655355, 8, 655356, 8, 655357, 8, 655358, 8, 655359, 8, 589824, 8, 589825, 8, 589826, 8, 589827, 8, 589828, 8, 589829, 8, 589830, 8, 589831, 8, 589832, 8, 589833, 8, 589834, 8, 589835, 6 ) +__meta__ = { "_editor_collapsed":true } + +[node name="cubio" parent="wall_map" instance=ExtResource( 3 )] + +transform/pos = Vector2( -184.284, 6.7328 ) +collision/margin = 0.08 + +[node name="toch" parent="wall_map" instance=ExtResource( 4 )] + +transform/pos = Vector2( -42.0531, -74.8855 ) + +[node name="toch1" parent="wall_map" instance=ExtResource( 4 )] + +transform/pos = Vector2( 96.0294, -19.8329 ) + +[node name="toch2" parent="wall_map" instance=ExtResource( 4 )] + +transform/pos = Vector2( 954.802, -147.456 ) + +[node name="toch3" parent="wall_map" instance=ExtResource( 4 )] + +transform/pos = Vector2( 1247.08, 42.9454 ) + +[node name="toch4" parent="wall_map" instance=ExtResource( 4 )] + +transform/pos = Vector2( 1257.11, -167.498 ) + +[node name="toch5" parent="wall_map" instance=ExtResource( 4 )] + +transform/pos = Vector2( 1632.9, -73.9674 ) + +[node name="toch6" parent="wall_map" instance=ExtResource( 4 )] + +transform/pos = Vector2( 1566.09, 113.093 ) + +[node name="toch7" parent="wall_map" instance=ExtResource( 4 )] + +transform/pos = Vector2( 1935.2, 64.6577 ) + +[node name="toch8" parent="wall_map" instance=ExtResource( 4 )] + +transform/pos = Vector2( 2000.34, 258.399 ) + +[node name="toch9" parent="wall_map" instance=ExtResource( 4 )] + +transform/pos = Vector2( 3738.07, -328.247 ) + +[node name="toch10" parent="wall_map" instance=ExtResource( 4 )] + +transform/pos = Vector2( 4034.17, -585.483 ) + +[node name="toch11" parent="wall_map" instance=ExtResource( 4 )] + +transform/pos = Vector2( 4261.79, -472.595 ) + +[node name="toch12" parent="wall_map" instance=ExtResource( 4 )] + +transform/pos = Vector2( 4006.41, -479.998 ) + +[node name="column" parent="wall_map" instance=ExtResource( 5 )] + +transform/pos = Vector2( -122.203, 119.689 ) + +[node name="column1" parent="wall_map" instance=ExtResource( 5 )] + +transform/pos = Vector2( 95.2993, 99.8337 ) + +[node name="column2" parent="wall_map" instance=ExtResource( 5 )] + +transform/pos = Vector2( 138.619, 246.039 ) + +[node name="column3" parent="wall_map" instance=ExtResource( 5 )] + +transform/pos = Vector2( 324.534, 82.6862 ) + +[node name="column4" parent="wall_map" instance=ExtResource( 5 )] + +transform/pos = Vector2( 1046.53, -175.429 ) + +[node name="column5" parent="wall_map" instance=ExtResource( 5 )] + +transform/pos = Vector2( 1347.07, -179.039 ) + +[node name="column6" parent="wall_map" instance=ExtResource( 5 )] + +transform/pos = Vector2( 1184.62, -261.166 ) + +[node name="column7" parent="wall_map" instance=ExtResource( 5 )] + +transform/pos = Vector2( 1520.35, -139.329 ) + +[node name="column8" parent="wall_map" instance=ExtResource( 5 )] + +transform/pos = Vector2( 1409.34, 25.8286 ) + +[node name="column9" parent="wall_map" instance=ExtResource( 5 )] + +transform/pos = Vector2( 1804.63, -13.8814 ) + +[node name="column10" parent="wall_map" instance=ExtResource( 5 )] + +transform/pos = Vector2( 1782.97, 170.229 ) + +[node name="column11" parent="wall_map" instance=ExtResource( 5 )] + +transform/pos = Vector2( 2223.9, 158.537 ) + +[node name="column12" parent="wall_map" instance=ExtResource( 5 )] + +transform/pos = Vector2( 3744.95, -480.43 ) + +[node name="column13" parent="wall_map" instance=ExtResource( 5 )] + +transform/pos = Vector2( 3838.62, -526.042 ) + +[node name="column14" parent="wall_map" instance=ExtResource( 5 )] + +transform/pos = Vector2( 3937.17, -573.283 ) + +[node name="column15" parent="wall_map" instance=ExtResource( 5 )] + +transform/pos = Vector2( 4123.69, -474.728 ) + +[node name="column16" parent="wall_map" instance=ExtResource( 5 )] + +transform/pos = Vector2( 4027.58, -427.487 ) + +[node name="column17" parent="wall_map" instance=ExtResource( 5 )] + +transform/pos = Vector2( 3935.54, -377.802 ) + +[node name="prince_area" type="Area2D" parent="wall_map"] + +transform/pos = Vector2( 4133.07, -561.046 ) +input/pickable = true +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, -37.4897 ) +shapes/0/trigger = false +gravity_vec = Vector2( 0, 1 ) +gravity = 98.0 +linear_damp = 0.1 +angular_damp = 1.0 + +[node name="prince" type="Sprite" parent="wall_map/prince_area"] + +material/material = SubResource( 2 ) +texture = ExtResource( 6 ) +offset = Vector2( -1.10803, -49.8615 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="wall_map/prince_area"] + +transform/pos = Vector2( 0, -37.4897 ) +shape = SubResource( 1 ) +trigger = false +_update_shape_index = -1 + +[node name="Light2D" type="Light2D" parent="."] + +transform/pos = Vector2( -191.788, 32.4743 ) +enabled = true +texture = ExtResource( 7 ) +offset = Vector2( 0, 0 ) +scale = 8.0 +color = Color( 1, 1, 1, 1 ) +energy = 1.0 +mode = 0 +range/height = 60.0 +range/z_min = -1024 +range/z_max = 1024 +range/layer_min = 0 +range/layer_max = 0 +range/item_mask = 1 +shadow/enabled = true +shadow/color = Color( 0, 0, 0, 0 ) +shadow/buffer_size = 2048 +shadow/esm_multiplier = 80.0 +shadow/item_mask = 1 + +[node name="CanvasModulate" type="CanvasModulate" parent="."] + +color = Color( 0.361304, 0.36638, 0.384393, 1 ) + +[node name="message" type="Label" parent="."] + +visibility/visible = false +material/material = SubResource( 2 ) +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +margin/left = 4067.0 +margin/top = -597.0 +margin/right = 4200.0 +margin/bottom = -571.0 +text = "Thank You Cubio!\nYou saved The Prince!" +align = 1 +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 + +[connection signal="body_enter" from="wall_map/prince_area" to="." method="_on_prince_area_body_enter"] + + diff --git a/demos/2d/isometric_light/shoot.scn b/demos/2d/isometric_light/shoot.scn deleted file mode 100644 index 6909ae0c7197e0620097eb8f772e6ba39784746d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4111 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 Q;h{SR)(v;j6mXFi@TGv$7Oc`k>OyvtkI9Uve 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 diff --git a/demos/2d/isometric_light/torch_shader.tres b/demos/2d/isometric_light/torch_shader.tres new file mode 100644 index 00000000000..6a45b41fa2f --- /dev/null +++ b/demos/2d/isometric_light/torch_shader.tres @@ -0,0 +1,14 @@ +[gd_resource type="CanvasItemMaterial" load_steps=3 format=1] + +[ext_resource path="res://faceNormal.png" type="Texture" id=1] + +[sub_resource type="CanvasItemShader" id=1] + +_code = { "fragment":"uniform texture normaltex;\nvec4 ntex = tex(normaltex,UV);\nntex.rgb = ntex.rgb * vec3(-2,-2,1) - vec3(-1,-1,0);\nvec2 tile_vec=vec2(47,22);\nfloat r = asin(tile_vec.y / tile_vec.x);\nmat3 rot_mat = mat3( vec3(1,0,0), vec3(0,cos(r),-sin(r)), vec3(0,sin(r),cos(r)));\nNORMAL = rot_mat * ntex.rgb;\n\n\n\n\n", "fragment_ofs":0, "light":"LIGHT_VEC.y=40; //from light towards up, where is the torch\?\nvec3 light_normal = normalize(vec3(LIGHT_VEC,-LIGHT_HEIGHT));\nLIGHT=LIGHT_COLOR*COLOR*max(dot(-light_normal,NORMAL),0.0);\n\n", "light_ofs":0, "vertex":"", "vertex_ofs":0 } + +[resource] + +shader/shader = SubResource( 1 ) +shader/shading_mode = 0 +shader_param/normaltex = ExtResource( 1 ) + diff --git a/demos/2d/isometric_light/wall_shader.res b/demos/2d/isometric_light/wall_shader.res deleted file mode 100644 index 7e33c262010ae938a30746a19fc29d6a193c5db0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1687 zcmWlaU2Ggz701t=S+94;b!_LOv17|Vvum$r?e(s`PKBszb9XmRoZ9)QV;n+JcJ9vH z^$wn$S!QOv-awUc+6WMWhe|0#fMka+1);o9kWf)&R1gBGd^`n&sKzd|Ndzh_4-_f{ z)AMrA!@bh~p5I^RzjCQmf)A?~U{nIQ9t9u(J^_MJDpG(W80jl9Ym>QWJzhV@Jnk6G z#G}Cz0G&7whfqA^aMx}+8qZm*&LN6@k+Np%Tpf(MnqxG)oFDc3I%-VkPS_GSij%&i z_C*Y9y1&@t9;9AI$TxoYn@N# za#g1B^Xi3N4AYWpif0mvu!6KCtj6Y z^lW6f$((j#T99%%IsuxzNVpS3#sno4`1eSid0LIm;KhjBa11Yi3H)db6}M)$-0-as zN6oQa7h5&%Kev+^Fq zd+LDt7kE<+utmHYUPgi5>Z&obimq{uqg_>d1=qM_9=SpYBSxZ-biSD3c3?$}LBN9AgoE)v_p zCBiXL1&;m1YKH#W#D5-iw!h`!=VBGxHnGBM29{v1c>6ek%LKtW-5^=3%?= zU(Aakcg3HMr17&-T$bRfx+_X?DXu2zBL0s)60_~`e8Lx5#Z|UjiR&RaK>YWf0$Z{~ zoryZpoC}rF0!~l4+|M(a=VAFg5nR*F*yzs`($MIarJ(vxoPT&bO+iE&!{IJ zfsXG*7&^A+-%oy9aEz_uZ9#K*@<1L08&85&`amAo7Z2gff)|pSN0|S{krwCfO6u=r8$D7YbXC*7!o}0u-Wd*9E z?+B*Z#y4(Uq3;N~?G;H}Z)#o^FB$d5=!B>n)oSv6_A!4vs$-2iJR_%sO4E~%05297 zhIcH)TAl>X@ zq5zXOo+L9mesFrN(tqk6IjPWhMMZCB91bm2q_#%6^wHlbs60e~1}m)rHs9 zD+F6(-xRdEU3!-28T>MAY{&c|lBgz6Kmy;ctkaOTse>~Qp&vUJ*D35Bp^zF<2g7LTd@%Ie)1RWtLFZH$Fch4J01x0#;!3zG IR>Da7KP1=ahX4Qo diff --git a/demos/2d/isometric_light/wall_shader.tres b/demos/2d/isometric_light/wall_shader.tres new file mode 100644 index 00000000000..42d967cf769 --- /dev/null +++ b/demos/2d/isometric_light/wall_shader.tres @@ -0,0 +1,16 @@ +[gd_resource type="CanvasItemMaterial" load_steps=4 format=1] + +[ext_resource path="res://faceMask.png" type="Texture" id=1] +[ext_resource path="res://faceNormal.png" type="Texture" id=2] + +[sub_resource type="CanvasItemShader" id=1] + +_code = { "fragment":"uniform texture normal;\n\nvec2 ywnormal=tex( normal,UV).wy * vec2(2.0,2.0) - vec2(1.0,1.0);\nNORMAL=vec3(ywnormal,sqrt(1 - (ywnormal.x * ywnormal.x) - (ywnormal.y * ywnormal.y) ));\n", "fragment_ofs":0, "light":"// this is the half size of the tile in pixels\n\nvec2 tile_vec=vec2(47,22);\n\n// this mask is used to see which part of the tile is the background (^)\n// or the foregronud (v)\n\nuniform texture bg_mask;\n\nbool behind = tex(bg_mask,UV).a>0.5;\nfloat y_ofs;\n\nif (behind) {\n\t// ^ part\n\t\n\ty_ofs = tile_vec.y*2 - abs(VAR1.x * tile_vec.y / tile_vec.x);\n} else {\n\t// v part\n\t\n\ty_ofs = abs(VAR1.x * tile_vec.y / tile_vec.x);\n}\n\nvec2 point_2d = vec2(VAR1.x,(tile_vec.y - VAR1.y));\n\n// compute a pseudo 3D point for both the light and the texel\n// this makes the normalmap calculation work properly\n\nvec3 point_3d = vec3( point_2d.x, point_2d.y - y_ofs, y_ofs );\nvec3 light_3d = vec3(point_2d.x-LIGHT_VEC.x,LIGHT_HEIGHT,(-(VAR1.y - (LIGHT_VEC.y))+tile_vec.y));\n\n//this could be optimized\n//a rotation matrix is created to convert the normalmap vector\n//to the same coordinate space as our pseudo 3d point and light\n\nfloat r = asin(tile_vec.y / tile_vec.x);\nmat3 rot_mat = mat3( vec3(1,0,0), vec3(0,cos(r),-sin(r)), vec3(0,sin(r),cos(r)));\nvec3 n = rot_mat * NORMAL;\nn.y=-n.y;\n\n//finally compute the dot product. Simple diffuse is computed here,\n//but specular could be added and it will look prettier\n\nfloat dp = max(dot(normalize(n),-normalize(light_3d-point_3d)),0);\nLIGHT=vec4(vec3(dp),1.0)*COLOR*LIGHT_COLOR*3.0;\n\n//finally, after light was cmoputed, make the light \"flat\"\n//this makes the shadows work properly\n//the +2 is added to avoid z-fighting between caster and pseudo 3d coords.\n\nLIGHT_VEC.y+=point_3d.y+2;\n\n", "light_ofs":0, "vertex":"//assign the local vertex coordinates to a varying\n//the center coordinates (0,0) matches the sprite center \n// (shows as a cross when the sprite is selected)\n\nVAR1.xy=SRC_VERTEX;\n", "vertex_ofs":0 } + +[resource] + +shader/shader = SubResource( 1 ) +shader/shading_mode = 0 +shader_param/normal = ExtResource( 2 ) +shader_param/bg_mask = ExtResource( 1 ) + diff --git a/demos/2d/kinematic_char/colworld.scn b/demos/2d/kinematic_char/colworld.scn deleted file mode 100644 index ff108265637cbcdc28bb2f0e864ea317060bbbed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7366 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 CQQ$=Y diff --git a/demos/2d/kinematic_char/colworld.tscn b/demos/2d/kinematic_char/colworld.tscn new file mode 100644 index 00000000000..3bc4a21d6b9 --- /dev/null +++ b/demos/2d/kinematic_char/colworld.tscn @@ -0,0 +1,422 @@ +[gd_scene load_steps=19 format=1] + +[ext_resource path="res://colworld.gd" type="Script" id=1] +[ext_resource path="res://obstacle.png" type="Texture" id=2] +[ext_resource path="res://player.tscn" type="PackedScene" id=3] +[ext_resource path="res://princess.png" type="Texture" id=4] +[ext_resource path="res://circle.png" type="Texture" id=5] +[ext_resource path="res://long_obstacle.png" type="Texture" id=6] + +[sub_resource type="RectangleShape2D" id=1] + +custom_solver_bias = 0.0 +extents = Vector2( 8, 8 ) + +[sub_resource type="TileSet" id=2] + +0/name = "" +0/texture = ExtResource( 2 ) +0/tex_offset = Vector2( 0, 0 ) +0/region = Rect2( 0, 0, 0, 0 ) +0/occluder_offset = Vector2( 0, 0 ) +0/navigation_offset = Vector2( 0, 0 ) +0/shape_offset = Vector2( 8, 8 ) +0/shapes = [ SubResource( 1 ) ] + +[sub_resource type="RectangleShape2D" id=3] + +custom_solver_bias = 0.0 +extents = Vector2( 8, 8 ) + +[sub_resource type="Animation" id=4] + +length = 10.0 +loop = true +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath(".:transform/pos") +tracks/0/interp = 1 +tracks/0/keys = { "cont":true, "times":FloatArray( 0, 1, 5, 6 ), "transitions":FloatArray( 1, 1, 1, 1 ), "values":[ Vector2( 184, 152 ), Vector2( 184, 152 ), Vector2( 328.086, 152 ), Vector2( 328.086, 152 ) ] } + +[sub_resource type="Animation" id=5] + +resource/name = "leftright" +length = 10.0 +loop = true +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath(".:transform/pos") +tracks/0/interp = 1 +tracks/0/keys = { "cont":true, "times":FloatArray( 0, 1, 5, 6 ), "transitions":FloatArray( 1, 1, 1, 1 ), "values":[ Vector2( 184, 152 ), Vector2( 184, 152 ), Vector2( 328.086, 152 ), Vector2( 328.086, 152 ) ] } + +[sub_resource type="Animation" id=6] + +length = 10.0 +loop = true +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath(".:transform/pos") +tracks/0/interp = 1 +tracks/0/keys = { "cont":true, "times":FloatArray( 0, 1, 5, 6 ), "transitions":FloatArray( 1, 1, 1, 1 ), "values":[ Vector2( 88.3493, 296 ), Vector2( 88.3493, 296 ), Vector2( 88.3493, 152 ), Vector2( 88.3493, 152 ) ] } + +[sub_resource type="RectangleShape2D" id=7] + +custom_solver_bias = 0.0 +extents = Vector2( 8, 8 ) + +[sub_resource type="RectangleShape2D" id=8] + +custom_solver_bias = 0.0 +extents = Vector2( 10, 4 ) + +[sub_resource type="CircleShape2D" id=9] + +custom_solver_bias = 0.0 +radius = 32.0 + +[sub_resource type="RectangleShape2D" id=10] + +custom_solver_bias = 0.0 +extents = Vector2( 8, 8 ) + +[sub_resource type="Animation" id=11] + +length = 20.0 +loop = true +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath(".:transform/rot") +tracks/0/interp = 1 +tracks/0/keys = { "cont":true, "times":FloatArray( 0, 5, 10, 15 ), "transitions":FloatArray( -2, -2, -2, -2 ), "values":[ 0.0, 90.0, 0.0, -90.0 ] } + +[sub_resource type="RectangleShape2D" id=12] + +custom_solver_bias = 0.0 +extents = Vector2( 32, 8 ) + +[node name="colworld" type="Node2D"] + +script/script = ExtResource( 1 ) + +[node name="TileMap" type="TileMap" parent="."] + +mode = 0 +tile_set = SubResource( 2 ) +cell/size = Vector2( 16, 16 ) +cell/quadrant_size = 16 +cell/custom_transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +cell/half_offset = 2 +cell/tile_origin = 0 +cell/y_sort = false +collision/use_kinematic = false +collision/friction = 1.0 +collision/bounce = 0.0 +collision/layers = 1 +collision/mask = 1 +occluder/light_mask = 1 +tile_data = IntArray( 0, 0, 1, 0, 2, 0, 3, 0, 4, 0, 5, 0, 6, 0, 7, 0, 8, 0, 9, 0, 10, 0, 11, 0, 12, 0, 13, 0, 14, 0, 15, 0, 16, 0, 17, 0, 18, 0, 19, 0, 20, 0, 21, 0, 22, 0, 23, 0, 24, 0, 25, 0, 26, 0, 27, 0, 28, 0, 29, 0, 30, 0, 31, 0, 32, 0, 65536, 0, 65537, 0, 65538, 0, 65539, 0, 65540, 0, 65541, 0, 65542, 0, 65543, 0, 65544, 0, 65545, 0, 65546, 0, 65547, 0, 65548, 0, 65549, 0, 65550, 0, 65551, 0, 65552, 0, 65553, 0, 65554, 0, 65555, 0, 65556, 0, 65557, 0, 65558, 0, 65559, 0, 65560, 0, 65561, 0, 65562, 0, 65563, 0, 65564, 0, 65565, 0, 65566, 0, 65567, 0, 65568, 0, 131072, 0, 131073, 0, 131103, 0, 131104, 0, 196608, 0, 196609, 0, 196639, 0, 196640, 0, 262144, 0, 262145, 0, 262175, 0, 262176, 0, 327680, 0, 327681, 0, 327685, 0, 327686, 0, 327687, 0, 327688, 0, 327689, 0, 327690, 0, 327691, 0, 327692, 0, 327693, 0, 327697, 0, 327711, 0, 327712, 0, 393216, 0, 393217, 0, 393237, 0, 393238, 0, 393247, 0, 393248, 0, 458752, 0, 458753, 0, 458783, 0, 458784, 0, 524288, 0, 524289, 0, 524313, 0, 524314, 0, 524319, 0, 524320, 0, 589824, 0, 589825, 0, 589830, 0, 589831, 0, 589832, 0, 589833, 0, 589834, 0, 589845, 0, 589846, 0, 589847, 0, 589855, 0, 589856, 0, 655360, 0, 655361, 0, 655391, 0, 655392, 0, 720896, 0, 720897, 0, 720927, 0, 720928, 0, 786432, 0, 786433, 0, 786463, 0, 786464, 0, 851968, 0, 851969, 0, 851999, 0, 852000, 0, 917504, 0, 917505, 0, 917535, 0, 917536, 0, 983040, 0, 983041, 0, 983071, 0, 983072, 0, 1048576, 0, 1048577, 0, 1048607, 0, 1048608, 0, 1114112, 0, 1114113, 0, 1114143, 0, 1114144, 0, 1179648, 0, 1179649, 0, 1179654, 0, 1179655, 0, 1179656, 0, 1179679, 0, 1179680, 0, 1245184, 0, 1245185, 0, 1245204, 0, 1245205, 0, 1245206, 0, 1245207, 0, 1245215, 0, 1245216, 0, 1310720, 0, 1310721, 0, 1310751, 0, 1310752, 0, 1376256, 0, 1376257, 0, 1376285, 0, 1376286, 0, 1376287, 0, 1376288, 0, 1441792, 0, 1441793, 0, 1441823, 0, 1441824, 0, 1507328, 0, 1507329, 0, 1507355, 0, 1507356, 0, 1507359, 0, 1507360, 0, 1572864, 0, 1572865, 0, 1572895, 0, 1572896, 0, 1638400, 0, 1638401, 0, 1638413, 0, 1638425, 0, 1638426, 0, 1638431, 0, 1638432, 0, 1703936, 0, 1703937, 0, 1703948, 0, 1703965, 0, 1703966, 0, 1703967, 0, 1703968, 0, 1769472, 0, 1769473, 0, 1769482, 0, 1769483, 0, 1769500, 0, 1769501, 0, 1769503, 0, 1769504, 0, 1835008, 0, 1835009, 0, 1835012, 0, 1835018, 0, 1835019, 0, 1835034, 0, 1835035, 0, 1835039, 0, 1835040, 0, 1900544, 0, 1900545, 0, 1900546, 0, 1900547, 0, 1900548, 0, 1900549, 0, 1900550, 0, 1900551, 0, 1900552, 0, 1900553, 0, 1900554, 0, 1900555, 0, 1900556, 0, 1900557, 0, 1900558, 0, 1900559, 0, 1900560, 0, 1900561, 0, 1900562, 0, 1900563, 0, 1900564, 0, 1900565, 0, 1900566, 0, 1900567, 0, 1900568, 0, 1900569, 0, 1900570, 0, 1900571, 0, 1900572, 0, 1900573, 0, 1900574, 0, 1900575, 0, 1900576, 0, 1966080, 0, 1966081, 0, 1966082, 0, 1966083, 0, 1966084, 0, 1966085, 0, 1966086, 0, 1966087, 0, 1966088, 0, 1966089, 0, 1966090, 0, 1966091, 0, 1966092, 0, 1966093, 0, 1966094, 0, 1966095, 0, 1966096, 0, 1966097, 0, 1966098, 0, 1966099, 0, 1966100, 0, 1966101, 0, 1966102, 0, 1966103, 0, 1966104, 0, 1966105, 0, 1966106, 0, 1966107, 0, 1966108, 0, 1966109, 0, 1966110, 0, 1966111, 0, 1966112, 0, 2031616, 0, 2031617, 0, 2031618, 0, 2031619, 0, 2031620, 0, 2031621, 0, 2031622, 0, 2031623, 0, 2031624, 0, 2031625, 0, 2031626, 0, 2031627, 0, 2031628, 0, 2031629, 0, 2031630, 0, 2031631, 0, 2031632, 0, 2031633, 0, 2031634, 0, 2031635, 0, 2031636, 0, 2031637, 0, 2031638, 0, 2031639, 0, 2031640, 0, 2031641, 0, 2031642, 0, 2031643, 0, 2031644, 0, 2031645, 0, 2031646, 0, 2031647, 0, 2031648, 0 ) + +[node name="player" parent="." instance=ExtResource( 3 )] + +transform/pos = Vector2( 72, 430 ) +collision/margin = 0.05 + +[node name="moving_platform1" type="KinematicBody2D" parent="."] + +transform/pos = Vector2( 274.142, 152 ) +input/pickable = false +shapes/0/shape = SubResource( 3 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +collision/margin = 0.01 + +[node name="collision" type="CollisionShape2D" parent="moving_platform1"] + +shape = SubResource( 3 ) +trigger = false +_update_shape_index = -1 + +[node name="sprite" type="Sprite" parent="moving_platform1"] + +texture = ExtResource( 2 ) + +[node name="anim" type="AnimationPlayer" parent="moving_platform1"] + +playback/process_mode = 0 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/leftright = SubResource( 4 ) +playback/active = true +playback/speed = 1.0 +blend_times = [ ] +autoplay = "leftright" + +[node name="moving_platform2" type="KinematicBody2D" parent="."] + +transform/pos = Vector2( 88.3493, 284.689 ) +input/pickable = false +shapes/0/shape = SubResource( 3 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +collision/margin = 0.01 + +[node name="collision" type="CollisionShape2D" parent="moving_platform2"] + +shape = SubResource( 3 ) +trigger = false +_update_shape_index = -1 + +[node name="sprite" type="Sprite" parent="moving_platform2"] + +texture = ExtResource( 2 ) + +[node name="anim" type="AnimationPlayer" parent="moving_platform2"] + +playback/process_mode = 0 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/leftright = SubResource( 5 ) +anims/updown = SubResource( 6 ) +playback/active = true +playback/speed = 1.0 +blend_times = [ ] +autoplay = "updown" + +[node name="princess" type="Area2D" parent="."] + +transform/pos = Vector2( 97, 72 ) +input/pickable = true +shapes/0/shape = SubResource( 7 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +gravity_vec = Vector2( 0, 1 ) +gravity = 98.0 +linear_damp = 0.1 +angular_damp = 1.0 + +[node name="collision" type="CollisionShape2D" parent="princess"] + +shape = SubResource( 7 ) +trigger = false +_update_shape_index = -1 + +[node name="Sprite" type="Sprite" parent="princess"] + +texture = ExtResource( 4 ) + +[node name="youwin" type="Label" parent="."] + +visibility/visible = false +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +margin/left = 196.0 +margin/top = 41.0 +margin/right = 344.0 +margin/bottom = 67.0 +text = "Thank You Cubio\nYou Saved The Princess!" +align = 1 +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 + +[node name="oneway1" type="KinematicBody2D" parent="."] + +transform/pos = Vector2( 439, 301 ) +input/pickable = false +shapes/0/shape = SubResource( 8 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +one_way_collision/direction = Vector2( 0, 1 ) +one_way_collision/max_depth = 6.0 +collision/margin = 0.01 + +[node name="sprite" type="Sprite" parent="oneway1"] + +transform/scale = Vector2( 1, 0.3 ) +texture = ExtResource( 2 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="oneway1"] + +shape = SubResource( 8 ) +trigger = false +_update_shape_index = -1 + +[node name="oneway2" type="KinematicBody2D" parent="."] + +transform/pos = Vector2( 456, 301 ) +input/pickable = false +shapes/0/shape = SubResource( 8 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +one_way_collision/direction = Vector2( 0, 1 ) +one_way_collision/max_depth = 6.0 +collision/margin = 0.01 + +[node name="sprite" type="Sprite" parent="oneway2"] + +transform/scale = Vector2( 1, 0.3 ) +texture = ExtResource( 2 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="oneway2"] + +shape = SubResource( 8 ) +trigger = false +_update_shape_index = -1 + +[node name="oneway3" type="KinematicBody2D" parent="."] + +transform/pos = Vector2( 472, 301 ) +input/pickable = false +shapes/0/shape = SubResource( 8 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +one_way_collision/direction = Vector2( 0, 1 ) +one_way_collision/max_depth = 6.0 +collision/margin = 0.01 + +[node name="sprite" type="Sprite" parent="oneway3"] + +transform/scale = Vector2( 1, 0.3 ) +texture = ExtResource( 2 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="oneway3"] + +shape = SubResource( 8 ) +trigger = false +_update_shape_index = -1 + +[node name="oneway4" type="KinematicBody2D" parent="."] + +transform/pos = Vector2( 487, 301 ) +input/pickable = false +shapes/0/shape = SubResource( 8 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +one_way_collision/direction = Vector2( 0, 1 ) +one_way_collision/max_depth = 6.0 +collision/margin = 0.01 + +[node name="sprite" type="Sprite" parent="oneway4"] + +transform/scale = Vector2( 1, 0.3 ) +texture = ExtResource( 2 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="oneway4"] + +shape = SubResource( 8 ) +trigger = false +_update_shape_index = -1 + +[node name="circle" type="KinematicBody2D" parent="."] + +transform/pos = Vector2( 241.169, 304.126 ) +input/pickable = false +shapes/0/shape = SubResource( 9 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +shapes/1/shape = SubResource( 10 ) +shapes/1/transform = Matrix32( 1, 0, 0, 1, -0.440125, -37.0904 ) +shapes/1/trigger = false +collision/layers = 1 +collision/mask = 1 +collision/margin = 0.08 + +[node name="sprite" type="Sprite" parent="circle"] + +texture = ExtResource( 5 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="circle"] + +shape = SubResource( 9 ) +trigger = false +_update_shape_index = -1 + +[node name="anim" type="AnimationPlayer" parent="circle"] + +playback/process_mode = 1 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/turn = SubResource( 11 ) +playback/active = true +playback/speed = 1.0 +blend_times = [ ] +autoplay = "turn" + +[node name="box" type="CollisionShape2D" parent="circle"] + +transform/pos = Vector2( -0.440125, -37.0904 ) +shape = SubResource( 10 ) +trigger = false +_update_shape_index = -1 + +[node name="boxsprite" type="Sprite" parent="circle"] + +transform/pos = Vector2( 0, -37.4108 ) +texture = ExtResource( 2 ) + +[node name="platform" type="StaticBody2D" parent="."] + +transform/pos = Vector2( 251.44, 396.557 ) +transform/rot = 24.5257 +input/pickable = false +shapes/0/shape = SubResource( 12 ) +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="platform"] + +texture = ExtResource( 6 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="platform"] + +shape = SubResource( 12 ) +trigger = false +_update_shape_index = -1 + +[node name="platform1" type="StaticBody2D" parent="."] + +transform/pos = Vector2( 369.116, 394.016 ) +transform/rot = -26.6959 +input/pickable = false +shapes/0/shape = SubResource( 12 ) +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="platform1"] + +texture = ExtResource( 6 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="platform1"] + +shape = SubResource( 12 ) +trigger = false +_update_shape_index = -1 + +[connection signal="body_enter" from="princess" to="." method="_on_princess_body_enter"] + + diff --git a/demos/2d/kinematic_char/engine.cfg b/demos/2d/kinematic_char/engine.cfg index 8bdd5e2fc54..0ab2a552ca5 100644 --- a/demos/2d/kinematic_char/engine.cfg +++ b/demos/2d/kinematic_char/engine.cfg @@ -1,7 +1,7 @@ [application] name="Kinematic Character" -main_scene="res://colworld.scn" +main_scene="res://colworld.tscn" icon="res://icon.png" [display] diff --git a/demos/2d/kinematic_char/player.scn b/demos/2d/kinematic_char/player.scn deleted file mode 100644 index 5ee86ce85d5909f920b50d06e2343faf9849c05e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1703 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 AxBvhE diff --git a/demos/2d/kinematic_col/colworld.tscn b/demos/2d/kinematic_col/colworld.tscn new file mode 100644 index 00000000000..43eb58545e8 --- /dev/null +++ b/demos/2d/kinematic_col/colworld.tscn @@ -0,0 +1,47 @@ +[gd_scene load_steps=5 format=1] + +[ext_resource path="res://obstacle.png" type="Texture" id=1] +[ext_resource path="res://player.tscn" type="PackedScene" id=2] + +[sub_resource type="RectangleShape2D" id=1] + +custom_solver_bias = 0.0 +extents = Vector2( 8, 8 ) + +[sub_resource type="TileSet" id=2] + +0/name = "" +0/texture = ExtResource( 1 ) +0/tex_offset = Vector2( 0, 0 ) +0/region = Rect2( 0, 0, 0, 0 ) +0/occluder_offset = Vector2( 0, 0 ) +0/navigation_offset = Vector2( 0, 0 ) +0/shape_offset = Vector2( 8, 8 ) +0/shapes = [ SubResource( 1 ) ] + +[node name="colworld" type="Node2D"] + +[node name="TileMap" type="TileMap" parent="."] + +mode = 0 +tile_set = SubResource( 2 ) +cell/size = Vector2( 16, 16 ) +cell/quadrant_size = 16 +cell/custom_transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +cell/half_offset = 2 +cell/tile_origin = 0 +cell/y_sort = false +collision/use_kinematic = false +collision/friction = 1.0 +collision/bounce = 0.0 +collision/layers = 1 +collision/mask = 1 +occluder/light_mask = 1 +tile_data = IntArray( 0, 0, 1, 0, 2, 0, 3, 0, 4, 0, 5, 0, 6, 0, 7, 0, 8, 0, 9, 0, 10, 0, 11, 0, 12, 0, 13, 0, 14, 0, 15, 0, 16, 0, 17, 0, 18, 0, 19, 0, 20, 0, 21, 0, 22, 0, 23, 0, 24, 0, 25, 0, 26, 0, 27, 0, 28, 0, 29, 0, 30, 0, 31, 0, 32, 0, 65536, 0, 65537, 0, 65538, 0, 65539, 0, 65540, 0, 65541, 0, 65542, 0, 65543, 0, 65544, 0, 65545, 0, 65546, 0, 65547, 0, 65548, 0, 65549, 0, 65550, 0, 65551, 0, 65552, 0, 65553, 0, 65554, 0, 65555, 0, 65556, 0, 65557, 0, 65558, 0, 65559, 0, 65560, 0, 65561, 0, 65562, 0, 65563, 0, 65564, 0, 65565, 0, 65566, 0, 65567, 0, 65568, 0, 131072, 0, 131073, 0, 131103, 0, 131104, 0, 196608, 0, 196609, 0, 196639, 0, 196640, 0, 262144, 0, 262145, 0, 262175, 0, 262176, 0, 327680, 0, 327681, 0, 327685, 0, 327686, 0, 327687, 0, 327688, 0, 327689, 0, 327690, 0, 327691, 0, 327692, 0, 327693, 0, 327711, 0, 327712, 0, 393216, 0, 393217, 0, 393247, 0, 393248, 0, 458752, 0, 458753, 0, 458783, 0, 458784, 0, 524288, 0, 524289, 0, 524319, 0, 524320, 0, 589824, 0, 589825, 0, 589855, 0, 589856, 0, 655360, 0, 655361, 0, 655373, 0, 655374, 0, 655375, 0, 655376, 0, 655377, 0, 655378, 0, 655379, 0, 655380, 0, 655381, 0, 655391, 0, 655392, 0, 720896, 0, 720897, 0, 720909, 0, 720910, 0, 720911, 0, 720912, 0, 720913, 0, 720914, 0, 720915, 0, 720916, 0, 720917, 0, 720927, 0, 720928, 0, 786432, 0, 786433, 0, 786445, 0, 786446, 0, 786447, 0, 786448, 0, 786449, 0, 786450, 0, 786451, 0, 786452, 0, 786453, 0, 786463, 0, 786464, 0, 851968, 0, 851969, 0, 851981, 0, 851982, 0, 851988, 0, 851989, 0, 851999, 0, 852000, 0, 917504, 0, 917505, 0, 917517, 0, 917518, 0, 917524, 0, 917525, 0, 917535, 0, 917536, 0, 983040, 0, 983041, 0, 983053, 0, 983054, 0, 983060, 0, 983061, 0, 983071, 0, 983072, 0, 1048576, 0, 1048577, 0, 1048596, 0, 1048597, 0, 1048607, 0, 1048608, 0, 1114112, 0, 1114113, 0, 1114132, 0, 1114133, 0, 1114143, 0, 1114144, 0, 1179648, 0, 1179649, 0, 1179668, 0, 1179669, 0, 1179679, 0, 1179680, 0, 1245184, 0, 1245185, 0, 1245204, 0, 1245205, 0, 1245215, 0, 1245216, 0, 1310720, 0, 1310721, 0, 1310730, 0, 1310731, 0, 1310748, 0, 1310751, 0, 1310752, 0, 1376256, 0, 1376257, 0, 1376266, 0, 1376267, 0, 1376284, 0, 1376287, 0, 1376288, 0, 1441792, 0, 1441793, 0, 1441802, 0, 1441803, 0, 1441804, 0, 1441805, 0, 1441820, 0, 1441823, 0, 1441824, 0, 1507328, 0, 1507329, 0, 1507338, 0, 1507339, 0, 1507340, 0, 1507341, 0, 1507359, 0, 1507360, 0, 1572864, 0, 1572865, 0, 1572874, 0, 1572875, 0, 1572876, 0, 1572877, 0, 1572878, 0, 1572879, 0, 1572880, 0, 1572881, 0, 1572882, 0, 1572895, 0, 1572896, 0, 1638400, 0, 1638401, 0, 1638410, 0, 1638411, 0, 1638412, 0, 1638413, 0, 1638414, 0, 1638415, 0, 1638416, 0, 1638417, 0, 1638418, 0, 1638431, 0, 1638432, 0, 1703936, 0, 1703937, 0, 1703946, 0, 1703947, 0, 1703967, 0, 1703968, 0, 1769472, 0, 1769473, 0, 1769482, 0, 1769483, 0, 1769503, 0, 1769504, 0, 1835008, 0, 1835009, 0, 1835018, 0, 1835019, 0, 1835039, 0, 1835040, 0, 1900544, 0, 1900545, 0, 1900546, 0, 1900547, 0, 1900548, 0, 1900549, 0, 1900550, 0, 1900551, 0, 1900552, 0, 1900553, 0, 1900554, 0, 1900555, 0, 1900556, 0, 1900557, 0, 1900558, 0, 1900559, 0, 1900560, 0, 1900561, 0, 1900562, 0, 1900563, 0, 1900564, 0, 1900565, 0, 1900566, 0, 1900567, 0, 1900568, 0, 1900569, 0, 1900570, 0, 1900571, 0, 1900572, 0, 1900573, 0, 1900574, 0, 1900575, 0, 1900576, 0, 1966080, 0, 1966081, 0, 1966082, 0, 1966083, 0, 1966084, 0, 1966085, 0, 1966086, 0, 1966087, 0, 1966088, 0, 1966089, 0, 1966090, 0, 1966091, 0, 1966092, 0, 1966093, 0, 1966094, 0, 1966095, 0, 1966096, 0, 1966097, 0, 1966098, 0, 1966099, 0, 1966100, 0, 1966101, 0, 1966102, 0, 1966103, 0, 1966104, 0, 1966105, 0, 1966106, 0, 1966107, 0, 1966108, 0, 1966109, 0, 1966110, 0, 1966111, 0, 1966112, 0, 2031616, 0, 2031617, 0, 2031618, 0, 2031619, 0, 2031620, 0, 2031621, 0, 2031622, 0, 2031623, 0, 2031624, 0, 2031625, 0, 2031626, 0, 2031627, 0, 2031628, 0, 2031629, 0, 2031630, 0, 2031631, 0, 2031632, 0, 2031633, 0, 2031634, 0, 2031635, 0, 2031636, 0, 2031637, 0, 2031638, 0, 2031639, 0, 2031640, 0, 2031641, 0, 2031642, 0, 2031643, 0, 2031644, 0, 2031645, 0, 2031646, 0, 2031647, 0, 2031648, 0 ) + +[node name="player" parent="." instance=ExtResource( 2 )] + +transform/pos = Vector2( 115.243, 222.134 ) +collision/margin = 0.01 + + diff --git a/demos/2d/kinematic_col/engine.cfg b/demos/2d/kinematic_col/engine.cfg index 654288a9bd4..7e2435a34eb 100644 --- a/demos/2d/kinematic_col/engine.cfg +++ b/demos/2d/kinematic_col/engine.cfg @@ -1,7 +1,7 @@ [application] name="Kinematic Collision" -main_scene="res://colworld.scn" +main_scene="res://colworld.tscn" icon="res://icon.png" [input] diff --git a/demos/2d/kinematic_col/player.scn b/demos/2d/kinematic_col/player.scn deleted file mode 100644 index 28ad204472b16bf585c51cf2d5cfd62ee914171d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1625 zcmWkveQXrR6@R;XAHF*qAI9e|I6OXoK@vFE0o=F=etUcPqXY^*Xp=_G&febmyz$=d zb$8F$goq2ofiyxDAVLx;k!c$gRDzNsRc&K6SEDvcLsijAZBo%{N!vvJqoNT_MAKGu zn15#8yqWiYzc;_9nan8)+#PWMRu3SD00e-l0Ae*HfIuXuCsM;6O`lOje+mAxz?sqbUL6BuetJ;dHueYV*w5TrALCu#fBxR2&AY{cxvP zwu)4NC}|6rwyv3ESo{(U$RYt>N{EBN7896loMgJESw)lOrnNE~%+f4&LV#>TkRQhF zgcC;TMtD!{Ug#j}@S02@L}GHQ=t7D_povKMr|NqGG?G;fhE=Y3>9V2EXnB*-CUEhv z;L@BgG)pDTo$*8c z!II__4eLhZ*^pXdo~EkW@%o*H#Y&oI=oz~(-<86vLAUG}9@9>PckVQ{K(5+?Cqb#5 zgdBcIw#fhiO@=ZdWXib|BO`=q_LA;QqDPA^#*Wt2u_2xqwp`$4LZeBLR%b zEAsmRu9gw-0em5b4`X-c0V(>&?gw!Q*C1q)7()}itYCPyqn6D|*Mg|J9=QW< zm+ea%@IFblj1q0eM=?%scdcZG@C*V+^{uV~j>r-=VL0MiT3Ia{bIkMuo0K~?$zCF!7T^H|cpV}posB|?YjW^51vNO!A1WK3q;Xi{{TN%q66 zA3TSfxLI_JqyOY7haf@fXuA(5g7(yu%RG9J@AfD|v`2EM?E`*9QO?r!i^Eu|0dAMi zi1w6ATf--IR+r6pH!fqVFI+wsxe@4>_rv{9??;LQcr09CQ>Iaz_Hc`!&eO-FLm!e6 zTz?nql;&`(0ADD)u!qDcdzOZ|xh2EPw-}l=*nzU`^sdi%*ek!IjAK{k8KGdLIz&rn zbRB0^)fSWqn8PO*6V=U_fO)@;3%{qm_nDrJnStf;9r;+rWh%2~4ac@hy|2+u&gd!p z1Ut#A!D+i_TiQoK883=u+tpfp3H(QE{KTUFzncH+ntWY(;Yw0aOMR05o#nSN*?lyi zRZLISkLQ0{OO8%TS}AX&u2qx0p9-e^>=V+09F?~yUT~O!rQE_s|ag_F@cS zdX29VWBp?nCeCkoapC!eH@Llr0@mTbquz9-l(#g)gig{5?-MEX+@9TI4bcu<7igFm z&rXu2An!TYP$vhZUtFB|IjQeFHIbF~J+knR-@g?-I?%kJHOL?JHGct#f3YK%fBTnn zdgsdHPi*+5A1i#dYvkmu69mxUp+hzuTAmu;Ee-QoJd+zW0FC7=Bql+7>=iz0)u`V(T gyPH=hp8q`X2zjLeCU)%3UdqrTFqxZFCi$oGe|9hSwg3PC diff --git a/demos/2d/kinematic_col/player.tscn b/demos/2d/kinematic_col/player.tscn new file mode 100644 index 00000000000..92ad6936901 --- /dev/null +++ b/demos/2d/kinematic_col/player.tscn @@ -0,0 +1,32 @@ +[gd_scene load_steps=4 format=1] + +[ext_resource path="res://player.gd" type="Script" id=1] +[ext_resource path="res://player.png" type="Texture" id=2] + +[sub_resource type="RectangleShape2D" id=1] + +custom_solver_bias = 0.0 +extents = Vector2( 8, 8 ) + +[node name="player" type="KinematicBody2D"] + +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 +collision/margin = 0.01 +script/script = ExtResource( 1 ) + +[node name="sprite" type="Sprite" parent="."] + +texture = ExtResource( 2 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] + +shape = SubResource( 1 ) +trigger = false +_update_shape_index = -1 + + diff --git a/demos/2d/light_mask/engine.cfg b/demos/2d/light_mask/engine.cfg index 39608669ab0..3c2f1f3a790 100644 --- a/demos/2d/light_mask/engine.cfg +++ b/demos/2d/light_mask/engine.cfg @@ -1,7 +1,7 @@ [application] name="Using Lights As Mask" -main_scene="res://lightmask.scn" +main_scene="res://lightmask.tscn" icon="res://icon.png" [rasterizer] diff --git a/demos/2d/light_mask/lightmask.scn b/demos/2d/light_mask/lightmask.scn deleted file mode 100644 index fcf56b5b84dc831d802ff628b7ee1cdf03cd4594..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3829 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 AbpQYW diff --git a/demos/2d/light_mask/lightmask.tscn b/demos/2d/light_mask/lightmask.tscn new file mode 100644 index 00000000000..d489b735b04 --- /dev/null +++ b/demos/2d/light_mask/lightmask.tscn @@ -0,0 +1,134 @@ +[gd_scene load_steps=5 format=1] + +[ext_resource path="res://burano.png" type="Texture" id=1] +[ext_resource path="res://splat.png" type="Texture" id=2] + +[sub_resource type="CanvasItemMaterial" id=1] + +shader/shading_mode = 2 + +[sub_resource type="Animation" id=2] + +length = 4.0 +loop = true +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath("light1:transform/pos") +tracks/0/interp = 1 +tracks/0/keys = { "cont":true, "times":FloatArray( 0, 1, 2, 3 ), "transitions":FloatArray( -2, -2, -2, -2 ), "values":[ Vector2( 601.028, 242.639 ), Vector2( 318.649, 327.353 ), Vector2( 381.263, 130.915 ), Vector2( 462.294, 389.968 ) ] } +tracks/1/type = "value" +tracks/1/path = NodePath("light2:transform/pos") +tracks/1/interp = 1 +tracks/1/keys = { "cont":true, "times":FloatArray( 0, 1, 2, 3 ), "transitions":FloatArray( -2, -2, -2, -2 ), "values":[ Vector2( 196.528, 185.139 ), Vector2( 135.142, 454.013 ), Vector2( 638.105, 334.923 ), Vector2( 331.375, 101.653 ) ] } +tracks/2/type = "value" +tracks/2/path = NodePath("light3:transform/pos") +tracks/2/interp = 1 +tracks/2/keys = { "cont":true, "times":FloatArray( 0, 1, 2, 3 ), "transitions":FloatArray( -2, -2, -2, -2 ), "values":[ Vector2( 442.528, 411.139 ), Vector2( 635.283, 236.8 ), Vector2( 216.215, 396.815 ), Vector2( 682.96, 294.708 ) ] } + +[node name="lightmask_demo" type="Control"] + +anchor/right = 1 +anchor/bottom = 1 +focus/ignore_mouse = false +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 0.0 +margin/top = 0.0 +margin/right = 0.0 +margin/bottom = 0.0 + +[node name="burano" type="TextureFrame" parent="."] + +material/material = SubResource( 1 ) +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 0.0 +margin/top = 0.0 +margin/right = 800.0 +margin/bottom = 600.0 +texture = ExtResource( 1 ) + +[node name="light1" type="Light2D" parent="."] + +transform/pos = Vector2( 601.028, 242.639 ) +transform/scale = Vector2( 1.62522, 1.62999 ) +enabled = true +texture = ExtResource( 2 ) +offset = Vector2( 0, 0 ) +scale = 1.0 +color = Color( 1, 1, 1, 1 ) +energy = 1.0 +mode = 2 +range/height = 0.0 +range/z_min = -1024 +range/z_max = 1024 +range/layer_min = 0 +range/layer_max = 0 +range/item_mask = 1 +shadow/enabled = false +shadow/color = Color( 0, 0, 0, 0 ) +shadow/buffer_size = 2048 +shadow/esm_multiplier = 80.0 +shadow/item_mask = 1 + +[node name="light2" type="Light2D" parent="."] + +transform/pos = Vector2( 196.528, 185.139 ) +transform/scale = Vector2( 1.76194, 1.71984 ) +enabled = true +texture = ExtResource( 2 ) +offset = Vector2( 0, 0 ) +scale = 1.0 +color = Color( 1, 1, 1, 1 ) +energy = 1.0 +mode = 2 +range/height = 0.0 +range/z_min = -1024 +range/z_max = 1024 +range/layer_min = 0 +range/layer_max = 0 +range/item_mask = 1 +shadow/enabled = false +shadow/color = Color( 0, 0, 0, 0 ) +shadow/buffer_size = 2048 +shadow/esm_multiplier = 80.0 +shadow/item_mask = 1 + +[node name="light3" type="Light2D" parent="."] + +transform/pos = Vector2( 442.528, 411.139 ) +transform/scale = Vector2( 1.76194, 1.71984 ) +enabled = true +texture = ExtResource( 2 ) +offset = Vector2( 0, 0 ) +scale = 1.0 +color = Color( 1, 1, 1, 1 ) +energy = 1.0 +mode = 2 +range/height = 0.0 +range/z_min = -1024 +range/z_max = 1024 +range/layer_min = 0 +range/layer_max = 0 +range/item_mask = 1 +shadow/enabled = false +shadow/color = Color( 0, 0, 0, 0 ) +shadow/buffer_size = 2048 +shadow/esm_multiplier = 80.0 +shadow/item_mask = 1 + +[node name="anim" type="AnimationPlayer" parent="."] + +playback/process_mode = 1 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/maskmotion = SubResource( 2 ) +playback/active = true +playback/speed = 1.0 +blend_times = [ ] +autoplay = "maskmotion" + + diff --git a/demos/2d/lights_shadows/engine.cfg b/demos/2d/lights_shadows/engine.cfg index 80142633d3a..51a98eddd70 100644 --- a/demos/2d/lights_shadows/engine.cfg +++ b/demos/2d/lights_shadows/engine.cfg @@ -1,7 +1,7 @@ [application] name="2D Lighting" -main_scene="res://light_shadows.scn" +main_scene="res://light_shadows.tscn" icon="res://icon.png" [display] diff --git a/demos/2d/lights_shadows/light_shadows.scn b/demos/2d/lights_shadows/light_shadows.scn deleted file mode 100644 index 24ccd1e0be6d2fa184b69d3bcda0fbb232cffd09..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4978 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 P)OZ(8E>skvU)%m0nC22- diff --git a/demos/2d/lights_shadows/light_shadows.tscn b/demos/2d/lights_shadows/light_shadows.tscn new file mode 100644 index 00000000000..f31692889e5 --- /dev/null +++ b/demos/2d/lights_shadows/light_shadows.tscn @@ -0,0 +1,326 @@ +[gd_scene load_steps=9 format=1] + +[ext_resource path="res://bg.png" type="Texture" id=1] +[ext_resource path="res://caster.png" type="Texture" id=2] +[ext_resource path="res://light.png" type="Texture" id=3] +[ext_resource path="res://spot.png" type="Texture" id=4] + +[sub_resource type="OccluderPolygon2D" id=1] + +closed = true +cull_mode = 0 +polygon = Vector2Array( -15.913, -15.9738, 15.9079, -16.0785, 15.6986, 15.847, -16.1223, 15.9517 ) + +[sub_resource type="Animation" id=2] + +length = 16.0 +loop = true +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath(".:transform/pos") +tracks/0/interp = 1 +tracks/0/keys = { "cont":true, "times":FloatArray( 0, 4, 8, 12 ), "transitions":FloatArray( -2, -2, -2, -2 ), "values":[ Vector2( 159.289, 452.441 ), Vector2( 132.279, 80.4366 ), Vector2( 700.722, 241.27 ), Vector2( 429.392, 571.532 ) ] } + +[sub_resource type="Animation" id=3] + +length = 16.0 +loop = true +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath(".:transform/pos") +tracks/0/interp = 1 +tracks/0/keys = { "cont":true, "times":FloatArray( 0, 4.1, 8.1, 11.8 ), "transitions":FloatArray( -2, -2, -2, -2 ), "values":[ Vector2( 753.756, 314.336 ), Vector2( 69.7562, 234.336 ), Vector2( 256.756, 575.336 ), Vector2( 516.756, 530.336 ) ] } + +[sub_resource type="Animation" id=4] + +length = 16.0 +loop = true +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath(".:transform/pos") +tracks/0/interp = 1 +tracks/0/keys = { "cont":true, "times":FloatArray( 0, 4.1, 7.9, 12.1 ), "transitions":FloatArray( -2, -2, -2, -2 ), "values":[ Vector2( 692.078, 29.8849 ), Vector2( 309.606, 31.5551 ), Vector2( 40.7064, 238.658 ), Vector2( 685.397, 282.082 ) ] } + +[node name="base" type="Node2D"] + +[node name="ambient" type="CanvasModulate" parent="."] + +color = Color( 0.479177, 0.464761, 0.498946, 1 ) + +[node name="bg" type="Sprite" parent="."] + +transform/pos = Vector2( 401.251, 301.906 ) +transform/scale = Vector2( 6.39454, 4.82665 ) +texture = ExtResource( 1 ) + +[node name="casters" type="Node2D" parent="."] + +[node name="shadow_caster" type="Sprite" parent="casters"] + +transform/pos = Vector2( 95.2909, 85.3186 ) +texture = ExtResource( 2 ) + +[node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster"] + +occluder = SubResource( 1 ) +light_mask = 1 + +[node name="shadow_caster1" type="Sprite" parent="casters"] + +transform/pos = Vector2( 200.291, 313.319 ) +texture = ExtResource( 2 ) + +[node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster1"] + +occluder = SubResource( 1 ) +light_mask = 1 + +[node name="shadow_caster2" type="Sprite" parent="casters"] + +transform/pos = Vector2( 76.2909, 405.319 ) +texture = ExtResource( 2 ) + +[node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster2"] + +occluder = SubResource( 1 ) +light_mask = 1 + +[node name="shadow_caster3" type="Sprite" parent="casters"] + +transform/pos = Vector2( 348.291, 206.319 ) +texture = ExtResource( 2 ) + +[node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster3"] + +occluder = SubResource( 1 ) +light_mask = 1 + +[node name="shadow_caster4" type="Sprite" parent="casters"] + +transform/pos = Vector2( 239.291, 48.3186 ) +texture = ExtResource( 2 ) + +[node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster4"] + +occluder = SubResource( 1 ) +light_mask = 1 + +[node name="shadow_caster5" type="Sprite" parent="casters"] + +transform/pos = Vector2( 140.291, 561.319 ) +texture = ExtResource( 2 ) + +[node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster5"] + +occluder = SubResource( 1 ) +light_mask = 1 + +[node name="shadow_caster6" type="Sprite" parent="casters"] + +transform/pos = Vector2( 392.291, 499.319 ) +texture = ExtResource( 2 ) + +[node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster6"] + +occluder = SubResource( 1 ) +light_mask = 1 + +[node name="shadow_caster7" type="Sprite" parent="casters"] + +transform/pos = Vector2( 735.291, 552.319 ) +texture = ExtResource( 2 ) + +[node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster7"] + +occluder = SubResource( 1 ) +light_mask = 1 + +[node name="shadow_caster8" type="Sprite" parent="casters"] + +transform/pos = Vector2( 661.291, 371.319 ) +texture = ExtResource( 2 ) + +[node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster8"] + +occluder = SubResource( 1 ) +light_mask = 1 + +[node name="shadow_caster9" type="Sprite" parent="casters"] + +transform/pos = Vector2( 567.291, 574.319 ) +texture = ExtResource( 2 ) + +[node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster9"] + +occluder = SubResource( 1 ) +light_mask = 1 + +[node name="shadow_caster10" type="Sprite" parent="casters"] + +transform/pos = Vector2( 420.291, 350.319 ) +texture = ExtResource( 2 ) + +[node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster10"] + +occluder = SubResource( 1 ) +light_mask = 1 + +[node name="shadow_caster11" type="Sprite" parent="casters"] + +transform/pos = Vector2( 463.291, 106.319 ) +texture = ExtResource( 2 ) + +[node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster11"] + +occluder = SubResource( 1 ) +light_mask = 1 + +[node name="shadow_caster12" type="Sprite" parent="casters"] + +transform/pos = Vector2( 621.291, 78.3186 ) +texture = ExtResource( 2 ) + +[node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster12"] + +occluder = SubResource( 1 ) +light_mask = 1 + +[node name="shadow_caster13" type="Sprite" parent="casters"] + +transform/pos = Vector2( 761.291, 240.319 ) +texture = ExtResource( 2 ) + +[node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster13"] + +occluder = SubResource( 1 ) +light_mask = 1 + +[node name="shadow_caster14" type="Sprite" parent="casters"] + +transform/pos = Vector2( 771.291, 29.3186 ) +texture = ExtResource( 2 ) + +[node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster14"] + +occluder = SubResource( 1 ) +light_mask = 1 + +[node name="red_light" type="Light2D" parent="."] + +transform/pos = Vector2( 159.289, 452.441 ) +enabled = true +texture = ExtResource( 3 ) +offset = Vector2( 0, 0 ) +scale = 1.0 +color = Color( 1, 0.446392, 0.0576646, 1 ) +energy = 1.0 +mode = 0 +range/height = 0.0 +range/z_min = -1024 +range/z_max = 1024 +range/layer_min = 0 +range/layer_max = 0 +range/item_mask = 1 +shadow/enabled = true +shadow/color = Color( 0, 0, 0, 0 ) +shadow/buffer_size = 2048 +shadow/esm_multiplier = 80.0 +shadow/item_mask = 1 + +[node name="blob" type="Sprite" parent="red_light"] + +visibility/blend_mode = 1 +texture = ExtResource( 4 ) + +[node name="anim" type="AnimationPlayer" parent="red_light"] + +playback/process_mode = 1 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/motion = SubResource( 2 ) +anims/motion2 = SubResource( 3 ) +playback/active = true +playback/speed = 1.0 +blend_times = [ ] +autoplay = "motion" + +[node name="green_light" type="Light2D" parent="."] + +transform/pos = Vector2( 753.756, 314.336 ) +enabled = true +texture = ExtResource( 3 ) +offset = Vector2( 0, 0 ) +scale = 1.0 +color = Color( 0.49247, 0.878537, 0.409146, 1 ) +energy = 1.0 +mode = 0 +range/height = 0.0 +range/z_min = -1024 +range/z_max = 1024 +range/layer_min = 0 +range/layer_max = 0 +range/item_mask = 1 +shadow/enabled = true +shadow/color = Color( 0, 0, 0, 0 ) +shadow/buffer_size = 2048 +shadow/esm_multiplier = 80.0 +shadow/item_mask = 1 + +[node name="blob" type="Sprite" parent="green_light"] + +visibility/blend_mode = 1 +texture = ExtResource( 4 ) + +[node name="anim" type="AnimationPlayer" parent="green_light"] + +playback/process_mode = 1 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/m2 = SubResource( 3 ) +anims/motion = SubResource( 2 ) +playback/active = true +playback/speed = 1.0 +blend_times = [ ] +autoplay = "m2" + +[node name="blue_light" type="Light2D" parent="."] + +transform/pos = Vector2( 692.078, 29.8849 ) +enabled = true +texture = ExtResource( 3 ) +offset = Vector2( 0, 0 ) +scale = 1.0 +color = Color( 0.396752, 0.446392, 0.929792, 1 ) +energy = 1.0 +mode = 0 +range/height = 0.0 +range/z_min = -1024 +range/z_max = 1024 +range/layer_min = 0 +range/layer_max = 0 +range/item_mask = 1 +shadow/enabled = true +shadow/color = Color( 0, 0, 0, 0 ) +shadow/buffer_size = 2048 +shadow/esm_multiplier = 80.0 +shadow/item_mask = 1 + +[node name="blob" type="Sprite" parent="blue_light"] + +visibility/blend_mode = 1 +texture = ExtResource( 4 ) + +[node name="anim" type="AnimationPlayer" parent="blue_light"] + +playback/process_mode = 1 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/motion = SubResource( 2 ) +anims/motion2 = SubResource( 3 ) +anims/motion3 = SubResource( 4 ) +playback/active = true +playback/speed = 1.0 +blend_times = [ ] +autoplay = "motion3" + + diff --git a/demos/2d/lookat/engine.cfg b/demos/2d/lookat/engine.cfg index 81df107f0e7..c37f39386e9 100644 --- a/demos/2d/lookat/engine.cfg +++ b/demos/2d/lookat/engine.cfg @@ -1,5 +1,5 @@ [application] name="Look At Pointer" -main_scene="res://lookat.scn" +main_scene="res://lookat.tscn" icon="res://icon.png" diff --git a/demos/2d/lookat/lookat.scn b/demos/2d/lookat/lookat.scn deleted file mode 100644 index 66be060c06da4b69179ad5af44faa1ff394658e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1640 zcmW-ie{2-T702K1-rf5A1H1Ug*$4K`8El`^!eN^v)DZmk_VACYxQ>lgS_C`myYbz| zce}^#o^2cu2MK9QM3W|MTGA3-nx-WRiXgN^v{kr-3Zf>iR7ePcMA;+=LVuv95)mPd z(skyKr=Y8kRcQm78vJ4BO27puojQ9XJfC2}6!N&nd1gIoJ)rgvyV#%=t(;3W{ zlNzTRKp<;j5fK)d%rf$3f<<*T%fL^*CMpwoJ(*!i+Tybkrk1m#1s{DB%1CS3CN^v5 zO$Ifjf?!o|G^(1WF|#tKr$8jNFh=im_?EJaVN9v^%2blRj(_xIjD(sYYxpksl&nH< z#1HT$3J@eq@#o+rBKU}ahj|NHi66UAC~O5w4Pd9JC|PE!ib5au4jW0<9jE2qq-L^& zP2aAxO;xuh4Ko|f85TVccJVx-m^G65jA}D_N8$5Vc-%)?fYA|QEN5z@4ZFpJpDQrx{0?*y6_uQ7r!8n9ix9A18Y-J+rllFW+o?L~1_rR34107XVdTk( zn+qb8f^?(91;Im>U=SY^rd7Ah1BFScNm`42NT7*CsuhJLHQO+iTqd8=bcMXg+sq1g zIzj}$AxOHGrFGICtf5D|nx#!-7(MLP58&4DHka`dE=JLB>1s~NX|pWjcve6yxr+ul z(;z#@EwYDWIeJ=nto)(%cn=D~oME^?!Sz5N*2KE#-E<{Zxl1CUfX%V9w3#zm_z#>m z?RcNY6|`AMnOf5E9N_Aq*yO+guQ54kF}pZdco?dQNY@Ki+L&?tvczahu@|!?z+XyF z@y4W847f%(&J{`+aJb`7`yJ0gX&id?j3dQW_yaM?CNo+pZR2WA*+IAPJKrH{7+Zz8 zN!9#H<82vha3?=$OjFU-xH^WlSoBS6Y$j)zzm8y=bV@#n;n)zD)LMhQo?vw8!qE^L zD9q_Pi5X>3e%@G)6lc5^~2a_Zd;Rh4MXH9 zZ`w#1y85A4!XxsFQiCIa^SzS0Uv$1GIe#rl@5)b{ZU%*2llQ;+Cv0B!fJe<|Y$fr- ziIb&fsA~-iYIZ_v{d=Lg?O8r!m^2_fd9Z1H$rX1+c=L*9Q)wvnE^XosQ)~OJ<6*MS z&*|)$>%#mSZ`^|~aaG`O2L;PaP0(()>{5A@oS?_#!<;gk=;wR;w?;t?8*V0r?R2jt<+9zlW$@C16b!G8?RRG_9RTk z^!D9IB(42hI4S~oWPo!qd=eWFq-_AcReHp|%K z8^0I(8jp6;sOz9U?7%4P@WLS(3Rh?c|NF~*G{o0V4N?(1O1C9@V8(sMg!I5VBEXkL zz_6=i5sstah#)P-jkpXyj-Pfp6|T3pVrWAFmkdnd688d7#$%2km4q`~*2k>P==@*pntR1FQrM@fUr0Em>~Md6hrQ!kUs(0_*F(x%P({(YgVVlUQ} zKKb*%j;!);S$^O4{b?hUzWI9S#HXG2rLPO|)eoLqylv)0`%f<2yrRAQe*0@5eX;MO z)q6=O{Z`ZIZO(VUtaqx!=TC;tc3rqDILcK&d*fK?`x_ql>~<*UH?B?n<(p?O^~-k@ zy3TB#AKoy3VV4*p?6KwkTNl3*DhU7ke_nb>E&X_&UOn~S1Mh7Y z)~*T#nkO=Kg#-N2JC|Wu*Out)sr|d3+sFTO^oITB4S0VpM9RIJpQt|+>rB3LIUTuu zZ}sI}&)uJ%Ium}OyS&uTUGzm@iI+YD1-as_^^X6&-$ed#u)%+nd|nMh8;0XA#OPkP NFQa3l@~HdA{2!Nj5|#h} diff --git a/demos/2d/lookat/lookat.tscn b/demos/2d/lookat/lookat.tscn new file mode 100644 index 00000000000..8505dcc972d --- /dev/null +++ b/demos/2d/lookat/lookat.tscn @@ -0,0 +1,32 @@ +[gd_scene load_steps=3 format=1] + +[ext_resource path="res://arrow.png" type="Texture" id=1] +[ext_resource path="res://lookat.gd" type="Script" id=2] + +[node name="lookatscene" type="Node2D"] + +[node name="direct" type="Sprite" parent="."] + +transform/pos = Vector2( 132, 105 ) +texture = ExtResource( 1 ) +modulate = Color( 1, 0.799619, 0.734765, 1 ) +script/script = ExtResource( 2 ) +mode = 0 + +[node name="constant" type="Sprite" parent="."] + +transform/pos = Vector2( 611, 216 ) +texture = ExtResource( 1 ) +modulate = Color( 0.751241, 0.662843, 1, 1 ) +script/script = ExtResource( 2 ) +mode = 1 + +[node name="smooth" type="Sprite" parent="."] + +transform/pos = Vector2( 314, 457 ) +texture = ExtResource( 1 ) +modulate = Color( 0.749446, 1, 0.782884, 1 ) +script/script = ExtResource( 2 ) +mode = 2 + + diff --git a/demos/2d/motion/engine.cfg b/demos/2d/motion/engine.cfg index 6e660572d6f..5395398e162 100644 --- a/demos/2d/motion/engine.cfg +++ b/demos/2d/motion/engine.cfg @@ -1,7 +1,7 @@ [application] name="Motion Test" -main_scene="res://motion.scn" +main_scene="res://motion.tscn" icon="res://icon.png" [display] diff --git a/demos/2d/motion/motion.scn b/demos/2d/motion/motion.scn deleted file mode 100644 index 6e1935667421c81c86210ea8ff48cb0b8bd4e6b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2738 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 diff --git a/demos/2d/motion/motion.tscn b/demos/2d/motion/motion.tscn new file mode 100644 index 00000000000..920ee55423d --- /dev/null +++ b/demos/2d/motion/motion.tscn @@ -0,0 +1,135 @@ +[gd_scene load_steps=4 format=1] + +[ext_resource path="res://car.png" type="Texture" id=1] +[ext_resource path="res://motion.gd" type="Script" id=2] + +[sub_resource type="Animation" id=1] + +resource/name = "motion" +length = 5.0 +loop = true +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath(".:transform/pos") +tracks/0/interp = 1 +tracks/0/keys = { "cont":true, "times":FloatArray( 0, 5 ), "transitions":FloatArray( 1, 1 ), "values":[ Vector2( -113, 154 ), Vector2( 907, 154 ) ] } + +[node name="Node2D" type="Node2D"] + +[node name="idle" type="Node2D" parent="."] + +[node name="car" type="Sprite" parent="idle"] + +transform/pos = Vector2( -113, 154 ) +texture = ExtResource( 1 ) + +[node name="anim" type="AnimationPlayer" parent="idle/car"] + +playback/process_mode = 1 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/motion = SubResource( 1 ) +playback/active = true +playback/speed = 1.0 +blend_times = [ ] +autoplay = "motion" + +[node name="Label" type="Label" parent="idle"] + +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +margin/left = 27.0 +margin/top = 80.0 +margin/right = 104.0 +margin/bottom = 93.0 +text = "Idle Process Animation" +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 + +[node name="fixed" type="Node2D" parent="."] + +transform/pos = Vector2( 0, 106 ) + +[node name="car" type="Sprite" parent="fixed"] + +transform/pos = Vector2( -113, 154 ) +texture = ExtResource( 1 ) + +[node name="anim" type="AnimationPlayer" parent="fixed/car"] + +playback/process_mode = 0 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/motion = SubResource( 1 ) +playback/active = true +playback/speed = 1.0 +blend_times = [ ] +autoplay = "motion" + +[node name="Label1" type="Label" parent="fixed"] + +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +margin/left = 27.0 +margin/top = 80.0 +margin/right = 104.0 +margin/bottom = 93.0 +text = "Fixed Process Animation" +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 + +[node name="code_idle" type="Node2D" parent="."] + +transform/pos = Vector2( 0, 215 ) + +[node name="car" type="Sprite" parent="code_idle"] + +transform/pos = Vector2( -113, 154 ) +texture = ExtResource( 1 ) +script/script = ExtResource( 2 ) +use_idle = true + +[node name="Label1" type="Label" parent="code_idle"] + +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +margin/left = 27.0 +margin/top = 80.0 +margin/right = 104.0 +margin/bottom = 93.0 +text = "Idle Process Code" +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 + +[node name="code_fixed" type="Node2D" parent="."] + +transform/pos = Vector2( 0, 324 ) + +[node name="car" type="Sprite" parent="code_fixed"] + +transform/pos = Vector2( -113, 154 ) +texture = ExtResource( 1 ) +script/script = ExtResource( 2 ) +use_idle = false + +[node name="Label1" type="Label" parent="code_fixed"] + +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +margin/left = 27.0 +margin/top = 80.0 +margin/right = 104.0 +margin/bottom = 93.0 +text = "Fixed Process Code" +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 + + diff --git a/demos/2d/navpoly/engine.cfg b/demos/2d/navpoly/engine.cfg index b7504199154..e9921c4b5b3 100644 --- a/demos/2d/navpoly/engine.cfg +++ b/demos/2d/navpoly/engine.cfg @@ -1,7 +1,7 @@ [application] name="Navigation Polygon (2D)" -main_scene="res://navigation.scn" +main_scene="res://navigation.tscn" icon="res://icon.png" [display] diff --git a/demos/2d/navpoly/navigation.scn b/demos/2d/navpoly/navigation.scn deleted file mode 100644 index c56270bfd3cb2d5ae2d758f7bf1a5c048f220a9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5128 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 diff --git a/demos/2d/navpoly/navigation.tscn b/demos/2d/navpoly/navigation.tscn new file mode 100644 index 00000000000..b28c917be5e --- /dev/null +++ b/demos/2d/navpoly/navigation.tscn @@ -0,0 +1,34 @@ +[gd_scene load_steps=5 format=1] + +[ext_resource path="res://navigation.gd" type="Script" id=1] +[ext_resource path="res://path.png" type="Texture" id=2] +[ext_resource path="res://agent.png" type="Texture" id=3] + +[sub_resource type="NavigationPolygon" id=1] + +vertices = Vector2Array( 587.833, 271.924, 530.464, 284.878, 508.256, 281.177, 497.153, 255.269, 669.26, 297.833, 648.903, 321.891, 650.754, 251.567, 619.293, 510.654, 676.663, 493.998, 706.272, 501.401, 669.26, 529.16, 602.638, 523.608, 587.833, 179.393, 573.028, 140.53, 645.202, 159.036, 710.106, 179.216, 630.397, 212.704, 597.086, 192.348, 648.903, 394.065, 621.144, 486.596, 618.011, 402.479, 624.926, 359.595, 605.437, 456.366, 598.937, 492.148, 471.244, 251.567, 421.277, 270.074, 428.68, 246.015, 502.704, 97.9661, 517.509, 55.4019, 537.866, 99.8167, 536.016, 175.692, 495.302, 164.588, 487.899, 85.0117, 310.24, 75.7586, 308.39, 92.4142, 345.402, 210.854, 360.207, 223.808, 297.286, 258.97, 288.033, 231.211, 319.493, 190.497, 193.651, 423.675, 245.469, 477.343, 221.41, 488.446, 147.386, 408.87, 182.548, 382.961, 145.584, 224.311, 175.145, 332.995, 202.904, 99.8167, 310.24, 62.8043, 695.169, 303.385, 682.214, 284.878, 524.608, 359.37, 526.762, 342.248, 538.077, 499.891, 571.177, 501.401, 395.879, 501.87, 536.407, 524.944, 371.311, 518.056, 573.028, 94.2648, 582.281, 47.9994, 667.409, 75.7586, 350.954, 447.733, 363.908, 351.501, 384.265, 351.501, 376.862, 418.123, 373.441, 436.494, 424.978, 334.845, 421.277, 360.754, 352.804, 320.04, 321.344, 338.546, 299.136, 283.028, 241.767, 327.443, 234.365, 244.165, 325.228, 486.302, 300.441, 497.494, 317.643, 447.733, 332.441, 457.494, 366.441, 467.494, 480.497, 434.779, 518.035, 461.477, 476.441, 468.494, 265.825, 407.019, 184.398, 349.65, 310.24, 112.771, 267.676, 153.485, 221.41, 171.991, 700.721, 268.223, 397.219, 188.646, 415.725, 177.543, 465.692, 179.393, 476.796, 207.152, 443.485, 192.348, 437.933, 170.14, 452.738, 166.439, 460.14, 123.875, 476.796, 149.783, 189.95, 231.211 ) +polygons = [ IntArray( 0, 1, 2, 3 ), IntArray( 4, 5, 6 ), IntArray( 7, 8, 9, 10, 11 ), IntArray( 12, 13, 14, 15, 16, 17 ), IntArray( 18, 19, 20, 21 ), IntArray( 22, 20, 19, 23 ), IntArray( 24, 3, 2, 25, 26 ), IntArray( 27, 28, 29, 30, 31 ), IntArray( 28, 27, 32 ), IntArray( 33, 28, 32, 34 ), IntArray( 35, 36, 37, 38, 39 ), IntArray( 40, 41, 42, 43 ), IntArray( 44, 40, 43 ), IntArray( 44, 43, 45, 46 ), IntArray( 47, 48, 33, 34 ), IntArray( 49, 9, 8, 4, 50 ), IntArray( 50, 4, 6 ), IntArray( 21, 20, 51, 52 ), IntArray( 53, 22, 23, 54 ), IntArray( 23, 7, 11, 54 ), IntArray( 55, 53, 54, 56, 57 ), IntArray( 14, 58, 59, 60, 15 ), IntArray( 61, 62, 63, 64, 65 ), IntArray( 66, 67, 63, 68 ), IntArray( 68, 63, 62, 69, 70 ), IntArray( 70, 69, 71, 72 ), IntArray( 70, 72, 38, 37 ), IntArray( 73, 55, 57, 74 ), IntArray( 73, 74, 75, 76 ), IntArray( 65, 77, 76, 61 ), IntArray( 78, 2, 1, 52, 51 ), IntArray( 78, 51, 79, 80 ), IntArray( 78, 80, 65, 64 ), IntArray( 81, 61, 76, 75 ), IntArray( 81, 75, 44, 82 ), IntArray( 47, 34, 83, 84, 85 ), IntArray( 15, 86, 50, 6, 16 ), IntArray( 12, 17, 3, 24 ), IntArray( 26, 25, 87, 88 ), IntArray( 89, 31, 30, 90, 91 ), IntArray( 89, 91, 92, 93 ), IntArray( 39, 94, 95, 93, 92 ), IntArray( 39, 92, 88 ), IntArray( 39, 88, 87, 35 ), IntArray( 39, 38, 85, 84 ), IntArray( 45, 47, 85, 96 ), IntArray( 45, 96, 46 ), IntArray( 44, 46, 82 ) ] +outlines = [ Vector2Array( 221.41, 488.446, 147.386, 408.87, 145.584, 224.311, 202.904, 99.8167, 310.24, 62.8043, 310.24, 75.7586, 517.509, 55.4019, 537.866, 99.8167, 536.016, 175.692, 476.796, 207.152, 443.485, 192.348, 437.933, 170.14, 415.725, 177.543, 428.68, 246.015, 471.244, 251.567, 587.833, 179.393, 573.028, 140.53, 645.202, 159.036, 573.028, 94.2648, 582.281, 47.9994, 667.409, 75.7586, 710.106, 179.216, 700.721, 268.223, 682.214, 284.878, 695.169, 303.385, 706.272, 501.401, 669.26, 529.16, 602.638, 523.608, 571.177, 501.401, 536.407, 524.944, 371.311, 518.056, 300.441, 497.494, 317.643, 447.733, 182.548, 382.961, 193.651, 423.675, 245.469, 477.343 ), Vector2Array( 350.954, 447.733, 363.908, 351.501, 321.344, 338.546, 241.767, 327.443, 234.365, 244.165, 288.033, 231.211, 221.41, 171.991, 189.95, 231.211, 175.145, 332.995, 184.398, 349.65, 265.825, 407.019 ), Vector2Array( 267.676, 153.485, 310.24, 112.771, 308.39, 92.4142, 487.899, 85.0117, 502.704, 97.9661, 495.302, 164.588, 465.692, 179.393, 452.738, 166.439, 476.796, 149.783, 460.14, 123.875, 319.493, 190.497 ), Vector2Array( 397.219, 188.646, 345.402, 210.854, 360.207, 223.808, 297.286, 258.97, 299.136, 283.028, 352.804, 320.04, 424.978, 334.845, 421.277, 360.754, 384.265, 351.501, 376.862, 418.123, 480.497, 434.779, 508.256, 281.177, 421.277, 270.074 ), Vector2Array( 497.153, 255.269, 597.086, 192.348, 630.397, 212.704, 650.754, 251.567, 648.903, 321.891, 669.26, 297.833, 676.663, 493.998, 619.293, 510.654, 598.937, 492.148, 621.144, 486.596, 648.903, 394.065, 624.926, 359.595, 526.762, 342.248, 530.464, 284.878, 587.833, 271.924 ), Vector2Array( 325.228, 486.302, 332.441, 457.494, 366.441, 467.494, 373.441, 436.494, 476.441, 468.494, 518.035, 461.477, 524.608, 359.37, 618.011, 402.479, 605.437, 456.366, 538.077, 499.891, 395.879, 501.87 ) ] + +[node name="navigation" type="Navigation2D"] + +script/script = ExtResource( 1 ) + +[node name="path" type="Sprite" parent="."] + +transform/pos = Vector2( 429.585, 287.32 ) +texture = ExtResource( 2 ) + +[node name="navpoly" type="NavigationPolygonInstance" parent="."] + +navpoly = SubResource( 1 ) +enabled = true + +[node name="agent" type="Sprite" parent="."] + +transform/pos = Vector2( 228.464, 132.594 ) +transform/scale = Vector2( 0.5, 0.5 ) +texture = ExtResource( 3 ) +offset = Vector2( 0, -26 ) + + diff --git a/demos/2d/normalmaps/engine.cfg b/demos/2d/normalmaps/engine.cfg index 4f9f4f67f0d..ba5fcca8534 100644 --- a/demos/2d/normalmaps/engine.cfg +++ b/demos/2d/normalmaps/engine.cfg @@ -1,7 +1,7 @@ [application] name="2D Normal Mapping" -main_scene="res://normalmap.scn" +main_scene="res://normalmap.tscn" icon="res://icon.png" [display] diff --git a/demos/2d/normalmaps/normal_material.res b/demos/2d/normalmaps/normal_material.res deleted file mode 100644 index 27928519f8e4656e86ad805a48e2c77ab1564653..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 508 zcmXAmO>YuW7=_FC}_ygLl8&}3PHSS#-H`4gzEY7n#$?0_4ZMvX9^jjnP#fauf7->m{5ra-E z(2H%$n^@uFNVqwkYpEmOp06ltTeQn>gQyIBrW>s9P8Z3*Dx*)+o4j|<8q^h^#T)*JKjeQX zjVH7OeQBtykt@BZ?+-)LQQ*YaX#v@@by1)x3VQ50Lwse3l2bzRgSB#JrxmzX5JDaY z(vI+=9tSlX#u2u6;e@z+ZQ#H5Y6yL}aTvjMl=2m#u@f4(XU{u(ruG!~_)FSI4obEC zgQ}rMhq!@>w0AbPjb^RRQ|T?ESw%f5A~>-3*ax6|&-fBy&cAA=?U diff --git a/demos/2d/normalmaps/normal_material.tres b/demos/2d/normalmaps/normal_material.tres new file mode 100644 index 00000000000..2741fbfe94b --- /dev/null +++ b/demos/2d/normalmaps/normal_material.tres @@ -0,0 +1,14 @@ +[gd_resource type="CanvasItemMaterial" load_steps=3 format=1] + +[ext_resource path="res://normal.jpg" type="Texture" id=1] + +[sub_resource type="CanvasItemShader" id=1] + +_code = { "fragment":"uniform texture normal;\n//normal maps expect Y-up, but 2D is Y-down, so must mirror this.\nNORMAL = tex(normal,UV).rgb * vec3(2.0,-2.0,1.0) - vec3(1.0,-1.0,0.0);", "fragment_ofs":0, "light":"", "light_ofs":0, "vertex":"", "vertex_ofs":0 } + +[resource] + +shader/shader = SubResource( 1 ) +shader/shading_mode = 0 +shader_param/normal = ExtResource( 1 ) + diff --git a/demos/2d/normalmaps/normalmap.scn b/demos/2d/normalmaps/normalmap.scn deleted file mode 100644 index 4501e7116ad6556b77f218340633ba9d5b5b8f9f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2829 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 RUCRA^lT(r<$te=a{{dntCI0{b diff --git a/demos/2d/normalmaps/normalmap.tscn b/demos/2d/normalmaps/normalmap.tscn new file mode 100644 index 00000000000..c7f8feb0f44 --- /dev/null +++ b/demos/2d/normalmaps/normalmap.tscn @@ -0,0 +1,63 @@ +[gd_scene load_steps=5 format=1] + +[ext_resource path="res://normal_material.tres" type="CanvasItemMaterial" id=1] +[ext_resource path="res://diffuse.jpg" type="Texture" id=2] +[ext_resource path="res://light.png" type="Texture" id=3] + +[sub_resource type="Animation" id=1] + +resource/name = "motion" +length = 10.0 +loop = true +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath("light:transform/pos") +tracks/0/interp = 1 +tracks/0/keys = { "cont":true, "times":FloatArray( 0, 2.5, 5, 7.5 ), "transitions":FloatArray( -2, -2, -2, -2 ), "values":[ Vector2( 177.912, 174.508 ), Vector2( 612.159, 161.147 ), Vector2( 667.275, 526.917 ), Vector2( 177.912, 526.917 ) ] } + +[node name="base" type="Node2D"] + +[node name="sprite" type="Sprite" parent="."] + +material/material = ExtResource( 1 ) +transform/pos = Vector2( 400, 300 ) +texture = ExtResource( 2 ) + +[node name="ambient" type="CanvasModulate" parent="."] + +color = Color( 0.0657094, 0.202485, 0.328838, 1 ) + +[node name="light" type="Light2D" parent="."] + +transform/pos = Vector2( 177.912, 174.508 ) +enabled = true +texture = ExtResource( 3 ) +offset = Vector2( 0, 0 ) +scale = 0.8 +color = Color( 1, 1, 1, 1 ) +energy = 1.0 +mode = 0 +range/height = 200.0 +range/z_min = -1024 +range/z_max = 1024 +range/layer_min = 0 +range/layer_max = 0 +range/item_mask = 1 +shadow/enabled = false +shadow/color = Color( 0, 0, 0, 0 ) +shadow/buffer_size = 2048 +shadow/esm_multiplier = 80.0 +shadow/item_mask = 1 + +[node name="anim" type="AnimationPlayer" parent="."] + +playback/process_mode = 1 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/motion = SubResource( 1 ) +playback/active = true +playback/speed = 1.0 +blend_times = [ ] +autoplay = "motion" + + diff --git a/demos/2d/particles/engine.cfg b/demos/2d/particles/engine.cfg index b3dd540561e..4b91966d8a7 100644 --- a/demos/2d/particles/engine.cfg +++ b/demos/2d/particles/engine.cfg @@ -1,5 +1,5 @@ [application] name="Particle Systems" -main_scene="res://particles.xml" +main_scene="res://particles.tscn" icon="res://icon.png" diff --git a/demos/2d/particles/particles.tscn b/demos/2d/particles/particles.tscn new file mode 100644 index 00000000000..c9aca0518f4 --- /dev/null +++ b/demos/2d/particles/particles.tscn @@ -0,0 +1,174 @@ +[gd_scene load_steps=8 format=1] + +[ext_resource path="res://fire_particle.png" type="Texture" id=1] +[ext_resource path="res://smoke_particle.png" type="Texture" id=2] +[ext_resource path="res://spark_particle2.png" type="Texture" id=3] + +[sub_resource type="ColorRamp" id=1] + +offsets = FloatArray( 0, 0.1, 1 ) +colors = ColorArray( 1, 1, 1, 0, 0.886275, 0.371681, 0, 1, 1, 0.99115, 1, 0 ) + +[sub_resource type="ColorRamp" id=2] + +offsets = FloatArray( 0, 0.2, 1 ) +colors = ColorArray( 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0 ) + +[sub_resource type="ColorRamp" id=3] + +offsets = FloatArray( 0, 0.1, 0.5, 1 ) +colors = ColorArray( 1, 1, 1, 0.870518, 1, 0.47451, 0.6, 1, 0.529412, 0.74902, 1, 1, 0, 1, 0.698039, 0 ) + +[sub_resource type="ColorRamp" id=4] + +offsets = FloatArray( 0, 0.1, 0.7, 1 ) +colors = ColorArray( 1, 1, 1, 0, 0.886275, 0.401015, 0, 1, 1, 0.679866, 0.432123, 0.12654, 0, 0, 0, 0 ) + +[node name="Node" type="Node"] + +[node name="Fire" type="Particles2D" parent="."] + +visibility/blend_mode = 1 +transform/pos = Vector2( 165.787, 527.801 ) +transform/rot = -179.791 +config/amount = 32 +config/lifetime = 1.0 +config/half_extents = Vector2( 15, 15 ) +config/local_space = false +config/texture = ExtResource( 1 ) +params/direction = 0.0 +params/spread = 0.0 +params/linear_velocity = 20.0 +params/spin_velocity = 0.0 +params/orbit_velocity = 0.0 +params/gravity_direction = 180.0 +params/gravity_strength = 80.0 +params/radial_accel = 0.0 +params/tangential_accel = 0.0 +params/damping = 0.0 +params/initial_angle = 180.0 +params/initial_size = 0.7 +params/final_size = 0.3 +params/hue_variation = 0.0 +params/anim_speed_scale = 1.0 +params/anim_initial_pos = 0.0 +randomness/initial_angle = 2.0 +color/color_ramp = SubResource( 1 ) + +[node name="Smoke" type="Particles2D" parent="."] + +transform/pos = Vector2( 377.396, 543.147 ) +transform/rot = 176.576 +config/amount = 32 +config/lifetime = 4.0 +config/local_space = false +config/texture = ExtResource( 2 ) +params/direction = 0.0 +params/spread = 20.9073 +params/linear_velocity = 47.1515 +params/spin_velocity = 1.0 +params/orbit_velocity = 0.0 +params/gravity_direction = 0.0 +params/gravity_strength = 0.0 +params/radial_accel = 0.0 +params/tangential_accel = 0.0 +params/damping = 0.0 +params/initial_angle = 180.0 +params/initial_size = 1.0 +params/final_size = 3.0 +params/hue_variation = 0.0 +params/anim_speed_scale = 1.0 +params/anim_initial_pos = 0.0 +randomness/spin_velocity = 1.0 +randomness/initial_angle = 1.0 +color/color_ramp = SubResource( 2 ) + +[node name="Magic" type="Particles2D" parent="."] + +transform/pos = Vector2( 593.848, 531.064 ) +config/amount = 32 +config/lifetime = 2.0 +config/half_extents = Vector2( 40, 40 ) +config/local_space = false +config/texture = ExtResource( 3 ) +params/direction = 0.0 +params/spread = 180.0 +params/linear_velocity = 20.0 +params/spin_velocity = 0.3 +params/orbit_velocity = 0.01 +params/gravity_direction = 0.0 +params/gravity_strength = 9.8 +params/radial_accel = 0.0 +params/tangential_accel = 15.5152 +params/damping = 0.0 +params/initial_angle = 45.0 +params/initial_size = 3.0 +params/final_size = 1.0 +params/hue_variation = 0.0 +params/anim_speed_scale = 1.0 +params/anim_initial_pos = 0.0 +randomness/spin_velocity = 1.0 +randomness/orbit_velocity = 100.0 +randomness/initial_angle = 1.0 +color/color_ramp = SubResource( 3 ) + +[node name="Explosion" type="Particles2D" parent="."] + +visibility/behind_parent = true +visibility/blend_mode = 1 +transform/pos = Vector2( 613.467, 182.62 ) +transform/rot = -179.791 +config/amount = 32 +config/lifetime = 2.0 +config/time_scale = 2.0 +config/half_extents = Vector2( 15, 15 ) +config/local_space = false +config/explosiveness = 0.05 +config/texture = ExtResource( 2 ) +params/direction = 0.0 +params/spread = 180.0 +params/linear_velocity = 184.547 +params/spin_velocity = 0.0 +params/orbit_velocity = 0.0 +params/gravity_direction = 180.0 +params/gravity_strength = 80.0 +params/radial_accel = 0.0 +params/tangential_accel = 0.0 +params/damping = 366.3 +params/initial_angle = 1.0 +params/initial_size = 0.7 +params/final_size = 3.0 +params/hue_variation = 0.0 +params/anim_speed_scale = 1.0 +params/anim_initial_pos = 0.0 +color/color_ramp = SubResource( 4 ) + +[node name="Mask" type="Particles2D" parent="."] + +transform/pos = Vector2( 192.975, 141.598 ) +config/amount = 170 +config/lifetime = 0.1 +config/half_extents = Vector2( 128, 128 ) +config/local_space = false +config/texture = ExtResource( 3 ) +params/direction = 0.0 +params/spread = 180.0 +params/linear_velocity = 0.0 +params/spin_velocity = 2.0 +params/orbit_velocity = 0.0 +params/gravity_direction = 0.0 +params/gravity_strength = 0.0 +params/radial_accel = 0.0 +params/tangential_accel = 0.0 +params/damping = 0.0 +params/initial_angle = 1.0 +params/initial_size = 1.0 +params/final_size = 1.0 +params/hue_variation = 0.0 +params/anim_speed_scale = 1.0 +params/anim_initial_pos = 0.0 +randomness/spin_velocity = 1.0 +color/color = Color( 1, 0.477876, 0.60177, 1 ) +emission_points = Vector2Array( -0.125, -0.03125, 0.65625, -0.148438, 0.609375, 0.0234375, -0.757812, 0.375, 0.265625, 0.078125, 0.632812, 0.382812, 0.671875, 0.414062, 0.367188, -0.226562, 0.75, -0.125, 0.4375, 0.421875, 0.335938, -0.148438, -0.125, 0.257812, -0.171875, 0.359375, -0.601562, -0.265625, 0.375, 0.382812, -0.296875, 0.09375, -0.664062, -0.21875, -0.554688, -0.226562, -0.320312, 0.367188, -0.320312, -0.257812, 0, -0.257812, 0.578125, -0.25, -0.164062, 0.109375, -0.578125, -0.015625, -0.445312, 0, 0.273438, 0.101562, 0.320312, 0.03125, -0.125, 0.0703125, -0.570312, 0.289062, 0.257812, -0.09375, -0.585938, 0.179688, -0.664062, 0.0234375, -0.25, -0.0859375, 0.6875, -0.109375, 0.234375, 0, -0.5, -0.265625, 0.710938, 0.335938, 0.609375, -0.046875, 0.664062, -0.210938, -0.242188, -0.21875, -0.484375, -0.257812, -0.453125, 0.414062, 0.609375, -0.203125, 0.289062, 0.132812, -0.03125, -0.257812, -0.492188, -0.1875, 0.5625, -0.140625, -0.5625, 0.148438, -0.257812, -0.234375, -0.140625, 0.15625, -0.5625, 0.109375, 0.132812, 0.398438, -0.640625, -0.25, -0.585938, 0.304688, -0.328125, -0.257812, 0.226562, 0.148438, -0.546875, 0.210938, 0.625, 0.179688, 0.648438, -0.0078125, 0.367188, 0.328125, 0.265625, 0.0546875, -0.59375, -0.273438, -0.203125, 0.21875, 0.570312, -0.21875, -0.695312, 0.078125, -0.375, 0.03125, -0.164062, 0.0390625, 0.265625, 0.226562, -0.625, -0.109375, 0.203125, -0.132812, -0.671875, 0.328125, 0.625, -0.179688, -0.640625, 0.0859375, 0.65625, 0, -0.242188, 0.414062, 0.242188, 0.25, -0.148438, -0.0625, 0.390625, -0.25, 0.664062, 0.351562, 0.320312, 0.203125, -0.546875, 0.335938, 0.328125, -0.148438, 0.609375, -0.0625, -0.171875, 0.046875, -0.578125, 0.0546875, -0.304688, -0.28125, 0.734375, -0.0546875, 0.679688, 0.390625, -0.460938, 0.0859375, -0.703125, 0.101562, -0.140625, 0.234375, -0.507812, 0.078125, -0.25, 0.304688, -0.046875, 0.359375, 0.1875, 0.0703125, -0.570312, 0.242188, 0.65625, 0.0859375, -0.203125, -0.265625, -0.164062, -0.179688, 0.367188, -0.1875, -0.601562, -0.101562, -0.117188, -0.210938, -0.546875, 0.109375, -0.585938, -0.28125, -0.59375, -0.03125, 0.3125, -0.179688, 0.414062, 0.429688, -0.476562, -0.195312, -0.0703125, -0.21875, -0.5625, 0.304688, -0.609375, 0.226562, 0.429688, 0.429688, 0.203125, 0.242188, 0.078125, 0.367188, 0.242188, 0.03125, 0.601562, -0.0390625, 0.328125, 0.03125, -0.53125, -0.195312, -0.53125, -0.210938, 0.3125, -0.257812, 0.445312, -0.273438, 0.273438, -0.273438, -0.695312, -0.179688, 0.234375, -0.15625, -0.546875, -0.242188, -0.234375, -0.125, 0.734375, -0.226562, 0.367188, -0.234375, -0.15625, 0.046875, -0.445312, -0.226562, 0.625, 0.03125, -0.0859375, 0.210938, -0.648438, 0.296875, 0.335938, -0.109375, 0.625, -0.078125, 0.601562, 0.351562, 0.242188, 0.140625, 0.0234375, -0.273438, -0.679688, -0.109375, 0.640625, 0.15625, 0.171875, 0.0859375, -0.273438, -0.273438, -0.242188, 0.34375, 0.179688, 0.15625, -0.179688, -0.117188, 0.671875, 0.03125, -0.640625, 0.304688, 0.109375, -0.242188, -0.210938, 0.382812, -0.0859375, 0.0078125, -0.695312, 0.078125, 0.296875, 0.320312, 0.304688, -0.226562, 0.257812, -0.0234375, -0.203125, -0.015625, -0.648438, 0.335938, -0.703125, -0.132812, -0.273438, -0.210938, -0.15625, -0.273438, -0.0390625, 0.335938, 0.617188, 0.179688, 0.34375, 0.390625, -0.210938, -0.132812, -0.226562, -0.117188, 0.617188, -0.289062, 0.125, -0.21875, 0.71875, -0.164062, -0.570312, 0.1875, -0.1875, 0.382812, 0.640625, -0.296875, -0.125, 0.109375, 0.671875, 0.289062, -0.515625, 0.382812, 0.359375, -0.179688, 0.726562, -0.226562, 0.25, 0.320312, -0.328125, 0, -0.117188, -0.234375, -0.210938, -0.148438, -0.546875, -0.117188, 0.359375, 0.429688, -0.15625, -0.226562, 0.632812, -0.257812, -0.28125, -0.273438, 0.265625, 0.015625, -0.765625, 0.351562, 0.703125, 0.421875, -0.585938, 0.0078125, 0.28125, 0.109375, 0.304688, 0.171875, 0.65625, 0.421875, 0.078125, 0.382812, 0.179688, 0.25, -0.382812, 0.0703125, 0.585938, -0.140625, -0.109375, 0.382812, -0.59375, -0.09375, 0.4375, 0.398438, -0.132812, 0.0234375, -0.625, 0.0078125, -0.210938, -0.21875, -0.25, 0.257812, 0.257812, 0.398438, 0.625, 0.195312, 0.148438, -0.234375, -0.476562, 0.398438, -0.210938, 0.046875, 0.695312, -0.101562, 0.695312, 0.140625, -0.492188, -0.1875, 0.25, -0.09375, -0.195312, -0.195312, -0.328125, 0.0703125, -0.242188, -0.0625, 0.296875, 0.34375, -0.632812, 0.0078125, -0.265625, 0.09375, 0.421875, -0.203125, 0.171875, 0.03125, -0.09375, -0.0703125, 0.289062, 0.0859375, -0.609375, 0.390625, -0.554688, 0.257812, -0.6875, 0.0078125, 0.304688, 0.414062, 0.226562, 0.390625, -0.21875, -0.28125, 0.265625, 0.320312, -0.671875, 0.234375, -0.210938, 0.03125, 0.679688, -0.0234375, 0.359375, -0.203125, 0.3125, 0.289062, 0.671875, 0.140625, -0.78125, 0.414062, -0.546875, 0.40625, 0.625, 0.367188, 0.0859375, 0.421875, 0.1875, -0.09375, 0.617188, 0.40625, -0.078125, -0.0390625, 0.695312, 0.0859375, -0.6875, -0.265625, 0.421875, -0.265625, 0.601562, -0.0234375, -0.3125, -0.265625, -0.078125, 0.046875, 0.617188, 0.164062, 0.273438, -0.03125, -0.695312, -0.015625, -0.5625, 0.164062, -0.578125, 0.265625, -0.726562, 0.421875, -0.078125, -0.25, -0.171875, 0.171875, -0.234375, -0.0390625, 0.257812, 0.429688, -0.179688, -0.117188, 0.351562, -0.03125, -0.78125, -0.234375, -0.546875, -0.171875, -0.460938, -0.234375, -0.164062, 0.09375, -0.65625, 0.398438, -0.445312, 0.0859375, -0.71875, -0.226562, 0.671875, 0.101562, -0.46875, -0.195312, -0.71875, -0.265625, 0.617188, 0.125, -0.78125, -0.21875, -0.226562, -0.15625, 0.21875, 0.0234375, 0.289062, 0.101562, 0.648438, -0.171875, 0.390625, -0.273438, -0.257812, 0.078125, -0.21875, 0, 0.65625, -0.203125, -0.679688, 0.171875, -0.1875, 0.328125, -0.46875, -0.28125, 0.273438, 0, 0.664062, 0.296875, -0.140625, 0.335938, -0.625, 0.382812, -0.34375, -0.21875, -0.171875, -0.25, -0.546875, -0.117188, -0.117188, -0.203125, -0.1875, 0.351562, -0.585938, -0.109375, -0.203125, -0.0625, -0.570312, 0.03125, -0.5625, -0.109375, 0.601562, -0.195312, 0.3125, 0.140625, -0.101562, 0.25, 0.25, 0.3125, 0.125, -0.203125, -0.09375, -0.140625, -0.242188, 0.414062, 0.664062, -0.0625, -0.21875, -0.078125, 0.6875, -0.210938, -0.140625, 0.015625, -0.632812, -0.25, -0.109375, 0.234375, -0.695312, 0.015625, -0.3125, -0.28125, 0.296875, -0.0234375, 0.296875, 0.203125, -0.125, 0.234375, 0.570312, 0.390625, -0.554688, 0.203125, -0.5625, 0.351562, -0.15625, 0.21875, -0.375, 0.0390625, -0.226562, -0.140625, 0.695312, 0.164062, 0.632812, 0.367188, -0.328125, -0.210938, -0.59375, 0.34375, 0.304688, -0.242188, -0.34375, 0.0703125, -0.679688, -0.179688, 0.664062, 0.101562, 0.34375, 0.171875, -0.695312, -0.078125, -0.242188, -0.0546875, 0.304688, -0.234375, -0.0078125, -0.21875, -0.632812, 0.203125, 0.625, 0.03125, -0.414062, 0.015625, 0.273438, -0.078125, 0.695312, 0.28125, 0.34375, 0.101562, -0.164062, 0.289062, -0.1875, 0.273438, -0.203125, 0.0703125, 0.734375, -0.171875, -0.59375, 0.34375, -0.15625, 0.210938, 0.429688, 0.375, -0.234375, 0.34375, 0.617188, 0.101562, 0.703125, 0, -0.578125, 0.148438, 0.21875, -0.171875, -0.304688, 0.375, -0.65625, -0.09375, -0.101562, 0.25, -0.4375, 0.03125, -0.242188, 0.421875, -0.546875, 0.0625, -0.632812, -0.148438, -0.125, 0.179688, 0.179688, 0.304688, -0.265625, 0.078125, -0.289062, 0.421875, -0.585938, 0.1875, -0.289062, 0.34375, 0.273438, 0.367188, -0.109375, 0.117188, 0.34375, 0.046875, -0.0625, 0.320312, 0.6875, -0.234375, -0.523438, 0.320312, -0.09375, -0.242188, -0.65625, 0.25, -0.609375, -0.117188, -0.140625, 0.140625, 0.28125, -0.09375, -0.625, -0.28125, 0.34375, 0.328125, 0.265625, 0.109375, -0.609375, 0.0078125, -0.078125, -0.234375, -0.289062, -0.203125, 0.289062, 0.289062, -0.0859375, 0.0078125, -0.101562, -0.28125, -0.625, -0.101562, -0.546875, 0.382812, -0.539062, -0.195312, -0.210938, 0.046875, -0.492188, 0.390625, -0.664062, -0.0703125, 0.71875, -0.101562, -0.140625, -0.046875, 0.695312, 0.289062, -0.710938, 0.429688, -0.703125, 0.3125, -0.203125, 0.109375, 0.421875, -0.273438, 0.304688, 0.21875, 0.328125, 0.257812, -0.632812, -0.0703125, 0.320312, -0.140625, 0.265625, -0.203125, -0.109375, -0.179688, 0.25, -0.210938, 0.65625, 0.109375, -0.648438, -0.0625, -0.0859375, 0.375, -0.429688, 0.398438, 0.320312, 0.3125, -0.0703125, 0.265625, 0.648438, 0.0078125, 0.320312, 0.335938, 0.398438, 0.421875, -0.101562, -0.0625, -0.296875, 0.40625, 0.695312, -0.0390625, 0.335938, 0.21875, -0.546875, 0.117188, -0.476562, 0.390625, -0.648438, 0.117188, -0.078125, -0.28125, 0.328125, 0.289062, -0.226562, 0.179688, 0.226562, 0.375, -0.429688, 0.382812, -0.0546875, 0.34375, 0.59375, -0.125, 0.632812, 0.265625, 0.226562, 0.3125, -0.523438, -0.140625, -0.546875, 0.046875, 0.242188, -0.148438, -0.648438, 0.0234375, -0.289062, 0, -0.546875, 0.101562, -0.125, -0.0625, -0.492188, 0.367188, 0.328125, 0.15625, -0.351562, 0.0546875, -0.609375, 0.414062, -0.296875, 0.09375, 0.671875, -0.203125, -0.257812, -0.273438, -0.335938, 0.414062, 0.65625, -0.195312, -0.601562, -0.101562, -0.203125, -0.078125, 0.210938, 0.242188, 0.296875, 0.335938, -0.578125, 0.40625, -0.664062, -0.078125, -0.0859375, 0.390625, 0.171875, 0.304688, -0.6875, 0.390625, -0.554688, 0.0078125, -0.570312, -0.179688, -0.210938, -0.09375, 0.726562, -0.03125, -0.546875, -0.0859375, -0.265625, -0.171875, -0.65625, 0.179688, -0.171875, 0.257812, -0.164062, -0.171875, 0.203125, 0.335938, -0.640625, 0.21875, 0.390625, 0.375, 0.6875, -0.234375, 0.742188, 0.34375, -0.0546875, 0.351562, -0.632812, 0.195312, 0.671875, -0.21875, 0.195312, 0.015625, 0.226562, 0.117188, -0.507812, 0.078125, -0.140625, -0.15625, 0.703125, -0.28125, 0.226562, -0.140625, 0.328125, 0.421875, 0.3125, 0.1875, 0.703125, 0.078125, 0.351562, 0.289062, 0.21875, -0.242188, -0.328125, 0, 0.171875, 0.101562, -0.304688, -0.242188, -0.210938, 0.078125, 0.625, -0.0078125, 0.25, 0.242188, -0.664062, 0.117188, 0.203125, -0.140625, 0.226562, 0.429688, 0.328125, -0.203125, -0.679688, 0.0703125, -0.195312, -0.148438, -0.523438, 0.328125, 0.382812, -0.257812, 0.578125, -0.171875, 0.65625, 0.320312, -0.632812, -0.148438, 0.703125, 0.0703125, -0.53125, 0.398438, -0.414062, 0.03125, -0.0859375, 0.0546875, -0.53125, 0.335938, 0.304688, 0.429688, -0.234375, -0.148438, -0.375, 0.046875, -0.148438, 0.289062, -0.0390625, 0.421875, 0.226562, -0.125, -0.570312, 0.398438, -0.0703125, -0.0234375, 0.257812, -0.132812 ) + + diff --git a/demos/2d/particles/particles.xml b/demos/2d/particles/particles.xml deleted file mode 100644 index c21ccb1f55b..00000000000 --- a/demos/2d/particles/particles.xml +++ /dev/null @@ -1,275 +0,0 @@ - - - - - - - 0, 0.1, 1 - 1, 1, 1, 0, 0.886275, 0.371681, 0, 1, 1, 0.99115, 1, 0 - - - - 0, 0.2, 1 - 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0 - - - - 0, 0.1, 0.5, 1 - 1, 1, 1, 0.870518, 1, 0.47451, 0.6, 1, 0.529412, 0.74902, 1, 1, 0, 1, 0.698039, 0 - - - - 0, 0.1, 0.7, 1 - 1, 1, 1, 0, 0.886275, 0.401015, 0, 1, 1, 0.679866, 0.432123, 0.12654, 0, 0, 0, 0 - - - - - "conn_count" - 0 - "conns" - - "editable_instances" - - - "names" - - "Node" - "__meta__" - "Fire" - "visibility/blend_mode" - "transform/pos" - "transform/rot" - "config/amount" - "config/lifetime" - "config/half_extents" - "config/local_space" - "config/texture" - "params/direction" - "params/spread" - "params/linear_velocity" - "params/spin_velocity" - "params/orbit_velocity" - "params/gravity_direction" - "params/gravity_strength" - "params/radial_accel" - "params/tangential_accel" - "params/damping" - "params/initial_angle" - "params/initial_size" - "params/final_size" - "params/hue_variation" - "params/anim_speed_scale" - "params/anim_initial_pos" - "randomness/initial_angle" - "color/color_ramp" - "Particles2D" - "Smoke" - "randomness/spin_velocity" - "Magic" - "randomness/orbit_velocity" - "Explosion" - "visibility/behind_parent" - "config/time_scale" - "config/explosiveness" - "Mask" - "color/color" - "emission_points" - - "node_count" - 6 - "node_paths" - - - "nodes" - -1, -1, 0, 0, -1, 1, 1, 0, 0, 0, 0, 29, 2, -1, 26, 3, 1, 4, 2, 5, 3, 6, 4, 7, 5, 8, 6, 9, 7, 10, 8, 11, 9, 12, 9, 13, 10, 14, 9, 15, 9, 16, 11, 17, 12, 18, 9, 19, 9, 20, 9, 21, 11, 22, 13, 23, 14, 24, 9, 25, 5, 26, 9, 27, 15, 28, 16, 0, 0, 0, 29, 30, -1, 25, 4, 17, 5, 18, 6, 4, 7, 19, 9, 7, 10, 20, 11, 9, 12, 21, 13, 22, 14, 5, 15, 9, 16, 9, 17, 9, 18, 9, 19, 9, 20, 9, 21, 11, 22, 5, 23, 23, 24, 9, 25, 5, 26, 9, 31, 5, 27, 5, 28, 24, 0, 0, 0, 29, 32, -1, 26, 4, 25, 6, 4, 7, 15, 8, 26, 9, 7, 10, 27, 11, 9, 12, 11, 13, 10, 14, 14, 15, 28, 16, 9, 17, 29, 18, 9, 19, 30, 20, 9, 21, 31, 22, 23, 23, 5, 24, 9, 25, 5, 26, 9, 31, 5, 33, 32, 27, 5, 28, 33, 0, 0, 0, 29, 34, -1, 28, 35, 34, 3, 1, 4, 35, 5, 3, 6, 4, 7, 15, 36, 15, 8, 6, 9, 7, 37, 36, 10, 20, 11, 9, 12, 11, 13, 37, 14, 9, 15, 9, 16, 11, 17, 12, 18, 9, 19, 9, 20, 38, 21, 5, 22, 13, 23, 23, 24, 9, 25, 5, 26, 9, 28, 39, 0, 0, 0, 29, 38, -1, 25, 4, 40, 6, 41, 7, 42, 8, 43, 9, 7, 10, 27, 11, 9, 12, 11, 13, 9, 14, 15, 15, 9, 16, 9, 17, 9, 18, 9, 19, 9, 20, 9, 21, 5, 22, 5, 23, 5, 24, 9, 25, 5, 26, 9, 31, 5, 39, 44, 40, 45, 0 - "variants" - - - "__editor_plugin_screen__" - "2D" - "__editor_plugin_states__" - - "2D" - - "ofs" - -193.367, -465.428 - "snap_grid" - False - "snap_offset" - 0, 0 - "snap_pixel" - False - "snap_relative" - False - "snap_rotation" - False - "snap_rotation_offset" - 0 - "snap_rotation_step" - 0.261799 - "snap_show_grid" - False - "snap_step" - 10, 10 - "zoom" - 0.440127 - - "3D" - - "ambient_light_color" - 0.15, 0.15, 0.15, 1 - "default_light" - True - "default_srgb" - False - "deflight_rot_x" - 0.942478 - "deflight_rot_y" - 0.628319 - "fov" - 45 - "show_grid" - True - "show_origin" - True - "viewport_mode" - 1 - "viewports" - - - "distance" - 4 - "listener" - True - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "zfar" - 500 - "znear" - 0.1 - - "Anim" - - "visible" - False - - - "__editor_run_settings__" - - "custom_args" - "-l $scene" - "run_mode" - 0 - - - 1 - 165.787, 527.801 - -179.790649 - 32 - 1 - 15, 15 - False - - 0 - 20 - 180 - 80 - 0.7 - 0.3 - 2 - - 377.396, 543.147 - 176.575912 - 4 - - 20.907272 - 47.151516 - 3 - - 593.848, 531.064 - 40, 40 - - 0.01 - 9.8 - 15.515152 - 45 - 100 - - True - 613.467, 182.62 - 0.05 - 184.546997 - 366.300415 - - 192.975, 141.598 - 170 - 0.1 - 128, 128 - 1, 0.477876, 0.60177, 1 - -0.125, -0.03125, 0.65625, -0.148438, 0.609375, 0.0234375, -0.757812, 0.375, 0.265625, 0.078125, 0.632812, 0.382812, 0.671875, 0.414062, 0.367188, -0.226562, 0.75, -0.125, 0.4375, 0.421875, 0.335938, -0.148438, -0.125, 0.257812, -0.171875, 0.359375, -0.601562, -0.265625, 0.375, 0.382812, -0.296875, 0.09375, -0.664062, -0.21875, -0.554688, -0.226562, -0.320312, 0.367188, -0.320312, -0.257812, 0, -0.257812, 0.578125, -0.25, -0.164062, 0.109375, -0.578125, -0.015625, -0.445312, 0, 0.273438, 0.101562, 0.320312, 0.03125, -0.125, 0.0703125, -0.570312, 0.289062, 0.257812, -0.09375, -0.585938, 0.179688, -0.664062, 0.0234375, -0.25, -0.0859375, 0.6875, -0.109375, 0.234375, 0, -0.5, -0.265625, 0.710938, 0.335938, 0.609375, -0.046875, 0.664062, -0.210938, -0.242188, -0.21875, -0.484375, -0.257812, -0.453125, 0.414062, 0.609375, -0.203125, 0.289062, 0.132812, -0.03125, -0.257812, -0.492188, -0.1875, 0.5625, -0.140625, -0.5625, 0.148438, -0.257812, -0.234375, -0.140625, 0.15625, -0.5625, 0.109375, 0.132812, 0.398438, -0.640625, -0.25, -0.585938, 0.304688, -0.328125, -0.257812, 0.226562, 0.148438, -0.546875, 0.210938, 0.625, 0.179688, 0.648438, -0.0078125, 0.367188, 0.328125, 0.265625, 0.0546875, -0.59375, -0.273438, -0.203125, 0.21875, 0.570312, -0.21875, -0.695312, 0.078125, -0.375, 0.03125, -0.164062, 0.0390625, 0.265625, 0.226562, -0.625, -0.109375, 0.203125, -0.132812, -0.671875, 0.328125, 0.625, -0.179688, -0.640625, 0.0859375, 0.65625, 0, -0.242188, 0.414062, 0.242188, 0.25, -0.148438, -0.0625, 0.390625, -0.25, 0.664062, 0.351562, 0.320312, 0.203125, -0.546875, 0.335938, 0.328125, -0.148438, 0.609375, -0.0625, -0.171875, 0.046875, -0.578125, 0.0546875, -0.304688, -0.28125, 0.734375, -0.0546875, 0.679688, 0.390625, -0.460938, 0.0859375, -0.703125, 0.101562, -0.140625, 0.234375, -0.507812, 0.078125, -0.25, 0.304688, -0.046875, 0.359375, 0.1875, 0.0703125, -0.570312, 0.242188, 0.65625, 0.0859375, -0.203125, -0.265625, -0.164062, -0.179688, 0.367188, -0.1875, -0.601562, -0.101562, -0.117188, -0.210938, -0.546875, 0.109375, -0.585938, -0.28125, -0.59375, -0.03125, 0.3125, -0.179688, 0.414062, 0.429688, -0.476562, -0.195312, -0.0703125, -0.21875, -0.5625, 0.304688, -0.609375, 0.226562, 0.429688, 0.429688, 0.203125, 0.242188, 0.078125, 0.367188, 0.242188, 0.03125, 0.601562, -0.0390625, 0.328125, 0.03125, -0.53125, -0.195312, -0.53125, -0.210938, 0.3125, -0.257812, 0.445312, -0.273438, 0.273438, -0.273438, -0.695312, -0.179688, 0.234375, -0.15625, -0.546875, -0.242188, -0.234375, -0.125, 0.734375, -0.226562, 0.367188, -0.234375, -0.15625, 0.046875, -0.445312, -0.226562, 0.625, 0.03125, -0.0859375, 0.210938, -0.648438, 0.296875, 0.335938, -0.109375, 0.625, -0.078125, 0.601562, 0.351562, 0.242188, 0.140625, 0.0234375, -0.273438, -0.679688, -0.109375, 0.640625, 0.15625, 0.171875, 0.0859375, -0.273438, -0.273438, -0.242188, 0.34375, 0.179688, 0.15625, -0.179688, -0.117188, 0.671875, 0.03125, -0.640625, 0.304688, 0.109375, -0.242188, -0.210938, 0.382812, -0.0859375, 0.0078125, -0.695312, 0.078125, 0.296875, 0.320312, 0.304688, -0.226562, 0.257812, -0.0234375, -0.203125, -0.015625, -0.648438, 0.335938, -0.703125, -0.132812, -0.273438, -0.210938, -0.15625, -0.273438, -0.0390625, 0.335938, 0.617188, 0.179688, 0.34375, 0.390625, -0.210938, -0.132812, -0.226562, -0.117188, 0.617188, -0.289062, 0.125, -0.21875, 0.71875, -0.164062, -0.570312, 0.1875, -0.1875, 0.382812, 0.640625, -0.296875, -0.125, 0.109375, 0.671875, 0.289062, -0.515625, 0.382812, 0.359375, -0.179688, 0.726562, -0.226562, 0.25, 0.320312, -0.328125, 0, -0.117188, -0.234375, -0.210938, -0.148438, -0.546875, -0.117188, 0.359375, 0.429688, -0.15625, -0.226562, 0.632812, -0.257812, -0.28125, -0.273438, 0.265625, 0.015625, -0.765625, 0.351562, 0.703125, 0.421875, -0.585938, 0.0078125, 0.28125, 0.109375, 0.304688, 0.171875, 0.65625, 0.421875, 0.078125, 0.382812, 0.179688, 0.25, -0.382812, 0.0703125, 0.585938, -0.140625, -0.109375, 0.382812, -0.59375, -0.09375, 0.4375, 0.398438, -0.132812, 0.0234375, -0.625, 0.0078125, -0.210938, -0.21875, -0.25, 0.257812, 0.257812, 0.398438, 0.625, 0.195312, 0.148438, -0.234375, -0.476562, 0.398438, -0.210938, 0.046875, 0.695312, -0.101562, 0.695312, 0.140625, -0.492188, -0.1875, 0.25, -0.09375, -0.195312, -0.195312, -0.328125, 0.0703125, -0.242188, -0.0625, 0.296875, 0.34375, -0.632812, 0.0078125, -0.265625, 0.09375, 0.421875, -0.203125, 0.171875, 0.03125, -0.09375, -0.0703125, 0.289062, 0.0859375, -0.609375, 0.390625, -0.554688, 0.257812, -0.6875, 0.0078125, 0.304688, 0.414062, 0.226562, 0.390625, -0.21875, -0.28125, 0.265625, 0.320312, -0.671875, 0.234375, -0.210938, 0.03125, 0.679688, -0.0234375, 0.359375, -0.203125, 0.3125, 0.289062, 0.671875, 0.140625, -0.78125, 0.414062, -0.546875, 0.40625, 0.625, 0.367188, 0.0859375, 0.421875, 0.1875, -0.09375, 0.617188, 0.40625, -0.078125, -0.0390625, 0.695312, 0.0859375, -0.6875, -0.265625, 0.421875, -0.265625, 0.601562, -0.0234375, -0.3125, -0.265625, -0.078125, 0.046875, 0.617188, 0.164062, 0.273438, -0.03125, -0.695312, -0.015625, -0.5625, 0.164062, -0.578125, 0.265625, -0.726562, 0.421875, -0.078125, -0.25, -0.171875, 0.171875, -0.234375, -0.0390625, 0.257812, 0.429688, -0.179688, -0.117188, 0.351562, -0.03125, -0.78125, -0.234375, -0.546875, -0.171875, -0.460938, -0.234375, -0.164062, 0.09375, -0.65625, 0.398438, -0.445312, 0.0859375, -0.71875, -0.226562, 0.671875, 0.101562, -0.46875, -0.195312, -0.71875, -0.265625, 0.617188, 0.125, -0.78125, -0.21875, -0.226562, -0.15625, 0.21875, 0.0234375, 0.289062, 0.101562, 0.648438, -0.171875, 0.390625, -0.273438, -0.257812, 0.078125, -0.21875, 0, 0.65625, -0.203125, -0.679688, 0.171875, -0.1875, 0.328125, -0.46875, -0.28125, 0.273438, 0, 0.664062, 0.296875, -0.140625, 0.335938, -0.625, 0.382812, -0.34375, -0.21875, -0.171875, -0.25, -0.546875, -0.117188, -0.117188, -0.203125, -0.1875, 0.351562, -0.585938, -0.109375, -0.203125, -0.0625, -0.570312, 0.03125, -0.5625, -0.109375, 0.601562, -0.195312, 0.3125, 0.140625, -0.101562, 0.25, 0.25, 0.3125, 0.125, -0.203125, -0.09375, -0.140625, -0.242188, 0.414062, 0.664062, -0.0625, -0.21875, -0.078125, 0.6875, -0.210938, -0.140625, 0.015625, -0.632812, -0.25, -0.109375, 0.234375, -0.695312, 0.015625, -0.3125, -0.28125, 0.296875, -0.0234375, 0.296875, 0.203125, -0.125, 0.234375, 0.570312, 0.390625, -0.554688, 0.203125, -0.5625, 0.351562, -0.15625, 0.21875, -0.375, 0.0390625, -0.226562, -0.140625, 0.695312, 0.164062, 0.632812, 0.367188, -0.328125, -0.210938, -0.59375, 0.34375, 0.304688, -0.242188, -0.34375, 0.0703125, -0.679688, -0.179688, 0.664062, 0.101562, 0.34375, 0.171875, -0.695312, -0.078125, -0.242188, -0.0546875, 0.304688, -0.234375, -0.0078125, -0.21875, -0.632812, 0.203125, 0.625, 0.03125, -0.414062, 0.015625, 0.273438, -0.078125, 0.695312, 0.28125, 0.34375, 0.101562, -0.164062, 0.289062, -0.1875, 0.273438, -0.203125, 0.0703125, 0.734375, -0.171875, -0.59375, 0.34375, -0.15625, 0.210938, 0.429688, 0.375, -0.234375, 0.34375, 0.617188, 0.101562, 0.703125, 0, -0.578125, 0.148438, 0.21875, -0.171875, -0.304688, 0.375, -0.65625, -0.09375, -0.101562, 0.25, -0.4375, 0.03125, -0.242188, 0.421875, -0.546875, 0.0625, -0.632812, -0.148438, -0.125, 0.179688, 0.179688, 0.304688, -0.265625, 0.078125, -0.289062, 0.421875, -0.585938, 0.1875, -0.289062, 0.34375, 0.273438, 0.367188, -0.109375, 0.117188, 0.34375, 0.046875, -0.0625, 0.320312, 0.6875, -0.234375, -0.523438, 0.320312, -0.09375, -0.242188, -0.65625, 0.25, -0.609375, -0.117188, -0.140625, 0.140625, 0.28125, -0.09375, -0.625, -0.28125, 0.34375, 0.328125, 0.265625, 0.109375, -0.609375, 0.0078125, -0.078125, -0.234375, -0.289062, -0.203125, 0.289062, 0.289062, -0.0859375, 0.0078125, -0.101562, -0.28125, -0.625, -0.101562, -0.546875, 0.382812, -0.539062, -0.195312, -0.210938, 0.046875, -0.492188, 0.390625, -0.664062, -0.0703125, 0.71875, -0.101562, -0.140625, -0.046875, 0.695312, 0.289062, -0.710938, 0.429688, -0.703125, 0.3125, -0.203125, 0.109375, 0.421875, -0.273438, 0.304688, 0.21875, 0.328125, 0.257812, -0.632812, -0.0703125, 0.320312, -0.140625, 0.265625, -0.203125, -0.109375, -0.179688, 0.25, -0.210938, 0.65625, 0.109375, -0.648438, -0.0625, -0.0859375, 0.375, -0.429688, 0.398438, 0.320312, 0.3125, -0.0703125, 0.265625, 0.648438, 0.0078125, 0.320312, 0.335938, 0.398438, 0.421875, -0.101562, -0.0625, -0.296875, 0.40625, 0.695312, -0.0390625, 0.335938, 0.21875, -0.546875, 0.117188, -0.476562, 0.390625, -0.648438, 0.117188, -0.078125, -0.28125, 0.328125, 0.289062, -0.226562, 0.179688, 0.226562, 0.375, -0.429688, 0.382812, -0.0546875, 0.34375, 0.59375, -0.125, 0.632812, 0.265625, 0.226562, 0.3125, -0.523438, -0.140625, -0.546875, 0.046875, 0.242188, -0.148438, -0.648438, 0.0234375, -0.289062, 0, -0.546875, 0.101562, -0.125, -0.0625, -0.492188, 0.367188, 0.328125, 0.15625, -0.351562, 0.0546875, -0.609375, 0.414062, -0.296875, 0.09375, 0.671875, -0.203125, -0.257812, -0.273438, -0.335938, 0.414062, 0.65625, -0.195312, -0.601562, -0.101562, -0.203125, -0.078125, 0.210938, 0.242188, 0.296875, 0.335938, -0.578125, 0.40625, -0.664062, -0.078125, -0.0859375, 0.390625, 0.171875, 0.304688, -0.6875, 0.390625, -0.554688, 0.0078125, -0.570312, -0.179688, -0.210938, -0.09375, 0.726562, -0.03125, -0.546875, -0.0859375, -0.265625, -0.171875, -0.65625, 0.179688, -0.171875, 0.257812, -0.164062, -0.171875, 0.203125, 0.335938, -0.640625, 0.21875, 0.390625, 0.375, 0.6875, -0.234375, 0.742188, 0.34375, -0.0546875, 0.351562, -0.632812, 0.195312, 0.671875, -0.21875, 0.195312, 0.015625, 0.226562, 0.117188, -0.507812, 0.078125, -0.140625, -0.15625, 0.703125, -0.28125, 0.226562, -0.140625, 0.328125, 0.421875, 0.3125, 0.1875, 0.703125, 0.078125, 0.351562, 0.289062, 0.21875, -0.242188, -0.328125, 0, 0.171875, 0.101562, -0.304688, -0.242188, -0.210938, 0.078125, 0.625, -0.0078125, 0.25, 0.242188, -0.664062, 0.117188, 0.203125, -0.140625, 0.226562, 0.429688, 0.328125, -0.203125, -0.679688, 0.0703125, -0.195312, -0.148438, -0.523438, 0.328125, 0.382812, -0.257812, 0.578125, -0.171875, 0.65625, 0.320312, -0.632812, -0.148438, 0.703125, 0.0703125, -0.53125, 0.398438, -0.414062, 0.03125, -0.0859375, 0.0546875, -0.53125, 0.335938, 0.304688, 0.429688, -0.234375, -0.148438, -0.375, 0.046875, -0.148438, 0.289062, -0.0390625, 0.421875, 0.226562, -0.125, -0.570312, 0.398438, -0.0703125, -0.0234375, 0.257812, -0.132812 - - "version" - 2 - - - - \ No newline at end of file diff --git a/demos/2d/platformer/bullet.tscn b/demos/2d/platformer/bullet.tscn new file mode 100644 index 00000000000..78f566c3b39 --- /dev/null +++ b/demos/2d/platformer/bullet.tscn @@ -0,0 +1,115 @@ +[gd_scene load_steps=6 format=1] + +[ext_resource path="res://bullet.gd" type="Script" id=1] +[ext_resource path="res://bullet.png" type="Texture" id=2] + +[sub_resource type="CircleShape2D" id=1] + +custom_solver_bias = 0.0 +radius = 10.0 + +[sub_resource type="ColorRamp" id=2] + +offsets = FloatArray( 0, 1 ) +colors = ColorArray( 1, 1, 1, 1, 1, 0, 0, 0 ) + +[sub_resource type="Animation" id=3] + +length = 1.5 +loop = false +step = 0.0 +tracks/0/type = "value" +tracks/0/path = NodePath("particles:config/emitting") +tracks/0/interp = 1 +tracks/0/keys = { "cont":false, "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "values":[ false ] } +tracks/1/type = "value" +tracks/1/path = NodePath("sprite:visibility/self_opacity") +tracks/1/interp = 1 +tracks/1/keys = { "cont":true, "times":FloatArray( 0, 1.00394 ), "transitions":FloatArray( 1, 1 ), "values":[ 1.0, 0.0 ] } +tracks/2/type = "method" +tracks/2/path = NodePath(".") +tracks/2/interp = 1 +tracks/2/keys = { "times":FloatArray( 1.31 ), "transitions":FloatArray( 1 ), "values":[ { "args":[ ], "method":"queue_free" } ] } + +[node name="bullet" 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 = 2 +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 +script/script = ExtResource( 1 ) + +[node name="particles" type="Particles2D" parent="."] + +visibility/opacity = 0.559322 +visibility/blend_mode = 1 +config/amount = 24 +config/lifetime = 0.1 +config/local_space = false +config/texture = ExtResource( 2 ) +params/direction = 0.0 +params/spread = 10.0 +params/linear_velocity = 0.0 +params/spin_velocity = 0.0 +params/orbit_velocity = 0.0 +params/gravity_direction = 0.0 +params/gravity_strength = 0.0 +params/radial_accel = 0.0 +params/tangential_accel = 0.0 +params/damping = 0.0 +params/initial_angle = 0.0 +params/initial_size = 1.0 +params/final_size = 0.0 +params/hue_variation = 0.0 +params/anim_speed_scale = 1.0 +params/anim_initial_pos = 0.0 +color/color_ramp = SubResource( 2 ) + +[node name="sprite" type="Sprite" parent="."] + +texture = ExtResource( 2 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] + +shape = SubResource( 1 ) +trigger = false +_update_shape_index = -1 + +[node name="Timer" type="Timer" parent="."] + +process_mode = 1 +wait_time = 1.0 +one_shot = true +autostart = false + +[node name="anim" type="AnimationPlayer" parent="."] + +playback/process_mode = 1 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/shutdown = SubResource( 3 ) +playback/active = true +playback/speed = 1.0 +blend_times = [ ] +autoplay = "" + +[connection signal="timeout" from="Timer" to="." method="disable"] + + diff --git a/demos/2d/platformer/bullet.xml b/demos/2d/platformer/bullet.xml deleted file mode 100644 index 63938581ad7..00000000000 --- a/demos/2d/platformer/bullet.xml +++ /dev/null @@ -1,333 +0,0 @@ - - - - - - 0 - 10 - - - - 0, 1 - 1, 1, 1, 1, 1, 0, 0, 0 - - - - "shutdown" - 1.5 - False - 0 - "value" - "particles:config/emitting" - 1 - - "cont" - False - "times" - 0 - "transitions" - 1 - "values" - - False - - - "value" - "sprite:visibility/self_opacity" - 1 - - "cont" - True - "times" - 0, 1.00394 - "transitions" - 1, 1 - "values" - - 1 - 0 - - - "method" - "." - 1 - - "times" - 1.31 - "transitions" - 1 - "values" - - - "args" - - - "method" - "queue_free" - - - - - - - - "conn_count" - 1 - "conns" - 4, 0, 73, 72, 2, 0 - "editable_instances" - - - "names" - - "bullet" - "input/pickable" - "shapes/0/shape" - "shapes/0/transform" - "shapes/0/trigger" - "collision/layers" - "collision/mask" - "mode" - "mass" - "friction" - "bounce" - "gravity_scale" - "custom_integrator" - "continuous_cd" - "contacts_reported" - "contact_monitor" - "sleeping" - "can_sleep" - "velocity/linear" - "velocity/angular" - "damp_override/linear" - "damp_override/angular" - "script/script" - "__meta__" - "RigidBody2D" - "particles" - "visibility/opacity" - "visibility/blend_mode" - "config/amount" - "config/lifetime" - "config/local_space" - "config/texture" - "params/direction" - "params/spread" - "params/linear_velocity" - "params/spin_velocity" - "params/orbit_velocity" - "params/gravity_direction" - "params/gravity_strength" - "params/radial_accel" - "params/tangential_accel" - "params/damping" - "params/initial_angle" - "params/initial_size" - "params/final_size" - "params/hue_variation" - "params/anim_speed_scale" - "params/anim_initial_pos" - "color/color_ramp" - "Particles2D" - "sprite" - "texture" - "Sprite" - "CollisionShape2D" - "shape" - "trigger" - "_update_shape_index" - "Timer" - "process_mode" - "wait_time" - "one_shot" - "autostart" - "anim" - "playback/process_mode" - "playback/default_blend_time" - "root/root" - "anims/shutdown" - "playback/active" - "playback/speed" - "blend_times" - "autoplay" - "AnimationPlayer" - "disable" - "timeout" - - "node_count" - 6 - "node_paths" - - - "nodes" - -1, -1, 24, 0, -1, 23, 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, 7, 14, 4, 15, 0, 16, 0, 17, 8, 18, 9, 19, 6, 20, 10, 21, 10, 22, 11, 23, 12, 0, 0, 0, 49, 25, -1, 23, 26, 13, 27, 3, 28, 14, 29, 15, 30, 0, 31, 16, 32, 6, 33, 17, 34, 6, 35, 6, 36, 6, 37, 6, 38, 6, 39, 6, 40, 6, 41, 6, 42, 6, 43, 5, 44, 6, 45, 6, 46, 5, 47, 6, 48, 18, 0, 0, 0, 52, 50, -1, 1, 51, 16, 0, 0, 0, 53, 53, -1, 3, 54, 1, 55, 0, 56, 19, 0, 0, 0, 57, 57, -1, 4, 58, 3, 59, 5, 60, 8, 61, 0, 0, 0, 0, 71, 62, -1, 8, 63, 3, 64, 6, 65, 20, 66, 21, 67, 8, 68, 5, 69, 22, 70, 23, 0 - "variants" - - False - - 1, 0, 0, 1, 0, 0 - 1 - 0 - 1 - 0 - 2 - True - 0, 0 - -1 - - - "__editor_plugin_screen__" - "2D" - "__editor_plugin_states__" - - "2D" - - "ofs" - -74.7573, -35.9676 - "snap_grid" - False - "snap_offset" - 0, 0 - "snap_pixel" - False - "snap_relative" - False - "snap_rotation" - False - "snap_rotation_offset" - 0 - "snap_rotation_step" - 0.261799 - "snap_show_grid" - False - "snap_step" - 10, 10 - "zoom" - 3.424785 - - "3D" - - "ambient_light_color" - 0.15, 0.15, 0.15, 1 - "default_light" - True - "default_srgb" - False - "deflight_rot_x" - 0.942478 - "deflight_rot_y" - 0.628319 - "fov" - 45 - "show_grid" - True - "show_origin" - True - "viewport_mode" - 1 - "viewports" - - - "distance" - 4 - "listener" - True - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "zfar" - 500 - "znear" - 0.1 - - "Anim" - - "visible" - False - - - "__editor_run_settings__" - - "custom_args" - "-l $scene" - "run_mode" - 0 - - - 0.559322 - 24 - 0.1 - - 10 - - -1 - ".." - - - - "" - - "version" - 2 - - - - \ No newline at end of file diff --git a/demos/2d/platformer/coin.tscn b/demos/2d/platformer/coin.tscn new file mode 100644 index 00000000000..76730c83d44 --- /dev/null +++ b/demos/2d/platformer/coin.tscn @@ -0,0 +1,146 @@ +[gd_scene load_steps=10 format=1] + +[ext_resource path="res://coin.gd" type="Script" id=1] +[ext_resource path="res://coin.png" type="Texture" id=2] +[ext_resource path="res://sound_coin.wav" type="Sample" id=3] +[ext_resource path="res://bullet.png" type="Texture" id=4] + +[sub_resource type="CircleShape2D" id=1] + +custom_solver_bias = 0.0 +radius = 10.0 + +[sub_resource type="Animation" id=2] + +resource/name = "spin" +length = 1.5 +loop = true +step = 0.25 +tracks/0/type = "value" +tracks/0/path = NodePath("sprite:frame") +tracks/0/interp = 1 +tracks/0/keys = { "cont":false, "times":FloatArray( 0, 0.25, 0.5, 0.75, 1, 1.25, 1.5 ), "transitions":FloatArray( 1, 1, 1, 1, 1, 1, 1 ), "values":[ 0, 1, 2, 3, 2, 1, 0 ] } + +[sub_resource type="Animation" id=3] + +length = 8.0 +loop = false +step = 0.0 +tracks/0/type = "value" +tracks/0/path = NodePath("sprite:frame") +tracks/0/interp = 1 +tracks/0/keys = { "cont":true, "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "values":[ 0 ] } +tracks/1/type = "value" +tracks/1/path = NodePath("sound:play/play") +tracks/1/interp = 1 +tracks/1/keys = { "cont":false, "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "values":[ "coin" ] } +tracks/2/type = "value" +tracks/2/path = NodePath("particles:visibility/self_opacity") +tracks/2/interp = 1 +tracks/2/keys = { "cont":true, "times":FloatArray( 0, 1.66 ), "transitions":FloatArray( 1, 1 ), "values":[ 1.0, 0.0 ] } +tracks/3/type = "value" +tracks/3/path = NodePath("sprite:visibility/self_opacity") +tracks/3/interp = 1 +tracks/3/keys = { "cont":true, "times":FloatArray( 0, 0.4 ), "transitions":FloatArray( 1, 1 ), "values":[ 1.0, 0.0 ] } +tracks/4/type = "value" +tracks/4/path = NodePath("particles:config/emitting") +tracks/4/interp = 1 +tracks/4/keys = { "cont":false, "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "values":[ true ] } +tracks/5/type = "method" +tracks/5/path = NodePath(".") +tracks/5/interp = 1 +tracks/5/keys = { "times":FloatArray( 2.7 ), "transitions":FloatArray( 1 ), "values":[ { "args":[ ], "method":"queue_free" } ] } + +[sub_resource type="SampleLibrary" id=4] + +samples/coin = { "db":0.0, "pitch":1.0, "sample":ExtResource( 3 ) } + +[sub_resource type="ColorRamp" id=5] + +offsets = FloatArray( 0, 1 ) +colors = ColorArray( 1, 1, 1, 1, 0, 0, 0, 1 ) + +[node name="coin" type="Area2D"] + +input/pickable = true +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +gravity_vec = Vector2( 0, 1 ) +gravity = 98.0 +linear_damp = 0.1 +angular_damp = 1.0 +script/script = ExtResource( 1 ) + +[node name="sprite" type="Sprite" parent="."] + +texture = ExtResource( 2 ) +hframes = 4 + +[node name="anim" type="AnimationPlayer" parent="."] + +playback/process_mode = 1 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/spin = SubResource( 2 ) +anims/taken = SubResource( 3 ) +playback/active = true +playback/speed = 3.0 +blend_times = [ ] +autoplay = "spin" + +[node name="collision" type="CollisionShape2D" parent="."] + +shape = SubResource( 1 ) +trigger = false +_update_shape_index = -1 + +[node name="sound" type="SamplePlayer2D" parent="."] + +params/volume_db = 0.0 +params/pitch_scale = 1.0 +params/attenuation/min_distance = 1.0 +params/attenuation/max_distance = 2048.0 +params/attenuation/distance_exp = 1.0 +config/polyphony = 1 +config/samples = SubResource( 4 ) +config/pitch_random = 0.0 + +[node name="particles" type="Particles2D" parent="."] + +visibility/blend_mode = 1 +config/amount = 8 +config/lifetime = 0.4 +config/emitting = false +config/half_extents = Vector2( 5, 5 ) +config/texture = ExtResource( 4 ) +params/direction = 0.0 +params/spread = 10.0 +params/linear_velocity = 0.0 +params/spin_velocity = 0.0 +params/orbit_velocity = 0.0 +params/gravity_direction = 0.0 +params/gravity_strength = 0.0 +params/radial_accel = 0.0 +params/tangential_accel = 0.0 +params/damping = 0.0 +params/initial_angle = 0.0 +params/initial_size = 0.2 +params/final_size = 0.2 +params/hue_variation = 0.0 +params/anim_speed_scale = 1.0 +params/anim_initial_pos = 0.0 +color/color_ramp = SubResource( 5 ) + +[node name="enabler" type="VisibilityEnabler2D" parent="."] + +rect = Rect2( -10, -10, 20, 20 ) +enabler/pause_animations = true +enabler/freeze_bodies = true +enabler/pause_particles = true +enabler/process_parent = false +enabler/fixed_process_parent = false + +[connection signal="body_enter" from="." to="." method="_on_body_enter"] + + diff --git a/demos/2d/platformer/coin.xml b/demos/2d/platformer/coin.xml deleted file mode 100644 index f33a63bd57f..00000000000 --- a/demos/2d/platformer/coin.xml +++ /dev/null @@ -1,430 +0,0 @@ - - - - - - - - 0 - 10 - - - - "taken" - 8 - False - 0 - "value" - "sprite:frame" - 1 - - "cont" - True - "times" - 0 - "transitions" - 1 - "values" - - 0 - - - "value" - "sound:play/play" - 1 - - "cont" - False - "times" - 0 - "transitions" - 1 - "values" - - "coin" - - - "value" - "particles:visibility/self_opacity" - 1 - - "cont" - True - "times" - 0, 1.66 - "transitions" - 1, 1 - "values" - - 1 - 0 - - - "value" - "sprite:visibility/self_opacity" - 1 - - "cont" - True - "times" - 0, 0.4 - "transitions" - 1, 1 - "values" - - 1 - 0 - - - "value" - "particles:config/emitting" - 1 - - "cont" - False - "times" - 0 - "transitions" - 1 - "values" - - True - - - "method" - "." - 1 - - "times" - 2.7 - "transitions" - 1 - "values" - - - "args" - - - "method" - "queue_free" - - - - - - - "spin" - 1.5 - True - 0.25 - "value" - "sprite:frame" - 1 - - "cont" - False - "times" - 0, 0.25, 0.5, 0.75, 1, 1.25, 1.5 - "transitions" - 1, 1, 1, 1, 1, 1, 1 - "values" - - 0 - 1 - 2 - 3 - 2 - 1 - 0 - - - - - - - "db" - 0 - "pitch" - 1 - "sample" - - - - - - 0, 1 - 1, 1, 1, 1, 0, 0, 0, 1 - - - - - "conn_count" - 1 - "conns" - 0, 0, 76, 75, 2, 0 - "editable_instances" - - - "names" - - "coin" - "input/pickable" - "shapes/0/shape" - "shapes/0/transform" - "shapes/0/trigger" - "gravity_vec" - "gravity" - "linear_damp" - "angular_damp" - "script/script" - "__meta__" - "Area2D" - "sprite" - "texture" - "hframes" - "Sprite" - "anim" - "playback/process_mode" - "playback/default_blend_time" - "root/root" - "anims/taken" - "anims/spin" - "playback/active" - "playback/speed" - "blend_times" - "autoplay" - "AnimationPlayer" - "collision" - "shape" - "trigger" - "_update_shape_index" - "CollisionShape2D" - "sound" - "params/volume_db" - "params/pitch_scale" - "params/attenuation/min_distance" - "params/attenuation/max_distance" - "params/attenuation/distance_exp" - "config/polyphony" - "config/samples" - "config/pitch_random" - "SamplePlayer2D" - "particles" - "visibility/blend_mode" - "config/amount" - "config/lifetime" - "config/emitting" - "config/half_extents" - "config/texture" - "params/direction" - "params/spread" - "params/linear_velocity" - "params/spin_velocity" - "params/orbit_velocity" - "params/gravity_direction" - "params/gravity_strength" - "params/radial_accel" - "params/tangential_accel" - "params/damping" - "params/initial_angle" - "params/initial_size" - "params/final_size" - "params/hue_variation" - "params/anim_speed_scale" - "params/anim_initial_pos" - "color/color_ramp" - "Particles2D" - "enabler" - "rect" - "enabler/pause_animations" - "enabler/freeze_bodies" - "enabler/pause_particles" - "enabler/process_parent" - "enabler/fixed_process_parent" - "VisibilityEnabler2D" - "_on_body_enter" - "body_enter" - - "node_count" - 7 - "node_paths" - - - "nodes" - -1, -1, 11, 0, -1, 10, 1, 0, 2, 1, 3, 2, 4, 3, 5, 4, 6, 5, 7, 6, 8, 7, 9, 8, 10, 9, 0, 0, 0, 15, 12, -1, 2, 13, 10, 14, 11, 0, 0, 0, 26, 16, -1, 9, 17, 12, 18, 13, 19, 14, 20, 15, 21, 16, 22, 0, 23, 17, 24, 18, 25, 19, 0, 0, 0, 31, 27, -1, 3, 28, 1, 29, 3, 30, 20, 0, 0, 0, 41, 32, -1, 8, 33, 13, 34, 7, 35, 7, 36, 21, 37, 7, 38, 12, 39, 22, 40, 13, 0, 0, 0, 66, 42, -1, 23, 43, 12, 44, 23, 45, 24, 46, 3, 47, 25, 48, 26, 49, 13, 50, 27, 51, 13, 52, 13, 53, 13, 54, 13, 55, 13, 56, 13, 57, 13, 58, 13, 59, 13, 60, 28, 61, 28, 62, 13, 63, 7, 64, 13, 65, 29, 0, 0, 0, 74, 67, -1, 6, 68, 30, 69, 0, 70, 0, 71, 0, 72, 3, 73, 3, 0 - "variants" - - True - - 1, 0, 0, 1, 0, 0 - False - 0, 1 - 98 - 0.1 - 1 - - - "__editor_plugin_screen__" - "2D" - "__editor_plugin_states__" - - "2D" - - "ofs" - -34.3697, -21.6562 - "snap_grid" - False - "snap_offset" - 0, 0 - "snap_pixel" - False - "snap_relative" - False - "snap_rotation" - False - "snap_rotation_offset" - 0 - "snap_rotation_step" - 0.261799 - "snap_show_grid" - False - "snap_step" - 10, 10 - "zoom" - 3.794776 - - "3D" - - "ambient_light_color" - 0.15, 0.15, 0.15, 1 - "default_light" - True - "default_srgb" - False - "deflight_rot_x" - 0.942478 - "deflight_rot_y" - 0.628319 - "fov" - 45 - "show_grid" - True - "show_origin" - True - "viewport_mode" - 1 - "viewports" - - - "distance" - 4 - "listener" - True - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "zfar" - 500 - "znear" - 0.1 - - "Anim" - - "visible" - False - - - "__editor_run_settings__" - - "custom_args" - "-l $scene" - "run_mode" - 0 - - - - 4 - 1 - 0 - ".." - - - 3 - - - "spin" - -1 - 2048 - - 8 - 0.4 - 5, 5 - - 10 - 0.2 - - -10, -10, 20, 20 - - "version" - 2 - - - - \ No newline at end of file diff --git a/demos/2d/platformer/enemy.tscn b/demos/2d/platformer/enemy.tscn new file mode 100644 index 00000000000..b01bd9fcf6e --- /dev/null +++ b/demos/2d/platformer/enemy.tscn @@ -0,0 +1,206 @@ +[gd_scene load_steps=12 format=1] + +[ext_resource path="res://enemy.gd" type="Script" id=1] +[ext_resource path="res://enemy.png" type="Texture" id=2] +[ext_resource path="res://bullet.png" type="Texture" id=3] +[ext_resource path="res://sound_explode.wav" type="Sample" id=4] +[ext_resource path="res://sound_hit.wav" type="Sample" id=5] + +[sub_resource type="CircleShape2D" id=1] + +custom_solver_bias = 0.0 +radius = 14.0 + +[sub_resource type="Animation" id=2] + +resource/name = "explode" +length = 6.0 +loop = false +step = 0.0 +tracks/0/type = "value" +tracks/0/path = NodePath("sprite:visibility/self_opacity") +tracks/0/interp = 1 +tracks/0/keys = { "cont":true, "times":FloatArray( 3.58422, 4.33851 ), "transitions":FloatArray( 1, 1 ), "values":[ 1.0, 0.0 ] } +tracks/1/type = "value" +tracks/1/path = NodePath("sprite:frame") +tracks/1/interp = 1 +tracks/1/keys = { "cont":true, "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "values":[ 4 ] } +tracks/2/type = "value" +tracks/2/path = NodePath("Particles2D:config/emitting") +tracks/2/interp = 1 +tracks/2/keys = { "cont":false, "times":FloatArray( 3.47394 ), "transitions":FloatArray( 1 ), "values":[ true ] } +tracks/3/type = "method" +tracks/3/path = NodePath(".") +tracks/3/interp = 1 +tracks/3/keys = { "times":FloatArray( 3.20357, 5.07305 ), "transitions":FloatArray( 1, 1 ), "values":[ { "args":[ ], "method":"_pre_explode" }, { "args":[ ], "method":"_die" } ] } + +[sub_resource type="Animation" id=3] + +length = 6.75 +loop = true +step = 0.25 +tracks/0/type = "value" +tracks/0/path = NodePath("sprite:frame") +tracks/0/interp = 1 +tracks/0/keys = { "cont":false, "times":FloatArray( 0, 0.75, 1.5, 2.25, 3, 3.75, 4.5, 5.25, 6, 6.75 ), "transitions":FloatArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ), "values":[ 5, 6, 5, 6, 5, 6, 7, 6, 7, 5 ] } + +[sub_resource type="Animation" id=4] + +resource/name = "walk" +length = 1.25 +loop = true +step = 0.25 +tracks/0/type = "value" +tracks/0/path = NodePath("sprite:frame") +tracks/0/interp = 1 +tracks/0/keys = { "cont":false, "times":FloatArray( 0, 0.25, 0.5, 0.75, 1, 1.25 ), "transitions":FloatArray( 1, 1, 1, 1, 1, 1 ), "values":[ 0, 1, 2, 3, 4, 0 ] } + +[sub_resource type="ColorRamp" id=5] + +offsets = FloatArray( 0, 1 ) +colors = ColorArray( 1, 0.884956, 0.823009, 1, 0.768627, 0.389381, 0, 0 ) + +[sub_resource type="SampleLibrary" id=6] + +samples/explode = { "db":0.0, "pitch":1.0, "sample":ExtResource( 4 ) } +samples/hit = { "db":0.0, "pitch":1.0, "sample":ExtResource( 5 ) } + +[node name="enemy" type="RigidBody2D"] + +input/pickable = false +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, -1.08072, -2.16144 ) +shapes/0/trigger = false +shapes/1/shape = SubResource( 1 ) +shapes/1/transform = Matrix32( 1, 0, 0, 1, 6.48431, 3.24216 ) +shapes/1/trigger = false +shapes/2/shape = SubResource( 1 ) +shapes/2/transform = Matrix32( 1, 0, 0, 1, -12.495, 3.53415 ) +shapes/2/trigger = false +collision/layers = 1 +collision/mask = 1 +mode = 2 +mass = 1.0 +friction = 0.0 +bounce = 0.0 +gravity_scale = 1.0 +custom_integrator = false +continuous_cd = 0 +contacts_reported = 4 +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 +script/script = ExtResource( 1 ) + +[node name="enabler" type="VisibilityEnabler2D" parent="."] + +transform/pos = Vector2( 16.2569, 11.0034 ) +transform/scale = Vector2( 23.5056, 10.8629 ) +rect = Rect2( -10, -10, 20, 20 ) +enabler/pause_animations = true +enabler/freeze_bodies = true +enabler/pause_particles = true +enabler/process_parent = false +enabler/fixed_process_parent = false + +[node name="anim" type="AnimationPlayer" parent="."] + +playback/process_mode = 1 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/explode = SubResource( 2 ) +anims/idle = SubResource( 3 ) +anims/walk = SubResource( 4 ) +playback/active = true +playback/speed = 3.0 +blend_times = [ ] +autoplay = "" + +[node name="sprite" type="Sprite" parent="."] + +texture = ExtResource( 2 ) +hframes = 8 +frame = 4 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] + +transform/pos = Vector2( -1.08072, -2.16144 ) +shape = SubResource( 1 ) +trigger = false +_update_shape_index = -1 + +[node name="CollisionShape2D 2" type="CollisionShape2D" parent="."] + +transform/pos = Vector2( 6.48431, 3.24216 ) +shape = SubResource( 1 ) +trigger = false +_update_shape_index = -1 + +[node name="CollisionShape2D 3" type="CollisionShape2D" parent="."] + +transform/pos = Vector2( -12.495, 3.53415 ) +shape = SubResource( 1 ) +trigger = false +_update_shape_index = -1 + +[node name="raycast_left" type="RayCast2D" parent="."] + +transform/pos = Vector2( -33.2868, -9.34363 ) +enabled = true +cast_to = Vector2( 0, 45 ) +layer_mask = 1 +type_mask = 15 + +[node name="raycast_right" type="RayCast2D" parent="."] + +transform/pos = Vector2( 29.1987, -9.34363 ) +enabled = true +cast_to = Vector2( 0, 45 ) +layer_mask = 1 +type_mask = 15 + +[node name="Particles2D" type="Particles2D" parent="."] + +visibility/self_opacity = 0.121212 +visibility/blend_mode = 1 +config/amount = 32 +config/lifetime = 0.5 +config/emit_timeout = 0.5 +config/emitting = false +config/explosiveness = 0.1 +config/texture = ExtResource( 3 ) +params/direction = 0.0 +params/spread = 180.0 +params/linear_velocity = 90.0 +params/spin_velocity = 2.0 +params/orbit_velocity = 0.0 +params/gravity_direction = 0.0 +params/gravity_strength = 9.8 +params/radial_accel = 0.0 +params/tangential_accel = 0.0 +params/damping = 0.0 +params/initial_angle = 0.0 +params/initial_size = 2.0 +params/final_size = 3.0 +params/hue_variation = 0.0 +params/anim_speed_scale = 1.0 +params/anim_initial_pos = 0.0 +randomness/spin_velocity = 1.0 +color/color_ramp = SubResource( 5 ) + +[node name="sound" type="SamplePlayer2D" parent="."] + +params/volume_db = 0.0 +params/pitch_scale = 1.0 +params/attenuation/min_distance = 1.0 +params/attenuation/max_distance = 2048.0 +params/attenuation/distance_exp = 1.0 +config/polyphony = 3 +config/samples = SubResource( 6 ) +config/pitch_random = 0.0 + + diff --git a/demos/2d/platformer/enemy.xml b/demos/2d/platformer/enemy.xml deleted file mode 100644 index 72d2ff068ec..00000000000 --- a/demos/2d/platformer/enemy.xml +++ /dev/null @@ -1,494 +0,0 @@ - - - - - - - - - 0 - 14 - - - - "idle" - 6.75 - True - 0.25 - "value" - "sprite:frame" - 1 - - "cont" - False - "times" - 0, 0.75, 1.5, 2.25, 3, 3.75, 4.5, 5.25, 6, 6.75 - "transitions" - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 - "values" - - 5 - 6 - 5 - 6 - 5 - 6 - 7 - 6 - 7 - 5 - - - - - - "explode" - 6 - False - 0 - "value" - "sprite:visibility/self_opacity" - 1 - - "cont" - True - "times" - 3.58422, 4.33851 - "transitions" - 1, 1 - "values" - - 1 - 0 - - - "value" - "sprite:frame" - 1 - - "cont" - True - "times" - 0 - "transitions" - 1 - "values" - - 4 - - - "value" - "Particles2D:config/emitting" - 1 - - "cont" - False - "times" - 3.47394 - "transitions" - 1 - "values" - - True - - - "method" - "." - 1 - - "times" - 3.20357, 5.07305 - "transitions" - 1, 1 - "values" - - - "args" - - - "method" - "_pre_explode" - - - "args" - - - "method" - "_die" - - - - - - - "walk" - 1.25 - True - 0.25 - "value" - "sprite:frame" - 1 - - "cont" - False - "times" - 0, 0.25, 0.5, 0.75, 1, 1.25 - "transitions" - 1, 1, 1, 1, 1, 1 - "values" - - 0 - 1 - 2 - 3 - 4 - 0 - - - - - - 0, 1 - 1, 0.884956, 0.823009, 1, 0.768627, 0.389381, 0, 0 - - - - - "db" - 0 - "pitch" - 1 - "sample" - - - - "db" - 0 - "pitch" - 1 - "sample" - - - - - - - "conn_count" - 0 - "conns" - - "editable_instances" - - - "names" - - "enemy" - "input/pickable" - "shapes/0/shape" - "shapes/0/transform" - "shapes/0/trigger" - "shapes/1/shape" - "shapes/1/transform" - "shapes/1/trigger" - "shapes/2/shape" - "shapes/2/transform" - "shapes/2/trigger" - "collision/layers" - "collision/mask" - "mode" - "mass" - "friction" - "bounce" - "gravity_scale" - "custom_integrator" - "continuous_cd" - "contacts_reported" - "contact_monitor" - "sleeping" - "can_sleep" - "velocity/linear" - "velocity/angular" - "damp_override/linear" - "damp_override/angular" - "script/script" - "__meta__" - "RigidBody2D" - "enabler" - "transform/pos" - "transform/scale" - "rect" - "enabler/pause_animations" - "enabler/freeze_bodies" - "enabler/pause_particles" - "enabler/process_parent" - "enabler/fixed_process_parent" - "VisibilityEnabler2D" - "anim" - "playback/process_mode" - "playback/default_blend_time" - "root/root" - "anims/idle" - "anims/explode" - "anims/walk" - "playback/active" - "playback/speed" - "blend_times" - "autoplay" - "AnimationPlayer" - "sprite" - "texture" - "hframes" - "frame" - "Sprite" - "CollisionShape2D" - "shape" - "trigger" - "_update_shape_index" - "CollisionShape2D 2" - "CollisionShape2D 3" - "raycast_left" - "enabled" - "cast_to" - "layer_mask" - "type_mask" - "RayCast2D" - "raycast_right" - "Particles2D" - "visibility/self_opacity" - "visibility/blend_mode" - "config/amount" - "config/lifetime" - "config/emit_timeout" - "config/emitting" - "config/explosiveness" - "config/texture" - "params/direction" - "params/spread" - "params/linear_velocity" - "params/spin_velocity" - "params/orbit_velocity" - "params/gravity_direction" - "params/gravity_strength" - "params/radial_accel" - "params/tangential_accel" - "params/damping" - "params/initial_angle" - "params/initial_size" - "params/final_size" - "params/hue_variation" - "params/anim_speed_scale" - "params/anim_initial_pos" - "randomness/spin_velocity" - "color/color_ramp" - "sound" - "params/volume_db" - "params/pitch_scale" - "params/attenuation/min_distance" - "params/attenuation/max_distance" - "params/attenuation/distance_exp" - "config/polyphony" - "config/samples" - "config/pitch_random" - "SamplePlayer2D" - - "node_count" - 11 - "node_paths" - - - "nodes" - -1, -1, 30, 0, -1, 29, 1, 0, 2, 1, 3, 2, 4, 0, 5, 1, 6, 3, 7, 0, 8, 1, 9, 4, 10, 0, 11, 5, 12, 5, 13, 6, 14, 7, 15, 8, 16, 8, 17, 7, 18, 0, 19, 9, 20, 10, 21, 0, 22, 0, 23, 11, 24, 12, 25, 8, 26, 13, 27, 13, 28, 14, 29, 15, 0, 0, 0, 40, 31, -1, 8, 32, 16, 33, 17, 34, 18, 35, 11, 36, 11, 37, 11, 38, 0, 39, 0, 0, 0, 0, 52, 41, -1, 10, 42, 5, 43, 8, 44, 19, 45, 20, 46, 21, 47, 22, 48, 11, 49, 23, 50, 24, 51, 25, 0, 0, 0, 57, 53, -1, 3, 54, 26, 55, 27, 56, 10, 0, 0, 0, 58, 58, -1, 4, 32, 28, 59, 1, 60, 0, 61, 29, 0, 0, 0, 58, 62, -1, 4, 32, 30, 59, 1, 60, 0, 61, 29, 0, 0, 0, 58, 63, -1, 4, 32, 31, 59, 1, 60, 0, 61, 29, 0, 0, 0, 69, 64, -1, 5, 32, 32, 65, 11, 66, 33, 67, 5, 68, 34, 0, 0, 0, 69, 70, -1, 5, 32, 35, 65, 11, 66, 33, 67, 5, 68, 34, 0, 0, 0, 71, 71, -1, 26, 72, 36, 73, 5, 74, 37, 75, 38, 76, 38, 77, 0, 78, 39, 79, 40, 80, 8, 81, 41, 82, 42, 83, 43, 84, 8, 85, 8, 86, 44, 87, 8, 88, 8, 89, 8, 90, 8, 91, 43, 92, 23, 93, 8, 94, 7, 95, 8, 96, 7, 97, 45, 0, 0, 0, 107, 98, -1, 8, 99, 8, 100, 7, 101, 7, 102, 46, 103, 7, 104, 47, 105, 48, 106, 8, 0 - "variants" - - False - - 1, -0, 0, 1, -1.08072, -2.16144 - 1, -0, 0, 1, 6.48431, 3.24216 - 1, -0, 0, 1, -12.495, 3.53415 - 1 - 2 - 1 - 0 - 0 - 4 - True - 0, 0 - -1 - - - "__editor_plugin_screen__" - "2D" - "__editor_plugin_states__" - - "2D" - - "ofs" - -227.625, -197.9 - "snap_grid" - False - "snap_offset" - 0, 0 - "snap_pixel" - False - "snap_relative" - False - "snap_rotation" - False - "snap_rotation_offset" - 0 - "snap_rotation_step" - 0.261799 - "snap_show_grid" - False - "snap_step" - 10, 10 - "zoom" - 1.108033 - - "3D" - - "ambient_light_color" - 0.15, 0.15, 0.15, 1 - "default_light" - True - "default_srgb" - False - "deflight_rot_x" - 0.942478 - "deflight_rot_y" - 0.628319 - "fov" - 45 - "show_grid" - True - "show_origin" - True - "viewport_mode" - 1 - "viewports" - - - "distance" - 4 - "listener" - True - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "zfar" - 500 - "znear" - 0.1 - - "Anim" - - "visible" - False - - - "__editor_run_settings__" - - "custom_args" - "-l $scene" - "run_mode" - 0 - - - 16.2569, 11.0034 - 23.5056, 10.8629 - -10, -10, 20, 20 - ".." - - - - 3 - - - "" - - 8 - -1.08072, -2.16144 - -1 - 6.48431, 3.24216 - -12.495, 3.53415 - -33.2868, -9.34363 - 0, 45 - 15 - 29.1987, -9.34363 - 0.121212 - 32 - 0.5 - 0.1 - - 180 - 90 - 2 - 9.8 - - 2048 - 3 - - - "version" - 2 - - - - \ No newline at end of file diff --git a/demos/2d/platformer/engine.cfg b/demos/2d/platformer/engine.cfg index 044d661e3eb..dddef264d48 100644 --- a/demos/2d/platformer/engine.cfg +++ b/demos/2d/platformer/engine.cfg @@ -1,7 +1,7 @@ [application] name="Platformer" -main_scene="res://stage.xml" +main_scene="res://stage.tscn" icon="res://icon.png" name_es="Plataformero" target_fps="60" diff --git a/demos/2d/platformer/moving_platform.tscn b/demos/2d/platformer/moving_platform.tscn new file mode 100644 index 00000000000..c6269d6ee74 --- /dev/null +++ b/demos/2d/platformer/moving_platform.tscn @@ -0,0 +1,52 @@ +[gd_scene load_steps=4 format=1] + +[ext_resource path="res://moving_platform.gd" type="Script" id=1] +[ext_resource path="res://moving_platform.png" type="Texture" id=2] + +[sub_resource type="ConvexPolygonShape2D" id=1] + +custom_solver_bias = 0.0 +points = Vector2Array( -88, 24, -88, -24, 88, -24, 88, 24 ) + +[node name="moving_platform" type="Node2D"] + +script/script = ExtResource( 1 ) +motion = Vector2( 0, 0 ) +cycle = 1.0 + +[node name="platform" 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 = 3 +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="platform"] + +texture = ExtResource( 2 ) + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="platform"] + +build_mode = 0 +polygon = Vector2Array( -88, -24, 88, -24, 88, 24, -88, 24 ) +shape_range = Vector2( -1, -1 ) +trigger = false + + diff --git a/demos/2d/platformer/moving_platform.xml b/demos/2d/platformer/moving_platform.xml deleted file mode 100644 index 4b94a7af482..00000000000 --- a/demos/2d/platformer/moving_platform.xml +++ /dev/null @@ -1,224 +0,0 @@ - - - - - - 0 - -88, 24, -88, -24, 88, -24, 88, 24 - - - - - "conn_count" - 0 - "conns" - - "editable_instances" - - - "names" - - "moving_platform" - "script/script" - "__meta__" - "motion" - "cycle" - "Node2D" - "platform" - "input/pickable" - "shapes/0/shape" - "shapes/0/transform" - "shapes/0/trigger" - "collision/layers" - "collision/mask" - "mode" - "mass" - "friction" - "bounce" - "gravity_scale" - "custom_integrator" - "continuous_cd" - "contacts_reported" - "contact_monitor" - "sleeping" - "can_sleep" - "velocity/linear" - "velocity/angular" - "damp_override/linear" - "damp_override/angular" - "RigidBody2D" - "Sprite" - "texture" - "CollisionPolygon2D" - "build_mode" - "polygon" - "shape_range" - "trigger" - - "node_count" - 4 - "node_paths" - - - "nodes" - -1, -1, 5, 0, -1, 4, 1, 0, 2, 1, 3, 2, 4, 3, 0, 0, 0, 28, 6, -1, 21, 7, 4, 8, 5, 9, 6, 10, 4, 11, 7, 12, 7, 13, 8, 14, 3, 15, 3, 16, 9, 17, 3, 18, 4, 19, 10, 20, 10, 21, 4, 22, 4, 23, 11, 24, 2, 25, 9, 26, 12, 27, 12, 0, 1, 0, 29, 29, -1, 1, 30, 13, 0, 1, 0, 31, 31, -1, 4, 32, 10, 33, 14, 34, 15, 35, 4, 0 - "variants" - - - - "__editor_plugin_screen__" - "2D" - "__editor_plugin_states__" - - "2D" - - "ofs" - -210.652, -172.81 - "snap_grid" - False - "snap_offset" - 0, 0 - "snap_pixel" - False - "snap_relative" - False - "snap_rotation" - False - "snap_rotation_offset" - 0 - "snap_rotation_step" - 0.261799 - "snap_show_grid" - False - "snap_step" - 10, 10 - "zoom" - 1.360373 - - "3D" - - "ambient_light_color" - 0.15, 0.15, 0.15, 1 - "default_light" - True - "default_srgb" - False - "deflight_rot_x" - 0.942478 - "deflight_rot_y" - 0.628319 - "fov" - 179 - "show_grid" - True - "show_origin" - True - "viewport_mode" - 1 - "viewports" - - - "distance" - 4 - "listener" - True - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "zfar" - 500 - "znear" - 0.1 - - "Anim" - - "visible" - False - - - "__editor_run_settings__" - - "custom_args" - "-l $scene" - "run_mode" - 0 - - - 0, 0 - 1 - False - - 1, -0, 0, 1, 0, 0 - 1 - 3 - 0 - 0 - True - -1 - - -88, -24, 88, -24, 88, 24, -88, 24 - -1, -1 - - "version" - 2 - - - - \ No newline at end of file diff --git a/demos/2d/platformer/one_way_platform.tscn b/demos/2d/platformer/one_way_platform.tscn new file mode 100644 index 00000000000..88c4b0d61ae --- /dev/null +++ b/demos/2d/platformer/one_way_platform.tscn @@ -0,0 +1,36 @@ +[gd_scene load_steps=3 format=1] + +[ext_resource path="res://one_way_platform.png" type="Texture" id=1] + +[sub_resource type="RectangleShape2D" id=1] + +custom_solver_bias = 0.0 +extents = Vector2( 100, 10 ) + +[node name="one_way_platform" type="StaticBody2D"] + +input/pickable = false +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 1.46304, -13.1672 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +one_way_collision/direction = Vector2( 0, 1 ) +one_way_collision/max_depth = 20.0 +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="."] + +transform/pos = Vector2( 1.46304, -13.1672 ) +shape = SubResource( 1 ) +trigger = false +_update_shape_index = -1 + + diff --git a/demos/2d/platformer/one_way_platform.xml b/demos/2d/platformer/one_way_platform.xml deleted file mode 100644 index 85b23227115..00000000000 --- a/demos/2d/platformer/one_way_platform.xml +++ /dev/null @@ -1,207 +0,0 @@ - - - - - 0 - 100, 10 - - - - - "conn_count" - 0 - "conns" - - "editable_instances" - - - "names" - - "one_way_platform" - "input/pickable" - "shapes/0/shape" - "shapes/0/transform" - "shapes/0/trigger" - "collision/layers" - "collision/mask" - "one_way_collision/direction" - "one_way_collision/max_depth" - "constant_linear_velocity" - "constant_angular_velocity" - "friction" - "bounce" - "__meta__" - "StaticBody2D" - "sprite" - "texture" - "Sprite" - "CollisionShape2D" - "transform/pos" - "shape" - "trigger" - "_update_shape_index" - - "node_count" - 3 - "node_paths" - - - "nodes" - -1, -1, 14, 0, -1, 13, 1, 0, 2, 1, 3, 2, 4, 0, 5, 3, 6, 3, 7, 4, 8, 5, 9, 6, 10, 7, 11, 8, 12, 7, 13, 9, 0, 0, 0, 17, 15, -1, 1, 16, 10, 0, 0, 0, 18, 18, -1, 4, 19, 11, 20, 1, 21, 0, 22, 12, 0 - "variants" - - False - - 1, -0, 0, 1, 1.46304, -13.1672 - 1 - 0, 1 - 20 - 0, 0 - 0 - 1 - - "__editor_plugin_screen__" - "2D" - "__editor_plugin_states__" - - "2D" - - "ofs" - -133.699, -110.553 - "snap_grid" - False - "snap_offset" - 0, 0 - "snap_pixel" - False - "snap_relative" - False - "snap_rotation" - False - "snap_rotation_offset" - 0 - "snap_rotation_step" - 0.261799 - "snap_show_grid" - False - "snap_step" - 10, 10 - "zoom" - 2.050546 - - "3D" - - "ambient_light_color" - 0.15, 0.15, 0.15, 1 - "default_light" - True - "default_srgb" - False - "deflight_rot_x" - 0.942478 - "deflight_rot_y" - 0.628319 - "fov" - 45 - "show_grid" - True - "show_origin" - True - "viewport_mode" - 1 - "viewports" - - - "distance" - 4 - "listener" - True - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "zfar" - 500 - "znear" - 0.1 - - "Anim" - - "visible" - False - - - "__editor_run_settings__" - - "custom_args" - "-l $scene" - "run_mode" - 0 - - - - 1.46304, -13.1672 - -1 - - "version" - 2 - - - - \ No newline at end of file diff --git a/demos/2d/platformer/parallax_bg.tscn b/demos/2d/platformer/parallax_bg.tscn new file mode 100644 index 00000000000..cf5815e28c2 --- /dev/null +++ b/demos/2d/platformer/parallax_bg.tscn @@ -0,0 +1,101 @@ +[gd_scene load_steps=7 format=1] + +[ext_resource path="res://scroll_bg_sky.png" type="Texture" id=1] +[ext_resource path="res://scroll_bg_cloud_1.png" type="Texture" id=2] +[ext_resource path="res://scroll_bg_cloud_2.png" type="Texture" id=3] +[ext_resource path="res://scroll_bg_cloud_3.png" type="Texture" id=4] +[ext_resource path="res://scroll_bg_fg_2.png" type="Texture" id=5] +[ext_resource path="res://scroll_bg_fg_1.png" type="Texture" id=6] + +[node name="parallax_bg" type="ParallaxBackground"] + +layer = -1 +offset = Vector2( 0, 0 ) +rotation = 0.0 +scale = Vector2( 1, 1 ) +scroll/offset = Vector2( 0, 0 ) +scroll/base_offset = Vector2( 0, 0 ) +scroll/base_scale = Vector2( 0.7, 0 ) +scroll/limit_begin = Vector2( 0, 0 ) +scroll/limit_end = Vector2( 0, 0 ) +scroll/ignore_camera_zoom = false + +[node name="sky" type="ParallaxLayer" parent="."] + +motion/scale = Vector2( 1, 1 ) +motion/mirroring = Vector2( 800, 0 ) + +[node name="Sprite" type="Sprite" parent="sky"] + +transform/scale = Vector2( 32, 0.94 ) +texture = ExtResource( 1 ) +centered = false + +[node name="clouds" type="ParallaxLayer" parent="."] + +motion/scale = Vector2( 0.1, 1 ) +motion/mirroring = Vector2( 800, 0 ) + +[node name="Sprite" type="Sprite" parent="clouds"] + +transform/pos = Vector2( 28, 127 ) +texture = ExtResource( 2 ) +centered = false + +[node name="Sprite 2" type="Sprite" parent="clouds"] + +transform/pos = Vector2( 404, 24 ) +texture = ExtResource( 2 ) +centered = false + +[node name="Sprite 3" type="Sprite" parent="clouds"] + +transform/pos = Vector2( 154, 46 ) +texture = ExtResource( 3 ) +centered = false + +[node name="Sprite 4" type="Sprite" parent="clouds"] + +transform/pos = Vector2( 525, 130 ) +texture = ExtResource( 3 ) +centered = false + +[node name="Sprite 5" type="Sprite" parent="clouds"] + +transform/pos = Vector2( 255, 158 ) +texture = ExtResource( 4 ) +centered = false + +[node name="Sprite 6" type="Sprite" parent="clouds"] + +transform/pos = Vector2( 674, 70 ) +texture = ExtResource( 4 ) +centered = false + +[node name="mount_ 2" type="ParallaxLayer" parent="."] + +motion/scale = Vector2( 0.2, 1 ) +motion/mirroring = Vector2( 800, 0 ) + +[node name="Sprite" type="Sprite" parent="mount_ 2"] + +transform/pos = Vector2( 0, 225 ) +texture = ExtResource( 5 ) +centered = false +region = true +region_rect = Rect2( 0, 0, 800, 256 ) + +[node name="mount_1" type="ParallaxLayer" parent="."] + +motion/scale = Vector2( 0.4, 1 ) +motion/mirroring = Vector2( 800, 0 ) + +[node name="Sprite" type="Sprite" parent="mount_1"] + +transform/pos = Vector2( 0, 225 ) +texture = ExtResource( 6 ) +centered = false +region = true +region_rect = Rect2( 0, 0, 800, 256 ) + + diff --git a/demos/2d/platformer/parallax_bg.xml b/demos/2d/platformer/parallax_bg.xml deleted file mode 100644 index 3b306aecab4..00000000000 --- a/demos/2d/platformer/parallax_bg.xml +++ /dev/null @@ -1,230 +0,0 @@ - - - - - - - - - - - "conn_count" - 0 - "conns" - - "editable_instances" - - - "names" - - "parallax_bg" - "layer" - "offset" - "rotation" - "scale" - "scroll/offset" - "scroll/base_offset" - "scroll/base_scale" - "scroll/limit_begin" - "scroll/limit_end" - "scroll/ignore_camera_zoom" - "__meta__" - "ParallaxBackground" - "sky" - "motion/scale" - "motion/mirroring" - "ParallaxLayer" - "Sprite" - "transform/scale" - "texture" - "centered" - "clouds" - "transform/pos" - "Sprite 2" - "Sprite 3" - "Sprite 4" - "Sprite 5" - "Sprite 6" - "mount_ 2" - "region" - "region_rect" - "mount_1" - - "node_count" - 14 - "node_paths" - - - "nodes" - -1, -1, 12, 0, -1, 11, 1, 0, 2, 1, 3, 2, 4, 3, 5, 1, 6, 1, 7, 4, 8, 1, 9, 1, 10, 5, 11, 6, 0, 0, 0, 16, 13, -1, 2, 14, 3, 15, 7, 0, 1, 0, 17, 17, -1, 3, 18, 8, 19, 9, 20, 5, 0, 0, 0, 16, 21, -1, 2, 14, 10, 15, 7, 0, 3, 0, 17, 17, -1, 3, 22, 11, 19, 12, 20, 5, 0, 3, 0, 17, 23, -1, 3, 22, 13, 19, 12, 20, 5, 0, 3, 0, 17, 24, -1, 3, 22, 14, 19, 15, 20, 5, 0, 3, 0, 17, 25, -1, 3, 22, 16, 19, 15, 20, 5, 0, 3, 0, 17, 26, -1, 3, 22, 17, 19, 18, 20, 5, 0, 3, 0, 17, 27, -1, 3, 22, 19, 19, 18, 20, 5, 0, 0, 0, 16, 28, -1, 2, 14, 20, 15, 7, 0, 10, 0, 17, 17, -1, 5, 22, 21, 19, 22, 20, 5, 29, 23, 30, 24, 0, 0, 0, 16, 31, -1, 2, 14, 25, 15, 7, 0, 12, 0, 17, 17, -1, 5, 22, 21, 19, 26, 20, 5, 29, 23, 30, 24, 0 - "variants" - - -1 - 0, 0 - 0 - 1, 1 - 0.7, 0 - False - - "__editor_plugin_screen__" - "2D" - "__editor_plugin_states__" - - "2D" - - "ofs" - -5, -25 - "snap_grid" - False - "snap_offset" - 0, 0 - "snap_pixel" - False - "snap_relative" - False - "snap_rotation" - False - "snap_rotation_offset" - 0 - "snap_rotation_step" - 0.261799 - "snap_show_grid" - False - "snap_step" - 10, 10 - "zoom" - 1 - - "3D" - - "ambient_light_color" - 0.15, 0.15, 0.15, 1 - "default_light" - True - "default_srgb" - False - "deflight_rot_x" - 0.942478 - "deflight_rot_y" - 0.628319 - "fov" - 45 - "show_grid" - True - "show_origin" - True - "viewport_mode" - 1 - "viewports" - - - "distance" - 4 - "listener" - True - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "zfar" - 500 - "znear" - 0.1 - - "Anim" - - "visible" - False - - - "__editor_run_settings__" - - "custom_args" - "-l $scene" - "run_mode" - 0 - - - 800, 0 - 32, 0.94 - - 0.1, 1 - 28, 127 - - 404, 24 - 154, 46 - - 525, 130 - 255, 158 - - 674, 70 - 0.2, 1 - 0, 225 - - True - 0, 0, 800, 256 - 0.4, 1 - - - "version" - 2 - - - - \ No newline at end of file diff --git a/demos/2d/platformer/player.gd b/demos/2d/platformer/player.gd index 7ed99df9bda..8cafd8b9336 100644 --- a/demos/2d/platformer/player.gd +++ b/demos/2d/platformer/player.gd @@ -47,7 +47,7 @@ var shoot_time = 1e20 var MAX_SHOOT_POSE_TIME = 0.3 -var bullet = preload("res://bullet.xml") +var bullet = preload("res://bullet.tscn") var floor_h_velocity = 0.0 var enemy @@ -220,7 +220,7 @@ func _integrate_forces(s): func _ready(): - enemy = ResourceLoader.load("res://enemy.xml") + enemy = ResourceLoader.load("res://enemy.tscn") # if !Globals.has_singleton("Facebook"): # return diff --git a/demos/2d/platformer/player.tscn b/demos/2d/platformer/player.tscn new file mode 100644 index 00000000000..77a2e272a61 --- /dev/null +++ b/demos/2d/platformer/player.tscn @@ -0,0 +1,330 @@ +[gd_scene load_steps=25 format=1] + +[ext_resource path="res://player.gd" type="Script" id=1] +[ext_resource path="res://robot_demo.png" type="Texture" id=2] +[ext_resource path="res://bullet.png" type="Texture" id=3] +[ext_resource path="res://sound_coin.wav" type="Sample" id=4] +[ext_resource path="res://sound_jump.wav" type="Sample" id=5] +[ext_resource path="res://sound_shoot.wav" type="Sample" id=6] +[ext_resource path="res://osb_left.png" type="Texture" id=7] +[ext_resource path="res://osb_right.png" type="Texture" id=8] +[ext_resource path="res://osb_jump.png" type="Texture" id=9] +[ext_resource path="res://osb_fire.png" type="Texture" id=10] + +[sub_resource type="RayShape2D" id=1] + +custom_solver_bias = 0.5 +length = 20.0 + +[sub_resource type="ConvexPolygonShape2D" id=2] + +custom_solver_bias = 0.0 +points = Vector2Array( -19.902, -24.8691, 19.3625, -24.6056, -0.138023, 16.5036 ) + +[sub_resource type="ColorRamp" id=3] + +offsets = FloatArray( 0, 1 ) +colors = ColorArray( 1, 1, 1, 1, 0, 0, 0, 0.0442478 ) + +[sub_resource type="Animation" id=4] + +resource/name = "crouch" +length = 0.01 +loop = true +step = 0.25 +tracks/0/type = "value" +tracks/0/path = NodePath("sprite:frame") +tracks/0/interp = 1 +tracks/0/keys = { "cont":false, "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "values":[ 22 ] } + +[sub_resource type="Animation" id=5] + +resource/name = "falling" +length = 0.01 +loop = true +step = 0.25 +tracks/0/type = "value" +tracks/0/path = NodePath("sprite:frame") +tracks/0/interp = 1 +tracks/0/keys = { "cont":false, "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "values":[ 21 ] } + +[sub_resource type="Animation" id=6] + +resource/name = "falling_weapon" +length = 0.5 +loop = true +step = 0.25 +tracks/0/type = "value" +tracks/0/path = NodePath("sprite:frame") +tracks/0/interp = 1 +tracks/0/keys = { "cont":false, "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "values":[ 26 ] } + +[sub_resource type="Animation" id=7] + +length = 7.0 +loop = true +step = 0.25 +tracks/0/type = "value" +tracks/0/path = NodePath("sprite:frame") +tracks/0/interp = 1 +tracks/0/keys = { "cont":false, "times":FloatArray( 0, 1.25, 1.5, 2, 4.5, 4.75, 5, 5.25 ), "transitions":FloatArray( 1, 1, 1, 1, 1, 1, 1, 1 ), "values":[ 16, 17, 18, 16, 19, 20, 19, 16 ] } + +[sub_resource type="Animation" id=8] + +length = 0.5 +loop = true +step = 0.25 +tracks/0/type = "value" +tracks/0/path = NodePath("sprite:frame") +tracks/0/interp = 1 +tracks/0/keys = { "cont":false, "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "values":[ 25 ] } + +[sub_resource type="Animation" id=9] + +length = 0.5 +loop = true +step = 0.25 +tracks/0/type = "value" +tracks/0/path = NodePath("sprite:frame") +tracks/0/interp = 1 +tracks/0/keys = { "cont":false, "times":FloatArray( 0, 0.25, 0.5 ), "transitions":FloatArray( 1, 1, 1 ), "values":[ 23, 24, 23 ] } + +[sub_resource type="Animation" id=10] + +length = 0.5 +loop = true +step = 0.25 +tracks/0/type = "value" +tracks/0/path = NodePath("sprite:frame") +tracks/0/interp = 1 +tracks/0/keys = { "cont":false, "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "values":[ 26 ] } + +[sub_resource type="Animation" id=11] + +length = 1.25 +loop = true +step = 0.25 +tracks/0/type = "value" +tracks/0/path = NodePath("sprite:frame") +tracks/0/interp = 1 +tracks/0/keys = { "cont":false, "times":FloatArray( 0, 0.25, 0.5, 0.75, 1, 1.25 ), "transitions":FloatArray( 1, 1, 1, 1, 1, 1 ), "values":[ 0, 1, 2, 3, 4, 0 ] } + +[sub_resource type="Animation" id=12] + +length = 1.25 +loop = true +step = 0.25 +tracks/0/type = "value" +tracks/0/path = NodePath("sprite:frame") +tracks/0/interp = 1 +tracks/0/keys = { "cont":false, "times":FloatArray( 0, 0.25, 0.5, 0.75, 1, 1.25 ), "transitions":FloatArray( 1, 1, 1, 1, 1, 1 ), "values":[ 5, 6, 7, 8, 9, 5 ] } + +[sub_resource type="Animation" id=13] + +length = 1.25 +loop = true +step = 0.25 +tracks/0/type = "value" +tracks/0/path = NodePath("sprite:frame") +tracks/0/interp = 1 +tracks/0/keys = { "cont":false, "times":FloatArray( 0, 0.25, 0.5, 0.75, 1, 1.25 ), "transitions":FloatArray( 1, 1, 1, 1, 1, 1 ), "values":[ 10, 11, 12, 13, 14, 5 ] } + +[sub_resource type="SampleLibrary" id=14] + +samples/jump = { "db":0.0, "pitch":1.0, "sample":ExtResource( 5 ) } +samples/shoot = { "db":0.0, "pitch":1.0, "sample":ExtResource( 6 ) } +samples/coin = { "db":0.0, "pitch":1.0, "sample":ExtResource( 4 ) } + +[node name="player" type="RigidBody2D"] + +input/pickable = false +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1.76469, 0.291992, -12.1587 ) +shapes/0/trigger = false +shapes/1/shape = SubResource( 2 ) +shapes/1/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/1/trigger = false +collision/layers = 1 +collision/mask = 1 +mode = 2 +mass = 3.0 +friction = 0.0 +bounce = 0.0 +gravity_scale = 1.0 +custom_integrator = true +continuous_cd = 0 +contacts_reported = 3 +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 +script/script = ExtResource( 1 ) + +[node name="sprite" type="Sprite" parent="."] + +texture = ExtResource( 2 ) +vframes = 2 +hframes = 16 + +[node name="smoke" type="Particles2D" parent="sprite"] + +visibility/self_opacity = 0.363636 +visibility/blend_mode = 1 +transform/pos = Vector2( 20.7312, 3.21187 ) +transform/rot = 83.4504 +config/amount = 4 +config/lifetime = 0.3 +config/emit_timeout = 0.3 +config/emitting = false +config/local_space = false +config/explosiveness = 0.1 +config/texture = ExtResource( 3 ) +params/direction = 0.0 +params/spread = 180.0 +params/linear_velocity = 20.0 +params/spin_velocity = 1.0 +params/orbit_velocity = 0.0 +params/gravity_direction = 0.0 +params/gravity_strength = 9.8 +params/radial_accel = 0.0 +params/tangential_accel = 0.0 +params/damping = 0.0 +params/initial_angle = 0.0 +params/initial_size = 2.0 +params/final_size = 2.0 +params/hue_variation = 0.0 +params/anim_speed_scale = 1.0 +params/anim_initial_pos = 0.0 +randomness/spin_velocity = 2.0 +color/color_ramp = SubResource( 3 ) + +[node name="anim" type="AnimationPlayer" parent="."] + +playback/process_mode = 1 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/crouch = SubResource( 4 ) +anims/falling = SubResource( 5 ) +anims/falling_weapon = SubResource( 6 ) +anims/idle = SubResource( 7 ) +anims/idle_weapon = SubResource( 8 ) +anims/jumping = SubResource( 9 ) +anims/jumping_weapon = SubResource( 10 ) +anims/run = SubResource( 11 ) +anims/run_weapon = SubResource( 12 ) +anims/standing_weapon_ready = SubResource( 13 ) +playback/active = true +playback/speed = 2.0 +blend_times = [ ] +autoplay = "" + +[node name="camera" type="Camera2D" parent="."] + +anchor_mode = 1 +rotating = false +current = true +zoom = Vector2( 1, 1 ) +limit/left = 0 +limit/top = 0 +limit/right = 10000000 +limit/bottom = 10000000 +drag_margin/h_enabled = true +drag_margin/v_enabled = true +smoothing/enable = false +smoothing/speed = 5.0 +drag_margin/left = 0.2 +drag_margin/top = 0.2 +drag_margin/right = 0.2 +drag_margin/bottom = 0.2 + +[node name="bullet_shoot" type="Position2D" parent="."] + +transform/pos = Vector2( 31.2428, 4.08784 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] + +transform/pos = Vector2( 0.291992, -12.1587 ) +transform/scale = Vector2( 1, 1.76469 ) +shape = SubResource( 1 ) +trigger = false +_update_shape_index = -1 + +[node name="sound" type="SamplePlayer" parent="."] + +config/polyphony = 1 +config/samples = SubResource( 14 ) +default/volume_db = 0.0 +default/pitch_scale = 1.0 +default/pan = 0.0 +default/depth = 0.0 +default/height = 0.0 +default/filter/type = 0 +default/filter/cutoff = 0.0 +default/filter/resonance = 0.0 +default/filter/gain = 0.0 +default/reverb_room = 2 +default/reverb_send = 0.0 +default/chorus_send = 0.0 + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="."] + +build_mode = 0 +polygon = Vector2Array( -0.138023, 16.5036, -19.902, -24.8691, 19.3625, -24.6056 ) +shape_range = Vector2( -1, -1 ) +trigger = false + +[node name="ui" type="CanvasLayer" parent="."] + +layer = 0 +offset = Vector2( 0, 0 ) +rotation = 0.0 +scale = Vector2( 1, 1 ) + +[node name="left" type="TouchScreenButton" parent="ui"] + +transform/pos = Vector2( 27.7593, 360.87 ) +transform/scale = Vector2( 1.49157, 1.46265 ) +normal = ExtResource( 7 ) +pressed = null +bitmask = null +passby_press = true +action = "move_left" +visibility_mode = 1 + +[node name="right" type="TouchScreenButton" parent="ui"] + +transform/pos = Vector2( 121.542, 361.415 ) +transform/scale = Vector2( 1.49157, 1.46265 ) +normal = ExtResource( 8 ) +pressed = null +bitmask = null +passby_press = true +action = "move_right" +visibility_mode = 1 + +[node name="jump" type="TouchScreenButton" parent="ui"] + +transform/pos = Vector2( 666.224, 359.02 ) +transform/scale = Vector2( 1.49157, 1.46265 ) +normal = ExtResource( 9 ) +pressed = null +bitmask = null +passby_press = false +action = "jump" +visibility_mode = 1 + +[node name="fire" type="TouchScreenButton" parent="ui"] + +transform/pos = Vector2( 668.073, 262.788 ) +transform/scale = Vector2( 1.49157, 1.46265 ) +normal = ExtResource( 10 ) +pressed = null +bitmask = null +passby_press = false +action = "shoot" +visibility_mode = 1 + + diff --git a/demos/2d/platformer/player.xml b/demos/2d/platformer/player.xml deleted file mode 100644 index 493279672f3..00000000000 --- a/demos/2d/platformer/player.xml +++ /dev/null @@ -1,669 +0,0 @@ - - - - - - - - - - - - - - 0.5 - 20 - - - - 0 - -19.902, -24.8691, 19.3625, -24.6056, -0.138023, 16.5036 - - - - 0, 1 - 1, 1, 1, 1, 0, 0, 0, 0.0442478 - - - - "idle" - 7 - True - 0.25 - "value" - "sprite:frame" - 1 - - "cont" - False - "times" - 0, 1.25, 1.5, 2, 4.5, 4.75, 5, 5.25 - "transitions" - 1, 1, 1, 1, 1, 1, 1, 1 - "values" - - 16 - 17 - 18 - 16 - 19 - 20 - 19 - 16 - - - - - - "jumping" - 0.5 - True - 0.25 - "value" - "sprite:frame" - 1 - - "cont" - False - "times" - 0, 0.25, 0.5 - "transitions" - 1, 1, 1 - "values" - - 23 - 24 - 23 - - - - - - "falling_weapon" - 0.5 - True - 0.25 - "value" - "sprite:frame" - 1 - - "cont" - False - "times" - 0 - "transitions" - 1 - "values" - - 26 - - - - - - "idle_weapon" - 0.5 - True - 0.25 - "value" - "sprite:frame" - 1 - - "cont" - False - "times" - 0 - "transitions" - 1 - "values" - - 25 - - - - - - "crouch" - 0.01 - True - 0.25 - "value" - "sprite:frame" - 1 - - "cont" - False - "times" - 0 - "transitions" - 1 - "values" - - 22 - - - - - - "falling" - 0.01 - True - 0.25 - "value" - "sprite:frame" - 1 - - "cont" - False - "times" - 0 - "transitions" - 1 - "values" - - 21 - - - - - - 1.25 - True - 0.25 - "value" - "sprite:frame" - 1 - - "cont" - False - "times" - 0, 0.25, 0.5, 0.75, 1, 1.25 - "transitions" - 1, 1, 1, 1, 1, 1 - "values" - - 10 - 11 - 12 - 13 - 14 - 5 - - - - - - 0.5 - True - 0.25 - "value" - "sprite:frame" - 1 - - "cont" - False - "times" - 0 - "transitions" - 1 - "values" - - 26 - - - - - - 1.25 - True - 0.25 - "value" - "sprite:frame" - 1 - - "cont" - False - "times" - 0, 0.25, 0.5, 0.75, 1, 1.25 - "transitions" - 1, 1, 1, 1, 1, 1 - "values" - - 0 - 1 - 2 - 3 - 4 - 0 - - - - - - 1.25 - True - 0.25 - "value" - "sprite:frame" - 1 - - "cont" - False - "times" - 0, 0.25, 0.5, 0.75, 1, 1.25 - "transitions" - 1, 1, 1, 1, 1, 1 - "values" - - 5 - 6 - 7 - 8 - 9 - 5 - - - - - - - "db" - 0 - "pitch" - 1 - "sample" - - - - "db" - 0 - "pitch" - 1 - "sample" - - - - "db" - 0 - "pitch" - 1 - "sample" - - - - - - - "conn_count" - 0 - "conns" - - "editable_instances" - - - "names" - - "player" - "input/pickable" - "shapes/0/shape" - "shapes/0/transform" - "shapes/0/trigger" - "shapes/1/shape" - "shapes/1/transform" - "shapes/1/trigger" - "collision/layers" - "collision/mask" - "mode" - "mass" - "friction" - "bounce" - "gravity_scale" - "custom_integrator" - "continuous_cd" - "contacts_reported" - "contact_monitor" - "sleeping" - "can_sleep" - "velocity/linear" - "velocity/angular" - "damp_override/linear" - "damp_override/angular" - "script/script" - "__meta__" - "RigidBody2D" - "sprite" - "texture" - "vframes" - "hframes" - "Sprite" - "smoke" - "visibility/self_opacity" - "visibility/blend_mode" - "transform/pos" - "transform/rot" - "config/amount" - "config/lifetime" - "config/emit_timeout" - "config/emitting" - "config/local_space" - "config/explosiveness" - "config/texture" - "params/direction" - "params/spread" - "params/linear_velocity" - "params/spin_velocity" - "params/orbit_velocity" - "params/gravity_direction" - "params/gravity_strength" - "params/radial_accel" - "params/tangential_accel" - "params/damping" - "params/initial_angle" - "params/initial_size" - "params/final_size" - "params/hue_variation" - "params/anim_speed_scale" - "params/anim_initial_pos" - "randomness/spin_velocity" - "color/color_ramp" - "Particles2D" - "anim" - "playback/process_mode" - "playback/default_blend_time" - "root/root" - "anims/idle" - "anims/jumping" - "anims/falling_weapon" - "anims/idle_weapon" - "anims/crouch" - "anims/falling" - "anims/standing_weapon_ready" - "anims/jumping_weapon" - "anims/run" - "anims/run_weapon" - "playback/active" - "playback/speed" - "blend_times" - "autoplay" - "AnimationPlayer" - "camera" - "anchor_mode" - "rotating" - "current" - "smoothing" - "zoom" - "limit/left" - "limit/top" - "limit/right" - "limit/bottom" - "drag_margin/h_enabled" - "drag_margin/v_enabled" - "drag_margin/left" - "drag_margin/top" - "drag_margin/right" - "drag_margin/bottom" - "Camera2D" - "bullet_shoot" - "Position2D" - "CollisionShape2D" - "transform/scale" - "shape" - "trigger" - "_update_shape_index" - "sound" - "config/polyphony" - "config/samples" - "default/volume_db" - "default/pitch_scale" - "default/pan" - "default/depth" - "default/height" - "default/filter/type" - "default/filter/cutoff" - "default/filter/resonance" - "default/filter/gain" - "default/reverb_room" - "default/reverb_send" - "default/chorus_send" - "SamplePlayer" - "CollisionPolygon2D" - "build_mode" - "polygon" - "shape_range" - "ui" - "layer" - "offset" - "rotation" - "scale" - "CanvasLayer" - "left" - "normal" - "pressed" - "bitmask" - "passby_press" - "action" - "visibility_mode" - "TouchScreenButton" - "right" - "jump" - "fire" - - "node_count" - 14 - "node_paths" - - - "nodes" - -1, -1, 27, 0, -1, 26, 1, 0, 2, 1, 3, 2, 4, 0, 5, 3, 6, 4, 7, 0, 8, 5, 9, 5, 10, 6, 11, 7, 12, 8, 13, 8, 14, 9, 15, 10, 16, 11, 17, 12, 18, 0, 19, 0, 20, 10, 21, 13, 22, 8, 23, 14, 24, 14, 25, 15, 26, 16, 0, 0, 0, 32, 28, -1, 3, 29, 17, 30, 6, 31, 18, 0, 1, 0, 63, 33, -1, 29, 34, 19, 35, 5, 36, 20, 37, 21, 38, 22, 39, 23, 40, 23, 41, 0, 42, 0, 43, 24, 44, 25, 45, 8, 46, 26, 47, 27, 48, 9, 49, 8, 50, 8, 51, 28, 52, 8, 53, 8, 54, 8, 55, 8, 56, 29, 57, 29, 58, 8, 59, 9, 60, 8, 61, 29, 62, 30, 0, 0, 0, 82, 64, -1, 17, 65, 5, 66, 8, 67, 31, 68, 32, 69, 33, 70, 34, 71, 35, 72, 36, 73, 37, 74, 38, 75, 39, 76, 40, 77, 41, 78, 10, 79, 29, 80, 42, 81, 43, 0, 0, 0, 99, 83, -1, 15, 84, 5, 85, 0, 86, 10, 87, 8, 88, 44, 89, 11, 90, 11, 91, 45, 92, 45, 93, 10, 94, 10, 95, 46, 96, 46, 97, 46, 98, 46, 0, 0, 0, 101, 100, -1, 1, 36, 47, 0, 0, 0, 102, 102, -1, 5, 36, 48, 103, 49, 104, 1, 105, 0, 106, 50, 0, 0, 0, 122, 107, -1, 14, 108, 5, 109, 51, 110, 8, 111, 9, 112, 8, 113, 8, 114, 8, 115, 11, 116, 8, 117, 8, 118, 8, 119, 6, 120, 8, 121, 8, 0, 0, 0, 123, 123, -1, 4, 124, 11, 125, 52, 126, 53, 105, 0, 0, 0, 0, 132, 127, -1, 4, 128, 11, 129, 13, 130, 8, 131, 44, 0, 9, 0, 140, 133, -1, 8, 36, 54, 103, 55, 134, 56, 135, 57, 136, 57, 137, 10, 138, 58, 139, 5, 0, 9, 0, 140, 141, -1, 8, 36, 59, 103, 55, 134, 60, 135, 57, 136, 57, 137, 10, 138, 61, 139, 5, 0, 9, 0, 140, 142, -1, 8, 36, 62, 103, 55, 134, 63, 135, 57, 136, 57, 137, 0, 138, 64, 139, 5, 0, 9, 0, 140, 143, -1, 8, 36, 65, 103, 55, 134, 66, 135, 57, 136, 57, 137, 0, 138, 67, 139, 5, 0 - "variants" - - False - - 1, -0, 0, 1.76469, 0.291992, -12.1587 - - 1, -0, 0, 1, 0, 0 - 1 - 2 - 3 - 0 - 1 - True - 0 - 3 - 0, 0 - -1 - - - "__editor_plugin_screen__" - "2D" - "__editor_plugin_states__" - - "2D" - - "ofs" - -110.795, -101.2 - "snap_grid" - False - "snap_offset" - 0, 0 - "snap_pixel" - False - "snap_relative" - False - "snap_rotation" - False - "snap_rotation_offset" - 0 - "snap_rotation_step" - 0.261799 - "snap_show_grid" - False - "snap_step" - 10, 10 - "zoom" - 2.050546 - - "3D" - - "ambient_light_color" - 0.15, 0.15, 0.15, 1 - "default_light" - True - "default_srgb" - False - "deflight_rot_x" - 0.942478 - "deflight_rot_y" - 0.628319 - "fov" - 45 - "show_grid" - True - "show_origin" - True - "viewport_mode" - 1 - "viewports" - - - "distance" - 4 - "listener" - True - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "zfar" - 500 - "znear" - 0.1 - - "Anim" - - "visible" - False - - - "__editor_run_settings__" - - "custom_args" - "-l $scene" - "run_mode" - 0 - - - - 16 - 0.363636 - 20.7312, 3.21187 - 83.450417 - 4 - 0.3 - 0.1 - - 180 - 20 - 9.8 - 2 - - ".." - - - - - - - - - - - - - "" - 1, 1 - 10000000 - 0.2 - 31.2428, 4.08784 - 0.291992, -12.1587 - 1, 1.76469 - -1 - - -0.138023, 16.5036, -19.902, -24.8691, 19.3625, -24.6056 - -1, -1 - 27.7593, 360.87 - 1.49157, 1.46265 - - "move_left" - 121.542, 361.415 - - "move_right" - 666.224, 359.02 - - "jump" - 668.073, 262.788 - - "shoot" - - "version" - 2 - - - - \ No newline at end of file diff --git a/demos/2d/platformer/seesaw.tscn b/demos/2d/platformer/seesaw.tscn new file mode 100644 index 00000000000..9af07dc07b9 --- /dev/null +++ b/demos/2d/platformer/seesaw.tscn @@ -0,0 +1,60 @@ +[gd_scene load_steps=4 format=1] + +[ext_resource path="res://plank.png" type="Texture" id=1] +[ext_resource path="res://plankpin.png" type="Texture" id=2] + +[sub_resource type="RectangleShape2D" id=1] + +custom_solver_bias = 0.0 +extents = Vector2( 128, 8 ) + +[node name="seesaw" type="Node2D"] + +[node name="plank" 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 = 5.10204 +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="plank"] + +texture = ExtResource( 1 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="plank"] + +shape = SubResource( 1 ) +trigger = false +_update_shape_index = -1 + +[node name="pin" type="PinJoint2D" parent="."] + +node_a = NodePath("../plank") +node_b = NodePath("") +bias/bias = 0.0 +collision/exclude_nodes = true +softness = 0.0 + +[node name="Sprite" type="Sprite" parent="."] + +transform/pos = Vector2( -0.290825, 20.2425 ) +texture = ExtResource( 2 ) + + diff --git a/demos/2d/platformer/seesaw.xml b/demos/2d/platformer/seesaw.xml deleted file mode 100644 index 760423167f2..00000000000 --- a/demos/2d/platformer/seesaw.xml +++ /dev/null @@ -1,230 +0,0 @@ - - - - - - 0 - 128, 8 - - - - - "conn_count" - 0 - "conns" - - "editable_instances" - - - "names" - - "seesaw" - "__meta__" - "Node2D" - "plank" - "input/pickable" - "shapes/0/shape" - "shapes/0/transform" - "shapes/0/trigger" - "collision/layers" - "collision/mask" - "mode" - "mass" - "friction" - "bounce" - "gravity_scale" - "custom_integrator" - "continuous_cd" - "contacts_reported" - "contact_monitor" - "sleeping" - "can_sleep" - "velocity/linear" - "velocity/angular" - "damp_override/linear" - "damp_override/angular" - "RigidBody2D" - "sprite" - "texture" - "Sprite" - "CollisionShape2D" - "shape" - "trigger" - "_update_shape_index" - "pin" - "node_a" - "node_b" - "bias/bias" - "softness" - "PinJoint2D" - "transform/pos" - - "node_count" - 6 - "node_paths" - - - "nodes" - -1, -1, 2, 0, -1, 1, 1, 0, 0, 0, 0, 25, 3, -1, 21, 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, 0, 1, 0, 28, 26, -1, 1, 27, 12, 0, 1, 0, 29, 29, -1, 3, 30, 2, 31, 1, 32, 13, 0, 0, 0, 38, 33, -1, 4, 34, 14, 35, 15, 36, 8, 37, 8, 0, 0, 0, 28, 28, -1, 2, 39, 16, 27, 17, 0 - "variants" - - - "__editor_plugin_screen__" - "2D" - "__editor_plugin_states__" - - "2D" - - "ofs" - -116.979, -109.897 - "snap_grid" - False - "snap_offset" - 0, 0 - "snap_pixel" - False - "snap_relative" - False - "snap_rotation" - False - "snap_rotation_offset" - 0 - "snap_rotation_step" - 0.261799 - "snap_show_grid" - False - "snap_step" - 10, 10 - "zoom" - 2.050547 - - "3D" - - "ambient_light_color" - 0.15, 0.15, 0.15, 1 - "default_light" - True - "default_srgb" - False - "deflight_rot_x" - 0.942478 - "deflight_rot_y" - 0.628319 - "fov" - 179 - "show_grid" - True - "show_origin" - True - "viewport_mode" - 1 - "viewports" - - - "distance" - 4 - "listener" - True - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "zfar" - 500 - "znear" - 0.1 - - "Anim" - - "visible" - False - - - "__editor_run_settings__" - - "custom_args" - "-l $scene" - "run_mode" - 0 - - - False - - 1, 0, 0, 1, 0, 0 - 1 - 0 - 5.102041 - 1 - 0 - True - 0, 0 - -1 - - -1 - "../plank" - "" - -0.290825, 20.2425 - - - "version" - 2 - - - - \ No newline at end of file diff --git a/demos/2d/platformer/stage.tscn b/demos/2d/platformer/stage.tscn new file mode 100644 index 00000000000..9709efefa93 --- /dev/null +++ b/demos/2d/platformer/stage.tscn @@ -0,0 +1,352 @@ +[gd_scene load_steps=10 format=1] + +[ext_resource path="res://tileset.tres" type="TileSet" id=1] +[ext_resource path="res://coin.tscn" type="PackedScene" id=2] +[ext_resource path="res://moving_platform.tscn" type="PackedScene" id=3] +[ext_resource path="res://seesaw.tscn" type="PackedScene" id=4] +[ext_resource path="res://one_way_platform.tscn" type="PackedScene" id=5] +[ext_resource path="res://player.tscn" type="PackedScene" id=6] +[ext_resource path="res://music.ogg" type="AudioStream" id=7] +[ext_resource path="res://enemy.tscn" type="PackedScene" id=8] +[ext_resource path="res://parallax_bg.tscn" type="PackedScene" id=9] + +[node name="stage" type="Node"] + +[node name="tile_map" type="TileMap" parent="."] + +mode = 0 +tile_set = ExtResource( 1 ) +cell/size = Vector2( 64, 64 ) +cell/quadrant_size = 8 +cell/custom_transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +cell/half_offset = 2 +cell/tile_origin = 0 +cell/y_sort = false +collision/use_kinematic = false +collision/friction = 1.0 +collision/bounce = 0.0 +collision/layers = 1 +collision/mask = 1 +occluder/light_mask = 1 +tile_data = IntArray( 0, 2, 70, 536870914, 71, 10, 72, 10, 73, 10, 74, 10, 75, 10, 76, 10, 77, 10, 78, 10, 65536, 2, 65606, 536870914, 65607, 10, 65608, 10, 65609, 10, 65610, 10, 65611, 10, 65612, 10, 65613, 10, 65614, 10, 131072, 2, 131142, 536870914, 131143, 10, 131144, 10, 131145, 10, 131146, 10, 131147, 10, 131148, 10, 131149, 10, 131150, 10, 196608, 2, 196626, 9, 196678, 536870914, 196679, 10, 196680, 10, 196681, 10, 196682, 10, 196683, 10, 196684, 10, 196685, 10, 196686, 10, 262144, 2, 262162, 8, 262214, 536870914, 262215, 10, 262216, 10, 262217, 10, 262218, 10, 262219, 10, 262220, 10, 262221, 10, 262222, 10, 327680, 2, 327697, 536870921, 327698, 7, 327733, 9, 327750, 536870914, 327751, 10, 327752, 10, 327753, 10, 327754, 10, 327755, 10, 327756, 10, 327757, 10, 327758, 10, 393216, 2, 393233, 536870920, 393234, 7, 393257, 9, 393269, 7, 393286, 536870914, 393287, 10, 393288, 10, 393289, 10, 393290, 10, 393291, 10, 393292, 10, 393293, 10, 393294, 10, 458752, 2, 458769, 7, 458770, 8, 458790, 9, 458793, 8, 458805, 8, 458822, 536870914, 458823, 10, 458824, 10, 458825, 10, 458826, 10, 458827, 10, 458828, 10, 458829, 10, 458830, 10, 524288, 4, 524289, 1, 524304, 536870913, 524305, 536870918, 524306, 6, 524307, 5, 524308, 1, 524326, 8, 524329, 7, 524341, 7, 524358, 536870914, 524359, 10, 524360, 10, 524361, 10, 524362, 10, 524363, 10, 524364, 10, 524365, 10, 524366, 10, 589824, 10, 589825, 13, 589840, 536870914, 589841, 10, 589842, 10, 589843, 10, 589844, 2, 589862, 7, 589865, 7, 589876, 536870913, 589877, 6, 589878, 1, 589894, 536870914, 589895, 10, 589896, 10, 589897, 10, 589898, 10, 589899, 10, 589900, 10, 589901, 10, 589902, 10, 655360, 2, 655376, 536870914, 655377, 10, 655378, 10, 655379, 10, 655380, 2, 655398, 7, 655401, 8, 655412, 536870925, 655413, 11, 655414, 13, 655430, 536870914, 655431, 10, 655432, 10, 655433, 10, 655434, 10, 655435, 10, 655436, 10, 655437, 10, 655438, 10, 720896, 2, 720912, 536870914, 720913, 10, 720914, 10, 720915, 10, 720916, 2, 720934, 8, 720937, 7, 720958, 536870913, 720959, 5, 720960, 536870917, 720961, 5, 720962, 5, 720963, 536870917, 720964, 5, 720965, 0, 720966, 536870916, 720967, 10, 720968, 10, 720969, 10, 720970, 10, 720971, 10, 720972, 10, 720973, 10, 720974, 10, 786432, 2, 786437, 9, 786448, 536870914, 786449, 10, 786450, 10, 786451, 10, 786452, 2, 786464, 536870913, 786465, 1, 786470, 7, 786473, 7, 786474, 536870924, 786475, 1, 786494, 536870914, 786495, 10, 786496, 10, 786497, 10, 786498, 10, 786499, 10, 786500, 10, 786501, 10, 786502, 10, 786503, 10, 786504, 10, 786505, 10, 786506, 10, 786507, 10, 786508, 10, 786509, 10, 851968, 2, 851973, 7, 851984, 536870914, 851985, 10, 851986, 10, 851987, 10, 851988, 2, 851996, 536870913, 851997, 1, 852000, 536870914, 852001, 3, 852006, 7, 852009, 536870913, 852011, 2, 852030, 536870914, 852031, 10, 852032, 10, 852033, 10, 852034, 10, 852035, 10, 852036, 10, 852037, 10, 852038, 10, 852039, 10, 852040, 10, 852041, 10, 852042, 10, 852043, 10, 852044, 10, 852045, 10, 917504, 2, 917506, 9, 917509, 7, 917512, 536870921, 917520, 536870925, 917521, 11, 917522, 11, 917523, 11, 917524, 13, 917532, 536870925, 917533, 13, 917536, 536870914, 917537, 4, 917538, 1, 917540, 536870913, 917541, 0, 917542, 1, 917545, 536870914, 917546, 10, 917547, 4, 917548, 1, 917566, 536870914, 917567, 10, 917568, 10, 917569, 10, 917570, 10, 917571, 10, 917572, 10, 917573, 10, 917574, 10, 917575, 10, 917576, 10, 917577, 10, 917578, 10, 917579, 10, 917580, 10, 917581, 10, 983040, 2, 983042, 7, 983045, 7, 983048, 536870920, 983050, 536870913, 983051, 0, 983052, 1, 983064, 536870913, 983065, 1, 983072, 536870914, 983073, 10, 983074, 4, 983075, 0, 983076, 536870916, 983077, 10, 983078, 4, 983079, 536870912, 983080, 536870912, 983081, 536870916, 983082, 10, 983083, 10, 983084, 2, 983095, 9, 983102, 536870914, 983103, 10, 983104, 10, 983105, 10, 983106, 10, 983107, 10, 983108, 10, 983109, 10, 983110, 10, 983111, 10, 983112, 10, 983113, 10, 983114, 10, 983115, 10, 983116, 10, 983117, 10, 1048576, 2, 1048578, 8, 1048581, 8, 1048584, 536870919, 1048586, 536870914, 1048587, 536870922, 1048588, 2, 1048600, 536870925, 1048601, 13, 1048604, 9, 1048608, 536870925, 1048609, 536870923, 1048610, 536870923, 1048611, 536870923, 1048612, 10, 1048613, 10, 1048614, 10, 1048615, 10, 1048616, 10, 1048617, 10, 1048618, 10, 1048619, 10, 1048620, 4, 1048621, 1, 1048630, 536870921, 1048631, 8, 1048638, 536870914, 1048639, 10, 1048640, 10, 1048641, 10, 1048642, 10, 1048643, 10, 1048644, 10, 1048645, 10, 1048646, 10, 1048647, 10, 1048648, 10, 1048649, 10, 1048650, 10, 1048651, 10, 1048652, 10, 1048653, 10, 1114112, 4, 1114113, 0, 1114114, 6, 1114115, 0, 1114116, 0, 1114117, 6, 1114118, 1, 1114120, 536870920, 1114122, 536870925, 1114123, 11, 1114124, 13, 1114128, 536870913, 1114129, 5, 1114130, 536870917, 1114131, 5, 1114132, 0, 1114133, 1, 1114140, 7, 1114141, 536870921, 1114148, 536870914, 1114149, 10, 1114150, 10, 1114151, 10, 1114152, 10, 1114153, 10, 1114154, 10, 1114155, 10, 1114156, 10, 1114157, 2, 1114166, 536870920, 1114167, 8, 1114174, 536870914, 1114175, 10, 1114176, 10, 1114177, 10, 1114178, 10, 1114179, 10, 1114180, 10, 1114181, 10, 1114182, 10, 1114183, 10, 1114184, 10, 1114185, 10, 1114186, 10, 1114187, 10, 1114188, 10, 1179648, 10, 1179649, 10, 1179650, 10, 1179651, 10, 1179652, 10, 1179653, 10, 1179654, 2, 1179656, 536870919, 1179664, 536870915, 1179665, 10, 1179666, 10, 1179667, 10, 1179668, 10, 1179669, 4, 1179670, 12, 1179675, 9, 1179676, 8, 1179677, 8, 1179684, 536870914, 1179685, 10, 1179686, 10, 1179687, 10, 1179688, 10, 1179689, 10, 1179690, 10, 1179691, 10, 1179692, 10, 1179693, 4, 1179694, 1, 1179701, 9, 1179702, 536870919, 1179703, 7, 1179710, 536870914, 1179711, 10, 1179712, 10, 1179713, 10, 1179714, 10, 1179715, 10, 1179716, 10, 1179717, 10, 1179718, 10, 1179719, 10, 1179720, 10, 1179721, 10, 1179722, 10, 1245184, 10, 1245185, 10, 1245186, 10, 1245187, 10, 1245188, 10, 1245189, 10, 1245190, 2, 1245192, 536870919, 1245199, 536870913, 1245200, 536870916, 1245201, 10, 1245202, 10, 1245203, 10, 1245204, 10, 1245205, 10, 1245207, 1, 1245211, 7, 1245212, 7, 1245213, 536870920, 1245220, 536870914, 1245221, 10, 1245222, 10, 1245223, 10, 1245224, 10, 1245225, 10, 1245226, 10, 1245227, 10, 1245228, 10, 1245229, 10, 1245230, 2, 1245237, 8, 1245238, 536870919, 1245239, 8, 1245240, 536870921, 1245246, 536870914, 1245247, 10, 1245248, 10, 1245249, 10, 1245250, 10, 1245251, 10, 1245252, 10, 1245253, 10, 1245254, 10, 1245255, 10, 1245256, 10, 1245257, 10, 1245258, 10, 1310720, 10, 1310721, 10, 1310722, 10, 1310723, 10, 1310724, 10, 1310725, 10, 1310726, 2, 1310728, 536870920, 1310730, 536870913, 1310731, 1, 1310734, 536870913, 1310735, 536870916, 1310736, 10, 1310737, 10, 1310738, 10, 1310739, 10, 1310740, 10, 1310741, 10, 1310742, 10, 1310743, 4, 1310744, 1, 1310747, 8, 1310748, 7, 1310749, 536870919, 1310756, 536870914, 1310757, 10, 1310758, 10, 1310759, 10, 1310760, 10, 1310761, 10, 1310762, 10, 1310763, 10, 1310764, 10, 1310765, 10, 1310766, 4, 1310767, 5, 1310768, 12, 1310773, 7, 1310774, 536870919, 1310775, 7, 1310776, 536870919, 1310782, 536870914, 1310783, 10, 1310784, 10, 1310785, 10, 1310786, 10, 1310787, 10, 1310788, 10, 1310789, 10, 1310790, 10, 1310791, 10, 1310792, 10, 1310793, 10, 1376256, 10, 1376257, 10, 1376258, 10, 1376259, 10, 1376260, 10, 1376261, 10, 1376262, 4, 1376263, 0, 1376264, 0, 1376265, 0, 1376266, 536870916, 1376267, 4, 1376268, 0, 1376269, 0, 1376270, 536870916, 1376271, 10, 1376272, 10, 1376273, 10, 1376274, 10, 1376275, 10, 1376276, 10, 1376277, 10, 1376278, 10, 1376279, 10, 1376280, 4, 1376281, 12, 1376283, 8, 1376284, 8, 1376285, 536870920, 1376287, 536870924, 1376288, 0, 1376289, 5, 1376290, 536870917, 1376291, 0, 1376292, 536870916, 1376293, 10, 1376294, 10, 1376295, 10, 1376296, 10, 1376297, 10, 1376298, 10, 1376299, 10, 1376300, 10, 1376301, 10, 1376302, 10, 1376303, 10, 1376305, 12, 1376309, 7, 1376310, 536870920, 1376311, 7, 1376312, 536870920, 1376318, 536870914, 1376319, 10, 1376320, 10, 1376321, 10, 1376322, 10, 1376323, 10, 1376324, 10, 1376325, 10, 1376326, 10, 1376327, 10, 1376328, 10, 1441792, 10, 1441793, 10, 1441794, 10, 1441795, 10, 1441796, 10, 1441797, 10, 1441798, 10, 1441799, 10, 1441800, 10, 1441801, 10, 1441802, 10, 1441803, 10, 1441804, 10, 1441805, 10, 1441806, 10, 1441807, 10, 1441808, 10, 1441809, 10, 1441810, 10, 1441811, 10, 1441812, 10, 1441813, 10, 1441814, 10, 1441815, 10, 1441816, 10, 1441818, 0, 1441819, 6, 1441820, 6, 1441821, 536870918, 1441822, 5, 1441824, 10, 1441825, 10, 1441826, 10, 1441827, 10, 1441828, 10, 1441829, 10, 1441830, 10, 1441831, 10, 1441832, 10, 1441833, 10, 1441834, 10, 1441835, 10, 1441836, 10, 1441837, 10, 1441838, 10, 1441839, 10, 1441840, 10, 1441842, 0, 1441843, 0, 1441844, 0, 1441845, 6, 1441846, 536870918, 1441847, 6, 1441848, 536870918, 1441849, 0, 1441850, 5, 1441851, 536870917, 1441852, 5, 1441853, 0, 1441854, 536870916, 1441855, 10, 1441856, 10, 1441857, 10, 1441858, 10, 1441859, 10, 1441860, 10, 1441861, 10, 1441862, 10, 1441863, 10, 1507328, 10, 1507329, 10, 1507330, 10, 1507331, 10, 1507332, 10, 1507333, 10, 1507334, 10, 1507335, 10, 1507336, 10, 1507337, 10, 1507338, 10, 1507339, 10, 1507340, 10, 1507341, 10, 1507342, 10, 1507343, 10, 1507344, 10, 1507345, 10, 1507346, 10, 1507347, 10, 1507348, 10, 1507349, 10, 1507350, 10, 1507351, 10, 1507352, 10, 1507353, 10, 1507354, 10, 1507355, 10, 1507356, 10, 1507357, 10, 1507358, 10, 1507359, 10, 1507360, 10, 1507361, 10, 1507362, 10, 1507363, 10, 1507364, 10, 1507365, 10, 1507366, 10, 1507367, 10, 1507368, 10, 1507369, 10, 1507370, 10, 1507371, 10, 1507372, 10, 1507373, 10, 1507374, 10, 1507375, 10, 1507376, 10, 1507377, 10, 1507378, 10, 1507379, 10, 1507380, 10, 1507381, 10, 1507382, 10, 1507383, 10, 1507384, 10, 1507385, 10, 1507386, 10, 1507387, 10, 1507388, 10, 1507389, 10, 1507390, 10, 1507391, 10, 1507392, 10, 1507393, 10, 1507394, 10, 1507395, 10, 1507396, 10, 1507397, 10, 1507398, 10, 1507399, 10, 1572864, 10, 1572865, 10, 1572866, 10, 1572867, 10, 1572868, 10, 1572869, 10, 1572870, 10, 1572871, 10, 1572872, 10, 1572873, 10, 1572874, 10, 1572875, 10, 1572876, 10, 1572877, 10, 1572878, 10, 1572879, 10, 1572880, 10, 1572881, 10, 1572882, 10, 1572883, 10, 1572884, 10, 1572885, 10, 1572886, 10, 1572887, 10, 1572888, 10, 1572889, 10, 1572890, 10, 1572891, 10, 1572892, 10, 1572893, 10, 1572894, 10, 1572895, 10, 1572896, 10, 1572897, 10, 1572898, 10, 1572899, 10, 1572900, 10, 1572901, 10, 1572902, 10, 1572903, 10, 1572904, 10, 1572905, 10, 1572906, 10, 1572907, 10, 1572908, 10, 1572909, 10, 1572910, 10, 1572911, 10, 1572912, 10, 1572913, 10, 1572914, 10, 1572915, 10, 1572916, 10, 1572917, 10, 1572918, 10, 1572919, 10, 1572920, 10, 1572921, 10, 1572922, 10, 1572923, 10, 1572924, 10, 1572925, 10, 1572926, 10, 1572927, 10, 1572928, 10, 1572929, 10, 1572930, 10, 1572931, 10, 1572932, 10, 1572933, 10, 1572934, 10, 1572935, 10, 1638400, 10, 1638401, 10, 1638402, 10, 1638403, 10, 1638404, 10, 1638405, 10, 1638406, 10, 1638407, 10, 1638408, 10, 1638409, 10, 1638410, 10, 1638411, 10, 1638412, 10, 1638413, 10, 1638414, 10, 1638415, 10, 1638416, 10, 1638417, 10, 1638418, 10, 1638419, 10, 1638420, 10, 1638421, 10, 1638422, 10, 1638423, 10, 1638424, 10, 1638425, 10, 1638426, 10, 1638427, 10, 1638428, 10, 1638429, 10, 1638430, 10, 1638431, 10, 1638432, 10, 1638433, 10, 1638434, 10, 1638435, 10, 1638436, 10, 1638437, 10, 1638438, 10, 1638439, 10, 1638440, 10, 1638441, 10, 1638442, 10, 1638443, 10, 1638444, 10, 1638445, 10, 1638446, 10, 1638447, 10, 1638448, 10, 1638449, 10, 1638450, 10, 1638451, 10, 1638452, 10, 1638453, 10, 1638454, 10, 1638455, 10, 1638456, 10, 1638457, 10, 1638458, 10, 1638459, 10, 1638460, 10, 1638461, 10, 1638462, 10, 1638463, 10, 1638464, 10, 1638465, 10, 1638466, 10, 1638467, 10, 1638468, 10, 1638469, 10, 1638470, 10, 1638471, 10, 1703952, 10, 1703953, 10, 1703954, 10, 1703955, 10, 1703956, 10, 1703957, 10, 1703958, 10, 1703959, 10, 1703960, 10, 1703961, 10, 1703962, 10, 1703963, 10, 1703964, 10, 1703965, 10, 1703966, 10, 1703967, 10, 1703968, 10, 1703969, 10, 1703970, 10, 1703971, 10, 1703972, 10, 1703973, 10, 1703974, 10, 1703975, 10, 1703976, 10, 1703977, 10, 1703978, 10, 1703979, 10, 1703980, 10, 1703981, 10, 1703982, 10, 1703983, 10, 1703984, 10, 1703985, 10, 1703986, 10, 1703987, 10, 1703988, 10, 1703989, 10, 1703990, 10, 1703991, 10, 1703992, 10, 1703993, 10, 1703994, 10, 1703995, 10, 1703996, 10, 1703997, 10, 1703998, 10, 1703999, 10, 1704000, 10, 1704001, 10, 1704002, 10, 1704003, 10, 1704004, 10, 1704005, 10, 1704006, 10, 1704007, 10, 1769488, 10, 1769489, 10, 1769490, 10, 1769491, 10, 1769492, 10, 1769493, 10, 1769494, 10, 1769495, 10, 1769496, 10, 1769497, 10, 1769498, 10, 1769499, 10, 1769500, 10, 1769501, 10, 1769502, 10, 1769503, 10, 1769504, 10, 1769505, 10, 1769506, 10, 1769507, 10, 1769508, 10, 1769509, 10, 1769510, 10, 1769511, 10, 1769512, 10, 1769513, 10, 1769514, 10, 1769515, 10, 1769516, 10, 1769517, 10, 1769518, 10, 1769519, 10, 1769520, 10, 1769521, 10, 1769522, 10, 1769523, 10, 1769524, 10, 1769525, 10, 1769526, 10, 1769527, 10, 1769528, 10, 1769529, 10, 1769530, 10, 1769531, 10, 1769532, 10, 1769533, 10, 1769534, 10, 1769535, 10, 1769536, 10, 1769537, 10, 1769538, 10, 1769539, 10, 1769540, 10, 1769541, 10 ) +__meta__ = { "_edit_lock_":true } + +[node name="coins" type="Node" parent="."] + +[node name="coin" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 672, 1179 ) +linear_damp = 0.1 + +[node name="coin 2" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 704, 1179 ) +linear_damp = 0.1 + +[node name="coin 3" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 736, 1179 ) +linear_damp = 0.1 + +[node name="coin 4" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 1120, 992 ) +linear_damp = 0.1 + +[node name="coin 5" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 1152, 992 ) +linear_damp = 0.1 + +[node name="coin 6" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 1184, 992 ) +linear_damp = 0.1 + +[node name="coin 7" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 1216, 992 ) +linear_damp = 0.1 + +[node name="coin 8" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 1248, 992 ) +linear_damp = 0.1 + +[node name="coin 9" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 1568, 864 ) +linear_damp = 0.1 + +[node name="coin 10" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 1632, 864 ) +linear_damp = 0.1 + +[node name="coin 11" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 1824, 768 ) +linear_damp = 0.1 + +[node name="coin 12" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 1888, 768 ) +linear_damp = 0.1 + +[node name="coin 13" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 2080, 672 ) +linear_damp = 0.1 + +[node name="coin 14" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 2144, 672 ) +linear_damp = 0.1 + +[node name="coin 15" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 1792, 1248 ) +linear_damp = 0.1 + +[node name="coin 16" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 1856, 1248 ) +linear_damp = 0.1 + +[node name="coin 17" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 1920, 1248 ) +linear_damp = 0.1 + +[node name="coin 18" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 1920, 1184 ) +linear_damp = 0.1 + +[node name="coin 19" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 1856, 1184 ) +linear_damp = 0.1 + +[node name="coin 20" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 1792, 1184 ) +linear_damp = 0.1 + +[node name="coin 21" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 98.8868, 488.515 ) +linear_damp = 0.1 + +[node name="coin 22" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 89.5989, 481.217 ) +linear_damp = 0.1 + +[node name="coin 23" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 108.175, 481.217 ) +linear_damp = 0.1 + +[node name="coin 24" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 116.136, 469.939 ) +linear_damp = 0.1 + +[node name="coin 25" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 117.463, 457.997 ) +linear_damp = 0.1 + +[node name="coin 26" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 106.184, 449.373 ) +linear_damp = 0.1 + +[node name="coin 27" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 98.2234, 458.661 ) +linear_damp = 0.1 + +[node name="coin 28" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 88.272, 448.71 ) +linear_damp = 0.1 + +[node name="coin 29" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 79.6476, 457.334 ) +linear_damp = 0.1 + +[node name="coin 30" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 82.9647, 468.612 ) +linear_damp = 0.1 + +[node name="coin 31" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 3357.42, 465.288 ) +linear_damp = 0.1 + +[node name="coin 31 2" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 3421.42, 465.288 ) +linear_damp = 0.1 + +[node name="coin 31 3" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 3485.42, 465.288 ) +linear_damp = 0.1 + +[node name="coin 31 4" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 3485.42, 401.288 ) +linear_damp = 0.1 + +[node name="coin 31 5" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 3421.42, 401.288 ) +linear_damp = 0.1 + +[node name="coin 31 6" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 3357.42, 401.288 ) +linear_damp = 0.1 + +[node name="coin 32" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 4172.75, 605.058 ) +linear_damp = 0.1 + +[node name="coin 31 7" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 4236.75, 605.058 ) +linear_damp = 0.1 + +[node name="coin 31 7 2" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 4300.75, 605.058 ) +linear_damp = 0.1 + +[node name="coin 31 7 3" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 4300.75, 541.058 ) +linear_damp = 0.1 + +[node name="coin 31 7 4" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 4236.75, 541.058 ) +linear_damp = 0.1 + +[node name="coin 31 7 5" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 4172.75, 541.058 ) +linear_damp = 0.1 + +[node name="props" type="Node" parent="."] + +[node name="moving_platform" parent="props" instance=ExtResource( 3 )] + +transform/pos = Vector2( 1451.86, 742.969 ) +motion = Vector2( 0, 140 ) +cycle = 5.0 + +[node name="moving_platform 2" parent="props" instance=ExtResource( 3 )] + +transform/pos = Vector2( 624.824, 545.544 ) +motion = Vector2( 300, 0 ) +cycle = 10.0 + +[node name="moving_platform 3" parent="props" instance=ExtResource( 3 )] + +transform/pos = Vector2( 3419.86, 739.662 ) +motion = Vector2( 450, 0 ) +cycle = 10.0 + +[node name="seesaw" parent="props" instance=ExtResource( 4 )] + +transform/pos = Vector2( 2402.79, 849.52 ) + +[node name="one_way_platform" parent="props" instance=ExtResource( 5 )] + +transform/pos = Vector2( 927.698, 1120.81 ) + +[node name="player" parent="." instance=ExtResource( 6 )] + +transform/pos = Vector2( 251.684, 1045.6 ) + +[node name="music" type="StreamPlayer" parent="."] + +stream/stream = ExtResource( 7 ) +stream/play = false +stream/loop = true +stream/volume_db = 2.0 +stream/autoplay = true +stream/paused = false +stream/loop_restart_time = 0.0 +stream/buffering_ms = 500 + +[node name="enemies" type="Node" parent="."] + +[node name="enemy 5" parent="enemies" instance=ExtResource( 8 )] + +transform/pos = Vector2( 834.664, 1309.6 ) + +[node name="enemy 6" parent="enemies" instance=ExtResource( 8 )] + +transform/pos = Vector2( 707.665, 1225.05 ) + +[node name="enemy 7" parent="enemies" instance=ExtResource( 8 )] + +transform/pos = Vector2( 1125.21, 1053.06 ) + +[node name="enemy 8" parent="enemies" instance=ExtResource( 8 )] + +transform/pos = Vector2( 1292.11, 1059.24 ) + +[node name="enemy 9" parent="enemies" instance=ExtResource( 8 )] + +transform/pos = Vector2( 1607.38, 923.239 ) + +[node name="enemy 10" parent="enemies" instance=ExtResource( 8 )] + +transform/pos = Vector2( 2586.9, 939.059 ) + +[node name="enemy 11" parent="enemies" instance=ExtResource( 8 )] + +transform/pos = Vector2( 1457.6, 688.741 ) + +[node name="enemy 12" parent="enemies" instance=ExtResource( 8 )] + +transform/pos = Vector2( 1193.63, 460.381 ) + +[node name="enemy 13" parent="enemies" instance=ExtResource( 8 )] + +transform/pos = Vector2( 3429.73, 540.865 ) + +[node name="enemy 14" parent="enemies" instance=ExtResource( 8 )] + +transform/pos = Vector2( 3546.2, 1356.19 ) + +[node name="enemy 15" parent="enemies" instance=ExtResource( 8 )] + +transform/pos = Vector2( 2406.63, 815.115 ) + +[node name="parallax_bg" parent="." instance=ExtResource( 9 )] + +[node name="Label" type="Label" parent="."] + +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +margin/left = 12.0 +margin/top = -202.0 +margin/right = 358.0 +margin/bottom = -10.0 +text = "This is a simple demo on how to make a platformer game with Godot.\"This version uses physics and the 2D physics engine for motion and collision.\"\"The demo also shows the benefits of using the scene system, where coins,\"enemies and the player are edited separatedly and instanced in the stage.\"\"To edit the base tiles for the tileset, open the tileset_edit.tscn file and follow \"instructions.\"" +autowrap = true +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 + + diff --git a/demos/2d/platformer/stage.xml b/demos/2d/platformer/stage.xml deleted file mode 100644 index ea0daf3ff8f..00000000000 --- a/demos/2d/platformer/stage.xml +++ /dev/null @@ -1,250 +0,0 @@ - - - - - - - - - - - - - - "conn_count" - 0 - "conns" - - "editable_instances" - - - "names" - - "stage" - "__meta__" - "Node" - "tile_map" - "mode" - "tile_set" - "cell/size" - "cell/quadrant_size" - "cell/custom_transform" - "cell/half_offset" - "cell/tile_origin" - "cell/y_sort" - "collision/use_kinematic" - "collision/friction" - "collision/bounce" - "collision/layers" - "collision/mask" - "occluder/light_mask" - "tile_data" - "TileMap" - "coins" - "coin" - "transform/pos" - "linear_damp" - "coin 2" - "coin 3" - "coin 4" - "coin 5" - "coin 6" - "coin 7" - "coin 8" - "coin 9" - "coin 10" - "coin 11" - "coin 12" - "coin 13" - "coin 14" - "coin 15" - "coin 16" - "coin 17" - "coin 18" - "coin 19" - "coin 20" - "coin 21" - "coin 22" - "coin 23" - "coin 24" - "coin 25" - "coin 26" - "coin 27" - "coin 28" - "coin 29" - "coin 30" - "coin 31" - "coin 31 2" - "coin 31 3" - "coin 31 4" - "coin 31 5" - "coin 31 6" - "coin 32" - "coin 31 7" - "coin 31 7 2" - "coin 31 7 3" - "coin 31 7 4" - "coin 31 7 5" - "props" - "moving_platform" - "motion" - "cycle" - "moving_platform 2" - "moving_platform 3" - "seesaw" - "one_way_platform" - "player" - "music" - "stream/stream" - "stream/play" - "stream/loop" - "stream/volume_db" - "stream/autoplay" - "stream/paused" - "stream/loop_restart_time" - "stream/buffering_ms" - "StreamPlayer" - "enemies" - "enemy 5" - "enemy 6" - "enemy 7" - "enemy 8" - "enemy 9" - "enemy 10" - "enemy 11" - "enemy 12" - "enemy 13" - "enemy 14" - "enemy 15" - "parallax_bg" - "Label" - "margin/left" - "margin/top" - "margin/right" - "margin/bottom" - "focus/ignore_mouse" - "focus/stop_mouse" - "size_flags/horizontal" - "text" - "autowrap" - "percent_visible" - "lines_skipped" - "max_lines_visible" - - "node_count" - 67 - "node_paths" - - - "nodes" - -1, -1, 2, 0, -1, 1, 1, 0, 0, 0, 0, 19, 3, -1, 16, 4, 1, 5, 2, 6, 3, 7, 4, 8, 5, 9, 6, 10, 1, 11, 7, 12, 7, 13, 8, 14, 9, 15, 10, 16, 10, 17, 10, 18, 11, 1, 12, 0, 0, 0, 2, 20, -1, 0, 0, 2, 0, 2147483647, 21, 13, 2, 22, 14, 23, 15, 0, 2, 0, 2147483647, 24, 13, 2, 22, 16, 23, 15, 0, 2, 0, 2147483647, 25, 13, 2, 22, 17, 23, 15, 0, 2, 0, 2147483647, 26, 13, 2, 22, 18, 23, 15, 0, 2, 0, 2147483647, 27, 13, 2, 22, 19, 23, 15, 0, 2, 0, 2147483647, 28, 13, 2, 22, 20, 23, 15, 0, 2, 0, 2147483647, 29, 13, 2, 22, 21, 23, 15, 0, 2, 0, 2147483647, 30, 13, 2, 22, 22, 23, 15, 0, 2, 0, 2147483647, 31, 13, 2, 22, 23, 23, 15, 0, 2, 0, 2147483647, 32, 13, 2, 22, 24, 23, 15, 0, 2, 0, 2147483647, 33, 13, 2, 22, 25, 23, 15, 0, 2, 0, 2147483647, 34, 13, 2, 22, 26, 23, 15, 0, 2, 0, 2147483647, 35, 13, 2, 22, 27, 23, 15, 0, 2, 0, 2147483647, 36, 13, 2, 22, 28, 23, 15, 0, 2, 0, 2147483647, 37, 13, 2, 22, 29, 23, 15, 0, 2, 0, 2147483647, 38, 13, 2, 22, 30, 23, 15, 0, 2, 0, 2147483647, 39, 13, 2, 22, 31, 23, 15, 0, 2, 0, 2147483647, 40, 13, 2, 22, 32, 23, 15, 0, 2, 0, 2147483647, 41, 13, 2, 22, 33, 23, 15, 0, 2, 0, 2147483647, 42, 13, 2, 22, 34, 23, 15, 0, 2, 0, 2147483647, 43, 13, 2, 22, 35, 23, 15, 0, 2, 0, 2147483647, 44, 13, 2, 22, 36, 23, 15, 0, 2, 0, 2147483647, 45, 13, 2, 22, 37, 23, 15, 0, 2, 0, 2147483647, 46, 13, 2, 22, 38, 23, 15, 0, 2, 0, 2147483647, 47, 13, 2, 22, 39, 23, 15, 0, 2, 0, 2147483647, 48, 13, 2, 22, 40, 23, 15, 0, 2, 0, 2147483647, 49, 13, 2, 22, 41, 23, 15, 0, 2, 0, 2147483647, 50, 13, 2, 22, 42, 23, 15, 0, 2, 0, 2147483647, 51, 13, 2, 22, 43, 23, 15, 0, 2, 0, 2147483647, 52, 13, 2, 22, 44, 23, 15, 0, 2, 0, 2147483647, 53, 13, 2, 22, 45, 23, 15, 0, 2, 0, 2147483647, 54, 13, 2, 22, 46, 23, 15, 0, 2, 0, 2147483647, 55, 13, 2, 22, 47, 23, 15, 0, 2, 0, 2147483647, 56, 13, 2, 22, 48, 23, 15, 0, 2, 0, 2147483647, 57, 13, 2, 22, 49, 23, 15, 0, 2, 0, 2147483647, 58, 13, 2, 22, 50, 23, 15, 0, 2, 0, 2147483647, 59, 13, 2, 22, 51, 23, 15, 0, 2, 0, 2147483647, 60, 13, 2, 22, 52, 23, 15, 0, 2, 0, 2147483647, 61, 13, 2, 22, 53, 23, 15, 0, 2, 0, 2147483647, 62, 13, 2, 22, 54, 23, 15, 0, 2, 0, 2147483647, 63, 13, 2, 22, 55, 23, 15, 0, 2, 0, 2147483647, 64, 13, 2, 22, 56, 23, 15, 0, 0, 0, 2, 65, -1, 0, 0, 45, 0, 2147483647, 66, 57, 3, 22, 58, 67, 59, 68, 60, 0, 45, 0, 2147483647, 69, 57, 3, 22, 61, 67, 62, 68, 63, 0, 45, 0, 2147483647, 70, 57, 3, 22, 64, 67, 65, 68, 63, 0, 45, 0, 2147483647, 71, 66, 1, 22, 67, 0, 45, 0, 2147483647, 72, 68, 1, 22, 69, 0, 0, 0, 2147483647, 73, 70, 1, 22, 71, 0, 0, 0, 83, 74, -1, 8, 75, 72, 76, 7, 77, 73, 78, 74, 79, 73, 80, 7, 81, 9, 82, 75, 0, 0, 0, 2, 84, -1, 0, 0, 53, 0, 2147483647, 85, 76, 1, 22, 77, 0, 53, 0, 2147483647, 86, 76, 1, 22, 78, 0, 53, 0, 2147483647, 87, 76, 1, 22, 79, 0, 53, 0, 2147483647, 88, 76, 1, 22, 80, 0, 53, 0, 2147483647, 89, 76, 1, 22, 81, 0, 53, 0, 2147483647, 90, 76, 1, 22, 82, 0, 53, 0, 2147483647, 91, 76, 1, 22, 83, 0, 53, 0, 2147483647, 92, 76, 1, 22, 84, 0, 53, 0, 2147483647, 93, 76, 1, 22, 85, 0, 53, 0, 2147483647, 94, 76, 1, 22, 86, 0, 53, 0, 2147483647, 95, 76, 1, 22, 87, 0, 0, 0, 2147483647, 96, 88, 0, 0, 0, 0, 97, 97, -1, 12, 98, 89, 99, 90, 100, 91, 101, 92, 102, 73, 103, 73, 104, 6, 105, 93, 106, 73, 107, 8, 108, 1, 109, 94, 0 - "variants" - - - "__editor_plugin_screen__" - "2D" - - 0 - - 64, 64 - 8 - 1, 0, 0, 1, 0, 0 - 2 - False - 1 - 0 - 1 - 0, 2, 70, 536870914, 71, 10, 72, 10, 73, 10, 74, 10, 75, 10, 76, 10, 77, 10, 78, 10, 65536, 2, 65606, 536870914, 65607, 10, 65608, 10, 65609, 10, 65610, 10, 65611, 10, 65612, 10, 65613, 10, 65614, 10, 131072, 2, 131142, 536870914, 131143, 10, 131144, 10, 131145, 10, 131146, 10, 131147, 10, 131148, 10, 131149, 10, 131150, 10, 196608, 2, 196626, 9, 196678, 536870914, 196679, 10, 196680, 10, 196681, 10, 196682, 10, 196683, 10, 196684, 10, 196685, 10, 196686, 10, 262144, 2, 262162, 8, 262214, 536870914, 262215, 10, 262216, 10, 262217, 10, 262218, 10, 262219, 10, 262220, 10, 262221, 10, 262222, 10, 327680, 2, 327697, 536870921, 327698, 7, 327733, 9, 327750, 536870914, 327751, 10, 327752, 10, 327753, 10, 327754, 10, 327755, 10, 327756, 10, 327757, 10, 327758, 10, 393216, 2, 393233, 536870920, 393234, 7, 393257, 9, 393269, 7, 393286, 536870914, 393287, 10, 393288, 10, 393289, 10, 393290, 10, 393291, 10, 393292, 10, 393293, 10, 393294, 10, 458752, 2, 458769, 7, 458770, 8, 458790, 9, 458793, 8, 458805, 8, 458822, 536870914, 458823, 10, 458824, 10, 458825, 10, 458826, 10, 458827, 10, 458828, 10, 458829, 10, 458830, 10, 524288, 4, 524289, 1, 524304, 536870913, 524305, 536870918, 524306, 6, 524307, 5, 524308, 1, 524326, 8, 524329, 7, 524341, 7, 524358, 536870914, 524359, 10, 524360, 10, 524361, 10, 524362, 10, 524363, 10, 524364, 10, 524365, 10, 524366, 10, 589824, 10, 589825, 13, 589840, 536870914, 589841, 10, 589842, 10, 589843, 10, 589844, 2, 589862, 7, 589865, 7, 589876, 536870913, 589877, 6, 589878, 1, 589894, 536870914, 589895, 10, 589896, 10, 589897, 10, 589898, 10, 589899, 10, 589900, 10, 589901, 10, 589902, 10, 655360, 2, 655376, 536870914, 655377, 10, 655378, 10, 655379, 10, 655380, 2, 655398, 7, 655401, 8, 655412, 536870925, 655413, 11, 655414, 13, 655430, 536870914, 655431, 10, 655432, 10, 655433, 10, 655434, 10, 655435, 10, 655436, 10, 655437, 10, 655438, 10, 720896, 2, 720912, 536870914, 720913, 10, 720914, 10, 720915, 10, 720916, 2, 720934, 8, 720937, 7, 720958, 536870913, 720959, 5, 720960, 536870917, 720961, 5, 720962, 5, 720963, 536870917, 720964, 5, 720965, 0, 720966, 536870916, 720967, 10, 720968, 10, 720969, 10, 720970, 10, 720971, 10, 720972, 10, 720973, 10, 720974, 10, 786432, 2, 786437, 9, 786448, 536870914, 786449, 10, 786450, 10, 786451, 10, 786452, 2, 786464, 536870913, 786465, 1, 786470, 7, 786473, 7, 786474, 536870924, 786475, 1, 786494, 536870914, 786495, 10, 786496, 10, 786497, 10, 786498, 10, 786499, 10, 786500, 10, 786501, 10, 786502, 10, 786503, 10, 786504, 10, 786505, 10, 786506, 10, 786507, 10, 786508, 10, 786509, 10, 851968, 2, 851973, 7, 851984, 536870914, 851985, 10, 851986, 10, 851987, 10, 851988, 2, 851996, 536870913, 851997, 1, 852000, 536870914, 852001, 3, 852006, 7, 852009, 536870913, 852011, 2, 852030, 536870914, 852031, 10, 852032, 10, 852033, 10, 852034, 10, 852035, 10, 852036, 10, 852037, 10, 852038, 10, 852039, 10, 852040, 10, 852041, 10, 852042, 10, 852043, 10, 852044, 10, 852045, 10, 917504, 2, 917506, 9, 917509, 7, 917512, 536870921, 917520, 536870925, 917521, 11, 917522, 11, 917523, 11, 917524, 13, 917532, 536870925, 917533, 13, 917536, 536870914, 917537, 4, 917538, 1, 917540, 536870913, 917541, 0, 917542, 1, 917545, 536870914, 917546, 10, 917547, 4, 917548, 1, 917566, 536870914, 917567, 10, 917568, 10, 917569, 10, 917570, 10, 917571, 10, 917572, 10, 917573, 10, 917574, 10, 917575, 10, 917576, 10, 917577, 10, 917578, 10, 917579, 10, 917580, 10, 917581, 10, 983040, 2, 983042, 7, 983045, 7, 983048, 536870920, 983050, 536870913, 983051, 0, 983052, 1, 983064, 536870913, 983065, 1, 983072, 536870914, 983073, 10, 983074, 4, 983075, 0, 983076, 536870916, 983077, 10, 983078, 4, 983079, 536870912, 983080, 536870912, 983081, 536870916, 983082, 10, 983083, 10, 983084, 2, 983095, 9, 983102, 536870914, 983103, 10, 983104, 10, 983105, 10, 983106, 10, 983107, 10, 983108, 10, 983109, 10, 983110, 10, 983111, 10, 983112, 10, 983113, 10, 983114, 10, 983115, 10, 983116, 10, 983117, 10, 1048576, 2, 1048578, 8, 1048581, 8, 1048584, 536870919, 1048586, 536870914, 1048587, 536870922, 1048588, 2, 1048600, 536870925, 1048601, 13, 1048604, 9, 1048608, 536870925, 1048609, 536870923, 1048610, 536870923, 1048611, 536870923, 1048612, 10, 1048613, 10, 1048614, 10, 1048615, 10, 1048616, 10, 1048617, 10, 1048618, 10, 1048619, 10, 1048620, 4, 1048621, 1, 1048630, 536870921, 1048631, 8, 1048638, 536870914, 1048639, 10, 1048640, 10, 1048641, 10, 1048642, 10, 1048643, 10, 1048644, 10, 1048645, 10, 1048646, 10, 1048647, 10, 1048648, 10, 1048649, 10, 1048650, 10, 1048651, 10, 1048652, 10, 1048653, 10, 1114112, 4, 1114113, 0, 1114114, 6, 1114115, 0, 1114116, 0, 1114117, 6, 1114118, 1, 1114120, 536870920, 1114122, 536870925, 1114123, 11, 1114124, 13, 1114128, 536870913, 1114129, 5, 1114130, 536870917, 1114131, 5, 1114132, 0, 1114133, 1, 1114140, 7, 1114141, 536870921, 1114148, 536870914, 1114149, 10, 1114150, 10, 1114151, 10, 1114152, 10, 1114153, 10, 1114154, 10, 1114155, 10, 1114156, 10, 1114157, 2, 1114166, 536870920, 1114167, 8, 1114174, 536870914, 1114175, 10, 1114176, 10, 1114177, 10, 1114178, 10, 1114179, 10, 1114180, 10, 1114181, 10, 1114182, 10, 1114183, 10, 1114184, 10, 1114185, 10, 1114186, 10, 1114187, 10, 1114188, 10, 1179648, 10, 1179649, 10, 1179650, 10, 1179651, 10, 1179652, 10, 1179653, 10, 1179654, 2, 1179656, 536870919, 1179664, 536870915, 1179665, 10, 1179666, 10, 1179667, 10, 1179668, 10, 1179669, 4, 1179670, 12, 1179675, 9, 1179676, 8, 1179677, 8, 1179684, 536870914, 1179685, 10, 1179686, 10, 1179687, 10, 1179688, 10, 1179689, 10, 1179690, 10, 1179691, 10, 1179692, 10, 1179693, 4, 1179694, 1, 1179701, 9, 1179702, 536870919, 1179703, 7, 1179710, 536870914, 1179711, 10, 1179712, 10, 1179713, 10, 1179714, 10, 1179715, 10, 1179716, 10, 1179717, 10, 1179718, 10, 1179719, 10, 1179720, 10, 1179721, 10, 1179722, 10, 1245184, 10, 1245185, 10, 1245186, 10, 1245187, 10, 1245188, 10, 1245189, 10, 1245190, 2, 1245192, 536870919, 1245199, 536870913, 1245200, 536870916, 1245201, 10, 1245202, 10, 1245203, 10, 1245204, 10, 1245205, 10, 1245207, 1, 1245211, 7, 1245212, 7, 1245213, 536870920, 1245220, 536870914, 1245221, 10, 1245222, 10, 1245223, 10, 1245224, 10, 1245225, 10, 1245226, 10, 1245227, 10, 1245228, 10, 1245229, 10, 1245230, 2, 1245237, 8, 1245238, 536870919, 1245239, 8, 1245240, 536870921, 1245246, 536870914, 1245247, 10, 1245248, 10, 1245249, 10, 1245250, 10, 1245251, 10, 1245252, 10, 1245253, 10, 1245254, 10, 1245255, 10, 1245256, 10, 1245257, 10, 1245258, 10, 1310720, 10, 1310721, 10, 1310722, 10, 1310723, 10, 1310724, 10, 1310725, 10, 1310726, 2, 1310728, 536870920, 1310730, 536870913, 1310731, 1, 1310734, 536870913, 1310735, 536870916, 1310736, 10, 1310737, 10, 1310738, 10, 1310739, 10, 1310740, 10, 1310741, 10, 1310742, 10, 1310743, 4, 1310744, 1, 1310747, 8, 1310748, 7, 1310749, 536870919, 1310756, 536870914, 1310757, 10, 1310758, 10, 1310759, 10, 1310760, 10, 1310761, 10, 1310762, 10, 1310763, 10, 1310764, 10, 1310765, 10, 1310766, 4, 1310767, 5, 1310768, 12, 1310773, 7, 1310774, 536870919, 1310775, 7, 1310776, 536870919, 1310782, 536870914, 1310783, 10, 1310784, 10, 1310785, 10, 1310786, 10, 1310787, 10, 1310788, 10, 1310789, 10, 1310790, 10, 1310791, 10, 1310792, 10, 1310793, 10, 1376256, 10, 1376257, 10, 1376258, 10, 1376259, 10, 1376260, 10, 1376261, 10, 1376262, 4, 1376263, 0, 1376264, 0, 1376265, 0, 1376266, 536870916, 1376267, 4, 1376268, 0, 1376269, 0, 1376270, 536870916, 1376271, 10, 1376272, 10, 1376273, 10, 1376274, 10, 1376275, 10, 1376276, 10, 1376277, 10, 1376278, 10, 1376279, 10, 1376280, 4, 1376281, 12, 1376283, 8, 1376284, 8, 1376285, 536870920, 1376287, 536870924, 1376288, 0, 1376289, 5, 1376290, 536870917, 1376291, 0, 1376292, 536870916, 1376293, 10, 1376294, 10, 1376295, 10, 1376296, 10, 1376297, 10, 1376298, 10, 1376299, 10, 1376300, 10, 1376301, 10, 1376302, 10, 1376303, 10, 1376305, 12, 1376309, 7, 1376310, 536870920, 1376311, 7, 1376312, 536870920, 1376318, 536870914, 1376319, 10, 1376320, 10, 1376321, 10, 1376322, 10, 1376323, 10, 1376324, 10, 1376325, 10, 1376326, 10, 1376327, 10, 1376328, 10, 1441792, 10, 1441793, 10, 1441794, 10, 1441795, 10, 1441796, 10, 1441797, 10, 1441798, 10, 1441799, 10, 1441800, 10, 1441801, 10, 1441802, 10, 1441803, 10, 1441804, 10, 1441805, 10, 1441806, 10, 1441807, 10, 1441808, 10, 1441809, 10, 1441810, 10, 1441811, 10, 1441812, 10, 1441813, 10, 1441814, 10, 1441815, 10, 1441816, 10, 1441818, 0, 1441819, 6, 1441820, 6, 1441821, 536870918, 1441822, 5, 1441824, 10, 1441825, 10, 1441826, 10, 1441827, 10, 1441828, 10, 1441829, 10, 1441830, 10, 1441831, 10, 1441832, 10, 1441833, 10, 1441834, 10, 1441835, 10, 1441836, 10, 1441837, 10, 1441838, 10, 1441839, 10, 1441840, 10, 1441842, 0, 1441843, 0, 1441844, 0, 1441845, 6, 1441846, 536870918, 1441847, 6, 1441848, 536870918, 1441849, 0, 1441850, 5, 1441851, 536870917, 1441852, 5, 1441853, 0, 1441854, 536870916, 1441855, 10, 1441856, 10, 1441857, 10, 1441858, 10, 1441859, 10, 1441860, 10, 1441861, 10, 1441862, 10, 1441863, 10, 1507328, 10, 1507329, 10, 1507330, 10, 1507331, 10, 1507332, 10, 1507333, 10, 1507334, 10, 1507335, 10, 1507336, 10, 1507337, 10, 1507338, 10, 1507339, 10, 1507340, 10, 1507341, 10, 1507342, 10, 1507343, 10, 1507344, 10, 1507345, 10, 1507346, 10, 1507347, 10, 1507348, 10, 1507349, 10, 1507350, 10, 1507351, 10, 1507352, 10, 1507353, 10, 1507354, 10, 1507355, 10, 1507356, 10, 1507357, 10, 1507358, 10, 1507359, 10, 1507360, 10, 1507361, 10, 1507362, 10, 1507363, 10, 1507364, 10, 1507365, 10, 1507366, 10, 1507367, 10, 1507368, 10, 1507369, 10, 1507370, 10, 1507371, 10, 1507372, 10, 1507373, 10, 1507374, 10, 1507375, 10, 1507376, 10, 1507377, 10, 1507378, 10, 1507379, 10, 1507380, 10, 1507381, 10, 1507382, 10, 1507383, 10, 1507384, 10, 1507385, 10, 1507386, 10, 1507387, 10, 1507388, 10, 1507389, 10, 1507390, 10, 1507391, 10, 1507392, 10, 1507393, 10, 1507394, 10, 1507395, 10, 1507396, 10, 1507397, 10, 1507398, 10, 1507399, 10, 1572864, 10, 1572865, 10, 1572866, 10, 1572867, 10, 1572868, 10, 1572869, 10, 1572870, 10, 1572871, 10, 1572872, 10, 1572873, 10, 1572874, 10, 1572875, 10, 1572876, 10, 1572877, 10, 1572878, 10, 1572879, 10, 1572880, 10, 1572881, 10, 1572882, 10, 1572883, 10, 1572884, 10, 1572885, 10, 1572886, 10, 1572887, 10, 1572888, 10, 1572889, 10, 1572890, 10, 1572891, 10, 1572892, 10, 1572893, 10, 1572894, 10, 1572895, 10, 1572896, 10, 1572897, 10, 1572898, 10, 1572899, 10, 1572900, 10, 1572901, 10, 1572902, 10, 1572903, 10, 1572904, 10, 1572905, 10, 1572906, 10, 1572907, 10, 1572908, 10, 1572909, 10, 1572910, 10, 1572911, 10, 1572912, 10, 1572913, 10, 1572914, 10, 1572915, 10, 1572916, 10, 1572917, 10, 1572918, 10, 1572919, 10, 1572920, 10, 1572921, 10, 1572922, 10, 1572923, 10, 1572924, 10, 1572925, 10, 1572926, 10, 1572927, 10, 1572928, 10, 1572929, 10, 1572930, 10, 1572931, 10, 1572932, 10, 1572933, 10, 1572934, 10, 1572935, 10, 1638400, 10, 1638401, 10, 1638402, 10, 1638403, 10, 1638404, 10, 1638405, 10, 1638406, 10, 1638407, 10, 1638408, 10, 1638409, 10, 1638410, 10, 1638411, 10, 1638412, 10, 1638413, 10, 1638414, 10, 1638415, 10, 1638416, 10, 1638417, 10, 1638418, 10, 1638419, 10, 1638420, 10, 1638421, 10, 1638422, 10, 1638423, 10, 1638424, 10, 1638425, 10, 1638426, 10, 1638427, 10, 1638428, 10, 1638429, 10, 1638430, 10, 1638431, 10, 1638432, 10, 1638433, 10, 1638434, 10, 1638435, 10, 1638436, 10, 1638437, 10, 1638438, 10, 1638439, 10, 1638440, 10, 1638441, 10, 1638442, 10, 1638443, 10, 1638444, 10, 1638445, 10, 1638446, 10, 1638447, 10, 1638448, 10, 1638449, 10, 1638450, 10, 1638451, 10, 1638452, 10, 1638453, 10, 1638454, 10, 1638455, 10, 1638456, 10, 1638457, 10, 1638458, 10, 1638459, 10, 1638460, 10, 1638461, 10, 1638462, 10, 1638463, 10, 1638464, 10, 1638465, 10, 1638466, 10, 1638467, 10, 1638468, 10, 1638469, 10, 1638470, 10, 1638471, 10, 1703952, 10, 1703953, 10, 1703954, 10, 1703955, 10, 1703956, 10, 1703957, 10, 1703958, 10, 1703959, 10, 1703960, 10, 1703961, 10, 1703962, 10, 1703963, 10, 1703964, 10, 1703965, 10, 1703966, 10, 1703967, 10, 1703968, 10, 1703969, 10, 1703970, 10, 1703971, 10, 1703972, 10, 1703973, 10, 1703974, 10, 1703975, 10, 1703976, 10, 1703977, 10, 1703978, 10, 1703979, 10, 1703980, 10, 1703981, 10, 1703982, 10, 1703983, 10, 1703984, 10, 1703985, 10, 1703986, 10, 1703987, 10, 1703988, 10, 1703989, 10, 1703990, 10, 1703991, 10, 1703992, 10, 1703993, 10, 1703994, 10, 1703995, 10, 1703996, 10, 1703997, 10, 1703998, 10, 1703999, 10, 1704000, 10, 1704001, 10, 1704002, 10, 1704003, 10, 1704004, 10, 1704005, 10, 1704006, 10, 1704007, 10, 1769488, 10, 1769489, 10, 1769490, 10, 1769491, 10, 1769492, 10, 1769493, 10, 1769494, 10, 1769495, 10, 1769496, 10, 1769497, 10, 1769498, 10, 1769499, 10, 1769500, 10, 1769501, 10, 1769502, 10, 1769503, 10, 1769504, 10, 1769505, 10, 1769506, 10, 1769507, 10, 1769508, 10, 1769509, 10, 1769510, 10, 1769511, 10, 1769512, 10, 1769513, 10, 1769514, 10, 1769515, 10, 1769516, 10, 1769517, 10, 1769518, 10, 1769519, 10, 1769520, 10, 1769521, 10, 1769522, 10, 1769523, 10, 1769524, 10, 1769525, 10, 1769526, 10, 1769527, 10, 1769528, 10, 1769529, 10, 1769530, 10, 1769531, 10, 1769532, 10, 1769533, 10, 1769534, 10, 1769535, 10, 1769536, 10, 1769537, 10, 1769538, 10, 1769539, 10, 1769540, 10, 1769541, 10 - - "_edit_lock_" - True - - - 672, 1179 - 0.1 - 704, 1179 - 736, 1179 - 1120, 992 - 1152, 992 - 1184, 992 - 1216, 992 - 1248, 992 - 1568, 864 - 1632, 864 - 1824, 768 - 1888, 768 - 2080, 672 - 2144, 672 - 1792, 1248 - 1856, 1248 - 1920, 1248 - 1920, 1184 - 1856, 1184 - 1792, 1184 - 98.8868, 488.515 - 89.5989, 481.217 - 108.175, 481.217 - 116.136, 469.939 - 117.463, 457.997 - 106.184, 449.373 - 98.2234, 458.661 - 88.272, 448.71 - 79.6476, 457.334 - 82.9647, 468.612 - 3357.42, 465.288 - 3421.42, 465.288 - 3485.42, 465.288 - 3485.42, 401.288 - 3421.42, 401.288 - 3357.42, 401.288 - 4172.75, 605.058 - 4236.75, 605.058 - 4300.75, 605.058 - 4300.75, 541.058 - 4236.75, 541.058 - 4172.75, 541.058 - - 1451.86, 742.969 - 0, 140 - 5 - 624.824, 545.544 - 300, 0 - 10 - 3419.86, 739.662 - 450, 0 - - 2402.79, 849.52 - - 927.698, 1120.81 - - 251.684, 1045.6 - - True - 2 - 500 - - 834.664, 1309.6 - 707.665, 1225.05 - 1125.21, 1053.06 - 1292.11, 1059.24 - 1607.38, 923.239 - 2586.9, 939.059 - 1457.6, 688.741 - 1193.63, 460.381 - 3429.73, 540.865 - 3546.2, 1356.19 - 2406.63, 815.115 - - 12 - -202 - 358 - -10 - "This is a simple demo on how to make a platformer game with Godot."This version uses physics and the 2D physics engine for motion and collision.""The demo also shows the benefits of using the scene system, where coins,"enemies and the player are edited separatedly and instanced in the stage.""To edit the base tiles for the tileset, open the tileset_edit.xml file and follow "instructions."" - -1 - - "version" - 2 - - - - \ No newline at end of file diff --git a/demos/2d/platformer/tileset.tres b/demos/2d/platformer/tileset.tres new file mode 100644 index 00000000000..17b7dd3b4df --- /dev/null +++ b/demos/2d/platformer/tileset.tres @@ -0,0 +1,195 @@ +[gd_resource type="TileSet" load_steps=14 format=1] + +[ext_resource path="res://tiles_demo.png" type="Texture" id=1] + +[sub_resource type="ConvexPolygonShape2D" id=1] + +custom_solver_bias = 0.0 +points = Vector2Array( -32, -24, 32, -24, 32, 32, -32, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=2] + +custom_solver_bias = 0.0 +points = Vector2Array( -32, 32, -32, -24, 24, -24, 24, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=3] + +custom_solver_bias = 0.0 +points = Vector2Array( -32, -32, 32, -32, 32, 32, -32, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=4] + +custom_solver_bias = 0.0 +points = Vector2Array( -32, -56, 32, 8, 32, 64, -32, 64 ) + +[sub_resource type="ConvexPolygonShape2D" id=5] + +custom_solver_bias = 0.0 +points = Vector2Array( -32, 32, -32, -32, 24, -32, 24, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=6] + +custom_solver_bias = 0.0 +points = Vector2Array( -32, -24, 32, -24, 32, 24, -32, 24 ) + +[sub_resource type="ConvexPolygonShape2D" id=7] + +custom_solver_bias = 0.0 +points = Vector2Array( -32, -24, 24, -24, 24, 24, -32, 24 ) + +[sub_resource type="ConvexPolygonShape2D" id=8] + +custom_solver_bias = 0.0 +points = Vector2Array( -32, 32, -32, -32, 24, -32, 24, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=9] + +custom_solver_bias = 0.0 +points = Vector2Array( -64, 32, -64, -32, -8, -32, -8, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=10] + +custom_solver_bias = 0.0 +points = Vector2Array( -32, 32, -32, -32, 24, -32, 32, -24, 32, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=11] + +custom_solver_bias = 0.0 +points = Vector2Array( -32, 32, -32, -24, 32, -24, 32, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=12] + +custom_solver_bias = 0.0 +points = Vector2Array( -32, 32, -32, -24, 32, -24, 32, 32 ) + +[resource] + +0/name = "floor" +0/texture = ExtResource( 1 ) +0/tex_offset = Vector2( 0, 0 ) +0/region = Rect2( 0, 0, 64, 64 ) +0/occluder_offset = Vector2( 32, 32 ) +0/navigation_offset = Vector2( 32, 32 ) +0/shape_offset = Vector2( 32, 32 ) +0/shapes = [ SubResource( 1 ) ] +1/name = "edge" +1/texture = ExtResource( 1 ) +1/tex_offset = Vector2( 0, 0 ) +1/region = Rect2( 64, 0, 64, 64 ) +1/occluder_offset = Vector2( 32, 32 ) +1/navigation_offset = Vector2( 32, 32 ) +1/shape_offset = Vector2( 32, 32 ) +1/shapes = [ SubResource( 2 ) ] +2/name = "wall" +2/texture = ExtResource( 1 ) +2/tex_offset = Vector2( 0, 0 ) +2/region = Rect2( 64, 64, 64, 64 ) +2/occluder_offset = Vector2( 32, 32 ) +2/navigation_offset = Vector2( 32, 32 ) +2/shape_offset = Vector2( 32, 32 ) +2/shapes = [ SubResource( 8 ) ] +3/name = "wall_deco" +3/texture = ExtResource( 1 ) +3/tex_offset = Vector2( 0, 0 ) +3/region = Rect2( 320, 128, 128, 64 ) +3/occluder_offset = Vector2( 64, 32 ) +3/navigation_offset = Vector2( 64, 32 ) +3/shape_offset = Vector2( 64, 32 ) +3/shapes = [ SubResource( 9 ) ] +4/name = "corner" +4/texture = ExtResource( 1 ) +4/tex_offset = Vector2( 0, 0 ) +4/region = Rect2( 64, 128, 64, 64 ) +4/occluder_offset = Vector2( 32, 32 ) +4/navigation_offset = Vector2( 32, 32 ) +4/shape_offset = Vector2( 32, 32 ) +4/shapes = [ SubResource( 10 ) ] +5/name = "flowers" +5/texture = ExtResource( 1 ) +5/tex_offset = Vector2( 0, 0 ) +5/region = Rect2( 192, 192, 64, 64 ) +5/occluder_offset = Vector2( 32, 32 ) +5/navigation_offset = Vector2( 32, 32 ) +5/shape_offset = Vector2( 32, 32 ) +5/shapes = [ SubResource( 11 ) ] +6/name = "tree_base" +6/texture = ExtResource( 1 ) +6/tex_offset = Vector2( 0, 0 ) +6/region = Rect2( 256, 192, 64, 64 ) +6/occluder_offset = Vector2( 32, 32 ) +6/navigation_offset = Vector2( 32, 32 ) +6/shape_offset = Vector2( 32, 32 ) +6/shapes = [ SubResource( 12 ) ] +7/name = "tree_mid" +7/texture = ExtResource( 1 ) +7/tex_offset = Vector2( 0, 0 ) +7/region = Rect2( 256, 128, 64, 64 ) +7/occluder_offset = Vector2( 32, 32 ) +7/navigation_offset = Vector2( 32, 32 ) +7/shape_offset = Vector2( 0, 0 ) +7/shapes = [ ] +8/name = "tree_mid 2" +8/texture = ExtResource( 1 ) +8/tex_offset = Vector2( 0, 0 ) +8/region = Rect2( 256, 64, 64, 64 ) +8/occluder_offset = Vector2( 32, 32 ) +8/navigation_offset = Vector2( 32, 32 ) +8/shape_offset = Vector2( 0, 0 ) +8/shapes = [ ] +9/name = "tree_top" +9/texture = ExtResource( 1 ) +9/tex_offset = Vector2( 0, 0 ) +9/region = Rect2( 256, 0, 64, 64 ) +9/occluder_offset = Vector2( 32, 32 ) +9/navigation_offset = Vector2( 32, 32 ) +9/shape_offset = Vector2( 0, 0 ) +9/shapes = [ ] +10/name = "solid" +10/texture = ExtResource( 1 ) +10/tex_offset = Vector2( 0, 0 ) +10/region = Rect2( 0, 64, 64, 64 ) +10/occluder_offset = Vector2( 32, 32 ) +10/navigation_offset = Vector2( 32, 32 ) +10/shape_offset = Vector2( 0, 0 ) +10/shapes = [ ] +11/name = "ceiling" +11/texture = ExtResource( 1 ) +11/tex_offset = Vector2( 0, 0 ) +11/region = Rect2( 384, 64, 64, 64 ) +11/occluder_offset = Vector2( 32, 32 ) +11/navigation_offset = Vector2( 32, 32 ) +11/shape_offset = Vector2( 32, 32 ) +11/shapes = [ SubResource( 3 ) ] +12/name = "ramp" +12/texture = ExtResource( 1 ) +12/tex_offset = Vector2( 0, 0 ) +12/region = Rect2( 128, 128, 64, 128 ) +12/occluder_offset = Vector2( 32, 64 ) +12/navigation_offset = Vector2( 32, 64 ) +12/shape_offset = Vector2( 32, 64 ) +12/shapes = [ SubResource( 4 ) ] +13/name = "ceiling2wall" +13/texture = ExtResource( 1 ) +13/tex_offset = Vector2( 0, 0 ) +13/region = Rect2( 448, 64, 64, 64 ) +13/occluder_offset = Vector2( 32, 32 ) +13/navigation_offset = Vector2( 32, 32 ) +13/shape_offset = Vector2( 32, 32 ) +13/shapes = [ SubResource( 5 ) ] +14/name = "platform_floor" +14/texture = ExtResource( 1 ) +14/tex_offset = Vector2( 0, 0 ) +14/region = Rect2( 128, 0, 64, 64 ) +14/occluder_offset = Vector2( 32, 32 ) +14/navigation_offset = Vector2( 32, 32 ) +14/shape_offset = Vector2( 32, 32 ) +14/shapes = [ SubResource( 6 ) ] +15/name = "platform_edge" +15/texture = ExtResource( 1 ) +15/tex_offset = Vector2( 0, 0 ) +15/region = Rect2( 192, 0, 64, 64 ) +15/occluder_offset = Vector2( 32, 32 ) +15/navigation_offset = Vector2( 32, 32 ) +15/shape_offset = Vector2( 32, 32 ) +15/shapes = [ SubResource( 7 ) ] + diff --git a/demos/2d/platformer/tileset.xml b/demos/2d/platformer/tileset.xml deleted file mode 100644 index d8f9a651ee8..00000000000 --- a/demos/2d/platformer/tileset.xml +++ /dev/null @@ -1,191 +0,0 @@ - - - - - 0 - -32, -24, 32, -24, 32, 32, -32, 32 - - - - 0 - -32, 32, -32, -24, 24, -24, 24, 32 - - - - 0 - -32, 32, -32, -32, 24, -32, 24, 32 - - - - 0 - -64, 32, -64, -32, -8, -32, -8, 32 - - - - 0 - -32, 32, -32, -32, 24, -32, 32, -24, 32, 32 - - - - 0 - -32, 32, -32, -24, 32, -24, 32, 32 - - - - 0 - -32, 32, -32, -24, 32, -24, 32, 32 - - - - 0 - -32, -32, 32, -32, 32, 32, -32, 32 - - - - 0 - -32, -56, 32, 8, 32, 64, -32, 64 - - - - 0 - -32, 32, -32, -32, 24, -32, 24, 32 - - - - 0 - -32, -24, 32, -24, 32, 24, -32, 24 - - - - 0 - -32, -24, 24, -24, 24, 24, -32, 24 - - - - "floor" - - 0, 0 - 32, 32 - 0, 0, 64, 64 - - - - "edge" - - 0, 0 - 32, 32 - 64, 0, 64, 64 - - - - "wall" - - 0, 0 - 32, 32 - 64, 64, 64, 64 - - - - "wall_deco" - - 0, 0 - 64, 32 - 320, 128, 128, 64 - - - - "corner" - - 0, 0 - 32, 32 - 64, 128, 64, 64 - - - - "flowers" - - 0, 0 - 32, 32 - 192, 192, 64, 64 - - - - "tree_base" - - 0, 0 - 32, 32 - 256, 192, 64, 64 - - - - "tree_mid" - - 0, 0 - 0, 0 - 256, 128, 64, 64 - - - "tree_mid 2" - - 0, 0 - 0, 0 - 256, 64, 64, 64 - - - "tree_top" - - 0, 0 - 0, 0 - 256, 0, 64, 64 - - - "solid" - - 0, 0 - 0, 0 - 0, 64, 64, 64 - - - "ceiling" - - 0, 0 - 32, 32 - 384, 64, 64, 64 - - - - "ramp" - - 0, 0 - 32, 64 - 128, 128, 64, 128 - - - - "ceiling2wall" - - 0, 0 - 32, 32 - 448, 64, 64, 64 - - - - "platform_floor" - - 0, 0 - 32, 32 - 128, 0, 64, 64 - - - - "platform_edge" - - 0, 0 - 32, 32 - 192, 0, 64, 64 - - - - - - \ No newline at end of file diff --git a/demos/2d/platformer/tileset_edit.tscn b/demos/2d/platformer/tileset_edit.tscn new file mode 100644 index 00000000000..733fada55de --- /dev/null +++ b/demos/2d/platformer/tileset_edit.tscn @@ -0,0 +1,432 @@ +[gd_scene load_steps=14 format=1] + +[ext_resource path="res://tiles_demo.png" type="Texture" id=1] + +[sub_resource type="ConvexPolygonShape2D" id=1] + +custom_solver_bias = 0.0 +points = Vector2Array( -32, -24, 32, -24, 32, 32, -32, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=2] + +custom_solver_bias = 0.0 +points = Vector2Array( -32, 32, -32, -24, 24, -24, 24, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=3] + +custom_solver_bias = 0.0 +points = Vector2Array( -32, 32, -32, -32, 24, -32, 24, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=4] + +custom_solver_bias = 0.0 +points = Vector2Array( -64, 32, -64, -32, -8, -32, -8, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=5] + +custom_solver_bias = 0.0 +points = Vector2Array( -32, 32, -32, -32, 24, -32, 32, -24, 32, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=6] + +custom_solver_bias = 0.0 +points = Vector2Array( -32, 32, -32, -24, 32, -24, 32, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=7] + +custom_solver_bias = 0.0 +points = Vector2Array( -32, 32, -32, -24, 32, -24, 32, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=8] + +custom_solver_bias = 0.0 +points = Vector2Array( -32, -32, 32, -32, 32, 32, -32, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=9] + +custom_solver_bias = 0.0 +points = Vector2Array( -32, -56, 32, 8, 32, 64, -32, 64 ) + +[sub_resource type="ConvexPolygonShape2D" id=10] + +custom_solver_bias = 0.0 +points = Vector2Array( -32, 32, -32, -32, 24, -32, 24, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=11] + +custom_solver_bias = 0.0 +points = Vector2Array( -32, -24, 32, -24, 32, 24, -32, 24 ) + +[sub_resource type="ConvexPolygonShape2D" id=12] + +custom_solver_bias = 0.0 +points = Vector2Array( -32, -24, 24, -24, 24, 24, -32, 24 ) + +[node name="Node" type="Node"] + +[node name="floor" type="Sprite" parent="."] + +texture = ExtResource( 1 ) +region = true +region_rect = Rect2( 0, 0, 64, 64 ) + +[node name="collision" type="StaticBody2D" parent="floor"] + +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="floor/collision"] + +build_mode = 0 +polygon = Vector2Array( 32, -24, 32, 32, -32, 32, -32, -24 ) +shape_range = Vector2( -1, -1 ) +trigger = false + +[node name="edge" type="Sprite" parent="."] + +transform/pos = Vector2( 64, 0 ) +texture = ExtResource( 1 ) +region = true +region_rect = Rect2( 64, 0, 64, 64 ) + +[node name="collision" type="StaticBody2D" parent="edge"] + +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 +constant_linear_velocity = Vector2( 0, 0 ) +constant_angular_velocity = 0.0 +friction = 1.0 +bounce = 0.0 + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="edge/collision"] + +build_mode = 0 +polygon = Vector2Array( -32, -24, 24, -24, 24, 32, -32, 32 ) +shape_range = Vector2( -1, -1 ) +trigger = false + +[node name="wall" type="Sprite" parent="."] + +transform/pos = Vector2( 64, 64 ) +texture = ExtResource( 1 ) +region = true +region_rect = Rect2( 64, 64, 64, 64 ) + +[node name="collision" type="StaticBody2D" parent="wall"] + +input/pickable = false +shapes/0/shape = SubResource( 3 ) +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="wall/collision"] + +build_mode = 0 +polygon = Vector2Array( -32, -32, 24, -32, 24, 32, -32, 32 ) +shape_range = Vector2( -1, -1 ) +trigger = false + +[node name="wall_deco" type="Sprite" parent="."] + +transform/pos = Vector2( 96, 128 ) +texture = ExtResource( 1 ) +region = true +region_rect = Rect2( 320, 128, 128, 64 ) + +[node name="collision" type="StaticBody2D" parent="wall_deco"] + +input/pickable = false +shapes/0/shape = SubResource( 4 ) +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="wall_deco/collision"] + +build_mode = 0 +polygon = Vector2Array( -64, -32, -8, -32, -8, 32, -64, 32 ) +shape_range = Vector2( -1, -1 ) +trigger = false + +[node name="corner" type="Sprite" parent="."] + +transform/pos = Vector2( 64, 192 ) +texture = ExtResource( 1 ) +region = true +region_rect = Rect2( 64, 128, 64, 64 ) + +[node name="collision" type="StaticBody2D" parent="corner"] + +input/pickable = false +shapes/0/shape = SubResource( 5 ) +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="corner/collision"] + +build_mode = 0 +polygon = Vector2Array( -32, -32, 24, -32, 32, -24, 32, 32, -32, 32 ) +shape_range = Vector2( -1, -1 ) +trigger = false + +[node name="flowers" type="Sprite" parent="."] + +transform/pos = Vector2( 128, 192 ) +texture = ExtResource( 1 ) +region = true +region_rect = Rect2( 192, 192, 64, 64 ) + +[node name="collision" type="StaticBody2D" parent="flowers"] + +input/pickable = false +shapes/0/shape = SubResource( 6 ) +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="flowers/collision"] + +build_mode = 0 +polygon = Vector2Array( -32, 32, 32, 32, 32, -24, -32, -24 ) +shape_range = Vector2( -1, -1 ) +trigger = false + +[node name="tree_base" type="Sprite" parent="."] + +transform/pos = Vector2( 192, 192 ) +texture = ExtResource( 1 ) +region = true +region_rect = Rect2( 256, 192, 64, 64 ) + +[node name="collision" type="StaticBody2D" parent="tree_base"] + +input/pickable = false +shapes/0/shape = SubResource( 7 ) +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="tree_base/collision"] + +build_mode = 0 +polygon = Vector2Array( -32, 32, 32, 32, 32, -24, -32, -24 ) +shape_range = Vector2( -1, -1 ) +trigger = false + +[node name="tree_mid" type="Sprite" parent="."] + +transform/pos = Vector2( 192, 128 ) +texture = ExtResource( 1 ) +region = true +region_rect = Rect2( 256, 128, 64, 64 ) + +[node name="tree_mid 2" type="Sprite" parent="."] + +transform/pos = Vector2( 192, 64 ) +texture = ExtResource( 1 ) +region = true +region_rect = Rect2( 256, 64, 64, 64 ) + +[node name="tree_top" type="Sprite" parent="."] + +transform/pos = Vector2( 192, 0 ) +texture = ExtResource( 1 ) +region = true +region_rect = Rect2( 256, 0, 64, 64 ) + +[node name="solid" type="Sprite" parent="."] + +transform/pos = Vector2( 0, 64 ) +texture = ExtResource( 1 ) +region = true +region_rect = Rect2( 0, 64, 64, 64 ) + +[node name="ceiling" type="Sprite" parent="."] + +transform/pos = Vector2( 0, 128 ) +texture = ExtResource( 1 ) +region = true +region_rect = Rect2( 384, 64, 64, 64 ) + +[node name="collision" type="StaticBody2D" parent="ceiling"] + +input/pickable = false +shapes/0/shape = SubResource( 8 ) +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="ceiling/collision"] + +build_mode = 0 +polygon = Vector2Array( 32, -32, 32, 32, -32, 32, -32, -32 ) +shape_range = Vector2( -1, -1 ) +trigger = false + +[node name="ramp" type="Sprite" parent="."] + +transform/pos = Vector2( 256, 224 ) +texture = ExtResource( 1 ) +region = true +region_rect = Rect2( 128, 128, 64, 128 ) + +[node name="collision" type="StaticBody2D" parent="ramp"] + +input/pickable = false +shapes/0/shape = SubResource( 9 ) +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="ramp/collision"] + +build_mode = 0 +polygon = Vector2Array( -32, -56, 32, 8, 32, 64, -32, 64 ) +shape_range = Vector2( -1, -1 ) +trigger = false + +[node name="ceiling2wall" type="Sprite" parent="."] + +transform/pos = Vector2( 0, 192 ) +texture = ExtResource( 1 ) +region = true +region_rect = Rect2( 448, 64, 64, 64 ) + +[node name="collision" type="StaticBody2D" parent="ceiling2wall"] + +input/pickable = false +shapes/0/shape = SubResource( 10 ) +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="ceiling2wall/collision"] + +build_mode = 0 +polygon = Vector2Array( -32, -32, 24, -32, 24, 32, -32, 32 ) +shape_range = Vector2( -1, -1 ) +trigger = false + +[node name="platform_floor" type="Sprite" parent="."] + +transform/pos = Vector2( 0, 256 ) +texture = ExtResource( 1 ) +region = true +region_rect = Rect2( 128, 0, 64, 64 ) + +[node name="collision" type="StaticBody2D" parent="platform_floor"] + +input/pickable = false +shapes/0/shape = SubResource( 11 ) +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="platform_floor/collision"] + +build_mode = 0 +polygon = Vector2Array( 32, -24, 32, 24, -32, 24, -32, -24 ) +shape_range = Vector2( -1, -1 ) +trigger = false + +[node name="platform_edge" type="Sprite" parent="."] + +transform/pos = Vector2( 64, 256 ) +texture = ExtResource( 1 ) +region = true +region_rect = Rect2( 192, 0, 64, 64 ) + +[node name="collision" type="StaticBody2D" parent="platform_edge"] + +input/pickable = false +shapes/0/shape = SubResource( 12 ) +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="platform_edge/collision"] + +build_mode = 0 +polygon = Vector2Array( 24, -24, 24, 24, -32, 24, -32, -24 ) +shape_range = Vector2( -1, -1 ) +trigger = false + +[node name="help" type="Label" parent="."] + +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +margin/left = 1.0 +margin/top = 331.0 +margin/right = 727.0 +margin/bottom = 422.0 +text = "This scene serves as a tool for editing the tileset.\nNodes (sprites) and their respective collisionsare edited here.\n\nTo create a tileset from this, a \"TileSet\" resoucre must be created. Use the helper in: Scene -> Convert To -> TileSet.\nThis will save a tileset. Saving over it will merge your changes.\n\nFinally, the saved tileset resource (tileset.tres in this case), can be opened to be used into a TileMap node for editing a tile map." +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 + + diff --git a/demos/2d/platformer/tileset_edit.xml b/demos/2d/platformer/tileset_edit.xml deleted file mode 100644 index 3ae9f1bd2ac..00000000000 --- a/demos/2d/platformer/tileset_edit.xml +++ /dev/null @@ -1,342 +0,0 @@ - - - - - 0 - -32, -24, 32, -24, 32, 32, -32, 32 - - - - 0 - -32, 32, -32, -24, 24, -24, 24, 32 - - - - 0 - -32, 32, -32, -32, 24, -32, 24, 32 - - - - 0 - -64, 32, -64, -32, -8, -32, -8, 32 - - - - 0 - -32, 32, -32, -32, 24, -32, 32, -24, 32, 32 - - - - 0 - -32, 32, -32, -24, 32, -24, 32, 32 - - - - 0 - -32, 32, -32, -24, 32, -24, 32, 32 - - - - 0 - -32, -32, 32, -32, 32, 32, -32, 32 - - - - 0 - -32, -56, 32, 8, 32, 64, -32, 64 - - - - 0 - -32, 32, -32, -32, 24, -32, 24, 32 - - - - 0 - -32, -24, 32, -24, 32, 24, -32, 24 - - - - 0 - -32, -24, 24, -24, 24, 24, -32, 24 - - - - - "conn_count" - 0 - "conns" - - "editable_instances" - - - "names" - - "Node" - "__meta__" - "floor" - "texture" - "region" - "region_rect" - "Sprite" - "collision" - "input/pickable" - "shapes/0/shape" - "shapes/0/transform" - "shapes/0/trigger" - "collision/layers" - "collision/mask" - "constant_linear_velocity" - "constant_angular_velocity" - "friction" - "bounce" - "StaticBody2D" - "CollisionPolygon2D" - "build_mode" - "polygon" - "shape_range" - "trigger" - "edge" - "transform/pos" - "wall" - "wall_deco" - "corner" - "flowers" - "tree_base" - "tree_mid" - "tree_mid 2" - "tree_top" - "solid" - "ceiling" - "ramp" - "ceiling2wall" - "help" - "focus/ignore_mouse" - "focus/stop_mouse" - "size_flags/horizontal" - "text" - "percent_visible" - "lines_skipped" - "max_lines_visible" - "Label" - "platform_floor" - "platform_edge" - - "node_count" - 42 - "node_paths" - - - "nodes" - -1, -1, 0, 0, -1, 1, 1, 0, 0, 0, 0, 6, 2, -1, 3, 3, 1, 4, 2, 5, 3, 0, 1, 0, 18, 7, -1, 10, 8, 4, 9, 5, 10, 6, 11, 4, 12, 7, 13, 7, 14, 8, 15, 9, 16, 10, 17, 9, 0, 2, 0, 19, 19, -1, 4, 20, 11, 21, 12, 22, 13, 23, 4, 0, 0, 0, 6, 24, -1, 4, 25, 14, 3, 1, 4, 2, 5, 15, 0, 4, 0, 18, 7, -1, 10, 8, 4, 9, 16, 10, 6, 11, 4, 12, 7, 13, 7, 14, 8, 15, 9, 16, 10, 17, 9, 0, 5, 0, 19, 19, -1, 4, 20, 11, 21, 17, 22, 13, 23, 4, 0, 0, 0, 6, 26, -1, 4, 25, 18, 3, 1, 4, 2, 5, 19, 0, 7, 0, 18, 7, -1, 10, 8, 4, 9, 20, 10, 6, 11, 4, 12, 7, 13, 7, 14, 8, 15, 9, 16, 10, 17, 9, 0, 8, 0, 19, 19, -1, 4, 20, 11, 21, 21, 22, 13, 23, 4, 0, 0, 0, 6, 27, -1, 4, 25, 22, 3, 1, 4, 2, 5, 23, 0, 10, 0, 18, 7, -1, 10, 8, 4, 9, 24, 10, 6, 11, 4, 12, 7, 13, 7, 14, 8, 15, 9, 16, 10, 17, 9, 0, 11, 0, 19, 19, -1, 4, 20, 11, 21, 25, 22, 13, 23, 4, 0, 0, 0, 6, 28, -1, 4, 25, 26, 3, 1, 4, 2, 5, 27, 0, 13, 0, 18, 7, -1, 10, 8, 4, 9, 28, 10, 6, 11, 4, 12, 7, 13, 7, 14, 8, 15, 9, 16, 10, 17, 9, 0, 14, 0, 19, 19, -1, 4, 20, 11, 21, 29, 22, 13, 23, 4, 0, 0, 0, 6, 29, -1, 4, 25, 30, 3, 1, 4, 2, 5, 31, 0, 16, 0, 18, 7, -1, 10, 8, 4, 9, 32, 10, 6, 11, 4, 12, 7, 13, 7, 14, 8, 15, 9, 16, 10, 17, 9, 0, 17, 0, 19, 19, -1, 4, 20, 11, 21, 33, 22, 13, 23, 4, 0, 0, 0, 6, 30, -1, 4, 25, 34, 3, 1, 4, 2, 5, 35, 0, 19, 0, 18, 7, -1, 10, 8, 4, 9, 36, 10, 6, 11, 4, 12, 7, 13, 7, 14, 8, 15, 9, 16, 10, 17, 9, 0, 20, 0, 19, 19, -1, 4, 20, 11, 21, 33, 22, 13, 23, 4, 0, 0, 0, 6, 31, -1, 4, 25, 37, 3, 1, 4, 2, 5, 38, 0, 0, 0, 6, 32, -1, 4, 25, 39, 3, 1, 4, 2, 5, 40, 0, 0, 0, 6, 33, -1, 4, 25, 41, 3, 1, 4, 2, 5, 42, 0, 0, 0, 6, 34, -1, 4, 25, 43, 3, 1, 4, 2, 5, 44, 0, 0, 0, 6, 35, -1, 4, 25, 45, 3, 1, 4, 2, 5, 46, 0, 26, 0, 18, 7, -1, 10, 8, 4, 9, 47, 10, 6, 11, 4, 12, 7, 13, 7, 14, 8, 15, 9, 16, 10, 17, 9, 0, 27, 0, 19, 19, -1, 4, 20, 11, 21, 48, 22, 13, 23, 4, 0, 0, 0, 6, 36, -1, 4, 25, 49, 3, 1, 4, 2, 5, 50, 0, 29, 0, 18, 7, -1, 10, 8, 4, 9, 51, 10, 6, 11, 4, 12, 7, 13, 7, 14, 8, 15, 9, 16, 10, 17, 9, 0, 30, 0, 19, 19, -1, 4, 20, 11, 21, 52, 22, 13, 23, 4, 0, 0, 0, 6, 37, -1, 4, 25, 53, 3, 1, 4, 2, 5, 54, 0, 32, 0, 18, 7, -1, 10, 8, 4, 9, 55, 10, 6, 11, 4, 12, 7, 13, 7, 14, 8, 15, 9, 16, 10, 17, 9, 0, 33, 0, 19, 19, -1, 4, 20, 11, 21, 21, 22, 13, 23, 4, 0, 0, 0, 46, 38, -1, 7, 39, 2, 40, 2, 41, 56, 42, 57, 43, 10, 44, 11, 45, 58, 0, 0, 0, 6, 47, -1, 4, 25, 59, 3, 1, 4, 2, 5, 60, 0, 36, 0, 18, 7, -1, 10, 8, 4, 9, 61, 10, 6, 11, 4, 12, 7, 13, 7, 14, 8, 15, 9, 16, 10, 17, 9, 0, 37, 0, 19, 19, -1, 4, 20, 11, 21, 62, 22, 13, 23, 4, 0, 0, 0, 6, 48, -1, 4, 25, 63, 3, 1, 4, 2, 5, 64, 0, 39, 0, 18, 7, -1, 10, 8, 4, 9, 65, 10, 6, 11, 4, 12, 7, 13, 7, 14, 8, 15, 9, 16, 10, 17, 9, 0, 40, 0, 19, 19, -1, 4, 20, 11, 21, 66, 22, 13, 23, 4, 0 - "variants" - - - "__editor_plugin_screen__" - "Script" - "__editor_plugin_states__" - - "2D" - - "ofs" - -446.534, -87.6905 - "snap_grid" - False - "snap_offset" - 0, 0 - "snap_pixel" - False - "snap_relative" - False - "snap_rotation" - False - "snap_rotation_offset" - 0 - "snap_rotation_step" - 0.261799 - "snap_show_grid" - False - "snap_step" - 10, 10 - "zoom" - 1.670183 - - "3D" - - "ambient_light_color" - 0.15, 0.15, 0.15, 1 - "default_light" - True - "default_srgb" - False - "deflight_rot_x" - 0.942478 - "deflight_rot_y" - 0.628319 - "fov" - 45 - "show_grid" - True - "show_origin" - True - "viewport_mode" - 1 - "viewports" - - - "distance" - 4 - "listener" - True - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "zfar" - 500 - "znear" - 0.1 - - "Anim" - - "visible" - False - - - "__editor_run_settings__" - - "custom_args" - "-l $scene" - "run_mode" - 0 - - - - True - 0, 0, 64, 64 - False - - 1, -0, 0, 1, 0, 0 - 1 - 0, 0 - 0 - 1 - 0 - 32, -24, 32, 32, -32, 32, -32, -24 - -1, -1 - 64, 0 - 64, 0, 64, 64 - - -32, -24, 24, -24, 24, 32, -32, 32 - 64, 64 - 64, 64, 64, 64 - - -32, -32, 24, -32, 24, 32, -32, 32 - 96, 128 - 320, 128, 128, 64 - - -64, -32, -8, -32, -8, 32, -64, 32 - 64, 192 - 64, 128, 64, 64 - - -32, -32, 24, -32, 32, -24, 32, 32, -32, 32 - 128, 192 - 192, 192, 64, 64 - - -32, 32, 32, 32, 32, -24, -32, -24 - 192, 192 - 256, 192, 64, 64 - - 192, 128 - 256, 128, 64, 64 - 192, 64 - 256, 64, 64, 64 - 192, 0 - 256, 0, 64, 64 - 0, 64 - 0, 64, 64, 64 - 0, 128 - 384, 64, 64, 64 - - 32, -32, 32, 32, -32, 32, -32, -32 - 256, 224 - 128, 128, 64, 128 - - -32, -56, 32, 8, 32, 64, -32, 64 - 0, 192 - 448, 64, 64, 64 - - 2 - "This scene serves as a tool for editing the tileset. Nodes (sprites) and their respective collisions are edited here. To create a tileset from this, a "TileSet" resoucre must be created. Use the helper in: Scene -< Convert To -< TileSet This will save a tileset. Saving over it will merge your changes. Finally, the saved tileset resource (tileset.xml in this case), can be opened to be used into a TileMap node for editing a tile map. " - -1 - 0, 256 - 128, 0, 64, 64 - - 32, -24, 32, 24, -32, 24, -32, -24 - 64, 256 - 192, 0, 64, 64 - - 24, -24, 24, 24, -32, 24, -32, -24 - - "version" - 2 - - - - \ No newline at end of file diff --git a/demos/2d/platformer/types.cache b/demos/2d/platformer/types.cache deleted file mode 100644 index a215e5f1377..00000000000 --- a/demos/2d/platformer/types.cache +++ /dev/null @@ -1,64 +0,0 @@ -res://tileset.xml -TileSet -res://sound_shoot.wav -Sample -res://sound_hit.wav -Sample -res://scroll_bg_cloud_2.png -Texture -res://enemy.png -Texture -res://bullet.gd -GDScript -res://scroll_bg_cloud_3.png -Texture -res://coin.gd -GDScript -res://stage.xml -PackedScene -res://moving_platform.xml -PackedScene -res://bullet.png -Texture -res://player.xml -PackedScene -res://parallax_bg.xml -PackedScene -res://music.ogg -AudioStreamOGGVorbis -res://coin.png -Texture -res://sound_explode.wav -Sample -res://sound_coin.wav -Sample -res://robot_demo.png -Texture -res://moving_platform.gd -GDScript -res://enemy.xml -PackedScene -res://tileset_edit.xml -PackedScene -res://scroll_bg_fg_1.png -Texture -res://player.gd -GDScript -res://scroll_bg_fg_2.png -Texture -res://moving_platform.png -Texture -res://enemy.gd -GDScript -res://bullet.xml -PackedScene -res://tiles_demo.png -Texture -res://sound_jump.wav -Sample -res://scroll_bg_sky.png -Texture -res://scroll_bg_cloud_1.png -Texture -res://coin.xml -PackedScene diff --git a/demos/2d/pong/engine.cfg b/demos/2d/pong/engine.cfg index 9e76449bcf8..418f02c06b5 100644 --- a/demos/2d/pong/engine.cfg +++ b/demos/2d/pong/engine.cfg @@ -1,7 +1,7 @@ [application] name="Pong" -main_scene="pong.xml" +main_scene="pong.tscn" icon="res://icon.png" [display] diff --git a/demos/2d/pong/pong.tscn b/demos/2d/pong/pong.tscn new file mode 100644 index 00000000000..95aecc60f32 --- /dev/null +++ b/demos/2d/pong/pong.tscn @@ -0,0 +1,33 @@ +[gd_scene load_steps=6 format=1] + +[ext_resource path="res://pong.gd" type="Script" id=1] +[ext_resource path="res://left_pallete.png" type="Texture" id=2] +[ext_resource path="res://right_pallete.png" type="Texture" id=3] +[ext_resource path="res://separator.png" type="Texture" id=4] +[ext_resource path="res://ball.png" type="Texture" id=5] + +[node name="game" type="Node2D"] + +script/script = ExtResource( 1 ) + +[node name="left" type="Sprite" parent="."] + +transform/pos = Vector2( 67.6875, 183.208 ) +texture = ExtResource( 2 ) + +[node name="right" type="Sprite" parent="."] + +transform/pos = Vector2( 577, 187 ) +texture = ExtResource( 3 ) + +[node name="separator" type="Sprite" parent="."] + +transform/pos = Vector2( 320, 200 ) +texture = ExtResource( 4 ) + +[node name="ball" type="Sprite" parent="."] + +transform/pos = Vector2( 320.283, 188 ) +texture = ExtResource( 5 ) + + diff --git a/demos/2d/pong/pong.xml b/demos/2d/pong/pong.xml deleted file mode 100644 index 2189be7c620..00000000000 --- a/demos/2d/pong/pong.xml +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - - - - - "conn_count" - 0 - "conns" - - "editable_instances" - - - "names" - - "game" - "script/script" - "__meta__" - "Node2D" - "left" - "transform/pos" - "texture" - "Sprite" - "right" - "separator" - "ball" - - "node_count" - 5 - "node_paths" - - - "nodes" - -1, -1, 3, 0, -1, 2, 1, 0, 2, 1, 0, 0, 0, 7, 4, -1, 2, 5, 2, 6, 3, 0, 0, 0, 7, 8, -1, 2, 5, 4, 6, 5, 0, 0, 0, 7, 9, -1, 2, 5, 6, 6, 7, 0, 0, 0, 7, 10, -1, 2, 5, 8, 6, 9, 0 - "variants" - - - - "__editor_plugin_screen__" - "Script" - "__editor_plugin_states__" - - "2D" - - "ofs" - -54.59, -36.0052 - "snap_grid" - False - "snap_offset" - 0, 0 - "snap_pixel" - False - "snap_relative" - False - "snap_rotation" - False - "snap_rotation_offset" - 0 - "snap_rotation_step" - 0.261799 - "snap_show_grid" - False - "snap_step" - 10, 10 - "zoom" - 1.108033 - - "3D" - - "ambient_light_color" - 0.15, 0.15, 0.15, 1 - "default_light" - True - "default_srgb" - False - "deflight_rot_x" - 0.942478 - "deflight_rot_y" - 0.628319 - "fov" - 45 - "show_grid" - True - "show_origin" - True - "viewport_mode" - 1 - "viewports" - - - "distance" - 4 - "listener" - True - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "zfar" - 500 - "znear" - 0.1 - - "Anim" - - "visible" - False - - - "__editor_run_settings__" - - "custom_args" - "-l $scene" - "run_mode" - 0 - - - 67.6875, 183.208 - - 577, 187 - - 320, 200 - - 320.283, 188 - - - "version" - 2 - - - - \ No newline at end of file diff --git a/demos/2d/rubegoldberg/ball.tscn b/demos/2d/rubegoldberg/ball.tscn new file mode 100644 index 00000000000..0b11461c3b6 --- /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 73b699514c4..00000000000 --- a/demos/2d/rubegoldberg/ball.xml +++ /dev/null @@ -1,215 +0,0 @@ - - - - - 0 - 32 - - - - - "conn_count" - 0 - "conns" - - "editable_instances" - - - "names" - - "Ball" - "input/pickable" - "shapes/0/shape" - "shapes/0/transform" - "shapes/0/trigger" - "collision/layers" - "collision/mask" - "mode" - "mass" - "friction" - "bounce" - "gravity_scale" - "custom_integrator" - "continuous_cd" - "contacts_reported" - "contact_monitor" - "sleeping" - "can_sleep" - "velocity/linear" - "velocity/angular" - "damp_override/linear" - "damp_override/angular" - "__meta__" - "RigidBody2D" - "Sprite" - "texture" - "CollisionShape2D" - "shape" - "trigger" - "_update_shape_index" - - "node_count" - 3 - "node_paths" - - - "nodes" - -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 - "variants" - - False - - 1, 0, 0, 1, 0, 0 - 1 - 0 - 3 - 1 - 0 - True - 0, 0 - -1 - - "__editor_plugin_screen__" - "2D" - "__editor_plugin_states__" - - "2D" - - "ofs" - -80.5995, -149.825 - "snap_grid" - False - "snap_offset" - 0, 0 - "snap_pixel" - False - "snap_relative" - False - "snap_rotation" - False - "snap_rotation_offset" - 0 - "snap_rotation_step" - 0.261799 - "snap_show_grid" - False - "snap_step" - 10, 10 - "zoom" - 1.50734 - - "3D" - - "ambient_light_color" - 0.15, 0.15, 0.15, 1 - "default_light" - True - "default_srgb" - False - "deflight_rot_x" - 0.942478 - "deflight_rot_y" - 0.628319 - "fov" - 45 - "show_grid" - True - "show_origin" - True - "viewport_mode" - 1 - "viewports" - - - "distance" - 4 - "listener" - True - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "zfar" - 500 - "znear" - 0.1 - - "Anim" - - "visible" - False - - - "__editor_run_settings__" - - "custom_args" - "-l $scene" - "run_mode" - 0 - - - - -1 - - "version" - 2 - - - - \ 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 00000000000..f9f0455c1ff --- /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 c30d30e9f9d..00000000000 --- a/demos/2d/rubegoldberg/box.xml +++ /dev/null @@ -1,214 +0,0 @@ - - - - - 0 - 32, 32 - - - - - "conn_count" - 0 - "conns" - - "editable_instances" - - - "names" - - "box" - "input/pickable" - "shapes/0/shape" - "shapes/0/transform" - "shapes/0/trigger" - "collision/layers" - "collision/mask" - "mode" - "mass" - "friction" - "bounce" - "gravity_scale" - "custom_integrator" - "continuous_cd" - "contacts_reported" - "contact_monitor" - "sleeping" - "can_sleep" - "velocity/linear" - "velocity/angular" - "damp_override/linear" - "damp_override/angular" - "__meta__" - "RigidBody2D" - "Sprite" - "texture" - "CollisionShape2D" - "shape" - "trigger" - "_update_shape_index" - - "node_count" - 3 - "node_paths" - - - "nodes" - -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 - "variants" - - False - - 1, 0, 0, 1, 0, 0 - 1 - 0 - 1 - 0 - True - 0, 0 - -1 - - "__editor_plugin_screen__" - "2D" - "__editor_plugin_states__" - - "2D" - - "ofs" - -125, -163 - "snap_grid" - False - "snap_offset" - 0, 0 - "snap_pixel" - False - "snap_relative" - False - "snap_rotation" - False - "snap_rotation_offset" - 0 - "snap_rotation_step" - 0.261799 - "snap_show_grid" - False - "snap_step" - 10, 10 - "zoom" - 1 - - "3D" - - "ambient_light_color" - 0.15, 0.15, 0.15, 1 - "default_light" - True - "default_srgb" - False - "deflight_rot_x" - 0.942478 - "deflight_rot_y" - 0.628319 - "fov" - 45 - "show_grid" - True - "show_origin" - True - "viewport_mode" - 1 - "viewports" - - - "distance" - 4 - "listener" - True - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "zfar" - 500 - "znear" - 0.1 - - "Anim" - - "visible" - False - - - "__editor_run_settings__" - - "custom_args" - "-l $scene" - "run_mode" - 0 - - - - -1 - - "version" - 2 - - - - \ 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 00000000000..3b2dc134dc5 --- /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 ec86c833df2..00000000000 --- a/demos/2d/rubegoldberg/domino.xml +++ /dev/null @@ -1,215 +0,0 @@ - - - - - 0 - 16, 64 - - - - - "conn_count" - 0 - "conns" - - "editable_instances" - - - "names" - - "domino" - "input/pickable" - "shapes/0/shape" - "shapes/0/transform" - "shapes/0/trigger" - "collision/layers" - "collision/mask" - "mode" - "mass" - "friction" - "bounce" - "gravity_scale" - "custom_integrator" - "continuous_cd" - "contacts_reported" - "contact_monitor" - "sleeping" - "can_sleep" - "velocity/linear" - "velocity/angular" - "damp_override/linear" - "damp_override/angular" - "__meta__" - "RigidBody2D" - "Sprite" - "texture" - "CollisionShape2D" - "shape" - "trigger" - "_update_shape_index" - - "node_count" - 3 - "node_paths" - - - "nodes" - -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 - "variants" - - False - - 1, 0, 0, 1, 0, 0 - 1 - 0 - 1 - 0.5 - 0 - True - 0, 0 - -1 - - "__editor_plugin_screen__" - "2D" - "__editor_plugin_states__" - - "2D" - - "ofs" - -135, -114 - "snap_grid" - False - "snap_offset" - 0, 0 - "snap_pixel" - False - "snap_relative" - False - "snap_rotation" - False - "snap_rotation_offset" - 0 - "snap_rotation_step" - 0.261799 - "snap_show_grid" - False - "snap_step" - 10, 10 - "zoom" - 1 - - "3D" - - "ambient_light_color" - 0.15, 0.15, 0.15, 1 - "default_light" - True - "default_srgb" - False - "deflight_rot_x" - 0.942478 - "deflight_rot_y" - 0.628319 - "fov" - 45 - "show_grid" - True - "show_origin" - True - "viewport_mode" - 1 - "viewports" - - - "distance" - 4 - "listener" - True - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "zfar" - 500 - "znear" - 0.1 - - "Anim" - - "visible" - False - - - "__editor_run_settings__" - - "custom_args" - "-l $scene" - "run_mode" - 0 - - - - -1 - - "version" - 2 - - - - \ No newline at end of file diff --git a/demos/2d/rubegoldberg/engine.cfg b/demos/2d/rubegoldberg/engine.cfg index bd1cc79ddba..1f746c136d5 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 00000000000..b9e1bcd1f99 --- /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 90ad45f2873..00000000000 --- a/demos/2d/rubegoldberg/pendulum.xml +++ /dev/null @@ -1,269 +0,0 @@ - - - - - - 0 - 3, 12 - - - - 0 - 16 - - - - - "conn_count" - 0 - "conns" - - "editable_instances" - - - "names" - - "pendulum" - "__meta__" - "Node2D" - "union_0" - "input/pickable" - "shapes/0/shape" - "shapes/0/transform" - "shapes/0/trigger" - "collision/layers" - "collision/mask" - "mode" - "mass" - "friction" - "bounce" - "gravity_scale" - "custom_integrator" - "continuous_cd" - "contacts_reported" - "contact_monitor" - "sleeping" - "can_sleep" - "velocity/linear" - "velocity/angular" - "damp_override/linear" - "damp_override/angular" - "RigidBody2D" - "Sprite" - "transform/scale" - "texture" - "collision" - "shape" - "trigger" - "_update_shape_index" - "CollisionShape2D" - "union_ 2" - "transform/pos" - "union_ 3" - "union_ 4" - "joint1" - "node_a" - "node_b" - "bias/bias" - "softness" - "PinJoint2D" - "joint 2_3" - "joint 3_4" - "ball" - "joint 4_ball" - "joint wall" - - "node_count" - 21 - "node_paths" - - - "nodes" - -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 - "variants" - - - "__editor_plugin_screen__" - "2D" - "__editor_plugin_states__" - - "2D" - - "ofs" - -121.028, 0.923909 - "snap_grid" - False - "snap_offset" - 0, 0 - "snap_pixel" - False - "snap_relative" - False - "snap_rotation" - False - "snap_rotation_offset" - 0 - "snap_rotation_step" - 0.261799 - "snap_show_grid" - False - "snap_step" - 10, 10 - "zoom" - 2.78951 - - "3D" - - "ambient_light_color" - 0.15, 0.15, 0.15, 1 - "default_light" - True - "default_srgb" - False - "deflight_rot_x" - 0.942478 - "deflight_rot_y" - 0.628319 - "fov" - 45 - "show_grid" - True - "show_origin" - True - "viewport_mode" - 1 - "viewports" - - - "distance" - 4 - "listener" - True - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "zfar" - 500 - "znear" - 0.1 - - "Anim" - - "visible" - False - - - "__editor_run_settings__" - - "custom_args" - "-l $scene" - "run_mode" - 0 - - - False - - 1, 0, 0, 1, 0, 0 - 1 - 0 - 0.2 - 1 - 0 - True - 0, 0 - -1 - - "_edit_group_" - True - - 0.1, 0.4 - - -1 - 0, 26.9432 - 1, -0, 0, 1, 0, 0 - - "_edit_group_" - True - - 0, 53.8863 - 0, 81.4282 - 0, 13.771 - "../union_0" - "../union_ 2" - 0, 40.7141 - "../union_ 3" - 0, 67.6573 - "../union_ 4" - 0, 106.787 - 0.98476, 1 - - 0.5, 0.5 - - 0, 92.5287 - "../ball" - 0, -12.1024 - "" - - "version" - 2 - - - - \ 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 00000000000..70584ca75ce --- /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 09cd0fdda6e..00000000000 --- a/demos/2d/rubegoldberg/platform.xml +++ /dev/null @@ -1,200 +0,0 @@ - - - - - 0 - 128, 16 - - - - - "conn_count" - 0 - "conns" - - "editable_instances" - - - "names" - - "platform" - "input/pickable" - "shapes/0/shape" - "shapes/0/transform" - "shapes/0/trigger" - "collision/layers" - "collision/mask" - "constant_linear_velocity" - "constant_angular_velocity" - "friction" - "bounce" - "__meta__" - "StaticBody2D" - "Sprite" - "texture" - "CollisionShape2D" - "shape" - "trigger" - "_update_shape_index" - - "node_count" - 3 - "node_paths" - - - "nodes" - -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 - "variants" - - False - - 1, 0, 0, 1, 0, 0 - 1 - 0, 0 - 0 - 1 - - "__editor_plugin_screen__" - "2D" - "__editor_plugin_states__" - - "2D" - - "ofs" - -135, -114 - "snap_grid" - False - "snap_offset" - 0, 0 - "snap_pixel" - False - "snap_relative" - False - "snap_rotation" - False - "snap_rotation_offset" - 0 - "snap_rotation_step" - 0.261799 - "snap_show_grid" - False - "snap_step" - 10, 10 - "zoom" - 1 - - "3D" - - "ambient_light_color" - 0.15, 0.15, 0.15, 1 - "default_light" - True - "default_srgb" - False - "deflight_rot_x" - 0.942478 - "deflight_rot_y" - 0.628319 - "fov" - 45 - "show_grid" - True - "show_origin" - True - "viewport_mode" - 1 - "viewports" - - - "distance" - 4 - "listener" - True - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "zfar" - 500 - "znear" - 0.1 - - "Anim" - - "visible" - False - - - "__editor_run_settings__" - - "custom_args" - "-l $scene" - "run_mode" - 0 - - - - -1 - - "version" - 2 - - - - \ 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 00000000000..995901d4ae7 --- /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 490b0f9d34c..00000000000 --- a/demos/2d/rubegoldberg/rubegoldberg.xml +++ /dev/null @@ -1,241 +0,0 @@ - - - - - - - - - - - "conn_count" - 0 - "conns" - - "editable_instances" - - - "names" - - "Node" - "__meta__" - "platform" - "transform/pos" - "transform/rot" - "input/pickable" - "collision/layers" - "collision/mask" - "platform 2" - "platform 3" - "Ball" - "gravity_scale" - "sleeping" - "damp_override/linear" - "damp_override/angular" - "domino" - "domino 2" - "domino 4" - "platform 4" - "platform 5" - "transform/scale" - "Ball 2" - "platform 6" - "platform 7" - "platform 8" - "SeeSaw" - "box" - "pendulum" - "pendulum 2" - "pendulum 3" - "pendulum 4" - "Ball 5" - "velocity/linear" - - "node_count" - 21 - "node_paths" - - - "nodes" - -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 - "variants" - - - "__editor_plugin_screen__" - "2D" - "__editor_plugin_states__" - - "2D" - - "ofs" - -717.096, -249.162 - "snap_grid" - False - "snap_offset" - 0, 0 - "snap_pixel" - False - "snap_relative" - False - "snap_rotation" - False - "snap_rotation_offset" - 0 - "snap_rotation_step" - 0.261799 - "snap_show_grid" - False - "snap_step" - 10, 10 - "zoom" - 0.598737 - - "3D" - - "ambient_light_color" - 0.15, 0.15, 0.15, 1 - "default_light" - True - "default_srgb" - False - "deflight_rot_x" - 0.942478 - "deflight_rot_y" - 0.628319 - "fov" - 45 - "show_grid" - True - "show_origin" - True - "viewport_mode" - 1 - "viewports" - - - "distance" - 4 - "listener" - True - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "zfar" - 500 - "znear" - 0.1 - - "Anim" - - "visible" - False - - - "__editor_run_settings__" - - "custom_args" - "-l $scene" - "run_mode" - 0 - - - - 116.881, 145.589 - -20.87962 - False - 1 - 336.29, 264.52 - 526.99, 264.52 - - 76.0801, 67.2141 - 1 - -1 - - 262.764, 182.008 - 356.951, 182.008 - 448.834, 179.291 - 772.686, 345.917 - 76.771606 - 640.041, 335.365 - 90 - 0.5, 1 - 616.342, 214.247 - 679.231, 588.598 - 424.491, 588.598 - 185.655, 588.598 - - 602.935, 554.501 - - 476.002, 509.406 - 21.737282 - - 391.607, 305.444 - 343.172, 303.774 - 288.056, 303.774 - 236.28, 303.774 - 116.165, 526.515 - 0, -200 - - "version" - 2 - - - - \ 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 00000000000..3b915d3e7ff --- /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 281e4e7c0d2..00000000000 --- a/demos/2d/rubegoldberg/seesaw.xml +++ /dev/null @@ -1,243 +0,0 @@ - - - - - - 0 - -32.6231, 32.0838, -1.28218, -31.1383, -1.28218, -31.1383, 33.8412, 33.1645, 33.8412, 33.1645, -32.6231, 32.0838 - - - - 0 - -99.0874, 7.76759, -125.025, -8.98358, 125.162, -8.44321, 99.2248, 7.22723 - - - - - "conn_count" - 0 - "conns" - - "editable_instances" - - - "names" - - "SeeSaw" - "__meta__" - "Node2D" - "Sprite" - "texture" - "StaticBody2D" - "input/pickable" - "shapes/0/shape" - "shapes/0/transform" - "shapes/0/trigger" - "collision/layers" - "collision/mask" - "constant_linear_velocity" - "constant_angular_velocity" - "friction" - "bounce" - "CollisionPolygon2D" - "build_mode" - "polygon" - "shape_range" - "trigger" - "RigidBody2D" - "transform/pos" - "transform/rot" - "mode" - "mass" - "gravity_scale" - "custom_integrator" - "continuous_cd" - "contacts_reported" - "contact_monitor" - "sleeping" - "can_sleep" - "velocity/linear" - "velocity/angular" - "damp_override/linear" - "damp_override/angular" - "transform/scale" - "PinJoint2D" - "node_a" - "node_b" - "bias/bias" - "softness" - - "node_count" - 8 - "node_paths" - - - "nodes" - -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 - "variants" - - - "__editor_plugin_screen__" - "2D" - "__editor_plugin_states__" - - "2D" - - "ofs" - -277.779, -292.484 - "snap_grid" - False - "snap_offset" - 0, 0 - "snap_pixel" - False - "snap_relative" - False - "snap_rotation" - False - "snap_rotation_offset" - 0 - "snap_rotation_step" - 0.261799 - "snap_show_grid" - False - "snap_step" - 10, 10 - "zoom" - 1.670183 - - "3D" - - "ambient_light_color" - 0.15, 0.15, 0.15, 1 - "default_light" - True - "default_srgb" - False - "deflight_rot_x" - 0.942478 - "deflight_rot_y" - 0.628319 - "fov" - 45 - "show_grid" - True - "show_origin" - True - "viewport_mode" - 1 - "viewports" - - - "distance" - 4 - "listener" - True - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "zfar" - 500 - "znear" - 0.1 - - "Anim" - - "visible" - False - - - "__editor_run_settings__" - - "custom_args" - "-l $scene" - "run_mode" - 0 - - - - False - - 1, 0, 0, 1, 0, 0 - 1 - 0, 0 - 0 - 1 - 0 - -32.6231, 32.0838, -1.28218, -31.1383, 33.8412, 33.1645 - -1, -1 - 1.19748, -29.9368 - 16.223282 - - True - -1 - 1, 0.5 - - -125.025, -8.98358, 125.162, -8.44321, 99.2248, 7.22723, -99.0874, 7.76759 - 0, -31.1343 - "../RigidBody2D" - "../Sprite/StaticBody2D" - - "version" - 2 - - - - \ No newline at end of file diff --git a/demos/2d/screen_space_shaders/engine.cfg b/demos/2d/screen_space_shaders/engine.cfg index f7caa7abbc2..9a74e7b7bd3 100644 --- a/demos/2d/screen_space_shaders/engine.cfg +++ b/demos/2d/screen_space_shaders/engine.cfg @@ -1,7 +1,7 @@ [application] name="Screen-Space Shaders" -main_scene="res://screen_shaders.scn" +main_scene="res://screen_shaders.tscn" icon="res://icon.png" [display] diff --git a/demos/2d/screen_space_shaders/screen_shaders.scn b/demos/2d/screen_space_shaders/screen_shaders.scn deleted file mode 100644 index 00c7fe8eba02c8d08ace1991d680ff5c96d8ddb8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7897 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 b>-5HYWr+p3uu diff --git a/demos/2d/sdf_font/sdf.tscn b/demos/2d/sdf_font/sdf.tscn new file mode 100644 index 00000000000..a3305c2edc8 --- /dev/null +++ b/demos/2d/sdf_font/sdf.tscn @@ -0,0 +1,74 @@ +[gd_scene load_steps=4 format=1] + +[ext_resource path="res://font.fnt" type="Font" id=1] + +[sub_resource type="Animation" id=1] + +resource/name = "zoomin_zoomout" +length = 10.0 +loop = true +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath("base:transform/scale") +tracks/0/interp = 1 +tracks/0/keys = { "cont":true, "times":FloatArray( 0, 5 ), "transitions":FloatArray( -2, -2 ), "values":[ Vector2( 0.5, 0.5 ), Vector2( 20, 20 ) ] } + +[sub_resource type="Animation" id=2] + +length = 15.0 +loop = true +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath("base:transform/rot") +tracks/0/interp = 1 +tracks/0/keys = { "cont":true, "times":FloatArray( 0, 15 ), "transitions":FloatArray( 1, 1 ), "values":[ 0.0, -360.0 ] } + +[node name="node" type="Node2D"] + +[node name="base" type="Position2D" parent="."] + +transform/pos = Vector2( 376.532, 275.119 ) +transform/scale = Vector2( 0.5, 0.5 ) + +[node name="Label" type="Label" parent="base"] + +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +margin/left = -132.0 +margin/top = -34.0 +margin/right = 124.0 +margin/bottom = 64.0 +custom_fonts/font = ExtResource( 1 ) +custom_colors/font_color = Color( 0.853858, 0.771714, 0.753746, 1 ) +custom_colors/font_color_shadow = Color( 0.56592, 0.454525, 0.518426, 1 ) +text = "Signed Distance\nField Font!!" +align = 1 +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 + +[node name="zoom" type="AnimationPlayer" parent="."] + +playback/process_mode = 1 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/zoomin_zoomout = SubResource( 1 ) +playback/active = true +playback/speed = 1.0 +blend_times = [ ] +autoplay = "zoomin_zoomout" + +[node name="rotate" type="AnimationPlayer" parent="."] + +playback/process_mode = 1 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/rotate = SubResource( 2 ) +anims/zoomin_zoomout = SubResource( 1 ) +playback/active = true +playback/speed = 1.0 +blend_times = [ ] +autoplay = "rotate" + + diff --git a/demos/2d/shower_of_bullets/engine.cfg b/demos/2d/shower_of_bullets/engine.cfg index cad5751985a..8db2ae90065 100644 --- a/demos/2d/shower_of_bullets/engine.cfg +++ b/demos/2d/shower_of_bullets/engine.cfg @@ -1,7 +1,7 @@ [application] name="Bullet Shower" -main_scene="res://shower.scn" +main_scene="res://shower.tscn" icon="res://icon.png" [display] diff --git a/demos/2d/shower_of_bullets/shower.scn b/demos/2d/shower_of_bullets/shower.scn deleted file mode 100644 index 9e2181e9c6f6df9a25901e6cd4c2a4b77ed00a84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1909 zcmWkvX>b(B6@D|bmsY2B-|E$cTms#N9AVI#-Iau#2xA?w9YUsOXJ=Ov&CV<{vqAz~ zTG?E7MYsaKh)KMVU>wJ|Ob&305LQya32{>KkxB(Sslk;3JBN>oNhPi_&d~o}cfap_ z@9S4zk57a`aC;R2SOoyvy#NeAngKTLVSphVLL(FsY`WRUYok=+B}Ase88 za0P~J>M28#J2f#OLkYQ~L`s>Ko)Ao3os|tCqKGDVNx9n)qe{x8y&h9Cl%&;}_Rv}; zW{{1n2{~jQiZmleRGAioi8ooZ zvn!A#x5OEmgT+3}5H&NV8wv5(He1dr@i@5;-}1)|aaOVBg;`mmbD2U~ldCG4EE+;o zOeBH7%Oz^@l$tHVs~m60VjzirFvZEpy*8xC`yi5&SbyR%Ty^uBk`S$??sPZ*51*u~ zs$wd-CI;y#`mO8>P)a`Igj6z0)`LLn+=8M-wQ8*kIoCS zW)VLfpnbNl6lzeky?yMQVr66pz_V>fcacK57kD5BO_8vIf4KP%561P?e_K3oe`#Ouf{ zM-@vq0v=B)u4sa31?~p3aoXnEa4mm`mae=(Ukxk;DgM-{+J@T$|HMID#bWg4n3|Xr zlFFQ{+OBn>f75El(8+w@Dp_RYq;!Bg?BBl$HzLRF()9!_<@kmGVo|Vw_R|i`=Ku(g z9M<7YTE`l)N~U1eb|1%ew2q4#O4N2Og`cNYHY~aISj?0yy33*P_24nu96Dp?ghK0R zeP#d?S-?%<2&>0TTH!tX{P~q5`iT{+u$iA6&#_%c`6=jKoI;9S&h$)qqjF4D;?oxP zF~U6E#_jnt8N~YABx9oCkOcTFghjZAjp?)0>x6wlEWwOtR*`omb>l=Iw(u82-^M_2 ziis+X)vPATw3c;jLfjYr4b0*0Oj)`E%V6I2m0`H)0$8nIfI+XWY!3CYDN}CRv3m<-gEQ#5}VXbvE1gselY9Y$k?A}?JHUS-Oy93b&QZ` zS(P4JIgfQskGRB?Y6;T8$j`HN!;f=fBBC_Dk*;ew!>IcHQ`~osR&C01x4B6_4n6ue z_hfd|d8R7R*Bk+5Z*{gNq`|I{Maj?o?)BF<;<=H7*`u6k#3S?>r)+I#oYc}Yp%)lo zj&5KFhIh~d!(G>*k}*;(N8GYyDO&t;#n6X1j8DFpO7SO zCOsJLb{^taLGbHEn8Gii z<7c^9z;-8S$2HE-t#QN+ehqhE)5r|YWBBPSimh2Yz`Fw%}Yp`0|Jcb? zeg~ssbaLo)wh)JK$L6E=T)gwr{@n-PbR4vc0{ZYTerr0Fh-jjsLIbIQ>xA<>x^>G) zzP}o4UHPM%!{emb?UaNzAI7-lmu7xR@)}N$hWW_{_WkRv?t+KAV4vt}9DDZ@*V+%& z+T-4v&4+&9u(qJ}D?JKvuYJ3wuk^?!^3k^QzqmM7IDUoxHu!0Jp}PT=nCbHcU9Zgz z-#s_BrAj^b&cZ8G1jPhmy?}`xBdN@7WtoQ-xC>i)#Mp U(3bGaLHaPj_{4Z<-1%_-50NxoGXMYp diff --git a/demos/2d/shower_of_bullets/shower.tscn b/demos/2d/shower_of_bullets/shower.tscn new file mode 100644 index 00000000000..9df555f96a1 --- /dev/null +++ b/demos/2d/shower_of_bullets/shower.tscn @@ -0,0 +1,51 @@ +[gd_scene load_steps=7 format=1] + +[ext_resource path="res://shower.gd" type="Script" id=1] +[ext_resource path="res://bullets.gd" type="Script" id=2] +[ext_resource path="res://face_happy.png" type="Texture" id=3] +[ext_resource path="res://face_sad.png" type="Texture" id=4] + +[sub_resource type="CircleShape2D" id=1] + +custom_solver_bias = 0.0 +radius = 14.0 + +[sub_resource type="SpriteFrames" id=2] + +frames = [ ExtResource( 3 ), ExtResource( 4 ) ] + +[node name="shower" type="Node2D"] + +script/script = ExtResource( 1 ) + +[node name="bullets" type="Node2D" parent="."] + +script/script = ExtResource( 2 ) + +[node name="player" type="Area2D" parent="."] + +input/pickable = true +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +gravity_vec = Vector2( 0, 1 ) +gravity = 98.0 +linear_damp = 0.1 +angular_damp = 1.0 + +[node name="sprite" type="AnimatedSprite" parent="player"] + +transform/scale = Vector2( 0.5, 0.5 ) +frames = SubResource( 2 ) + +[node name="collision" type="CollisionShape2D" parent="player"] + +shape = SubResource( 1 ) +trigger = false +_update_shape_index = -1 + +[connection signal="body_enter_shape" from="player" to="." method="_on_player_body_enter_shape"] + +[connection signal="body_exit_shape" from="player" to="." method="_on_player_body_exit_shape"] + + diff --git a/demos/2d/space_shooter/asteroid.scn b/demos/2d/space_shooter/asteroid.scn deleted file mode 100644 index 6bca98cd30d2b6a6134396c662256bf05c981a77..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3548 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 V86Hi2H$iWK?PJ@M+u1)!{|}@(7XSbN diff --git a/demos/2d/space_shooter/enemy1.tscn b/demos/2d/space_shooter/enemy1.tscn new file mode 100644 index 00000000000..5fd44353823 --- /dev/null +++ b/demos/2d/space_shooter/enemy1.tscn @@ -0,0 +1,108 @@ +[gd_scene load_steps=9 format=1] + +[ext_resource path="res://enemy1.gd" type="Script" id=1] +[ext_resource path="res://enemy1.png" type="Texture" id=2] +[ext_resource path="res://explosion.tscn" type="PackedScene" id=3] +[ext_resource path="res://sound_explode.wav" type="Sample" id=4] + +[sub_resource type="ConvexPolygonShape2D" id=1] + +custom_solver_bias = 0.0 +points = Vector2Array( -25.3272, 15.4072, -31.2711, -7.28794, -1.01097, -20.7969, 24.9263, -4.58614, 30.3299, 13.2457, -2.63205, 17.5686 ) + +[sub_resource type="Animation" id=2] + +length = 1.0 +loop = false +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath("sprite:visibility/visible") +tracks/0/interp = 1 +tracks/0/keys = { "cont":false, "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "values":[ false ] } +tracks/1/type = "value" +tracks/1/path = NodePath("explosion:config/emitting") +tracks/1/interp = 1 +tracks/1/keys = { "cont":false, "times":FloatArray( 0, 0.1 ), "transitions":FloatArray( 1, 1 ), "values":[ true, false ] } +tracks/2/type = "method" +tracks/2/path = NodePath("..") +tracks/2/interp = 1 +tracks/2/keys = { "times":FloatArray( 0.9 ), "transitions":FloatArray( 1 ), "values":[ { "args":[ ], "method":"queue_free" } ] } + +[sub_resource type="Animation" id=3] + +length = 2.0 +loop = true +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath(".:transform/pos") +tracks/0/interp = 1 +tracks/0/keys = { "cont":true, "times":FloatArray( 0, 1 ), "transitions":FloatArray( -1.86607, -1.86607 ), "values":[ Vector2( 0, -100 ), Vector2( 0, 100 ) ] } + +[sub_resource type="SampleLibrary" id=4] + +samples/sound_explode = { "db":0.0, "pitch":1.0, "sample":ExtResource( 4 ) } + +[node name="enemy1" type="Node2D"] + +[node name="area" type="Area2D" parent="."] + +transform/pos = Vector2( 0, -100 ) +input/pickable = true +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +gravity_vec = Vector2( 0, 1 ) +gravity = 98.0 +linear_damp = 0.1 +angular_damp = 1.0 +script/script = ExtResource( 1 ) + +[node name="collision" type="CollisionPolygon2D" parent="area"] + +build_mode = 0 +polygon = Vector2Array( -31.2711, -7.28794, -1.01097, -20.7969, 24.9263, -4.58614, 30.3299, 13.2457, -2.63205, 17.5686, -25.3272, 15.4072 ) +shape_range = Vector2( -1, -1 ) +trigger = false + +[node name="sprite" type="Sprite" parent="area"] + +texture = ExtResource( 2 ) + +[node name="explosion" parent="area" instance=ExtResource( 3 )] + +transform/rot = -91.1436 +config/explosiveness = 0.1 +params/gravity_strength = 9.8 + +[node name="anim" type="AnimationPlayer" parent="area"] + +playback/process_mode = 1 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/explode = SubResource( 2 ) +anims/zigzag = SubResource( 3 ) +playback/active = true +playback/speed = 1.0 +blend_times = [ ] +autoplay = "" + +[node name="visibility" type="VisibilityNotifier2D" parent="area"] + +rect = Rect2( -10, -10, 20, 20 ) + +[node name="sfx" type="SamplePlayer2D" parent="area"] + +params/volume_db = 0.0 +params/pitch_scale = 1.0 +params/attenuation/min_distance = 1.0 +params/attenuation/max_distance = 2048.0 +params/attenuation/distance_exp = 1.0 +config/polyphony = 1 +config/samples = SubResource( 4 ) +config/pitch_random = 0.0 + +[connection signal="enter_screen" from="area/visibility" to="area" method="_on_visibility_enter_screen"] + +[connection signal="exit_screen" from="area/visibility" to="area" method="_on_visibility_exit_screen"] + + diff --git a/demos/2d/space_shooter/enemy2.gd b/demos/2d/space_shooter/enemy2.gd index bfdb743103a..cd06579d745 100644 --- a/demos/2d/space_shooter/enemy2.gd +++ b/demos/2d/space_shooter/enemy2.gd @@ -17,7 +17,7 @@ func _process(delta): shoot_timeout = SHOOT_INTERVAL # Instance a shot - var shot = preload("res://enemy_shot.scn").instance() + var shot = preload("res://enemy_shot.tscn").instance() # Set pos as "shoot_from" Position2D node shot.set_pos(get_node("shoot_from").get_global_pos()) # Add it to parent, so it has world coordinates diff --git a/demos/2d/space_shooter/enemy2.scn b/demos/2d/space_shooter/enemy2.scn deleted file mode 100644 index 644add77aa105eb6eb3f284757a91c4f1255d056..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3253 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 NZc*o=z#{sGu2e#cgNmkrUP=q> zc7Ph%34{`^wN+ZdK`te^L#id3@u+MLK>-~qFJUiCDRNVYTWWBGo>1b9uAudtwGBX)T6qQ%yC8)En*Ep2JIqIU5`sy#I%&S z)WcbZt1;8`wt215c=BEw3c0vUZ@~AN>Onb5eS8PJ`NV3Ql#HnYU2W6)W+z)`&ca+fgCv({37Q&{EmhY7M3{xU(fP#JkVl)74|2&a-|<}z z4)Q6%GV#k0sbUIDo4=HN13mbpWDpZ-A-NKD46?C+jktri)EI3zN80cOUp>08HzTH4 zLwYDsoIZ>xyb1GJNX}>bETc|5jQKdz&fSkq>;U#-9o}m5yRj1I;Nw_}gqMv-GJS3R zj?^|BFI>#NEukb7F>EM`RAgtI!9hnP9PTQoh;3LSnH*HmLOg=5bOqkQev6@s*0DuC zV{?;p)mv~DfL-_@{*6t#5VxM=?nq8wJMBCdIR=8i4b3Wou z1vcfVT0CKS<7#lF+!OWf1k=By`%5V+pi9|U6j)5cx)BTPv-t@QH4;$_`OhR`$iods zi8!nTgAb+hr7CAs)fCwfL;j8a8qaYq5lt8P-5U-ZKZLJwqUd^qmqk%NO9VraJ(qn23jDOKF%|pUMzbEu@UdZS{90J70MYU%S9J z3A`KUH4!)lGHS^%-ZH(r{K>HsqM; z4XJn)pTkJ1gnq#*awxbxRk&*pH>@-qb^S@YHC0K>xT@J)xxX@1&g({?>2n*}{nJww zyRLv}b8Gw&JF}WMEo0MqVOFXt*N{W192MnYP>I^4qvzYEk8G~WcPQ22yQO!Tke4dr zRIP!>d2`!rBBslUsjgx{k!s_^szzI-Qk$O(L-k!`ST@uRU)cOHkQ+0aKOu?|64ym+ zXH`1ldt~krcNg=efHXi^_<*%<~ssQ8a0xP4e+m#seBX z17hDz=QB?D*I)P7;Lm~7AL%Jgx4SR$niveaSYlOnUrAR=^KGuuzXvP3`{neFwR11` zwBi7E3WqQk`{%6$Xn2%m0sC^fER8`Blfa;&=R1ZoulUe8uN24ds0RVVuer%IwoFvFn3GT%LxkOmuKAGN%Ww_kkiCw|~7NOH= zYI0nRt0NwtOWQYB~TbhN&ZuAO)ppC=FIY@CC$k&soo9+OJQo2Pq_Va_+wG^rKy z0Mr0S1+3{_BGvGQ5~WMrgEld-g*`?Lb&JlDd73{gRoJlgp5IEV*kir_yi`AN3*2sJ z`+Iw(+SE*prGeqf`@9}Dr84KoE51B-@cxI6VVTVx+LdiP4hc)3W9<@@7?5o8+{Qvb zGGyTtP8^k%@oV0rL%&BiSrwKI<{!Yfe&*jAKCBN*PWCv(hsBu699EUvLmcadXe2bzRIU|1rYJJjs}fe>T>MqekL3&_A5$vEmor+TwB8K5_DY4qGuV9& zX0hq#Frvw_AS;PhR(*p>e7kt4VwYs1j!eZ`FK`pXFYCYiTo^+ZA_Lj zxtWo$lU~ns7Ik8-5Mgcotf(O1r^4@8Y0~ej!6x4axXD+5b*veR>A0~{20QRRD5AMI zZS3x^_|7vF`3aQLYP?=(Wc*%6^D#Kq-%G~{-?H9b-_3X@W8yO0&sf%povbo-;+?`$ zTn%-s^Dl+h(d1l^ECYAS2_7c(Od6OpGHGJc%;dVUK`@b7*E1^ulc-Zz2rbOchgPOf zjjcI@`PjyMd|5DIGV}2gw6j+o(7`%a!4zg+f*Y6ym`WYE45l&r8<;+(85F)PoFc3! z*4DLPo-m(v>ZA^sNr|tJ9e0b6=ilp;15t&Mr>QIlQ*J{@&t&KRd6qSlhy^rRjmrIS zmR4lmy=cL_yqrp`cI5T-b`Q`Z4#DMyEDV#E4y=5Uj;njDuUigBC@uI&#gpK_7Ou$3Dc zSBL#`(oe1MCcb)RfwtlA&z^X9VSCTcue+9~UpR2@S1a%MW379`>WaJnaHCN6#XsIZ zdF5&C%Fm=1r%JbM>g^ogf2Fu1>CX*9B{^N5d=;i-rcz6#qU_ diff --git a/demos/2d/space_shooter/enemy_shot.tscn b/demos/2d/space_shooter/enemy_shot.tscn new file mode 100644 index 00000000000..da6ed6f8062 --- /dev/null +++ b/demos/2d/space_shooter/enemy_shot.tscn @@ -0,0 +1,99 @@ +[gd_scene load_steps=6 format=1] + +[ext_resource path="res://enemy_shot.gd" type="Script" id=1] +[ext_resource path="res://enemy_shot.png" type="Texture" id=2] + +[sub_resource type="RectangleShape2D" id=1] + +custom_solver_bias = 0.0 +extents = Vector2( 10, 4 ) + +[sub_resource type="ColorRamp" id=2] + +offsets = FloatArray( 0, 1 ) +colors = ColorArray( 1, 0.0491249, 0.0113636, 1, 1, 1, 1, 0 ) + +[sub_resource type="Animation" id=3] + +length = 1.0 +loop = false +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath("hit_splash:config/emitting") +tracks/0/interp = 1 +tracks/0/keys = { "cont":false, "times":FloatArray( 0, 0.1 ), "transitions":FloatArray( 1, 1 ), "values":[ true, false ] } +tracks/1/type = "method" +tracks/1/path = NodePath(".") +tracks/1/interp = 1 +tracks/1/keys = { "times":FloatArray( 0.9 ), "transitions":FloatArray( 1 ), "values":[ { "args":[ ], "method":"queue_free" } ] } +tracks/2/type = "value" +tracks/2/path = NodePath("sprite:visibility/visible") +tracks/2/interp = 1 +tracks/2/keys = { "cont":false, "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "values":[ false ] } + +[node name="enemy_shot" type="Area2D"] + +input/pickable = true +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +gravity_vec = Vector2( 0, 1 ) +gravity = 98.0 +linear_damp = 0.1 +angular_damp = 1.0 +script/script = ExtResource( 1 ) + +[node name="visibility" type="VisibilityNotifier2D" parent="."] + +transform/pos = Vector2( 1.8353, -0.0742126 ) +transform/scale = Vector2( 1.54149, 0.770745 ) +rect = Rect2( -10, -10, 20, 20 ) + +[node name="sprite" type="Sprite" parent="."] + +texture = ExtResource( 2 ) + +[node name="collision" type="CollisionShape2D" parent="."] + +shape = SubResource( 1 ) +trigger = false +_update_shape_index = -1 + +[node name="hit_splash" type="Particles2D" parent="."] + +config/amount = 32 +config/lifetime = 0.5 +config/emitting = false +config/explosiveness = 0.1 +params/direction = 0.0 +params/spread = 180.0 +params/linear_velocity = 50.0 +params/spin_velocity = 0.0 +params/orbit_velocity = 0.0 +params/gravity_direction = 0.0 +params/gravity_strength = 0.0 +params/radial_accel = 0.0 +params/tangential_accel = 0.0 +params/damping = 0.0 +params/initial_angle = 0.0 +params/initial_size = 3.0 +params/final_size = 3.0 +params/hue_variation = 0.0 +params/anim_speed_scale = 1.0 +params/anim_initial_pos = 0.0 +color/color_ramp = SubResource( 2 ) + +[node name="anim" type="AnimationPlayer" parent="."] + +playback/process_mode = 1 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/splash = SubResource( 3 ) +playback/active = true +playback/speed = 1.0 +blend_times = [ ] +autoplay = "" + +[connection signal="exit_screen" from="visibility" to="." method="_on_visibility_exit_screen"] + + diff --git a/demos/2d/space_shooter/engine.cfg b/demos/2d/space_shooter/engine.cfg index 8047cebdd3b..8563bd8aa96 100644 --- a/demos/2d/space_shooter/engine.cfg +++ b/demos/2d/space_shooter/engine.cfg @@ -1,7 +1,7 @@ [application] name="Simple Shooter" -main_scene="res://main_menu.scn" +main_scene="res://main_menu.tscn" icon="res://icon.png" [autoload] diff --git a/demos/2d/space_shooter/explosion.scn b/demos/2d/space_shooter/explosion.scn deleted file mode 100644 index 6fc105fac3a9b89c3cf03e199d82967f73724d84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1756 zcmWkveQX@X6@R;X=RN!U8QbxP`KQIZh*?d|z&6G4fch_saM?Cs5+x8B>m z?(Ur(W5Oko3Al|)TY{8;k_$?!ilV3#ghanMoPsDyMEgh8La92Dtnf!$Rh5bqP*J-X z>COAio0<1}Z|03=enC~?Zfgd(*Z}a`8UO*HEPz<95kMdk)Dx-x5#3l~nFWK{4E}}9 zd>kN54niZ58eQf&Mb}_)ThB9ykd}y(&3erDKqk?!;aHCA(XkrOaLs}rzw5M?^vYVg zXlE>zp_g%g-hpbgq;v0aR?C!A$sqxe=)h5PE7@gOetgHFhHdT%Cwb-4Oqb^D(&Sx*bXOnq#cuBk>tpu;L?vbXQ#gx zEqY92cFA-dJ3qWZ2ZDs2#7}X6T#^=@oHKlwhx+l=WUaEDOTfQY4dyHS%PRk%s(hlp zaJ^5^@}m>R#^x`vZ|F=&FIv84Jd?gy?VEW*((`F^@DJs_(bzrzr5)163tf}dAe)h^ zxTHS26+T*>OMF7RM8`Epe#}EmwPAIZ8g+1UbQc~L8h{HIB+t#I>3G1}tIm@*>1*mw z1Z{;L6c41nP0yzG-iA)WEsp#Um^u1h$8;4_c)rdkdcKp_bT{YGR=ghCZINMbX&y(^ zJD9u$4+P#iZ`VH+GF-;&(Wj6k|1Eu50sVTfqa2O%3*9uhEbmVKFV`|a_SbUiF#C1 z26oK-9h)B9flZ2!kKy$|059WWoCg;hvFap3>MA;?1^Xk%XNd3UvTv9oDeEpvv zDh)uIt9$Wppa1Dhq`%>Juh73tyneD2@~c0sd4u-|k?7A_gnj4e##wT-5$2{JPF_pU O(*W}e^Xh!?ul*m30HZ(&`(uu(a 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 diff --git a/demos/2d/space_shooter/parallax.tscn b/demos/2d/space_shooter/parallax.tscn new file mode 100644 index 00000000000..0cbd0f5b192 --- /dev/null +++ b/demos/2d/space_shooter/parallax.tscn @@ -0,0 +1,201 @@ +[gd_scene load_steps=4 format=1] + +[ext_resource path="res://bg_gradient.png" type="Texture" id=1] +[ext_resource path="res://small_star.png" type="Texture" id=2] +[ext_resource path="res://big_star.png" type="Texture" id=3] + +[node name="parallax" type="ParallaxBackground"] + +layer = -1 +offset = Vector2( 0, 0 ) +rotation = 0.0 +scale = Vector2( 1, 1 ) +scroll/offset = Vector2( 0, 0 ) +scroll/base_offset = Vector2( 0, 0 ) +scroll/base_scale = Vector2( 1, 1 ) +scroll/limit_begin = Vector2( 0, 0 ) +scroll/limit_end = Vector2( 0, 0 ) +scroll/ignore_camera_zoom = true + +[node name="bg_layer" type="ParallaxLayer" parent="."] + +motion/scale = Vector2( 0.2, 1 ) +motion/mirroring = Vector2( 1024, 0 ) + +[node name="gradient" type="Sprite" parent="bg_layer"] + +transform/scale = Vector2( 128, 1 ) +texture = ExtResource( 1 ) +centered = false + +[node name="Sprite" type="Sprite" parent="bg_layer"] + +transform/pos = Vector2( 73.6643, 65.0701 ) +texture = ExtResource( 2 ) + +[node name="Sprite1" type="Sprite" parent="bg_layer"] + +transform/pos = Vector2( 127.685, 206.26 ) +texture = ExtResource( 2 ) + +[node name="Sprite2" type="Sprite" parent="bg_layer"] + +transform/pos = Vector2( 60.1591, 255.369 ) +texture = ExtResource( 2 ) + +[node name="Sprite3" type="Sprite" parent="bg_layer"] + +transform/pos = Vector2( 252.914, 142.418 ) +texture = ExtResource( 2 ) + +[node name="Sprite4" type="Sprite" parent="bg_layer"] + +transform/pos = Vector2( 241.864, 335.172 ) +texture = ExtResource( 2 ) + +[node name="Sprite5" type="Sprite" parent="bg_layer"] + +transform/pos = Vector2( 127.685, 455.491 ) +texture = ExtResource( 2 ) + +[node name="Sprite6" type="Sprite" parent="bg_layer"] + +transform/pos = Vector2( 289.746, 547.571 ) +texture = ExtResource( 2 ) + +[node name="Sprite7" type="Sprite" parent="bg_layer"] + +transform/pos = Vector2( 56.4759, 559.848 ) +texture = ExtResource( 2 ) + +[node name="Sprite8" type="Sprite" parent="bg_layer"] + +transform/pos = Vector2( 487.412, 166.972 ) +texture = ExtResource( 2 ) + +[node name="Sprite9" type="Sprite" parent="bg_layer"] + +transform/pos = Vector2( 358.499, 77.3474 ) +texture = ExtResource( 2 ) + +[node name="Sprite10" type="Sprite" parent="bg_layer"] + +transform/pos = Vector2( 647.018, 71.2088 ) +texture = ExtResource( 2 ) + +[node name="Sprite11" type="Sprite" parent="bg_layer"] + +transform/pos = Vector2( 592.997, 270.102 ) +texture = ExtResource( 2 ) + +[node name="Sprite12" type="Sprite" parent="bg_layer"] + +transform/pos = Vector2( 868.011, 252.914 ) +texture = ExtResource( 2 ) + +[node name="Sprite13" type="Sprite" parent="bg_layer"] + +transform/pos = Vector2( 869.238, 93.308 ) +texture = ExtResource( 2 ) + +[node name="Sprite14" type="Sprite" parent="bg_layer"] + +transform/pos = Vector2( 965.002, 95.7635 ) +texture = ExtResource( 2 ) + +[node name="Sprite15" type="Sprite" parent="bg_layer"] + +transform/pos = Vector2( 968.685, 559.848 ) +texture = ExtResource( 2 ) + +[node name="Sprite16" type="Sprite" parent="bg_layer"] + +transform/pos = Vector2( 815.218, 470.224 ) +texture = ExtResource( 2 ) + +[node name="Sprite17" type="Sprite" parent="bg_layer"] + +transform/pos = Vector2( 475.134, 530.383 ) +texture = ExtResource( 2 ) + +[node name="Sprite18" type="Sprite" parent="bg_layer"] + +transform/pos = Vector2( 550.026, 421.114 ) +texture = ExtResource( 2 ) + +[node name="Sprite19" type="Sprite" parent="bg_layer"] + +transform/pos = Vector2( 696.127, 574.581 ) +texture = ExtResource( 2 ) + +[node name="Sprite20" type="Sprite" parent="bg_layer"] + +transform/pos = Vector2( 990.784, 423.569 ) +texture = ExtResource( 2 ) + +[node name="bg_layer2" type="ParallaxLayer" parent="."] + +motion/scale = Vector2( 0.5, 1 ) +motion/mirroring = Vector2( 1024, 0 ) + +[node name="Sprite" type="Sprite" parent="bg_layer2"] + +transform/pos = Vector2( 88, 114 ) +texture = ExtResource( 3 ) + +[node name="Sprite1" type="Sprite" parent="bg_layer2"] + +transform/pos = Vector2( 349, 254 ) +texture = ExtResource( 3 ) + +[node name="Sprite2" type="Sprite" parent="bg_layer2"] + +transform/pos = Vector2( 472, 80 ) +texture = ExtResource( 3 ) + +[node name="Sprite3" type="Sprite" parent="bg_layer2"] + +transform/pos = Vector2( 803, 107 ) +texture = ExtResource( 3 ) + +[node name="Sprite4" type="Sprite" parent="bg_layer2"] + +transform/pos = Vector2( 93, 363 ) +texture = ExtResource( 3 ) + +[node name="Sprite5" type="Sprite" parent="bg_layer2"] + +transform/pos = Vector2( 891, 519 ) +texture = ExtResource( 3 ) + +[node name="Sprite6" type="Sprite" parent="bg_layer2"] + +transform/pos = Vector2( 934, 338 ) +texture = ExtResource( 3 ) + +[node name="Sprite7" type="Sprite" parent="bg_layer2"] + +transform/pos = Vector2( 665, 332 ) +texture = ExtResource( 3 ) + +[node name="Sprite8" type="Sprite" parent="bg_layer2"] + +transform/pos = Vector2( 218, 423 ) +texture = ExtResource( 3 ) + +[node name="Sprite9" type="Sprite" parent="bg_layer2"] + +transform/pos = Vector2( 564, 568 ) +texture = ExtResource( 3 ) + +[node name="Sprite10" type="Sprite" parent="bg_layer2"] + +transform/pos = Vector2( 753, 466 ) +texture = ExtResource( 3 ) + +[node name="Sprite11" type="Sprite" parent="bg_layer2"] + +transform/pos = Vector2( 77.9999, 570 ) +texture = ExtResource( 3 ) + + diff --git a/demos/2d/space_shooter/ship.gd b/demos/2d/space_shooter/ship.gd index b6c1200632a..0bc9ca6b13d 100644 --- a/demos/2d/space_shooter/ship.gd +++ b/demos/2d/space_shooter/ship.gd @@ -37,7 +37,7 @@ func _process(delta): if (shooting and not prev_shooting): # Just pressed - var shot = preload("res://shot.scn").instance() + var shot = preload("res://shot.tscn").instance() # Use the Position2D as reference shot.set_pos(get_node("shootfrom").get_global_pos()) # Put it two parents above, so it is not moved by us @@ -78,4 +78,4 @@ func _on_ship_area_enter(area): func _on_back_to_menu_pressed(): - get_tree().change_scene("res://main_menu.scn") + get_tree().change_scene("res://main_menu.tscn") diff --git a/demos/2d/space_shooter/ship.scn b/demos/2d/space_shooter/ship.scn deleted file mode 100644 index c60e2e3e3b41019a1d91e96afa00c38a3befe1aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4965 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 diff --git a/demos/2d/space_shooter/ship.tscn b/demos/2d/space_shooter/ship.tscn new file mode 100644 index 00000000000..be6bf6b82e2 --- /dev/null +++ b/demos/2d/space_shooter/ship.tscn @@ -0,0 +1,229 @@ +[gd_scene load_steps=12 format=1] + +[ext_resource path="res://rail.gd" type="Script" id=1] +[ext_resource path="res://ship.gd" type="Script" id=2] +[ext_resource path="res://ship.png" type="Texture" id=3] +[ext_resource path="res://fire.png" type="Texture" id=4] +[ext_resource path="res://explosion.tscn" type="PackedScene" id=5] +[ext_resource path="res://sound_shoot.wav" type="Sample" id=6] +[ext_resource path="res://sound_explode.wav" type="Sample" id=7] + +[sub_resource type="ConvexPolygonShape2D" id=1] + +custom_solver_bias = 0.0 +points = Vector2Array( 25.9104, 1.3603, -20.5637, 14.8656, -20.5637, -15.3227 ) + +[sub_resource type="ColorRamp" id=2] + +offsets = FloatArray( 0, 0.474062, 0.653631, 1 ) +colors = ColorArray( 0.154794, 0.413313, 0.991004, 1, 0.555474, 0.971578, 0, 1, 0.82934, 0.989088, 0.616085, 0.383915, 1, 1, 1, 0 ) + +[sub_resource type="Animation" id=3] + +length = 1.0 +loop = false +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath("sprite:visibility/visible") +tracks/0/interp = 1 +tracks/0/keys = { "cont":false, "times":FloatArray( 0, 0.1 ), "transitions":FloatArray( 1, 1 ), "values":[ true, false ] } +tracks/1/type = "value" +tracks/1/path = NodePath("thruster:config/emitting") +tracks/1/interp = 1 +tracks/1/keys = { "cont":false, "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "values":[ false ] } +tracks/2/type = "value" +tracks/2/path = NodePath("explosion:config/emitting") +tracks/2/interp = 1 +tracks/2/keys = { "cont":false, "times":FloatArray( 0, 0.1 ), "transitions":FloatArray( 1, 1 ), "values":[ true, false ] } + +[sub_resource type="SampleLibrary" id=4] + +samples/shoot = { "db":0.0, "pitch":1.0, "sample":ExtResource( 6 ) } +samples/sound_explode = { "db":0.0, "pitch":1.0, "sample":ExtResource( 7 ) } + +[node name="rail" type="Node2D"] + +script/script = ExtResource( 1 ) + +[node name="ship" type="Area2D" parent="."] + +transform/pos = Vector2( 253.607, 282.275 ) +input/pickable = true +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +gravity_vec = Vector2( 0, 1 ) +gravity = 98.0 +linear_damp = 0.1 +angular_damp = 1.0 +script/script = ExtResource( 2 ) + +[node name="sprite" type="Sprite" parent="ship"] + +texture = ExtResource( 3 ) + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="ship"] + +build_mode = 0 +polygon = Vector2Array( -20.5637, -15.3227, 25.9104, 1.3603, -20.5637, 14.8656 ) +shape_range = Vector2( -1, -1 ) +trigger = false + +[node name="thruster" type="Particles2D" parent="ship"] + +visibility/blend_mode = 1 +transform/pos = Vector2( -26.528, -0.358481 ) +transform/rot = -91.1436 +config/amount = 32 +config/lifetime = 2.0 +config/time_scale = 5.0 +config/emitting = false +config/local_space = false +config/texture = ExtResource( 4 ) +params/direction = 0.0 +params/spread = 10.0 +params/linear_velocity = 20.0 +params/spin_velocity = 0.0 +params/orbit_velocity = 0.0 +params/gravity_direction = 0.0 +params/gravity_strength = 0.0 +params/radial_accel = 0.0 +params/tangential_accel = 0.0 +params/damping = 0.0 +params/initial_angle = 0.0 +params/initial_size = 1.0 +params/final_size = 1.0 +params/hue_variation = 0.0 +params/anim_speed_scale = 1.0 +params/anim_initial_pos = 0.0 +color/color_ramp = SubResource( 2 ) + +[node name="anim" type="AnimationPlayer" parent="ship"] + +playback/process_mode = 1 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/explode = SubResource( 3 ) +playback/active = true +playback/speed = 1.0 +blend_times = [ ] +autoplay = "" + +[node name="shootfrom" type="Position2D" parent="ship"] + +transform/pos = Vector2( 35.3307, 0.875969 ) + +[node name="explosion" parent="ship" instance=ExtResource( 5 )] + +transform/rot = -91.1436 +config/explosiveness = 0.1 +params/gravity_strength = 9.8 + +[node name="sfx" type="SamplePlayer" parent="ship"] + +config/polyphony = 1 +config/samples = SubResource( 4 ) +default/volume_db = 0.0 +default/pitch_scale = 1.0 +default/pan = 0.0 +default/depth = 0.0 +default/height = 0.0 +default/filter/type = 0 +default/filter/cutoff = 0.0 +default/filter/resonance = 0.0 +default/filter/gain = 0.0 +default/reverb_room = 2 +default/reverb_send = 0.0 +default/chorus_send = 0.0 + +[node name="camera" type="Camera2D" parent="."] + +anchor_mode = 0 +rotating = false +current = true +zoom = Vector2( 1, 1 ) +limit/left = -10000000 +limit/top = -10000000 +limit/right = 10000000 +limit/bottom = 10000000 +drag_margin/h_enabled = true +drag_margin/v_enabled = true +smoothing/enable = false +smoothing/speed = 5.0 +drag_margin/left = 0.2 +drag_margin/top = 0.2 +drag_margin/right = 0.2 +drag_margin/bottom = 0.2 + +[node name="hud" type="CanvasLayer" parent="."] + +layer = 1 +offset = Vector2( 0, 0 ) +rotation = 0.0 +scale = Vector2( 1, 1 ) + +[node name="score" type="Label" parent="hud"] + +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +margin/left = 15.0 +margin/top = 13.0 +margin/right = 66.0 +margin/bottom = 26.0 +text = "SCORE:" +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 + +[node name="score_points" type="Label" parent="hud"] + +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +margin/left = 70.0 +margin/top = 13.0 +margin/right = 121.0 +margin/bottom = 26.0 +text = "0" +align = 1 +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 + +[node name="back_to_menu" type="Button" parent="hud"] + +focus/ignore_mouse = false +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 911.0 +margin/top = 10.0 +margin/right = 1006.0 +margin/bottom = 31.0 +toggle_mode = false +text = "Back to Menu" +flat = false + +[node name="game_over" type="Label" parent="hud"] + +visibility/visible = false +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +margin/left = 482.0 +margin/top = 286.0 +margin/right = 564.0 +margin/bottom = 299.0 +text = "GAME_OVER" +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 + +[connection signal="body_enter" from="ship" to="ship" method="_on_ship_body_enter"] + +[connection signal="area_enter" from="ship" to="ship" method="_on_ship_area_enter"] + +[connection signal="pressed" from="hud/back_to_menu" to="ship" method="_on_back_to_menu_pressed"] + + diff --git a/demos/2d/space_shooter/shot.scn b/demos/2d/space_shooter/shot.scn deleted file mode 100644 index 9daf4ebe82dc9b77490b55313ffe6dfb365588c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3315 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 - - - - - - - - - - - - - - - - - - "scroll" - 1 - True - 0.1 - "value" - ".:rect/pos" - 1 - - "cont" - True - "times" - 0, 1 - "transitions" - 1, 1 - "values" - - 0, 0 - -800, 0 - - - - - - - - - - - - - - - - - - - - "intro" - 3 - False - 0.1 - "value" - "logo:transform/pos" - 1 - - "cont" - True - "times" - 1, 1.5 - "transitions" - 2, 1 - "values" - - 412, -212.981 - 412, 171 - - - "value" - "logo:frame" - 1 - - "cont" - False - "times" - 0, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3 - "transitions" - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 - "values" - - 0 - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - - - "value" - "start:visibility/opacity" - 1 - - "cont" - True - "times" - 2.5, 2.8 - "transitions" - 1, 1 - "values" - - 0 - 1 - - - "value" - "start:visibility/visible" - 1 - - "cont" - False - "times" - 0, 2.5 - "transitions" - 1, 1 - "values" - - False - True - - - "value" - "copyright:visibility/visible" - 1 - - "cont" - False - "times" - 0, 2.5 - "transitions" - 1, 1 - "values" - - False - True - - - "value" - "copyright:visibility/opacity" - 1 - - "cont" - True - "times" - 2.5, 2.8 - "transitions" - 1, 1 - "values" - - 0 - 1 - - - - - - "loop" - 0.6 - True - 0.1 - "value" - "logo:frame" - 1 - - "cont" - False - "times" - 0, 0.3 - "transitions" - 1, 1 - "values" - - 8 - 7 - - - - - - - "conn_count" - 0 - "conns" - - "editable_instances" - - - "names" - - "splash" - "anchor/right" - "anchor/bottom" - "focus/ignore_mouse" - "focus/stop_mouse" - "size_flags/horizontal" - "size_flags/vertical" - "__meta__" - "Control" - "bg" - "margin/right" - "margin/bottom" - "1" - "texture" - "TextureFrame" - "2" - "margin/left" - "scroll" - "playback/process_mode" - "playback/default_blend_time" - "root/root" - "anims/scroll" - "playback/active" - "playback/speed" - "blend_times" - "autoplay" - "AnimationPlayer" - "layer2" - "margin/top" - "layer1" - "logo" - "transform/pos" - "frames" - "frame" - "AnimatedSprite" - "start" - "toggle_mode" - "textures/normal" - "textures/pressed" - "TextureButton" - "copyright" - "custom_fonts/font" - "text" - "percent_visible" - "lines_skipped" - "max_lines_visible" - "Label" - "intro" - "anims/intro" - "next/intro" - "anims/loop" - - "node_count" - 17 - "node_paths" - - - "nodes" - -1, -1, 8, 0, -1, 7, 1, 0, 2, 0, 3, 1, 4, 2, 5, 3, 6, 3, 7, 4, 0, 0, 0, 8, 9, -1, 6, 10, 5, 11, 5, 3, 1, 4, 2, 5, 3, 6, 3, 0, 1, 0, 14, 12, -1, 7, 10, 5, 11, 5, 3, 2, 4, 2, 5, 3, 6, 3, 13, 6, 0, 1, 0, 14, 15, -1, 8, 16, 7, 10, 8, 11, 9, 3, 2, 4, 2, 5, 3, 6, 3, 13, 6, 0, 1, 0, 26, 17, -1, 8, 18, 0, 19, 10, 20, 11, 21, 12, 22, 2, 23, 13, 24, 14, 25, 15, 0, 0, 0, 8, 27, -1, 6, 10, 5, 11, 5, 3, 1, 4, 2, 5, 3, 6, 3, 0, 5, 0, 14, 12, -1, 8, 28, 16, 10, 7, 11, 17, 3, 2, 4, 2, 5, 3, 6, 3, 13, 18, 0, 5, 0, 14, 15, -1, 9, 16, 7, 28, 16, 10, 8, 11, 17, 3, 2, 4, 2, 5, 3, 6, 3, 13, 18, 0, 5, 0, 26, 17, -1, 8, 18, 0, 19, 10, 20, 11, 21, 12, 22, 2, 23, 19, 24, 14, 25, 15, 0, 0, 0, 8, 29, -1, 6, 10, 5, 11, 5, 3, 1, 4, 2, 5, 3, 6, 3, 0, 9, 0, 14, 12, -1, 8, 28, 20, 10, 7, 11, 17, 3, 2, 4, 2, 5, 3, 6, 3, 13, 21, 0, 9, 0, 14, 15, -1, 9, 16, 7, 28, 20, 10, 8, 11, 17, 3, 2, 4, 2, 5, 3, 6, 3, 13, 21, 0, 9, 0, 26, 17, -1, 8, 18, 0, 19, 10, 20, 11, 21, 12, 22, 2, 23, 22, 24, 14, 25, 15, 0, 0, 0, 34, 30, -1, 3, 31, 23, 32, 24, 33, 25, 0, 0, 0, 39, 35, -1, 11, 16, 26, 28, 27, 10, 28, 11, 29, 3, 1, 4, 2, 5, 3, 6, 3, 36, 1, 37, 30, 38, 31, 0, 0, 0, 46, 40, -1, 12, 16, 32, 28, 33, 10, 34, 11, 35, 3, 2, 4, 2, 5, 3, 41, 36, 42, 37, 43, 38, 44, 39, 45, 40, 0, 0, 0, 26, 47, -1, 10, 18, 0, 19, 10, 20, 11, 48, 41, 49, 42, 50, 43, 22, 2, 23, 38, 24, 14, 25, 44, 0 - "variants" - - 1 - False - True - 2 - - "__editor_plugin_screen__" - "2D" - "__editor_plugin_states__" - - "2D" - - "ofs" - -301.424, -450.503 - "snap_grid" - False - "snap_offset" - 0, 0 - "snap_pixel" - False - "snap_relative" - False - "snap_rotation" - False - "snap_rotation_offset" - 0 - "snap_rotation_step" - 0.261799 - "snap_show_grid" - False - "snap_step" - 10, 10 - "zoom" - 0.54036 - - "3D" - - "ambient_light_color" - 0.15, 0.15, 0.15, 1 - "default_light" - True - "default_srgb" - False - "deflight_rot_x" - 0.942478 - "deflight_rot_y" - 0.628319 - "fov" - 45 - "show_grid" - True - "show_origin" - True - "viewport_mode" - 1 - "viewports" - - - "distance" - 4 - "listener" - True - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "zfar" - 500 - "znear" - 0.1 - - "Anim" - - "visible" - False - - - "__editor_run_settings__" - - "custom_args" - "-l $scene" - "run_mode" - 0 - - - 40 - - 800 - 1600 - 450 - 0 - ".." - - 0.04 - - - "scroll" - 194 - 456 - - 0.1 - 212 - - 0.2 - 412, 171 - - 8 - 345 - 369 - 494 - 443 - - - 658 - 417 - 776 - 434 - - "(c) 1994 SOGA" - 1 - 0 - -1 - - "loop" - - "intro" - - "version" - 2 - - - - \ No newline at end of file diff --git a/demos/2d/sprite_shaders/engine.cfg b/demos/2d/sprite_shaders/engine.cfg index 17bdada1882..fa17a2e8007 100644 --- a/demos/2d/sprite_shaders/engine.cfg +++ b/demos/2d/sprite_shaders/engine.cfg @@ -1,5 +1,5 @@ [application] name="2D Shaders for Sprites" -main_scene="res://sprite_shaders.scn" +main_scene="res://sprite_shaders.tscn" icon="res://icon.png" diff --git a/demos/2d/sprite_shaders/sprite_shaders.scn b/demos/2d/sprite_shaders/sprite_shaders.scn deleted file mode 100644 index b6060f8eaa9632f0ff34f9207ed5c01bc0373c5b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5477 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 - - - - - "conn_count" - 1 - "conns" - 1, 0, 30, 29, 2, 0 - "editable_instances" - - - "names" - - "Grid" - "margin/right" - "margin/bottom" - "focus/ignore_mouse" - "focus/stop_mouse" - "size_flags/horizontal" - "size_flags/vertical" - "script/script" - "__meta__" - "Control" - "timer" - "process_mode" - "wait_time" - "one_shot" - "autostart" - "Timer" - "gameover" - "anchor/right" - "anchor/bottom" - "custom_colors/font_color" - "custom_colors/font_color_shadow" - "custom_constants/shadow_offset_x" - "custom_constants/shadow_offset_y" - "align" - "valign" - "percent_visible" - "lines_skipped" - "max_lines_visible" - "Label" - "piece_move_down" - "timeout" - - "node_count" - 3 - "node_paths" - - - "nodes" - -1, -1, 9, 0, -1, 8, 1, 0, 2, 0, 3, 1, 4, 2, 5, 3, 6, 3, 7, 4, 8, 5, 0, 0, 0, 15, 10, -1, 4, 11, 6, 12, 7, 13, 1, 14, 1, 0, 0, 0, 28, 16, -1, 14, 17, 6, 18, 6, 3, 2, 4, 2, 5, 3, 19, 8, 20, 9, 21, 6, 22, 6, 23, 6, 24, 6, 25, 7, 26, 10, 27, 11, 0 - "variants" - - 40 - False - True - 2 - - - "__editor_plugin_screen__" - "2D" - "__editor_plugin_states__" - - "2D" - - "ofs" - -229.129, -80 - "snap_grid" - False - "snap_offset" - 0, 0 - "snap_pixel" - False - "snap_relative" - False - "snap_rotation" - False - "snap_rotation_offset" - 0 - "snap_rotation_step" - 0.261799 - "snap_show_grid" - False - "snap_step" - 10, 10 - "zoom" - 1 - - "3D" - - "ambient_light_color" - 0.15, 0.15, 0.15, 1 - "default_light" - True - "default_srgb" - False - "deflight_rot_x" - 0.942478 - "deflight_rot_y" - 0.628319 - "fov" - 45 - "show_grid" - True - "show_origin" - True - "viewport_mode" - 1 - "viewports" - - - "distance" - 4 - "listener" - True - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "zfar" - 500 - "znear" - 0.1 - - "Anim" - - "visible" - False - - - "__editor_run_settings__" - - "custom_args" - "-l $scene" - "run_mode" - 0 - - - 1 - 1 - 1, 1, 1, 1 - 0, 0, 0, 1 - 0 - -1 - - "version" - 2 - - - - \ No newline at end of file diff --git a/demos/2d/tetris/tetris.tscn b/demos/2d/tetris/tetris.tscn new file mode 100644 index 00000000000..de81044c22d --- /dev/null +++ b/demos/2d/tetris/tetris.tscn @@ -0,0 +1,67 @@ +[gd_scene load_steps=2 format=1] + +[ext_resource path="res://grid.tscn" type="PackedScene" id=1] + +[node name="Tetris" type="Panel"] + +focus/ignore_mouse = false +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 0.0 +margin/top = 0.0 +margin/right = 400.0 +margin/bottom = 400.0 + +[node name="Grid" parent="." instance=ExtResource( 1 )] + +margin/left = 40.0 +margin/top = 35.0 +margin/right = 80.0 +margin/bottom = 75.0 + +[node name="Label" type="Label" parent="."] + +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +margin/left = 243.0 +margin/top = 36.0 +margin/right = 283.0 +margin/bottom = 49.0 +text = "Score:" +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 + +[node name="score" type="Label" parent="."] + +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +margin/left = 252.0 +margin/top = 55.0 +margin/right = 293.0 +margin/bottom = 68.0 +text = "0" +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 + +[node name="restart" type="Button" parent="."] + +focus/ignore_mouse = false +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 243.0 +margin/top = 292.0 +margin/right = 303.0 +margin/bottom = 311.0 +toggle_mode = false +text = "Restart" +flat = false + +[connection signal="pressed" from="restart" to="Grid" method="restart_pressed"] + + diff --git a/demos/2d/tetris/tetris.xml b/demos/2d/tetris/tetris.xml deleted file mode 100644 index a8e47a8ae40..00000000000 --- a/demos/2d/tetris/tetris.xml +++ /dev/null @@ -1,217 +0,0 @@ - - - - - - "conn_count" - 1 - "conns" - 4, 1, 23, 22, 2, 0 - "editable_instances" - - - "names" - - "Tetris" - "margin/right" - "margin/bottom" - "focus/ignore_mouse" - "focus/stop_mouse" - "size_flags/horizontal" - "size_flags/vertical" - "__meta__" - "Panel" - "Grid" - "margin/left" - "margin/top" - "Label" - "text" - "percent_visible" - "lines_skipped" - "max_lines_visible" - "score" - "restart" - "toggle_mode" - "flat" - "Button" - "restart_pressed" - "pressed" - - "node_count" - 5 - "node_paths" - - - "nodes" - -1, -1, 8, 0, -1, 7, 1, 0, 2, 0, 3, 1, 4, 2, 5, 3, 6, 3, 7, 4, 0, 0, 0, 2147483647, 9, 5, 4, 10, 6, 11, 7, 1, 8, 2, 9, 0, 0, 0, 12, 12, -1, 11, 10, 10, 11, 11, 1, 12, 2, 13, 3, 2, 4, 2, 5, 3, 13, 14, 14, 15, 15, 16, 16, 17, 0, 0, 0, 12, 17, -1, 11, 10, 18, 11, 19, 1, 20, 2, 21, 3, 2, 4, 2, 5, 3, 13, 22, 14, 15, 15, 16, 16, 17, 0, 0, 0, 21, 18, -1, 11, 10, 10, 11, 23, 1, 24, 2, 25, 3, 1, 4, 2, 5, 3, 6, 3, 19, 1, 13, 26, 20, 1, 0 - "variants" - - 400 - False - True - 2 - - "__editor_plugin_screen__" - "2D" - "__editor_plugin_states__" - - "2D" - - "ofs" - -229.129, -54.344 - "snap_grid" - False - "snap_offset" - 0, 0 - "snap_pixel" - False - "snap_relative" - False - "snap_rotation" - False - "snap_rotation_offset" - 0 - "snap_rotation_step" - 0.261799 - "snap_show_grid" - False - "snap_step" - 10, 10 - "zoom" - 1.360374 - - "3D" - - "ambient_light_color" - 0.15, 0.15, 0.15, 1 - "default_light" - True - "default_srgb" - False - "deflight_rot_x" - 0.942478 - "deflight_rot_y" - 0.628319 - "fov" - 45 - "show_grid" - True - "show_origin" - True - "viewport_mode" - 1 - "viewports" - - - "distance" - 4 - "listener" - True - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "zfar" - 500 - "znear" - 0.1 - - "Anim" - - "visible" - False - - - "__editor_run_settings__" - - "custom_args" - "-l $scene" - "run_mode" - 0 - - - - 40 - 35 - 80 - 75 - 243 - 36 - 283 - 49 - "Score:" - 1 - 0 - -1 - 252 - 55 - 293 - 68 - "0" - 292 - 303 - 311 - "Restart" - - "version" - 2 - - - - \ No newline at end of file diff --git a/demos/2d/texscreen/bubbles.gd b/demos/2d/texscreen/bubbles.gd index 400da1a2057..c0c7d892e6a 100644 --- a/demos/2d/texscreen/bubbles.gd +++ b/demos/2d/texscreen/bubbles.gd @@ -7,5 +7,5 @@ const MAX_BUBBLES = 10 func _ready(): for i in range(MAX_BUBBLES): - var bubble = preload("res://lens.scn").instance() + var bubble = preload("res://lens.tscn").instance() add_child(bubble) diff --git a/demos/2d/texscreen/bubbles.scn b/demos/2d/texscreen/bubbles.scn deleted file mode 100644 index 8509b3811c391420f9584b22e9896e76b0a30f9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2626 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 ImHR#ZA6nT0*#H0l diff --git a/demos/2d/texscreen/bubbles.tscn b/demos/2d/texscreen/bubbles.tscn new file mode 100644 index 00000000000..72b7874b926 --- /dev/null +++ b/demos/2d/texscreen/bubbles.tscn @@ -0,0 +1,32 @@ +[gd_scene load_steps=3 format=1] + +[ext_resource path="res://bubbles.gd" type="Script" id=1] +[ext_resource path="res://burano.png" type="Texture" id=2] + +[node name="texscreen_demo" type="Control"] + +anchor/right = 1 +anchor/bottom = 1 +focus/ignore_mouse = false +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 0.0 +margin/top = 0.0 +margin/right = 0.0 +margin/bottom = 0.0 +script/script = ExtResource( 1 ) + +[node name="burano" type="TextureFrame" parent="."] + +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 0.0 +margin/top = 0.0 +margin/right = 800.0 +margin/bottom = 600.0 +texture = ExtResource( 2 ) + + diff --git a/demos/2d/texscreen/engine.cfg b/demos/2d/texscreen/engine.cfg index 92d0e98d5b7..0a3f0842703 100644 --- a/demos/2d/texscreen/engine.cfg +++ b/demos/2d/texscreen/engine.cfg @@ -1,7 +1,7 @@ [application] name="Glass Bubbles (Texscreen)" -main_scene="res://bubbles.scn" +main_scene="res://bubbles.tscn" icon="res://icon.png" [display] diff --git a/demos/2d/texscreen/lens.scn b/demos/2d/texscreen/lens.scn deleted file mode 100644 index 530a0b1eb036632213586f3d591e56a2e2315a99..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1850 zcmW+%eQZuJh0z0 z?>&cv!s5_EK^;sh>N=2Cg_Uhg{ZPePwHgz3!-U$BF__rYA&|^RVXMX;`;u6uiCuQ3 zqkBH?Ip=rIxmPzFktBGsDgdlsZ2aw}{&lPjP5dq4GP_|8p?N;NFn5wHVf)#~s zfMT)%7BG{kT1M84sU5nKR%x|Eju~;4E-kiVrk1fga>cpIqA?||nvCV3iuC77X{AHc zlX4n2KnbaF%F(PIPpNVG8*q{eh|n!GL@al2M@LH4Eq^i&E>h`bxHQxp2Pj@_FR>R+Cs`15ANzum@Ysgm9 z5&F5Z12=<*Y!NG=h&Z8~2=0WbB-5&H%SOVYQwUgxH}Z9~0)9?v8^+aG577-X&C>J{ zTb*bf32h%44Tn~aKEGl^DQR$a6C;tZRGT#9THOALNzz8T{heeL!A7CAi*aow(z9Eh z4g1Yxw2y?md&^Z-Z;eRdP-v?>`h0s%a%+(iYkYi%8FHPIV3|wrXlh zD(Vm~!4lFSejf#J5H~JD2+Z9PZsBH87vB_3bYnVjhPR-JbYmA*I+7{HvZA9!wyEe= z!h5KwBV$-lL3{-{u?w)WI3(ciY&uZWC#Mj z$>KmZkx)&E^wVBQHC^CfAz2FPnS0QYcSWyxmFP8b)Dg*;nw`stQ=t2NPC294V-_@! zem0EPB&T<($kGh`$W1&*^q9Aznhk z*=zqz8cx0^q1$<;>}-Ggk$3tr!b;vH0DL~16Sz$h3gS6zL=ca&M!W>Iq@q%m)wpIG zrkqJ-lbSADw$}}ocXdH%#g&4nYiU}ADpt_H@|vaj?$UD%X$|h=x`VV0zlRIa>9TYs zBWJV;_24ti=n15$hcgW_>0L*rIW-gAA-rCCcq2BUAnY>?7LXyz^Rz%X4VSYyWCLWvak zBW;-J#dIDpCiMhQV2$&ut1B*kFh3u_ngaLB(z)*ZxJ0@D6Zq0hb?LNZxXc8A(I;y(KjZqi!bFtz5N z6&$Lh^ZRu5?Y{`Wotx{!kB5Z(Nw8Xv({7foP70H{+=*odCr`u%_}+m%@!o;X`>=#F zv&|=X)wbJ~UaFD4iv##ZX)J5mMp{J39elJ3?4^QEW__OA^7|LmOre|Q@6Jlcp{(={fv6Ws=*f=77&0j9Ujj>@H&gJ z0Grv11$NHCE^i3k!57#*%%~mRtWyJD4LWf%bN>cga1fJ>8u1snl(|ai+f4hl1kB_CpU(TrQpMtO)(?pOr5@x94{9Uyr9QhOPy)aO2wQ z&)ysAIJEwqxrBZt|B-lx=-wAoZ;x+od&Rxr>>h57f96ur^-pr1nr(M+9F7&Z js*+!G56^mbpZYK{M7}J8q0rXg`vH0|90^Nd_G|tRGd(@x diff --git a/demos/2d/texscreen/lens.tscn b/demos/2d/texscreen/lens.tscn new file mode 100644 index 00000000000..7f449e46ae8 --- /dev/null +++ b/demos/2d/texscreen/lens.tscn @@ -0,0 +1,29 @@ +[gd_scene load_steps=5 format=1] + +[ext_resource path="res://lens.gd" type="Script" id=1] +[ext_resource path="res://bubble.png" type="Texture" id=2] + +[sub_resource type="CanvasItemShader" id=1] + +_code = { "fragment":"vec4 normal = tex(TEXTURE,UV);\nvec2 offset = normal.xy * 2.0 - vec2(1.0);\nCOLOR.rgb=texscreen(SCREEN_UV+offset*0.03);\nCOLOR.a=normal.a;\nCOLOR.rgb*=vec3(1.0,0.8,0.7);\n", "fragment_ofs":0, "light":"", "light_ofs":0, "vertex":"", "vertex_ofs":0 } + +[sub_resource type="CanvasItemMaterial" id=2] + +shader/shader = SubResource( 1 ) +shader/shading_mode = 0 + +[node name="glass" type="BackBufferCopy"] + +transform/pos = Vector2( 482.908, 346.807 ) +transform/scale = Vector2( 1.31289, 1.34009 ) +copy_mode = 1 +rect = Rect2( -100, -100, 200, 200 ) +script/script = ExtResource( 1 ) + +[node name="lens" type="Sprite" parent="."] + +material/material = SubResource( 2 ) +transform/pos = Vector2( 1.6427, -2.90363 ) +texture = ExtResource( 2 ) + +