From aac5b1ef2c36bd6e726fedaf2f060e361e486ec9 Mon Sep 17 00:00:00 2001 From: AllUniversal Date: Fri, 26 Jun 2026 19:02:31 +0200 Subject: [PATCH 1/2] Added support for `badge_shader` field in `mod.json`. +Title --- src/preflight/loader.lua | 1 + src/ui.lua | 5 +++++ src/utils.lua | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/preflight/loader.lua b/src/preflight/loader.lua index 45e0d2030..8d655ec8c 100644 --- a/src/preflight/loader.lua +++ b/src/preflight/loader.lua @@ -146,6 +146,7 @@ function loadMods(modsDirectory) priority = { type = 'number', default = 0 }, badge_colour = { type = 'string', check = function(mod, s) local success, hex = pcall(sUtil.hex, s); mod.badge_colour = success and hex or sUtil.hex('666665FF') end }, badge_text_colour = { type = 'string', check = function(mod, s) local success, hex = pcall(sUtil.hex, s); mod.badge_text_colour = success and hex or sUtil.hex('FFFFFFFF') end}, + badge_shader = { type = 'string', }, prefix = { type = 'string', required = true, check = function(mod, s) if string.find(s, '%$') then error("Disallowed use of reserved prefix "..s) end end }, version = { type = 'string', check = function(mod, x) return x and sUtil.V(x):is_valid() and x or '0.0.0' end }, dump_loc = { type = 'boolean' }, diff --git a/src/ui.lua b/src/ui.lua index a88a2970a..7070e17bc 100644 --- a/src/ui.lua +++ b/src/ui.lua @@ -3291,6 +3291,10 @@ function SMODS.create_blind_mod_badge() end end +function SMODS.modbadge_shader_on_blind() + return true +end + G.FUNCS.HUD_blind_badge = function(e) if G.GAME.blind.in_blind then if G.GAME.blind.config.blind.mod then @@ -3299,6 +3303,7 @@ G.FUNCS.HUD_blind_badge = function(e) G.GAME.blind_badge.name = mod.display_name e.UIBox:add_child(SMODS.create_blind_mod_badge(), e) e.config.colour = mod.badge_colour or G.C.DYN_UI.MAIN + e.config.shader = SMODS.modbadge_shader_on_blind() and mod.badge_shader or nil e.config.emboss = 0.05 e.states.visible = true end diff --git a/src/utils.lua b/src/utils.lua index b55645325..6f3b26f52 100644 --- a/src/utils.lua +++ b/src/utils.lua @@ -546,7 +546,7 @@ function SMODS.create_mod_badges(obj, badges) end, }) badges[#badges + 1] = {n=G.UIT.R, config={align = "cm"}, nodes={ - {n=G.UIT.R, config={align = "cm", colour = mod.badge_colour or G.C.GREEN, r = 0.1, minw = 2, minh = 0.36, emboss = 0.05, padding = 0.03*size}, nodes={ + {n=G.UIT.R, config={align = "cm", colour = mod.badge_colour or G.C.GREEN, shader = not obj.no_shader_on_modbadge and mod.badge_shader or nil, r = 0.1, minw = 2, minh = 0.36, emboss = 0.05, padding = 0.03*size}, nodes={ {n=G.UIT.B, config={h=0.1,w=0.03}}, {n=G.UIT.O, config={id = 'smods_mod_badge_text', object=badge_scroll}}, {n=G.UIT.B, config={h=0.1,w=0.03}}, From d31aeb3b19bab56d6ae0220ee66cfd67b3b98653 Mon Sep 17 00:00:00 2001 From: AllUniversal Date: Fri, 10 Jul 2026 22:58:00 +0200 Subject: [PATCH 2/2] Removed unnecessary flag func -Title --- src/ui.lua | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/ui.lua b/src/ui.lua index 8f4f4e26c..79c081711 100644 --- a/src/ui.lua +++ b/src/ui.lua @@ -3291,10 +3291,6 @@ function SMODS.create_blind_mod_badge() end end -function SMODS.modbadge_shader_on_blind() - return true -end - G.FUNCS.HUD_blind_badge = function(e) if G.GAME.blind.in_blind then if G.GAME.blind.config.blind.mod then @@ -3303,7 +3299,7 @@ G.FUNCS.HUD_blind_badge = function(e) G.GAME.blind_badge.name = mod.display_name e.UIBox:add_child(SMODS.create_blind_mod_badge(), e) e.config.colour = mod.badge_colour or G.C.DYN_UI.MAIN - e.config.shader = SMODS.modbadge_shader_on_blind() and mod.badge_shader or nil + e.config.shader = not G.GAME.blind.config.blind.no_shader_on_modbadge and mod.badge_shader or nil e.config.emboss = 0.05 e.states.visible = true end