Merge pull request 'dev' (#57) from dev into main

Reviewed-on: https://code.booklordofthe.dev///Booklordofthedings/GMTK-2024/pulls/57
This commit is contained in:
Booklordofthedings 2024-08-20 16:22:00 +02:00
commit f3173a827e
114 changed files with 3297 additions and 6 deletions

BIN
.DS_Store vendored Normal file

Binary file not shown.

3
.gitignore vendored
View file

@ -12,4 +12,5 @@ export_presets.cfg
# Mono-specific ignores
.mono/
data_*/
mono_crash.*.json
mono_crash.*.json
*.import

BIN
assets/icons.kra Normal file

Binary file not shown.

BIN
assets/icons.kra~ Normal file

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,34 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://d3pbvdemdbxes"
path="res://.godot/imported/CommodoreSixtyFour.ttf-500f068f8657866f33df01894c79f165.fontdata"
[deps]
source_file="res://CommodoreSixtyFour.ttf"
dest_files=["res://.godot/imported/CommodoreSixtyFour.ttf-500f068f8657866f33df01894c79f165.fontdata"]
[params]
Rendering=null
antialiasing=1
generate_mipmaps=false
disable_embedded_bitmaps=true
multichannel_signed_distance_field=false
msdf_pixel_range=8
msdf_size=48
allow_system_fallback=true
force_autohinter=false
hinting=1
subpixel_positioning=1
oversampling=0.0
Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
language_support={}
script_support={}
opentype_features={}

View file

@ -0,0 +1,21 @@
[gd_scene load_steps=3 format=3 uid="uid://7rnltps0ssra"]
[ext_resource type="Shader" path="res://shaders/crt.gdshader" id="2_wxq0n"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_c8ly2"]
shader = ExtResource("2_wxq0n")
shader_parameter/crt_curve = 0.02
shader_parameter/crt_scan_line_color = 0.347
shader_parameter/aperture_grille_rate = 0.4
shader_parameter/rf_switch_esque_blur = 1.0
shader_parameter/white_noise_rate = 0.0
[node name="CanvasLayer" type="CanvasLayer"]
[node name="ColorRect" type="ColorRect" parent="."]
material = SubResource("ShaderMaterial_c8ly2")
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2

View file

@ -0,0 +1,194 @@
[gd_scene load_steps=14 format=4 uid="uid://ba6afuig8bqrg"]
[ext_resource type="PackedScene" uid="uid://s683ua4q2ewm" path="res://menu/PauseMenu.tscn" id="1_dtdta"]
[ext_resource type="PackedScene" uid="uid://snxpqx0ony7s" path="res://objects/Player.tscn" id="1_prjlb"]
[ext_resource type="PackedScene" uid="uid://dii1q3f5dj72y" path="res://objects/CRT.tscn" id="2_mxtem"]
[ext_resource type="Shader" path="res://shaders/scrolling.gdshader" id="3_lcf1n"]
[ext_resource type="Texture2D" uid="uid://bn7cejgxkah8o" path="res://textures/Level 01.png" id="4_p3e10"]
[ext_resource type="Texture2D" uid="uid://c3m4os8kteaix" path="res://textures/level01-spritesheet.png" id="5_wr4v5"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_4uh45"]
size = Vector2(1281, 85.5)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_nnio8"]
size = Vector2(63.75, 738.5)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_h7316"]
size = Vector2(100, 753)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_g6g3g"]
shader = ExtResource("3_lcf1n")
shader_parameter/scroll_speed = 0.02
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_rosol"]
texture = ExtResource("5_wr4v5")
texture_region_size = Vector2i(32, 32)
0:0/0 = 0
0:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
1:0/0 = 0
1:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
2:0/0 = 0
2:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
3:0/0 = 0
3:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
4:0/0 = 0
4:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
5:0/0 = 0
5:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
6:0/0 = 0
6:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
7:0/0 = 0
7:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
8:0/next_alternative_id = 4
8:0/0 = 0
8:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
8:0/1 = 1
8:0/1/flip_v = true
8:0/1/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
8:0/2 = 2
8:0/2/transpose = true
8:0/2/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
8:0/3 = 3
8:0/3/flip_h = true
8:0/3/transpose = true
8:0/3/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
9:0/0 = 0
10:0/0 = 0
11:0/0 = 0
0:1/0 = 0
0:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
1:1/0 = 0
1:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
2:1/0 = 0
2:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
3:1/0 = 0
3:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
4:1/0 = 0
5:1/0 = 0
5:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
6:1/0 = 0
6:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
7:1/0 = 0
7:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
8:1/0 = 0
8:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
9:1/0 = 0
10:1/0 = 0
11:1/0 = 0
0:2/0 = 0
0:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
1:2/0 = 0
1:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
2:2/0 = 0
2:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
3:2/0 = 0
3:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
4:2/0 = 0
4:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
5:2/0 = 0
5:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
6:2/0 = 0
7:2/0 = 0
10:2/0 = 0
11:2/0 = 0
0:3/0 = 0
1:3/0 = 0
2:3/0 = 0
3:3/0 = 0
4:3/0 = 0
5:3/0 = 0
6:3/0 = 0
7:3/0 = 0
10:3/0 = 0
11:3/0 = 0
0:4/0 = 0
1:4/0 = 0
2:4/0 = 0
3:4/0 = 0
4:4/0 = 0
5:4/0 = 0
6:4/0 = 0
7:4/0 = 0
8:4/0 = 0
9:4/0 = 0
10:4/0 = 0
11:4/0 = 0
0:5/0 = 0
1:5/0 = 0
2:5/0 = 0
3:5/0 = 0
4:5/0 = 0
5:5/0 = 0
6:5/0 = 0
7:5/0 = 0
8:5/0 = 0
9:5/0 = 0
10:5/0 = 0
11:5/0 = 0
[sub_resource type="TileSet" id="TileSet_8ddyx"]
tile_size = Vector2i(32, 32)
physics_layer_0/collision_layer = 1
sources/0 = SubResource("TileSetAtlasSource_rosol")
[sub_resource type="RectangleShape2D" id="RectangleShape2D_1vofj"]
size = Vector2(1289, 70.5)
[node name="LevelBase" type="Node"]
[node name="Player" parent="." instance=ExtResource("1_prjlb")]
[node name="CanvasLayer" parent="." instance=ExtResource("2_mxtem")]
visible = false
[node name="Camera2D" type="Camera2D" parent="."]
[node name="Walls" type="StaticBody2D" parent="."]
collision_mask = 6
[node name="Ceiling" type="CollisionShape2D" parent="Walls"]
position = Vector2(3, -206)
shape = SubResource("RectangleShape2D_4uh45")
[node name="LeftWall" type="CollisionShape2D" parent="Walls"]
position = Vector2(-357, 42)
shape = SubResource("RectangleShape2D_nnio8")
[node name="RightWall" type="CollisionShape2D" parent="Walls"]
position = Vector2(367, 16)
shape = SubResource("RectangleShape2D_h7316")
[node name="TextureRect" type="TextureRect" parent="."]
z_index = -100
material = SubResource("ShaderMaterial_g6g3g")
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = -320.0
offset_top = -158.0
offset_right = -320.0
offset_bottom = -158.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("4_p3e10")
stretch_mode = 1
[node name="Layer0" type="TileMapLayer" parent="."]
use_parent_material = true
tile_map_data = PackedByteArray("AAD2//v/AAADAAAAAAD2//z/AAACAAEAAAD2//3/AAACAAEAAAD2//7/AAACAAEAAAD2////AAACAAEAAAD2/wAAAAACAAEAAAD2/wEAAAACAAEAAAD2/wIAAAACAAEAAAD2/wMAAAACAAEAAAD2/wQAAAADAAIAAAAJAPv/AAAFAAAAAAAJAPz/AAAAAAEAAAAJAP3/AAAAAAEAAAAJAP7/AAAAAAEAAAAJAP//AAAAAAEAAAAJAAAAAAAAAAEAAAAJAAEAAAAAAAEAAAAJAAIAAAAAAAEAAAAJAAMAAAAAAAEAAAAJAAQAAAAFAAIAAAD3//v/AAABAAIAAAD4//v/AAABAAIAAAD5//v/AAABAAIAAAD6//v/AAABAAIAAAD7//v/AAABAAIAAAD8//v/AAABAAIAAAD9//v/AAABAAIAAAD+//v/AAABAAIAAAD///v/AAABAAIAAAAAAPv/AAABAAIAAAABAPv/AAABAAIAAAACAPv/AAABAAIAAAADAPv/AAABAAIAAAAEAPv/AAABAAIAAAAFAPv/AAABAAIAAAAGAPv/AAABAAIAAAAHAPv/AAABAAIAAAAIAPv/AAABAAIAAAD3/wQAAAABAAAAAAD4/wQAAAABAAAAAAD5/wQAAAABAAAAAAD6/wQAAAAFAAIAAAD7/wQAAAABAAEAAAD8/wQAAAABAAEAAAD9/wQAAAABAAEAAAD+/wQAAAABAAEAAAD//wQAAAABAAEAAAAAAAQAAAABAAEAAAABAAQAAAADAAIAAAACAAQAAAABAAAAAAADAAQAAAABAAAAAAAEAAQAAAABAAAAAAAFAAQAAAABAAAAAAAGAAQAAAABAAAAAAAHAAQAAAABAAAAAAAIAAQAAAABAAAAAAA=")
tile_set = SubResource("TileSet_8ddyx")
[node name="Ground" type="CharacterBody2D" parent="."]
collision_layer = 2
collision_mask = 4
[node name="Ground" type="CollisionShape2D" parent="Ground"]
position = Vector2(10, 375)
shape = SubResource("RectangleShape2D_1vofj")
[node name="PauseMenu" parent="." instance=ExtResource("1_dtdta")]
visible = false
offset_left = -320.0
offset_top = -160.0
offset_right = -320.0
offset_bottom = -160.0

View file

@ -0,0 +1,192 @@
[gd_scene load_steps=13 format=4 uid="uid://bgrwqfa7lr66a"]
[ext_resource type="PackedScene" uid="uid://ba6afuig8bqrg" path="res://levels/LevelBase.tscn" id="1_hxt4x"]
[ext_resource type="Texture2D" uid="uid://c3m4os8kteaix" path="res://textures/level01-spritesheet.png" id="2_3aspe"]
[ext_resource type="Shader" path="res://shaders/scrolling.gdshader" id="3_kfccg"]
[ext_resource type="Texture2D" uid="uid://bn7cejgxkah8o" path="res://textures/Level 01.png" id="4_eh1te"]
[ext_resource type="PackedScene" uid="uid://d0q0sfati8wk0" path="res://objects/ResizableBlock.tscn" id="5_g32pt"]
[ext_resource type="PackedScene" uid="uid://c168bkledwyya" path="res://objects/Laser.tscn" id="6_kbfc1"]
[ext_resource type="PackedScene" uid="uid://c6g2f7tm7iasr" path="res://objects/PressurePlate.tscn" id="7_5joy3"]
[ext_resource type="PackedScene" uid="uid://d0gpnqknarkg7" path="res://objects/Goal.tscn" id="8_sbr7w"]
[ext_resource type="PackedScene" uid="uid://bvvxwhg4tihng" path="res://menu/level_menu/level_select.tscn" id="9_0dfbn"]
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_a4gjk"]
texture = ExtResource("2_3aspe")
texture_region_size = Vector2i(32, 32)
0:0/0 = 0
0:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
1:0/0 = 0
1:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
2:0/0 = 0
2:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
3:0/0 = 0
3:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
4:0/0 = 0
4:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
5:0/0 = 0
5:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
6:0/0 = 0
6:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
7:0/0 = 0
7:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
8:0/next_alternative_id = 4
8:0/0 = 0
8:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
8:0/1 = 1
8:0/1/flip_v = true
8:0/1/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
8:0/2 = 2
8:0/2/transpose = true
8:0/2/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
8:0/3 = 3
8:0/3/flip_h = true
8:0/3/transpose = true
8:0/3/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
9:0/0 = 0
10:0/0 = 0
11:0/0 = 0
0:1/0 = 0
0:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
1:1/0 = 0
1:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
2:1/0 = 0
2:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
3:1/0 = 0
3:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
4:1/0 = 0
5:1/0 = 0
5:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
6:1/0 = 0
6:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
7:1/0 = 0
7:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
8:1/0 = 0
8:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
9:1/0 = 0
10:1/0 = 0
11:1/0 = 0
0:2/0 = 0
0:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
1:2/0 = 0
1:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
2:2/0 = 0
2:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
3:2/0 = 0
3:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
4:2/0 = 0
4:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
5:2/0 = 0
5:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
6:2/0 = 0
7:2/0 = 0
10:2/0 = 0
11:2/0 = 0
0:3/0 = 0
1:3/0 = 0
2:3/0 = 0
3:3/0 = 0
4:3/0 = 0
5:3/0 = 0
6:3/0 = 0
7:3/0 = 0
10:3/0 = 0
11:3/0 = 0
0:4/0 = 0
1:4/0 = 0
2:4/0 = 0
3:4/0 = 0
4:4/0 = 0
5:4/0 = 0
6:4/0 = 0
7:4/0 = 0
8:4/0 = 0
9:4/0 = 0
10:4/0 = 0
11:4/0 = 0
0:5/0 = 0
1:5/0 = 0
2:5/0 = 0
3:5/0 = 0
4:5/0 = 0
5:5/0 = 0
6:5/0 = 0
7:5/0 = 0
8:5/0 = 0
9:5/0 = 0
10:5/0 = 0
11:5/0 = 0
[sub_resource type="TileSet" id="TileSet_n3khe"]
tile_size = Vector2i(32, 32)
physics_layer_0/collision_layer = 1
sources/0 = SubResource("TileSetAtlasSource_a4gjk")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_mvq46"]
shader = ExtResource("3_kfccg")
shader_parameter/scroll_speed = 0.02
[node name="LevelBase" instance=ExtResource("1_hxt4x")]
[node name="Player" parent="." index="1"]
position = Vector2(-254, 99)
input_pickable = true
[node name="Layer1" type="TileMapLayer" parent="." index="4"]
use_parent_material = true
tile_map_data = PackedByteArray("AAD2//v/AAADAAAAAAD2//z/AAACAAEAAAD2//3/AAABAAEAAAD2//7/AAACAAEAAAD2////AAACAAEAAAD2/wAAAAADAAIAAAD2/wEAAAADAAAAAAD2/wIAAAACAAEAAAD2/wMAAAACAAEAAAD2/wQAAAADAAIAAAAJAPv/AAAFAAAAAAAJAPz/AAAAAAEAAAAJAP3/AAAAAAEAAAAJAP7/AAAAAAEAAAAJAP//AAAAAAEAAAAJAAAAAAAAAAEAAAAJAAEAAAAFAAIAAAAJAAIAAAABAAEAAAAJAAMAAAABAAEAAAAJAAQAAAABAAEAAAD3//v/AAABAAIAAAD4//v/AAABAAIAAAD5//v/AAABAAIAAAD6//v/AAABAAIAAAD7//v/AAABAAIAAAD8//v/AAABAAIAAAD9//v/AAABAAIAAAD+//v/AAABAAIAAAD///v/AAABAAIAAAAAAPv/AAABAAIAAAABAPv/AAABAAIAAAACAPv/AAABAAIAAAADAPv/AAABAAIAAAAEAPv/AAABAAIAAAAFAPv/AAABAAIAAAAGAPv/AAABAAIAAAAHAPv/AAABAAIAAAAIAPv/AAABAAIAAAD3/wQAAAABAAAAAAD4/wQAAAABAAAAAAD5/wQAAAABAAAAAAD6/wQAAAABAAAAAAD7/wQAAAAFAAIAAAD8/wQAAAABAAEAAAD9/wQAAAABAAEAAAD+/wQAAAABAAEAAAD//wQAAAABAAEAAAAAAAQAAAABAAEAAAABAAQAAAABAAEAAAACAAQAAAABAAEAAAADAAQAAAABAAEAAAAEAAQAAAABAAEAAAAFAAQAAAABAAEAAAAGAAQAAAABAAEAAAAHAAQAAAABAAEAAAAIAAQAAAABAAEAAAD7/wMAAAAAAAAAAAD8/wMAAAABAAAAAAD9/wMAAAABAAAAAAD+/wMAAAABAAAAAAD//wIAAAAAAAEAAAD//wEAAAAAAAAAAAAAAAEAAAAEAAIAAAABAAEAAAACAAAAAAABAAIAAAACAAEAAAABAAMAAAADAAIAAAD//wMAAAAFAAIAAAAAAAIAAAABAAEAAAAAAAMAAAABAAEAAAD3/wAAAAABAAAAAAD4/wAAAAABAAAAAAD5/wAAAAABAAAAAAD6/wAAAAAGAAAAAAD7/wAAAAAIAAAAAVD3//3/AAAIAAEAAFD4//3/AAAIAAEAAFD5//3/AAAIAAEAAFD6//3/AAAIAAEAAFD7//3/AAAIAAEAAFD8//3/AAAIAAEAAFD9//3/AAAIAAEAAFD+//3/AAACAAAAAAAAAP//AAABAAIAAAD/////AAAAAAIAAAD///7/AAAHAAAAAAAAAP7/AAACAAAAAAABAP//AAAIAAAAAVD+//7/AAAAAAIAAAAFAAEAAAAAAAAAAAAFAAIAAAAAAAEAAAACAAMAAAABAAAAAAADAAMAAAABAAAAAAAEAAMAAAABAAAAAAAFAAMAAAAFAAIAAAAGAAMAAAABAAEAAAAHAAMAAAABAAEAAAAIAAMAAAABAAEAAAAGAAEAAAABAAAAAAAHAAEAAAABAAAAAAAIAAEAAAABAAAAAAD3/wEAAAABAAIAAAD4/wEAAAABAAIAAAD5/wEAAAABAAIAAAAGAAIAAAABAAEAAAAHAAIAAAABAAEAAAAIAAIAAAABAAEAAAD6/wEAAAACAAIAAAA=")
tile_set = SubResource("TileSet_n3khe")
[node name="TextureRect2" type="TextureRect" parent="." index="5"]
z_index = -100
material = SubResource("ShaderMaterial_mvq46")
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = -320.0
offset_top = -158.0
offset_right = -320.0
offset_bottom = -158.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("4_eh1te")
stretch_mode = 1
[node name="AnimatableBody2D" parent="." index="6" instance=ExtResource("5_g32pt")]
position = Vector2(-65, 64)
[node name="AnimatableBody2D2" parent="." index="7" instance=ExtResource("5_g32pt")]
position = Vector2(-250, -32)
scale = Vector2(0.5, 0.5)
[node name="AnimatableBody2D4" parent="." index="8" instance=ExtResource("5_g32pt")]
position = Vector2(112, 48)
scale = Vector2(0.5, 0.5)
[node name="AnimatableBody2D3" parent="." index="9" instance=ExtResource("5_g32pt")]
position = Vector2(0, -82)
[node name="Laser" parent="." index="10" instance=ExtResource("6_kbfc1")]
position = Vector2(15, 15)
[node name="PressurePlate" parent="." index="11" instance=ExtResource("7_5joy3")]
position = Vector2(-272, -32)
rotation = 1.57987
[node name="Goal" parent="." index="12" instance=ExtResource("8_sbr7w")]
position = Vector2(-272, -112)
next = ExtResource("9_0dfbn")
[node name="Walls" parent="." index="13"]
collision_mask = 22
[node name="Ceiling" parent="Walls" index="0"]
position = Vector2(57, -171)
[node name="LeftWall" parent="Walls" index="1"]
position = Vector2(-320, 26)
[node name="RightWall" parent="Walls" index="2"]
position = Vector2(338, 15)
[node name="Layer0" parent="." index="15"]
visible = false

View file

@ -0,0 +1,25 @@
[gd_scene load_steps=5 format=4 uid="uid://dg4x0lmww373y"]
[ext_resource type="PackedScene" uid="uid://ba6afuig8bqrg" path="res://levels/LevelBase.tscn" id="1_q5hrj"]
[ext_resource type="PackedScene" uid="uid://d0gpnqknarkg7" path="res://objects/Goal.tscn" id="2_gt5hf"]
[ext_resource type="PackedScene" uid="uid://dg4x0lmww373x" path="res://levels/Level_2_Rooms/level_2_room_3.tscn" id="3_8hix8"]
[ext_resource type="PackedScene" uid="uid://cys3y6mvx2r51" path="res://objects/OneTimeBlock.tscn" id="4_odipr"]
[node name="LevelBase" instance=ExtResource("1_q5hrj")]
[node name="Player" parent="." index="0"]
position = Vector2(-266, 112)
[node name="Layer0" parent="." index="5"]
tile_map_data = PackedByteArray("AAD2//v/AAADAAAAAAD2//z/AAACAAEAAAD2//3/AAACAAEAAAD2//7/AAACAAEAAAD2////AAACAAEAAAD2/wAAAAACAAEAAAD2/wEAAAACAAEAAAD2/wIAAAACAAEAAAD2/wMAAAACAAEAAAD2/wQAAAADAAIAAAAJAPv/AAABAAIAAAAJAP7/AAAHAAAAAAAJAP//AAAAAAEAAAAJAAAAAAAAAAEAAAAJAAEAAAAAAAEAAAAJAAIAAAAAAAEAAAAJAAMAAAAAAAEAAAAJAAQAAAAAAAEAAAD3//v/AAABAAIAAAD4//v/AAABAAIAAAD5//v/AAABAAIAAAD6//v/AAABAAIAAAD7//v/AAABAAIAAAD8//v/AAABAAIAAAD9//v/AAABAAIAAAD+//v/AAABAAIAAAD///v/AAABAAIAAAAAAPv/AAABAAIAAAABAPv/AAABAAIAAAACAPv/AAABAAIAAAADAPv/AAABAAIAAAAEAPv/AAABAAIAAAAFAPv/AAABAAIAAAAGAPv/AAABAAIAAAAHAPv/AAABAAIAAAAIAPv/AAABAAIAAAD3/wQAAAACAAAAAAD5/wQAAAAGAAAAAGD6/wQAAAACAAAAAAD9/wQAAAAAAAAAAAD+/wQAAAABAAAAAAD//wQAAAACAAAAAAD5/wMAAAAIAAEAAAD9/wIAAAAAAAIAAAD+/wIAAAACAAIAAAD9/wEAAAAAAAEAAAD+/wEAAAACAAEAAAD9/wAAAAAAAAAAAAD+/wAAAAACAAAAAAABAAIAAAAAAAIAAAABAAEAAAAAAAAAAAACAAEAAAACAAAAAAACAAIAAAACAAIAAAAFAAAAAAAIAAAAAgAGAAAAAAAIAAAAAwAIAP7/AAAIAAEAAFAHAP7/AAAIAAEAAFAGAP7/AAAIAAEAAFAFAP7/AAAIAAEAAFAEAP7/AAAIAAEAAFADAP7/AAAGAAEAAAADAP3/AAACAAAAAAACAP3/AAAHAAAAAAD5////AAAAAAIAAAD6////AAACAAIAAAD5//7/AAAAAAAAAAD6//7/AAACAAAAAAD8//3/AAAIAAAAAgD9//3/AAAIAAEAAFABAP3/AAAIAAAAAgD+//3/AAAIAAEAAFD5/wIAAAAIAAAAAAACAP7/AAAAAAIAAAD///3/AAAIAAAAAwA=")
[node name="Goal" parent="." index="7" instance=ExtResource("2_gt5hf")]
position = Vector2(298, -93)
next = ExtResource("3_8hix8")
[node name="AnimatableBody2D" parent="." index="8" instance=ExtResource("4_odipr")]
position = Vector2(-128, 31)
[node name="AnimatableBody2D2" parent="." index="9" instance=ExtResource("4_odipr")]
position = Vector2(-78, 113)
scale = Vector2(0.5, 0.5)

View file

@ -0,0 +1,37 @@
[gd_scene load_steps=6 format=4 uid="uid://dg4x0lmww373x"]
[ext_resource type="PackedScene" uid="uid://ba6afuig8bqrg" path="res://levels/LevelBase.tscn" id="1_fnfel"]
[ext_resource type="PackedScene" uid="uid://d0q0sfati8wk0" path="res://objects/ResizableBlock.tscn" id="2_myppf"]
[ext_resource type="PackedScene" uid="uid://d0gpnqknarkg7" path="res://objects/Goal.tscn" id="3_ubjab"]
[ext_resource type="PackedScene" uid="uid://bvvxwhg4tihng" path="res://menu/level_menu/level_select.tscn" id="4_2hlyi"]
[ext_resource type="PackedScene" uid="uid://cys3y6mvx2r51" path="res://objects/OneTimeBlock.tscn" id="5_umo3r"]
[node name="LevelBase" instance=ExtResource("1_fnfel")]
[node name="Player" parent="." index="0"]
position = Vector2(-271, -112)
[node name="Block2" parent="." index="4" instance=ExtResource("2_myppf")]
position = Vector2(-48, 127)
scale = Vector2(0.5, 0.5)
[node name="Goal" parent="." index="5" instance=ExtResource("3_ubjab")]
position = Vector2(-72, -97)
next = ExtResource("4_2hlyi")
[node name="TextureRect" parent="." index="6"]
offset_left = -319.0
offset_right = -319.0
[node name="Layer0" parent="." index="7"]
tile_map_data = PackedByteArray("AAD2//v/AAADAAAAAAD2//z/AAACAAEAAAD2//3/AAACAAEAAAD2//7/AAACAAEAAAD2////AAACAAEAAAD2/wAAAAACAAEAAAD2/wEAAAACAAEAAAD2/wIAAAACAAEAAAD2/wMAAAACAAEAAAD2/wQAAAADAAIAAAAJAPv/AAAFAAAAAAAJAPz/AAAAAAEAAAAJAP3/AAAAAAEAAAAJAP7/AAAAAAEAAAAJAP//AAAAAAEAAAAJAAAAAAABAAEAAAAJAAEAAAABAAEAAAAJAAIAAAABAAEAAAAJAAMAAAABAAEAAAAJAAQAAAABAAEAAAD3//v/AAABAAIAAAD4//v/AAABAAIAAAD5//v/AAABAAIAAAD6//v/AAABAAIAAAD7//v/AAAFAAAAAAD8//v/AAADAAAAAAD9//v/AAABAAIAAAD+//v/AAABAAIAAAD///v/AAABAAIAAAAAAPv/AAABAAIAAAABAPv/AAAFAAAAAAACAPv/AAADAAAAAAADAPv/AAABAAIAAAAEAPv/AAABAAIAAAAFAPv/AAABAAIAAAAGAPv/AAABAAIAAAAHAPv/AAABAAIAAAAIAPv/AAABAAIAAAD6/wQAAAAAAAEAAAD7/wQAAAACAAEAAAABAAQAAAAAAAEAAAACAAQAAAACAAEAAAAHAAQAAAAAAAEAAAAIAAQAAAABAAEAAAD3//7/AAAIAAEAAFD4//7/AAAIAAAAAwD7//z/AAAAAAEAAAD7//3/AAAAAAEAAAD7//7/AAAAAAEAAAD7////AAAAAAIAAAD8////AAABAAIAAAD8//7/AAADAAIAAAD9//7/AAAGAAAAAAD///7/AAAIAAEAAFD+//7/AAAIAAEAAFABAPz/AAAAAAIAAAAAAP7/AAAIAAEAAFABAP7/AAAIAAEAAFACAP7/AAAIAAEAAFADAP7/AAAIAAEAAFAEAP7/AAAIAAAAAwAIAAAAAAABAAAAAAAHAAAAAAAAAAAAAAAHAAEAAAAAAAEAAAAHAAIAAAAAAAEAAAAHAAMAAAAAAAEAAAAIAAMAAAABAAEAAAAIAAIAAAABAAEAAAAIAAEAAAABAAEAAAD6/wIAAAAAAAAAAAD7/wIAAAACAAAAAAD6/wMAAAAAAAEAAAD7/wMAAAACAAEAAAABAAIAAAAAAAAAAAABAAMAAAAAAAEAAAACAAIAAAACAAAAAAACAAMAAAACAAEAAAD8//z/AAACAAEAAAD8//3/AAACAAEAAAD9////AAACAAIAAAACAPz/AAACAAIAAAA=")
[node name="AnimatableBody2D" parent="." index="9" instance=ExtResource("5_umo3r")]
position = Vector2(-192, -39)
[node name="AnimatableBody2D2" parent="." index="10" instance=ExtResource("5_umo3r")]
position = Vector2(258, -96)
[node name="AnimatableBody2D3" parent="." index="11" instance=ExtResource("5_umo3r")]
position = Vector2(64, -80)
scale = Vector2(0.5, 0.5)

View file

@ -0,0 +1,26 @@
[gd_scene load_steps=6 format=4 uid="uid://bafs3yuts8e3v"]
[ext_resource type="PackedScene" uid="uid://ba6afuig8bqrg" path="res://levels/LevelBase.tscn" id="1_t601r"]
[ext_resource type="PackedScene" uid="uid://biaxahxft1xo0" path="res://objects/box_pushable_2.tscn" id="2_12bbn"]
[ext_resource type="PackedScene" uid="uid://cys3y6mvx2r51" path="res://objects/OneTimeBlock.tscn" id="3_rf2v0"]
[ext_resource type="PackedScene" uid="uid://d0gpnqknarkg7" path="res://objects/Goal.tscn" id="4_3ywhr"]
[ext_resource type="PackedScene" uid="uid://n2culjgg5aji" path="res://objects/LevelComplete.tscn" id="5_112df"]
[node name="LevelBase" instance=ExtResource("1_t601r")]
[node name="Player" parent="." index="0"]
position = Vector2(-15, -88)
[node name="Layer0" parent="." index="5"]
tile_map_data = PackedByteArray("AAD2//v/AAADAAAAAAD2//z/AAACAAEAAAD2//3/AAACAAEAAAD2//7/AAACAAEAAAD2////AAACAAEAAAD2/wAAAAACAAEAAAD2/wEAAAACAAEAAAD2/wIAAAACAAEAAAD2/wMAAAACAAEAAAD2/wQAAAACAAEAAAAJAPv/AAAFAAAAAAAJAPz/AAAAAAEAAAAJAP3/AAAAAAEAAAAJAP7/AAAFAAIAAAAJAP//AAAFAAAAAAAJAAAAAAAAAAEAAAAJAAEAAAAAAAEAAAAJAAIAAAAAAAEAAAAJAAMAAAAAAAEAAAAJAAQAAAAFAAIAAAD3//v/AAABAAIAAAD4//v/AAABAAIAAAD5//v/AAABAAIAAAD6//v/AAABAAIAAAD7//v/AAABAAIAAAD8//v/AAABAAIAAAD9//v/AAABAAIAAAD+//v/AAABAAIAAAD///v/AAACAAIAAAAIAPv/AAAAAAIAAAD5/wQAAAAGAAAAAGD6/wQAAAABAAAAAAD7/wQAAAABAAAAAAD8/wQAAAACAAAAAAACAAQAAAAAAAAAAAADAAQAAAABAAAAAAAEAAQAAAABAAAAAAAFAAQAAAABAAAAAAAGAAQAAAABAAAAAAAHAAQAAAABAAAAAAAIAAQAAAABAAAAAAD5//7/AAAAAAAAAAD6//7/AAABAAAAAAD7//7/AAABAAAAAAD8//7/AAABAAAAAAD9//7/AAABAAAAAAD+//7/AAABAAAAAAD///7/AAABAAAAAAAGAP7/AAAAAAAAAAAHAP7/AAABAAAAAAAIAP7/AAABAAAAAAD5////AAAHAAAAAGD6////AAABAAIAAAD7////AAABAAIAAAD8////AAABAAIAAAD9////AAABAAIAAAD+////AAABAAIAAAD/////AAABAAIAAAAAAP//AAABAAIAAAABAP//AAABAAIAAAACAP//AAACAAIAAAAGAP//AAAAAAIAAAAHAP//AAABAAIAAAAIAP//AAABAAIAAAD5/wAAAAAIAAEAAAD5/wEAAAAIAAEAAAD5/wIAAAAIAAEAAAD5/wMAAAAIAAEAAAAAAP7/AAABAAAAAAABAP7/AAABAAAAAAACAP7/AAACAAAAAAD8/wUAAAACAAEAAAD8/wYAAAABAAEAAAD9/wYAAAABAAEAAAD+/wYAAAABAAEAAAD//wYAAAABAAEAAAAAAAYAAAABAAEAAAABAAYAAAABAAEAAAACAAYAAAABAAEAAAADAAYAAAABAAEAAAACAAUAAAAAAAEAAAADAAUAAAABAAEAAAD///r/AAABAAEAAAAAAPr/AAABAAIAAAABAPr/AAABAAIAAAACAPr/AAABAAIAAAADAPr/AAABAAIAAAAEAPr/AAABAAIAAAAFAPr/AAABAAIAAAAGAPr/AAABAAIAAAAHAPr/AAABAAIAAAAIAPr/AAABAAIAAAABAPn/AAABAAIAAAACAPn/AAABAAIAAAADAPn/AAABAAIAAAAEAPn/AAABAAIAAAAFAPn/AAABAAIAAAAGAPn/AAABAAIAAAAHAPn/AAABAAIAAAAIAPn/AAABAAIAAAAJAPn/AAABAAIAAAAJAPr/AAABAAIAAAA=")
[node name="BoxPushable1" parent="." index="7" instance=ExtResource("2_12bbn")]
position = Vector2(49, -96)
collision_mask = 21
[node name="AnimatableBody2D" parent="." index="8" instance=ExtResource("3_rf2v0")]
position = Vector2(-255, -31)
[node name="Goal" parent="." index="9" instance=ExtResource("4_3ywhr")]
position = Vector2(-160, 95)
next = ExtResource("5_112df")

View file

@ -0,0 +1,22 @@
[gd_scene load_steps=4 format=4 uid="uid://dncy4ik2v5axn"]
[ext_resource type="PackedScene" uid="uid://ba6afuig8bqrg" path="res://levels/LevelBase.tscn" id="1_d4hqf"]
[ext_resource type="PackedScene" uid="uid://vtwswrkfkgas" path="res://objects/EnemyMover.tscn" id="3_4yoc7"]
[ext_resource type="PackedScene" uid="uid://d0gpnqknarkg7" path="res://objects/Goal.tscn" id="4_djcls"]
[node name="LevelBase" instance=ExtResource("1_d4hqf")]
[node name="Player" parent="." index="0"]
position = Vector2(-278, 79)
[node name="Layer0" parent="." index="5"]
tile_map_data = PackedByteArray("AAD2//v/AAADAAAAAAD2//z/AAACAAEAAAD2//3/AAACAAEAAAD2//7/AAACAAEAAAD2////AAACAAEAAAD2/wAAAAACAAEAAAD2/wEAAAACAAEAAAD2/wIAAAACAAEAAAD2/wMAAAADAAIAAAD2/wQAAAABAAEAAAAJAPv/AAAFAAAAAAAJAPz/AAAAAAEAAAAJAP3/AAAAAAEAAAAJAP7/AAAFAAIAAAAJAP//AAABAAEAAAAJAAAAAAABAAEAAAAJAAEAAAABAAEAAAAJAAIAAAABAAEAAAAJAAMAAAABAAEAAAAJAAQAAAABAAEAAAD3//v/AAABAAIAAAD4//v/AAABAAIAAAD5//v/AAABAAIAAAD6//v/AAABAAIAAAD7//v/AAABAAIAAAD8//v/AAABAAIAAAD9//v/AAABAAIAAAD+//v/AAABAAIAAAD///v/AAABAAIAAAAAAPv/AAABAAIAAAABAPv/AAABAAIAAAACAPv/AAABAAIAAAADAPv/AAABAAIAAAAEAPv/AAABAAIAAAAFAPv/AAABAAIAAAAGAPv/AAABAAIAAAAHAPv/AAABAAIAAAAIAPv/AAABAAIAAAD3/wQAAAABAAEAAAD4/wQAAAABAAEAAAD5/wQAAAABAAEAAAD6/wQAAAABAAEAAAD7/wQAAAABAAEAAAD8/wQAAAABAAEAAAD9/wQAAAABAAEAAAD+/wQAAAABAAEAAAD//wQAAAABAAEAAAAAAAQAAAABAAEAAAABAAQAAAABAAEAAAACAAQAAAABAAEAAAADAAQAAAABAAEAAAAEAAQAAAABAAEAAAAFAAQAAAABAAEAAAAGAAQAAAABAAEAAAAHAAQAAAABAAEAAAAIAAQAAAABAAEAAAD3/wMAAAABAAAAAAD4/wMAAAAFAAIAAAD4/wIAAAAAAAAAAAD5/wMAAAABAAEAAAD5/wIAAAABAAEAAAD5/wEAAAAAAAAAAAD6/wIAAAABAAEAAAD6/wMAAAABAAEAAAD6/wEAAAABAAAAAAD7/wEAAAAFAAIAAAD7/wIAAAABAAEAAAD7/wMAAAABAAEAAAD8/wMAAAABAAEAAAD8/wIAAAABAAEAAAD8/wEAAAABAAEAAAD8/wAAAAABAAAAAAD7/wAAAAAAAAAAAAD9/wEAAAABAAEAAAD9/wIAAAABAAEAAAD9/wMAAAABAAEAAAD+/wEAAAABAAEAAAD+/wAAAAABAAEAAAD9/wAAAAAFAAIAAAD9////AAAAAAAAAAD+////AAABAAAAAAD+/wIAAAABAAEAAAD+/wMAAAABAAEAAAD//wMAAAABAAEAAAD//wIAAAABAAEAAAD//wEAAAABAAEAAAD//wAAAAABAAEAAAD/////AAAFAAIAAAAAAP7/AAABAAAAAAAAAP//AAABAAEAAAAAAAAAAAABAAEAAAAAAAEAAAABAAEAAAAAAAIAAAABAAEAAAAAAAMAAAABAAEAAAABAAMAAAABAAEAAAABAP7/AAABAAAAAAACAP7/AAABAAAAAAADAP7/AAABAAAAAAAEAP7/AAABAAAAAAAFAP7/AAABAAAAAAAGAP7/AAABAAAAAAAHAP7/AAABAAAAAAAIAP7/AAABAAAAAAAIAP//AAABAAEAAAAHAP//AAABAAEAAAAGAP//AAABAAEAAAAFAP//AAABAAEAAAAEAP//AAABAAEAAAADAP//AAABAAEAAAACAP//AAABAAEAAAABAP//AAABAAEAAAABAAAAAAABAAEAAAACAAAAAAABAAEAAAADAAAAAAABAAEAAAAEAAAAAAABAAEAAAAFAAAAAAABAAEAAAAGAAAAAAABAAEAAAAHAAAAAAABAAEAAAAGAAEAAAABAAEAAAAFAAIAAAABAAEAAAAEAAIAAAABAAEAAAADAAIAAAABAAEAAAACAAIAAAABAAEAAAAGAAIAAAABAAEAAAAHAAIAAAABAAEAAAAIAAEAAAABAAEAAAAHAAEAAAABAAEAAAAFAAEAAAABAAEAAAAEAAEAAAABAAEAAAADAAEAAAABAAEAAAACAAEAAAABAAEAAAABAAEAAAABAAEAAAABAAIAAAABAAEAAAAGAAMAAAABAAEAAAAFAAMAAAABAAEAAAAEAAMAAAABAAEAAAAHAAMAAAABAAEAAAAIAAIAAAABAAEAAAAIAAAAAAABAAEAAAADAAMAAAABAAEAAAACAAMAAAABAAEAAAAIAAMAAAABAAEAAAD///7/AAAAAAAAAAA=")
[node name="Goal" parent="." index="7" instance=ExtResource("4_djcls")]
position = Vector2(267, -103)
[node name="EnemyMover" parent="." index="8" instance=ExtResource("3_4yoc7")]
position = Vector2(36, -84)
[node name="EnemyMover2" parent="." index="9" instance=ExtResource("3_4yoc7")]
position = Vector2(-58, -52)

View file

@ -0,0 +1,38 @@
[gd_scene load_steps=5 format=4 uid="uid://cxsstkfcffdch"]
[ext_resource type="PackedScene" uid="uid://ba6afuig8bqrg" path="res://levels/LevelBase.tscn" id="1_87xn7"]
[ext_resource type="PackedScene" uid="uid://bgrwqfa7lr66a" path="res://levels/Level_1_Rooms/level_1_2.tscn" id="3_usr81"]
[ext_resource type="PackedScene" uid="uid://d0q0sfati8wk0" path="res://objects/ResizableBlock.tscn" id="5_4ggcc"]
[ext_resource type="PackedScene" uid="uid://d0gpnqknarkg7" path="res://objects/Goal.tscn" id="9_xut5w"]
[node name="LevelBase" instance=ExtResource("1_87xn7")]
[node name="Player" parent="." index="1"]
position = Vector2(-254, 99)
input_pickable = true
[node name="Goal" parent="." index="4" instance=ExtResource("9_xut5w")]
position = Vector2(-272, -112)
next = ExtResource("3_usr81")
[node name="Walls" parent="." index="5"]
collision_mask = 22
[node name="Ceiling" parent="Walls" index="0"]
position = Vector2(57, -171)
[node name="LeftWall" parent="Walls" index="1"]
position = Vector2(-320, 26)
[node name="RightWall" parent="Walls" index="2"]
position = Vector2(338, 15)
[node name="Layer0" parent="." index="7"]
tile_map_data = PackedByteArray("AAD2//v/AAADAAAAAAD2//z/AAACAAEAAAD2//3/AAADAAIAAAD2//7/AAABAAEAAAD2////AAABAAEAAAD2/wAAAAABAAEAAAD2/wEAAAADAAAAAAD2/wIAAAACAAEAAAD2/wMAAAACAAEAAAD2/wQAAAADAAIAAAAJAPv/AAAFAAAAAAAJAPz/AAAAAAEAAAAJAP3/AAAAAAEAAAAJAP7/AAAAAAEAAAAJAP//AAAAAAEAAAAJAAAAAAAAAAEAAAAJAAEAAAAAAAEAAAAJAAIAAAAAAAEAAAAJAAMAAAAAAAEAAAAJAAQAAAAFAAIAAAD3//v/AAABAAIAAAD4//v/AAABAAIAAAD5//v/AAABAAIAAAD6//v/AAABAAIAAAD7//v/AAABAAIAAAD8//v/AAABAAIAAAD9//v/AAABAAIAAAD+//v/AAABAAIAAAD///v/AAABAAIAAAAAAPv/AAABAAIAAAABAPv/AAABAAIAAAACAPv/AAABAAIAAAADAPv/AAABAAIAAAAEAPv/AAABAAIAAAAFAPv/AAABAAIAAAAGAPv/AAABAAIAAAAHAPv/AAABAAIAAAAIAPv/AAABAAIAAAD3/wQAAAABAAAAAAD4/wQAAAABAAAAAAD5/wQAAAABAAAAAAD6/wQAAAABAAAAAAD7/wQAAAABAAAAAAD8/wQAAAABAAAAAAD9/wQAAAABAAAAAAD+/wQAAAABAAAAAAD//wQAAAABAAAAAAAAAAQAAAABAAAAAAABAAQAAAABAAAAAAACAAQAAAABAAAAAAADAAQAAAABAAAAAAAEAAQAAAABAAAAAAAFAAQAAAABAAAAAAAGAAQAAAABAAAAAAAHAAQAAAABAAAAAAAIAAQAAAABAAAAAAABAAEAAAAAAAIAAAACAAEAAAACAAIAAAD3////AAABAAEAAAD4////AAACAAEAAAD4/wAAAAACAAEAAAD3/wAAAAABAAEAAAD3/wEAAAABAAIAAAD4/wEAAAACAAIAAAD3//7/AAABAAEAAAD4//7/AAACAAEAAAD3//3/AAABAAAAAAD4//3/AAACAAAAAAABAAAAAAAAAAAAAAACAAAAAAACAAAAAAA=")
[node name="AnimatableBody2D" parent="." index="8" instance=ExtResource("5_4ggcc")]
position = Vector2(252, 96)
[node name="AnimatableBody2D2" parent="." index="9" instance=ExtResource("5_4ggcc")]
position = Vector2(-134, 40)
scale = Vector2(0.5, 0.5)

View file

@ -0,0 +1,25 @@
[gd_scene load_steps=5 format=4 uid="uid://sxx7ndv28mey"]
[ext_resource type="PackedScene" uid="uid://ba6afuig8bqrg" path="res://levels/LevelBase.tscn" id="1_y0h5c"]
[ext_resource type="PackedScene" uid="uid://cys3y6mvx2r51" path="res://objects/OneTimeBlock.tscn" id="2_1apa4"]
[ext_resource type="PackedScene" uid="uid://d0gpnqknarkg7" path="res://objects/Goal.tscn" id="4_b8j1s"]
[ext_resource type="PackedScene" uid="uid://dg4x0lmww373y" path="res://levels/Level_2_Rooms/level_2_room_2.tscn" id="4_tx4ww"]
[node name="LevelBase" instance=ExtResource("1_y0h5c")]
[node name="Player" parent="." index="0"]
position = Vector2(-273, 111)
[node name="Layer0" parent="." index="5"]
tile_map_data = PackedByteArray("AAD2//v/AAADAAAAAAD2//z/AAACAAEAAAD2//3/AAACAAEAAAD2//7/AAADAAIAAAD2////AAABAAEAAAD2/wAAAAABAAEAAAD2/wEAAAADAAAAAAD2/wIAAAACAAEAAAD2/wMAAAACAAEAAAD2/wQAAAADAAIAAAAJAPv/AAABAAEAAAAJAPz/AAABAAEAAAAJAP3/AAABAAEAAAAJAP7/AAABAAEAAAAJAP//AAABAAEAAAAJAAAAAAABAAEAAAAJAAEAAAAFAAAAAAAJAAIAAAAAAAEAAAAJAAMAAAAAAAEAAAAJAAQAAAAFAAIAAAD3//v/AAABAAIAAAD4//v/AAABAAIAAAD5//v/AAABAAIAAAD6//v/AAABAAIAAAD7//v/AAABAAIAAAD8//v/AAABAAIAAAD9//v/AAABAAIAAAD+//v/AAABAAIAAAD///v/AAABAAIAAAAAAPv/AAABAAIAAAABAPv/AAABAAIAAAACAPv/AAABAAIAAAADAPv/AAABAAIAAAAEAPv/AAABAAIAAAAFAPv/AAABAAIAAAAGAPv/AAABAAIAAAAHAPv/AAAFAAAAAAAIAPv/AAABAAEAAAD3/wQAAAABAAAAAAD4/wQAAAABAAAAAAD5/wQAAAABAAAAAAD6/wQAAAABAAAAAAD7/wQAAAABAAAAAAD8/wQAAAABAAAAAAD9/wQAAAABAAAAAAD+/wQAAAABAAAAAAD//wQAAAABAAAAAAAAAAQAAAABAAAAAAABAAQAAAABAAAAAAACAAQAAAABAAAAAAADAAQAAAABAAAAAAAEAAQAAAABAAAAAAAFAAQAAAABAAAAAAAGAAQAAAABAAAAAAAHAAQAAAABAAAAAAAIAAQAAAABAAAAAAD3/wEAAAABAAIAAAD4/wEAAAABAAIAAAD5/wEAAAABAAIAAAD6/wEAAAABAAIAAAD7/wEAAAABAAIAAAD8/wEAAAABAAIAAAD9/wEAAAABAAIAAAD+/wEAAAABAAIAAAD//wEAAAABAAIAAAAAAAEAAAABAAIAAAABAAEAAAAGAAEAAAACAAEAAAAIAAAAAwABAAAAAAACAAAAAAAAAAAAAAABAAAAAAD//wAAAAABAAAAAAD+/wAAAAABAAAAAAD9/wAAAAADAAIAAAD8/wAAAAABAAEAAAD7/wAAAAABAAEAAAD6/wAAAAABAAEAAAD5/wAAAAABAAEAAAD4/wAAAAABAAEAAAD3/wAAAAABAAEAAAD3////AAABAAEAAAD4////AAABAAEAAAD5////AAADAAIAAAD6////AAABAAAAAAD7////AAABAAAAAAD8////AAABAAAAAAD9////AAACAAAAAAD3//7/AAABAAAAAAD4//7/AAABAAAAAAD5//7/AAACAAAAAAAEAAEAAAAIAAAAAgAFAAEAAAAIAAEAAFAGAAEAAAAHAAEAAAAHAAEAAAABAAIAAAAIAAEAAAABAAIAAAAGAAAAAAAAAAAAAAAHAAAAAAAFAAIAAAAHAP//AAAFAAEAAAAHAP7/AAAFAAEAAAAHAP3/AAAFAAEAAAAHAPz/AAAFAAEAAAAIAPz/AAABAAEAAAAIAP3/AAABAAEAAAAIAP7/AAABAAEAAAAIAP//AAABAAEAAAAIAAAAAAABAAEAAAA=")
[node name="AnimatableBody2D" parent="." index="7" instance=ExtResource("2_1apa4")]
position = Vector2(-131, 97)
[node name="AnimatableBody2D2" parent="." index="8" instance=ExtResource("2_1apa4")]
position = Vector2(112, 48)
scale = Vector2(0.5, 0.5)
[node name="Goal" parent="." index="9" instance=ExtResource("4_b8j1s")]
position = Vector2(-264, -93)
next = ExtResource("4_tx4ww")

View file

@ -0,0 +1,30 @@
[gd_scene load_steps=7 format=4 uid="uid://badb2xvsbtm5j"]
[ext_resource type="PackedScene" uid="uid://ba6afuig8bqrg" path="res://levels/LevelBase.tscn" id="1_eq270"]
[ext_resource type="PackedScene" uid="uid://d0q0sfati8wk0" path="res://objects/ResizableBlock.tscn" id="2_fn1kh"]
[ext_resource type="PackedScene" uid="uid://bafs3yuts8e3v" path="res://levels/Level_3_Rooms/level_3_room_2.tscn" id="3_xtvsr"]
[ext_resource type="PackedScene" uid="uid://d0gpnqknarkg7" path="res://objects/Goal.tscn" id="4_c4pjs"]
[ext_resource type="PackedScene" uid="uid://d17jpcgayfg6i" path="res://objects/BoxPushable_1.tscn" id="4_jr6tv"]
[ext_resource type="PackedScene" uid="uid://cys3y6mvx2r51" path="res://objects/OneTimeBlock.tscn" id="5_1h3gw"]
[node name="LevelBase" instance=ExtResource("1_eq270")]
[node name="Player" parent="." index="0"]
position = Vector2(-261, 46)
[node name="Layer0" parent="." index="5"]
tile_map_data = PackedByteArray("AAD2//v/AAADAAAAAAD2//z/AAACAAEAAAD2//3/AAACAAEAAAD2//7/AAADAAIAAAD2////AAADAAAAAAD2/wAAAAACAAEAAAD2/wEAAAACAAEAAAD2/wIAAAADAAIAAAD2/wMAAAABAAEAAAD2/wQAAAABAAEAAAAJAPv/AAAFAAAAAAAJAPz/AAAAAAEAAAAJAP3/AAAAAAEAAAAJAP7/AAAAAAEAAAAJAP//AAAAAAEAAAAJAAAAAAAAAAEAAAAJAAEAAAAAAAEAAAAJAAIAAAAFAAIAAAAJAAMAAAABAAEAAAAJAAQAAAABAAEAAAD3//v/AAABAAIAAAD4//v/AAABAAIAAAD5//v/AAABAAIAAAD6//v/AAABAAIAAAD7//v/AAABAAIAAAD8//v/AAABAAIAAAD9//v/AAABAAIAAAD+//v/AAABAAIAAAD///v/AAABAAIAAAAAAPv/AAABAAIAAAABAPv/AAABAAIAAAACAPv/AAABAAIAAAADAPv/AAABAAIAAAAEAPv/AAABAAIAAAAFAPv/AAABAAIAAAAGAPv/AAABAAIAAAAHAPv/AAABAAIAAAAIAPv/AAABAAIAAAD3/wQAAAABAAEAAAD4/wQAAAABAAEAAAD5/wQAAAADAAIAAAD6/wQAAAABAAAAAAD7/wQAAAABAAAAAAD8/wQAAAABAAAAAAD9/wQAAAABAAAAAAD+/wQAAAABAAAAAAD//wQAAAABAAAAAAAAAAQAAAABAAAAAAABAAQAAAABAAAAAAACAAQAAAABAAAAAAADAAQAAAABAAAAAAAEAAQAAAABAAAAAAAFAAQAAAABAAAAAAAGAAQAAAAFAAIAAAAHAAQAAAABAAEAAAAIAAQAAAABAAEAAAD3/wIAAAABAAAAAAD4/wIAAAABAAAAAAD5/wIAAAACAAAAAAD5/wMAAAACAAEAAAD3/wMAAAABAAEAAAD4/wMAAAABAAEAAAAGAAMAAAAAAAEAAAAGAAIAAAAAAAAAAAAHAAIAAAABAAAAAAAHAAMAAAABAAEAAAAIAAIAAAABAAAAAAAIAAMAAAABAAEAAAAFAP//AAACAAIAAAAEAP//AAABAAIAAAADAP//AAABAAIAAAACAP//AAABAAIAAAAAAP//AAABAAIAAAABAP//AAABAAIAAAAFAP7/AAAGAAEAAGAFAP3/AAAIAAAAAAD/////AAABAAIAAAD+////AAABAAIAAAD9////AAABAAIAAAD8////AAABAAIAAAD7////AAABAAIAAAD6////AAABAAIAAAD5////AAABAAIAAAD4////AAABAAIAAAAEAP7/AAABAAAAAAADAP7/AAABAAAAAAACAP7/AAABAAAAAAABAP7/AAABAAAAAAAAAP7/AAABAAAAAAD///7/AAABAAAAAAD+//7/AAABAAAAAAD3////AAABAAIAAAD9//7/AAABAAAAAAD8//7/AAABAAAAAAD7//7/AAABAAAAAAD6//7/AAABAAAAAAD5//7/AAABAAAAAAD4//7/AAABAAAAAAD3//7/AAABAAAAAAA=")
[node name="Goal" parent="." index="7" instance=ExtResource("4_c4pjs")]
position = Vector2(-257, -95)
next = ExtResource("3_xtvsr")
[node name="BoxPushable1" parent="." index="8" instance=ExtResource("4_jr6tv")]
position = Vector2(-75, 112)
[node name="AnimatableBody2D" parent="." index="9" instance=ExtResource("5_1h3gw")]
position = Vector2(-163, 96)
[node name="AnimatableBody2D2" parent="." index="10" instance=ExtResource("2_fn1kh")]
position = Vector2(259, 34)
scale = Vector2(0.5, 0.5)

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,87 @@
[gd_scene load_steps=5 format=3 uid="uid://s683ua4q2ewm"]
[ext_resource type="Theme" uid="uid://cohbys634cf18" path="res://menu/main_menu/MainMenuTheme.tres" id="1_fna2g"]
[ext_resource type="PackedScene" uid="uid://dii1q3f5dj72y" path="res://objects/CRT.tscn" id="2_vaod1"]
[ext_resource type="Script" path="res://scripts/pause_menu_control.gd" id="3_tyr11"]
[ext_resource type="FontFile" uid="uid://d3pbvdemdbxes" path="res://CommodoreSixtyFour.ttf" id="4_u4plf"]
[node name="PauseMenu" type="MarginContainer"]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme = ExtResource("1_fna2g")
[node name="CanvasLayer" parent="." instance=ExtResource("2_vaod1")]
[node name="ColorRect" type="ColorRect" parent="."]
layout_mode = 2
color = Color(0, 0, 0, 1)
[node name="Control" type="Control" parent="."]
layout_mode = 2
script = ExtResource("3_tyr11")
[node name="VBoxContainer" type="VBoxContainer" parent="Control"]
layout_mode = 0
offset_right = 40.0
offset_bottom = 40.0
[node name="VBoxContainer2" type="VBoxContainer" parent="Control/VBoxContainer"]
layout_mode = 2
[node name="Label" type="Label" parent="Control/VBoxContainer/VBoxContainer2"]
layout_mode = 2
[node name="Buttons" type="VBoxContainer" parent="Control/VBoxContainer"]
layout_mode = 2
[node name="HBoxContainer" type="HBoxContainer" parent="Control/VBoxContainer/Buttons"]
visible = false
layout_mode = 2
[node name="Label" type="Label" parent="Control/VBoxContainer/Buttons/HBoxContainer"]
custom_minimum_size = Vector2(8, 0)
layout_mode = 2
theme_override_fonts/font = ExtResource("4_u4plf")
text = ">"
[node name="continue" type="Button" parent="Control/VBoxContainer/Buttons/HBoxContainer"]
layout_mode = 2
text = "continue"
flat = true
[node name="HBoxContainer2" type="HBoxContainer" parent="Control/VBoxContainer/Buttons"]
visible = false
layout_mode = 2
[node name="Label" type="Label" parent="Control/VBoxContainer/Buttons/HBoxContainer2"]
custom_minimum_size = Vector2(8, 0)
layout_mode = 2
theme_override_fonts/font = ExtResource("4_u4plf")
text = ">"
[node name="restart" type="Button" parent="Control/VBoxContainer/Buttons/HBoxContainer2"]
layout_mode = 2
text = "restart"
flat = true
[node name="HBoxContainer3" type="HBoxContainer" parent="Control/VBoxContainer/Buttons"]
visible = false
layout_mode = 2
[node name="Label" type="Label" parent="Control/VBoxContainer/Buttons/HBoxContainer3"]
custom_minimum_size = Vector2(8, 0)
layout_mode = 2
theme_override_fonts/font = ExtResource("4_u4plf")
text = ">"
[node name="main menu" type="Button" parent="Control/VBoxContainer/Buttons/HBoxContainer3"]
layout_mode = 2
text = "main menu"
flat = true
[connection signal="pressed" from="Control/VBoxContainer/Buttons/HBoxContainer/continue" to="Control" method="_on_continue_button_pressed"]
[connection signal="pressed" from="Control/VBoxContainer/Buttons/HBoxContainer2/restart" to="Control" method="_on_restart_button_pressed"]
[connection signal="pressed" from="Control/VBoxContainer/Buttons/HBoxContainer3/main menu" to="Control" method="_on_back_to_main_menu_button_pressed"]

View file

@ -0,0 +1,49 @@
[gd_scene load_steps=7 format=3 uid="uid://t83eid7pf4iv"]
[ext_resource type="FontFile" uid="uid://d3pbvdemdbxes" path="res://CommodoreSixtyFour.ttf" id="3_732s0"]
[ext_resource type="Texture2D" uid="uid://dvk7nu7pp4fl3" path="res://textures/File-Icon-Sheet.png" id="3_bbfoq"]
[ext_resource type="Script" path="res://scripts/level_menu_level_button.gd" id="3_e83yn"]
[sub_resource type="AtlasTexture" id="AtlasTexture_xlv6q"]
atlas = ExtResource("3_bbfoq")
region = Rect2(99, 6, 26, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_ih6f2"]
atlas = ExtResource("3_bbfoq")
region = Rect2(354, 6, 28, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_fekch"]
atlas = ExtResource("3_bbfoq")
region = Rect2(35, 6, 26, 24)
[node name="LevelButton" type="TextureButton"]
custom_minimum_size = Vector2(50, 50)
offset_right = 40.0
offset_bottom = 40.0
size_flags_horizontal = 3
size_flags_vertical = 3
disabled = true
texture_normal = SubResource("AtlasTexture_xlv6q")
texture_hover = SubResource("AtlasTexture_ih6f2")
texture_disabled = SubResource("AtlasTexture_fekch")
ignore_texture_size = true
stretch_mode = 5
script = ExtResource("3_e83yn")
[node name="Label" type="Label" parent="."]
visible = false
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 3
theme_override_fonts/font = ExtResource("3_732s0")
theme_override_font_sizes/font_size = 35
text = "1"
horizontal_alignment = 1
vertical_alignment = 1
[connection signal="pressed" from="." to="." method="_on_pressed"]

View file

@ -0,0 +1,93 @@
[gd_scene load_steps=6 format=3 uid="uid://bvvxwhg4tihng"]
[ext_resource type="Theme" uid="uid://cohbys634cf18" path="res://menu/main_menu/MainMenuTheme.tres" id="1_3v0vu"]
[ext_resource type="Texture2D" uid="uid://dr4ayedb5xb2k" path="res://textures/file_editor.png" id="1_44xee"]
[ext_resource type="PackedScene" uid="uid://dii1q3f5dj72y" path="res://objects/CRT.tscn" id="2_crosg"]
[ext_resource type="Script" path="res://scripts/level_select.gd" id="2_nurro"]
[ext_resource type="PackedScene" uid="uid://t83eid7pf4iv" path="res://menu/level_menu/level_button.tscn" id="4_0d7hu"]
[node name="LevelSelect" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("2_nurro")
[node name="CanvasLayer" parent="." instance=ExtResource("2_crosg")]
[node name="Background" type="TextureRect" parent="."]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("1_44xee")
expand_mode = 1
[node name="Label" type="Label" parent="Background"]
layout_mode = 0
offset_left = -28.0
offset_top = -12.0
offset_right = 214.0
offset_bottom = 24.0
theme = ExtResource("1_3v0vu")
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 30
text = "level select"
horizontal_alignment = 1
vertical_alignment = 1
[node name="QuitButton" type="Button" parent="Background"]
layout_mode = 0
offset_left = 576.0
offset_top = 1.0
offset_right = 635.0
offset_bottom = 18.0
flat = true
[node name="ClipControl" type="Control" parent="Background"]
layout_mode = 1
anchor_left = 0.005
anchor_top = 0.11
anchor_right = 0.956
anchor_bottom = 0.924
offset_left = 0.599999
offset_top = -0.200005
offset_right = 0.319946
offset_bottom = -0.280029
[node name="GridContainer" type="GridContainer" parent="Background/ClipControl"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = 65.2
offset_top = 14.0
offset_right = -93.1599
offset_bottom = -25.4
grow_horizontal = 2
grow_vertical = 2
scale = Vector2(1.06042, 1.058)
columns = 3
[node name="LevelButton" parent="Background/ClipControl/GridContainer" instance=ExtResource("4_0d7hu")]
layout_mode = 2
disabled = false
locked = false
[node name="LevelButton2" parent="Background/ClipControl/GridContainer" instance=ExtResource("4_0d7hu")]
layout_mode = 2
disabled = false
level_num = 2
locked = false
[node name="LevelButton3" parent="Background/ClipControl/GridContainer" instance=ExtResource("4_0d7hu")]
layout_mode = 2
disabled = false
level_num = 3
locked = false
[connection signal="pressed" from="Background/QuitButton" to="." method="_on_quit_button_pressed"]

View file

@ -0,0 +1,49 @@
[gd_scene load_steps=5 format=3 uid="uid://cut2xjnvh8i58"]
[ext_resource type="Theme" uid="uid://cohbys634cf18" path="res://menu/main_menu/MainMenuTheme.tres" id="1_tmf11"]
[ext_resource type="Script" path="res://scripts/menu_credit_control.gd" id="2_ogwi7"]
[ext_resource type="PackedScene" uid="uid://dii1q3f5dj72y" path="res://objects/CRT.tscn" id="3_rybt6"]
[ext_resource type="FontFile" uid="uid://d3pbvdemdbxes" path="res://CommodoreSixtyFour.ttf" id="4_pv7fe"]
[node name="CreditScene" type="MarginContainer"]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme = ExtResource("1_tmf11")
[node name="CanvasLayer" parent="." instance=ExtResource("3_rybt6")]
[node name="ColorRect" type="ColorRect" parent="."]
layout_mode = 2
color = Color(0, 0, 0, 1)
[node name="Control" type="Control" parent="."]
layout_mode = 2
script = ExtResource("2_ogwi7")
[node name="VBoxContainer" type="VBoxContainer" parent="Control"]
layout_mode = 0
offset_right = 40.0
offset_bottom = 40.0
[node name="Label" type="Label" parent="Control/VBoxContainer"]
layout_mode = 2
[node name="BackToMenu" type="HBoxContainer" parent="Control/VBoxContainer"]
visible = false
layout_mode = 2
[node name="Label" type="Label" parent="Control/VBoxContainer/BackToMenu"]
custom_minimum_size = Vector2(8, 0)
layout_mode = 2
theme_override_fonts/font = ExtResource("4_pv7fe")
text = ">"
[node name="back" type="Button" parent="Control/VBoxContainer/BackToMenu"]
layout_mode = 2
text = "back to menu"
flat = true
[connection signal="pressed" from="Control/VBoxContainer/BackToMenu/back" to="Control" method="_return_to_main_menu"]

View file

@ -0,0 +1,49 @@
[gd_scene load_steps=5 format=3 uid="uid://cut2xjnvh8i58"]
[ext_resource type="Theme" uid="uid://cohbys634cf18" path="res://menu/main_menu/MainMenuTheme.tres" id="1_tmf11"]
[ext_resource type="Script" path="res://scripts/menu_credit_control.gd" id="2_ogwi7"]
[ext_resource type="PackedScene" uid="uid://dii1q3f5dj72y" path="res://objects/CRT.tscn" id="3_rybt6"]
[ext_resource type="FontFile" uid="uid://d3pbvdemdbxes" path="res://CommodoreSixtyFour.ttf" id="4_pv7fe"]
[node name="CreditScene" type="MarginContainer"]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme = ExtResource("1_tmf11")
[node name="CanvasLayer" parent="." instance=ExtResource("3_rybt6")]
[node name="ColorRect" type="ColorRect" parent="."]
layout_mode = 2
color = Color(0, 0, 0, 1)
[node name="Control" type="Control" parent="."]
layout_mode = 2
script = ExtResource("2_ogwi7")
[node name="VBoxContainer" type="VBoxContainer" parent="Control"]
layout_mode = 0
offset_right = 40.0
offset_bottom = 40.0
[node name="Label" type="Label" parent="Control/VBoxContainer"]
layout_mode = 2
[node name="BackToMenu" type="HBoxContainer" parent="Control/VBoxContainer"]
visible = false
layout_mode = 2
[node name="Label" type="Label" parent="Control/VBoxContainer/BackToMenu"]
custom_minimum_size = Vector2(8, 0)
layout_mode = 2
theme_override_fonts/font = ExtResource("4_pv7fe")
text = ">"
[node name="back" type="Button" parent="Control/VBoxContainer/BackToMenu"]
layout_mode = 2
text = "back to menu"
flat = true
[connection signal="pressed" from="Control/VBoxContainer/BackToMenu/back" to="Control" method="_return_to_main_menu"]

View file

@ -0,0 +1,103 @@
[gd_scene load_steps=5 format=3 uid="uid://1h2urto6y63r"]
[ext_resource type="FontFile" uid="uid://d3pbvdemdbxes" path="res://CommodoreSixtyFour.ttf" id="1_1tx2i"]
[ext_resource type="Theme" uid="uid://cohbys634cf18" path="res://menu/main_menu/MainMenuTheme.tres" id="1_kkajn"]
[ext_resource type="Script" path="res://scripts/menu_main_control.gd" id="2_g8c7b"]
[ext_resource type="PackedScene" uid="uid://dii1q3f5dj72y" path="res://objects/CRT.tscn" id="2_hal3l"]
[node name="MainMenu" type="MarginContainer"]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme = ExtResource("1_kkajn")
[node name="CanvasLayer" parent="." instance=ExtResource("2_hal3l")]
[node name="ColorRect" type="ColorRect" parent="."]
layout_mode = 2
color = Color(0, 0, 0, 1)
[node name="Control" type="Control" parent="."]
layout_mode = 2
script = ExtResource("2_g8c7b")
[node name="VBoxContainer" type="VBoxContainer" parent="Control"]
layout_mode = 0
offset_right = 40.0
offset_bottom = 40.0
[node name="VBoxContainer2" type="VBoxContainer" parent="Control/VBoxContainer"]
layout_mode = 2
[node name="Label" type="Label" parent="Control/VBoxContainer/VBoxContainer2"]
layout_mode = 2
[node name="Buttons" type="VBoxContainer" parent="Control/VBoxContainer"]
layout_mode = 2
[node name="HBoxContainer" type="HBoxContainer" parent="Control/VBoxContainer/Buttons"]
visible = false
layout_mode = 2
[node name="Label" type="Label" parent="Control/VBoxContainer/Buttons/HBoxContainer"]
custom_minimum_size = Vector2(8, 0)
layout_mode = 2
theme_override_fonts/font = ExtResource("1_1tx2i")
text = ">"
[node name="start" type="Button" parent="Control/VBoxContainer/Buttons/HBoxContainer"]
layout_mode = 2
text = "start"
flat = true
[node name="HBoxContainer2" type="HBoxContainer" parent="Control/VBoxContainer/Buttons"]
visible = false
layout_mode = 2
[node name="Label" type="Label" parent="Control/VBoxContainer/Buttons/HBoxContainer2"]
custom_minimum_size = Vector2(8, 0)
layout_mode = 2
theme_override_fonts/font = ExtResource("1_1tx2i")
text = ">"
[node name="level_select" type="Button" parent="Control/VBoxContainer/Buttons/HBoxContainer2"]
layout_mode = 2
text = "level selection"
flat = true
[node name="HBoxContainer3" type="HBoxContainer" parent="Control/VBoxContainer/Buttons"]
visible = false
layout_mode = 2
[node name="Label" type="Label" parent="Control/VBoxContainer/Buttons/HBoxContainer3"]
custom_minimum_size = Vector2(8, 0)
layout_mode = 2
theme_override_fonts/font = ExtResource("1_1tx2i")
text = ">"
[node name="credits" type="Button" parent="Control/VBoxContainer/Buttons/HBoxContainer3"]
layout_mode = 2
text = "credits"
flat = true
[node name="HBoxContainer4" type="HBoxContainer" parent="Control/VBoxContainer/Buttons"]
visible = false
layout_mode = 2
[node name="Label" type="Label" parent="Control/VBoxContainer/Buttons/HBoxContainer4"]
custom_minimum_size = Vector2(8, 0)
layout_mode = 2
theme_override_fonts/font = ExtResource("1_1tx2i")
text = ">"
[node name="quit" type="Button" parent="Control/VBoxContainer/Buttons/HBoxContainer4"]
layout_mode = 2
text = "quit"
flat = true
[connection signal="pressed" from="Control/VBoxContainer/Buttons/HBoxContainer/start" to="Control" method="_on_start_button_pressed"]
[connection signal="pressed" from="Control/VBoxContainer/Buttons/HBoxContainer2/level_select" to="Control" method="_on_level_select_pressed"]
[connection signal="pressed" from="Control/VBoxContainer/Buttons/HBoxContainer3/credits" to="Control" method="_on_credits_button_pressed"]
[connection signal="pressed" from="Control/VBoxContainer/Buttons/HBoxContainer4/quit" to="Control" method="_on_quit_button_pressed"]

View file

@ -0,0 +1,19 @@
[gd_resource type="Theme" load_steps=3 format=3 uid="uid://cohbys634cf18"]
[ext_resource type="FontFile" uid="uid://d3pbvdemdbxes" path="res://CommodoreSixtyFour.ttf" id="1_ep67t"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_vnp6n"]
[resource]
default_font = ExtResource("1_ep67t")
Button/colors/font_color = Color(0, 1, 0, 1)
Label/colors/font_color = Color(0, 1, 0, 1)
Label/colors/font_outline_color = Color(0, 0, 0, 1)
Label/colors/font_shadow_color = Color(0, 0, 0, 0)
Label/constants/line_spacing = 3
Label/constants/outline_size = 0
Label/constants/shadow_offset_x = 1
Label/constants/shadow_offset_y = 1
Label/constants/shadow_outline_size = 1
Label/font_sizes/font_size = 16
Label/styles/normal = SubResource("StyleBoxEmpty_vnp6n")

View file

@ -0,0 +1,18 @@
[gd_scene load_steps=3 format=3 uid="uid://cscsuljo8ivad"]
[ext_resource type="Script" path="res://control.gd" id="1_demfw"]
[ext_resource type="PackedScene" uid="uid://cxbalfjqtp06t" path="res://canvas_layer.tscn" id="2_jr3s0"]
[node name="Control" type="Control"]
layout_mode = 3
anchors_preset = 0
offset_right = 40.0
offset_bottom = 40.0
script = ExtResource("1_demfw")
[node name="Label" type="Label" parent="."]
layout_mode = 0
offset_right = 40.0
offset_bottom = 23.0
[node name="CanvasLayer" parent="." instance=ExtResource("2_jr3s0")]

View file

@ -0,0 +1,18 @@
[gd_scene load_steps=4 format=3 uid="uid://d17jpcgayfg6i"]
[ext_resource type="Script" path="res://scripts/pushable.gd" id="1_tf1fy"]
[ext_resource type="Texture2D" uid="uid://ca3ky53gvjj8" path="res://textures/movable-block-small.png" id="2_pp2mc"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_legx4"]
size = Vector2(34, 32)
[node name="BoxPushable1" type="CharacterBody2D"]
collision_layer = 16
collision_mask = 53
script = ExtResource("1_tf1fy")
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_legx4")
[node name="Sprite2D" type="Sprite2D" parent="."]
texture = ExtResource("2_pp2mc")

View file

@ -0,0 +1,18 @@
[gd_scene load_steps=4 format=3 uid="uid://dki3ft77fr3tc"]
[ext_resource type="Script" path="res://scripts/crumble.gd" id="1_5jikw"]
[ext_resource type="Texture2D" uid="uid://buqgl7x10et1f" path="res://temp_assets/img.png" id="1_d52wv"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_246ea"]
size = Vector2(31, 31)
[node name="BreakableBlock" type="CharacterBody2D"]
collision_mask = 22
script = ExtResource("1_5jikw")
[node name="Sprite2D" type="Sprite2D" parent="."]
texture = ExtResource("1_d52wv")
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2(-0.5, -0.5)
shape = SubResource("RectangleShape2D_246ea")

View file

@ -0,0 +1,22 @@
[gd_scene load_steps=3 format=3 uid="uid://dii1q3f5dj72y"]
[ext_resource type="Shader" path="res://shaders/crt.gdshader" id="1_wsc8u"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_c8ly2"]
shader = ExtResource("1_wsc8u")
shader_parameter/crt_curve = 0.015
shader_parameter/crt_scan_line_color = 0.347
shader_parameter/aperture_grille_rate = 1.0
shader_parameter/rf_switch_esque_blur = 0.21
shader_parameter/white_noise_rate = 0.184
[node name="CanvasLayer" type="CanvasLayer"]
[node name="ColorRect" type="ColorRect" parent="."]
material = SubResource("ShaderMaterial_c8ly2")
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2

View file

@ -0,0 +1,19 @@
[gd_scene load_steps=4 format=3 uid="uid://vtwswrkfkgas"]
[ext_resource type="Script" path="res://scripts/enemy_movement_mover.gd" id="1_7kapi"]
[ext_resource type="Texture2D" uid="uid://buqgl7x10et1f" path="res://temp_assets/img.png" id="1_ci3x0"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_8cnt5"]
size = Vector2(24, 20)
[node name="EnemyMover" type="CharacterBody2D"]
collision_layer = 2
collision_mask = 23
script = ExtResource("1_7kapi")
speed = 75
[node name="Sprite2D" type="Sprite2D" parent="."]
texture = ExtResource("1_ci3x0")
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_8cnt5")

View file

@ -0,0 +1,19 @@
[gd_scene load_steps=4 format=3 uid="uid://vtwswrkfkgas"]
[ext_resource type="Script" path="res://scripts/enemy_movement_mover.gd" id="1_7kapi"]
[ext_resource type="Texture2D" uid="uid://buqgl7x10et1f" path="res://temp_assets/img.png" id="1_ci3x0"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_8cnt5"]
size = Vector2(24, 26)
[node name="EnemyMover" type="CharacterBody2D"]
collision_layer = 2
collision_mask = 23
script = ExtResource("1_7kapi")
speed = 75
[node name="Sprite2D" type="Sprite2D" parent="."]
texture = ExtResource("1_ci3x0")
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_8cnt5")

View file

@ -0,0 +1,66 @@
[gd_scene load_steps=7 format=3 uid="uid://d0gpnqknarkg7"]
[ext_resource type="Script" path="res://scripts/goal.gd" id="1_xjaxa"]
[ext_resource type="Texture2D" uid="uid://fah747bo1ckk" path="res://textures/01-Portal-Sheet.png" id="2_hsts4"]
[sub_resource type="Animation" id="Animation_v2oub"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite2D:frame_coords")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [Vector2i(0, 0)]
}
[sub_resource type="Animation" id="Animation_a6qt0"]
resource_name = "portal"
length = 0.55
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite2D:frame_coords")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.0666667, 0.133333, 0.2, 0.266667, 0.333333, 0.4, 0.466667),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1),
"update": 1,
"values": [Vector2i(0, 0), Vector2i(1, 0), Vector2i(2, 0), Vector2i(3, 0), Vector2i(4, 0), Vector2i(5, 0), Vector2i(6, 0), Vector2i(7, 0)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_4pqp1"]
_data = {
"RESET": SubResource("Animation_v2oub"),
"portal": SubResource("Animation_a6qt0")
}
[sub_resource type="CircleShape2D" id="CircleShape2D_fjcci"]
radius = 16.1245
[node name="Goal" type="Area2D"]
collision_layer = 0
collision_mask = 4
script = ExtResource("1_xjaxa")
[node name="Sprite2D" type="Sprite2D" parent="."]
z_index = -1
texture = ExtResource("2_hsts4")
hframes = 8
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
"": SubResource("AnimationLibrary_4pqp1")
}
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("CircleShape2D_fjcci")
[connection signal="area_entered" from="." to="." method="_on_area_entered"]
[connection signal="body_entered" from="." to="." method="_on_body_entered"]

View file

@ -0,0 +1,34 @@
[gd_scene load_steps=5 format=3 uid="uid://c168bkledwyya"]
[ext_resource type="Texture2D" uid="uid://c3m4os8kteaix" path="res://textures/level01-spritesheet.png" id="1_6whpg"]
[sub_resource type="AtlasTexture" id="AtlasTexture_dplbn"]
atlas = ExtResource("1_6whpg")
region = Rect2(192.002, 64.0069, 32.0036, 31.9977)
[sub_resource type="AtlasTexture" id="AtlasTexture_7sk3t"]
atlas = ExtResource("1_6whpg")
region = Rect2(128.019, 31.9952, 31.9608, 31.9949)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_jee2l"]
size = Vector2(6, 28.5)
[node name="Laser" type="StaticBody2D"]
collision_mask = 5
[node name="Sprite2D2" type="Sprite2D" parent="."]
position = Vector2(1, 0)
texture = SubResource("AtlasTexture_dplbn")
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="."]
polygon = PackedVector2Array(-15, -15, -12, -11, 14, -11, 17, -15)
[node name="StaticBody2D" type="StaticBody2D" parent="."]
[node name="Sprite2D" type="Sprite2D" parent="StaticBody2D"]
texture = SubResource("AtlasTexture_7sk3t")
region_rect = Rect2(0, 0, 288, 96)
[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D"]
position = Vector2(1, 2)
shape = SubResource("RectangleShape2D_jee2l")

View file

@ -0,0 +1,49 @@
[gd_scene load_steps=5 format=3 uid="uid://n2culjgg5aji"]
[ext_resource type="Theme" uid="uid://cohbys634cf18" path="res://menu/main_menu/MainMenuTheme.tres" id="1_tm23e"]
[ext_resource type="PackedScene" uid="uid://dii1q3f5dj72y" path="res://objects/CRT.tscn" id="2_d3r0j"]
[ext_resource type="Script" path="res://scripts/level_completed_control.gd" id="3_38v2l"]
[ext_resource type="FontFile" uid="uid://d3pbvdemdbxes" path="res://CommodoreSixtyFour.ttf" id="4_8fqei"]
[node name="LevelComplete" type="MarginContainer"]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme = ExtResource("1_tm23e")
[node name="CanvasLayer" parent="." instance=ExtResource("2_d3r0j")]
[node name="ColorRect" type="ColorRect" parent="."]
layout_mode = 2
color = Color(0, 0, 0, 1)
[node name="Control" type="Control" parent="."]
layout_mode = 2
script = ExtResource("3_38v2l")
[node name="VBoxContainer" type="VBoxContainer" parent="Control"]
layout_mode = 0
offset_right = 40.0
offset_bottom = 40.0
[node name="Label" type="Label" parent="Control/VBoxContainer"]
layout_mode = 2
[node name="BackToMenu" type="HBoxContainer" parent="Control/VBoxContainer"]
visible = false
layout_mode = 2
[node name="Label" type="Label" parent="Control/VBoxContainer/BackToMenu"]
custom_minimum_size = Vector2(8, 0)
layout_mode = 2
theme_override_fonts/font = ExtResource("4_8fqei")
text = ">"
[node name="back" type="Button" parent="Control/VBoxContainer/BackToMenu"]
layout_mode = 2
text = "back to level menu"
flat = true
[connection signal="pressed" from="Control/VBoxContainer/BackToMenu/back" to="Control" method="_return_to_main_menu"]

View file

@ -0,0 +1,49 @@
[gd_scene load_steps=5 format=3 uid="uid://n2culjgg5aji"]
[ext_resource type="Theme" uid="uid://cohbys634cf18" path="res://menu/main_menu/MainMenuTheme.tres" id="1_tm23e"]
[ext_resource type="PackedScene" uid="uid://dii1q3f5dj72y" path="res://objects/CRT.tscn" id="2_d3r0j"]
[ext_resource type="Script" path="res://scripts/level_completed_control.gd" id="3_38v2l"]
[ext_resource type="FontFile" uid="uid://d3pbvdemdbxes" path="res://CommodoreSixtyFour.ttf" id="4_8fqei"]
[node name="LevelComplete" type="MarginContainer"]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme = ExtResource("1_tm23e")
[node name="CanvasLayer" parent="." instance=ExtResource("2_d3r0j")]
[node name="ColorRect" type="ColorRect" parent="."]
layout_mode = 2
color = Color(0, 0, 0, 1)
[node name="Control" type="Control" parent="."]
layout_mode = 2
script = ExtResource("3_38v2l")
[node name="VBoxContainer" type="VBoxContainer" parent="Control"]
layout_mode = 0
offset_right = 40.0
offset_bottom = 40.0
[node name="Label" type="Label" parent="Control/VBoxContainer"]
layout_mode = 2
[node name="BackToMenu" type="HBoxContainer" parent="Control/VBoxContainer"]
visible = false
layout_mode = 2
[node name="Label" type="Label" parent="Control/VBoxContainer/BackToMenu"]
custom_minimum_size = Vector2(8, 0)
layout_mode = 2
theme_override_fonts/font = ExtResource("4_8fqei")
text = ">"
[node name="back" type="Button" parent="Control/VBoxContainer/BackToMenu"]
layout_mode = 2
text = "back to level menu"
flat = true
[connection signal="pressed" from="Control/VBoxContainer/BackToMenu/back" to="Control" method="_return_to_main_menu"]

View file

@ -0,0 +1,15 @@
[gd_scene load_steps=3 format=3 uid="uid://cpa66thuxma15"]
[ext_resource type="Texture2D" uid="uid://hsp64ixwg2bb" path="res://temp_assets/goal.png" id="1_xnjup"]
[ext_resource type="Texture2D" uid="uid://bs8mevd0fornj" path="res://temp_assets/goal_bg.png" id="2_iknpl"]
[node name="MirrorOrb" type="Area2D"]
[node name="Orb" type="Sprite2D" parent="."]
scale = Vector2(0.4, 0.4)
texture = ExtResource("1_xnjup")
[node name="Aura" type="Sprite2D" parent="."]
modulate = Color(1, 1, 1, 0.227451)
z_index = -1
texture = ExtResource("2_iknpl")

View file

@ -0,0 +1,10 @@
[gd_scene load_steps=4 format=3 uid="uid://cys3y6mvx2r51"]
[ext_resource type="PackedScene" uid="uid://d0q0sfati8wk0" path="res://objects/ResizableBlock.tscn" id="1_0n6nt"]
[ext_resource type="Texture2D" uid="uid://dkby5ivagt3td" path="res://textures/one-time-use-block-small.png" id="2_j5f5f"]
[ext_resource type="Texture2D" uid="uid://b7ixgwggloed4" path="res://textures/one-time-use-block-big.png" id="3_e323m"]
[node name="AnimatableBody2D" instance=ExtResource("1_0n6nt")]
small_sprite = ExtResource("2_j5f5f")
large_sprite = ExtResource("3_e323m")
delete_self = true

View file

@ -0,0 +1,53 @@
[gd_scene load_steps=7 format=3 uid="uid://snxpqx0ony7s"]
[ext_resource type="Script" path="res://scripts/player_movement.gd" id="1_a6lhy"]
[ext_resource type="Texture2D" uid="uid://qcx482jc7pqr" path="res://textures/player.png" id="2_sscjv"]
[ext_resource type="Texture2D" uid="uid://s7wqkcxerals" path="res://textures/Eye Lase.png" id="3_yg3ur"]
[ext_resource type="AudioStream" uid="uid://donbyet486b4" path="res://sound/Jump5.wav" id="4_jit8y"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_31jvr"]
[sub_resource type="CircleShape2D" id="CircleShape2D_vxfel"]
radius = 12.0
[node name="Player" type="CharacterBody2D" node_paths=PackedStringArray("sfx", "sfx_large")]
collision_layer = 4
collision_mask = 51
script = ExtResource("1_a6lhy")
sfx = NodePath("AudioStreamPlayer2D")
sfx_large = NodePath("AudioStreamPlayer2D2")
speed = 250
jump_strength = 600
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_31jvr")
[node name="Sprite2D" type="Sprite2D" parent="."]
texture = ExtResource("2_sscjv")
[node name="Hurtbox" type="Area2D" parent="."]
collision_layer = 0
collision_mask = 2
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hurtbox"]
shape = SubResource("CircleShape2D_vxfel")
[node name="data_link" type="Line2D" parent="."]
visible = false
texture_repeat = 2
points = PackedVector2Array(0, 0, 0, 0)
default_color = Color(0.298039, 1, 0.141176, 1)
texture = ExtResource("3_yg3ur")
texture_mode = 1
[node name="AudioStreamPlayer2D" type="AudioStreamPlayer2D" parent="."]
stream = ExtResource("4_jit8y")
volume_db = -12.876
pitch_scale = 0.92
[node name="AudioStreamPlayer2D2" type="AudioStreamPlayer2D" parent="."]
stream = ExtResource("4_jit8y")
volume_db = -12.876
pitch_scale = 0.51
[connection signal="body_entered" from="Hurtbox" to="." method="_on_hurtbox_body_entered"]

View file

@ -0,0 +1,89 @@
[gd_scene load_steps=9 format=3 uid="uid://c6g2f7tm7iasr"]
[ext_resource type="Script" path="res://scripts/PressurePlate.gd" id="1_7ar3x"]
[ext_resource type="Texture2D" uid="uid://cwf57p0osmc0w" path="res://textures/PressurePlate.png" id="1_st48m"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_82l2r"]
size = Vector2(32, 3.5)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_c6ukx"]
size = Vector2(24, 4)
[sub_resource type="Animation" id="Animation_fulu2"]
resource_name = "Disable"
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite2D:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [1]
}
[sub_resource type="Animation" id="Animation_7ggr5"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite2D:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [1]
}
[sub_resource type="Animation" id="Animation_xxdm0"]
resource_name = "Enable"
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite2D:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [0]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_usrhb"]
_data = {
"Disable": SubResource("Animation_fulu2"),
"Enable": SubResource("Animation_xxdm0"),
"RESET": SubResource("Animation_7ggr5")
}
[node name="StaticBody2D" type="StaticBody2D"]
script = ExtResource("1_7ar3x")
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2(0, 13.75)
shape = SubResource("RectangleShape2D_82l2r")
[node name="Area2D" type="Area2D" parent="."]
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
position = Vector2(0, 10)
shape = SubResource("RectangleShape2D_c6ukx")
[node name="Sprite2D" type="Sprite2D" parent="."]
texture = ExtResource("1_st48m")
hframes = 2
frame = 1
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
"": SubResource("AnimationLibrary_usrhb")
}
autoplay = "Disable"
[connection signal="body_entered" from="Area2D" to="." method="_on_area_2d_body_entered"]
[connection signal="body_exited" from="Area2D" to="." method="_on_area_2d_body_exited"]

View file

@ -0,0 +1,89 @@
[gd_scene load_steps=8 format=3 uid="uid://c6g2f7tm7iasr"]
[ext_resource type="Script" path="res://scripts/PressurePlate.gd" id="1_7ar3x"]
[ext_resource type="Texture2D" uid="uid://bpfvkxqajd1en" path="res://textures/PressurePlate.png" id="1_st48m"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_c6ukx"]
size = Vector2(24, 2)
[sub_resource type="Animation" id="Animation_fulu2"]
resource_name = "Disable"
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite2D:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [1]
}
[sub_resource type="Animation" id="Animation_xxdm0"]
resource_name = "Enable"
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite2D:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [0]
}
[sub_resource type="Animation" id="Animation_7ggr5"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite2D:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [1]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_usrhb"]
_data = {
"Disable": SubResource("Animation_fulu2"),
"Enable": SubResource("Animation_xxdm0"),
"RESET": SubResource("Animation_7ggr5")
}
[node name="PressurePlate" type="StaticBody2D"]
collision_layer = 32
collision_mask = 37
script = ExtResource("1_7ar3x")
[node name="Area2D" type="Area2D" parent="."]
collision_layer = 32
collision_mask = 21
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
position = Vector2(0, 11)
shape = SubResource("RectangleShape2D_c6ukx")
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="."]
polygon = PackedVector2Array(-16, 16, -12, 12, 12, 12, 16, 16)
[node name="Sprite2D" type="Sprite2D" parent="."]
texture = ExtResource("1_st48m")
hframes = 2
frame = 1
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
"": SubResource("AnimationLibrary_usrhb")
}
autoplay = "Enable"
[connection signal="body_entered" from="Area2D" to="." method="_on_body_entered"]
[connection signal="body_exited" from="Area2D" to="." method="_on_body_exited"]

View file

@ -0,0 +1,15 @@
[gd_scene load_steps=3 format=3 uid="uid://d0q0sfati8wk0"]
[ext_resource type="Script" path="res://scripts/resizable_block.gd" id="1_ckiwc"]
[ext_resource type="Texture2D" uid="uid://bb8vdlgwpj8oc" path="res://textures/antivirus-block-big.png" id="2_i68dl"]
[node name="AnimatableBody2D" type="AnimatableBody2D"]
collision_mask = 54
input_pickable = true
script = ExtResource("1_ckiwc")
[node name="Sprite2D" type="Sprite2D" parent="."]
texture = ExtResource("2_i68dl")
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="."]
polygon = PackedVector2Array(-32, -20, -28, -20, -28, -24, -24, -24, -24, -28, -20, -28, -20, -32, 20, -32, 20, -28, 24, -28, 24, -24, 28, -24, 28, -20, 32, -20, 32, 20, 28, 20, 28, 24, 24, 24, 24, 28, 20, 28, 20, 32, -20, 32, -20, 28, -24, 28, -24, 24, -28, 24, -28, 20, -32, 20)

View file

@ -0,0 +1,13 @@
[gd_scene load_steps=3 format=3 uid="uid://biaxahxft1xo0"]
[ext_resource type="PackedScene" uid="uid://d17jpcgayfg6i" path="res://objects/BoxPushable_1.tscn" id="1_pnjdf"]
[ext_resource type="Texture2D" uid="uid://bgn21wm3f32ch" path="res://textures/movable-block-big.png" id="2_kff60"]
[node name="BoxPushable1" instance=ExtResource("1_pnjdf")]
scale = Vector2(2, 2)
[node name="CollisionShape2D" parent="." index="0"]
position = Vector2(0, 0.5)
[node name="Sprite2D" parent="." index="1"]
texture = ExtResource("2_kff60")

20
gmtk_2024/plaB470.tmp Normal file
View file

@ -0,0 +1,20 @@
[gd_scene load_steps=4 format=3 uid="uid://cfnmiqovwwhry"]
[ext_resource type="Script" path="res://scripts/player_movement.gd" id="1_otvu6"]
[ext_resource type="Texture2D" uid="uid://b6gxkpy33b88g" path="res://temp_assets/player.png" id="2_d4ig1"]
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_jqi2f"]
radius = 17.0
height = 42.0
[node name="Player" type="Node2D"]
[node name="CharacterBody2D" type="CharacterBody2D" parent="."]
script = ExtResource("1_otvu6")
speed = 340
[node name="Sprite2D" type="Sprite2D" parent="CharacterBody2D"]
texture = ExtResource("2_d4ig1")
[node name="CollisionShape2D" type="CollisionShape2D" parent="CharacterBody2D"]
shape = SubResource("CapsuleShape2D_jqi2f")

View file

@ -10,11 +10,85 @@ config_version=5
[application]
config/name="GMTK_2024"
config/name="Infiltration.exe"
run/main_scene="res://menu/main_menu/MainMenu.tscn"
config/features=PackedStringArray("4.3", "GL Compatibility")
config/icon="res://icon.svg"
config/icon="res://temp_assets/icon.svg"
[display]
window/size/viewport_width=640
window/size/viewport_height=320
window/size/mode=2
window/stretch/mode="viewport"
mouse_cursor/custom_image="res://textures/cursor_normal.png"
[input]
player_right={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":100,"location":0,"echo":false,"script":null)
]
}
player_left={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":97,"location":0,"echo":false,"script":null)
]
}
player_jump={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"location":0,"echo":false,"script":null)
]
}
click={
"deadzone": 0.5,
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":1,"canceled":false,"pressed":false,"double_click":false,"script":null)
]
}
clickR={
"deadzone": 0.5,
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":2,"canceled":false,"pressed":false,"double_click":false,"script":null)
]
}
r={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":82,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
]
}
up={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
]
}
down={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
]
}
accept={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"location":0,"echo":false,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194309,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
]
}
pause={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194305,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
]
}
[layer_names]
2d_physics/layer_1="Ground"
2d_physics/layer_2="Enemies"
2d_physics/layer_3="Player"
2d_physics/layer_4="Goal"
2d_physics/layer_5="Pushable"
[rendering]
textures/canvas_textures/default_texture_filter=0
renderer/rendering_method="gl_compatibility"
renderer/rendering_method.mobile="gl_compatibility"
environment/defaults/default_clear_color=Color(0.785573, 0.700355, 0.83902, 1)
2d/snap/snap_2d_transforms_to_pixel=true

