summaryrefslogtreecommitdiff
path: root/desktop
diff options
context:
space:
mode:
authorilotterytea <iltsu@alright.party>2022-08-26 18:23:43 +0600
committerilotterytea <iltsu@alright.party>2022-08-26 18:23:43 +0600
commit6377ee262c95537355801ee28149b87eb6d9cb9e (patch)
tree092283abb8f8a3aee43c365421bc820e5a307ceb /desktop
Initial commit
Diffstat (limited to 'desktop')
-rw-r--r--desktop/build.gradle47
-rw-r--r--desktop/src/com/ilotterytea/maxoning/DesktopLauncher.java35
2 files changed, 82 insertions, 0 deletions
diff --git a/desktop/build.gradle b/desktop/build.gradle
new file mode 100644
index 0000000..9e8a4a8
--- /dev/null
+++ b/desktop/build.gradle
@@ -0,0 +1,47 @@
+sourceCompatibility = 1.8
+sourceSets.main.java.srcDirs = [ "src/" ]
+sourceSets.main.resources.srcDirs = ["../assets"]
+
+project.ext.mainClassName = "com.ilotterytea.maxoning.DesktopLauncher"
+project.ext.assetsDir = new File("../assets")
+
+import org.gradle.internal.os.OperatingSystem
+
+task run(dependsOn: classes, type: JavaExec) {
+ main = project.mainClassName
+ classpath = sourceSets.main.runtimeClasspath
+ standardInput = System.in
+ workingDir = project.assetsDir
+ ignoreExitValue = true
+
+ if (OperatingSystem.current() == OperatingSystem.MAC_OS) {
+ // Required to run on macOS
+ jvmArgs += "-XstartOnFirstThread"
+ }
+}
+
+task debug(dependsOn: classes, type: JavaExec) {
+ main = project.mainClassName
+ classpath = sourceSets.main.runtimeClasspath
+ standardInput = System.in
+ workingDir = project.assetsDir
+ ignoreExitValue = true
+ debug = true
+}
+
+task dist(type: Jar) {
+ duplicatesStrategy(DuplicatesStrategy.EXCLUDE)
+ manifest {
+ attributes 'Main-Class': project.mainClassName
+ }
+ dependsOn configurations.runtimeClasspath
+ from {
+ configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
+ }
+ with jar
+}
+
+
+dist.dependsOn classes
+
+eclipse.project.name = appName + "-desktop"
diff --git a/desktop/src/com/ilotterytea/maxoning/DesktopLauncher.java b/desktop/src/com/ilotterytea/maxoning/DesktopLauncher.java
new file mode 100644
index 0000000..c543213
--- /dev/null
+++ b/desktop/src/com/ilotterytea/maxoning/DesktopLauncher.java
@@ -0,0 +1,35 @@
+package com.ilotterytea.maxoning;
+
+import com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application;
+import com.badlogic.gdx.backends.lwjgl3.Lwjgl3ApplicationConfiguration;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.util.ArrayList;
+import java.util.Scanner;
+
+// Please note that on macOS your application needs to be started with the -XstartOnFirstThread JVM argument
+public class DesktopLauncher {
+ public static void main (String[] arg) throws FileNotFoundException {
+ Lwjgl3ApplicationConfiguration config = new Lwjgl3ApplicationConfiguration();
+ config.setForegroundFPS(60);
+ config.setTitle(String.format("Maxon Petting Simulator - %s", getRandomLine()));
+ config.setWindowIcon("icon.png");
+ config.setWindowedMode(1280, 720);
+ //config.setFullscreenMode(Lwjgl3ApplicationConfiguration.getDisplayMode());
+
+ new Lwjgl3Application(new MaxonGame(), config);
+ }
+
+ private static String getRandomLine() throws FileNotFoundException {
+ Scanner scan = new Scanner(new File("texts/splashes.txt"));
+ ArrayList<String> strings = new ArrayList<>();
+
+ while (scan.hasNext()) {
+ strings.add(scan.next());
+ }
+
+ return strings.get((int) Math.floor(Math.random() * strings.size()));
+ }
+
+}