[gd_scene load_steps=21 format=2] [ext_resource path="res://Environment.tres" type="Environment" id=1] [ext_resource path="res://Main.gd" type="Script" id=2] [ext_resource path="res://aperture-vintage-472251-unsplash.jpg" type="Texture" id=3] [ext_resource path="res://Tetrominos/Mino/MinoLibrary.tres" type="MeshLibrary" id=4] [ext_resource path="res://GridMap.gd" type="Script" id=5] [ext_resource path="res://Tetrominos/Mino/drop_trail.png" type="Texture" id=6] [ext_resource path="res://midi/MidiPlayer.tscn" type="PackedScene" id=7] [ext_resource path="res://MidiPlayer.gd" type="Script" id=8] [ext_resource path="res://FlashText.gd" type="Script" id=9] [ext_resource path="res://fonts/525-ROUN.TTF" type="DynamicFontData" id=10] [ext_resource path="res://Stats.tscn" type="PackedScene" id=11] [ext_resource path="res://controls.tscn" type="PackedScene" id=12] [ext_resource path="res://Start.tscn" type="PackedScene" id=13] [ext_resource path="res://fonts/Gamer.ttf" type="DynamicFontData" id=14] [sub_resource type="SpatialMaterial" id=1] render_priority = 0 flags_transparent = true flags_unshaded = false flags_vertex_lighting = false flags_no_depth_test = false flags_use_point_size = false flags_world_triplanar = false flags_fixed_size = false flags_albedo_tex_force_srgb = false vertex_color_use_as_albedo = false vertex_color_is_srgb = false params_diffuse_mode = 0 params_specular_mode = 0 params_blend_mode = 1 params_cull_mode = 0 params_depth_draw_mode = 0 params_line_width = 1.0 params_point_size = 1.0 params_billboard_mode = 0 params_grow = false params_use_alpha_scissor = false albedo_color = Color( 0.601563, 0.775878, 1, 0.00784314 ) metallic = 0.0 metallic_specular = 0.0 metallic_texture_channel = 0 roughness = 0.46 roughness_texture_channel = 0 emission_enabled = false normal_enabled = false rim_enabled = false clearcoat_enabled = false anisotropy_enabled = false ao_enabled = false depth_enabled = false subsurf_scatter_enabled = false transmission_enabled = false refraction_enabled = false detail_enabled = false uv1_scale = Vector3( 1, 1, 1 ) uv1_offset = Vector3( 0, 0, 0 ) uv1_triplanar = false uv1_triplanar_sharpness = 1.0 uv2_scale = Vector3( 1, 1, 1 ) uv2_offset = Vector3( 0, 0, 0 ) uv2_triplanar = false uv2_triplanar_sharpness = 1.0 proximity_fade_enable = true proximity_fade_distance = 1.0 distance_fade_enable = false _sections_unfolded = [ "Albedo", "Anisotropy", "Clearcoat", "Detail", "Distance Fade", "Emission", "Flags", "Metallic", "NormalMap", "Parameters", "Proximity Fade", "Rim", "Roughness" ] [sub_resource type="CubeMesh" id=2] material = SubResource( 1 ) custom_aabb = AABB( 0, 0, 0, 0, 0, 0 ) size = Vector3( 1, 1, 1 ) subdivide_width = 0 subdivide_height = 0 subdivide_depth = 0 [sub_resource type="CubeMesh" id=3] material = SubResource( 1 ) custom_aabb = AABB( 0, 0, 0, 0, 0, 0 ) size = Vector3( 1, 1, 1 ) subdivide_width = 0 subdivide_height = 0 subdivide_depth = 0 [sub_resource type="DynamicFont" id=4] size = 50 use_mipmaps = true use_filter = false font_data = ExtResource( 10 ) _sections_unfolded = [ "Font", "Settings" ] [sub_resource type="Animation" id=5] resource_name = "Flash" length = 1.0 loop = false step = 0.1 tracks/0/type = "value" tracks/0/path = NodePath("Label:custom_fonts/font:size") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/enabled = true tracks/0/keys = { "times": PoolRealArray( 0, 0.1, 0.9, 1 ), "transitions": PoolRealArray( 1, 0, 1, 1 ), "update": 0, "values": [ 30, 30, 30, 50 ] } tracks/1/type = "value" tracks/1/path = NodePath("Label:custom_colors/font_color") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/imported = false tracks/1/enabled = true tracks/1/keys = { "times": PoolRealArray( 0, 0.1, 0.9, 1 ), "transitions": PoolRealArray( 1, 1, 1, 1 ), "update": 0, "values": [ Color( 0.445404, 0.710476, 0.820313, 0 ), Color( 0.445404, 0.710476, 0.820313, 0.533765 ), Color( 0.445404, 0.710476, 0.820313, 0.533765 ), Color( 0.445404, 0.710476, 0.820313, 0 ) ] } tracks/2/type = "value" tracks/2/path = NodePath("Label:rect_position") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/imported = false tracks/2/enabled = true tracks/2/keys = { "times": PoolRealArray( 0, 0.1, 0.9, 1 ), "transitions": PoolRealArray( 1, 1, 1, 1 ), "update": 0, "values": [ Vector2( 0, 110 ), Vector2( 0, -50 ), Vector2( 0, -60 ), Vector2( 0, -100 ) ] } [sub_resource type="DynamicFont" id=6] size = 20 use_mipmaps = false use_filter = false extra_spacing_bottom = 5 font_data = ExtResource( 14 ) _sections_unfolded = [ "Extra Spacing", "Font", "Settings" ] [node name="Main" type="WorldEnvironment" index="0"] environment = ExtResource( 1 ) script = ExtResource( 2 ) [node name="Background" type="Sprite3D" parent="." index="0"] transform = Transform( 12.8, 0, 0, 0, 8.53, 0, 0, 0, 1, 4.5, 29, -34 ) layers = 1 material_override = null cast_shadow = 1 extra_cull_margin = 0.0 use_in_baked_light = false lod_min_distance = 0.0 lod_min_hysteresis = 0.0 lod_max_distance = 0.0 lod_max_hysteresis = 0.0 centered = true offset = Vector2( 0, 0 ) flip_h = false flip_v = false modulate = Color( 0.334808, 0.343253, 0.359375, 0 ) opacity = 1.0 pixel_size = 0.01 axis = 2 transparent = false shaded = false double_sided = false alpha_cut = 0 texture = ExtResource( 3 ) vframes = 1 hframes = 1 frame = 0 region_enabled = false region_rect = Rect2( 0, 0, 0, 0 ) _sections_unfolded = [ "Animation", "Flags", "Geometry", "Transform" ] [node name="Camera" type="Camera" parent="." index="1"] transform = Transform( 1, 0, 0, 0, 0.939693, -0.34202, 0, 0.34202, 0.939693, 4.5, 2, 19 ) keep_aspect = 1 cull_mask = 1048575 environment = null h_offset = 0.0 v_offset = 0.0 doppler_tracking = 0 projection = 0 current = true fov = 60.3 size = 1.0 near = 0.05 far = 500.0 _sections_unfolded = [ "Transform" ] [node name="DirectionalLight" type="DirectionalLight" parent="." index="2"] transform = Transform( 0.332668, 0.771982, -0.541642, 0.579657, 0.285656, 0.763151, 0.743861, -0.567843, -0.352456, 5, 30, 0 ) layers = 1 light_color = Color( 1, 1, 1, 1 ) light_energy = 3.0 light_indirect_energy = 1.0 light_negative = false light_specular = 0.5 light_bake_mode = 1 light_cull_mask = -1 shadow_enabled = false shadow_color = Color( 0, 0, 0, 1 ) shadow_bias = 0.1 shadow_contact = 0.0 shadow_reverse_cull_face = false editor_only = false directional_shadow_mode = 2 directional_shadow_split_1 = 0.1 directional_shadow_split_2 = 0.2 directional_shadow_split_3 = 0.5 directional_shadow_blend_splits = false directional_shadow_normal_bias = 0.8 directional_shadow_bias_split_scale = 0.25 directional_shadow_depth_range = 0 directional_shadow_max_distance = 200.0 _sections_unfolded = [ "Light", "Transform" ] [node name="Matrix" type="MeshInstance" parent="." index="3"] transform = Transform( 10, 0, 0, 0, 20, 0, 0, 0, 1, 4.5, 9.5, 0 ) visible = false layers = 1 material_override = null cast_shadow = 1 extra_cull_margin = 0.0 use_in_baked_light = false lod_min_distance = 0.0 lod_min_hysteresis = 0.0 lod_max_distance = 0.0 lod_max_hysteresis = 0.0 mesh = SubResource( 2 ) skeleton = NodePath("..") material/0 = null _sections_unfolded = [ "Transform", "material" ] [node name="GridMap" type="GridMap" parent="Matrix" index="0"] transform = Transform( 0.1, 0, 0, 0, 0.05, 0, 0, 0, 1, -0.45, -0.475, 0 ) theme = ExtResource( 4 ) cell_size = Vector3( 1, 1, 1 ) cell_octant_size = 8 cell_center_x = false cell_center_y = false cell_center_z = false cell_scale = 1.0 collision_layer = 1 collision_mask = 1 data = { "cells": PoolIntArray( ) } script = ExtResource( 5 ) _sections_unfolded = [ "Cell", "Transform" ] __meta__ = { "_editor_clip_": 1, "_editor_floor_": Vector3( 0, -2, 0 ) } [node name="Position3D" type="Position3D" parent="Matrix" index="1"] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 20, 0 ) _sections_unfolded = [ "Transform" ] [node name="DropTrail" type="Spatial" parent="Matrix" index="2"] editor/display_folded = true transform = Transform( 0.1, 0, 0, 0, 0.05, 0, 0, 0, 1, -0.45, -0.475, 0 ) visible = false _sections_unfolded = [ "Transform" ] [node name="0" type="Spatial" parent="Matrix/DropTrail" index="0"] _sections_unfolded = [ "Transform" ] [node name="Sprite" type="Sprite3D" parent="Matrix/DropTrail/0" index="0"] transform = Transform( 1.5, 0, 0, 0, 5, 0, 0, 0, 1, 0, 8, 0 ) layers = 1 material_override = null cast_shadow = 1 extra_cull_margin = 0.0 use_in_baked_light = false lod_min_distance = 0.0 lod_min_hysteresis = 0.0 lod_max_distance = 0.0 lod_max_hysteresis = 0.0 centered = true offset = Vector2( 0, 0 ) flip_h = false flip_v = false modulate = Color( 1, 1, 1, 1 ) opacity = 0.1 pixel_size = 0.01 axis = 2 transparent = true shaded = false double_sided = true alpha_cut = 0 texture = ExtResource( 6 ) vframes = 1 hframes = 1 frame = 0 region_enabled = false region_rect = Rect2( 0, 0, 0, 0 ) _sections_unfolded = [ "Flags", "Transform" ] [node name="1" type="Spatial" parent="Matrix/DropTrail" index="1"] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, 0 ) _sections_unfolded = [ "Transform" ] [node name="Sprite" type="Sprite3D" parent="Matrix/DropTrail/1" index="0"] transform = Transform( 1.5, 0, 0, 0, 5, 0, 0, 0, 1, 0, 8, 0 ) layers = 1 material_override = null cast_shadow = 1 extra_cull_margin = 0.0 use_in_baked_light = false lod_min_distance = 0.0 lod_min_hysteresis = 0.0 lod_max_distance = 0.0 lod_max_hysteresis = 0.0 centered = true offset = Vector2( 0, 0 ) flip_h = false flip_v = false modulate = Color( 1, 1, 1, 1 ) opacity = 0.1 pixel_size = 0.01 axis = 2 transparent = true shaded = false double_sided = true alpha_cut = 0 texture = ExtResource( 6 ) vframes = 1 hframes = 1 frame = 0 region_enabled = false region_rect = Rect2( 0, 0, 0, 0 ) _sections_unfolded = [ "Flags", "Transform" ] [node name="2" type="Spatial" parent="Matrix/DropTrail" index="2"] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0 ) _sections_unfolded = [ "Transform" ] [node name="Sprite" type="Sprite3D" parent="Matrix/DropTrail/2" index="0"] transform = Transform( 1.5, 0, 0, 0, 5, 0, 0, 0, 1, 0, 8, 0 ) layers = 1 material_override = null cast_shadow = 1 extra_cull_margin = 0.0 use_in_baked_light = false lod_min_distance = 0.0 lod_min_hysteresis = 0.0 lod_max_distance = 0.0 lod_max_hysteresis = 0.0 centered = true offset = Vector2( 0, 0 ) flip_h = false flip_v = false modulate = Color( 1, 1, 1, 1 ) opacity = 0.1 pixel_size = 0.01 axis = 2 transparent = true shaded = false double_sided = true alpha_cut = 0 texture = ExtResource( 6 ) vframes = 1 hframes = 1 frame = 0 region_enabled = false region_rect = Rect2( 0, 0, 0, 0 ) _sections_unfolded = [ "Flags", "Transform" ] [node name="3" type="Spatial" parent="Matrix/DropTrail" index="3"] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0 ) _sections_unfolded = [ "Transform" ] [node name="Sprite" type="Sprite3D" parent="Matrix/DropTrail/3" index="0"] transform = Transform( 1.5, 0, 0, 0, 5, 0, 0, 0, 1, 0, 8, 0 ) layers = 1 material_override = null cast_shadow = 1 extra_cull_margin = 0.0 use_in_baked_light = false lod_min_distance = 0.0 lod_min_hysteresis = 0.0 lod_max_distance = 0.0 lod_max_hysteresis = 0.0 centered = true offset = Vector2( 0, 0 ) flip_h = false flip_v = false modulate = Color( 1, 1, 1, 1 ) opacity = 0.1 pixel_size = 0.01 axis = 2 transparent = true shaded = false double_sided = true alpha_cut = 0 texture = ExtResource( 6 ) vframes = 1 hframes = 1 frame = 0 region_enabled = false region_rect = Rect2( 0, 0, 0, 0 ) _sections_unfolded = [ "Flags", "Transform" ] [node name="Delay" type="Timer" parent="Matrix/DropTrail" index="4"] process_mode = 1 wait_time = 0.06 one_shot = true autostart = false [node name="Hold" type="MeshInstance" parent="." index="4"] transform = Transform( 7, 0, 0, 0, 7, 0, 0, 0, 1, -5, 16, 0 ) visible = false layers = 1 material_override = null cast_shadow = 1 extra_cull_margin = 0.0 use_in_baked_light = false lod_min_distance = 0.0 lod_min_hysteresis = 0.0 lod_max_distance = 0.0 lod_max_hysteresis = 0.0 mesh = SubResource( 3 ) skeleton = NodePath("..") material/0 = null _sections_unfolded = [ "Transform" ] [node name="Position3D" type="Position3D" parent="Hold" index="0"] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -5, 16, 0 ) _sections_unfolded = [ "Transform" ] [node name="Next" type="MeshInstance" parent="." index="5"] transform = Transform( 7, 0, 0, 0, 7, 0, 0, 0, 1, 14, 16, 0 ) visible = false layers = 1 material_override = null cast_shadow = 1 extra_cull_margin = 0.0 use_in_baked_light = false lod_min_distance = 0.0 lod_min_hysteresis = 0.0 lod_max_distance = 0.0 lod_max_hysteresis = 0.0 mesh = SubResource( 3 ) skeleton = NodePath("..") material/0 = null _sections_unfolded = [ "Transform" ] [node name="Position3D" type="Position3D" parent="Next" index="0"] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 13, 16, 0 ) _sections_unfolded = [ "Transform" ] [node name="DropTimer" type="Timer" parent="." index="6"] process_mode = 1 wait_time = 1.0 one_shot = false autostart = false [node name="LockDelay" type="Timer" parent="." index="7"] process_mode = 1 wait_time = 0.5 one_shot = true autostart = false [node name="AutoShiftDelay" type="Timer" parent="." index="8"] process_mode = 1 wait_time = 0.2 one_shot = true autostart = false [node name="AutoShiftTimer" type="Timer" parent="." index="9"] process_mode = 1 wait_time = 0.03 one_shot = false autostart = false [node name="MidiPlayer" parent="." index="10" instance=ExtResource( 7 )] editor/display_folded = true script = ExtResource( 8 ) _sections_unfolded = [ "Pause" ] file = "res://midi/Korobeiniki.mid" volume_db = -24 loop = true loop_start = 1.81 soundfont = "res://midi/TimGM6mb.sf2" [node name="LineCLearTimer" type="Timer" parent="MidiPlayer" index="1"] process_mode = 1 wait_time = 1.41 one_shot = true autostart = false [node name="FlashText" type="Control" parent="." index="11"] anchor_left = 0.5 anchor_top = 0.5 anchor_right = 0.5 anchor_bottom = 0.5 margin_left = -250.0 margin_top = -300.0 margin_right = 250.0 margin_bottom = 200.0 rect_pivot_offset = Vector2( 0, 0 ) rect_clip_content = false mouse_filter = 0 mouse_default_cursor_shape = 0 size_flags_horizontal = 1 size_flags_vertical = 1 script = ExtResource( 9 ) _sections_unfolded = [ "Material", "Rect", "Size Flags", "Theme" ] [node name="Label" type="Label" parent="FlashText" index="0"] anchor_left = 0.0 anchor_top = 0.0 anchor_right = 0.0 anchor_bottom = 0.0 margin_top = -100.0 margin_right = 500.0 margin_bottom = 400.0 rect_pivot_offset = Vector2( 0, 0 ) rect_clip_content = false mouse_filter = 2 mouse_default_cursor_shape = 0 size_flags_horizontal = 1 size_flags_vertical = 4 custom_fonts/font = SubResource( 4 ) custom_colors/font_color = Color( 0.445404, 0.710476, 0.820313, 0 ) align = 1 valign = 1 percent_visible = 1.0 lines_skipped = 0 max_lines_visible = -1 _sections_unfolded = [ "custom_colors", "custom_fonts" ] [node name="AnimationPlayer" type="AnimationPlayer" parent="FlashText" index="1"] root_node = NodePath("..") autoplay = "" playback_process_mode = 1 playback_default_blend_time = 0.0 playback_speed = 1.0 anims/Flash = SubResource( 5 ) blend_times = [ ] _sections_unfolded = [ "Playback Options" ] [node name="Stats" parent="." index="12" instance=ExtResource( 11 )] visible = false anchor_left = 0.0 anchor_top = 1.0 anchor_right = 0.0 anchor_bottom = 1.0 margin_left = 30.0 margin_top = -220.0 margin_right = 140.0 margin_bottom = -25.0 [node name="controls_ui" parent="." index="13" instance=ExtResource( 12 )] visible = false [node name="Start" parent="." index="14" instance=ExtResource( 13 )] [node name="ReplayButton" type="Button" parent="." index="15"] visible = false anchor_left = 1.0 anchor_top = 1.0 anchor_right = 1.0 anchor_bottom = 1.0 margin_left = -170.0 margin_top = -90.0 margin_right = -45.0 margin_bottom = -50.0 rect_pivot_offset = Vector2( 0, 0 ) rect_clip_content = false focus_mode = 2 mouse_filter = 0 mouse_default_cursor_shape = 0 size_flags_horizontal = 1 size_flags_vertical = 1 custom_fonts/font = SubResource( 6 ) custom_colors/font_color = Color( 1, 1, 1, 1 ) toggle_mode = false enabled_focus_mode = 2 shortcut = null group = null text = "play again" flat = false align = 1 _sections_unfolded = [ "Margin", "custom_colors", "custom_fonts" ] [connection signal="timeout" from="Matrix/DropTrail/Delay" to="." method="_on_DropTrailDelay_timeout"] [connection signal="timeout" from="DropTimer" to="." method="_on_DropTimer_timeout"] [connection signal="timeout" from="LockDelay" to="." method="_on_LockDelay_timeout"] [connection signal="timeout" from="AutoShiftDelay" to="." method="_on_AutoShiftDelay_timeout"] [connection signal="timeout" from="AutoShiftTimer" to="." method="_on_AutoShiftTimer_timeout"] [connection signal="timeout" from="MidiPlayer/LineCLearTimer" to="MidiPlayer" method="_on_LineCLearTimer_timeout"] [connection signal="animation_finished" from="FlashText/AnimationPlayer" to="FlashText" method="_on_AnimationPlayer_animation_finished"] [connection signal="flash_text" from="Stats" to="FlashText" method="print"] [connection signal="level_up" from="Stats" to="." method="new_level"] [connection signal="start" from="Start" to="." method="new_game"] [connection signal="pressed" from="ReplayButton" to="." method="_on_ReplayButton_pressed"]