Added some basic files

This commit is contained in:
Robert Vokac 2024-07-06 19:18:40 +02:00
parent f87c9b4c1c
commit 2fbb541790
No known key found for this signature in database
GPG Key ID: C459E1E4B4A986BB
37 changed files with 1761 additions and 0 deletions

3
.gitignore vendored
View File

@ -8,4 +8,7 @@ target
*.idea/**
*.class
logs/*
dist/*
system/*

4
build.sh Executable file
View File

@ -0,0 +1,4 @@
mkdir dist
rm dist/openeggbert.jar
mvn clean install
mv target/open-eggbert-0.0.0-SNAPSHOT-jar-with-dependencies.jar dist/openeggbert.jar

212
pom.xml Normal file
View File

@ -0,0 +1,212 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Open Eggbert: Free recreation of the computer game Speedy Eggbert.
Copyright (C) 2024 the original author or authors.
This program is free software: you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation, either version 3
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see
<https://www.gnu.org/licenses/> or write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.nanoboot.essential</groupId>
<artifactId>nanoboot-parent</artifactId>
<version>0.1.1-SNAPSHOT</version>
</parent>
<groupId>com.openeggbert</groupId>
<artifactId>open-eggbert</artifactId>
<version>0.0.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>Open Eggbert</name>
<description>Free recreation of the computer game Speedy Eggbert</description>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<checkstyle.skip>true</checkstyle.skip><!-- TODO: make false-->
<maven.compiler.source>21</maven.compiler.source>
<maven.compiler.target>21</maven.compiler.target>
<main.class>com.openeggbert.core.Main</main.class>
<!-- GluonHQ !-->
<charm.version>6.2.3</charm.version>
<charm.cloudlink.version>6.0.7</charm.cloudlink.version>
<glisten.afterburner.version>2.1.0</glisten.afterburner.version>
<attach.version>4.0.19</attach.version>
<connect.version>2.0.1</connect.version>
<javafx.maven.plugin.version>0.0.8</javafx.maven.plugin.version>
<gluonfx.maven.plugin.version>1.0.22</gluonfx.maven.plugin.version>
<gluonfx.target>host</gluonfx.target>
</properties>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>${maven-deploy-plugin.version}</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<configuration>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</path>
</annotationProcessorPaths>
<source>${javase.version}</source>
<target>${javase.version}</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>${maven-assembly-plugin.version}</version>
<configuration>
<archive>
<manifest>
<mainClass>${main.class}</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id> <!-- this is used for inheritance merges -->
<phase>package</phase> <!-- bind to the packaging phase -->
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.openjfx</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>${javafx.maven.plugin.version}</version>
<configuration>
<mainClass>${main.class}</mainClass>
</configuration>
</plugin>
<plugin>
<groupId>com.gluonhq</groupId>
<artifactId>gluonfx-maven-plugin</artifactId>
<version>${gluonfx.maven.plugin.version}</version>
<configuration>
<target>${gluonfx.target}</target>
<mainClass>${main.class}</mainClass>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<configuration>
<skip>${checkstyle.skip}</skip>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>ios</id>
<properties>
<gluonfx.target>ios</gluonfx.target>
</properties>
</profile>
<profile>
<id>android</id>
<properties>
<gluonfx.target>android</gluonfx.target>
</properties>
</profile>
</profiles>
<dependencies>
<!-- Lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
<!--<scope>provided</scope>-->
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>${log4j.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>${log4j.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>${log4j.version}</version>
</dependency>
<dependency>
<groupId>com.github.almasb</groupId>
<artifactId>fxgl</artifactId>
<version>21.1</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>releases</id>
<name>nanoboot-releases-repository</name>
<url>https://maven.nanoboot.org/releases</url>
</repository>
<repository>
<id>snapshots</id>
<name>nanoboot-snapshots-repository</name>
<url>https://maven.nanoboot.org/snapshots</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>releases</id>
<name>nanoboot-releases-repository</name>
<url>https://maven.nanoboot.org/releases</url>
</pluginRepository>
<pluginRepository>
<id>snapshots</id>
<name>nanoboot-snapshots-repository</name>
<url>https://maven.nanoboot.org/snapshots</url>
</pluginRepository>
</pluginRepositories>
</project>

View File

@ -0,0 +1,36 @@
///////////////////////////////////////////////////////////////////////////////////////////////
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
// Copyright (C) 2024 the original author or authors.
//
// This program is free software: you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation, either version 3
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see
// <https://www.gnu.org/licenses/> or write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
///////////////////////////////////////////////////////////////////////////////////////////////
package com.openeggbert.core;
/**
* @author <a href="mailto:mail@robertvokac.com">Robert Vokac</a>
* @since 0.0.0
*/
public class Main {
public static void main(String[] args) {
System.out.println("Open Eggbert - Free recreation of the computer game Speedy Eggbert.\n");
OpenEggbertApp.launch(OpenEggbertApp.class, args);
}
}

View File

@ -0,0 +1,47 @@
///////////////////////////////////////////////////////////////////////////////////////////////
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
// Copyright (C) 2024 the original author or authors.
//
// This program is free software: you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation, either version 3
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see
// <https://www.gnu.org/licenses/> or write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
///////////////////////////////////////////////////////////////////////////////////////////////
package com.openeggbert.entity.common;
import com.openeggbert.entity.common.compatibility.CompatibilityMode;
import lombok.Getter;
/**
*
* @author robertvokac
*/
public enum Cheat {
MEGABLUPI(Utils.ALL__COMPATIBILITY_MODES);
//todo
@Getter
private final CompatibilityMode[] compatibilityModes;
@Getter
private String note;
Cheat (CompatibilityMode[] compatibilityModes) {
this(compatibilityModes, "");
}
Cheat (CompatibilityMode[] compatibilityModes, String note) {
this.compatibilityModes = compatibilityModes;
this.note = note;
}
}

View File

@ -0,0 +1,30 @@
///////////////////////////////////////////////////////////////////////////////////////////////
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
// Copyright (C) 2024 the original author or authors.
//
// This program is free software: you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation, either version 3
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see
// <https://www.gnu.org/licenses/> or write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
///////////////////////////////////////////////////////////////////////////////////////////////
package com.openeggbert.entity.common;
/**
*
* @author robertvokac
*/
public enum EggbertMusic {
}

View File

