mirror of
https://github.com/TerryCavanagh/VVVVVV.git
synced 2026-01-30 09:54:10 +03:00
Only re-color one-ways if assets are not mounted
Some levels (like Unshackled) have decided to manually re-color the one-way tiles on their own, and us overriding their re-color is not something they would want. This does mean custom levels with custom assets don't get to take advantage of the re-color, but it's the exact same behavior as before, so it shouldn't really matter that much. I would've liked to specifically detect if a custom tiles.png or tiles2.png was in play, rather than simply disabling it if any asset was mounted, but it seems that detecting if a specific file was mounted from a specific zip isn't really PHYSFS's strong suit.
This commit is contained in:
@@ -165,6 +165,8 @@ void FILESYSTEM_mount(const char *fname)
|
||||
}
|
||||
}
|
||||
|
||||
bool FILESYSTEM_assetsmounted = false;
|
||||
|
||||
void FILESYSTEM_mountassets(const char* path)
|
||||
{
|
||||
const std::string _path(path);
|
||||
@@ -182,6 +184,7 @@ void FILESYSTEM_mountassets(const char* path)
|
||||
printf("Custom asset directory exists at %s\n", zippath.c_str());
|
||||
FILESYSTEM_mount(zippath.c_str());
|
||||
graphics.reloadresources();
|
||||
FILESYSTEM_assetsmounted = true;
|
||||
} else if (zip_path != "data.zip" && !endsWith(zip_path, "/data.zip") && endsWith(zip_path, ".zip")) {
|
||||
printf("Custom asset directory is .zip at %s\n", zip_path.c_str());
|
||||
PHYSFS_File* zip = PHYSFS_openRead(zip_path.c_str());
|
||||
@@ -193,13 +196,16 @@ void FILESYSTEM_mountassets(const char* path)
|
||||
} else {
|
||||
graphics.assetdir = zip_path;
|
||||
}
|
||||
FILESYSTEM_assetsmounted = true;
|
||||
graphics.reloadresources();
|
||||
} else if (FILESYSTEM_directoryExists(dirpath.c_str())) {
|
||||
printf("Custom asset directory exists at %s\n",dirpath.c_str());
|
||||
FILESYSTEM_mount(dirpath.c_str());
|
||||
graphics.reloadresources();
|
||||
FILESYSTEM_assetsmounted = true;
|
||||
} else {
|
||||
printf("Custom asset directory does not exist\n");
|
||||
FILESYSTEM_assetsmounted = false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -216,6 +222,7 @@ void FILESYSTEM_unmountassets()
|
||||
{
|
||||
printf("Cannot unmount when no asset directory is mounted\n");
|
||||
}
|
||||
FILESYSTEM_assetsmounted = false;
|
||||
}
|
||||
|
||||
void FILESYSTEM_loadFileToMemory(
|
||||
|
||||
Reference in New Issue
Block a user