From 4375a10321671e40e8695101c9a59191a331fee2 Mon Sep 17 00:00:00 2001 From: sowgro Date: Thu, 10 Oct 2024 22:09:11 -0400 Subject: Fix level creation crash, improve exception display --- pom.xml | 4 ++-- src/main/java/net/sowgro/npehero/levelapi/Level.java | 4 ++++ src/main/java/net/sowgro/npehero/main/ErrorDisplay.java | 6 +++--- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/pom.xml b/pom.xml index 7aeddcd..b28bdcd 100644 --- a/pom.xml +++ b/pom.xml @@ -97,7 +97,7 @@ NPEHero app true - true + true -Dprism.forceGPU=true 0 @@ -148,7 +148,7 @@ package - npehero_installer + NPEHero true Game diff --git a/src/main/java/net/sowgro/npehero/levelapi/Level.java b/src/main/java/net/sowgro/npehero/levelapi/Level.java index 9b54207..7830c16 100755 --- a/src/main/java/net/sowgro/npehero/levelapi/Level.java +++ b/src/main/java/net/sowgro/npehero/levelapi/Level.java @@ -11,6 +11,7 @@ import javafx.scene.paint.Color; import java.nio.file.Files; import java.nio.file.StandardCopyOption; +import java.util.HashMap; import java.util.Map; public class Level implements Comparable{ @@ -131,6 +132,9 @@ public class Level implements Comparable{ } @SuppressWarnings("unchecked") Map data = jsonParser.fromJson(new FileReader(jsonFile), Map.class); + if (data == null) { + data = new HashMap<>(); + } data.put("title", title); data.put("artist", artist); data.put("desc", desc); diff --git a/src/main/java/net/sowgro/npehero/main/ErrorDisplay.java b/src/main/java/net/sowgro/npehero/main/ErrorDisplay.java index cd43937..32f7a63 100644 --- a/src/main/java/net/sowgro/npehero/main/ErrorDisplay.java +++ b/src/main/java/net/sowgro/npehero/main/ErrorDisplay.java @@ -86,14 +86,14 @@ public class ErrorDisplay extends Page { stackTrace.setManaged(true); }); - HBox buttonBox = new HBox(exit, showStack); + HBox buttonBox = new HBox(exit, showStack, printStack); buttonBox.setSpacing(10); - VBox main = new VBox(title, exView); + VBox main = new VBox(title, exView, stackTrace); main.getStyleClass().add("box"); VBox centerBox = new VBox(); - centerBox.getChildren().addAll(main, buttonBox, stackTrace); + centerBox.getChildren().addAll(main, buttonBox); centerBox.setSpacing(10); centerBox.setAlignment(Pos.CENTER); -- cgit v1.2.3