@ -0,0 +1,30 @@
///////////////////////////////////////////////////////////////////////////////////////////////
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
// Copyright (C) 2024 the original author or authors.
//
// This program is free software: you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation, either version 3
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see
// <https://www.gnu.org/licenses/> or write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
///////////////////////////////////////////////////////////////////////////////////////////////
package com.openeggbert.entity.common;
/**
*
* @author robertvokac
*/
public enum EggbertSound {
}

View File

@ -0,0 +1,30 @@
///////////////////////////////////////////////////////////////////////////////////////////////
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
// Copyright (C) 2024 the original author or authors.
//
// This program is free software: you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation, either version 3
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see
// <https://www.gnu.org/licenses/> or write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
///////////////////////////////////////////////////////////////////////////////////////////////
package com.openeggbert.entity.common;
/**
*
* @author robertvokac
*/
public enum EggbertState {
}

View File

@ -0,0 +1,34 @@
///////////////////////////////////////////////////////////////////////////////////////////////
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
// Copyright (C) 2024 the original author or authors.
//
// This program is free software: you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation, either version 3
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see
// <https://www.gnu.org/licenses/> or write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
///////////////////////////////////////////////////////////////////////////////////////////////
package com.openeggbert.entity.common;
/**
*
* @author robertvokac
*/
public enum EntityType {
PLAYER,
COIN,
EGGBERT,
BULDOZER;
//todo
}

View File

@ -0,0 +1,40 @@
///////////////////////////////////////////////////////////////////////////////////////////////
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
// Copyright (C) 2024 the original author or authors.
//
// This program is free software: you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation, either version 3
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see
// <https://www.gnu.org/licenses/> or write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
///////////////////////////////////////////////////////////////////////////////////////////////
package com.openeggbert.entity.common;
import com.openeggbert.entity.common.compatibility.CompatibilityMode;
import com.openeggbert.entity.common.compatibility.GraphicsMode;
import com.openeggbert.entity.common.compatibility.ResolutionMode;
import lombok.Data;
/**
*
* @author robertvokac
*/
@Data
public class GameExecution {
private CompatibilityMode compatibilityMode;
private ResolutionMode resolutionMode = ResolutionMode.RESOLUTION_640_480;
private GraphicsMode graphicsMode = GraphicsMode.ORIGINAL;
private Boolean cheatsEnabled = true;
}

View File

@ -0,0 +1,36 @@
///////////////////////////////////////////////////////////////////////////////////////////////
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
// Copyright (C) 2024 the original author or authors.
//
// This program is free software: you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation, either version 3
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see
// <https://www.gnu.org/licenses/> or write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
///////////////////////////////////////////////////////////////////////////////////////////////
package com.openeggbert.entity.common;
import com.openeggbert.entity.common.compatibility.CompatibilityMode;
/**
*
* @author robertvokac
*/
public class GameFile {
private CompatibilityMode compatibilityMode;
private GameFileType gameFileType;
private String path;
private String name;
private String originalSha512Sum;
}

View File

@ -0,0 +1,13 @@
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package com.openeggbert.entity.common;
/**
*
* @author robertvokac
*/
public enum GameFileType {
CONFIG, WORLD, MUSIC, SOUND, IMAGE8, IMAGE16, IMAGE32;
}

View File

@ -0,0 +1,29 @@
///////////////////////////////////////////////////////////////////////////////////////////////
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
// Copyright (C) 2024 the original author or authors.
//
// This program is free software: you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation, either version 3
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see
// <https://www.gnu.org/licenses/> or write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
///////////////////////////////////////////////////////////////////////////////////////////////
package com.openeggbert.entity.common;
/**
*
* @author robertvokac
*/
public class GameFiles {
}

View File

@ -0,0 +1,30 @@
///////////////////////////////////////////////////////////////////////////////////////////////
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
// Copyright (C) 2024 the original author or authors.
//
// This program is free software: you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation, either version 3
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see
// <https://www.gnu.org/licenses/> or write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
///////////////////////////////////////////////////////////////////////////////////////////////
package com.openeggbert.entity.common;
/**
*
* @author robertvokac
*/
public class ScreenType {
}

View File

@ -0,0 +1,30 @@
///////////////////////////////////////////////////////////////////////////////////////////////
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
// Copyright (C) 2024 the original author or authors.
//
// This program is free software: you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation, either version 3
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see
// <https://www.gnu.org/licenses/> or write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
///////////////////////////////////////////////////////////////////////////////////////////////
package com.openeggbert.entity.common;
/**
*
* @author robertvokac
*/
public class SpriteAnimation {
}

View File

@ -0,0 +1,30 @@
///////////////////////////////////////////////////////////////////////////////////////////////
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
// Copyright (C) 2024 the original author or authors.
//
// This program is free software: you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation, either version 3
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see
// <https://www.gnu.org/licenses/> or write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
///////////////////////////////////////////////////////////////////////////////////////////////
package com.openeggbert.entity.common;
/**
*
* @author robertvokac
*/
public class SpriteSheet {
}

View File

@ -0,0 +1,35 @@
///////////////////////////////////////////////////////////////////////////////////////////////
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
// Copyright (C) 2024 the original author or authors.
//
// This program is free software: you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation, either version 3
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see
// <https://www.gnu.org/licenses/> or write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
///////////////////////////////////////////////////////////////////////////////////////////////
package com.openeggbert.entity.common;
import com.openeggbert.entity.common.compatibility.CompatibilityMode;
/**
*
* @author robertvokac
*/
public class Utils {
private Utils() {
//Instantiate not needed.
}
public static final CompatibilityMode[] ALL__COMPATIBILITY_MODES = CompatibilityMode.values();
}

View File

@ -0,0 +1,30 @@
///////////////////////////////////////////////////////////////////////////////////////////////
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
// Copyright (C) 2024 the original author or authors.
//
// This program is free software: you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation, either version 3
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see
// <https://www.gnu.org/licenses/> or write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
///////////////////////////////////////////////////////////////////////////////////////////////
package com.openeggbert.entity.common;
/**
*
* @author robertvokac
*/
public class World {
}

View File

