diff --git a/art/flashFiles/FNF_main_menu_assets_pt-BR.fla b/art/flashFiles/FNF_main_menu_assets_pt-BR.fla
new file mode 100644
index 00000000000..ee9b2e1c9a6
Binary files /dev/null and b/art/flashFiles/FNF_main_menu_assets_pt-BR.fla differ
diff --git a/assets/translations/shared/data/pt-BR.lang b/assets/translations/shared/data/pt-BR.lang
index 7183e9c1dfe..d3df9f86005 100644
--- a/assets/translations/shared/data/pt-BR.lang
+++ b/assets/translations/shared/data/pt-BR.lang
@@ -36,9 +36,8 @@ charting_mode: "Modo Charter"
blueballed: "Broxadas: {1}"
// Main Menu
-images/mainmenu/menu_story_mode: "images/mainmenu/menu_story_mode"
-images/mainmenu/menu_freeplay: "images/mainmenu/menu_freeplay"
-images/mainmenu/menu_credits: "images/mainmenu/menu_credits"
+images/mainmenu/menu_story_mode: "images/pt-BR/mainmenu/menu_story_mode"
+images/mainmenu/menu_credits: "images/pt-BR/mainmenu/menu_credits"
// Story Mode
images/Menu_Tracks: "images/pt-BR/Menu_Tracks"
diff --git a/assets/translations/shared/images/pt-BR/mainmenu/menu_credits.png b/assets/translations/shared/images/pt-BR/mainmenu/menu_credits.png
new file mode 100644
index 00000000000..dad10588a69
Binary files /dev/null and b/assets/translations/shared/images/pt-BR/mainmenu/menu_credits.png differ
diff --git a/assets/translations/shared/images/pt-BR/mainmenu/menu_credits.xml b/assets/translations/shared/images/pt-BR/mainmenu/menu_credits.xml
new file mode 100644
index 00000000000..eba93d05b18
--- /dev/null
+++ b/assets/translations/shared/images/pt-BR/mainmenu/menu_credits.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/translations/shared/images/pt-BR/mainmenu/menu_story_mode.png b/assets/translations/shared/images/pt-BR/mainmenu/menu_story_mode.png
new file mode 100644
index 00000000000..dd1623288b0
Binary files /dev/null and b/assets/translations/shared/images/pt-BR/mainmenu/menu_story_mode.png differ
diff --git a/assets/translations/shared/images/pt-BR/mainmenu/menu_story_mode.xml b/assets/translations/shared/images/pt-BR/mainmenu/menu_story_mode.xml
new file mode 100644
index 00000000000..5676d0b9cc3
--- /dev/null
+++ b/assets/translations/shared/images/pt-BR/mainmenu/menu_story_mode.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/source/backend/Paths.hx b/source/backend/Paths.hx
index 83f926dd1be..0e4fcc63eff 100644
--- a/source/backend/Paths.hx
+++ b/source/backend/Paths.hx
@@ -173,9 +173,7 @@ class Paths
public static var currentTrackedAssets:Map = [];
static public function image(key:String, ?parentFolder:String = null, ?allowGPU:Bool = true):FlxGraphic
{
- key = Language.getFileTranslation('images/$key');
- if(key.lastIndexOf('.') < 0) key += '.png';
-
+ key = Language.getFileTranslation('images/$key') + '.png';
var bitmap:BitmapData = null;
if (currentTrackedAssets.exists(key))
{
@@ -303,9 +301,9 @@ class Paths
var xml:String = modsXml(key);
if(FileSystem.exists(xml)) xmlExists = true;
- return FlxAtlasFrames.fromSparrow(imageLoaded, (xmlExists ? File.getContent(xml) : getPath('images/$key.xml', TEXT, parentFolder)));
+ return FlxAtlasFrames.fromSparrow(imageLoaded, (xmlExists ? File.getContent(xml) : getPath(Language.getFileTranslation('images/$key') + '.xml', TEXT, parentFolder)));
#else
- return FlxAtlasFrames.fromSparrow(imageLoaded, getPath('images/$key.xml', TEXT, parentFolder));
+ return FlxAtlasFrames.fromSparrow(imageLoaded, getPath(Language.getFileTranslation('images/$key') + '.xml', TEXT, parentFolder));
#end
}
@@ -318,9 +316,9 @@ class Paths
var txt:String = modsTxt(key);
if(FileSystem.exists(txt)) txtExists = true;
- return FlxAtlasFrames.fromSpriteSheetPacker(imageLoaded, (txtExists ? File.getContent(txt) : getPath('images/$key.txt', TEXT, parentFolder)));
+ return FlxAtlasFrames.fromSpriteSheetPacker(imageLoaded, (txtExists ? File.getContent(txt) : getPath(Language.getFileTranslation('images/$key') + '.txt', TEXT, parentFolder)));
#else
- return FlxAtlasFrames.fromSpriteSheetPacker(imageLoaded, getPath('images/$key.txt', TEXT, parentFolder));
+ return FlxAtlasFrames.fromSpriteSheetPacker(imageLoaded, getPath(Language.getFileTranslation('images/$key') + '.txt', TEXT, parentFolder));
#end
}
@@ -333,9 +331,9 @@ class Paths
var json:String = modsImagesJson(key);
if(FileSystem.exists(json)) jsonExists = true;
- return FlxAtlasFrames.fromTexturePackerJson(imageLoaded, (jsonExists ? File.getContent(json) : getPath('images/$key.json', TEXT, parentFolder)));
+ return FlxAtlasFrames.fromTexturePackerJson(imageLoaded, (jsonExists ? File.getContent(json) : getPath(Language.getFileTranslation('images/$key') + '.json', TEXT, parentFolder)));
#else
- return FlxAtlasFrames.fromTexturePackerJson(imageLoaded, getPath('images/$key.json', TEXT, parentFolder));
+ return FlxAtlasFrames.fromTexturePackerJson(imageLoaded, getPath(Language.getFileTranslation('images/$key') + '.json', TEXT, parentFolder));
#end
}
diff --git a/source/states/CreditsState.hx b/source/states/CreditsState.hx
index 2ce9af761b9..33ab5312fc5 100644
--- a/source/states/CreditsState.hx
+++ b/source/states/CreditsState.hx
@@ -39,31 +39,31 @@ class CreditsState extends MusicBeatState
var defaultList:Array> = [ //Name - Icon name - Description - Link - BG Color
["Psych Engine Team"],
- ["Shadow Mario", "shadowmario", "Main Programmer and Head of Psych Engine", "https://ko-fi.com/shadowmario", "444444"],
- ["Riveren", "riveren", "Main Artist/Animator of Psych Engine", "https://twitter.com/riverennn", "14967B"],
+ ["Shadow Mario", "shadowmario", "Main Programmer and Head of Psych Engine", "https://ko-fi.com/shadowmario", "444444"],
+ ["Riveren", "riveren", "Main Artist/Animator of Psych Engine", "https://x.com/riverennn", "14967B"],
[""],
["Former Engine Members"],
- ["bb-panzu", "bb", "Ex-Programmer of Psych Engine", "https://twitter.com/bbsub3", "3E813A"],
+ ["bb-panzu", "bb", "Ex-Programmer of Psych Engine", "https://x.com/bbsub3", "3E813A"],
[""],
["Engine Contributors"],
- ["crowplexus", "crowplexus", "HScript Iris, Input System v3, and Other PRs", "https://twitter.com/crowplexus", "CFCFCF"],
- ["Kamizeta", "kamizeta", "Creator of Pessy, Psych Engine's mascot.", "https://twitter.com/LittleCewwy", "D21C11"],
- ["MaxNeton", "maxneton", "Loading Screen Easter Egg Artist/Animator.", "https://twitter.com/MaxNeton", "3C2E4E"],
- ["Keoiki", "keoiki", "Note Splash Animations and Latin Alphabet", "https://twitter.com/Keoiki_", "D2D2D2"],
- ["SqirraRNG", "sqirra", "Crash Handler and Base code for\nChart Editor's Waveform", "https://twitter.com/gedehari", "E1843A"],
- ["EliteMasterEric", "mastereric", "Runtime Shaders support and Other PRs", "https://twitter.com/EliteMasterEric", "FFBD40"],
- ["MAJigsaw77", "majigsaw", ".MP4 Video Loader Library (hxvlc)", "https://twitter.com/MAJigsaw77", "5F5F5F"],
- ["Tahir Toprak Karabekiroglu", "tahir", "Note Splash Editor and Other PRs", "https://twitter.com/TahirKarabekir", "A04397"],
- ["iFlicky", "flicky", "Composer of Psync and Tea Time\nMade the Dialogue Sounds", "https://twitter.com/flicky_i", "9E29CF"],
- ["KadeDev", "kade", "Fixed some issues on Chart Editor and Other PRs", "https://twitter.com/kade0912", "64A250"],
- ["superpowers04", "superpowers04", "LUA JIT Fork", "https://twitter.com/superpowers04", "B957ED"],
- ["CheemsAndFriends", "cheems", "Creator of FlxAnimate", "https://twitter.com/CheemsnFriendos", "E1E1E1"],
+ ["crowplexus", "crowplexus", "HScript Iris, Input System v3, and Other PRs", "https://github.com/crowplexus", "CFCFCF"],
+ ["Kamizeta", "kamizeta", "Creator of Pessy, Psych Engine's mascot.", "https://www.instagram.com/cewweey/", "D21C11"],
+ ["MaxNeton", "maxneton", "Loading Screen Easter Egg Artist/Animator.", "https://bsky.app/profile/maxneton.bsky.social","3C2E4E"],
+ ["Keoiki", "keoiki", "Note Splash Animations and Latin Alphabet", "https://x.com/Keoiki_", "D2D2D2"],
+ ["SqirraRNG", "sqirra", "Crash Handler and Base code for\nChart Editor's Waveform", "https://x.com/gedehari", "E1843A"],
+ ["EliteMasterEric", "mastereric", "Runtime Shaders support and Other PRs", "https://x.com/EliteMasterEric", "FFBD40"],
+ ["MAJigsaw77", "majigsaw", ".MP4 Video Loader Library (hxvlc)", "https://x.com/MAJigsaw77", "5F5F5F"],
+ ["Tahir Toprak Karabekiroglu", "tahir", "Note Splash Editor and Other PRs", "https://x.com/TahirKarabekir", "A04397"],
+ ["iFlicky", "flicky", "Composer of Psync and Tea Time\nAnd some sound effects", "https://x.com/flicky_i", "9E29CF"],
+ ["KadeDev", "kade", "Fixed some issues on Chart Editor and Other PRs", "https://x.com/kade0912", "64A250"],
+ ["superpowers04", "superpowers04", "LUA JIT Fork", "https://x.com/superpowers04", "B957ED"],
+ ["CheemsAndFriends", "cheems", "Creator of FlxAnimate", "https://x.com/CheemsnFriendos", "E1E1E1"],
[""],
["Funkin' Crew"],
- ["ninjamuffin99", "ninjamuffin99", "Programmer of Friday Night Funkin'", "https://twitter.com/ninja_muffin99", "CF2D2D"],
- ["PhantomArcade", "phantomarcade", "Animator of Friday Night Funkin'", "https://twitter.com/PhantomArcade3K", "FADC45"],
- ["evilsk8r", "evilsk8r", "Artist of Friday Night Funkin'", "https://twitter.com/evilsk8r", "5ABD4B"],
- ["kawaisprite", "kawaisprite", "Composer of Friday Night Funkin'", "https://twitter.com/kawaisprite", "378FC7"],
+ ["ninjamuffin99", "ninjamuffin99", "Programmer of Friday Night Funkin'", "https://x.com/ninja_muffin99", "CF2D2D"],
+ ["PhantomArcade", "phantomarcade", "Animator of Friday Night Funkin'", "https://x.com/PhantomArcade3K", "FADC45"],
+ ["evilsk8r", "evilsk8r", "Artist of Friday Night Funkin'", "https://x.com/evilsk8r", "5ABD4B"],
+ ["kawaisprite", "kawaisprite", "Composer of Friday Night Funkin'", "https://x.com/kawaisprite", "378FC7"],
[""],
["Psych Engine Discord"],
["Join the Psych Ward!", "discord", "", "https://discord.gg/2ka77eMXDv", "5165F6"]