Compare commits

...

9 commits

Author SHA1 Message Date
guzlad
df9c00c460
Fixed spaces and tabs in the resource template (#658) 2025-10-23 23:03:26 +01:00
JHDev2006
aa6fb17072 Update ResourcePackTemplateCreator.gd 2025-10-23 22:33:57 +01:00
JHDev2006
4a3da23429 Update ResourcePackTemplateCreator.gd 2025-10-23 22:13:13 +01:00
guzlad
27396cca5d
Resource pack export fixes for specific filetypes (#657)
* Resource pack creator fixes

* Spacing fix + comments for Joe

* Some further fixes, added an array of files which shouldn't be loaded in-engine to remove large amount of ifs
2025-10-23 21:43:53 +01:00
JHDev2006
64cce1bb68 shit, accidentily mad ethe settings menu visible on spawn, whoops 2025-10-23 20:43:11 +01:00
JHDev2006
d7f56f7678 changed the menu text to let players know when a pack is being created (so they dont think it crashes) 2025-10-23 20:41:07 +01:00
JHDev2006
22a1af89d4 couple of error fixes 2025-10-23 20:05:30 +01:00
JHDev2006
974c001d08 Merge branch 'main' of https://github.com/JHDev2006/Super-Mario-Bros.-Remastered-Public 2025-10-23 19:58:03 +01:00
JHDev2006
8dca0548db updated all sfx wavs to not be compressed 2025-10-23 19:57:58 +01:00
38 changed files with 86 additions and 52 deletions

View file

@ -21,4 +21,4 @@ edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2
compress/mode=0

View file

@ -21,4 +21,4 @@ edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2
compress/mode=0

View file

@ -21,4 +21,4 @@ edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2
compress/mode=0

View file

@ -21,4 +21,4 @@ edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2
compress/mode=0

View file

@ -21,4 +21,4 @@ edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2
compress/mode=0

View file

@ -21,4 +21,4 @@ edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2
compress/mode=0

View file

@ -21,4 +21,4 @@ edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2
compress/mode=0

View file

@ -21,4 +21,4 @@ edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2
compress/mode=0

View file

@ -21,4 +21,4 @@ edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2
compress/mode=0

View file

@ -21,4 +21,4 @@ edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2
compress/mode=0

View file

@ -21,4 +21,4 @@ edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2
compress/mode=0

View file

@ -21,4 +21,4 @@ edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2
compress/mode=0

View file

@ -21,4 +21,4 @@ edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2
compress/mode=0

View file

@ -21,4 +21,4 @@ edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2
compress/mode=0

View file

@ -21,4 +21,4 @@ edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2
compress/mode=0

View file

@ -21,4 +21,4 @@ edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2
compress/mode=0

View file

@ -21,4 +21,4 @@ edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2
compress/mode=0

View file

@ -21,4 +21,4 @@ edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2
compress/mode=0

View file

@ -21,4 +21,4 @@ edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2
compress/mode=0

View file

@ -21,4 +21,4 @@ edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2
compress/mode=0

View file

@ -21,4 +21,4 @@ edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2
compress/mode=0

View file

@ -21,4 +21,4 @@ edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2
compress/mode=0

View file

@ -21,4 +21,4 @@ edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2
compress/mode=0

View file

@ -21,4 +21,4 @@ edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2
compress/mode=0

View file

@ -21,4 +21,4 @@ edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2
compress/mode=0

View file

@ -21,4 +21,4 @@ edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2
compress/mode=0

View file

@ -21,4 +21,4 @@ edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2
compress/mode=0

View file

@ -21,4 +21,4 @@ edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2
compress/mode=0

View file

@ -21,4 +21,4 @@ edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2
compress/mode=0

View file

@ -21,4 +21,4 @@ edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2
compress/mode=0

View file

@ -21,4 +21,4 @@ edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2
compress/mode=0

View file

@ -21,4 +21,4 @@ edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2
compress/mode=0

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=10 format=3 uid="uid://dybfmrawthall"]
[gd_scene load_steps=9 format=3 uid="uid://dybfmrawthall"]
[ext_resource type="Texture2D" uid="uid://boongcly3e2cl" path="res://Assets/Sprites/Particles/LakituCloudBurst.png" id="1_3jvpp"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="2_cic8a"]
@ -40,20 +40,12 @@ animations = [{
"speed": 10.0
}]
[sub_resource type="GDScript" id="GDScript_3jvpp"]
script/source = "extends AnimatedSprite2D
func _ready() -> void:
pass
"
[node name="LakituCloudBurst" type="AnimatedSprite2D"]
z_index = 5
sprite_frames = SubResource("SpriteFrames_xs1ui")
autoplay = "default"
frame = 3
frame_progress = 1.0
script = SubResource("GDScript_3jvpp")
[node name="Timer" type="Timer" parent="."]
wait_time = 10.0

View file

@ -562,6 +562,7 @@ title = "RESOURCE_REFRESH"
[node name="SelectableOptionNode3" parent="PanelContainer/MarginContainer/VBoxContainer/ResourcePacks" instance=ExtResource("9_t6b48")]
layout_mode = 2
title = "RESOURCE_PACK_CREATE"
press_sfx = ""
[node name="ResourcePackLoader" type="Node" parent="PanelContainer/MarginContainer/VBoxContainer/ResourcePacks"]
script = ExtResource("9_2qqpf")
@ -1019,6 +1020,7 @@ script = ExtResource("19_k6yev")
[connection signal="button_pressed" from="PanelContainer/MarginContainer/VBoxContainer/ResourcePacks/SelectableOptionNode" to="PanelContainer/MarginContainer/VBoxContainer/ResourcePacks/ResourcePackLoader" method="open_folder"]
[connection signal="button_pressed" from="PanelContainer/MarginContainer/VBoxContainer/ResourcePacks/SelectableOptionNode2" to="PanelContainer/MarginContainer/VBoxContainer/ResourcePacks/ResourcePackLoader" method="get_resource_packs"]
[connection signal="button_pressed" from="PanelContainer/MarginContainer/VBoxContainer/ResourcePacks/SelectableOptionNode3" to="ResourcePackTemplateCreator" method="create_template"]
[connection signal="button_pressed" from="PanelContainer/MarginContainer/VBoxContainer/ResourcePacks/SelectableOptionNode3" to="PanelContainer/MarginContainer/VBoxContainer/ResourcePacks/SelectableOptionNode3" method="set_title" binds= ["Creating Resource Pack..."]]
[connection signal="value_changed" from="PanelContainer/MarginContainer/VBoxContainer/Difficulty/DamageStyle" to="PanelContainer/MarginContainer/VBoxContainer/Difficulty/DifficultySetter" method="damage_style_changed"]
[connection signal="value_changed" from="PanelContainer/MarginContainer/VBoxContainer/Difficulty/Checkpoints" to="PanelContainer/MarginContainer/VBoxContainer/Difficulty/DifficultySetter" method="checkpoint_changed"]
[connection signal="value_changed" from="PanelContainer/MarginContainer/VBoxContainer/Difficulty/ExtraCheckpoints" to="PanelContainer/MarginContainer/VBoxContainer/Difficulty/DifficultySetter" method="extra_checkpoints_changed"]
@ -1036,6 +1038,8 @@ script = ExtResource("19_k6yev")
[connection signal="deleted" from="PanelContainer/MarginContainer/VBoxContainer/Data/AchievementData" to="PanelContainer/MarginContainer/VBoxContainer/Data/DataDeletion" method="delete_achievement"]
[connection signal="deleted" from="PanelContainer/MarginContainer/VBoxContainer/Data/Everything" to="PanelContainer/MarginContainer/VBoxContainer/Data/DataDeletion" method="delete_everything"]
[connection signal="button_pressed" from="PanelContainer/MarginContainer/VBoxContainer/Data/RegenROM" to="PanelContainer/MarginContainer/VBoxContainer/Data/DataDeletion" method="regen_rom"]
[connection signal="pack_created" from="ResourcePackTemplateCreator" to="PanelContainer/MarginContainer/VBoxContainer/ResourcePacks/SelectableOptionNode3" method="set_title" binds= ["RESOURCE_PACK_CREATE"]]
[connection signal="pack_created" from="ResourcePackTemplateCreator" to="PanelContainer/MarginContainer/VBoxContainer/ResourcePacks/SelectableOptionNode3" method="play_sfx" binds= ["correct"]]
[editable path="PanelContainer/MarginContainer/VBoxContainer/Video/Language"]
[editable path="PanelContainer/MarginContainer/VBoxContainer/Audio/SelectableOptionNode"]

View file

@ -59,8 +59,8 @@ signal text_shadow_changed
var debugged_in := true
var score_tween = create_tween()
var time_tween = create_tween()
var score_tween = null
var time_tween = null
var total_deaths := 0

View file

@ -7,13 +7,19 @@ signal fnt_file_downloaded(text: String)
var downloaded_fnt_text := []
signal pack_created
const base_info_json := {
"name": "New Pack",
"description": "Template, give me a description!",
"author": "Me, until you change it"
"author": "Me, until you change it",
"version": "1.0"
}
const disallowed_files := ["bgm","ctex","json","fnt", "svg"]
func create_template() -> void:
await get_tree().process_frame
get_directories("res://Assets", files, directories)
for i in directories:
DirAccess.make_dir_recursive_absolute(i.replace("res://Assets", Global.config_path.path_join("resource_packs/new_pack")))
@ -29,20 +35,44 @@ func create_template() -> void:
## Imagine being one of the best open source game engines, yet not able to get the FUCKING CONTENTS
## OF AN FNT FILE SO INSTEAD YOU HAVE TO WRITE THE MOST BULLSHIT CODE TO DOWNLOAD THE FUCKING FILE
## FROM THE FUCKING GITHUB REPO. WHY? BECAUSE GODOT IS SHIT. FUCK GODOT.
elif i.contains(".bgm") == false and i.contains(".ctex") == false and i.contains(".json") == false and i.contains("res://") and i.contains(".fnt") == false:
elif i.contains(".svg"):
## DON'T import SVGs
continue
elif disallowed_files.has(i.get_extension()) == false and i.contains("res://"):
var resource = load(i)
if resource is Texture:
if OS.is_debug_build(): print("texture:" + i)
data = resource.get_image().save_png_to_buffer()
elif resource is AudioStream:
data = resource.get_data()
match i.get_extension():
"mp3":
if OS.is_debug_build(): print("mp3:" + i)
data = resource.get_data()
"wav":
## guzlad: CAN NOT BE format FORMAT_IMA_ADPCM or FORMAT_QOA as they don't support the save function
## guzlad: Should be FORMAT_16_BITS like most of our other .wav files
if OS.is_debug_build(): print("wav:" + i)
var wav_file: AudioStreamWAV = load(i)
if !OS.is_debug_build():
wav_file.save_to_wav(destination)
else:
print(error_string(wav_file.save_to_wav(destination)))
## guzlad: No OGG yet
_:
data = resource.get_data()
else:
if OS.is_debug_build(): print("else:" + i)
var old_file = FileAccess.open(i, FileAccess.READ)
data = old_file.get_buffer(old_file.get_length())
if OS.is_debug_build(): print("else error: " + error_string(old_file.get_error()))
old_file.close()
var new_file = FileAccess.open(destination, FileAccess.WRITE)
new_file.store_buffer(data)
new_file.close()
if !data.is_empty():
if OS.is_debug_build(): print("saving:" + i)
var new_file = FileAccess.open(destination, FileAccess.WRITE)
new_file.store_buffer(data)
if OS.is_debug_build(): print("saving error: " + error_string(new_file.get_error()))
new_file.close()
var pack_info_path = Global.config_path.path_join("resource_packs/new_pack/pack_info.json")
DirAccess.make_dir_recursive_absolute(pack_info_path.get_base_dir())
@ -50,6 +80,7 @@ func create_template() -> void:
file.store_string(JSON.stringify(base_info_json, "\t"))
file.close()
print("Done")
pack_created.emit()
func download_fnt_text(file_path := "") -> PackedByteArray:
var http = HTTPRequest.new()
@ -77,7 +108,7 @@ func get_files(base_dir := "", files := []) -> void:
for i in DirAccess.get_files_at(base_dir):
if base_dir.contains("LevelGuides") == false:
i = i.replace(".import", "")
print(i)
#print(i)
var target_path = base_dir + "/" + i
var rom_assets_path = target_path.replace("res://Assets", Global.config_path.path_join("resource_packs/BaseAssets"))
if FileAccess.file_exists(rom_assets_path):

View file

@ -19,4 +19,11 @@ func handle_inputs() -> void:
if Input.is_action_just_pressed("ui_accept"):
button_pressed.emit()
if press_sfx != "":
AudioManager.play_global_sfx(press_sfx)
play_sfx()
func play_sfx(sfx := press_sfx) -> void:
await get_tree().process_frame
AudioManager.play_global_sfx(sfx)
func set_title(text := "") -> void:
title = text

View file

@ -56,7 +56,7 @@ func frame_limit_changed(new_value := 0) -> void:
3: new_framerate = 144
4: new_framerate = 240
Engine.max_fps = new_framerate
Engine.set_max_fps(new_framerate)
Settings.file.video.frame_limit = new_value
func set_window_size(value := []) -> void: