Updated dep versions and added simple mvn run cmd

This commit is contained in:
Willem Cazander 2025-07-14 20:24:57 +02:00
parent 980e40af65
commit ba99c5bdb6
27 changed files with 354 additions and 141 deletions

View file

@ -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

View file

@ -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 = "©Δ∞ 仙上主天")

View file

@ -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 = "©Δ∞ 仙上主天")

View file

@ -0,0 +1 @@
Used to activate pom profiles only here.

View file

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<entry key="1c2d010066a39d96ace8af0ecc37c72d6f79109f30939e2959befcd9ce25fc8d">../../gdxapp4d-chain-boot-ship-engine/target/chain</entry>
<entry key="f8be3b29da5b6b2cb464f781469ceede6ccfd848d158293a4cdffbc2c41a410b">../../gdxapp4d-chain-boot-warp-sea/target/chain</entry>
<entry key="7777aa29da5b6b2cb464f781469ceede6ccfd848d158293a4cdffbc2c41b58de">../../gdxapp4d-chain-dep-osgi-lib/target/chain</entry>
<entry key="8833aa29da5b6b2cb464f781469ceede6ccfd848d158293a4cdffbc2c41b58de">../../gdxapp4d-chain-dep-osgi-scr/target/chain</entry>
<entry key="9944bb29da5b6b2cb464f781469ceede6ccfd848d158293a4cdffbc2c41b62ed">../../gdxapp4d-chain-font-unicode4d/target/chain</entry>
<entry key="ffee3329da5b6b2cb4befcc14aac55de6777d848d158293a4cdffbc2c41b12ad">../../gdxapp4d-chain-default-music/target/chain</entry>
<entry key="7744aa29da5b6b2cb4b8f781469c33de688fd848d158293a4cdddbc2c41b12aa">../../gdxapp4d-chain-default-apps/target/chain</entry>
<entry key="7744aa29da5b6b2cb4b8f781469c33de688fd848d158293a4cdddbc2c41b12aa.bundle/gdxapp4d-app-calculator.jar">../../gdxapp4d-app-calculator/target/classes</entry>
<entry key="7744aa29da5b6b2cb4b8f781469c33de688fd848d158293a4cdddbc2c41b12aa.bundle/gdxapp4d-app-hewallet.jar">../../gdxapp4d-app-hewallet/target/classes</entry>
<entry key="7744aa29da5b6b2cb4b8f781469c33de688fd848d158293a4cdddbc2c41b12aa.bundle/gdxapp4d-app-tosamp.jar">../../gdxapp4d-app-tosamp/target/classes</entry>
<entry key="7744aa29da5b6b2cb4b8f781469c33de688fd848d158293a4cdddbc2c41b12aa.bundle/gdxapp4d-app-notepad.jar">../../gdxapp4d-app-notepad/target/classes</entry>
<entry key="7744aa29da5b6b2cb4b8f781469c33de688fd848d158293a4cdddbc2c41b12aa.bundle/gdxapp4d-app-glyphdemo.jar">../../gdxapp4d-app-glyphdemo/target/classes</entry>
<entry key="7744aa29da5b6b2cb4b8f781469c33de688fd848d158293a4cdddbc2c41b12aa.bundle/gdxapp4d-app-mmdoc.jar">../../gdxapp4d-app-mmdoc/target/classes</entry>
<entry key="2222010099a37897688af0ecc37c72d6faabb7709ee39e2959befcd9ce253333">../../gdxapp4d-chain-mod-vrgem4/target/chain</entry>
<entry key="2222010099a37897688af0ecc37c72d6faabb7709ee39e2959befcd9ce253333.bundle/gdxapp4d-vrgem4.jar">../../gdxapp4d-vrgem4/target/classes</entry>
<entry key="ccba3b29da8b1b1cb444f381449beede3cbfd442d158293a4cdffbc3c41a31cc">../../gdxapp4d-chain-mod-vrsys5/target/chain</entry>
<entry key="ccba3b29da8b1b1cb444f381449beede3cbfd442d158293a4cdffbc3c41a31cc.bundle/gdxapp4d-vrsys5.jar">../../gdxapp4d-vrsys5/target/classes</entry>
<entry key="12343b29da8b1b1cb444f381449beede3cbfd442d158293a4cdffbc3c41a7890">../../gdxapp4d-chain-mod-unitxc/target/chain</entry>
<entry key="12343b29da8b1b1cb444f381449beede3cbfd442d158293a4cdffbc3c41a7890.bundle/gdxapp4d-unitxc.jar">../../gdxapp4d-unitxc/target/classes</entry>
</properties>

