aboutsummaryrefslogtreecommitdiff
path: root/launcher
diff options
context:
space:
mode:
authorRachel Powers <508861+Ryex@users.noreply.github.com>2022-12-24 17:43:43 -0700
committerRachel Powers <508861+Ryex@users.noreply.github.com>2022-12-24 20:43:17 -0700
commita7c9b2f172754aa476a23deabe074a649cefdd11 (patch)
tree62777390de6258609ff374d0cf85df30b155eda1 /launcher
parenteb31a951a18287f943a1e3d021629dde8b73fd15 (diff)
downloadPrismLauncher-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')
-rw-r--r--launcher/CMakeLists.txt8
-rw-r--r--launcher/minecraft/mod/ShaderPack.h2
-rw-r--r--launcher/minecraft/mod/WorldSave.h2
-rw-r--r--launcher/minecraft/mod/tasks/LocalWorldSaveParseTask.cpp3
4 files changed, 13 insertions, 2 deletions
diff --git a/launcher/CMakeLists.txt b/launcher/CMakeLists.txt
index c12e6740..853e1c03 100644
--- a/launcher/CMakeLists.txt
+++ b/launcher/CMakeLists.txt
@@ -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
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;