View file

@ -0,0 +1,58 @@
; 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=5
[application]
config/name="GMTK_2024"
<<<<<<< HEAD
run/main_scene="res://menu/main_menu/MainMenu.tscn"
=======
run/main_scene="res://levels/TestingField.tscn"
>>>>>>> dev
config/features=PackedStringArray("4.3", "GL Compatibility")
config/icon="res://temp_assets/icon.svg"
[display]
window/size/viewport_width=1280
window/size/viewport_height=720
window/size/mode=2
window/stretch/mode="viewport"
[input]
player_right={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":100,"location":0,"echo":false,"script":null)
]
}
player_left={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":97,"location":0,"echo":false,"script":null)
]
}
player_jump={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"location":0,"echo":false,"script":null)
]
}
click={
"deadzone": 0.5,
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":1,"canceled":false,"pressed":false,"double_click":false,"script":null)
]
}
[rendering]
textures/canvas_textures/default_texture_filter=0
renderer/rendering_method="gl_compatibility"
renderer/rendering_method.mobile="gl_compatibility"
environment/defaults/default_clear_color=Color(0.785573, 0.700355, 0.83902, 1)
2d/snap/snap_2d_transforms_to_pixel=true

View file

@ -0,0 +1,38 @@
extends StaticBody2D
@export var laser_path: NodePath = "../Laser"
@export var required_scale: Vector2 = Vector2(1.0, 1.0)
@export var player_required_scale: Vector2 = Vector2(2.0, 2.0)
@onready var animation = $AnimationPlayer
var laser: Node2D = null
var is_activated = false
func _ready():
laser = get_node(laser_path)
func _on_body_entered(body: Node):
print("Wird erkannt")
print(body)
print(body.scale)
if (body is AnimatableBody2D and body.scale >= required_scale) or (body is CharacterBody2D and body.scale >= player_required_scale):
animation.play("Disable")
activate_plate()
func _on_body_exited(body: Node):
if (body is AnimatableBody2D and body.scale >= required_scale) or (body is CharacterBody2D and body.scale >= player_required_scale):
animation.play("Enable")
deactivate_plate()
func activate_plate():
print("wird aktiviert")
if not is_activated:
is_activated = true
if laser and weakref(laser).get_ref():
laser.queue_free()
# TODO: fix error when called again
func deactivate_plate():
if is_activated:
is_activated = false

