inital commit

This commit is contained in:
LunarAkai 2025-06-27 19:37:52 +02:00
commit 70785c3b35
29 changed files with 521 additions and 0 deletions

4
.editorconfig Normal file
View file

@ -0,0 +1,4 @@
root = true
[*]
charset = utf-8

2
.gitattributes vendored Normal file
View file

@ -0,0 +1,2 @@
# Normalize EOL for all files that Git considers text files.
* text=auto eol=lf

4
.gitignore vendored Normal file
View file

@ -0,0 +1,4 @@
# Godot 4+ specific ignores
.godot/
/android/
/exports/

13
.idea/.gitignore generated vendored Normal file
View file

@ -0,0 +1,13 @@
# Default ignored files
/shelf/
/workspace.xml
# Rider ignored files
/contentModel.xml
/projectSettingsUpdater.xml
/.idea.whydt.iml
/modules.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

4
.idea/encodings.xml generated Normal file
View file

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding" addBOMForNewFiles="with BOM under Windows, with no BOM otherwise" />
</project>

8
.idea/indexLayout.xml generated Normal file
View file

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="UserContentModel">
<attachedFolders />
<explicitIncludes />
<explicitExcludes />
</component>
</project>

10
.idea/libraries/GdSdk_Master.xml generated Normal file
View file

@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="GdSdk Master" type="GdScript">
<properties path="$USER_HOME$/.cache/JetBrains/Rider2025.1/projects/whydt.eab1fa07/sdk/GdSdk Master" version="Master" date="2024-06-01T15:14:16.000+02:00" />
<CLASSES />
<JAVADOC />
<SOURCES>
<root url="file://$USER_HOME$/.cache/JetBrains/Rider2025.1/projects/whydt.eab1fa07/sdk/GdSdk Master" />
</SOURCES>
</library>
</component>

41
export_presets.cfg Normal file
View file

