Files
Super-Mario-Bros.-Remastere…/Scenes/Levels/AchievementMenu.tscn
JHDev2006 23345bbbf1 removed sp scrolling from settings menu
i coded it in about 10 minutes as a joke, and didnt really intend on it being something proper + it comes with a whole new slew of bugs which im not willing to commit to yet, soz. its still in the code so should be relatively easy to hack in, maybe itll come back in future, who knows
2025-10-19 09:45:48 +01:00

368 lines
12 KiB
Plaintext

[gd_scene load_steps=20 format=3 uid="uid://bxaeo8dtil8jy"]
[ext_resource type="Script" uid="uid://d3jebf1trkaor" path="res://Scripts/UI/AchievementMenu.gd" id="1_85no8"]
[ext_resource type="Theme" uid="uid://dtn507x2b5de7" path="res://Resources/Theme.tres" id="1_gq2qe"]
[ext_resource type="Texture2D" uid="uid://bhuybr2gtuco5" path="res://Assets/Sprites/UI/MenuBG.png" id="2_khc1b"]
[ext_resource type="Script" uid="uid://xem6lai3ufyj" path="res://Scripts/Classes/UI/PackNinePatch.gd" id="4_85no8"]
[ext_resource type="Texture2D" uid="uid://3ai0ggxah360" path="res://Assets/Sprites/UI/MenuBorder.png" id="6_25fff"]
[ext_resource type="Texture2D" uid="uid://26v45a5r1gpd" path="res://Assets/Sprites/UI/AchievementBG.png" id="7_761rq"]
[ext_resource type="Script" uid="uid://co6tjg3w6qpd8" path="res://Scripts/Parts/LabelFontChanger.gd" id="7_khc1b"]
[ext_resource type="Script" uid="uid://cq6f682453q6o" path="res://Scripts/Classes/Components/ResourceSetter.gd" id="8_flkjp"]
[ext_resource type="AudioStream" uid="uid://cj5eemp85esmq" path="res://Assets/Audio/BGM/Achievements.mp3" id="8_khc1b"]
[ext_resource type="Script" uid="uid://cmvlgsjmsk0v5" path="res://Scripts/Classes/Resources/ThemedResource.gd" id="9_25fff"]
[sub_resource type="Shader" id="Shader_mm3k3"]
code = "shader_type canvas_item;
uniform vec2 motion = vec2(0.0);
uniform float scale = 1.0;
uniform vec2 offset = vec2(0.0);
void vertex(){
UV = (VERTEX + offset + TIME * motion) * TEXTURE_PIXEL_SIZE * (1.0/scale);
}"
[sub_resource type="ShaderMaterial" id="ShaderMaterial_6w7a6"]
shader = SubResource("Shader_mm3k3")
shader_parameter/motion = Vector2(-4, -4)
shader_parameter/scale = 1.0
shader_parameter/offset = Vector2(0, 0)
[sub_resource type="StyleBoxLine" id="StyleBoxLine_khc1b"]
color = Color(1, 1, 1, 1)
[sub_resource type="Resource" id="Resource_761rq"]
script = ExtResource("9_25fff")
Overworld = ExtResource("8_khc1b")
metadata/_custom_type_script = "uid://cmvlgsjmsk0v5"
[sub_resource type="GDScript" id="GDScript_lqtx1"]
script/source = "extends AchievementProgressCalculator
@export var campaign := \"SMB1\"
func get_progress() -> int:
var save = JSON.parse_string(FileAccess.open(Global.config_path.path_join(\"saves/\" + campaign + \".sav\"), FileAccess.READ).get_as_text())
var levels_finished := 0
for world in 8:
for level in 4:
if save[\"ChallengeScores\"][world][level] >= ChallengeModeHandler.CHALLENGE_TARGETS[campaign][world][level]:
if save[\"RedCoins\"][world][level] >= 63:
levels_finished += 1
return levels_finished
"
[sub_resource type="GDScript" id="GDScript_gq2qe"]
script/source = "extends AchievementProgressCalculator
@export var campaign := \"SMB1\"
func get_progress() -> int:
var save = JSON.parse_string(FileAccess.open(Global.config_path.path_join(\"saves/\" + campaign + \".sav\"), FileAccess.READ).get_as_text())
var levels_finished := 0
for i in save[\"ClearedBooLevels\"]:
if int(i) > 0:
levels_finished += 1
return levels_finished
"
[sub_resource type="GDScript" id="GDScript_khc1b"]
script/source = "extends AchievementProgressCalculator
@export var campaign := \"SMB1\"
func get_progress() -> int:
var save = JSON.parse_string(FileAccess.open(Global.config_path.path_join(\"saves/\" + campaign + \".sav\"), FileAccess.READ).get_as_text())
var levels_finished := 0
for i in save[\"ClearedBooLevels\"]:
if int(i) >= 5:
levels_finished += 1
return levels_finished
"
[sub_resource type="GDScript" id="GDScript_85no8"]
script/source = "extends AchievementProgressCalculator
@export var campaign := \"SMB1\"
@export var medal_index := 0
func get_progress() -> int:
var medal_amount := 0
SpeedrunHandler.load_best_times(campaign)
var world := 0
for x in SpeedrunHandler.best_level_warpless_times:
var level := 0
for i in x:
if i <= SpeedrunHandler.LEVEL_GOLD_WARPLESS_TIMES[campaign][world][level] * SpeedrunHandler.MEDAL_CONVERSIONS[medal_index] and i > 0:
medal_amount += 1
level += 1
world += 1
for x in SpeedrunHandler.best_level_any_times:
if SpeedrunHandler.best_level_any_times[x] <= SpeedrunHandler.LEVEL_GOLD_ANY_TIMES[campaign][x] * SpeedrunHandler.MEDAL_CONVERSIONS[medal_index] and SpeedrunHandler.best_level_any_times[x] > 0:
medal_amount += 1
var save = JSON.parse_string(FileAccess.open(Global.config_path.path_join(\"saves/\" + campaign + \".sav\"), FileAccess.READ).get_as_text())
if save.get(\"BestWarplessTime\", -1) <= SpeedrunHandler.GOLD_WARPLESS_TIMES[campaign] and save.get(\"BestWarplessTime\", -1) > 0:
medal_amount += 1
if save.get(\"BestAnyTime\", -1) <= SpeedrunHandler.GOLD_ANY_TIMES[campaign] and save.get(\"BestAnyTime\", -1) > 0:
medal_amount += 1
return medal_amount
"
[sub_resource type="GDScript" id="GDScript_refm4"]
script/source = "extends AchievementProgressCalculator
func get_progress() -> int:
var p_amount := 0
var save = JSON.parse_string(FileAccess.open(Global.config_path.path_join(\"saves/SMBANN.sav\"), FileAccess.READ).get_as_text())
for i in save[\"Ranks\"]:
if i == \"P\":
p_amount += 1
print(p_amount)
return p_amount
"
[node name="AchievementMenu" type="Node"]
script = ExtResource("1_85no8")
[node name="BG" type="NinePatchRect" parent="."]
texture_repeat = 2
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme = ExtResource("1_gq2qe")
texture = ExtResource("2_khc1b")
region_rect = Rect2(48, 0, 16, 16)
axis_stretch_horizontal = 1
axis_stretch_vertical = 1
script = ExtResource("4_85no8")
metadata/_custom_type_script = "uid://xem6lai3ufyj"
[node name="Border" type="NinePatchRect" parent="BG"]
layout_mode = 1
anchors_preset = -1
anchor_left = 0.01
anchor_right = 0.99
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("6_25fff")
region_rect = Rect2(32, 32, 32, 32)
patch_margin_left = 8
patch_margin_top = 8
patch_margin_right = 8
patch_margin_bottom = 8
axis_stretch_horizontal = 2
axis_stretch_vertical = 2
script = ExtResource("4_85no8")
metadata/_custom_type_script = "uid://xem6lai3ufyj"
[node name="BG" type="TextureRect" parent="BG/Border"]
show_behind_parent = true
material = SubResource("ShaderMaterial_6w7a6")
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
texture = ExtResource("7_761rq")
stretch_mode = 1
[node name="MarginContainer" type="MarginContainer" parent="BG/Border"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
theme_override_constants/margin_left = 9
theme_override_constants/margin_top = 8
theme_override_constants/margin_right = 9
theme_override_constants/margin_bottom = 12
[node name="VBoxContainer" type="VBoxContainer" parent="BG/Border/MarginContainer"]
layout_mode = 2
mouse_filter = 2
theme_override_constants/separation = 0
[node name="Title" type="Label" parent="BG/Border/MarginContainer/VBoxContainer"]
custom_minimum_size = Vector2(0, 24)
layout_mode = 2
text = "MENU_ACHIEVEMENTS"
horizontal_alignment = 1
vertical_alignment = 1
uppercase = true
[node name="HSeparator" type="HSeparator" parent="BG/Border/MarginContainer/VBoxContainer/Title"]
layout_mode = 1
anchors_preset = -1
anchor_top = 1.0
anchor_right = 1.0
anchor_bottom = 1.0
offset_top = -4.0
grow_horizontal = 2
grow_vertical = 0
mouse_filter = 2
theme_override_styles/separator = SubResource("StyleBoxLine_khc1b")
[node name="Progress" type="Label" parent="BG/Border/MarginContainer/VBoxContainer/Title"]
unique_name_in_owner = true
custom_minimum_size = Vector2(0, 24)
layout_mode = 1
anchors_preset = -1
anchor_left = 1.0
anchor_right = 1.0
offset_left = -232.0
offset_right = 4.4400024
offset_bottom = 24.0
grow_horizontal = 0
text = "0% "
horizontal_alignment = 2
vertical_alignment = 1
uppercase = true
[node name="ScrollContainer" type="ScrollContainer" parent="BG/Border/MarginContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
mouse_filter = 0
follow_focus = true
horizontal_scroll_mode = 0
[node name="VBoxContainer" type="VBoxContainer" parent="BG/Border/MarginContainer/VBoxContainer/ScrollContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
mouse_filter = 2
[node name="BGM" type="AudioStreamPlayer" parent="."]
stream = ExtResource("8_khc1b")
bus = &"Music"
[node name="ResourceSetter" type="Node" parent="BGM" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("8_flkjp")
node_to_affect = NodePath("..")
property_name = "stream"
themed_resource = SubResource("Resource_761rq")
metadata/_custom_type_script = "uid://cq6f682453q6o"
[node name="ProgressCalculators" type="Node" parent="."]
[node name="4" type="Node" parent="ProgressCalculators"]
script = SubResource("GDScript_lqtx1")
target_number = 32
metadata/_custom_type_script = "uid://dwrso5q5r5bak"
[node name="5" type="Node" parent="ProgressCalculators"]
script = SubResource("GDScript_lqtx1")
campaign = "SMBLL"
target_number = 32
metadata/_custom_type_script = "uid://dwrso5q5r5bak"
[node name="6" type="Node" parent="ProgressCalculators"]
script = SubResource("GDScript_lqtx1")
campaign = "SMBS"
target_number = 32
metadata/_custom_type_script = "uid://dwrso5q5r5bak"
[node name="7" type="Node" parent="ProgressCalculators"]
script = SubResource("GDScript_gq2qe")
metadata/_custom_type_script = "uid://dwrso5q5r5bak"
[node name="8" type="Node" parent="ProgressCalculators"]
script = SubResource("GDScript_gq2qe")
campaign = "SMBLL"
metadata/_custom_type_script = "uid://dwrso5q5r5bak"
[node name="9" type="Node" parent="ProgressCalculators"]
script = SubResource("GDScript_gq2qe")
campaign = "SMBS"
metadata/_custom_type_script = "uid://dwrso5q5r5bak"
[node name="10" type="Node" parent="ProgressCalculators"]
script = SubResource("GDScript_khc1b")
metadata/_custom_type_script = "uid://dwrso5q5r5bak"
[node name="11" type="Node" parent="ProgressCalculators"]
script = SubResource("GDScript_khc1b")
campaign = "SMBLL"
metadata/_custom_type_script = "uid://dwrso5q5r5bak"
[node name="12" type="Node" parent="ProgressCalculators"]
script = SubResource("GDScript_khc1b")
campaign = "SMBS"
metadata/_custom_type_script = "uid://dwrso5q5r5bak"
[node name="13" type="Node" parent="ProgressCalculators"]
script = SubResource("GDScript_85no8")
target_number = 36
metadata/_custom_type_script = "uid://dwrso5q5r5bak"
[node name="14" type="Node" parent="ProgressCalculators"]
script = SubResource("GDScript_85no8")
campaign = "SMBLL"
target_number = 39
metadata/_custom_type_script = "uid://dwrso5q5r5bak"
[node name="15" type="Node" parent="ProgressCalculators"]
script = SubResource("GDScript_85no8")
campaign = "SMBS"
target_number = 35
metadata/_custom_type_script = "uid://dwrso5q5r5bak"
[node name="16" type="Node" parent="ProgressCalculators"]
script = SubResource("GDScript_85no8")
medal_index = 1
target_number = 36
metadata/_custom_type_script = "uid://dwrso5q5r5bak"
[node name="17" type="Node" parent="ProgressCalculators"]
script = SubResource("GDScript_85no8")
campaign = "SMBLL"
medal_index = 1
target_number = 39
metadata/_custom_type_script = "uid://dwrso5q5r5bak"
[node name="18" type="Node" parent="ProgressCalculators"]
script = SubResource("GDScript_85no8")
campaign = "SMBS"
medal_index = 1
target_number = 35
metadata/_custom_type_script = "uid://dwrso5q5r5bak"
[node name="19" type="Node" parent="ProgressCalculators"]
script = SubResource("GDScript_85no8")
medal_index = 2
target_number = 36
metadata/_custom_type_script = "uid://dwrso5q5r5bak"
[node name="20" type="Node" parent="ProgressCalculators"]
script = SubResource("GDScript_85no8")
campaign = "SMBLL"
medal_index = 2
target_number = 39
metadata/_custom_type_script = "uid://dwrso5q5r5bak"
[node name="21" type="Node" parent="ProgressCalculators"]
script = SubResource("GDScript_85no8")
campaign = "SMBS"
medal_index = 2
target_number = 35
metadata/_custom_type_script = "uid://dwrso5q5r5bak"
[node name="25" type="Node" parent="ProgressCalculators"]
script = SubResource("GDScript_refm4")
target_number = 32
metadata/_custom_type_script = "uid://dwrso5q5r5bak"
[node name="LabelFontChanger" type="Node" parent="." node_paths=PackedStringArray("labels")]
script = ExtResource("7_khc1b")
labels = [NodePath("../BG/Border/MarginContainer/VBoxContainer/Title/Progress"), NodePath("../BG/Border/MarginContainer/VBoxContainer/Title")]
metadata/_custom_type_script = "uid://co6tjg3w6qpd8"
[connection signal="sprites_updated" from="BGM/ResourceSetter" to="BGM" method="play"]