View file

@ -0,0 +1,14 @@
extends CharacterBody2D
func _physics_process(delta: float) -> void:
move_and_slide()
if(get_slide_collision_count() > 0):
for i in get_slide_collision_count():
var box = get_slide_collision(i).get_collider() as Node2D
if box.scale.x == 2:
var timer = Timer.new()
self.add_child(timer)
timer.connect("timeout", queue_free)
timer.set_wait_time(1)
timer.start()

View file

@ -0,0 +1,15 @@
extends CharacterBody2D
@export var speed = 200;
@export var gravity = 50;
@export var direction = 1;
func _ready() -> void:
add_to_group("enemy")
func _physics_process(delta):
if is_on_wall():
direction = direction * -1
velocity.x = direction * speed
velocity.y += gravity
move_and_slide()

17
gmtk_2024/scripts/goal.gd Normal file
View file

@ -0,0 +1,17 @@
extends Node
@export var next : PackedScene
@export var completed = preload("res://objects/LevelComplete.tscn")
@onready var animation = $AnimationPlayer
@onready var level_select_scene = preload("res://menu/level_menu/level_select.tscn")
func _process(delta: float) -> void:
animation.play("portal")
func _on_body_entered(body: Node2D) -> void:
if next == level_select_scene:
get_tree().change_scene_to_packed(completed)
else:
get_tree().change_scene_to_packed(next)

View file

@ -0,0 +1,97 @@
extends Control
var credits_text = """
CONGRATULATIONS
THIS SECTOR IS NOW INFECTED
YOU NOW HAVE ACCESS TO THE NEXT SECTION
"""
var current_text = ""
var char_index = 0
var typing_speed = 0.05
var fast_typing_speed = 0.0001
var last_click_time = 0.0
var double_click_time = 0.3
var is_typing = true
var current_button_index = 0
var button
func _ready():
_initialize_menu()
_start_typing()
func _initialize_menu():
button = $VBoxContainer/BackToMenu
_update_button_visibility()
_blink_current_button()
func _update_button_visibility():
var hbox_container = button
var label_node = hbox_container.get_child(0)
if label_node != null:
label_node.visible
func _process(_delta: float) -> void:
if not is_typing:
if Input.is_action_pressed("ui_accept"):
typing_speed = fast_typing_speed
func _blink_current_button() -> void:
while true:
var hbox_container = button
var label_node = hbox_container.get_child(0)
if label_node != null:
label_node.visible = true
await get_tree().create_timer(0.5).timeout
if label_node != null:
label_node.visible = false
await get_tree().create_timer(0.5).timeout
func _unhandled_input(event: InputEvent) -> void:
if is_typing:
if event is InputEventKey and event.is_pressed():
if get_time_since_last_click() <= double_click_time:
_show_full_text()
else:
typing_speed = fast_typing_speed
elif event is InputEventKey and not event.is_pressed():
typing_speed = 0.05
else:
if event.is_action_pressed("ui_accept"):
button.get_child(1).emit_signal("pressed")
func _start_typing() -> void:
current_text = ""
char_index = 0
is_typing = true
_update_text()
func _update_text() -> void:
if char_index < credits_text.length():
current_text += credits_text[char_index]
$VBoxContainer/Label.text = current_text
char_index += 1
await get_tree().create_timer(typing_speed).timeout
_update_text()
else:
is_typing = false
_show_menu_options()
func _show_menu_options() -> void:
$VBoxContainer/BackToMenu.visible = true
func _return_to_main_menu() -> void:
get_tree().change_scene_to_file("res://menu/level_menu/level_select.tscn")
func _show_full_text() -> void:
current_text = credits_text
$VBoxContainer/Label.text = current_text
char_index = credits_text.length()
_show_menu_options()
func get_time_since_last_click() -> float:
var current_time = Time.get_ticks_msec() / 1000.0 # Zeit in Sekunden
var time_since_last_click = current_time - last_click_time
last_click_time = current_time
return time_since_last_click

