diff --git a/.gitignore b/.gitignore
index 5c1e5c8..86dd090 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,6 +5,7 @@ gradle-app.setting
/android/build/
/core/build/
/pixel/build/
+/pixel-libgdx-backend/build/
/lwjgl2/build/
/lwjgl3/build/
/html/build/
diff --git a/android/build.gradle b/android/build.gradle
index 16b5fd4..8f588d7 100644
--- a/android/build.gradle
+++ b/android/build.gradle
@@ -58,6 +58,7 @@ dependencies {
implementation "com.github.MrStahlfelge.gdx-websockets:common:$websocketVersion"
implementation project(':core')
implementation project(':pixel')
+ implementation project(':pixel-libgdx-backend')
//implementation "com.openeggbert.gdx:gdx-storage:0.0.0-SNAPSHOT"
natives "com.badlogicgames.gdx:gdx-box2d-platform:$gdxVersion:natives-arm64-v8a"
diff --git a/android/src/main/java/com/openeggbert/android/AndroidLauncher.java b/android/src/main/java/com/openeggbert/android/AndroidLauncher.java
index 90e03ab..dd53a10 100644
--- a/android/src/main/java/com/openeggbert/android/AndroidLauncher.java
+++ b/android/src/main/java/com/openeggbert/android/AndroidLauncher.java
@@ -5,6 +5,8 @@ import android.os.Bundle;
import com.badlogic.gdx.backends.android.AndroidApplication;
import com.badlogic.gdx.backends.android.AndroidApplicationConfiguration;
import com.openeggbert.core.main.OpenEggbertGame;
+import com.pixelgamelibrary.Pixel;
+import com.pixelgamelibrary.backends.libgdx.PixelLibGDXBackend;
/** Launches the Android application. */
public class AndroidLauncher extends AndroidApplication {
@@ -13,6 +15,7 @@ public class AndroidLauncher extends AndroidApplication {
super.onCreate(savedInstanceState);
AndroidApplicationConfiguration configuration = new AndroidApplicationConfiguration();
configuration.useImmersiveMode = true; // Recommended, but not required.
+ Pixel.initBackend(new PixelLibGDXBackend());
initialize(new OpenEggbertGame(), configuration);
}
}
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index 9089f0d..25f6348 100644
--- a/build.gradle
+++ b/build.gradle
@@ -61,6 +61,9 @@ subprojects {
if (project.name == 'pixel') {
ext.appName = 'pixel'
}
+ if (project.name == 'pixel-libgdx-backend') {
+ ext.appName = 'pixel-libgdx-backend'
+ }
repositories {
mavenCentral()
maven { url 'https://s01.oss.sonatype.org' }
diff --git a/core/src/main/java/com/openeggbert/core/main/OpenEggbertGame.java b/core/src/main/java/com/openeggbert/core/main/OpenEggbertGame.java
index 81f350f..2cf303e 100644
--- a/core/src/main/java/com/openeggbert/core/main/OpenEggbertGame.java
+++ b/core/src/main/java/com/openeggbert/core/main/OpenEggbertGame.java
@@ -37,12 +37,10 @@ import com.openeggbert.core.mod.ModIdentification;
import com.openeggbert.core.screen.GameSpaceListScreen;
import com.openeggbert.core.screen.InitScreen;
import com.pixelgamelibrary.storage.Storage;
-import com.pixelgamelibrary.backends.libgdx.storage.StorageFactory;
import com.openeggbert.core.configuration.OpenEggbertDisplayMode;
import com.pixelgamelibrary.Game;
import com.openeggbert.core.utils.OpenEggbertUtils;
import com.pixelgamelibrary.Pixel;
-import com.pixelgamelibrary.backends.libgdx.PixelLibGDXBackend;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
@@ -84,13 +82,12 @@ public class OpenEggbertGame extends Game {
public OpenEggbertGame(GameSpace gameSpace, String absolutePathOfRootDirectoryIn) {
this.gameSpace = gameSpace;
this.absolutePathOfRootDirectory = absolutePathOfRootDirectoryIn;
- Pixel.setBackend(new PixelLibGDXBackend());
}
public Storage getStorage() {
if(storage == null) {
- this.storage = StorageFactory.getStorage();
+ this.storage = Pixel.storage().getStorage();
}
return storage;
}
diff --git a/html/build.gradle b/html/build.gradle
index 3c07422..b56b7fc 100644
--- a/html/build.gradle
+++ b/html/build.gradle
@@ -49,6 +49,7 @@ dependencies {
implementation "de.golfgl.gdxcontrollerutils:gdx-controllerutils-mapping:$controllerMappingVersion:sources"
implementation project(':core')
implementation project(':pixel')
+ implementation project(':pixel-libgdx-backend')
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"}
@@ -149,6 +150,7 @@ task addSource {
doLast {
sourceSets.main.compileClasspath += files(project(':core').sourceSets.main.allJava.srcDirs)
sourceSets.main.compileClasspath += files(project(':pixel').sourceSets.main.allJava.srcDirs)
+ sourceSets.main.compileClasspath += files(project(':pixel-libgdx-backend').sourceSets.main.allJava.srcDirs)
sourceSets.main.compileClasspath += files("../core/build/generated/sources/annotationProcessor/java/main")
}
diff --git a/html/src/main/java/com/openeggbert/GdxDefinition.gwt.xml b/html/src/main/java/com/openeggbert/GdxDefinition.gwt.xml
index 50d68c4..3b277c3 100644
--- a/html/src/main/java/com/openeggbert/GdxDefinition.gwt.xml
+++ b/html/src/main/java/com/openeggbert/GdxDefinition.gwt.xml
@@ -24,6 +24,7 @@
+
diff --git a/html/src/main/java/com/openeggbert/gwt/GwtLauncher.java b/html/src/main/java/com/openeggbert/gwt/GwtLauncher.java
index a2d31d6..dac91d7 100644
--- a/html/src/main/java/com/openeggbert/gwt/GwtLauncher.java
+++ b/html/src/main/java/com/openeggbert/gwt/GwtLauncher.java
@@ -5,6 +5,8 @@ import com.badlogic.gdx.backends.gwt.GwtApplication;
import com.badlogic.gdx.backends.gwt.GwtApplicationConfiguration;
import com.openeggbert.core.configuration.ScreenResolution;
import com.openeggbert.core.main.OpenEggbertGame;
+import com.pixelgamelibrary.Pixel;
+import com.pixelgamelibrary.backends.libgdx.PixelLibGDXBackend;
/** Launches the GWT application. */
public class GwtLauncher extends GwtApplication {
@@ -17,6 +19,7 @@ public class GwtLauncher extends GwtApplication {
//return cfg;
// If you want a fixed size application, comment out the above resizable section,
// and uncomment below:
+ Pixel.initBackend(new PixelLibGDXBackend());
return new GwtApplicationConfiguration(ScreenResolution.VGA.getWidth(), ScreenResolution.VGA.getHeight());
}
diff --git a/lwjgl3/build.gradle b/lwjgl3/build.gradle
index b6ba409..d878a47 100644
--- a/lwjgl3/build.gradle
+++ b/lwjgl3/build.gradle
@@ -34,6 +34,7 @@ dependencies {
//implementation "com.openeggbert.gdx:gdx-storage:0.0.0-SNAPSHOT"
implementation project(':core')
implementation project(':pixel')
+ implementation project(':pixel-libgdx-backend')
}
def jarName = "${appName}-${version}.jar"
diff --git a/lwjgl3/src/main/java/com/openeggbert/lwjgl3/Lwjgl3Launcher.java b/lwjgl3/src/main/java/com/openeggbert/lwjgl3/Lwjgl3Launcher.java
index 95f1439..e91e8ac 100644
--- a/lwjgl3/src/main/java/com/openeggbert/lwjgl3/Lwjgl3Launcher.java
+++ b/lwjgl3/src/main/java/com/openeggbert/lwjgl3/Lwjgl3Launcher.java
@@ -25,11 +25,14 @@ import com.badlogic.gdx.backends.lwjgl3.Lwjgl3ApplicationConfiguration;
import com.openeggbert.core.configuration.ScreenResolution;
import com.openeggbert.core.main.OpenEggbertGame;
import com.openeggbert.core.gamespace.GameSpace;
+import com.pixelgamelibrary.Pixel;
+import com.pixelgamelibrary.backends.libgdx.PixelLibGDXBackend;
import java.util.Optional;
/** Launches the desktop (LWJGL3) application. */
public class Lwjgl3Launcher {
public static void main(String[] args) {
+ Pixel.initBackend(new PixelLibGDXBackend());
if (StartupHelper.startNewJvmIfRequired()) return; // This handles macOS support and helps on Windows.
createApplication();
}
diff --git a/pixel-libgdx-backend/build.gradle b/pixel-libgdx-backend/build.gradle
new file mode 100644
index 0000000..45d2cc1
--- /dev/null
+++ b/pixel-libgdx-backend/build.gradle
@@ -0,0 +1,32 @@
+[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'
+//eclipse.project.name = appName + '-core'
+eclipse.project.name = 'pixel-libgdx-backend'
+
+sourceSets.test.java.srcDirs = [ "src/test/java/" ]
+
+dependencies {
+ api "com.badlogicgames.gdx-controllers:gdx-controllers-core:$gdxControllersVersion"
+ api "com.badlogicgames.gdx:gdx-ai:$aiVersion"
+ api "com.badlogicgames.gdx:gdx-box2d:$gdxVersion"
+ api "com.badlogicgames.gdx:gdx:$gdxVersion"
+ api "com.github.MrStahlfelge.gdx-websockets:core:$websocketVersion"
+ api "com.github.MrStahlfelge.gdx-websockets:serialization:$websocketSerializationVersion"
+ api "com.github.crykn.guacamole:core:$guacamoleVersion"
+ api "com.github.crykn.guacamole:gdx:$guacamoleVersion"
+ api "com.github.tommyettinger:formic:$formicVersion"
+ api "com.github.tommyettinger:libgdx-utils-box2d:$utilsBox2dVersion"
+ 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"
+ annotationProcessor "org.projectlombok:lombok:$lombokVersion"
+ compileOnly "org.projectlombok:lombok:$lombokVersion"
+ testImplementation "org.junit.jupiter:junit-jupiter-api:5.10.3"
+ testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.10.3"
+ implementation project(':pixel')
+}
+
+test {
+ useJUnitPlatform {
+ }
+}
diff --git a/pixel/src/main/java/com/pixelgamelibrary/backends/libgdx/AppLibGDXImpl.java b/pixel-libgdx-backend/src/main/java/com/pixelgamelibrary/backends/libgdx/AppLibGDXImpl.java
similarity index 100%
rename from pixel/src/main/java/com/pixelgamelibrary/backends/libgdx/AppLibGDXImpl.java
rename to pixel-libgdx-backend/src/main/java/com/pixelgamelibrary/backends/libgdx/AppLibGDXImpl.java
diff --git a/pixel/src/main/java/com/pixelgamelibrary/backends/libgdx/AssetLibGDXImpl.java b/pixel-libgdx-backend/src/main/java/com/pixelgamelibrary/backends/libgdx/AssetLibGDXImpl.java
similarity index 100%
rename from pixel/src/main/java/com/pixelgamelibrary/backends/libgdx/AssetLibGDXImpl.java
rename to pixel-libgdx-backend/src/main/java/com/pixelgamelibrary/backends/libgdx/AssetLibGDXImpl.java
diff --git a/pixel/src/main/java/com/pixelgamelibrary/backends/libgdx/AudioLibGDXImpl.java b/pixel-libgdx-backend/src/main/java/com/pixelgamelibrary/backends/libgdx/AudioLibGDXImpl.java
similarity index 100%
rename from pixel/src/main/java/com/pixelgamelibrary/backends/libgdx/AudioLibGDXImpl.java
rename to pixel-libgdx-backend/src/main/java/com/pixelgamelibrary/backends/libgdx/AudioLibGDXImpl.java
diff --git a/pixel/src/main/java/com/pixelgamelibrary/backends/libgdx/ElementLibGDXImpl.java b/pixel-libgdx-backend/src/main/java/com/pixelgamelibrary/backends/libgdx/ElementLibGDXImpl.java
similarity index 100%
rename from pixel/src/main/java/com/pixelgamelibrary/backends/libgdx/ElementLibGDXImpl.java
rename to pixel-libgdx-backend/src/main/java/com/pixelgamelibrary/backends/libgdx/ElementLibGDXImpl.java
diff --git a/pixel/src/main/java/com/pixelgamelibrary/backends/libgdx/GraphicsLibGDXImpl.java b/pixel-libgdx-backend/src/main/java/com/pixelgamelibrary/backends/libgdx/GraphicsLibGDXImpl.java
similarity index 100%
rename from pixel/src/main/java/com/pixelgamelibrary/backends/libgdx/GraphicsLibGDXImpl.java
rename to pixel-libgdx-backend/src/main/java/com/pixelgamelibrary/backends/libgdx/GraphicsLibGDXImpl.java
diff --git a/pixel/src/main/java/com/pixelgamelibrary/backends/libgdx/InputLibGDXImpl.java b/pixel-libgdx-backend/src/main/java/com/pixelgamelibrary/backends/libgdx/InputLibGDXImpl.java
similarity index 100%
rename from pixel/src/main/java/com/pixelgamelibrary/backends/libgdx/InputLibGDXImpl.java
rename to pixel-libgdx-backend/src/main/java/com/pixelgamelibrary/backends/libgdx/InputLibGDXImpl.java
diff --git a/pixel/src/main/java/com/pixelgamelibrary/backends/libgdx/NetLibGDXImpl.java b/pixel-libgdx-backend/src/main/java/com/pixelgamelibrary/backends/libgdx/NetLibGDXImpl.java
similarity index 100%
rename from pixel/src/main/java/com/pixelgamelibrary/backends/libgdx/NetLibGDXImpl.java
rename to pixel-libgdx-backend/src/main/java/com/pixelgamelibrary/backends/libgdx/NetLibGDXImpl.java
diff --git a/pixel-libgdx-backend/src/main/java/com/pixelgamelibrary/backends/libgdx/PixelLibGDXBackend.gwt.xml b/pixel-libgdx-backend/src/main/java/com/pixelgamelibrary/backends/libgdx/PixelLibGDXBackend.gwt.xml
new file mode 100644
index 0000000..8dd5046
--- /dev/null
+++ b/pixel-libgdx-backend/src/main/java/com/pixelgamelibrary/backends/libgdx/PixelLibGDXBackend.gwt.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pixel/src/main/java/com/pixelgamelibrary/backends/libgdx/PixelLibGDXBackend.java b/pixel-libgdx-backend/src/main/java/com/pixelgamelibrary/backends/libgdx/PixelLibGDXBackend.java
similarity index 100%
rename from pixel/src/main/java/com/pixelgamelibrary/backends/libgdx/PixelLibGDXBackend.java
rename to pixel-libgdx-backend/src/main/java/com/pixelgamelibrary/backends/libgdx/PixelLibGDXBackend.java
diff --git a/pixel/src/main/java/com/pixelgamelibrary/backends/libgdx/StorageLibGDXImpl.java b/pixel-libgdx-backend/src/main/java/com/pixelgamelibrary/backends/libgdx/StorageLibGDXImpl.java
similarity index 85%
rename from pixel/src/main/java/com/pixelgamelibrary/backends/libgdx/StorageLibGDXImpl.java
rename to pixel-libgdx-backend/src/main/java/com/pixelgamelibrary/backends/libgdx/StorageLibGDXImpl.java
index 0db007e..c307f0e 100644
--- a/pixel/src/main/java/com/pixelgamelibrary/backends/libgdx/StorageLibGDXImpl.java
+++ b/pixel-libgdx-backend/src/main/java/com/pixelgamelibrary/backends/libgdx/StorageLibGDXImpl.java
@@ -20,6 +20,8 @@
package com.pixelgamelibrary.backends.libgdx;
import com.pixelgamelibrary.api.StorageI;
+import com.pixelgamelibrary.backends.libgdx.storage.StorageFactory;
+import com.pixelgamelibrary.storage.Storage;
/**
*
@@ -27,6 +29,11 @@ import com.pixelgamelibrary.api.StorageI;
*/
public class StorageLibGDXImpl implements StorageI {
+ @Override
+ public Storage getStorage() {
+ return StorageFactory.getStorage();
+ }
+
}
diff --git a/pixel/src/main/java/com/pixelgamelibrary/backends/libgdx/UtilsLibGDXImpl.java b/pixel-libgdx-backend/src/main/java/com/pixelgamelibrary/backends/libgdx/UtilsLibGDXImpl.java
similarity index 100%
rename from pixel/src/main/java/com/pixelgamelibrary/backends/libgdx/UtilsLibGDXImpl.java
rename to pixel-libgdx-backend/src/main/java/com/pixelgamelibrary/backends/libgdx/UtilsLibGDXImpl.java
diff --git a/pixel/src/main/java/com/pixelgamelibrary/backends/libgdx/storage/AndroidStorage.java b/pixel-libgdx-backend/src/main/java/com/pixelgamelibrary/backends/libgdx/storage/AndroidStorage.java
similarity index 100%
rename from pixel/src/main/java/com/pixelgamelibrary/backends/libgdx/storage/AndroidStorage.java
rename to pixel-libgdx-backend/src/main/java/com/pixelgamelibrary/backends/libgdx/storage/AndroidStorage.java
diff --git a/pixel/src/main/java/com/pixelgamelibrary/backends/libgdx/storage/DesktopAndroidStorage.java b/pixel-libgdx-backend/src/main/java/com/pixelgamelibrary/backends/libgdx/storage/DesktopAndroidStorage.java
similarity index 100%
rename from pixel/src/main/java/com/pixelgamelibrary/backends/libgdx/storage/DesktopAndroidStorage.java
rename to pixel-libgdx-backend/src/main/java/com/pixelgamelibrary/backends/libgdx/storage/DesktopAndroidStorage.java
diff --git a/pixel/src/main/java/com/pixelgamelibrary/backends/libgdx/storage/DesktopStorage.java b/pixel-libgdx-backend/src/main/java/com/pixelgamelibrary/backends/libgdx/storage/DesktopStorage.java
similarity index 100%
rename from pixel/src/main/java/com/pixelgamelibrary/backends/libgdx/storage/DesktopStorage.java
rename to pixel-libgdx-backend/src/main/java/com/pixelgamelibrary/backends/libgdx/storage/DesktopStorage.java
diff --git a/pixel/src/main/java/com/pixelgamelibrary/backends/libgdx/storage/SimpleLocalStorageMap.java b/pixel-libgdx-backend/src/main/java/com/pixelgamelibrary/backends/libgdx/storage/SimpleLocalStorageMap.java
similarity index 100%
rename from pixel/src/main/java/com/pixelgamelibrary/backends/libgdx/storage/SimpleLocalStorageMap.java
rename to pixel-libgdx-backend/src/main/java/com/pixelgamelibrary/backends/libgdx/storage/SimpleLocalStorageMap.java
diff --git a/pixel/src/main/java/com/pixelgamelibrary/backends/libgdx/storage/StorageFactory.java b/pixel-libgdx-backend/src/main/java/com/pixelgamelibrary/backends/libgdx/storage/StorageFactory.java
similarity index 100%
rename from pixel/src/main/java/com/pixelgamelibrary/backends/libgdx/storage/StorageFactory.java
rename to pixel-libgdx-backend/src/main/java/com/pixelgamelibrary/backends/libgdx/storage/StorageFactory.java
diff --git a/pixel/src/main/java/com/pixelgamelibrary/backends/libgdx/storage/WebGLStorage.java b/pixel-libgdx-backend/src/main/java/com/pixelgamelibrary/backends/libgdx/storage/WebGLStorage.java
similarity index 100%
rename from pixel/src/main/java/com/pixelgamelibrary/backends/libgdx/storage/WebGLStorage.java
rename to pixel-libgdx-backend/src/main/java/com/pixelgamelibrary/backends/libgdx/storage/WebGLStorage.java
diff --git a/pixel-libgdx-backend/src/test/java/com/pixelgamelibrary/.gitkeep b/pixel-libgdx-backend/src/test/java/com/pixelgamelibrary/.gitkeep
new file mode 100644
index 0000000..8d1c8b6
--- /dev/null
+++ b/pixel-libgdx-backend/src/test/java/com/pixelgamelibrary/.gitkeep
@@ -0,0 +1 @@
+
diff --git a/pixel/src/main/java/com/pixelgamelibrary/Pixel.java b/pixel/src/main/java/com/pixelgamelibrary/Pixel.java
index 62b7791..89e8c3d 100644
--- a/pixel/src/main/java/com/pixelgamelibrary/Pixel.java
+++ b/pixel/src/main/java/com/pixelgamelibrary/Pixel.java
@@ -79,7 +79,7 @@ public class Pixel {
}
////
- public static void setBackend(PixelBackend pixelBackend) {
+ public static void initBackend(PixelBackend pixelBackend) {
if (isBackendSet()) {
throw new PixelException("Pixel Backend was already set");
}
diff --git a/pixel/src/main/java/com/pixelgamelibrary/api/StorageI.java b/pixel/src/main/java/com/pixelgamelibrary/api/StorageI.java
index 12b4dac..f8ee616 100644
--- a/pixel/src/main/java/com/pixelgamelibrary/api/StorageI.java
+++ b/pixel/src/main/java/com/pixelgamelibrary/api/StorageI.java
@@ -19,10 +19,12 @@
///////////////////////////////////////////////////////////////////////////////////////////////
package com.pixelgamelibrary.api;
+import com.pixelgamelibrary.storage.Storage;
+
/**
*
* @author robertvokac
*/
public interface StorageI {
-
+ Storage getStorage();
}
diff --git a/settings.gradle b/settings.gradle
index a7984f0..054d268 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -1,4 +1,4 @@
// A list of which subprojects to load as part of the same larger project.
// You can remove Strings from the list and reload the Gradle project
// if you want to temporarily disable a subproject.
-include 'lwjgl3', 'android', 'html', 'core', 'pixel'
+include 'lwjgl3', 'android', 'html', 'core', 'pixel', 'pixel-libgdx-backend'