@ -0,0 +1,50 @@
///////////////////////////////////////////////////////////////////////////////////////////////
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
// Copyright (C) 2024 the original author or authors.
//
// This program is free software: you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation, either version 3
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see
// <https://www.gnu.org/licenses/> or write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
///////////////////////////////////////////////////////////////////////////////////////////////
package com.openeggbert.entity.common.compatibility;
import lombok.Getter;
/**
*
* @author robertvokac
*/
public enum CompatibilityMode {
SPEEDY_BLUPI_DEMO(ReleaseType.BLUPI, ReleaseVersion.DEMO),
SPEEDY_BLUPI_I(ReleaseType.BLUPI, ReleaseVersion.ONE),
SPEEDY_BLUPI_II(ReleaseType.BLUPI, ReleaseVersion.TWO),
SPEEDY_EGGBERT_DEMO(ReleaseType.EGGBERT, ReleaseVersion.DEMO),
SPEEDY_EGGBERT_1(ReleaseType.EGGBERT, ReleaseVersion.ONE),
SPEEDY_EGGBERT_2(ReleaseType.EGGBERT, ReleaseVersion.TWO),
OPEN_EGGBERT(ReleaseType.OPEN, ReleaseVersion.THREE);
@Getter
private final ReleaseType releaseType;
@Getter
private final ReleaseVersion releaseVersion;
private CompatibilityMode(ReleaseType releaseType, ReleaseVersion releaseVersion) {
this.releaseType = releaseType;
this.releaseVersion = releaseVersion;
}
}

View File

@ -0,0 +1,30 @@
///////////////////////////////////////////////////////////////////////////////////////////////
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
// Copyright (C) 2024 the original author or authors.
//
// This program is free software: you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation, either version 3
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see
// <https://www.gnu.org/licenses/> or write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
///////////////////////////////////////////////////////////////////////////////////////////////
package com.openeggbert.entity.common.compatibility;
/**
*
* @author robertvokac
*/
public enum GraphicsMode {
ORIGINAL, NEW;
}

View File

@ -0,0 +1,30 @@
///////////////////////////////////////////////////////////////////////////////////////////////
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
// Copyright (C) 2024 the original author or authors.
//
// This program is free software: you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation, either version 3
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see
// <https://www.gnu.org/licenses/> or write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
///////////////////////////////////////////////////////////////////////////////////////////////
package com.openeggbert.entity.common.compatibility;
/**
*
* @author robertvokac
*/
public enum ReleaseType {
BLUPI, EGGBERT, OPEN;
}

View File

@ -0,0 +1,30 @@
///////////////////////////////////////////////////////////////////////////////////////////////
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
// Copyright (C) 2024 the original author or authors.
//
// This program is free software: you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation, either version 3
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see
// <https://www.gnu.org/licenses/> or write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
///////////////////////////////////////////////////////////////////////////////////////////////
package com.openeggbert.entity.common.compatibility;
/**
*
* @author robertvokac
*/
public enum ReleaseVersion {
DEMO, ONE, TWO, THREE
}

View File

@ -0,0 +1,32 @@
///////////////////////////////////////////////////////////////////////////////////////////////
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
// Copyright (C) 2024 the original author or authors.
//
// This program is free software: you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation, either version 3
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see
// <https://www.gnu.org/licenses/> or write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
///////////////////////////////////////////////////////////////////////////////////////////////
package com.openeggbert.entity.common.compatibility;
/**
*
* @author robertvokac
*/
public enum ResolutionMode {
RESOLUTION_640_480,
RESOLUTION_1280_960,
RESOLUTION_SCALED;
}

View File

@ -0,0 +1,30 @@
///////////////////////////////////////////////////////////////////////////////////////////////
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
// Copyright (C) 2024 the original author or authors.
//
// This program is free software: you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation, either version 3
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see
// <https://www.gnu.org/licenses/> or write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
///////////////////////////////////////////////////////////////////////////////////////////////
package com.openeggbert.entity.gameplay;
/**
*
* @author robertvokac
*/
public class Buldozer {
}

View File

@ -0,0 +1,30 @@
///////////////////////////////////////////////////////////////////////////////////////////////
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
// Copyright (C) 2024 the original author or authors.
//
// This program is free software: you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation, either version 3
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see
// <https://www.gnu.org/licenses/> or write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
///////////////////////////////////////////////////////////////////////////////////////////////
package com.openeggbert.entity.gameplay;
/**
*
* @author robertvokac
*/
public class Eggbert {
}

View File

@ -0,0 +1 @@
lombok.log.fieldName=LOG

28
src/main/java/module-info.java Executable file
View File

@ -0,0 +1,28 @@
///////////////////////////////////////////////////////////////////////////////////////////////
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
// Copyright (C) 2024 the original author or authors.
//
// This program is free software: you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation, either version 3
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see
// <https://www.gnu.org/licenses/> or write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
///////////////////////////////////////////////////////////////////////////////////////////////
module openeggbert.main {
requires lombok;
requires org.apache.logging.log4j;
requires com.almasb.fxgl.all;
exports com.openeggbert.core;
exports com.openeggbert.entity.common;
exports com.openeggbert.entity.gameplay;
}

View File

View File

@ -0,0 +1,11 @@
{ "rules": [
{"excludeClasses" : "com.sun.glass.ui.mac.*"},
{"excludeClasses" : "com.sun.glass.ui.gtk.*"},
{"excludeClasses" : "com.sun.glass.ui.win.*"},
{"excludeClasses" : "com.sun.prism.es2.*"},
{"excludeClasses" : "com.sun.prism.d3d.*"},
{"excludeClasses" : "com.sun.scenario.effect.impl.es2.*"},
{"excludeClasses" : "com.sun.scenario.effect.impl.hw.d3d.*"},
{"excludeClasses" : "com.gluonhq.attach.**"}
]
}

View File