View file

@ -0,0 +1,26 @@
@tool
extends TextureButton
signal level_selected
@export var level_num: int = 1
@export var locked: bool = true:
set(value):
locked = value
level_locked() if locked else level_unlocked()
func level_locked() -> void:
level_state(true)
func level_unlocked() -> void:
level_state(false)
$Label.text = str(level_num)
func level_state(value: bool) -> void:
disabled = value
$Label.visible = not value
func _on_pressed():
level_selected.emit(level_num)

View file

@ -0,0 +1,24 @@
extends Control
func _ready():
Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)
setup_level_box()
connect_level_selected_to_level_box()
func setup_level_box():
for box in $Background/ClipControl/GridContainer.get_children():
box.level_num = box.get_index() + 1
#box.locked = true
$Background/ClipControl/GridContainer.get_child(0).locked = false
func connect_level_selected_to_level_box():
for box in $Background/ClipControl/GridContainer.get_children():
box.connect("level_selected", change_to_scene)
func change_to_scene(level_num: int):
var next_level: String = "res://levels/level_" + str(level_num) + ".tscn"
get_tree().change_scene_to_file(next_level)
func _on_quit_button_pressed():
get_tree().change_scene_to_file("res://menu/main_menu/MainMenu.tscn")

View file

@ -0,0 +1,100 @@
extends Control
var credits_text = """
CREDITS:
-----------
Programming: Jannis, Fabio
Pixel Art : Leon
Music: TBN
"""
var current_text = ""
var char_index = 0
var typing_speed = 0.05
var fast_typing_speed = 0.0001
var last_click_time = 0.0
var double_click_time = 0.3
var is_typing = true
var current_button_index = 0
var button
func _ready():
_initialize_menu()
_start_typing()
func _initialize_menu():
button = $VBoxContainer/BackToMenu
_update_button_visibility()
_blink_current_button()
func _update_button_visibility():
var hbox_container = button
var label_node = hbox_container.get_child(0)
if label_node != null:
label_node.visible
func _process(_delta: float) -> void:
if not is_typing:
if Input.is_action_pressed("ui_accept"):
typing_speed = fast_typing_speed
func _blink_current_button() -> void:
while true:
var hbox_container = button
var label_node = hbox_container.get_child(0)
if label_node != null:
label_node.visible = true
await get_tree().create_timer(0.5).timeout
if label_node != null:
label_node.visible = false
await get_tree().create_timer(0.5).timeout
func _unhandled_input(event: InputEvent) -> void:
if is_typing:
if event is InputEventKey and event.is_pressed():
if get_time_since_last_click() <= double_click_time:
_show_full_text()
else:
typing_speed = fast_typing_speed
elif event is InputEventKey and not event.is_pressed():
typing_speed = 0.05
else:
if event.is_action_pressed("ui_accept"):
button.get_child(1).emit_signal("pressed")
func _start_typing() -> void:
current_text = ""
char_index = 0
is_typing = true
_update_text()
func _update_text() -> void:
if char_index < credits_text.length():
current_text += credits_text[char_index]
$VBoxContainer/Label.text = current_text
char_index += 1
await get_tree().create_timer(typing_speed).timeout
_update_text()
else:
is_typing = false
_show_menu_options()
func _show_menu_options() -> void:
$VBoxContainer/BackToMenu.visible = true
func _return_to_main_menu() -> void:
get_tree().change_scene_to_file("res://menu/main_menu/MainMenu.tscn")
func _show_full_text() -> void:
current_text = credits_text
$VBoxContainer/Label.text = current_text
char_index = credits_text.length()
is_typing = false
_show_menu_options()
func get_time_since_last_click() -> float:
var current_time = Time.get_ticks_msec() / 1000.0 # Zeit in Sekunden
var time_since_last_click = current_time - last_click_time
last_click_time = current_time
return time_since_last_click

