From fb64f15e22acfc1c03c7c5357dd66077454adbcf Mon Sep 17 00:00:00 2001 From: Daniel Weipert Date: Thu, 31 Dec 2020 11:33:12 +0100 Subject: Initial commit --- .gitignore | 12 + ...15-02-26 [DB32](Generic Platformer)(Clouds).png | Bin 0 -> 1650 bytes ...6 [DB32](Generic Platformer)(Clouds).png.import | 34 +++ ...02-26 [DB32](Generic Platformer)(Mountains).png | Bin 0 -> 3330 bytes ...DB32](Generic Platformer)(Mountains).png.import | 34 +++ ...5-02-26 [DB32](Generic Platformer)(Tileset).png | Bin 0 -> 4067 bytes ... [DB32](Generic Platformer)(Tileset).png.import | 34 +++ Assets/Characters/Tux/Back.png | Bin 0 -> 249 bytes Assets/Characters/Tux/Back.png.import | 34 +++ Assets/Characters/Tux/Duck.png | Bin 0 -> 357 bytes Assets/Characters/Tux/Duck.png.import | 34 +++ Assets/Characters/Tux/Fall1.png | Bin 0 -> 399 bytes Assets/Characters/Tux/Fall1.png.import | 34 +++ Assets/Characters/Tux/Fall1Wings.png | Bin 0 -> 417 bytes Assets/Characters/Tux/Fall1Wings.png.import | 34 +++ Assets/Characters/Tux/Fall2Wings.png | Bin 0 -> 411 bytes Assets/Characters/Tux/Fall2Wings.png.import | 34 +++ Assets/Characters/Tux/Front.png | Bin 0 -> 402 bytes Assets/Characters/Tux/Front.png.import | 34 +++ Assets/Characters/Tux/Jump.png | Bin 0 -> 366 bytes Assets/Characters/Tux/Jump.png.import | 34 +++ Assets/Characters/Tux/Slide.png | Bin 0 -> 360 bytes Assets/Characters/Tux/Slide.png.import | 34 +++ Assets/Characters/Tux/Swim.png | Bin 0 -> 390 bytes Assets/Characters/Tux/Swim.png.import | 34 +++ Assets/Characters/Tux/Walk1.png | Bin 0 -> 408 bytes Assets/Characters/Tux/Walk1.png.import | 34 +++ Assets/Characters/Tux/Walk2.png | Bin 0 -> 402 bytes Assets/Characters/Tux/Walk2.png.import | 34 +++ Assets/Characters/Tux/Wall.png | Bin 0 -> 417 bytes Assets/Characters/Tux/Wall.png.import | 34 +++ .../CheapProFonts Font License.txt | 21 ++ .../geometry-soft-pro/Geometry_Soft_Pro-Bold_N.otf | Bin 0 -> 54160 bytes Assets/Fonts/impact-label/Impact_Label.ttf | Bin 0 -> 139168 bytes .../Fonts/impact-label/Impact_Label_Reversed.ttf | Bin 0 -> 130584 bytes .../impact-label/Tension Type Font License.txt | 20 ++ Assets/Fonts/impact-label/impactlabel.jpg | Bin 0 -> 177166 bytes Assets/Fonts/impact-label/impactlabel.jpg.import | 34 +++ Assets/platforms.tres | 324 +++++++++++++++++++++ Character.gd | 89 ++++++ Character.tscn | 84 ++++++ Enum.gd | 11 + Enum.tscn | 6 + Global.gd | 60 ++++ Global.tscn | 6 + Levels/Level.gd | 30 ++ Levels/Level_0001.gd | 5 + Levels/Level_0001.tscn | 35 +++ Objects/Flag.gd | 6 + Objects/Flag.tscn | 19 ++ UI/HUD/Timer.tscn | 13 + UI/LevelSelect.gd | 23 ++ UI/LevelSelect.tscn | 11 + UI/LevelSelectCell.gd | 23 ++ UI/LevelSelectCell.tscn | 58 ++++ default_env.tres | 7 + icon.png | Bin 0 -> 7370 bytes icon.png.import | 34 +++ project.godot | 46 +++ 59 files changed, 1487 insertions(+) create mode 100644 .gitignore create mode 100644 Assets/2015-02-26 [DB32](Generic Platformer)(Clouds).png create mode 100644 Assets/2015-02-26 [DB32](Generic Platformer)(Clouds).png.import create mode 100644 Assets/2015-02-26 [DB32](Generic Platformer)(Mountains).png create mode 100644 Assets/2015-02-26 [DB32](Generic Platformer)(Mountains).png.import create mode 100644 Assets/2015-02-26 [DB32](Generic Platformer)(Tileset).png create mode 100644 Assets/2015-02-26 [DB32](Generic Platformer)(Tileset).png.import create mode 100644 Assets/Characters/Tux/Back.png create mode 100644 Assets/Characters/Tux/Back.png.import create mode 100644 Assets/Characters/Tux/Duck.png create mode 100644 Assets/Characters/Tux/Duck.png.import create mode 100644 Assets/Characters/Tux/Fall1.png create mode 100644 Assets/Characters/Tux/Fall1.png.import create mode 100644 Assets/Characters/Tux/Fall1Wings.png create mode 100644 Assets/Characters/Tux/Fall1Wings.png.import create mode 100644 Assets/Characters/Tux/Fall2Wings.png create mode 100644 Assets/Characters/Tux/Fall2Wings.png.import create mode 100644 Assets/Characters/Tux/Front.png create mode 100644 Assets/Characters/Tux/Front.png.import create mode 100644 Assets/Characters/Tux/Jump.png create mode 100644 Assets/Characters/Tux/Jump.png.import create mode 100644 Assets/Characters/Tux/Slide.png create mode 100644 Assets/Characters/Tux/Slide.png.import create mode 100644 Assets/Characters/Tux/Swim.png create mode 100644 Assets/Characters/Tux/Swim.png.import create mode 100644 Assets/Characters/Tux/Walk1.png create mode 100644 Assets/Characters/Tux/Walk1.png.import create mode 100644 Assets/Characters/Tux/Walk2.png create mode 100644 Assets/Characters/Tux/Walk2.png.import create mode 100644 Assets/Characters/Tux/Wall.png create mode 100644 Assets/Characters/Tux/Wall.png.import create mode 100755 Assets/Fonts/geometry-soft-pro/CheapProFonts Font License.txt create mode 100755 Assets/Fonts/geometry-soft-pro/Geometry_Soft_Pro-Bold_N.otf create mode 100755 Assets/Fonts/impact-label/Impact_Label.ttf create mode 100755 Assets/Fonts/impact-label/Impact_Label_Reversed.ttf create mode 100755 Assets/Fonts/impact-label/Tension Type Font License.txt create mode 100755 Assets/Fonts/impact-label/impactlabel.jpg create mode 100644 Assets/Fonts/impact-label/impactlabel.jpg.import create mode 100644 Assets/platforms.tres create mode 100644 Character.gd create mode 100644 Character.tscn create mode 100644 Enum.gd create mode 100644 Enum.tscn create mode 100644 Global.gd create mode 100644 Global.tscn create mode 100644 Levels/Level.gd create mode 100644 Levels/Level_0001.gd create mode 100644 Levels/Level_0001.tscn create mode 100644 Objects/Flag.gd create mode 100644 Objects/Flag.tscn create mode 100644 UI/HUD/Timer.tscn create mode 100644 UI/LevelSelect.gd create mode 100644 UI/LevelSelect.tscn create mode 100644 UI/LevelSelectCell.gd create mode 100644 UI/LevelSelectCell.tscn create mode 100644 default_env.tres create mode 100644 icon.png create mode 100644 icon.png.import create mode 100644 project.godot diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7cab317 --- /dev/null +++ b/.gitignore @@ -0,0 +1,12 @@ +# Godot-specific ignores +.import/ +export.cfg +export_presets.cfg + +# Imported translations (automatically generated from CSV files) +*.translation + +# Mono-specific ignores +.mono/ +data_*/ + diff --git a/Assets/2015-02-26 [DB32](Generic Platformer)(Clouds).png b/Assets/2015-02-26 [DB32](Generic Platformer)(Clouds).png new file mode 100644 index 0000000..7aeb782 Binary files /dev/null and b/Assets/2015-02-26 [DB32](Generic Platformer)(Clouds).png differ diff --git a/Assets/2015-02-26 [DB32](Generic Platformer)(Clouds).png.import b/Assets/2015-02-26 [DB32](Generic Platformer)(Clouds).png.import new file mode 100644 index 0000000..2b59f3c --- /dev/null +++ b/Assets/2015-02-26 [DB32](Generic Platformer)(Clouds).png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/2015-02-26 [DB32](Generic Platformer)(Clouds).png-40fa4d8e9c89dc9aac0ffca9e4188a70.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/2015-02-26 [DB32](Generic Platformer)(Clouds).png" +dest_files=[ "res://.import/2015-02-26 [DB32](Generic Platformer)(Clouds).png-40fa4d8e9c89dc9aac0ffca9e4188a70.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/2015-02-26 [DB32](Generic Platformer)(Mountains).png b/Assets/2015-02-26 [DB32](Generic Platformer)(Mountains).png new file mode 100644 index 0000000..2912e89 Binary files /dev/null and b/Assets/2015-02-26 [DB32](Generic Platformer)(Mountains).png differ diff --git a/Assets/2015-02-26 [DB32](Generic Platformer)(Mountains).png.import b/Assets/2015-02-26 [DB32](Generic Platformer)(Mountains).png.import new file mode 100644 index 0000000..ad87f83 --- /dev/null +++ b/Assets/2015-02-26 [DB32](Generic Platformer)(Mountains).png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/2015-02-26 [DB32](Generic Platformer)(Mountains).png-28144b92a20d497596e8dc16c529b79b.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/2015-02-26 [DB32](Generic Platformer)(Mountains).png" +dest_files=[ "res://.import/2015-02-26 [DB32](Generic Platformer)(Mountains).png-28144b92a20d497596e8dc16c529b79b.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/2015-02-26 [DB32](Generic Platformer)(Tileset).png b/Assets/2015-02-26 [DB32](Generic Platformer)(Tileset).png new file mode 100644 index 0000000..c4aef78 Binary files /dev/null and b/Assets/2015-02-26 [DB32](Generic Platformer)(Tileset).png differ diff --git a/Assets/2015-02-26 [DB32](Generic Platformer)(Tileset).png.import b/Assets/2015-02-26 [DB32](Generic Platformer)(Tileset).png.import new file mode 100644 index 0000000..e82fbfd --- /dev/null +++ b/Assets/2015-02-26 [DB32](Generic Platformer)(Tileset).png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/2015-02-26 [DB32](Generic Platformer)(Tileset).png-5b66202cbad7ae8eca600db0dd4e2c17.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/2015-02-26 [DB32](Generic Platformer)(Tileset).png" +dest_files=[ "res://.import/2015-02-26 [DB32](Generic Platformer)(Tileset).png-5b66202cbad7ae8eca600db0dd4e2c17.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/Characters/Tux/Back.png b/Assets/Characters/Tux/Back.png new file mode 100644 index 0000000..9e0aaf4 Binary files /dev/null and b/Assets/Characters/Tux/Back.png differ diff --git a/Assets/Characters/Tux/Back.png.import b/Assets/Characters/Tux/Back.png.import new file mode 100644 index 0000000..d04a7f6 --- /dev/null +++ b/Assets/Characters/Tux/Back.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Back.png-894f5d165f20795cc17d79509a86726b.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Characters/Tux/Back.png" +dest_files=[ "res://.import/Back.png-894f5d165f20795cc17d79509a86726b.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/Characters/Tux/Duck.png b/Assets/Characters/Tux/Duck.png new file mode 100644 index 0000000..6653d0e Binary files /dev/null and b/Assets/Characters/Tux/Duck.png differ diff --git a/Assets/Characters/Tux/Duck.png.import b/Assets/Characters/Tux/Duck.png.import new file mode 100644 index 0000000..0bfef0e --- /dev/null +++ b/Assets/Characters/Tux/Duck.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Duck.png-d9b6b0939ed2c174e51ba35a4477e992.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Characters/Tux/Duck.png" +dest_files=[ "res://.import/Duck.png-d9b6b0939ed2c174e51ba35a4477e992.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/Characters/Tux/Fall1.png b/Assets/Characters/Tux/Fall1.png new file mode 100644 index 0000000..8aed14c Binary files /dev/null and b/Assets/Characters/Tux/Fall1.png differ diff --git a/Assets/Characters/Tux/Fall1.png.import b/Assets/Characters/Tux/Fall1.png.import new file mode 100644 index 0000000..bca9193 --- /dev/null +++ b/Assets/Characters/Tux/Fall1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Fall1.png-2df6426526d2c5aa64a7a7c339f5b152.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Characters/Tux/Fall1.png" +dest_files=[ "res://.import/Fall1.png-2df6426526d2c5aa64a7a7c339f5b152.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/Characters/Tux/Fall1Wings.png b/Assets/Characters/Tux/Fall1Wings.png new file mode 100644 index 0000000..1af2af5 Binary files /dev/null and b/Assets/Characters/Tux/Fall1Wings.png differ diff --git a/Assets/Characters/Tux/Fall1Wings.png.import b/Assets/Characters/Tux/Fall1Wings.png.import new file mode 100644 index 0000000..fa25409 --- /dev/null +++ b/Assets/Characters/Tux/Fall1Wings.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Fall1Wings.png-53eb59d039d394e94fb81807128f0f76.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Characters/Tux/Fall1Wings.png" +dest_files=[ "res://.import/Fall1Wings.png-53eb59d039d394e94fb81807128f0f76.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/Characters/Tux/Fall2Wings.png b/Assets/Characters/Tux/Fall2Wings.png new file mode 100644 index 0000000..3b25990 Binary files /dev/null and b/Assets/Characters/Tux/Fall2Wings.png differ diff --git a/Assets/Characters/Tux/Fall2Wings.png.import b/Assets/Characters/Tux/Fall2Wings.png.import new file mode 100644 index 0000000..ff30c93 --- /dev/null +++ b/Assets/Characters/Tux/Fall2Wings.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Fall2Wings.png-f650fa959d0af586766591268253819f.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Characters/Tux/Fall2Wings.png" +dest_files=[ "res://.import/Fall2Wings.png-f650fa959d0af586766591268253819f.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/Characters/Tux/Front.png b/Assets/Characters/Tux/Front.png new file mode 100644 index 0000000..c2f9806 Binary files /dev/null and b/Assets/Characters/Tux/Front.png differ diff --git a/Assets/Characters/Tux/Front.png.import b/Assets/Characters/Tux/Front.png.import new file mode 100644 index 0000000..62abf0c --- /dev/null +++ b/Assets/Characters/Tux/Front.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Front.png-a6d4ccbcfd2486fec1e20a77f4bd17a5.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Characters/Tux/Front.png" +dest_files=[ "res://.import/Front.png-a6d4ccbcfd2486fec1e20a77f4bd17a5.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/Characters/Tux/Jump.png b/Assets/Characters/Tux/Jump.png new file mode 100644 index 0000000..46cb59d Binary files /dev/null and b/Assets/Characters/Tux/Jump.png differ diff --git a/Assets/Characters/Tux/Jump.png.import b/Assets/Characters/Tux/Jump.png.import new file mode 100644 index 0000000..1b70f12 --- /dev/null +++ b/Assets/Characters/Tux/Jump.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Jump.png-27f3125ee6ae1ab6b45000ab779a5d2c.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Characters/Tux/Jump.png" +dest_files=[ "res://.import/Jump.png-27f3125ee6ae1ab6b45000ab779a5d2c.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/Characters/Tux/Slide.png b/Assets/Characters/Tux/Slide.png new file mode 100644 index 0000000..95c44a8 Binary files /dev/null and b/Assets/Characters/Tux/Slide.png differ diff --git a/Assets/Characters/Tux/Slide.png.import b/Assets/Characters/Tux/Slide.png.import new file mode 100644 index 0000000..e91a2d8 --- /dev/null +++ b/Assets/Characters/Tux/Slide.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Slide.png-f461cbed3170b8c9b066a53a5f3e822e.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Characters/Tux/Slide.png" +dest_files=[ "res://.import/Slide.png-f461cbed3170b8c9b066a53a5f3e822e.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/Characters/Tux/Swim.png b/Assets/Characters/Tux/Swim.png new file mode 100644 index 0000000..d1beca9 Binary files /dev/null and b/Assets/Characters/Tux/Swim.png differ diff --git a/Assets/Characters/Tux/Swim.png.import b/Assets/Characters/Tux/Swim.png.import new file mode 100644 index 0000000..7496c84 --- /dev/null +++ b/Assets/Characters/Tux/Swim.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Swim.png-46e16632a0141cb1b79cd96f82253d40.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Characters/Tux/Swim.png" +dest_files=[ "res://.import/Swim.png-46e16632a0141cb1b79cd96f82253d40.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/Characters/Tux/Walk1.png b/Assets/Characters/Tux/Walk1.png new file mode 100644 index 0000000..9e48f24 Binary files /dev/null and b/Assets/Characters/Tux/Walk1.png differ diff --git a/Assets/Characters/Tux/Walk1.png.import b/Assets/Characters/Tux/Walk1.png.import new file mode 100644 index 0000000..07a5a61 --- /dev/null +++ b/Assets/Characters/Tux/Walk1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Walk1.png-a523f8ffd104512e6d9ba0f6a4ba000b.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Characters/Tux/Walk1.png" +dest_files=[ "res://.import/Walk1.png-a523f8ffd104512e6d9ba0f6a4ba000b.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/Characters/Tux/Walk2.png b/Assets/Characters/Tux/Walk2.png new file mode 100644 index 0000000..8fd784d Binary files /dev/null and b/Assets/Characters/Tux/Walk2.png differ diff --git a/Assets/Characters/Tux/Walk2.png.import b/Assets/Characters/Tux/Walk2.png.import new file mode 100644 index 0000000..fa724c8 --- /dev/null +++ b/Assets/Characters/Tux/Walk2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Walk2.png-329598a37e4226bd4663c7be3b152560.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Characters/Tux/Walk2.png" +dest_files=[ "res://.import/Walk2.png-329598a37e4226bd4663c7be3b152560.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/Characters/Tux/Wall.png b/Assets/Characters/Tux/Wall.png new file mode 100644 index 0000000..ef1339b Binary files /dev/null and b/Assets/Characters/Tux/Wall.png differ diff --git a/Assets/Characters/Tux/Wall.png.import b/Assets/Characters/Tux/Wall.png.import new file mode 100644 index 0000000..213ec91 --- /dev/null +++ b/Assets/Characters/Tux/Wall.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Wall.png-d053c84d594242a6d9d7209586824056.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Characters/Tux/Wall.png" +dest_files=[ "res://.import/Wall.png-d053c84d594242a6d9d7209586824056.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/Fonts/geometry-soft-pro/CheapProFonts Font License.txt b/Assets/Fonts/geometry-soft-pro/CheapProFonts Font License.txt new file mode 100755 index 0000000..b55818e --- /dev/null +++ b/Assets/Fonts/geometry-soft-pro/CheapProFonts Font License.txt @@ -0,0 +1,21 @@ +CheapProFonts End User License Agreement (EULA) + +The font is protected by copyright laws and International copyright treaties, as well as other intellectual property laws and treaties. The font is licensed, not sold. + +You may install and use an unlimited number of copies of the font within the same household, company, school or institution. + +You may NOT copy or distribute the font outside of the licensed household, company, school or institution. Please ask external contacts who want to use the font to purchase their own license at www.CheapProFonts.com. + +You may embed the font in electronic documents, but you may NOT include the font in a software product - this requires a special license. + +You may NOT alter the font file in any way. If you want a custom version of the font made please contact www.CheapProFonts.com first. + +The font is made to the highest technical standard we know, but we have a disclaimer: + +LIMITED WARRANTY NO WARRANTIES. CheapProFonts and its designers expressly disclaims any warranty for the font. The font and any related documentation is provided &amp;quot;as is&amp;quot; without warranty of any kind, either express or implied, including, without limitation, the implied warranties or merchantability, fitness for a particular purpose, or non-infringement. The entire risk arising out of use or performance of the font remains with you. + +NO LIABILITY FOR CONSEQUENTIAL DAMAGES. In no event shall CheapProFonts or its designers be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or any other pecuniary loss) arising out of the use of or inability to use this product, even if CheapProFonts or its designers has been advised of the possibility of such damages. + +If you have questions about this license and/or font, please consult our FAQ at www.CheapProFonts.com + +We grant the rights of use of our font to you in good faith, and request that you promise to adhere to the terms of this license to the best of your ability, and in good faith. \ No newline at end of file diff --git a/Assets/Fonts/geometry-soft-pro/Geometry_Soft_Pro-Bold_N.otf b/Assets/Fonts/geometry-soft-pro/Geometry_Soft_Pro-Bold_N.otf new file mode 100755 index 0000000..fddbef2 Binary files /dev/null and b/Assets/Fonts/geometry-soft-pro/Geometry_Soft_Pro-Bold_N.otf differ diff --git a/Assets/Fonts/impact-label/Impact_Label.ttf b/Assets/Fonts/impact-label/Impact_Label.ttf new file mode 100755 index 0000000..5bcbf27 Binary files /dev/null and b/Assets/Fonts/impact-label/Impact_Label.ttf differ diff --git a/Assets/Fonts/impact-label/Impact_Label_Reversed.ttf b/Assets/Fonts/impact-label/Impact_Label_Reversed.ttf new file mode 100755 index 0000000..ebc8da4 Binary files /dev/null and b/Assets/Fonts/impact-label/Impact_Label_Reversed.ttf differ diff --git a/Assets/Fonts/impact-label/Tension Type Font License.txt b/Assets/Fonts/impact-label/Tension Type Font License.txt new file mode 100755 index 0000000..810abd2 --- /dev/null +++ b/Assets/Fonts/impact-label/Tension Type Font License.txt @@ -0,0 +1,20 @@ +By downloading and/or installing a Tension Type Free Font you agree to this licence: + +This Tension Type Free Font is free to use in any and all of your personal and commercial work. + +A donation is much appreciated, but not necessary (donations may be done through PayPal to: mtension@gmail.com). No donation is too small. + +You may install and use an unlimited number of copies of a Tension Type Free Font. + +Reproduction and Distribution. You may reproduce and distribute an unlimited number of copies of a Tension Type Free Font; provided that each copy shall be a true and complete copy, including all copyright and trademark notices (if applicable), and shall be accompanied by a copy of this text file. Copies of the Font may not be distributed for profit either on a standalone basis or included as part of your own product unless by prior permission of Tension Type. + +You may not rename, edit or create any derivative works from a Tension Type Free Font, other than subsetting when embedding them in documents unless you have permission from Tension Type. + +Embedding a Tension Type Free Font in a PDF document and web pages is allowed. + +Michael Tension and Tension Type are not responsible for any damage resulting from the use of this Tension Type Free Font. + +Any questions, or if you wish to share your designs, please contact Michael Tension: mtension@gmail.com + +Thanks a ton, +Michael Tension \ No newline at end of file diff --git a/Assets/Fonts/impact-label/impactlabel.jpg b/Assets/Fonts/impact-label/impactlabel.jpg new file mode 100755 index 0000000..fdd6780 Binary files /dev/null and b/Assets/Fonts/impact-label/impactlabel.jpg differ diff --git a/Assets/Fonts/impact-label/impactlabel.jpg.import b/Assets/Fonts/impact-label/impactlabel.jpg.import new file mode 100644 index 0000000..6c30d39 --- /dev/null +++ b/Assets/Fonts/impact-label/impactlabel.jpg.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/impactlabel.jpg-a1bf64a08806f271c109f80004054715.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Fonts/impact-label/impactlabel.jpg" +dest_files=[ "res://.import/impactlabel.jpg-a1bf64a08806f271c109f80004054715.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/platforms.tres b/Assets/platforms.tres new file mode 100644 index 0000000..c50cab9 --- /dev/null +++ b/Assets/platforms.tres @@ -0,0 +1,324 @@ +[gd_resource type="TileSet" load_steps=35 format=2] + +[ext_resource path="res://Assets/2015-02-26 [DB32](Generic Platformer)(Tileset).png" type="Texture" id=1] + +[sub_resource type="ConvexPolygonShape2D" id=1] +points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=2] +points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=3] +points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=4] +points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) + +[sub_resource type="ConvexPolygonShape2D" id=5] +points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) + +[sub_resource type="ConvexPolygonShape2D" id=6] +points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=7] +points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) + +[sub_resource type="ConvexPolygonShape2D" id=8] +points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=9] +points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=10] +points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=11] +points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) + +[sub_resource type="ConvexPolygonShape2D" id=12] +points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=13] +points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) + +[sub_resource type="ConvexPolygonShape2D" id=14] +points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=15] +points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=16] +points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=17] +points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) + +[sub_resource type="ConvexPolygonShape2D" id=18] +points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=19] +points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=20] +points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) + +[sub_resource type="ConvexPolygonShape2D" id=21] +points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=22] +points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=23] +points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=24] +points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) + +[sub_resource type="ConvexPolygonShape2D" id=25] +points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=26] +points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=27] +points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=28] +points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=29] +points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) + +[sub_resource type="ConvexPolygonShape2D" id=30] +points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) + +[sub_resource type="ConvexPolygonShape2D" id=31] +points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=32] +points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=33] +points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) + +[resource] +0/name = "2015-02-26 [DB32](Generic Platformer)(Tileset).png 0" +0/texture = ExtResource( 1 ) +0/tex_offset = Vector2( 0, 0 ) +0/modulate = Color( 1, 1, 1, 1 ) +0/region = Rect2( 0, 0, 16, 16 ) +0/tile_mode = 2 +0/autotile/icon_coordinate = Vector2( 0, 0 ) +0/autotile/tile_size = Vector2( 16, 16 ) +0/autotile/spacing = 0 +0/autotile/occluder_map = [ ] +0/autotile/navpoly_map = [ ] +0/autotile/priority_map = [ ] +0/autotile/z_index_map = [ ] +0/occluder_offset = Vector2( 0, 0 ) +0/navigation_offset = Vector2( 0, 0 ) +0/shape_offset = Vector2( 0, 0 ) +0/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +0/shape = SubResource( 1 ) +0/shape_one_way = false +0/shape_one_way_margin = 1.0 +0/shapes = [ { +"autotile_coord": Vector2( 0, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 1 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 1, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 2 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 2, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 3 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 2, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 4 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 2, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 5 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 6, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 6 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 6, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 7 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 7, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 8 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 8, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 9 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 9, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 10 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 9, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 11 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 10, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 12 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 10, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 13 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 11, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 14 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 11, 1 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 15 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 11, 2 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 16 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 11, 2 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 17 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 10, 2 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 18 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 9, 2 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 19 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 9, 2 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 20 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 9, 1 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 21 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 6, 1 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 22 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 7, 1 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 23 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 7, 1 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 24 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 8, 1 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 25 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 8, 2 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 26 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 7, 2 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 27 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 6, 2 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 28 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 6, 2 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 29 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 3, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 30 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 4, 2 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 31 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 3, 2 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 32 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 5, 2 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 33 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +0/z_index = 0 diff --git a/Character.gd b/Character.gd new file mode 100644 index 0000000..54bfdc5 --- /dev/null +++ b/Character.gd @@ -0,0 +1,89 @@ +extends KinematicBody2D + + +const SPEED = 130 +const JUMPFORCE = -500 +const GRAVITY = 20 + +var velocity = Vector2() +var direction = Enum.DIRECTION.RIGHT + +var canDoubleJump = false +var hasPlayedFallStop = false + + +func _physics_process(_delta): + if Input.is_action_pressed("ui_left"): + velocity.x = -SPEED + direction = Enum.DIRECTION.LEFT + $Sprite.play("walk") + $Sprite.flip_h = true + + if Input.is_action_pressed("ui_accept"): + velocity.x *=2 + $Sprite.play("slide") + elif Input.is_action_pressed("ui_right"): + velocity.x = SPEED + direction = Enum.DIRECTION.RIGHT + $Sprite.play("walk") + $Sprite.flip_h = false + + if Input.is_action_pressed("ui_accept"): + velocity.x *= 2 + $Sprite.play("slide") + else: + $Sprite.play("idle") + + # jump and fall animation + if not is_on_floor(): + $Sprite.play("jump") + if velocity.y > -JUMPFORCE: + $CheckFallLanding.set_enabled(true) + $CheckFallStop.set_enabled(true) + if $CheckFallLanding.is_colliding(): + $Sprite.play("fall_stop_landing") + elif $CheckFallStop.is_colliding(): + $Sprite.play("fall_stop") + else: + $Sprite.play("fall") + else: + $CheckFallLanding.set_enabled(false) + $CheckFallStop.set_enabled(true) + + + # fall down + velocity.y += GRAVITY + + # jump + if Input.is_action_just_pressed("ui_up"): + if is_on_floor(): + canDoubleJump = true + velocity.y = JUMPFORCE + elif not is_on_floor() and not is_on_wall() and canDoubleJump: + canDoubleJump = false + velocity.y = JUMPFORCE + + if is_on_wall(): + velocity.y *= 0.8 + $Sprite.play("wall") + + if Input.is_action_just_pressed("ui_up"): + Input.action_release("ui_left") + Input.action_release("ui_right") + velocity.y = JUMPFORCE * 0.75 + if direction == Enum.DIRECTION.LEFT: + velocity.x = 2000 + $Sprite.flip_h = false + elif direction == Enum.DIRECTION.RIGHT: + velocity.x = -2000 + $Sprite.flip_h = true + + velocity = move_and_slide(velocity, Vector2.UP) + + # stop + velocity.x = lerp(velocity.x, 0, 0.7) + + +func check_flag(): + # $Sprite.play("dance anim") + print("FLAG CHECKED") diff --git a/Character.tscn b/Character.tscn new file mode 100644 index 0000000..5902649 --- /dev/null +++ b/Character.tscn @@ -0,0 +1,84 @@ +[gd_scene load_steps=14 format=2] + +[ext_resource path="res://Character.gd" type="Script" id=1] +[ext_resource path="res://Assets/Characters/Tux/Front.png" type="Texture" id=2] +[ext_resource path="res://Assets/Characters/Tux/Wall.png" type="Texture" id=3] +[ext_resource path="res://Assets/Characters/Tux/Back.png" type="Texture" id=4] +[ext_resource path="res://Assets/Characters/Tux/Walk1.png" type="Texture" id=5] +[ext_resource path="res://Assets/Characters/Tux/Walk2.png" type="Texture" id=6] +[ext_resource path="res://Assets/Characters/Tux/Jump.png" type="Texture" id=7] +[ext_resource path="res://Assets/Characters/Tux/Slide.png" type="Texture" id=8] +[ext_resource path="res://Assets/Characters/Tux/Fall1.png" type="Texture" id=9] +[ext_resource path="res://Assets/Characters/Tux/Fall1Wings.png" type="Texture" id=10] +[ext_resource path="res://Assets/Characters/Tux/Fall2Wings.png" type="Texture" id=11] + +[sub_resource type="SpriteFrames" id=1] +animations = [ { +"frames": [ ExtResource( 4 ) ], +"loop": true, +"name": "back", +"speed": 5.0 +}, { +"frames": [ ExtResource( 2 ) ], +"loop": true, +"name": "idle", +"speed": 5.0 +}, { +"frames": [ ExtResource( 8 ) ], +"loop": true, +"name": "slide", +"speed": 5.0 +}, { +"frames": [ ExtResource( 5 ), ExtResource( 6 ) ], +"loop": true, +"name": "walk", +"speed": 5.0 +}, { +"frames": [ ExtResource( 9 ) ], +"loop": true, +"name": "fall", +"speed": 5.0 +}, { +"frames": [ ExtResource( 3 ) ], +"loop": true, +"name": "wall", +"speed": 5.0 +}, { +"frames": [ ExtResource( 7 ) ], +"loop": true, +"name": "jump", +"speed": 5.0 +}, { +"frames": [ ExtResource( 11 ) ], +"loop": true, +"name": "fall_stop_landing", +"speed": 5.0 +}, { +"frames": [ ExtResource( 10 ) ], +"loop": false, +"name": "fall_stop", +"speed": 5.0 +} ] + +[sub_resource type="RectangleShape2D" id=2] +extents = Vector2( 9.21901, 11.2317 ) + +[node name="Character" type="KinematicBody2D"] +script = ExtResource( 1 ) + +[node name="Sprite" type="AnimatedSprite" parent="."] +scale = Vector2( 0.7, 0.7 ) +frames = SubResource( 1 ) +animation = "idle" +playing = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +shape = SubResource( 2 ) + +[node name="CheckFallStop" type="RayCast2D" parent="."] +enabled = true +cast_to = Vector2( 0, 150 ) + +[node name="CheckFallLanding" type="RayCast2D" parent="."] +enabled = true +cast_to = Vector2( 0, 50 ) diff --git a/Enum.gd b/Enum.gd new file mode 100644 index 0000000..8043f71 --- /dev/null +++ b/Enum.gd @@ -0,0 +1,11 @@ +extends Node + + +const DIRECTION = { + LEFT = -1, + RIGHT = 1, +} + +enum PLAYER { + FIRST, SECOND, +} diff --git a/Enum.tscn b/Enum.tscn new file mode 100644 index 0000000..2d64842 --- /dev/null +++ b/Enum.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://Enum.gd" type="Script" id=1] + +[node name="Enum" type="Node"] +script = ExtResource( 1 ) diff --git a/Global.gd b/Global.gd new file mode 100644 index 0000000..d9414c8 --- /dev/null +++ b/Global.gd @@ -0,0 +1,60 @@ +extends Node + + +const Levels = [ + "Level_0001", + "Level_0001", + "Level_0001", + "Level_0001", + "Level_0001", + "Level_0001", + "Level_0001", + "Level_0001", + "Level_0001", +] + +var Level_Map = [] + + +func _ready(): + for level in self.Levels: + self.Level_Map.push_back({ + time = 0, + cleared_by = -1, + meta = { + path = "res://Levels/%s.tscn" % level, + name = level, + }, + }) + + +func change_scene_to_instance(instance): + call_deferred("_deferred_change_scene_to_instance", instance) +func _deferred_change_scene_to_instance(instance): + get_tree().current_scene.free() + get_tree().get_root().add_child(instance) + get_tree().set_current_scene(instance) + + +func get_level(idx): + return self.Level_Map[idx] + + +func start_level(idx): + var global_level = self.get_level(idx) + + var Level = load(global_level.meta.path) + var instance_level = Level.instance() + instance_level.idx = idx + self.change_scene_to_instance(instance_level) + + +func end_level(instance_level): + var global_level = self.get_level(instance_level.idx) + + var time = stepify(instance_level.timer, 0.01) + if (global_level.time == 0 or time < global_level.time): + global_level.time = time + global_level.cleared_by = randi() & 1 + + get_tree().change_scene("res://UI/LevelSelect.tscn") diff --git a/Global.tscn b/Global.tscn new file mode 100644 index 0000000..ae76f0e --- /dev/null +++ b/Global.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://Global.gd" type="Script" id=1] + +[node name="Global" type="Node"] +script = ExtResource( 1 ) diff --git a/Levels/Level.gd b/Levels/Level.gd new file mode 100644 index 0000000..f47f3a0 --- /dev/null +++ b/Levels/Level.gd @@ -0,0 +1,30 @@ +extends Node2D + + +export var starting_position = Vector2(0, 0) +export var camera_limit_left = 0 +export var camera_limit_top = 0 +export var camera_limit_right = 0 +export var camera_limit_bottom = 0 + + +var idx = 0 + +var HUD = CanvasLayer.new() + +var timer = 0 +var LabelTimer = preload("res://UI/HUD/Timer.tscn").instance() + + +func _ready(): + self.HUD.add_child(self.LabelTimer) + self.add_child(self.HUD) + + +func _process(delta): + self.timer += delta + self.LabelTimer.text = "%.2fs" % self.timer + + +func end_level(): + Global.end_level(self) diff --git a/Levels/Level_0001.gd b/Levels/Level_0001.gd new file mode 100644 index 0000000..3fffc27 --- /dev/null +++ b/Levels/Level_0001.gd @@ -0,0 +1,5 @@ +extends "res://Levels/Level.gd" + + +func _ready(): + pass diff --git a/Levels/Level_0001.tscn b/Levels/Level_0001.tscn new file mode 100644 index 0000000..bbae830 --- /dev/null +++ b/Levels/Level_0001.tscn @@ -0,0 +1,35 @@ +[gd_scene load_steps=5 format=2] + +[ext_resource path="res://Assets/platforms.tres" type="TileSet" id=1] +[ext_resource path="res://Character.tscn" type="PackedScene" id=2] +[ext_resource path="res://Objects/Flag.tscn" type="PackedScene" id=3] +[ext_resource path="res://Levels/Level_0001.gd" type="Script" id=4] + +[node name="Level_0001" type="Node2D"] +script = ExtResource( 4 ) +startingPosition = Vector2( 144.471, 115.947 ) +cameraLimitRight = 700 +cameraLimitBottom = 500 + +[node name="TileMap" type="TileMap" parent="."] +tile_set = ExtResource( 1 ) +cell_size = Vector2( 16, 16 ) +format = 1 +tile_data = PoolIntArray( 327692, 0, 6, 327693, 0, 8, 393228, 0, 65542, 393229, 0, 65545, 458764, 0, 65542, 458765, 0, 65545, 524295, 0, 0, 524296, 0, 1, 524297, 0, 1, 524298, 0, 1, 524299, 0, 1, 524300, 0, 65542, 524301, 0, 65545, 524302, 0, 1, 524303, 0, 1, 524304, 0, 1, 524305, 0, 1, 524306, 0, 1, 524307, 0, 2, 589836, 0, 131078, 589837, 0, 131080, 720918, 0, 0, 720919, 0, 1, 720920, 0, 1, 720921, 0, 1, 720922, 0, 1, 720923, 0, 1, 720924, 0, 1, 720925, 0, 1, 720926, 0, 1, 720927, 0, 1, 720928, 0, 1, 720929, 0, 1, 720930, 0, 1, 720931, 0, 1, 720932, 0, 1, 720933, 0, 1, 720934, 0, 1, 720935, 0, 1, 720936, 0, 1, 720937, 0, 2, 917518, 0, 6, 917519, 0, 8, 917523, 0, 6, 917524, 0, 8, 983054, 0, 65542, 983055, 0, 65545, 983059, 0, 65542, 983060, 0, 65545, 1048590, 0, 65542, 1048591, 0, 65545, 1048595, 0, 65542, 1048596, 0, 65545, 1114126, 0, 65542, 1114127, 0, 65545, 1114131, 0, 65542, 1114132, 0, 65545, 1179662, 0, 65542, 1179663, 0, 65545, 1179667, 0, 65542, 1179668, 0, 65545, 1245198, 0, 65542, 1245199, 0, 65545, 1245203, 0, 65542, 1245204, 0, 65545, 1310734, 0, 65542, 1310735, 0, 65545, 1310739, 0, 65542, 1310740, 0, 65545, 1376270, 0, 65542, 1376271, 0, 65545, 1376275, 0, 65542, 1376276, 0, 65545, 1441806, 0, 65542, 1441807, 0, 65545, 1441811, 0, 65542, 1441812, 0, 65545, 1507342, 0, 65542, 1507343, 0, 65545, 1507347, 0, 65542, 1507348, 0, 65545, 1572878, 0, 65542, 1572879, 0, 65545, 1572883, 0, 65542, 1572884, 0, 65545, 1638414, 0, 65542, 1638415, 0, 65545, 1638419, 0, 65542, 1638420, 0, 65545, 1703950, 0, 131078, 1703951, 0, 131080, 1703955, 0, 131078, 1703956, 0, 131080, 1900544, 0, 0, 1900545, 0, 1, 1900546, 0, 1, 1900547, 0, 1, 1900548, 0, 1, 1900549, 0, 1, 1900550, 0, 1, 1900551, 0, 1, 1900552, 0, 1, 1900553, 0, 1, 1900554, 0, 1, 1900555, 0, 1, 1900556, 0, 1, 1900557, 0, 1, 1900558, 0, 1, 1900559, 0, 1, 1900560, 0, 1, 1900561, 0, 1, 1900562, 0, 1, 1900563, 0, 1, 1900564, 0, 1, 1900565, 0, 2 ) + +[node name="Flag" parent="." instance=ExtResource( 3 )] +position = Vector2( 602.469, 111.673 ) + +[node name="Character" parent="." instance=ExtResource( 2 )] +position = Vector2( 144.471, 115.947 ) + +[node name="Camera2D" type="Camera2D" parent="Character"] +current = true +zoom = Vector2( 0.5, 0.5 ) +limit_left = 0 +limit_top = 0 +limit_right = 700 +limit_bottom = 500 +drag_margin_h_enabled = true +drag_margin_v_enabled = true +editor_draw_limits = true diff --git a/Objects/Flag.gd b/Objects/Flag.gd new file mode 100644 index 0000000..bdb2237 --- /dev/null +++ b/Objects/Flag.gd @@ -0,0 +1,6 @@ +extends Area2D + + +func _on_Flag_body_entered(body): + body.check_flag() + get_parent().end_level() diff --git a/Objects/Flag.tscn b/Objects/Flag.tscn new file mode 100644 index 0000000..0cc1c35 --- /dev/null +++ b/Objects/Flag.tscn @@ -0,0 +1,19 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://icon.png" type="Texture" id=1] +[ext_resource path="res://Objects/Flag.gd" type="Script" id=2] + +[sub_resource type="RectangleShape2D" id=1] +extents = Vector2( 64.2993, 64.1957 ) + +[node name="Flag" type="Area2D"] +script = ExtResource( 2 ) + +[node name="Sprite" type="Sprite" parent="."] +scale = Vector2( 0.25, 0.25 ) +texture = ExtResource( 1 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +scale = Vector2( 0.25, 0.25 ) +shape = SubResource( 1 ) +[connection signal="body_entered" from="." to="." method="_on_Flag_body_entered"] diff --git a/UI/HUD/Timer.tscn b/UI/HUD/Timer.tscn new file mode 100644 index 0000000..93a3512 --- /dev/null +++ b/UI/HUD/Timer.tscn @@ -0,0 +1,13 @@ +[gd_scene format=2] + +[node name="Timer" type="Label"] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 10.0 +margin_top = 10.0 +margin_right = 10.0 +margin_bottom = 10.0 +text = "0.00s" +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/UI/LevelSelect.gd b/UI/LevelSelect.gd new file mode 100644 index 0000000..c173a7b --- /dev/null +++ b/UI/LevelSelect.gd @@ -0,0 +1,23 @@ +extends Control + + +func _ready(): + var Cell = load("res://UI/LevelSelectCell.tscn") + + for idx in range(9): + var level = Global.get_level(idx) + var cell = Cell.instance() + cell.level_idx = idx + cell.set_rect_size(1024/3, 600/3) + var column = idx % 3 + var row = idx / 3 + cell.rect_position.x = cell.rect_size.x*column + cell.rect_position.y = cell.rect_size.y*row + cell.connect("gui_input", self, '_button_pressed', [idx]) + self.add_child(cell) + + +func _button_pressed(event, idx): + if event is InputEventMouseButton or event is InputEventKey: + if event.pressed: + Global.start_level(idx) diff --git a/UI/LevelSelect.tscn b/UI/LevelSelect.tscn new file mode 100644 index 0000000..ef31cde --- /dev/null +++ b/UI/LevelSelect.tscn @@ -0,0 +1,11 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://UI/LevelSelect.gd" type="Script" id=1] + +[node name="LevelSelect" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/UI/LevelSelectCell.gd b/UI/LevelSelectCell.gd new file mode 100644 index 0000000..1bd1366 --- /dev/null +++ b/UI/LevelSelectCell.gd @@ -0,0 +1,23 @@ +extends Panel + + +var level_idx = 0 + + +func _ready(): + var level = Global.get_level(self.level_idx) + + $ClearMark.text = "" + if level.cleared_by == Enum.PLAYER.FIRST: + $ClearMark.text = "X" + elif level.cleared_by == Enum.PLAYER.SECOND: + $ClearMark.text = "O" + + $Time.text = String(level.time) + "s" + + +func set_rect_size(x, y): + self.rect_size.x = x + self.rect_size.y = y + $ClearMark.rect_size.x = x + $ClearMark.rect_size.y = y diff --git a/UI/LevelSelectCell.tscn b/UI/LevelSelectCell.tscn new file mode 100644 index 0000000..968e913 --- /dev/null +++ b/UI/LevelSelectCell.tscn @@ -0,0 +1,58 @@ +[gd_scene load_steps=7 format=2] + +[ext_resource path="res://UI/LevelSelectCell.gd" type="Script" id=1] +[ext_resource path="res://Assets/Fonts/geometry-soft-pro/Geometry_Soft_Pro-Bold_N.otf" type="DynamicFontData" id=2] +[ext_resource path="res://Assets/Fonts/impact-label/Impact_Label_Reversed.ttf" type="DynamicFontData" id=3] + +[sub_resource type="StyleBoxFlat" id=1] +bg_color = Color( 0.133333, 0.372549, 0.188235, 1 ) +border_width_left = 1 +border_width_top = 1 +border_width_right = 1 +border_width_bottom = 1 + +[sub_resource type="DynamicFont" id=2] +size = 120 +font_data = ExtResource( 3 ) + +[sub_resource type="DynamicFont" id=3] +size = 20 +outline_size = 2 +outline_color = Color( 0, 0, 0, 1 ) +font_data = ExtResource( 2 ) + +[node name="LevelSelectCell" type="Panel"] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_right = -683.0 +margin_bottom = -400.0 +hint_tooltip = "Select Level" +custom_styles/panel = SubResource( 1 ) +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="ClearMark" type="Label" parent="."] +margin_top = 1.0 +margin_right = 341.0 +margin_bottom = 201.0 +custom_fonts/font = SubResource( 2 ) +text = "X" +align = 1 +valign = 1 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Time" type="Label" parent="."] +margin_left = 7.0 +margin_top = 3.0 +margin_right = 54.0 +margin_bottom = 24.0 +custom_fonts/font = SubResource( 3 ) +text = "0.00s" +valign = 1 +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/default_env.tres b/default_env.tres new file mode 100644 index 0000000..20207a4 --- /dev/null +++ b/default_env.tres @@ -0,0 +1,7 @@ +[gd_resource type="Environment" load_steps=2 format=2] + +[sub_resource type="ProceduralSky" id=1] + +[resource] +background_mode = 2 +background_sky = SubResource( 1 ) diff --git a/icon.png b/icon.png new file mode 100644 index 0000000..5f7f827 Binary files /dev/null and b/icon.png differ diff --git a/icon.png.import b/icon.png.import new file mode 100644 index 0000000..96cbf46 --- /dev/null +++ b/icon.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icon.png" +dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/project.godot b/project.godot new file mode 100644 index 0000000..19ec07a --- /dev/null +++ b/project.godot @@ -0,0 +1,46 @@ +; Engine configuration file. +; It's best edited using the editor UI and not directly, +; since the parameters that go here are not all obvious. +; +; Format: +; [section] ; section goes between [] +; param=value ; assign values to parameters + +config_version=4 + +_global_script_classes=[ ] +_global_script_class_icons={ + +} + +[application] + +config/name="TicTacTux" +config/icon="res://icon.png" + +[autoload] + +Global="*res://Global.gd" +Enum="*res://Enum.gd" + +[input] + +ui_accept={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777221,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777222,"unicode":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":0,"pressure":0.0,"pressed":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":67,"unicode":0,"echo":false,"script":null) + ] +} +ui_up={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777232,"unicode":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":12,"pressure":0.0,"pressed":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":32,"unicode":0,"echo":false,"script":null) + ] +} + +[rendering] + +environment/default_environment="res://default_env.tres" -- cgit v1.2.3