diff options
author | Rachel Powers <508861+Ryex@users.noreply.github.com> | 2022-12-24 17:43:43 -0700 |
---|---|---|
committer | Rachel Powers <508861+Ryex@users.noreply.github.com> | 2022-12-24 20:43:17 -0700 |
commit | a7c9b2f172754aa476a23deabe074a649cefdd11 (patch) | |
tree | 62777390de6258609ff374d0cf85df30b155eda1 /launcher/minecraft | |
parent | eb31a951a18287f943a1e3d021629dde8b73fd15 (diff) | |
download | PrismLauncher-a7c9b2f172754aa476a23deabe074a649cefdd11.tar.gz PrismLauncher-a7c9b2f172754aa476a23deabe074a649cefdd11.tar.bz2 PrismLauncher-a7c9b2f172754aa476a23deabe074a649cefdd11.zip |
feat: validate world saves
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
Diffstat (limited to 'launcher/minecraft')
-rw-r--r-- | launcher/minecraft/mod/ShaderPack.h | 2 | ||||
-rw-r--r-- | launcher/minecraft/mod/WorldSave.h | 2 | ||||
-rw-r--r-- | launcher/minecraft/mod/tasks/LocalWorldSaveParseTask.cpp | 3 |
3 files changed, 5 insertions, 2 deletions
diff --git a/launcher/minecraft/mod/ShaderPack.h b/launcher/minecraft/mod/ShaderPack.h index e6ee0757..a0dad7a1 100644 --- a/launcher/minecraft/mod/ShaderPack.h +++ b/launcher/minecraft/mod/ShaderPack.h @@ -39,7 +39,7 @@ #include <QMutex> -enum ShaderPackFormat { +enum class ShaderPackFormat { VALID, INVALID }; diff --git a/launcher/minecraft/mod/WorldSave.h b/launcher/minecraft/mod/WorldSave.h index f48f42b9..f703f34c 100644 --- a/launcher/minecraft/mod/WorldSave.h +++ b/launcher/minecraft/mod/WorldSave.h @@ -27,7 +27,7 @@ class Version; -enum WorldSaveFormat { +enum class WorldSaveFormat { SINGLE, MULTI, INVALID diff --git a/launcher/minecraft/mod/tasks/LocalWorldSaveParseTask.cpp b/launcher/minecraft/mod/tasks/LocalWorldSaveParseTask.cpp index 5405d308..b7f2420a 100644 --- a/launcher/minecraft/mod/tasks/LocalWorldSaveParseTask.cpp +++ b/launcher/minecraft/mod/tasks/LocalWorldSaveParseTask.cpp @@ -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; |