First commit
This commit is contained in:
4
.editorconfig
Normal file
4
.editorconfig
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
root = true
|
||||||
|
|
||||||
|
[*]
|
||||||
|
charset = utf-8
|
||||||
2
.gitattributes
vendored
Normal file
2
.gitattributes
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
# Normalize EOL for all files that Git considers text files.
|
||||||
|
* text=auto eol=lf
|
||||||
4
.gitignore
vendored
Normal file
4
.gitignore
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
# Godot 4+ specific ignores
|
||||||
|
.godot/
|
||||||
|
/android/
|
||||||
|
/audio/music/
|
||||||
BIN
ASTERA v2.ttf
Normal file
BIN
ASTERA v2.ttf
Normal file
Binary file not shown.
36
ASTERA v2.ttf.import
Normal file
36
ASTERA v2.ttf.import
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="font_data_dynamic"
|
||||||
|
type="FontFile"
|
||||||
|
uid="uid://c83fwpdo5bu8j"
|
||||||
|
path="res://.godot/imported/ASTERA v2.ttf-875ae7bdf06d3fa0de10fc25386b1f10.fontdata"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://ASTERA v2.ttf"
|
||||||
|
dest_files=["res://.godot/imported/ASTERA v2.ttf-875ae7bdf06d3fa0de10fc25386b1f10.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
|
||||||
|
modulate_color_glyphs=false
|
||||||
|
hinting=1
|
||||||
|
subpixel_positioning=4
|
||||||
|
keep_rounding_remainders=true
|
||||||
|
oversampling=0.0
|
||||||
|
Fallbacks=null
|
||||||
|
fallbacks=[]
|
||||||
|
Compress=null
|
||||||
|
compress=true
|
||||||
|
preload=[]
|
||||||
|
language_support={}
|
||||||
|
script_support={}
|
||||||
|
opentype_features={}
|
||||||
BIN
audio/sounds/BUTTON Generic Metal Medium High Mechanics 02.wav
Normal file
BIN
audio/sounds/BUTTON Generic Metal Medium High Mechanics 02.wav
Normal file
Binary file not shown.
@@ -0,0 +1,24 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamWAV"
|
||||||
|
uid="uid://kj25hej55ckw"
|
||||||
|
path="res://.godot/imported/BUTTON Generic Metal Medium High Mechanics 02.wav-72e6e0adcf2b99d877e88bca68e86942.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://audio/sounds/BUTTON Generic Metal Medium High Mechanics 02.wav"
|
||||||
|
dest_files=["res://.godot/imported/BUTTON Generic Metal Medium High Mechanics 02.wav-72e6e0adcf2b99d877e88bca68e86942.sample"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=false
|
||||||
|
edit/normalize=false
|
||||||
|
edit/loop_mode=0
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
|
compress/mode=2
|
||||||
BIN
audio/sounds/BeepBeep_high.wav
Normal file
BIN
audio/sounds/BeepBeep_high.wav
Normal file
Binary file not shown.
24
audio/sounds/BeepBeep_high.wav.import
Normal file
24
audio/sounds/BeepBeep_high.wav.import
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamWAV"
|
||||||
|
uid="uid://cmnibhyxpag0a"
|
||||||
|
path="res://.godot/imported/BeepBeep_high.wav-fa7e0ffacf5612ac8b4a049018bca0f6.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://audio/sounds/BeepBeep_high.wav"
|
||||||
|
dest_files=["res://.godot/imported/BeepBeep_high.wav-fa7e0ffacf5612ac8b4a049018bca0f6.sample"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=false
|
||||||
|
edit/normalize=false
|
||||||
|
edit/loop_mode=0
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
|
compress/mode=2
|
||||||
57
project.godot
Normal file
57
project.godot
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
; 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="Trap Shooter"
|
||||||
|
config/features=PackedStringArray("4.5", "Forward Plus")
|
||||||
|
config/icon="res://visuals/images/icon.svg"
|
||||||
|
|
||||||
|
[autoload]
|
||||||
|
|
||||||
|
Game="*res://scripts/autos/game.gd"
|
||||||
|
|
||||||
|
[display]
|
||||||
|
|
||||||
|
window/size/viewport_width=1920
|
||||||
|
window/size/viewport_height=1080
|
||||||
|
|
||||||
|
[dotnet]
|
||||||
|
|
||||||
|
project/assembly_name="Trap Gunner"
|
||||||
|
|
||||||
|
[input]
|
||||||
|
|
||||||
|
ui_menu={
|
||||||
|
"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":4194370,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
|
||||||
|
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":6,"pressure":0.0,"pressed":true,"script":null)
|
||||||
|
]
|
||||||
|
}
|
||||||
|
north={
|
||||||
|
"deadzone": 0.2,
|
||||||
|
"events": [Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":1,"axis_value":-1.0,"script":null)
|
||||||
|
]
|
||||||
|
}
|
||||||
|
south={
|
||||||
|
"deadzone": 0.2,
|
||||||
|
"events": [Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":1,"axis_value":1.0,"script":null)
|
||||||
|
]
|
||||||
|
}
|
||||||
|
east={
|
||||||
|
"deadzone": 0.2,
|
||||||
|
"events": [Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":0,"axis_value":1.0,"script":null)
|
||||||
|
]
|
||||||
|
}
|
||||||
|
west={
|
||||||
|
"deadzone": 0.2,
|
||||||
|
"events": [Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":0,"axis_value":-1.0,"script":null)
|
||||||
|
]
|
||||||
|
}
|
||||||
429
scenes/character_select.tscn
Normal file
429
scenes/character_select.tscn
Normal file
@@ -0,0 +1,429 @@
|
|||||||
|
[gd_scene load_steps=6 format=3 uid="uid://ck4x56txf676a"]
|
||||||
|
|
||||||
|
[ext_resource type="Shader" uid="uid://b2g6yddun2l6e" path="res://visuals/shaders/noise.gdshader" id="1_jgus3"]
|
||||||
|
[ext_resource type="Script" uid="uid://bnmklbse62lrf" path="res://scripts/static.gd" id="2_bow2h"]
|
||||||
|
|
||||||
|
[sub_resource type="ShaderMaterial" id="ShaderMaterial_uxcyu"]
|
||||||
|
shader = ExtResource("1_jgus3")
|
||||||
|
shader_parameter/granularity = 0.0
|
||||||
|
shader_parameter/opacity_limit = 0.0
|
||||||
|
|
||||||
|
[sub_resource type="Gradient" id="Gradient_ak2if"]
|
||||||
|
offsets = PackedFloat32Array(0)
|
||||||
|
colors = PackedColorArray(0, 0, 0, 1)
|
||||||
|
|
||||||
|
[sub_resource type="GradientTexture1D" id="GradientTexture1D_fa52j"]
|
||||||
|
gradient = SubResource("Gradient_ak2if")
|
||||||
|
width = 1
|
||||||
|
|
||||||
|
[node name="Control" type="Control"]
|
||||||
|
layout_mode = 3
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
|
||||||
|
[node name="Panel" type="Panel" parent="."]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
|
||||||
|
[node name="Panel" type="Panel" parent="Panel"]
|
||||||
|
layout_mode = 1
|
||||||
|
offset_left = 94.0
|
||||||
|
offset_top = 96.0
|
||||||
|
offset_right = 794.0
|
||||||
|
offset_bottom = 796.0
|
||||||
|
|
||||||
|
[node name="TextureRect" type="TextureRect" parent="Panel/Panel"]
|
||||||
|
material = SubResource("ShaderMaterial_uxcyu")
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
texture = SubResource("GradientTexture1D_fa52j")
|
||||||
|
expand_mode = 1
|
||||||
|
script = ExtResource("2_bow2h")
|
||||||
|
|
||||||
|
[node name="Control" type="Control" parent="Panel/Panel"]
|
||||||
|
anchors_preset = 0
|
||||||
|
offset_left = 108.0
|
||||||
|
offset_top = 286.0
|
||||||
|
offset_right = 392.0
|
||||||
|
offset_bottom = 350.0
|
||||||
|
|
||||||
|
[node name="VBoxContainer" type="VBoxContainer" parent="Panel/Panel/Control"]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 7
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_top = 1.0
|
||||||
|
anchor_right = 0.5
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
offset_left = -39.0
|
||||||
|
offset_top = 236.0
|
||||||
|
offset_right = 245.0
|
||||||
|
offset_bottom = 349.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 0
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="Panel/Panel/Control/VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
theme_override_font_sizes/font_size = 32
|
||||||
|
text = "NAME GOES HERE"
|
||||||
|
horizontal_alignment = 1
|
||||||
|
|
||||||
|
[node name="Panel" type="PanelContainer" parent="Panel/Panel/Control/VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="HBoxContainer" type="HBoxContainer" parent="Panel/Panel/Control/VBoxContainer/Panel"]
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="TextureRect" type="TextureRect" parent="Panel/Panel/Control/VBoxContainer/Panel/HBoxContainer"]
|
||||||
|
custom_minimum_size = Vector2(92, 64)
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="Panel/Panel/Control/VBoxContainer/Panel/HBoxContainer/TextureRect"]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 3
|
||||||
|
anchor_left = 1.0
|
||||||
|
anchor_top = 1.0
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
offset_left = -40.0
|
||||||
|
offset_top = -23.0
|
||||||
|
grow_horizontal = 0
|
||||||
|
grow_vertical = 0
|
||||||
|
text = "##"
|
||||||
|
horizontal_alignment = 2
|
||||||
|
|
||||||
|
[node name="TextureRect2" type="TextureRect" parent="Panel/Panel/Control/VBoxContainer/Panel/HBoxContainer"]
|
||||||
|
custom_minimum_size = Vector2(92, 64)
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="Panel/Panel/Control/VBoxContainer/Panel/HBoxContainer/TextureRect2"]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 3
|
||||||
|
anchor_left = 1.0
|
||||||
|
anchor_top = 1.0
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
offset_left = -40.0
|
||||||
|
offset_top = -23.0
|
||||||
|
grow_horizontal = 0
|
||||||
|
grow_vertical = 0
|
||||||
|
text = "##"
|
||||||
|
horizontal_alignment = 2
|
||||||
|
|
||||||
|
[node name="TextureRect3" type="TextureRect" parent="Panel/Panel/Control/VBoxContainer/Panel/HBoxContainer"]
|
||||||
|
custom_minimum_size = Vector2(92, 64)
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="Panel/Panel/Control/VBoxContainer/Panel/HBoxContainer/TextureRect3"]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 3
|
||||||
|
anchor_left = 1.0
|
||||||
|
anchor_top = 1.0
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
offset_left = -40.0
|
||||||
|
offset_top = -23.0
|
||||||
|
grow_horizontal = 0
|
||||||
|
grow_vertical = 0
|
||||||
|
text = "##"
|
||||||
|
horizontal_alignment = 2
|
||||||
|
|
||||||
|
[node name="Panel2" type="Panel" parent="Panel"]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 1
|
||||||
|
anchor_left = 1.0
|
||||||
|
anchor_right = 1.0
|
||||||
|
offset_left = -794.0
|
||||||
|
offset_top = 98.0
|
||||||
|
offset_right = -94.0
|
||||||
|
offset_bottom = 798.0
|
||||||
|
grow_horizontal = 0
|
||||||
|
|
||||||
|
[node name="TextureRect" type="TextureRect" parent="Panel/Panel2"]
|
||||||
|
material = SubResource("ShaderMaterial_uxcyu")
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
texture = SubResource("GradientTexture1D_fa52j")
|
||||||
|
expand_mode = 1
|
||||||
|
script = ExtResource("2_bow2h")
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="Panel/Panel2"]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 1
|
||||||
|
anchor_left = 1.0
|
||||||
|
anchor_right = 1.0
|
||||||
|
offset_left = -40.0
|
||||||
|
offset_bottom = 23.0
|
||||||
|
grow_horizontal = 0
|
||||||
|
theme_override_font_sizes/font_size = 24
|
||||||
|
text = "EASY"
|
||||||
|
|
||||||
|
[node name="Control" type="Control" parent="Panel/Panel2"]
|
||||||
|
anchors_preset = 0
|
||||||
|
offset_left = 108.0
|
||||||
|
offset_top = 286.0
|
||||||
|
offset_right = 392.0
|
||||||
|
offset_bottom = 350.0
|
||||||
|
|
||||||
|
[node name="VBoxContainer" type="VBoxContainer" parent="Panel/Panel2/Control"]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 7
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_top = 1.0
|
||||||
|
anchor_right = 0.5
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
offset_left = -42.0
|
||||||
|
offset_top = 235.0
|
||||||
|
offset_right = 242.0
|
||||||
|
offset_bottom = 348.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 0
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="Panel/Panel2/Control/VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
theme_override_font_sizes/font_size = 32
|
||||||
|
text = "NAME GOES HERE"
|
||||||
|
horizontal_alignment = 1
|
||||||
|
|
||||||
|
[node name="Panel" type="PanelContainer" parent="Panel/Panel2/Control/VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="HBoxContainer" type="HBoxContainer" parent="Panel/Panel2/Control/VBoxContainer/Panel"]
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="TextureRect" type="TextureRect" parent="Panel/Panel2/Control/VBoxContainer/Panel/HBoxContainer"]
|
||||||
|
custom_minimum_size = Vector2(92, 64)
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="Panel/Panel2/Control/VBoxContainer/Panel/HBoxContainer/TextureRect"]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 3
|
||||||
|
anchor_left = 1.0
|
||||||
|
anchor_top = 1.0
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
offset_left = -40.0
|
||||||
|
offset_top = -23.0
|
||||||
|
grow_horizontal = 0
|
||||||
|
grow_vertical = 0
|
||||||
|
text = "##"
|
||||||
|
horizontal_alignment = 2
|
||||||
|
|
||||||
|
[node name="TextureRect2" type="TextureRect" parent="Panel/Panel2/Control/VBoxContainer/Panel/HBoxContainer"]
|
||||||
|
custom_minimum_size = Vector2(92, 64)
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="Panel/Panel2/Control/VBoxContainer/Panel/HBoxContainer/TextureRect2"]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 3
|
||||||
|
anchor_left = 1.0
|
||||||
|
anchor_top = 1.0
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
offset_left = -40.0
|
||||||
|
offset_top = -23.0
|
||||||
|
grow_horizontal = 0
|
||||||
|
grow_vertical = 0
|
||||||
|
text = "##"
|
||||||
|
horizontal_alignment = 2
|
||||||
|
|
||||||
|
[node name="TextureRect3" type="TextureRect" parent="Panel/Panel2/Control/VBoxContainer/Panel/HBoxContainer"]
|
||||||
|
custom_minimum_size = Vector2(92, 64)
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="Panel/Panel2/Control/VBoxContainer/Panel/HBoxContainer/TextureRect3"]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 3
|
||||||
|
anchor_left = 1.0
|
||||||
|
anchor_top = 1.0
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
offset_left = -40.0
|
||||||
|
offset_top = -23.0
|
||||||
|
grow_horizontal = 0
|
||||||
|
grow_vertical = 0
|
||||||
|
text = "##"
|
||||||
|
horizontal_alignment = 2
|
||||||
|
|
||||||
|
[node name="Panel2" type="Panel" parent="."]
|
||||||
|
custom_minimum_size = Vector2(0, 250)
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 12
|
||||||
|
anchor_top = 1.0
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 0
|
||||||
|
|
||||||
|
[node name="HBoxContainer" type="HBoxContainer" parent="Panel2"]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 8
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_top = 0.5
|
||||||
|
anchor_right = 0.5
|
||||||
|
anchor_bottom = 0.5
|
||||||
|
offset_left = -512.5
|
||||||
|
offset_top = -75.0
|
||||||
|
offset_right = 512.5
|
||||||
|
offset_bottom = 75.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
theme_override_constants/separation = 25
|
||||||
|
alignment = 1
|
||||||
|
|
||||||
|
[node name="Panel" type="Panel" parent="Panel2/HBoxContainer"]
|
||||||
|
custom_minimum_size = Vector2(150, 150)
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="TextureRect" type="TextureRect" parent="Panel2/HBoxContainer/Panel"]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
|
||||||
|
[node name="NinePatchRect" type="NinePatchRect" parent="Panel2/HBoxContainer/Panel"]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
|
||||||
|
[node name="Panel2" type="Panel" parent="Panel2/HBoxContainer"]
|
||||||
|
custom_minimum_size = Vector2(150, 150)
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="TextureRect" type="TextureRect" parent="Panel2/HBoxContainer/Panel2"]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
|
||||||
|
[node name="NinePatchRect" type="NinePatchRect" parent="Panel2/HBoxContainer/Panel2"]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
|
||||||
|
[node name="Panel3" type="Panel" parent="Panel2/HBoxContainer"]
|
||||||
|
custom_minimum_size = Vector2(150, 150)
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="TextureRect" type="TextureRect" parent="Panel2/HBoxContainer/Panel3"]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
|
||||||
|
[node name="NinePatchRect" type="NinePatchRect" parent="Panel2/HBoxContainer/Panel3"]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
|
||||||
|
[node name="Panel4" type="Panel" parent="Panel2/HBoxContainer"]
|
||||||
|
custom_minimum_size = Vector2(150, 150)
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="TextureRect" type="TextureRect" parent="Panel2/HBoxContainer/Panel4"]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
|
||||||
|
[node name="NinePatchRect" type="NinePatchRect" parent="Panel2/HBoxContainer/Panel4"]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
|
||||||
|
[node name="Panel5" type="Panel" parent="Panel2/HBoxContainer"]
|
||||||
|
custom_minimum_size = Vector2(150, 150)
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="TextureRect" type="TextureRect" parent="Panel2/HBoxContainer/Panel5"]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
|
||||||
|
[node name="NinePatchRect" type="NinePatchRect" parent="Panel2/HBoxContainer/Panel5"]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
|
||||||
|
[node name="Panel6" type="Panel" parent="Panel2/HBoxContainer"]
|
||||||
|
custom_minimum_size = Vector2(150, 150)
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="TextureRect" type="TextureRect" parent="Panel2/HBoxContainer/Panel6"]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
|
||||||
|
[node name="NinePatchRect" type="NinePatchRect" parent="Panel2/HBoxContainer/Panel6"]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
|
||||||
|
[node name="Panel3" type="Panel" parent="."]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 10
|
||||||
|
anchor_right = 1.0
|
||||||
|
offset_bottom = 75.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="Panel3"]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 7
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_top = 1.0
|
||||||
|
anchor_right = 0.5
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
offset_left = -75.5
|
||||||
|
offset_top = -23.0
|
||||||
|
offset_right = 75.5
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 0
|
||||||
|
theme_override_font_sizes/font_size = 40
|
||||||
|
text = "CHARACTER SELECT"
|
||||||
|
horizontal_alignment = 1
|
||||||
155
scenes/multiplayer_setup.tscn
Normal file
155
scenes/multiplayer_setup.tscn
Normal file
@@ -0,0 +1,155 @@
|
|||||||
|
[gd_scene load_steps=2 format=3 uid="uid://cjnws52vwfxvq"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://dep7nr2nkdmga" path="res://scripts/multiplayer_setup.gd" id="1_lckj3"]
|
||||||
|
|
||||||
|
[node name="Multiplayer Setup" type="Control"]
|
||||||
|
layout_mode = 3
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
script = ExtResource("1_lckj3")
|
||||||
|
|
||||||
|
[node name="Panel" type="PanelContainer" parent="."]
|
||||||
|
visible = false
|
||||||
|
custom_minimum_size = Vector2(400, 400)
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 8
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_top = 0.5
|
||||||
|
anchor_right = 0.5
|
||||||
|
anchor_bottom = 0.5
|
||||||
|
offset_left = -200.0
|
||||||
|
offset_top = -200.0
|
||||||
|
offset_right = 200.0
|
||||||
|
offset_bottom = 200.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
|
||||||
|
[node name="Menu" type="VBoxContainer" parent="Panel"]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="HostButton" type="Button" parent="Panel/Menu"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "Host Match"
|
||||||
|
|
||||||
|
[node name="JoinButton" type="Button" parent="Panel/Menu"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "Join Match"
|
||||||
|
|
||||||
|
[node name="BackButton" type="Button" parent="Panel/Menu"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "Back"
|
||||||
|
|
||||||
|
[node name="Hosting" type="VBoxContainer" parent="Panel"]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
layout_mode = 2
|
||||||
|
alignment = 1
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="Panel/Hosting"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "HOSTING MATCH"
|
||||||
|
horizontal_alignment = 1
|
||||||
|
|
||||||
|
[node name="HBoxContainer" type="HBoxContainer" parent="Panel/Hosting"]
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="Panel/Hosting/HBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "Handle"
|
||||||
|
|
||||||
|
[node name="HandleEdit" type="TextEdit" parent="Panel/Hosting/HBoxContainer"]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
|
||||||
|
[node name="HostButton" type="Button" parent="Panel/Hosting"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "HOST"
|
||||||
|
|
||||||
|
[node name="BackButton" type="Button" parent="Panel/Hosting"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "Back"
|
||||||
|
|
||||||
|
[node name="Host Waiting" type="VBoxContainer" parent="Panel"]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
visible = false
|
||||||
|
layout_mode = 2
|
||||||
|
alignment = 1
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="Panel/Host Waiting"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "WAITING FOR OPPONENT"
|
||||||
|
horizontal_alignment = 1
|
||||||
|
|
||||||
|
[node name="PanelContainer" type="PanelContainer" parent="Panel/Host Waiting"]
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="TextEdit" type="RichTextLabel" parent="Panel/Host Waiting/PanelContainer"]
|
||||||
|
custom_minimum_size = Vector2(0, 70)
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
bbcode_enabled = true
|
||||||
|
text = "[b]*YOU (Host)[/b]
|
||||||
|
[color=\"FFFF00\"]*THEM (Opponent)[/color]"
|
||||||
|
|
||||||
|
[node name="StartButton" type="Button" parent="Panel/Host Waiting"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "START"
|
||||||
|
|
||||||
|
[node name="BackButton" type="Button" parent="Panel/Host Waiting"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "Back"
|
||||||
|
|
||||||
|
[node name="Joining" type="VBoxContainer" parent="Panel"]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
visible = false
|
||||||
|
layout_mode = 2
|
||||||
|
alignment = 1
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="Panel/Joining"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "JOINING MATCH"
|
||||||
|
horizontal_alignment = 1
|
||||||
|
|
||||||
|
[node name="HBoxContainer" type="HBoxContainer" parent="Panel/Joining"]
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="Panel/Joining/HBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "HANDLE"
|
||||||
|
|
||||||
|
[node name="TextEdit" type="TextEdit" parent="Panel/Joining/HBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
|
||||||
|
[node name="HBoxContainer2" type="HBoxContainer" parent="Panel/Joining"]
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="Panel/Joining/HBoxContainer2"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "MATCH CODE"
|
||||||
|
|
||||||
|
[node name="TextEdit" type="TextEdit" parent="Panel/Joining/HBoxContainer2"]
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
|
||||||
|
[node name="JoinButton" type="Button" parent="Panel/Joining"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "HOST"
|
||||||
|
|
||||||
|
[node name="BackButton" type="Button" parent="Panel/Joining"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "Back"
|
||||||
|
|
||||||
|
[connection signal="pressed" from="Panel/Menu/HostButton" to="." method="_on_host_game_button_pressed"]
|
||||||
|
[connection signal="pressed" from="Panel/Menu/JoinButton" to="." method="_on_join_game_button_pressed"]
|
||||||
|
[connection signal="pressed" from="Panel/Menu/BackButton" to="." method="_on_menu_back_button_pressed"]
|
||||||
|
[connection signal="pressed" from="Panel/Hosting/HostButton" to="." method="_on_start_hosting_button_pressed"]
|
||||||
|
[connection signal="pressed" from="Panel/Hosting/BackButton" to="." method="_on_hosting_back_button_pressed"]
|
||||||
|
[connection signal="pressed" from="Panel/Host Waiting/StartButton" to="." method="_on_start_game_button_pressed"]
|
||||||
|
[connection signal="pressed" from="Panel/Host Waiting/BackButton" to="." method="_on_waiting_back_button_pressed"]
|
||||||
|
[connection signal="pressed" from="Panel/Joining/JoinButton" to="." method="_on_join_button_pressed"]
|
||||||
|
[connection signal="pressed" from="Panel/Joining/BackButton" to="." method="_on_joining_back_button_pressed"]
|
||||||
68
scenes/multiplayer_test.tscn
Normal file
68
scenes/multiplayer_test.tscn
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
[gd_scene load_steps=9 format=3 uid="uid://ti65jukt8gvs"]
|
||||||
|
|
||||||
|
[ext_resource type="PackedScene" uid="uid://bgocskbofewsr" path="res://templates/HUD.tscn" id="1_q2h5d"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://bj07x13pkoevk" path="res://visuals/textures/tile.png" id="2_02mmr"]
|
||||||
|
[ext_resource type="Script" uid="uid://cymi1n4gavixy" path="res://scripts/level_camera.gd" id="3_qfwdi"]
|
||||||
|
[ext_resource type="Script" uid="uid://wpjuowslx60b" path="res://scripts/multiplayer_controller.gd" id="4_q2h5d"]
|
||||||
|
|
||||||
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_gbhdq"]
|
||||||
|
albedo_texture = ExtResource("2_02mmr")
|
||||||
|
uv1_scale = Vector3(100, 100, 100)
|
||||||
|
texture_filter = 0
|
||||||
|
|
||||||
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_y646j"]
|
||||||
|
albedo_color = Color(0.08468992, 0.08468992, 0.08468992, 1)
|
||||||
|
|
||||||
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_lnbra"]
|
||||||
|
albedo_color = Color(0, 1, 1, 1)
|
||||||
|
|
||||||
|
[sub_resource type="BoxShape3D" id="BoxShape3D_6emce"]
|
||||||
|
size = Vector3(0.75, 2, 0.75)
|
||||||
|
|
||||||
|
[node name="Node3D" type="Node3D"]
|
||||||
|
|
||||||
|
[node name="CanvasLayer" type="CanvasLayer" parent="."]
|
||||||
|
layer = 1000
|
||||||
|
|
||||||
|
[node name="Control" parent="CanvasLayer" instance=ExtResource("1_q2h5d")]
|
||||||
|
|
||||||
|
[node name="CSGBox3D" type="CSGBox3D" parent="."]
|
||||||
|
size = Vector3(100, 1, 100)
|
||||||
|
material = SubResource("StandardMaterial3D_gbhdq")
|
||||||
|
|
||||||
|
[node name="Camera3D" type="Camera3D" parent="."]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 0.49999997, 0.86602545, 0, -0.86602545, 0.49999997, 0, 18.855, 9.603047)
|
||||||
|
projection = 1
|
||||||
|
size = 5.0
|
||||||
|
script = ExtResource("3_qfwdi")
|
||||||
|
|
||||||
|
[node name="Node3D" type="CharacterBody3D" parent="."]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
|
||||||
|
script = ExtResource("4_q2h5d")
|
||||||
|
speed = 5.0
|
||||||
|
|
||||||
|
[node name="Body" type="CSGBox3D" parent="Node3D"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
|
||||||
|
size = Vector3(0.75, 2, 0.75)
|
||||||
|
material = SubResource("StandardMaterial3D_y646j")
|
||||||
|
|
||||||
|
[node name="CSGCylinder3D" type="CSGCylinder3D" parent="Node3D/Body"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, -4.371139e-08, -1, 0, 1, -4.371139e-08, 0, 0.5, 0.556)
|
||||||
|
radius = 0.3
|
||||||
|
height = 0.1
|
||||||
|
material = SubResource("StandardMaterial3D_lnbra")
|
||||||
|
|
||||||
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
|
||||||
|
shape = SubResource("BoxShape3D_6emce")
|
||||||
|
|
||||||
|
[node name="OmniLight3D" type="OmniLight3D" parent="."]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 18.508709, 0)
|
||||||
|
omni_range = 25.142
|
||||||
|
omni_attenuation = -0.165
|
||||||
|
|
||||||
|
[node name="MultiplayerSpawner" type="MultiplayerSpawner" parent="."]
|
||||||
|
spawn_path = NodePath("../Players")
|
||||||
|
spawn_limit = 2
|
||||||
|
|
||||||
|
[node name="Players" type="Node3D" parent="."]
|
||||||
62
scenes/test_level.tscn
Normal file
62
scenes/test_level.tscn
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
[gd_scene load_steps=9 format=3 uid="uid://by6suwmds7xq2"]
|
||||||
|
|
||||||
|
[ext_resource type="PackedScene" uid="uid://bgocskbofewsr" path="res://templates/HUD.tscn" id="1_x4b8f"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://bj07x13pkoevk" path="res://visuals/textures/tile.png" id="2_tmr53"]
|
||||||
|
[ext_resource type="Script" uid="uid://cymi1n4gavixy" path="res://scripts/level_camera.gd" id="3_qcd3b"]
|
||||||
|
[ext_resource type="Script" uid="uid://bcs7ygh6s3l35" path="res://scripts/player.gd" id="4_88ety"]
|
||||||
|
|
||||||
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_gbhdq"]
|
||||||
|
albedo_texture = ExtResource("2_tmr53")
|
||||||
|
uv1_scale = Vector3(100, 100, 100)
|
||||||
|
texture_filter = 0
|
||||||
|
|
||||||
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_y646j"]
|
||||||
|
albedo_color = Color(0.08468992, 0.08468992, 0.08468992, 1)
|
||||||
|
|
||||||
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_lnbra"]
|
||||||
|
albedo_color = Color(0, 1, 1, 1)
|
||||||
|
|
||||||
|
[sub_resource type="BoxShape3D" id="BoxShape3D_6emce"]
|
||||||
|
size = Vector3(0.75, 2, 0.75)
|
||||||
|
|
||||||
|
[node name="Node3D" type="Node3D"]
|
||||||
|
|
||||||
|
[node name="CanvasLayer" type="CanvasLayer" parent="."]
|
||||||
|
layer = 1000
|
||||||
|
|
||||||
|
[node name="Control" parent="CanvasLayer" instance=ExtResource("1_x4b8f")]
|
||||||
|
|
||||||
|
[node name="CSGBox3D" type="CSGBox3D" parent="."]
|
||||||
|
size = Vector3(100, 1, 100)
|
||||||
|
material = SubResource("StandardMaterial3D_gbhdq")
|
||||||
|
|
||||||
|
[node name="Camera3D" type="Camera3D" parent="."]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 0.49999997, 0.86602545, 0, -0.86602545, 0.49999997, 0, 18.855, 9.603047)
|
||||||
|
projection = 1
|
||||||
|
size = 5.0
|
||||||
|
script = ExtResource("3_qcd3b")
|
||||||
|
|
||||||
|
[node name="Node3D" type="CharacterBody3D" parent="."]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
|
||||||
|
script = ExtResource("4_88ety")
|
||||||
|
speed = 5.0
|
||||||
|
|
||||||
|
[node name="Body" type="CSGBox3D" parent="Node3D"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
|
||||||
|
size = Vector3(0.75, 2, 0.75)
|
||||||
|
material = SubResource("StandardMaterial3D_y646j")
|
||||||
|
|
||||||
|
[node name="CSGCylinder3D" type="CSGCylinder3D" parent="Node3D/Body"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, -4.371139e-08, -1, 0, 1, -4.371139e-08, 0, 0.5, 0.556)
|
||||||
|
radius = 0.3
|
||||||
|
height = 0.1
|
||||||
|
material = SubResource("StandardMaterial3D_lnbra")
|
||||||
|
|
||||||
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
|
||||||
|
shape = SubResource("BoxShape3D_6emce")
|
||||||
|
|
||||||
|
[node name="OmniLight3D" type="OmniLight3D" parent="."]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 18.508709, 0)
|
||||||
|
omni_range = 25.142
|
||||||
|
omni_attenuation = -0.165
|
||||||
183
scenes/title_screen.tscn
Normal file
183
scenes/title_screen.tscn
Normal file
@@ -0,0 +1,183 @@
|
|||||||
|
[gd_scene load_steps=11 format=3 uid="uid://dd40q2mv84pmc"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://dhu2psbhh1rl8" path="res://scripts/title_screen.gd" id="1_e54dn"]
|
||||||
|
[ext_resource type="Shader" uid="uid://b2g6yddun2l6e" path="res://visuals/shaders/noise.gdshader" id="2_3yumr"]
|
||||||
|
[ext_resource type="Script" uid="uid://bnmklbse62lrf" path="res://scripts/static.gd" id="3_cs5ya"]
|
||||||
|
[ext_resource type="FontFile" uid="uid://c83fwpdo5bu8j" path="res://ASTERA v2.ttf" id="4_3yumr"]
|
||||||
|
[ext_resource type="AudioStream" uid="uid://bl08d5aj1f7nf" path="res://audio/music/15 - Opening.mp3" id="4_mykxm"]
|
||||||
|
[ext_resource type="AudioStream" uid="uid://kj25hej55ckw" path="res://audio/sounds/BUTTON Generic Metal Medium High Mechanics 02.wav" id="5_tklts"]
|
||||||
|
[ext_resource type="AudioStream" uid="uid://cmnibhyxpag0a" path="res://audio/sounds/BeepBeep_high.wav" id="6_u26n3"]
|
||||||
|
|
||||||
|
[sub_resource type="ShaderMaterial" id="ShaderMaterial_tpml5"]
|
||||||
|
shader = ExtResource("2_3yumr")
|
||||||
|
shader_parameter/granularity = 0.0
|
||||||
|
shader_parameter/opacity_limit = 0.0
|
||||||
|
|
||||||
|
[sub_resource type="Gradient" id="Gradient_cs5ya"]
|
||||||
|
offsets = PackedFloat32Array(0)
|
||||||
|
colors = PackedColorArray(0, 0, 0, 1)
|
||||||
|
|
||||||
|
[sub_resource type="GradientTexture1D" id="GradientTexture1D_ig5kc"]
|
||||||
|
gradient = SubResource("Gradient_cs5ya")
|
||||||
|
width = 1
|
||||||
|
|
||||||
|
[node name="Control" type="Control"]
|
||||||
|
layout_mode = 3
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
script = ExtResource("1_e54dn")
|
||||||
|
|
||||||
|
[node name="TextureRect" type="TextureRect" parent="."]
|
||||||
|
material = SubResource("ShaderMaterial_tpml5")
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
texture = SubResource("GradientTexture1D_ig5kc")
|
||||||
|
expand_mode = 1
|
||||||
|
script = ExtResource("3_cs5ya")
|
||||||
|
|
||||||
|
[node name="Label" type="RichTextLabel" parent="."]
|
||||||
|
layout_mode = 0
|
||||||
|
offset_left = 130.0
|
||||||
|
offset_top = 260.0
|
||||||
|
offset_right = 1791.0
|
||||||
|
offset_bottom = 678.0
|
||||||
|
theme_override_constants/line_separation = -450
|
||||||
|
theme_override_fonts/normal_font = ExtResource("4_3yumr")
|
||||||
|
theme_override_fonts/bold_font = ExtResource("4_3yumr")
|
||||||
|
theme_override_fonts/bold_italics_font = ExtResource("4_3yumr")
|
||||||
|
theme_override_font_sizes/bold_italics_font_size = 300
|
||||||
|
bbcode_enabled = true
|
||||||
|
text = "[b][i]TRAP
|
||||||
|
SHOOTER[/i][/b]"
|
||||||
|
|
||||||
|
[node name="Panel2" type="Panel" parent="."]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 7
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_top = 1.0
|
||||||
|
anchor_right = 0.5
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
offset_left = -192.0
|
||||||
|
offset_top = -364.0
|
||||||
|
offset_right = 208.0
|
||||||
|
offset_bottom = -214.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 0
|
||||||
|
|
||||||
|
[node name="START" type="Label" parent="Panel2"]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
modulate = Color(0, 0, 1, 1)
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
theme_override_font_sizes/font_size = 60
|
||||||
|
text = "PUSH START"
|
||||||
|
horizontal_alignment = 1
|
||||||
|
vertical_alignment = 1
|
||||||
|
|
||||||
|
[node name="Menu" type="Control" parent="Panel2"]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
visible = false
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
|
||||||
|
[node name="STORY" type="Label" parent="Panel2/Menu"]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
theme_override_font_sizes/font_size = 80
|
||||||
|
text = "STORY"
|
||||||
|
horizontal_alignment = 1
|
||||||
|
vertical_alignment = 1
|
||||||
|
|
||||||
|
[node name="VS-COM" type="Label" parent="Panel2/Menu"]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
visible = false
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
theme_override_font_sizes/font_size = 80
|
||||||
|
text = "VS COM"
|
||||||
|
horizontal_alignment = 1
|
||||||
|
vertical_alignment = 1
|
||||||
|
|
||||||
|
[node name="VS-MAN" type="Label" parent="Panel2/Menu"]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
visible = false
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
theme_override_font_sizes/font_size = 80
|
||||||
|
text = "VS MAN"
|
||||||
|
horizontal_alignment = 1
|
||||||
|
vertical_alignment = 1
|
||||||
|
|
||||||
|
[node name="RECORD" type="Label" parent="Panel2/Menu"]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
visible = false
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
theme_override_font_sizes/font_size = 80
|
||||||
|
text = "RECORD"
|
||||||
|
horizontal_alignment = 1
|
||||||
|
vertical_alignment = 1
|
||||||
|
|
||||||
|
[node name="OPTION" type="Label" parent="Panel2/Menu"]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
visible = false
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
theme_override_font_sizes/font_size = 80
|
||||||
|
text = "OPTION"
|
||||||
|
horizontal_alignment = 1
|
||||||
|
vertical_alignment = 1
|
||||||
|
|
||||||
|
[node name="Panel" type="Panel" parent="."]
|
||||||
|
visible = false
|
||||||
|
layout_mode = 0
|
||||||
|
offset_right = 1152.0
|
||||||
|
offset_bottom = 648.0
|
||||||
|
|
||||||
|
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
|
||||||
|
stream = ExtResource("4_mykxm")
|
||||||
|
autoplay = true
|
||||||
|
|
||||||
|
[node name="SelectSound" type="AudioStreamPlayer" parent="."]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
stream = ExtResource("5_tklts")
|
||||||
|
|
||||||
|
[node name="SwitchSound" type="AudioStreamPlayer" parent="."]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
stream = ExtResource("6_u26n3")
|
||||||
4
scripts/autos/game.gd
Normal file
4
scripts/autos/game.gd
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
extends Node
|
||||||
|
|
||||||
|
|
||||||
|
var player : Player
|
||||||
1
scripts/autos/game.gd.uid
Normal file
1
scripts/autos/game.gd.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://cro6hr2qds783
|
||||||
30
scripts/autos/multiplayer.gd
Normal file
30
scripts/autos/multiplayer.gd
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
extends Node
|
||||||
|
|
||||||
|
|
||||||
|
const SERVER_PORT = 8080
|
||||||
|
const SERVER_IP = "127.0.0.1"
|
||||||
|
|
||||||
|
func become_host() -> void:
|
||||||
|
print("Starting host!")
|
||||||
|
|
||||||
|
var server_peer = ENetMultiplayerPeer.new()
|
||||||
|
server_peer.create_server(SERVER_PORT)
|
||||||
|
|
||||||
|
multiplayer.multiplayer_peer = server_peer
|
||||||
|
|
||||||
|
multiplayer.peer_connected.connect(_add_player_to_game)
|
||||||
|
multiplayer.peer_disconnected.connect(_remove_player_from_game)
|
||||||
|
|
||||||
|
|
||||||
|
func join_game() -> void:
|
||||||
|
print("Player 2 joining.")
|
||||||
|
|
||||||
|
var client_peer = ENetMultiplayerPeer.new()
|
||||||
|
client_peer.create_client(SERVER_IP, SERVER_PORT)
|
||||||
|
|
||||||
|
|
||||||
|
func _add_player_to_game(id : int) -> void:
|
||||||
|
print("Player %s joined the game!" % id)
|
||||||
|
|
||||||
|
func _remove_player_from_game(id : int) -> void:
|
||||||
|
print("Player %s left the game!" % id)
|
||||||
1
scripts/autos/multiplayer.gd.uid
Normal file
1
scripts/autos/multiplayer.gd.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://dhrl1x443cqt1
|
||||||
18
scripts/level_camera.gd
Normal file
18
scripts/level_camera.gd
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
extends Camera3D
|
||||||
|
|
||||||
|
var target
|
||||||
|
var offset : Vector3
|
||||||
|
|
||||||
|
func _enter_tree() -> void:
|
||||||
|
call_deferred("register_player")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func register_player() -> void:
|
||||||
|
target = Game.player
|
||||||
|
offset = global_position - target.global_position
|
||||||
|
|
||||||
|
|
||||||
|
func _process(delta: float) -> void:
|
||||||
|
if target:
|
||||||
|
global_position = target.global_position + offset
|
||||||
1
scripts/level_camera.gd.uid
Normal file
1
scripts/level_camera.gd.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://cymi1n4gavixy
|
||||||
16
scripts/multiplayer_controller.gd
Normal file
16
scripts/multiplayer_controller.gd
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
class_name MultiplayerPlayer extends Player
|
||||||
|
|
||||||
|
@export var player_id := 1 :
|
||||||
|
set(id):
|
||||||
|
player_id = id
|
||||||
|
|
||||||
|
func _enter_tree() -> void:
|
||||||
|
Game.player = self
|
||||||
|
|
||||||
|
func _physics_process(delta: float) -> void:
|
||||||
|
var dir = Input.get_vector("west", "east", "north", "south")
|
||||||
|
dir = Vector3(dir.x, 0, dir.y)
|
||||||
|
if dir.length_squared() > 0:
|
||||||
|
body.look_at(body.global_position - dir)
|
||||||
|
velocity = speed * dir
|
||||||
|
move_and_slide()
|
||||||
1
scripts/multiplayer_controller.gd.uid
Normal file
1
scripts/multiplayer_controller.gd.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://wpjuowslx60b
|
||||||
54
scripts/multiplayer_setup.gd
Normal file
54
scripts/multiplayer_setup.gd
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
extends Control
|
||||||
|
|
||||||
|
var host : bool
|
||||||
|
|
||||||
|
func _on_host_game_button_pressed() -> void:
|
||||||
|
%Menu.visible = false
|
||||||
|
%Hosting.visible = true
|
||||||
|
host = true
|
||||||
|
|
||||||
|
|
||||||
|
func _on_join_game_button_pressed() -> void:
|
||||||
|
%Menu.visible = false
|
||||||
|
%Joining.visible = true
|
||||||
|
host = false
|
||||||
|
|
||||||
|
|
||||||
|
func _on_menu_back_button_pressed() -> void:
|
||||||
|
Game.go_to_title_screen()
|
||||||
|
|
||||||
|
|
||||||
|
func _on_start_hosting_button_pressed() -> void:
|
||||||
|
#Validate entries
|
||||||
|
%Hosting.visible = false
|
||||||
|
#Set fields
|
||||||
|
%"Host Waiting".visible = true
|
||||||
|
|
||||||
|
|
||||||
|
func _on_hosting_back_button_pressed() -> void:
|
||||||
|
%Hosting.visible = false
|
||||||
|
%Menu.visible = true
|
||||||
|
|
||||||
|
|
||||||
|
func _on_start_game_button_pressed() -> void:
|
||||||
|
Game.start_vs_com()
|
||||||
|
|
||||||
|
|
||||||
|
func _on_waiting_back_button_pressed() -> void:
|
||||||
|
%"Host Waiting".visible = false
|
||||||
|
if host:
|
||||||
|
%Hosting.visible = true
|
||||||
|
else:
|
||||||
|
%Joining.visible = true
|
||||||
|
|
||||||
|
|
||||||
|
func _on_join_button_pressed() -> void:
|
||||||
|
#Check for valid game
|
||||||
|
#If found
|
||||||
|
%Joining.visible = false
|
||||||
|
%"Host Waiting".visible = true
|
||||||
|
|
||||||
|
|
||||||
|
func _on_joining_back_button_pressed() -> void:
|
||||||
|
%Joining.visible = false
|
||||||
|
%Menu.visible = true
|
||||||
1
scripts/multiplayer_setup.gd.uid
Normal file
1
scripts/multiplayer_setup.gd.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://dep7nr2nkdmga
|
||||||
15
scripts/player.gd
Normal file
15
scripts/player.gd
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
class_name Player extends CharacterBody3D
|
||||||
|
|
||||||
|
@export var speed : float = 10
|
||||||
|
@onready var body = $Body
|
||||||
|
|
||||||
|
func _enter_tree() -> void:
|
||||||
|
Game.player = self
|
||||||
|
|
||||||
|
func _physics_process(delta: float) -> void:
|
||||||
|
var dir = Input.get_vector("west", "east", "north", "south")
|
||||||
|
dir = Vector3(dir.x, 0, dir.y)
|
||||||
|
if dir.length_squared() > 0:
|
||||||
|
body.look_at(body.global_position - dir)
|
||||||
|
velocity = speed * dir
|
||||||
|
move_and_slide()
|
||||||
1
scripts/player.gd.uid
Normal file
1
scripts/player.gd.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://bcs7ygh6s3l35
|
||||||
9
scripts/static.gd
Normal file
9
scripts/static.gd
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
@tool
|
||||||
|
extends TextureRect
|
||||||
|
@export var tex : NoiseTexture2D
|
||||||
|
|
||||||
|
func _enter_tree() -> void:
|
||||||
|
pass
|
||||||
|
|
||||||
|
func _process(delta : float) -> void:
|
||||||
|
pass
|
||||||
1
scripts/static.gd.uid
Normal file
1
scripts/static.gd.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://bnmklbse62lrf
|
||||||
41
scripts/title_screen.gd
Normal file
41
scripts/title_screen.gd
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
extends Control
|
||||||
|
|
||||||
|
var opened : bool = false
|
||||||
|
var menu_choice : int = 0
|
||||||
|
@onready var menu_list : Array = [
|
||||||
|
%STORY,
|
||||||
|
%"VS-COM",
|
||||||
|
%"VS-MAN",
|
||||||
|
%RECORD,
|
||||||
|
%OPTION
|
||||||
|
]
|
||||||
|
|
||||||
|
func _process(delta: float) -> void:
|
||||||
|
if Input.is_action_just_pressed("ui_menu"):
|
||||||
|
opened = !opened
|
||||||
|
%START.visible = !opened
|
||||||
|
%Menu.visible = opened
|
||||||
|
%SelectSound.play()
|
||||||
|
if opened:
|
||||||
|
menu_choice = 0
|
||||||
|
switch_menu()
|
||||||
|
|
||||||
|
if opened:
|
||||||
|
if Input.is_action_just_pressed("ui_up"):
|
||||||
|
menu_choice -= 1
|
||||||
|
if menu_choice < 0:
|
||||||
|
menu_choice = len(menu_list) - 1
|
||||||
|
%SwitchSound.play()
|
||||||
|
switch_menu()
|
||||||
|
elif Input.is_action_just_pressed("ui_down"):
|
||||||
|
menu_choice += 1
|
||||||
|
if menu_choice >= len(menu_list):
|
||||||
|
menu_choice = 0
|
||||||
|
%SwitchSound.play()
|
||||||
|
switch_menu()
|
||||||
|
|
||||||
|
|
||||||
|
func switch_menu() -> void:
|
||||||
|
for child in %Menu.get_children():
|
||||||
|
child.visible = false
|
||||||
|
menu_list[menu_choice].visible = true
|
||||||
1
scripts/title_screen.gd.uid
Normal file
1
scripts/title_screen.gd.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://dhu2psbhh1rl8
|
||||||
128
templates/HUD.tscn
Normal file
128
templates/HUD.tscn
Normal file
@@ -0,0 +1,128 @@
|
|||||||
|
[gd_scene load_steps=2 format=3 uid="uid://bgocskbofewsr"]
|
||||||
|
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dri0a20l6kpbj" path="res://visuals/images/icon.svg" id="1_k5de2"]
|
||||||
|
|
||||||
|
[node name="Control" type="Control"]
|
||||||
|
layout_mode = 3
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
|
||||||
|
[node name="Control" type="Control" parent="."]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 10
|
||||||
|
anchor_right = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
|
||||||
|
[node name="PanelContainer" type="PanelContainer" parent="Control"]
|
||||||
|
custom_minimum_size = Vector2(0, 200)
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 10
|
||||||
|
anchor_right = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
|
||||||
|
[node name="HBoxContainer" type="HBoxContainer" parent="Control/PanelContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
alignment = 1
|
||||||
|
|
||||||
|
[node name="Control" type="Control" parent="Control/PanelContainer/HBoxContainer"]
|
||||||
|
custom_minimum_size = Vector2(165, 0)
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="VBoxContainer2" type="VBoxContainer" parent="Control/PanelContainer/HBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="PanelContainer" type="PanelContainer" parent="Control/PanelContainer/HBoxContainer/VBoxContainer2"]
|
||||||
|
custom_minimum_size = Vector2(250, 100)
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="PanelContainer2" type="PanelContainer" parent="Control/PanelContainer/HBoxContainer/VBoxContainer2"]
|
||||||
|
custom_minimum_size = Vector2(250, 100)
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="VBoxContainer" type="VBoxContainer" parent="Control/PanelContainer/HBoxContainer"]
|
||||||
|
custom_minimum_size = Vector2(150, 0)
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="PanelContainer2" type="PanelContainer" parent="Control/PanelContainer/HBoxContainer/VBoxContainer"]
|
||||||
|
custom_minimum_size = Vector2(150, 100)
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="PanelContainer3" type="PanelContainer" parent="Control/PanelContainer/HBoxContainer/VBoxContainer"]
|
||||||
|
custom_minimum_size = Vector2(150, 100)
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="PanelContainer2" type="PanelContainer" parent="Control/PanelContainer/HBoxContainer"]
|
||||||
|
custom_minimum_size = Vector2(150, 0)
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="VBoxContainer3" type="VBoxContainer" parent="Control/PanelContainer/HBoxContainer"]
|
||||||
|
custom_minimum_size = Vector2(250, 0)
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="PanelContainer3" type="PanelContainer" parent="Control/PanelContainer/HBoxContainer/VBoxContainer3"]
|
||||||
|
custom_minimum_size = Vector2(250, 130)
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="HBoxContainer" type="HBoxContainer" parent="Control/PanelContainer/HBoxContainer/VBoxContainer3"]
|
||||||
|
custom_minimum_size = Vector2(0, 70)
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="PanelContainer" type="PanelContainer" parent="Control/PanelContainer/HBoxContainer/VBoxContainer3/HBoxContainer"]
|
||||||
|
custom_minimum_size = Vector2(150, 0)
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="TextureRect" type="TextureRect" parent="Control/PanelContainer/HBoxContainer/VBoxContainer3/HBoxContainer"]
|
||||||
|
custom_minimum_size = Vector2(95, 0)
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="Control2" type="Control" parent="Control/PanelContainer/HBoxContainer"]
|
||||||
|
custom_minimum_size = Vector2(165, 0)
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="Control2" type="Control" parent="."]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 2
|
||||||
|
anchor_top = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
offset_top = -200.0
|
||||||
|
offset_right = 200.0
|
||||||
|
grow_vertical = 0
|
||||||
|
|
||||||
|
[node name="TextureRect" type="TextureRect" parent="Control2"]
|
||||||
|
layout_mode = 0
|
||||||
|
offset_left = 4.0
|
||||||
|
offset_top = 71.0
|
||||||
|
offset_right = 68.0
|
||||||
|
offset_bottom = 135.0
|
||||||
|
texture = ExtResource("1_k5de2")
|
||||||
|
expand_mode = 1
|
||||||
|
|
||||||
|
[node name="TextureRect2" type="TextureRect" parent="Control2"]
|
||||||
|
layout_mode = 0
|
||||||
|
offset_left = 68.0
|
||||||
|
offset_top = 40.0
|
||||||
|
offset_right = 132.0
|
||||||
|
offset_bottom = 104.0
|
||||||
|
texture = ExtResource("1_k5de2")
|
||||||
|
expand_mode = 1
|
||||||
|
|
||||||
|
[node name="TextureRect3" type="TextureRect" parent="Control2"]
|
||||||
|
layout_mode = 0
|
||||||
|
offset_left = 132.0
|
||||||
|
offset_top = 71.0
|
||||||
|
offset_right = 196.0
|
||||||
|
offset_bottom = 135.0
|
||||||
|
texture = ExtResource("1_k5de2")
|
||||||
|
expand_mode = 1
|
||||||
|
|
||||||
|
[node name="TextureRect4" type="TextureRect" parent="Control2"]
|
||||||
|
layout_mode = 0
|
||||||
|
offset_left = 68.0
|
||||||
|
offset_top = 103.0
|
||||||
|
offset_right = 132.0
|
||||||
|
offset_bottom = 167.0
|
||||||
|
texture = ExtResource("1_k5de2")
|
||||||
|
expand_mode = 1
|
||||||
1
visuals/images/icon.svg
Normal file
1
visuals/images/icon.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128"><rect width="124" height="124" x="2" y="2" fill="#363d52" stroke="#212532" stroke-width="4" rx="14"/><g fill="#fff" transform="translate(12.322 12.322)scale(.101)"><path d="M105 673v33q407 354 814 0v-33z"/><path fill="#478cbf" d="m105 673 152 14q12 1 15 14l4 67 132 10 8-61q2-11 15-15h162q13 4 15 15l8 61 132-10 4-67q3-13 15-14l152-14V427q30-39 56-81-35-59-83-108-43 20-82 47-40-37-88-64 7-51 8-102-59-28-123-42-26 43-46 89-49-7-98 0-20-46-46-89-64 14-123 42 1 51 8 102-48 27-88 64-39-27-82-47-48 49-83 108 26 42 56 81zm0 33v39c0 276 813 276 814 0v-39l-134 12-5 69q-2 10-14 13l-162 11q-12 0-16-11l-10-65H446l-10 65q-4 11-16 11l-162-11q-12-3-14-13l-5-69z"/><path d="M483 600c0 34 58 34 58 0v-86c0-34-58-34-58 0z"/><circle cx="725" cy="526" r="90"/><circle cx="299" cy="526" r="90"/></g><g fill="#414042" transform="translate(12.322 12.322)scale(.101)"><circle cx="307" cy="532" r="60"/><circle cx="717" cy="532" r="60"/></g></svg>
|
||||||
|
After Width: | Height: | Size: 995 B |
43
visuals/images/icon.svg.import
Normal file
43
visuals/images/icon.svg.import
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://dri0a20l6kpbj"
|
||||||
|
path="res://.godot/imported/icon.svg-c4c27e6ee27449a429199138b5f0d974.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://visuals/images/icon.svg"
|
||||||
|
dest_files=["res://.godot/imported/icon.svg-c4c27e6ee27449a429199138b5f0d974.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
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/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
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
|
||||||
|
svg/scale=1.0
|
||||||
|
editor/scale_with_editor_scale=false
|
||||||
|
editor/convert_colors_with_editor_theme=false
|
||||||
35
visuals/shaders/noise.gdshader
Normal file
35
visuals/shaders/noise.gdshader
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
shader_type canvas_item;
|
||||||
|
|
||||||
|
uniform sampler2D main_texture;
|
||||||
|
uniform float granularity;
|
||||||
|
uniform float opacity_limit;
|
||||||
|
|
||||||
|
float random (vec2 uv) {
|
||||||
|
return fract(sin(dot(uv.xy,
|
||||||
|
vec2(12.9898,78.233))) * 43758.5453123);
|
||||||
|
}
|
||||||
|
|
||||||
|
void vertex() {
|
||||||
|
// Called for every vertex the material is visible on.
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void fragment() {
|
||||||
|
// Called for every pixel the material is visible on.
|
||||||
|
vec2 uv = UV;
|
||||||
|
uv.y = TIME * uv.y + TIME * 0.5;
|
||||||
|
uv.x = 2.0 * TIME * uv.x + TIME * 1.0;
|
||||||
|
float val = random(uv);
|
||||||
|
float op = random(-uv) / val;
|
||||||
|
float alpha = 1.0;
|
||||||
|
if(op < opacity_limit){
|
||||||
|
alpha = 0.0;
|
||||||
|
}
|
||||||
|
vec4 color = vec4(val, val, val, alpha);
|
||||||
|
COLOR = color;
|
||||||
|
}
|
||||||
|
|
||||||
|
//void light() {
|
||||||
|
// // Called for every pixel for every light affecting the CanvasItem.
|
||||||
|
// // Uncomment to replace the default light processing function with this one.
|
||||||
|
//}
|
||||||
1
visuals/shaders/noise.gdshader.uid
Normal file
1
visuals/shaders/noise.gdshader.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://b2g6yddun2l6e
|
||||||
17
visuals/textures/new_noise_texture_2d.tres
Normal file
17
visuals/textures/new_noise_texture_2d.tres
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
[gd_resource type="NoiseTexture2D" load_steps=2 format=3 uid="uid://bsxod2wcjw5ik"]
|
||||||
|
|
||||||
|
[sub_resource type="FastNoiseLite" id="FastNoiseLite_qng1f"]
|
||||||
|
noise_type = 3
|
||||||
|
seed = -2140753962
|
||||||
|
frequency = 0.4595
|
||||||
|
fractal_type = 0
|
||||||
|
fractal_octaves = 1
|
||||||
|
fractal_lacunarity = 2.335
|
||||||
|
fractal_gain = -0.12
|
||||||
|
domain_warp_amplitude = 30.41
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
width = 1920
|
||||||
|
height = 1080
|
||||||
|
noise = SubResource("FastNoiseLite_qng1f")
|
||||||
|
normalize = false
|
||||||
BIN
visuals/textures/tile.png
Normal file
BIN
visuals/textures/tile.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 606 B |
41
visuals/textures/tile.png.import
Normal file
41
visuals/textures/tile.png.import
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://bj07x13pkoevk"
|
||||||
|
path.s3tc="res://.godot/imported/tile.png-82ac121192f8645b1b55058345db6f74.s3tc.ctex"
|
||||||
|
metadata={
|
||||||
|
"imported_formats": ["s3tc_bptc"],
|
||||||
|
"vram_texture": true
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://visuals/textures/tile.png"
|
||||||
|
dest_files=["res://.godot/imported/tile.png-82ac121192f8645b1b55058345db6f74.s3tc.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=2
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=true
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
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=0
|
||||||
Reference in New Issue
Block a user