@ -0,0 +1,41 @@
[preset.0]
name="Linux"
platform="Linux"
runnable=true
advanced_options=false
dedicated_server=false
custom_features=""
export_filter="all_resources"
include_filter=""
exclude_filter=""
export_path="exports/linux/whydt.x86_64"
patches=PackedStringArray()
encryption_include_filters=""
encryption_exclude_filters=""
seed=0
encrypt_pck=false
encrypt_directory=false
script_export_mode=2
[preset.0.options]
custom_template/debug=""
custom_template/release=""
debug/export_console_wrapper=1
binary_format/embed_pck=false
texture_format/s3tc_bptc=true
texture_format/etc2_astc=false
binary_format/architecture="x86_64"
ssh_remote_deploy/enabled=false
ssh_remote_deploy/host="user@host_ip"
ssh_remote_deploy/port="22"
ssh_remote_deploy/extra_args_ssh=""
ssh_remote_deploy/extra_args_scp=""
ssh_remote_deploy/run_script="#!/usr/bin/env bash
export DISPLAY=:0
unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\"
\"{temp_dir}/{exe_name}\" {cmd_args}"
ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash
kill $(pgrep -x -f \"{temp_dir}/{exe_name} {cmd_args}\")
rm -rf \"{temp_dir}\""

1
icon.svg Normal file
View 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: 994 B

37
icon.svg.import Normal file
View file

@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d0txj1dmclwf5"
path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://icon.svg"
dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.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
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

33
project.godot Normal file
View file

@ -0,0 +1,33 @@
; 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="whydt"
run/main_scene="uid://brs37lcvmx2h5"
config/features=PackedStringArray("4.4", "Forward Plus")
run/low_processor_mode=true
boot_splash/show_image=false
boot_splash/fullsize=false
boot_splash/use_filter=false
config/icon="res://icon.svg"
[display]
window/size/viewport_width=1280
window/size/viewport_height=720
window/size/borderless=true
window/size/transparent=true
window/per_pixel_transparency/allowed=true
display_server/driver.linuxbsd="wayland"
[rendering]
viewport/transparent_background=true

15
src/UI/close_button.gd Normal file
View file

@ -0,0 +1,15 @@
extends Button
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
pass
func _on_pressed() -> void:
get_tree().quit()

View file

@ -0,0 +1 @@
uid://cs8ywlsgql3pg

11
src/UI/file_menu.gd Normal file
View file

@ -0,0 +1,11 @@
extends PopupMenu
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
pass

1
src/UI/file_menu.gd.uid Normal file
View file

@ -0,0 +1 @@
uid://dhgrxotssjayx

177
src/UI/main.tscn Normal file
View file

@ -0,0 +1,177 @@
[gd_scene load_steps=13 format=3 uid="uid://brs37lcvmx2h5"]
[ext_resource type="Theme" uid="uid://bal6yp0a25hf2" path="res://src/theme/main_theme.tres" id="1_apmt2"]
[ext_resource type="Script" uid="uid://hiyarq0kbm45" path="res://src/UI/menu_bar.gd" id="1_rt51c"]
[ext_resource type="Texture2D" uid="uid://bpvgbghct7ayv" path="res://src/assets/icons/x.svg" id="4_6nn4n"]
[ext_resource type="Texture2D" uid="uid://duloi6af1avtm" path="res://src/assets/icons/chevron-compact-down.svg" id="5_dv4hw"]
[ext_resource type="Script" uid="uid://cs8ywlsgql3pg" path="res://src/UI/close_button.gd" id="5_teubg"]
[ext_resource type="Script" uid="uid://d3l1hl06c3n56" path="res://src/UI/minimize_button.gd" id="7_14o3q"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_5vilm"]
bg_color = Color(0.962281, 0.933337, 0.999483, 1)
corner_radius_top_left = 30
corner_radius_top_right = 30
corner_radius_bottom_right = 30
corner_radius_bottom_left = 30
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_dv4hw"]
bg_color = Color(0.887088, 0, 0.157561, 1)
corner_radius_top_left = 100
corner_radius_top_right = 100
corner_radius_bottom_right = 100
corner_radius_bottom_left = 100
expand_margin_left = 2.0
expand_margin_top = 2.0
expand_margin_right = 2.0
expand_margin_bottom = 2.0
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_teubg"]
bg_color = Color(0.550207, 0, 0.0815203, 1)
corner_radius_top_left = 100
corner_radius_top_right = 100
corner_radius_bottom_right = 100
corner_radius_bottom_left = 100
expand_margin_left = 2.0
expand_margin_top = 2.0
expand_margin_right = 2.0
expand_margin_bottom = 2.0
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_14o3q"]
bg_color = Color(1, 0.956863, 0.0823529, 1)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_cqoei"]
bg_color = Color(0.728507, 0.695771, 0, 1)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_apmt2"]
corner_radius_top_left = 30
corner_radius_top_right = 30
corner_radius_bottom_right = 30
corner_radius_bottom_left = 30
[node name="Main" 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
theme_override_styles/panel = SubResource("StyleBoxFlat_5vilm")
[node name="VBoxContainer" type="VBoxContainer" parent="Panel"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="MarginContainer" type="MarginContainer" parent="Panel/VBoxContainer"]
custom_minimum_size = Vector2(0, 30)
layout_mode = 2
theme_override_constants/margin_left = 30
theme_override_constants/margin_right = 30
[node name="MenuBar" type="MenuBar" parent="Panel/VBoxContainer/MarginContainer"]
layout_mode = 2
script = ExtResource("1_rt51c")
[node name="CloseButton" type="Button" parent="Panel/VBoxContainer/MarginContainer/MenuBar"]
layout_mode = 1
anchors_preset = 6
anchor_left = 1.0
anchor_top = 0.5
anchor_right = 1.0
anchor_bottom = 0.5
offset_left = -26.0
offset_top = -10.0
offset_right = -2.0
offset_bottom = 14.0
grow_horizontal = 0
grow_vertical = 2
theme = ExtResource("1_apmt2")
theme_type_variation = &"FlatButton"
theme_override_styles/hover = SubResource("StyleBoxFlat_dv4hw")
theme_override_styles/pressed = SubResource("StyleBoxFlat_teubg")
action_mode = 0
icon = ExtResource("4_6nn4n")
script = ExtResource("5_teubg")
[node name="MinimizeButton" type="Button" parent="Panel/VBoxContainer/MarginContainer/MenuBar"]
visible = false
layout_mode = 1
anchors_preset = 6
anchor_left = 1.0
anchor_top = 0.5
anchor_right = 1.0
anchor_bottom = 0.5
offset_left = -73.0
offset_top = -11.5
offset_right = -49.0
offset_bottom = 12.5
grow_horizontal = 0
grow_vertical = 2
theme = ExtResource("1_apmt2")
theme_type_variation = &"FlatButton"
theme_override_constants/outline_size = 3
theme_override_styles/hover = SubResource("StyleBoxFlat_14o3q")
theme_override_styles/pressed = SubResource("StyleBoxFlat_cqoei")
action_mode = 0
icon = ExtResource("5_dv4hw")
script = ExtResource("7_14o3q")
[node name="HBoxContainer" type="HBoxContainer" parent="Panel/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
[node name="Panel" type="Panel" parent="Panel/VBoxContainer/HBoxContainer"]
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
size_flags_horizontal = 0
theme_override_styles/panel = SubResource("StyleBoxFlat_apmt2")
[node name="MarginContainer" type="MarginContainer" parent="Panel/VBoxContainer/HBoxContainer/Panel"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/margin_left = 10
theme_override_constants/margin_top = 30
theme_override_constants/margin_right = 10
theme_override_constants/margin_bottom = 30
[node name="ScrollContainer" type="ScrollContainer" parent="Panel/VBoxContainer/HBoxContainer/Panel/MarginContainer"]
custom_minimum_size = Vector2(100, 0)
layout_mode = 2
horizontal_scroll_mode = 0
[node name="VBoxContainer" type="VBoxContainer" parent="Panel/VBoxContainer/HBoxContainer/Panel/MarginContainer/ScrollContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
[node name="RichTextLabel" type="RichTextLabel" parent="Panel/VBoxContainer/HBoxContainer/Panel/MarginContainer/ScrollContainer/VBoxContainer"]
layout_mode = 2
theme = ExtResource("1_apmt2")
text = "aaaaa"
fit_content = true
[node name="ScrollContainer" type="ScrollContainer" parent="Panel/VBoxContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
horizontal_scroll_mode = 0
[node name="VBoxContainer" type="VBoxContainer" parent="Panel/VBoxContainer/HBoxContainer/ScrollContainer"]
layout_mode = 2
[connection signal="pressed" from="Panel/VBoxContainer/MarginContainer/MenuBar/CloseButton" to="Panel/VBoxContainer/MarginContainer/MenuBar/CloseButton" method="_on_pressed"]
[connection signal="pressed" from="Panel/VBoxContainer/MarginContainer/MenuBar/MinimizeButton" to="Panel/VBoxContainer/MarginContainer/MenuBar/MinimizeButton" method="_on_pressed"]

19
src/UI/menu_bar.gd Normal file
View file

@ -0,0 +1,19 @@
extends MenuBar
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
pass
func _input(event: InputEvent) -> void:
pass
func _on_file_menu_id_pressed(id:int) -> void:
if id == 0:
get_tree().quit()

1
src/UI/menu_bar.gd.uid Normal file
View file

@ -0,0 +1 @@
uid://hiyarq0kbm45

View file

@ -0,0 +1,4 @@
extends Button
func _on_pressed() -> void:
get_tree().root.mode = Window.MODE_MINIMIZED

View file

@ -0,0 +1 @@
uid://d3l1hl06c3n56

Binary file not shown.

View file

@ -0,0 +1,35 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://dcpict6ixxvdw"
path="res://.godot/imported/overpass-latin-400-normal.ttf-186b96825e6326cf02118dee1697d52f.fontdata"
[deps]
source_file="res://src/assets/fonts/overpass-latin-400-normal.ttf"
dest_files=["res://.godot/imported/overpass-latin-400-normal.ttf-186b96825e6326cf02118dee1697d52f.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=4
keep_rounding_remainders=true
oversampling=0.0
Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
language_support={}
script_support={}
opentype_features={}

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-compact-down"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M4 11l8 3l8 -3" /></svg>

After

Width:  |  Height:  |  Size: 354 B

View file

@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://duloi6af1avtm"
path="res://.godot/imported/chevron-compact-down.svg-71bca9f8344c168edda67a228cc23752.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/assets/icons/chevron-compact-down.svg"
dest_files=["res://.godot/imported/chevron-compact-down.svg-71bca9f8344c168edda67a228cc23752.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
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

1
src/assets/icons/x.svg Normal file
View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-x"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M18 6l-12 12" /><path d="M6 6l12 12" /></svg>

After

Width:  |  Height:  |  Size: 356 B

View file

@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bpvgbghct7ayv"
path="res://.godot/imported/x.svg-0af056cdf47cf7d9e1123ab8f944106d.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/assets/icons/x.svg"
dest_files=["res://.godot/imported/x.svg-0af056cdf47cf7d9e1123ab8f944106d.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
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

15
src/theme/main_theme.tres Normal file
View file

@ -0,0 +1,15 @@
[gd_resource type="Theme" load_steps=5 format=3 uid="uid://bal6yp0a25hf2"]
[ext_resource type="FontFile" uid="uid://dcpict6ixxvdw" path="res://src/assets/fonts/overpass-latin-400-normal.ttf" id="1_04vft"]
[ext_resource type="StyleBox" uid="uid://868ty5nf7kwh" path="res://src/theme/styles/close_button.tres" id="1_o3bvj"]
[ext_resource type="StyleBox" uid="uid://kph4m57vnoas" path="res://src/theme/styles/close_button_pressed.tres" id="2_l3loh"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_04vft"]
bg_color = Color(0.6, 0.6, 0.6, 0)
[resource]
default_font = ExtResource("1_04vft")
Button/styles/hover = ExtResource("1_o3bvj")
Button/styles/normal = SubResource("StyleBoxFlat_04vft")
Button/styles/pressed = ExtResource("2_l3loh")
MenuButton/colors/font_color = Color(0.875, 0.875, 0.875, 1)

View file

@ -0,0 +1,4 @@
[gd_resource type="StyleBoxFlat" format=3 uid="uid://868ty5nf7kwh"]
[resource]
bg_color = Color(0.887088, 0, 0.157561, 1)

View file

@ -0,0 +1,4 @@
[gd_resource type="StyleBoxFlat" format=3 uid="uid://kph4m57vnoas"]
[resource]
bg_color = Color(0.550207, 0, 0.0815203, 1)