View file

@ -0,0 +1,131 @@
extends Control
var display_text = """
STARTING Infiltrate.exe ...
MADE FOR GMTK GAME JAM 2024
---------------------------------------
>> SECURITY PROTOCOLS: ACTIVE
>> SCANNING FOR THREATS...
>> WARNING: UNAUTHORIZED ACCESS DETECTED
>> INITIALIZING COUNTERMEASURES...
PRESS START TO GET ACCESS.
"""
var current_text = ""
var char_index = 0
var typing_speed = 0.05
var fast_typing_speed = 0.0001
var last_click_time = 0.0
var double_click_time = 0.3
var is_typing = true
var current_button_index = 0
var buttons = []
func _ready():
for hbox in $VBoxContainer/Buttons.get_children():
hbox.visible = false
Input.set_mouse_mode(Input.MOUSE_MODE_HIDDEN)
_initialize_menu()
_start_typing()
func _initialize_menu():
buttons = $VBoxContainer/Buttons.get_children()
_update_button_visibility()
_blink_current_button()
func _update_button_visibility():
for i in range(len(buttons)):
var hbox_container = buttons[i]
var label_node = hbox_container.get_child(0)
if label_node != null:
label_node.visible = (i == current_button_index)
func _blink_current_button() -> void:
while true:
var hbox_container = buttons[current_button_index]
var label_node = hbox_container.get_child(0)
if label_node != null:
label_node.visible = true
await get_tree().create_timer(0.5).timeout
if label_node != null:
label_node.visible = false
await get_tree().create_timer(0.5).timeout
func _unhandled_input(event: InputEvent) -> void:
if is_typing:
if event is InputEventKey and event.is_pressed():
if get_time_since_last_click() <= double_click_time:
_show_full_text()
else:
typing_speed = fast_typing_speed
elif event is InputEventKey and not event.is_pressed():
typing_speed = 0.05
else:
if event.is_action_pressed("ui_down") or event.is_action_pressed("down"):
current_button_index = (current_button_index + 1) % buttons.size()
_update_button_visibility()
elif event.is_action_pressed("ui_up") or event.is_action_pressed("up"):
current_button_index = (current_button_index - 1 + buttons.size()) % buttons.size()
_update_button_visibility()
elif event.is_action_pressed("ui_accept"):
buttons[current_button_index].get_child(1).emit_signal("pressed")
func _process(_delta: float) -> void:
if not is_typing:
if Input.is_action_pressed("ui_accept"):
typing_speed = fast_typing_speed
func _start_typing() -> void:
current_text = ""
char_index = 0
is_typing = true
_update_text()
func _update_text() -> void:
if char_index < display_text.length():
current_text += display_text[char_index]
$VBoxContainer/VBoxContainer2/Label.text = current_text
char_index += 1
await get_tree().create_timer(typing_speed).timeout
_update_text()
else:
is_typing = false
_show_menu_options()
func _show_menu_options() -> void:
for hbox in $VBoxContainer/Buttons.get_children():
hbox.visible = true
func _show_full_text() -> void:
current_text = display_text
$VBoxContainer/VBoxContainer2/Label.text = current_text
char_index = display_text.length()
is_typing = false
_show_menu_options()
func get_time_since_last_click() -> float:
var current_time = Time.get_ticks_msec() / 1000.0 # Zeit in Sekunden
var time_since_last_click = current_time - last_click_time
last_click_time = current_time
return time_since_last_click
func _on_start_button_pressed() -> void:
get_tree().change_scene_to_file("res://levels/level_1.tscn")
func _on_level_select_pressed():
get_tree().change_scene_to_file("res://menu/level_menu/level_select.tscn")
func _on_credits_button_pressed() -> void:
get_tree().change_scene_to_file("res://menu/main_menu/CreditsScene.tscn")
func _on_quit_button_pressed() -> void:
$VBoxContainer/VBoxContainer2/Label.text += "Logging out!"
await get_tree().create_timer(0.5).timeout
get_tree().quit()

