aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/net
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/net')
-rwxr-xr-xsrc/main/java/net/sowgro/npehero/Driver.java13
-rwxr-xr-xsrc/main/java/net/sowgro/npehero/levelapi/Levels.java3
-rw-r--r--src/main/java/net/sowgro/npehero/main/Control.java4
-rwxr-xr-xsrc/main/java/net/sowgro/npehero/main/Settings.java3
4 files changed, 20 insertions, 3 deletions
diff --git a/src/main/java/net/sowgro/npehero/Driver.java b/src/main/java/net/sowgro/npehero/Driver.java
index 89381aa..3be414c 100755
--- a/src/main/java/net/sowgro/npehero/Driver.java
+++ b/src/main/java/net/sowgro/npehero/Driver.java
@@ -17,6 +17,7 @@ import net.sowgro.npehero.levelapi.Levels;
import net.sowgro.npehero.main.*;
import net.sowgro.npehero.gui.MainMenu;
+import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.util.Stack;
@@ -25,6 +26,7 @@ import java.util.Stack;
public class Driver extends Application
{
public static final Image MENU_BACKGROUND = new Image(Driver.class.getResource("mountains.png").toExternalForm());
+ public static final File BASE_DIR = new File(".npehero");
public static Stage primaryStage;
public static ScrollPane primaryPane = new ScrollPane();
@@ -88,6 +90,17 @@ public class Driver extends Application
primaryStage.show();
Stack<String> errors = new Stack<>();
+ System.out.println("Loading .npehero...");
+ try {
+ if (!BASE_DIR.exists() && !BASE_DIR.mkdir()) {
+ throw new IOException();
+ }
+ if (!BASE_DIR.isDirectory()) {
+ throw new IOException();
+ }
+ } catch (Exception e) {
+ errors.push("Failed to locate .npehero\n"+e);
+ }
System.out.println("Loading settings...");
try {
Settings.read();
diff --git a/src/main/java/net/sowgro/npehero/levelapi/Levels.java b/src/main/java/net/sowgro/npehero/levelapi/Levels.java
index 84d169c..f4cdc1d 100755
--- a/src/main/java/net/sowgro/npehero/levelapi/Levels.java
+++ b/src/main/java/net/sowgro/npehero/levelapi/Levels.java
@@ -11,6 +11,7 @@ import java.util.HashMap;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
+import net.sowgro.npehero.Driver;
/**
* Stores a list of all the levels
@@ -20,7 +21,7 @@ public class Levels {
public static final ObservableList<Level> list = FXCollections.observableArrayList();
public static final HashMap<String, Exception> problems = new HashMap<>();
- public static final File dir = new File("levels");
+ public static final File dir = new File(Driver.BASE_DIR, "levels");
/**
* Reads contents of the levels folder and creates a level form each subfolder
diff --git a/src/main/java/net/sowgro/npehero/main/Control.java b/src/main/java/net/sowgro/npehero/main/Control.java
index c842419..df6e3ef 100644
--- a/src/main/java/net/sowgro/npehero/main/Control.java
+++ b/src/main/java/net/sowgro/npehero/main/Control.java
@@ -5,6 +5,7 @@ import com.google.gson.GsonBuilder;
import javafx.beans.property.ObjectProperty;
import javafx.beans.property.SimpleObjectProperty;
import javafx.scene.input.KeyCode;
+import net.sowgro.npehero.Driver;
import java.io.*;
import java.util.*;
@@ -43,7 +44,7 @@ public enum Control {
LANE4,
};
- private static final File file = new File("controls.json");
+ private static final File file = new File(Driver.BASE_DIR, "controls.json");
private static final Gson json = new GsonBuilder().serializeNulls().setPrettyPrinting().create();
public static void writeToFile() throws IOException {
@@ -57,6 +58,7 @@ public enum Control {
}
public static void readFromFile() throws Exception {
+ @SuppressWarnings("unchecked")
Map<String, Object> data = json.fromJson(new FileReader(file), Map.class);
for (Control control : Control.values()) {
if (data.containsKey(control.toString())) {
diff --git a/src/main/java/net/sowgro/npehero/main/Settings.java b/src/main/java/net/sowgro/npehero/main/Settings.java
index 162f579..cee7680 100755
--- a/src/main/java/net/sowgro/npehero/main/Settings.java
+++ b/src/main/java/net/sowgro/npehero/main/Settings.java
@@ -11,6 +11,7 @@ import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import javafx.beans.property.SimpleBooleanProperty;
import javafx.beans.property.SimpleDoubleProperty;
+import net.sowgro.npehero.Driver;
public class Settings
{
@@ -20,7 +21,7 @@ public class Settings
public static SimpleDoubleProperty guiScale = new SimpleDoubleProperty(1);
private static final Gson jsonParser = new GsonBuilder().serializeNulls().setPrettyPrinting().create();
- private static final File jsonFile = new File("settings.json");
+ private static final File jsonFile = new File(Driver.BASE_DIR, "settings.json");
/**
* Reads json data from settings.json