diff --git a/Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/CommonLanguageMenu.d/message/Common.bmg.json b/Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/CommonLanguageMenu.d/message/Common.bmg.json index 28e4fc0..99b851c 100644 --- a/Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/CommonLanguageMenu.d/message/Common.bmg.json +++ b/Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/CommonLanguageMenu.d/message/Common.bmg.json @@ -6,7 +6,7 @@ "layers": [ { "mode": "ctfile", - "template": "{{ ## TRACK_TEXT_SCORE ## }}{{ ## TRACK_TEXT_PREFIX ## }}{{ ## TRACK_TEXT_NAME ## }}{{ ## TRACK_TEXT_SUFFIX ## }}" + "template": "{{ ## TRACK_TEXT_SCORE ## }}{{ ## TRACK_TEXT_PREFIX ## }}{{ ## TRACK_TEXT_HIGHLIGHT_START ## }}{{ ## TRACK_TEXT_NAME ## }}{{ ## TRACK_TEXT_HIGHLIGHT_END ## }}{{ ## TRACK_TEXT_SUFFIX ## }}" }, { "mode": "format-original-track", diff --git a/Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/MultiplayerLanguage.d/message/Common.bmg.json b/Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/MultiplayerLanguage.d/message/Common.bmg.json index b45a5ec..05ee049 100644 --- a/Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/MultiplayerLanguage.d/message/Common.bmg.json +++ b/Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/MultiplayerLanguage.d/message/Common.bmg.json @@ -6,7 +6,7 @@ "layers": [ { "mode": "ctfile", - "template": "{{ ## TRACK_TEXT_WARNING_IF_DISABLED ## }}{{ (## TRACK_TEXT_SCORE ##) ## IF_NO_WARNING ## }}{{ (## TRACK_TEXT_PREFIX ##) ## IF_NO_WARNING ## }}{{ (## TRACK_TEXT_NAME ##) ## IF_NO_WARNING ## }}{{ (## TRACK_TEXT_SUFFIX ##) ## IF_NO_WARNING ## }}" + "template": "{{ ## TRACK_TEXT_WARNING_IF_DISABLED ## }}{{ (## TRACK_TEXT_SCORE ##) ## IF_NO_WARNING ## }}{{ (## TRACK_TEXT_PREFIX ##) ## IF_NO_WARNING ## }}{{ ## TRACK_TEXT_HIGHLIGHT_START ## }}{{ (## TRACK_TEXT_NAME ##) ## IF_NO_WARNING ## }}{{ ## TRACK_TEXT_HIGHLIGHT_END ## }}{{ (## TRACK_TEXT_SUFFIX ##) ## IF_NO_WARNING ## }}" }, { "mode": "format-original-track", diff --git a/Pack/MKWFaraphel/macros.json b/Pack/MKWFaraphel/macros.json index 1214d51..766911c 100644 --- a/Pack/MKWFaraphel/macros.json +++ b/Pack/MKWFaraphel/macros.json @@ -7,6 +7,8 @@ "TRACK_TEXT_NAME": "getattr(track, 'name', '')", "TRACK_TEXT_AUTHORS": "'\\\\n'.join(author) if isinstance(author := getattr(track, 'author', '/'), list) else author", "TRACK_TEXT_WARNING_IF_DISABLED": "bmg_color_text('red', '/') if getattr(track, 'warning', 0) != 0 else ''", + "TRACK_TEXT_HIGHLIGHT_START": "bmg_color_raw('azure') if eval(highlight_if if (highlight_if := mod_config.specific_settings['highlight_if'].value) is not None else 'False', env={'track': track}) is True else ''", + "TRACK_TEXT_HIGHLIGHT_END": "bmg_color_raw('off')", "SETTINGS_MODE": "mod_config.specific_settings['mode'].value", diff --git a/Pack/MKWFaraphel/mod_config.json b/Pack/MKWFaraphel/mod_config.json index f64300d..d358fa4 100644 --- a/Pack/MKWFaraphel/mod_config.json +++ b/Pack/MKWFaraphel/mod_config.json @@ -22,11 +22,11 @@ "fr": "Surligner si" }, "type": "string", - "preview": "track_formatting" + "preview": "track_selecting" } }, "track_new_if": "'Retro' not in getattr(track, 'tags', []) and getattr(track, 'warning', 0) == 0", - "lpar_template": "{{ ## SETTINGS_MODE ## if ## SETTINGS_MODE ## is not None else 'normal' }}.lpar", + "lpar_template": "{{ mode if (mode := ## SETTINGS_MODE ##) is not None else 'normal' }}.lpar", "tags_prefix": { "MSRDS": "{{ bmg_color_text('green', tag) }}", diff --git a/source/mkw/MKWColor.py b/source/mkw/MKWColor.py index 8e1d490..9b1ab6f 100644 --- a/source/mkw/MKWColor.py +++ b/source/mkw/MKWColor.py @@ -55,6 +55,15 @@ class MKWColor: return f"#{self.hex:06X}" +def bmg_color_raw(color_name: str) -> str: + """ + Useful shortcut to place a color + :param color_name: name of the color + :return: return the color character + """ + return r"\c{" + MKWColor(color_name).bmg + "}" + + def bmg_color_text(color_name: str, text: str) -> str: """ Useful shortcut to color a text @@ -62,4 +71,4 @@ def bmg_color_text(color_name: str, text: str) -> str: :param text: text to color :return: return the formatted text with the color """ - return r"\c{" + MKWColor(color_name).bmg + "}" + text + r"\c{" + MKWColor('off').bmg + "}" + return f'{bmg_color_raw(color_name)}{text}{bmg_color_raw("off")}' diff --git a/source/mkw/ModConfig.py b/source/mkw/ModConfig.py index b07655d..48613e9 100644 --- a/source/mkw/ModConfig.py +++ b/source/mkw/ModConfig.py @@ -7,7 +7,7 @@ from PIL import Image from source import threaded from source.mkw import Tag from source.mkw.Cup import Cup -from source.mkw.MKWColor import bmg_color_text +from source.mkw.MKWColor import bmg_color_text, bmg_color_raw from source.mkw.ModSettings import AbstractModSettings from source.mkw.Track import Track import json @@ -167,6 +167,7 @@ class ModConfig: """ return { "mod_config": self, + "bmg_color_raw": bmg_color_raw, "bmg_color_text": bmg_color_text } | ( base_env if base_env is not None else {}