From 1370ae35f114c6d705a881b8ca003c190fe51b55 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Thu, 3 Feb 2022 18:30:40 -0500 Subject: [PATCH] v1.2.0: updated base save path for linux and removed old prefs convert --- .../desktop/DesktopLauncher.java | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/desktop/src/main/java/com/shatteredpixel/shatteredpixeldungeon/desktop/DesktopLauncher.java b/desktop/src/main/java/com/shatteredpixel/shatteredpixeldungeon/desktop/DesktopLauncher.java index c664d5d0a..e7327c86b 100644 --- a/desktop/src/main/java/com/shatteredpixel/shatteredpixeldungeon/desktop/DesktopLauncher.java +++ b/desktop/src/main/java/com/shatteredpixel/shatteredpixeldungeon/desktop/DesktopLauncher.java @@ -137,14 +137,20 @@ public class DesktopLauncher { } else if (SharedLibraryLoader.isMac) { basePath = "Library/Application Support/Shattered Pixel Dungeon/"; } else if (SharedLibraryLoader.isLinux) { - basePath = ".shatteredpixel/shattered-pixel-dungeon/"; - } + String XDGHome = System.getenv().get("XDG_DATA_HOME"); + if (XDGHome == null) XDGHome = ".local/share/"; + basePath = XDGHome + ".shatteredpixel/shattered-pixel-dungeon/"; - //copy over prefs from old file location from legacy desktop codebase - FileHandle oldPrefs = new Lwjgl3FileHandle(basePath + "pd-prefs", Files.FileType.External); - FileHandle newPrefs = new Lwjgl3FileHandle(basePath + SPDSettings.DEFAULT_PREFS_FILE, Files.FileType.External); - if (oldPrefs.exists() && !newPrefs.exists()){ - oldPrefs.copyTo(newPrefs); + //copy over files from old linux save DIR, pre-1.2.0 + FileHandle oldBase = new Lwjgl3FileHandle(".shatteredpixel/", Files.FileType.External); + FileHandle newBase = new Lwjgl3FileHandle(XDGHome + ".shatteredpixel/", Files.FileType.External); + if (oldBase.exists()){ + if (newBase.exists()){ + oldBase.deleteDirectory(); + } else { + oldBase.moveTo(newBase); + } + } } config.setPreferencesConfig( basePath, Files.FileType.External );