Easter cleaning git
This commit is contained in:
commit
d0529bfadf
500 changed files with 116670 additions and 0 deletions
52
.gitignore
vendored
Normal file
52
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
#
|
||||
# Ignore files in the GDXApp⁴ᴰ project.
|
||||
#
|
||||
|
||||
# Ignore project resources
|
||||
gdxapp4d-boot-desktop/warpcore.xml
|
||||
gdxapp4d-boot-desktop/etc
|
||||
gdxapp4d-boot-desktop/Warpship/etc
|
||||
|
||||
# Ignore maven resources
|
||||
target
|
||||
|
||||
# Ignore npm resources
|
||||
node_modules
|
||||
|
||||
# Ignore binary files and formats
|
||||
*.o
|
||||
*.class
|
||||
*.old
|
||||
*.log
|
||||
*.bak
|
||||
*.backup
|
||||
*.dat
|
||||
*.data
|
||||
*.gif
|
||||
*.bmp
|
||||
*.pdf
|
||||
*.doc
|
||||
*.zip
|
||||
*.gz
|
||||
*.db
|
||||
*.ini
|
||||
|
||||
# Ignore ~ backup files.
|
||||
*~
|
||||
|
||||
# Ignore some eclipse files
|
||||
.settings
|
||||
.classpath
|
||||
.project
|
||||
|
||||
# Ignore netbeans directory
|
||||
nbproject
|
||||
|
||||
# Ignore mac finder files
|
||||
.DS_Store
|
||||
|
||||
# Ignore windows files.
|
||||
# none (done by .db and .ini)
|
||||
|
||||
# Ignore kde dolphin files
|
||||
.directory
|
||||
74
README.md
Normal file
74
README.md
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
# GDXApp⁴ᴰ
|
||||
|
||||
In Duytschen "Geloof Doom eXtensie APPlicatie 4D" which tranlates to: faith doom extension application 4D.
|
||||
|
||||
Is a demo or POC of TempleOS Next Generation coded in java with libGDX and ImGui.
|
||||
|
||||
Final version will be written in HolyC++ on TempleOS and runs on dedicated 144 bit hardware.
|
||||
|
||||
All code is junk, q&d play code, ideas, etc.
|
||||
|
||||
For masters and slaves only.
|
||||
|
||||
TODO:
|
||||
- Move and merge unitXC+basic+step2 code to NX-01
|
||||
- Move and rewrite unicode4D to NX-01
|
||||
- Move fonts+apps to real hyper+nostr redsea filesystem of NX-01
|
||||
|
||||
## Project Features
|
||||
|
||||
* Single Endpoint Application model (user)
|
||||
* Single Window Application model (touch)
|
||||
* Single MenuBar Application model (tricorder)
|
||||
* Applications are distributed as OSGI bundles
|
||||
* Blockchain distribution and storage to boot apps and OS from
|
||||
* Unicode4D 72 bit glyph sequence blocks and rendering
|
||||
|
||||
## Project Setup
|
||||
|
||||
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
|
||||
|
||||
### Project Launch IDE
|
||||
|
||||
Run "mvn package" after every git pull.
|
||||
|
||||
Run the main class from gdxapp4d-boot-desktop; love.distributedrebirth.gdxapp4d.boot.desktop.GDXAppDesktopLauncher
|
||||
|
||||
Append "use-local" to the main launcher to use the local chains. (as the real are fake)
|
||||
|
||||
## Duytschen Code
|
||||
|
||||
Is moved to the NX-01 code runtime for none-english enterprice ships;
|
||||
|
||||
buiten ℭheɱMolecǔūl ringZaad(ℭheɱMolecǔūl 大胸部, GroßGetậl 養花) {
|
||||
GroßGetậl 征服天空 = חדמצילעול/םומלואו; //S4a: מי שמציל אדם א ©Δ∞ 仙上主天
|
||||
tê̄ruʛγ ℭheɱ@Ω.orbitalSkeleŦŧgPÅd-₇ɛͣ₉(大胸部, 征服天空, M̋atƕ.π√θ33°, 養花);
|
||||
}
|
||||
|
||||
### The BASIC Prayer
|
||||
|
||||
Lets review the answer given by the or-acle; [Thread.yield()](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Thread.html#yield())
|
||||
|
||||
Firstly its an method which requires no input and has no output.
|
||||
Secondly its an hint without predefined usage pattern or functional outcome.
|
||||
The other paragraphs try to explain its usage, but fail to add an example like;
|
||||
|
||||
Running multi-processor code on single cpu OR on an over-utilise cpus requires yielding to avoid async deadlocks in parallel work distributions trees.
|
||||
|
||||
Also in high performance parallel code, yielding control out of consent, may result in better performance than forced interruption or time slicing.
|
||||
Especially when working with an live non-homogeneous workload.
|
||||
|
||||
Writing and simulating parallel code paths is not easy. So most developers use a library which comes with default configured options.
|
||||
Then feed it small batches of work and hope for the best.
|
||||
|
||||
Now simulate with ~7833661741 threads using X different libraries and try to avoid deadlocks.
|
||||
By replacing a few words, this changes the description to the faith-by-math yielding version;
|
||||
|
||||
A hint to the π-creator that the current human is willing to yield its current use of a itself.
|
||||
The π-creator is free to ignore this hint.
|
||||
|
||||
42
gdxapp4d-app-calculator/pom.xml
Normal file
42
gdxapp4d-app-calculator/pom.xml
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
<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>
|
||||
<artifactId>gdxapp4d</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>gdxapp4d-app-calculator</artifactId>
|
||||
<name>GDXApp⁴ᴰ-App-計算器</name>
|
||||
<packaging>bundle</packaging>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>love.distributedrebirth.gdxapp4d</groupId>
|
||||
<artifactId>gdxapp4d-vrgem4</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.felix</groupId>
|
||||
<artifactId>maven-bundle-plugin</artifactId>
|
||||
<extensions>true</extensions>
|
||||
<configuration>
|
||||
<exportScr>true</exportScr>
|
||||
<niceManifest>true</niceManifest>
|
||||
<instructions>
|
||||
<_donotcopy>(.git)</_donotcopy>
|
||||
<_dsannotations>*</_dsannotations>
|
||||
<_metatypeannotations>*</_metatypeannotations>
|
||||
<Import-Package>
|
||||
${tos4.packages},
|
||||
${vrgem4.packages}
|
||||
</Import-Package>
|
||||
<Bundle-Vendor>distributedrebirth.love</Bundle-Vendor>
|
||||
</instructions>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
|
|
@ -0,0 +1,79 @@
|
|||
/*
|
||||
* 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 love.distributedrebirth.gdxapp4d.app.calculator;
|
||||
|
||||
import java.util.ResourceBundle;
|
||||
|
||||
import org.osgi.service.component.annotations.Activate;
|
||||
import org.osgi.service.component.annotations.Component;
|
||||
import org.osgi.service.component.annotations.Deactivate;
|
||||
import org.osgi.service.component.annotations.Reference;
|
||||
|
||||
import love.distributedrebirth.gdxapp4d.tos4.service.SystemGdxLog;
|
||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.VrGem4DeskAppService;
|
||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.VrGem4LocaleService;
|
||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppLauncher;
|
||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppMenuSection;
|
||||
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注;
|
||||
|
||||
@Component
|
||||
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||
public class CalculatorComponent {
|
||||
|
||||
@Reference
|
||||
private SystemGdxLog log;
|
||||
|
||||
@Reference
|
||||
private VrGem4DeskAppService deskAppService;
|
||||
|
||||
@Reference
|
||||
private VrGem4LocaleService localeService;
|
||||
|
||||
private final static String I18N_BUNDLE = "love.distributedrebirth.gdxapp4d.app.calculator.Messages";
|
||||
private final DeskAppLauncher launcher;
|
||||
|
||||
public CalculatorComponent() {
|
||||
launcher = new DeskAppLauncher(DeskAppMenuSection.SCIENCE, "Calculator", () -> new CalculatorDeskApp(createBundle()));
|
||||
}
|
||||
|
||||
private ResourceBundle createBundle() {
|
||||
return ResourceBundle.getBundle(I18N_BUNDLE, localeService.getTextLocale());
|
||||
}
|
||||
|
||||
@Activate
|
||||
void open() {
|
||||
log.debug(this, SystemGdxLog.ACTIVATE);
|
||||
deskAppService.installDeskApp(launcher);
|
||||
}
|
||||
|
||||
@Deactivate
|
||||
void close() {
|
||||
log.debug(this, SystemGdxLog.DEACTIVATE);
|
||||
deskAppService.removeDeskApp(launcher);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,232 @@
|
|||
/*
|
||||
* 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 love.distributedrebirth.gdxapp4d.app.calculator;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.ResourceBundle;
|
||||
|
||||
import imgui.ImGui;
|
||||
import imgui.type.ImInt;
|
||||
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 ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᐪᓫᕽᐪ.ᓑᣕᣳᒼᐤᒄᓫ.BaseGlyphSet;
|
||||
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注;
|
||||
|
||||
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||
public class CalculatorDeskApp extends AbstractDeskApp implements DeskAppRenderer {
|
||||
|
||||
private ResourceBundle bundle;
|
||||
private int valueNum = 0;
|
||||
private String value = "";
|
||||
private String valueLoc = "";
|
||||
private String valueArg = "";
|
||||
private Operation operation = Operation.NONE;
|
||||
private ImInt selectedNumberGlyph = new ImInt();
|
||||
private float buttonSize = 64f;
|
||||
|
||||
public CalculatorDeskApp(ResourceBundle bundle) {
|
||||
this.bundle = bundle;
|
||||
}
|
||||
|
||||
private String getTxt(String key) {
|
||||
return bundle.getString(CalculatorDeskApp.class.getSimpleName()+"."+key);
|
||||
}
|
||||
|
||||
public void create() {
|
||||
getContours().setTitle(getTxt("title"));
|
||||
getContours().registrateContour(DeskAppContourSection.MAIN, this);
|
||||
}
|
||||
|
||||
enum Operation {
|
||||
NONE,
|
||||
PLUS,
|
||||
MINUS,
|
||||
MULTIPLY,
|
||||
DIVIDE
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render() {
|
||||
|
||||
List<String> bases = new ArrayList<>();
|
||||
for (BaseGlyphSet base:BaseGlyphSet.values()) {
|
||||
bases.add(base.name());
|
||||
}
|
||||
String[] items = new String[bases.size()];
|
||||
items = bases.toArray(items);
|
||||
boolean changedLoc = ImGui.combo(getTxt("selectedNumberGlyph"), selectedNumberGlyph, items);
|
||||
String selectedItem = items[selectedNumberGlyph.get()];
|
||||
BaseGlyphSet baseNumber = BaseGlyphSet.valueOf(selectedItem);
|
||||
if (changedLoc) {
|
||||
valueLoc = baseNumber.BȍőnPrintNumber10(valueNum);
|
||||
}
|
||||
|
||||
ImGui.text("Value:");
|
||||
ImGui.sameLine();
|
||||
ImGui.text(valueLoc);
|
||||
ImGui.separator();
|
||||
|
||||
if (value.length() > 8) {
|
||||
value = "0"; // dirty limit for parseInt
|
||||
valueLoc = baseNumber.BȍőnPrintNumber10(Integer.parseInt(value));
|
||||
}
|
||||
|
||||
if (ImGui.button(baseNumber.BȍőnNumber10().BȍőnCharFor(7), buttonSize, buttonSize)) {
|
||||
value+="7";
|
||||
valueNum = Integer.parseInt(value);
|
||||
valueLoc+=baseNumber.BȍőnNumber10().BȍőnCharFor(7);
|
||||
}
|
||||
ImGui.sameLine();
|
||||
if (ImGui.button(baseNumber.BȍőnNumber10().BȍőnCharFor(8), buttonSize, buttonSize)) {
|
||||
value+="8";
|
||||
valueNum = Integer.parseInt(value);
|
||||
valueLoc+=baseNumber.BȍőnNumber10().BȍőnCharFor(8);
|
||||
}
|
||||
ImGui.sameLine();
|
||||
if (ImGui.button(baseNumber.BȍőnNumber10().BȍőnCharFor(9), buttonSize, buttonSize)) {
|
||||
value+="9";
|
||||
valueNum = Integer.parseInt(value);
|
||||
valueLoc+=baseNumber.BȍőnNumber10().BȍőnCharFor(9);
|
||||
}
|
||||
ImGui.sameLine();
|
||||
if (ImGui.button("/", buttonSize, buttonSize)) {
|
||||
valueArg=value;
|
||||
value="";
|
||||
valueLoc="";
|
||||
operation = Operation.DIVIDE;
|
||||
}
|
||||
|
||||
if (ImGui.button(baseNumber.BȍőnNumber10().BȍőnCharFor(4), buttonSize, buttonSize)) {
|
||||
value+="4";
|
||||
valueNum = Integer.parseInt(value);
|
||||
valueLoc+=baseNumber.BȍőnNumber10().BȍőnCharFor(4);
|
||||
}
|
||||
ImGui.sameLine();
|
||||
if (ImGui.button(baseNumber.BȍőnNumber10().BȍőnCharFor(5), buttonSize, buttonSize)) {
|
||||
value+="5";
|
||||
valueNum = Integer.parseInt(value);
|
||||
valueLoc+=baseNumber.BȍőnNumber10().BȍőnCharFor(5);
|
||||
}
|
||||
ImGui.sameLine();
|
||||
if (ImGui.button(baseNumber.BȍőnNumber10().BȍőnCharFor(6), buttonSize, buttonSize)) {
|
||||
value+="6";
|
||||
valueNum = Integer.parseInt(value);
|
||||
valueLoc+=baseNumber.BȍőnNumber10().BȍőnCharFor(6);
|
||||
}
|
||||
ImGui.sameLine();
|
||||
if (ImGui.button("*", buttonSize, buttonSize)) {
|
||||
valueArg=value;
|
||||
value="";
|
||||
valueLoc="";
|
||||
operation = Operation.MULTIPLY;
|
||||
}
|
||||
|
||||
if (ImGui.button(baseNumber.BȍőnNumber10().BȍőnCharFor(1), buttonSize, buttonSize)) {
|
||||
value+="1";
|
||||
valueNum = Integer.parseInt(value);
|
||||
valueLoc+=baseNumber.BȍőnNumber10().BȍőnCharFor(1);
|
||||
}
|
||||
ImGui.sameLine();
|
||||
if (ImGui.button(baseNumber.BȍőnNumber10().BȍőnCharFor(2), buttonSize, buttonSize)) {
|
||||
value+="2";
|
||||
valueNum = Integer.parseInt(value);
|
||||
valueLoc+=baseNumber.BȍőnNumber10().BȍőnCharFor(2);
|
||||
}
|
||||
ImGui.sameLine();
|
||||
if (ImGui.button(baseNumber.BȍőnNumber10().BȍőnCharFor(3), buttonSize, buttonSize)) {
|
||||
value+="3";
|
||||
valueNum = Integer.parseInt(value);
|
||||
valueLoc+=baseNumber.BȍőnNumber10().BȍőnCharFor(3);
|
||||
}
|
||||
ImGui.sameLine();
|
||||
if (ImGui.button("-", buttonSize, buttonSize)) {
|
||||
valueArg=value;
|
||||
value="";
|
||||
valueLoc="";
|
||||
operation = Operation.MINUS;
|
||||
}
|
||||
|
||||
if (ImGui.button(baseNumber.BȍőnNumber10().BȍőnCharFor(0), buttonSize, buttonSize)) {
|
||||
value+="0";
|
||||
valueNum = Integer.parseInt(value);
|
||||
valueLoc+=baseNumber.BȍőnNumber10().BȍőnCharFor(0);
|
||||
}
|
||||
ImGui.sameLine();
|
||||
if (ImGui.button("C", buttonSize, buttonSize)) {
|
||||
valueNum = 0;
|
||||
value="";
|
||||
valueLoc="";
|
||||
valueArg="";
|
||||
operation = Operation.NONE;
|
||||
}
|
||||
ImGui.sameLine();
|
||||
if (ImGui.button("+", buttonSize, buttonSize)) {
|
||||
valueArg=value;
|
||||
value="";
|
||||
valueLoc="";
|
||||
operation = Operation.PLUS;
|
||||
}
|
||||
ImGui.sameLine();
|
||||
if (ImGui.button("=", buttonSize, buttonSize)) {
|
||||
if (value.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
int v2 = Integer.parseInt(value);
|
||||
if (valueArg.isEmpty()) {
|
||||
valueLoc = baseNumber.BȍőnPrintNumber10(v2);
|
||||
return;
|
||||
}
|
||||
int v1 = Integer.parseInt(valueArg);
|
||||
|
||||
int result = 0;
|
||||
switch (operation) {
|
||||
case PLUS:
|
||||
result = v1+v2;
|
||||
break;
|
||||
case MINUS:
|
||||
result = v1-v2;
|
||||
break;
|
||||
case MULTIPLY:
|
||||
result = v1*v2;
|
||||
break;
|
||||
case DIVIDE:
|
||||
if (v2 != 0) {
|
||||
result = v1/v2;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
valueNum = result;
|
||||
value = "" + valueNum;
|
||||
valueLoc = baseNumber.BȍőnPrintNumber10(valueNum);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
CalculatorDeskApp.title=Calculator
|
||||
CalculatorDeskApp.selectedNumberGlyph=Language
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
CalculatorDeskApp.title=\u8BA1\u7B97\u5668
|
||||
CalculatorDeskApp.selectedNumberGlyph=\u8BED\u8A00
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
CalculatorDeskApp.title=Calculator
|
||||
CalculatorDeskApp.selectedNumberGlyph=Language
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
CalculatorDeskApp.title=Rekenmachine
|
||||
CalculatorDeskApp.selectedNumberGlyph=Taal
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
CalculatorDeskApp.title=\u16B2\u16A8\u16DA\u16B2\u16A2\u16DA\u16A8\u16CF\u16DF\u16B1
|
||||
CalculatorDeskApp.selectedNumberGlyph=\u16DA\u16A8\u16BE\u16B7\u16A2\u16A8\u16B7\u16D6
|
||||
50
gdxapp4d-app-glyphdemo/pom.xml
Normal file
50
gdxapp4d-app-glyphdemo/pom.xml
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
<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>
|
||||
<artifactId>gdxapp4d</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>gdxapp4d-app-glyphdemo</artifactId>
|
||||
<name>GDXApp⁴ᴰ-App-𑀳𑁂𑀮𑀺𑀉𑁄𑀤𑁄𑀭𑁂𑀡 𑀪𑀸𑀕</name>
|
||||
<packaging>bundle</packaging>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>love.distributedrebirth.gdxapp4d</groupId>
|
||||
<artifactId>gdxapp4d-vrgem4</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>love.distributedrebirth.gdxapp4d</groupId>
|
||||
<artifactId>gdxapp4d-unitxc</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.felix</groupId>
|
||||
<artifactId>maven-bundle-plugin</artifactId>
|
||||
<extensions>true</extensions>
|
||||
<configuration>
|
||||
<exportScr>true</exportScr>
|
||||
<niceManifest>true</niceManifest>
|
||||
<instructions>
|
||||
<_donotcopy>(.git)</_donotcopy>
|
||||
<_dsannotations>*</_dsannotations>
|
||||
<_metatypeannotations>*</_metatypeannotations>
|
||||
<Import-Package>
|
||||
${tos4.packages},
|
||||
${vrgem4.packages},
|
||||
${unitxc.packages},
|
||||
${lang3.packages}
|
||||
</Import-Package>
|
||||
<Bundle-Vendor>distributedrebirth.love</Bundle-Vendor>
|
||||
</instructions>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
|
|
@ -0,0 +1,108 @@
|
|||
/*
|
||||
* 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 love.distributedrebirth.gdxapp4d.app.glyphdemo;
|
||||
|
||||
import java.util.ResourceBundle;
|
||||
|
||||
import org.osgi.service.component.annotations.Activate;
|
||||
import org.osgi.service.component.annotations.Component;
|
||||
import org.osgi.service.component.annotations.Deactivate;
|
||||
import org.osgi.service.component.annotations.Reference;
|
||||
|
||||
import love.distributedrebirth.gdxapp4d.app.glyphdemo.apps.DemoUnicodePlaneDeskApp;
|
||||
import love.distributedrebirth.gdxapp4d.app.glyphdemo.apps.DemoUnitConverterDeskApp;
|
||||
import love.distributedrebirth.gdxapp4d.app.glyphdemo.apps.DemoGlyphSetDeskApp;
|
||||
import love.distributedrebirth.gdxapp4d.app.glyphdemo.apps.DemoNumberMatrixDeskApp;
|
||||
import love.distributedrebirth.gdxapp4d.app.glyphdemo.apps.DemoNumberPartDeskApp;
|
||||
import love.distributedrebirth.gdxapp4d.tos4.service.SystemGdxLog;
|
||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.VrGem4DeskAppService;
|
||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.VrGem4LocaleService;
|
||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.VrGem4Unicode4DService;
|
||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppLauncher;
|
||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppMenuSection;
|
||||
import net.forwardfire.unitxc.UnitXCManager;
|
||||
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注;
|
||||
|
||||
@Component
|
||||
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||
public class GlyphDemoComponent {
|
||||
|
||||
@Reference
|
||||
private SystemGdxLog log;
|
||||
|
||||
@Reference
|
||||
private VrGem4DeskAppService deskAppService;
|
||||
|
||||
@Reference
|
||||
private VrGem4LocaleService localeService;
|
||||
|
||||
@Reference
|
||||
private VrGem4Unicode4DService unicode4DService;
|
||||
|
||||
@Reference
|
||||
private UnitXCManager unitManager;
|
||||
|
||||
private final static String I18N_BUNDLE = "love.distributedrebirth.gdxapp4d.app.glyphdemo.Messages";
|
||||
private final DeskAppLauncher unicodeLauncher;
|
||||
private final DeskAppLauncher baseGlyphLauncher;
|
||||
private final DeskAppLauncher basePartLauncher;
|
||||
private final DeskAppLauncher numberMatrixLauncher;
|
||||
private final DeskAppLauncher unitConverterLauncher;
|
||||
|
||||
public GlyphDemoComponent() {
|
||||
unicodeLauncher = new DeskAppLauncher(DeskAppMenuSection.PROGRAMMING, "Unicode Plane", () -> new DemoUnicodePlaneDeskApp(createBundle(), unicode4DService));
|
||||
baseGlyphLauncher = new DeskAppLauncher(DeskAppMenuSection.PROGRAMMING, "Glyph Set", () -> new DemoGlyphSetDeskApp(createBundle()));
|
||||
basePartLauncher = new DeskAppLauncher(DeskAppMenuSection.EDUCATION, "Number Parts", () -> new DemoNumberPartDeskApp(createBundle()));
|
||||
numberMatrixLauncher = new DeskAppLauncher(DeskAppMenuSection.EDUCATION, "Number Matrix", () -> new DemoNumberMatrixDeskApp(createBundle()));
|
||||
unitConverterLauncher = new DeskAppLauncher(DeskAppMenuSection.SCIENCE, "Unitˣᶜ Converter", () -> new DemoUnitConverterDeskApp(unitManager));
|
||||
}
|
||||
|
||||
private ResourceBundle createBundle() {
|
||||
return ResourceBundle.getBundle(I18N_BUNDLE, localeService.getTextLocale());
|
||||
}
|
||||
|
||||
@Activate
|
||||
void open() {
|
||||
log.debug(this, SystemGdxLog.ACTIVATE);
|
||||
deskAppService.installDeskApp(unicodeLauncher);
|
||||
deskAppService.installDeskApp(baseGlyphLauncher);
|
||||
deskAppService.installDeskApp(basePartLauncher);
|
||||
deskAppService.installDeskApp(numberMatrixLauncher);
|
||||
deskAppService.installDeskApp(unitConverterLauncher);
|
||||
}
|
||||
|
||||
@Deactivate
|
||||
void close() {
|
||||
log.debug(this, SystemGdxLog.DEACTIVATE);
|
||||
deskAppService.removeDeskApp(unicodeLauncher);
|
||||
deskAppService.removeDeskApp(baseGlyphLauncher);
|
||||
deskAppService.removeDeskApp(basePartLauncher);
|
||||
deskAppService.removeDeskApp(numberMatrixLauncher);
|
||||
deskAppService.removeDeskApp(unitConverterLauncher);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,124 @@
|
|||
/*
|
||||
* 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 love.distributedrebirth.gdxapp4d.app.glyphdemo.apps;
|
||||
|
||||
import java.util.ResourceBundle;
|
||||
|
||||
import imgui.ImGui;
|
||||
import imgui.flag.ImGuiTableFlags;
|
||||
import imgui.type.ImBoolean;
|
||||
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 ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᐪᓫᕽᐪ.ᓑᣕᣳᒼᐤᒄᓫ.BaseGlyphSet;
|
||||
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注;
|
||||
|
||||
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||
public class DemoGlyphSetDeskApp extends AbstractDeskApp {
|
||||
|
||||
private final ResourceBundle bundle;
|
||||
private final ImBoolean showBase27 = new ImBoolean(false);
|
||||
|
||||
public DemoGlyphSetDeskApp(ResourceBundle bundle) {
|
||||
this.bundle = bundle;
|
||||
}
|
||||
|
||||
private String getTxt(String key) {
|
||||
return bundle.getString(DemoGlyphSetDeskApp.class.getSimpleName()+"."+key);
|
||||
}
|
||||
|
||||
public void create() {
|
||||
getContours().setTitle(getTxt("title"));
|
||||
getContours().registrateContour(DeskAppContourSection.MAIN, new DeskAppRenderer() {
|
||||
|
||||
@Override
|
||||
public void render() {
|
||||
ImGui.checkbox(getTxt("showBase27"), showBase27);
|
||||
int flags = ImGuiTableFlags.ScrollX | ImGuiTableFlags.RowBg | ImGuiTableFlags.BordersOuter | ImGuiTableFlags.BordersV | ImGuiTableFlags.Resizable;
|
||||
ImGui.beginTable("base-part", 3, flags);
|
||||
ImGui.tableSetupColumn(getTxt("colScript"));
|
||||
ImGui.tableSetupColumn(getTxt("col10Num"));
|
||||
if (showBase27.get()) {
|
||||
ImGui.tableSetupColumn(getTxt("col27Num"));
|
||||
} else {
|
||||
ImGui.tableSetupColumn(getTxt("col16Num"));
|
||||
}
|
||||
ImGui.tableHeadersRow();
|
||||
for (BaseGlyphSet set:BaseGlyphSet.values()) {
|
||||
ImGui.tableNextRow();
|
||||
ImGui.tableNextColumn();
|
||||
ImGui.text(set.name());
|
||||
ImGui.tableNextColumn();
|
||||
ImGui.text(print10Numbers(set));
|
||||
ImGui.tableNextColumn();
|
||||
if (showBase27.get()) {
|
||||
ImGui.text(print27Numbers(set));
|
||||
} else {
|
||||
ImGui.text(print16Numbers(set));
|
||||
}
|
||||
}
|
||||
ImGui.endTable();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private String print10Numbers(BaseGlyphSet set) {
|
||||
StringBuilder buf = new StringBuilder();
|
||||
for (int i=0;i<10;i++) {
|
||||
buf.append(set.BȍőnPrintNumber10(i, 9));
|
||||
buf.append(" ");
|
||||
}
|
||||
return buf.toString();
|
||||
}
|
||||
|
||||
private String print16Numbers(BaseGlyphSet set) {
|
||||
StringBuilder buf = new StringBuilder();
|
||||
if (set.BȍőnNumber16() == null) {
|
||||
return buf.toString();
|
||||
}
|
||||
int x=240;
|
||||
for (int i=0;i<16;i++) {
|
||||
buf.append(set.BȍőnPrintNumber16(i + x, 16)); // hex; +one
|
||||
buf.append(" ");
|
||||
x = x - 16;
|
||||
}
|
||||
return buf.toString();
|
||||
}
|
||||
|
||||
private String print27Numbers(BaseGlyphSet set) {
|
||||
StringBuilder buf = new StringBuilder();
|
||||
if (set.BȍőnNumber27() == null) {
|
||||
return buf.toString();
|
||||
}
|
||||
for (int i=0;i<27;i++) {
|
||||
buf.append(set.BȍőnPrintNumber27(i, 26));
|
||||
buf.append(" ");
|
||||
}
|
||||
return buf.toString();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,105 @@
|
|||
/*
|
||||
* 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 love.distributedrebirth.gdxapp4d.app.glyphdemo.apps;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.ResourceBundle;
|
||||
|
||||
import imgui.ImGui;
|
||||
import imgui.flag.ImGuiTableFlags;
|
||||
import imgui.type.ImInt;
|
||||
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 ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᣳᣝᐤᣜᣳ.ᔿᣔᐪᣗᑊᕁ.NumberMatrix𓄯;
|
||||
import ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᣳᣝᐤᣜᣳ.ᔿᣔᐪᣗᑊᕁ.NumberMatrixFactory;
|
||||
import ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᣳᣝᐤᣜᣳ.ᔿᣔᐪᣗᑊᕁ.NumberMatrixSet;
|
||||
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注;
|
||||
|
||||
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||
public class DemoNumberMatrixDeskApp extends AbstractDeskApp implements DeskAppRenderer {
|
||||
|
||||
private final ResourceBundle bundle;
|
||||
private ImInt selectedMatrixPart = new ImInt();
|
||||
|
||||
public DemoNumberMatrixDeskApp(ResourceBundle bundle) {
|
||||
this.bundle = bundle;
|
||||
}
|
||||
|
||||
// private String getTxt(String key) {
|
||||
// return bundle.getString(DemoNumberMatrixDeskApp.class.getSimpleName()+"."+key);
|
||||
// }
|
||||
|
||||
public void create() {
|
||||
getContours().setTitle("NumberMatrix");
|
||||
getContours().registrateContour(DeskAppContourSection.MAIN, this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render() {
|
||||
List<String> bases = new ArrayList<>();
|
||||
for (int filmSequence:NumberMatrixFactory.INSTANCE.opgenomenFilmNummers()) {
|
||||
bases.add(Integer.toString(filmSequence));
|
||||
}
|
||||
bases.add("7");
|
||||
String[] items = new String[bases.size()];
|
||||
items = bases.toArray(items);
|
||||
String selectedItem = items[selectedMatrixPart.get()];
|
||||
Integer baseNumber = Integer.valueOf(selectedItem);
|
||||
NumberMatrixSet numberMatrix = NumberMatrixFactory.INSTANCE.geefFilmSet(baseNumber);
|
||||
|
||||
ImGui.combo("selectMatrix", selectedMatrixPart, items);
|
||||
|
||||
int columns = 2 + numberMatrix.geefDimensie();
|
||||
int flags = ImGuiTableFlags.ScrollX | ImGuiTableFlags.RowBg | ImGuiTableFlags.BordersOuter | ImGuiTableFlags.BordersV;
|
||||
ImGui.beginTable("base-part", columns, flags);
|
||||
ImGui.tableSetupColumn("rȧñkNaam");
|
||||
ImGui.tableSetupColumn("rȧñkRingToon");
|
||||
for (int i=0;i<numberMatrix.geefDimensie();i++) {
|
||||
ImGui.tableSetupColumn("col"+i);
|
||||
}
|
||||
ImGui.tableHeadersRow();
|
||||
|
||||
for (NumberMatrix𓄯<?> part:numberMatrix.waardes().iterableᴼᶠ()) {
|
||||
ImGui.tableNextRow();
|
||||
|
||||
ImGui.tableNextColumn();
|
||||
ImGui.text(part.rȧñkNaam());
|
||||
|
||||
ImGui.tableNextColumn();
|
||||
ImGui.text(part.rȧñkRingToon());
|
||||
|
||||
for (int i=0;i<numberMatrix.geefDimensie();i++) {
|
||||
ImGui.tableNextColumn();
|
||||
ImGui.text(Integer.toString(part.rȧñkNummerBlokWaarde(i)));
|
||||
}
|
||||
}
|
||||
ImGui.endTable();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,209 @@
|
|||
/*
|
||||
* 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 love.distributedrebirth.gdxapp4d.app.glyphdemo.apps;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.ResourceBundle;
|
||||
|
||||
import imgui.ImGui;
|
||||
import imgui.flag.ImGuiTableFlags;
|
||||
import imgui.type.ImBoolean;
|
||||
import imgui.type.ImInt;
|
||||
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 ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᐪᓫᕽᐪ.ᒻᑊᣕᕐᓑᣔ.嘴ᗮᙿᗮ;
|
||||
import ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᐪᓫᕽᐪ.ᓑᣕᣳᒼᐤᒄᓫ.BaseGlyphSet;
|
||||
import ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᣳᣝᐤᣜᣳ.ᐪᓫᣗᔿᑊᣕᣔᐪᐤᣗ.TTꞱꞱᖟGateway;
|
||||
import ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᣳᣝᐤᣜᣳ.ᐪᓫᣗᔿᑊᣕᣔᐪᐤᣗ.ᐦ.TerminatorGun;
|
||||
import ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᣳᣝᐤᣜᣳ.ᐪᓫᣗᔿᑊᣕᣔᐪᐤᣗ.ᐦ.Terminator𓄯;
|
||||
import ᒢᐩᐩ.ᒼᐤᒻᒻᓫᒼᐪᑊᐤᣕᔆ.Listᴿᵈ;
|
||||
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注;
|
||||
|
||||
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||
public class DemoNumberPartDeskApp extends AbstractDeskApp implements DeskAppRenderer {
|
||||
|
||||
private final ResourceBundle bundle;
|
||||
private ImInt selectedBasePart = new ImInt();
|
||||
private final ImBoolean showBase10 = new ImBoolean(false);
|
||||
private final ImBoolean showBase16 = new ImBoolean(false);
|
||||
private final ImBoolean showBase27 = new ImBoolean(false);
|
||||
|
||||
public DemoNumberPartDeskApp(ResourceBundle bundle) {
|
||||
this.bundle = bundle;
|
||||
}
|
||||
|
||||
private String getTxt(String key) {
|
||||
return bundle.getString(DemoNumberPartDeskApp.class.getSimpleName()+"."+key);
|
||||
}
|
||||
|
||||
public void create() {
|
||||
getContours().setTitle(getTxt("title"));
|
||||
getContours().registrateContour(DeskAppContourSection.MAIN, this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render() {
|
||||
List<String> pieTypes = new ArrayList<>();
|
||||
for (int pieType:TTꞱꞱᖟGateway.亞.bakedPieSlices()) {
|
||||
pieTypes.add(Integer.toString(pieType));
|
||||
}
|
||||
String[] items = new String[pieTypes.size()];
|
||||
items = pieTypes.toArray(items);
|
||||
String selectedItem = items[selectedBasePart.get()];
|
||||
Integer pieNumber = Integer.valueOf(selectedItem);
|
||||
Listᴿᵈ<? extends Terminator𓄯<?>> baseParts = TTꞱꞱᖟGateway.亞.deliverPieSlices(pieNumber);
|
||||
|
||||
ImGui.combo(getTxt("selectBase"), selectedBasePart, items);
|
||||
|
||||
ImGui.text(getTxt("selectName"));
|
||||
ImGui.sameLine();
|
||||
ImGui.text(baseParts.getᴿᵈ(0).getClass().getName());
|
||||
|
||||
ImGui.text(getTxt("selectPurpose"));
|
||||
ImGui.sameLine();
|
||||
|
||||
String text = baseParts.getᴿᵈ(0).ráàmDuytsNaam(嘴ᗮᙿᗮ.English.class);
|
||||
text += ": The distribution by " + baseParts.getᴿᵈ(0).teŀráàmGroote();
|
||||
text += " - " + baseParts.getᴿᵈ(0).ráàmDuytsChina(嘴ᗮᙿᗮ.English.class);
|
||||
ImGui.text(text);
|
||||
|
||||
ImGui.checkbox(getTxt("showBase10"), showBase10);
|
||||
ImGui.checkbox(getTxt("showBase16"), showBase16);
|
||||
ImGui.checkbox(getTxt("showBase27"), showBase27);
|
||||
|
||||
int columns = 12;
|
||||
if (showBase10.get()) {
|
||||
columns += 4;
|
||||
}
|
||||
if (showBase16.get()) {
|
||||
columns += 4;
|
||||
}
|
||||
if (showBase27.get()) {
|
||||
columns += 5;
|
||||
}
|
||||
|
||||
int flags = ImGuiTableFlags.ScrollX | ImGuiTableFlags.RowBg | ImGuiTableFlags.BordersOuter | ImGuiTableFlags.BordersV;
|
||||
ImGui.beginTable("base-part", columns, flags);
|
||||
ImGui.tableSetupColumn("BȍőnNaam");
|
||||
ImGui.tableSetupColumn("TelNul");
|
||||
ImGui.tableSetupColumn("TelEen");
|
||||
ImGui.tableSetupColumn("Tone");
|
||||
if (showBase10.get()) {
|
||||
ImGui.tableSetupColumn("10Tone");
|
||||
ImGui.tableSetupColumn("10Kor");
|
||||
ImGui.tableSetupColumn("10Beng");
|
||||
ImGui.tableSetupColumn("10Arab");
|
||||
}
|
||||
if (showBase16.get()) {
|
||||
ImGui.tableSetupColumn("16Tone");
|
||||
ImGui.tableSetupColumn("16Hie");
|
||||
ImGui.tableSetupColumn("16Runi");
|
||||
ImGui.tableSetupColumn("16LatB");
|
||||
}
|
||||
if (showBase27.get()) {
|
||||
ImGui.tableSetupColumn("27Tone");
|
||||
ImGui.tableSetupColumn("27Kor");
|
||||
ImGui.tableSetupColumn("27LatB");
|
||||
ImGui.tableSetupColumn("27Gre");
|
||||
ImGui.tableSetupColumn("27Mala");
|
||||
}
|
||||
ImGui.tableSetupColumn("prcK");
|
||||
ImGui.tableSetupColumn("prcV");
|
||||
ImGui.tableSetupColumn("Alt1");
|
||||
ImGui.tableSetupColumn("Alt2");
|
||||
ImGui.tableSetupColumn("Alt3");
|
||||
ImGui.tableSetupColumn("Alt4");
|
||||
ImGui.tableSetupColumn("Alt5");
|
||||
ImGui.tableSetupColumn("Alt6");
|
||||
ImGui.tableHeadersRow();
|
||||
|
||||
for (Terminator𓄯<?> part : baseParts.iterableᴼᶠ()) {
|
||||
ImGui.tableNextRow();
|
||||
ImGui.tableNextColumn();
|
||||
ImGui.text(part.rȧñkNaam());
|
||||
ImGui.tableNextColumn();
|
||||
ImGui.text(Integer.toString(part.rȧñkTelNul()));
|
||||
ImGui.tableNextColumn();
|
||||
ImGui.text(Integer.toString(part.rȧñkTelEen()));
|
||||
ImGui.tableNextColumn();
|
||||
ImGui.text(part.rȧñkRingToon());
|
||||
if (showBase10.get()) {
|
||||
ImGui.tableNextColumn();
|
||||
ImGui.text(BaseGlyphSet.TONE_SCRIPT.BȍőnPrintNumber10(part.rȧñkTelNul(), part.teŀráàmGroote() - 1));
|
||||
ImGui.tableNextColumn();
|
||||
ImGui.text(BaseGlyphSet.KOREAN.BȍőnPrintNumber10(part.rȧñkTelNul(), part.teŀráàmGroote() - 1));
|
||||
ImGui.tableNextColumn();
|
||||
ImGui.text(BaseGlyphSet.BENGALI.BȍőnPrintNumber10(part.rȧñkTelNul(), part.teŀráàmGroote() - 1));
|
||||
ImGui.tableNextColumn();
|
||||
ImGui.text(BaseGlyphSet.ARABIC.BȍőnPrintNumber10(part.rȧñkTelNul(), part.teŀráàmGroote() - 1));
|
||||
}
|
||||
if (showBase16.get()) {
|
||||
ImGui.tableNextColumn();
|
||||
ImGui.text(BaseGlyphSet.TONE_SCRIPT.BȍőnPrintNumber16(part.rȧñkTelNul(), part.teŀráàmGroote() - 1));
|
||||
ImGui.tableNextColumn();
|
||||
ImGui.text(BaseGlyphSet.HIERO.BȍőnPrintNumber16(part.rȧñkTelNul(), part.teŀráàmGroote() - 1));
|
||||
ImGui.tableNextColumn();
|
||||
ImGui.text(BaseGlyphSet.RUNIC.BȍőnPrintNumber16(part.rȧñkTelNul(), part.teŀráàmGroote() - 1));
|
||||
ImGui.tableNextColumn();
|
||||
ImGui.text(BaseGlyphSet.LATIN_BASIC.BȍőnPrintNumber16(part.rȧñkTelNul(), part.teŀráàmGroote() - 1));
|
||||
}
|
||||
if (showBase27.get()) {
|
||||
ImGui.tableNextColumn();
|
||||
ImGui.text(BaseGlyphSet.TONE_SCRIPT.BȍőnPrintNumber27(part.rȧñkTelNul(), part.teŀráàmGroote() - 1));
|
||||
ImGui.tableNextColumn();
|
||||
ImGui.text(BaseGlyphSet.KOREAN.BȍőnPrintNumber27(part.rȧñkTelNul(), part.teŀráàmGroote() - 1));
|
||||
ImGui.tableNextColumn();
|
||||
ImGui.text(BaseGlyphSet.LATIN_BASIC.BȍőnPrintNumber27(part.rȧñkTelNul(), part.teŀráàmGroote() - 1));
|
||||
ImGui.tableNextColumn();
|
||||
ImGui.text(BaseGlyphSet.GREEK.BȍőnPrintNumber27(part.rȧñkTelNul(), part.teŀráàmGroote() - 1));
|
||||
ImGui.tableNextColumn();
|
||||
ImGui.text(BaseGlyphSet.MALAYALAM.BȍőnPrintNumber27(part.rȧñkTelNul(), part.teŀráàmGroote() - 1));
|
||||
}
|
||||
ImGui.tableNextColumn();
|
||||
ImGui.text(part.rȧñkChinaSleutel());
|
||||
ImGui.tableNextColumn();
|
||||
ImGui.text(part.rȧñkChinaWaarde());
|
||||
|
||||
List<Class<? extends TerminatorGun>> guns = part.ráàmGunTypes();
|
||||
for (int i=0;i<6;i++) {
|
||||
if (guns.size() > i) {
|
||||
Class<? extends TerminatorGun> gunType = guns.get(i);
|
||||
String gunFire = part.rȧñkGunFire(gunType);
|
||||
ImGui.tableNextColumn();
|
||||
ImGui.text(gunFire);
|
||||
} else {
|
||||
ImGui.tableNextColumn();
|
||||
ImGui.text("");
|
||||
}
|
||||
}
|
||||
}
|
||||
ImGui.endTable();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,97 @@
|
|||
/*
|
||||
* 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 love.distributedrebirth.gdxapp4d.app.glyphdemo.apps;
|
||||
|
||||
import java.util.ResourceBundle;
|
||||
|
||||
import imgui.ImGui;
|
||||
import imgui.flag.ImGuiTableFlags;
|
||||
import imgui.type.ImBoolean;
|
||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.VrGem4Unicode4DService;
|
||||
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 love.distributedrebirth.unicode4d.draw.ImCharacter;
|
||||
import ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᐪᓫᕽᐪ.ᓑᣕᣳᒼᐤᒄᓫ.UnicodePlane;
|
||||
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注;
|
||||
|
||||
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||
public class DemoUnicodePlaneDeskApp extends AbstractDeskApp implements DeskAppRenderer {
|
||||
|
||||
private final VrGem4Unicode4DService unicode4DService;
|
||||
private final ResourceBundle bundle;
|
||||
private final ImBoolean render4DPlane0 = new ImBoolean(false);
|
||||
|
||||
public DemoUnicodePlaneDeskApp(ResourceBundle bundle, VrGem4Unicode4DService unicode4DService) {
|
||||
this.unicode4DService = unicode4DService;
|
||||
this.bundle = bundle;
|
||||
}
|
||||
|
||||
private String getTxt(String key) {
|
||||
return bundle.getString(DemoUnicodePlaneDeskApp.class.getSimpleName()+"."+key);
|
||||
}
|
||||
|
||||
public void create() {
|
||||
getContours().setTitle(getTxt("title"));
|
||||
getContours().registrateContour(DeskAppContourSection.MAIN, this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render() {
|
||||
ImGui.checkbox(getTxt("render4DPlane0"), render4DPlane0);
|
||||
int flags = ImGuiTableFlags.ScrollX | ImGuiTableFlags.RowBg | ImGuiTableFlags.BordersOuter | ImGuiTableFlags.BordersV | ImGuiTableFlags.Resizable;
|
||||
ImGui.beginTable("base-part", 2, flags);
|
||||
ImGui.tableSetupColumn(getTxt("colPlane"));
|
||||
ImGui.tableSetupColumn(getTxt("colText"));
|
||||
ImGui.tableHeadersRow();
|
||||
for (UnicodePlane plane:UnicodePlane.values()) {
|
||||
if (!plane.isPlaneValid()) {
|
||||
continue;
|
||||
}
|
||||
StringBuilder buf = new StringBuilder();
|
||||
int offset = 33;
|
||||
for (int i=plane.getStart()+offset;i<plane.getStart()+33+offset;i++) {
|
||||
buf.appendCodePoint(i);
|
||||
if (plane.isPlane0() && render4DPlane0.get() == false) {
|
||||
buf.append(" ");
|
||||
}
|
||||
}
|
||||
|
||||
ImGui.tableNextRow();
|
||||
ImGui.tableNextColumn();
|
||||
ImGui.text(plane.name());
|
||||
ImGui.tableNextColumn();
|
||||
if (plane.isPlane0() && render4DPlane0.get() == false) {
|
||||
ImGui.text(buf.toString());
|
||||
} else {
|
||||
ImCharacter.render("row"+plane.name(), buf.toString(), '?', v -> unicode4DService.getCharacterForUnicode(v));
|
||||
}
|
||||
}
|
||||
ImGui.endTable();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,208 @@
|
|||
/*
|
||||
* 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 love.distributedrebirth.gdxapp4d.app.glyphdemo.apps;
|
||||
|
||||
import java.math.BigInteger;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import imgui.ImGui;
|
||||
import imgui.flag.ImGuiTableFlags;
|
||||
import imgui.type.ImDouble;
|
||||
import imgui.type.ImInt;
|
||||
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.forwardfire.unitxc.UnitXCManager;
|
||||
import net.forwardfire.unitxc.model.UnitXCGroup;
|
||||
import net.forwardfire.unitxc.model.UnitXCType;
|
||||
import ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᐪᓫᕽᐪ.ᓑᣕᣳᒼᐤᒄᓫ.BaseGlyphSet;
|
||||
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注;
|
||||
|
||||
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||
public class DemoUnitConverterDeskApp extends AbstractDeskApp implements DeskAppRenderer {
|
||||
|
||||
private final UnitXCManager unitManager;
|
||||
private final List<UnitXCType> unitTypes;
|
||||
private final List<UnitXCGroup> unitGroups;
|
||||
private final Map<String, String> unitTypesFlags;
|
||||
private final Map<String, String> unitTypesValues;
|
||||
private final String[] unitGroupNames;
|
||||
private final ImDouble convertValue = new ImDouble(1234);
|
||||
private final ImInt convertFromGroup = new ImInt();
|
||||
private final ImInt convertFromType = new ImInt();
|
||||
private final ImInt unitTypeLimit = new ImInt(5432);
|
||||
private final List<UnitXCType> convertFromTypes;
|
||||
private final BigInteger totalUnits;
|
||||
private final ImInt selectedNumberGlyph = new ImInt();
|
||||
private String[] convertFromTypeNames;
|
||||
|
||||
public DemoUnitConverterDeskApp(UnitXCManager unitManager) {
|
||||
this.unitManager = unitManager;
|
||||
this.unitTypes = new ArrayList<>();
|
||||
this.unitGroups = unitManager.getConfig().getUnitGroups();
|
||||
this.unitTypesFlags = new HashMap<>();
|
||||
this.unitTypesValues = new HashMap<>();
|
||||
this.convertFromTypes = new ArrayList<>();
|
||||
|
||||
List<String> names = new ArrayList<>();
|
||||
for (UnitXCGroup typeGroup:unitGroups) {
|
||||
names.add(typeGroup.getName().getValue("und"));
|
||||
}
|
||||
unitGroupNames = names.toArray(new String[names.size()]);
|
||||
|
||||
long ts = 0l;
|
||||
for (UnitXCGroup typeGroup:unitManager.getConfig().getUnitGroups()) {
|
||||
UnitXCType type = unitManager.getUnitType(typeGroup.getBaseTypeId());
|
||||
if (type == null) {
|
||||
throw new IllegalStateException("No base type for: "+typeGroup.getId()+" needs: "+typeGroup.getBaseTypeId());
|
||||
}
|
||||
long tc = typeGroup.getUnitTypeSize();
|
||||
ts += tc;
|
||||
}
|
||||
this.totalUnits = BigInteger.valueOf(ts); // TODO: goto DEC144 for counting unit types
|
||||
|
||||
updateConvertFromType();
|
||||
updateUnitType();
|
||||
}
|
||||
|
||||
public void create() {
|
||||
getContours().setTitle("Unitˣᶜ Converter");
|
||||
getContours().registrateContour(DeskAppContourSection.MAIN, this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render() {
|
||||
List<String> bases = new ArrayList<>();
|
||||
for (BaseGlyphSet base:BaseGlyphSet.values()) {
|
||||
bases.add(base.name());
|
||||
}
|
||||
String[] items = new String[bases.size()];
|
||||
items = bases.toArray(items);
|
||||
ImGui.combo("HexType", selectedNumberGlyph, items);
|
||||
String selectedItem = items[selectedNumberGlyph.get()];
|
||||
BaseGlyphSet hexNumber = BaseGlyphSet.valueOf(selectedItem);
|
||||
|
||||
//String amount10 = totalUnits.toString(T10PartDecimal.STATIC.BãßĦǿɇṽḝę̃ɬḪễïđ());
|
||||
String amount10 = BaseGlyphSet.LATIN_BASIC.BȍőnPrintNumber10(totalUnits);
|
||||
String amount16 = hexNumber.BȍőnPrintNumber16(totalUnits);
|
||||
|
||||
ImGui.text("Total units loaded: "+amount10+" (0x"+amount16+")");
|
||||
|
||||
// TODO: don't do update on render thread
|
||||
if (ImGui.inputDouble("ConvertValue", convertValue)) {
|
||||
updateUnitType();
|
||||
}
|
||||
if (ImGui.combo("ConvertFromGroup", convertFromGroup, unitGroupNames)) {
|
||||
updateConvertFromType();
|
||||
updateUnitType();
|
||||
}
|
||||
if (ImGui.combo("ConvertFromType", convertFromType, convertFromTypeNames)) {
|
||||
updateUnitType();
|
||||
}
|
||||
UnitXCGroup typeGroup = unitGroups.get(convertFromGroup.get());
|
||||
if (ImGui.sliderInt("Limit of: "+typeGroup.getUnitTypeSize(), unitTypeLimit.getData(), 1000, 100000)) {
|
||||
updateUnitType();
|
||||
}
|
||||
|
||||
int flags = ImGuiTableFlags.ScrollX | ImGuiTableFlags.RowBg | ImGuiTableFlags.BordersOuter | ImGuiTableFlags.BordersV | ImGuiTableFlags.Resizable;
|
||||
ImGui.beginTable("unit-types", 4, flags);
|
||||
ImGui.tableSetupColumn("value");
|
||||
ImGui.tableSetupColumn("id");
|
||||
ImGui.tableSetupColumn("name");
|
||||
ImGui.tableSetupColumn("flags");
|
||||
ImGui.tableHeadersRow();
|
||||
for (UnitXCType unitType:unitTypes) {
|
||||
ImGui.tableNextRow();
|
||||
ImGui.tableNextColumn();
|
||||
ImGui.text(unitTypesValues.get(unitType.getId()));
|
||||
ImGui.tableNextColumn();
|
||||
ImGui.text(unitType.getId());
|
||||
ImGui.tableNextColumn();
|
||||
ImGui.text(unitType.getName());
|
||||
ImGui.tableNextColumn();
|
||||
ImGui.text(unitTypesFlags.get(unitType.getId()));
|
||||
ImGui.tableNextColumn();
|
||||
}
|
||||
ImGui.endTable();
|
||||
}
|
||||
|
||||
private void updateConvertFromType() {
|
||||
convertFromTypes.clear();
|
||||
convertFromType.set(0);
|
||||
int i = 0;
|
||||
UnitXCGroup typeGroup = unitGroups.get(convertFromGroup.get());
|
||||
Iterator<String> types = typeGroup.getUnitTypeIds();
|
||||
List<String> names = new ArrayList<>();
|
||||
while (types.hasNext()) {
|
||||
i++;
|
||||
if (i>1000) {
|
||||
break;
|
||||
}
|
||||
UnitXCType unitType = typeGroup.getUnitType(types.next());
|
||||
names.add(unitType.getName());
|
||||
convertFromTypes.add(unitType);
|
||||
}
|
||||
convertFromTypeNames = names.toArray(new String[names.size()]);
|
||||
}
|
||||
|
||||
private void updateUnitType() {
|
||||
unitTypes.clear();
|
||||
unitTypesFlags.clear();
|
||||
unitTypesValues.clear();
|
||||
|
||||
int limitCounter = 0;
|
||||
UnitXCType fromType = convertFromTypes.get(convertFromType.get());
|
||||
UnitXCGroup typeGroup = unitGroups.get(convertFromGroup.get());
|
||||
Iterator<String> types = typeGroup.getUnitTypeIds();
|
||||
while (types.hasNext()) {
|
||||
limitCounter++;
|
||||
if (limitCounter>unitTypeLimit.get()) {
|
||||
break;
|
||||
}
|
||||
UnitXCType unitType = typeGroup.getUnitType(types.next());
|
||||
unitTypes.add(unitType);
|
||||
unitTypesFlags.put(unitType.getId(), StringUtils.join(unitType.getTypeFlags(), ","));
|
||||
try {
|
||||
double convertRaw = convertValue.get();
|
||||
double convertOut = unitManager.getConverter().convert(convertRaw, fromType.getId(), unitType.getId());
|
||||
|
||||
unitTypesValues.put(unitType.getId(), String.valueOf(convertOut));
|
||||
} catch (IllegalArgumentException ignore) {
|
||||
//java.lang.IllegalArgumentException: from and to groups are not equals: second != metre
|
||||
break; // cross group jump is ~supported, but in here its is a bug somewhere and i also get;
|
||||
// [libjvm.so] AccessInternal::PostRuntimeDispatch<G1BarrierSet::AccessBarrier<0ul, G1BarrierSet>, (AccessInternal::BarrierType)2, 0ul>::oop_access_barrier(void*)+0x1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
DemoGlyphSetDeskApp.title=Demo Glyph Set
|
||||
DemoGlyphSetDeskApp.showBase27=Show base27
|
||||
DemoGlyphSetDeskApp.colScript=Script
|
||||
DemoGlyphSetDeskApp.col10Num=10Numbers
|
||||
DemoGlyphSetDeskApp.col16Num=16Numbers
|
||||
DemoGlyphSetDeskApp.col27Num=27Numbers
|
||||
|
||||
DemoNumberPartDeskApp.title=Demo Number Parts
|
||||
DemoNumberPartDeskApp.selectBase=Base
|
||||
DemoNumberPartDeskApp.selectName=Name:
|
||||
DemoNumberPartDeskApp.selectPurpose=Purpose:
|
||||
DemoNumberPartDeskApp.showBase10=Show base10
|
||||
DemoNumberPartDeskApp.showBase16=Show base16
|
||||
DemoNumberPartDeskApp.showBase27=Show base27
|
||||
|
||||
DemoUnicodePlaneDeskApp.title=Demo Unicode Plane
|
||||
DemoUnicodePlaneDeskApp.colPlane=Unicode Plane
|
||||
DemoUnicodePlaneDeskApp.colText=Example
|
||||
DemoUnicodePlaneDeskApp.render4DPlane0=Show all in unicode4D
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
DemoGlyphSetDeskApp.title=\u6F14\u793A\u5B57\u5F62\u96C6
|
||||
DemoGlyphSetDeskApp.showBase27=\u663E\u793A \u5927\u558A\u5927\u53EB
|
||||
DemoGlyphSetDeskApp.colScript=\u811A\u672C
|
||||
DemoGlyphSetDeskApp.col10Num=10 \u4E2A\u6570\u5B57
|
||||
DemoGlyphSetDeskApp.col16Num=16 \u4E2A\u6570\u5B57
|
||||
DemoGlyphSetDeskApp.col27Num=27 \u4E2A\u6570\u5B57
|
||||
|
||||
DemoNumberPartDeskApp.title=\u6F14\u793A\u7F16\u53F7\u96F6\u4EF6
|
||||
DemoNumberPartDeskApp.selectBase=\u6839\u636E
|
||||
DemoNumberPartDeskApp.selectName=\u59D3\u540D:
|
||||
DemoNumberPartDeskApp.selectPurpose=\u76EE\u7684:
|
||||
DemoNumberPartDeskApp.showBase10=\u663E\u793A \u57FA\u657010
|
||||
DemoNumberPartDeskApp.showBase16=\u663E\u793A \u57FA\u657016
|
||||
DemoNumberPartDeskApp.showBase27=\u663E\u793A \u57FA\u657027
|
||||
|
||||
DemoUnicodePlaneDeskApp.title=\u6F14\u793A \u7EDF\u4E00\u7801 \u98DE\u673A
|
||||
DemoUnicodePlaneDeskApp.colPlane=\u7EDF\u4E00\u7801\u5E73\u9762
|
||||
DemoUnicodePlaneDeskApp.colText=\u4F8B\u5B50
|
||||
DemoUnicodePlaneDeskApp.render4DPlane0=\u5168\u90E8\u663E\u793A \u7EDF\u4E00\u78014D
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
DemoGlyphSetDeskApp.title=Glyph Set
|
||||
DemoGlyphSetDeskApp.showBase27=\uE219\u2005\uE362\u2005\uE0C0\u2005\uE13F\u2005\uE2F4\u2005\uE387\u2005\uE400
|
||||
DemoGlyphSetDeskApp.colScript=\uE2F4\u2005\uE3A1\u2005\uE08B\u2005\uE1CB\u2005\uE2AA\u2005\uE20F
|
||||
DemoGlyphSetDeskApp.col10Num=\uE386\u2005\uE216\u2005\uE171\u2005\uE153\u2005\uE0C0\u2005\uE08C\u2005\uE2F4
|
||||
DemoGlyphSetDeskApp.col16Num=\uE386\u2005\uE3FF\u2005\uE216\u2005\uE171\u2005\uE153\u2005\uE0C0\u2005\uE08C\u2005\uE2F4
|
||||
DemoGlyphSetDeskApp.col27Num=\uE387\u2005\uE400\u2005\uE216\u2005\uE171\u2005\uE153\u2005\uE0C0\u2005\uE08C\u2005\uE2F4
|
||||
|
||||
DemoNumberPartDeskApp.title=Number Parts
|
||||
DemoNumberPartDeskApp.selectBase=\uE0C0\u2005\uE13F\u2005\uE2F4
|
||||
DemoNumberPartDeskApp.selectName=\uE216\u2005\uE13F\u2005\uE153\u2005\uE3EC
|
||||
DemoNumberPartDeskApp.selectPurpose=\uE203\u2005\uE171\u2005\uE08C\u2005\uE203\u2005\uE2F4\u2005\uE3EC
|
||||
DemoNumberPartDeskApp.showBase10=\uE219\u2005\uE362\u2005\uE0C0\u2005\uE13F\u2005\uE2F4\u2005\uE386
|
||||
DemoNumberPartDeskApp.showBase16=\uE219\u2005\uE362\u2005\uE0C0\u2005\uE13F\u2005\uE2F4\u2005\uE386\u2005\uE3FF
|
||||
DemoNumberPartDeskApp.showBase27=\uE219\u2005\uE362\u2005\uE0C0\u2005\uE13F\u2005\uE2F4\u2005\uE387\u2005\uE400
|
||||
|
||||
DemoUnicodePlaneDeskApp.title=Unicode Plane
|
||||
DemoUnicodePlaneDeskApp.colPlane=Unicode Plane
|
||||
DemoUnicodePlaneDeskApp.colText=Example
|
||||
DemoUnicodePlaneDeskApp.render4DPlane0=Show all in unicode4D
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
DemoGlyphSetDeskApp.title=Glyph Set
|
||||
DemoGlyphSetDeskApp.showBase27=Toon basis27
|
||||
DemoGlyphSetDeskApp.colScript=Script
|
||||
DemoGlyphSetDeskApp.col10Num=10Nummer
|
||||
DemoGlyphSetDeskApp.col16Num=16Nummer
|
||||
DemoGlyphSetDeskApp.col27Num=27Nummer
|
||||
|
||||
DemoNumberPartDeskApp.title=Nummer Onderdeel
|
||||
DemoNumberPartDeskApp.selectBase=Basis
|
||||
DemoNumberPartDeskApp.selectName=Naam:
|
||||
DemoNumberPartDeskApp.selectPurpose=Doel:
|
||||
DemoNumberPartDeskApp.showBase10=Toon basis10
|
||||
DemoNumberPartDeskApp.showBase16=Toon basis16
|
||||
DemoNumberPartDeskApp.showBase27=Toon basis27
|
||||
|
||||
DemoUnicodePlaneDeskApp.title=Unicode Vlak
|
||||
DemoUnicodePlaneDeskApp.colPlane=Unicode Vlak
|
||||
DemoUnicodePlaneDeskApp.colText=Voorbeeld
|
||||
DemoUnicodePlaneDeskApp.render4DPlane0=Toon alles in unicode4D
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
DemoGlyphSetDeskApp.title=\u16DE\u16D6\u16D7\u16DF \u16B7\u16DA\u16A4\u16C8\u16BA \u16CB\u16D6\u16CF
|
||||
DemoGlyphSetDeskApp.showBase27=\u16CB\u16BA\u16DF\u16B9 \u16D2\u16A8\u16CB\u16D627
|
||||
DemoGlyphSetDeskApp.colScript=\u16CB\u16B2\u16B1\u16C1\u16C8\u16CF
|
||||
DemoGlyphSetDeskApp.col10Num=10\u16BE\u16A2\u16D7\u16D2\u16D6\u16B1\u16CB
|
||||
DemoGlyphSetDeskApp.col16Num=16\u16BE\u16A2\u16D7\u16D2\u16D6\u16B1\u16CB
|
||||
DemoGlyphSetDeskApp.col27Num=27\u16BE\u16A2\u16D7\u16D2\u16D6\u16B1\u16CB
|
||||
|
||||
DemoNumberPartDeskApp.title=\u16DE\u16D6\u16D7\u16DF \u16BE\u16A2\u16D7\u16D2\u16D6\u16B1 \u16C8\u16A8\u16B1\u16CF\u16CB
|
||||
DemoNumberPartDeskApp.selectBase=\u16D2\u16A8\u16CB\u16D6
|
||||
DemoNumberPartDeskApp.selectName=\u16BE\u16A8\u16D7\u16D6:
|
||||
DemoNumberPartDeskApp.selectPurpose=\u16C8\u16A2\u16B1\u16C8\u16DF\u16CB\u16D6:
|
||||
DemoNumberPartDeskApp.showBase10=\u16CB\u16BA\u16DF\u16B9 \u16D2\u16A8\u16CB\u16D610
|
||||
DemoNumberPartDeskApp.showBase16=\u16CB\u16BA\u16DF\u16B9 \u16D2\u16A8\u16CB\u16D616
|
||||
DemoNumberPartDeskApp.showBase27=\u16CB\u16BA\u16DF\u16B9 \u16D2\u16A8\u16CB\u16D627
|
||||
|
||||
DemoUnicodePlaneDeskApp.title=\u16DE\u16D6\u16D7\u16DF \u16A2\u16BE\u16C1\u16B2\u16DF\u16DE\u16D6 \u16C8\u16DA\u16A8\u16BE\u16D6
|
||||
DemoUnicodePlaneDeskApp.colPlane=\u16A2\u16BE\u16C1\u16B2\u16DF\u16DE\u16D6 \u16C8\u16DA\u16A8\u16BE\u16D6
|
||||
DemoUnicodePlaneDeskApp.colText=\u16D6\u16EA\u16A8\u16D7\u16C8\u16DA\u16D6
|
||||
DemoUnicodePlaneDeskApp.render4DPlane0=\u16CB\u16BA\u16DF\u16B9 \u16A8\u16DA\u16DA \u16C1\u16BE \u16A2\u16BE\u16C1\u16B2\u16DF\u16DE\u16D64\u16DE
|
||||
42
gdxapp4d-app-hewallet/pom.xml
Normal file
42
gdxapp4d-app-hewallet/pom.xml
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
<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>
|
||||
<artifactId>gdxapp4d</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>gdxapp4d-app-hewallet</artifactId>
|
||||
<name>GDXApp⁴ᴰ-App-ארנק עברי</name>
|
||||
<packaging>bundle</packaging>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>love.distributedrebirth.gdxapp4d</groupId>
|
||||
<artifactId>gdxapp4d-vrgem4</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.felix</groupId>
|
||||
<artifactId>maven-bundle-plugin</artifactId>
|
||||
<extensions>true</extensions>
|
||||
<configuration>
|
||||
<exportScr>true</exportScr>
|
||||
<niceManifest>true</niceManifest>
|
||||
<instructions>
|
||||
<_donotcopy>(.git)</_donotcopy>
|
||||
<_dsannotations>*</_dsannotations>
|
||||
<_metatypeannotations>*</_metatypeannotations>
|
||||
<Import-Package>
|
||||
${tos4.packages},
|
||||
${vrgem4.packages}
|
||||
</Import-Package>
|
||||
<Bundle-Vendor>distributedrebirth.love</Bundle-Vendor>
|
||||
</instructions>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
|
|
@ -0,0 +1,68 @@
|
|||
/*
|
||||
* 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 love.distributedrebirth.gdxapp4d.app.hewallet;
|
||||
|
||||
import org.osgi.service.component.annotations.Activate;
|
||||
import org.osgi.service.component.annotations.Component;
|
||||
import org.osgi.service.component.annotations.Deactivate;
|
||||
import org.osgi.service.component.annotations.Reference;
|
||||
|
||||
import love.distributedrebirth.gdxapp4d.tos4.service.SystemGdxLog;
|
||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.VrGem4DeskAppService;
|
||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppLauncher;
|
||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppMenuSection;
|
||||
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注;
|
||||
|
||||
@Component
|
||||
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||
public class HeWalletComponent {
|
||||
|
||||
@Reference
|
||||
private SystemGdxLog log;
|
||||
|
||||
@Reference
|
||||
private VrGem4DeskAppService deskAppService;
|
||||
|
||||
private final DeskAppLauncher launcher;
|
||||
|
||||
public HeWalletComponent() {
|
||||
launcher = new DeskAppLauncher(DeskAppMenuSection.INTERNET, "Hebrew Wallet", () -> new HeWalletDeskApp());
|
||||
}
|
||||
|
||||
@Activate
|
||||
void open() {
|
||||
log.debug(this, SystemGdxLog.ACTIVATE);
|
||||
deskAppService.installDeskApp(launcher);
|
||||
}
|
||||
|
||||
@Deactivate
|
||||
void close() {
|
||||
log.debug(this, SystemGdxLog.DEACTIVATE);
|
||||
deskAppService.removeDeskApp(launcher);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,133 @@
|
|||
/*
|
||||
* 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 love.distributedrebirth.gdxapp4d.app.hewallet;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import imgui.ImGui;
|
||||
import imgui.flag.ImGuiTableFlags;
|
||||
import imgui.type.ImInt;
|
||||
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 ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᐪᓫᕽᐪ.ᓑᣕᣳᒼᐤᒄᓫ.BaseGlyphSet;
|
||||
import ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᐪᓫᕽᐪ.ᓑᣕᣳᒼᐤᒄᓫ.SourceGlyphCharSet;
|
||||
import ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᣳᣝᐤᣜᣳ.ᒃᐤᣗᕐᒼᓑᒃᓫ.Gê̄ldGetậl;
|
||||
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注;
|
||||
|
||||
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||
public class HeWalletDeskApp extends AbstractDeskApp implements DeskAppRenderer {
|
||||
|
||||
private final List<String> walletData = new ArrayList<String>();
|
||||
private final List<String> paymentData = new ArrayList<String>();
|
||||
private final ImInt selectedNumberGlyph = new ImInt();
|
||||
private final ImInt selectedSourceGlyph = new ImInt();
|
||||
|
||||
public void create() {
|
||||
getContours().setTitle("Hebrew Wallet");
|
||||
getContours().registrateContour(DeskAppContourSection.MAIN, this);
|
||||
|
||||
String[] walletDataExample = {
|
||||
"יהוה","יְסוֺד","שְׁלֹמֹה","ה","מ","מָ","ח","חֱ","חֱמָא",
|
||||
"א","בד","ב","ד","ץףן",
|
||||
"הזפץ","מספר","צצצצ","ץאאא","ץאא","דואר"
|
||||
};
|
||||
String[] paymentDataExample = {
|
||||
"מִזְ","מ֗וֹר","לְאָ֫","סָ֥ף","אֱלֹ","הִ֗ים","נִצָּ֥ב","בַּֽעֲדַ","ת־","אֵ֑ל","בְּקֶ֖","רֶב","אֱלֹ","הִ֣ים","יִשְׁ","פֹּֽט",
|
||||
"עַד־","מָתַ֣י","תִּ","שְׁפְּ","טוּ־","עָ֑וֶל","וּפְנֵ֥י","רְ֜שָׁ","עִ֗ים","תִּשְׂ","אוּ־סֶֽ","לָה",
|
||||
"שִׁפְט","וּ־דָ֥ל","וְיָת֑","וֹם","עָנִ֖י","וָרָ֣שׁ","הַצְדִּֽ","יקוּ",
|
||||
"פַּלְּט","וּ־דַ֣ל","וְאֶבְ","י֑וֹן","מִיַּ֖ד","רְשָׁ","עִ֣ים","הַצִּֽ","ילוּ",
|
||||
"לֹ֚יָֽ","דְע֨וּ","וְלֹ֬א","יָבִ֗","ינוּ","בַּֽחֲ","שֵׁכָ֥ה","יִתְהַ","לָּ֑כוּ","יִ֜מּ֗","וֹטוּ","כָּל־מ֥","וֹסְדֵי","אָֽרֶץ",
|
||||
"אֲֽנִ֣י","אָ֖מַ","רְתִּי","אֱלֹ","הִ֣ים","אַתֶּ֑ם","וּבְנֵ֖י","עֶלְ","י֣וֹן","כֻּלְּ","כֶֽם",
|
||||
"אָכֵ֥ן","כְּאָ","דָ֣ם","תְּמוּ","ת֑וּן","וּכְאַ","חַ֖ד","הַשָּׂ","רִ֣ים","תִּפֹּֽ","לוּ",
|
||||
"קוּ","מָ֣ה","אֱ֖לֹ","הִים","שָׁפְ","טָ֣ה","הָאָ֑","רֶץ","כִּֽי־","אַתָּ֥ה","תִ֜נְ",
|
||||
"חַ֗ל","בְּכָל","־הַגּ","וֹיִֽם",
|
||||
};
|
||||
for (String data:walletDataExample) {
|
||||
walletData.add(data);
|
||||
}
|
||||
for (String data:paymentDataExample) {
|
||||
paymentData.add(data);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render() {
|
||||
ImGui.text("Current amount:");
|
||||
ImGui.sameLine();
|
||||
ImGui.text("0000");
|
||||
ImGui.separator();
|
||||
|
||||
List<String> bases = new ArrayList<>();
|
||||
for (BaseGlyphSet base:BaseGlyphSet.values()) {
|
||||
bases.add(base.name());
|
||||
}
|
||||
String[] items = new String[bases.size()];
|
||||
items = bases.toArray(items);
|
||||
ImGui.combo("GlyphType", selectedNumberGlyph, items);
|
||||
String selectedItem = items[selectedNumberGlyph.get()];
|
||||
BaseGlyphSet baseNumber = BaseGlyphSet.valueOf(selectedItem);
|
||||
|
||||
|
||||
List<String> bases2 = new ArrayList<>();
|
||||
for (SourceGlyphCharSet base2:SourceGlyphCharSet.values()) {
|
||||
bases2.add(base2.name());
|
||||
}
|
||||
String[] items2 = new String[bases2.size()];
|
||||
items2 = bases2.toArray(items2);
|
||||
ImGui.combo("SourceType", selectedSourceGlyph, items2);
|
||||
String selectedItem2 = items2[selectedSourceGlyph.get()];
|
||||
SourceGlyphCharSet sourceCharset = SourceGlyphCharSet.valueOf(selectedItem2);
|
||||
|
||||
if (!paymentData.isEmpty() && ImGui.button("Pay" )) {
|
||||
walletData.add(paymentData.remove(0));
|
||||
}
|
||||
int flags = ImGuiTableFlags.ScrollX | ImGuiTableFlags.RowBg | ImGuiTableFlags.BordersOuter | ImGuiTableFlags.BordersV | ImGuiTableFlags.Resizable;
|
||||
ImGui.beginTable("wallet", 4, flags);
|
||||
ImGui.tableSetupColumn("In/Out");
|
||||
ImGui.tableSetupColumn("Amount");
|
||||
ImGui.tableSetupColumn("Fraction");
|
||||
ImGui.tableSetupColumn("Decimal");
|
||||
ImGui.tableHeadersRow();
|
||||
|
||||
for (String data:walletData) {
|
||||
Gê̄ldGetậl geld = new Gê̄ldGetậl(data);
|
||||
ImGui.tableNextRow();
|
||||
ImGui.tableNextColumn();
|
||||
ImGui.text(data.length()==2||data.length()==3?"OUT":"IN");
|
||||
ImGui.tableNextColumn();
|
||||
ImGui.text(geld.toHebrewString(true)); // true=reverse for ImGui
|
||||
ImGui.tableNextColumn();
|
||||
ImGui.text(geld.toFractionNotation(baseNumber, sourceCharset));
|
||||
ImGui.tableNextColumn();
|
||||
ImGui.text(Double.toString(geld.toDecimalValue()));
|
||||
}
|
||||
ImGui.endTable();
|
||||
}
|
||||
}
|
||||
54
gdxapp4d-app-mmdoc/pom.xml
Normal file
54
gdxapp4d-app-mmdoc/pom.xml
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
<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>
|
||||
<artifactId>gdxapp4d</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>gdxapp4d-app-mmdoc</artifactId>
|
||||
<name>GDXApp⁴ᴰ-App-﷽</name>
|
||||
<packaging>bundle</packaging>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>love.distributedrebirth.gdxapp4d</groupId>
|
||||
<artifactId>gdxapp4d-vrgem4</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.core</groupId>
|
||||
<artifactId>jackson-core</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.core</groupId>
|
||||
<artifactId>jackson-databind</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.felix</groupId>
|
||||
<artifactId>maven-bundle-plugin</artifactId>
|
||||
<extensions>true</extensions>
|
||||
<configuration>
|
||||
<exportScr>true</exportScr>
|
||||
<niceManifest>true</niceManifest>
|
||||
<instructions>
|
||||
<_donotcopy>(.git)</_donotcopy>
|
||||
<_dsannotations>*</_dsannotations>
|
||||
<_metatypeannotations>*</_metatypeannotations>
|
||||
<Import-Package>
|
||||
${tos4.packages},
|
||||
${vrgem4.packages},
|
||||
${mmdoc.packages},
|
||||
${mariadb.packages}
|
||||
</Import-Package>
|
||||
<Bundle-Vendor>distributedrebirth.love</Bundle-Vendor>
|
||||
</instructions>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
|
|
@ -0,0 +1,72 @@
|
|||
/*
|
||||
* 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 love.distributedrebirth.gdxapp4d.app.mmdoc;
|
||||
|
||||
import org.osgi.service.component.annotations.Activate;
|
||||
import org.osgi.service.component.annotations.Component;
|
||||
import org.osgi.service.component.annotations.Deactivate;
|
||||
import org.osgi.service.component.annotations.Reference;
|
||||
|
||||
import love.distributedrebirth.gdxapp4d.tos4.service.SystemGdxBootArgs;
|
||||
import love.distributedrebirth.gdxapp4d.tos4.service.SystemGdxLog;
|
||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.VrGem4DeskAppService;
|
||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppLauncher;
|
||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppMenuSection;
|
||||
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注;
|
||||
|
||||
@Component
|
||||
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||
public class MMDocComponent {
|
||||
|
||||
@Reference
|
||||
private SystemGdxLog log;
|
||||
|
||||
@Reference
|
||||
private VrGem4DeskAppService deskAppService;
|
||||
|
||||
@Reference
|
||||
private SystemGdxBootArgs bootArgs;
|
||||
|
||||
private final DeskAppLauncher launcher;
|
||||
|
||||
public MMDocComponent() {
|
||||
launcher = new DeskAppLauncher(DeskAppMenuSection.PROGRAMMING, "MMDoc", () -> new MMDocDeskApp(bootArgs.getFileChooser()));
|
||||
}
|
||||
|
||||
@Activate
|
||||
void open() {
|
||||
log.debug(this, SystemGdxLog.ACTIVATE);
|
||||
deskAppService.installDeskApp(launcher);
|
||||
}
|
||||
|
||||
@Deactivate
|
||||
void close() {
|
||||
log.debug(this, SystemGdxLog.DEACTIVATE);
|
||||
deskAppService.removeDeskApp(launcher);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,191 @@
|
|||
/*
|
||||
* 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 love.distributedrebirth.gdxapp4d.app.mmdoc;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import org.apache.metamodel.DataContext;
|
||||
|
||||
import com.badlogic.gdx.Gdx;
|
||||
import com.badlogic.gdx.files.FileHandle;
|
||||
|
||||
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 = "©Δ∞ 仙上主天")
|
||||
public class MMDocDeskApp extends AbstractDeskApp implements DeskAppRenderer {
|
||||
|
||||
private final NativeFileChooser fileChooser;
|
||||
private final NativeFileChooserConfiguration fileChooserConfig;
|
||||
private final MMDocManager docManager;
|
||||
private final ImString dbHost = new ImString();
|
||||
private final ImString dbName = new ImString();
|
||||
private final ImString dbUser = new ImString();
|
||||
private final ImString dbPass = new ImString();
|
||||
private final ImString docTarget = new ImString();
|
||||
private String result = "";
|
||||
|
||||
public MMDocDeskApp(NativeFileChooser fileChooser) {
|
||||
this.fileChooser = fileChooser;
|
||||
fileChooserConfig = new NativeFileChooserConfiguration();
|
||||
fileChooserConfig.directory = Gdx.files.absolute(System.getProperty("user.home"));
|
||||
fileChooserConfig.title = "Choose file";
|
||||
docManager = new MMDocManager();
|
||||
docManager.loadDrivers();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void exit() {
|
||||
docManager.getDataStore().clearAndCloseAllSafe();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void create() {
|
||||
getContours().setTitle("MMDoc");
|
||||
getContours().registrateContour(DeskAppContourSection.MAIN, this);
|
||||
|
||||
dbHost.set("localhost");
|
||||
dbName.set("test");
|
||||
dbUser.set("user");
|
||||
dbPass.set("pass");
|
||||
docTarget.set("target/mm-doc");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render() {
|
||||
ImGui.inputText("docTarget", docTarget);
|
||||
ImGui.separator();
|
||||
ImGui.inputText("dbHost", dbHost);
|
||||
ImGui.inputText("dbName", dbName);
|
||||
ImGui.inputText("dbUser", dbUser);
|
||||
ImGui.inputText("dbPass", dbPass);
|
||||
ImGui.separator();
|
||||
|
||||
if (ImGui.button("Add XML")) {
|
||||
fileChooser.chooseFile(fileChooserConfig, NativeFileChooserCallbackAdapter.onFileChosen(v -> {
|
||||
docManager.addDocModelXml(v.file());
|
||||
result = "Added XML file";
|
||||
}));
|
||||
}
|
||||
ImGui.sameLine();
|
||||
if (ImGui.button("Add CSV")) {
|
||||
fileChooser.chooseFile(fileChooserConfig, NativeFileChooserCallbackAdapter.onFileChosen(v -> {
|
||||
docManager.addDocModelCsv(v.file());
|
||||
result = "Added CSV file";
|
||||
}));
|
||||
}
|
||||
try {
|
||||
ImGui.sameLine();
|
||||
if (ImGui.button("Add Mariadb")) {
|
||||
docManager.addDocModelJdbcMy(dbHost.get(), dbName.get(), dbUser.get(), dbPass.get());
|
||||
result = "Added MariaDB";
|
||||
}
|
||||
ImGui.sameLine();
|
||||
if (ImGui.button("Add Postgresql")) {
|
||||
docManager.addDocModelJdbcPg(dbHost.get(), dbName.get(), dbUser.get(), dbPass.get());
|
||||
result = "Added Postgresqk DB";
|
||||
}
|
||||
if (ImGui.button("Generate")) {
|
||||
docManager.generate(new File(docTarget.get()));
|
||||
result = "done";
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
result = e.getMessage();
|
||||
}
|
||||
ImGui.sameLine();
|
||||
ImGui.text("Result: "+result);
|
||||
|
||||
ImGui.text("DataSources:");
|
||||
int flags = ImGuiTableFlags.ScrollX | ImGuiTableFlags.RowBg | ImGuiTableFlags.BordersOuter | ImGuiTableFlags.BordersV | ImGuiTableFlags.Resizable;
|
||||
ImGui.beginTable("DataSources", 4, flags);
|
||||
ImGui.tableSetupColumn("Id");
|
||||
ImGui.tableSetupColumn("Type");
|
||||
ImGui.tableSetupColumn("TableCount");
|
||||
ImGui.tableSetupColumn("Remove");
|
||||
ImGui.tableHeadersRow();
|
||||
|
||||
int i=1;
|
||||
String removeId = null;
|
||||
for (Entry<String,DataContext> data:docManager.getDataStore().entrySet()) {
|
||||
ImGui.pushID(i);
|
||||
ImGui.tableNextRow();
|
||||
ImGui.tableNextColumn();
|
||||
ImGui.text(data.getKey());
|
||||
ImGui.tableNextColumn();
|
||||
ImGui.text(data.getValue().getClass().getSimpleName());
|
||||
ImGui.tableNextColumn();
|
||||
ImGui.text(Integer.toString(data.getValue().getDefaultSchema().getTableCount()));
|
||||
ImGui.tableNextColumn();
|
||||
if (ImGui.smallButton("Remove")) {
|
||||
removeId = data.getKey();
|
||||
}
|
||||
ImGui.popID();
|
||||
i++;
|
||||
}
|
||||
ImGui.endTable();
|
||||
|
||||
if (removeId != null) {
|
||||
docManager.getDataStore().removeDataContext(removeId);
|
||||
}
|
||||
}
|
||||
|
||||
static class NativeFileChooserCallbackAdapter implements NativeFileChooserCallback {
|
||||
|
||||
@Override
|
||||
public void onFileChosen(FileHandle file) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCancellation() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(Exception exception) {
|
||||
}
|
||||
|
||||
static NativeFileChooserCallbackAdapter onFileChosen(Consumer<FileHandle> eater) {
|
||||
return new NativeFileChooserCallbackAdapter() {
|
||||
@Override
|
||||
public void onFileChosen(FileHandle file) {
|
||||
eater.accept(file);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,93 @@
|
|||
/*
|
||||
* 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 love.distributedrebirth.gdxapp4d.app.mmdoc;
|
||||
|
||||
import java.io.File;
|
||||
import java.sql.DriverManager;
|
||||
import java.sql.SQLException;
|
||||
|
||||
import org.apache.metamodel.csv.CsvDataContext;
|
||||
import org.eobjects.metamodel.doc.DocModelDataStore;
|
||||
import org.eobjects.metamodel.doc.DocModelWriter;
|
||||
import org.apache.metamodel.jdbc.JdbcDataContext;
|
||||
import org.apache.metamodel.xml.XmlDomDataContext;
|
||||
|
||||
public class MMDocManager {
|
||||
|
||||
private final DocModelDataStore dms = new DocModelDataStore();
|
||||
|
||||
public void loadDrivers() { // mariadb has to be forced to load in ogsi bundle, pg works fine(no osgi info)
|
||||
try {
|
||||
Class.forName(org.postgresql.Driver.class.getName());
|
||||
//Class.forName(org.h2.Driver.class.getName());
|
||||
//Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver.class.getName());
|
||||
Class.forName(org.mariadb.jdbc.Driver.class.getName());
|
||||
} catch (ClassNotFoundException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
public DocModelDataStore getDataStore() {
|
||||
return dms;
|
||||
}
|
||||
|
||||
public void generate(File targetPath) throws Exception {
|
||||
try {
|
||||
DocModelWriter writer = new DocModelWriter(dms);
|
||||
writer.writeModelDoc(targetPath);
|
||||
} finally {
|
||||
//dms.clearAndCloseAllSafe();
|
||||
}
|
||||
}
|
||||
|
||||
public void addDocModelXml(File file) {
|
||||
dms.addDataContext("xml-"+file.getName(),new XmlDomDataContext(file,false));
|
||||
}
|
||||
|
||||
public void addDocModelCsv(File file) {
|
||||
dms.addDataContext("csv-"+file.getName(),new CsvDataContext(file));
|
||||
}
|
||||
|
||||
public void addDocModelJdbcMy(String host, String dbName, String user, String pass) throws SQLException {
|
||||
dms.addDataContext("my-"+dbName,new JdbcDataContext(DriverManager.getConnection("jdbc:mariadb://"+host+"/"+dbName,user,pass)));
|
||||
}
|
||||
|
||||
public void addDocModelJdbcPg(String host, String dbName, String user, String pass) throws SQLException {
|
||||
dms.addDataContext("pg-"+dbName,new JdbcDataContext(DriverManager.getConnection("jdbc:postgresql://"+host+"/"+dbName,user,pass)));
|
||||
}
|
||||
|
||||
public void addDocModelJdbcMs(String host, String dbName, String user, String pass) throws SQLException {
|
||||
dms.addDataContext("ms-"+dbName,new JdbcDataContext(DriverManager.getConnection("jdbc:sqlserver://"+host+";databaseName="+dbName,user,pass)));
|
||||
}
|
||||
|
||||
// @SuppressWarnings("deprecation")
|
||||
// public void addDocModelMongoDB(String host, String dbName, String user, String pass) {
|
||||
// Mongo mongo = new Mongo(new ServerAddress(host),new MongoOptions());
|
||||
// dms.addDataContext("mongo-"+dbName,new MongoDbDataContext(mongo.getDB(dbName)));
|
||||
// }
|
||||
}
|
||||
42
gdxapp4d-app-notepad/pom.xml
Normal file
42
gdxapp4d-app-notepad/pom.xml
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
<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>
|
||||
<artifactId>gdxapp4d</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>gdxapp4d-app-notepad</artifactId>
|
||||
<name>GDXApp⁴ᴰ-App-සටහන් පොත</name>
|
||||
<packaging>bundle</packaging>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>love.distributedrebirth.gdxapp4d</groupId>
|
||||
<artifactId>gdxapp4d-vrgem4</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.felix</groupId>
|
||||
<artifactId>maven-bundle-plugin</artifactId>
|
||||
<extensions>true</extensions>
|
||||
<configuration>
|
||||
<exportScr>true</exportScr>
|
||||
<niceManifest>true</niceManifest>
|
||||
<instructions>
|
||||
<_donotcopy>(.git)</_donotcopy>
|
||||
<_dsannotations>*</_dsannotations>
|
||||
<_metatypeannotations>*</_metatypeannotations>
|
||||
<Import-Package>
|
||||
${tos4.packages},
|
||||
${vrgem4.packages}
|
||||
</Import-Package>
|
||||
<Bundle-Vendor>distributedrebirth.love</Bundle-Vendor>
|
||||
</instructions>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
|
|
@ -0,0 +1,77 @@
|
|||
/*
|
||||
* 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 love.distributedrebirth.gdxapp4d.app.notepad;
|
||||
|
||||
import org.osgi.framework.Bundle;
|
||||
import org.osgi.framework.BundleContext;
|
||||
import org.osgi.framework.FrameworkUtil;
|
||||
import org.osgi.service.component.annotations.Activate;
|
||||
import org.osgi.service.component.annotations.Component;
|
||||
import org.osgi.service.component.annotations.Deactivate;
|
||||
import org.osgi.service.component.annotations.Reference;
|
||||
|
||||
import love.distributedrebirth.gdxapp4d.tos4.service.SystemGdxLog;
|
||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.VrGem4DeskAppService;
|
||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.VrGem4Unicode4DService;
|
||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppLauncher;
|
||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppMenuSection;
|
||||
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注;
|
||||
|
||||
@Component
|
||||
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||
public class NotepadComponent {
|
||||
|
||||
@Reference
|
||||
private SystemGdxLog log;
|
||||
|
||||
@Reference
|
||||
private VrGem4DeskAppService deskAppService;
|
||||
|
||||
@Reference
|
||||
private VrGem4Unicode4DService unicode4DService;
|
||||
|
||||
private final DeskAppLauncher launcher;
|
||||
|
||||
public NotepadComponent() {
|
||||
Bundle bundle = FrameworkUtil.getBundle(NotepadComponent.class);
|
||||
BundleContext context = bundle.getBundleContext();
|
||||
launcher = new DeskAppLauncher(DeskAppMenuSection.EDITORS, "Notepad", () -> new NotepadDeskApp(context, unicode4DService));
|
||||
}
|
||||
|
||||
@Activate
|
||||
void open() {
|
||||
log.debug(this, SystemGdxLog.ACTIVATE);
|
||||
deskAppService.installDeskApp(launcher);
|
||||
}
|
||||
|
||||
@Deactivate
|
||||
void close() {
|
||||
log.debug(this, SystemGdxLog.DEACTIVATE);
|
||||
deskAppService.removeDeskApp(launcher);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,238 @@
|
|||
/*
|
||||
* 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 love.distributedrebirth.gdxapp4d.app.notepad;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
import org.osgi.framework.BundleContext;
|
||||
import org.osgi.framework.ServiceReference;
|
||||
|
||||
import imgui.ImColor;
|
||||
import imgui.ImDrawList;
|
||||
import imgui.ImGui;
|
||||
import imgui.ImVec2;
|
||||
import imgui.type.ImBoolean;
|
||||
import imgui.type.ImInt;
|
||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.VrGem4Unicode4DService;
|
||||
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 love.distributedrebirth.unicode4d.draw.DrawCharacter;
|
||||
import love.distributedrebirth.unicode4d.draw.ImCharacter;
|
||||
import ᒢᐩᐩ.ᒃᣔᔆᔆᒃᐤᐤᣕ.ᒃᐤᣔᐪ.BãßBȍőnBőatꞱᴿᴳᴮ;
|
||||
import ᒢᐩᐩ.ᒃᣔᔆᔆᒃᐤᐤᣕ.ᒄᓫᣔᐪᑋ.BãßBȍőnCoffinGhostCharm;
|
||||
import ᒢᐩᐩ.ᒃᣔᔆᔆᒃᐤᐤᣕ.ᒄᓫᣔᐪᑋ.ᔆᣖᑊᒄᓫᣗ.BãßBȍőnSpiderEgg注;
|
||||
import ᒢᐩᐩ.ᒃᣔᔆᔆᒃᐤᐤᣕ.ᒄᓫᣔᐪᑋ.ᔆᣖᑊᒄᓫᣗ.BãßBȍőnSpiderWire注;
|
||||
import ᒢᐩᐩ.ᒃᣔᔆᔆᒃᐤᐤᣕ.ᒼᒻᣔᙆᙆ.ᣖᑊᣗᣔᐪᓫ.BãßBȍőnꝐḯŕ₳₮ḕʸᴰ;
|
||||
import ᒢᐩᐩ.ᒃᣔᔆᔆᒃᐤᐤᣕ.ᔿᓑᔿᔿᔋᐝᣚ.BãßᛗᚢᛗᛗᛉBoneBabe𓄯;
|
||||
import ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᒢℭỗᶇṧⱦᶏꬼȶʂ;
|
||||
import ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᐪᓫᕽᐪ.ᓑᣕᣳᒼᐤᒄᓫ.UnicodePlane;
|
||||
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注;
|
||||
|
||||
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||
public class NotepadDeskApp extends AbstractDeskApp implements DeskAppRenderer, BãßᛗᚢᛗᛗᛉBoneBabe𓄯<NotepadDeskApp> {
|
||||
|
||||
//private final VrGem4Unicode4DService unicode4DService;
|
||||
private final int gridWidth = 120;
|
||||
private final int gridHeight = 40;
|
||||
private final int[][] gridBuffer;
|
||||
private final int[] gridRank;
|
||||
private final Random random;
|
||||
private int runCounter;
|
||||
private final ImInt runSpeed = new ImInt(ᒢℭỗᶇṧⱦᶏꬼȶʂ.INTᣟᐧᣟTEN);
|
||||
private final ImBoolean runChina = new ImBoolean(false);
|
||||
private final static char DEFAULT_CHAR = '亞';
|
||||
private final static UnicodePlane[] GRID_PLANES = {
|
||||
UnicodePlane.BRAHMI,
|
||||
UnicodePlane.UGARITIC,
|
||||
UnicodePlane.BAMUM_SUPPLEMENT,
|
||||
UnicodePlane.TAI_XUAN_JING_SYMBOLS
|
||||
};
|
||||
private final static UnicodePlane[] GRID_PLANES_CHINA = {
|
||||
UnicodePlane.CJK_UNIFIED_IDEOGRAPHS,
|
||||
UnicodePlane.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A,
|
||||
UnicodePlane.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B,
|
||||
UnicodePlane.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C,
|
||||
UnicodePlane.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D,
|
||||
UnicodePlane.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E,
|
||||
UnicodePlane.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_F
|
||||
};
|
||||
private final static int Y_LINE_COLOR = ImColor.intToColor(200, 10, 10);
|
||||
private String gridChars;
|
||||
private int[] yLine;
|
||||
private float[] yScale;
|
||||
|
||||
enum Ꝑŕḯṿª₮ḕꝐḯŕ₳₮ḕʸᴰ implements BãßBȍőnꝐḯŕ₳₮ḕʸᴰ {
|
||||
𑀳𑁂𑀮𑀺,𑀉𑁄,𑀤𑁄,𑀭𑁂,𑀡,𑀪𑀸,𑀕;
|
||||
private static final BãßBȍőnCoffinGhostCharm GHOST_BUNDLE = BãßBȍőnCoffinGhostCharm.hocusᴾᵒᶜᵘˢ();
|
||||
|
||||
@BãßBȍőnSpiderWire注(paint = BãßBȍőnBőatꞱᴿᴳᴮ.ẞassPaint.ꞱTBoneWire.class)
|
||||
private NotepadDeskApp boon;
|
||||
|
||||
@BãßBȍőnSpiderEgg注
|
||||
public VrGem4Unicode4DService locateVrGem4Unicode4DService() {
|
||||
Class<?> eggType = VrGem4Unicode4DService.class;
|
||||
|
||||
BundleContext context = boon.thisᵀᴮᵒⁿᵉᴳʳᵃᵛᵉ().onheɨlḮg(Ꝑŕḯṿª₮ḕꝐḯŕ₳₮ḕʸᴰ.class).gềễstDɨng(GHOST_BUNDLE, BundleContext.class);
|
||||
ServiceReference<?> serviceRef = context.getServiceReference(eggType);
|
||||
Object service = context.getService(serviceRef);
|
||||
|
||||
return (VrGem4Unicode4DService)service;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@BãßBȍőnSpiderWire注()
|
||||
private VrGem4Unicode4DService unicode4DService;
|
||||
|
||||
public NotepadDeskApp(BundleContext context, VrGem4Unicode4DService unicode4DService3) {
|
||||
|
||||
thisᵀᴮᵒⁿᵉᴳʳᵃᵛᵉ().onheɨlḮgSpreǜk(Ꝑŕḯṿª₮ḕꝐḯŕ₳₮ḕʸᴰ.class).bewaarGềễst(Ꝑŕḯṿª₮ḕꝐḯŕ₳₮ḕʸᴰ.GHOST_BUNDLE, context); // tmp test
|
||||
亞ᶦᶦᶦ.thisʸᴰᐧᐧᶜᵒⁿˢᵗʳᵘᶜᵗᵒʳ(thisᵀᴮᵒⁿᵉ());
|
||||
//this.unicode4DService = unicode4DService;
|
||||
|
||||
this.gridBuffer = new int[gridHeight][gridWidth];
|
||||
this.gridRank = new int[gridWidth];
|
||||
this.random = new Random();
|
||||
for (int y=ᒢℭỗᶇṧⱦᶏꬼȶʂ.INTᣟᐧᣟZERO; y<gridWidth; y++) {
|
||||
gridRank[y] = ᒢℭỗᶇṧⱦᶏꬼȶʂ.INTᣟᐧᣟZERO;
|
||||
for (int x=ᒢℭỗᶇṧⱦᶏꬼȶʂ.INTᣟᐧᣟZERO; x<gridHeight; x++) {
|
||||
gridBuffer[x][y] = ᒢℭỗᶇṧⱦᶏꬼȶʂ.CHARᣟᐧᣟSPACE;
|
||||
}
|
||||
}
|
||||
gridChars = createGridChars();
|
||||
yLine = new int[4];
|
||||
yScale = new float[4];
|
||||
}
|
||||
|
||||
public void create() {
|
||||
getContours().setTitle("Notepad");
|
||||
getContours().registrateContour(DeskAppContourSection.MAIN, this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render() {
|
||||
ImGui.sliderInt(ᒢℭỗᶇṧⱦᶏꬼȶʂ.STRᣟᐧᣟSPACE, runSpeed.getData(), 0, 60); // empty ID not allowed in ImGui, but whitespace is an ID :)
|
||||
ImGui.sameLine();
|
||||
if (ImGui.checkbox("Chinees", runChina)) {
|
||||
gridChars = createGridChars();
|
||||
}
|
||||
ImGui.sameLine();
|
||||
ImCharacter.render("speedId", "Speed", DEFAULT_CHAR, v -> unicode4DService.getCharacterForUnicode(v));
|
||||
|
||||
|
||||
ImGui.invisibleButton("matrix", ImGui.getWindowWidth(), ImGui.getWindowHeight()-(2*ImGui.getFontSize()));
|
||||
ImVec2 p0 = ImGui.getItemRectMin();
|
||||
ImVec2 p1 = ImGui.getItemRectMax();
|
||||
ImDrawList drawList = ImGui.getWindowDrawList();
|
||||
drawList.pushClipRect(p0.x, p0.y, p1.x, p1.y);
|
||||
for(int y=ᒢℭỗᶇṧⱦᶏꬼȶʂ.INTᣟᐧᣟZERO; y<gridHeight; y++) {
|
||||
for(int x=ᒢℭỗᶇṧⱦᶏꬼȶʂ.INTᣟᐧᣟZERO; x<gridWidth; x++) {
|
||||
int unicodeChar = gridBuffer[y][x];
|
||||
DrawCharacter drawChar = unicode4DService.getCharacterForUnicode(unicodeChar);
|
||||
if (drawChar == null) {
|
||||
drawChar = unicode4DService.getCharacterForUnicode(DEFAULT_CHAR);
|
||||
if (drawChar == null) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
float scale = 1f;
|
||||
int color = 0x3c68bb5b;
|
||||
for (int i=0;i<4;i++) {
|
||||
if (yLine[i] == 0) {
|
||||
continue;
|
||||
}
|
||||
if (y == yLine[i] && (x == 10 || x == 15 || x== 20 || x == 25 || x == 30 || x == 35 || x == 40 || x == 45 || x == 50 || x == 55)) {
|
||||
yScale[i] = yScale[i] + .11f;
|
||||
scale = yScale[i];
|
||||
color = Y_LINE_COLOR;
|
||||
if (yScale[i] > 50f) {
|
||||
yLine[i] = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
ImCharacter.drawUnicode4D(drawChar, x*ImCharacter.WIDTH, y*ImCharacter.HEIGHT, color, drawList, scale);
|
||||
}
|
||||
}
|
||||
drawList.popClipRect();
|
||||
updateGrid();
|
||||
}
|
||||
|
||||
private String createGridChars() {
|
||||
StringBuilder buf = new StringBuilder();
|
||||
UnicodePlane[] planes = GRID_PLANES;
|
||||
if (runChina.get()) {
|
||||
planes = GRID_PLANES_CHINA;
|
||||
}
|
||||
for (UnicodePlane plane:planes) {
|
||||
for (int i=plane.getStart();i<plane.getStop();i++) {
|
||||
buf.appendCodePoint(i);
|
||||
}
|
||||
}
|
||||
return buf.toString();
|
||||
}
|
||||
|
||||
private void updateGrid() {
|
||||
runCounter++;
|
||||
if (runCounter < runSpeed.get()) {
|
||||
return;
|
||||
}
|
||||
runCounter = ᒢℭỗᶇṧⱦᶏꬼȶʂ.INTᣟᐧᣟZERO;
|
||||
for (int i=0;i<4;i++) {
|
||||
if (yLine[i] == 0) {
|
||||
yLine[i] = random.nextInt(gridHeight);
|
||||
yScale[i] = ᒢℭỗᶇṧⱦᶏꬼȶʂ.FLOATᣟᐧᣟONE;
|
||||
}
|
||||
}
|
||||
for (int x=gridHeight-1; x>ᒢℭỗᶇṧⱦᶏꬼȶʂ.INTᣟᐧᣟZERO; x--) {
|
||||
for (int y=ᒢℭỗᶇṧⱦᶏꬼȶʂ.INTᣟᐧᣟZERO; y<gridWidth; y++) {
|
||||
gridBuffer[x][y] = gridBuffer[x-1][y];
|
||||
}
|
||||
}
|
||||
for (int y=0; y<gridWidth; y++) {
|
||||
int charSelect = ᒢℭỗᶇṧⱦᶏꬼȶʂ.INTᣟᐧᣟZERO;
|
||||
for (int i=ᒢℭỗᶇṧⱦᶏꬼȶʂ.INTᣟᐧᣟZERO;i<4;i++) {
|
||||
charSelect = gridChars.codePointAt(random.nextInt(gridChars.length()));
|
||||
DrawCharacter drawChar = unicode4DService.getCharacterForUnicode(charSelect);
|
||||
if (drawChar != null) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (gridRank[y] > ᒢℭỗᶇṧⱦᶏꬼȶʂ.INTᣟᐧᣟZERO) {
|
||||
gridBuffer[ᒢℭỗᶇṧⱦᶏꬼȶʂ.INTᣟᐧᣟZERO][y] = random.nextInt(100)<70? charSelect:ᒢℭỗᶇṧⱦᶏꬼȶʂ.CHARᣟᐧᣟSPACE;
|
||||
} else {
|
||||
gridBuffer[ᒢℭỗᶇṧⱦᶏꬼȶʂ.INTᣟᐧᣟZERO][y] = random.nextInt(100)<ᒢℭỗᶇṧⱦᶏꬼȶʂ.INTᣟᐧᣟONE? charSelect:ᒢℭỗᶇṧⱦᶏꬼȶʂ.CHARᣟᐧᣟSPACE;
|
||||
}
|
||||
if (gridBuffer[0][y]==ᒢℭỗᶇṧⱦᶏꬼȶʂ.CHARᣟᐧᣟSPACE) {
|
||||
gridRank[y] = ᒢℭỗᶇṧⱦᶏꬼȶʂ.INTᣟᐧᣟZERO;
|
||||
} else {
|
||||
gridRank[y]++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
42
gdxapp4d-app-tosamp/pom.xml
Normal file
42
gdxapp4d-app-tosamp/pom.xml
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
<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>
|
||||
<artifactId>gdxapp4d</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>gdxapp4d-app-tosamp</artifactId>
|
||||
<name>GDXApp⁴ᴰ-App-ടോസാമ്പ്</name>
|
||||
<packaging>bundle</packaging>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>love.distributedrebirth.gdxapp4d</groupId>
|
||||
<artifactId>gdxapp4d-vrgem4</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.felix</groupId>
|
||||
<artifactId>maven-bundle-plugin</artifactId>
|
||||
<extensions>true</extensions>
|
||||
<configuration>
|
||||
<exportScr>true</exportScr>
|
||||
<niceManifest>true</niceManifest>
|
||||
<instructions>
|
||||
<_donotcopy>(.git)</_donotcopy>
|
||||
<_dsannotations>*</_dsannotations>
|
||||
<_metatypeannotations>*</_metatypeannotations>
|
||||
<Import-Package>
|
||||
${tos4.packages},
|
||||
${vrgem4.packages}
|
||||
</Import-Package>
|
||||
<Bundle-Vendor>distributedrebirth.love</Bundle-Vendor>
|
||||
</instructions>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
|
|
@ -0,0 +1,88 @@
|
|||
/*
|
||||
* 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 love.distributedrebirth.gdxapp4d.app.tosamp;
|
||||
|
||||
import java.util.ResourceBundle;
|
||||
|
||||
import org.osgi.framework.BundleContext;
|
||||
import org.osgi.service.component.annotations.Activate;
|
||||
import org.osgi.service.component.annotations.Component;
|
||||
import org.osgi.service.component.annotations.Deactivate;
|
||||
import org.osgi.service.component.annotations.Reference;
|
||||
|
||||
import love.distributedrebirth.gdxapp4d.tos4.service.SystemGdxBootArgs;
|
||||
import love.distributedrebirth.gdxapp4d.tos4.service.SystemGdxLog;
|
||||
import love.distributedrebirth.gdxapp4d.tos4.service.SystemWarpShip;
|
||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.VrGem4DeskAppService;
|
||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.VrGem4LocaleService;
|
||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppLauncher;
|
||||
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppMenuSection;
|
||||
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注;
|
||||
|
||||
@Component
|
||||
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||
public class TosAmpComponent {
|
||||
|
||||
@Reference
|
||||
private SystemGdxLog log;
|
||||
|
||||
@Reference
|
||||
private VrGem4DeskAppService deskAppService;
|
||||
|
||||
@Reference
|
||||
private SystemGdxBootArgs bootArgs;
|
||||
|
||||
@Reference
|
||||
private SystemWarpShip warpShip;
|
||||
|
||||
@Reference
|
||||
private VrGem4LocaleService localeService;
|
||||
|
||||
private final static String I18N_BUNDLE = "love.distributedrebirth.gdxapp4d.app.tosamp.Messages";
|
||||
private DeskAppLauncher launcher;
|
||||
|
||||
public TosAmpComponent() {
|
||||
}
|
||||
|
||||
private ResourceBundle createBundle() {
|
||||
return ResourceBundle.getBundle(I18N_BUNDLE, localeService.getTextLocale());
|
||||
}
|
||||
|
||||
@Activate
|
||||
void open(final BundleContext context) {
|
||||
log.debug(this, SystemGdxLog.ACTIVATE);
|
||||
launcher = new DeskAppLauncher(DeskAppMenuSection.MULTIMEDIA, "TosAmp", () -> new TosAmpDeskApp(createBundle(), bootArgs.getFileChooser(), context, warpShip));
|
||||
deskAppService.installDeskApp(launcher);
|
||||
}
|
||||
|
||||
@Deactivate
|
||||
void close() {
|
||||
log.debug(this, SystemGdxLog.DEACTIVATE);
|
||||
deskAppService.removeDeskApp(launcher);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,173 @@
|
|||
/*
|
||||
* 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 love.distributedrebirth.gdxapp4d.app.tosamp;
|
||||
|
||||
import java.util.ResourceBundle;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import org.osgi.framework.BundleContext;
|
||||
|
||||
import com.badlogic.gdx.Gdx;
|
||||
import com.badlogic.gdx.files.FileHandle;
|
||||
|
||||
import imgui.ImGui;
|
||||
import imgui.flag.ImGuiSelectableFlags;
|
||||
import imgui.flag.ImGuiTableColumnFlags;
|
||||
import imgui.flag.ImGuiTableFlags;
|
||||
import love.distributedrebirth.gdxapp4d.app.tosamp.music.MusicManager;
|
||||
import love.distributedrebirth.gdxapp4d.app.tosamp.music.MusicSong;
|
||||
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 = "©Δ∞ 仙上主天")
|
||||
public class TosAmpDeskApp extends AbstractDeskApp implements DeskAppRenderer {
|
||||
|
||||
private final ResourceBundle bundle;
|
||||
private final MusicManager music;
|
||||
private final NativeFileChooser fileChooser;
|
||||
private NativeFileChooserConfiguration fileChooserConfig;
|
||||
|
||||
public TosAmpDeskApp(ResourceBundle bundle, NativeFileChooser fileChooser, BundleContext context, SystemWarpShip warpShip) {
|
||||
this.bundle = bundle;
|
||||
this.fileChooser = fileChooser;
|
||||
this.music = new MusicManager();
|
||||
this.music.init(context, warpShip);
|
||||
}
|
||||
|
||||
private String getTxt(String key) {
|
||||
return bundle.getString(TosAmpDeskApp.class.getSimpleName()+"."+key);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void exit() {
|
||||
music.stop();
|
||||
}
|
||||
|
||||
public void create() {
|
||||
getContours().setTitle(getTxt("title"));
|
||||
getContours().registrateContour(DeskAppContourSection.MAIN, this);
|
||||
getContours().registrateContour(DeskAppContourSection.FILE_NEW, new DeskAppRenderer() {
|
||||
@Override
|
||||
public void render() {
|
||||
if (ImGui.menuItem(getTxt("menuAdd"))) {
|
||||
fileChooser.chooseFile(fileChooserConfig,
|
||||
NativeFileChooserCallbackAdapter.onFileChosen(v -> music.addBackgroundMusic(v)));
|
||||
}
|
||||
}
|
||||
});
|
||||
fileChooserConfig = new NativeFileChooserConfiguration();
|
||||
fileChooserConfig.directory = Gdx.files.absolute(System.getProperty("user.home"));
|
||||
fileChooserConfig.mimeFilter = "audio/*";
|
||||
fileChooserConfig.title = "Choose audio file";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render() {
|
||||
ImGui.text(getTxt("currentSong"));
|
||||
MusicSong currentSong = music.getCurrentSong();
|
||||
if (currentSong != null) {
|
||||
ImGui.sameLine();
|
||||
ImGui.text(currentSong.getName());
|
||||
}
|
||||
ImGui.separator();
|
||||
if (currentSong != null) {
|
||||
if (ImGui.button(getTxt("actionPlay"))) {
|
||||
music.play(currentSong);
|
||||
}
|
||||
} else {
|
||||
ImGui.text(getTxt("actionPlay"));
|
||||
}
|
||||
ImGui.sameLine();
|
||||
if (ImGui.button("<")) {
|
||||
music.prev();
|
||||
}
|
||||
ImGui.sameLine();
|
||||
if (ImGui.button(">")) {
|
||||
music.next();
|
||||
}
|
||||
ImGui.sameLine();
|
||||
if (ImGui.button(getTxt("actionStop"))) {
|
||||
music.stop();
|
||||
}
|
||||
int flags = ImGuiTableFlags.ScrollX | ImGuiTableFlags.RowBg | ImGuiTableFlags.BordersOuter | ImGuiTableFlags.BordersV;
|
||||
ImGui.beginTable("playlist", 4, flags);
|
||||
ImGui.tableSetupColumn("#", ImGuiTableColumnFlags.NoHide);
|
||||
ImGui.tableSetupColumn(getTxt("listPlay"));
|
||||
ImGui.tableSetupColumn(getTxt("listName"));
|
||||
ImGui.tableSetupColumn(getTxt("listSong"));
|
||||
ImGui.tableHeadersRow();
|
||||
int i=1;
|
||||
for (MusicSong song:music.getMusicSongs()) {
|
||||
ImGui.pushID(i);
|
||||
ImGui.tableNextRow();
|
||||
ImGui.tableNextColumn();
|
||||
ImGui.selectable(""+i, music.isPlaying(song), ImGuiSelectableFlags.None);
|
||||
ImGui.tableNextColumn();
|
||||
if (ImGui.smallButton(">")) {
|
||||
music.play(song);
|
||||
}
|
||||
ImGui.tableNextColumn();
|
||||
ImGui.selectable(song.getPlaylist(), music.isPlaying(song), ImGuiSelectableFlags.None);
|
||||
ImGui.tableNextColumn();
|
||||
ImGui.selectable(song.getName(), music.isPlaying(song), ImGuiSelectableFlags.None);
|
||||
ImGui.popID();
|
||||
i++;
|
||||
}
|
||||
ImGui.endTable();
|
||||
}
|
||||
|
||||
static class NativeFileChooserCallbackAdapter implements NativeFileChooserCallback {
|
||||
|
||||
@Override
|
||||
public void onFileChosen(FileHandle file) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCancellation() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(Exception exception) {
|
||||
}
|
||||
|
||||
static NativeFileChooserCallbackAdapter onFileChosen(Consumer<FileHandle> eater) {
|
||||
return new NativeFileChooserCallbackAdapter() {
|
||||
@Override
|
||||
public void onFileChosen(FileHandle file) {
|
||||
eater.accept(file);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,171 @@
|
|||
/*
|
||||
* 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 love.distributedrebirth.gdxapp4d.app.tosamp.music;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注;
|
||||
|
||||
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||
public class M3UParser {
|
||||
|
||||
private static final String M3U_HEADER = "#EXTM3U";
|
||||
private static final String M3U_EXTINF = "#EXTINF:";
|
||||
private static final String M3U_PLAYLIST = "#PLAYLIST:";
|
||||
private static final String M3U_EXTALB = "#EXTALB:";
|
||||
private static final String M3U_EXTART = "#EXTART:";
|
||||
private static final String M3U_EXTGENRE = "#EXTGENRE:";
|
||||
private static final String M3U_EXTIMG = "#EXTIMG:";
|
||||
|
||||
public static class M3UPlaylist {
|
||||
private String name;
|
||||
private String albumTitle;
|
||||
private String albumArtist;
|
||||
private String albumGenre;
|
||||
private List<M3UTrack> tracks = new ArrayList<>();
|
||||
private Map<String, String> images = new HashMap<>();
|
||||
|
||||
public M3UPlaylist() {
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public String getAlbumTitle() {
|
||||
return albumTitle;
|
||||
}
|
||||
|
||||
public String getAlbumArtist() {
|
||||
return albumArtist;
|
||||
}
|
||||
|
||||
public String getAlbumGenre() {
|
||||
return albumGenre;
|
||||
}
|
||||
|
||||
public List<M3UTrack> getTracks() {
|
||||
return tracks;
|
||||
}
|
||||
|
||||
public Map<String, String> getImages() {
|
||||
return images;
|
||||
}
|
||||
}
|
||||
|
||||
public static class M3UTrack {
|
||||
private int time;
|
||||
private String name;
|
||||
private String file;
|
||||
|
||||
public M3UTrack() {
|
||||
}
|
||||
|
||||
public int getTime() {
|
||||
return time;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public String getFile() {
|
||||
return file;
|
||||
}
|
||||
}
|
||||
|
||||
enum M3UExtLine {
|
||||
NONE,
|
||||
EXTINF,
|
||||
EXTIMG,
|
||||
}
|
||||
|
||||
public static M3UPlaylist parse(InputStream stream) throws IOException {
|
||||
M3UPlaylist result = new M3UPlaylist();
|
||||
M3UExtLine extLine = M3UExtLine.NONE;
|
||||
M3UTrack track = null;
|
||||
String imageType = null;
|
||||
|
||||
BufferedReader buffer = new BufferedReader(new InputStreamReader(stream));
|
||||
String line = buffer.readLine();
|
||||
if (!line.startsWith(M3U_HEADER)) {
|
||||
throw new IOException("Missing header");
|
||||
}
|
||||
|
||||
while ((line = buffer.readLine()) != null) {
|
||||
if (line.isEmpty()) {
|
||||
continue;
|
||||
}
|
||||
if (extLine == M3UExtLine.EXTINF) {
|
||||
extLine = M3UExtLine.NONE;
|
||||
track.file = line;
|
||||
result.tracks.add(track);
|
||||
continue;
|
||||
}
|
||||
if (extLine == M3UExtLine.EXTIMG) {
|
||||
extLine = M3UExtLine.NONE;
|
||||
result.images.put(imageType, line);
|
||||
continue;
|
||||
}
|
||||
int arguIndex = line.indexOf(":");
|
||||
if (arguIndex == -1) {
|
||||
continue;
|
||||
}
|
||||
String lineArgu = line.substring(arguIndex + 1);
|
||||
if (line.startsWith(M3U_PLAYLIST)) {
|
||||
result.name = lineArgu;
|
||||
} else if (line.startsWith(M3U_EXTALB)) {
|
||||
result.albumTitle = lineArgu;
|
||||
} else if (line.startsWith(M3U_EXTART)) {
|
||||
result.albumArtist = lineArgu;
|
||||
} else if (line.startsWith(M3U_EXTGENRE)) {
|
||||
result.albumGenre = lineArgu;
|
||||
} else if (line.startsWith(M3U_EXTIMG)) {
|
||||
imageType = lineArgu;
|
||||
extLine = M3UExtLine.EXTIMG;
|
||||
} else if (line.startsWith(M3U_EXTINF)) {
|
||||
track = new M3UTrack();
|
||||
extLine = M3UExtLine.EXTINF;
|
||||
int commaIndex = lineArgu.indexOf(",");
|
||||
String timeStr = lineArgu.substring(0, commaIndex);
|
||||
String trackName = lineArgu.substring(commaIndex + 1);
|
||||
track.time = Integer.parseInt(timeStr);
|
||||
track.name = trackName;
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,180 @@
|
|||
/*
|
||||
* 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 love.distributedrebirth.gdxapp4d.app.tosamp.music;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.osgi.framework.BundleContext;
|
||||
|
||||
import com.badlogic.gdx.Gdx;
|
||||
import com.badlogic.gdx.audio.Music;
|
||||
import com.badlogic.gdx.audio.Music.OnCompletionListener;
|
||||
import com.badlogic.gdx.files.FileHandle;
|
||||
|
||||
import love.distributedrebirth.gdxapp4d.app.tosamp.music.M3UParser.M3UPlaylist;
|
||||
import love.distributedrebirth.gdxapp4d.app.tosamp.music.M3UParser.M3UTrack;
|
||||
import love.distributedrebirth.gdxapp4d.tos4.service.SystemWarpShip;
|
||||
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注;
|
||||
|
||||
/**
|
||||
* Manages the background and others songs.
|
||||
*/
|
||||
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||
public class MusicManager {
|
||||
|
||||
private final List<MusicSong> musicSongs;
|
||||
private final NextSongListener nextSongListener;
|
||||
private MusicSong currentSong = null;
|
||||
private Music currentMusic = null;
|
||||
|
||||
public MusicManager() {
|
||||
musicSongs = new ArrayList<>();
|
||||
nextSongListener = new NextSongListener();
|
||||
}
|
||||
|
||||
public void addBackgroundMusic(FileHandle file) {
|
||||
musicSongs.add(new MusicSong(file, file.name(), ""));
|
||||
}
|
||||
|
||||
public void init(BundleContext context, SystemWarpShip warpShip) {
|
||||
List<File> playlists = warpShip.searchMagic(context, "audio/mpegurl");
|
||||
for (File playlist:playlists) {
|
||||
try {
|
||||
M3UPlaylist play = M3UParser.parse(new FileInputStream(playlist));
|
||||
|
||||
for (M3UTrack track:play.getTracks()) {
|
||||
FileHandle fileHandle = Gdx.files.absolute(playlist.getParent() + "/" + track.getFile());
|
||||
musicSongs.add(new MusicSong(fileHandle, track.getName(), play.getName()));
|
||||
}
|
||||
|
||||
} catch (IOException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void dispose() {
|
||||
if (currentMusic != null) {
|
||||
currentMusic.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
public List<MusicSong> getMusicSongs() {
|
||||
return musicSongs;
|
||||
}
|
||||
|
||||
public MusicSong getCurrentSong() {
|
||||
return currentSong;
|
||||
}
|
||||
|
||||
public void stop() {
|
||||
if (currentMusic != null) {
|
||||
currentMusic.stop();
|
||||
}
|
||||
}
|
||||
|
||||
public void play() {
|
||||
MusicSong nextSong = null;
|
||||
int currentBackground = musicSongs.indexOf(currentSong);
|
||||
if (currentBackground == -1 && !musicSongs.isEmpty()) {
|
||||
nextSong = musicSongs.get(0);
|
||||
} else {
|
||||
nextSong = currentSong;
|
||||
}
|
||||
if (nextSong!=null) {
|
||||
play(nextSong);
|
||||
}
|
||||
}
|
||||
|
||||
public void play(MusicSong song) {
|
||||
if (song == null) {
|
||||
return;
|
||||
}
|
||||
stop();
|
||||
currentSong = song;
|
||||
if (currentMusic != null) {
|
||||
currentMusic.dispose();
|
||||
}
|
||||
currentMusic = Gdx.audio.newMusic(currentSong.getFileHandle());
|
||||
currentMusic.setOnCompletionListener(nextSongListener);
|
||||
currentMusic.play();
|
||||
}
|
||||
|
||||
class NextSongListener implements OnCompletionListener {
|
||||
|
||||
@Override
|
||||
public void onCompletion(Music music) {
|
||||
next();
|
||||
play(currentSong);
|
||||
}
|
||||
}
|
||||
|
||||
public void next() {
|
||||
int currentBackground = musicSongs.indexOf(currentSong);
|
||||
if (currentBackground == -1) {
|
||||
return; // some other
|
||||
}
|
||||
if (currentBackground == musicSongs.size()-1) {
|
||||
currentBackground = -1; // loop to start
|
||||
}
|
||||
boolean play = currentMusic!=null && currentMusic.isPlaying();
|
||||
stop();
|
||||
currentSong = musicSongs.get(currentBackground+1);
|
||||
if (play) {
|
||||
play(currentSong);
|
||||
}
|
||||
}
|
||||
|
||||
public void prev() {
|
||||
int currentBackground = musicSongs.indexOf(currentSong);
|
||||
if (currentBackground == -1) {
|
||||
return; // some other
|
||||
}
|
||||
if (currentBackground == 0) {
|
||||
currentBackground = musicSongs.size(); // loop to end
|
||||
}
|
||||
boolean play = currentMusic!=null && currentMusic.isPlaying();
|
||||
stop();
|
||||
currentSong = musicSongs.get(currentBackground-1);
|
||||
if (play) {
|
||||
play(currentSong);
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isPlaying(MusicSong song) {
|
||||
if (currentSong != null && currentSong.equals(song)) {
|
||||
return currentMusic.isPlaying();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,60 @@
|
|||
/*
|
||||
* 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 love.distributedrebirth.gdxapp4d.app.tosamp.music;
|
||||
|
||||
import com.badlogic.gdx.files.FileHandle;
|
||||
|
||||
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注;
|
||||
|
||||
/**
|
||||
* The music with the (file) name.
|
||||
*/
|
||||
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||
public class MusicSong {
|
||||
private final FileHandle fileHandle;
|
||||
private final String name;
|
||||
private final String playlist;
|
||||
|
||||
public MusicSong(FileHandle fileHandle, String name, String playlist) {
|
||||
this.fileHandle = fileHandle;
|
||||
this.name = name;
|
||||
this.playlist = playlist;
|
||||
}
|
||||
|
||||
public FileHandle getFileHandle() {
|
||||
return fileHandle;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public String getPlaylist() {
|
||||
return playlist;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
TosAmpDeskApp.title=\uf001 TosAmp
|
||||
TosAmpDeskApp.menuAdd=\uf067 Add
|
||||
TosAmpDeskApp.currentSong=Current Song:
|
||||
TosAmpDeskApp.actionPlay=Play
|
||||
TosAmpDeskApp.actionStop=Stop
|
||||
TosAmpDeskApp.listPlay=Do
|
||||
TosAmpDeskApp.listName=Playlist
|
||||
TosAmpDeskApp.listSong=Song
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
TosAmpDeskApp.title=\uf001 TosAmp
|
||||
TosAmpDeskApp.menuAdd=\uf067 \u6DFB\u52A0
|
||||
TosAmpDeskApp.currentSong=\u5F53\u524D\u6B4C\u66F2:
|
||||
TosAmpDeskApp.actionPlay=\u73A9
|
||||
TosAmpDeskApp.actionStop=\u505C\u6B62
|
||||
TosAmpDeskApp.listPlay=\u505A
|
||||
TosAmpDeskApp.listName=\u64AD\u653E\u5217\u8868
|
||||
TosAmpDeskApp.listSong=\u6B4C\u66F2
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
TosAmpDeskApp.title=\uf001 TosAmp
|
||||
TosAmpDeskApp.menuAdd=\uf067 Add
|
||||
TosAmpDeskApp.currentSong=Current Song:
|
||||
TosAmpDeskApp.actionPlay=Play
|
||||
TosAmpDeskApp.actionStop=Stop
|
||||
TosAmpDeskApp.listPlay=Do
|
||||
TosAmpDeskApp.listName=Playlist
|
||||
TosAmpDeskApp.listSong=Song
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
TosAmpDeskApp.title=\uf001 TosAmp
|
||||
TosAmpDeskApp.menuAdd=\uf067 Toevoegen
|
||||
TosAmpDeskApp.currentSong=Huidig lied:
|
||||
TosAmpDeskApp.actionPlay=Afspeel
|
||||
TosAmpDeskApp.actionStop=Stop
|
||||
TosAmpDeskApp.listPlay=Doe
|
||||
TosAmpDeskApp.listName=Speellijst
|
||||
TosAmpDeskApp.listSong=Lied
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
TosAmpDeskApp.title=\uf001 \u16CF\u16DF\u16CB\u16A8\u16D7\u16C8
|
||||
TosAmpDeskApp.menuAdd=\uf067 \u16A8\u16DE\u16DE
|
||||
TosAmpDeskApp.currentSong=\u16B2\u16A2\u16B1\u16B1\u16D6\u16BE\u16CF \u16CB\u16DF\u16BE\u16B7:
|
||||
TosAmpDeskApp.actionPlay=\u16C8\u16DA\u16A8\u16A4
|
||||
TosAmpDeskApp.actionStop=\u16CB\u16CF\u16DF\u16C8
|
||||
TosAmpDeskApp.listPlay=\u16DE\u16DF
|
||||
TosAmpDeskApp.listName=\u16C8\u16DA\u16A8\u16A4\u16DA\u16C1\u16CB\u16CF
|
||||
TosAmpDeskApp.listSong=\u16CB\u16DF\u16BE\u16B7
|
||||
1
gdxapp4d-boot-desktop/Warpship/Hyperdrive/.root
Normal file
1
gdxapp4d-boot-desktop/Warpship/Hyperdrive/.root
Normal file
|
|
@ -0,0 +1 @@
|
|||
# Temp file to have Hyperdrive mount home folder
|
||||
31
gdxapp4d-boot-desktop/Warpship/logback.xml
Normal file
31
gdxapp4d-boot-desktop/Warpship/logback.xml
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<configuration scan="true" scanPeriod="90 seconds" debug="false">
|
||||
<contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
|
||||
<resetJUL>true</resetJUL>
|
||||
</contextListener>
|
||||
<jmxConfigurator/>
|
||||
<!--
|
||||
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
||||
<file>logs/gdxapp4d-demo.log</file>
|
||||
<encoder>
|
||||
<pattern>%date %level [%thread] %logger{10} %msg%n</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
-->
|
||||
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<encoder>
|
||||
<pattern>%date %level [%thread] %logger{10} %msg%n</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
<root level="DEBUG">
|
||||
<appender-ref ref="STDOUT" />
|
||||
</root>
|
||||
|
||||
<!-- Package opens. -->
|
||||
<logger level="DEBUG" name="ᒢᐩᐩ"/>
|
||||
|
||||
<!-- Package limits. -->
|
||||
<logger level="INFO" name="com.badlogic"/>
|
||||
<logger level="INFO" name="org.x4o"/>
|
||||
|
||||
</configuration>
|
||||
11
gdxapp4d-boot-desktop/Warpship/warp-ship.xml
Normal file
11
gdxapp4d-boot-desktop/Warpship/warp-ship.xml
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<root:device
|
||||
xmlns:root="http://wrap-ship.x4o.distributedrebirth.love/xml/ns/warp-ship-root"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:boot="http://warp-ship.x4o.distributedrebirth.love/xml/ns/warp-ship-boot"
|
||||
xsi:schemaLocation="http://wrap-ship.x4o.distributedrebirth.love/xml/ns/warp-ship-root http://warp-ship.x4o.distributedrebirth.love/xml/ns/warp-ship-root-1.0.xsd">
|
||||
<boot:ship name="tos4-mark1-phoenix-poc"
|
||||
engine="1c2d010066a39d96ace8af0ecc37c72d6f79109f30939e2959befcd9ce25fc8d">
|
||||
<boot:warp sea="f8be3b29da5b6b2cb464f781469ceede6ccfd848d158293a4cdffbc2c41a410b" />
|
||||
</boot:ship>
|
||||
</root:device>
|
||||
27
gdxapp4d-boot-desktop/local-override.xml
Normal file
27
gdxapp4d-boot-desktop/local-override.xml
Normal 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>
|
||||
29
gdxapp4d-boot-desktop/pom.xml
Normal file
29
gdxapp4d-boot-desktop/pom.xml
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
<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>
|
||||
<artifactId>gdxapp4d</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>gdxapp4d-boot-desktop</artifactId>
|
||||
<name>GDXApp⁴ᴰ-Boot-𐦠𐦴𐦫𐦢</name>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>love.distributedrebirth.gdxapp4d</groupId>
|
||||
<artifactId>gdxapp4d-tos4</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.badlogicgames.gdx</groupId>
|
||||
<artifactId>gdx-backend-lwjgl3</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>games.spooky.gdx</groupId>
|
||||
<artifactId>gdx-nativefilechooser-desktop</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>jul-to-slf4j</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
|
|
@ -0,0 +1,58 @@
|
|||
/*
|
||||
* 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 love.distributedrebirth.gdxapp4d.boot.desktop;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注;
|
||||
|
||||
/**
|
||||
* Desktop GDXApp⁴ᴰ static config.
|
||||
*/
|
||||
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||
public final class GDXAppDesktopConfig {
|
||||
|
||||
protected static final Logger LOG = LoggerFactory.getLogger(GDXAppDesktopConfig.class);
|
||||
public static int WINDOW_WIDTH = 1024;
|
||||
public static int WINDOW_HEIGHT = 768;
|
||||
public static String WINDOW_TITLE = "GDXApp⁴ᴰ";
|
||||
public static String[] WINDOW_ICONS = {
|
||||
"icon/window-128.png",
|
||||
"icon/window-32.png",
|
||||
"icon/window-16.png"
|
||||
};
|
||||
|
||||
public static void printBootMessage() {
|
||||
LOG.info("==========================");
|
||||
LOG.info(" @Ω仙⁴ ˧꜏⋇꜊꜔ ⁴ﷲΩ@ ");
|
||||
LOG.info(" ©Δ∞ 仙上主天 ");
|
||||
LOG.info("בְּרֵאשִׁית :o: יְסוֺד :o: יִשְׂרָאֵל");
|
||||
LOG.info("==========================");
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,82 @@
|
|||
/*
|
||||
* 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 love.distributedrebirth.gdxapp4d.boot.desktop;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import org.slf4j.bridge.SLF4JBridgeHandler;
|
||||
|
||||
import com.badlogic.gdx.Files.FileType;
|
||||
import com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application;
|
||||
import com.badlogic.gdx.backends.lwjgl3.Lwjgl3ApplicationConfiguration;
|
||||
|
||||
import ch.qos.logback.core.status.NopStatusListener;
|
||||
import love.distributedrebirth.gdxapp4d.tos4.GDXAppTos4;
|
||||
import net.spookygames.gdx.nativefilechooser.desktop.DesktopFileChooser;
|
||||
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注;
|
||||
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ꕢꕌꔳꕺꖃꕯꕮꕊ;
|
||||
|
||||
/**
|
||||
* Desktop GDXApp⁴ᴰ launcher.
|
||||
*/
|
||||
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||
public class GDXAppDesktopLauncher {
|
||||
|
||||
public static void main(String[] args) {
|
||||
GDXAppDesktopLauncher launcher = new GDXAppDesktopLauncher();
|
||||
ꕢꕌꔳꕺꖃꕯꕮꕊ beanPrayer = new ꕢꕌꔳꕺꖃꕯꕮꕊ(() -> launcher.bootstrap(args));
|
||||
beanPrayer.أَكْبَرײꣻײالله();
|
||||
}
|
||||
|
||||
private void bootstrap(String[] arguments) {
|
||||
if (System.getProperty("logback.configurationFile") == null) {
|
||||
System.setProperty("logback.configurationFile", "Warpship/logback.xml");
|
||||
}
|
||||
if (System.getProperty("logback.statusListenerClass") == null) {
|
||||
System.setProperty("logback.statusListenerClass",NopStatusListener.class.getName());
|
||||
}
|
||||
SLF4JBridgeHandler.removeHandlersForRootLogger();
|
||||
SLF4JBridgeHandler.install();
|
||||
GDXAppDesktopConfig.printBootMessage();
|
||||
|
||||
List<String> args = Arrays.asList(arguments);
|
||||
int width = GDXAppDesktopConfig.WINDOW_WIDTH;
|
||||
int height = GDXAppDesktopConfig.WINDOW_HEIGHT;
|
||||
GDXAppTos4.INSTANCE.BãßInit(args, width, height, new DesktopFileChooser());
|
||||
|
||||
Lwjgl3ApplicationConfiguration config = new Lwjgl3ApplicationConfiguration();
|
||||
config.setMaxNetThreads(Runtime.getRuntime().availableProcessors());
|
||||
config.setTitle(GDXAppDesktopConfig.WINDOW_TITLE);
|
||||
config.setWindowIcon(FileType.Internal, GDXAppDesktopConfig.WINDOW_ICONS);
|
||||
config.setWindowedMode(width, height);
|
||||
|
||||
Lwjgl3Application launcher = new Lwjgl3Application(GDXAppTos4.INSTANCE, config);
|
||||
launcher.exit();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒻᐤᕐᕐᓫᣗ.SoepPanKeukenJul
|
||||
BIN
gdxapp4d-boot-desktop/src/main/resources/icon/window-128.png
Normal file
BIN
gdxapp4d-boot-desktop/src/main/resources/icon/window-128.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 22 KiB |
BIN
gdxapp4d-boot-desktop/src/main/resources/icon/window-16.png
Normal file
BIN
gdxapp4d-boot-desktop/src/main/resources/icon/window-16.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 7.2 KiB |
BIN
gdxapp4d-boot-desktop/src/main/resources/icon/window-32.png
Normal file
BIN
gdxapp4d-boot-desktop/src/main/resources/icon/window-32.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 11 KiB |
43
gdxapp4d-chain-boot-ship-engine/pom.xml
Normal file
43
gdxapp4d-chain-boot-ship-engine/pom.xml
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
<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>
|
||||
<artifactId>gdxapp4d</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>gdxapp4d-chain-boot-ship-engine</artifactId>
|
||||
<name>GDXApp⁴ᴰ-Chain-Boot-Ship-محرك</name>
|
||||
<packaging>pom</packaging>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-antrun-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>package</phase>
|
||||
<configuration>
|
||||
<target>
|
||||
<copy todir="target/chain">
|
||||
<fileset dir="src/main/chain" />
|
||||
</copy>
|
||||
<java failonerror="true" fork="true" classname="love.distributedrebirth.warpme.hash.WaterShotAddict">
|
||||
<arg value="target/chain" />
|
||||
<classpath>
|
||||
<pathelement location="../gdxapp4d-lib-warpme/target/gdxapp4d-lib-warpme.jar" />
|
||||
<pathelement location="../gdxapp4d-lib-warpme/target/dependency/nx01-x4o-driver-${nx01.version}.jar" />
|
||||
<pathelement location="../gdxapp4d-lib-warpme/target/dependency/nx01-x4o-sax3-${nx01.version}.jar" />
|
||||
<pathelement location="../gdxapp4d-lib-warpme/target/dependency/jasper-el-${jasper-el.version}.jar" />
|
||||
<pathelement location="../gdxapp4d-lib-warpme/target/dependency/el-api-${jasper-el.version}.jar" />
|
||||
</classpath>
|
||||
</java>
|
||||
</target>
|
||||
</configuration>
|
||||
<goals>
|
||||
<goal>run</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<root:shot xmlns:root="http://wrap-core.x4o.distributedrebirth.love/xml/ns/warp-hash-root"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
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"/>
|
||||
</root:shot>
|
||||
20
gdxapp4d-chain-boot-ship-engine/src/main/chain/warp-sea.xml
Normal file
20
gdxapp4d-chain-boot-ship-engine/src/main/chain/warp-sea.xml
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
<?xml version="1.1" encoding="UTF-8"?>
|
||||
<root:ocean xmlns:root="http://wrap-sea.x4o.distributedrebirth.love/xml/ns/warp-sea-root"
|
||||
xmlns:link="http://warp-sea.x4o.distributedrebirth.love/xml/ns/warp-sea-link"
|
||||
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="Boot Ship Engine" provider="gdxapp4d.system" author="للَّٰهِilLצسُو">
|
||||
|
||||
<!-- Link font-unicode4d -->
|
||||
<link:chain key="9944bb29da5b6b2cb464f781469ceede6ccfd848d158293a4cdffbc2c41b62ed"/>
|
||||
<!-- Link dep-osgi-scr -->
|
||||
<link:chain key="8833aa29da5b6b2cb464f781469ceede6ccfd848d158293a4cdffbc2c41b58de"/>
|
||||
<!-- Link mod-vrgem4 -->
|
||||
<link:chain key="2222010099a37897688af0ecc37c72d6faabb7709ee39e2959befcd9ce253333"/>
|
||||
|
||||
<!-- Todo redo chain for larger drivers
|
||||
<link:magic dat="1234..." file="bundle/org.apache.felix.scr-2.2.0.jar" mime="application/vnd.osgi.bundle"/>
|
||||
<link:仙上主天 datᐊ="˥˧˧˨˨˥˥˧˥˥˧˧˥˥˧˦˦˩˩˧˥˦˧˥˩˧˥˩˧˧˩˨˨˨˧˧˩˥˧˥˩˧˩˩˥˥˧˩˩˧˩˥˧˥˥˧˧˨˨˧˨˨˥˩˧˧˦˦˧˩˩˧˥˦˥˧˥˥˧˩˨˧˥˥˨˥˦˧˧˧˥˦˨˨˧˧˥˥˥˥˧˧˩˩˧˩˩˧˩˩˧˩˨˧˩˩˧˩˨˧˩˨˥˦˧˧˥˦˩˩˧˧˥˦˩˩˧˧˥˦˨˨˧˧˩˨˧˩˥˧˩˩˥˩˧˧˩˨˧˩˩˧˩˨˧˦˦˧˥˥˧˨˨˧˥˦˥˥˧˧˩˩˧˦˦˧˥˥˦˦˧˧˥˥" 1ᔭᒋᐊᖅᓯᒪᖅᓯᒪ="יֽ֕זְ֔/זֲ֟דֲ֩יֳ֟ײֳ֔יֳ֞וֶ֕זֵ֟ױֳ֩רְ֠װֶ֔רְ֠װֶ֔װֽ֕רֶ֔יֽ֔יֽ֔װֶ֕וְ֕ײֵ֔וֲ֩" ᒋᐊᖅᓯ="application/vnd.osgi.bundle"/>
|
||||
-->
|
||||
</link:sea>
|
||||
</root:ocean>
|
||||
43
gdxapp4d-chain-boot-warp-sea/pom.xml
Normal file
43
gdxapp4d-chain-boot-warp-sea/pom.xml
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
<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>
|
||||
<artifactId>gdxapp4d</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>gdxapp4d-chain-boot-warp-sea</artifactId>
|
||||
<name>GDXApp⁴ᴰ-Chain-Boot-Warp-ค่าเริ่มต้น</name>
|
||||
<packaging>pom</packaging>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-antrun-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>package</phase>
|
||||
<configuration>
|
||||
<target>
|
||||
<copy todir="target/chain">
|
||||
<fileset dir="src/main/chain" />
|
||||
</copy>
|
||||
<java failonerror="true" fork="true" classname="love.distributedrebirth.warpme.hash.WaterShotAddict">
|
||||
<arg value="target/chain" />
|
||||
<classpath>
|
||||
<pathelement location="../gdxapp4d-lib-warpme/target/gdxapp4d-lib-warpme.jar" />
|
||||
<pathelement location="../gdxapp4d-lib-warpme/target/dependency/nx01-x4o-driver-${nx01.version}.jar" />
|
||||
<pathelement location="../gdxapp4d-lib-warpme/target/dependency/nx01-x4o-sax3-${nx01.version}.jar" />
|
||||
<pathelement location="../gdxapp4d-lib-warpme/target/dependency/jasper-el-${jasper-el.version}.jar" />
|
||||
<pathelement location="../gdxapp4d-lib-warpme/target/dependency/el-api-${jasper-el.version}.jar" />
|
||||
</classpath>
|
||||
</java>
|
||||
</target>
|
||||
</configuration>
|
||||
<goals>
|
||||
<goal>run</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<root:shot xmlns:root="http://wrap-core.x4o.distributedrebirth.love/xml/ns/warp-hash-root"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
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"/>
|
||||
</root:shot>
|
||||
19
gdxapp4d-chain-boot-warp-sea/src/main/chain/warp-sea.xml
Normal file
19
gdxapp4d-chain-boot-warp-sea/src/main/chain/warp-sea.xml
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<root:ocean xmlns:root="http://wrap-sea.x4o.distributedrebirth.love/xml/ns/warp-sea-root"
|
||||
xmlns:link="http://warp-sea.x4o.distributedrebirth.love/xml/ns/warp-sea-link"
|
||||
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="Boot Warp Sea" provider="gdxapp4d.system" author="للَّٰهِilLצسُو">
|
||||
<!-- Link dep-osgi-lib -->
|
||||
<link:chain key="7777aa29da5b6b2cb464f781469ceede6ccfd848d158293a4cdffbc2c41b58de"/>
|
||||
<!-- Link mod-unitxc -->
|
||||
<link:chain key="12343b29da8b1b1cb444f381449beede3cbfd442d158293a4cdffbc3c41a7890"/>
|
||||
<!-- Link mod-vrsys5 -->
|
||||
<link:chain key="ccba3b29da8b1b1cb444f381449beede3cbfd442d158293a4cdffbc3c41a31cc"/>
|
||||
|
||||
<!-- Link default-apps -->
|
||||
<link:chain key="7744aa29da5b6b2cb4b8f781469c33de688fd848d158293a4cdddbc2c41b12aa"/>
|
||||
<!-- Link default-music -->
|
||||
<link:chain key="ffee3329da5b6b2cb4befcc14aac55de6777d848d158293a4cdffbc2c41b12ad"/>
|
||||
</link:sea>
|
||||
</root:ocean>
|
||||
89
gdxapp4d-chain-default-apps/pom.xml
Normal file
89
gdxapp4d-chain-default-apps/pom.xml
Normal file
|
|
@ -0,0 +1,89 @@
|
|||
<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>
|
||||
<artifactId>gdxapp4d</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>gdxapp4d-chain-default-apps</artifactId>
|
||||
<name>GDXApp⁴ᴰ-Chain-Default-Apps</name>
|
||||
<packaging>pom</packaging>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>love.distributedrebirth.gdxapp4d</groupId>
|
||||
<artifactId>gdxapp4d-app-calculator</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>love.distributedrebirth.gdxapp4d</groupId>
|
||||
<artifactId>gdxapp4d-app-glyphdemo</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>love.distributedrebirth.gdxapp4d</groupId>
|
||||
<artifactId>gdxapp4d-app-hewallet</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>love.distributedrebirth.gdxapp4d</groupId>
|
||||
<artifactId>gdxapp4d-app-notepad</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>love.distributedrebirth.gdxapp4d</groupId>
|
||||
<artifactId>gdxapp4d-app-tosamp</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>love.distributedrebirth.gdxapp4d</groupId>
|
||||
<artifactId>gdxapp4d-app-mmdoc</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-antrun-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>package</phase>
|
||||
<configuration>
|
||||
<target>
|
||||
<copy todir="target/chain">
|
||||
<fileset dir="src/main/chain" />
|
||||
</copy>
|
||||
<copy todir="target/chain/bundle">
|
||||
<file file="../gdxapp4d-app-calculator/target/gdxapp4d-app-calculator.jar" />
|
||||
<file file="../gdxapp4d-app-glyphdemo/target/gdxapp4d-app-glyphdemo.jar" />
|
||||
<file file="../gdxapp4d-app-hewallet/target/gdxapp4d-app-hewallet.jar" />
|
||||
<file file="../gdxapp4d-app-notepad/target/gdxapp4d-app-notepad.jar" />
|
||||
<file file="../gdxapp4d-app-tosamp/target/gdxapp4d-app-tosamp.jar" />
|
||||
<file file="../gdxapp4d-app-mmdoc/target/gdxapp4d-app-mmdoc.jar" />
|
||||
</copy>
|
||||
<java failonerror="true" fork="true" classname="love.distributedrebirth.warpme.hash.WaterShotAddict">
|
||||
<arg value="target/chain" />
|
||||
<classpath>
|
||||
<pathelement location="../gdxapp4d-lib-warpme/target/gdxapp4d-lib-warpme.jar" />
|
||||
<pathelement location="../gdxapp4d-lib-warpme/target/dependency/nx01-x4o-driver-${nx01.version}.jar" />
|
||||
<pathelement location="../gdxapp4d-lib-warpme/target/dependency/nx01-x4o-sax3-${nx01.version}.jar" />
|
||||
<pathelement location="../gdxapp4d-lib-warpme/target/dependency/jasper-el-${jasper-el.version}.jar" />
|
||||
<pathelement location="../gdxapp4d-lib-warpme/target/dependency/el-api-${jasper-el.version}.jar" />
|
||||
</classpath>
|
||||
</java>
|
||||
</target>
|
||||
</configuration>
|
||||
<goals>
|
||||
<goal>run</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
13
gdxapp4d-chain-default-apps/src/main/chain/warp-hash.xml
Normal file
13
gdxapp4d-chain-default-apps/src/main/chain/warp-hash.xml
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<root:shot xmlns:root="http://wrap-core.x4o.distributedrebirth.love/xml/ns/warp-hash-root"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
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/gdxapp4d-app-calculator.jar" hex="0"/>
|
||||
<soft:hash file="bundle/gdxapp4d-app-hewallet.jar" hex="0"/>
|
||||
<soft:hash file="bundle/gdxapp4d-app-notepad.jar" hex="0"/>
|
||||
<soft:hash file="bundle/gdxapp4d-app-tosamp.jar" hex="0"/>
|
||||
<soft:hash file="bundle/gdxapp4d-app-glyphdemo.jar" hex="0"/>
|
||||
<soft:hash file="bundle/gdxapp4d-app-mmdoc.jar" hex="0"/>
|
||||
</root:shot>
|
||||
14
gdxapp4d-chain-default-apps/src/main/chain/warp-sea.xml
Normal file
14
gdxapp4d-chain-default-apps/src/main/chain/warp-sea.xml
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<root:ocean xmlns:root="http://wrap-sea.x4o.distributedrebirth.love/xml/ns/warp-sea-root"
|
||||
xmlns:link="http://warp-sea.x4o.distributedrebirth.love/xml/ns/warp-sea-link"
|
||||
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="Default Apps" provider="gdxapp4d.apps" author="للَّٰهِilLצسُو">
|
||||
<link:magic file="bundle/gdxapp4d-app-calculator.jar" mime="application/vnd.osgi.bundle"/>
|
||||
<link:magic file="bundle/gdxapp4d-app-hewallet.jar" mime="application/vnd.osgi.bundle"/>
|
||||
<link:magic file="bundle/gdxapp4d-app-notepad.jar" mime="application/vnd.osgi.bundle"/>
|
||||
<link:magic file="bundle/gdxapp4d-app-tosamp.jar" mime="application/vnd.osgi.bundle"/>
|
||||
<link:magic file="bundle/gdxapp4d-app-glyphdemo.jar" mime="application/vnd.osgi.bundle"/>
|
||||
<link:magic file="bundle/gdxapp4d-app-mmdoc.jar" mime="application/vnd.osgi.bundle"/>
|
||||
</link:sea>
|
||||
</root:ocean>
|
||||
43
gdxapp4d-chain-default-music/pom.xml
Normal file
43
gdxapp4d-chain-default-music/pom.xml
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
<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>
|
||||
<artifactId>gdxapp4d</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>gdxapp4d-chain-default-music</artifactId>
|
||||
<name>GDXApp⁴ᴰ-Chain-Default-Music</name>
|
||||
<packaging>pom</packaging>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-antrun-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>package</phase>
|
||||
<configuration>
|
||||
<target>
|
||||
<copy todir="target/chain">
|
||||
<fileset dir="src/main/chain" />
|
||||
</copy>
|
||||
<java failonerror="true" fork="true" classname="love.distributedrebirth.warpme.hash.WaterShotAddict">
|
||||
<arg value="target/chain" />s
|
||||
<classpath>
|
||||
<pathelement location="../gdxapp4d-lib-warpme/target/gdxapp4d-lib-warpme.jar" />
|
||||
<pathelement location="../gdxapp4d-lib-warpme/target/dependency/nx01-x4o-driver-${nx01.version}.jar" />
|
||||
<pathelement location="../gdxapp4d-lib-warpme/target/dependency/nx01-x4o-sax3-${nx01.version}.jar" />
|
||||
<pathelement location="../gdxapp4d-lib-warpme/target/dependency/jasper-el-${jasper-el.version}.jar" />
|
||||
<pathelement location="../gdxapp4d-lib-warpme/target/dependency/el-api-${jasper-el.version}.jar" />
|
||||
</classpath>
|
||||
</java>
|
||||
</target>
|
||||
</configuration>
|
||||
<goals>
|
||||
<goal>run</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
#EXTM3U
|
||||
#PLAYLIST:Power of Love
|
||||
#EXTALB:Dickspeak
|
||||
#EXTART:Various
|
||||
#EXTGENRE:Pussypump
|
||||
|
||||
#EXTINF:292,Cydel Gabutero - Dickspeak Broken
|
||||
Cydel Gabutero - The Power of love (Cover)-fake-192k.mp3
|
||||
|
||||
#EXTINF:301,Cydel Gabutero - Dickspeak Working
|
||||
Cydel Gabutero - The Power of love (Cover)-true-192k.mp3
|
||||
|
||||
#EXTINF:301,Cydel Gabutero - Dickspeak Filtered 16kHz-8bit
|
||||
Cydel Gabutero - The Power of love (Cover)-safe-16k-8b-pcm.mp3
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,32 @@
|
|||
#EXTM3U
|
||||
#PLAYLIST:Music MSX
|
||||
#EXTALB:Best of msx.org (2022)
|
||||
#EXTART:Various
|
||||
#EXTGENRE:Electropump
|
||||
|
||||
#EXTINF:209,Hybris - PSG version
|
||||
Hybris_0.mp3
|
||||
|
||||
#EXTINF:268,Copy is Profile - Jorito
|
||||
Jorito-copyisprofile.mp3
|
||||
|
||||
#EXTINF:78,Magical Tree - Jorito
|
||||
magical_tree_jorito.mp3
|
||||
|
||||
#EXTINF:127,Under the Cloud of Darkness - J-War
|
||||
25_-_under_the_cloud_of_darkness_night_bgm.mp3
|
||||
|
||||
#EXTINF:150,Shop Neutral - Robert Vroemisse
|
||||
DEVA-Shop Neutral.mp3
|
||||
|
||||
#EXTINF:248,The one who rules the Heaven - Meits
|
||||
meits_illusion_city_-_the_one_who_rules_the_heaven.mp3
|
||||
|
||||
#EXTINF:528,Golvellius - Bart Roijmans
|
||||
golvellius_medley_bart_roijmans_2014_192kbps.mp3
|
||||
|
||||
#EXTINF:207,Coda - Arranger Gold
|
||||
08SD-SNATCHER-CODA.MP3
|
||||
|
||||
#EXTINF:136,First Floor - Bart Roijmans
|
||||
Bart-XakTheTowerofGazzel-FirstFloor.mp3
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,26 @@
|
|||
#EXTM3U
|
||||
#PLAYLIST:Music TempleOS
|
||||
#EXTALB:Best of Youtube (2022)
|
||||
#EXTART:Various
|
||||
#EXTGENRE:Electropump
|
||||
|
||||
#EXTINF:139,Panoramacircle - Waterfowl
|
||||
panoramacircle-waterfowl.mp3
|
||||
|
||||
#EXTINF:260,Sanctumwave - Devine Intellect
|
||||
sanctumwave-devine-intellect.mp3
|
||||
|
||||
#EXTINF:281,Sanctumwave - nightwalk
|
||||
sanctumwave-nightwalk.mp3
|
||||
|
||||
#EXTINF:193,The Self Help Group - TempleOS
|
||||
theselfhelpgroup-temple-os.mp3
|
||||
|
||||
#EXTINF:270,Sanctumwave - Risen
|
||||
sanctumwave-risen.mp3
|
||||
|
||||
#EXTINF:164,Beeble - I used TempleOS to write a song
|
||||
beeble-i-used-temple-os-to-write.mp3
|
||||
|
||||
#EXTINF:264,Ryanfarran - Risen TempleOS
|
||||
ryanfarran-risen-temple-os.mp3
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
31
gdxapp4d-chain-default-music/src/main/chain/warp-hash.xml
Normal file
31
gdxapp4d-chain-default-music/src/main/chain/warp-hash.xml
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<root:shot xmlns:root="http://wrap-core.x4o.distributedrebirth.love/xml/ns/warp-hash-root"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
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="music-msx/000-playlist.m3u" hex="0"/>
|
||||
<soft:hash file="music-msx/Hybris_0.mp3" hex="0"/>
|
||||
<soft:hash file="music-msx/Jorito-copyisprofile.mp3" hex="0"/>
|
||||
<soft:hash file="music-msx/magical_tree_jorito.mp3" hex="0"/>
|
||||
<soft:hash file="music-msx/25_-_under_the_cloud_of_darkness_night_bgm.mp3" hex="0"/>
|
||||
<soft:hash file="music-msx/DEVA-Shop Neutral.mp3" hex="0"/>
|
||||
<soft:hash file="music-msx/meits_illusion_city_-_the_one_who_rules_the_heaven.mp3" hex="0"/>
|
||||
<soft:hash file="music-msx/golvellius_medley_bart_roijmans_2014_192kbps.mp3" hex="0"/>
|
||||
<soft:hash file="music-msx/08SD-SNATCHER-CODA.MP3" hex="0"/>
|
||||
<soft:hash file="music-msx/Bart-XakTheTowerofGazzel-FirstFloor.mp3" hex="0"/>
|
||||
|
||||
<soft:hash file="music-templeos/000-playlist.m3u" hex="0"/>
|
||||
<soft:hash file="music-templeos/panoramacircle-waterfowl.mp3" hex="0"/>
|
||||
<soft:hash file="music-templeos/sanctumwave-devine-intellect.mp3" hex="0"/>
|
||||
<soft:hash file="music-templeos/sanctumwave-nightwalk.mp3" hex="0"/>
|
||||
<soft:hash file="music-templeos/theselfhelpgroup-temple-os.mp3" hex="0"/>
|
||||
<soft:hash file="music-templeos/sanctumwave-risen.mp3" hex="0"/>
|
||||
<soft:hash file="music-templeos/beeble-i-used-temple-os-to-write.mp3" hex="0"/>
|
||||
<soft:hash file="music-templeos/ryanfarran-risen-temple-os.mp3" hex="0"/>
|
||||
|
||||
<soft:hash file="music-dickspeak/Cydel Gabutero - The Power of love (Cover)-fake-192k.mp3" hex="0"/>
|
||||
<soft:hash file="music-dickspeak/Cydel Gabutero - The Power of love (Cover)-safe-16k-8b-pcm.mp3" hex="0"/>
|
||||
<soft:hash file="music-dickspeak/Cydel Gabutero - The Power of love (Cover)-true-192k.mp3" hex="0"/>
|
||||
</root:shot>
|
||||
14
gdxapp4d-chain-default-music/src/main/chain/warp-sea.xml
Normal file
14
gdxapp4d-chain-default-music/src/main/chain/warp-sea.xml
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<root:ocean xmlns:root="http://wrap-sea.x4o.distributedrebirth.love/xml/ns/warp-sea-root"
|
||||
xmlns:link="http://warp-sea.x4o.distributedrebirth.love/xml/ns/warp-sea-link"
|
||||
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="Default Music" provider="gdxapp4d.system" author="للَّٰهِilLצسُو">
|
||||
<link:magic file="music-msx/000-playlist.m3u" mime="audio/mpegurl"/>
|
||||
<link:magic file="music-msx/" mime="inode/directory"/>
|
||||
<link:magic file="music-templeos/000-playlist.m3u" mime="audio/mpegurl"/>
|
||||
<link:magic file="music-templeos/" mime="inode/directory"/>
|
||||
<link:magic file="music-dickspeak/000-playlist.m3u" mime="audio/mpegurl"/>
|
||||
<link:magic file="music-dickspeak/" mime="inode/directory"/>
|
||||
</link:sea>
|
||||
</root:ocean>
|
||||
96
gdxapp4d-chain-dep-osgi-lib/pom.xml
Normal file
96
gdxapp4d-chain-dep-osgi-lib/pom.xml
Normal file
|
|
@ -0,0 +1,96 @@
|
|||
<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>
|
||||
<artifactId>gdxapp4d</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>gdxapp4d-chain-dep-osgi-lib</artifactId>
|
||||
<name>GDXApp⁴ᴰ-Chain-Dep-OSGI-LIB</name>
|
||||
<packaging>pom</packaging>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>ch.qos.logback</groupId>
|
||||
<artifactId>logback-classic</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.commons</groupId>
|
||||
<artifactId>commons-lang3</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.mariadb.jdbc</groupId>
|
||||
<artifactId>mariadb-java-client</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.postgresql</groupId>
|
||||
<artifactId>postgresql</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.core</groupId>
|
||||
<artifactId>jackson-core</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.core</groupId>
|
||||
<artifactId>jackson-databind</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-dependency-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>unpack-dependencies</id>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>copy-dependencies</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<stripVersion>true</stripVersion>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-antrun-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>package</phase>
|
||||
<configuration>
|
||||
<target>
|
||||
<copy todir="target/chain">
|
||||
<fileset dir="src/main/chain" />
|
||||
</copy>
|
||||
<copy todir="target/chain/bundle">
|
||||
<file file="target/dependency/slf4j-api.jar" />
|
||||
<file file="target/dependency/logback-core.jar" />
|
||||
<file file="target/dependency/logback-classic.jar" />
|
||||
<file file="target/dependency/commons-lang3.jar" />
|
||||
<file file="target/dependency/mariadb-java-client.jar" />
|
||||
<file file="target/dependency/postgresql.jar" />
|
||||
<file file="target/dependency/jackson-core.jar" />
|
||||
<file file="target/dependency/jackson-databind.jar" />
|
||||
<file file="target/dependency/jackson-annotations.jar" />
|
||||
</copy>
|
||||
<java failonerror="true" fork="true" classname="love.distributedrebirth.warpme.hash.WaterShotAddict">
|
||||
<arg value="target/chain" />
|
||||
<classpath>
|
||||
<pathelement location="../gdxapp4d-lib-warpme/target/gdxapp4d-lib-warpme.jar" />
|
||||
<pathelement location="../gdxapp4d-lib-warpme/target/dependency/nx01-x4o-driver-${nx01.version}.jar" />
|
||||
<pathelement location="../gdxapp4d-lib-warpme/target/dependency/nx01-x4o-sax3-${nx01.version}.jar" />
|
||||
<pathelement location="../gdxapp4d-lib-warpme/target/dependency/jasper-el-${jasper-el.version}.jar" />
|
||||
<pathelement location="../gdxapp4d-lib-warpme/target/dependency/el-api-${jasper-el.version}.jar" />
|
||||
</classpath>
|
||||
</java>
|
||||
</target>
|
||||
</configuration>
|
||||
<goals>
|
||||
<goal>run</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
16
gdxapp4d-chain-dep-osgi-lib/src/main/chain/warp-hash.xml
Normal file
16
gdxapp4d-chain-dep-osgi-lib/src/main/chain/warp-hash.xml
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<root:shot xmlns:root="http://wrap-core.x4o.distributedrebirth.love/xml/ns/warp-hash-root"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
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/slf4j-api.jar" hex="0"/>
|
||||
<soft:hash file="bundle/logback-core.jar" hex="0"/>
|
||||
<soft:hash file="bundle/logback-classic.jar" hex="0"/>
|
||||
<soft:hash file="bundle/commons-lang3.jar" hex="0"/>
|
||||
<soft:hash file="bundle/mariadb-java-client.jar" hex="0"/>
|
||||
<soft:hash file="bundle/postgresql.jar" hex="0"/>
|
||||
<soft:hash file="bundle/jackson-core.jar" hex="0"/>
|
||||
<soft:hash file="bundle/jackson-annotations.jar" hex="0"/>
|
||||
<soft:hash file="bundle/jackson-databind.jar" hex="0"/>
|
||||
</root:shot>
|
||||
17
gdxapp4d-chain-dep-osgi-lib/src/main/chain/warp-sea.xml
Normal file
17
gdxapp4d-chain-dep-osgi-lib/src/main/chain/warp-sea.xml
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<root:ocean xmlns:root="http://wrap-sea.x4o.distributedrebirth.love/xml/ns/warp-sea-root"
|
||||
xmlns:link="http://warp-sea.x4o.distributedrebirth.love/xml/ns/warp-sea-link"
|
||||
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/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"/>
|
||||
<link:magic file="bundle/commons-lang3.jar" mime="application/vnd.osgi.bundle"/>
|
||||
<link:magic file="bundle/mariadb-java-client.jar" mime="application/vnd.osgi.bundle"/>
|
||||
<link:magic file="bundle/postgresql.jar" mime="application/vnd.osgi.bundle"/>
|
||||
<link:magic file="bundle/jackson-core.jar" mime="application/vnd.osgi.bundle"/>
|
||||
<link:magic file="bundle/jackson-annotations.jar" mime="application/vnd.osgi.bundle"/>
|
||||
<link:magic file="bundle/jackson-databind.jar" mime="application/vnd.osgi.bundle"/>
|
||||
</link:sea>
|
||||
</root:ocean>
|
||||
43
gdxapp4d-chain-dep-osgi-scr/pom.xml
Normal file
43
gdxapp4d-chain-dep-osgi-scr/pom.xml
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
<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>
|
||||
<artifactId>gdxapp4d</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>gdxapp4d-chain-dep-osgi-scr</artifactId>
|
||||
<name>GDXApp⁴ᴰ-Chain-Dep-OSGI-SCR</name>
|
||||
<packaging>pom</packaging>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-antrun-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>package</phase>
|
||||
<configuration>
|
||||
<target>
|
||||
<copy todir="target/chain">
|
||||
<fileset dir="src/main/chain" />
|
||||
</copy>
|
||||
<java failonerror="true" fork="true" classname="love.distributedrebirth.warpme.hash.WaterShotAddict">
|
||||
<arg value="target/chain" />
|
||||
<classpath>
|
||||
<pathelement location="../gdxapp4d-lib-warpme/target/gdxapp4d-lib-warpme.jar" />
|
||||
<pathelement location="../gdxapp4d-lib-warpme/target/dependency/nx01-x4o-driver-${nx01.version}.jar" />
|
||||
<pathelement location="../gdxapp4d-lib-warpme/target/dependency/nx01-x4o-sax3-${nx01.version}.jar" />
|
||||
<pathelement location="../gdxapp4d-lib-warpme/target/dependency/jasper-el-${jasper-el.version}.jar" />
|
||||
<pathelement location="../gdxapp4d-lib-warpme/target/dependency/el-api-${jasper-el.version}.jar" />
|
||||
</classpath>
|
||||
</java>
|
||||
</target>
|
||||
</configuration>
|
||||
<goals>
|
||||
<goal>run</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
10
gdxapp4d-chain-dep-osgi-scr/src/main/chain/warp-hash.xml
Normal file
10
gdxapp4d-chain-dep-osgi-scr/src/main/chain/warp-hash.xml
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<root:shot xmlns:root="http://wrap-core.x4o.distributedrebirth.love/xml/ns/warp-hash-root"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
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/org.osgi.util.function-1.2.0.jar" hex="0"/>
|
||||
<soft:hash file="bundle/org.osgi.util.promise-1.2.0.jar" hex="0"/>
|
||||
<soft:hash file="bundle/org.apache.felix.scr-2.2.0.jar" hex="0"/>
|
||||
</root:shot>
|
||||
11
gdxapp4d-chain-dep-osgi-scr/src/main/chain/warp-sea.xml
Normal file
11
gdxapp4d-chain-dep-osgi-scr/src/main/chain/warp-sea.xml
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<root:ocean xmlns:root="http://wrap-sea.x4o.distributedrebirth.love/xml/ns/warp-sea-root"
|
||||
xmlns:link="http://warp-sea.x4o.distributedrebirth.love/xml/ns/warp-sea-link"
|
||||
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 Scr" provider="gdxapp4d.system" author="للَّٰهِilLצسُو">
|
||||
<link:magic file="bundle/org.osgi.util.function-1.2.0.jar" mime="application/vnd.osgi.bundle"/>
|
||||
<link:magic file="bundle/org.osgi.util.promise-1.2.0.jar" mime="application/vnd.osgi.bundle"/>
|
||||
<link:magic file="bundle/org.apache.felix.scr-2.2.0.jar" mime="application/vnd.osgi.bundle"/>
|
||||
</link:sea>
|
||||
</root:ocean>
|
||||
43
gdxapp4d-chain-font-unicode4d/pom.xml
Normal file
43
gdxapp4d-chain-font-unicode4d/pom.xml
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
<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>
|
||||
<artifactId>gdxapp4d</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>gdxapp4d-chain-font-unicode4d</artifactId>
|
||||
<name>GDXApp⁴ᴰ-Chain-Font-Unicode⁴ᴰ</name>
|
||||
<packaging>pom</packaging>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-antrun-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>package</phase>
|
||||
<configuration>
|
||||
<target>
|
||||
<copy todir="target/chain">
|
||||
<fileset dir="src/main/chain" />
|
||||
</copy>
|
||||
<java failonerror="true" fork="true" classname="love.distributedrebirth.warpme.hash.WaterShotAddict">
|
||||
<arg value="target/chain" />
|
||||
<classpath>
|
||||
<pathelement location="../gdxapp4d-lib-warpme/target/gdxapp4d-lib-warpme.jar" />
|
||||
<pathelement location="../gdxapp4d-lib-warpme/target/dependency/nx01-x4o-driver-${nx01.version}.jar" />
|
||||
<pathelement location="../gdxapp4d-lib-warpme/target/dependency/nx01-x4o-sax3-${nx01.version}.jar" />
|
||||
<pathelement location="../gdxapp4d-lib-warpme/target/dependency/jasper-el-${jasper-el.version}.jar" />
|
||||
<pathelement location="../gdxapp4d-lib-warpme/target/dependency/el-api-${jasper-el.version}.jar" />
|
||||
</classpath>
|
||||
</java>
|
||||
</target>
|
||||
</configuration>
|
||||
<goals>
|
||||
<goal>run</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
Binary file not shown.
53076
gdxapp4d-chain-font-unicode4d/src/main/chain/plane0/code-2000.ttf4d
Normal file
53076
gdxapp4d-chain-font-unicode4d/src/main/chain/plane0/code-2000.ttf4d
Normal file
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue