diff --git a/forge-gui-mobile/src/forge/assets/FSkin.java b/forge-gui-mobile/src/forge/assets/FSkin.java index fd36dcd1feb..641f54ee5cf 100644 --- a/forge-gui-mobile/src/forge/assets/FSkin.java +++ b/forge-gui-mobile/src/forge/assets/FSkin.java @@ -73,7 +73,7 @@ public class FSkin { FSkinTexture.BG_TEXTURE.load(preferredDir, ForgeConstants.DEFAULT_SKINS_DIR); //load background texture early for splash screen if (splashScreen != null) { - final FileHandle f = Gdx.files.local(preferredDir + "bg_splash.png"); + final FileHandle f = Gdx.files.absolute(preferredDir + "bg_splash.png"); if (!f.exists()) { if (!skinName.equals("default")) { FSkin.loadLight("default", splashScreen); @@ -135,12 +135,12 @@ public class FSkin { // Grab and test various sprite files. String defaultDir = ForgeConstants.DEFAULT_SKINS_DIR; - final FileHandle f1 = Gdx.files.local(defaultDir + SourceFile.ICONS.getFilename()); - final FileHandle f2 = Gdx.files.local(preferredDir + SourceFile.ICONS.getFilename()); - final FileHandle f3 = Gdx.files.local(defaultDir + SourceFile.FOILS.getFilename()); - final FileHandle f4 = Gdx.files.local(defaultDir + ForgeConstants.SPRITE_AVATARS_FILE); - final FileHandle f5 = Gdx.files.local(preferredDir + ForgeConstants.SPRITE_AVATARS_FILE); - final FileHandle f6 = Gdx.files.local(defaultDir + SourceFile.OLD_FOILS.getFilename()); + final FileHandle f1 = Gdx.files.absolute(defaultDir + SourceFile.ICONS.getFilename()); + final FileHandle f2 = Gdx.files.absolute(preferredDir + SourceFile.ICONS.getFilename()); + final FileHandle f3 = Gdx.files.absolute(defaultDir + SourceFile.FOILS.getFilename()); + final FileHandle f4 = Gdx.files.absolute(defaultDir + ForgeConstants.SPRITE_AVATARS_FILE); + final FileHandle f5 = Gdx.files.absolute(preferredDir + ForgeConstants.SPRITE_AVATARS_FILE); + final FileHandle f6 = Gdx.files.absolute(defaultDir + SourceFile.OLD_FOILS.getFilename()); try { textures.put(f1.path(), new Texture(f1)); @@ -299,7 +299,7 @@ public class FSkin { public static ArrayList getSkinDirectoryNames() { final ArrayList mySkins = new ArrayList(); - final FileHandle dir = Gdx.files.local(ForgeConstants.SKINS_DIR); + final FileHandle dir = Gdx.files.absolute(ForgeConstants.SKINS_DIR); if (!dir.exists() || !dir.isDirectory()) { System.err.println("FSkin > can't find skins directory!"); } diff --git a/forge-gui-mobile/src/forge/assets/FSkinFont.java b/forge-gui-mobile/src/forge/assets/FSkinFont.java index dbfeb639fbc..d0ca6caa771 100644 --- a/forge-gui-mobile/src/forge/assets/FSkinFont.java +++ b/forge-gui-mobile/src/forge/assets/FSkinFont.java @@ -48,7 +48,7 @@ public class FSkinFont { String dir = FSkin.getDir(); //generate .fnt and .png files from .ttf if needed - FileHandle ttfFile = Gdx.files.local(dir + TTF_FILE); + FileHandle ttfFile = Gdx.files.absolute(dir + TTF_FILE); if (ttfFile.exists()) { FreeTypeFontGenerator generator = new FreeTypeFontGenerator(ttfFile); font = generator.generateFont(size); diff --git a/forge-gui-mobile/src/forge/assets/FSkinImage.java b/forge-gui-mobile/src/forge/assets/FSkinImage.java index 013b0922d01..cc702368b13 100644 --- a/forge-gui-mobile/src/forge/assets/FSkinImage.java +++ b/forge-gui-mobile/src/forge/assets/FSkinImage.java @@ -256,7 +256,7 @@ public enum FSkinImage implements FImage { String preferredFile = preferredDir + filename; Texture texture = textures.get(preferredFile); if (texture == null) { - FileHandle file = Gdx.files.local(preferredFile); + FileHandle file = Gdx.files.absolute(preferredFile); if (file.exists()) { try { texture = new Texture(file); @@ -328,7 +328,7 @@ public enum FSkinImage implements FImage { String defaultFile = defaultDir + filename; texture = textures.get(defaultFile); if (texture == null) { - FileHandle file = Gdx.files.local(defaultFile); + FileHandle file = Gdx.files.absolute(defaultFile); if (file.exists()) { try { texture = new Texture(file); diff --git a/forge-gui-mobile/src/forge/assets/FSkinTexture.java b/forge-gui-mobile/src/forge/assets/FSkinTexture.java index feec23ae030..da2f15cd915 100644 --- a/forge-gui-mobile/src/forge/assets/FSkinTexture.java +++ b/forge-gui-mobile/src/forge/assets/FSkinTexture.java @@ -22,7 +22,7 @@ public enum FSkinTexture implements FImage { public void load(String preferredDir, String defaultDir) { String preferredFile = preferredDir + filename; - FileHandle file = Gdx.files.local(preferredFile); + FileHandle file = Gdx.files.absolute(preferredFile); if (file.exists()) { try { texture = new Texture(file); @@ -35,7 +35,7 @@ public enum FSkinTexture implements FImage { if (texture == null) { //use default file if can't use preferred file String defaultFile = defaultDir + filename; - file = Gdx.files.local(defaultFile); + file = Gdx.files.absolute(defaultFile); if (file.exists()) { try { texture = new Texture(file); @@ -43,6 +43,7 @@ public enum FSkinTexture implements FImage { catch (final Exception e) { System.err.println("Failed to load skin file: " + defaultFile); e.printStackTrace(); + return; } } } diff --git a/forge-gui-mobile/src/forge/assets/ImageCache.java b/forge-gui-mobile/src/forge/assets/ImageCache.java index 4171cb59e71..e00c1351ca4 100644 --- a/forge-gui-mobile/src/forge/assets/ImageCache.java +++ b/forge-gui-mobile/src/forge/assets/ImageCache.java @@ -61,7 +61,7 @@ public class ImageCache { static { Texture defImage = null; try { - defImage = new Texture(Gdx.files.local(ForgeConstants.NO_CARD_FILE)); + defImage = new Texture(Gdx.files.absolute(ForgeConstants.NO_CARD_FILE)); } catch (Exception ex) { System.err.println("could not load default card image"); } finally { diff --git a/forge-gui/src/main/java/forge/properties/ForgeProfileProperties.java b/forge-gui/src/main/java/forge/properties/ForgeProfileProperties.java index 160781767f9..bfaf61d7864 100644 --- a/forge-gui/src/main/java/forge/properties/ForgeProfileProperties.java +++ b/forge-gui/src/main/java/forge/properties/ForgeProfileProperties.java @@ -54,6 +54,16 @@ public class ForgeProfileProperties { cardPicsDir = cacheDir + "pics/cards/"; cardPicsSubDir = new HashMap(); serverPort = 0; + + //ensure directories exist + File dir = new File(userDir); + if (!dir.exists()) { + dir.mkdirs(); + } + dir = new File(cacheDir); + if (!dir.exists()) { + dir.mkdirs(); + } } public ForgeProfileProperties(String filename) {