@ -0,0 +1,104 @@
[
{
"name":"[Lcom.sun.glass.ui.Screen;"
},
{
"name":"[Lcom.sun.javafx.font.FontConfigManager$FontConfigFont;"
},
{
"name":"com.sun.glass.ui.Clipboard",
"methods":[{"name":"contentChanged","parameterTypes":[] }]
},
{
"name":"com.sun.glass.ui.Cursor",
"fields":[{"name":"ptr"}]
},
{
"name":"com.sun.glass.ui.Pixels",
"methods":[{"name":"attachData","parameterTypes":["long"] }]
},
{
"name":"com.sun.glass.ui.Screen",
"methods":[{"name":"<init>","parameterTypes":["long","int","int","int","int","int","int","int","int","int","int","int","int","int","int","int","float","float","float","float"] }, {"name":"notifySettingsChanged","parameterTypes":[] }]
},
{
"name":"com.sun.glass.ui.Size",
"methods":[{"name":"<init>","parameterTypes":["int","int"] }]
},
{
"name":"com.sun.glass.ui.View",
"fields":[{"name":"ptr"}],
"methods":[{"name":"notifyDragDrop","parameterTypes":["int","int","int","int","int"] }, {"name":"notifyDragEnter","parameterTypes":["int","int","int","int","int"] }, {"name":"notifyDragLeave","parameterTypes":[] }, {"name":"notifyDragOver","parameterTypes":["int","int","int","int","int"] }, {"name":"notifyInputMethod","parameterTypes":["java.lang.String","int[]","int[]","byte[]","int","int","int"] }, {"name":"notifyKey","parameterTypes":["int","int","char[]","int"] }, {"name":"notifyMenu","parameterTypes":["int","int","int","int","boolean"] }, {"name":"notifyMouse","parameterTypes":["int","int","int","int","int","int","int","boolean","boolean"] }, {"name":"notifyRepaint","parameterTypes":["int","int","int","int"] }, {"name":"notifyResize","parameterTypes":["int","int"] }, {"name":"notifyScroll","parameterTypes":["int","int","int","int","double","double","int","int","int","int","int","double","double"] }, {"name":"notifyView","parameterTypes":["int"] }]
},
{
"name":"com.sun.glass.ui.Window",
"fields":[{"name":"ptr"}],
"methods":[{"name":"isEnabled","parameterTypes":[] }, {"name":"notifyClose","parameterTypes":[] }, {"name":"notifyDelegatePtr","parameterTypes":["long"] }, {"name":"notifyDestroy","parameterTypes":[] }, {"name":"notifyFocus","parameterTypes":["int"] }, {"name":"notifyFocusDisabled","parameterTypes":[] }, {"name":"notifyFocusUngrab","parameterTypes":[] }, {"name":"notifyLevelChanged","parameterTypes":["int"] }, {"name":"notifyMove","parameterTypes":["int","int"] }, {"name":"notifyMoveToAnotherScreen","parameterTypes":["com.sun.glass.ui.Screen"] }, {"name":"notifyResize","parameterTypes":["int","int","int"] }]
},
{
"name":"com.sun.javafx.font.FontConfigManager$FcCompFont",
"fields":[{"name":"allFonts"}, {"name":"fcName"}, {"name":"firstFont"}]
},
{
"name":"com.sun.javafx.font.FontConfigManager$FontConfigFont",
"fields":[{"name":"familyName"}, {"name":"fontFile"}, {"name":"fullName"}, {"name":"styleStr"}],
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"com.sun.javafx.font.freetype.FT_Bitmap",
"fields":[{"name":"buffer"}, {"name":"num_grays"}, {"name":"palette"}, {"name":"palette_mode"}, {"name":"pitch"}, {"name":"pixel_mode"}, {"name":"rows"}, {"name":"width"}]
},
{
"name":"com.sun.javafx.font.freetype.FT_GlyphSlotRec",
"fields":[{"name":"advance_x"}, {"name":"advance_y"}, {"name":"bitmap"}, {"name":"bitmap_left"}, {"name":"bitmap_top"}, {"name":"format"}, {"name":"linearHoriAdvance"}, {"name":"linearVertAdvance"}, {"name":"metrics"}],
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"com.sun.javafx.font.freetype.FT_Glyph_Metrics",
"fields":[{"name":"height"}, {"name":"horiAdvance"}, {"name":"horiBearingX"}, {"name":"horiBearingY"}, {"name":"vertAdvance"}, {"name":"vertBearingX"}, {"name":"vertBearingY"}, {"name":"width"}]
},
{
"name":"com.sun.javafx.font.freetype.FT_Matrix",
"fields":[{"name":"xx"}, {"name":"xy"}, {"name":"yx"}, {"name":"yy"}]
},
{
"name":"java.lang.Iterable",
"methods":[{"name":"iterator","parameterTypes":[] }]
},
{
"name":"java.lang.Runnable",
"methods":[{"name":"run","parameterTypes":[] }]
},
{
"name":"java.lang.String",
"methods":[{"name":"toLowerCase","parameterTypes":["java.util.Locale"] }]
},
{
"name":"java.nio.ByteBuffer",
"methods":[{"name":"array","parameterTypes":[] }, {"name":"wrap","parameterTypes":["byte[]"] }]
},
{
"name":"java.util.ArrayList",
"methods":[{"name":"<init>","parameterTypes":[] }, {"name":"<init>","parameterTypes":["int"] }, {"name":"add","parameterTypes":["java.lang.Object"] }, {"name":"get","parameterTypes":["int"] }]
},
{
"name":"java.util.HashMap",
"methods":[{"name":"containsKey","parameterTypes":["java.lang.Object"] }, {"name":"get","parameterTypes":["java.lang.Object"] }, {"name":"put","parameterTypes":["java.lang.Object","java.lang.Object"] }]
},
{
"name":"java.util.HashSet",
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"java.util.Iterator",
"methods":[{"name":"hasNext","parameterTypes":[] }, {"name":"next","parameterTypes":[] }]
},
{
"name":"java.util.Map",
"methods":[{"name":"containsKey","parameterTypes":["java.lang.Object"] }, {"name":"get","parameterTypes":["java.lang.Object"] }, {"name":"keySet","parameterTypes":[] }]
},
{
"name":"java.util.Set",
"methods":[{"name":"add","parameterTypes":["java.lang.Object"] }, {"name":"size","parameterTypes":[] }, {"name":"toArray","parameterTypes":["java.lang.Object[]"] }]
}
]

View File

@ -0,0 +1,8 @@
[
{
"type":"agent-extracted",
"classes":[
]
}
]

View File

@ -0,0 +1,2 @@
[
]

View File

