mirror of
				https://github.com/JHDev2006/Super-Mario-Bros.-Remastered-Public.git
				synced 2025-11-04 08:35:41 +00:00 
			
		
		
		
	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
		
			
				
	
	
		
			368 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			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"]
 |