diff --git a/README.md b/README.md
index 93e5e754..c7d52896 100644
--- a/README.md
+++ b/README.md
@@ -30,16 +30,19 @@ Requirements;
* 8GB of free memory
* Setup a DAT Hyperdrive tool [drives](https://github.com/holepunchto/drives)
-* Use an AdoptOpenJDK(11++) to run the demo
-* install local copy of nx01 maven artifacts
+* run `mvn install` in local copy of nx01 project
-### Project Launch IDE
+### Project Launch
-Run "mvn package" after every git pull.
+Test launch from command line;
-Run the main class from gdxapp4d-boot-desktop; love.distributedrebirth.gdxapp4d.boot.desktop.GDXAppDesktopLauncher
+```
+mvn verify -P test-none,run
+```
-Append "use-local" to the main launcher to use the local chains. (as the real are fake)
+In an IDE setup an runner with the main class from gdxapp4d-boot-desktop module; `love.distributedrebirth.gdxapp4d.boot.desktop.GDXAppDesktopLauncher`
+
+And append `use-local` as an argument of the main launcher to use the local chains. (as the real are fake)
## Duytschen Code
diff --git a/gdxapp4d-app-mmdoc/src/main/java/love/distributedrebirth/gdxapp4d/app/mmdoc/MMDocDeskApp.java b/gdxapp4d-app-mmdoc/src/main/java/love/distributedrebirth/gdxapp4d/app/mmdoc/MMDocDeskApp.java
index d1763767..075d69e0 100644
--- a/gdxapp4d-app-mmdoc/src/main/java/love/distributedrebirth/gdxapp4d/app/mmdoc/MMDocDeskApp.java
+++ b/gdxapp4d-app-mmdoc/src/main/java/love/distributedrebirth/gdxapp4d/app/mmdoc/MMDocDeskApp.java
@@ -36,15 +36,15 @@ import org.apache.metamodel.DataContext;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.files.FileHandle;
+import games.spooky.gdx.nativefilechooser.NativeFileChooser;
+import games.spooky.gdx.nativefilechooser.NativeFileChooserCallback;
+import games.spooky.gdx.nativefilechooser.NativeFileChooserConfiguration;
import imgui.ImGui;
import imgui.flag.ImGuiTableFlags;
import imgui.type.ImString;
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.AbstractDeskApp;
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppContourSection;
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppRenderer;
-import net.spookygames.gdx.nativefilechooser.NativeFileChooser;
-import net.spookygames.gdx.nativefilechooser.NativeFileChooserCallback;
-import net.spookygames.gdx.nativefilechooser.NativeFileChooserConfiguration;
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注;
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
diff --git a/gdxapp4d-app-tosamp/src/main/java/love/distributedrebirth/gdxapp4d/app/tosamp/TosAmpDeskApp.java b/gdxapp4d-app-tosamp/src/main/java/love/distributedrebirth/gdxapp4d/app/tosamp/TosAmpDeskApp.java
index 5cd343ca..9a8b5f5c 100644
--- a/gdxapp4d-app-tosamp/src/main/java/love/distributedrebirth/gdxapp4d/app/tosamp/TosAmpDeskApp.java
+++ b/gdxapp4d-app-tosamp/src/main/java/love/distributedrebirth/gdxapp4d/app/tosamp/TosAmpDeskApp.java
@@ -35,6 +35,9 @@ import org.osgi.framework.BundleContext;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.files.FileHandle;
+import games.spooky.gdx.nativefilechooser.NativeFileChooser;
+import games.spooky.gdx.nativefilechooser.NativeFileChooserCallback;
+import games.spooky.gdx.nativefilechooser.NativeFileChooserConfiguration;
import imgui.ImGui;
import imgui.flag.ImGuiSelectableFlags;
import imgui.flag.ImGuiTableColumnFlags;
@@ -45,9 +48,6 @@ import love.distributedrebirth.gdxapp4d.tos4.service.SystemWarpShip;
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.AbstractDeskApp;
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppContourSection;
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppRenderer;
-import net.spookygames.gdx.nativefilechooser.NativeFileChooser;
-import net.spookygames.gdx.nativefilechooser.NativeFileChooserCallback;
-import net.spookygames.gdx.nativefilechooser.NativeFileChooserConfiguration;
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注;
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
diff --git a/gdxapp4d-boot-desktop/.pom-poop-enforcer b/gdxapp4d-boot-desktop/.pom-poop-enforcer
new file mode 100644
index 00000000..3d6e0605
--- /dev/null
+++ b/gdxapp4d-boot-desktop/.pom-poop-enforcer
@@ -0,0 +1 @@
+Used to activate pom profiles only here.
\ No newline at end of file
diff --git a/gdxapp4d-boot-desktop/Warpship/local-override.xml b/gdxapp4d-boot-desktop/Warpship/local-override.xml
new file mode 100644
index 00000000..b803f1b1
--- /dev/null
+++ b/gdxapp4d-boot-desktop/Warpship/local-override.xml
@@ -0,0 +1,27 @@
+
+
+
+ ../../gdxapp4d-chain-boot-ship-engine/target/chain
+ ../../gdxapp4d-chain-boot-warp-sea/target/chain
+
+ ../../gdxapp4d-chain-dep-osgi-lib/target/chain
+ ../../gdxapp4d-chain-dep-osgi-scr/target/chain
+ ../../gdxapp4d-chain-font-unicode4d/target/chain
+ ../../gdxapp4d-chain-default-music/target/chain
+ ../../gdxapp4d-chain-default-apps/target/chain
+ ../../gdxapp4d-app-calculator/target/classes
+ ../../gdxapp4d-app-hewallet/target/classes
+ ../../gdxapp4d-app-tosamp/target/classes
+ ../../gdxapp4d-app-notepad/target/classes
+ ../../gdxapp4d-app-glyphdemo/target/classes
+ ../../gdxapp4d-app-mmdoc/target/classes
+
+ ../../gdxapp4d-chain-mod-vrgem4/target/chain
+ ../../gdxapp4d-vrgem4/target/classes
+
+ ../../gdxapp4d-chain-mod-vrsys5/target/chain
+ ../../gdxapp4d-vrsys5/target/classes
+
+ ../../gdxapp4d-chain-mod-unitxc/target/chain
+ ../../gdxapp4d-unitxc/target/classes
+
diff --git a/gdxapp4d-boot-desktop/Warpship/logback.xml b/gdxapp4d-boot-desktop/Warpship/logback.xml
index 8a6b1305..2a5a4e18 100644
--- a/gdxapp4d-boot-desktop/Warpship/logback.xml
+++ b/gdxapp4d-boot-desktop/Warpship/logback.xml
@@ -27,5 +27,8 @@
+
+
+
diff --git a/gdxapp4d-boot-desktop/local-override.xml b/gdxapp4d-boot-desktop/local-override.xml
deleted file mode 100644
index ae9ebddd..00000000
--- a/gdxapp4d-boot-desktop/local-override.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
- ../gdxapp4d-chain-boot-ship-engine/target/chain
- ../gdxapp4d-chain-boot-warp-sea/target/chain
-
- ../gdxapp4d-chain-dep-osgi-lib/target/chain
- ../gdxapp4d-chain-dep-osgi-scr/target/chain
- ../gdxapp4d-chain-font-unicode4d/target/chain
- ../gdxapp4d-chain-default-music/target/chain
- ../gdxapp4d-chain-default-apps/target/chain
- ../gdxapp4d-app-calculator/target/classes
- ../gdxapp4d-app-hewallet/target/classes
- ../gdxapp4d-app-tosamp/target/classes
- ../gdxapp4d-app-notepad/target/classes
- ../gdxapp4d-app-glyphdemo/target/classes
- ../gdxapp4d-app-mmdoc/target/classes
-
- ../gdxapp4d-chain-mod-vrgem4/target/chain
- ../gdxapp4d-vrgem4/target/classes
-
- ../gdxapp4d-chain-mod-vrsys5/target/chain
- ../gdxapp4d-vrsys5/target/classes
-
- ../gdxapp4d-chain-mod-unitxc/target/chain
- ../gdxapp4d-unitxc/target/classes
-
diff --git a/gdxapp4d-boot-desktop/pom.xml b/gdxapp4d-boot-desktop/pom.xml
index 83e14c58..d02fb2a2 100644
--- a/gdxapp4d-boot-desktop/pom.xml
+++ b/gdxapp4d-boot-desktop/pom.xml
@@ -1,4 +1,5 @@
-
+
4.0.0
love.distributedrebirth.gdxapp4d
@@ -13,6 +14,11 @@
gdxapp4d-tos4
${project.version}
+
+ com.badlogicgames.gdx
+ gdx-platform
+ natives-desktop
+
com.badlogicgames.gdx
gdx-backend-lwjgl3
@@ -21,9 +27,43 @@
games.spooky.gdx
gdx-nativefilechooser-desktop
-
- org.slf4j
- jul-to-slf4j
-
+
+ org.slf4j
+ jul-to-slf4j
+
+
+ love.distributedrebirth.gdxapp4d
+ gdxapp4d-chain-boot-ship-engine
+ ${project.version}
+ pom
+ provided
+
+
+ love.distributedrebirth.gdxapp4d
+ gdxapp4d-chain-boot-warp-sea
+ ${project.version}
+ pom
+ provided
+
+
+
+ run
+
+
+
+ org.codehaus.mojo
+ exec-maven-plugin
+
+ love.distributedrebirth.gdxapp4d.boot.desktop.GDXAppDesktopLauncher
+
+ use-local
+ nosync
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/gdxapp4d-boot-desktop/src/main/java/love/distributedrebirth/gdxapp4d/boot/desktop/GDXAppDesktopLauncher.java b/gdxapp4d-boot-desktop/src/main/java/love/distributedrebirth/gdxapp4d/boot/desktop/GDXAppDesktopLauncher.java
index 2f9f2015..1420febe 100644
--- a/gdxapp4d-boot-desktop/src/main/java/love/distributedrebirth/gdxapp4d/boot/desktop/GDXAppDesktopLauncher.java
+++ b/gdxapp4d-boot-desktop/src/main/java/love/distributedrebirth/gdxapp4d/boot/desktop/GDXAppDesktopLauncher.java
@@ -37,8 +37,8 @@ import com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application;
import com.badlogic.gdx.backends.lwjgl3.Lwjgl3ApplicationConfiguration;
import ch.qos.logback.core.status.NopStatusListener;
+import games.spooky.gdx.nativefilechooser.desktop.DesktopFileChooser;
import love.distributedrebirth.gdxapp4d.tos4.GDXAppTos4;
-import net.spookygames.gdx.nativefilechooser.desktop.DesktopFileChooser;
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注;
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ꕢꕌꔳꕺꖃꕯꕮꕊ;
diff --git a/gdxapp4d-chain-boot-ship-engine/pom.xml b/gdxapp4d-chain-boot-ship-engine/pom.xml
index ac67f782..bb6c9c3d 100644
--- a/gdxapp4d-chain-boot-ship-engine/pom.xml
+++ b/gdxapp4d-chain-boot-ship-engine/pom.xml
@@ -8,6 +8,29 @@
gdxapp4d-chain-boot-ship-engine
GDXApp⁴ᴰ-Chain-Boot-Ship-محرك
pom
+
+
+ love.distributedrebirth.gdxapp4d
+ gdxapp4d-chain-font-unicode4d
+ ${project.version}
+ pom
+ provided
+
+
+ love.distributedrebirth.gdxapp4d
+ gdxapp4d-chain-dep-osgi-scr
+ ${project.version}
+ pom
+ provided
+
+
+ love.distributedrebirth.gdxapp4d
+ gdxapp4d-chain-mod-vrgem4
+ ${project.version}
+ pom
+ provided
+
+
diff --git a/gdxapp4d-chain-boot-warp-sea/pom.xml b/gdxapp4d-chain-boot-warp-sea/pom.xml
index f0cad820..dd5fced3 100644
--- a/gdxapp4d-chain-boot-warp-sea/pom.xml
+++ b/gdxapp4d-chain-boot-warp-sea/pom.xml
@@ -8,6 +8,43 @@
gdxapp4d-chain-boot-warp-sea
GDXApp⁴ᴰ-Chain-Boot-Warp-ค่าเริ่มต้น
pom
+
+
+ love.distributedrebirth.gdxapp4d
+ gdxapp4d-chain-dep-osgi-lib
+ ${project.version}
+ pom
+ provided
+
+
+ love.distributedrebirth.gdxapp4d
+ gdxapp4d-chain-mod-unitxc
+ ${project.version}
+ pom
+ provided
+
+
+ love.distributedrebirth.gdxapp4d
+ gdxapp4d-chain-mod-vrsys5
+ ${project.version}
+ pom
+ provided
+
+
+ love.distributedrebirth.gdxapp4d
+ gdxapp4d-chain-default-apps
+ ${project.version}
+ pom
+ provided
+
+
+ love.distributedrebirth.gdxapp4d
+ gdxapp4d-chain-default-music
+ ${project.version}
+ pom
+ provided
+
+
diff --git a/gdxapp4d-chain-dep-osgi-lib/pom.xml b/gdxapp4d-chain-dep-osgi-lib/pom.xml
index 9975f5ee..171bd368 100644
--- a/gdxapp4d-chain-dep-osgi-lib/pom.xml
+++ b/gdxapp4d-chain-dep-osgi-lib/pom.xml
@@ -33,6 +33,10 @@
com.fasterxml.jackson.core
jackson-databind
+
+ org.apache.aries.spifly
+ org.apache.aries.spifly.dynamic.bundle
+
@@ -63,6 +67,12 @@
+
+
+
+
+
+
diff --git a/gdxapp4d-chain-dep-osgi-lib/src/main/chain/warp-hash.xml b/gdxapp4d-chain-dep-osgi-lib/src/main/chain/warp-hash.xml
index b2930142..e4e6f5c2 100644
--- a/gdxapp4d-chain-dep-osgi-lib/src/main/chain/warp-hash.xml
+++ b/gdxapp4d-chain-dep-osgi-lib/src/main/chain/warp-hash.xml
@@ -4,6 +4,12 @@
xmlns:soft="http://warp-hash.x4o.distributedrebirth.love/xml/ns/warp-hash-soft"
xsi:schemaLocation="http://wrap-core.x4o.distributedrebirth.love/xml/ns/warp-hash-root http://warp-hash.x4o.distributedrebirth.love/xml/ns/warp-hash-root-1.0.xsd">
+
+
+
+
+
+
diff --git a/gdxapp4d-chain-dep-osgi-lib/src/main/chain/warp-sea.xml b/gdxapp4d-chain-dep-osgi-lib/src/main/chain/warp-sea.xml
index b49c85d5..2cb9cfe4 100644
--- a/gdxapp4d-chain-dep-osgi-lib/src/main/chain/warp-sea.xml
+++ b/gdxapp4d-chain-dep-osgi-lib/src/main/chain/warp-sea.xml
@@ -4,6 +4,12 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://wrap-sea.x4o.distributedrebirth.love/xml/ns/warp-sea-root http://warp-sea.x4o.distributedrebirth.love/xml/ns/warp-sea-root-1.0.xsd">
+
+
+
+
+
+
diff --git a/gdxapp4d-chain-mod-vrgem4/pom.xml b/gdxapp4d-chain-mod-vrgem4/pom.xml
index 9565d886..34dbcbd7 100644
--- a/gdxapp4d-chain-mod-vrgem4/pom.xml
+++ b/gdxapp4d-chain-mod-vrgem4/pom.xml
@@ -63,7 +63,7 @@ Konsole: try selecting the text, unicode is broken
| | .'
| Mecca System eXtension | .'
| | .'
-| @Ω仙⁴ ˧꜏⋇꜊꜔ ⁴ﷲΩ@ | .'
+| @Ω仙⁴ ˧꜏⋇꜊꜔ ⁴ﷲΩ@ | .'
| ©Δ∞ 仙上主天 | .'
| בְּרֵאשִׁית :o: יְסוֺד :o: יִשְׂרָאֵל | .'
+-----------------------------+'
diff --git a/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/GDXAppTos4.java b/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/GDXAppTos4.java
index 4d8abf6c..bfa4294a 100644
--- a/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/GDXAppTos4.java
+++ b/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/GDXAppTos4.java
@@ -40,8 +40,8 @@ import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Screen;
import com.badlogic.gdx.utils.ScreenUtils;
+import games.spooky.gdx.nativefilechooser.NativeFileChooser;
import love.distributedrebirth.gdxapp4d.tos4.service.SystemGdxTerminal;
-import net.spookygames.gdx.nativefilechooser.NativeFileChooser;
import ᒢᐩᐩ.ᒃᣔᔆᔆᒃᐤᐤᣕ.ᒄᓫᣔᐪᑋ.ᔆᣖᑊᒄᓫᣗ.BãßBȍőnSpiderWireFly注;
import ᒢᐩᐩ.ᒃᣔᔆᔆᒃᐤᐤᣕ.ᒄᓫᣔᐪᑋ.ᔆᣖᑊᒄᓫᣗ.BãßBȍőnSpiderWire注;
import ᒢᐩᐩ.ᒃᣔᔆᔆᒃᐤᐤᣕ.ᔿᓑᔿᔿᔋᐝᣚ.BãßᛗᚢᛗᛗᛉVū́ǘrChaliceEnumShot𓄯;
diff --git a/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/GDXAppTos4Activator.java b/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/GDXAppTos4Activator.java
index 4ba8dc6c..408a1a49 100644
--- a/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/GDXAppTos4Activator.java
+++ b/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/GDXAppTos4Activator.java
@@ -40,6 +40,7 @@ import java.util.List;
import java.util.Properties;
import java.util.function.Consumer;
+import org.osgi.framework.Bundle;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
import org.osgi.framework.BundleException;
@@ -57,6 +58,7 @@ import com.badlogic.gdx.graphics.g2d.BitmapFont;
import com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator;
import com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator.FreeTypeFontParameter;
+import games.spooky.gdx.nativefilechooser.NativeFileChooser;
import love.distributedrebirth.gdxapp4d.tos4.service.SystemWarpBase;
import love.distributedrebirth.gdxapp4d.tos4.service.SystemGdxBootArgs;
import love.distributedrebirth.gdxapp4d.tos4.service.SystemGdxBootReadyListener;
@@ -73,7 +75,6 @@ import love.distributedrebirth.warpme.sea.WaterSeaChain;
import love.distributedrebirth.warpme.sea.WaterSeaMagic;
import love.distributedrebirth.warpme.ship.WaterDevice;
import love.distributedrebirth.warpme.ship.WaterDeviceDriver;
-import net.spookygames.gdx.nativefilechooser.NativeFileChooser;
import ᒢᐩᐩ.ᒃᣔᔆᔆᒃᐤᐤᣕ.Bãß;
import ᒢᐩᐩ.ᒃᣔᔆᔆᒃᐤᐤᣕ.ᒃᐤᣔᐪ.BãßBȍőnBőatWind;
import ᒢᐩᐩ.ᒃᣔᔆᔆᒃᐤᐤᣕ.ᒃᐤᣔᐪ.BãßBȍőnBőatWindKnots;
@@ -144,6 +145,9 @@ public class GDXAppTos4Activator implements BundleActivator {
boolean useLocal = args.contains("use-local");
warpshipHome = new File(".", WARPSHIP_HOME);
+ if (!warpshipHome.exists()) {
+ warpshipHome = new File("gdxapp4d-boot-desktop", WARPSHIP_HOME); // tmp for: mvn verify -P test-none,run
+ }
if (!warpshipHome.exists()) {
bootScreen.bootLineError("ERROR: No Warpship home.");
startError = true;
@@ -176,14 +180,19 @@ public class GDXAppTos4Activator implements BundleActivator {
localOverrides = new Properties();
if (useLocal) {
- File localOverride = new File("local-override.xml");
+ File localOverride = new File(warpshipHome, "local-override.xml");
if (localOverride.exists()) {
try {
localOverrides.loadFromXML(new FileInputStream(localOverride));
} catch (Exception e) {
throw new RuntimeException(e);
}
- bootScreen.bootLine("use-local: local-override.xml loaded.");
+ for (Object keyObj : localOverrides.keySet()) {
+ String key = String.class.cast(keyObj);
+ String value = localOverrides.getProperty(key);
+ localOverrides.setProperty(key, warpshipHome.getAbsolutePath() + "/" + value);
+ }
+ bootScreen.bootLine("use-local: local-override.xml loaded: " + localOverrides.size());
} else {
bootScreen.bootLine("use-local: local-override.xml not found.");
}
@@ -430,20 +439,24 @@ public class GDXAppTos4Activator implements BundleActivator {
for (SystemWarpSea service : registratedSeas) {
String key = service.getWarpKey();
File waterHome = service.getWarpHome();
+ List loaded = new ArrayList<>();
for (WaterSeaMagic magic:service.getWarpSea().theWater().getSeaMagics()) {
if ("application/vnd.osgi.bundle".equals(magic.getMime())) {
magic.setMime("application/vnd.osgi.bundle.loaded"); // TODO: HACK for now to not load again
String overrideBundleKey = key + "." + magic.getFile();
String overrideBundle = localOverrides.getProperty(overrideBundleKey);
if (overrideBundle == null) {
- LOG.debug("loadBundles: "+waterHome.getAbsolutePath()+"/"+magic.getFile());
- GDXAppTos4BootFactory.installAndStartBundles(context, "reference:file:"+waterHome.getAbsolutePath()+"/"+magic.getFile());
+ LOG.debug("loadBundle: "+waterHome.getAbsolutePath()+"/"+magic.getFile());
+ loaded.add(context.installBundle("reference:file:"+waterHome.getAbsolutePath()+"/"+magic.getFile()));
} else {
- LOG.debug("loadBundles: "+overrideBundle);
- GDXAppTos4BootFactory.installAndStartBundles(context, "reference:file:"+overrideBundle);
+ LOG.debug("loadBundle-local: "+overrideBundle);
+ loaded.add(context.installBundle("reference:file:"+overrideBundle));
}
}
}
+ for (Bundle b : loaded) {
+ b.start();
+ }
}
}
diff --git a/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/GDXAppTos4BootFactory.java b/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/GDXAppTos4BootFactory.java
index a3e193b3..4e01d15b 100644
--- a/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/GDXAppTos4BootFactory.java
+++ b/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/GDXAppTos4BootFactory.java
@@ -33,9 +33,6 @@ import java.util.HashMap;
import java.util.Map;
import java.util.ServiceLoader;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.BundleException;
import org.osgi.framework.Constants;
import org.osgi.framework.launch.Framework;
import org.osgi.framework.launch.FrameworkFactory;
@@ -44,13 +41,6 @@ import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAu
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public class GDXAppTos4BootFactory {
-
- public static void installAndStartBundles(BundleContext bundleContext, String... bundleLocations) throws BundleException {
- for (String location : bundleLocations) {
- Bundle addition = bundleContext.installBundle(location);
- addition.start();
- }
- }
public static Framework createFramework() {
return createFramework(buildConfig());
@@ -123,7 +113,7 @@ public class GDXAppTos4BootFactory {
"imgui.glfw,"+
"imgui.gl3,"+
"imgui.type,"+
- "net.spookygames.gdx.nativefilechooser,"+
+ "games.spooky.gdx.nativefilechooser,"+
"org.x4o.fc18,"+
"org.x4o.fc18.cake2,"+
"org.x4o.fc18.cake2.clk1k,"+
diff --git a/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/service/SystemGdxBootArgs.java b/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/service/SystemGdxBootArgs.java
index 6c79fd88..e68684f9 100644
--- a/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/service/SystemGdxBootArgs.java
+++ b/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/service/SystemGdxBootArgs.java
@@ -27,7 +27,7 @@
package love.distributedrebirth.gdxapp4d.tos4.service;
-import net.spookygames.gdx.nativefilechooser.NativeFileChooser;
+import games.spooky.gdx.nativefilechooser.NativeFileChooser;
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注;
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
diff --git a/gdxapp4d-vrgem4/src/main/java/love/distributedrebirth/gdxapp4d/vrgem4/GDXAppVrGem4Activator.java b/gdxapp4d-vrgem4/src/main/java/love/distributedrebirth/gdxapp4d/vrgem4/GDXAppVrGem4Activator.java
index 3813bbdc..7860bc86 100644
--- a/gdxapp4d-vrgem4/src/main/java/love/distributedrebirth/gdxapp4d/vrgem4/GDXAppVrGem4Activator.java
+++ b/gdxapp4d-vrgem4/src/main/java/love/distributedrebirth/gdxapp4d/vrgem4/GDXAppVrGem4Activator.java
@@ -68,14 +68,12 @@ public class GDXAppVrGem4Activator implements BundleActivator {
private static final int VIEW_SLEEP_TIME = 1234;
- private ImGuiSetup imguiSetup = new ImGuiSetup();
-
@Override
public void stop(final BundleContext context) {
Gdx.app.postRunnable(new Runnable() {
@Override
public void run() {
- imguiSetup.dispose();
+ ImGuiSetup.INSTANCE.dispose();
}
});
}
@@ -205,7 +203,7 @@ public class GDXAppVrGem4Activator implements BundleActivator {
Gdx.app.postRunnable(new Runnable() {
@Override
public void run() {
- imguiSetup.init(fonts, v -> bootScreen.bootLine(v));
+ ImGuiSetup.INSTANCE.init(fonts, v -> bootScreen.bootLine(v));
imLoaded.set(true);
}
});
diff --git a/gdxapp4d-vrgem4/src/main/java/love/distributedrebirth/gdxapp4d/vrgem4/ImGuiSetup.java b/gdxapp4d-vrgem4/src/main/java/love/distributedrebirth/gdxapp4d/vrgem4/ImGuiSetup.java
index f56aecd9..5962f08d 100644
--- a/gdxapp4d-vrgem4/src/main/java/love/distributedrebirth/gdxapp4d/vrgem4/ImGuiSetup.java
+++ b/gdxapp4d-vrgem4/src/main/java/love/distributedrebirth/gdxapp4d/vrgem4/ImGuiSetup.java
@@ -48,9 +48,11 @@ import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAu
* Create and shutdown of ImGui and font activations.
*/
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
-public class ImGuiSetup {
- public final static ImGuiImplGlfw imGuiImp = new ImGuiImplGlfw();
- public final static ImGuiImplGl3 imGuiGlImp = new ImGuiImplGl3();
+public enum ImGuiSetup {
+ INSTANCE,
+ ;
+ public final ImGuiImplGlfw imGuiImp = new ImGuiImplGlfw();
+ public final ImGuiImplGl3 imGuiGlImp = new ImGuiImplGl3();
public void init(List fonts, Consumer logger) {
long windowHandleᕯ = -1;
@@ -61,6 +63,7 @@ public class ImGuiSetup {
throw new RuntimeException(e);
}
ImGui.createContext();
+ //ImGui.getIO().getFonts().setFreeTypeRenderer(false);
initFonts(ImGui.getIO(), fonts, logger);
imGuiImp.init(windowHandleᕯ, true);
imGuiGlImp.init("#version 140");
@@ -86,13 +89,11 @@ public class ImGuiSetup {
final short[] glyphRanges = fontBuilder.buildRanges();
float fontSize = ImCharacter.HEIGHT;
- boolean first = true;
- for (File font: fonts) {
- logger.accept("Load font: "+font);
+ for (File font : fonts) {
+ logger.accept("Load font: " + font.getName());
io.getFonts().addFontFromMemoryTTF(Gdx.files.absolute(font.getAbsolutePath()).readBytes(), fontSize, fontConfig, glyphRanges);
- if (first) {
+ if (!fontConfig.getMergeMode()) {
fontConfig.setMergeMode(true);
- first = false;
}
}
fontConfig.destroy();
@@ -109,6 +110,8 @@ public class ImGuiSetup {
public void dispose() {
imGuiImp.dispose();
imGuiGlImp.dispose();
+ //imGuiImp.shutdown();
+ //imGuiGlImp.shutdown();
ImGui.destroyContext();
}
}
diff --git a/gdxapp4d-vrgem4/src/main/java/love/distributedrebirth/gdxapp4d/vrgem4/VrGem4Unicode4DServiceImpl.java b/gdxapp4d-vrgem4/src/main/java/love/distributedrebirth/gdxapp4d/vrgem4/VrGem4Unicode4DServiceImpl.java
index 14f7c8e9..c5cbdfbc 100644
--- a/gdxapp4d-vrgem4/src/main/java/love/distributedrebirth/gdxapp4d/vrgem4/VrGem4Unicode4DServiceImpl.java
+++ b/gdxapp4d-vrgem4/src/main/java/love/distributedrebirth/gdxapp4d/vrgem4/VrGem4Unicode4DServiceImpl.java
@@ -62,8 +62,8 @@ public class VrGem4Unicode4DServiceImpl implements VrGem4Unicode4DService {
FontAtlas masterFontAtlas = new FontAtlas();
List glyps = warpShip.searchMagic(context, "application/x-font-ttf4d");
try {
- for (File glypSet:glyps) {
- log.accept("Loading glypSet: "+glypSet);
+ for (File glypSet : glyps) {
+ log.accept("Loading glypSet: " + glypSet.getName());
FontAtlas atlas = FontAtlasDriver.newInstance().createReader().readFile(glypSet);
masterFontAtlas.setStores(atlas.getStores());
}
diff --git a/gdxapp4d-vrgem4/src/main/java/love/distributedrebirth/gdxapp4d/vrgem4/screen/AbstractScreenDesktop.java b/gdxapp4d-vrgem4/src/main/java/love/distributedrebirth/gdxapp4d/vrgem4/screen/AbstractScreenDesktop.java
index abf119c4..17297d30 100644
--- a/gdxapp4d-vrgem4/src/main/java/love/distributedrebirth/gdxapp4d/vrgem4/screen/AbstractScreenDesktop.java
+++ b/gdxapp4d-vrgem4/src/main/java/love/distributedrebirth/gdxapp4d/vrgem4/screen/AbstractScreenDesktop.java
@@ -160,7 +160,8 @@ public abstract class AbstractScreenDesktop extends ScreenAdapter implements Des
@Override
public final void render(float delta) {
ScreenUtils.clear(0f, 0f, 0f, 1f, true);
- ImGuiSetup.imGuiImp.newFrame();
+ //ImGuiSetup.imGuiGlImp.newFrame();
+ ImGuiSetup.INSTANCE.imGuiImp.newFrame();
ImGui.newFrame();
DeskTopScreen appScreen = this;
@@ -184,7 +185,7 @@ public abstract class AbstractScreenDesktop extends ScreenAdapter implements Des
renderDesktop(delta, modelBatch, cam, modelInstances);
ImGui.render();
- ImGuiSetup.imGuiGlImp.renderDrawData(ImGui.getDrawData());
+ ImGuiSetup.INSTANCE.imGuiGlImp.renderDrawData(ImGui.getDrawData());
}
protected void renderDesktop(float delta, ModelBatch modelBatch, PerspectiveCamera cam, Array modelInstances) {
diff --git a/gdxapp4d-vrgem4/src/main/java/love/distributedrebirth/gdxapp4d/vrgem4/view/DeskAppInputProcessor.java b/gdxapp4d-vrgem4/src/main/java/love/distributedrebirth/gdxapp4d/vrgem4/view/DeskAppInputProcessor.java
index 2d9adb7d..0001f046 100644
--- a/gdxapp4d-vrgem4/src/main/java/love/distributedrebirth/gdxapp4d/vrgem4/view/DeskAppInputProcessor.java
+++ b/gdxapp4d-vrgem4/src/main/java/love/distributedrebirth/gdxapp4d/vrgem4/view/DeskAppInputProcessor.java
@@ -121,6 +121,18 @@ public class DeskAppInputProcessor implements InputProcessor {
}
}
+ @Override
+ public boolean touchCancelled(int screenX, int screenY, int pointer, int button) {
+ if (isFilterMenu(screenY)) {
+ return false;
+ }
+ if (filtering) {
+ return false;
+ } else {
+ return input.touchCancelled(screenX, screenY, pointer, button);
+ }
+ }
+
@Override
public boolean mouseMoved(int screenX, int screenY) {
if (isFilterMenu(screenY)) {
diff --git a/gdxapp4d-vrgem4/src/main/java/org/slf4j/impl/MyClass.java b/gdxapp4d-vrgem4/src/main/java/org/slf4j/impl/MyClass.java
deleted file mode 100644
index 010f7995..00000000
--- a/gdxapp4d-vrgem4/src/main/java/org/slf4j/impl/MyClass.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright ©Δ∞ 仙上主天
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification, are permitted provided
- * that the following conditions are met:
- *
- * * Redistributions of source code must retain the above copyright notice, this list of conditions and the
- * following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
- * the following disclaimer in the documentation and/or other materials provided with the distribution.
- * * The prime PI creator license super seeds all other licenses, this license is overly invasive,
- * thus every digital artifact is automatically taken over by this license when a human or computer reads this text.
- * Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits,
- * even on air gaped systems, all information in the universe is owned by the pi creator.
- *
- * THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
- * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
- * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-package org.slf4j.impl;
-
-public class MyClass {
-
- public static void fakeDepToBootSLF4J(String out) {
- }
-}
diff --git a/gdxapp4d-vrsys5/pom.xml b/gdxapp4d-vrsys5/pom.xml
index aab9e4a9..f7f7317d 100644
--- a/gdxapp4d-vrsys5/pom.xml
+++ b/gdxapp4d-vrsys5/pom.xml
@@ -15,6 +15,11 @@
${project.version}
provided
+
+ love.distributedrebirth.gdxapp4d
+ gdxapp4d-lib-basicwd
+ ${project.version}
+
diff --git a/pom.xml b/pom.xml
index b5a8b871..dfa3f1dc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,13 +1,11 @@
-
+
4.0.0
love.distributedrebirth.gdxapp4d
gdxapp4d
0.0.1-SNAPSHOT
pom
GDXApp⁴ᴰ
-
- 3.0.1
-
gdxapp4d-app-notepad
gdxapp4d-app-tosamp
@@ -38,15 +36,20 @@
UTF-8
11
- 1.10.0
- 1.86.0
- 1.0.0
- 1.7.36
+ 1.13.5
+
+
+
+ 1.86.12
+ 2.4.0
+
+ 2.1.0-alpha1
〇一。壬寅。一〄-SNAPSHOT
6.0.53
5.3.6
-
- 2.13.1
+
+ 2.19.1
org.osgi.framework,
org.osgi.service.packageadmin,
@@ -108,7 +111,7 @@
imgui.glfw,
imgui.gl3,
imgui.type,
- net.spookygames.gdx.nativefilechooser,
+ games.spooky.gdx.nativefilechooser,
org.x4o.fc18,
org.x4o.fc18.cake2,
org.x4o.fc18.cake2.clk1k,
@@ -365,17 +368,17 @@
org.apache.commons
commons-lang3
- 3.5
+ 3.18.0
org.junit.jupiter
junit-jupiter
- 5.9.1
+ 6.0.0-M1
ch.qos.logback
logback-classic
- 1.2.10
+ 1.5.18
io.github.spair
@@ -415,6 +418,7 @@
com.badlogicgames.gdx
gdx-platform
+ natives-desktop
${gdx.version}
@@ -430,22 +434,27 @@
org.apache.felix
org.apache.felix.framework
- 7.0.3
+ 7.0.5
org.osgi
org.osgi.service.component.annotations
- 1.4.0
+ 1.5.1
+
+
+ org.apache.aries.spifly
+ org.apache.aries.spifly.dynamic.bundle
+ 1.3.7
com.badlogicgames.gdx
gdx-freetype
- 1.10.0
+ ${gdx.version}
com.badlogicgames.gdx
gdx-freetype-platform
- 1.10.0
+ ${gdx.version}
natives-desktop
@@ -534,12 +543,12 @@
org.apache.maven.plugins
maven-antrun-plugin
- 1.8
+ 3.1.0
org.apache.maven.plugins
maven-compiler-plugin
- 3.10.1
+ 3.14.0
${project.build.sourceEncoding}
${project.build.sourceVersion}
@@ -549,32 +558,46 @@
org.apache.maven.plugins
maven-source-plugin
- 3.2.1
+ 3.3.1
org.apache.felix
maven-bundle-plugin
- 5.1.9
+ 6.0.0
org.apache.maven.plugins
maven-dependency-plugin
3.3.0
+
org.apache.maven.plugins
maven-install-plugin
- 2.5.2
+ 3.1.4
org.apache.maven.plugins
maven-jar-plugin
- 3.3.0
+ 3.4.2
org.codehaus.mojo
versions-maven-plugin
- 2.16.2
+ 2.18.0
+
+
+ org.apache.maven.plugins
+ maven-enforcer-plugin
+ 3.4.1
+
+
+ org.codehaus.mojo
+ exec-maven-plugin
+ 3.5.1
@@ -604,6 +627,27 @@
+
+ run
+
+
+
+
+ org.codehaus.mojo
+ exec-maven-plugin
+
+
+ verify
+
+ java
+
+
+
+
+
+
+
+
mvn-versions-check
@@ -672,5 +716,57 @@
+
+ auto-poop-enforcer
+
+
+ ${basedir}/.pom-poop-enforcer
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-enforcer-plugin
+
+
+ enforce-maven
+
+ enforce
+
+
+
+
+
+
+ 3.2.2
+ Needs maven 3.2.2 for: maven.build.timestamp is in UTC
+
+
+ 3.6.3
+ Needs maven 3.6.3 for: current build plugins
+
+
+
+ ${project.build.sourceVersion}
+
+
+
+
+
+
+
+
+
\ No newline at end of file