From 9ddac91350abd7189f1f36c5eaed621baea5493a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=8D=9A=7ENex?= <87421482+NexIsDumb@users.noreply.github.com> Date: Mon, 8 Apr 2024 01:03:32 +0200 Subject: [PATCH] probably last wip i'll resume tmr --- .../backend/assets/TranslatedAssetLibrary.hx | 22 +++++++++++++------ .../funkin/backend/utils/TranslationUtil.hx | 5 ++++- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/source/funkin/backend/assets/TranslatedAssetLibrary.hx b/source/funkin/backend/assets/TranslatedAssetLibrary.hx index 6e15054a..5196b384 100644 --- a/source/funkin/backend/assets/TranslatedAssetLibrary.hx +++ b/source/funkin/backend/assets/TranslatedAssetLibrary.hx @@ -12,14 +12,25 @@ class TranslatedAssetLibrary extends AssetLibrary implements IModsAssetLibrary { public var basePath:String; public var prefix:String = Paths.translFolderName + "/"; - public function new(langFolder:String) { - this.libName = this.modName = langFolder; - this.basePath = prefix + libName + "/"; + public var langFolder(get, set):String; + @:noCompletion private inline function get_langFolder():String { + return libName; + } + @:noCompletion private inline function set_langFolder(value:String):String { + basePath = prefix + (libName = modName = (value == null ? value : TranslationUtil.DEFAULT_LANGUAGE.split("/")[0])) + "/"; + return libName; + } + + public function new(?langFolder:String) { super(); + this.langFolder = langFolder; } function toString():String - return '(TranslatedAssetLibrary: The labguage folder is $libName)'; + return '(TranslatedAssetLibrary: The language folder is $libName)'; + + private inline function getAssetPath():String // because of the IModsAssetLibrary - Nex + return basePath; public override function getAudioBuffer(id:String):AudioBuffer { @@ -111,9 +122,6 @@ class TranslatedAssetLibrary extends AssetLibrary implements IModsAssetLibrary { return []; } - private inline function getAssetPath():String - return basePath; - private function __isCacheValid(cache:Map, asset:String, isLocal:Bool = false):Bool { for(lib in ModsFolder.getLoadedModsLibs()) { diff --git a/source/funkin/backend/utils/TranslationUtil.hx b/source/funkin/backend/utils/TranslationUtil.hx index a1304ee8..493d94c5 100644 --- a/source/funkin/backend/utils/TranslationUtil.hx +++ b/source/funkin/backend/utils/TranslationUtil.hx @@ -1,5 +1,6 @@ package funkin.backend.utils; +import funkin.backend.assets.TranslatedAssetLibrary; import funkin.backend.assets.ModsFolderLibrary; import funkin.backend.assets.ModsFolder; import funkin.backend.assets.IModsAssetLibrary; @@ -68,7 +69,9 @@ class TranslationUtil public static function setLanguage(?name:String) { if(name == null) name = curLanguage; transMap = loadLanguage(name); - // To add the switch for the language in TranslatedAssetLibrary here! - Nex + + for(mod in ModsFolder.getLoadedModsLibs()) if(mod is TranslatedAssetLibrary) + cast(mod, TranslatedAssetLibrary).langFolder = name.split("/")[0]; } /**