mount zips in "Packages"
This commit is contained in:
@@ -71,6 +71,8 @@
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define ZIPS_DIR "Packages/"
|
||||||
|
|
||||||
#ifdef _WINDOWS
|
#ifdef _WINDOWS
|
||||||
HWND g_hWndMain = NULL;
|
HWND g_hWndMain = NULL;
|
||||||
#endif
|
#endif
|
||||||
@@ -741,7 +743,35 @@ void SaveGamePrefsToDisk()
|
|||||||
ini.WriteFile();
|
ini.WriteFile();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void MountTreeOfZips( const CString &dir )
|
||||||
|
{
|
||||||
|
vector<CString> dirs;
|
||||||
|
dirs.push_back( dir );
|
||||||
|
|
||||||
|
while( dirs.size() )
|
||||||
|
{
|
||||||
|
CString path = dirs.back();
|
||||||
|
dirs.pop_back();
|
||||||
|
|
||||||
|
if( !IsADirectory(path) )
|
||||||
|
continue;
|
||||||
|
|
||||||
|
vector<CString> zips;
|
||||||
|
GetDirListing( path + "/*.zip", zips, false, true );
|
||||||
|
GetDirListing( path + "/*.smzip", zips, false, true );
|
||||||
|
|
||||||
|
for( unsigned i = 0; i < zips.size(); ++i )
|
||||||
|
{
|
||||||
|
if( !IsAFile(zips[i]) )
|
||||||
|
continue;
|
||||||
|
|
||||||
|
LOG->Trace( "VFS: found %s", zips[i].c_str() );
|
||||||
|
FILEMAN->Mount( "zip", zips[i], "" );
|
||||||
|
}
|
||||||
|
|
||||||
|
GetDirListing( path + "/*", dirs, true, true );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#define UNLOCKS_PATH BASE_PATH "Data" SLASH "Unlocks.dat"
|
#define UNLOCKS_PATH BASE_PATH "Data" SLASH "Unlocks.dat"
|
||||||
|
|
||||||
@@ -781,6 +811,8 @@ int main(int argc, char* argv[])
|
|||||||
/* Everything except LOG uses this to read and write files. Load this early. */
|
/* Everything except LOG uses this to read and write files. Load this early. */
|
||||||
FILEMAN = new RageFileManager;
|
FILEMAN = new RageFileManager;
|
||||||
|
|
||||||
|
MountTreeOfZips( ZIPS_DIR );
|
||||||
|
|
||||||
atexit(SDL_Quit); /* Clean up on exit */
|
atexit(SDL_Quit); /* Clean up on exit */
|
||||||
|
|
||||||
/* Fire up the SDL, but don't actually start any subsystems.
|
/* Fire up the SDL, but don't actually start any subsystems.
|
||||||
|
|||||||
Reference in New Issue
Block a user