mirror of
https://github.com/JHDev2006/Super-Mario-Bros.-Remastered-Public.git
synced 2025-10-22 07:28:14 +00:00
fonts can now have custom variations via jsons
This commit is contained in:
@@ -10,7 +10,7 @@ extends Node
|
||||
resource_json = value
|
||||
update_resource()
|
||||
|
||||
enum ResourceMode {SPRITE_FRAMES, TEXTURE, AUDIO, RAW}
|
||||
enum ResourceMode {SPRITE_FRAMES, TEXTURE, AUDIO, RAW, FONT}
|
||||
@export var use_cache := true
|
||||
|
||||
static var cache := {}
|
||||
@@ -156,6 +156,9 @@ func get_resource(json_file: JSON) -> Resource:
|
||||
resource = load_audio_from_path(source_resource_path)
|
||||
ResourceMode.RAW:
|
||||
pass
|
||||
ResourceMode.FONT:
|
||||
resource = FontFile.new()
|
||||
resource.load_bitmap_font(source_resource_path)
|
||||
if cache.has(json_file.resource_path) == false and use_cache and not is_random:
|
||||
cache[json_file.resource_path] = resource
|
||||
return resource
|
||||
|
@@ -1,12 +1,10 @@
|
||||
class_name FontUpdater
|
||||
extends Node
|
||||
|
||||
@onready var resource_getter_smb1 := ResourceGetter.new()
|
||||
@onready var resource_getter_smbll := ResourceGetter.new()
|
||||
@onready var resource_getter_score := ResourceGetter.new()
|
||||
var main_font: Resource = null
|
||||
var score_font: Resource = null
|
||||
|
||||
@onready var FONT_LL_MAIN = load("uid://djxdgxy1iv8yv")
|
||||
@onready var FONT_MAIN = load("uid://bl7sbw4nx3l1t")
|
||||
var FONT_MAIN = preload("uid://bl7sbw4nx3l1t")
|
||||
@onready var SCORE_FONT = load("uid://cflgloiossd8a")
|
||||
|
||||
|
||||
@@ -17,6 +15,5 @@ func _ready() -> void:
|
||||
Global.level_theme_changed.connect(update_fonts)
|
||||
|
||||
func update_fonts() -> void:
|
||||
FONT_MAIN.base_font = resource_getter_smb1.get_resource(FONT_MAIN.base_font)
|
||||
FONT_LL_MAIN.base_font = resource_getter_smbll.get_resource(FONT_LL_MAIN.base_font)
|
||||
SCORE_FONT.base_font = resource_getter_score.get_resource(SCORE_FONT.base_font)
|
||||
FONT_MAIN.base_font = main_font
|
||||
SCORE_FONT.base_font = score_font
|
||||
|
@@ -3,8 +3,7 @@ extends Node
|
||||
|
||||
@export var labels: Array[Label]
|
||||
|
||||
const SMB1 = preload("uid://bl7sbw4nx3l1t")
|
||||
const SMBLL = preload("uid://djxdgxy1iv8yv")
|
||||
const MAIN_FONT = preload("uid://bl7sbw4nx3l1t")
|
||||
const SCORE_FONT = preload("uid://bk0no5p6sifgu")
|
||||
|
||||
@export var use_score_font := false
|
||||
@@ -16,18 +15,11 @@ func _ready() -> void:
|
||||
Global.level_theme_changed.connect(refresh_font)
|
||||
|
||||
func refresh_font() -> void:
|
||||
if Global.current_campaign == "SMBLL":
|
||||
current_font = SMBLL
|
||||
else:
|
||||
current_font = SMB1
|
||||
update_labels()
|
||||
|
||||
func update_labels() -> void:
|
||||
var font_to_use = current_font
|
||||
if use_score_font:
|
||||
font_to_use = SCORE_FONT
|
||||
for i in labels:
|
||||
if i == null:
|
||||
continue
|
||||
i.remove_theme_font_override("font")
|
||||
i.add_theme_font_override("font", font_to_use)
|
||||
i.add_theme_font_override("font", MAIN_FONT)
|
||||
|
Reference in New Issue
Block a user