@ -0,0 +1,524 @@
[
{
"name":"[B"
},
{
"name":"[Ljava.lang.String;"
},
{
"name":"[Lsun.security.pkcs.SignerInfo;"
},
{
"name":"com.almasb.fxgl.achievement.AchievementService",
"allDeclaredFields":true,
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"com.almasb.fxgl.app.FXGLApplication",
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"com.almasb.fxgl.app.FXGLApplication$GameApplicationService",
"allDeclaredFields":true,
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"com.almasb.fxgl.app.ReadOnlyGameSettings",
"queryAllDeclaredMethods":true,
"methods":[{"name":"actualHeightProperty","parameterTypes":[] }, {"name":"actualWidthProperty","parameterTypes":[] }, {"name":"devBBoxColorProperty","parameterTypes":[] }, {"name":"devEnableDebugCameraProperty","parameterTypes":[] }, {"name":"devSensorColorProperty","parameterTypes":[] }, {"name":"devShowBBoxProperty","parameterTypes":[] }, {"name":"devShowPositionProperty","parameterTypes":[] }, {"name":"gameDifficultyProperty","parameterTypes":[] }, {"name":"getAchievements","parameterTypes":[] }, {"name":"getActualHeight","parameterTypes":[] }, {"name":"getActualWidth","parameterTypes":[] }, {"name":"getAppIcon","parameterTypes":[] }, {"name":"getApplicationMode","parameterTypes":[] }, {"name":"getCSSList","parameterTypes":[] }, {"name":"getCollisionDetectionStrategy","parameterTypes":[] }, {"name":"getConfigClass","parameterTypes":[] }, {"name":"getCredits","parameterTypes":[] }, {"name":"getDefaultCursor","parameterTypes":[] }, {"name":"getEnabledMenuItems","parameterTypes":[] }, {"name":"getEngineServices","parameterTypes":[] }, {"name":"getFontGame","parameterTypes":[] }, {"name":"getFontMono","parameterTypes":[] }, {"name":"getFontSizeScaleUI","parameterTypes":[] }, {"name":"getFontText","parameterTypes":[] }, {"name":"getFontUI","parameterTypes":[] }, {"name":"getFullScreen","parameterTypes":[] }, {"name":"getGameDifficulty","parameterTypes":[] }, {"name":"getGlobalMusicVolume","parameterTypes":[] }, {"name":"getGlobalSoundVolume","parameterTypes":[] }, {"name":"getHeight","parameterTypes":[] }, {"name":"getLanguage","parameterTypes":[] }, {"name":"getMenuKey","parameterTypes":[] }, {"name":"getMouseSensitivity","parameterTypes":[] }, {"name":"getNotificationViewClass","parameterTypes":[] }, {"name":"getPixelsPerMeter","parameterTypes":[] }, {"name":"getPlatform","parameterTypes":[] }, {"name":"getProfileDir","parameterTypes":[] }, {"name":"getProfileName","parameterTypes":[] }, {"name":"getRandomSeed","parameterTypes":[] }, {"name":"getRuntimeInfo","parameterTypes":[] }, {"name":"getSaveFileExt","parameterTypes":[] }, {"name":"getScaledHeightProp$fxgl","parameterTypes":[] }, {"name":"getScaledWidthProp$fxgl","parameterTypes":[] }, {"name":"getSceneFactory","parameterTypes":[] }, {"name":"getSecondsIn24h","parameterTypes":[] }, {"name":"getSoundMenuBack","parameterTypes":[] }, {"name":"getSoundMenuPress","parameterTypes":[] }, {"name":"getSoundMenuSelect","parameterTypes":[] }, {"name":"getSoundNotification","parameterTypes":[] }, {"name":"getStageStyle","parameterTypes":[] }, {"name":"getSupportedLanguages","parameterTypes":[] }, {"name":"getTicksPerSecond","parameterTypes":[] }, {"name":"getTitle","parameterTypes":[] }, {"name":"getUrlGithub","parameterTypes":[] }, {"name":"getUrlLeaderboard","parameterTypes":[] }, {"name":"getUrlPOM","parameterTypes":[] }, {"name":"getUserAppClass","parameterTypes":[] }, {"name":"getVersion","parameterTypes":[] }, {"name":"getVersionCheckDays","parameterTypes":[] }, {"name":"getWidth","parameterTypes":[] }, {"name":"globalMusicVolumeProperty","parameterTypes":[] }, {"name":"globalSoundVolumeProperty","parameterTypes":[] }, {"name":"is3D","parameterTypes":[] }, {"name":"isAndroid","parameterTypes":[] }, {"name":"isBrowser","parameterTypes":[] }, {"name":"isClickFeedbackEnabled","parameterTypes":[] }, {"name":"isCloseConfirmation","parameterTypes":[] }, {"name":"isDesktop","parameterTypes":[] }, {"name":"isDeveloperMenuEnabled","parameterTypes":[] }, {"name":"isEmbedded","parameterTypes":[] }, {"name":"isEntityPreloadEnabled","parameterTypes":[] }, {"name":"isExperimentalTiledLargeMap","parameterTypes":[] }, {"name":"isFileSystemWriteAllowed","parameterTypes":[] }, {"name":"isFullScreenAllowed","parameterTypes":[] }, {"name":"isFullScreenFromStart","parameterTypes":[] }, {"name":"isGameMenuEnabled","parameterTypes":[] }, {"name":"isIOS","parameterTypes":[] }, {"name":"isIntroEnabled","parameterTypes":[] }, {"name":"isLinux","parameterTypes":[] }, {"name":"isMac","parameterTypes":[] }, {"name":"isMainMenuEnabled","parameterTypes":[] }, {"name":"isManualResizeEnabled","parameterTypes":[] }, {"name":"isMobile","parameterTypes":[] }, {"name":"isNative","parameterTypes":[] }, {"name":"isPauseMusicWhenMinimized","parameterTypes":[] }, {"name":"isPreserveResizeRatio","parameterTypes":[] }, {"name":"isProfilingEnabled","parameterTypes":[] }, {"name":"isScaleAffectedOnResize","parameterTypes":[] }, {"name":"isSingleStep","parameterTypes":[] }, {"name":"isUserProfileEnabled","parameterTypes":[] }, {"name":"isWindows","parameterTypes":[] }, {"name":"prefHeightProperty","parameterTypes":[] }, {"name":"prefWidthProperty","parameterTypes":[] }]
},
{
"name":"com.almasb.fxgl.app.services.FXGLAssetLoaderService",
"allDeclaredFields":true,
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"com.almasb.fxgl.app.services.FXGLDialogService",
"allDeclaredFields":true,
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"com.almasb.fxgl.app.services.IOTaskExecutorService",
"allDeclaredFields":true,
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"com.almasb.fxgl.app.services.SystemBundleService",
"allDeclaredFields":true,
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"com.almasb.fxgl.app.services.UpdaterService",
"allDeclaredFields":true,
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"com.almasb.fxgl.audio.AudioPlayer",
"allDeclaredFields":true,
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"com.almasb.fxgl.core.EngineService",
"allDeclaredFields":true
},
{
"name":"com.almasb.fxgl.core.asset.AssetLoaderService",
"allDeclaredFields":true
},
{
"name":"com.almasb.fxgl.cutscene.CutsceneService",
"allDeclaredFields":true,
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"com.almasb.fxgl.dev.DevService",
"allDeclaredFields":true,
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"com.almasb.fxgl.io.FileSystemService",
"allDeclaredFields":true,
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"com.almasb.fxgl.localization.LocalizationService",
"allDeclaredFields":true,
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"com.almasb.fxgl.minigames.MiniGameService",
"allDeclaredFields":true,
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"com.almasb.fxgl.net.NetService",
"allDeclaredFields":true,
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"com.almasb.fxgl.notification.NotificationService",
"allDeclaredFields":true
},
{
"name":"com.almasb.fxgl.notification.impl.NotificationServiceProvider",
"allDeclaredFields":true,
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"com.almasb.fxgl.notification.view.XboxNotificationView",
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"com.almasb.fxgl.profile.SaveLoadService",
"allDeclaredFields":true,
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"com.almasb.fxgl.scene.SceneService",
"allDeclaredFields":true
},
{
"name":"com.almasb.fxgl.ui.DialogFactoryService",
"allDeclaredFields":true
},
{
"name":"com.almasb.fxgl.ui.DialogService",
"allDeclaredFields":true
},
{
"name":"com.almasb.fxgl.ui.FXGLDialogFactoryServiceProvider",
"allDeclaredFields":true,
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"com.almasb.fxgl.ui.FXGLUIFactoryServiceProvider",
"allDeclaredFields":true,
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"com.almasb.fxgl.ui.UIFactoryService",
"allDeclaredFields":true
},
{
"name":"com.openeggbert.core.OpenEggbertApp",
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"com.sun.crypto.provider.AESCipher$General",
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"com.sun.crypto.provider.ARCFOURCipher",
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"com.sun.crypto.provider.ChaCha20Cipher$ChaCha20Poly1305",
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"com.sun.crypto.provider.DESCipher",
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"com.sun.crypto.provider.DESedeCipher",
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"com.sun.crypto.provider.DHParameters",
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"com.sun.crypto.provider.GaloisCounterMode$AESGCM",
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"com.sun.crypto.provider.HmacCore$HmacSHA256",
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"com.sun.crypto.provider.TlsMasterSecretGenerator",
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"com.sun.javafx.font.freetype.FTFactory",
"methods":[{"name":"getFactory","parameterTypes":[] }]
},
{
"name":"com.sun.javafx.logging.PrintLogger",
"methods":[{"name":"createInstance","parameterTypes":[] }]
},
{
"name":"com.sun.javafx.logging.jfr.JFRPulseLogger",
"methods":[{"name":"createInstance","parameterTypes":[] }]
},
{
"name":"com.sun.javafx.scene.control.skin.Utils",
"methods":[{"name":"getResource","parameterTypes":["java.lang.String"] }]
},
{
"name":"com.sun.javafx.tk.quantum.QuantumToolkit",
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"com.sun.prism.GraphicsPipeline",
"methods":[{"name":"getFontFactory","parameterTypes":[] }, {"name":"getPipeline","parameterTypes":[] }]
},
{
"name":"com.sun.prism.shader.DrawEllipse_Color_Loader",
"methods":[{"name":"loadShader","parameterTypes":["com.sun.prism.ps.ShaderFactory","java.io.InputStream"] }]
},
{
"name":"com.sun.prism.shader.DrawPgram_Color_Loader",
"methods":[{"name":"loadShader","parameterTypes":["com.sun.prism.ps.ShaderFactory","java.io.InputStream"] }]
},
{
"name":"com.sun.prism.shader.FillEllipse_Color_Loader",
"methods":[{"name":"loadShader","parameterTypes":["com.sun.prism.ps.ShaderFactory","java.io.InputStream"] }]
},
{
"name":"com.sun.prism.shader.FillRoundRect_Color_Loader",
"methods":[{"name":"loadShader","parameterTypes":["com.sun.prism.ps.ShaderFactory","java.io.InputStream"] }]
},
{
"name":"com.sun.prism.shader.Solid_Color_Loader",
"methods":[{"name":"loadShader","parameterTypes":["com.sun.prism.ps.ShaderFactory","java.io.InputStream"] }]
},
{
"name":"com.sun.prism.shader.Solid_TextureRGB_Loader",
"methods":[{"name":"loadShader","parameterTypes":["com.sun.prism.ps.ShaderFactory","java.io.InputStream"] }]
},
{
"name":"com.sun.prism.shader.Texture_Color_Loader",
"methods":[{"name":"loadShader","parameterTypes":["com.sun.prism.ps.ShaderFactory","java.io.InputStream"] }]
},
{
"name":"com.sun.prism.shader.Texture_LinearGradient_PAD_Loader",
"methods":[{"name":"loadShader","parameterTypes":["com.sun.prism.ps.ShaderFactory","java.io.InputStream"] }]
},
{
"name":"com.sun.scenario.effect.impl.prism.PrRenderer",
"methods":[{"name":"createRenderer","parameterTypes":["com.sun.scenario.effect.FilterContext"] }]
},
{
"name":"com.sun.scenario.effect.impl.prism.ps.PPSBlend_SRC_INPeer",
"methods":[{"name":"<init>","parameterTypes":["com.sun.scenario.effect.FilterContext","com.sun.scenario.effect.impl.Renderer","java.lang.String"] }]
},
{
"name":"com.sun.scenario.effect.impl.prism.ps.PPSRenderer",
"methods":[{"name":"createRenderer","parameterTypes":["com.sun.scenario.effect.FilterContext"] }]
},
{
"name":"java.lang.Character",
"methods":[{"name":"isIdeographic","parameterTypes":["int"] }]
},
{
"name":"java.lang.String"
},
{
"name":"java.lang.Thread",
"fields":[{"name":"threadLocalRandomProbe"}]
},
{
"name":"java.nio.ByteBuffer",
"methods":[{"name":"order","parameterTypes":["java.nio.ByteOrder"] }]
},
{
"name":"java.nio.ByteOrder",
"methods":[{"name":"nativeOrder","parameterTypes":[] }]
},
{
"name":"java.security.AlgorithmParametersSpi"
},
{
"name":"java.security.KeyStoreSpi"
},
{
"name":"java.security.SecureRandomParameters"
},
{
"name":"java.security.interfaces.RSAPrivateKey"
},
{
"name":"java.security.interfaces.RSAPublicKey"
},
{
"name":"java.util.Date"
},
{
"name":"java.util.concurrent.atomic.AtomicBoolean",
"fields":[{"name":"value"}]
},
{
"name":"java.util.concurrent.atomic.AtomicMarkableReference",
"fields":[{"name":"pair"}]
},
{
"name":"java.util.concurrent.atomic.AtomicReference",
"fields":[{"name":"value"}]
},
{
"name":"java.util.concurrent.atomic.Striped64",
"fields":[{"name":"base"}, {"name":"cellsBusy"}]
},
{
"name":"javafx.scene.Camera"
},
{
"name":"javafx.scene.Group"
},
{
"name":"javafx.scene.Node"
},
{
"name":"javafx.scene.ParallelCamera"
},
{
"name":"javafx.scene.Parent"
},
{
"name":"javafx.scene.Scene"
},
{
"name":"javafx.scene.control.Control"
},
{
"name":"javafx.scene.effect.Effect"
},
{
"name":"javafx.scene.image.Image"
},
{
"name":"javafx.scene.image.ImageView"
},
{
"name":"javafx.scene.layout.Pane"
},
{
"name":"javafx.scene.layout.Region"
},
{
"name":"javafx.scene.shape.Circle"
},
{
"name":"javafx.scene.shape.Line"
},
{
"name":"javafx.scene.shape.Polygon"
},
{
"name":"javafx.scene.shape.Rectangle"
},
{
"name":"javafx.scene.shape.Shape"
},
{
"name":"javafx.scene.text.Font"
},
{
"name":"javafx.scene.text.Text"
},
{
"name":"javafx.scene.transform.Transform"
},
{
"name":"javafx.stage.Stage"
},
{
"name":"javafx.stage.Window"
},
{
"name":"javax.security.auth.x500.X500Principal",
"fields":[{"name":"thisX500Name"}],
"methods":[{"name":"<init>","parameterTypes":["sun.security.x509.X500Name"] }]
},
{
"name":"sun.misc.Unsafe",
"fields":[{"name":"theUnsafe"}]
},
{
"name":"sun.security.pkcs12.PKCS12KeyStore",
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"sun.security.pkcs12.PKCS12KeyStore$DualFormatPKCS12",
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"sun.security.provider.DSA$SHA224withDSA",
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"sun.security.provider.DSA$SHA256withDSA",
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"sun.security.provider.JavaKeyStore$DualFormatJKS",
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"sun.security.provider.JavaKeyStore$JKS",
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"sun.security.provider.MD5",
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"sun.security.provider.NativePRNG",
"methods":[{"name":"<init>","parameterTypes":[] }, {"name":"<init>","parameterTypes":["java.security.SecureRandomParameters"] }]
},
{
"name":"sun.security.provider.SHA",
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"sun.security.provider.SHA2$SHA224",
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"sun.security.provider.SHA2$SHA256",
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"sun.security.provider.SHA5$SHA384",
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"sun.security.provider.SHA5$SHA512",
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"sun.security.provider.X509Factory",
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"sun.security.provider.certpath.PKIXCertPathValidator",
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"sun.security.rsa.PSSParameters",
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"sun.security.rsa.RSAKeyFactory$Legacy",
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"sun.security.rsa.RSAPSSSignature",
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"sun.security.rsa.RSASignature$SHA224withRSA",
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"sun.security.rsa.RSASignature$SHA256withRSA",
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"sun.security.ssl.KeyManagerFactoryImpl$SunX509",
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"sun.security.ssl.SSLContextImpl$DefaultSSLContext",
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"sun.security.ssl.TrustManagerFactoryImpl$PKIXFactory",
"methods":[{"name":"<init>","parameterTypes":[] }]
},
{
"name":"sun.security.util.ObjectIdentifier"
},
{
"name":"sun.security.x509.AuthorityInfoAccessExtension",
"methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]
},
{
"name":"sun.security.x509.AuthorityKeyIdentifierExtension",
"methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]
},
{
"name":"sun.security.x509.BasicConstraintsExtension",
"methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]
},
{
"name":"sun.security.x509.CRLDistributionPointsExtension",
"methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]
},
{
"name":"sun.security.x509.CertificateExtensions"
},
{
"name":"sun.security.x509.CertificatePoliciesExtension",
"methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]
},
{
"name":"sun.security.x509.ExtendedKeyUsageExtension",
"methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]
},
{
"name":"sun.security.x509.IssuerAlternativeNameExtension",
"methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]
},
{
"name":"sun.security.x509.KeyUsageExtension",
"methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]
},
{
"name":"sun.security.x509.NetscapeCertTypeExtension",
"methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]
},
{
"name":"sun.security.x509.PrivateKeyUsageExtension",
"methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]
},
{
"name":"sun.security.x509.SubjectAlternativeNameExtension",
"methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]
},
{
"name":"sun.security.x509.SubjectKeyIdentifierExtension",
"methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]
}
]

View File

@ -0,0 +1,130 @@
{
"resources":{
"includes":[{
"pattern":"\\QMETA-INF/fonts.mf\\E"
}, {
"pattern":"\\QMETA-INF/services/java.lang.System$LoggerFinder\\E"
}, {
"pattern":"\\QMETA-INF/services/java.net.spi.InetAddressResolverProvider\\E"
}, {
"pattern":"\\QMETA-INF/services/java.net.spi.URLStreamHandlerProvider\\E"
}, {
"pattern":"\\QMETA-INF/services/java.time.zone.ZoneRulesProvider\\E"
}, {
"pattern":"\\Qcom/sun/javafx/scene/control/skin/resources/controls_en.properties\\E"
}, {
"pattern":"\\Qcom/sun/javafx/scene/control/skin/resources/controls_en_US.properties\\E"
}, {
"pattern":"\\Qcom/sun/javafx/tk/quantum/QuantumMessagesBundle_en.properties\\E"
}, {
"pattern":"\\Qcom/sun/javafx/tk/quantum/QuantumMessagesBundle_en_US.properties\\E"
}, {
"pattern":"com.almasb.fxgl.all:\\Qfxglassets/languages/english.lang\\E"
}, {
"pattern":"com.almasb.fxgl.all:\\Qfxglassets/textures/brick.png\\E"
}, {
"pattern":"com.almasb.fxgl.all:\\Qfxglassets/textures/fxgl_default_cursor.png\\E"
}, {
"pattern":"com.almasb.fxgl.all:\\Qfxglassets/textures/fxgl_icon.png\\E"
}, {
"pattern":"com.almasb.fxgl.all:\\Qfxglassets/textures/particles/smoke.png\\E"
}, {
"pattern":"com.almasb.fxgl.all:\\Qfxglassets/textures/particles/trace_horizontal.png\\E"
}, {
"pattern":"com.almasb.fxgl.all:\\Qfxglassets/ui/css/fxgl_dark.css\\E"
}, {
"pattern":"com.almasb.fxgl.all:\\Qfxglassets/ui/fonts/Abel-Regular.ttf\\E"
}, {
"pattern":"com.almasb.fxgl.all:\\Qfxglassets/ui/fonts/Courier-Prime.ttf\\E"
}, {
"pattern":"com.almasb.fxgl.all:\\Qfxglassets/ui/fonts/TerminalLandMono-Regular.otf\\E"
}, {
"pattern":"com.almasb.fxgl.all:\\Qfxglassets/ui/fonts/VarelaRound-Regular.ttf\\E"
}, {
"pattern":"java.base:\\Qjdk/internal/icu/impl/data/icudt74b/nfkc.nrm\\E"
}, {
"pattern":"java.base:\\Qjdk/internal/icu/impl/data/icudt74b/ubidi.icu\\E"
}, {
"pattern":"java.base:\\Qjdk/internal/icu/impl/data/icudt74b/uprops.icu\\E"
}, {
"pattern":"java.base:\\Qsun/net/idn/uidna.spp\\E"
}, {
"pattern":"javafx.controls:\\Qcom/sun/javafx/scene/control/skin/modena/modena.bss\\E"
}, {
"pattern":"javafx.controls:\\Qcom/sun/javafx/scene/control/skin/resources/controls.properties\\E"
}, {
"pattern":"javafx.controls:\\Qcom/sun/javafx/scene/control/skin/resources/controls_en.properties\\E"
}, {
"pattern":"javafx.controls:\\Qcom/sun/javafx/scene/control/skin/resources/controls_en_US.properties\\E"
}, {
"pattern":"javafx.graphics:\\Qcom/sun/glass/utils/NativeLibLoader.class\\E"
}, {
"pattern":"javafx.graphics:\\Qcom/sun/javafx/tk/quantum/QuantumMessagesBundle.properties\\E"
}, {
"pattern":"javafx.graphics:\\Qcom/sun/javafx/tk/quantum/QuantumMessagesBundle_en.properties\\E"
}, {
"pattern":"javafx.graphics:\\Qcom/sun/javafx/tk/quantum/QuantumMessagesBundle_en_US.properties\\E"
}, {
"pattern":"javafx.graphics:\\Qcom/sun/prism/es2/glsl/DrawEllipse_Color.frag\\E"
}, {
"pattern":"javafx.graphics:\\Qcom/sun/prism/es2/glsl/DrawPgram_Color.frag\\E"
}, {
"pattern":"javafx.graphics:\\Qcom/sun/prism/es2/glsl/FillEllipse_Color.frag\\E"
}, {
"pattern":"javafx.graphics:\\Qcom/sun/prism/es2/glsl/FillRoundRect_Color.frag\\E"
}, {
"pattern":"javafx.graphics:\\Qcom/sun/prism/es2/glsl/Solid_Color.frag\\E"
}, {
"pattern":"javafx.graphics:\\Qcom/sun/prism/es2/glsl/Solid_TextureRGB.frag\\E"
}, {
"pattern":"javafx.graphics:\\Qcom/sun/prism/es2/glsl/Texture_Color.frag\\E"
}, {
"pattern":"javafx.graphics:\\Qcom/sun/prism/es2/glsl/Texture_LinearGradient_PAD.frag\\E"
}, {
"pattern":"javafx.graphics:\\Qcom/sun/scenario/effect/impl/es2/glsl/Blend_SRC_IN.frag\\E"
}, {
"pattern":"javafx.graphics:\\Qlibglass.so\\E"
}, {
"pattern":"javafx.graphics:\\Qlibglassgtk3.so\\E"
}, {
"pattern":"javafx.graphics:\\Qlibjavafx_font.so\\E"
}, {
"pattern":"javafx.graphics:\\Qlibjavafx_font_freetype.so\\E"
}, {
"pattern":"javafx.graphics:\\Qlibjavafx_font_pango.so\\E"
}, {
"pattern":"javafx.graphics:\\Qlibprism_es2.so\\E"
}, {
"pattern":"openeggbert.main:\\Qassets/languages/english.lang\\E"
}, {
"pattern":"openeggbert.main:\\Qassets/textures/particles/smoke.png\\E"
}, {
"pattern":"openeggbert.main:\\Qassets/textures/particles/trace_horizontal.png\\E"
}, {
"pattern":"openeggbert.main:\\Qassets/ui/css/fxgl_dark.css\\E"
}, {
"pattern":"openeggbert.main:\\Qassets/ui/fonts/Abel-Regular.ttf\\E"
}, {
"pattern":"openeggbert.main:\\Qassets/ui/fonts/Courier-Prime.ttf\\E"
}, {
"pattern":"openeggbert.main:\\Qassets/ui/fonts/TerminalLandMono-Regular.otf\\E"
}, {
"pattern":"openeggbert.main:\\Qassets/ui/fonts/VarelaRound-Regular.ttf\\E"
}]},
"bundles":[{
"name":"com.sun.javafx.tk.quantum.QuantumMessagesBundle",
"locales":["en-US"]
}, {
"name":"com/sun/javafx/scene/control/skin/resources/controls",
"locales":["en-US"]
}, {
"name":"sun.text.resources.FormatData",
"locales":["en", "en-US", "und"]
}, {
"name":"sun.text.resources.JavaTimeSupplementary",
"locales":["en", "en-US", "und"]
}, {
"name":"sun.text.resources.cldr.FormatData",
"locales":["en", "en-US", "und"]
}]
}

View File

@ -0,0 +1,17 @@
{
"types":[
{
"name":"com.almasb.fxgl.core.serialization.Bundle"
},
{
"name":"java.lang.String"
},
{
"name":"java.util.HashMap"
}
],
"lambdaCapturingTypes":[
],
"proxies":[
]
}

View File

@ -0,0 +1,5 @@
appender.console.type = Console
appender.console.name = STDOUT
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = [%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n
rootLogger=info, STDOUT