feat: validate world saves

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
This commit is contained in:
Rachel Powers
2022-12-24 17:43:43 -07:00
parent eb31a951a1
commit a7c9b2f172
15 changed files with 195 additions and 4 deletions

View File

@ -339,6 +339,10 @@ set(MINECRAFT_SOURCES
minecraft/mod/ResourcePackFolderModel.cpp
minecraft/mod/TexturePack.h
minecraft/mod/TexturePack.cpp
minecraft/mod/ShaderPack.h
minecraft/mod/ShaderPack.cpp
minecraft/mod/WorldSave.h
minecraft/mod/WorldSave.cpp
minecraft/mod/TexturePackFolderModel.h
minecraft/mod/TexturePackFolderModel.cpp
minecraft/mod/ShaderPackFolderModel.h
@ -355,6 +359,10 @@ set(MINECRAFT_SOURCES
minecraft/mod/tasks/LocalResourcePackParseTask.cpp
minecraft/mod/tasks/LocalTexturePackParseTask.h
minecraft/mod/tasks/LocalTexturePackParseTask.cpp
minecraft/mod/tasks/LocalShaderPackParseTask.h
minecraft/mod/tasks/LocalShaderPackParseTask.cpp
minecraft/mod/tasks/LocalWorldSaveParseTask.h
minecraft/mod/tasks/LocalWorldSaveParseTask.cpp
# Assets
minecraft/AssetsUtils.h

View File

@ -39,7 +39,7 @@
#include <QMutex>
enum ShaderPackFormat {
enum class ShaderPackFormat {
VALID,
INVALID
};

View File

@ -27,7 +27,7 @@
class Version;
enum WorldSaveFormat {
enum class WorldSaveFormat {
SINGLE,
MULTI,
INVALID

View File

@ -121,6 +121,9 @@ bool processZIP(WorldSave& save, ProcessingLevel level)
auto [ found, save_dir_name, found_saves_dir ] = contains_level_dat(zip);
if (save_dir_name.endsWith("/")) {
save_dir_name.chop(1);
}
if (!found) {
return false;