From 19c113ea57cb80850d73c1dd21cd27fc03af205d Mon Sep 17 00:00:00 2001 From: KirbyKidJ <70983335+KirbyKid256@users.noreply.github.com> Date: Mon, 15 Sep 2025 19:21:19 -0700 Subject: [PATCH] Resource Pack Expansion Pt. 1 - Fixed Disclaimer Screen not playing Sound Effects loaded from the Resource Pack - Fixed Quit Dialog not playing Beep.wav loaded from Resource Packs - Fixed the Campaign Icons not loading the Resource Pack textures (in fairness the only icon applicable is the Custom Levels one) --- Scenes/Prefabs/UI/CampaignSelect.tscn | 7 +++++-- Scenes/Prefabs/UI/QuitDialog.tscn | 7 ++++++- Scripts/Parts/Disclaimer.gd | 5 +++++ Scripts/UI/CampaignSelect.gd | 6 ++++++ Scripts/UI/QuitDialog.gd | 7 +++++++ 5 files changed, 29 insertions(+), 3 deletions(-) diff --git a/Scenes/Prefabs/UI/CampaignSelect.tscn b/Scenes/Prefabs/UI/CampaignSelect.tscn index 68862fb..c9206e2 100644 --- a/Scenes/Prefabs/UI/CampaignSelect.tscn +++ b/Scenes/Prefabs/UI/CampaignSelect.tscn @@ -5,7 +5,7 @@ [ext_resource type="Texture2D" uid="uid://v2lub78wus46" path="res://Assets/Sprites/UI/CampaignIcons.png" id="3_6ft85"] [ext_resource type="Script" uid="uid://ca3bew33g45eq" path="res://Scripts/Classes/UI/PackTextureRect.gd" id="4_uaivh"] [ext_resource type="Script" uid="uid://co6tjg3w6qpd8" path="res://Scripts/Parts/LabelFontChanger.gd" id="6_1wxv0"] -[ext_resource type="Resource" uid="uid://8dcuxbc3h2u2" path="res://Resources/ThemedResources/Font.tres" id="7_l766q"] +[ext_resource type="Script" uid="uid://bsp584niccobr" path="res://Scripts/Classes/Components/ResourceGetter.gd" id="6_6ft85"] [sub_resource type="AtlasTexture" id="AtlasTexture_6ft85"] atlas = ExtResource("3_6ft85") @@ -215,5 +215,8 @@ vertical_alignment = 2 [node name="LabelFontChanger" type="Node" parent="." node_paths=PackedStringArray("labels")] script = ExtResource("6_1wxv0") labels = [NodePath("../PanelContainer/MarginContainer/VBoxContainer/CampaignNames/SMB1"), NodePath("../PanelContainer/MarginContainer/VBoxContainer/SelectWorld"), NodePath("../PanelContainer/MarginContainer/VBoxContainer/CampaignNames/SMBLL"), NodePath("../PanelContainer/MarginContainer/VBoxContainer/CampaignNames/SMBS"), NodePath("../PanelContainer/MarginContainer/VBoxContainer/CampaignNames/SMBANN"), NodePath("../PanelContainer/MarginContainer/VBoxContainer/CampaignNames/Custom"), NodePath("../PanelContainer/MarginContainer/VBoxContainer/BarLabel")] -resource = ExtResource("7_l766q") metadata/_custom_type_script = "uid://co6tjg3w6qpd8" + +[node name="ResourceGetter" type="Node" parent="."] +script = ExtResource("6_6ft85") +metadata/_custom_type_script = "uid://bsp584niccobr" diff --git a/Scenes/Prefabs/UI/QuitDialog.tscn b/Scenes/Prefabs/UI/QuitDialog.tscn index e2a48db..c455dfd 100644 --- a/Scenes/Prefabs/UI/QuitDialog.tscn +++ b/Scenes/Prefabs/UI/QuitDialog.tscn @@ -1,7 +1,8 @@ -[gd_scene load_steps=6 format=3 uid="uid://b75f3fd7xjeya"] +[gd_scene load_steps=7 format=3 uid="uid://b75f3fd7xjeya"] [ext_resource type="Script" uid="uid://fwgm5xy4jvwf" path="res://Scripts/UI/QuitDialog.gd" id="1_w3irg"] [ext_resource type="AudioStream" uid="uid://drs3md0tuek2w" path="res://Assets/Audio/SFX/Beep.wav" id="2_yapnp"] +[ext_resource type="Script" uid="uid://bsp584niccobr" path="res://Scripts/Classes/Components/ResourceGetter.gd" id="3_kfsue"] [sub_resource type="Animation" id="Animation_yapnp"] resource_name = "Animation" @@ -105,3 +106,7 @@ libraries = { [node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."] stream = ExtResource("2_yapnp") + +[node name="ResourceGetter" type="Node" parent="."] +script = ExtResource("3_kfsue") +metadata/_custom_type_script = "uid://bsp584niccobr" diff --git a/Scripts/Parts/Disclaimer.gd b/Scripts/Parts/Disclaimer.gd index f468eb5..a20110a 100644 --- a/Scripts/Parts/Disclaimer.gd +++ b/Scripts/Parts/Disclaimer.gd @@ -11,6 +11,11 @@ func _enter_tree() -> void: i.uppercase = true func _ready() -> void: + var animation: Animation = $AnimationPlayer.get_animation_library("").get_animation(&"Go") + var track: int = animation.find_track("AudioStreamPlayer", Animation.TYPE_AUDIO) + for key in animation.track_get_key_count(track): + var resource_getter = ResourceGetter.new() #Why do I have to make a new one each time? + animation.audio_track_set_key_stream(track, key, resource_getter.get_resource(animation.audio_track_get_key_stream(track, key))) Global.debugged_in = false Global.get_node("GameHUD").hide() await get_tree().create_timer(1, false).timeout diff --git a/Scripts/UI/CampaignSelect.gd b/Scripts/UI/CampaignSelect.gd index f8665bd..ab76373 100644 --- a/Scripts/UI/CampaignSelect.gd +++ b/Scripts/UI/CampaignSelect.gd @@ -13,9 +13,15 @@ var old_campaign := "" @export var campaign := ["SMB1", "SMBLL", "SMBS", "SMBANN", "Custom"] func _ready() -> void: + update() + Global.level_theme_changed.connect(update) get_starting_position() handle_visuals() +func update() -> void: + for icon in campaign_icons: + icon.atlas = $ResourceGetter.get_resource(icon.atlas) + func _process(_delta: float) -> void: if active: handle_input() diff --git a/Scripts/UI/QuitDialog.gd b/Scripts/UI/QuitDialog.gd index 4c68b8d..0be9607 100644 --- a/Scripts/UI/QuitDialog.gd +++ b/Scripts/UI/QuitDialog.gd @@ -3,6 +3,13 @@ extends Control signal cancelled var is_active := false +func _ready() -> void: + update() + Global.level_theme_changed.connect(update) + +func update() -> void: + $AudioStreamPlayer.stream = $ResourceGetter.get_resource($AudioStreamPlayer.stream) + func _physics_process(delta: float) -> void: modulate.a = lerpf(modulate.a, int(is_active), delta * 15) if Input.is_action_just_released("ui_back") and is_active: