summaryrefslogtreecommitdiff
path: root/demos/2d
diff options
context:
space:
mode:
Diffstat (limited to 'demos/2d')
-rw-r--r--demos/2d/area_input/box_area.pngbin1246 -> 0 bytes
-rw-r--r--demos/2d/area_input/circle_area.pngbin3030 -> 0 bytes
-rw-r--r--demos/2d/area_input/engine.cfg5
-rw-r--r--demos/2d/area_input/icon.pngbin3416 -> 0 bytes
-rw-r--r--demos/2d/area_input/input.gd15
-rw-r--r--demos/2d/area_input/input.tscn109
-rw-r--r--demos/2d/dynamic_collision_shapes/ball.gd17
-rw-r--r--demos/2d/dynamic_collision_shapes/ball.pngbin321 -> 0 bytes
-rw-r--r--demos/2d/dynamic_collision_shapes/ball.tscn47
-rw-r--r--demos/2d/dynamic_collision_shapes/box.pngbin253 -> 0 bytes
-rw-r--r--demos/2d/dynamic_collision_shapes/circle.pngbin889 -> 0 bytes
-rw-r--r--demos/2d/dynamic_collision_shapes/dynamic_colobjs.gd19
-rw-r--r--demos/2d/dynamic_collision_shapes/dynamic_colobjs.tscn178
-rw-r--r--demos/2d/dynamic_collision_shapes/engine.cfg5
-rw-r--r--demos/2d/dynamic_collision_shapes/icon.pngbin1563 -> 0 bytes
-rw-r--r--demos/2d/dynamic_collision_shapes/poly.pngbin1638 -> 0 bytes
-rw-r--r--demos/2d/fog_of_war/engine.cfg12
-rw-r--r--demos/2d/fog_of_war/floor.pngbin572 -> 0 bytes
-rw-r--r--demos/2d/fog_of_war/fog.gd78
-rw-r--r--demos/2d/fog_of_war/fog.pngbin31448 -> 0 bytes
-rw-r--r--demos/2d/fog_of_war/fog.tscn51
-rw-r--r--demos/2d/fog_of_war/icon.pngbin8681 -> 0 bytes
-rw-r--r--demos/2d/fog_of_war/tileset.tres32
-rw-r--r--demos/2d/fog_of_war/tileset_edit.tscn30
-rw-r--r--demos/2d/fog_of_war/troll.gd38
-rw-r--r--demos/2d/fog_of_war/troll.pngbin7246 -> 0 bytes
-rw-r--r--demos/2d/fog_of_war/troll.tscn52
-rw-r--r--demos/2d/hdr/beach_cave.gd21
-rw-r--r--demos/2d/hdr/beach_cave.tscn88
-rw-r--r--demos/2d/hdr/engine.cfg14
-rw-r--r--demos/2d/hdr/icon.pngbin3962 -> 0 bytes
-rw-r--r--demos/2d/hdr/ocean_beach.pngbin443558 -> 0 bytes
-rw-r--r--demos/2d/hdr/ocean_beach.png.flags1
-rw-r--r--demos/2d/hdr/ocean_cave.pngbin745215 -> 0 bytes
-rw-r--r--demos/2d/hdr/ocean_cave.png.flags1
-rw-r--r--demos/2d/hexamap/WWT-01.pngbin20369 -> 0 bytes
-rw-r--r--demos/2d/hexamap/WWT-02.pngbin21993 -> 0 bytes
-rw-r--r--demos/2d/hexamap/WWT-03.pngbin22703 -> 0 bytes
-rw-r--r--demos/2d/hexamap/WWT-04.pngbin20615 -> 0 bytes
-rw-r--r--demos/2d/hexamap/WWT-05.pngbin22293 -> 0 bytes
-rw-r--r--demos/2d/hexamap/WWT-06.pngbin22971 -> 0 bytes
-rw-r--r--demos/2d/hexamap/WWT-07.pngbin22306 -> 0 bytes
-rw-r--r--demos/2d/hexamap/WWT-08.pngbin22084 -> 0 bytes
-rw-r--r--demos/2d/hexamap/WWT-09.pngbin22066 -> 0 bytes
-rw-r--r--demos/2d/hexamap/WWT-10.pngbin22019 -> 0 bytes
-rw-r--r--demos/2d/hexamap/WWT-11.pngbin21546 -> 0 bytes
-rw-r--r--demos/2d/hexamap/WWT-12.pngbin21405 -> 0 bytes
-rw-r--r--demos/2d/hexamap/WWT-13.pngbin19682 -> 0 bytes
-rw-r--r--demos/2d/hexamap/WWT-14.pngbin20491 -> 0 bytes
-rw-r--r--demos/2d/hexamap/WWT-15.pngbin21237 -> 0 bytes
-rw-r--r--demos/2d/hexamap/WWT-16.pngbin20673 -> 0 bytes
-rw-r--r--demos/2d/hexamap/WWT-17.pngbin20628 -> 0 bytes
-rw-r--r--demos/2d/hexamap/WWT-18.pngbin22559 -> 0 bytes
-rw-r--r--demos/2d/hexamap/WWT-19.pngbin21600 -> 0 bytes
-rw-r--r--demos/2d/hexamap/WWT-20.pngbin21130 -> 0 bytes
-rw-r--r--demos/2d/hexamap/WWT-21.pngbin21114 -> 0 bytes
-rw-r--r--demos/2d/hexamap/WWT-22.pngbin21440 -> 0 bytes
-rw-r--r--demos/2d/hexamap/WWT-23.pngbin20817 -> 0 bytes
-rw-r--r--demos/2d/hexamap/WWT-24.pngbin19964 -> 0 bytes
-rw-r--r--demos/2d/hexamap/WWT-25.pngbin20584 -> 0 bytes
-rw-r--r--demos/2d/hexamap/WWT-26.pngbin21405 -> 0 bytes
-rw-r--r--demos/2d/hexamap/engine.cfg12
-rw-r--r--demos/2d/hexamap/icon.pngbin5925 -> 0 bytes
-rw-r--r--demos/2d/hexamap/map.tscn31
-rw-r--r--demos/2d/hexamap/tileset.tres240
-rw-r--r--demos/2d/hexamap/tileset_edit.tscn214
-rw-r--r--demos/2d/hexamap/troll.gd38
-rw-r--r--demos/2d/hexamap/troll.pngbin7246 -> 0 bytes
-rw-r--r--demos/2d/hexamap/troll.tscn52
-rw-r--r--demos/2d/isometric/dungeon.tscn49
-rw-r--r--demos/2d/isometric/engine.cfg21
-rw-r--r--demos/2d/isometric/icon.pngbin9377 -> 0 bytes
-rw-r--r--demos/2d/isometric/isotiles.pngbin222339 -> 0 bytes
-rw-r--r--demos/2d/isometric/tileset.tres67
-rw-r--r--demos/2d/isometric/tileset_edit.tscn130
-rw-r--r--demos/2d/isometric/troll.gd38
-rw-r--r--demos/2d/isometric/troll.pngbin7246 -> 0 bytes
-rw-r--r--demos/2d/isometric/troll.tscn53
-rw-r--r--demos/2d/isometric_light/character_shader.tres12
-rw-r--r--demos/2d/isometric_light/column.tscn52
-rw-r--r--demos/2d/isometric_light/cubio.gd85
-rw-r--r--demos/2d/isometric_light/cubio.tscn327
-rw-r--r--demos/2d/isometric_light/cubio/idle0001.pngbin7163 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0002.pngbin7182 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0003.pngbin7173 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0004.pngbin7174 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0005.pngbin7207 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0006.pngbin7302 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0007.pngbin7296 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0008.pngbin7332 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0009.pngbin7320 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0010.pngbin7311 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0011.pngbin7359 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0012.pngbin7392 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0013.pngbin7398 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0014.pngbin7399 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0015.pngbin7340 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0016.pngbin7278 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0017.pngbin7342 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0018.pngbin7370 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0019.pngbin7379 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0020.pngbin7432 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0021.pngbin7391 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0022.pngbin7381 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0023.pngbin7330 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0024.pngbin7363 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0025.pngbin7368 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0026.pngbin7356 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0027.pngbin7358 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0028.pngbin7294 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0029.pngbin7342 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0030.pngbin7402 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0031.pngbin7442 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0032.pngbin7409 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0033.pngbin7407 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0034.pngbin7389 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0035.pngbin7351 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0036.pngbin7348 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0037.pngbin7356 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0038.pngbin7318 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0039.pngbin7366 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0040.pngbin7385 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0041.pngbin7400 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0042.pngbin7397 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0043.pngbin7363 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0044.pngbin7377 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0045.pngbin7368 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0046.pngbin7346 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0047.pngbin7333 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0048.pngbin7305 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0049.pngbin7328 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0050.pngbin7319 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0051.pngbin7256 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0052.pngbin7287 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0053.pngbin7236 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0054.pngbin7182 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0055.pngbin7169 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0056.pngbin7166 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0057.pngbin7146 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0058.pngbin7174 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0059.pngbin7163 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/idle0060.pngbin7163 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-b-0001.pngbin7027 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-b-0002.pngbin7234 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-b-0003.pngbin7658 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-b-0004.pngbin7999 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-b-0005.pngbin8086 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-b-0006.pngbin8004 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-b-0007.pngbin7759 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-b-0008.pngbin7485 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-b-0009.pngbin7066 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-b-0010.pngbin6925 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-b-0011.pngbin7003 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-b-0012.pngbin7316 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-b-0013.pngbin7607 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-b-0014.pngbin7924 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-b-0015.pngbin8000 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-b-0016.pngbin8025 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-b-0017.pngbin7918 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-b-0018.pngbin7532 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-b-0019.pngbin7247 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-b-0020.pngbin7035 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-bl-0001.pngbin7097 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-bl-0002.pngbin7074 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-bl-0003.pngbin7273 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-bl-0004.pngbin7778 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-bl-0005.pngbin7717 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-bl-0006.pngbin8142 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-bl-0007.pngbin8300 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-bl-0008.pngbin8653 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-bl-0009.pngbin8846 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-bl-0010.pngbin8824 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-bl-0011.pngbin8848 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-bl-0012.pngbin8649 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-bl-0013.pngbin8695 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-bl-0014.pngbin8435 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-bl-0015.pngbin8226 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-bl-0016.pngbin7895 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-bl-0017.pngbin7712 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-bl-0018.pngbin7103 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-bl-0019.pngbin7094 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-bl-0020.pngbin7051 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-l-0001.pngbin8257 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-l-0002.pngbin7883 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-l-0003.pngbin6680 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-l-0004.pngbin6278 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-l-0005.pngbin6348 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-l-0006.pngbin5629 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-l-0007.pngbin6754 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-l-0008.pngbin7612 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-l-0009.pngbin8044 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-l-0010.pngbin8013 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-l-0011.pngbin7917 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-l-0012.pngbin7692 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-l-0013.pngbin6778 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-l-0014.pngbin6176 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-l-0015.pngbin6263 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-l-0016.pngbin6004 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-l-0017.pngbin6483 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-l-0018.pngbin7276 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-l-0019.pngbin7899 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-l-0020.pngbin8119 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-u-0001.pngbin7095 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-u-0002.pngbin7064 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-u-0003.pngbin6854 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-u-0004.pngbin6801 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-u-0005.pngbin6900 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-u-0006.pngbin7017 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-u-0007.pngbin7128 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-u-0008.pngbin7065 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-u-0009.pngbin7000 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-u-0010.pngbin6980 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-u-0011.pngbin6978 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-u-0012.pngbin7139 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-u-0013.pngbin7191 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-u-0014.pngbin7119 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-u-0015.pngbin7051 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-u-0016.pngbin6995 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-u-0017.pngbin6832 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-u-0018.pngbin6962 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-u-0019.pngbin7049 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-u-0020.pngbin7067 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-ul-0001.pngbin8202 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-ul-0002.pngbin8074 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-ul-0003.pngbin7716 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-ul-0004.pngbin7587 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-ul-0005.pngbin7383 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-ul-0006.pngbin7107 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-ul-0007.pngbin6671 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-ul-0008.pngbin6847 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-ul-0009.pngbin6892 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-ul-0010.pngbin6858 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-ul-0011.pngbin7067 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-ul-0012.pngbin6985 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-ul-0013.pngbin6600 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-ul-0014.pngbin7104 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-ul-0015.pngbin7320 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-ul-0016.pngbin7478 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-ul-0017.pngbin7736 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-ul-0018.pngbin7960 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-ul-0019.pngbin7982 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/cubio/norm-ul-0020.pngbin8137 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/energy.pngbin6968 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/engine.cfg20
-rw-r--r--demos/2d/isometric_light/faceColor.pngbin47941 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/faceMask.pngbin3106 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/faceNormal.pngbin54844 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/fire.pngbin8116 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/floor_shader.tres14
-rw-r--r--demos/2d/isometric_light/icon.pngbin7675 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/light2.pngbin3500 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/map.gd7
-rw-r--r--demos/2d/isometric_light/map.tscn261
-rw-r--r--demos/2d/isometric_light/shadow_blob.pngbin884 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/shoot.gd21
-rw-r--r--demos/2d/isometric_light/shoot.tscn172
-rw-r--r--demos/2d/isometric_light/shoot_halo.pngbin91312 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/tileset.tres216
-rw-r--r--demos/2d/isometric_light/tileset_edit.tscn446
-rw-r--r--demos/2d/isometric_light/torch.tscn138
-rw-r--r--demos/2d/isometric_light/torch_light.pngbin1262 -> 0 bytes
-rw-r--r--demos/2d/isometric_light/torch_shader.tres14
-rw-r--r--demos/2d/isometric_light/wall_shader.tres16
-rw-r--r--demos/2d/kinematic_char/circle.pngbin6107 -> 0 bytes
-rw-r--r--demos/2d/kinematic_char/colworld.gd8
-rw-r--r--demos/2d/kinematic_char/colworld.tscn422
-rw-r--r--demos/2d/kinematic_char/engine.cfg20
-rw-r--r--demos/2d/kinematic_char/icon.pngbin1513 -> 0 bytes
-rw-r--r--demos/2d/kinematic_char/long_obstacle.pngbin534 -> 0 bytes
-rw-r--r--demos/2d/kinematic_char/obstacle.pngbin490 -> 0 bytes
-rw-r--r--demos/2d/kinematic_char/player.gd123
-rw-r--r--demos/2d/kinematic_char/player.pngbin502 -> 0 bytes
-rw-r--r--demos/2d/kinematic_char/player.tscn33
-rw-r--r--demos/2d/kinematic_char/princess.pngbin504 -> 0 bytes
-rw-r--r--demos/2d/kinematic_col/colworld.tscn47
-rw-r--r--demos/2d/kinematic_col/engine.cfg12
-rw-r--r--demos/2d/kinematic_col/icon.pngbin1426 -> 0 bytes
-rw-r--r--demos/2d/kinematic_col/obstacle.pngbin453 -> 0 bytes
-rw-r--r--demos/2d/kinematic_col/player.gd31
-rw-r--r--demos/2d/kinematic_col/player.pngbin502 -> 0 bytes
-rw-r--r--demos/2d/kinematic_col/player.tscn32
-rw-r--r--demos/2d/light_mask/burano.pngbin974437 -> 0 bytes
-rw-r--r--demos/2d/light_mask/engine.cfg9
-rw-r--r--demos/2d/light_mask/icon.pngbin6285 -> 0 bytes
-rw-r--r--demos/2d/light_mask/lightmask.tscn134
-rw-r--r--demos/2d/light_mask/splat.pngbin18255 -> 0 bytes
-rw-r--r--demos/2d/lights_shadows/bg.pngbin294 -> 0 bytes
-rw-r--r--demos/2d/lights_shadows/caster.pngbin122 -> 0 bytes
-rw-r--r--demos/2d/lights_shadows/engine.cfg16
-rw-r--r--demos/2d/lights_shadows/icon.pngbin3988 -> 0 bytes
-rw-r--r--demos/2d/lights_shadows/light.pngbin243776 -> 0 bytes
-rw-r--r--demos/2d/lights_shadows/light_shadows.tscn326
-rw-r--r--demos/2d/lights_shadows/spot.pngbin3699 -> 0 bytes
-rw-r--r--demos/2d/lookat/arrow.pngbin2528 -> 0 bytes
-rw-r--r--demos/2d/lookat/engine.cfg5
-rw-r--r--demos/2d/lookat/icon.pngbin1495 -> 0 bytes
-rw-r--r--demos/2d/lookat/lookat.gd33
-rw-r--r--demos/2d/lookat/lookat.tscn32
-rw-r--r--demos/2d/motion/car.pngbin2086 -> 0 bytes
-rw-r--r--demos/2d/motion/engine.cfg12
-rw-r--r--demos/2d/motion/icon.pngbin2621 -> 0 bytes
-rw-r--r--demos/2d/motion/motion.gd33
-rw-r--r--demos/2d/motion/motion.tscn135
-rw-r--r--demos/2d/navpoly/agent.pngbin2508 -> 0 bytes
-rw-r--r--demos/2d/navpoly/engine.cfg12
-rw-r--r--demos/2d/navpoly/icon.pngbin3642 -> 0 bytes
-rw-r--r--demos/2d/navpoly/navigation.gd53
-rw-r--r--demos/2d/navpoly/navigation.tscn34
-rw-r--r--demos/2d/navpoly/path.pngbin309506 -> 0 bytes
-rw-r--r--demos/2d/normalmaps/diffuse.jpgbin309334 -> 0 bytes
-rw-r--r--demos/2d/normalmaps/engine.cfg12
-rw-r--r--demos/2d/normalmaps/icon.pngbin10402 -> 0 bytes
-rw-r--r--demos/2d/normalmaps/light.pngbin243776 -> 0 bytes
-rw-r--r--demos/2d/normalmaps/normal.jpgbin501428 -> 0 bytes
-rw-r--r--demos/2d/normalmaps/normal_material.tres14
-rw-r--r--demos/2d/normalmaps/normalmap.tscn63
-rw-r--r--demos/2d/particles/engine.cfg5
-rw-r--r--demos/2d/particles/fire_particle.pngbin6022 -> 0 bytes
-rw-r--r--demos/2d/particles/icon.pngbin4900 -> 0 bytes
-rw-r--r--demos/2d/particles/mask.pngbin4226 -> 0 bytes
-rw-r--r--demos/2d/particles/particles.tscn174
-rw-r--r--demos/2d/particles/smoke_particle.pngbin7008 -> 0 bytes
-rw-r--r--demos/2d/particles/spark_particle2.pngbin428 -> 0 bytes
-rw-r--r--demos/2d/platformer/bullet.gd16
-rw-r--r--demos/2d/platformer/bullet.pngbin319 -> 0 bytes
-rw-r--r--demos/2d/platformer/bullet.tscn115
-rw-r--r--demos/2d/platformer/coin.gd19
-rw-r--r--demos/2d/platformer/coin.pngbin3133 -> 0 bytes
-rw-r--r--demos/2d/platformer/coin.tscn146
-rw-r--r--demos/2d/platformer/enemy.gd83
-rw-r--r--demos/2d/platformer/enemy.pngbin3552 -> 0 bytes
-rw-r--r--demos/2d/platformer/enemy.tscn206
-rw-r--r--demos/2d/platformer/engine.cfg42
-rw-r--r--demos/2d/platformer/icon.pngbin1002 -> 0 bytes
-rw-r--r--demos/2d/platformer/moving_platform.gd20
-rw-r--r--demos/2d/platformer/moving_platform.pngbin2143 -> 0 bytes
-rw-r--r--demos/2d/platformer/moving_platform.tscn52
-rw-r--r--demos/2d/platformer/music.oggbin1692019 -> 0 bytes
-rw-r--r--demos/2d/platformer/one_way_platform.pngbin2287 -> 0 bytes
-rw-r--r--demos/2d/platformer/one_way_platform.tscn36
-rw-r--r--demos/2d/platformer/osb_fire.pngbin2233 -> 0 bytes
-rw-r--r--demos/2d/platformer/osb_jump.pngbin1374 -> 0 bytes
-rw-r--r--demos/2d/platformer/osb_left.pngbin1366 -> 0 bytes
-rw-r--r--demos/2d/platformer/osb_right.pngbin1368 -> 0 bytes
-rw-r--r--demos/2d/platformer/parallax_bg.tscn101
-rw-r--r--demos/2d/platformer/plank.pngbin270 -> 0 bytes
-rw-r--r--demos/2d/platformer/plankpin.pngbin253 -> 0 bytes
-rw-r--r--demos/2d/platformer/player.gd232
-rw-r--r--demos/2d/platformer/player.tscn330
-rw-r--r--demos/2d/platformer/robot_demo.pngbin12399 -> 0 bytes
-rw-r--r--demos/2d/platformer/scroll_bg_cloud_1.pngbin531 -> 0 bytes
-rw-r--r--demos/2d/platformer/scroll_bg_cloud_2.pngbin719 -> 0 bytes
-rw-r--r--demos/2d/platformer/scroll_bg_cloud_3.pngbin394 -> 0 bytes
-rw-r--r--demos/2d/platformer/scroll_bg_fg_1.pngbin12137 -> 0 bytes
-rw-r--r--demos/2d/platformer/scroll_bg_fg_2.pngbin13073 -> 0 bytes
-rw-r--r--demos/2d/platformer/scroll_bg_sky.pngbin3023 -> 0 bytes
-rw-r--r--demos/2d/platformer/seesaw.tscn60
-rw-r--r--demos/2d/platformer/sound_coin.wavbin63952 -> 0 bytes
-rw-r--r--demos/2d/platformer/sound_explode.wavbin75832 -> 0 bytes
-rw-r--r--demos/2d/platformer/sound_hit.wavbin71932 -> 0 bytes
-rw-r--r--demos/2d/platformer/sound_jump.wavbin82076 -> 0 bytes
-rw-r--r--demos/2d/platformer/sound_shoot.wavbin78888 -> 0 bytes
-rw-r--r--demos/2d/platformer/stage.tscn352
-rw-r--r--demos/2d/platformer/tiles_demo.pngbin10066 -> 0 bytes
-rw-r--r--demos/2d/platformer/tiles_demo.png.flags1
-rw-r--r--demos/2d/platformer/tileset.tres195
-rw-r--r--demos/2d/platformer/tileset_edit.tscn432
-rw-r--r--demos/2d/pong/ball.pngbin203 -> 0 bytes
-rw-r--r--demos/2d/pong/engine.cfg22
-rw-r--r--demos/2d/pong/icon.pngbin956 -> 0 bytes
-rw-r--r--demos/2d/pong/left_pallete.pngbin200 -> 0 bytes
-rw-r--r--demos/2d/pong/pong.gd67
-rw-r--r--demos/2d/pong/pong.tscn33
-rw-r--r--demos/2d/pong/right_pallete.pngbin202 -> 0 bytes
-rw-r--r--demos/2d/pong/separator.pngbin203 -> 0 bytes
-rw-r--r--demos/2d/rubegoldberg/art/bowling_ball.pngbin4637 -> 0 bytes
-rw-r--r--demos/2d/rubegoldberg/art/box.pngbin3300 -> 0 bytes
-rw-r--r--demos/2d/rubegoldberg/art/domino.pngbin246 -> 0 bytes
-rw-r--r--demos/2d/rubegoldberg/art/platform.pngbin4137 -> 0 bytes
-rw-r--r--demos/2d/rubegoldberg/art/seesaw_base.pngbin2936 -> 0 bytes
-rw-r--r--demos/2d/rubegoldberg/art/seesaw_top.pngbin3636 -> 0 bytes
-rw-r--r--demos/2d/rubegoldberg/ball.tscn44
-rw-r--r--demos/2d/rubegoldberg/box.tscn44
-rw-r--r--demos/2d/rubegoldberg/domino.tscn44
-rw-r--r--demos/2d/rubegoldberg/engine.cfg10
-rw-r--r--demos/2d/rubegoldberg/icon.pngbin3508 -> 0 bytes
-rw-r--r--demos/2d/rubegoldberg/pendulum.tscn248
-rw-r--r--demos/2d/rubegoldberg/platform.tscn33
-rw-r--r--demos/2d/rubegoldberg/rubegoldberg.tscn98
-rw-r--r--demos/2d/rubegoldberg/seesaw.tscn89
-rw-r--r--demos/2d/screen_space_shaders/art/burano.jpgbin265390 -> 0 bytes
-rw-r--r--demos/2d/screen_space_shaders/art/filmgrain.pngbin290595 -> 0 bytes
-rw-r--r--demos/2d/screen_space_shaders/art/filmgrain.png.flags1
-rw-r--r--demos/2d/screen_space_shaders/art/forest.jpgbin314190 -> 0 bytes
-rw-r--r--demos/2d/screen_space_shaders/art/mountains.jpgbin214974 -> 0 bytes
-rw-r--r--demos/2d/screen_space_shaders/art/platformer.jpgbin116815 -> 0 bytes
-rw-r--r--demos/2d/screen_space_shaders/art/vignette.pngbin4075 -> 0 bytes
-rw-r--r--demos/2d/screen_space_shaders/art/white.pngbin174 -> 0 bytes
-rw-r--r--demos/2d/screen_space_shaders/engine.cfg12
-rw-r--r--demos/2d/screen_space_shaders/icon.pngbin7479 -> 0 bytes
-rw-r--r--demos/2d/screen_space_shaders/screen_shaders.gd25
-rw-r--r--demos/2d/screen_space_shaders/screen_shaders.tscn512
-rw-r--r--demos/2d/sdf_font/KaushanScript-Regular.otfbin89168 -> 0 bytes
-rw-r--r--demos/2d/sdf_font/engine.cfg5
-rw-r--r--demos/2d/sdf_font/font.fntbin180332 -> 0 bytes
-rw-r--r--demos/2d/sdf_font/icon.pngbin3560 -> 0 bytes
-rw-r--r--demos/2d/sdf_font/sdf.tscn74
-rw-r--r--demos/2d/shower_of_bullets/bullet.pngbin477 -> 0 bytes
-rw-r--r--demos/2d/shower_of_bullets/bullets.gd71
-rw-r--r--demos/2d/shower_of_bullets/engine.cfg16
-rw-r--r--demos/2d/shower_of_bullets/face_happy.pngbin1243 -> 0 bytes
-rw-r--r--demos/2d/shower_of_bullets/face_sad.pngbin1240 -> 0 bytes
-rw-r--r--demos/2d/shower_of_bullets/icon.pngbin2777 -> 0 bytes
-rw-r--r--demos/2d/shower_of_bullets/shower.gd25
-rw-r--r--demos/2d/shower_of_bullets/shower.tscn51
-rw-r--r--demos/2d/space_shooter/asteroid.gd43
-rw-r--r--demos/2d/space_shooter/asteroid.tscn129
-rw-r--r--demos/2d/space_shooter/bg_gradient.pngbin1572 -> 0 bytes
-rw-r--r--demos/2d/space_shooter/big_star.pngbin275 -> 0 bytes
-rw-r--r--demos/2d/space_shooter/enemy1.gd36
-rw-r--r--demos/2d/space_shooter/enemy1.pngbin7048 -> 0 bytes
-rw-r--r--demos/2d/space_shooter/enemy1.tscn108
-rw-r--r--demos/2d/space_shooter/enemy2.gd51
-rw-r--r--demos/2d/space_shooter/enemy2.pngbin5676 -> 0 bytes
-rw-r--r--demos/2d/space_shooter/enemy2.tscn98
-rw-r--r--demos/2d/space_shooter/enemy_shot.gd31
-rw-r--r--demos/2d/space_shooter/enemy_shot.pngbin330 -> 0 bytes
-rw-r--r--demos/2d/space_shooter/enemy_shot.tscn99
-rw-r--r--demos/2d/space_shooter/engine.cfg22
-rw-r--r--demos/2d/space_shooter/explosion.tscn37
-rw-r--r--demos/2d/space_shooter/fire.pngbin357 -> 0 bytes
-rw-r--r--demos/2d/space_shooter/game_state.gd22
-rw-r--r--demos/2d/space_shooter/icon.pngbin6931 -> 0 bytes
-rw-r--r--demos/2d/space_shooter/level.tscn354
-rw-r--r--demos/2d/space_shooter/main_menu.gd11
-rw-r--r--demos/2d/space_shooter/main_menu.tscn64
-rw-r--r--demos/2d/space_shooter/meteorite.pngbin6072 -> 0 bytes
-rw-r--r--demos/2d/space_shooter/parallax.tscn201
-rw-r--r--demos/2d/space_shooter/rail.gd19
-rw-r--r--demos/2d/space_shooter/ship.gd81
-rw-r--r--demos/2d/space_shooter/ship.pngbin2815 -> 0 bytes
-rw-r--r--demos/2d/space_shooter/ship.tscn229
-rw-r--r--demos/2d/space_shooter/shoot.pngbin222 -> 0 bytes
-rw-r--r--demos/2d/space_shooter/shot.gd40
-rw-r--r--demos/2d/space_shooter/shot.tscn103
-rw-r--r--demos/2d/space_shooter/small_star.pngbin90 -> 0 bytes
-rw-r--r--demos/2d/space_shooter/sound_explode.wavbin75832 -> 0 bytes
-rw-r--r--demos/2d/space_shooter/sound_shoot.wavbin78888 -> 0 bytes
-rw-r--r--demos/2d/space_shooter/tile.pngbin810 -> 0 bytes
-rw-r--r--demos/2d/space_shooter/tileset.tres20
-rw-r--r--demos/2d/space_shooter/tileset_edit.tscn35
-rw-r--r--demos/2d/splash/bg.pngbin14419 -> 0 bytes
-rw-r--r--demos/2d/splash/bg_layer_1.pngbin13335 -> 0 bytes
-rw-r--r--demos/2d/splash/bg_layer_2.pngbin16026 -> 0 bytes
-rw-r--r--demos/2d/splash/button.pngbin3666 -> 0 bytes
-rw-r--r--demos/2d/splash/button_pressed.pngbin3573 -> 0 bytes
-rw-r--r--demos/2d/splash/engine.cfg9
-rw-r--r--demos/2d/splash/freesans.fntbin29950 -> 0 bytes
-rw-r--r--demos/2d/splash/icon.pngbin7041 -> 0 bytes
-rw-r--r--demos/2d/splash/splash.tscn274
-rw-r--r--demos/2d/splash/splash_01.pngbin42593 -> 0 bytes
-rw-r--r--demos/2d/splash/splash_02.pngbin48376 -> 0 bytes
-rw-r--r--demos/2d/splash/splash_03.pngbin53073 -> 0 bytes
-rw-r--r--demos/2d/splash/splash_04.pngbin55571 -> 0 bytes
-rw-r--r--demos/2d/splash/splash_05.pngbin56686 -> 0 bytes
-rw-r--r--demos/2d/splash/splash_06.pngbin56576 -> 0 bytes
-rw-r--r--demos/2d/splash/splash_07.pngbin56694 -> 0 bytes
-rw-r--r--demos/2d/splash/splash_08.pngbin56810 -> 0 bytes
-rw-r--r--demos/2d/splash/splash_09.pngbin58112 -> 0 bytes
-rw-r--r--demos/2d/sprite_shaders/cubio.pngbin26579 -> 0 bytes
-rw-r--r--demos/2d/sprite_shaders/engine.cfg5
-rw-r--r--demos/2d/sprite_shaders/icon.pngbin8209 -> 0 bytes
-rw-r--r--demos/2d/sprite_shaders/sprite_shaders.tscn163
-rw-r--r--demos/2d/tetris/block.pngbin556 -> 0 bytes
-rw-r--r--demos/2d/tetris/engine.cfg17
-rw-r--r--demos/2d/tetris/grid.gd194
-rw-r--r--demos/2d/tetris/grid.tscn47
-rw-r--r--demos/2d/tetris/tetris.pngbin789 -> 0 bytes
-rw-r--r--demos/2d/tetris/tetris.tscn67
-rw-r--r--demos/2d/texscreen/OpenCV_Chessboard.pngbin44884 -> 0 bytes
-rw-r--r--demos/2d/texscreen/bubble.pngbin18619 -> 0 bytes
-rw-r--r--demos/2d/texscreen/bubbles.gd11
-rw-r--r--demos/2d/texscreen/bubbles.tscn32
-rw-r--r--demos/2d/texscreen/burano.pngbin974437 -> 0 bytes
-rw-r--r--demos/2d/texscreen/engine.cfg12
-rw-r--r--demos/2d/texscreen/icon.pngbin9245 -> 0 bytes
-rw-r--r--demos/2d/texscreen/lens.gd32
-rw-r--r--demos/2d/texscreen/lens.tscn29
488 files changed, 0 insertions, 12076 deletions
diff --git a/demos/2d/area_input/box_area.png b/demos/2d/area_input/box_area.png
deleted file mode 100644
index ba7c37f7de..0000000000
--- a/demos/2d/area_input/box_area.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/area_input/circle_area.png b/demos/2d/area_input/circle_area.png
deleted file mode 100644
index 3cc24c8a0c..0000000000
--- a/demos/2d/area_input/circle_area.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/area_input/engine.cfg b/demos/2d/area_input/engine.cfg
deleted file mode 100644
index ce87f39547..0000000000
--- a/demos/2d/area_input/engine.cfg
+++ /dev/null
@@ -1,5 +0,0 @@
-[application]
-
-name="Area 2D Input Events"
-main_scene="res://input.tscn"
-icon="res://icon.png"
diff --git a/demos/2d/area_input/icon.png b/demos/2d/area_input/icon.png
deleted file mode 100644
index 2f412ecf68..0000000000
--- a/demos/2d/area_input/icon.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/area_input/input.gd b/demos/2d/area_input/input.gd
deleted file mode 100644
index e9cc9f3c1d..0000000000
--- a/demos/2d/area_input/input.gd
+++ /dev/null
@@ -1,15 +0,0 @@
-
-extends Area2D
-
-
-# Virtual from CollisionObject2D (also available as signal)
-func _input_event(viewport, event, shape_idx):
- # Convert event to local coordinates
- if (event.type == InputEvent.MOUSE_MOTION):
- event = make_input_local(event)
- get_node("label").set_text(str(event.pos))
-
-
-# Virtual from CollisionObject2D (also available as signal)
-func _mouse_exit():
- get_node("label").set_text("")
diff --git a/demos/2d/area_input/input.tscn b/demos/2d/area_input/input.tscn
deleted file mode 100644
index 81c0ed918d..0000000000
--- a/demos/2d/area_input/input.tscn
+++ /dev/null
@@ -1,109 +0,0 @@
-[gd_scene load_steps=6 format=1]
-
-[ext_resource path="res://input.gd" type="Script" id=1]
-[ext_resource path="res://box_area.png" type="Texture" id=2]
-[ext_resource path="res://circle_area.png" type="Texture" id=3]
-
-[sub_resource type="RectangleShape2D" id=1]
-
-custom_solver_bias = 0.0
-extents = Vector2( 64, 64 )
-
-[sub_resource type="CircleShape2D" id=2]
-
-custom_solver_bias = 0.0
-radius = 64.0
-
-[node name="base" type="Node2D"]
-
-[node name="box" type="Area2D" parent="."]
-
-transform/pos = Vector2( 212, 281 )
-transform/rot = 35.4081
-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="box"]
-
-texture = ExtResource( 2 )
-
-[node name="label" type="Label" parent="box"]
-
-focus/ignore_mouse = true
-focus/stop_mouse = true
-size_flags/horizontal = 2
-margin/left = -43.0
-margin/top = 71.0
-margin/right = 43.0
-margin/bottom = 84.0
-align = 1
-percent_visible = 1.0
-lines_skipped = 0
-max_lines_visible = -1
-
-[node name="shape" type="CollisionShape2D" parent="box"]
-
-shape = SubResource( 1 )
-trigger = false
-_update_shape_index = -1
-
-[node name="circle" type="Area2D" parent="."]
-
-transform/pos = Vector2( 547.877, 286.808 )
-transform/rot = -40.5985
-input/pickable = true
-shapes/0/shape = SubResource( 2 )
-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="circle"]
-
-texture = ExtResource( 3 )
-
-[node name="label" type="Label" parent="circle"]
-
-focus/ignore_mouse = true
-focus/stop_mouse = true
-size_flags/horizontal = 2
-margin/left = -43.0
-margin/top = 71.0
-margin/right = 43.0
-margin/bottom = 84.0
-align = 1
-percent_visible = 1.0
-lines_skipped = 0
-max_lines_visible = -1
-
-[node name="shape" type="CollisionShape2D" parent="circle"]
-
-shape = SubResource( 2 )
-trigger = false
-_update_shape_index = -1
-
-[node name="Label" type="Label" parent="."]
-
-focus/ignore_mouse = true
-focus/stop_mouse = true
-size_flags/horizontal = 2
-margin/left = 0.0
-margin/top = 0.0
-margin/right = 40.0
-margin/bottom = 13.0
-text = "This demo shows how to use a regular Area2D to get input events, and how to convert the input events to local coordinates of the node.\nUnlike controls, Input on Area2D or PhysicsBody2D nodes only works properly (with scrolling) on canvas layer 0."
-percent_visible = 1.0
-lines_skipped = 0
-max_lines_visible = -1
-
-
diff --git a/demos/2d/dynamic_collision_shapes/ball.gd b/demos/2d/dynamic_collision_shapes/ball.gd
deleted file mode 100644
index 169079ea46..0000000000
--- a/demos/2d/dynamic_collision_shapes/ball.gd
+++ /dev/null
@@ -1,17 +0,0 @@
-
-extends RigidBody2D
-
-# Member variables
-var timeout = 5
-
-
-func _process(delta):
- timeout -= delta
- if (timeout < 1):
- set_opacity(timeout)
- if (timeout < 0):
- queue_free()
-
-
-func _ready():
- set_process(true)
diff --git a/demos/2d/dynamic_collision_shapes/ball.png b/demos/2d/dynamic_collision_shapes/ball.png
deleted file mode 100644
index b7cf71da29..0000000000
--- a/demos/2d/dynamic_collision_shapes/ball.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/dynamic_collision_shapes/ball.tscn b/demos/2d/dynamic_collision_shapes/ball.tscn
deleted file mode 100644
index 31560e251b..0000000000
--- a/demos/2d/dynamic_collision_shapes/ball.tscn
+++ /dev/null
@@ -1,47 +0,0 @@
-[gd_scene load_steps=4 format=1]
-
-[ext_resource path="res://ball.gd" type="Script" id=1]
-[ext_resource path="res://ball.png" type="Texture" id=2]
-
-[sub_resource type="CircleShape2D" id=1]
-
-custom_solver_bias = 0.0
-radius = 7.45713
-
-[node name="bal" 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
-script/script = ExtResource( 1 )
-
-[node name="sprite" type="Sprite" parent="."]
-
-transform/pos = Vector2( 0, 1 )
-texture = ExtResource( 2 )
-
-[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
-
-shape = SubResource( 1 )
-trigger = false
-_update_shape_index = 0
-
-
diff --git a/demos/2d/dynamic_collision_shapes/box.png b/demos/2d/dynamic_collision_shapes/box.png
deleted file mode 100644
index f29b83ce38..0000000000
--- a/demos/2d/dynamic_collision_shapes/box.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/dynamic_collision_shapes/circle.png b/demos/2d/dynamic_collision_shapes/circle.png
deleted file mode 100644
index 9fdfa550b1..0000000000
--- a/demos/2d/dynamic_collision_shapes/circle.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/dynamic_collision_shapes/dynamic_colobjs.gd b/demos/2d/dynamic_collision_shapes/dynamic_colobjs.gd
deleted file mode 100644
index c43b82a722..0000000000
--- a/demos/2d/dynamic_collision_shapes/dynamic_colobjs.gd
+++ /dev/null
@@ -1,19 +0,0 @@
-
-extends Node2D
-
-# Member variables
-const EMIT_INTERVAL = 0.1
-var timeout = EMIT_INTERVAL
-
-
-func _process(delta):
- timeout -= delta
- if (timeout < 0):
- timeout = EMIT_INTERVAL
- var ball = preload("res://ball.tscn").instance()
- ball.set_pos(Vector2(randf()*get_viewport_rect().size.x, 0))
- add_child(ball)
-
-
-func _ready():
- set_process(true)
diff --git a/demos/2d/dynamic_collision_shapes/dynamic_colobjs.tscn b/demos/2d/dynamic_collision_shapes/dynamic_colobjs.tscn
deleted file mode 100644
index 61af0b8e7d..0000000000
--- a/demos/2d/dynamic_collision_shapes/dynamic_colobjs.tscn
+++ /dev/null
@@ -1,178 +0,0 @@
-[gd_scene load_steps=13 format=1]
-
-[ext_resource path="res://dynamic_colobjs.gd" type="Script" id=1]
-[ext_resource path="res://circle.png" type="Texture" id=2]
-[ext_resource path="res://box.png" type="Texture" id=3]
-[ext_resource path="res://poly.png" type="Texture" id=4]
-
-[sub_resource type="CircleShape2D" id=1]
-
-custom_solver_bias = 0.0
-radius = 28.8504
-
-[sub_resource type="RectangleShape2D" id=2]
-
-custom_solver_bias = 0.0
-extents = Vector2( 32.1805, 30.0328 )
-
-[sub_resource type="ConvexPolygonShape2D" id=3]
-
-custom_solver_bias = 0.0
-points = Vector2Array( 49.5669, -27.9744, 45.1564, 15.3961, 18.6931, -1.51105 )
-
-[sub_resource type="ConvexPolygonShape2D" id=4]
-
-custom_solver_bias = 0.0
-points = Vector2Array( -55.093, -14.2052, -37.1739, 2.89948, -40.1345, 21.2602, -53.3067, 15.8716 )
-
-[sub_resource type="ConvexPolygonShape2D" id=5]
-
-custom_solver_bias = 0.0
-points = Vector2Array( -40.1345, 21.2602, -37.1739, 2.89948, -14.386, -14.0076, -6.30005, 0.694214 )
-
-[sub_resource type="ConvexPolygonShape2D" id=6]
-
-custom_solver_bias = 0.0
-points = Vector2Array( -14.386, -14.0076, 18.6931, -1.51105, 45.1564, 15.3961, -6.30005, 0.694214 )
-
-[sub_resource type="Animation" id=7]
-
-resource/name = "movethem"
-length = 4.0
-loop = true
-step = 0.1
-tracks/0/type = "value"
-tracks/0/path = NodePath("base/circle:transform/pos")
-tracks/0/interp = 1
-tracks/0/keys = { "cont":true, "times":FloatArray( 0, 2 ), "transitions":FloatArray( 1, 1 ), "values":[ Vector2( 0, 0 ), Vector2( 52.7569, -70.845 ) ] }
-tracks/1/type = "value"
-tracks/1/path = NodePath("base/box:transform/pos")
-tracks/1/interp = 1
-tracks/1/keys = { "cont":true, "times":FloatArray( 0, 2 ), "transitions":FloatArray( 1, 1 ), "values":[ Vector2( 193.173, -2.72076 ), Vector2( 195.894, -72.0999 ) ] }
-tracks/2/type = "value"
-tracks/2/path = NodePath("base/box:transform/rot")
-tracks/2/interp = 1
-tracks/2/keys = { "cont":true, "times":FloatArray( 0, 2 ), "transitions":FloatArray( 1, 1 ), "values":[ 0.0, 92.8111 ] }
-tracks/3/type = "value"
-tracks/3/path = NodePath("base/polygon:transform/pos")
-tracks/3/interp = 1
-tracks/3/keys = { "cont":true, "times":FloatArray( 0, 2 ), "transitions":FloatArray( 1, 1 ), "values":[ Vector2( 382.265, -2.72076 ), Vector2( 495.176, -10.883 ) ] }
-
-[sub_resource type="Animation" id=8]
-
-resource/name = "toggletrigger"
-length = 6.0
-loop = true
-step = 0.1
-tracks/0/type = "value"
-tracks/0/path = NodePath("base/box:trigger")
-tracks/0/interp = 1
-tracks/0/keys = { "cont":false, "times":FloatArray( 0, 4 ), "transitions":FloatArray( 1, 1 ), "values":[ false, true ] }
-tracks/1/type = "value"
-tracks/1/path = NodePath("base/box:visibility/opacity")
-tracks/1/interp = 1
-tracks/1/keys = { "cont":false, "times":FloatArray( 0, 4 ), "transitions":FloatArray( 1, 1 ), "values":[ 1.0, 0.2 ] }
-
-[node name="base" type="Node2D"]
-
-script/script = ExtResource( 1 )
-
-[node name="base" type="KinematicBody2D" parent="."]
-
-transform/pos = Vector2( 137, 470 )
-input/pickable = false
-shapes/0/shape = SubResource( 1 )
-shapes/0/transform = Matrix32( 1, 0, 0, 1, 7.91353, -10.6267 )
-shapes/0/trigger = false
-shapes/1/shape = SubResource( 2 )
-shapes/1/transform = Matrix32( 0.970626, -0.240595, 0.240595, 0.970626, 193.581, -13.1276 )
-shapes/1/trigger = false
-shapes/2/shape = SubResource( 3 )
-shapes/2/transform = Matrix32( 1, 0, 0, 1, 399.202, -3.9451 )
-shapes/2/trigger = false
-shapes/3/shape = SubResource( 4 )
-shapes/3/transform = Matrix32( 1, 0, 0, 1, 399.202, -3.9451 )
-shapes/3/trigger = false
-shapes/4/shape = SubResource( 5 )
-shapes/4/transform = Matrix32( 1, 0, 0, 1, 399.202, -3.9451 )
-shapes/4/trigger = false
-shapes/5/shape = SubResource( 6 )
-shapes/5/transform = Matrix32( 1, 0, 0, 1, 399.202, -3.9451 )
-shapes/5/trigger = false
-collision/layers = 1
-collision/mask = 1
-collision/margin = 0.08
-
-[node name="circle" type="CollisionShape2D" parent="base"]
-
-transform/pos = Vector2( 7.91353, -10.6267 )
-shape = SubResource( 1 )
-trigger = false
-_update_shape_index = 0
-
-[node name="sprite" type="Sprite" parent="base/circle"]
-
-texture = ExtResource( 2 )
-
-[node name="box" type="CollisionShape2D" parent="base"]
-
-transform/pos = Vector2( 193.581, -13.1276 )
-transform/rot = 13.9217
-shape = SubResource( 2 )
-trigger = false
-_update_shape_index = 1
-
-[node name="Sprite" type="Sprite" parent="base/box"]
-
-texture = ExtResource( 3 )
-
-[node name="polygon" type="CollisionPolygon2D" parent="base"]
-
-transform/pos = Vector2( 399.202, -3.9451 )
-build_mode = 0
-polygon = Vector2Array( -55.093, -14.2052, -37.1739, 2.89948, -14.386, -14.0076, 18.6931, -1.51105, 49.5669, -27.9744, 45.1564, 15.3961, -6.30005, 0.694214, -40.1345, 21.2602, -53.3067, 15.8716 )
-shape_range = Vector2( 2, 5 )
-trigger = false
-
-[node name="Sprite" type="Sprite" parent="base/polygon"]
-
-texture = ExtResource( 4 )
-
-[node name="shapemove" type="AnimationPlayer" parent="."]
-
-playback/process_mode = 1
-playback/default_blend_time = 0.0
-root/root = NodePath("..")
-anims/movethem = SubResource( 7 )
-playback/active = true
-playback/speed = 1.0
-blend_times = [ ]
-autoplay = "movethem"
-
-[node name="triggertoggle" type="AnimationPlayer" parent="."]
-
-playback/process_mode = 1
-playback/default_blend_time = 0.0
-root/root = NodePath("..")
-anims/movethem = SubResource( 7 )
-anims/toggletrigger = SubResource( 8 )
-playback/active = true
-playback/speed = 1.0
-blend_times = [ ]
-autoplay = "toggletrigger"
-
-[node name="Label" type="Label" parent="."]
-
-focus/ignore_mouse = true
-focus/stop_mouse = true
-size_flags/horizontal = 2
-margin/left = 21.0
-margin/top = 21.0
-margin/right = 719.0
-margin/bottom = 73.0
-text = "This demo simply shows that it\'s possible now to move a CollisionShape and CollisionPolygon after it was created\nand also turn it into a trigger at run-time. CollisionShape will remain alive during the running game and you can\ninteract with them, even though they are just meant to be helpers.\nIt is always recommended in a real use-case scenario, to move a body instead of a shape, as that path is better optimized."
-percent_visible = 1.0
-lines_skipped = 0
-max_lines_visible = -1
-
-
diff --git a/demos/2d/dynamic_collision_shapes/engine.cfg b/demos/2d/dynamic_collision_shapes/engine.cfg
deleted file mode 100644
index b1feb20408..0000000000
--- a/demos/2d/dynamic_collision_shapes/engine.cfg
+++ /dev/null
@@ -1,5 +0,0 @@
-[application]
-
-name="Run-Time CollisionShape"
-main_scene="res://dynamic_colobjs.tscn"
-icon="res://icon.png"
diff --git a/demos/2d/dynamic_collision_shapes/icon.png b/demos/2d/dynamic_collision_shapes/icon.png
deleted file mode 100644
index b47506d7c8..0000000000
--- a/demos/2d/dynamic_collision_shapes/icon.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/dynamic_collision_shapes/poly.png b/demos/2d/dynamic_collision_shapes/poly.png
deleted file mode 100644
index 49ed55cc7d..0000000000
--- a/demos/2d/dynamic_collision_shapes/poly.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/fog_of_war/engine.cfg b/demos/2d/fog_of_war/engine.cfg
deleted file mode 100644
index 98e20c1e41..0000000000
--- a/demos/2d/fog_of_war/engine.cfg
+++ /dev/null
@@ -1,12 +0,0 @@
-[application]
-
-name="Fog of War"
-main_scene="res://fog.tscn"
-icon="res://icon.png"
-
-[input]
-
-move_up=[key(Up)]
-move_bottom=[key(Down)]
-move_left=[key(Left)]
-move_right=[key(Right)]
diff --git a/demos/2d/fog_of_war/floor.png b/demos/2d/fog_of_war/floor.png
deleted file mode 100644
index 07b4f8c98f..0000000000
--- a/demos/2d/fog_of_war/floor.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/fog_of_war/fog.gd b/demos/2d/fog_of_war/fog.gd
deleted file mode 100644
index 3ac8df0e17..0000000000
--- a/demos/2d/fog_of_war/fog.gd
+++ /dev/null
@@ -1,78 +0,0 @@
-
-extends TileMap
-
-# Member variables
-
-# Boundaries for the fog rectangle
-var x_min = -20 # Left start tile
-var x_max = 20 # Right end tile
-var y_min = -20 # Top start tile
-var y_max = 20 # Bottom end tile
-
-var position # Player's position
-
-# Iteration variables
-var x
-var y
-
-# Variables to check if the player moved
-var x_old
-var y_old
-
-# Array to build up the visible area like a square.
-# First value determines the width/height of the tip.
-# Here it would be 2*2 + 1 = 5 tiles wide/high.
-# Second value determines the total squares size.
-# Here it would be 5*2 + 1 = 10 tiles wide/high.
-var l = range(2, 5)
-
-
-# Process that runs in realtime
-func _fixed_process(delta):
- position = get_node("../troll").get_pos()
-
- # Calculate the corresponding tile
- # from the players position
- x = int(position.x/get_cell_size().x)
- # Switching from positive to negative tile positions
- # causes problems because of rounding problems
- if position.x < 0:
- x -= 1 # Correct negative values
-
- y = int(position.y/get_cell_size().y)
- if (position.y < 0):
- y -= 1
-
- # Check if the player moved one tile further
- if ((x_old != x) or (y_old != y)):
- # Create the transparent part (visited area)
- var end = l.size() - 1
- var start = 0
- for steps in range(l.size()):
- for m in range(x - l[end] - 1, x + l[end] + 2):
- for n in range(y - l[start] - 1, y + l[start] + 2):
- if (get_cell(m, n) != 0):
- set_cell(m, n, 1, 0, 0)
- end -= 1
- start += 1
-
- # Create the actual and active visible part
- var end = l.size() - 1
- var start = 0
- for steps in range(l.size()):
- for m in range(x - l[end], x + l[end] + 1):
- for n in range(y - l[start], y + l[start] + 1):
- set_cell(m, n, -1)
- end -= 1
- start += 1
-
- x_old = x
- y_old = y
-
-
-func _ready():
- # Create a square filled with the 100% opaque fog
- for x in range(x_min, x_max):
- for y in range(y_min, y_max):
- set_cell(x, y, 0, 0, 0)
- set_fixed_process(true)
diff --git a/demos/2d/fog_of_war/fog.png b/demos/2d/fog_of_war/fog.png
deleted file mode 100644
index 56980c298d..0000000000
--- a/demos/2d/fog_of_war/fog.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/fog_of_war/fog.tscn b/demos/2d/fog_of_war/fog.tscn
deleted file mode 100644
index e86a23125c..0000000000
--- a/demos/2d/fog_of_war/fog.tscn
+++ /dev/null
@@ -1,51 +0,0 @@
-[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/icon.png b/demos/2d/fog_of_war/icon.png
deleted file mode 100644
index a483390048..0000000000
--- a/demos/2d/fog_of_war/icon.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/fog_of_war/tileset.tres b/demos/2d/fog_of_war/tileset.tres
deleted file mode 100644
index c75ba8d5f2..0000000000
--- a/demos/2d/fog_of_war/tileset.tres
+++ /dev/null
@@ -1,32 +0,0 @@
-[gd_resource type="TileSet" load_steps=3 format=1]
-
-[ext_resource path="res://fog.png" type="Texture" id=1]
-[ext_resource path="res://floor.png" type="Texture" id=2]
-
-[resource]
-
-0/name = "fog opaque"
-0/texture = ExtResource( 1 )
-0/tex_offset = Vector2( -48, -48 )
-0/region = Rect2( 0, 0, 144, 144 )
-0/occluder_offset = Vector2( 0, 0 )
-0/navigation_offset = Vector2( 0, 0 )
-0/shape_offset = Vector2( 0, 0 )
-0/shapes = [ ]
-1/name = "fog transparent"
-1/texture = ExtResource( 1 )
-1/tex_offset = Vector2( -48, -48 )
-1/region = Rect2( 144, 0, 144, 144 )
-1/occluder_offset = Vector2( 0, 0 )
-1/navigation_offset = Vector2( 0, 0 )
-1/shape_offset = Vector2( 0, 0 )
-1/shapes = [ ]
-2/name = "floor"
-2/texture = ExtResource( 2 )
-2/tex_offset = Vector2( 0, 0 )
-2/region = Rect2( 0, 0, 0, 0 )
-2/occluder_offset = Vector2( 24, 24 )
-2/navigation_offset = Vector2( 24, 24 )
-2/shape_offset = Vector2( 0, 0 )
-2/shapes = [ ]
-
diff --git a/demos/2d/fog_of_war/tileset_edit.tscn b/demos/2d/fog_of_war/tileset_edit.tscn
deleted file mode 100644
index 1573e9d05e..0000000000
--- a/demos/2d/fog_of_war/tileset_edit.tscn
+++ /dev/null
@@ -1,30 +0,0 @@
-[gd_scene load_steps=3 format=1]
-
-[ext_resource path="res://fog.png" type="Texture" id=1]
-[ext_resource path="res://floor.png" type="Texture" id=2]
-
-[node name="Node2D" type="Node2D"]
-
-[node name="fog opaque" type="Sprite" parent="."]
-
-texture = ExtResource( 1 )
-centered = false
-offset = Vector2( -48, -48 )
-region = true
-region_rect = Rect2( 0, 0, 144, 144 )
-
-[node name="fog transparent" type="Sprite" parent="."]
-
-transform/pos = Vector2( 144, 0 )
-texture = ExtResource( 1 )
-centered = false
-offset = Vector2( -48, -48 )
-region = true
-region_rect = Rect2( 144, 0, 144, 144 )
-
-[node name="floor" type="Sprite" parent="."]
-
-transform/pos = Vector2( 264, 24 )
-texture = ExtResource( 2 )
-
-
diff --git a/demos/2d/fog_of_war/troll.gd b/demos/2d/fog_of_war/troll.gd
deleted file mode 100644
index 6f40072e84..0000000000
--- a/demos/2d/fog_of_war/troll.gd
+++ /dev/null
@@ -1,38 +0,0 @@
-
-extends KinematicBody2D
-
-# This is a simple collision demo showing how
-# the kinematic controller works.
-# move() will allow to move the node, and will
-# always move it to a non-colliding spot,
-# as long as it starts from a non-colliding spot too.
-
-# Member variables
-const MOTION_SPEED = 160 # Pixels/second
-
-
-func _fixed_process(delta):
- var motion = Vector2()
-
- if (Input.is_action_pressed("move_up")):
- motion += Vector2(0, -1)
- if (Input.is_action_pressed("move_bottom")):
- motion += Vector2(0, 1)
- if (Input.is_action_pressed("move_left")):
- motion += Vector2(-1, 0)
- if (Input.is_action_pressed("move_right")):
- motion += Vector2(1, 0)
-
- motion = motion.normalized()*MOTION_SPEED*delta
- motion = move(motion)
-
- # Make character slide nicely through the world
- var slide_attempts = 4
- while(is_colliding() and slide_attempts > 0):
- motion = get_collision_normal().slide(motion)
- motion = move(motion)
- slide_attempts -= 1
-
-
-func _ready():
- set_fixed_process(true)
diff --git a/demos/2d/fog_of_war/troll.png b/demos/2d/fog_of_war/troll.png
deleted file mode 100644
index 69f195d034..0000000000
--- a/demos/2d/fog_of_war/troll.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/fog_of_war/troll.tscn b/demos/2d/fog_of_war/troll.tscn
deleted file mode 100644
index 2dc8bdbf67..0000000000
--- a/demos/2d/fog_of_war/troll.tscn
+++ /dev/null
@@ -1,52 +0,0 @@
-[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.gd b/demos/2d/hdr/beach_cave.gd
deleted file mode 100644
index fcc878e565..0000000000
--- a/demos/2d/hdr/beach_cave.gd
+++ /dev/null
@@ -1,21 +0,0 @@
-
-extends Node2D
-
-# Member variables
-const CAVE_LIMIT = 1000
-
-
-func _input(event):
- if (event.type == InputEvent.MOUSE_MOTION and event.button_mask&1):
- var rel_x = event.relative_x
- var cavepos = get_node("cave").get_pos()
- cavepos.x += rel_x
- if (cavepos.x < -CAVE_LIMIT):
- cavepos.x = -CAVE_LIMIT
- elif (cavepos.x > 0):
- cavepos.x = 0
- get_node("cave").set_pos(cavepos)
-
-
-func _ready():
- set_process_input(true)
diff --git a/demos/2d/hdr/beach_cave.tscn b/demos/2d/hdr/beach_cave.tscn
deleted file mode 100644
index f246ff1f42..0000000000
--- a/demos/2d/hdr/beach_cave.tscn
+++ /dev/null
@@ -1,88 +0,0 @@
-[gd_scene load_steps=5 format=1]
-
-[ext_resource path="res://beach_cave.gd" type="Script" id=1]
-[ext_resource path="res://ocean_beach.png" type="Texture" id=2]
-[ext_resource path="res://ocean_cave.png" type="Texture" id=3]
-
-[sub_resource type="Environment" id=1]
-
-ambient_light/enabled = false
-ambient_light/color = Color( 0, 0, 0, 1 )
-ambient_light/energy = 1.0
-fxaa/enabled = false
-background/mode = 5
-background/color = Color( 0, 0, 0, 1 )
-background/energy = 1.0
-background/scale = 1.0
-background/glow = 0.0
-background/canvas_max_layer = null
-glow/enabled = true
-glow/blur_passes = 3
-glow/blur_scale = 1.2
-glow/blur_strength = 1.2
-glow/blur_blend_mode = 0
-glow/bloom = 0.0
-glow/bloom_treshold = 0.5
-dof_blur/enabled = false
-dof_blur/blur_passes = 1
-dof_blur/begin = 100.0
-dof_blur/range = 10.0
-hdr/enabled = true
-hdr/tonemapper = 0.0
-hdr/exposure = 0.5
-hdr/white = 1.0
-hdr/glow_treshold = 0.7
-hdr/glow_scale = 0.5
-hdr/min_luminance = 0.3
-hdr/max_luminance = 8.0
-hdr/exposure_adj_speed = 2.0
-fog/enabled = false
-fog/begin = 100.0
-fog/begin_color = Color( 0, 0, 0, 1 )
-fog/end_color = Color( 0, 0, 0, 1 )
-fog/attenuation = 1.0
-fog/bg = true
-bcs/enabled = false
-bcs/brightness = 1.0
-bcs/contrast = 1.0
-bcs/saturation = 1.0
-srgb/enabled = true
-
-[node name="hdr" type="Node2D"]
-
-script/script = ExtResource( 1 )
-
-[node name="beach" type="Sprite" parent="."]
-
-texture = ExtResource( 2 )
-centered = false
-modulate = Color( 2, 2, 2, 1 )
-
-[node name="cave" type="Sprite" parent="."]
-
-transform/scale = Vector2( 1.2, 1 )
-texture = ExtResource( 3 )
-centered = false
-modulate = Color( 0.233166, 0.221219, 0.23582, 1 )
-
-[node name="environment" type="WorldEnvironment" parent="."]
-
-_import_transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )
-environment = SubResource( 1 )
-
-[node name="Label" type="Label" parent="."]
-
-focus/ignore_mouse = true
-focus/stop_mouse = true
-size_flags/horizontal = 2
-margin/left = 0.0
-margin/top = 0.0
-margin/right = 40.0
-margin/bottom = 13.0
-custom_colors/font_color = Color( 0.213955, 0.205626, 0.20313, 1 )
-text = "Drag Left and Right"
-percent_visible = 1.0
-lines_skipped = 0
-max_lines_visible = -1
-
-
diff --git a/demos/2d/hdr/engine.cfg b/demos/2d/hdr/engine.cfg
deleted file mode 100644
index 4bc2923574..0000000000
--- a/demos/2d/hdr/engine.cfg
+++ /dev/null
@@ -1,14 +0,0 @@
-[application]
-
-name="HDR for 2D"
-main_scene="res://beach_cave.tscn"
-icon="res://icon.png"
-
-[display]
-
-width=1080
-height=720
-
-[rasterizer]
-
-blur_buffer_size=128
diff --git a/demos/2d/hdr/icon.png b/demos/2d/hdr/icon.png
deleted file mode 100644
index 461cd4638a..0000000000
--- a/demos/2d/hdr/icon.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/hdr/ocean_beach.png b/demos/2d/hdr/ocean_beach.png
deleted file mode 100644
index a873d4f61d..0000000000
--- a/demos/2d/hdr/ocean_beach.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/hdr/ocean_beach.png.flags b/demos/2d/hdr/ocean_beach.png.flags
deleted file mode 100644
index 82127bd7d5..0000000000
--- a/demos/2d/hdr/ocean_beach.png.flags
+++ /dev/null
@@ -1 +0,0 @@
-tolinear=true
diff --git a/demos/2d/hdr/ocean_cave.png b/demos/2d/hdr/ocean_cave.png
deleted file mode 100644
index 8875499df3..0000000000
--- a/demos/2d/hdr/ocean_cave.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/hdr/ocean_cave.png.flags b/demos/2d/hdr/ocean_cave.png.flags
deleted file mode 100644
index 82127bd7d5..0000000000
--- a/demos/2d/hdr/ocean_cave.png.flags
+++ /dev/null
@@ -1 +0,0 @@
-tolinear=true
diff --git a/demos/2d/hexamap/WWT-01.png b/demos/2d/hexamap/WWT-01.png
deleted file mode 100644
index 79d75fa4c9..0000000000
--- a/demos/2d/hexamap/WWT-01.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/hexamap/WWT-02.png b/demos/2d/hexamap/WWT-02.png
deleted file mode 100644
index 7dcd1c8cca..0000000000
--- a/demos/2d/hexamap/WWT-02.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/hexamap/WWT-03.png b/demos/2d/hexamap/WWT-03.png
deleted file mode 100644
index 1e76c9a24d..0000000000
--- a/demos/2d/hexamap/WWT-03.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/hexamap/WWT-04.png b/demos/2d/hexamap/WWT-04.png
deleted file mode 100644
index 84a3b90e71..0000000000
--- a/demos/2d/hexamap/WWT-04.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/hexamap/WWT-05.png b/demos/2d/hexamap/WWT-05.png
deleted file mode 100644
index 850747dc8d..0000000000
--- a/demos/2d/hexamap/WWT-05.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/hexamap/WWT-06.png b/demos/2d/hexamap/WWT-06.png
deleted file mode 100644
index 52479e2d26..0000000000
--- a/demos/2d/hexamap/WWT-06.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/hexamap/WWT-07.png b/demos/2d/hexamap/WWT-07.png
deleted file mode 100644
index 87aa8a4102..0000000000
--- a/demos/2d/hexamap/WWT-07.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/hexamap/WWT-08.png b/demos/2d/hexamap/WWT-08.png
deleted file mode 100644
index 0234cccd56..0000000000
--- a/demos/2d/hexamap/WWT-08.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/hexamap/WWT-09.png b/demos/2d/hexamap/WWT-09.png
deleted file mode 100644
index 5467eb58c3..0000000000
--- a/demos/2d/hexamap/WWT-09.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/hexamap/WWT-10.png b/demos/2d/hexamap/WWT-10.png
deleted file mode 100644
index bb0b5ae1ff..0000000000
--- a/demos/2d/hexamap/WWT-10.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/hexamap/WWT-11.png b/demos/2d/hexamap/WWT-11.png
deleted file mode 100644
index 926ad251b4..0000000000
--- a/demos/2d/hexamap/WWT-11.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/hexamap/WWT-12.png b/demos/2d/hexamap/WWT-12.png
deleted file mode 100644
index e6c7d33894..0000000000
--- a/demos/2d/hexamap/WWT-12.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/hexamap/WWT-13.png b/demos/2d/hexamap/WWT-13.png
deleted file mode 100644
index f14e42af6e..0000000000
--- a/demos/2d/hexamap/WWT-13.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/hexamap/WWT-14.png b/demos/2d/hexamap/WWT-14.png
deleted file mode 100644
index 826ed49d18..0000000000
--- a/demos/2d/hexamap/WWT-14.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/hexamap/WWT-15.png b/demos/2d/hexamap/WWT-15.png
deleted file mode 100644
index c62de67c8e..0000000000
--- a/demos/2d/hexamap/WWT-15.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/hexamap/WWT-16.png b/demos/2d/hexamap/WWT-16.png
deleted file mode 100644
index 2e8c289d97..0000000000
--- a/demos/2d/hexamap/WWT-16.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/hexamap/WWT-17.png b/demos/2d/hexamap/WWT-17.png
deleted file mode 100644
index f8c59a4dbe..0000000000
--- a/demos/2d/hexamap/WWT-17.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/hexamap/WWT-18.png b/demos/2d/hexamap/WWT-18.png
deleted file mode 100644
index 05269c843c..0000000000
--- a/demos/2d/hexamap/WWT-18.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/hexamap/WWT-19.png b/demos/2d/hexamap/WWT-19.png
deleted file mode 100644
index 7313ff8871..0000000000
--- a/demos/2d/hexamap/WWT-19.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/hexamap/WWT-20.png b/demos/2d/hexamap/WWT-20.png
deleted file mode 100644
index 2ec6fe94e2..0000000000
--- a/demos/2d/hexamap/WWT-20.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/hexamap/WWT-21.png b/demos/2d/hexamap/WWT-21.png
deleted file mode 100644
index e7a51fa687..0000000000
--- a/demos/2d/hexamap/WWT-21.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/hexamap/WWT-22.png b/demos/2d/hexamap/WWT-22.png
deleted file mode 100644
index 0e4d7729ed..0000000000
--- a/demos/2d/hexamap/WWT-22.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/hexamap/WWT-23.png b/demos/2d/hexamap/WWT-23.png
deleted file mode 100644
index ab1cc895e4..0000000000
--- a/demos/2d/hexamap/WWT-23.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/hexamap/WWT-24.png b/demos/2d/hexamap/WWT-24.png
deleted file mode 100644
index b0a05671cf..0000000000
--- a/demos/2d/hexamap/WWT-24.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/hexamap/WWT-25.png b/demos/2d/hexamap/WWT-25.png
deleted file mode 100644
index 3d90080259..0000000000
--- a/demos/2d/hexamap/WWT-25.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/hexamap/WWT-26.png b/demos/2d/hexamap/WWT-26.png
deleted file mode 100644
index a3baca90a0..0000000000
--- a/demos/2d/hexamap/WWT-26.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/hexamap/engine.cfg b/demos/2d/hexamap/engine.cfg
deleted file mode 100644
index 28043b0860..0000000000
--- a/demos/2d/hexamap/engine.cfg
+++ /dev/null
@@ -1,12 +0,0 @@
-[application]
-
-name="Hexagonal Game"
-main_scene="res://map.tscn"
-icon="res://icon.png"
-
-[input]
-
-move_up=[key(Up)]
-move_left=[key(Left)]
-move_right=[key(Right)]
-move_bottom=[key(Down)]
diff --git a/demos/2d/hexamap/icon.png b/demos/2d/hexamap/icon.png
deleted file mode 100644
index 0fcef95111..0000000000
--- a/demos/2d/hexamap/icon.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/hexamap/map.tscn b/demos/2d/hexamap/map.tscn
deleted file mode 100644
index 3abda31bb0..0000000000
--- a/demos/2d/hexamap/map.tscn
+++ /dev/null
@@ -1,31 +0,0 @@
-[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/tileset.tres b/demos/2d/hexamap/tileset.tres
deleted file mode 100644
index 4538202335..0000000000
--- a/demos/2d/hexamap/tileset.tres
+++ /dev/null
@@ -1,240 +0,0 @@
-[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
deleted file mode 100644
index d400d55fd0..0000000000
--- a/demos/2d/hexamap/tileset_edit.tscn
+++ /dev/null
@@ -1,214 +0,0 @@
-[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.gd b/demos/2d/hexamap/troll.gd
deleted file mode 100644
index 82938fdf10..0000000000
--- a/demos/2d/hexamap/troll.gd
+++ /dev/null
@@ -1,38 +0,0 @@
-
-extends KinematicBody2D
-
-# This is a simple collision demo showing how
-# the kinematic controller works.
-# move() will allow to move the node, and will
-# always move it to a non-colliding spot,
-# as long as it starts from a non-colliding spot too.
-
-# Member variables
-const MOTION_SPEED = 160 # Pixels/second
-
-
-func _fixed_process(delta):
- var motion = Vector2()
-
- if (Input.is_action_pressed("move_up")):
- motion += Vector2(0, -1)
- if (Input.is_action_pressed("move_bottom")):
- motion += Vector2(0, 1)
- if (Input.is_action_pressed("move_left")):
- motion += Vector2(-1, 0)
- if (Input.is_action_pressed("move_right")):
- motion += Vector2(1, 0)
-
- motion = motion.normalized()*MOTION_SPEED*delta
- motion = move(motion)
-
- # Make character slide nicely through the world
- var slide_attempts = 4
- while(is_colliding() and slide_attempts > 0):
- motion = get_collision_normal().slide(motion)
- motion = move(motion)
- slide_attempts -= 1
-
-
-func _ready():
- set_fixed_process(true)
diff --git a/demos/2d/hexamap/troll.png b/demos/2d/hexamap/troll.png
deleted file mode 100644
index 69f195d034..0000000000
--- a/demos/2d/hexamap/troll.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/hexamap/troll.tscn b/demos/2d/hexamap/troll.tscn
deleted file mode 100644
index 2dc8bdbf67..0000000000
--- a/demos/2d/hexamap/troll.tscn
+++ /dev/null
@@ -1,52 +0,0 @@
-[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/dungeon.tscn b/demos/2d/isometric/dungeon.tscn
deleted file mode 100644
index a9f4cfa1e3..0000000000
--- a/demos/2d/isometric/dungeon.tscn
+++ /dev/null
@@ -1,49 +0,0 @@
-[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
deleted file mode 100644
index 4952b524a5..0000000000
--- a/demos/2d/isometric/engine.cfg
+++ /dev/null
@@ -1,21 +0,0 @@
-[application]
-
-name="Isometric Game"
-main_scene="res://dungeon.tscn"
-icon="res://icon.png"
-
-[image_loader]
-
-filter=false
-gen_mipmaps=false
-
-[input]
-
-move_up=[key(Up)]
-move_left=[key(Left)]
-move_right=[key(Right)]
-move_bottom=[key(Down)]
-
-[rasterizer]
-
-use_pixel_snap=true
diff --git a/demos/2d/isometric/icon.png b/demos/2d/isometric/icon.png
deleted file mode 100644
index c8fb5dcb42..0000000000
--- a/demos/2d/isometric/icon.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric/isotiles.png b/demos/2d/isometric/isotiles.png
deleted file mode 100644
index aa5a800f8f..0000000000
--- a/demos/2d/isometric/isotiles.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric/tileset.tres b/demos/2d/isometric/tileset.tres
deleted file mode 100644
index 990ee01b65..0000000000
--- a/demos/2d/isometric/tileset.tres
+++ /dev/null
@@ -1,67 +0,0 @@
-[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
deleted file mode 100644
index 2c83c4b52e..0000000000
--- a/demos/2d/isometric/tileset_edit.tscn
+++ /dev/null
@@ -1,130 +0,0 @@
-[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.gd b/demos/2d/isometric/troll.gd
deleted file mode 100644
index d8d4880df1..0000000000
--- a/demos/2d/isometric/troll.gd
+++ /dev/null
@@ -1,38 +0,0 @@
-
-extends KinematicBody2D
-
-# This is a simple collision demo showing how
-# the kinematic controller works.
-# move() will allow to move the node, and will
-# always move it to a non-colliding spot,
-# as long as it starts from a non-colliding spot too.
-
-# Member variables
-const MOTION_SPEED = 160 # Pixels/seconds
-
-
-func _fixed_process(delta):
- var motion = Vector2()
-
- if (Input.is_action_pressed("move_up")):
- motion += Vector2(0, -1)
- if (Input.is_action_pressed("move_bottom")):
- motion += Vector2(0, 1)
- if (Input.is_action_pressed("move_left")):
- motion += Vector2(-1, 0)
- if (Input.is_action_pressed("move_right")):
- motion += Vector2(1, 0)
-
- motion = motion.normalized()*MOTION_SPEED*delta
- motion = move(motion)
-
- # Make character slide nicely through the world
- var slide_attempts = 4
- while(is_colliding() and slide_attempts > 0):
- motion = get_collision_normal().slide(motion)
- motion = move(motion)
- slide_attempts -= 1
-
-
-func _ready():
- set_fixed_process(true)
diff --git a/demos/2d/isometric/troll.png b/demos/2d/isometric/troll.png
deleted file mode 100644
index 69f195d034..0000000000
--- a/demos/2d/isometric/troll.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric/troll.tscn b/demos/2d/isometric/troll.tscn
deleted file mode 100644
index 00080ba07b..0000000000
--- a/demos/2d/isometric/troll.tscn
+++ /dev/null
@@ -1,53 +0,0 @@
-[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, -0.342697, -0.980721 )
-shapes/0/trigger = false
-collision/layers = 1
-collision/mask = 1
-collision/margin = 0.001
-script/script = ExtResource( 1 )
-
-[node name="Sprite" type="Sprite" parent="."]
-
-transform/pos = Vector2( -3.94334, -36.924 )
-texture = ExtResource( 2 )
-
-[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
-
-transform/pos = Vector2( -0.342697, -0.980721 )
-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_light/character_shader.tres b/demos/2d/isometric_light/character_shader.tres
deleted file mode 100644
index 8737e52e33..0000000000
--- a/demos/2d/isometric_light/character_shader.tres
+++ /dev/null
@@ -1,12 +0,0 @@
-[gd_resource type="CanvasItemMaterial" load_steps=2 format=1]
-
-[sub_resource type="CanvasItemShader" id=1]
-
-_code = { "fragment":"//there is no albedo (all shading is normal)\nuniform color col;\nCOLOR=col;\n//sample normal texture\nvec4 ntex = tex(TEXTURE,UV);\n//take the alpha from the normal texture\nCOLOR.a=ntex.a;\n//adjust normalmap from [0..1] to [-1..1]\nntex.rgb = ntex.rgb * vec3(-2,-2,1) - vec3(-1,-1,0);\n//half size of the tile \nvec2 tile_vec=vec2(47,22);\n//rotation to convert the normal to pseudo 3d coordinates\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)));\n\n//pass the normal\nNORMAL = rot_mat * ntex.rgb;\n\n\n\n\n", "fragment_ofs":0, "light":"//apply the normal as simple diffuse (same as default code)\nvec3 light_normal = normalize(vec3(LIGHT_VEC,-LIGHT_HEIGHT));\nLIGHT=LIGHT_COLOR*COLOR*max(dot(-light_normal,NORMAL),0.0);\n//substract light position to be always aligned to the bottom of the sprite\n//this makes lighting on it look like a billboard\nLIGHT_VEC.y-=VAR1.y;\n", "light_ofs":0, "vertex":"// pass the local sprite coordinates through a varying\n// the red cross in the sprite is the 0,0\nVAR1.xy=SRC_VERTEX;", "vertex_ofs":0 }
-
-[resource]
-
-shader/shader = SubResource( 1 )
-shader/shading_mode = 0
-shader_param/col = Color( 1, 0.836638, 0.693806, 1 )
-
diff --git a/demos/2d/isometric_light/column.tscn b/demos/2d/isometric_light/column.tscn
deleted file mode 100644
index 6693e39b85..0000000000
--- a/demos/2d/isometric_light/column.tscn
+++ /dev/null
@@ -1,52 +0,0 @@
-[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
deleted file mode 100644
index a26d5ae6fb..0000000000
--- a/demos/2d/isometric_light/cubio.gd
+++ /dev/null
@@ -1,85 +0,0 @@
-
-extends KinematicBody2D
-
-# Member variables
-const MAX_SPEED = 300.0
-const IDLE_SPEED = 10.0
-const ACCEL = 5.0
-const VSCALE = 0.5
-const SHOOT_INTERVAL = 0.3
-
-var speed = Vector2()
-var current_anim = ""
-var current_mirror = false
-
-var shoot_countdown = 0
-
-
-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.tscn").instance()
- bullet.advance_dir = dir
- bullet.set_pos(get_global_pos() + dir*60)
- get_parent().add_child(bullet)
- shoot_countdown = SHOOT_INTERVAL
-
-
-func _fixed_process(delta):
- shoot_countdown -= delta
- var dir = Vector2()
- if (Input.is_action_pressed("up")):
- dir += Vector2(0, -1)
- if (Input.is_action_pressed("down")):
- dir += Vector2(0, 1)
- if (Input.is_action_pressed("left")):
- dir += Vector2(-1, 0)
- if (Input.is_action_pressed("right")):
- dir += Vector2(1, 0)
-
- if (dir != Vector2()):
- dir = dir.normalized()
- speed = speed.linear_interpolate(dir*MAX_SPEED, delta*ACCEL)
- var motion = speed*delta
- motion.y *= VSCALE
- motion = move(motion)
-
- if (is_colliding()):
- var n = get_collision_normal()
- motion = n.slide(motion)
- move(motion)
-
- var next_anim = ""
- var next_mirror = false
-
- if (dir == Vector2() and speed.length() < IDLE_SPEED):
- next_anim = "idle"
- next_mirror = false
- elif (speed.length() > IDLE_SPEED*0.1):
- var angle = atan2(abs(speed.x), speed.y)
-
- next_mirror = speed.x > 0
- if (angle < PI/8):
- next_anim = "bottom"
- next_mirror = false
- elif (angle < PI/4 + PI/8):
- next_anim = "bottom_left"
- elif (angle < PI*2/4 + PI/8):
- next_anim = "left"
- elif (angle < PI*3/4 + PI/8):
- next_anim = "top_left"
- else:
- next_anim = "top"
- next_mirror = false
-
- if (next_anim != current_anim or next_mirror != current_mirror):
- get_node("frames").set_flip_h(next_mirror)
- get_node("anim").play(next_anim)
- current_anim = next_anim
- current_mirror = next_mirror
-
-
-func _ready():
- set_fixed_process(true)
- set_process_input(true)
diff --git a/demos/2d/isometric_light/cubio.tscn b/demos/2d/isometric_light/cubio.tscn
deleted file mode 100644
index 164f4d3549..0000000000
--- a/demos/2d/isometric_light/cubio.tscn
+++ /dev/null
@@ -1,327 +0,0 @@
-[gd_scene load_steps=173 format=1]
-
-[ext_resource path="res://cubio.gd" type="Script" id=1]
-[ext_resource path="res://character_shader.tres" type="CanvasItemMaterial" id=2]
-[ext_resource path="res://cubio/idle0001.png" type="Texture" id=3]
-[ext_resource path="res://cubio/idle0002.png" type="Texture" id=4]
-[ext_resource path="res://cubio/idle0003.png" type="Texture" id=5]
-[ext_resource path="res://cubio/idle0004.png" type="Texture" id=6]
-[ext_resource path="res://cubio/idle0005.png" type="Texture" id=7]
-[ext_resource path="res://cubio/idle0006.png" type="Texture" id=8]
-[ext_resource path="res://cubio/idle0007.png" type="Texture" id=9]
-[ext_resource path="res://cubio/idle0008.png" type="Texture" id=10]
-[ext_resource path="res://cubio/idle0009.png" type="Texture" id=11]
-[ext_resource path="res://cubio/idle0010.png" type="Texture" id=12]
-[ext_resource path="res://cubio/idle0011.png" type="Texture" id=13]
-[ext_resource path="res://cubio/idle0012.png" type="Texture" id=14]
-[ext_resource path="res://cubio/idle0013.png" type="Texture" id=15]
-[ext_resource path="res://cubio/idle0014.png" type="Texture" id=16]
-[ext_resource path="res://cubio/idle0015.png" type="Texture" id=17]
-[ext_resource path="res://cubio/idle0016.png" type="Texture" id=18]
-[ext_resource path="res://cubio/idle0017.png" type="Texture" id=19]
-[ext_resource path="res://cubio/idle0018.png" type="Texture" id=20]
-[ext_resource path="res://cubio/idle0019.png" type="Texture" id=21]
-[ext_resource path="res://cubio/idle0020.png" type="Texture" id=22]
-[ext_resource path="res://cubio/idle0021.png" type="Texture" id=23]
-[ext_resource path="res://cubio/idle0022.png" type="Texture" id=24]
-[ext_resource path="res://cubio/idle0023.png" type="Texture" id=25]
-[ext_resource path="res://cubio/idle0024.png" type="Texture" id=26]
-[ext_resource path="res://cubio/idle0025.png" type="Texture" id=27]
-[ext_resource path="res://cubio/idle0026.png" type="Texture" id=28]
-[ext_resource path="res://cubio/idle0027.png" type="Texture" id=29]
-[ext_resource path="res://cubio/idle0028.png" type="Texture" id=30]
-[ext_resource path="res://cubio/idle0029.png" type="Texture" id=31]
-[ext_resource path="res://cubio/idle0030.png" type="Texture" id=32]
-[ext_resource path="res://cubio/idle0031.png" type="Texture" id=33]
-[ext_resource path="res://cubio/idle0032.png" type="Texture" id=34]
-[ext_resource path="res://cubio/idle0033.png" type="Texture" id=35]
-[ext_resource path="res://cubio/idle0034.png" type="Texture" id=36]
-[ext_resource path="res://cubio/idle0035.png" type="Texture" id=37]
-[ext_resource path="res://cubio/idle0036.png" type="Texture" id=38]
-[ext_resource path="res://cubio/idle0037.png" type="Texture" id=39]
-[ext_resource path="res://cubio/idle0038.png" type="Texture" id=40]
-[ext_resource path="res://cubio/idle0039.png" type="Texture" id=41]
-[ext_resource path="res://cubio/idle0040.png" type="Texture" id=42]
-[ext_resource path="res://cubio/idle0041.png" type="Texture" id=43]
-[ext_resource path="res://cubio/idle0042.png" type="Texture" id=44]
-[ext_resource path="res://cubio/idle0043.png" type="Texture" id=45]
-[ext_resource path="res://cubio/idle0044.png" type="Texture" id=46]
-[ext_resource path="res://cubio/idle0045.png" type="Texture" id=47]
-[ext_resource path="res://cubio/idle0046.png" type="Texture" id=48]
-[ext_resource path="res://cubio/idle0047.png" type="Texture" id=49]
-[ext_resource path="res://cubio/idle0048.png" type="Texture" id=50]
-[ext_resource path="res://cubio/idle0049.png" type="Texture" id=51]
-[ext_resource path="res://cubio/idle0050.png" type="Texture" id=52]
-[ext_resource path="res://cubio/idle0051.png" type="Texture" id=53]
-[ext_resource path="res://cubio/idle0052.png" type="Texture" id=54]
-[ext_resource path="res://cubio/idle0053.png" type="Texture" id=55]
-[ext_resource path="res://cubio/idle0054.png" type="Texture" id=56]
-[ext_resource path="res://cubio/idle0055.png" type="Texture" id=57]
-[ext_resource path="res://cubio/idle0056.png" type="Texture" id=58]
-[ext_resource path="res://cubio/idle0057.png" type="Texture" id=59]
-[ext_resource path="res://cubio/idle0058.png" type="Texture" id=60]
-[ext_resource path="res://cubio/idle0059.png" type="Texture" id=61]
-[ext_resource path="res://cubio/idle0060.png" type="Texture" id=62]
-[ext_resource path="res://cubio/norm-b-0001.png" type="Texture" id=63]
-[ext_resource path="res://cubio/norm-b-0002.png" type="Texture" id=64]
-[ext_resource path="res://cubio/norm-b-0003.png" type="Texture" id=65]
-[ext_resource path="res://cubio/norm-b-0004.png" type="Texture" id=66]
-[ext_resource path="res://cubio/norm-b-0005.png" type="Texture" id=67]
-[ext_resource path="res://cubio/norm-b-0006.png" type="Texture" id=68]
-[ext_resource path="res://cubio/norm-b-0007.png" type="Texture" id=69]
-[ext_resource path="res://cubio/norm-b-0008.png" type="Texture" id=70]
-[ext_resource path="res://cubio/norm-b-0009.png" type="Texture" id=71]
-[ext_resource path="res://cubio/norm-b-0010.png" type="Texture" id=72]
-[ext_resource path="res://cubio/norm-b-0011.png" type="Texture" id=73]
-[ext_resource path="res://cubio/norm-b-0012.png" type="Texture" id=74]
-[ext_resource path="res://cubio/norm-b-0013.png" type="Texture" id=75]
-[ext_resource path="res://cubio/norm-b-0014.png" type="Texture" id=76]
-[ext_resource path="res://cubio/norm-b-0015.png" type="Texture" id=77]
-[ext_resource path="res://cubio/norm-b-0016.png" type="Texture" id=78]
-[ext_resource path="res://cubio/norm-b-0017.png" type="Texture" id=79]
-[ext_resource path="res://cubio/norm-b-0018.png" type="Texture" id=80]
-[ext_resource path="res://cubio/norm-b-0019.png" type="Texture" id=81]
-[ext_resource path="res://cubio/norm-b-0020.png" type="Texture" id=82]
-[ext_resource path="res://cubio/norm-bl-0001.png" type="Texture" id=83]
-[ext_resource path="res://cubio/norm-bl-0002.png" type="Texture" id=84]
-[ext_resource path="res://cubio/norm-bl-0003.png" type="Texture" id=85]
-[ext_resource path="res://cubio/norm-bl-0004.png" type="Texture" id=86]
-[ext_resource path="res://cubio/norm-bl-0005.png" type="Texture" id=87]
-[ext_resource path="res://cubio/norm-bl-0006.png" type="Texture" id=88]
-[ext_resource path="res://cubio/norm-bl-0007.png" type="Texture" id=89]
-[ext_resource path="res://cubio/norm-bl-0008.png" type="Texture" id=90]
-[ext_resource path="res://cubio/norm-bl-0009.png" type="Texture" id=91]
-[ext_resource path="res://cubio/norm-bl-0010.png" type="Texture" id=92]
-[ext_resource path="res://cubio/norm-bl-0011.png" type="Texture" id=93]
-[ext_resource path="res://cubio/norm-bl-0012.png" type="Texture" id=94]
-[ext_resource path="res://cubio/norm-bl-0013.png" type="Texture" id=95]
-[ext_resource path="res://cubio/norm-bl-0014.png" type="Texture" id=96]
-[ext_resource path="res://cubio/norm-bl-0015.png" type="Texture" id=97]
-[ext_resource path="res://cubio/norm-bl-0016.png" type="Texture" id=98]
-[ext_resource path="res://cubio/norm-bl-0017.png" type="Texture" id=99]
-[ext_resource path="res://cubio/norm-bl-0018.png" type="Texture" id=100]
-[ext_resource path="res://cubio/norm-bl-0019.png" type="Texture" id=101]
-[ext_resource path="res://cubio/norm-bl-0020.png" type="Texture" id=102]
-[ext_resource path="res://cubio/norm-l-0001.png" type="Texture" id=103]
-[ext_resource path="res://cubio/norm-l-0002.png" type="Texture" id=104]
-[ext_resource path="res://cubio/norm-l-0003.png" type="Texture" id=105]
-[ext_resource path="res://cubio/norm-l-0004.png" type="Texture" id=106]
-[ext_resource path="res://cubio/norm-l-0005.png" type="Texture" id=107]
-[ext_resource path="res://cubio/norm-l-0006.png" type="Texture" id=108]
-[ext_resource path="res://cubio/norm-l-0007.png" type="Texture" id=109]
-[ext_resource path="res://cubio/norm-l-0008.png" type="Texture" id=110]
-[ext_resource path="res://cubio/norm-l-0009.png" type="Texture" id=111]
-[ext_resource path="res://cubio/norm-l-0010.png" type="Texture" id=112]
-[ext_resource path="res://cubio/norm-l-0011.png" type="Texture" id=113]
-[ext_resource path="res://cubio/norm-l-0012.png" type="Texture" id=114]
-[ext_resource path="res://cubio/norm-l-0013.png" type="Texture" id=115]
-[ext_resource path="res://cubio/norm-l-0014.png" type="Texture" id=116]
-[ext_resource path="res://cubio/norm-l-0015.png" type="Texture" id=117]
-[ext_resource path="res://cubio/norm-l-0016.png" type="Texture" id=118]
-[ext_resource path="res://cubio/norm-l-0017.png" type="Texture" id=119]
-[ext_resource path="res://cubio/norm-l-0018.png" type="Texture" id=120]
-[ext_resource path="res://cubio/norm-l-0019.png" type="Texture" id=121]
-[ext_resource path="res://cubio/norm-l-0020.png" type="Texture" id=122]
-[ext_resource path="res://cubio/norm-u-0001.png" type="Texture" id=123]
-[ext_resource path="res://cubio/norm-u-0002.png" type="Texture" id=124]
-[ext_resource path="res://cubio/norm-u-0003.png" type="Texture" id=125]
-[ext_resource path="res://cubio/norm-u-0004.png" type="Texture" id=126]
-[ext_resource path="res://cubio/norm-u-0005.png" type="Texture" id=127]
-[ext_resource path="res://cubio/norm-u-0006.png" type="Texture" id=128]
-[ext_resource path="res://cubio/norm-u-0007.png" type="Texture" id=129]
-[ext_resource path="res://cubio/norm-u-0008.png" type="Texture" id=130]
-[ext_resource path="res://cubio/norm-u-0009.png" type="Texture" id=131]
-[ext_resource path="res://cubio/norm-u-0010.png" type="Texture" id=132]
-[ext_resource path="res://cubio/norm-u-0011.png" type="Texture" id=133]
-[ext_resource path="res://cubio/norm-u-0012.png" type="Texture" id=134]
-[ext_resource path="res://cubio/norm-u-0013.png" type="Texture" id=135]
-[ext_resource path="res://cubio/norm-u-0014.png" type="Texture" id=136]
-[ext_resource path="res://cubio/norm-u-0015.png" type="Texture" id=137]
-[ext_resource path="res://cubio/norm-u-0016.png" type="Texture" id=138]
-[ext_resource path="res://cubio/norm-u-0017.png" type="Texture" id=139]
-[ext_resource path="res://cubio/norm-u-0018.png" type="Texture" id=140]
-[ext_resource path="res://cubio/norm-u-0019.png" type="Texture" id=141]
-[ext_resource path="res://cubio/norm-u-0020.png" type="Texture" id=142]
-[ext_resource path="res://cubio/norm-ul-0001.png" type="Texture" id=143]
-[ext_resource path="res://cubio/norm-ul-0002.png" type="Texture" id=144]
-[ext_resource path="res://cubio/norm-ul-0003.png" type="Texture" id=145]
-[ext_resource path="res://cubio/norm-ul-0004.png" type="Texture" id=146]
-[ext_resource path="res://cubio/norm-ul-0005.png" type="Texture" id=147]
-[ext_resource path="res://cubio/norm-ul-0006.png" type="Texture" id=148]
-[ext_resource path="res://cubio/norm-ul-0007.png" type="Texture" id=149]
-[ext_resource path="res://cubio/norm-ul-0008.png" type="Texture" id=150]
-[ext_resource path="res://cubio/norm-ul-0009.png" type="Texture" id=151]
-[ext_resource path="res://cubio/norm-ul-0010.png" type="Texture" id=152]
-[ext_resource path="res://cubio/norm-ul-0011.png" type="Texture" id=153]
-[ext_resource path="res://cubio/norm-ul-0012.png" type="Texture" id=154]
-[ext_resource path="res://cubio/norm-ul-0013.png" type="Texture" id=155]
-[ext_resource path="res://cubio/norm-ul-0014.png" type="Texture" id=156]
-[ext_resource path="res://cubio/norm-ul-0015.png" type="Texture" id=157]
-[ext_resource path="res://cubio/norm-ul-0016.png" type="Texture" id=158]
-[ext_resource path="res://cubio/norm-ul-0017.png" type="Texture" id=159]
-[ext_resource path="res://cubio/norm-ul-0018.png" type="Texture" id=160]
-[ext_resource path="res://cubio/norm-ul-0019.png" type="Texture" id=161]
-[ext_resource path="res://cubio/norm-ul-0020.png" type="Texture" id=162]
-[ext_resource path="res://light2.png" type="Texture" id=163]
-[ext_resource path="res://shadow_blob.png" type="Texture" id=164]
-
-[sub_resource type="CircleShape2D" id=1]
-
-custom_solver_bias = 0.0
-radius = 20.0
-
-[sub_resource type="SpriteFrames" id=2]
-
-frames = [ ExtResource( 3 ), ExtResource( 4 ), ExtResource( 5 ), ExtResource( 6 ), ExtResource( 7 ), ExtResource( 8 ), ExtResource( 9 ), ExtResource( 10 ), ExtResource( 11 ), ExtResource( 12 ), ExtResource( 13 ), ExtResource( 14 ), ExtResource( 15 ), ExtResource( 16 ), ExtResource( 17 ), ExtResource( 18 ), ExtResource( 19 ), ExtResource( 20 ), ExtResource( 21 ), ExtResource( 22 ), ExtResource( 23 ), ExtResource( 24 ), ExtResource( 25 ), ExtResource( 26 ), ExtResource( 27 ), ExtResource( 28 ), ExtResource( 29 ), ExtResource( 30 ), ExtResource( 31 ), ExtResource( 32 ), ExtResource( 33 ), ExtResource( 34 ), ExtResource( 35 ), ExtResource( 36 ), ExtResource( 37 ), ExtResource( 38 ), ExtResource( 39 ), ExtResource( 40 ), ExtResource( 41 ), ExtResource( 42 ), ExtResource( 43 ), ExtResource( 44 ), ExtResource( 45 ), ExtResource( 46 ), ExtResource( 47 ), ExtResource( 48 ), ExtResource( 49 ), ExtResource( 50 ), ExtResource( 51 ), ExtResource( 52 ), ExtResource( 53 ), ExtResource( 54 ), ExtResource( 55 ), ExtResource( 56 ), ExtResource( 57 ), ExtResource( 58 ), ExtResource( 59 ), ExtResource( 60 ), ExtResource( 61 ), ExtResource( 62 ), ExtResource( 63 ), ExtResource( 64 ), ExtResource( 65 ), ExtResource( 66 ), ExtResource( 67 ), ExtResource( 68 ), ExtResource( 69 ), ExtResource( 70 ), ExtResource( 71 ), ExtResource( 72 ), ExtResource( 73 ), ExtResource( 74 ), ExtResource( 75 ), ExtResource( 76 ), ExtResource( 77 ), ExtResource( 78 ), ExtResource( 79 ), ExtResource( 80 ), ExtResource( 81 ), ExtResource( 82 ), ExtResource( 83 ), ExtResource( 84 ), ExtResource( 85 ), ExtResource( 86 ), ExtResource( 87 ), ExtResource( 88 ), ExtResource( 89 ), ExtResource( 90 ), ExtResource( 91 ), ExtResource( 92 ), ExtResource( 93 ), ExtResource( 94 ), ExtResource( 95 ), ExtResource( 96 ), ExtResource( 97 ), ExtResource( 98 ), ExtResource( 99 ), ExtResource( 100 ), ExtResource( 101 ), ExtResource( 102 ), ExtResource( 103 ), ExtResource( 104 ), ExtResource( 105 ), ExtResource( 106 ), ExtResource( 107 ), ExtResource( 108 ), ExtResource( 109 ), ExtResource( 110 ), ExtResource( 111 ), ExtResource( 112 ), ExtResource( 113 ), ExtResource( 114 ), ExtResource( 115 ), ExtResource( 116 ), ExtResource( 117 ), ExtResource( 118 ), ExtResource( 119 ), ExtResource( 120 ), ExtResource( 121 ), ExtResource( 122 ), ExtResource( 123 ), ExtResource( 124 ), ExtResource( 125 ), ExtResource( 126 ), ExtResource( 127 ), ExtResource( 128 ), ExtResource( 129 ), ExtResource( 130 ), ExtResource( 131 ), ExtResource( 132 ), ExtResource( 133 ), ExtResource( 134 ), ExtResource( 135 ), ExtResource( 136 ), ExtResource( 137 ), ExtResource( 138 ), ExtResource( 139 ), ExtResource( 140 ), ExtResource( 141 ), ExtResource( 142 ), ExtResource( 143 ), ExtResource( 144 ), ExtResource( 145 ), ExtResource( 146 ), ExtResource( 147 ), ExtResource( 148 ), ExtResource( 149 ), ExtResource( 150 ), ExtResource( 151 ), ExtResource( 152 ), ExtResource( 153 ), ExtResource( 154 ), ExtResource( 155 ), ExtResource( 156 ), ExtResource( 157 ), ExtResource( 158 ), ExtResource( 159 ), ExtResource( 160 ), ExtResource( 161 ), ExtResource( 162 ) ]
-
-[sub_resource type="Animation" id=3]
-
-resource/name = "bottom"
-length = 0.95
-loop = true
-step = 0.1
-tracks/0/type = "value"
-tracks/0/path = NodePath("frames:frame")
-tracks/0/interp = 1
-tracks/0/keys = { "cont":false, "times":FloatArray( 0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95 ), "transitions":FloatArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ), "values":[ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79 ] }
-
-[sub_resource type="Animation" id=4]
-
-length = 0.95
-loop = true
-step = 0.1
-tracks/0/type = "value"
-tracks/0/path = NodePath("frames:frame")
-tracks/0/interp = 1
-tracks/0/keys = { "cont":false, "times":FloatArray( 0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95 ), "transitions":FloatArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ), "values":[ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99 ] }
-
-[sub_resource type="Animation" id=5]
-
-length = 3.0
-loop = true
-step = 0.1
-tracks/0/type = "value"
-tracks/0/path = NodePath("frames:frame")
-tracks/0/interp = 1
-tracks/0/keys = { "cont":false, "times":FloatArray( 0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95, 1, 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45, 1.5, 1.55, 1.6, 1.65, 1.7, 1.75, 1.8, 1.85, 1.9, 1.95, 2, 2.05, 2.1, 2.15, 2.2, 2.25, 2.3, 2.35, 2.4, 2.45, 2.5, 2.55, 2.6, 2.65, 2.7, 2.75, 2.8, 2.85, 2.9, 2.95, 3 ), "transitions":FloatArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ), "values":[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 55, 56, 57, 58, 59 ] }
-
-[sub_resource type="Animation" id=6]
-
-length = 0.95
-loop = true
-step = 0.1
-tracks/0/type = "value"
-tracks/0/path = NodePath("frames:frame")
-tracks/0/interp = 1
-tracks/0/keys = { "cont":false, "times":FloatArray( 0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95 ), "transitions":FloatArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ), "values":[ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119 ] }
-
-[sub_resource type="Animation" id=7]
-
-length = 0.95
-loop = true
-step = 0.1
-tracks/0/type = "value"
-tracks/0/path = NodePath("frames:frame")
-tracks/0/interp = 1
-tracks/0/keys = { "cont":false, "times":FloatArray( 0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95 ), "transitions":FloatArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ), "values":[ 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139 ] }
-
-[sub_resource type="Animation" id=8]
-
-length = 0.95
-loop = true
-step = 0.1
-tracks/0/type = "value"
-tracks/0/path = NodePath("frames:frame")
-tracks/0/interp = 1
-tracks/0/keys = { "cont":false, "times":FloatArray( 0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95 ), "transitions":FloatArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ), "values":[ 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159 ] }
-
-[node name="cubio" type="KinematicBody2D"]
-
-visibility/light_mask = 2
-input/pickable = false
-shapes/0/shape = SubResource( 1 )
-shapes/0/transform = Matrix32( 1, 0, 0, 1, -0.397217, -9.30363 )
-shapes/0/trigger = false
-collision/layers = 1
-collision/mask = 1
-collision/margin = 0.08
-script/script = ExtResource( 1 )
-
-[node name="frames" type="AnimatedSprite" parent="."]
-
-material/material = ExtResource( 2 )
-frames = SubResource( 2 )
-frame = 140
-offset = Vector2( 0.397217, -52.4323 )
-
-[node name="shape" type="CollisionShape2D" parent="."]
-
-transform/pos = Vector2( -0.397217, -9.30363 )
-shape = SubResource( 1 )
-trigger = false
-_update_shape_index = -1
-
-[node name="camera" 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
-
-[node name="anim" type="AnimationPlayer" parent="."]
-
-playback/process_mode = 1
-playback/default_blend_time = 0.0
-root/root = NodePath("..")
-anims/bottom = SubResource( 3 )
-anims/bottom_left = SubResource( 4 )
-anims/idle = SubResource( 5 )
-anims/left = SubResource( 6 )
-anims/top = SubResource( 7 )
-anims/top_left = SubResource( 8 )
-playback/active = true
-playback/speed = 1.0
-blend_times = [ ]
-autoplay = "idle"
-
-[node name="Light2D" type="Light2D" parent="."]
-
-transform/pos = Vector2( -0.140442, 2.64355 )
-enabled = true
-texture = ExtResource( 163 )
-offset = Vector2( 0, 0 )
-scale = 8.0
-color = Color( 1, 1, 1, 1 )
-energy = 1.0
-mode = 0
-range/height = 100.0
-range/z_min = -1024
-range/z_max = 1024
-range/layer_min = 0
-range/layer_max = 0
-range/item_mask = 3
-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="Sprite" type="Sprite" parent="."]
-
-visibility/opacity = 0.3
-texture = ExtResource( 164 )
-offset = Vector2( 0, -5.72164 )
-
-
diff --git a/demos/2d/isometric_light/cubio/idle0001.png b/demos/2d/isometric_light/cubio/idle0001.png
deleted file mode 100644
index 837dd38f9c..0000000000
--- a/demos/2d/isometric_light/cubio/idle0001.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0002.png b/demos/2d/isometric_light/cubio/idle0002.png
deleted file mode 100644
index 6137a37a9d..0000000000
--- a/demos/2d/isometric_light/cubio/idle0002.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0003.png b/demos/2d/isometric_light/cubio/idle0003.png
deleted file mode 100644
index 7f3e3e0e31..0000000000
--- a/demos/2d/isometric_light/cubio/idle0003.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0004.png b/demos/2d/isometric_light/cubio/idle0004.png
deleted file mode 100644
index 0a697dadf9..0000000000
--- a/demos/2d/isometric_light/cubio/idle0004.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0005.png b/demos/2d/isometric_light/cubio/idle0005.png
deleted file mode 100644
index 9c47197247..0000000000
--- a/demos/2d/isometric_light/cubio/idle0005.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0006.png b/demos/2d/isometric_light/cubio/idle0006.png
deleted file mode 100644
index 717a7be5b1..0000000000
--- a/demos/2d/isometric_light/cubio/idle0006.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0007.png b/demos/2d/isometric_light/cubio/idle0007.png
deleted file mode 100644
index dde18399f3..0000000000
--- a/demos/2d/isometric_light/cubio/idle0007.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0008.png b/demos/2d/isometric_light/cubio/idle0008.png
deleted file mode 100644
index 0f716a5d84..0000000000
--- a/demos/2d/isometric_light/cubio/idle0008.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0009.png b/demos/2d/isometric_light/cubio/idle0009.png
deleted file mode 100644
index d271373f9d..0000000000
--- a/demos/2d/isometric_light/cubio/idle0009.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0010.png b/demos/2d/isometric_light/cubio/idle0010.png
deleted file mode 100644
index 61311be0eb..0000000000
--- a/demos/2d/isometric_light/cubio/idle0010.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0011.png b/demos/2d/isometric_light/cubio/idle0011.png
deleted file mode 100644
index 0b7d32d138..0000000000
--- a/demos/2d/isometric_light/cubio/idle0011.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0012.png b/demos/2d/isometric_light/cubio/idle0012.png
deleted file mode 100644
index c176034cfa..0000000000
--- a/demos/2d/isometric_light/cubio/idle0012.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0013.png b/demos/2d/isometric_light/cubio/idle0013.png
deleted file mode 100644
index c37018154b..0000000000
--- a/demos/2d/isometric_light/cubio/idle0013.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0014.png b/demos/2d/isometric_light/cubio/idle0014.png
deleted file mode 100644
index a4613e4269..0000000000
--- a/demos/2d/isometric_light/cubio/idle0014.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0015.png b/demos/2d/isometric_light/cubio/idle0015.png
deleted file mode 100644
index 8354588b72..0000000000
--- a/demos/2d/isometric_light/cubio/idle0015.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0016.png b/demos/2d/isometric_light/cubio/idle0016.png
deleted file mode 100644
index 4e5796fb89..0000000000
--- a/demos/2d/isometric_light/cubio/idle0016.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0017.png b/demos/2d/isometric_light/cubio/idle0017.png
deleted file mode 100644
index a4ac7e8c43..0000000000
--- a/demos/2d/isometric_light/cubio/idle0017.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0018.png b/demos/2d/isometric_light/cubio/idle0018.png
deleted file mode 100644
index aa7cc8fe6c..0000000000
--- a/demos/2d/isometric_light/cubio/idle0018.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0019.png b/demos/2d/isometric_light/cubio/idle0019.png
deleted file mode 100644
index 3ab603ceda..0000000000
--- a/demos/2d/isometric_light/cubio/idle0019.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0020.png b/demos/2d/isometric_light/cubio/idle0020.png
deleted file mode 100644
index 9f02648f1a..0000000000
--- a/demos/2d/isometric_light/cubio/idle0020.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0021.png b/demos/2d/isometric_light/cubio/idle0021.png
deleted file mode 100644
index ec37fc331f..0000000000
--- a/demos/2d/isometric_light/cubio/idle0021.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0022.png b/demos/2d/isometric_light/cubio/idle0022.png
deleted file mode 100644
index 34bf331af0..0000000000
--- a/demos/2d/isometric_light/cubio/idle0022.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0023.png b/demos/2d/isometric_light/cubio/idle0023.png
deleted file mode 100644
index 80a458146e..0000000000
--- a/demos/2d/isometric_light/cubio/idle0023.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0024.png b/demos/2d/isometric_light/cubio/idle0024.png
deleted file mode 100644
index cd08c6d14a..0000000000
--- a/demos/2d/isometric_light/cubio/idle0024.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0025.png b/demos/2d/isometric_light/cubio/idle0025.png
deleted file mode 100644
index de500512d4..0000000000
--- a/demos/2d/isometric_light/cubio/idle0025.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0026.png b/demos/2d/isometric_light/cubio/idle0026.png
deleted file mode 100644
index 4a8335a248..0000000000
--- a/demos/2d/isometric_light/cubio/idle0026.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0027.png b/demos/2d/isometric_light/cubio/idle0027.png
deleted file mode 100644
index c3d1609a03..0000000000
--- a/demos/2d/isometric_light/cubio/idle0027.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0028.png b/demos/2d/isometric_light/cubio/idle0028.png
deleted file mode 100644
index 96c1f32223..0000000000
--- a/demos/2d/isometric_light/cubio/idle0028.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0029.png b/demos/2d/isometric_light/cubio/idle0029.png
deleted file mode 100644
index 5b72d02300..0000000000
--- a/demos/2d/isometric_light/cubio/idle0029.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0030.png b/demos/2d/isometric_light/cubio/idle0030.png
deleted file mode 100644
index a84787bf0a..0000000000
--- a/demos/2d/isometric_light/cubio/idle0030.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0031.png b/demos/2d/isometric_light/cubio/idle0031.png
deleted file mode 100644
index dc9cd7ddc5..0000000000
--- a/demos/2d/isometric_light/cubio/idle0031.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0032.png b/demos/2d/isometric_light/cubio/idle0032.png
deleted file mode 100644
index c99f2e52bc..0000000000
--- a/demos/2d/isometric_light/cubio/idle0032.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0033.png b/demos/2d/isometric_light/cubio/idle0033.png
deleted file mode 100644
index cf5c648f9e..0000000000
--- a/demos/2d/isometric_light/cubio/idle0033.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0034.png b/demos/2d/isometric_light/cubio/idle0034.png
deleted file mode 100644
index 8e18e12d8d..0000000000
--- a/demos/2d/isometric_light/cubio/idle0034.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0035.png b/demos/2d/isometric_light/cubio/idle0035.png
deleted file mode 100644
index ee2c25ee96..0000000000
--- a/demos/2d/isometric_light/cubio/idle0035.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0036.png b/demos/2d/isometric_light/cubio/idle0036.png
deleted file mode 100644
index f452b5db33..0000000000
--- a/demos/2d/isometric_light/cubio/idle0036.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0037.png b/demos/2d/isometric_light/cubio/idle0037.png
deleted file mode 100644
index 7768c712e3..0000000000
--- a/demos/2d/isometric_light/cubio/idle0037.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0038.png b/demos/2d/isometric_light/cubio/idle0038.png
deleted file mode 100644
index 1200127116..0000000000
--- a/demos/2d/isometric_light/cubio/idle0038.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0039.png b/demos/2d/isometric_light/cubio/idle0039.png
deleted file mode 100644
index 25219f0582..0000000000
--- a/demos/2d/isometric_light/cubio/idle0039.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0040.png b/demos/2d/isometric_light/cubio/idle0040.png
deleted file mode 100644
index 8da0a81050..0000000000
--- a/demos/2d/isometric_light/cubio/idle0040.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0041.png b/demos/2d/isometric_light/cubio/idle0041.png
deleted file mode 100644
index fa102aec8a..0000000000
--- a/demos/2d/isometric_light/cubio/idle0041.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0042.png b/demos/2d/isometric_light/cubio/idle0042.png
deleted file mode 100644
index 0d19c32572..0000000000
--- a/demos/2d/isometric_light/cubio/idle0042.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0043.png b/demos/2d/isometric_light/cubio/idle0043.png
deleted file mode 100644
index bf284c62d0..0000000000
--- a/demos/2d/isometric_light/cubio/idle0043.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0044.png b/demos/2d/isometric_light/cubio/idle0044.png
deleted file mode 100644
index 3daa1be0b8..0000000000
--- a/demos/2d/isometric_light/cubio/idle0044.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0045.png b/demos/2d/isometric_light/cubio/idle0045.png
deleted file mode 100644
index 92abe74295..0000000000
--- a/demos/2d/isometric_light/cubio/idle0045.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0046.png b/demos/2d/isometric_light/cubio/idle0046.png
deleted file mode 100644
index 2a1ab0f036..0000000000
--- a/demos/2d/isometric_light/cubio/idle0046.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0047.png b/demos/2d/isometric_light/cubio/idle0047.png
deleted file mode 100644
index da38b835ef..0000000000
--- a/demos/2d/isometric_light/cubio/idle0047.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0048.png b/demos/2d/isometric_light/cubio/idle0048.png
deleted file mode 100644
index 35fac1b602..0000000000
--- a/demos/2d/isometric_light/cubio/idle0048.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0049.png b/demos/2d/isometric_light/cubio/idle0049.png
deleted file mode 100644
index 7ebd79b8d7..0000000000
--- a/demos/2d/isometric_light/cubio/idle0049.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0050.png b/demos/2d/isometric_light/cubio/idle0050.png
deleted file mode 100644
index ba0678ba87..0000000000
--- a/demos/2d/isometric_light/cubio/idle0050.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0051.png b/demos/2d/isometric_light/cubio/idle0051.png
deleted file mode 100644
index 03c54f1232..0000000000
--- a/demos/2d/isometric_light/cubio/idle0051.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0052.png b/demos/2d/isometric_light/cubio/idle0052.png
deleted file mode 100644
index 0e2c8b5d9f..0000000000
--- a/demos/2d/isometric_light/cubio/idle0052.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0053.png b/demos/2d/isometric_light/cubio/idle0053.png
deleted file mode 100644
index d95095937f..0000000000
--- a/demos/2d/isometric_light/cubio/idle0053.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0054.png b/demos/2d/isometric_light/cubio/idle0054.png
deleted file mode 100644
index 5a09fce69e..0000000000
--- a/demos/2d/isometric_light/cubio/idle0054.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0055.png b/demos/2d/isometric_light/cubio/idle0055.png
deleted file mode 100644
index 6e2aad9d70..0000000000
--- a/demos/2d/isometric_light/cubio/idle0055.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0056.png b/demos/2d/isometric_light/cubio/idle0056.png
deleted file mode 100644
index 45813e953f..0000000000
--- a/demos/2d/isometric_light/cubio/idle0056.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0057.png b/demos/2d/isometric_light/cubio/idle0057.png
deleted file mode 100644
index 579b4e1647..0000000000
--- a/demos/2d/isometric_light/cubio/idle0057.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0058.png b/demos/2d/isometric_light/cubio/idle0058.png
deleted file mode 100644
index 236f290651..0000000000
--- a/demos/2d/isometric_light/cubio/idle0058.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0059.png b/demos/2d/isometric_light/cubio/idle0059.png
deleted file mode 100644
index 837dd38f9c..0000000000
--- a/demos/2d/isometric_light/cubio/idle0059.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/idle0060.png b/demos/2d/isometric_light/cubio/idle0060.png
deleted file mode 100644
index 837dd38f9c..0000000000
--- a/demos/2d/isometric_light/cubio/idle0060.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-b-0001.png b/demos/2d/isometric_light/cubio/norm-b-0001.png
deleted file mode 100644
index cda17e21cc..0000000000
--- a/demos/2d/isometric_light/cubio/norm-b-0001.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-b-0002.png b/demos/2d/isometric_light/cubio/norm-b-0002.png
deleted file mode 100644
index fb36728cdf..0000000000
--- a/demos/2d/isometric_light/cubio/norm-b-0002.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-b-0003.png b/demos/2d/isometric_light/cubio/norm-b-0003.png
deleted file mode 100644
index c8bfecb100..0000000000
--- a/demos/2d/isometric_light/cubio/norm-b-0003.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-b-0004.png b/demos/2d/isometric_light/cubio/norm-b-0004.png
deleted file mode 100644
index e91213434f..0000000000
--- a/demos/2d/isometric_light/cubio/norm-b-0004.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-b-0005.png b/demos/2d/isometric_light/cubio/norm-b-0005.png
deleted file mode 100644
index a823fe9a92..0000000000
--- a/demos/2d/isometric_light/cubio/norm-b-0005.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-b-0006.png b/demos/2d/isometric_light/cubio/norm-b-0006.png
deleted file mode 100644
index d9de12baad..0000000000
--- a/demos/2d/isometric_light/cubio/norm-b-0006.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-b-0007.png b/demos/2d/isometric_light/cubio/norm-b-0007.png
deleted file mode 100644
index f042eed408..0000000000
--- a/demos/2d/isometric_light/cubio/norm-b-0007.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-b-0008.png b/demos/2d/isometric_light/cubio/norm-b-0008.png
deleted file mode 100644
index e18ca607dd..0000000000
--- a/demos/2d/isometric_light/cubio/norm-b-0008.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-b-0009.png b/demos/2d/isometric_light/cubio/norm-b-0009.png
deleted file mode 100644
index 7e7ddd4c63..0000000000
--- a/demos/2d/isometric_light/cubio/norm-b-0009.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-b-0010.png b/demos/2d/isometric_light/cubio/norm-b-0010.png
deleted file mode 100644
index fddb956099..0000000000
--- a/demos/2d/isometric_light/cubio/norm-b-0010.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-b-0011.png b/demos/2d/isometric_light/cubio/norm-b-0011.png
deleted file mode 100644
index 240a50a9ec..0000000000
--- a/demos/2d/isometric_light/cubio/norm-b-0011.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-b-0012.png b/demos/2d/isometric_light/cubio/norm-b-0012.png
deleted file mode 100644
index 3e38628e98..0000000000
--- a/demos/2d/isometric_light/cubio/norm-b-0012.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-b-0013.png b/demos/2d/isometric_light/cubio/norm-b-0013.png
deleted file mode 100644
index 2380e76909..0000000000
--- a/demos/2d/isometric_light/cubio/norm-b-0013.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-b-0014.png b/demos/2d/isometric_light/cubio/norm-b-0014.png
deleted file mode 100644
index db374927c6..0000000000
--- a/demos/2d/isometric_light/cubio/norm-b-0014.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-b-0015.png b/demos/2d/isometric_light/cubio/norm-b-0015.png
deleted file mode 100644
index 1cd0e762c5..0000000000
--- a/demos/2d/isometric_light/cubio/norm-b-0015.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-b-0016.png b/demos/2d/isometric_light/cubio/norm-b-0016.png
deleted file mode 100644
index 0d894db3f4..0000000000
--- a/demos/2d/isometric_light/cubio/norm-b-0016.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-b-0017.png b/demos/2d/isometric_light/cubio/norm-b-0017.png
deleted file mode 100644
index c184af8e85..0000000000
--- a/demos/2d/isometric_light/cubio/norm-b-0017.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-b-0018.png b/demos/2d/isometric_light/cubio/norm-b-0018.png
deleted file mode 100644
index 1db06014b7..0000000000
--- a/demos/2d/isometric_light/cubio/norm-b-0018.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-b-0019.png b/demos/2d/isometric_light/cubio/norm-b-0019.png
deleted file mode 100644
index e74c9c7954..0000000000
--- a/demos/2d/isometric_light/cubio/norm-b-0019.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-b-0020.png b/demos/2d/isometric_light/cubio/norm-b-0020.png
deleted file mode 100644
index 326e60c64a..0000000000
--- a/demos/2d/isometric_light/cubio/norm-b-0020.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-bl-0001.png b/demos/2d/isometric_light/cubio/norm-bl-0001.png
deleted file mode 100644
index 0b36e8caa3..0000000000
--- a/demos/2d/isometric_light/cubio/norm-bl-0001.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-bl-0002.png b/demos/2d/isometric_light/cubio/norm-bl-0002.png
deleted file mode 100644
index f00166d140..0000000000
--- a/demos/2d/isometric_light/cubio/norm-bl-0002.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-bl-0003.png b/demos/2d/isometric_light/cubio/norm-bl-0003.png
deleted file mode 100644
index d84993e097..0000000000
--- a/demos/2d/isometric_light/cubio/norm-bl-0003.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-bl-0004.png b/demos/2d/isometric_light/cubio/norm-bl-0004.png
deleted file mode 100644
index 8e4c7f278b..0000000000
--- a/demos/2d/isometric_light/cubio/norm-bl-0004.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-bl-0005.png b/demos/2d/isometric_light/cubio/norm-bl-0005.png
deleted file mode 100644
index 5009f2a514..0000000000
--- a/demos/2d/isometric_light/cubio/norm-bl-0005.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-bl-0006.png b/demos/2d/isometric_light/cubio/norm-bl-0006.png
deleted file mode 100644
index d0d654de6e..0000000000
--- a/demos/2d/isometric_light/cubio/norm-bl-0006.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-bl-0007.png b/demos/2d/isometric_light/cubio/norm-bl-0007.png
deleted file mode 100644
index 2df2437a0d..0000000000
--- a/demos/2d/isometric_light/cubio/norm-bl-0007.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-bl-0008.png b/demos/2d/isometric_light/cubio/norm-bl-0008.png
deleted file mode 100644
index 4bb8e91ecc..0000000000
--- a/demos/2d/isometric_light/cubio/norm-bl-0008.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-bl-0009.png b/demos/2d/isometric_light/cubio/norm-bl-0009.png
deleted file mode 100644
index e4ab80ab72..0000000000
--- a/demos/2d/isometric_light/cubio/norm-bl-0009.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-bl-0010.png b/demos/2d/isometric_light/cubio/norm-bl-0010.png
deleted file mode 100644
index 7ead89343f..0000000000
--- a/demos/2d/isometric_light/cubio/norm-bl-0010.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-bl-0011.png b/demos/2d/isometric_light/cubio/norm-bl-0011.png
deleted file mode 100644
index 9714999645..0000000000
--- a/demos/2d/isometric_light/cubio/norm-bl-0011.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-bl-0012.png b/demos/2d/isometric_light/cubio/norm-bl-0012.png
deleted file mode 100644
index 95e0117df8..0000000000
--- a/demos/2d/isometric_light/cubio/norm-bl-0012.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-bl-0013.png b/demos/2d/isometric_light/cubio/norm-bl-0013.png
deleted file mode 100644
index 85d4f25e7e..0000000000
--- a/demos/2d/isometric_light/cubio/norm-bl-0013.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-bl-0014.png b/demos/2d/isometric_light/cubio/norm-bl-0014.png
deleted file mode 100644
index 3c9cc526d0..0000000000
--- a/demos/2d/isometric_light/cubio/norm-bl-0014.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-bl-0015.png b/demos/2d/isometric_light/cubio/norm-bl-0015.png
deleted file mode 100644
index 3e30649ce1..0000000000
--- a/demos/2d/isometric_light/cubio/norm-bl-0015.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-bl-0016.png b/demos/2d/isometric_light/cubio/norm-bl-0016.png
deleted file mode 100644
index f39399c369..0000000000
--- a/demos/2d/isometric_light/cubio/norm-bl-0016.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-bl-0017.png b/demos/2d/isometric_light/cubio/norm-bl-0017.png
deleted file mode 100644
index 47f79741a1..0000000000
--- a/demos/2d/isometric_light/cubio/norm-bl-0017.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-bl-0018.png b/demos/2d/isometric_light/cubio/norm-bl-0018.png
deleted file mode 100644
index 8f4ccdcf33..0000000000
--- a/demos/2d/isometric_light/cubio/norm-bl-0018.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-bl-0019.png b/demos/2d/isometric_light/cubio/norm-bl-0019.png
deleted file mode 100644
index a278ec0f05..0000000000
--- a/demos/2d/isometric_light/cubio/norm-bl-0019.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-bl-0020.png b/demos/2d/isometric_light/cubio/norm-bl-0020.png
deleted file mode 100644
index db5fd0b73c..0000000000
--- a/demos/2d/isometric_light/cubio/norm-bl-0020.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-l-0001.png b/demos/2d/isometric_light/cubio/norm-l-0001.png
deleted file mode 100644
index 7a989e79dd..0000000000
--- a/demos/2d/isometric_light/cubio/norm-l-0001.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-l-0002.png b/demos/2d/isometric_light/cubio/norm-l-0002.png
deleted file mode 100644
index 2257923ee6..0000000000
--- a/demos/2d/isometric_light/cubio/norm-l-0002.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-l-0003.png b/demos/2d/isometric_light/cubio/norm-l-0003.png
deleted file mode 100644
index 2e264e49a4..0000000000
--- a/demos/2d/isometric_light/cubio/norm-l-0003.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-l-0004.png b/demos/2d/isometric_light/cubio/norm-l-0004.png
deleted file mode 100644
index e0061451d6..0000000000
--- a/demos/2d/isometric_light/cubio/norm-l-0004.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-l-0005.png b/demos/2d/isometric_light/cubio/norm-l-0005.png
deleted file mode 100644
index e16cca081c..0000000000
--- a/demos/2d/isometric_light/cubio/norm-l-0005.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-l-0006.png b/demos/2d/isometric_light/cubio/norm-l-0006.png
deleted file mode 100644
index 694c2163eb..0000000000
--- a/demos/2d/isometric_light/cubio/norm-l-0006.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-l-0007.png b/demos/2d/isometric_light/cubio/norm-l-0007.png
deleted file mode 100644
index ed2ae64cad..0000000000
--- a/demos/2d/isometric_light/cubio/norm-l-0007.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-l-0008.png b/demos/2d/isometric_light/cubio/norm-l-0008.png
deleted file mode 100644
index 4bbaeb8006..0000000000
--- a/demos/2d/isometric_light/cubio/norm-l-0008.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-l-0009.png b/demos/2d/isometric_light/cubio/norm-l-0009.png
deleted file mode 100644
index 1f53a1067b..0000000000
--- a/demos/2d/isometric_light/cubio/norm-l-0009.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-l-0010.png b/demos/2d/isometric_light/cubio/norm-l-0010.png
deleted file mode 100644
index 2007942a2a..0000000000
--- a/demos/2d/isometric_light/cubio/norm-l-0010.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-l-0011.png b/demos/2d/isometric_light/cubio/norm-l-0011.png
deleted file mode 100644
index 0c27288646..0000000000
--- a/demos/2d/isometric_light/cubio/norm-l-0011.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-l-0012.png b/demos/2d/isometric_light/cubio/norm-l-0012.png
deleted file mode 100644
index 8b885bcee8..0000000000
--- a/demos/2d/isometric_light/cubio/norm-l-0012.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-l-0013.png b/demos/2d/isometric_light/cubio/norm-l-0013.png
deleted file mode 100644
index ed08c9a470..0000000000
--- a/demos/2d/isometric_light/cubio/norm-l-0013.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-l-0014.png b/demos/2d/isometric_light/cubio/norm-l-0014.png
deleted file mode 100644
index 3b6088c9a0..0000000000
--- a/demos/2d/isometric_light/cubio/norm-l-0014.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-l-0015.png b/demos/2d/isometric_light/cubio/norm-l-0015.png
deleted file mode 100644
index 1ffa2b8cda..0000000000
--- a/demos/2d/isometric_light/cubio/norm-l-0015.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-l-0016.png b/demos/2d/isometric_light/cubio/norm-l-0016.png
deleted file mode 100644
index 00279dc052..0000000000
--- a/demos/2d/isometric_light/cubio/norm-l-0016.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-l-0017.png b/demos/2d/isometric_light/cubio/norm-l-0017.png
deleted file mode 100644
index 1805000a78..0000000000
--- a/demos/2d/isometric_light/cubio/norm-l-0017.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-l-0018.png b/demos/2d/isometric_light/cubio/norm-l-0018.png
deleted file mode 100644
index 1ff123533f..0000000000
--- a/demos/2d/isometric_light/cubio/norm-l-0018.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-l-0019.png b/demos/2d/isometric_light/cubio/norm-l-0019.png
deleted file mode 100644
index 2faf043a2b..0000000000
--- a/demos/2d/isometric_light/cubio/norm-l-0019.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-l-0020.png b/demos/2d/isometric_light/cubio/norm-l-0020.png
deleted file mode 100644
index 7948d2d79d..0000000000
--- a/demos/2d/isometric_light/cubio/norm-l-0020.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-u-0001.png b/demos/2d/isometric_light/cubio/norm-u-0001.png
deleted file mode 100644
index 6c702ba7c3..0000000000
--- a/demos/2d/isometric_light/cubio/norm-u-0001.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-u-0002.png b/demos/2d/isometric_light/cubio/norm-u-0002.png
deleted file mode 100644
index 9a151e049b..0000000000
--- a/demos/2d/isometric_light/cubio/norm-u-0002.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-u-0003.png b/demos/2d/isometric_light/cubio/norm-u-0003.png
deleted file mode 100644
index 0b7464260a..0000000000
--- a/demos/2d/isometric_light/cubio/norm-u-0003.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-u-0004.png b/demos/2d/isometric_light/cubio/norm-u-0004.png
deleted file mode 100644
index 89061fdbcf..0000000000
--- a/demos/2d/isometric_light/cubio/norm-u-0004.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-u-0005.png b/demos/2d/isometric_light/cubio/norm-u-0005.png
deleted file mode 100644
index efc8ab0157..0000000000
--- a/demos/2d/isometric_light/cubio/norm-u-0005.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-u-0006.png b/demos/2d/isometric_light/cubio/norm-u-0006.png
deleted file mode 100644
index a89ef58f46..0000000000
--- a/demos/2d/isometric_light/cubio/norm-u-0006.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-u-0007.png b/demos/2d/isometric_light/cubio/norm-u-0007.png
deleted file mode 100644
index b069591200..0000000000
--- a/demos/2d/isometric_light/cubio/norm-u-0007.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-u-0008.png b/demos/2d/isometric_light/cubio/norm-u-0008.png
deleted file mode 100644
index 8f0dbe8016..0000000000
--- a/demos/2d/isometric_light/cubio/norm-u-0008.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-u-0009.png b/demos/2d/isometric_light/cubio/norm-u-0009.png
deleted file mode 100644
index d4698f2584..0000000000
--- a/demos/2d/isometric_light/cubio/norm-u-0009.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-u-0010.png b/demos/2d/isometric_light/cubio/norm-u-0010.png
deleted file mode 100644
index cc3d442d4a..0000000000
--- a/demos/2d/isometric_light/cubio/norm-u-0010.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-u-0011.png b/demos/2d/isometric_light/cubio/norm-u-0011.png
deleted file mode 100644
index 43c505d7e4..0000000000
--- a/demos/2d/isometric_light/cubio/norm-u-0011.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-u-0012.png b/demos/2d/isometric_light/cubio/norm-u-0012.png
deleted file mode 100644
index d4f955fd0c..0000000000
--- a/demos/2d/isometric_light/cubio/norm-u-0012.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-u-0013.png b/demos/2d/isometric_light/cubio/norm-u-0013.png
deleted file mode 100644
index 08dd875a54..0000000000
--- a/demos/2d/isometric_light/cubio/norm-u-0013.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-u-0014.png b/demos/2d/isometric_light/cubio/norm-u-0014.png
deleted file mode 100644
index 4bea108a46..0000000000
--- a/demos/2d/isometric_light/cubio/norm-u-0014.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-u-0015.png b/demos/2d/isometric_light/cubio/norm-u-0015.png
deleted file mode 100644
index 943c556706..0000000000
--- a/demos/2d/isometric_light/cubio/norm-u-0015.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-u-0016.png b/demos/2d/isometric_light/cubio/norm-u-0016.png
deleted file mode 100644
index d71a69c5a6..0000000000
--- a/demos/2d/isometric_light/cubio/norm-u-0016.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-u-0017.png b/demos/2d/isometric_light/cubio/norm-u-0017.png
deleted file mode 100644
index 2d74e4472c..0000000000
--- a/demos/2d/isometric_light/cubio/norm-u-0017.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-u-0018.png b/demos/2d/isometric_light/cubio/norm-u-0018.png
deleted file mode 100644
index 17a5b10acb..0000000000
--- a/demos/2d/isometric_light/cubio/norm-u-0018.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-u-0019.png b/demos/2d/isometric_light/cubio/norm-u-0019.png
deleted file mode 100644
index e376c843e1..0000000000
--- a/demos/2d/isometric_light/cubio/norm-u-0019.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-u-0020.png b/demos/2d/isometric_light/cubio/norm-u-0020.png
deleted file mode 100644
index fa1d3521ca..0000000000
--- a/demos/2d/isometric_light/cubio/norm-u-0020.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-ul-0001.png b/demos/2d/isometric_light/cubio/norm-ul-0001.png
deleted file mode 100644
index 3e75621260..0000000000
--- a/demos/2d/isometric_light/cubio/norm-ul-0001.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-ul-0002.png b/demos/2d/isometric_light/cubio/norm-ul-0002.png
deleted file mode 100644
index d48d902936..0000000000
--- a/demos/2d/isometric_light/cubio/norm-ul-0002.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-ul-0003.png b/demos/2d/isometric_light/cubio/norm-ul-0003.png
deleted file mode 100644
index 703cef6715..0000000000
--- a/demos/2d/isometric_light/cubio/norm-ul-0003.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-ul-0004.png b/demos/2d/isometric_light/cubio/norm-ul-0004.png
deleted file mode 100644
index 7dd3e2884e..0000000000
--- a/demos/2d/isometric_light/cubio/norm-ul-0004.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-ul-0005.png b/demos/2d/isometric_light/cubio/norm-ul-0005.png
deleted file mode 100644
index 1281b9ceb8..0000000000
--- a/demos/2d/isometric_light/cubio/norm-ul-0005.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-ul-0006.png b/demos/2d/isometric_light/cubio/norm-ul-0006.png
deleted file mode 100644
index e3c58752e9..0000000000
--- a/demos/2d/isometric_light/cubio/norm-ul-0006.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-ul-0007.png b/demos/2d/isometric_light/cubio/norm-ul-0007.png
deleted file mode 100644
index ccec10c83c..0000000000
--- a/demos/2d/isometric_light/cubio/norm-ul-0007.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-ul-0008.png b/demos/2d/isometric_light/cubio/norm-ul-0008.png
deleted file mode 100644
index 1243c7dfe8..0000000000
--- a/demos/2d/isometric_light/cubio/norm-ul-0008.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-ul-0009.png b/demos/2d/isometric_light/cubio/norm-ul-0009.png
deleted file mode 100644
index 77ea3ca8e9..0000000000
--- a/demos/2d/isometric_light/cubio/norm-ul-0009.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-ul-0010.png b/demos/2d/isometric_light/cubio/norm-ul-0010.png
deleted file mode 100644
index cf1cb7d0e3..0000000000
--- a/demos/2d/isometric_light/cubio/norm-ul-0010.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-ul-0011.png b/demos/2d/isometric_light/cubio/norm-ul-0011.png
deleted file mode 100644
index 1063ee29a8..0000000000
--- a/demos/2d/isometric_light/cubio/norm-ul-0011.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-ul-0012.png b/demos/2d/isometric_light/cubio/norm-ul-0012.png
deleted file mode 100644
index a896237161..0000000000
--- a/demos/2d/isometric_light/cubio/norm-ul-0012.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-ul-0013.png b/demos/2d/isometric_light/cubio/norm-ul-0013.png
deleted file mode 100644
index cc289b18a0..0000000000
--- a/demos/2d/isometric_light/cubio/norm-ul-0013.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-ul-0014.png b/demos/2d/isometric_light/cubio/norm-ul-0014.png
deleted file mode 100644
index faf36e82b6..0000000000
--- a/demos/2d/isometric_light/cubio/norm-ul-0014.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-ul-0015.png b/demos/2d/isometric_light/cubio/norm-ul-0015.png
deleted file mode 100644
index 925be82a2e..0000000000
--- a/demos/2d/isometric_light/cubio/norm-ul-0015.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-ul-0016.png b/demos/2d/isometric_light/cubio/norm-ul-0016.png
deleted file mode 100644
index 1cb2300b9d..0000000000
--- a/demos/2d/isometric_light/cubio/norm-ul-0016.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-ul-0017.png b/demos/2d/isometric_light/cubio/norm-ul-0017.png
deleted file mode 100644
index 5a841b57af..0000000000
--- a/demos/2d/isometric_light/cubio/norm-ul-0017.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-ul-0018.png b/demos/2d/isometric_light/cubio/norm-ul-0018.png
deleted file mode 100644
index 2b30df8988..0000000000
--- a/demos/2d/isometric_light/cubio/norm-ul-0018.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-ul-0019.png b/demos/2d/isometric_light/cubio/norm-ul-0019.png
deleted file mode 100644
index 12c0a72d6d..0000000000
--- a/demos/2d/isometric_light/cubio/norm-ul-0019.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/cubio/norm-ul-0020.png b/demos/2d/isometric_light/cubio/norm-ul-0020.png
deleted file mode 100644
index 3cffda17ca..0000000000
--- a/demos/2d/isometric_light/cubio/norm-ul-0020.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/energy.png b/demos/2d/isometric_light/energy.png
deleted file mode 100644
index 237e3ea4f0..0000000000
--- a/demos/2d/isometric_light/energy.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/engine.cfg b/demos/2d/isometric_light/engine.cfg
deleted file mode 100644
index e653d4750e..0000000000
--- a/demos/2d/isometric_light/engine.cfg
+++ /dev/null
@@ -1,20 +0,0 @@
-[application]
-
-name="Isometric 2D + Lighting"
-main_scene="res://map.tscn"
-icon="res://icon.png"
-
-[input]
-
-up=[key(Up), key(W)]
-down=[key(S), key(Down)]
-left=[key(Left), key(A)]
-right=[key(Right), key(D)]
-
-[rasterizer]
-
-shadow_filter=0
-
-[render]
-
-default_clear_color=#ff000000
diff --git a/demos/2d/isometric_light/faceColor.png b/demos/2d/isometric_light/faceColor.png
deleted file mode 100644
index c6daf73cb7..0000000000
--- a/demos/2d/isometric_light/faceColor.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/faceMask.png b/demos/2d/isometric_light/faceMask.png
deleted file mode 100644
index d91e968c8e..0000000000
--- a/demos/2d/isometric_light/faceMask.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/faceNormal.png b/demos/2d/isometric_light/faceNormal.png
deleted file mode 100644
index 651f075fa1..0000000000
--- a/demos/2d/isometric_light/faceNormal.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/fire.png b/demos/2d/isometric_light/fire.png
deleted file mode 100644
index 746e4f9f4b..0000000000
--- a/demos/2d/isometric_light/fire.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/floor_shader.tres b/demos/2d/isometric_light/floor_shader.tres
deleted file mode 100644
index e8f616cf1f..0000000000
--- a/demos/2d/isometric_light/floor_shader.tres
+++ /dev/null
@@ -1,14 +0,0 @@
-[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/icon.png b/demos/2d/isometric_light/icon.png
deleted file mode 100644
index 0801f78ea5..0000000000
--- a/demos/2d/isometric_light/icon.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/light2.png b/demos/2d/isometric_light/light2.png
deleted file mode 100644
index cd473251aa..0000000000
--- a/demos/2d/isometric_light/light2.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/map.gd b/demos/2d/isometric_light/map.gd
deleted file mode 100644
index 6b790ddf1c..0000000000
--- a/demos/2d/isometric_light/map.gd
+++ /dev/null
@@ -1,7 +0,0 @@
-
-extends Node2D
-
-
-func _on_prince_area_body_enter(body):
- if (body.get_name() == "cubio"):
- get_node("message").show()
diff --git a/demos/2d/isometric_light/map.tscn b/demos/2d/isometric_light/map.tscn
deleted file mode 100644
index 3c65f9ecfc..0000000000
--- a/demos/2d/isometric_light/map.tscn
+++ /dev/null
@@ -1,261 +0,0 @@
-[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/shadow_blob.png b/demos/2d/isometric_light/shadow_blob.png
deleted file mode 100644
index e97fd2a826..0000000000
--- a/demos/2d/isometric_light/shadow_blob.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/shoot.gd b/demos/2d/isometric_light/shoot.gd
deleted file mode 100644
index b48d4ad34b..0000000000
--- a/demos/2d/isometric_light/shoot.gd
+++ /dev/null
@@ -1,21 +0,0 @@
-
-extends KinematicBody2D
-
-# Member variables
-const ADVANCE_SPEED = 500.0
-
-var advance_dir = Vector2(1, 0)
-var hit = false
-
-
-func _fixed_process(delta):
- if (hit):
- return
- move(advance_dir*delta*ADVANCE_SPEED)
- if (is_colliding()):
- get_node("anim").play("explode")
- hit = true
-
-
-func _ready():
- set_fixed_process(true)
diff --git a/demos/2d/isometric_light/shoot.tscn b/demos/2d/isometric_light/shoot.tscn
deleted file mode 100644
index 0a49b33d0b..0000000000
--- a/demos/2d/isometric_light/shoot.tscn
+++ /dev/null
@@ -1,172 +0,0 @@
-[gd_scene load_steps=10 format=1]
-
-[ext_resource path="res://shoot.gd" type="Script" id=1]
-[ext_resource path="res://energy.png" type="Texture" id=2]
-[ext_resource path="res://shoot_halo.png" type="Texture" id=3]
-
-[sub_resource type="CircleShape2D" id=1]
-
-custom_solver_bias = 0.0
-radius = 10.0
-
-[sub_resource type="CanvasItemMaterial" id=2]
-
-shader/shading_mode = 0
-
-[sub_resource type="Animation" id=3]
-
-length = 1.0
-loop = false
-step = 0.1
-tracks/0/type = "value"
-tracks/0/path = NodePath("explosion:config/emitting")
-tracks/0/interp = 1
-tracks/0/keys = { "cont":false, "times":FloatArray( 0, 0.3 ), "transitions":FloatArray( 1, 1 ), "values":[ true, false ] }
-tracks/1/type = "value"
-tracks/1/path = NodePath("Sprite:visibility/opacity")
-tracks/1/interp = 1
-tracks/1/keys = { "cont":true, "times":FloatArray( 0, 0.2 ), "transitions":FloatArray( 1, 1 ), "values":[ 1.0, 0.0 ] }
-tracks/2/type = "value"
-tracks/2/path = NodePath("energy1:config/emitting")
-tracks/2/interp = 1
-tracks/2/keys = { "cont":false, "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "values":[ false ] }
-tracks/3/type = "value"
-tracks/3/path = NodePath("light:color")
-tracks/3/interp = 1
-tracks/3/keys = { "cont":true, "times":FloatArray( 0, 0.5 ), "transitions":FloatArray( 1, 1 ), "values":[ Color( 1, 3, 2, 1 ), Color( 0, 0, 0, 0 ) ] }
-tracks/4/type = "method"
-tracks/4/path = NodePath(".")
-tracks/4/interp = 1
-tracks/4/keys = { "times":FloatArray( 0.9 ), "transitions":FloatArray( 1 ), "values":[ { "args":[ ], "method":"queue_free" } ] }
-
-[sub_resource type="Animation" id=4]
-
-length = 1.0
-loop = true
-step = 0.1
-tracks/0/type = "value"
-tracks/0/path = NodePath("Sprite:transform/rot")
-tracks/0/interp = 1
-tracks/0/keys = { "cont":true, "times":FloatArray( 0, 1 ), "transitions":FloatArray( 1, 1 ), "values":[ 0.0, 360.0 ] }
-
-[sub_resource type="ColorRamp" id=5]
-
-offsets = FloatArray( 0, 1 )
-colors = ColorArray( 1, 1, 1, 1, 1, 0.617074, 0.704795, 0.0653235 )
-
-[sub_resource type="ColorRamp" id=6]
-
-offsets = FloatArray( 0, 1 )
-colors = ColorArray( 1, 1, 1, 1, 1, 0.617074, 0.704795, 0.0653235 )
-
-[node name="shoot" 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.08
-script/script = ExtResource( 1 )
-
-[node name="Sprite" type="Sprite" parent="."]
-
-material/material = SubResource( 2 )
-transform/pos = Vector2( -1.46303, -58.521 )
-texture = ExtResource( 2 )
-
-[node name="anim" type="AnimationPlayer" parent="."]
-
-playback/process_mode = 1
-playback/default_blend_time = 0.0
-root/root = NodePath("..")
-anims/explode = SubResource( 3 )
-anims/spin = SubResource( 4 )
-playback/active = true
-playback/speed = 1.0
-blend_times = [ ]
-autoplay = ""
-
-[node name="light" type="Light2D" parent="."]
-
-enabled = true
-texture = ExtResource( 3 )
-offset = Vector2( 0, 0 )
-scale = 1.0
-color = Color( 1, 3, 2, 1 )
-energy = 1.0
-mode = 0
-range/height = 80.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="shape" type="CollisionShape2D" parent="."]
-
-shape = SubResource( 1 )
-trigger = false
-_update_shape_index = -1
-
-[node name="energy1" type="Particles2D" parent="."]
-
-visibility/blend_mode = 1
-transform/pos = Vector2( -1.06581, -61.3015 )
-config/amount = 32
-config/lifetime = 0.6
-config/local_space = false
-config/texture = ExtResource( 2 )
-params/direction = 0.0
-params/spread = 180.0
-params/linear_velocity = 60.0
-params/spin_velocity = 0.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 = 0.8
-params/final_size = 0.1
-params/hue_variation = 0.0
-params/anim_speed_scale = 1.0
-params/anim_initial_pos = 0.0
-color/color_ramp = SubResource( 5 )
-
-[node name="explosion" type="Particles2D" parent="."]
-
-visibility/blend_mode = 1
-transform/pos = Vector2( -1.06581, -61.3015 )
-config/amount = 32
-config/lifetime = 0.6
-config/emitting = false
-config/local_space = false
-config/explosiveness = 0.1
-config/texture = ExtResource( 2 )
-params/direction = 0.0
-params/spread = 180.0
-params/linear_velocity = 200.0
-params/spin_velocity = 0.0
-params/orbit_velocity = 0.0
-params/gravity_direction = 0.0
-params/gravity_strength = 200.0
-params/radial_accel = 0.0
-params/tangential_accel = 0.0
-params/damping = 0.0
-params/initial_angle = 0.0
-params/initial_size = 0.8
-params/final_size = 0.1
-params/hue_variation = 0.0
-params/anim_speed_scale = 1.0
-params/anim_initial_pos = 0.0
-color/color_ramp = SubResource( 6 )
-
-
diff --git a/demos/2d/isometric_light/shoot_halo.png b/demos/2d/isometric_light/shoot_halo.png
deleted file mode 100644
index 5ba954b32b..0000000000
--- a/demos/2d/isometric_light/shoot_halo.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/tileset.tres b/demos/2d/isometric_light/tileset.tres
deleted file mode 100644
index c6ccb9f956..0000000000
--- a/demos/2d/isometric_light/tileset.tres
+++ /dev/null
@@ -1,216 +0,0 @@
-[gd_resource type="TileSet" load_steps=22 format=1]
-
-[ext_resource path="res://floor_shader.tres" type="CanvasItemMaterial" id=1]
-[ext_resource path="res://faceColor.png" type="Texture" id=2]
-[ext_resource path="res://wall_shader.tres" type="CanvasItemMaterial" id=3]
-
-[sub_resource type="OccluderPolygon2D" id=1]
-
-closed = false
-cull_mode = 0
-polygon = Vector2Array( 0, -22, 48, 0 )
-
-[sub_resource type="ConvexPolygonShape2D" id=2]
-
-custom_solver_bias = 0.0
-points = Vector2Array( 48, 0, 0, -22, 0, -44, 48, -22 )
-
-[sub_resource type="OccluderPolygon2D" id=3]
-
-closed = false
-cull_mode = 0
-polygon = Vector2Array( -48, 0, 0, 22, 48, 0 )
-
-[sub_resource type="ConvexPolygonShape2D" id=4]
-
-custom_solver_bias = 0.0
-points = Vector2Array( -48, 0, 0, -22, 48, 0, 0, 22 )
-
-[sub_resource type="OccluderPolygon2D" id=5]
-
-closed = false
-cull_mode = 0
-polygon = Vector2Array( 0, -22, 48, 0, 0, 22 )
-
-[sub_resource type="ConvexPolygonShape2D" id=6]
-
-custom_solver_bias = 0.0
-points = Vector2Array( 48, 0, 0, 22, 0, -22 )
-
-[sub_resource type="OccluderPolygon2D" id=7]
-
-closed = false
-cull_mode = 0
-polygon = Vector2Array( 0, -22, -48, 0, 0, 22 )
-
-[sub_resource type="ConvexPolygonShape2D" id=8]
-
-custom_solver_bias = 0.0
-points = Vector2Array( -48, 0, 0, -22, 0, 22 )
-
-[sub_resource type="OccluderPolygon2D" id=9]
-
-closed = false
-cull_mode = 0
-polygon = Vector2Array( -48, 0, 0, -22, 48, 0 )
-
-[sub_resource type="ConvexPolygonShape2D" id=10]
-
-custom_solver_bias = 0.0
-points = Vector2Array( 0, -22, 48, 0, -48, 0 )
-
-[sub_resource type="OccluderPolygon2D" id=11]
-
-closed = false
-cull_mode = 0
-polygon = Vector2Array( -48, 0, 0, 22, 48, 0 )
-
-[sub_resource type="ConvexPolygonShape2D" id=12]
-
-custom_solver_bias = 0.0
-points = Vector2Array( 48, 0, 0, 22, -48, 0 )
-
-[sub_resource type="OccluderPolygon2D" id=13]
-
-closed = false
-cull_mode = 0
-polygon = Vector2Array( 0, 22, 48, 0 )
-
-[sub_resource type="ConvexPolygonShape2D" id=14]
-
-custom_solver_bias = 0.0
-points = Vector2Array( 0, 22, 0, 0, 48, -22, 48, 0 )
-
-[sub_resource type="OccluderPolygon2D" id=15]
-
-closed = false
-cull_mode = 0
-polygon = Vector2Array( -48, 0, 0, 22 )
-
-[sub_resource type="ConvexPolygonShape2D" id=16]
-
-custom_solver_bias = 0.0
-points = Vector2Array( -48, -22, 0, 0, 0, 22, -48, 0 )
-
-[sub_resource type="OccluderPolygon2D" id=17]
-
-closed = false
-cull_mode = 0
-polygon = Vector2Array( -48, 0, 0, -22 )
-
-[sub_resource type="ConvexPolygonShape2D" id=18]
-
-custom_solver_bias = 0.0
-points = Vector2Array( 0, -44, 0, -22, -48, 0, -48, -22 )
-
-[resource]
-
-0/name = "floor1"
-0/texture = ExtResource( 2 )
-0/tex_offset = Vector2( 0, 28 )
-0/material = ExtResource( 1 )
-0/region = Rect2( 311, 760, 197, 151 )
-0/occluder_offset = Vector2( 98.5, 75.5 )
-0/navigation_offset = Vector2( 98.5, 75.5 )
-0/shape_offset = Vector2( 0, 0 )
-0/shapes = [ ]
-1/name = "floor2"
-1/texture = ExtResource( 2 )
-1/tex_offset = Vector2( 0, 28 )
-1/material = ExtResource( 1 )
-1/region = Rect2( 591, 772, 197, 151 )
-1/occluder_offset = Vector2( 98.5, 75.5 )
-1/navigation_offset = Vector2( 98.5, 75.5 )
-1/shape_offset = Vector2( 0, 0 )
-1/shapes = [ ]
-2/name = "block"
-2/texture = ExtResource( 2 )
-2/tex_offset = Vector2( 0, -60 )
-2/material = ExtResource( 3 )
-2/region = Rect2( 844, 527, 138, 180 )
-2/occluder_offset = Vector2( 69, 90 )
-2/occluder = SubResource( 3 )
-2/navigation_offset = Vector2( 69, 90 )
-2/shape_offset = Vector2( 69, 90 )
-2/shapes = [ SubResource( 4 ) ]
-3/name = "q_right"
-3/texture = ExtResource( 2 )
-3/tex_offset = Vector2( 0, -60 )
-3/material = ExtResource( 3 )
-3/region = Rect2( 665, 528, 139, 178 )
-3/occluder_offset = Vector2( 69.5, 89 )
-3/occluder = SubResource( 5 )
-3/navigation_offset = Vector2( 69.5, 89 )
-3/shape_offset = Vector2( 69.5, 89 )
-3/shapes = [ SubResource( 6 ) ]
-4/name = "q_left"
-4/texture = ExtResource( 2 )
-4/tex_offset = Vector2( 0, -60 )
-4/material = ExtResource( 3 )
-4/region = Rect2( 292, 528, 139, 178 )
-4/occluder_offset = Vector2( 69.5, 89 )
-4/occluder = SubResource( 7 )
-4/navigation_offset = Vector2( 69.5, 89 )
-4/shape_offset = Vector2( 69.5, 89 )
-4/shapes = [ SubResource( 8 ) ]
-5/name = "q_top"
-5/texture = ExtResource( 2 )
-5/tex_offset = Vector2( 0, -60 )
-5/material = ExtResource( 3 )
-5/region = Rect2( 479, 528, 139, 178 )
-5/occluder_offset = Vector2( 69.5, 89 )
-5/occluder = SubResource( 9 )
-5/navigation_offset = Vector2( 69.5, 89 )
-5/shape_offset = Vector2( 69.5, 89 )
-5/shapes = [ SubResource( 10 ) ]
-6/name = "q_bottom"
-6/texture = ExtResource( 2 )
-6/tex_offset = Vector2( 0, -60 )
-6/material = ExtResource( 3 )
-6/region = Rect2( 103, 528, 139, 178 )
-6/occluder_offset = Vector2( 69.5, 89 )
-6/occluder = SubResource( 11 )
-6/navigation_offset = Vector2( 69.5, 89 )
-6/shape_offset = Vector2( 69.5, 89 )
-6/shapes = [ SubResource( 12 ) ]
-7/name = "s_right_bottom"
-7/texture = ExtResource( 2 )
-7/tex_offset = Vector2( 0, -62 )
-7/material = ExtResource( 3 )
-7/region = Rect2( 480, 350, 139, 178 )
-7/occluder_offset = Vector2( 69.5, 89 )
-7/occluder = SubResource( 13 )
-7/navigation_offset = Vector2( 69.5, 89 )
-7/shape_offset = Vector2( 69.5, 89 )
-7/shapes = [ SubResource( 14 ) ]
-8/name = "s_left_bottom"
-8/texture = ExtResource( 2 )
-8/tex_offset = Vector2( 0, -62 )
-8/material = ExtResource( 3 )
-8/region = Rect2( 665, 350, 139, 178 )
-8/occluder_offset = Vector2( 69.5, 89 )
-8/occluder = SubResource( 15 )
-8/navigation_offset = Vector2( 69.5, 89 )
-8/shape_offset = Vector2( 69.5, 89 )
-8/shapes = [ SubResource( 16 ) ]
-9/name = "s_left_top"
-9/texture = ExtResource( 2 )
-9/tex_offset = Vector2( 0, -62 )
-9/material = ExtResource( 3 )
-9/region = Rect2( 292, 350, 139, 178 )
-9/occluder_offset = Vector2( 69.5, 89 )
-9/occluder = SubResource( 17 )
-9/navigation_offset = Vector2( 69.5, 89 )
-9/shape_offset = Vector2( 69.5, 89 )
-9/shapes = [ SubResource( 18 ) ]
-10/name = "s_right_top"
-10/texture = ExtResource( 2 )
-10/tex_offset = Vector2( -12, -62 )
-10/material = ExtResource( 3 )
-10/region = Rect2( 842, 350, 139, 178 )
-10/occluder_offset = Vector2( 69.5, 89 )
-10/occluder = SubResource( 1 )
-10/navigation_offset = Vector2( 69.5, 89 )
-10/shape_offset = Vector2( 69.5, 89 )
-10/shapes = [ SubResource( 2 ) ]
-
diff --git a/demos/2d/isometric_light/tileset_edit.tscn b/demos/2d/isometric_light/tileset_edit.tscn
deleted file mode 100644
index a65d55fc35..0000000000
--- a/demos/2d/isometric_light/tileset_edit.tscn
+++ /dev/null
@@ -1,446 +0,0 @@
-[gd_scene load_steps=22 format=1]
-
-[ext_resource path="res://floor_shader.tres" type="CanvasItemMaterial" id=1]
-[ext_resource path="res://faceColor.png" type="Texture" id=2]
-[ext_resource path="res://wall_shader.tres" type="CanvasItemMaterial" id=3]
-
-[sub_resource type="ConvexPolygonShape2D" id=1]
-
-custom_solver_bias = 0.0
-points = Vector2Array( -48, 0, 0, -22, 48, 0, 0, 22 )
-
-[sub_resource type="OccluderPolygon2D" id=2]
-
-closed = false
-cull_mode = 0
-polygon = Vector2Array( -48, 0, 0, 22, 48, 0 )
-
-[sub_resource type="ConvexPolygonShape2D" id=3]
-
-custom_solver_bias = 0.0
-points = Vector2Array( 48, 0, 0, 22, 0, -22 )
-
-[sub_resource type="OccluderPolygon2D" id=4]
-
-closed = false
-cull_mode = 0
-polygon = Vector2Array( 0, -22, 48, 0, 0, 22 )
-
-[sub_resource type="ConvexPolygonShape2D" id=5]
-
-custom_solver_bias = 0.0
-points = Vector2Array( -48, 0, 0, -22, 0, 22 )
-
-[sub_resource type="OccluderPolygon2D" id=6]
-
-closed = false
-cull_mode = 0
-polygon = Vector2Array( 0, -22, -48, 0, 0, 22 )
-
-[sub_resource type="ConvexPolygonShape2D" id=7]
-
-custom_solver_bias = 0.0
-points = Vector2Array( 0, -22, 48, 0, -48, 0 )
-
-[sub_resource type="OccluderPolygon2D" id=8]
-
-closed = false
-cull_mode = 0
-polygon = Vector2Array( -48, 0, 0, -22, 48, 0 )
-
-[sub_resource type="ConvexPolygonShape2D" id=9]
-
-custom_solver_bias = 0.0
-points = Vector2Array( 48, 0, 0, 22, -48, 0 )
-
-[sub_resource type="OccluderPolygon2D" id=10]
-
-closed = false
-cull_mode = 0
-polygon = Vector2Array( -48, 0, 0, 22, 48, 0 )
-
-[sub_resource type="ConvexPolygonShape2D" id=11]
-
-custom_solver_bias = 0.0
-points = Vector2Array( 0, 22, 0, 0, 48, -22, 48, 0 )
-
-[sub_resource type="OccluderPolygon2D" id=12]
-
-closed = false
-cull_mode = 0
-polygon = Vector2Array( 0, 22, 48, 0 )
-
-[sub_resource type="ConvexPolygonShape2D" id=13]
-
-custom_solver_bias = 0.0
-points = Vector2Array( -48, -22, 0, 0, 0, 22, -48, 0 )
-
-[sub_resource type="OccluderPolygon2D" id=14]
-
-closed = false
-cull_mode = 0
-polygon = Vector2Array( -48, 0, 0, 22 )
-
-[sub_resource type="ConvexPolygonShape2D" id=15]
-
-custom_solver_bias = 0.0
-points = Vector2Array( 0, -44, 0, -22, -48, 0, -48, -22 )
-
-[sub_resource type="OccluderPolygon2D" id=16]
-
-closed = false
-cull_mode = 0
-polygon = Vector2Array( -48, 0, 0, -22 )
-
-[sub_resource type="ConvexPolygonShape2D" id=17]
-
-custom_solver_bias = 0.0
-points = Vector2Array( 48, 0, 0, -22, 0, -44, 48, -22 )
-
-[sub_resource type="OccluderPolygon2D" id=18]
-
-closed = false
-cull_mode = 0
-polygon = Vector2Array( 0, -22, 48, 0 )
-
-[node name="base" type="Node2D"]
-
-[node name="floor1" type="Sprite" parent="."]
-
-material/material = ExtResource( 1 )
-transform/pos = Vector2( 140.869, 111.332 )
-texture = ExtResource( 2 )
-offset = Vector2( 0, 28 )
-region = true
-region_rect = Rect2( 311, 760, 197, 151 )
-
-[node name="floor2" type="Sprite" parent="."]
-
-material/material = ExtResource( 1 )
-transform/pos = Vector2( 372.62, 109.06 )
-texture = ExtResource( 2 )
-offset = Vector2( 0, 28 )
-region = true
-region_rect = Rect2( 591, 772, 197, 151 )
-
-[node name="block" type="Sprite" parent="."]
-
-material/material = ExtResource( 3 )
-transform/pos = Vector2( 528, -132 )
-texture = ExtResource( 2 )
-offset = Vector2( 0, -60 )
-region = true
-region_rect = Rect2( 844, 527, 138, 180 )
-
-[node name="collision" type="StaticBody2D" parent="block"]
-
-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="block/collision"]
-
-build_mode = 0
-polygon = Vector2Array( 0, -22, 48, 0, 0, 22, -48, 0 )
-shape_range = Vector2( -1, -1 )
-trigger = false
-
-[node name="LightOccluder2D" type="LightOccluder2D" parent="block"]
-
-occluder = SubResource( 2 )
-light_mask = 1
-
-[node name="q_right" type="Sprite" parent="."]
-
-material/material = ExtResource( 3 )
-transform/pos = Vector2( 336, -154 )
-texture = ExtResource( 2 )
-offset = Vector2( 0, -60 )
-region = true
-region_rect = Rect2( 665, 528, 139, 178 )
-
-[node name="collision1" type="StaticBody2D" parent="q_right"]
-
-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="q_right/collision1"]
-
-build_mode = 0
-polygon = Vector2Array( 0, -22, 48, 0, 0, 22 )
-shape_range = Vector2( -1, -1 )
-trigger = false
-
-[node name="LightOccluder2D" type="LightOccluder2D" parent="q_right"]
-
-occluder = SubResource( 4 )
-light_mask = 1
-
-[node name="q_left" type="Sprite" parent="."]
-
-material/material = ExtResource( 3 )
-transform/pos = Vector2( 96, -110 )
-texture = ExtResource( 2 )
-offset = Vector2( 0, -60 )
-region = true
-region_rect = Rect2( 292, 528, 139, 178 )
-
-[node name="collision1" type="StaticBody2D" parent="q_left"]
-
-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="q_left/collision1"]
-
-build_mode = 0
-polygon = Vector2Array( 0, 22, -48, 0, 0, -22 )
-shape_range = Vector2( -1, -1 )
-trigger = false
-
-[node name="LightOccluder2D" type="LightOccluder2D" parent="q_left"]
-
-occluder = SubResource( 6 )
-light_mask = 1
-
-[node name="q_top" type="Sprite" parent="."]
-
-material/material = ExtResource( 3 )
-transform/pos = Vector2( 288, 0 )
-texture = ExtResource( 2 )
-offset = Vector2( 0, -60 )
-region = true
-region_rect = Rect2( 479, 528, 139, 178 )
-
-[node name="collision2" type="StaticBody2D" parent="q_top"]
-
-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="q_top/collision2"]
-
-build_mode = 0
-polygon = Vector2Array( -48, 0, 0, -22, 48, 0 )
-shape_range = Vector2( -1, -1 )
-trigger = false
-
-[node name="LightOccluder2D" type="LightOccluder2D" parent="q_top"]
-
-occluder = SubResource( 8 )
-light_mask = 1
-
-[node name="q_bottom" type="Sprite" parent="."]
-
-material/material = ExtResource( 3 )
-transform/pos = Vector2( 192, -242 )
-texture = ExtResource( 2 )
-offset = Vector2( 0, -60 )
-region = true
-region_rect = Rect2( 103, 528, 139, 178 )
-
-[node name="collision3" type="StaticBody2D" parent="q_bottom"]
-
-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="q_bottom/collision3"]
-
-build_mode = 0
-polygon = Vector2Array( -48, 0, 48, 0, 0, 22 )
-shape_range = Vector2( -1, -1 )
-trigger = false
-
-[node name="LightOccluder2D1" type="LightOccluder2D" parent="q_bottom"]
-
-occluder = SubResource( 10 )
-light_mask = 1
-
-[node name="s_right_bottom" type="Sprite" parent="."]
-
-material/material = ExtResource( 3 )
-transform/pos = Vector2( 288, -330 )
-texture = ExtResource( 2 )
-offset = Vector2( 0, -62 )
-region = true
-region_rect = Rect2( 480, 350, 139, 178 )
-
-[node name="collision1" type="StaticBody2D" parent="s_right_bottom"]
-
-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="s_right_bottom/collision1"]
-
-build_mode = 0
-polygon = Vector2Array( 0, 22, 48, 0, 48, -22, 0, 0 )
-shape_range = Vector2( -1, -1 )
-trigger = false
-
-[node name="LightOccluder2D" type="LightOccluder2D" parent="s_right_bottom"]
-
-occluder = SubResource( 12 )
-light_mask = 1
-
-[node name="s_left_bottom" type="Sprite" parent="."]
-
-material/material = ExtResource( 3 )
-transform/pos = Vector2( 432, -330 )
-texture = ExtResource( 2 )
-offset = Vector2( 0, -62 )
-region = true
-region_rect = Rect2( 665, 350, 139, 178 )
-
-[node name="collision1" type="StaticBody2D" parent="s_left_bottom"]
-
-input/pickable = false
-shapes/0/shape = SubResource( 13 )
-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="s_left_bottom/collision1"]
-
-build_mode = 0
-polygon = Vector2Array( 0, 22, -48, 0, -48, -22, 0, 0 )
-shape_range = Vector2( -1, -1 )
-trigger = false
-
-[node name="LightOccluder2D" type="LightOccluder2D" parent="s_left_bottom"]
-
-occluder = SubResource( 14 )
-light_mask = 1
-
-[node name="s_left_top" type="Sprite" parent="."]
-
-material/material = ExtResource( 3 )
-transform/pos = Vector2( 528, -330 )
-texture = ExtResource( 2 )
-offset = Vector2( 0, -62 )
-region = true
-region_rect = Rect2( 292, 350, 139, 178 )
-
-[node name="collision1" type="StaticBody2D" parent="s_left_top"]
-
-input/pickable = false
-shapes/0/shape = SubResource( 15 )
-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="s_left_top/collision1"]
-
-build_mode = 0
-polygon = Vector2Array( 0, -22, -48, 0, -48, -22, 0, -44 )
-shape_range = Vector2( -1, -1 )
-trigger = false
-
-[node name="LightOccluder2D" type="LightOccluder2D" parent="s_left_top"]
-
-occluder = SubResource( 16 )
-light_mask = 1
-
-[node name="s_right_top" type="Sprite" parent="."]
-
-material/material = ExtResource( 3 )
-transform/pos = Vector2( 576, -330 )
-texture = ExtResource( 2 )
-offset = Vector2( -12, -62 )
-region = true
-region_rect = Rect2( 842, 350, 139, 178 )
-
-[node name="collision1" type="StaticBody2D" parent="s_right_top"]
-
-input/pickable = false
-shapes/0/shape = SubResource( 17 )
-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="s_right_top/collision1"]
-
-build_mode = 0
-polygon = Vector2Array( 0, -22, 0, -44, 48, -22, 48, 0 )
-shape_range = Vector2( -1, -1 )
-trigger = false
-
-[node name="LightOccluder2D" type="LightOccluder2D" parent="s_right_top"]
-
-occluder = SubResource( 18 )
-light_mask = 1
-
-[node name="instructions" type="Label" parent="."]
-
-focus/ignore_mouse = true
-focus/stop_mouse = true
-size_flags/horizontal = 2
-margin/left = 0.0
-margin/top = 0.0
-margin/right = 40.0
-margin/bottom = 13.0
-text = "This scene is used to edit the tileset.\nSave to the tileset with Scene -> Convert to -> TileSet\nThen, overwrite \"tileset.tres\""
-percent_visible = 1.0
-lines_skipped = 0
-max_lines_visible = -1
-
-
diff --git a/demos/2d/isometric_light/torch.tscn b/demos/2d/isometric_light/torch.tscn
deleted file mode 100644
index 5ceeb57401..0000000000
--- a/demos/2d/isometric_light/torch.tscn
+++ /dev/null
@@ -1,138 +0,0 @@
-[gd_scene load_steps=9 format=1]
-
-[ext_resource path="res://shadow_blob.png" type="Texture" id=1]
-[ext_resource path="res://torch_shader.tres" type="CanvasItemMaterial" id=2]
-[ext_resource path="res://faceColor.png" type="Texture" id=3]
-[ext_resource path="res://torch_light.png" type="Texture" id=4]
-[ext_resource path="res://fire.png" type="Texture" id=5]
-
-[sub_resource type="Animation" id=1]
-
-resource/name = "firecol"
-length = 5.0
-loop = true
-step = 0.1
-tracks/0/type = "value"
-tracks/0/path = NodePath("light:color")
-tracks/0/interp = 1
-tracks/0/keys = { "cont":true, "times":FloatArray( 0, 0.4, 0.6, 1, 1.6, 1.9, 2.3, 2.8, 3, 3.5, 3.9, 4.2, 4.5, 4.8 ), "transitions":FloatArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ), "values":[ Color( 1, 0.664806, 0.432623, 1 ), Color( 0.648063, 0.341868, 0.308913, 1 ), Color( 0.796534, 0.145722, 0.198635, 1 ), Color( 0.648063, 0.341868, 0.308913, 1 ), Color( 1, 0.664806, 0.432623, 1 ), Color( 0.796534, 0.145722, 0.198635, 1 ), Color( 0.648063, 0.341868, 0.308913, 1 ), Color( 0.796534, 0.145722, 0.198635, 1 ), Color( 1, 0.664806, 0.432623, 1 ), Color( 0.796534, 0.145722, 0.198635, 1 ), Color( 1, 0.664806, 0.432623, 1 ), Color( 0.796534, 0.145722, 0.198635, 1 ), Color( 0.648063, 0.341868, 0.308913, 1 ), Color( 1, 0.664806, 0.432623, 1 ) ] }
-
-[sub_resource type="ColorRamp" id=2]
-
-offsets = FloatArray( 0, 0.2, 0.6, 1 )
-colors = ColorArray( 1, 0.658047, 0, 0.175658, 0.741369, 0.262782, 0, 1, 0.210534, 0, 0, 0.608392, 0, 0, 0, 0 )
-
-[sub_resource type="CircleShape2D" id=3]
-
-custom_solver_bias = 0.0
-radius = 10.0
-
-[node name="Node2D" type="Node2D"]
-
-[node name="Sprite" type="Sprite" parent="."]
-
-transform/pos = Vector2( 0.880249, 3.08089 )
-texture = ExtResource( 1 )
-
-[node name="sprite" type="Sprite" parent="."]
-
-material/material = ExtResource( 2 )
-transform/pos = Vector2( 1.95071, 0.487679 )
-texture = ExtResource( 3 )
-offset = Vector2( 0.0395508, -22.1477 )
-region = true
-region_rect = Rect2( 817, 271, 42, 54 )
-
-[node name="light" type="Light2D" parent="sprite"]
-
-transform/pos = Vector2( -0.975342, 0.975357 )
-enabled = true
-texture = ExtResource( 4 )
-offset = Vector2( 0, 0 )
-scale = 8.0
-color = Color( 1, 0.664806, 0.432623, 1 )
-energy = 1.0
-mode = 0
-range/height = 50.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="anim" type="AnimationPlayer" parent="sprite"]
-
-playback/process_mode = 1
-playback/default_blend_time = 0.0
-root/root = NodePath("..")
-anims/firecol = SubResource( 1 )
-playback/active = true
-playback/speed = 1.0
-blend_times = [ ]
-autoplay = "firecol"
-
-[node name="fire" type="Particles2D" parent="."]
-
-visibility/blend_mode = 1
-transform/pos = Vector2( 1.08072, -42.4183 )
-transform/scale = Vector2( 0.59473, 0.5694 )
-config/amount = 12
-config/lifetime = 1.0
-config/texture = ExtResource( 5 )
-params/direction = 180.0
-params/spread = 20.0
-params/linear_velocity = 100.0
-params/spin_velocity = 1.0
-params/orbit_velocity = 0.0
-params/gravity_direction = 180.0
-params/gravity_strength = 9.8
-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 = 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/initial_angle = 1.0
-color/color_ramp = SubResource( 2 )
-
-[node name="VisibilityEnabler2D" type="VisibilityEnabler2D" parent="."]
-
-transform/pos = Vector2( 1.08071, -50.2535 )
-transform/scale = Vector2( 4.29619, 6.51167 )
-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="col" type="StaticBody2D" parent="."]
-
-input/pickable = false
-shapes/0/shape = SubResource( 3 )
-shapes/0/transform = Matrix32( 1, 0, 0, 1, 0.880249, 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="shape" type="CollisionShape2D" parent="col"]
-
-transform/pos = Vector2( 0.880249, 0 )
-shape = SubResource( 3 )
-trigger = false
-_update_shape_index = -1
-
-
diff --git a/demos/2d/isometric_light/torch_light.png b/demos/2d/isometric_light/torch_light.png
deleted file mode 100644
index a98113d36f..0000000000
--- a/demos/2d/isometric_light/torch_light.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/isometric_light/torch_shader.tres b/demos/2d/isometric_light/torch_shader.tres
deleted file mode 100644
index 6a45b41fa2..0000000000
--- a/demos/2d/isometric_light/torch_shader.tres
+++ /dev/null
@@ -1,14 +0,0 @@
-[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.tres b/demos/2d/isometric_light/wall_shader.tres
deleted file mode 100644
index 42d967cf76..0000000000
--- a/demos/2d/isometric_light/wall_shader.tres
+++ /dev/null
@@ -1,16 +0,0 @@
-[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/circle.png b/demos/2d/kinematic_char/circle.png
deleted file mode 100644
index ddb3ac4b9c..0000000000
--- a/demos/2d/kinematic_char/circle.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/kinematic_char/colworld.gd b/demos/2d/kinematic_char/colworld.gd
deleted file mode 100644
index 7926ef9d54..0000000000
--- a/demos/2d/kinematic_char/colworld.gd
+++ /dev/null
@@ -1,8 +0,0 @@
-
-extends Node2D
-
-
-func _on_princess_body_enter(body):
- # The name of this editor-generated callback is unfortunate
- if (body.get_name() == "player"):
- get_node("youwin").show()
diff --git a/demos/2d/kinematic_char/colworld.tscn b/demos/2d/kinematic_char/colworld.tscn
deleted file mode 100644
index 3bc4a21d6b..0000000000
--- a/demos/2d/kinematic_char/colworld.tscn
+++ /dev/null
@@ -1,422 +0,0 @@
-[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
deleted file mode 100644
index 0ab2a552ca..0000000000
--- a/demos/2d/kinematic_char/engine.cfg
+++ /dev/null
@@ -1,20 +0,0 @@
-[application]
-
-name="Kinematic Character"
-main_scene="res://colworld.tscn"
-icon="res://icon.png"
-
-[display]
-
-width=800
-height=600
-stretch_mode="2d"
-stretch_aspect="keep"
-
-[input]
-
-move_up=[key(Up)]
-move_left=[key(Left)]
-move_right=[key(Right)]
-move_bottom=[key(Down)]
-jump=[key(Space)]
diff --git a/demos/2d/kinematic_char/icon.png b/demos/2d/kinematic_char/icon.png
deleted file mode 100644
index bdca104c1f..0000000000
--- a/demos/2d/kinematic_char/icon.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/kinematic_char/long_obstacle.png b/demos/2d/kinematic_char/long_obstacle.png
deleted file mode 100644
index 88cb22daee..0000000000
--- a/demos/2d/kinematic_char/long_obstacle.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/kinematic_char/obstacle.png b/demos/2d/kinematic_char/obstacle.png
deleted file mode 100644
index 3ade3c3a52..0000000000
--- a/demos/2d/kinematic_char/obstacle.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/kinematic_char/player.gd b/demos/2d/kinematic_char/player.gd
deleted file mode 100644
index 2890cc2ce3..0000000000
--- a/demos/2d/kinematic_char/player.gd
+++ /dev/null
@@ -1,123 +0,0 @@
-
-extends KinematicBody2D
-
-# This is a simple collision demo showing how
-# the kinematic controller works.
-# move() will allow to move the node, and will
-# always move it to a non-colliding spot,
-# as long as it starts from a non-colliding spot too.
-
-# Member variables
-const GRAVITY = 500.0 # Pixels/second
-
-# Angle in degrees towards either side that the player can consider "floor"
-const FLOOR_ANGLE_TOLERANCE = 40
-const WALK_FORCE = 600
-const WALK_MIN_SPEED = 10
-const WALK_MAX_SPEED = 200
-const STOP_FORCE = 1300
-const JUMP_SPEED = 200
-const JUMP_MAX_AIRBORNE_TIME = 0.2
-
-const SLIDE_STOP_VELOCITY = 1.0 # One pixel per second
-const SLIDE_STOP_MIN_TRAVEL = 1.0 # One pixel
-
-var velocity = Vector2()
-var on_air_time = 100
-var jumping = false
-
-var prev_jump_pressed = false
-
-
-func _fixed_process(delta):
- # Create forces
- var force = Vector2(0, GRAVITY)
-
- var walk_left = Input.is_action_pressed("move_left")
- var walk_right = Input.is_action_pressed("move_right")
- var jump = Input.is_action_pressed("jump")
-
- var stop = true
-
- if (walk_left):
- if (velocity.x <= WALK_MIN_SPEED and velocity.x > -WALK_MAX_SPEED):
- force.x -= WALK_FORCE
- stop = false
- elif (walk_right):
- if (velocity.x >= -WALK_MIN_SPEED and velocity.x < WALK_MAX_SPEED):
- force.x += WALK_FORCE
- stop = false
-
- if (stop):
- var vsign = sign(velocity.x)
- var vlen = abs(velocity.x)
-
- vlen -= STOP_FORCE*delta
- if (vlen < 0):
- vlen = 0
-
- velocity.x = vlen*vsign
-
- # Integrate forces to velocity
- velocity += force*delta
-
- # Integrate velocity into motion and move
- var motion = velocity*delta
-
- # Move and consume motion
- motion = move(motion)
-
- var floor_velocity = Vector2()
-
- if (is_colliding()):
- # You can check which tile was collision against with this
- # print(get_collider_metadata())
-
- # Ran against something, is it the floor? Get normal
- var n = get_collision_normal()
-
- if (rad2deg(acos(n.dot(Vector2(0, -1)))) < FLOOR_ANGLE_TOLERANCE):
- # If angle to the "up" vectors is < angle tolerance
- # char is on floor
- on_air_time = 0
- floor_velocity = get_collider_velocity()
-
- if (on_air_time == 0 and force.x == 0 and get_travel().length() < SLIDE_STOP_MIN_TRAVEL and abs(velocity.x) < SLIDE_STOP_VELOCITY and get_collider_velocity() == Vector2()):
- # Since this formula will always slide the character around,
- # a special case must be considered to to stop it from moving
- # if standing on an inclined floor. Conditions are:
- # 1) Standing on floor (on_air_time == 0)
- # 2) Did not move more than one pixel (get_travel().length() < SLIDE_STOP_MIN_TRAVEL)
- # 3) Not moving horizontally (abs(velocity.x) < SLIDE_STOP_VELOCITY)
- # 4) Collider is not moving
-
- revert_motion()
- velocity.y = 0.0
- else:
- # For every other case of motion, our motion was interrupted.
- # Try to complete the motion by "sliding" by the normal
- motion = n.slide(motion)
- velocity = n.slide(velocity)
- # Then move again
- move(motion)
-
- if (floor_velocity != Vector2()):
- # If floor moves, move with floor
- move(floor_velocity*delta)
-
- if (jumping and velocity.y > 0):
- # If falling, no longer jumping
- jumping = false
-
- if (on_air_time < JUMP_MAX_AIRBORNE_TIME and jump and not prev_jump_pressed and not jumping):
- # Jump must also be allowed to happen if the character left the floor a little bit ago.
- # Makes controls more snappy.
- velocity.y = -JUMP_SPEED
- jumping = true
-
- on_air_time += delta
- prev_jump_pressed = jump
-
-
-func _ready():
- set_fixed_process(true)
diff --git a/demos/2d/kinematic_char/player.png b/demos/2d/kinematic_char/player.png
deleted file mode 100644
index 0e7d843899..0000000000
--- a/demos/2d/kinematic_char/player.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/kinematic_char/player.tscn b/demos/2d/kinematic_char/player.tscn
deleted file mode 100644
index e3e5fa1d4a..0000000000
--- a/demos/2d/kinematic_char/player.tscn
+++ /dev/null
@@ -1,33 +0,0 @@
-[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( 7, 7 )
-
-[node name="player" type="KinematicBody2D"]
-
-input/pickable = false
-shapes/0/shape = SubResource( 1 )
-shapes/0/transform = Matrix32( 1, 0, 0, 1, -0.315559, 0.157784 )
-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="."]
-
-transform/pos = Vector2( -0.315559, 0.157784 )
-shape = SubResource( 1 )
-trigger = false
-_update_shape_index = -1
-
-
diff --git a/demos/2d/kinematic_char/princess.png b/demos/2d/kinematic_char/princess.png
deleted file mode 100644
index 9605c9c831..0000000000
--- a/demos/2d/kinematic_char/princess.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/kinematic_col/colworld.tscn b/demos/2d/kinematic_col/colworld.tscn
deleted file mode 100644
index 43eb58545e..0000000000
--- a/demos/2d/kinematic_col/colworld.tscn
+++ /dev/null
@@ -1,47 +0,0 @@
-[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
deleted file mode 100644
index 7e2435a34e..0000000000
--- a/demos/2d/kinematic_col/engine.cfg
+++ /dev/null
@@ -1,12 +0,0 @@
-[application]
-
-name="Kinematic Collision"
-main_scene="res://colworld.tscn"
-icon="res://icon.png"
-
-[input]
-
-move_up=[key(Up)]
-move_left=[key(Left)]
-move_right=[key(Right)]
-move_bottom=[key(Down)]
diff --git a/demos/2d/kinematic_col/icon.png b/demos/2d/kinematic_col/icon.png
deleted file mode 100644
index 2774de6110..0000000000
--- a/demos/2d/kinematic_col/icon.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/kinematic_col/obstacle.png b/demos/2d/kinematic_col/obstacle.png
deleted file mode 100644
index 693f115a98..0000000000
--- a/demos/2d/kinematic_col/obstacle.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/kinematic_col/player.gd b/demos/2d/kinematic_col/player.gd
deleted file mode 100644
index ce09e1509e..0000000000
--- a/demos/2d/kinematic_col/player.gd
+++ /dev/null
@@ -1,31 +0,0 @@
-
-extends KinematicBody2D
-
-# This is a simple collision demo showing how
-# the kinematic controller works.
-# move() will allow to move the node, and will
-# always move it to a non-colliding spot,
-# as long as it starts from a non-colliding spot too.
-
-# Member variables
-const MOTION_SPEED = 160 # Pixels/second
-
-
-func _fixed_process(delta):
- var motion = Vector2()
-
- if (Input.is_action_pressed("move_up")):
- motion += Vector2(0, -1)
- if (Input.is_action_pressed("move_bottom")):
- motion += Vector2(0, 1)
- if (Input.is_action_pressed("move_left")):
- motion += Vector2(-1, 0)
- if (Input.is_action_pressed("move_right")):
- motion += Vector2(1, 0)
-
- motion = motion.normalized()*MOTION_SPEED*delta
- move(motion)
-
-
-func _ready():
- set_fixed_process(true)
diff --git a/demos/2d/kinematic_col/player.png b/demos/2d/kinematic_col/player.png
deleted file mode 100644
index 0e7d843899..0000000000
--- a/demos/2d/kinematic_col/player.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/kinematic_col/player.tscn b/demos/2d/kinematic_col/player.tscn
deleted file mode 100644
index 92ad693690..0000000000
--- a/demos/2d/kinematic_col/player.tscn
+++ /dev/null
@@ -1,32 +0,0 @@
-[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/burano.png b/demos/2d/light_mask/burano.png
deleted file mode 100644
index 6eec09d585..0000000000
--- a/demos/2d/light_mask/burano.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/light_mask/engine.cfg b/demos/2d/light_mask/engine.cfg
deleted file mode 100644
index 3c2f1f3a79..0000000000
--- a/demos/2d/light_mask/engine.cfg
+++ /dev/null
@@ -1,9 +0,0 @@
-[application]
-
-name="Using Lights As Mask"
-main_scene="res://lightmask.tscn"
-icon="res://icon.png"
-
-[rasterizer]
-
-shadow_filter=3
diff --git a/demos/2d/light_mask/icon.png b/demos/2d/light_mask/icon.png
deleted file mode 100644
index 34a6b709f6..0000000000
--- a/demos/2d/light_mask/icon.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/light_mask/lightmask.tscn b/demos/2d/light_mask/lightmask.tscn
deleted file mode 100644
index d489b735b0..0000000000
--- a/demos/2d/light_mask/lightmask.tscn
+++ /dev/null
@@ -1,134 +0,0 @@
-[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/light_mask/splat.png b/demos/2d/light_mask/splat.png
deleted file mode 100644
index 8c35f068a0..0000000000
--- a/demos/2d/light_mask/splat.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/lights_shadows/bg.png b/demos/2d/lights_shadows/bg.png
deleted file mode 100644
index 4a3376f484..0000000000
--- a/demos/2d/lights_shadows/bg.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/lights_shadows/caster.png b/demos/2d/lights_shadows/caster.png
deleted file mode 100644
index bf53a4565b..0000000000
--- a/demos/2d/lights_shadows/caster.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/lights_shadows/engine.cfg b/demos/2d/lights_shadows/engine.cfg
deleted file mode 100644
index 51a98eddd7..0000000000
--- a/demos/2d/lights_shadows/engine.cfg
+++ /dev/null
@@ -1,16 +0,0 @@
-[application]
-
-name="2D Lighting"
-main_scene="res://light_shadows.tscn"
-icon="res://icon.png"
-
-[display]
-
-stretch_mode="2d"
-width=800
-height=600
-stretch_aspect="keep"
-
-[rasterizer]
-
-shadow_filter=2
diff --git a/demos/2d/lights_shadows/icon.png b/demos/2d/lights_shadows/icon.png
deleted file mode 100644
index 554f01bb46..0000000000
--- a/demos/2d/lights_shadows/icon.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/lights_shadows/light.png b/demos/2d/lights_shadows/light.png
deleted file mode 100644
index 936860de52..0000000000
--- a/demos/2d/lights_shadows/light.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/lights_shadows/light_shadows.tscn b/demos/2d/lights_shadows/light_shadows.tscn
deleted file mode 100644
index f31692889e..0000000000
--- a/demos/2d/lights_shadows/light_shadows.tscn
+++ /dev/null
@@ -1,326 +0,0 @@
-[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/lights_shadows/spot.png b/demos/2d/lights_shadows/spot.png
deleted file mode 100644
index 9ab2d34963..0000000000
--- a/demos/2d/lights_shadows/spot.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/lookat/arrow.png b/demos/2d/lookat/arrow.png
deleted file mode 100644
index 25db91e8d1..0000000000
--- a/demos/2d/lookat/arrow.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/lookat/engine.cfg b/demos/2d/lookat/engine.cfg
deleted file mode 100644
index c37f39386e..0000000000
--- a/demos/2d/lookat/engine.cfg
+++ /dev/null
@@ -1,5 +0,0 @@
-[application]
-
-name="Look At Pointer"
-main_scene="res://lookat.tscn"
-icon="res://icon.png"
diff --git a/demos/2d/lookat/icon.png b/demos/2d/lookat/icon.png
deleted file mode 100644
index 442cc1799f..0000000000
--- a/demos/2d/lookat/icon.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/lookat/lookat.gd b/demos/2d/lookat/lookat.gd
deleted file mode 100644
index c45c3ad622..0000000000
--- a/demos/2d/lookat/lookat.gd
+++ /dev/null
@@ -1,33 +0,0 @@
-
-extends Sprite
-
-# Member variables
-const MODE_DIRECT = 0
-const MODE_CONSTANT = 1
-const MODE_SMOOTH = 2
-
-const ROTATION_SPEED = 1
-const SMOOTH_SPEED = 2.0
-
-export(int, "Direct", "Constant", "Smooth") var mode = MODE_DIRECT
-
-
-func _process(delta):
- var mpos = get_viewport().get_mouse_pos()
-
- if (mode == MODE_DIRECT):
- look_at(mpos)
- elif (mode == MODE_CONSTANT):
- var ang = get_angle_to(mpos)
- var s = sign(ang)
- ang = abs(ang)
-
- rotate(min(ang, ROTATION_SPEED*delta)*s)
- elif (mode == MODE_SMOOTH):
- var ang = get_angle_to(mpos)
-
- rotate(ang*delta*SMOOTH_SPEED)
-
-
-func _ready():
- set_process(true)
diff --git a/demos/2d/lookat/lookat.tscn b/demos/2d/lookat/lookat.tscn
deleted file mode 100644
index 8505dcc972..0000000000
--- a/demos/2d/lookat/lookat.tscn
+++ /dev/null
@@ -1,32 +0,0 @@
-[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/car.png b/demos/2d/motion/car.png
deleted file mode 100644
index 7ea973ceeb..0000000000
--- a/demos/2d/motion/car.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/motion/engine.cfg b/demos/2d/motion/engine.cfg
deleted file mode 100644
index 5395398e16..0000000000
--- a/demos/2d/motion/engine.cfg
+++ /dev/null
@@ -1,12 +0,0 @@
-[application]
-
-name="Motion Test"
-main_scene="res://motion.tscn"
-icon="res://icon.png"
-
-[display]
-
-width=800
-height=600
-stretch_mode="2d"
-stretch_aspect="keep"
diff --git a/demos/2d/motion/icon.png b/demos/2d/motion/icon.png
deleted file mode 100644
index 9e64961d3c..0000000000
--- a/demos/2d/motion/icon.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/motion/motion.gd b/demos/2d/motion/motion.gd
deleted file mode 100644
index f9bbd6f90d..0000000000
--- a/demos/2d/motion/motion.gd
+++ /dev/null
@@ -1,33 +0,0 @@
-
-extends Sprite
-
-# Member variables
-const BEGIN = -113
-const END = 907
-const TIME = 5.0 # Seconds
-const SPEED = (END - BEGIN)/TIME
-
-export var use_idle = true
-
-
-func _process(delta):
- var ofs = get_pos()
- ofs.x += delta*SPEED
- if (ofs.x > END):
- ofs.x = BEGIN
- set_pos(ofs)
-
-
-func _fixed_process(delta):
- var ofs = get_pos()
- ofs.x += delta*SPEED
- if (ofs.x > END):
- ofs.x = BEGIN
- set_pos(ofs)
-
-
-func _ready():
- if (use_idle):
- set_process(true)
- else:
- set_fixed_process(true)
diff --git a/demos/2d/motion/motion.tscn b/demos/2d/motion/motion.tscn
deleted file mode 100644
index 920ee55423..0000000000
--- a/demos/2d/motion/motion.tscn
+++ /dev/null
@@ -1,135 +0,0 @@
-[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/agent.png b/demos/2d/navpoly/agent.png
deleted file mode 100644
index 23e396c478..0000000000
--- a/demos/2d/navpoly/agent.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/navpoly/engine.cfg b/demos/2d/navpoly/engine.cfg
deleted file mode 100644
index e9921c4b5b..0000000000
--- a/demos/2d/navpoly/engine.cfg
+++ /dev/null
@@ -1,12 +0,0 @@
-[application]
-
-name="Navigation Polygon (2D)"
-main_scene="res://navigation.tscn"
-icon="res://icon.png"
-
-[display]
-
-width=800
-height=600
-stretch_mode="2d"
-stretch_aspect="keep"
diff --git a/demos/2d/navpoly/icon.png b/demos/2d/navpoly/icon.png
deleted file mode 100644
index 7a28a367c6..0000000000
--- a/demos/2d/navpoly/icon.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/navpoly/navigation.gd b/demos/2d/navpoly/navigation.gd
deleted file mode 100644
index 4cfa2ad733..0000000000
--- a/demos/2d/navpoly/navigation.gd
+++ /dev/null
@@ -1,53 +0,0 @@
-
-extends Navigation2D
-
-# Member variables
-const SPEED = 200.0
-
-var begin = Vector2()
-var end = Vector2()
-var path = []
-
-
-func _process(delta):
- if (path.size() > 1):
- var to_walk = delta*SPEED
- while(to_walk > 0 and path.size() >= 2):
- var pfrom = path[path.size() - 1]
- var pto = path[path.size() - 2]
- var d = pfrom.distance_to(pto)
- if (d <= to_walk):
- path.remove(path.size() - 1)
- to_walk -= d
- else:
- path[path.size() - 1] = pfrom.linear_interpolate(pto, to_walk/d)
- to_walk = 0
-
- var atpos = path[path.size() - 1]
- get_node("agent").set_pos(atpos)
-
- if (path.size() < 2):
- path = []
- set_process(false)
- else:
- set_process(false)
-
-
-func _update_path():
- var p = get_simple_path(begin, end, true)
- path = Array(p) # Vector2array too complex to use, convert to regular array
- path.invert()
-
- set_process(true)
-
-
-func _input(event):
- if (event.type == InputEvent.MOUSE_BUTTON and event.pressed and event.button_index == 1):
- begin = get_node("agent").get_pos()
- # Mouse to local navigation coordinates
- end = event.pos - get_pos()
- _update_path()
-
-
-func _ready():
- set_process_input(true)
diff --git a/demos/2d/navpoly/navigation.tscn b/demos/2d/navpoly/navigation.tscn
deleted file mode 100644
index b28c917be5..0000000000
--- a/demos/2d/navpoly/navigation.tscn
+++ /dev/null
@@ -1,34 +0,0 @@
-[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/navpoly/path.png b/demos/2d/navpoly/path.png
deleted file mode 100644
index 52a6d507c3..0000000000
--- a/demos/2d/navpoly/path.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/normalmaps/diffuse.jpg b/demos/2d/normalmaps/diffuse.jpg
deleted file mode 100644
index b6f32fd825..0000000000
--- a/demos/2d/normalmaps/diffuse.jpg
+++ /dev/null
Binary files differ
diff --git a/demos/2d/normalmaps/engine.cfg b/demos/2d/normalmaps/engine.cfg
deleted file mode 100644
index ba5fcca853..0000000000
--- a/demos/2d/normalmaps/engine.cfg
+++ /dev/null
@@ -1,12 +0,0 @@
-[application]
-
-name="2D Normal Mapping"
-main_scene="res://normalmap.tscn"
-icon="res://icon.png"
-
-[display]
-
-stretch_mode="2d"
-width=800
-height=600
-stretch_aspect="ignore"
diff --git a/demos/2d/normalmaps/icon.png b/demos/2d/normalmaps/icon.png
deleted file mode 100644
index 11ff5de829..0000000000
--- a/demos/2d/normalmaps/icon.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/normalmaps/light.png b/demos/2d/normalmaps/light.png
deleted file mode 100644
index 9568298086..0000000000
--- a/demos/2d/normalmaps/light.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/normalmaps/normal.jpg b/demos/2d/normalmaps/normal.jpg
deleted file mode 100644
index 848ee9a9cd..0000000000
--- a/demos/2d/normalmaps/normal.jpg
+++ /dev/null
Binary files differ
diff --git a/demos/2d/normalmaps/normal_material.tres b/demos/2d/normalmaps/normal_material.tres
deleted file mode 100644
index 2741fbfe94..0000000000
--- a/demos/2d/normalmaps/normal_material.tres
+++ /dev/null
@@ -1,14 +0,0 @@
-[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.tscn b/demos/2d/normalmaps/normalmap.tscn
deleted file mode 100644
index c7f8feb0f4..0000000000
--- a/demos/2d/normalmaps/normalmap.tscn
+++ /dev/null
@@ -1,63 +0,0 @@
-[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
deleted file mode 100644
index 4b91966d8a..0000000000
--- a/demos/2d/particles/engine.cfg
+++ /dev/null
@@ -1,5 +0,0 @@
-[application]
-
-name="Particle Systems"
-main_scene="res://particles.tscn"
-icon="res://icon.png"
diff --git a/demos/2d/particles/fire_particle.png b/demos/2d/particles/fire_particle.png
deleted file mode 100644
index 3fa856690c..0000000000
--- a/demos/2d/particles/fire_particle.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/particles/icon.png b/demos/2d/particles/icon.png
deleted file mode 100644
index 714cee32f6..0000000000
--- a/demos/2d/particles/icon.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/particles/mask.png b/demos/2d/particles/mask.png
deleted file mode 100644
index 476f280ab2..0000000000
--- a/demos/2d/particles/mask.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/particles/particles.tscn b/demos/2d/particles/particles.tscn
deleted file mode 100644
index c9aca0518f..0000000000
--- a/demos/2d/particles/particles.tscn
+++ /dev/null
@@ -1,174 +0,0 @@
-[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/smoke_particle.png b/demos/2d/particles/smoke_particle.png
deleted file mode 100644
index 3a03d14c71..0000000000
--- a/demos/2d/particles/smoke_particle.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/particles/spark_particle2.png b/demos/2d/particles/spark_particle2.png
deleted file mode 100644
index 2dd071a25a..0000000000
--- a/demos/2d/particles/spark_particle2.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/platformer/bullet.gd b/demos/2d/platformer/bullet.gd
deleted file mode 100644
index 3aee69714e..0000000000
--- a/demos/2d/platformer/bullet.gd
+++ /dev/null
@@ -1,16 +0,0 @@
-
-extends RigidBody2D
-
-# Member variables
-var disabled = false
-
-
-func disable():
- if (disabled):
- return
- get_node("anim").play("shutdown")
- disabled = true
-
-
-func _ready():
- get_node("Timer").start()
diff --git a/demos/2d/platformer/bullet.png b/demos/2d/platformer/bullet.png
deleted file mode 100644
index 5c722219ec..0000000000
--- a/demos/2d/platformer/bullet.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/platformer/bullet.tscn b/demos/2d/platformer/bullet.tscn
deleted file mode 100644
index 78f566c3b3..0000000000
--- a/demos/2d/platformer/bullet.tscn
+++ /dev/null
@@ -1,115 +0,0 @@
-[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/coin.gd b/demos/2d/platformer/coin.gd
deleted file mode 100644
index 1118732707..0000000000
--- a/demos/2d/platformer/coin.gd
+++ /dev/null
@@ -1,19 +0,0 @@
-
-extends Area2D
-
-# Member variables
-var taken = false
-
-
-func _on_body_enter( body ):
- if (not taken and body extends preload("res://player.gd")):
- get_node("anim").play("taken")
- taken = true
-
-
-func _on_coin_area_enter(area):
- pass # replace with function body
-
-
-func _on_coin_area_enter_shape(area_id, area, area_shape, area_shape):
- pass # replace with function body
diff --git a/demos/2d/platformer/coin.png b/demos/2d/platformer/coin.png
deleted file mode 100644
index c35c5ebf28..0000000000
--- a/demos/2d/platformer/coin.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/platformer/coin.tscn b/demos/2d/platformer/coin.tscn
deleted file mode 100644
index 76730c83d4..0000000000
--- a/demos/2d/platformer/coin.tscn
+++ /dev/null
@@ -1,146 +0,0 @@
-[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/enemy.gd b/demos/2d/platformer/enemy.gd
deleted file mode 100644
index 5a4d8af579..0000000000
--- a/demos/2d/platformer/enemy.gd
+++ /dev/null
@@ -1,83 +0,0 @@
-
-extends RigidBody2D
-
-# Member variables
-const STATE_WALKING = 0
-const STATE_DYING = 1
-
-var state = STATE_WALKING
-
-var direction = -1
-var anim = ""
-
-var rc_left = null
-var rc_right = null
-var WALK_SPEED = 50
-
-var bullet_class = preload("res://bullet.gd")
-
-
-func _die():
- queue_free()
-
-
-func _pre_explode():
- # Stay there
- clear_shapes()
- set_mode(MODE_STATIC)
- get_node("sound").play("explode")
-
-
-func _integrate_forces(s):
- var lv = s.get_linear_velocity()
- var new_anim = anim
-
- if (state == STATE_DYING):
- new_anim = "explode"
- elif (state == STATE_WALKING):
- new_anim = "walk"
-
- var wall_side = 0.0
-
- for i in range(s.get_contact_count()):
- var cc = s.get_contact_collider_object(i)
- var dp = s.get_contact_local_normal(i)
-
- if (cc):
- if (cc extends bullet_class and not cc.disabled):
- set_mode(MODE_RIGID)
- state = STATE_DYING
- #lv = s.get_contact_local_normal(i)*400
- s.set_angular_velocity(sign(dp.x)*33.0)
- set_friction(1)
- cc.disable()
- get_node("sound").play("hit")
- break
-
- if (dp.x > 0.9):
- wall_side = 1.0
- elif (dp.x < -0.9):
- wall_side = -1.0
-
- if (wall_side != 0 and wall_side != direction):
- direction = -direction
- get_node("sprite").set_scale(Vector2(-direction, 1))
- if (direction < 0 and not rc_left.is_colliding() and rc_right.is_colliding()):
- direction = -direction
- get_node("sprite").set_scale(Vector2(-direction, 1))
- elif (direction > 0 and not rc_right.is_colliding() and rc_left.is_colliding()):
- direction = -direction
- get_node("sprite").set_scale(Vector2(-direction, 1))
-
- lv.x = direction*WALK_SPEED
-
- if(anim != new_anim):
- anim = new_anim
- get_node("anim").play(anim)
-
- s.set_linear_velocity(lv)
-
-
-func _ready():
- rc_left = get_node("raycast_left")
- rc_right = get_node("raycast_right")
diff --git a/demos/2d/platformer/enemy.png b/demos/2d/platformer/enemy.png
deleted file mode 100644
index 37fe468b0f..0000000000
--- a/demos/2d/platformer/enemy.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/platformer/enemy.tscn b/demos/2d/platformer/enemy.tscn
deleted file mode 100644
index b01bd9fcf6..0000000000
--- a/demos/2d/platformer/enemy.tscn
+++ /dev/null
@@ -1,206 +0,0 @@
-[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/engine.cfg b/demos/2d/platformer/engine.cfg
deleted file mode 100644
index dddef264d4..0000000000
--- a/demos/2d/platformer/engine.cfg
+++ /dev/null
@@ -1,42 +0,0 @@
-[application]
-
-name="Platformer"
-main_scene="res://stage.tscn"
-icon="res://icon.png"
-name_es="Plataformero"
-target_fps="60"
-
-[display]
-
-width=800
-height=480
-stretch_mode="2d"
-stretch_aspect="keep_height"
-
-[image_loader]
-
-repeat=false
-
-[input]
-
-move_left=[key(Left), jbutton(0, 14)]
-move_right=[key(Right), jbutton(0, 15)]
-jump=[key(Up), jbutton(0, 0)]
-shoot=[key(Space), jbutton(0, 2)]
-spawn=[key(F1), jbutton(0, 11)]
-
-[physics_2d]
-
-default_gravity=700
-
-[rasterizer]
-
-use_pixel_snap=true
-
-[render]
-
-mipmap_policy=1
-
-[texture_import]
-
-filter=false
diff --git a/demos/2d/platformer/icon.png b/demos/2d/platformer/icon.png
deleted file mode 100644
index da2c08eb53..0000000000
--- a/demos/2d/platformer/icon.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/platformer/moving_platform.gd b/demos/2d/platformer/moving_platform.gd
deleted file mode 100644
index 21c312d5c3..0000000000
--- a/demos/2d/platformer/moving_platform.gd
+++ /dev/null
@@ -1,20 +0,0 @@
-
-extends Node2D
-
-# Member variables
-export var motion = Vector2()
-export var cycle = 1.0
-var accum = 0.0
-
-
-func _fixed_process(delta):
- accum += delta*(1.0/cycle)*PI*2.0
- accum = fmod(accum, PI*2.0)
- var d = sin(accum)
- var xf = Matrix32()
- xf[2]= motion*d
- get_node("platform").set_transform(xf)
-
-
-func _ready():
- set_fixed_process(true)
diff --git a/demos/2d/platformer/moving_platform.png b/demos/2d/platformer/moving_platform.png
deleted file mode 100644
index f01c6ea37f..0000000000
--- a/demos/2d/platformer/moving_platform.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/platformer/moving_platform.tscn b/demos/2d/platformer/moving_platform.tscn
deleted file mode 100644
index c6269d6ee7..0000000000
--- a/demos/2d/platformer/moving_platform.tscn
+++ /dev/null
@@ -1,52 +0,0 @@
-[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/music.ogg b/demos/2d/platformer/music.ogg
deleted file mode 100644
index ed3e9f0a01..0000000000
--- a/demos/2d/platformer/music.ogg
+++ /dev/null
Binary files differ
diff --git a/demos/2d/platformer/one_way_platform.png b/demos/2d/platformer/one_way_platform.png
deleted file mode 100644
index b5eca877a6..0000000000
--- a/demos/2d/platformer/one_way_platform.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/platformer/one_way_platform.tscn b/demos/2d/platformer/one_way_platform.tscn
deleted file mode 100644
index 88c4b0d61a..0000000000
--- a/demos/2d/platformer/one_way_platform.tscn
+++ /dev/null
@@ -1,36 +0,0 @@
-[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/osb_fire.png b/demos/2d/platformer/osb_fire.png
deleted file mode 100644
index 6f914cfe49..0000000000
--- a/demos/2d/platformer/osb_fire.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/platformer/osb_jump.png b/demos/2d/platformer/osb_jump.png
deleted file mode 100644
index 72ba032daa..0000000000
--- a/demos/2d/platformer/osb_jump.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/platformer/osb_left.png b/demos/2d/platformer/osb_left.png
deleted file mode 100644
index b8e08c2ce7..0000000000
--- a/demos/2d/platformer/osb_left.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/platformer/osb_right.png b/demos/2d/platformer/osb_right.png
deleted file mode 100644
index 0e5cbb0d54..0000000000
--- a/demos/2d/platformer/osb_right.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/platformer/parallax_bg.tscn b/demos/2d/platformer/parallax_bg.tscn
deleted file mode 100644
index cf5815e28c..0000000000
--- a/demos/2d/platformer/parallax_bg.tscn
+++ /dev/null
@@ -1,101 +0,0 @@
-[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/plank.png b/demos/2d/platformer/plank.png
deleted file mode 100644
index b4f6addee5..0000000000
--- a/demos/2d/platformer/plank.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/platformer/plankpin.png b/demos/2d/platformer/plankpin.png
deleted file mode 100644
index 46e104a3fe..0000000000
--- a/demos/2d/platformer/plankpin.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/platformer/player.gd b/demos/2d/platformer/player.gd
deleted file mode 100644
index 8cafd8b933..0000000000
--- a/demos/2d/platformer/player.gd
+++ /dev/null
@@ -1,232 +0,0 @@
-
-extends RigidBody2D
-
-# Character Demo, written by Juan Linietsky.
-#
-# Implementation of a 2D Character controller.
-# This implementation uses the physics engine for
-# controlling a character, in a very similar way
-# than a 3D character controller would be implemented.
-#
-# Using the physics engine for this has the main
-# advantages:
-# -Easy to write.
-# -Interaction with other physics-based objects is free
-# -Only have to deal with the object linear velocity, not position
-# -All collision/area framework available
-#
-# But also has the following disadvantages:
-#
-# -Objects may bounce a little bit sometimes
-# -Going up ramps sends the chracter flying up, small hack is needed.
-# -A ray collider is needed to avoid sliding down on ramps and
-# undesiderd bumps, small steps and rare numerical precision errors.
-# (another alternative may be to turn on friction when the character is not moving).
-# -Friction cant be used, so floor velocity must be considered
-# for moving platforms.
-
-# Member variables
-var anim = ""
-var siding_left = false
-var jumping = false
-var stopping_jump = false
-var shooting = false
-
-var WALK_ACCEL = 800.0
-var WALK_DEACCEL = 800.0
-var WALK_MAX_VELOCITY = 200.0
-var AIR_ACCEL = 200.0
-var AIR_DEACCEL = 200.0
-var JUMP_VELOCITY = 460
-var STOP_JUMP_FORCE = 900.0
-
-var MAX_FLOOR_AIRBORNE_TIME = 0.15
-
-var airborne_time = 1e20
-var shoot_time = 1e20
-
-var MAX_SHOOT_POSE_TIME = 0.3
-
-var bullet = preload("res://bullet.tscn")
-
-var floor_h_velocity = 0.0
-var enemy
-
-
-func _integrate_forces(s):
- var lv = s.get_linear_velocity()
- var step = s.get_step()
-
- var new_anim = anim
- var new_siding_left = siding_left
-
- # Get the controls
- var move_left = Input.is_action_pressed("move_left")
- var move_right = Input.is_action_pressed("move_right")
- var jump = Input.is_action_pressed("jump")
- var shoot = Input.is_action_pressed("shoot")
- var spawn = Input.is_action_pressed("spawn")
-
- if spawn:
- var e = enemy.instance()
- var p = get_pos()
- p.y = p.y - 100
- e.set_pos(p)
- get_parent().add_child(e)
-
- # Deapply prev floor velocity
- lv.x -= floor_h_velocity
- floor_h_velocity = 0.0
-
- # Find the floor (a contact with upwards facing collision normal)
- var found_floor = false
- var floor_index = -1
-
- for x in range(s.get_contact_count()):
- var ci = s.get_contact_local_normal(x)
- if (ci.dot(Vector2(0, -1)) > 0.6):
- found_floor = true
- floor_index = x
-
- # A good idea when impementing characters of all kinds,
- # compensates for physics imprecission, as well as human reaction delay.
- if (shoot and not shooting):
- shoot_time = 0
- var bi = bullet.instance()
- var ss
- if (siding_left):
- ss = -1.0
- else:
- ss = 1.0
- var pos = get_pos() + get_node("bullet_shoot").get_pos()*Vector2(ss, 1.0)
-
- bi.set_pos(pos)
- get_parent().add_child(bi)
-
- bi.set_linear_velocity(Vector2(800.0*ss, -80))
- get_node("sprite/smoke").set_emitting(true)
- get_node("sound").play("shoot")
- PS2D.body_add_collision_exception(bi.get_rid(), get_rid()) # Make bullet and this not collide
- else:
- shoot_time += step
-
- if (found_floor):
- airborne_time = 0.0
- else:
- airborne_time += step # Time it spent in the air
-
- var on_floor = airborne_time < MAX_FLOOR_AIRBORNE_TIME
-
- # Process jump
- if (jumping):
- if (lv.y > 0):
- # Set off the jumping flag if going down
- jumping = false
- elif (not jump):
- stopping_jump = true
-
- if (stopping_jump):
- lv.y += STOP_JUMP_FORCE*step
-
- if (on_floor):
- # Process logic when character is on floor
- if (move_left and not move_right):
- if (lv.x > -WALK_MAX_VELOCITY):
- lv.x -= WALK_ACCEL*step
- elif (move_right and not move_left):
- if (lv.x < WALK_MAX_VELOCITY):
- lv.x += WALK_ACCEL*step
- else:
- var xv = abs(lv.x)
- xv -= WALK_DEACCEL*step
- if (xv < 0):
- xv = 0
- lv.x = sign(lv.x)*xv
-
- # Check jump
- if (not jumping and jump):
- lv.y = -JUMP_VELOCITY
- jumping = true
- stopping_jump = false
- get_node("sound").play("jump")
-
- # Check siding
- if (lv.x < 0 and move_left):
- new_siding_left = true
- elif (lv.x > 0 and move_right):
- new_siding_left = false
- if (jumping):
- new_anim = "jumping"
- elif (abs(lv.x) < 0.1):
- if (shoot_time < MAX_SHOOT_POSE_TIME):
- new_anim = "idle_weapon"
- else:
- new_anim = "idle"
- else:
- if (shoot_time < MAX_SHOOT_POSE_TIME):
- new_anim = "run_weapon"
- else:
- new_anim = "run"
- else:
- # Process logic when the character is in the air
- if (move_left and not move_right):
- if (lv.x > -WALK_MAX_VELOCITY):
- lv.x -= AIR_ACCEL*step
- elif (move_right and not move_left):
- if (lv.x < WALK_MAX_VELOCITY):
- lv.x += AIR_ACCEL*step
- else:
- var xv = abs(lv.x)
- xv -= AIR_DEACCEL*step
- if (xv < 0):
- xv = 0
- lv.x = sign(lv.x)*xv
-
- if (lv.y < 0):
- if (shoot_time < MAX_SHOOT_POSE_TIME):
- new_anim = "jumping_weapon"
- else:
- new_anim = "jumping"
- else:
- if (shoot_time < MAX_SHOOT_POSE_TIME):
- new_anim = "falling_weapon"
- else:
- new_anim = "falling"
-
- # Update siding
- if (new_siding_left != siding_left):
- if (new_siding_left):
- get_node("sprite").set_scale(Vector2(-1, 1))
- else:
- get_node("sprite").set_scale(Vector2(1, 1))
-
- siding_left = new_siding_left
-
- # Change animation
- if (new_anim != anim):
- anim = new_anim
- get_node("anim").play(anim)
-
- shooting = shoot
-
- # Apply floor velocity
- if (found_floor):
- floor_h_velocity = s.get_contact_collider_velocity_at_pos(floor_index).x
- lv.x += floor_h_velocity
-
- # Finally, apply gravity and set back the linear velocity
- lv += s.get_total_gravity()*step
- s.set_linear_velocity(lv)
-
-
-func _ready():
- enemy = ResourceLoader.load("res://enemy.tscn")
-
-# if !Globals.has_singleton("Facebook"):
-# return
-# var Facebook = Globals.get_singleton("Facebook")
-# var link = Globals.get("facebook/link")
-# var icon = Globals.get("facebook/icon")
-# var msg = "I just sneezed on your wall! Beat my score and Stop the Running nose!"
-# var title = "I just sneezed on your wall!"
-# Facebook.post("feed", msg, title, link, icon)
diff --git a/demos/2d/platformer/player.tscn b/demos/2d/platformer/player.tscn
deleted file mode 100644
index 77a2e272a6..0000000000
--- a/demos/2d/platformer/player.tscn
+++ /dev/null
@@ -1,330 +0,0 @@
-[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/robot_demo.png b/demos/2d/platformer/robot_demo.png
deleted file mode 100644
index bba8c63874..0000000000
--- a/demos/2d/platformer/robot_demo.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/platformer/scroll_bg_cloud_1.png b/demos/2d/platformer/scroll_bg_cloud_1.png
deleted file mode 100644
index 728d454b5c..0000000000
--- a/demos/2d/platformer/scroll_bg_cloud_1.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/platformer/scroll_bg_cloud_2.png b/demos/2d/platformer/scroll_bg_cloud_2.png
deleted file mode 100644
index 66e0cf2fb5..0000000000
--- a/demos/2d/platformer/scroll_bg_cloud_2.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/platformer/scroll_bg_cloud_3.png b/demos/2d/platformer/scroll_bg_cloud_3.png
deleted file mode 100644
index 3586bb4072..0000000000
--- a/demos/2d/platformer/scroll_bg_cloud_3.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/platformer/scroll_bg_fg_1.png b/demos/2d/platformer/scroll_bg_fg_1.png
deleted file mode 100644
index e64c446f65..0000000000
--- a/demos/2d/platformer/scroll_bg_fg_1.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/platformer/scroll_bg_fg_2.png b/demos/2d/platformer/scroll_bg_fg_2.png
deleted file mode 100644
index ef9601183b..0000000000
--- a/demos/2d/platformer/scroll_bg_fg_2.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/platformer/scroll_bg_sky.png b/demos/2d/platformer/scroll_bg_sky.png
deleted file mode 100644
index 04c196510f..0000000000
--- a/demos/2d/platformer/scroll_bg_sky.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/platformer/seesaw.tscn b/demos/2d/platformer/seesaw.tscn
deleted file mode 100644
index 9af07dc07b..0000000000
--- a/demos/2d/platformer/seesaw.tscn
+++ /dev/null
@@ -1,60 +0,0 @@
-[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/sound_coin.wav b/demos/2d/platformer/sound_coin.wav
deleted file mode 100644
index e78579f461..0000000000
--- a/demos/2d/platformer/sound_coin.wav
+++ /dev/null
Binary files differ
diff --git a/demos/2d/platformer/sound_explode.wav b/demos/2d/platformer/sound_explode.wav
deleted file mode 100644
index 229c85399c..0000000000
--- a/demos/2d/platformer/sound_explode.wav
+++ /dev/null
Binary files differ
diff --git a/demos/2d/platformer/sound_hit.wav b/demos/2d/platformer/sound_hit.wav
deleted file mode 100644
index 4fb3b13812..0000000000
--- a/demos/2d/platformer/sound_hit.wav
+++ /dev/null
Binary files differ
diff --git a/demos/2d/platformer/sound_jump.wav b/demos/2d/platformer/sound_jump.wav
deleted file mode 100644
index e9942e65e6..0000000000
--- a/demos/2d/platformer/sound_jump.wav
+++ /dev/null
Binary files differ
diff --git a/demos/2d/platformer/sound_shoot.wav b/demos/2d/platformer/sound_shoot.wav
deleted file mode 100644
index ad74f328cb..0000000000
--- a/demos/2d/platformer/sound_shoot.wav
+++ /dev/null
Binary files differ
diff --git a/demos/2d/platformer/stage.tscn b/demos/2d/platformer/stage.tscn
deleted file mode 100644
index 9709efefa9..0000000000
--- a/demos/2d/platformer/stage.tscn
+++ /dev/null
@@ -1,352 +0,0 @@
-[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/tiles_demo.png b/demos/2d/platformer/tiles_demo.png
deleted file mode 100644
index bc738e6d38..0000000000
--- a/demos/2d/platformer/tiles_demo.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/platformer/tiles_demo.png.flags b/demos/2d/platformer/tiles_demo.png.flags
deleted file mode 100644
index efb2b8ce5f..0000000000
--- a/demos/2d/platformer/tiles_demo.png.flags
+++ /dev/null
@@ -1 +0,0 @@
-filter=false
diff --git a/demos/2d/platformer/tileset.tres b/demos/2d/platformer/tileset.tres
deleted file mode 100644
index 17b7dd3b4d..0000000000
--- a/demos/2d/platformer/tileset.tres
+++ /dev/null
@@ -1,195 +0,0 @@
-[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_edit.tscn b/demos/2d/platformer/tileset_edit.tscn
deleted file mode 100644
index 733fada55d..0000000000
--- a/demos/2d/platformer/tileset_edit.tscn
+++ /dev/null
@@ -1,432 +0,0 @@
-[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/pong/ball.png b/demos/2d/pong/ball.png
deleted file mode 100644
index c0f6da4f6f..0000000000
--- a/demos/2d/pong/ball.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/pong/engine.cfg b/demos/2d/pong/engine.cfg
deleted file mode 100644
index 418f02c06b..0000000000
--- a/demos/2d/pong/engine.cfg
+++ /dev/null
@@ -1,22 +0,0 @@
-[application]
-
-name="Pong"
-main_scene="pong.tscn"
-icon="res://icon.png"
-
-[display]
-
-width=640
-height=400
-stretch_2d=true
-
-[input]
-
-left_move_up=[key(A)]
-left_move_down=[key(Z)]
-right_move_up=[key(Up)]
-right_move_down=[key(Down)]
-
-[render]
-
-default_clear_color=#ff000000
diff --git a/demos/2d/pong/icon.png b/demos/2d/pong/icon.png
deleted file mode 100644
index eab34de53d..0000000000
--- a/demos/2d/pong/icon.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/pong/left_pallete.png b/demos/2d/pong/left_pallete.png
deleted file mode 100644
index f0d4b549d0..0000000000
--- a/demos/2d/pong/left_pallete.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/pong/pong.gd b/demos/2d/pong/pong.gd
deleted file mode 100644
index 81afbd9961..0000000000
--- a/demos/2d/pong/pong.gd
+++ /dev/null
@@ -1,67 +0,0 @@
-
-extends Node2D
-
-# Member variables
-const INITIAL_BALL_SPEED = 80
-var ball_speed = INITIAL_BALL_SPEED
-var screen_size = Vector2(640, 400)
-
-# Default ball direction
-var direction = Vector2(-1, 0)
-var pad_size = Vector2(8, 32)
-const PAD_SPEED = 150
-
-
-func _process(delta):
- # Get ball position and pad rectangles
- var ball_pos = get_node("ball").get_pos()
- var left_rect = Rect2(get_node("left").get_pos() - pad_size*0.5, pad_size)
- var right_rect = Rect2(get_node("right").get_pos() - pad_size*0.5, pad_size)
-
- # Integrate new ball postion
- ball_pos += direction*ball_speed*delta
-
- # Flip when touching roof or floor
- if ((ball_pos.y < 0 and direction.y < 0) or (ball_pos.y > screen_size.y and direction.y > 0)):
- direction.y = -direction.y
-
- # Flip, change direction and increase speed when touching pads
- if ((left_rect.has_point(ball_pos) and direction.x < 0) or (right_rect.has_point(ball_pos) and direction.x > 0)):
- direction.x = -direction.x
- ball_speed *= 1.1
- direction.y = randf()*2.0 - 1
- direction = direction.normalized()
-
- # Check gameover
- if (ball_pos.x < 0 or ball_pos.x > screen_size.x):
- ball_pos = screen_size*0.5
- ball_speed = INITIAL_BALL_SPEED
- direction = Vector2(-1, 0)
-
- get_node("ball").set_pos(ball_pos)
-
- # Move left pad
- var left_pos = get_node("left").get_pos()
-
- if (left_pos.y > 0 and Input.is_action_pressed("left_move_up")):
- left_pos.y += -PAD_SPEED*delta
- if (left_pos.y < screen_size.y and Input.is_action_pressed("left_move_down")):
- left_pos.y += PAD_SPEED*delta
-
- get_node("left").set_pos(left_pos)
-
- # Move right pad
- var right_pos = get_node("right").get_pos()
-
- if (right_pos.y > 0 and Input.is_action_pressed("right_move_up")):
- right_pos.y += -PAD_SPEED*delta
- if (right_pos.y < screen_size.y and Input.is_action_pressed("right_move_down")):
- right_pos.y += PAD_SPEED*delta
-
- get_node("right").set_pos(right_pos)
-
-
-func _ready():
- screen_size = get_viewport_rect().size # Get actual size
- pad_size = get_node("left").get_texture().get_size()
- set_process(true)
diff --git a/demos/2d/pong/pong.tscn b/demos/2d/pong/pong.tscn
deleted file mode 100644
index 95aecc60f3..0000000000
--- a/demos/2d/pong/pong.tscn
+++ /dev/null
@@ -1,33 +0,0 @@
-[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/right_pallete.png b/demos/2d/pong/right_pallete.png
deleted file mode 100644
index 3cdb673a5b..0000000000
--- a/demos/2d/pong/right_pallete.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/pong/separator.png b/demos/2d/pong/separator.png
deleted file mode 100644
index 56874a59cb..0000000000
--- a/demos/2d/pong/separator.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/rubegoldberg/art/bowling_ball.png b/demos/2d/rubegoldberg/art/bowling_ball.png
deleted file mode 100644
index 9443cda882..0000000000
--- a/demos/2d/rubegoldberg/art/bowling_ball.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/rubegoldberg/art/box.png b/demos/2d/rubegoldberg/art/box.png
deleted file mode 100644
index 9edcae5909..0000000000
--- a/demos/2d/rubegoldberg/art/box.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/rubegoldberg/art/domino.png b/demos/2d/rubegoldberg/art/domino.png
deleted file mode 100644
index 111b936063..0000000000
--- a/demos/2d/rubegoldberg/art/domino.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/rubegoldberg/art/platform.png b/demos/2d/rubegoldberg/art/platform.png
deleted file mode 100644
index c18ddf2b1d..0000000000
--- a/demos/2d/rubegoldberg/art/platform.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/rubegoldberg/art/seesaw_base.png b/demos/2d/rubegoldberg/art/seesaw_base.png
deleted file mode 100644
index ba359c6ce8..0000000000
--- a/demos/2d/rubegoldberg/art/seesaw_base.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/rubegoldberg/art/seesaw_top.png b/demos/2d/rubegoldberg/art/seesaw_top.png
deleted file mode 100644
index 7c3fa83b12..0000000000
--- a/demos/2d/rubegoldberg/art/seesaw_top.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/rubegoldberg/ball.tscn b/demos/2d/rubegoldberg/ball.tscn
deleted file mode 100644
index 0b11461c3b..0000000000
--- a/demos/2d/rubegoldberg/ball.tscn
+++ /dev/null
@@ -1,44 +0,0 @@
-[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/box.tscn b/demos/2d/rubegoldberg/box.tscn
deleted file mode 100644
index f9f0455c1f..0000000000
--- a/demos/2d/rubegoldberg/box.tscn
+++ /dev/null
@@ -1,44 +0,0 @@
-[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/domino.tscn b/demos/2d/rubegoldberg/domino.tscn
deleted file mode 100644
index 3b2dc134dc..0000000000
--- a/demos/2d/rubegoldberg/domino.tscn
+++ /dev/null
@@ -1,44 +0,0 @@
-[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/engine.cfg b/demos/2d/rubegoldberg/engine.cfg
deleted file mode 100644
index 1f746c136d..0000000000
--- a/demos/2d/rubegoldberg/engine.cfg
+++ /dev/null
@@ -1,10 +0,0 @@
-[application]
-
-name="Rube Goldberg"
-main_scene="res://rubegoldberg.tscn"
-icon="res://icon.png"
-
-[physics_2d]
-
-default_gravity=500
-default_density=0.01
diff --git a/demos/2d/rubegoldberg/icon.png b/demos/2d/rubegoldberg/icon.png
deleted file mode 100644
index 38925bda0d..0000000000
--- a/demos/2d/rubegoldberg/icon.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/rubegoldberg/pendulum.tscn b/demos/2d/rubegoldberg/pendulum.tscn
deleted file mode 100644
index b9e1bcd1f9..0000000000
--- a/demos/2d/rubegoldberg/pendulum.tscn
+++ /dev/null
@@ -1,248 +0,0 @@
-[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/platform.tscn b/demos/2d/rubegoldberg/platform.tscn
deleted file mode 100644
index 70584ca75c..0000000000
--- a/demos/2d/rubegoldberg/platform.tscn
+++ /dev/null
@@ -1,33 +0,0 @@
-[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/rubegoldberg.tscn b/demos/2d/rubegoldberg/rubegoldberg.tscn
deleted file mode 100644
index 995901d4ae..0000000000
--- a/demos/2d/rubegoldberg/rubegoldberg.tscn
+++ /dev/null
@@ -1,98 +0,0 @@
-[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/seesaw.tscn b/demos/2d/rubegoldberg/seesaw.tscn
deleted file mode 100644
index 3b915d3e7f..0000000000
--- a/demos/2d/rubegoldberg/seesaw.tscn
+++ /dev/null
@@ -1,89 +0,0 @@
-[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/screen_space_shaders/art/burano.jpg b/demos/2d/screen_space_shaders/art/burano.jpg
deleted file mode 100644
index 3017616384..0000000000
--- a/demos/2d/screen_space_shaders/art/burano.jpg
+++ /dev/null
Binary files differ
diff --git a/demos/2d/screen_space_shaders/art/filmgrain.png b/demos/2d/screen_space_shaders/art/filmgrain.png
deleted file mode 100644
index b8ea89902c..0000000000
--- a/demos/2d/screen_space_shaders/art/filmgrain.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/screen_space_shaders/art/filmgrain.png.flags b/demos/2d/screen_space_shaders/art/filmgrain.png.flags
deleted file mode 100644
index d5476d5499..0000000000
--- a/demos/2d/screen_space_shaders/art/filmgrain.png.flags
+++ /dev/null
@@ -1 +0,0 @@
-repeat=true
diff --git a/demos/2d/screen_space_shaders/art/forest.jpg b/demos/2d/screen_space_shaders/art/forest.jpg
deleted file mode 100644
index 705acf8a5d..0000000000
--- a/demos/2d/screen_space_shaders/art/forest.jpg
+++ /dev/null
Binary files differ
diff --git a/demos/2d/screen_space_shaders/art/mountains.jpg b/demos/2d/screen_space_shaders/art/mountains.jpg
deleted file mode 100644
index d75baf530c..0000000000
--- a/demos/2d/screen_space_shaders/art/mountains.jpg
+++ /dev/null
Binary files differ
diff --git a/demos/2d/screen_space_shaders/art/platformer.jpg b/demos/2d/screen_space_shaders/art/platformer.jpg
deleted file mode 100644
index e6197cd62b..0000000000
--- a/demos/2d/screen_space_shaders/art/platformer.jpg
+++ /dev/null
Binary files differ
diff --git a/demos/2d/screen_space_shaders/art/vignette.png b/demos/2d/screen_space_shaders/art/vignette.png
deleted file mode 100644
index 8afeb7f9e1..0000000000
--- a/demos/2d/screen_space_shaders/art/vignette.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/screen_space_shaders/art/white.png b/demos/2d/screen_space_shaders/art/white.png
deleted file mode 100644
index 573faa33f2..0000000000
--- a/demos/2d/screen_space_shaders/art/white.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/screen_space_shaders/engine.cfg b/demos/2d/screen_space_shaders/engine.cfg
deleted file mode 100644
index 9a74e7b7bd..0000000000
--- a/demos/2d/screen_space_shaders/engine.cfg
+++ /dev/null
@@ -1,12 +0,0 @@
-[application]
-
-name="Screen-Space Shaders"
-main_scene="res://screen_shaders.tscn"
-icon="res://icon.png"
-
-[display]
-
-width=800
-height=600
-stretch_mode="2d"
-stretch_aspect="keep"
diff --git a/demos/2d/screen_space_shaders/icon.png b/demos/2d/screen_space_shaders/icon.png
deleted file mode 100644
index e3cc049081..0000000000
--- a/demos/2d/screen_space_shaders/icon.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/screen_space_shaders/screen_shaders.gd b/demos/2d/screen_space_shaders/screen_shaders.gd
deleted file mode 100644
index b847a9c923..0000000000
--- a/demos/2d/screen_space_shaders/screen_shaders.gd
+++ /dev/null
@@ -1,25 +0,0 @@
-
-extends Control
-
-
-func _ready():
- for c in get_node("pictures").get_children():
- get_node("picture").add_item("PIC: " + c.get_name())
- for c in get_node("effects").get_children():
- get_node("effect").add_item("FX: " + c.get_name())
-
-
-func _on_picture_item_selected(ID):
- for c in range(get_node("pictures").get_child_count()):
- if (ID == c):
- get_node("pictures").get_child(c).show()
- else:
- get_node("pictures").get_child(c).hide()
-
-
-func _on_effect_item_selected(ID):
- for c in range(get_node("effects").get_child_count()):
- if (ID == c):
- get_node("effects").get_child(c).show()
- else:
- get_node("effects").get_child(c).hide()
diff --git a/demos/2d/screen_space_shaders/screen_shaders.tscn b/demos/2d/screen_space_shaders/screen_shaders.tscn
deleted file mode 100644
index 98a3224696..0000000000
--- a/demos/2d/screen_space_shaders/screen_shaders.tscn
+++ /dev/null
@@ -1,512 +0,0 @@
-[gd_scene load_steps=34 format=1]
-
-[ext_resource path="res://screen_shaders.gd" type="Script" id=1]
-[ext_resource path="res://art/burano.jpg" type="Texture" id=2]
-[ext_resource path="res://art/platformer.jpg" type="Texture" id=3]
-[ext_resource path="res://art/mountains.jpg" type="Texture" id=4]
-[ext_resource path="res://art/forest.jpg" type="Texture" id=5]
-[ext_resource path="res://art/vignette.png" type="Texture" id=6]
-[ext_resource path="res://art/white.png" type="Texture" id=7]
-[ext_resource path="res://art/filmgrain.png" type="Texture" id=8]
-
-[sub_resource type="CanvasItemShader" id=1]
-
-_code = { "fragment":"uniform texture vignette;\n\nCOLOR.rgb = texscreen(SCREEN_UV);\nCOLOR.rgb*= tex(vignette,UV).rgb;\n\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
-shader_param/vignette = ExtResource( 6 )
-
-[sub_resource type="CanvasItemShader" id=3]
-
-_code = { "fragment":"uniform texture vignette;\nfloat radius = 0.003;\nvec3 col = vec3(0);\n\ncol+= texscreen(SCREEN_UV+vec2(-radius,-radius));\ncol+= texscreen(SCREEN_UV+vec2(0,-radius));\ncol+= texscreen(SCREEN_UV+vec2(radius,-radius));\n\ncol+= texscreen(SCREEN_UV+vec2(-radius,0));\ncol+= texscreen(SCREEN_UV+vec2(0,0));\ncol+= texscreen(SCREEN_UV+vec2(radius,0));\n\n\ncol+= texscreen(SCREEN_UV+vec2(-radius,radius));\ncol+= texscreen(SCREEN_UV+vec2(0,radius));\ncol+= texscreen(SCREEN_UV+vec2(radius,radius));\n\ncol/=9.0;\nCOLOR.rgb=col;\n\n", "fragment_ofs":0, "light":"", "light_ofs":0, "vertex":"", "vertex_ofs":0 }
-
-[sub_resource type="CanvasItemMaterial" id=4]
-
-shader/shader = SubResource( 3 )
-shader/shading_mode = 0
-shader_param/vignette = ExtResource( 6 )
-
-[sub_resource type="CanvasItemShader" id=5]
-
-_code = { "fragment":"uniform texture vignette;\nuniform float radius=0.005;\nuniform float etching=2.0;\nuniform float edge_darken=0.5;\n\nfloat d = length(UV-vec2(0.5,0.5))*etching;\nmat2 rot = mat2( vec2(cos(d),-sin(d)), vec2(sin(d),cos(d)) );\n\nvec3 col = vec3(0);\n\ncol+= texscreen(SCREEN_UV+rot*vec2(-radius,-radius));\ncol+= texscreen(SCREEN_UV+rot*vec2(0,-radius));\ncol+= texscreen(SCREEN_UV+rot*vec2(radius,-radius));\n\ncol+= texscreen(SCREEN_UV+rot*vec2(-radius,0));\nvec3 scol = texscreen(SCREEN_UV+vec2(0,0));\ncol+= scol;\ncol+= texscreen(SCREEN_UV+rot*vec2(radius,0));\n\n\ncol+= texscreen(SCREEN_UV+rot*vec2(-radius,radius));\ncol+= texscreen(SCREEN_UV+rot*vec2(0,radius));\ncol+= texscreen(SCREEN_UV+vec2(radius,radius));\n\ncol/=9.0;\nfloat v = tex(vignette,UV).r;\nCOLOR.rgb=mix(col,scol,v)*mix(1.0,v,edge_darken);\n\n", "fragment_ofs":0, "light":"", "light_ofs":0, "vertex":"", "vertex_ofs":0 }
-
-[sub_resource type="CanvasItemMaterial" id=6]
-
-shader/shader = SubResource( 5 )
-shader/shading_mode = 0
-shader_param/vignette = ExtResource( 6 )
-shader_param/radius = 0.005
-shader_param/etching = 2.0
-shader_param/edge_darken = 0.5
-
-[sub_resource type="CanvasItemMaterial" id=7]
-
-shader/shader = SubResource( 5 )
-shader/shading_mode = 0
-shader_param/vignette = ExtResource( 6 )
-shader_param/radius = 0.02
-shader_param/etching = 100.0
-shader_param/edge_darken = -0.5
-
-[sub_resource type="CanvasItemShader" id=8]
-
-_code = { "fragment":"uniform float size_x=0.008;\nuniform float size_y=0.008;\n\nvec2 uv = SCREEN_UV;\nuv-=mod(uv,vec2(size_x,size_y));\n\nCOLOR.rgb= texscreen(uv);\n", "fragment_ofs":0, "light":"", "light_ofs":0, "vertex":"", "vertex_ofs":0 }
-
-[sub_resource type="CanvasItemMaterial" id=9]
-
-shader/shader = SubResource( 8 )
-shader/shading_mode = 0
-shader_param/size_x = 0.01
-shader_param/size_y = 0.01
-
-[sub_resource type="CanvasItemShader" id=10]
-
-_code = { "fragment":"uniform float rotation=3.0;\n\nvec2 uv = SCREEN_UV;\nvec2 rel = uv-vec2(0.5,0.5);\nfloat angle = length(rel)*rotation;\nmat2 rot = mat2(vec2(cos(angle),-sin(angle)),vec2(sin(angle),cos(angle)));\nrel = rot * rel;\nuv = clamp(rel + vec2(0.5,0.5),vec2(0,0),vec2(1,1));\nCOLOR.rgb= texscreen(uv);\n", "fragment_ofs":0, "light":"", "light_ofs":0, "vertex":"", "vertex_ofs":0 }
-
-[sub_resource type="CanvasItemMaterial" id=11]
-
-shader/shader = SubResource( 10 )
-shader/shading_mode = 0
-shader_param/rotation = 3.0
-
-[sub_resource type="CanvasItemShader" id=12]
-
-_code = { "fragment":"uniform color base=color(0.75,0.6,0.6,1.0);\nvec3 c = texscreen(SCREEN_UV);\n\n//float v = max(c.r,max(c.g,c.b));\nfloat v = dot(c,vec3(0.33333,0.33333,0.33333));\nv=sqrt(v);\n//v*=v;\nCOLOR.rgb= base.rgb*v;\n", "fragment_ofs":0, "light":"", "light_ofs":0, "vertex":"", "vertex_ofs":0 }
-
-[sub_resource type="CanvasItemMaterial" id=13]
-
-shader/shader = SubResource( 12 )
-shader/shading_mode = 0
-shader_param/base = Color( 0.75, 0.566284, 0.6, 1 )
-
-[sub_resource type="CanvasItemShader" id=14]
-
-_code = { "fragment":"vec3 c = texscreen(SCREEN_UV);\nc=vec3(1.0)-c;\nCOLOR.rgb=c;\n", "fragment_ofs":0, "light":"", "light_ofs":0, "vertex":"", "vertex_ofs":0 }
-
-[sub_resource type="CanvasItemMaterial" id=15]
-
-shader/shader = SubResource( 14 )
-shader/shading_mode = 0
-
-[sub_resource type="CanvasItemShader" id=16]
-
-_code = { "fragment":"vec3 c = texscreen(SCREEN_UV);\nc=mod(c+vec3(0.5),vec3(1.0));\nCOLOR.rgb=c;\n", "fragment_ofs":0, "light":"", "light_ofs":0, "vertex":"", "vertex_ofs":0 }
-
-[sub_resource type="CanvasItemMaterial" id=17]
-
-shader/shader = SubResource( 16 )
-shader/shading_mode = 0
-
-[sub_resource type="CanvasItemShader" id=18]
-
-_code = { "fragment":"vec3 c = texscreen(SCREEN_UV);\nCOLOR.rgb=normalize(c);\n", "fragment_ofs":0, "light":"", "light_ofs":0, "vertex":"", "vertex_ofs":0 }
-
-[sub_resource type="CanvasItemMaterial" id=19]
-
-shader/shader = SubResource( 18 )
-shader/shading_mode = 0
-
-[sub_resource type="CanvasItemShader" id=20]
-
-_code = { "fragment":"uniform float brightness=0.8;\nuniform float contrast=1.5;\nuniform float saturation=1.8;\n\nvec3 c = texscreen(SCREEN_UV);\n\nc.rgb = mix(vec3(0.0),c.rgb,brightness);\nc.rgb = mix(vec3(0.5),c.rgb,contrast);\nc.rgb = mix(vec3(dot(vec3(1.0),c.rgb)*0.33333),c.rgb,saturation);\n\nCOLOR.rgb=c;\n", "fragment_ofs":0, "light":"", "light_ofs":0, "vertex":"", "vertex_ofs":0 }
-
-[sub_resource type="CanvasItemMaterial" id=21]
-
-shader/shader = SubResource( 20 )
-shader/shading_mode = 0
-shader_param/brightness = 0.8
-shader_param/contrast = 1.5
-shader_param/saturation = 1.8
-
-[sub_resource type="CanvasItemShader" id=22]
-
-_code = { "fragment":"uniform float frequency=60;\nuniform float depth = 0.005;\n\nvec2 uv = SCREEN_UV;\nuv.x += sin(uv.y*frequency+TIME)*depth;\nuv.x = clamp(uv.x,0,1);\nvec3 c = texscreen(uv);\n\n\nCOLOR.rgb=c;\n", "fragment_ofs":0, "light":"", "light_ofs":0, "vertex":"", "vertex_ofs":0 }
-
-[sub_resource type="CanvasItemMaterial" id=23]
-
-shader/shader = SubResource( 22 )
-shader/shading_mode = 0
-shader_param/frequency = 60.0
-shader_param/depth = 0.005
-
-[sub_resource type="CanvasItemShader" id=24]
-
-_code = { "fragment":"uniform color base=color(0.75,0.6,0.6,1.0);\nuniform texture grain;\nuniform float grain_strength=0.3;\nuniform texture vignette;\nuniform float fps=12;\nuniform float stretch = 0.5;\nuniform float flashing=0.01;\n\nvec3 c = texscreen(SCREEN_UV);\n\n//float v = max(c.r,max(c.g,c.b));\nfloat v = dot(c,vec3(0.33333,0.33333,0.33333));\nv=sqrt(v);\n//v*=v;\nfloat make_grain(float time) {\n\n\tvec2 ofs = vec2(sin(41*time*sin(time*123)),sin(27*time*sin(time*312)));\n\treturn tex(grain,(UV+mod(ofs,vec2(1,1)))*stretch).r;\n}\n\nfloat f = 1.0/fps;\nfloat g = make_grain(TIME-mod(TIME,f));\ng=max(g,make_grain(TIME-mod(TIME,f)+f)*0.5);\ng=max(g,make_grain(TIME-mod(TIME,f)+f*2.0)*0.25);\n\n\nCOLOR.rgb= base.rgb*v-vec3(g)*grain_strength;\nCOLOR.rgb*=tex(vignette,UV).r;\nfloat ft = TIME * 0.002;\nCOLOR.rgb+=vec3(sin(75*ft*sin(ft*123)))*flashing;\n", "fragment_ofs":0, "light":"", "light_ofs":0, "vertex":"", "vertex_ofs":0 }
-
-[sub_resource type="CanvasItemMaterial" id=25]
-
-shader/shader = SubResource( 24 )
-shader/shading_mode = 0
-shader_param/base = Color( 0.75, 0.566284, 0.6, 1 )
-shader_param/grain = ExtResource( 8 )
-shader_param/grain_strength = 0.3
-shader_param/vignette = ExtResource( 6 )
-shader_param/fps = 12.0
-shader_param/stretch = 0.5
-shader_param/flashing = 0.01
-
-[node name="Control" 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="pictures" type="Control" parent="."]
-
-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="pictures"]
-
-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 = 40.0
-margin/bottom = 40.0
-texture = ExtResource( 2 )
-
-[node name="roby" type="TextureFrame" parent="pictures"]
-
-visibility/visible = false
-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 = 40.0
-margin/bottom = 40.0
-texture = ExtResource( 3 )
-
-[node name="mountains" type="TextureFrame" parent="pictures"]
-
-visibility/visible = false
-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 = 40.0
-margin/bottom = 40.0
-texture = ExtResource( 4 )
-
-[node name="forest" type="TextureFrame" parent="pictures"]
-
-visibility/visible = false
-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 = 40.0
-margin/bottom = 40.0
-texture = ExtResource( 5 )
-
-[node name="effects" type="Control" parent="."]
-
-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 = -20.0
-margin/bottom = 0.0
-
-[node name="disabled" type="Control" parent="effects"]
-
-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 = 40.0
-margin/bottom = 40.0
-
-[node name="vignette" type="TextureFrame" parent="effects"]
-
-visibility/visible = false
-material/material = SubResource( 2 )
-anchor/right = 1
-anchor/bottom = 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 = 0.0
-margin/bottom = 0.0
-texture = ExtResource( 7 )
-expand = true
-
-[node name="blur" type="TextureFrame" parent="effects"]
-
-visibility/visible = false
-material/material = SubResource( 4 )
-anchor/right = 1
-anchor/bottom = 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 = 0.0
-margin/bottom = 0.0
-texture = ExtResource( 7 )
-expand = true
-
-[node name="radial_blur" type="TextureFrame" parent="effects"]
-
-visibility/visible = false
-material/material = SubResource( 6 )
-anchor/right = 1
-anchor/bottom = 1
-focus/ignore_mouse = true
-focus/stop_mouse = true
-size_flags/horizontal = 2
-size_flags/vertical = 2
-margin/left = -1.0
-margin/top = 0.0
-margin/right = 1.0
-margin/bottom = 0.0
-texture = ExtResource( 7 )
-expand = true
-
-[node name="radial_etch" type="TextureFrame" parent="effects"]
-
-visibility/visible = false
-material/material = SubResource( 7 )
-anchor/right = 1
-anchor/bottom = 1
-focus/ignore_mouse = true
-focus/stop_mouse = true
-size_flags/horizontal = 2
-size_flags/vertical = 2
-margin/left = -1.0
-margin/top = 0.0
-margin/right = 1.0
-margin/bottom = 0.0
-texture = ExtResource( 7 )
-expand = true
-
-[node name="pixelize" type="TextureFrame" parent="effects"]
-
-visibility/visible = false
-material/material = SubResource( 9 )
-anchor/right = 1
-anchor/bottom = 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 = 0.0
-margin/bottom = 0.0
-texture = ExtResource( 7 )
-expand = true
-
-[node name="whirl" type="TextureFrame" parent="effects"]
-
-visibility/visible = false
-material/material = SubResource( 11 )
-anchor/right = 1
-anchor/bottom = 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 = 0.0
-margin/bottom = 0.0
-texture = ExtResource( 7 )
-expand = true
-
-[node name="sepia" type="TextureFrame" parent="effects"]
-
-visibility/visible = false
-material/material = SubResource( 13 )
-anchor/right = 1
-anchor/bottom = 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 = 0.0
-margin/bottom = 0.0
-texture = ExtResource( 7 )
-expand = true
-
-[node name="negative" type="TextureFrame" parent="effects"]
-
-visibility/visible = false
-material/material = SubResource( 15 )
-anchor/right = 1
-anchor/bottom = 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 = 0.0
-margin/bottom = 0.0
-texture = ExtResource( 7 )
-expand = true
-
-[node name="contrasted" type="TextureFrame" parent="effects"]
-
-visibility/visible = false
-material/material = SubResource( 17 )
-anchor/right = 1
-anchor/bottom = 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 = 0.0
-margin/bottom = 0.0
-texture = ExtResource( 7 )
-expand = true
-
-[node name="normalized" type="TextureFrame" parent="effects"]
-
-visibility/visible = false
-material/material = SubResource( 19 )
-anchor/right = 1
-anchor/bottom = 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 = 0.0
-margin/bottom = 0.0
-texture = ExtResource( 7 )
-expand = true
-
-[node name="BCS" type="TextureFrame" parent="effects"]
-
-visibility/visible = false
-material/material = SubResource( 21 )
-anchor/right = 1
-anchor/bottom = 1
-focus/ignore_mouse = true
-focus/stop_mouse = true
-size_flags/horizontal = 2
-size_flags/vertical = 2
-margin/left = 0.0
-margin/top = 3.0
-margin/right = 0.0
-margin/bottom = -3.0
-texture = ExtResource( 7 )
-expand = true
-
-[node name="mirage" type="TextureFrame" parent="effects"]
-
-visibility/visible = false
-material/material = SubResource( 23 )
-anchor/right = 1
-anchor/bottom = 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 = 0.0
-margin/bottom = 0.0
-texture = ExtResource( 7 )
-expand = true
-
-[node name="old_film" type="TextureFrame" parent="effects"]
-
-visibility/visible = false
-material/material = SubResource( 25 )
-anchor/right = 1
-anchor/bottom = 1
-focus/ignore_mouse = true
-focus/stop_mouse = true
-size_flags/horizontal = 2
-size_flags/vertical = 2
-margin/left = -3.0
-margin/top = 0.0
-margin/right = 3.0
-margin/bottom = 0.0
-texture = ExtResource( 7 )
-expand = true
-
-[node name="picture" type="OptionButton" parent="."]
-
-visibility/opacity = 0.8
-focus/ignore_mouse = false
-focus/stop_mouse = true
-size_flags/horizontal = 2
-size_flags/vertical = 2
-margin/left = 8.0
-margin/top = 7.0
-margin/right = 131.0
-margin/bottom = 28.0
-toggle_mode = false
-flat = false
-align = 0
-selected = -1
-items = [ ]
-
-[node name="effect" type="OptionButton" parent="."]
-
-visibility/opacity = 0.8
-focus/ignore_mouse = false
-focus/stop_mouse = true
-size_flags/horizontal = 2
-size_flags/vertical = 2
-margin/left = 137.0
-margin/top = 7.0
-margin/right = 260.0
-margin/bottom = 28.0
-toggle_mode = false
-flat = false
-align = 0
-selected = -1
-items = [ ]
-
-[connection signal="item_selected" from="picture" to="." method="_on_picture_item_selected"]
-
-[connection signal="item_selected" from="effect" to="." method="_on_effect_item_selected"]
-
-
diff --git a/demos/2d/sdf_font/KaushanScript-Regular.otf b/demos/2d/sdf_font/KaushanScript-Regular.otf
deleted file mode 100644
index bd29502100..0000000000
--- a/demos/2d/sdf_font/KaushanScript-Regular.otf
+++ /dev/null
Binary files differ
diff --git a/demos/2d/sdf_font/engine.cfg b/demos/2d/sdf_font/engine.cfg
deleted file mode 100644
index 22f5e034cb..0000000000
--- a/demos/2d/sdf_font/engine.cfg
+++ /dev/null
@@ -1,5 +0,0 @@
-[application]
-
-name="Signed Distance Field Font"
-main_scene="res://sdf.tscn"
-icon="res://icon.png"
diff --git a/demos/2d/sdf_font/font.fnt b/demos/2d/sdf_font/font.fnt
deleted file mode 100644
index c2b6b0177d..0000000000
--- a/demos/2d/sdf_font/font.fnt
+++ /dev/null
Binary files differ
diff --git a/demos/2d/sdf_font/icon.png b/demos/2d/sdf_font/icon.png
deleted file mode 100644
index 0c700ad77c..0000000000
--- a/demos/2d/sdf_font/icon.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/sdf_font/sdf.tscn b/demos/2d/sdf_font/sdf.tscn
deleted file mode 100644
index a3305c2edc..0000000000
--- a/demos/2d/sdf_font/sdf.tscn
+++ /dev/null
@@ -1,74 +0,0 @@
-[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/bullet.png b/demos/2d/shower_of_bullets/bullet.png
deleted file mode 100644
index 7466374129..0000000000
--- a/demos/2d/shower_of_bullets/bullet.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/shower_of_bullets/bullets.gd b/demos/2d/shower_of_bullets/bullets.gd
deleted file mode 100644
index e0eba2682a..0000000000
--- a/demos/2d/shower_of_bullets/bullets.gd
+++ /dev/null
@@ -1,71 +0,0 @@
-
-extends Node2D
-
-# This demo is an example of controling a high number of 2D objects with logic and collision without using scene nodes.
-# This technique is a lot more efficient than using instancing and nodes, but requires more programming and is less visual
-
-# Member variables
-const BULLET_COUNT = 500
-const SPEED_MIN = 20
-const SPEED_MAX = 50
-
-var bullets = []
-var shape
-
-
-# Inner classes
-class Bullet:
- var pos = Vector2()
- var speed = 1.0
- var body = RID()
-
-
-func _draw():
- var t = preload("res://bullet.png")
- var tofs = -t.get_size()*0.5
- for b in bullets:
- draw_texture(t, b.pos + tofs)
-
-
-func _process(delta):
- var width = get_viewport_rect().size.x*2.0
- var mat = Matrix32()
- for b in bullets:
- b.pos.x -= b.speed*delta
- if (b.pos.x < -30):
- b.pos.x += width
- mat.o = b.pos
-
- Physics2DServer.body_set_state(b.body, Physics2DServer.BODY_STATE_TRANSFORM, mat)
-
- update()
-
-
-func _ready():
- shape = Physics2DServer.shape_create(Physics2DServer.SHAPE_CIRCLE)
- Physics2DServer.shape_set_data(shape, 8) # Radius
-
- for i in range(BULLET_COUNT):
- var b = Bullet.new()
- b.speed = rand_range(SPEED_MIN, SPEED_MAX)
- b.body = Physics2DServer.body_create(Physics2DServer.BODY_MODE_KINEMATIC)
- Physics2DServer.body_set_space(b.body, get_world_2d().get_space())
- Physics2DServer.body_add_shape(b.body, shape)
-
- b.pos = Vector2(get_viewport_rect().size * Vector2(randf()*2.0, randf())) # Twice as long
- b.pos.x += get_viewport_rect().size.x # Start outside
- var mat = Matrix32()
- mat.o = b.pos
- Physics2DServer.body_set_state(b.body, Physics2DServer.BODY_STATE_TRANSFORM, mat)
-
- bullets.append(b)
-
- set_process(true)
-
-
-func _exit_tree():
- for b in bullets:
- Physics2DServer.free_rid(b.body)
-
- Physics2DServer.free_rid(shape)
- bullets.clear()
diff --git a/demos/2d/shower_of_bullets/engine.cfg b/demos/2d/shower_of_bullets/engine.cfg
deleted file mode 100644
index 8db2ae9006..0000000000
--- a/demos/2d/shower_of_bullets/engine.cfg
+++ /dev/null
@@ -1,16 +0,0 @@
-[application]
-
-name="Bullet Shower"
-main_scene="res://shower.tscn"
-icon="res://icon.png"
-
-[display]
-
-width=1024
-height=600
-resizable=true
-stretch_aspect="keep"
-
-[physics_2d]
-
-cell_size=64
diff --git a/demos/2d/shower_of_bullets/face_happy.png b/demos/2d/shower_of_bullets/face_happy.png
deleted file mode 100644
index 6ed643b62d..0000000000
--- a/demos/2d/shower_of_bullets/face_happy.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/shower_of_bullets/face_sad.png b/demos/2d/shower_of_bullets/face_sad.png
deleted file mode 100644
index d6318b20a3..0000000000
--- a/demos/2d/shower_of_bullets/face_sad.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/shower_of_bullets/icon.png b/demos/2d/shower_of_bullets/icon.png
deleted file mode 100644
index 432c74a5a3..0000000000
--- a/demos/2d/shower_of_bullets/icon.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/shower_of_bullets/shower.gd b/demos/2d/shower_of_bullets/shower.gd
deleted file mode 100644
index 50c1109489..0000000000
--- a/demos/2d/shower_of_bullets/shower.gd
+++ /dev/null
@@ -1,25 +0,0 @@
-
-extends Node2D
-
-# Member variables
-var touching = 0
-
-func _input(event):
- if (event.type == InputEvent.MOUSE_MOTION):
- get_node("player").set_pos(event.pos - Vector2(0, 16))
-
-
-func _on_player_body_enter_shape(body_id, body, body_shape, area_shape):
- touching += 1
- if (touching == 1):
- get_node("player/sprite").set_frame(1)
-
-
-func _on_player_body_exit_shape(body_id, body, body_shape, area_shape):
- touching -= 1
- if (touching == 0):
- get_node("player/sprite").set_frame(0)
-
-
-func _ready():
- set_process_input(true)
diff --git a/demos/2d/shower_of_bullets/shower.tscn b/demos/2d/shower_of_bullets/shower.tscn
deleted file mode 100644
index 9df555f96a..0000000000
--- a/demos/2d/shower_of_bullets/shower.tscn
+++ /dev/null
@@ -1,51 +0,0 @@
-[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.gd b/demos/2d/space_shooter/asteroid.gd
deleted file mode 100644
index 9f6734e122..0000000000
--- a/demos/2d/space_shooter/asteroid.gd
+++ /dev/null
@@ -1,43 +0,0 @@
-
-extends Area2D
-
-# Member variables
-const SPEED = -200
-const Y_RANDOM = 10
-
-var points = 1
-var speed_y = 0.0
-var destroyed = false
-
-
-func _process(delta):
- translate(Vector2(SPEED, speed_y)*delta)
-
-
-func _ready():
- speed_y = rand_range(-Y_RANDOM, Y_RANDOM)
-
-
-func destroy():
- if (destroyed):
- return
- destroyed = true
- get_node("anim").play("explode")
- set_process(false)
- get_node("sfx").play("sound_explode")
- # Accumulate points
- get_node("/root/game_state").points += 1
-
-
-func is_enemy():
- return not destroyed
-
-
-func _on_visibility_enter_screen():
- set_process(true)
- # Make it spin!
- get_node("anim").play("spin")
-
-
-func _on_visibility_exit_screen():
- queue_free()
diff --git a/demos/2d/space_shooter/asteroid.tscn b/demos/2d/space_shooter/asteroid.tscn
deleted file mode 100644
index ad57f6ef7c..0000000000
--- a/demos/2d/space_shooter/asteroid.tscn
+++ /dev/null
@@ -1,129 +0,0 @@
-[gd_scene load_steps=9 format=1]
-
-[ext_resource path="res://asteroid.gd" type="Script" id=1]
-[ext_resource path="res://meteorite.png" type="Texture" id=2]
-[ext_resource path="res://sound_explode.wav" type="Sample" id=3]
-
-[sub_resource type="CircleShape2D" id=1]
-
-custom_solver_bias = 0.0
-radius = 22.0
-
-[sub_resource type="Animation" id=2]
-
-resource/name = "explode"
-length = 1.0
-loop = false
-step = 0.1
-tracks/0/type = "value"
-tracks/0/path = NodePath("particles: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 = "value"
-tracks/1/path = NodePath("sprite:visibility/visible")
-tracks/1/interp = 1
-tracks/1/keys = { "cont":false, "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "values":[ false ] }
-tracks/2/type = "method"
-tracks/2/path = NodePath(".")
-tracks/2/interp = 1
-tracks/2/keys = { "times":FloatArray( 0.7 ), "transitions":FloatArray( 1 ), "values":[ { "args":[ ], "method":"queue_free" } ] }
-
-[sub_resource type="Animation" id=3]
-
-length = 3.0
-loop = true
-step = 0.1
-tracks/0/type = "value"
-tracks/0/path = NodePath("sprite:transform/rot")
-tracks/0/interp = 1
-tracks/0/keys = { "cont":true, "times":FloatArray( 0, 3 ), "transitions":FloatArray( 1, 1 ), "values":[ 0.0, 360.0 ] }
-
-[sub_resource type="ColorRamp" id=4]
-
-offsets = FloatArray( 0, 1 )
-colors = ColorArray( 1, 1, 1, 1, 1, 1, 1, 0 )
-
-[sub_resource type="SampleLibrary" id=5]
-
-samples/sound_explode = { "db":0.0, "pitch":1.0, "sample":ExtResource( 3 ) }
-
-[node name="asteroid" 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 )
-
-[node name="anim" type="AnimationPlayer" parent="."]
-
-playback/process_mode = 1
-playback/default_blend_time = 0.0
-root/root = NodePath("..")
-anims/explode = SubResource( 2 )
-anims/spin = SubResource( 3 )
-playback/active = true
-playback/speed = 1.0
-blend_times = [ ]
-autoplay = ""
-
-[node name="collision" type="CollisionShape2D" parent="."]
-
-shape = SubResource( 1 )
-trigger = false
-_update_shape_index = -1
-
-[node name="visibility" type="VisibilityNotifier2D" parent="."]
-
-rect = Rect2( -10, -10, 20, 20 )
-
-[node name="particles" type="Particles2D" parent="."]
-
-config/amount = 32
-config/lifetime = 0.5
-config/emitting = false
-config/half_extents = Vector2( 20, 20 )
-config/explosiveness = 0.1
-config/texture = ExtResource( 2 )
-params/direction = 0.0
-params/spread = 180.0
-params/linear_velocity = 200.0
-params/spin_velocity = 0.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 = 0.5
-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( 4 )
-
-[node name="sfx" 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( 5 )
-config/pitch_random = 0.0
-
-[connection signal="enter_screen" from="visibility" to="." method="_on_visibility_enter_screen"]
-
-[connection signal="exit_screen" from="visibility" to="." method="_on_visibility_exit_screen"]
-
-
diff --git a/demos/2d/space_shooter/bg_gradient.png b/demos/2d/space_shooter/bg_gradient.png
deleted file mode 100644
index 3e71976dc6..0000000000
--- a/demos/2d/space_shooter/bg_gradient.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/space_shooter/big_star.png b/demos/2d/space_shooter/big_star.png
deleted file mode 100644
index 7726a7aa12..0000000000
--- a/demos/2d/space_shooter/big_star.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/space_shooter/enemy1.gd b/demos/2d/space_shooter/enemy1.gd
deleted file mode 100644
index 204995c05d..0000000000
--- a/demos/2d/space_shooter/enemy1.gd
+++ /dev/null
@@ -1,36 +0,0 @@
-
-extends Area2D
-
-# Member variables
-const SPEED = -200
-
-var destroyed=false
-
-
-func _process(delta):
- get_parent().translate(Vector2(SPEED*delta, 0))
-
-
-func is_enemy():
- return not destroyed
-
-
-func destroy():
- if (destroyed):
- return
- destroyed = true
- get_node("anim").play("explode")
- set_process(false)
- get_node("sfx").play("sound_explode")
- # Accumulate points
- get_node("/root/game_state").points += 5
-
-
-func _on_visibility_enter_screen():
- set_process(true)
- get_node("anim").play("zigzag")
- get_node("anim").seek(randf()*2.0) # Make it start from any pos
-
-
-func _on_visibility_exit_screen():
- queue_free()
diff --git a/demos/2d/space_shooter/enemy1.png b/demos/2d/space_shooter/enemy1.png
deleted file mode 100644
index 242d8f0055..0000000000
--- a/demos/2d/space_shooter/enemy1.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/space_shooter/enemy1.tscn b/demos/2d/space_shooter/enemy1.tscn
deleted file mode 100644
index 5fd4435382..0000000000
--- a/demos/2d/space_shooter/enemy1.tscn
+++ /dev/null
@@ -1,108 +0,0 @@
-[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
deleted file mode 100644
index cd06579d74..0000000000
--- a/demos/2d/space_shooter/enemy2.gd
+++ /dev/null
@@ -1,51 +0,0 @@
-
-extends Area2D
-
-# Member variables
-const SPEED = -220
-const SHOOT_INTERVAL = 1
-
-var shoot_timeout = 0
-var destroyed=false
-
-
-func _process(delta):
- translate(Vector2(SPEED*delta, 0))
- shoot_timeout -= delta
-
- if (shoot_timeout < 0):
- shoot_timeout = SHOOT_INTERVAL
-
- # Instance a shot
- 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
- get_parent().add_child(shot)
-
-
-func is_enemy():
- return not destroyed
-
-
-func destroy():
- if (destroyed):
- return
- destroyed = true
- get_node("anim").play("explode")
- set_process(false)
- get_node("sfx").play("sound_explode")
- # Accumulate points
- get_node("/root/game_state").points += 10
-
-
-func _ready():
- set_fixed_process(true)
-
-
-func _on_visibility_enter_screen():
- set_process(true)
-
-
-func _on_visibility_exit_screen():
- queue_free()
diff --git a/demos/2d/space_shooter/enemy2.png b/demos/2d/space_shooter/enemy2.png
deleted file mode 100644
index 5b63033696..0000000000
--- a/demos/2d/space_shooter/enemy2.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/space_shooter/enemy2.tscn b/demos/2d/space_shooter/enemy2.tscn
deleted file mode 100644
index 56d9f49720..0000000000
--- a/demos/2d/space_shooter/enemy2.tscn
+++ /dev/null
@@ -1,98 +0,0 @@
-[gd_scene load_steps=8 format=1]
-
-[ext_resource path="res://enemy2.gd" type="Script" id=1]
-[ext_resource path="res://enemy2.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( -31.9306, -11.1163, 15.748, -16.1351, 32.2383, -3.94662, 25.7856, 13.6192, -20.4591, 16.1286 )
-
-[sub_resource type="Animation" id=2]
-
-length = 1.0
-loop = false
-step = 0.1
-tracks/0/type = "value"
-tracks/0/path = NodePath("explosion: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 = "value"
-tracks/1/path = NodePath("sprite:visibility/visible")
-tracks/1/interp = 1
-tracks/1/keys = { "cont":false, "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "values":[ 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="SampleLibrary" id=3]
-
-samples/sound_explode = { "db":0.0, "pitch":1.0, "sample":ExtResource( 4 ) }
-
-[node name="enemy2" 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="collision" type="CollisionPolygon2D" parent="."]
-
-build_mode = 0
-polygon = Vector2Array( -31.9306, -11.1163, 15.748, -16.1351, 32.2383, -3.94662, 25.7856, 13.6192, -20.4591, 16.1286 )
-shape_range = Vector2( -1, -1 )
-trigger = false
-
-[node name="sprite" type="Sprite" parent="."]
-
-texture = ExtResource( 2 )
-
-[node name="explosion" parent="." instance=ExtResource( 3 )]
-
-transform/rot = -91.1436
-config/explosiveness = 0.1
-params/gravity_strength = 9.8
-
-[node name="anim" type="AnimationPlayer" parent="."]
-
-playback/process_mode = 1
-playback/default_blend_time = 0.0
-root/root = NodePath("..")
-anims/explode = SubResource( 2 )
-playback/active = true
-playback/speed = 1.0
-blend_times = [ ]
-autoplay = ""
-
-[node name="visibility" type="VisibilityNotifier2D" parent="."]
-
-rect = Rect2( -10, -10, 20, 20 )
-
-[node name="sfx" 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( 3 )
-config/pitch_random = 0.0
-
-[node name="shoot_from" type="Position2D" parent="."]
-
-transform/pos = Vector2( -84.6027, 0.358482 )
-
-[connection signal="enter_screen" from="visibility" to="." method="_on_visibility_enter_screen"]
-
-[connection signal="exit_screen" from="visibility" to="." method="_on_visibility_exit_screen"]
-
-
diff --git a/demos/2d/space_shooter/enemy_shot.gd b/demos/2d/space_shooter/enemy_shot.gd
deleted file mode 100644
index 6c782b69f1..0000000000
--- a/demos/2d/space_shooter/enemy_shot.gd
+++ /dev/null
@@ -1,31 +0,0 @@
-
-extends Area2D
-
-# Member variables
-const SPEED = -800
-
-var hit = false
-
-
-func _process(delta):
- translate(Vector2(delta*SPEED, 0))
-
-
-func _ready():
- set_process(true)
-
-
-func is_enemy():
- return true
-
-
-func _hit_something():
- if (hit):
- return
- hit = true
- set_process(false)
- get_node("anim").play("splash")
-
-
-func _on_visibility_exit_screen():
- queue_free()
diff --git a/demos/2d/space_shooter/enemy_shot.png b/demos/2d/space_shooter/enemy_shot.png
deleted file mode 100644
index 04287211a9..0000000000
--- a/demos/2d/space_shooter/enemy_shot.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/space_shooter/enemy_shot.tscn b/demos/2d/space_shooter/enemy_shot.tscn
deleted file mode 100644
index da6ed6f806..0000000000
--- a/demos/2d/space_shooter/enemy_shot.tscn
+++ /dev/null
@@ -1,99 +0,0 @@
-[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
deleted file mode 100644
index 8563bd8aa9..0000000000
--- a/demos/2d/space_shooter/engine.cfg
+++ /dev/null
@@ -1,22 +0,0 @@
-[application]
-
-name="Simple Shooter"
-main_scene="res://main_menu.tscn"
-icon="res://icon.png"
-
-[autoload]
-
-game_state="res://game_state.gd"
-
-[display]
-
-width=1024
-height=600
-
-[input]
-
-move_up=[key(Up)]
-move_down=[key(Down)]
-move_left=[key(Left)]
-move_right=[key(Right)]
-shoot=[key(Space)]
diff --git a/demos/2d/space_shooter/explosion.tscn b/demos/2d/space_shooter/explosion.tscn
deleted file mode 100644
index 7c8f94be7d..0000000000
--- a/demos/2d/space_shooter/explosion.tscn
+++ /dev/null
@@ -1,37 +0,0 @@
-[gd_scene load_steps=3 format=1]
-
-[ext_resource path="res://fire.png" type="Texture" id=1]
-
-[sub_resource type="ColorRamp" id=1]
-
-offsets = FloatArray( 0, 0.364725, 0.77494, 1 )
-colors = ColorArray( 1, 1, 1, 1, 1, 0, 0, 1, 0.184473, 0.181601, 0.181345, 1, 1, 1, 1, 0 )
-
-[node name="explosion" type="Particles2D"]
-
-transform/pos = Vector2( 0.918983, -2.11041 )
-transform/rot = -91.1436
-config/amount = 32
-config/lifetime = 0.5
-config/emitting = false
-config/explosiveness = 0.1
-config/texture = ExtResource( 1 )
-params/direction = 0.0
-params/spread = 180.0
-params/linear_velocity = 100.0
-params/spin_velocity = 0.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 = 3.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( 1 )
-
-
diff --git a/demos/2d/space_shooter/fire.png b/demos/2d/space_shooter/fire.png
deleted file mode 100644
index 1c68c36213..0000000000
--- a/demos/2d/space_shooter/fire.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/space_shooter/game_state.gd b/demos/2d/space_shooter/game_state.gd
deleted file mode 100644
index 0aa5e1f42b..0000000000
--- a/demos/2d/space_shooter/game_state.gd
+++ /dev/null
@@ -1,22 +0,0 @@
-
-extends Node
-
-# Member variables
-var points = 0
-var max_points = 0
-
-
-func _ready():
- var f = File.new()
- # Load high score
- if (f.open("user://highscore", File.READ) == OK):
- max_points = f.get_var()
-
-
-func game_over():
- if (points > max_points):
- max_points = points
- # Save high score
- var f = File.new()
- f.open("user://highscore", File.WRITE)
- f.store_var(max_points)
diff --git a/demos/2d/space_shooter/icon.png b/demos/2d/space_shooter/icon.png
deleted file mode 100644
index 1df2bf5d9d..0000000000
--- a/demos/2d/space_shooter/icon.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/space_shooter/level.tscn b/demos/2d/space_shooter/level.tscn
deleted file mode 100644
index 840d66bd5a..0000000000
--- a/demos/2d/space_shooter/level.tscn
+++ /dev/null
@@ -1,354 +0,0 @@
-[gd_scene load_steps=7 format=1]
-
-[ext_resource path="res://tileset.tres" type="TileSet" id=1]
-[ext_resource path="res://ship.tscn" type="PackedScene" id=2]
-[ext_resource path="res://asteroid.tscn" type="PackedScene" id=3]
-[ext_resource path="res://enemy1.tscn" type="PackedScene" id=4]
-[ext_resource path="res://enemy2.tscn" type="PackedScene" id=5]
-[ext_resource path="res://parallax.tscn" type="PackedScene" id=6]
-
-[node name="Node2D" type="Node2D"]
-
-[node name="TileMap" type="TileMap" parent="."]
-
-mode = 0
-tile_set = ExtResource( 1 )
-cell/size = Vector2( 32, 32 )
-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( 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, 33, 0, 34, 0, 35, 0, 36, 0, 37, 0, 38, 0, 39, 0, 63, 0, 64, 0, 99, 0, 100, 0, 101, 0, 102, 0, 103, 0, 104, 0, 105, 0, 106, 0, 107, 0, 108, 0, 109, 0, 110, 0, 111, 0, 112, 0, 113, 0, 114, 0, 115, 0, 116, 0, 117, 0, 118, 0, 119, 0, 120, 0, 121, 0, 122, 0, 123, 0, 124, 0, 125, 0, 126, 0, 127, 0, 128, 0, 145, 0, 184, 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, 65569, 0, 65570, 0, 65571, 0, 65572, 0, 65573, 0, 65574, 0, 65575, 0, 65599, 0, 65600, 0, 65637, 0, 65638, 0, 65639, 0, 65640, 0, 65641, 0, 65642, 0, 65643, 0, 65644, 0, 65645, 0, 65646, 0, 65647, 0, 65648, 0, 65649, 0, 65650, 0, 65651, 0, 65652, 0, 65653, 0, 65654, 0, 65655, 0, 65656, 0, 65657, 0, 65658, 0, 65659, 0, 65660, 0, 65661, 0, 65662, 0, 65663, 0, 65664, 0, 65681, 0, 65720, 0, 131094, 0, 131095, 0, 131096, 0, 131097, 0, 131098, 0, 131099, 0, 131100, 0, 131101, 0, 131102, 0, 131103, 0, 131104, 0, 131105, 0, 131106, 0, 131107, 0, 131108, 0, 131109, 0, 131135, 0, 131136, 0, 131137, 0, 131176, 0, 131177, 0, 131178, 0, 131179, 0, 131180, 0, 131181, 0, 131182, 0, 131183, 0, 131184, 0, 131185, 0, 131186, 0, 131187, 0, 131188, 0, 131189, 0, 131190, 0, 131191, 0, 131192, 0, 131193, 0, 131194, 0, 131195, 0, 131196, 0, 131197, 0, 131198, 0, 131199, 0, 131217, 0, 131256, 0, 196631, 0, 196632, 0, 196633, 0, 196634, 0, 196635, 0, 196636, 0, 196637, 0, 196638, 0, 196639, 0, 196640, 0, 196641, 0, 196642, 0, 196671, 0, 196672, 0, 196673, 0, 196716, 0, 196717, 0, 196718, 0, 196719, 0, 196720, 0, 196721, 0, 196722, 0, 196723, 0, 196724, 0, 196725, 0, 196726, 0, 196727, 0, 196728, 0, 196729, 0, 196730, 0, 196753, 0, 196792, 0, 262169, 0, 262170, 0, 262171, 0, 262172, 0, 262173, 0, 262174, 0, 262175, 0, 262207, 0, 262208, 0, 262209, 0, 262256, 0, 262257, 0, 262258, 0, 262259, 0, 262260, 0, 262261, 0, 262262, 0, 262263, 0, 262289, 0, 262328, 0, 327707, 0, 327708, 0, 327743, 0, 327744, 0, 327825, 0, 327826, 0, 327827, 0, 327828, 0, 327829, 0, 327830, 0, 327831, 0, 327832, 0, 327833, 0, 327834, 0, 327835, 0, 327836, 0, 327845, 0, 327846, 0, 327847, 0, 327848, 0, 327849, 0, 327850, 0, 327851, 0, 327852, 0, 327853, 0, 327854, 0, 327855, 0, 327856, 0, 327857, 0, 327864, 0, 327911, 0, 327912, 0, 328010, 0, 328011, 0, 328012, 0, 328013, 0, 328014, 0, 393372, 0, 393393, 0, 393400, 0, 393445, 0, 393446, 0, 393447, 0, 393448, 0, 393548, 0, 393549, 0, 393550, 0, 458908, 0, 458929, 0, 458936, 0, 458981, 0, 458982, 0, 458983, 0, 524444, 0, 524465, 0, 524472, 0, 524517, 0, 524518, 0, 589980, 0, 590001, 0, 590008, 0, 655516, 0, 655521, 0, 655522, 0, 655523, 0, 655524, 0, 655525, 0, 655526, 0, 655537, 0, 655544, 0, 655646, 0, 721041, 0, 721042, 0, 721043, 0, 721044, 0, 721045, 0, 721046, 0, 721052, 0, 721062, 0, 721073, 0, 721080, 0, 721181, 0, 721182, 0, 721183, 0, 721184, 0, 786577, 0, 786588, 0, 786598, 0, 786616, 0, 786717, 0, 786718, 0, 786719, 0, 786720, 0, 852113, 0, 852124, 0, 852134, 0, 852152, 0, 852253, 0, 852254, 0, 852255, 0, 917573, 0, 917574, 0, 917575, 0, 917576, 0, 917577, 0, 917578, 0, 917579, 0, 917580, 0, 917581, 0, 917582, 0, 917583, 0, 917584, 0, 917585, 0, 917649, 0, 917660, 0, 917670, 0, 917688, 0, 983106, 0, 983107, 0, 983108, 0, 983109, 0, 983110, 0, 983111, 0, 983112, 0, 983113, 0, 983114, 0, 983115, 0, 983116, 0, 983117, 0, 983118, 0, 983119, 0, 983120, 0, 983121, 0, 983122, 0, 983185, 0, 983206, 0, 983224, 0, 1048640, 0, 1048641, 0, 1048642, 0, 1048643, 0, 1048644, 0, 1048645, 0, 1048646, 0, 1048647, 0, 1048648, 0, 1048649, 0, 1048650, 0, 1048651, 0, 1048652, 0, 1048653, 0, 1048654, 0, 1048655, 0, 1048656, 0, 1048657, 0, 1048658, 0, 1048659, 0, 1048721, 0, 1048742, 0, 1048826, 0, 1048828, 0, 1114175, 0, 1114176, 0, 1114177, 0, 1114178, 0, 1114179, 0, 1114180, 0, 1114181, 0, 1114182, 0, 1114183, 0, 1114184, 0, 1114185, 0, 1114186, 0, 1114187, 0, 1114188, 0, 1114189, 0, 1114190, 0, 1114191, 0, 1114192, 0, 1114193, 0, 1114194, 0, 1114195, 0, 1114196, 0, 1114197, 0, 1114198, 0, 1114257, 0, 1114278, 0, 1114360, 0, 1114361, 0, 1114362, 0, 1114363, 0, 1114365, 0, 1114480, 0, 1114481, 0, 1179707, 0, 1179708, 0, 1179709, 0, 1179710, 0, 1179711, 0, 1179712, 0, 1179713, 0, 1179714, 0, 1179715, 0, 1179716, 0, 1179717, 0, 1179718, 0, 1179719, 0, 1179720, 0, 1179721, 0, 1179722, 0, 1179723, 0, 1179724, 0, 1179725, 0, 1179726, 0, 1179727, 0, 1179728, 0, 1179729, 0, 1179730, 0, 1179731, 0, 1179732, 0, 1179733, 0, 1179734, 0, 1179735, 0, 1179736, 0, 1179737, 0, 1179738, 0, 1179739, 0, 1179740, 0, 1179741, 0, 1179793, 0, 1179814, 0, 1179896, 0, 1179898, 0, 1179899, 0, 1179900, 0, 1179901, 0, 1180015, 0, 1180016, 0, 1180017, 0, 1180018, 0, 1180019, 0, 1245244, 0, 1245245, 0, 1245246, 0, 1245247, 0, 1245248, 0, 1245249, 0, 1245250, 0, 1245251, 0, 1245252, 0, 1245253, 0, 1245254, 0, 1245255, 0, 1245256, 0, 1245257, 0, 1245258, 0, 1245259, 0, 1245260, 0, 1245261, 0, 1245262, 0, 1245263, 0, 1245264, 0, 1245265, 0, 1245266, 0, 1245267, 0, 1245268, 0, 1245269, 0, 1245270, 0, 1245271, 0, 1245272, 0, 1245273, 0, 1245274, 0, 1245275, 0, 1245276, 0, 1245277, 0, 1245329, 0, 1245350, 0, 1245432, 0, 1245433, 0, 1245434, 0, 1245435, 0, 1245480, 0, 1245481, 0, 1245482, 0, 1245551, 0, 1245552, 0, 1245553, 0, 1245554, 0, 1310886, 0, 1310905, 0, 1311015, 0, 1311016, 0, 1311017, 0, 1311018, 0 )
-
-[node name="rail" parent="." instance=ExtResource( 2 )]
-
-[node name="enemies" type="Node2D" parent="."]
-
-[node name="asteroid" parent="enemies" instance=ExtResource( 3 )]
-
-transform/pos = Vector2( 1797.52, 105.736 )
-linear_damp = 0.1
-
-[node name="asteroid1" parent="enemies" instance=ExtResource( 3 )]
-
-transform/pos = Vector2( 1666.61, 304.621 )
-linear_damp = 0.1
-
-[node name="asteroid2" parent="enemies" instance=ExtResource( 3 )]
-
-transform/pos = Vector2( 1988.85, 443.086 )
-linear_damp = 0.1
-
-[node name="asteroid3" parent="enemies" instance=ExtResource( 3 )]
-
-transform/pos = Vector2( 2595.58, 103.219 )
-linear_damp = 0.1
-
-[node name="asteroid4" parent="enemies" instance=ExtResource( 3 )]
-
-transform/pos = Vector2( 3229.99, 299.586 )
-linear_damp = 0.1
-
-[node name="asteroid5" parent="enemies" instance=ExtResource( 3 )]
-
-transform/pos = Vector2( 3592.52, 541.269 )
-linear_damp = 0.1
-
-[node name="asteroid6" parent="enemies" instance=ExtResource( 3 )]
-
-transform/pos = Vector2( 4571.84, 216.508 )
-linear_damp = 0.1
-
-[node name="asteroid7" parent="enemies" instance=ExtResource( 3 )]
-
-transform/pos = Vector2( 4571.84, 284.481 )
-linear_damp = 0.1
-
-[node name="asteroid8" parent="enemies" instance=ExtResource( 3 )]
-
-transform/pos = Vector2( 4571.84, 360.007 )
-linear_damp = 0.1
-
-[node name="asteroid9" parent="enemies" instance=ExtResource( 3 )]
-
-transform/pos = Vector2( 5140.8, 108.254 )
-linear_damp = 0.1
-
-[node name="asteroid10" parent="enemies" instance=ExtResource( 3 )]
-
-transform/pos = Vector2( 5168.5, 475.814 )
-linear_damp = 0.1
-
-[node name="asteroid11" parent="enemies" instance=ExtResource( 3 )]
-
-transform/pos = Vector2( 5767.67, 113.289 )
-linear_damp = 0.1
-
-[node name="asteroid12" parent="enemies" instance=ExtResource( 3 )]
-
-transform/pos = Vector2( 6107.53, 480.849 )
-linear_damp = 0.1
-
-[node name="asteroid13" parent="enemies" instance=ExtResource( 3 )]
-
-transform/pos = Vector2( 6364.32, 105.736 )
-linear_damp = 0.1
-
-[node name="asteroid14" parent="enemies" instance=ExtResource( 3 )]
-
-transform/pos = Vector2( 6731.88, 573.997 )
-linear_damp = 0.1
-
-[node name="asteroid15" parent="enemies" instance=ExtResource( 3 )]
-
-transform/pos = Vector2( 7033.99, 166.157 )
-linear_damp = 0.1
-
-[node name="asteroid16" parent="enemies" instance=ExtResource( 3 )]
-
-transform/pos = Vector2( 6424.74, 352.454 )
-linear_damp = 0.1
-
-[node name="asteroid17" parent="enemies" instance=ExtResource( 3 )]
-
-transform/pos = Vector2( 7263.08, 80.5608 )
-linear_damp = 0.1
-
-[node name="asteroid18" parent="enemies" instance=ExtResource( 3 )]
-
-transform/pos = Vector2( 7177.49, 541.269 )
-linear_damp = 0.1
-
-[node name="asteroid19" parent="enemies" instance=ExtResource( 3 )]
-
-transform/pos = Vector2( 7066.71, 344.902 )
-linear_damp = 0.1
-
-[node name="asteroid20" parent="enemies" instance=ExtResource( 3 )]
-
-transform/pos = Vector2( 7655.82, 118.324 )
-linear_damp = 0.1
-
-[node name="asteroid21" parent="enemies" instance=ExtResource( 3 )]
-
-transform/pos = Vector2( 7540.01, 324.762 )
-linear_damp = 0.1
-
-[node name="asteroid22" parent="enemies" instance=ExtResource( 3 )]
-
-transform/pos = Vector2( 7764.07, 566.445 )
-linear_damp = 0.1
-
-[node name="asteroid23" parent="enemies" instance=ExtResource( 3 )]
-
-transform/pos = Vector2( 7872.33, 216.508 )
-linear_damp = 0.1
-
-[node name="asteroid24" parent="enemies" instance=ExtResource( 3 )]
-
-transform/pos = Vector2( 8458.91, 95.666 )
-linear_damp = 0.1
-
-[node name="asteroid25" parent="enemies" instance=ExtResource( 3 )]
-
-transform/pos = Vector2( 8786.19, 231.613 )
-linear_damp = 0.1
-
-[node name="asteroid26" parent="enemies" instance=ExtResource( 3 )]
-
-transform/pos = Vector2( 8599.89, 551.339 )
-linear_damp = 0.1
-
-[node name="asteroid27" parent="enemies" instance=ExtResource( 3 )]
-
-transform/pos = Vector2( 8353.17, 289.516 )
-linear_damp = 0.1
-
-[node name="asteroid28" parent="enemies" instance=ExtResource( 3 )]
-
-transform/pos = Vector2( 8995.14, 95.6658 )
-linear_damp = 0.1
-
-[node name="asteroid29" parent="enemies" instance=ExtResource( 3 )]
-
-transform/pos = Vector2( 9294.73, 579.032 )
-linear_damp = 0.1
-
-[node name="asteroid30" parent="enemies" instance=ExtResource( 3 )]
-
-transform/pos = Vector2( 9392.91, 140.981 )
-linear_damp = 0.1
-
-[node name="asteroid31" parent="enemies" instance=ExtResource( 3 )]
-
-transform/pos = Vector2( 9644.67, 281.963 )
-linear_damp = 0.1
-
-[node name="enemy1" parent="enemies" instance=ExtResource( 4 )]
-
-transform/pos = Vector2( 2920.34, 365.042 )
-
-[node name="enemy2" parent="enemies" instance=ExtResource( 4 )]
-
-transform/pos = Vector2( 3894.62, 506.024 )
-
-[node name="enemy3" parent="enemies" instance=ExtResource( 4 )]
-
-transform/pos = Vector2( 4325.12, 302.104 )
-
-[node name="enemy4" parent="enemies" instance=ExtResource( 4 )]
-
-transform/pos = Vector2( 4753.1, 506.024 )
-
-[node name="enemy5" parent="enemies" instance=ExtResource( 4 )]
-
-transform/pos = Vector2( 5158.43, 211.473 )
-
-[node name="enemy6" parent="enemies" instance=ExtResource( 4 )]
-
-transform/pos = Vector2( 5490.74, 349.937 )
-
-[node name="enemy7" parent="enemies" instance=ExtResource( 4 )]
-
-transform/pos = Vector2( 5765.15, 546.305 )
-
-[node name="enemy8" parent="enemies" instance=ExtResource( 4 )]
-
-transform/pos = Vector2( 6142.78, 244.201 )
-
-[node name="enemy9" parent="enemies" instance=ExtResource( 4 )]
-
-transform/pos = Vector2( 6701.67, 221.543 )
-
-[node name="enemy10" parent="enemies" instance=ExtResource( 4 )]
-
-transform/pos = Vector2( 6701.67, 352.455 )
-
-[node name="enemy11" parent="enemies" instance=ExtResource( 4 )]
-
-transform/pos = Vector2( 6706.71, 500.989 )
-
-[node name="enemy12" parent="enemies" instance=ExtResource( 4 )]
-
-transform/pos = Vector2( 6711.74, 566.445 )
-
-[node name="enemy13" parent="enemies" instance=ExtResource( 4 )]
-
-transform/pos = Vector2( 7157.35, 332.314 )
-
-[node name="enemy14" parent="enemies" instance=ExtResource( 4 )]
-
-transform/pos = Vector2( 7421.69, 511.059 )
-
-[node name="enemy15" parent="enemies" instance=ExtResource( 4 )]
-
-transform/pos = Vector2( 7887.43, 239.166 )
-
-[node name="enemy16" parent="enemies" instance=ExtResource( 4 )]
-
-transform/pos = Vector2( 8463.95, 382.665 )
-
-[node name="enemy17" parent="enemies" instance=ExtResource( 4 )]
-
-transform/pos = Vector2( 9065.64, 244.201 )
-
-[node name="enemy18" parent="enemies" instance=ExtResource( 4 )]
-
-transform/pos = Vector2( 8967.46, 566.445 )
-
-[node name="enemy19" parent="enemies" instance=ExtResource( 4 )]
-
-transform/pos = Vector2( 9483.55, 422.946 )
-
-[node name="enemy20" parent="enemies" instance=ExtResource( 4 )]
-
-transform/pos = Vector2( 9687.47, 234.131 )
-
-[node name="enemy21" parent="enemies" instance=ExtResource( 4 )]
-
-transform/pos = Vector2( 9815.86, 579.033 )
-
-[node name="enemy22" parent="enemies" instance=ExtResource( 4 )]
-
-transform/pos = Vector2( 9815.86, 579.033 )
-
-[node name="enemy2 2" parent="enemies" instance=ExtResource( 5 )]
-
-transform/pos = Vector2( 4759.97, 278.527 )
-linear_damp = 0.1
-
-[node name="enemy23" parent="enemies" instance=ExtResource( 5 )]
-
-transform/pos = Vector2( 6277.15, 559.36 )
-linear_damp = 0.1
-
-[node name="enemy24" parent="enemies" instance=ExtResource( 5 )]
-
-transform/pos = Vector2( 7136.77, 100.438 )
-linear_damp = 0.1
-
-[node name="enemy25" parent="enemies" instance=ExtResource( 5 )]
-
-transform/pos = Vector2( 7766.93, 370.996 )
-linear_damp = 0.1
-
-[node name="enemy26" parent="enemies" instance=ExtResource( 5 )]
-
-transform/pos = Vector2( 7890.23, 309.35 )
-linear_damp = 0.1
-
-[node name="enemy27" parent="enemies" instance=ExtResource( 5 )]
-
-transform/pos = Vector2( 8006.67, 237.43 )
-linear_damp = 0.1
-
-[node name="enemy28" parent="enemies" instance=ExtResource( 5 )]
-
-transform/pos = Vector2( 8664.23, 257.978 )
-linear_damp = 0.1
-
-[node name="enemy29" parent="enemies" instance=ExtResource( 5 )]
-
-transform/pos = Vector2( 8660.8, 357.297 )
-linear_damp = 0.1
-
-[node name="enemy30" parent="enemies" instance=ExtResource( 5 )]
-
-transform/pos = Vector2( 8657.38, 453.191 )
-linear_damp = 0.1
-
-[node name="enemy31" parent="enemies" instance=ExtResource( 5 )]
-
-transform/pos = Vector2( 9475.9, 189.483 )
-linear_damp = 0.1
-
-[node name="enemy32" parent="enemies" instance=ExtResource( 5 )]
-
-transform/pos = Vector2( 9564.95, 234.005 )
-linear_damp = 0.1
-
-[node name="enemy33" parent="enemies" instance=ExtResource( 5 )]
-
-transform/pos = Vector2( 9674.54, 281.952 )
-linear_damp = 0.1
-
-[node name="enemy34" parent="enemies" instance=ExtResource( 5 )]
-
-transform/pos = Vector2( 9575.22, 391.545 )
-linear_damp = 0.1
-
-[node name="enemy35" parent="enemies" instance=ExtResource( 5 )]
-
-transform/pos = Vector2( 9458.78, 446.342 )
-linear_damp = 0.1
-
-[node name="parallax" parent="." instance=ExtResource( 6 )]
-
-
diff --git a/demos/2d/space_shooter/main_menu.gd b/demos/2d/space_shooter/main_menu.gd
deleted file mode 100644
index 0c7e0de542..0000000000
--- a/demos/2d/space_shooter/main_menu.gd
+++ /dev/null
@@ -1,11 +0,0 @@
-
-extends Control
-
-
-func _ready():
- get_node("score").set_text("HIGH SCORE: " + str(get_node("/root/game_state").max_points))
-
-
-func _on_play_pressed():
- get_node("/root/game_state").points = 0
- get_tree().change_scene("res://level.tscn")
diff --git a/demos/2d/space_shooter/main_menu.tscn b/demos/2d/space_shooter/main_menu.tscn
deleted file mode 100644
index e51791611d..0000000000
--- a/demos/2d/space_shooter/main_menu.tscn
+++ /dev/null
@@ -1,64 +0,0 @@
-[gd_scene load_steps=2 format=1]
-
-[ext_resource path="res://main_menu.gd" type="Script" id=1]
-
-[node name="main_screen" 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="title" type="Label" parent="."]
-
-focus/ignore_mouse = true
-focus/stop_mouse = true
-size_flags/horizontal = 2
-margin/left = 405.0
-margin/top = 86.0
-margin/right = 547.0
-margin/bottom = 99.0
-text = "S P A C E S H O O T E R"
-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 = 349.0
-margin/top = 204.0
-margin/right = 585.0
-margin/bottom = 218.0
-text = "HIGH SCORE:"
-align = 1
-percent_visible = 1.0
-lines_skipped = 0
-max_lines_visible = -1
-
-[node name="play" type="Button" parent="."]
-
-focus/ignore_mouse = false
-focus/stop_mouse = true
-size_flags/horizontal = 2
-size_flags/vertical = 2
-margin/left = 412.0
-margin/top = 390.0
-margin/right = 535.0
-margin/bottom = 442.0
-toggle_mode = false
-text = "PLAY"
-flat = false
-
-[connection signal="pressed" from="play" to="." method="_on_play_pressed"]
-
-
diff --git a/demos/2d/space_shooter/meteorite.png b/demos/2d/space_shooter/meteorite.png
deleted file mode 100644
index 92fb4387df..0000000000
--- a/demos/2d/space_shooter/meteorite.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/space_shooter/parallax.tscn b/demos/2d/space_shooter/parallax.tscn
deleted file mode 100644
index 0cbd0f5b19..0000000000
--- a/demos/2d/space_shooter/parallax.tscn
+++ /dev/null
@@ -1,201 +0,0 @@
-[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/rail.gd b/demos/2d/space_shooter/rail.gd
deleted file mode 100644
index 7362dff97d..0000000000
--- a/demos/2d/space_shooter/rail.gd
+++ /dev/null
@@ -1,19 +0,0 @@
-
-extends Node2D
-
-# Member variables
-const SPEED = 200
-var offset = 0
-
-
-func stop():
- set_process(false)
-
-
-func _process(delta):
- offset += delta*SPEED
- set_pos(Vector2(offset, 0))
-
-
-func _ready():
- set_process(true)
diff --git a/demos/2d/space_shooter/ship.gd b/demos/2d/space_shooter/ship.gd
deleted file mode 100644
index 0bc9ca6b13..0000000000
--- a/demos/2d/space_shooter/ship.gd
+++ /dev/null
@@ -1,81 +0,0 @@
-
-extends Area2D
-
-# Member variables
-const SPEED = 200
-
-var screen_size
-var prev_shooting = false
-var killed = false
-
-
-func _process(delta):
- var motion = Vector2()
- if Input.is_action_pressed("move_up"):
- motion += Vector2(0, -1)
- if Input.is_action_pressed("move_down"):
- motion += Vector2(0, 1)
- if Input.is_action_pressed("move_left"):
- motion += Vector2(-1, 0)
- if Input.is_action_pressed("move_right"):
- motion += Vector2(1, 0)
- var shooting = Input.is_action_pressed("shoot")
-
- var pos = get_pos()
-
- pos += motion*delta*SPEED
- if (pos.x < 0):
- pos.x = 0
- if (pos.x > screen_size.x):
- pos.x = screen_size.x
- if (pos.y < 0):
- pos.y = 0
- if (pos.y > screen_size.y):
- pos.y = screen_size.y
-
- set_pos(pos)
-
- if (shooting and not prev_shooting):
- # Just pressed
- 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
- get_node("../..").add_child(shot)
- # Play sound
- get_node("sfx").play("shoot")
-
- prev_shooting = shooting
-
- # Update points counter
- get_node("../hud/score_points").set_text(str(get_node("/root/game_state").points))
-
-
-func _ready():
- screen_size = get_viewport().get_rect().size
- set_process(true)
-
-
-func _hit_something():
- if (killed):
- return
- killed = true
- get_node("anim").play("explode")
- get_node("sfx").play("sound_explode")
- get_node("../hud/game_over").show()
- get_node("/root/game_state").game_over()
- get_parent().stop()
- set_process(false)
-
-
-func _on_ship_body_enter(body):
- _hit_something()
-
-
-func _on_ship_area_enter(area):
- if (area.has_method("is_enemy") and area.is_enemy()):
- _hit_something()
-
-
-func _on_back_to_menu_pressed():
- get_tree().change_scene("res://main_menu.tscn")
diff --git a/demos/2d/space_shooter/ship.png b/demos/2d/space_shooter/ship.png
deleted file mode 100644
index a36b833903..0000000000
--- a/demos/2d/space_shooter/ship.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/space_shooter/ship.tscn b/demos/2d/space_shooter/ship.tscn
deleted file mode 100644
index be6bf6b82e..0000000000
--- a/demos/2d/space_shooter/ship.tscn
+++ /dev/null
@@ -1,229 +0,0 @@
-[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/shoot.png b/demos/2d/space_shooter/shoot.png
deleted file mode 100644
index 6e80ddab93..0000000000
--- a/demos/2d/space_shooter/shoot.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/space_shooter/shot.gd b/demos/2d/space_shooter/shot.gd
deleted file mode 100644
index 936dde73d1..0000000000
--- a/demos/2d/space_shooter/shot.gd
+++ /dev/null
@@ -1,40 +0,0 @@
-
-extends Area2D
-
-# Member variables
-const SPEED = 800
-
-var hit = false
-
-
-func _process(delta):
- translate(Vector2(delta*SPEED, 0))
-
-
-func _ready():
- set_process(true)
-
-
-func _hit_something():
- if (hit):
- return
- hit = true
- set_process(false)
- get_node("anim").play("splash")
-
-
-func _on_visibility_exit_screen():
- queue_free()
-
-
-func _on_shot_area_enter(area):
- # Hit an enemy or asteroid
- if (area.has_method("destroy")):
- # Duck typing at it's best
- area.destroy()
- _hit_something()
-
-
-func _on_shot_body_enter(body):
- # Hit the tilemap
- _hit_something()
diff --git a/demos/2d/space_shooter/shot.tscn b/demos/2d/space_shooter/shot.tscn
deleted file mode 100644
index 2913eaf5b7..0000000000
--- a/demos/2d/space_shooter/shot.tscn
+++ /dev/null
@@ -1,103 +0,0 @@
-[gd_scene load_steps=6 format=1]
-
-[ext_resource path="res://shot.gd" type="Script" id=1]
-[ext_resource path="res://shoot.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( 0.238085, 0.881885, 0.983902, 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( 1 ), "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="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="body_enter" from="." to="." method="_on_shot_body_enter"]
-
-[connection signal="area_enter" from="." to="." method="_on_shot_area_enter"]
-
-[connection signal="exit_screen" from="visibility" to="." method="_on_visibility_exit_screen"]
-
-
diff --git a/demos/2d/space_shooter/small_star.png b/demos/2d/space_shooter/small_star.png
deleted file mode 100644
index 71c3c531cd..0000000000
--- a/demos/2d/space_shooter/small_star.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/space_shooter/sound_explode.wav b/demos/2d/space_shooter/sound_explode.wav
deleted file mode 100644
index 229c85399c..0000000000
--- a/demos/2d/space_shooter/sound_explode.wav
+++ /dev/null
Binary files differ
diff --git a/demos/2d/space_shooter/sound_shoot.wav b/demos/2d/space_shooter/sound_shoot.wav
deleted file mode 100644
index ad74f328cb..0000000000
--- a/demos/2d/space_shooter/sound_shoot.wav
+++ /dev/null
Binary files differ
diff --git a/demos/2d/space_shooter/tile.png b/demos/2d/space_shooter/tile.png
deleted file mode 100644
index d8f41d16f6..0000000000
--- a/demos/2d/space_shooter/tile.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/space_shooter/tileset.tres b/demos/2d/space_shooter/tileset.tres
deleted file mode 100644
index 0a62a0048e..0000000000
--- a/demos/2d/space_shooter/tileset.tres
+++ /dev/null
@@ -1,20 +0,0 @@
-[gd_resource type="TileSet" load_steps=3 format=1]
-
-[ext_resource path="res://tile.png" type="Texture" id=1]
-
-[sub_resource type="RectangleShape2D" id=1]
-
-custom_solver_bias = 0.0
-extents = Vector2( 16, 16 )
-
-[resource]
-
-0/name = "block"
-0/texture = ExtResource( 1 )
-0/tex_offset = Vector2( 0, 0 )
-0/region = Rect2( 0, 0, 0, 0 )
-0/occluder_offset = Vector2( 16, 16 )
-0/navigation_offset = Vector2( 16, 16 )
-0/shape_offset = Vector2( 16, 16 )
-0/shapes = [ SubResource( 1 ) ]
-
diff --git a/demos/2d/space_shooter/tileset_edit.tscn b/demos/2d/space_shooter/tileset_edit.tscn
deleted file mode 100644
index 87152a1818..0000000000
--- a/demos/2d/space_shooter/tileset_edit.tscn
+++ /dev/null
@@ -1,35 +0,0 @@
-[gd_scene load_steps=3 format=1]
-
-[ext_resource path="res://tile.png" type="Texture" id=1]
-
-[sub_resource type="RectangleShape2D" id=1]
-
-custom_solver_bias = 0.0
-extents = Vector2( 16, 16 )
-
-[node name="Node2D" type="Node2D"]
-
-[node name="block" type="Sprite" parent="."]
-
-texture = ExtResource( 1 )
-
-[node name="StaticBody2D" type="StaticBody2D" parent="block"]
-
-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="CollisionShape2D" type="CollisionShape2D" parent="block/StaticBody2D"]
-
-shape = SubResource( 1 )
-trigger = false
-_update_shape_index = -1
-
-
diff --git a/demos/2d/splash/bg.png b/demos/2d/splash/bg.png
deleted file mode 100644
index 197a0484d2..0000000000
--- a/demos/2d/splash/bg.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/splash/bg_layer_1.png b/demos/2d/splash/bg_layer_1.png
deleted file mode 100644
index 7f18411465..0000000000
--- a/demos/2d/splash/bg_layer_1.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/splash/bg_layer_2.png b/demos/2d/splash/bg_layer_2.png
deleted file mode 100644
index fac5574bfa..0000000000
--- a/demos/2d/splash/bg_layer_2.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/splash/button.png b/demos/2d/splash/button.png
deleted file mode 100644
index ce62e011bd..0000000000
--- a/demos/2d/splash/button.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/splash/button_pressed.png b/demos/2d/splash/button_pressed.png
deleted file mode 100644
index d9c31f2b6c..0000000000
--- a/demos/2d/splash/button_pressed.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/splash/engine.cfg b/demos/2d/splash/engine.cfg
deleted file mode 100644
index e970840eae..0000000000
--- a/demos/2d/splash/engine.cfg
+++ /dev/null
@@ -1,9 +0,0 @@
-[application]
-
-name="Splash Screen"
-main_scene="res://splash.tscn"
-icon="res://icon.png"
-
-[display]
-
-height=450
diff --git a/demos/2d/splash/freesans.fnt b/demos/2d/splash/freesans.fnt
deleted file mode 100644
index 61167a20eb..0000000000
--- a/demos/2d/splash/freesans.fnt
+++ /dev/null
Binary files differ
diff --git a/demos/2d/splash/icon.png b/demos/2d/splash/icon.png
deleted file mode 100644
index b8e24f209e..0000000000
--- a/demos/2d/splash/icon.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/splash/splash.tscn b/demos/2d/splash/splash.tscn
deleted file mode 100644
index 5523d4c3f0..0000000000
--- a/demos/2d/splash/splash.tscn
+++ /dev/null
@@ -1,274 +0,0 @@
-[gd_scene load_steps=20 format=1]
-
-[ext_resource path="res://bg.png" type="Texture" id=1]
-[ext_resource path="res://bg_layer_2.png" type="Texture" id=2]
-[ext_resource path="res://bg_layer_1.png" type="Texture" id=3]
-[ext_resource path="res://splash_01.png" type="Texture" id=4]
-[ext_resource path="res://splash_02.png" type="Texture" id=5]
-[ext_resource path="res://splash_03.png" type="Texture" id=6]
-[ext_resource path="res://splash_04.png" type="Texture" id=7]
-[ext_resource path="res://splash_05.png" type="Texture" id=8]
-[ext_resource path="res://splash_06.png" type="Texture" id=9]
-[ext_resource path="res://splash_07.png" type="Texture" id=10]
-[ext_resource path="res://splash_08.png" type="Texture" id=11]
-[ext_resource path="res://splash_09.png" type="Texture" id=12]
-[ext_resource path="res://button.png" type="Texture" id=13]
-[ext_resource path="res://button_pressed.png" type="Texture" id=14]
-[ext_resource path="res://freesans.fnt" type="Font" id=15]
-
-[sub_resource type="Animation" id=1]
-
-resource/name = "scroll"
-length = 1.0
-loop = true
-step = 0.1
-tracks/0/type = "value"
-tracks/0/path = NodePath(".:rect/pos")
-tracks/0/interp = 1
-tracks/0/keys = { "cont":true, "times":FloatArray( 0, 1 ), "transitions":FloatArray( 1, 1 ), "values":[ Vector2( 0, 0 ), Vector2( -800, 0 ) ] }
-
-[sub_resource type="SpriteFrames" id=2]
-
-frames = [ ExtResource( 4 ), ExtResource( 5 ), ExtResource( 6 ), ExtResource( 7 ), ExtResource( 8 ), ExtResource( 9 ), ExtResource( 10 ), ExtResource( 11 ), ExtResource( 12 ) ]
-
-[sub_resource type="Animation" id=3]
-
-resource/name = "intro"
-length = 3.0
-loop = false
-step = 0.1
-tracks/0/type = "value"
-tracks/0/path = NodePath("logo:transform/pos")
-tracks/0/interp = 1
-tracks/0/keys = { "cont":true, "times":FloatArray( 1, 1.5 ), "transitions":FloatArray( 2, 1 ), "values":[ Vector2( 412, -212.981 ), Vector2( 412, 171 ) ] }
-tracks/1/type = "value"
-tracks/1/path = NodePath("logo:frame")
-tracks/1/interp = 1
-tracks/1/keys = { "cont":false, "times":FloatArray( 0, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3 ), "transitions":FloatArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ), "values":[ 0, 0, 1, 2, 3, 4, 5, 6, 7, 8 ] }
-tracks/2/type = "value"
-tracks/2/path = NodePath("start:visibility/opacity")
-tracks/2/interp = 1
-tracks/2/keys = { "cont":true, "times":FloatArray( 2.5, 2.8 ), "transitions":FloatArray( 1, 1 ), "values":[ 0.0, 1.0 ] }
-tracks/3/type = "value"
-tracks/3/path = NodePath("start:visibility/visible")
-tracks/3/interp = 1
-tracks/3/keys = { "cont":false, "times":FloatArray( 0, 2.5 ), "transitions":FloatArray( 1, 1 ), "values":[ false, true ] }
-tracks/4/type = "value"
-tracks/4/path = NodePath("copyright:visibility/visible")
-tracks/4/interp = 1
-tracks/4/keys = { "cont":false, "times":FloatArray( 0, 2.5 ), "transitions":FloatArray( 1, 1 ), "values":[ false, true ] }
-tracks/5/type = "value"
-tracks/5/path = NodePath("copyright:visibility/opacity")
-tracks/5/interp = 1
-tracks/5/keys = { "cont":true, "times":FloatArray( 2.5, 2.8 ), "transitions":FloatArray( 1, 1 ), "values":[ 0.0, 1.0 ] }
-
-[sub_resource type="Animation" id=4]
-
-length = 0.6
-loop = true
-step = 0.1
-tracks/0/type = "value"
-tracks/0/path = NodePath("logo:frame")
-tracks/0/interp = 1
-tracks/0/keys = { "cont":false, "times":FloatArray( 0, 0.3 ), "transitions":FloatArray( 1, 1 ), "values":[ 8, 7 ] }
-
-[node name="splash" 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="bg" type="Control" parent="."]
-
-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 = 40.0
-margin/bottom = 40.0
-
-[node name="1" type="TextureFrame" parent="bg"]
-
-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 = 40.0
-margin/bottom = 40.0
-texture = ExtResource( 1 )
-
-[node name="2" type="TextureFrame" parent="bg"]
-
-focus/ignore_mouse = true
-focus/stop_mouse = true
-size_flags/horizontal = 2
-size_flags/vertical = 2
-margin/left = 800.0
-margin/top = 0.0
-margin/right = 1600.0
-margin/bottom = 450.0
-texture = ExtResource( 1 )
-
-[node name="scroll" type="AnimationPlayer" parent="bg"]
-
-playback/process_mode = 1
-playback/default_blend_time = 0.0
-root/root = NodePath("..")
-anims/scroll = SubResource( 1 )
-playback/active = true
-playback/speed = 0.04
-blend_times = [ ]
-autoplay = "scroll"
-
-[node name="layer2" type="Control" parent="."]
-
-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 = 40.0
-margin/bottom = 40.0
-
-[node name="1" type="TextureFrame" parent="layer2"]
-
-focus/ignore_mouse = true
-focus/stop_mouse = true
-size_flags/horizontal = 2
-size_flags/vertical = 2
-margin/left = 0.0
-margin/top = 194.0
-margin/right = 800.0
-margin/bottom = 456.0
-texture = ExtResource( 2 )
-
-[node name="2" type="TextureFrame" parent="layer2"]
-
-focus/ignore_mouse = true
-focus/stop_mouse = true
-size_flags/horizontal = 2
-size_flags/vertical = 2
-margin/left = 800.0
-margin/top = 194.0
-margin/right = 1600.0
-margin/bottom = 456.0
-texture = ExtResource( 2 )
-
-[node name="scroll" type="AnimationPlayer" parent="layer2"]
-
-playback/process_mode = 1
-playback/default_blend_time = 0.0
-root/root = NodePath("..")
-anims/scroll = SubResource( 1 )
-playback/active = true
-playback/speed = 0.1
-blend_times = [ ]
-autoplay = "scroll"
-
-[node name="layer1" type="Control" parent="."]
-
-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 = 40.0
-margin/bottom = 40.0
-
-[node name="1" type="TextureFrame" parent="layer1"]
-
-focus/ignore_mouse = true
-focus/stop_mouse = true
-size_flags/horizontal = 2
-size_flags/vertical = 2
-margin/left = 0.0
-margin/top = 212.0
-margin/right = 800.0
-margin/bottom = 456.0
-texture = ExtResource( 3 )
-
-[node name="2" type="TextureFrame" parent="layer1"]
-
-focus/ignore_mouse = true
-focus/stop_mouse = true
-size_flags/horizontal = 2
-size_flags/vertical = 2
-margin/left = 800.0
-margin/top = 212.0
-margin/right = 1600.0
-margin/bottom = 456.0
-texture = ExtResource( 3 )
-
-[node name="scroll" type="AnimationPlayer" parent="layer1"]
-
-playback/process_mode = 1
-playback/default_blend_time = 0.0
-root/root = NodePath("..")
-anims/scroll = SubResource( 1 )
-playback/active = true
-playback/speed = 0.2
-blend_times = [ ]
-autoplay = "scroll"
-
-[node name="logo" type="AnimatedSprite" parent="."]
-
-transform/pos = Vector2( 412, 171 )
-frames = SubResource( 2 )
-frame = 8
-
-[node name="start" type="TextureButton" parent="."]
-
-focus/ignore_mouse = false
-focus/stop_mouse = true
-size_flags/horizontal = 2
-size_flags/vertical = 2
-margin/left = 345.0
-margin/top = 369.0
-margin/right = 494.0
-margin/bottom = 443.0
-toggle_mode = false
-textures/normal = ExtResource( 13 )
-textures/pressed = ExtResource( 14 )
-
-[node name="copyright" type="Label" parent="."]
-
-focus/ignore_mouse = true
-focus/stop_mouse = true
-size_flags/horizontal = 2
-margin/left = 658.0
-margin/top = 417.0
-margin/right = 776.0
-margin/bottom = 434.0
-custom_fonts/font = ExtResource( 15 )
-text = "(c) 1994 SOGA"
-percent_visible = 1.0
-lines_skipped = 0
-max_lines_visible = -1
-
-[node name="intro" type="AnimationPlayer" parent="."]
-
-playback/process_mode = 1
-playback/default_blend_time = 0.0
-root/root = NodePath("..")
-anims/intro = SubResource( 3 )
-anims/loop = SubResource( 4 )
-next/intro = "loop"
-playback/active = true
-playback/speed = 1.0
-blend_times = [ ]
-autoplay = "intro"
-
-
diff --git a/demos/2d/splash/splash_01.png b/demos/2d/splash/splash_01.png
deleted file mode 100644
index 79a96ac735..0000000000
--- a/demos/2d/splash/splash_01.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/splash/splash_02.png b/demos/2d/splash/splash_02.png
deleted file mode 100644
index fab8bc6b38..0000000000
--- a/demos/2d/splash/splash_02.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/splash/splash_03.png b/demos/2d/splash/splash_03.png
deleted file mode 100644
index 07c6cee8d2..0000000000
--- a/demos/2d/splash/splash_03.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/splash/splash_04.png b/demos/2d/splash/splash_04.png
deleted file mode 100644
index e2b6a607ad..0000000000
--- a/demos/2d/splash/splash_04.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/splash/splash_05.png b/demos/2d/splash/splash_05.png
deleted file mode 100644
index de42ab4cb7..0000000000
--- a/demos/2d/splash/splash_05.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/splash/splash_06.png b/demos/2d/splash/splash_06.png
deleted file mode 100644
index c1b5e5dace..0000000000
--- a/demos/2d/splash/splash_06.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/splash/splash_07.png b/demos/2d/splash/splash_07.png
deleted file mode 100644
index c65a6d8aec..0000000000
--- a/demos/2d/splash/splash_07.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/splash/splash_08.png b/demos/2d/splash/splash_08.png
deleted file mode 100644
index 0bcf0bafe4..0000000000
--- a/demos/2d/splash/splash_08.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/splash/splash_09.png b/demos/2d/splash/splash_09.png
deleted file mode 100644
index de774104f9..0000000000
--- a/demos/2d/splash/splash_09.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/sprite_shaders/cubio.png b/demos/2d/sprite_shaders/cubio.png
deleted file mode 100644
index 6f76220225..0000000000
--- a/demos/2d/sprite_shaders/cubio.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/sprite_shaders/engine.cfg b/demos/2d/sprite_shaders/engine.cfg
deleted file mode 100644
index fa17a2e800..0000000000
--- a/demos/2d/sprite_shaders/engine.cfg
+++ /dev/null
@@ -1,5 +0,0 @@
-[application]
-
-name="2D Shaders for Sprites"
-main_scene="res://sprite_shaders.tscn"
-icon="res://icon.png"
diff --git a/demos/2d/sprite_shaders/icon.png b/demos/2d/sprite_shaders/icon.png
deleted file mode 100644
index 8b13ef6bb4..0000000000
--- a/demos/2d/sprite_shaders/icon.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/sprite_shaders/sprite_shaders.tscn b/demos/2d/sprite_shaders/sprite_shaders.tscn
deleted file mode 100644
index feb6003890..0000000000
--- a/demos/2d/sprite_shaders/sprite_shaders.tscn
+++ /dev/null
@@ -1,163 +0,0 @@
-[gd_scene load_steps=20 format=1]
-
-[ext_resource path="res://cubio.png" type="Texture" id=1]
-
-[sub_resource type="CanvasItemShader" id=1]
-
-_code = { "fragment":"uniform float outline_width=2.0;\nuniform color outline_color=vec4(0,0,0,1);\n\nvec4 col = tex(TEXTURE,UV);\nvec2 ps = TEXTURE_PIXEL_SIZE;\nfloat a;\nfloat maxa=col.a;\nfloat mina=col.a;\na=tex(TEXTURE,UV+vec2(0,-outline_width)*ps).a;\nmaxa=max(a,maxa); \nmina=min(a,mina);\na=tex(TEXTURE,UV+vec2(0,outline_width)*ps).a;\nmaxa=max(a,maxa); \nmina=min(a,mina);\na=tex(TEXTURE,UV+vec2(-outline_width,0)*ps).a;\nmaxa=max(a,maxa); \nmina=min(a,mina);\na=tex(TEXTURE,UV+vec2(outline_width,0)*ps).a;\nmaxa=max(a,maxa); \nmina=min(a,mina);\n\nCOLOR=mix(col,outline_color,maxa-mina);", "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
-shader_param/outline_width = 2.0
-shader_param/outline_color = Color( 0, 0, 0, 1 )
-
-[sub_resource type="CanvasItemShader" id=3]
-
-_code = { "fragment":"//this shader only works properly with premultiplied alpha blend mode\nuniform float aura_width=2.0;\nuniform color aura_color=vec4(0.4,0.7,0.3,1);\n\nvec4 col = tex(TEXTURE,UV);\nvec2 ps = TEXTURE_PIXEL_SIZE;\nfloat a;\nfloat maxa=col.a;\nfloat mina=col.a;\na=tex(TEXTURE,UV+vec2(0,-aura_width)*ps).a;\nmaxa=max(a,maxa); \nmina=min(a,mina);\na=tex(TEXTURE,UV+vec2(0,aura_width)*ps).a;\nmaxa=max(a,maxa); \nmina=min(a,mina);\na=tex(TEXTURE,UV+vec2(-aura_width,0)*ps).a;\nmaxa=max(a,maxa); \nmina=min(a,mina);\na=tex(TEXTURE,UV+vec2(aura_width,0)*ps).a;\nmaxa=max(a,maxa); \nmina=min(a,mina);\ncol.rgb*=col.a;\nCOLOR=col;//mix(col,aura_color,maxa-mina);\nfloat auraa=(maxa-mina);\n\nCOLOR.rgb+=aura_color.rgb*(maxa-mina);", "fragment_ofs":0, "light":"", "light_ofs":0, "vertex":"", "vertex_ofs":0 }
-
-[sub_resource type="CanvasItemMaterial" id=4]
-
-shader/shader = SubResource( 3 )
-shader/shading_mode = 0
-shader_param/aura_width = 2.0
-shader_param/aura_color = Color( 0.4, 0.7, 0.3, 1 )
-
-[sub_resource type="CanvasItemShader" id=5]
-
-_code = { "fragment":"uniform float radius=2.0;\n\nvec4 col = tex(TEXTURE,UV);\nvec2 ps = TEXTURE_PIXEL_SIZE;\ncol+=tex(TEXTURE,UV+vec2(0,-radius)*ps);\ncol+=tex(TEXTURE,UV+vec2(0,radius)*ps);\ncol+=tex(TEXTURE,UV+vec2(-radius,0)*ps);\ncol+=tex(TEXTURE,UV+vec2(radius,0)*ps);\ncol/=5.0;\nCOLOR=col;", "fragment_ofs":0, "light":"", "light_ofs":0, "vertex":"", "vertex_ofs":0 }
-
-[sub_resource type="CanvasItemMaterial" id=6]
-
-shader/shader = SubResource( 5 )
-shader/shading_mode = 0
-shader_param/radius = 4.0
-
-[sub_resource type="CanvasItemShader" id=7]
-
-_code = { "fragment":"uniform float fattyness=2.0;\n\nvec2 ruv=(UV-vec2(0.5,0.5));\nfloat len = length(ruv);\nvec2 dir = normalize(ruv);\nlen=pow(len*2.0,fattyness)*0.5;\nruv=len*dir;\nvec4 col = tex(TEXTURE,ruv+vec2(0.5,0.5));\nCOLOR=col;", "fragment_ofs":0, "light":"", "light_ofs":0, "vertex":"", "vertex_ofs":0 }
-
-[sub_resource type="CanvasItemMaterial" id=8]
-
-shader/shader = SubResource( 7 )
-shader/shading_mode = 0
-shader_param/fattyness = 2.0
-
-[sub_resource type="CanvasItemShader" id=9]
-
-_code = { "fragment":"\nuniform float radius=5.0;\nuniform color modulate=color(0,0,0,0.7);\n\nvec2 ps = TEXTURE_PIXEL_SIZE;\n\nvec4 shadow = tex(TEXTURE,UV+vec2(-radius,-radius)*ps);\nshadow += tex(TEXTURE,UV+vec2(-radius,0)*ps);\nshadow += tex(TEXTURE,UV+vec2(-radius,radius)*ps);\nshadow += tex(TEXTURE,UV+vec2(0,-radius)*ps);\nshadow += tex(TEXTURE,UV+vec2(0,radius)*ps);\nshadow += tex(TEXTURE,UV+vec2(radius,-radius)*ps);\nshadow += tex(TEXTURE,UV+vec2(radius,0)*ps);\nshadow += tex(TEXTURE,UV+vec2(radius,radius)*ps);\nshadow/=8;\nshadow*=modulate;\n\nvec4 col = tex(TEXTURE,UV);\nCOLOR=mix(shadow,col,col.a);", "fragment_ofs":0, "light":"", "light_ofs":0, "vertex":"", "vertex_ofs":0 }
-
-[sub_resource type="CanvasItemMaterial" id=10]
-
-shader/shader = SubResource( 9 )
-shader/shading_mode = 0
-shader_param/radius = 5.0
-shader_param/modulate = Color( 0, 0, 0, 0.7 )
-
-[sub_resource type="CanvasItemShader" id=11]
-
-_code = { "fragment":"\nuniform vec2 offset=vec2(8,8);\nuniform color modulate=color(0.5,0,0.1,0.5);\n\nvec2 ps = TEXTURE_PIXEL_SIZE;\n\nvec4 shadow = vec4(modulate.rgb,tex(TEXTURE,UV-offset*ps).a*modulate.a);\nvec4 col = tex(TEXTURE,UV);\n\nCOLOR=mix(shadow,col,col.a);", "fragment_ofs":0, "light":"", "light_ofs":0, "vertex":"", "vertex_ofs":0 }
-
-[sub_resource type="CanvasItemMaterial" id=12]
-
-shader/shader = SubResource( 11 )
-shader/shading_mode = 0
-shader_param/offset = Vector2( 8, 8 )
-shader_param/modulate = Color( 0.5, 0, 0.1, 0.5 )
-
-[sub_resource type="CanvasItemShader" id=13]
-
-_code = { "fragment":"\nuniform color modulate=color(0.2,0.4,1.0,0.8);\nCOLOR = vec4(modulate.rgb,tex(TEXTURE,UV).a*modulate.a);\n\n\n", "fragment_ofs":0, "light":"", "light_ofs":0, "vertex":"", "vertex_ofs":0 }
-
-[sub_resource type="CanvasItemMaterial" id=14]
-
-shader/shader = SubResource( 13 )
-shader/shading_mode = 0
-shader_param/modulate = Color( 0.013125, 0.194829, 0.406815, 0.818237 )
-
-[sub_resource type="CanvasItemShader" id=15]
-
-_code = { "fragment":"\nuniform float radius=2.0;\nuniform float amount=0.6;\nfloat r = radius;\nvec2 ps = TEXTURE_PIXEL_SIZE;\n\nvec4 col = tex(TEXTURE,UV);\n\nvec4 glow = col;\nglow += tex(TEXTURE,UV+vec2(-r,-r)*ps);\nglow += tex(TEXTURE,UV+vec2(-r,0)*ps);\nglow += tex(TEXTURE,UV+vec2(-r,r)*ps);\nglow += tex(TEXTURE,UV+vec2(0,-r)*ps);\nglow += tex(TEXTURE,UV+vec2(0,r)*ps);\nglow += tex(TEXTURE,UV+vec2(r,-r)*ps);\nglow += tex(TEXTURE,UV+vec2(r,0)*ps);\nglow += tex(TEXTURE,UV+vec2(r,r)*ps);\nr*=2.0;\nglow += tex(TEXTURE,UV+vec2(-r,-r)*ps);\nglow += tex(TEXTURE,UV+vec2(-r,0)*ps);\nglow += tex(TEXTURE,UV+vec2(-r,r)*ps);\nglow += tex(TEXTURE,UV+vec2(0,-r)*ps);\nglow += tex(TEXTURE,UV+vec2(0,r)*ps);\nglow += tex(TEXTURE,UV+vec2(r,-r)*ps);\nglow += tex(TEXTURE,UV+vec2(r,0)*ps);\nglow += tex(TEXTURE,UV+vec2(r,r)*ps);\n\nglow/=17.0;\nglow*=amount;\ncol.rgb*=col.a;\nCOLOR=glow+col;", "fragment_ofs":0, "light":"", "light_ofs":0, "vertex":"", "vertex_ofs":0 }
-
-[sub_resource type="CanvasItemMaterial" id=16]
-
-shader/shader = SubResource( 15 )
-shader/shading_mode = 0
-shader_param/radius = 2.0
-shader_param/amount = 0.5
-
-[sub_resource type="CanvasItemShader" id=17]
-
-_code = { "fragment":"\nuniform float amount = 20;\nvec2 uv = UV*0.05;\nfloat a = fract(sin(dot(UV ,vec2(12.9898,78.233))) * 438.5453);\nvec4 col = tex(TEXTURE,UV);\ncol.a*=pow(a,amount);\nCOLOR = col;\n\n\n", "fragment_ofs":0, "light":"", "light_ofs":0, "vertex":"", "vertex_ofs":0 }
-
-[sub_resource type="CanvasItemMaterial" id=18]
-
-shader/shader = SubResource( 17 )
-shader/shading_mode = 0
-shader_param/amount = 2.0
-
-[node name="shaders" type="Node2D"]
-
-[node name="normal" type="Sprite" parent="."]
-
-transform/pos = Vector2( 95.4559, 131.272 )
-texture = ExtResource( 1 )
-
-[node name="outline" type="Sprite" parent="."]
-
-material/material = SubResource( 2 )
-transform/pos = Vector2( 246.456, 128.272 )
-texture = ExtResource( 1 )
-
-[node name="aura" type="Sprite" parent="."]
-
-visibility/blend_mode = 4
-material/material = SubResource( 4 )
-transform/pos = Vector2( 398.185, 130.624 )
-texture = ExtResource( 1 )
-
-[node name="blur" type="Sprite" parent="."]
-
-material/material = SubResource( 6 )
-transform/pos = Vector2( 548.503, 123.04 )
-texture = ExtResource( 1 )
-
-[node name="fatty" type="Sprite" parent="."]
-
-material/material = SubResource( 8 )
-transform/pos = Vector2( 696.518, 125.393 )
-texture = ExtResource( 1 )
-
-[node name="dropshadow" type="Sprite" parent="."]
-
-material/material = SubResource( 10 )
-transform/pos = Vector2( 97.4079, 389.709 )
-texture = ExtResource( 1 )
-
-[node name="offsetshadow" type="Sprite" parent="."]
-
-material/material = SubResource( 12 )
-transform/pos = Vector2( 254.821, 384.238 )
-texture = ExtResource( 1 )
-
-[node name="silouette" type="Sprite" parent="."]
-
-material/material = SubResource( 14 )
-transform/pos = Vector2( 418.854, 387.184 )
-texture = ExtResource( 1 )
-
-[node name="glow" type="Sprite" parent="."]
-
-visibility/blend_mode = 4
-material/material = SubResource( 16 )
-transform/pos = Vector2( 563.75, 385.42 )
-texture = ExtResource( 1 )
-
-[node name="dissintegrate" type="Sprite" parent="."]
-
-material/material = SubResource( 18 )
-transform/pos = Vector2( 708.613, 385.444 )
-texture = ExtResource( 1 )
-
-
diff --git a/demos/2d/tetris/block.png b/demos/2d/tetris/block.png
deleted file mode 100644
index b7759b35b4..0000000000
--- a/demos/2d/tetris/block.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/tetris/engine.cfg b/demos/2d/tetris/engine.cfg
deleted file mode 100644
index db20f0b888..0000000000
--- a/demos/2d/tetris/engine.cfg
+++ /dev/null
@@ -1,17 +0,0 @@
-[application]
-
-name="Tetris"
-main_scene="res://tetris.tscn"
-icon="res://tetris.png"
-
-[display]
-
-width=400
-height=400
-
-[input]
-
-move_left=[key(Left)]
-move_right=[key(Right)]
-move_down=[key(Down)]
-rotate=[key(Space)]
diff --git a/demos/2d/tetris/grid.gd b/demos/2d/tetris/grid.gd
deleted file mode 100644
index 75fabb4210..0000000000
--- a/demos/2d/tetris/grid.gd
+++ /dev/null
@@ -1,194 +0,0 @@
-
-extends Control
-
-# Simple Tetris-like demo, (c) 2012 Juan Linietsky
-# Implemented by using a regular Control and drawing on it during the _draw() callback.
-# The drawing surface is updated only when changes happen (by calling update())
-
-# Member variables
-var score = 0
-var score_label = null
-
-const MAX_SHAPES = 7
-
-var block = preload("block.png")
-
-var block_colors = [
- Color(1, 0.5, 0.5),
- Color(0.5, 1, 0.5),
- Color(0.5, 0.5, 1),
- Color(0.8, 0.4, 0.8),
- Color(0.8, 0.8, 0.4),
- Color(0.4, 0.8, 0.8),
- Color(0.7, 0.7, 0.7)]
-
-var block_shapes = [
- [ Vector2(0, -1), Vector2(0, 0), Vector2(0, 1), Vector2(0, 2) ], # I
- [ Vector2(0, 0), Vector2(1, 0), Vector2(1, 1), Vector2(0, 1) ], # O
- [ Vector2(-1, 1), Vector2(0, 1), Vector2(0, 0), Vector2(1, 0) ], # S
- [ Vector2(1, 1), Vector2(0, 1), Vector2(0, 0), Vector2(-1, 0) ], # Z
- [ Vector2(-1, 1), Vector2(-1, 0), Vector2(0, 0), Vector2(1, 0) ], # L
- [ Vector2(1, 1), Vector2(1, 0), Vector2(0, 0), Vector2(-1, 0) ], # J
- [ Vector2(0, 1), Vector2(1, 0), Vector2(0, 0), Vector2(-1, 0) ]] # T
-
-var block_rotations = [
- Matrix32(Vector2(1, 0), Vector2(0, 1), Vector2()),
- Matrix32(Vector2(0, 1), Vector2(-1, 0), Vector2()),
- Matrix32(Vector2(-1, 0), Vector2(0, -1), Vector2()),
- Matrix32(Vector2(0, -1), Vector2(1, 0), Vector2())]
-
-var width = 0
-var height = 0
-
-var cells = {}
-
-var piece_active = false
-var piece_shape = 0
-var piece_pos = Vector2()
-var piece_rot = 0
-
-
-func piece_cell_xform(p, er = 0):
- var r = (4 + er + piece_rot) % 4
- return piece_pos + block_rotations[r].xform(p)
-
-
-func _draw():
- var sb = get_stylebox("bg", "Tree") # Use line edit bg
- draw_style_box(sb, Rect2(Vector2(), get_size()).grow(3))
-
- var bs = block.get_size()
- for y in range(height):
- for x in range(width):
- if (Vector2(x, y) in cells):
- draw_texture_rect(block, Rect2(Vector2(x, y)*bs, bs), false, block_colors[cells[Vector2(x, y)]])
-
- if (piece_active):
- for c in block_shapes[piece_shape]:
- draw_texture_rect(block, Rect2(piece_cell_xform(c)*bs, bs), false, block_colors[piece_shape])
-
-
-func piece_check_fit(ofs, er = 0):
- for c in block_shapes[piece_shape]:
- var pos = piece_cell_xform(c, er) + ofs
- if (pos.x < 0):
- return false
- if (pos.y < 0):
- return false
- if (pos.x >= width):
- return false
- if (pos.y >= height):
- return false
- if (pos in cells):
- return false
-
- return true
-
-
-func new_piece():
- piece_shape = randi() % MAX_SHAPES
- piece_pos = Vector2(width/2, 0)
- piece_active = true
- piece_rot = 0
- if (piece_shape == 0):
- piece_pos.y += 1
-
- if (not piece_check_fit(Vector2())):
- # Game over
- game_over()
-
- update()
-
-
-func test_collapse_rows():
- var accum_down = 0
- for i in range(height):
- var y = height - i - 1
- var collapse = true
- for x in range(width):
- if (Vector2(x, y) in cells):
- if (accum_down):
- cells[Vector2(x, y + accum_down)] = cells[Vector2(x, y)]
- else:
- collapse = false
- if (accum_down):
- cells.erase(Vector2(x, y + accum_down))
-
- if (collapse):
- accum_down += 1
-
- score += accum_down*100
- score_label.set_text(str(score))
-
-
-func game_over():
- piece_active = false
- get_node("gameover").set_text("Game over!")
- update()
-
-
-func restart_pressed():
- score = 0
- score_label.set_text("0")
- cells.clear()
- get_node("gameover").set_text("")
- piece_active = true
- get_node("../restart").release_focus()
- update()
-
-
-func piece_move_down():
- if (!piece_active):
- return
- if (piece_check_fit(Vector2(0, 1))):
- piece_pos.y += 1
- update()
- else:
- for c in block_shapes[piece_shape]:
- var pos = piece_cell_xform(c)
- cells[pos] = piece_shape
- test_collapse_rows()
- new_piece()
-
-
-func piece_rotate():
- var adv = 1
- if (not piece_check_fit(Vector2(), 1)):
- return
- piece_rot = (piece_rot + adv) % 4
- update()
-
-
-func _input(ie):
- if (not piece_active):
- return
- if (!ie.is_pressed()):
- return
-
- if (ie.is_action("move_left")):
- if (piece_check_fit(Vector2(-1, 0))):
- piece_pos.x -= 1
- update()
- elif (ie.is_action("move_right")):
- if (piece_check_fit(Vector2(1, 0))):
- piece_pos.x += 1
- update()
- elif (ie.is_action("move_down")):
- piece_move_down()
- elif (ie.is_action("rotate")):
- piece_rotate()
-
-
-func setup(w, h):
- width = w
- height = h
- set_size(Vector2(w, h)*block.get_size())
- new_piece()
- get_node("timer").start()
-
-
-func _ready():
- setup(10, 20)
- score_label = get_node("../score")
-
- set_process_input(true)
diff --git a/demos/2d/tetris/grid.tscn b/demos/2d/tetris/grid.tscn
deleted file mode 100644
index 9df85e3817..0000000000
--- a/demos/2d/tetris/grid.tscn
+++ /dev/null
@@ -1,47 +0,0 @@
-[gd_scene load_steps=2 format=1]
-
-[ext_resource path="res://grid.gd" type="Script" id=1]
-
-[node name="Grid" type="Control"]
-
-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 = 40.0
-margin/bottom = 40.0
-script/script = ExtResource( 1 )
-
-[node name="timer" type="Timer" parent="."]
-
-process_mode = 1
-wait_time = 1.0
-one_shot = false
-autostart = false
-
-[node name="gameover" type="Label" parent="."]
-
-anchor/right = 1
-anchor/bottom = 1
-focus/ignore_mouse = true
-focus/stop_mouse = true
-size_flags/horizontal = 2
-margin/left = 0.0
-margin/top = 0.0
-margin/right = 0.0
-margin/bottom = 0.0
-custom_colors/font_color = Color( 1, 1, 1, 1 )
-custom_colors/font_color_shadow = Color( 0, 0, 0, 1 )
-custom_constants/shadow_offset_x = 1
-custom_constants/shadow_offset_y = 1
-align = 1
-valign = 1
-percent_visible = 1.0
-lines_skipped = 0
-max_lines_visible = -1
-
-[connection signal="timeout" from="timer" to="." method="piece_move_down"]
-
-
diff --git a/demos/2d/tetris/tetris.png b/demos/2d/tetris/tetris.png
deleted file mode 100644
index 8b63977bfe..0000000000
--- a/demos/2d/tetris/tetris.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/tetris/tetris.tscn b/demos/2d/tetris/tetris.tscn
deleted file mode 100644
index de81044c22..0000000000
--- a/demos/2d/tetris/tetris.tscn
+++ /dev/null
@@ -1,67 +0,0 @@
-[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/texscreen/OpenCV_Chessboard.png b/demos/2d/texscreen/OpenCV_Chessboard.png
deleted file mode 100644
index 31b7f8ccd8..0000000000
--- a/demos/2d/texscreen/OpenCV_Chessboard.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/texscreen/bubble.png b/demos/2d/texscreen/bubble.png
deleted file mode 100644
index 021abba601..0000000000
--- a/demos/2d/texscreen/bubble.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/texscreen/bubbles.gd b/demos/2d/texscreen/bubbles.gd
deleted file mode 100644
index c0c7d892e6..0000000000
--- a/demos/2d/texscreen/bubbles.gd
+++ /dev/null
@@ -1,11 +0,0 @@
-
-extends Control
-
-# Member variables
-const MAX_BUBBLES = 10
-
-
-func _ready():
- for i in range(MAX_BUBBLES):
- var bubble = preload("res://lens.tscn").instance()
- add_child(bubble)
diff --git a/demos/2d/texscreen/bubbles.tscn b/demos/2d/texscreen/bubbles.tscn
deleted file mode 100644
index 72b7874b92..0000000000
--- a/demos/2d/texscreen/bubbles.tscn
+++ /dev/null
@@ -1,32 +0,0 @@
-[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/burano.png b/demos/2d/texscreen/burano.png
deleted file mode 100644
index 6eec09d585..0000000000
--- a/demos/2d/texscreen/burano.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/texscreen/engine.cfg b/demos/2d/texscreen/engine.cfg
deleted file mode 100644
index 0a3f084270..0000000000
--- a/demos/2d/texscreen/engine.cfg
+++ /dev/null
@@ -1,12 +0,0 @@
-[application]
-
-name="Glass Bubbles (Texscreen)"
-main_scene="res://bubbles.tscn"
-icon="res://icon.png"
-
-[display]
-
-width=800
-height=600
-stretch_mode="2d"
-stretch_aspect="keep"
diff --git a/demos/2d/texscreen/icon.png b/demos/2d/texscreen/icon.png
deleted file mode 100644
index d74d025ced..0000000000
--- a/demos/2d/texscreen/icon.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/texscreen/lens.gd b/demos/2d/texscreen/lens.gd
deleted file mode 100644
index d1007553b0..0000000000
--- a/demos/2d/texscreen/lens.gd
+++ /dev/null
@@ -1,32 +0,0 @@
-
-extends BackBufferCopy
-
-# Member variables
-const MOTION_SPEED = 150
-
-var vsize
-var dir
-
-
-func _process(delta):
- var pos = get_pos() + dir*delta*MOTION_SPEED
-
- if (pos.x < 0):
- dir.x = abs(dir.x)
- elif (pos.x > vsize.x):
- dir.x = -abs(dir.x)
-
- if (pos.y < 0):
- dir.y = abs(dir.y)
- elif (pos.y > vsize.y):
- dir.y = -abs(dir.y)
-
- set_pos(pos)
-
-
-func _ready():
- vsize = get_viewport_rect().size
- var pos = vsize*Vector2(randf(), randf())
- set_pos(pos)
- dir = Vector2(randf()*2.0 - 1, randf()*2.0 - 1).normalized()
- set_process(true)
diff --git a/demos/2d/texscreen/lens.tscn b/demos/2d/texscreen/lens.tscn
deleted file mode 100644
index 7f449e46ae..0000000000
--- a/demos/2d/texscreen/lens.tscn
+++ /dev/null
@@ -1,29 +0,0 @@
-[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 )
-
-