View file

@ -0,0 +1,127 @@
extends Control
var display_text = """
PAUSING OPERATION ...
---------------------------------------
"""
signal continue_game
signal restart_game
signal back_to_main_menu
var current_text = ""
var char_index = 0
var typing_speed = 0.05
var fast_typing_speed = 0.0001
var last_click_time = 0.0
var double_click_time = 0.3
var is_typing = true
var current_button_index = 0
var buttons = []
var current_scene = null
var pause_menu_node = null
func _ready():
current_scene = get_tree().current_scene
pause_menu_node = get_parent()
for hbox in $VBoxContainer/Buttons.get_children():
hbox.visible = false
Input.set_mouse_mode(Input.MOUSE_MODE_HIDDEN)
_initialize_menu()
_start_typing()
func _initialize_menu():
buttons = $VBoxContainer/Buttons.get_children()
_update_button_visibility()
func _update_button_visibility():
for i in range(len(buttons)):
var hbox_container = buttons[i]
var label_node = hbox_container.get_child(0)
if label_node != null:
label_node.visible = (i == current_button_index)
func _unhandled_input(event: InputEvent) -> void:
if is_typing:
if event is InputEventKey and event.is_pressed():
if get_time_since_last_click() <= double_click_time:
_show_full_text()
else:
typing_speed = fast_typing_speed
elif event is InputEventKey and not event.is_pressed():
typing_speed = 0.05
#else:
#if event.is_action_pressed("pause"):
#toggle_pause_menu()
if event.is_action_pressed("ui_down"):
navigate_menu(1)
elif event.is_action_pressed("ui_up"):
navigate_menu(-1)
if event.is_action_pressed("ui_accept"):
buttons[current_button_index].get_child(1).emit_signal("pressed")
func _process(_delta: float) -> void:
if not is_typing and Input.is_action_pressed("ui_accept"):
typing_speed = fast_typing_speed
func _start_typing() -> void:
current_text = ""
char_index = 0
is_typing = true
_update_text()
func _update_text() -> void:
if char_index < display_text.length():
current_text += display_text[char_index]
$VBoxContainer/VBoxContainer2/Label.text = current_text
char_index += 1
await get_tree().create_timer(typing_speed).timeout
_update_text()
else:
is_typing = false
_show_menu_options()
func _show_menu_options() -> void:
for hbox in $VBoxContainer/Buttons.get_children():
hbox.visible = true
grab_focus()
func _show_full_text() -> void:
current_text = display_text
$VBoxContainer/VBoxContainer2/Label.text = current_text
char_index = display_text.length()
is_typing = false
_show_menu_options()
func get_time_since_last_click() -> float:
var current_time = Time.get_ticks_msec() / 1000.0
var time_since_last_click = current_time - last_click_time
last_click_time = current_time
return time_since_last_click
func toggle_pause_menu():
if pause_menu_node.visible:
_on_continue_button_pressed()
else:
pause_menu_node.visible = true
get_tree().paused = true
grab_focus()
func _on_continue_button_pressed():
pause_menu_node.visible = false
get_tree().paused = false
func _on_restart_button_pressed():
emit_signal("restart_game")
func _on_back_to_main_menu_button_pressed():
emit_signal("back_to_main_menu")
func navigate_menu(direction: int) -> void:
current_button_index = (current_button_index + direction + buttons.size()) % buttons.size()
_update_button_visibility()

