mirror of
https://github.com/JHDev2006/Super-Mario-Bros.-Remastered-Public.git
synced 2025-10-22 15:38:14 +00:00
Title Screen QOL Theming
This was supposed to be a quick quality of life addition for the Title Screen that applied the save and theme to the menu, but then I discovered a new bug I had to bypass with the character palette when doing it. So I ended up doing a bit more related to the Title Screen as a result. I also *had* a function which checks for the number of valid folders within the Pck to see how many worlds there are, but I think it might've been a bit slow so I replaced it with constant values. - Save for the currently loaded campaign gets applied on startup - Backing out of World 9 and over keeps you on said worlds at the title screen - Added Skyland and Volcano to SMB1 themes since it shares most of its themes with Lost Levels - Fixed Title Screen Stars for the Volcano Theme
This commit is contained in:
@@ -9,6 +9,7 @@ static var title_first_load = true
|
||||
@onready var cursor = %Cursor
|
||||
|
||||
static var last_theme := "Overworld"
|
||||
var last_campaign := "SMB1"
|
||||
var has_achievements_to_unlock := false
|
||||
@export var active_options: TitleScreenOptions = null
|
||||
|
||||
@@ -21,6 +22,7 @@ func _enter_tree() -> void:
|
||||
Global.current_campaign = Settings.file.game.campaign
|
||||
Global.in_title_screen = true
|
||||
Global.current_game_mode = Global.GameMode.NONE
|
||||
last_campaign = Global.current_campaign
|
||||
title_first_load = false
|
||||
|
||||
func _ready() -> void:
|
||||
@@ -40,7 +42,11 @@ func _ready() -> void:
|
||||
Global.player_ghost.apply_data()
|
||||
get_tree().call_group("PlayerGhosts", "delete")
|
||||
Global.current_level = null
|
||||
Global.world_num = clamp(Global.world_num, 1, 8)
|
||||
Global.world_num = clamp(Global.world_num, 1, get_world_count())
|
||||
update_title()
|
||||
|
||||
func update_title() -> void:
|
||||
SaveManager.apply_save(SaveManager.load_save(Global.current_campaign))
|
||||
level_id = Global.level_num - 1
|
||||
world_id = Global.world_num
|
||||
update_theme()
|
||||
@@ -48,8 +54,6 @@ func _ready() -> void:
|
||||
$LevelBG.time_of_day = ["Day", "Night"].find(Global.theme_time)
|
||||
$LevelBG.update_visuals()
|
||||
|
||||
|
||||
|
||||
func play_bgm() -> void:
|
||||
if has_achievements_to_unlock:
|
||||
await get_tree().create_timer(3, false).timeout
|
||||
@@ -66,7 +70,9 @@ func _process(_delta: float) -> void:
|
||||
$BGM.play()
|
||||
|
||||
func campaign_selected() -> void:
|
||||
SaveManager.apply_save(SaveManager.load_save(Global.current_campaign))
|
||||
if last_campaign != Global.current_campaign:
|
||||
last_campaign = Global.current_campaign
|
||||
update_title()
|
||||
if Global.current_campaign == "SMBANN":
|
||||
Global.current_game_mode = Global.GameMode.CAMPAIGN
|
||||
$CanvasLayer/AllNightNippon/WorldSelect.open()
|
||||
|
Reference in New Issue
Block a user