View file

@ -27,5 +27,8 @@
<!-- Package limits. -->
<logger level="INFO" name="com.badlogic"/>
<logger level="INFO" name="org.x4o"/>
<logger level="ERROR" name="ᒢᐩᐩ.ᒃᣔᔆᔆᒃᐤᐤᣕ.ᒃᐤᣔᐪ.BãßBȍőnBőatGrav͜eDigge͗ŕ"/>
<logger level="ERROR" name="ᒢᐩᐩ.ᒃᣔᔆᔆᒃᐤᐤᣕ.BãßBȍőn𓄯"/>
<logger level="ERROR" name="ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᣳᣝᐤᣜᣳ.ᐪᓫᣗᔿᑊᣕᣔᐪᐤᣗ.ᐦ.Terminator𓄯"/>
</configuration>

View file

@ -1,27 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<entry key="1c2d010066a39d96ace8af0ecc37c72d6f79109f30939e2959befcd9ce25fc8d">../gdxapp4d-chain-boot-ship-engine/target/chain</entry>
<entry key="f8be3b29da5b6b2cb464f781469ceede6ccfd848d158293a4cdffbc2c41a410b">../gdxapp4d-chain-boot-warp-sea/target/chain</entry>
<entry key="7777aa29da5b6b2cb464f781469ceede6ccfd848d158293a4cdffbc2c41b58de">../gdxapp4d-chain-dep-osgi-lib/target/chain</entry>
<entry key="8833aa29da5b6b2cb464f781469ceede6ccfd848d158293a4cdffbc2c41b58de">../gdxapp4d-chain-dep-osgi-scr/target/chain</entry>
<entry key="9944bb29da5b6b2cb464f781469ceede6ccfd848d158293a4cdffbc2c41b62ed">../gdxapp4d-chain-font-unicode4d/target/chain</entry>
<entry key="ffee3329da5b6b2cb4befcc14aac55de6777d848d158293a4cdffbc2c41b12ad">../gdxapp4d-chain-default-music/target/chain</entry>
<entry key="7744aa29da5b6b2cb4b8f781469c33de688fd848d158293a4cdddbc2c41b12aa">../gdxapp4d-chain-default-apps/target/chain</entry>
<entry key="7744aa29da5b6b2cb4b8f781469c33de688fd848d158293a4cdddbc2c41b12aa.bundle/gdxapp4d-app-calculator.jar">../gdxapp4d-app-calculator/target/classes</entry>
<entry key="7744aa29da5b6b2cb4b8f781469c33de688fd848d158293a4cdddbc2c41b12aa.bundle/gdxapp4d-app-hewallet.jar">../gdxapp4d-app-hewallet/target/classes</entry>
<entry key="7744aa29da5b6b2cb4b8f781469c33de688fd848d158293a4cdddbc2c41b12aa.bundle/gdxapp4d-app-tosamp.jar">../gdxapp4d-app-tosamp/target/classes</entry>
<entry key="7744aa29da5b6b2cb4b8f781469c33de688fd848d158293a4cdddbc2c41b12aa.bundle/gdxapp4d-app-notepad.jar">../gdxapp4d-app-notepad/target/classes</entry>
<entry key="7744aa29da5b6b2cb4b8f781469c33de688fd848d158293a4cdddbc2c41b12aa.bundle/gdxapp4d-app-glyphdemo.jar">../gdxapp4d-app-glyphdemo/target/classes</entry>
<entry key="7744aa29da5b6b2cb4b8f781469c33de688fd848d158293a4cdddbc2c41b12aa.bundle/gdxapp4d-app-mmdoc.jar">../gdxapp4d-app-mmdoc/target/classes</entry>
<entry key="2222010099a37897688af0ecc37c72d6faabb7709ee39e2959befcd9ce253333">../gdxapp4d-chain-mod-vrgem4/target/chain</entry>
<entry key="2222010099a37897688af0ecc37c72d6faabb7709ee39e2959befcd9ce253333.bundle/gdxapp4d-vrgem4.jar">../gdxapp4d-vrgem4/target/classes</entry>
<entry key="ccba3b29da8b1b1cb444f381449beede3cbfd442d158293a4cdffbc3c41a31cc">../gdxapp4d-chain-mod-vrsys5/target/chain</entry>
<entry key="ccba3b29da8b1b1cb444f381449beede3cbfd442d158293a4cdffbc3c41a31cc.bundle/gdxapp4d-vrsys5.jar">../gdxapp4d-vrsys5/target/classes</entry>
<entry key="12343b29da8b1b1cb444f381449beede3cbfd442d158293a4cdffbc3c41a7890">../gdxapp4d-chain-mod-unitxc/target/chain</entry>
<entry key="12343b29da8b1b1cb444f381449beede3cbfd442d158293a4cdffbc3c41a7890.bundle/gdxapp4d-unitxc.jar">../gdxapp4d-unitxc/target/classes</entry>
</properties>

View file

@ -1,4 +1,5 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>love.distributedrebirth.gdxapp4d</groupId>
@ -13,6 +14,11 @@
<artifactId>gdxapp4d-tos4</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.badlogicgames.gdx</groupId>
<artifactId>gdx-platform</artifactId>
<classifier>natives-desktop</classifier>
</dependency>
<dependency>
<groupId>com.badlogicgames.gdx</groupId>
<artifactId>gdx-backend-lwjgl3</artifactId>
@ -21,9 +27,43 @@
<groupId>games.spooky.gdx</groupId>
<artifactId>gdx-nativefilechooser-desktop</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jul-to-slf4j</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jul-to-slf4j</artifactId>
</dependency>
<dependency>
<groupId>love.distributedrebirth.gdxapp4d</groupId>
<artifactId>gdxapp4d-chain-boot-ship-engine</artifactId>
<version>${project.version}</version>
<type>pom</type>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>love.distributedrebirth.gdxapp4d</groupId>
<artifactId>gdxapp4d-chain-boot-warp-sea</artifactId>
<version>${project.version}</version>
<type>pom</type>
<scope>provided</scope>
</dependency>
</dependencies>
<profiles>
<profile>
<id>run</id>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
<mainClass>love.distributedrebirth.gdxapp4d.boot.desktop.GDXAppDesktopLauncher</mainClass>
<arguments>
<argument>use-local</argument>
<argument>nosync</argument>
</arguments>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>

View file

@ -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 ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ꕢꕌꔳꕺꖃꕯꕮꕊ;

View file

@ -8,6 +8,29 @@
<artifactId>gdxapp4d-chain-boot-ship-engine</artifactId>
<name>GDXApp⁴ᴰ-Chain-Boot-Ship-محرك</name>
<packaging>pom</packaging>
<dependencies>
<dependency>
<groupId>love.distributedrebirth.gdxapp4d</groupId>
<artifactId>gdxapp4d-chain-font-unicode4d</artifactId>
<version>${project.version}</version>
<type>pom</type>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>love.distributedrebirth.gdxapp4d</groupId>
<artifactId>gdxapp4d-chain-dep-osgi-scr</artifactId>
<version>${project.version}</version>
<type>pom</type>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>love.distributedrebirth.gdxapp4d</groupId>
<artifactId>gdxapp4d-chain-mod-vrgem4</artifactId>
<version>${project.version}</version>
<type>pom</type>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>

View file

@ -8,6 +8,43 @@
<artifactId>gdxapp4d-chain-boot-warp-sea</artifactId>
<name>GDXApp⁴ᴰ-Chain-Boot-Warp-ค่าเริ่มต้น</name>
<packaging>pom</packaging>
<dependencies>
<dependency>
<groupId>love.distributedrebirth.gdxapp4d</groupId>
<artifactId>gdxapp4d-chain-dep-osgi-lib</artifactId>
<version>${project.version}</version>
<type>pom</type>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>love.distributedrebirth.gdxapp4d</groupId>
<artifactId>gdxapp4d-chain-mod-unitxc</artifactId>
<version>${project.version}</version>
<type>pom</type>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>love.distributedrebirth.gdxapp4d</groupId>
<artifactId>gdxapp4d-chain-mod-vrsys5</artifactId>
<version>${project.version}</version>
<type>pom</type>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>love.distributedrebirth.gdxapp4d</groupId>
<artifactId>gdxapp4d-chain-default-apps</artifactId>
<version>${project.version}</version>
<type>pom</type>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>love.distributedrebirth.gdxapp4d</groupId>
<artifactId>gdxapp4d-chain-default-music</artifactId>
<version>${project.version}</version>
<type>pom</type>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>

View file

@ -33,6 +33,10 @@
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
<dependency>
<groupId>org.apache.aries.spifly</groupId>
<artifactId>org.apache.aries.spifly.dynamic.bundle</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
@ -63,6 +67,12 @@
<fileset dir="src/main/chain" />
</copy>
<copy todir="target/chain/bundle">
<file file="target/dependency/asm.jar" />
<file file="target/dependency/asm-tree.jar" />
<file file="target/dependency/asm-commons.jar" />
<file file="target/dependency/asm-analysis.jar" />
<file file="target/dependency/asm-util.jar" />
<file file="target/dependency/org.apache.aries.spifly.dynamic.bundle.jar" />
<file file="target/dependency/slf4j-api.jar" />
<file file="target/dependency/logback-core.jar" />
<file file="target/dependency/logback-classic.jar" />

View file

@ -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">
<soft:hash file="warp-sea.xml" hex="0"/>
<soft:hash file="bundle/asm.jar" hex="0"/>
<soft:hash file="bundle/asm-tree.jar" hex="0"/>
<soft:hash file="bundle/asm-commons.jar" hex="0"/>
<soft:hash file="bundle/asm-analysis.jar" hex="0"/>
<soft:hash file="bundle/asm-util.jar" hex="0"/>
<soft:hash file="bundle/org.apache.aries.spifly.dynamic.bundle.jar" hex="0"/>
<soft:hash file="bundle/slf4j-api.jar" hex="0"/>
<soft:hash file="bundle/logback-core.jar" hex="0"/>
<soft:hash file="bundle/logback-classic.jar" hex="0"/>

View file

@ -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">
<link:sea name="Dep Osgi Lib" provider="gdxapp4d.system" author="للَّٰهِilLצسُو">
<link:magic file="bundle/asm.jar" mime="application/vnd.osgi.bundle"/>
<link:magic file="bundle/asm-tree.jar" mime="application/vnd.osgi.bundle"/>
<link:magic file="bundle/asm-commons.jar" mime="application/vnd.osgi.bundle"/>
<link:magic file="bundle/asm-analysis.jar" mime="application/vnd.osgi.bundle"/>
<link:magic file="bundle/asm-util.jar" mime="application/vnd.osgi.bundle"/>
<link:magic file="bundle/org.apache.aries.spifly.dynamic.bundle.jar" mime="application/vnd.osgi.bundle"/>
<link:magic file="bundle/slf4j-api.jar" mime="application/vnd.osgi.bundle"/>
<link:magic file="bundle/logback-core.jar" mime="application/vnd.osgi.bundle"/>
<link:magic file="bundle/logback-classic.jar" mime="application/vnd.osgi.bundle"/>

View file

@ -63,7 +63,7 @@ Konsole: try selecting the text, unicode is broken
| | .'
| Mecca System eXtension | .'
| | .'
| @Ω仙⁴ ˧꜏⋇꜊꜔ ⁴ﷲΩ@ | .'
| @Ω仙⁴ ˧꜏⋇꜊꜔ ⁴ﷲΩ@ | .'
| ©Δ∞ 仙上主天 | .'
| בְּרֵאשִׁית :o: יְסוֺד :o: יִשְׂרָאֵל | .'
+-----------------------------+'

View file

@ -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𓄯;

View file

@ -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<Bundle> 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();
}
}
}

View file

@ -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,"+

View file

@ -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 = "©Δ∞ 仙上主天")

View file

@ -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);
}
});

View file

@ -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<File> fonts, Consumer<String> 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();
}
}

View file

@ -62,8 +62,8 @@ public class VrGem4Unicode4DServiceImpl implements VrGem4Unicode4DService {
FontAtlas masterFontAtlas = new FontAtlas();
List<File> 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());
}

View file

@ -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<ModelInstance> modelInstances) {

View file

@ -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)) {

View file

@ -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) {
}
}

View file

@ -15,6 +15,11 @@
<version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>love.distributedrebirth.gdxapp4d</groupId>
<artifactId>gdxapp4d-lib-basicwd</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
<build>
<plugins>

146
pom.xml
View file

@ -1,13 +1,11 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>love.distributedrebirth.gdxapp4d</groupId>
<artifactId>gdxapp4d</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>GDXApp⁴ᴰ</name>
<prerequisites>
<maven>3.0.1</maven>
</prerequisites>
<modules>
<module>gdxapp4d-app-notepad</module>
<module>gdxapp4d-app-tosamp</module>
@ -38,15 +36,20 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.build.sourceVersion>11</project.build.sourceVersion>
<gdx.version>1.10.0</gdx.version>
<spair.version>1.86.0</spair.version>
<nativefilechooser.version>1.0.0</nativefilechooser.version>
<org.slf4j.version>1.7.36</org.slf4j.version>
<gdx.version>1.13.5</gdx.version>
<!-- 1.87.0++ font merging to single font doens't work anymore -->
<!-- 1.89 = libimgui-java64.so: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.38' not found -->
<!-- 1.92 = wait for this, got new font system code in imgui -->
<spair.version>1.86.12</spair.version>
<nativefilechooser.version>2.4.0</nativefilechooser.version>
<!-- TODO: slf4j V2++ uses osgi.extender=osgi.serviceloader.processor done by
'spifly' dep + asm-*.jar deps and make all class loading 20-40% slower, RM slf4j ? -->
<org.slf4j.version>2.1.0-alpha1</org.slf4j.version>
<nx01.version>〇一。壬寅。一〄-SNAPSHOT</nx01.version>
<jasper-el.version>6.0.53</jasper-el.version>
<metamodel.version>5.3.6</metamodel.version>
<!-- TODO: Add json support to X4O and replace jackson dep in meta-model-jdbc see: https://github.com/datacleaner/metamodel/blob/master/jdbc/pom.xml -->
<jackson.version>2.13.1</jackson.version>
<!-- TODO: Replace jackson dep with EE spec in meta-model-jdbc see: https://github.com/datacleaner/metamodel/blob/master/jdbc/pom.xml -->
<jackson.version>2.19.1</jackson.version>
<tos4.packages>
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 @@
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.5</version>
<version>3.18.0</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.9.1</version>
<version>6.0.0-M1</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.10</version>
<version>1.5.18</version>
</dependency>
<dependency>
<groupId>io.github.spair</groupId>
@ -415,6 +418,7 @@
<dependency>
<groupId>com.badlogicgames.gdx</groupId>
<artifactId>gdx-platform</artifactId>
<classifier>natives-desktop</classifier>
<version>${gdx.version}</version>
</dependency>
<dependency>
@ -430,22 +434,27 @@
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.framework</artifactId>
<version>7.0.3</version>
<version>7.0.5</version>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.service.component.annotations</artifactId>
<version>1.4.0</version>
<version>1.5.1</version>
</dependency>
<dependency>
<groupId>org.apache.aries.spifly</groupId>
<artifactId>org.apache.aries.spifly.dynamic.bundle</artifactId>
<version>1.3.7</version>
</dependency>
<dependency>
<groupId>com.badlogicgames.gdx</groupId>
<artifactId>gdx-freetype</artifactId>
<version>1.10.0</version>
<version>${gdx.version}</version>
</dependency>
<dependency>
<groupId>com.badlogicgames.gdx</groupId>
<artifactId>gdx-freetype-platform</artifactId>
<version>1.10.0</version>
<version>${gdx.version}</version>
<classifier>natives-desktop</classifier>
</dependency>
<dependency>
@ -534,12 +543,12 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<version>3.1.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.10.1</version>
<version>3.14.0</version>
<configuration>
<encoding>${project.build.sourceEncoding}</encoding>
<source>${project.build.sourceVersion}</source>
@ -549,32 +558,46 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.2.1</version>
<version>3.3.1</version>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>5.1.9</version>
<version>6.0.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.3.0</version>
<!-- 3.8.1 Eclipse M2E error in module 'gdxapp4d-lib-warpme'
Caused by: org.apache.maven.plugin.MojoExecutionException: Artifact 'love.distributedrebirth.nx01:nx01-jpp-base:jar:〇一。壬寅。一〄-SNAPSHOT:compile'
has not been packaged yet (is a directory). When used on reactor artifact, copy should be executed after packaging: see MDEP-187.
-->
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
<version>3.1.4</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.3.0</version>
<version>3.4.2</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>2.16.2</version>
<version>2.18.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>3.4.1</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>3.5.1</version>
</plugin>
</plugins>
</pluginManagement>
@ -604,6 +627,27 @@
</plugins>
</build>
</profile>
<profile>
<id>run</id>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<executions>
<execution>
<phase>verify</phase>
<goals>
<goal>java</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
<profile>
<id>mvn-versions-check</id>
<build>
@ -672,5 +716,57 @@
</plugins>
</build>
</profile>
<profile>
<id>auto-poop-enforcer</id>
<activation>
<file>
<exists>${basedir}/.pom-poop-enforcer</exists>
</file>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<id>enforce-maven</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<!-- Sick this is not documented in examples but works fine, after i looked at the source code -->
<!-- TODO: Maven4 adds xml namespace + xsd to each plugin so auto complete works in embedded plugin xml
<enforcer:requireMavenVersion>
<enforce:version>3.2.2</enforce:version>
<enforce:message>Needs maven ${rule.version} or ${this.version} for: maven.build.timestamp is in UTC</enforce:message>
</enforcer:requireMavenVersion>
-->
<requireMavenVersion>
<version>3.2.2</version>
<message>Needs maven 3.2.2 for: maven.build.timestamp is in UTC</message>
</requireMavenVersion>
<requireMavenVersion>
<version>3.6.3</version>
<message>Needs maven 3.6.3 for: current build plugins</message>
</requireMavenVersion>
<!--
<requireMavenVersion>
<version>3.9.0</version>
<message>Needs maven 3.9.0 for: profile activation by pom packaging type</message>s
</requireMavenVersion>
-->
<requireJavaVersion>
<version>${project.build.sourceVersion}</version>
</requireJavaVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>