diff --git a/android/build.gradle b/android/build.gradle
index d374117..e02c693 100644
--- a/android/build.gradle
+++ b/android/build.gradle
@@ -57,7 +57,8 @@ dependencies {
implementation "com.badlogicgames.gdx:gdx-backend-android:$gdxVersion"
implementation "com.github.MrStahlfelge.gdx-websockets:common:$websocketVersion"
implementation project(':core')
-
+ //implementation "com.openeggbert.gdx:gdx-storage:0.0.0-SNAPSHOT"
+
natives "com.badlogicgames.gdx:gdx-box2d-platform:$gdxVersion:natives-arm64-v8a"
natives "com.badlogicgames.gdx:gdx-box2d-platform:$gdxVersion:natives-armeabi-v7a"
natives "com.badlogicgames.gdx:gdx-box2d-platform:$gdxVersion:natives-x86"
diff --git a/core/build.gradle b/core/build.gradle
index 9794de2..dc9a1f6 100644
--- a/core/build.gradle
+++ b/core/build.gradle
@@ -17,7 +17,7 @@ dependencies {
api "com.github.tommyettinger:libgdx-utils:$utilsVersion"
api "de.golfgl.gdxcontrollerutils:gdx-controllerutils-mapping:$controllerMappingVersion"
api "games.rednblack.miniaudio:miniaudio:$miniaudioVersion"
- api "com.openeggbert.gdx:gdx-storage:0.0.0-SNAPSHOT"
+ //api "com.openeggbert.gdx:gdx-storage:0.0.0-SNAPSHOT"
annotationProcessor "org.projectlombok:lombok:$lombokVersion"
compileOnly "org.projectlombok:lombok:$lombokVersion"
testImplementation "org.junit.jupiter:junit-jupiter-api:5.10.3"
diff --git a/core/src/main/java/com/openeggbert/core/entity/immovableobjects/.gitkeep b/core/src/main/java/com/openeggbert/core/entity/immovableobjects/.gitkeep
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/core/src/main/java/com/openeggbert/core/entity/immovableobjects/.gitkeep
@@ -0,0 +1 @@
+
diff --git a/core/src/main/java/com/openeggbert/entity/common/OpenEggbertScreenType.java b/core/src/main/java/com/openeggbert/entity/common/OpenEggbertScreenType.java
index 2077383..627739b 100644
--- a/core/src/main/java/com/openeggbert/entity/common/OpenEggbertScreenType.java
+++ b/core/src/main/java/com/openeggbert/entity/common/OpenEggbertScreenType.java
@@ -28,6 +28,8 @@ import lombok.Getter;
* @author robertvokac
*/
public enum OpenEggbertScreenType {
+ MAIN,
+ GAME_SPACE_SELECTION,
INIT("INIT"),
GAMER("GAMER"),
MAIN_HUB(""),
diff --git a/core/src/main/java/com/openeggbert/gdx/storage/GdxStorageException.java b/core/src/main/java/com/openeggbert/gdx/storage/GdxStorageException.java
new file mode 100644
index 0000000..11c0d7d
--- /dev/null
+++ b/core/src/main/java/com/openeggbert/gdx/storage/GdxStorageException.java
@@ -0,0 +1,32 @@
+///////////////////////////////////////////////////////////////////////////////////////////////
+// Gdx Storage: Multiplatform persistent storage.
+// Copyright (C) 2024 the original author or authors.
+//
+// This program is free software: you can redistribute it and/or
+// modify it under the terms of the GNU General Public License
+// as published by the Free Software Foundation, either version 3
+// of the License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see
+// or write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+///////////////////////////////////////////////////////////////////////////////////////////////
+package com.openeggbert.gdx.storage;
+
+/**
+ *
+ * @author robertvokac
+ */
+public class GdxStorageException extends RuntimeException {
+
+ public GdxStorageException(String string) {
+ super(string);
+ }
+
+}
diff --git a/core/src/main/java/com/openeggbert/gdx/storage/GdxStorageMainClass.gwt.xml b/core/src/main/java/com/openeggbert/gdx/storage/GdxStorageMainClass.gwt.xml
new file mode 100644
index 0000000..e348369
--- /dev/null
+++ b/core/src/main/java/com/openeggbert/gdx/storage/GdxStorageMainClass.gwt.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/core/src/main/java/com/openeggbert/gdx/storage/GdxStorageMainClass.java b/core/src/main/java/com/openeggbert/gdx/storage/GdxStorageMainClass.java
new file mode 100644
index 0000000..3bcfd60
--- /dev/null
+++ b/core/src/main/java/com/openeggbert/gdx/storage/GdxStorageMainClass.java
@@ -0,0 +1,34 @@
+package com.openeggbert.gdx.storage;
+
+import com.badlogic.gdx.ApplicationAdapter;
+import com.badlogic.gdx.Gdx;
+import com.badlogic.gdx.graphics.GL20;
+import com.badlogic.gdx.graphics.Texture;
+import com.badlogic.gdx.graphics.g2d.SpriteBatch;
+import com.badlogic.gdx.utils.ScreenUtils;
+
+/** {@link com.badlogic.gdx.ApplicationListener} implementation shared by all platforms. */
+public class GdxStorageMainClass extends ApplicationAdapter {
+ private SpriteBatch batch;
+ private Texture image;
+
+ @Override
+ public void create() {
+ batch = new SpriteBatch();
+ image = new Texture("libgdx.png");
+ }
+
+ @Override
+ public void render() {
+ ScreenUtils.clear(0.15f, 0.15f, 0.2f, 1f);
+ batch.begin();
+ batch.draw(image, 140, 210);
+ batch.end();
+ }
+
+ @Override
+ public void dispose() {
+ batch.dispose();
+ image.dispose();
+ }
+}
diff --git a/core/src/main/java/com/openeggbert/gdx/storage/GdxStorageUtils.java b/core/src/main/java/com/openeggbert/gdx/storage/GdxStorageUtils.java
new file mode 100644
index 0000000..50093d9
--- /dev/null
+++ b/core/src/main/java/com/openeggbert/gdx/storage/GdxStorageUtils.java
@@ -0,0 +1,50 @@
+///////////////////////////////////////////////////////////////////////////////////////////////
+// Gdx Storage: Multiplatform persistent storage.
+// Copyright (C) 2024 the original author or authors.
+//
+// This program is free software: you can redistribute it and/or
+// modify it under the terms of the GNU General Public License
+// as published by the Free Software Foundation, either version 3
+// of the License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see
+// or write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+///////////////////////////////////////////////////////////////////////////////////////////////
+package com.openeggbert.gdx.storage;
+
+import com.badlogic.gdx.utils.Base64Coder;
+
+/**
+ *
+ * @author robertvokac
+ */
+public class GdxStorageUtils {
+
+ private GdxStorageUtils() {
+ //Not meant to be instantiated.
+ }
+
+ public static String decodeBase64AsString(String string) {
+ return new String(decodeBase64AsByteArray(string));
+ }
+
+ public static byte[] decodeBase64AsByteArray(String string) {
+ return Base64Coder.decode(string);
+ }
+
+ public static String encodeToBase64(String string) {
+ return encodeToBase64(string.getBytes());
+ }
+
+ public static String encodeToBase64(byte[] data) {
+ return String.valueOf(Base64Coder.encode(data));
+ }
+
+}
diff --git a/core/src/main/java/com/openeggbert/storage/Storage.java b/core/src/main/java/com/openeggbert/gdx/storage/Storage.java
similarity index 96%
rename from core/src/main/java/com/openeggbert/storage/Storage.java
rename to core/src/main/java/com/openeggbert/gdx/storage/Storage.java
index 1f36e89..3c4cb66 100644
--- a/core/src/main/java/com/openeggbert/storage/Storage.java
+++ b/core/src/main/java/com/openeggbert/gdx/storage/Storage.java
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////
-// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
+// Gdx Storage: Multiplatform persistent storage.
// Copyright (C) 2024 the original author or authors.
//
// This program is free software: you can redistribute it and/or
@@ -17,7 +17,7 @@
// or write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
///////////////////////////////////////////////////////////////////////////////////////////////
-package com.openeggbert.storage;
+package com.openeggbert.gdx.storage;
import com.badlogic.gdx.Application;
import java.util.List;
diff --git a/core/src/main/java/com/openeggbert/storage/StorageImplementationLoader.java b/core/src/main/java/com/openeggbert/gdx/storage/StorageImplementationLoader.java
similarity index 81%
rename from core/src/main/java/com/openeggbert/storage/StorageImplementationLoader.java
rename to core/src/main/java/com/openeggbert/gdx/storage/StorageImplementationLoader.java
index 14a852e..80351d0 100644
--- a/core/src/main/java/com/openeggbert/storage/StorageImplementationLoader.java
+++ b/core/src/main/java/com/openeggbert/gdx/storage/StorageImplementationLoader.java
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////
-// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
+// Gdx Storage: Multiplatform persistent storage.
// Copyright (C) 2024 the original author or authors.
//
// This program is free software: you can redistribute it and/or
@@ -17,15 +17,14 @@
// or write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
///////////////////////////////////////////////////////////////////////////////////////////////
-package com.openeggbert.storage;
+package com.openeggbert.gdx.storage;
-import com.openeggbert.storage.map.WebGLStorage;
-import com.openeggbert.storage.map.MemoryStorage;
-import com.openeggbert.storage.filesystem.AndroidStorage;
-import com.openeggbert.storage.filesystem.DesktopStorage;
+import com.openeggbert.gdx.storage.map.WebGLStorage;
+import com.openeggbert.gdx.storage.map.MemoryStorage;
+import com.openeggbert.gdx.storage.filesystem.AndroidStorage;
+import com.openeggbert.gdx.storage.filesystem.DesktopStorage;
import com.badlogic.gdx.Application;
import com.badlogic.gdx.Gdx;
-import com.openeggbert.entity.common.OpenEggbertException;
/**
*
@@ -56,7 +55,7 @@ public class StorageImplementationLoader {
}
}
if (storage == null) {
- throw new OpenEggbertException("Platform is not supported: " + type);
+ throw new GdxStorageException("Platform is not supported: " + type);
}
return storage;
}
diff --git a/core/src/main/java/com/openeggbert/storage/filesystem/command/BaseCommandLine.java b/core/src/main/java/com/openeggbert/gdx/storage/command/BaseCommandLine.java
similarity index 94%
rename from core/src/main/java/com/openeggbert/storage/filesystem/command/BaseCommandLine.java
rename to core/src/main/java/com/openeggbert/gdx/storage/command/BaseCommandLine.java
index a133201..bbb70fe 100644
--- a/core/src/main/java/com/openeggbert/storage/filesystem/command/BaseCommandLine.java
+++ b/core/src/main/java/com/openeggbert/gdx/storage/command/BaseCommandLine.java
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////
-// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
+// Gdx Storage: Multiplatform persistent storage.
// Copyright (C) 2024 the original author or authors.
//
// This program is free software: you can redistribute it and/or
@@ -17,7 +17,7 @@
// or write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
///////////////////////////////////////////////////////////////////////////////////////////////
-package com.openeggbert.storage.filesystem.command;
+package com.openeggbert.gdx.storage.command;
import java.util.function.Function;
diff --git a/core/src/main/java/com/openeggbert/storage/filesystem/command/CommandLineScanner.java b/core/src/main/java/com/openeggbert/gdx/storage/command/CommandLineScanner.java
similarity index 90%
rename from core/src/main/java/com/openeggbert/storage/filesystem/command/CommandLineScanner.java
rename to core/src/main/java/com/openeggbert/gdx/storage/command/CommandLineScanner.java
index 13b75c5..e682f67 100644
--- a/core/src/main/java/com/openeggbert/storage/filesystem/command/CommandLineScanner.java
+++ b/core/src/main/java/com/openeggbert/gdx/storage/command/CommandLineScanner.java
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////
-// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
+// Gdx Storage: Multiplatform persistent storage.
// Copyright (C) 2024 the original author or authors.
//
// This program is free software: you can redistribute it and/or
@@ -17,7 +17,7 @@
// or write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
///////////////////////////////////////////////////////////////////////////////////////////////
-package com.openeggbert.storage.filesystem.command;
+package com.openeggbert.gdx.storage.command;
/**
*
diff --git a/core/src/main/java/com/openeggbert/storage/filesystem/command/StorageCommand.java b/core/src/main/java/com/openeggbert/gdx/storage/command/StorageCommand.java
similarity index 91%
rename from core/src/main/java/com/openeggbert/storage/filesystem/command/StorageCommand.java
rename to core/src/main/java/com/openeggbert/gdx/storage/command/StorageCommand.java
index afaa84e..e11e879 100644
--- a/core/src/main/java/com/openeggbert/storage/filesystem/command/StorageCommand.java
+++ b/core/src/main/java/com/openeggbert/gdx/storage/command/StorageCommand.java
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////
-// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
+// Gdx Storage: Multiplatform persistent storage.
// Copyright (C) 2024 the original author or authors.
//
// This program is free software: you can redistribute it and/or
@@ -17,7 +17,7 @@
// or write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
///////////////////////////////////////////////////////////////////////////////////////////////
-package com.openeggbert.storage.filesystem.command;
+package com.openeggbert.gdx.storage.command;
/**
*
diff --git a/core/src/main/java/com/openeggbert/storage/filesystem/command/StorageCommandLine.java b/core/src/main/java/com/openeggbert/gdx/storage/command/StorageCommandLine.java
similarity index 98%
rename from core/src/main/java/com/openeggbert/storage/filesystem/command/StorageCommandLine.java
rename to core/src/main/java/com/openeggbert/gdx/storage/command/StorageCommandLine.java
index fc4b6c0..8771033 100644
--- a/core/src/main/java/com/openeggbert/storage/filesystem/command/StorageCommandLine.java
+++ b/core/src/main/java/com/openeggbert/gdx/storage/command/StorageCommandLine.java
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////
-// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
+// Gdx Storage: Multiplatform persistent storage.
// Copyright (C) 2024 the original author or authors.
//
// This program is free software: you can redistribute it and/or
@@ -17,9 +17,9 @@
// or write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
///////////////////////////////////////////////////////////////////////////////////////////////
-package com.openeggbert.storage.filesystem.command;
+package com.openeggbert.gdx.storage.command;
-import com.openeggbert.storage.Storage;
+import com.openeggbert.gdx.storage.Storage;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
diff --git a/core/src/main/java/com/openeggbert/storage/filesystem/command/StorageCommandLineScanner.java b/core/src/main/java/com/openeggbert/gdx/storage/command/StorageCommandLineScanner.java
similarity index 91%
rename from core/src/main/java/com/openeggbert/storage/filesystem/command/StorageCommandLineScanner.java
rename to core/src/main/java/com/openeggbert/gdx/storage/command/StorageCommandLineScanner.java
index 422b273..b762a48 100644
--- a/core/src/main/java/com/openeggbert/storage/filesystem/command/StorageCommandLineScanner.java
+++ b/core/src/main/java/com/openeggbert/gdx/storage/command/StorageCommandLineScanner.java
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////
-// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
+// Gdx Storage: Multiplatform persistent storage.
// Copyright (C) 2024 the original author or authors.
//
// This program is free software: you can redistribute it and/or
@@ -17,9 +17,9 @@
// or write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
///////////////////////////////////////////////////////////////////////////////////////////////
-package com.openeggbert.storage.filesystem.command;
+package com.openeggbert.gdx.storage.command;
-import com.openeggbert.storage.map.MemoryStorage;
+import com.openeggbert.gdx.storage.map.MemoryStorage;
import java.util.Scanner;
/**
diff --git a/core/src/main/java/com/openeggbert/storage/filesystem/command/StorageCommandResult.java b/core/src/main/java/com/openeggbert/gdx/storage/command/StorageCommandResult.java
similarity index 93%
rename from core/src/main/java/com/openeggbert/storage/filesystem/command/StorageCommandResult.java
rename to core/src/main/java/com/openeggbert/gdx/storage/command/StorageCommandResult.java
index 829b41b..802ab77 100644
--- a/core/src/main/java/com/openeggbert/storage/filesystem/command/StorageCommandResult.java
+++ b/core/src/main/java/com/openeggbert/gdx/storage/command/StorageCommandResult.java
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////
-// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
+// Gdx Storage: Multiplatform persistent storage.
// Copyright (C) 2024 the original author or authors.
//
// This program is free software: you can redistribute it and/or
@@ -17,7 +17,7 @@
// or write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
///////////////////////////////////////////////////////////////////////////////////////////////
-package com.openeggbert.storage.filesystem.command;
+package com.openeggbert.gdx.storage.command;
/**
*
diff --git a/core/src/main/java/com/openeggbert/storage/filesystem/AndroidStorage.java b/core/src/main/java/com/openeggbert/gdx/storage/filesystem/AndroidStorage.java
similarity index 90%
rename from core/src/main/java/com/openeggbert/storage/filesystem/AndroidStorage.java
rename to core/src/main/java/com/openeggbert/gdx/storage/filesystem/AndroidStorage.java
index 2815f1f..9af90b3 100644
--- a/core/src/main/java/com/openeggbert/storage/filesystem/AndroidStorage.java
+++ b/core/src/main/java/com/openeggbert/gdx/storage/filesystem/AndroidStorage.java
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////
-// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
+// Gdx Storage: Multiplatform persistent storage.
// Copyright (C) 2024 the original author or authors.
//
// This program is free software: you can redistribute it and/or
@@ -17,7 +17,7 @@
// or write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
///////////////////////////////////////////////////////////////////////////////////////////////
-package com.openeggbert.storage.filesystem;
+package com.openeggbert.gdx.storage.filesystem;
/**
*
diff --git a/core/src/main/java/com/openeggbert/storage/filesystem/DesktopAndroidStorage.java b/core/src/main/java/com/openeggbert/gdx/storage/filesystem/DesktopAndroidStorage.java
similarity index 97%
rename from core/src/main/java/com/openeggbert/storage/filesystem/DesktopAndroidStorage.java
rename to core/src/main/java/com/openeggbert/gdx/storage/filesystem/DesktopAndroidStorage.java
index 7514076..16e3dfd 100644
--- a/core/src/main/java/com/openeggbert/storage/filesystem/DesktopAndroidStorage.java
+++ b/core/src/main/java/com/openeggbert/gdx/storage/filesystem/DesktopAndroidStorage.java
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////
-// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
+// Gdx Storage: Multiplatform persistent storage.
// Copyright (C) 2024 the original author or authors.
//
// This program is free software: you can redistribute it and/or
@@ -17,10 +17,10 @@
// or write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
///////////////////////////////////////////////////////////////////////////////////////////////
-package com.openeggbert.storage.filesystem;
+package com.openeggbert.gdx.storage.filesystem;
import com.badlogic.gdx.Application;
-import com.openeggbert.storage.Storage;
+import com.openeggbert.gdx.storage.Storage;
import java.util.List;
/**
diff --git a/core/src/main/java/com/openeggbert/storage/filesystem/DesktopStorage.java b/core/src/main/java/com/openeggbert/gdx/storage/filesystem/DesktopStorage.java
similarity index 90%
rename from core/src/main/java/com/openeggbert/storage/filesystem/DesktopStorage.java
rename to core/src/main/java/com/openeggbert/gdx/storage/filesystem/DesktopStorage.java
index 13b6b49..e14f123 100644
--- a/core/src/main/java/com/openeggbert/storage/filesystem/DesktopStorage.java
+++ b/core/src/main/java/com/openeggbert/gdx/storage/filesystem/DesktopStorage.java
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////
-// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
+// Gdx Storage: Multiplatform persistent storage.
// Copyright (C) 2024 the original author or authors.
//
// This program is free software: you can redistribute it and/or
@@ -17,7 +17,7 @@
// or write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
///////////////////////////////////////////////////////////////////////////////////////////////
-package com.openeggbert.storage.filesystem;
+package com.openeggbert.gdx.storage.filesystem;
/**
*
diff --git a/core/src/main/java/com/openeggbert/storage/map/MapFileType.java b/core/src/main/java/com/openeggbert/gdx/storage/map/MapFileType.java
similarity index 80%
rename from core/src/main/java/com/openeggbert/storage/map/MapFileType.java
rename to core/src/main/java/com/openeggbert/gdx/storage/map/MapFileType.java
index 387cf94..72b422b 100644
--- a/core/src/main/java/com/openeggbert/storage/map/MapFileType.java
+++ b/core/src/main/java/com/openeggbert/gdx/storage/map/MapFileType.java
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////
-// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
+// Gdx Storage: Multiplatform persistent storage.
// Copyright (C) 2024 the original author or authors.
//
// This program is free software: you can redistribute it and/or
@@ -17,9 +17,10 @@
// or write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
///////////////////////////////////////////////////////////////////////////////////////////////
-package com.openeggbert.storage.map;
+package com.openeggbert.gdx.storage.map;
+
+import com.openeggbert.gdx.storage.GdxStorageException;
-import com.openeggbert.entity.common.OpenEggbertException;
/**
*
@@ -30,7 +31,7 @@ public enum MapFileType {
public static MapFileType ofKey(String key, SimpleMap map) {
if (!map.contains(key)) {
- throw new OpenEggbertException("Map does not contain key: " + key);
+ throw new GdxStorageException("Map does not contain key: " + key);
}
String value = map.getString(key);
if (value.startsWith(FILE.name())) {
@@ -39,7 +40,7 @@ public enum MapFileType {
if (value.startsWith(DIRECTORY.name())) {
return DIRECTORY;
}
- throw new OpenEggbertException("Unsupported MapFileType for key in the map: " + key);
+ throw new GdxStorageException("Unsupported MapFileType for key in the map: " + key);
}
diff --git a/core/src/main/java/com/openeggbert/storage/map/MapStorage.java b/core/src/main/java/com/openeggbert/gdx/storage/map/MapStorage.java
similarity index 93%
rename from core/src/main/java/com/openeggbert/storage/map/MapStorage.java
rename to core/src/main/java/com/openeggbert/gdx/storage/map/MapStorage.java
index 92ebe81..238b6c9 100644
--- a/core/src/main/java/com/openeggbert/storage/map/MapStorage.java
+++ b/core/src/main/java/com/openeggbert/gdx/storage/map/MapStorage.java
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////
-// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
+// Gdx Storage: Multiplatform persistent storage.
// Copyright (C) 2024 the original author or authors.
//
// This program is free software: you can redistribute it and/or
@@ -17,13 +17,13 @@
// or write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
///////////////////////////////////////////////////////////////////////////////////////////////
-package com.openeggbert.storage.map;
+package com.openeggbert.gdx.storage.map;
import com.badlogic.gdx.Application;
import com.badlogic.gdx.Gdx;
-import com.openeggbert.entity.common.OpenEggbertException;
-import com.openeggbert.storage.Storage;
-import com.openeggbert.utils.OpenEggbertUtils;
+import com.openeggbert.gdx.storage.GdxStorageException;
+import com.openeggbert.gdx.storage.GdxStorageUtils;
+import com.openeggbert.gdx.storage.Storage;
import java.util.List;
import java.util.stream.Collectors;
@@ -124,10 +124,10 @@ public class MapStorage implements Storage {
private static String getParentPath(String path) {
// System.out.println("getParentPath()");
if (path == null) {
- throw new OpenEggbertException("Path is null");
+ throw new GdxStorageException("Path is null");
}
if (path.trim().isEmpty()) {
- throw new OpenEggbertException("Path is empty");
+ throw new GdxStorageException("Path is empty");
}
if (path.equals("/")) {
@@ -218,10 +218,10 @@ public class MapStorage implements Storage {
private String moveOrCp(String source, String target, boolean move, boolean cp) {
if (move && cp) {
- throw new OpenEggbertException("move == true && cp == true");
+ throw new GdxStorageException("move == true && cp == true");
}
if (!move && !cp) {
- throw new OpenEggbertException("move != true && cp != true");
+ throw new GdxStorageException("move != true && cp != true");
}
String absolutePathSource = convertToAbsolutePathIfNeeded(source);
String absolutePathTarget = convertToAbsolutePathIfNeeded(target);
@@ -287,7 +287,7 @@ public class MapStorage implements Storage {
return null;
}
text = text.substring(BINARYFILE.length());
- return OpenEggbertUtils.decodeBase64AsByteArray(text);
+ return GdxStorageUtils.decodeBase64AsByteArray(text);
}
private static final String BINARYFILE = "BINARYFILE";
@@ -298,7 +298,7 @@ public class MapStorage implements Storage {
@Override
public String savebin(String name, byte[] data) {
- return savetext(name, BINARYFILE + OpenEggbertUtils.encodeToBase64(data));
+ return savetext(name, BINARYFILE + GdxStorageUtils.encodeToBase64(data));
}
@Override
diff --git a/core/src/main/java/com/openeggbert/storage/map/MapStorageCompression.java b/core/src/main/java/com/openeggbert/gdx/storage/map/MapStorageCompression.java
similarity index 91%
rename from core/src/main/java/com/openeggbert/storage/map/MapStorageCompression.java
rename to core/src/main/java/com/openeggbert/gdx/storage/map/MapStorageCompression.java
index 6af03a6..106959c 100644
--- a/core/src/main/java/com/openeggbert/storage/map/MapStorageCompression.java
+++ b/core/src/main/java/com/openeggbert/gdx/storage/map/MapStorageCompression.java
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////
-// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
+// Gdx Storage: Multiplatform persistent storage.
// Copyright (C) 2024 the original author or authors.
//
// This program is free software: you can redistribute it and/or
@@ -17,7 +17,7 @@
// or write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
///////////////////////////////////////////////////////////////////////////////////////////////
-package com.openeggbert.storage.map;
+package com.openeggbert.gdx.storage.map;
/**
*
diff --git a/core/src/main/java/com/openeggbert/storage/map/MemoryStorage.java b/core/src/main/java/com/openeggbert/gdx/storage/map/MemoryStorage.java
similarity index 92%
rename from core/src/main/java/com/openeggbert/storage/map/MemoryStorage.java
rename to core/src/main/java/com/openeggbert/gdx/storage/map/MemoryStorage.java
index 04945fe..9015532 100644
--- a/core/src/main/java/com/openeggbert/storage/map/MemoryStorage.java
+++ b/core/src/main/java/com/openeggbert/gdx/storage/map/MemoryStorage.java
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////
-// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
+// Gdx Storage: Multiplatform persistent storage.
// Copyright (C) 2024 the original author or authors.
//
// This program is free software: you can redistribute it and/or
@@ -17,7 +17,7 @@
// or write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
///////////////////////////////////////////////////////////////////////////////////////////////
-package com.openeggbert.storage.map;
+package com.openeggbert.gdx.storage.map;
import com.badlogic.gdx.Application;
diff --git a/core/src/main/java/com/openeggbert/storage/map/SimpleJavaMap.java b/core/src/main/java/com/openeggbert/gdx/storage/map/SimpleJavaMap.java
similarity index 95%
rename from core/src/main/java/com/openeggbert/storage/map/SimpleJavaMap.java
rename to core/src/main/java/com/openeggbert/gdx/storage/map/SimpleJavaMap.java
index bb8f21d..b060265 100644
--- a/core/src/main/java/com/openeggbert/storage/map/SimpleJavaMap.java
+++ b/core/src/main/java/com/openeggbert/gdx/storage/map/SimpleJavaMap.java
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////
-// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
+// Gdx Storage: Multiplatform persistent storage.
// Copyright (C) 2024 the original author or authors.
//
// This program is free software: you can redistribute it and/or
@@ -17,7 +17,7 @@
// or write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
///////////////////////////////////////////////////////////////////////////////////////////////
-package com.openeggbert.storage.map;
+package com.openeggbert.gdx.storage.map;
import java.util.Collections;
import java.util.HashMap;
diff --git a/core/src/main/java/com/openeggbert/storage/map/SimpleLocalStorageMap.java b/core/src/main/java/com/openeggbert/gdx/storage/map/SimpleLocalStorageMap.java
similarity index 96%
rename from core/src/main/java/com/openeggbert/storage/map/SimpleLocalStorageMap.java
rename to core/src/main/java/com/openeggbert/gdx/storage/map/SimpleLocalStorageMap.java
index af7b60f..ae6eb86 100644
--- a/core/src/main/java/com/openeggbert/storage/map/SimpleLocalStorageMap.java
+++ b/core/src/main/java/com/openeggbert/gdx/storage/map/SimpleLocalStorageMap.java
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////
-// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
+// Gdx Storage: Multiplatform persistent storage.
// Copyright (C) 2024 the original author or authors.
//
// This program is free software: you can redistribute it and/or
@@ -17,7 +17,7 @@
// or write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
///////////////////////////////////////////////////////////////////////////////////////////////
-package com.openeggbert.storage.map;
+package com.openeggbert.gdx.storage.map;
import com.badlogic.gdx.Preferences;
import java.util.Collections;
diff --git a/core/src/main/java/com/openeggbert/storage/map/SimpleMap.java b/core/src/main/java/com/openeggbert/gdx/storage/map/SimpleMap.java
similarity index 93%
rename from core/src/main/java/com/openeggbert/storage/map/SimpleMap.java
rename to core/src/main/java/com/openeggbert/gdx/storage/map/SimpleMap.java
index d2a90dd..3aab24c 100644
--- a/core/src/main/java/com/openeggbert/storage/map/SimpleMap.java
+++ b/core/src/main/java/com/openeggbert/gdx/storage/map/SimpleMap.java
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////
-// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
+// Gdx Storage: Multiplatform persistent storage.
// Copyright (C) 2024 the original author or authors.
//
// This program is free software: you can redistribute it and/or
@@ -17,7 +17,7 @@
// or write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
///////////////////////////////////////////////////////////////////////////////////////////////
-package com.openeggbert.storage.map;
+package com.openeggbert.gdx.storage.map;
import java.util.List;
import java.util.Map;
diff --git a/core/src/main/java/com/openeggbert/storage/map/WebGLStorage.java b/core/src/main/java/com/openeggbert/gdx/storage/map/WebGLStorage.java
similarity index 93%
rename from core/src/main/java/com/openeggbert/storage/map/WebGLStorage.java
rename to core/src/main/java/com/openeggbert/gdx/storage/map/WebGLStorage.java
index 38906ed..459f9f6 100644
--- a/core/src/main/java/com/openeggbert/storage/map/WebGLStorage.java
+++ b/core/src/main/java/com/openeggbert/gdx/storage/map/WebGLStorage.java
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////
-// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
+// Gdx Storage: Multiplatform persistent storage.
// Copyright (C) 2024 the original author or authors.
//
// This program is free software: you can redistribute it and/or
@@ -17,7 +17,7 @@
// or write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
///////////////////////////////////////////////////////////////////////////////////////////////
-package com.openeggbert.storage.map;
+package com.openeggbert.gdx.storage.map;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Preferences;
diff --git a/core/src/main/java/com/openeggbert/main/OpenEggbertGame.java b/core/src/main/java/com/openeggbert/main/OpenEggbertGame.java
index 6fec830..48528e2 100644
--- a/core/src/main/java/com/openeggbert/main/OpenEggbertGame.java
+++ b/core/src/main/java/com/openeggbert/main/OpenEggbertGame.java
@@ -37,8 +37,8 @@ import com.openeggbert.mods.Mod;
import com.openeggbert.mods.ModIdentification;
import com.openeggbert.screens.GameSpaceListScreen;
import com.openeggbert.screens.InitScreen;
-import com.openeggbert.storage.Storage;
-import com.openeggbert.storage.StorageImplementationLoader;
+import com.openeggbert.gdx.storage.Storage;
+import com.openeggbert.gdx.storage.StorageImplementationLoader;
import com.openeggbert.utils.OpenEggbertDisplayMode;
import java.util.ArrayList;
import java.util.List;
diff --git a/core/src/main/java/com/openeggbert/utils/OpenEggbertUtils.java b/core/src/main/java/com/openeggbert/utils/OpenEggbertUtils.java
index 884d409..8c66d3e 100644
--- a/core/src/main/java/com/openeggbert/utils/OpenEggbertUtils.java
+++ b/core/src/main/java/com/openeggbert/utils/OpenEggbertUtils.java
@@ -19,7 +19,6 @@
///////////////////////////////////////////////////////////////////////////////////////////////
package com.openeggbert.utils;
-import com.badlogic.gdx.utils.Base64Coder;
import com.openeggbert.compatibility.FileNameCaseType;
import com.openeggbert.compatibility.ImageFormat;
import com.openeggbert.compatibility.MusicFormat;
@@ -114,20 +113,4 @@ public class OpenEggbertUtils {
}
- public static String decodeBase64AsString(String string) {
- return new String(decodeBase64AsByteArray(string));
- }
-
- public static byte[] decodeBase64AsByteArray(String string) {
- return Base64Coder.decode(string);
- }
-
- public static String encodeToBase64(String string) {
- return encodeToBase64(string.getBytes());
- }
-
- public static String encodeToBase64(byte[] data) {
- return String.valueOf(Base64Coder.encode(data));
- }
-
}
diff --git a/core/src/test/java/com/openeggbert/utils/OpenEggbertUtilsTest.java b/core/src/test/java/com/openeggbert/utils/OpenEggbertUtilsTest.java
index 583472e..d34b6a4 100644
--- a/core/src/test/java/com/openeggbert/utils/OpenEggbertUtilsTest.java
+++ b/core/src/test/java/com/openeggbert/utils/OpenEggbertUtilsTest.java
@@ -20,9 +20,7 @@
package com.openeggbert.utils;
import com.openeggbert.entity.common.GameFileType;
-import java.util.List;
import java.util.stream.Collectors;
-import java.util.stream.Stream;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeEach;
diff --git a/html/build.gradle b/html/build.gradle
index 25b8ca5..bc24f42 100644
--- a/html/build.gradle
+++ b/html/build.gradle
@@ -18,6 +18,7 @@ gwt {
src = files(file('src/main/java')) // Needs to be in front of "modules" below.
modules 'com.openeggbert.GdxDefinition'
+//,'com.openeggbert.gdx.storage.GdxStorageMainClass'
devModules 'com.openeggbert.GdxDefinitionSuperdev'
project.webAppDirName = 'webapp'
@@ -50,6 +51,7 @@ dependencies {
implementation("com.badlogicgames.gdx-controllers:gdx-controllers-gwt:$gdxControllersVersion:sources"){exclude group: "com.badlogicgames.gdx", module: "gdx-backend-gwt"}
implementation("com.badlogicgames.gdx:gdx-box2d-gwt:$gdxVersion:sources") {exclude group: "com.google.gwt", module: "gwt-user"}
implementation("com.github.crykn.guacamole:gdx-gwt:$guacamoleVersion:sources"){exclude group: "com.badlogicgames.gdx", module: "gdx-backend-gwt"}
+ //implementation "com.openeggbert.gdx:gdx-storage:0.0.0-SNAPSHOT"
}
diff --git a/html/src/main/java/com/openeggbert/GdxDefinition.gwt.xml b/html/src/main/java/com/openeggbert/GdxDefinition.gwt.xml
index a8ed1a1..95212a2 100644
--- a/html/src/main/java/com/openeggbert/GdxDefinition.gwt.xml
+++ b/html/src/main/java/com/openeggbert/GdxDefinition.gwt.xml
@@ -23,6 +23,7 @@
+
@@ -38,4 +39,4 @@
-
\ No newline at end of file
+
diff --git a/lwjgl3/build.gradle b/lwjgl3/build.gradle
index daa26cc..46eeea7 100644
--- a/lwjgl3/build.gradle
+++ b/lwjgl3/build.gradle
@@ -31,6 +31,7 @@ dependencies {
implementation "com.github.MrStahlfelge.gdx-websockets:common:$websocketVersion"
implementation "com.github.crykn.guacamole:gdx-desktop:$guacamoleVersion"
implementation "games.rednblack.miniaudio:miniaudio:$miniaudioVersion:natives-desktop"
+ //implementation "com.openeggbert.gdx:gdx-storage:0.0.0-SNAPSHOT"
implementation project(':core')
}
diff --git a/lwjgl3/src/main/java/com/openeggbert/lwjgl3/debugging/storage/DesktopCommandLineScanner.java b/lwjgl3/src/main/java/com/openeggbert/lwjgl3/debugging/storage/DesktopCommandLineScanner.java
index a213889..a3ac363 100644
--- a/lwjgl3/src/main/java/com/openeggbert/lwjgl3/debugging/storage/DesktopCommandLineScanner.java
+++ b/lwjgl3/src/main/java/com/openeggbert/lwjgl3/debugging/storage/DesktopCommandLineScanner.java
@@ -19,7 +19,7 @@
///////////////////////////////////////////////////////////////////////////////////////////////
package com.openeggbert.lwjgl3.debugging.storage;
-import com.openeggbert.storage.filesystem.command.CommandLineScanner;
+import com.openeggbert.gdx.storage.command.CommandLineScanner;
import java.util.Scanner;
/**
diff --git a/lwjgl3/src/main/java/com/openeggbert/lwjgl3/debugging/storage/DesktopStorageCommandLineScanner.java b/lwjgl3/src/main/java/com/openeggbert/lwjgl3/debugging/storage/DesktopStorageCommandLineScanner.java
index 311a543..09bd08f 100644
--- a/lwjgl3/src/main/java/com/openeggbert/lwjgl3/debugging/storage/DesktopStorageCommandLineScanner.java
+++ b/lwjgl3/src/main/java/com/openeggbert/lwjgl3/debugging/storage/DesktopStorageCommandLineScanner.java
@@ -19,9 +19,9 @@
///////////////////////////////////////////////////////////////////////////////////////////////
package com.openeggbert.lwjgl3.debugging.storage;
-import com.openeggbert.storage.filesystem.command.StorageCommandLine;
-import com.openeggbert.storage.filesystem.command.StorageCommandLineScanner;
-import com.openeggbert.storage.map.MemoryStorage;
+import com.openeggbert.gdx.storage.command.StorageCommandLine;
+import com.openeggbert.gdx.storage.command.StorageCommandLineScanner;
+import com.openeggbert.gdx.storage.map.MemoryStorage;
/**
*