Clean up Windows filesystem mount code

This commit is contained in:
sukibaby
2024-09-05 12:09:58 -07:00
committed by teejusb
parent 45a7c967dd
commit 6b2a439aa5
+33 -54
View File
@@ -65,65 +65,44 @@ static RString GetMountDir( const RString &sDirOfExecutable )
return sDir; return sDir;
} }
void ArchHooks::MountInitialFilesystems( const RString &sDirOfExecutable ) void MountDirectories(const RString& baseDir) {
{ const std::vector<RString> winDirectoryStructureITGm = {
RString sDir = GetMountDir( sDirOfExecutable ); "/Announcers",
FILEMAN->Mount("dirro", sDir, "/"); "/BGAnimations",
"/BackgroundEffects",
"/BackgroundTransitions",
"/Cache",
"/CDTitles",
"/Characters",
"/Courses",
"/Downloads",
"/Logs",
"/NoteSkins",
"/Packages",
"/Save",
"/Screenshots",
"/Songs",
"/RandomMovies",
"/Themes"
};
bool portable = DoesFileExist("/Portable.ini"); for (const RString& dir : winDirectoryStructureITGm) {
if (portable) FILEMAN->Mount("dir", baseDir + dir, dir);
{
FILEMAN->Mount("dir", sDir + "/Announcers", "/Announcers");
FILEMAN->Mount("dir", sDir + "/BGAnimations", "/BGAnimations");
FILEMAN->Mount("dir", sDir + "/BackgroundEffects", "/BackgroundEffects");
FILEMAN->Mount("dir", sDir + "/BackgroundTransitions", "/BackgroundTransitions");
FILEMAN->Mount("dir", sDir + "/Cache", "/Cache");
FILEMAN->Mount("dir", sDir + "/CDTitles", "/CDTitles");
FILEMAN->Mount("dir", sDir + "/Characters", "/Characters");
FILEMAN->Mount("dir", sDir + "/Courses", "/Courses");
FILEMAN->Mount("dir", sDir + "/Downloads", "/Downloads");
FILEMAN->Mount("dir", sDir + "/Logs", "/Logs");
FILEMAN->Mount("dir", sDir + "/NoteSkins", "/NoteSkins");
FILEMAN->Mount("dir", sDir + "/Packages", "/Packages");
FILEMAN->Mount("dir", sDir + "/Save", "/Save");
FILEMAN->Mount("dir", sDir + "/Screenshots", "/Screenshots");
FILEMAN->Mount("dir", sDir + "/Songs", "/Songs");
FILEMAN->Mount("dir", sDir + "/RandomMovies", "/RandomMovies");
FILEMAN->Mount("dir", sDir + "/Themes", "/Themes");
} }
} }
void ArchHooks::MountUserFilesystems( const RString &sDirOfExecutable ) void ArchHooks::MountInitialFilesystems(const RString& sDirOfExecutable) {
{ RString sDir = GetMountDir(sDirOfExecutable);
/* FILEMAN->Mount("dirro", sDir, "/");
* Look, I know what you're thinking: "Hey, let's put all this stuff into
* their respective 'proper' places on the filesystem!" Stop. Now.
* This was done before and it was the most ungodly confusing thing to ever
* happen. Just don't do it, seriously. Keep them in one place.
* - Colby
*/
RString sAppDataDir = SpecialDirs::GetAppDataDir() + PRODUCT_ID;
//RString sCommonAppDataDir = SpecialDirs::GetCommonAppDataDir() + PRODUCT_ID;
//RString sLocalAppDataDir = SpecialDirs::GetLocalAppDataDir() + PRODUCT_ID;
//RString sPicturesDir = SpecialDirs::GetPicturesDir() + PRODUCT_ID;
FILEMAN->Mount( "dir", sAppDataDir + "/Announcers", "/Announcers" ); if (DoesFileExist("/Portable.ini")) {
FILEMAN->Mount( "dir", sAppDataDir + "/BGAnimations", "/BGAnimations" ); MountDirectories(sDir);
FILEMAN->Mount( "dir", sAppDataDir + "/BackgroundEffects", "/BackgroundEffects" ); }
FILEMAN->Mount( "dir", sAppDataDir + "/BackgroundTransitions", "/BackgroundTransitions" ); }
FILEMAN->Mount( "dir", sAppDataDir + "/Cache", "/Cache" );
FILEMAN->Mount( "dir", sAppDataDir + "/CDTitles", "/CDTitles" ); void ArchHooks::MountUserFilesystems(const RString& sDirOfExecutable) {
FILEMAN->Mount( "dir", sAppDataDir + "/Characters", "/Characters" ); RString sAppDataDir = SpecialDirs::GetAppDataDir() + PRODUCT_ID;
FILEMAN->Mount( "dir", sAppDataDir + "/Courses", "/Courses" ); MountDirectories(sAppDataDir);
FILEMAN->Mount( "dir", sAppDataDir + "/Downloads", "/Downloads" );
FILEMAN->Mount( "dir", sAppDataDir + "/Logs", "/Logs" );
FILEMAN->Mount( "dir", sAppDataDir + "/NoteSkins", "/NoteSkins" );
FILEMAN->Mount( "dir", sAppDataDir + "/Packages", "/Packages" );
FILEMAN->Mount( "dir", sAppDataDir + "/Save", "/Save" );
FILEMAN->Mount( "dir", sAppDataDir + "/Screenshots", "/Screenshots" );
FILEMAN->Mount( "dir", sAppDataDir + "/Songs", "/Songs" );
FILEMAN->Mount( "dir", sAppDataDir + "/RandomMovies", "/RandomMovies" );
FILEMAN->Mount( "dir", sAppDataDir + "/Themes", "/Themes" );
} }
static RString LangIdToString( LANGID l ) static RString LangIdToString( LANGID l )