Move resource mounting to the right place
Fix from Club Fantastic, but adapted for RageFile changes.
This commit is contained in:
committed by
teejusb
parent
024f3ac96a
commit
ab991981fd
@@ -320,6 +320,40 @@ void ArchHooks::MountInitialFilesystems( const RString &sDirOfExecutable )
|
||||
FILEMAN->Mount("dirro", sDirOfExecutable, "/");
|
||||
|
||||
bool portable = DoesFileExist("/Portable.ini");
|
||||
|
||||
NSString* resourcePath = [[NSBundle mainBundle] resourcePath];
|
||||
if( resourcePath )
|
||||
{
|
||||
const char* resourcePathUTF8String = [resourcePath UTF8String];
|
||||
FILEMAN->Mount( "dirro", ssprintf("%s/Announcers", resourcePathUTF8String), "/Announcers" );
|
||||
FILEMAN->Mount( "dirro", ssprintf("%s/BGAnimations", resourcePathUTF8String), "/BGAnimations" );
|
||||
FILEMAN->Mount( "dirro", ssprintf("%s/BackgroundEffects", resourcePathUTF8String), "/BackgroundEffects" );
|
||||
FILEMAN->Mount( "dirro", ssprintf("%s/BackgroundTransitions", resourcePathUTF8String), "/BackgroundTransitions" );
|
||||
FILEMAN->Mount( "dirro", ssprintf("%s/CDTitles", resourcePathUTF8String), "/CDTitles" );
|
||||
FILEMAN->Mount( "dirro", ssprintf("%s/Characters", resourcePathUTF8String), "/Characters" );
|
||||
FILEMAN->Mount( "dirro", ssprintf("%s/Courses", resourcePathUTF8String), "/Courses" );
|
||||
FILEMAN->Mount( "dirro", ssprintf("%s/NoteSkins", resourcePathUTF8String), "/NoteSkins" );
|
||||
FILEMAN->Mount( "dirro", ssprintf("%s/Packages", resourcePathUTF8String), "/Packages" );
|
||||
FILEMAN->Mount( "dirro", ssprintf("%s/Songs", resourcePathUTF8String), "/Songs" );
|
||||
FILEMAN->Mount( "dirro", ssprintf("%s/RandomMovies", resourcePathUTF8String), "/RandomMovies" );
|
||||
FILEMAN->Mount( "dirro", ssprintf("%s/Themes", resourcePathUTF8String), "/Themes" );
|
||||
FILEMAN->Mount( "dirro", ssprintf("%s/Data", resourcePathUTF8String), "/Data" );
|
||||
}
|
||||
|
||||
CFURLRef dataUrl = CFBundleCopyResourceURL( CFBundleGetMainBundle(), CFSTR("StepMania"), CFSTR("smzip"), nil);
|
||||
if( dataUrl )
|
||||
{
|
||||
char dir[PATH_MAX];
|
||||
|
||||
CFStringRef dataPath = CFURLCopyFileSystemPath( dataUrl, kCFURLPOSIXPathStyle );
|
||||
CFStringGetCString( dataPath, dir, PATH_MAX, kCFStringEncodingUTF8 );
|
||||
|
||||
if( strncmp(sDirOfExecutable, dir, sDirOfExecutable.length()) == 0 )
|
||||
FILEMAN->Mount( "zip", dir + sDirOfExecutable.length(), "/" );
|
||||
CFRelease( dataPath );
|
||||
CFRelease( dataUrl );
|
||||
}
|
||||
|
||||
if (portable)
|
||||
{
|
||||
FILEMAN->Mount("dir", sDirOfExecutable + "/Announcers", "/Announcers");
|
||||
@@ -339,20 +373,6 @@ void ArchHooks::MountInitialFilesystems( const RString &sDirOfExecutable )
|
||||
FILEMAN->Mount("dir", sDirOfExecutable + "/RandomMovies", "/RandomMovies");
|
||||
FILEMAN->Mount("dir", sDirOfExecutable + "/Themes", "/Themes");
|
||||
}
|
||||
|
||||
CFURLRef dataUrl = CFBundleCopyResourceURL( CFBundleGetMainBundle(), CFSTR("StepMania"), CFSTR("smzip"), nil);
|
||||
if( dataUrl )
|
||||
{
|
||||
char dir[PATH_MAX];
|
||||
|
||||
CFStringRef dataPath = CFURLCopyFileSystemPath( dataUrl, kCFURLPOSIXPathStyle );
|
||||
CFStringGetCString( dataPath, dir, PATH_MAX, kCFStringEncodingUTF8 );
|
||||
|
||||
if( strncmp(sDirOfExecutable, dir, sDirOfExecutable.length()) == 0 )
|
||||
FILEMAN->Mount( "zip", dir + sDirOfExecutable.length(), "/" );
|
||||
CFRelease( dataPath );
|
||||
CFRelease( dataUrl );
|
||||
}
|
||||
}
|
||||
|
||||
void ArchHooks::MountUserFilesystems( const RString &sDirOfExecutable )
|
||||
@@ -390,25 +410,6 @@ void ArchHooks::MountUserFilesystems( const RString &sDirOfExecutable )
|
||||
// /Logs -> ~/Library/Logs/PRODUCT_ID
|
||||
PathForFolderType( dir, kDomainLibraryFolderType );
|
||||
FILEMAN->Mount( "dir", ssprintf("%s/Logs/" PRODUCT_ID, dir), "/Logs" );
|
||||
|
||||
NSString* resourcePath = [[NSBundle mainBundle] resourcePath];
|
||||
if( resourcePath )
|
||||
{
|
||||
const char* resourcePathUTF8String = [resourcePath UTF8String];
|
||||
FILEMAN->Mount( "dirro", ssprintf("%s/Announcers", resourcePathUTF8String), "/Announcers" );
|
||||
FILEMAN->Mount( "dirro", ssprintf("%s/BGAnimations", resourcePathUTF8String), "/BGAnimations" );
|
||||
FILEMAN->Mount( "dirro", ssprintf("%s/BackgroundEffects", resourcePathUTF8String), "/BackgroundEffects" );
|
||||
FILEMAN->Mount( "dirro", ssprintf("%s/BackgroundTransitions", resourcePathUTF8String), "/BackgroundTransitions" );
|
||||
FILEMAN->Mount( "dirro", ssprintf("%s/CDTitles", resourcePathUTF8String), "/CDTitles" );
|
||||
FILEMAN->Mount( "dirro", ssprintf("%s/Characters", resourcePathUTF8String), "/Characters" );
|
||||
FILEMAN->Mount( "dirro", ssprintf("%s/Courses", resourcePathUTF8String), "/Courses" );
|
||||
FILEMAN->Mount( "dirro", ssprintf("%s/NoteSkins", resourcePathUTF8String), "/NoteSkins" );
|
||||
FILEMAN->Mount( "dirro", ssprintf("%s/Packages", resourcePathUTF8String), "/Packages" );
|
||||
FILEMAN->Mount( "dirro", ssprintf("%s/Songs", resourcePathUTF8String), "/Songs" );
|
||||
FILEMAN->Mount( "dirro", ssprintf("%s/RandomMovies", resourcePathUTF8String), "/RandomMovies" );
|
||||
FILEMAN->Mount( "dirro", ssprintf("%s/Themes", resourcePathUTF8String), "/Themes" );
|
||||
FILEMAN->Mount( "dirro", ssprintf("%s/Data", resourcePathUTF8String), "/Data" );
|
||||
}
|
||||
}
|
||||
|
||||
static inline int GetIntValue( CFTypeRef r )
|
||||
|
||||
Reference in New Issue
Block a user