AudioCraft: Parameter-Ranges korrigiert, Note-Guides, Menü-Musik

- nodes.py: Best-Practice Ranges (temperature 0.1-2.0, cfg_coef 0.5-10.0, top_k 10-500, extend_stride 5-28)
- workflow_music.json: Parameter Guide als Note-Node, Default-Werte angepasst
- workflow_sfx.json: SFX Parameter Guide als Note-Node hinzugefügt
- main_menu.gd: Menü-Musik (intro7.mp3) mit Loop und Stop bei Spielstart
- Diverse Godot-Projektdateien aktualisiert

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Andre 2026-03-21 16:01:17 +01:00
parent 8ea29fd6af
commit e44f4368af
24 changed files with 461 additions and 29 deletions

View file

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://blfwkidvm8d51"
path="res://.godot/imported/skillbook.png-f5aa8f579bffd2b56ec71f1bea3ec6fc.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/Icons/skillbook.png"
dest_files=["res://.godot/imported/skillbook.png-f5aa8f579bffd2b56ec71f1bea3ec6fc.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

View file

@ -4,12 +4,12 @@ importer="scene"
importer_version=1 importer_version=1
type="PackedScene" type="PackedScene"
uid="uid://bfn8s86o81t86" uid="uid://bfn8s86o81t86"
path="res://.godot/imported/Left Turn 90.fbx-28cd938b53e6490e956933e71aa8ff26.scn" path="res://.godot/imported/left turn 90.fbx-7ede25625141e45b963a6f806ea7a4b6.scn"
[deps] [deps]
source_file="res://assets/Warrior+Animation/Left Turn 90.fbx" source_file="res://assets/Warrior+Animation/left turn 90.fbx"
dest_files=["res://.godot/imported/Left Turn 90.fbx-28cd938b53e6490e956933e71aa8ff26.scn"] dest_files=["res://.godot/imported/left turn 90.fbx-7ede25625141e45b963a6f806ea7a4b6.scn"]
[params] [params]

View file

@ -4,12 +4,12 @@ importer="scene"
importer_version=1 importer_version=1
type="PackedScene" type="PackedScene"
uid="uid://bfg20q58h3ifm" uid="uid://bfg20q58h3ifm"
path="res://.godot/imported/Right Turn 90.fbx-373084221b31914934f4218cfddc4307.scn" path="res://.godot/imported/right turn 90.fbx-1510f429e9c72d07d6b8f5bd0c243b9d.scn"
[deps] [deps]
source_file="res://assets/Warrior+Animation/Right Turn 90.fbx" source_file="res://assets/Warrior+Animation/right turn 90.fbx"
dest_files=["res://.godot/imported/Right Turn 90.fbx-373084221b31914934f4218cfddc4307.scn"] dest_files=["res://.godot/imported/right turn 90.fbx-1510f429e9c72d07d6b8f5bd0c243b9d.scn"]
[params] [params]

BIN
assets/sounds/Intro7.mp3 Normal file

Binary file not shown.

View file

@ -0,0 +1,19 @@
[remap]
importer="mp3"
type="AudioStreamMP3"
uid="uid://b1m1qgiji6u71"
path="res://.godot/imported/Intro7.mp3-bfe976a500053bb4b6e00c2e6f15a733.mp3str"
[deps]
source_file="res://assets/sounds/Intro7.mp3"
dest_files=["res://.godot/imported/Intro7.mp3-bfe976a500053bb4b6e00c2e6f15a733.mp3str"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

Binary file not shown.

View file

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://bsexsl3nv1kxr"
path="res://.godot/imported/musicgen_1774098786.wav-bfb26ce071082853446c7d95b3369f0a.sample"
[deps]
source_file="res://assets/sounds/musicgen_1774098786.wav"
dest_files=["res://.godot/imported/musicgen_1774098786.wav-bfb26ce071082853446c7d95b3369f0a.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

Binary file not shown.

View file

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://cqke0ox8h83l5"
path="res://.godot/imported/musicgen_1774099814_48000hz.wav-7c1b1b2d197eb35a731b7c5b9e96c952.sample"
[deps]
source_file="res://assets/sounds/musicgen_1774099814_48000hz.wav"
dest_files=["res://.godot/imported/musicgen_1774099814_48000hz.wav-7c1b1b2d197eb35a731b7c5b9e96c952.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

Binary file not shown.

View file

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://d3c172wut4k4o"
path="res://.godot/imported/musicgen_1774101118_48000hz.wav-af0e145277d62a99afaaf71342a8d895.sample"
[deps]
source_file="res://assets/sounds/musicgen_1774101118_48000hz.wav"
dest_files=["res://.godot/imported/musicgen_1774101118_48000hz.wav-af0e145277d62a99afaaf71342a8d895.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

Binary file not shown.

View file

@ -4,6 +4,8 @@
[resource] [resource]
script = ExtResource("1") script = ExtResource("1")
resource_type = 2
base_resource = 100
base_strength = 15 base_strength = 15
base_agility = 8 base_agility = 8
base_intelligence = 5 base_intelligence = 5
@ -15,5 +17,3 @@ stamina_per_level = 2.5
unarmed_min_damage = 2 unarmed_min_damage = 2
unarmed_max_damage = 4 unarmed_max_damage = 4
unarmed_attack_speed = 1.8 unarmed_attack_speed = 1.8
resource_type = 2
base_resource = 100

View file

@ -14,9 +14,9 @@ class MusicGenNode:
"model": (["facebook/musicgen-stereo-medium", "facebook/musicgen-stereo-large", "facebook/musicgen-medium", "facebook/musicgen-large", "facebook/musicgen-small"],), "model": (["facebook/musicgen-stereo-medium", "facebook/musicgen-stereo-large", "facebook/musicgen-medium", "facebook/musicgen-large", "facebook/musicgen-small"],),
"seed": ("INT", {"default": 0, "min": 0, "max": 2**32 - 1}), "seed": ("INT", {"default": 0, "min": 0, "max": 2**32 - 1}),
"temperature": ("FLOAT", {"default": 1.0, "min": 0.1, "max": 2.0, "step": 0.05}), "temperature": ("FLOAT", {"default": 1.0, "min": 0.1, "max": 2.0, "step": 0.05}),
"cfg_coef": ("FLOAT", {"default": 3.0, "min": 1.0, "max": 10.0, "step": 0.5}), "cfg_coef": ("FLOAT", {"default": 3.0, "min": 0.5, "max": 10.0, "step": 0.5}),
"top_k": ("INT", {"default": 250, "min": 1, "max": 1000}), "top_k": ("INT", {"default": 250, "min": 10, "max": 500}),
"extend_stride": ("FLOAT", {"default": 18.0, "min": 1.0, "max": 30.0, "step": 1.0}), "extend_stride": ("FLOAT", {"default": 18.0, "min": 5.0, "max": 28.0, "step": 1.0}),
} }
} }
@ -68,9 +68,9 @@ class MusicGenLongNode:
"context_seconds": ("FLOAT", {"default": 5.0, "min": 1.0, "max": 10.0, "step": 0.5}), "context_seconds": ("FLOAT", {"default": 5.0, "min": 1.0, "max": 10.0, "step": 0.5}),
"model": (["facebook/musicgen-stereo-medium", "facebook/musicgen-stereo-large", "facebook/musicgen-medium", "facebook/musicgen-large", "facebook/musicgen-small"],), "model": (["facebook/musicgen-stereo-medium", "facebook/musicgen-stereo-large", "facebook/musicgen-medium", "facebook/musicgen-large", "facebook/musicgen-small"],),
"seed": ("INT", {"default": 0, "min": 0, "max": 2**32 - 1}), "seed": ("INT", {"default": 0, "min": 0, "max": 2**32 - 1}),
"temperature": ("FLOAT", {"default": 0.85, "min": 0.1, "max": 2.0, "step": 0.05}), "temperature": ("FLOAT", {"default": 1.0, "min": 0.1, "max": 2.0, "step": 0.05}),
"cfg_coef": ("FLOAT", {"default": 5.0, "min": 1.0, "max": 10.0, "step": 0.5}), "cfg_coef": ("FLOAT", {"default": 3.0, "min": 0.5, "max": 10.0, "step": 0.5}),
"top_k": ("INT", {"default": 150, "min": 1, "max": 1000}), "top_k": ("INT", {"default": 250, "min": 10, "max": 500}),
} }
} }
@ -144,7 +144,7 @@ class AudioGenNode:
"duration": ("FLOAT", {"default": 3.0, "min": 0.5, "max": 30.0, "step": 0.5}), "duration": ("FLOAT", {"default": 3.0, "min": 0.5, "max": 30.0, "step": 0.5}),
"seed": ("INT", {"default": 0, "min": 0, "max": 2**32 - 1}), "seed": ("INT", {"default": 0, "min": 0, "max": 2**32 - 1}),
"temperature": ("FLOAT", {"default": 1.0, "min": 0.1, "max": 2.0, "step": 0.05}), "temperature": ("FLOAT", {"default": 1.0, "min": 0.1, "max": 2.0, "step": 0.05}),
"cfg_coef": ("FLOAT", {"default": 3.0, "min": 1.0, "max": 10.0, "step": 0.5}), "cfg_coef": ("FLOAT", {"default": 3.0, "min": 0.5, "max": 10.0, "step": 0.5}),
"top_k": ("INT", {"default": 250, "min": 1, "max": 1000}), "top_k": ("INT", {"default": 250, "min": 1, "max": 1000}),
} }
} }