View file

@ -0,0 +1,171 @@
extends CharacterBody2D
@export var sfx : AudioStreamPlayer2D
@export var sfx_large : AudioStreamPlayer2D
@export var speed = 340
@export var gravity = 50
var jump_count = 1
@export var jump_strength = 100
@export var jump_strength_large = 400
var is_touching_floor : bool = true
var jump_buffer_timer : float
var coyote_timer : float = 0.2
var input_direction = 0
@export var max_link_distance: float = 70.0
var data_link: Line2D
var target_scale
@export var scale_duration: float = 0.5
var current_selected = "none"
var target_scale_player: Vector2 = Vector2(1, 1)
var cursor_scale_up = preload("res://textures/cursor_scale_up.png")
var cursor_scale_down = preload("res://textures/cursor_scale_down.png")
func _ready():
data_link = $data_link
func _unhandled_input(event: InputEvent) -> void:
if event.is_action_pressed("click"):
var nearest_block = find_nearest_block()
if nearest_block:
if nearest_block.scale == Vector2(0.5, 0.5) and self.scale == Vector2(2.0, 2.0):
nearest_block.scale_up()
scale_down_player()
elif nearest_block.scale == Vector2(1.0, 1.0) and self.scale == Vector2(1.0, 1.0):
nearest_block.scale_down()
scale_up_player()
else:
var nearest_enemy = find_nearest_enemy()
if nearest_enemy:
if nearest_enemy.scale == Vector2(1, 1) and self.scale == Vector2(2.0, 2.0):
nearest_enemy.scale = Vector2(2,2)
scale_down_player()
elif nearest_enemy.scale == Vector2(2, 2) and self.scale == Vector2(1.0, 1.0):
nearest_enemy.scale = Vector2(1,1)
scale_up_player()
func get_input(delta):
var left = Input.is_action_pressed("player_left")
var right = Input.is_action_pressed("player_right")
if Input.is_action_just_pressed("r"):
get_tree().reload_current_scene()
if left and right:
input_direction = 0
elif left:
input_direction = -1
elif right:
input_direction = 1
else:
input_direction = 0
velocity.x = input_direction * speed
if is_on_floor():
is_touching_floor = true
jump_count = 1
coyote_timer = 0.2
if jump_buffer_timer > 0:
Jump()
if not is_on_floor():
if jump_buffer_timer > 0:
jump_buffer_timer -= delta
if coyote_timer > 0.0:
coyote_timer -= delta
else:
jump_count = 0
if Input.is_action_just_pressed("player_jump"):
if jump_count > 0:
Jump()
else:
jump_buffer_timer = 0.2
elif Input.is_action_pressed("player_jump"):
velocity.y += -1 * 25
func _physics_process(delta):
get_input(delta)
velocity.y += gravity
move_and_slide()
if(get_slide_collision_count() > 0):
for i in get_slide_collision_count():
var box = get_slide_collision(i).get_collider() as Box
if scale.x == 2:
if box and velocity.y >= 0:
box.velocity.x = velocity.x*1.2
else:
if box and velocity.y >= 0 and box.scale.x < 2:
box.velocity.x = velocity.x*0.8
update_data_link()
update_cursor()
func Jump():
if scale.x == 1:
velocity.y = -1 * jump_strength
sfx.play()
else :
velocity.y = -1 * jump_strength_large
sfx_large.play()
jump_count = 0
is_touching_floor = false
func _on_hurtbox_body_entered(body: Node2D) -> void:
get_tree().reload_current_scene()
func update_data_link():
var nearest_block = find_nearest_block()
if nearest_block:
data_link.visible = true
data_link.set_point_position(0, Vector2.ZERO)
data_link.set_point_position(1, get_transform().affine_inverse() * nearest_block.position)
else:
data_link.visible = false
func update_cursor():
var nearest_block = find_nearest_block()
if nearest_block:
if nearest_block.scale == Vector2(0.5, 0.5) and self.scale == Vector2(2.0, 2.0):
Input.set_custom_mouse_cursor(cursor_scale_up)
elif nearest_block.scale == Vector2(1.0, 1.0) and self.scale == Vector2(1.0, 1.0):
Input.set_custom_mouse_cursor(cursor_scale_down)
func find_nearest_block() -> Node2D:
if not get_tree():
return null
var closest_distance = max_link_distance
var closest_block: Node2D = null
for block in get_tree().get_nodes_in_group("scalable_blocks"):
var distance = global_position.distance_to(block.global_position)
if distance <= closest_distance:
closest_distance = distance
closest_block = block
return closest_block
func find_nearest_enemy() -> Node2D:
var closest_distance = max_link_distance
var closest_block: Node2D = null
for block in get_tree().get_nodes_in_group("enemy"):
var distance = global_position.distance_to(block.global_position)
if distance <= closest_distance:
closest_distance = distance
closest_block = block
return closest_block
func start_scaling(target_node: Node2D, scale_value: Vector2):
var tween = create_tween()
tween.tween_property(target_node, "scale", scale_value, scale_duration)
func scale_up_player():
target_scale_player = Vector2(2.0, 2.0)
start_scaling(self, target_scale_player)
func scale_down_player():
target_scale_player = Vector2(1.0, 1.0)
start_scaling(self, target_scale_player)

View file

@ -0,0 +1,7 @@
extends CharacterBody2D
class_name Box;
func _physics_process(delta: float) -> void:
velocity.y += 50
velocity.x = velocity.x * 0.8
move_and_slide()

View file

@ -0,0 +1,38 @@
extends AnimatableBody2D
@export var scale_up_target: Vector2 = Vector2(1.0, 1.0)
@export var scale_down_target: Vector2 = Vector2(0.5, 0.5)
@export var scale_duration: float = 0.5
@export var ui_actions: Node
@export var small_sprite = preload("res://textures/antivirus-block-small.png")
@export var large_sprite = preload("res://textures/antivirus-block-big.png")
@export var delete_self = false
func _ready():
add_to_group("scalable_blocks")
func _process(delta):
change_sprite_based_on_scale()
func scale_up():
var tween = create_tween()
tween.tween_property(self, "scale", scale_up_target, scale_duration)
change_sprite_based_on_scale()
if delete_self:
queue_free()
func scale_down():
var tween = create_tween()
tween.tween_property(self, "scale", scale_down_target, scale_duration)
change_sprite_based_on_scale()
if delete_self:
queue_free()
func change_sprite_based_on_scale():
var sprite = $Sprite2D
if scale == Vector2(0.5, 0.5):
sprite.texture = small_sprite
elif scale == Vector2(1.0, 1.0):
sprite.texture = large_sprite

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

View file

@ -0,0 +1,87 @@
/*
CRT shader for Godot Engine by Yui Kinomoto @arlez80
*/
shader_type canvas_item;
// 画面
uniform sampler2D screen_texture : hint_screen_texture;
// ブラウン管のガラスの曲がり具合フラットなやつは0.0でいいかな)
uniform float crt_curve : hint_range( 0.0, 1.0 ) = 0.02;
// 走査線の濃さ
uniform float crt_scan_line_color : hint_range( 0.0, 1.0 ) = 0.347;
// 光量
uniform float aperture_grille_rate : hint_range( 0.0, 1.0 ) = 0.4;
// RFスイッチ的ブラー
uniform float rf_switch_esque_blur : hint_range( 0.0, 1.0 ) = 1;
// 白色ノイズ
uniform float white_noise_rate : hint_range( 0.0, 1.0 ) = 0.0;
float random( vec2 pos )
{
return fract(sin(dot(pos, vec2(12.9898,78.233))) * 43758.5453);
}
void fragment( )
{
// ガラスの曲がり具合
vec2 crt_curve_shift = ( vec2( 1.0, 1.0 ) - sin( UV.yx * PI ) ) * crt_curve;
vec2 crt_curve_scale = vec2( 1.0, 1.0 ) + crt_curve_shift * 2.0;
vec2 texture_fixed_uv = UV * crt_curve_scale - crt_curve_shift;
vec2 fixed_uv = SCREEN_UV * crt_curve_scale - crt_curve_shift;
// 範囲外を消す
float enable_color = float( 0.0 <= texture_fixed_uv.x && texture_fixed_uv.x <= 1.0 && 0.0 <= texture_fixed_uv.y && texture_fixed_uv.y <= 1.0 );
// ガラスの曲がり具合から元色を取得 + RFスイッチ的ブラー
COLOR.rgb = (
(
texture( screen_texture, fixed_uv ).rgb
* ( 1.0 - rf_switch_esque_blur * 0.5 )
)
+ (
(
texture( screen_texture, fixed_uv + vec2( -SCREEN_PIXEL_SIZE.x * 3.1, 0.0 ) ).rgb
+ texture( screen_texture, fixed_uv + vec2( SCREEN_PIXEL_SIZE.x * 3.1, 0.0 ) ).rgb
)
* ( rf_switch_esque_blur * 0.25 ) // RFイズ0.5 * テクスチャから読んだ2箇所を半分にしたい0.5
)
) * enable_color;
COLOR.a = 1.0;
// ------------------------------------------------
// 以下はアパーチャグリル上の1ピクセルごとの処理
vec2 aperture_grille_pixel = vec2( floor( ( fixed_uv.x / SCREEN_PIXEL_SIZE.x ) / 3.0 ) * 3.0, fixed_uv.y );
// 白色ノイズ
float white_noise = random( aperture_grille_pixel + vec2( sin( TIME * 0.543254 ), cos( TIME * 0.254323563 ) ) );
COLOR.rgb = mix(
COLOR.rgb
, vec3( white_noise, white_noise, white_noise )
, white_noise_rate * enable_color
);
// アパーチャグリル再現
float aperture_grille_point = mod( ( ( SCREEN_UV.x * crt_curve_scale.x ) - crt_curve_shift.x ) / SCREEN_PIXEL_SIZE.x, 3.0 );
float aperture_grille_r_rate = clamp( 1.0 - aperture_grille_point, 0.0, 1.0 ) + clamp( aperture_grille_point - 2.0, 0.0, 1.0 );
float aperture_grille_g_rate = clamp( 1.0 - abs( 1.0 - aperture_grille_point ), 0.0, 1.0 );
float aperture_grille_b_rate = 1.0 - aperture_grille_r_rate - aperture_grille_g_rate;
COLOR = clamp(
COLOR * vec4(
normalize( vec3(
clamp( aperture_grille_r_rate, aperture_grille_rate, 1.0 )
, clamp( aperture_grille_g_rate, aperture_grille_rate, 1.0 )
, clamp( aperture_grille_b_rate, aperture_grille_rate, 1.0 )
) )
, 1.0
)
, vec4( 0.0, 0.0, 0.0, 0.0 )
, vec4( 1.0, 1.0, 1.0, 1.0 )
);
// 走査線
COLOR = mix(
COLOR
, vec4( 0.0, 0.0, 0.0, 1.0 )
, float( 0 == int( fixed_uv.y / SCREEN_PIXEL_SIZE.y ) % 2 ) * crt_scan_line_color
);
}

View file

@ -0,0 +1,9 @@
shader_type canvas_item;
uniform float scroll_speed;
void fragment(){
vec2 shifteduv = UV;
shifteduv .y -= TIME * scroll_speed;
vec4 color = texture(TEXTURE, shifteduv);
COLOR = color;
}

BIN
gmtk_2024/sound/Jump5.wav Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5 KiB

View file

Before

Width:  |  Height:  |  Size: 994 B

After

Width:  |  Height:  |  Size: 994 B

View file

@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://3t2am0l5qvpq"
path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"
path="res://.godot/imported/icon.svg-54b04439b4d8634f76176c472591e9b4.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://icon.svg"
dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"]
source_file="res://temp_assets/icon.svg"
dest_files=["res://.godot/imported/icon.svg-54b04439b4d8634f76176c472591e9b4.ctex"]
[params]

Binary file not shown.

After

Width:  |  Height:  |  Size: 173 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://buqgl7x10et1f"
path="res://.godot/imported/img.png-dc45bd2bd72f900a7a2ec2ffa7c47124.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://temp_assets/img.png"
dest_files=["res://.godot/imported/img.png-dc45bd2bd72f900a7a2ec2ffa7c47124.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://2rfdls8oduj1"
path="res://.godot/imported/mirror.png-8323ac08430b69a1455e8f58bedfc150.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://temp_assets/mirror.png"
dest_files=["res://.godot/imported/mirror.png-8323ac08430b69a1455e8f58bedfc150.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bfpwj3kaxe1ka"
path="res://.godot/imported/mirror_hovered.png-fa2419b22d10d99c5187ca2e8ecc3d42.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://temp_assets/mirror_hovered.png"
dest_files=["res://.godot/imported/mirror_hovered.png-fa2419b22d10d99c5187ca2e8ecc3d42.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c02aqv5sgwvgn"
path="res://.godot/imported/scale_down_hovered.png-0778febf7416ccd7c8ca97bc8f162cb4.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://temp_assets/scale_down_hovered.png"
dest_files=["res://.godot/imported/scale_down_hovered.png-0778febf7416ccd7c8ca97bc8f162cb4.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cw3onignoce3e"
path="res://.godot/imported/scale_up.png-c50833ff329efc91c6234f8910a0feaa.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://temp_assets/scale_up.png"
dest_files=["res://.godot/imported/scale_up.png-c50833ff329efc91c6234f8910a0feaa.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ckr5hxaqp6s5x"
path="res://.godot/imported/scale_up_hovered.png-090bafae05a1ad3ed19d5bd535718527.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://temp_assets/scale_up_hovered.png"
dest_files=["res://.godot/imported/scale_up_hovered.png-090bafae05a1ad3ed19d5bd535718527.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://btmck3gpinxo1"
path="res://.godot/imported/scaled_down.png-212f7a95b9c138667b8d044aa8656802.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://temp_assets/scaled_down.png"
dest_files=["res://.godot/imported/scaled_down.png-212f7a95b9c138667b8d044aa8656802.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 932 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 565 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 467 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 685 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 685 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 301 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bnj38vubchr2w"
path="res://.godot/imported/Virus-Player-Sheet.png-07f10ef36716fa6b784552079fc14813.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://textures/Virus-Player-Sheet.png"
dest_files=["res://.godot/imported/Virus-Player-Sheet.png-07f10ef36716fa6b784552079fc14813.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 411 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 405 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 283 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 299 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 242 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 280 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 291 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dr4ayedb5xb2k"
path="res://.godot/imported/file_editor.png-df29bf0603480d0e2a8749cfcfa90ea1.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://textures/file_editor.png"
dest_files=["res://.godot/imported/file_editor.png-df29bf0603480d0e2a8749cfcfa90ea1.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

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