View file

@ -22,9 +22,9 @@
5.0, 5.0,
"facebook/musicgen-stereo-medium", "facebook/musicgen-stereo-medium",
0, 0,
0.85, 1.0,
5.0, 3.0,
150 250
] ]
}, },
{ {
@ -77,8 +77,8 @@
30.0, 30.0,
"facebook/musicgen-stereo-medium", "facebook/musicgen-stereo-medium",
0, 0,
0.85, 1.0,
5.0, 3.0,
250, 250,
18.0 18.0
] ]
@ -115,6 +115,19 @@
"properties": {"Node name for S&R": "AudioPreview"}, "properties": {"Node name for S&R": "AudioPreview"},
"widgets_values": [] "widgets_values": []
} }
,{
"id": 7,
"type": "Note",
"pos": [1200, 100],
"size": {"0": 500, "1": 520},
"flags": {},
"order": 6,
"mode": 0,
"inputs": [],
"outputs": [],
"properties": {},
"widgets_values": ["=== AudioCraft Parameter Guide ===\n\n--- Empfohlene Werte ---\n\ntemperature (Default: 1.0)\n 0.8 - 1.0 = konsistenter, strukturierter Sound\n 1.0 - 1.2 = kreativ, abwechslungsreich\n < 0.5 = robotisch, repetitiv\n > 1.5 = chaotisch, zufaellig\n\ncfg_coef (Default: 3.0)\n 3.0 - 5.0 = gute Balance Prompt/Kreativitaet\n < 1.5 = ignoriert den Prompt\n > 8.0 = Artefakte, uebersteuert\n\ntop_k (Default: 250)\n 200 - 300 = gute Balance\n < 50 = monoton\n > 500 = zu viele Moeglichkeiten\n\nextend_stride (Default: 18.0)\n 15 - 18 = kurze Tracks (< 30s)\n 8 - 12 = lange Tracks (> 60s)\n < 5 = sehr langsam\n > 25 = Luecken moeglich\n\n--- Prompt Tipps ---\n\n- Instrumente konkret benennen\n (violin, cello, french horn, timpani)\n- Stimmung mit Adjektiven\n (dark, slow, mysterious, epic)\n- Kurz halten: max 2-3 Zeilen\n- Kein BPM (wird ignoriert)\n- Keine Songstruktur (intro/chorus)\n- 'consistent tone throughout'\n hilft bei langen Tracks"]
}
], ],
"links": [ "links": [
[1, 1, 0, 2, 0, "AUDIO_PATH"], [1, 1, 0, 2, 0, "AUDIO_PATH"],

View file

@ -1,5 +1,5 @@
{ {
"last_node_id": 3, "last_node_id": 4,
"last_link_id": 2, "last_link_id": 2,
"nodes": [ "nodes": [
{ {
@ -55,6 +55,19 @@
"outputs": [], "outputs": [],
"properties": {"Node name for S&R": "AudioPreview"}, "properties": {"Node name for S&R": "AudioPreview"},
"widgets_values": [] "widgets_values": []
},
{
"id": 4,
"type": "Note",
"pos": [1250, 100],
"size": {"0": 450, "1": 400},
"flags": {},
"order": 3,
"mode": 0,
"inputs": [],
"outputs": [],
"properties": {},
"widgets_values": ["=== AudioGen SFX Parameter Guide ===\n\n--- Empfohlene Werte ---\n\ntemperature (Default: 1.0)\n 0.9 - 1.0 = praezise, klare Sounds\n 1.0 - 1.2 = mehr Variation\n < 0.5 = robotisch, duenn\n > 1.5 = chaotisch, unbrauchbar\n\ncfg_coef (Default: 3.0)\n 4.0 - 5.0 = schaerfer, praeziser\n 3.0 = ausgewogen\n < 1.5 = ignoriert den Prompt\n > 8.0 = Artefakte\n\ntop_k (Default: 250)\n 200 - 300 = gute Balance\n < 50 = monoton\n > 500 = zu viele Moeglichkeiten\n\nduration\n 1.5 - 3.0s = Attacken, Hits\n 3.0 - 5.0s = Ambient, UI Sounds\n 5.0 - 10s = Laengere Effekte\n\n--- Prompt Tipps ---\n\n- Material + Bewegung + Umgebung\n (metal sword slash, stone impact)\n- Sehr konkret beschreiben\n- Kurz halten: 5-10 Woerter\n- 'sound effect' am Ende hilft\n- Kein Musik-Vokabular nutzen"]
} }
], ],
"links": [ "links": [

View file

@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bl56y6edw41gi"
path="res://.godot/imported/berserker_icon.svg-c4945a9eb9813b839776657540232a0e.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://icons/berserker_icon.svg"
dest_files=["res://.godot/imported/berserker_icon.svg-c4945a9eb9813b839776657540232a0e.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

View file

@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://mxc5dtsbmyt4"
path="res://.godot/imported/blutrausch_icon.svg-363e9ee54d62d2fe2a0b637d28c78c76.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://icons/blutrausch_icon.svg"
dest_files=["res://.godot/imported/blutrausch_icon.svg-363e9ee54d62d2fe2a0b637d28c78c76.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

View file

@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://o4ng5hgmaitv"
path="res://.godot/imported/durchbeissen_icon.svg-d21864ac90bc0ab56ecbd0406cfe173b.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://icons/durchbeissen_icon.svg"
dest_files=["res://.godot/imported/durchbeissen_icon.svg-d21864ac90bc0ab56ecbd0406cfe173b.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

View file

@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cgwh3ssasuc3d"
path="res://.godot/imported/tektonischer_schlag_icon.svg-718d6a0e66bf44e1db099c37118b1ba6.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://icons/tektonischer_schlag_icon.svg"
dest_files=["res://.godot/imported/tektonischer_schlag_icon.svg-718d6a0e66bf44e1db099c37118b1ba6.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

View file

@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dr4sjrfmnii1s"
path="res://.godot/imported/wirbelwind_icon.svg-94ba12f4564c258bd8033f38e70840af.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://icons/wirbelwind_icon.svg"
dest_files=["res://.godot/imported/wirbelwind_icon.svg-94ba12f4564c258bd8033f38e70840af.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

View file

@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dnuywxc0ct4dv"
path="res://.godot/imported/zornfesseln_icon.svg-1fd148b7333df073e5867b512c590c7f.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://icons/zornfesseln_icon.svg"
dest_files=["res://.godot/imported/zornfesseln_icon.svg-1fd148b7333df073e5867b512c590c7f.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

View file

@ -22,6 +22,9 @@ signal start_game
const BG_WITH_TITLE = "res://assets/Icons/Background+GameName.png" const BG_WITH_TITLE = "res://assets/Icons/Background+GameName.png"
const BG_PLAIN = "res://assets/Icons/Background.png" const BG_PLAIN = "res://assets/Icons/Background.png"
const BANNER_PATH = "res://assets/Icons/Banner.png" const BANNER_PATH = "res://assets/Icons/Banner.png"
const MENU_MUSIC = "res://assets/sounds/intro7.mp3"
var _music_player: AudioStreamPlayer
# Auflösungen # Auflösungen
const RESOLUTIONS = [ const RESOLUTIONS = [
@ -48,6 +51,15 @@ func _ready():
elif ResourceLoader.exists(BANNER_PATH): elif ResourceLoader.exists(BANNER_PATH):
background.texture = load(BANNER_PATH) background.texture = load(BANNER_PATH)
# Menü-Musik starten
if ResourceLoader.exists(MENU_MUSIC):
_music_player = AudioStreamPlayer.new()
_music_player.stream = load(MENU_MUSIC)
_music_player.volume_db = -6.0
_music_player.finished.connect(_on_music_finished)
add_child(_music_player)
_music_player.play()
play_btn.pressed.connect(_on_play) play_btn.pressed.connect(_on_play)
settings_btn.pressed.connect(_on_settings) settings_btn.pressed.connect(_on_settings)
quit_btn.pressed.connect(_on_quit) quit_btn.pressed.connect(_on_quit)
@ -152,7 +164,13 @@ func _on_msaa_changed(index: int):
3: 3:
get_viewport().msaa_3d = Viewport.MSAA_8X get_viewport().msaa_3d = Viewport.MSAA_8X
func _on_music_finished():
if _music_player:
_music_player.play()
func _on_play(): func _on_play():
if _music_player:
_music_player.stop()
start_game.emit() start_game.emit()
get_tree().paused = false get_tree().paused = false
queue_free() queue_free()

View file

@ -15,6 +15,13 @@ run/main_scene="uid://bp0g1glxo816h"
config/features=PackedStringArray("4.6", "Forward Plus") config/features=PackedStringArray("4.6", "Forward Plus")
config/icon="res://icon.svg" config/icon="res://icon.svg"
[display]
window/size/viewport_width=1920
window/size/viewport_height=1080
window/size/window_width_override=1600
window/size/window_height_override=900
[input] [input]
move_forward={ move_forward={
@ -128,14 +135,6 @@ interact={
] ]
} }
[display]
window/size/viewport_width=1920
window/size/viewport_height=1080
window/size/window_width_override=1600
window/size/window_height_override=900
window/size/resizable=true
[physics] [physics]
3d/physics_engine="Jolt Physics" 3d/physics_engine="Jolt Physics"